@restforgejs/platform 4.3.1 → 4.3.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.
Files changed (167) hide show
  1. package/build-info.json +2 -2
  2. package/cli/consumer-deploy.js +1 -1
  3. package/cli/consumer.js +1 -1
  4. package/generators/lib/payload/payload-runner.js +1 -1
  5. package/generators/lib/templates/dashboard-catalog.js +1 -1
  6. package/generators/lib/templates/db-connection-env.js +1 -1
  7. package/generators/lib/templates/dbschema-catalog.js +1 -1
  8. package/generators/lib/templates/field-validation-catalog.js +1 -1
  9. package/generators/lib/templates/mysql-template.js +1 -1
  10. package/generators/lib/templates/oracle-template.js +1 -1
  11. package/generators/lib/templates/postgres-template.js +1 -1
  12. package/generators/lib/templates/query-declarative-catalog.js +1 -1
  13. package/generators/lib/templates/sqlite-template.js +1 -1
  14. package/integrity-manifest.json +18 -18
  15. package/package.json +1 -1
  16. package/scripts/verify-integrity.js +1 -1
  17. package/server.js +1 -1
  18. package/src/components/handlers/adjust_handler.js +1 -1
  19. package/src/components/handlers/audit_handler.js +1 -1
  20. package/src/components/handlers/delete_handler.js +1 -1
  21. package/src/components/handlers/export_handler.js +1 -1
  22. package/src/components/handlers/import_handler.js +1 -1
  23. package/src/components/handlers/insert_handler.js +1 -1
  24. package/src/components/handlers/update_handler.js +1 -1
  25. package/src/components/handlers/upload_handler.js +1 -1
  26. package/src/components/handlers/workflow_handler.js +1 -1
  27. package/src/components/integrations/webhook.js +1 -1
  28. package/src/consumers/baseConsumer.js +1 -1
  29. package/src/consumers/declarativeMapper.js +1 -1
  30. package/src/consumers/handlers/apiHandler.js +1 -1
  31. package/src/consumers/handlers/consoleHandler.js +1 -1
  32. package/src/consumers/handlers/databaseHandler.js +1 -1
  33. package/src/consumers/handlers/index.js +1 -1
  34. package/src/consumers/handlers/kafkaHandler.js +1 -1
  35. package/src/consumers/index.js +1 -1
  36. package/src/consumers/messageTransformer.js +1 -1
  37. package/src/consumers/validator.js +1 -1
  38. package/src/core/db/dialect/base-dialect.js +1 -1
  39. package/src/core/db/dialect/index.js +1 -1
  40. package/src/core/db/dialect/mysql-dialect.js +1 -1
  41. package/src/core/db/dialect/oracle-dialect.js +1 -1
  42. package/src/core/db/dialect/postgres-dialect.js +1 -1
  43. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  44. package/src/core/db/flatten-helper.js +1 -1
  45. package/src/core/db/query-builder-error.js +1 -1
  46. package/src/core/db/query-builder.js +1 -1
  47. package/src/core/db/relation-helper.js +1 -1
  48. package/src/core/handlers/delete_handler.js +1 -1
  49. package/src/core/handlers/insert_handler.js +1 -1
  50. package/src/core/handlers/update_handler.js +1 -1
  51. package/src/core/models/base-model.js +1 -1
  52. package/src/core/utils/cache-manager.js +1 -1
  53. package/src/core/utils/component-engine.js +1 -1
  54. package/src/core/utils/context-builder.js +1 -1
  55. package/src/core/utils/datetime-formatter.js +1 -1
  56. package/src/core/utils/datetime-parser.js +1 -1
  57. package/src/core/utils/db.js +1 -1
  58. package/src/core/utils/logger.js +1 -1
  59. package/src/core/utils/payload-loader.js +1 -1
  60. package/src/core/utils/security-checks.js +1 -1
  61. package/src/middleware/body-options.js +1 -1
  62. package/src/middleware/cors.js +1 -1
  63. package/src/middleware/idempotency.js +1 -1
  64. package/src/middleware/rate-limiter.js +1 -1
  65. package/src/middleware/request-logger.js +1 -1
  66. package/src/middleware/security-headers.js +1 -1
  67. package/src/models/base-model-mysql.js +1 -1
  68. package/src/models/base-model-oracle.js +1 -1
  69. package/src/models/base-model-sqlite.js +1 -1
  70. package/src/models/base-model.js +1 -1
  71. package/src/pro/caching/redis-client.js +1 -1
  72. package/src/pro/caching/redis-helper.js +1 -1
  73. package/src/pro/consumers/baseConsumer.js +1 -1
  74. package/src/pro/consumers/declarativeMapper.js +1 -1
  75. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  76. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  77. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  78. package/src/pro/consumers/handlers/index.js +1 -1
  79. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  80. package/src/pro/consumers/index.js +1 -1
  81. package/src/pro/consumers/messageTransformer.js +1 -1
  82. package/src/pro/consumers/validator.js +1 -1
  83. package/src/pro/database/base-model-mysql.js +1 -1
  84. package/src/pro/database/base-model-oracle.js +1 -1
  85. package/src/pro/database/base-model-sqlite.js +1 -1
  86. package/src/pro/database/db-mysql.js +1 -1
  87. package/src/pro/database/db-oracle.js +1 -1
  88. package/src/pro/database/db-sqlite.js +1 -1
  89. package/src/pro/excel/excel-generator.js +1 -1
  90. package/src/pro/excel/excel-parser.js +1 -1
  91. package/src/pro/excel/export-service.js +1 -1
  92. package/src/pro/excel/export_handler.js +1 -1
  93. package/src/pro/excel/import-service.js +1 -1
  94. package/src/pro/excel/import-validator.js +1 -1
  95. package/src/pro/excel/import_handler.js +1 -1
  96. package/src/pro/excel/upsert-builder.js +1 -1
  97. package/src/pro/idgen/idgen-routes.js +1 -1
  98. package/src/pro/integrations/lookup-resolver.js +1 -1
  99. package/src/pro/integrations/upload-handler-v2.js +1 -1
  100. package/src/pro/integrations/upload-handler.js +1 -1
  101. package/src/pro/integrations/webhook.js +1 -1
  102. package/src/pro/locking/lock-routes.js +1 -1
  103. package/src/pro/locking/resource-lock-manager.js +1 -1
  104. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  105. package/src/pro/messaging/kafkaService.js +1 -1
  106. package/src/pro/messaging/messagehubService.js +1 -1
  107. package/src/pro/messaging/rabbitmqService.js +1 -1
  108. package/src/pro/scheduler/job-manager.js +1 -1
  109. package/src/pro/scheduler/job-routes.js +1 -1
  110. package/src/pro/scheduler/job-validator.js +1 -1
  111. package/src/pro/storage/base-storage-provider.js +1 -1
  112. package/src/pro/storage/file-metadata-helper.js +1 -1
  113. package/src/pro/storage/index.js +1 -1
  114. package/src/pro/storage/local-storage-provider.js +1 -1
  115. package/src/pro/storage/s3-storage-provider.js +1 -1
  116. package/src/pro/storage/upload-cleanup-job.js +1 -1
  117. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  118. package/src/pro/storage/upload-pending-tracker.js +1 -1
  119. package/src/pro/websocket/broadcast-helper.js +1 -1
  120. package/src/pro/websocket/index.js +1 -1
  121. package/src/pro/websocket/livesync-server.js +1 -1
  122. package/src/pro/websocket/ws-broadcaster.js +1 -1
  123. package/src/services/export-service.js +1 -1
  124. package/src/services/import-service.js +1 -1
  125. package/src/services/kafkaConsumerService.js +1 -1
  126. package/src/services/kafkaService.js +1 -1
  127. package/src/services/messagehubService.js +1 -1
  128. package/src/services/rabbitmqService.js +1 -1
  129. package/src/utils/cache-invalidation-registry.js +1 -1
  130. package/src/utils/cache-manager.js +1 -1
  131. package/src/utils/component-engine.js +1 -1
  132. package/src/utils/config-extractor.js +1 -1
  133. package/src/utils/consumerLogger.js +1 -1
  134. package/src/utils/context-builder.js +1 -1
  135. package/src/utils/dashboard-helpers.js +1 -1
  136. package/src/utils/dateHelper.js +1 -1
  137. package/src/utils/datetime-formatter.js +1 -1
  138. package/src/utils/datetime-parser.js +1 -1
  139. package/src/utils/db-bootstrap.js +1 -1
  140. package/src/utils/db-mysql.js +1 -1
  141. package/src/utils/db-oracle.js +1 -1
  142. package/src/utils/db-sqlite.js +1 -1
  143. package/src/utils/db.js +1 -1
  144. package/src/utils/demo-generator.js +1 -1
  145. package/src/utils/excel-generator.js +1 -1
  146. package/src/utils/excel-parser.js +1 -1
  147. package/src/utils/file-watcher.js +1 -1
  148. package/src/utils/id-generator.js +1 -1
  149. package/src/utils/idempotency-manager.js +1 -1
  150. package/src/utils/import-validator.js +1 -1
  151. package/src/utils/license-client.js +1 -1
  152. package/src/utils/lock-manager.js +1 -1
  153. package/src/utils/logger.js +1 -1
  154. package/src/utils/lookup-resolver.js +1 -1
  155. package/src/utils/payload-loader.js +1 -1
  156. package/src/utils/processor-response.js +1 -1
  157. package/src/utils/rabbitmq.js +1 -1
  158. package/src/utils/redis-client.js +1 -1
  159. package/src/utils/redis-helper.js +1 -1
  160. package/src/utils/request-scope.js +1 -1
  161. package/src/utils/security-checks.js +1 -1
  162. package/src/utils/service-resolver.js +1 -1
  163. package/src/utils/shutdown-coordinator.js +1 -1
  164. package/src/utils/trusted-keys.js +1 -1
  165. package/src/utils/upload-handler.js +1 -1
  166. package/src/utils/upsert-builder.js +1 -1
  167. package/src/utils/workflow-hook-executor.js +1 -1
