@restforgejs/platform 5.2.16 → 5.3.6

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 (203) hide show
  1. package/bin/restforge-designer-linux +0 -0
  2. package/bin/restforge-designer.exe +0 -0
  3. package/build-info.json +2 -2
  4. package/cli/consumer-deploy.js +1 -1
  5. package/cli/consumer.js +1 -1
  6. package/cli/designer.js +3 -0
  7. package/generators/cli/endpoint/create.js +69 -6
  8. package/generators/cli/fast-track.js +7 -7
  9. package/generators/cli/payload/sync.js +16 -6
  10. package/generators/cli/project/auth.js +2 -2
  11. package/generators/cli/project/sdk.js +112 -0
  12. package/generators/lib/arg-parser.js +6 -0
  13. package/generators/lib/auth/processor-generator.js +5 -3
  14. package/generators/lib/auth/templates/processor/google.js.tmpl +178 -0
  15. package/generators/lib/auth/templates/processor/login.js.tmpl +8 -8
  16. package/generators/lib/auth/templates/processor/logout.js.tmpl +2 -2
  17. package/generators/lib/auth/templates/processor/me.js.tmpl +2 -2
  18. package/generators/lib/auth/templates/processor/refresh.js.tmpl +6 -6
  19. package/generators/lib/auth/templates/processor/register.js.tmpl +4 -4
  20. package/generators/lib/auth/templates/processor/reset-password.js.tmpl +7 -7
  21. package/generators/lib/auth/templates/rfx_auth.js.tmpl +3 -0
  22. package/generators/lib/generators/model-generator.js +46 -59
  23. package/generators/lib/help-generator.js +41 -3
  24. package/generators/lib/payload/endpoint-schema-validator.js +8 -3
  25. package/generators/lib/payload/field-projections.js +116 -0
  26. package/generators/lib/payload/payload-runner.js +164 -48
  27. package/generators/lib/payload/schema-diff.js +108 -0
  28. package/generators/lib/sdk/generator.js +719 -0
  29. package/generators/lib/sdk/naming.js +48 -0
  30. package/generators/lib/sdk/runtime/README.md.tmpl +207 -0
  31. package/generators/lib/sdk/runtime/auth-client.js +186 -0
  32. package/generators/lib/sdk/runtime/deploy.mjs.tmpl +85 -0
  33. package/generators/lib/sdk/runtime/http-client.js +81 -0
  34. package/generators/lib/sdk/runtime/resource-client.js +59 -0
  35. package/generators/lib/sdk/runtime/storage.js +31 -0
  36. package/generators/lib/templates/dashboard-catalog.js +1 -1
  37. package/generators/lib/templates/db-connection-env.js +1 -1
  38. package/generators/lib/templates/dbschema-catalog.js +1 -1
  39. package/generators/lib/templates/field-validation-catalog.js +1 -1
  40. package/generators/lib/templates/mysql-template.js +1 -1
  41. package/generators/lib/templates/oracle-template.js +1 -1
  42. package/generators/lib/templates/postgres-template.js +1 -1
  43. package/generators/lib/templates/query-declarative-catalog.js +1 -1
  44. package/generators/lib/templates/sqlite-template.js +1 -1
  45. package/generators/lib/utils/cli-output.js +40 -0
  46. package/generators/lib/utils/config-resolver.js +61 -0
  47. package/generators/lib/utils/database-introspector.js +28 -5
  48. package/integrity-manifest.json +18 -18
  49. package/package.json +3 -2
  50. package/scripts/verify-integrity.js +1 -1
  51. package/server.js +1 -1
  52. package/src/components/handlers/adjust_handler.js +1 -1
  53. package/src/components/handlers/audit_handler.js +1 -1
  54. package/src/components/handlers/delete_handler.js +1 -1
  55. package/src/components/handlers/export_handler.js +1 -1
  56. package/src/components/handlers/import_handler.js +1 -1
  57. package/src/components/handlers/insert_handler.js +1 -1
  58. package/src/components/handlers/update_handler.js +1 -1
  59. package/src/components/handlers/upload_handler.js +1 -1
  60. package/src/components/handlers/workflow_handler.js +1 -1
  61. package/src/components/integrations/webhook.js +1 -1
  62. package/src/consumers/baseConsumer.js +1 -1
  63. package/src/consumers/declarativeMapper.js +1 -1
  64. package/src/consumers/handlers/apiHandler.js +1 -1
  65. package/src/consumers/handlers/consoleHandler.js +1 -1
  66. package/src/consumers/handlers/databaseHandler.js +1 -1
  67. package/src/consumers/handlers/index.js +1 -1
  68. package/src/consumers/handlers/kafkaHandler.js +1 -1
  69. package/src/consumers/index.js +1 -1
  70. package/src/consumers/messageTransformer.js +1 -1
  71. package/src/consumers/validator.js +1 -1
  72. package/src/core/db/dialect/base-dialect.js +1 -1
  73. package/src/core/db/dialect/index.js +1 -1
  74. package/src/core/db/dialect/mysql-dialect.js +1 -1
  75. package/src/core/db/dialect/oracle-dialect.js +1 -1
  76. package/src/core/db/dialect/postgres-dialect.js +1 -1
  77. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  78. package/src/core/db/flatten-helper.js +1 -1
  79. package/src/core/db/query-builder-error.js +1 -1
  80. package/src/core/db/query-builder.js +1 -1
  81. package/src/core/db/relation-helper.js +1 -1
  82. package/src/core/handlers/delete_handler.js +1 -1
  83. package/src/core/handlers/insert_handler.js +1 -1
  84. package/src/core/handlers/update_handler.js +1 -1
  85. package/src/core/models/base-model.js +1 -1
  86. package/src/core/utils/cache-manager.js +1 -1
  87. package/src/core/utils/component-engine.js +1 -1
  88. package/src/core/utils/context-builder.js +1 -1
  89. package/src/core/utils/datetime-formatter.js +1 -1
  90. package/src/core/utils/datetime-parser.js +1 -1
  91. package/src/core/utils/db.js +1 -1
  92. package/src/core/utils/logger.js +1 -1
  93. package/src/core/utils/payload-loader.js +1 -1
  94. package/src/core/utils/security-checks.js +1 -1
  95. package/src/middleware/body-options.js +1 -1
  96. package/src/middleware/cors.js +1 -1
  97. package/src/middleware/idempotency.js +1 -1
  98. package/src/middleware/rate-limiter.js +1 -1
  99. package/src/middleware/request-logger.js +1 -1
  100. package/src/middleware/security-headers.js +1 -1
  101. package/src/models/base-model-mysql.js +1 -1
  102. package/src/models/base-model-oracle.js +1 -1
  103. package/src/models/base-model-sqlite.js +1 -1
  104. package/src/models/base-model.js +1 -1
  105. package/src/pro/caching/redis-client.js +1 -1
  106. package/src/pro/caching/redis-helper.js +1 -1
  107. package/src/pro/consumers/baseConsumer.js +1 -1
  108. package/src/pro/consumers/declarativeMapper.js +1 -1
  109. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  110. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  111. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  112. package/src/pro/consumers/handlers/index.js +1 -1
  113. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  114. package/src/pro/consumers/index.js +1 -1
  115. package/src/pro/consumers/messageTransformer.js +1 -1
  116. package/src/pro/consumers/validator.js +1 -1
  117. package/src/pro/database/base-model-mysql.js +1 -1
  118. package/src/pro/database/base-model-oracle.js +1 -1
  119. package/src/pro/database/base-model-sqlite.js +1 -1
  120. package/src/pro/database/db-mysql.js +1 -1
  121. package/src/pro/database/db-oracle.js +1 -1
  122. package/src/pro/database/db-sqlite.js +1 -1
  123. package/src/pro/excel/excel-generator.js +1 -1
  124. package/src/pro/excel/excel-parser.js +1 -1
  125. package/src/pro/excel/export-service.js +1 -1
  126. package/src/pro/excel/export_handler.js +1 -1
  127. package/src/pro/excel/import-service.js +1 -1
  128. package/src/pro/excel/import-validator.js +1 -1
  129. package/src/pro/excel/import_handler.js +1 -1
  130. package/src/pro/excel/upsert-builder.js +1 -1
  131. package/src/pro/idgen/idgen-routes.js +1 -1
  132. package/src/pro/integrations/lookup-resolver.js +1 -1
  133. package/src/pro/integrations/upload-handler-v2.js +1 -1
  134. package/src/pro/integrations/upload-handler.js +1 -1
  135. package/src/pro/integrations/webhook.js +1 -1
  136. package/src/pro/locking/lock-routes.js +1 -1
  137. package/src/pro/locking/resource-lock-manager.js +1 -1
  138. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  139. package/src/pro/messaging/kafkaService.js +1 -1
  140. package/src/pro/messaging/messagehubService.js +1 -1
  141. package/src/pro/messaging/rabbitmqService.js +1 -1
  142. package/src/pro/scheduler/job-manager.js +1 -1
  143. package/src/pro/scheduler/job-routes.js +1 -1
  144. package/src/pro/scheduler/job-validator.js +1 -1
  145. package/src/pro/storage/base-storage-provider.js +1 -1
  146. package/src/pro/storage/file-metadata-helper.js +1 -1
  147. package/src/pro/storage/index.js +1 -1
  148. package/src/pro/storage/local-storage-provider.js +1 -1
  149. package/src/pro/storage/s3-storage-provider.js +1 -1
  150. package/src/pro/storage/upload-cleanup-job.js +1 -1
  151. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  152. package/src/pro/storage/upload-pending-tracker.js +1 -1
  153. package/src/pro/websocket/broadcast-helper.js +1 -1
  154. package/src/pro/websocket/index.js +1 -1
  155. package/src/pro/websocket/livesync-server.js +1 -1
  156. package/src/pro/websocket/ws-broadcaster.js +1 -1
  157. package/src/services/export-service.js +1 -1
  158. package/src/services/import-service.js +1 -1
  159. package/src/services/kafkaConsumerService.js +1 -1
  160. package/src/services/kafkaService.js +1 -1
  161. package/src/services/messagehubService.js +1 -1
  162. package/src/services/rabbitmqService.js +1 -1
  163. package/src/utils/cache-invalidation-registry.js +1 -1
  164. package/src/utils/cache-manager.js +1 -1
  165. package/src/utils/component-engine.js +1 -1
  166. package/src/utils/config-extractor.js +1 -1
  167. package/src/utils/consumerLogger.js +1 -1
  168. package/src/utils/context-builder.js +1 -1
  169. package/src/utils/dashboard-helpers.js +1 -1
  170. package/src/utils/dateHelper.js +1 -1
  171. package/src/utils/datetime-formatter.js +1 -1
  172. package/src/utils/datetime-parser.js +1 -1
  173. package/src/utils/db-bootstrap.js +1 -1
  174. package/src/utils/db-mysql.js +1 -1
  175. package/src/utils/db-oracle.js +1 -1
  176. package/src/utils/db-sqlite.js +1 -1
  177. package/src/utils/db.js +1 -1
  178. package/src/utils/demo-generator.js +1 -1
  179. package/src/utils/excel-generator.js +1 -1
  180. package/src/utils/excel-parser.js +1 -1
  181. package/src/utils/file-watcher.js +1 -1
  182. package/src/utils/id-generator.js +1 -1
  183. package/src/utils/idempotency-manager.js +1 -1
  184. package/src/utils/import-validator.js +1 -1
  185. package/src/utils/license-client.js +1 -1
  186. package/src/utils/lock-manager.js +1 -1
  187. package/src/utils/logger.js +1 -1
  188. package/src/utils/lookup-resolver.js +1 -1
  189. package/src/utils/payload-loader.js +1 -1
  190. package/src/utils/processor-response.js +1 -1
  191. package/src/utils/rabbitmq.js +1 -1
  192. package/src/utils/redis-client.js +1 -1
  193. package/src/utils/redis-helper.js +1 -1
  194. package/src/utils/request-scope.js +1 -1
  195. package/src/utils/security-checks.js +1 -1
  196. package/src/utils/service-resolver.js +1 -1
  197. package/src/utils/shutdown-coordinator.js +1 -1
  198. package/src/utils/soft-delete-dashboard-guard.js +1 -1
  199. package/src/utils/sql-table-extractor.js +1 -1
  200. package/src/utils/trusted-keys.js +1 -1
  201. package/src/utils/upload-handler.js +1 -1
  202. package/src/utils/upsert-builder.js +1 -1
  203. package/src/utils/workflow-hook-executor.js +1 -1
