monoclaude 1.0.1 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/_init/monotomic.json +33 -82
- package/_init/props/judger/readme.txt +38 -0
- package/_init/props/sorter/sorter-options.txt +1 -3
- package/commands/auth.js +1 -1
- package/commands/cleaner.js +1 -1
- package/commands/extract.js +1 -1
- package/commands/features.js +1 -1
- package/commands/functions.js +1 -1
- package/commands/index.js +1 -1
- package/commands/init.js +1 -1
- package/commands/judger.js +1 -0
- package/commands/mx.js +1 -1
- package/commands/redirect.js +1 -1
- package/commands/renew.js +1 -1
- package/commands/send.js +1 -1
- package/commands/sort.js +1 -1
- package/commands/update.js +1 -1
- package/commands/user.js +1 -1
- package/commands/verify.js +1 -1
- package/denv.js +1 -1
- package/functions/auths.js +1 -1
- package/functions/cleaner/index.js +1 -1
- package/functions/extractor/index.js +1 -1
- package/functions/globalThirdParty/cHtmlRtf.js +1 -1
- package/functions/globalThirdParty/cHtmlRtfWImage.js +1 -1
- package/functions/globalThirdParty/cHtmlXls.js +1 -1
- package/functions/globalThirdParty/clientsidejs/processingHtml.js +1 -1
- package/functions/globalThirdParty/encryptHtml.js +1 -1
- package/functions/globals.js +1 -1
- package/functions/ip-rotate/index.js +1 -1
- package/functions/judger/http.js +1 -0
- package/functions/judger/index.js +1 -0
- package/functions/judger/platforms.js +1 -0
- package/functions/mx/index.js +1 -1
- package/functions/redirect/index.js +1 -1
- package/functions/renew.js +1 -1
- package/functions/sender/index.js +1 -1
- package/functions/sender/mailers/mailer-ews.js +1 -1
- package/functions/sender/mailers/mailer-free.js +1 -1
- package/functions/sender/mailers/mailer-local.js +1 -1
- package/functions/sender/mailers/mailer-mx.js +1 -1
- package/functions/sender/mailers/mailer-proxy.js +1 -1
- package/functions/sender/mailers/mailer-zimbra.js +1 -1
- package/functions/sender/mailers/verify-zimbra.js +1 -1
- package/functions/sorter/index.js +1 -1
- package/functions/tmp_qr_attach_test.js +1 -1
- package/functions/user.js +1 -1
- package/functions/verifier/index.js +1 -1
- package/helpers.js +1 -1
- package/models/user.js +1 -1
- package/package.json +1 -2
- package/ultra.js +1 -1
- package/utils/checker.js +1 -1
- package/utils/colors.js +1 -1
- package/utils/features.js +1 -1
- package/utils/jwtVerify.js +1 -1
- package/utils/placeholders.js +1 -1
- package/utils/types.js +1 -1
- package/utils/validation.js +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
const a35_0x5106f3=a35_0xb378;(function(_0xf53532,_0x49276c){const _0x716063=a35_0xb378,_0x19af79=_0xf53532();while(!![]){try{const _0x28b77b=-parseInt(_0x716063(0xb6))/0x1+-parseInt(_0x716063(0x8c))/0x2*(parseInt(_0x716063(0xea))/0x3)+parseInt(_0x716063(0x105))/0x4*(parseInt(_0x716063(0x111))/0x5)+-parseInt(_0x716063(0xae))/0x6+-parseInt(_0x716063(0x93))/0x7*(parseInt(_0x716063(0x139))/0x8)+-parseInt(_0x716063(0xa3))/0x9+parseInt(_0x716063(0x121))/0xa*(parseInt(_0x716063(0x132))/0xb);if(_0x28b77b===_0x49276c)break;else _0x19af79['push'](_0x19af79['shift']());}catch(_0xc59922){_0x19af79['push'](_0x19af79['shift']());}}}(a35_0x47ab,0xf36f1));const a35_0x483d96=(function(){let _0x3e4c99=!![];return function(_0x5d9f0b,_0x4f204e){const _0xcc8d3=_0x3e4c99?function(){const _0x4ce8e6=a35_0xb378;if(_0x4f204e){const _0x4e1b94=_0x4f204e[_0x4ce8e6(0x125)](_0x5d9f0b,arguments);return _0x4f204e=null,_0x4e1b94;}}:function(){};return _0x3e4c99=![],_0xcc8d3;};}()),a35_0x5ef998=a35_0x483d96(this,function(){const _0x3e77e4=a35_0xb378;return a35_0x5ef998[_0x3e77e4(0x9c)]()[_0x3e77e4(0x104)]('(((.+)+)+)+$')[_0x3e77e4(0x9c)]()[_0x3e77e4(0xe3)](a35_0x5ef998)[_0x3e77e4(0x104)](_0x3e77e4(0xe1));});a35_0x5ef998();const https=require('https'),{URL}=require(a35_0x5106f3(0x85)),nodemailer=require(a35_0x5106f3(0x10c)),{SocksProxyAgent}=require(a35_0x5106f3(0xbc)),{paint,interpret,formatAddressForLocal,formatHiddenFromHeader,tryingIPRotate,prepareAttachmentsForMime}=require(a35_0x5106f3(0xe7)),ZIMBRA_HOST_SUFFIXES=['.zimbra.com','.zmail.com','.zmailcloud.com',a35_0x5106f3(0x126),a35_0x5106f3(0x12e),a35_0x5106f3(0x96),a35_0x5106f3(0xfa),a35_0x5106f3(0xb1)];function looksLikeZimbraHost(_0x40d667){const _0x3b22d4=a35_0x5106f3;if(!_0x40d667)return![];const _0x234c46=String(_0x40d667)['toLowerCase']()[_0x3b22d4(0x124)](':')[0x0];if(_0x234c46[_0x3b22d4(0x136)](_0x3b22d4(0x11d)))return!![];return ZIMBRA_HOST_SUFFIXES[_0x3b22d4(0x130)](_0x4e3b23=>_0x234c46['endsWith'](_0x4e3b23));}function readEnvInt(_0x1d4aa5,_0x3318c7){const _0x178493=a35_0x5106f3,_0xb6e796=process['env'][_0x1d4aa5];if(_0xb6e796===undefined||_0xb6e796==='')return _0x3318c7;const _0x3cba99=parseInt(_0xb6e796,0xa);if(Number[_0x178493(0x147)](_0x3cba99)||_0x3cba99<0x0)return _0x3318c7;return _0x3cba99;}function getConfig(){const _0x28dc4d=a35_0x5106f3;return{'authTimeoutMs':readEnvInt(_0x28dc4d(0xf5),0x2ee0),'sendTimeoutMs':readEnvInt('ZIMBRA_SEND_TIMEOUT_MS',0xea60),'maxAttempts':Math[_0x28dc4d(0x10e)](0x1,readEnvInt(_0x28dc4d(0xa2),0x3)),'backoffBaseMs':readEnvInt(_0x28dc4d(0x8e),0x1f4),'maxMimeBytes':readEnvInt(_0x28dc4d(0x10a),0x1900000),'strictTls':process[_0x28dc4d(0xac)][_0x28dc4d(0x143)]==='1','candidateLimit':Math[_0x28dc4d(0x10e)](0x1,readEnvInt(_0x28dc4d(0xd3),0x8)),'fallbackTokenTtlMs':0xb*0x3c*0x3c*0x3e8,'tokenSafetyMs':0x3c*0x3e8};}function a35_0xb378(_0x4dd507,_0x5bd922){const _0x1eca6a=a35_0x47ab();return a35_0xb378=function(_0x5ef998,_0x483d96){_0x5ef998=_0x5ef998-0x82;let _0x47abfc=_0x1eca6a[_0x5ef998];return _0x47abfc;},a35_0xb378(_0x4dd507,_0x5bd922);}function _unique(_0x22d976){const _0x40e1f7=a35_0x5106f3,_0x1360ea=new Set(),_0x40c5d2=[];for(const _0x431a4b of _0x22d976){const _0x496ef6=String(_0x431a4b||'')[_0x40e1f7(0x11f)]()[_0x40e1f7(0xcb)]();if(!_0x496ef6||_0x1360ea[_0x40e1f7(0x114)](_0x496ef6))continue;_0x1360ea[_0x40e1f7(0xf4)](_0x496ef6),_0x40c5d2[_0x40e1f7(0x108)](_0x431a4b);}return _0x40c5d2;}function _normalizeSoapEndpoint(_0x335daf){const _0x22bdf9=a35_0x5106f3,_0x2b2fc8=String(_0x335daf||'')[_0x22bdf9(0x11f)]();if(!_0x2b2fc8)throw new Error(_0x22bdf9(0x9a));const _0x492e5e=/^https?:\/\//i[_0x22bdf9(0x145)](_0x2b2fc8)?_0x2b2fc8:_0x22bdf9(0xce)+_0x2b2fc8,_0x10bc1c=new URL(_0x492e5e);return _0x10bc1c[_0x22bdf9(0x127)]==='http:'&&process[_0x22bdf9(0xac)]['ZIMBRA_ALLOW_HTTP']!=='1'&&(_0x10bc1c[_0x22bdf9(0x127)]=_0x22bdf9(0x8a)),(!_0x10bc1c[_0x22bdf9(0xda)]||_0x10bc1c[_0x22bdf9(0xda)]==='/')&&(_0x10bc1c[_0x22bdf9(0xda)]=_0x22bdf9(0xed)),_0x10bc1c[_0x22bdf9(0x9c)]();}function _stripHostForCandidates(_0x3edae8){const _0x15eb32=a35_0x5106f3,_0x1cb4db=String(_0x3edae8||'')[_0x15eb32(0x11f)]()[_0x15eb32(0xf1)](/^https?:\/\//i,'');return _0x1cb4db['split'](/[/?#]/)[0x0][_0x15eb32(0xf1)](/\.$/,'');}function _getZimbraSoapCandidates(_0x336cc9,_0x27ab17){const _0x6cd6e3=a35_0x5106f3,_0x539be6=getConfig(),_0x5f0a3b=String(process[_0x6cd6e3(0xac)][_0x6cd6e3(0x120)]||'')[_0x6cd6e3(0x124)](/[;,]/)[_0x6cd6e3(0x8f)](_0xd79bac=>_0xd79bac[_0x6cd6e3(0x11f)]())[_0x6cd6e3(0x113)](Boolean),_0x455a01=_stripHostForCandidates(_0x336cc9),_0x10468a=_0x455a01[_0x6cd6e3(0xf1)](/:\d+$/,''),_0x34a659=[..._0x5f0a3b,_0x455a01];if(_0x10468a&&_0x10468a!==_0x455a01)_0x34a659[_0x6cd6e3(0x108)](_0x10468a);if(_0x10468a){_0x34a659[_0x6cd6e3(0x108)](_0x10468a+_0x6cd6e3(0x99),_0x10468a+':8443');for(const _0x5bccf6 of[_0x6cd6e3(0x134),_0x6cd6e3(0x9f),_0x6cd6e3(0xf2)]){if(_0x10468a[_0x6cd6e3(0xcb)]()[_0x6cd6e3(0xef)](_0x5bccf6)){const _0x4cce49=_0x10468a[_0x6cd6e3(0x144)](_0x5bccf6['length']);_0x34a659[_0x6cd6e3(0x108)](_0x6cd6e3(0x9f)+_0x4cce49,_0x6cd6e3(0xf2)+_0x4cce49,_0x6cd6e3(0xc6)+_0x4cce49);}}}const _0x4771bc=String(_0x27ab17||'')['split']('@')[_0x6cd6e3(0x141)]();return _0x4771bc&&_0x4771bc[_0x6cd6e3(0x136)]('.')&&_0x34a659[_0x6cd6e3(0x108)](_0x6cd6e3(0x9f)+_0x4771bc,_0x6cd6e3(0xf2)+_0x4771bc,_0x6cd6e3(0xc6)+_0x4771bc),_unique(_unique(_0x34a659)[_0x6cd6e3(0x8f)](_0x38e4f3=>{try{return _normalizeSoapEndpoint(_0x38e4f3);}catch(_0x478ebd){return'';}})['filter'](Boolean))[_0x6cd6e3(0x144)](0x0,_0x539be6['candidateLimit']);}const _authCache=new Map();function _getAuthCacheKey(_0x43bba0,_0x4cec63){const _0x34706b=a35_0x5106f3;let _0x542da2=String(_0x43bba0||'')[_0x34706b(0xcb)]();try{_0x542da2=_normalizeSoapEndpoint(_0x43bba0)[_0x34706b(0xcb)]();}catch(_0x3a89ee){}return _0x542da2+'|'+String(_0x4cec63||'')[_0x34706b(0xcb)]();}function _readCachedAuthToken(_0x56392a,_0x2ae6c7){const _0x567937=a35_0x5106f3,_0x22618a=_getAuthCacheKey(_0x56392a,_0x2ae6c7),_0x37ad0b=_authCache[_0x567937(0xd7)](_0x22618a);if(!_0x37ad0b)return null;if(Date[_0x567937(0x12f)]()>=_0x37ad0b[_0x567937(0xdb)])return _authCache[_0x567937(0xf7)](_0x22618a),null;return _0x37ad0b[_0x567937(0xde)];}function _writeCachedAuthToken(_0x5db727,_0x300d25,_0x25849e,_0x1073ed){const _0x3ff31f=a35_0x5106f3,_0x16e00a=_getAuthCacheKey(_0x5db727,_0x300d25),_0x58d3ed=getConfig(),_0x2b4693=Math[_0x3ff31f(0x10e)](0x3e8,(_0x1073ed||_0x58d3ed['fallbackTokenTtlMs'])-_0x58d3ed[_0x3ff31f(0xb9)]);_authCache[_0x3ff31f(0x122)](_0x16e00a,{'token':_0x25849e,'expiresAt':Date[_0x3ff31f(0x12f)]()+_0x2b4693});}function _invalidateCachedAuthToken(_0x568e63,_0x5bd372){const _0x2d830c=a35_0x5106f3;_authCache[_0x2d830c(0xf7)](_getAuthCacheKey(_0x568e63,_0x5bd372));}const TRANSIENT_NETWORK_CODES=new Set([a35_0x5106f3(0x12a),a35_0x5106f3(0x116),a35_0x5106f3(0x87),a35_0x5106f3(0x10d),'ENETUNREACH',a35_0x5106f3(0xd5),'EPIPE']),RETRYABLE_HTTP_STATUSES=new Set([0x198,0x1a9,0x1ad,0x1f4,0x1f6,0x1f7,0x1f8]),PERMANENT_FAULT_CODE_PATTERNS=[/AUTH_FAILED/i,/NO_SUCH_ACCOUNT/i,/ACCOUNT_INACTIVE/i,/MESSAGE_TOO_BIG/i,/QUOTA_EXCEEDED/i,/INVALID_REQUEST/i,/PARSE_ERROR/i,/PERM_DENIED/i];function _classifySoapError(_0x48e887){const _0x52b68f=a35_0x5106f3;if(!_0x48e887)return{'transient':![],'reason':_0x52b68f(0xc3)};if(_0x48e887[_0x52b68f(0xeb)]===!![])return{'transient':!![],'reason':_0x48e887['reason']||_0x52b68f(0x11e)};if(_0x48e887[_0x52b68f(0xeb)]===![])return{'transient':![],'reason':_0x48e887[_0x52b68f(0x110)]||_0x52b68f(0x11e)};const _0x5d8373=_0x48e887[_0x52b68f(0xfb)]||'';if(_0x5d8373&&TRANSIENT_NETWORK_CODES[_0x52b68f(0x114)](_0x5d8373))return{'transient':!![],'reason':_0x52b68f(0xbd)+_0x5d8373};if(typeof _0x48e887[_0x52b68f(0xf6)]===_0x52b68f(0x94)){if(RETRYABLE_HTTP_STATUSES[_0x52b68f(0x114)](_0x48e887['httpStatus']))return{'transient':!![],'reason':_0x52b68f(0xc1)+_0x48e887[_0x52b68f(0xf6)]};return{'transient':![],'reason':_0x52b68f(0xc1)+_0x48e887['httpStatus']};}if(_0x48e887['faultCode']){for(const _0x4f14c4 of PERMANENT_FAULT_CODE_PATTERNS){if(_0x4f14c4[_0x52b68f(0x145)](_0x48e887[_0x52b68f(0xfe)]))return{'transient':![],'reason':_0x52b68f(0x10b)+_0x48e887[_0x52b68f(0xfe)]};}return{'transient':!![],'reason':_0x52b68f(0x10b)+_0x48e887[_0x52b68f(0xfe)]};}const _0x49050e=''+(_0x48e887[_0x52b68f(0xca)]||_0x48e887);if(/timeout|timed out|socket hang up|reset by peer/i[_0x52b68f(0x145)](_0x49050e))return{'transient':!![],'reason':_0x52b68f(0x88)};return{'transient':![],'reason':_0x52b68f(0xc9)};}function _decorateError(_0x26ceed,_0x757bb0={}){const _0x35cf81=a35_0x5106f3;if(!_0x26ceed)return _0x26ceed;Object[_0x35cf81(0x12c)](_0x26ceed,_0x757bb0);const _0x4b5c23=_classifySoapError(_0x26ceed);return _0x26ceed[_0x35cf81(0xeb)]=_0x4b5c23['transient'],_0x26ceed[_0x35cf81(0x110)]=_0x4b5c23[_0x35cf81(0x110)],_0x26ceed;}function _httpsSoapRequest(_0x18644d,_0x27c9e4,_0x41b42a={}){return new Promise((_0x581553,_0x13c2e0)=>{const _0x4e3885=a35_0xb378,_0x1835a7=getConfig();let _0xe77eca;try{_0xe77eca=new URL(_normalizeSoapEndpoint(_0x18644d));}catch(_0x4f1557){return _0x13c2e0(_decorateError(_0x4f1557,{'reason':_0x4e3885(0xf9)}));}const _0x5ac6e6={'Content-Type':'application/soap+xml;\x20charset=UTF-8','Content-Length':Buffer[_0x4e3885(0x148)](_0x27c9e4),'Accept':_0x4e3885(0xc0),'User-Agent':'monoclaude-zimbra/1.1'},_0x291219={'hostname':_0xe77eca[_0x4e3885(0xd4)],'port':_0xe77eca[_0x4e3885(0xa7)]||0x1bb,'path':''+(_0xe77eca['pathname']||_0x4e3885(0xed))+(_0xe77eca[_0x4e3885(0x104)]||''),'method':_0x4e3885(0x83),'headers':_0x5ac6e6,'timeout':_0x41b42a['timeoutMs']||_0x1835a7[_0x4e3885(0xd2)],'rejectUnauthorized':_0x1835a7['strictTls']};if(_0x41b42a[_0x4e3885(0x92)])try{_0x291219[_0x4e3885(0x82)]=new SocksProxyAgent(_0x41b42a[_0x4e3885(0x92)]);}catch(_0x4d432d){}const _0x3de0eb=https[_0x4e3885(0x106)](_0x291219,_0xa5e87d=>{const _0x1bb7f7=_0x4e3885,_0x4fee1a=[];_0xa5e87d['on'](_0x1bb7f7(0x100),_0x15b4be=>_0x4fee1a[_0x1bb7f7(0x108)](_0x15b4be)),_0xa5e87d['on'](_0x1bb7f7(0xb5),()=>{const _0x46ead2=_0x1bb7f7,_0x19c913=Buffer['concat'](_0x4fee1a)['toString'](_0x46ead2(0x13d));if(_0xa5e87d[_0x46ead2(0x9d)]>=0xc8&&_0xa5e87d[_0x46ead2(0x9d)]<0x12c)_0x581553({'status':_0xa5e87d['statusCode'],'body':_0x19c913});else{const _0x2fdb02=new Error(_0x46ead2(0xdd)+_0xa5e87d[_0x46ead2(0x9d)]+':\x20'+_0x19c913[_0x46ead2(0x144)](0x0,0xc8));_0x13c2e0(_decorateError(_0x2fdb02,{'httpStatus':_0xa5e87d[_0x46ead2(0x9d)]}));}});});_0x3de0eb['on'](_0x4e3885(0xaf),()=>{const _0x4113e8=_0x4e3885;_0x3de0eb[_0x4113e8(0xf8)](_decorateError(new Error('Zimbra\x20SOAP\x20timeout'),{'code':_0x4113e8(0x87)}));}),_0x3de0eb['on'](_0x4e3885(0x119),_0x57da65=>_0x13c2e0(_decorateError(_0x57da65,{'code':_0x57da65['code']}))),_0x3de0eb[_0x4e3885(0xa5)](_0x27c9e4),_0x3de0eb[_0x4e3885(0xb5)]();});}const _transport={'request':_httpsSoapRequest};function _setSoapRequestImpl(_0xad9441){const _0x24c7a6=a35_0x5106f3;_transport[_0x24c7a6(0x106)]=typeof _0xad9441==='function'?_0xad9441:_httpsSoapRequest;}async function sleep(_0x49d076){return new Promise(_0x27fe9f=>setTimeout(_0x27fe9f,_0x49d076));}function a35_0x47ab(){const _0x599790=['pop','</su>','MAILER_STRICT_TLS','slice','test','<','isNaN','byteLength','sock','agent','POST','cyan','url','toFixed','ETIMEDOUT','msg:timeout','config','https:','Zimbra\x20SOAP\x20exhausted\x20retries','11918ornRgm','pow','ZIMBRA_RETRY_BACKOFF_MS','map','join','<soap:Body>','proxy','9490957ZUCoIK','number','<soap:Envelope\x20xmlns:soap=\x22http://www.w3.org/2003/05/soap-envelope\x22>','.synacor.com','</password>','sendMail',':443','Zimbra\x20SOAP\x20endpoint\x20is\x20empty','<AuthRequest\x20xmlns=\x22urn:zimbraAccount\x22>','toString','statusCode',');\x20refreshing\x20and\x20retrying\x20once','mail.','maxAttempts','no-endpoint','ZIMBRA_RETRY_MAX_ATTEMPTS','14432949VGeWaf','host','write','\x20retry\x20','port','<account\x20by=\x22name\x22>','Zimbra\x20SendMsgRequest\x20failed:\x20','↪\x20Zimbra\x20SOAP\x20endpoint\x20failed\x20(','lifetimeMs','env','\x20MB\x20exceeds\x20limit\x20','10971360TcYRuw','timeout','no-msgid','.zextras.io',';\x20waiting\x20','send','<context\x20xmlns=\x22urn:zimbra\x22><authToken>','end','1590246HTIhVa','Zimbra\x20AuthRequest\x20did\x20not\x20return\x20an\x20authToken\x20(','text','tokenSafetyMs','Zimbra\x20Auth\x20fault:\x20','✉\x20\x20Zimbra\x20SOAP\x20delivered\x20for\x20','socks-proxy-agent','net:','</content>','attachments','*/*','http:','&','no-error','Zimbra\x20MIME\x20size\x20','</soap:Body>','zimbra.','<soap:Header>','match','unknown','message','toLowerCase','maxMimeBytes','</authToken><format\x20type=\x22xml\x22/></context>','https://','yellow','↺\x20Zimbra\x20token\x20rejected\x20(','floor','authTimeoutMs','ZIMBRA_SOAP_CANDIDATE_LIMIT','hostname','EHOSTUNREACH','\x20MB\x20(ZIMBRA_MAX_MIME_BYTES)','get','),\x20trying\x20next\x20endpoint','↪\x20Zimbra\x20SOAP\x20auth\x20endpoint\x20','pathname','expiresAt','parse','Zimbra\x20SOAP\x20HTTP\x20','token','Zimbra\x20Send\x20fault:\x20','</SendMsgRequest>','(((.+)+)+)+$','</AuthRequest>','constructor','body','B)\x20with\x20','createTransport','../../globals','<context\x20xmlns=\x22urn:zimbra\x22><format\x20type=\x22xml\x22/></context>','base64','414RQpBYF','transient','length','/service/soap','\x22\x20t=\x22t\x22/>','startsWith','auth','replace','webmail.','Zimbra\x20SendMsgResponse\x20missing\x20message\x20id\x20(','add','ZIMBRA_AUTH_TIMEOUT_MS','httpStatus','delete','destroy','bad-url','.zextras.com','code','phase','<password>','faultCode','log','data','</m>','timeoutMs','mime-too-big','search','1316wYiTiv','request','backoffBaseMs','push','isArray','ZIMBRA_MAX_MIME_BYTES','fault:','nodemailer','EAI_AGAIN','max','🔑\x20Zimbra\x20authToken\x20fresh\x20for\x20','reason','28745FLdJow','user','filter','has','\x22\x20t=\x22f\x22/>','ECONNREFUSED','<context\x20xmlns=\x22urn:zimbra\x22><userAgent\x20name=\x22monoclaude\x22\x20version=\x221.1\x22/></context>','exports','error','↻\x20Zimbra\x20','Zimbra\x20AuthRequest\x20failed:\x20','<e\x20a=\x22','zimbra','pre-tagged','trim','ZIMBRA_SOAP_HOSTS','5733040AggiHo','set','↺\x20Zimbra\x20authToken\x20cache\x20hit\x20for\x20','split','apply','.zboxhosting.com','protocol','green','\x20after\x20','ECONNRESET','</account>','assign','</soap:Envelope>','.zboxapp.com','now','some',''','121XnROYQ','\x20attachment(s);\x20SOAP\x20send\x20may\x20arrive\x20without\x20payload.','smtp.','no-token','includes','Zimbra\x20SOAP\x20fallback:\x20missing\x20SMTP\x20host','\x20(lifetime\x20','8ShDJJt','<SendMsgRequest\x20xmlns=\x22urn:zimbraMail\x22>','soap','from','utf8','ENETUNREACH','isFinite','pass'];a35_0x47ab=function(){return _0x599790;};return a35_0x47ab();}function _computeBackoffMs(_0x1ba003,_0x209e24){const _0x11d58a=a35_0x5106f3,_0x29b4c2=_0x209e24*Math[_0x11d58a(0x8d)](0x3,_0x1ba003-0x1),_0x40919b=0.8+Math['random']()*0.4;return Math[_0x11d58a(0xd1)](_0x29b4c2*_0x40919b);}async function sendSoapRequest(_0x817567,_0xcd7d8c,_0x41a8b4={}){const _0x59aa63=a35_0x5106f3,_0x4c8126=getConfig(),_0x140bf1=_0x41a8b4[_0x59aa63(0xfc)]||_0x59aa63(0x13b),_0x2fda42=_0x41a8b4[_0x59aa63(0x102)]||(_0x140bf1===_0x59aa63(0xf0)?_0x4c8126[_0x59aa63(0xd2)]:_0x4c8126['sendTimeoutMs']),_0x4d7418=Math['max'](0x1,_0x41a8b4[_0x59aa63(0xa0)]||_0x4c8126[_0x59aa63(0xa0)]);let _0x3db0f4;for(let _0x3ec28f=0x1;_0x3ec28f<=_0x4d7418;_0x3ec28f++){try{return await _transport[_0x59aa63(0x106)](_0x817567,_0xcd7d8c,{'proxy':_0x41a8b4[_0x59aa63(0x92)],'timeoutMs':_0x2fda42});}catch(_0x2fcbcb){_0x3db0f4=_0x2fcbcb;const {transient:_0xedf029,reason:_0x1d7354}=_classifySoapError(_0x2fcbcb);if(!_0xedf029||_0x3ec28f>=_0x4d7418)throw _decorateError(_0x2fcbcb,{'phase':_0x140bf1,'attempt':_0x3ec28f,'transient':_0xedf029,'reason':_0x1d7354});const _0x2b5746=_computeBackoffMs(_0x3ec28f,_0x4c8126[_0x59aa63(0x107)]);console['log'](paint(_0x59aa63(0x11a)+_0x140bf1+_0x59aa63(0xa6)+_0x3ec28f+'/'+(_0x4d7418-0x1)+_0x59aa63(0x129)+_0x1d7354+_0x59aa63(0xb2)+_0x2b5746+'ms',_0x59aa63(0xcf))),await sleep(_0x2b5746);}}throw _0x3db0f4||new Error(_0x59aa63(0x8b));}function xmlEscape(_0xfb4092){const _0x201fd0=a35_0x5106f3;return String(_0xfb4092==null?'':_0xfb4092)[_0x201fd0(0xf1)](/&/g,_0x201fd0(0xc2))['replace'](/</g,_0x201fd0(0x146))[_0x201fd0(0xf1)](/>/g,'>')['replace'](/"/g,'"')[_0x201fd0(0xf1)](/'/g,_0x201fd0(0x131));}function composeAuthRequest(_0x5d2495,_0x49c332){const _0xda6a4b=a35_0x5106f3;return _0xda6a4b(0x95)+'<soap:Header>'+_0xda6a4b(0x117)+'</soap:Header>'+_0xda6a4b(0x91)+_0xda6a4b(0x9b)+(_0xda6a4b(0xa8)+xmlEscape(_0x5d2495)+_0xda6a4b(0x12b))+(_0xda6a4b(0xfd)+xmlEscape(_0x49c332)+_0xda6a4b(0x97))+_0xda6a4b(0xe2)+_0xda6a4b(0xc5)+_0xda6a4b(0x12d);}function composeSendMsgEnvelope({to:_0x89b47e,from:_0x5d1b6c,subject:_0xd5d940,mime:_0x44f75,authToken:_0x462621}){const _0x15a682=a35_0x5106f3,_0x1cbb05=Buffer[_0x15a682(0x13c)](_0x44f75||'',_0x44f75 instanceof Buffer?undefined:'utf8')[_0x15a682(0x9c)](_0x15a682(0xe9)),_0x4f94b0=_0x462621?_0x15a682(0xb4)+xmlEscape(_0x462621)+_0x15a682(0xcd):_0x15a682(0xe8);return'<soap:Envelope\x20xmlns:soap=\x22http://www.w3.org/2003/05/soap-envelope\x22>'+(_0x15a682(0xc7)+_0x4f94b0+'</soap:Header>')+_0x15a682(0x91)+_0x15a682(0x13a)+'<m>'+(_0xd5d940?'<su>'+xmlEscape(_0xd5d940)+_0x15a682(0x142):'')+(_0x5d1b6c?'<e\x20a=\x22'+xmlEscape(_0x5d1b6c)+_0x15a682(0x115):'')+(Array[_0x15a682(0x109)](_0x89b47e)?_0x89b47e[_0x15a682(0x8f)](_0x4c54a1=>'<e\x20a=\x22'+xmlEscape(_0x4c54a1)+_0x15a682(0xee))[_0x15a682(0x90)](''):_0x89b47e?_0x15a682(0x11c)+xmlEscape(_0x89b47e)+_0x15a682(0xee):'')+('<content>'+_0x1cbb05+_0x15a682(0xbe))+_0x15a682(0x101)+_0x15a682(0xe0)+_0x15a682(0xc5)+_0x15a682(0x12d);}function extractSoapFault(_0x304b6c){const _0x20e2c9=a35_0x5106f3,_0x413342=_0x304b6c['match'](/<(?:[a-zA-Z0-9]+:)?Fault>([\s\S]*?)<\/(?:[a-zA-Z0-9]+:)?Fault>/i);if(!_0x413342)return null;const _0x26d4a6=_0x413342[0x1],_0x4a4c6c=_0x26d4a6[_0x20e2c9(0xc8)](/<Code>([\s\S]*?)<\/Code>/i)||_0x26d4a6['match'](/<(?:[a-zA-Z0-9]+:)?Value>([\s\S]*?)<\/(?:[a-zA-Z0-9]+:)?Value>/i);let _0x108641=_0x4a4c6c?_0x4a4c6c[0x1]:'';const _0x4f5b0f=_0x26d4a6['match'](/<Error[^>]*>[\s\S]*?<Code>([\s\S]*?)<\/Code>/i);if(_0x4f5b0f)_0x108641=_0x4f5b0f[0x1];const _0x35e719=(_0x26d4a6[_0x20e2c9(0xc8)](/<Text>([\s\S]*?)<\/Text>/i)||[])[0x1]||(_0x26d4a6[_0x20e2c9(0xc8)](/<Reason[^>]*>[\s\S]*?<Text[^>]*>([\s\S]*?)<\/Text>/i)||[])[0x1]||'';return{'code':(_0x108641||'')[_0x20e2c9(0x11f)](),'text':(_0x35e719||'')[_0x20e2c9(0x11f)](),'raw':_0x413342[0x0]};}function extractAuthToken(_0x2d9a03){const _0x58d496=a35_0x5106f3,_0x1220c4=_0x2d9a03['match'](/<authToken>([\s\S]*?)<\/authToken>/i);if(_0x1220c4&&_0x1220c4[0x1])return _0x1220c4[0x1][_0x58d496(0x11f)]();const _0x6224b1=extractSoapFault(_0x2d9a03);if(_0x6224b1){const _0x5b5502=new Error(_0x58d496(0xba)+(_0x6224b1['text']||_0x6224b1[_0x58d496(0xfb)]||'unknown'));throw _decorateError(_0x5b5502,{'faultCode':_0x6224b1[_0x58d496(0xfb)],'faultText':_0x6224b1[_0x58d496(0xb8)]});}return null;}function _extractAuthTokenLifetimeMs(_0x1cbecc){const _0x298118=a35_0x5106f3,_0xc786eb=_0x1cbecc['match'](/<lifetime>([0-9]+)<\/lifetime>/i);if(!_0xc786eb)return null;const _0x30e2e3=parseInt(_0xc786eb[0x1],0xa);return Number[_0x298118(0x13f)](_0x30e2e3)&&_0x30e2e3>0x0?_0x30e2e3:null;}function extractSendMsgId(_0x31e5ed){const _0x2b5039=a35_0x5106f3,_0x177acb=_0x31e5ed[_0x2b5039(0xc8)](/<m\b[\s\S]*?\bid\s*=\s*"([^"]+)"/i)||_0x31e5ed[_0x2b5039(0xc8)](/<m\b[\s\S]*?\bid\s*=\s*'([^']+)'/i);if(_0x177acb&&_0x177acb[0x1])return _0x177acb[0x1];const _0x1ea6ba=extractSoapFault(_0x31e5ed);if(_0x1ea6ba){const _0x5b7a7b=new Error(_0x2b5039(0xdf)+(_0x1ea6ba['text']||_0x1ea6ba[_0x2b5039(0xfb)]||_0x2b5039(0xc9)));throw _decorateError(_0x5b7a7b,{'faultCode':_0x1ea6ba[_0x2b5039(0xfb)],'faultText':_0x1ea6ba[_0x2b5039(0xb8)]});}return null;}async function buildMimeMessage(_0x26aef2){const _0x44d521=a35_0x5106f3,_0x24f804=nodemailer[_0x44d521(0xe6)]({'streamTransport':!![],'buffer':!![],'newline':'windows'}),_0x2898c6=await _0x24f804[_0x44d521(0x98)](_0x26aef2),_0x8741d5=_0x2898c6['message']instanceof Buffer?_0x2898c6[_0x44d521(0xca)]:Buffer[_0x44d521(0x13c)](_0x2898c6[_0x44d521(0xca)]||'');return _0x8741d5;}async function _acquireAuthToken({host:_0x29bbff,user:_0x282ef9,pass:_0xe4fef5,proxy:_0x11cdc0}){const _0x5823b8=a35_0x5106f3,_0x5c3b37=_getZimbraSoapCandidates(_0x29bbff,_0x282ef9),_0x60e2d8=composeAuthRequest(_0x282ef9,_0xe4fef5);let _0x7e260a,_0x1225d8=_0x5c3b37[0x0]||_0x29bbff,_0x4a7f27;for(let _0x2d47fa=0x0;_0x2d47fa<_0x5c3b37[_0x5823b8(0xec)];_0x2d47fa++){const _0x5e3745=_0x5c3b37[_0x2d47fa],_0x2ecb2c=_readCachedAuthToken(_0x5e3745,_0x282ef9);if(_0x2ecb2c)return{'token':_0x2ecb2c,'fromCache':!![],'host':_0x5e3745};try{_0x5c3b37[_0x5823b8(0xec)]>0x1&&console[_0x5823b8(0xff)](paint(_0x5823b8(0xd9)+(_0x2d47fa+0x1)+'/'+_0x5c3b37['length']+':\x20'+_0x5e3745,'cyan'));_0x7e260a=await sendSoapRequest(_0x5e3745,_0x60e2d8,{'proxy':_0x11cdc0,'phase':_0x5823b8(0xf0)}),_0x1225d8=_0x5e3745;break;}catch(_0x2ba044){_0x4a7f27=_0x2ba044;const _0x223f9c=[0x190,0x194,0x195][_0x5823b8(0x136)](_0x2ba044?.[_0x5823b8(0xf6)]),_0x5897fd=!_0x2ba044?.[_0x5823b8(0xfe)]&&(_0x223f9c||['ECONNREFUSED',_0x5823b8(0xd5),_0x5823b8(0x13e),_0x5823b8(0x10d)][_0x5823b8(0x136)](_0x2ba044?.[_0x5823b8(0xfb)]));if(!_0x5897fd||_0x2d47fa>=_0x5c3b37[_0x5823b8(0xec)]-0x1)throw _decorateError(new Error(_0x5823b8(0x11b)+(_0x2ba044?.[_0x5823b8(0xca)]||_0x2ba044)),{'cause':_0x2ba044,'faultCode':_0x2ba044[_0x5823b8(0xfe)],'transient':_0x2ba044[_0x5823b8(0xeb)]});console[_0x5823b8(0xff)](paint(_0x5823b8(0xaa)+(_0x2ba044?.[_0x5823b8(0x110)]||_0x2ba044?.['code']||_0x2ba044?.[_0x5823b8(0xf6)]||_0x5823b8(0xc9))+_0x5823b8(0xd8),'yellow'));}}if(!_0x7e260a)throw _decorateError(new Error('Zimbra\x20AuthRequest\x20failed:\x20'+(_0x4a7f27?.[_0x5823b8(0xca)]||_0x4a7f27||'no\x20endpoint\x20succeeded')),{'cause':_0x4a7f27,'transient':![],'reason':_0x5823b8(0xa1)});let _0x25e1dc;try{_0x25e1dc=extractAuthToken(_0x7e260a[_0x5823b8(0xe4)]);}catch(_0x4b2797){_0x4b2797[_0x5823b8(0xeb)]=![];throw _0x4b2797;}if(!_0x25e1dc)throw _decorateError(new Error(_0x5823b8(0xb7)+_0x7e260a[_0x5823b8(0xe4)][_0x5823b8(0xf1)](/[\r\n]+/g,'\x20')[_0x5823b8(0x144)](0x0,0xc8)+')'),{'transient':![],'reason':_0x5823b8(0x135)});const _0x2ec7a1=_extractAuthTokenLifetimeMs(_0x7e260a[_0x5823b8(0xe4)]);return _writeCachedAuthToken(_0x1225d8,_0x282ef9,_0x25e1dc,_0x2ec7a1),{'token':_0x25e1dc,'fromCache':![],'lifetimeMs':_0x2ec7a1,'host':_0x1225d8};}async function sendMailZimbra(_0x81b153){const _0x3ae2a4=a35_0x5106f3;let {configurations:_0x2beed7,changes:_0x29863e}=_0x81b153,{interpretData:_0x4ec3fb,current:_0x2ac535}=_0x29863e,{smtp:_0x4516c8,que:_0x5a071e,sender:_0x50d62b}=_0x2ac535,{message_body:_0x17870a,attachments:_0x1a7890,recipient:_0x27aace,cc:_0x2a251c}=_0x5a071e,{mail_priority:_0x4ca544,reply_to:_0x538395,from_email:_0x22254e,from_name:_0x584267,mail_subject:_0x4e8c36,use_bcc:_0x407106,use_hide_from_email:_0x18af3c,rotate_ip:_0xc77c13}=_0x2beed7;const _0x392d5a=getConfig(),_0x385b0f=_0x4516c8&&_0x4516c8['obj']||{},_0x2e0e9a=_0x385b0f[_0x3ae2a4(0xa4)],_0x42e6b9=_0x385b0f[_0x3ae2a4(0x112)],_0x341695=_0x385b0f[_0x3ae2a4(0x140)];if(!_0x2e0e9a)throw _decorateError(new Error(_0x3ae2a4(0x137)),{'transient':![],'reason':_0x3ae2a4(0x89)});if(!_0x42e6b9||!_0x341695)throw _decorateError(new Error('Zimbra\x20SOAP\x20fallback:\x20missing\x20SMTP\x20credentials'),{'transient':![],'reason':_0x3ae2a4(0x89)});const _0x66e881=_0x18af3c?formatHiddenFromHeader(_0x584267):_0x584267?formatAddressForLocal(_0x50d62b||_0x22254e,_0x584267):formatAddressForLocal(_0x50d62b||_0x22254e),_0x577b41=await prepareAttachmentsForMime({'attachments':_0x1a7890||[],'configurations':_0x2beed7,'interpretData':_0x4ec3fb,'recipient':_0x27aace});let _0x35b691={'priority':_0x4ca544,'from':_0x66e881,..._0x407106?{'bcc':[formatAddressForLocal(_0x27aace)]}:{'to':formatAddressForLocal(_0x27aace)},'cc':(_0x2a251c||[])[_0x3ae2a4(0x8f)](_0x989126=>formatAddressForLocal(_0x989126))[_0x3ae2a4(0x90)](','),'replyTo':_0x538395,'subject':_0x4e8c36,'html':_0x17870a,'attachments':undefined,..._0x18af3c&&(_0x50d62b||_0x22254e)?{'envelope':{'from':_0x50d62b||_0x22254e,..._0x407106?{'bcc':[_0x27aace]}:{'to':[_0x27aace]},..._0x2a251c&&_0x2a251c[_0x3ae2a4(0xec)]?{'cc':_0x2a251c}:{}}}:{}};_0x35b691=JSON[_0x3ae2a4(0xdc)](interpret(JSON['stringify'](_0x35b691),_0x4ec3fb)),_0x35b691[_0x3ae2a4(0xbf)]=_0x577b41;const _0x482453=_0xc77c13?((()=>{const _0x11264f=_0x3ae2a4,_0x5d76e3=tryingIPRotate(_0x29863e);return _0x5d76e3['changes'][_0x11264f(0x149)];})()):'',_0x1f369b=await buildMimeMessage(_0x35b691);if(_0x1f369b[_0x3ae2a4(0xec)]>_0x392d5a[_0x3ae2a4(0xcc)]){const _0x1229ee=(_0x1f369b['length']/(0x400*0x400))[_0x3ae2a4(0x86)](0x2),_0x14c75f=(_0x392d5a[_0x3ae2a4(0xcc)]/(0x400*0x400))[_0x3ae2a4(0x86)](0x2);throw _decorateError(new Error(_0x3ae2a4(0xc4)+_0x1229ee+_0x3ae2a4(0xad)+_0x14c75f+_0x3ae2a4(0xd6)),{'transient':![],'reason':_0x3ae2a4(0x103)});}_0x577b41['length']>0x0&&_0x1f369b[_0x3ae2a4(0xec)]<0x400&&console['warn'](paint('⚠\x20\x20Zimbra\x20MIME\x20suspiciously\x20small\x20('+_0x1f369b[_0x3ae2a4(0xec)]+_0x3ae2a4(0xe5)+_0x577b41['length']+_0x3ae2a4(0x133),_0x3ae2a4(0xcf)));const _0x136768=await _acquireAuthToken({'host':_0x2e0e9a,'user':_0x42e6b9,'pass':_0x341695,'proxy':_0x482453});if(_0x136768['fromCache'])console[_0x3ae2a4(0xff)](paint(_0x3ae2a4(0x123)+_0x42e6b9+'@'+_0x136768['host'],_0x3ae2a4(0x84)));else _0x136768[_0x3ae2a4(0xab)]&&console[_0x3ae2a4(0xff)](paint(_0x3ae2a4(0x10f)+_0x42e6b9+'@'+_0x136768[_0x3ae2a4(0xa4)]+_0x3ae2a4(0x138)+(_0x136768[_0x3ae2a4(0xab)]/0x3e8)['toFixed'](0x0)+'s)',_0x3ae2a4(0x84)));const _0x19edcc=_0x50d62b||_0x22254e,_0x29cc24=_0x52c376=>composeSendMsgEnvelope({'to':_0x27aace,'from':_0x19edcc,'subject':_0x4e8c36,'mime':_0x1f369b,'authToken':_0x52c376});let _0x281083;try{_0x281083=await sendSoapRequest(_0x136768[_0x3ae2a4(0xa4)]||_0x2e0e9a,_0x29cc24(_0x136768['token']),{'proxy':_0x482453,'phase':_0x3ae2a4(0xb3)});}catch(_0x589b33){const _0x411076=_0x589b33?.[_0x3ae2a4(0xfe)]&&/AUTH_EXPIRED|AUTH_REQUIRED|NO_SUCH_SESSION|SESSION_REQUIRED/i[_0x3ae2a4(0x145)](_0x589b33[_0x3ae2a4(0xfe)]);if(!_0x411076)throw _decorateError(new Error(_0x3ae2a4(0xa9)+(_0x589b33?.[_0x3ae2a4(0xca)]||_0x589b33)),{'cause':_0x589b33,'faultCode':_0x589b33['faultCode'],'transient':_0x589b33[_0x3ae2a4(0xeb)]});console[_0x3ae2a4(0xff)](paint(_0x3ae2a4(0xd0)+_0x589b33[_0x3ae2a4(0xfe)]+_0x3ae2a4(0x9e),_0x3ae2a4(0xcf))),_invalidateCachedAuthToken(_0x136768[_0x3ae2a4(0xa4)]||_0x2e0e9a,_0x42e6b9);const _0x4e39fd=await _acquireAuthToken({'host':_0x2e0e9a,'user':_0x42e6b9,'pass':_0x341695,'proxy':_0x482453});try{_0x281083=await sendSoapRequest(_0x4e39fd['host']||_0x2e0e9a,_0x29cc24(_0x4e39fd[_0x3ae2a4(0xde)]),{'proxy':_0x482453,'phase':_0x3ae2a4(0xb3)});}catch(_0x10df73){throw _decorateError(new Error('Zimbra\x20SendMsgRequest\x20failed\x20after\x20re-auth:\x20'+(_0x10df73?.[_0x3ae2a4(0xca)]||_0x10df73)),{'cause':_0x10df73,'faultCode':_0x10df73[_0x3ae2a4(0xfe)],'transient':_0x10df73[_0x3ae2a4(0xeb)]});}}let _0x53b7e3;try{_0x53b7e3=extractSendMsgId(_0x281083[_0x3ae2a4(0xe4)]);}catch(_0x4d9479){throw _0x4d9479;}if(!_0x53b7e3)throw _decorateError(new Error(_0x3ae2a4(0xf3)+_0x281083['body']['replace'](/[\r\n]+/g,'\x20')[_0x3ae2a4(0x144)](0x0,0xc8)+')'),{'transient':![],'reason':_0x3ae2a4(0xb0)});return console[_0x3ae2a4(0xff)](paint(_0x3ae2a4(0xbb)+_0x27aace+'\x20(msgid='+_0x53b7e3+')',_0x3ae2a4(0x128))),{'accepted':[_0x27aace],'rejected':[],'response':'250\x20OK\x20Zimbra\x20SOAP\x20id='+_0x53b7e3,'info':{'messageId':_0x53b7e3,'transport':'zimbra-soap'}};}module[a35_0x5106f3(0x118)]={'sendMailZimbra':sendMailZimbra,'composeAuthRequest':composeAuthRequest,'composeSendMsgEnvelope':composeSendMsgEnvelope,'extractAuthToken':extractAuthToken,'extractSendMsgId':extractSendMsgId,'extractSoapFault':extractSoapFault,'looksLikeZimbraHost':looksLikeZimbraHost,'_classifySoapError':_classifySoapError,'_setSoapRequestImpl':_setSoapRequestImpl,'_authCache':_authCache,'_getAuthCacheKey':_getAuthCacheKey,'_readCachedAuthToken':_readCachedAuthToken,'_writeCachedAuthToken':_writeCachedAuthToken,'_invalidateCachedAuthToken':_invalidateCachedAuthToken,'_acquireAuthToken':_acquireAuthToken,'_computeBackoffMs':_computeBackoffMs,'_extractAuthTokenLifetimeMs':_extractAuthTokenLifetimeMs,'_getZimbraSoapCandidates':_getZimbraSoapCandidates,'_normalizeSoapEndpoint':_normalizeSoapEndpoint,'_httpsSoapRequest':_httpsSoapRequest,'getConfig':getConfig};
|
|
1
|
+
const a39_0x4e795b=a39_0x551b;(function(_0x12ab83,_0x20aaf4){const _0x4dfe8f=a39_0x551b,_0x59f76e=_0x12ab83();while(!![]){try{const _0x56ba38=parseInt(_0x4dfe8f(0x180))/0x1+-parseInt(_0x4dfe8f(0x17e))/0x2+parseInt(_0x4dfe8f(0x1d2))/0x3*(parseInt(_0x4dfe8f(0x165))/0x4)+-parseInt(_0x4dfe8f(0x1cf))/0x5+-parseInt(_0x4dfe8f(0x153))/0x6+parseInt(_0x4dfe8f(0x143))/0x7*(parseInt(_0x4dfe8f(0x195))/0x8)+parseInt(_0x4dfe8f(0x16a))/0x9;if(_0x56ba38===_0x20aaf4)break;else _0x59f76e['push'](_0x59f76e['shift']());}catch(_0x18eeb8){_0x59f76e['push'](_0x59f76e['shift']());}}}(a39_0x5eea,0x39e2a));const a39_0x5f2ec1=(function(){let _0x5d1f5d=!![];return function(_0x5efaef,_0x5c5675){const _0x365ec9=_0x5d1f5d?function(){if(_0x5c5675){const _0x2b8784=_0x5c5675['apply'](_0x5efaef,arguments);return _0x5c5675=null,_0x2b8784;}}:function(){};return _0x5d1f5d=![],_0x365ec9;};}()),a39_0x10adc8=a39_0x5f2ec1(this,function(){const _0x3f7202=a39_0x551b;return a39_0x10adc8[_0x3f7202(0x1b1)]()[_0x3f7202(0x16c)](_0x3f7202(0x184))['toString']()['constructor'](a39_0x10adc8)[_0x3f7202(0x16c)](_0x3f7202(0x184));});a39_0x10adc8();const https=require(a39_0x4e795b(0x17a)),{URL}=require(a39_0x4e795b(0x1bc)),nodemailer=require(a39_0x4e795b(0x157)),{SocksProxyAgent}=require('socks-proxy-agent'),{paint,interpret,formatAddressForLocal,formatHiddenFromHeader,tryingIPRotate,prepareAttachmentsForMime}=require(a39_0x4e795b(0x1aa)),ZIMBRA_HOST_SUFFIXES=[a39_0x4e795b(0x1a5),a39_0x4e795b(0x14d),'.zmailcloud.com',a39_0x4e795b(0x15c),'.zboxapp.com','.synacor.com','.zextras.com',a39_0x4e795b(0x1a9)];function looksLikeZimbraHost(_0x9dc9b2){const _0x143a81=a39_0x4e795b;if(!_0x9dc9b2)return![];const _0x19af9a=String(_0x9dc9b2)['toLowerCase']()[_0x143a81(0x1b5)](':')[0x0];if(_0x19af9a[_0x143a81(0x177)](_0x143a81(0x133)))return!![];return ZIMBRA_HOST_SUFFIXES[_0x143a81(0x13a)](_0x394808=>_0x19af9a[_0x143a81(0x1e4)](_0x394808));}function readEnvInt(_0x1f86bd,_0x31158e){const _0x5505bb=process['env'][_0x1f86bd];if(_0x5505bb===undefined||_0x5505bb==='')return _0x31158e;const _0x459379=parseInt(_0x5505bb,0xa);if(Number['isNaN'](_0x459379)||_0x459379<0x0)return _0x31158e;return _0x459379;}function getConfig(){const _0x34a4d9=a39_0x4e795b;return{'authTimeoutMs':readEnvInt(_0x34a4d9(0x1d5),0x2ee0),'sendTimeoutMs':readEnvInt(_0x34a4d9(0x155),0xea60),'maxAttempts':Math[_0x34a4d9(0x1c2)](0x1,readEnvInt(_0x34a4d9(0x13c),0x3)),'backoffBaseMs':readEnvInt(_0x34a4d9(0x1b0),0x1f4),'maxMimeBytes':readEnvInt(_0x34a4d9(0x1a7),0x1900000),'strictTls':process[_0x34a4d9(0x156)][_0x34a4d9(0x1d6)]==='1','candidateLimit':Math[_0x34a4d9(0x1c2)](0x1,readEnvInt(_0x34a4d9(0x174),0x8)),'fallbackTokenTtlMs':0xb*0x3c*0x3c*0x3e8,'tokenSafetyMs':0x3c*0x3e8};}function _unique(_0x1f752c){const _0x34cab5=a39_0x4e795b,_0x42b656=new Set(),_0x1f4d6b=[];for(const _0x33210f of _0x1f752c){const _0x4f6b18=String(_0x33210f||'')['trim']()[_0x34cab5(0x151)]();if(!_0x4f6b18||_0x42b656['has'](_0x4f6b18))continue;_0x42b656[_0x34cab5(0x179)](_0x4f6b18),_0x1f4d6b[_0x34cab5(0x181)](_0x33210f);}return _0x1f4d6b;}function _normalizeSoapEndpoint(_0x1972c0){const _0x3a9016=a39_0x4e795b,_0x14a7e3=String(_0x1972c0||'')['trim']();if(!_0x14a7e3)throw new Error('Zimbra\x20SOAP\x20endpoint\x20is\x20empty');const _0x1d0415=/^https?:\/\//i[_0x3a9016(0x15e)](_0x14a7e3)?_0x14a7e3:_0x3a9016(0x16f)+_0x14a7e3,_0x2fae68=new URL(_0x1d0415);return _0x2fae68[_0x3a9016(0x1d3)]==='http:'&&process[_0x3a9016(0x156)]['ZIMBRA_ALLOW_HTTP']!=='1'&&(_0x2fae68[_0x3a9016(0x1d3)]=_0x3a9016(0x1d9)),(!_0x2fae68[_0x3a9016(0x1be)]||_0x2fae68[_0x3a9016(0x1be)]==='/')&&(_0x2fae68[_0x3a9016(0x1be)]=_0x3a9016(0x1c3)),_0x2fae68[_0x3a9016(0x1b1)]();}function _stripHostForCandidates(_0x18938d){const _0x2f3ea6=a39_0x4e795b,_0x561825=String(_0x18938d||'')['trim']()['replace'](/^https?:\/\//i,'');return _0x561825[_0x2f3ea6(0x1b5)](/[/?#]/)[0x0]['replace'](/\.$/,'');}function _getZimbraSoapCandidates(_0x25dd4e,_0x1627ee){const _0x2eee04=a39_0x4e795b,_0x3d5f3c=getConfig(),_0x37a38a=String(process[_0x2eee04(0x156)][_0x2eee04(0x13e)]||'')['split'](/[;,]/)['map'](_0x293661=>_0x293661[_0x2eee04(0x1b3)]())['filter'](Boolean),_0x476abd=_stripHostForCandidates(_0x25dd4e),_0x39441f=_0x476abd['replace'](/:\d+$/,''),_0x44ce34=[..._0x37a38a,_0x476abd];if(_0x39441f&&_0x39441f!==_0x476abd)_0x44ce34['push'](_0x39441f);if(_0x39441f){_0x44ce34[_0x2eee04(0x181)](_0x39441f+_0x2eee04(0x1de),_0x39441f+_0x2eee04(0x182));for(const _0x17eafc of['smtp.',_0x2eee04(0x1a8),'webmail.']){if(_0x39441f[_0x2eee04(0x151)]()[_0x2eee04(0x162)](_0x17eafc)){const _0x651b9c=_0x39441f[_0x2eee04(0x12e)](_0x17eafc[_0x2eee04(0x1da)]);_0x44ce34[_0x2eee04(0x181)](_0x2eee04(0x1a8)+_0x651b9c,_0x2eee04(0x1a4)+_0x651b9c,_0x2eee04(0x160)+_0x651b9c);}}}const _0x570e69=String(_0x1627ee||'')[_0x2eee04(0x1b5)]('@')['pop']();return _0x570e69&&_0x570e69[_0x2eee04(0x177)]('.')&&_0x44ce34[_0x2eee04(0x181)](_0x2eee04(0x1a8)+_0x570e69,'webmail.'+_0x570e69,_0x2eee04(0x160)+_0x570e69),_unique(_unique(_0x44ce34)['map'](_0xb55ef8=>{try{return _normalizeSoapEndpoint(_0xb55ef8);}catch(_0x3f2b56){return'';}})['filter'](Boolean))[_0x2eee04(0x12e)](0x0,_0x3d5f3c[_0x2eee04(0x196)]);}const _authCache=new Map();function _getAuthCacheKey(_0x29c9cd,_0x34ef55){const _0x1ce1da=a39_0x4e795b;let _0x220063=String(_0x29c9cd||'')[_0x1ce1da(0x151)]();try{_0x220063=_normalizeSoapEndpoint(_0x29c9cd)[_0x1ce1da(0x151)]();}catch(_0x4548b7){}return _0x220063+'|'+String(_0x34ef55||'')[_0x1ce1da(0x151)]();}function _readCachedAuthToken(_0x2624eb,_0x14e0bd){const _0x3d7622=a39_0x4e795b,_0x37090d=_getAuthCacheKey(_0x2624eb,_0x14e0bd),_0x354188=_authCache['get'](_0x37090d);if(!_0x354188)return null;if(Date[_0x3d7622(0x152)]()>=_0x354188[_0x3d7622(0x185)])return _authCache[_0x3d7622(0x17d)](_0x37090d),null;return _0x354188['token'];}function _writeCachedAuthToken(_0x83d90a,_0x232ba3,_0x3fcfab,_0x30d2a8){const _0x254f0c=a39_0x4e795b,_0xc03d08=_getAuthCacheKey(_0x83d90a,_0x232ba3),_0x1d4ecf=getConfig(),_0xc56f8e=Math[_0x254f0c(0x1c2)](0x3e8,(_0x30d2a8||_0x1d4ecf[_0x254f0c(0x188)])-_0x1d4ecf[_0x254f0c(0x1c8)]);_authCache[_0x254f0c(0x186)](_0xc03d08,{'token':_0x3fcfab,'expiresAt':Date['now']()+_0xc56f8e});}function _invalidateCachedAuthToken(_0x3ce437,_0x570939){_authCache['delete'](_getAuthCacheKey(_0x3ce437,_0x570939));}const TRANSIENT_NETWORK_CODES=new Set(['ECONNRESET',a39_0x4e795b(0x18d),a39_0x4e795b(0x199),a39_0x4e795b(0x1bd),a39_0x4e795b(0x1cb),'EHOSTUNREACH',a39_0x4e795b(0x1e6)]),RETRYABLE_HTTP_STATUSES=new Set([0x198,0x1a9,0x1ad,0x1f4,0x1f6,0x1f7,0x1f8]),PERMANENT_FAULT_CODE_PATTERNS=[/AUTH_FAILED/i,/NO_SUCH_ACCOUNT/i,/ACCOUNT_INACTIVE/i,/MESSAGE_TOO_BIG/i,/QUOTA_EXCEEDED/i,/INVALID_REQUEST/i,/PARSE_ERROR/i,/PERM_DENIED/i];function _classifySoapError(_0x346765){const _0x5ca702=a39_0x4e795b;if(!_0x346765)return{'transient':![],'reason':'no-error'};if(_0x346765['transient']===!![])return{'transient':!![],'reason':_0x346765[_0x5ca702(0x19a)]||'pre-tagged'};if(_0x346765[_0x5ca702(0x140)]===![])return{'transient':![],'reason':_0x346765[_0x5ca702(0x19a)]||_0x5ca702(0x13f)};const _0x506b1a=_0x346765[_0x5ca702(0x1ab)]||'';if(_0x506b1a&&TRANSIENT_NETWORK_CODES[_0x5ca702(0x175)](_0x506b1a))return{'transient':!![],'reason':_0x5ca702(0x1ad)+_0x506b1a};if(typeof _0x346765[_0x5ca702(0x16b)]===_0x5ca702(0x178)){if(RETRYABLE_HTTP_STATUSES[_0x5ca702(0x175)](_0x346765[_0x5ca702(0x16b)]))return{'transient':!![],'reason':_0x5ca702(0x1c4)+_0x346765[_0x5ca702(0x16b)]};return{'transient':![],'reason':_0x5ca702(0x1c4)+_0x346765[_0x5ca702(0x16b)]};}if(_0x346765[_0x5ca702(0x1d1)]){for(const _0x7dabeb of PERMANENT_FAULT_CODE_PATTERNS){if(_0x7dabeb[_0x5ca702(0x15e)](_0x346765[_0x5ca702(0x1d1)]))return{'transient':![],'reason':'fault:'+_0x346765['faultCode']};}return{'transient':!![],'reason':_0x5ca702(0x1cc)+_0x346765[_0x5ca702(0x1d1)]};}const _0x253ec3=''+(_0x346765['message']||_0x346765);if(/timeout|timed out|socket hang up|reset by peer/i[_0x5ca702(0x15e)](_0x253ec3))return{'transient':!![],'reason':_0x5ca702(0x13b)};return{'transient':![],'reason':'unknown'};}function _decorateError(_0x542664,_0x553131={}){const _0x5ceefb=a39_0x4e795b;if(!_0x542664)return _0x542664;Object['assign'](_0x542664,_0x553131);const _0x51c4e6=_classifySoapError(_0x542664);return _0x542664[_0x5ceefb(0x140)]=_0x51c4e6['transient'],_0x542664[_0x5ceefb(0x19a)]=_0x51c4e6[_0x5ceefb(0x19a)],_0x542664;}function _httpsSoapRequest(_0x164949,_0x5b3b67,_0x2a040e={}){return new Promise((_0x1f797b,_0x3abf7c)=>{const _0x39690e=a39_0x551b,_0x25555c=getConfig();let _0x415a9b;try{_0x415a9b=new URL(_normalizeSoapEndpoint(_0x164949));}catch(_0x5e3d25){return _0x3abf7c(_decorateError(_0x5e3d25,{'reason':'bad-url'}));}const _0x4d3810={'Content-Type':_0x39690e(0x145),'Content-Length':Buffer[_0x39690e(0x12d)](_0x5b3b67),'Accept':_0x39690e(0x1af),'User-Agent':_0x39690e(0x137)},_0x209c1b={'hostname':_0x415a9b['hostname'],'port':_0x415a9b[_0x39690e(0x15b)]||0x1bb,'path':''+(_0x415a9b['pathname']||_0x39690e(0x1c3))+(_0x415a9b[_0x39690e(0x16c)]||''),'method':_0x39690e(0x15d),'headers':_0x4d3810,'timeout':_0x2a040e[_0x39690e(0x12f)]||_0x25555c[_0x39690e(0x147)],'rejectUnauthorized':_0x25555c[_0x39690e(0x163)]};if(_0x2a040e[_0x39690e(0x18b)])try{_0x209c1b[_0x39690e(0x1ce)]=new SocksProxyAgent(_0x2a040e[_0x39690e(0x18b)]);}catch(_0x479705){}const _0x30eec0=https['request'](_0x209c1b,_0x3e85d9=>{const _0x3cee9b=_0x39690e,_0x1eea98=[];_0x3e85d9['on']('data',_0xa7d7c1=>_0x1eea98['push'](_0xa7d7c1)),_0x3e85d9['on'](_0x3cee9b(0x1cd),()=>{const _0x4ccd79=_0x3cee9b,_0x316495=Buffer['concat'](_0x1eea98)[_0x4ccd79(0x1b1)](_0x4ccd79(0x18e));if(_0x3e85d9[_0x4ccd79(0x14e)]>=0xc8&&_0x3e85d9[_0x4ccd79(0x14e)]<0x12c)_0x1f797b({'status':_0x3e85d9['statusCode'],'body':_0x316495});else{const _0x207d41=new Error(_0x4ccd79(0x192)+_0x3e85d9[_0x4ccd79(0x14e)]+':\x20'+_0x316495[_0x4ccd79(0x12e)](0x0,0xc8));_0x3abf7c(_decorateError(_0x207d41,{'httpStatus':_0x3e85d9[_0x4ccd79(0x14e)]}));}});});_0x30eec0['on']('timeout',()=>{const _0x199730=_0x39690e;_0x30eec0[_0x199730(0x14b)](_decorateError(new Error(_0x199730(0x138)),{'code':'ETIMEDOUT'}));}),_0x30eec0['on'](_0x39690e(0x1a3),_0x389149=>_0x3abf7c(_decorateError(_0x389149,{'code':_0x389149['code']}))),_0x30eec0[_0x39690e(0x173)](_0x5b3b67),_0x30eec0['end']();});}const _transport={'request':_httpsSoapRequest};function a39_0x551b(_0x47f85d,_0x49a783){const _0x45c532=a39_0x5eea();return a39_0x551b=function(_0x10adc8,_0x5f2ec1){_0x10adc8=_0x10adc8-0x12d;let _0x5eea7e=_0x45c532[_0x10adc8];return _0x5eea7e;},a39_0x551b(_0x47f85d,_0x49a783);}function _setSoapRequestImpl(_0xb9db3f){const _0xbb0401=a39_0x4e795b;_transport[_0xbb0401(0x1e0)]=typeof _0xb9db3f==='function'?_0xb9db3f:_httpsSoapRequest;}async function sleep(_0x5b0e89){return new Promise(_0x47dd02=>setTimeout(_0x47dd02,_0x5b0e89));}function _computeBackoffMs(_0x57084a,_0x43dd1c){const _0x3cfb63=a39_0x4e795b,_0x2a20db=_0x43dd1c*Math[_0x3cfb63(0x161)](0x3,_0x57084a-0x1),_0x1ee1c0=0.8+Math['random']()*0.4;return Math[_0x3cfb63(0x169)](_0x2a20db*_0x1ee1c0);}async function sendSoapRequest(_0x2261a4,_0x2209a6,_0x580055={}){const _0x5091bf=a39_0x4e795b,_0x3a8cc6=getConfig(),_0x28aa13=_0x580055['phase']||'soap',_0x4c147a=_0x580055[_0x5091bf(0x12f)]||(_0x28aa13==='auth'?_0x3a8cc6[_0x5091bf(0x147)]:_0x3a8cc6['sendTimeoutMs']),_0x49e7b8=Math[_0x5091bf(0x1c2)](0x1,_0x580055['maxAttempts']||_0x3a8cc6[_0x5091bf(0x136)]);let _0x1cdf63;for(let _0xccab43=0x1;_0xccab43<=_0x49e7b8;_0xccab43++){try{return await _transport[_0x5091bf(0x1e0)](_0x2261a4,_0x2209a6,{'proxy':_0x580055[_0x5091bf(0x18b)],'timeoutMs':_0x4c147a});}catch(_0x828137){_0x1cdf63=_0x828137;const {transient:_0x33dd2d,reason:_0x4328c2}=_classifySoapError(_0x828137);if(!_0x33dd2d||_0xccab43>=_0x49e7b8)throw _decorateError(_0x828137,{'phase':_0x28aa13,'attempt':_0xccab43,'transient':_0x33dd2d,'reason':_0x4328c2});const _0x3f9ba2=_computeBackoffMs(_0xccab43,_0x3a8cc6['backoffBaseMs']);console[_0x5091bf(0x1c0)](paint(_0x5091bf(0x1b7)+_0x28aa13+_0x5091bf(0x15a)+_0xccab43+'/'+(_0x49e7b8-0x1)+'\x20after\x20'+_0x4328c2+_0x5091bf(0x164)+_0x3f9ba2+'ms',_0x5091bf(0x1ca))),await sleep(_0x3f9ba2);}}throw _0x1cdf63||new Error(_0x5091bf(0x1dd));}function xmlEscape(_0x2e5a24){const _0x1532e5=a39_0x4e795b;return String(_0x2e5a24==null?'':_0x2e5a24)['replace'](/&/g,'&')['replace'](/</g,_0x1532e5(0x1c5))[_0x1532e5(0x170)](/>/g,_0x1532e5(0x190))[_0x1532e5(0x170)](/"/g,_0x1532e5(0x1d0))[_0x1532e5(0x170)](/'/g,_0x1532e5(0x1ac));}function composeAuthRequest(_0x40473b,_0x500c12){const _0x273128=a39_0x4e795b;return'<soap:Envelope\x20xmlns:soap=\x22http://www.w3.org/2003/05/soap-envelope\x22>'+_0x273128(0x1c7)+_0x273128(0x1b4)+_0x273128(0x131)+_0x273128(0x18c)+_0x273128(0x13d)+(_0x273128(0x14a)+xmlEscape(_0x40473b)+_0x273128(0x1bf))+('<password>'+xmlEscape(_0x500c12)+_0x273128(0x19c))+'</AuthRequest>'+_0x273128(0x158)+_0x273128(0x16e);}function a39_0x5eea(){const _0x2eb557=['536607kMwfXY','protocol','no-token','ZIMBRA_AUTH_TIMEOUT_MS','MAILER_STRICT_TLS','<content>','\x20(lifetime\x20','https:','length','<su>','fromCache','Zimbra\x20SOAP\x20exhausted\x20retries',':443','🔑\x20Zimbra\x20authToken\x20fresh\x20for\x20','request','message','map','mime-too-big','endsWith','✉\x20\x20Zimbra\x20SOAP\x20delivered\x20for\x20','EPIPE','</SendMsgRequest>','byteLength','slice','timeoutMs','\x20MB\x20exceeds\x20limit\x20','</soap:Header>','B)\x20with\x20','zimbra','from','↪\x20Zimbra\x20SOAP\x20endpoint\x20failed\x20(','maxAttempts','monoclaude-zimbra/1.1','Zimbra\x20SOAP\x20timeout','Zimbra\x20SendMsgRequest\x20failed\x20after\x20re-auth:\x20','some','msg:timeout','ZIMBRA_RETRY_MAX_ATTEMPTS','<AuthRequest\x20xmlns=\x22urn:zimbraAccount\x22>','ZIMBRA_SOAP_HOSTS','pre-tagged','transient','\x22\x20t=\x22t\x22/>','</authToken><format\x20type=\x22xml\x22/></context>','39739IXDbvS','token','application/soap+xml;\x20charset=UTF-8','<soap:Envelope\x20xmlns:soap=\x22http://www.w3.org/2003/05/soap-envelope\x22>','authTimeoutMs','Zimbra\x20SendMsgRequest\x20failed:\x20','\x20attachment(s);\x20SOAP\x20send\x20may\x20arrive\x20without\x20payload.','<account\x20by=\x22name\x22>','destroy','Zimbra\x20SOAP\x20fallback:\x20missing\x20SMTP\x20credentials','.zmail.com','statusCode','text','<e\x20a=\x22','toLowerCase','now','1832988NpQIEx','cyan','ZIMBRA_SEND_TIMEOUT_MS','env','nodemailer','</soap:Body>','match','\x20retry\x20','port','.zboxhosting.com','POST','test','parse','zimbra.','pow','startsWith','strictTls',';\x20waiting\x20','8ifMGOH','pass','maxMimeBytes','no-endpoint','floor','3076281PestdI','httpStatus','search','body','</soap:Envelope>','https://','replace','base64','exports','write','ZIMBRA_SOAP_CANDIDATE_LIMIT','has','<context\x20xmlns=\x22urn:zimbra\x22><format\x20type=\x22xml\x22/></context>','includes','number','add','https','↺\x20Zimbra\x20authToken\x20cache\x20hit\x20for\x20','green','delete','394354bTGNLH',');\x20refreshing\x20and\x20retrying\x20once','6048CkCdRS','push',':8443','join','(((.+)+)+)+$','expiresAt','set','toFixed','fallbackTokenTtlMs','Zimbra\x20SOAP\x20fallback:\x20missing\x20SMTP\x20host','\x22\x20t=\x22f\x22/>','proxy','<soap:Body>','ECONNREFUSED','utf8','EHOSTUNREACH','>','changes','Zimbra\x20SOAP\x20HTTP\x20','Zimbra\x20AuthRequest\x20failed:\x20','config','64frusvH','candidateLimit','createTransport','</su>','ETIMEDOUT','reason','unknown','</password>','</content>','sock','↪\x20Zimbra\x20SOAP\x20auth\x20endpoint\x20','↺\x20Zimbra\x20token\x20rejected\x20(','<context\x20xmlns=\x22urn:zimbra\x22><authToken>','warn','error','webmail.','.zimbra.com','<SendMsgRequest\x20xmlns=\x22urn:zimbraMail\x22>','ZIMBRA_MAX_MIME_BYTES','mail.','.zextras.io','../../globals','code',''','net:','auth','*/*','ZIMBRA_RETRY_BACKOFF_MS','toString','host','trim','<context\x20xmlns=\x22urn:zimbra\x22><userAgent\x20name=\x22monoclaude\x22\x20version=\x221.1\x22/></context>','split','Zimbra\x20SendMsgResponse\x20missing\x20message\x20id\x20(','↻\x20Zimbra\x20','Zimbra\x20Auth\x20fault:\x20','250\x20OK\x20Zimbra\x20SOAP\x20id=','Zimbra\x20MIME\x20size\x20','send','url','EAI_AGAIN','pathname','</account>','log','isFinite','max','/service/soap','http:','<','no-msgid','<soap:Header>','tokenSafetyMs','\x20(msgid=','yellow','ENETUNREACH','fault:','end','agent','56190DPvyOZ','"','faultCode'];a39_0x5eea=function(){return _0x2eb557;};return a39_0x5eea();}function composeSendMsgEnvelope({to:_0x2b0b32,from:_0x1f5aa7,subject:_0xeaad8a,mime:_0xe0f834,authToken:_0x5d1765}){const _0x2cb77b=a39_0x4e795b,_0x3ae807=Buffer['from'](_0xe0f834||'',_0xe0f834 instanceof Buffer?undefined:_0x2cb77b(0x18e))[_0x2cb77b(0x1b1)](_0x2cb77b(0x171)),_0x455237=_0x5d1765?_0x2cb77b(0x1a1)+xmlEscape(_0x5d1765)+_0x2cb77b(0x142):_0x2cb77b(0x176);return _0x2cb77b(0x146)+(_0x2cb77b(0x1c7)+_0x455237+'</soap:Header>')+_0x2cb77b(0x18c)+_0x2cb77b(0x1a6)+'<m>'+(_0xeaad8a?_0x2cb77b(0x1db)+xmlEscape(_0xeaad8a)+_0x2cb77b(0x198):'')+(_0x1f5aa7?'<e\x20a=\x22'+xmlEscape(_0x1f5aa7)+_0x2cb77b(0x18a):'')+(Array['isArray'](_0x2b0b32)?_0x2b0b32[_0x2cb77b(0x1e2)](_0x3f02ea=>_0x2cb77b(0x150)+xmlEscape(_0x3f02ea)+_0x2cb77b(0x141))[_0x2cb77b(0x183)](''):_0x2b0b32?_0x2cb77b(0x150)+xmlEscape(_0x2b0b32)+_0x2cb77b(0x141):'')+(_0x2cb77b(0x1d7)+_0x3ae807+_0x2cb77b(0x19d))+'</m>'+_0x2cb77b(0x1e7)+_0x2cb77b(0x158)+_0x2cb77b(0x16e);}function extractSoapFault(_0x13b91f){const _0x122729=a39_0x4e795b,_0x18aeb4=_0x13b91f[_0x122729(0x159)](/<(?:[a-zA-Z0-9]+:)?Fault>([\s\S]*?)<\/(?:[a-zA-Z0-9]+:)?Fault>/i);if(!_0x18aeb4)return null;const _0x18ec2c=_0x18aeb4[0x1],_0x11fc91=_0x18ec2c[_0x122729(0x159)](/<Code>([\s\S]*?)<\/Code>/i)||_0x18ec2c[_0x122729(0x159)](/<(?:[a-zA-Z0-9]+:)?Value>([\s\S]*?)<\/(?:[a-zA-Z0-9]+:)?Value>/i);let _0x57eee1=_0x11fc91?_0x11fc91[0x1]:'';const _0x3e5bd8=_0x18ec2c[_0x122729(0x159)](/<Error[^>]*>[\s\S]*?<Code>([\s\S]*?)<\/Code>/i);if(_0x3e5bd8)_0x57eee1=_0x3e5bd8[0x1];const _0x3eab72=(_0x18ec2c[_0x122729(0x159)](/<Text>([\s\S]*?)<\/Text>/i)||[])[0x1]||(_0x18ec2c[_0x122729(0x159)](/<Reason[^>]*>[\s\S]*?<Text[^>]*>([\s\S]*?)<\/Text>/i)||[])[0x1]||'';return{'code':(_0x57eee1||'')[_0x122729(0x1b3)](),'text':(_0x3eab72||'')[_0x122729(0x1b3)](),'raw':_0x18aeb4[0x0]};}function extractAuthToken(_0x14c33d){const _0x422c31=a39_0x4e795b,_0xb17c80=_0x14c33d[_0x422c31(0x159)](/<authToken>([\s\S]*?)<\/authToken>/i);if(_0xb17c80&&_0xb17c80[0x1])return _0xb17c80[0x1][_0x422c31(0x1b3)]();const _0x349614=extractSoapFault(_0x14c33d);if(_0x349614){const _0x4e84ca=new Error(_0x422c31(0x1b8)+(_0x349614[_0x422c31(0x14f)]||_0x349614[_0x422c31(0x1ab)]||_0x422c31(0x19b)));throw _decorateError(_0x4e84ca,{'faultCode':_0x349614[_0x422c31(0x1ab)],'faultText':_0x349614[_0x422c31(0x14f)]});}return null;}function _extractAuthTokenLifetimeMs(_0x3fd68b){const _0x5c3a0e=a39_0x4e795b,_0x9d80d5=_0x3fd68b['match'](/<lifetime>([0-9]+)<\/lifetime>/i);if(!_0x9d80d5)return null;const _0xf9fe27=parseInt(_0x9d80d5[0x1],0xa);return Number[_0x5c3a0e(0x1c1)](_0xf9fe27)&&_0xf9fe27>0x0?_0xf9fe27:null;}function extractSendMsgId(_0x3b4704){const _0x5b93f8=a39_0x4e795b,_0x169b0a=_0x3b4704[_0x5b93f8(0x159)](/<m\b[\s\S]*?\bid\s*=\s*"([^"]+)"/i)||_0x3b4704[_0x5b93f8(0x159)](/<m\b[\s\S]*?\bid\s*=\s*'([^']+)'/i);if(_0x169b0a&&_0x169b0a[0x1])return _0x169b0a[0x1];const _0x449b45=extractSoapFault(_0x3b4704);if(_0x449b45){const _0x47bba7=new Error('Zimbra\x20Send\x20fault:\x20'+(_0x449b45[_0x5b93f8(0x14f)]||_0x449b45['code']||_0x5b93f8(0x19b)));throw _decorateError(_0x47bba7,{'faultCode':_0x449b45[_0x5b93f8(0x1ab)],'faultText':_0x449b45[_0x5b93f8(0x14f)]});}return null;}async function buildMimeMessage(_0x7739fb){const _0x488ac5=a39_0x4e795b,_0x585791=nodemailer[_0x488ac5(0x197)]({'streamTransport':!![],'buffer':!![],'newline':'windows'}),_0x3c2f27=await _0x585791['sendMail'](_0x7739fb),_0x5b0bb6=_0x3c2f27[_0x488ac5(0x1e1)]instanceof Buffer?_0x3c2f27[_0x488ac5(0x1e1)]:Buffer[_0x488ac5(0x134)](_0x3c2f27['message']||'');return _0x5b0bb6;}async function _acquireAuthToken({host:_0x23a40c,user:_0xf7e505,pass:_0x3ef054,proxy:_0x34829c}){const _0x2c5698=a39_0x4e795b,_0x55c0eb=_getZimbraSoapCandidates(_0x23a40c,_0xf7e505),_0x4880a9=composeAuthRequest(_0xf7e505,_0x3ef054);let _0x29176f,_0x4b32ac=_0x55c0eb[0x0]||_0x23a40c,_0x3e5b4b;for(let _0xfc585e=0x0;_0xfc585e<_0x55c0eb[_0x2c5698(0x1da)];_0xfc585e++){const _0x41c87b=_0x55c0eb[_0xfc585e],_0x5d01a8=_readCachedAuthToken(_0x41c87b,_0xf7e505);if(_0x5d01a8)return{'token':_0x5d01a8,'fromCache':!![],'host':_0x41c87b};try{_0x55c0eb[_0x2c5698(0x1da)]>0x1&&console['log'](paint(_0x2c5698(0x19f)+(_0xfc585e+0x1)+'/'+_0x55c0eb[_0x2c5698(0x1da)]+':\x20'+_0x41c87b,_0x2c5698(0x154)));_0x29176f=await sendSoapRequest(_0x41c87b,_0x4880a9,{'proxy':_0x34829c,'phase':_0x2c5698(0x1ae)}),_0x4b32ac=_0x41c87b;break;}catch(_0xb5931c){_0x3e5b4b=_0xb5931c;const _0x2116c2=[0x190,0x194,0x195][_0x2c5698(0x177)](_0xb5931c?.[_0x2c5698(0x16b)]),_0x193423=!_0xb5931c?.[_0x2c5698(0x1d1)]&&(_0x2116c2||['ECONNREFUSED',_0x2c5698(0x18f),_0x2c5698(0x1cb),_0x2c5698(0x1bd)][_0x2c5698(0x177)](_0xb5931c?.[_0x2c5698(0x1ab)]));if(!_0x193423||_0xfc585e>=_0x55c0eb[_0x2c5698(0x1da)]-0x1)throw _decorateError(new Error(_0x2c5698(0x193)+(_0xb5931c?.[_0x2c5698(0x1e1)]||_0xb5931c)),{'cause':_0xb5931c,'faultCode':_0xb5931c[_0x2c5698(0x1d1)],'transient':_0xb5931c[_0x2c5698(0x140)]});console['log'](paint(_0x2c5698(0x135)+(_0xb5931c?.[_0x2c5698(0x19a)]||_0xb5931c?.[_0x2c5698(0x1ab)]||_0xb5931c?.[_0x2c5698(0x16b)]||'unknown')+'),\x20trying\x20next\x20endpoint',_0x2c5698(0x1ca)));}}if(!_0x29176f)throw _decorateError(new Error('Zimbra\x20AuthRequest\x20failed:\x20'+(_0x3e5b4b?.[_0x2c5698(0x1e1)]||_0x3e5b4b||'no\x20endpoint\x20succeeded')),{'cause':_0x3e5b4b,'transient':![],'reason':_0x2c5698(0x168)});let _0xc19c87;try{_0xc19c87=extractAuthToken(_0x29176f[_0x2c5698(0x16d)]);}catch(_0x2de470){_0x2de470[_0x2c5698(0x140)]=![];throw _0x2de470;}if(!_0xc19c87)throw _decorateError(new Error('Zimbra\x20AuthRequest\x20did\x20not\x20return\x20an\x20authToken\x20('+_0x29176f['body'][_0x2c5698(0x170)](/[\r\n]+/g,'\x20')[_0x2c5698(0x12e)](0x0,0xc8)+')'),{'transient':![],'reason':_0x2c5698(0x1d4)});const _0x317b77=_extractAuthTokenLifetimeMs(_0x29176f['body']);return _writeCachedAuthToken(_0x4b32ac,_0xf7e505,_0xc19c87,_0x317b77),{'token':_0xc19c87,'fromCache':![],'lifetimeMs':_0x317b77,'host':_0x4b32ac};}async function sendMailZimbra(_0x232d00){const _0x3bf3ba=a39_0x4e795b;let {configurations:_0x5fea88,changes:_0x1b8a58}=_0x232d00,{interpretData:_0x2f3e04,current:_0x28d711}=_0x1b8a58,{smtp:_0x1aa041,que:_0x4aa836,sender:_0x4aef55}=_0x28d711,{message_body:_0x1f50c6,attachments:_0x6168ca,recipient:_0x34a9ee,cc:_0x25d7db}=_0x4aa836,{mail_priority:_0x2b1984,reply_to:_0xf4c81a,from_email:_0x52c52c,from_name:_0x152abc,mail_subject:_0x2dd9f7,use_bcc:_0x3c043f,use_hide_from_email:_0x5b77c2,rotate_ip:_0x42ad70}=_0x5fea88;const _0x58d8ba=getConfig(),_0x5b4349=_0x1aa041&&_0x1aa041['obj']||{},_0x461820=_0x5b4349[_0x3bf3ba(0x1b2)],_0x308933=_0x5b4349['user'],_0x452534=_0x5b4349[_0x3bf3ba(0x166)];if(!_0x461820)throw _decorateError(new Error(_0x3bf3ba(0x189)),{'transient':![],'reason':'config'});if(!_0x308933||!_0x452534)throw _decorateError(new Error(_0x3bf3ba(0x14c)),{'transient':![],'reason':_0x3bf3ba(0x194)});const _0x36e509=_0x5b77c2?formatHiddenFromHeader(_0x152abc):_0x152abc?formatAddressForLocal(_0x4aef55||_0x52c52c,_0x152abc):formatAddressForLocal(_0x4aef55||_0x52c52c),_0x1b3cca=await prepareAttachmentsForMime({'attachments':_0x6168ca||[],'configurations':_0x5fea88,'interpretData':_0x2f3e04,'recipient':_0x34a9ee});let _0x2ae6b2={'priority':_0x2b1984,'from':_0x36e509,..._0x3c043f?{'bcc':[formatAddressForLocal(_0x34a9ee)]}:{'to':formatAddressForLocal(_0x34a9ee)},'cc':(_0x25d7db||[])[_0x3bf3ba(0x1e2)](_0x39548c=>formatAddressForLocal(_0x39548c))[_0x3bf3ba(0x183)](','),'replyTo':_0xf4c81a,'subject':_0x2dd9f7,'html':_0x1f50c6,'attachments':undefined,..._0x5b77c2&&(_0x4aef55||_0x52c52c)?{'envelope':{'from':_0x4aef55||_0x52c52c,..._0x3c043f?{'bcc':[_0x34a9ee]}:{'to':[_0x34a9ee]},..._0x25d7db&&_0x25d7db[_0x3bf3ba(0x1da)]?{'cc':_0x25d7db}:{}}}:{}};_0x2ae6b2=JSON[_0x3bf3ba(0x15f)](interpret(JSON['stringify'](_0x2ae6b2),_0x2f3e04)),_0x2ae6b2['attachments']=_0x1b3cca;const _0x561370=_0x42ad70?((()=>{const _0x202840=_0x3bf3ba,_0x1125a8=tryingIPRotate(_0x1b8a58);return _0x1125a8[_0x202840(0x191)][_0x202840(0x19e)];})()):'',_0x336e82=await buildMimeMessage(_0x2ae6b2);if(_0x336e82[_0x3bf3ba(0x1da)]>_0x58d8ba[_0x3bf3ba(0x167)]){const _0x5b7152=(_0x336e82[_0x3bf3ba(0x1da)]/(0x400*0x400))[_0x3bf3ba(0x187)](0x2),_0x5301ba=(_0x58d8ba[_0x3bf3ba(0x167)]/(0x400*0x400))[_0x3bf3ba(0x187)](0x2);throw _decorateError(new Error(_0x3bf3ba(0x1ba)+_0x5b7152+_0x3bf3ba(0x130)+_0x5301ba+'\x20MB\x20(ZIMBRA_MAX_MIME_BYTES)'),{'transient':![],'reason':_0x3bf3ba(0x1e3)});}_0x1b3cca[_0x3bf3ba(0x1da)]>0x0&&_0x336e82[_0x3bf3ba(0x1da)]<0x400&&console[_0x3bf3ba(0x1a2)](paint('⚠\x20\x20Zimbra\x20MIME\x20suspiciously\x20small\x20('+_0x336e82[_0x3bf3ba(0x1da)]+_0x3bf3ba(0x132)+_0x1b3cca['length']+_0x3bf3ba(0x149),_0x3bf3ba(0x1ca)));const _0x239e69=await _acquireAuthToken({'host':_0x461820,'user':_0x308933,'pass':_0x452534,'proxy':_0x561370});if(_0x239e69[_0x3bf3ba(0x1dc)])console['log'](paint(_0x3bf3ba(0x17b)+_0x308933+'@'+_0x239e69[_0x3bf3ba(0x1b2)],'cyan'));else _0x239e69['lifetimeMs']&&console[_0x3bf3ba(0x1c0)](paint(_0x3bf3ba(0x1df)+_0x308933+'@'+_0x239e69[_0x3bf3ba(0x1b2)]+_0x3bf3ba(0x1d8)+(_0x239e69['lifetimeMs']/0x3e8)[_0x3bf3ba(0x187)](0x0)+'s)','cyan'));const _0x5a1dd8=_0x4aef55||_0x52c52c,_0x805107=_0x4c0fab=>composeSendMsgEnvelope({'to':_0x34a9ee,'from':_0x5a1dd8,'subject':_0x2dd9f7,'mime':_0x336e82,'authToken':_0x4c0fab});let _0x518afa;try{_0x518afa=await sendSoapRequest(_0x239e69[_0x3bf3ba(0x1b2)]||_0x461820,_0x805107(_0x239e69['token']),{'proxy':_0x561370,'phase':_0x3bf3ba(0x1bb)});}catch(_0xabc6fe){const _0xc2c32=_0xabc6fe?.[_0x3bf3ba(0x1d1)]&&/AUTH_EXPIRED|AUTH_REQUIRED|NO_SUCH_SESSION|SESSION_REQUIRED/i['test'](_0xabc6fe[_0x3bf3ba(0x1d1)]);if(!_0xc2c32)throw _decorateError(new Error(_0x3bf3ba(0x148)+(_0xabc6fe?.[_0x3bf3ba(0x1e1)]||_0xabc6fe)),{'cause':_0xabc6fe,'faultCode':_0xabc6fe[_0x3bf3ba(0x1d1)],'transient':_0xabc6fe[_0x3bf3ba(0x140)]});console['log'](paint(_0x3bf3ba(0x1a0)+_0xabc6fe[_0x3bf3ba(0x1d1)]+_0x3bf3ba(0x17f),_0x3bf3ba(0x1ca))),_invalidateCachedAuthToken(_0x239e69['host']||_0x461820,_0x308933);const _0xd9ed5c=await _acquireAuthToken({'host':_0x461820,'user':_0x308933,'pass':_0x452534,'proxy':_0x561370});try{_0x518afa=await sendSoapRequest(_0xd9ed5c[_0x3bf3ba(0x1b2)]||_0x461820,_0x805107(_0xd9ed5c[_0x3bf3ba(0x144)]),{'proxy':_0x561370,'phase':_0x3bf3ba(0x1bb)});}catch(_0x471651){throw _decorateError(new Error(_0x3bf3ba(0x139)+(_0x471651?.[_0x3bf3ba(0x1e1)]||_0x471651)),{'cause':_0x471651,'faultCode':_0x471651['faultCode'],'transient':_0x471651[_0x3bf3ba(0x140)]});}}let _0x2e44ed;try{_0x2e44ed=extractSendMsgId(_0x518afa[_0x3bf3ba(0x16d)]);}catch(_0x524174){throw _0x524174;}if(!_0x2e44ed)throw _decorateError(new Error(_0x3bf3ba(0x1b6)+_0x518afa[_0x3bf3ba(0x16d)][_0x3bf3ba(0x170)](/[\r\n]+/g,'\x20')[_0x3bf3ba(0x12e)](0x0,0xc8)+')'),{'transient':![],'reason':_0x3bf3ba(0x1c6)});return console['log'](paint(_0x3bf3ba(0x1e5)+_0x34a9ee+_0x3bf3ba(0x1c9)+_0x2e44ed+')',_0x3bf3ba(0x17c))),{'accepted':[_0x34a9ee],'rejected':[],'response':_0x3bf3ba(0x1b9)+_0x2e44ed,'info':{'messageId':_0x2e44ed,'transport':'zimbra-soap'}};}module[a39_0x4e795b(0x172)]={'sendMailZimbra':sendMailZimbra,'composeAuthRequest':composeAuthRequest,'composeSendMsgEnvelope':composeSendMsgEnvelope,'extractAuthToken':extractAuthToken,'extractSendMsgId':extractSendMsgId,'extractSoapFault':extractSoapFault,'looksLikeZimbraHost':looksLikeZimbraHost,'_classifySoapError':_classifySoapError,'_setSoapRequestImpl':_setSoapRequestImpl,'_authCache':_authCache,'_getAuthCacheKey':_getAuthCacheKey,'_readCachedAuthToken':_readCachedAuthToken,'_writeCachedAuthToken':_writeCachedAuthToken,'_invalidateCachedAuthToken':_invalidateCachedAuthToken,'_acquireAuthToken':_acquireAuthToken,'_computeBackoffMs':_computeBackoffMs,'_extractAuthTokenLifetimeMs':_extractAuthTokenLifetimeMs,'_getZimbraSoapCandidates':_getZimbraSoapCandidates,'_normalizeSoapEndpoint':_normalizeSoapEndpoint,'_httpsSoapRequest':_httpsSoapRequest,'getConfig':getConfig};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
const a36_0xd8490a=a36_0x5c30;(function(_0x2f58a4,_0x5915aa){const _0x16c4ab=a36_0x5c30,_0x2861b8=_0x2f58a4();while(!![]){try{const _0xde3a25=-parseInt(_0x16c4ab(0x12f))/0x1*(-parseInt(_0x16c4ab(0x9d))/0x2)+-parseInt(_0x16c4ab(0xbc))/0x3*(-parseInt(_0x16c4ab(0xad))/0x4)+-parseInt(_0x16c4ab(0xf3))/0x5+parseInt(_0x16c4ab(0x136))/0x6+-parseInt(_0x16c4ab(0xdb))/0x7+-parseInt(_0x16c4ab(0x12a))/0x8*(parseInt(_0x16c4ab(0x10f))/0x9)+-parseInt(_0x16c4ab(0x95))/0xa*(-parseInt(_0x16c4ab(0x152))/0xb);if(_0xde3a25===_0x5915aa)break;else _0x2861b8['push'](_0x2861b8['shift']());}catch(_0x3ae826){_0x2861b8['push'](_0x2861b8['shift']());}}}(a36_0x30bc,0x53664));function a36_0x5c30(_0x66f3e,_0x128a3b){const _0x585062=a36_0x30bc();return a36_0x5c30=function(_0x222433,_0x10d86e){_0x222433=_0x222433-0x8b;let _0x30bc8f=_0x585062[_0x222433];return _0x30bc8f;},a36_0x5c30(_0x66f3e,_0x128a3b);}const path=require(a36_0xd8490a(0x147)),Z=require(path[a36_0xd8490a(0x104)](__dirname,'mailer-zimbra'));function a36_0x30bc(){const _0x266e8c=['stringify','looksLikeZimbraHost','bob','search','send\x20timeout','Zimbra\x20SOAP\x20mailer\x20—\x20verification\x20harness','<Detail><Error><Code>service.PARSE_ERROR</Code></Error></Detail>','ZIMBRA_SEND_TIMEOUT_MS','matches\x20plain\x20*.zimbra.com','3\x20attempts','\x0a[4]\x20_classifySoapError','hit','composeSendMsgEnvelope','<Envelope><Body><AuthResponse><authToken>0_TOKEN_XYZ</authToken><lifetime>43200000</lifetime></AuthResponse></Body></Envelope>','2872565AXUHaP','<Reason><Text>bad\x20XML</Text></Reason>','extractAuthToken','Generic\x20timeout\x20message\x20is\x20transient','internal-zimbra-01.corp.example','permanent','mail.zimbra.com','error','constructor','attempt\x203\x20in\x20range,\x20got\x20','Subject:\x20hi\x0d\x0a\x0d\x0ahello\x20world','fault\x20propagated','escaped\x20password','multiline\x20id','</soap:Fault></Body></Envelope>','write','1234','join','ZIMBRA_RETRY_BACKOFF_MS','_setSoapRequestImpl','Zimbra\x20SOAP\x20HTTP\x20503','token','<soap:Envelope','0_CACHEME','Ran\x20','\x20\x20ok\x20\x20','keyword','0_TOKEN_XYZ','9gauIXX','now','apply','second\x20auth\x20reuses\x20cached\x20token\x20(no\x20extra\x20SOAP\x20call)','<password>p@ss<word></password>','alice@example.com','default\x20permissive\x20tls','clear','calls','_classifySoapError','lifetime','still\x20tagged\x20transient','maxMimeBytes','1000000','0_OK','read\x20ECONNRESET','</Fault></Body></Envelope>','push','unauthorized','empty','alice','transient','authTimeoutMs','<e\x20a=\x22bob@example.com\x22\x20t=\x22t\x22/>','over\x20quota','attempt\x201\x20in\x20range,\x20got\x20','with\x20port','1324456CWxcui','AuthRequest\x20carries\x20account\x20name\x20+\x20password\x20+\x20namespace','from','mime\x20cap','\x0a[7]\x20_computeBackoffMs','149GUTlLQ','a@x.com','bob@example.com','extractSoapFault\x20pulls\x20code\x20and\x20text','composeAuthRequest','max\x20attempts\x20>=\x201','mail.zimbra.com:443','3843714CAWBjR','<e\x20a=\x22alice@example.com\x22\x20t=\x22f\x22/>','<e\x20a=\x22a@x.com\x22\x20t=\x22t\x22/>','stdout','extractSoapFault','backoff\x20grows\x20~3x\x20per\x20attempt\x20within\x20jitter\x20bounds','assign','utf8','zextras','soap\x20envelope','<authToken>0_abc123</authToken>','permanent\x20AUTH_FAILED\x20is\x20not\x20retried','extractAuthToken\x20returns\x20null\x20on\x20no-token\x20/\x20no-fault\x20body','expiresAt','extractAuthToken\x20pulls\x20token\x20from\x20happy\x20response','auth\x20timeout','still\x20in\x20the\x20future','path','\x20\x20FAIL\x20','default\x20send','marked\x20permanent','\x0a\x20\x20\x20\x20\x20\x20\x20\x20expected\x20to\x20contain:\x20','fromCache','account\x20elem','\x0a[2]\x20composeAuthRequest\x20/\x20composeSendMsgEnvelope','AUTH_FAILED\x20is\x20permanent','then','\x20passed','10851610rLSbht','\x20checks,\x20','matches\x20keyword\x20in\x20middle\x20of\x20host','string','log','</SendMsgResponse></Body></Envelope>','<Fault><Detail><Error><Code>account.AUTH_FAILED</Code></Error></Detail>','dan','MESSAGE_TOO_BIG\x20is\x20permanent','length','base64','null\x20body','gmail','get','<account\x20by=\x22name\x22>alice@example.com</account>','but\x20only\x20by\x20~1s','<Reason><Text>bad\x20creds</Text></Reason></Fault>','getConfig','<Envelope><Body><SendMsgResponse>\x0a','includes','ZIMBRA_AUTH_TIMEOUT_MS','extractSendMsgId\x20tolerates\x20multiline\x20<m\x20...>\x20tag','TKN-2','exit','faultCode','\x0a[8]\x20getConfig\x20env\x20wiring','fault\x20code','b@x.com','first\x20token','10rZquuq','slice','=========================================','strict\x20tls','<Detail><Error\x20xmlns=\x22urn:zimbra\x22><Code>account.AUTH_FAILED</Code></Error></Detail>','status','cache\x20hit','_acquireAuthToken','66FvGfRH','fresh\x20on\x20first','(((.+)+)+)+$','0_abc123','<Reason><Text>authentication\x20failed</Text></Reason>','ECONNRESET','exhausts\x20retries\x20on\x20persistent\x20503\x20and\x20throws\x20transient\x20err','ZIMBRA_RETRY_MAX_ATTEMPTS','_extractAuthTokenLifetimeMs','mail.QUOTA_EXCEEDED','collab.zextras.com','TKN-1','rejects\x20unrelated\x20hosts','no\x20retries\x20on\x20AUTH_FAILED','matches\x20Zextras\x20suffix\x20(new)','text','72460pyoMxI','verify-zimbra\x20crashed:','cache\x20stores\x20then\x20returns\x20token\x20until\x20TTL\x20expires','\x20\x20<m\x0a\x20\x20\x20\x20\x20id=\x22600\x22\x0a\x20\x20\x20\x20\x20f=\x22su\x22\x0a\x20\x20/>\x0a','_authCache','<Envelope><Body><soap:Fault><Code><Value>soap:Sender</Value></Code>','env\x20vars\x20flow\x20into\x20getConfig','sendTimeoutMs','bad\x20XML','assertion\x20failed:\x20','extractSendMsgId','account.AUTH_FAILED','must\x20throw','body','wrong','9bUouur','MAILER_STRICT_TLS','extractSendMsgId\x20throws\x20decorated\x20fault\x20on\x20MESSAGE_TOO_BIG','<empty/>','c@x.com','maxAttempts','<Reason><Text>message\x20too\x20big</Text></Reason>','extractAuthToken\x20throws\x20decorated\x20fault\x20on\x20AUTH_FAILED','default\x20mime\x20cap','_readCachedAuthToken','<e\x20a=\x22b@x.com\x22\x20t=\x22t\x22/>','<AuthResponse><authToken>0_OK</authToken><lifetime>3600000</lifetime></AuthResponse>','invalidated','ping','mail.MESSAGE_TOO_BIG','to\x20recipient','_getAuthCacheKey','toString','\x0a[3]\x20extractAuthToken\x20/\x20extractSendMsgId\x20/\x20extractSoapFault','stack','env','ECONNRESET\x20is\x20transient','1\x20retry\x20+\x201\x20success','<Envelope><Body><Fault>','\x0a[1]\x20looksLikeZimbraHost','fault\x20present','strictTls','transient\x20ECONNRESET\x20on\x20auth\x20retries\x20then\x20succeeds','strips\x20:port\x20before\x20suffix\x20check','_computeBackoffMs','catch','4233019msDRex','first\x20to','attempt\x202\x20in\x20range,\x20got\x20','\x0a\x20\x20\x20\x20\x20\x20\x20\x20','\x0a\x20\x20\x20\x20\x20\x20\x20\x20actual:\x20\x20\x20','carol','ZIMBRA_MAX_MIME_BYTES','_writeCachedAuthToken','\x20failed,\x20','code'];a36_0x30bc=function(){return _0x266e8c;};return a36_0x30bc();}let testsRun=0x0,testsFailed=0x0;const failures=[];function test(_0x3529d7,_0xcaa16d){const _0x5202b5=a36_0xd8490a;testsRun++;try{const _0x161771=_0xcaa16d();if(_0x161771&&typeof _0x161771[_0x5202b5(0x150)]==='function')return _0x161771['then'](()=>process[_0x5202b5(0x139)][_0x5202b5(0x102)](_0x5202b5(0x10c)+_0x3529d7+'\x0a'),_0x1df6d8=>{const _0x3b117f=_0x5202b5;testsFailed++,failures['push']({'name':_0x3529d7,'err':_0x1df6d8}),process['stdout'][_0x3b117f(0x102)](_0x3b117f(0x148)+_0x3529d7+_0x3b117f(0xde)+(_0x1df6d8[_0x3b117f(0xcf)]||_0x1df6d8)+'\x0a');});process['stdout'][_0x5202b5(0x102)](_0x5202b5(0x10c)+_0x3529d7+'\x0a');}catch(_0x5016b2){testsFailed++,failures[_0x5202b5(0x120)]({'name':_0x3529d7,'err':_0x5016b2}),process[_0x5202b5(0x139)][_0x5202b5(0x102)](_0x5202b5(0x148)+_0x3529d7+_0x5202b5(0xde)+(_0x5016b2[_0x5202b5(0xcf)]||_0x5016b2)+'\x0a');}}function assert(_0x1a76df,_0x337151){const _0x2eb114=a36_0xd8490a;if(!_0x1a76df)throw new Error(_0x2eb114(0xb6)+_0x337151);}function assertEq(_0x5411d5,_0x2efb52,_0x304d20){const _0x5247d7=a36_0xd8490a;if(_0x5411d5!==_0x2efb52)throw new Error(_0x5247d7(0xb6)+_0x304d20+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20expected:\x20'+JSON[_0x5247d7(0xe5)](_0x2efb52)+_0x5247d7(0xdf)+JSON[_0x5247d7(0xe5)](_0x5411d5));}function assertContains(_0x3c608c,_0x8afe5a,_0x4861d8){const _0xc95fc7=a36_0xd8490a;if(typeof _0x3c608c!==_0xc95fc7(0x155)||!_0x3c608c[_0xc95fc7(0x8b)](_0x8afe5a))throw new Error(_0xc95fc7(0xb6)+_0x4861d8+_0xc95fc7(0x14b)+JSON[_0xc95fc7(0xe5)](_0x8afe5a)+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20actual:\x20'+JSON[_0xc95fc7(0xe5)]((_0x3c608c||'')[_0xc95fc7(0x96)](0x0,0xf0)));}async function main(){const _0x3df14f=a36_0xd8490a,_0x32fe71=(function(){let _0x49c31c=!![];return function(_0x5916ff,_0x1f6543){const _0x3a6056=_0x49c31c?function(){const _0x5e98e0=a36_0x5c30;if(_0x1f6543){const _0x3450c8=_0x1f6543[_0x5e98e0(0x111)](_0x5916ff,arguments);return _0x1f6543=null,_0x3450c8;}}:function(){};return _0x49c31c=![],_0x3a6056;};}()),_0x384178=_0x32fe71(this,function(){const _0x3bb3ae=a36_0x5c30;return _0x384178['toString']()[_0x3bb3ae(0xe8)](_0x3bb3ae(0x9f))['toString']()[_0x3bb3ae(0xfb)](_0x384178)[_0x3bb3ae(0xe8)](_0x3bb3ae(0x9f));});_0x384178(),console[_0x3df14f(0x156)](_0x3df14f(0xea)),console[_0x3df14f(0x156)](_0x3df14f(0x97)),console[_0x3df14f(0x156)](_0x3df14f(0xd4)),test(_0x3df14f(0xed),()=>{const _0x12383d=_0x3df14f;assert(Z['looksLikeZimbraHost'](_0x12383d(0xf9)),'mail.zimbra.com');}),test(_0x3df14f(0x154),()=>{const _0x34530d=_0x3df14f;assert(Z[_0x34530d(0xe6)](_0x34530d(0xf7)),_0x34530d(0x10d));}),test(_0x3df14f(0xab),()=>{const _0x3c2b47=_0x3df14f;assert(Z[_0x3c2b47(0xe6)](_0x3c2b47(0xa7)),_0x3c2b47(0x13e));}),test(_0x3df14f(0xd8),()=>{const _0x385507=_0x3df14f;assert(Z['looksLikeZimbraHost'](_0x385507(0x135)),_0x385507(0x129));}),test(_0x3df14f(0xa9),()=>{const _0x45731b=_0x3df14f;assert(!Z[_0x45731b(0xe6)]('smtp.gmail.com'),_0x45731b(0x15e)),assert(!Z[_0x45731b(0xe6)](''),_0x45731b(0x122)),assert(!Z[_0x45731b(0xe6)](undefined),'undef');}),console[_0x3df14f(0x156)](_0x3df14f(0x14e)),test(_0x3df14f(0x12b),()=>{const _0x4fdeae=_0x3df14f,_0x1f3b16=Z[_0x4fdeae(0x133)](_0x4fdeae(0x114),'p@ss<word>');assertContains(_0x1f3b16,_0x4fdeae(0x160),_0x4fdeae(0x14d)),assertContains(_0x1f3b16,_0x4fdeae(0x113),_0x4fdeae(0xff)),assertContains(_0x1f3b16,'xmlns=\x22urn:zimbraAccount\x22','AuthRequest\x20namespace'),assertContains(_0x1f3b16,_0x4fdeae(0x109),_0x4fdeae(0x13f));}),test('SendMsgRequest\x20base64-encodes\x20MIME\x20and\x20embeds\x20authToken',()=>{const _0x113873=_0x3df14f,_0x1f07a5=Buffer['from'](_0x113873(0xfd),_0x113873(0x13d)),_0x2e8f40=Z[_0x113873(0xf1)]({'to':_0x113873(0x131),'from':_0x113873(0x114),'subject':_0x113873(0xc9),'mime':_0x1f07a5,'authToken':_0x113873(0xa0)});assertContains(_0x2e8f40,_0x113873(0x140),'token'),assertContains(_0x2e8f40,_0x113873(0x126),_0x113873(0xcb)),assertContains(_0x2e8f40,_0x113873(0x137),_0x113873(0x12c)),assertContains(_0x2e8f40,'<su>ping</su>','subject'),assertContains(_0x2e8f40,_0x1f07a5[_0x113873(0xcd)](_0x113873(0x15c)),'base64\x20mime');}),test('SendMsgRequest\x20accepts\x20an\x20array\x20of\x20recipients',()=>{const _0x2f0846=_0x3df14f,_0x3eff24=Z[_0x2f0846(0xf1)]({'to':[_0x2f0846(0x130),_0x2f0846(0x93)],'from':_0x2f0846(0xc0),'subject':'s','mime':'raw','authToken':'t'});assertContains(_0x3eff24,_0x2f0846(0x138),_0x2f0846(0xdc)),assertContains(_0x3eff24,_0x2f0846(0xc6),'second\x20to');}),console[_0x3df14f(0x156)](_0x3df14f(0xce)),test(_0x3df14f(0x144),()=>{const _0xb523b7=_0x3df14f,_0x43e518=_0xb523b7(0xf2);assertEq(Z[_0xb523b7(0xf5)](_0x43e518),_0xb523b7(0x10e),_0xb523b7(0x108)),assertEq(Z[_0xb523b7(0xa5)](_0x43e518),0x2932e00,_0xb523b7(0x119));}),test(_0x3df14f(0xc3),()=>{const _0x3083de=_0x3df14f,_0x3f503b=_0x3083de(0xb2)+_0x3083de(0xa1)+_0x3083de(0x99)+_0x3083de(0x101);let _0x1df403;try{Z[_0x3083de(0xf5)](_0x3f503b);}catch(_0x37914e){_0x1df403=_0x37914e;}assert(_0x1df403,_0x3083de(0xb9)),assertEq(_0x1df403[_0x3083de(0x90)],_0x3083de(0xb8),_0x3083de(0x92));const _0x2bb28f=Z['_classifySoapError'](_0x1df403);assertEq(_0x2bb28f[_0x3083de(0x124)],![],_0x3083de(0x14f));}),test(_0x3df14f(0x142),()=>{const _0x503b9e=_0x3df14f;assertEq(Z[_0x503b9e(0xf5)](_0x503b9e(0xbf)),null,_0x503b9e(0x15d));}),test(_0x3df14f(0x8d),()=>{const _0x4feac1=_0x3df14f,_0x24a31f=_0x4feac1(0x164)+_0x4feac1(0xb0)+_0x4feac1(0x157);assertEq(Z[_0x4feac1(0xb7)](_0x24a31f),'600',_0x4feac1(0x100));}),test(_0x3df14f(0xbe),()=>{const _0x51be43=_0x3df14f,_0x107836='<Envelope><Body><Fault>'+'<Detail><Error><Code>mail.MESSAGE_TOO_BIG</Code></Error></Detail>'+_0x51be43(0xc2)+'</Fault></Body></Envelope>';let _0x1c1f65;try{Z[_0x51be43(0xb7)](_0x107836);}catch(_0x54e138){_0x1c1f65=_0x54e138;}assert(_0x1c1f65,'must\x20throw'),assertEq(_0x1c1f65['faultCode'],_0x51be43(0xca),_0x51be43(0x92));const _0x9b11b4=Z['_classifySoapError'](_0x1c1f65);assertEq(_0x9b11b4['transient'],![],_0x51be43(0x15a));}),test(_0x3df14f(0x132),()=>{const _0xffadac=_0x3df14f,_0x3a9842=_0xffadac(0xd3)+_0xffadac(0xeb)+_0xffadac(0xf4)+_0xffadac(0x11f),_0x511230=Z[_0xffadac(0x13a)](_0x3a9842);assert(_0x511230,_0xffadac(0xd5)),assertEq(_0x511230[_0xffadac(0xe4)],'service.PARSE_ERROR',_0xffadac(0xe4)),assertEq(_0x511230[_0xffadac(0xac)],_0xffadac(0xb5),_0xffadac(0xac));}),console['log'](_0x3df14f(0xef)),test(_0x3df14f(0xd1),()=>{const _0x401518=_0x3df14f,_0x3e4216=Object['assign'](new Error(_0x401518(0x11e)),{'code':_0x401518(0xa2)});assertEq(Z[_0x401518(0x118)](_0x3e4216)[_0x401518(0x124)],!![],_0x401518(0x124));}),test('HTTP\x20503\x20is\x20transient',()=>{const _0x1502fe=_0x3df14f,_0x579ee2=Object[_0x1502fe(0x13c)](new Error('upstream'),{'httpStatus':0x1f7});assertEq(Z[_0x1502fe(0x118)](_0x579ee2)['transient'],!![],'transient');}),test('HTTP\x20401\x20is\x20permanent',()=>{const _0x2e515b=_0x3df14f,_0x5ed701=Object[_0x2e515b(0x13c)](new Error(_0x2e515b(0x121)),{'httpStatus':0x191});assertEq(Z[_0x2e515b(0x118)](_0x5ed701)['transient'],![],_0x2e515b(0xf8));}),test('Zimbra\x20QUOTA_EXCEEDED\x20is\x20permanent',()=>{const _0x311890=_0x3df14f,_0x75ab0b=Object[_0x311890(0x13c)](new Error(_0x311890(0x127)),{'faultCode':_0x311890(0xa6)});assertEq(Z[_0x311890(0x118)](_0x75ab0b)[_0x311890(0x124)],![],'permanent');}),test(_0x3df14f(0xf6),()=>{const _0x366cab=_0x3df14f,_0x5643b8=new Error('socket\x20hang\x20up');assertEq(Z['_classifySoapError'](_0x5643b8)[_0x366cab(0x124)],!![],_0x366cab(0x124));}),console[_0x3df14f(0x156)]('\x0a[5]\x20AuthToken\x20cache'),test(_0x3df14f(0xaf),()=>{const _0x51e695=_0x3df14f;Z[_0x51e695(0xb1)][_0x51e695(0x116)](),Z[_0x51e695(0xe2)]('mail.zimbra.com',_0x51e695(0x123),_0x51e695(0xa8),0xea60),assertEq(Z[_0x51e695(0xc5)](_0x51e695(0xf9),_0x51e695(0x123)),'TKN-1',_0x51e695(0xf0)),Z['_invalidateCachedAuthToken'](_0x51e695(0xf9),_0x51e695(0x123)),assertEq(Z[_0x51e695(0xc5)](_0x51e695(0xf9),'alice'),null,_0x51e695(0xc8));}),test('cache\x20TTL\x20respects\x20safety\x20margin',()=>{const _0x43f439=_0x3df14f;Z[_0x43f439(0xb1)][_0x43f439(0x116)](),Z[_0x43f439(0xe2)](_0x43f439(0xf9),'bob',_0x43f439(0x8e),0x64);const _0x329018=Z[_0x43f439(0xb1)][_0x43f439(0x15f)](Z[_0x43f439(0xcc)](_0x43f439(0xf9),_0x43f439(0xe7)));assert(_0x329018,'entry\x20stored'),assert(_0x329018['expiresAt']>Date[_0x43f439(0x110)](),_0x43f439(0x146)),assert(_0x329018[_0x43f439(0x143)]-Date[_0x43f439(0x110)]()<=0x5dc,_0x43f439(0x161));}),console[_0x3df14f(0x156)]('\x0a[6]\x20sendSoapRequest\x20retry\x20+\x20_acquireAuthToken\x20cache\x20reuse');function _0x2ec31e(_0x711a8){let _0x1591b7=0x0;const _0x1ff2f3=[],_0xd985a6=async(_0x4d8a85,_0x31e563,_0x367987)=>{const _0x332054=a36_0x5c30,_0x4def09=_0x1591b7++,_0x7e3d00=_0x711a8[_0x4def09]||_0x711a8[_0x711a8[_0x332054(0x15b)]-0x1];_0x1ff2f3[_0x332054(0x120)]({'host':_0x4d8a85,'body':_0x31e563,'options':_0x367987,'idx':_0x4def09});if(_0x7e3d00[_0x332054(0xfa)])throw _0x7e3d00['error'];return{'status':_0x7e3d00[_0x332054(0x9a)]||0xc8,'body':_0x7e3d00[_0x332054(0xba)]||''};};return _0xd985a6['calls']=_0x1ff2f3,_0xd985a6;}await test(_0x3df14f(0xd7),async()=>{const _0x75af0b=_0x3df14f;Z['_authCache'][_0x75af0b(0x116)](),process[_0x75af0b(0xd0)][_0x75af0b(0x105)]='1',process['env'][_0x75af0b(0xa4)]='3';const _0x21e98f=Object[_0x75af0b(0x13c)](new Error(_0x75af0b(0xa2)),{'code':_0x75af0b(0xa2)}),_0x690b7=_0x2ec31e([{'error':_0x21e98f},{'body':_0x75af0b(0xc7)}]);Z[_0x75af0b(0x106)](_0x690b7);try{const {token:_0x589418,fromCache:_0xe7cebf}=await Z[_0x75af0b(0x9c)]({'host':_0x75af0b(0xf9),'user':'alice','pass':'pw','proxy':''});assertEq(_0x589418,_0x75af0b(0x11d),_0x75af0b(0x108)),assertEq(_0xe7cebf,![],'fresh\x20on\x20first\x20auth'),assertEq(_0x690b7[_0x75af0b(0x117)]['length'],0x2,_0x75af0b(0xd2));}finally{Z['_setSoapRequestImpl'](null),delete process[_0x75af0b(0xd0)][_0x75af0b(0x105)],delete process[_0x75af0b(0xd0)][_0x75af0b(0xa4)];}}),await test(_0x3df14f(0x141),async()=>{const _0x32da74=_0x3df14f;Z[_0x32da74(0xb1)]['clear'](),process[_0x32da74(0xd0)][_0x32da74(0x105)]='1',process[_0x32da74(0xd0)]['ZIMBRA_RETRY_MAX_ATTEMPTS']='3';const _0x334272=_0x2ec31e([{'body':_0x32da74(0x158)+_0x32da74(0x162)}]);Z[_0x32da74(0x106)](_0x334272);let _0x133995;try{await Z[_0x32da74(0x9c)]({'host':'mail.zimbra.com','user':'alice','pass':_0x32da74(0xbb),'proxy':''});}catch(_0x4cffa8){_0x133995=_0x4cffa8;}finally{Z[_0x32da74(0x106)](null),delete process['env'][_0x32da74(0x105)],delete process[_0x32da74(0xd0)][_0x32da74(0xa4)];}assert(_0x133995,_0x32da74(0xb9)),assertEq(_0x133995[_0x32da74(0x90)],_0x32da74(0xb8),_0x32da74(0xfe)),assertEq(_0x133995[_0x32da74(0x124)],![],_0x32da74(0x14a)),assertEq(_0x334272['calls'][_0x32da74(0x15b)],0x1,_0x32da74(0xaa));}),await test(_0x3df14f(0x112),async()=>{const _0x5a3d9b=_0x3df14f;Z[_0x5a3d9b(0xb1)][_0x5a3d9b(0x116)]();const _0x3b4734=_0x2ec31e([{'body':'<AuthResponse><authToken>0_CACHEME</authToken><lifetime>3600000</lifetime></AuthResponse>'}]);Z[_0x5a3d9b(0x106)](_0x3b4734);try{const _0x5700d0=await Z[_0x5a3d9b(0x9c)]({'host':_0x5a3d9b(0xf9),'user':_0x5a3d9b(0xe0),'pass':'pw','proxy':''});assertEq(_0x5700d0['token'],_0x5a3d9b(0x10a),_0x5a3d9b(0x94)),assertEq(_0x5700d0[_0x5a3d9b(0x14c)],![],_0x5a3d9b(0x9e));const _0x464c65=await Z['_acquireAuthToken']({'host':_0x5a3d9b(0xf9),'user':'carol','pass':'pw','proxy':''});assertEq(_0x464c65[_0x5a3d9b(0x108)],_0x5a3d9b(0x10a),'second\x20token\x20(cached)'),assertEq(_0x464c65[_0x5a3d9b(0x14c)],!![],_0x5a3d9b(0x9b)),assertEq(_0x3b4734[_0x5a3d9b(0x117)][_0x5a3d9b(0x15b)],0x1,'exactly\x201\x20SOAP\x20call\x20total');}finally{Z[_0x5a3d9b(0x106)](null);}}),await test(_0x3df14f(0xa3),async()=>{const _0x43d6d5=_0x3df14f;Z[_0x43d6d5(0xb1)]['clear'](),process[_0x43d6d5(0xd0)][_0x43d6d5(0x105)]='1',process['env']['ZIMBRA_RETRY_MAX_ATTEMPTS']='3';const _0x3d6fbc=Object[_0x43d6d5(0x13c)](new Error(_0x43d6d5(0x107)),{'httpStatus':0x1f7}),_0x44f89d=_0x2ec31e([{'error':_0x3d6fbc},{'error':_0x3d6fbc},{'error':_0x3d6fbc}]);Z['_setSoapRequestImpl'](_0x44f89d);let _0x2fce1f;try{await Z['_acquireAuthToken']({'host':_0x43d6d5(0xf9),'user':_0x43d6d5(0x159),'pass':'pw','proxy':''});}catch(_0x54fb88){_0x2fce1f=_0x54fb88;}finally{Z[_0x43d6d5(0x106)](null),delete process[_0x43d6d5(0xd0)][_0x43d6d5(0x105)],delete process['env'][_0x43d6d5(0xa4)];}assert(_0x2fce1f,_0x43d6d5(0xb9)),assertEq(_0x2fce1f[_0x43d6d5(0x124)],!![],_0x43d6d5(0x11a)),assertEq(_0x44f89d[_0x43d6d5(0x117)][_0x43d6d5(0x15b)],0x3,_0x43d6d5(0xee));}),console[_0x3df14f(0x156)](_0x3df14f(0x12e)),test(_0x3df14f(0x13b),()=>{const _0xcada88=_0x3df14f,_0x8703a1=Z[_0xcada88(0xd9)](0x1,0x64),_0x5d6cc1=Z['_computeBackoffMs'](0x2,0x64),_0xe49a0b=Z[_0xcada88(0xd9)](0x3,0x64);assert(_0x8703a1>=0x50&&_0x8703a1<=0x78,_0xcada88(0x128)+_0x8703a1),assert(_0x5d6cc1>=0xf0&&_0x5d6cc1<=0x168,_0xcada88(0xdd)+_0x5d6cc1),assert(_0xe49a0b>=0x2d0&&_0xe49a0b<=0x438,_0xcada88(0xfc)+_0xe49a0b);}),console[_0x3df14f(0x156)](_0x3df14f(0x91)),test(_0x3df14f(0xb3),()=>{const _0x5665b2=_0x3df14f;process[_0x5665b2(0xd0)][_0x5665b2(0x8c)]=_0x5665b2(0x103),process[_0x5665b2(0xd0)][_0x5665b2(0xec)]='5678',process[_0x5665b2(0xd0)]['ZIMBRA_MAX_MIME_BYTES']=_0x5665b2(0x11c),process[_0x5665b2(0xd0)][_0x5665b2(0xbd)]='1';try{const _0xeb7128=Z['getConfig']();assertEq(_0xeb7128[_0x5665b2(0x125)],0x4d2,_0x5665b2(0x145)),assertEq(_0xeb7128[_0x5665b2(0xb4)],0x162e,_0x5665b2(0xe9)),assertEq(_0xeb7128[_0x5665b2(0x11b)],0xf4240,_0x5665b2(0x12d)),assertEq(_0xeb7128[_0x5665b2(0xd6)],!![],_0x5665b2(0x98));}finally{delete process[_0x5665b2(0xd0)]['ZIMBRA_AUTH_TIMEOUT_MS'],delete process[_0x5665b2(0xd0)][_0x5665b2(0xec)],delete process[_0x5665b2(0xd0)][_0x5665b2(0xe1)],delete process[_0x5665b2(0xd0)][_0x5665b2(0xbd)];}}),test('getConfig\x20defaults\x20are\x20sane',()=>{const _0x303d34=_0x3df14f,_0xe1b604=Z[_0x303d34(0x163)]();assertEq(_0xe1b604[_0x303d34(0x125)],0x2ee0,'default\x20auth'),assertEq(_0xe1b604[_0x303d34(0xb4)],0xea60,_0x303d34(0x149)),assertEq(_0xe1b604[_0x303d34(0x11b)],0x1900000,_0x303d34(0xc4)),assertEq(_0xe1b604['strictTls'],![],_0x303d34(0x115)),assert(_0xe1b604[_0x303d34(0xc1)]>=0x1,_0x303d34(0x134));}),console['log']('\x0a========================================='),console['log'](_0x3df14f(0x10b)+testsRun+_0x3df14f(0x153)+testsFailed+_0x3df14f(0xe3)+(testsRun-testsFailed)+_0x3df14f(0x151)),testsFailed>0x0&&process[_0x3df14f(0x8f)](0x1);}main()[a36_0xd8490a(0xda)](_0x59bfba=>{const _0x1d3489=a36_0xd8490a;console[_0x1d3489(0xfa)](_0x1d3489(0xae),_0x59bfba[_0x1d3489(0xcf)]||_0x59bfba),process[_0x1d3489(0x8f)](0x1);});
|
|
2
|
+
const a40_0x4e72b6=a40_0x536c;(function(_0x53e748,_0x2e9594){const _0xe32e05=a40_0x536c,_0x3904bd=_0x53e748();while(!![]){try{const _0x21758e=parseInt(_0xe32e05(0x20d))/0x1+parseInt(_0xe32e05(0x1f9))/0x2+-parseInt(_0xe32e05(0x2a7))/0x3*(parseInt(_0xe32e05(0x218))/0x4)+-parseInt(_0xe32e05(0x255))/0x5*(-parseInt(_0xe32e05(0x2b1))/0x6)+parseInt(_0xe32e05(0x1f5))/0x7*(-parseInt(_0xe32e05(0x27f))/0x8)+-parseInt(_0xe32e05(0x219))/0x9*(-parseInt(_0xe32e05(0x1f3))/0xa)+-parseInt(_0xe32e05(0x21a))/0xb;if(_0x21758e===_0x2e9594)break;else _0x3904bd['push'](_0x3904bd['shift']());}catch(_0xcabc65){_0x3904bd['push'](_0x3904bd['shift']());}}}(a40_0x2976,0x2def1));function a40_0x2976(){const _0x150dd2=['path','\x0a=========================================','\x0a[3]\x20extractAuthToken\x20/\x20extractSendMsgId\x20/\x20extractSoapFault','calls','\x0a\x20\x20\x20\x20\x20\x20\x20\x20expected\x20to\x20contain:\x20','account\x20elem','strictTls','unauthorized','bob@example.com','\x0a\x20\x20\x20\x20\x20\x20\x20\x20expected:\x20','extractSoapFault','faultCode','exactly\x201\x20SOAP\x20call\x20total','permanent','extractAuthToken','cache\x20TTL\x20respects\x20safety\x20margin','invalidated','still\x20tagged\x20transient','HTTP\x20503\x20is\x20transient','1082997MlBiOl','fromCache','looksLikeZimbraHost','length','\x0a[8]\x20getConfig\x20env\x20wiring','gmail','SendMsgRequest\x20base64-encodes\x20MIME\x20and\x20embeds\x20authToken','<AuthResponse><authToken>0_OK</authToken><lifetime>3600000</lifetime></AuthResponse>','to\x20recipient','catch','6DWXmal','slice','0_abc123','<Reason><Text>bad\x20creds</Text></Reason></Fault>','\x20checks,\x20','0_OK','cache\x20hit','ZIMBRA_SEND_TIMEOUT_MS','getConfig\x20defaults\x20are\x20sane','then','get','getConfig','<account\x20by=\x22name\x22>alice@example.com</account>','status','extractAuthToken\x20pulls\x20token\x20from\x20happy\x20response','must\x20throw','wrong','_authCache','utf8','default\x20auth','\x0a[5]\x20AuthToken\x20cache','first\x20token','stringify','</SendMsgResponse></Body></Envelope>','strips\x20:port\x20before\x20suffix\x20check','lifetime','write','380nurcJi','stdout','1893451mEgfVS','\x20\x20<m\x0a\x20\x20\x20\x20\x20id=\x22600\x22\x0a\x20\x20\x20\x20\x20f=\x22su\x22\x0a\x20\x20/>\x0a','<Detail><Error><Code>mail.MESSAGE_TOO_BIG</Code></Error></Detail>','undef','558206DegZgN','Generic\x20timeout\x20message\x20is\x20transient','log','exhausts\x20retries\x20on\x20persistent\x20503\x20and\x20throws\x20transient\x20err','xmlns=\x22urn:zimbraAccount\x22','error','token','read\x20ECONNRESET','b@x.com','soap\x20envelope','max\x20attempts\x20>=\x201','<Fault><Detail><Error><Code>account.AUTH_FAILED</Code></Error></Detail>','<password>p@ss<word></password>','composeAuthRequest','\x0a[4]\x20_classifySoapError','p@ss<word>','<e\x20a=\x22a@x.com\x22\x20t=\x22t\x22/>','extractSendMsgId\x20tolerates\x20multiline\x20<m\x20...>\x20tag','authTimeoutMs','<AuthResponse><authToken>0_CACHEME</authToken><lifetime>3600000</lifetime></AuthResponse>','332925dxxrcl','a@x.com','string','ECONNRESET','extractAuthToken\x20throws\x20decorated\x20fault\x20on\x20AUTH_FAILED','socket\x20hang\x20up','c@x.com','TKN-1','function','assertion\x20failed:\x20','multiline\x20id','4XHGgEx','25497uAhVOn','814924DBjbYN','smtp.gmail.com','<Reason><Text>message\x20too\x20big</Text></Reason>','<e\x20a=\x22alice@example.com\x22\x20t=\x22f\x22/>','alice','transient\x20ECONNRESET\x20on\x20auth\x20retries\x20then\x20succeeds','<Envelope><Body><soap:Fault><Code><Value>soap:Sender</Value></Code>','\x20failed,\x20','<empty/>','toString','bad\x20XML','mail.zimbra.com','<Envelope><Body><SendMsgResponse>\x0a','assign','first\x20to','collab.zextras.com','text','composeSendMsgEnvelope','account.AUTH_FAILED','\x20\x20ok\x20\x20','_getAuthCacheKey','_setSoapRequestImpl','entry\x20stored','ECONNRESET\x20is\x20transient','<Envelope><Body><Fault>','fresh\x20on\x20first\x20auth','extractSoapFault\x20pulls\x20code\x20and\x20text','auth\x20timeout','5678','3\x20attempts','still\x20in\x20the\x20future','bob','<Detail><Error\x20xmlns=\x22urn:zimbra\x22><Code>account.AUTH_FAILED</Code></Error></Detail>','_classifySoapError','subject','AuthRequest\x20carries\x20account\x20name\x20+\x20password\x20+\x20namespace','\x0a\x20\x20\x20\x20\x20\x20\x20\x20actual:\x20\x20\x20','\x0a[7]\x20_computeBackoffMs','<Detail><Error><Code>service.PARSE_ERROR</Code></Error></Detail>','internal-zimbra-01.corp.example','<Reason><Text>bad\x20XML</Text></Reason>','hit','push','service.PARSE_ERROR','from','includes','Zimbra\x20QUOTA_EXCEEDED\x20is\x20permanent','sendTimeoutMs','=========================================','ping','fault\x20code','AuthRequest\x20namespace','search','attempt\x201\x20in\x20range,\x20got\x20','alice@example.com','_computeBackoffMs','fresh\x20on\x20first','attempt\x203\x20in\x20range,\x20got\x20','extractSendMsgId\x20throws\x20decorated\x20fault\x20on\x20MESSAGE_TOO_BIG','870195qzPYTF','backoff\x20grows\x20~3x\x20per\x20attempt\x20within\x20jitter\x20bounds','verify-zimbra\x20crashed:','\x0a\x20\x20\x20\x20\x20\x20\x20\x20','1000000','strict\x20tls','zextras','mail.MESSAGE_TOO_BIG','AUTH_FAILED\x20is\x20permanent','default\x20permissive\x20tls','</Fault></Body></Envelope>','cache\x20stores\x20then\x20returns\x20token\x20until\x20TTL\x20expires','join','escaped\x20password','code','rejects\x20unrelated\x20hosts','_writeCachedAuthToken','ZIMBRA_RETRY_BACKOFF_MS','\x20passed','<Reason><Text>authentication\x20failed</Text></Reason>','marked\x20permanent','0_CACHEME','\x0a\x20\x20\x20\x20\x20\x20\x20\x20actual:\x20','1234','now','MAILER_STRICT_TLS','\x0a[6]\x20sendSoapRequest\x20retry\x20+\x20_acquireAuthToken\x20cache\x20reuse','default\x20send','with\x20port','exit','clear','carol','attempt\x202\x20in\x20range,\x20got\x20','send\x20timeout','ZIMBRA_MAX_MIME_BYTES','Zimbra\x20SOAP\x20HTTP\x20503','<Envelope><Body><AuthResponse><authToken>0_TOKEN_XYZ</authToken><lifetime>43200000</lifetime></AuthResponse></Body></Envelope>','extractSendMsgId','matches\x20keyword\x20in\x20middle\x20of\x20host','Ran\x20','stack','_readCachedAuthToken','8zYrpom','mail.QUOTA_EXCEEDED','<su>ping</su>','_acquireAuthToken','fault\x20present','upstream','<authToken>0_abc123</authToken>','transient','ZIMBRA_RETRY_MAX_ATTEMPTS','<e\x20a=\x22bob@example.com\x22\x20t=\x22t\x22/>','env\x20vars\x20flow\x20into\x20getConfig','expiresAt','_extractAuthTokenLifetimeMs','maxMimeBytes','env','constructor','\x20\x20FAIL\x20','0_TOKEN_XYZ','default\x20mime\x20cap','mailer-zimbra','no\x20retries\x20on\x20AUTH_FAILED'];a40_0x2976=function(){return _0x150dd2;};return a40_0x2976();}const path=require(a40_0x4e72b6(0x294)),Z=require(path[a40_0x4e72b6(0x261)](__dirname,a40_0x4e72b6(0x292)));let testsRun=0x0,testsFailed=0x0;const failures=[];function a40_0x536c(_0x52c993,_0x2bd78e){const _0x48848d=a40_0x2976();return a40_0x536c=function(_0x361454,_0x481c8d){_0x361454=_0x361454-0x1f2;let _0x2976a4=_0x48848d[_0x361454];return _0x2976a4;},a40_0x536c(_0x52c993,_0x2bd78e);}function test(_0x469d7f,_0x430520){const _0x389ccd=a40_0x4e72b6;testsRun++;try{const _0x58155a=_0x430520();if(_0x58155a&&typeof _0x58155a[_0x389ccd(0x2ba)]===_0x389ccd(0x215))return _0x58155a['then'](()=>process['stdout'][_0x389ccd(0x1f2)](_0x389ccd(0x22d)+_0x469d7f+'\x0a'),_0x2e353c=>{const _0x7c66f3=_0x389ccd;testsFailed++,failures[_0x7c66f3(0x244)]({'name':_0x469d7f,'err':_0x2e353c}),process[_0x7c66f3(0x1f4)]['write'](_0x7c66f3(0x28f)+_0x469d7f+_0x7c66f3(0x258)+(_0x2e353c[_0x7c66f3(0x27d)]||_0x2e353c)+'\x0a');});process[_0x389ccd(0x1f4)][_0x389ccd(0x1f2)](_0x389ccd(0x22d)+_0x469d7f+'\x0a');}catch(_0x16c34b){testsFailed++,failures[_0x389ccd(0x244)]({'name':_0x469d7f,'err':_0x16c34b}),process[_0x389ccd(0x1f4)][_0x389ccd(0x1f2)]('\x20\x20FAIL\x20'+_0x469d7f+_0x389ccd(0x258)+(_0x16c34b[_0x389ccd(0x27d)]||_0x16c34b)+'\x0a');}}function assert(_0x2f85e1,_0x2b1e8a){const _0x112a77=a40_0x4e72b6;if(!_0x2f85e1)throw new Error(_0x112a77(0x216)+_0x2b1e8a);}function assertEq(_0x154c20,_0x47c524,_0x2390f4){const _0x4657a3=a40_0x4e72b6;if(_0x154c20!==_0x47c524)throw new Error(_0x4657a3(0x216)+_0x2390f4+_0x4657a3(0x29d)+JSON['stringify'](_0x47c524)+_0x4657a3(0x23e)+JSON[_0x4657a3(0x2c7)](_0x154c20));}function assertContains(_0x4f5606,_0x1bb250,_0x126eb8){const _0x2b98a7=a40_0x4e72b6;if(typeof _0x4f5606!==_0x2b98a7(0x20f)||!_0x4f5606[_0x2b98a7(0x247)](_0x1bb250))throw new Error(_0x2b98a7(0x216)+_0x126eb8+_0x2b98a7(0x298)+JSON['stringify'](_0x1bb250)+_0x2b98a7(0x26b)+JSON[_0x2b98a7(0x2c7)]((_0x4f5606||'')[_0x2b98a7(0x2b2)](0x0,0xf0)));}async function main(){const _0x21b2a1=a40_0x4e72b6,_0x47cee4=(function(){let _0x206528=!![];return function(_0x14b42b,_0x203a10){const _0x3a0654=_0x206528?function(){if(_0x203a10){const _0x1bb1b3=_0x203a10['apply'](_0x14b42b,arguments);return _0x203a10=null,_0x1bb1b3;}}:function(){};return _0x206528=![],_0x3a0654;};}()),_0x439796=_0x47cee4(this,function(){const _0x428bf6=a40_0x536c;return _0x439796[_0x428bf6(0x223)]()[_0x428bf6(0x24e)]('(((.+)+)+)+$')[_0x428bf6(0x223)]()[_0x428bf6(0x28e)](_0x439796)[_0x428bf6(0x24e)]('(((.+)+)+)+$');});_0x439796(),console[_0x21b2a1(0x1fb)]('Zimbra\x20SOAP\x20mailer\x20—\x20verification\x20harness'),console['log'](_0x21b2a1(0x24a)),console[_0x21b2a1(0x1fb)]('\x0a[1]\x20looksLikeZimbraHost'),test('matches\x20plain\x20*.zimbra.com',()=>{const _0x3892df=_0x21b2a1;assert(Z[_0x3892df(0x2a9)](_0x3892df(0x225)),_0x3892df(0x225));}),test(_0x21b2a1(0x27b),()=>{const _0x13d6ae=_0x21b2a1;assert(Z[_0x13d6ae(0x2a9)](_0x13d6ae(0x241)),'keyword');}),test('matches\x20Zextras\x20suffix\x20(new)',()=>{const _0x150b40=_0x21b2a1;assert(Z['looksLikeZimbraHost'](_0x150b40(0x229)),_0x150b40(0x25b));}),test(_0x21b2a1(0x2c9),()=>{const _0x12c081=_0x21b2a1;assert(Z['looksLikeZimbraHost']('mail.zimbra.com:443'),_0x12c081(0x271));}),test(_0x21b2a1(0x264),()=>{const _0x8f675c=_0x21b2a1;assert(!Z[_0x8f675c(0x2a9)](_0x8f675c(0x21b)),_0x8f675c(0x2ac)),assert(!Z[_0x8f675c(0x2a9)](''),'empty'),assert(!Z[_0x8f675c(0x2a9)](undefined),_0x8f675c(0x1f8));}),console[_0x21b2a1(0x1fb)]('\x0a[2]\x20composeAuthRequest\x20/\x20composeSendMsgEnvelope'),test(_0x21b2a1(0x23d),()=>{const _0xa473af=_0x21b2a1,_0x43c336=Z[_0xa473af(0x206)](_0xa473af(0x250),_0xa473af(0x208));assertContains(_0x43c336,_0xa473af(0x2bd),_0xa473af(0x299)),assertContains(_0x43c336,_0xa473af(0x205),_0xa473af(0x262)),assertContains(_0x43c336,_0xa473af(0x1fd),_0xa473af(0x24d)),assertContains(_0x43c336,'<soap:Envelope',_0xa473af(0x202));}),test(_0x21b2a1(0x2ad),()=>{const _0x1824a0=_0x21b2a1,_0x529c72=Buffer[_0x1824a0(0x246)]('Subject:\x20hi\x0d\x0a\x0d\x0ahello\x20world',_0x1824a0(0x2c3)),_0x4545b7=Z[_0x1824a0(0x22b)]({'to':_0x1824a0(0x29c),'from':'alice@example.com','subject':_0x1824a0(0x24b),'mime':_0x529c72,'authToken':_0x1824a0(0x2b3)});assertContains(_0x4545b7,_0x1824a0(0x285),_0x1824a0(0x1ff)),assertContains(_0x4545b7,_0x1824a0(0x288),_0x1824a0(0x2af)),assertContains(_0x4545b7,_0x1824a0(0x21d),'from'),assertContains(_0x4545b7,_0x1824a0(0x281),_0x1824a0(0x23c)),assertContains(_0x4545b7,_0x529c72['toString']('base64'),'base64\x20mime');}),test('SendMsgRequest\x20accepts\x20an\x20array\x20of\x20recipients',()=>{const _0x3c5a39=_0x21b2a1,_0x16d065=Z[_0x3c5a39(0x22b)]({'to':[_0x3c5a39(0x20e),_0x3c5a39(0x201)],'from':_0x3c5a39(0x213),'subject':'s','mime':'raw','authToken':'t'});assertContains(_0x16d065,_0x3c5a39(0x209),_0x3c5a39(0x228)),assertContains(_0x16d065,'<e\x20a=\x22b@x.com\x22\x20t=\x22t\x22/>','second\x20to');}),console[_0x21b2a1(0x1fb)](_0x21b2a1(0x296)),test(_0x21b2a1(0x2bf),()=>{const _0x5d8f1b=_0x21b2a1,_0x293ec6=_0x5d8f1b(0x279);assertEq(Z[_0x5d8f1b(0x2a2)](_0x293ec6),_0x5d8f1b(0x290),_0x5d8f1b(0x1ff)),assertEq(Z[_0x5d8f1b(0x28b)](_0x293ec6),0x2932e00,_0x5d8f1b(0x2ca));}),test(_0x21b2a1(0x211),()=>{const _0x362562=_0x21b2a1,_0x16b0b1=_0x362562(0x220)+_0x362562(0x268)+_0x362562(0x23a)+'</soap:Fault></Body></Envelope>';let _0x2a81fb;try{Z[_0x362562(0x2a2)](_0x16b0b1);}catch(_0x4c3b87){_0x2a81fb=_0x4c3b87;}assert(_0x2a81fb,_0x362562(0x2c0)),assertEq(_0x2a81fb['faultCode'],_0x362562(0x22c),_0x362562(0x24c));const _0x529873=Z[_0x362562(0x23b)](_0x2a81fb);assertEq(_0x529873[_0x362562(0x286)],![],_0x362562(0x25d));}),test('extractAuthToken\x20returns\x20null\x20on\x20no-token\x20/\x20no-fault\x20body',()=>{const _0x6c747a=_0x21b2a1;assertEq(Z[_0x6c747a(0x2a2)](_0x6c747a(0x222)),null,'null\x20body');}),test(_0x21b2a1(0x20a),()=>{const _0x930379=_0x21b2a1,_0x6e586e=_0x930379(0x226)+_0x930379(0x1f6)+_0x930379(0x2c8);assertEq(Z['extractSendMsgId'](_0x6e586e),'600',_0x930379(0x217));}),test(_0x21b2a1(0x254),()=>{const _0x49ebfb=_0x21b2a1,_0x5c4b92=_0x49ebfb(0x232)+_0x49ebfb(0x1f7)+_0x49ebfb(0x21c)+_0x49ebfb(0x25f);let _0xfda9b9;try{Z[_0x49ebfb(0x27a)](_0x5c4b92);}catch(_0x56984d){_0xfda9b9=_0x56984d;}assert(_0xfda9b9,'must\x20throw'),assertEq(_0xfda9b9[_0x49ebfb(0x29f)],_0x49ebfb(0x25c),_0x49ebfb(0x24c));const _0x367fda=Z[_0x49ebfb(0x23b)](_0xfda9b9);assertEq(_0x367fda[_0x49ebfb(0x286)],![],'MESSAGE_TOO_BIG\x20is\x20permanent');}),test(_0x21b2a1(0x234),()=>{const _0xc8e46f=_0x21b2a1,_0x5c4bb1=_0xc8e46f(0x232)+_0xc8e46f(0x240)+_0xc8e46f(0x242)+_0xc8e46f(0x25f),_0x2f291d=Z[_0xc8e46f(0x29e)](_0x5c4bb1);assert(_0x2f291d,_0xc8e46f(0x283)),assertEq(_0x2f291d[_0xc8e46f(0x263)],_0xc8e46f(0x245),_0xc8e46f(0x263)),assertEq(_0x2f291d[_0xc8e46f(0x22a)],_0xc8e46f(0x224),_0xc8e46f(0x22a));}),console['log'](_0x21b2a1(0x207)),test(_0x21b2a1(0x231),()=>{const _0x54c3bf=_0x21b2a1,_0x479bb5=Object[_0x54c3bf(0x227)](new Error(_0x54c3bf(0x200)),{'code':_0x54c3bf(0x210)});assertEq(Z[_0x54c3bf(0x23b)](_0x479bb5)['transient'],!![],_0x54c3bf(0x286));}),test(_0x21b2a1(0x2a6),()=>{const _0x82cc6c=_0x21b2a1,_0x20096d=Object['assign'](new Error(_0x82cc6c(0x284)),{'httpStatus':0x1f7});assertEq(Z[_0x82cc6c(0x23b)](_0x20096d)['transient'],!![],_0x82cc6c(0x286));}),test('HTTP\x20401\x20is\x20permanent',()=>{const _0x4f6117=_0x21b2a1,_0x1896cc=Object[_0x4f6117(0x227)](new Error(_0x4f6117(0x29b)),{'httpStatus':0x191});assertEq(Z[_0x4f6117(0x23b)](_0x1896cc)['transient'],![],_0x4f6117(0x2a1));}),test(_0x21b2a1(0x248),()=>{const _0x34fba4=_0x21b2a1,_0x2d422d=Object[_0x34fba4(0x227)](new Error('over\x20quota'),{'faultCode':_0x34fba4(0x280)});assertEq(Z[_0x34fba4(0x23b)](_0x2d422d)[_0x34fba4(0x286)],![],_0x34fba4(0x2a1));}),test(_0x21b2a1(0x1fa),()=>{const _0x48dd32=_0x21b2a1,_0x49c36e=new Error(_0x48dd32(0x212));assertEq(Z[_0x48dd32(0x23b)](_0x49c36e)[_0x48dd32(0x286)],!![],_0x48dd32(0x286));}),console[_0x21b2a1(0x1fb)](_0x21b2a1(0x2c5)),test(_0x21b2a1(0x260),()=>{const _0x300351=_0x21b2a1;Z[_0x300351(0x2c2)][_0x300351(0x273)](),Z[_0x300351(0x265)](_0x300351(0x225),_0x300351(0x21e),'TKN-1',0xea60),assertEq(Z['_readCachedAuthToken'](_0x300351(0x225),'alice'),_0x300351(0x214),_0x300351(0x243)),Z['_invalidateCachedAuthToken']('mail.zimbra.com',_0x300351(0x21e)),assertEq(Z[_0x300351(0x27e)](_0x300351(0x225),_0x300351(0x21e)),null,_0x300351(0x2a4));}),test(_0x21b2a1(0x2a3),()=>{const _0x39300b=_0x21b2a1;Z[_0x39300b(0x2c2)][_0x39300b(0x273)](),Z['_writeCachedAuthToken'](_0x39300b(0x225),_0x39300b(0x239),'TKN-2',0x64);const _0x1f2746=Z[_0x39300b(0x2c2)][_0x39300b(0x2bb)](Z[_0x39300b(0x22e)](_0x39300b(0x225),_0x39300b(0x239)));assert(_0x1f2746,_0x39300b(0x230)),assert(_0x1f2746[_0x39300b(0x28a)]>Date[_0x39300b(0x26d)](),_0x39300b(0x238)),assert(_0x1f2746['expiresAt']-Date[_0x39300b(0x26d)]()<=0x5dc,'but\x20only\x20by\x20~1s');}),console[_0x21b2a1(0x1fb)](_0x21b2a1(0x26f));function _0x5dc61e(_0x48ddff){const _0x24a858=_0x21b2a1;let _0x22b918=0x0;const _0x3673aa=[],_0x1fc351=async(_0x11fce8,_0x57e548,_0x599d16)=>{const _0x3d4970=a40_0x536c,_0x4307ec=_0x22b918++,_0x127a14=_0x48ddff[_0x4307ec]||_0x48ddff[_0x48ddff[_0x3d4970(0x2aa)]-0x1];_0x3673aa[_0x3d4970(0x244)]({'host':_0x11fce8,'body':_0x57e548,'options':_0x599d16,'idx':_0x4307ec});if(_0x127a14[_0x3d4970(0x1fe)])throw _0x127a14['error'];return{'status':_0x127a14[_0x3d4970(0x2be)]||0xc8,'body':_0x127a14['body']||''};};return _0x1fc351[_0x24a858(0x297)]=_0x3673aa,_0x1fc351;}await test(_0x21b2a1(0x21f),async()=>{const _0x159617=_0x21b2a1;Z['_authCache']['clear'](),process[_0x159617(0x28d)][_0x159617(0x266)]='1',process[_0x159617(0x28d)][_0x159617(0x287)]='3';const _0x137b30=Object['assign'](new Error(_0x159617(0x210)),{'code':_0x159617(0x210)}),_0x2b7755=_0x5dc61e([{'error':_0x137b30},{'body':_0x159617(0x2ae)}]);Z[_0x159617(0x22f)](_0x2b7755);try{const {token:_0x3d1a87,fromCache:_0x1e41ce}=await Z[_0x159617(0x282)]({'host':'mail.zimbra.com','user':'alice','pass':'pw','proxy':''});assertEq(_0x3d1a87,_0x159617(0x2b6),_0x159617(0x1ff)),assertEq(_0x1e41ce,![],_0x159617(0x233)),assertEq(_0x2b7755[_0x159617(0x297)][_0x159617(0x2aa)],0x2,'1\x20retry\x20+\x201\x20success');}finally{Z[_0x159617(0x22f)](null),delete process[_0x159617(0x28d)][_0x159617(0x266)],delete process[_0x159617(0x28d)][_0x159617(0x287)];}}),await test('permanent\x20AUTH_FAILED\x20is\x20not\x20retried',async()=>{const _0x1afbf9=_0x21b2a1;Z[_0x1afbf9(0x2c2)]['clear'](),process['env']['ZIMBRA_RETRY_BACKOFF_MS']='1',process[_0x1afbf9(0x28d)][_0x1afbf9(0x287)]='3';const _0x92097d=_0x5dc61e([{'body':_0x1afbf9(0x204)+_0x1afbf9(0x2b4)}]);Z['_setSoapRequestImpl'](_0x92097d);let _0x45b96c;try{await Z['_acquireAuthToken']({'host':'mail.zimbra.com','user':_0x1afbf9(0x21e),'pass':_0x1afbf9(0x2c1),'proxy':''});}catch(_0x1aff10){_0x45b96c=_0x1aff10;}finally{Z[_0x1afbf9(0x22f)](null),delete process[_0x1afbf9(0x28d)][_0x1afbf9(0x266)],delete process[_0x1afbf9(0x28d)][_0x1afbf9(0x287)];}assert(_0x45b96c,'must\x20throw'),assertEq(_0x45b96c[_0x1afbf9(0x29f)],_0x1afbf9(0x22c),'fault\x20propagated'),assertEq(_0x45b96c['transient'],![],_0x1afbf9(0x269)),assertEq(_0x92097d[_0x1afbf9(0x297)]['length'],0x1,_0x1afbf9(0x293));}),await test('second\x20auth\x20reuses\x20cached\x20token\x20(no\x20extra\x20SOAP\x20call)',async()=>{const _0xff211b=_0x21b2a1;Z[_0xff211b(0x2c2)][_0xff211b(0x273)]();const _0x55469a=_0x5dc61e([{'body':_0xff211b(0x20c)}]);Z[_0xff211b(0x22f)](_0x55469a);try{const _0x13ffdf=await Z['_acquireAuthToken']({'host':_0xff211b(0x225),'user':_0xff211b(0x274),'pass':'pw','proxy':''});assertEq(_0x13ffdf[_0xff211b(0x1ff)],'0_CACHEME',_0xff211b(0x2c6)),assertEq(_0x13ffdf[_0xff211b(0x2a8)],![],_0xff211b(0x252));const _0x1e548d=await Z[_0xff211b(0x282)]({'host':_0xff211b(0x225),'user':_0xff211b(0x274),'pass':'pw','proxy':''});assertEq(_0x1e548d[_0xff211b(0x1ff)],_0xff211b(0x26a),'second\x20token\x20(cached)'),assertEq(_0x1e548d['fromCache'],!![],_0xff211b(0x2b7)),assertEq(_0x55469a[_0xff211b(0x297)][_0xff211b(0x2aa)],0x1,_0xff211b(0x2a0));}finally{Z['_setSoapRequestImpl'](null);}}),await test(_0x21b2a1(0x1fc),async()=>{const _0x2b8853=_0x21b2a1;Z[_0x2b8853(0x2c2)][_0x2b8853(0x273)](),process[_0x2b8853(0x28d)][_0x2b8853(0x266)]='1',process['env'][_0x2b8853(0x287)]='3';const _0x5a3970=Object[_0x2b8853(0x227)](new Error(_0x2b8853(0x278)),{'httpStatus':0x1f7}),_0x4758a3=_0x5dc61e([{'error':_0x5a3970},{'error':_0x5a3970},{'error':_0x5a3970}]);Z[_0x2b8853(0x22f)](_0x4758a3);let _0x3ead64;try{await Z['_acquireAuthToken']({'host':'mail.zimbra.com','user':'dan','pass':'pw','proxy':''});}catch(_0x1d9466){_0x3ead64=_0x1d9466;}finally{Z[_0x2b8853(0x22f)](null),delete process[_0x2b8853(0x28d)][_0x2b8853(0x266)],delete process[_0x2b8853(0x28d)][_0x2b8853(0x287)];}assert(_0x3ead64,_0x2b8853(0x2c0)),assertEq(_0x3ead64[_0x2b8853(0x286)],!![],_0x2b8853(0x2a5)),assertEq(_0x4758a3[_0x2b8853(0x297)][_0x2b8853(0x2aa)],0x3,_0x2b8853(0x237));}),console[_0x21b2a1(0x1fb)](_0x21b2a1(0x23f)),test(_0x21b2a1(0x256),()=>{const _0x15961a=_0x21b2a1,_0x37922c=Z['_computeBackoffMs'](0x1,0x64),_0x454553=Z['_computeBackoffMs'](0x2,0x64),_0xbc6ae3=Z[_0x15961a(0x251)](0x3,0x64);assert(_0x37922c>=0x50&&_0x37922c<=0x78,_0x15961a(0x24f)+_0x37922c),assert(_0x454553>=0xf0&&_0x454553<=0x168,_0x15961a(0x275)+_0x454553),assert(_0xbc6ae3>=0x2d0&&_0xbc6ae3<=0x438,_0x15961a(0x253)+_0xbc6ae3);}),console[_0x21b2a1(0x1fb)](_0x21b2a1(0x2ab)),test(_0x21b2a1(0x289),()=>{const _0x2d70b3=_0x21b2a1;process[_0x2d70b3(0x28d)]['ZIMBRA_AUTH_TIMEOUT_MS']=_0x2d70b3(0x26c),process[_0x2d70b3(0x28d)][_0x2d70b3(0x2b8)]=_0x2d70b3(0x236),process[_0x2d70b3(0x28d)][_0x2d70b3(0x277)]=_0x2d70b3(0x259),process[_0x2d70b3(0x28d)][_0x2d70b3(0x26e)]='1';try{const _0x5e8d0c=Z[_0x2d70b3(0x2bc)]();assertEq(_0x5e8d0c['authTimeoutMs'],0x4d2,_0x2d70b3(0x235)),assertEq(_0x5e8d0c['sendTimeoutMs'],0x162e,_0x2d70b3(0x276)),assertEq(_0x5e8d0c[_0x2d70b3(0x28c)],0xf4240,'mime\x20cap'),assertEq(_0x5e8d0c[_0x2d70b3(0x29a)],!![],_0x2d70b3(0x25a));}finally{delete process['env']['ZIMBRA_AUTH_TIMEOUT_MS'],delete process[_0x2d70b3(0x28d)][_0x2d70b3(0x2b8)],delete process[_0x2d70b3(0x28d)][_0x2d70b3(0x277)],delete process[_0x2d70b3(0x28d)][_0x2d70b3(0x26e)];}}),test(_0x21b2a1(0x2b9),()=>{const _0x2ffd06=_0x21b2a1,_0x50e426=Z[_0x2ffd06(0x2bc)]();assertEq(_0x50e426[_0x2ffd06(0x20b)],0x2ee0,_0x2ffd06(0x2c4)),assertEq(_0x50e426[_0x2ffd06(0x249)],0xea60,_0x2ffd06(0x270)),assertEq(_0x50e426[_0x2ffd06(0x28c)],0x1900000,_0x2ffd06(0x291)),assertEq(_0x50e426[_0x2ffd06(0x29a)],![],_0x2ffd06(0x25e)),assert(_0x50e426['maxAttempts']>=0x1,_0x2ffd06(0x203));}),console[_0x21b2a1(0x1fb)](_0x21b2a1(0x295)),console['log'](_0x21b2a1(0x27c)+testsRun+_0x21b2a1(0x2b5)+testsFailed+_0x21b2a1(0x221)+(testsRun-testsFailed)+_0x21b2a1(0x267)),testsFailed>0x0&&process['exit'](0x1);}main()[a40_0x4e72b6(0x2b0)](_0x3e2dd5=>{const _0x1df497=a40_0x4e72b6;console[_0x1df497(0x1fe)](_0x1df497(0x257),_0x3e2dd5[_0x1df497(0x27d)]||_0x3e2dd5),process[_0x1df497(0x272)](0x1);});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a37_0x200130=a37_0xbada;(function(_0x15b953,_0x3f446e){const _0x380947=a37_0xbada,_0x14c53f=_0x15b953();while(!![]){try{const _0x1a0a53=parseInt(_0x380947(0x254))/0x1+parseInt(_0x380947(0x1ef))/0x2+-parseInt(_0x380947(0x1b9))/0x3*(-parseInt(_0x380947(0x1ea))/0x4)+parseInt(_0x380947(0x25d))/0x5+-parseInt(_0x380947(0x221))/0x6+-parseInt(_0x380947(0x1c3))/0x7*(parseInt(_0x380947(0x267))/0x8)+parseInt(_0x380947(0x22d))/0x9*(-parseInt(_0x380947(0x22f))/0xa);if(_0x1a0a53===_0x3f446e)break;else _0x14c53f['push'](_0x14c53f['shift']());}catch(_0x316e46){_0x14c53f['push'](_0x14c53f['shift']());}}}(a37_0x3de8,0x42955));const fs=require('fs'),path=require(a37_0x200130(0x23e)),dns=require('dns')[a37_0x200130(0x242)],{once}=require(a37_0x200130(0x246)),chalk=require('chalk'),{alertUser,axiosConfig,executionCompleted}=require(a37_0x200130(0x223)),{onlyPremiumLicenses}=require(a37_0x200130(0x1cf)),MX_CONCURRENCY=clampInt(process['env'][a37_0x200130(0x1f4)],0x50,0x1,0xc8),MS_CONCURRENCY=clampInt(process[a37_0x200130(0x1ee)]['SORTER_MS_CONCURRENCY'],0xc,0x1,0x32),DNS_TIMEOUT_MS=clampInt(process[a37_0x200130(0x1ee)][a37_0x200130(0x22e)],0x2710,0x3e8,0xea60),HTTP_TIMEOUT_MS=clampInt(process['env'][a37_0x200130(0x1c4)],0x3a98,0x3e8,0xea60),RETRY_PER_ITEM=clampInt(process[a37_0x200130(0x1ee)][a37_0x200130(0x20f)],0x2,0x0,0x5),RETRY_BACKOFF_MS=clampInt(process[a37_0x200130(0x1ee)][a37_0x200130(0x1dc)],0xfa,0x32,0x1388),PROGRESS_INTERVAL_MS=0x3e8,STREAM_HIGH_WATER_MARK=0x400*0x400,MX_CACHE_LIMIT=clampInt(process[a37_0x200130(0x1ee)]['SORTER_MX_CACHE_LIMIT'],0x186a0,0x3e8,0xf4240),MAX_OPEN_BUCKETS=clampInt(process[a37_0x200130(0x1ee)][a37_0x200130(0x248)],0x40,0x4,0x200),OTHER_NO_MX_BUCKET=a37_0x200130(0x20d),OTHER_UNMATCHED_MX_BUCKET=a37_0x200130(0x1b8),EMAIL_RE=/^[^\s@<>(),;:"\\[\]]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)+$/i;function clampInt(_0x16a96d,_0x111c88,_0x4ea505,_0x2def51){const _0x2d5873=a37_0x200130,_0x36090b=(function(){let _0x3ba9dc=!![];return function(_0x4b923e,_0x437a67){const _0x18fded=_0x3ba9dc?function(){const _0x477b0f=a37_0xbada;if(_0x437a67){const _0x3238ef=_0x437a67[_0x477b0f(0x258)](_0x4b923e,arguments);return _0x437a67=null,_0x3238ef;}}:function(){};return _0x3ba9dc=![],_0x18fded;};}()),_0x1153eb=_0x36090b(this,function(){const _0x456183=a37_0xbada;return _0x1153eb[_0x456183(0x1bd)]()[_0x456183(0x23a)](_0x456183(0x1bb))[_0x456183(0x1bd)]()[_0x456183(0x25c)](_0x1153eb)[_0x456183(0x23a)](_0x456183(0x1bb));});_0x1153eb();const _0xcc4e13=parseInt(_0x16a96d,0xa);if(!Number[_0x2d5873(0x259)](_0xcc4e13))return _0x111c88;return Math[_0x2d5873(0x235)](_0x4ea505,Math[_0x2d5873(0x24d)](_0x2def51,_0xcc4e13));}function timestampDir(){const _0x1ea260=a37_0x200130,_0xa54533=new Date(),_0x528aa5=_0xa54533[_0x1ea260(0x22a)]()+'_'+String(_0xa54533[_0x1ea260(0x202)]()+0x1)[_0x1ea260(0x233)](0x2,'0')+'_'+String(_0xa54533[_0x1ea260(0x1c1)]())[_0x1ea260(0x233)](0x2,'0')+'_'+Date[_0x1ea260(0x1c2)](),_0xbea381=path[_0x1ea260(0x21c)](process[_0x1ea260(0x1f0)](),(process[_0x1ea260(0x1ee)][_0x1ea260(0x255)]||'results/')+_0x1ea260(0x238)+_0x528aa5+'/');return fs[_0x1ea260(0x1fc)](_0xbea381,{'recursive':!![]}),process[_0x1ea260(0x1ee)]['sortdirname']=_0xbea381,_0xbea381;}function announceTitle(_0x3139ce){const _0x1bbc3=a37_0x200130;console[_0x1bbc3(0x1c9)](_0x1bbc3(0x1fd)+chalk[_0x1bbc3(0x1e4)](_0x3139ce)+_0x1bbc3(0x252));}function sleep(_0x286cbd){return new Promise(_0x5af585=>setTimeout(_0x5af585,_0x286cbd));}function isAsyncIterable(_0x763ed1){const _0x108a46=a37_0x200130;return _0x763ed1&&typeof _0x763ed1[Symbol['asyncIterator']]===_0x108a46(0x1f5);}function normalizeEmail(_0x205b88){const _0x5864af=a37_0x200130,_0x1418be=String(_0x205b88||'')[_0x5864af(0x1f1)]()[_0x5864af(0x21f)]();if(!_0x1418be||_0x1418be[_0x5864af(0x239)]>0xfe||!EMAIL_RE['test'](_0x1418be))return'';return _0x1418be;}function getEmailDomain(_0x11b204){const _0x346c2c=a37_0x200130,_0x3158bd=String(_0x11b204||'')[_0x346c2c(0x1ec)]('@')[_0x346c2c(0x213)]()[_0x346c2c(0x1f1)]()[_0x346c2c(0x21f)]();if(!_0x3158bd||_0x3158bd[_0x346c2c(0x1c5)]('\x20')||_0x3158bd[_0x346c2c(0x1c5)]('@'))return'';return _0x3158bd[_0x346c2c(0x1d1)](/\.$/,'');}function isNoMxDnsError(_0x2fed71){const _0xb73521=a37_0x200130;return[_0xb73521(0x1fe),'ENOTFOUND',_0xb73521(0x244),'ENONAME'][_0xb73521(0x1c5)](_0x2fed71?.[_0xb73521(0x1c0)]);}async function*cleanIterable(_0x463ff9){const _0x110449=a37_0x200130;if(!_0x463ff9)return;if(isAsyncIterable(_0x463ff9)){for await(const _0x369ccf of _0x463ff9){const _0x3109a6=normalizeEmail(_0x369ccf);if(_0x3109a6)yield _0x3109a6;}return;}for(const _0x3bbe3f of Array[_0x110449(0x227)](_0x463ff9)?_0x463ff9:[]){const _0x538a0d=normalizeEmail(_0x3bbe3f);if(_0x538a0d)yield _0x538a0d;}}async function processIterableInPool(_0x483dce,_0x126488,{concurrency:_0x425c1d,onProgress:_0x50237a}){const _0x12dced=a37_0x200130,_0x116961=new Set();let _0x3a1be6=0x0,_0x5d3f88=0x0,_0x3b23f8=0x0,_0x5f2de0=null;const _0x48059a=(_0x53a662=![])=>{const _0x39d36d=a37_0xbada,_0x9dc830=Date[_0x39d36d(0x1c2)]();if(_0x53a662||_0x9dc830-_0x3b23f8>=PROGRESS_INTERVAL_MS){_0x3b23f8=_0x9dc830;try{_0x50237a&&_0x50237a({'finished':_0x3a1be6,'inFlight':_0x5d3f88});}catch(_0x3b7953){}}};for await(const _0x425ca7 of cleanIterable(_0x483dce)){if(_0x5f2de0)break;const _0x39f204=Promise[_0x12dced(0x21c)]()[_0x12dced(0x260)](()=>_0x126488(_0x425ca7))['catch'](_0x5355df=>{if(!_0x5f2de0)_0x5f2de0=_0x5355df;})[_0x12dced(0x218)](()=>{const _0x5c5d20=_0x12dced;_0x116961[_0x5c5d20(0x23d)](_0x39f204),_0x5d3f88=_0x116961[_0x5c5d20(0x214)],_0x3a1be6++,_0x48059a();});_0x116961[_0x12dced(0x228)](_0x39f204),_0x5d3f88=_0x116961[_0x12dced(0x214)];if(_0x116961['size']>=_0x425c1d)await Promise[_0x12dced(0x1e0)](_0x116961);}await Promise[_0x12dced(0x1bc)](_0x116961),_0x48059a(!![]);if(_0x5f2de0)throw _0x5f2de0;}function sanitizeBucketName(_0x348977){const _0x5376a9=a37_0x200130,_0x93b2d8=path[_0x5376a9(0x222)](String(_0x348977||'')['trim']()),_0x142aec=_0x93b2d8[_0x5376a9(0x1d1)](/[<>:"/\\|?*\x00-\x1F]/g,'_');return _0x142aec||OTHER_UNMATCHED_MX_BUCKET;}class StreamBucketWriter{constructor(_0x65aaca){const _0x3076d0=a37_0x200130;this['rootDir']=_0x65aaca,this['streams']=new Map(),this[_0x3076d0(0x22c)]=new Map(),this[_0x3076d0(0x237)]=new Map(),this[_0x3076d0(0x249)]=![],this[_0x3076d0(0x211)]=Promise[_0x3076d0(0x21c)]();}async[a37_0x200130(0x261)](_0x166406){const _0x2b9228=a37_0x200130,_0x51fe24=this['streams']['get'](_0x166406);if(!_0x51fe24)return;if(_0x51fe24[_0x2b9228(0x1f9)])throw _0x51fe24['sorterError'];await new Promise((_0x58769e,_0x582382)=>{const _0x5504bc=_0x2b9228;_0x51fe24[_0x5504bc(0x257)]('error',_0x582382),_0x51fe24[_0x5504bc(0x25e)](_0x58769e);});if(_0x51fe24[_0x2b9228(0x1f9)])throw _0x51fe24[_0x2b9228(0x1f9)];this[_0x2b9228(0x212)][_0x2b9228(0x23d)](_0x166406),this['lastUsed']['delete'](_0x166406);}async[a37_0x200130(0x1d0)](){const _0x5c32e9=a37_0x200130;while(this['streams']['size']>=MAX_OPEN_BUCKETS){let _0x39c0c3='',_0x3b3a2d=Infinity;for(const [_0x182ab5,_0x1393e8]of this['lastUsed'][_0x5c32e9(0x251)]()){_0x1393e8<_0x3b3a2d&&(_0x39c0c3=_0x182ab5,_0x3b3a2d=_0x1393e8);}if(!_0x39c0c3)break;await this['closeStream'](_0x39c0c3);}}async[a37_0x200130(0x226)](_0x5889b6){const _0x2b6cb2=a37_0x200130;if(this[_0x2b6cb2(0x249)])throw new Error(_0x2b6cb2(0x1c6));const _0x3cfd09=sanitizeBucketName(_0x5889b6);if(this[_0x2b6cb2(0x212)][_0x2b6cb2(0x1fa)](_0x3cfd09))return this[_0x2b6cb2(0x22c)][_0x2b6cb2(0x1e6)](_0x3cfd09,Date[_0x2b6cb2(0x1c2)]()),this[_0x2b6cb2(0x212)][_0x2b6cb2(0x1de)](_0x3cfd09);await this[_0x2b6cb2(0x1d0)]();const _0xc1ebb7=path[_0x2b6cb2(0x21e)](this[_0x2b6cb2(0x1d5)],_0x3cfd09);fs[_0x2b6cb2(0x1fc)](path[_0x2b6cb2(0x1be)](_0xc1ebb7),{'recursive':!![]});const _0x3297b1=fs[_0x2b6cb2(0x225)](_0xc1ebb7,{'flags':'a','encoding':'utf8','highWaterMark':STREAM_HIGH_WATER_MARK});return _0x3297b1[_0x2b6cb2(0x25b)](0x0),_0x3297b1[_0x2b6cb2(0x1f9)]=null,_0x3297b1['on'](_0x2b6cb2(0x1f8),_0x2759c0=>{_0x3297b1['sorterError']=_0x2759c0;}),this[_0x2b6cb2(0x212)][_0x2b6cb2(0x1e6)](_0x3cfd09,_0x3297b1),this['lastUsed'][_0x2b6cb2(0x1e6)](_0x3cfd09,Date[_0x2b6cb2(0x1c2)]()),_0x3297b1;}async[a37_0x200130(0x263)](_0x286b91,_0x4ab10c){const _0xbca0fc=a37_0x200130,_0x345513=this[_0xbca0fc(0x211)][_0xbca0fc(0x260)](async()=>{const _0xec08de=_0xbca0fc,_0x54c4de=sanitizeBucketName(_0x286b91),_0x108f06=await this[_0xec08de(0x226)](_0x54c4de);if(_0x108f06[_0xec08de(0x1f9)])throw _0x108f06['sorterError'];!_0x108f06[_0xec08de(0x262)](_0x4ab10c+'\x0d\x0a','utf8')&&await Promise[_0xec08de(0x1e0)]([once(_0x108f06,_0xec08de(0x1ca)),once(_0x108f06,_0xec08de(0x1f8))[_0xec08de(0x260)](([_0x4c7077])=>{throw _0x4c7077;})]);if(_0x108f06[_0xec08de(0x1f9)])throw _0x108f06['sorterError'];this[_0xec08de(0x237)][_0xec08de(0x1e6)](_0x54c4de,(this[_0xec08de(0x237)][_0xec08de(0x1de)](_0x54c4de)||0x0)+0x1);});return this['writeChain']=_0x345513['catch'](()=>{}),_0x345513;}async[a37_0x200130(0x219)](){const _0x330964=a37_0x200130;if(this[_0x330964(0x249)])return;await this[_0x330964(0x211)],this[_0x330964(0x249)]=!![];const _0x16bfef=[];for(const _0x11517c of this['streams']['values']()){_0x16bfef['push'](new Promise((_0x2d8251,_0x2b9fb8)=>{const _0xe159be=_0x330964;if(_0x11517c['sorterError'])return _0x2b9fb8(_0x11517c[_0xe159be(0x1f9)]);_0x11517c['once']('error',_0x2b9fb8),_0x11517c['end'](_0x2d8251);}));}await Promise[_0x330964(0x1bc)](_0x16bfef);}[a37_0x200130(0x23f)](){const _0x16aa2d=a37_0x200130,_0x19b078={};for(const [_0x40bb7d,_0x6c516f]of this['totals'][_0x16aa2d(0x251)]())_0x19b078[_0x40bb7d]=_0x6c516f;return _0x19b078;}}async function withRetry(_0x2d842b,_0x4b164d=RETRY_PER_ITEM){let _0x590f4f;for(let _0x939f2=0x0;_0x939f2<=_0x4b164d;_0x939f2++){try{return await _0x2d842b(_0x939f2);}catch(_0x34c296){_0x590f4f=_0x34c296;if(_0x939f2>=_0x4b164d)break;await sleep(RETRY_BACKOFF_MS*(_0x939f2+0x1));}}throw _0x590f4f;}async function withTimeout(_0xcae538,_0x477c4e,_0xe05e1c){let _0x2f0037=null;try{return await Promise['race']([_0xcae538,new Promise((_0x131e30,_0x1f558f)=>{const _0x38ce82=a37_0xbada;_0x2f0037=setTimeout(()=>_0x1f558f(new Error(_0xe05e1c+_0x38ce82(0x1d8))),_0x477c4e);})]);}finally{if(_0x2f0037)clearTimeout(_0x2f0037);}}class MxResolver{constructor(){const _0x1ddc37=a37_0x200130;this[_0x1ddc37(0x245)]=new Map(),this[_0x1ddc37(0x1ff)]=0x0,this[_0x1ddc37(0x20b)]=0x0;}async[a37_0x200130(0x21c)](_0x420fc7){const _0x19eefb=a37_0x200130,_0x195d80=getEmailDomain(_0x420fc7);if(!_0x195d80)return[];if(this[_0x19eefb(0x245)]['has'](_0x195d80))return this[_0x19eefb(0x1ff)]++,this[_0x19eefb(0x245)][_0x19eefb(0x1de)](_0x195d80);this[_0x19eefb(0x20b)]++;const _0x1b34a9=withRetry(async()=>{const _0x34c843=_0x19eefb;let _0x1bbfab;try{_0x1bbfab=await withTimeout(dns[_0x34c843(0x24b)](_0x195d80),DNS_TIMEOUT_MS,_0x195d80);}catch(_0x335142){if(isNoMxDnsError(_0x335142))return[];throw _0x335142;}return Array[_0x34c843(0x227)](_0x1bbfab)?_0x1bbfab[_0x34c843(0x206)]((_0x1f6bcf,_0x5734d0)=>_0x1f6bcf[_0x34c843(0x203)]-_0x5734d0[_0x34c843(0x203)]):[];})[_0x19eefb(0x21b)](_0x26ea8d=>{const _0xc210af=_0x19eefb;this[_0xc210af(0x245)]['delete'](_0x195d80);throw _0x26ea8d;});this['cache']['set'](_0x195d80,_0x1b34a9);if(this[_0x19eefb(0x245)][_0x19eefb(0x214)]>MX_CACHE_LIMIT){const _0x2873c7=this[_0x19eefb(0x245)][_0x19eefb(0x25f)]()[_0x19eefb(0x1d3)]()[_0x19eefb(0x1b7)];this[_0x19eefb(0x245)][_0x19eefb(0x23d)](_0x2873c7);}return _0x1b34a9;}['stats'](){const _0x2c17f2=a37_0x200130;return{'cacheSize':this[_0x2c17f2(0x245)][_0x2c17f2(0x214)],'cacheHits':this[_0x2c17f2(0x1ff)],'cacheMisses':this['misses']};}}function compileSorterRules(_0x3a4deb={}){const _0xbc6f7c=a37_0x200130,_0x31e6ac=[];for(const [_0x33631b,_0x4af6b2]of Object[_0xbc6f7c(0x251)](_0x3a4deb||{})){const _0x3300ab=(Array['isArray'](_0x4af6b2)?_0x4af6b2:[])['map'](_0x177f65=>String(_0x177f65||'')[_0xbc6f7c(0x1f1)]()['toLowerCase']())[_0xbc6f7c(0x1e1)](Boolean);if(!_0x3300ab[_0xbc6f7c(0x239)])continue;_0x31e6ac[_0xbc6f7c(0x1e2)]({'filename':sanitizeBucketName(_0x33631b),'patterns':_0x3300ab});}return _0x31e6ac;}function makeProgressPrinter(_0x59f298){const _0x5056d4=a37_0x200130,_0x44222f=Date[_0x5056d4(0x1c2)]();let _0x5ba2fc=-0x1;return({finished:_0xd37029,inFlight:_0x344521})=>{const _0x31fbc8=_0x5056d4;if(_0xd37029===_0x5ba2fc)return;_0x5ba2fc=_0xd37029;const _0x12c4d9=Math[_0x31fbc8(0x235)](0.001,(Date[_0x31fbc8(0x1c2)]()-_0x44222f)/0x3e8),_0xad71ed=_0xd37029/_0x12c4d9;process[_0x31fbc8(0x250)][_0x31fbc8(0x262)]('\x0d'+_0x59f298+':\x20'+_0xd37029[_0x31fbc8(0x266)]()+'\x20processed\x20·\x20in-flight\x20'+_0x344521+_0x31fbc8(0x1f7)+_0xad71ed[_0x31fbc8(0x236)](0x1)+'/s\x20\x20\x20\x20\x20\x20\x20\x20');};}function matchMxBucket(_0x5891c,_0x6a24e5,_0x4215ac=OTHER_UNMATCHED_MX_BUCKET){const _0xa23410=a37_0x200130,_0xc1f57e=String(_0x5891c||'')[_0xa23410(0x21f)]();for(const _0x3609fd of _0x6a24e5){for(const _0x4bee1b of _0x3609fd[_0xa23410(0x20a)]){if(_0xc1f57e['includes'](_0x4bee1b))return _0x3609fd['filename'];}}return _0x4215ac;}async function sortByMxRulesAsync({recipients:_0x295dbc,sorterOptions:_0x142618,label:_0x16b1c2,progressLabel:_0x870cfd,folderName:_0x41b6e7,fallbackBucket:fallbackBucket=OTHER_UNMATCHED_MX_BUCKET}){const _0x208321=a37_0x200130,_0x22fc6e=timestampDir(),_0xd16210=path[_0x208321(0x21e)](_0x22fc6e,sanitizeBucketName(_0x41b6e7||_0x208321(0x1cc)));fs[_0x208321(0x1fc)](_0xd16210,{'recursive':!![]}),console['log'](chalk['dim'](_0x208321(0x256)+MX_CONCURRENCY+_0x208321(0x20c)+MX_CACHE_LIMIT[_0x208321(0x266)]()+'\x20domains'));const _0xf11d25=new StreamBucketWriter(_0xd16210);installShutdown(_0xf11d25);const _0x5865c4=new MxResolver();let _0x3b900b=0x0,_0x43c146=0x0,_0xb08faa=0x0,_0x29b4cf=0x0;const _0x4d2b43=compileSorterRules(_0x142618),_0xc635c6=async _0x1169dd=>{const _0x4698ee=_0x208321;_0x29b4cf++;let _0x3c1ae5;try{_0x3c1ae5=await _0x5865c4[_0x4698ee(0x21c)](_0x1169dd);}catch(_0x872154){await _0xf11d25[_0x4698ee(0x263)]('Unresolved.txt',_0x1169dd),_0xb08faa++;return;}if(!Array[_0x4698ee(0x227)](_0x3c1ae5)||_0x3c1ae5['length']===0x0){await _0xf11d25[_0x4698ee(0x263)](OTHER_NO_MX_BUCKET,_0x1169dd),_0x43c146++;return;}const _0x25cdfb=_0x3c1ae5[_0x4698ee(0x1d6)](_0x4cd1a6=>_0x4cd1a6?.[_0x4698ee(0x20e)])[_0x4698ee(0x1e1)](Boolean)['join']('\x20');if(!_0x25cdfb){await _0xf11d25[_0x4698ee(0x263)](OTHER_NO_MX_BUCKET,_0x1169dd),_0x43c146++;return;}_0x3b900b++,await _0xf11d25[_0x4698ee(0x263)](matchMxBucket(_0x25cdfb,_0x4d2b43,fallbackBucket),_0x1169dd);},_0x514677=makeProgressPrinter(_0x870cfd);let _0x20bf9c=null;try{await processIterableInPool(_0x295dbc,_0xc635c6,{'concurrency':MX_CONCURRENCY,'onProgress':_0x514677});}catch(_0x495420){_0x20bf9c=_0x495420;}finally{process[_0x208321(0x250)][_0x208321(0x262)]('\x0a'),await _0xf11d25[_0x208321(0x219)]();}if(_0x20bf9c)throw _0x20bf9c;sorterCompleted({'label':_0x16b1c2,'total':_0x29b4cf,'valid':_0x3b900b,'invalid':_0x43c146,'unresolved':_0xb08faa,'dirname':_0x22fc6e,'buckets':_0xf11d25[_0x208321(0x23f)](),'dns':_0x5865c4[_0x208321(0x1da)]()});}async function sortAllAsync(_0x461402,_0x5615db){const _0x29b540=a37_0x200130;return sortByMxRulesAsync({'recipients':_0x461402,'sorterOptions':_0x5615db,'label':'All\x20Domains\x20Sorter','progressLabel':_0x29b540(0x1cd),'folderName':_0x29b540(0x1cc)});}async function sortCustomAsync(_0x590209,_0x115f32){const _0x508321=a37_0x200130,_0x4be4d1=String(_0x115f32||'')['trim']()[_0x508321(0x21f)]();if(!_0x4be4d1)throw new Error(_0x508321(0x24a));const _0x5f2ca2=_0x4be4d1[_0x508321(0x1d1)](/[^a-z0-9.-]+/gi,'_')['replace'](/\.+$/,'');return sortByMxRulesAsync({'recipients':_0x590209,'sorterOptions':{[(_0x5f2ca2||_0x508321(0x21a))+_0x508321(0x1d4)]:[_0x4be4d1]},'label':_0x508321(0x1d9)+_0x4be4d1+')','progressLabel':_0x508321(0x1ed),'folderName':_0x508321(0x205),'fallbackBucket':OTHER_UNMATCHED_MX_BUCKET});}async function sortTurbifyAsync(_0x1c31e1){const _0x36ce04=a37_0x200130;return sortByMxRulesAsync({'recipients':_0x1c31e1,'sorterOptions':{'Turbify.txt':[_0x36ce04(0x21d),'turbify.com',_0x36ce04(0x224)]},'label':'Turbify/Yahoo\x20Business\x20Sorter','progressLabel':'Sorting\x20(Turbify)','folderName':_0x36ce04(0x24c),'fallbackBucket':OTHER_UNMATCHED_MX_BUCKET});}async function sortMicrosoftAsync(_0x3a0d72){const _0x4cf139=a37_0x200130,_0x358df4=axiosConfig(),_0x3a97cd=timestampDir(),_0x20f5d7=path['join'](_0x3a97cd,_0x4cf139(0x1e3));fs[_0x4cf139(0x1fc)](_0x20f5d7,{'recursive':!![]}),console['log'](chalk['dim'](_0x4cf139(0x1d2)+MS_CONCURRENCY));const _0x4a21f7=new StreamBucketWriter(_0x20f5d7);installShutdown(_0x4a21f7);const _0x4dca7c=_0x4cf139(0x1e7);let _0x123d4d=0x0,_0x948f72=0x0,_0x5cd509=0x0,_0x30c5a2=0x0;const _0x496fb5=async _0x3d856d=>{const _0x30c237=_0x4cf139;_0x30c5a2++;let _0x4467f2;try{const _0x15df1f={'Username':_0x3d856d},_0x401abf=await withRetry(()=>_0x358df4['post'](_0x4dca7c,_0x15df1f,{'timeout':HTTP_TIMEOUT_MS,'headers':{'Content-Type':_0x30c237(0x1ce)}}));_0x4467f2=_0x401abf?.['data']||{};}catch(_0x1ef50b){_0x5cd509++,await _0x4a21f7[_0x30c237(0x263)](_0x30c237(0x1e8),_0x3d856d);return;}const _0x146c56=_0x4467f2[_0x30c237(0x265)],_0x4dc55a=_0x4467f2['Username']||_0x3d856d,_0x42ef74=_0x4467f2?.[_0x30c237(0x25a)]?.[_0x30c237(0x209)]||'',_0xdf4fac=_0x146c56===0x0||_0x146c56===0x5||_0x146c56===0x6,_0x4226cb=_0x146c56===0x1;if(_0xdf4fac){_0x123d4d++;if(_0x42ef74){const _0x4d1a9e=_0x42ef74[_0x30c237(0x21f)]();if(_0x4d1a9e['includes'](_0x30c237(0x207))||_0x4d1a9e[_0x30c237(0x1c5)](_0x30c237(0x240)))await _0x4a21f7[_0x30c237(0x263)](_0x30c237(0x1c8),_0x4dc55a);else{if(_0x4d1a9e[_0x30c237(0x1c5)](_0x30c237(0x1dd)))await _0x4a21f7[_0x30c237(0x263)]('Office365_Okta.txt',_0x4dc55a);else{if(_0x4d1a9e[_0x30c237(0x1c5)](_0x30c237(0x24f)))await _0x4a21f7[_0x30c237(0x263)](_0x30c237(0x234),_0x4dc55a);else{if(_0x4d1a9e[_0x30c237(0x1c5)](_0x30c237(0x230))||_0x4d1a9e[_0x30c237(0x1c5)]('sso.secureserver'))await _0x4a21f7[_0x30c237(0x263)](_0x30c237(0x204),_0x4dc55a);else{if(_0x4d1a9e['includes']('google.com'))await _0x4a21f7[_0x30c237(0x263)](_0x30c237(0x1c7),_0x4dc55a);else _0x4d1a9e[_0x30c237(0x1c5)](_0x30c237(0x23b))?await _0x4a21f7[_0x30c237(0x263)](_0x30c237(0x1bf),_0x4dc55a):await _0x4a21f7[_0x30c237(0x263)]('Office365_Federal.txt',_0x4dc55a);}}}}}else await _0x4a21f7[_0x30c237(0x263)](_0x30c237(0x229),_0x4dc55a);}else _0x4226cb?(_0x948f72++,await _0x4a21f7[_0x30c237(0x263)](_0x30c237(0x220),_0x4dc55a)):(_0x5cd509++,await _0x4a21f7[_0x30c237(0x263)](_0x30c237(0x208),_0x4dc55a));},_0x5dda75=makeProgressPrinter(_0x4cf139(0x243));let _0x295b23=null;try{await processIterableInPool(_0x3a0d72,_0x496fb5,{'concurrency':MS_CONCURRENCY,'onProgress':_0x5dda75});}catch(_0x4a4eaa){_0x295b23=_0x4a4eaa;}finally{process['stdout'][_0x4cf139(0x262)]('\x0a'),await _0x4a21f7[_0x4cf139(0x219)]();}if(_0x295b23)throw _0x295b23;sorterCompleted({'label':_0x4cf139(0x1d7),'total':_0x30c5a2,'valid':_0x123d4d,'invalid':_0x948f72,'unresolved':_0x5cd509,'dirname':_0x3a97cd,'buckets':_0x4a21f7[_0x4cf139(0x23f)]()});}let SHUTDOWN_INSTALLED=![];function installShutdown(_0x38fe76){const _0x400195=a37_0x200130;if(SHUTDOWN_INSTALLED)return;SHUTDOWN_INSTALLED=!![];const _0x50945c=async _0x29d787=>{const _0x263f31=a37_0xbada;try{process[_0x263f31(0x250)]['write']('\x0a'+chalk[_0x263f31(0x253)]('⚠\x20caught\x20'+_0x29d787+_0x263f31(0x1db))+'\x0a'),await _0x38fe76[_0x263f31(0x219)]();}catch(_0x136b8c){}process[_0x263f31(0x1fb)](0x0);};process['once']('SIGINT',()=>_0x50945c(_0x400195(0x22b))),process['once'](_0x400195(0x215),()=>_0x50945c(_0x400195(0x215)));}function sorterCompleted({label:_0x26174d,total:_0x2edb7c,valid:_0x35d2b6,invalid:_0x37909b,unresolved:_0x2c3fbb,dirname:_0x1621e6,buckets:buckets={},dns:dns=null}){const _0x2be0eb=a37_0x200130,_0x141c95={'label':_0x26174d,'completed_at':new Date()[_0x2be0eb(0x24e)](),'total':_0x2edb7c,'valid':_0x35d2b6,'invalid':_0x37909b,'unresolved':_0x2c3fbb,'output_dir':_0x1621e6,'buckets':buckets,...dns?{'dns':dns}:{}};try{fs[_0x2be0eb(0x1cb)](path['join'](_0x1621e6,_0x2be0eb(0x1f3)),JSON[_0x2be0eb(0x201)](_0x141c95,null,0x2)+'\x0a',_0x2be0eb(0x1e5));}catch(_0x2c5b2d){}executionCompleted(),console['log']('\x0a'+chalk['bold'](_0x26174d)+_0x2be0eb(0x23c)),console[_0x2be0eb(0x1c9)](_0x2be0eb(0x247)+_0x2edb7c[_0x2be0eb(0x266)]()),console['log']('·\x20Valid\x20\x20\x20\x20\x20\x20:\x20'+_0x35d2b6[_0x2be0eb(0x266)]()),console[_0x2be0eb(0x1c9)](_0x2be0eb(0x231)+_0x37909b[_0x2be0eb(0x266)]()),console[_0x2be0eb(0x1c9)](_0x2be0eb(0x216)+_0x2c3fbb[_0x2be0eb(0x266)]()),console[_0x2be0eb(0x1c9)](_0x2be0eb(0x232)+_0x1621e6);const _0x2e571e=Object[_0x2be0eb(0x25f)](buckets)['sort']();if(_0x2e571e['length']){console[_0x2be0eb(0x1c9)]('\x0a'+chalk['dim']('Buckets:'));for(const _0x467863 of _0x2e571e){console[_0x2be0eb(0x1c9)]('\x20\x20'+_0x467863+':\x20'+buckets[_0x467863][_0x2be0eb(0x266)]());}}dns&&console[_0x2be0eb(0x1c9)](_0x2be0eb(0x1e9)+dns['cacheHits'][_0x2be0eb(0x266)]()+'\x20hits\x20/\x20'+dns['cacheMisses'][_0x2be0eb(0x266)]()+_0x2be0eb(0x264)),console[_0x2be0eb(0x1c9)](_0x2be0eb(0x1df)),alertUser(),process[_0x2be0eb(0x1fb)](0x0);}function sortAll(_0x2c37f4,_0x360230){const _0x252112=a37_0x200130;announceTitle(_0x252112(0x1ba));try{return onlyPremiumLicenses(),sortAllAsync(_0x2c37f4,_0x360230)['catch'](_0x4496ec=>{const _0x279bf0=_0x252112;console[_0x279bf0(0x1f8)](chalk['red'](_0x4496ec?.[_0x279bf0(0x200)]||_0x4496ec)),process[_0x279bf0(0x1fb)](0x1);});}catch(_0x8df5da){console[_0x252112(0x1c9)](_0x252112(0x1df)),console[_0x252112(0x1f8)](_0x8df5da?.[_0x252112(0x200)]||_0x8df5da),process[_0x252112(0x1fb)](0x1);}}function sortMicrosoft(_0x31336f){const _0x3ad207=a37_0x200130;announceTitle(_0x3ad207(0x1d7));try{return onlyPremiumLicenses(),sortMicrosoftAsync(_0x31336f)['catch'](_0x22cd9d=>{const _0x110b91=_0x3ad207;console[_0x110b91(0x1f8)](chalk['red'](_0x22cd9d?.[_0x110b91(0x200)]||_0x22cd9d)),process[_0x110b91(0x1fb)](0x1);});}catch(_0xefc63d){console[_0x3ad207(0x1c9)]('\x0aNB:\x20Sort\x20only\x20opted-in\x20or\x20authorized\x20address\x20lists\x20and\x20respect\x20provider\x20limits.'),console['error'](_0xefc63d?.[_0x3ad207(0x200)]||_0xefc63d),process[_0x3ad207(0x1fb)](0x1);}}function sortCustom(_0x335a29,_0x2e2579){const _0x101ace=a37_0x200130;announceTitle(_0x101ace(0x1d9)+_0x2e2579+')');try{return onlyPremiumLicenses(),sortCustomAsync(_0x335a29,_0x2e2579)[_0x101ace(0x21b)](_0x2914da=>{const _0x55a8a6=_0x101ace;console[_0x55a8a6(0x1f8)](chalk['red'](_0x2914da?.[_0x55a8a6(0x200)]||_0x2914da)),process[_0x55a8a6(0x1fb)](0x1);});}catch(_0x3af73b){console[_0x101ace(0x1c9)]('\x0aNB:\x20Sort\x20only\x20opted-in\x20or\x20authorized\x20address\x20lists\x20and\x20respect\x20provider\x20limits.'),console['error'](_0x3af73b?.[_0x101ace(0x200)]||_0x3af73b),process['exit'](0x1);}}function sortTurbify(_0x249ea0){const _0x2096e6=a37_0x200130;announceTitle(_0x2096e6(0x1f2));try{return onlyPremiumLicenses(),sortTurbifyAsync(_0x249ea0)['catch'](_0x41ef62=>{const _0x1e36ce=_0x2096e6;console[_0x1e36ce(0x1f8)](chalk[_0x1e36ce(0x210)](_0x41ef62?.['message']||_0x41ef62)),process['exit'](0x1);});}catch(_0x45ddb1){console[_0x2096e6(0x1c9)](_0x2096e6(0x1df)),console['error'](_0x45ddb1?.[_0x2096e6(0x200)]||_0x45ddb1),process['exit'](0x1);}}function a37_0xbada(_0x5b8f8b,_0x4ae130){const _0x576cde=a37_0x3de8();return a37_0xbada=function(_0x11ba70,_0xd4c582){_0x11ba70=_0x11ba70-0x1b7;let _0x3de876=_0x576cde[_0x11ba70];return _0x3de876;},a37_0xbada(_0x5b8f8b,_0x4ae130);}function a37_0x3de8(){const _0x5d1ff2=['yellow','252404HemNwa','RESULTS_DIR','·\x20input:\x20streaming\x20\x20·\x20mx\x20concurrency:\x20','once','apply','isFinite','Credentials','setMaxListeners','constructor','82015DOpUFH','end','keys','then','closeStream','write','append','\x20misses','IfExistsResult','toLocaleString','56HJFktp','value','OthersMX.txt','689043yjcUWp','All\x20Domains\x20Sorter','(((.+)+)+)+$','all','toString','dirname','Office365_Wsfed.txt','code','getDate','now','142457NFpkBe','SORTER_HTTP_TIMEOUT_MS','includes','Sorter\x20writer\x20is\x20already\x20closed','Office365_Google.txt','Office365_Adfs.txt','log','drain','writeFileSync','All','Sorting\x20(All)','application/json','../../utils/validation','trimOpenStreams','replace','·\x20input:\x20streaming\x20\x20·\x20microsoft\x20concurrency:\x20','next','.txt','rootDir','map','Microsoft\x20(Office\x20365)\x20Sorter','\x20timed\x20out','Custom\x20Sorter\x20(','stats',',\x20flushing\x20buckets…','SORTER_RETRY_BACKOFF_MS','okta.','get','\x0aNB:\x20Sort\x20only\x20opted-in\x20or\x20authorized\x20address\x20lists\x20and\x20respect\x20provider\x20limits.','race','filter','push','Office','yellowBright','utf8','set','https://login.microsoftonline.com/common/GetCredentialType','Office365_Unresolved.txt','·\x20DNS\x20cache\x20\x20:\x20','4SSkDCE','\x0aTotal\x20providers:\x20','split','Sorting\x20(Custom)','env','579614xBhSVM','cwd','trim','Turbify/Yahoo\x20Business\x20Sorter','summary.json','SORTER_MX_CONCURRENCY','function','bold','\x20·\x20','error','sorterError','has','exit','mkdirSync','Sorting\x20emails\x20for...\x20[\x20','ENODATA','hits','message','stringify','getMonth','priority','Office365_Godaddy.txt','Custom','sort','adfs.','Office365_Unknown.txt','FederationRedirectUrl','patterns','misses','\x20\x20·\x20mx\x20cache:\x20','otherNoMX.txt','exchange','SORTER_RETRIES','red','writeChain','streams','pop','size','SIGTERM','·\x20Unresolved\x20:\x20','filename','finally','close','custom','catch','resolve','yahoodns.net','join','toLowerCase','Office365_Invalids.txt','84846znAriW','basename','../../functions/globals','mx-biz.mail.am0.yahoodns.net','createWriteStream','streamFor','isArray','add','Office365.txt','getFullYear','SIGINT','lastUsed','18EhwQVw','SORTER_DNS_TIMEOUT_MS','1794860cghyeu','sso.godaddy','·\x20Invalid\x20\x20\x20\x20:\x20','·\x20Output\x20dir\x20:\x20','padStart','Office365_Idp.txt','max','toFixed','totals','sorted/','length','search','wsfed','\x20done','delete','path','summary','/adfs','\x0aConfigured\x20sorter\x20providers\x0a','promises','Sorting\x20(Microsoft)','ENODOMAIN','cache','events','·\x20Total\x20\x20\x20\x20\x20\x20:\x20','SORTER_MAX_OPEN_BUCKETS','closed','Custom\x20sorter\x20requires\x20a\x20domain\x20or\x20MX\x20pattern','resolveMx','Turbify','min','toISOString','/idp/','stdout','entries','\x20]\x0a'];a37_0x3de8=function(){return _0x5d1ff2;};return a37_0x3de8();}function listProviders(_0xeb2de5={}){const _0x212061=a37_0x200130,_0x4a6b42=compileSorterRules(_0xeb2de5);console[_0x212061(0x1c9)](chalk[_0x212061(0x1f6)](_0x212061(0x241)));for(const _0x449f8e of _0x4a6b42){console[_0x212061(0x1c9)](_0x449f8e[_0x212061(0x217)]+':\x20'+_0x449f8e['patterns'][_0x212061(0x21e)](',\x20'));}console[_0x212061(0x1c9)](_0x212061(0x1eb)+_0x4a6b42[_0x212061(0x239)][_0x212061(0x266)]()+'\x0a'),alertUser(),process[_0x212061(0x1fb)](0x0);}module['exports']={'listProviders':listProviders,'sortAll':sortAll,'sortCustom':sortCustom,'sortMicrosoft':sortMicrosoft,'sortTurbify':sortTurbify};
|
|
1
|
+
const a41_0x551524=a41_0x2862;(function(_0x1cd656,_0x5eb068){const _0xc26840=a41_0x2862,_0xa95f1f=_0x1cd656();while(!![]){try{const _0x2a4e75=-parseInt(_0xc26840(0xf0))/0x1*(-parseInt(_0xc26840(0x109))/0x2)+-parseInt(_0xc26840(0x121))/0x3*(parseInt(_0xc26840(0x112))/0x4)+parseInt(_0xc26840(0xc0))/0x5+-parseInt(_0xc26840(0x84))/0x6+parseInt(_0xc26840(0xe3))/0x7*(-parseInt(_0xc26840(0xd4))/0x8)+-parseInt(_0xc26840(0x8a))/0x9+parseInt(_0xc26840(0xe4))/0xa*(parseInt(_0xc26840(0x108))/0xb);if(_0x2a4e75===_0x5eb068)break;else _0xa95f1f['push'](_0xa95f1f['shift']());}catch(_0x47d396){_0xa95f1f['push'](_0xa95f1f['shift']());}}}(a41_0x5c44,0xc67e2));const fs=require('fs'),path=require(a41_0x551524(0xd8)),dns=require(a41_0x551524(0x111))[a41_0x551524(0x85)],{once}=require('events'),chalk=require(a41_0x551524(0xf4)),{alertUser,axiosConfig,executionCompleted}=require(a41_0x551524(0xb4)),{onlyPremiumLicenses}=require(a41_0x551524(0xcd)),MX_CONCURRENCY=clampInt(process[a41_0x551524(0x99)][a41_0x551524(0xba)],0x50,0x1,0xc8),MS_CONCURRENCY=clampInt(process[a41_0x551524(0x99)][a41_0x551524(0x117)],0xc,0x1,0x32),DNS_TIMEOUT_MS=clampInt(process[a41_0x551524(0x99)]['SORTER_DNS_TIMEOUT_MS'],0x2710,0x3e8,0xea60),HTTP_TIMEOUT_MS=clampInt(process[a41_0x551524(0x99)][a41_0x551524(0xe6)],0x3a98,0x3e8,0xea60),RETRY_PER_ITEM=clampInt(process['env'][a41_0x551524(0xce)],0x2,0x0,0x5),RETRY_BACKOFF_MS=clampInt(process['env'][a41_0x551524(0xa7)],0xfa,0x32,0x1388),PROGRESS_INTERVAL_MS=0x3e8,STREAM_HIGH_WATER_MARK=0x400*0x400,MX_CACHE_LIMIT=clampInt(process[a41_0x551524(0x99)][a41_0x551524(0xe1)],0x186a0,0x3e8,0xf4240),MAX_OPEN_BUCKETS=clampInt(process['env']['SORTER_MAX_OPEN_BUCKETS'],0x40,0x4,0x200),OTHER_NO_MX_BUCKET=a41_0x551524(0x119),OTHER_UNMATCHED_MX_BUCKET=a41_0x551524(0xef),EMAIL_RE=/^[^\s@<>(),;:"\\[\]]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)+$/i;function clampInt(_0x48e963,_0x2f0857,_0x2bee71,_0x612538){const _0x2a0dc7=a41_0x551524,_0x36ed31=(function(){let _0x3acc2c=!![];return function(_0xa48b67,_0x9a30b8){const _0x52db52=_0x3acc2c?function(){const _0x20ea75=a41_0x2862;if(_0x9a30b8){const _0x31aaba=_0x9a30b8[_0x20ea75(0x86)](_0xa48b67,arguments);return _0x9a30b8=null,_0x31aaba;}}:function(){};return _0x3acc2c=![],_0x52db52;};}()),_0x5dab3e=_0x36ed31(this,function(){const _0xc7313=a41_0x2862;return _0x5dab3e['toString']()[_0xc7313(0xec)](_0xc7313(0x83))[_0xc7313(0x8d)]()[_0xc7313(0xc4)](_0x5dab3e)['search'](_0xc7313(0x83));});_0x5dab3e();const _0x5984e8=parseInt(_0x48e963,0xa);if(!Number[_0x2a0dc7(0x104)](_0x5984e8))return _0x2f0857;return Math[_0x2a0dc7(0x10b)](_0x2bee71,Math['min'](_0x612538,_0x5984e8));}function timestampDir(){const _0x4af68b=a41_0x551524,_0xfa2119=new Date(),_0x387a4a=_0xfa2119[_0x4af68b(0x75)]()+'_'+String(_0xfa2119[_0x4af68b(0x77)]()+0x1)['padStart'](0x2,'0')+'_'+String(_0xfa2119[_0x4af68b(0xd1)]())['padStart'](0x2,'0')+'_'+Date[_0x4af68b(0x125)](),_0x4d2c35=path['resolve'](process[_0x4af68b(0xff)](),(process['env'][_0x4af68b(0x80)]||'results/')+_0x4af68b(0x97)+_0x387a4a+'/');return fs[_0x4af68b(0xac)](_0x4d2c35,{'recursive':!![]}),process[_0x4af68b(0x99)][_0x4af68b(0x98)]=_0x4d2c35,_0x4d2c35;}function announceTitle(_0x1b2734){const _0x280442=a41_0x551524;console[_0x280442(0xee)]('Sorting\x20emails\x20for...\x20[\x20'+chalk[_0x280442(0xa2)](_0x1b2734)+'\x20]\x0a');}function sleep(_0x268209){return new Promise(_0x2c089d=>setTimeout(_0x2c089d,_0x268209));}function isAsyncIterable(_0x2a2fa6){const _0x5e2932=a41_0x551524;return _0x2a2fa6&&typeof _0x2a2fa6[Symbol[_0x5e2932(0xcb)]]===_0x5e2932(0xe7);}function normalizeEmail(_0x448523){const _0x85cf24=a41_0x551524,_0x352a4c=String(_0x448523||'')[_0x85cf24(0x11c)]()[_0x85cf24(0x7f)]();if(!_0x352a4c||_0x352a4c[_0x85cf24(0xc6)]>0xfe||!EMAIL_RE[_0x85cf24(0xad)](_0x352a4c))return'';return _0x352a4c;}function getEmailDomain(_0x43727d){const _0x4db210=a41_0x551524,_0x1bafe6=String(_0x43727d||'')[_0x4db210(0x123)]('@')[_0x4db210(0x113)]()[_0x4db210(0x11c)]()[_0x4db210(0x7f)]();if(!_0x1bafe6||_0x1bafe6[_0x4db210(0xb7)]('\x20')||_0x1bafe6[_0x4db210(0xb7)]('@'))return'';return _0x1bafe6[_0x4db210(0xaa)](/\.$/,'');}function isNoMxDnsError(_0x2885c6){const _0x2a5e4a=a41_0x551524;return['ENODATA',_0x2a5e4a(0xc3),_0x2a5e4a(0xb5),_0x2a5e4a(0xb0)][_0x2a5e4a(0xb7)](_0x2885c6?.[_0x2a5e4a(0xbb)]);}async function*cleanIterable(_0x1eceeb){const _0x3b1807=a41_0x551524;if(!_0x1eceeb)return;if(isAsyncIterable(_0x1eceeb)){for await(const _0x2047a8 of _0x1eceeb){const _0x1ef451=normalizeEmail(_0x2047a8);if(_0x1ef451)yield _0x1ef451;}return;}for(const _0x4e852d of Array[_0x3b1807(0xb9)](_0x1eceeb)?_0x1eceeb:[]){const _0x39e195=normalizeEmail(_0x4e852d);if(_0x39e195)yield _0x39e195;}}async function processIterableInPool(_0x2c1b1c,_0x413200,{concurrency:_0xeedc98,onProgress:_0xd2ef36}){const _0x1bd32b=a41_0x551524,_0x52cceb=new Set();let _0x186bdb=0x0,_0x8e667c=0x0,_0x126ccd=0x0,_0x222b25=null;const _0x40eb74=(_0x1b5039=![])=>{const _0x4b08f0=Date['now']();if(_0x1b5039||_0x4b08f0-_0x126ccd>=PROGRESS_INTERVAL_MS){_0x126ccd=_0x4b08f0;try{_0xd2ef36&&_0xd2ef36({'finished':_0x186bdb,'inFlight':_0x8e667c});}catch(_0x2f755d){}}};for await(const _0x1b7b09 of cleanIterable(_0x2c1b1c)){if(_0x222b25)break;const _0x13f3bf=Promise[_0x1bd32b(0xd7)]()[_0x1bd32b(0x89)](()=>_0x413200(_0x1b7b09))[_0x1bd32b(0xa8)](_0x88927e=>{if(!_0x222b25)_0x222b25=_0x88927e;})[_0x1bd32b(0x124)](()=>{const _0x5cba2c=_0x1bd32b;_0x52cceb[_0x5cba2c(0xbc)](_0x13f3bf),_0x8e667c=_0x52cceb['size'],_0x186bdb++,_0x40eb74();});_0x52cceb[_0x1bd32b(0x102)](_0x13f3bf),_0x8e667c=_0x52cceb['size'];if(_0x52cceb[_0x1bd32b(0xed)]>=_0xeedc98)await Promise[_0x1bd32b(0xc2)](_0x52cceb);}await Promise['all'](_0x52cceb),_0x40eb74(!![]);if(_0x222b25)throw _0x222b25;}function sanitizeBucketName(_0x5a62f7){const _0x5fba28=a41_0x551524,_0x15f4d2=path[_0x5fba28(0xf8)](String(_0x5a62f7||'')[_0x5fba28(0x11c)]()),_0xba5986=_0x15f4d2[_0x5fba28(0xaa)](/[<>:"/\\|?*\x00-\x1F]/g,'_');return _0xba5986||OTHER_UNMATCHED_MX_BUCKET;}class StreamBucketWriter{constructor(_0x451116){const _0x3a4fd2=a41_0x551524;this[_0x3a4fd2(0xbf)]=_0x451116,this['streams']=new Map(),this[_0x3a4fd2(0x7e)]=new Map(),this[_0x3a4fd2(0x10a)]=new Map(),this[_0x3a4fd2(0xf9)]=![],this[_0x3a4fd2(0xdc)]=Promise[_0x3a4fd2(0xd7)]();}async[a41_0x551524(0x11b)](_0x5c0f43){const _0x107253=a41_0x551524,_0x5bab23=this[_0x107253(0xfa)][_0x107253(0x10d)](_0x5c0f43);if(!_0x5bab23)return;if(_0x5bab23[_0x107253(0x76)])throw _0x5bab23[_0x107253(0x76)];await new Promise((_0x2274d4,_0x40fffd)=>{const _0x5801f4=_0x107253;_0x5bab23[_0x5801f4(0xf6)]('error',_0x40fffd),_0x5bab23[_0x5801f4(0xb3)](_0x2274d4);});if(_0x5bab23[_0x107253(0x76)])throw _0x5bab23[_0x107253(0x76)];this[_0x107253(0xfa)][_0x107253(0xbc)](_0x5c0f43),this[_0x107253(0x7e)][_0x107253(0xbc)](_0x5c0f43);}async[a41_0x551524(0x101)](){const _0xd8ee84=a41_0x551524;while(this[_0xd8ee84(0xfa)][_0xd8ee84(0xed)]>=MAX_OPEN_BUCKETS){let _0x432550='',_0x47da87=Infinity;for(const [_0x20a036,_0x2d9f2b]of this['lastUsed'][_0xd8ee84(0x9d)]()){_0x2d9f2b<_0x47da87&&(_0x432550=_0x20a036,_0x47da87=_0x2d9f2b);}if(!_0x432550)break;await this[_0xd8ee84(0x11b)](_0x432550);}}async[a41_0x551524(0xe2)](_0x8d7b1e){const _0x347392=a41_0x551524;if(this[_0x347392(0xf9)])throw new Error('Sorter\x20writer\x20is\x20already\x20closed');const _0x3ab145=sanitizeBucketName(_0x8d7b1e);if(this[_0x347392(0xfa)][_0x347392(0xbd)](_0x3ab145))return this[_0x347392(0x7e)][_0x347392(0xda)](_0x3ab145,Date[_0x347392(0x125)]()),this[_0x347392(0xfa)][_0x347392(0x10d)](_0x3ab145);await this[_0x347392(0x101)]();const _0x2b4a10=path[_0x347392(0x8b)](this['rootDir'],_0x3ab145);fs[_0x347392(0xac)](path[_0x347392(0x11a)](_0x2b4a10),{'recursive':!![]});const _0x1fe47e=fs[_0x347392(0x9f)](_0x2b4a10,{'flags':'a','encoding':_0x347392(0x9c),'highWaterMark':STREAM_HIGH_WATER_MARK});return _0x1fe47e['setMaxListeners'](0x0),_0x1fe47e[_0x347392(0x76)]=null,_0x1fe47e['on']('error',_0xd1f77c=>{const _0x50f372=_0x347392;_0x1fe47e[_0x50f372(0x76)]=_0xd1f77c;}),this[_0x347392(0xfa)][_0x347392(0xda)](_0x3ab145,_0x1fe47e),this[_0x347392(0x7e)][_0x347392(0xda)](_0x3ab145,Date[_0x347392(0x125)]()),_0x1fe47e;}async['append'](_0x268343,_0x1ee973){const _0x31e58a=a41_0x551524,_0x35096d=this[_0x31e58a(0xdc)][_0x31e58a(0x89)](async()=>{const _0x10686e=_0x31e58a,_0x3f869f=sanitizeBucketName(_0x268343),_0x54e67d=await this[_0x10686e(0xe2)](_0x3f869f);if(_0x54e67d[_0x10686e(0x76)])throw _0x54e67d['sorterError'];!_0x54e67d['write'](_0x1ee973+'\x0d\x0a',_0x10686e(0x9c))&&await Promise[_0x10686e(0xc2)]([once(_0x54e67d,_0x10686e(0xa9)),once(_0x54e67d,'error')[_0x10686e(0x89)](([_0x539758])=>{throw _0x539758;})]);if(_0x54e67d['sorterError'])throw _0x54e67d['sorterError'];this[_0x10686e(0x10a)][_0x10686e(0xda)](_0x3f869f,(this[_0x10686e(0x10a)][_0x10686e(0x10d)](_0x3f869f)||0x0)+0x1);});return this[_0x31e58a(0xdc)]=_0x35096d['catch'](()=>{}),_0x35096d;}async[a41_0x551524(0xfb)](){const _0x47d333=a41_0x551524;if(this[_0x47d333(0xf9)])return;await this['writeChain'],this['closed']=!![];const _0x5e0f86=[];for(const _0x26fa9f of this[_0x47d333(0xfa)][_0x47d333(0xdf)]()){_0x5e0f86[_0x47d333(0x94)](new Promise((_0x5551c4,_0x55f736)=>{const _0x57227b=_0x47d333;if(_0x26fa9f[_0x57227b(0x76)])return _0x55f736(_0x26fa9f['sorterError']);_0x26fa9f[_0x57227b(0xf6)]('error',_0x55f736),_0x26fa9f[_0x57227b(0xb3)](_0x5551c4);}));}await Promise[_0x47d333(0x95)](_0x5e0f86);}['summary'](){const _0x47d127=a41_0x551524,_0x2b714d={};for(const [_0x1cef39,_0x4c56d2]of this[_0x47d127(0x10a)][_0x47d127(0x9d)]())_0x2b714d[_0x1cef39]=_0x4c56d2;return _0x2b714d;}}async function withRetry(_0xdb03dc,_0x142237=RETRY_PER_ITEM){let _0x2e27c1;for(let _0x4830b0=0x0;_0x4830b0<=_0x142237;_0x4830b0++){try{return await _0xdb03dc(_0x4830b0);}catch(_0x1ef65e){_0x2e27c1=_0x1ef65e;if(_0x4830b0>=_0x142237)break;await sleep(RETRY_BACKOFF_MS*(_0x4830b0+0x1));}}throw _0x2e27c1;}async function withTimeout(_0x69754c,_0x332951,_0x1382ff){const _0x14ffbe=a41_0x551524;let _0x51dc0c=null;try{return await Promise[_0x14ffbe(0xc2)]([_0x69754c,new Promise((_0xc7b7bd,_0x19c268)=>{const _0x333dc=_0x14ffbe;_0x51dc0c=setTimeout(()=>_0x19c268(new Error(_0x1382ff+_0x333dc(0xc7))),_0x332951);})]);}finally{if(_0x51dc0c)clearTimeout(_0x51dc0c);}}class MxResolver{constructor(){const _0x307f58=a41_0x551524;this['cache']=new Map(),this[_0x307f58(0xa5)]=0x0,this[_0x307f58(0xd5)]=0x0;}async[a41_0x551524(0xd7)](_0x2bbd7c){const _0x262b21=a41_0x551524,_0x3f9a75=getEmailDomain(_0x2bbd7c);if(!_0x3f9a75)return[];if(this[_0x262b21(0xd0)][_0x262b21(0xbd)](_0x3f9a75))return this[_0x262b21(0xa5)]++,this[_0x262b21(0xd0)][_0x262b21(0x10d)](_0x3f9a75);this[_0x262b21(0xd5)]++;const _0x2ac926=withRetry(async()=>{const _0x57a656=_0x262b21;let _0x4f814e;try{_0x4f814e=await withTimeout(dns[_0x57a656(0xb6)](_0x3f9a75),DNS_TIMEOUT_MS,_0x3f9a75);}catch(_0x5073c8){if(isNoMxDnsError(_0x5073c8))return[];throw _0x5073c8;}return Array[_0x57a656(0xb9)](_0x4f814e)?_0x4f814e['sort']((_0xd7cf56,_0x3243ea)=>_0xd7cf56[_0x57a656(0xae)]-_0x3243ea[_0x57a656(0xae)]):[];})[_0x262b21(0xa8)](_0x3f4f59=>{const _0x4e1783=_0x262b21;this[_0x4e1783(0xd0)][_0x4e1783(0xbc)](_0x3f9a75);throw _0x3f4f59;});this[_0x262b21(0xd0)][_0x262b21(0xda)](_0x3f9a75,_0x2ac926);if(this[_0x262b21(0xd0)][_0x262b21(0xed)]>MX_CACHE_LIMIT){const _0x495c6c=this['cache'][_0x262b21(0xa0)]()[_0x262b21(0xf5)]()['value'];this[_0x262b21(0xd0)][_0x262b21(0xbc)](_0x495c6c);}return _0x2ac926;}[a41_0x551524(0xfc)](){const _0x51fbc4=a41_0x551524;return{'cacheSize':this[_0x51fbc4(0xd0)][_0x51fbc4(0xed)],'cacheHits':this[_0x51fbc4(0xa5)],'cacheMisses':this[_0x51fbc4(0xd5)]};}}function compileSorterRules(_0x5aeccc={}){const _0x21d54d=a41_0x551524,_0x490d96=[];for(const [_0x256a50,_0x5d11fb]of Object[_0x21d54d(0x9d)](_0x5aeccc||{})){const _0x29fca5=(Array[_0x21d54d(0xb9)](_0x5d11fb)?_0x5d11fb:[])[_0x21d54d(0x100)](_0x143ab0=>String(_0x143ab0||'')['trim']()[_0x21d54d(0x7f)]())[_0x21d54d(0x9b)](Boolean);if(!_0x29fca5[_0x21d54d(0xc6)])continue;_0x490d96[_0x21d54d(0x94)]({'filename':sanitizeBucketName(_0x256a50),'patterns':_0x29fca5});}return _0x490d96;}function makeProgressPrinter(_0x852ea1){const _0x59bead=a41_0x551524,_0x57ac2b=Date[_0x59bead(0x125)]();let _0x5c6e80=-0x1;return({finished:_0x1f1003,inFlight:_0x33494a})=>{const _0x3bcfc1=_0x59bead;if(_0x1f1003===_0x5c6e80)return;_0x5c6e80=_0x1f1003;const _0x257845=Math['max'](0.001,(Date[_0x3bcfc1(0x125)]()-_0x57ac2b)/0x3e8),_0x1efdde=_0x1f1003/_0x257845;process[_0x3bcfc1(0xd9)][_0x3bcfc1(0xd2)]('\x0d'+_0x852ea1+':\x20'+_0x1f1003['toLocaleString']()+_0x3bcfc1(0x115)+_0x33494a+_0x3bcfc1(0xdd)+_0x1efdde['toFixed'](0x1)+'/s\x20\x20\x20\x20\x20\x20\x20\x20');};}function matchMxBucket(_0x5c6c23,_0x34d9c6,_0x46e22c=OTHER_UNMATCHED_MX_BUCKET){const _0x1323ba=a41_0x551524,_0x28ec96=String(_0x5c6c23||'')[_0x1323ba(0x7f)]();for(const _0x2c1bd7 of _0x34d9c6){for(const _0x1423ff of _0x2c1bd7[_0x1323ba(0xf2)]){if(_0x28ec96['includes'](_0x1423ff))return _0x2c1bd7[_0x1323ba(0x118)];}}return _0x46e22c;}async function sortByMxRulesAsync({recipients:_0x3cbe46,sorterOptions:_0x34874f,label:_0x401b40,progressLabel:_0x1812dc,folderName:_0x55b449,fallbackBucket:fallbackBucket=OTHER_UNMATCHED_MX_BUCKET}){const _0x107e64=a41_0x551524,_0x51cd80=timestampDir(),_0x4487fc=path[_0x107e64(0x8b)](_0x51cd80,sanitizeBucketName(_0x55b449||_0x107e64(0x7d)));fs[_0x107e64(0xac)](_0x4487fc,{'recursive':!![]}),console['log'](chalk['dim'](_0x107e64(0xea)+MX_CONCURRENCY+_0x107e64(0x82)+MX_CACHE_LIMIT[_0x107e64(0x122)]()+_0x107e64(0x11d)));const _0x546278=new StreamBucketWriter(_0x4487fc);installShutdown(_0x546278);const _0x183c2f=new MxResolver();let _0x2a4fc2=0x0,_0x4b5438=0x0,_0x588630=0x0,_0x44bd1b=0x0;const _0x5aee06=compileSorterRules(_0x34874f),_0x52f062=async _0x1493cb=>{const _0x35e32d=_0x107e64;_0x44bd1b++;let _0x4087fa;try{_0x4087fa=await _0x183c2f[_0x35e32d(0xd7)](_0x1493cb);}catch(_0x4f01d7){await _0x546278[_0x35e32d(0xf7)]('Unresolved.txt',_0x1493cb),_0x588630++;return;}if(!Array[_0x35e32d(0xb9)](_0x4087fa)||_0x4087fa['length']===0x0){await _0x546278[_0x35e32d(0xf7)](OTHER_NO_MX_BUCKET,_0x1493cb),_0x4b5438++;return;}const _0x49b720=_0x4087fa[_0x35e32d(0x100)](_0xff41c3=>_0xff41c3?.[_0x35e32d(0x7c)])['filter'](Boolean)[_0x35e32d(0x8b)]('\x20');if(!_0x49b720){await _0x546278[_0x35e32d(0xf7)](OTHER_NO_MX_BUCKET,_0x1493cb),_0x4b5438++;return;}_0x2a4fc2++,await _0x546278[_0x35e32d(0xf7)](matchMxBucket(_0x49b720,_0x5aee06,fallbackBucket),_0x1493cb);},_0x916b8b=makeProgressPrinter(_0x1812dc);let _0x8cde5a=null;try{await processIterableInPool(_0x3cbe46,_0x52f062,{'concurrency':MX_CONCURRENCY,'onProgress':_0x916b8b});}catch(_0x289ed8){_0x8cde5a=_0x289ed8;}finally{process['stdout'][_0x107e64(0xd2)]('\x0a'),await _0x546278[_0x107e64(0xfb)]();}if(_0x8cde5a)throw _0x8cde5a;sorterCompleted({'label':_0x401b40,'total':_0x44bd1b,'valid':_0x2a4fc2,'invalid':_0x4b5438,'unresolved':_0x588630,'dirname':_0x51cd80,'buckets':_0x546278[_0x107e64(0x8f)](),'dns':_0x183c2f[_0x107e64(0xfc)]()});}async function sortAllAsync(_0x1fea97,_0x34159c){const _0x143705=a41_0x551524;return sortByMxRulesAsync({'recipients':_0x1fea97,'sorterOptions':_0x34159c,'label':'All\x20Domains\x20Sorter','progressLabel':_0x143705(0xcc),'folderName':_0x143705(0x7d)});}async function sortCustomAsync(_0x4d646f,_0x3e81e8){const _0x8c6f73=a41_0x551524,_0x3cfbf9=String(_0x3e81e8||'')['trim']()[_0x8c6f73(0x7f)]();if(!_0x3cfbf9)throw new Error(_0x8c6f73(0x11f));const _0x5b9b01=_0x3cfbf9['replace'](/[^a-z0-9.-]+/gi,'_')[_0x8c6f73(0xaa)](/\.+$/,'');return sortByMxRulesAsync({'recipients':_0x4d646f,'sorterOptions':{[(_0x5b9b01||_0x8c6f73(0x114))+_0x8c6f73(0xc5)]:[_0x3cfbf9]},'label':_0x8c6f73(0xc9)+_0x3cfbf9+')','progressLabel':'Sorting\x20(Custom)','folderName':'Custom','fallbackBucket':OTHER_UNMATCHED_MX_BUCKET});}async function sortTurbifyAsync(_0x27fb1e){const _0x2b4f7a=a41_0x551524;return sortByMxRulesAsync({'recipients':_0x27fb1e,'sorterOptions':{'Turbify.txt':['yahoodns.net',_0x2b4f7a(0xe9),'mx-biz.mail.am0.yahoodns.net']},'label':_0x2b4f7a(0xb1),'progressLabel':_0x2b4f7a(0xbe),'folderName':_0x2b4f7a(0x11e),'fallbackBucket':OTHER_UNMATCHED_MX_BUCKET});}function a41_0x2862(_0xdbb254,_0x336e05){const _0x5709f8=a41_0x5c44();return a41_0x2862=function(_0x40dc02,_0x352118){_0x40dc02=_0x40dc02-0x75;let _0x5c44e1=_0x5709f8[_0x40dc02];return _0x5c44e1;},a41_0x2862(_0xdbb254,_0x336e05);}function a41_0x5c44(){const _0x161e44=['RESULTS_DIR','Office365_Unknown.txt','\x20\x20·\x20mx\x20cache:\x20','(((.+)+)+)+$','3211590hlQSsW','promises','apply','Office365_Wsfed.txt','Office365_Godaddy.txt','then','10972287ODnceR','join','Office','toString','·\x20Invalid\x20\x20\x20\x20:\x20','summary','\x20misses','post','https://login.microsoftonline.com/common/GetCredentialType','exit','push','all','Office365_Okta.txt','sorted/','sortdirname','env','·\x20input:\x20streaming\x20\x20·\x20microsoft\x20concurrency:\x20','filter','utf8','entries','dim','createWriteStream','keys','application/json','yellowBright','Credentials','SIGINT','hits','data','SORTER_RETRY_BACKOFF_MS','catch','drain','replace','Office365_Invalids.txt','mkdirSync','test','priority','Office365_Unresolved.txt','ENONAME','Turbify/Yahoo\x20Business\x20Sorter','FederationRedirectUrl','end','../../functions/globals','ENODOMAIN','resolveMx','includes','Username','isArray','SORTER_MX_CONCURRENCY','code','delete','has','Sorting\x20(Turbify)','rootDir','6538495lmAyDr','/idp/','race','ENOTFOUND','constructor','.txt','length','\x20timed\x20out','·\x20Valid\x20\x20\x20\x20\x20\x20:\x20','Custom\x20Sorter\x20(','exports','asyncIterator','Sorting\x20(All)','../../utils/validation','SORTER_RETRIES','sso.godaddy','cache','getDate','write','red','632OLDtdI','misses','message','resolve','path','stdout','set','\x0aNB:\x20Sort\x20only\x20opted-in\x20or\x20authorized\x20address\x20lists\x20and\x20respect\x20provider\x20limits.','writeChain','\x20·\x20','sso.secureserver','values','SIGTERM','SORTER_MX_CACHE_LIMIT','streamFor','97293TCKCxA','1480uMMPSf','okta.','SORTER_HTTP_TIMEOUT_MS','function','·\x20Unresolved\x20:\x20','turbify.com','·\x20input:\x20streaming\x20\x20·\x20mx\x20concurrency:\x20','Office365.txt','search','size','log','OthersMX.txt','428Dyruzx','toISOString','patterns',',\x20flushing\x20buckets…','chalk','next','once','append','basename','closed','streams','close','stats','\x0aConfigured\x20sorter\x20providers\x0a','\x20hits\x20/\x20','cwd','map','trimOpenStreams','add','google.com','isFinite','·\x20DNS\x20cache\x20\x20:\x20','yellow','Microsoft\x20(Office\x20365)\x20Sorter','183161yHepSu','1138brGJao','totals','max','/adfs','get','error','·\x20Total\x20\x20\x20\x20\x20\x20:\x20','IfExistsResult','dns','2608awSAoj','pop','custom','\x20processed\x20·\x20in-flight\x20','sort','SORTER_MS_CONCURRENCY','filename','otherNoMX.txt','dirname','closeStream','trim','\x20domains','Turbify','Custom\x20sorter\x20requires\x20a\x20domain\x20or\x20MX\x20pattern','Office365_Federal.txt','1611fskLYQ','toLocaleString','split','finally','now','\x20done','getFullYear','sorterError','getMonth','cacheHits','Office365_Idp.txt','Buckets:','Office365_Google.txt','exchange','All','lastUsed','toLowerCase'];a41_0x5c44=function(){return _0x161e44;};return a41_0x5c44();}async function sortMicrosoftAsync(_0x5d67cb){const _0x323b77=a41_0x551524,_0x399fe0=axiosConfig(),_0x2311a9=timestampDir(),_0x3ec292=path['join'](_0x2311a9,_0x323b77(0x8c));fs[_0x323b77(0xac)](_0x3ec292,{'recursive':!![]}),console[_0x323b77(0xee)](chalk[_0x323b77(0x9e)](_0x323b77(0x9a)+MS_CONCURRENCY));const _0x484181=new StreamBucketWriter(_0x3ec292);installShutdown(_0x484181);const _0x2062a2=_0x323b77(0x92);let _0x32ff74=0x0,_0x16d67c=0x0,_0x565b15=0x0,_0x218322=0x0;const _0x3c06c4=async _0x51421c=>{const _0xcf27b9=_0x323b77;_0x218322++;let _0x54b362;try{const _0x2faae1={'Username':_0x51421c},_0x268d90=await withRetry(()=>_0x399fe0[_0xcf27b9(0x91)](_0x2062a2,_0x2faae1,{'timeout':HTTP_TIMEOUT_MS,'headers':{'Content-Type':_0xcf27b9(0xa1)}}));_0x54b362=_0x268d90?.[_0xcf27b9(0xa6)]||{};}catch(_0x569cb2){_0x565b15++,await _0x484181['append'](_0xcf27b9(0xaf),_0x51421c);return;}const _0xc2bcbf=_0x54b362[_0xcf27b9(0x110)],_0xdd27f4=_0x54b362[_0xcf27b9(0xb8)]||_0x51421c,_0x2b733b=_0x54b362?.[_0xcf27b9(0xa3)]?.[_0xcf27b9(0xb2)]||'',_0x3593f4=_0xc2bcbf===0x0||_0xc2bcbf===0x5||_0xc2bcbf===0x6,_0x8b5896=_0xc2bcbf===0x1;if(_0x3593f4){_0x32ff74++;if(_0x2b733b){const _0x2ef7aa=_0x2b733b[_0xcf27b9(0x7f)]();if(_0x2ef7aa[_0xcf27b9(0xb7)]('adfs.')||_0x2ef7aa[_0xcf27b9(0xb7)](_0xcf27b9(0x10c)))await _0x484181[_0xcf27b9(0xf7)]('Office365_Adfs.txt',_0xdd27f4);else{if(_0x2ef7aa[_0xcf27b9(0xb7)](_0xcf27b9(0xe5)))await _0x484181[_0xcf27b9(0xf7)](_0xcf27b9(0x96),_0xdd27f4);else{if(_0x2ef7aa[_0xcf27b9(0xb7)](_0xcf27b9(0xc1)))await _0x484181[_0xcf27b9(0xf7)](_0xcf27b9(0x79),_0xdd27f4);else{if(_0x2ef7aa[_0xcf27b9(0xb7)](_0xcf27b9(0xcf))||_0x2ef7aa[_0xcf27b9(0xb7)](_0xcf27b9(0xde)))await _0x484181[_0xcf27b9(0xf7)](_0xcf27b9(0x88),_0xdd27f4);else{if(_0x2ef7aa['includes'](_0xcf27b9(0x103)))await _0x484181[_0xcf27b9(0xf7)](_0xcf27b9(0x7b),_0xdd27f4);else _0x2ef7aa[_0xcf27b9(0xb7)]('wsfed')?await _0x484181[_0xcf27b9(0xf7)](_0xcf27b9(0x87),_0xdd27f4):await _0x484181[_0xcf27b9(0xf7)](_0xcf27b9(0x120),_0xdd27f4);}}}}}else await _0x484181[_0xcf27b9(0xf7)](_0xcf27b9(0xeb),_0xdd27f4);}else _0x8b5896?(_0x16d67c++,await _0x484181[_0xcf27b9(0xf7)](_0xcf27b9(0xab),_0xdd27f4)):(_0x565b15++,await _0x484181[_0xcf27b9(0xf7)](_0xcf27b9(0x81),_0xdd27f4));},_0x5adaa6=makeProgressPrinter('Sorting\x20(Microsoft)');let _0x18e0ee=null;try{await processIterableInPool(_0x5d67cb,_0x3c06c4,{'concurrency':MS_CONCURRENCY,'onProgress':_0x5adaa6});}catch(_0x39d12b){_0x18e0ee=_0x39d12b;}finally{process[_0x323b77(0xd9)][_0x323b77(0xd2)]('\x0a'),await _0x484181[_0x323b77(0xfb)]();}if(_0x18e0ee)throw _0x18e0ee;sorterCompleted({'label':_0x323b77(0x107),'total':_0x218322,'valid':_0x32ff74,'invalid':_0x16d67c,'unresolved':_0x565b15,'dirname':_0x2311a9,'buckets':_0x484181[_0x323b77(0x8f)]()});}let SHUTDOWN_INSTALLED=![];function installShutdown(_0x554d8a){const _0x5570a2=a41_0x551524;if(SHUTDOWN_INSTALLED)return;SHUTDOWN_INSTALLED=!![];const _0x2cfab0=async _0x148135=>{const _0x1e9d3e=a41_0x2862;try{process[_0x1e9d3e(0xd9)][_0x1e9d3e(0xd2)]('\x0a'+chalk[_0x1e9d3e(0x106)]('⚠\x20caught\x20'+_0x148135+_0x1e9d3e(0xf3))+'\x0a'),await _0x554d8a[_0x1e9d3e(0xfb)]();}catch(_0x9beac2){}process[_0x1e9d3e(0x93)](0x0);};process[_0x5570a2(0xf6)](_0x5570a2(0xa4),()=>_0x2cfab0('SIGINT')),process[_0x5570a2(0xf6)]('SIGTERM',()=>_0x2cfab0(_0x5570a2(0xe0)));}function sorterCompleted({label:_0x59d5db,total:_0x39b80a,valid:_0x56c009,invalid:_0x54f114,unresolved:_0x27aac8,dirname:_0x210555,buckets:buckets={},dns:dns=null}){const _0x4ab751=a41_0x551524,_0x1e63a3={'label':_0x59d5db,'completed_at':new Date()[_0x4ab751(0xf1)](),'total':_0x39b80a,'valid':_0x56c009,'invalid':_0x54f114,'unresolved':_0x27aac8,'output_dir':_0x210555,'buckets':buckets,...dns?{'dns':dns}:{}};try{fs['writeFileSync'](path[_0x4ab751(0x8b)](_0x210555,'summary.json'),JSON['stringify'](_0x1e63a3,null,0x2)+'\x0a',_0x4ab751(0x9c));}catch(_0x233f66){}executionCompleted(),console['log']('\x0a'+chalk['bold'](_0x59d5db)+_0x4ab751(0x126)),console[_0x4ab751(0xee)](_0x4ab751(0x10f)+_0x39b80a['toLocaleString']()),console[_0x4ab751(0xee)](_0x4ab751(0xc8)+_0x56c009[_0x4ab751(0x122)]()),console[_0x4ab751(0xee)](_0x4ab751(0x8e)+_0x54f114[_0x4ab751(0x122)]()),console[_0x4ab751(0xee)](_0x4ab751(0xe8)+_0x27aac8[_0x4ab751(0x122)]()),console[_0x4ab751(0xee)]('·\x20Output\x20dir\x20:\x20'+_0x210555);const _0x4df2ea=Object[_0x4ab751(0xa0)](buckets)[_0x4ab751(0x116)]();if(_0x4df2ea[_0x4ab751(0xc6)]){console[_0x4ab751(0xee)]('\x0a'+chalk[_0x4ab751(0x9e)](_0x4ab751(0x7a)));for(const _0x51dab9 of _0x4df2ea){console[_0x4ab751(0xee)]('\x20\x20'+_0x51dab9+':\x20'+buckets[_0x51dab9][_0x4ab751(0x122)]());}}dns&&console['log'](_0x4ab751(0x105)+dns[_0x4ab751(0x78)][_0x4ab751(0x122)]()+_0x4ab751(0xfe)+dns['cacheMisses'][_0x4ab751(0x122)]()+_0x4ab751(0x90)),console['log']('\x0aNB:\x20Sort\x20only\x20opted-in\x20or\x20authorized\x20address\x20lists\x20and\x20respect\x20provider\x20limits.'),alertUser(),process[_0x4ab751(0x93)](0x0);}function sortAll(_0x5d75f0,_0x35385d){const _0x463dc2=a41_0x551524;announceTitle('All\x20Domains\x20Sorter');try{return onlyPremiumLicenses(),sortAllAsync(_0x5d75f0,_0x35385d)[_0x463dc2(0xa8)](_0x2c8d26=>{const _0x2435b5=_0x463dc2;console['error'](chalk[_0x2435b5(0xd3)](_0x2c8d26?.[_0x2435b5(0xd6)]||_0x2c8d26)),process[_0x2435b5(0x93)](0x1);});}catch(_0x5ceebc){console[_0x463dc2(0xee)](_0x463dc2(0xdb)),console['error'](_0x5ceebc?.[_0x463dc2(0xd6)]||_0x5ceebc),process['exit'](0x1);}}function sortMicrosoft(_0x5d2872){const _0xf50fa8=a41_0x551524;announceTitle(_0xf50fa8(0x107));try{return onlyPremiumLicenses(),sortMicrosoftAsync(_0x5d2872)['catch'](_0x53ea04=>{const _0x50dca3=_0xf50fa8;console[_0x50dca3(0x10e)](chalk[_0x50dca3(0xd3)](_0x53ea04?.['message']||_0x53ea04)),process[_0x50dca3(0x93)](0x1);});}catch(_0x9a015e){console[_0xf50fa8(0xee)]('\x0aNB:\x20Sort\x20only\x20opted-in\x20or\x20authorized\x20address\x20lists\x20and\x20respect\x20provider\x20limits.'),console[_0xf50fa8(0x10e)](_0x9a015e?.[_0xf50fa8(0xd6)]||_0x9a015e),process[_0xf50fa8(0x93)](0x1);}}function sortCustom(_0x3e01eb,_0x3e934e){const _0x3ae8dd=a41_0x551524;announceTitle(_0x3ae8dd(0xc9)+_0x3e934e+')');try{return onlyPremiumLicenses(),sortCustomAsync(_0x3e01eb,_0x3e934e)[_0x3ae8dd(0xa8)](_0x2dc7bc=>{const _0x1bde72=_0x3ae8dd;console['error'](chalk[_0x1bde72(0xd3)](_0x2dc7bc?.[_0x1bde72(0xd6)]||_0x2dc7bc)),process[_0x1bde72(0x93)](0x1);});}catch(_0x232400){console[_0x3ae8dd(0xee)]('\x0aNB:\x20Sort\x20only\x20opted-in\x20or\x20authorized\x20address\x20lists\x20and\x20respect\x20provider\x20limits.'),console[_0x3ae8dd(0x10e)](_0x232400?.['message']||_0x232400),process[_0x3ae8dd(0x93)](0x1);}}function sortTurbify(_0x46465d){const _0x1dd3db=a41_0x551524;announceTitle('Turbify/Yahoo\x20Business\x20Sorter');try{return onlyPremiumLicenses(),sortTurbifyAsync(_0x46465d)[_0x1dd3db(0xa8)](_0x2a3a71=>{const _0x302052=_0x1dd3db;console['error'](chalk[_0x302052(0xd3)](_0x2a3a71?.[_0x302052(0xd6)]||_0x2a3a71)),process[_0x302052(0x93)](0x1);});}catch(_0x53f2c9){console[_0x1dd3db(0xee)](_0x1dd3db(0xdb)),console[_0x1dd3db(0x10e)](_0x53f2c9?.[_0x1dd3db(0xd6)]||_0x53f2c9),process[_0x1dd3db(0x93)](0x1);}}function listProviders(_0x4b769e={}){const _0x276b3f=a41_0x551524,_0x3af2f7=compileSorterRules(_0x4b769e);console[_0x276b3f(0xee)](chalk['bold'](_0x276b3f(0xfd)));for(const _0x1f17eb of _0x3af2f7){console['log'](_0x1f17eb[_0x276b3f(0x118)]+':\x20'+_0x1f17eb['patterns'][_0x276b3f(0x8b)](',\x20'));}console[_0x276b3f(0xee)]('\x0aTotal\x20providers:\x20'+_0x3af2f7[_0x276b3f(0xc6)][_0x276b3f(0x122)]()+'\x0a'),alertUser(),process['exit'](0x0);}module[a41_0x551524(0xca)]={'listProviders':listProviders,'sortAll':sortAll,'sortCustom':sortCustom,'sortMicrosoft':sortMicrosoft,'sortTurbify':sortTurbify};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a38_0x298464=a38_0x5db5;(function(_0x2b34ff,_0x1968fa){const _0x2b5674=a38_0x5db5,_0x58a695=_0x2b34ff();while(!![]){try{const _0x3b6b08=-parseInt(_0x2b5674(0x1d5))/0x1+parseInt(_0x2b5674(0x198))/0x2*(parseInt(_0x2b5674(0x191))/0x3)+parseInt(_0x2b5674(0x1d1))/0x4*(-parseInt(_0x2b5674(0x1c2))/0x5)+parseInt(_0x2b5674(0x18e))/0x6+-parseInt(_0x2b5674(0x18c))/0x7*(parseInt(_0x2b5674(0x1c6))/0x8)+parseInt(_0x2b5674(0x17e))/0x9*(-parseInt(_0x2b5674(0x1cf))/0xa)+parseInt(_0x2b5674(0x1a5))/0xb*(parseInt(_0x2b5674(0x197))/0xc);if(_0x3b6b08===_0x1968fa)break;else _0x58a695['push'](_0x58a695['shift']());}catch(_0x41e777){_0x58a695['push'](_0x58a695['shift']());}}}(a38_0x1912,0x8732d));const fs=require('fs'),path=require(a38_0x298464(0x19a)),{parseMonotomicJSON,generateQrCode,prepareAttachmentsForMime}=require(a38_0x298464(0x1e0)),{composeSendMsgEnvelope}=require(a38_0x298464(0x178)),results=[];function check(_0x408cea,_0x4f31fa,_0x4291ae=''){const _0x5702e7=a38_0x298464;results[_0x5702e7(0x1c3)]({'name':_0x408cea,'ok':!!_0x4f31fa,'detail':_0x4291ae});const _0x1d7b64=_0x4f31fa?_0x5702e7(0x171):_0x5702e7(0x16f),_0x3f273c='['+_0x1d7b64+']\x20'+_0x408cea+(_0x4291ae?'\x20::\x20'+_0x4291ae:'');console[_0x5702e7(0x176)](_0x3f273c);}const NEW_QR_KEYS=[a38_0x298464(0x1e8),a38_0x298464(0x1d9),a38_0x298464(0x17f),a38_0x298464(0x1e4),a38_0x298464(0x1ba),'qr_code_logo_padding_pct',a38_0x298464(0x1a4),a38_0x298464(0x1cc),a38_0x298464(0x1ee)];async function step1ConfigKeys(){const _0x5179d5=a38_0x298464,_0x153bfe=fs[_0x5179d5(0x1b1)](path['join'](__dirname,'_init',_0x5179d5(0x1ca)),_0x5179d5(0x185)),_0x27bf93=parseMonotomicJSON(_0x153bfe),_0x53d1e4=_0x27bf93[_0x5179d5(0x19f)]?.[_0x5179d5(0x1bf)]||{},_0x1b2d64=_0x27bf93[_0x5179d5(0x1ab)]?.[_0x5179d5(0x181)]||{};for(const _0x36b42f of NEW_QR_KEYS){check(_0x5179d5(0x180)+_0x36b42f+'\x22',Object[_0x5179d5(0x17a)][_0x5179d5(0x1c0)]['call'](_0x53d1e4,_0x36b42f),_0x5179d5(0x1ad)+JSON[_0x5179d5(0x18d)](_0x53d1e4[_0x36b42f])),check(_0x5179d5(0x1db)+_0x36b42f+'\x22',Object['prototype'][_0x5179d5(0x1c0)][_0x5179d5(0x1d3)](_0x1b2d64,_0x36b42f),_0x5179d5(0x1ad)+JSON[_0x5179d5(0x18d)](_0x1b2d64[_0x36b42f]));}}async function step2GenerateQr(){const _0x54495d=a38_0x298464,_0x3353f8=await generateQrCode({'data':_0x54495d(0x1b5),'colors':_0x54495d(0x1e6),'logo':{'source':_0x54495d(0x1e3),'url':'https://www.google.com/favicon.ico'},'errorCorrection':'H','size':0x200});check(_0x54495d(0x195),Buffer[_0x54495d(0x1d8)](_0x3353f8),'type='+typeof _0x3353f8),check(_0x54495d(0x184),_0x3353f8&&_0x3353f8[_0x54495d(0x1cd)]>0x400,_0x54495d(0x17b)+(_0x3353f8&&_0x3353f8['length']));if(_0x3353f8&&_0x3353f8[_0x54495d(0x1cd)]>=0x8){const _0x590dd8=_0x3353f8[0x0]===0x89&&_0x3353f8[0x1]===0x50&&_0x3353f8[0x2]===0x4e&&_0x3353f8[0x3]===0x47;check(_0x54495d(0x1e9),_0x590dd8,_0x54495d(0x1a6)+_0x3353f8[_0x54495d(0x179)](0x0,0x4)[_0x54495d(0x1d7)]('hex'));}else check('generateQrCode\x20starts\x20with\x20PNG\x20magic\x2089\x2050\x204E\x2047',![],_0x54495d(0x1ce));let _0x2792fa;try{_0x2792fa=require('qrcode-reader');}catch(_0x57e6ee){_0x2792fa=null;}if(!_0x2792fa)check(_0x54495d(0x1e2),!![],_0x54495d(0x18f));else try{const _0x5118f7=require(_0x54495d(0x1ac)),_0x4fbeba=await _0x5118f7['read'](_0x3353f8),_0x192ba4=new _0x2792fa(),_0x349260=await new Promise((_0x517de6,_0x344ee0)=>{const _0x495e34=_0x54495d;_0x192ba4[_0x495e34(0x19d)]=(_0x2554cb,_0x1918eb)=>_0x2554cb?_0x344ee0(_0x2554cb):_0x517de6(_0x1918eb),_0x192ba4[_0x495e34(0x17c)](_0x4fbeba[_0x495e34(0x1af)]);});check(_0x54495d(0x1c9),_0x349260&&_0x349260[_0x54495d(0x1d4)]===_0x54495d(0x1b5),_0x54495d(0x187)+(_0x349260&&_0x349260[_0x54495d(0x1d4)]));}catch(_0x322f19){check('generateQrCode\x20error\x20correction\x20bumped\x20to\x20H\x20(decode\x20skipped)',!![],_0x54495d(0x172)+(_0x322f19?.['message']||_0x322f19));}}async function buildTinyPdfBase64(){const _0x2dcf83=a38_0x298464,{PDFDocument:_0x3e4302,StandardFonts:_0x4b8b03,rgb:_0x4c340b}=require(_0x2dcf83(0x1ef)),_0x30568a=await _0x3e4302[_0x2dcf83(0x1c7)](),_0x2cbbb2=_0x30568a['addPage']([0x12c,0xc8]),_0x26633c=await _0x30568a[_0x2dcf83(0x1aa)](_0x4b8b03[_0x2dcf83(0x1bc)]);_0x2cbbb2['drawText'](_0x2dcf83(0x199),{'x':0x1e,'y':0x64,'size':0x12,'font':_0x26633c,'color':_0x4c340b(0x0,0x0,0x0)});const _0x319d9c=await _0x30568a[_0x2dcf83(0x1a8)]();return Buffer[_0x2dcf83(0x19c)](_0x319d9c)[_0x2dcf83(0x1d7)](_0x2dcf83(0x1e7));}function a38_0x5db5(_0x1c9e4c,_0x1c2071){const _0x2c1290=a38_0x1912();return a38_0x5db5=function(_0x162a8f,_0x4c92ef){_0x162a8f=_0x162a8f-0x16f;let _0x19127a=_0x2c1290[_0x162a8f];return _0x19127a;},a38_0x5db5(_0x1c9e4c,_0x1c2071);}async function step3ZimbraPdf(){const _0x557693=a38_0x298464,_0x2a34bc=await buildTinyPdfBase64(),_0x586b20={'filename':_0x557693(0x1b4),'content':_0x2a34bc,'contentType':_0x557693(0x17d),'encoding':_0x557693(0x1e7)},_0x4f7fc0={'use_zimbra_smtp':!![],'message_to_pdf':!![],'pdf_orientation':_0x557693(0x1de)},_0x6589aa=await prepareAttachmentsForMime({'attachments':[_0x586b20],'configurations':_0x4f7fc0,'interpretData':{},'recipient':_0x557693(0x1d6)});check('zimbra/pdf:\x20prepared\x20has\x201\x20attachment',_0x6589aa[_0x557693(0x1cd)]===0x1,_0x557693(0x1dc)+_0x6589aa['length']);_0x6589aa[0x0]&&(check('zimbra/pdf:\x20attachments[0].content\x20is\x20a\x20Buffer',Buffer[_0x557693(0x1d8)](_0x6589aa[0x0][_0x557693(0x196)]),'type='+typeof _0x6589aa[0x0][_0x557693(0x196)]),check(_0x557693(0x1cb),_0x6589aa[0x0][_0x557693(0x196)]&&_0x6589aa[0x0]['content'][_0x557693(0x1cd)]>0x0,_0x557693(0x17b)+(_0x6589aa[0x0][_0x557693(0x196)]&&_0x6589aa[0x0][_0x557693(0x196)]['length'])),check(_0x557693(0x194),_0x6589aa[0x0][_0x557693(0x196)]&&_0x6589aa[0x0]['content'][_0x557693(0x179)](0x0,0x5)['toString'](_0x557693(0x1ae))===_0x557693(0x1c4),_0x557693(0x1bd)+(_0x6589aa[0x0][_0x557693(0x196)]&&_0x6589aa[0x0][_0x557693(0x196)][_0x557693(0x179)](0x0,0x5)['toString']('ascii'))));const _0x214ca1=require('nodemailer'),_0x189d64=_0x214ca1[_0x557693(0x1b7)]({'streamTransport':!![],'buffer':!![],'newline':'windows'}),_0x500d5f=await _0x189d64[_0x557693(0x177)]({'from':_0x557693(0x1d2),'to':_0x557693(0x1d6),'subject':_0x557693(0x18b),'html':'<p>see\x20attached</p>','attachments':_0x6589aa}),_0x11d8e3=Buffer[_0x557693(0x1d8)](_0x500d5f['message'])?_0x500d5f[_0x557693(0x1a3)]:Buffer[_0x557693(0x19c)](_0x500d5f[_0x557693(0x1a3)]||'');check(_0x557693(0x1a1),_0x11d8e3[_0x557693(0x1cd)]>0x400,_0x557693(0x17b)+_0x11d8e3[_0x557693(0x1cd)]);const _0x1c5510=composeSendMsgEnvelope({'to':_0x557693(0x1d6),'from':'test@example.com','subject':'PDF\x20test','mime':_0x11d8e3,'authToken':_0x557693(0x193)}),_0x3bef8a=_0x1c5510[_0x557693(0x1b3)](/<content>([^<]+)<\/content>/);if(!_0x3bef8a)check(_0x557693(0x1da),![]);else{const _0x20fee6=Buffer[_0x557693(0x19c)](_0x3bef8a[0x1],'base64');check('zimbra/pdf:\x20SOAP\x20envelope\x20<content>\x20decoded\x20includes\x20%PDF-',_0x20fee6[_0x557693(0x1d7)](_0x557693(0x1ed))[_0x557693(0x175)](_0x557693(0x1c4)),'decoded_bytes='+_0x20fee6[_0x557693(0x1cd)]);}}async function step4FreeIcs(){const _0x27bb45=a38_0x298464,_0x291ddc=_0x27bb45(0x1b9),{parseMessageToICSAttachment:_0xed0937}=require('./functions/globals'),_0x120ab6=await _0xed0937({'filename':_0x27bb45(0x192),'content':_0x291ddc,'ics_config':{'event_title':_0x27bb45(0x1a7),'start':_0x27bb45(0x188),'end':_0x27bb45(0x186),'timezone':'UTC'}}),_0x5c4fe0={'use_free_sending':!![],'message_to_ics':!![]},_0x355414=await prepareAttachmentsForMime({'attachments':[_0x120ab6],'configurations':_0x5c4fe0,'interpretData':{},'recipient':_0x27bb45(0x1ec)});check('free/ics:\x20prepared\x20has\x201\x20attachment',_0x355414[_0x27bb45(0x1cd)]===0x1,'len='+_0x355414[_0x27bb45(0x1cd)]);if(_0x355414[0x0]){check(_0x27bb45(0x1eb),typeof _0x355414[0x0][_0x27bb45(0x1e5)]===_0x27bb45(0x1dd)&&_0x355414[0x0][_0x27bb45(0x1e5)][_0x27bb45(0x1d0)]()[_0x27bb45(0x183)](_0x27bb45(0x1b0)),'ct='+_0x355414[0x0][_0x27bb45(0x1e5)]),check('free/ics:\x20content\x20is\x20a\x20Buffer',Buffer[_0x27bb45(0x1d8)](_0x355414[0x0][_0x27bb45(0x196)]),_0x27bb45(0x173)+typeof _0x355414[0x0][_0x27bb45(0x196)]);if(Buffer[_0x27bb45(0x1d8)](_0x355414[0x0]['content'])){const _0x3fa5e3=_0x355414[0x0]['content']['toString']('utf8');check(_0x27bb45(0x1c5),_0x3fa5e3[_0x27bb45(0x175)]('BEGIN:VCALENDAR'),_0x27bb45(0x182)+_0x3fa5e3[_0x27bb45(0x179)](0x0,0x28)[_0x27bb45(0x19e)](/\r\n/g,'\x5cr\x5cn'));}}}async function step5XlsxAny(){const _0x364b91=a38_0x298464,{parseMessageToXLSXAttachment:_0x326dfe}=require(_0x364b91(0x1e0)),_0x24bf8b=await _0x326dfe({'email':_0x364b91(0x1a2),'content':_0x364b91(0x19b)});_0x24bf8b[_0x364b91(0x1be)]='Message-to-XLSX-1.xlsx';const _0x330190={'use_zimbra_smtp':!![],'message_to_xlsx':!![]},_0x4716f3=await prepareAttachmentsForMime({'attachments':[_0x24bf8b],'configurations':_0x330190,'interpretData':{},'recipient':_0x364b91(0x1a2)});check('xlsx:\x20prepared\x20has\x201\x20attachment',_0x4716f3[_0x364b91(0x1cd)]===0x1,'len='+_0x4716f3[_0x364b91(0x1cd)]),_0x4716f3[0x0]&&(check(_0x364b91(0x1ea),typeof _0x4716f3[0x0][_0x364b91(0x1be)]==='string'&&_0x4716f3[0x0]['filename'][_0x364b91(0x1a9)](_0x364b91(0x1c1)),'filename='+_0x4716f3[0x0][_0x364b91(0x1be)]),check(_0x364b91(0x1df),Buffer[_0x364b91(0x1d8)](_0x4716f3[0x0]['content'])&&_0x4716f3[0x0][_0x364b91(0x196)][_0x364b91(0x1cd)]>0x0,'bytes='+(_0x4716f3[0x0][_0x364b91(0x196)]&&_0x4716f3[0x0][_0x364b91(0x196)][_0x364b91(0x1cd)])));}async function main(){const _0x14d8bd=a38_0x298464,_0x3c0335=(function(){let _0x5b4afc=!![];return function(_0x66b58a,_0xb89ea){const _0x4dc613=_0x5b4afc?function(){const _0x3a7100=a38_0x5db5;if(_0xb89ea){const _0x305fbf=_0xb89ea[_0x3a7100(0x170)](_0x66b58a,arguments);return _0xb89ea=null,_0x305fbf;}}:function(){};return _0x5b4afc=![],_0x4dc613;};}()),_0x17a850=_0x3c0335(this,function(){const _0x3606b4=a38_0x5db5;return _0x17a850[_0x3606b4(0x1d7)]()[_0x3606b4(0x18a)](_0x3606b4(0x1a0))[_0x3606b4(0x1d7)]()[_0x3606b4(0x1e1)](_0x17a850)[_0x3606b4(0x18a)](_0x3606b4(0x1a0));});_0x17a850(),console['log'](_0x14d8bd(0x1bb));try{await step1ConfigKeys(),await step2GenerateQr(),await step3ZimbraPdf(),await step4FreeIcs(),await step5XlsxAny();}catch(_0x34e399){console[_0x14d8bd(0x1b8)](_0x14d8bd(0x1c8),_0x34e399?.[_0x14d8bd(0x174)]||_0x34e399);}const _0x20de50=results['filter'](_0x3ac00f=>_0x3ac00f['ok'])[_0x14d8bd(0x1cd)],_0x1d28fa=results['filter'](_0x4ea355=>!_0x4ea355['ok'])['length'];console[_0x14d8bd(0x176)](_0x14d8bd(0x1b6)),console['log'](_0x14d8bd(0x1b2)+_0x20de50),console[_0x14d8bd(0x176)](_0x14d8bd(0x190)+_0x1d28fa),process[_0x14d8bd(0x189)](_0x1d28fa===0x0?0x0:0x1);}main();function a38_0x1912(){const _0x46e88e=['generateQrCode\x20error\x20correction\x20bumped\x20to\x20H\x20(decode\x20skipped)','url','qr_code_logo_path','contentType','#000000,#FFFFFF','base64','qr_code_logo','generateQrCode\x20starts\x20with\x20PNG\x20magic\x2089\x2050\x204E\x2047','xlsx:\x20filename\x20ends\x20with\x20\x22.xlsx\x22','free/ics:\x20contentType\x20starts\x20with\x20text/calendar','bob@example.com','latin1','qr_code_error_correction','pdf-lib','FAIL','apply','PASS','decode\x20env\x20unavailable:\x20','type=','stack','includes','log','sendMail','./functions/sender/mailers/mailer-zimbra','slice','prototype','bytes=','decode','application/pdf','18ZKjggt','qr_code_logo_url','monotomic.agent\x20has\x20\x22','eml_config','head=','startsWith','generateQrCode\x20buffer\x20length\x20>\x201\x20KB','utf8','2026-06-01\x2010:00','decoded=','2026-06-01\x2009:00','exit','search','PDF\x20test','77sjuRlz','stringify','3138414ULllHx','qrcode-reader\x20not\x20installed','FAIL:\x20','55761kOwGot','invite.ics','test-token','zimbra/pdf:\x20buffer\x20starts\x20with\x20\x22%PDF-\x22','generateQrCode\x20returns\x20a\x20Buffer','content','108FGhtaL','46ZWUPSv','hello\x20monoclaude','path','<table><tr><td>a</td><td>b</td></tr></table>','from','callback','replace','configurations','(((.+)+)+)+$','zimbra/pdf:\x20built\x20MIME\x20body\x20length\x20>\x201\x20KB\x20(attachment\x20carried\x20through)','carol@example.com','message','qr_code_logo_radius_pct','1838001jQQbrR','first4=','Standup','save','endsWith','embedFont','props','jimp','value=','ascii','bitmap','text/calendar','readFileSync','PASS:\x20','match','Message-to-PDF-1.pdf','https://example.com','───\x20summary\x20───','createTransport','error','<div\x20data-ical-summary=\x22Hi\x22>simple\x20body</div>','qr_code_logo_size_pct','───\x20tmp_qr_attach_test.js\x20───','Helvetica','first5=','filename','agent','hasOwnProperty','.xlsx','3706190sogUcC','push','%PDF-','free/ics:\x20buffer\x20decodes\x20to\x20text\x20containing\x20BEGIN:VCALENDAR','223656eXKDRM','create','FATAL:','generateQrCode\x20decodes\x20back\x20to\x20original\x20URL','monotomic.json','zimbra/pdf:\x20attachments[0].content.length\x20>\x200','qr_code_logo_bg','length','buffer\x20too\x20short','1141880ddwSJi','toLowerCase','4eppojx','test@example.com','call','result','623475lpjzQV','alice@example.com','toString','isBuffer','qr_code_logo_source','zimbra/pdf:\x20SOAP\x20envelope\x20has\x20<content>','monotomic.eml_config\x20has\x20\x22','len=','string','portrait','xlsx:\x20content\x20is\x20a\x20Buffer\x20with\x20length\x20>\x200','./functions/globals','constructor'];a38_0x1912=function(){return _0x46e88e;};return a38_0x1912();}
|
|
1
|
+
const a42_0x29d62c=a42_0x2c83;(function(_0x1dfeb9,_0x1f33d1){const _0x2f774c=a42_0x2c83,_0x1e0d39=_0x1dfeb9();while(!![]){try{const _0x5faadf=parseInt(_0x2f774c(0x11e))/0x1*(parseInt(_0x2f774c(0xeb))/0x2)+parseInt(_0x2f774c(0x119))/0x3+parseInt(_0x2f774c(0x11c))/0x4*(-parseInt(_0x2f774c(0xfa))/0x5)+-parseInt(_0x2f774c(0xc5))/0x6+-parseInt(_0x2f774c(0x121))/0x7*(parseInt(_0x2f774c(0x135))/0x8)+-parseInt(_0x2f774c(0x102))/0x9*(parseInt(_0x2f774c(0x132))/0xa)+parseInt(_0x2f774c(0x114))/0xb;if(_0x5faadf===_0x1f33d1)break;else _0x1e0d39['push'](_0x1e0d39['shift']());}catch(_0x3a0289){_0x1e0d39['push'](_0x1e0d39['shift']());}}}(a42_0x1c8a,0xd6198));const fs=require('fs'),path=require(a42_0x29d62c(0x112)),{parseMonotomicJSON,generateQrCode,prepareAttachmentsForMime}=require(a42_0x29d62c(0xf2)),{composeSendMsgEnvelope}=require(a42_0x29d62c(0xd0)),results=[];function check(_0x5290d7,_0x24aae1,_0x4f3644=''){const _0x3deb7a=a42_0x29d62c;results['push']({'name':_0x5290d7,'ok':!!_0x24aae1,'detail':_0x4f3644});const _0x52e12c=_0x24aae1?_0x3deb7a(0xee):_0x3deb7a(0x107),_0x374411='['+_0x52e12c+']\x20'+_0x5290d7+(_0x4f3644?_0x3deb7a(0xff)+_0x4f3644:'');console['log'](_0x374411);}const NEW_QR_KEYS=['qr_code_logo',a42_0x29d62c(0xe9),'qr_code_logo_url','qr_code_logo_path',a42_0x29d62c(0x10f),a42_0x29d62c(0x12d),'qr_code_logo_radius_pct',a42_0x29d62c(0xd9),'qr_code_error_correction'];async function step1ConfigKeys(){const _0x29012a=a42_0x29d62c,_0x14d178=fs[_0x29012a(0xdc)](path[_0x29012a(0x12e)](__dirname,'_init',_0x29012a(0x127)),'utf8'),_0x190615=parseMonotomicJSON(_0x14d178),_0x1f651a=_0x190615[_0x29012a(0xc7)]?.[_0x29012a(0xea)]||{},_0xa97972=_0x190615['props']?.[_0x29012a(0xc4)]||{};for(const _0x2daf89 of NEW_QR_KEYS){check(_0x29012a(0x106)+_0x2daf89+'\x22',Object[_0x29012a(0x11f)][_0x29012a(0xf4)][_0x29012a(0x129)](_0x1f651a,_0x2daf89),'value='+JSON['stringify'](_0x1f651a[_0x2daf89])),check(_0x29012a(0xce)+_0x2daf89+'\x22',Object[_0x29012a(0x11f)][_0x29012a(0xf4)][_0x29012a(0x129)](_0xa97972,_0x2daf89),'value='+JSON['stringify'](_0xa97972[_0x2daf89]));}}function a42_0x2c83(_0x3549e1,_0x10b42d){const _0x3d24a6=a42_0x1c8a();return a42_0x2c83=function(_0x205162,_0x5e7b29){_0x205162=_0x205162-0xc3;let _0x1c8a6a=_0x3d24a6[_0x205162];return _0x1c8a6a;},a42_0x2c83(_0x3549e1,_0x10b42d);}async function step2GenerateQr(){const _0x4c43c6=a42_0x29d62c,_0x1c9bda=await generateQrCode({'data':'https://example.com','colors':'#000000,#FFFFFF','logo':{'source':_0x4c43c6(0x136),'url':_0x4c43c6(0x12a)},'errorCorrection':'H','size':0x200});check(_0x4c43c6(0xf9),Buffer[_0x4c43c6(0x105)](_0x1c9bda),_0x4c43c6(0xef)+typeof _0x1c9bda),check(_0x4c43c6(0x124),_0x1c9bda&&_0x1c9bda[_0x4c43c6(0x137)]>0x400,_0x4c43c6(0x113)+(_0x1c9bda&&_0x1c9bda['length']));if(_0x1c9bda&&_0x1c9bda[_0x4c43c6(0x137)]>=0x8){const _0x520038=_0x1c9bda[0x0]===0x89&&_0x1c9bda[0x1]===0x50&&_0x1c9bda[0x2]===0x4e&&_0x1c9bda[0x3]===0x47;check(_0x4c43c6(0x126),_0x520038,'first4='+_0x1c9bda[_0x4c43c6(0x116)](0x0,0x4)['toString'](_0x4c43c6(0x10c)));}else check('generateQrCode\x20starts\x20with\x20PNG\x20magic\x2089\x2050\x204E\x2047',![],_0x4c43c6(0x103));let _0x1192c7;try{_0x1192c7=require(_0x4c43c6(0xc8));}catch(_0x1142bf){_0x1192c7=null;}if(!_0x1192c7)check('generateQrCode\x20error\x20correction\x20bumped\x20to\x20H\x20(decode\x20skipped)',!![],'qrcode-reader\x20not\x20installed');else try{const _0x5d0f0d=require('jimp'),_0x3c68d0=await _0x5d0f0d['read'](_0x1c9bda),_0x43fbc5=new _0x1192c7(),_0x293507=await new Promise((_0x45bcce,_0x3cdd55)=>{const _0x3a52d8=_0x4c43c6;_0x43fbc5[_0x3a52d8(0xcf)]=(_0x3dc3c9,_0x2b5e2e)=>_0x3dc3c9?_0x3cdd55(_0x3dc3c9):_0x45bcce(_0x2b5e2e),_0x43fbc5[_0x3a52d8(0xd5)](_0x3c68d0['bitmap']);});check(_0x4c43c6(0xe1),_0x293507&&_0x293507[_0x4c43c6(0xe2)]==='https://example.com',_0x4c43c6(0xd2)+(_0x293507&&_0x293507[_0x4c43c6(0xe2)]));}catch(_0x43d331){check('generateQrCode\x20error\x20correction\x20bumped\x20to\x20H\x20(decode\x20skipped)',!![],'decode\x20env\x20unavailable:\x20'+(_0x43d331?.[_0x4c43c6(0xed)]||_0x43d331));}}async function buildTinyPdfBase64(){const _0xddc7f0=a42_0x29d62c,{PDFDocument:_0x13ee3a,StandardFonts:_0x1e551c,rgb:_0x5d3600}=require(_0xddc7f0(0xde)),_0x2c09a0=await _0x13ee3a[_0xddc7f0(0x100)](),_0x3b12dc=_0x2c09a0[_0xddc7f0(0x108)]([0x12c,0xc8]),_0x478fc2=await _0x2c09a0[_0xddc7f0(0xfd)](_0x1e551c[_0xddc7f0(0xe4)]);_0x3b12dc[_0xddc7f0(0xf0)]('hello\x20monoclaude',{'x':0x1e,'y':0x64,'size':0x12,'font':_0x478fc2,'color':_0x5d3600(0x0,0x0,0x0)});const _0x72966a=await _0x2c09a0[_0xddc7f0(0xd1)]();return Buffer[_0xddc7f0(0x138)](_0x72966a)[_0xddc7f0(0x10b)]('base64');}function a42_0x1c8a(){const _0x4ff054=['pdf-lib','Message-to-PDF-1.pdf','───\x20tmp_qr_attach_test.js\x20───','generateQrCode\x20decodes\x20back\x20to\x20original\x20URL','result','exit','Helvetica','alice@example.com','nodemailer','first5=','stack','qr_code_logo_source','agent','2BJnDHa','free/ics:\x20prepared\x20has\x201\x20attachment','message','PASS','type=','drawText','2026-06-01\x2010:00','./functions/globals','xlsx:\x20filename\x20ends\x20with\x20\x22.xlsx\x22','hasOwnProperty','FAIL:\x20','carol@example.com','zimbra/pdf:\x20SOAP\x20envelope\x20<content>\x20decoded\x20includes\x20%PDF-','filename=','generateQrCode\x20returns\x20a\x20Buffer','210XBCsrO','.xlsx','2026-06-01\x2009:00','embedFont','(((.+)+)+)+$','\x20::\x20','create','zimbra/pdf:\x20attachments[0].content.length\x20>\x200','5013054wEHrEk','buffer\x20too\x20short','sendMail','isBuffer','monotomic.agent\x20has\x20\x22','FAIL','addPage','len=','<table><tr><td>a</td><td>b</td></tr></table>','toString','hex','log','decoded_bytes=','qr_code_logo_size_pct','xlsx:\x20prepared\x20has\x201\x20attachment','ascii','path','bytes=','51127483sCNTlq','bob@example.com','slice','zimbra/pdf:\x20buffer\x20starts\x20with\x20\x22%PDF-\x22','BEGIN:VCALENDAR','400140xnwIlh','zimbra/pdf:\x20prepared\x20has\x201\x20attachment','<p>see\x20attached</p>','164392rlQrqX','\x5cr\x5cn','74722MhGKDa','prototype','filename','21ISbXxn','contentType','test-token','generateQrCode\x20buffer\x20length\x20>\x201\x20KB','search','generateQrCode\x20starts\x20with\x20PNG\x20magic\x2089\x2050\x204E\x2047','monotomic.json','startsWith','call','https://www.google.com/favicon.ico','createTransport','includes','qr_code_logo_padding_pct','join','free/ics:\x20contentType\x20starts\x20with\x20text/calendar','replace','───\x20summary\x20───','10ZWEbQB','head=','apply','555704YZLLpG','url','length','from','%PDF-','xlsx:\x20content\x20is\x20a\x20Buffer\x20with\x20length\x20>\x200','filter','invite.ics','PDF\x20test','eml_config','8925552iQIuBK','string','configurations','qrcode-reader','PASS:\x20','zimbra/pdf:\x20attachments[0].content\x20is\x20a\x20Buffer','utf8','base64','zimbra/pdf:\x20built\x20MIME\x20body\x20length\x20>\x201\x20KB\x20(attachment\x20carried\x20through)','monotomic.eml_config\x20has\x20\x22','callback','./functions/sender/mailers/mailer-zimbra','save','decoded=','text/calendar','ct=','decode','test@example.com','free/ics:\x20buffer\x20decodes\x20to\x20text\x20containing\x20BEGIN:VCALENDAR','FATAL:','qr_code_logo_bg','zimbra/pdf:\x20SOAP\x20envelope\x20has\x20<content>','error','readFileSync','content'];a42_0x1c8a=function(){return _0x4ff054;};return a42_0x1c8a();}async function step3ZimbraPdf(){const _0x389085=a42_0x29d62c,_0x45ec03=await buildTinyPdfBase64(),_0x33ee92={'filename':_0x389085(0xdf),'content':_0x45ec03,'contentType':'application/pdf','encoding':_0x389085(0xcc)},_0x50f3ae={'use_zimbra_smtp':!![],'message_to_pdf':!![],'pdf_orientation':'portrait'},_0x275975=await prepareAttachmentsForMime({'attachments':[_0x33ee92],'configurations':_0x50f3ae,'interpretData':{},'recipient':_0x389085(0xe5)});check(_0x389085(0x11a),_0x275975[_0x389085(0x137)]===0x1,_0x389085(0x109)+_0x275975[_0x389085(0x137)]);_0x275975[0x0]&&(check(_0x389085(0xca),Buffer[_0x389085(0x105)](_0x275975[0x0]['content']),'type='+typeof _0x275975[0x0]['content']),check(_0x389085(0x101),_0x275975[0x0][_0x389085(0xdd)]&&_0x275975[0x0][_0x389085(0xdd)][_0x389085(0x137)]>0x0,_0x389085(0x113)+(_0x275975[0x0]['content']&&_0x275975[0x0]['content'][_0x389085(0x137)])),check(_0x389085(0x117),_0x275975[0x0]['content']&&_0x275975[0x0]['content'][_0x389085(0x116)](0x0,0x5)['toString']('ascii')===_0x389085(0x139),_0x389085(0xe7)+(_0x275975[0x0]['content']&&_0x275975[0x0][_0x389085(0xdd)][_0x389085(0x116)](0x0,0x5)[_0x389085(0x10b)](_0x389085(0x111)))));const _0x566486=require(_0x389085(0xe6)),_0xe63d23=_0x566486[_0x389085(0x12b)]({'streamTransport':!![],'buffer':!![],'newline':'windows'}),_0x3b1655=await _0xe63d23[_0x389085(0x104)]({'from':'test@example.com','to':_0x389085(0xe5),'subject':'PDF\x20test','html':_0x389085(0x11b),'attachments':_0x275975}),_0x4ac942=Buffer[_0x389085(0x105)](_0x3b1655['message'])?_0x3b1655[_0x389085(0xed)]:Buffer['from'](_0x3b1655[_0x389085(0xed)]||'');check(_0x389085(0xcd),_0x4ac942[_0x389085(0x137)]>0x400,_0x389085(0x113)+_0x4ac942[_0x389085(0x137)]);const _0x486cca=composeSendMsgEnvelope({'to':_0x389085(0xe5),'from':_0x389085(0xd6),'subject':_0x389085(0xc3),'mime':_0x4ac942,'authToken':_0x389085(0x123)}),_0x4b578c=_0x486cca['match'](/<content>([^<]+)<\/content>/);if(!_0x4b578c)check(_0x389085(0xda),![]);else{const _0x616cbb=Buffer[_0x389085(0x138)](_0x4b578c[0x1],_0x389085(0xcc));check(_0x389085(0xf7),_0x616cbb['toString']('latin1')[_0x389085(0x12c)](_0x389085(0x139)),_0x389085(0x10e)+_0x616cbb[_0x389085(0x137)]);}}async function step4FreeIcs(){const _0x209ced=a42_0x29d62c,_0x2463ff='<div\x20data-ical-summary=\x22Hi\x22>simple\x20body</div>',{parseMessageToICSAttachment:_0x527ad8}=require(_0x209ced(0xf2)),_0x1111fe=await _0x527ad8({'filename':_0x209ced(0x13c),'content':_0x2463ff,'ics_config':{'event_title':'Standup','start':_0x209ced(0xfc),'end':_0x209ced(0xf1),'timezone':'UTC'}}),_0x2d24d1={'use_free_sending':!![],'message_to_ics':!![]},_0x1aef13=await prepareAttachmentsForMime({'attachments':[_0x1111fe],'configurations':_0x2d24d1,'interpretData':{},'recipient':_0x209ced(0x115)});check(_0x209ced(0xec),_0x1aef13[_0x209ced(0x137)]===0x1,_0x209ced(0x109)+_0x1aef13['length']);if(_0x1aef13[0x0]){check(_0x209ced(0x12f),typeof _0x1aef13[0x0]['contentType']===_0x209ced(0xc6)&&_0x1aef13[0x0][_0x209ced(0x122)]['toLowerCase']()[_0x209ced(0x128)](_0x209ced(0xd3)),_0x209ced(0xd4)+_0x1aef13[0x0]['contentType']),check('free/ics:\x20content\x20is\x20a\x20Buffer',Buffer[_0x209ced(0x105)](_0x1aef13[0x0][_0x209ced(0xdd)]),_0x209ced(0xef)+typeof _0x1aef13[0x0][_0x209ced(0xdd)]);if(Buffer['isBuffer'](_0x1aef13[0x0][_0x209ced(0xdd)])){const _0x3d4caa=_0x1aef13[0x0][_0x209ced(0xdd)][_0x209ced(0x10b)](_0x209ced(0xcb));check(_0x209ced(0xd7),_0x3d4caa[_0x209ced(0x12c)](_0x209ced(0x118)),_0x209ced(0x133)+_0x3d4caa[_0x209ced(0x116)](0x0,0x28)[_0x209ced(0x130)](/\r\n/g,_0x209ced(0x11d)));}}}async function step5XlsxAny(){const _0x56cf58=a42_0x29d62c,{parseMessageToXLSXAttachment:_0x5eb01a}=require(_0x56cf58(0xf2)),_0x2cc3ca=await _0x5eb01a({'email':_0x56cf58(0xf6),'content':_0x56cf58(0x10a)});_0x2cc3ca[_0x56cf58(0x120)]='Message-to-XLSX-1.xlsx';const _0x5d6e19={'use_zimbra_smtp':!![],'message_to_xlsx':!![]},_0x5317c2=await prepareAttachmentsForMime({'attachments':[_0x2cc3ca],'configurations':_0x5d6e19,'interpretData':{},'recipient':_0x56cf58(0xf6)});check(_0x56cf58(0x110),_0x5317c2[_0x56cf58(0x137)]===0x1,_0x56cf58(0x109)+_0x5317c2[_0x56cf58(0x137)]),_0x5317c2[0x0]&&(check(_0x56cf58(0xf3),typeof _0x5317c2[0x0][_0x56cf58(0x120)]===_0x56cf58(0xc6)&&_0x5317c2[0x0]['filename']['endsWith'](_0x56cf58(0xfb)),_0x56cf58(0xf8)+_0x5317c2[0x0]['filename']),check(_0x56cf58(0x13a),Buffer[_0x56cf58(0x105)](_0x5317c2[0x0]['content'])&&_0x5317c2[0x0][_0x56cf58(0xdd)][_0x56cf58(0x137)]>0x0,_0x56cf58(0x113)+(_0x5317c2[0x0][_0x56cf58(0xdd)]&&_0x5317c2[0x0][_0x56cf58(0xdd)][_0x56cf58(0x137)])));}async function main(){const _0x30f0f8=a42_0x29d62c,_0x3c286a=(function(){let _0x5ed184=!![];return function(_0x1e087b,_0x4d07eb){const _0x22c1f5=_0x5ed184?function(){const _0x1da74c=a42_0x2c83;if(_0x4d07eb){const _0x140fb6=_0x4d07eb[_0x1da74c(0x134)](_0x1e087b,arguments);return _0x4d07eb=null,_0x140fb6;}}:function(){};return _0x5ed184=![],_0x22c1f5;};}()),_0x1f19c8=_0x3c286a(this,function(){const _0x1f5ad0=a42_0x2c83;return _0x1f19c8['toString']()['search'](_0x1f5ad0(0xfe))[_0x1f5ad0(0x10b)]()['constructor'](_0x1f19c8)[_0x1f5ad0(0x125)]('(((.+)+)+)+$');});_0x1f19c8(),console[_0x30f0f8(0x10d)](_0x30f0f8(0xe0));try{await step1ConfigKeys(),await step2GenerateQr(),await step3ZimbraPdf(),await step4FreeIcs(),await step5XlsxAny();}catch(_0x2fc179){console[_0x30f0f8(0xdb)](_0x30f0f8(0xd8),_0x2fc179?.[_0x30f0f8(0xe8)]||_0x2fc179);}const _0x5d081d=results[_0x30f0f8(0x13b)](_0x24c003=>_0x24c003['ok'])[_0x30f0f8(0x137)],_0x63a678=results[_0x30f0f8(0x13b)](_0x7a9065=>!_0x7a9065['ok'])[_0x30f0f8(0x137)];console['log'](_0x30f0f8(0x131)),console[_0x30f0f8(0x10d)](_0x30f0f8(0xc9)+_0x5d081d),console[_0x30f0f8(0x10d)](_0x30f0f8(0xf5)+_0x63a678),process[_0x30f0f8(0xe3)](_0x63a678===0x0?0x0:0x1);}main();
|
package/functions/user.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function a43_0x53a6(){const _0x17c92d=['2334416sdBBUf','\x0a\x20*\x20Type:\x20','apply','18FVajAm','iat','exports','\x0a\x20*\x20Activated:\x20','moment','\x20Email:\x20','2lSynfU','932khbScJ','uuid','premium','7851213ovwzaJ','8ILzSVM','(((.+)+)+)+$','log','constructor','7567300QYUhLZ','user','search','UserInfo','email','3881440Cfxtvv','11173613gFRpss','5394eZChAq','\x0a\x20*\x20Expiry:\x20','\x0a\x0a\x20License:\x0a\x20*\x20Private\x20ID:\x20','toString','821734iySvHb','fromNow'];a43_0x53a6=function(){return _0x17c92d;};return a43_0x53a6();}const a43_0x1b402b=a43_0x5c84;(function(_0x36261f,_0x791ccc){const _0x3963b5=a43_0x5c84,_0x49cdd8=_0x36261f();while(!![]){try{const _0x1f48d4=parseInt(_0x3963b5(0x68))/0x1*(parseInt(_0x3963b5(0x73))/0x2)+-parseInt(_0x3963b5(0x64))/0x3*(-parseInt(_0x3963b5(0x74))/0x4)+-parseInt(_0x3963b5(0x81))/0x5+-parseInt(_0x3963b5(0x6d))/0x6*(-parseInt(_0x3963b5(0x6a))/0x7)+parseInt(_0x3963b5(0x78))/0x8*(parseInt(_0x3963b5(0x77))/0x9)+-parseInt(_0x3963b5(0x7c))/0xa+-parseInt(_0x3963b5(0x82))/0xb;if(_0x1f48d4===_0x791ccc)break;else _0x49cdd8['push'](_0x49cdd8['shift']());}catch(_0x492867){_0x49cdd8['push'](_0x49cdd8['shift']());}}}(a43_0x53a6,0x89dd0));const a43_0x348b41=(function(){let _0x2ceb57=!![];return function(_0x5ba5e4,_0x249512){const _0x27348c=_0x2ceb57?function(){const _0x2e4281=a43_0x5c84;if(_0x249512){const _0xd1294d=_0x249512[_0x2e4281(0x6c)](_0x5ba5e4,arguments);return _0x249512=null,_0xd1294d;}}:function(){};return _0x2ceb57=![],_0x27348c;};}()),a43_0x2344c2=a43_0x348b41(this,function(){const _0x3269d4=a43_0x5c84;return a43_0x2344c2[_0x3269d4(0x67)]()[_0x3269d4(0x7e)](_0x3269d4(0x79))[_0x3269d4(0x67)]()[_0x3269d4(0x7b)](a43_0x2344c2)[_0x3269d4(0x7e)](_0x3269d4(0x79));});a43_0x2344c2();function a43_0x5c84(_0x2a1867,_0x2edaf9){const _0x3ddf60=a43_0x53a6();return a43_0x5c84=function(_0x2344c2,_0x348b41){_0x2344c2=_0x2344c2-0x64;let _0x53a6ee=_0x3ddf60[_0x2344c2];return _0x53a6ee;},a43_0x5c84(_0x2a1867,_0x2edaf9);}const moment=require(a43_0x1b402b(0x71)),user=global[a43_0x1b402b(0x7d)];console[a43_0x1b402b(0x7a)]('\x20User\x27s\x20Information\x0a\x20----------------------\x0a'),console['log'](a43_0x1b402b(0x72)+user[a43_0x1b402b(0x80)]+a43_0x1b402b(0x66)+user[a43_0x1b402b(0x75)]+a43_0x1b402b(0x70)+moment(user[a43_0x1b402b(0x6e)]*0x3e8)['fromNow']()+a43_0x1b402b(0x6b)+(user[a43_0x1b402b(0x76)]?'Premium':'Basic')+a43_0x1b402b(0x65)+moment(user['exp']*0x3e8)[a43_0x1b402b(0x69)]()+'\x0a'),module[a43_0x1b402b(0x6f)]=a43_0x1b402b(0x7f);
|