@restforgejs/platform 5.2.12 → 5.2.16

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 (190) hide show
  1. package/bin/drift-check-linux +0 -0
  2. package/bin/sdf-tools-linux +0 -0
  3. package/bin/sdf-tools.exe +0 -0
  4. package/build-info.json +2 -2
  5. package/cli/consumer-deploy.js +1 -1
  6. package/cli/consumer.js +1 -1
  7. package/generators/cli/fast-track.js +8 -9
  8. package/generators/cli/project/auth.js +209 -0
  9. package/generators/lib/auth/component-generator.js +58 -0
  10. package/generators/lib/auth/dependency-checker.js +102 -0
  11. package/generators/lib/auth/env-injector.js +81 -0
  12. package/generators/lib/auth/migrate-runner.js +111 -0
  13. package/generators/lib/auth/prefix.js +22 -0
  14. package/generators/lib/auth/processor-generator.js +55 -0
  15. package/generators/lib/auth/sdf-generator.js +102 -0
  16. package/generators/lib/auth/template-renderer.js +29 -0
  17. package/generators/lib/auth/templates/processor/login.js.tmpl +152 -0
  18. package/generators/lib/auth/templates/processor/logout.js.tmpl +58 -0
  19. package/generators/lib/auth/templates/processor/me.js.tmpl +64 -0
  20. package/generators/lib/auth/templates/processor/refresh.js.tmpl +134 -0
  21. package/generators/lib/auth/templates/processor/register.js.tmpl +77 -0
  22. package/generators/lib/auth/templates/processor/reset-password.js.tmpl +106 -0
  23. package/generators/lib/auth/templates/rfx_auth-middleware.js.tmpl +79 -0
  24. package/generators/lib/auth/templates/rfx_auth.js.tmpl +104 -0
  25. package/generators/lib/dbschema-kit/schema-printer.js +10 -1
  26. package/generators/lib/templates/dashboard-catalog.js +1 -1
  27. package/generators/lib/templates/db-connection-env.js +1 -1
  28. package/generators/lib/templates/dbschema-catalog.js +1 -1
  29. package/generators/lib/templates/field-validation-catalog.js +1 -1
  30. package/generators/lib/templates/mysql-template.js +1 -1
  31. package/generators/lib/templates/oracle-template.js +1 -1
  32. package/generators/lib/templates/postgres-template.js +1 -1
  33. package/generators/lib/templates/query-declarative-catalog.js +1 -1
  34. package/generators/lib/templates/sqlite-template.js +1 -1
  35. package/integrity-manifest.json +18 -18
  36. package/package.json +1 -1
  37. package/scripts/verify-integrity.js +1 -1
  38. package/server.js +1 -1
  39. package/src/components/handlers/adjust_handler.js +1 -1
  40. package/src/components/handlers/audit_handler.js +1 -1
  41. package/src/components/handlers/delete_handler.js +1 -1
  42. package/src/components/handlers/export_handler.js +1 -1
  43. package/src/components/handlers/import_handler.js +1 -1
  44. package/src/components/handlers/insert_handler.js +1 -1
  45. package/src/components/handlers/update_handler.js +1 -1
  46. package/src/components/handlers/upload_handler.js +1 -1
  47. package/src/components/handlers/workflow_handler.js +1 -1
  48. package/src/components/integrations/webhook.js +1 -1
  49. package/src/consumers/baseConsumer.js +1 -1
  50. package/src/consumers/declarativeMapper.js +1 -1
  51. package/src/consumers/handlers/apiHandler.js +1 -1
  52. package/src/consumers/handlers/consoleHandler.js +1 -1
  53. package/src/consumers/handlers/databaseHandler.js +1 -1
  54. package/src/consumers/handlers/index.js +1 -1
  55. package/src/consumers/handlers/kafkaHandler.js +1 -1
  56. package/src/consumers/index.js +1 -1
  57. package/src/consumers/messageTransformer.js +1 -1
  58. package/src/consumers/validator.js +1 -1
  59. package/src/core/db/dialect/base-dialect.js +1 -1
  60. package/src/core/db/dialect/index.js +1 -1
  61. package/src/core/db/dialect/mysql-dialect.js +1 -1
  62. package/src/core/db/dialect/oracle-dialect.js +1 -1
  63. package/src/core/db/dialect/postgres-dialect.js +1 -1
  64. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  65. package/src/core/db/flatten-helper.js +1 -1
  66. package/src/core/db/query-builder-error.js +1 -1
  67. package/src/core/db/query-builder.js +1 -1
  68. package/src/core/db/relation-helper.js +1 -1
  69. package/src/core/handlers/delete_handler.js +1 -1
  70. package/src/core/handlers/insert_handler.js +1 -1
  71. package/src/core/handlers/update_handler.js +1 -1
  72. package/src/core/models/base-model.js +1 -1
  73. package/src/core/utils/cache-manager.js +1 -1
  74. package/src/core/utils/component-engine.js +1 -1
  75. package/src/core/utils/context-builder.js +1 -1
  76. package/src/core/utils/datetime-formatter.js +1 -1
  77. package/src/core/utils/datetime-parser.js +1 -1
  78. package/src/core/utils/db.js +1 -1
  79. package/src/core/utils/logger.js +1 -1
  80. package/src/core/utils/payload-loader.js +1 -1
  81. package/src/core/utils/security-checks.js +1 -1
  82. package/src/middleware/body-options.js +1 -1
  83. package/src/middleware/cors.js +1 -1
  84. package/src/middleware/idempotency.js +1 -1
  85. package/src/middleware/rate-limiter.js +1 -1
  86. package/src/middleware/request-logger.js +1 -1
  87. package/src/middleware/security-headers.js +1 -1
  88. package/src/models/base-model-mysql.js +1 -1
  89. package/src/models/base-model-oracle.js +1 -1
  90. package/src/models/base-model-sqlite.js +1 -1
  91. package/src/models/base-model.js +1 -1
  92. package/src/pro/caching/redis-client.js +1 -1
  93. package/src/pro/caching/redis-helper.js +1 -1
  94. package/src/pro/consumers/baseConsumer.js +1 -1
  95. package/src/pro/consumers/declarativeMapper.js +1 -1
  96. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  97. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  98. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  99. package/src/pro/consumers/handlers/index.js +1 -1
  100. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  101. package/src/pro/consumers/index.js +1 -1
  102. package/src/pro/consumers/messageTransformer.js +1 -1
  103. package/src/pro/consumers/validator.js +1 -1
  104. package/src/pro/database/base-model-mysql.js +1 -1
  105. package/src/pro/database/base-model-oracle.js +1 -1
  106. package/src/pro/database/base-model-sqlite.js +1 -1
  107. package/src/pro/database/db-mysql.js +1 -1
  108. package/src/pro/database/db-oracle.js +1 -1
  109. package/src/pro/database/db-sqlite.js +1 -1
  110. package/src/pro/excel/excel-generator.js +1 -1
  111. package/src/pro/excel/excel-parser.js +1 -1
  112. package/src/pro/excel/export-service.js +1 -1
  113. package/src/pro/excel/export_handler.js +1 -1
  114. package/src/pro/excel/import-service.js +1 -1
  115. package/src/pro/excel/import-validator.js +1 -1
  116. package/src/pro/excel/import_handler.js +1 -1
  117. package/src/pro/excel/upsert-builder.js +1 -1
  118. package/src/pro/idgen/idgen-routes.js +1 -1
  119. package/src/pro/integrations/lookup-resolver.js +1 -1
  120. package/src/pro/integrations/upload-handler-v2.js +1 -1
  121. package/src/pro/integrations/upload-handler.js +1 -1
  122. package/src/pro/integrations/webhook.js +1 -1
  123. package/src/pro/locking/lock-routes.js +1 -1
  124. package/src/pro/locking/resource-lock-manager.js +1 -1
  125. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  126. package/src/pro/messaging/kafkaService.js +1 -1
  127. package/src/pro/messaging/messagehubService.js +1 -1
  128. package/src/pro/messaging/rabbitmqService.js +1 -1
  129. package/src/pro/scheduler/job-manager.js +1 -1
  130. package/src/pro/scheduler/job-routes.js +1 -1
  131. package/src/pro/scheduler/job-validator.js +1 -1
  132. package/src/pro/storage/base-storage-provider.js +1 -1
  133. package/src/pro/storage/file-metadata-helper.js +1 -1
  134. package/src/pro/storage/index.js +1 -1
  135. package/src/pro/storage/local-storage-provider.js +1 -1
  136. package/src/pro/storage/s3-storage-provider.js +1 -1
  137. package/src/pro/storage/upload-cleanup-job.js +1 -1
  138. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  139. package/src/pro/storage/upload-pending-tracker.js +1 -1
  140. package/src/pro/websocket/broadcast-helper.js +1 -1
  141. package/src/pro/websocket/index.js +1 -1
  142. package/src/pro/websocket/livesync-server.js +1 -1
  143. package/src/pro/websocket/ws-broadcaster.js +1 -1
  144. package/src/services/export-service.js +1 -1
  145. package/src/services/import-service.js +1 -1
  146. package/src/services/kafkaConsumerService.js +1 -1
  147. package/src/services/kafkaService.js +1 -1
  148. package/src/services/messagehubService.js +1 -1
  149. package/src/services/rabbitmqService.js +1 -1
  150. package/src/utils/cache-invalidation-registry.js +1 -1
  151. package/src/utils/cache-manager.js +1 -1
  152. package/src/utils/component-engine.js +1 -1
  153. package/src/utils/config-extractor.js +1 -1
  154. package/src/utils/consumerLogger.js +1 -1
  155. package/src/utils/context-builder.js +1 -1
  156. package/src/utils/dashboard-helpers.js +1 -1
  157. package/src/utils/dateHelper.js +1 -1
  158. package/src/utils/datetime-formatter.js +1 -1
  159. package/src/utils/datetime-parser.js +1 -1
  160. package/src/utils/db-bootstrap.js +1 -1
  161. package/src/utils/db-mysql.js +1 -1
  162. package/src/utils/db-oracle.js +1 -1
  163. package/src/utils/db-sqlite.js +1 -1
  164. package/src/utils/db.js +1 -1
  165. package/src/utils/demo-generator.js +1 -1
  166. package/src/utils/excel-generator.js +1 -1
  167. package/src/utils/excel-parser.js +1 -1
  168. package/src/utils/file-watcher.js +1 -1
  169. package/src/utils/id-generator.js +1 -1
  170. package/src/utils/idempotency-manager.js +1 -1
  171. package/src/utils/import-validator.js +1 -1
  172. package/src/utils/license-client.js +1 -1
  173. package/src/utils/lock-manager.js +1 -1
  174. package/src/utils/logger.js +1 -1
  175. package/src/utils/lookup-resolver.js +1 -1
  176. package/src/utils/payload-loader.js +1 -1
  177. package/src/utils/processor-response.js +1 -1
  178. package/src/utils/rabbitmq.js +1 -1
  179. package/src/utils/redis-client.js +1 -1
  180. package/src/utils/redis-helper.js +1 -1
  181. package/src/utils/request-scope.js +1 -1
  182. package/src/utils/security-checks.js +1 -1
  183. package/src/utils/service-resolver.js +1 -1
  184. package/src/utils/shutdown-coordinator.js +1 -1
  185. package/src/utils/soft-delete-dashboard-guard.js +1 -1
  186. package/src/utils/sql-table-extractor.js +1 -1
  187. package/src/utils/trusted-keys.js +1 -1
  188. package/src/utils/upload-handler.js +1 -1
  189. package/src/utils/upsert-builder.js +1 -1
  190. package/src/utils/workflow-hook-executor.js +1 -1