@@ -1 +1 @@
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
+ const a0_0x1b2f16=a0_0x1aa9;(function(_0x31b63f,_0xbec962){const _0x44a3f8=a0_0x1aa9,_0xef286e=_0x31b63f();while(!![]){try{const _0x144eea=-parseInt(_0x44a3f8(0x162))/0x1+-parseInt(_0x44a3f8(0x119))/0x2+-parseInt(_0x44a3f8(0x120))/0x3+-parseInt(_0x44a3f8(0x161))/0x4*(-parseInt(_0x44a3f8(0x15e))/0x5)+parseInt(_0x44a3f8(0x14c))/0x6*(-parseInt(_0x44a3f8(0x11a))/0x7)+-parseInt(_0x44a3f8(0x15b))/0x8*(parseInt(_0x44a3f8(0x141))/0x9)+parseInt(_0x44a3f8(0x125))/0xa;if(_0x144eea===_0xbec962)break;else _0xef286e['push'](_0xef286e['shift']());}catch(_0x2c4f55){_0xef286e['push'](_0xef286e['shift']());}}}(a0_0x5134,0x85f71));function a0_0x5134(){const _0x5f2c70=['Aw5JBhvKzxm','zujiCwi','x2vUC3vYzuLUAxrPywXPEMvK','v1jjveuGBg9JAYbLCNjVCG','zxzHBa','CMvQzwn0','ywXS','x2LUAxrdB25MAwC','odqZntm4BgHhwK9f','n2X6wgrlwa','C2v0zxG','tg9JAYbYzwXLyxnLigvYCM9Y','CMvHzf9SB2nRx3jLBgvHC2vK','EfvvueO','zgP1Ave','mJa4mJyXoe5ju3jQva','D3jPDgvFBg9JA193ywL0Aw5N','CMvSzwfZzuXVy2S','sMrVywK','y2fIDui','mZaWnZiWmZbJDK9KzgC','C3rYyxrLz3K','x3jLDhj5rgvSyxK','D2PLzuG','zxjYB3i','te9ds19esvnuuKLcvvrfrf9tvfjbvevhwq','Bg9JA19YzwXLyxnLx25VDf9VD25LCG','z2vUzxjHDgvmB2nRvMfSDwu','D3jPDgu','vwrUuLe','sMvlse4','zxHWB3j0CW','D29YA2vYswq','CMvHzf9SB2nRx3DHAxrPBMC','lcbZDhjHDgvNEtOG','x2LUAxrPywXPEMvK','uKvbrcbSB2nRigvYCM9Y','uKvbrcbSB2nRihjLBgvHC2vK','BwvZC2fNzq','CMvHzf9SB2nRx2fJCxvPCMvK','x2vUywjSzwq','DxvPza','C2v0','uKvbrcbSB2nRigfJCxvPCMuGDgLTzw91Da','D29YA2vYlq','lI9SB2DNzxi','yNvPBgrmB2nRs2v5','zw5HyMXLza','mZC2odC5nxrit0nhwa','CurOu1m','zgvMyxvSDfruta','x3DVCMTLCKLK','q2fUBM90ihjLBgvHC2uGBg9JAYaTig5VDcbVD25LCG','z2v0q2XPzw50','D3jPDgvFBg9JA19YzwPLy3rLza','CMvHzf9SB2nRx2vYCM9Y','CMv0CNLdB3vUDa','z2v0','BgfZDeLUzgv4t2y','mtC1mdeZnfDyyMPtBG','Cg93','ChjLzML4','x3jLDhj5q291BNq','CMvHza','zgvIDwC','x3n0CMf0zwD5','rKfxCwq','tg9JAYbuveWGzxH0zw5Kzwq','sM1Lyva','BM93','q29jtKC','C2XLzxa','C3bSAxq','tg9JAYbJB25MAwD1CMf0Aw9UigLUAxrPywXPEMvKic0Gzw5HyMXLzdOG','og1ItNrotW','cIaGicaGicaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicaGicaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzxHWAxjLiIWGs0vzu1SXxsWGqvjhvLSYxsKkicaGicaGicbLBhnLcIaGicaGicaGicbYzxr1CM4GmaOGicaGicaGigvUzaOGicaGica','CMv0CNLezwXHEq','mtbwuNLWuuK','zwTRy3G','te9ds19esvnuuKLcvvrfrf9srvrswq','ndu5oty4wM5yCeLe','odyYmdq3tenZB2r5','Dhj1zq','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMv0CNKGBw9KzsK','x2rLzMf1BhruveW','CuHtywy','cIaGicaGicaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicaGicaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzgvSiIWGs0vzu1SXxsKkicaGicaGicbLBhnLcIaGicaGicaGicbYzxr1CM4GmaOGicaGicaGigvUzaOGicaGica','AMHVqLe','txv1u3O','D2fYBG','v2fPDgLUzYbMB3iGBg9JA3mGDg8GCMvSzwfZzq'];a0_0x5134=function(){return _0x5f2c70;};return a0_0x5134();}const redisClient=require('./redis-client'),{logger}=require(a0_0x1b2f16(0x13e)),{v4:uuidv4}=require(a0_0x1b2f16(0x13a));class LockManager{constructor(){const _0x5e4f72=a0_0x1b2f16,_0x5e22ea='4|2|1|3|7|5|6|0'[_0x5e4f72(0x159)]('|');let _0x1977b6=0x0;while(!![]){switch(_0x5e22ea[_0x1977b6++]){case'0':this[_0x5e4f72(0x134)]=![];continue;case'1':this[_0x5e4f72(0x10a)]=null;continue;case'2':this['_enabled']=null;continue;case'3':this['_retryCount']=null;continue;case'4':this['_prefix']=null;continue;case'5':this[_0x5e4f72(0x152)]=null;continue;case'6':this[_0x5e4f72(0x144)]=null;continue;case'7':this[_0x5e4f72(0x127)]=null;continue;}break;}}[a0_0x1b2f16(0x118)](){const _0x4636b7=a0_0x1b2f16,_0x33c6d1={'ekkcx':function(_0x5e48f4,_0x8a1fc7,_0x4b1e55){return _0x5e48f4(_0x8a1fc7,_0x4b1e55);},'jhoBQ':'retry'};this['_prefix']='rf:lock:',this['_enabled']=process['env']['LOCK_DISTRIBUTED_ENABLED']===_0x4636b7(0x163),this['_defaultTTL']=parseInt(process['env']['LOCK_DISTRIBUTED_TTL'],0xa)||0xa,this[_0x4636b7(0x14f)]=parseInt(process['env'][_0x4636b7(0x160)],0xa)||0x3,this[_0x4636b7(0x127)]=_0x33c6d1[_0x4636b7(0x15f)](parseInt,process['env']['LOCK_DISTRIBUTED_RETRY_DELAY'],0xa)||0x64,this[_0x4636b7(0x152)]=process['env'][_0x4636b7(0x12a)]||_0x33c6d1[_0x4636b7(0x10d)],this['_workerId']=_0x4636b7(0x13d)+process['pid'],this[_0x4636b7(0x134)]=!![],logger['info']({'event':'lock_config_init','enabled':this[_0x4636b7(0x139)],'strategy':this['_strategy'],'ttl':this['_defaultTTL'],'retryCount':this[_0x4636b7(0x14f)],'retryDelay':this[_0x4636b7(0x127)],'workerId':this[_0x4636b7(0x144)]},_0x4636b7(0x15a)+this[_0x4636b7(0x139)]+_0x4636b7(0x133)+this[_0x4636b7(0x152)]);}['_ensureInitialized'](){const _0x599441=a0_0x1b2f16;!this['_initialized']&&this[_0x599441(0x118)]();}get[a0_0x1b2f16(0x14e)](){const _0x56f663=a0_0x1b2f16;return this[_0x56f663(0x113)](),this['_prefix'];}get['enabled'](){const _0x1b7855=a0_0x1b2f16;return this[_0x1b7855(0x113)](),this[_0x1b7855(0x139)];}get['defaultTTL'](){const _0x3ff798=a0_0x1b2f16;return this[_0x3ff798(0x113)](),this['_defaultTTL'];}get[a0_0x1b2f16(0x149)](){return this['_ensureInitialized'](),this['_retryCount'];}get[a0_0x1b2f16(0x15d)](){const _0x148852=a0_0x1b2f16;return this[_0x148852(0x113)](),this['_retryDelay'];}get[a0_0x1b2f16(0x126)](){return this['_ensureInitialized'](),this['_strategy'];}get[a0_0x1b2f16(0x131)](){const _0x41fca4=a0_0x1b2f16;return this[_0x41fca4(0x113)](),this[_0x41fca4(0x144)];}[a0_0x1b2f16(0x13f)](_0x127f82){const {module:_0x185a5f,endpoint:_0x4781ce,lockType:_0x33ec7f,recordId:_0x20ecca}=_0x127f82;if(_0x20ecca)return''+this['prefix']+_0x185a5f+':'+_0x4781ce+':'+_0x20ecca+':'+_0x33ec7f;return''+this['prefix']+_0x185a5f+':'+_0x4781ce+':'+_0x33ec7f;}['generateLockValue'](){const _0x37eff6=a0_0x1b2f16,_0x5734aa={'OQAVG':function(_0x51120e){return _0x51120e();}};return this[_0x37eff6(0x131)]+':'+_0x5734aa['OQAVG'](uuidv4)+':'+Date[_0x37eff6(0x156)]();}async['acquireReadLock'](_0x2580d3){const _0x45e9a3=a0_0x1b2f16,_0x5cb5b1={'nbeMH':function(_0x46d78e,_0x49494a){return _0x46d78e<_0x49494a;},'PojCm':_0x45e9a3(0x132),'wjeeH':'Waiting\x20for\x20WRITE\x20lock\x20to\x20release','yQTXI':'read_lock_timeout','UdnRQ':_0x45e9a3(0x148)};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x4a8265=this['buildLockKey']({..._0x2580d3,'lockType':'write'}),_0x57301b=this['buildLockKey']({..._0x2580d3,'lockType':_0x45e9a3(0x150)}),_0x44407f=this[_0x45e9a3(0x12c)]();try{const _0x19d94b=redisClient[_0x45e9a3(0x146)]();for(let _0x34c47f=0x0;_0x5cb5b1['nbeMH'](_0x34c47f,this[_0x45e9a3(0x149)]);_0x34c47f++){const _0x371fa7=await _0x19d94b['get'](_0x4a8265);if(!_0x371fa7){await _0x19d94b['incr'](_0x57301b),await _0x19d94b['expire'](_0x57301b,this[_0x45e9a3(0x143)]);const _0x280499=_0x57301b+':'+_0x44407f;return await _0x19d94b[_0x45e9a3(0x11b)](_0x280499,this['defaultTTL'],_0x44407f),logger['debug']({'event':_0x45e9a3(0x138),'key':_0x57301b,'value':_0x44407f},'READ\x20lock\x20acquired'),{'success':!![],'lockValue':_0x44407f,'lockKey':_0x280499};}logger[_0x45e9a3(0x151)]({'event':_0x5cb5b1['PojCm'],'writeKey':_0x4a8265,'attempt':_0x34c47f},_0x5cb5b1[_0x45e9a3(0x128)]),await this['sleep'](this[_0x45e9a3(0x15d)]*Math[_0x45e9a3(0x14d)](0x2,_0x34c47f));}return logger['warn']({'event':_0x5cb5b1['yQTXI'],'key':_0x57301b},_0x45e9a3(0x13c)),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x2c5fc3){return logger[_0x45e9a3(0x129)]({'event':_0x5cb5b1[_0x45e9a3(0x12e)],'error':_0x2c5fc3['message']},_0x45e9a3(0x135)),{'success':![],'lockValue':null,'lockKey':null};}}async['acquireWriteLock'](_0x156993){const _0x34eff3=a0_0x1b2f16,_0x57b28d={'LkURu':function(_0x308e6b,_0x52a784){return _0x308e6b===_0x52a784;},'djuiQ':'reject','uvzgz':function(_0x57e3a3,_0x3766e3){return _0x57e3a3===_0x3766e3;},'cVJSn':'WRITE\x20lock\x20acquired\x20(reject\x20mode)','NZZmb':_0x34eff3(0x147),'qHSaf':function(_0x46aa12,_0x58ab70){return _0x46aa12(_0x58ab70);},'MuuSz':function(_0x58f6fb,_0x15b7d0){return _0x58f6fb===_0x15b7d0;},'cabuB':'write_lock_acquired','qDhSS':'retry','CoING':_0x34eff3(0x109),'eBHqb':_0x34eff3(0x110),'FAWqd':'write_lock_timeout','xUUPJ':'WRITE\x20lock\x20acquire\x20timeout','xJiLX':_0x34eff3(0x114)};if(!this[_0x34eff3(0x140)])return{'success':!![],'lockValue':null,'lockKey':null};const _0x4b6ee3=this[_0x34eff3(0x13f)]({..._0x156993,'lockType':_0x34eff3(0x12d)}),_0x395ba1=this['buildLockKey']({..._0x156993,'lockType':'read'}),_0x10d3fb=this['generateLockValue']();try{const _0x26f236=redisClient[_0x34eff3(0x146)]();if(_0x57b28d['LkURu'](this[_0x34eff3(0x126)],_0x57b28d[_0x34eff3(0x11f)])){const _0x5bf305=await _0x26f236['set'](_0x4b6ee3,_0x10d3fb,'EX',this['defaultTTL'],'NX');if(_0x57b28d['uvzgz'](_0x5bf305,'OK'))return logger['debug']({'event':'write_lock_acquired','key':_0x4b6ee3,'value':_0x10d3fb,'strategy':_0x34eff3(0x116)},_0x57b28d['cVJSn']),{'success':!![],'lockValue':_0x10d3fb,'lockKey':_0x4b6ee3};return logger[_0x34eff3(0x151)]({'event':_0x57b28d['NZZmb'],'key':_0x4b6ee3},'WRITE\x20lock\x20rejected\x20-\x20record\x20busy'),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x19756d=0x0;_0x19756d<this[_0x34eff3(0x149)];_0x19756d++){const [_0x3fd89a,_0x40191e]=await Promise[_0x34eff3(0x117)]([_0x26f236[_0x34eff3(0x14a)](_0x395ba1),_0x26f236['get'](_0x4b6ee3)]);if(!_0x40191e&&(!_0x3fd89a||_0x57b28d['uvzgz'](_0x57b28d[_0x34eff3(0x10b)](parseInt,_0x3fd89a),0x0))){const _0x3aa6ef=await _0x26f236[_0x34eff3(0x13b)](_0x4b6ee3,_0x10d3fb,'EX',this[_0x34eff3(0x143)],'NX');if(_0x57b28d[_0x34eff3(0x10e)](_0x3aa6ef,'OK'))return logger[_0x34eff3(0x151)]({'event':_0x57b28d[_0x34eff3(0x124)],'key':_0x4b6ee3,'value':_0x10d3fb,'strategy':_0x57b28d[_0x34eff3(0x142)]},_0x57b28d[_0x34eff3(0x157)]),{'success':!![],'lockValue':_0x10d3fb,'lockKey':_0x4b6ee3};}logger['debug']({'event':_0x34eff3(0x121),'writeKey':_0x4b6ee3,'readCount':_0x3fd89a,'attempt':_0x19756d},_0x57b28d[_0x34eff3(0x112)]),await this[_0x34eff3(0x158)](this['retryDelay']*Math[_0x34eff3(0x14d)](0x2,_0x19756d));}return logger[_0x34eff3(0x10f)]({'event':_0x57b28d[_0x34eff3(0x153)],'key':_0x4b6ee3},_0x57b28d[_0x34eff3(0x11e)]),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x4d9ef2){return logger[_0x34eff3(0x129)]({'event':'write_lock_error','error':_0x4d9ef2[_0x34eff3(0x137)]},_0x57b28d['xJiLX']),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x1b2f16(0x122)](_0x2f94d3,_0xd80683){const _0x46ba5f=a0_0x1b2f16,_0x55b7d1={'sqaia':':read:','KENSw':function(_0x4f7a59,_0x158a89){return _0x4f7a59>_0x158a89;},'wTPEi':function(_0x28d642,_0x56936b){return _0x28d642(_0x56936b);},'JmeaP':_0x46ba5f(0x11d),'oBYnK':function(_0x14d446,_0x65a038){return _0x14d446===_0x65a038;},'GXVrM':'write_lock_released','Jdoai':'WRITE\x20lock\x20released','cZMnD':_0x46ba5f(0x11c)};if(!this['enabled']||!_0x2f94d3)return!![];try{const _0xd0ed2c=redisClient[_0x46ba5f(0x146)]();if(_0x2f94d3[_0x46ba5f(0x111)](_0x55b7d1['sqaia'])){await _0xd0ed2c['del'](_0x2f94d3);const _0x3b5628=_0x2f94d3['substring'](0x0,_0x2f94d3[_0x46ba5f(0x14b)](':')),_0x1ca49d=await _0xd0ed2c[_0x46ba5f(0x14a)](_0x3b5628);return _0x1ca49d&&_0x55b7d1['KENSw'](_0x55b7d1['wTPEi'](parseInt,_0x1ca49d),0x0)&&await _0xd0ed2c['decr'](_0x3b5628),logger[_0x46ba5f(0x151)]({'event':_0x55b7d1[_0x46ba5f(0x155)],'key':_0x2f94d3},_0x46ba5f(0x136)),!![];}const _0x2d4bfc=_0x46ba5f(0x10c),_0x38db61=await _0xd0ed2c[_0x46ba5f(0x115)](_0x2d4bfc,0x1,_0x2f94d3,_0xd80683);if(_0x55b7d1['oBYnK'](_0x38db61,0x1))return logger['debug']({'event':_0x55b7d1['GXVrM'],'key':_0x2f94d3},_0x55b7d1[_0x46ba5f(0x123)]),!![];return logger[_0x46ba5f(0x10f)]({'event':_0x46ba5f(0x12b),'key':_0x2f94d3},_0x46ba5f(0x145)),![];}catch(_0x5bc235){return logger[_0x46ba5f(0x129)]({'event':'lock_release_error','key':_0x2f94d3,'error':_0x5bc235[_0x46ba5f(0x137)]},_0x55b7d1['cZMnD']),![];}}async['extendLock'](_0x25cd8f,_0x30ac68,_0x4dd892=null){const _0x41e4d0=a0_0x1b2f16,_0x4f1ce7={'NkfLs':'lock_extended','IPPXS':_0x41e4d0(0x154),'JeKHN':'lock_extend_error','zsAdb':'Lock\x20extend\x20error'};if(!this['enabled']||!_0x25cd8f)return!![];try{const _0x1a597c=redisClient['getClient'](),_0x64414e=_0x41e4d0(0x15c),_0x1fb2a3=await _0x1a597c['eval'](_0x64414e,0x1,_0x25cd8f,_0x30ac68,_0x4dd892||this[_0x41e4d0(0x143)]);if(_0x1fb2a3===0x1)return logger['debug']({'event':_0x4f1ce7['NkfLs'],'key':_0x25cd8f,'ttl':_0x4dd892||this[_0x41e4d0(0x143)]},_0x4f1ce7['IPPXS']),!![];return![];}catch(_0x2811cd){return logger['error']({'event':_0x4f1ce7[_0x41e4d0(0x12f)],'key':_0x25cd8f,'error':_0x2811cd[_0x41e4d0(0x137)]},_0x4f1ce7['zsAdb']),![];}}['isEnabled'](){const _0x96d481=a0_0x1b2f16;return this[_0x96d481(0x140)];}[a0_0x1b2f16(0x158)](_0x38bba2){return new Promise(_0x5f3cdc=>setTimeout(_0x5f3cdc,_0x38bba2));}async['getLockInfo'](_0x1e211c){const _0x428c9c=a0_0x1b2f16,_0x26e5b8={'OxkDh':function(_0x5673b2,_0x482d17){return _0x5673b2||_0x482d17;},'qHiko':function(_0x518114,_0x43b1ba){return _0x518114(_0x43b1ba);}};if(!this['enabled'])return{'enabled':![]};try{const _0x3f433c=redisClient['getClient'](),_0x2fc02c=this[_0x428c9c(0x13f)]({..._0x1e211c,'lockType':_0x428c9c(0x12d)}),_0x194924=this['buildLockKey']({..._0x1e211c,'lockType':_0x428c9c(0x150)}),[_0x114e4f,_0xda817f]=await Promise['all']([_0x3f433c[_0x428c9c(0x14a)](_0x2fc02c),_0x3f433c[_0x428c9c(0x14a)](_0x194924)]);return{'enabled':!![],'writeLock':_0x26e5b8['OxkDh'](_0x114e4f,null),'readCount':_0x26e5b8['qHiko'](parseInt,_0xda817f)||0x0,'writeKey':_0x2fc02c,'readKey':_0x194924};}catch(_0x112fed){return{'enabled':!![],'error':_0x112fed['message']};}}}function a0_0x1aa9(_0x1ed0c2,_0x32d936){_0x1ed0c2=_0x1ed0c2-0x109;const _0x51341b=a0_0x5134();let _0x1aa98b=_0x51341b[_0x1ed0c2];if(a0_0x1aa9['mxZZJz']===undefined){var _0x38858e=function(_0x281469){const _0x15499d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x17d68a='',_0x36de5a='';for(let _0x537574=0x0,_0x558157,_0x9c6402,_0x55e860=0x0;_0x9c6402=_0x281469['charAt'](_0x55e860++);~_0x9c6402&&(_0x558157=_0x537574%0x4?_0x558157*0x40+_0x9c6402:_0x9c6402,_0x537574++%0x4)?_0x17d68a+=String['fromCharCode'](0xff&_0x558157>>(-0x2*_0x537574&0x6)):0x0){_0x9c6402=_0x15499d['indexOf'](_0x9c6402);}for(let _0x2fbe87=0x0,_0x329550=_0x17d68a['length'];_0x2fbe87<_0x329550;_0x2fbe87++){_0x36de5a+='%'+('00'+_0x17d68a['charCodeAt'](_0x2fbe87)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x36de5a);};a0_0x1aa9['qQHTap']=_0x38858e,a0_0x1aa9['apNdKk']={},a0_0x1aa9['mxZZJz']=!![];}const _0x50bb8e=_0x51341b[0x0],_0xeef73d=_0x1ed0c2+_0x50bb8e,_0x267ccc=a0_0x1aa9['apNdKk'][_0xeef73d];return!_0x267ccc?(_0x1aa98b=a0_0x1aa9['qQHTap'](_0x1aa98b),a0_0x1aa9['apNdKk'][_0xeef73d]=_0x1aa98b):_0x1aa98b=_0x267ccc,_0x1aa98b;}module[a0_0x1b2f16(0x130)]=new LockManager();
@@ -1 +1 @@
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
+ const a0_0x121ea4=a0_0x57a8;function a0_0x3e4d(){const _0x5b00ae=['odaWnZa4y1vQBKP1','C2vYDMvYx3n0yxj0Aw5N','zgjFDhjHBNnHy3rPB24','y3jLzgL0y2fYza','DhLWzq','cUkvOokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvOWRILzeGievUDMLYB25Tzw50idOG','ueP2su4','zgvIDwC','yKHPEgu','zxjY','sw50zxjUywWGC2vYDMvYigvYCM9Y','C3rKu2vYAwfSAxPLCNm','zxHWB3j0CW','icbjBMzVoIaGia','BgjIu1O','yxv0Ag9YAxPHDgLVBG','v0vRzfi','CMvMCMvZAf90B2TLBG','C3rKvgLTzuz1BMn0Aw9UCW','Ag9ZDa','EgDZrKS','svr6Dvy','icbvuKW6icaGia','t0PpzMS','y29UBMvJDgLVBG','C3rYAw5N','Dw5JyxvNAhrfEgnLChrPB24','BwvZC2fNzq','te9hx0rjuG','reiGuxvLCNK','CwvVDue','y29UzMLNrMLSzq','CgfYyw1Z','Aw5JBhvKzxm','revmrvrf','ChjPDMf0zv9RzxK','C3rHDhvZ','mZeYmdKYmvvsrNLuvG','q09ntuLu','yNrXvhy','zxHPDa','tK9erv9ftLy','u2vYDMvYihn0yxj0Aw5NoIa','BMfTzq','y3jLzgvUDgLHBhm','Bwf4','u1fmx0Xpr19tte9xx1riuKvtse9mra','BgvUz3rO','ugrxAgy','y3jLzgL0x2nHCMq','wuvmt3m','AxnbCNjHEq','w09lxsbtzxj2zxiGCMvHzhKGB24GCg9YDca','C3rHy2S','Dg9mB3DLCKnHC2u','Cg9YDa','Dhj1zq','z25lzhq','rermx0rst1a','CMvZB2X2zq','D0jtv3a','yMfZzvvYBa','Cgf0Aa','vwfMC2e','s0LxAwS','mLLXz1jLCq','C3rHCNrZv2L0Aa','CMvTB3rLqwrKCMvZCW','CgLUBW','w1jfrefdveveoMHHC2HD','rKfuquW6ia','AgvHBhrOq2HLy2S','y3jLyxrLv3jPDgvtDhjLyw0','EgfRDMS','Ewnfz0K','C3bSAxq','zgf0ywjHC2u','CgfZC3DVCMq','zMf0ywW','zMLSzv9SB2DNAw5Nx2vUywjSzwq','ywnJzxnZx3rVA2vU','u0vmrunu','Ahr0Cf9Yzxf1zxn0','AxntBg93','Bw9KDwXL','yxbWlMXVzW','Denwt0K','CNzjr0K','vgT2BMO','C3vIC3rYAw5N','CxvLCNK','oI8V','BwfW','Ec1Yzxf1zxn0lwLK','A3L2yvG','ChjVy2vZC193yxjUAw5N','qwHizuS','CMvZDgzVCMDL','zw52AxjVBM1LBNq','CgLU','zxjYB3i','zMXVB3i','q1jfu2m','C2vYDMLJzuLUzM8','Cg9ZDgDYzxnXBa','ntG5mti2nhH2DgLMuG','ChjPDMf0zwTLEq','iokvKqRILzeGifbVCNqGicaGicaGidOG','B3rW','Dxb0Aw1L','nJi5odq3CMnvwMTv','q1jjveLdquW','Bwf0y2G','ChjVAMvJDf9SB2fKzwq','yxbPA2v5','vwHbsMy','shv5vfy','uvzuCwi','w09lxsbqCM9Qzwn0igXVywrLzdOG','ChDK','D2fYBMLUzW','C3rHDhvZq29Kzq','y21HDxi','su5trvju','vMLYC2u','AMTJq2y','qvbqx1zfuLnjt04','A3rtvMG','C3nU','CgfKrw5K','D3jPDgu','DhjPBq','D2fYBG','Dg9Rzw4','B2jQzwn0','uhjVy2vZCYbxyxjUAw5NoIa','Bwv0Ag9K','Dg9ju09tDhjPBMC','zgf0ywjHC2vFy29UzMLN','nJe4nJyYmxPJqujzsG','w1jfrefdvevexq','svzmrem','Cg1IrNC','swHbBhi','Aw5MBZPIBhvLlhDHCM46EwvSBg93lgvYCM9YoNjLzcXKzwj1zZPNCMf5','zMfSC2u','wgDjtxK','C3zTEMq','qKvhsu4','DxjS','yKzOBvu','Dw5Oyw5KBgvKuMvQzwn0Aw9U','wufnzLi','vvbeqvrf','yM9KEq','rxjYB3i6ia','Dg9gAxHLza','yxbPx2TLEq','rMvpq3i','C2vJCMv0','zgjFCxvLCNK','D29WyLi','Aw5MBW','rermx0nsrufurq','BwTKAxjtEw5J','iokvKqRILzeGifbYB2PLy3qGicaGidOG','BevZC00','CMvWBgfJzq','ifTtte9xxq','Ahr0Cf9LCNjVCG','BenOtha','CMvXlMHLywrLCNmUyxv0Ag9YAxPHDgLVBG','q09MDNm','ndG5nJG2nwD1rKreuW','rejFueftu1DpuKq','ntC3ndy3nMHAy2vvAq','vfjbtLnbq1rjt05FuK9mtejbq0S','qLvwBM4','Dg9vChbLCKnHC2u','CM93C0fMzMvJDgvK','CgLK','zgv2zwXVCg1LBNq','u1LtoKHioK1noNnZ','zMf0ywXFzxjYB3i','EKD0vuy','AM9PBG','uNjzv1m','DgvZDa','ChjVAMvJDa','zw52','rxjYB3i','u1rbuLqGvfjbtLnbq1rjt04','y29Kzq','wfn1u1u','tM9Kzs5QCW','z2XVyMfSx2vYCM9Yx2HHBMrSzxjZx3nLDhvW','ig9UihbVCNqG','rxHwq0G','Bvf6ugW'];a0_0x3e4d=function(){return _0x5b00ae;};return a0_0x3e4d();}(function(_0x5d259b,_0x3f97fb){const _0x1b3467=a0_0x57a8,_0x328a74=_0x5d259b();while(!![]){try{const _0x6cb5b3=-parseInt(_0x1b3467(0x117))/0x1*(parseInt(_0x1b3467(0x1b1))/0x2)+parseInt(_0x1b3467(0x195))/0x3+-parseInt(_0x1b3467(0x170))/0x4+parseInt(_0x1b3467(0x156))/0x5+parseInt(_0x1b3467(0x158))/0x6+-parseInt(_0x1b3467(0x134))/0x7+-parseInt(_0x1b3467(0x112))/0x8;if(_0x6cb5b3===_0x3f97fb)break;else _0x328a74['push'](_0x328a74['shift']());}catch(_0x5603cd){_0x328a74['push'](_0x328a74['shift']());}}}(a0_0x3e4d,0x81db3));const pino=require(a0_0x121ea4(0x1b4)),fs=require('fs'),path=require(a0_0x121ea4(0x1ae));let logToFile=![],logDir='./logs',serviceName='restforge',sqlLogEnabled=![],sqlLogLevel='debug',sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':a0_0x121ea4(0x15f),'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':'{msg}','customColors':a0_0x121ea4(0x139),'hideObject':!![]},isDevelopment=process[a0_0x121ea4(0x166)][a0_0x121ea4(0x199)]!=='production',logLevel=process['env']['LOG_LEVEL']||a0_0x121ea4(0x14b);let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':'pino-pretty','options':prettyPrintOptions}:undefined,'base':{'service':a0_0x121ea4(0x10a),'version':process[a0_0x121ea4(0x166)][a0_0x121ea4(0x127)]||'1.0.5','env':process[a0_0x121ea4(0x166)]['NODE_ENV']||a0_0x121ea4(0x15e)},'timestamp':pino[a0_0x121ea4(0x182)]['isoTime'],'redact':{'paths':[a0_0x121ea4(0x154),'req.headers[\x22x-api-key\x22]','password',a0_0x121ea4(0x12e),'apiKey',a0_0x121ea4(0x157),'JWT_SECRET'],'censor':a0_0x121ea4(0x135)},'serializers':{'req':_0x59d2b1=>({'id':_0x59d2b1['id'],'method':_0x59d2b1['method'],'url':_0x59d2b1[a0_0x121ea4(0x13e)],'path':_0x59d2b1[a0_0x121ea4(0x1ae)],'remoteAddress':_0x59d2b1['ip']||_0x59d2b1[a0_0x121ea4(0x188)]?.[a0_0x121ea4(0x1b3)]}),'res':_0x351f06=>({'statusCode':_0x351f06['statusCode'],'headers':_0x351f06['getHeaders']?.()}),'err':pino[a0_0x121ea4(0x17b)][a0_0x121ea4(0x179)]}});function initFileLogging(){const _0x715bc2=a0_0x121ea4,_0x22eba5={'ycEgI':_0x715bc2(0x1a8),'QVTqb':function(_0x3e7c4c,_0x333026){return _0x3e7c4c===_0x333026;},'SDAqj':'debug','NDyUr':'app.log','kudtv':'error.log','wopbR':_0x715bc2(0x1bf),'KIWik':function(_0x50942d,_0x43c70f,_0x5e1166){return _0x50942d(_0x43c70f,_0x5e1166);},'GmwWY':_0x715bc2(0x14b)};if(fileLoggingInitialized)return;logToFile=process['env']['LOG_TO_FILE']===_0x22eba5['ycEgI'];const _0x54457a=process['env']['RESTFORGE_PROJECT_NAME']||'default';logDir=process[_0x715bc2(0x166)][_0x715bc2(0x18c)]||'./logs/'+_0x54457a,serviceName=process[_0x715bc2(0x166)]['SERVICE_NAME']||'restforge',sqlLogEnabled=_0x22eba5[_0x715bc2(0x11e)](process[_0x715bc2(0x166)]['SQL_LOG_ENABLED'],_0x22eba5[_0x715bc2(0x1ba)]),sqlLogLevel=process['env']['SQL_LOG_LEVEL']||_0x22eba5['SDAqj'],sqlLogParams=process[_0x715bc2(0x166)]['SQL_LOG_PARAMS']!==_0x715bc2(0x13a),sqlLogSlowThreshold=parseInt(process[_0x715bc2(0x166)][_0x715bc2(0x19e)])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x51b8c9=path[_0x715bc2(0x1ab)](process['cwd'](),logDir);try{!fs['existsSync'](_0x51b8c9)&&fs[_0x715bc2(0x14d)](_0x51b8c9,{'recursive':!![]});}catch(_0x6ff546){console['error']('Failed\x20to\x20create\x20log\x20directory\x20'+_0x51b8c9+':',_0x6ff546[_0x715bc2(0x18b)]),fileLoggingInitialized=!![];return;}const _0x266ca8=path['join'](_0x51b8c9,_0x22eba5['NDyUr']),_0x6dcfa1=path[_0x715bc2(0x162)](_0x51b8c9,_0x22eba5['kudtv']);try{appLogStream=fs[_0x715bc2(0x1b8)](_0x266ca8,{'flags':'a'}),errorLogStream=fs['createWriteStream'](_0x6dcfa1,{'flags':'a'}),fileLoggingInitialized=!![];const _0x4b7803={'event':_0x22eba5[_0x715bc2(0x14a)],'logDir':_0x51b8c9,'files':[_0x715bc2(0xfe),_0x22eba5['kudtv']]},_0x4f02ed='File\x20logging\x20enabled:\x20'+_0x51b8c9;logger[_0x715bc2(0x14b)](_0x4b7803,_0x4f02ed),_0x22eba5[_0x715bc2(0x1b0)](writeToFileLog,{..._0x4b7803,'level':'info','msg':_0x4f02ed,'time':new Date()[_0x715bc2(0x132)]()},_0x22eba5['GmwWY']);}catch(_0xbb2a67){console[_0x715bc2(0x10d)]('Failed\x20to\x20create\x20log\x20streams:',_0xbb2a67[_0x715bc2(0x18b)]),fileLoggingInitialized=!![];}}function writeToFileLog(_0x1e4bad,_0x273772){const _0x3326fc=a0_0x121ea4,_0xfa6e99={'XgIMy':function(_0x574088,_0x24b12d){return _0x574088===_0x24b12d;},'Ohmed':'error','bGTBq':function(_0x5b8c75,_0x2bda5c){return _0x5b8c75===_0x2bda5c;}};if(!logToFile||!appLogStream)return;const _0x54f87a={'service':serviceName,..._0x1e4bad},_0x670a01=JSON['stringify'](_0x54f87a)+'\x0a';appLogStream[_0x3326fc(0x12b)](_0x670a01),(_0xfa6e99[_0x3326fc(0x13b)](_0x273772,_0xfa6e99['Ohmed'])||_0xfa6e99['bGTBq'](_0x273772,_0x3326fc(0x1be)))&&(errorLogStream&&errorLogStream[_0x3326fc(0x12b)](_0x670a01));}function a0_0x57a8(_0x43350e,_0x36f36d){_0x43350e=_0x43350e-0xfe;const _0x3e4d10=a0_0x3e4d();let _0x57a85d=_0x3e4d10[_0x43350e];if(a0_0x57a8['skSxeT']===undefined){var _0x34b8d2=function(_0x22b341){const _0x90513d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3f4063='',_0x380635='';for(let _0x3c4ed9=0x0,_0x3ca0e0,_0x11d123,_0x503ec0=0x0;_0x11d123=_0x22b341['charAt'](_0x503ec0++);~_0x11d123&&(_0x3ca0e0=_0x3c4ed9%0x4?_0x3ca0e0*0x40+_0x11d123:_0x11d123,_0x3c4ed9++%0x4)?_0x3f4063+=String['fromCharCode'](0xff&_0x3ca0e0>>(-0x2*_0x3c4ed9&0x6)):0x0){_0x11d123=_0x90513d['indexOf'](_0x11d123);}for(let _0x4c15e9=0x0,_0x234570=_0x3f4063['length'];_0x4c15e9<_0x234570;_0x4c15e9++){_0x380635+='%'+('00'+_0x3f4063['charCodeAt'](_0x4c15e9)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x380635);};a0_0x57a8['RTrmGi']=_0x34b8d2,a0_0x57a8['AWpQOU']={},a0_0x57a8['skSxeT']=!![];}const _0x21df47=_0x3e4d10[0x0],_0x289b52=_0x43350e+_0x21df47,_0x3b56c6=a0_0x57a8['AWpQOU'][_0x289b52];return!_0x3b56c6?(_0x57a85d=a0_0x57a8['RTrmGi'](_0x57a85d),a0_0x57a8['AWpQOU'][_0x289b52]=_0x57a85d):_0x57a85d=_0x3b56c6,_0x57a85d;}const createRequestLogger=(_0x3b4068={})=>{return logger['child'](_0x3b4068);},logServerStart=_0x361f25=>{const _0x2a5c7b=a0_0x121ea4,_0x5c450b={'PdWhf':'RESTFORGE\x20RUNTIME\x20SERVER','nDSxE':function(_0x380ad8,_0x569d96){return _0x380ad8/_0x569d96;},'JGuVJ':'N/A','qbGGr':'Default','COfvs':_0x2a5c7b(0x14b)},_0x513eb0=_0x5c450b[_0x2a5c7b(0x1a0)],_0x2d12c0=Math[_0x2a5c7b(0x19d)](0x0,0x37-_0x513eb0['length']),_0x47757e=Math[_0x2a5c7b(0x10e)](_0x5c450b['nDSxE'](_0x2d12c0,0x2)),_0x39ac41=_0x2d12c0-_0x47757e,_0x167f53='║'+'\x20'['repeat'](_0x47757e)+_0x513eb0+'\x20'['repeat'](_0x39ac41)+'║',_0x19ecc2='\x0a╔═══════════════════════════════════════════════════════╗\x0a'+_0x167f53+_0x2a5c7b(0x175)+(_0x361f25[_0x2a5c7b(0x10b)]||_0x2a5c7b(0x16b))['padEnd'](0x26)+_0x2a5c7b(0x14e)+(_0x361f25[_0x2a5c7b(0x165)]||_0x5c450b['JGuVJ'])[_0x2a5c7b(0x12a)](0x26)+_0x2a5c7b(0x114)+String(_0x361f25[_0x2a5c7b(0x1a7)]||0xbb8)[_0x2a5c7b(0x12a)](0x26)+'\x20║\x0a║\x20\x20Config\x20\x20\x20\x20\x20\x20:\x20'+(_0x361f25['configFile']||_0x5c450b['qbGGr'])[_0x2a5c7b(0x12a)](0x26)+'\x20║\x0a║\x20\x20API\x20Key\x20\x20\x20\x20\x20:\x20'+(_0x361f25['apiKey']?'ACTIVE':'NOT\x20ACTIVE')[_0x2a5c7b(0x12a)](0x26)+'\x20║\x0a╚═══════════════════════════════════════════════════════╝';console['log'](_0x19ecc2);const _0x2ee52c={'event':_0x2a5c7b(0x171),'project':_0x361f25[_0x2a5c7b(0x165)],'port':_0x361f25[_0x2a5c7b(0x1a7)],'config':_0x361f25[_0x2a5c7b(0x18f)],'apiKeyEnabled':!!_0x361f25['apiKey']};logger[_0x2a5c7b(0x14b)](_0x2ee52c),writeToFileLog({..._0x2ee52c,'level':_0x5c450b['COfvs'],'msg':_0x2a5c7b(0x19a)+_0x361f25[_0x2a5c7b(0x165)]+_0x2a5c7b(0x16d)+_0x361f25['port'],'time':new Date()[_0x2a5c7b(0x132)]()},_0x5c450b[_0x2a5c7b(0x155)]);},logServerReady=_0x588aba=>{const _0x328a1e=a0_0x121ea4,_0x58b9fa={'LKJNt':'server_ready','Edgoe':function(_0x2ef764,_0x25e90c,_0x14e996){return _0x2ef764(_0x25e90c,_0x14e996);},'gnKdt':'info'},_0xf58175={'event':_0x58b9fa['LKJNt'],'port':_0x588aba[_0x328a1e(0x1a7)],'module':_0x588aba[_0x328a1e(0x1c4)],'healthCheck':_0x588aba['healthCheck'],'serviceInfo':_0x588aba['serviceInfo'],'baseUrl':_0x588aba[_0x328a1e(0x1ad)]},_0x5ef9ca=_0x328a1e(0x1a4)+_0x588aba[_0x328a1e(0x1a7)];logger['info'](_0xf58175,_0x5ef9ca),_0x58b9fa['Edgoe'](writeToFileLog,{..._0xf58175,'level':_0x58b9fa[_0x328a1e(0x1a9)],'msg':_0x5ef9ca,'time':new Date()['toISOString']()},_0x58b9fa[_0x328a1e(0x1a9)]),_0x588aba['healthCheck']&&logger['info']('\x20\x20Health:\x20'+_0x588aba[_0x328a1e(0x1b7)]),_0x588aba[_0x328a1e(0x110)]&&logger[_0x328a1e(0x14b)](_0x328a1e(0x17d)+_0x588aba[_0x328a1e(0x110)]),_0x588aba['baseUrl']&&logger[_0x328a1e(0x14b)](_0x328a1e(0x186)+_0x588aba[_0x328a1e(0x1ad)]);},logProjectLoaded=(_0x522cf3,_0x35683a)=>{const _0x4a36f3=a0_0x121ea4,_0x10fb5f={'btqTv':_0x4a36f3(0x14b)},_0x21248c={'event':_0x4a36f3(0x11a),'project':_0x522cf3,'path':_0x35683a},_0x4443e6=_0x4a36f3(0x11f)+_0x522cf3;logger[_0x4a36f3(0x14b)](_0x21248c,_0x4443e6),writeToFileLog({..._0x21248c,'level':'info','msg':_0x4443e6,'time':new Date()['toISOString']()},_0x10fb5f[_0x4a36f3(0x197)]);},logEndpointRegistered=(_0x474d25,_0x2b6cad)=>{const _0xecbbcb=a0_0x121ea4,_0x3ab7ec={'tuYAA':'endpoint_registered','IwhvQ':function(_0x55431f,_0x44d01e,_0xdfe998){return _0x55431f(_0x44d01e,_0xdfe998);},'dTKme':_0xecbbcb(0x177)},_0x4a439c={'event':_0x3ab7ec['tuYAA'],'endpoint':_0x474d25,'route':_0x2b6cad},_0x486579='\x20\x20→\x20'+_0x474d25+':\x20'+_0x2b6cad;logger['debug'](_0x4a439c,_0x486579),_0x3ab7ec['IwhvQ'](writeToFileLog,{..._0x4a439c,'level':_0xecbbcb(0x177),'msg':_0x486579,'time':new Date()[_0xecbbcb(0x132)]()},_0x3ab7ec['dTKme']);},logDatabaseConfig=_0x513853=>{const _0x5173b1=a0_0x121ea4,_0x40b3e5={'bJMkJ':_0x5173b1(0x133),'lEssM':function(_0x16b57f,_0x51e9e5,_0x4fcdf5){return _0x16b57f(_0x51e9e5,_0x4fcdf5);},'FqWBo':'debug'},_0x23e34d={'event':_0x40b3e5['bJMkJ'],'host':_0x513853[_0x5173b1(0x183)],'port':_0x513853['port'],'database':_0x513853[_0x5173b1(0x1bc)],'type':_0x513853['type'],'user':_0x513853['user']},_0x150db5='Database:\x20'+_0x513853[_0x5173b1(0x174)]+_0x5173b1(0x104)+_0x513853['host']+':'+_0x513853[_0x5173b1(0x1a7)]+'/'+_0x513853[_0x5173b1(0x1bc)];logger[_0x5173b1(0x177)](_0x23e34d,_0x150db5),_0x40b3e5[_0x5173b1(0x14f)](writeToFileLog,{..._0x23e34d,'level':'debug','msg':_0x150db5,'time':new Date()['toISOString']()},_0x40b3e5['FqWBo']);},logRequest=(_0x43d75b,_0x5ca714,_0x5aecda)=>{const _0x559c40=a0_0x121ea4,_0x2d4683={'xgsFK':_0x559c40(0x14b),'YAMfR':function(_0x4bdf7c,_0x3d3356){return _0x4bdf7c>=_0x3d3356;},'lbbSZ':_0x559c40(0x10d),'AhHeK':'warn'},_0x49260a={'event':_0x559c40(0x1c2),'method':_0x43d75b[_0x559c40(0x131)],'path':_0x43d75b[_0x559c40(0x1ae)],'statusCode':_0x5ca714['statusCode'],'durationMs':_0x5aecda,'ip':_0x43d75b['ip']},_0x5e013f=_0x43d75b['method']+'\x20'+_0x43d75b['path']+'\x20-\x20'+_0x5ca714[_0x559c40(0x122)]+'\x20('+_0x5aecda+'ms)';let _0x5eb8f4=_0x2d4683[_0x559c40(0x184)];if(_0x2d4683['YAMfR'](_0x5ca714['statusCode'],0x1f4))_0x5eb8f4=_0x2d4683[_0x559c40(0x17e)],logger[_0x559c40(0x10d)](_0x49260a,_0x5e013f);else _0x2d4683[_0x559c40(0x141)](_0x5ca714[_0x559c40(0x122)],0x190)?(_0x5eb8f4=_0x2d4683[_0x559c40(0x109)],logger['warn'](_0x49260a,_0x5e013f)):logger[_0x559c40(0x14b)](_0x49260a,_0x5e013f);writeToFileLog({..._0x49260a,'level':_0x5eb8f4,'msg':_0x5e013f,'time':new Date()[_0x559c40(0x132)]()},_0x5eb8f4);},SENSITIVE_PARAM_PATTERNS=[a0_0x121ea4(0x1bd),'passwd',a0_0x121ea4(0x120),a0_0x121ea4(0x12e),'access_token','refresh_token',a0_0x121ea4(0x148),'api_secret',a0_0x121ea4(0x11b),a0_0x121ea4(0x146),'credential',a0_0x121ea4(0x19c),a0_0x121ea4(0x10c),a0_0x121ea4(0x115),'private_key','privatekey'],redactSensitiveParams=(_0x51b986,_0x5f2bc7)=>{const _0x4c6845=a0_0x121ea4,_0x419989={'gJhsX':_0x4c6845(0x135),'BUVnn':function(_0x211345,_0x3e298b){return _0x211345>_0x3e298b;},'Tkvnj':function(_0x271103,_0x5dafc4){return _0x271103===_0x5dafc4;}};if(!_0x51b986||_0x419989[_0x4c6845(0x101)](_0x51b986['length'],0x0))return _0x51b986;const _0x5ba269=_0x5f2bc7[_0x4c6845(0x1a6)](),_0x34bd99=_0x5ba269['match'](/\(([^)]+)\)\s*values/i);let _0x39f7a0=[];_0x34bd99&&(_0x39f7a0=_0x34bd99[0x1][_0x4c6845(0x1bb)](',')['map'](_0xa4db2=>_0xa4db2[_0x4c6845(0x12c)]()['toLowerCase']()));const _0xf46142=_0x5ba269[_0x4c6845(0x119)](/set\s+(.+?)(?:\s+where|$)/i);if(_0xf46142){const _0x51e7b6=_0xf46142[0x1],_0x36240d=_0x51e7b6['match'](/(\w+)\s*=/g);_0x36240d&&(_0x39f7a0=_0x36240d[_0x4c6845(0x105)](_0x5e6c47=>_0x5e6c47[_0x4c6845(0x150)](/\s*=/,'')['trim']()['toLowerCase']()));}return _0x51b986['map']((_0x2ac7cc,_0x314495)=>{const _0x20109e=_0x4c6845;if(_0x39f7a0[_0x314495]){const _0x2e0368=_0x39f7a0[_0x314495],_0x48148b=SENSITIVE_PARAM_PATTERNS['some'](_0x196706=>_0x2e0368['includes'](_0x196706));if(_0x48148b)return _0x419989['gJhsX'];}if(typeof _0x2ac7cc===_0x20109e(0x189)&&_0x419989[_0x20109e(0x15a)](_0x2ac7cc[_0x20109e(0x19f)],0x20)){if(/^[a-zA-Z0-9+/=_.-]+$/[_0x20109e(0x164)](_0x2ac7cc)&&_0x2ac7cc['includes']('.'))return'[REDACTED:token]';if(/^[a-fA-F0-9]{32,}$/[_0x20109e(0x164)](_0x2ac7cc))return _0x20109e(0x1b5);}return _0x2ac7cc;});},parseQueryMetadata=_0x69f7b7=>{const _0x22f8d2=a0_0x121ea4,_0xddf53c={'HuyTV':_0x22f8d2(0x1c1),'qeouA':_0x22f8d2(0x124),'svmzd':'UPDATE','YELOs':_0x22f8d2(0x192),'KTgtL':_0x22f8d2(0x168),'BXcUw':'TRANSACTION_BEGIN','weJgG':_0x22f8d2(0x196),'BvkEP':_0x22f8d2(0x159),'RxDeh':'CREATE','bHixe':_0x22f8d2(0x1aa)},_0x149c18=_0x69f7b7[_0x22f8d2(0x12c)](),_0x3ccd07=_0x149c18['toUpperCase']();let _0x4340c6='UNKNOWN',_0x3318d1=null;if(_0x3ccd07['startsWith'](_0xddf53c['HuyTV'])){_0x4340c6=_0xddf53c[_0x22f8d2(0x11d)];const _0x22fcba=_0x149c18[_0x22f8d2(0x119)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x3318d1=_0x22fcba?_0x22fcba[0x1]:null;}else{if(_0x3ccd07[_0x22f8d2(0x1b2)]('INSERT')){_0x4340c6=_0xddf53c[_0x22f8d2(0x18e)];const _0x1d44f8=_0x149c18[_0x22f8d2(0x119)](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x3318d1=_0x1d44f8?_0x1d44f8[0x1]:null;}else{if(_0x3ccd07['startsWith'](_0x22f8d2(0x142))){_0x4340c6=_0xddf53c[_0x22f8d2(0x13c)];const _0x36553c=_0x149c18['match'](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x3318d1=_0x36553c?_0x36553c[0x1]:null;}else{if(_0x3ccd07[_0x22f8d2(0x1b2)](_0xddf53c[_0x22f8d2(0x1a2)])){_0x4340c6=_0x22f8d2(0x192);const _0x1b7252=_0x149c18['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x3318d1=_0x1b7252?_0x1b7252[0x1]:null;}else{if(_0x3ccd07[_0x22f8d2(0x1b2)](_0x22f8d2(0x13d))||_0x3ccd07['startsWith'](_0xddf53c['KTgtL']))_0x4340c6=_0xddf53c['BXcUw'];else{if(_0x3ccd07[_0x22f8d2(0x1b2)](_0xddf53c['weJgG']))_0x4340c6='TRANSACTION_COMMIT';else{if(_0x3ccd07[_0x22f8d2(0x1b2)]('ROLLBACK'))_0x4340c6=_0xddf53c['BvkEP'];else{if(_0x3ccd07[_0x22f8d2(0x1b2)](_0xddf53c['RxDeh']))_0x4340c6=_0x22f8d2(0x14c);else{if(_0x3ccd07['startsWith']('ALTER'))_0x4340c6='DDL_ALTER';else _0x3ccd07[_0x22f8d2(0x1b2)]('DROP')&&(_0x4340c6=_0xddf53c[_0x22f8d2(0x178)]);}}}}}}}}return{'type':_0x4340c6,'table':_0x3318d1};},startQueryTimer=()=>{const _0x50631e={'CRESc':function(_0x110fce,_0xc45094){return _0x110fce(_0xc45094);},'jkcCf':function(_0x397703,_0x2240c5){return _0x397703+_0x2240c5;}},_0x4e6756=process['hrtime']();return()=>{const _0x2f4a31=a0_0x57a8,[_0x31f9f9,_0x1a28ec]=process['hrtime'](_0x4e6756);return _0x50631e[_0x2f4a31(0x10f)](parseFloat,_0x50631e[_0x2f4a31(0x126)](_0x31f9f9*0x3e8,_0x1a28ec/0xf4240)[_0x2f4a31(0x145)](0x2));};},logQuery=(_0x2a814f,_0x5f3396=[],_0x4af2b2={})=>{const _0x85897d=a0_0x121ea4,_0x1fa9ee={'PJvIN':_0x85897d(0x149),'dSjSL':function(_0x32b42,_0x17a797){return _0x32b42(_0x17a797);},'RrYWS':'sql_query','AmGvi':function(_0x179f31,_0x189c18){return _0x179f31>_0x189c18;},'oyRTa':function(_0xae49e9,_0x10c87d){return _0xae49e9!==_0x10c87d;},'HPiIY':function(_0x2e8fb4,_0x368768){return _0x2e8fb4>_0x368768;},'OJOfk':function(_0x171a00,_0xfa9082){return _0x171a00||_0xfa9082;},'TElAf':'unknown','ExVCH':_0x85897d(0x151),'QYiyS':'info','FeOCr':function(_0x1b5b40,_0x5493f9,_0x2bd53d){return _0x1b5b40(_0x5493f9,_0x2bd53d);}};if(!sqlLogEnabled){logger[_0x85897d(0x177)]({'event':_0x1fa9ee[_0x85897d(0x176)],'query':_0x2a814f[_0x85897d(0x102)](0x0,0xc8),'paramCount':_0x5f3396[_0x85897d(0x19f)]},_0x85897d(0x18d));return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x85897d(0x111)}=_0x4af2b2,{type:_0x58d3da,table:_0x3eeb28}=_0x1fa9ee['dSjSL'](parseQueryMetadata,_0x2a814f),_0x472ad3={'event':_0x1fa9ee[_0x85897d(0x163)],'queryType':_0x58d3da,'table':_0x3eeb28,'query':_0x2a814f,'paramCount':_0x5f3396[_0x85897d(0x19f)],'dbType':dbType};sqlLogParams&&_0x1fa9ee['AmGvi'](_0x5f3396[_0x85897d(0x19f)],0x0)&&(_0x472ad3[_0x85897d(0x190)]=redactSensitiveParams(_0x5f3396,_0x2a814f));_0x1fa9ee['oyRTa'](duration,null)&&(_0x472ad3['durationMs']=duration,_0x472ad3[_0x85897d(0x1c3)]=_0x1fa9ee['HPiIY'](duration,sqlLogSlowThreshold));rowsAffected!==null&&(_0x472ad3[_0x85897d(0x15c)]=rowsAffected);const _0xe81bae=_0x1fa9ee[_0x85897d(0x187)](_0x3eeb28,_0x1fa9ee['TElAf']);let _0xb1cf95='['+_0x58d3da+']\x20'+_0xe81bae;duration!==null&&(_0xb1cf95+='\x20('+duration+'ms)');const _0x341518=duration!==null&&duration>sqlLogSlowThreshold;let _0x5b6f7c=_0x85897d(0x177);if(_0x341518)_0xb1cf95+=_0x1fa9ee[_0x85897d(0x16e)],_0x5b6f7c='warn',logger['warn'](_0x472ad3,_0xb1cf95);else sqlLogLevel===_0x85897d(0x14b)?(_0x5b6f7c=_0x1fa9ee['QYiyS'],logger['info'](_0x472ad3,_0xb1cf95)):logger['debug'](_0x472ad3,_0xb1cf95);_0x1fa9ee[_0x85897d(0x147)](writeToFileLog,{..._0x472ad3,'level':_0x5b6f7c,'msg':_0xb1cf95,'time':new Date()[_0x85897d(0x132)]()},_0x5b6f7c);},logTransaction=(_0x5e3e84,_0x28491f)=>{const _0x4f1fc4=a0_0x121ea4,_0x2bc135={'olGfO':_0x4f1fc4(0x177)},_0x57391b={'event':_0x4f1fc4(0x172),'status':_0x5e3e84,'queryCount':_0x28491f},_0xf52ade='Transaction\x20'+_0x5e3e84;logger[_0x4f1fc4(0x177)](_0x57391b,_0xf52ade),writeToFileLog({..._0x57391b,'level':_0x2bc135['olGfO'],'msg':_0xf52ade,'time':new Date()[_0x4f1fc4(0x132)]()},'debug');},redactObject=_0x2f52f9=>{const _0x2abf36=a0_0x121ea4,_0x3afb14={'cmaur':function(_0x27bf59,_0x21730c){return _0x27bf59!==_0x21730c;},'xLafv':_0x2abf36(0x1bd),'nRcTI':'passwd','tCVOI':'token','LbZFF':'secret','kyvaX':'apikey','BJxKC':_0x2abf36(0x173),'bGbvW':_0x2abf36(0x129),'caYhP':_0x2abf36(0x193),'Virse':_0x2abf36(0x181),'INLAD':'[REDACTED]','OxSja':_0x2abf36(0x12f),'Uafsa':function(_0x5aeeaf,_0x47a903){return _0x5aeeaf(_0x47a903);}};if(!_0x2f52f9||_0x3afb14[_0x2abf36(0x123)](typeof _0x2f52f9,_0x2abf36(0x12f)))return _0x2f52f9;const _0x286aa9=[_0x3afb14['xLafv'],_0x3afb14['nRcTI'],'pwd',_0x3afb14[_0x2abf36(0xff)],_0x3afb14['LbZFF'],_0x3afb14[_0x2abf36(0x107)],_0x2abf36(0x146),_0x2abf36(0x17f),_0x3afb14['BJxKC'],_0x2abf36(0x1a1),'cvv',_0x3afb14['bGbvW'],'pin',_0x3afb14['caYhP'],_0x2abf36(0x113),_0x3afb14[_0x2abf36(0x125)],_0x2abf36(0x1c0)],_0x6d692e=Array[_0x2abf36(0x1a3)](_0x2f52f9)?[..._0x2f52f9]:{..._0x2f52f9};for(const _0x56f890 of Object['keys'](_0x6d692e)){const _0x2d36ed=_0x56f890['toLowerCase']();if(_0x286aa9['some'](_0x44b5f1=>_0x2d36ed[_0x2abf36(0x191)](_0x44b5f1)))_0x6d692e[_0x56f890]=_0x3afb14['INLAD'];else typeof _0x6d692e[_0x56f890]===_0x3afb14['OxSja']&&_0x6d692e[_0x56f890]!==null&&(_0x6d692e[_0x56f890]=_0x3afb14[_0x2abf36(0x1af)](redactObject,_0x6d692e[_0x56f890]));}return _0x6d692e;},logError=(_0x9e3e8b,_0xcdb6e0={},_0x530311=null)=>{const _0x2ac2ab=a0_0x121ea4,_0x50461c={'oNhHs':function(_0x1f93cc,_0x2d3187,_0x332fcd){return _0x1f93cc(_0x2d3187,_0x332fcd);},'mowoC':_0x2ac2ab(0x10d)},_0x4e0f8c={'event':_0x2ac2ab(0x10d),'errorName':_0x9e3e8b['name']||_0x2ac2ab(0x167),'errorMessage':_0x9e3e8b['message'],'errorCode':_0x9e3e8b[_0x2ac2ab(0x169)]||null,'stack':_0x9e3e8b[_0x2ac2ab(0x1a5)],..._0xcdb6e0},_0x3fdf48=_0x530311||_0x2ac2ab(0x144)+_0x9e3e8b['message'];logger[_0x2ac2ab(0x10d)](_0x4e0f8c,_0x3fdf48),_0x50461c['oNhHs'](writeToFileLog,{..._0x4e0f8c,'level':'error','msg':_0x3fdf48,'time':new Date()['toISOString']()},_0x50461c['mowoC']);},logFatalError=(_0x2cb99a,_0x190727={},_0xb01acb=null)=>{const _0x4c078f=a0_0x121ea4,_0x518801={'rvIGI':_0x4c078f(0x160),'GaMpr':'Error','DeLJv':_0x4c078f(0x118),'wBSWp':function(_0x40bfb2,_0x4b0687,_0x66dd9f){return _0x40bfb2(_0x4b0687,_0x66dd9f);},'fLeEq':_0x4c078f(0x10d)},_0x4544f8={'event':_0x518801[_0x4c078f(0x100)],'errorName':_0x2cb99a['name']||_0x518801['GaMpr'],'errorMessage':_0x2cb99a['message'],'errorCode':_0x2cb99a[_0x4c078f(0x169)]||null,'stack':_0x2cb99a['stack'],'severity':_0x518801['DeLJv'],..._0x190727},_0x350053=_0xb01acb||_0x4c078f(0x1b6)+_0x2cb99a[_0x4c078f(0x18b)];logger['fatal'](_0x4544f8,_0x350053),_0x518801[_0x4c078f(0x1ac)](writeToFileLog,{..._0x4544f8,'level':'fatal','msg':_0x350053,'time':new Date()['toISOString']()},_0x518801['fLeEq']);},logHttpError=(_0x3f4023,_0x230a20,_0x4e0ecb={})=>{const _0x4ec0b9=a0_0x121ea4,_0x194156={'vREaj':_0x4ec0b9(0x152),'yLLZV':'user-agent','JJlTC':'x-request-id','MiIUR':function(_0x38a5a6,_0x100fdb){return _0x38a5a6(_0x100fdb);},'xakvk':function(_0x9a1402,_0x1f650c){return _0x9a1402>=_0x1f650c;},'FIBsd':function(_0x2ecce0,_0x33d3ca,_0x3a8bfe){return _0x2ecce0(_0x33d3ca,_0x3a8bfe);},'IVLDC':_0x4ec0b9(0x10d),'IhAlr':'warn','mQzPl':function(_0x1d0781,_0x24c863){return _0x1d0781>=_0x24c863;}},_0xf09c8a={'event':_0x194156['vREaj'],'errorName':_0x3f4023['name']||'Error','errorMessage':_0x3f4023[_0x4ec0b9(0x18b)],'errorCode':_0x3f4023['code']||_0x3f4023[_0x4ec0b9(0x122)]||0x1f4,'stack':_0x3f4023[_0x4ec0b9(0x1a5)],'method':_0x230a20?.['method'],'url':_0x230a20?.[_0x4ec0b9(0x13e)]||_0x230a20?.['originalUrl'],'path':_0x230a20?.['path'],'ip':_0x230a20?.['ip']||_0x230a20?.['connection']?.['remoteAddress'],'userAgent':_0x230a20?.['get']?.(_0x194156['yLLZV']),'requestId':_0x230a20?.['id']||_0x230a20?.['headers']?.[_0x194156['JJlTC']],'body':_0x230a20?.[_0x4ec0b9(0x143)]?_0x194156['MiIUR'](redactObject,_0x230a20['body']):undefined,'query':_0x230a20?.[_0x4ec0b9(0x103)],..._0x4e0ecb},_0x153c13=_0x3f4023['statusCode']||_0x3f4023[_0x4ec0b9(0x194)]||0x1f4,_0xad6e0c='HTTP\x20'+_0x153c13+':\x20'+_0x3f4023['message'];_0x194156[_0x4ec0b9(0x1b9)](_0x153c13,0x1f4)?logger[_0x4ec0b9(0x10d)](_0xf09c8a,_0xad6e0c):logger[_0x4ec0b9(0x12d)](_0xf09c8a,_0xad6e0c),_0x194156['FIBsd'](writeToFileLog,{..._0xf09c8a,'level':_0x153c13>=0x1f4?_0x194156['IVLDC']:_0x194156[_0x4ec0b9(0x138)],'msg':_0xad6e0c,'time':new Date()[_0x4ec0b9(0x132)]()},_0x194156[_0x4ec0b9(0x16f)](_0x153c13,0x1f4)?_0x194156[_0x4ec0b9(0x136)]:'warn');},logUncaughtError=(_0x48cc37,_0x19473e)=>{const _0x52b73b=a0_0x121ea4,_0x4e3eae={'lChLp':_0x52b73b(0x167),'wOxwf':function(_0x56fda5,_0x3705d2){return _0x56fda5(_0x3705d2);}},_0x5ef4f9={'event':_0x48cc37,'errorName':_0x19473e?.[_0x52b73b(0x19b)]||_0x4e3eae[_0x52b73b(0x153)],'errorMessage':_0x19473e?.['message']||_0x4e3eae['wOxwf'](String,_0x19473e),'errorCode':_0x19473e?.['code']||null,'stack':_0x19473e?.[_0x52b73b(0x1a5)],'severity':_0x52b73b(0x118),'processId':process[_0x52b73b(0x15d)],'memoryUsage':process['memoryUsage'](),'uptime':process[_0x52b73b(0x116)]()},_0x5e6c7a='['+_0x48cc37[_0x52b73b(0x15b)]()+']\x20'+(_0x19473e?.['message']||_0x19473e);logger['fatal'](_0x5ef4f9,_0x5e6c7a),writeToFileLog({..._0x5ef4f9,'level':_0x52b73b(0x1be),'msg':_0x5e6c7a,'time':new Date()[_0x52b73b(0x132)]()},_0x52b73b(0x10d));},setupGlobalErrorHandlers=()=>{const _0x88ec5a=a0_0x121ea4,_0x2d2dc6={'ktSVh':_0x88ec5a(0x18a),'pmbFw':function(_0xe1f91c,_0x17cbe4,_0x2a236e){return _0xe1f91c(_0x17cbe4,_0x2a236e);},'XSuSU':_0x88ec5a(0x140),'zGtUF':_0x88ec5a(0x121),'ITzuV':'Global\x20error\x20handlers\x20initialized','WEkdR':function(_0x190151,_0x404c40,_0x57df1e){return _0x190151(_0x404c40,_0x57df1e);},'bFhmU':'info'};process['on'](_0x2d2dc6[_0x88ec5a(0x128)],_0x331859=>{const _0x22f394=_0x88ec5a;logUncaughtError(_0x2d2dc6[_0x22f394(0x128)],_0x331859),_0x2d2dc6[_0x22f394(0x137)](setTimeout,()=>{const _0x415817=_0x22f394;process[_0x415817(0x198)](0x1);},0x3e8);}),process['on'](_0x88ec5a(0x140),(_0xcac2c4,_0x5dff91)=>{const _0x50b7d7=_0x88ec5a,_0x4ab195=_0xcac2c4 instanceof Error?_0xcac2c4:new Error(String(_0xcac2c4));_0x2d2dc6[_0x50b7d7(0x137)](logUncaughtError,_0x2d2dc6[_0x50b7d7(0x16a)],_0x4ab195);}),process['on'](_0x2d2dc6[_0x88ec5a(0x161)],_0x7ae380=>{const _0x2a76e4=_0x88ec5a;logger[_0x2a76e4(0x12d)]({'event':_0x2a76e4(0x108),'name':_0x7ae380['name'],'message':_0x7ae380['message'],'stack':_0x7ae380[_0x2a76e4(0x1a5)]},_0x2a76e4(0x130)+_0x7ae380[_0x2a76e4(0x18b)]);});const _0x106bfd={'event':_0x88ec5a(0x16c)},_0x31f4a3=_0x2d2dc6[_0x88ec5a(0x185)];logger[_0x88ec5a(0x14b)](_0x106bfd,_0x31f4a3),_0x2d2dc6[_0x88ec5a(0x180)](writeToFileLog,{..._0x106bfd,'level':_0x2d2dc6[_0x88ec5a(0x13f)],'msg':_0x31f4a3,'time':new Date()['toISOString']()},_0x88ec5a(0x14b));},createErrorHandlerMiddleware=()=>{const _0x377a48=a0_0x121ea4,_0x20fbe8={'UhAJf':_0x377a48(0x106)};return(_0x324c1f,_0x554c35,_0x3d5c8f,_0x143b88)=>{const _0x25c3ef=_0x377a48;logHttpError(_0x324c1f,_0x554c35);const _0x5502f2=_0x324c1f['statusCode']||_0x324c1f[_0x25c3ef(0x194)]||0x1f4;_0x3d5c8f[_0x25c3ef(0x194)](_0x5502f2)['json']({'success':![],'error':_0x5502f2>=0x1f4?_0x25c3ef(0x17a):_0x324c1f['message'],'requestId':_0x554c35['id']||_0x554c35['headers']?.[_0x20fbe8[_0x25c3ef(0x11c)]]||null});};};module[a0_0x121ea4(0x17c)]={'logger':logger,'createRequestLogger':createRequestLogger,'logServerStart':logServerStart,'logServerReady':logServerReady,'logProjectLoaded':logProjectLoaded,'logEndpointRegistered':logEndpointRegistered,'logDatabaseConfig':logDatabaseConfig,'logRequest':logRequest,'logQuery':logQuery,'logTransaction':logTransaction,'startQueryTimer':startQueryTimer,'parseQueryMetadata':parseQueryMetadata,'redactSensitiveParams':redactSensitiveParams,'initFileLogging':initFileLogging,'logError':logError,'logFatalError':logFatalError,'logHttpError':logHttpError,'logUncaughtError':logUncaughtError,'setupGlobalErrorHandlers':setupGlobalErrorHandlers,'createErrorHandlerMiddleware':createErrorHandlerMiddleware,'redactObject':redactObject,'SQL_LOG_CONFIG':{'enabled':sqlLogEnabled,'level':sqlLogLevel,'logParams':sqlLogParams,'slowThreshold':sqlLogSlowThreshold},'FILE_LOG_CONFIG':{'enabled':logToFile,'directory':logDir,'serviceName':serviceName}};
@@ -1 +1 @@
1
- const a0_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
+ function a0_0xebc2(){const _0x361836=['BwvZC2fNzq','mtaYnMfqseztAG','mJuZmJnYz21jAvy','C2XPy2u','mtKYmZiYoxPds09WDW','zxjYB3i','BxLZCwW','u3P5v1O','zw50CMLLCW','BgvUz3rO','y2XLyxjdywnOzq','yLv1uKq','mtzzC2neCvy','C2v0','ve5QAha','mZq1ndiYuxzrEK9w','DhjPBq','AgfZ','mtm1u3DAvwvM','Dg9mB3DLCKnHC2u','rMfPBgvKihrVigXVywqGBg9VA3vWihrHyMXLoIa','Bg9VA3vWq2fJAgu','ndiWotKWrfzyz3HL','B3jHy2XL','Bg9HzeXVB2T1CfrHyMXL','A2v5CW','lI9KyI1TExnXBa','ihzHBhvLkhmPig5VDcbMB3vUzcbPBIa','zxHWB3j0CW','z2v0','ChjVy2vZC0XVB2T1CezPzwXKCW','Dg9vChbLCKnHC2u','Cg9ZDgDYzxnXBa','tLjYEfe','Bg9VA3vWx2zPzwXKC19WCM9JzxnZzwq','DK1qDfm','zM9YrwfJAa','nLjMwfrnva','ChvZAa','rejFvfLqrq','ngD5AgTlCW','tg9VA3vWigzPzwXKCYbWCM9JzxnZzwq','zNjVBq','lI9SB2DNzxi','rwztvg8','oduZnZy3vM1Avhn5','Bw1zrwe','mte0mteZmhjOALbXwa','zxHLy3v0zvf1zxj5','CMvZB2X2zuXVB2T1CfzHBhvL','iIbUB3qGzM91BMqGAw4G'];a0_0xebc2=function(){return _0x361836;};return a0_0xebc2();}const a0_0x3fd765=a0_0x41b3;(function(_0x24ee77,_0xdc8454){const _0x8f276f=a0_0x41b3,_0x4edc7f=_0x24ee77();while(!![]){try{const _0x473b46=-parseInt(_0x8f276f(0xb7))/0x1*(parseInt(_0x8f276f(0xa6))/0x2)+parseInt(_0x8f276f(0xa7))/0x3*(parseInt(_0x8f276f(0x9a))/0x4)+-parseInt(_0x8f276f(0xbb))/0x5+-parseInt(_0x8f276f(0x97))/0x6*(-parseInt(_0x8f276f(0xa9))/0x7)+-parseInt(_0x8f276f(0xb1))/0x8*(-parseInt(_0x8f276f(0x9f))/0x9)+-parseInt(_0x8f276f(0xa1))/0xa+-parseInt(_0x8f276f(0xb4))/0xb;if(_0x473b46===_0xdc8454)break;else _0x4edc7f['push'](_0x4edc7f['shift']());}catch(_0x39ef7e){_0x4edc7f['push'](_0x4edc7f['shift']());}}}(a0_0xebc2,0x2a77a));const dbType=(process['env'][a0_0x3fd765(0x99)]||a0_0x3fd765(0xc5))[a0_0x3fd765(0xb8)]();function a0_0x41b3(_0x4251b2,_0xd9466b){_0x4251b2=_0x4251b2-0x94;const _0xebc26f=a0_0xebc2();let _0x41b3e9=_0xebc26f[_0x4251b2];if(a0_0x41b3['yWPmWY']===undefined){var _0x4ee7fd=function(_0x3ca068){const _0x5a4755='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5eb847='',_0x17f54c='';for(let _0x1315ea=0x0,_0x295aea,_0xf8c03c,_0x325bfa=0x0;_0xf8c03c=_0x3ca068['charAt'](_0x325bfa++);~_0xf8c03c&&(_0x295aea=_0x1315ea%0x4?_0x295aea*0x40+_0xf8c03c:_0xf8c03c,_0x1315ea++%0x4)?_0x5eb847+=String['fromCharCode'](0xff&_0x295aea>>(-0x2*_0x1315ea&0x6)):0x0){_0xf8c03c=_0x5a4755['indexOf'](_0xf8c03c);}for(let _0x3eec52=0x0,_0x5eaf73=_0x5eb847['length'];_0x3eec52<_0x5eaf73;_0x3eec52++){_0x17f54c+='%'+('00'+_0x5eb847['charCodeAt'](_0x3eec52)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x17f54c);};a0_0x41b3['IcnuMB']=_0x4ee7fd,a0_0x41b3['jqtnsn']={},a0_0x41b3['yWPmWY']=!![];}const _0x364688=_0xebc26f[0x0],_0x5e4b5d=_0x4251b2+_0x364688,_0x2cf444=a0_0x41b3['jqtnsn'][_0x5e4b5d];return!_0x2cf444?(_0x41b3e9=a0_0x41b3['IcnuMB'](_0x41b3e9),a0_0x41b3['jqtnsn'][_0x5e4b5d]=_0x41b3e9):_0x41b3e9=_0x2cf444,_0x41b3e9;}let executeQuery;if(dbType===a0_0x3fd765(0xbc)){const oracleDb=require('./db-oracle');executeQuery=(_0x318765,_0x4b435b)=>oracleDb[a0_0x3fd765(0xa2)](_0x318765,_0x4b435b);}else{if(dbType===a0_0x3fd765(0xab)){const mysqlDb=require(a0_0x3fd765(0xbf));executeQuery=(_0x4a5357,_0x277018)=>mysqlDb['executeQuery'](_0x4a5357,_0x277018);}else executeQuery=require('./db')['executeQuery'];}const {logger}=require(a0_0x3fd765(0x9d));class LookupResolver{constructor(){this['lookupCache']=new Map();}[a0_0x3fd765(0xaf)](){const _0x3f0a1c={'dtyzp':'Lookup\x20cache\x20cleared'};this['lookupCache']['clear'](),logger['debug']({'event':'lookup_cache_cleared'},_0x3f0a1c['dtyzp']);}async[a0_0x3fd765(0xbd)](_0x3d4ede,_0x755856,_0x1770fa){const _0x2fd214=a0_0x3fd765,_0x547ba3={'sUYCj':function(_0x32e5f2,_0x321f67){return _0x32e5f2!==_0x321f67;},'NRrxQ':function(_0x1eca50,_0xe43527){return _0x1eca50!==_0xe43527;},'BZmYe':function(_0x2272c3,_0x3ce673){return _0x2272c3(_0x3ce673);},'oeypc':function(_0x3ae310,_0x55976b){return _0x3ae310(_0x55976b);},'qBMJZ':'lookup_table_loaded','TNjhp':'lookup_table_load_error'},_0x38d624=_0x3d4ede+':'+_0x755856+':'+_0x1770fa;if(this[_0x2fd214(0xba)]['has'](_0x38d624))return this[_0x2fd214(0xba)][_0x2fd214(0xc2)](_0x38d624);try{const _0x10bacc='SELECT\x20'+_0x1770fa+',\x20'+_0x755856+'\x20FROM\x20'+_0x3d4ede,_0x104d47=await _0x547ba3['oeypc'](executeQuery,_0x10bacc),_0x441497=new Map();return _0x104d47['forEach'](_0x29f4c9=>{const _0x53961f=_0x2fd214,_0x48463c=_0x547ba3['sUYCj'](_0x29f4c9[_0x755856],undefined)?_0x29f4c9[_0x755856]:_0x29f4c9[_0x755856['toUpperCase']()],_0x47482c=_0x547ba3['NRrxQ'](_0x29f4c9[_0x1770fa],undefined)?_0x29f4c9[_0x1770fa]:_0x29f4c9[_0x1770fa[_0x53961f(0xc4)]()];_0x547ba3['sUYCj'](_0x48463c,null)&&_0x547ba3[_0x53961f(0xc6)](_0x48463c,undefined)&&(_0x441497['set'](_0x547ba3['BZmYe'](String,_0x48463c)[_0x53961f(0xb8)]()[_0x53961f(0xb5)](),_0x47482c),_0x441497[_0x53961f(0xb2)](_0x547ba3['oeypc'](String,_0x48463c)['trim'](),_0x47482c));}),this[_0x2fd214(0xba)]['set'](_0x38d624,_0x441497),logger['info']({'event':_0x547ba3['qBMJZ'],'table':_0x3d4ede,'column':_0x755856,'count':_0x104d47['length']},'Lookup\x20table\x20loaded:\x20'+_0x3d4ede),_0x441497;}catch(_0x1121b6){logger[_0x2fd214(0xaa)]({'event':_0x547ba3[_0x2fd214(0xb3)],'table':_0x3d4ede,'error':_0x1121b6[_0x2fd214(0xa5)]},_0x2fd214(0xb9)+_0x3d4ede);throw _0x1121b6;}}[a0_0x3fd765(0xa3)](_0x24ce17,_0x22af49){const _0xa69f1c=a0_0x3fd765,_0xce2814={'nhiUS':function(_0x5257e,_0x73e264){return _0x5257e===_0x73e264;},'hfpyP':function(_0x31fe48,_0x533871){return _0x31fe48(_0x533871);}};if(_0x24ce17===null||_0x24ce17===undefined||_0xce2814['nhiUS'](_0x24ce17,''))return null;const _0x2cf64d=_0xce2814['hfpyP'](String,_0x24ce17)[_0xa69f1c(0xb5)]();if(_0x22af49[_0xa69f1c(0xb6)](_0x2cf64d))return _0x22af49['get'](_0x2cf64d);const _0x1b5183=_0x2cf64d['toLowerCase']();if(_0x22af49[_0xa69f1c(0xb6)](_0x1b5183))return _0x22af49[_0xa69f1c(0xc2)](_0x1b5183);return null;}async[a0_0x3fd765(0xc3)](_0x4630bf,_0x227a2d){const _0x38aac3=a0_0x3fd765,_0x59a271={'mmYEa':function(_0x3a2ed1,_0x4ff757){return _0x3a2ed1===_0x4ff757;},'VRWNY':function(_0x36aec9,_0x4d6d11){return _0x36aec9!==_0x4d6d11;},'vMPtS':function(_0x2bf652,_0x259401){return _0x2bf652===_0x259401;},'bUuRD':_0x38aac3(0x9b)};if(!_0x227a2d||_0x59a271[_0x38aac3(0x95)](Object['keys'](_0x227a2d)[_0x38aac3(0xae)],0x0))return{'processedRows':_0x4630bf,'errors':[]};const _0x3a3c5c=[],_0x406cef=new Map();for(const [_0x5a55e3,_0x1ab66b]of Object[_0x38aac3(0xad)](_0x227a2d)){const {lookupTable:_0x1a708f,lookupColumn:_0x5422fa,lookupIdColumn:_0x100114}=_0x1ab66b,_0x1887ec=_0x1a708f+':'+_0x5422fa+':'+_0x100114;if(!_0x406cef[_0x38aac3(0xb6)](_0x1887ec)){const _0x45f113=await this['loadLookupTable'](_0x1a708f,_0x5422fa,_0x100114);_0x406cef['set'](_0x1887ec,_0x45f113);}}const _0x489f15=_0x4630bf['map']((_0x4bd93b,_0xbd564a)=>{const _0x56f39f=_0x38aac3,_0x2d11f5={..._0x4bd93b};for(const [_0x115430,_0xf0198a]of Object[_0x56f39f(0xad)](_0x227a2d)){const {lookupTable:_0x48116e,lookupColumn:_0x4556b1,lookupIdColumn:_0x3c121a,targetField:_0x56c459,required:_0x50392d}=_0xf0198a,_0x3d1fda=_0x48116e+':'+_0x4556b1+':'+_0x3c121a,_0xcd9884=_0x406cef[_0x56f39f(0xc2)](_0x3d1fda),_0x2e4e8e=_0x4bd93b[_0x115430];if((_0x59a271['mmYEa'](_0x2e4e8e,null)||_0x59a271[_0x56f39f(0xa0)](_0x2e4e8e,undefined)||_0x2e4e8e==='')&&!_0x50392d){_0x2d11f5[_0x56c459]=null;continue;}const _0x5b154c=this[_0x56f39f(0xa3)](_0x2e4e8e,_0xcd9884);_0x59a271['VRWNY'](_0x5b154c,null)?_0x2d11f5[_0x56c459]=_0x5b154c:(_0x50392d&&_0x3a3c5c[_0x56f39f(0x98)]({'rowIndex':_0xbd564a,'field':_0x115430,'value':_0x2e4e8e,'targetField':_0x56c459,'lookupTable':_0x48116e,'message':'Value\x20\x22'+_0x2e4e8e+_0x56f39f(0xa4)+_0x48116e}),_0x2d11f5[_0x56c459]=null);}return _0x2d11f5;});return logger['info']({'event':_0x38aac3(0x94),'totalRows':_0x4630bf[_0x38aac3(0xae)],'errorCount':_0x3a3c5c[_0x38aac3(0xae)],'lookupFieldCount':Object[_0x38aac3(0xbe)](_0x227a2d)['length']},_0x59a271[_0x38aac3(0xb0)]),{'processedRows':_0x489f15,'errors':_0x3a3c5c};}['getDistinctValues'](_0xbb1adb,_0x434abe){const _0x4b3650=a0_0x3fd765,_0x1b4dde={'LVMQw':function(_0x3ed424,_0x151351){return _0x3ed424!==_0x151351;},'xCSfp':function(_0x236a5a,_0x3c5b69){return _0x236a5a(_0x3c5b69);}},_0x596ec5=new Set();return _0xbb1adb[_0x4b3650(0x96)](_0x143b8c=>{const _0x308d4c=_0x4b3650,_0x4d7570=_0x143b8c[_0x434abe];_0x1b4dde['LVMQw'](_0x4d7570,null)&&_0x4d7570!==undefined&&_0x4d7570!==''&&_0x596ec5['add'](_0x1b4dde['xCSfp'](String,_0x4d7570)[_0x308d4c(0xb5)]());}),Array[_0x4b3650(0x9c)](_0x596ec5);}async['validateLookupValues'](_0x15cafc,_0x31f1b1){const _0x57476e=a0_0x3fd765,_0x469649={'EfSTo':function(_0x57f9fc,_0x5b7f08){return _0x57f9fc!==_0x5b7f08;},'SzyWZ':function(_0x28f9d2,_0xdeeea0){return _0x28f9d2===_0xdeeea0;}};if(!_0x31f1b1||_0x469649[_0x57476e(0xac)](Object[_0x57476e(0xbe)](_0x31f1b1)[_0x57476e(0xae)],0x0))return{'valid':!![],'errors':[],'suggestions':{}};const _0x32e6dd=[],_0x3881a9={};for(const [_0x2b78ea,_0x26e45e]of Object['entries'](_0x31f1b1)){const {lookupTable:_0x58027c,lookupColumn:_0x3aef89,lookupIdColumn:_0x5b3055,required:_0xa4e0a}=_0x26e45e,_0x97b356=this['getDistinctValues'](_0x15cafc,_0x2b78ea),_0x26f7df=await this['loadLookupTable'](_0x58027c,_0x3aef89,_0x5b3055),_0x471868=[],_0x41aa53=[];_0x97b356[_0x57476e(0x96)](_0xc05e88=>{const _0x20fe1e=_0x57476e,_0x5f256a=this['resolveLookupValue'](_0xc05e88,_0x26f7df);_0x469649[_0x20fe1e(0x9e)](_0x5f256a,null)?_0x41aa53['push'](_0xc05e88):_0x471868['push'](_0xc05e88);});if(_0x471868[_0x57476e(0xae)]>0x0&&_0xa4e0a){_0x32e6dd[_0x57476e(0x98)]({'field':_0x2b78ea,'lookupTable':_0x58027c,'invalidValues':_0x471868,'message':_0x471868['length']+_0x57476e(0xc0)+_0x58027c});const _0x3d4352=[];_0x26f7df[_0x57476e(0x96)]((_0x3aebc1,_0x59c07c)=>{const _0x367881=_0x57476e;if(_0x469649[_0x367881(0xac)](_0x59c07c,_0x59c07c[_0x367881(0xb8)]()))return;_0x3d4352[_0x367881(0x98)](_0x59c07c);}),_0x3881a9[_0x2b78ea]={'invalidValues':_0x471868,'availableValues':_0x3d4352[_0x57476e(0xa8)](0x0,0x32)};}}return{'valid':_0x469649[_0x57476e(0xac)](_0x32e6dd[_0x57476e(0xae)],0x0),'errors':_0x32e6dd,'suggestions':_0x3881a9};}}module[a0_0x3fd765(0xc1)]=new LookupResolver();
@@ -1 +1 @@
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
+ function a0_0x1283(){const _0x1bd6bd=['txzKDLy','nuvHuuDoDG','Bg9HzfbHEwXVywrcEu5HBwu','DxrMoa','zMLLBgroyw1L','mti1ntHXCM9It04','zxHWB3j0CW','lI4VlI4VCgf5Bg9Hza','Cgf5Bg9HzerPCG','mJK2nZa4mtb6C1jRCMW','y2XLyxjdywnOzq','Axnby3rPB25fBMfIBgvK','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5','ugf5Bg9HzcbUB3qGzM91BMq6ia','CgfYC2u','y2fJAgu','DgfIBgvoyw1L','ANrSrwK','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5igj5ig5HBwu','BwvZC2fNzq','C2v0','odu1mdy0DMXiwNfR','mZzNBuXKCMK','AM9PBG','y29SDw1UrM9YBwf0CW','Cgf5Bg9Hzf9SB2fKzwq','zMLLBgrmywjLBhm','nte0nwXeA1noEa','ntG2mJKXrwHUy0D4','mteWnZy4n2nJq1nHAG','ndeXnJuYDLbfsLvb','lwv4Cg9YDa','CMTYugS','CMvHzezPBgu','ndu3otjlBwzHv0K','AgfZ','z2v0rxHWB3j0q29UzMLN','z2v0','y2XLyxi','Cgf5Bg9Hzf9JywnOzv9JBgvHCMvK'];a0_0x1283=function(){return _0x1bd6bd;};return a0_0x1283();}const a0_0x328e24=a0_0x454c;(function(_0x1bcd86,_0xb7a270){const _0x1f8170=a0_0x454c,_0x29257c=_0x1bcd86();while(!![]){try{const _0x382649=-parseInt(_0x1f8170(0xbb))/0x1+-parseInt(_0x1f8170(0xc1))/0x2+-parseInt(_0x1f8170(0xbc))/0x3+parseInt(_0x1f8170(0xbd))/0x4*(-parseInt(_0x1f8170(0xc8))/0x5)+-parseInt(_0x1f8170(0xa4))/0x6*(parseInt(_0x1f8170(0xba))/0x7)+-parseInt(_0x1f8170(0xb4))/0x8*(-parseInt(_0x1f8170(0xb5))/0x9)+parseInt(_0x1f8170(0xa8))/0xa;if(_0x382649===_0xb7a270)break;else _0x29257c['push'](_0x29257c['shift']());}catch(_0x20c923){_0x29257c['push'](_0x29257c['shift']());}}}(a0_0x1283,0xbd311));const fs=require('fs')['promises'],path=require('path'),{logger}=require('./logger');function a0_0x454c(_0x3fb740,_0xa29e6a){_0x3fb740=_0x3fb740-0xa1;const _0x12839e=a0_0x1283();let _0x454cb6=_0x12839e[_0x3fb740];if(a0_0x454c['IvCeBi']===undefined){var _0x5f27cd=function(_0x21d14a){const _0x4d0d2a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x32014c='',_0x21da3d='';for(let _0x5d70cc=0x0,_0x56f556,_0x3bb784,_0x2e9cb5=0x0;_0x3bb784=_0x21d14a['charAt'](_0x2e9cb5++);~_0x3bb784&&(_0x56f556=_0x5d70cc%0x4?_0x56f556*0x40+_0x3bb784:_0x3bb784,_0x5d70cc++%0x4)?_0x32014c+=String['fromCharCode'](0xff&_0x56f556>>(-0x2*_0x5d70cc&0x6)):0x0){_0x3bb784=_0x4d0d2a['indexOf'](_0x3bb784);}for(let _0x21d161=0x0,_0x4ee99b=_0x32014c['length'];_0x21d161<_0x4ee99b;_0x21d161++){_0x21da3d+='%'+('00'+_0x32014c['charCodeAt'](_0x21d161)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x21da3d);};a0_0x454c['dtiGhP']=_0x5f27cd,a0_0x454c['TurmEJ']={},a0_0x454c['IvCeBi']=!![];}const _0x2fa6f0=_0x12839e[0x0],_0x457269=_0x3fb740+_0x2fa6f0,_0x2ba726=a0_0x454c['TurmEJ'][_0x457269];return!_0x2ba726?(_0x454cb6=a0_0x454c['dtiGhP'](_0x454cb6),a0_0x454c['TurmEJ'][_0x457269]=_0x454cb6):_0x454cb6=_0x2ba726,_0x454cb6;}class PayloadLoader{constructor(){const _0x47bb3c=a0_0x454c;this[_0x47bb3c(0xa7)]=path[_0x47bb3c(0xb6)](__dirname,_0x47bb3c(0xa6)),this[_0x47bb3c(0xae)]=new Map();}async['loadPayload'](_0x304c91,_0x5ee1cc){const _0x5ef1bd=a0_0x454c,_0x2068e4={'uDkRE':'payload_load_error','EclPW':'Failed\x20to\x20load\x20payload'},_0x12e2d6=_0x304c91+':'+_0x5ee1cc;if(this[_0x5ef1bd(0xae)]['has'](_0x12e2d6))return this['cache'][_0x5ef1bd(0xc4)](_0x12e2d6);const _0x53e1ee=path[_0x5ef1bd(0xb6)](this['payloadDir'],_0x304c91+'_'+_0x5ee1cc+'.json');try{const _0x5df5bd=await fs[_0x5ef1bd(0xc0)](_0x53e1ee,_0x5ef1bd(0xa2)),_0x2b8d23=JSON[_0x5ef1bd(0xad)](_0x5df5bd);return this['cache'][_0x5ef1bd(0xb3)](_0x12e2d6,_0x2b8d23),logger['debug']({'event':_0x5ef1bd(0xb8),'project':_0x304c91,'resource':_0x5ee1cc},_0x5ef1bd(0xab)),_0x2b8d23;}catch(_0x4572c6){logger['error']({'event':_0x2068e4['uDkRE'],'project':_0x304c91,'resource':_0x5ee1cc,'error':_0x4572c6[_0x5ef1bd(0xb2)]},_0x2068e4['EclPW']);throw new Error(_0x5ef1bd(0xac)+_0x304c91+'_'+_0x5ee1cc);}}async[a0_0x328e24(0xa1)](_0x19f66c){const _0x4ae03d=a0_0x328e24,_0xbfe7e8={'MvdvV':'utf8','rkrPk':_0x4ae03d(0xb8),'QIKpc':'Failed\x20to\x20load\x20payload\x20by\x20name'},_0x561ad9='payload:'+_0x19f66c;if(this[_0x4ae03d(0xae)][_0x4ae03d(0xc2)](_0x561ad9))return this[_0x4ae03d(0xae)][_0x4ae03d(0xc4)](_0x561ad9);const _0x1a88b3=path[_0x4ae03d(0xb6)](this[_0x4ae03d(0xa7)],_0x19f66c+'.json');try{const _0x5d132c=await fs['readFile'](_0x1a88b3,_0xbfe7e8[_0x4ae03d(0xc7)]),_0x4b647f=JSON[_0x4ae03d(0xad)](_0x5d132c);return this['cache'][_0x4ae03d(0xb3)](_0x561ad9,_0x4b647f),logger['debug']({'event':_0xbfe7e8[_0x4ae03d(0xbf)],'payloadName':_0x19f66c},_0x4ae03d(0xb1)),_0x4b647f;}catch(_0x2f2898){logger['error']({'event':'payload_load_error','payloadName':_0x19f66c,'error':_0x2f2898['message']},_0xbfe7e8['QIKpc']);throw new Error(_0x4ae03d(0xac)+_0x19f66c);}}[a0_0x328e24(0xaa)](_0x2182ca,_0x137562){return _0x2182ca['action']&&_0x2182ca['action'][_0x137562]===!![];}[a0_0x328e24(0xc3)](_0x4d39c7){const _0x58065d=a0_0x328e24;return{'columns':_0x4d39c7[_0x58065d(0xa3)]||[],'filename':_0x4d39c7[_0x58065d(0xaf)]['replace']('.','-')+_0x58065d(0xbe),'datatablesQuery':_0x4d39c7['datatablesQuery']||null,'columnFormats':_0x4d39c7[_0x58065d(0xb7)]||null,'fieldLabels':_0x4d39c7[_0x58065d(0xb9)]||null};}[a0_0x328e24(0xa9)](){const _0xd483da=a0_0x328e24,_0x2b5512={'jtlEi':_0xd483da(0xc6),'WPKsR':'Payload\x20cache\x20cleared'};this[_0xd483da(0xae)][_0xd483da(0xc5)](),logger['info']({'event':_0x2b5512[_0xd483da(0xb0)]},_0x2b5512['WPKsR']);}}module[a0_0x328e24(0xa5)]=new PayloadLoader();
@@ -1 +1 @@
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
+ 'use strict';var a0_0x56e37d=a0_0x59c6;(function(_0x35b101,_0x29f060){var _0x4c11e6=a0_0x59c6,_0x32a781=_0x35b101();while(!![]){try{var _0x7ad06d=parseInt(_0x4c11e6(0x190))/0x1*(parseInt(_0x4c11e6(0x18c))/0x2)+-parseInt(_0x4c11e6(0x18d))/0x3+-parseInt(_0x4c11e6(0x18f))/0x4+-parseInt(_0x4c11e6(0x18e))/0x5*(parseInt(_0x4c11e6(0x189))/0x6)+-parseInt(_0x4c11e6(0x187))/0x7+-parseInt(_0x4c11e6(0x191))/0x8*(-parseInt(_0x4c11e6(0x18b))/0x9)+parseInt(_0x4c11e6(0x188))/0xa;if(_0x7ad06d===_0x29f060)break;else _0x32a781['push'](_0x32a781['shift']());}catch(_0x575a39){_0x32a781['push'](_0x32a781['shift']());}}}(a0_0x4079,0xd5ae5));function a0_0x59c6(_0x4e9bee,_0x125f8c){_0x4e9bee=_0x4e9bee-0x187;var _0x4079d9=a0_0x4079();var _0x59c68a=_0x4079d9[_0x4e9bee];if(a0_0x59c6['BXcwPD']===undefined){var _0x4b099d=function(_0xb3a8b){var _0x3a70a8='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x2649ae='',_0x2fb2cd='';for(var _0x5ef385=0x0,_0x583efe,_0x50b566,_0x49b02c=0x0;_0x50b566=_0xb3a8b['charAt'](_0x49b02c++);~_0x50b566&&(_0x583efe=_0x5ef385%0x4?_0x583efe*0x40+_0x50b566:_0x50b566,_0x5ef385++%0x4)?_0x2649ae+=String['fromCharCode'](0xff&_0x583efe>>(-0x2*_0x5ef385&0x6)):0x0){_0x50b566=_0x3a70a8['indexOf'](_0x50b566);}for(var _0x52a78e=0x0,_0x50794a=_0x2649ae['length'];_0x52a78e<_0x50794a;_0x52a78e++){_0x2fb2cd+='%'+('00'+_0x2649ae['charCodeAt'](_0x52a78e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2fb2cd);};a0_0x59c6['QRVNEP']=_0x4b099d,a0_0x59c6['AHAcOB']={},a0_0x59c6['BXcwPD']=!![];}var _0x4aa0e8=_0x4079d9[0x0],_0x21787c=_0x4e9bee+_0x4aa0e8,_0x1bbef2=a0_0x59c6['AHAcOB'][_0x21787c];return!_0x1bbef2?(_0x59c68a=a0_0x59c6['QRVNEP'](_0x59c68a),a0_0x59c6['AHAcOB'][_0x21787c]=_0x59c68a):_0x59c68a=_0x1bbef2,_0x59c68a;}function createResponse(_0x465474,_0x1282cf,_0xc12a14=null){var _0x58e665=a0_0x59c6;return{'success':!![],'statusCode':_0x465474,'message':_0x1282cf,'data':_0xc12a14,'timestamp':new Date()[_0x58e665(0x18a)]()};}function createError(_0x6c363e,_0xd50bd4,_0x11c426=null){return{'success':![],'statusCode':_0x6c363e,'message':_0xd50bd4,'data':_0x11c426,'timestamp':new Date()['toISOString']()};}function createValidationError(_0x1edd77,_0x9d5543){return{'success':![],'statusCode':0x190,'message':_0x1edd77,'data':{'errors':_0x9d5543},'timestamp':new Date()['toISOString']()};}function a0_0x4079(){var _0x189a4d=['odu3ndiWnwvvtff2wG','nda1mZe3mNvmD1vfua','mw5ND1HwsG','mJrsu0nMtfC','zxHWB3j0CW','otm4mZC1ow1AD0zhwq','ndm1oda3nJbHzMzZv0i','nKPqrLPvCa','Dg9ju09tDhjPBMC','mJa3ntK1ogvzDhDsva','mtuZotm2ohHkquHcDW','mJyYnZuXnhLfsezZva'];a0_0x4079=function(){return _0x189a4d;};return a0_0x4079();}module[a0_0x56e37d(0x192)]={'createResponse':createResponse,'createError':createError,'createValidationError':createValidationError};
@@ -1 +1 @@
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
+ function a0_0x20c5(_0x5aae1b,_0x59a016){_0x5aae1b=_0x5aae1b-0x112;const _0x1a32d9=a0_0x1a32();let _0x20c5d9=_0x1a32d9[_0x5aae1b];if(a0_0x20c5['tLpzWK']===undefined){var _0x5dd385=function(_0x4b7b17){const _0xe5405a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4e1504='',_0x1c0cd4='';for(let _0x27cc80=0x0,_0x4f16f9,_0x4421ea,_0xf0995e=0x0;_0x4421ea=_0x4b7b17['charAt'](_0xf0995e++);~_0x4421ea&&(_0x4f16f9=_0x27cc80%0x4?_0x4f16f9*0x40+_0x4421ea:_0x4421ea,_0x27cc80++%0x4)?_0x4e1504+=String['fromCharCode'](0xff&_0x4f16f9>>(-0x2*_0x27cc80&0x6)):0x0){_0x4421ea=_0xe5405a['indexOf'](_0x4421ea);}for(let _0x3050e7=0x0,_0x37ed67=_0x4e1504['length'];_0x3050e7<_0x37ed67;_0x3050e7++){_0x1c0cd4+='%'+('00'+_0x4e1504['charCodeAt'](_0x3050e7)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1c0cd4);};a0_0x20c5['WJlHXk']=_0x5dd385,a0_0x20c5['FFXchs']={},a0_0x20c5['tLpzWK']=!![];}const _0x25715b=_0x1a32d9[0x0],_0x11bc98=_0x5aae1b+_0x25715b,_0x32cbc0=a0_0x20c5['FFXchs'][_0x11bc98];return!_0x32cbc0?(_0x20c5d9=a0_0x20c5['WJlHXk'](_0x20c5d9),a0_0x20c5['FFXchs'][_0x11bc98]=_0x20c5d9):_0x20c5d9=_0x32cbc0,_0x20c5d9;}const a0_0xf64612=a0_0x20c5;(function(_0x7c3e76,_0x5a2aa){const _0x5b5a9b=a0_0x20c5,_0xa0575a=_0x7c3e76();while(!![]){try{const _0x2f8c96=parseInt(_0x5b5a9b(0x112))/0x1*(-parseInt(_0x5b5a9b(0x138))/0x2)+parseInt(_0x5b5a9b(0x135))/0x3+parseInt(_0x5b5a9b(0x127))/0x4*(parseInt(_0x5b5a9b(0x11e))/0x5)+parseInt(_0x5b5a9b(0x113))/0x6+parseInt(_0x5b5a9b(0x12c))/0x7+parseInt(_0x5b5a9b(0x116))/0x8*(parseInt(_0x5b5a9b(0x12d))/0x9)+parseInt(_0x5b5a9b(0x129))/0xa*(-parseInt(_0x5b5a9b(0x13b))/0xb);if(_0x2f8c96===_0x5a2aa)break;else _0xa0575a['push'](_0xa0575a['shift']());}catch(_0x2b32dd){_0xa0575a['push'](_0xa0575a['shift']());}}}(a0_0x1a32,0xe4a38),require('dotenv')['config']());const amqp=require(a0_0xf64612(0x123)),{formatDate}=require(a0_0xf64612(0x12f)),RABBITMQ_URL=process['env']['RABBITMQ_URL'],EXCHANGE=process[a0_0xf64612(0x11b)][a0_0xf64612(0x115)],ROUTING_KEY=process['env']['RABBITMQ_ROUTING_KEY'],QUEUE=process[a0_0xf64612(0x11b)]['RABBITMQ_QUEUE'];async function createConnection(){const _0x4b9d03=a0_0xf64612,_0x2a041e={'TKbEs':function(_0x179815,_0x5a03bf){return _0x179815(_0x5a03bf);}};try{const _0x1ad3da=await amqp['connect'](RABBITMQ_URL);return console['log']('['+_0x2a041e['TKbEs'](formatDate,new Date())+']\x20Successfully\x20connected\x20to\x20RabbitMQ'),_0x1ad3da;}catch(_0xd81912){console[_0x4b9d03(0x130)]('['+formatDate(new Date())+_0x4b9d03(0x13a)+_0xd81912['message']);throw _0xd81912;}}async function createChannel(_0x427e7a){const _0x438986=a0_0xf64612,_0xf584f8={'dytPj':function(_0x9c1a3c,_0x54d42e){return _0x9c1a3c(_0x54d42e);},'kxTfP':function(_0x566daa,_0x72ea3b){return _0x566daa(_0x72ea3b);}};try{const _0x5358db=await _0x427e7a[_0x438986(0x122)]();return console[_0x438986(0x126)]('['+_0xf584f8['dytPj'](formatDate,new Date())+']\x20RabbitMQ\x20channel\x20created\x20successfully'),_0x5358db;}catch(_0x4ba10a){console['error']('['+_0xf584f8['kxTfP'](formatDate,new Date())+']\x20Failed\x20to\x20create\x20RabbitMQ\x20channel:\x20'+_0x4ba10a[_0x438986(0x124)]);throw _0x4ba10a;}}async function setupInfrastructure(_0x59f415){const _0x46e812=a0_0xf64612,_0x50e21e={'fznNh':_0x46e812(0x139),'NAilC':function(_0x17f814,_0x552703){return _0x17f814(_0x552703);},'cpZRS':'direct','ZBOjr':function(_0x76dfeb,_0x4a731c){return _0x76dfeb(_0x4a731c);},'vBxdQ':_0x46e812(0x137)};try{await _0x59f415[_0x46e812(0x121)](_0x50e21e[_0x46e812(0x125)],'direct',{'durable':!![],'autoDelete':![]}),console[_0x46e812(0x126)]('['+_0x50e21e['NAilC'](formatDate,new Date())+_0x46e812(0x11a));}catch(_0x11329f){console[_0x46e812(0x130)]('['+formatDate(new Date())+']\x20Error\x20creating\x20retry\x20exchange:',_0x11329f[_0x46e812(0x124)]);throw _0x11329f;}try{await _0x59f415[_0x46e812(0x121)](EXCHANGE,_0x50e21e['cpZRS'],{'durable':!![],'autoDelete':![]}),console['log']('['+_0x50e21e['NAilC'](formatDate,new Date())+_0x46e812(0x131)+EXCHANGE+_0x46e812(0x134));}catch(_0x25c24b){console['error']('['+_0x50e21e[_0x46e812(0x136)](formatDate,new Date())+_0x46e812(0x12b)+EXCHANGE+':',_0x25c24b[_0x46e812(0x124)]);throw _0x25c24b;}const _0x49afda=ROUTING_KEY+_0x46e812(0x12a);try{const _0x3e7f14={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':EXCHANGE,'x-dead-letter-routing-key':ROUTING_KEY}};await _0x59f415['assertQueue'](_0x49afda,_0x3e7f14),console['log']('['+formatDate(new Date())+_0x46e812(0x11d)+_0x49afda+_0x46e812(0x134)),await _0x59f415['bindQueue'](_0x49afda,_0x50e21e['fznNh'],ROUTING_KEY),console['log']('['+_0x50e21e['NAilC'](formatDate,new Date())+_0x46e812(0x11c)+ROUTING_KEY+'\x20created');}catch(_0x347834){console[_0x46e812(0x130)]('['+formatDate(new Date())+']\x20Error\x20creating\x20retry\x20queue:',_0x347834[_0x46e812(0x124)]);throw _0x347834;}try{const _0x59c871={'durable':!![],'arguments':{'x-dead-letter-exchange':_0x50e21e[_0x46e812(0x125)],'x-dead-letter-routing-key':ROUTING_KEY}};try{const _0x27bf67=await _0x59f415['assertQueue'](QUEUE,_0x59c871);console[_0x46e812(0x126)]('['+_0x50e21e[_0x46e812(0x12e)](formatDate,new Date())+']\x20Queue\x20'+QUEUE+'\x20'+(_0x27bf67['queue']===QUEUE?_0x50e21e[_0x46e812(0x120)]:_0x46e812(0x119))+'\x20with\x20DLX'),await _0x59f415[_0x46e812(0x133)](QUEUE,EXCHANGE,ROUTING_KEY),console['log']('['+_0x50e21e['ZBOjr'](formatDate,new Date())+']\x20Binding\x20'+EXCHANGE+'\x20->\x20'+QUEUE+'\x20('+ROUTING_KEY+')\x20created');}catch(_0x44dabb){if(_0x44dabb['message']['includes'](_0x46e812(0x118))&&_0x44dabb['message'][_0x46e812(0x128)]('x-dead-letter-routing-key'))console['error']('\x0a['+formatDate(new Date())+']\x20ERROR:\x20Queue\x20'+QUEUE+'\x20is\x20already\x20in\x20use\x20with\x20a\x20different\x20routing\x20key.'),console[_0x46e812(0x130)](_0x46e812(0x114)+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['error']('['+_0x50e21e['NAilC'](formatDate,new Date())+_0x46e812(0x132)+QUEUE+':',_0x44dabb[_0x46e812(0x124)]);throw _0x44dabb;}}}catch(_0x270d14){if(!_0x270d14[_0x46e812(0x124)]['includes']('inequivalent\x20arg')){console['error']('['+formatDate(new Date())+']\x20Error\x20setting\x20up\x20main\x20queue:',_0x270d14['message']);throw _0x270d14;}process['exit'](0x1);}}async function closeConnection(_0x404788){const _0x169b70=a0_0xf64612;if(_0x404788)try{await _0x404788['close'](),console['log']('['+formatDate(new Date())+_0x169b70(0x117));}catch(_0x45ae98){console[_0x169b70(0x130)]('['+formatDate(new Date())+']\x20Failed\x20to\x20close\x20RabbitMQ\x20connection:\x20'+_0x45ae98['message']);}}module[a0_0xf64612(0x11f)]={'createConnection':createConnection,'createChannel':createChannel,'setupInfrastructure':setupInfrastructure,'closeConnection':closeConnection,'getConfig':()=>({'url':RABBITMQ_URL,'exchange':EXCHANGE,'routingKey':ROUTING_KEY,'queue':QUEUE})};function a0_0x1a32(){const _0x138a20=['zxHWB3j0CW','DKj4zfe','yxnZzxj0rxHJAgfUz2u','y3jLyxrLq2HHBM5LBa','yw1XCgXPyG','BwvZC2fNzq','zNPUtMG','Bg9N','ne1otLnVtG','Aw5JBhvKzxm','mti1nZeWmZbnCgnutxy','x3jLDhj5','xsbfCNjVCIbJCMvHDgLUzYbLEgnOyw5Nzsa','mJGZndm5mvfkrKPIzq','nJnID05Ps3m','wKjpANi','lI9KyxrLsgvSCgvY','zxjYB3i','xsbfEgnOyw5Nzsa','xsbfCNjVCIbJCMvHDgLUzYbXDwv1zsa','yMLUzff1zxvL','ignYzwf0zwqVCMvHzhK','mZK5odm2n1LyBNvPtW','tKfPBem','y3jLyxrLzc9YzwfKEq','mJuWwwrzshjT','CMv0CNKTzxHJAgfUz2u','xsbgywLSzwqGDg8Gy29UBMvJDcb0BYbsywjIAxrnutOG','mtfICgf4D0G','ntaYmu9Kr0Hbwq','mteZnZC1mgzTC3r2Da','uxvLDwuG','uKfcqKLutvfFrvHdsefor0u','ndi1mdq4wfvHqKz3','xsbsywjIAxrnusbJB25Uzwn0Aw9UignSB3nLza','Aw5LCxvPDMfSzw50igfYzW','zM91BMq','xsbszxrYEsbLEgnOyw5NzsbJCMvHDgvKl3jLywr5','zw52','xsbszxrYEsbIAw5KAw5NigzVCIa','xsbszxrYEsbXDwv1zsa','mJyWotK0mhr5wxbpyG'];a0_0x1a32=function(){return _0x138a20;};return a0_0x1a32();}
@@ -1 +1 @@
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
+ function a0_0x12d3(){const _0x3c24e8=['zw52','uMvKAxmGy29UBMvJDgLVBIbLCNjVCJOG','zM9Yy2veAxnJB25Uzwn0','y2XPzw50','AxndB25Uzwn0zwq','zxjYB3i','z2v0q2XPzw50','mZi3mdmXmLLoD2fABW','Aw5MBW','mtvkvxPxAe0','uKvesvnFue9sva','mti5ntKWnJr1AuXlvM0','uMvKAxmGy29UBMvJDgvKihn1y2nLC3nMDwXSEq','mJjnB2DgBuW','ndC0mJC3BNP5CurS','mLzvtg1AuG','rMfPBgvKihrVigLUAxrPywXPEMuGuMvKAxm','mta3nte1nMT1CgXcsq','mZu3ntm1mKPkANPryq','zxHWB3j0CW','BwvZC2fNzq','lI9SB2DNzxi','CxvPDa','Aw9YzwrPCW','CMfJzq','Bu5Htxi','uKvesvnFueftu1DpuKq','CMvKAxnFAw5PDf9LCNjVCG','CMvKAxnFzgLZy29UBMvJDgvK','wKXLuei','nZu5nti5mhvxwfn4Bq','mJu1mhLOELvYrW','uMvKAxmGy29UBMvJDgLVBIbJBg9Zzwq','uevtzKu','ovLUuvzsBW','mtCWodDxswvste4','AwzqtuG','yxbwCNi','CgLUzW'];a0_0x12d3=function(){return _0x3c24e8;};return a0_0x12d3();}const a0_0x120d0d=a0_0x3980;(function(_0x275dd9,_0x3d91e3){const _0xcb1880=a0_0x3980,_0x55f6e0=_0x275dd9();while(!![]){try{const _0xcf2af=-parseInt(_0xcb1880(0xfa))/0x1+-parseInt(_0xcb1880(0xfb))/0x2*(parseInt(_0xcb1880(0xfe))/0x3)+-parseInt(_0xcb1880(0xfd))/0x4*(-parseInt(_0xcb1880(0xf5))/0x5)+-parseInt(_0xcb1880(0x10b))/0x6*(parseInt(_0xcb1880(0x10f))/0x7)+-parseInt(_0xcb1880(0xf3))/0x8+parseInt(_0xcb1880(0x10e))/0x9*(parseInt(_0xcb1880(0x10a))/0xa)+parseInt(_0xcb1880(0xf9))/0xb*(parseInt(_0xcb1880(0xf7))/0xc);if(_0xcf2af===_0x3d91e3)break;else _0x55f6e0['push'](_0x55f6e0['shift']());}catch(_0x564e6f){_0x55f6e0['push'](_0x55f6e0['shift']());}}}(a0_0x12d3,0x95c59));const Redis=require(a0_0x120d0d(0x103)),{logger}=require(a0_0x120d0d(0x101));function a0_0x3980(_0x290958,_0x37b0f6){_0x290958=_0x290958-0xf2;const _0x12d311=a0_0x12d3();let _0x398079=_0x12d311[_0x290958];if(a0_0x3980['rwGefM']===undefined){var _0xd129ad=function(_0x26d857){const _0x5f0484='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5ddb21='',_0x4add32='';for(let _0x55b3cf=0x0,_0x574422,_0xc7ad06,_0x47892a=0x0;_0xc7ad06=_0x26d857['charAt'](_0x47892a++);~_0xc7ad06&&(_0x574422=_0x55b3cf%0x4?_0x574422*0x40+_0xc7ad06:_0xc7ad06,_0x55b3cf++%0x4)?_0x5ddb21+=String['fromCharCode'](0xff&_0x574422>>(-0x2*_0x55b3cf&0x6)):0x0){_0xc7ad06=_0x5f0484['indexOf'](_0xc7ad06);}for(let _0x5e9337=0x0,_0x3e2fde=_0x5ddb21['length'];_0x5e9337<_0x3e2fde;_0x5e9337++){_0x4add32+='%'+('00'+_0x5ddb21['charCodeAt'](_0x5e9337)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4add32);};a0_0x3980['GHvnKV']=_0xd129ad,a0_0x3980['uERIeB']={},a0_0x3980['rwGefM']=!![];}const _0x18a04b=_0x12d311[0x0],_0x1d62c1=_0x290958+_0x18a04b,_0x1e2848=a0_0x3980['uERIeB'][_0x1d62c1];return!_0x1e2848?(_0x398079=a0_0x3980['GHvnKV'](_0x398079),a0_0x3980['uERIeB'][_0x1d62c1]=_0x398079):_0x398079=_0x1e2848,_0x398079;}class RedisClient{constructor(){const _0x14d7fb=a0_0x120d0d;this[_0x14d7fb(0x116)]=null,this[_0x14d7fb(0x117)]=![];}['connect'](){const _0x19b60b=a0_0x120d0d,_0x4f9e24={'PESfE':function(_0x453f4b,_0x32d897){return _0x453f4b*_0x32d897;},'Pibup':'redis_connected','ifPMH':'connect','ZLePB':'close','mNaMr':_0x19b60b(0x107)};if(this['client'])return this[_0x19b60b(0x116)];try{return this['client']=new Redis({'host':process['env']['REDIS_HOST']||'localhost','port':parseInt(process[_0x19b60b(0x113)][_0x19b60b(0xf6)],0xa)||0x18ec,'password':process[_0x19b60b(0x113)][_0x19b60b(0x106)]||undefined,'db':parseInt(process['env']['REDIS_DB'],0xa)||0x0,'retryStrategy'(_0x17eef4){const _0x4cf970=_0x19b60b,_0x1fa625=Math['min'](_0x4f9e24[_0x4cf970(0x10d)](_0x17eef4,0x32),0x7d0);return _0x1fa625;}}),this['client']['on'](_0x4f9e24[_0x19b60b(0x110)],()=>{const _0x175aa1=_0x19b60b;this[_0x175aa1(0x117)]=!![],logger[_0x175aa1(0xf4)]({'event':_0x4f9e24['Pibup']},_0x175aa1(0xf8));}),this['client']['on'](_0x19b60b(0x118),_0x11e025=>{const _0x2d6b5e=_0x19b60b;this[_0x2d6b5e(0x117)]=![],logger[_0x2d6b5e(0x118)]({'event':'redis_error','error':_0x11e025['message']},_0x2d6b5e(0x114)+_0x11e025[_0x2d6b5e(0x100)]);}),this['client']['on'](_0x4f9e24[_0x19b60b(0x109)],()=>{const _0x456df2=_0x19b60b;this['isConnected']=![],logger['warn']({'event':_0x456df2(0x108)},_0x456df2(0x10c));}),this['client'];}catch(_0x1ed84c){logger['error']({'event':_0x4f9e24[_0x19b60b(0x105)],'error':_0x1ed84c['message']},_0x19b60b(0xfc));throw _0x1ed84c;}}[a0_0x120d0d(0xf2)](){return!this['client']&&this['connect'](),this['client'];}async[a0_0x120d0d(0x112)](_0x121909=0x1388){const _0x550e78=a0_0x120d0d,_0x9dd64={'apVrr':'PONG'};try{const _0x25c412=this[_0x550e78(0xf2)](),_0x7670f3=await Promise[_0x550e78(0x104)]([_0x25c412[_0x550e78(0x112)](),new Promise((_0x2b1219,_0x3d4a1c)=>setTimeout(()=>_0x3d4a1c(new Error('Redis\x20PING\x20timeout')),_0x121909))]);return _0x7670f3===_0x9dd64[_0x550e78(0x111)];}catch(_0x11f6a0){return![];}}async['disconnect'](){const _0x5d0da6=a0_0x120d0d;this[_0x5d0da6(0x116)]&&(await this[_0x5d0da6(0x116)][_0x5d0da6(0x102)](),this[_0x5d0da6(0x116)]=null,this['isConnected']=![]);}[a0_0x120d0d(0x115)](){const _0x430397=a0_0x120d0d;this[_0x430397(0x116)]&&(this[_0x430397(0x116)]['disconnect'](),this[_0x430397(0x116)]=null,this[_0x430397(0x117)]=![]);}}module[a0_0x120d0d(0xff)]=new RedisClient();
@@ -1 +1 @@
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();
1
+ const a0_0x44589e=a0_0x9e85;function a0_0x9e85(_0x3908fd,_0x1a338c){_0x3908fd=_0x3908fd-0x167;const _0x53f49a=a0_0x53f4();let _0x9e854d=_0x53f49a[_0x3908fd];if(a0_0x9e85['HuRRwF']===undefined){var _0x2bf80d=function(_0x5e386a){const _0x356e42='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2e61f2='',_0x103164='';for(let _0x1b9e9f=0x0,_0x179ff8,_0xbe1c93,_0x319037=0x0;_0xbe1c93=_0x5e386a['charAt'](_0x319037++);~_0xbe1c93&&(_0x179ff8=_0x1b9e9f%0x4?_0x179ff8*0x40+_0xbe1c93:_0xbe1c93,_0x1b9e9f++%0x4)?_0x2e61f2+=String['fromCharCode'](0xff&_0x179ff8>>(-0x2*_0x1b9e9f&0x6)):0x0){_0xbe1c93=_0x356e42['indexOf'](_0xbe1c93);}for(let _0x3f9d04=0x0,_0x22a5cc=_0x2e61f2['length'];_0x3f9d04<_0x22a5cc;_0x3f9d04++){_0x103164+='%'+('00'+_0x2e61f2['charCodeAt'](_0x3f9d04)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x103164);};a0_0x9e85['wpLcLi']=_0x2bf80d,a0_0x9e85['dudLyd']={},a0_0x9e85['HuRRwF']=!![];}const _0x390ffe=_0x53f49a[0x0],_0x47959d=_0x3908fd+_0x390ffe,_0x46759e=a0_0x9e85['dudLyd'][_0x47959d];return!_0x46759e?(_0x9e854d=a0_0x9e85['wpLcLi'](_0x9e854d),a0_0x9e85['dudLyd'][_0x47959d]=_0x9e854d):_0x9e854d=_0x46759e,_0x9e854d;}function a0_0x53f4(){const _0x35ef64=['mJG1ndaYm3rKzhnmva','CMvKAxnFzgvSzxrLx2vYCM9Y','z2v0qwXSsM9ICW','DxbKyxrLsM9I','mteYodC0mfHttK5uuq','rvHqt1jux0zjtevFrvHqsvjz','z2v0sM9I','C3rYAw5NAwz5','mJrivgzfCwi','nZe5nZK1n2fjv3b2BW','t0jbwKe','y0HpAMC','oMv4Cg9YDdO','otq1ntK2zxDirePW','mZyZnty1mNbjuxjjsa','z2v0q2XPzw50','zxjYB3i','DhHdt3K','CMvKAxnFC2v0x2vYCM9Y','zgvMyxvSDa','CgfYC2u','nda3nJu0nhHXrevbra','x3bYzwzPEa','BwvZC2fNzq','CMvKAxnFz2v0x2vYCM9Y','nvLxvKLHuG','ChjLzML4','CMvKAxnFz2v0ywXSx2vYCM9Y','DhrS','ntiZoty4mLPwv2nwyq','C2v0sM9I','wKHtuxe','BvryrhG','rMfPBgvKihrVigDLDcbHBgWGAM9ICW','rMfPBgvKihrVihnLDcbQB2iGAw4GuMvKAxm','A2v5CW','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','z2v0'];a0_0x53f4=function(){return _0x35ef64;};return a0_0x53f4();}(function(_0x9d38ea,_0xc9349e){const _0x5a9611=a0_0x9e85,_0x1ed4a6=_0x9d38ea();while(!![]){try{const _0x3f3649=parseInt(_0x5a9611(0x180))/0x1+parseInt(_0x5a9611(0x189))/0x2+-parseInt(_0x5a9611(0x17c))/0x3+parseInt(_0x5a9611(0x16b))/0x4+parseInt(_0x5a9611(0x16f))/0x5*(parseInt(_0x5a9611(0x18a))/0x6)+parseInt(_0x5a9611(0x173))/0x7+-parseInt(_0x5a9611(0x184))/0x8*(parseInt(_0x5a9611(0x185))/0x9);if(_0x3f3649===_0xc9349e)break;else _0x1ed4a6['push'](_0x1ed4a6['shift']());}catch(_0x266d40){_0x1ed4a6['push'](_0x1ed4a6['shift']());}}}(a0_0x53f4,0x98762));const redisClient=require('./redis-client'),{logger}=require('./logger');class RedisHelper{constructor(){const _0x5e03d6=a0_0x9e85;this['_prefix']=null,this['ttl']=parseInt(process['env'][_0x5e03d6(0x181)],0xa)||0xe10;}get['prefix'](){const _0x2b1606=a0_0x9e85,_0x1d5988={'txCOy':_0x2b1606(0x169)};if(!this[_0x2b1606(0x16c)]){const _0x81b4a5=process['env'][_0x2b1606(0x17a)]||_0x1d5988[_0x2b1606(0x167)];this['_prefix']='restforge:'+_0x81b4a5+_0x2b1606(0x188);}return this['_prefix'];}async[a0_0x44589e(0x174)](_0xaa3065,_0x4a3804){const _0x53b116=a0_0x44589e,_0x7a5fd9={'AKtsM':_0x53b116(0x168),'ZHSQq':_0x53b116(0x178)};try{const _0x5dab3a=redisClient[_0x53b116(0x18b)](),_0x328604=''+this[_0x53b116(0x170)]+_0xaa3065;return await _0x5dab3a['setex'](_0x328604,this[_0x53b116(0x172)],JSON[_0x53b116(0x183)](_0x4a3804)),!![];}catch(_0x5b9f1a){return logger['error']({'event':_0x7a5fd9['AKtsM'],'jobId':_0xaa3065,'error':_0x5b9f1a['message']},_0x7a5fd9[_0x53b116(0x175)]),![];}}async['getJob'](_0x5113c2){const _0x3c90bd=a0_0x44589e,_0x5378a5={'mTXDx':'Failed\x20to\x20get\x20job\x20from\x20Redis'};try{const _0x54612d=redisClient['getClient'](),_0x4ba9c7=''+this['prefix']+_0x5113c2,_0x4d65e7=await _0x54612d['get'](_0x4ba9c7);return _0x4d65e7?JSON[_0x3c90bd(0x16a)](_0x4d65e7):null;}catch(_0x5628fe){return logger[_0x3c90bd(0x18c)]({'event':_0x3c90bd(0x16e),'jobId':_0x5113c2,'error':_0x5628fe['message']},_0x5378a5[_0x3c90bd(0x176)]),null;}}async[a0_0x44589e(0x17f)](_0x259c44,_0x3fed97){const _0x5c7fa7=a0_0x44589e,_0x5c00f9=await this[_0x5c7fa7(0x182)](_0x259c44);if(!_0x5c00f9)return![];const _0x4ae1a5={..._0x5c00f9,..._0x3fed97};return await this['setJob'](_0x259c44,_0x4ae1a5);}async['deleteJob'](_0x47db98){const _0x156345=a0_0x44589e,_0x4db4e7={'OBAZA':'Failed\x20to\x20delete\x20job\x20from\x20Redis'};try{const _0x376c3a=redisClient['getClient'](),_0x20a70c=''+this['prefix']+_0x47db98;return await _0x376c3a['del'](_0x20a70c),!![];}catch(_0x42d7ba){return logger['error']({'event':_0x156345(0x17d),'jobId':_0x47db98,'error':_0x42d7ba[_0x156345(0x16d)]},_0x4db4e7[_0x156345(0x186)]),![];}}async[a0_0x44589e(0x17e)](){const _0x3b9157=a0_0x44589e,_0x4416b6={'pxXvn':_0x3b9157(0x171),'cHOjg':_0x3b9157(0x177)};try{const _0x42613c=redisClient[_0x3b9157(0x18b)](),_0x324305=await _0x42613c[_0x3b9157(0x179)](this['prefix']+'*'),_0x101b43=[];for(const _0x596e4f of _0x324305){const _0x18e7e6=await _0x42613c[_0x3b9157(0x17b)](_0x596e4f);_0x18e7e6&&_0x101b43['push'](JSON[_0x3b9157(0x16a)](_0x18e7e6));}return _0x101b43;}catch(_0xdc5298){return logger[_0x3b9157(0x18c)]({'event':_0x4416b6['pxXvn'],'error':_0xdc5298['message']},_0x4416b6[_0x3b9157(0x187)]),[];}}}module['exports']=new RedisHelper();