@@ -1 +1 @@
1
- function a0_0x1fae(){const _0x56ee86=['nLP4zMLOuW','Dhj1zq','x3DVCMTLCKLK','v1jjveuGBg9JAYbHy3f1AxjLihrPBwvVDxq','Bg9JA19LEhrLBMrLza','Bg9JA19LEhrLBMrFzxjYB3i','mtC1ndi0mLffELvgDW','Bg9JA19YzwXLyxnLx2vYCM9Y','veTuvxu','C3rYyxrLz3K','zgvMyxvSDfruta','nZG5mdmWshDTz2Lc','lcbZDhjHDgvNEtOG','tfb4uum','v1jjveuGBg9JAYbLCNjVCG','zxHWAxjL','zw52','s1vky2y','uKvbrcbSB2nRigvYCM9Y','x2vUC3vYzuLUAxrPywXPEMvK','CMv0CNLdB3vUDa','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMvQzwn0ig1VzguP','lI9YzwrPCY1JBgLLBNq','Cg93','z2v0','ChjLzML4','CMvHzf9SB2nRx3jLBgvHC2vK','mJDJCgnTtuS','zxzet0e','tg9JAYbuveWGzxH0zw5Kzwq','x2rLzMf1BhruveW','v1jjveuGBg9JAYbYzwXLyxnLza','CNDuvNm','zgvS','zxHWB3j0CW','D25VvMS','D3jPDgvFBg9JA19YzwXLyxnLza','z2v0tg9JA0LUzM8','zw5HyMXLza','D3jPDgvFBg9JA19YzwPLy3rLza','te9ds19esvnuuKLcvvrfrf9uveW','mu1Wz3nMDG','zufMq0G','x2LUAxrPywXPEMvK','mJa2mZu0nezTBufcua','mZi3nJbyzLnnv2y','ywnXDwLYzvDYAxrLtg9JAW','CMvHzf9SB2nRx2fJCxvPCMvK','D3jPDgvFBg9JA19Hy3f1AxjLza','Aw5JBhvKzxm','BgfZDeLUzgv4t2y','D2fYBG','ndaYotaXmfnOAxjqqq','mJKXnte2ounlwhbwyW','x3bYzwzPEa','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMv0CNKGBw9KzsK','C3vIC3rYAw5N','x3jLDhj5q291BNq','x3n0CMf0zwD5','CMvHzf9SB2nRx2vYCM9Y','DxvPza','CMv0CNLezwXHEq','uwvUB3q','CgLK','Bg9JA19JB25MAwDFAw5PDa','uKvbrcbSB2nRigfJCxvPCMuGDgLTzw91Da','CMv0CNK','D29YA2vYswq','zxjYB3i','z2v0q2XPzw50','ywnXDwLYzvjLywrmB2nR','zxH0zw5Ktg9JAW','yNvPBgrmB2nRs2v5','DvbbAhi','x2vUywjSzwq','EfjTqwK','C3bSAxq','AxnfBMfIBgvK','D3jPDgu','oNjLywq6','zxzHBa','C2XLzxa','te9ds19esvnuuKLcvvrfrf9tvfjbvevhwq','mZiWotmZovfVsNjOBG','nfjyCxfNzq','CMvHza','zgvIDwC','CMvQzwn0','x3jLDhj5rgvSyxK','tg9JAYbLEhrLBMqGzxjYB3i'];a0_0x1fae=function(){return _0x56ee86;};return a0_0x1fae();}const a0_0x21291f=a0_0x1a47;(function(_0x148177,_0x190c31){const _0x5a58b0=a0_0x1a47,_0x12ddad=_0x148177();while(!![]){try{const _0x1a5582=parseInt(_0x5a58b0(0x156))/0x1*(-parseInt(_0x5a58b0(0x133))/0x2)+-parseInt(_0x5a58b0(0x162))/0x3*(-parseInt(_0x5a58b0(0x181))/0x4)+-parseInt(_0x5a58b0(0x161))/0x5+parseInt(_0x5a58b0(0x12d))/0x6*(parseInt(_0x5a58b0(0x180))/0x7)+-parseInt(_0x5a58b0(0x159))/0x8*(-parseInt(_0x5a58b0(0x148))/0x9)+-parseInt(_0x5a58b0(0x15a))/0xa+parseInt(_0x5a58b0(0x138))/0xb;if(_0x1a5582===_0x190c31)break;else _0x12ddad['push'](_0x12ddad['shift']());}catch(_0x54b859){_0x12ddad['push'](_0x12ddad['shift']());}}}(a0_0x1fae,0x8fef8));function a0_0x1a47(_0x5a14de,_0x5a4f46){_0x5a14de=_0x5a14de-0x12c;const _0x1fae66=a0_0x1fae();let _0x1a47f3=_0x1fae66[_0x5a14de];if(a0_0x1a47['VUcOXa']===undefined){var _0x41e3aa=function(_0x52cad3){const _0x1a1473='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1575db='',_0x43c10f='';for(let _0x40ab79=0x0,_0x5e9d4f,_0x3ce062,_0x527b3a=0x0;_0x3ce062=_0x52cad3['charAt'](_0x527b3a++);~_0x3ce062&&(_0x5e9d4f=_0x40ab79%0x4?_0x5e9d4f*0x40+_0x3ce062:_0x3ce062,_0x40ab79++%0x4)?_0x1575db+=String['fromCharCode'](0xff&_0x5e9d4f>>(-0x2*_0x40ab79&0x6)):0x0){_0x3ce062=_0x1a1473['indexOf'](_0x3ce062);}for(let _0x34d06a=0x0,_0x59b026=_0x1575db['length'];_0x34d06a<_0x59b026;_0x34d06a++){_0x43c10f+='%'+('00'+_0x1575db['charCodeAt'](_0x34d06a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x43c10f);};a0_0x1a47['YSojXr']=_0x41e3aa,a0_0x1a47['gVmkap']={},a0_0x1a47['VUcOXa']=!![];}const _0x4b3552=_0x1fae66[0x0],_0x4510eb=_0x5a14de+_0x4b3552,_0x2afb0f=a0_0x1a47['gVmkap'][_0x4510eb];return!_0x2afb0f?(_0x1a47f3=a0_0x1a47['YSojXr'](_0x1a47f3),a0_0x1a47['gVmkap'][_0x4510eb]=_0x1a47f3):_0x1a47f3=_0x2afb0f,_0x1a47f3;}const redisClient=require(a0_0x21291f(0x143)),{logger}=require('./logger'),{v4:uuidv4}=require(a0_0x21291f(0x169));class LockManager{constructor(){const _0x52160b=a0_0x21291f,_0x1a9cef={'rwTVs':'0|2|1|4|6|7|3|5'},_0x4a4aef=_0x1a9cef[_0x52160b(0x14d)][_0x52160b(0x179)]('|');let _0x400629=0x0;while(!![]){switch(_0x4a4aef[_0x400629++]){case'0':this[_0x52160b(0x163)]=null;continue;case'1':this[_0x52160b(0x14b)]=null;continue;case'2':this['_enabled']=null;continue;case'3':this['_workerId']=null;continue;case'4':this[_0x52160b(0x166)]=null;continue;case'5':this[_0x52160b(0x158)]=![];continue;case'6':this['_retryDelay']=null;continue;case'7':this[_0x52160b(0x167)]=null;continue;}break;}}['_initConfig'](){const _0x170f43=a0_0x21291f,_0x12c195={'hDoUS':'rf:lock:','DtOrk':_0x170f43(0x12e),'LSASG':function(_0x3824ee,_0x4cf402,_0x538ae4){return _0x3824ee(_0x4cf402,_0x538ae4);}};this[_0x170f43(0x163)]=_0x12c195['hDoUS'],this[_0x170f43(0x177)]=process[_0x170f43(0x13d)]['LOCK_DISTRIBUTED_ENABLED']===_0x12c195['DtOrk'],this[_0x170f43(0x14b)]=_0x12c195['LSASG'](parseInt,process['env'][_0x170f43(0x155)],0xa)||0xa,this[_0x170f43(0x166)]=parseInt(process[_0x170f43(0x13d)]['LOCK_DISTRIBUTED_RETRY'],0xa)||0x3,this[_0x170f43(0x185)]=_0x12c195['LSASG'](parseInt,process[_0x170f43(0x13d)]['LOCK_DISTRIBUTED_RETRY_DELAY'],0xa)||0x64,this['_strategy']=process['env'][_0x170f43(0x17f)]||_0x170f43(0x16f),this[_0x170f43(0x12f)]='worker-'+process[_0x170f43(0x16c)],this['_initialized']=!![],logger['info']({'event':_0x170f43(0x16d),'enabled':this[_0x170f43(0x177)],'strategy':this['_strategy'],'ttl':this['_defaultTTL'],'retryCount':this[_0x170f43(0x166)],'retryDelay':this[_0x170f43(0x185)],'workerId':this['_workerId']},'Lock\x20configuration\x20initialized\x20-\x20enabled:\x20'+this[_0x170f43(0x177)]+_0x170f43(0x139)+this[_0x170f43(0x167)]);}[a0_0x21291f(0x140)](){const _0x28e21e=a0_0x21291f;!this[_0x28e21e(0x158)]&&this['_initConfig']();}get['prefix'](){const _0x369b43=a0_0x21291f;return this['_ensureInitialized'](),this[_0x369b43(0x163)];}get['enabled'](){const _0xcc13f7=a0_0x21291f;return this[_0xcc13f7(0x140)](),this['_enabled'];}get['defaultTTL'](){const _0x23e080=a0_0x21291f;return this[_0x23e080(0x140)](),this['_defaultTTL'];}get['retryCount'](){const _0x5d1282=a0_0x21291f;return this['_ensureInitialized'](),this[_0x5d1282(0x166)];}get[a0_0x21291f(0x16a)](){const _0x111aa1=a0_0x21291f;return this[_0x111aa1(0x140)](),this[_0x111aa1(0x185)];}get[a0_0x21291f(0x136)](){return this['_ensureInitialized'](),this['_strategy'];}get['workerId'](){return this['_ensureInitialized'](),this['_workerId'];}['buildLockKey'](_0x4743aa){const _0x1dac01=a0_0x21291f,{module:_0x48b053,endpoint:_0x20f0e0,lockType:_0x2e8215,recordId:_0x4b8d10}=_0x4743aa;if(_0x4b8d10)return''+this['prefix']+_0x48b053+':'+_0x20f0e0+':'+_0x4b8d10+':'+_0x2e8215;return''+this[_0x1dac01(0x146)]+_0x48b053+':'+_0x20f0e0+':'+_0x2e8215;}['generateLockValue'](){const _0x43239b=a0_0x21291f,_0x2fb4ae={'IhUmq':function(_0x468b35){return _0x468b35();}};return this[_0x43239b(0x170)]+':'+_0x2fb4ae['IhUmq'](uuidv4)+':'+Date['now']();}async[a0_0x21291f(0x173)](_0x18becf){const _0x5a5e05=a0_0x21291f,_0x214328={'wnoVk':function(_0x40f488,_0x434f56){return _0x40f488<_0x434f56;},'CKxDR':_0x5a5e05(0x15c),'iTILA':'READ\x20lock\x20acquired','Qenot':'Waiting\x20for\x20WRITE\x20lock\x20to\x20release','dYSdz':'read_lock_timeout','fulAF':_0x5a5e05(0x13f)};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x27bb52=this['buildLockKey']({..._0x18becf,'lockType':'write'}),_0x53fd05=this['buildLockKey']({..._0x18becf,'lockType':_0x5a5e05(0x182)}),_0x2821ef=this['generateLockValue']();try{const _0x2d37f9=redisClient[_0x5a5e05(0x172)]();for(let _0x366ecb=0x0;_0x214328[_0x5a5e05(0x150)](_0x366ecb,this[_0x5a5e05(0x141)]);_0x366ecb++){const _0x1ebcc7=await _0x2d37f9['get'](_0x27bb52);if(!_0x1ebcc7){await _0x2d37f9['incr'](_0x53fd05),await _0x2d37f9[_0x5a5e05(0x13c)](_0x53fd05,this['defaultTTL']);const _0x5712cb=_0x53fd05+':'+_0x2821ef;return await _0x2d37f9['setex'](_0x5712cb,this[_0x5a5e05(0x137)],_0x2821ef),logger['debug']({'event':_0x214328['CKxDR'],'key':_0x53fd05,'value':_0x2821ef},_0x214328['iTILA']),{'success':!![],'lockValue':_0x2821ef,'lockKey':_0x5712cb};}logger['debug']({'event':'read_lock_waiting','writeKey':_0x27bb52,'attempt':_0x366ecb},_0x214328[_0x5a5e05(0x16b)]),await this['sleep'](this['retryDelay']*Math[_0x5a5e05(0x144)](0x2,_0x366ecb));}return logger['warn']({'event':_0x214328['dYSdz'],'key':_0x53fd05},_0x5a5e05(0x16e)),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x3120ff){return logger['error']({'event':_0x5a5e05(0x168),'error':_0x3120ff['message']},_0x214328['fulAF']),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x21291f(0x15b)](_0x4e6a10){const _0x118f3c=a0_0x21291f,_0x3c3e9d={'nRrBn':'write_lock_acquired','KUJcf':_0x118f3c(0x142),'evDOA':_0x118f3c(0x154),'JYOpD':function(_0x3dbf26,_0x1e9fec){return _0x3dbf26===_0x1e9fec;},'LPxQC':_0x118f3c(0x164),'CwuvP':'write_lock_error','xRmAi':_0x118f3c(0x13b)};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0xe86f39=this['buildLockKey']({..._0x4e6a10,'lockType':_0x118f3c(0x17b)}),_0x336a15=this[_0x118f3c(0x175)]({..._0x4e6a10,'lockType':'read'}),_0x4320f8=this['generateLockValue']();try{const _0x4571a7=redisClient[_0x118f3c(0x172)]();if(this['strategy']===_0x118f3c(0x184)){const _0x55a268=await _0x4571a7['set'](_0xe86f39,_0x4320f8,'EX',this[_0x118f3c(0x137)],'NX');if(_0x55a268==='OK')return logger['debug']({'event':_0x3c3e9d['nRrBn'],'key':_0xe86f39,'value':_0x4320f8,'strategy':_0x118f3c(0x184)},_0x3c3e9d[_0x118f3c(0x13e)]),{'success':!![],'lockValue':_0x4320f8,'lockKey':_0xe86f39};return logger[_0x118f3c(0x183)]({'event':_0x3c3e9d[_0x118f3c(0x149)],'key':_0xe86f39},'WRITE\x20lock\x20rejected\x20-\x20record\x20busy'),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x53a89d=0x0;_0x53a89d<this[_0x118f3c(0x141)];_0x53a89d++){const [_0x91da0a,_0x2854fa]=await Promise['all']([_0x4571a7[_0x118f3c(0x145)](_0x336a15),_0x4571a7[_0x118f3c(0x145)](_0xe86f39)]);if(!_0x2854fa&&(!_0x91da0a||parseInt(_0x91da0a)===0x0)){const _0x6735c6=await _0x4571a7['set'](_0xe86f39,_0x4320f8,'EX',this[_0x118f3c(0x137)],'NX');if(_0x3c3e9d['JYOpD'](_0x6735c6,'OK'))return logger['debug']({'event':_0x118f3c(0x15d),'key':_0xe86f39,'value':_0x4320f8,'strategy':'retry'},_0x3c3e9d[_0x118f3c(0x13a)]),{'success':!![],'lockValue':_0x4320f8,'lockKey':_0xe86f39};}logger['debug']({'event':'write_lock_waiting','writeKey':_0xe86f39,'readCount':_0x91da0a,'attempt':_0x53a89d},'Waiting\x20for\x20locks\x20to\x20release'),await this[_0x118f3c(0x17e)](this[_0x118f3c(0x16a)]*Math['pow'](0x2,_0x53a89d));}return logger[_0x118f3c(0x160)]({'event':'write_lock_timeout','key':_0xe86f39},_0x118f3c(0x130)),{'success':![],'lockValue':null,'lockKey':null};}catch(_0xc081d9){return logger['error']({'event':_0x3c3e9d['CwuvP'],'error':_0xc081d9['message']},_0x3c3e9d[_0x118f3c(0x178)]),{'success':![],'lockValue':null,'lockKey':null};}}async['releaseLock'](_0x54182c,_0x5bdac5){const _0xe8863c=a0_0x21291f,_0x54d6b4={'mANPA':function(_0x58e957,_0x458701){return _0x58e957(_0x458701);},'WIijH':_0xe8863c(0x147),'uPAhr':function(_0x371b88,_0x1a9fbb){return _0x371b88===_0x1a9fbb;},'ZNuNx':_0xe8863c(0x14c),'pfldc':'lock_release_not_owner','CxwjZ':'Lock\x20release\x20error'};if(!this['enabled']||!_0x54182c)return!![];try{const _0x53a614=redisClient['getClient']();if(_0x54182c[_0xe8863c(0x15e)](_0xe8863c(0x17c))){await _0x53a614[_0xe8863c(0x14e)](_0x54182c);const _0x5f0ef3=_0x54182c[_0xe8863c(0x165)](0x0,_0x54182c[_0xe8863c(0x15f)](':')),_0x504042=await _0x53a614['get'](_0x5f0ef3);return _0x504042&&_0x54d6b4['mANPA'](parseInt,_0x504042)>0x0&&await _0x53a614['decr'](_0x5f0ef3),logger['debug']({'event':_0x54d6b4['WIijH'],'key':_0x54182c},'READ\x20lock\x20released'),!![];}const _0xefb15='\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20redis.call(\x22get\x22,\x20KEYS[1])\x20==\x20ARGV[1]\x20then\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20redis.call(\x22del\x22,\x20KEYS[1])\x0a\x20\x20\x20\x20\x20\x20\x20\x20else\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x200\x0a\x20\x20\x20\x20\x20\x20\x20\x20end\x0a\x20\x20\x20\x20\x20\x20',_0x3d6657=await _0x53a614['eval'](_0xefb15,0x1,_0x54182c,_0x5bdac5);if(_0x54d6b4[_0xe8863c(0x176)](_0x3d6657,0x1))return logger['debug']({'event':_0xe8863c(0x151),'key':_0x54182c},_0x54d6b4['ZNuNx']),!![];return logger['warn']({'event':_0x54d6b4['pfldc'],'key':_0x54182c},'Cannot\x20release\x20lock\x20-\x20not\x20owner'),![];}catch(_0x310872){return logger[_0xe8863c(0x171)]({'event':_0xe8863c(0x134),'key':_0x54182c,'error':_0x310872['message']},_0x54d6b4['CxwjZ']),![];}}async[a0_0x21291f(0x174)](_0x2e5580,_0x2f11dc,_0x114ee4=null){const _0x5924ab=a0_0x21291f,_0x6fe960={'TKTUu':function(_0x2f884e,_0x9287d6){return _0x2f884e===_0x9287d6;},'YBkJT':_0x5924ab(0x14a),'uowFN':_0x5924ab(0x132),'BVlVX':_0x5924ab(0x12c)};if(!this[_0x5924ab(0x153)]||!_0x2e5580)return!![];try{const _0x36ddfa=redisClient['getClient'](),_0x30d8b4='\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20redis.call(\x22get\x22,\x20KEYS[1])\x20==\x20ARGV[1]\x20then\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20redis.call(\x22expire\x22,\x20KEYS[1],\x20ARGV[2])\x0a\x20\x20\x20\x20\x20\x20\x20\x20else\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x200\x0a\x20\x20\x20\x20\x20\x20\x20\x20end\x0a\x20\x20\x20\x20\x20\x20',_0x46dea3=await _0x36ddfa[_0x5924ab(0x17d)](_0x30d8b4,0x1,_0x2e5580,_0x2f11dc,_0x114ee4||this[_0x5924ab(0x137)]);if(_0x6fe960[_0x5924ab(0x135)](_0x46dea3,0x1))return logger[_0x5924ab(0x183)]({'event':_0x5924ab(0x131),'key':_0x2e5580,'ttl':_0x114ee4||this[_0x5924ab(0x137)]},_0x6fe960['YBkJT']),!![];return![];}catch(_0x43d516){return logger['error']({'event':_0x6fe960['uowFN'],'key':_0x2e5580,'error':_0x43d516['message']},_0x6fe960['BVlVX']),![];}}[a0_0x21291f(0x17a)](){const _0xbce554=a0_0x21291f;return this[_0xbce554(0x153)];}[a0_0x21291f(0x17e)](_0x4ec993){return new Promise(_0x256e3f=>setTimeout(_0x256e3f,_0x4ec993));}async[a0_0x21291f(0x152)](_0x571b05){const _0x1f2abf=a0_0x21291f,_0x5d2fc6={'eAfCH':function(_0x29fc2c,_0x3235a2){return _0x29fc2c(_0x3235a2);}};if(!this[_0x1f2abf(0x153)])return{'enabled':![]};try{const _0x411e03=redisClient['getClient'](),_0x44c658=this[_0x1f2abf(0x175)]({..._0x571b05,'lockType':_0x1f2abf(0x17b)}),_0x404004=this[_0x1f2abf(0x175)]({..._0x571b05,'lockType':_0x1f2abf(0x182)}),[_0xa0f49,_0x3e8d7b]=await Promise['all']([_0x411e03['get'](_0x44c658),_0x411e03['get'](_0x404004)]);return{'enabled':!![],'writeLock':_0xa0f49||null,'readCount':_0x5d2fc6[_0x1f2abf(0x157)](parseInt,_0x3e8d7b)||0x0,'writeKey':_0x44c658,'readKey':_0x404004};}catch(_0x5abc3e){return{'enabled':!![],'error':_0x5abc3e['message']};}}}module[a0_0x21291f(0x14f)]=new LockManager();
1
+ const a0_0x261e05=a0_0x1f5e;(function(_0x4d6fd4,_0x1ac103){const _0x30c30a=a0_0x1f5e,_0x31b85e=_0x4d6fd4();while(!![]){try{const _0x1741b0=parseInt(_0x30c30a(0x17a))/0x1+-parseInt(_0x30c30a(0x154))/0x2+parseInt(_0x30c30a(0x166))/0x3+-parseInt(_0x30c30a(0x167))/0x4*(parseInt(_0x30c30a(0x139))/0x5)+parseInt(_0x30c30a(0x15b))/0x6+-parseInt(_0x30c30a(0x16f))/0x7+-parseInt(_0x30c30a(0x178))/0x8;if(_0x1741b0===_0x1ac103)break;else _0x31b85e['push'](_0x31b85e['shift']());}catch(_0x3e474f){_0x31b85e['push'](_0x31b85e['shift']());}}}(a0_0x4d06,0xa2c31));const redisClient=require('./redis-client'),{logger}=require(a0_0x261e05(0x131)),{v4:uuidv4}=require(a0_0x261e05(0x169));function a0_0x1f5e(_0x11d916,_0x4c966c){_0x11d916=_0x11d916-0x124;const _0x4d0648=a0_0x4d06();let _0x1f5e0b=_0x4d0648[_0x11d916];if(a0_0x1f5e['VBTjOe']===undefined){var _0x4ce606=function(_0x141edb){const _0x364b54='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x305f6a='',_0x5149e8='';for(let _0x2c8d38=0x0,_0x592edc,_0x1eef34,_0x30ae88=0x0;_0x1eef34=_0x141edb['charAt'](_0x30ae88++);~_0x1eef34&&(_0x592edc=_0x2c8d38%0x4?_0x592edc*0x40+_0x1eef34:_0x1eef34,_0x2c8d38++%0x4)?_0x305f6a+=String['fromCharCode'](0xff&_0x592edc>>(-0x2*_0x2c8d38&0x6)):0x0){_0x1eef34=_0x364b54['indexOf'](_0x1eef34);}for(let _0x543d3f=0x0,_0x212031=_0x305f6a['length'];_0x543d3f<_0x212031;_0x543d3f++){_0x5149e8+='%'+('00'+_0x305f6a['charCodeAt'](_0x543d3f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5149e8);};a0_0x1f5e['OiTHRp']=_0x4ce606,a0_0x1f5e['QjhCKb']={},a0_0x1f5e['VBTjOe']=!![];}const _0x5280c9=_0x4d0648[0x0],_0x536fd2=_0x11d916+_0x5280c9,_0x358a36=a0_0x1f5e['QjhCKb'][_0x536fd2];return!_0x358a36?(_0x1f5e0b=a0_0x1f5e['OiTHRp'](_0x1f5e0b),a0_0x1f5e['QjhCKb'][_0x536fd2]=_0x1f5e0b):_0x1f5e0b=_0x358a36,_0x1f5e0b;}class LockManager{constructor(){const _0x305b0e=a0_0x261e05;this[_0x305b0e(0x124)]=null,this[_0x305b0e(0x138)]=null,this['_defaultTTL']=null,this['_retryCount']=null,this['_retryDelay']=null,this['_strategy']=null,this[_0x305b0e(0x16b)]=null,this['_initialized']=![];}[a0_0x261e05(0x146)](){const _0x4d7051=a0_0x261e05,_0x2d4ec6={'NxxzC':'4|2|7|3|6|1|8|0|5','spNpL':'true','KrgLd':_0x4d7051(0x16d),'BKuFQ':'lock_config_init'},_0x249f41=_0x2d4ec6[_0x4d7051(0x15a)]['split']('|');let _0x9ff8cb=0x0;while(!![]){switch(_0x249f41[_0x9ff8cb++]){case'0':this[_0x4d7051(0x15e)]=!![];continue;case'1':this['_strategy']=process['env'][_0x4d7051(0x128)]||'retry';continue;case'2':this[_0x4d7051(0x138)]=process['env']['LOCK_DISTRIBUTED_ENABLED']===_0x2d4ec6['spNpL'];continue;case'3':this[_0x4d7051(0x16c)]=parseInt(process['env']['LOCK_DISTRIBUTED_RETRY'],0xa)||0x3;continue;case'4':this[_0x4d7051(0x124)]=_0x2d4ec6['KrgLd'];continue;case'5':logger[_0x4d7051(0x14b)]({'event':_0x2d4ec6[_0x4d7051(0x158)],'enabled':this[_0x4d7051(0x138)],'strategy':this[_0x4d7051(0x172)],'ttl':this['_defaultTTL'],'retryCount':this[_0x4d7051(0x16c)],'retryDelay':this[_0x4d7051(0x163)],'workerId':this[_0x4d7051(0x16b)]},'Lock\x20configuration\x20initialized\x20-\x20enabled:\x20'+this['_enabled']+_0x4d7051(0x12d)+this[_0x4d7051(0x172)]);continue;case'6':this[_0x4d7051(0x163)]=parseInt(process['env'][_0x4d7051(0x16e)],0xa)||0x64;continue;case'7':this[_0x4d7051(0x174)]=parseInt(process[_0x4d7051(0x14a)]['LOCK_DISTRIBUTED_TTL'],0xa)||0xa;continue;case'8':this['_workerId']='worker-'+process[_0x4d7051(0x13b)];continue;}break;}}['_ensureInitialized'](){const _0x2e1a80=a0_0x261e05;!this['_initialized']&&this[_0x2e1a80(0x146)]();}get[a0_0x261e05(0x15f)](){return this['_ensureInitialized'](),this['_prefix'];}get['enabled'](){return this['_ensureInitialized'](),this['_enabled'];}get['defaultTTL'](){const _0x42566c=a0_0x261e05;return this[_0x42566c(0x179)](),this[_0x42566c(0x174)];}get[a0_0x261e05(0x130)](){return this['_ensureInitialized'](),this['_retryCount'];}get[a0_0x261e05(0x14e)](){const _0xd81a28=a0_0x261e05;return this[_0xd81a28(0x179)](),this[_0xd81a28(0x163)];}get[a0_0x261e05(0x15d)](){const _0x396a20=a0_0x261e05;return this[_0x396a20(0x179)](),this['_strategy'];}get['workerId'](){const _0x182baa=a0_0x261e05;return this[_0x182baa(0x179)](),this['_workerId'];}['buildLockKey'](_0x5809bd){const _0x2b9e25=a0_0x261e05,{module:_0x4bc7c7,endpoint:_0x43c225,lockType:_0x15652b,recordId:_0x52b9d1}=_0x5809bd;if(_0x52b9d1)return''+this[_0x2b9e25(0x15f)]+_0x4bc7c7+':'+_0x43c225+':'+_0x52b9d1+':'+_0x15652b;return''+this[_0x2b9e25(0x15f)]+_0x4bc7c7+':'+_0x43c225+':'+_0x15652b;}[a0_0x261e05(0x14f)](){const _0xa441db=a0_0x261e05;return this[_0xa441db(0x161)]+':'+uuidv4()+':'+Date['now']();}async['acquireReadLock'](_0x3f8c1d){const _0x91f3b1=a0_0x261e05,_0x25186e={'euxJe':'write','ncCgO':'read','IdAwb':function(_0x225efb,_0x515f23){return _0x225efb<_0x515f23;},'XUrFX':function(_0x5cee42,_0x418c12){return _0x5cee42*_0x418c12;},'LaGTR':_0x91f3b1(0x148),'SeLzj':'READ\x20lock\x20error'};if(!this[_0x91f3b1(0x132)])return{'success':!![],'lockValue':null,'lockKey':null};const _0x12105a=this[_0x91f3b1(0x173)]({..._0x3f8c1d,'lockType':_0x25186e['euxJe']}),_0x9105fc=this['buildLockKey']({..._0x3f8c1d,'lockType':_0x25186e['ncCgO']}),_0x53aa6a=this['generateLockValue']();try{const _0x4f5abc=redisClient['getClient']();for(let _0x42be1b=0x0;_0x25186e[_0x91f3b1(0x12c)](_0x42be1b,this['retryCount']);_0x42be1b++){const _0x47af44=await _0x4f5abc['get'](_0x12105a);if(!_0x47af44){await _0x4f5abc[_0x91f3b1(0x12e)](_0x9105fc),await _0x4f5abc[_0x91f3b1(0x170)](_0x9105fc,this[_0x91f3b1(0x127)]);const _0x13b2c7=_0x9105fc+':'+_0x53aa6a;return await _0x4f5abc['setex'](_0x13b2c7,this[_0x91f3b1(0x127)],_0x53aa6a),logger[_0x91f3b1(0x153)]({'event':_0x91f3b1(0x145),'key':_0x9105fc,'value':_0x53aa6a},_0x91f3b1(0x175)),{'success':!![],'lockValue':_0x53aa6a,'lockKey':_0x13b2c7};}logger[_0x91f3b1(0x153)]({'event':'read_lock_waiting','writeKey':_0x12105a,'attempt':_0x42be1b},'Waiting\x20for\x20WRITE\x20lock\x20to\x20release'),await this['sleep'](_0x25186e[_0x91f3b1(0x133)](this[_0x91f3b1(0x14e)],Math[_0x91f3b1(0x13d)](0x2,_0x42be1b)));}return logger[_0x91f3b1(0x13f)]({'event':_0x91f3b1(0x160),'key':_0x9105fc},_0x25186e[_0x91f3b1(0x135)]),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x388078){return logger['error']({'event':'read_lock_error','error':_0x388078['message']},_0x25186e['SeLzj']),{'success':![],'lockValue':null,'lockKey':null};}}async['acquireWriteLock'](_0x5a78d1){const _0x464975=a0_0x261e05,_0x55a1a0={'KxZoH':_0x464975(0x171),'icEJK':'reject','hQZeJ':'WRITE\x20lock\x20acquired\x20(reject\x20mode)','vABHx':_0x464975(0x159),'LPMJs':'WRITE\x20lock\x20rejected\x20-\x20record\x20busy','LtLwd':function(_0x4bf10c,_0x1c01e8){return _0x4bf10c===_0x1c01e8;},'gVrei':_0x464975(0x176),'FJrbg':'write_lock_waiting','IZekD':function(_0x30401f,_0x295830){return _0x30401f*_0x295830;},'PigDL':'write_lock_error'};if(!this[_0x464975(0x132)])return{'success':!![],'lockValue':null,'lockKey':null};const _0x36b6ad=this[_0x464975(0x173)]({..._0x5a78d1,'lockType':_0x55a1a0['KxZoH']}),_0x127704=this[_0x464975(0x173)]({..._0x5a78d1,'lockType':'read'}),_0xcf4915=this['generateLockValue']();try{const _0x22b7a5=redisClient['getClient']();if(this[_0x464975(0x15d)]===_0x464975(0x156)){const _0x4d7d0f=await _0x22b7a5['set'](_0x36b6ad,_0xcf4915,'EX',this[_0x464975(0x127)],'NX');if(_0x4d7d0f==='OK')return logger[_0x464975(0x153)]({'event':'write_lock_acquired','key':_0x36b6ad,'value':_0xcf4915,'strategy':_0x55a1a0[_0x464975(0x147)]},_0x55a1a0['hQZeJ']),{'success':!![],'lockValue':_0xcf4915,'lockKey':_0x36b6ad};return logger[_0x464975(0x153)]({'event':_0x55a1a0[_0x464975(0x12a)],'key':_0x36b6ad},_0x55a1a0[_0x464975(0x152)]),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x132740=0x0;_0x132740<this[_0x464975(0x130)];_0x132740++){const [_0x32140a,_0x9cd71e]=await Promise['all']([_0x22b7a5[_0x464975(0x13c)](_0x127704),_0x22b7a5[_0x464975(0x13c)](_0x36b6ad)]);if(!_0x9cd71e&&(!_0x32140a||_0x55a1a0['LtLwd'](parseInt(_0x32140a),0x0))){const _0x56486c=await _0x22b7a5[_0x464975(0x141)](_0x36b6ad,_0xcf4915,'EX',this['defaultTTL'],'NX');if(_0x56486c==='OK')return logger[_0x464975(0x153)]({'event':'write_lock_acquired','key':_0x36b6ad,'value':_0xcf4915,'strategy':_0x55a1a0['gVrei']},_0x464975(0x13a)),{'success':!![],'lockValue':_0xcf4915,'lockKey':_0x36b6ad};}logger['debug']({'event':_0x55a1a0['FJrbg'],'writeKey':_0x36b6ad,'readCount':_0x32140a,'attempt':_0x132740},_0x464975(0x16a)),await this['sleep'](_0x55a1a0['IZekD'](this[_0x464975(0x14e)],Math[_0x464975(0x13d)](0x2,_0x132740)));}return logger['warn']({'event':_0x464975(0x165),'key':_0x36b6ad},'WRITE\x20lock\x20acquire\x20timeout'),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x555124){return logger[_0x464975(0x14c)]({'event':_0x55a1a0['PigDL'],'error':_0x555124['message']},_0x464975(0x177)),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x261e05(0x168)](_0x3445cc,_0x1ada98){const _0x58f0ce=a0_0x261e05,_0x404938={'RZHKs':function(_0x536d03,_0x401045){return _0x536d03>_0x401045;},'PDckL':_0x58f0ce(0x142),'jvMWg':'Cannot\x20release\x20lock\x20-\x20not\x20owner'};if(!this[_0x58f0ce(0x132)]||!_0x3445cc)return!![];try{const _0x39eb2e=redisClient[_0x58f0ce(0x136)]();if(_0x3445cc[_0x58f0ce(0x15c)](':read:')){await _0x39eb2e[_0x58f0ce(0x162)](_0x3445cc);const _0x537449=_0x3445cc['substring'](0x0,_0x3445cc['lastIndexOf'](':')),_0x4cb2a2=await _0x39eb2e[_0x58f0ce(0x13c)](_0x537449);return _0x4cb2a2&&_0x404938[_0x58f0ce(0x12f)](parseInt(_0x4cb2a2),0x0)&&await _0x39eb2e[_0x58f0ce(0x137)](_0x537449),logger['debug']({'event':_0x58f0ce(0x157),'key':_0x3445cc},'READ\x20lock\x20released'),!![];}const _0x50a65d=_0x58f0ce(0x12b),_0x16d097=await _0x39eb2e['eval'](_0x50a65d,0x1,_0x3445cc,_0x1ada98);if(_0x16d097===0x1)return logger['debug']({'event':_0x58f0ce(0x149),'key':_0x3445cc},'WRITE\x20lock\x20released'),!![];return logger['warn']({'event':_0x404938['PDckL'],'key':_0x3445cc},_0x404938['jvMWg']),![];}catch(_0x184cea){return logger[_0x58f0ce(0x14c)]({'event':'lock_release_error','key':_0x3445cc,'error':_0x184cea[_0x58f0ce(0x14d)]},_0x58f0ce(0x126)),![];}}async[a0_0x261e05(0x13e)](_0x2fdb54,_0x4f9704,_0x351b40=null){const _0x38b63d=a0_0x261e05,_0x1e8bd9={'RgPCl':function(_0xcf84a0,_0x5ceff7){return _0xcf84a0===_0x5ceff7;},'UJWbf':'lock_extended'};if(!this[_0x38b63d(0x132)]||!_0x2fdb54)return!![];try{const _0x3b3f32=redisClient['getClient'](),_0x6d42a1=_0x38b63d(0x143),_0xc949c0=await _0x3b3f32[_0x38b63d(0x140)](_0x6d42a1,0x1,_0x2fdb54,_0x4f9704,_0x351b40||this[_0x38b63d(0x127)]);if(_0x1e8bd9['RgPCl'](_0xc949c0,0x1))return logger['debug']({'event':_0x1e8bd9['UJWbf'],'key':_0x2fdb54,'ttl':_0x351b40||this[_0x38b63d(0x127)]},_0x38b63d(0x129)),!![];return![];}catch(_0x95adde){return logger[_0x38b63d(0x14c)]({'event':_0x38b63d(0x151),'key':_0x2fdb54,'error':_0x95adde[_0x38b63d(0x14d)]},'Lock\x20extend\x20error'),![];}}[a0_0x261e05(0x125)](){const _0x3875b3=a0_0x261e05;return this[_0x3875b3(0x132)];}[a0_0x261e05(0x144)](_0xd27853){return new Promise(_0x507542=>setTimeout(_0x507542,_0xd27853));}async['getLockInfo'](_0x42bba7){const _0x5c7fbb=a0_0x261e05,_0x3e5c8f={'OVqiN':'write','LyjQY':function(_0x2ba4a1,_0x3a01d3){return _0x2ba4a1||_0x3a01d3;}};if(!this['enabled'])return{'enabled':![]};try{const _0xced578=redisClient[_0x5c7fbb(0x136)](),_0x468f05=this[_0x5c7fbb(0x173)]({..._0x42bba7,'lockType':_0x3e5c8f[_0x5c7fbb(0x164)]}),_0x179941=this['buildLockKey']({..._0x42bba7,'lockType':'read'}),[_0x23e4b7,_0x3affb0]=await Promise[_0x5c7fbb(0x150)]([_0xced578[_0x5c7fbb(0x13c)](_0x468f05),_0xced578['get'](_0x179941)]);return{'enabled':!![],'writeLock':_0x3e5c8f[_0x5c7fbb(0x155)](_0x23e4b7,null),'readCount':parseInt(_0x3affb0)||0x0,'writeKey':_0x468f05,'readKey':_0x179941};}catch(_0x49c22b){return{'enabled':!![],'error':_0x49c22b['message']};}}}module[a0_0x261e05(0x134)]=new LockManager();function a0_0x4d06(){const _0xcc014b=['ywXS','Bg9JA19LEhrLBMrFzxjYB3i','tfbnsNm','zgvIDwC','ndiXmZG4v0fpBNbb','thLQuvK','CMvQzwn0','CMvHzf9SB2nRx3jLBgvHC2vK','qKT1rLe','D3jPDgvFBg9JA19YzwPLy3rLza','tNH4EKm','ndK2otC1oejZtLLvva','Aw5JBhvKzxm','C3rYyxrLz3K','x2LUAxrPywXPEMvK','ChjLzML4','CMvHzf9SB2nRx3rPBwvVDxq','D29YA2vYswq','zgvS','x3jLDhj5rgvSyxK','t1zXAu4','D3jPDgvFBg9JA190Aw1LB3v0','mtyXntGWm1P5z3PHsq','ndy0odrtuwL5Dwi','CMvSzwfZzuXVy2S','DxvPza','v2fPDgLUzYbMB3iGBg9JA3mGDg8GCMvSzwfZzq','x3DVCMTLCKLK','x3jLDhj5q291BNq','CMy6Bg9JAZO','te9ds19esvnuuKLcvvrfrf9srvrswv9eruXbwq','ndeWntiYDu54BufV','zxHWAxjL','D3jPDgu','x3n0CMf0zwD5','yNvPBgrmB2nRs2v5','x2rLzMf1BhruveW','uKvbrcbSB2nRigfJCxvPCMvK','CMv0CNK','v1jjveuGBg9JAYbLCNjVCG','mteXnZm0nJrTrejlvg8','x2vUC3vYzuLUAxrPywXPEMvK','mteXnJG3nwfLzurOvW','x3bYzwzPEa','AxnfBMfIBgvK','tg9JAYbYzwXLyxnLigvYCM9Y','zgvMyxvSDfruta','te9ds19esvnuuKLcvvrfrf9tvfjbvevhwq','tg9JAYbuveWGzxH0zw5Kzwq','DKfcshG','cIaGicaGicaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicaGicaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzgvSiIWGs0vzu1SXxsKkicaGicaGicbLBhnLcIaGicaGicaGicbYzxr1CM4GmaOGicaGicaGigvUzaOGicaGica','swrbD2i','lcbZDhjHDgvNEtOG','Aw5JCG','uLPis3m','CMv0CNLdB3vUDa','lI9SB2DNzxi','zw5HyMXLza','wfvYrLG','zxHWB3j0CW','tgfhvfi','z2v0q2XPzw50','zgvJCG','x2vUywjSzwq','nJvotKD5ruS','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMv0CNKGBw9KzsK','CgLK','z2v0','Cg93','zxH0zw5Ktg9JAW','D2fYBG','zxzHBa','C2v0','Bg9JA19YzwXLyxnLx25VDf9VD25LCG','cIaGicaGicaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicaGicaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzxHWAxjLiIWGs0vzu1SXxsWGqvjhvLSYxsKkicaGicaGicbLBhnLcIaGicaGicaGicbYzxr1CM4GmaOGicaGicaGigvUzaOGicaGica','C2XLzxa','CMvHzf9SB2nRx2fJCxvPCMvK','x2LUAxrdB25MAwC','AwnfsKS','uKvbrcbSB2nRigfJCxvPCMuGDgLTzw91Da','D3jPDgvFBg9JA19YzwXLyxnLza','zw52','Aw5MBW','zxjYB3i','BwvZC2fNzq','CMv0CNLezwXHEq','z2vUzxjHDgvmB2nRvMfSDwu'];a0_0x4d06=function(){return _0xcc014b;};return a0_0x4d06();}
@@ -1 +1 @@
1
- function a0_0x4e16(_0x39a212,_0xebe7dc){_0x39a212=_0x39a212-0x11c;const _0x533c9a=a0_0x533c();let _0x4e1621=_0x533c9a[_0x39a212];if(a0_0x4e16['vROGcf']===undefined){var _0x14a564=function(_0x5c043f){const _0x11ac67='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x82c3fb='',_0x36a6cf='';for(let _0x251818=0x0,_0x3c9966,_0x5cc994,_0x59c39b=0x0;_0x5cc994=_0x5c043f['charAt'](_0x59c39b++);~_0x5cc994&&(_0x3c9966=_0x251818%0x4?_0x3c9966*0x40+_0x5cc994:_0x5cc994,_0x251818++%0x4)?_0x82c3fb+=String['fromCharCode'](0xff&_0x3c9966>>(-0x2*_0x251818&0x6)):0x0){_0x5cc994=_0x11ac67['indexOf'](_0x5cc994);}for(let _0x471346=0x0,_0x3c0416=_0x82c3fb['length'];_0x471346<_0x3c0416;_0x471346++){_0x36a6cf+='%'+('00'+_0x82c3fb['charCodeAt'](_0x471346)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x36a6cf);};a0_0x4e16['DTABVN']=_0x14a564,a0_0x4e16['xIIHcK']={},a0_0x4e16['vROGcf']=!![];}const _0x419c06=_0x533c9a[0x0],_0x598a51=_0x39a212+_0x419c06,_0x47240b=a0_0x4e16['xIIHcK'][_0x598a51];return!_0x47240b?(_0x4e1621=a0_0x4e16['DTABVN'](_0x4e1621),a0_0x4e16['xIIHcK'][_0x598a51]=_0x4e1621):_0x4e1621=_0x47240b,_0x4e1621;}const a0_0x129db8=a0_0x4e16;(function(_0x419c5d,_0x4ba978){const _0x1668f8=a0_0x4e16,_0x1bdcab=_0x419c5d();while(!![]){try{const _0x1a23d1=parseInt(_0x1668f8(0x17f))/0x1+-parseInt(_0x1668f8(0x166))/0x2*(parseInt(_0x1668f8(0x1e0))/0x3)+-parseInt(_0x1668f8(0x162))/0x4+-parseInt(_0x1668f8(0x19c))/0x5+parseInt(_0x1668f8(0x1c9))/0x6+-parseInt(_0x1668f8(0x128))/0x7+-parseInt(_0x1668f8(0x1bd))/0x8*(-parseInt(_0x1668f8(0x1ab))/0x9);if(_0x1a23d1===_0x4ba978)break;else _0x1bdcab['push'](_0x1bdcab['shift']());}catch(_0x4ccb57){_0x1bdcab['push'](_0x1bdcab['shift']());}}}(a0_0x533c,0xd4bcc));function a0_0x533c(){const _0x3b31d3=['C3rYAw5NAwz5','s3HWtve','ifTtte9xxq','wvnSC2m','rfjpua','iokvKqRILzeGifbVCNqGicaGicaGidOG','yxbPx3nLy3jLDa','mtjwC2PysfG','A0PKv1q','iokvKqRILzeGienVBMzPzYaGicaGidOG','qwv6txa','u0vmrunu','CgfKrw5K','y3z2','DhjPBq','C29Tzq','z2v0sgvHzgvYCW','uNPWvNu','C3rHDhvZ','CMvMCMvZAf90B2TLBG','mta1ndGZn0rTtwf4Dq','tK9erv9ftLy','CMvZB2X2zq','BwvZC2fNzq','ve9gy08','cUkvOokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvOWRILzeGievUDMLYB25Tzw50idOG','rgvMyxvSDa','ChHLteC','y3jLzgvUDgLHBhm','vu5ltK9xtG','y3jLzgvUDgLHBa','zgv2zwXVCg1LBNq','CMvTB3rLqwrKCMvZCW','ChjVy2vZC193yxjUAw5N','C3rHCNrZv2L0Aa','Aw5MBW','revPv0W','BMfTzq','vfrvrvm','Aw5JBhvKzxm','AuzrqLi','zMfSC2u','vfjbtLnbq1rjt05FqKvhsu4','r09QrNu','ruTfvvu','zMXVB3i','A2v5CW','Cgf0Aa','Ec1Yzxf1zxn0lwLK','Dhj1zq','vfjbtLnbq1rjt05Fq09ntuLu','w1jfrefdveveoMHHC2HD','te9hx0rjuG','ChjPDMf0zv9RzxK','ANnVBG','z1juAg8','zMXVB2u','zw52','CMvWzwf0','rxjYB3i','DwHvwxu','wvDSAwi','iokvKqRILzeGiefqssblzxKGicaGidOG','Bwf0y2G','reiGuxvLCNK','u1fmx0Xpr19qqvjbtvm','Dg9Rzw4','D3jPDgu','C3rKu2vYAwfSAxPLCNm','zgjFDhjHBNnHy3rPB24','ChjVAMvJDa','rhbhuLi','u1fmx0Xpr19tte9xx1riuKvtse9mra','tKvIyKG','icdIHPiG','uK9mtejbq0S','y3jLzgL0x2nHCMq','shLbAuS','nJyXnZK5mKDfwu1rEG','icbizwfSDgG6ia','wgzoBMS','tK9uiefdveLwrq','ntG1ntGYCfHlA3jR','r2XVyMfSigvYCM9YigHHBMrSzxjZigLUAxrPywXPEMvK','BwvTB3j5vxnHz2u','CePmsw8','Bwv0Ag9K','zgf0ywjHC2u','qvvszMC','Dxb0Aw1L','Bg9N','y29Kzq','w09lxsbtzxj2zxiGCMvHzhKGB24GCg9YDca','y29UBMvJDgLVBG','cUkvLokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvLWO','vvbeqvrf','DgvZDa','DxjS','Bw9KDwXL','vvPbyxy','uw9ituG','CxvLCNK','yxPYA3K','ywnJzxnZx3rVA2vU','C2vYDMLJzuLUzM8','CMvZDgzVCMDL','yNbMAfu','mti1mdGYmuHqrenurG','D2fYBG','u1DRu2m','vhjHBNnHy3rPB24G','BwfW','ufbXCue','ChjPDMf0zwTLEq','zw52AxjVBM1LBNq','v01PwLK','uwreweO','A3rZyvm','yxbPx2TLEq','qKvhsu4','te9hx1rpx0zjteu','AM9PBG','quXurvi','y1nJCNO','Bfnyyuy','rgf0ywjHC2u6ia','BgvUz3rO','Dg9vChbLCKnHC2u','tM9Kzs5QCW','AgvHBhrOq2HLy2S','CMvWBgfJzq','qvbqx1zfuLnjt04','sfruuca','rermx0rst1a','DxLeB0q','revmrvrf','nta4odK1nxHrEK1SCq','qwzmBge','zgvMyxvSDa','thfqy2m','EhDQu1C','zxjYB3iUBg9N','Bwf4','yxbPA2v5','ChDK','y3jLyxrLv3jPDgvtDhjLyw0','Ag9ZDa','yxbWlMXVzW','Dg9mB3DLCKnHC2u','y29UzMLNrMLSzq','qu9Nwuy','mtaXmta5ntf0zNLQyMe','yxbPs2v5','zgvIDwC','D2fYBMLUzW','ALbyDvy','C3fSx3f1zxj5','t05RsK4','yKLSDK4','BfzPv2K','iokvKqRILzeGifbYB2PLy3qGicaGidOG','thLRtMq','lI9SB2DZlW','Dg9ju09tDhjPBMC','w1jfrefdvevexq','uhjVy2vZCYbxyxjUAw5NoIa','CgLUBY1WCMv0DhK','zfzHt3q','DhLWzq','mJr1AenirfO','su5trvju','Dw5JyxvNAhrfEgnLChrPB24','rKfuquW6ia','icbvuKW6icaGia','zxjYB3i','t2vJqLq','zgf0ywjHC2vFy29UzMLN','AxntBg93','t0rws04','C3rHDhvZq29Kzq','B2jQzwn0','mtq2nJi2ofreAurTva','Cg9YDa','CgfZC3DVCMq','zMf0ywW','rMfPBgvKihrVignYzwf0zsbSB2CGC3rYzwfTCZO','CgLKlgHVC3rUyw1LlhnLCNzPy2uSDMvYC2LVBIXLBNySzxzLBNqSBw9KDwXLlhbVCNqSy29UzMLNlgfWAuTLEuvUywjSzwqSCgf0AcX3B3jRAw5NrgLYlgLZugTNlgLZtM9KzvnJCMLWDcXMAwXLlgvTywLSlhr5CguSy29YCYXSB2DNAw5NlgfWAuTLEsXJB3vUDcXLBMrWB2LUDcXYB3v0zq','rMLSzsbSB2DNAw5NigvUywjSzwq6ia','C3rHy2S','rMfPBgvKihrVignYzwf0zsbSB2CGzgLYzwn0B3j5ia','C2vJCMv0','Ahj0Aw1L','icbjBMzVoIaGia','qunusvzf','s1HIrfe','yMfZzvvYBa','CM93C0fMzMvJDgvK'];a0_0x533c=function(){return _0x3b31d3;};return a0_0x533c();}const pino=require('pino'),fs=require('fs'),path=require('path');let logToFile=![],logDir='./logs',serviceName=a0_0x129db8(0x17d),sqlLogEnabled=![],sqlLogLevel='debug',sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':'SYS:HH:MM:ss','ignore':a0_0x129db8(0x1ce),'singleLine':![],'levelFirst':!![],'messageFormat':'{msg}','customColors':'info:blue,warn:yellow,error:red,debug:gray','hideObject':!![]},isDevelopment=process['env']['NODE_ENV']!=='production',logLevel=process[a0_0x129db8(0x14d)]['LOG_LEVEL']||a0_0x129db8(0x137);let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':a0_0x129db8(0x1ba),'options':prettyPrintOptions}:undefined,'base':{'service':'restforge','version':process['env'][a0_0x129db8(0x197)]||'1.0.5','env':process['env'][a0_0x129db8(0x129)]||a0_0x129db8(0x133)},'timestamp':pino['stdTimeFunctions']['isoTime'],'redact':{'paths':['req.headers.authorization','req.headers[\x22x-api-key\x22]',a0_0x129db8(0x1cb),a0_0x129db8(0x156),a0_0x129db8(0x1ac),'DB_PASSWORD','JWT_SECRET'],'censor':a0_0x129db8(0x1b8)},'serializers':{'req':_0x293fee=>({'id':_0x293fee['id'],'method':_0x293fee[a0_0x129db8(0x16a)],'url':_0x293fee['url'],'path':_0x293fee[a0_0x129db8(0x143)],'remoteAddress':_0x293fee['ip']||_0x293fee[a0_0x129db8(0x171)]?.[a0_0x129db8(0x134)]}),'res':_0x23971d=>({'statusCode':_0x23971d['statusCode'],'headers':_0x23971d[a0_0x129db8(0x124)]?.()}),'err':pino[a0_0x129db8(0x158)]['err']}});function initFileLogging(){const _0x5e7cac=a0_0x129db8,_0x29cef3={'GOjFu':_0x5e7cac(0x145),'kfTxH':_0x5e7cac(0x1ad),'pqNmW':function(_0x46d443,_0x488606){return _0x46d443!==_0x488606;},'OecBT':function(_0x2942fe,_0x17b2db){return _0x2942fe(_0x17b2db);},'xwjSW':_0x5e7cac(0x1a1)};if(fileLoggingInitialized)return;logToFile=process[_0x5e7cac(0x14d)][_0x5e7cac(0x18c)]==='true';const _0x5cd93f=process['env']['RESTFORGE_PROJECT_NAME']||_0x5e7cac(0x19e);logDir=process['env'][_0x5e7cac(0x148)]||_0x5e7cac(0x1b6)+_0x5cd93f,serviceName=process['env']['SERVICE_NAME']||'restforge',sqlLogEnabled=process[_0x5e7cac(0x14d)]['SQL_LOG_ENABLED']===_0x29cef3[_0x5e7cac(0x13f)],sqlLogLevel=process[_0x5e7cac(0x14d)]['SQL_LOG_LEVEL']||_0x29cef3['kfTxH'],sqlLogParams=_0x29cef3['pqNmW'](process['env'][_0x5e7cac(0x155)],_0x5e7cac(0x13d)),sqlLogSlowThreshold=_0x29cef3[_0x5e7cac(0x1c3)](parseInt,process[_0x5e7cac(0x14d)][_0x5e7cac(0x15c)])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x1c3409=path[_0x5e7cac(0x12a)](process['cwd'](),logDir);try{!fs['existsSync'](_0x1c3409)&&fs['mkdirSync'](_0x1c3409,{'recursive':!![]});}catch(_0x1c875d){console['error'](_0x5e7cac(0x1d1)+_0x1c3409+':',_0x1c875d[_0x5e7cac(0x12b)]),fileLoggingInitialized=!![];return;}const _0x4f6d10=path[_0x5e7cac(0x18d)](_0x1c3409,_0x5e7cac(0x1a7)),_0x5ade40=path['join'](_0x1c3409,_0x5e7cac(0x1a1));try{appLogStream=fs['createWriteStream'](_0x4f6d10,{'flags':'a'}),errorLogStream=fs[_0x5e7cac(0x1a5)](_0x5ade40,{'flags':'a'}),fileLoggingInitialized=!![];const _0x3b6b79={'event':'file_logging_enabled','logDir':_0x1c3409,'files':[_0x5e7cac(0x1a7),_0x29cef3[_0x5e7cac(0x1a0)]]},_0x2e1994=_0x5e7cac(0x1cf)+_0x1c3409;logger[_0x5e7cac(0x137)](_0x3b6b79,_0x2e1994),writeToFileLog({..._0x3b6b79,'level':_0x5e7cac(0x137),'msg':_0x2e1994,'time':new Date()[_0x5e7cac(0x1b7)]()},_0x5e7cac(0x137));}catch(_0x368ab0){console[_0x5e7cac(0x1c2)](_0x5e7cac(0x1cd),_0x368ab0[_0x5e7cac(0x12b)]),fileLoggingInitialized=!![];}}function writeToFileLog(_0x1ca062,_0x5147cf){const _0x51b5b9=a0_0x129db8,_0x1fbba1={'azrky':function(_0x407090,_0x50cfa9){return _0x407090||_0x50cfa9;},'KXbDQ':function(_0x269600,_0xc41ff6){return _0x269600+_0xc41ff6;}};if(_0x1fbba1[_0x51b5b9(0x17a)](!logToFile,!appLogStream))return;const _0x11cb7b={'service':serviceName,..._0x1ca062},_0x4e6733=_0x1fbba1[_0x51b5b9(0x1d6)](JSON[_0x51b5b9(0x1d9)](_0x11cb7b),'\x0a');appLogStream[_0x51b5b9(0x157)](_0x4e6733),(_0x5147cf==='error'||_0x5147cf==='fatal')&&(errorLogStream&&errorLogStream['write'](_0x4e6733));}const createRequestLogger=(_0x1564c0={})=>{return logger['child'](_0x1564c0);},logServerStart=_0x1218e2=>{const _0x17e6d6=a0_0x129db8,_0x239c8a={'ScSxn':function(_0x19ef0,_0x48c272){return _0x19ef0/_0x48c272;},'CnXJS':function(_0xbf7d30,_0x3f5f05){return _0xbf7d30-_0x3f5f05;},'OPoPO':'N/A','NOgjF':function(_0x29c15f,_0x41689b){return _0x29c15f(_0x41689b);},'uhUYu':_0x17e6d6(0x12e),'fdwJZ':_0x17e6d6(0x1d5),'UKgBE':'server_starting','OYTty':_0x17e6d6(0x137)},_0x223c78='RESTFORGE\x20RUNTIME\x20SERVER',_0x18e28d=Math[_0x17e6d6(0x1a2)](0x0,0x37-_0x223c78[_0x17e6d6(0x192)]),_0x2c053c=Math[_0x17e6d6(0x141)](_0x239c8a['ScSxn'](_0x18e28d,0x2)),_0x2c9601=_0x239c8a['CnXJS'](_0x18e28d,_0x2c053c),_0x25335f='║'+'\x20'['repeat'](_0x2c053c)+_0x223c78+'\x20'[_0x17e6d6(0x14e)](_0x2c9601)+'║',_0x11a2ca=_0x17e6d6(0x172)+_0x25335f+_0x17e6d6(0x12d)+(_0x1218e2[_0x17e6d6(0x186)]||_0x17e6d6(0x194))[_0x17e6d6(0x120)](0x26)+_0x17e6d6(0x1b4)+(_0x1218e2[_0x17e6d6(0x15a)]||_0x239c8a['OPoPO'])[_0x17e6d6(0x120)](0x26)+_0x17e6d6(0x1de)+_0x239c8a['NOgjF'](String,_0x1218e2['port']||0xbb8)['padEnd'](0x26)+_0x17e6d6(0x11d)+(_0x1218e2[_0x17e6d6(0x1a9)]||_0x239c8a[_0x17e6d6(0x150)])['padEnd'](0x26)+_0x17e6d6(0x152)+(_0x1218e2['apiKey']?_0x239c8a['fdwJZ']:_0x17e6d6(0x165))['padEnd'](0x26)+'\x20║\x0a╚═══════════════════════════════════════════════════════╝';console[_0x17e6d6(0x16e)](_0x11a2ca);const _0xca368e={'event':_0x239c8a['UKgBE'],'project':_0x1218e2['project'],'port':_0x1218e2['port'],'config':_0x1218e2[_0x17e6d6(0x1a9)],'apiKeyEnabled':!!_0x1218e2['apiKey']};logger[_0x17e6d6(0x137)](_0xca368e),writeToFileLog({..._0xca368e,'level':_0x239c8a['OYTty'],'msg':'Server\x20starting:\x20'+_0x1218e2['project']+'\x20on\x20port\x20'+_0x1218e2['port'],'time':new Date()[_0x17e6d6(0x1b7)]()},_0x17e6d6(0x137));},logServerReady=_0x3c568d=>{const _0x6b698d=a0_0x129db8,_0x58247f={'LqPcc':'server_ready','ktsaS':'info'},_0x156eef={'event':_0x58247f[_0x6b698d(0x19f)],'port':_0x3c568d[_0x6b698d(0x1ca)],'module':_0x3c568d[_0x6b698d(0x176)],'healthCheck':_0x3c568d[_0x6b698d(0x195)],'serviceInfo':_0x3c568d[_0x6b698d(0x17c)],'baseUrl':_0x3c568d['baseUrl']},_0x2138d8=_0x6b698d(0x170)+_0x3c568d[_0x6b698d(0x1ca)];logger[_0x6b698d(0x137)](_0x156eef,_0x2138d8),writeToFileLog({..._0x156eef,'level':_0x58247f['ktsaS'],'msg':_0x2138d8,'time':new Date()['toISOString']()},_0x58247f[_0x6b698d(0x189)]),_0x3c568d['healthCheck']&&logger['info'](_0x6b698d(0x163)+_0x3c568d['healthCheck']),_0x3c568d[_0x6b698d(0x17c)]&&logger[_0x6b698d(0x137)](_0x6b698d(0x1d4)+_0x3c568d[_0x6b698d(0x17c)]),_0x3c568d[_0x6b698d(0x1d7)]&&logger['info'](_0x6b698d(0x1c1)+_0x3c568d[_0x6b698d(0x1d7)]);},logProjectLoaded=(_0x47a2ed,_0x1117c0)=>{const _0x1e1b0f=a0_0x129db8,_0x49420a={'oHVNw':'project_loaded','kJdWT':'info'},_0x5c24d3={'event':_0x49420a['oHVNw'],'project':_0x47a2ed,'path':_0x1117c0},_0x1fc4f9='[OK]\x20Project\x20loaded:\x20'+_0x47a2ed;logger['info'](_0x5c24d3,_0x1fc4f9),writeToFileLog({..._0x5c24d3,'level':_0x49420a[_0x1e1b0f(0x11c)],'msg':_0x1fc4f9,'time':new Date()['toISOString']()},'info');},logEndpointRegistered=(_0xca971d,_0x13bff7)=>{const _0x3b05d6=a0_0x129db8,_0x26c8c0={'pxeLG':'endpoint_registered','bIlvN':_0x3b05d6(0x1ad)},_0x1f134c={'event':_0x26c8c0[_0x3b05d6(0x12f)],'endpoint':_0xca971d,'route':_0x13bff7},_0x5b5442=_0x3b05d6(0x15e)+_0xca971d+':\x20'+_0x13bff7;logger[_0x3b05d6(0x1ad)](_0x1f134c,_0x5b5442),writeToFileLog({..._0x1f134c,'level':_0x26c8c0['bIlvN'],'msg':_0x5b5442,'time':new Date()['toISOString']()},_0x26c8c0[_0x3b05d6(0x1b2)]);},logDatabaseConfig=_0x19f4df=>{const _0x8f4da2=a0_0x129db8,_0x4ae363={'SHPzI':_0x8f4da2(0x1c4),'jPXuV':function(_0x160e43,_0x47a296,_0x1333c7){return _0x160e43(_0x47a296,_0x1333c7);}},_0x188b83={'event':_0x4ae363['SHPzI'],'host':_0x19f4df[_0x8f4da2(0x1a6)],'port':_0x19f4df['port'],'database':_0x19f4df[_0x8f4da2(0x16b)],'type':_0x19f4df[_0x8f4da2(0x1bc)],'user':_0x19f4df['user']},_0x2f6667=_0x8f4da2(0x191)+_0x19f4df['type']+'://'+_0x19f4df['host']+':'+_0x19f4df['port']+'/'+_0x19f4df[_0x8f4da2(0x16b)];logger['debug'](_0x188b83,_0x2f6667),_0x4ae363[_0x8f4da2(0x1af)](writeToFileLog,{..._0x188b83,'level':'debug','msg':_0x2f6667,'time':new Date()['toISOString']()},'debug');},logRequest=(_0x16399a,_0x203dd9,_0x3a779c)=>{const _0x19e8ad=a0_0x129db8,_0x8ef59a={'UwZLZ':function(_0x5ac5e9,_0x426be3){return _0x5ac5e9>=_0x426be3;},'baznj':function(_0x90e023,_0x345e30,_0x238480){return _0x90e023(_0x345e30,_0x238480);}},_0x154b98={'event':'http_request','method':_0x16399a[_0x19e8ad(0x16a)],'path':_0x16399a[_0x19e8ad(0x143)],'statusCode':_0x203dd9[_0x19e8ad(0x1c7)],'durationMs':_0x3a779c,'ip':_0x16399a['ip']},_0x5978c8=_0x16399a['method']+'\x20'+_0x16399a[_0x19e8ad(0x143)]+'\x20-\x20'+_0x203dd9[_0x19e8ad(0x1c7)]+'\x20('+_0x3a779c+'ms)';let _0x530681=_0x19e8ad(0x137);if(_0x8ef59a['UwZLZ'](_0x203dd9['statusCode'],0x1f4))_0x530681='error',logger[_0x19e8ad(0x1c2)](_0x154b98,_0x5978c8);else _0x203dd9[_0x19e8ad(0x1c7)]>=0x190?(_0x530681=_0x19e8ad(0x180),logger[_0x19e8ad(0x180)](_0x154b98,_0x5978c8)):logger['info'](_0x154b98,_0x5978c8);_0x8ef59a['baznj'](writeToFileLog,{..._0x154b98,'level':_0x530681,'msg':_0x5978c8,'time':new Date()['toISOString']()},_0x530681);},SENSITIVE_PARAM_PATTERNS=['password','passwd',a0_0x129db8(0x1a4),'token',a0_0x129db8(0x17b),a0_0x129db8(0x127),a0_0x129db8(0x1d2),a0_0x129db8(0x1df),a0_0x129db8(0x1a3),'api_key',a0_0x129db8(0x132),a0_0x129db8(0x130),'pin','otp','private_key',a0_0x129db8(0x185)],redactSensitiveParams=(_0x570cef,_0xd932f6)=>{const _0x198d82=a0_0x129db8,_0xe818e0={'lViWi':'string'};if(!_0x570cef||_0x570cef[_0x198d82(0x192)]===0x0)return _0x570cef;const _0x3439b6=_0xd932f6[_0x198d82(0x1a8)](),_0x53901d=_0x3439b6[_0x198d82(0x153)](/\(([^)]+)\)\s*values/i);let _0x11afa2=[];_0x53901d&&(_0x11afa2=_0x53901d[0x1]['split'](',')[_0x198d82(0x183)](_0x5cb032=>_0x5cb032['trim']()['toLowerCase']()));const _0x3d7b1d=_0x3439b6[_0x198d82(0x153)](/set\s+(.+?)(?:\s+where|$)/i);if(_0x3d7b1d){const _0x26a993=_0x3d7b1d[0x1],_0x10e13d=_0x26a993[_0x198d82(0x153)](/(\w+)\s*=/g);_0x10e13d&&(_0x11afa2=_0x10e13d[_0x198d82(0x183)](_0x459d5c=>_0x459d5c[_0x198d82(0x196)](/\s*=/,'')['trim']()['toLowerCase']()));}return _0x570cef[_0x198d82(0x183)]((_0x3c46ae,_0x2c012d)=>{const _0x4df266=_0x198d82;if(_0x11afa2[_0x2c012d]){const _0x3c3d06=_0x11afa2[_0x2c012d],_0x4054f7=SENSITIVE_PARAM_PATTERNS['some'](_0x55cea6=>_0x3c3d06[_0x4df266(0x13b)](_0x55cea6));if(_0x4054f7)return _0x4df266(0x1b8);}if(typeof _0x3c46ae===_0xe818e0[_0x4df266(0x1b3)]&&_0x3c46ae['length']>0x20){if(/^[a-zA-Z0-9+/=_.-]+$/[_0x4df266(0x174)](_0x3c46ae)&&_0x3c46ae[_0x4df266(0x13b)]('.'))return'[REDACTED:token]';if(/^[a-fA-F0-9]{32,}$/['test'](_0x3c46ae))return _0x4df266(0x147);}return _0x3c46ae;});},parseQueryMetadata=_0x25b35f=>{const _0x304c6b=a0_0x129db8,_0x32d08e={'ODVKN':_0x304c6b(0x131),'AfLla':_0x304c6b(0x11f),'EMAmR':'INSERT','qphim':'UPDATE','AezMp':_0x304c6b(0x19b),'lpCFm':_0x304c6b(0x18b),'QAQNa':'START\x20TRANSACTION','SftgK':'COMMIT','dVaOt':_0x304c6b(0x15f),'QoHMH':'CREATE','ocIKH':_0x304c6b(0x1dd)},_0x13a883=_0x25b35f[_0x304c6b(0x122)](),_0xab4993=_0x13a883['toUpperCase']();let _0x40b747=_0x32d08e[_0x304c6b(0x1c6)],_0x2a7c7b=null;if(_0xab4993[_0x304c6b(0x136)](_0x32d08e[_0x304c6b(0x19d)])){_0x40b747=_0x304c6b(0x11f);const _0x13ee14=_0x13a883['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x2a7c7b=_0x13ee14?_0x13ee14[0x1]:null;}else{if(_0xab4993[_0x304c6b(0x136)](_0x32d08e['EMAmR'])){_0x40b747=_0x304c6b(0x1be);const _0x4abcbf=_0x13a883['match'](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x2a7c7b=_0x4abcbf?_0x4abcbf[0x1]:null;}else{if(_0xab4993[_0x304c6b(0x136)](_0x304c6b(0x173))){_0x40b747=_0x32d08e['qphim'];const _0x23b004=_0x13a883['match'](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x2a7c7b=_0x23b004?_0x23b004[0x1]:null;}else{if(_0xab4993['startsWith'](_0x32d08e[_0x304c6b(0x11e)])){_0x40b747=_0x32d08e['AezMp'];const _0x228b87=_0x13a883['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x2a7c7b=_0x228b87?_0x228b87[0x1]:null;}else{if(_0xab4993['startsWith'](_0x32d08e['lpCFm'])||_0xab4993['startsWith'](_0x32d08e['QAQNa']))_0x40b747=_0x304c6b(0x13e);else{if(_0xab4993[_0x304c6b(0x136)](_0x32d08e['SftgK']))_0x40b747=_0x304c6b(0x146);else{if(_0xab4993[_0x304c6b(0x136)](_0x32d08e[_0x304c6b(0x1bb)]))_0x40b747='TRANSACTION_ROLLBACK';else{if(_0xab4993['startsWith'](_0x32d08e[_0x304c6b(0x178)]))_0x40b747='DDL_CREATE';else{if(_0xab4993['startsWith'](_0x304c6b(0x18e)))_0x40b747='DDL_ALTER';else _0xab4993['startsWith'](_0x32d08e['ocIKH'])&&(_0x40b747=_0x304c6b(0x199));}}}}}}}}return{'type':_0x40b747,'table':_0x2a7c7b};},startQueryTimer=()=>{const _0x519d87=process['hrtime']();return()=>{const _0x5d4225=a0_0x4e16,[_0x3517c3,_0x4ac95c]=process[_0x5d4225(0x1d3)](_0x519d87);return parseFloat((_0x3517c3*0x3e8+_0x4ac95c/0xf4240)['toFixed'](0x2));};},logQuery=(_0x3edf9a,_0x2859d5=[],_0x260256={})=>{const _0x314e11=a0_0x129db8,_0x2de000={'FTEGj':'db_query','VsIdy':function(_0x1f0831,_0x56a0f8){return _0x1f0831(_0x56a0f8);},'HGPIZ':_0x314e11(0x1b0),'WMiZY':function(_0x53110a,_0x727776){return _0x53110a!==_0x727776;},'LykNd':function(_0x963323,_0x3eff35){return _0x963323>_0x3eff35;},'DEiWL':'debug','DpGRR':'warn','NRenZ':function(_0x28c346,_0x16cbef){return _0x28c346===_0x16cbef;},'gplRY':function(_0x2772ca,_0x3e05b5,_0x5d8256){return _0x2772ca(_0x3e05b5,_0x5d8256);}};if(!sqlLogEnabled){logger['debug']({'event':_0x2de000['FTEGj'],'query':_0x3edf9a['substring'](0x0,0xc8),'paramCount':_0x2859d5[_0x314e11(0x192)]},_0x314e11(0x154));return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType='postgresql'}=_0x260256,{type:_0x257249,table:_0x42f13d}=_0x2de000['VsIdy'](parseQueryMetadata,_0x3edf9a),_0x375b8d={'event':_0x2de000['HGPIZ'],'queryType':_0x257249,'table':_0x42f13d,'query':_0x3edf9a,'paramCount':_0x2859d5[_0x314e11(0x192)],'dbType':dbType};sqlLogParams&&_0x2859d5['length']>0x0&&(_0x375b8d['params']=redactSensitiveParams(_0x2859d5,_0x3edf9a));duration!==null&&(_0x375b8d['durationMs']=duration,_0x375b8d[_0x314e11(0x1c5)]=duration>sqlLogSlowThreshold);_0x2de000[_0x314e11(0x187)](rowsAffected,null)&&(_0x375b8d[_0x314e11(0x1d8)]=rowsAffected);const _0x402941=_0x42f13d||'unknown';let _0x3216bf='['+_0x257249+']\x20'+_0x402941;duration!==null&&(_0x3216bf+='\x20('+duration+'ms)');const _0x933496=duration!==null&&_0x2de000[_0x314e11(0x1b5)](duration,sqlLogSlowThreshold);let _0x4c43c9=_0x2de000[_0x314e11(0x138)];if(_0x933496)_0x3216bf+=_0x314e11(0x1db),_0x4c43c9=_0x2de000[_0x314e11(0x15b)],logger['warn'](_0x375b8d,_0x3216bf);else _0x2de000['NRenZ'](sqlLogLevel,'info')?(_0x4c43c9='info',logger[_0x314e11(0x137)](_0x375b8d,_0x3216bf)):logger[_0x314e11(0x1ad)](_0x375b8d,_0x3216bf);_0x2de000['gplRY'](writeToFileLog,{..._0x375b8d,'level':_0x4c43c9,'msg':_0x3216bf,'time':new Date()['toISOString']()},_0x4c43c9);},logTransaction=(_0x447c50,_0x480ec3)=>{const _0x953e4f=a0_0x129db8,_0x3837fd={'event':_0x953e4f(0x159),'status':_0x447c50,'queryCount':_0x480ec3},_0x1037b2=_0x953e4f(0x182)+_0x447c50;logger['debug'](_0x3837fd,_0x1037b2),writeToFileLog({..._0x3837fd,'level':_0x953e4f(0x1ad),'msg':_0x1037b2,'time':new Date()['toISOString']()},_0x953e4f(0x1ad));},redactObject=_0x45865f=>{const _0x5b03f6=a0_0x129db8,_0x17da73={'QtlxO':'object','oywpz':_0x5b03f6(0x1cb),'AURfg':'passwd','VWVrA':_0x5b03f6(0x1a4),'sQOUt':'token','IOark':_0x5b03f6(0x18a),'NEbbH':'authorization','cScrz':'creditcard','flooe':_0x5b03f6(0x160),'QdDXJ':_0x5b03f6(0x149),'gRTho':_0x5b03f6(0x185),'Ahplf':'refresh_token','iFQBR':'access_token','QPKnq':'[REDACTED]','uyDoD':function(_0x5bce93,_0x401790){return _0x5bce93!==_0x401790;}};if(!_0x45865f||typeof _0x45865f!==_0x17da73['QtlxO'])return _0x45865f;const _0x411a35=[_0x17da73['oywpz'],_0x17da73[_0x5b03f6(0x16c)],_0x17da73['VWVrA'],_0x17da73['sQOUt'],'secret','apikey',_0x17da73['IOark'],_0x17da73[_0x5b03f6(0x15d)],_0x17da73[_0x5b03f6(0x18f)],_0x17da73[_0x5b03f6(0x14c)],_0x5b03f6(0x121),'ssn','pin',_0x17da73[_0x5b03f6(0x188)],_0x17da73[_0x5b03f6(0x14b)],_0x17da73['Ahplf'],_0x17da73[_0x5b03f6(0x13c)]],_0x57f046=Array['isArray'](_0x45865f)?[..._0x45865f]:{..._0x45865f};for(const _0x637e7e of Object[_0x5b03f6(0x142)](_0x57f046)){const _0x16f490=_0x637e7e[_0x5b03f6(0x1a8)]();if(_0x411a35[_0x5b03f6(0x123)](_0x154afa=>_0x16f490[_0x5b03f6(0x13b)](_0x154afa)))_0x57f046[_0x637e7e]=_0x17da73['QPKnq'];else typeof _0x57f046[_0x637e7e]===_0x5b03f6(0x1c8)&&_0x17da73[_0x5b03f6(0x19a)](_0x57f046[_0x637e7e],null)&&(_0x57f046[_0x637e7e]=redactObject(_0x57f046[_0x637e7e]));}return _0x57f046;},logError=(_0x31576d,_0x3f16f3={},_0xf2573d=null)=>{const _0x3466e7=a0_0x129db8,_0x379975={'YWlib':_0x3466e7(0x1c2)},_0x226b66={'event':_0x379975[_0x3466e7(0x151)],'errorName':_0x31576d['name']||_0x3466e7(0x14f),'errorMessage':_0x31576d['message'],'errorCode':_0x31576d['code']||null,'stack':_0x31576d[_0x3466e7(0x1d0)],..._0x3f16f3},_0x1b0a6f=_0xf2573d||'Error:\x20'+_0x31576d['message'];logger['error'](_0x226b66,_0x1b0a6f),writeToFileLog({..._0x226b66,'level':_0x379975['YWlib'],'msg':_0x1b0a6f,'time':new Date()[_0x3466e7(0x1b7)]()},_0x379975[_0x3466e7(0x151)]);},logFatalError=(_0x193390,_0x24449a={},_0x7dfe71=null)=>{const _0x36a7fd=a0_0x129db8,_0x3fdb79={'TOFcO':'fatal_error','ABQBm':_0x36a7fd(0x14f),'lSXaF':'CRITICAL','hLNcD':'error'},_0x24237f={'event':_0x3fdb79[_0x36a7fd(0x12c)],'errorName':_0x193390[_0x36a7fd(0x139)]||_0x3fdb79['ABQBm'],'errorMessage':_0x193390['message'],'errorCode':_0x193390['code']||null,'stack':_0x193390[_0x36a7fd(0x1d0)],'severity':_0x3fdb79[_0x36a7fd(0x190)],..._0x24449a},_0x14868b=_0x7dfe71||_0x36a7fd(0x1c0)+_0x193390[_0x36a7fd(0x12b)];logger['fatal'](_0x24237f,_0x14868b),writeToFileLog({..._0x24237f,'level':'fatal','msg':_0x14868b,'time':new Date()[_0x36a7fd(0x1b7)]()},_0x3fdb79['hLNcD']);},logHttpError=(_0x579194,_0x5d726f,_0x5d2614={})=>{const _0x3974df=a0_0x129db8,_0x53a63a={'nzsSB':_0x3974df(0x14f),'VkOeE':'user-agent','rpiwB':_0x3974df(0x144),'zHHLF':function(_0x1f3aae,_0x107ba9){return _0x1f3aae>=_0x107ba9;},'BPZGL':function(_0x4e88bd,_0x3e1488,_0x49e46b){return _0x4e88bd(_0x3e1488,_0x49e46b);},'ONkJN':'warn','PPqqA':function(_0x4a755a,_0x247593){return _0x4a755a>=_0x247593;},'pJLIo':'error'},_0x45b225={'event':'http_error','errorName':_0x579194['name']||_0x53a63a['nzsSB'],'errorMessage':_0x579194[_0x3974df(0x12b)],'errorCode':_0x579194[_0x3974df(0x16f)]||_0x579194[_0x3974df(0x1c7)]||0x1f4,'stack':_0x579194[_0x3974df(0x1d0)],'method':_0x5d726f?.['method'],'url':_0x5d726f?.[_0x3974df(0x175)]||_0x5d726f?.['originalUrl'],'path':_0x5d726f?.['path'],'ip':_0x5d726f?.['ip']||_0x5d726f?.[_0x3974df(0x171)]?.['remoteAddress'],'userAgent':_0x5d726f?.['get']?.(_0x53a63a['VkOeE']),'requestId':_0x5d726f?.['id']||_0x5d726f?.['headers']?.[_0x53a63a['rpiwB']],'body':_0x5d726f?.['body']?redactObject(_0x5d726f['body']):undefined,'query':_0x5d726f?.[_0x3974df(0x179)],..._0x5d2614},_0x3e9f08=_0x579194[_0x3974df(0x1c7)]||_0x579194[_0x3974df(0x126)]||0x1f4,_0x3ebbfa=_0x3974df(0x198)+_0x3e9f08+':\x20'+_0x579194['message'];_0x53a63a['zHHLF'](_0x3e9f08,0x1f4)?logger[_0x3974df(0x1c2)](_0x45b225,_0x3ebbfa):logger[_0x3974df(0x180)](_0x45b225,_0x3ebbfa),_0x53a63a['BPZGL'](writeToFileLog,{..._0x45b225,'level':_0x3e9f08>=0x1f4?'error':_0x53a63a[_0x3974df(0x1b1)],'msg':_0x3ebbfa,'time':new Date()['toISOString']()},_0x53a63a[_0x3974df(0x184)](_0x3e9f08,0x1f4)?_0x53a63a[_0x3974df(0x169)]:_0x3974df(0x180));},logUncaughtError=(_0x588fa7,_0x1b22ee)=>{const _0x436033=a0_0x129db8,_0x22c5d8={'CsloU':'Error','UZAav':function(_0x47bd6c,_0x3b9c8f){return _0x47bd6c(_0x3b9c8f);},'DQJPJ':function(_0x33299b,_0x37b4ba,_0x8f45ef){return _0x33299b(_0x37b4ba,_0x8f45ef);},'XfNnk':_0x436033(0x1c2)},_0x47c98b={'event':_0x588fa7,'errorName':_0x1b22ee?.[_0x436033(0x139)]||_0x22c5d8['CsloU'],'errorMessage':_0x1b22ee?.[_0x436033(0x12b)]||_0x22c5d8[_0x436033(0x177)](String,_0x1b22ee),'errorCode':_0x1b22ee?.[_0x436033(0x16f)]||null,'stack':_0x1b22ee?.[_0x436033(0x1d0)],'severity':'CRITICAL','processId':process['pid'],'memoryUsage':process[_0x436033(0x168)](),'uptime':process[_0x436033(0x16d)]()},_0x58bed1='['+_0x588fa7[_0x436033(0x193)]()+']\x20'+(_0x1b22ee?.['message']||_0x1b22ee);logger['fatal'](_0x47c98b,_0x58bed1),_0x22c5d8['DQJPJ'](writeToFileLog,{..._0x47c98b,'level':_0x436033(0x1cc),'msg':_0x58bed1,'time':new Date()[_0x436033(0x1b7)]()},_0x22c5d8[_0x436033(0x164)]);},setupGlobalErrorHandlers=()=>{const _0x95a281=a0_0x129db8,_0x5cd650={'KxpMQ':function(_0x36ad4a,_0x5e5145,_0x3506ca){return _0x36ad4a(_0x5e5145,_0x3506ca);},'LFmKF':_0x95a281(0x1bf),'EKEUU':function(_0x4a9d84,_0x53c499){return _0x4a9d84 instanceof _0x53c499;},'YSlsc':function(_0xd70c84,_0xcaecf3){return _0xd70c84(_0xcaecf3);},'SWkSc':function(_0x5a9a18,_0x5ee4dd,_0x5c0898){return _0x5a9a18(_0x5ee4dd,_0x5c0898);},'HyAiK':_0x95a281(0x135),'bpfhU':'unhandledRejection','RzpVu':'global_error_handlers_setup','AOgYF':_0x95a281(0x167)};process['on'](_0x5cd650['LFmKF'],_0x42ccac=>{const _0x193f0b=_0x95a281;_0x5cd650[_0x193f0b(0x1da)](logUncaughtError,_0x5cd650['LFmKF'],_0x42ccac),setTimeout(()=>{process['exit'](0x1);},0x3e8);}),process['on'](_0x5cd650[_0x95a281(0x17e)],(_0x5d219d,_0x518779)=>{const _0x57da8c=_0x95a281,_0x18c413=_0x5cd650[_0x57da8c(0x140)](_0x5d219d,Error)?_0x5d219d:new Error(_0x5cd650[_0x57da8c(0x1dc)](String,_0x5d219d));_0x5cd650[_0x57da8c(0x181)](logUncaughtError,'unhandledRejection',_0x18c413);}),process['on'](_0x95a281(0x1ae),_0x291706=>{const _0x31d7c2=_0x95a281;logger['warn']({'event':_0x5cd650[_0x31d7c2(0x161)],'name':_0x291706[_0x31d7c2(0x139)],'message':_0x291706[_0x31d7c2(0x12b)],'stack':_0x291706['stack']},_0x31d7c2(0x1b9)+_0x291706[_0x31d7c2(0x12b)]);});const _0x6c83f={'event':_0x5cd650[_0x95a281(0x125)]},_0xddbfde=_0x5cd650[_0x95a281(0x1aa)];logger['info'](_0x6c83f,_0xddbfde),_0x5cd650[_0x95a281(0x1da)](writeToFileLog,{..._0x6c83f,'level':'info','msg':_0xddbfde,'time':new Date()[_0x95a281(0x1b7)]()},_0x95a281(0x137));},createErrorHandlerMiddleware=()=>{const _0x5e1ec2=a0_0x129db8,_0x325e11={'EnpmJ':'Internal\x20server\x20error','TTUES':_0x5e1ec2(0x144)};return(_0x43b4c3,_0x55897d,_0x2bb3ee,_0x5d8637)=>{const _0x595882=_0x5e1ec2;logHttpError(_0x43b4c3,_0x55897d);const _0x2a9905=_0x43b4c3[_0x595882(0x1c7)]||_0x43b4c3[_0x595882(0x126)]||0x1f4;_0x2bb3ee[_0x595882(0x126)](_0x2a9905)[_0x595882(0x14a)]({'success':![],'error':_0x2a9905>=0x1f4?_0x325e11['EnpmJ']:_0x43b4c3['message'],'requestId':_0x55897d['id']||_0x55897d['headers']?.[_0x325e11[_0x595882(0x13a)]]||null});};};module['exports']={'logger':logger,'createRequestLogger':createRequestLogger,'logServerStart':logServerStart,'logServerReady':logServerReady,'logProjectLoaded':logProjectLoaded,'logEndpointRegistered':logEndpointRegistered,'logDatabaseConfig':logDatabaseConfig,'logRequest':logRequest,'logQuery':logQuery,'logTransaction':logTransaction,'startQueryTimer':startQueryTimer,'parseQueryMetadata':parseQueryMetadata,'redactSensitiveParams':redactSensitiveParams,'initFileLogging':initFileLogging,'logError':logError,'logFatalError':logFatalError,'logHttpError':logHttpError,'logUncaughtError':logUncaughtError,'setupGlobalErrorHandlers':setupGlobalErrorHandlers,'createErrorHandlerMiddleware':createErrorHandlerMiddleware,'redactObject':redactObject,'SQL_LOG_CONFIG':{'enabled':sqlLogEnabled,'level':sqlLogLevel,'logParams':sqlLogParams,'slowThreshold':sqlLogSlowThreshold},'FILE_LOG_CONFIG':{'enabled':logToFile,'directory':logDir,'serviceName':serviceName}};
1
+ const a0_0x3cf150=a0_0x1a6e;(function(_0x524335,_0x4704a1){const _0x4dd850=a0_0x1a6e,_0x43ca40=_0x524335();while(!![]){try{const _0x3df870=-parseInt(_0x4dd850(0xc6))/0x1+parseInt(_0x4dd850(0xfc))/0x2+-parseInt(_0x4dd850(0xe3))/0x3*(parseInt(_0x4dd850(0x158))/0x4)+parseInt(_0x4dd850(0x177))/0x5+-parseInt(_0x4dd850(0xd6))/0x6*(-parseInt(_0x4dd850(0x104))/0x7)+-parseInt(_0x4dd850(0x121))/0x8+parseInt(_0x4dd850(0x117))/0x9;if(_0x3df870===_0x4704a1)break;else _0x43ca40['push'](_0x43ca40['shift']());}catch(_0x3b10f9){_0x43ca40['push'](_0x43ca40['shift']());}}}(a0_0xf325,0xe5840));const pino=require(a0_0x3cf150(0x132)),fs=require('fs'),path=require(a0_0x3cf150(0xce));let logToFile=![],logDir='./logs',serviceName='restforge',sqlLogEnabled=![],sqlLogLevel='debug',sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;function a0_0x1a6e(_0x56b168,_0x46e072){_0x56b168=_0x56b168-0xc5;const _0xf32513=a0_0xf325();let _0x1a6ee6=_0xf32513[_0x56b168];if(a0_0x1a6e['wNgdwa']===undefined){var _0x71c73=function(_0x2b2702){const _0x21fefe='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4e9068='',_0x49c517='';for(let _0x4f41fa=0x0,_0x2e95c4,_0x42824d,_0x3c8d72=0x0;_0x42824d=_0x2b2702['charAt'](_0x3c8d72++);~_0x42824d&&(_0x2e95c4=_0x4f41fa%0x4?_0x2e95c4*0x40+_0x42824d:_0x42824d,_0x4f41fa++%0x4)?_0x4e9068+=String['fromCharCode'](0xff&_0x2e95c4>>(-0x2*_0x4f41fa&0x6)):0x0){_0x42824d=_0x21fefe['indexOf'](_0x42824d);}for(let _0x56463d=0x0,_0x454c77=_0x4e9068['length'];_0x56463d<_0x454c77;_0x56463d++){_0x49c517+='%'+('00'+_0x4e9068['charCodeAt'](_0x56463d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x49c517);};a0_0x1a6e['AcYDvu']=_0x71c73,a0_0x1a6e['nLGhNH']={},a0_0x1a6e['wNgdwa']=!![];}const _0x46887c=_0xf32513[0x0],_0x28b5ed=_0x56b168+_0x46887c,_0x2bf489=a0_0x1a6e['nLGhNH'][_0x28b5ed];return!_0x2bf489?(_0x1a6ee6=a0_0x1a6e['AcYDvu'](_0x1a6ee6),a0_0x1a6e['nLGhNH'][_0x28b5ed]=_0x1a6ee6):_0x1a6ee6=_0x2bf489,_0x1a6ee6;}const prettyPrintOptions={'colorize':!![],'translateTime':'SYS:HH:MM:ss','ignore':a0_0x3cf150(0x16f),'singleLine':![],'levelFirst':!![],'messageFormat':'{msg}','customColors':'info:blue,warn:yellow,error:red,debug:gray','hideObject':!![]},isDevelopment=process['env'][a0_0x3cf150(0x100)]!==a0_0x3cf150(0x10e),logLevel=process['env']['LOG_LEVEL']||a0_0x3cf150(0x11d);let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':'pino-pretty','options':prettyPrintOptions}:undefined,'base':{'service':a0_0x3cf150(0x124),'version':process[a0_0x3cf150(0x139)]['APP_VERSION']||a0_0x3cf150(0x178),'env':process['env'][a0_0x3cf150(0x100)]||a0_0x3cf150(0x129)},'timestamp':pino['stdTimeFunctions']['isoTime'],'redact':{'paths':['req.headers.authorization',a0_0x3cf150(0x11f),'password','token','apiKey','DB_PASSWORD',a0_0x3cf150(0x131)],'censor':a0_0x3cf150(0x175)},'serializers':{'req':_0x50d1a6=>({'id':_0x50d1a6['id'],'method':_0x50d1a6[a0_0x3cf150(0xc5)],'url':_0x50d1a6[a0_0x3cf150(0x167)],'path':_0x50d1a6[a0_0x3cf150(0xce)],'remoteAddress':_0x50d1a6['ip']||_0x50d1a6[a0_0x3cf150(0x15b)]?.['remoteAddress']}),'res':_0x423370=>({'statusCode':_0x423370['statusCode'],'headers':_0x423370['getHeaders']?.()}),'err':pino['stdSerializers'][a0_0x3cf150(0x103)]}});function initFileLogging(){const _0x503745=a0_0x3cf150,_0x429199={'Tufxe':function(_0x1f486a,_0x2dbac5){return _0x1f486a===_0x2dbac5;},'gzNEB':'true','iELqI':'app.log','riWcw':'file_logging_enabled','rZrKe':function(_0x9277fc,_0x4b51a2,_0x37a5da){return _0x9277fc(_0x4b51a2,_0x37a5da);},'vuknD':_0x503745(0x11d)};if(fileLoggingInitialized)return;logToFile=_0x429199[_0x503745(0xf7)](process[_0x503745(0x139)][_0x503745(0xe7)],_0x429199['gzNEB']);const _0x3a7002=process['env'][_0x503745(0xea)]||_0x503745(0xf0);logDir=process[_0x503745(0x139)]['LOG_DIR']||_0x503745(0xcc)+_0x3a7002,serviceName=process['env']['SERVICE_NAME']||_0x503745(0x124),sqlLogEnabled=process[_0x503745(0x139)][_0x503745(0xee)]===_0x503745(0x13b),sqlLogLevel=process[_0x503745(0x139)][_0x503745(0x113)]||'debug',sqlLogParams=process[_0x503745(0x139)]['SQL_LOG_PARAMS']!=='false',sqlLogSlowThreshold=parseInt(process['env']['SQL_LOG_SLOW_THRESHOLD'])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x393cb5=path['resolve'](process[_0x503745(0x106)](),logDir);try{!fs[_0x503745(0x107)](_0x393cb5)&&fs[_0x503745(0x151)](_0x393cb5,{'recursive':!![]});}catch(_0x1a0d97){console[_0x503745(0x183)](_0x503745(0x185)+_0x393cb5+':',_0x1a0d97['message']),fileLoggingInitialized=!![];return;}const _0x50f564=path['join'](_0x393cb5,_0x429199[_0x503745(0x152)]),_0x39f692=path['join'](_0x393cb5,_0x503745(0xf6));try{appLogStream=fs['createWriteStream'](_0x50f564,{'flags':'a'}),errorLogStream=fs[_0x503745(0x119)](_0x39f692,{'flags':'a'}),fileLoggingInitialized=!![];const _0x146694={'event':_0x429199[_0x503745(0x174)],'logDir':_0x393cb5,'files':['app.log',_0x503745(0xf6)]},_0x3e95cf=_0x503745(0xfd)+_0x393cb5;logger[_0x503745(0x11d)](_0x146694,_0x3e95cf),_0x429199[_0x503745(0x125)](writeToFileLog,{..._0x146694,'level':_0x429199[_0x503745(0x15d)],'msg':_0x3e95cf,'time':new Date()[_0x503745(0x123)]()},_0x429199['vuknD']);}catch(_0x35f7b2){console['error']('Failed\x20to\x20create\x20log\x20streams:',_0x35f7b2['message']),fileLoggingInitialized=!![];}}function writeToFileLog(_0x35bb91,_0x4f6198){const _0x5a8c80=a0_0x3cf150,_0x49de4a={'PdoxU':function(_0x1dcea7,_0x304186){return _0x1dcea7===_0x304186;},'TNEMl':_0x5a8c80(0x183),'vvDal':'fatal'};if(!logToFile||!appLogStream)return;const _0x327280={'service':serviceName,..._0x35bb91},_0x35865b=JSON['stringify'](_0x327280)+'\x0a';appLogStream[_0x5a8c80(0x169)](_0x35865b),(_0x49de4a[_0x5a8c80(0x10a)](_0x4f6198,_0x49de4a['TNEMl'])||_0x4f6198===_0x49de4a[_0x5a8c80(0x134)])&&(errorLogStream&&errorLogStream[_0x5a8c80(0x169)](_0x35865b));}function a0_0xf325(){const _0xe2400e=['w09lxsbtzxj2zxiGCMvHzhKGB24GCg9YDca','ChDK','y2HPBgq','rgf0ywjHC2u6ia','zw52','C3rHDhvZq29Kzq','Dhj1zq','EvH3r1C','yNbZEMq','rvzvrLi','quXurvi','rermx0fmvevs','y3jLzgL0x2nHCMq','reLkBMS','D2fYBG','Ewfeyuu','u1rbuLqGvfjbtLnbq1rjt04','CgfKrw5K','yxbPA2v5','ChjVAMvJDf9SB2fKzwq','Bg9N','C3nU','w09lxsbqCM9Qzwn0igXVywrLzdOG','BgvUz3rO','ChjPDMf0zwTLEq','Dw5JyxvNAhrfEgnLChrPB24','CgLU','vhjHBNnHy3rPB24G','BwTKAxjtEw5J','AuvmCuK','AvbtsMC','zw5KCg9PBNrFCMvNAxn0zxjLza','s0ntq08','rermx0nsrufurq','ExLTzLi','mZeXnJrqufLIEfa','AgvHBhrOq2HLy2S','iokvKqRILzRILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILz0','y29UBMvJDgLVBG','Ahj0Aw1L','DNvRBKq','t0jXEKi','rxjYB3i','cUkvOokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvOWRILzeGievUDMLYB25Tzw50idOG','y29UzMLNrMLSzq','AgXWyNq','DNDHrhm','zgf0ywjHC2u','A2v5CW','y0TVs1a','DxjS','rgPICwm','D3jPDgu','ANnVBG','AgvHzgvYCW','uhjVy2vZCYbxyxjUAw5NoIa','reiGuxvLCNK','yMfZzvvYBa','CgLKlgHVC3rUyw1LlhnLCNzPy2uSDMvYC2LVBIXLBNySzxzLBNqSBw9KDwXLlhbVCNqSy29UzMLNlgfWAuTLEuvUywjSzwqSCgf0AcX3B3jRAw5NrgLYlgLZugTNlgLZtM9KzvnJCMLWDcXMAwXLlgvTywLSlhr5CguSy29YCYXSB2DNAw5NlgfWAuTLEsXJB3vUDcXLBMrWB2LUDcXYB3v0zq','r1bszem','Bwf0y2G','Cg9YDa','iokvKqRILzeGiefqssblzxKGicaGidOG','CMLxy3C','w1jfrefdvevexq','rermx0rst1a','odiZmdi2mhnnCLzxrW','ms4WlJu','Ec1Yzxf1zxn0lwLK','ywnJzxnZx3rVA2vU','y0TQvvm','C2vYDMLJzuLUzM8','rNP0t00','y3jLzgvUDgLHBhm','zxHWB3j0CW','q1jfqvrf','Dg9gAxHLza','vLLuAwy','zxjYB3i','y1Hcuuu','rMfPBgvKihrVignYzwf0zsbSB2CGzgLYzwn0B3j5ia','Bwv0Ag9K','mtC0otq0mxz4tMfdva','CgfYyw1Z','DLPrBMS','B1bbAwq','B2jQzwn0','runguvq','lI9SB2DZlW','qvz0uwW','Cgf0Aa','tI9b','Chj3DM8','B3jPz2LUywXvCMW','cUkvLokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvLWO','q09ntuLu','zgvIDwC','vvbeqvrf','nLPbDvrvsa','wvjHs2W','C3rHDhvZ','C2vJCMv0','y3z2','v2PYDe8','DhLWzq','C3rHCNrZv2L0Aa','C2vYDMvYx3jLywr5','Dg9mB3DLCKnHC2u','icdIHPiG','q0fHrLO','zMXVB3i','mtC0DxHHsezM','ChjVy2vZC193yxjUAw5N','q1zvwge','AujxuNa','te9hx1rpx0zjteu','uKvtvezpuKDfifjvtLrjtuuGu0vsvKvs','AxntBg93','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','iokvKqRILzeGifbVCNqGicaGicaGidOG','BwvZC2fNzq','zMf0ywW','u1fmx0Xpr19ftKfcteve','CMvMCMvZAf90B2TLBG','zgvMyxvSDa','BwfW','DhjPBq','ifTtte9xxq','BMfTzq','vuzNqxC','zxjYB3iUBg9N','vhvMEgu','yMDTvMm','zfjtwgu','q1jjveLdquW','icbizwfSDgG6ia','mtKZmda0mMXrCgHdyW','rMLSzsbSB2DNAw5NigvUywjSzwq6ia','tK9uiefdveLwrq','DxPSrxa','tK9erv9ftLy','BxmP','CxvLCNK','zxjY','mJmWnZK5mvrIzxvuva','DxnLCI1Hz2vUDa','y3DK','zxHPC3rZu3LUyW','DvzqBey','ChjVAMvJDa','ugrVEfu','CgfZC3DVCMq','CgfZC3DK','zgjFCxvLCNK','ChjVzhvJDgLVBG','Dg9vChbLCKnHC2u','DgvZDa','zw52AxjVBM1LBNq','icbjBMzVoIaGia','u1fmx0Xpr19mrvzfta','vgDrBeq','yxbPx3nLy3jLDa','BgLsvva','mJm0mZi5nev4weH1wG','ANrez2i','y3jLyxrLv3jPDgvtDhjLyw0','AhbVwMK','iokvKqRILzeGienVBMzPzYaGicaGidOG','ALHgvwK','Aw5MBW','s3DvC0C','CMvXlMHLywrLCNnBiNGTyxbPlwTLEsjD','vu5ltK9xtG','ndC3odK2DNnIrNjH','uK9mtejbq0S','Dg9ju09tDhjPBMC','CMvZDgzVCMDL','CLPYs2u','vfjbtLnbq1rjt05FqKvhsu4','wK5TuMy','ChjPDMf0zv9RzxK','zgv2zwXVCg1LBNq','Aw5JBhvKzxm','rgvMyxvSDa','su5trvju','zhjeuey','yxv0Ag9YAxPHDgLVBG','tM9Kzs5QCW','CMvTB3rLqwrKCMvZCW','sLDux1nfq1jfva','CgLUBW','C3rHy2S','DNzeywW'];a0_0xf325=function(){return _0xe2400e;};return a0_0xf325();}const createRequestLogger=(_0x3e32a7={})=>{const _0x387127=a0_0x3cf150;return logger[_0x387127(0x137)](_0x3e32a7);},logServerStart=_0x5b2bd5=>{const _0x578ba5=a0_0x3cf150,_0x102071={'iPSJg':function(_0x197fdc,_0x31fab4){return _0x197fdc/_0x31fab4;},'XOAwW':function(_0x2bdd6e,_0x14731b){return _0x2bdd6e-_0x14731b;},'cKjUS':function(_0x9f995a,_0x24a29d){return _0x9f995a(_0x24a29d);},'jXFUi':_0x578ba5(0x12b),'yemmH':'ACTIVE','WjrtO':'server_starting','KNLKb':function(_0x4c3678,_0x3f47e2,_0x850c5){return _0x4c3678(_0x3f47e2,_0x850c5);},'uHqHa':'info'},_0x1330d9=_0x578ba5(0xe8),_0x506dda=Math['max'](0x0,0x37-_0x1330d9[_0x578ba5(0x14c)]),_0x486a00=Math[_0x578ba5(0xe2)](_0x102071[_0x578ba5(0x153)](_0x506dda,0x2)),_0x18f9e9=_0x102071['XOAwW'](_0x506dda,_0x486a00),_0x56903b='║'+'\x20'['repeat'](_0x486a00)+_0x1330d9+'\x20'['repeat'](_0x18f9e9)+'║',_0x5b93c0=_0x578ba5(0xd2)+_0x56903b+_0x578ba5(0x160)+(_0x5b2bd5[_0x578ba5(0x111)]||_0x578ba5(0x12f))['padEnd'](0x26)+'\x20║\x0a║\x20\x20Project\x20\x20\x20\x20\x20:\x20'+(_0x5b2bd5[_0x578ba5(0x109)]||_0x578ba5(0xcf))[_0x578ba5(0x146)](0x26)+_0x578ba5(0xeb)+_0x102071[_0x578ba5(0x17b)](String,_0x5b2bd5[_0x578ba5(0x172)]||0xbb8)['padEnd'](0x26)+_0x578ba5(0x11b)+(_0x5b2bd5[_0x578ba5(0x161)]||_0x102071[_0x578ba5(0x11c)])['padEnd'](0x26)+_0x578ba5(0x173)+(_0x5b2bd5['apiKey']?_0x102071['yemmH']:_0x578ba5(0xfe))['padEnd'](0x26)+_0x578ba5(0x15a);console[_0x578ba5(0x149)](_0x5b93c0);const _0x400c55={'event':_0x102071[_0x578ba5(0xdb)],'project':_0x5b2bd5[_0x578ba5(0x109)],'port':_0x5b2bd5[_0x578ba5(0x172)],'config':_0x5b2bd5['configFile'],'apiKeyEnabled':!!_0x5b2bd5['apiKey']};logger[_0x578ba5(0x11d)](_0x400c55),_0x102071['KNLKb'](writeToFileLog,{..._0x400c55,'level':_0x102071['uHqHa'],'msg':'Server\x20starting:\x20'+_0x5b2bd5['project']+'\x20on\x20port\x20'+_0x5b2bd5['port'],'time':new Date()['toISOString']()},_0x102071['uHqHa']);},logServerReady=_0x1740f1=>{const _0x2c46b2=a0_0x3cf150,_0x19a776={'noqqK':_0x2c46b2(0xde),'vZQnk':_0x2c46b2(0x11d)},_0x406e3b={'event':_0x19a776['noqqK'],'port':_0x1740f1[_0x2c46b2(0x172)],'module':_0x1740f1['module'],'healthCheck':_0x1740f1[_0x2c46b2(0x159)],'serviceInfo':_0x1740f1[_0x2c46b2(0x17c)],'baseUrl':_0x1740f1[_0x2c46b2(0x16e)]},_0xaadc5c=_0x2c46b2(0x135)+_0x1740f1['port'];logger['info'](_0x406e3b,_0xaadc5c),writeToFileLog({..._0x406e3b,'level':_0x19a776[_0x2c46b2(0xc8)],'msg':_0xaadc5c,'time':new Date()['toISOString']()},_0x2c46b2(0x11d)),_0x1740f1[_0x2c46b2(0x159)]&&logger[_0x2c46b2(0x11d)](_0x2c46b2(0xfb)+_0x1740f1['healthCheck']),_0x1740f1['serviceInfo']&&logger['info'](_0x2c46b2(0x112)+_0x1740f1[_0x2c46b2(0x17c)]),_0x1740f1[_0x2c46b2(0x16e)]&&logger[_0x2c46b2(0x11d)]('\x20\x20URL:\x20\x20\x20\x20'+_0x1740f1['baseUrl']);},logProjectLoaded=(_0x4ac178,_0x4b2988)=>{const _0x5bcb52=a0_0x3cf150,_0x306d26={'bgmVc':function(_0x5b989e,_0x3be1d3,_0x557d12){return _0x5b989e(_0x3be1d3,_0x557d12);}},_0x389ce8={'event':_0x5bcb52(0x148),'project':_0x4ac178,'path':_0x4b2988},_0x4ddfbd=_0x5bcb52(0x14b)+_0x4ac178;logger['info'](_0x389ce8,_0x4ddfbd),_0x306d26[_0x5bcb52(0xf8)](writeToFileLog,{..._0x389ce8,'level':'info','msg':_0x4ddfbd,'time':new Date()['toISOString']()},_0x5bcb52(0x11d));},logEndpointRegistered=(_0x5b297f,_0x1276db)=>{const _0x298961=a0_0x3cf150,_0x3be49d={'bpszd':function(_0x3ca9e5,_0x3be465,_0xd60f62){return _0x3ca9e5(_0x3be465,_0xd60f62);},'mzsEa':_0x298961(0xd4)},_0x47ff99={'event':_0x298961(0x154),'endpoint':_0x5b297f,'route':_0x1276db},_0x117a2f=_0x298961(0xe0)+_0x5b297f+':\x20'+_0x1276db;logger[_0x298961(0xd4)](_0x47ff99,_0x117a2f),_0x3be49d[_0x298961(0x13d)](writeToFileLog,{..._0x47ff99,'level':_0x3be49d['mzsEa'],'msg':_0x117a2f,'time':new Date()['toISOString']()},_0x298961(0xd4));},logDatabaseConfig=_0x41ba38=>{const _0x125e6f=a0_0x3cf150,_0x514927={'FqkIw':function(_0x3997e0,_0x58bdc5,_0x4684a7){return _0x3997e0(_0x58bdc5,_0x4684a7);},'lXpsa':'debug'},_0x502d50={'event':'database_config','host':_0x41ba38['host'],'port':_0x41ba38['port'],'database':_0x41ba38['database'],'type':_0x41ba38['type'],'user':_0x41ba38['user']},_0x3259b4=_0x125e6f(0x138)+_0x41ba38[_0x125e6f(0xdc)]+'://'+_0x41ba38['host']+':'+_0x41ba38['port']+'/'+_0x41ba38[_0x125e6f(0x164)];logger['debug'](_0x502d50,_0x3259b4),_0x514927['FqkIw'](writeToFileLog,{..._0x502d50,'level':_0x125e6f(0xd4),'msg':_0x3259b4,'time':new Date()[_0x125e6f(0x123)]()},_0x514927['lXpsa']);},logRequest=(_0x5576c0,_0x10956d,_0xdab779)=>{const _0x5315f7=a0_0x3cf150,_0x4b38c2={'afieT':'http_request','cDezE':function(_0x3b2aaf,_0x40b8cd){return _0x3b2aaf>=_0x40b8cd;},'iBWRp':'error'},_0x200443={'event':_0x4b38c2['afieT'],'method':_0x5576c0['method'],'path':_0x5576c0[_0x5315f7(0xce)],'statusCode':_0x10956d[_0x5315f7(0x13a)],'durationMs':_0xdab779,'ip':_0x5576c0['ip']},_0x243f32=_0x5576c0[_0x5315f7(0xc5)]+'\x20'+_0x5576c0[_0x5315f7(0xce)]+'\x20-\x20'+_0x10956d[_0x5315f7(0x13a)]+'\x20('+_0xdab779+_0x5315f7(0x101);let _0x206756=_0x5315f7(0x11d);if(_0x4b38c2['cDezE'](_0x10956d[_0x5315f7(0x13a)],0x1f4))_0x206756=_0x4b38c2[_0x5315f7(0xe6)],logger['error'](_0x200443,_0x243f32);else _0x10956d['statusCode']>=0x190?(_0x206756=_0x5315f7(0x143),logger['warn'](_0x200443,_0x243f32)):logger[_0x5315f7(0x11d)](_0x200443,_0x243f32);writeToFileLog({..._0x200443,'level':_0x206756,'msg':_0x243f32,'time':new Date()['toISOString']()},_0x206756);},SENSITIVE_PARAM_PATTERNS=[a0_0x3cf150(0x10b),a0_0x3cf150(0x10c),'pwd','token',a0_0x3cf150(0x17a),a0_0x3cf150(0xef),a0_0x3cf150(0xd9),a0_0x3cf150(0x115),a0_0x3cf150(0x147),'api_key','credential',a0_0x3cf150(0x17e),'pin','otp',a0_0x3cf150(0x128),a0_0x3cf150(0x14d)],redactSensitiveParams=(_0x16a695,_0x3a45a5)=>{const _0x1f4db1=a0_0x3cf150,_0x1e54f5={'JcHCm':function(_0x4ba0a2,_0x2a6cc9){return _0x4ba0a2===_0x2a6cc9;},'fucMD':'string','drDPF':function(_0x365364,_0x534afe){return _0x365364>_0x534afe;}};if(!_0x16a695||_0x16a695[_0x1f4db1(0x14c)]===0x0)return _0x16a695;const _0x3232ab=_0x3a45a5['toLowerCase'](),_0xeb7ec1=_0x3232ab[_0x1f4db1(0x171)](/\(([^)]+)\)\s*values/i);let _0x468ed2=[];_0xeb7ec1&&(_0x468ed2=_0xeb7ec1[0x1]['split'](',')[_0x1f4db1(0xf1)](_0x459da1=>_0x459da1[_0x1f4db1(0xf2)]()[_0x1f4db1(0xdf)]()));const _0x40150b=_0x3232ab[_0x1f4db1(0x171)](/set\s+(.+?)(?:\s+where|$)/i);if(_0x40150b){const _0x84ad5c=_0x40150b[0x1],_0x3e58c2=_0x84ad5c[_0x1f4db1(0x171)](/(\w+)\s*=/g);_0x3e58c2&&(_0x468ed2=_0x3e58c2[_0x1f4db1(0xf1)](_0x18fe2e=>_0x18fe2e['replace'](/\s*=/,'')[_0x1f4db1(0xf2)]()['toLowerCase']()));}return _0x16a695[_0x1f4db1(0xf1)]((_0x121f2f,_0x3a8add)=>{const _0x73e245=_0x1f4db1;if(_0x468ed2[_0x3a8add]){const _0x187db9=_0x468ed2[_0x3a8add],_0x1681cd=SENSITIVE_PARAM_PATTERNS['some'](_0x2be6d7=>_0x187db9['includes'](_0x2be6d7));if(_0x1681cd)return'[REDACTED]';}if(_0x1e54f5['JcHCm'](typeof _0x121f2f,_0x1e54f5['fucMD'])&&_0x1e54f5[_0x73e245(0x12d)](_0x121f2f['length'],0x20)){if(/^[a-zA-Z0-9+/=_.-]+$/[_0x73e245(0x110)](_0x121f2f)&&_0x121f2f[_0x73e245(0x12a)]('.'))return'[REDACTED:token]';if(/^[a-fA-F0-9]{32,}$/[_0x73e245(0x110)](_0x121f2f))return'[REDACTED:hash]';}return _0x121f2f;});},parseQueryMetadata=_0x3c2e9e=>{const _0x298e16=a0_0x3cf150,_0x47c238={'YRaKl':_0x298e16(0x120),'VYTif':'SELECT','cXBQE':_0x298e16(0xd5),'vwaDs':'DELETE','uVPlF':_0x298e16(0xd3),'mxDYQ':_0x298e16(0x180),'CAaFZ':_0x298e16(0x156),'EtAYr':_0x298e16(0x13f),'ZlsSd':'DROP','yaDaE':_0x298e16(0x176)},_0x200e55=_0x3c2e9e[_0x298e16(0xf2)](),_0x28a021=_0x200e55[_0x298e16(0x10f)]();let _0xf0e76b=_0x47c238[_0x298e16(0xd7)],_0x4a7b7e=null;if(_0x28a021[_0x298e16(0xdd)]('SELECT')){_0xf0e76b=_0x47c238[_0x298e16(0x182)];const _0x19d679=_0x200e55['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x4a7b7e=_0x19d679?_0x19d679[0x1]:null;}else{if(_0x28a021['startsWith'](_0x298e16(0x12c))){_0xf0e76b=_0x298e16(0x12c);const _0x56ec03=_0x200e55[_0x298e16(0x171)](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x4a7b7e=_0x56ec03?_0x56ec03[0x1]:null;}else{if(_0x28a021[_0x298e16(0xdd)](_0x298e16(0xd5))){_0xf0e76b=_0x47c238[_0x298e16(0x184)];const _0x31b6c2=_0x200e55['match'](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x4a7b7e=_0x31b6c2?_0x31b6c2[0x1]:null;}else{if(_0x28a021[_0x298e16(0xdd)](_0x47c238[_0x298e16(0x163)])){_0xf0e76b=_0x47c238['vwaDs'];const _0x2c4058=_0x200e55[_0x298e16(0x171)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x4a7b7e=_0x2c4058?_0x2c4058[0x1]:null;}else{if(_0x28a021[_0x298e16(0xdd)]('BEGIN')||_0x28a021['startsWith'](_0x298e16(0x145)))_0xf0e76b=_0x298e16(0x126);else{if(_0x28a021['startsWith'](_0x47c238[_0x298e16(0x108)]))_0xf0e76b='TRANSACTION_COMMIT';else{if(_0x28a021[_0x298e16(0xdd)](_0x298e16(0x122)))_0xf0e76b='TRANSACTION_ROLLBACK';else{if(_0x28a021['startsWith'](_0x47c238['mxDYQ']))_0xf0e76b=_0x47c238[_0x298e16(0xe1)];else{if(_0x28a021['startsWith'](_0x47c238['EtAYr']))_0xf0e76b=_0x298e16(0x140);else _0x28a021['startsWith'](_0x47c238['ZlsSd'])&&(_0xf0e76b=_0x47c238[_0x298e16(0x144)]);}}}}}}}}return{'type':_0xf0e76b,'table':_0x4a7b7e};},startQueryTimer=()=>{const _0x485fc4=a0_0x3cf150,_0x2a0a9e={'rNHmZ':function(_0x2b98e5,_0x3461a4){return _0x2b98e5(_0x3461a4);},'CdmeN':function(_0x353edd,_0x205d0d){return _0x353edd+_0x205d0d;},'jtDgb':function(_0x2bdd3c,_0xabdf8c){return _0x2bdd3c/_0xabdf8c;}},_0x4e53a9=process[_0x485fc4(0x15c)]();return()=>{const _0xacc836=_0x485fc4,[_0xf78c15,_0x2ee499]=process['hrtime'](_0x4e53a9);return _0x2a0a9e['rNHmZ'](parseFloat,_0x2a0a9e['CdmeN'](_0xf78c15*0x3e8,_0x2a0a9e[_0xacc836(0x118)](_0x2ee499,0xf4240))[_0xacc836(0x181)](0x2));};},logQuery=(_0x49eb69,_0xc4bb8=[],_0x52085d={})=>{const _0x4a16f3=a0_0x3cf150,_0x18afd6={'FltbQ':'postgresql','CVUXa':function(_0x49cbab,_0x39991e){return _0x49cbab>_0x39991e;},'EVUFR':function(_0x189b7c,_0x4d8c67){return _0x189b7c!==_0x4d8c67;},'AVtQl':function(_0xf9c5fb,_0x1c409c){return _0xf9c5fb>_0x1c409c;},'DIJnk':function(_0x1ba359,_0x26e2c8){return _0x1ba359||_0x26e2c8;},'UFgAw':'unknown','YwVKw':'warn','xePGQ':function(_0x57dc7d,_0x5c794e,_0x411352){return _0x57dc7d(_0x5c794e,_0x411352);}};if(!sqlLogEnabled){logger['debug']({'event':_0x4a16f3(0x10d),'query':_0x49eb69['substring'](0x0,0xc8),'paramCount':_0xc4bb8[_0x4a16f3(0x14c)]},_0x4a16f3(0x16d));return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x18afd6['FltbQ']}=_0x52085d,{type:_0x1e2516,table:_0x2c6cb6}=parseQueryMetadata(_0x49eb69),_0x224425={'event':'sql_query','queryType':_0x1e2516,'table':_0x2c6cb6,'query':_0x49eb69,'paramCount':_0xc4bb8[_0x4a16f3(0x14c)],'dbType':dbType};sqlLogParams&&_0x18afd6[_0x4a16f3(0xe5)](_0xc4bb8['length'],0x0)&&(_0x224425[_0x4a16f3(0xc7)]=redactSensitiveParams(_0xc4bb8,_0x49eb69));_0x18afd6[_0x4a16f3(0x13e)](duration,null)&&(_0x224425['durationMs']=duration,_0x224425[_0x4a16f3(0xe9)]=_0x18afd6['AVtQl'](duration,sqlLogSlowThreshold));rowsAffected!==null&&(_0x224425['rowsAffected']=rowsAffected);const _0x375e27=_0x18afd6[_0x4a16f3(0x142)](_0x2c6cb6,_0x18afd6[_0x4a16f3(0xf5)]);let _0x1236a9='['+_0x1e2516+']\x20'+_0x375e27;_0x18afd6['EVUFR'](duration,null)&&(_0x1236a9+='\x20('+duration+'ms)');const _0x538437=duration!==null&&_0x18afd6[_0x4a16f3(0xcd)](duration,sqlLogSlowThreshold);let _0x271796=_0x4a16f3(0xd4);if(_0x538437)_0x1236a9+=_0x4a16f3(0xf3),_0x271796=_0x18afd6['YwVKw'],logger['warn'](_0x224425,_0x1236a9);else sqlLogLevel===_0x4a16f3(0x11d)?(_0x271796=_0x4a16f3(0x11d),logger[_0x4a16f3(0x11d)](_0x224425,_0x1236a9)):logger['debug'](_0x224425,_0x1236a9);_0x18afd6['xePGQ'](writeToFileLog,{..._0x224425,'level':_0x271796,'msg':_0x1236a9,'time':new Date()['toISOString']()},_0x271796);},logTransaction=(_0xa7acd8,_0xa5e680)=>{const _0x227f3a=a0_0x3cf150,_0x109f29={'TgQlD':_0x227f3a(0xd4)},_0x36855a={'event':'db_transaction','status':_0xa7acd8,'queryCount':_0xa5e680},_0x1f219e=_0x227f3a(0x150)+_0xa7acd8;logger[_0x227f3a(0xd4)](_0x36855a,_0x1f219e),writeToFileLog({..._0x36855a,'level':_0x109f29[_0x227f3a(0x114)],'msg':_0x1f219e,'time':new Date()['toISOString']()},_0x109f29['TgQlD']);},redactObject=_0x4b3b80=>{const _0x3efb7a=a0_0x3cf150,_0x54c2c0={'dAwuk':'passwd','YFANQ':_0x3efb7a(0x136),'KwUsG':'token','GPRdC':'secret','oPAid':'api_key','prwvo':_0x3efb7a(0x12e),'hpoZi':'creditcard','xpEBe':_0x3efb7a(0x141),'OBqzB':_0x3efb7a(0x128),'MarPm':_0x3efb7a(0x14d),'FDPmd':_0x3efb7a(0x175),'lnHKY':function(_0x1382c0,_0x18cec){return _0x1382c0===_0x18cec;},'cKoKP':function(_0x35648b,_0x18c712){return _0x35648b!==_0x18c712;}};if(!_0x4b3b80||typeof _0x4b3b80!=='object')return _0x4b3b80;const _0x5ba7fc=[_0x3efb7a(0x10b),_0x54c2c0['dAwuk'],_0x54c2c0['YFANQ'],_0x54c2c0[_0x3efb7a(0x11e)],_0x54c2c0[_0x3efb7a(0x170)],_0x3efb7a(0x147),_0x54c2c0[_0x3efb7a(0xc9)],_0x54c2c0[_0x3efb7a(0xd0)],_0x54c2c0[_0x3efb7a(0x11a)],_0x54c2c0['xpEBe'],_0x3efb7a(0xda),_0x3efb7a(0x14a),_0x3efb7a(0x14f),_0x54c2c0[_0x3efb7a(0x15e)],_0x54c2c0['MarPm'],_0x3efb7a(0xef),_0x3efb7a(0x17a)],_0x505ec8=Array['isArray'](_0x4b3b80)?[..._0x4b3b80]:{..._0x4b3b80};for(const _0x54e362 of Object[_0x3efb7a(0x165)](_0x505ec8)){const _0x4731ec=_0x54e362['toLowerCase']();if(_0x5ba7fc['some'](_0x51ed15=>_0x4731ec['includes'](_0x51ed15)))_0x505ec8[_0x54e362]=_0x54c2c0['FDPmd'];else _0x54c2c0['lnHKY'](typeof _0x505ec8[_0x54e362],_0x3efb7a(0xca))&&_0x54c2c0[_0x3efb7a(0x166)](_0x505ec8[_0x54e362],null)&&(_0x505ec8[_0x54e362]=redactObject(_0x505ec8[_0x54e362]));}return _0x505ec8;},logError=(_0x38e3f0,_0x5c5f99={},_0x285184=null)=>{const _0x58eb80=a0_0x3cf150,_0x1d0e68={'hlpbt':'error','QCseE':'Error','kmLxt':function(_0x10e0d2,_0x4075ec,_0x321806){return _0x10e0d2(_0x4075ec,_0x321806);}},_0x2445a5={'event':_0x1d0e68[_0x58eb80(0x162)],'errorName':_0x38e3f0[_0x58eb80(0xf4)]||_0x1d0e68['QCseE'],'errorMessage':_0x38e3f0[_0x58eb80(0xec)],'errorCode':_0x38e3f0['code']||null,'stack':_0x38e3f0['stack'],..._0x5c5f99},_0x3edd33=_0x285184||'Error:\x20'+_0x38e3f0['message'];logger['error'](_0x2445a5,_0x3edd33),_0x1d0e68['kmLxt'](writeToFileLog,{..._0x2445a5,'level':_0x58eb80(0x183),'msg':_0x3edd33,'time':new Date()['toISOString']()},_0x1d0e68['hlpbt']);},logFatalError=(_0x29ee3c,_0x392244={},_0x4e5e29=null)=>{const _0x7da5e2=a0_0x3cf150,_0x48e9ed={'fMdhW':'fatal_error','ZNmRf':function(_0x1475e3,_0x3d1bd6,_0x26f165){return _0x1475e3(_0x3d1bd6,_0x26f165);},'ClPfF':'error'},_0x42778e={'event':_0x48e9ed['fMdhW'],'errorName':_0x29ee3c[_0x7da5e2(0xf4)]||_0x7da5e2(0x15f),'errorMessage':_0x29ee3c['message'],'errorCode':_0x29ee3c['code']||null,'stack':_0x29ee3c['stack'],'severity':'CRITICAL',..._0x392244},_0x407fb2=_0x4e5e29||'FATAL:\x20'+_0x29ee3c['message'];logger[_0x7da5e2(0xed)](_0x42778e,_0x407fb2),_0x48e9ed[_0x7da5e2(0x127)](writeToFileLog,{..._0x42778e,'level':_0x7da5e2(0xed),'msg':_0x407fb2,'time':new Date()[_0x7da5e2(0x123)]()},_0x48e9ed['ClPfF']);},logHttpError=(_0x52ed13,_0x4bbae4,_0x1a672e={})=>{const _0x114f9a=a0_0x3cf150,_0x58c0fa={'ECFQT':_0x114f9a(0x15f),'LEmiq':_0x114f9a(0x105),'yymfR':_0x114f9a(0x179),'yXwGW':function(_0x548803,_0x1f8dbe){return _0x548803(_0x1f8dbe);},'KCSCO':function(_0x177a66,_0x414ca0){return _0x177a66>=_0x414ca0;},'QMiAS':function(_0x590180,_0x1ba5e2,_0x4ea523){return _0x590180(_0x1ba5e2,_0x4ea523);},'FztOM':_0x114f9a(0x143),'Djbqc':_0x114f9a(0x183)},_0x1f471b={'event':'http_error','errorName':_0x52ed13['name']||_0x58c0fa[_0x114f9a(0xcb)],'errorMessage':_0x52ed13['message'],'errorCode':_0x52ed13['code']||_0x52ed13['statusCode']||0x1f4,'stack':_0x52ed13['stack'],'method':_0x4bbae4?.[_0x114f9a(0xc5)],'url':_0x4bbae4?.[_0x114f9a(0x167)]||_0x4bbae4?.[_0x114f9a(0xd1)],'path':_0x4bbae4?.[_0x114f9a(0xce)],'ip':_0x4bbae4?.['ip']||_0x4bbae4?.['connection']?.[_0x114f9a(0x130)],'userAgent':_0x4bbae4?.['get']?.(_0x58c0fa['LEmiq']),'requestId':_0x4bbae4?.['id']||_0x4bbae4?.['headers']?.[_0x58c0fa[_0x114f9a(0x157)]],'body':_0x4bbae4?.['body']?_0x58c0fa[_0x114f9a(0x13c)](redactObject,_0x4bbae4['body']):undefined,'query':_0x4bbae4?.[_0x114f9a(0x102)],..._0x1a672e},_0xb32a0e=_0x52ed13[_0x114f9a(0x13a)]||_0x52ed13[_0x114f9a(0xd8)]||0x1f4,_0x517843='HTTP\x20'+_0xb32a0e+':\x20'+_0x52ed13[_0x114f9a(0xec)];_0x58c0fa['KCSCO'](_0xb32a0e,0x1f4)?logger['error'](_0x1f471b,_0x517843):logger[_0x114f9a(0x143)](_0x1f471b,_0x517843),_0x58c0fa['QMiAS'](writeToFileLog,{..._0x1f471b,'level':_0x58c0fa[_0x114f9a(0x155)](_0xb32a0e,0x1f4)?'error':_0x58c0fa[_0x114f9a(0x17d)],'msg':_0x517843,'time':new Date()[_0x114f9a(0x123)]()},_0xb32a0e>=0x1f4?_0x58c0fa[_0x114f9a(0x168)]:_0x114f9a(0x143));},logUncaughtError=(_0x3a23e7,_0x782dff)=>{const _0x38f9ea=a0_0x3cf150,_0x4f1bea={'dRSXe':function(_0x64cd4d,_0x25eaa7,_0x10b608){return _0x64cd4d(_0x25eaa7,_0x10b608);},'QxSrQ':_0x38f9ea(0x183)},_0x5855c6={'event':_0x3a23e7,'errorName':_0x782dff?.['name']||_0x38f9ea(0x15f),'errorMessage':_0x782dff?.[_0x38f9ea(0xec)]||String(_0x782dff),'errorCode':_0x782dff?.['code']||null,'stack':_0x782dff?.[_0x38f9ea(0x133)],'severity':_0x38f9ea(0xfa),'processId':process['pid'],'memoryUsage':process['memoryUsage'](),'uptime':process['uptime']()},_0xb3bd7d='['+_0x3a23e7[_0x38f9ea(0x10f)]()+']\x20'+(_0x782dff?.[_0x38f9ea(0xec)]||_0x782dff);logger[_0x38f9ea(0xed)](_0x5855c6,_0xb3bd7d),_0x4f1bea[_0x38f9ea(0xf9)](writeToFileLog,{..._0x5855c6,'level':'fatal','msg':_0xb3bd7d,'time':new Date()['toISOString']()},_0x4f1bea['QxSrQ']);},setupGlobalErrorHandlers=()=>{const _0x3c9ba6=a0_0x3cf150,_0x44116a={'ZTdee':function(_0x2b7257,_0x5513d0,_0x1b4ab0){return _0x2b7257(_0x5513d0,_0x1b4ab0);},'liRUP':'unhandledRejection','oTYol':_0x3c9ba6(0x14e),'EVSNF':'global_error_handlers_setup','uzlEp':_0x3c9ba6(0x11d)};process['on'](_0x44116a['oTYol'],_0x223182=>{logUncaughtError('uncaughtException',_0x223182),setTimeout(()=>{process['exit'](0x1);},0x3e8);}),process['on']('unhandledRejection',(_0x293dd6,_0x454a8b)=>{const _0x2e8156=_0x3c9ba6,_0x163d83=_0x293dd6 instanceof Error?_0x293dd6:new Error(String(_0x293dd6));_0x44116a['ZTdee'](logUncaughtError,_0x44116a[_0x2e8156(0x116)],_0x163d83);}),process['on']('warning',_0x158769=>{const _0x1965bb=_0x3c9ba6;logger['warn']({'event':_0x1965bb(0xe4),'name':_0x158769[_0x1965bb(0xf4)],'message':_0x158769[_0x1965bb(0xec)],'stack':_0x158769[_0x1965bb(0x133)]},_0x1965bb(0x16c)+_0x158769[_0x1965bb(0xec)]);});const _0x2cb646={'event':_0x44116a['EVSNF']},_0x3ce083='Global\x20error\x20handlers\x20initialized';logger['info'](_0x2cb646,_0x3ce083),writeToFileLog({..._0x2cb646,'level':_0x44116a[_0x3c9ba6(0xff)],'msg':_0x3ce083,'time':new Date()['toISOString']()},_0x44116a[_0x3c9ba6(0xff)]);},createErrorHandlerMiddleware=()=>{const _0x22813e={'OOTtZ':function(_0x3d1ad6,_0x2f91ec){return _0x3d1ad6>=_0x2f91ec;},'NcCIt':'Internal\x20server\x20error','pnWUE':'x-request-id'};return(_0x178cb9,_0x1afdbc,_0x48344c,_0x56b2fe)=>{const _0x2eaa3c=a0_0x1a6e;logHttpError(_0x178cb9,_0x1afdbc);const _0x1d8940=_0x178cb9[_0x2eaa3c(0x13a)]||_0x178cb9[_0x2eaa3c(0xd8)]||0x1f4;_0x48344c['status'](_0x1d8940)[_0x2eaa3c(0x16a)]({'success':![],'error':_0x22813e['OOTtZ'](_0x1d8940,0x1f4)?_0x22813e['NcCIt']:_0x178cb9[_0x2eaa3c(0xec)],'requestId':_0x1afdbc['id']||_0x1afdbc[_0x2eaa3c(0x16b)]?.[_0x22813e['pnWUE']]||null});};};module[a0_0x3cf150(0x17f)]={'logger':logger,'createRequestLogger':createRequestLogger,'logServerStart':logServerStart,'logServerReady':logServerReady,'logProjectLoaded':logProjectLoaded,'logEndpointRegistered':logEndpointRegistered,'logDatabaseConfig':logDatabaseConfig,'logRequest':logRequest,'logQuery':logQuery,'logTransaction':logTransaction,'startQueryTimer':startQueryTimer,'parseQueryMetadata':parseQueryMetadata,'redactSensitiveParams':redactSensitiveParams,'initFileLogging':initFileLogging,'logError':logError,'logFatalError':logFatalError,'logHttpError':logHttpError,'logUncaughtError':logUncaughtError,'setupGlobalErrorHandlers':setupGlobalErrorHandlers,'createErrorHandlerMiddleware':createErrorHandlerMiddleware,'redactObject':redactObject,'SQL_LOG_CONFIG':{'enabled':sqlLogEnabled,'level':sqlLogLevel,'logParams':sqlLogParams,'slowThreshold':sqlLogSlowThreshold},'FILE_LOG_CONFIG':{'enabled':logToFile,'directory':logDir,'serviceName':serviceName}};
@@ -1 +1 @@
1
- const a0_0x569339=a0_0x5bc8;function a0_0x3f0c(){const _0x4a1d7c=['CNLgCfm','og9hzvPoEG','Bg9VA3vWx2nHy2HLx2nSzwfYzwq','zM9YrwfJAa','v29wyLG','Dg9mB3DLCKnHC2u','BgvUz3rO','nezHCgznDa','Bg9HzeXVB2T1CfrHyMXL','BxLZCwW','ChvZAa','mKDIEK9grW','DhjPBq','vMfSDwuGiG','C2v0','BwfW','wND2rvG','zw52','ntmWtw1KuMjt','zw50CMLLCW','DeDzqLq','mtuWmJuXnuv2vhfdrG','AuvfCNu','mtqYndD3wfzvsuO','iIbUB3qGzM91BMqGAw4G','rMfPBgvKihrVigXVywqGBg9VA3vWihrHyMXLoIa','ntu0nZaZvLLSDg5M','qxbYDwm','otbprMDsuve','AgfZ','tg9VA3vWignHy2HLignSzwfYzwq','uvfMDxu','nJa2mtK2nxDxshPxCG','mtjvB2LIEhG','Aw5MBW','A2v5CW','zxHLy3v0zvf1zxj5','lI9SB2DNzxi','ota0mZjwqu5nt0K','BwvZC2fNzq','ndCWmdnXvvLes1a','CMvZB2X2zuXVB2T1CfzHBhvL','y2XLyxjdywnOzq','z2v0rgLZDgLUy3rwywX1zxm','y2XLyxi','Cg9ZDgDYzxnXBa','CNbTwKK','iezst00G','nty5nZzeugHWz2K'];a0_0x3f0c=function(){return _0x4a1d7c;};return a0_0x3f0c();}(function(_0x467543,_0x125647){const _0xc56b51=a0_0x5bc8,_0x5b0711=_0x467543();while(!![]){try{const _0x136f18=parseInt(_0xc56b51(0x1b0))/0x1*(-parseInt(_0xc56b51(0x19a))/0x2)+-parseInt(_0xc56b51(0x1bf))/0x3*(-parseInt(_0xc56b51(0x1ac))/0x4)+parseInt(_0xc56b51(0x1c1))/0x5*(-parseInt(_0xc56b51(0x1a4))/0x6)+-parseInt(_0xc56b51(0x1ba))/0x7*(parseInt(_0xc56b51(0x1a6))/0x8)+parseInt(_0xc56b51(0x1bc))/0x9*(parseInt(_0xc56b51(0x1b7))/0xa)+parseInt(_0xc56b51(0x19c))/0xb*(-parseInt(_0xc56b51(0x1c6))/0xc)+parseInt(_0xc56b51(0x1c5))/0xd;if(_0x136f18===_0x125647)break;else _0x5b0711['push'](_0x5b0711['shift']());}catch(_0xddba89){_0x5b0711['push'](_0x5b0711['shift']());}}}(a0_0x3f0c,0x3e36b));function a0_0x5bc8(_0xb98bf8,_0x2cd981){_0xb98bf8=_0xb98bf8-0x199;const _0x3f0ca7=a0_0x3f0c();let _0x5bc87f=_0x3f0ca7[_0xb98bf8];if(a0_0x5bc8['HhFsWr']===undefined){var _0x53cfbc=function(_0x550fee){const _0x1e838e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4d1144='',_0x500f41='';for(let _0x36f7f8=0x0,_0x5b70b2,_0xa4abb2,_0x10ad59=0x0;_0xa4abb2=_0x550fee['charAt'](_0x10ad59++);~_0xa4abb2&&(_0x5b70b2=_0x36f7f8%0x4?_0x5b70b2*0x40+_0xa4abb2:_0xa4abb2,_0x36f7f8++%0x4)?_0x4d1144+=String['fromCharCode'](0xff&_0x5b70b2>>(-0x2*_0x36f7f8&0x6)):0x0){_0xa4abb2=_0x1e838e['indexOf'](_0xa4abb2);}for(let _0x2e7eb8=0x0,_0x26a20d=_0x4d1144['length'];_0x2e7eb8<_0x26a20d;_0x2e7eb8++){_0x500f41+='%'+('00'+_0x4d1144['charCodeAt'](_0x2e7eb8)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x500f41);};a0_0x5bc8['sOrPyf']=_0x53cfbc,a0_0x5bc8['qEOnqY']={},a0_0x5bc8['HhFsWr']=!![];}const _0x1344bb=_0x3f0ca7[0x0],_0x6d146b=_0xb98bf8+_0x1344bb,_0x5661e0=a0_0x5bc8['qEOnqY'][_0x6d146b];return!_0x5661e0?(_0x5bc87f=a0_0x5bc8['sOrPyf'](_0x5bc87f),a0_0x5bc8['qEOnqY'][_0x6d146b]=_0x5bc87f):_0x5bc87f=_0x5661e0,_0x5bc87f;}const dbType=(process[a0_0x569339(0x1b6)]['DB_TYPE']||a0_0x569339(0x1a1))['toLowerCase']();let executeQuery;if(dbType==='oracle'){const oracleDb=require('./db-oracle');executeQuery=(_0x320fd2,_0x15d162)=>oracleDb[a0_0x569339(0x1c9)](_0x320fd2,_0x15d162);}else{if(dbType===a0_0x569339(0x1ae)){const mysqlDb=require('./db-mysql');executeQuery=(_0x489987,_0x442805)=>mysqlDb['executeQuery'](_0x489987,_0x442805);}else executeQuery=require('./db')['executeQuery'];}const {logger}=require(a0_0x569339(0x199));class LookupResolver{constructor(){this['lookupCache']=new Map();}[a0_0x569339(0x19e)](){const _0x27a9bb=a0_0x569339,_0x2e3c75={'iEEru':_0x27a9bb(0x1a7),'hCxcu':_0x27a9bb(0x1c3)};this['lookupCache'][_0x27a9bb(0x1a0)](),logger['debug']({'event':_0x2e3c75[_0x27a9bb(0x1bb)]},_0x2e3c75['hCxcu']);}async[a0_0x569339(0x1ad)](_0x2a85dc,_0x200f39,_0x5b649d){const _0x2289ee=a0_0x569339,_0x46e377={'ygMWR':function(_0x53c0b3,_0x220345){return _0x53c0b3!==_0x220345;},'Apruc':function(_0x53fb68,_0x4b4e58){return _0x53fb68!==_0x4b4e58;},'NkxKU':function(_0x2a3735,_0x3d0068){return _0x2a3735(_0x3d0068);}},_0x558ea6=_0x2a85dc+':'+_0x200f39+':'+_0x5b649d;if(this['lookupCache']['has'](_0x558ea6))return this['lookupCache']['get'](_0x558ea6);try{const _0x2dd720='SELECT\x20'+_0x5b649d+',\x20'+_0x200f39+_0x2289ee(0x1a3)+_0x2a85dc,_0x2f1640=await executeQuery(_0x2dd720),_0x14306b=new Map();return _0x2f1640['forEach'](_0x47d387=>{const _0x1e639b=_0x2289ee,_0xa6d5f=_0x47d387[_0x200f39]!==undefined?_0x47d387[_0x200f39]:_0x47d387[_0x200f39['toUpperCase']()],_0x5c4902=_0x47d387[_0x5b649d]!==undefined?_0x47d387[_0x5b649d]:_0x47d387[_0x5b649d['toUpperCase']()];_0x46e377['ygMWR'](_0xa6d5f,null)&&_0x46e377[_0x1e639b(0x1c0)](_0xa6d5f,undefined)&&(_0x14306b['set'](_0x46e377['NkxKU'](String,_0xa6d5f)['toLowerCase']()['trim'](),_0x5c4902),_0x14306b[_0x1e639b(0x1b3)](String(_0xa6d5f)[_0x1e639b(0x1b1)](),_0x5c4902));}),this['lookupCache'][_0x2289ee(0x1b3)](_0x558ea6,_0x14306b),logger[_0x2289ee(0x1c7)]({'event':'lookup_table_loaded','table':_0x2a85dc,'column':_0x200f39,'count':_0x2f1640[_0x2289ee(0x1ab)]},'Lookup\x20table\x20loaded:\x20'+_0x2a85dc),_0x14306b;}catch(_0x5942b8){logger['error']({'event':'lookup_table_load_error','table':_0x2a85dc,'error':_0x5942b8[_0x2289ee(0x19b)]},_0x2289ee(0x1be)+_0x2a85dc);throw _0x5942b8;}}['resolveLookupValue'](_0x40be3b,_0x4c794a){const _0x39d0be=a0_0x569339,_0x162ada={'GgbBI':function(_0x51692b,_0xccfe32){return _0x51692b===_0xccfe32;},'rpmZI':function(_0x5c96af,_0x47c365){return _0x5c96af(_0x47c365);}};if(_0x162ada['GgbBI'](_0x40be3b,null)||_0x40be3b===undefined||_0x40be3b==='')return null;const _0x1a4898=_0x162ada[_0x39d0be(0x1a2)](String,_0x40be3b)[_0x39d0be(0x1b1)]();if(_0x4c794a['has'](_0x1a4898))return _0x4c794a['get'](_0x1a4898);const _0x1f88c8=_0x1a4898[_0x39d0be(0x1aa)]();if(_0x4c794a[_0x39d0be(0x1c2)](_0x1f88c8))return _0x4c794a['get'](_0x1f88c8);return null;}async['processLookupFields'](_0x3c5283,_0x5e4486){const _0x3198d6=a0_0x569339,_0x57ea05={'ryFpS':function(_0xa9ae65,_0x5368e1){return _0xa9ae65===_0x5368e1;},'QQfuu':'Lookup\x20fields\x20processed'};if(!_0x5e4486||Object[_0x3198d6(0x1c8)](_0x5e4486)['length']===0x0)return{'processedRows':_0x3c5283,'errors':[]};const _0x398ade=[],_0x1edc2f=new Map();for(const [_0x494c84,_0x5c408b]of Object['entries'](_0x5e4486)){const {lookupTable:_0x14c1dc,lookupColumn:_0x22ca95,lookupIdColumn:_0xd842f7}=_0x5c408b,_0x1c6b20=_0x14c1dc+':'+_0x22ca95+':'+_0xd842f7;if(!_0x1edc2f['has'](_0x1c6b20)){const _0x1e716e=await this[_0x3198d6(0x1ad)](_0x14c1dc,_0x22ca95,_0xd842f7);_0x1edc2f[_0x3198d6(0x1b3)](_0x1c6b20,_0x1e716e);}}const _0x93c9ab=_0x3c5283[_0x3198d6(0x1b4)]((_0xd19bfc,_0x3c55e6)=>{const _0x513456=_0x3198d6,_0x436ad9={..._0xd19bfc};for(const [_0x122cae,_0x152ae3]of Object[_0x513456(0x1b8)](_0x5e4486)){const {lookupTable:_0x7b4ef4,lookupColumn:_0x1e7c7c,lookupIdColumn:_0x505ad9,targetField:_0x407712,required:_0xcf3a81}=_0x152ae3,_0xa4f33b=_0x7b4ef4+':'+_0x1e7c7c+':'+_0x505ad9,_0x3f7b46=_0x1edc2f['get'](_0xa4f33b),_0x33c6a7=_0xd19bfc[_0x122cae];if((_0x57ea05[_0x513456(0x1a5)](_0x33c6a7,null)||_0x33c6a7===undefined||_0x57ea05[_0x513456(0x1a5)](_0x33c6a7,''))&&!_0xcf3a81){_0x436ad9[_0x407712]=null;continue;}const _0xed063a=this['resolveLookupValue'](_0x33c6a7,_0x3f7b46);_0xed063a!==null?_0x436ad9[_0x407712]=_0xed063a:(_0xcf3a81&&_0x398ade[_0x513456(0x1af)]({'rowIndex':_0x3c55e6,'field':_0x122cae,'value':_0x33c6a7,'targetField':_0x407712,'lookupTable':_0x7b4ef4,'message':_0x513456(0x1b2)+_0x33c6a7+_0x513456(0x1bd)+_0x7b4ef4}),_0x436ad9[_0x407712]=null);}return _0x436ad9;});return logger[_0x3198d6(0x1c7)]({'event':'lookup_fields_processed','totalRows':_0x3c5283['length'],'errorCount':_0x398ade['length'],'lookupFieldCount':Object['keys'](_0x5e4486)[_0x3198d6(0x1ab)]},_0x57ea05[_0x3198d6(0x1c4)]),{'processedRows':_0x93c9ab,'errors':_0x398ade};}[a0_0x569339(0x19f)](_0x124c73,_0x334e8d){const _0x5d3b5f=a0_0x569339,_0x4aa691={'ZwvEX':function(_0x253a34,_0x5af9a2){return _0x253a34!==_0x5af9a2;},'WoVbX':function(_0x19f59c,_0x3ae8e1){return _0x19f59c(_0x3ae8e1);}},_0x252df7=new Set();return _0x124c73[_0x5d3b5f(0x1a8)](_0x116ca8=>{const _0x3a690f=_0x5d3b5f,_0x199afd=_0x116ca8[_0x334e8d];_0x199afd!==null&&_0x4aa691[_0x3a690f(0x1b5)](_0x199afd,undefined)&&_0x199afd!==''&&_0x252df7['add'](_0x4aa691[_0x3a690f(0x1a9)](String,_0x199afd)[_0x3a690f(0x1b1)]());}),Array['from'](_0x252df7);}async['validateLookupValues'](_0x3c56c9,_0x4a035b){const _0x4963f3=a0_0x569339,_0x304def={'tGYBT':function(_0x1387bb,_0x204765){return _0x1387bb===_0x204765;}};if(!_0x4a035b||Object['keys'](_0x4a035b)[_0x4963f3(0x1ab)]===0x0)return{'valid':!![],'errors':[],'suggestions':{}};const _0x5069bf=[],_0x1d6490={};for(const [_0x54b50d,_0x50a58c]of Object[_0x4963f3(0x1b8)](_0x4a035b)){const {lookupTable:_0x9701cd,lookupColumn:_0x416519,lookupIdColumn:_0x56b2dc,required:_0x19f763}=_0x50a58c,_0x5791ca=this['getDistinctValues'](_0x3c56c9,_0x54b50d),_0x5476a7=await this[_0x4963f3(0x1ad)](_0x9701cd,_0x416519,_0x56b2dc),_0x41a3c1=[],_0x3b3d40=[];_0x5791ca[_0x4963f3(0x1a8)](_0x1d1136=>{const _0xd5483d=_0x4963f3,_0x1b0030=this[_0xd5483d(0x19d)](_0x1d1136,_0x5476a7);_0x1b0030!==null?_0x3b3d40['push'](_0x1d1136):_0x41a3c1['push'](_0x1d1136);});if(_0x41a3c1[_0x4963f3(0x1ab)]>0x0&&_0x19f763){_0x5069bf['push']({'field':_0x54b50d,'lookupTable':_0x9701cd,'invalidValues':_0x41a3c1,'message':_0x41a3c1[_0x4963f3(0x1ab)]+'\x20value(s)\x20not\x20found\x20in\x20'+_0x9701cd});const _0x1d3042=[];_0x5476a7['forEach']((_0x4d754e,_0x1414a7)=>{const _0x17bb11=_0x4963f3;if(_0x1414a7===_0x1414a7[_0x17bb11(0x1aa)]())return;_0x1d3042['push'](_0x1414a7);}),_0x1d6490[_0x54b50d]={'invalidValues':_0x41a3c1,'availableValues':_0x1d3042['slice'](0x0,0x32)};}}return{'valid':_0x304def[_0x4963f3(0x1b9)](_0x5069bf[_0x4963f3(0x1ab)],0x0),'errors':_0x5069bf,'suggestions':_0x1d6490};}}module['exports']=new LookupResolver();
1
+ const a0_0x2116d0=a0_0x1641;(function(_0x2b3c13,_0x5bb7ae){const _0x45f396=a0_0x1641,_0x28b3f8=_0x2b3c13();while(!![]){try{const _0x17b4e1=-parseInt(_0x45f396(0x94))/0x1+parseInt(_0x45f396(0xa8))/0x2*(parseInt(_0x45f396(0x93))/0x3)+-parseInt(_0x45f396(0x8a))/0x4+-parseInt(_0x45f396(0x87))/0x5+-parseInt(_0x45f396(0x99))/0x6+parseInt(_0x45f396(0xb9))/0x7+parseInt(_0x45f396(0x91))/0x8;if(_0x17b4e1===_0x5bb7ae)break;else _0x28b3f8['push'](_0x28b3f8['shift']());}catch(_0x2300d8){_0x28b3f8['push'](_0x28b3f8['shift']());}}}(a0_0x4645,0x71896));const dbType=(process['env'][a0_0x2116d0(0x9b)]||a0_0x2116d0(0xb5))[a0_0x2116d0(0xad)]();let executeQuery;function a0_0x4645(){const _0x524e93=['u0rlzu4','iIbUB3qGzM91BMqGAw4G','uNPbz2C','zxHWB3j0CW','Dg9mB3DLCKnHC2u','zxHLy3v0zvf1zxj5','y2XLyxi','q2PRDgO','Bg9VA3vWx2zPzwXKC19WCM9JzxnZzwq','Bg9HzeXVB2T1CfrHyMXL','Dgv1D20','lI9KyI1VCMfJBgu','Cg9ZDgDYzxnXBa','zNjVBq','Ae9lEvy','lI9KyG','mJm3odC3nvPMCLj0vG','Bg9VA3vWx3rHyMXLx2XVywrLza','BgvUz3rO','ChvZAa','DMfSAwrHDgvmB29RDxbwywX1zxm','mtm0nJm5nwrtD0zKwa','A2v5CW','C2XPy2u','nJmWota0wM5Wyvn5','z2v0','BwvZC2fNzq','Bg9VA3vWq2fJAgu','zNzKsfa','Bg9VA3vWx3rHyMXLx2XVywrFzxjYB3i','tg9VA3vWihrHyMXLigXVywrLzdOG','otCWmZy3mMjnwwnqBW','AgfZ','m2LvDwfuuq','nZeZnty2q1ntzgLw','CMvZB2X2zuXVB2T1CfzHBhvL','Dg9vChbLCKnHC2u','rMfPBgvKihrVigXVywqGBg9VA3vWihrHyMXLoIa','BwfW','ndGXnZqYneXOvvPrqW','zM9YrwfJAa','rejFvfLqrq','r0fKsve','Bg9VA3vWx2nHy2HLx2nSzwfYzwq','C2v0','lI9KyI1TExnXBa','rMH1EvO','zxjYB3i','ChjVy2vZC0XVB2T1CezPzwXKCW','ANHRAgi','lI9SB2DNzxi','DhjPBq','zw50CMLLCW','z2v0rgLZDgLUy3rwywX1zxm','mtCXmtq3nffAzejjtW'];a0_0x4645=function(){return _0x524e93;};return a0_0x4645();}if(dbType==='oracle'){const oracleDb=require(a0_0x2116d0(0xb4));executeQuery=(_0x373923,_0x2963b7)=>oracleDb['executeQuery'](_0x373923,_0x2963b7);}else{if(dbType==='mysql'){const mysqlDb=require(a0_0x2116d0(0x9f));executeQuery=(_0x3d8e59,_0x4d5b86)=>mysqlDb['executeQuery'](_0x3d8e59,_0x4d5b86);}else executeQuery=require(a0_0x2116d0(0xb8))[a0_0x2116d0(0xae)];}const {logger}=require(a0_0x2116d0(0xa4));function a0_0x1641(_0xcae256,_0x862e56){_0xcae256=_0xcae256-0x83;const _0x46451a=a0_0x4645();let _0x164110=_0x46451a[_0xcae256];if(a0_0x1641['iKNvbx']===undefined){var _0x5ce67f=function(_0x88d25e){const _0x428a6d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x469f86='',_0x19590a='';for(let _0x295e4a=0x0,_0x27721a,_0xf3c7a7,_0x53b716=0x0;_0xf3c7a7=_0x88d25e['charAt'](_0x53b716++);~_0xf3c7a7&&(_0x27721a=_0x295e4a%0x4?_0x27721a*0x40+_0xf3c7a7:_0xf3c7a7,_0x295e4a++%0x4)?_0x469f86+=String['fromCharCode'](0xff&_0x27721a>>(-0x2*_0x295e4a&0x6)):0x0){_0xf3c7a7=_0x428a6d['indexOf'](_0xf3c7a7);}for(let _0x1451cd=0x0,_0x8fccf=_0x469f86['length'];_0x1451cd<_0x8fccf;_0x1451cd++){_0x19590a+='%'+('00'+_0x469f86['charCodeAt'](_0x1451cd)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x19590a);};a0_0x1641['Bgclaj']=_0x5ce67f,a0_0x1641['asvqRI']={},a0_0x1641['iKNvbx']=!![];}const _0x53aacc=_0x46451a[0x0],_0x3ae119=_0xcae256+_0x53aacc,_0x341fe8=a0_0x1641['asvqRI'][_0x3ae119];return!_0x341fe8?(_0x164110=a0_0x1641['Bgclaj'](_0x164110),a0_0x1641['asvqRI'][_0x3ae119]=_0x164110):_0x164110=_0x341fe8,_0x164110;}class LookupResolver{constructor(){this['lookupCache']=new Map();}['clearCache'](){const _0x40a660=a0_0x2116d0,_0x1a6369={'FfFTp':_0x40a660(0x9d),'lYgiW':'Lookup\x20cache\x20cleared'};this['lookupCache'][_0x40a660(0xaf)](),logger['debug']({'event':_0x1a6369['FfFTp']},_0x1a6369['lYgiW']);}async[a0_0x2116d0(0xb2)](_0x5b211d,_0xb37b0b,_0x520fda){const _0x1b3bf9=a0_0x2116d0,_0x52dd5b={'zOqRW':function(_0x31c8fc,_0x4d4b03){return _0x31c8fc!==_0x4d4b03;},'dxnpa':function(_0x460266,_0x435739){return _0x460266!==_0x435739;},'jxkhb':function(_0x5d7296,_0x54abdf){return _0x5d7296(_0x54abdf);},'Cjktj':function(_0x2fb2f1,_0x337663){return _0x2fb2f1(_0x337663);},'fvdHP':_0x1b3bf9(0x8f)},_0x2e5d04=_0x5b211d+':'+_0xb37b0b+':'+_0x520fda;if(this['lookupCache']['has'](_0x2e5d04))return this[_0x1b3bf9(0x8d)]['get'](_0x2e5d04);try{const _0xc4dedf='SELECT\x20'+_0x520fda+',\x20'+_0xb37b0b+'\x20FROM\x20'+_0x5b211d,_0x413a89=await executeQuery(_0xc4dedf),_0x23543b=new Map();return _0x413a89[_0x1b3bf9(0x9a)](_0xcab405=>{const _0x476098=_0x1b3bf9,_0x1bf395=_0x52dd5b['zOqRW'](_0xcab405[_0xb37b0b],undefined)?_0xcab405[_0xb37b0b]:_0xcab405[_0xb37b0b[_0x476098(0x96)]()],_0x5af9a1=_0xcab405[_0x520fda]!==undefined?_0xcab405[_0x520fda]:_0xcab405[_0x520fda['toUpperCase']()];_0x1bf395!==null&&_0x52dd5b['dxnpa'](_0x1bf395,undefined)&&(_0x23543b[_0x476098(0x9e)](_0x52dd5b[_0x476098(0xa3)](String,_0x1bf395)[_0x476098(0xad)]()['trim'](),_0x5af9a1),_0x23543b[_0x476098(0x9e)](_0x52dd5b[_0x476098(0xb0)](String,_0x1bf395)['trim'](),_0x5af9a1));}),this['lookupCache'][_0x1b3bf9(0x9e)](_0x2e5d04,_0x23543b),logger['info']({'event':_0x1b3bf9(0x83),'table':_0x5b211d,'column':_0xb37b0b,'count':_0x413a89[_0x1b3bf9(0x84)]},_0x1b3bf9(0x90)+_0x5b211d),_0x23543b;}catch(_0x4a1542){logger[_0x1b3bf9(0xa1)]({'event':_0x52dd5b[_0x1b3bf9(0x8e)],'table':_0x5b211d,'error':_0x4a1542[_0x1b3bf9(0x8c)]},_0x1b3bf9(0x97)+_0x5b211d);throw _0x4a1542;}}[a0_0x2116d0(0x95)](_0x505d37,_0x241c0c){const _0x274d22=a0_0x2116d0,_0x2b5c2f={'VlaYJ':function(_0x6aafca,_0x3c3a99){return _0x6aafca===_0x3c3a99;}};if(_0x2b5c2f['VlaYJ'](_0x505d37,null)||_0x505d37===undefined||_0x2b5c2f['VlaYJ'](_0x505d37,''))return null;const _0x5a5843=String(_0x505d37)[_0x274d22(0xa5)]();if(_0x241c0c['has'](_0x5a5843))return _0x241c0c[_0x274d22(0x8b)](_0x5a5843);const _0x482c62=_0x5a5843['toLowerCase']();if(_0x241c0c['has'](_0x482c62))return _0x241c0c[_0x274d22(0x8b)](_0x482c62);return null;}async[a0_0x2116d0(0xa2)](_0x1dcbde,_0x2e4309){const _0xb158d1=a0_0x2116d0,_0x4d6759={'FhuyZ':function(_0x1e1bfc,_0x15e45c){return _0x1e1bfc===_0x15e45c;},'SDKeN':function(_0x300227,_0xb0846e){return _0x300227!==_0xb0846e;},'AzGpU':_0xb158d1(0xb1),'teuwm':'Lookup\x20fields\x20processed'};if(!_0x2e4309||_0x4d6759[_0xb158d1(0xa0)](Object['keys'](_0x2e4309)['length'],0x0))return{'processedRows':_0x1dcbde,'errors':[]};const _0x1cf289=[],_0x8f8334=new Map();for(const [_0x1438c1,_0x24d78d]of Object['entries'](_0x2e4309)){const {lookupTable:_0x2472ef,lookupColumn:_0x59dbb7,lookupIdColumn:_0x30ea00}=_0x24d78d,_0xdfbcca=_0x2472ef+':'+_0x59dbb7+':'+_0x30ea00;if(!_0x8f8334[_0xb158d1(0x92)](_0xdfbcca)){const _0x4d7299=await this[_0xb158d1(0xb2)](_0x2472ef,_0x59dbb7,_0x30ea00);_0x8f8334[_0xb158d1(0x9e)](_0xdfbcca,_0x4d7299);}}const _0xc4865a=_0x1dcbde[_0xb158d1(0x98)]((_0xd66ef2,_0x494b30)=>{const _0x224f2b=_0xb158d1,_0x34c8fb={..._0xd66ef2};for(const [_0x202b31,_0x19ef2c]of Object[_0x224f2b(0xa6)](_0x2e4309)){const {lookupTable:_0x52658d,lookupColumn:_0xbdc31a,lookupIdColumn:_0x4303ad,targetField:_0x2c6b5b,required:_0x396760}=_0x19ef2c,_0xfacc12=_0x52658d+':'+_0xbdc31a+':'+_0x4303ad,_0x3a7c0a=_0x8f8334[_0x224f2b(0x8b)](_0xfacc12),_0x5b49a0=_0xd66ef2[_0x202b31];if((_0x5b49a0===null||_0x5b49a0===undefined||_0x4d6759[_0x224f2b(0xa0)](_0x5b49a0,''))&&!_0x396760){_0x34c8fb[_0x2c6b5b]=null;continue;}const _0x3cd22c=this[_0x224f2b(0x95)](_0x5b49a0,_0x3a7c0a);_0x4d6759[_0x224f2b(0xa9)](_0x3cd22c,null)?_0x34c8fb[_0x2c6b5b]=_0x3cd22c:(_0x396760&&_0x1cf289[_0x224f2b(0x85)]({'rowIndex':_0x494b30,'field':_0x202b31,'value':_0x5b49a0,'targetField':_0x2c6b5b,'lookupTable':_0x52658d,'message':'Value\x20\x22'+_0x5b49a0+_0x224f2b(0xaa)+_0x52658d}),_0x34c8fb[_0x2c6b5b]=null);}return _0x34c8fb;});return logger['info']({'event':_0x4d6759['AzGpU'],'totalRows':_0x1dcbde['length'],'errorCount':_0x1cf289['length'],'lookupFieldCount':Object[_0xb158d1(0x88)](_0x2e4309)['length']},_0x4d6759[_0xb158d1(0xb3)]),{'processedRows':_0xc4865a,'errors':_0x1cf289};}['getDistinctValues'](_0x4a85d6,_0x1fa0a7){const _0x4c41d5=a0_0x2116d0,_0x126e02={'RzAgg':function(_0x331fee,_0x4fca62){return _0x331fee!==_0x4fca62;}},_0x2d7ef8=new Set();return _0x4a85d6[_0x4c41d5(0x9a)](_0x3d9d0d=>{const _0x5d5736=_0x4c41d5,_0x53b597=_0x3d9d0d[_0x1fa0a7];_0x53b597!==null&&_0x126e02[_0x5d5736(0xab)](_0x53b597,undefined)&&_0x53b597!==''&&_0x2d7ef8['add'](String(_0x53b597)['trim']());}),Array[_0x4c41d5(0xb6)](_0x2d7ef8);}async[a0_0x2116d0(0x86)](_0x36b953,_0x1610c8){const _0x38df39=a0_0x2116d0,_0x973b3f={'hOKyV':function(_0x5ed710,_0x99a87a){return _0x5ed710!==_0x99a87a;},'GAdIQ':function(_0x667b6d,_0x440541){return _0x667b6d===_0x440541;},'uMJcc':function(_0x4adea8,_0x3aa56c){return _0x4adea8>_0x3aa56c;}};if(!_0x1610c8||_0x973b3f[_0x38df39(0x9c)](Object['keys'](_0x1610c8)[_0x38df39(0x84)],0x0))return{'valid':!![],'errors':[],'suggestions':{}};const _0x1507d2=[],_0x1a9263={};for(const [_0x49c3d5,_0x36632c]of Object[_0x38df39(0xa6)](_0x1610c8)){const {lookupTable:_0x512c83,lookupColumn:_0x23d2cb,lookupIdColumn:_0xdc2acb,required:_0x1f84f5}=_0x36632c,_0x28deb8=this[_0x38df39(0xa7)](_0x36b953,_0x49c3d5),_0x67bad8=await this['loadLookupTable'](_0x512c83,_0x23d2cb,_0xdc2acb),_0x40fe3c=[],_0x4f1af8=[];_0x28deb8[_0x38df39(0x9a)](_0x4e6c42=>{const _0x28ff63=_0x38df39,_0x5c3459=this[_0x28ff63(0x95)](_0x4e6c42,_0x67bad8);_0x973b3f[_0x28ff63(0xb7)](_0x5c3459,null)?_0x4f1af8['push'](_0x4e6c42):_0x40fe3c['push'](_0x4e6c42);});if(_0x973b3f['uMJcc'](_0x40fe3c['length'],0x0)&&_0x1f84f5){_0x1507d2[_0x38df39(0x85)]({'field':_0x49c3d5,'lookupTable':_0x512c83,'invalidValues':_0x40fe3c,'message':_0x40fe3c['length']+'\x20value(s)\x20not\x20found\x20in\x20'+_0x512c83});const _0x4f55f1=[];_0x67bad8['forEach']((_0x5179a1,_0x164f4c)=>{const _0x1b1ad7=_0x38df39;if(_0x973b3f[_0x1b1ad7(0x9c)](_0x164f4c,_0x164f4c['toLowerCase']()))return;_0x4f55f1[_0x1b1ad7(0x85)](_0x164f4c);}),_0x1a9263[_0x49c3d5]={'invalidValues':_0x40fe3c,'availableValues':_0x4f55f1[_0x38df39(0x89)](0x0,0x32)};}}return{'valid':_0x1507d2['length']===0x0,'errors':_0x1507d2,'suggestions':_0x1a9263};}}module[a0_0x2116d0(0xac)]=new LookupResolver();
@@ -1 +1 @@
1
- const a0_0x5ca5e8=a0_0x24c1;function a0_0x5833(){const _0x1d8762=['m0nOrwn1rW','Cgf5Bg9Hzf9SB2fKzwq','nty3nJu5nxPxCwXquG','lI4VlI4VCgf5Bg9Hza','DxrMoa','mtm2odCYsKvAExbm','y29SDw1UrM9YBwf0CW','lMPZB24','BwvZC2fNzq','A0nLvNG','ogDHDKrVvW','Cgf5Bg9HzerPCG','C2v0','mZbbv0jLDgi','zxjYB3i','Cgf0Aa','Cgf5Bg9Hzf9SB2fKx2vYCM9Y','AM9PBG','ugf5Bg9HzcbUB3qGzM91BMq6ia','zxHWB3j0CW','CgfYC2u','mJK5mtyYohHVvxzvyG','mJGYodm1vvfJsvzo','mtm1nZq5mdDWv3DYreK','nZG0ndrzrwzOr20','y2fJAgu','DgHyvhy','mtLHBK1KAMq','zgvIDwC','mtu0nJaZmJbbwxfAEhC','ChjVBwLZzxm','CMvHzezPBgu','Aw5MBW','CMvWBgfJzq','mtq0mwPWtevKuW','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5igj5ig5HBwu','lI9SB2DNzxi'];a0_0x5833=function(){return _0x1d8762;};return a0_0x5833();}(function(_0x5ae1ef,_0x4d2c78){const _0x43d3e2=a0_0x24c1,_0x1f4565=_0x5ae1ef();while(!![]){try{const _0xa63072=-parseInt(_0x43d3e2(0xfe))/0x1*(parseInt(_0x43d3e2(0xfb))/0x2)+-parseInt(_0x43d3e2(0x108))/0x3*(parseInt(_0x43d3e2(0xf8))/0x4)+parseInt(_0x43d3e2(0x10a))/0x5+-parseInt(_0x43d3e2(0xf0))/0x6*(parseInt(_0x43d3e2(0xf9))/0x7)+-parseInt(_0x43d3e2(0x112))/0x8*(parseInt(_0x43d3e2(0xfa))/0x9)+parseInt(_0x43d3e2(0x100))/0xa+-parseInt(_0x43d3e2(0x105))/0xb*(-parseInt(_0x43d3e2(0x10d))/0xc);if(_0xa63072===_0x4d2c78)break;else _0x1f4565['push'](_0x1f4565['shift']());}catch(_0x4dd355){_0x1f4565['push'](_0x1f4565['shift']());}}}(a0_0x5833,0xed520));const fs=require('fs')[a0_0x5ca5e8(0x101)],path=require(a0_0x5ca5e8(0xf2)),{logger}=require(a0_0x5ca5e8(0x107));class PayloadLoader{constructor(){const _0x3b3cd6=a0_0x5ca5e8,_0x1b8375={'ZGJMn':_0x3b3cd6(0x10b)};this['payloadDir']=path[_0x3b3cd6(0xf4)](__dirname,_0x1b8375['ZGJMn']),this['cache']=new Map();}async['loadPayload'](_0x245194,_0x5d5644){const _0x4e6194=a0_0x5ca5e8,_0x540f0f={'kCeVx':'Failed\x20to\x20load\x20payload'},_0x471c53=_0x245194+':'+_0x5d5644;if(this[_0x4e6194(0xfc)]['has'](_0x471c53))return this[_0x4e6194(0xfc)]['get'](_0x471c53);const _0x5557ce=path[_0x4e6194(0xf4)](this[_0x4e6194(0x113)],_0x245194+'_'+_0x5d5644+_0x4e6194(0x10f));try{const _0x214bda=await fs['readFile'](_0x5557ce,'utf8'),_0x194e03=JSON['parse'](_0x214bda);return this['cache'][_0x4e6194(0xef)](_0x471c53,_0x194e03),logger[_0x4e6194(0xff)]({'event':_0x4e6194(0x109),'project':_0x245194,'resource':_0x5d5644},'Payload\x20loaded\x20successfully'),_0x194e03;}catch(_0x398e89){logger[_0x4e6194(0xf1)]({'event':_0x4e6194(0xf3),'project':_0x245194,'resource':_0x5d5644,'error':_0x398e89['message']},_0x540f0f[_0x4e6194(0x111)]);throw new Error(_0x4e6194(0xf5)+_0x245194+'_'+_0x5d5644);}}async['loadPayloadByName'](_0x3f56f9){const _0x582af4=a0_0x5ca5e8,_0x59ab39={'thXTv':_0x582af4(0x106),'mepzo':'Failed\x20to\x20load\x20payload\x20by\x20name'},_0x49d41b='payload:'+_0x3f56f9;if(this[_0x582af4(0xfc)]['has'](_0x49d41b))return this[_0x582af4(0xfc)]['get'](_0x49d41b);const _0x52821e=path['join'](this['payloadDir'],_0x3f56f9+'.json');try{const _0xc0cd34=await fs[_0x582af4(0x102)](_0x52821e,_0x582af4(0x10c)),_0x4a8017=JSON[_0x582af4(0xf7)](_0xc0cd34);return this[_0x582af4(0xfc)][_0x582af4(0xef)](_0x49d41b,_0x4a8017),logger[_0x582af4(0xff)]({'event':_0x582af4(0x109),'payloadName':_0x3f56f9},_0x59ab39[_0x582af4(0xfd)]),_0x4a8017;}catch(_0x33f237){logger['error']({'event':'payload_load_error','payloadName':_0x3f56f9,'error':_0x33f237[_0x582af4(0x110)]},_0x59ab39['mepzo']);throw new Error('Payload\x20not\x20found:\x20'+_0x3f56f9);}}['isActionEnabled'](_0x4c9eaf,_0x25b958){return _0x4c9eaf['action']&&_0x4c9eaf['action'][_0x25b958]===!![];}['getExportConfig'](_0x54b809){const _0x4a7aa1=a0_0x5ca5e8;return{'columns':_0x54b809['fieldName']||[],'filename':_0x54b809['tableName'][_0x4a7aa1(0x104)]('.','-')+'-export','datatablesQuery':_0x54b809['datatablesQuery']||null,'columnFormats':_0x54b809[_0x4a7aa1(0x10e)]||null,'fieldLabels':_0x54b809['fieldLabels']||null};}['clearCache'](){const _0xef8c92=a0_0x5ca5e8;this['cache']['clear'](),logger[_0xef8c92(0x103)]({'event':'payload_cache_cleared'},'Payload\x20cache\x20cleared');}}function a0_0x24c1(_0x577c5c,_0x80ac39){_0x577c5c=_0x577c5c-0xef;const _0x5833e5=a0_0x5833();let _0x24c1aa=_0x5833e5[_0x577c5c];if(a0_0x24c1['TCdnVW']===undefined){var _0x113173=function(_0xf18805){const _0x43d6c2='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4680a5='',_0x54f9d7='';for(let _0x12d1dc=0x0,_0x90bed,_0x446c1d,_0x384621=0x0;_0x446c1d=_0xf18805['charAt'](_0x384621++);~_0x446c1d&&(_0x90bed=_0x12d1dc%0x4?_0x90bed*0x40+_0x446c1d:_0x446c1d,_0x12d1dc++%0x4)?_0x4680a5+=String['fromCharCode'](0xff&_0x90bed>>(-0x2*_0x12d1dc&0x6)):0x0){_0x446c1d=_0x43d6c2['indexOf'](_0x446c1d);}for(let _0x4ca9bd=0x0,_0x53b766=_0x4680a5['length'];_0x4ca9bd<_0x53b766;_0x4ca9bd++){_0x54f9d7+='%'+('00'+_0x4680a5['charCodeAt'](_0x4ca9bd)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x54f9d7);};a0_0x24c1['jXIvCA']=_0x113173,a0_0x24c1['yORieN']={},a0_0x24c1['TCdnVW']=!![];}const _0x260dd2=_0x5833e5[0x0],_0x6fc158=_0x577c5c+_0x260dd2,_0x3a36b2=a0_0x24c1['yORieN'][_0x6fc158];return!_0x3a36b2?(_0x24c1aa=a0_0x24c1['jXIvCA'](_0x24c1aa),a0_0x24c1['yORieN'][_0x6fc158]=_0x24c1aa):_0x24c1aa=_0x3a36b2,_0x24c1aa;}module[a0_0x5ca5e8(0xf6)]=new PayloadLoader();
1
+ function a0_0x3793(_0x2fd019,_0x109656){_0x2fd019=_0x2fd019-0x96;const _0x395c34=a0_0x395c();let _0x3793b9=_0x395c34[_0x2fd019];if(a0_0x3793['JMKDvp']===undefined){var _0x371977=function(_0x500f0f){const _0x257c50='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x55d880='',_0x1d3cbd='';for(let _0x2e5012=0x0,_0x53e0cf,_0x5b76e8,_0x364a5c=0x0;_0x5b76e8=_0x500f0f['charAt'](_0x364a5c++);~_0x5b76e8&&(_0x53e0cf=_0x2e5012%0x4?_0x53e0cf*0x40+_0x5b76e8:_0x5b76e8,_0x2e5012++%0x4)?_0x55d880+=String['fromCharCode'](0xff&_0x53e0cf>>(-0x2*_0x2e5012&0x6)):0x0){_0x5b76e8=_0x257c50['indexOf'](_0x5b76e8);}for(let _0xf8eaec=0x0,_0x3ea8fa=_0x55d880['length'];_0xf8eaec<_0x3ea8fa;_0xf8eaec++){_0x1d3cbd+='%'+('00'+_0x55d880['charCodeAt'](_0xf8eaec)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1d3cbd);};a0_0x3793['aLQXHo']=_0x371977,a0_0x3793['rqJWNp']={},a0_0x3793['JMKDvp']=!![];}const _0x1a3c80=_0x395c34[0x0],_0x453686=_0x2fd019+_0x1a3c80,_0x3b1515=a0_0x3793['rqJWNp'][_0x453686];return!_0x3b1515?(_0x3793b9=a0_0x3793['aLQXHo'](_0x3793b9),a0_0x3793['rqJWNp'][_0x453686]=_0x3793b9):_0x3793b9=_0x3b1515,_0x3793b9;}const a0_0xcf4a55=a0_0x3793;(function(_0x5aad7f,_0x4e28d4){const _0x5bd9c2=a0_0x3793,_0x218dca=_0x5aad7f();while(!![]){try{const _0x452e7f=parseInt(_0x5bd9c2(0xaf))/0x1+parseInt(_0x5bd9c2(0xaa))/0x2*(parseInt(_0x5bd9c2(0xb9))/0x3)+-parseInt(_0x5bd9c2(0xba))/0x4*(-parseInt(_0x5bd9c2(0xbb))/0x5)+-parseInt(_0x5bd9c2(0xa2))/0x6*(-parseInt(_0x5bd9c2(0x9e))/0x7)+parseInt(_0x5bd9c2(0xa4))/0x8*(parseInt(_0x5bd9c2(0xb8))/0x9)+parseInt(_0x5bd9c2(0xae))/0xa+-parseInt(_0x5bd9c2(0xa1))/0xb;if(_0x452e7f===_0x4e28d4)break;else _0x218dca['push'](_0x218dca['shift']());}catch(_0xec1515){_0x218dca['push'](_0x218dca['shift']());}}}(a0_0x395c,0x8420e));const fs=require('fs')[a0_0xcf4a55(0x96)],path=require('path'),{logger}=require('./logger');function a0_0x395c(){const _0x3b3c9a=['mtq5mdiXmMPhsxDAvW','mtbAvwj5rMC','DxrMoa','AM9PBG','Cgf5Bg9Hzf9JywnOzv9JBgvHCMvK','zxjYB3i','ChjVBwLZzxm','ugf5Bg9HzcbJywnOzsbJBgvHCMvK','AgfZ','Cgf5Bg9Hzf9SB2fKzwq','CMvHzezPBgu','CgfYC2u','Cgf5Bg9HzdO','rgHYr1O','n05SrNfzyq','BwvZC2fNzq','y2fJAgu','mJG1nZiYmtrevNnhA0O','ntuYndy3neHvtvHQsG','Axnby3rPB25fBMfIBgvK','odmXmKfrvfH5DG','s2zStwq','ugf5Bg9HzcbUB3qGzM91BMq6ia','Aw5MBW','Bg9HzfbHEwXVywq','rMfPBgvKihrVigXVywqGCgf5Bg9Hza','mZG5mZm4BwHRB1rc','lMPZB24','Cgf5Bg9HzerPCG','z2v0','mJK1nty1mgPrzNzzuq','mZm4mZCZvgz4B0Tl','z2v0rxHWB3j0q29UzMLN','Bg9HzfbHEwXVywrcEu5HBwu','C2v0','zgf0yxrHyMXLC1f1zxj5','lwv4Cg9YDa','lI4VlI4VCgf5Bg9Hza','CMvWBgfJzq','Cgf5Bg9Hzf9SB2fKx2vYCM9Y','ntu4mfPwDhbSqG','m3jJwhPdAq'];a0_0x395c=function(){return _0x3b3c9a;};return a0_0x395c();}class PayloadLoader{constructor(){const _0x25c966=a0_0xcf4a55,_0xc70df4={'cMebg':_0x25c966(0xb5)};this[_0x25c966(0xac)]=path[_0x25c966(0xbd)](__dirname,_0xc70df4['cMebg']),this['cache']=new Map();}async[a0_0xcf4a55(0xa8)](_0x12bfea,_0x14c0bc){const _0x2ee741=a0_0xcf4a55,_0x1044e0={'DhrGZ':_0x2ee741(0x99),'qmLRv':_0x2ee741(0xa9)},_0x252ba6=_0x12bfea+':'+_0x14c0bc;if(this[_0x2ee741(0xa0)][_0x2ee741(0x98)](_0x252ba6))return this[_0x2ee741(0xa0)][_0x2ee741(0xad)](_0x252ba6);const _0x3fab5d=path[_0x2ee741(0xbd)](this['payloadDir'],_0x12bfea+'_'+_0x14c0bc+'.json');try{const _0x3488fd=await fs[_0x2ee741(0x9a)](_0x3fab5d,_0x2ee741(0xbc)),_0x209ee1=JSON['parse'](_0x3488fd);return this['cache']['set'](_0x252ba6,_0x209ee1),logger['debug']({'event':_0x1044e0[_0x2ee741(0x9d)],'project':_0x12bfea,'resource':_0x14c0bc},'Payload\x20loaded\x20successfully'),_0x209ee1;}catch(_0x1437eb){logger[_0x2ee741(0xbf)]({'event':_0x2ee741(0xb7),'project':_0x12bfea,'resource':_0x14c0bc,'error':_0x1437eb[_0x2ee741(0x9f)]},_0x1044e0['qmLRv']);throw new Error('Payload\x20not\x20found:\x20'+_0x12bfea+'_'+_0x14c0bc);}}async[a0_0xcf4a55(0xb1)](_0x24375c){const _0x4fbed8=a0_0xcf4a55,_0x1d5276={'KflMd':'payload_load_error'},_0x53516f=_0x4fbed8(0x9c)+_0x24375c;if(this['cache']['has'](_0x53516f))return this['cache'][_0x4fbed8(0xad)](_0x53516f);const _0x25c7aa=path[_0x4fbed8(0xbd)](this[_0x4fbed8(0xac)],_0x24375c+_0x4fbed8(0xab));try{const _0x468930=await fs['readFile'](_0x25c7aa,_0x4fbed8(0xbc)),_0x364da0=JSON[_0x4fbed8(0x9b)](_0x468930);return this[_0x4fbed8(0xa0)][_0x4fbed8(0xb2)](_0x53516f,_0x364da0),logger['debug']({'event':_0x4fbed8(0x99),'payloadName':_0x24375c},'Payload\x20loaded\x20successfully\x20by\x20name'),_0x364da0;}catch(_0x127d80){logger['error']({'event':_0x1d5276[_0x4fbed8(0xa5)],'payloadName':_0x24375c,'error':_0x127d80['message']},'Failed\x20to\x20load\x20payload\x20by\x20name');throw new Error(_0x4fbed8(0xa6)+_0x24375c);}}[a0_0xcf4a55(0xa3)](_0x2ad2c1,_0x42ee54){const _0x5909a6={'Lfgoz':function(_0x56e44e,_0x23657f){return _0x56e44e===_0x23657f;}};return _0x2ad2c1['action']&&_0x5909a6['Lfgoz'](_0x2ad2c1['action'][_0x42ee54],!![]);}[a0_0xcf4a55(0xb0)](_0x3c37f0){const _0x5713ed=a0_0xcf4a55;return{'columns':_0x3c37f0['fieldName']||[],'filename':_0x3c37f0['tableName'][_0x5713ed(0xb6)]('.','-')+_0x5713ed(0xb4),'datatablesQuery':_0x3c37f0[_0x5713ed(0xb3)]||null,'columnFormats':_0x3c37f0['columnFormats']||null,'fieldLabels':_0x3c37f0['fieldLabels']||null};}['clearCache'](){const _0x29995b=a0_0xcf4a55,_0x35d100={'ulGyb':_0x29995b(0xbe)};this['cache']['clear'](),logger[_0x29995b(0xa7)]({'event':_0x35d100['ulGyb']},_0x29995b(0x97));}}module['exports']=new PayloadLoader();
@@ -1 +1 @@
1
- 'use strict';(function(_0xdd90a3,_0xc2cc2b){var _0x32831b=a0_0x3c4e,_0x3b8d8e=_0xdd90a3();while(!![]){try{var _0x57d646=-parseInt(_0x32831b(0x120))/0x1*(parseInt(_0x32831b(0x127))/0x2)+parseInt(_0x32831b(0x11f))/0x3*(parseInt(_0x32831b(0x126))/0x4)+-parseInt(_0x32831b(0x128))/0x5+-parseInt(_0x32831b(0x121))/0x6+parseInt(_0x32831b(0x125))/0x7+parseInt(_0x32831b(0x123))/0x8+-parseInt(_0x32831b(0x122))/0x9;if(_0x57d646===_0xc2cc2b)break;else _0x3b8d8e['push'](_0x3b8d8e['shift']());}catch(_0x108bb7){_0x3b8d8e['push'](_0x3b8d8e['shift']());}}}(a0_0x5ade,0x8a6f6));function a0_0x5ade(){var _0x3d0661=['mtm0ohDjsK9eDa','nJzIDLLNB04','mJqZnJa1v1LVwfLe','mZe3n0f4t3fRCG','mJiZotHJExr6t3y','mJmZndq2oe5kuMn5va','ntCXodK2uhnJthn0','nti1mZa2neL3C1D4qq','Dg9ju09tDhjPBMC','ntu1nZKZn2f4CxLfuq'];a0_0x5ade=function(){return _0x3d0661;};return a0_0x5ade();}function createResponse(_0x71523e,_0x10fe09,_0x24e971=null){return{'success':!![],'statusCode':_0x71523e,'message':_0x10fe09,'data':_0x24e971,'timestamp':new Date()['toISOString']()};}function a0_0x3c4e(_0x250fd2,_0x265196){_0x250fd2=_0x250fd2-0x11f;var _0x5ade75=a0_0x5ade();var _0x3c4e45=_0x5ade75[_0x250fd2];if(a0_0x3c4e['KhKXlA']===undefined){var _0x52f8f4=function(_0x4cb51a){var _0x402b6e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x16f93c='',_0x17685b='';for(var _0x3a4af8=0x0,_0x33fb84,_0x3a8798,_0x4d1b8f=0x0;_0x3a8798=_0x4cb51a['charAt'](_0x4d1b8f++);~_0x3a8798&&(_0x33fb84=_0x3a4af8%0x4?_0x33fb84*0x40+_0x3a8798:_0x3a8798,_0x3a4af8++%0x4)?_0x16f93c+=String['fromCharCode'](0xff&_0x33fb84>>(-0x2*_0x3a4af8&0x6)):0x0){_0x3a8798=_0x402b6e['indexOf'](_0x3a8798);}for(var _0xf56168=0x0,_0x3f3ab9=_0x16f93c['length'];_0xf56168<_0x3f3ab9;_0xf56168++){_0x17685b+='%'+('00'+_0x16f93c['charCodeAt'](_0xf56168)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x17685b);};a0_0x3c4e['rcNPZD']=_0x52f8f4,a0_0x3c4e['VjPLAx']={},a0_0x3c4e['KhKXlA']=!![];}var _0x4c8869=_0x5ade75[0x0],_0x5abaf8=_0x250fd2+_0x4c8869,_0x42226b=a0_0x3c4e['VjPLAx'][_0x5abaf8];return!_0x42226b?(_0x3c4e45=a0_0x3c4e['rcNPZD'](_0x3c4e45),a0_0x3c4e['VjPLAx'][_0x5abaf8]=_0x3c4e45):_0x3c4e45=_0x42226b,_0x3c4e45;}function createError(_0x35e7b7,_0x499af9,_0x542398=null){return{'success':![],'statusCode':_0x35e7b7,'message':_0x499af9,'data':_0x542398,'timestamp':new Date()['toISOString']()};}function createValidationError(_0x1354c5,_0x2ff27b){var _0x1ff3ac=a0_0x3c4e;return{'success':![],'statusCode':0x190,'message':_0x1354c5,'data':{'errors':_0x2ff27b},'timestamp':new Date()[_0x1ff3ac(0x124)]()};}module['exports']={'createResponse':createResponse,'createError':createError,'createValidationError':createValidationError};
1
+ 'use strict';function a0_0x9cad(){var _0x39f6af=['ntKWnZy2nNLbreDsvW','mJy1mJuZmg1PthvtDG','ndK3mdDZy3H4sMO','nJaYmfHwuhn6sa','nta4mtm4sLv6v0TS','mZy0ndu1m2PlA0LXsW','mty3oteYng5ZEMLvrW','nJy5nZKXmKnJALDZEq','n3rrtNzjza','Dg9ju09tDhjPBMC','nNPzq2Puqq'];a0_0x9cad=function(){return _0x39f6af;};return a0_0x9cad();}(function(_0x37d3e3,_0x1a5eb0){var _0x2d1dad=a0_0x1b98,_0x5a71d6=_0x37d3e3();while(!![]){try{var _0x498a0b=parseInt(_0x2d1dad(0xf1))/0x1*(parseInt(_0x2d1dad(0xf6))/0x2)+-parseInt(_0x2d1dad(0xf7))/0x3+-parseInt(_0x2d1dad(0xed))/0x4+-parseInt(_0x2d1dad(0xf3))/0x5+-parseInt(_0x2d1dad(0xf2))/0x6+-parseInt(_0x2d1dad(0xef))/0x7*(parseInt(_0x2d1dad(0xee))/0x8)+-parseInt(_0x2d1dad(0xf4))/0x9*(-parseInt(_0x2d1dad(0xf5))/0xa);if(_0x498a0b===_0x1a5eb0)break;else _0x5a71d6['push'](_0x5a71d6['shift']());}catch(_0x526f3e){_0x5a71d6['push'](_0x5a71d6['shift']());}}}(a0_0x9cad,0xd2840));function a0_0x1b98(_0x3bedc5,_0x1f13c5){_0x3bedc5=_0x3bedc5-0xed;var _0x9cad6d=a0_0x9cad();var _0x1b9884=_0x9cad6d[_0x3bedc5];if(a0_0x1b98['ZlFDht']===undefined){var _0x346385=function(_0x461214){var _0x20744a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x284e70='',_0x2c7f1f='';for(var _0x1da29a=0x0,_0x46357a,_0x3ce990,_0x5bd794=0x0;_0x3ce990=_0x461214['charAt'](_0x5bd794++);~_0x3ce990&&(_0x46357a=_0x1da29a%0x4?_0x46357a*0x40+_0x3ce990:_0x3ce990,_0x1da29a++%0x4)?_0x284e70+=String['fromCharCode'](0xff&_0x46357a>>(-0x2*_0x1da29a&0x6)):0x0){_0x3ce990=_0x20744a['indexOf'](_0x3ce990);}for(var _0x11b88f=0x0,_0x540041=_0x284e70['length'];_0x11b88f<_0x540041;_0x11b88f++){_0x2c7f1f+='%'+('00'+_0x284e70['charCodeAt'](_0x11b88f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2c7f1f);};a0_0x1b98['oktasO']=_0x346385,a0_0x1b98['PMvTix']={},a0_0x1b98['ZlFDht']=!![];}var _0x3c8373=_0x9cad6d[0x0],_0x591a3d=_0x3bedc5+_0x3c8373,_0x2f9c4d=a0_0x1b98['PMvTix'][_0x591a3d];return!_0x2f9c4d?(_0x1b9884=a0_0x1b98['oktasO'](_0x1b9884),a0_0x1b98['PMvTix'][_0x591a3d]=_0x1b9884):_0x1b9884=_0x2f9c4d,_0x1b9884;}function createResponse(_0x5ba2a4,_0x18cbae,_0x21ad10=null){return{'success':!![],'statusCode':_0x5ba2a4,'message':_0x18cbae,'data':_0x21ad10,'timestamp':new Date()['toISOString']()};}function createError(_0x13eb82,_0x264898,_0xb0e804=null){return{'success':![],'statusCode':_0x13eb82,'message':_0x264898,'data':_0xb0e804,'timestamp':new Date()['toISOString']()};}function createValidationError(_0x3560bd,_0x515238){var _0x3efb40=a0_0x1b98;return{'success':![],'statusCode':0x190,'message':_0x3560bd,'data':{'errors':_0x515238},'timestamp':new Date()[_0x3efb40(0xf0)]()};}module['exports']={'createResponse':createResponse,'createError':createError,'createValidationError':createValidationError};
@@ -1 +1 @@
1
- const a0_0x4701fd=a0_0x20ed;(function(_0x3d5718,_0x45f7c6){const _0x25e8c0=a0_0x20ed,_0x3aead1=_0x3d5718();while(!![]){try{const _0x58b6f8=-parseInt(_0x25e8c0(0xa4))/0x1+parseInt(_0x25e8c0(0xaf))/0x2+-parseInt(_0x25e8c0(0xa7))/0x3*(parseInt(_0x25e8c0(0x93))/0x4)+parseInt(_0x25e8c0(0xb2))/0x5*(-parseInt(_0x25e8c0(0xb3))/0x6)+parseInt(_0x25e8c0(0x8f))/0x7*(parseInt(_0x25e8c0(0x96))/0x8)+-parseInt(_0x25e8c0(0x9a))/0x9*(-parseInt(_0x25e8c0(0xb4))/0xa)+parseInt(_0x25e8c0(0xa1))/0xb*(-parseInt(_0x25e8c0(0xac))/0xc);if(_0x58b6f8===_0x45f7c6)break;else _0x3aead1['push'](_0x3aead1['shift']());}catch(_0x1b06c5){_0x3aead1['push'](_0x3aead1['shift']());}}}(a0_0x399d,0x8ff84),require('dotenv')[a0_0x4701fd(0x9f)]());function a0_0x399d(){const _0x3b9add=['zufUz3e','mtK0ntC4mg5RthHjza','BwvZC2fNzq','ueLxy0y','mtGZmNPKANveva','yxnZzxj0rxHJAgfUz2u','CxvLDwu','ic0+ia','odaXsgjUzKr1','u29SDxrPB246ifvZzsbHigrPzMzLCMvUDcbXDwv1zsbUyw1LigzVCIbKAwzMzxjLBNqGCM91DgLUzYbRzxLZlG','DgfJBNq','uxLVzfG','ksbJCMvHDgvK','y29UzMLN','yxnZzxj0uxvLDwu','mtfTC2nZEuW','uNHlwMi','xsbgywLSzwqGDg8Gy2XVC2uGuMfIyML0tveGy29UBMvJDgLVBJOG','mZyZnJuYsu5kDvjf','xsbszxrYEsbXDwv1zsa','xsbsywjIAxrnusbJAgfUBMvSignYzwf0zwqGC3vJy2vZC2z1BgX5','m1zLr21Uwa','xsbsywjIAxrnusbJB25Uzwn0Aw9UignSB3nLza','xsbszxrYEsbIAw5KAw5NigzVCIa','igLZigfSCMvHzhKGAw4GDxnLihDPDgGGysbKAwzMzxjLBNqGCM91DgLUzYbRzxKU','xsbfCNjVCIbJCMvHDgLUzYbYzxrYEsbLEgnOyw5NztO','mJG4ntu0ne5nrhHWEG','xsbfuLjpuJOGuxvLDwuG','xsbrDwv1zsa','mJa5otqWmNLRB1LmAq','ywTRDuO','xsbgywLSzwqGDg8Gy29UBMvJDcb0BYbsywjIAxrnutOG','mJv1uhbAu1y','odK1ntqYzefUuMLX','nJC2mZbjtKjLCfO','yMLUzff1zxvL','zxHPDa','DNLQq08','ignYzwf0zwqVCMvHzhK','uKfcqKLutvfFuK9vveLor19lrvK','zw52','y29UBMvJDa','rgvywg4','Bg9N','xsbfCNjVCIbZzxr0Aw5NihvWig1HAw4GCxvLDwu6','x3jLDhj5','lI9KyxrLsgvSCgvY','xsbfCNjVCIbJCMvHDgLUzYbYzxrYEsbXDwv1ztO','CMv0CNKTzxHJAgfUz2u','Aw5JBhvKzxm','mJm2odHXqKHztKq','zxjYB3i','vMr0whC'];a0_0x399d=function(){return _0x3b9add;};return a0_0x399d();}const amqp=require('amqplib'),{formatDate}=require(a0_0x4701fd(0x8b)),RABBITMQ_URL=process['env']['RABBITMQ_URL'],EXCHANGE=process['env']['RABBITMQ_EXCHANGE'],ROUTING_KEY=process[a0_0x4701fd(0x85)][a0_0x4701fd(0x84)],QUEUE=process['env']['RABBITMQ_QUEUE'];async function createConnection(){const _0x359328=a0_0x4701fd,_0x21ca6c={'nXpNs':function(_0x27b888,_0x261a6c){return _0x27b888(_0x261a6c);},'VdtXw':function(_0xc76a04,_0x50f62e){return _0xc76a04(_0x50f62e);}};try{const _0x18e144=await amqp[_0x359328(0x86)](RABBITMQ_URL);return console['log']('['+_0x21ca6c['nXpNs'](formatDate,new Date())+']\x20Successfully\x20connected\x20to\x20RabbitMQ'),_0x18e144;}catch(_0x29d2ef){console[_0x359328(0x90)]('['+_0x21ca6c[_0x359328(0x91)](formatDate,new Date())+_0x359328(0xb1)+_0x29d2ef['message']);throw _0x29d2ef;}}function a0_0x20ed(_0x489a23,_0x5ca3fb){_0x489a23=_0x489a23-0x82;const _0x399db1=a0_0x399d();let _0x20ed24=_0x399db1[_0x489a23];if(a0_0x20ed['ZDnEfv']===undefined){var _0xc574ab=function(_0x2e353e){const _0xbeedab='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5a9c7c='',_0x1614b4='';for(let _0x48472b=0x0,_0x11b61d,_0x561669,_0x709b67=0x0;_0x561669=_0x2e353e['charAt'](_0x709b67++);~_0x561669&&(_0x11b61d=_0x48472b%0x4?_0x11b61d*0x40+_0x561669:_0x561669,_0x48472b++%0x4)?_0x5a9c7c+=String['fromCharCode'](0xff&_0x11b61d>>(-0x2*_0x48472b&0x6)):0x0){_0x561669=_0xbeedab['indexOf'](_0x561669);}for(let _0x1a973e=0x0,_0x4a61f6=_0x5a9c7c['length'];_0x1a973e<_0x4a61f6;_0x1a973e++){_0x1614b4+='%'+('00'+_0x5a9c7c['charCodeAt'](_0x1a973e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1614b4);};a0_0x20ed['rtViRi']=_0xc574ab,a0_0x20ed['ZVcwkX']={},a0_0x20ed['ZDnEfv']=!![];}const _0x1e0ead=_0x399db1[0x0],_0x211452=_0x489a23+_0x1e0ead,_0x56894d=a0_0x20ed['ZVcwkX'][_0x211452];return!_0x56894d?(_0x20ed24=a0_0x20ed['rtViRi'](_0x20ed24),a0_0x20ed['ZVcwkX'][_0x211452]=_0x20ed24):_0x20ed24=_0x56894d,_0x20ed24;}async function createChannel(_0x25ce77){const _0x400e40=a0_0x4701fd,_0x5e3634={'tacnt':function(_0x3c902b,_0x4d68d2){return _0x3c902b(_0x4d68d2);},'MQPLX':function(_0x35d968,_0x1a4459){return _0x35d968(_0x1a4459);}};try{const _0x5bcd5b=await _0x25ce77['createChannel']();return console[_0x400e40(0x88)]('['+_0x5e3634[_0x400e40(0x9c)](formatDate,new Date())+_0x400e40(0xa6)),_0x5bcd5b;}catch(_0xd81a80){console['error']('['+_0x5e3634['MQPLX'](formatDate,new Date())+']\x20Failed\x20to\x20create\x20RabbitMQ\x20channel:\x20'+_0xd81a80[_0x400e40(0x94)]);throw _0xd81a80;}}async function setupInfrastructure(_0x2d1a19){const _0x4c2d54=a0_0x4701fd,_0xed6a63={'akkuJ':'direct','eAngq':function(_0x5ebb77,_0x49f602){return _0x5ebb77(_0x49f602);},'PIWcF':function(_0x3e6434,_0xf73d90){return _0x3e6434(_0xf73d90);},'DeXXn':function(_0x25189b,_0x56c289){return _0x25189b(_0x56c289);},'nAvTW':function(_0x6fd890,_0x31d5f9){return _0x6fd890===_0x31d5f9;},'vyjCO':'created/ready','eWzDj':function(_0x2c3523,_0x461549){return _0x2c3523(_0x461549);},'QyodX':'inequivalent\x20arg','RxKZb':'x-dead-letter-routing-key'};try{await _0x2d1a19[_0x4c2d54(0x97)](_0x4c2d54(0x8d),_0xed6a63[_0x4c2d54(0xb0)],{'durable':!![],'autoDelete':![]}),console[_0x4c2d54(0x88)]('['+_0xed6a63[_0x4c2d54(0x92)](formatDate,new Date())+']\x20Retry\x20exchange\x20created/ready');}catch(_0x4d6237){console['error']('['+formatDate(new Date())+_0x4c2d54(0xab),_0x4d6237['message']);throw _0x4d6237;}try{await _0x2d1a19[_0x4c2d54(0x97)](EXCHANGE,'direct',{'durable':!![],'autoDelete':![]}),console['log']('['+_0xed6a63[_0x4c2d54(0x95)](formatDate,new Date())+']\x20Exchange\x20'+EXCHANGE+_0x4c2d54(0x83));}catch(_0x326d0a){console[_0x4c2d54(0x90)]('['+formatDate(new Date())+']\x20Error\x20creating\x20exchange\x20'+EXCHANGE+':',_0x326d0a['message']);throw _0x326d0a;}const _0x888c17=ROUTING_KEY+_0x4c2d54(0x8a);try{const _0x51ed30={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':EXCHANGE,'x-dead-letter-routing-key':ROUTING_KEY}};await _0x2d1a19[_0x4c2d54(0xa0)](_0x888c17,_0x51ed30),console['log']('['+formatDate(new Date())+_0x4c2d54(0xa5)+_0x888c17+'\x20created/ready'),await _0x2d1a19['bindQueue'](_0x888c17,'retry-exchange',ROUTING_KEY),console['log']('['+_0xed6a63[_0x4c2d54(0x87)](formatDate,new Date())+_0x4c2d54(0xa9)+ROUTING_KEY+'\x20created');}catch(_0x41d3f1){console[_0x4c2d54(0x90)]('['+formatDate(new Date())+_0x4c2d54(0x8c),_0x41d3f1[_0x4c2d54(0x94)]);throw _0x41d3f1;}try{const _0x4a2528={'durable':!![],'arguments':{'x-dead-letter-exchange':'retry-exchange','x-dead-letter-routing-key':ROUTING_KEY}};try{const _0x40bcc6=await _0x2d1a19[_0x4c2d54(0xa0)](QUEUE,_0x4a2528);console[_0x4c2d54(0x88)]('['+_0xed6a63[_0x4c2d54(0x92)](formatDate,new Date())+_0x4c2d54(0xae)+QUEUE+'\x20'+(_0xed6a63['nAvTW'](_0x40bcc6[_0x4c2d54(0x98)],QUEUE)?_0xed6a63[_0x4c2d54(0x82)]:'found')+'\x20with\x20DLX'),await _0x2d1a19[_0x4c2d54(0xb5)](QUEUE,EXCHANGE,ROUTING_KEY),console[_0x4c2d54(0x88)]('['+_0xed6a63['eWzDj'](formatDate,new Date())+']\x20Binding\x20'+EXCHANGE+_0x4c2d54(0x99)+QUEUE+'\x20('+ROUTING_KEY+_0x4c2d54(0x9e));}catch(_0x28e35c){if(_0x28e35c[_0x4c2d54(0x94)][_0x4c2d54(0x8e)](_0xed6a63[_0x4c2d54(0x9d)])&&_0x28e35c[_0x4c2d54(0x94)][_0x4c2d54(0x8e)](_0xed6a63[_0x4c2d54(0xa2)]))console['error']('\x0a['+formatDate(new Date())+_0x4c2d54(0xad)+QUEUE+_0x4c2d54(0xaa)),console['error']('Queue\x20'+QUEUE+'\x20was\x20created\x20with\x20a\x20different\x20x-dead-letter-routing-key.'),console['error'](_0x4c2d54(0x9b)),process['exit'](0x1);else{console[_0x4c2d54(0x90)]('['+_0xed6a63[_0x4c2d54(0x92)](formatDate,new Date())+']\x20Error\x20creating\x20queue\x20'+QUEUE+':',_0x28e35c['message']);throw _0x28e35c;}}}catch(_0x57bb59){if(!_0x57bb59[_0x4c2d54(0x94)]['includes'](_0xed6a63[_0x4c2d54(0x9d)])){console[_0x4c2d54(0x90)]('['+_0xed6a63[_0x4c2d54(0x92)](formatDate,new Date())+_0x4c2d54(0x89),_0x57bb59[_0x4c2d54(0x94)]);throw _0x57bb59;}process[_0x4c2d54(0xb6)](0x1);}}async function closeConnection(_0x488b12){const _0x3f823d=a0_0x4701fd,_0x4def8e={'XjESB':function(_0x38561a,_0x150074){return _0x38561a(_0x150074);}};if(_0x488b12)try{await _0x488b12['close'](),console['log']('['+formatDate(new Date())+_0x3f823d(0xa8));}catch(_0xf62021){console[_0x3f823d(0x90)]('['+_0x4def8e['XjESB'](formatDate,new Date())+_0x3f823d(0xa3)+_0xf62021['message']);}}module['exports']={'createConnection':createConnection,'createChannel':createChannel,'setupInfrastructure':setupInfrastructure,'closeConnection':closeConnection,'getConfig':()=>({'url':RABBITMQ_URL,'exchange':EXCHANGE,'routingKey':ROUTING_KEY,'queue':QUEUE})};
1
+ const a0_0x177d31=a0_0x2fcc;(function(_0x364ec4,_0x56ca0f){const _0x243922=a0_0x2fcc,_0x13b55d=_0x364ec4();while(!![]){try{const _0x511038=parseInt(_0x243922(0xf6))/0x1+parseInt(_0x243922(0xde))/0x2*(-parseInt(_0x243922(0xe9))/0x3)+-parseInt(_0x243922(0xec))/0x4*(parseInt(_0x243922(0xd2))/0x5)+parseInt(_0x243922(0xfb))/0x6+parseInt(_0x243922(0xe8))/0x7*(-parseInt(_0x243922(0x102))/0x8)+-parseInt(_0x243922(0x100))/0x9*(parseInt(_0x243922(0xda))/0xa)+-parseInt(_0x243922(0xf2))/0xb*(-parseInt(_0x243922(0xf3))/0xc);if(_0x511038===_0x56ca0f)break;else _0x13b55d['push'](_0x13b55d['shift']());}catch(_0x457953){_0x13b55d['push'](_0x13b55d['shift']());}}}(a0_0x1ef1,0x64f80),require(a0_0x177d31(0xf9))['config']());const amqp=require(a0_0x177d31(0xee)),{formatDate}=require(a0_0x177d31(0xf1)),RABBITMQ_URL=process['env']['RABBITMQ_URL'],EXCHANGE=process['env']['RABBITMQ_EXCHANGE'],ROUTING_KEY=process['env']['RABBITMQ_ROUTING_KEY'],QUEUE=process['env']['RABBITMQ_QUEUE'];async function createConnection(){const _0x1a4b63=a0_0x177d31,_0x161812={'EIxcw':function(_0x3c9784,_0xb6178e){return _0x3c9784(_0xb6178e);}};try{const _0x58fba3=await amqp['connect'](RABBITMQ_URL);return console[_0x1a4b63(0xd7)]('['+formatDate(new Date())+_0x1a4b63(0xf8)),_0x58fba3;}catch(_0x3b9ef6){console['error']('['+_0x161812[_0x1a4b63(0xfc)](formatDate,new Date())+']\x20Failed\x20to\x20connect\x20to\x20RabbitMQ:\x20'+_0x3b9ef6['message']);throw _0x3b9ef6;}}async function createChannel(_0x3d4b6b){const _0x14e7d2=a0_0x177d31;try{const _0x366018=await _0x3d4b6b['createChannel']();return console[_0x14e7d2(0xd7)]('['+formatDate(new Date())+']\x20RabbitMQ\x20channel\x20created\x20successfully'),_0x366018;}catch(_0x55b83c){console[_0x14e7d2(0xdb)]('['+formatDate(new Date())+_0x14e7d2(0xe6)+_0x55b83c['message']);throw _0x55b83c;}}function a0_0x2fcc(_0x334abe,_0x1f7b09){_0x334abe=_0x334abe-0xd1;const _0x1ef170=a0_0x1ef1();let _0x2fcc4a=_0x1ef170[_0x334abe];if(a0_0x2fcc['ncJKyZ']===undefined){var _0x5810e4=function(_0x18b3b1){const _0x5f45dd='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x32d4e9='',_0x337ce8='';for(let _0x10b8c7=0x0,_0x509d16,_0x54b349,_0x245b2b=0x0;_0x54b349=_0x18b3b1['charAt'](_0x245b2b++);~_0x54b349&&(_0x509d16=_0x10b8c7%0x4?_0x509d16*0x40+_0x54b349:_0x54b349,_0x10b8c7++%0x4)?_0x32d4e9+=String['fromCharCode'](0xff&_0x509d16>>(-0x2*_0x10b8c7&0x6)):0x0){_0x54b349=_0x5f45dd['indexOf'](_0x54b349);}for(let _0x1873fa=0x0,_0x6c4652=_0x32d4e9['length'];_0x1873fa<_0x6c4652;_0x1873fa++){_0x337ce8+='%'+('00'+_0x32d4e9['charCodeAt'](_0x1873fa)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x337ce8);};a0_0x2fcc['Uxpcnx']=_0x5810e4,a0_0x2fcc['EEztAK']={},a0_0x2fcc['ncJKyZ']=!![];}const _0x1770db=_0x1ef170[0x0],_0x2db637=_0x334abe+_0x1770db,_0x3cc35e=a0_0x2fcc['EEztAK'][_0x2db637];return!_0x3cc35e?(_0x2fcc4a=a0_0x2fcc['Uxpcnx'](_0x2fcc4a),a0_0x2fcc['EEztAK'][_0x2db637]=_0x2fcc4a):_0x2fcc4a=_0x3cc35e,_0x2fcc4a;}async function setupInfrastructure(_0x290ee7){const _0x477f59=a0_0x177d31,_0x1bf507={'YOBMp':_0x477f59(0xe2),'LSDPc':'direct','FUWpl':function(_0x21b794,_0x266d60){return _0x21b794(_0x266d60);},'wqmLF':_0x477f59(0xff)};try{await _0x290ee7['assertExchange'](_0x1bf507[_0x477f59(0xe7)],_0x1bf507[_0x477f59(0xf4)],{'durable':!![],'autoDelete':![]}),console['log']('['+formatDate(new Date())+_0x477f59(0xe5));}catch(_0x299694){console[_0x477f59(0xdb)]('['+formatDate(new Date())+_0x477f59(0xf7),_0x299694['message']);throw _0x299694;}try{await _0x290ee7[_0x477f59(0xe0)](EXCHANGE,'direct',{'durable':!![],'autoDelete':![]}),console[_0x477f59(0xd7)]('['+formatDate(new Date())+']\x20Exchange\x20'+EXCHANGE+_0x477f59(0xd5));}catch(_0x4e2c9e){console[_0x477f59(0xdb)]('['+formatDate(new Date())+_0x477f59(0xdd)+EXCHANGE+':',_0x4e2c9e['message']);throw _0x4e2c9e;}const _0x5b55ae=ROUTING_KEY+_0x477f59(0xf0);try{const _0x3af954={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':EXCHANGE,'x-dead-letter-routing-key':ROUTING_KEY}};await _0x290ee7['assertQueue'](_0x5b55ae,_0x3af954),console[_0x477f59(0xd7)]('['+formatDate(new Date())+_0x477f59(0xf5)+_0x5b55ae+_0x477f59(0xd5)),await _0x290ee7[_0x477f59(0xef)](_0x5b55ae,_0x477f59(0xe2),ROUTING_KEY),console[_0x477f59(0xd7)]('['+formatDate(new Date())+']\x20Retry\x20binding\x20for\x20'+ROUTING_KEY+_0x477f59(0xd3));}catch(_0x23d46b){console['error']('['+formatDate(new Date())+_0x477f59(0xeb),_0x23d46b[_0x477f59(0xe1)]);throw _0x23d46b;}try{const _0x48b5b6={'durable':!![],'arguments':{'x-dead-letter-exchange':'retry-exchange','x-dead-letter-routing-key':ROUTING_KEY}};try{const _0x54bb6d=await _0x290ee7[_0x477f59(0xd1)](QUEUE,_0x48b5b6);console['log']('['+formatDate(new Date())+_0x477f59(0xd6)+QUEUE+'\x20'+(_0x54bb6d['queue']===QUEUE?_0x477f59(0xfe):'found')+'\x20with\x20DLX'),await _0x290ee7['bindQueue'](QUEUE,EXCHANGE,ROUTING_KEY),console['log']('['+formatDate(new Date())+_0x477f59(0xd9)+EXCHANGE+'\x20->\x20'+QUEUE+'\x20('+ROUTING_KEY+_0x477f59(0xea));}catch(_0x56c6f1){if(_0x56c6f1[_0x477f59(0xe1)]['includes']('inequivalent\x20arg')&&_0x56c6f1[_0x477f59(0xe1)][_0x477f59(0xed)](_0x477f59(0xdf)))console[_0x477f59(0xdb)]('\x0a['+_0x1bf507[_0x477f59(0xd4)](formatDate,new Date())+_0x477f59(0xd8)+QUEUE+'\x20is\x20already\x20in\x20use\x20with\x20a\x20different\x20routing\x20key.'),console[_0x477f59(0xdb)](_0x477f59(0xdc)+QUEUE+_0x477f59(0xfa)),console['error']('Solution:\x20Use\x20a\x20different\x20queue\x20name\x20for\x20different\x20routing\x20keys.'),process[_0x477f59(0x101)](0x1);else{console[_0x477f59(0xdb)]('['+formatDate(new Date())+']\x20Error\x20creating\x20queue\x20'+QUEUE+':',_0x56c6f1['message']);throw _0x56c6f1;}}}catch(_0x4f7b47){if(!_0x4f7b47[_0x477f59(0xe1)]['includes'](_0x1bf507[_0x477f59(0xe4)])){console['error']('['+formatDate(new Date())+']\x20Error\x20setting\x20up\x20main\x20queue:',_0x4f7b47[_0x477f59(0xe1)]);throw _0x4f7b47;}process['exit'](0x1);}}async function closeConnection(_0x271f03){const _0x86027c=a0_0x177d31,_0xe47e73={'eHPDF':function(_0x521b7b,_0x43d3b0){return _0x521b7b(_0x43d3b0);}};if(_0x271f03)try{await _0x271f03[_0x86027c(0xfd)](),console['log']('['+formatDate(new Date())+']\x20RabbitMQ\x20connection\x20closed');}catch(_0x28b8f9){console['error']('['+_0xe47e73['eHPDF'](formatDate,new Date())+_0x86027c(0xe3)+_0x28b8f9[_0x86027c(0xe1)]);}}module['exports']={'createConnection':createConnection,'createChannel':createChannel,'setupInfrastructure':setupInfrastructure,'closeConnection':closeConnection,'getConfig':()=>({'url':RABBITMQ_URL,'exchange':EXCHANGE,'routingKey':ROUTING_KEY,'queue':QUEUE})};function a0_0x1ef1(){const _0x11ebd9=['uxvLDwuG','xsbfCNjVCIbJCMvHDgLUzYbLEgnOyw5Nzsa','mLrIueTjtG','Ec1KzwfKlwXLDhrLCI1YB3v0Aw5NlwTLEq','yxnZzxj0rxHJAgfUz2u','BwvZC2fNzq','CMv0CNKTzxHJAgfUz2u','xsbgywLSzwqGDg8Gy2XVC2uGuMfIyML0tveGy29UBMvJDgLVBJOG','D3fTtey','xsbszxrYEsbLEgnOyw5NzsbJCMvHDgvKl3jLywr5','xsbgywLSzwqGDg8Gy3jLyxrLifjHyMjPDe1rignOyw5UzwW6ia','wu9ctxa','mJqZmZi3uK55sxj3','nJu2odC3DMrPB3bO','ksbJCMvHDgvK','xsbfCNjVCIbJCMvHDgLUzYbYzxrYEsbXDwv1ztO','mJbyA0r1vNG','Aw5JBhvKzxm','yw1XCgXPyG','yMLUzff1zxvL','x3jLDhj5','lI9KyxrLsgvSCgvY','mJCYogLfruPesq','otyWnZjmDgXyz0C','tfneugm','xsbszxrYEsbXDwv1zsa','mZKZotK1vLHkrNjH','xsbfCNjVCIbJCMvHDgLUzYbYzxrYEsbLEgnOyw5NztO','xsbtDwnJzxnZzNvSBhKGy29UBMvJDgvKihrVifjHyMjPDe1r','zg90zw52','ihDHCYbJCMvHDgvKihDPDgGGysbKAwzMzxjLBNqGEc1KzwfKlwXLDhrLCI1YB3v0Aw5NlwTLEs4','ntq4nZq4v2jxtMPh','ruL4y3C','y2XVC2u','y3jLyxrLzc9YzwfKEq','Aw5LCxvPDMfSzw50igfYzW','oxjrBgLbsq','zxHPDa','mtC2AwfhEhDy','yxnZzxj0uxvLDwu','nZa3mtu1yufVzKrx','ignYzwf0zwq','rLvxCgW','ignYzwf0zwqVCMvHzhK','xsbrDwv1zsa','Bg9N','xsbfuLjpuJOGuxvLDwuG','xsbcAw5KAw5Nia','mZy2nte3mgnSD1H1Aa','zxjYB3i'];a0_0x1ef1=function(){return _0x11ebd9;};return a0_0x1ef1();}
@@ -1 +1 @@
1
- const a0_0x37394c=a0_0x3db8;(function(_0x8ac543,_0x49f377){const _0x3ce5bc=a0_0x3db8,_0x5c7dd7=_0x8ac543();while(!![]){try{const _0x8b3ea=-parseInt(_0x3ce5bc(0x12d))/0x1*(parseInt(_0x3ce5bc(0x144))/0x2)+parseInt(_0x3ce5bc(0x128))/0x3+parseInt(_0x3ce5bc(0x125))/0x4*(parseInt(_0x3ce5bc(0x13e))/0x5)+parseInt(_0x3ce5bc(0x139))/0x6*(-parseInt(_0x3ce5bc(0x13f))/0x7)+parseInt(_0x3ce5bc(0x13d))/0x8*(-parseInt(_0x3ce5bc(0x12b))/0x9)+parseInt(_0x3ce5bc(0x141))/0xa*(-parseInt(_0x3ce5bc(0x12f))/0xb)+parseInt(_0x3ce5bc(0x137))/0xc;if(_0x8b3ea===_0x49f377)break;else _0x5c7dd7['push'](_0x5c7dd7['shift']());}catch(_0x127b98){_0x5c7dd7['push'](_0x5c7dd7['shift']());}}}(a0_0x6b72,0x72ae3));const Redis=require(a0_0x37394c(0x140)),{logger}=require(a0_0x37394c(0x12e));class RedisClient{constructor(){const _0x214a9d=a0_0x37394c;this[_0x214a9d(0x129)]=null,this[_0x214a9d(0x143)]=![];}['connect'](){const _0x203434=a0_0x37394c,_0x5d2312={'zbVgO':function(_0x55e0db,_0x3d0799){return _0x55e0db*_0x3d0799;},'rcGUV':'localhost','xPGHq':function(_0x2b3b4c,_0x54eaf1,_0x116a0d){return _0x2b3b4c(_0x54eaf1,_0x116a0d);},'XBRtU':_0x203434(0x130)};if(this[_0x203434(0x129)])return this[_0x203434(0x129)];try{return this[_0x203434(0x129)]=new Redis({'host':process[_0x203434(0x122)]['REDIS_HOST']||_0x5d2312[_0x203434(0x132)],'port':_0x5d2312[_0x203434(0x13a)](parseInt,process['env']['REDIS_PORT'],0xa)||0x18ec,'password':process['env']['REDIS_PASSWORD']||undefined,'db':_0x5d2312[_0x203434(0x13a)](parseInt,process[_0x203434(0x122)]['REDIS_DB'],0xa)||0x0,'retryStrategy'(_0x6fcc3d){const _0x382345=_0x203434,_0x22d211=Math[_0x382345(0x126)](_0x5d2312['zbVgO'](_0x6fcc3d,0x32),0x7d0);return _0x22d211;}}),this['client']['on'](_0x203434(0x123),()=>{const _0x272780=_0x203434;this[_0x272780(0x143)]=!![],logger[_0x272780(0x136)]({'event':'redis_connected'},_0x272780(0x131));}),this['client']['on']('error',_0x37db23=>{const _0x2e5c55=_0x203434;this['isConnected']=![],logger['error']({'event':'redis_error','error':_0x37db23[_0x2e5c55(0x135)]},'Redis\x20connection\x20error:\x20'+_0x37db23['message']);}),this['client']['on']('close',()=>{const _0xcae3b3=_0x203434;this['isConnected']=![],logger['warn']({'event':_0xcae3b3(0x134)},'Redis\x20connection\x20closed');}),this['client'];}catch(_0x1bb13e){logger['error']({'event':_0x203434(0x12c),'error':_0x1bb13e[_0x203434(0x135)]},_0x5d2312[_0x203434(0x12a)]);throw _0x1bb13e;}}[a0_0x37394c(0x138)](){const _0x40ff88=a0_0x37394c;return!this[_0x40ff88(0x129)]&&this[_0x40ff88(0x123)](),this['client'];}async['ping'](_0x4d8cec=0x1388){const _0x2f8338=a0_0x37394c,_0x59434e={'vQtgQ':function(_0xb5d202,_0x54de62){return _0xb5d202===_0x54de62;},'rXQkB':_0x2f8338(0x127)};try{const _0x56785a=this['getClient'](),_0xf16357=await Promise[_0x2f8338(0x142)]([_0x56785a[_0x2f8338(0x124)](),new Promise((_0x43b991,_0x3b9539)=>setTimeout(()=>_0x3b9539(new Error(_0x2f8338(0x145))),_0x4d8cec))]);return _0x59434e[_0x2f8338(0x133)](_0xf16357,_0x59434e[_0x2f8338(0x13c)]);}catch(_0x4aaf73){return![];}}async['disconnect'](){const _0x1b3fa8=a0_0x37394c;this['client']&&(await this[_0x1b3fa8(0x129)]['quit'](),this['client']=null,this['isConnected']=![]);}['forceDisconnect'](){const _0xc16d92=a0_0x37394c;this[_0xc16d92(0x129)]&&(this[_0xc16d92(0x129)]['disconnect'](),this['client']=null,this['isConnected']=![]);}}function a0_0x3db8(_0x7814cc,_0x568fd4){_0x7814cc=_0x7814cc-0x122;const _0x6b7204=a0_0x6b72();let _0x3db8d9=_0x6b7204[_0x7814cc];if(a0_0x3db8['xZeEVI']===undefined){var _0x5ccfaa=function(_0x3a89e0){const _0xf409fe='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x559102='',_0x253302='';for(let _0x2f465c=0x0,_0x5624d7,_0x158089,_0x4a54b2=0x0;_0x158089=_0x3a89e0['charAt'](_0x4a54b2++);~_0x158089&&(_0x5624d7=_0x2f465c%0x4?_0x5624d7*0x40+_0x158089:_0x158089,_0x2f465c++%0x4)?_0x559102+=String['fromCharCode'](0xff&_0x5624d7>>(-0x2*_0x2f465c&0x6)):0x0){_0x158089=_0xf409fe['indexOf'](_0x158089);}for(let _0x54e6a5=0x0,_0x11388c=_0x559102['length'];_0x54e6a5<_0x11388c;_0x54e6a5++){_0x253302+='%'+('00'+_0x559102['charCodeAt'](_0x54e6a5)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x253302);};a0_0x3db8['bHqfei']=_0x5ccfaa,a0_0x3db8['cxaVMk']={},a0_0x3db8['xZeEVI']=!![];}const _0x2ab07d=_0x6b7204[0x0],_0x31529e=_0x7814cc+_0x2ab07d,_0x17cc3a=a0_0x3db8['cxaVMk'][_0x31529e];return!_0x17cc3a?(_0x3db8d9=a0_0x3db8['bHqfei'](_0x3db8d9),a0_0x3db8['cxaVMk'][_0x31529e]=_0x3db8d9):_0x3db8d9=_0x17cc3a,_0x3db8d9;}function a0_0x6b72(){const _0x138316=['nunsuvvKrW','oda1EvbfBKXu','Aw9YzwrPCW','mta0mJCYmfbNDxHLvq','CMfJzq','AxndB25Uzwn0zwq','mKLSsLfNyq','uMvKAxmGueLorYb0Aw1LB3v0','zw52','y29UBMvJDa','CgLUzW','mZmXmJKYofbbAMfhAa','BwLU','ue9orW','mJiWnteYnMfPqKr3AG','y2XPzw50','wejsDfu','oxzey0nfDW','CMvKAxnFAw5PDf9LCNjVCG','ndu2ota1rxLrExng','lI9SB2DNzxi','mZn5swTRy1G','rMfPBgvKihrVigLUAxrPywXPEMuGuMvKAxm','uMvKAxmGy29UBMvJDgvKihn1y2nLC3nMDwXSEq','CMnhvvy','DLf0z1e','CMvKAxnFzgLZy29UBMvJDgvK','BwvZC2fNzq','Aw5MBW','odi2mJu4ohvMuKXxuW','z2v0q2XPzw50','ndeXmdzYweXhuNy','Efbhshe','zxHWB3j0CW','CLHrA0i','mtC5nJa0ofPuAhzODa'];a0_0x6b72=function(){return _0x138316;};return a0_0x6b72();}module[a0_0x37394c(0x13b)]=new RedisClient();
1
+ const a0_0x1544d1=a0_0x5f59;function a0_0x5f59(_0x301444,_0x4f868d){_0x301444=_0x301444-0x1ad;const _0x51af53=a0_0x51af();let _0x5f5920=_0x51af53[_0x301444];if(a0_0x5f59['NDcjJd']===undefined){var _0x4d2e03=function(_0x115677){const _0x2a3ed7='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x422f83='',_0x13c101='';for(let _0x31e1a5=0x0,_0x45b0ef,_0x23c2fd,_0x4e8b33=0x0;_0x23c2fd=_0x115677['charAt'](_0x4e8b33++);~_0x23c2fd&&(_0x45b0ef=_0x31e1a5%0x4?_0x45b0ef*0x40+_0x23c2fd:_0x23c2fd,_0x31e1a5++%0x4)?_0x422f83+=String['fromCharCode'](0xff&_0x45b0ef>>(-0x2*_0x31e1a5&0x6)):0x0){_0x23c2fd=_0x2a3ed7['indexOf'](_0x23c2fd);}for(let _0x2e38b2=0x0,_0x82c4bd=_0x422f83['length'];_0x2e38b2<_0x82c4bd;_0x2e38b2++){_0x13c101+='%'+('00'+_0x422f83['charCodeAt'](_0x2e38b2)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x13c101);};a0_0x5f59['kTDeTd']=_0x4d2e03,a0_0x5f59['ZfXeBU']={},a0_0x5f59['NDcjJd']=!![];}const _0x465549=_0x51af53[0x0],_0x36f5b3=_0x301444+_0x465549,_0x2d3db5=a0_0x5f59['ZfXeBU'][_0x36f5b3];return!_0x2d3db5?(_0x5f5920=a0_0x5f59['kTDeTd'](_0x5f5920),a0_0x5f59['ZfXeBU'][_0x36f5b3]=_0x5f5920):_0x5f5920=_0x2d3db5,_0x5f5920;}(function(_0x458432,_0x2843ac){const _0x3818dc=a0_0x5f59,_0x1ad712=_0x458432();while(!![]){try{const _0x62ed53=parseInt(_0x3818dc(0x1bf))/0x1+-parseInt(_0x3818dc(0x1b7))/0x2*(parseInt(_0x3818dc(0x1ae))/0x3)+-parseInt(_0x3818dc(0x1cc))/0x4*(-parseInt(_0x3818dc(0x1c8))/0x5)+-parseInt(_0x3818dc(0x1cd))/0x6+parseInt(_0x3818dc(0x1c5))/0x7+-parseInt(_0x3818dc(0x1b9))/0x8*(parseInt(_0x3818dc(0x1c0))/0x9)+-parseInt(_0x3818dc(0x1ba))/0xa*(-parseInt(_0x3818dc(0x1cb))/0xb);if(_0x62ed53===_0x2843ac)break;else _0x1ad712['push'](_0x1ad712['shift']());}catch(_0x58f3a4){_0x1ad712['push'](_0x1ad712['shift']());}}}(a0_0x51af,0x8f5c2));const Redis=require(a0_0x1544d1(0x1c1)),{logger}=require('./logger');class RedisClient{constructor(){this['client']=null,this['isConnected']=![];}['connect'](){const _0x30c342=a0_0x1544d1,_0x2e8e32={'GKANZ':function(_0x2a5145,_0x3f5f8e){return _0x2a5145*_0x3f5f8e;},'OPXGG':_0x30c342(0x1ca),'yZBiG':_0x30c342(0x1bd),'daJcx':'localhost','jknRi':function(_0x456480,_0x50816f,_0x356c73){return _0x456480(_0x50816f,_0x356c73);},'IxeYZ':'error','kOAHm':'Failed\x20to\x20initialize\x20Redis'};if(this[_0x30c342(0x1be)])return this[_0x30c342(0x1be)];try{return this['client']=new Redis({'host':process[_0x30c342(0x1c3)]['REDIS_HOST']||_0x2e8e32['daJcx'],'port':parseInt(process['env']['REDIS_PORT'],0xa)||0x18ec,'password':process['env']['REDIS_PASSWORD']||undefined,'db':_0x2e8e32[_0x30c342(0x1b6)](parseInt,process[_0x30c342(0x1c3)][_0x30c342(0x1c4)],0xa)||0x0,'retryStrategy'(_0x5b9ccc){const _0x4fec3c=_0x30c342,_0x198fd3=Math[_0x4fec3c(0x1c2)](_0x2e8e32[_0x4fec3c(0x1c7)](_0x5b9ccc,0x32),0x7d0);return _0x198fd3;}}),this[_0x30c342(0x1be)]['on']('connect',()=>{const _0x4185e1=_0x30c342;this[_0x4185e1(0x1bc)]=!![],logger[_0x4185e1(0x1c6)]({'event':_0x2e8e32[_0x4185e1(0x1ce)]},_0x4185e1(0x1ad));}),this[_0x30c342(0x1be)]['on'](_0x2e8e32['IxeYZ'],_0x267f65=>{const _0x1c78ea=_0x30c342;this['isConnected']=![],logger[_0x1c78ea(0x1b1)]({'event':_0x2e8e32['yZBiG'],'error':_0x267f65[_0x1c78ea(0x1c9)]},'Redis\x20connection\x20error:\x20'+_0x267f65[_0x1c78ea(0x1c9)]);}),this['client']['on'](_0x30c342(0x1b3),()=>{const _0x57d9d8=_0x30c342;this[_0x57d9d8(0x1bc)]=![],logger[_0x57d9d8(0x1b4)]({'event':'redis_disconnected'},'Redis\x20connection\x20closed');}),this[_0x30c342(0x1be)];}catch(_0x1a0fd9){logger[_0x30c342(0x1b1)]({'event':_0x30c342(0x1b5),'error':_0x1a0fd9[_0x30c342(0x1c9)]},_0x2e8e32['kOAHm']);throw _0x1a0fd9;}}[a0_0x1544d1(0x1bb)](){const _0x327e4f=a0_0x1544d1;return!this['client']&&this['connect'](),this[_0x327e4f(0x1be)];}async['ping'](_0x88caa6=0x1388){const _0xd20197=a0_0x1544d1,_0x5a825a={'XtLDo':_0xd20197(0x1b0)};try{const _0x1dad4f=this['getClient'](),_0x21f46f=await Promise['race']([_0x1dad4f[_0xd20197(0x1b8)](),new Promise((_0x6fd6ea,_0x477e9e)=>setTimeout(()=>_0x477e9e(new Error('Redis\x20PING\x20timeout')),_0x88caa6))]);return _0x21f46f===_0x5a825a[_0xd20197(0x1af)];}catch(_0x17bf2a){return![];}}async['disconnect'](){const _0x20b82c=a0_0x1544d1;this['client']&&(await this[_0x20b82c(0x1be)]['quit'](),this['client']=null,this['isConnected']=![]);}['forceDisconnect'](){const _0x12c81e=a0_0x1544d1;this['client']&&(this['client'][_0x12c81e(0x1b2)](),this['client']=null,this[_0x12c81e(0x1bc)]=![]);}}module['exports']=new RedisClient();function a0_0x51af(){const _0x172933=['ouLlu3jsCq','whrmrg8','ue9orW','zxjYB3i','zgLZy29UBMvJDa','y2XVC2u','D2fYBG','CMvKAxnFAw5PDf9LCNjVCG','AMTUuMK','nty2ndK4t2Lcq0L5','CgLUzW','nJC5nJbwBNLdwhq','ndKZmdq5mgfkCg50vG','z2v0q2XPzw50','AxndB25Uzwn0zwq','CMvKAxnFzxjYB3i','y2XPzw50','ntCYndy1v2rowKH2','otaWvMD0Ehn0','Aw9YzwrPCW','BwLU','zw52','uKvesvnFrei','ntK1ntqXohHeswjWrW','Aw5MBW','r0TbtLO','mta2odyXmgrbv2jxsa','BwvZC2fNzq','CMvKAxnFy29UBMvJDgvK','mtfYBgLiBKW','ohbuB29htG','mZqZnJK4BNjgCuLq','t1byr0C','uMvKAxmGy29UBMvJDgvKihn1y2nLC3nMDwXSEq'];a0_0x51af=function(){return _0x172933;};return a0_0x51af();}
@@ -1 +1 @@
1
- const a0_0x2d25ab=a0_0x20f6;(function(_0x2f794f,_0x522e22){const _0x288c67=a0_0x20f6,_0x1332c1=_0x2f794f();while(!![]){try{const _0x56f612=parseInt(_0x288c67(0x187))/0x1+parseInt(_0x288c67(0x188))/0x2*(-parseInt(_0x288c67(0x18f))/0x3)+-parseInt(_0x288c67(0x1a3))/0x4*(-parseInt(_0x288c67(0x197))/0x5)+parseInt(_0x288c67(0x18a))/0x6*(-parseInt(_0x288c67(0x189))/0x7)+-parseInt(_0x288c67(0x19c))/0x8*(-parseInt(_0x288c67(0x18c))/0x9)+parseInt(_0x288c67(0x186))/0xa*(parseInt(_0x288c67(0x198))/0xb)+parseInt(_0x288c67(0x192))/0xc*(-parseInt(_0x288c67(0x18b))/0xd);if(_0x56f612===_0x522e22)break;else _0x1332c1['push'](_0x1332c1['shift']());}catch(_0x58de6d){_0x1332c1['push'](_0x1332c1['shift']());}}}(a0_0x183f,0x2b69d));function a0_0x183f(){const _0x51c15c=['mtqZmtfhDurOwfG','CMvKAxnFz2v0ywXSx2vYCM9Y','C2v0sM9I','z2v0q2XPzw50','mJi5ntjOz0H3q0O','ve51uLy','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','zxjYB3i','zw52','ChjLzML4','A2v5CW','mJmWodrZt2rqshC','oMv4Cg9YDdO','zgvS','CMvZDgzVCMDLoG','DhrS','EK1lwLO','rvHqt1jux0zjtevFrvHqsvjz','mti3mhbHyxrRDa','mtK5odvtu05KDu0','nJy4mM12uw5NyW','mZK4m2zjtLPcAq','ntGYrNDYu2Pp','mtnTugrvBxu','odCZy0v4DeTR','BwvZC2fNzq','C2v0zxG','mJi1D3HRshfT','zgvMyxvSDa','CgfYC2u','mZaXmZGZnLHusvjryG','ChvZAa','CMvKAxnFC2v0x2vYCM9Y','zxHWB3j0CW','x3bYzwzPEa','mJm1t2P3thfw'];a0_0x183f=function(){return _0x51c15c;};return a0_0x183f();}const redisClient=require('./redis-client'),{logger}=require('./logger');function a0_0x20f6(_0x11af08,_0xafca73){_0x11af08=_0x11af08-0x184;const _0x183f97=a0_0x183f();let _0x20f6db=_0x183f97[_0x11af08];if(a0_0x20f6['iXnRVi']===undefined){var _0x48a8f3=function(_0x3ae44f){const _0x1bda12='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x21eee9='',_0x5724db='';for(let _0xeed78f=0x0,_0x529c5a,_0x4d6fe4,_0x134e38=0x0;_0x4d6fe4=_0x3ae44f['charAt'](_0x134e38++);~_0x4d6fe4&&(_0x529c5a=_0xeed78f%0x4?_0x529c5a*0x40+_0x4d6fe4:_0x4d6fe4,_0xeed78f++%0x4)?_0x21eee9+=String['fromCharCode'](0xff&_0x529c5a>>(-0x2*_0xeed78f&0x6)):0x0){_0x4d6fe4=_0x1bda12['indexOf'](_0x4d6fe4);}for(let _0x449999=0x0,_0x204e1c=_0x21eee9['length'];_0x449999<_0x204e1c;_0x449999++){_0x5724db+='%'+('00'+_0x21eee9['charCodeAt'](_0x449999)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5724db);};a0_0x20f6['dEmsxV']=_0x48a8f3,a0_0x20f6['maxuwl']={},a0_0x20f6['iXnRVi']=!![];}const _0x28b182=_0x183f97[0x0],_0x418dc4=_0x11af08+_0x28b182,_0x3b19ef=a0_0x20f6['maxuwl'][_0x418dc4];return!_0x3b19ef?(_0x20f6db=a0_0x20f6['dEmsxV'](_0x20f6db),a0_0x20f6['maxuwl'][_0x418dc4]=_0x20f6db):_0x20f6db=_0x3b19ef,_0x20f6db;}class RedisHelper{constructor(){const _0x5a504c=a0_0x20f6;this['_prefix']=null,this[_0x5a504c(0x1a7)]=parseInt(process[_0x5a504c(0x1a0)][_0x5a504c(0x185)],0xa)||0xe10;}get[a0_0x2d25ab(0x1a1)](){const _0x59c8c6=a0_0x2d25ab;if(!this[_0x59c8c6(0x196)]){const _0xa8374=process['env'][_0x59c8c6(0x19e)]||_0x59c8c6(0x190);this[_0x59c8c6(0x196)]=_0x59c8c6(0x1a6)+_0xa8374+_0x59c8c6(0x1a4);}return this['_prefix'];}async[a0_0x2d25ab(0x19a)](_0x126829,_0x2eaa78){const _0x523704=a0_0x2d25ab,_0x2a788d={'cSphR':_0x523704(0x194)};try{const _0x372de2=redisClient[_0x523704(0x19b)](),_0x382723=''+this[_0x523704(0x1a1)]+_0x126829;return await _0x372de2[_0x523704(0x18e)](_0x382723,this['ttl'],JSON['stringify'](_0x2eaa78)),!![];}catch(_0x5e6721){return logger[_0x523704(0x19f)]({'event':_0x2a788d['cSphR'],'jobId':_0x126829,'error':_0x5e6721[_0x523704(0x18d)]},'Failed\x20to\x20set\x20job\x20in\x20Redis'),![];}}async['getJob'](_0x291115){const _0x1024c0=a0_0x2d25ab,_0x488c25={'zMKZZ':'redis_get_error','kDmgN':'Failed\x20to\x20get\x20job\x20from\x20Redis'};try{const _0x95fc82=redisClient[_0x1024c0(0x19b)](),_0x2f0460=''+this[_0x1024c0(0x1a1)]+_0x291115,_0x5049e5=await _0x95fc82['get'](_0x2f0460);return _0x5049e5?JSON['parse'](_0x5049e5):null;}catch(_0x3c222c){return logger['error']({'event':_0x488c25[_0x1024c0(0x184)],'jobId':_0x291115,'error':_0x3c222c[_0x1024c0(0x18d)]},_0x488c25['kDmgN']),null;}}async['updateJob'](_0x22843b,_0x1eba15){const _0x7a147d=await this['getJob'](_0x22843b);if(!_0x7a147d)return![];const _0x31bfac={..._0x7a147d,..._0x1eba15};return await this['setJob'](_0x22843b,_0x31bfac);}async['deleteJob'](_0x106e4f){const _0x24fdb7=a0_0x2d25ab,_0x4d53e3={'TNuRV':'Failed\x20to\x20delete\x20job\x20from\x20Redis'};try{const _0x1ccc7c=redisClient['getClient'](),_0x605aea=''+this[_0x24fdb7(0x1a1)]+_0x106e4f;return await _0x1ccc7c[_0x24fdb7(0x1a5)](_0x605aea),!![];}catch(_0x8125b){return logger[_0x24fdb7(0x19f)]({'event':'redis_delete_error','jobId':_0x106e4f,'error':_0x8125b[_0x24fdb7(0x18d)]},_0x4d53e3[_0x24fdb7(0x19d)]),![];}}async['getAllJobs'](){const _0x16c1fc=a0_0x2d25ab;try{const _0x23a8e7=redisClient['getClient'](),_0x3e1a7a=await _0x23a8e7[_0x16c1fc(0x1a2)](this['prefix']+'*'),_0x3687ae=[];for(const _0x3da37a of _0x3e1a7a){const _0x518144=await _0x23a8e7['get'](_0x3da37a);_0x518144&&_0x3687ae[_0x16c1fc(0x193)](JSON[_0x16c1fc(0x191)](_0x518144));}return _0x3687ae;}catch(_0x5b3b5d){return logger[_0x16c1fc(0x19f)]({'event':_0x16c1fc(0x199),'error':_0x5b3b5d['message']},'Failed\x20to\x20get\x20all\x20jobs'),[];}}}module[a0_0x2d25ab(0x195)]=new RedisHelper();
1
+ function a0_0x463f(){const _0x211709=['mJq2ndeXnvrbvLnRwa','mtq3mtC0mLndCgfICW','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','ndC2oez1s2Dfta','nZmXn2PYAxbpDa','C2v0sM9I','rMfPBgvKihrVigrLBgv0zsbQB2iGzNjVBsbszwrPCW','zgvSzxrLsM9I','tuvIEu0','zeXRsNG','z0n2vNa','rMfPBgvKihrVihnLDcbQB2iGAw4GuMvKAxm','CMvKAxnFzgvSzxrLx2vYCM9Y','z2v0sM9I','z2v0','mZqWmJm1mJHTq2T4yMu','x3bYzwzPEa','DxbKyxrLsM9I','BwvZC2fNzq','mtb2EePcweK','nMPOwMfesG','nty1nZCWmvPcBerPtW','mJi1mJq0mgLMvufWra','zxjYB3i','rMfPBgvKihrVigDLDcbHBgWGAM9ICW','oMv4Cg9YDdO','mZiZmJq4oefrB2PQBa','ChjLzML4','mvnnvNbZuq','z2v0q2XPzw50','A2v5CW','zgvMyxvSDa','zw52'];a0_0x463f=function(){return _0x211709;};return a0_0x463f();}const a0_0x2ebb59=a0_0x5703;function a0_0x5703(_0x3dba64,_0x462bed){_0x3dba64=_0x3dba64-0x8c;const _0x463fc8=a0_0x463f();let _0x570388=_0x463fc8[_0x3dba64];if(a0_0x5703['HmjXja']===undefined){var _0x1c6f7c=function(_0x494ace){const _0x5d5089='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x373bf3='',_0x3a4835='';for(let _0x22b865=0x0,_0x393efb,_0x2c71ae,_0xb681dc=0x0;_0x2c71ae=_0x494ace['charAt'](_0xb681dc++);~_0x2c71ae&&(_0x393efb=_0x22b865%0x4?_0x393efb*0x40+_0x2c71ae:_0x2c71ae,_0x22b865++%0x4)?_0x373bf3+=String['fromCharCode'](0xff&_0x393efb>>(-0x2*_0x22b865&0x6)):0x0){_0x2c71ae=_0x5d5089['indexOf'](_0x2c71ae);}for(let _0xc56c37=0x0,_0xe6463c=_0x373bf3['length'];_0xc56c37<_0xe6463c;_0xc56c37++){_0x3a4835+='%'+('00'+_0x373bf3['charCodeAt'](_0xc56c37)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3a4835);};a0_0x5703['hyIUHP']=_0x1c6f7c,a0_0x5703['OTiQFD']={},a0_0x5703['HmjXja']=!![];}const _0x34ecc7=_0x463fc8[0x0],_0x2eebb7=_0x3dba64+_0x34ecc7,_0xbd46a1=a0_0x5703['OTiQFD'][_0x2eebb7];return!_0xbd46a1?(_0x570388=a0_0x5703['hyIUHP'](_0x570388),a0_0x5703['OTiQFD'][_0x2eebb7]=_0x570388):_0x570388=_0xbd46a1,_0x570388;}(function(_0x1dd592,_0x22263c){const _0x935cfa=a0_0x5703,_0x3bb3cb=_0x1dd592();while(!![]){try{const _0x23ca4f=parseInt(_0x935cfa(0xa0))/0x1*(-parseInt(_0x935cfa(0xa6))/0x2)+-parseInt(_0x935cfa(0x9e))/0x3+-parseInt(_0x935cfa(0x9a))/0x4+-parseInt(_0x935cfa(0xa5))/0x5*(parseInt(_0x935cfa(0x98))/0x6)+parseInt(_0x935cfa(0x99))/0x7+-parseInt(_0x935cfa(0xa8))/0x8*(parseInt(_0x935cfa(0xa9))/0x9)+-parseInt(_0x935cfa(0x97))/0xa*(-parseInt(_0x935cfa(0x93))/0xb);if(_0x23ca4f===_0x22263c)break;else _0x3bb3cb['push'](_0x3bb3cb['shift']());}catch(_0xc626fa){_0x3bb3cb['push'](_0x3bb3cb['shift']());}}}(a0_0x463f,0x85a73));const redisClient=require('./redis-client'),{logger}=require('./logger');class RedisHelper{constructor(){const _0x50190d=a0_0x5703;this['_prefix']=null,this['ttl']=parseInt(process[_0x50190d(0xa4)]['EXPORT_FILE_EXPIRY'],0xa)||0xe10;}get[a0_0x2ebb59(0x9f)](){const _0x5f484a=a0_0x2ebb59,_0x1aa906={'nAvAh':_0x5f484a(0xa3)};if(!this['_prefix']){const _0x3adeb=process[_0x5f484a(0xa4)][_0x5f484a(0xa7)]||_0x1aa906['nAvAh'];this[_0x5f484a(0x94)]='restforge:'+_0x3adeb+_0x5f484a(0x9d);}return this[_0x5f484a(0x94)];}async['setJob'](_0x3f69f0,_0x3571f2){const _0x40effc=a0_0x2ebb59,_0x1f328e={'MEbyM':'redis_set_error'};try{const _0xbabd4a=redisClient[_0x40effc(0xa1)](),_0x136c59=''+this['prefix']+_0x3f69f0;return await _0xbabd4a['setex'](_0x136c59,this['ttl'],JSON['stringify'](_0x3571f2)),!![];}catch(_0x489cad){return logger[_0x40effc(0x9b)]({'event':_0x1f328e[_0x40effc(0x8c)],'jobId':_0x3f69f0,'error':_0x489cad[_0x40effc(0x96)]},_0x40effc(0x8f)),![];}}async[a0_0x2ebb59(0x91)](_0x3eb809){const _0x1edf61=a0_0x2ebb59,_0x53783d={'gCvVp':'redis_get_error'};try{const _0x2f7957=redisClient['getClient'](),_0x1a1d1a=''+this[_0x1edf61(0x9f)]+_0x3eb809,_0x597949=await _0x2f7957[_0x1edf61(0x92)](_0x1a1d1a);return _0x597949?JSON['parse'](_0x597949):null;}catch(_0x400204){return logger[_0x1edf61(0x9b)]({'event':_0x53783d[_0x1edf61(0x8e)],'jobId':_0x3eb809,'error':_0x400204['message']},'Failed\x20to\x20get\x20job\x20from\x20Redis'),null;}}async[a0_0x2ebb59(0x95)](_0x26d6d2,_0x55c285){const _0x4b88bf=a0_0x2ebb59,_0x24424f=await this[_0x4b88bf(0x91)](_0x26d6d2);if(!_0x24424f)return![];const _0x56aa7c={..._0x24424f,..._0x55c285};return await this[_0x4b88bf(0xaa)](_0x26d6d2,_0x56aa7c);}async[a0_0x2ebb59(0xac)](_0x948abc){const _0x58acce=a0_0x2ebb59,_0x8b1a00={'dLkJx':_0x58acce(0xab)};try{const _0x38bb48=redisClient[_0x58acce(0xa1)](),_0x2b3b3c=''+this[_0x58acce(0x9f)]+_0x948abc;return await _0x38bb48['del'](_0x2b3b3c),!![];}catch(_0x2ef7e4){return logger['error']({'event':_0x58acce(0x90),'jobId':_0x948abc,'error':_0x2ef7e4['message']},_0x8b1a00[_0x58acce(0x8d)]),![];}}async['getAllJobs'](){const _0x56bbf8=a0_0x2ebb59,_0x17ff8a={'mrNWM':_0x56bbf8(0x9c)};try{const _0x35f00e=redisClient['getClient'](),_0x382301=await _0x35f00e[_0x56bbf8(0xa2)](this['prefix']+'*'),_0x33a108=[];for(const _0x2a743c of _0x382301){const _0x5829d8=await _0x35f00e['get'](_0x2a743c);_0x5829d8&&_0x33a108['push'](JSON['parse'](_0x5829d8));}return _0x33a108;}catch(_0x45134e){return logger['error']({'event':'redis_getall_error','error':_0x45134e['message']},_0x17ff8a['mrNWM']),[];}}}module['exports']=new RedisHelper();