@restforgejs/platform 5.1.20 → 5.1.21

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 (172) hide show
  1. package/build-info.json +2 -2
  2. package/cli/consumer-deploy.js +1 -1
  3. package/cli/consumer.js +1 -1
  4. package/generators/lib/dbschema-kit/apply-executor.js +20 -0
  5. package/generators/lib/generators/processor-validation-generator.js +4 -1
  6. package/generators/lib/migrate/field-type-resolver.js +23 -0
  7. package/generators/lib/payload/payload-runner.js +17 -3
  8. package/generators/lib/templates/dashboard-catalog.js +1 -1
  9. package/generators/lib/templates/db-connection-env.js +1 -1
  10. package/generators/lib/templates/dbschema-catalog.js +1 -1
  11. package/generators/lib/templates/field-validation-catalog.js +1 -1
  12. package/generators/lib/templates/mysql-template.js +1 -1
  13. package/generators/lib/templates/oracle-template.js +1 -1
  14. package/generators/lib/templates/postgres-template.js +1 -1
  15. package/generators/lib/templates/query-declarative-catalog.js +1 -1
  16. package/generators/lib/templates/sqlite-template.js +1 -1
  17. package/integrity-manifest.json +18 -18
  18. package/package.json +1 -1
  19. package/scripts/verify-integrity.js +1 -1
  20. package/server.js +1 -1
  21. package/src/components/handlers/adjust_handler.js +1 -1
  22. package/src/components/handlers/audit_handler.js +1 -1
  23. package/src/components/handlers/delete_handler.js +1 -1
  24. package/src/components/handlers/export_handler.js +1 -1
  25. package/src/components/handlers/import_handler.js +1 -1
  26. package/src/components/handlers/insert_handler.js +1 -1
  27. package/src/components/handlers/update_handler.js +1 -1
  28. package/src/components/handlers/upload_handler.js +1 -1
  29. package/src/components/handlers/workflow_handler.js +1 -1
  30. package/src/components/integrations/webhook.js +1 -1
  31. package/src/consumers/baseConsumer.js +1 -1
  32. package/src/consumers/declarativeMapper.js +1 -1
  33. package/src/consumers/handlers/apiHandler.js +1 -1
  34. package/src/consumers/handlers/consoleHandler.js +1 -1
  35. package/src/consumers/handlers/databaseHandler.js +1 -1
  36. package/src/consumers/handlers/index.js +1 -1
  37. package/src/consumers/handlers/kafkaHandler.js +1 -1
  38. package/src/consumers/index.js +1 -1
  39. package/src/consumers/messageTransformer.js +1 -1
  40. package/src/consumers/validator.js +1 -1
  41. package/src/core/db/dialect/base-dialect.js +1 -1
  42. package/src/core/db/dialect/index.js +1 -1
  43. package/src/core/db/dialect/mysql-dialect.js +1 -1
  44. package/src/core/db/dialect/oracle-dialect.js +1 -1
  45. package/src/core/db/dialect/postgres-dialect.js +1 -1
  46. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  47. package/src/core/db/flatten-helper.js +1 -1
  48. package/src/core/db/query-builder-error.js +1 -1
  49. package/src/core/db/query-builder.js +1 -1
  50. package/src/core/db/relation-helper.js +1 -1
  51. package/src/core/handlers/delete_handler.js +1 -1
  52. package/src/core/handlers/insert_handler.js +1 -1
  53. package/src/core/handlers/update_handler.js +1 -1
  54. package/src/core/models/base-model.js +1 -1
  55. package/src/core/utils/cache-manager.js +1 -1
  56. package/src/core/utils/component-engine.js +1 -1
  57. package/src/core/utils/context-builder.js +1 -1
  58. package/src/core/utils/datetime-formatter.js +1 -1
  59. package/src/core/utils/datetime-parser.js +1 -1
  60. package/src/core/utils/db.js +1 -1
  61. package/src/core/utils/logger.js +1 -1
  62. package/src/core/utils/payload-loader.js +1 -1
  63. package/src/core/utils/security-checks.js +1 -1
  64. package/src/middleware/body-options.js +1 -1
  65. package/src/middleware/cors.js +1 -1
  66. package/src/middleware/idempotency.js +1 -1
  67. package/src/middleware/rate-limiter.js +1 -1
  68. package/src/middleware/request-logger.js +1 -1
  69. package/src/middleware/security-headers.js +1 -1
  70. package/src/models/base-model-mysql.js +1 -1
  71. package/src/models/base-model-oracle.js +1 -1
  72. package/src/models/base-model-sqlite.js +1 -1
  73. package/src/models/base-model.js +1 -1
  74. package/src/pro/caching/redis-client.js +1 -1
  75. package/src/pro/caching/redis-helper.js +1 -1
  76. package/src/pro/consumers/baseConsumer.js +1 -1
  77. package/src/pro/consumers/declarativeMapper.js +1 -1
  78. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  79. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  80. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  81. package/src/pro/consumers/handlers/index.js +1 -1
  82. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  83. package/src/pro/consumers/index.js +1 -1
  84. package/src/pro/consumers/messageTransformer.js +1 -1
  85. package/src/pro/consumers/validator.js +1 -1
  86. package/src/pro/database/base-model-mysql.js +1 -1
  87. package/src/pro/database/base-model-oracle.js +1 -1
  88. package/src/pro/database/base-model-sqlite.js +1 -1
  89. package/src/pro/database/db-mysql.js +1 -1
  90. package/src/pro/database/db-oracle.js +1 -1
  91. package/src/pro/database/db-sqlite.js +1 -1
  92. package/src/pro/excel/excel-generator.js +1 -1
  93. package/src/pro/excel/excel-parser.js +1 -1
  94. package/src/pro/excel/export-service.js +1 -1
  95. package/src/pro/excel/export_handler.js +1 -1
  96. package/src/pro/excel/import-service.js +1 -1
  97. package/src/pro/excel/import-validator.js +1 -1
  98. package/src/pro/excel/import_handler.js +1 -1
  99. package/src/pro/excel/upsert-builder.js +1 -1
  100. package/src/pro/idgen/idgen-routes.js +1 -1
  101. package/src/pro/integrations/lookup-resolver.js +1 -1
  102. package/src/pro/integrations/upload-handler-v2.js +1 -1
  103. package/src/pro/integrations/upload-handler.js +1 -1
  104. package/src/pro/integrations/webhook.js +1 -1
  105. package/src/pro/locking/lock-routes.js +1 -1
  106. package/src/pro/locking/resource-lock-manager.js +1 -1
  107. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  108. package/src/pro/messaging/kafkaService.js +1 -1
  109. package/src/pro/messaging/messagehubService.js +1 -1
  110. package/src/pro/messaging/rabbitmqService.js +1 -1
  111. package/src/pro/scheduler/job-manager.js +1 -1
  112. package/src/pro/scheduler/job-routes.js +1 -1
  113. package/src/pro/scheduler/job-validator.js +1 -1
  114. package/src/pro/storage/base-storage-provider.js +1 -1
  115. package/src/pro/storage/file-metadata-helper.js +1 -1
  116. package/src/pro/storage/index.js +1 -1
  117. package/src/pro/storage/local-storage-provider.js +1 -1
  118. package/src/pro/storage/s3-storage-provider.js +1 -1
  119. package/src/pro/storage/upload-cleanup-job.js +1 -1
  120. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  121. package/src/pro/storage/upload-pending-tracker.js +1 -1
  122. package/src/pro/websocket/broadcast-helper.js +1 -1
  123. package/src/pro/websocket/index.js +1 -1
  124. package/src/pro/websocket/livesync-server.js +1 -1
  125. package/src/pro/websocket/ws-broadcaster.js +1 -1
  126. package/src/services/export-service.js +1 -1
  127. package/src/services/import-service.js +1 -1
  128. package/src/services/kafkaConsumerService.js +1 -1
  129. package/src/services/kafkaService.js +1 -1
  130. package/src/services/messagehubService.js +1 -1
  131. package/src/services/rabbitmqService.js +1 -1
  132. package/src/utils/cache-invalidation-registry.js +1 -1
  133. package/src/utils/cache-manager.js +1 -1
  134. package/src/utils/component-engine.js +1 -1
  135. package/src/utils/config-extractor.js +1 -1
  136. package/src/utils/consumerLogger.js +1 -1
  137. package/src/utils/context-builder.js +1 -1
  138. package/src/utils/dashboard-helpers.js +1 -1
  139. package/src/utils/dateHelper.js +1 -1
  140. package/src/utils/datetime-formatter.js +1 -1
  141. package/src/utils/datetime-parser.js +1 -1
  142. package/src/utils/db-bootstrap.js +1 -1
  143. package/src/utils/db-mysql.js +1 -1
  144. package/src/utils/db-oracle.js +1 -1
  145. package/src/utils/db-sqlite.js +1 -1
  146. package/src/utils/db.js +1 -1
  147. package/src/utils/demo-generator.js +1 -1
  148. package/src/utils/excel-generator.js +1 -1
  149. package/src/utils/excel-parser.js +1 -1
  150. package/src/utils/file-watcher.js +1 -1
  151. package/src/utils/id-generator.js +1 -1
  152. package/src/utils/idempotency-manager.js +1 -1
  153. package/src/utils/import-validator.js +1 -1
  154. package/src/utils/license-client.js +1 -1
  155. package/src/utils/lock-manager.js +1 -1
  156. package/src/utils/logger.js +1 -1
  157. package/src/utils/lookup-resolver.js +1 -1
  158. package/src/utils/payload-loader.js +1 -1
  159. package/src/utils/processor-response.js +1 -1
  160. package/src/utils/rabbitmq.js +1 -1
  161. package/src/utils/redis-client.js +1 -1
  162. package/src/utils/redis-helper.js +1 -1
  163. package/src/utils/request-scope.js +1 -1
  164. package/src/utils/security-checks.js +1 -1
  165. package/src/utils/service-resolver.js +1 -1
  166. package/src/utils/shutdown-coordinator.js +1 -1
  167. package/src/utils/soft-delete-dashboard-guard.js +1 -1
  168. package/src/utils/sql-table-extractor.js +1 -1
  169. package/src/utils/trusted-keys.js +1 -1
  170. package/src/utils/upload-handler.js +1 -1
  171. package/src/utils/upsert-builder.js +1 -1
  172. package/src/utils/workflow-hook-executor.js +1 -1