@@ -1 +1 @@
1
- function a0_0x1fb6(_0x522127,_0x1a7df4){_0x522127=_0x522127-0x1d8;const _0x5a1699=a0_0x5a16();let _0x1fb674=_0x5a1699[_0x522127];if(a0_0x1fb6['coFuhe']===undefined){var _0x48fb45=function(_0x32d0e6){const _0x1062d9='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4682b4='',_0x438577='';for(let _0x193086=0x0,_0x3fc0c4,_0x1d7a8e,_0x213116=0x0;_0x1d7a8e=_0x32d0e6['charAt'](_0x213116++);~_0x1d7a8e&&(_0x3fc0c4=_0x193086%0x4?_0x3fc0c4*0x40+_0x1d7a8e:_0x1d7a8e,_0x193086++%0x4)?_0x4682b4+=String['fromCharCode'](0xff&_0x3fc0c4>>(-0x2*_0x193086&0x6)):0x0){_0x1d7a8e=_0x1062d9['indexOf'](_0x1d7a8e);}for(let _0x5e9f8c=0x0,_0x29246e=_0x4682b4['length'];_0x5e9f8c<_0x29246e;_0x5e9f8c++){_0x438577+='%'+('00'+_0x4682b4['charCodeAt'](_0x5e9f8c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x438577);};a0_0x1fb6['lEVdjw']=_0x48fb45,a0_0x1fb6['opBrkc']={},a0_0x1fb6['coFuhe']=!![];}const _0x5ebd87=_0x5a1699[0x0],_0x1f40bc=_0x522127+_0x5ebd87,_0x142793=a0_0x1fb6['opBrkc'][_0x1f40bc];return!_0x142793?(_0x1fb674=a0_0x1fb6['lEVdjw'](_0x1fb674),a0_0x1fb6['opBrkc'][_0x1f40bc]=_0x1fb674):_0x1fb674=_0x142793,_0x1fb674;}const a0_0x29028c=a0_0x1fb6;(function(_0x25646d,_0x1bd853){const _0x5e8590=a0_0x1fb6,_0x572c1f=_0x25646d();while(!![]){try{const _0x4a145b=-parseInt(_0x5e8590(0x1f5))/0x1*(-parseInt(_0x5e8590(0x208))/0x2)+parseInt(_0x5e8590(0x21f))/0x3+-parseInt(_0x5e8590(0x1ef))/0x4*(-parseInt(_0x5e8590(0x222))/0x5)+parseInt(_0x5e8590(0x21d))/0x6+parseInt(_0x5e8590(0x204))/0x7+parseInt(_0x5e8590(0x205))/0x8+-parseInt(_0x5e8590(0x20b))/0x9*(parseInt(_0x5e8590(0x20c))/0xa);if(_0x4a145b===_0x1bd853)break;else _0x572c1f['push'](_0x572c1f['shift']());}catch(_0x12834d){_0x572c1f['push'](_0x572c1f['shift']());}}}(a0_0x5a16,0x19210));const redisClient=require(a0_0x29028c(0x217)),{logger}=require('./logger'),{v4:uuidv4}=require('uuid');function a0_0x5a16(){const _0x1a69e9=['mtK4oty2wwDMEe9l','Bg9JA19LEhrLBMrLza','uKvbrcbSB2nRigvYCM9Y','nJbyAKDUrhy','zxHWAxjL','BK1vtwO','CMv0CNLdB3vUDa','ywnXDwLYzvDYAxrLtg9JAW','x2LUAxrPywXPEMvK','Cg93','q2fUBM90ihjLBgvHC2uGBg9JAYaTig5VDcbVD25LCG','D29YA2vYswq','x3jLDhj5rgvSyxK','wu9fqwu','x3n0CMf0zwD5','D2fYBG','D3jPDgu','x2vUC3vYzuLUAxrPywXPEMvK','r2LeAhe','ywXS','sg5Ktgy','D3jPDgvFBg9JA193ywL0Aw5N','v05MCwy','zxzHBa','r3fqCxG','sNjSCwy','Bg9JA19YzwXLyxnLx2vYCM9Y','ChjLzML4','z2v0q2XPzw50','C2v0zxG','z2v0','x3jLDhj5q291BNq','v2fPDgLUzYbMB3iGv1jjveuGBg9JAYb0BYbYzwXLyxnL','s2XUzMO','r0Htt0m','x2vUywjSzwq','zxjYB3i','mtyXmZjTAKLwAxu','CMv0CNLezwXHEq','C2v0','x3DVCMTLCKLK','Bg9JA19YzwXLyxnLx25VDf9VD25LCG','CMvHza','nda0mLzuv0vLtG','te9ds19esvnuuKLcvvrfrf9ftKfcteve','zgvMyxvSDfruta','BwvZC2fNzq','C3rYyxrLz3K','Bg9JA19JB25MAwDFAw5PDa','y3LUv0u','CMvHzf9SB2nRx3jLBgvHC2vK','qwfXExi','C3vIC3rYAw5N','uKnxyvu','v1jjveuGBg9JAYbYzwPLy3rLzcaTihjLy29YzcbIDxn5','zgvIDwC','tg9JAYbLEhrLBMqGzxjYB3i','x2rLzMf1BhruveW','otyYotq4uLzfwgfx','mZqYmdGWAwPbA2zo','tg9JAYbuveWGzxH0zw5Kzwq','yNvPBgrmB2nRs2v5','odjxBw9Py0i','C2XLzxa','CKzmrwm','mJeWmda3ohz4svLQrq','mJbKEw9vAeW','vffIq1m','D3jPDgvFBg9JA190Aw1LB3v0','Aw5JBhvKzxm','C2zgDLy','cIaGicaGicaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicaGicaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzgvSiIWGs0vzu1SXxsKkicaGicaGicbLBhnLcIaGicaGicaGicbYzxr1CM4GmaOGicaGicaGigvUzaOGicaGica','uKvbrcbSB2nRihjLBgvHC2vK','zw52','zgvS','D3jPDgvFBg9JA19YzwPLy3rLza','CMvHzf9SB2nRx3rPBwvVDxq','lI9YzwrPCY1JBgLLBNq','x2LUAxrdB25MAwC','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMv0CNKGBw9KzsK','zw5HyMXLza','D3jPDgvFBg9JA19Hy3f1AxjLza','te9ds19esvnuuKLcvvrfrf9tvfjbvevhwq','nJuZmdG4EfDhuhrY','CMvHzf9SB2nRx3DHAxrPBMC'];a0_0x5a16=function(){return _0x1a69e9;};return a0_0x5a16();}class LockManager{constructor(){const _0x143bf1=a0_0x29028c;this['_prefix']=null,this['_enabled']=null,this['_defaultTTL']=null,this['_retryCount']=null,this['_retryDelay']=null,this[_0x143bf1(0x1d8)]=null,this[_0x143bf1(0x1f2)]=null,this[_0x143bf1(0x227)]=![];}[a0_0x29028c(0x218)](){const _0xfb20c5=a0_0x29028c,_0x8a6880={'mTwDm':function(_0x4e88e7,_0x51d8d7,_0x4c7ada){return _0x4e88e7(_0x51d8d7,_0x4c7ada);},'RCWaU':_0xfb20c5(0x1fa)};this['_prefix']='rf:lock:',this['_enabled']=process[_0xfb20c5(0x213)][_0xfb20c5(0x1f6)]==='true',this[_0xfb20c5(0x203)]=parseInt(process[_0xfb20c5(0x213)]['LOCK_DISTRIBUTED_TTL'],0xa)||0xa,this['_retryCount']=_0x8a6880['mTwDm'](parseInt,process[_0xfb20c5(0x213)]['LOCK_DISTRIBUTED_RETRY'],0xa)||0x3,this['_retryDelay']=parseInt(process[_0xfb20c5(0x213)]['LOCK_DISTRIBUTED_RETRY_DELAY'],0xa)||0x64,this['_strategy']=process['env'][_0xfb20c5(0x21c)]||'retry',this[_0xfb20c5(0x1f2)]='worker-'+process['pid'],this[_0xfb20c5(0x227)]=!![],logger['info']({'event':_0x8a6880[_0xfb20c5(0x1ff)],'enabled':this['_enabled'],'strategy':this[_0xfb20c5(0x1d8)],'ttl':this['_defaultTTL'],'retryCount':this[_0xfb20c5(0x1e9)],'retryDelay':this['_retryDelay'],'workerId':this['_workerId']},'Lock\x20configuration\x20initialized\x20-\x20enabled:\x20'+this[_0xfb20c5(0x1ed)]+',\x20strategy:\x20'+this['_strategy']);}['_ensureInitialized'](){const _0x378df8=a0_0x29028c;!this[_0x378df8(0x227)]&&this['_initConfig']();}get[a0_0x29028c(0x1e5)](){const _0xac65f0=a0_0x29028c;return this[_0xac65f0(0x1db)](),this['_prefix'];}get['enabled'](){const _0x1e12cb=a0_0x29028c;return this[_0x1e12cb(0x1db)](),this[_0x1e12cb(0x1ed)];}get[a0_0x29028c(0x1f7)](){const _0xeeb5b9=a0_0x29028c;return this['_ensureInitialized'](),this[_0xeeb5b9(0x203)];}get['retryCount'](){const _0x389f9e=a0_0x29028c;return this[_0x389f9e(0x1db)](),this['_retryCount'];}get['retryDelay'](){const _0x316c0f=a0_0x29028c;return this['_ensureInitialized'](),this[_0x316c0f(0x22b)];}get[a0_0x29028c(0x1f9)](){const _0x400b15=a0_0x29028c;return this[_0x400b15(0x1db)](),this['_strategy'];}get[a0_0x29028c(0x22a)](){const _0x1d0547=a0_0x29028c;return this['_ensureInitialized'](),this[_0x1d0547(0x1f2)];}['buildLockKey'](_0x588225){const _0x57d8ed=a0_0x29028c,{module:_0x2a0e16,endpoint:_0x480465,lockType:_0x685c53,recordId:_0x4976f6}=_0x588225;if(_0x4976f6)return''+this[_0x57d8ed(0x1e5)]+_0x2a0e16+':'+_0x480465+':'+_0x4976f6+':'+_0x685c53;return''+this['prefix']+_0x2a0e16+':'+_0x480465+':'+_0x685c53;}['generateLockValue'](){return this['workerId']+':'+uuidv4()+':'+Date['now']();}async['acquireReadLock'](_0x10bbc4){const _0x4c608e=a0_0x29028c,_0x2fc165={'sfFvV':_0x4c608e(0x1da),'rFLEc':function(_0x30f4e6,_0x649911){return _0x30f4e6<_0x649911;},'YOEAe':'read_lock_acquired','cynWE':_0x4c608e(0x216),'LVULe':'READ\x20lock\x20acquire\x20timeout','brroa':_0x4c608e(0x221)};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x3a8536=this[_0x4c608e(0x207)]({..._0x10bbc4,'lockType':_0x2fc165[_0x4c608e(0x210)]}),_0x10a8a1=this[_0x4c608e(0x207)]({..._0x10bbc4,'lockType':_0x4c608e(0x1f4)}),_0x3b22b0=this['generateLockValue']();try{const _0x3e200a=redisClient[_0x4c608e(0x1e6)]();for(let _0x275938=0x0;_0x2fc165[_0x4c608e(0x20a)](_0x275938,this[_0x4c608e(0x225)]);_0x275938++){const _0x488256=await _0x3e200a['get'](_0x3a8536);if(!_0x488256){await _0x3e200a['incr'](_0x10a8a1),await _0x3e200a[_0x4c608e(0x223)](_0x10a8a1,this[_0x4c608e(0x1f7)]);const _0x394218=_0x10a8a1+':'+_0x3b22b0;return await _0x3e200a[_0x4c608e(0x1e7)](_0x394218,this['defaultTTL'],_0x3b22b0),logger[_0x4c608e(0x201)]({'event':_0x2fc165[_0x4c608e(0x22c)],'key':_0x10a8a1,'value':_0x3b22b0},'READ\x20lock\x20acquired'),{'success':!![],'lockValue':_0x3b22b0,'lockKey':_0x394218};}logger['debug']({'event':_0x4c608e(0x21e),'writeKey':_0x3a8536,'attempt':_0x275938},_0x4c608e(0x1ea)),await this['sleep'](this['retryDelay']*Math[_0x4c608e(0x228)](0x2,_0x275938));}return logger['warn']({'event':_0x2fc165[_0x4c608e(0x1fb)],'key':_0x10a8a1},_0x2fc165['LVULe']),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x209bd8){return logger['error']({'event':'read_lock_error','error':_0x209bd8[_0x4c608e(0x1f8)]},_0x2fc165['brroa']),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x29028c(0x226)](_0x1d1d38){const _0x4285c6=a0_0x29028c,_0x2858b6={'WNfqf':_0x4285c6(0x1f4),'fHVlm':_0x4285c6(0x21b),'vhRib':'reject','JItMw':'WRITE\x20lock\x20acquired\x20(reject\x20mode)','oSyzF':_0x4285c6(0x200),'XpOyG':function(_0xd82918,_0x2148d6){return _0xd82918===_0x2148d6;},'GHSOC':_0x4285c6(0x219),'GqPqx':'Waiting\x20for\x20locks\x20to\x20release','HndLf':_0x4285c6(0x20e),'ytuCr':'write_lock_error'};if(!this[_0x4285c6(0x21a)])return{'success':!![],'lockValue':null,'lockKey':null};const _0x5f0ff0=this['buildLockKey']({..._0x1d1d38,'lockType':_0x4285c6(0x1da)}),_0x4d784f=this[_0x4285c6(0x207)]({..._0x1d1d38,'lockType':_0x2858b6[_0x4285c6(0x1e0)]}),_0x4221ca=this['generateLockValue']();try{const _0x1e8117=redisClient[_0x4285c6(0x1e6)]();if(this['strategy']==='reject'){const _0x9bf771=await _0x1e8117[_0x4285c6(0x1f1)](_0x5f0ff0,_0x4221ca,'EX',this[_0x4285c6(0x1f7)],'NX');if(_0x9bf771==='OK')return logger['debug']({'event':_0x2858b6['fHVlm'],'key':_0x5f0ff0,'value':_0x4221ca,'strategy':_0x2858b6['vhRib']},_0x2858b6['JItMw']),{'success':!![],'lockValue':_0x4221ca,'lockKey':_0x5f0ff0};return logger[_0x4285c6(0x201)]({'event':_0x4285c6(0x215),'key':_0x5f0ff0},_0x2858b6['oSyzF']),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x439dad=0x0;_0x439dad<this['retryCount'];_0x439dad++){const [_0x3478eb,_0x189ef4]=await Promise[_0x4285c6(0x1dd)]([_0x1e8117[_0x4285c6(0x1e8)](_0x4d784f),_0x1e8117['get'](_0x5f0ff0)]);if(!_0x189ef4&&(!_0x3478eb||parseInt(_0x3478eb)===0x0)){const _0x17e95b=await _0x1e8117[_0x4285c6(0x1f1)](_0x5f0ff0,_0x4221ca,'EX',this[_0x4285c6(0x1f7)],'NX');if(_0x2858b6['XpOyG'](_0x17e95b,'OK'))return logger['debug']({'event':_0x4285c6(0x21b),'key':_0x5f0ff0,'value':_0x4221ca,'strategy':'retry'},_0x2858b6[_0x4285c6(0x1ec)]),{'success':!![],'lockValue':_0x4221ca,'lockKey':_0x5f0ff0};}logger['debug']({'event':_0x4285c6(0x1df),'writeKey':_0x5f0ff0,'readCount':_0x3478eb,'attempt':_0x439dad},_0x2858b6[_0x4285c6(0x1e2)]),await this[_0x4285c6(0x209)](this[_0x4285c6(0x1f0)]*Math['pow'](0x2,_0x439dad));}return logger['warn']({'event':_0x2858b6[_0x4285c6(0x1de)],'key':_0x5f0ff0},'WRITE\x20lock\x20acquire\x20timeout'),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x5a89ba){return logger['error']({'event':_0x2858b6['ytuCr'],'error':_0x5a89ba['message']},'WRITE\x20lock\x20error'),{'success':![],'lockValue':null,'lockKey':null};}}async['releaseLock'](_0x2b5e11,_0x2e1b3d){const _0x2d326=a0_0x29028c,_0x502b34={'Klnfj':function(_0x14197e,_0x530996){return _0x14197e(_0x530996);},'rklvp':_0x2d326(0x212),'CWnCa':_0x2d326(0x229),'GiDhq':'Lock\x20release\x20error'};if(!this['enabled']||!_0x2b5e11)return!![];try{const _0x46548f=redisClient['getClient']();if(_0x2b5e11[_0x2d326(0x20f)](':read:')){await _0x46548f[_0x2d326(0x214)](_0x2b5e11);const _0x50a005=_0x2b5e11[_0x2d326(0x1fe)](0x0,_0x2b5e11['lastIndexOf'](':')),_0x2c69da=await _0x46548f['get'](_0x50a005);return _0x2c69da&&_0x502b34[_0x2d326(0x1eb)](parseInt,_0x2c69da)>0x0&&await _0x46548f['decr'](_0x50a005),logger['debug']({'event':_0x2d326(0x1fc),'key':_0x2b5e11},_0x502b34['rklvp']),!![];}const _0x58c922=_0x2d326(0x211),_0x422456=await _0x46548f[_0x2d326(0x1e1)](_0x58c922,0x1,_0x2b5e11,_0x2e1b3d);if(_0x422456===0x1)return logger['debug']({'event':'write_lock_released','key':_0x2b5e11},'WRITE\x20lock\x20released'),!![];return logger[_0x2d326(0x1d9)]({'event':_0x2d326(0x1f3),'key':_0x2b5e11},_0x502b34['CWnCa']),![];}catch(_0x177abc){return logger[_0x2d326(0x1ee)]({'event':_0x2d326(0x1e4),'key':_0x2b5e11,'error':_0x177abc['message']},_0x502b34[_0x2d326(0x1dc)]),![];}}async['extendLock'](_0x4948d5,_0x149c24,_0x55d9c0=null){const _0x3d900f=a0_0x29028c,_0x1cc263={'rWcvp':function(_0x406c81,_0x2580ab){return _0x406c81===_0x2580ab;},'gqUMc':_0x3d900f(0x220),'Aaqyr':'lock_extend_error','DlaNd':_0x3d900f(0x202)};if(!this['enabled']||!_0x4948d5)return!![];try{const _0x2a538b=redisClient['getClient'](),_0x2b9d91='\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',_0x188ea7=await _0x2a538b[_0x3d900f(0x1e1)](_0x2b9d91,0x1,_0x4948d5,_0x149c24,_0x55d9c0||this['defaultTTL']);if(_0x1cc263['rWcvp'](_0x188ea7,0x1))return logger['debug']({'event':_0x1cc263['gqUMc'],'key':_0x4948d5,'ttl':_0x55d9c0||this[_0x3d900f(0x1f7)]},_0x3d900f(0x206)),!![];return![];}catch(_0x57749d){return logger[_0x3d900f(0x1ee)]({'event':_0x1cc263[_0x3d900f(0x1fd)],'key':_0x4948d5,'error':_0x57749d[_0x3d900f(0x1f8)]},_0x1cc263['DlaNd']),![];}}['isEnabled'](){return this['enabled'];}[a0_0x29028c(0x209)](_0xc87621){return new Promise(_0x53137d=>setTimeout(_0x53137d,_0xc87621));}async['getLockInfo'](_0x399951){const _0x285172=a0_0x29028c,_0x5da814={'nMUMj':'write','Jrlqf':_0x285172(0x1f4),'TQbCS':function(_0x50ac1f,_0x323975){return _0x50ac1f||_0x323975;},'gWjpw':function(_0x35ff0e,_0x1372a0){return _0x35ff0e(_0x1372a0);}};if(!this['enabled'])return{'enabled':![]};try{const _0x35260a=redisClient[_0x285172(0x1e6)](),_0x249b79=this[_0x285172(0x207)]({..._0x399951,'lockType':_0x5da814[_0x285172(0x224)]}),_0x49d215=this[_0x285172(0x207)]({..._0x399951,'lockType':_0x5da814[_0x285172(0x1e3)]}),[_0x3858ec,_0xf9439b]=await Promise[_0x285172(0x1dd)]([_0x35260a['get'](_0x249b79),_0x35260a[_0x285172(0x1e8)](_0x49d215)]);return{'enabled':!![],'writeLock':_0x5da814[_0x285172(0x20d)](_0x3858ec,null),'readCount':_0x5da814['gWjpw'](parseInt,_0xf9439b)||0x0,'writeKey':_0x249b79,'readKey':_0x49d215};}catch(_0x5e050a){return{'enabled':!![],'error':_0x5e050a['message']};}}}module['exports']=new LockManager();
1
+ function a0_0xa73d(_0x3f84f1,_0x142ca1){_0x3f84f1=_0x3f84f1-0x66;const _0x15908a=a0_0x1590();let _0xa73d19=_0x15908a[_0x3f84f1];if(a0_0xa73d['JmIsiz']===undefined){var _0x312773=function(_0x42eff0){const _0x1b4ab8='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x593b23='',_0x345447='';for(let _0x2b1c28=0x0,_0x5eef65,_0x1942a0,_0x59e2ff=0x0;_0x1942a0=_0x42eff0['charAt'](_0x59e2ff++);~_0x1942a0&&(_0x5eef65=_0x2b1c28%0x4?_0x5eef65*0x40+_0x1942a0:_0x1942a0,_0x2b1c28++%0x4)?_0x593b23+=String['fromCharCode'](0xff&_0x5eef65>>(-0x2*_0x2b1c28&0x6)):0x0){_0x1942a0=_0x1b4ab8['indexOf'](_0x1942a0);}for(let _0x2cb08a=0x0,_0x3c7f89=_0x593b23['length'];_0x2cb08a<_0x3c7f89;_0x2cb08a++){_0x345447+='%'+('00'+_0x593b23['charCodeAt'](_0x2cb08a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x345447);};a0_0xa73d['ZdsUSa']=_0x312773,a0_0xa73d['LTZVWa']={},a0_0xa73d['JmIsiz']=!![];}const _0x56f2bf=_0x15908a[0x0],_0x2cc7da=_0x3f84f1+_0x56f2bf,_0x594f29=a0_0xa73d['LTZVWa'][_0x2cc7da];return!_0x594f29?(_0xa73d19=a0_0xa73d['ZdsUSa'](_0xa73d19),a0_0xa73d['LTZVWa'][_0x2cc7da]=_0xa73d19):_0xa73d19=_0x594f29,_0xa73d19;}const a0_0x4d6783=a0_0xa73d;(function(_0x2ea2c6,_0x4ec4e1){const _0x47a3ff=a0_0xa73d,_0x439b51=_0x2ea2c6();while(!![]){try{const _0x504144=-parseInt(_0x47a3ff(0xa5))/0x1+-parseInt(_0x47a3ff(0x7b))/0x2*(-parseInt(_0x47a3ff(0xb5))/0x3)+-parseInt(_0x47a3ff(0x69))/0x4*(-parseInt(_0x47a3ff(0x6c))/0x5)+parseInt(_0x47a3ff(0x72))/0x6+parseInt(_0x47a3ff(0x7a))/0x7*(parseInt(_0x47a3ff(0x74))/0x8)+parseInt(_0x47a3ff(0xb7))/0x9*(-parseInt(_0x47a3ff(0x87))/0xa)+parseInt(_0x47a3ff(0x68))/0xb;if(_0x504144===_0x4ec4e1)break;else _0x439b51['push'](_0x439b51['shift']());}catch(_0x44f544){_0x439b51['push'](_0x439b51['shift']());}}}(a0_0x1590,0x9ef7b));function a0_0x1590(){const _0x3754c5=['Bg9JA19LEhrLBMrLza','mJG3mdCZzfviDfbp','zgvMyxvSDfruta','z2v0tg9JA0LUzM8','mte1ntm0mw9vswLVrW','mJm3odq3mNbLtLnkCa','v2fPDgLUzYbMB3iGBg9JA3mGDg8GCMvSzwfZzq','zxzHBa','mtbpDgTRvuG','yvvPrgy','AfHLEeK','x3DVCMTLCKLK','A0feC0W','t1DQzwS','ndKXmteYuhryAKro','D3jPDgvFBg9JA193ywL0Aw5N','mtu4mdbyzeDUA3C','ChjLzML4','B1bPsLa','BwvZC2fNzq','EMjvrfy','x3bYzwzPEa','mJy1m2nYEfbSrW','mtHYsLnxAe8','D3jPDgvFBg9JA190Aw1LB3v0','q2fUBM90ihjLBgvHC2uGBg9JAYaTig5VDcbVD25LCG','x2LUAxrPywXPEMvK','CMvSzwfZzuXVy2S','yxnyAw0','svDeteC','D29YA2vYswq','lcbZDhjHDgvNEtOG','Cg93','zgvIDwC','zufNwLy','mJKWy3Dbq3PJ','BM93','zxjYB3i','tg9JAYbYzwXLyxnLigvYCM9Y','ywXS','EKPWAge','yNvPBgrmB2nRs2v5','x2rLzMf1BhruveW','CMv0CNLdB3vUDa','C2v0','CMvHzf9SB2nRx3jLBgvHC2vK','lI9YzwrPCY1JBgLLBNq','x3jLDhj5rgvSyxK','zxHWAxjL','D3jPDgu','D29YA2vYlq','D3jPDgvFBg9JA19Hy3f1AxjLza','uKvbrcbSB2nRigfJCxvPCMuGDgLTzw91Da','D3zLtMC','te9ds19esvnuuKLcvvrfrf9tvfjbvevhwq','sNnjEwq','CMv0CNK','x2vUywjSzwq','x3jLDhj5q291BNq','zw5HyMXLza','AK1vswC','ze1TDLq','x2vUC3vYzuLUAxrPywXPEMvK','z2v0q2XPzw50','CMvHza','ody0mZCZrMTQzeLZ','CMv0CNLezwXHEq','v1jjveuGBg9JAYbHy3f1AxjLihrPBwvVDxq','te9ds19esvnuuKLcvvrfrf9uveW','zw52','CMvQzwn0','CMvHzf9SB2nRx2fJCxvPCMvK','x3n0CMf0zwD5','z2v0','y3nvBK8','te9ds19esvnuuKLcvvrfrf9srvrswv9eruXbwq','CxrmtgO','v2fPDgLUzYbMB3iGv1jjveuGBg9JAYb0BYbYzwXLyxnL','zxHWB3j0CW','z2f1AK8','uKvbrcbSB2nRigfJCxvPCMvK','mta1mJKXEw9ovxr5'];a0_0x1590=function(){return _0x3754c5;};return a0_0x1590();}const redisClient=require(a0_0x4d6783(0x92)),{logger}=require('./logger'),{v4:uuidv4}=require('uuid');class LockManager{constructor(){const _0x11bf75=a0_0x4d6783;this[_0x11bf75(0x79)]=null,this['_enabled']=null,this['_defaultTTL']=null,this['_retryCount']=null,this[_0x11bf75(0x93)]=null,this[_0x11bf75(0xac)]=null,this[_0x11bf75(0x6f)]=null,this[_0x11bf75(0x7e)]=![];}['_initConfig'](){const _0x4fa8c9=a0_0x4d6783,_0x2f0101={'gaujO':'lock_config_init','QWVwg':function(_0x59daee,_0x2d337a,_0x37408d){return _0x59daee(_0x2d337a,_0x37408d);},'IWDLG':'true','VSfRy':'rf:lock:'},_0x2fff5e='8|5|3|6|4|7|1|0|2'['split']('|');let _0x2dadac=0x0;while(!![]){switch(_0x2fff5e[_0x2dadac++]){case'0':this[_0x4fa8c9(0x7e)]=!![];continue;case'1':this['_workerId']=_0x4fa8c9(0x96)+process['pid'];continue;case'2':logger['info']({'event':_0x2f0101[_0x4fa8c9(0xb3)],'enabled':this[_0x4fa8c9(0x9d)],'strategy':this['_strategy'],'ttl':this[_0x4fa8c9(0x8e)],'retryCount':this[_0x4fa8c9(0x9e)],'retryDelay':this['_retryDelay'],'workerId':this[_0x4fa8c9(0x6f)]},'Lock\x20configuration\x20initialized\x20-\x20enabled:\x20'+this['_enabled']+_0x4fa8c9(0x83)+this['_strategy']);continue;case'3':this['_defaultTTL']=parseInt(process['env'][_0x4fa8c9(0xa8)],0xa)||0xa;continue;case'4':this[_0x4fa8c9(0x93)]=_0x2f0101['QWVwg'](parseInt,process['env'][_0x4fa8c9(0xaf)],0xa)||0x64;continue;case'5':this['_enabled']=process['env']['LOCK_DISTRIBUTED_ENABLED']===_0x2f0101[_0x4fa8c9(0x81)];continue;case'6':this[_0x4fa8c9(0x9e)]=parseInt(process['env']['LOCK_DISTRIBUTED_RETRY'],0xa)||0x3;continue;case'7':this[_0x4fa8c9(0xac)]=process[_0x4fa8c9(0xa9)][_0x4fa8c9(0x9a)]||'retry';continue;case'8':this[_0x4fa8c9(0x79)]=_0x2f0101['VSfRy'];continue;}break;}}[a0_0x4d6783(0xa2)](){const _0x476112=a0_0x4d6783;!this[_0x476112(0x7e)]&&this['_initConfig']();}get[a0_0x4d6783(0x75)](){return this['_ensureInitialized'](),this['_prefix'];}get[a0_0x4d6783(0x9f)](){return this['_ensureInitialized'](),this['_enabled'];}get['defaultTTL'](){const _0x176004=a0_0x4d6783;return this['_ensureInitialized'](),this[_0x176004(0x8e)];}get[a0_0x4d6783(0x8f)](){const _0x51e766=a0_0x4d6783;return this[_0x51e766(0xa2)](),this['_retryCount'];}get[a0_0x4d6783(0xa6)](){const _0x2e36e6=a0_0x4d6783;return this['_ensureInitialized'](),this[_0x2e36e6(0x93)];}get['strategy'](){const _0x55b286=a0_0x4d6783;return this['_ensureInitialized'](),this[_0x55b286(0xac)];}get['workerId'](){const _0x13fd4c=a0_0x4d6783;return this[_0x13fd4c(0xa2)](),this[_0x13fd4c(0x6f)];}[a0_0x4d6783(0x8d)](_0xb32ebc){const {module:_0x37e299,endpoint:_0x270f7f,lockType:_0x27a7cb,recordId:_0x16297c}=_0xb32ebc;if(_0x16297c)return''+this['prefix']+_0x37e299+':'+_0x270f7f+':'+_0x16297c+':'+_0x27a7cb;return''+this['prefix']+_0x37e299+':'+_0x270f7f+':'+_0x27a7cb;}['generateLockValue'](){const _0x5a3ec3=a0_0x4d6783,_0x31d520={'oPiJP':function(_0x24514f){return _0x24514f();}};return this[_0x5a3ec3(0x82)]+':'+_0x31d520[_0x5a3ec3(0x76)](uuidv4)+':'+Date[_0x5a3ec3(0x88)]();}async['acquireReadLock'](_0x613e01){const _0x1513d4=a0_0x4d6783,_0x5f2591={'dqrfd':_0x1513d4(0x95),'eAgZV':_0x1513d4(0xa4),'LVPgr':function(_0x61edb1,_0x26809f){return _0x61edb1<_0x26809f;},'wveNg':_0x1513d4(0xb4),'jMUIg':_0x1513d4(0xb1),'uOUUu':function(_0x4730c7,_0x3df17c){return _0x4730c7*_0x3df17c;},'rcCXo':_0x1513d4(0x98),'aUiDf':'read_lock_error'};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x3c3b98=this['buildLockKey']({..._0x613e01,'lockType':_0x5f2591['dqrfd']}),_0x2fdea2=this[_0x1513d4(0x8d)]({..._0x613e01,'lockType':_0x5f2591[_0x1513d4(0x86)]}),_0x21351=this['generateLockValue']();try{const _0x2921b8=redisClient[_0x1513d4(0xa3)]();for(let _0x3e1c3a=0x0;_0x5f2591['LVPgr'](_0x3e1c3a,this['retryCount']);_0x3e1c3a++){const _0x22c9f6=await _0x2921b8['get'](_0x3c3b98);if(!_0x22c9f6){await _0x2921b8['incr'](_0x2fdea2),await _0x2921b8[_0x1513d4(0x94)](_0x2fdea2,this['defaultTTL']);const _0x5f4828=_0x2fdea2+':'+_0x21351;return await _0x2921b8['setex'](_0x5f4828,this['defaultTTL'],_0x21351),logger[_0x1513d4(0x85)]({'event':_0x1513d4(0xab),'key':_0x2fdea2,'value':_0x21351},_0x5f2591[_0x1513d4(0x99)]),{'success':!![],'lockValue':_0x21351,'lockKey':_0x5f4828};}logger[_0x1513d4(0x85)]({'event':'read_lock_waiting','writeKey':_0x3c3b98,'attempt':_0x3e1c3a},_0x5f2591[_0x1513d4(0xa0)]),await this['sleep'](_0x5f2591['uOUUu'](this[_0x1513d4(0xa6)],Math[_0x1513d4(0x84)](0x2,_0x3e1c3a)));}return logger['warn']({'event':'read_lock_timeout','key':_0x2fdea2},_0x5f2591['rcCXo']),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x5b4218){return logger['error']({'event':_0x5f2591[_0x1513d4(0x6d)],'error':_0x5b4218[_0x1513d4(0x77)]},'READ\x20lock\x20error'),{'success':![],'lockValue':null,'lockKey':null};}}async['acquireWriteLock'](_0x1c7fbb){const _0x1a7e2e=a0_0x4d6783,_0x18e3ca={'kADsL':_0x1a7e2e(0x95),'zbUDV':'reject','zJpha':function(_0x435485,_0x1592da){return _0x435485===_0x1592da;},'asXim':'WRITE\x20lock\x20acquired\x20(reject\x20mode)','qtLLj':'WRITE\x20lock\x20rejected\x20-\x20record\x20busy','urJol':function(_0x31dd17,_0x238ab7){return _0x31dd17(_0x238ab7);},'dMmvT':'WRITE\x20lock\x20acquired\x20(retry\x20mode)','hXexI':_0x1a7e2e(0xa7),'VjAak':'write_lock_error'};if(!this[_0x1a7e2e(0x9f)])return{'success':!![],'lockValue':null,'lockKey':null};const _0x1574e4=this[_0x1a7e2e(0x8d)]({..._0x1c7fbb,'lockType':_0x18e3ca[_0x1a7e2e(0x70)]}),_0x35042f=this['buildLockKey']({..._0x1c7fbb,'lockType':_0x1a7e2e(0xa4)}),_0x4e1907=this['generateLockValue']();try{const _0x56cc8a=redisClient[_0x1a7e2e(0xa3)]();if(this['strategy']===_0x18e3ca[_0x1a7e2e(0x78)]){const _0x31ae81=await _0x56cc8a[_0x1a7e2e(0x90)](_0x1574e4,_0x4e1907,'EX',this['defaultTTL'],'NX');if(_0x18e3ca[_0x1a7e2e(0x8c)](_0x31ae81,'OK'))return logger[_0x1a7e2e(0x85)]({'event':_0x1a7e2e(0x97),'key':_0x1574e4,'value':_0x4e1907,'strategy':_0x1a7e2e(0xaa)},_0x18e3ca[_0x1a7e2e(0x80)]),{'success':!![],'lockValue':_0x4e1907,'lockKey':_0x1574e4};return logger['debug']({'event':'write_lock_rejected','key':_0x1574e4},_0x18e3ca[_0x1a7e2e(0xb0)]),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x4e428b=0x0;_0x4e428b<this[_0x1a7e2e(0x8f)];_0x4e428b++){const [_0x16fbfc,_0x3398ba]=await Promise[_0x1a7e2e(0x8b)]([_0x56cc8a[_0x1a7e2e(0xad)](_0x35042f),_0x56cc8a['get'](_0x1574e4)]);if(!_0x3398ba&&(!_0x16fbfc||_0x18e3ca['urJol'](parseInt,_0x16fbfc)===0x0)){const _0x4dba46=await _0x56cc8a['set'](_0x1574e4,_0x4e1907,'EX',this['defaultTTL'],'NX');if(_0x18e3ca[_0x1a7e2e(0x8c)](_0x4dba46,'OK'))return logger['debug']({'event':'write_lock_acquired','key':_0x1574e4,'value':_0x4e1907,'strategy':_0x1a7e2e(0x9c)},_0x18e3ca[_0x1a7e2e(0xa1)]),{'success':!![],'lockValue':_0x4e1907,'lockKey':_0x1574e4};}logger['debug']({'event':_0x1a7e2e(0x73),'writeKey':_0x1574e4,'readCount':_0x16fbfc,'attempt':_0x4e428b},_0x1a7e2e(0x6a)),await this['sleep'](this['retryDelay']*Math['pow'](0x2,_0x4e428b));}return logger['warn']({'event':_0x1a7e2e(0x7c),'key':_0x1574e4},_0x18e3ca[_0x1a7e2e(0x6e)]),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x41832b){return logger[_0x1a7e2e(0x89)]({'event':_0x18e3ca['VjAak'],'error':_0x41832b[_0x1a7e2e(0x77)]},'WRITE\x20lock\x20error'),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x4d6783(0x7f)](_0x5e3ac1,_0x4be6b7){const _0x21fea0=a0_0x4d6783,_0x1c9dd3={'yRaAY':function(_0x318797,_0x5007e5){return _0x318797(_0x5007e5);},'zMCNb':_0x21fea0(0x91),'OWjek':'READ\x20lock\x20released','DeeUP':'WRITE\x20lock\x20released','rLSSr':'lock_release_not_owner'};if(!this['enabled']||!_0x5e3ac1)return!![];try{const _0xb79db9=redisClient['getClient']();if(_0x5e3ac1['includes'](':read:')){await _0xb79db9['del'](_0x5e3ac1);const _0x272f10=_0x5e3ac1['substring'](0x0,_0x5e3ac1['lastIndexOf'](':')),_0x2504d4=await _0xb79db9['get'](_0x272f10);return _0x2504d4&&_0x1c9dd3['yRaAY'](parseInt,_0x2504d4)>0x0&&await _0xb79db9['decr'](_0x272f10),logger[_0x21fea0(0x85)]({'event':_0x1c9dd3['zMCNb'],'key':_0x5e3ac1},_0x1c9dd3[_0x21fea0(0x71)]),!![];}const _0x215c9b='\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',_0x35b1d8=await _0xb79db9[_0x21fea0(0x6b)](_0x215c9b,0x1,_0x5e3ac1,_0x4be6b7);if(_0x35b1d8===0x1)return logger['debug']({'event':'write_lock_released','key':_0x5e3ac1},_0x1c9dd3['DeeUP']),!![];return logger['warn']({'event':_0x1c9dd3['rLSSr'],'key':_0x5e3ac1},_0x21fea0(0x7d)),![];}catch(_0x3920ac){return logger[_0x21fea0(0x89)]({'event':'lock_release_error','key':_0x5e3ac1,'error':_0x3920ac[_0x21fea0(0x77)]},_0x21fea0(0x8a)),![];}}async['extendLock'](_0xa1fc20,_0x2a3feb,_0x34a3c3=null){const _0x4402ec=a0_0x4d6783,_0x39f21d={'cvnYy':'Lock\x20TTL\x20extended'};if(!this[_0x4402ec(0x9f)]||!_0xa1fc20)return!![];try{const _0x32c312=redisClient['getClient'](),_0x346502='\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',_0x38ba35=await _0x32c312[_0x4402ec(0x6b)](_0x346502,0x1,_0xa1fc20,_0x2a3feb,_0x34a3c3||this[_0x4402ec(0x66)]);if(_0x38ba35===0x1)return logger[_0x4402ec(0x85)]({'event':_0x4402ec(0xb6),'key':_0xa1fc20,'ttl':_0x34a3c3||this['defaultTTL']},_0x39f21d['cvnYy']),!![];return![];}catch(_0x4ff8dd){return logger['error']({'event':'lock_extend_error','key':_0xa1fc20,'error':_0x4ff8dd[_0x4402ec(0x77)]},'Lock\x20extend\x20error'),![];}}['isEnabled'](){const _0x371c88=a0_0x4d6783;return this[_0x371c88(0x9f)];}['sleep'](_0x220f52){return new Promise(_0x5b85ff=>setTimeout(_0x5b85ff,_0x220f52));}async[a0_0x4d6783(0x67)](_0x7d65de){const _0x5065b9=a0_0x4d6783,_0x247f9d={'YjZJI':'read','csUnO':function(_0x211782,_0x153ff6){return _0x211782||_0x153ff6;},'JsIyd':function(_0x5c3508,_0x4f878b){return _0x5c3508(_0x4f878b);}};if(!this[_0x5065b9(0x9f)])return{'enabled':![]};try{const _0x1d5fa4=redisClient[_0x5065b9(0xa3)](),_0x3974db=this['buildLockKey']({..._0x7d65de,'lockType':'write'}),_0x37b72d=this[_0x5065b9(0x8d)]({..._0x7d65de,'lockType':_0x247f9d['YjZJI']}),[_0x520b3f,_0x483fa6]=await Promise[_0x5065b9(0x8b)]([_0x1d5fa4[_0x5065b9(0xad)](_0x3974db),_0x1d5fa4[_0x5065b9(0xad)](_0x37b72d)]);return{'enabled':!![],'writeLock':_0x247f9d[_0x5065b9(0xae)](_0x520b3f,null),'readCount':_0x247f9d[_0x5065b9(0x9b)](parseInt,_0x483fa6)||0x0,'writeKey':_0x3974db,'readKey':_0x37b72d};}catch(_0x242768){return{'enabled':!![],'error':_0x242768[_0x5065b9(0x77)]};}}}module[a0_0x4d6783(0xb2)]=new LockManager();
@@ -1 +1 @@
1
- function a0_0x22da(_0x519345,_0x113fa8){_0x519345=_0x519345-0xcd;const _0x12bf42=a0_0x12bf();let _0x22da7a=_0x12bf42[_0x519345];if(a0_0x22da['yONNLf']===undefined){var _0x327958=function(_0xbf7113){const _0xe55a31='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x360b75='',_0x8e2429='';for(let _0x17f336=0x0,_0x5124b5,_0x2f067b,_0x4b2dd6=0x0;_0x2f067b=_0xbf7113['charAt'](_0x4b2dd6++);~_0x2f067b&&(_0x5124b5=_0x17f336%0x4?_0x5124b5*0x40+_0x2f067b:_0x2f067b,_0x17f336++%0x4)?_0x360b75+=String['fromCharCode'](0xff&_0x5124b5>>(-0x2*_0x17f336&0x6)):0x0){_0x2f067b=_0xe55a31['indexOf'](_0x2f067b);}for(let _0x518e1c=0x0,_0x4c776d=_0x360b75['length'];_0x518e1c<_0x4c776d;_0x518e1c++){_0x8e2429+='%'+('00'+_0x360b75['charCodeAt'](_0x518e1c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x8e2429);};a0_0x22da['pTMKLJ']=_0x327958,a0_0x22da['lADOuy']={},a0_0x22da['yONNLf']=!![];}const _0x1a3245=_0x12bf42[0x0],_0x4cc158=_0x519345+_0x1a3245,_0x3987b5=a0_0x22da['lADOuy'][_0x4cc158];return!_0x3987b5?(_0x22da7a=a0_0x22da['pTMKLJ'](_0x22da7a),a0_0x22da['lADOuy'][_0x4cc158]=_0x22da7a):_0x22da7a=_0x3987b5,_0x22da7a;}const a0_0x1f1287=a0_0x22da;(function(_0x8bd2a1,_0x169c89){const _0x21cdbe=a0_0x22da,_0x165c6b=_0x8bd2a1();while(!![]){try{const _0x17636f=parseInt(_0x21cdbe(0x176))/0x1*(parseInt(_0x21cdbe(0x10b))/0x2)+parseInt(_0x21cdbe(0x15a))/0x3+-parseInt(_0x21cdbe(0x14c))/0x4+-parseInt(_0x21cdbe(0x156))/0x5*(parseInt(_0x21cdbe(0xe0))/0x6)+-parseInt(_0x21cdbe(0x125))/0x7*(parseInt(_0x21cdbe(0x137))/0x8)+-parseInt(_0x21cdbe(0x16b))/0x9+parseInt(_0x21cdbe(0x16a))/0xa;if(_0x17636f===_0x169c89)break;else _0x165c6b['push'](_0x165c6b['shift']());}catch(_0x492363){_0x165c6b['push'](_0x165c6b['shift']());}}}(a0_0x12bf,0x1be6c));const pino=require('pino'),fs=require('fs'),path=require(a0_0x1f1287(0xfb));let logToFile=![],logDir='./logs',serviceName='restforge',sqlLogEnabled=![],sqlLogLevel=a0_0x1f1287(0x153),sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;function a0_0x12bf(){const _0x3b17ac=['CMvXlMHLywrLCNmUyxv0Ag9YAxPHDgLVBG','sxvkB3G','A1P5CNO','zhHru24','r2XVyMfSigvYCM9YigHHBMrSzxjZigLUAxrPywXPEMvK','CgfKrw5K','Eu96Egu','reiGuxvLCNK','CMvWzwf0','uwHztva','Dw5RBM93BG','Dw5Oyw5KBgvKuMvQzwn0Aw9U','CMvMCMvZAf90B2TLBG','C3rKu2vYAwfSAxPLCNm','A256tg4','Ahr0Cf9LCNjVCG','quXurvi','ChjVzhvJDgLVBG','Ag9ZDa','Cg9YDa','CgLU','mtiWuNPxrurd','DxnLCI1Hz2vUDa','Dg9vChbLCKnHC2u','DxjS','zxjYB3i','w1jfrefdvevexq','Dg5OwvK','D2fYBMLUzW','Bwf4','y3jLzgL0x2nHCMq','Ec1Yzxf1zxn0lwLK','C3rHDhvZq29Kzq','q09ntuLu','zgjFDhjHBNnHy3rPB24','E21Zz30','ALfMz1y','Cg9ZDgDYzxnXBa','Ahj0Aw1L','ChjPDMf0zv9RzxK','zuvqqM4','rw1PBMW','suXRz2S','BLLnBgy','tujJCLm','Ew9lAvi','revmrvrf','u0vmrunu','Cgf0Aa','CuDTrKi','vfjbtLnbq1rjt05FqKvhsu4','ChjVAMvJDa','C3rYAw5NAwz5','yxHQDMO','B3rW','C2vYDMvYx3n0yxj0Aw5N','CMHptNK','y3DK','wLHnuNG','yKnMBwq','vMXryMO','uKvtvezpuKDfifjvtLrjtuuGu0vsvKvs','zw5KCg9PBNrFCMvNAxn0zxjLza','u1fmx0Xpr19ftKfcteve','mtK1mZG2u2j5s1Dn','vu5ltK9xtG','Cxn4tem','u1fmx0Xpr19tte9xx1riuKvtse9mra','A2v5CW','tK9erv9ftLy','yxbWlMXVzW','DhLWzq','C3nU','vNLIzLe','qKD3rgG','u293r2y','uMvnwui','CMvZDgzVCMDL','zMXVB3i','Dxb0Aw1L','ywnJzxnZx3rVA2vU','wKnxu3K','y1fRsgC','C3fSx3f1zxj5','ue5Sr0q','cUkvOokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvOWRILzeGievUDMLYB25Tzw50idOG','Dg9Rzw4','y29UBMvJDgLVBG','yLbXC3C','CgfZC3DVCMq','ntG2mtK0zhjtsNjM','sw50zxjUywWGC2vYDMvYigvYCM9Y','AgvHzgvYCW','z2v0sgvHzgvYCW','y29Kzq','DxnLCG','uK9mtejbq0S','zxjYB3iUBg9N','ANnVBG','BMfTzq','vvr6uLC','BKrtDK0','zLDUAuq','C3rHy2S','iokvKqRILzeGifbVCNqGicaGicaGidOG','w09lxsbqCM9Qzwn0igXVywrLzdOG','CNL3CMO','Dg9mB3DLCKnHC2u','ofjHy0rwyW','tM9Kzs5QCW','CgfZC3DK','yM9KEq','vhjHBNnHy3rPB24G','C3rHDhvZ','zgf0ywjHC2vFy29UzMLN','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','w1jfrefdveveoMHHC2HD','qwvJCKe','vfjbtLnbq1rjt05Fq09ntuLu','zw52AxjVBM1LBNq','C3bSAxq','C29Tzq','Bwf0y2G','qMnQwNm','Dw5JyxvNAhrfEgnLChrPB24','CM93C0fMzMvJDgvK','suLYtvG','u1fmx0Xpr19qqvjbtvm','Aw1wtMK','nteWotq0DM5UEw9y','tI9b','qKrIsKG','sLDux1nfq1jfva','BwfW','zMf0ywXFzxjYB3i','Aw5MBW','zgvIDwC','CMvXlMHLywrLCNnBiNGTyxbPlwTLEsjD','ChDK','mtG5mtbwr21xC3G','Ahr0Cf9Yzxf1zxn0','sfruuca','CMvTB3rLqwrKCMvZCW','mZqXndq1CxjJCwPx','BwvTB3j5vxnHz2u','te9hx1rpx0zjteu','q1jfqvrf','Dhj1zq','swTqCK0','Dg9ju09tDhjPBMC','y3z2','w1jfrefdveveoNrVA2vUxq','zMLSzv9SB2DNAw5Nx2vUywjSzwq','icdIHPiG','y3jLyxrLv3jPDgvtDhjLyw0','B2jQzwn0','yxv0Ag9YAxPHDgLVBG','DhjPBq','icbvuKW6icaGia','mZm1mJC4mfHlsgPAvG','mtmWodq1nLHhC1PfEG','zw5oqwy','twrJqM4','rxjYB3i','tvDLCLK','DgvZDa','ms4WlJu','BwvZC2fNzq','yxbPs2v5','rMfPBgvKihrVignYzwf0zsbSB2CGC3rYzwfTCZO','C3rHCNrZv2L0Aa','muXvve52Dq','C2vJCMv0','s0zpvuG','zw52','AM9PBG','C2vYDMvYx3jLywr5','yxbPx2TLEq','iokvKqRILzeGifbYB2PLy3qGicaGidOG','Bwv0Ag9K','D2fYBG','ALncEuK','BgvUz3rO','zxHPC3rZu3LUyW','zMf0ywW','C2vYDMLJzuLUzM8','qxLsrgK','CgLKlgHVC3rUyw1LlhnLCNzPy2uSDMvYC2LVBIXLBNySzxzLBNqSBw9KDwXLlhbVCNqSy29UzMLNlgfWAuTLEuvUywjSzwqSCgf0AcX3B3jRAw5NrgLYlgLZugTNlgLZtM9KzvnJCMLWDcXMAwXLlgvTywLSlhr5CguSy29YCYXSB2DNAw5NlgfWAuTLEsXJB3vUDcXLBMrWB2LUDcXYB3v0zq','u1LtoKHioK1noNnZ','zgjFCxvLCNK'];a0_0x12bf=function(){return _0x3b17ac;};return a0_0x12bf();}const prettyPrintOptions={'colorize':!![],'translateTime':a0_0x1f1287(0x187),'ignore':a0_0x1f1287(0x186),'singleLine':![],'levelFirst':!![],'messageFormat':a0_0x1f1287(0xee),'customColors':'info:blue,warn:yellow,error:red,debug:gray','hideObject':!![]},isDevelopment=process['env'][a0_0x1f1287(0x110)]!==a0_0x1f1287(0xdc),logLevel=process[a0_0x1f1287(0x179)]['LOG_LEVEL']||a0_0x1f1287(0x152);let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':'pino-pretty','options':prettyPrintOptions}:undefined,'base':{'service':'restforge','version':process['env']['APP_VERSION']||a0_0x1f1287(0x171),'env':process[a0_0x1f1287(0x179)][a0_0x1f1287(0x110)]||'development'},'timestamp':pino['stdTimeFunctions']['isoTime'],'redact':{'paths':[a0_0x1f1287(0x189),a0_0x1f1287(0x154),a0_0x1f1287(0x124),a0_0x1f1287(0x121),'apiKey','DB_PASSWORD',a0_0x1f1287(0x14f)],'censor':a0_0x1f1287(0xe5)},'serializers':{'req':_0x28d356=>({'id':_0x28d356['id'],'method':_0x28d356[a0_0x1f1287(0x17e)],'url':_0x28d356['url'],'path':_0x28d356[a0_0x1f1287(0xfb)],'remoteAddress':_0x28d356['ip']||_0x28d356[a0_0x1f1287(0x122)]?.[a0_0x1f1287(0x159)]}),'res':_0x47745f=>({'statusCode':_0x47745f[a0_0x1f1287(0xeb)],'headers':_0x47745f[a0_0x1f1287(0x128)]?.()}),'err':pino[a0_0x1f1287(0xd8)]['err']}});function initFileLogging(){const _0x2beacb=a0_0x1f1287,_0x785e8e={'Ovvyz':function(_0x5319cc,_0x3d31e8){return _0x5319cc===_0x3d31e8;},'IIrMX':'true','lZgSx':_0x2beacb(0x118),'vQWMJ':_0x2beacb(0x153),'rhONy':function(_0x2f598f,_0x3ab68b){return _0x2f598f(_0x3ab68b);},'TBdel':_0x2beacb(0x111),'imVNi':_0x2beacb(0x12c),'VybfQ':_0x2beacb(0x163),'IuJox':function(_0x867963,_0x23b00b,_0x2d1dd){return _0x867963(_0x23b00b,_0x2d1dd);},'qERwA':'info'};if(fileLoggingInitialized)return;logToFile=_0x785e8e['Ovvyz'](process['env'][_0x2beacb(0x15c)],_0x785e8e[_0x2beacb(0x149)]);const _0xf4e39f=process[_0x2beacb(0x179)][_0x2beacb(0x13e)]||'default';logDir=process[_0x2beacb(0x179)]['LOG_DIR']||'./logs/'+_0xf4e39f,serviceName=process['env']['SERVICE_NAME']||_0x785e8e['lZgSx'],sqlLogEnabled=_0x785e8e['Ovvyz'](process['env'][_0x2beacb(0x10a)],_0x2beacb(0x15e)),sqlLogLevel=process['env']['SQL_LOG_LEVEL']||_0x785e8e['vQWMJ'],sqlLogParams=process['env'][_0x2beacb(0x14a)]!=='false',sqlLogSlowThreshold=_0x785e8e[_0x2beacb(0x103)](parseInt,process['env'][_0x2beacb(0x10e)])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x56a20d=path['resolve'](process[_0x2beacb(0x104)](),logDir);try{!fs[_0x2beacb(0x182)](_0x56a20d)&&fs['mkdirSync'](_0x56a20d,{'recursive':!![]});}catch(_0x4e4336){console[_0x2beacb(0xe4)]('Failed\x20to\x20create\x20log\x20directory\x20'+_0x56a20d+':',_0x4e4336[_0x2beacb(0x172)]),fileLoggingInitialized=!![];return;}const _0x5e6a60=path[_0x2beacb(0x17a)](_0x56a20d,_0x785e8e['TBdel']),_0x1e12cd=path['join'](_0x56a20d,_0x785e8e[_0x2beacb(0x14b)]);try{appLogStream=fs[_0x2beacb(0x165)](_0x5e6a60,{'flags':'a'}),errorLogStream=fs[_0x2beacb(0x165)](_0x1e12cd,{'flags':'a'}),fileLoggingInitialized=!![];const _0x1a6c9b={'event':_0x785e8e[_0x2beacb(0x114)],'logDir':_0x56a20d,'files':[_0x785e8e['TBdel'],_0x785e8e[_0x2beacb(0x14b)]]},_0x535153='File\x20logging\x20enabled:\x20'+_0x56a20d;logger['info'](_0x1a6c9b,_0x535153),_0x785e8e[_0x2beacb(0x18a)](writeToFileLog,{..._0x1a6c9b,'level':'info','msg':_0x535153,'time':new Date()['toISOString']()},_0x785e8e['qERwA']);}catch(_0x51d83d){console[_0x2beacb(0xe4)](_0x2beacb(0x174),_0x51d83d['message']),fileLoggingInitialized=!![];}}function writeToFileLog(_0x3450ca,_0x34cdae){const _0x137e02=a0_0x1f1287,_0x497e1e={'IcAcM':function(_0x348c06,_0x3103c7){return _0x348c06||_0x3103c7;},'tnhYY':function(_0x1842e3,_0x1303cb){return _0x1842e3+_0x1303cb;},'SnSmh':function(_0x20d859,_0x227b7e){return _0x20d859===_0x227b7e;},'jmRPP':_0x137e02(0x183)};if(_0x497e1e['IcAcM'](!logToFile,!appLogStream))return;const _0xe21647={'service':serviceName,..._0x3450ca},_0xf1cdc9=_0x497e1e[_0x137e02(0xe6)](JSON[_0x137e02(0xff)](_0xe21647),'\x0a');appLogStream['write'](_0xf1cdc9),(_0x497e1e['SnSmh'](_0x34cdae,'error')||_0x34cdae===_0x497e1e['jmRPP'])&&(errorLogStream&&errorLogStream['write'](_0xf1cdc9));}const createRequestLogger=(_0x43a9c5={})=>{return logger['child'](_0x43a9c5);},logServerStart=_0x5edb4e=>{const _0x3e82cb=a0_0x1f1287,_0x40d72d={'ThqKV':function(_0x38d84b,_0x1e41df){return _0x38d84b-_0x1e41df;},'AyRDi':function(_0x4d3e7d,_0x19c679){return _0x4d3e7d(_0x19c679);},'qnqaz':'ACTIVE','QIHdx':'info'},_0x2d86c5=_0x3e82cb(0x108),_0x1079c8=Math[_0x3e82cb(0xe8)](0x0,0x37-_0x2d86c5[_0x3e82cb(0x181)]),_0x5736b8=Math[_0x3e82cb(0x119)](_0x1079c8/0x2),_0x3a082e=_0x40d72d['ThqKV'](_0x1079c8,_0x5736b8),_0x2c8407='║'+'\x20'['repeat'](_0x5736b8)+_0x2d86c5+'\x20'[_0x3e82cb(0xd3)](_0x3a082e)+'║',_0x27a5d5='\x0a╔═══════════════════════════════════════════════════════╗\x0a'+_0x2c8407+_0x3e82cb(0x120)+(_0x5edb4e[_0x3e82cb(0x142)]||_0x3e82cb(0x138))['padEnd'](0x26)+_0x3e82cb(0x17d)+(_0x5edb4e['project']||_0x3e82cb(0x14d))[_0x3e82cb(0xd0)](0x26)+_0x3e82cb(0x133)+_0x40d72d[_0x3e82cb(0x185)](String,_0x5edb4e[_0x3e82cb(0xde)]||0xbb8)[_0x3e82cb(0xd0)](0x26)+'\x20║\x0a║\x20\x20Config\x20\x20\x20\x20\x20\x20:\x20'+(_0x5edb4e['configFile']||'Default')['padEnd'](0x26)+'\x20║\x0a║\x20\x20API\x20Key\x20\x20\x20\x20\x20:\x20'+(_0x5edb4e[_0x3e82cb(0x173)]?_0x40d72d['qnqaz']:'NOT\x20ACTIVE')[_0x3e82cb(0xd0)](0x26)+'\x20║\x0a╚═══════════════════════════════════════════════════════╝';console['log'](_0x27a5d5);const _0x5e1253={'event':_0x3e82cb(0x102),'project':_0x5edb4e[_0x3e82cb(0xfe)],'port':_0x5edb4e['port'],'config':_0x5edb4e['configFile'],'apiKeyEnabled':!!_0x5edb4e['apiKey']};logger['info'](_0x5e1253),writeToFileLog({..._0x5e1253,'level':_0x40d72d['QIHdx'],'msg':'Server\x20starting:\x20'+_0x5edb4e['project']+'\x20on\x20port\x20'+_0x5edb4e[_0x3e82cb(0xde)],'time':new Date()['toISOString']()},_0x40d72d['QIHdx']);},logServerReady=_0x4fb052=>{const _0x598e1b=a0_0x1f1287,_0x1faa4f={'event':_0x598e1b(0x17b),'port':_0x4fb052['port'],'module':_0x4fb052['module'],'healthCheck':_0x4fb052['healthCheck'],'serviceInfo':_0x4fb052[_0x598e1b(0x184)],'baseUrl':_0x4fb052['baseUrl']},_0x29ad74='[OK]\x20Server\x20ready\x20on\x20port\x20'+_0x4fb052[_0x598e1b(0xde)];logger['info'](_0x1faa4f,_0x29ad74),writeToFileLog({..._0x1faa4f,'level':'info','msg':_0x29ad74,'time':new Date()[_0x598e1b(0x160)]()},_0x598e1b(0x152)),_0x4fb052['healthCheck']&&logger['info']('\x20\x20Health:\x20'+_0x4fb052['healthCheck']),_0x4fb052['serviceInfo']&&logger[_0x598e1b(0x152)]('\x20\x20Info:\x20\x20\x20'+_0x4fb052['serviceInfo']),_0x4fb052['baseUrl']&&logger[_0x598e1b(0x152)](_0x598e1b(0x169)+_0x4fb052['baseUrl']);},logProjectLoaded=(_0x29ce0b,_0x3937b9)=>{const _0x1ca979=a0_0x1f1287,_0x139a71={'jSByI':'project_loaded','ZCWSy':'info'},_0x44cc66={'event':_0x139a71[_0x1ca979(0x180)],'project':_0x29ce0b,'path':_0x3937b9},_0x5d12e3=_0x1ca979(0x134)+_0x29ce0b;logger[_0x1ca979(0x152)](_0x44cc66,_0x5d12e3),writeToFileLog({..._0x44cc66,'level':_0x139a71[_0x1ca979(0x11c)],'msg':_0x5d12e3,'time':new Date()['toISOString']()},'info');},logEndpointRegistered=(_0x33f98d,_0x16c6f9)=>{const _0x19381e=a0_0x1f1287,_0x2bc663={'fWniD':_0x19381e(0x109),'UrZit':function(_0x18dc29,_0x47acf2,_0xee9684){return _0x18dc29(_0x47acf2,_0xee9684);},'QhYMP':'debug'},_0x3fadd6={'event':_0x2bc663[_0x19381e(0x131)],'endpoint':_0x33f98d,'route':_0x16c6f9},_0xbd786=_0x19381e(0x164)+_0x33f98d+':\x20'+_0x16c6f9;logger['debug'](_0x3fadd6,_0xbd786),_0x2bc663['UrZit'](writeToFileLog,{..._0x3fadd6,'level':_0x2bc663[_0x19381e(0xd4)],'msg':_0xbd786,'time':new Date()[_0x19381e(0x160)]()},'debug');},logDatabaseConfig=_0x546dac=>{const _0xffa8d9=a0_0x1f1287,_0x3cc113={'qsxLC':_0xffa8d9(0x13d)},_0x51acc3={'event':_0x3cc113[_0xffa8d9(0x10d)],'host':_0x546dac[_0xffa8d9(0xdd)],'port':_0x546dac['port'],'database':_0x546dac['database'],'type':_0x546dac[_0xffa8d9(0x112)],'user':_0x546dac[_0xffa8d9(0x12a)]},_0x173556='Database:\x20'+_0x546dac[_0xffa8d9(0x112)]+'://'+_0x546dac[_0xffa8d9(0xdd)]+':'+_0x546dac['port']+'/'+_0x546dac['database'];logger['debug'](_0x51acc3,_0x173556),writeToFileLog({..._0x51acc3,'level':'debug','msg':_0x173556,'time':new Date()[_0xffa8d9(0x160)]()},'debug');},logRequest=(_0x199945,_0x77766,_0x1f5bab)=>{const _0x4537b6=a0_0x1f1287,_0x26ee3e={'CRfzr':_0x4537b6(0x157),'bCfmd':'info','ipyvP':function(_0x341b51,_0xf7d998){return _0x341b51>=_0xf7d998;}},_0x35f874={'event':_0x26ee3e['CRfzr'],'method':_0x199945['method'],'path':_0x199945['path'],'statusCode':_0x77766['statusCode'],'durationMs':_0x1f5bab,'ip':_0x199945['ip']},_0x576ab2=_0x199945['method']+'\x20'+_0x199945[_0x4537b6(0xfb)]+'\x20-\x20'+_0x77766['statusCode']+'\x20('+_0x1f5bab+'ms)';let _0x5ddf4f=_0x26ee3e[_0x4537b6(0x106)];if(_0x77766[_0x4537b6(0xeb)]>=0x1f4)_0x5ddf4f=_0x4537b6(0xe4),logger['error'](_0x35f874,_0x576ab2);else _0x26ee3e['ipyvP'](_0x77766['statusCode'],0x190)?(_0x5ddf4f='warn',logger['warn'](_0x35f874,_0x576ab2)):logger['info'](_0x35f874,_0x576ab2);writeToFileLog({..._0x35f874,'level':_0x5ddf4f,'msg':_0x576ab2,'time':new Date()['toISOString']()},_0x5ddf4f);},SENSITIVE_PARAM_PATTERNS=[a0_0x1f1287(0x124),a0_0x1f1287(0x139),'pwd',a0_0x1f1287(0x121),a0_0x1f1287(0x11b),a0_0x1f1287(0xd7),a0_0x1f1287(0x177),'api_secret','apikey','api_key','credential','credentials',a0_0x1f1287(0xdf),a0_0x1f1287(0x101),a0_0x1f1287(0xf2),'privatekey'],redactSensitiveParams=(_0xb357fe,_0x3fdf9d)=>{const _0x31d4b4=a0_0x1f1287,_0x1c9ba2={'ZXMRx':'[REDACTED]','Cyget':function(_0xb73ee,_0x2c6c05){return _0xb73ee===_0x2c6c05;},'MBcrS':'string','UTzRW':function(_0x368d81,_0x17f1e2){return _0x368d81>_0x17f1e2;},'gPrnj':_0x31d4b4(0x162),'puoAX':_0x31d4b4(0x13f)};if(!_0xb357fe||_0x1c9ba2['Cyget'](_0xb357fe['length'],0x0))return _0xb357fe;const _0x42af4b=_0x3fdf9d['toLowerCase'](),_0x4b7e01=_0x42af4b['match'](/\(([^)]+)\)\s*values/i);let _0xfba24b=[];_0x4b7e01&&(_0xfba24b=_0x4b7e01[0x1][_0x31d4b4(0x143)](',')[_0x31d4b4(0x150)](_0x4b9d4c=>_0x4b9d4c['trim']()[_0x31d4b4(0x136)]()));const _0x585311=_0x42af4b['match'](/set\s+(.+?)(?:\s+where|$)/i);if(_0x585311){const _0x2e8e9c=_0x585311[0x1],_0x350acd=_0x2e8e9c['match'](/(\w+)\s*=/g);_0x350acd&&(_0xfba24b=_0x350acd['map'](_0x415151=>_0x415151['replace'](/\s*=/,'')[_0x31d4b4(0x168)]()[_0x31d4b4(0x136)]()));}return _0xb357fe[_0x31d4b4(0x150)]((_0x1f3639,_0x5f26a7)=>{const _0x162b9=_0x31d4b4;if(_0xfba24b[_0x5f26a7]){const _0x12da0e=_0xfba24b[_0x5f26a7],_0x2571ca=SENSITIVE_PARAM_PATTERNS['some'](_0x3f86ba=>_0x12da0e['includes'](_0x3f86ba));if(_0x2571ca)return _0x1c9ba2[_0x162b9(0x105)];}if(_0x1c9ba2['Cyget'](typeof _0x1f3639,_0x1c9ba2[_0x162b9(0xf7)])&&_0x1c9ba2[_0x162b9(0x12f)](_0x1f3639['length'],0x20)){if(/^[a-zA-Z0-9+/=_.-]+$/[_0x162b9(0x170)](_0x1f3639)&&_0x1f3639['includes']('.'))return _0x1c9ba2['gPrnj'];if(/^[a-fA-F0-9]{32,}$/['test'](_0x1f3639))return _0x1c9ba2['puoAX'];}return _0x1f3639;});},parseQueryMetadata=_0x212beb=>{const _0x14602f=a0_0x1f1287,_0x248431={'rnyZN':_0x14602f(0xfa),'bPqsw':'INSERT','cgene':'UPDATE','BcjZs':'DELETE','jQfgV':'START\x20TRANSACTION','PNlGD':_0x14602f(0x12b),'rPxAS':'TRANSACTION_ROLLBACK','XQKcT':'DDL_ALTER','whpKt':'DROP'},_0xe34f39=_0x212beb['trim'](),_0x1d855e=_0xe34f39[_0x14602f(0xe2)]();let _0x2e1272=_0x14602f(0x10c),_0x4c640c=null;if(_0x1d855e[_0x14602f(0x175)](_0x248431['rnyZN'])){_0x2e1272=_0x14602f(0xfa);const _0x1ef11d=_0xe34f39['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x4c640c=_0x1ef11d?_0x1ef11d[0x1]:null;}else{if(_0x1d855e['startsWith'](_0x248431[_0x14602f(0x123)])){_0x2e1272=_0x248431['bPqsw'];const _0x2ef5e2=_0xe34f39['match'](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x4c640c=_0x2ef5e2?_0x2ef5e2[0x1]:null;}else{if(_0x1d855e['startsWith']('UPDATE')){_0x2e1272=_0x248431['cgene'];const _0x2731b7=_0xe34f39[_0x14602f(0x145)](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x4c640c=_0x2731b7?_0x2731b7[0x1]:null;}else{if(_0x1d855e['startsWith'](_0x248431[_0x14602f(0x146)])){_0x2e1272=_0x14602f(0xf9);const _0x195f90=_0xe34f39['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x4c640c=_0x195f90?_0x195f90[0x1]:null;}else{if(_0x1d855e[_0x14602f(0x175)]('BEGIN')||_0x1d855e[_0x14602f(0x175)](_0x248431[_0x14602f(0xef)]))_0x2e1272=_0x14602f(0xfd);else{if(_0x1d855e['startsWith'](_0x14602f(0xec)))_0x2e1272=_0x14602f(0x141);else{if(_0x1d855e[_0x14602f(0x175)](_0x248431[_0x14602f(0x11f)]))_0x2e1272=_0x248431['rPxAS'];else{if(_0x1d855e[_0x14602f(0x175)](_0x14602f(0x15d)))_0x2e1272='DDL_CREATE';else{if(_0x1d855e['startsWith'](_0x14602f(0xdb)))_0x2e1272=_0x248431['XQKcT'];else _0x1d855e['startsWith'](_0x248431['whpKt'])&&(_0x2e1272='DDL_DROP');}}}}}}}}return{'type':_0x2e1272,'table':_0x4c640c};},startQueryTimer=()=>{const _0x38d7c3=a0_0x1f1287,_0x49362c={'kZyrz':function(_0x4d02ae,_0x6fc301){return _0x4d02ae*_0x6fc301;},'GHvUq':function(_0x2f0af4,_0x2aaefe){return _0x2f0af4/_0x2aaefe;}},_0x3addc2=process[_0x38d7c3(0xf1)]();return()=>{const _0x10e0a2=_0x38d7c3,[_0x2bb204,_0x394334]=process[_0x10e0a2(0xf1)](_0x3addc2);return parseFloat((_0x49362c[_0x10e0a2(0xcd)](_0x2bb204,0x3e8)+_0x49362c['GHvUq'](_0x394334,0xf4240))['toFixed'](0x2));};},logQuery=(_0x1daae0,_0x3afee5=[],_0x320f91={})=>{const _0x3fe8c9=a0_0x1f1287,_0x5c3be6={'RIugs':_0x3fe8c9(0xd2),'qGmFB':_0x3fe8c9(0xf0),'HEWEU':function(_0x932bb9,_0x492887){return _0x932bb9||_0x492887;},'dHoDz':_0x3fe8c9(0xd5),'rrXue':function(_0x333852,_0x375c05){return _0x333852!==_0x375c05;},'knzLn':_0x3fe8c9(0x153),'nDSvM':'\x20[SLOW]','Eminl':_0x3fe8c9(0x17f),'nYMlf':function(_0x18d043,_0x421aef){return _0x18d043===_0x421aef;},'yoKiR':function(_0x4335af,_0xad1f33,_0x7c432a){return _0x4335af(_0xad1f33,_0x7c432a);}};if(!sqlLogEnabled){logger[_0x3fe8c9(0x153)]({'event':_0x3fe8c9(0x188),'query':_0x1daae0['substring'](0x0,0xc8),'paramCount':_0x3afee5['length']},_0x5c3be6['RIugs']);return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x5c3be6[_0x3fe8c9(0xfc)]}=_0x320f91,{type:_0x5bbbc8,table:_0x27541c}=parseQueryMetadata(_0x1daae0),_0x28f78a={'event':_0x3fe8c9(0x11e),'queryType':_0x5bbbc8,'table':_0x27541c,'query':_0x1daae0,'paramCount':_0x3afee5[_0x3fe8c9(0x181)],'dbType':dbType};sqlLogParams&&_0x3afee5[_0x3fe8c9(0x181)]>0x0&&(_0x28f78a['params']=redactSensitiveParams(_0x3afee5,_0x1daae0));duration!==null&&(_0x28f78a['durationMs']=duration,_0x28f78a['isSlow']=duration>sqlLogSlowThreshold);rowsAffected!==null&&(_0x28f78a[_0x3fe8c9(0x148)]=rowsAffected);const _0xdc737b=_0x5c3be6['HEWEU'](_0x27541c,_0x5c3be6['dHoDz']);let _0x2ebf2d='['+_0x5bbbc8+']\x20'+_0xdc737b;duration!==null&&(_0x2ebf2d+='\x20('+duration+'ms)');const _0x200e8f=_0x5c3be6['rrXue'](duration,null)&&duration>sqlLogSlowThreshold;let _0x3b9249=_0x5c3be6[_0x3fe8c9(0xd9)];if(_0x200e8f)_0x2ebf2d+=_0x5c3be6[_0x3fe8c9(0x130)],_0x3b9249=_0x5c3be6[_0x3fe8c9(0xf4)],logger[_0x3fe8c9(0x17f)](_0x28f78a,_0x2ebf2d);else _0x5c3be6[_0x3fe8c9(0xf6)](sqlLogLevel,_0x3fe8c9(0x152))?(_0x3b9249=_0x3fe8c9(0x152),logger[_0x3fe8c9(0x152)](_0x28f78a,_0x2ebf2d)):logger['debug'](_0x28f78a,_0x2ebf2d);_0x5c3be6[_0x3fe8c9(0xf8)](writeToFileLog,{..._0x28f78a,'level':_0x3b9249,'msg':_0x2ebf2d,'time':new Date()['toISOString']()},_0x3b9249);},logTransaction=(_0x3686c7,_0x1f68ee)=>{const _0x32798b=a0_0x1f1287,_0x51279b={'dxQSn':_0x32798b(0xed),'yOzxe':_0x32798b(0x153)},_0x24b12f={'event':_0x51279b[_0x32798b(0xce)],'status':_0x3686c7,'queryCount':_0x1f68ee},_0x3cc04e=_0x32798b(0x13b)+_0x3686c7;logger[_0x32798b(0x153)](_0x24b12f,_0x3cc04e),writeToFileLog({..._0x24b12f,'level':_0x51279b[_0x32798b(0xd1)],'msg':_0x3cc04e,'time':new Date()[_0x32798b(0x160)]()},_0x32798b(0x153));},redactObject=_0x4ebf1a=>{const _0x11689b=a0_0x1f1287,_0xfb6bdd={'eEPBn':'passwd','SowGf':_0x11689b(0x155),'BDbJH':'token','enNAf':'apikey','cQkHg':_0x11689b(0x161),'MdcBn':_0x11689b(0x113),'UVDmH':_0x11689b(0xdf),'TxzGX':'private_key','deqaS':'privatekey','VlQbj':_0x11689b(0xd7),'BGwDh':function(_0x2ec3d0,_0x255418){return _0x2ec3d0===_0x255418;}};if(!_0x4ebf1a||typeof _0x4ebf1a!=='object')return _0x4ebf1a;const _0x5b5b34=['password',_0xfb6bdd[_0x11689b(0xf3)],_0xfb6bdd[_0x11689b(0x116)],_0xfb6bdd[_0x11689b(0x14e)],_0x11689b(0x177),_0xfb6bdd[_0x11689b(0x16c)],_0x11689b(0x17c),_0x11689b(0x167),'creditcard',_0x11689b(0xe9),_0xfb6bdd[_0x11689b(0x11d)],_0xfb6bdd[_0x11689b(0x16d)],_0xfb6bdd['UVDmH'],_0xfb6bdd['TxzGX'],_0xfb6bdd['deqaS'],_0xfb6bdd[_0x11689b(0x107)],'access_token'],_0x25b693=Array['isArray'](_0x4ebf1a)?[..._0x4ebf1a]:{..._0x4ebf1a};for(const _0x3a3481 of Object[_0x11689b(0x10f)](_0x25b693)){const _0x19331f=_0x3a3481[_0x11689b(0x136)]();if(_0x5b5b34[_0x11689b(0x144)](_0x28a159=>_0x19331f['includes'](_0x28a159)))_0x25b693[_0x3a3481]='[REDACTED]';else _0xfb6bdd[_0x11689b(0x115)](typeof _0x25b693[_0x3a3481],_0x11689b(0x166))&&_0x25b693[_0x3a3481]!==null&&(_0x25b693[_0x3a3481]=redactObject(_0x25b693[_0x3a3481]));}return _0x25b693;},logError=(_0x5e8588,_0x3136df={},_0x9b248c=null)=>{const _0x16e751=a0_0x1f1287,_0x87f5df={'KFOUH':_0x16e751(0x16e),'UGRUG':'error'},_0x50e179={'event':_0x16e751(0xe4),'errorName':_0x5e8588[_0x16e751(0x12e)]||_0x87f5df[_0x16e751(0x178)],'errorMessage':_0x5e8588['message'],'errorCode':_0x5e8588[_0x16e751(0x129)]||null,'stack':_0x5e8588[_0x16e751(0x132)],..._0x3136df},_0x152a81=_0x9b248c||'Error:\x20'+_0x5e8588[_0x16e751(0x172)];logger['error'](_0x50e179,_0x152a81),writeToFileLog({..._0x50e179,'level':_0x16e751(0xe4),'msg':_0x152a81,'time':new Date()[_0x16e751(0x160)]()},_0x87f5df['UGRUG']);},logFatalError=(_0xdfb2bd,_0x2dbfbb={},_0x533d0a=null)=>{const _0x389e53=a0_0x1f1287,_0x56c7b3={'MWerY':'Error','AecrA':'CRITICAL','ReMYB':_0x389e53(0x183),'Hnnur':'error'},_0x1498a9={'event':_0x389e53(0x151),'errorName':_0xdfb2bd[_0x389e53(0x12e)]||_0x56c7b3[_0x389e53(0x16f)],'errorMessage':_0xdfb2bd['message'],'errorCode':_0xdfb2bd['code']||null,'stack':_0xdfb2bd['stack'],'severity':_0x56c7b3[_0x389e53(0x140)],..._0x2dbfbb},_0x2b25c9=_0x533d0a||'FATAL:\x20'+_0xdfb2bd[_0x389e53(0x172)];logger[_0x389e53(0x183)](_0x1498a9,_0x2b25c9),writeToFileLog({..._0x1498a9,'level':_0x56c7b3[_0x389e53(0x117)],'msg':_0x2b25c9,'time':new Date()[_0x389e53(0x160)]()},_0x56c7b3['Hnnur']);},logHttpError=(_0x29c869,_0x1b3af6,_0x3f408a={})=>{const _0x20784b=a0_0x1f1287,_0x2084e2={'keZLJ':_0x20784b(0xda),'ILkgk':'Error','rywrj':'error','smWGX':'warn'},_0x388556={'event':_0x2084e2['keZLJ'],'errorName':_0x29c869[_0x20784b(0x12e)]||_0x2084e2[_0x20784b(0xf5)],'errorMessage':_0x29c869['message'],'errorCode':_0x29c869[_0x20784b(0x129)]||_0x29c869[_0x20784b(0xeb)]||0x1f4,'stack':_0x29c869['stack'],'method':_0x1b3af6?.[_0x20784b(0x17e)],'url':_0x1b3af6?.[_0x20784b(0xe3)]||_0x1b3af6?.['originalUrl'],'path':_0x1b3af6?.['path'],'ip':_0x1b3af6?.['ip']||_0x1b3af6?.['connection']?.[_0x20784b(0x159)],'userAgent':_0x1b3af6?.['get']?.(_0x20784b(0xe1)),'requestId':_0x1b3af6?.['id']||_0x1b3af6?.[_0x20784b(0x127)]?.[_0x20784b(0xea)],'body':_0x1b3af6?.[_0x20784b(0x13a)]?redactObject(_0x1b3af6[_0x20784b(0x13a)]):undefined,'query':_0x1b3af6?.['query'],..._0x3f408a},_0x37f9b0=_0x29c869[_0x20784b(0xeb)]||_0x29c869['status']||0x1f4,_0x465fcd=_0x20784b(0x158)+_0x37f9b0+':\x20'+_0x29c869[_0x20784b(0x172)];_0x37f9b0>=0x1f4?logger['error'](_0x388556,_0x465fcd):logger[_0x20784b(0x17f)](_0x388556,_0x465fcd),writeToFileLog({..._0x388556,'level':_0x37f9b0>=0x1f4?'error':_0x20784b(0x17f),'msg':_0x465fcd,'time':new Date()['toISOString']()},_0x37f9b0>=0x1f4?_0x2084e2[_0x20784b(0x135)]:_0x2084e2['smWGX']);},logUncaughtError=(_0x8b6ec9,_0x1d12d1)=>{const _0x23125a=a0_0x1f1287,_0x9aaadb={'QYopm':'Error','DwNcQ':function(_0x43be5f,_0x103615){return _0x43be5f(_0x103615);},'CIias':'CRITICAL','QPBgI':'error'},_0x349bc4={'event':_0x8b6ec9,'errorName':_0x1d12d1?.['name']||_0x9aaadb['QYopm'],'errorMessage':_0x1d12d1?.['message']||_0x9aaadb['DwNcQ'](String,_0x1d12d1),'errorCode':_0x1d12d1?.[_0x23125a(0x129)]||null,'stack':_0x1d12d1?.[_0x23125a(0x132)],'severity':_0x9aaadb['CIias'],'processId':process['pid'],'memoryUsage':process[_0x23125a(0x15b)](),'uptime':process[_0x23125a(0x11a)]()},_0x1ab546='['+_0x8b6ec9['toUpperCase']()+']\x20'+(_0x1d12d1?.['message']||_0x1d12d1);logger[_0x23125a(0x183)](_0x349bc4,_0x1ab546),writeToFileLog({..._0x349bc4,'level':_0x23125a(0x183),'msg':_0x1ab546,'time':new Date()['toISOString']()},_0x9aaadb['QPBgI']);},setupGlobalErrorHandlers=()=>{const _0x4f446c=a0_0x1f1287,_0x5a49ab={'tDnXj':function(_0x17b579,_0x4558ca){return _0x17b579 instanceof _0x4558ca;},'axjvj':_0x4f446c(0xe7),'IkPrM':'global_error_handlers_setup'};process['on']('uncaughtException',_0x516f8a=>{const _0x5d7208=_0x4f446c;logUncaughtError(_0x5d7208(0x147),_0x516f8a),setTimeout(()=>{process['exit'](0x1);},0x3e8);}),process['on'](_0x4f446c(0xd6),(_0x460bea,_0x49506c)=>{const _0x578d6e=_0x4f446c,_0x10eff8=_0x5a49ab['tDnXj'](_0x460bea,Error)?_0x460bea:new Error(String(_0x460bea));logUncaughtError(_0x578d6e(0xd6),_0x10eff8);}),process['on'](_0x5a49ab[_0x4f446c(0x100)],_0x54c1c5=>{const _0x17a7da=_0x4f446c;logger[_0x17a7da(0x17f)]({'event':'process_warning','name':_0x54c1c5[_0x17a7da(0x12e)],'message':_0x54c1c5['message'],'stack':_0x54c1c5['stack']},'Process\x20Warning:\x20'+_0x54c1c5[_0x17a7da(0x172)]);});const _0x1d0f3c={'event':_0x5a49ab[_0x4f446c(0x15f)]},_0x7ebe2=_0x4f446c(0xcf);logger[_0x4f446c(0x152)](_0x1d0f3c,_0x7ebe2),writeToFileLog({..._0x1d0f3c,'level':'info','msg':_0x7ebe2,'time':new Date()[_0x4f446c(0x160)]()},_0x4f446c(0x152));},createErrorHandlerMiddleware=()=>{const _0x411a77=a0_0x1f1287,_0x3f5a3f={'IPWIt':_0x411a77(0x126)};return(_0x3001c4,_0x4e83f5,_0x66822e,_0x248460)=>{const _0x305b9e=_0x411a77;logHttpError(_0x3001c4,_0x4e83f5);const _0x58c797=_0x3001c4[_0x305b9e(0xeb)]||_0x3001c4['status']||0x1f4;_0x66822e[_0x305b9e(0x13c)](_0x58c797)[_0x305b9e(0x12d)]({'success':![],'error':_0x58c797>=0x1f4?_0x3f5a3f['IPWIt']:_0x3001c4['message'],'requestId':_0x4e83f5['id']||_0x4e83f5['headers']?.[_0x305b9e(0xea)]||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
+ function a0_0x22ad(){const _0x473924=['CfvTzhG','u3nJq1C','rvnmuNy','AxnbCNjHEq','zxHPDa','z2v0','ChDK','D25rv0C','AgvHBhrOq2HLy2S','AM9PBG','zgjFDhjHBNnHy3rPB24','EeziuwG','yxbPA2v5','q1jjveLdquW','C3rHDhvZq29Kzq','mtmWBeHsCenx','wwXiEwy','y29UzMLNrMLSzq','A01hz1e','vvbeqvrf','thHZrhC','rMfPBgvKihrVignYzwf0zsbSB2CGzgLYzwn0B3j5ia','DurIA2C','zMf0ywW','q09ntuLu','suvMtLe','iokvKqRILzeGienVBMzPzYaGicaGidOG','cUkvLokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvLWO','AgvHzgvYCW','t0jTv1e','C29Tzq','DxjS','tLnvALa','ywnJzxnZx3rVA2vU','Ag9ZDa','DwHoA3O','wKXrCMe','u1fmx0Xpr19ftKfcteve','quvltxu','sw50zxjUywWGC2vYDMvYigvYCM9Y','icbizwfSDgG6ia','DhjPBq','C3rYAw5NAwz5','te9hx0rjuG','C3rKvgLTzuz1BMn0Aw9UCW','CgfZC3DVCMq','uxjRuKe','BwvZC2fNzq','CLLiEfm','nZyXmtzUre5HAvi','ChjPDMf0zv9RzxK','y2HPBgq','uwr6sNq','z2XVyMfSx2vYCM9Yx2HHBMrSzxjZx3nLDhvW','yxbWlMXVzW','ChjVAMvJDf9SB2fKzwq','zurmuhy','yMfZzvvYBa','tK9erv9ftLy','revmrvrf','zxjY','BwfW','Bwv0Ag9K','zhP2tvm','terutLG','rgvMyxvSDa','zxHPC3rZu3LUyW','yxfbEMK','AxnVvgLTzq','w1jfrefdvevexq','iokvKqRILzeGifbVCNqGicaGicaGidOG','Dhj1zq','ugLTufK','EMHgALG','Ahj0Aw1L','zxjYB3iUBg9N','C3rKu2vYAwfSAxPLCNm','CMvWzwf0','C2vYDMLJzuLUzM8','DgvZDa','u1LtoKHioK1noNnZ','zwnXzfy','rMfPBgvKihrVignYzwf0zsbSB2CGC3rYzwfTCZO','y29Kzq','C3rHy2S','AgTPyNa','qvbqx1zfuLnjt04','E21Zz30','CMvXlMHLywrLCNmUyxv0Ag9YAxPHDgLVBG','CMvMCMvZAf90B2TLBG','Bw9KDwXL','Dg9ju09tDhjPBMC','w09lxsbtzxj2zxiGCMvHzhKGB24GCg9YDca','zgvIDwC','Dw5Oyw5KBgvKuMvQzwn0Aw9U','y3jLzgL0x2nHCMq','CgfYyw1Z','rgf0ywjHC2u6ia','uvHJzKW','zw52','quXurvi','zu1xzMe','yMT5seS','thvbzxe','CgfKrw5K','lI9SB2DZlW','Bwf0y2G','CgLK','nJq0odm1Aujorvjv','te9hx1rpx0zjteu','CgLU','DffJAhe','zxHWB3j0CW','Cgf0Aa','BgvUz3rO','B2L0Awy','thzqCKS','ufvlsuu','Dg9Rzw4','tgTgs28','BwTKAxjtEw5J','Dw5RBM93BG','t2H6C3u','D2fYBMLUzW','odGYnteWrvvvBgXs','Dw5JyxvNAhrfEgnLChrPB24','tK9uiefdveLwrq','BMfTzq','y29UBMvJDgLVBG','zhvYyxrPB25nCW','ndy0ntuYyNnjuuDg','u0vmrunu','t2Piveq','B2jQzwn0','y3jLzgL0y2fYza','Cg9YDa','CgfZC3DK','zgf0ywjHC2u','zxjYB3i','u1rbuLqGvfjbtLnbq1rjt04','CKvdweK','yxbPx2TLEq','yMfltge','u1fmx0Xpr19tte9xx1riuKvtse9mra','zMXVB3i','CerPEKO','ndLdzhr3y3a','Dg9mB3DLCKnHC2u','vLbQAg8','rxjYB3i6ia','mtH5sgj2ww8','ChjVAMvJDa','D3jPDgu','D2fYBG','B3jPz2LUywXvCMW','rMLSzsbSB2DNAw5NigvUywjSzwq6ia','z2v0sgvHzgvYCW','uw5sBey','mZblq2Puwe4','DLLLtha','zMLSzv9SB2DNAw5Nx2vUywjSzwq','C3vIC3rYAw5N','zgjFCxvLCNK','odmYndq0DerNu0j6','mte3n3ruz010Ca','yM9KEq','Aw5JBhvKzxm','icbjBMzVoIaGia','reiGuxvLCNK','C3rHCNrZv2L0Aa','CMvZDgzVCMDL','Ae9gEu8','u2vYDMvYihn0yxj0Aw5NoIa','mZy5nZjPy2jlEuS','ndi2rwnOB3Ld','Aw5MBW','rermx0nsrufurq'];a0_0x22ad=function(){return _0x473924;};return a0_0x22ad();}function a0_0x3231(_0x289a0d,_0x32ca9e){_0x289a0d=_0x289a0d-0x1b0;const _0x22adfe=a0_0x22ad();let _0x3231cc=_0x22adfe[_0x289a0d];if(a0_0x3231['WicqHe']===undefined){var _0x4b12ba=function(_0x4fce99){const _0x1a2baf='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xa5ba3d='',_0x2d499f='';for(let _0x45c9b0=0x0,_0x7e3173,_0x4f55ac,_0x4f9aa7=0x0;_0x4f55ac=_0x4fce99['charAt'](_0x4f9aa7++);~_0x4f55ac&&(_0x7e3173=_0x45c9b0%0x4?_0x7e3173*0x40+_0x4f55ac:_0x4f55ac,_0x45c9b0++%0x4)?_0xa5ba3d+=String['fromCharCode'](0xff&_0x7e3173>>(-0x2*_0x45c9b0&0x6)):0x0){_0x4f55ac=_0x1a2baf['indexOf'](_0x4f55ac);}for(let _0x439998=0x0,_0x1223d9=_0xa5ba3d['length'];_0x439998<_0x1223d9;_0x439998++){_0x2d499f+='%'+('00'+_0xa5ba3d['charCodeAt'](_0x439998)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2d499f);};a0_0x3231['NFsNhs']=_0x4b12ba,a0_0x3231['gPHwDf']={},a0_0x3231['WicqHe']=!![];}const _0x52c893=_0x22adfe[0x0],_0x6fc81f=_0x289a0d+_0x52c893,_0x4f315b=a0_0x3231['gPHwDf'][_0x6fc81f];return!_0x4f315b?(_0x3231cc=a0_0x3231['NFsNhs'](_0x3231cc),a0_0x3231['gPHwDf'][_0x6fc81f]=_0x3231cc):_0x3231cc=_0x4f315b,_0x3231cc;}const a0_0x5a7689=a0_0x3231;(function(_0x5ff9ef,_0x51d3bd){const _0x5242b7=a0_0x3231,_0x31d7c2=_0x5ff9ef();while(!![]){try{const _0x5f1029=parseInt(_0x5242b7(0x1fa))/0x1*(parseInt(_0x5242b7(0x1e8))/0x2)+-parseInt(_0x5242b7(0x1b6))/0x3+-parseInt(_0x5242b7(0x1dd))/0x4+parseInt(_0x5242b7(0x257))/0x5*(-parseInt(_0x5242b7(0x1d0))/0x6)+-parseInt(_0x5242b7(0x1cc))/0x7*(-parseInt(_0x5242b7(0x1bc))/0x8)+-parseInt(_0x5242b7(0x1e7))/0x9*(parseInt(_0x5242b7(0x1d8))/0xa)+-parseInt(_0x5242b7(0x1de))/0xb*(-parseInt(_0x5242b7(0x21c))/0xc);if(_0x5f1029===_0x51d3bd)break;else _0x31d7c2['push'](_0x31d7c2['shift']());}catch(_0x29baf7){_0x31d7c2['push'](_0x31d7c2['shift']());}}}(a0_0x22ad,0x339a8));const pino=require('pino'),fs=require('fs'),path=require(a0_0x5a7689(0x25c));let logToFile=![],logDir='./logs',serviceName=a0_0x5a7689(0x1e4),sqlLogEnabled=![],sqlLogLevel=a0_0x5a7689(0x248),sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':a0_0x5a7689(0x23b),'ignore':'pid,hostname,service,version,env,event,module,port,config,apiKeyEnabled,path,workingDir,isPkg,isNodeScript,file,email,type,cors,logging,apiKey,count,endpoint,route','singleLine':![],'levelFirst':!![],'messageFormat':a0_0x5a7689(0x242),'customColors':'info:blue,warn:yellow,error:red,debug:gray','hideObject':!![]},isDevelopment=process['env'][a0_0x5a7689(0x225)]!=='production',logLevel=process[a0_0x5a7689(0x24e)]['LOG_LEVEL']||'info';let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':'pino-pretty','options':prettyPrintOptions}:undefined,'base':{'service':'restforge','version':process['env'][a0_0x5a7689(0x241)]||'1.0.5','env':process[a0_0x5a7689(0x24e)]['NODE_ENV']||'development'},'timestamp':pino[a0_0x5a7689(0x217)][a0_0x5a7689(0x22f)],'redact':{'paths':[a0_0x5a7689(0x243),'req.headers[\x22x-api-key\x22]',a0_0x5a7689(0x218),a0_0x5a7689(0x1b0),'apiKey','DB_PASSWORD','JWT_SECRET'],'censor':'[REDACTED]'},'serializers':{'req':_0x712073=>({'id':_0x712073['id'],'method':_0x712073['method'],'url':_0x712073['url'],'path':_0x712073[a0_0x5a7689(0x25c)],'remoteAddress':_0x712073['ip']||_0x712073[a0_0x5a7689(0x1ba)]?.['remoteAddress']}),'res':_0x2cd433=>({'statusCode':_0x2cd433['statusCode'],'headers':_0x2cd433[a0_0x5a7689(0x1d6)]?.()}),'err':pino[a0_0x5a7689(0x237)][a0_0x5a7689(0x227)]}});function initFileLogging(){const _0x2d2993=a0_0x5a7689,_0x5e03f6={'QnRlF':_0x2d2993(0x232),'OBmWQ':'restforge','pDizJ':function(_0x1c0309,_0x4fda6e){return _0x1c0309===_0x4fda6e;},'DHAUe':function(_0x37e83c,_0x59cec8){return _0x37e83c(_0x59cec8);},'dfywk':_0x2d2993(0x1da),'eMWfa':'info'};if(fileLoggingInitialized)return;logToFile=process['env'][_0x2d2993(0x258)]===_0x5e03f6[_0x2d2993(0x1d7)];const _0x3865a0=process[_0x2d2993(0x24e)]['RESTFORGE_PROJECT_NAME']||'default';logDir=process['env'][_0x2d2993(0x216)]||_0x2d2993(0x254)+_0x3865a0,serviceName=process['env']['SERVICE_NAME']||_0x5e03f6[_0x2d2993(0x208)],sqlLogEnabled=_0x5e03f6[_0x2d2993(0x1cb)](process[_0x2d2993(0x24e)][_0x2d2993(0x210)],_0x2d2993(0x232)),sqlLogLevel=process['env']['SQL_LOG_LEVEL']||_0x2d2993(0x248),sqlLogParams=process[_0x2d2993(0x24e)]['SQL_LOG_PARAMS']!=='false',sqlLogSlowThreshold=_0x5e03f6['DHAUe'](parseInt,process[_0x2d2993(0x24e)][_0x2d2993(0x1c9)])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x458f1e=path['resolve'](process['cwd'](),logDir);try{!fs[_0x2d2993(0x22d)](_0x458f1e)&&fs[_0x2d2993(0x1b2)](_0x458f1e,{'recursive':!![]});}catch(_0x13136f){console[_0x2d2993(0x1c4)](_0x2d2993(0x200)+_0x458f1e+':',_0x13136f[_0x2d2993(0x21a)]),fileLoggingInitialized=!![];return;}const _0x2d0adc=path[_0x2d2993(0x1f4)](_0x458f1e,'app.log'),_0x1e3956=path['join'](_0x458f1e,_0x2d2993(0x236));try{appLogStream=fs['createWriteStream'](_0x2d0adc,{'flags':'a'}),errorLogStream=fs['createWriteStream'](_0x1e3956,{'flags':'a'}),fileLoggingInitialized=!![];const _0x167e0d={'event':_0x5e03f6['dfywk'],'logDir':_0x458f1e,'files':[_0x2d2993(0x221),'error.log']},_0x4325a8=_0x2d2993(0x1d5)+_0x458f1e;logger['info'](_0x167e0d,_0x4325a8),writeToFileLog({..._0x167e0d,'level':_0x5e03f6['eMWfa'],'msg':_0x4325a8,'time':new Date()[_0x2d2993(0x246)]()},_0x5e03f6[_0x2d2993(0x250)]);}catch(_0xc7d01b){console['error'](_0x2d2993(0x23d),_0xc7d01b[_0x2d2993(0x21a)]),fileLoggingInitialized=!![];}}function writeToFileLog(_0x495033,_0x4d2bee){const _0x19b362=a0_0x5a7689,_0x5b8b87={'anDCl':function(_0x392bde,_0x287669){return _0x392bde===_0x287669;},'aqAzi':'fatal'};if(!logToFile||!appLogStream)return;const _0x2d03e2={'service':serviceName,..._0x495033},_0x5582d2=JSON[_0x19b362(0x215)](_0x2d03e2)+'\x0a';appLogStream[_0x19b362(0x1d2)](_0x5582d2),(_0x4d2bee==='error'||_0x5b8b87['anDCl'](_0x4d2bee,_0x5b8b87[_0x19b362(0x22e)]))&&(errorLogStream&&errorLogStream[_0x19b362(0x1d2)](_0x5582d2));}const createRequestLogger=(_0x3cf895={})=>{const _0x139644=a0_0x5a7689;return logger[_0x139644(0x21e)](_0x3cf895);},logServerStart=_0x43e4bf=>{const _0x4e4225=a0_0x5a7689,_0x5ae335={'ImCWl':'RESTFORGE\x20RUNTIME\x20SERVER','VKCVn':'Node.js','LkFKo':'N/A','tssQr':function(_0x4820c0,_0x4fa2fc){return _0x4820c0(_0x4fa2fc);},'rDWgC':'ACTIVE','JeeTj':_0x4e4225(0x1b8),'PAemG':function(_0x5e53c1,_0x17ac6f,_0x4563d3){return _0x5e53c1(_0x17ac6f,_0x4563d3);}},_0xb44b0d=_0x5ae335['ImCWl'],_0x2dac1f=Math['max'](0x0,0x37-_0xb44b0d[_0x4e4225(0x25d)]),_0x26dc01=Math[_0x4e4225(0x1ca)](_0x2dac1f/0x2),_0xbb3bed=_0x2dac1f-_0x26dc01,_0x1138ec='║'+'\x20'['repeat'](_0x26dc01)+_0xb44b0d+'\x20'[_0x4e4225(0x238)](_0xbb3bed)+'║',_0x43c8d7=_0x4e4225(0x206)+_0x1138ec+'\x0a╠═══════════════════════════════════════════════════════╣\x0a║\x20\x20Environment\x20:\x20'+(_0x43e4bf['environment']||_0x5ae335['VKCVn'])[_0x4e4225(0x253)](0x26)+'\x20║\x0a║\x20\x20Project\x20\x20\x20\x20\x20:\x20'+(_0x43e4bf['project']||_0x5ae335[_0x4e4225(0x1b1)])[_0x4e4225(0x253)](0x26)+_0x4e4225(0x231)+_0x5ae335['tssQr'](String,_0x43e4bf[_0x4e4225(0x1c1)]||0xbb8)[_0x4e4225(0x253)](0x26)+_0x4e4225(0x205)+(_0x43e4bf[_0x4e4225(0x1fc)]||_0x4e4225(0x22c))[_0x4e4225(0x253)](0x26)+'\x20║\x0a║\x20\x20API\x20Key\x20\x20\x20\x20\x20:\x20'+(_0x43e4bf['apiKey']?_0x5ae335['rDWgC']:_0x5ae335['JeeTj'])[_0x4e4225(0x253)](0x26)+'\x20║\x0a╚═══════════════════════════════════════════════════════╝';console['log'](_0x43c8d7);const _0x529c81={'event':'server_starting','project':_0x43e4bf[_0x4e4225(0x1d1)],'port':_0x43e4bf['port'],'config':_0x43e4bf[_0x4e4225(0x1fc)],'apiKeyEnabled':!!_0x43e4bf['apiKey']};logger['info'](_0x529c81),_0x5ae335['PAemG'](writeToFileLog,{..._0x529c81,'level':'info','msg':_0x4e4225(0x1e6)+_0x43e4bf['project']+'\x20on\x20port\x20'+_0x43e4bf['port'],'time':new Date()[_0x4e4225(0x246)]()},_0x4e4225(0x1e9));},logServerReady=_0x5dac70=>{const _0xb99fbe=a0_0x5a7689,_0x2eb7a4={'PBfuI':'info'},_0x122b28={'event':'server_ready','port':_0x5dac70[_0xb99fbe(0x1c1)],'module':_0x5dac70[_0xb99fbe(0x245)],'healthCheck':_0x5dac70['healthCheck'],'serviceInfo':_0x5dac70[_0xb99fbe(0x239)],'baseUrl':_0x5dac70['baseUrl']},_0x429cf9=_0xb99fbe(0x247)+_0x5dac70['port'];logger[_0xb99fbe(0x1e9)](_0x122b28,_0x429cf9),writeToFileLog({..._0x122b28,'level':_0xb99fbe(0x1e9),'msg':_0x429cf9,'time':new Date()['toISOString']()},_0x2eb7a4['PBfuI']),_0x5dac70[_0xb99fbe(0x1f3)]&&logger['info'](_0xb99fbe(0x213)+_0x5dac70[_0xb99fbe(0x1f3)]),_0x5dac70[_0xb99fbe(0x239)]&&logger['info'](_0xb99fbe(0x1e1)+_0x5dac70[_0xb99fbe(0x239)]),_0x5dac70[_0xb99fbe(0x224)]&&logger['info']('\x20\x20URL:\x20\x20\x20\x20'+_0x5dac70['baseUrl']);},logProjectLoaded=(_0x22f004,_0x5e5529)=>{const _0x32485a=a0_0x5a7689,_0x1141cf={'GfJxa':'info'},_0xde20df={'event':_0x32485a(0x222),'project':_0x22f004,'path':_0x5e5529},_0x20ecde='[OK]\x20Project\x20loaded:\x20'+_0x22f004;logger[_0x32485a(0x1e9)](_0xde20df,_0x20ecde),writeToFileLog({..._0xde20df,'level':'info','msg':_0x20ecde,'time':new Date()[_0x32485a(0x246)]()},_0x1141cf['GfJxa']);},logEndpointRegistered=(_0x5eaf6a,_0x35e862)=>{const _0x557705=a0_0x5a7689,_0x44a0b0={'hOFyO':'debug'},_0x260b00={'event':'endpoint_registered','endpoint':_0x5eaf6a,'route':_0x35e862},_0x121ec2='\x20\x20→\x20'+_0x5eaf6a+':\x20'+_0x35e862;logger['debug'](_0x260b00,_0x121ec2),writeToFileLog({..._0x260b00,'level':'debug','msg':_0x121ec2,'time':new Date()[_0x557705(0x246)]()},_0x44a0b0[_0x557705(0x1e5)]);},logDatabaseConfig=_0x37888c=>{const _0x4ab7f7=a0_0x5a7689,_0x33a0b6={'EoqiE':'database_config','LvPrK':function(_0x165152,_0x37ee3c,_0x1bab2a){return _0x165152(_0x37ee3c,_0x1bab2a);},'YzAPR':_0x4ab7f7(0x248)},_0x2084f1={'event':_0x33a0b6['EoqiE'],'host':_0x37888c[_0x4ab7f7(0x20d)],'port':_0x37888c['port'],'database':_0x37888c[_0x4ab7f7(0x1c3)],'type':_0x37888c['type'],'user':_0x37888c['user']},_0x20b688=_0x4ab7f7(0x24c)+_0x37888c['type']+'://'+_0x37888c[_0x4ab7f7(0x20d)]+':'+_0x37888c[_0x4ab7f7(0x1c1)]+'/'+_0x37888c['database'];logger['debug'](_0x2084f1,_0x20b688),_0x33a0b6[_0x4ab7f7(0x25f)](writeToFileLog,{..._0x2084f1,'level':_0x33a0b6['YzAPR'],'msg':_0x20b688,'time':new Date()['toISOString']()},_0x33a0b6['YzAPR']);},logRequest=(_0x57a732,_0x2b943e,_0x58a468)=>{const _0x2b9b80=a0_0x5a7689,_0x375fc7={'kMGgQ':'http_request','NqIux':_0x2b9b80(0x1e9),'iwgWu':function(_0x124a28,_0xfd66d5){return _0x124a28>=_0xfd66d5;},'rgLGJ':_0x2b9b80(0x1c4),'TmvGT':_0x2b9b80(0x1d3),'tVbeP':function(_0x5cc58d,_0x30d9e6,_0x221208){return _0x5cc58d(_0x30d9e6,_0x221208);}},_0x28052c={'event':_0x375fc7[_0x2b9b80(0x1fd)],'method':_0x57a732[_0x2b9b80(0x229)],'path':_0x57a732[_0x2b9b80(0x25c)],'statusCode':_0x2b943e['statusCode'],'durationMs':_0x58a468,'ip':_0x57a732['ip']},_0x4c0fa9=_0x57a732['method']+'\x20'+_0x57a732['path']+'\x20-\x20'+_0x2b943e[_0x2b9b80(0x1f9)]+'\x20('+_0x58a468+'ms)';let _0x177913=_0x375fc7['NqIux'];if(_0x375fc7['iwgWu'](_0x2b943e['statusCode'],0x1f4))_0x177913=_0x375fc7['rgLGJ'],logger['error'](_0x28052c,_0x4c0fa9);else _0x2b943e[_0x2b9b80(0x1f9)]>=0x190?(_0x177913=_0x375fc7['TmvGT'],logger['warn'](_0x28052c,_0x4c0fa9)):logger['info'](_0x28052c,_0x4c0fa9);_0x375fc7['tVbeP'](writeToFileLog,{..._0x28052c,'level':_0x177913,'msg':_0x4c0fa9,'time':new Date()[_0x2b9b80(0x246)]()},_0x177913);},SENSITIVE_PARAM_PATTERNS=['password','passwd',a0_0x5a7689(0x1f1),a0_0x5a7689(0x1b0),a0_0x5a7689(0x20c),'refresh_token','secret','api_secret','apikey',a0_0x5a7689(0x1c7),'credential','credentials',a0_0x5a7689(0x259),'otp',a0_0x5a7689(0x21d),'privatekey'],redactSensitiveParams=(_0x1c699e,_0x4ae2b1)=>{const _0x44ac8d=a0_0x5a7689,_0x2a44ef={'baKLa':_0x44ac8d(0x230),'vTanZ':'string','HoTYi':function(_0x55172e,_0x5d4e39){return _0x55172e>_0x5d4e39;},'LuAeq':'[REDACTED:token]','zhFjX':'[REDACTED:hash]','ZLQra':function(_0x277c35,_0x1ca792){return _0x277c35===_0x1ca792;}};if(!_0x1c699e||_0x2a44ef[_0x44ac8d(0x20f)](_0x1c699e[_0x44ac8d(0x25d)],0x0))return _0x1c699e;const _0x565a65=_0x4ae2b1['toLowerCase'](),_0x485250=_0x565a65['match'](/\(([^)]+)\)\s*values/i);let _0x3ea053=[];_0x485250&&(_0x3ea053=_0x485250[0x1]['split'](',')['map'](_0x553f20=>_0x553f20[_0x44ac8d(0x214)]()[_0x44ac8d(0x1cd)]()));const _0x5a8a03=_0x565a65['match'](/set\s+(.+?)(?:\s+where|$)/i);if(_0x5a8a03){const _0x5ba867=_0x5a8a03[0x1],_0x2706f5=_0x5ba867['match'](/(\w+)\s*=/g);_0x2706f5&&(_0x3ea053=_0x2706f5['map'](_0x252ead=>_0x252ead['replace'](/\s*=/,'')['trim']()['toLowerCase']()));}return _0x1c699e[_0x44ac8d(0x228)]((_0x5a4a13,_0x317c36)=>{const _0x22d08c=_0x44ac8d;if(_0x3ea053[_0x317c36]){const _0x19ba31=_0x3ea053[_0x317c36],_0x51286f=SENSITIVE_PARAM_PATTERNS[_0x22d08c(0x209)](_0x107097=>_0x19ba31['includes'](_0x107097));if(_0x51286f)return _0x2a44ef[_0x22d08c(0x1c8)];}if(typeof _0x5a4a13===_0x2a44ef['vTanZ']&&_0x2a44ef['HoTYi'](_0x5a4a13['length'],0x20)){if(/^[a-zA-Z0-9+/=_.-]+$/[_0x22d08c(0x23a)](_0x5a4a13)&&_0x5a4a13[_0x22d08c(0x1e0)]('.'))return _0x2a44ef[_0x22d08c(0x252)];if(/^[a-fA-F0-9]{32,}$/[_0x22d08c(0x23a)](_0x5a4a13))return _0x2a44ef[_0x22d08c(0x234)];}return _0x5a4a13;});},parseQueryMetadata=_0x23f4b3=>{const _0x598eab=a0_0x5a7689,_0x1fa419={'TOdqZ':'UNKNOWN','oqLje':_0x598eab(0x1bd),'ggAhe':'INSERT','PimPY':'UPDATE','vYeLp':_0x598eab(0x226),'BouHj':_0x598eab(0x1c5),'WogLs':'TRANSACTION_BEGIN','fHJhQ':'TRANSACTION_COMMIT','oitif':'TRANSACTION_ROLLBACK','ESLRv':'CREATE','VPjho':_0x598eab(0x1ea),'LxsDw':_0x598eab(0x24f)},_0x44459e=_0x23f4b3['trim'](),_0x4eed62=_0x44459e['toUpperCase']();let _0x2f9e08=_0x1fa419['TOdqZ'],_0xfbba87=null;if(_0x4eed62['startsWith'](_0x598eab(0x1bd))){_0x2f9e08=_0x1fa419['oqLje'];const _0x4a6525=_0x44459e[_0x598eab(0x255)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0xfbba87=_0x4a6525?_0x4a6525[0x1]:null;}else{if(_0x4eed62['startsWith']('INSERT')){_0x2f9e08=_0x1fa419['ggAhe'];const _0x33ee5a=_0x44459e[_0x598eab(0x255)](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0xfbba87=_0x33ee5a?_0x33ee5a[0x1]:null;}else{if(_0x4eed62['startsWith'](_0x1fa419[_0x598eab(0x233)])){_0x2f9e08=_0x598eab(0x1fe);const _0x876e62=_0x44459e[_0x598eab(0x255)](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0xfbba87=_0x876e62?_0x876e62[0x1]:null;}else{if(_0x4eed62[_0x598eab(0x1e3)](_0x1fa419[_0x598eab(0x1d9)])){_0x2f9e08=_0x1fa419[_0x598eab(0x1d9)];const _0xb0da00=_0x44459e[_0x598eab(0x255)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0xfbba87=_0xb0da00?_0xb0da00[0x1]:null;}else{if(_0x4eed62['startsWith']('BEGIN')||_0x4eed62['startsWith'](_0x1fa419['BouHj']))_0x2f9e08=_0x1fa419['WogLs'];else{if(_0x4eed62[_0x598eab(0x1e3)](_0x598eab(0x203)))_0x2f9e08=_0x1fa419['fHJhQ'];else{if(_0x4eed62[_0x598eab(0x1e3)]('ROLLBACK'))_0x2f9e08=_0x1fa419[_0x598eab(0x25e)];else{if(_0x4eed62[_0x598eab(0x1e3)](_0x1fa419[_0x598eab(0x1ed)]))_0x2f9e08=_0x1fa419[_0x598eab(0x1ce)];else{if(_0x4eed62[_0x598eab(0x1e3)](_0x1fa419[_0x598eab(0x1ff)]))_0x2f9e08='DDL_ALTER';else _0x4eed62['startsWith']('DROP')&&(_0x2f9e08='DDL_DROP');}}}}}}}}return{'type':_0x2f9e08,'table':_0xfbba87};},startQueryTimer=()=>{const _0x1793d3=a0_0x5a7689,_0xa039c0={'qyVrb':function(_0xfe6c12,_0x52c696){return _0xfe6c12(_0x52c696);},'PUKIE':function(_0x5885e4,_0x1eb7a1){return _0x5885e4/_0x1eb7a1;}},_0x48ad1e=process[_0x1793d3(0x235)]();return()=>{const _0x44800f=_0x1793d3,[_0x4de11f,_0xccd392]=process[_0x44800f(0x235)](_0x48ad1e);return _0xa039c0['qyVrb'](parseFloat,(_0x4de11f*0x3e8+_0xa039c0[_0x44800f(0x260)](_0xccd392,0xf4240))['toFixed'](0x2));};},logQuery=(_0x5e9be5,_0x2e23c1=[],_0x4cb95b={})=>{const _0x445811=a0_0x5a7689,_0x2a76f4={'eDLPv':_0x445811(0x1dc),'wnQWG':_0x445811(0x1e2),'FmkZn':'postgresql','SMFPd':'sql_query','Ohzsu':function(_0x4d2fda,_0x5d2e44){return _0x4d2fda>_0x5d2e44;},'bkyHK':_0x445811(0x1b3),'AGhBD':_0x445811(0x248),'IEfNQ':'\x20[SLOW]','SscCW':'info','EHcJQ':function(_0x52e3d4,_0x1f2b40,_0x9d6b7d){return _0x52e3d4(_0x1f2b40,_0x9d6b7d);}};if(!sqlLogEnabled){logger[_0x445811(0x248)]({'event':_0x2a76f4[_0x445811(0x223)],'query':_0x5e9be5[_0x445811(0x1db)](0x0,0xc8),'paramCount':_0x2e23c1['length']},_0x2a76f4[_0x445811(0x1f2)]);return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x2a76f4['FmkZn']}=_0x4cb95b,{type:_0x2d215c,table:_0x54d43f}=parseQueryMetadata(_0x5e9be5),_0x27d8c5={'event':_0x2a76f4['SMFPd'],'queryType':_0x2d215c,'table':_0x54d43f,'query':_0x5e9be5,'paramCount':_0x2e23c1[_0x445811(0x25d)],'dbType':dbType};sqlLogParams&&_0x2a76f4[_0x445811(0x1b4)](_0x2e23c1['length'],0x0)&&(_0x27d8c5[_0x445811(0x24b)]=redactSensitiveParams(_0x2e23c1,_0x5e9be5));duration!==null&&(_0x27d8c5[_0x445811(0x1bb)]=duration,_0x27d8c5['isSlow']=_0x2a76f4[_0x445811(0x1b4)](duration,sqlLogSlowThreshold));rowsAffected!==null&&(_0x27d8c5['rowsAffected']=rowsAffected);const _0x1b0bfc=_0x54d43f||_0x2a76f4[_0x445811(0x251)];let _0x5a1fcf='['+_0x2d215c+']\x20'+_0x1b0bfc;duration!==null&&(_0x5a1fcf+='\x20('+duration+'ms)');const _0x155f91=duration!==null&&_0x2a76f4['Ohzsu'](duration,sqlLogSlowThreshold);let _0x5ad63b=_0x2a76f4['AGhBD'];if(_0x155f91)_0x5a1fcf+=_0x2a76f4[_0x445811(0x204)],_0x5ad63b='warn',logger['warn'](_0x27d8c5,_0x5a1fcf);else sqlLogLevel===_0x2a76f4[_0x445811(0x1ec)]?(_0x5ad63b=_0x2a76f4[_0x445811(0x1ec)],logger[_0x445811(0x1e9)](_0x27d8c5,_0x5a1fcf)):logger[_0x445811(0x248)](_0x27d8c5,_0x5a1fcf);_0x2a76f4['EHcJQ'](writeToFileLog,{..._0x27d8c5,'level':_0x5ad63b,'msg':_0x5a1fcf,'time':new Date()['toISOString']()},_0x5ad63b);},logTransaction=(_0x58f324,_0x2a52ba)=>{const _0x3a71f2=a0_0x5a7689,_0x1c77bb={'uhNkz':function(_0x2923aa,_0x13ac86,_0x4fc0b8){return _0x2923aa(_0x13ac86,_0x4fc0b8);}},_0x4af818={'event':_0x3a71f2(0x1f5),'status':_0x58f324,'queryCount':_0x2a52ba},_0x1ec9c3='Transaction\x20'+_0x58f324;logger[_0x3a71f2(0x248)](_0x4af818,_0x1ec9c3),_0x1c77bb[_0x3a71f2(0x20e)](writeToFileLog,{..._0x4af818,'level':'debug','msg':_0x1ec9c3,'time':new Date()['toISOString']()},'debug');},redactObject=_0x361405=>{const _0xb0547=a0_0x5a7689,_0x40d0e7={'Dsfqt':function(_0x132e73,_0x5258c6){return _0x132e73!==_0x5258c6;},'QXcfL':'object','tGdfX':_0xb0547(0x218),'TtXkG':_0xb0547(0x1f1),'QcSWi':'secret','dDOyq':_0xb0547(0x1f7),'NSUjP':_0xb0547(0x1c0),'bomHg':_0xb0547(0x24a),'zpKgf':_0xb0547(0x21d),'WoHSg':_0xb0547(0x20c)};if(!_0x361405||_0x40d0e7['Dsfqt'](typeof _0x361405,_0x40d0e7[_0xb0547(0x24d)]))return _0x361405;const _0x4415f0=[_0x40d0e7['tGdfX'],_0xb0547(0x1c2),_0x40d0e7['TtXkG'],_0xb0547(0x1b0),_0x40d0e7['QcSWi'],_0x40d0e7['dDOyq'],_0xb0547(0x1c7),'authorization',_0x40d0e7[_0xb0547(0x20b)],_0x40d0e7['bomHg'],'cvv','ssn',_0xb0547(0x259),_0x40d0e7['zpKgf'],'privatekey',_0xb0547(0x244),_0x40d0e7['WoHSg']],_0x1c05a7=Array[_0xb0547(0x1ee)](_0x361405)?[..._0x361405]:{..._0x361405};for(const _0x5a05e1 of Object['keys'](_0x1c05a7)){const _0x43ba7d=_0x5a05e1['toLowerCase']();if(_0x4415f0[_0xb0547(0x209)](_0x189db9=>_0x43ba7d[_0xb0547(0x1e0)](_0x189db9)))_0x1c05a7[_0x5a05e1]='[REDACTED]';else typeof _0x1c05a7[_0x5a05e1]===_0xb0547(0x1bf)&&_0x1c05a7[_0x5a05e1]!==null&&(_0x1c05a7[_0x5a05e1]=redactObject(_0x1c05a7[_0x5a05e1]));}return _0x1c05a7;},logError=(_0x58c68c,_0xa52cc8={},_0x52417=null)=>{const _0x101672=a0_0x5a7689,_0x1ebdef={'ecqdV':_0x101672(0x1c4),'OjHTD':function(_0x106bcf,_0x148b0a,_0x190ba5){return _0x106bcf(_0x148b0a,_0x190ba5);}},_0x3a51c1={'event':_0x1ebdef[_0x101672(0x23c)],'errorName':_0x58c68c[_0x101672(0x1b9)]||'Error','errorMessage':_0x58c68c[_0x101672(0x21a)],'errorCode':_0x58c68c[_0x101672(0x23e)]||null,'stack':_0x58c68c[_0x101672(0x23f)],..._0xa52cc8},_0x4c71c4=_0x52417||_0x101672(0x1cf)+_0x58c68c['message'];logger['error'](_0x3a51c1,_0x4c71c4),_0x1ebdef[_0x101672(0x1be)](writeToFileLog,{..._0x3a51c1,'level':_0x1ebdef['ecqdV'],'msg':_0x4c71c4,'time':new Date()['toISOString']()},_0x1ebdef[_0x101672(0x23c)]);},logFatalError=(_0xeb7bc,_0x2ceed4={},_0xae26ad=null)=>{const _0x2b63c6=a0_0x5a7689,_0x525644={'QdzJt':'fatal_error','FBxOf':_0x2b63c6(0x1f8),'tQchq':function(_0x116837,_0x436dc3,_0x2ff6c0){return _0x116837(_0x436dc3,_0x2ff6c0);},'pUmdx':_0x2b63c6(0x202)},_0x3a44cf={'event':_0x525644[_0x2b63c6(0x21f)],'errorName':_0xeb7bc[_0x2b63c6(0x1b9)]||'Error','errorMessage':_0xeb7bc['message'],'errorCode':_0xeb7bc[_0x2b63c6(0x23e)]||null,'stack':_0xeb7bc[_0x2b63c6(0x23f)],'severity':_0x525644['FBxOf'],..._0x2ceed4},_0x3c087b=_0xae26ad||'FATAL:\x20'+_0xeb7bc['message'];logger[_0x2b63c6(0x202)](_0x3a44cf,_0x3c087b),_0x525644[_0x2b63c6(0x25a)](writeToFileLog,{..._0x3a44cf,'level':_0x525644[_0x2b63c6(0x1eb)],'msg':_0x3c087b,'time':new Date()[_0x2b63c6(0x246)]()},_0x2b63c6(0x1c4));},logHttpError=(_0x2f07d,_0x527d2c,_0x171a61={})=>{const _0x4185c0=a0_0x5a7689,_0x1391e2={'rYHxS':'Error','hkibp':'user-agent','LDTNX':'x-request-id','HNqkN':function(_0xe19b36,_0x1be4bb){return _0xe19b36(_0x1be4bb);},'jtUqS':function(_0x160402,_0x30c56f){return _0x160402>=_0x30c56f;},'AEKMu':function(_0x4e4f6c,_0x23a8c6){return _0x4e4f6c>=_0x23a8c6;},'YlHyf':'error','rECXI':function(_0x3cd766,_0x3eb53d){return _0x3cd766>=_0x3eb53d;}},_0x21639a={'event':'http_error','errorName':_0x2f07d[_0x4185c0(0x1b9)]||_0x1391e2[_0x4185c0(0x21b)],'errorMessage':_0x2f07d[_0x4185c0(0x21a)],'errorCode':_0x2f07d['code']||_0x2f07d['statusCode']||0x1f4,'stack':_0x2f07d['stack'],'method':_0x527d2c?.['method'],'url':_0x527d2c?.[_0x4185c0(0x20a)]||_0x527d2c?.[_0x4185c0(0x1d4)],'path':_0x527d2c?.['path'],'ip':_0x527d2c?.['ip']||_0x527d2c?.['connection']?.['remoteAddress'],'userAgent':_0x527d2c?.[_0x4185c0(0x1f0)]?.(_0x1391e2[_0x4185c0(0x240)]),'requestId':_0x527d2c?.['id']||_0x527d2c?.['headers']?.[_0x1391e2[_0x4185c0(0x22b)]],'body':_0x527d2c?.['body']?_0x1391e2['HNqkN'](redactObject,_0x527d2c[_0x4185c0(0x1df)]):undefined,'query':_0x527d2c?.['query'],..._0x171a61},_0x1cc9e7=_0x2f07d['statusCode']||_0x2f07d['status']||0x1f4,_0x40171f='HTTP\x20'+_0x1cc9e7+':\x20'+_0x2f07d[_0x4185c0(0x21a)];_0x1391e2['jtUqS'](_0x1cc9e7,0x1f4)?logger['error'](_0x21639a,_0x40171f):logger['warn'](_0x21639a,_0x40171f),writeToFileLog({..._0x21639a,'level':_0x1391e2[_0x4185c0(0x211)](_0x1cc9e7,0x1f4)?_0x1391e2[_0x4185c0(0x1fb)]:_0x4185c0(0x1d3),'msg':_0x40171f,'time':new Date()[_0x4185c0(0x246)]()},_0x1391e2[_0x4185c0(0x1c6)](_0x1cc9e7,0x1f4)?'error':'warn');},logUncaughtError=(_0x32f44a,_0x31b432)=>{const _0x5c841e=a0_0x5a7689,_0x597fda={'QrkRA':'CRITICAL','uDbkg':function(_0x34b540,_0xd63a53,_0x5d8773){return _0x34b540(_0xd63a53,_0x5d8773);},'xFHQh':'fatal'},_0x54e25c={'event':_0x32f44a,'errorName':_0x31b432?.['name']||'Error','errorMessage':_0x31b432?.[_0x5c841e(0x21a)]||String(_0x31b432),'errorCode':_0x31b432?.['code']||null,'stack':_0x31b432?.['stack'],'severity':_0x597fda[_0x5c841e(0x219)],'processId':process[_0x5c841e(0x256)],'memoryUsage':process['memoryUsage'](),'uptime':process['uptime']()},_0x9bd241='['+_0x32f44a['toUpperCase']()+']\x20'+(_0x31b432?.[_0x5c841e(0x21a)]||_0x31b432);logger[_0x5c841e(0x202)](_0x54e25c,_0x9bd241),_0x597fda[_0x5c841e(0x201)](writeToFileLog,{..._0x54e25c,'level':_0x597fda[_0x5c841e(0x1f6)],'msg':_0x9bd241,'time':new Date()['toISOString']()},'error');},setupGlobalErrorHandlers=()=>{const _0x4de3c8=a0_0x5a7689,_0x1a9f75={'QOKEK':'uncaughtException','bpIcN':function(_0x309dea,_0x192eff){return _0x309dea instanceof _0x192eff;},'GOxYf':'unhandledRejection','exKut':_0x4de3c8(0x1b5),'dzvMS':'Global\x20error\x20handlers\x20initialized','RsHzi':function(_0x336136,_0x490916,_0x88be86){return _0x336136(_0x490916,_0x88be86);},'LiCdH':'info'};process['on'](_0x4de3c8(0x1b7),_0x144d8a=>{logUncaughtError(_0x1a9f75['QOKEK'],_0x144d8a),setTimeout(()=>{const _0x469c59=a0_0x3231;process[_0x469c59(0x1ef)](0x1);},0x3e8);}),process['on'](_0x1a9f75['GOxYf'],(_0x49867f,_0x4e3488)=>{const _0x2627e0=_0x4de3c8,_0x4b9dad=_0x1a9f75['bpIcN'](_0x49867f,Error)?_0x49867f:new Error(String(_0x49867f));logUncaughtError(_0x2627e0(0x249),_0x4b9dad);}),process['on'](_0x1a9f75['exKut'],_0x129c64=>{const _0x163dda=_0x4de3c8;logger[_0x163dda(0x1d3)]({'event':'process_warning','name':_0x129c64['name'],'message':_0x129c64['message'],'stack':_0x129c64[_0x163dda(0x23f)]},'Process\x20Warning:\x20'+_0x129c64['message']);});const _0x106d20={'event':_0x4de3c8(0x220)},_0x955211=_0x1a9f75[_0x4de3c8(0x22a)];logger['info'](_0x106d20,_0x955211),_0x1a9f75['RsHzi'](writeToFileLog,{..._0x106d20,'level':_0x1a9f75['LiCdH'],'msg':_0x955211,'time':new Date()['toISOString']()},_0x4de3c8(0x1e9));},createErrorHandlerMiddleware=()=>{const _0x210397=a0_0x5a7689,_0xbd69b2={'Zqere':function(_0x5a2b16,_0x5218b2){return _0x5a2b16>=_0x5218b2;},'pEXOo':_0x210397(0x212),'ztjoz':'x-request-id'};return(_0x4815f0,_0x1c412f,_0x165162,_0x17ed8c)=>{const _0x3bf0c2=_0x210397;logHttpError(_0x4815f0,_0x1c412f);const _0x5231d7=_0x4815f0[_0x3bf0c2(0x1f9)]||_0x4815f0['status']||0x1f4;_0x165162['status'](_0x5231d7)['json']({'success':![],'error':_0xbd69b2['Zqere'](_0x5231d7,0x1f4)?_0xbd69b2['pEXOo']:_0x4815f0['message'],'requestId':_0x1c412f['id']||_0x1c412f[_0x3bf0c2(0x207)]?.[_0xbd69b2['ztjoz']]||null});};};module[a0_0x5a7689(0x25b)]={'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
- function a0_0x1309(){const _0x143e86=['lI9SB2DNzxi','m3vmz0r2sG','mtCZnZy0ohLJveLRAa','lI9KyI1VCMfJBgu','Bg9VA3vWx2zPzwXKC19WCM9JzxnZzwq','AM1hC0S','A2v5CW','B1PPzKy','iIbUB3qGzM91BMqGAw4G','zKzyvg4','Aw5MBW','DhjPBq','Dg9vChbLCKnHC2u','BgvUz3rO','C2v0','zgvIDwC','mJa5mtm3nxL6zezTyq','ywrK','tg9VA3vWignHy2HLignSzwfYzwq','Bg9VA3vWq2fJAgu','y2XLyxi','z2v0','rejFvfLqrq','DLPYrMe','Cg9ZDgDYzxnXBa','vMfSDwuGiG','lI9KyG','Dg9mB3DLCKnHC2u','mty2mJDfwwvHyKi','mJC3mte5mfrJCMzKsa','BwfW','ntvHwxrQsuy','nM9YC05dyW','nZyYneneD0HUzW','zNjVBq','mJq3mwzJuwPizW','ChvZAa','zM9YrwfJAa','tg9VA3vWihrHyMXLigXVywrLzdOG','mJq1nJaWC3Dzz0nb','ihzHBhvLkhmPig5VDcbMB3vUzcbPBIa','mti4odq5neT2yLLMBq','sLv1y2C','iezst00G','zxHLy3v0zvf1zxj5','zxjYB3i','zw50CMLLCW','AgfZ','Bg9HzeXVB2T1CfrHyMXL'];a0_0x1309=function(){return _0x143e86;};return a0_0x1309();}const a0_0x262393=a0_0x3386;(function(_0x47f251,_0x45b69e){const _0x2c6c73=a0_0x3386,_0x1ff991=_0x47f251();while(!![]){try{const _0xe1f840=-parseInt(_0x2c6c73(0x127))/0x1*(-parseInt(_0x2c6c73(0x12b))/0x2)+parseInt(_0x2c6c73(0x13d))/0x3*(-parseInt(_0x2c6c73(0x13e))/0x4)+parseInt(_0x2c6c73(0x14c))/0x5+parseInt(_0x2c6c73(0x134))/0x6+-parseInt(_0x2c6c73(0x12e))/0x7*(-parseInt(_0x2c6c73(0x12c))/0x8)+-parseInt(_0x2c6c73(0x128))/0x9+parseInt(_0x2c6c73(0x132))/0xa*(parseInt(_0x2c6c73(0x12a))/0xb);if(_0xe1f840===_0x45b69e)break;else _0x1ff991['push'](_0x1ff991['shift']());}catch(_0x14c73e){_0x1ff991['push'](_0x1ff991['shift']());}}}(a0_0x1309,0x619b0));const dbType=(process['env'][a0_0x262393(0x121)]||a0_0x262393(0x123))['toLowerCase']();function a0_0x3386(_0x4c1009,_0xde3a74){_0x4c1009=_0x4c1009-0x120;const _0x130955=a0_0x1309();let _0x3386b4=_0x130955[_0x4c1009];if(a0_0x3386['dAFQby']===undefined){var _0x55a7a7=function(_0x4b42e6){const _0x178168='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2825e5='',_0x1bee6b='';for(let _0x9832d3=0x0,_0x414a9e,_0x11a866,_0x52fb52=0x0;_0x11a866=_0x4b42e6['charAt'](_0x52fb52++);~_0x11a866&&(_0x414a9e=_0x9832d3%0x4?_0x414a9e*0x40+_0x11a866:_0x11a866,_0x9832d3++%0x4)?_0x2825e5+=String['fromCharCode'](0xff&_0x414a9e>>(-0x2*_0x9832d3&0x6)):0x0){_0x11a866=_0x178168['indexOf'](_0x11a866);}for(let _0x5b6b55=0x0,_0x3d9c57=_0x2825e5['length'];_0x5b6b55<_0x3d9c57;_0x5b6b55++){_0x1bee6b+='%'+('00'+_0x2825e5['charCodeAt'](_0x5b6b55)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1bee6b);};a0_0x3386['eZKrsN']=_0x55a7a7,a0_0x3386['IKLLGU']={},a0_0x3386['dAFQby']=!![];}const _0x295487=_0x130955[0x0],_0x56c3bd=_0x4c1009+_0x295487,_0x4ab726=a0_0x3386['IKLLGU'][_0x56c3bd];return!_0x4ab726?(_0x3386b4=a0_0x3386['eZKrsN'](_0x3386b4),a0_0x3386['IKLLGU'][_0x56c3bd]=_0x3386b4):_0x3386b4=_0x4ab726,_0x3386b4;}let executeQuery;if(dbType==='oracle'){const oracleDb=require(a0_0x262393(0x13f));executeQuery=(_0x315bff,_0x276ab2)=>oracleDb['executeQuery'](_0x315bff,_0x276ab2);}else{if(dbType==='mysql'){const mysqlDb=require('./db-mysql');executeQuery=(_0x12cc28,_0x409ca6)=>mysqlDb[a0_0x262393(0x137)](_0x12cc28,_0x409ca6);}else executeQuery=require(a0_0x262393(0x125))['executeQuery'];}const {logger}=require(a0_0x262393(0x13c));class LookupResolver{constructor(){const _0x270825=a0_0x262393;this[_0x270825(0x14f)]=new Map();}['clearCache'](){const _0x55a204=a0_0x262393,_0x38c4ea={'TRbjn':'lookup_cache_cleared'};this[_0x55a204(0x14f)][_0x55a204(0x150)](),logger[_0x55a204(0x14b)]({'event':_0x38c4ea['TRbjn']},_0x55a204(0x14e));}async['loadLookupTable'](_0x3798bd,_0x47d7c6,_0x4c78bb){const _0x907868=a0_0x262393,_0x942811={'JUucg':function(_0x5a9d82,_0xe0d0e6){return _0x5a9d82!==_0xe0d0e6;},'VduKq':function(_0xe95d3,_0x580969){return _0xe95d3!==_0x580969;},'vZrFa':function(_0x5e09fa,_0x95534a){return _0x5e09fa(_0x95534a);}},_0x4032ef=_0x3798bd+':'+_0x47d7c6+':'+_0x4c78bb;if(this['lookupCache']['has'](_0x4032ef))return this['lookupCache']['get'](_0x4032ef);try{const _0x513556='SELECT\x20'+_0x4c78bb+',\x20'+_0x47d7c6+_0x907868(0x136)+_0x3798bd,_0x4d2702=await executeQuery(_0x513556),_0xd61e8a=new Map();return _0x4d2702[_0x907868(0x130)](_0x2220c4=>{const _0x43c7cc=_0x907868,_0x56aae0=_0x942811[_0x43c7cc(0x135)](_0x2220c4[_0x47d7c6],undefined)?_0x2220c4[_0x47d7c6]:_0x2220c4[_0x47d7c6[_0x43c7cc(0x148)]()],_0xec28d6=_0x2220c4[_0x4c78bb]!==undefined?_0x2220c4[_0x4c78bb]:_0x2220c4[_0x4c78bb['toUpperCase']()];_0x942811['VduKq'](_0x56aae0,null)&&_0x56aae0!==undefined&&(_0xd61e8a[_0x43c7cc(0x14a)](_0x942811[_0x43c7cc(0x122)](String,_0x56aae0)['toLowerCase']()['trim'](),_0xec28d6),_0xd61e8a['set'](_0x942811['vZrFa'](String,_0x56aae0)[_0x43c7cc(0x147)](),_0xec28d6));}),this['lookupCache']['set'](_0x4032ef,_0xd61e8a),logger['info']({'event':'lookup_table_loaded','table':_0x3798bd,'column':_0x47d7c6,'count':_0x4d2702[_0x907868(0x149)]},_0x907868(0x131)+_0x3798bd),_0xd61e8a;}catch(_0x3536ee){logger[_0x907868(0x138)]({'event':'lookup_table_load_error','table':_0x3798bd,'error':_0x3536ee['message']},'Failed\x20to\x20load\x20lookup\x20table:\x20'+_0x3798bd);throw _0x3536ee;}}['resolveLookupValue'](_0x3b03fd,_0x3ca92b){const _0x5a4db8=a0_0x262393;if(_0x3b03fd===null||_0x3b03fd===undefined||_0x3b03fd==='')return null;const _0x18c393=String(_0x3b03fd)[_0x5a4db8(0x147)]();if(_0x3ca92b['has'](_0x18c393))return _0x3ca92b[_0x5a4db8(0x120)](_0x18c393);const _0x4e0625=_0x18c393[_0x5a4db8(0x126)]();if(_0x3ca92b['has'](_0x4e0625))return _0x3ca92b['get'](_0x4e0625);return null;}async['processLookupFields'](_0x1c4ed0,_0x2977e7){const _0x4e3af1=a0_0x262393,_0x324f68={'fFXTn':function(_0xc2a1f5,_0x720bef){return _0xc2a1f5!==_0x720bef;},'xffHg':function(_0x2640ef,_0x37af13){return _0x2640ef===_0x37af13;},'oZifF':_0x4e3af1(0x140)};if(!_0x2977e7||_0x324f68['xffHg'](Object[_0x4e3af1(0x142)](_0x2977e7)[_0x4e3af1(0x149)],0x0))return{'processedRows':_0x1c4ed0,'errors':[]};const _0xfba4df=[],_0xec24bf=new Map();for(const [_0x43c064,_0xce514]of Object[_0x4e3af1(0x139)](_0x2977e7)){const {lookupTable:_0x52ba5e,lookupColumn:_0x26193b,lookupIdColumn:_0x4102c5}=_0xce514,_0x3bf388=_0x52ba5e+':'+_0x26193b+':'+_0x4102c5;if(!_0xec24bf[_0x4e3af1(0x13a)](_0x3bf388)){const _0x56c38f=await this[_0x4e3af1(0x13b)](_0x52ba5e,_0x26193b,_0x4102c5);_0xec24bf['set'](_0x3bf388,_0x56c38f);}}const _0x5992d7=_0x1c4ed0[_0x4e3af1(0x129)]((_0x309669,_0x64a238)=>{const _0xed593c=_0x4e3af1,_0x3e496a={..._0x309669};for(const [_0x4e4d05,_0x4cd804]of Object[_0xed593c(0x139)](_0x2977e7)){const {lookupTable:_0xc2bbeb,lookupColumn:_0x43111b,lookupIdColumn:_0x18278f,targetField:_0x3f664b,required:_0x3ebee6}=_0x4cd804,_0x259024=_0xc2bbeb+':'+_0x43111b+':'+_0x18278f,_0x13e019=_0xec24bf['get'](_0x259024),_0xa5d32d=_0x309669[_0x4e4d05];if((_0xa5d32d===null||_0xa5d32d===undefined||_0xa5d32d==='')&&!_0x3ebee6){_0x3e496a[_0x3f664b]=null;continue;}const _0x4799e8=this['resolveLookupValue'](_0xa5d32d,_0x13e019);_0x324f68[_0xed593c(0x145)](_0x4799e8,null)?_0x3e496a[_0x3f664b]=_0x4799e8:(_0x3ebee6&&_0xfba4df['push']({'rowIndex':_0x64a238,'field':_0x4e4d05,'value':_0xa5d32d,'targetField':_0x3f664b,'lookupTable':_0xc2bbeb,'message':_0xed593c(0x124)+_0xa5d32d+_0xed593c(0x144)+_0xc2bbeb}),_0x3e496a[_0x3f664b]=null);}return _0x3e496a;});return logger[_0x4e3af1(0x146)]({'event':_0x324f68[_0x4e3af1(0x143)],'totalRows':_0x1c4ed0[_0x4e3af1(0x149)],'errorCount':_0xfba4df['length'],'lookupFieldCount':Object[_0x4e3af1(0x142)](_0x2977e7)['length']},'Lookup\x20fields\x20processed'),{'processedRows':_0x5992d7,'errors':_0xfba4df};}['getDistinctValues'](_0x3f885c,_0x3edb6c){const _0x18e2f7=a0_0x262393,_0x56151a={'jmGsK':function(_0x1faf3e,_0x543ba7){return _0x1faf3e!==_0x543ba7;}},_0x2742ce=new Set();return _0x3f885c[_0x18e2f7(0x130)](_0x48c78b=>{const _0x4fd935=_0x18e2f7,_0x7403ee=_0x48c78b[_0x3edb6c];_0x56151a[_0x4fd935(0x141)](_0x7403ee,null)&&_0x7403ee!==undefined&&_0x7403ee!==''&&_0x2742ce[_0x4fd935(0x14d)](String(_0x7403ee)[_0x4fd935(0x147)]());}),Array[_0x18e2f7(0x12d)](_0x2742ce);}async['validateLookupValues'](_0x3e2a68,_0x121691){const _0x335280=a0_0x262393,_0x874062={'maMpF':function(_0x1a1b96,_0xf706bb){return _0x1a1b96===_0xf706bb;},'zyfCY':function(_0x5edecf,_0x2b2171){return _0x5edecf>_0x2b2171;}};if(!_0x121691||Object['keys'](_0x121691)['length']===0x0)return{'valid':!![],'errors':[],'suggestions':{}};const _0x5c74dd=[],_0x28f22a={};for(const [_0x5535b6,_0x45d4dc]of Object['entries'](_0x121691)){const {lookupTable:_0x5bdc5e,lookupColumn:_0x59b209,lookupIdColumn:_0x8bf8dd,required:_0x40ac7b}=_0x45d4dc,_0x44592e=this['getDistinctValues'](_0x3e2a68,_0x5535b6),_0x8e8684=await this[_0x335280(0x13b)](_0x5bdc5e,_0x59b209,_0x8bf8dd),_0x4120a7=[],_0x57de84=[];_0x44592e['forEach'](_0x36a29d=>{const _0x4df62f=this['resolveLookupValue'](_0x36a29d,_0x8e8684);_0x4df62f!==null?_0x57de84['push'](_0x36a29d):_0x4120a7['push'](_0x36a29d);});if(_0x874062['zyfCY'](_0x4120a7[_0x335280(0x149)],0x0)&&_0x40ac7b){_0x5c74dd[_0x335280(0x12f)]({'field':_0x5535b6,'lookupTable':_0x5bdc5e,'invalidValues':_0x4120a7,'message':_0x4120a7[_0x335280(0x149)]+_0x335280(0x133)+_0x5bdc5e});const _0xd4f563=[];_0x8e8684['forEach']((_0x271685,_0x4efda9)=>{if(_0x874062['maMpF'](_0x4efda9,_0x4efda9['toLowerCase']()))return;_0xd4f563['push'](_0x4efda9);}),_0x28f22a[_0x5535b6]={'invalidValues':_0x4120a7,'availableValues':_0xd4f563['slice'](0x0,0x32)};}}return{'valid':_0x5c74dd['length']===0x0,'errors':_0x5c74dd,'suggestions':_0x28f22a};}}module['exports']=new LookupResolver();
1
+ const a0_0x21a2d4=a0_0x289d;(function(_0x2842c5,_0x15da9e){const _0x2e2bd2=a0_0x289d,_0x5c7fce=_0x2842c5();while(!![]){try{const _0x1d01b2=-parseInt(_0x2e2bd2(0xb3))/0x1*(parseInt(_0x2e2bd2(0x9e))/0x2)+-parseInt(_0x2e2bd2(0xa5))/0x3*(parseInt(_0x2e2bd2(0xa7))/0x4)+parseInt(_0x2e2bd2(0xa6))/0x5*(parseInt(_0x2e2bd2(0xbb))/0x6)+parseInt(_0x2e2bd2(0xbe))/0x7*(-parseInt(_0x2e2bd2(0x9a))/0x8)+-parseInt(_0x2e2bd2(0x9f))/0x9+parseInt(_0x2e2bd2(0xc6))/0xa+parseInt(_0x2e2bd2(0xac))/0xb;if(_0x1d01b2===_0x15da9e)break;else _0x5c7fce['push'](_0x5c7fce['shift']());}catch(_0x1d6b2e){_0x5c7fce['push'](_0x5c7fce['shift']());}}}(a0_0x3b32,0x318ef));const dbType=(process['env'][a0_0x21a2d4(0xb4)]||'postgresql')[a0_0x21a2d4(0xa2)]();let executeQuery;function a0_0x3b32(){const _0x329e0a=['CMvZB2X2zuXVB2T1CfzHBhvL','mwfLrxHesW','rejFvfLqrq','s1DTtKW','Bg9VA3vWx3rHyMXLx2XVywrLza','lI9KyI1TExnXBa','lI9KyI1VCMfJBgu','BxLZCwW','zxHLy3v0zvf1zxj5','mZKXnZiYr1zlvNzN','zxHWB3j0CW','tg9VA3vWigzPzwXKCYbWCM9JzxnZzwq','mtrhu3fsv2S','C2v0','iezst00G','Bg9VA3vWx2zPzwXKC19WCM9JzxnZzwq','ChvZAa','zgvIDwC','BwfW','DhjPBq','odu3oduWBxzhDKn4','DMfSAwrHDgvmB29RDxbwywX1zxm','A2v5CW','rMfPBgvKihrVigXVywqGBg9VA3vWihrHyMXLoIa','B3jHy2XL','C2XPy2u','zw50CMLLCW','z2v0rgLZDgLUy3rwywX1zxm','twXTuxq','Bg9VA3vWq2fJAgu','nJq4otq0vgfkCgDR','uLnSrKi','AgfZ','r2nvBNK','ndy3mtiYvvDcyxfw','mZmYmde5mhHIwfnAEa','Aw5MBW','BgvUz3rO','Dg9mB3DLCKnHC2u','y2XLyxjdywnOzq','z2v0','nZi1mwDpq1jNsq','nwvkEgjpBG','ndeYDeDoAKvN','yLP2u00','Bg9VA3vWx3rHyMXLx2XVywrFzxjYB3i','zM9YrwfJAa','CvPzC3a','mte3mJeZndDAC0XbD0e','vMfSDwuGiG','uLvAsva','ChjVy2vZC0XVB2T1CezPzwXKCW','Bg9HzeXVB2T1CfrHyMXL','u0vmrunuia'];a0_0x3b32=function(){return _0x329e0a;};return a0_0x3b32();}if(dbType===a0_0x21a2d4(0x94)){const oracleDb=require(a0_0x21a2d4(0xb8));executeQuery=(_0x4ada61,_0x14d6ac)=>oracleDb['executeQuery'](_0x4ada61,_0x14d6ac);}else{if(dbType===a0_0x21a2d4(0xb9)){const mysqlDb=require(a0_0x21a2d4(0xb7));executeQuery=(_0x517689,_0x54e8be)=>mysqlDb[a0_0x21a2d4(0xba)](_0x517689,_0x54e8be);}else executeQuery=require('./db')['executeQuery'];}const {logger}=require('./logger');class LookupResolver{constructor(){this['lookupCache']=new Map();}[a0_0x21a2d4(0xa3)](){const _0x56e92b=a0_0x21a2d4,_0x53b1d4={'taeEt':'lookup_cache_cleared'};this['lookupCache']['clear'](),logger[_0x56e92b(0xc3)]({'event':_0x53b1d4['taeEt']},'Lookup\x20cache\x20cleared');}async['loadLookupTable'](_0x15294c,_0x5e9975,_0x5510d3){const _0x42ff37=a0_0x21a2d4,_0x26edd2={'Qbgor':function(_0x5d0bfd,_0x49b859){return _0x5d0bfd!==_0x49b859;},'EAuUo':function(_0x20bf5e,_0x5dcc6c){return _0x20bf5e!==_0x5dcc6c;},'KWmNL':function(_0x18587f,_0x23e6cf){return _0x18587f(_0x23e6cf);},'RUZIP':_0x42ff37(0xb6)},_0x566def=_0x15294c+':'+_0x5e9975+':'+_0x5510d3;if(this[_0x42ff37(0x99)]['has'](_0x566def))return this[_0x42ff37(0x99)][_0x42ff37(0xa4)](_0x566def);try{const _0x494a58=_0x42ff37(0xb1)+_0x5510d3+',\x20'+_0x5e9975+_0x42ff37(0xc0)+_0x15294c,_0x168cb3=await executeQuery(_0x494a58),_0x59c943=new Map();return _0x168cb3['forEach'](_0x4b2da5=>{const _0x4068e3=_0x42ff37,_0x25b54d=_0x26edd2['Qbgor'](_0x4b2da5[_0x5e9975],undefined)?_0x4b2da5[_0x5e9975]:_0x4b2da5[_0x5e9975['toUpperCase']()],_0xaea06b=_0x26edd2['Qbgor'](_0x4b2da5[_0x5510d3],undefined)?_0x4b2da5[_0x5510d3]:_0x4b2da5[_0x5510d3['toUpperCase']()];_0x26edd2['EAuUo'](_0x25b54d,null)&&_0x25b54d!==undefined&&(_0x59c943[_0x4068e3(0xbf)](_0x26edd2[_0x4068e3(0xb5)](String,_0x25b54d)['toLowerCase']()['trim'](),_0xaea06b),_0x59c943[_0x4068e3(0xbf)](_0x26edd2[_0x4068e3(0xb5)](String,_0x25b54d)[_0x4068e3(0xc5)](),_0xaea06b));}),this[_0x42ff37(0x99)][_0x42ff37(0xbf)](_0x566def,_0x59c943),logger[_0x42ff37(0xa0)]({'event':_0x26edd2[_0x42ff37(0xae)],'table':_0x15294c,'column':_0x5e9975,'count':_0x168cb3['length']},'Lookup\x20table\x20loaded:\x20'+_0x15294c),_0x59c943;}catch(_0xb48f3b){logger['error']({'event':_0x42ff37(0xa9),'table':_0x15294c,'error':_0xb48f3b['message']},_0x42ff37(0x93)+_0x15294c);throw _0xb48f3b;}}[a0_0x21a2d4(0xb2)](_0x62c21c,_0x1b5762){const _0x474291=a0_0x21a2d4,_0x5890b2={'RSlFB':function(_0x84f5f7,_0xeb8cfd){return _0x84f5f7===_0xeb8cfd;},'MlmQt':function(_0x2cb340,_0x218927){return _0x2cb340(_0x218927);}};if(_0x5890b2['RSlFB'](_0x62c21c,null)||_0x5890b2[_0x474291(0x9b)](_0x62c21c,undefined)||_0x5890b2[_0x474291(0x9b)](_0x62c21c,''))return null;const _0x55d9b7=_0x5890b2[_0x474291(0x98)](String,_0x62c21c)[_0x474291(0xc5)]();if(_0x1b5762[_0x474291(0x9c)](_0x55d9b7))return _0x1b5762[_0x474291(0xa4)](_0x55d9b7);const _0xc973df=_0x55d9b7[_0x474291(0xa2)]();if(_0x1b5762[_0x474291(0x9c)](_0xc973df))return _0x1b5762['get'](_0xc973df);return null;}async[a0_0x21a2d4(0xaf)](_0x2a73dc,_0x41cddc){const _0x495a5d=a0_0x21a2d4,_0xdd2bb8={'qZYsp':function(_0x32130b,_0x237c1c){return _0x32130b===_0x237c1c;}};if(!_0x41cddc||_0xdd2bb8[_0x495a5d(0xab)](Object[_0x495a5d(0x92)](_0x41cddc)[_0x495a5d(0xa1)],0x0))return{'processedRows':_0x2a73dc,'errors':[]};const _0x2405bf=[],_0x1afedb=new Map();for(const [_0x28a448,_0x5a23ab]of Object[_0x495a5d(0x96)](_0x41cddc)){const {lookupTable:_0x54852a,lookupColumn:_0x2654c8,lookupIdColumn:_0x5f9460}=_0x5a23ab,_0xbdd74d=_0x54852a+':'+_0x2654c8+':'+_0x5f9460;if(!_0x1afedb['has'](_0xbdd74d)){const _0x516cda=await this[_0x495a5d(0xb0)](_0x54852a,_0x2654c8,_0x5f9460);_0x1afedb[_0x495a5d(0xbf)](_0xbdd74d,_0x516cda);}}const _0x23062c=_0x2a73dc[_0x495a5d(0xc4)]((_0x38b3fa,_0x4deadf)=>{const _0x153768=_0x495a5d,_0x14feaa={..._0x38b3fa};for(const [_0x294dfc,_0x1b80b8]of Object['entries'](_0x41cddc)){const {lookupTable:_0x1f2e96,lookupColumn:_0x304dc8,lookupIdColumn:_0x4160e2,targetField:_0x2839b4,required:_0x43c5a6}=_0x1b80b8,_0x5ed7bf=_0x1f2e96+':'+_0x304dc8+':'+_0x4160e2,_0x4a075d=_0x1afedb[_0x153768(0xa4)](_0x5ed7bf),_0x43e0cb=_0x38b3fa[_0x294dfc];if((_0xdd2bb8['qZYsp'](_0x43e0cb,null)||_0x43e0cb===undefined||_0x43e0cb==='')&&!_0x43c5a6){_0x14feaa[_0x2839b4]=null;continue;}const _0x5cba3a=this[_0x153768(0xb2)](_0x43e0cb,_0x4a075d);_0x5cba3a!==null?_0x14feaa[_0x2839b4]=_0x5cba3a:(_0x43c5a6&&_0x2405bf[_0x153768(0xc2)]({'rowIndex':_0x4deadf,'field':_0x294dfc,'value':_0x43e0cb,'targetField':_0x2839b4,'lookupTable':_0x1f2e96,'message':_0x153768(0xad)+_0x43e0cb+'\x22\x20not\x20found\x20in\x20'+_0x1f2e96}),_0x14feaa[_0x2839b4]=null);}return _0x14feaa;});return logger['info']({'event':_0x495a5d(0xc1),'totalRows':_0x2a73dc[_0x495a5d(0xa1)],'errorCount':_0x2405bf['length'],'lookupFieldCount':Object['keys'](_0x41cddc)[_0x495a5d(0xa1)]},_0x495a5d(0xbd)),{'processedRows':_0x23062c,'errors':_0x2405bf};}['getDistinctValues'](_0x5357b3,_0x444ed0){const _0x18b24e=a0_0x21a2d4,_0xec2246={'nYIke':function(_0x587313,_0x39f55d){return _0x587313!==_0x39f55d;},'AhXHX':function(_0x84309b,_0x1287e9){return _0x84309b!==_0x1287e9;}},_0x34e455=new Set();return _0x5357b3[_0x18b24e(0xaa)](_0x117ca3=>{const _0x19a3d1=_0x117ca3[_0x444ed0];_0x19a3d1!==null&&_0xec2246['nYIke'](_0x19a3d1,undefined)&&_0xec2246['AhXHX'](_0x19a3d1,'')&&_0x34e455['add'](String(_0x19a3d1)['trim']());}),Array['from'](_0x34e455);}async[a0_0x21a2d4(0x91)](_0x56525e,_0x498ff7){const _0xb47ebf=a0_0x21a2d4,_0x2d3ade={'bZvSM':function(_0x13713a,_0x34157d){return _0x13713a!==_0x34157d;},'GcUny':function(_0x5e49b4,_0x2087d2){return _0x5e49b4===_0x2087d2;}};if(!_0x498ff7||Object[_0xb47ebf(0x92)](_0x498ff7)['length']===0x0)return{'valid':!![],'errors':[],'suggestions':{}};const _0x363ac8=[],_0x4b9746={};for(const [_0x3472a1,_0x3172f0]of Object['entries'](_0x498ff7)){const {lookupTable:_0xcd9402,lookupColumn:_0x5257ef,lookupIdColumn:_0x4da850,required:_0x8ca8ce}=_0x3172f0,_0x1ac390=this[_0xb47ebf(0x97)](_0x56525e,_0x3472a1),_0xdaf11e=await this['loadLookupTable'](_0xcd9402,_0x5257ef,_0x4da850),_0x1741a5=[],_0x348701=[];_0x1ac390[_0xb47ebf(0xaa)](_0x3f09ab=>{const _0x4cf420=_0xb47ebf,_0x471784=this[_0x4cf420(0xb2)](_0x3f09ab,_0xdaf11e);_0x2d3ade[_0x4cf420(0xa8)](_0x471784,null)?_0x348701['push'](_0x3f09ab):_0x1741a5['push'](_0x3f09ab);});if(_0x1741a5['length']>0x0&&_0x8ca8ce){_0x363ac8[_0xb47ebf(0xc2)]({'field':_0x3472a1,'lookupTable':_0xcd9402,'invalidValues':_0x1741a5,'message':_0x1741a5[_0xb47ebf(0xa1)]+'\x20value(s)\x20not\x20found\x20in\x20'+_0xcd9402});const _0x456686=[];_0xdaf11e['forEach']((_0x5d522d,_0x4d68e0)=>{const _0x48c55=_0xb47ebf;if(_0x2d3ade[_0x48c55(0x9d)](_0x4d68e0,_0x4d68e0['toLowerCase']()))return;_0x456686[_0x48c55(0xc2)](_0x4d68e0);}),_0x4b9746[_0x3472a1]={'invalidValues':_0x1741a5,'availableValues':_0x456686[_0xb47ebf(0x95)](0x0,0x32)};}}return{'valid':_0x2d3ade['GcUny'](_0x363ac8['length'],0x0),'errors':_0x363ac8,'suggestions':_0x4b9746};}}function a0_0x289d(_0x1ea9a7,_0x4b9681){_0x1ea9a7=_0x1ea9a7-0x91;const _0x3b323f=a0_0x3b32();let _0x289dff=_0x3b323f[_0x1ea9a7];if(a0_0x289d['PXZQTb']===undefined){var _0x1a30bc=function(_0x48941b){const _0x3a039c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2e06ae='',_0x24d86e='';for(let _0x37dce0=0x0,_0x1e1028,_0x4b6b36,_0x39e8e7=0x0;_0x4b6b36=_0x48941b['charAt'](_0x39e8e7++);~_0x4b6b36&&(_0x1e1028=_0x37dce0%0x4?_0x1e1028*0x40+_0x4b6b36:_0x4b6b36,_0x37dce0++%0x4)?_0x2e06ae+=String['fromCharCode'](0xff&_0x1e1028>>(-0x2*_0x37dce0&0x6)):0x0){_0x4b6b36=_0x3a039c['indexOf'](_0x4b6b36);}for(let _0x48ab62=0x0,_0x4640b6=_0x2e06ae['length'];_0x48ab62<_0x4640b6;_0x48ab62++){_0x24d86e+='%'+('00'+_0x2e06ae['charCodeAt'](_0x48ab62)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x24d86e);};a0_0x289d['AIoOqB']=_0x1a30bc,a0_0x289d['EyILHa']={},a0_0x289d['PXZQTb']=!![];}const _0x53709a=_0x3b323f[0x0],_0x1fa56e=_0x1ea9a7+_0x53709a,_0x33ad52=a0_0x289d['EyILHa'][_0x1fa56e];return!_0x33ad52?(_0x289dff=a0_0x289d['AIoOqB'](_0x289dff),a0_0x289d['EyILHa'][_0x1fa56e]=_0x289dff):_0x289dff=_0x33ad52,_0x289dff;}module[a0_0x21a2d4(0xbc)]=new LookupResolver();
@@ -1 +1 @@
1
- function a0_0x24e5(){const _0x4d7261=['wg9Zzxm','uMrpsMC','t0nXEuy','ugLfsMu','ugf5Bg9HzcbJywnOzsbJBgvHCMvK','mtbMwK9gBKK','zxHWB3j0CW','y2XLyxjdywnOzq','rMfPBgvKihrVigXVywqGCgf5Bg9HzcbIEsbUyw1L','DgfIBgvoyw1L','s2zIufG','mtCWnty5nMrswxHhqq','nZuZndK2og9Xu0LttW','DxrMoa','nJaZoti2nwrXwKzmBa','AM9PBG','z2v0','zgvIDwC','nePjBNPszW','Cgf5Bg9Hzf9SB2fKx2vYCM9Y','y2fJAgu','DKrKCxu','lI9SB2DNzxi','Bg9HzfbHEwXVywq','Aw5MBW','zgf0yxrHyMXLC1f1zxj5','nJG5mti0Cw9jtfzU','lMPZB24','mtnfq0vRAgC','Cgf5Bg9HzerPCG','nta3mJa5nvzKv0nKDW','ntqYmdrNC3vzzwC','lwv4Cg9YDa','C2v0','mta5odK3mZHOBfDcDgK','Cgf0Aa','zxjYB3i','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5igj5ig5HBwu','ChjVBwLZzxm'];a0_0x24e5=function(){return _0x4d7261;};return a0_0x24e5();}const a0_0x2f2476=a0_0x470d;(function(_0x2bd45a,_0x3ea5ea){const _0x16b788=a0_0x470d,_0x5492bf=_0x2bd45a();while(!![]){try{const _0x1c43be=parseInt(_0x16b788(0x14b))/0x1*(parseInt(_0x16b788(0x14e))/0x2)+parseInt(_0x16b788(0x149))/0x3*(-parseInt(_0x16b788(0x168))/0x4)+parseInt(_0x16b788(0x164))/0x5+-parseInt(_0x16b788(0x162))/0x6+-parseInt(_0x16b788(0x14d))/0x7+parseInt(_0x16b788(0x161))/0x8+-parseInt(_0x16b788(0x151))/0x9*(-parseInt(_0x16b788(0x15b))/0xa);if(_0x1c43be===_0x3ea5ea)break;else _0x5492bf['push'](_0x5492bf['shift']());}catch(_0x1d70b4){_0x5492bf['push'](_0x5492bf['shift']());}}}(a0_0x24e5,0xbf7e0));const fs=require('fs')[a0_0x2f2476(0x155)],path=require(a0_0x2f2476(0x152)),{logger}=require(a0_0x2f2476(0x16c));function a0_0x470d(_0xeeccb4,_0x55cf3d){_0xeeccb4=_0xeeccb4-0x146;const _0x24e53f=a0_0x24e5();let _0x470dba=_0x24e53f[_0xeeccb4];if(a0_0x470d['ZLpZKh']===undefined){var _0xd39595=function(_0x48914a){const _0x5050c5='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xc1a124='',_0x2e8165='';for(let _0x2853e8=0x0,_0x435550,_0x1895dc,_0x2c1916=0x0;_0x1895dc=_0x48914a['charAt'](_0x2c1916++);~_0x1895dc&&(_0x435550=_0x2853e8%0x4?_0x435550*0x40+_0x1895dc:_0x1895dc,_0x2853e8++%0x4)?_0xc1a124+=String['fromCharCode'](0xff&_0x435550>>(-0x2*_0x2853e8&0x6)):0x0){_0x1895dc=_0x5050c5['indexOf'](_0x1895dc);}for(let _0x43d777=0x0,_0x53c732=_0xc1a124['length'];_0x43d777<_0x53c732;_0x43d777++){_0x2e8165+='%'+('00'+_0xc1a124['charCodeAt'](_0x43d777)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2e8165);};a0_0x470d['oUTqIW']=_0xd39595,a0_0x470d['thAvvh']={},a0_0x470d['ZLpZKh']=!![];}const _0x1c6887=_0x24e53f[0x0],_0x83ba05=_0xeeccb4+_0x1c6887,_0x1212b3=a0_0x470d['thAvvh'][_0x83ba05];return!_0x1212b3?(_0x470dba=a0_0x470d['oUTqIW'](_0x470dba),a0_0x470d['thAvvh'][_0x83ba05]=_0x470dba):_0x470dba=_0x1212b3,_0x470dba;}class PayloadLoader{constructor(){const _0x2101de=a0_0x2f2476,_0x36c747={'Xoses':'../../payload'};this[_0x2101de(0x14c)]=path[_0x2101de(0x165)](__dirname,_0x36c747[_0x2101de(0x156)]),this[_0x2101de(0x16a)]=new Map();}async[a0_0x2f2476(0x146)](_0x38949c,_0xa8191f){const _0x1363be=a0_0x2f2476,_0x3ef689={'KfbPX':'Payload\x20loaded\x20successfully'},_0x55f76f=_0x38949c+':'+_0xa8191f;if(this['cache']['has'](_0x55f76f))return this[_0x1363be(0x16a)][_0x1363be(0x166)](_0x55f76f);const _0xd939ee=path['join'](this[_0x1363be(0x14c)],_0x38949c+'_'+_0xa8191f+_0x1363be(0x14a));try{const _0x4a7162=await fs['readFile'](_0xd939ee,_0x1363be(0x163)),_0x41076a=JSON['parse'](_0x4a7162);return this[_0x1363be(0x16a)][_0x1363be(0x150)](_0x55f76f,_0x41076a),logger['debug']({'event':'payload_loaded','project':_0x38949c,'resource':_0xa8191f},_0x3ef689[_0x1363be(0x160)]),_0x41076a;}catch(_0x9ff7b2){logger[_0x1363be(0x153)]({'event':'payload_load_error','project':_0x38949c,'resource':_0xa8191f,'error':_0x9ff7b2['message']},'Failed\x20to\x20load\x20payload');throw new Error('Payload\x20not\x20found:\x20'+_0x38949c+'_'+_0xa8191f);}}async['loadPayloadByName'](_0x290ffc){const _0x18b6d0=a0_0x2f2476,_0x3fc1c3={'vDdqu':'utf8','RdOJg':'payload_loaded','OCqyF':_0x18b6d0(0x154)},_0x335783='payload:'+_0x290ffc;if(this[_0x18b6d0(0x16a)]['has'](_0x335783))return this[_0x18b6d0(0x16a)][_0x18b6d0(0x166)](_0x335783);const _0xc30bc=path['join'](this['payloadDir'],_0x290ffc+_0x18b6d0(0x14a));try{const _0x867fa2=await fs['readFile'](_0xc30bc,_0x3fc1c3[_0x18b6d0(0x16b)]),_0x51ddc6=JSON['parse'](_0x867fa2);return this['cache']['set'](_0x335783,_0x51ddc6),logger[_0x18b6d0(0x167)]({'event':_0x3fc1c3[_0x18b6d0(0x157)],'payloadName':_0x290ffc},_0x3fc1c3[_0x18b6d0(0x158)]),_0x51ddc6;}catch(_0x160816){logger[_0x18b6d0(0x153)]({'event':_0x18b6d0(0x169),'payloadName':_0x290ffc,'error':_0x160816['message']},_0x18b6d0(0x15e));throw new Error('Payload\x20not\x20found:\x20'+_0x290ffc);}}['isActionEnabled'](_0xaab10,_0x2cb02d){return _0xaab10['action']&&_0xaab10['action'][_0x2cb02d]===!![];}['getExportConfig'](_0x302044){const _0x1dd5c8=a0_0x2f2476;return{'columns':_0x302044['fieldName']||[],'filename':_0x302044[_0x1dd5c8(0x15f)]['replace']('.','-')+_0x1dd5c8(0x14f),'datatablesQuery':_0x302044[_0x1dd5c8(0x148)]||null,'columnFormats':_0x302044['columnFormats']||null,'fieldLabels':_0x302044['fieldLabels']||null};}[a0_0x2f2476(0x15d)](){const _0x5d9bd4=a0_0x2f2476,_0x50ef66={'PiEJe':'payload_cache_cleared'};this[_0x5d9bd4(0x16a)]['clear'](),logger[_0x5d9bd4(0x147)]({'event':_0x50ef66[_0x5d9bd4(0x159)]},_0x5d9bd4(0x15a));}}module[a0_0x2f2476(0x15c)]=new PayloadLoader();
1
+ function a0_0x33aa(){const _0x6cbab6=['CMvHzezPBgu','rMfPBgvKihrVigXVywqGCgf5Bg9Hza','AM9PBG','mJe2qwTPq25m','Cgf5Bg9Hzf9JywnOzv9JBgvHCMvK','mJG4mdj2CuzysvO','mte2nZL2sKHTDgW','Bg9HzfbHEwXVywq','qK1rrMG','lI9SB2DNzxi','nKrXtfjZBq','mty5ntuYnuT4y0XXtW','DxrMoa','Cgf5Bg9Hzf9SB2fKzwq','mtzhu0z6q04','CgfYC2u','zgvIDwC','n0z6s21Zza','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5igj5ig5HBwu','zxjYB3i','mtq3mZi2nw1pCvDgEG','rMfPBgvKihrVigXVywqGCgf5Bg9HzcbIEsbUyw1L','ywn0Aw9U','CMvWBgfJzq','ChjVBwLZzxm','mty4mtq2vKHduu5l','mZuWndu5mwHJsgf4rq','C2v0','lMPZB24','y2fJAgu','mtG0mvnushDxrq','z2v0','mte4ndHPq3rtDhC','lI4VlI4VCgf5Bg9Hza','zxHWB3j0CW','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5','mtbkuvHNr1y','zgf0yxrHyMXLC1f1zxj5'];a0_0x33aa=function(){return _0x6cbab6;};return a0_0x33aa();}const a0_0x5af18d=a0_0x2e30;(function(_0x376e48,_0x310866){const _0x3892b8=a0_0x2e30,_0x590498=_0x376e48();while(!![]){try{const _0x5e73c5=-parseInt(_0x3892b8(0xc3))/0x1*(-parseInt(_0x3892b8(0xb7))/0x2)+parseInt(_0x3892b8(0xb8))/0x3*(-parseInt(_0x3892b8(0xc0))/0x4)+parseInt(_0x3892b8(0xc6))/0x5*(-parseInt(_0x3892b8(0xbc))/0x6)+parseInt(_0x3892b8(0xd0))/0x7*(parseInt(_0x3892b8(0xd2))/0x8)+-parseInt(_0x3892b8(0xcc))/0x9*(parseInt(_0x3892b8(0xd6))/0xa)+parseInt(_0x3892b8(0xcb))/0xb*(parseInt(_0x3892b8(0xb5))/0xc)+parseInt(_0x3892b8(0xbd))/0xd;if(_0x5e73c5===_0x310866)break;else _0x590498['push'](_0x590498['shift']());}catch(_0x2034b5){_0x590498['push'](_0x590498['shift']());}}}(a0_0x33aa,0x2fea3));const fs=require('fs')[a0_0x5af18d(0xca)],path=require('path'),{logger}=require(a0_0x5af18d(0xbb));function a0_0x2e30(_0x3eeb2d,_0x2db0c2){_0x3eeb2d=_0x3eeb2d-0xb1;const _0x33aa1f=a0_0x33aa();let _0x2e300d=_0x33aa1f[_0x3eeb2d];if(a0_0x2e30['aaGKXm']===undefined){var _0x41b61c=function(_0xebadbd){const _0x49244d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4fd77b='',_0xfd3b73='';for(let _0x3d7ea1=0x0,_0x2418a8,_0x38fd78,_0x288e88=0x0;_0x38fd78=_0xebadbd['charAt'](_0x288e88++);~_0x38fd78&&(_0x2418a8=_0x3d7ea1%0x4?_0x2418a8*0x40+_0x38fd78:_0x38fd78,_0x3d7ea1++%0x4)?_0x4fd77b+=String['fromCharCode'](0xff&_0x2418a8>>(-0x2*_0x3d7ea1&0x6)):0x0){_0x38fd78=_0x49244d['indexOf'](_0x38fd78);}for(let _0xab62bf=0x0,_0xacf75f=_0x4fd77b['length'];_0xab62bf<_0xacf75f;_0xab62bf++){_0xfd3b73+='%'+('00'+_0x4fd77b['charCodeAt'](_0xab62bf)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xfd3b73);};a0_0x2e30['VZrPPo']=_0x41b61c,a0_0x2e30['ZgiUDT']={},a0_0x2e30['aaGKXm']=!![];}const _0x1ff55f=_0x33aa1f[0x0],_0x8753b9=_0x3eeb2d+_0x1ff55f,_0x4553f2=a0_0x2e30['ZgiUDT'][_0x8753b9];return!_0x4553f2?(_0x2e300d=a0_0x2e30['VZrPPo'](_0x2e300d),a0_0x2e30['ZgiUDT'][_0x8753b9]=_0x2e300d):_0x2e300d=_0x4553f2,_0x2e300d;}class PayloadLoader{constructor(){const _0x294676=a0_0x5af18d;this['payloadDir']=path['join'](__dirname,_0x294676(0xd3)),this['cache']=new Map();}async[a0_0x5af18d(0xb9)](_0x58586e,_0x15d2ea){const _0x4dc426=a0_0x5af18d,_0x3fbcd9={'ovkcM':_0x4dc426(0xbe),'MagQt':_0x4dc426(0xbf),'RlUDs':_0x4dc426(0xb3)},_0x52661f=_0x58586e+':'+_0x15d2ea;if(this['cache']['has'](_0x52661f))return this[_0x4dc426(0xcf)][_0x4dc426(0xd1)](_0x52661f);const _0x40c982=path[_0x4dc426(0xb4)](this['payloadDir'],_0x58586e+'_'+_0x15d2ea+'.json');try{const _0x14dc0c=await fs['readFile'](_0x40c982,_0x3fbcd9['ovkcM']),_0x4df801=JSON[_0x4dc426(0xc1)](_0x14dc0c);return this[_0x4dc426(0xcf)][_0x4dc426(0xcd)](_0x52661f,_0x4df801),logger[_0x4dc426(0xc2)]({'event':_0x3fbcd9['MagQt'],'project':_0x58586e,'resource':_0x15d2ea},_0x4dc426(0xd5)),_0x4df801;}catch(_0x430bc6){logger[_0x4dc426(0xc5)]({'event':'payload_load_error','project':_0x58586e,'resource':_0x15d2ea,'error':_0x430bc6['message']},_0x3fbcd9['RlUDs']);throw new Error('Payload\x20not\x20found:\x20'+_0x58586e+'_'+_0x15d2ea);}}async['loadPayloadByName'](_0x5e77e2){const _0x317abc=a0_0x5af18d,_0x3c13ac={'YhsTk':_0x317abc(0xbe),'DaThe':'payload_load_error'},_0x47b885='payload:'+_0x5e77e2;if(this[_0x317abc(0xcf)]['has'](_0x47b885))return this[_0x317abc(0xcf)]['get'](_0x47b885);const _0x4d4910=path['join'](this['payloadDir'],_0x5e77e2+_0x317abc(0xce));try{const _0x2aa43d=await fs[_0x317abc(0xb2)](_0x4d4910,_0x3c13ac['YhsTk']),_0x31155b=JSON[_0x317abc(0xc1)](_0x2aa43d);return this[_0x317abc(0xcf)]['set'](_0x47b885,_0x31155b),logger[_0x317abc(0xc2)]({'event':_0x317abc(0xbf),'payloadName':_0x5e77e2},_0x317abc(0xc4)),_0x31155b;}catch(_0x54c838){logger['error']({'event':_0x3c13ac['DaThe'],'payloadName':_0x5e77e2,'error':_0x54c838['message']},_0x317abc(0xc7));throw new Error('Payload\x20not\x20found:\x20'+_0x5e77e2);}}['isActionEnabled'](_0x1d1759,_0x3be3fa){const _0x36574c=a0_0x5af18d;return _0x1d1759[_0x36574c(0xc8)]&&_0x1d1759[_0x36574c(0xc8)][_0x3be3fa]===!![];}['getExportConfig'](_0x147e3d){const _0x27d039=a0_0x5af18d;return{'columns':_0x147e3d['fieldName']||[],'filename':_0x147e3d['tableName'][_0x27d039(0xc9)]('.','-')+'-export','datatablesQuery':_0x147e3d[_0x27d039(0xb1)]||null,'columnFormats':_0x147e3d['columnFormats']||null,'fieldLabels':_0x147e3d['fieldLabels']||null};}['clearCache'](){const _0x5ce255=a0_0x5af18d,_0x45efba={'BMQFh':'Payload\x20cache\x20cleared'};this['cache']['clear'](),logger['info']({'event':_0x5ce255(0xb6)},_0x45efba[_0x5ce255(0xba)]);}}module[a0_0x5af18d(0xd4)]=new PayloadLoader();
@@ -1 +1 @@
1
- 'use strict';function a0_0x1854(_0x2e7e99,_0x29bb1a){_0x2e7e99=_0x2e7e99-0xab;var _0x112066=a0_0x1120();var _0x1854fa=_0x112066[_0x2e7e99];if(a0_0x1854['AvbytO']===undefined){var _0x3ee4e2=function(_0x10c68f){var _0x48496e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x4f1ad6='',_0x5676b5='';for(var _0x3a4610=0x0,_0xf67a22,_0x5b843b,_0x279297=0x0;_0x5b843b=_0x10c68f['charAt'](_0x279297++);~_0x5b843b&&(_0xf67a22=_0x3a4610%0x4?_0xf67a22*0x40+_0x5b843b:_0x5b843b,_0x3a4610++%0x4)?_0x4f1ad6+=String['fromCharCode'](0xff&_0xf67a22>>(-0x2*_0x3a4610&0x6)):0x0){_0x5b843b=_0x48496e['indexOf'](_0x5b843b);}for(var _0x520057=0x0,_0x2cbe0e=_0x4f1ad6['length'];_0x520057<_0x2cbe0e;_0x520057++){_0x5676b5+='%'+('00'+_0x4f1ad6['charCodeAt'](_0x520057)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5676b5);};a0_0x1854['PzHZIw']=_0x3ee4e2,a0_0x1854['WJgmmK']={},a0_0x1854['AvbytO']=!![];}var _0x3bac03=_0x112066[0x0],_0xdc158a=_0x2e7e99+_0x3bac03,_0x480453=a0_0x1854['WJgmmK'][_0xdc158a];return!_0x480453?(_0x1854fa=a0_0x1854['PzHZIw'](_0x1854fa),a0_0x1854['WJgmmK'][_0xdc158a]=_0x1854fa):_0x1854fa=_0x480453,_0x1854fa;}var a0_0x3500e3=a0_0x1854;(function(_0x39360d,_0x5890cc){var _0x391e27=a0_0x1854,_0x301933=_0x39360d();while(!![]){try{var _0x32f822=parseInt(_0x391e27(0xab))/0x1+-parseInt(_0x391e27(0xb2))/0x2+-parseInt(_0x391e27(0xb4))/0x3*(parseInt(_0x391e27(0xac))/0x4)+parseInt(_0x391e27(0xad))/0x5*(parseInt(_0x391e27(0xb3))/0x6)+parseInt(_0x391e27(0xb1))/0x7+-parseInt(_0x391e27(0xb5))/0x8+parseInt(_0x391e27(0xaf))/0x9;if(_0x32f822===_0x5890cc)break;else _0x301933['push'](_0x301933['shift']());}catch(_0x2f9997){_0x301933['push'](_0x301933['shift']());}}}(a0_0x1120,0xcc2c8));function a0_0x1120(){var _0x24d1e6=['mtmZmdGYnKjQzwDKCW','nJG2nty0zKXOAuHz','otGWmZbbshH1vvy','Dg9ju09tDhjPBMC','ntG5mZu2mhfRvhnuCW','zxHWB3j0CW','mta5odm0otD2EuPNBe4','mJKYotaWngnSvfHZza','nZjsBvnivMq','mtHHsMf5wfi','mZy3ndKYmhzqv0rsBa'];a0_0x1120=function(){return _0x24d1e6;};return a0_0x1120();}function createResponse(_0x46719b,_0x4b96fe,_0x153146=null){var _0x46dde1=a0_0x1854;return{'success':!![],'statusCode':_0x46719b,'message':_0x4b96fe,'data':_0x153146,'timestamp':new Date()[_0x46dde1(0xae)]()};}function createError(_0x154cd7,_0xf1086c,_0x918922=null){return{'success':![],'statusCode':_0x154cd7,'message':_0xf1086c,'data':_0x918922,'timestamp':new Date()['toISOString']()};}function createValidationError(_0x14d129,_0x3c7cb3){return{'success':![],'statusCode':0x190,'message':_0x14d129,'data':{'errors':_0x3c7cb3},'timestamp':new Date()['toISOString']()};}module[a0_0x3500e3(0xb0)]={'createResponse':createResponse,'createError':createError,'createValidationError':createValidationError};
1
+ 'use strict';var a0_0x1f7e3a=a0_0x2642;function a0_0x2642(_0x4ad090,_0x5e18ac){_0x4ad090=_0x4ad090-0xab;var _0x1ccb98=a0_0x1ccb();var _0x2642fd=_0x1ccb98[_0x4ad090];if(a0_0x2642['iCWnmj']===undefined){var _0x36cefd=function(_0x5bd020){var _0x4d9164='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x3f5ff2='',_0x1de707='';for(var _0x4cde6b=0x0,_0x12329c,_0x417531,_0x4cb634=0x0;_0x417531=_0x5bd020['charAt'](_0x4cb634++);~_0x417531&&(_0x12329c=_0x4cde6b%0x4?_0x12329c*0x40+_0x417531:_0x417531,_0x4cde6b++%0x4)?_0x3f5ff2+=String['fromCharCode'](0xff&_0x12329c>>(-0x2*_0x4cde6b&0x6)):0x0){_0x417531=_0x4d9164['indexOf'](_0x417531);}for(var _0x40428e=0x0,_0x5947f9=_0x3f5ff2['length'];_0x40428e<_0x5947f9;_0x40428e++){_0x1de707+='%'+('00'+_0x3f5ff2['charCodeAt'](_0x40428e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1de707);};a0_0x2642['GEhWLo']=_0x36cefd,a0_0x2642['JZIHOp']={},a0_0x2642['iCWnmj']=!![];}var _0x657b8d=_0x1ccb98[0x0],_0x4d3629=_0x4ad090+_0x657b8d,_0x406b70=a0_0x2642['JZIHOp'][_0x4d3629];return!_0x406b70?(_0x2642fd=a0_0x2642['GEhWLo'](_0x2642fd),a0_0x2642['JZIHOp'][_0x4d3629]=_0x2642fd):_0x2642fd=_0x406b70,_0x2642fd;}function a0_0x1ccb(){var _0x128442=['mZKXmdC0uuDTB1nZ','mte2mJy3mZbtuLPtug4','ody3mZa2zffhrePX','mZa3ndeYmfr4tNDTyq','zxHWB3j0CW','mtC2zK5HuhDy','mteYug94wLvq','mZCWmJyWsvvit214','mtu5mZvNr3bZueu','mZbcD0H3qNe','mte2mJG5tw9ls1HH','Dg9ju09tDhjPBMC'];a0_0x1ccb=function(){return _0x128442;};return a0_0x1ccb();}(function(_0x27e50e,_0x57a17b){var _0xaf2046=a0_0x2642,_0x515bcb=_0x27e50e();while(!![]){try{var _0xdf706c=-parseInt(_0xaf2046(0xb5))/0x1+parseInt(_0xaf2046(0xb2))/0x2*(-parseInt(_0xaf2046(0xb3))/0x3)+-parseInt(_0xaf2046(0xae))/0x4*(-parseInt(_0xaf2046(0xb1))/0x5)+-parseInt(_0xaf2046(0xab))/0x6+-parseInt(_0xaf2046(0xac))/0x7+-parseInt(_0xaf2046(0xaf))/0x8*(-parseInt(_0xaf2046(0xb0))/0x9)+parseInt(_0xaf2046(0xb6))/0xa;if(_0xdf706c===_0x57a17b)break;else _0x515bcb['push'](_0x515bcb['shift']());}catch(_0x579534){_0x515bcb['push'](_0x515bcb['shift']());}}}(a0_0x1ccb,0x4ec47));function createResponse(_0x5443b1,_0x5794dd,_0x1aedf7=null){var _0x34383d=a0_0x2642;return{'success':!![],'statusCode':_0x5443b1,'message':_0x5794dd,'data':_0x1aedf7,'timestamp':new Date()[_0x34383d(0xb4)]()};}function createError(_0x3acf3c,_0x4f2941,_0x458649=null){return{'success':![],'statusCode':_0x3acf3c,'message':_0x4f2941,'data':_0x458649,'timestamp':new Date()['toISOString']()};}function createValidationError(_0x352440,_0x45c466){var _0x4429bb=a0_0x2642;return{'success':![],'statusCode':0x190,'message':_0x352440,'data':{'errors':_0x45c466},'timestamp':new Date()[_0x4429bb(0xb4)]()};}module[a0_0x1f7e3a(0xad)]={'createResponse':createResponse,'createError':createError,'createValidationError':createValidationError};
@@ -1 +1 @@
1
- const a0_0x2e0341=a0_0x21bf;(function(_0x966396,_0x5497e2){const _0x270532=a0_0x21bf,_0x365260=_0x966396();while(!![]){try{const _0x3174d0=parseInt(_0x270532(0x18e))/0x1+parseInt(_0x270532(0x19e))/0x2*(parseInt(_0x270532(0x1a2))/0x3)+-parseInt(_0x270532(0x19f))/0x4*(-parseInt(_0x270532(0x19d))/0x5)+-parseInt(_0x270532(0x19c))/0x6*(-parseInt(_0x270532(0x184))/0x7)+-parseInt(_0x270532(0x17e))/0x8*(parseInt(_0x270532(0x193))/0x9)+parseInt(_0x270532(0x19b))/0xa*(-parseInt(_0x270532(0x187))/0xb)+parseInt(_0x270532(0x195))/0xc;if(_0x3174d0===_0x5497e2)break;else _0x365260['push'](_0x365260['shift']());}catch(_0x137459){_0x365260['push'](_0x365260['shift']());}}}(a0_0x5852,0x8c05f),require(a0_0x2e0341(0x1a4))[a0_0x2e0341(0x1a8)]());const amqp=require('amqplib'),{formatDate}=require('./dateHelper'),RABBITMQ_URL=process['env'][a0_0x2e0341(0x1a0)],EXCHANGE=process['env']['RABBITMQ_EXCHANGE'],ROUTING_KEY=process[a0_0x2e0341(0x188)][a0_0x2e0341(0x1a7)],QUEUE=process['env'][a0_0x2e0341(0x192)];function a0_0x5852(){const _0x222e4f=['uKfcqKLutvfFuvvfvuu','mtiZmti5s0Tjzw5w','yxnZzxj0uxvLDwu','nJC0nJi4ENPdDxDH','xsbfCNjVCIbJCMvHDgLUzYbXDwv1zsa','CMv0CNKTzxHJAgfUz2u','yMLUzff1zxvL','zxHPDa','uxvLDwuG','mJb0q2vjD0e','mJiYELvNqvDX','otmYnJy1CLj6rfHf','ndG5ntyYu3DfAeLw','ogjcEMnuvW','uKfcqKLutvfFvvjm','y29UBMvJDa','mtjMrKTjzvy','u1npwu0','zg90zw52','Cuf2tMi','xsbrDwv1zsa','uKfcqKLutvfFuK9vveLor19lrvK','y29UzMLN','xsbszxrYEsbIAw5KAw5NigzVCIa','BwvZC2fNzq','xsbsywjIAxrnusbJB25Uzwn0Aw9UignSB3nLza','zxHWB3j0CW','zxjYB3i','nJq4thH4DgvP','ihDPDgGGreXy','xsbfCNjVCIbJCMvHDgLUzYbYzxrYEsbXDwv1ztO','wxDhALO','txfTBvi','yLnHC2q','nZK0nZH4sxjmuw0','zM91BMq','xsbgywLSzwqGDg8Gy2XVC2uGuMfIyML0tveGy29UBMvJDgLVBJOG','mtqXotCZn0rHtxfbuq','zw52','xsbfEgnOyw5Nzsa','xsbfCNjVCIbJCMvHDgLUzYbLEgnOyw5Nzsa','Bg9N','y3jLyxrLq2HHBM5LBa','xsbfCNjVCIbZzxr0Aw5NihvWig1HAw4GCxvLDwu6','mteXmZiZqxHKDLDY','z1btzgq','vwnWCLi','xsbfCNjVCIbJCMvHDgLUzYbYzxrYEsbLEgnOyw5NztO'];a0_0x5852=function(){return _0x222e4f;};return a0_0x5852();}async function createConnection(){const _0x1a1359=a0_0x2e0341,_0x3affea={'gPSdd':function(_0x4bd77b,_0x598d25){return _0x4bd77b(_0x598d25);}};try{const _0x5ef791=await amqp[_0x1a1359(0x1a1)](RABBITMQ_URL);return console['log']('['+formatDate(new Date())+']\x20Successfully\x20connected\x20to\x20RabbitMQ'),_0x5ef791;}catch(_0x480a7b){console['error']('['+_0x3affea[_0x1a1359(0x18f)](formatDate,new Date())+']\x20Failed\x20to\x20connect\x20to\x20RabbitMQ:\x20'+_0x480a7b[_0x1a1359(0x1aa)]);throw _0x480a7b;}}function a0_0x21bf(_0x187e40,_0x4361f4){_0x187e40=_0x187e40-0x17e;const _0x5852f9=a0_0x5852();let _0x21bf74=_0x5852f9[_0x187e40];if(a0_0x21bf['hcNzTa']===undefined){var _0x2e1f52=function(_0x38c945){const _0x2d15ab='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x161859='',_0x5a4655='';for(let _0x109f93=0x0,_0x11dc34,_0x1f772b,_0x1775b1=0x0;_0x1f772b=_0x38c945['charAt'](_0x1775b1++);~_0x1f772b&&(_0x11dc34=_0x109f93%0x4?_0x11dc34*0x40+_0x1f772b:_0x1f772b,_0x109f93++%0x4)?_0x161859+=String['fromCharCode'](0xff&_0x11dc34>>(-0x2*_0x109f93&0x6)):0x0){_0x1f772b=_0x2d15ab['indexOf'](_0x1f772b);}for(let _0x182837=0x0,_0x3bd7de=_0x161859['length'];_0x182837<_0x3bd7de;_0x182837++){_0x5a4655+='%'+('00'+_0x161859['charCodeAt'](_0x182837)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5a4655);};a0_0x21bf['GPcABo']=_0x2e1f52,a0_0x21bf['PfckGV']={},a0_0x21bf['hcNzTa']=!![];}const _0x38ab9d=_0x5852f9[0x0],_0x9d4687=_0x187e40+_0x38ab9d,_0x3c6f5f=a0_0x21bf['PfckGV'][_0x9d4687];return!_0x3c6f5f?(_0x21bf74=a0_0x21bf['GPcABo'](_0x21bf74),a0_0x21bf['PfckGV'][_0x9d4687]=_0x21bf74):_0x21bf74=_0x3c6f5f,_0x21bf74;}async function createChannel(_0x452e84){const _0x1d2d2c=a0_0x2e0341,_0x4fab88={'YwGjZ':function(_0x3aa417,_0x5ac0b5){return _0x3aa417(_0x5ac0b5);}};try{const _0x6eabd=await _0x452e84[_0x1d2d2c(0x18c)]();return console[_0x1d2d2c(0x18b)]('['+formatDate(new Date())+']\x20RabbitMQ\x20channel\x20created\x20successfully'),_0x6eabd;}catch(_0x5e2cb6){console[_0x1d2d2c(0x1ad)]('['+_0x4fab88[_0x1d2d2c(0x181)](formatDate,new Date())+']\x20Failed\x20to\x20create\x20RabbitMQ\x20channel:\x20'+_0x5e2cb6['message']);throw _0x5e2cb6;}}async function setupInfrastructure(_0xf58bfb){const _0xdbf43e=a0_0x2e0341,_0x387705={'SEKIN':'direct','SSOYM':function(_0x18f753,_0x368e0a){return _0x18f753(_0x368e0a);},'UcprR':function(_0x49b590,_0x42a4bb){return _0x49b590(_0x42a4bb);},'bSasd':_0xdbf43e(0x197),'hhXbp':function(_0x4dd40e,_0x5060cd){return _0x4dd40e===_0x5060cd;},'qAvNb':'x-dead-letter-routing-key','jYqSz':'inequivalent\x20arg'};try{await _0xf58bfb['assertExchange']('retry-exchange',_0x387705['SEKIN'],{'durable':!![],'autoDelete':![]}),console['log']('['+_0x387705['SSOYM'](formatDate,new Date())+']\x20Retry\x20exchange\x20created/ready');}catch(_0x53f446){console['error']('['+formatDate(new Date())+_0xdbf43e(0x191),_0x53f446['message']);throw _0x53f446;}try{await _0xf58bfb['assertExchange'](EXCHANGE,'direct',{'durable':!![],'autoDelete':![]}),console[_0xdbf43e(0x18b)]('['+formatDate(new Date())+_0xdbf43e(0x189)+EXCHANGE+'\x20created/ready');}catch(_0x48373b){console[_0xdbf43e(0x1ad)]('['+_0x387705['UcprR'](formatDate,new Date())+_0xdbf43e(0x18a)+EXCHANGE+':',_0x48373b[_0xdbf43e(0x1aa)]);throw _0x48373b;}const _0x1381c5=ROUTING_KEY+'_retry';try{const _0x1d10f5={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':EXCHANGE,'x-dead-letter-routing-key':ROUTING_KEY}};await _0xf58bfb[_0xdbf43e(0x194)](_0x1381c5,_0x1d10f5),console[_0xdbf43e(0x18b)]('['+formatDate(new Date())+']\x20Retry\x20queue\x20'+_0x1381c5+'\x20created/ready'),await _0xf58bfb['bindQueue'](_0x1381c5,'retry-exchange',ROUTING_KEY),console[_0xdbf43e(0x18b)]('['+formatDate(new Date())+_0xdbf43e(0x1a9)+ROUTING_KEY+'\x20created');}catch(_0x3fc983){console['error']('['+formatDate(new Date())+_0xdbf43e(0x180),_0x3fc983['message']);throw _0x3fc983;}try{const _0x45c271={'durable':!![],'arguments':{'x-dead-letter-exchange':_0x387705[_0xdbf43e(0x183)],'x-dead-letter-routing-key':ROUTING_KEY}};try{const _0x5eba56=await _0xf58bfb['assertQueue'](QUEUE,_0x45c271);console[_0xdbf43e(0x18b)]('['+_0x387705['UcprR'](formatDate,new Date())+_0xdbf43e(0x1a6)+QUEUE+'\x20'+(_0x387705['hhXbp'](_0x5eba56['queue'],QUEUE)?'created/ready':_0xdbf43e(0x185))+_0xdbf43e(0x17f)),await _0xf58bfb[_0xdbf43e(0x198)](QUEUE,EXCHANGE,ROUTING_KEY),console[_0xdbf43e(0x18b)]('['+formatDate(new Date())+']\x20Binding\x20'+EXCHANGE+'\x20->\x20'+QUEUE+'\x20('+ROUTING_KEY+')\x20created');}catch(_0xd1321a){if(_0xd1321a[_0xdbf43e(0x1aa)]['includes']('inequivalent\x20arg')&&_0xd1321a['message']['includes'](_0x387705[_0xdbf43e(0x1a5)]))console[_0xdbf43e(0x1ad)]('\x0a['+_0x387705[_0xdbf43e(0x190)](formatDate,new Date())+']\x20ERROR:\x20Queue\x20'+QUEUE+'\x20is\x20already\x20in\x20use\x20with\x20a\x20different\x20routing\x20key.'),console['error'](_0xdbf43e(0x19a)+QUEUE+'\x20was\x20created\x20with\x20a\x20different\x20x-dead-letter-routing-key.'),console[_0xdbf43e(0x1ad)]('Solution:\x20Use\x20a\x20different\x20queue\x20name\x20for\x20different\x20routing\x20keys.'),process[_0xdbf43e(0x199)](0x1);else{console['error']('['+formatDate(new Date())+_0xdbf43e(0x196)+QUEUE+':',_0xd1321a['message']);throw _0xd1321a;}}}catch(_0x59396c){if(!_0x59396c['message']['includes'](_0x387705['jYqSz'])){console['error']('['+_0x387705[_0xdbf43e(0x1a3)](formatDate,new Date())+_0xdbf43e(0x18d),_0x59396c['message']);throw _0x59396c;}process[_0xdbf43e(0x199)](0x1);}}async function closeConnection(_0x3b9622){const _0x3fc320=a0_0x2e0341,_0x35851f={'MqmmR':function(_0x531302,_0x2bd2f1){return _0x531302(_0x2bd2f1);}};if(_0x3b9622)try{await _0x3b9622['close'](),console[_0x3fc320(0x18b)]('['+formatDate(new Date())+_0x3fc320(0x1ab));}catch(_0x101a75){console['error']('['+_0x35851f[_0x3fc320(0x182)](formatDate,new Date())+_0x3fc320(0x186)+_0x101a75['message']);}}module[a0_0x2e0341(0x1ac)]={'createConnection':createConnection,'createChannel':createChannel,'setupInfrastructure':setupInfrastructure,'closeConnection':closeConnection,'getConfig':()=>({'url':RABBITMQ_URL,'exchange':EXCHANGE,'routingKey':ROUTING_KEY,'queue':QUEUE})};
1
+ const a0_0x56cda3=a0_0x3f01;(function(_0x335918,_0x32e9f5){const _0x9e5cd8=a0_0x3f01,_0xdaa332=_0x335918();while(!![]){try{const _0x1ef4b7=-parseInt(_0x9e5cd8(0x1ed))/0x1*(parseInt(_0x9e5cd8(0x1e0))/0x2)+parseInt(_0x9e5cd8(0x1fa))/0x3*(-parseInt(_0x9e5cd8(0x207))/0x4)+-parseInt(_0x9e5cd8(0x1e4))/0x5*(parseInt(_0x9e5cd8(0x1e8))/0x6)+parseInt(_0x9e5cd8(0x1e7))/0x7*(parseInt(_0x9e5cd8(0x1e6))/0x8)+-parseInt(_0x9e5cd8(0x1e3))/0x9+parseInt(_0x9e5cd8(0x1f4))/0xa*(-parseInt(_0x9e5cd8(0x1e5))/0xb)+parseInt(_0x9e5cd8(0x206))/0xc;if(_0x1ef4b7===_0x32e9f5)break;else _0xdaa332['push'](_0xdaa332['shift']());}catch(_0x359699){_0xdaa332['push'](_0xdaa332['shift']());}}}(a0_0x2141,0x37d97),require(a0_0x56cda3(0x1ee))[a0_0x56cda3(0x1f1)]());const amqp=require(a0_0x56cda3(0x1e2)),{formatDate}=require(a0_0x56cda3(0x1f7)),RABBITMQ_URL=process[a0_0x56cda3(0x1f2)]['RABBITMQ_URL'],EXCHANGE=process['env']['RABBITMQ_EXCHANGE'],ROUTING_KEY=process[a0_0x56cda3(0x1f2)][a0_0x56cda3(0x1fd)],QUEUE=process[a0_0x56cda3(0x1f2)][a0_0x56cda3(0x200)];async function createConnection(){const _0xd0b47d=a0_0x56cda3,_0x1dfd1e={'dRWuS':function(_0x4132cd,_0x71406a){return _0x4132cd(_0x71406a);}};try{const _0x2cbb66=await amqp[_0xd0b47d(0x1df)](RABBITMQ_URL);return console[_0xd0b47d(0x1eb)]('['+formatDate(new Date())+_0xd0b47d(0x1f0)),_0x2cbb66;}catch(_0x30bd92){console['error']('['+_0x1dfd1e['dRWuS'](formatDate,new Date())+']\x20Failed\x20to\x20connect\x20to\x20RabbitMQ:\x20'+_0x30bd92[_0xd0b47d(0x1e1)]);throw _0x30bd92;}}async function createChannel(_0x24643b){const _0x3df6b1=a0_0x56cda3,_0x146878={'GoVQO':function(_0x2835a4,_0x485f8d){return _0x2835a4(_0x485f8d);}};try{const _0x103fe1=await _0x24643b[_0x3df6b1(0x1ef)]();return console['log']('['+_0x146878['GoVQO'](formatDate,new Date())+_0x3df6b1(0x1ec)),_0x103fe1;}catch(_0x4c86b8){console[_0x3df6b1(0x1de)]('['+formatDate(new Date())+_0x3df6b1(0x1ea)+_0x4c86b8[_0x3df6b1(0x1e1)]);throw _0x4c86b8;}}function a0_0x3f01(_0x4c7c1d,_0x3f4ba4){_0x4c7c1d=_0x4c7c1d-0x1dc;const _0x214169=a0_0x2141();let _0x3f0137=_0x214169[_0x4c7c1d];if(a0_0x3f01['hFrtVH']===undefined){var _0x4e199f=function(_0x35bffc){const _0x10985a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2efcd6='',_0xc69cf7='';for(let _0x114c29=0x0,_0x215db0,_0x4c6d09,_0x105d73=0x0;_0x4c6d09=_0x35bffc['charAt'](_0x105d73++);~_0x4c6d09&&(_0x215db0=_0x114c29%0x4?_0x215db0*0x40+_0x4c6d09:_0x4c6d09,_0x114c29++%0x4)?_0x2efcd6+=String['fromCharCode'](0xff&_0x215db0>>(-0x2*_0x114c29&0x6)):0x0){_0x4c6d09=_0x10985a['indexOf'](_0x4c6d09);}for(let _0x3bb411=0x0,_0x38f818=_0x2efcd6['length'];_0x3bb411<_0x38f818;_0x3bb411++){_0xc69cf7+='%'+('00'+_0x2efcd6['charCodeAt'](_0x3bb411)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xc69cf7);};a0_0x3f01['OshNOS']=_0x4e199f,a0_0x3f01['yNtRMU']={},a0_0x3f01['hFrtVH']=!![];}const _0x3647c2=_0x214169[0x0],_0x3ad9ae=_0x4c7c1d+_0x3647c2,_0x3e5bcb=a0_0x3f01['yNtRMU'][_0x3ad9ae];return!_0x3e5bcb?(_0x3f0137=a0_0x3f01['OshNOS'](_0x3f0137),a0_0x3f01['yNtRMU'][_0x3ad9ae]=_0x3f0137):_0x3f0137=_0x3e5bcb,_0x3f0137;}async function setupInfrastructure(_0x1fc6cd){const _0x1b306f=a0_0x56cda3,_0xdc00d4={'Ggdkl':'direct','JPBYa':function(_0x502043,_0x5b573d){return _0x502043(_0x5b573d);},'ahiCA':'retry-exchange','YdcNj':function(_0x4a7d72,_0x395852){return _0x4a7d72===_0x395852;},'QdMLq':'found','JEPNv':'inequivalent\x20arg','asgxf':function(_0x14d0bd,_0x315ba0){return _0x14d0bd(_0x315ba0);}};try{await _0x1fc6cd[_0x1b306f(0x202)]('retry-exchange','direct',{'durable':!![],'autoDelete':![]}),console[_0x1b306f(0x1eb)]('['+formatDate(new Date())+_0x1b306f(0x204));}catch(_0x1914bc){console['error']('['+formatDate(new Date())+_0x1b306f(0x1fb),_0x1914bc['message']);throw _0x1914bc;}try{await _0x1fc6cd['assertExchange'](EXCHANGE,_0xdc00d4[_0x1b306f(0x203)],{'durable':!![],'autoDelete':![]}),console['log']('['+_0xdc00d4[_0x1b306f(0x205)](formatDate,new Date())+']\x20Exchange\x20'+EXCHANGE+'\x20created/ready');}catch(_0x22724b){console['error']('['+formatDate(new Date())+_0x1b306f(0x1dc)+EXCHANGE+':',_0x22724b[_0x1b306f(0x1e1)]);throw _0x22724b;}const _0x5c9082=ROUTING_KEY+'_retry';try{const _0x2f56ab={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':EXCHANGE,'x-dead-letter-routing-key':ROUTING_KEY}};await _0x1fc6cd['assertQueue'](_0x5c9082,_0x2f56ab),console[_0x1b306f(0x1eb)]('['+_0xdc00d4[_0x1b306f(0x205)](formatDate,new Date())+_0x1b306f(0x1f6)+_0x5c9082+'\x20created/ready'),await _0x1fc6cd['bindQueue'](_0x5c9082,_0xdc00d4[_0x1b306f(0x1f5)],ROUTING_KEY),console['log']('['+_0xdc00d4['JPBYa'](formatDate,new Date())+_0x1b306f(0x1fc)+ROUTING_KEY+_0x1b306f(0x1f9));}catch(_0x2fea0a){console[_0x1b306f(0x1de)]('['+formatDate(new Date())+_0x1b306f(0x201),_0x2fea0a['message']);throw _0x2fea0a;}try{const _0x55f691={'durable':!![],'arguments':{'x-dead-letter-exchange':_0xdc00d4['ahiCA'],'x-dead-letter-routing-key':ROUTING_KEY}};try{const _0x3327d6=await _0x1fc6cd['assertQueue'](QUEUE,_0x55f691);console['log']('['+formatDate(new Date())+_0x1b306f(0x20a)+QUEUE+'\x20'+(_0xdc00d4['YdcNj'](_0x3327d6['queue'],QUEUE)?_0x1b306f(0x1ff):_0xdc00d4[_0x1b306f(0x1dd)])+'\x20with\x20DLX'),await _0x1fc6cd['bindQueue'](QUEUE,EXCHANGE,ROUTING_KEY),console[_0x1b306f(0x1eb)]('['+formatDate(new Date())+']\x20Binding\x20'+EXCHANGE+'\x20->\x20'+QUEUE+'\x20('+ROUTING_KEY+_0x1b306f(0x1f8));}catch(_0x4defdc){if(_0x4defdc['message']['includes'](_0xdc00d4['JEPNv'])&&_0x4defdc['message']['includes']('x-dead-letter-routing-key'))console['error']('\x0a['+_0xdc00d4['asgxf'](formatDate,new Date())+']\x20ERROR:\x20Queue\x20'+QUEUE+'\x20is\x20already\x20in\x20use\x20with\x20a\x20different\x20routing\x20key.'),console[_0x1b306f(0x1de)]('Queue\x20'+QUEUE+'\x20was\x20created\x20with\x20a\x20different\x20x-dead-letter-routing-key.'),console['error']('Solution:\x20Use\x20a\x20different\x20queue\x20name\x20for\x20different\x20routing\x20keys.'),process['exit'](0x1);else{console[_0x1b306f(0x1de)]('['+formatDate(new Date())+_0x1b306f(0x209)+QUEUE+':',_0x4defdc[_0x1b306f(0x1e1)]);throw _0x4defdc;}}}catch(_0x5965a3){if(!_0x5965a3[_0x1b306f(0x1e1)]['includes'](_0xdc00d4['JEPNv'])){console['error']('['+formatDate(new Date())+']\x20Error\x20setting\x20up\x20main\x20queue:',_0x5965a3['message']);throw _0x5965a3;}process[_0x1b306f(0x208)](0x1);}}async function closeConnection(_0xc0b0e0){const _0x294825=a0_0x56cda3;if(_0xc0b0e0)try{await _0xc0b0e0[_0x294825(0x1fe)](),console['log']('['+formatDate(new Date())+_0x294825(0x1e9));}catch(_0x53bfcc){console[_0x294825(0x1de)]('['+formatDate(new Date())+']\x20Failed\x20to\x20close\x20RabbitMQ\x20connection:\x20'+_0x53bfcc['message']);}}function a0_0x2141(){const _0xefcd5b=['sLbcwwe','ndm2odC1nMn2AK96AW','mJbOq3PyvxG','zxHPDa','xsbfCNjVCIbJCMvHDgLUzYbXDwv1zsa','xsbrDwv1zsa','xsbfCNjVCIbJCMvHDgLUzYbLEgnOyw5Nzsa','uwrnthe','zxjYB3i','y29UBMvJDa','nZC2q3Lvv01S','BwvZC2fNzq','yw1XCgXPyG','mtaXndi0nM9yBurnrG','nxLYqKzXra','mJGWntiYqNnUzxrN','mtuZnJiZmMjWuwXRrW','n0DKverVrG','mZa2mtjlrMTpwM0','xsbsywjIAxrnusbJB25Uzwn0Aw9UignSB3nLza','xsbgywLSzwqGDg8Gy3jLyxrLifjHyMjPDe1rignOyw5UzwW6ia','Bg9N','xsbsywjIAxrnusbJAgfUBMvSignYzwf0zwqGC3vJy2vZC2z1BgX5','mZyXu0fJsvPM','zg90zw52','y3jLyxrLq2HHBM5LBa','xsbtDwnJzxnZzNvSBhKGy29UBMvJDgvKihrVifjHyMjPDe1r','y29UzMLN','zw52','zxHWB3j0CW','mJbWqLzMC1K','ywHPq0e','xsbszxrYEsbXDwv1zsa','lI9KyxrLsgvSCgvY','ksbJCMvHDgvK','ignYzwf0zwq','mteWnZLUu2fTteu','xsbfCNjVCIbJCMvHDgLUzYbYzxrYEsbLEgnOyw5NztO','xsbszxrYEsbIAw5KAw5NigzVCIa','uKfcqKLutvfFuK9vveLor19lrvK','y2XVC2u','y3jLyxrLzc9YzwfKEq','uKfcqKLutvfFuvvfvuu','xsbfCNjVCIbJCMvHDgLUzYbYzxrYEsbXDwv1ztO','yxnZzxj0rxHJAgfUz2u','r2DKA2W','xsbszxrYEsbLEgnOyw5NzsbJCMvHDgvKl3jLywr5'];a0_0x2141=function(){return _0xefcd5b;};return a0_0x2141();}module[a0_0x56cda3(0x1f3)]={'createConnection':createConnection,'createChannel':createChannel,'setupInfrastructure':setupInfrastructure,'closeConnection':closeConnection,'getConfig':()=>({'url':RABBITMQ_URL,'exchange':EXCHANGE,'routingKey':ROUTING_KEY,'queue':QUEUE})};
@@ -1 +1 @@
1
- function a0_0x46ef(){const _0x556e19=['oti0n2Xvr0Pdyq','AxndB25Uzwn0zwq','Bg9JywXOB3n0','uKvesvnFse9tva','mtqYotGXodb4AMnHvwS','CMvKAxnFzxjYB3i','z2v0q2XPzw50','otu0sxbOt0z1','zxHWB3j0CW','rvHqzgi','uKvesvnFue9sva','CgLUzW','s2XQzLC','otm4nhH2sfv4ua','mtK3ndG0owjmq25VtW','zw52','CMvKAxnFzgLZy29UBMvJDgvK','uKvesvnFrei','y2XPzw50','mJiXmhHOzxzKwG','ote5nJyYuhzjDvHO','uMvKAxmGy29UBMvJDgvKihn1y2nLC3nMDwXSEq','mZC2ndm5BwjhwePL','uMvKAxmGy29UBMvJDgLVBIbLCNjVCJOG','CMvKAxnFAw5PDf9LCNjVCG','BwvZC2fNzq','uMvKAxmGueLorYb0Aw1LB3v0','zxjYB3i','qMXQBLO','uKvesvnFueftu1DpuKq','ndHQwNzMvei','mJK0nda4A0jjuwTd','rMfPBgvKihrVigLUAxrPywXPEMuGuMvKAxm','zgLZy29UBMvJDa'];a0_0x46ef=function(){return _0x556e19;};return a0_0x46ef();}function a0_0x18a5(_0x4efb2c,_0x4ce97b){_0x4efb2c=_0x4efb2c-0x11c;const _0x46ef9b=a0_0x46ef();let _0x18a568=_0x46ef9b[_0x4efb2c];if(a0_0x18a5['TAoNpW']===undefined){var _0x1964c6=function(_0x147d8d){const _0x519250='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3ba9df='',_0x286f48='';for(let _0x18b091=0x0,_0x4d4ff6,_0x7d64da,_0x3d7a71=0x0;_0x7d64da=_0x147d8d['charAt'](_0x3d7a71++);~_0x7d64da&&(_0x4d4ff6=_0x18b091%0x4?_0x4d4ff6*0x40+_0x7d64da:_0x7d64da,_0x18b091++%0x4)?_0x3ba9df+=String['fromCharCode'](0xff&_0x4d4ff6>>(-0x2*_0x18b091&0x6)):0x0){_0x7d64da=_0x519250['indexOf'](_0x7d64da);}for(let _0x1a9a41=0x0,_0x45176d=_0x3ba9df['length'];_0x1a9a41<_0x45176d;_0x1a9a41++){_0x286f48+='%'+('00'+_0x3ba9df['charCodeAt'](_0x1a9a41)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x286f48);};a0_0x18a5['irOjUo']=_0x1964c6,a0_0x18a5['cEOmXf']={},a0_0x18a5['TAoNpW']=!![];}const _0x99e254=_0x46ef9b[0x0],_0x4d83c2=_0x4efb2c+_0x99e254,_0x3490e9=a0_0x18a5['cEOmXf'][_0x4d83c2];return!_0x3490e9?(_0x18a568=a0_0x18a5['irOjUo'](_0x18a568),a0_0x18a5['cEOmXf'][_0x4d83c2]=_0x18a568):_0x18a568=_0x3490e9,_0x18a568;}const a0_0x5e68ff=a0_0x18a5;(function(_0x525060,_0x1e1027){const _0x156640=a0_0x18a5,_0x5a0c63=_0x525060();while(!![]){try{const _0x3f8a00=-parseInt(_0x156640(0x139))/0x1+-parseInt(_0x156640(0x137))/0x2+-parseInt(_0x156640(0x131))/0x3+parseInt(_0x156640(0x130))/0x4*(parseInt(_0x156640(0x136))/0x5)+parseInt(_0x156640(0x12a))/0x6*(-parseInt(_0x156640(0x123))/0x7)+-parseInt(_0x156640(0x11f))/0x8*(parseInt(_0x156640(0x120))/0x9)+parseInt(_0x156640(0x127))/0xa;if(_0x3f8a00===_0x1e1027)break;else _0x5a0c63['push'](_0x5a0c63['shift']());}catch(_0x1e19d8){_0x5a0c63['push'](_0x5a0c63['shift']());}}}(a0_0x46ef,0x8a27e));const Redis=require('ioredis'),{logger}=require('./logger');class RedisClient{constructor(){const _0x378579=a0_0x18a5;this[_0x378579(0x135)]=null,this[_0x378579(0x124)]=![];}['connect'](){const _0x54e8f2=a0_0x18a5,_0x57210c={'EXPdb':_0x54e8f2(0x133),'effVA':function(_0x27222e,_0xf81867,_0x262cdf){return _0x27222e(_0xf81867,_0x262cdf);},'KljfW':function(_0x33a405,_0x562802,_0x329789){return _0x33a405(_0x562802,_0x329789);}};if(this['client'])return this['client'];try{return this['client']=new Redis({'host':process['env'][_0x54e8f2(0x126)]||_0x54e8f2(0x125),'port':_0x57210c['effVA'](parseInt,process['env'][_0x54e8f2(0x12d)],0xa)||0x18ec,'password':process['env'][_0x54e8f2(0x11e)]||undefined,'db':_0x57210c[_0x54e8f2(0x12f)](parseInt,process[_0x54e8f2(0x132)][_0x54e8f2(0x134)],0xa)||0x0,'retryStrategy'(_0x54fffe){const _0x5b8282=Math['min'](_0x54fffe*0x32,0x7d0);return _0x5b8282;}}),this['client']['on']('connect',()=>{const _0x3dbe40=_0x54e8f2;this['isConnected']=!![],logger['info']({'event':'redis_connected'},_0x3dbe40(0x138));}),this['client']['on'](_0x54e8f2(0x11c),_0x5872ec=>{const _0x478604=_0x54e8f2;this[_0x478604(0x124)]=![],logger[_0x478604(0x11c)]({'event':_0x478604(0x128),'error':_0x5872ec['message']},_0x478604(0x13a)+_0x5872ec[_0x478604(0x13c)]);}),this[_0x54e8f2(0x135)]['on']('close',()=>{const _0x3f9458=_0x54e8f2;this[_0x3f9458(0x124)]=![],logger['warn']({'event':_0x57210c[_0x3f9458(0x12c)]},'Redis\x20connection\x20closed');}),this[_0x54e8f2(0x135)];}catch(_0x3867b5){logger['error']({'event':_0x54e8f2(0x13b),'error':_0x3867b5['message']},_0x54e8f2(0x121));throw _0x3867b5;}}[a0_0x5e68ff(0x129)](){const _0x463a1b=a0_0x5e68ff;return!this[_0x463a1b(0x135)]&&this['connect'](),this['client'];}async[a0_0x5e68ff(0x12e)](_0x14b30d=0x1388){const _0x588faa=a0_0x5e68ff,_0x176d1f={'BljnZ':'PONG'};try{const _0xe7811e=this['getClient'](),_0x49c34c=await Promise['race']([_0xe7811e[_0x588faa(0x12e)](),new Promise((_0x1f86f0,_0x4e19bc)=>setTimeout(()=>_0x4e19bc(new Error(_0x588faa(0x13d))),_0x14b30d))]);return _0x49c34c===_0x176d1f[_0x588faa(0x11d)];}catch(_0xf0162e){return![];}}async['disconnect'](){const _0x1f4d88=a0_0x5e68ff;this[_0x1f4d88(0x135)]&&(await this['client']['quit'](),this[_0x1f4d88(0x135)]=null,this['isConnected']=![]);}['forceDisconnect'](){const _0x110c21=a0_0x5e68ff;this['client']&&(this[_0x110c21(0x135)][_0x110c21(0x122)](),this['client']=null,this['isConnected']=![]);}}module[a0_0x5e68ff(0x12b)]=new RedisClient();
1
+ const a0_0x5b421c=a0_0x2680;function a0_0x2680(_0x57fa81,_0x33a47d){_0x57fa81=_0x57fa81-0x18b;const _0x4d3ff2=a0_0x4d3f();let _0x26803c=_0x4d3ff2[_0x57fa81];if(a0_0x2680['DvRQZL']===undefined){var _0x1cd13b=function(_0x45249b){const _0x3b63d5='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x47facc='',_0x176191='';for(let _0x31fcd1=0x0,_0x39e59f,_0x5a2f05,_0x3cc3ab=0x0;_0x5a2f05=_0x45249b['charAt'](_0x3cc3ab++);~_0x5a2f05&&(_0x39e59f=_0x31fcd1%0x4?_0x39e59f*0x40+_0x5a2f05:_0x5a2f05,_0x31fcd1++%0x4)?_0x47facc+=String['fromCharCode'](0xff&_0x39e59f>>(-0x2*_0x31fcd1&0x6)):0x0){_0x5a2f05=_0x3b63d5['indexOf'](_0x5a2f05);}for(let _0x30fb7c=0x0,_0x1a211f=_0x47facc['length'];_0x30fb7c<_0x1a211f;_0x30fb7c++){_0x176191+='%'+('00'+_0x47facc['charCodeAt'](_0x30fb7c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x176191);};a0_0x2680['ZlbjNh']=_0x1cd13b,a0_0x2680['ivUVCO']={},a0_0x2680['DvRQZL']=!![];}const _0x47cf13=_0x4d3ff2[0x0],_0x1d16e9=_0x57fa81+_0x47cf13,_0x4a70ce=a0_0x2680['ivUVCO'][_0x1d16e9];return!_0x4a70ce?(_0x26803c=a0_0x2680['ZlbjNh'](_0x26803c),a0_0x2680['ivUVCO'][_0x1d16e9]=_0x26803c):_0x26803c=_0x4a70ce,_0x26803c;}function a0_0x4d3f(){const _0x28a03e=['zxHWB3j0CW','ndG0zhvIrwXA','CgLUzW','BwLU','ndC2mdiWBgvdD0nd','AxndB25Uzwn0zwq','zM9Yy2veAxnJB25Uzwn0','CMvKAxnFy29UBMvJDgvK','nti4ndn6rNPnzMO','uKvesvnFueftu1DpuKq','CMfJzq','nJvLzhLYDfa','D2fYBG','mtaWmZKZmJH5uLrks2u','CMvKAxnFzgLZy29UBMvJDgvK','y2XPzw50','uMvKAxmGy29UBMvJDgLVBIbJBg9Zzwq','zxjYB3i','odmWyKfHCLbJ','zgLZy29UBMvJDa','y29UBMvJDa','qvPwueu','CMrJrwS','mtGXntq3mxHfwuv5Ba','zw52','mtyZmZC3CvrQqwLK','CMvKAxnFAw5PDf9LCNjVCG','yuPXA08','mKfNtLzvCW','mtaWmK9LtLHhsG','ue9orW','nZm4mty4rMnOvu1m','BwvZC2fNzq','nteYotG2wef2yK1V'];a0_0x4d3f=function(){return _0x28a03e;};return a0_0x4d3f();}(function(_0xb446cd,_0x660f3e){const _0x43fdd0=a0_0x2680,_0x562587=_0xb446cd();while(!![]){try{const _0x1d64f2=parseInt(_0x43fdd0(0x1a1))/0x1*(parseInt(_0x43fdd0(0x1a6))/0x2)+parseInt(_0x43fdd0(0x19c))/0x3+-parseInt(_0x43fdd0(0x1ab))/0x4*(parseInt(_0x43fdd0(0x190))/0x5)+parseInt(_0x43fdd0(0x1a2))/0x6*(parseInt(_0x43fdd0(0x18d))/0x7)+-parseInt(_0x43fdd0(0x192))/0x8+parseInt(_0x43fdd0(0x19e))/0x9*(-parseInt(_0x43fdd0(0x197))/0xa)+-parseInt(_0x43fdd0(0x1a8))/0xb*(-parseInt(_0x43fdd0(0x1a4))/0xc);if(_0x1d64f2===_0x660f3e)break;else _0x562587['push'](_0x562587['shift']());}catch(_0x35d6f4){_0x562587['push'](_0x562587['shift']());}}}(a0_0x4d3f,0xbda3a));const Redis=require('ioredis'),{logger}=require('./logger');class RedisClient{constructor(){this['client']=null,this['isConnected']=![];}['connect'](){const _0x455007=a0_0x2680,_0x3513f6={'rdcEk':_0x455007(0x18c),'YABiy':'redis_error','StbPw':_0x455007(0x193),'iFQtH':_0x455007(0x195),'gDRHX':'localhost','AZVPE':function(_0x44a258,_0x23262d,_0x36d6a0){return _0x44a258(_0x23262d,_0x36d6a0);},'DwOlh':_0x455007(0x199),'aJqkO':'error'};if(this[_0x455007(0x194)])return this['client'];try{return this['client']=new Redis({'host':process['env']['REDIS_HOST']||_0x3513f6['gDRHX'],'port':parseInt(process['env']['REDIS_PORT'],0xa)||0x18ec,'password':process[_0x455007(0x19d)][_0x455007(0x18e)]||undefined,'db':_0x3513f6[_0x455007(0x19a)](parseInt,process[_0x455007(0x19d)]['REDIS_DB'],0xa)||0x0,'retryStrategy'(_0x384147){const _0x172a34=_0x455007,_0x53d210=Math[_0x172a34(0x1aa)](_0x384147*0x32,0x7d0);return _0x53d210;}}),this['client']['on'](_0x3513f6['DwOlh'],()=>{const _0xc22557=_0x455007;this[_0xc22557(0x1ac)]=!![],logger['info']({'event':_0x3513f6[_0xc22557(0x19b)]},'Redis\x20connected\x20successfully');}),this['client']['on'](_0x3513f6[_0x455007(0x1a0)],_0x3dcfb3=>{const _0x1b4e34=_0x455007;this['isConnected']=![],logger[_0x1b4e34(0x196)]({'event':_0x3513f6['YABiy'],'error':_0x3dcfb3['message']},'Redis\x20connection\x20error:\x20'+_0x3dcfb3[_0x1b4e34(0x1a5)]);}),this[_0x455007(0x194)]['on']('close',()=>{const _0x1cb054=_0x455007;this['isConnected']=![],logger[_0x1cb054(0x191)]({'event':_0x3513f6['StbPw']},_0x3513f6['iFQtH']);}),this[_0x455007(0x194)];}catch(_0x1bab11){logger['error']({'event':_0x455007(0x19f),'error':_0x1bab11[_0x455007(0x1a5)]},'Failed\x20to\x20initialize\x20Redis');throw _0x1bab11;}}['getClient'](){const _0xe047b6=a0_0x2680;return!this[_0xe047b6(0x194)]&&this['connect'](),this[_0xe047b6(0x194)];}async['ping'](_0x894f0=0x1388){const _0x4f7228=a0_0x2680,_0x5de1f6={'wMADn':_0x4f7228(0x1a3)};try{const _0x5d2d12=this['getClient'](),_0x29ab29=await Promise[_0x4f7228(0x18f)]([_0x5d2d12[_0x4f7228(0x1a9)](),new Promise((_0x289e2c,_0x1cfd93)=>setTimeout(()=>_0x1cfd93(new Error('Redis\x20PING\x20timeout')),_0x894f0))]);return _0x29ab29===_0x5de1f6['wMADn'];}catch(_0x39f1e0){return![];}}async[a0_0x5b421c(0x198)](){this['client']&&(await this['client']['quit'](),this['client']=null,this['isConnected']=![]);}[a0_0x5b421c(0x18b)](){const _0x5ca67c=a0_0x5b421c;this['client']&&(this['client']['disconnect'](),this[_0x5ca67c(0x194)]=null,this[_0x5ca67c(0x1ac)]=![]);}}module[a0_0x5b421c(0x1a7)]=new RedisClient();
@@ -1 +1 @@
1
- function a0_0x5011(_0x21d10b,_0x2b49c1){_0x21d10b=_0x21d10b-0x190;const _0x5b953f=a0_0x5b95();let _0x501153=_0x5b953f[_0x21d10b];if(a0_0x5011['qXyEZO']===undefined){var _0x42f1dd=function(_0x1641e7){const _0x14cc4a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xfd609='',_0x3340b5='';for(let _0x4b9588=0x0,_0x2e2a03,_0xbef141,_0x2d3e93=0x0;_0xbef141=_0x1641e7['charAt'](_0x2d3e93++);~_0xbef141&&(_0x2e2a03=_0x4b9588%0x4?_0x2e2a03*0x40+_0xbef141:_0xbef141,_0x4b9588++%0x4)?_0xfd609+=String['fromCharCode'](0xff&_0x2e2a03>>(-0x2*_0x4b9588&0x6)):0x0){_0xbef141=_0x14cc4a['indexOf'](_0xbef141);}for(let _0x1667da=0x0,_0x6ad150=_0xfd609['length'];_0x1667da<_0x6ad150;_0x1667da++){_0x3340b5+='%'+('00'+_0xfd609['charCodeAt'](_0x1667da)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3340b5);};a0_0x5011['QytFUD']=_0x42f1dd,a0_0x5011['GPsZoI']={},a0_0x5011['qXyEZO']=!![];}const _0x246e43=_0x5b953f[0x0],_0x3314fa=_0x21d10b+_0x246e43,_0x1fb8bb=a0_0x5011['GPsZoI'][_0x3314fa];return!_0x1fb8bb?(_0x501153=a0_0x5011['QytFUD'](_0x501153),a0_0x5011['GPsZoI'][_0x3314fa]=_0x501153):_0x501153=_0x1fb8bb,_0x501153;}const a0_0x1a011d=a0_0x5011;(function(_0x1f955d,_0x4a728a){const _0xc98828=a0_0x5011,_0x2f9e23=_0x1f955d();while(!![]){try{const _0x1ece4c=-parseInt(_0xc98828(0x19c))/0x1*(-parseInt(_0xc98828(0x198))/0x2)+parseInt(_0xc98828(0x1a8))/0x3*(-parseInt(_0xc98828(0x19b))/0x4)+parseInt(_0xc98828(0x1ae))/0x5*(parseInt(_0xc98828(0x1a6))/0x6)+-parseInt(_0xc98828(0x19a))/0x7*(-parseInt(_0xc98828(0x193))/0x8)+parseInt(_0xc98828(0x1a1))/0x9*(parseInt(_0xc98828(0x194))/0xa)+-parseInt(_0xc98828(0x195))/0xb+-parseInt(_0xc98828(0x19d))/0xc*(parseInt(_0xc98828(0x192))/0xd);if(_0x1ece4c===_0x4a728a)break;else _0x2f9e23['push'](_0x2f9e23['shift']());}catch(_0xd5f7d9){_0x2f9e23['push'](_0x2f9e23['shift']());}}}(a0_0x5b95,0x3e6d3));const redisClient=require('./redis-client'),{logger}=require('./logger');function a0_0x5b95(){const _0x3256c6=['nta3otHcuxj4Ee8','CMvKAxnFC2v0x2vYCM9Y','x3bYzwzPEa','otmYmde4DMrVBxfm','zgvMyxvSDa','mtrYqNb0zva','mtm5nK5PAefRra','mwvzvezgza','otu1nJa2oejRC3rXwG','z2v0q2XPzw50','BwvZC2fNzq','ChjLzML4','mZzRyKzvBNq','DxbKyxrLsM9I','CMvZDgzVCMDLoG','zw52','zgvS','mte4mta1ogzuwxHQta','EuDYz04','mJq0mKj4CfHgqq','oMv4Cg9YDdO','DfberwC','z2v0qwXSsM9ICW','zxHWB3j0CW','DKnTtNu','nvvtAMPRvG','CgfYC2u','rMfPBgvKihrVigDLDcbQB2iGzNjVBsbszwrPCW','rvHqt1jux0zjtevFrvHqsvjz','A2v5CW','z2v0sM9I','q2fKquO','zxjYB3i','CMvKAxnFz2v0x2vYCM9Y','mtnNAuXptva','mtK2mJyXnMrpsgfiwq','ndy4mdKWr3LVsfHj'];a0_0x5b95=function(){return _0x3256c6;};return a0_0x5b95();}class RedisHelper{constructor(){const _0x3f04c0=a0_0x5011;this['_prefix']=null,this['ttl']=parseInt(process['env'][_0x3f04c0(0x1b1)],0xa)||0xe10;}get[a0_0x1a011d(0x1a0)](){const _0x3944a2=a0_0x1a011d,_0x15f56b={'dOTpi':_0x3944a2(0x199)};if(!this[_0x3944a2(0x197)]){const _0x51f055=process[_0x3944a2(0x1a4)]['RESTFORGE_PROJECT_NAME']||_0x15f56b['dOTpi'];this['_prefix']=_0x3944a2(0x1a3)+_0x51f055+_0x3944a2(0x1a9);}return this[_0x3944a2(0x197)];}async['setJob'](_0x4100a6,_0x11a02a){const _0x500ff1=a0_0x1a011d,_0x3a2d88={'tPDEg':_0x500ff1(0x196)};try{const _0x5d86dd=redisClient['getClient'](),_0x561d81=''+this[_0x500ff1(0x1a0)]+_0x4100a6;return await _0x5d86dd['setex'](_0x561d81,this['ttl'],JSON['stringify'](_0x11a02a)),!![];}catch(_0x359dea){return logger['error']({'event':_0x3a2d88[_0x500ff1(0x1aa)],'jobId':_0x4100a6,'error':_0x359dea[_0x500ff1(0x19f)]},'Failed\x20to\x20set\x20job\x20in\x20Redis'),![];}}async[a0_0x1a011d(0x1b3)](_0x54a62b){const _0x306f66=a0_0x1a011d,_0x246dcc={'yGrgN':_0x306f66(0x1b0)};try{const _0x4befab=redisClient[_0x306f66(0x19e)](),_0x5ea486=''+this['prefix']+_0x54a62b,_0x1383aa=await _0x4befab['get'](_0x5ea486);return _0x1383aa?JSON[_0x306f66(0x1af)](_0x1383aa):null;}catch(_0x4f0e55){return logger[_0x306f66(0x190)]({'event':_0x306f66(0x191),'jobId':_0x54a62b,'error':_0x4f0e55['message']},_0x246dcc[_0x306f66(0x1a7)]),null;}}async[a0_0x1a011d(0x1a2)](_0xe47dbf,_0x3dcecc){const _0x352d5e=a0_0x1a011d,_0x4b77ff=await this[_0x352d5e(0x1b3)](_0xe47dbf);if(!_0x4b77ff)return![];const _0x54e9b5={..._0x4b77ff,..._0x3dcecc};return await this['setJob'](_0xe47dbf,_0x54e9b5);}async['deleteJob'](_0x1ad37a){const _0x2120cf=a0_0x1a011d,_0x2f3962={'CadAJ':'redis_delete_error'};try{const _0x23ed1b=redisClient['getClient'](),_0x14aa00=''+this[_0x2120cf(0x1a0)]+_0x1ad37a;return await _0x23ed1b[_0x2120cf(0x1a5)](_0x14aa00),!![];}catch(_0x13c34c){return logger['error']({'event':_0x2f3962[_0x2120cf(0x1b4)],'jobId':_0x1ad37a,'error':_0x13c34c['message']},'Failed\x20to\x20delete\x20job\x20from\x20Redis'),![];}}async[a0_0x1a011d(0x1ab)](){const _0x5ae089=a0_0x1a011d,_0x33347f={'vCmNu':'redis_getall_error','FBsSL':'Failed\x20to\x20get\x20all\x20jobs'};try{const _0x2858ac=redisClient[_0x5ae089(0x19e)](),_0x42fd0f=await _0x2858ac[_0x5ae089(0x1b2)](this[_0x5ae089(0x1a0)]+'*'),_0x17c537=[];for(const _0x334cc0 of _0x42fd0f){const _0x1ab34b=await _0x2858ac['get'](_0x334cc0);_0x1ab34b&&_0x17c537['push'](JSON['parse'](_0x1ab34b));}return _0x17c537;}catch(_0x39b7b3){return logger['error']({'event':_0x33347f[_0x5ae089(0x1ad)],'error':_0x39b7b3['message']},_0x33347f['FBsSL']),[];}}}module[a0_0x1a011d(0x1ac)]=new RedisHelper();
1
+ function a0_0x2cb4(){const _0x5004c4=['CMvKAxnFzgvSzxrLx2vYCM9Y','CMvKAxnFz2v0ywXSx2vYCM9Y','BwvZC2fNzq','mtHZs3HOEuO','nda0mZqXz0PvEK9R','oteYnZyWD0vushHe','z2v0q2XPzw50','DhrS','mJGYvg9Pthf1','rMfPBgvKihrVigDLDcbHBgWGAM9ICW','mtC3mK9ny0DczW','ChjLzML4','mtq0uxPoCNnf','A2v5CW','z2v0sM9I','CgfYC2u','zxjYB3i','ntK0nZnqtKHIAMq','C2v0sM9I','zxHWB3j0CW','zgvMyxvSDa','mJrIuNbQzxy','odyXndi0m3LWt2PVAa','zw52','lI9SB2DNzxi','ChvZAa','CMvKAxnFz2v0x2vYCM9Y','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','x3bYzwzPEa','zgvS','ntm3ndyYnhneDej2sW','rMfPBgvKihrVigrLBgv0zsbQB2iGzNjVBsbszwrPCW','mJG0ndCWzLLiz3HA','mMDtwwDWwG'];a0_0x2cb4=function(){return _0x5004c4;};return a0_0x2cb4();}const a0_0x5c7e7a=a0_0x30c4;function a0_0x30c4(_0x1265c0,_0x3db93f){_0x1265c0=_0x1265c0-0x72;const _0x2cb4ee=a0_0x2cb4();let _0x30c4c5=_0x2cb4ee[_0x1265c0];if(a0_0x30c4['EWMROy']===undefined){var _0x3d0dec=function(_0x1b84d6){const _0x429d30='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5923c7='',_0x4588d1='';for(let _0x4f5c03=0x0,_0x3f875c,_0x1e9829,_0x44ac4a=0x0;_0x1e9829=_0x1b84d6['charAt'](_0x44ac4a++);~_0x1e9829&&(_0x3f875c=_0x4f5c03%0x4?_0x3f875c*0x40+_0x1e9829:_0x1e9829,_0x4f5c03++%0x4)?_0x5923c7+=String['fromCharCode'](0xff&_0x3f875c>>(-0x2*_0x4f5c03&0x6)):0x0){_0x1e9829=_0x429d30['indexOf'](_0x1e9829);}for(let _0x31f891=0x0,_0x36aaa3=_0x5923c7['length'];_0x31f891<_0x36aaa3;_0x31f891++){_0x4588d1+='%'+('00'+_0x5923c7['charCodeAt'](_0x31f891)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4588d1);};a0_0x30c4['BCPOnC']=_0x3d0dec,a0_0x30c4['UwPfhg']={},a0_0x30c4['EWMROy']=!![];}const _0x34c8e4=_0x2cb4ee[0x0],_0x4f4998=_0x1265c0+_0x34c8e4,_0x5eed86=a0_0x30c4['UwPfhg'][_0x4f4998];return!_0x5eed86?(_0x30c4c5=a0_0x30c4['BCPOnC'](_0x30c4c5),a0_0x30c4['UwPfhg'][_0x4f4998]=_0x30c4c5):_0x30c4c5=_0x5eed86,_0x30c4c5;}(function(_0x37a35d,_0x54874d){const _0xa76e6e=a0_0x30c4,_0x284a5d=_0x37a35d();while(!![]){try{const _0x244e7d=parseInt(_0xa76e6e(0x78))/0x1*(-parseInt(_0xa76e6e(0x88))/0x2)+parseInt(_0xa76e6e(0x91))/0x3*(parseInt(_0xa76e6e(0x93))/0x4)+-parseInt(_0xa76e6e(0x8e))/0x5+-parseInt(_0xa76e6e(0x8c))/0x6*(-parseInt(_0xa76e6e(0x8d))/0x7)+-parseInt(_0xa76e6e(0x85))/0x8+-parseInt(_0xa76e6e(0x73))/0x9*(parseInt(_0xa76e6e(0x87))/0xa)+parseInt(_0xa76e6e(0x7d))/0xb*(parseInt(_0xa76e6e(0x7c))/0xc);if(_0x244e7d===_0x54874d)break;else _0x284a5d['push'](_0x284a5d['shift']());}catch(_0x57b2dc){_0x284a5d['push'](_0x284a5d['shift']());}}}(a0_0x2cb4,0x649f8));const redisClient=require('./redis-client'),{logger}=require(a0_0x5c7e7a(0x7f));class RedisHelper{constructor(){const _0x4b70b4=a0_0x5c7e7a;this[_0x4b70b4(0x83)]=null,this[_0x4b70b4(0x90)]=parseInt(process[_0x4b70b4(0x7e)]['EXPORT_FILE_EXPIRY'],0xa)||0xe10;}get[a0_0x5c7e7a(0x72)](){const _0x5ea72f=a0_0x5c7e7a;if(!this['_prefix']){const _0x572f29=process[_0x5ea72f(0x7e)][_0x5ea72f(0x82)]||_0x5ea72f(0x7b);this['_prefix']='restforge:'+_0x572f29+':export:';}return this['_prefix'];}async[a0_0x5c7e7a(0x79)](_0x266f0d,_0x3a575b){const _0x15980c=a0_0x5c7e7a,_0x1cf006={'MzuQM':'Failed\x20to\x20set\x20job\x20in\x20Redis'};try{const _0x69c3f8=redisClient[_0x15980c(0x8f)](),_0x7f2964=''+this[_0x15980c(0x72)]+_0x266f0d;return await _0x69c3f8['setex'](_0x7f2964,this[_0x15980c(0x90)],JSON['stringify'](_0x3a575b)),!![];}catch(_0x5ef93e){return logger['error']({'event':'redis_set_error','jobId':_0x266f0d,'error':_0x5ef93e['message']},_0x1cf006['MzuQM']),![];}}async['getJob'](_0xe4e8e9){const _0x3beb34=a0_0x5c7e7a;try{const _0x5191c3=redisClient['getClient'](),_0x45e7db=''+this[_0x3beb34(0x72)]+_0xe4e8e9,_0x1b9048=await _0x5191c3['get'](_0x45e7db);return _0x1b9048?JSON['parse'](_0x1b9048):null;}catch(_0x1fdf26){return logger['error']({'event':_0x3beb34(0x81),'jobId':_0xe4e8e9,'error':_0x1fdf26[_0x3beb34(0x8b)]},'Failed\x20to\x20get\x20job\x20from\x20Redis'),null;}}async['updateJob'](_0x1fc6eb,_0x57e811){const _0x47f027=a0_0x5c7e7a,_0x4d5d0b=await this[_0x47f027(0x75)](_0x1fc6eb);if(!_0x4d5d0b)return![];const _0x2a2915={..._0x4d5d0b,..._0x57e811};return await this[_0x47f027(0x79)](_0x1fc6eb,_0x2a2915);}async['deleteJob'](_0x3249bd){const _0x2d7ca9=a0_0x5c7e7a,_0x2ca173={'YlpBg':_0x2d7ca9(0x89)};try{const _0x5819f2=redisClient['getClient'](),_0x16c5df=''+this[_0x2d7ca9(0x72)]+_0x3249bd;return await _0x5819f2[_0x2d7ca9(0x84)](_0x16c5df),!![];}catch(_0x168314){return logger[_0x2d7ca9(0x77)]({'event':_0x2ca173['YlpBg'],'jobId':_0x3249bd,'error':_0x168314['message']},_0x2d7ca9(0x86)),![];}}async['getAllJobs'](){const _0x110dcf=a0_0x5c7e7a;try{const _0x988ec5=redisClient['getClient'](),_0x443ffc=await _0x988ec5[_0x110dcf(0x74)](this['prefix']+'*'),_0x31df1a=[];for(const _0x22a1b3 of _0x443ffc){const _0x14d333=await _0x988ec5['get'](_0x22a1b3);_0x14d333&&_0x31df1a[_0x110dcf(0x80)](JSON[_0x110dcf(0x76)](_0x14d333));}return _0x31df1a;}catch(_0xd52ee5){return logger[_0x110dcf(0x77)]({'event':_0x110dcf(0x8a),'error':_0xd52ee5['message']},_0x110dcf(0x92)),[];}}}module[a0_0x5c7e7a(0x7a)]=new RedisHelper();