@@ -1 +1 @@
1
- function a0_0x23eb(){const _0x46213a=['z2v0q2XPzw50','DKT5Ceu','x3n0CMf0zwD5','Bg9JA19LEhrLBMrFzxjYB3i','zxHhvfq','BwvZC2fNzq','C3vIC3rYAw5N','tvjJBfy','Aw5JBhvKzxm','tg9JAYbLEhrLBMqGzxjYB3i','x2vUywjSzwq','zgvMyxvSDfruta','q2fUBM90ihjLBgvHC2uGBg9JAYaTig5VDcbVD25LCG','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMvQzwn0ig1VzguP','x2LUAxrdB25MAwC','CMv0CNLdB3vUDa','u2nNAMu','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMv0CNKGBw9KzsK','D2P5rLe','x2LUAxrPywXPEMvK','ChjLzML4','z2v0','rKngD08','Aw1lCfO','uKvbrcbSB2nRigfJCxvPCMuGDgLTzw91Da','zgvS','CgLK','odmXnduWvxrQCeH1','yu5VvKy','ywXS','x3jLDhj5q291BNq','C2v0','mtjHzeLgtey','v1jjveuGBg9JAYbHy3f1AxjLihrPBwvVDxq','C3bSAxq','zxHWAxjL','D3jPDgvFBg9JA190Aw1LB3v0','BgfZDeLUzgv4t2y','C2v0zxG','D3jPDgvFBg9JA19Hy3f1AxjLza','CMvHzf9SB2nRx2fJCxvPCMvK','CMvHzf9SB2nRx2vYCM9Y','CMvSzwfZzuXVy2S','CMv0CNLezwXHEq','cIaGicaGicaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicaGicaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzxHWAxjLiIWGs0vzu1SXxsWGqvjhvLSYxsKkicaGicaGicbLBhnLcIaGicaGicaGicbYzxr1CM4GmaOGicaGicaGigvUzaOGicaGica','yvjzD2W','D3jPDgvFBg9JA19LCNjVCG','DxvPza','x2rLzMf1BhruveW','s3LZCxK','mJq2ndGYmhDPsezMqq','BM93','zgvIDwC','zxHWB3j0CW','vNDUDw0','CMvHza','x2vUC3vYzuLUAxrPywXPEMvK','yNvPBgrmB2nRs2v5','v2zOEhu','v1jjveuGBg9JAYbLCNjVCG','zw52','mJq5nMPwDfPxuW','otCYmJu0n2fxwe9Wuq','ota0z0Dyrgvo','te9ds19esvnuuKLcvvrfrf9ftKfcteve','DKzlq1e','x3bYzwzPEa','C2XLzxa','ywnXDwLYzvjLywrmB2nR','CMvQzwn0','zgvJCG','zxzHBa','mJK4ota1A1D4uuvO','Cg93','mtmWnte0m3D2sKnXqG','Bg9JA19LEhrLBMrLza','zxjYB3i','mJGZnta4mfHpB3n3wq','CMv0CNK','v1jjveuGBg9JAYbYzwXLyxnLza','y3rWywi','z2vUzxjHDgvmB2nRvMfSDwu','D3jPDgvFBg9JA19YzwPLy3rLza','D29YA2vYswq','tg9Ov0i','x3jLDhj5rgvSyxK','vLDHz3q','B3fqsxK','x3DVCMTLCKLK','D2fYBG','v2fPDgLUzYbMB3iGBg9JA3mGDg8GCMvSzwfZzq','te9ds19esvnuuKLcvvrfrf9srvrswv9eruXbwq','zw5HyMXLza'];a0_0x23eb=function(){return _0x46213a;};return a0_0x23eb();}function a0_0x4078(_0x362869,_0x95b7a4){_0x362869=_0x362869-0x19e;const _0x23eb71=a0_0x23eb();let _0x40789f=_0x23eb71[_0x362869];if(a0_0x4078['TATrdw']===undefined){var _0x2ca6e2=function(_0x140937){const _0x4690b1='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5ce064='',_0x4ce43d='';for(let _0x416b1e=0x0,_0x458657,_0x263eff,_0x38567c=0x0;_0x263eff=_0x140937['charAt'](_0x38567c++);~_0x263eff&&(_0x458657=_0x416b1e%0x4?_0x458657*0x40+_0x263eff:_0x263eff,_0x416b1e++%0x4)?_0x5ce064+=String['fromCharCode'](0xff&_0x458657>>(-0x2*_0x416b1e&0x6)):0x0){_0x263eff=_0x4690b1['indexOf'](_0x263eff);}for(let _0x4beafd=0x0,_0x3ee531=_0x5ce064['length'];_0x4beafd<_0x3ee531;_0x4beafd++){_0x4ce43d+='%'+('00'+_0x5ce064['charCodeAt'](_0x4beafd)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4ce43d);};a0_0x4078['BGmJyG']=_0x2ca6e2,a0_0x4078['VntnNh']={},a0_0x4078['TATrdw']=!![];}const _0x9a856b=_0x23eb71[0x0],_0x4e7fca=_0x362869+_0x9a856b,_0x2c2cfb=a0_0x4078['VntnNh'][_0x4e7fca];return!_0x2c2cfb?(_0x40789f=a0_0x4078['BGmJyG'](_0x40789f),a0_0x4078['VntnNh'][_0x4e7fca]=_0x40789f):_0x40789f=_0x2c2cfb,_0x40789f;}const a0_0x2bbfa9=a0_0x4078;(function(_0xd15701,_0x4b06eb){const _0x4df1c2=a0_0x4078,_0x47422c=_0xd15701();while(!![]){try{const _0xcc0905=parseInt(_0x4df1c2(0x1a3))/0x1+-parseInt(_0x4df1c2(0x1d3))/0x2+-parseInt(_0x4df1c2(0x1f5))/0x3*(parseInt(_0x4df1c2(0x1f7))/0x4)+-parseInt(_0x4df1c2(0x1ea))/0x5+parseInt(_0x4df1c2(0x1d8))/0x6*(parseInt(_0x4df1c2(0x1a5))/0x7)+-parseInt(_0x4df1c2(0x1a8))/0x8+parseInt(_0x4df1c2(0x1f6))/0x9;if(_0xcc0905===_0x4b06eb)break;else _0x47422c['push'](_0x47422c['shift']());}catch(_0x287663){_0x47422c['push'](_0x47422c['shift']());}}}(a0_0x23eb,0x497b4));const redisClient=require('./redis-client'),{logger}=require('./logger'),{v4:uuidv4}=require(a0_0x2bbfa9(0x1e7));class LockManager{constructor(){const _0x4273d0=a0_0x2bbfa9;this['_prefix']=null,this[_0x4273d0(0x1c2)]=null,this[_0x4273d0(0x1e8)]=null,this['_retryCount']=null,this['_retryDelay']=null,this['_strategy']=null,this[_0x4273d0(0x1b3)]=null,this[_0x4273d0(0x1cb)]=![];}[a0_0x2bbfa9(0x1c6)](){const _0x9c2c8=a0_0x2bbfa9,_0x1644af={'VWagt':'rf:lock:','wjyFQ':function(_0x2b55bf,_0x3e875b,_0x20a8de){return _0x2b55bf(_0x3e875b,_0x20a8de);},'MRclV':function(_0xf3d123,_0x36618d){return _0xf3d123===_0x36618d;},'oqPIy':'true','vFKCQ':'retry'},_0x53bc87='2|6|4|5|8|7|1|0|3'[_0x9c2c8(0x1da)]('|');let _0x55dbc9=0x0;while(!![]){switch(_0x53bc87[_0x55dbc9++]){case'0':this['_initialized']=!![];continue;case'1':this[_0x9c2c8(0x1b3)]='worker-'+process[_0x9c2c8(0x1d2)];continue;case'2':this[_0x9c2c8(0x1fa)]=_0x1644af[_0x9c2c8(0x1b1)];continue;case'3':logger['info']({'event':'lock_config_init','enabled':this['_enabled'],'strategy':this[_0x9c2c8(0x1ba)],'ttl':this[_0x9c2c8(0x1e8)],'retryCount':this[_0x9c2c8(0x1d6)],'retryDelay':this[_0x9c2c8(0x1b0)],'workerId':this['_workerId']},'Lock\x20configuration\x20initialized\x20-\x20enabled:\x20'+this[_0x9c2c8(0x1c2)]+',\x20strategy:\x20'+this[_0x9c2c8(0x1ba)]);continue;case'4':this[_0x9c2c8(0x1e8)]=parseInt(process['env']['LOCK_DISTRIBUTED_TTL'],0xa)||0xa;continue;case'5':this['_retryCount']=_0x1644af[_0x9c2c8(0x1ca)](parseInt,process['env']['LOCK_DISTRIBUTED_RETRY'],0xa)||0x3;continue;case'6':this['_enabled']=_0x1644af[_0x9c2c8(0x1bf)](process[_0x9c2c8(0x1f4)][_0x9c2c8(0x1f8)],_0x1644af[_0x9c2c8(0x1b2)]);continue;case'7':this['_strategy']=process[_0x9c2c8(0x1f4)]['LOCK_DISTRIBUTED_STRATEGY']||_0x1644af[_0x9c2c8(0x1f9)];continue;case'8':this['_retryDelay']=parseInt(process['env'][_0x9c2c8(0x1b6)],0xa)||0x64;continue;}break;}}['_ensureInitialized'](){const _0x8faffb=a0_0x2bbfa9;!this[_0x8faffb(0x1cb)]&&this['_initConfig']();}get[a0_0x2bbfa9(0x1cc)](){const _0x27a137=a0_0x2bbfa9;return this[_0x27a137(0x1f0)](),this['_prefix'];}get[a0_0x2bbfa9(0x1b7)](){return this['_ensureInitialized'](),this['_enabled'];}get[a0_0x2bbfa9(0x1c3)](){const _0xeb80a8=a0_0x2bbfa9;return this[_0xeb80a8(0x1f0)](),this['_defaultTTL'];}get[a0_0x2bbfa9(0x1c7)](){return this['_ensureInitialized'](),this['_retryCount'];}get[a0_0x2bbfa9(0x1e3)](){const _0x7849c4=a0_0x2bbfa9;return this['_ensureInitialized'](),this[_0x7849c4(0x1b0)];}get['strategy'](){const _0x20d99d=a0_0x2bbfa9;return this['_ensureInitialized'](),this[_0x20d99d(0x1ba)];}get[a0_0x2bbfa9(0x1ae)](){const _0x319f2b=a0_0x2bbfa9;return this[_0x319f2b(0x1f0)](),this['_workerId'];}['buildLockKey'](_0x2c69bb){const _0x367eca=a0_0x2bbfa9,{module:_0x4a156b,endpoint:_0x49d473,lockType:_0x5a775d,recordId:_0x2bfa84}=_0x2c69bb;if(_0x2bfa84)return''+this[_0x367eca(0x1cc)]+_0x4a156b+':'+_0x49d473+':'+_0x2bfa84+':'+_0x5a775d;return''+this[_0x367eca(0x1cc)]+_0x4a156b+':'+_0x49d473+':'+_0x5a775d;}['generateLockValue'](){const _0x4deaa4=a0_0x2bbfa9;return this['workerId']+':'+uuidv4()+':'+Date[_0x4deaa4(0x1eb)]();}async[a0_0x2bbfa9(0x19f)](_0x39fa08){const _0x56f514=a0_0x2bbfa9,_0x3a6a47={'vKypE':'write','PupDV':_0x56f514(0x1e0),'yWWuO':'READ\x20lock\x20acquired','FCFwO':_0x56f514(0x1d0),'ryTJj':_0x56f514(0x1e1),'YJQSA':'READ\x20lock\x20error'};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x40a570=this[_0x56f514(0x1f1)]({..._0x39fa08,'lockType':_0x3a6a47[_0x56f514(0x1b9)]}),_0x156735=this['buildLockKey']({..._0x39fa08,'lockType':'read'}),_0x3c98b6=this[_0x56f514(0x1ac)]();try{const _0x55d84e=redisClient['getClient']();for(let _0x2060c4=0x0;_0x2060c4<this['retryCount'];_0x2060c4++){const _0xe99b84=await _0x55d84e['get'](_0x40a570);if(!_0xe99b84){await _0x55d84e['incr'](_0x156735),await _0x55d84e[_0x56f514(0x1db)](_0x156735,this[_0x56f514(0x1c3)]);const _0x2ca4b9=_0x156735+':'+_0x3c98b6;return await _0x55d84e[_0x56f514(0x1de)](_0x2ca4b9,this['defaultTTL'],_0x3c98b6),logger['debug']({'event':_0x3a6a47['PupDV'],'key':_0x156735,'value':_0x3c98b6},_0x3a6a47['yWWuO']),{'success':!![],'lockValue':_0x3c98b6,'lockKey':_0x2ca4b9};}logger['debug']({'event':'read_lock_waiting','writeKey':_0x40a570,'attempt':_0x2060c4},'Waiting\x20for\x20WRITE\x20lock\x20to\x20release'),await this['sleep'](this['retryDelay']*Math[_0x56f514(0x1a4)](0x2,_0x2060c4));}return logger[_0x56f514(0x1b4)]({'event':'read_lock_timeout','key':_0x156735},_0x3a6a47[_0x56f514(0x1ce)]),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x51e47a){return logger['error']({'event':_0x3a6a47['ryTJj'],'error':_0x51e47a['message']},_0x3a6a47['YJQSA']),{'success':![],'lockValue':null,'lockKey':null};}}async['acquireWriteLock'](_0x382795){const _0x1e28cd=a0_0x2bbfa9,_0x39ced5={'LohWB':_0x1e28cd(0x1ef),'TKCJf':function(_0x181148,_0x5aa1f3){return _0x181148===_0x5aa1f3;},'xVNsS':'write_lock_acquired','ctpab':_0x1e28cd(0x1a0),'ixWMl':_0x1e28cd(0x1c5),'OXIZQ':'WRITE\x20lock\x20rejected\x20-\x20record\x20busy','doPVr':function(_0x55656f,_0x279153){return _0x55656f<_0x279153;},'aNoVF':_0x1e28cd(0x1a9),'eMtzO':_0x1e28cd(0x1c9),'fqDAV':_0x1e28cd(0x1b5)};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x231fe4=this['buildLockKey']({..._0x382795,'lockType':'write'}),_0x3c9643=this['buildLockKey']({..._0x382795,'lockType':_0x39ced5[_0x1e28cd(0x1af)]}),_0x53cc63=this[_0x1e28cd(0x1ac)]();try{const _0xfb85d1=redisClient[_0x1e28cd(0x1b8)]();if(_0x39ced5['TKCJf'](this['strategy'],'reject')){const _0x32a808=await _0xfb85d1[_0x1e28cd(0x1d7)](_0x231fe4,_0x53cc63,'EX',this['defaultTTL'],'NX');if(_0x32a808==='OK')return logger['debug']({'event':_0x39ced5['xVNsS'],'key':_0x231fe4,'value':_0x53cc63,'strategy':_0x39ced5[_0x1e28cd(0x1ab)]},_0x39ced5['ixWMl']),{'success':!![],'lockValue':_0x53cc63,'lockKey':_0x231fe4};return logger['debug']({'event':_0x1e28cd(0x1ad),'key':_0x231fe4},_0x39ced5['OXIZQ']),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x1c0021=0x0;_0x39ced5['doPVr'](_0x1c0021,this['retryCount']);_0x1c0021++){const [_0x1cddb7,_0x487aa9]=await Promise[_0x1e28cd(0x1d5)]([_0xfb85d1[_0x1e28cd(0x1cd)](_0x3c9643),_0xfb85d1[_0x1e28cd(0x1cd)](_0x231fe4)]);if(!_0x487aa9&&(!_0x1cddb7||_0x39ced5['TKCJf'](parseInt(_0x1cddb7),0x0))){const _0x123827=await _0xfb85d1[_0x1e28cd(0x1d7)](_0x231fe4,_0x53cc63,'EX',this[_0x1e28cd(0x1c3)],'NX');if(_0x123827==='OK')return logger['debug']({'event':_0x1e28cd(0x1df),'key':_0x231fe4,'value':_0x53cc63,'strategy':_0x39ced5[_0x1e28cd(0x1d4)]},_0x39ced5['eMtzO']),{'success':!![],'lockValue':_0x53cc63,'lockKey':_0x231fe4};}logger['debug']({'event':'write_lock_waiting','writeKey':_0x231fe4,'readCount':_0x1cddb7,'attempt':_0x1c0021},_0x39ced5['fqDAV']),await this['sleep'](this['retryDelay']*Math['pow'](0x2,_0x1c0021));}return logger[_0x1e28cd(0x1b4)]({'event':_0x1e28cd(0x1dc),'key':_0x231fe4},_0x1e28cd(0x1d9)),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x12f37d){return logger[_0x1e28cd(0x1a7)]({'event':_0x1e28cd(0x1e6),'error':_0x12f37d[_0x1e28cd(0x1bd)]},_0x1e28cd(0x1f3)),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x2bbfa9(0x1e2)](_0x392094,_0x54f5e2){const _0x213088=a0_0x2bbfa9,_0x354f80={'kjDiF':':read:','exGTT':function(_0x2b30ea,_0x163804){return _0x2b30ea>_0x163804;},'sGqTm':function(_0x44e3a0,_0x49309c){return _0x44e3a0(_0x49309c);},'imKpZ':'read_lock_released','FWPXW':'READ\x20lock\x20released','VFAYA':function(_0x33b9b2,_0x38feea){return _0x33b9b2===_0x38feea;},'Scgje':'write_lock_released','Wfhxu':_0x213088(0x1aa),'Kysqy':_0x213088(0x1c4)};if(!this['enabled']||!_0x392094)return!![];try{const _0x5e1eb3=redisClient[_0x213088(0x1b8)]();if(_0x392094[_0x213088(0x1c0)](_0x354f80['kjDiF'])){await _0x5e1eb3[_0x213088(0x1d1)](_0x392094);const _0x585393=_0x392094[_0x213088(0x1be)](0x0,_0x392094[_0x213088(0x1dd)](':')),_0x4c3c4a=await _0x5e1eb3['get'](_0x585393);return _0x4c3c4a&&_0x354f80[_0x213088(0x1bc)](_0x354f80['sGqTm'](parseInt,_0x4c3c4a),0x0)&&await _0x5e1eb3[_0x213088(0x1a1)](_0x585393),logger['debug']({'event':_0x354f80[_0x213088(0x1cf)],'key':_0x392094},_0x354f80['FWPXW']),!![];}const _0xa7a4dd='\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',_0x575a58=await _0x5e1eb3['eval'](_0xa7a4dd,0x1,_0x392094,_0x54f5e2);if(_0x354f80['VFAYA'](_0x575a58,0x1))return logger['debug']({'event':_0x354f80[_0x213088(0x1c8)],'key':_0x392094},_0x354f80[_0x213088(0x1f2)]),!![];return logger['warn']({'event':'lock_release_not_owner','key':_0x392094},_0x354f80[_0x213088(0x1e9)]),![];}catch(_0x2a6599){return logger[_0x213088(0x1a7)]({'event':'lock_release_error','key':_0x392094,'error':_0x2a6599[_0x213088(0x1bd)]},'Lock\x20release\x20error'),![];}}async['extendLock'](_0x432f1d,_0x467f78,_0x2eed2e=null){const _0x3f3486=a0_0x2bbfa9,_0x51fd04={'pQNDt':_0x3f3486(0x1a6),'Vwnum':'Lock\x20TTL\x20extended','aRYwl':_0x3f3486(0x1bb)};if(!this['enabled']||!_0x432f1d)return!![];try{const _0x4003bb=redisClient['getClient'](),_0x2a06e3=_0x3f3486(0x1e4),_0x25880d=await _0x4003bb[_0x3f3486(0x1a2)](_0x2a06e3,0x1,_0x432f1d,_0x467f78,_0x2eed2e||this['defaultTTL']);if(_0x25880d===0x1)return logger[_0x3f3486(0x1ec)]({'event':_0x51fd04['pQNDt'],'key':_0x432f1d,'ttl':_0x2eed2e||this['defaultTTL']},_0x51fd04[_0x3f3486(0x1ee)]),!![];return![];}catch(_0x4636e6){return logger[_0x3f3486(0x1a7)]({'event':_0x51fd04[_0x3f3486(0x1e5)],'key':_0x432f1d,'error':_0x4636e6['message']},_0x3f3486(0x1c1)),![];}}['isEnabled'](){return this['enabled'];}[a0_0x2bbfa9(0x19e)](_0x345f6f){return new Promise(_0x4658bb=>setTimeout(_0x4658bb,_0x345f6f));}async['getLockInfo'](_0x5627ea){const _0xbc7038=a0_0x2bbfa9,_0x28a6e8={'FwaRI':function(_0xd557f5,_0x27b8b2){return _0xd557f5(_0x27b8b2);}};if(!this['enabled'])return{'enabled':![]};try{const _0x260915=redisClient[_0xbc7038(0x1b8)](),_0x3003fc=this['buildLockKey']({..._0x5627ea,'lockType':'write'}),_0x111458=this['buildLockKey']({..._0x5627ea,'lockType':_0xbc7038(0x1ef)}),[_0x43016a,_0xdcdc28]=await Promise[_0xbc7038(0x1d5)]([_0x260915[_0xbc7038(0x1cd)](_0x3003fc),_0x260915['get'](_0x111458)]);return{'enabled':!![],'writeLock':_0x43016a||null,'readCount':_0x28a6e8['FwaRI'](parseInt,_0xdcdc28)||0x0,'writeKey':_0x3003fc,'readKey':_0x111458};}catch(_0x306600){return{'enabled':!![],'error':_0x306600['message']};}}}module[a0_0x2bbfa9(0x1ed)]=new LockManager();
1
+ const a0_0x4c3c88=a0_0x907d;function a0_0x12ad(){const _0x134748=['zxzHBa','nJzqDLr0t2q','D3jPDgvFBg9JA193ywL0Aw5N','x3jLDhj5q291BNq','BfziC3K','zxHWB3j0CW','x3jLDhj5rgvSyxK','Bg9JA19LEhrLBMrLza','ENnWCxm','Bg9JA19LEhrLBMrFzxjYB3i','BwvZC2fNzq','CMvHza','ntKWywD4Bfnm','Cg93','te9ds19esvnuuKLcvvrfrf9uveW','Bg9JA19JB25MAwDFAw5PDa','x3n0CMf0zwD5','uKvbrcbSB2nRigvYCM9Y','zgvMyxvSDfruta','v1jjveuGBg9JAYbYzwPLy3rLzcaTihjLy29YzcbIDxn5','ndi3BKjJuNjO','nJiWodrWu0vuzLC','CMy6Bg9JAZO','v1jjveuGBg9JAYbLCNjVCG','mJCWmdq5mNDABLbUAG','CMvHzf9SB2nRx2vYCM9Y','zw5HyMXLza','DKDpv0m','sgvyyLe','te9ds19esvnuuKLcvvrfrf9ftKfcteve','zxjYB3i','CMv0CNK','D3jPDgu','mNWZFdD8nhWXFdb8nxW2','AvHrCLK','zgvS','uKvbrcbSB2nRigfJCxvPCMvK','cIaGicaGicaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicaGicaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzgvSiIWGs0vzu1SXxsKkicaGicaGicbLBhnLcIaGicaGicaGicbYzxr1CM4GmaOGicaGicaGigvUzaOGicaGica','tg9JAYbuveWGzxH0zw5Kzwq','mtKZnZGZnxzLwvz4vW','CMvHzf9SB2nRx3rPBwvVDxq','Bg9JA19YzwXLyxnLx25VDf9VD25LCG','D2fYBG','tLvSEM0','v2fPDgLUzYbMB3iGBg9JA3mGDg8GCMvSzwfZzq','Bgnjrvq','x2LUAxrdB25MAwC','te9ds19esvnuuKLcvvrfrf9srvrswv9eruXbwq','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMvQzwn0ig1VzguP','lI9SB2DNzxi','CKz1wge','AuLVB0S','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMv0CNKGBw9KzsK','D3jPDgvFBg9JA19YzwPLy3rLza','mtiZnZHOyLnsy1u','uKjcEfC','x2vUC3vYzuLUAxrPywXPEMvK','ChjLzML4','D3jPDgvFBg9JA19YzwXLyxnLza','ywnXDwLYzvjLywrmB2nR','x2rLzMf1BhruveW','mJGYotG2q1vXzg5e','z2v0q2XPzw50','mty0mtzItfDZsLu','oty1veDWvNrN','zgvJCG','rNDgqKe','tLD0Au8','CMvHzf9SB2nRx3jLBgvHC2vK','z2v0','CMvHzf9SB2nRx2fJCxvPCMvK','x3bYzwzPEa','x3DVCMTLCKLK','D29YA2vYswq','CMv0CNLdB3vUDa','AxnfBMfIBgvK','te9ds19esvnuuKLcvvrfrf9tvfjbvevhwq','CuXkq04','v1jjveuGBg9JAYbYzwXLyxnLza','zgvIDwC','BM93','zxHnCxi','C3bSAxq','yNvPBgrmB2nRs2v5','C2XLzxa','x2LUAxrPywXPEMvK','vhvrv0K','D3jPDgvFBg9JA19LCNjVCG','mJa1mJm1thzjrfP4','uKvbrcbSB2nRihjLBgvHC2vK','z1DlzfG','CMv0CNLezwXHEq','zw52'];a0_0x12ad=function(){return _0x134748;};return a0_0x12ad();}(function(_0x367993,_0x527cd3){const _0x110ddf=a0_0x907d,_0x2e07f2=_0x367993();while(!![]){try{const _0x247fa3=parseInt(_0x110ddf(0x135))/0x1+parseInt(_0x110ddf(0xf2))/0x2*(-parseInt(_0x110ddf(0xde))/0x3)+-parseInt(_0x110ddf(0xf5))/0x4+-parseInt(_0x110ddf(0x11d))/0x5*(-parseInt(_0x110ddf(0x113))/0x6)+parseInt(_0x110ddf(0xf1))/0x7*(-parseInt(_0x110ddf(0x11c))/0x8)+-parseInt(_0x110ddf(0x104))/0x9+parseInt(_0x110ddf(0xe9))/0xa*(parseInt(_0x110ddf(0x11a))/0xb);if(_0x247fa3===_0x527cd3)break;else _0x2e07f2['push'](_0x2e07f2['shift']());}catch(_0x659aa5){_0x2e07f2['push'](_0x2e07f2['shift']());}}}(a0_0x12ad,0x67326));const redisClient=require('./redis-client'),{logger}=require(a0_0x4c3c88(0x10e)),{v4:uuidv4}=require('uuid');class LockManager{constructor(){const _0x3fa95f=a0_0x4c3c88,_0x84d22e={'ZBaOD':_0x3fa95f(0xfe)},_0x1df159=_0x84d22e['ZBaOD'][_0x3fa95f(0x12f)]('|');let _0x2e05b6=0x0;while(!![]){switch(_0x1df159[_0x2e05b6++]){case'0':this['_strategy']=null;continue;case'1':this[_0x3fa95f(0xe3)]=null;continue;case'2':this[_0x3fa95f(0x124)]=null;continue;case'3':this['_enabled']=null;continue;case'4':this['_retryCount']=null;continue;case'5':this[_0x3fa95f(0x125)]=null;continue;case'6':this['_initialized']=![];continue;case'7':this[_0x3fa95f(0x119)]=null;continue;}break;}}[a0_0x4c3c88(0x10b)](){const _0xba00e1=a0_0x4c3c88,_0x147281={'OTzND':_0xba00e1(0xf3),'mLpHw':_0xba00e1(0xec),'hYNVX':function(_0x46a49b,_0x37c94e,_0x4f7bc2){return _0x46a49b(_0x37c94e,_0x4f7bc2);},'qLJCN':'retry','VctWG':function(_0x3446ce,_0x2cb58a,_0x384e95){return _0x3446ce(_0x2cb58a,_0x384e95);}},_0x3d985d='0|5|3|6|8|7|4|1|2'['split']('|');let _0x28277b=0x0;while(!![]){switch(_0x3d985d[_0x28277b++]){case'0':this[_0xba00e1(0x124)]=_0x147281['OTzND'];continue;case'1':this['_initialized']=!![];continue;case'2':logger['info']({'event':_0x147281['mLpHw'],'enabled':this['_enabled'],'strategy':this['_strategy'],'ttl':this['_defaultTTL'],'retryCount':this['_retryCount'],'retryDelay':this[_0xba00e1(0xe3)],'workerId':this['_workerId']},'Lock\x20configuration\x20initialized\x20-\x20enabled:\x20'+this['_enabled']+',\x20strategy:\x20'+this['_strategy']);continue;case'3':this['_defaultTTL']=_0x147281['hYNVX'](parseInt,process[_0xba00e1(0x139)][_0xba00e1(0xeb)],0xa)||0xa;continue;case'4':this['_workerId']='worker-'+process['pid'];continue;case'5':this['_enabled']=process['env'][_0xba00e1(0xfa)]==='true';continue;case'6':this['_retryCount']=parseInt(process['env']['LOCK_DISTRIBUTED_RETRY'],0xa)||0x3;continue;case'7':this[_0xba00e1(0xed)]=process[_0xba00e1(0x139)][_0xba00e1(0x129)]||_0x147281[_0xba00e1(0x12a)];continue;case'8':this['_retryDelay']=_0x147281['VctWG'](parseInt,process['env'][_0xba00e1(0x10c)],0xa)||0x64;continue;}break;}}[a0_0x4c3c88(0x115)](){const _0x5f521d=a0_0x4c3c88;!this[_0x5f521d(0x132)]&&this[_0x5f521d(0x10b)]();}get[a0_0x4c3c88(0x116)](){const _0x543450=a0_0x4c3c88;return this['_ensureInitialized'](),this[_0x543450(0x124)];}get[a0_0x4c3c88(0xf7)](){const _0x77b1eb=a0_0x4c3c88;return this[_0x77b1eb(0x115)](),this['_enabled'];}get[a0_0x4c3c88(0xef)](){const _0x4b1049=a0_0x4c3c88;return this[_0x4b1049(0x115)](),this['_defaultTTL'];}get[a0_0x4c3c88(0x127)](){const _0x20e0c7=a0_0x4c3c88;return this[_0x20e0c7(0x115)](),this[_0x20e0c7(0xe0)];}get[a0_0x4c3c88(0x138)](){const _0xd4c410=a0_0x4c3c88;return this['_ensureInitialized'](),this[_0xd4c410(0xe3)];}get['strategy'](){const _0x2d7c02=a0_0x4c3c88;return this[_0x2d7c02(0x115)](),this[_0x2d7c02(0xed)];}get[a0_0x4c3c88(0x126)](){const _0xdb343c=a0_0x4c3c88;return this[_0xdb343c(0x115)](),this['_workerId'];}[a0_0x4c3c88(0x130)](_0x3fe421){const _0x3b2768=a0_0x4c3c88,{module:_0xf3533,endpoint:_0xb2b8dc,lockType:_0x33a925,recordId:_0x31dad2}=_0x3fe421;if(_0x31dad2)return''+this[_0x3b2768(0x116)]+_0xf3533+':'+_0xb2b8dc+':'+_0x31dad2+':'+_0x33a925;return''+this['prefix']+_0xf3533+':'+_0xb2b8dc+':'+_0x33a925;}['generateLockValue'](){const _0x45c5b8=a0_0x4c3c88;return this['workerId']+':'+uuidv4()+':'+Date[_0x45c5b8(0x12d)]();}async[a0_0x4c3c88(0x118)](_0x596f72){const _0x21e8f7=a0_0x4c3c88,_0x483be0={'NWtiO':_0x21e8f7(0xfd),'IiNRd':_0x21e8f7(0x101),'UWxGx':'Waiting\x20for\x20WRITE\x20lock\x20to\x20release','exMqr':'READ\x20lock\x20acquire\x20timeout','NUlzm':_0x21e8f7(0xee)};if(!this[_0x21e8f7(0xf7)])return{'success':!![],'lockValue':null,'lockKey':null};const _0x504ff6=this[_0x21e8f7(0x130)]({..._0x596f72,'lockType':_0x483be0[_0x21e8f7(0x120)]}),_0x394b9a=this['buildLockKey']({..._0x596f72,'lockType':'read'}),_0x2685b3=this['generateLockValue']();try{const _0xb8d73e=redisClient[_0x21e8f7(0x11b)]();for(let _0x14509e=0x0;_0x14509e<this[_0x21e8f7(0x127)];_0x14509e++){const _0x30bbae=await _0xb8d73e['get'](_0x504ff6);if(!_0x30bbae){await _0xb8d73e['incr'](_0x394b9a),await _0xb8d73e['expire'](_0x394b9a,this['defaultTTL']);const _0x435613=_0x394b9a+':'+_0x2685b3;return await _0xb8d73e['setex'](_0x435613,this['defaultTTL'],_0x2685b3),logger['debug']({'event':_0x21e8f7(0x123),'key':_0x394b9a,'value':_0x2685b3},_0x483be0['IiNRd']),{'success':!![],'lockValue':_0x2685b3,'lockKey':_0x435613};}logger['debug']({'event':'read_lock_waiting','writeKey':_0x504ff6,'attempt':_0x14509e},_0x483be0['UWxGx']),await this['sleep'](this[_0x21e8f7(0x138)]*Math['pow'](0x2,_0x14509e));}return logger['warn']({'event':_0x21e8f7(0x105),'key':_0x394b9a},_0x483be0[_0x21e8f7(0x12e)]),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x1f2f8d){return logger['error']({'event':_0x21e8f7(0xf6),'error':_0x1f2f8d['message']},_0x483be0[_0x21e8f7(0x108)]),{'success':![],'lockValue':null,'lockKey':null};}}async['acquireWriteLock'](_0x3f10a1){const _0xe3f191=a0_0x4c3c88,_0x2d846d={'FwFBA':_0xe3f191(0xfd),'gWKdX':_0xe3f191(0xe8),'SLWSR':'reject','EIQiy':_0xe3f191(0x10d),'HeXbQ':_0xe3f191(0x112),'zOiQH':function(_0x345250,_0x15b5d9){return _0x345250(_0x15b5d9);},'rFuXa':function(_0x2a3c03,_0x384ef6){return _0x2a3c03===_0x384ef6;},'mviBM':'write_lock_acquired','dnwFs':_0xe3f191(0xfc),'lQBrU':_0xe3f191(0xdf),'XWBBi':function(_0x28c195,_0x8469dd){return _0x28c195*_0x8469dd;},'iIooK':'write_lock_timeout','emQYY':'WRITE\x20lock\x20acquire\x20timeout','vGOWC':_0xe3f191(0xf4)};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x476cc3=this['buildLockKey']({..._0x3f10a1,'lockType':_0x2d846d[_0xe3f191(0x11f)]}),_0x384a64=this['buildLockKey']({..._0x3f10a1,'lockType':_0x2d846d[_0xe3f191(0x137)]}),_0x1b22cb=this['generateLockValue']();try{const _0x41383f=redisClient[_0xe3f191(0x11b)]();if(this['strategy']===_0x2d846d['SLWSR']){const _0x2fb38e=await _0x41383f['set'](_0x476cc3,_0x1b22cb,'EX',this['defaultTTL'],'NX');if(_0x2fb38e==='OK')return logger[_0xe3f191(0x12c)]({'event':'write_lock_acquired','key':_0x476cc3,'value':_0x1b22cb,'strategy':'reject'},_0x2d846d['EIQiy']),{'success':!![],'lockValue':_0x1b22cb,'lockKey':_0x476cc3};return logger[_0xe3f191(0x12c)]({'event':_0x2d846d[_0xe3f191(0xf9)],'key':_0x476cc3},_0xe3f191(0xf0)),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x232b0b=0x0;_0x232b0b<this[_0xe3f191(0x127)];_0x232b0b++){const [_0x346e60,_0x34d3c2]=await Promise['all']([_0x41383f[_0xe3f191(0x122)](_0x384a64),_0x41383f[_0xe3f191(0x122)](_0x476cc3)]);if(!_0x34d3c2&&(!_0x346e60||_0x2d846d['zOiQH'](parseInt,_0x346e60)===0x0)){const _0x523736=await _0x41383f['set'](_0x476cc3,_0x1b22cb,'EX',this[_0xe3f191(0xef)],'NX');if(_0x2d846d[_0xe3f191(0x10f)](_0x523736,'OK'))return logger['debug']({'event':_0x2d846d['mviBM'],'key':_0x476cc3,'value':_0x1b22cb,'strategy':_0x2d846d['dnwFs']},_0xe3f191(0x111)),{'success':!![],'lockValue':_0x1b22cb,'lockKey':_0x476cc3};}logger[_0xe3f191(0x12c)]({'event':_0x2d846d['lQBrU'],'writeKey':_0x476cc3,'readCount':_0x346e60,'attempt':_0x232b0b},_0xe3f191(0x109)),await this[_0xe3f191(0x131)](_0x2d846d['XWBBi'](this[_0xe3f191(0x138)],Math[_0xe3f191(0xea)](0x2,_0x232b0b)));}return logger[_0xe3f191(0x107)]({'event':_0x2d846d[_0xe3f191(0x110)],'key':_0x476cc3},_0x2d846d['emQYY']),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x3a0d4a){return logger[_0xe3f191(0xfb)]({'event':_0xe3f191(0x134),'error':_0x3a0d4a[_0xe3f191(0xe7)]},_0x2d846d[_0xe3f191(0xf8)]),{'success':![],'lockValue':null,'lockKey':null};}}async['releaseLock'](_0x4eff9e,_0x5d86cb){const _0x10384f=a0_0x4c3c88,_0x417dcc={'UinST':_0x10384f(0x121),'YbFBa':_0x10384f(0x136),'uuCqL':function(_0x7832e1,_0x256162){return _0x7832e1===_0x256162;},'RBBxW':_0x10384f(0x117),'VFfCu':'Cannot\x20release\x20lock\x20-\x20not\x20owner','TuQWI':'lock_release_error','lcIET':'Lock\x20release\x20error'};if(!this['enabled']||!_0x4eff9e)return!![];try{const _0x183d4a=redisClient['getClient']();if(_0x4eff9e['includes'](':read:')){await _0x183d4a[_0x10384f(0x100)](_0x4eff9e);const _0x172bef=_0x4eff9e['substring'](0x0,_0x4eff9e['lastIndexOf'](':')),_0x11bca8=await _0x183d4a[_0x10384f(0x122)](_0x172bef);return _0x11bca8&&parseInt(_0x11bca8)>0x0&&await _0x183d4a[_0x10384f(0x11e)](_0x172bef),logger['debug']({'event':_0x417dcc['UinST'],'key':_0x4eff9e},_0x417dcc['YbFBa']),!![];}const _0x62907=_0x10384f(0x102),_0x42a46c=await _0x183d4a['eval'](_0x62907,0x1,_0x4eff9e,_0x5d86cb);if(_0x417dcc['uuCqL'](_0x42a46c,0x1))return logger[_0x10384f(0x12c)]({'event':_0x417dcc[_0x10384f(0x114)],'key':_0x4eff9e},_0x10384f(0x12b)),!![];return logger[_0x10384f(0x107)]({'event':_0x10384f(0x106),'key':_0x4eff9e},_0x417dcc['VFfCu']),![];}catch(_0x471b3c){return logger[_0x10384f(0xfb)]({'event':_0x417dcc[_0x10384f(0x133)],'key':_0x4eff9e,'error':_0x471b3c['message']},_0x417dcc[_0x10384f(0x10a)]),![];}}async['extendLock'](_0x32139f,_0x550b3f,_0x32986c=null){const _0x527e3f=a0_0x4c3c88,_0x4b589d={'zspqs':_0x527e3f(0xe6)};if(!this[_0x527e3f(0xf7)]||!_0x32139f)return!![];try{const _0x117249=redisClient['getClient'](),_0x51cd9e='\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',_0x18bc7e=await _0x117249[_0x527e3f(0x13a)](_0x51cd9e,0x1,_0x32139f,_0x550b3f,_0x32986c||this['defaultTTL']);if(_0x18bc7e===0x1)return logger[_0x527e3f(0x12c)]({'event':_0x527e3f(0xe4),'key':_0x32139f,'ttl':_0x32986c||this[_0x527e3f(0xef)]},_0x527e3f(0x103)),!![];return![];}catch(_0x9a68b2){return logger['error']({'event':_0x4b589d[_0x527e3f(0xe5)],'key':_0x32139f,'error':_0x9a68b2[_0x527e3f(0xe7)]},'Lock\x20extend\x20error'),![];}}[a0_0x4c3c88(0x128)](){const _0x379772=a0_0x4c3c88;return this[_0x379772(0xf7)];}['sleep'](_0x2c399){return new Promise(_0x31050d=>setTimeout(_0x31050d,_0x2c399));}async['getLockInfo'](_0x1cf733){const _0x2e3655=a0_0x4c3c88,_0x3a1bf3={'iXQrY':_0x2e3655(0xfd),'lVHsy':'read'};if(!this['enabled'])return{'enabled':![]};try{const _0x739569=redisClient[_0x2e3655(0x11b)](),_0x53e19a=this[_0x2e3655(0x130)]({..._0x1cf733,'lockType':_0x3a1bf3[_0x2e3655(0xff)]}),_0x55ba89=this[_0x2e3655(0x130)]({..._0x1cf733,'lockType':_0x3a1bf3[_0x2e3655(0xe1)]}),[_0x5c7992,_0x57d089]=await Promise['all']([_0x739569[_0x2e3655(0x122)](_0x53e19a),_0x739569[_0x2e3655(0x122)](_0x55ba89)]);return{'enabled':!![],'writeLock':_0x5c7992||null,'readCount':parseInt(_0x57d089)||0x0,'writeKey':_0x53e19a,'readKey':_0x55ba89};}catch(_0x24caa9){return{'enabled':!![],'error':_0x24caa9['message']};}}}function a0_0x907d(_0x4fe94f,_0x3f003b){_0x4fe94f=_0x4fe94f-0xde;const _0x12adf9=a0_0x12ad();let _0x907dbc=_0x12adf9[_0x4fe94f];if(a0_0x907d['HGfNaL']===undefined){var _0x488dcb=function(_0x557a1a){const _0x445cd5='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x39fc8a='',_0x20afaf='';for(let _0x206af9=0x0,_0x2772d8,_0x3fef2c,_0x1a4fb4=0x0;_0x3fef2c=_0x557a1a['charAt'](_0x1a4fb4++);~_0x3fef2c&&(_0x2772d8=_0x206af9%0x4?_0x2772d8*0x40+_0x3fef2c:_0x3fef2c,_0x206af9++%0x4)?_0x39fc8a+=String['fromCharCode'](0xff&_0x2772d8>>(-0x2*_0x206af9&0x6)):0x0){_0x3fef2c=_0x445cd5['indexOf'](_0x3fef2c);}for(let _0x11f940=0x0,_0x510e20=_0x39fc8a['length'];_0x11f940<_0x510e20;_0x11f940++){_0x20afaf+='%'+('00'+_0x39fc8a['charCodeAt'](_0x11f940)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x20afaf);};a0_0x907d['dwPYKw']=_0x488dcb,a0_0x907d['xXcvXs']={},a0_0x907d['HGfNaL']=!![];}const _0x3f8345=_0x12adf9[0x0],_0x11bacc=_0x4fe94f+_0x3f8345,_0x3b52e7=a0_0x907d['xXcvXs'][_0x11bacc];return!_0x3b52e7?(_0x907dbc=a0_0x907d['dwPYKw'](_0x907dbc),a0_0x907d['xXcvXs'][_0x11bacc]=_0x907dbc):_0x907dbc=_0x3b52e7,_0x907dbc;}module[a0_0x4c3c88(0xe2)]=new LockManager();
@@ -1 +1 @@
1
- const a0_0x5d7352=a0_0x4a24;(function(_0x270a67,_0x1c112b){const _0x417b21=a0_0x4a24,_0x40df1e=_0x270a67();while(!![]){try{const _0xf9065c=parseInt(_0x417b21(0x153))/0x1*(parseInt(_0x417b21(0x11b))/0x2)+-parseInt(_0x417b21(0x12e))/0x3+parseInt(_0x417b21(0x16b))/0x4+-parseInt(_0x417b21(0xea))/0x5*(parseInt(_0x417b21(0x13d))/0x6)+-parseInt(_0x417b21(0x116))/0x7*(parseInt(_0x417b21(0x114))/0x8)+parseInt(_0x417b21(0xd0))/0x9*(-parseInt(_0x417b21(0x12d))/0xa)+parseInt(_0x417b21(0xe4))/0xb*(parseInt(_0x417b21(0x152))/0xc);if(_0xf9065c===_0x1c112b)break;else _0x40df1e['push'](_0x40df1e['shift']());}catch(_0x270c8a){_0x40df1e['push'](_0x40df1e['shift']());}}}(a0_0x48e2,0x31f69));const pino=require('pino'),fs=require('fs'),path=require(a0_0x5d7352(0x186));function a0_0x48e2(){const _0x43bb2c=['Ahr0Cf9LCNjVCG','ChjVzhvJDgLVBG','mJC3mhPlDuXfqW','DhjPBq','CMvWBgfJzq','zgf0ywjHC2vFy29UzMLN','BwvTB3j5vxnHz2u','iokvKqRILzeGiefqssblzxKGicaGidOG','y3jLzgL0y2fYza','w1jfrefdveveoNrVA2vUxq','Bg9N','cUkvLokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvLWO','Dw5RBM93BG','u0vsvKLdrv9oqu1f','w1jfrefdvevexq','Dg9Rzw4','q1jjveLdquW','reiGuxvLCNK','Dg9gAxHLza','yM9KEq','CgLUBY1WCMv0DhK','tM9Kzs5QCW','q09ntuLu','uKvtvezpuKDfifjvtLrjtuuGu0vsvKvs','C3rHDhvZq29Kzq','qNDTEwW','DxnLCI1Hz2vUDa','oI8V','u2vYDMvYihn0yxj0Aw5NoIa','uKjAzem','Cg9YDa','u0vmrunu','ChjVAMvJDa','zvjyrLe','revmrvrf','quHrsu4','s2LuEfC','CMvWzwf0','zgvIDwC','rxrAz3e','vxrXAeW','BwvZC2fNzq','r2XVyMfSigvYCM9YigHHBMrSzxjZigLUAxrPywXPEMvK','uK9mtejbq0S','mJK2svvbwgn6','tK9uiefdveLwrq','ndi1nZrjC3verKm','tLvrC1y','rMLSzsbSB2DNAw5NigvUywjSzwq6ia','A2v5CW','CgfKrw5K','ndyYohfXsgH0wa','vvbZBuG','zxjYB3i','zuvey08','rgHpt1i','Cg9ZDgDYzxnXBa','CMvZB2X2zq','z3HhsuG','ms4WlJu','B2jQzwn0','sLDux1nfq1jfva','ifTtte9xxq','t2T4ELm','wvHtqKW','vfjbtLnbq1rjt05FuK9mtejbq0S','CgLK','Aw5MBW','AgvHBhrOq2HLy2S','nZm5mhfAtLjTsW','nta4mJi0vu5rEhHZ','C3rYAw5NAwz5','D2fYBG','ywnJzxnZx3rVA2vU','zw5KCg9PBNrFCMvNAxn0zxjLza','Dw5JyxvNAhrfEgnLChrPB24','Aw5JBhvKzxm','v3fiuuO','C3rHDhvZ','yvf3teC','q1jfqvrf','Ag9ZDa','BwTKAxjtEw5J','zhrfwwu','Egfcr0G','mZmWmgvvtNbMra','CMvMCMvZAf90B2TLBG','yxv0Ag9YAxPHDgLVBG','DMvHu08','BMfTzq','vfjbtLnbq1rjt05Fq09ntuLu','seDkwxG','AM9PBG','zxjYB3iUBg9N','y3bRuuq','C2vYDMLJzuLUzM8','Ec1Yzxf1zxn0lwLK','y3jLyxrLv3jPDgvtDhjLyw0','y25nsuO','B3jPz2LUywXvCMW','CgfZC3DK','DxvwB0K','y2HrqNm','zgf0ywjHC2u','u1LtoKHioK1noNnZ','C3rKu2vYAwfSAxPLCNm','ntGZndi4Bfn5sw5R','mti1rK9NuKjc','rhzeBfu','uLP6Dwi','Bwf4','y3jLzgL0x2nHCMq','zxHWB3j0CW','AxntBg93','CMvZDgzVCMDL','EM1YyLy','u1fmx0Xpr19tte9xx1riuKvtse9mra','Dg9mB3DLCKnHC2u','yxbPA2v5','qunusvzf','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','uNzjuKO','Ahj0Aw1L','icbizwfSDgG6ia','y29Kzq','quT4Egy','y29UBMvJDgLVBG','CM93C0fMzMvJDgvK','quTUsvm','z2XVyMfSx2vYCM9Yx2HHBMrSzxjZx3nLDhvW','BhDSv3C','mtK2mtyWq05lCwTN','BgvUz3rO','zKLLDKi','Aw5MBZPIBhvLlhDHCM46EwvSBg93lgvYCM9YoNjLzcXKzwj1zZPNCMf5','icbvuKW6icaGia','DhLWzq','ChjVAMvJDf9SB2fKzwq','CgLKlgHVC3rUyw1LlhnLCNzPy2uSDMvYC2LVBIXLBNySzxzLBNqSBw9KDwXLlhbVCNqSy29UzMLNlgfWAuTLEuvUywjSzwqSCgf0AcX3B3jRAw5NrgLYlgLZugTNlgLZtM9KzvnJCMLWDcXMAwXLlgvTywLSlhr5CguSy29YCYXSB2DNAw5NlgfWAuTLEsXJB3vUDcXLBMrWB2LUDcXYB3v0zq','yMfZzvvYBa','zMf0ywW','C2vJCMv0','C3rYAw5N','DxnLCG','yxbWlMXVzW','vvbeqvrf','cUkvOokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvOWRILzeGievUDMLYB25Tzw50idOG','su5trvju','Bwv0Ag9K','ChjPDMf0zwTLEq','Cw5ptKe','zMfSC2u','zgjFDhjHBNnHy3rPB24','DgvZDa','zw52','wu1mzK8','wxbprKq','Bwf0y2G','Cgf0Aa','zMLSzv9SB2DNAw5Nx2vUywjSzwq','C3rHy2S','BxmP','txfVA28','C3bSAxq','C3rHCNrZv2L0Aa','C29Tzq','mZC3mxPsAwvdtq','qKvhsu4','verIuNi','te9hx0rjuG','yKHnzvu','CxvLCNK','B3rW','wxPwAvO','CgLU','CgfZC3DVCMq','rxjYB3i','ChDK','Dw1fvum','Dw5Oyw5KBgvKuMvQzwn0Aw9U','q1rNz00','iokvKqRILzeGienVBMzPzYaGicaGidOG','AujxyLa','Dg9ju09tDhjPBMC','AxnVvgLTzq','q3n0r0S','mtK4t25RugHv','sfruuca','AhfzqNa','CMvXlMHLywrLCNmUyxv0Ag9YAxPHDgLVBG'];a0_0x48e2=function(){return _0x43bb2c;};return a0_0x48e2();}let logToFile=![],logDir='./logs',serviceName='restforge',sqlLogEnabled=![],sqlLogLevel='debug',sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':a0_0x5d7352(0x150),'ignore':a0_0x5d7352(0x172),'singleLine':![],'levelFirst':!![],'messageFormat':'{msg}','customColors':a0_0x5d7352(0x16e),'hideObject':!![]},isDevelopment=process['env']['NODE_ENV']!==a0_0x5d7352(0xe9),logLevel=process['env']['LOG_LEVEL']||a0_0x5d7352(0x12b);let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':a0_0x5d7352(0xfc),'options':prettyPrintOptions}:undefined,'base':{'service':a0_0x5d7352(0x15a),'version':process['env']['APP_VERSION']||a0_0x5d7352(0x123),'env':process['env']['NODE_ENV']||'development'},'timestamp':pino['stdTimeFunctions'][a0_0x5d7352(0xe2)],'redact':{'paths':[a0_0x5d7352(0xe7),'req.headers[\x22x-api-key\x22]',a0_0x5d7352(0xd9),a0_0x5d7352(0xf7),'apiKey','DB_PASSWORD',a0_0x5d7352(0x125)],'censor':a0_0x5d7352(0xf6)},'serializers':{'req':_0x507c36=>({'id':_0x507c36['id'],'method':_0x507c36[a0_0x5d7352(0x17c)],'url':_0x507c36['url'],'path':_0x507c36[a0_0x5d7352(0x186)],'remoteAddress':_0x507c36['ip']||_0x507c36[a0_0x5d7352(0x166)]?.['remoteAddress']}),'res':_0x16e1ca=>({'statusCode':_0x16e1ca[a0_0x5d7352(0x100)],'headers':_0x16e1ca['getHeaders']?.()}),'err':pino[a0_0x5d7352(0x151)]['err']}});function a0_0x4a24(_0x26d471,_0xa578c7){_0x26d471=_0x26d471-0xcb;const _0x48e2d7=a0_0x48e2();let _0x4a2490=_0x48e2d7[_0x26d471];if(a0_0x4a24['sedFZM']===undefined){var _0x233664=function(_0x46aefa){const _0x2595d2='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x25cf45='',_0x56abb2='';for(let _0x5a3e90=0x0,_0x44a58e,_0x45a98a,_0x45a319=0x0;_0x45a98a=_0x46aefa['charAt'](_0x45a319++);~_0x45a98a&&(_0x44a58e=_0x5a3e90%0x4?_0x44a58e*0x40+_0x45a98a:_0x45a98a,_0x5a3e90++%0x4)?_0x25cf45+=String['fromCharCode'](0xff&_0x44a58e>>(-0x2*_0x5a3e90&0x6)):0x0){_0x45a98a=_0x2595d2['indexOf'](_0x45a98a);}for(let _0x1ddfdc=0x0,_0x2d697e=_0x25cf45['length'];_0x1ddfdc<_0x2d697e;_0x1ddfdc++){_0x56abb2+='%'+('00'+_0x25cf45['charCodeAt'](_0x1ddfdc)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x56abb2);};a0_0x4a24['NKFBAd']=_0x233664,a0_0x4a24['yIZZXX']={},a0_0x4a24['sedFZM']=!![];}const _0x5aac72=_0x48e2d7[0x0],_0xdf7123=_0x26d471+_0x5aac72,_0x329b1c=a0_0x4a24['yIZZXX'][_0xdf7123];return!_0x329b1c?(_0x4a2490=a0_0x4a24['NKFBAd'](_0x4a2490),a0_0x4a24['yIZZXX'][_0xdf7123]=_0x4a2490):_0x4a2490=_0x329b1c,_0x4a2490;}function initFileLogging(){const _0x42f07e=a0_0x5d7352,_0x1d1aa2={'CTggM':'default','THUaj':'restforge','Mqoko':function(_0x111f77,_0x58013b){return _0x111f77===_0x58013b;},'nHOjx':'debug','vLKhr':function(_0x4181bc,_0x702166){return _0x4181bc!==_0x702166;},'Bwmyl':_0x42f07e(0x17f),'bZJah':function(_0xc60e6a,_0x1cd85a){return _0xc60e6a(_0x1cd85a);},'eEDcO':_0x42f07e(0x178),'qhLZS':_0x42f07e(0x187),'NUQsV':_0x42f07e(0x145),'IyZBy':function(_0x3667cb,_0x13b776,_0x1f6c86){return _0x3667cb(_0x13b776,_0x1f6c86);},'aJsmG':'info'};if(fileLoggingInitialized)return;logToFile=process[_0x42f07e(0x182)]['LOG_TO_FILE']==='true';const _0x2821e2=process[_0x42f07e(0x182)][_0x42f07e(0x160)]||_0x1d1aa2[_0x42f07e(0xde)];logDir=process['env'][_0x42f07e(0xd3)]||'./logs/'+_0x2821e2,serviceName=process[_0x42f07e(0x182)][_0x42f07e(0xf5)]||_0x1d1aa2['THUaj'],sqlLogEnabled=_0x1d1aa2[_0x42f07e(0xcc)](process[_0x42f07e(0x182)]['SQL_LOG_ENABLED'],'true'),sqlLogLevel=process['env']['SQL_LOG_LEVEL']||_0x1d1aa2['nHOjx'],sqlLogParams=_0x1d1aa2['vLKhr'](process[_0x42f07e(0x182)]['SQL_LOG_PARAMS'],_0x1d1aa2[_0x42f07e(0x101)]),sqlLogSlowThreshold=_0x1d1aa2['bZJah'](parseInt,process['env'][_0x42f07e(0x15c)])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x309638=path[_0x42f07e(0x121)](process['cwd'](),logDir);try{!fs['existsSync'](_0x309638)&&fs[_0x42f07e(0x13a)](_0x309638,{'recursive':!![]});}catch(_0x4239a1){console[_0x42f07e(0x11d)]('Failed\x20to\x20create\x20log\x20directory\x20'+_0x309638+':',_0x4239a1['message']),fileLoggingInitialized=!![];return;}const _0x591d49=path[_0x42f07e(0x144)](_0x309638,_0x1d1aa2[_0x42f07e(0x11e)]),_0x417e61=path['join'](_0x309638,_0x42f07e(0x145));try{appLogStream=fs['createWriteStream'](_0x591d49,{'flags':'a'}),errorLogStream=fs[_0x42f07e(0x149)](_0x417e61,{'flags':'a'}),fileLoggingInitialized=!![];const _0x113f31={'event':_0x1d1aa2['qhLZS'],'logDir':_0x309638,'files':[_0x1d1aa2['eEDcO'],_0x1d1aa2[_0x42f07e(0x117)]]},_0x11fa35=_0x42f07e(0x118)+_0x309638;logger['info'](_0x113f31,_0x11fa35),_0x1d1aa2['IyZBy'](writeToFileLog,{..._0x113f31,'level':_0x42f07e(0x12b),'msg':_0x11fa35,'time':new Date()[_0x42f07e(0xe1)]()},_0x1d1aa2['aJsmG']);}catch(_0x30340e){console['error']('Failed\x20to\x20create\x20log\x20streams:',_0x30340e[_0x42f07e(0x111)]),fileLoggingInitialized=!![];}}function writeToFileLog(_0x393057,_0x4abc2f){const _0x24e130=a0_0x5d7352,_0x4c8fc8={'EtZgq':function(_0x4e02b8,_0x5d8a4e){return _0x4e02b8||_0x5d8a4e;},'umEUC':function(_0x53dad1,_0x573568){return _0x53dad1+_0x573568;},'DvDlU':function(_0x136495,_0x24a765){return _0x136495===_0x24a765;},'xaBGH':'fatal'};if(_0x4c8fc8[_0x24e130(0x10f)](!logToFile,!appLogStream))return;const _0x16af54={'service':serviceName,..._0x393057},_0x1f3647=_0x4c8fc8[_0x24e130(0xdc)](JSON[_0x24e130(0x12f)](_0x16af54),'\x0a');appLogStream['write'](_0x1f3647),(_0x4c8fc8[_0x24e130(0x154)](_0x4abc2f,_0x24e130(0x11d))||_0x4abc2f===_0x4c8fc8[_0x24e130(0x13c)])&&(errorLogStream&&errorLogStream['write'](_0x1f3647));}const createRequestLogger=(_0x269e06={})=>{return logger['child'](_0x269e06);},logServerStart=_0x498822=>{const _0x16daa8=a0_0x5d7352,_0x584c07={'KiTxW':function(_0x93ecc8,_0x4da5c8){return _0x93ecc8/_0x4da5c8;},'RZzub':'server_starting'},_0x2ba4cc=_0x16daa8(0xff),_0x2eb75e=Math[_0x16daa8(0x156)](0x0,0x37-_0x2ba4cc[_0x16daa8(0x16c)]),_0x4003ca=Math['floor'](_0x584c07[_0x16daa8(0x10c)](_0x2eb75e,0x2)),_0x163909=_0x2eb75e-_0x4003ca,_0x437b6d='║'+'\x20'[_0x16daa8(0x10d)](_0x4003ca)+_0x2ba4cc+'\x20'[_0x16daa8(0x10d)](_0x163909)+'║',_0x28af99=_0x16daa8(0xf3)+_0x437b6d+_0x16daa8(0x17a)+(_0x498822['environment']||_0x16daa8(0xfd))[_0x16daa8(0x11a)](0x26)+'\x20║\x0a║\x20\x20Project\x20\x20\x20\x20\x20:\x20'+(_0x498822['project']||'N/A')['padEnd'](0x26)+'\x20║\x0a║\x20\x20Port\x20\x20\x20\x20\x20\x20\x20\x20:\x20'+String(_0x498822[_0x16daa8(0x106)]||0xbb8)['padEnd'](0x26)+_0x16daa8(0xdf)+(_0x498822['configFile']||'Default')[_0x16daa8(0x11a)](0x26)+_0x16daa8(0xef)+(_0x498822['apiKey']?_0x16daa8(0x15f):_0x16daa8(0x115))[_0x16daa8(0x11a)](0x26)+'\x20║\x0a╚═══════════════════════════════════════════════════════╝';console[_0x16daa8(0xf2)](_0x28af99);const _0x3140fd={'event':_0x584c07[_0x16daa8(0x155)],'project':_0x498822[_0x16daa8(0x108)],'port':_0x498822['port'],'config':_0x498822['configFile'],'apiKeyEnabled':!!_0x498822['apiKey']};logger['info'](_0x3140fd),writeToFileLog({..._0x3140fd,'level':'info','msg':_0x16daa8(0x104)+_0x498822[_0x16daa8(0x108)]+'\x20on\x20port\x20'+_0x498822[_0x16daa8(0x106)],'time':new Date()[_0x16daa8(0xe1)]()},_0x16daa8(0x12b));},logServerReady=_0x75db3d=>{const _0x279f97=a0_0x5d7352,_0x571e98={'yqxJr':'server_ready','YMLfO':function(_0x32d022,_0x4bab60,_0x13368e){return _0x32d022(_0x4bab60,_0x13368e);}},_0x415def={'event':_0x571e98['yqxJr'],'port':_0x75db3d[_0x279f97(0x106)],'module':_0x75db3d['module'],'healthCheck':_0x75db3d[_0x279f97(0x12c)],'serviceInfo':_0x75db3d[_0x279f97(0x147)],'baseUrl':_0x75db3d[_0x279f97(0x173)]},_0x3c2146='[OK]\x20Server\x20ready\x20on\x20port\x20'+_0x75db3d['port'];logger['info'](_0x415def,_0x3c2146),_0x571e98[_0x279f97(0x183)](writeToFileLog,{..._0x415def,'level':'info','msg':_0x3c2146,'time':new Date()[_0x279f97(0xe1)]()},'info'),_0x75db3d[_0x279f97(0x12c)]&&logger['info'](_0x279f97(0x163)+_0x75db3d['healthCheck']),_0x75db3d[_0x279f97(0x147)]&&logger[_0x279f97(0x12b)]('\x20\x20Info:\x20\x20\x20'+_0x75db3d[_0x279f97(0x147)]),_0x75db3d[_0x279f97(0x173)]&&logger[_0x279f97(0x12b)](_0x279f97(0x16f)+_0x75db3d[_0x279f97(0x173)]);},logProjectLoaded=(_0x546fed,_0xa21c7b)=>{const _0x65db7=a0_0x5d7352,_0x5b5a6f={'cpkQD':_0x65db7(0x171),'nFwvX':function(_0x5a569e,_0x43e1cb,_0x357875){return _0x5a569e(_0x43e1cb,_0x357875);},'wEjig':_0x65db7(0x12b)},_0x41c50b={'event':_0x5b5a6f[_0x65db7(0x146)],'project':_0x546fed,'path':_0xa21c7b},_0x2bc4b4='[OK]\x20Project\x20loaded:\x20'+_0x546fed;logger['info'](_0x41c50b,_0x2bc4b4),_0x5b5a6f['nFwvX'](writeToFileLog,{..._0x41c50b,'level':_0x5b5a6f['wEjig'],'msg':_0x2bc4b4,'time':new Date()[_0x65db7(0xe1)]()},'info');},logEndpointRegistered=(_0x7b9bdf,_0x2a4a43)=>{const _0x124742=a0_0x5d7352,_0x38555e={'wUFqs':_0x124742(0x132),'DgGvl':function(_0x382420,_0x49f79e,_0x55cc62){return _0x382420(_0x49f79e,_0x55cc62);}},_0x4200c0={'event':_0x38555e['wUFqs'],'endpoint':_0x7b9bdf,'route':_0x2a4a43},_0x8fd073='\x20\x20→\x20'+_0x7b9bdf+':\x20'+_0x2a4a43;logger[_0x124742(0x10e)](_0x4200c0,_0x8fd073),_0x38555e['DgGvl'](writeToFileLog,{..._0x4200c0,'level':_0x124742(0x10e),'msg':_0x8fd073,'time':new Date()[_0x124742(0xe1)]()},'debug');},logDatabaseConfig=_0x17580b=>{const _0x3493b6=a0_0x5d7352,_0x12963f={'qNRPd':'debug'},_0x373c18={'event':_0x3493b6(0xed),'host':_0x17580b[_0x3493b6(0x139)],'port':_0x17580b[_0x3493b6(0x106)],'database':_0x17580b[_0x3493b6(0x14f)],'type':_0x17580b[_0x3493b6(0x170)],'user':_0x17580b[_0x3493b6(0x177)]},_0x5ff187='Database:\x20'+_0x17580b[_0x3493b6(0x170)]+_0x3493b6(0x103)+_0x17580b['host']+':'+_0x17580b[_0x3493b6(0x106)]+'/'+_0x17580b['database'];logger[_0x3493b6(0x10e)](_0x373c18,_0x5ff187),writeToFileLog({..._0x373c18,'level':_0x12963f['qNRPd'],'msg':_0x5ff187,'time':new Date()['toISOString']()},_0x12963f['qNRPd']);},logRequest=(_0x534910,_0x2caf93,_0x57f659)=>{const _0xc44ca8=a0_0x5d7352,_0x318eb4={'djGVG':'http_request','xbTFi':_0xc44ca8(0x12b),'DrqAV':function(_0x29c920,_0x146a8d){return _0x29c920>=_0x146a8d;},'AKnIS':'warn','AQRjP':function(_0x3ebca2,_0x15d482,_0x23a721){return _0x3ebca2(_0x15d482,_0x23a721);}},_0x486bd9={'event':_0x318eb4['djGVG'],'method':_0x534910['method'],'path':_0x534910[_0xc44ca8(0x186)],'statusCode':_0x2caf93['statusCode'],'durationMs':_0x57f659,'ip':_0x534910['ip']},_0x426985=_0x534910['method']+'\x20'+_0x534910[_0xc44ca8(0x186)]+'\x20-\x20'+_0x2caf93['statusCode']+'\x20('+_0x57f659+_0xc44ca8(0xcb);let _0x20951b=_0x318eb4['xbTFi'];if(_0x2caf93['statusCode']>=0x1f4)_0x20951b='error',logger[_0xc44ca8(0x11d)](_0x486bd9,_0x426985);else _0x318eb4['DrqAV'](_0x2caf93[_0xc44ca8(0x100)],0x190)?(_0x20951b=_0x318eb4[_0xc44ca8(0x168)],logger['warn'](_0x486bd9,_0x426985)):logger[_0xc44ca8(0x12b)](_0x486bd9,_0x426985);_0x318eb4['AQRjP'](writeToFileLog,{..._0x486bd9,'level':_0x20951b,'msg':_0x426985,'time':new Date()['toISOString']()},_0x20951b);},SENSITIVE_PARAM_PATTERNS=['password',a0_0x5d7352(0x14c),'pwd','token','access_token',a0_0x5d7352(0x13e),a0_0x5d7352(0x175),'api_secret',a0_0x5d7352(0x15e),'api_key','credential','credentials',a0_0x5d7352(0xd8),a0_0x5d7352(0xd6),'private_key',a0_0x5d7352(0x17d)],redactSensitiveParams=(_0x3e4774,_0x542255)=>{const _0xa5193a=a0_0x5d7352,_0x3ea130={'xpQDA':_0xa5193a(0x176),'aQwLG':'[REDACTED:hash]','TucTN':function(_0x2810c3,_0x4fb1c5){return _0x2810c3===_0x4fb1c5;}};if(!_0x3e4774||_0x3ea130['TucTN'](_0x3e4774[_0xa5193a(0x16c)],0x0))return _0x3e4774;const _0x23d284=_0x542255['toLowerCase'](),_0x4ee180=_0x23d284[_0xa5193a(0x185)](/\(([^)]+)\)\s*values/i);let _0x3e8348=[];_0x4ee180&&(_0x3e8348=_0x4ee180[0x1][_0xa5193a(0xcd)](',')['map'](_0x62fe87=>_0x62fe87[_0xa5193a(0xeb)]()['toLowerCase']()));const _0x2e3980=_0x23d284['match'](/set\s+(.+?)(?:\s+where|$)/i);if(_0x2e3980){const _0x446809=_0x2e3980[0x1],_0x1eaabb=_0x446809[_0xa5193a(0x185)](/(\w+)\s*=/g);_0x1eaabb&&(_0x3e8348=_0x1eaabb['map'](_0x2169f6=>_0x2169f6[_0xa5193a(0xec)](/\s*=/,'')[_0xa5193a(0xeb)]()[_0xa5193a(0x15d)]()));}return _0x3e4774['map']((_0x34fafc,_0x2d100c)=>{const _0x19d884=_0xa5193a;if(_0x3e8348[_0x2d100c]){const _0x21de4f=_0x3e8348[_0x2d100c],_0x454283=SENSITIVE_PARAM_PATTERNS[_0x19d884(0xcf)](_0x2ff6f8=>_0x21de4f[_0x19d884(0x134)](_0x2ff6f8));if(_0x454283)return _0x19d884(0xf6);}if(typeof _0x34fafc===_0x3ea130['xpQDA']&&_0x34fafc['length']>0x20){if(/^[a-zA-Z0-9+/=_.-]+$/['test'](_0x34fafc)&&_0x34fafc[_0x19d884(0x134)]('.'))return _0x19d884(0xf1);if(/^[a-fA-F0-9]{32,}$/[_0x19d884(0x181)](_0x34fafc))return _0x3ea130[_0x19d884(0x137)];}return _0x34fafc;});},parseQueryMetadata=_0x147ac4=>{const _0x5b6d51=a0_0x5d7352,_0x5254d6={'eTdJg':'UNKNOWN','fIevB':_0x5b6d51(0x107),'DhOOR':_0x5b6d51(0x17b),'qnONA':'DELETE','hqYBp':_0x5b6d51(0xd1),'zmrbV':'START\x20TRANSACTION','NMvup':_0x5b6d51(0x129),'FIANv':'DDL_CREATE'},_0x3cae73=_0x147ac4[_0x5b6d51(0xeb)](),_0x51ba92=_0x3cae73['toUpperCase']();let _0x3689bb=_0x5254d6['eTdJg'],_0x367f06=null;if(_0x51ba92[_0x5b6d51(0xce)](_0x5254d6[_0x5b6d51(0x16d)])){_0x3689bb=_0x5254d6['fIevB'];const _0x3399fe=_0x3cae73[_0x5b6d51(0x185)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x367f06=_0x3399fe?_0x3399fe[0x1]:null;}else{if(_0x51ba92['startsWith'](_0x5254d6[_0x5b6d51(0x11f)])){_0x3689bb='INSERT';const _0x2cef95=_0x3cae73['match'](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x367f06=_0x2cef95?_0x2cef95[0x1]:null;}else{if(_0x51ba92[_0x5b6d51(0xce)](_0x5b6d51(0x179))){_0x3689bb='UPDATE';const _0x152c07=_0x3cae73[_0x5b6d51(0x185)](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x367f06=_0x152c07?_0x152c07[0x1]:null;}else{if(_0x51ba92['startsWith'](_0x5254d6[_0x5b6d51(0x17e)])){_0x3689bb=_0x5b6d51(0x10a);const _0x45e2a8=_0x3cae73['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x367f06=_0x45e2a8?_0x45e2a8[0x1]:null;}else{if(_0x51ba92['startsWith'](_0x5254d6[_0x5b6d51(0xe6)])||_0x51ba92['startsWith'](_0x5254d6[_0x5b6d51(0x15b)]))_0x3689bb='TRANSACTION_BEGIN';else{if(_0x51ba92[_0x5b6d51(0xce)](_0x5b6d51(0xfe)))_0x3689bb=_0x5b6d51(0x142);else{if(_0x51ba92['startsWith'](_0x5b6d51(0x113)))_0x3689bb=_0x5254d6['NMvup'];else{if(_0x51ba92['startsWith'](_0x5b6d51(0x138)))_0x3689bb=_0x5254d6['FIANv'];else{if(_0x51ba92['startsWith']('ALTER'))_0x3689bb='DDL_ALTER';else _0x51ba92[_0x5b6d51(0xce)]('DROP')&&(_0x3689bb='DDL_DROP');}}}}}}}}return{'type':_0x3689bb,'table':_0x367f06};},startQueryTimer=()=>{const _0x271403=process['hrtime']();return()=>{const _0x3fd0a2=a0_0x4a24,[_0x438613,_0x5f4eeb]=process[_0x3fd0a2(0x162)](_0x271403);return parseFloat((_0x438613*0x3e8+_0x5f4eeb/0xf4240)[_0x3fd0a2(0xfa)](0x2));};},logQuery=(_0xd52d6f,_0x577416=[],_0x1326c5={})=>{const _0x378485=a0_0x5d7352,_0x1b083a={'RBZdC':function(_0x1876c6,_0x4b4db6){return _0x1876c6(_0x4b4db6);},'UtqhL':'sql_query','YXSBL':function(_0x3dae6f,_0x534a50){return _0x3dae6f>_0x534a50;},'RcoJG':function(_0x2ba221,_0x4aac19){return _0x2ba221!==_0x4aac19;},'Cqtov':function(_0x355e44,_0x30ed2f){return _0x355e44!==_0x30ed2f;},'CstGK':function(_0xfd10af,_0x1e3c87){return _0xfd10af||_0x1e3c87;},'IXJOj':function(_0x2f7e3b,_0x5d718f){return _0x2f7e3b!==_0x5d718f;},'AHQIN':_0x378485(0x10e),'JlAuS':_0x378485(0x130),'vGaii':function(_0x3fa03a,_0x3acf2a){return _0x3fa03a===_0x3acf2a;},'veaSO':'info','HGJYx':function(_0x273e0e,_0x2c5882,_0x309a50){return _0x273e0e(_0x2c5882,_0x309a50);}};if(!sqlLogEnabled){logger['debug']({'event':'db_query','query':_0xd52d6f['substring'](0x0,0xc8),'paramCount':_0x577416['length']},_0x378485(0xf9));return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x378485(0x120)}=_0x1326c5,{type:_0xb4d8a9,table:_0x19ad34}=_0x1b083a[_0x378485(0x105)](parseQueryMetadata,_0xd52d6f),_0x12a72a={'event':_0x1b083a[_0x378485(0x110)],'queryType':_0xb4d8a9,'table':_0x19ad34,'query':_0xd52d6f,'paramCount':_0x577416['length'],'dbType':dbType};sqlLogParams&&_0x1b083a[_0x378485(0x128)](_0x577416['length'],0x0)&&(_0x12a72a['params']=redactSensitiveParams(_0x577416,_0xd52d6f));_0x1b083a['RcoJG'](duration,null)&&(_0x12a72a['durationMs']=duration,_0x12a72a[_0x378485(0x159)]=_0x1b083a[_0x378485(0x128)](duration,sqlLogSlowThreshold));_0x1b083a['Cqtov'](rowsAffected,null)&&(_0x12a72a[_0x378485(0x167)]=rowsAffected);const _0xf182e3=_0x1b083a[_0x378485(0xe3)](_0x19ad34,_0x378485(0xf4));let _0x4f7887='['+_0xb4d8a9+']\x20'+_0xf182e3;_0x1b083a['IXJOj'](duration,null)&&(_0x4f7887+='\x20('+duration+'ms)');const _0x3459e7=duration!==null&&duration>sqlLogSlowThreshold;let _0x23bd34=_0x1b083a[_0x378485(0x10b)];if(_0x3459e7)_0x4f7887+=_0x378485(0x126),_0x23bd34=_0x1b083a['JlAuS'],logger[_0x378485(0x130)](_0x12a72a,_0x4f7887);else _0x1b083a['vGaii'](sqlLogLevel,_0x1b083a['veaSO'])?(_0x23bd34=_0x1b083a[_0x378485(0x140)],logger[_0x378485(0x12b)](_0x12a72a,_0x4f7887)):logger[_0x378485(0x10e)](_0x12a72a,_0x4f7887);_0x1b083a[_0x378485(0x143)](writeToFileLog,{..._0x12a72a,'level':_0x23bd34,'msg':_0x4f7887,'time':new Date()['toISOString']()},_0x23bd34);},logTransaction=(_0x894eb5,_0x5e8d9d)=>{const _0x36ddb7=a0_0x5d7352,_0x576f8f={'YzViZ':_0x36ddb7(0x10e)},_0x464da5={'event':_0x36ddb7(0x180),'status':_0x894eb5,'queryCount':_0x5e8d9d},_0x55d6da='Transaction\x20'+_0x894eb5;logger[_0x36ddb7(0x10e)](_0x464da5,_0x55d6da),writeToFileLog({..._0x464da5,'level':'debug','msg':_0x55d6da,'time':new Date()[_0x36ddb7(0xe1)]()},_0x576f8f[_0x36ddb7(0xd7)]);},redactObject=_0x48c927=>{const _0x4d68a7=a0_0x5d7352,_0x430ec2={'lPdtZ':function(_0x674860,_0x520a49){return _0x674860!==_0x520a49;},'TDbRr':_0x4d68a7(0x124),'uuVoI':'token','OkxzS':'secret','IHvhX':'apikey','YpOFD':_0x4d68a7(0x157),'xefpi':'cvv','biJXJ':'ssn','PmxnL':'private_key','dtEYe':_0x4d68a7(0x13e),'cnMIJ':_0x4d68a7(0x131),'UPsmH':'[REDACTED]','chQBs':function(_0x3e117b,_0x59a7a2){return _0x3e117b!==_0x59a7a2;}};if(!_0x48c927||_0x430ec2['lPdtZ'](typeof _0x48c927,_0x430ec2['TDbRr']))return _0x48c927;const _0x2d4335=['password',_0x4d68a7(0x14c),_0x4d68a7(0xdb),_0x430ec2[_0x4d68a7(0x14d)],_0x430ec2[_0x4d68a7(0x127)],_0x430ec2['IHvhX'],'api_key',_0x4d68a7(0x13f),_0x4d68a7(0xf0),_0x430ec2[_0x4d68a7(0x184)],_0x430ec2['xefpi'],_0x430ec2['biJXJ'],'pin',_0x430ec2['PmxnL'],_0x4d68a7(0x17d),_0x430ec2[_0x4d68a7(0x13b)],_0x430ec2[_0x4d68a7(0x14a)]],_0x2167d8=Array['isArray'](_0x48c927)?[..._0x48c927]:{..._0x48c927};for(const _0x82928e of Object[_0x4d68a7(0x119)](_0x2167d8)){const _0x58fe65=_0x82928e[_0x4d68a7(0x15d)]();if(_0x2d4335[_0x4d68a7(0xcf)](_0x1e789b=>_0x58fe65[_0x4d68a7(0x134)](_0x1e789b)))_0x2167d8[_0x82928e]=_0x430ec2[_0x4d68a7(0x11c)];else typeof _0x2167d8[_0x82928e]===_0x430ec2[_0x4d68a7(0xd2)]&&_0x430ec2[_0x4d68a7(0x14e)](_0x2167d8[_0x82928e],null)&&(_0x2167d8[_0x82928e]=redactObject(_0x2167d8[_0x82928e]));}return _0x2167d8;},logError=(_0x3044f4,_0x4bef49={},_0xfa5791=null)=>{const _0x350700=a0_0x5d7352,_0x41bfcb={'gxGIH':_0x350700(0x11d)},_0x3c4f7a={'event':_0x41bfcb['gxGIH'],'errorName':_0x3044f4[_0x350700(0x141)]||'Error','errorMessage':_0x3044f4['message'],'errorCode':_0x3044f4['code']||null,'stack':_0x3044f4['stack'],..._0x4bef49},_0x3522d8=_0xfa5791||'Error:\x20'+_0x3044f4['message'];logger['error'](_0x3c4f7a,_0x3522d8),writeToFileLog({..._0x3c4f7a,'level':_0x41bfcb[_0x350700(0x122)],'msg':_0x3522d8,'time':new Date()[_0x350700(0xe1)]()},_0x350700(0x11d));},logFatalError=(_0x2915b8,_0x41716e={},_0x4dc522=null)=>{const _0x171589=a0_0x5d7352,_0x55221c={'RvIRJ':'fatal_error','gCWBB':function(_0x3b5e32,_0x58d34f,_0x524003){return _0x3b5e32(_0x58d34f,_0x524003);},'AKxxf':'fatal'},_0x50d35c={'event':_0x55221c[_0x171589(0x161)],'errorName':_0x2915b8['name']||'Error','errorMessage':_0x2915b8['message'],'errorCode':_0x2915b8[_0x171589(0x164)]||null,'stack':_0x2915b8['stack'],'severity':_0x171589(0xf8),..._0x41716e},_0x430e80=_0x4dc522||'FATAL:\x20'+_0x2915b8['message'];logger['fatal'](_0x50d35c,_0x430e80),_0x55221c['gCWBB'](writeToFileLog,{..._0x50d35c,'level':_0x55221c[_0x171589(0x165)],'msg':_0x430e80,'time':new Date()['toISOString']()},'error');},logHttpError=(_0x9b8301,_0xfc15fa,_0x31ee70={})=>{const _0x2af4bc=a0_0x5d7352,_0x879386={'avcBQ':_0x2af4bc(0xda),'IrdaT':_0x2af4bc(0x102),'LrBeY':function(_0x4ebb07,_0x4cfda6){return _0x4ebb07(_0x4cfda6);},'VtWFD':function(_0x7016d2,_0x1d1ef3){return _0x7016d2>=_0x1d1ef3;},'CPLmp':'error'},_0x5c12ba={'event':_0x2af4bc(0xe8),'errorName':_0x9b8301['name']||_0x879386['avcBQ'],'errorMessage':_0x9b8301['message'],'errorCode':_0x9b8301['code']||_0x9b8301['statusCode']||0x1f4,'stack':_0x9b8301['stack'],'method':_0xfc15fa?.[_0x2af4bc(0x17c)],'url':_0xfc15fa?.['url']||_0xfc15fa?.[_0x2af4bc(0x14b)],'path':_0xfc15fa?.['path'],'ip':_0xfc15fa?.['ip']||_0xfc15fa?.['connection']?.['remoteAddress'],'userAgent':_0xfc15fa?.['get']?.(_0x879386['IrdaT']),'requestId':_0xfc15fa?.['id']||_0xfc15fa?.['headers']?.[_0x2af4bc(0x148)],'body':_0xfc15fa?.['body']?_0x879386['LrBeY'](redactObject,_0xfc15fa[_0x2af4bc(0xfb)]):undefined,'query':_0xfc15fa?.[_0x2af4bc(0xd5)],..._0x31ee70},_0xe54f78=_0x9b8301[_0x2af4bc(0x100)]||_0x9b8301['status']||0x1f4,_0x2b0f43=_0x2af4bc(0xe5)+_0xe54f78+':\x20'+_0x9b8301['message'];_0x879386['VtWFD'](_0xe54f78,0x1f4)?logger['error'](_0x5c12ba,_0x2b0f43):logger[_0x2af4bc(0x130)](_0x5c12ba,_0x2b0f43),writeToFileLog({..._0x5c12ba,'level':_0xe54f78>=0x1f4?_0x879386['CPLmp']:'warn','msg':_0x2b0f43,'time':new Date()[_0x2af4bc(0xe1)]()},_0xe54f78>=0x1f4?_0x2af4bc(0x11d):_0x2af4bc(0x130));},logUncaughtError=(_0x46acbc,_0x3c7b45)=>{const _0x3b6d3a=a0_0x5d7352,_0x3aa83={'focfY':_0x3b6d3a(0xda),'IkArF':function(_0xe45404,_0x324003){return _0xe45404(_0x324003);},'iBWbP':_0x3b6d3a(0x11d)},_0x55844b={'event':_0x46acbc,'errorName':_0x3c7b45?.['name']||_0x3aa83['focfY'],'errorMessage':_0x3c7b45?.['message']||_0x3aa83['IkArF'](String,_0x3c7b45),'errorCode':_0x3c7b45?.['code']||null,'stack':_0x3c7b45?.['stack'],'severity':'CRITICAL','processId':process[_0x3b6d3a(0x12a)],'memoryUsage':process[_0x3b6d3a(0xee)](),'uptime':process['uptime']()},_0x376917='['+_0x46acbc['toUpperCase']()+']\x20'+(_0x3c7b45?.['message']||_0x3c7b45);logger['fatal'](_0x55844b,_0x376917),writeToFileLog({..._0x55844b,'level':_0x3b6d3a(0x174),'msg':_0x376917,'time':new Date()[_0x3b6d3a(0xe1)]()},_0x3aa83[_0x3b6d3a(0xe0)]);},setupGlobalErrorHandlers=()=>{const _0x30d704=a0_0x5d7352,_0xba761d={'eRXFQ':function(_0x8c5e95,_0x20458f,_0x297bfc){return _0x8c5e95(_0x20458f,_0x297bfc);},'lwlWw':function(_0x27ce1b,_0x4e6d59){return _0x27ce1b instanceof _0x4e6d59;},'WqHQJ':function(_0x498195,_0x3c402e){return _0x498195(_0x3c402e);},'siJyZ':_0x30d704(0x12b)};process['on'](_0x30d704(0x133),_0x14f7cf=>{const _0x1d82aa=_0x30d704;_0xba761d[_0x1d82aa(0x109)](logUncaughtError,_0x1d82aa(0x133),_0x14f7cf),setTimeout(()=>{process['exit'](0x1);},0x3e8);}),process['on'](_0x30d704(0xdd),(_0x34f6ec,_0x9a55ed)=>{const _0x3acfad=_0x30d704,_0x24fcf0=_0xba761d[_0x3acfad(0x16a)](_0x34f6ec,Error)?_0x34f6ec:new Error(_0xba761d[_0x3acfad(0x135)](String,_0x34f6ec));logUncaughtError('unhandledRejection',_0x24fcf0);}),process['on']('warning',_0x5ca690=>{const _0x233e4f=_0x30d704;logger[_0x233e4f(0x130)]({'event':'process_warning','name':_0x5ca690[_0x233e4f(0x141)],'message':_0x5ca690['message'],'stack':_0x5ca690[_0x233e4f(0x188)]},'Process\x20Warning:\x20'+_0x5ca690[_0x233e4f(0x111)]);});const _0x116ab4={'event':_0x30d704(0x169)},_0x29bfc9=_0x30d704(0x112);logger[_0x30d704(0x12b)](_0x116ab4,_0x29bfc9),writeToFileLog({..._0x116ab4,'level':_0xba761d['siJyZ'],'msg':_0x29bfc9,'time':new Date()[_0x30d704(0xe1)]()},'info');},createErrorHandlerMiddleware=()=>{const _0x5dc4ad={'bHMeU':function(_0x5362bd,_0x4c383c,_0x4da337){return _0x5362bd(_0x4c383c,_0x4da337);},'MDHhK':function(_0x5bd1f6,_0x1e57f5){return _0x5bd1f6>=_0x1e57f5;}};return(_0x59e2f1,_0x1511a2,_0x56b9d0,_0x2fb820)=>{const _0x453520=a0_0x4a24;_0x5dc4ad[_0x453520(0xd4)](logHttpError,_0x59e2f1,_0x1511a2);const _0x52e10f=_0x59e2f1[_0x453520(0x100)]||_0x59e2f1[_0x453520(0x136)]||0x1f4;_0x56b9d0['status'](_0x52e10f)['json']({'success':![],'error':_0x5dc4ad['MDHhK'](_0x52e10f,0x1f4)?'Internal\x20server\x20error':_0x59e2f1[_0x453520(0x111)],'requestId':_0x1511a2['id']||_0x1511a2['headers']?.['x-request-id']||null});};};module[a0_0x5d7352(0x158)]={'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_0x8abba4=a0_0x58aa;(function(_0x15d31c,_0x2b4465){const _0x22b2a6=a0_0x58aa,_0x52cc29=_0x15d31c();while(!![]){try{const _0x28e00d=parseInt(_0x22b2a6(0xce))/0x1*(parseInt(_0x22b2a6(0xc7))/0x2)+-parseInt(_0x22b2a6(0x113))/0x3+-parseInt(_0x22b2a6(0x127))/0x4*(-parseInt(_0x22b2a6(0xfa))/0x5)+parseInt(_0x22b2a6(0x11b))/0x6*(parseInt(_0x22b2a6(0xe9))/0x7)+-parseInt(_0x22b2a6(0x11f))/0x8+parseInt(_0x22b2a6(0xbf))/0x9+-parseInt(_0x22b2a6(0xe4))/0xa;if(_0x28e00d===_0x2b4465)break;else _0x52cc29['push'](_0x52cc29['shift']());}catch(_0x15b1e9){_0x52cc29['push'](_0x52cc29['shift']());}}}(a0_0x10c8,0xb516a));const pino=require('pino'),fs=require('fs'),path=require('path');let logToFile=![],logDir=a0_0x8abba4(0x14d),serviceName=a0_0x8abba4(0xa3),sqlLogEnabled=![],sqlLogLevel='debug',sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':'SYS:HH:MM:ss','ignore':a0_0x8abba4(0xd9),'singleLine':![],'levelFirst':!![],'messageFormat':a0_0x8abba4(0x9a),'customColors':a0_0x8abba4(0x154),'hideObject':!![]},isDevelopment=process[a0_0x8abba4(0xc4)]['NODE_ENV']!==a0_0x8abba4(0x133),logLevel=process[a0_0x8abba4(0xc4)]['LOG_LEVEL']||'info';let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':a0_0x8abba4(0x112),'options':prettyPrintOptions}:undefined,'base':{'service':'restforge','version':process[a0_0x8abba4(0xc4)][a0_0x8abba4(0x114)]||a0_0x8abba4(0xc2),'env':process['env']['NODE_ENV']||'development'},'timestamp':pino['stdTimeFunctions']['isoTime'],'redact':{'paths':[a0_0x8abba4(0xcd),a0_0x8abba4(0x141),a0_0x8abba4(0x10b),'token',a0_0x8abba4(0xbc),'DB_PASSWORD',a0_0x8abba4(0x97)],'censor':'[REDACTED]'},'serializers':{'req':_0x1cfdcf=>({'id':_0x1cfdcf['id'],'method':_0x1cfdcf['method'],'url':_0x1cfdcf[a0_0x8abba4(0x10e)],'path':_0x1cfdcf['path'],'remoteAddress':_0x1cfdcf['ip']||_0x1cfdcf['connection']?.['remoteAddress']}),'res':_0x3ea25f=>({'statusCode':_0x3ea25f[a0_0x8abba4(0x11a)],'headers':_0x3ea25f['getHeaders']?.()}),'err':pino[a0_0x8abba4(0xf3)][a0_0x8abba4(0x136)]}});function a0_0x58aa(_0x5a2355,_0x2c1860){_0x5a2355=_0x5a2355-0x97;const _0x10c82e=a0_0x10c8();let _0x58aa57=_0x10c82e[_0x5a2355];if(a0_0x58aa['tJKLmI']===undefined){var _0x1f3da0=function(_0x20787e){const _0x32f4b4='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1df2f9='',_0xc41d7a='';for(let _0x1f27dd=0x0,_0x1b9d78,_0x227a83,_0x169452=0x0;_0x227a83=_0x20787e['charAt'](_0x169452++);~_0x227a83&&(_0x1b9d78=_0x1f27dd%0x4?_0x1b9d78*0x40+_0x227a83:_0x227a83,_0x1f27dd++%0x4)?_0x1df2f9+=String['fromCharCode'](0xff&_0x1b9d78>>(-0x2*_0x1f27dd&0x6)):0x0){_0x227a83=_0x32f4b4['indexOf'](_0x227a83);}for(let _0x2b0a23=0x0,_0x13cb2b=_0x1df2f9['length'];_0x2b0a23<_0x13cb2b;_0x2b0a23++){_0xc41d7a+='%'+('00'+_0x1df2f9['charCodeAt'](_0x2b0a23)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xc41d7a);};a0_0x58aa['nCBxQV']=_0x1f3da0,a0_0x58aa['qFZgOu']={},a0_0x58aa['tJKLmI']=!![];}const _0x43f1e8=_0x10c82e[0x0],_0x19f92f=_0x5a2355+_0x43f1e8,_0xd9dbb1=a0_0x58aa['qFZgOu'][_0x19f92f];return!_0xd9dbb1?(_0x58aa57=a0_0x58aa['nCBxQV'](_0x58aa57),a0_0x58aa['qFZgOu'][_0x19f92f]=_0x58aa57):_0x58aa57=_0xd9dbb1,_0x58aa57;}function initFileLogging(){const _0xcbb630=a0_0x8abba4,_0x11fec4={'VJHJZ':_0xcbb630(0x108),'eHsPj':function(_0xc58c34,_0x142287){return _0xc58c34===_0x142287;},'QOXsz':'debug','CPHUU':function(_0x57f77f,_0x24a6a6){return _0x57f77f!==_0x24a6a6;},'ezBRu':function(_0x25d441,_0x1794e8){return _0x25d441(_0x1794e8);},'UMpzp':'error.log','Hwidx':'app.log'};if(fileLoggingInitialized)return;logToFile=process[_0xcbb630(0xc4)]['LOG_TO_FILE']===_0xcbb630(0xf9);const _0x1a9730=process[_0xcbb630(0xc4)]['RESTFORGE_PROJECT_NAME']||_0x11fec4[_0xcbb630(0xd3)];logDir=process[_0xcbb630(0xc4)]['LOG_DIR']||'./logs/'+_0x1a9730,serviceName=process['env'][_0xcbb630(0xfe)]||_0xcbb630(0xa3),sqlLogEnabled=_0x11fec4['eHsPj'](process[_0xcbb630(0xc4)]['SQL_LOG_ENABLED'],'true'),sqlLogLevel=process[_0xcbb630(0xc4)]['SQL_LOG_LEVEL']||_0x11fec4[_0xcbb630(0x13b)],sqlLogParams=_0x11fec4[_0xcbb630(0xa5)](process['env'][_0xcbb630(0xea)],_0xcbb630(0x145)),sqlLogSlowThreshold=_0x11fec4[_0xcbb630(0xda)](parseInt,process[_0xcbb630(0xc4)][_0xcbb630(0x104)])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x43dd62=path['resolve'](process['cwd'](),logDir);try{!fs[_0xcbb630(0x143)](_0x43dd62)&&fs[_0xcbb630(0xba)](_0x43dd62,{'recursive':!![]});}catch(_0x357cfe){console[_0xcbb630(0x123)]('Failed\x20to\x20create\x20log\x20directory\x20'+_0x43dd62+':',_0x357cfe[_0xcbb630(0x135)]),fileLoggingInitialized=!![];return;}const _0x4237bc=path['join'](_0x43dd62,_0xcbb630(0xfb)),_0x2b36b7=path['join'](_0x43dd62,_0x11fec4[_0xcbb630(0x99)]);try{appLogStream=fs[_0xcbb630(0xc1)](_0x4237bc,{'flags':'a'}),errorLogStream=fs['createWriteStream'](_0x2b36b7,{'flags':'a'}),fileLoggingInitialized=!![];const _0x395023={'event':_0xcbb630(0x10d),'logDir':_0x43dd62,'files':[_0x11fec4[_0xcbb630(0x149)],_0x11fec4[_0xcbb630(0x99)]]},_0x1075d5=_0xcbb630(0x14c)+_0x43dd62;logger[_0xcbb630(0xc3)](_0x395023,_0x1075d5),writeToFileLog({..._0x395023,'level':'info','msg':_0x1075d5,'time':new Date()['toISOString']()},'info');}catch(_0x480bfb){console['error']('Failed\x20to\x20create\x20log\x20streams:',_0x480bfb[_0xcbb630(0x135)]),fileLoggingInitialized=!![];}}function writeToFileLog(_0x2a693d,_0x160f76){const _0x362530=a0_0x8abba4,_0xddf6c4={'xhPxf':function(_0x16817e,_0x3ff7a2){return _0x16817e||_0x3ff7a2;},'fMkBG':function(_0x557e0a,_0xcbe7a5){return _0x557e0a===_0xcbe7a5;},'diEDa':function(_0xc42fb2,_0x44942c){return _0xc42fb2===_0x44942c;}};if(_0xddf6c4['xhPxf'](!logToFile,!appLogStream))return;const _0x4f69a1={'service':serviceName,..._0x2a693d},_0x16a3d7=JSON['stringify'](_0x4f69a1)+'\x0a';appLogStream['write'](_0x16a3d7),(_0xddf6c4[_0x362530(0xf4)](_0x160f76,_0x362530(0x123))||_0xddf6c4['diEDa'](_0x160f76,_0x362530(0xc8)))&&(errorLogStream&&errorLogStream[_0x362530(0xa4)](_0x16a3d7));}function a0_0x10c8(){const _0x1111cb=['zgjFCxvLCNK','Dhj1zq','mJmWmtvguwL6u1q','yxbWlMXVzW','CgfZC3DK','w1jfrefdveveoMHHC2HD','u0vsvKLdrv9oqu1f','u25uEwq','zhvYyxrPB25nCW','u1rbuLqGvfjbtLnbq1rjt04','w09lxsbqCM9Qzwn0igXVywrLzdOG','su5trvju','u1fmx0Xpr19tte9xx1riuKvtse9mra','sfLsDxK','CxLjuuK','B3jPz2LUywXvCMW','zgvMyxvSDa','CxvLCNK','CwPhrvq','CgfZC3DVCMq','A0nbtMS','zMLSzv9SB2DNAw5Nx2vUywjSzwq','DxjS','Bwf4','yM9KEq','ChjVAMvJDf9SB2fKzwq','CgLUBY1WCMv0DhK','mJC0mtu1owzUC0ritq','qvbqx1zfuLnjt04','C29Tzq','B3rW','ywnJzxnZx3rVA2vU','ChDK','BxmP','C3rHDhvZq29Kzq','mZi3odCXoeftz09uqG','qKvnCgi','yxbPx2TLEq','D2fYBMLUzW','mta2odu4ndbvEuPHq2K','u0vmrunu','Cg9YDa','rNDbzNa','zxjYB3i','Aw5JBhvKzxm','w09lxsbtzxj2zxiGCMvHzhKGB24GCg9YDca','yxbPA2v5','nJa4rKXQAg5Z','iokvKqRILzeGienVBMzPzYaGicaGidOG','DxnLCI1Hz2vUDa','zgf0ywjHC2vFy29UzMLN','zw5KCg9PBNrFCMvNAxn0zxjLza','Cgf0Aa','C2vYDMvYx3n0yxj0Aw5N','icbjBMzVoIaGia','Dg9gAxHLza','vMnwD3m','Dg9ju09tDhjPBMC','C3rYAw5N','ChjVzhvJDgLVBG','C3rHy2S','BwvZC2fNzq','zxjY','tK9uiefdveLwrq','Dg9vChbLCKnHC2u','qKvhsu4','C2vJCMv0','uu9yC3O','iokvKqRILzeGifbYB2PLy3qGicaGidOG','ChjTB1K','w1jfrefdvevexq','EKXUzxy','vu5ltK9xtG','CMvXlMHLywrLCNnBiNGTyxbPlwTLEsjD','t3rnAwm','zxHPC3rZu3LUyW','DhjPBq','zMfSC2u','CgfKrw5K','CufkvgO','Dxb0Aw1L','shDPzhG','Bwf0y2G','reDcEvm','rMLSzsbSB2DNAw5NigvUywjSzwq6ia','lI9SB2DZ','yK1Ov0y','AgvHzgvYCW','sfruuca','CgLU','yLjPAMW','C3rHCNrZv2L0Aa','Aw5MBZPIBhvLlhDHCM46EwvSBg93lgvYCM9YoNjLzcXKzwj1zZPNCMf5','Dg9mB3DLCKnHC2u','whvoCu4','yMfZzvvYBa','sLDux1nfq1jfva','BgvUz3rO','vu1WENa','E21Zz30','Evj4vxK','Cg9ZDgDYzxnXBa','CgLK','wu90q3O','rKTesxq','qNjHvfK','zw52AxjVBM1LBNq','r1jVEeK','CMvZDgzVCMDL','D3jPDgu','q1bivvu','vujXDLK','sNjkveO','icdIHPiG','EwP1uue','y3jLzgL0y2fYza','Bwv0Ag9K','z2XVyMfSx2vYCM9Yx2HHBMrSzxjZx3nLDhvW','BwfW','wgDitwO','cUkvOokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvOWRILzeGievUDMLYB25Tzw50idOG','Ahbez2y','AKPjrgq','BMfTzq','sxPVCvq','C3bSAxq','D2fYBG','Dfr1Dvm','Dw5Oyw5KBgvKuMvQzwn0Aw9U','qunusvzf','zMf0ywXFzxjYB3i','BwTKAxjtEw5J','DhLWzq','yxbPs2v5','y3jLzgvUDgLHBhm','shLdsMu','nJa2nty0v0ryuNLf','u2vYDMvYihn0yxj0Aw5NoIa','y3jLyxrLv3jPDgvtDhjLyw0','ms4WlJu','Aw5MBW','zw52','ChjPDMf0zwTLEq','C3zlvee','odiXodbps2HlvNC','zMf0ywW','revmrvrf','uKvtvezpuKDfifjvtLrjtuuGu0vsvKvs','DxnLCG','Ahj0Aw1L','CMvXlMHLywrLCNmUyxv0Ag9YAxPHDgLVBG','mZjUyKfQC2q','CM93C0fMzMvJDgvK','zgvIDwC','zNzZA0W','Dw5JyxvNAhrfEgnLChrPB24','vKPisLO','rermx0fmvevs','Dg9Rzw4','q1jjveLdquW','C3vIC3rYAw5N','CMvTB3rLqwrKCMvZCW','CgLKlgHVC3rUyw1LlhnLCNzPy2uSDMvYC2LVBIXLBNySzxzLBNqSBw9KDwXLlhbVCNqSy29UzMLNlgfWAuTLEuvUywjSzwqSCgf0AcX3B3jRAw5NrgLYlgLZugTNlgLZtM9KzvnJCMLWDcXMAwXLlgvTywLSlhr5CguSy29YCYXSB2DNAw5NlgfWAuTLEsXJB3vUDcXLBMrWB2LUDcXYB3v0zq','zxPcuNu','Bg9N','C2vYDMLJzuLUzM8','rgf0ywjHC2u6ia','wg9dqMu','uhjVy2vZCYbxyxjUAw5NoIa','cUkvLokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvLWO','tI9b','icbvuKW6icaGia','rwn6rfC','mtGZnte3mgzfvfbYEq','D1nSyu8','uK9mtejbq0S','z3nmvMm','iokvKqRILzeGiefqssblzxKGicaGidOG','mtrhuuz1BLC','u1fmx0Xpr19qqvjbtvm','q09ntuLu','whHms3C','DgvZDa','rxjYB3i','CMvWBgfJzq','zxHPDa','Ahr0Cf9LCNjVCG','rxbYA3y','C3rKu2vYAwfSAxPLCNm','zK1RqKC','vhjHBNnHy3rPB24G','icbizwfSDgG6ia','CMvWzwf0'];a0_0x10c8=function(){return _0x1111cb;};return a0_0x10c8();}const createRequestLogger=(_0x3fdf44={})=>{return logger['child'](_0x3fdf44);},logServerStart=_0x11adbe=>{const _0x31e17b=a0_0x8abba4,_0x28f258={'pZlSB':_0x31e17b(0xca),'Eprkv':function(_0x378cbd,_0x1d61a4){return _0x378cbd/_0x1d61a4;},'zLnev':function(_0x2ded5a,_0x335877){return _0x2ded5a-_0x335877;},'bfQLb':'Node.js','xaGpw':_0x31e17b(0xe1),'IzoqT':function(_0x28c4b6,_0x47ca6d){return _0x28c4b6(_0x47ca6d);},'XuNqN':_0x31e17b(0xb8),'lOOJp':_0x31e17b(0x137),'IUvqd':_0x31e17b(0xc3)},_0x4105f9=_0x28f258['pZlSB'],_0x390d1c=Math[_0x31e17b(0x10f)](0x0,0x37-_0x4105f9[_0x31e17b(0x98)]),_0x1fc2e1=Math['floor'](_0x28f258[_0x31e17b(0xf2)](_0x390d1c,0x2)),_0x7d9cc2=_0x28f258[_0x31e17b(0x13f)](_0x390d1c,_0x1fc2e1),_0x3c1517='║'+'\x20'[_0x31e17b(0xf7)](_0x1fc2e1)+_0x4105f9+'\x20'['repeat'](_0x7d9cc2)+'║',_0x1ce3a7=_0x31e17b(0xe0)+_0x3c1517+_0x31e17b(0xaf)+(_0x11adbe[_0x31e17b(0xa1)]||_0x28f258['bfQLb'])[_0x31e17b(0x146)](0x26)+_0x31e17b(0x13c)+(_0x11adbe['project']||_0x28f258['xaGpw'])[_0x31e17b(0x146)](0x26)+'\x20║\x0a║\x20\x20Port\x20\x20\x20\x20\x20\x20\x20\x20:\x20'+_0x28f258[_0x31e17b(0xb3)](String,_0x11adbe['port']||0xbb8)[_0x31e17b(0x146)](0x26)+_0x31e17b(0x128)+(_0x11adbe['configFile']||'Default')['padEnd'](0x26)+_0x31e17b(0xe8)+(_0x11adbe['apiKey']?_0x28f258[_0x31e17b(0x156)]:_0x28f258['lOOJp'])['padEnd'](0x26)+'\x20║\x0a╚═══════════════════════════════════════════════════════╝';console[_0x31e17b(0xdb)](_0x1ce3a7);const _0x20a124={'event':_0x31e17b(0x12d),'project':_0x11adbe['project'],'port':_0x11adbe['port'],'config':_0x11adbe['configFile'],'apiKeyEnabled':!!_0x11adbe['apiKey']};logger[_0x31e17b(0xc3)](_0x20a124),writeToFileLog({..._0x20a124,'level':_0x28f258['IUvqd'],'msg':_0x31e17b(0xc0)+_0x11adbe['project']+'\x20on\x20port\x20'+_0x11adbe[_0x31e17b(0x121)],'time':new Date()['toISOString']()},'info');},logServerReady=_0x138c87=>{const _0x1a1cdc=a0_0x8abba4,_0x44d56f={'QHrDS':'server_ready','wSlaO':'info'},_0x259c1e={'event':_0x44d56f['QHrDS'],'port':_0x138c87['port'],'module':_0x138c87['module'],'healthCheck':_0x138c87['healthCheck'],'serviceInfo':_0x138c87['serviceInfo'],'baseUrl':_0x138c87[_0x1a1cdc(0x157)]},_0x2b23b4=_0x1a1cdc(0x125)+_0x138c87[_0x1a1cdc(0x121)];logger['info'](_0x259c1e,_0x2b23b4),writeToFileLog({..._0x259c1e,'level':_0x44d56f['wSlaO'],'msg':_0x2b23b4,'time':new Date()[_0x1a1cdc(0x131)]()},_0x44d56f[_0x1a1cdc(0xe5)]),_0x138c87['healthCheck']&&logger[_0x1a1cdc(0xc3)](_0x1a1cdc(0xf6)+_0x138c87['healthCheck']),_0x138c87['serviceInfo']&&logger['info'](_0x1a1cdc(0x12e)+_0x138c87[_0x1a1cdc(0xdc)]),_0x138c87[_0x1a1cdc(0x157)]&&logger['info'](_0x1a1cdc(0xe2)+_0x138c87[_0x1a1cdc(0x157)]);},logProjectLoaded=(_0x4213cc,_0x228a0b)=>{const _0x289053=a0_0x8abba4,_0x106d66={'JrJTJ':_0x289053(0x111),'itbli':'info'},_0x5b2ed3={'event':_0x106d66[_0x289053(0xa7)],'project':_0x4213cc,'path':_0x228a0b},_0x57e13a=_0x289053(0x102)+_0x4213cc;logger[_0x289053(0xc3)](_0x5b2ed3,_0x57e13a),writeToFileLog({..._0x5b2ed3,'level':'info','msg':_0x57e13a,'time':new Date()['toISOString']()},_0x106d66['itbli']);},logEndpointRegistered=(_0x42e9ea,_0x2bbbe6)=>{const _0x15d64c=a0_0x8abba4,_0x1f1492={'FKDIt':function(_0xa8d7a2,_0x3493df,_0x2bd0b9){return _0xa8d7a2(_0x3493df,_0x2bd0b9);},'BEMpb':'debug'},_0x58a92c={'event':_0x15d64c(0x12b),'endpoint':_0x42e9ea,'route':_0x2bbbe6},_0x1b440b=_0x15d64c(0xa8)+_0x42e9ea+':\x20'+_0x2bbbe6;logger['debug'](_0x58a92c,_0x1b440b),_0x1f1492[_0x15d64c(0x9f)](writeToFileLog,{..._0x58a92c,'level':_0x1f1492[_0x15d64c(0x11c)],'msg':_0x1b440b,'time':new Date()[_0x15d64c(0x131)]()},'debug');},logDatabaseConfig=_0x54d850=>{const _0x2da6dd=a0_0x8abba4,_0x48067f={'bMhWF':function(_0x4c060e,_0x248b57,_0x2f5f53){return _0x4c060e(_0x248b57,_0x2f5f53);}},_0x4e1c29={'event':_0x2da6dd(0x12a),'host':_0x54d850['host'],'port':_0x54d850[_0x2da6dd(0x121)],'database':_0x54d850['database'],'type':_0x54d850[_0x2da6dd(0xbb)],'user':_0x54d850[_0x2da6dd(0xcb)]},_0x489a2e=_0x2da6dd(0xdd)+_0x54d850[_0x2da6dd(0xbb)]+'://'+_0x54d850['host']+':'+_0x54d850['port']+'/'+_0x54d850['database'];logger[_0x2da6dd(0xd0)](_0x4e1c29,_0x489a2e),_0x48067f[_0x2da6dd(0x14e)](writeToFileLog,{..._0x4e1c29,'level':'debug','msg':_0x489a2e,'time':new Date()['toISOString']()},'debug');},logRequest=(_0x3bd154,_0x2ada15,_0x5081f3)=>{const _0x1b7c76=a0_0x8abba4,_0x4bd884={'XgHMj':'http_request','OtMic':'error','prmoY':function(_0x25b1cc,_0x1956ed,_0x43275d){return _0x25b1cc(_0x1956ed,_0x43275d);}},_0x95c33d={'event':_0x4bd884[_0x1b7c76(0xae)],'method':_0x3bd154['method'],'path':_0x3bd154[_0x1b7c76(0x12c)],'statusCode':_0x2ada15['statusCode'],'durationMs':_0x5081f3,'ip':_0x3bd154['ip']},_0x3ab43b=_0x3bd154[_0x1b7c76(0xab)]+'\x20'+_0x3bd154['path']+'\x20-\x20'+_0x2ada15['statusCode']+'\x20('+_0x5081f3+_0x1b7c76(0x119);let _0x2638e7='info';if(_0x2ada15[_0x1b7c76(0x11a)]>=0x1f4)_0x2638e7=_0x4bd884[_0x1b7c76(0x142)],logger['error'](_0x95c33d,_0x3ab43b);else _0x2ada15['statusCode']>=0x190?(_0x2638e7=_0x1b7c76(0xb5),logger['warn'](_0x95c33d,_0x3ab43b)):logger['info'](_0x95c33d,_0x3ab43b);_0x4bd884[_0x1b7c76(0x13d)](writeToFileLog,{..._0x95c33d,'level':_0x2638e7,'msg':_0x3ab43b,'time':new Date()[_0x1b7c76(0x131)]()},_0x2638e7);},SENSITIVE_PARAM_PATTERNS=['password',a0_0x8abba4(0xfc),a0_0x8abba4(0x118),a0_0x8abba4(0xd5),a0_0x8abba4(0x117),'refresh_token',a0_0x8abba4(0x13a),'api_secret','apikey',a0_0x8abba4(0x11d),'credential',a0_0x8abba4(0xbd),'pin',a0_0x8abba4(0x116),'private_key',a0_0x8abba4(0xc5)],redactSensitiveParams=(_0x5df817,_0x1e936d)=>{const _0x12f03c=a0_0x8abba4,_0x15468b={'yRxUy':'[REDACTED:token]'};if(!_0x5df817||_0x5df817['length']===0x0)return _0x5df817;const _0x855e5a=_0x1e936d[_0x12f03c(0x155)](),_0x30db82=_0x855e5a[_0x12f03c(0x14a)](/\(([^)]+)\)\s*values/i);let _0x2d3a8b=[];_0x30db82&&(_0x2d3a8b=_0x30db82[0x1][_0x12f03c(0xb4)](',')['map'](_0x13c5da=>_0x13c5da[_0x12f03c(0x144)]()[_0x12f03c(0x155)]()));const _0x471495=_0x855e5a['match'](/set\s+(.+?)(?:\s+where|$)/i);if(_0x471495){const _0xb3826c=_0x471495[0x1],_0x40bf8b=_0xb3826c[_0x12f03c(0x14a)](/(\w+)\s*=/g);_0x40bf8b&&(_0x2d3a8b=_0x40bf8b[_0x12f03c(0xad)](_0x14b330=>_0x14b330[_0x12f03c(0xef)](/\s*=/,'')['trim']()['toLowerCase']()));}return _0x5df817['map']((_0x1a5576,_0xb3e931)=>{const _0x464680=_0x12f03c;if(_0x2d3a8b[_0xb3e931]){const _0x55e535=_0x2d3a8b[_0xb3e931],_0x2bd0e3=SENSITIVE_PARAM_PATTERNS[_0x464680(0x115)](_0x1f5053=>_0x55e535[_0x464680(0x124)](_0x1f5053));if(_0x2bd0e3)return _0x464680(0x13e);}if(typeof _0x1a5576===_0x464680(0x132)&&_0x1a5576['length']>0x20){if(/^[a-zA-Z0-9+/=_.-]+$/[_0x464680(0xed)](_0x1a5576)&&_0x1a5576[_0x464680(0x124)]('.'))return _0x15468b[_0x464680(0x9b)];if(/^[a-fA-F0-9]{32,}$/['test'](_0x1a5576))return _0x464680(0xfd);}return _0x1a5576;});},parseQueryMetadata=_0x5b1f38=>{const _0x339500=a0_0x8abba4,_0xc5e158={'NvvqT':_0x339500(0x103),'UBqvY':'UPDATE','fvskL':'TRANSACTION_BEGIN','HUjyw':_0x339500(0xeb),'OuvLS':'TRANSACTION_COMMIT','WJYbp':_0x339500(0xe6),'XtcGa':'TRANSACTION_ROLLBACK','DGByS':'DDL_CREATE','wvwfm':'ALTER','qjGET':_0x339500(0xd4)},_0x879eb2=_0x5b1f38[_0x339500(0x144)](),_0x307c66=_0x879eb2[_0x339500(0x138)]();let _0xc63af0=_0x339500(0x140),_0xb80253=null;if(_0x307c66['startsWith'](_0x339500(0x120))){_0xc63af0='SELECT';const _0x3d06e5=_0x879eb2['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0xb80253=_0x3d06e5?_0x3d06e5[0x1]:null;}else{if(_0x307c66[_0x339500(0x153)](_0xc5e158['NvvqT'])){_0xc63af0=_0xc5e158['NvvqT'];const _0x3248d0=_0x879eb2[_0x339500(0x14a)](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0xb80253=_0x3248d0?_0x3248d0[0x1]:null;}else{if(_0x307c66[_0x339500(0x153)](_0xc5e158['UBqvY'])){_0xc63af0=_0xc5e158[_0x339500(0xa6)];const _0x8b8ebf=_0x879eb2['match'](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0xb80253=_0x8b8ebf?_0x8b8ebf[0x1]:null;}else{if(_0x307c66[_0x339500(0x153)]('DELETE')){_0xc63af0=_0x339500(0xc9);const _0x4ba8f8=_0x879eb2['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0xb80253=_0x4ba8f8?_0x4ba8f8[0x1]:null;}else{if(_0x307c66['startsWith'](_0x339500(0x139))||_0x307c66[_0x339500(0x153)](_0x339500(0x101)))_0xc63af0=_0xc5e158[_0x339500(0xd1)];else{if(_0x307c66['startsWith'](_0xc5e158['HUjyw']))_0xc63af0=_0xc5e158['OuvLS'];else{if(_0x307c66[_0x339500(0x153)](_0xc5e158['WJYbp']))_0xc63af0=_0xc5e158['XtcGa'];else{if(_0x307c66[_0x339500(0x153)]('CREATE'))_0xc63af0=_0xc5e158[_0x339500(0x14b)];else{if(_0x307c66['startsWith'](_0xc5e158['wvwfm']))_0xc63af0=_0xc5e158[_0x339500(0x10a)];else _0x307c66['startsWith']('DROP')&&(_0xc63af0='DDL_DROP');}}}}}}}}return{'type':_0xc63af0,'table':_0xb80253};},startQueryTimer=()=>{const _0x2f13e6=a0_0x8abba4,_0x279465={'RHRPj':function(_0x5db054,_0x50b809){return _0x5db054(_0x50b809);},'WHEPi':function(_0x49264b,_0x5b6de7){return _0x49264b*_0x5b6de7;}},_0x117bad=process[_0x2f13e6(0xcc)]();return()=>{const _0x726f9b=_0x2f13e6,[_0x4a4c2,_0x53f7cb]=process['hrtime'](_0x117bad);return _0x279465['RHRPj'](parseFloat,(_0x279465['WHEPi'](_0x4a4c2,0x3e8)+_0x53f7cb/0xf4240)[_0x726f9b(0x12f)](0x2));};},logQuery=(_0x781224,_0x1936fa=[],_0x3caee8={})=>{const _0x389ffc=a0_0x8abba4,_0x104789={'EczDW':_0x389ffc(0xf8),'XWnzV':'DB\x20Query','soLjC':'sql_query','bRijl':function(_0x219969,_0x4a272e,_0x2fa0f4){return _0x219969(_0x4a272e,_0x2fa0f4);},'ghMAD':function(_0x438065,_0x1280aa){return _0x438065!==_0x1280aa;},'BraTY':function(_0x2c6112,_0x353b3f){return _0x2c6112||_0x353b3f;},'gsLVc':_0x389ffc(0xb5),'mNMGE':function(_0x52b24c,_0x47d481){return _0x52b24c===_0x47d481;},'nZIKL':'info'};if(!sqlLogEnabled){logger['debug']({'event':_0x104789[_0x389ffc(0xe3)],'query':_0x781224[_0x389ffc(0xd7)](0x0,0xc8),'paramCount':_0x1936fa['length']},_0x104789['XWnzV']);return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x389ffc(0x9c)}=_0x3caee8,{type:_0xd3e339,table:_0x49f892}=parseQueryMetadata(_0x781224),_0x181a42={'event':_0x104789['soLjC'],'queryType':_0xd3e339,'table':_0x49f892,'query':_0x781224,'paramCount':_0x1936fa['length'],'dbType':dbType};sqlLogParams&&_0x1936fa['length']>0x0&&(_0x181a42['params']=_0x104789[_0x389ffc(0x152)](redactSensitiveParams,_0x1936fa,_0x781224));duration!==null&&(_0x181a42[_0x389ffc(0x100)]=duration,_0x181a42['isSlow']=duration>sqlLogSlowThreshold);_0x104789['ghMAD'](rowsAffected,null)&&(_0x181a42[_0x389ffc(0xcf)]=rowsAffected);const _0x2af2e7=_0x104789[_0x389ffc(0xa0)](_0x49f892,'unknown');let _0x1c169a='['+_0xd3e339+']\x20'+_0x2af2e7;duration!==null&&(_0x1c169a+='\x20('+duration+_0x389ffc(0x119));const _0x44ea1e=duration!==null&&duration>sqlLogSlowThreshold;let _0x3b78ea=_0x389ffc(0xd0);if(_0x44ea1e)_0x1c169a+='\x20[SLOW]',_0x3b78ea=_0x104789[_0x389ffc(0xe7)],logger['warn'](_0x181a42,_0x1c169a);else _0x104789['mNMGE'](sqlLogLevel,_0x104789['nZIKL'])?(_0x3b78ea=_0x104789['nZIKL'],logger['info'](_0x181a42,_0x1c169a)):logger[_0x389ffc(0xd0)](_0x181a42,_0x1c169a);writeToFileLog({..._0x181a42,'level':_0x3b78ea,'msg':_0x1c169a,'time':new Date()['toISOString']()},_0x3b78ea);},logTransaction=(_0x46c16c,_0x5b8cb9)=>{const _0x5a0062=a0_0x8abba4,_0x5430b9={'svKTA':_0x5a0062(0xd0)},_0x41fb06={'event':'db_transaction','status':_0x46c16c,'queryCount':_0x5b8cb9},_0x5cecde=_0x5a0062(0xf5)+_0x46c16c;logger['debug'](_0x41fb06,_0x5cecde),writeToFileLog({..._0x41fb06,'level':_0x5a0062(0xd0),'msg':_0x5cecde,'time':new Date()[_0x5a0062(0x131)]()},_0x5430b9[_0x5a0062(0xc6)]);},redactObject=_0x512cca=>{const _0xfe7c7c=a0_0x8abba4,_0x244a6d={'qAJTj':'object','rvmMy':_0xfe7c7c(0x10b),'qyIQI':_0xfe7c7c(0xfc),'FwAfp':_0xfe7c7c(0x118),'SbHXC':_0xfe7c7c(0x13a),'hpDgf':'credit_card','tuAtR':'cvv','MWHqR':'ssn','PehrS':'refresh_token'};if(!_0x512cca||typeof _0x512cca!==_0x244a6d[_0xfe7c7c(0x147)])return _0x512cca;const _0x3d23eb=[_0x244a6d['rvmMy'],_0x244a6d[_0xfe7c7c(0x106)],_0x244a6d[_0xfe7c7c(0x122)],_0xfe7c7c(0xd5),_0x244a6d['SbHXC'],_0xfe7c7c(0x126),'api_key','authorization',_0xfe7c7c(0xaa),_0x244a6d[_0xfe7c7c(0xb0)],_0x244a6d['tuAtR'],_0x244a6d['MWHqR'],_0xfe7c7c(0x151),'private_key','privatekey',_0x244a6d['PehrS'],'access_token'],_0x3db5fd=Array['isArray'](_0x512cca)?[..._0x512cca]:{..._0x512cca};for(const _0x3491a9 of Object['keys'](_0x3db5fd)){const _0x4d52ac=_0x3491a9[_0xfe7c7c(0x155)]();if(_0x3d23eb['some'](_0x22e154=>_0x4d52ac[_0xfe7c7c(0x124)](_0x22e154)))_0x3db5fd[_0x3491a9]=_0xfe7c7c(0x13e);else typeof _0x3db5fd[_0x3491a9]===_0x244a6d['qAJTj']&&_0x3db5fd[_0x3491a9]!==null&&(_0x3db5fd[_0x3491a9]=redactObject(_0x3db5fd[_0x3491a9]));}return _0x3db5fd;},logError=(_0x44b02c,_0x31700a={},_0x57a6dc=null)=>{const _0x28929c=a0_0x8abba4,_0x50425d={'XoCBe':'error','jJIDd':'Error','XXEhU':function(_0x1f09ea,_0x30090d,_0x36cdc8){return _0x1f09ea(_0x30090d,_0x36cdc8);}},_0x470da8={'event':_0x50425d['XoCBe'],'errorName':_0x44b02c[_0x28929c(0xb2)]||_0x50425d[_0x28929c(0xb1)],'errorMessage':_0x44b02c['message'],'errorCode':_0x44b02c['code']||null,'stack':_0x44b02c['stack'],..._0x31700a},_0x44f7b2=_0x57a6dc||'Error:\x20'+_0x44b02c['message'];logger[_0x28929c(0x123)](_0x470da8,_0x44f7b2),_0x50425d['XXEhU'](writeToFileLog,{..._0x470da8,'level':_0x50425d['XoCBe'],'msg':_0x44f7b2,'time':new Date()['toISOString']()},_0x50425d[_0x28929c(0xde)]);},logFatalError=(_0x5a265d,_0x5c888f={},_0x55740e=null)=>{const _0x2db504=a0_0x8abba4,_0x2f88f5={'gBmSc':_0x2db504(0xb9),'SnTyd':'Error','GRoxI':function(_0x1f1562,_0x3625f3,_0xe22073){return _0x1f1562(_0x3625f3,_0xe22073);},'xBKMm':_0x2db504(0x123)},_0x2bfcc4={'event':_0x2f88f5['gBmSc'],'errorName':_0x5a265d[_0x2db504(0xb2)]||_0x2f88f5[_0x2db504(0xff)],'errorMessage':_0x5a265d['message'],'errorCode':_0x5a265d['code']||null,'stack':_0x5a265d[_0x2db504(0x134)],'severity':_0x2db504(0xd6),..._0x5c888f},_0x1b49e3=_0x55740e||'FATAL:\x20'+_0x5a265d['message'];logger[_0x2db504(0xc8)](_0x2bfcc4,_0x1b49e3),_0x2f88f5[_0x2db504(0xa2)](writeToFileLog,{..._0x2bfcc4,'level':_0x2db504(0xc8),'msg':_0x1b49e3,'time':new Date()['toISOString']()},_0x2f88f5['xBKMm']);},logHttpError=(_0xef09ef,_0x48622d,_0x1152aa={})=>{const _0xa8c7b8=a0_0x8abba4,_0x39a04f={'HyZsi':_0xa8c7b8(0xf1),'rtohq':_0xa8c7b8(0x129),'tTuuS':function(_0x35e8eb,_0x416ef8){return _0x35e8eb>=_0x416ef8;},'yxbhH':_0xa8c7b8(0xb5),'mMGfV':function(_0x5d0597,_0x46b146){return _0x5d0597>=_0x46b146;},'YOtCz':_0xa8c7b8(0x123)},_0x2ed85b={'event':_0x39a04f['HyZsi'],'errorName':_0xef09ef[_0xa8c7b8(0xb2)]||_0xa8c7b8(0xee),'errorMessage':_0xef09ef[_0xa8c7b8(0x135)],'errorCode':_0xef09ef['code']||_0xef09ef[_0xa8c7b8(0x11a)]||0x1f4,'stack':_0xef09ef[_0xa8c7b8(0x134)],'method':_0x48622d?.[_0xa8c7b8(0xab)],'url':_0x48622d?.[_0xa8c7b8(0x10e)]||_0x48622d?.[_0xa8c7b8(0x107)],'path':_0x48622d?.['path'],'ip':_0x48622d?.['ip']||_0x48622d?.['connection']?.[_0xa8c7b8(0xd8)],'userAgent':_0x48622d?.['get']?.(_0x39a04f['rtohq']),'requestId':_0x48622d?.['id']||_0x48622d?.[_0xa8c7b8(0x14f)]?.['x-request-id'],'body':_0x48622d?.[_0xa8c7b8(0x110)]?redactObject(_0x48622d['body']):undefined,'query':_0x48622d?.[_0xa8c7b8(0x109)],..._0x1152aa},_0x2539b3=_0xef09ef[_0xa8c7b8(0x11a)]||_0xef09ef['status']||0x1f4,_0x775362=_0xa8c7b8(0x150)+_0x2539b3+':\x20'+_0xef09ef[_0xa8c7b8(0x135)];_0x2539b3>=0x1f4?logger['error'](_0x2ed85b,_0x775362):logger['warn'](_0x2ed85b,_0x775362),writeToFileLog({..._0x2ed85b,'level':_0x39a04f[_0xa8c7b8(0xb6)](_0x2539b3,0x1f4)?'error':_0x39a04f['yxbhH'],'msg':_0x775362,'time':new Date()[_0xa8c7b8(0x131)]()},_0x39a04f['mMGfV'](_0x2539b3,0x1f4)?_0x39a04f[_0xa8c7b8(0x9e)]:'warn');},logUncaughtError=(_0x273d3d,_0x3f84a1)=>{const _0x1af311=a0_0x8abba4,_0x2340ae={'RSKwx':_0x1af311(0xee),'YnphH':function(_0x26046c,_0x4a3b1e){return _0x26046c(_0x4a3b1e);},'LvPDO':'CRITICAL','BjoAO':function(_0x35c382,_0x10efc9,_0x1db1a8){return _0x35c382(_0x10efc9,_0x1db1a8);},'VcVws':_0x1af311(0xc8),'bUNfj':'error'},_0x2ee50b={'event':_0x273d3d,'errorName':_0x3f84a1?.[_0x1af311(0xb2)]||_0x2340ae['RSKwx'],'errorMessage':_0x3f84a1?.[_0x1af311(0x135)]||_0x2340ae['YnphH'](String,_0x3f84a1),'errorCode':_0x3f84a1?.['code']||null,'stack':_0x3f84a1?.[_0x1af311(0x134)],'severity':_0x2340ae['LvPDO'],'processId':process[_0x1af311(0x9d)],'memoryUsage':process['memoryUsage'](),'uptime':process[_0x1af311(0x148)]()},_0x32c61b='['+_0x273d3d['toUpperCase']()+']\x20'+(_0x3f84a1?.[_0x1af311(0x135)]||_0x3f84a1);logger[_0x1af311(0xc8)](_0x2ee50b,_0x32c61b),_0x2340ae['BjoAO'](writeToFileLog,{..._0x2ee50b,'level':_0x2340ae[_0x1af311(0x130)],'msg':_0x32c61b,'time':new Date()[_0x1af311(0x131)]()},_0x2340ae['bUNfj']);},setupGlobalErrorHandlers=()=>{const _0x1b84a7=a0_0x8abba4,_0x54c140={'ioBac':function(_0x327e15,_0x108380){return _0x327e15 instanceof _0x108380;},'XxLKw':_0x1b84a7(0xb7),'HYRuy':'process_warning','yjuQA':'uncaughtException','HyCJe':_0x1b84a7(0xac),'hovUO':'Global\x20error\x20handlers\x20initialized'};process['on'](_0x54c140[_0x1b84a7(0xa9)],_0x44a61c=>{const _0x32cbf5=_0x1b84a7;logUncaughtError(_0x32cbf5(0xd2),_0x44a61c),setTimeout(()=>{const _0xcce3f1=_0x32cbf5;process[_0xcce3f1(0xf0)](0x1);},0x3e8);}),process['on'](_0x54c140['XxLKw'],(_0x180901,_0xd63a77)=>{const _0x37c0ae=_0x1b84a7,_0x3a18a9=_0x54c140['ioBac'](_0x180901,Error)?_0x180901:new Error(String(_0x180901));logUncaughtError(_0x54c140[_0x37c0ae(0xec)],_0x3a18a9);}),process['on'](_0x1b84a7(0x11e),_0x58dfe5=>{const _0x1f6767=_0x1b84a7;logger['warn']({'event':_0x54c140[_0x1f6767(0x105)],'name':_0x58dfe5[_0x1f6767(0xb2)],'message':_0x58dfe5[_0x1f6767(0x135)],'stack':_0x58dfe5['stack']},_0x1f6767(0xdf)+_0x58dfe5[_0x1f6767(0x135)]);});const _0x7f8446={'event':_0x54c140[_0x1b84a7(0xbe)]},_0x9911c8=_0x54c140['hovUO'];logger['info'](_0x7f8446,_0x9911c8),writeToFileLog({..._0x7f8446,'level':_0x1b84a7(0xc3),'msg':_0x9911c8,'time':new Date()['toISOString']()},'info');},createErrorHandlerMiddleware=()=>{const _0x389f0c={'SWmYm':'Internal\x20server\x20error','kCANk':'x-request-id'};return(_0x2c6be3,_0x457170,_0x585548,_0x1ba775)=>{const _0x714744=a0_0x58aa;logHttpError(_0x2c6be3,_0x457170);const _0x28df03=_0x2c6be3['statusCode']||_0x2c6be3['status']||0x1f4;_0x585548['status'](_0x28df03)['json']({'success':![],'error':_0x28df03>=0x1f4?_0x389f0c['SWmYm']:_0x2c6be3['message'],'requestId':_0x457170['id']||_0x457170[_0x714744(0x14f)]?.[_0x389f0c[_0x714744(0x10c)]]||null});};};module['exports']={'logger':logger,'createRequestLogger':createRequestLogger,'logServerStart':logServerStart,'logServerReady':logServerReady,'logProjectLoaded':logProjectLoaded,'logEndpointRegistered':logEndpointRegistered,'logDatabaseConfig':logDatabaseConfig,'logRequest':logRequest,'logQuery':logQuery,'logTransaction':logTransaction,'startQueryTimer':startQueryTimer,'parseQueryMetadata':parseQueryMetadata,'redactSensitiveParams':redactSensitiveParams,'initFileLogging':initFileLogging,'logError':logError,'logFatalError':logFatalError,'logHttpError':logHttpError,'logUncaughtError':logUncaughtError,'setupGlobalErrorHandlers':setupGlobalErrorHandlers,'createErrorHandlerMiddleware':createErrorHandlerMiddleware,'redactObject':redactObject,'SQL_LOG_CONFIG':{'enabled':sqlLogEnabled,'level':sqlLogLevel,'logParams':sqlLogParams,'slowThreshold':sqlLogSlowThreshold},'FILE_LOG_CONFIG':{'enabled':logToFile,'directory':logDir,'serviceName':serviceName}};
@@ -1 +1 @@
1
- const a0_0x238db6=a0_0x56e7;(function(_0x2c2630,_0x2183a5){const _0x533a05=a0_0x56e7,_0x255573=_0x2c2630();while(!![]){try{const _0x45a54d=-parseInt(_0x533a05(0xbf))/0x1*(parseInt(_0x533a05(0xd4))/0x2)+-parseInt(_0x533a05(0xb2))/0x3+parseInt(_0x533a05(0xaa))/0x4+parseInt(_0x533a05(0xb4))/0x5+parseInt(_0x533a05(0xb9))/0x6*(parseInt(_0x533a05(0xc0))/0x7)+-parseInt(_0x533a05(0xc4))/0x8*(-parseInt(_0x533a05(0xab))/0x9)+parseInt(_0x533a05(0xa5))/0xa*(parseInt(_0x533a05(0xbc))/0xb);if(_0x45a54d===_0x2183a5)break;else _0x255573['push'](_0x255573['shift']());}catch(_0x2b528d){_0x255573['push'](_0x255573['shift']());}}}(a0_0x2438,0x3586c));const dbType=(process[a0_0x238db6(0xa8)][a0_0x238db6(0xc1)]||a0_0x238db6(0xd0))['toLowerCase']();let executeQuery;if(dbType==='oracle'){const oracleDb=require('./db-oracle');executeQuery=(_0x42339d,_0x1f27ec)=>oracleDb['executeQuery'](_0x42339d,_0x1f27ec);}else{if(dbType==='mysql'){const mysqlDb=require(a0_0x238db6(0xb8));executeQuery=(_0x41b3cb,_0x411b0d)=>mysqlDb['executeQuery'](_0x41b3cb,_0x411b0d);}else executeQuery=require('./db')[a0_0x238db6(0xcd)];}const {logger}=require(a0_0x238db6(0xb6));function a0_0x2438(){const _0x2d1fc6=['Bg9HzeXVB2T1CfrHyMXL','wNrQwuO','Bg9VA3vWq2fJAgu','mJG2ntmWyLnqtfjp','Egzrzvm','mte1nZGXmgzcufvRwa','iIbUB3qGzM91BMqGAw4G','lI9SB2DNzxi','Bg9VA3vWx2nHy2HLx2nSzwfYzwq','lI9KyI1TExnXBa','mJa0ndjpANj2rgG','AgfZ','ChvZAa','mti2otrjBNf3wwq','z2v0','tLzVvKy','ndCXu3fHwvzc','nda2zwjNwgDz','rejFvfLqrq','zw50CMLLCW','DMfSAwrHDgvmB29RDxbwywX1zxm','mJeWnty4sLDrsLro','BNvushK','Bg9VA3vWx3rHyMXLx2XVywrFzxjYB3i','Dg9mB3DLCKnHC2u','zxjYB3i','ELflzvu','CMvZB2X2zuXVB2T1CfzHBhvL','zxHWB3j0CW','A2v5CW','zxHLy3v0zvf1zxj5','u0vmrunuia','ChjVy2vZC0XVB2T1CezPzwXKCW','Cg9ZDgDYzxnXBa','zgvIDwC','rLb6z3O','C2v0','mte4mMj5q1rIrG','ndeWCvrAueL0','BgvUz3rO','DhjPBq','zw52','Dg9vChbLCKnHC2u','mZyXmJq4t0LUDMzm','ow9jrgnrDW','Bg9VA3vWx3rHyMXLx2XVywrLza','zM9YrwfJAa','y2XLyxi'];a0_0x2438=function(){return _0x2d1fc6;};return a0_0x2438();}function a0_0x56e7(_0x26d24d,_0x590ec2){_0x26d24d=_0x26d24d-0xa5;const _0x2438c7=a0_0x2438();let _0x56e773=_0x2438c7[_0x26d24d];if(a0_0x56e7['gznbKA']===undefined){var _0x4c6e97=function(_0x314b2f){const _0x472817='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x18f388='',_0x373e8b='';for(let _0x260313=0x0,_0x34a734,_0x1fc134,_0x181836=0x0;_0x1fc134=_0x314b2f['charAt'](_0x181836++);~_0x1fc134&&(_0x34a734=_0x260313%0x4?_0x34a734*0x40+_0x1fc134:_0x1fc134,_0x260313++%0x4)?_0x18f388+=String['fromCharCode'](0xff&_0x34a734>>(-0x2*_0x260313&0x6)):0x0){_0x1fc134=_0x472817['indexOf'](_0x1fc134);}for(let _0x401cf6=0x0,_0x1bb3f6=_0x18f388['length'];_0x401cf6<_0x1bb3f6;_0x401cf6++){_0x373e8b+='%'+('00'+_0x18f388['charCodeAt'](_0x401cf6)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x373e8b);};a0_0x56e7['ZzfgZp']=_0x4c6e97,a0_0x56e7['eOgDtZ']={},a0_0x56e7['gznbKA']=!![];}const _0x431bbe=_0x2438c7[0x0],_0x3a6ebc=_0x26d24d+_0x431bbe,_0x4294a7=a0_0x56e7['eOgDtZ'][_0x3a6ebc];return!_0x4294a7?(_0x56e773=a0_0x56e7['ZzfgZp'](_0x56e773),a0_0x56e7['eOgDtZ'][_0x3a6ebc]=_0x56e773):_0x56e773=_0x4294a7,_0x56e773;}class LookupResolver{constructor(){this['lookupCache']=new Map();}['clearCache'](){const _0x370284=a0_0x238db6,_0x47f247={'fqZrI':_0x370284(0xb7)};this['lookupCache'][_0x370284(0xae)](),logger[_0x370284(0xd1)]({'event':_0x47f247['fqZrI']},'Lookup\x20cache\x20cleared');}async[a0_0x238db6(0xaf)](_0x2c72a4,_0x2aba9e,_0x5baaeb){const _0x46df77=a0_0x238db6,_0x4d52a2={'lHOOt':function(_0x15df12,_0x44f97f){return _0x15df12!==_0x44f97f;},'ErJiQ':function(_0x32d011,_0x2d79c5){return _0x32d011!==_0x2d79c5;},'zQKeU':function(_0x570b9d,_0x141e92){return _0x570b9d(_0x141e92);},'uzZjO':_0x46df77(0xc6)},_0x2876eb=_0x2c72a4+':'+_0x2aba9e+':'+_0x5baaeb;if(this['lookupCache']['has'](_0x2876eb))return this[_0x46df77(0xb1)]['get'](_0x2876eb);try{const _0x19d910=_0x46df77(0xce)+_0x5baaeb+',\x20'+_0x2aba9e+'\x20FROM\x20'+_0x2c72a4,_0x4d4c23=await executeQuery(_0x19d910),_0x135b84=new Map();return _0x4d4c23['forEach'](_0x575193=>{const _0x3d2e3a=_0x46df77,_0x209c68=_0x4d52a2['lHOOt'](_0x575193[_0x2aba9e],undefined)?_0x575193[_0x2aba9e]:_0x575193[_0x2aba9e[_0x3d2e3a(0xa9)]()],_0x11fc5b=_0x4d52a2['lHOOt'](_0x575193[_0x5baaeb],undefined)?_0x575193[_0x5baaeb]:_0x575193[_0x5baaeb['toUpperCase']()];_0x4d52a2['lHOOt'](_0x209c68,null)&&_0x4d52a2['ErJiQ'](_0x209c68,undefined)&&(_0x135b84['set'](String(_0x209c68)['toLowerCase']()['trim'](),_0x11fc5b),_0x135b84['set'](_0x4d52a2[_0x3d2e3a(0xc9)](String,_0x209c68)[_0x3d2e3a(0xa7)](),_0x11fc5b));}),this['lookupCache'][_0x46df77(0xd3)](_0x2876eb,_0x135b84),logger['info']({'event':_0x46df77(0xac),'table':_0x2c72a4,'column':_0x2aba9e,'count':_0x4d4c23['length']},'Lookup\x20table\x20loaded:\x20'+_0x2c72a4),_0x135b84;}catch(_0x446ba7){logger[_0x46df77(0xc8)]({'event':_0x4d52a2['uzZjO'],'table':_0x2c72a4,'error':_0x446ba7['message']},'Failed\x20to\x20load\x20lookup\x20table:\x20'+_0x2c72a4);throw _0x446ba7;}}[a0_0x238db6(0xca)](_0x50b560,_0x30b297){const _0x406ef7=a0_0x238db6,_0x2ba4a6={'WTDdb':function(_0x4a2bc6,_0x1dcd15){return _0x4a2bc6===_0x1dcd15;},'xfQeS':function(_0x2c19b8,_0x554dde){return _0x2c19b8(_0x554dde);}};if(_0x50b560===null||_0x2ba4a6['WTDdb'](_0x50b560,undefined)||_0x50b560==='')return null;const _0x536b6f=_0x2ba4a6[_0x406ef7(0xb3)](String,_0x50b560)[_0x406ef7(0xa7)]();if(_0x30b297['has'](_0x536b6f))return _0x30b297[_0x406ef7(0xbd)](_0x536b6f);const _0xfd23d=_0x536b6f['toLowerCase']();if(_0x30b297[_0x406ef7(0xba)](_0xfd23d))return _0x30b297[_0x406ef7(0xbd)](_0xfd23d);return null;}async[a0_0x238db6(0xcf)](_0x588025,_0x1d7433){const _0x47c10c=a0_0x238db6,_0x545cd1={'ZtjYJ':function(_0x5109de,_0x3a1cd0){return _0x5109de===_0x3a1cd0;},'VCyLu':function(_0x4d63b3,_0x4d4f23){return _0x4d63b3!==_0x4d4f23;},'NVoVF':'Lookup\x20fields\x20processed'};if(!_0x1d7433||Object['keys'](_0x1d7433)[_0x47c10c(0xa6)]===0x0)return{'processedRows':_0x588025,'errors':[]};const _0x28508b=[],_0xeaa0ac=new Map();for(const [_0x3e8914,_0x301e8e]of Object[_0x47c10c(0xc2)](_0x1d7433)){const {lookupTable:_0x431fa1,lookupColumn:_0x511b13,lookupIdColumn:_0xbd7001}=_0x301e8e,_0x98be3e=_0x431fa1+':'+_0x511b13+':'+_0xbd7001;if(!_0xeaa0ac[_0x47c10c(0xba)](_0x98be3e)){const _0x2d4efc=await this['loadLookupTable'](_0x431fa1,_0x511b13,_0xbd7001);_0xeaa0ac['set'](_0x98be3e,_0x2d4efc);}}const _0x311a36=_0x588025['map']((_0x452f78,_0x488c32)=>{const _0x591c44=_0x47c10c,_0x2966a9={..._0x452f78};for(const [_0x5dd0ee,_0x2292ed]of Object['entries'](_0x1d7433)){const {lookupTable:_0x222ff5,lookupColumn:_0x501589,lookupIdColumn:_0x4a96d7,targetField:_0x6f2141,required:_0x366495}=_0x2292ed,_0x47697f=_0x222ff5+':'+_0x501589+':'+_0x4a96d7,_0x1acf8a=_0xeaa0ac['get'](_0x47697f),_0x4dda98=_0x452f78[_0x5dd0ee];if((_0x545cd1[_0x591c44(0xb0)](_0x4dda98,null)||_0x4dda98===undefined||_0x4dda98==='')&&!_0x366495){_0x2966a9[_0x6f2141]=null;continue;}const _0x477e7a=this[_0x591c44(0xca)](_0x4dda98,_0x1acf8a);_0x545cd1['VCyLu'](_0x477e7a,null)?_0x2966a9[_0x6f2141]=_0x477e7a:(_0x366495&&_0x28508b[_0x591c44(0xbb)]({'rowIndex':_0x488c32,'field':_0x5dd0ee,'value':_0x4dda98,'targetField':_0x6f2141,'lookupTable':_0x222ff5,'message':'Value\x20\x22'+_0x4dda98+_0x591c44(0xb5)+_0x222ff5}),_0x2966a9[_0x6f2141]=null);}return _0x2966a9;});return logger['info']({'event':'lookup_fields_processed','totalRows':_0x588025['length'],'errorCount':_0x28508b[_0x47c10c(0xa6)],'lookupFieldCount':Object[_0x47c10c(0xcc)](_0x1d7433)[_0x47c10c(0xa6)]},_0x545cd1[_0x47c10c(0xbe)]),{'processedRows':_0x311a36,'errors':_0x28508b};}['getDistinctValues'](_0x5e8e4e,_0xa0c9c5){const _0x29ebda=a0_0x238db6,_0x226a93={'ehfjy':function(_0x395e2c,_0x41c7a5){return _0x395e2c!==_0x41c7a5;},'FPzgz':function(_0x4fa16a,_0x49c4b0){return _0x4fa16a(_0x49c4b0);}},_0x3bf3ed=new Set();return _0x5e8e4e[_0x29ebda(0xad)](_0x96f62b=>{const _0x456e0d=_0x29ebda,_0x56248a=_0x96f62b[_0xa0c9c5];_0x226a93['ehfjy'](_0x56248a,null)&&_0x56248a!==undefined&&_0x56248a!==''&&_0x3bf3ed['add'](_0x226a93[_0x456e0d(0xd2)](String,_0x56248a)['trim']());}),Array['from'](_0x3bf3ed);}async[a0_0x238db6(0xc3)](_0x1967e9,_0x1d0802){const _0x572bb4=a0_0x238db6,_0x4b789f={'nuTHy':function(_0x64864d,_0x32134d){return _0x64864d>_0x32134d;}};if(!_0x1d0802||Object[_0x572bb4(0xcc)](_0x1d0802)[_0x572bb4(0xa6)]===0x0)return{'valid':!![],'errors':[],'suggestions':{}};const _0x28518e=[],_0x2e864b={};for(const [_0x5020a1,_0x2307fc]of Object[_0x572bb4(0xc2)](_0x1d0802)){const {lookupTable:_0x274fb7,lookupColumn:_0x599bb4,lookupIdColumn:_0x1dd3f0,required:_0x5cff48}=_0x2307fc,_0x4f89a4=this['getDistinctValues'](_0x1967e9,_0x5020a1),_0x568800=await this['loadLookupTable'](_0x274fb7,_0x599bb4,_0x1dd3f0),_0x843cef=[],_0x380f13=[];_0x4f89a4[_0x572bb4(0xad)](_0x4271f4=>{const _0x395ed7=_0x572bb4,_0xa8fc97=this[_0x395ed7(0xca)](_0x4271f4,_0x568800);_0xa8fc97!==null?_0x380f13['push'](_0x4271f4):_0x843cef['push'](_0x4271f4);});if(_0x4b789f[_0x572bb4(0xc5)](_0x843cef[_0x572bb4(0xa6)],0x0)&&_0x5cff48){_0x28518e['push']({'field':_0x5020a1,'lookupTable':_0x274fb7,'invalidValues':_0x843cef,'message':_0x843cef[_0x572bb4(0xa6)]+'\x20value(s)\x20not\x20found\x20in\x20'+_0x274fb7});const _0x2fd73f=[];_0x568800['forEach']((_0x56d78a,_0x1804a4)=>{const _0x5e6104=_0x572bb4;if(_0x1804a4===_0x1804a4[_0x5e6104(0xc7)]())return;_0x2fd73f[_0x5e6104(0xbb)](_0x1804a4);}),_0x2e864b[_0x5020a1]={'invalidValues':_0x843cef,'availableValues':_0x2fd73f['slice'](0x0,0x32)};}}return{'valid':_0x28518e['length']===0x0,'errors':_0x28518e,'suggestions':_0x2e864b};}}module[a0_0x238db6(0xcb)]=new LookupResolver();
1
+ const a0_0xa08675=a0_0xee5e;function a0_0x5725(){const _0x69ff4d=['Bg9VA3vWq2fJAgu','zxHLy3v0zvf1zxj5','u0vmrunuia','CMHXvhC','z2v0rgLZDgLUy3rwywX1zxm','Bg9HzeXVB2T1CfrHyMXL','Aw5MBW','zM9YrwfJAa','ALnosu0','Cg9ZDgDYzxnXBa','odu0nwz0A0PwBq','zxjYB3i','ChvZAa','BxLZCwW','zLfUBK0','zxHWB3j0CW','BwvZC2fNzq','B3jHy2XL','zw50CMLLCW','ndC5nhvlug9kAq','DMfSAwrHDgvmB29RDxbwywX1zxm','oe1Yu2zPtq','Bg9VA3vWx2zPzwXKC19WCM9JzxnZzwq','tg9VA3vWihrHyMXLigXVywrLzdOG','zw52','vgvLC0O','lI9KyI1TExnXBa','CMvZB2X2zuXVB2T1CfzHBhvL','A2v5CW','z2v0','rejFvfLqrq','rwjwCNa','uwDJtfq','zNjVBq','zgvIDwC','DhjPBq','y2XLyxi','mJuYnJu3EvLQsgjh','tg9VA3vWignHy2HLignSzwfYzwq','BgvUz3rO','nJqZmJrArwnPAeK','mJu1B0TVAhvb','AgfZ','C2v0','mtuZmJq4m0LJtxz3yG','ntGWotm2t09QzKHq','Dg9mB3DLCKnHC2u','odKYmdC3oxzvy2fdvG','BLrdz0K','D014uhi','nZy3ndKXmffTBhj5sq'];a0_0x5725=function(){return _0x69ff4d;};return a0_0x5725();}(function(_0x48ec02,_0x167452){const _0x55ce99=a0_0xee5e,_0x787ac9=_0x48ec02();while(!![]){try{const _0x4f6aa1=-parseInt(_0x55ce99(0x99))/0x1+parseInt(_0x55ce99(0x9a))/0x2+-parseInt(_0x55ce99(0x96))/0x3*(-parseInt(_0x55ce99(0x95))/0x4)+-parseInt(_0x55ce99(0xaa))/0x5*(parseInt(_0x55ce99(0xb3))/0x6)+-parseInt(_0x55ce99(0x9c))/0x7*(-parseInt(_0x55ce99(0xb5))/0x8)+-parseInt(_0x55ce99(0x92))/0x9+parseInt(_0x55ce99(0x9f))/0xa;if(_0x4f6aa1===_0x167452)break;else _0x787ac9['push'](_0x787ac9['shift']());}catch(_0x50641a){_0x787ac9['push'](_0x787ac9['shift']());}}}(a0_0x5725,0xbcc4a));function a0_0xee5e(_0x4ac28a,_0xf5cd3a){_0x4ac28a=_0x4ac28a-0x8e;const _0x5725cb=a0_0x5725();let _0xee5e24=_0x5725cb[_0x4ac28a];if(a0_0xee5e['mOUMNx']===undefined){var _0xa81799=function(_0x91d45f){const _0x4dba08='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4b1f38='',_0x484bb8='';for(let _0x5a87be=0x0,_0x5f3ec1,_0xeb55d2,_0x1a9c0f=0x0;_0xeb55d2=_0x91d45f['charAt'](_0x1a9c0f++);~_0xeb55d2&&(_0x5f3ec1=_0x5a87be%0x4?_0x5f3ec1*0x40+_0xeb55d2:_0xeb55d2,_0x5a87be++%0x4)?_0x4b1f38+=String['fromCharCode'](0xff&_0x5f3ec1>>(-0x2*_0x5a87be&0x6)):0x0){_0xeb55d2=_0x4dba08['indexOf'](_0xeb55d2);}for(let _0x46def6=0x0,_0x1e20fb=_0x4b1f38['length'];_0x46def6<_0x1e20fb;_0x46def6++){_0x484bb8+='%'+('00'+_0x4b1f38['charCodeAt'](_0x46def6)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x484bb8);};a0_0xee5e['uknBTI']=_0xa81799,a0_0xee5e['bpmjaP']={},a0_0xee5e['mOUMNx']=!![];}const _0x17f2ad=_0x5725cb[0x0],_0x4157b5=_0x4ac28a+_0x17f2ad,_0x4650dd=a0_0xee5e['bpmjaP'][_0x4157b5];return!_0x4650dd?(_0xee5e24=a0_0xee5e['uknBTI'](_0xee5e24),a0_0xee5e['bpmjaP'][_0x4157b5]=_0xee5e24):_0xee5e24=_0x4650dd,_0xee5e24;}const dbType=(process[a0_0xa08675(0xb8)][a0_0xa08675(0xbe)]||a0_0xa08675(0xa9))[a0_0xa08675(0x9b)]();let executeQuery;if(dbType===a0_0xa08675(0xb1)){const oracleDb=require('./db-oracle');executeQuery=(_0x2d4e9f,_0x682dab)=>oracleDb['executeQuery'](_0x2d4e9f,_0x682dab);}else{if(dbType===a0_0xa08675(0xad)){const mysqlDb=require(a0_0xa08675(0xba));executeQuery=(_0x34da95,_0x418023)=>mysqlDb['executeQuery'](_0x34da95,_0x418023);}else executeQuery=require('./db')[a0_0xa08675(0xa1)];}const {logger}=require('./logger');class LookupResolver{constructor(){this['lookupCache']=new Map();}['clearCache'](){const _0x386c9d=a0_0xa08675,_0x4ba11b={'wMxPr':_0x386c9d(0x93)};this[_0x386c9d(0xa0)][_0x386c9d(0x91)](),logger[_0x386c9d(0x8f)]({'event':'lookup_cache_cleared'},_0x4ba11b[_0x386c9d(0x9e)]);}async['loadLookupTable'](_0x554af4,_0x9c0a64,_0x4ad35e){const _0x27c726=a0_0xa08675,_0x3c7974={'HKGzC':function(_0x440f49,_0x518164){return _0x440f49!==_0x518164;},'jSNIM':function(_0x535eea,_0x2fee40){return _0x535eea!==_0x2fee40;},'Pmixv':function(_0x11cfff,_0x596e39){return _0x11cfff(_0x596e39);}},_0xe57134=_0x554af4+':'+_0x9c0a64+':'+_0x4ad35e;if(this[_0x27c726(0xa0)][_0x27c726(0x97)](_0xe57134))return this['lookupCache']['get'](_0xe57134);try{const _0x35d646=_0x27c726(0xa2)+_0x4ad35e+',\x20'+_0x9c0a64+'\x20FROM\x20'+_0x554af4,_0x56cbc2=await _0x3c7974['Pmixv'](executeQuery,_0x35d646),_0x27c692=new Map();return _0x56cbc2['forEach'](_0x3baab3=>{const _0x4586e9=_0x27c726,_0x29c9ba=_0x3baab3[_0x9c0a64]!==undefined?_0x3baab3[_0x9c0a64]:_0x3baab3[_0x9c0a64['toUpperCase']()],_0x13e89f=_0x3baab3[_0x4ad35e]!==undefined?_0x3baab3[_0x4ad35e]:_0x3baab3[_0x4ad35e['toUpperCase']()];_0x3c7974['HKGzC'](_0x29c9ba,null)&&_0x3c7974[_0x4586e9(0xa8)](_0x29c9ba,undefined)&&(_0x27c692[_0x4586e9(0x98)](String(_0x29c9ba)['toLowerCase']()['trim'](),_0x13e89f),_0x27c692['set'](String(_0x29c9ba)['trim'](),_0x13e89f));}),this[_0x27c726(0xa0)][_0x27c726(0x98)](_0xe57134,_0x27c692),logger[_0x27c726(0xa6)]({'event':'lookup_table_loaded','table':_0x554af4,'column':_0x9c0a64,'count':_0x56cbc2['length']},_0x27c726(0xb7)+_0x554af4),_0x27c692;}catch(_0x255f9e){logger[_0x27c726(0xab)]({'event':'lookup_table_load_error','table':_0x554af4,'error':_0x255f9e[_0x27c726(0xb0)]},'Failed\x20to\x20load\x20lookup\x20table:\x20'+_0x554af4);throw _0x255f9e;}}['resolveLookupValue'](_0x554266,_0x360992){const _0xa981b8=a0_0xa08675,_0x24b0e4={'rhqTw':function(_0x151385,_0x146fee){return _0x151385===_0x146fee;},'QgcLT':function(_0x45aa6d,_0x17d690){return _0x45aa6d(_0x17d690);}};if(_0x554266===null||_0x24b0e4[_0xa981b8(0xa3)](_0x554266,undefined)||_0x24b0e4[_0xa981b8(0xa3)](_0x554266,''))return null;const _0x2ae307=_0x24b0e4[_0xa981b8(0xc0)](String,_0x554266)[_0xa981b8(0x90)]();if(_0x360992['has'](_0x2ae307))return _0x360992['get'](_0x2ae307);const _0xb94099=_0x2ae307['toLowerCase']();if(_0x360992[_0xa981b8(0x97)](_0xb94099))return _0x360992[_0xa981b8(0xbd)](_0xb94099);return null;}async['processLookupFields'](_0x2cc96a,_0x1b6d7e){const _0x1175d7=a0_0xa08675,_0x3759fa={'nTCgI':function(_0x45640c,_0x896d22){return _0x45640c===_0x896d22;},'DksYj':function(_0x28f409,_0x5e6aaf){return _0x28f409===_0x5e6aaf;},'EbVrp':function(_0x2f91c0,_0x18935c){return _0x2f91c0!==_0x18935c;},'tphgf':'Lookup\x20fields\x20processed'};if(!_0x1b6d7e||Object['keys'](_0x1b6d7e)['length']===0x0)return{'processedRows':_0x2cc96a,'errors':[]};const _0x33b6ea=[],_0x50a53e=new Map();for(const [_0x4aab26,_0x55abe8]of Object[_0x1175d7(0xb2)](_0x1b6d7e)){const {lookupTable:_0x55e1a9,lookupColumn:_0x95c821,lookupIdColumn:_0x24cf6a}=_0x55abe8,_0x32e9c3=_0x55e1a9+':'+_0x95c821+':'+_0x24cf6a;if(!_0x50a53e[_0x1175d7(0x97)](_0x32e9c3)){const _0x4bc62c=await this[_0x1175d7(0xa5)](_0x55e1a9,_0x95c821,_0x24cf6a);_0x50a53e['set'](_0x32e9c3,_0x4bc62c);}}const _0x32573a=_0x2cc96a['map']((_0x4091f1,_0x5a3d50)=>{const _0x332700=_0x1175d7,_0x1f7977={..._0x4091f1};for(const [_0x1a39ae,_0x11a742]of Object['entries'](_0x1b6d7e)){const {lookupTable:_0x245fb8,lookupColumn:_0x7b72a4,lookupIdColumn:_0xcde834,targetField:_0x56cad8,required:_0x497b9d}=_0x11a742,_0x5472cf=_0x245fb8+':'+_0x7b72a4+':'+_0xcde834,_0x49e417=_0x50a53e[_0x332700(0xbd)](_0x5472cf),_0x5d8d7b=_0x4091f1[_0x1a39ae];if((_0x3759fa[_0x332700(0x9d)](_0x5d8d7b,null)||_0x3759fa['DksYj'](_0x5d8d7b,undefined)||_0x5d8d7b==='')&&!_0x497b9d){_0x1f7977[_0x56cad8]=null;continue;}const _0xc8fb43=this['resolveLookupValue'](_0x5d8d7b,_0x49e417);_0x3759fa[_0x332700(0xbf)](_0xc8fb43,null)?_0x1f7977[_0x56cad8]=_0xc8fb43:(_0x497b9d&&_0x33b6ea[_0x332700(0xac)]({'rowIndex':_0x5a3d50,'field':_0x1a39ae,'value':_0x5d8d7b,'targetField':_0x56cad8,'lookupTable':_0x245fb8,'message':'Value\x20\x22'+_0x5d8d7b+'\x22\x20not\x20found\x20in\x20'+_0x245fb8}),_0x1f7977[_0x56cad8]=null);}return _0x1f7977;});return logger[_0x1175d7(0xa6)]({'event':_0x1175d7(0xb6),'totalRows':_0x2cc96a[_0x1175d7(0x94)],'errorCount':_0x33b6ea['length'],'lookupFieldCount':Object['keys'](_0x1b6d7e)['length']},_0x3759fa['tphgf']),{'processedRows':_0x32573a,'errors':_0x33b6ea};}['getDistinctValues'](_0x2d0517,_0x3e5786){const _0x4145ac=a0_0xa08675,_0x476651={'eUfgH':function(_0x4ff559,_0x454859){return _0x4ff559!==_0x454859;}},_0x2e5159=new Set();return _0x2d0517['forEach'](_0x223b27=>{const _0x347a8d=a0_0xee5e,_0x72463b=_0x223b27[_0x3e5786];_0x72463b!==null&&_0x72463b!==undefined&&_0x476651['eUfgH'](_0x72463b,'')&&_0x2e5159['add'](String(_0x72463b)[_0x347a8d(0x90)]());}),Array[_0x4145ac(0x8e)](_0x2e5159);}async[a0_0xa08675(0xb4)](_0x41dc06,_0x2590ff){const _0x2b4c53=a0_0xa08675,_0x5af785={'TeesJ':function(_0x1aa64b,_0x337c80){return _0x1aa64b===_0x337c80;},'fQnnM':function(_0x1333b8,_0x37038c){return _0x1333b8>_0x37038c;}};if(!_0x2590ff||Object[_0x2b4c53(0xbc)](_0x2590ff)[_0x2b4c53(0x94)]===0x0)return{'valid':!![],'errors':[],'suggestions':{}};const _0x3e3572=[],_0xa75156={};for(const [_0x12e0b2,_0x38133d]of Object[_0x2b4c53(0xb2)](_0x2590ff)){const {lookupTable:_0x56862b,lookupColumn:_0x293951,lookupIdColumn:_0x4fb97f,required:_0x214d08}=_0x38133d,_0x502903=this[_0x2b4c53(0xa4)](_0x41dc06,_0x12e0b2),_0x3a5e8b=await this['loadLookupTable'](_0x56862b,_0x293951,_0x4fb97f),_0x59fd0b=[],_0x332847=[];_0x502903[_0x2b4c53(0xa7)](_0x4a8d50=>{const _0x197641=_0x2b4c53,_0x393b15=this[_0x197641(0xbb)](_0x4a8d50,_0x3a5e8b);_0x393b15!==null?_0x332847['push'](_0x4a8d50):_0x59fd0b[_0x197641(0xac)](_0x4a8d50);});if(_0x5af785[_0x2b4c53(0xae)](_0x59fd0b[_0x2b4c53(0x94)],0x0)&&_0x214d08){_0x3e3572[_0x2b4c53(0xac)]({'field':_0x12e0b2,'lookupTable':_0x56862b,'invalidValues':_0x59fd0b,'message':_0x59fd0b[_0x2b4c53(0x94)]+'\x20value(s)\x20not\x20found\x20in\x20'+_0x56862b});const _0x32dcdb=[];_0x3a5e8b[_0x2b4c53(0xa7)]((_0x28284f,_0x58100a)=>{const _0xdc6241=_0x2b4c53;if(_0x5af785[_0xdc6241(0xb9)](_0x58100a,_0x58100a[_0xdc6241(0x9b)]()))return;_0x32dcdb[_0xdc6241(0xac)](_0x58100a);}),_0xa75156[_0x12e0b2]={'invalidValues':_0x59fd0b,'availableValues':_0x32dcdb['slice'](0x0,0x32)};}}return{'valid':_0x5af785['TeesJ'](_0x3e3572['length'],0x0),'errors':_0x3e3572,'suggestions':_0xa75156};}}module[a0_0xa08675(0xaf)]=new LookupResolver();
@@ -1 +1 @@
1
- function a0_0x81ef(_0x15474a,_0x1d9a4a){_0x15474a=_0x15474a-0x129;const _0x5a915b=a0_0x5a91();let _0x81efb6=_0x5a915b[_0x15474a];if(a0_0x81ef['vinwLT']===undefined){var _0x13f193=function(_0x2b9ef9){const _0x14b1b3='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5cf0ad='',_0x448b52='';for(let _0x160165=0x0,_0x443393,_0x1cbf2d,_0x461b90=0x0;_0x1cbf2d=_0x2b9ef9['charAt'](_0x461b90++);~_0x1cbf2d&&(_0x443393=_0x160165%0x4?_0x443393*0x40+_0x1cbf2d:_0x1cbf2d,_0x160165++%0x4)?_0x5cf0ad+=String['fromCharCode'](0xff&_0x443393>>(-0x2*_0x160165&0x6)):0x0){_0x1cbf2d=_0x14b1b3['indexOf'](_0x1cbf2d);}for(let _0x4ad898=0x0,_0x4d2905=_0x5cf0ad['length'];_0x4ad898<_0x4d2905;_0x4ad898++){_0x448b52+='%'+('00'+_0x5cf0ad['charCodeAt'](_0x4ad898)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x448b52);};a0_0x81ef['FdKUwR']=_0x13f193,a0_0x81ef['JhsrWK']={},a0_0x81ef['vinwLT']=!![];}const _0x4136a6=_0x5a915b[0x0],_0x4af1d5=_0x15474a+_0x4136a6,_0x5e35b2=a0_0x81ef['JhsrWK'][_0x4af1d5];return!_0x5e35b2?(_0x81efb6=a0_0x81ef['FdKUwR'](_0x81efb6),a0_0x81ef['JhsrWK'][_0x4af1d5]=_0x81efb6):_0x81efb6=_0x5e35b2,_0x81efb6;}const a0_0x5623ba=a0_0x81ef;(function(_0x3c6077,_0x2996b0){const _0x1b180f=a0_0x81ef,_0x46375a=_0x3c6077();while(!![]){try{const _0xad6366=-parseInt(_0x1b180f(0x145))/0x1*(-parseInt(_0x1b180f(0x12e))/0x2)+-parseInt(_0x1b180f(0x141))/0x3*(-parseInt(_0x1b180f(0x14e))/0x4)+parseInt(_0x1b180f(0x14a))/0x5+parseInt(_0x1b180f(0x12b))/0x6*(-parseInt(_0x1b180f(0x12d))/0x7)+-parseInt(_0x1b180f(0x12f))/0x8+-parseInt(_0x1b180f(0x132))/0x9+-parseInt(_0x1b180f(0x140))/0xa*(-parseInt(_0x1b180f(0x13f))/0xb);if(_0xad6366===_0x2996b0)break;else _0x46375a['push'](_0x46375a['shift']());}catch(_0x16b5e3){_0x46375a['push'](_0x46375a['shift']());}}}(a0_0x5a91,0x454c7));const fs=require('fs')[a0_0x5623ba(0x149)],path=require('path'),{logger}=require(a0_0x5623ba(0x12c));class PayloadLoader{constructor(){const _0x1eb86c=a0_0x5623ba;this['payloadDir']=path['join'](__dirname,_0x1eb86c(0x138)),this['cache']=new Map();}async['loadPayload'](_0x4e7311,_0x4dac8b){const _0x20ee6c=a0_0x5623ba,_0x4dc70f={'AASWZ':_0x20ee6c(0x13d),'TDIPH':'payload_load_error'},_0x2e646d=_0x4e7311+':'+_0x4dac8b;if(this[_0x20ee6c(0x130)]['has'](_0x2e646d))return this['cache'][_0x20ee6c(0x146)](_0x2e646d);const _0x1885a7=path[_0x20ee6c(0x135)](this['payloadDir'],_0x4e7311+'_'+_0x4dac8b+'.json');try{const _0x1b5cd4=await fs['readFile'](_0x1885a7,_0x20ee6c(0x144)),_0x2b321d=JSON[_0x20ee6c(0x142)](_0x1b5cd4);return this[_0x20ee6c(0x130)][_0x20ee6c(0x131)](_0x2e646d,_0x2b321d),logger['debug']({'event':_0x20ee6c(0x14b),'project':_0x4e7311,'resource':_0x4dac8b},_0x4dc70f['AASWZ']),_0x2b321d;}catch(_0x49b4c8){logger[_0x20ee6c(0x14f)]({'event':_0x4dc70f[_0x20ee6c(0x151)],'project':_0x4e7311,'resource':_0x4dac8b,'error':_0x49b4c8[_0x20ee6c(0x14c)]},_0x20ee6c(0x14d));throw new Error(_0x20ee6c(0x13e)+_0x4e7311+'_'+_0x4dac8b);}}async[a0_0x5623ba(0x134)](_0x324e3e){const _0x2a17dd=a0_0x5623ba,_0x2fcc25={'rkzjP':'utf8','rhLSz':_0x2a17dd(0x13b)},_0x167f4c=_0x2a17dd(0x147)+_0x324e3e;if(this['cache']['has'](_0x167f4c))return this['cache'][_0x2a17dd(0x146)](_0x167f4c);const _0x281248=path['join'](this['payloadDir'],_0x324e3e+'.json');try{const _0x3267e7=await fs[_0x2a17dd(0x13c)](_0x281248,_0x2fcc25[_0x2a17dd(0x139)]),_0x242bf7=JSON['parse'](_0x3267e7);return this[_0x2a17dd(0x130)]['set'](_0x167f4c,_0x242bf7),logger[_0x2a17dd(0x129)]({'event':'payload_loaded','payloadName':_0x324e3e},_0x2fcc25[_0x2a17dd(0x133)]),_0x242bf7;}catch(_0x59c0ac){logger['error']({'event':'payload_load_error','payloadName':_0x324e3e,'error':_0x59c0ac[_0x2a17dd(0x14c)]},'Failed\x20to\x20load\x20payload\x20by\x20name');throw new Error(_0x2a17dd(0x13e)+_0x324e3e);}}['isActionEnabled'](_0x953ffb,_0x5be52d){const _0x2f25f9=a0_0x5623ba,_0x5d86dd={'hhjRH':function(_0x1fe730,_0x588f97){return _0x1fe730===_0x588f97;}};return _0x953ffb['action']&&_0x5d86dd[_0x2f25f9(0x143)](_0x953ffb[_0x2f25f9(0x136)][_0x5be52d],!![]);}['getExportConfig'](_0x2b8ed6){const _0x4ed091=a0_0x5623ba;return{'columns':_0x2b8ed6['fieldName']||[],'filename':_0x2b8ed6['tableName']['replace']('.','-')+'-export','datatablesQuery':_0x2b8ed6['datatablesQuery']||null,'columnFormats':_0x2b8ed6[_0x4ed091(0x148)]||null,'fieldLabels':_0x2b8ed6['fieldLabels']||null};}[a0_0x5623ba(0x137)](){const _0x587a37=a0_0x5623ba,_0x8797af={'FIUiN':_0x587a37(0x12a)};this[_0x587a37(0x130)]['clear'](),logger[_0x587a37(0x150)]({'event':_0x587a37(0x13a)},_0x8797af['FIUiN']);}}function a0_0x5a91(){const _0x796599=['lI4VlI4VCgf5Bg9Hza','CMT6ALa','Cgf5Bg9Hzf9JywnOzv9JBgvHCMvK','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5igj5ig5HBwu','CMvHzezPBgu','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5','ugf5Bg9HzcbUB3qGzM91BMq6ia','mJCZoxbVq3nODa','mJiXotbOqNjprLu','nZvyuxv0DuO','CgfYC2u','AgHQuKG','DxrMoa','mtq4mdm2De1OB2zU','z2v0','Cgf5Bg9HzdO','y29SDw1UrM9YBwf0CW','ChjVBwLZzxm','nZy4ntiWELvetgXu','Cgf5Bg9Hzf9SB2fKzwq','BwvZC2fNzq','rMfPBgvKihrVigXVywqGCgf5Bg9Hza','mZy5mK5sv0Dfzq','zxjYB3i','Aw5MBW','verjueG','zgvIDwC','ugf5Bg9HzcbJywnOzsbJBgvHCMvK','nde0mJGYENfSB0rs','lI9SB2DNzxi','ndL3wKvlt0O','nMTArgDcvq','mtaXotuWneDrtKDZyW','y2fJAgu','C2v0','mJuWotiZnMjdDvznyq','CMHmu3O','Bg9HzfbHEwXVywrcEu5HBwu','AM9PBG','ywn0Aw9U','y2XLyxjdywnOzq'];a0_0x5a91=function(){return _0x796599;};return a0_0x5a91();}module['exports']=new PayloadLoader();
1
+ const a0_0x10a491=a0_0x34a3;(function(_0x5122d7,_0x3fdde9){const _0x3f1d65=a0_0x34a3,_0x3b7a38=_0x5122d7();while(!![]){try{const _0x7202be=-parseInt(_0x3f1d65(0x1c1))/0x1+parseInt(_0x3f1d65(0x1c5))/0x2*(-parseInt(_0x3f1d65(0x1e6))/0x3)+-parseInt(_0x3f1d65(0x1df))/0x4*(parseInt(_0x3f1d65(0x1e7))/0x5)+-parseInt(_0x3f1d65(0x1d5))/0x6*(-parseInt(_0x3f1d65(0x1c9))/0x7)+parseInt(_0x3f1d65(0x1d0))/0x8+parseInt(_0x3f1d65(0x1cc))/0x9+-parseInt(_0x3f1d65(0x1de))/0xa*(-parseInt(_0x3f1d65(0x1d2))/0xb);if(_0x7202be===_0x3fdde9)break;else _0x3b7a38['push'](_0x3b7a38['shift']());}catch(_0x383478){_0x3b7a38['push'](_0x3b7a38['shift']());}}}(a0_0x1298,0x273e6));const fs=require('fs')['promises'],path=require(a0_0x10a491(0x1c6)),{logger}=require('./logger');function a0_0x34a3(_0x35372a,_0x2ee36a){_0x35372a=_0x35372a-0x1c0;const _0x129895=a0_0x1298();let _0x34a322=_0x129895[_0x35372a];if(a0_0x34a3['AybcfK']===undefined){var _0x653f5a=function(_0x49d492){const _0x75813c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3a07cf='',_0x380dbd='';for(let _0x2c7bf0=0x0,_0x1f5cd2,_0x150010,_0x3cc846=0x0;_0x150010=_0x49d492['charAt'](_0x3cc846++);~_0x150010&&(_0x1f5cd2=_0x2c7bf0%0x4?_0x1f5cd2*0x40+_0x150010:_0x150010,_0x2c7bf0++%0x4)?_0x3a07cf+=String['fromCharCode'](0xff&_0x1f5cd2>>(-0x2*_0x2c7bf0&0x6)):0x0){_0x150010=_0x75813c['indexOf'](_0x150010);}for(let _0x28332a=0x0,_0x2e883e=_0x3a07cf['length'];_0x28332a<_0x2e883e;_0x28332a++){_0x380dbd+='%'+('00'+_0x3a07cf['charCodeAt'](_0x28332a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x380dbd);};a0_0x34a3['EElmoR']=_0x653f5a,a0_0x34a3['nqGgzW']={},a0_0x34a3['AybcfK']=!![];}const _0x52ecca=_0x129895[0x0],_0x55ff4d=_0x35372a+_0x52ecca,_0xf96637=a0_0x34a3['nqGgzW'][_0x55ff4d];return!_0xf96637?(_0x34a322=a0_0x34a3['EElmoR'](_0x34a322),a0_0x34a3['nqGgzW'][_0x55ff4d]=_0x34a322):_0x34a322=_0xf96637,_0x34a322;}class PayloadLoader{constructor(){const _0x1b1df6=a0_0x10a491;this[_0x1b1df6(0x1d6)]=path['join'](__dirname,_0x1b1df6(0x1c4)),this['cache']=new Map();}async[a0_0x10a491(0x1c2)](_0x423792,_0x53c9ec){const _0x5c89cd=a0_0x10a491,_0x5c080e={'lieYw':'utf8','hhxka':_0x5c89cd(0x1d4)},_0x1494e4=_0x423792+':'+_0x53c9ec;if(this[_0x5c89cd(0x1cd)][_0x5c89cd(0x1e1)](_0x1494e4))return this['cache']['get'](_0x1494e4);const _0xb3d599=path[_0x5c89cd(0x1e2)](this[_0x5c89cd(0x1d6)],_0x423792+'_'+_0x53c9ec+'.json');try{const _0x1f9e1b=await fs[_0x5c89cd(0x1c3)](_0xb3d599,_0x5c080e['lieYw']),_0xade531=JSON[_0x5c89cd(0x1d7)](_0x1f9e1b);return this['cache']['set'](_0x1494e4,_0xade531),logger['debug']({'event':'payload_loaded','project':_0x423792,'resource':_0x53c9ec},'Payload\x20loaded\x20successfully'),_0xade531;}catch(_0xff13b){logger['error']({'event':_0x5c080e[_0x5c89cd(0x1cb)],'project':_0x423792,'resource':_0x53c9ec,'error':_0xff13b[_0x5c89cd(0x1e4)]},'Failed\x20to\x20load\x20payload');throw new Error('Payload\x20not\x20found:\x20'+_0x423792+'_'+_0x53c9ec);}}async[a0_0x10a491(0x1ce)](_0x32aa20){const _0x27d16d=a0_0x10a491,_0x4fcd93={'dZmne':'Failed\x20to\x20load\x20payload\x20by\x20name'},_0x1599ab=_0x27d16d(0x1dc)+_0x32aa20;if(this['cache'][_0x27d16d(0x1e1)](_0x1599ab))return this[_0x27d16d(0x1cd)]['get'](_0x1599ab);const _0x508f3c=path[_0x27d16d(0x1e2)](this['payloadDir'],_0x32aa20+_0x27d16d(0x1d3));try{const _0xaadbfd=await fs[_0x27d16d(0x1c3)](_0x508f3c,'utf8'),_0x4369e9=JSON[_0x27d16d(0x1d7)](_0xaadbfd);return this['cache']['set'](_0x1599ab,_0x4369e9),logger['debug']({'event':'payload_loaded','payloadName':_0x32aa20},_0x27d16d(0x1d8)),_0x4369e9;}catch(_0x2ca8d4){logger[_0x27d16d(0x1d9)]({'event':_0x27d16d(0x1d4),'payloadName':_0x32aa20,'error':_0x2ca8d4[_0x27d16d(0x1e4)]},_0x4fcd93[_0x27d16d(0x1dd)]);throw new Error('Payload\x20not\x20found:\x20'+_0x32aa20);}}[a0_0x10a491(0x1ca)](_0x449cfc,_0x59d3c3){const _0x147ebf=a0_0x10a491;return _0x449cfc[_0x147ebf(0x1d1)]&&_0x449cfc[_0x147ebf(0x1d1)][_0x59d3c3]===!![];}['getExportConfig'](_0x1ea49f){const _0x1374c6=a0_0x10a491;return{'columns':_0x1ea49f[_0x1374c6(0x1e5)]||[],'filename':_0x1ea49f[_0x1374c6(0x1e0)]['replace']('.','-')+'-export','datatablesQuery':_0x1ea49f[_0x1374c6(0x1cf)]||null,'columnFormats':_0x1ea49f[_0x1374c6(0x1c7)]||null,'fieldLabels':_0x1ea49f['fieldLabels']||null};}[a0_0x10a491(0x1c0)](){const _0x55af65=a0_0x10a491,_0x7e0bbd={'BiPPF':_0x55af65(0x1c8)};this['cache'][_0x55af65(0x1e3)](),logger[_0x55af65(0x1db)]({'event':'payload_cache_cleared'},_0x7e0bbd[_0x55af65(0x1da)]);}}function a0_0x1298(){const _0x1cc2b0=['mJm5mfrpANPvCq','y2XLyxjdywnOzq','mtu2nZu0CxL1svjh','Bg9HzfbHEwXVywq','CMvHzezPBgu','lI4VlI4VCgf5Bg9Hza','mJaXodbsDMnNuhi','Cgf0Aa','y29SDw1UrM9YBwf0CW','ugf5Bg9HzcbJywnOzsbJBgvHCMvK','mJG0owrNyM1Uza','Axnby3rPB25fBMfIBgvK','AgH4A2e','mti4mZuYnMz0DuLUDG','y2fJAgu','Bg9HzfbHEwXVywrcEu5HBwu','zgf0yxrHyMXLC1f1zxj5','oty0odG4vvnkEufP','ywn0Aw9U','mZe4mJaZnMnItNH0sG','lMPZB24','Cgf5Bg9Hzf9SB2fKx2vYCM9Y','mJKYmK9pAMTeBa','Cgf5Bg9HzerPCG','CgfYC2u','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5igj5ig5HBwu','zxjYB3i','qMLquey','Aw5MBW','Cgf5Bg9HzdO','zfPTBMu','mtblD0zUBu4','mJyXmNvHCxjYvq','DgfIBgvoyw1L','AgfZ','AM9PBG','y2XLyxi','BwvZC2fNzq','zMLLBgroyw1L','mZzMEg1hCey'];a0_0x1298=function(){return _0x1cc2b0;};return a0_0x1298();}module['exports']=new PayloadLoader();
@@ -1 +1 @@
1
- 'use strict';var a0_0x5d9d9e=a0_0x41f2;function a0_0x41f2(_0x433a2a,_0x9989a2){_0x433a2a=_0x433a2a-0x1ed;var _0x57d8b3=a0_0x57d8();var _0x41f2bd=_0x57d8b3[_0x433a2a];if(a0_0x41f2['vTamgd']===undefined){var _0x32693c=function(_0x3e2f00){var _0x211aaf='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x17af3e='',_0x52fc96='';for(var _0x304d4d=0x0,_0x4a8758,_0x506350,_0x3d036a=0x0;_0x506350=_0x3e2f00['charAt'](_0x3d036a++);~_0x506350&&(_0x4a8758=_0x304d4d%0x4?_0x4a8758*0x40+_0x506350:_0x506350,_0x304d4d++%0x4)?_0x17af3e+=String['fromCharCode'](0xff&_0x4a8758>>(-0x2*_0x304d4d&0x6)):0x0){_0x506350=_0x211aaf['indexOf'](_0x506350);}for(var _0x68b133=0x0,_0xf521a4=_0x17af3e['length'];_0x68b133<_0xf521a4;_0x68b133++){_0x52fc96+='%'+('00'+_0x17af3e['charCodeAt'](_0x68b133)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x52fc96);};a0_0x41f2['lOGZTd']=_0x32693c,a0_0x41f2['fUNAds']={},a0_0x41f2['vTamgd']=!![];}var _0x4ee7d4=_0x57d8b3[0x0],_0xdabc8b=_0x433a2a+_0x4ee7d4,_0x3acd61=a0_0x41f2['fUNAds'][_0xdabc8b];return!_0x3acd61?(_0x41f2bd=a0_0x41f2['lOGZTd'](_0x41f2bd),a0_0x41f2['fUNAds'][_0xdabc8b]=_0x41f2bd):_0x41f2bd=_0x3acd61,_0x41f2bd;}(function(_0x452e8c,_0x4069ed){var _0x58971f=a0_0x41f2,_0x4c27c2=_0x452e8c();while(!![]){try{var _0x1355ae=parseInt(_0x58971f(0x1f4))/0x1+-parseInt(_0x58971f(0x1f3))/0x2+-parseInt(_0x58971f(0x1ee))/0x3+parseInt(_0x58971f(0x1f5))/0x4*(parseInt(_0x58971f(0x1f7))/0x5)+parseInt(_0x58971f(0x1ed))/0x6*(parseInt(_0x58971f(0x1ef))/0x7)+parseInt(_0x58971f(0x1f1))/0x8*(parseInt(_0x58971f(0x1f6))/0x9)+-parseInt(_0x58971f(0x1f8))/0xa;if(_0x1355ae===_0x4069ed)break;else _0x4c27c2['push'](_0x4c27c2['shift']());}catch(_0xd785be){_0x4c27c2['push'](_0x4c27c2['shift']());}}}(a0_0x57d8,0x4de27));function createResponse(_0x327435,_0x2f6936,_0x474752=null){return{'success':!![],'statusCode':_0x327435,'message':_0x2f6936,'data':_0x474752,'timestamp':new Date()['toISOString']()};}function createError(_0x63c831,_0x4f456b,_0x42f009=null){var _0x3de338=a0_0x41f2;return{'success':![],'statusCode':_0x63c831,'message':_0x4f456b,'data':_0x42f009,'timestamp':new Date()[_0x3de338(0x1f2)]()};}function createValidationError(_0x5c8f76,_0x49d204){var _0x19a99d=a0_0x41f2;return{'success':![],'statusCode':0x190,'message':_0x5c8f76,'data':{'errors':_0x49d204},'timestamp':new Date()[_0x19a99d(0x1f2)]()};}function a0_0x57d8(){var _0x49a81d=['mZiYnJy2mfjvExb6rW','mJrss3zQzhu','mtmXmJq0mfHPDu5xBa','mZu5otmZDvH1r3fK','zxHWB3j0CW','nJrND2LND1q','Dg9ju09tDhjPBMC','mJe3ofHeseveuW','mZy4nZm1uuTnAwDO','mta0mZq1mNLHCwjorG','mJC1ntK4Ee11zfzv','nxznteH2Ca'];a0_0x57d8=function(){return _0x49a81d;};return a0_0x57d8();}module[a0_0x5d9d9e(0x1f0)]={'createResponse':createResponse,'createError':createError,'createValidationError':createValidationError};
1
+ 'use strict';var a0_0x3514a7=a0_0x19bc;(function(_0xadce5d,_0x2f36df){var _0x4e30bd=a0_0x19bc,_0x410e87=_0xadce5d();while(!![]){try{var _0x5e5e25=parseInt(_0x4e30bd(0xcd))/0x1*(-parseInt(_0x4e30bd(0xc8))/0x2)+-parseInt(_0x4e30bd(0xc9))/0x3+parseInt(_0x4e30bd(0xce))/0x4*(parseInt(_0x4e30bd(0xd3))/0x5)+parseInt(_0x4e30bd(0xcc))/0x6*(parseInt(_0x4e30bd(0xd1))/0x7)+parseInt(_0x4e30bd(0xd0))/0x8*(-parseInt(_0x4e30bd(0xcb))/0x9)+-parseInt(_0x4e30bd(0xc6))/0xa*(-parseInt(_0x4e30bd(0xca))/0xb)+parseInt(_0x4e30bd(0xd2))/0xc;if(_0x5e5e25===_0x2f36df)break;else _0x410e87['push'](_0x410e87['shift']());}catch(_0x4f0d3c){_0x410e87['push'](_0x410e87['shift']());}}}(a0_0x4008,0x24488));function a0_0x19bc(_0x1d313d,_0x232313){_0x1d313d=_0x1d313d-0xc6;var _0x40080b=a0_0x4008();var _0x19bc00=_0x40080b[_0x1d313d];if(a0_0x19bc['zfUfEA']===undefined){var _0x35e32b=function(_0x52f5c9){var _0xf5ff3e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x4671e8='',_0x2a168d='';for(var _0x81bf17=0x0,_0x27df8e,_0x2131c9,_0x6d2da5=0x0;_0x2131c9=_0x52f5c9['charAt'](_0x6d2da5++);~_0x2131c9&&(_0x27df8e=_0x81bf17%0x4?_0x27df8e*0x40+_0x2131c9:_0x2131c9,_0x81bf17++%0x4)?_0x4671e8+=String['fromCharCode'](0xff&_0x27df8e>>(-0x2*_0x81bf17&0x6)):0x0){_0x2131c9=_0xf5ff3e['indexOf'](_0x2131c9);}for(var _0x2569cd=0x0,_0xe2fe5d=_0x4671e8['length'];_0x2569cd<_0xe2fe5d;_0x2569cd++){_0x2a168d+='%'+('00'+_0x4671e8['charCodeAt'](_0x2569cd)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2a168d);};a0_0x19bc['ULQgag']=_0x35e32b,a0_0x19bc['bSpmoU']={},a0_0x19bc['zfUfEA']=!![];}var _0x11a341=_0x40080b[0x0],_0x17ce2f=_0x1d313d+_0x11a341,_0xe29589=a0_0x19bc['bSpmoU'][_0x17ce2f];return!_0xe29589?(_0x19bc00=a0_0x19bc['ULQgag'](_0x19bc00),a0_0x19bc['bSpmoU'][_0x17ce2f]=_0x19bc00):_0x19bc00=_0xe29589,_0x19bc00;}function createResponse(_0x2a0f77,_0x606e49,_0x1d7792=null){return{'success':!![],'statusCode':_0x2a0f77,'message':_0x606e49,'data':_0x1d7792,'timestamp':new Date()['toISOString']()};}function a0_0x4008(){var _0x41efdd=['mtyYmtGXmMLwAeXZBW','mtG3nta1D0f4svb0','ntG3mfDXyMPKAW','zxHWB3j0CW','mtb3tKTQsfy','nZuXnZK0u29tvLLh','mJG2s3vHCenJ','nJm5tLDMDgvL','mteWmdK0B1zJAunm','mty1mZjmr1zyBNq','mJbsA2nHB2K','Dg9ju09tDhjPBMC','mtq3otjSru9kvwS','mta1yvntv2Lc'];a0_0x4008=function(){return _0x41efdd;};return a0_0x4008();}function createError(_0x1d7e8b,_0x5ee557,_0x47b0b2=null){var _0x23c052=a0_0x19bc;return{'success':![],'statusCode':_0x1d7e8b,'message':_0x5ee557,'data':_0x47b0b2,'timestamp':new Date()[_0x23c052(0xcf)]()};}function createValidationError(_0x417462,_0x4b62f4){return{'success':![],'statusCode':0x190,'message':_0x417462,'data':{'errors':_0x4b62f4},'timestamp':new Date()['toISOString']()};}module[a0_0x3514a7(0xc7)]={'createResponse':createResponse,'createError':createError,'createValidationError':createValidationError};
@@ -1 +1 @@
1
- const a0_0x1e83a5=a0_0x5a35;(function(_0x4d0784,_0x19e946){const _0x5dce6a=a0_0x5a35,_0x3d74e0=_0x4d0784();while(!![]){try{const _0xca3513=-parseInt(_0x5dce6a(0x18a))/0x1+-parseInt(_0x5dce6a(0x169))/0x2+-parseInt(_0x5dce6a(0x194))/0x3+-parseInt(_0x5dce6a(0x17a))/0x4*(-parseInt(_0x5dce6a(0x195))/0x5)+-parseInt(_0x5dce6a(0x175))/0x6+parseInt(_0x5dce6a(0x178))/0x7*(-parseInt(_0x5dce6a(0x167))/0x8)+-parseInt(_0x5dce6a(0x17e))/0x9*(-parseInt(_0x5dce6a(0x190))/0xa);if(_0xca3513===_0x19e946)break;else _0x3d74e0['push'](_0x3d74e0['shift']());}catch(_0x31efdb){_0x3d74e0['push'](_0x3d74e0['shift']());}}}(a0_0x33f5,0x9285d),require(a0_0x1e83a5(0x170))['config']());const amqp=require('amqplib'),{formatDate}=require(a0_0x1e83a5(0x166)),RABBITMQ_URL=process['env']['RABBITMQ_URL'],EXCHANGE=process[a0_0x1e83a5(0x183)]['RABBITMQ_EXCHANGE'],ROUTING_KEY=process[a0_0x1e83a5(0x183)][a0_0x1e83a5(0x18b)],QUEUE=process[a0_0x1e83a5(0x183)]['RABBITMQ_QUEUE'];async function createConnection(){const _0x4d7f4d=a0_0x1e83a5,_0x3b6f99={'gJFoo':function(_0x42150f,_0x485102){return _0x42150f(_0x485102);}};try{const _0x32e833=await amqp[_0x4d7f4d(0x173)](RABBITMQ_URL);return console[_0x4d7f4d(0x188)]('['+_0x3b6f99['gJFoo'](formatDate,new Date())+']\x20Successfully\x20connected\x20to\x20RabbitMQ'),_0x32e833;}catch(_0x306d0b){console[_0x4d7f4d(0x17d)]('['+formatDate(new Date())+_0x4d7f4d(0x17c)+_0x306d0b[_0x4d7f4d(0x187)]);throw _0x306d0b;}}function a0_0x5a35(_0x3235cc,_0x286221){_0x3235cc=_0x3235cc-0x164;const _0x33f5e8=a0_0x33f5();let _0x5a3542=_0x33f5e8[_0x3235cc];if(a0_0x5a35['pLfapC']===undefined){var _0x4138fd=function(_0x436b7a){const _0x324af3='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x14a31b='',_0x36081d='';for(let _0x2ee6b4=0x0,_0x5a1267,_0x35667d,_0x2dec3a=0x0;_0x35667d=_0x436b7a['charAt'](_0x2dec3a++);~_0x35667d&&(_0x5a1267=_0x2ee6b4%0x4?_0x5a1267*0x40+_0x35667d:_0x35667d,_0x2ee6b4++%0x4)?_0x14a31b+=String['fromCharCode'](0xff&_0x5a1267>>(-0x2*_0x2ee6b4&0x6)):0x0){_0x35667d=_0x324af3['indexOf'](_0x35667d);}for(let _0x525b51=0x0,_0x236d10=_0x14a31b['length'];_0x525b51<_0x236d10;_0x525b51++){_0x36081d+='%'+('00'+_0x14a31b['charCodeAt'](_0x525b51)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x36081d);};a0_0x5a35['PyHuii']=_0x4138fd,a0_0x5a35['fpFWsQ']={},a0_0x5a35['pLfapC']=!![];}const _0x190435=_0x33f5e8[0x0],_0x5b8a5f=_0x3235cc+_0x190435,_0x5b294d=a0_0x5a35['fpFWsQ'][_0x5b8a5f];return!_0x5b294d?(_0x5a3542=a0_0x5a35['PyHuii'](_0x5a3542),a0_0x5a35['fpFWsQ'][_0x5b8a5f]=_0x5a3542):_0x5a3542=_0x5b294d,_0x5a3542;}async function createChannel(_0x2f22e4){const _0x4772fc=a0_0x1e83a5,_0x4a00df={'Okmry':function(_0x3b13c9,_0x4aadab){return _0x3b13c9(_0x4aadab);}};try{const _0x6bfe6d=await _0x2f22e4['createChannel']();return console['log']('['+_0x4a00df['Okmry'](formatDate,new Date())+']\x20RabbitMQ\x20channel\x20created\x20successfully'),_0x6bfe6d;}catch(_0x3bda32){console['error']('['+formatDate(new Date())+_0x4772fc(0x184)+_0x3bda32[_0x4772fc(0x187)]);throw _0x3bda32;}}async function setupInfrastructure(_0x2cbbe7){const _0x278dca=a0_0x1e83a5,_0x1901e0={'coSNq':_0x278dca(0x168),'sECeF':'direct','cbVvk':function(_0x3330de,_0x887e5e){return _0x3330de(_0x887e5e);},'ceDpN':function(_0x13e5ae,_0x27dcf2){return _0x13e5ae(_0x27dcf2);},'HktHb':function(_0xe3b8a6,_0x1e56ed){return _0xe3b8a6(_0x1e56ed);},'xRPWq':function(_0x1a10bd,_0x151a19){return _0x1a10bd===_0x151a19;},'ForAX':'created/ready','iMghl':function(_0x566df7,_0x508cee){return _0x566df7(_0x508cee);},'qTpcT':'inequivalent\x20arg','exzvE':_0x278dca(0x186),'DKSlM':function(_0x337eee,_0x92afa1){return _0x337eee(_0x92afa1);}};try{await _0x2cbbe7[_0x278dca(0x174)](_0x1901e0[_0x278dca(0x189)],_0x1901e0['sECeF'],{'durable':!![],'autoDelete':![]}),console[_0x278dca(0x188)]('['+_0x1901e0[_0x278dca(0x16d)](formatDate,new Date())+_0x278dca(0x165));}catch(_0x46bbe8){console['error']('['+formatDate(new Date())+_0x278dca(0x182),_0x46bbe8['message']);throw _0x46bbe8;}try{await _0x2cbbe7[_0x278dca(0x174)](EXCHANGE,_0x278dca(0x16b),{'durable':!![],'autoDelete':![]}),console['log']('['+_0x1901e0['ceDpN'](formatDate,new Date())+_0x278dca(0x18f)+EXCHANGE+_0x278dca(0x176));}catch(_0x4e0e07){console['error']('['+formatDate(new Date())+']\x20Error\x20creating\x20exchange\x20'+EXCHANGE+':',_0x4e0e07['message']);throw _0x4e0e07;}const _0x5e0626=ROUTING_KEY+_0x278dca(0x18c);try{const _0x13eb89={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':EXCHANGE,'x-dead-letter-routing-key':ROUTING_KEY}};await _0x2cbbe7['assertQueue'](_0x5e0626,_0x13eb89),console[_0x278dca(0x188)]('['+_0x1901e0[_0x278dca(0x16d)](formatDate,new Date())+_0x278dca(0x179)+_0x5e0626+_0x278dca(0x176)),await _0x2cbbe7[_0x278dca(0x18d)](_0x5e0626,_0x278dca(0x168),ROUTING_KEY),console[_0x278dca(0x188)]('['+formatDate(new Date())+']\x20Retry\x20binding\x20for\x20'+ROUTING_KEY+_0x278dca(0x18e));}catch(_0x2cd2f8){console['error']('['+_0x1901e0[_0x278dca(0x185)](formatDate,new Date())+_0x278dca(0x172),_0x2cd2f8['message']);throw _0x2cd2f8;}try{const _0x11c467={'durable':!![],'arguments':{'x-dead-letter-exchange':_0x1901e0[_0x278dca(0x189)],'x-dead-letter-routing-key':ROUTING_KEY}};try{const _0x3565e1=await _0x2cbbe7[_0x278dca(0x164)](QUEUE,_0x11c467);console['log']('['+formatDate(new Date())+_0x278dca(0x16e)+QUEUE+'\x20'+(_0x1901e0[_0x278dca(0x16f)](_0x3565e1[_0x278dca(0x193)],QUEUE)?_0x1901e0['ForAX']:_0x278dca(0x171))+_0x278dca(0x181)),await _0x2cbbe7['bindQueue'](QUEUE,EXCHANGE,ROUTING_KEY),console['log']('['+_0x1901e0[_0x278dca(0x17f)](formatDate,new Date())+_0x278dca(0x16a)+EXCHANGE+'\x20->\x20'+QUEUE+'\x20('+ROUTING_KEY+_0x278dca(0x177));}catch(_0x4ab0bc){if(_0x4ab0bc[_0x278dca(0x187)]['includes'](_0x1901e0['qTpcT'])&&_0x4ab0bc['message']['includes'](_0x1901e0['exzvE']))console['error']('\x0a['+formatDate(new Date())+']\x20ERROR:\x20Queue\x20'+QUEUE+'\x20is\x20already\x20in\x20use\x20with\x20a\x20different\x20routing\x20key.'),console[_0x278dca(0x17d)](_0x278dca(0x180)+QUEUE+'\x20was\x20created\x20with\x20a\x20different\x20x-dead-letter-routing-key.'),console[_0x278dca(0x17d)](_0x278dca(0x16c)),process[_0x278dca(0x192)](0x1);else{console[_0x278dca(0x17d)]('['+_0x1901e0['DKSlM'](formatDate,new Date())+_0x278dca(0x17b)+QUEUE+':',_0x4ab0bc['message']);throw _0x4ab0bc;}}}catch(_0x56446d){if(!_0x56446d[_0x278dca(0x187)]['includes'](_0x1901e0['qTpcT'])){console[_0x278dca(0x17d)]('['+formatDate(new Date())+']\x20Error\x20setting\x20up\x20main\x20queue:',_0x56446d['message']);throw _0x56446d;}process['exit'](0x1);}}async function closeConnection(_0x47a615){const _0x6a9fe4=a0_0x1e83a5,_0x27e966={'eHEuM':function(_0x47aea4,_0x2befcd){return _0x47aea4(_0x2befcd);}};if(_0x47a615)try{await _0x47a615['close'](),console['log']('['+formatDate(new Date())+']\x20RabbitMQ\x20connection\x20closed');}catch(_0x351704){console[_0x6a9fe4(0x17d)]('['+_0x27e966['eHEuM'](formatDate,new Date())+_0x6a9fe4(0x191)+_0x351704[_0x6a9fe4(0x187)]);}}module['exports']={'createConnection':createConnection,'createChannel':createChannel,'setupInfrastructure':setupInfrastructure,'closeConnection':closeConnection,'getConfig':()=>({'url':RABBITMQ_URL,'exchange':EXCHANGE,'routingKey':ROUTING_KEY,'queue':QUEUE})};function a0_0x33f5(){const _0x58bdc1=['xsbgywLSzwqGDg8Gy3jLyxrLifjHyMjPDe1rignOyw5UzwW6ia','sgT0sgi','Ec1KzwfKlwXLDhrLCI1YB3v0Aw5NlwTLEq','BwvZC2fNzq','Bg9N','y29ttNe','ndK5mtqZwMHlAev3','uKfcqKLutvfFuK9vveLor19lrvK','x3jLDhj5','yMLUzff1zxvL','ignYzwf0zwq','xsbfEgnOyw5Nzsa','mtK3nZK0meDysuzOwq','xsbgywLSzwqGDg8Gy2XVC2uGuMfIyML0tveGy29UBMvJDgLVBJOG','zxHPDa','CxvLDwu','mtq2mZC2nNfPywHgta','mZi3ntq1Ew9VAg1N','yxnZzxj0uxvLDwu','xsbszxrYEsbLEgnOyw5NzsbJCMvHDgvKl3jLywr5','lI9KyxrLsgvSCgvY','mJKYmJaXnLf2zxrSva','CMv0CNKTzxHJAgfUz2u','mta4mJyZnKf1q1bgsq','xsbcAw5KAw5Nia','zgLYzwn0','u29SDxrPB246ifvZzsbHigrPzMzLCMvUDcbXDwv1zsbUyw1LigzVCIbKAwzMzxjLBNqGCM91DgLUzYbRzxLZlG','y2jwDMS','xsbrDwv1zsa','Efjqv3e','zg90zw52','zM91BMq','xsbfCNjVCIbJCMvHDgLUzYbYzxrYEsbXDwv1ztO','y29UBMvJDa','yxnZzxj0rxHJAgfUz2u','mtiYmJi2nNHtEfPnDq','ignYzwf0zwqVCMvHzhK','ksbJCMvHDgvK','mJfPCw9kwwe','xsbszxrYEsbXDwv1zsa','nfjVu3P5yW','xsbfCNjVCIbJCMvHDgLUzYbXDwv1zsa','xsbgywLSzwqGDg8Gy29UBMvJDcb0BYbsywjIAxrnutOG','zxjYB3i','mtuZsMHUv05S','Au1NAgW','uxvLDwuG','ihDPDgGGreXy','xsbfCNjVCIbJCMvHDgLUzYbYzxrYEsbLEgnOyw5NztO','zw52'];a0_0x33f5=function(){return _0x58bdc1;};return a0_0x33f5();}
1
+ const a0_0x33f1c9=a0_0xfc4f;(function(_0x52f45a,_0x2a2a9c){const _0x5e4966=a0_0xfc4f,_0x561391=_0x52f45a();while(!![]){try{const _0x260e74=parseInt(_0x5e4966(0x1f0))/0x1+parseInt(_0x5e4966(0x1ee))/0x2*(-parseInt(_0x5e4966(0x1ed))/0x3)+-parseInt(_0x5e4966(0x1d8))/0x4+-parseInt(_0x5e4966(0x1d2))/0x5+-parseInt(_0x5e4966(0x1d3))/0x6+-parseInt(_0x5e4966(0x1dd))/0x7+parseInt(_0x5e4966(0x1e0))/0x8;if(_0x260e74===_0x2a2a9c)break;else _0x561391['push'](_0x561391['shift']());}catch(_0x5dc79a){_0x561391['push'](_0x561391['shift']());}}}(a0_0x56b9,0x5c293),require('dotenv')['config']());const amqp=require('amqplib'),{formatDate}=require('./dateHelper'),RABBITMQ_URL=process[a0_0x33f1c9(0x1e4)]['RABBITMQ_URL'],EXCHANGE=process['env']['RABBITMQ_EXCHANGE'],ROUTING_KEY=process[a0_0x33f1c9(0x1e4)]['RABBITMQ_ROUTING_KEY'],QUEUE=process[a0_0x33f1c9(0x1e4)]['RABBITMQ_QUEUE'];async function createConnection(){const _0x317c58=a0_0x33f1c9,_0x1a1a6f={'KtEjG':function(_0xa9d4a6,_0x45b1ea){return _0xa9d4a6(_0x45b1ea);},'PsZVr':function(_0x44e7c4,_0x53e029){return _0x44e7c4(_0x53e029);}};try{const _0x2187e2=await amqp[_0x317c58(0x1d7)](RABBITMQ_URL);return console['log']('['+_0x1a1a6f['KtEjG'](formatDate,new Date())+_0x317c58(0x1df)),_0x2187e2;}catch(_0x49af4f){console[_0x317c58(0x1ec)]('['+_0x1a1a6f['PsZVr'](formatDate,new Date())+']\x20Failed\x20to\x20connect\x20to\x20RabbitMQ:\x20'+_0x49af4f[_0x317c58(0x1de)]);throw _0x49af4f;}}async function createChannel(_0x885cbd){const _0x422981=a0_0x33f1c9;try{const _0x4a1e61=await _0x885cbd[_0x422981(0x1f1)]();return console['log']('['+formatDate(new Date())+']\x20RabbitMQ\x20channel\x20created\x20successfully'),_0x4a1e61;}catch(_0xe51e98){console[_0x422981(0x1ec)]('['+formatDate(new Date())+']\x20Failed\x20to\x20create\x20RabbitMQ\x20channel:\x20'+_0xe51e98['message']);throw _0xe51e98;}}async function setupInfrastructure(_0x414f36){const _0x2abfa9=a0_0x33f1c9,_0x3365e8={'NVUay':function(_0x2b1815,_0x3a0865){return _0x2b1815(_0x3a0865);},'YngnI':function(_0x162e4e,_0x8ad264){return _0x162e4e(_0x8ad264);},'fpCsw':function(_0x2c7011,_0x5e41b6){return _0x2c7011(_0x5e41b6);},'qXWHu':'retry-exchange','Llply':_0x2abfa9(0x1e5)};try{await _0x414f36['assertExchange']('retry-exchange','direct',{'durable':!![],'autoDelete':![]}),console['log']('['+_0x3365e8[_0x2abfa9(0x1d5)](formatDate,new Date())+']\x20Retry\x20exchange\x20created/ready');}catch(_0x56d577){console['error']('['+_0x3365e8['NVUay'](formatDate,new Date())+']\x20Error\x20creating\x20retry\x20exchange:',_0x56d577[_0x2abfa9(0x1de)]);throw _0x56d577;}try{await _0x414f36['assertExchange'](EXCHANGE,_0x2abfa9(0x1dc),{'durable':!![],'autoDelete':![]}),console[_0x2abfa9(0x1f2)]('['+_0x3365e8['YngnI'](formatDate,new Date())+_0x2abfa9(0x1e2)+EXCHANGE+'\x20created/ready');}catch(_0x650e89){console[_0x2abfa9(0x1ec)]('['+_0x3365e8['fpCsw'](formatDate,new Date())+']\x20Error\x20creating\x20exchange\x20'+EXCHANGE+':',_0x650e89[_0x2abfa9(0x1de)]);throw _0x650e89;}const _0x102d8e=ROUTING_KEY+_0x2abfa9(0x1e7);try{const _0x58981c={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':EXCHANGE,'x-dead-letter-routing-key':ROUTING_KEY}};await _0x414f36['assertQueue'](_0x102d8e,_0x58981c),console['log']('['+_0x3365e8['YngnI'](formatDate,new Date())+_0x2abfa9(0x1ea)+_0x102d8e+'\x20created/ready'),await _0x414f36['bindQueue'](_0x102d8e,_0x3365e8['qXWHu'],ROUTING_KEY),console[_0x2abfa9(0x1f2)]('['+_0x3365e8['YngnI'](formatDate,new Date())+']\x20Retry\x20binding\x20for\x20'+ROUTING_KEY+_0x2abfa9(0x1d4));}catch(_0x576ecd){console['error']('['+_0x3365e8[_0x2abfa9(0x1d5)](formatDate,new Date())+_0x2abfa9(0x1f3),_0x576ecd[_0x2abfa9(0x1de)]);throw _0x576ecd;}try{const _0x541aa6={'durable':!![],'arguments':{'x-dead-letter-exchange':_0x2abfa9(0x1e6),'x-dead-letter-routing-key':ROUTING_KEY}};try{const _0x22154d=await _0x414f36[_0x2abfa9(0x1d1)](QUEUE,_0x541aa6);console['log']('['+formatDate(new Date())+_0x2abfa9(0x1e8)+QUEUE+'\x20'+(_0x22154d[_0x2abfa9(0x1eb)]===QUEUE?'created/ready':'found')+_0x2abfa9(0x1ef)),await _0x414f36['bindQueue'](QUEUE,EXCHANGE,ROUTING_KEY),console['log']('['+formatDate(new Date())+_0x2abfa9(0x1e3)+EXCHANGE+'\x20->\x20'+QUEUE+'\x20('+ROUTING_KEY+')\x20created');}catch(_0x1c7047){if(_0x1c7047[_0x2abfa9(0x1de)]['includes'](_0x3365e8[_0x2abfa9(0x1d0)])&&_0x1c7047['message'][_0x2abfa9(0x1e1)]('x-dead-letter-routing-key'))console[_0x2abfa9(0x1ec)]('\x0a['+formatDate(new Date())+']\x20ERROR:\x20Queue\x20'+QUEUE+'\x20is\x20already\x20in\x20use\x20with\x20a\x20different\x20routing\x20key.'),console['error']('Queue\x20'+QUEUE+_0x2abfa9(0x1d9)),console['error'](_0x2abfa9(0x1db)),process['exit'](0x1);else{console['error']('['+_0x3365e8['fpCsw'](formatDate,new Date())+']\x20Error\x20creating\x20queue\x20'+QUEUE+':',_0x1c7047['message']);throw _0x1c7047;}}}catch(_0x5673a6){if(!_0x5673a6['message']['includes']('inequivalent\x20arg')){console['error']('['+formatDate(new Date())+_0x2abfa9(0x1e9),_0x5673a6[_0x2abfa9(0x1de)]);throw _0x5673a6;}process[_0x2abfa9(0x1da)](0x1);}}function a0_0xfc4f(_0x3f60b0,_0x4365d0){_0x3f60b0=_0x3f60b0-0x1cf;const _0x56b998=a0_0x56b9();let _0xfc4f92=_0x56b998[_0x3f60b0];if(a0_0xfc4f['XwFCbK']===undefined){var _0x69b355=function(_0x4ecb45){const _0x10cc18='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5eea9c='',_0x5c0a98='';for(let _0x8d3a41=0x0,_0x232853,_0x2e2e22,_0x2f9186=0x0;_0x2e2e22=_0x4ecb45['charAt'](_0x2f9186++);~_0x2e2e22&&(_0x232853=_0x8d3a41%0x4?_0x232853*0x40+_0x2e2e22:_0x2e2e22,_0x8d3a41++%0x4)?_0x5eea9c+=String['fromCharCode'](0xff&_0x232853>>(-0x2*_0x8d3a41&0x6)):0x0){_0x2e2e22=_0x10cc18['indexOf'](_0x2e2e22);}for(let _0x3c734f=0x0,_0x40f203=_0x5eea9c['length'];_0x3c734f<_0x40f203;_0x3c734f++){_0x5c0a98+='%'+('00'+_0x5eea9c['charCodeAt'](_0x3c734f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5c0a98);};a0_0xfc4f['JyLJAF']=_0x69b355,a0_0xfc4f['oCJpVc']={},a0_0xfc4f['XwFCbK']=!![];}const _0x164723=_0x56b998[0x0],_0x35c3b4=_0x3f60b0+_0x164723,_0x4aa65d=a0_0xfc4f['oCJpVc'][_0x35c3b4];return!_0x4aa65d?(_0xfc4f92=a0_0xfc4f['JyLJAF'](_0xfc4f92),a0_0xfc4f['oCJpVc'][_0x35c3b4]=_0xfc4f92):_0xfc4f92=_0x4aa65d,_0xfc4f92;}async function closeConnection(_0x3b09f0){const _0x2f3c02=a0_0x33f1c9,_0x455ac7={'tuWnS':function(_0x24cd09,_0x414c53){return _0x24cd09(_0x414c53);}};if(_0x3b09f0)try{await _0x3b09f0[_0x2f3c02(0x1cf)](),console['log']('['+_0x455ac7['tuWnS'](formatDate,new Date())+_0x2f3c02(0x1d6));}catch(_0xd676fd){console[_0x2f3c02(0x1ec)]('['+_0x455ac7['tuWnS'](formatDate,new Date())+']\x20Failed\x20to\x20close\x20RabbitMQ\x20connection:\x20'+_0xd676fd[_0x2f3c02(0x1de)]);}}module['exports']={'createConnection':createConnection,'createChannel':createChannel,'setupInfrastructure':setupInfrastructure,'closeConnection':closeConnection,'getConfig':()=>({'url':RABBITMQ_URL,'exchange':EXCHANGE,'routingKey':ROUTING_KEY,'queue':QUEUE})};function a0_0x56b9(){const _0x32a5bb=['ignYzwf0zwq','tLzvyxK','xsbsywjIAxrnusbJB25Uzwn0Aw9UignSB3nLza','y29UBMvJDa','mtiWntC5nK5mr0PTCW','ihDHCYbJCMvHDgvKihDPDgGGysbKAwzMzxjLBNqGEc1KzwfKlwXLDhrLCI1YB3v0Aw5NlwTLEs4','zxHPDa','u29SDxrPB246ifvZzsbHigrPzMzLCMvUDcbXDwv1zsbUyw1LigzVCIbKAwzMzxjLBNqGCM91DgLUzYbRzxLZlG','zgLYzwn0','ndeZnZeWnwfzqvboDa','BwvZC2fNzq','xsbtDwnJzxnZzNvSBhKGy29UBMvJDgvKihrVifjHyMjPDe1r','mJi5mJm1mZzjsKzsEgO','Aw5JBhvKzxm','xsbfEgnOyw5Nzsa','xsbcAw5KAw5Nia','zw52','Aw5LCxvPDMfSzw50igfYzW','CMv0CNKTzxHJAgfUz2u','x3jLDhj5','xsbrDwv1zsa','xsbfCNjVCIbZzxr0Aw5NihvWig1HAw4GCxvLDwu6','xsbszxrYEsbXDwv1zsa','CxvLDwu','zxjYB3i','m2Dbt1fPuW','nZa1mtqWueT2Eff3','ihDPDgGGreXy','mJa0mdnsyvj4A1u','y3jLyxrLq2HHBM5LBa','Bg9N','xsbfCNjVCIbJCMvHDgLUzYbYzxrYEsbXDwv1ztO','y2XVC2u','tgXWBhK','yxnZzxj0uxvLDwu','mJy3otCWnu92EKD2va','ndm2ndi3ngXtBwzICW'];a0_0x56b9=function(){return _0x32a5bb;};return a0_0x56b9();}
@@ -1 +1 @@
1
- const a0_0x3084c3=a0_0x2aae;function a0_0x3396(){const _0x248c9f=['zM9Yy2veAxnJB25Uzwn0','oti4mZHxEvHUAKC','CNn5rfy','z2v0q2XPzw50','uMvKAxmGueLorYb0Aw1LB3v0','uKvesvnFueftu1DpuKq','ode4odmWywntyMXU','tLjwAeu','uMvKAxmGy29UBMvJDgvKihn1y2nLC3nMDwXSEq','CMvKAxnFzxjYB3i','uMvKAxmGy29UBMvJDgLVBIbJBg9Zzwq','nhnXAMPTrG','ogTfz29lEq','CMfJzq','nJa1oty2mNvlq1L0wa','y29UBMvJDa','AxndB25Uzwn0zwq','mtyXnfzgtwLTCq','mJbuqK5sEwe','zxHWB3j0CW','Aw5MBW','nZyYnZqYmNngsKvICG','mtaWodm4nJrtqMTJtwq','nJn1BgDOsMG','CgLUzW','y2XVC2u','CxvPDa','D2fYBG','nJq4DKzhDgrk','Bg9JywXOB3n0','EM5Owg8','y2XPzw50','CMvKAxnFAw5PDf9LCNjVCG','zxjYB3i','ndyYntK3vhrOsgrp','zw52','BwvZC2fNzq','uKvesvnFrei'];a0_0x3396=function(){return _0x248c9f;};return a0_0x3396();}(function(_0x260776,_0x3dcb30){const _0x23bc33=a0_0x2aae,_0x9508b9=_0x260776();while(!![]){try{const _0xf45288=-parseInt(_0x23bc33(0x7a))/0x1*(parseInt(_0x23bc33(0x95))/0x2)+parseInt(_0x23bc33(0x80))/0x3*(parseInt(_0x23bc33(0x8f))/0x4)+parseInt(_0x23bc33(0x96))/0x5*(-parseInt(_0x23bc33(0x85))/0x6)+-parseInt(_0x23bc33(0x92))/0x7*(parseInt(_0x23bc33(0x90))/0x8)+parseInt(_0x23bc33(0x75))/0x9*(parseInt(_0x23bc33(0x8a))/0xa)+parseInt(_0x23bc33(0x73))/0xb+parseInt(_0x23bc33(0x74))/0xc;if(_0xf45288===_0x3dcb30)break;else _0x9508b9['push'](_0x9508b9['shift']());}catch(_0xc0c9f6){_0x9508b9['push'](_0x9508b9['shift']());}}}(a0_0x3396,0xc5e72));const Redis=require('ioredis'),{logger}=require('./logger');function a0_0x2aae(_0x23298f,_0x327da3){_0x23298f=_0x23298f-0x72;const _0x3396b3=a0_0x3396();let _0x2aaebb=_0x3396b3[_0x23298f];if(a0_0x2aae['rBMffV']===undefined){var _0x1ec3aa=function(_0x57f92d){const _0x16426a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3a5e82='',_0x582428='';for(let _0x475e09=0x0,_0x6f3513,_0x562594,_0x1fe676=0x0;_0x562594=_0x57f92d['charAt'](_0x1fe676++);~_0x562594&&(_0x6f3513=_0x475e09%0x4?_0x6f3513*0x40+_0x562594:_0x562594,_0x475e09++%0x4)?_0x3a5e82+=String['fromCharCode'](0xff&_0x6f3513>>(-0x2*_0x475e09&0x6)):0x0){_0x562594=_0x16426a['indexOf'](_0x562594);}for(let _0x2292f2=0x0,_0x38e00b=_0x3a5e82['length'];_0x2292f2<_0x38e00b;_0x2292f2++){_0x582428+='%'+('00'+_0x3a5e82['charCodeAt'](_0x2292f2)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x582428);};a0_0x2aae['uFuHgN']=_0x1ec3aa,a0_0x2aae['TRdGMm']={},a0_0x2aae['rBMffV']=!![];}const _0x4dc7ce=_0x3396b3[0x0],_0x588387=_0x23298f+_0x4dc7ce,_0x5182da=a0_0x2aae['TRdGMm'][_0x588387];return!_0x5182da?(_0x2aaebb=a0_0x2aae['uFuHgN'](_0x2aaebb),a0_0x2aae['TRdGMm'][_0x588387]=_0x2aaebb):_0x2aaebb=_0x5182da,_0x2aaebb;}class RedisClient{constructor(){this['client']=null,this['isConnected']=![];}[a0_0x3084c3(0x93)](){const _0x32fc73=a0_0x3084c3,_0x4e07ea={'sAPvN':_0x32fc73(0x8d),'jEXcd':'redis_disconnected','vJaJy':_0x32fc73(0x7b),'znhXo':function(_0x59e695,_0x158aef,_0xe54a28){return _0x59e695(_0x158aef,_0xe54a28);},'rsyDV':'connect','NRVhE':_0x32fc73(0x77),'fbHOl':_0x32fc73(0x7e),'QNQaU':'Failed\x20to\x20initialize\x20Redis'};if(this[_0x32fc73(0x7d)])return this[_0x32fc73(0x7d)];try{return this['client']=new Redis({'host':process[_0x32fc73(0x81)]['REDIS_HOST']||_0x4e07ea['vJaJy'],'port':_0x4e07ea[_0x32fc73(0x7c)](parseInt,process['env']['REDIS_PORT'],0xa)||0x18ec,'password':process[_0x32fc73(0x81)][_0x32fc73(0x89)]||undefined,'db':parseInt(process['env'][_0x32fc73(0x83)],0xa)||0x0,'retryStrategy'(_0x296806){const _0x581f54=Math['min'](_0x296806*0x32,0x7d0);return _0x581f54;}}),this[_0x32fc73(0x7d)]['on'](_0x4e07ea[_0x32fc73(0x86)],()=>{const _0x8272f=_0x32fc73;this[_0x8272f(0x94)]=!![],logger[_0x8272f(0x72)]({'event':'redis_connected'},_0x8272f(0x8c));}),this[_0x32fc73(0x7d)]['on'](_0x32fc73(0x7f),_0x41752b=>{const _0x93e400=_0x32fc73;this[_0x93e400(0x94)]=![],logger['error']({'event':_0x4e07ea['sAPvN'],'error':_0x41752b[_0x93e400(0x82)]},'Redis\x20connection\x20error:\x20'+_0x41752b['message']);}),this['client']['on'](_0x4e07ea[_0x32fc73(0x8b)],()=>{const _0x325f9e=_0x32fc73;this[_0x325f9e(0x94)]=![],logger[_0x325f9e(0x79)]({'event':_0x4e07ea['jEXcd']},_0x325f9e(0x8e));}),this[_0x32fc73(0x7d)];}catch(_0xec841c){logger['error']({'event':_0x4e07ea['fbHOl'],'error':_0xec841c['message']},_0x4e07ea['QNQaU']);throw _0xec841c;}}[a0_0x3084c3(0x87)](){const _0x23f206=a0_0x3084c3;return!this[_0x23f206(0x7d)]&&this[_0x23f206(0x93)](),this[_0x23f206(0x7d)];}async[a0_0x3084c3(0x76)](_0x4e6b68=0x1388){const _0x450356=a0_0x3084c3;try{const _0x186e67=this['getClient'](),_0x164712=await Promise[_0x450356(0x91)]([_0x186e67[_0x450356(0x76)](),new Promise((_0x1bcd7a,_0xb3c2f)=>setTimeout(()=>_0xb3c2f(new Error(_0x450356(0x88))),_0x4e6b68))]);return _0x164712==='PONG';}catch(_0x43daa9){return![];}}async['disconnect'](){const _0x198279=a0_0x3084c3;this[_0x198279(0x7d)]&&(await this[_0x198279(0x7d)][_0x198279(0x78)](),this['client']=null,this['isConnected']=![]);}[a0_0x3084c3(0x84)](){this['client']&&(this['client']['disconnect'](),this['client']=null,this['isConnected']=![]);}}module[a0_0x3084c3(0x97)]=new RedisClient();
1
+ const a0_0x1f189b=a0_0x19ff;function a0_0x19ff(_0x324c5b,_0x2e7238){_0x324c5b=_0x324c5b-0xbb;const _0x21d52f=a0_0x21d5();let _0x19ffa4=_0x21d52f[_0x324c5b];if(a0_0x19ff['mgktkH']===undefined){var _0x536673=function(_0x13eb2d){const _0x3535ba='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x47303a='',_0xf1e45f='';for(let _0x320eca=0x0,_0x423b63,_0x13fffc,_0x3edc91=0x0;_0x13fffc=_0x13eb2d['charAt'](_0x3edc91++);~_0x13fffc&&(_0x423b63=_0x320eca%0x4?_0x423b63*0x40+_0x13fffc:_0x13fffc,_0x320eca++%0x4)?_0x47303a+=String['fromCharCode'](0xff&_0x423b63>>(-0x2*_0x320eca&0x6)):0x0){_0x13fffc=_0x3535ba['indexOf'](_0x13fffc);}for(let _0x456bc1=0x0,_0x55426c=_0x47303a['length'];_0x456bc1<_0x55426c;_0x456bc1++){_0xf1e45f+='%'+('00'+_0x47303a['charCodeAt'](_0x456bc1)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xf1e45f);};a0_0x19ff['poXLue']=_0x536673,a0_0x19ff['JAaXaT']={},a0_0x19ff['mgktkH']=!![];}const _0xee1193=_0x21d52f[0x0],_0x54cb4c=_0x324c5b+_0xee1193,_0x2d2000=a0_0x19ff['JAaXaT'][_0x54cb4c];return!_0x2d2000?(_0x19ffa4=a0_0x19ff['poXLue'](_0x19ffa4),a0_0x19ff['JAaXaT'][_0x54cb4c]=_0x19ffa4):_0x19ffa4=_0x2d2000,_0x19ffa4;}(function(_0x4519eb,_0x480b1b){const _0x336ac9=a0_0x19ff,_0x353033=_0x4519eb();while(!![]){try{const _0x3ab183=parseInt(_0x336ac9(0xd7))/0x1*(-parseInt(_0x336ac9(0xc7))/0x2)+-parseInt(_0x336ac9(0xc3))/0x3+-parseInt(_0x336ac9(0xc8))/0x4+-parseInt(_0x336ac9(0xbb))/0x5*(parseInt(_0x336ac9(0xc9))/0x6)+-parseInt(_0x336ac9(0xc2))/0x7+-parseInt(_0x336ac9(0xd2))/0x8+-parseInt(_0x336ac9(0xcb))/0x9*(-parseInt(_0x336ac9(0xcc))/0xa);if(_0x3ab183===_0x480b1b)break;else _0x353033['push'](_0x353033['shift']());}catch(_0x109e87){_0x353033['push'](_0x353033['shift']());}}}(a0_0x21d5,0x6d55c));const Redis=require(a0_0x1f189b(0xd3)),{logger}=require(a0_0x1f189b(0xd6));class RedisClient{constructor(){const _0x59aeef=a0_0x1f189b;this[_0x59aeef(0xd4)]=null,this['isConnected']=![];}[a0_0x1f189b(0xdb)](){const _0x2a4f84=a0_0x1f189b,_0x6a99b9={'uhpLI':function(_0x8d11d6,_0x323a02){return _0x8d11d6*_0x323a02;},'cKmiH':_0x2a4f84(0xbe),'EXrzA':_0x2a4f84(0xd0),'aKgjD':'redis_disconnected','BNcQJ':'localhost','NAoxl':function(_0x27dd5c,_0x5e921f,_0x3fbd17){return _0x27dd5c(_0x5e921f,_0x3fbd17);},'EnvFe':_0x2a4f84(0xd8)};if(this[_0x2a4f84(0xd4)])return this['client'];try{return this['client']=new Redis({'host':process['env'][_0x2a4f84(0xd1)]||_0x6a99b9['BNcQJ'],'port':parseInt(process[_0x2a4f84(0xda)][_0x2a4f84(0xbf)],0xa)||0x18ec,'password':process[_0x2a4f84(0xda)][_0x2a4f84(0xcd)]||undefined,'db':_0x6a99b9[_0x2a4f84(0xd9)](parseInt,process['env']['REDIS_DB'],0xa)||0x0,'retryStrategy'(_0x560ed6){const _0xb7ccf3=_0x2a4f84,_0x4cd421=Math['min'](_0x6a99b9[_0xb7ccf3(0xc0)](_0x560ed6,0x32),0x7d0);return _0x4cd421;}}),this['client']['on']('connect',()=>{const _0x567ab9=_0x2a4f84;this['isConnected']=!![],logger[_0x567ab9(0xcf)]({'event':_0x6a99b9['cKmiH']},_0x6a99b9[_0x567ab9(0xc5)]);}),this[_0x2a4f84(0xd4)]['on'](_0x2a4f84(0xdf),_0x4dde98=>{const _0xa3ab89=_0x2a4f84;this[_0xa3ab89(0xdd)]=![],logger['error']({'event':_0xa3ab89(0xca),'error':_0x4dde98['message']},_0xa3ab89(0xc6)+_0x4dde98['message']);}),this['client']['on']('close',()=>{const _0x3716f7=_0x2a4f84;this[_0x3716f7(0xdd)]=![],logger['warn']({'event':_0x6a99b9[_0x3716f7(0xde)]},_0x3716f7(0xd5));}),this['client'];}catch(_0x4528ce){logger[_0x2a4f84(0xdf)]({'event':_0x6a99b9['EnvFe'],'error':_0x4528ce[_0x2a4f84(0xc4)]},_0x2a4f84(0xce));throw _0x4528ce;}}[a0_0x1f189b(0xbc)](){const _0x3e01c5=a0_0x1f189b;return!this['client']&&this[_0x3e01c5(0xdb)](),this[_0x3e01c5(0xd4)];}async['ping'](_0x4ed6db=0x1388){const _0x136009={'YjoqB':function(_0x5dc480,_0x2a1982){return _0x5dc480===_0x2a1982;}};try{const _0x5529b7=this['getClient'](),_0x34b31c=await Promise['race']([_0x5529b7['ping'](),new Promise((_0x3bde14,_0x2c1076)=>setTimeout(()=>_0x2c1076(new Error('Redis\x20PING\x20timeout')),_0x4ed6db))]);return _0x136009['YjoqB'](_0x34b31c,'PONG');}catch(_0x904ed3){return![];}}async['disconnect'](){const _0x1ca9b0=a0_0x1f189b;this[_0x1ca9b0(0xd4)]&&(await this[_0x1ca9b0(0xd4)][_0x1ca9b0(0xdc)](),this[_0x1ca9b0(0xd4)]=null,this['isConnected']=![]);}[a0_0x1f189b(0xc1)](){const _0x35609b=a0_0x1f189b;this['client']&&(this['client'][_0x35609b(0xbd)](),this['client']=null,this[_0x35609b(0xdd)]=![]);}}module['exports']=new RedisClient();function a0_0x21d5(){const _0x1342ed=['CxvPDa','AxndB25Uzwn0zwq','yuTNAKq','zxjYB3i','mJiZmty2nxLTu0HezG','z2v0q2XPzw50','zgLZy29UBMvJDa','CMvKAxnFy29UBMvJDgvK','uKvesvnFue9sva','DwHWteK','zM9Yy2veAxnJB25Uzwn0','ndq0ndiWmK56s3HYrW','nZaWmda1AMn4ChLk','BwvZC2fNzq','rvHYEKe','uMvKAxmGy29UBMvJDgLVBIbLCNjVCJOG','nJeYmMj1ufb0qG','mZm0otq0mfbgDNHqwa','nKHoq3zsuq','CMvKAxnFzxjYB3i','mZuXnJKYmdfICwXlrKi','mtbTugHmDvG','uKvesvnFueftu1DpuKq','rMfPBgvKihrVigLUAxrPywXPEMuGuMvKAxm','Aw5MBW','uMvKAxmGy29UBMvJDgvKihn1y2nLC3nMDwXSEq','uKvesvnFse9tva','mZyZmtm2mgrUwhnrrq','Aw9YzwrPCW','y2XPzw50','uMvKAxmGy29UBMvJDgLVBIbJBg9Zzwq','lI9SB2DNzxi','mJC5s2TIq250','CMvKAxnFAw5PDf9LCNjVCG','tKfVEgW','zw52','y29UBMvJDa'];a0_0x21d5=function(){return _0x1342ed;};return a0_0x21d5();}
@@ -1 +1 @@
1
- const a0_0x5decb7=a0_0x1aa0;(function(_0x3f3ed3,_0x311237){const _0x5914f4=a0_0x1aa0,_0xa4980a=_0x3f3ed3();while(!![]){try{const _0x5d48fc=-parseInt(_0x5914f4(0x8d))/0x1+-parseInt(_0x5914f4(0x87))/0x2*(-parseInt(_0x5914f4(0x93))/0x3)+-parseInt(_0x5914f4(0x8f))/0x4+-parseInt(_0x5914f4(0x95))/0x5*(-parseInt(_0x5914f4(0x96))/0x6)+-parseInt(_0x5914f4(0x9c))/0x7*(-parseInt(_0x5914f4(0x8e))/0x8)+-parseInt(_0x5914f4(0x89))/0x9+parseInt(_0x5914f4(0x8b))/0xa;if(_0x5d48fc===_0x311237)break;else _0xa4980a['push'](_0xa4980a['shift']());}catch(_0x5e6acb){_0xa4980a['push'](_0xa4980a['shift']());}}}(a0_0x39ec,0x42fa1));const redisClient=require('./redis-client'),{logger}=require('./logger');function a0_0x1aa0(_0x5d0654,_0x9c041c){_0x5d0654=_0x5d0654-0x87;const _0x39ec4f=a0_0x39ec();let _0x1aa09a=_0x39ec4f[_0x5d0654];if(a0_0x1aa0['nTvzSp']===undefined){var _0x4f735d=function(_0x3bdb5c){const _0x3b7645='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3d1f07='',_0x1a4a3d='';for(let _0x594802=0x0,_0x4e8e9e,_0x2af1f9,_0x254190=0x0;_0x2af1f9=_0x3bdb5c['charAt'](_0x254190++);~_0x2af1f9&&(_0x4e8e9e=_0x594802%0x4?_0x4e8e9e*0x40+_0x2af1f9:_0x2af1f9,_0x594802++%0x4)?_0x3d1f07+=String['fromCharCode'](0xff&_0x4e8e9e>>(-0x2*_0x594802&0x6)):0x0){_0x2af1f9=_0x3b7645['indexOf'](_0x2af1f9);}for(let _0x553b09=0x0,_0x566257=_0x3d1f07['length'];_0x553b09<_0x566257;_0x553b09++){_0x1a4a3d+='%'+('00'+_0x3d1f07['charCodeAt'](_0x553b09)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1a4a3d);};a0_0x1aa0['ATiLgA']=_0x4f735d,a0_0x1aa0['MZnECe']={},a0_0x1aa0['nTvzSp']=!![];}const _0x241e2c=_0x39ec4f[0x0],_0x2c0ee7=_0x5d0654+_0x241e2c,_0x205c44=a0_0x1aa0['MZnECe'][_0x2c0ee7];return!_0x205c44?(_0x1aa09a=a0_0x1aa0['ATiLgA'](_0x1aa09a),a0_0x1aa0['MZnECe'][_0x2c0ee7]=_0x1aa09a):_0x1aa09a=_0x205c44,_0x1aa09a;}function a0_0x39ec(){const _0x68da8e=['CgfYC2u','EfLRyLm','CMvKAxnFz2v0x2vYCM9Y','zxjYB3i','oMv4Cg9YDdO','vLvVDe0','rMfPBgvKihrVigrLBgv0zsbQB2iGzNjVBsbszwrPCW','qLL6ugC','z2v0sM9I','zw52','A2v5CW','mta0ndboyvbiBxK','ChjLzML4','ndm4ntyWmw5RqvrTzW','x3bYzwzPEa','mtG2odG4mgn0wNzkBq','CMvKAxnFz2v0ywXSx2vYCM9Y','mZaWmJHcyKnwv20','mJq2mdG1nKfPAxfpva','nJC3ndyWDxfhwNfO','DhrS','z2v0','BwvZC2fNzq','mJuYzLrJEvrp','rMfPBgvKihrVigDLDcbHBgWGAM9ICW','nuLythznBq','mty4mJy0EwDhs2j6','z2v0q2XPzw50','C2v0sM9I','zgvMyxvSDa','C3rYAw5NAwz5','zxHWB3j0CW','n1r2u3fmyW'];a0_0x39ec=function(){return _0x68da8e;};return a0_0x39ec();}class RedisHelper{constructor(){const _0x3b315b=a0_0x1aa0;this[_0x3b315b(0x8a)]=null,this[_0x3b315b(0x90)]=parseInt(process[_0x3b315b(0xa6)]['EXPORT_FILE_EXPIRY'],0xa)||0xe10;}get[a0_0x5decb7(0x88)](){const _0x482065=a0_0x5decb7,_0x3e680e={'xYkbS':_0x482065(0x99)};if(!this[_0x482065(0x8a)]){const _0x23533d=process['env']['RESTFORGE_PROJECT_NAME']||_0x3e680e[_0x482065(0x9e)];this[_0x482065(0x8a)]='restforge:'+_0x23533d+_0x482065(0xa1);}return this['_prefix'];}async[a0_0x5decb7(0x98)](_0x1b1c62,_0x5a5c6a){const _0x4dd9a3=a0_0x5decb7,_0x4a5aa2={'pKmqf':'Failed\x20to\x20set\x20job\x20in\x20Redis'};try{const _0x4a5455=redisClient['getClient'](),_0x48bda7=''+this['prefix']+_0x1b1c62;return await _0x4a5455['setex'](_0x48bda7,this['ttl'],JSON[_0x4dd9a3(0x9a)](_0x5a5c6a)),!![];}catch(_0x3ba5e2){return logger[_0x4dd9a3(0xa0)]({'event':'redis_set_error','jobId':_0x1b1c62,'error':_0x3ba5e2[_0x4dd9a3(0x92)]},_0x4a5aa2['pKmqf']),![];}}async['getJob'](_0x28a0af){const _0x1a95e7=a0_0x5decb7,_0x26a23b={'uJlic':'Failed\x20to\x20get\x20job\x20from\x20Redis'};try{const _0x10a556=redisClient['getClient'](),_0xcc7d52=''+this[_0x1a95e7(0x88)]+_0x28a0af,_0x5a0e41=await _0x10a556['get'](_0xcc7d52);return _0x5a0e41?JSON['parse'](_0x5a0e41):null;}catch(_0xdf77ea){return logger['error']({'event':_0x1a95e7(0x9f),'jobId':_0x28a0af,'error':_0xdf77ea[_0x1a95e7(0x92)]},_0x26a23b['uJlic']),null;}}async['updateJob'](_0x3be54b,_0xb518ee){const _0x5a34cc=a0_0x5decb7,_0x4f1a01=await this[_0x5a34cc(0xa5)](_0x3be54b);if(!_0x4f1a01)return![];const _0x6a4298={..._0x4f1a01,..._0xb518ee};return await this['setJob'](_0x3be54b,_0x6a4298);}async['deleteJob'](_0x2307ea){const _0x5361e4=a0_0x5decb7,_0x560a58={'bVZJC':'redis_delete_error','VUotM':_0x5361e4(0xa3)};try{const _0x805c37=redisClient[_0x5361e4(0x97)](),_0x2c5a8e=''+this[_0x5361e4(0x88)]+_0x2307ea;return await _0x805c37['del'](_0x2c5a8e),!![];}catch(_0x2de0c0){return logger[_0x5361e4(0xa0)]({'event':_0x560a58['bVZJC'],'jobId':_0x2307ea,'error':_0x2de0c0[_0x5361e4(0x92)]},_0x560a58[_0x5361e4(0xa2)]),![];}}async['getAllJobs'](){const _0x17b464=a0_0x5decb7,_0x112668={'BYzPg':_0x17b464(0x94)};try{const _0x1f5c9e=redisClient['getClient'](),_0x48c244=await _0x1f5c9e[_0x17b464(0xa7)](this[_0x17b464(0x88)]+'*'),_0x1b2769=[];for(const _0x47fdc8 of _0x48c244){const _0x226fb5=await _0x1f5c9e[_0x17b464(0x91)](_0x47fdc8);_0x226fb5&&_0x1b2769['push'](JSON[_0x17b464(0x9d)](_0x226fb5));}return _0x1b2769;}catch(_0x77ee2){return logger[_0x17b464(0xa0)]({'event':_0x17b464(0x8c),'error':_0x77ee2[_0x17b464(0x92)]},_0x112668[_0x17b464(0xa4)]),[];}}}module[a0_0x5decb7(0x9b)]=new RedisHelper();
1
+ const a0_0x3756f8=a0_0xc7ab;(function(_0xc5bede,_0x152ec2){const _0x239350=a0_0xc7ab,_0x1096da=_0xc5bede();while(!![]){try{const _0x9999ee=-parseInt(_0x239350(0x1c8))/0x1*(-parseInt(_0x239350(0x1e7))/0x2)+-parseInt(_0x239350(0x1d7))/0x3+-parseInt(_0x239350(0x1d6))/0x4*(parseInt(_0x239350(0x1cd))/0x5)+parseInt(_0x239350(0x1cf))/0x6*(-parseInt(_0x239350(0x1cb))/0x7)+parseInt(_0x239350(0x1e4))/0x8+-parseInt(_0x239350(0x1e5))/0x9*(-parseInt(_0x239350(0x1d1))/0xa)+parseInt(_0x239350(0x1c7))/0xb*(parseInt(_0x239350(0x1e1))/0xc);if(_0x9999ee===_0x152ec2)break;else _0x1096da['push'](_0x1096da['shift']());}catch(_0x2792ce){_0x1096da['push'](_0x1096da['shift']());}}}(a0_0x1ccd,0xed370));const redisClient=require('./redis-client'),{logger}=require('./logger');class RedisHelper{constructor(){const _0x392978=a0_0xc7ab;this[_0x392978(0x1e2)]=null,this[_0x392978(0x1d2)]=parseInt(process[_0x392978(0x1ce)]['EXPORT_FILE_EXPIRY'],0xa)||0xe10;}get[a0_0x3756f8(0x1da)](){const _0x46072e=a0_0x3756f8;if(!this[_0x46072e(0x1e2)]){const _0x367926=process[_0x46072e(0x1ce)][_0x46072e(0x1e6)]||'default';this['_prefix']=_0x46072e(0x1e8)+_0x367926+':export:';}return this[_0x46072e(0x1e2)];}async[a0_0x3756f8(0x1df)](_0x4bca7d,_0x2ed3ad){const _0x4d1b71=a0_0x3756f8,_0x3ae0c={'prKOk':'redis_set_error'};try{const _0x260f88=redisClient[_0x4d1b71(0x1d9)](),_0x4ecc55=''+this['prefix']+_0x4bca7d;return await _0x260f88['setex'](_0x4ecc55,this['ttl'],JSON[_0x4d1b71(0x1db)](_0x2ed3ad)),!![];}catch(_0x345a05){return logger[_0x4d1b71(0x1d8)]({'event':_0x3ae0c[_0x4d1b71(0x1ca)],'jobId':_0x4bca7d,'error':_0x345a05[_0x4d1b71(0x1d0)]},'Failed\x20to\x20set\x20job\x20in\x20Redis'),![];}}async['getJob'](_0x4b86c0){const _0x355c01=a0_0x3756f8,_0x59aab0={'QMUsA':'Failed\x20to\x20get\x20job\x20from\x20Redis'};try{const _0x31ddc7=redisClient[_0x355c01(0x1d9)](),_0x3a1db2=''+this[_0x355c01(0x1da)]+_0x4b86c0,_0x2a1f22=await _0x31ddc7[_0x355c01(0x1e3)](_0x3a1db2);return _0x2a1f22?JSON['parse'](_0x2a1f22):null;}catch(_0x11db96){return logger['error']({'event':_0x355c01(0x1d4),'jobId':_0x4b86c0,'error':_0x11db96['message']},_0x59aab0['QMUsA']),null;}}async['updateJob'](_0x4b4e0d,_0x3c902b){const _0x2b3b11=a0_0x3756f8,_0x18cb8a=await this[_0x2b3b11(0x1cc)](_0x4b4e0d);if(!_0x18cb8a)return![];const _0x5b89f9={..._0x18cb8a,..._0x3c902b};return await this['setJob'](_0x4b4e0d,_0x5b89f9);}async['deleteJob'](_0x49d458){const _0x5ea807=a0_0x3756f8,_0xe04e74={'cLiKp':'Failed\x20to\x20delete\x20job\x20from\x20Redis'};try{const _0x6898dc=redisClient['getClient'](),_0xa396e2=''+this['prefix']+_0x49d458;return await _0x6898dc[_0x5ea807(0x1e9)](_0xa396e2),!![];}catch(_0x1a6b4b){return logger['error']({'event':_0x5ea807(0x1d5),'jobId':_0x49d458,'error':_0x1a6b4b['message']},_0xe04e74['cLiKp']),![];}}async[a0_0x3756f8(0x1dd)](){const _0x43a12e=a0_0x3756f8,_0x1e6c62={'WQagA':_0x43a12e(0x1de)};try{const _0x158586=redisClient[_0x43a12e(0x1d9)](),_0x3af80f=await _0x158586[_0x43a12e(0x1d3)](this[_0x43a12e(0x1da)]+'*'),_0x59a3d4=[];for(const _0x931019 of _0x3af80f){const _0x10f1bb=await _0x158586[_0x43a12e(0x1e3)](_0x931019);_0x10f1bb&&_0x59a3d4[_0x43a12e(0x1c9)](JSON[_0x43a12e(0x1dc)](_0x10f1bb));}return _0x59a3d4;}catch(_0x27df08){return logger[_0x43a12e(0x1d8)]({'event':_0x1e6c62[_0x43a12e(0x1e0)],'error':_0x27df08[_0x43a12e(0x1d0)]},'Failed\x20to\x20get\x20all\x20jobs'),[];}}}function a0_0xc7ab(_0x2fd742,_0x459441){_0x2fd742=_0x2fd742-0x1c6;const _0x1ccdd9=a0_0x1ccd();let _0xc7aba8=_0x1ccdd9[_0x2fd742];if(a0_0xc7ab['gcALmN']===undefined){var _0x7b8fb5=function(_0x5be2e8){const _0x571743='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x151baf='',_0x260f63='';for(let _0x3e5802=0x0,_0x51bd0d,_0x50cff7,_0x3a42ae=0x0;_0x50cff7=_0x5be2e8['charAt'](_0x3a42ae++);~_0x50cff7&&(_0x51bd0d=_0x3e5802%0x4?_0x51bd0d*0x40+_0x50cff7:_0x50cff7,_0x3e5802++%0x4)?_0x151baf+=String['fromCharCode'](0xff&_0x51bd0d>>(-0x2*_0x3e5802&0x6)):0x0){_0x50cff7=_0x571743['indexOf'](_0x50cff7);}for(let _0x289d20=0x0,_0x152794=_0x151baf['length'];_0x289d20<_0x152794;_0x289d20++){_0x260f63+='%'+('00'+_0x151baf['charCodeAt'](_0x289d20)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x260f63);};a0_0xc7ab['hClVZF']=_0x7b8fb5,a0_0xc7ab['PDvNOF']={},a0_0xc7ab['gcALmN']=!![];}const _0x1bcfdd=_0x1ccdd9[0x0],_0x5771cb=_0x2fd742+_0x1bcfdd,_0x1e5f52=a0_0xc7ab['PDvNOF'][_0x5771cb];return!_0x1e5f52?(_0xc7aba8=a0_0xc7ab['hClVZF'](_0xc7aba8),a0_0xc7ab['PDvNOF'][_0x5771cb]=_0xc7aba8):_0xc7aba8=_0x1e5f52,_0xc7aba8;}module[a0_0x3756f8(0x1c6)]=new RedisHelper();function a0_0x1ccd(){const _0x2662c1=['x3bYzwzPEa','z2v0','nJqYmdaZmK9Nug9lvG','mJq3ndyXm3DYuwntAW','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','ngnPBujXCW','CMvZDgzVCMDLoG','zgvS','zxHWB3j0CW','mZnOs2DVs0G','ndKYmZq2t0jqBuLY','ChvZAa','Chjlt2S','n01zC0LXzq','z2v0sM9I','odu2mta1EK90Bgrl','zw52','mte0nZe1nZr1thD1BLy','BwvZC2fNzq','mJbSENjly3q','DhrS','A2v5CW','CMvKAxnFz2v0x2vYCM9Y','CMvKAxnFzgvSzxrLx2vYCM9Y','ndbgrffyvuu','ntC3mJqWmMLIq1DXtG','zxjYB3i','z2v0q2XPzw50','ChjLzML4','C3rYAw5NAwz5','CgfYC2u','z2v0qwXSsM9ICW','CMvKAxnFz2v0ywXSx2vYCM9Y','C2v0sM9I','v1fHz0e','mty3mZeXodbishj0uha'];a0_0x1ccd=function(){return _0x2662c1;};return a0_0x1ccd();}