@restforgejs/platform 5.1.16 → 5.1.20

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 (176) 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/cli/catalog/dbschema.js +2 -1
  5. package/generators/cli/endpoint/list.js +264 -0
  6. package/generators/cli/fast-track.js +395 -37
  7. package/generators/cli/processor/create.js +7 -7
  8. package/generators/cli/processor/list.js +229 -0
  9. package/generators/lib/generators/dashboard-generator.js +5 -5
  10. package/generators/lib/payload/payload-runner.js +63 -0
  11. package/generators/lib/templates/dashboard-catalog.js +1 -1
  12. package/generators/lib/templates/db-connection-env.js +1 -1
  13. package/generators/lib/templates/dbschema-catalog.js +1 -1
  14. package/generators/lib/templates/field-validation-catalog.js +1 -1
  15. package/generators/lib/templates/mysql-template.js +1 -1
  16. package/generators/lib/templates/oracle-template.js +1 -1
  17. package/generators/lib/templates/postgres-template.js +1 -1
  18. package/generators/lib/templates/query-declarative-catalog.js +1 -1
  19. package/generators/lib/templates/sqlite-template.js +1 -1
  20. package/integrity-manifest.json +18 -18
  21. package/package.json +1 -1
  22. package/scripts/check-install.js +8 -8
  23. package/scripts/verify-integrity.js +1 -1
  24. package/server.js +1 -1
  25. package/src/components/handlers/adjust_handler.js +1 -1
  26. package/src/components/handlers/audit_handler.js +1 -1
  27. package/src/components/handlers/delete_handler.js +1 -1
  28. package/src/components/handlers/export_handler.js +1 -1
  29. package/src/components/handlers/import_handler.js +1 -1
  30. package/src/components/handlers/insert_handler.js +1 -1
  31. package/src/components/handlers/update_handler.js +1 -1
  32. package/src/components/handlers/upload_handler.js +1 -1
  33. package/src/components/handlers/workflow_handler.js +1 -1
  34. package/src/components/integrations/webhook.js +1 -1
  35. package/src/consumers/baseConsumer.js +1 -1
  36. package/src/consumers/declarativeMapper.js +1 -1
  37. package/src/consumers/handlers/apiHandler.js +1 -1
  38. package/src/consumers/handlers/consoleHandler.js +1 -1
  39. package/src/consumers/handlers/databaseHandler.js +1 -1
  40. package/src/consumers/handlers/index.js +1 -1
  41. package/src/consumers/handlers/kafkaHandler.js +1 -1
  42. package/src/consumers/index.js +1 -1
  43. package/src/consumers/messageTransformer.js +1 -1
  44. package/src/consumers/validator.js +1 -1
  45. package/src/core/db/dialect/base-dialect.js +1 -1
  46. package/src/core/db/dialect/index.js +1 -1
  47. package/src/core/db/dialect/mysql-dialect.js +1 -1
  48. package/src/core/db/dialect/oracle-dialect.js +1 -1
  49. package/src/core/db/dialect/postgres-dialect.js +1 -1
  50. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  51. package/src/core/db/flatten-helper.js +1 -1
  52. package/src/core/db/query-builder-error.js +1 -1
  53. package/src/core/db/query-builder.js +1 -1
  54. package/src/core/db/relation-helper.js +1 -1
  55. package/src/core/handlers/delete_handler.js +1 -1
  56. package/src/core/handlers/insert_handler.js +1 -1
  57. package/src/core/handlers/update_handler.js +1 -1
  58. package/src/core/models/base-model.js +1 -1
  59. package/src/core/utils/cache-manager.js +1 -1
  60. package/src/core/utils/component-engine.js +1 -1
  61. package/src/core/utils/context-builder.js +1 -1
  62. package/src/core/utils/datetime-formatter.js +1 -1
  63. package/src/core/utils/datetime-parser.js +1 -1
  64. package/src/core/utils/db.js +1 -1
  65. package/src/core/utils/logger.js +1 -1
  66. package/src/core/utils/payload-loader.js +1 -1
  67. package/src/core/utils/security-checks.js +1 -1
  68. package/src/middleware/body-options.js +1 -1
  69. package/src/middleware/cors.js +1 -1
  70. package/src/middleware/idempotency.js +1 -1
  71. package/src/middleware/rate-limiter.js +1 -1
  72. package/src/middleware/request-logger.js +1 -1
  73. package/src/middleware/security-headers.js +1 -1
  74. package/src/models/base-model-mysql.js +1 -1
  75. package/src/models/base-model-oracle.js +1 -1
  76. package/src/models/base-model-sqlite.js +1 -1
  77. package/src/models/base-model.js +1 -1
  78. package/src/pro/caching/redis-client.js +1 -1
  79. package/src/pro/caching/redis-helper.js +1 -1
  80. package/src/pro/consumers/baseConsumer.js +1 -1
  81. package/src/pro/consumers/declarativeMapper.js +1 -1
  82. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  83. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  84. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  85. package/src/pro/consumers/handlers/index.js +1 -1
  86. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  87. package/src/pro/consumers/index.js +1 -1
  88. package/src/pro/consumers/messageTransformer.js +1 -1
  89. package/src/pro/consumers/validator.js +1 -1
  90. package/src/pro/database/base-model-mysql.js +1 -1
  91. package/src/pro/database/base-model-oracle.js +1 -1
  92. package/src/pro/database/base-model-sqlite.js +1 -1
  93. package/src/pro/database/db-mysql.js +1 -1
  94. package/src/pro/database/db-oracle.js +1 -1
  95. package/src/pro/database/db-sqlite.js +1 -1
  96. package/src/pro/excel/excel-generator.js +1 -1
  97. package/src/pro/excel/excel-parser.js +1 -1
  98. package/src/pro/excel/export-service.js +1 -1
  99. package/src/pro/excel/export_handler.js +1 -1
  100. package/src/pro/excel/import-service.js +1 -1
  101. package/src/pro/excel/import-validator.js +1 -1
  102. package/src/pro/excel/import_handler.js +1 -1
  103. package/src/pro/excel/upsert-builder.js +1 -1
  104. package/src/pro/idgen/idgen-routes.js +1 -1
  105. package/src/pro/integrations/lookup-resolver.js +1 -1
  106. package/src/pro/integrations/upload-handler-v2.js +1 -1
  107. package/src/pro/integrations/upload-handler.js +1 -1
  108. package/src/pro/integrations/webhook.js +1 -1
  109. package/src/pro/locking/lock-routes.js +1 -1
  110. package/src/pro/locking/resource-lock-manager.js +1 -1
  111. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  112. package/src/pro/messaging/kafkaService.js +1 -1
  113. package/src/pro/messaging/messagehubService.js +1 -1
  114. package/src/pro/messaging/rabbitmqService.js +1 -1
  115. package/src/pro/scheduler/job-manager.js +1 -1
  116. package/src/pro/scheduler/job-routes.js +1 -1
  117. package/src/pro/scheduler/job-validator.js +1 -1
  118. package/src/pro/storage/base-storage-provider.js +1 -1
  119. package/src/pro/storage/file-metadata-helper.js +1 -1
  120. package/src/pro/storage/index.js +1 -1
  121. package/src/pro/storage/local-storage-provider.js +1 -1
  122. package/src/pro/storage/s3-storage-provider.js +1 -1
  123. package/src/pro/storage/upload-cleanup-job.js +1 -1
  124. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  125. package/src/pro/storage/upload-pending-tracker.js +1 -1
  126. package/src/pro/websocket/broadcast-helper.js +1 -1
  127. package/src/pro/websocket/index.js +1 -1
  128. package/src/pro/websocket/livesync-server.js +1 -1
  129. package/src/pro/websocket/ws-broadcaster.js +1 -1
  130. package/src/services/export-service.js +1 -1
  131. package/src/services/import-service.js +1 -1
  132. package/src/services/kafkaConsumerService.js +1 -1
  133. package/src/services/kafkaService.js +1 -1
  134. package/src/services/messagehubService.js +1 -1
  135. package/src/services/rabbitmqService.js +1 -1
  136. package/src/utils/cache-invalidation-registry.js +1 -1
  137. package/src/utils/cache-manager.js +1 -1
  138. package/src/utils/component-engine.js +1 -1
  139. package/src/utils/config-extractor.js +1 -1
  140. package/src/utils/consumerLogger.js +1 -1
  141. package/src/utils/context-builder.js +1 -1
  142. package/src/utils/dashboard-helpers.js +1 -1
  143. package/src/utils/dateHelper.js +1 -1
  144. package/src/utils/datetime-formatter.js +1 -1
  145. package/src/utils/datetime-parser.js +1 -1
  146. package/src/utils/db-bootstrap.js +1 -1
  147. package/src/utils/db-mysql.js +1 -1
  148. package/src/utils/db-oracle.js +1 -1
  149. package/src/utils/db-sqlite.js +1 -1
  150. package/src/utils/db.js +1 -1
  151. package/src/utils/demo-generator.js +1 -1
  152. package/src/utils/excel-generator.js +1 -1
  153. package/src/utils/excel-parser.js +1 -1
  154. package/src/utils/file-watcher.js +1 -1
  155. package/src/utils/id-generator.js +1 -1
  156. package/src/utils/idempotency-manager.js +1 -1
  157. package/src/utils/import-validator.js +1 -1
  158. package/src/utils/license-client.js +1 -1
  159. package/src/utils/lock-manager.js +1 -1
  160. package/src/utils/logger.js +1 -1
  161. package/src/utils/lookup-resolver.js +1 -1
  162. package/src/utils/payload-loader.js +1 -1
  163. package/src/utils/processor-response.js +1 -1
  164. package/src/utils/rabbitmq.js +1 -1
  165. package/src/utils/redis-client.js +1 -1
  166. package/src/utils/redis-helper.js +1 -1
  167. package/src/utils/request-scope.js +1 -1
  168. package/src/utils/security-checks.js +1 -1
  169. package/src/utils/service-resolver.js +1 -1
  170. package/src/utils/shutdown-coordinator.js +1 -1
  171. package/src/utils/soft-delete-dashboard-guard.js +1 -1
  172. package/src/utils/sql-table-extractor.js +1 -1
  173. package/src/utils/trusted-keys.js +1 -1
  174. package/src/utils/upload-handler.js +1 -1
  175. package/src/utils/upsert-builder.js +1 -1
  176. package/src/utils/workflow-hook-executor.js +1 -1
@@ -1 +1 @@
1
- const a0_0x4b7b72=a0_0x1dbc;(function(_0x22072d,_0x58ff32){const _0xc76b3e=a0_0x1dbc,_0x1ba020=_0x22072d();while(!![]){try{const _0x3d4739=parseInt(_0xc76b3e(0x19a))/0x1+parseInt(_0xc76b3e(0x169))/0x2*(-parseInt(_0xc76b3e(0x167))/0x3)+-parseInt(_0xc76b3e(0x170))/0x4+-parseInt(_0xc76b3e(0x163))/0x5+parseInt(_0xc76b3e(0x183))/0x6+-parseInt(_0xc76b3e(0x1af))/0x7+parseInt(_0xc76b3e(0x1a7))/0x8;if(_0x3d4739===_0x58ff32)break;else _0x1ba020['push'](_0x1ba020['shift']());}catch(_0x76fd5a){_0x1ba020['push'](_0x1ba020['shift']());}}}(a0_0x488d,0x1e297));const redisClient=require('./redis-client'),{logger}=require(a0_0x4b7b72(0x177)),{v4:uuidv4}=require(a0_0x4b7b72(0x1ae));function a0_0x1dbc(_0x1aba52,_0x5bcbdd){_0x1aba52=_0x1aba52-0x160;const _0x488d5f=a0_0x488d();let _0x1dbcc9=_0x488d5f[_0x1aba52];if(a0_0x1dbc['AAloGe']===undefined){var _0x34d0b0=function(_0x3e34db){const _0x29a188='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5d11d5='',_0x5ce419='';for(let _0x5a064f=0x0,_0x3958c6,_0x3172f2,_0x5b82d4=0x0;_0x3172f2=_0x3e34db['charAt'](_0x5b82d4++);~_0x3172f2&&(_0x3958c6=_0x5a064f%0x4?_0x3958c6*0x40+_0x3172f2:_0x3172f2,_0x5a064f++%0x4)?_0x5d11d5+=String['fromCharCode'](0xff&_0x3958c6>>(-0x2*_0x5a064f&0x6)):0x0){_0x3172f2=_0x29a188['indexOf'](_0x3172f2);}for(let _0x1bc090=0x0,_0x4efcbb=_0x5d11d5['length'];_0x1bc090<_0x4efcbb;_0x1bc090++){_0x5ce419+='%'+('00'+_0x5d11d5['charCodeAt'](_0x1bc090)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5ce419);};a0_0x1dbc['uKwoiL']=_0x34d0b0,a0_0x1dbc['IIQwfm']={},a0_0x1dbc['AAloGe']=!![];}const _0x5b2308=_0x488d5f[0x0],_0x376d39=_0x1aba52+_0x5b2308,_0x206378=a0_0x1dbc['IIQwfm'][_0x376d39];return!_0x206378?(_0x1dbcc9=a0_0x1dbc['uKwoiL'](_0x1dbcc9),a0_0x1dbc['IIQwfm'][_0x376d39]=_0x1dbcc9):_0x1dbcc9=_0x206378,_0x1dbcc9;}class LockManager{constructor(){const _0x3c92ef=a0_0x4b7b72;this[_0x3c92ef(0x173)]=null,this[_0x3c92ef(0x164)]=null,this[_0x3c92ef(0x1a3)]=null,this['_retryCount']=null,this['_retryDelay']=null,this[_0x3c92ef(0x1b4)]=null,this['_workerId']=null,this['_initialized']=![];}['_initConfig'](){const _0x3df9dd=a0_0x4b7b72,_0x95cbc3={'woOKj':'rf:lock:','SFBRL':function(_0x7420ca,_0x2e022b){return _0x7420ca===_0x2e022b;},'CEpIt':_0x3df9dd(0x1ab),'lSPXT':function(_0x1cfcd2,_0x139b06,_0x1cb3fc){return _0x1cfcd2(_0x139b06,_0x1cb3fc);},'hbWbT':function(_0x449046,_0x58c5ba,_0x4a8e33){return _0x449046(_0x58c5ba,_0x4a8e33);}};this['_prefix']=_0x95cbc3['woOKj'],this[_0x3df9dd(0x164)]=_0x95cbc3['SFBRL'](process['env'][_0x3df9dd(0x17f)],_0x95cbc3['CEpIt']),this[_0x3df9dd(0x1a3)]=_0x95cbc3[_0x3df9dd(0x1b7)](parseInt,process[_0x3df9dd(0x18c)]['LOCK_DISTRIBUTED_TTL'],0xa)||0xa,this['_retryCount']=_0x95cbc3[_0x3df9dd(0x1a6)](parseInt,process['env'][_0x3df9dd(0x17e)],0xa)||0x3,this['_retryDelay']=_0x95cbc3[_0x3df9dd(0x1b7)](parseInt,process['env'][_0x3df9dd(0x19e)],0xa)||0x64,this[_0x3df9dd(0x1b4)]=process['env']['LOCK_DISTRIBUTED_STRATEGY']||_0x3df9dd(0x196),this[_0x3df9dd(0x188)]='worker-'+process[_0x3df9dd(0x18b)],this[_0x3df9dd(0x197)]=!![],logger['info']({'event':_0x3df9dd(0x168),'enabled':this['_enabled'],'strategy':this['_strategy'],'ttl':this[_0x3df9dd(0x1a3)],'retryCount':this['_retryCount'],'retryDelay':this['_retryDelay'],'workerId':this['_workerId']},_0x3df9dd(0x19c)+this['_enabled']+_0x3df9dd(0x184)+this[_0x3df9dd(0x1b4)]);}[a0_0x4b7b72(0x1b3)](){!this['_initialized']&&this['_initConfig']();}get[a0_0x4b7b72(0x198)](){const _0x1d169d=a0_0x4b7b72;return this[_0x1d169d(0x1b3)](),this['_prefix'];}get['enabled'](){const _0x2ddce4=a0_0x4b7b72;return this['_ensureInitialized'](),this[_0x2ddce4(0x164)];}get[a0_0x4b7b72(0x161)](){const _0x11b426=a0_0x4b7b72;return this['_ensureInitialized'](),this[_0x11b426(0x1a3)];}get[a0_0x4b7b72(0x16f)](){const _0x45e626=a0_0x4b7b72;return this[_0x45e626(0x1b3)](),this['_retryCount'];}get[a0_0x4b7b72(0x179)](){const _0x33e165=a0_0x4b7b72;return this[_0x33e165(0x1b3)](),this['_retryDelay'];}get[a0_0x4b7b72(0x162)](){const _0x1cb3f3=a0_0x4b7b72;return this[_0x1cb3f3(0x1b3)](),this[_0x1cb3f3(0x1b4)];}get[a0_0x4b7b72(0x19f)](){const _0x44d77a=a0_0x4b7b72;return this[_0x44d77a(0x1b3)](),this['_workerId'];}[a0_0x4b7b72(0x17b)](_0x950b7e){const {module:_0x1c8be6,endpoint:_0x463bdc,lockType:_0x48106f,recordId:_0x1f646c}=_0x950b7e;if(_0x1f646c)return''+this['prefix']+_0x1c8be6+':'+_0x463bdc+':'+_0x1f646c+':'+_0x48106f;return''+this['prefix']+_0x1c8be6+':'+_0x463bdc+':'+_0x48106f;}['generateLockValue'](){const _0xd9cf80=a0_0x4b7b72,_0x6c86de={'yCqpK':function(_0x1d96b6){return _0x1d96b6();}};return this[_0xd9cf80(0x19f)]+':'+_0x6c86de[_0xd9cf80(0x17d)](uuidv4)+':'+Date[_0xd9cf80(0x187)]();}async[a0_0x4b7b72(0x189)](_0x51ef47){const _0x399717=a0_0x4b7b72,_0x338b1b={'GWJwg':'read','EbFSf':'READ\x20lock\x20acquired','IGLQC':_0x399717(0x19b),'kHrJF':'Waiting\x20for\x20WRITE\x20lock\x20to\x20release','QuaXi':'READ\x20lock\x20acquire\x20timeout','CkUXi':'READ\x20lock\x20error'};if(!this[_0x399717(0x1ac)])return{'success':!![],'lockValue':null,'lockKey':null};const _0x253bbe=this['buildLockKey']({..._0x51ef47,'lockType':'write'}),_0x47b6d7=this[_0x399717(0x17b)]({..._0x51ef47,'lockType':_0x338b1b['GWJwg']}),_0x2d7cbb=this[_0x399717(0x191)]();try{const _0x45decb=redisClient['getClient']();for(let _0x4c1bb8=0x0;_0x4c1bb8<this['retryCount'];_0x4c1bb8++){const _0x219707=await _0x45decb[_0x399717(0x16d)](_0x253bbe);if(!_0x219707){await _0x45decb[_0x399717(0x16e)](_0x47b6d7),await _0x45decb['expire'](_0x47b6d7,this[_0x399717(0x161)]);const _0x5a8b45=_0x47b6d7+':'+_0x2d7cbb;return await _0x45decb['setex'](_0x5a8b45,this[_0x399717(0x161)],_0x2d7cbb),logger[_0x399717(0x165)]({'event':'read_lock_acquired','key':_0x47b6d7,'value':_0x2d7cbb},_0x338b1b['EbFSf']),{'success':!![],'lockValue':_0x2d7cbb,'lockKey':_0x5a8b45};}logger['debug']({'event':_0x338b1b[_0x399717(0x1a5)],'writeKey':_0x253bbe,'attempt':_0x4c1bb8},_0x338b1b['kHrJF']),await this[_0x399717(0x185)](this[_0x399717(0x179)]*Math['pow'](0x2,_0x4c1bb8));}return logger['warn']({'event':_0x399717(0x1a4),'key':_0x47b6d7},_0x338b1b[_0x399717(0x1b6)]),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x4145ca){return logger['error']({'event':'read_lock_error','error':_0x4145ca[_0x399717(0x1b0)]},_0x338b1b[_0x399717(0x193)]),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x4b7b72(0x181)](_0x3ba75b){const _0x35c0a8=a0_0x4b7b72,_0x29b24b={'YNTiy':'reject','olOEb':function(_0xa90e42,_0x4a3e15){return _0xa90e42===_0x4a3e15;},'vLSdJ':'write_lock_acquired','kskVU':_0x35c0a8(0x1a9),'PJFcH':_0x35c0a8(0x1a0),'zGEZE':_0x35c0a8(0x16c),'KUEXr':function(_0x1e558e,_0x55a16f){return _0x1e558e<_0x55a16f;},'TKUHd':function(_0x541900,_0x18dd72){return _0x541900(_0x18dd72);},'yPtAi':'write_lock_timeout','mhTzJ':'write_lock_error'};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x5ef02e=this['buildLockKey']({..._0x3ba75b,'lockType':_0x35c0a8(0x192)}),_0x1d2874=this[_0x35c0a8(0x17b)]({..._0x3ba75b,'lockType':_0x35c0a8(0x16b)}),_0x1764e0=this[_0x35c0a8(0x191)]();try{const _0x1e2d3e=redisClient['getClient']();if(this[_0x35c0a8(0x162)]===_0x29b24b[_0x35c0a8(0x190)]){const _0x2ddd4f=await _0x1e2d3e[_0x35c0a8(0x195)](_0x5ef02e,_0x1764e0,'EX',this['defaultTTL'],'NX');if(_0x29b24b[_0x35c0a8(0x166)](_0x2ddd4f,'OK'))return logger[_0x35c0a8(0x165)]({'event':_0x29b24b[_0x35c0a8(0x182)],'key':_0x5ef02e,'value':_0x1764e0,'strategy':'reject'},_0x29b24b['kskVU']),{'success':!![],'lockValue':_0x1764e0,'lockKey':_0x5ef02e};return logger['debug']({'event':_0x29b24b['PJFcH'],'key':_0x5ef02e},_0x29b24b[_0x35c0a8(0x1a8)]),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x3f310e=0x0;_0x29b24b[_0x35c0a8(0x18d)](_0x3f310e,this[_0x35c0a8(0x16f)]);_0x3f310e++){const [_0x24ae8b,_0x229fd7]=await Promise['all']([_0x1e2d3e['get'](_0x1d2874),_0x1e2d3e[_0x35c0a8(0x16d)](_0x5ef02e)]);if(!_0x229fd7&&(!_0x24ae8b||_0x29b24b['TKUHd'](parseInt,_0x24ae8b)===0x0)){const _0xfaadad=await _0x1e2d3e[_0x35c0a8(0x195)](_0x5ef02e,_0x1764e0,'EX',this['defaultTTL'],'NX');if(_0x29b24b[_0x35c0a8(0x166)](_0xfaadad,'OK'))return logger[_0x35c0a8(0x165)]({'event':_0x35c0a8(0x180),'key':_0x5ef02e,'value':_0x1764e0,'strategy':'retry'},_0x35c0a8(0x199)),{'success':!![],'lockValue':_0x1764e0,'lockKey':_0x5ef02e};}logger['debug']({'event':'write_lock_waiting','writeKey':_0x5ef02e,'readCount':_0x24ae8b,'attempt':_0x3f310e},'Waiting\x20for\x20locks\x20to\x20release'),await this[_0x35c0a8(0x185)](this[_0x35c0a8(0x179)]*Math[_0x35c0a8(0x186)](0x2,_0x3f310e));}return logger['warn']({'event':_0x29b24b[_0x35c0a8(0x178)],'key':_0x5ef02e},'WRITE\x20lock\x20acquire\x20timeout'),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x2a30b1){return logger[_0x35c0a8(0x176)]({'event':_0x29b24b['mhTzJ'],'error':_0x2a30b1[_0x35c0a8(0x1b0)]},_0x35c0a8(0x1a1)),{'success':![],'lockValue':null,'lockKey':null};}}async['releaseLock'](_0xd5a742,_0x4b71cf){const _0x36b91b=a0_0x4b7b72,_0x67884f={'LnjBm':function(_0x20c027,_0x2ca143){return _0x20c027(_0x2ca143);},'UeRvW':_0x36b91b(0x19d),'QfATp':function(_0x2283c9,_0x40009d){return _0x2283c9===_0x40009d;},'DLqkw':'lock_release_error','cqxmK':'Lock\x20release\x20error'};if(!this[_0x36b91b(0x1ac)]||!_0xd5a742)return!![];try{const _0x5224d6=redisClient['getClient']();if(_0xd5a742[_0x36b91b(0x194)](_0x36b91b(0x18e))){await _0x5224d6[_0x36b91b(0x174)](_0xd5a742);const _0x8e1ee2=_0xd5a742['substring'](0x0,_0xd5a742[_0x36b91b(0x1b2)](':')),_0x2778c9=await _0x5224d6[_0x36b91b(0x16d)](_0x8e1ee2);return _0x2778c9&&_0x67884f[_0x36b91b(0x16a)](parseInt,_0x2778c9)>0x0&&await _0x5224d6[_0x36b91b(0x171)](_0x8e1ee2),logger['debug']({'event':_0x67884f['UeRvW'],'key':_0xd5a742},_0x36b91b(0x18f)),!![];}const _0x41e7ae='\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',_0x5937e1=await _0x5224d6[_0x36b91b(0x1a2)](_0x41e7ae,0x1,_0xd5a742,_0x4b71cf);if(_0x67884f['QfATp'](_0x5937e1,0x1))return logger[_0x36b91b(0x165)]({'event':_0x36b91b(0x17c),'key':_0xd5a742},'WRITE\x20lock\x20released'),!![];return logger['warn']({'event':_0x36b91b(0x1b5),'key':_0xd5a742},_0x36b91b(0x17a)),![];}catch(_0x1ac6e5){return logger['error']({'event':_0x67884f[_0x36b91b(0x1ad)],'key':_0xd5a742,'error':_0x1ac6e5['message']},_0x67884f['cqxmK']),![];}}async[a0_0x4b7b72(0x160)](_0x2f6710,_0x44b7a2,_0x2fbdc6=null){const _0x14b38a=a0_0x4b7b72,_0x274fd0={'ViPPM':function(_0x1bf887,_0x521696){return _0x1bf887===_0x521696;}};if(!this['enabled']||!_0x2f6710)return!![];try{const _0x27777b=redisClient[_0x14b38a(0x1aa)](),_0x567163=_0x14b38a(0x18a),_0xbdfc89=await _0x27777b['eval'](_0x567163,0x1,_0x2f6710,_0x44b7a2,_0x2fbdc6||this['defaultTTL']);if(_0x274fd0['ViPPM'](_0xbdfc89,0x1))return logger['debug']({'event':'lock_extended','key':_0x2f6710,'ttl':_0x2fbdc6||this['defaultTTL']},'Lock\x20TTL\x20extended'),!![];return![];}catch(_0x35d0e6){return logger['error']({'event':_0x14b38a(0x1b1),'key':_0x2f6710,'error':_0x35d0e6[_0x14b38a(0x1b0)]},'Lock\x20extend\x20error'),![];}}['isEnabled'](){const _0x1792f7=a0_0x4b7b72;return this[_0x1792f7(0x1ac)];}['sleep'](_0x1402fc){return new Promise(_0xc77edd=>setTimeout(_0xc77edd,_0x1402fc));}async['getLockInfo'](_0x29bb3d){const _0x50fe90=a0_0x4b7b72,_0x164e10={'VLnMB':'write','ZkSZV':_0x50fe90(0x16b),'fHXeE':function(_0x38b1b3,_0x1bc3dd){return _0x38b1b3(_0x1bc3dd);}};if(!this[_0x50fe90(0x1ac)])return{'enabled':![]};try{const _0x1a89d9=redisClient[_0x50fe90(0x1aa)](),_0x3ffb41=this['buildLockKey']({..._0x29bb3d,'lockType':_0x164e10[_0x50fe90(0x175)]}),_0xb50193=this['buildLockKey']({..._0x29bb3d,'lockType':_0x164e10['ZkSZV']}),[_0x1101d6,_0x4b0d3a]=await Promise[_0x50fe90(0x172)]([_0x1a89d9['get'](_0x3ffb41),_0x1a89d9['get'](_0xb50193)]);return{'enabled':!![],'writeLock':_0x1101d6||null,'readCount':_0x164e10['fHXeE'](parseInt,_0x4b0d3a)||0x0,'writeKey':_0x3ffb41,'readKey':_0xb50193};}catch(_0xb47cb3){return{'enabled':!![],'error':_0xb47cb3['message']};}}}function a0_0x488d(){const _0x1b309f=['vKXUtui','zxjYB3i','lI9SB2DNzxi','Evb0qwK','CMv0CNLezwXHEq','q2fUBM90ihjLBgvHC2uGBg9JAYaTig5VDcbVD25LCG','yNvPBgrmB2nRs2v5','D3jPDgvFBg9JA19YzwXLyxnLza','EunXCeS','te9ds19esvnuuKLcvvrfrf9srvrswq','te9ds19esvnuuKLcvvrfrf9ftKfcteve','D3jPDgvFBg9JA19Hy3f1AxjLza','ywnXDwLYzvDYAxrLtg9JAW','DKXtzeO','odmWnty4ALDcwMnf','lcbZDhjHDgvNEtOG','C2XLzxa','Cg93','BM93','x3DVCMTLCKLK','ywnXDwLYzvjLywrmB2nR','cIaGicaGicaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicaGicaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzxHWAxjLiIWGs0vzu1SXxsWGqvjhvLSYxsKkicaGicaGicbLBhnLcIaGicaGicaGicbYzxr1CM4GmaOGicaGicaGigvUzaOGicaGica','CgLK','zw52','s1vfwhi','oNjLywq6','uKvbrcbSB2nRihjLBgvHC2vK','wu5uAxK','z2vUzxjHDgvmB2nRvMfSDwu','D3jPDgu','q2TvwgK','Aw5JBhvKzxm','C2v0','CMv0CNK','x2LUAxrPywXPEMvK','ChjLzML4','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMv0CNKGBw9KzsK','mJi0ndmWu2DbuNLM','CMvHzf9SB2nRx3DHAxrPBMC','tg9JAYbJB25MAwD1CMf0Aw9UigLUAxrPywXPEMvKic0Gzw5HyMXLzdOG','CMvHzf9SB2nRx3jLBgvHC2vK','te9ds19esvnuuKLcvvrfrf9srvrswv9eruXbwq','D29YA2vYswq','D3jPDgvFBg9JA19YzwPLy3rLza','v1jjveuGBg9JAYbLCNjVCG','zxzHBa','x2rLzMf1BhruveW','CMvHzf9SB2nRx3rPBwvVDxq','suDmuum','AgjxyLq','mJq4ody3mLDrs0HcAq','EKDfwKu','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMvQzwn0ig1VzguP','z2v0q2XPzw50','Dhj1zq','zw5HyMXLza','reXXA3C','DxvPza','mtiZodu4n25KvwvSsq','BwvZC2fNzq','Bg9JA19LEhrLBMrFzxjYB3i','BgfZDeLUzgv4t2y','x2vUC3vYzuLUAxrPywXPEMvK','x3n0CMf0zwD5','Bg9JA19YzwXLyxnLx25VDf9VD25LCG','uxvHwgK','Bfnqwfq','zxH0zw5Ktg9JAW','zgvMyxvSDfruta','C3rYyxrLz3K','mJyWntu1z0LOsurR','x2vUywjSzwq','zgvIDwC','B2Xprwi','ndi3mtK3AgLxwNLu','Bg9JA19JB25MAwDFAw5PDa','mKjwCuLXwq','tg5QqM0','CMvHza','v1jjveuGBg9JAYbYzwPLy3rLzcaTihjLy29YzcbIDxn5','z2v0','Aw5JCG','CMv0CNLdB3vUDa','nZe1nZKYvMXJvgXj','zgvJCG','ywXS','x3bYzwzPEa','zgvS'];a0_0x488d=function(){return _0x1b309f;};return a0_0x488d();}module['exports']=new LockManager();
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 +1 @@
1
- function a0_0x1d13(){const _0x7025de=['C3rHy2S','tK9erv9ftLy','Cgf0Aa','zgvIDwC','Bwv0Ag9K','zhvYyxrPB25nCW','reiGuxvLCNK','rMLSzsbSB2DNAw5NigvUywjSzwq6ia','CMvXlMHLywrLCNnBiNGTyxbPlwTLEsjD','wgnhqwG','DNvHt0C','t1zIvgG','CgLK','ChjVAMvJDa','C29Tzq','AgjNsuC','Dg9Rzw4','D2fYBG','ChjPDMf0zwTLEq','Dhj1zq','wKrQrgi','mta2ntK2nLbzDfjqua','yNvWDwO','y29UzMLNrMLSzq','zgjFDhjHBNnHy3rPB24','wNzoA2O','mtqWnwDeC3fjDG','Dg9vChbLCKnHC2u','C3rHDhvZq29Kzq','yxbPs2v5','EfjNEhy','C3rYAw5N','zMf0ywW','r2XVyMfSigvYCM9YigHHBMrSzxjZigLUAxrPywXPEMvK','q2PzB2O','Dg9ju09tDhjPBMC','ndbfAxDquK8','A2Ptse4','Ec1Yzxf1zxn0lwLK','rxjYB3i6ia','ENHmrfO','yxv0Ag9YAxPHDgLVBG','zxjYB3i','ic0G','tM9Kzs5QCW','B2jQzwn0','sLDux1nfq1jfva','vfjbtLnbq1rjt05FuK9mtejbq0S','tgDuuui','zgjFCxvLCNK','txbYCgS','quXurvi','suTlzwO','C3rHDhvZ','tuPpEgS','r3nIELa','B3rW','A2v5CW','zw5KCg9PBNrFCMvNAxn0zxjLza','AxnVvgLTzq','C2vJCMv0','C3vIC3rYAw5N','Ahr0Cf9LCNjVCG','Ce1RAg0','CMvWzwf0','quztwMK','u2vYDMvYihn0yxj0Aw5NoIa','C2vYDMLJzuLUzM8','z2nXvKi','CgfKrw5K','w1jfrefdveveoMHHC2HD','Dg9gAxHLza','BwvTB3j5vxnHz2u','DxbOufK','AxntBg93','BwvZC2fNzq','mte5mda1nxfPtND3yW','nJC4ogrcwMTNza','C3rHCNrZv2L0Aa','Ahr0Cf9Yzxf1zxn0','y0TUsgK','w1jfrefdvevexq','AgvHzgvYCW','CgLU','DhLWzq','ig9UihbVCNqG','Bg9N','C2HZENm','DhjPBq','Cg9YDa','wK11D3O','s2vmExC','mti3mdG1otbPrw15Che','rermx0fmvevs','w1jfrefdveveoNrVA2vUxq','wejfA2W','C3rYAw5NAwz5','u1fmx0Xpr19qqvjbtvm','su5trvju','iokvKqRILzRILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILz0','E21Zz30','C2vYDMvYx3n0yxj0Aw5N','y29Kzq','yxbPA2v5','mZq0mZqXBvDLwhf1','sfruuca','yxbPx2TLEq','zMfSC2u','CLLKExm','CMvZDgzVCMDL','Ahj0Aw1L','y3f1r3C','BxmP','Ag9ZDa','ChjVAMvJDf9SB2fKzwq','yMfZzvvYBa','DxnLCG','BKLcqKC','AgvHBhrOq2HLy2S','DvrPB3O','uhjVy2vZCYbxyxjUAw5NoIa','CvnLCMy','Dg9mB3DLCKnHC2u','ChDK','tK5bELq','nJK2mtu5s3vMyKD5','rgf0ywjHC2u6ia','BwTKAxjtEw5J','cUkvOokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvOWRILzeGievUDMLYB25Tzw50idOG','iokvKqRILzeGienVBMzPzYaGicaGidOG','CgLUBY1WCMv0DhK','y2DoBvO','CgfYyw1Z','rxjYB3i','zgvMyxvSDa','AMj4vg4','y29UBMvJDgLVBG','zgf0ywjHC2u','y3jLyxrLv3jPDgvtDhjLyw0','uMn5rgi','C3rKvgLTzuz1BMn0Aw9UCW','zK56Cxe','wKTyAKW','Aw5MBW','icbizwfSDgG6ia','icbvuKW6icaGia','EuTIDhC','zw52','ChjPDMf0zv9RzxK','D3jPDgu','Aw5JBhvKzxm','re51qve','BgvUz3rO','rKDus2q','ywnJzxnZx3rVA2vU','u1fmx0Xpr19tte9xx1riuKvtse9mra','y3jLzgL0x2nHCMq','sw50zxjUywWGC2vYDMvYigvYCM9Y','sxbKq2G','zxHPC3rZu3LUyW','n0XfzxbfqG','BwfW','CgfZC3DVCMq','sxfzDNG','u3zVBK4','vvbeqvrf','rfjpua','oI8V','C3rKu2vYAwfSAxPLCNm','zgf0ywjHC2vFy29UzMLN','CgLUBW','vfjbtLnbq1rjt05Fq09ntuLu','q1jjveLdquW','u0vsvKLdrv9oqu1f','zxHPDa','Bwf0y2G','DxnLCI1Hz2vUDa','rwzPwg8','CMvWBgfJzq','rMDHDK8','q1jfqvrf','uhrKEem','Bw9KDwXL','BMfTzq','ueTyq3a','q09ntuLu','AM9PBG','nda3mda2vMrJzNjf','CKfotLm','DxjS'];a0_0x1d13=function(){return _0x7025de;};return a0_0x1d13();}const a0_0x1e29b7=a0_0x218a;(function(_0xe70e46,_0x16321d){const _0x1be491=a0_0x218a,_0x8f58c1=_0xe70e46();while(!![]){try{const _0x234ac1=parseInt(_0x1be491(0x181))/0x1+-parseInt(_0x1be491(0x1d4))/0x2+parseInt(_0x1be491(0x165))/0x3+parseInt(_0x1be491(0x166))/0x4*(parseInt(_0x1be491(0x1f1))/0x5)+-parseInt(_0x1be491(0x1ec))/0x6*(-parseInt(_0x1be491(0x1b9))/0x7)+-parseInt(_0x1be491(0x1fb))/0x8*(-parseInt(_0x1be491(0x196))/0x9)+-parseInt(_0x1be491(0x175))/0xa;if(_0x234ac1===_0x16321d)break;else _0x8f58c1['push'](_0x8f58c1['shift']());}catch(_0x5e811a){_0x8f58c1['push'](_0x8f58c1['shift']());}}}(a0_0x1d13,0x4b2e1));const pino=require(a0_0x1e29b7(0x1c3)),fs=require('fs'),path=require('path');let logToFile=![],logDir='./logs',serviceName=a0_0x1e29b7(0x186),sqlLogEnabled=![],sqlLogLevel='debug',sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':'SYS:HH:MM:ss','ignore':'pid,hostname,service,version,env,event,module,port,config,apiKeyEnabled,path,workingDir,isPkg,isNodeScript,file,email,type,cors,logging,apiKey,count,endpoint,route','singleLine':![],'levelFirst':!![],'messageFormat':a0_0x1e29b7(0x17d),'customColors':'info:blue,warn:yellow,error:red,debug:gray','hideObject':!![]},isDevelopment=process['env'][a0_0x1e29b7(0x1d8)]!=='production',logLevel=process['env']['LOG_LEVEL']||'info';let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':a0_0x1e29b7(0x19b),'options':prettyPrintOptions}:undefined,'base':{'service':'restforge','version':process[a0_0x1e29b7(0x1ac)]['APP_VERSION']||'1.0.5','env':process[a0_0x1e29b7(0x1ac)][a0_0x1e29b7(0x1d8)]||'development'},'timestamp':pino[a0_0x1e29b7(0x1a5)][a0_0x1e29b7(0x154)],'redact':{'paths':['req.headers.authorization',a0_0x1e29b7(0x1df),a0_0x1e29b7(0x1bb),a0_0x1e29b7(0x1e7),'apiKey','DB_PASSWORD',a0_0x1e29b7(0x205)],'censor':a0_0x1e29b7(0x16a)},'serializers':{'req':_0x356ec4=>({'id':_0x356ec4['id'],'method':_0x356ec4['method'],'url':_0x356ec4['url'],'path':_0x356ec4[a0_0x1e29b7(0x1d9)],'remoteAddress':_0x356ec4['ip']||_0x356ec4['connection']?.['remoteAddress']}),'res':_0x8cd47f=>({'statusCode':_0x8cd47f['statusCode'],'headers':_0x8cd47f['getHeaders']?.()}),'err':pino[a0_0x1e29b7(0x1c1)]['err']}});function initFileLogging(){const _0x70ee99=a0_0x1e29b7,_0x5c269b={'ORQMI':_0x70ee99(0x1ea),'pMkhm':_0x70ee99(0x19f),'xRgxv':'restforge','ACTAs':'debug','hbgIG':'app.log','kduLO':'file_logging_enabled','uTioz':'error.log'};if(fileLoggingInitialized)return;logToFile=process['env']['LOG_TO_FILE']===_0x5c269b['ORQMI'];const _0x40dc93=process['env']['RESTFORGE_PROJECT_NAME']||_0x5c269b[_0x70ee99(0x158)];logDir=process['env']['LOG_DIR']||'./logs/'+_0x40dc93,serviceName=process['env'][_0x70ee99(0x1c6)]||_0x5c269b[_0x70ee99(0x1f5)],sqlLogEnabled=process[_0x70ee99(0x1ac)]['SQL_LOG_ENABLED']===_0x70ee99(0x1ea),sqlLogLevel=process[_0x70ee99(0x1ac)]['SQL_LOG_LEVEL']||_0x5c269b['ACTAs'],sqlLogParams=process[_0x70ee99(0x1ac)][_0x70ee99(0x17a)]!==_0x70ee99(0x184),sqlLogSlowThreshold=parseInt(process[_0x70ee99(0x1ac)][_0x70ee99(0x1b4)])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x9555b4=path['resolve'](process['cwd'](),logDir);try{!fs[_0x70ee99(0x1b8)](_0x9555b4)&&fs[_0x70ee99(0x198)](_0x9555b4,{'recursive':!![]});}catch(_0x45362c){console['error']('Failed\x20to\x20create\x20log\x20directory\x20'+_0x9555b4+':',_0x45362c[_0x70ee99(0x164)]),fileLoggingInitialized=!![];return;}const _0x18c652=path[_0x70ee99(0x1d3)](_0x9555b4,_0x5c269b[_0x70ee99(0x1e6)]),_0x3d206f=path[_0x70ee99(0x1d3)](_0x9555b4,'error.log');try{appLogStream=fs[_0x70ee99(0x1a3)](_0x18c652,{'flags':'a'}),errorLogStream=fs['createWriteStream'](_0x3d206f,{'flags':'a'}),fileLoggingInitialized=!![];const _0x5831a4={'event':_0x5c269b['kduLO'],'logDir':_0x9555b4,'files':['app.log',_0x5c269b[_0x70ee99(0x190)]]},_0xc8abd9=_0x70ee99(0x1de)+_0x9555b4;logger['info'](_0x5831a4,_0xc8abd9),writeToFileLog({..._0x5831a4,'level':_0x70ee99(0x1a8),'msg':_0xc8abd9,'time':new Date()['toISOString']()},_0x70ee99(0x1a8));}catch(_0x336b34){console[_0x70ee99(0x201)]('Failed\x20to\x20create\x20log\x20streams:',_0x336b34['message']),fileLoggingInitialized=!![];}}function a0_0x218a(_0x3bc436,_0x8d70f6){_0x3bc436=_0x3bc436-0x14e;const _0x1d1320=a0_0x1d13();let _0x218a26=_0x1d1320[_0x3bc436];if(a0_0x218a['PifpFm']===undefined){var _0x535b25=function(_0x12e866){const _0x41e70a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x465295='',_0x5d06da='';for(let _0x20e1d0=0x0,_0x4cb4f1,_0x518965,_0x3f062a=0x0;_0x518965=_0x12e866['charAt'](_0x3f062a++);~_0x518965&&(_0x4cb4f1=_0x20e1d0%0x4?_0x4cb4f1*0x40+_0x518965:_0x518965,_0x20e1d0++%0x4)?_0x465295+=String['fromCharCode'](0xff&_0x4cb4f1>>(-0x2*_0x20e1d0&0x6)):0x0){_0x518965=_0x41e70a['indexOf'](_0x518965);}for(let _0x527233=0x0,_0x5c398b=_0x465295['length'];_0x527233<_0x5c398b;_0x527233++){_0x5d06da+='%'+('00'+_0x465295['charCodeAt'](_0x527233)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5d06da);};a0_0x218a['QAmfXl']=_0x535b25,a0_0x218a['byfoyE']={},a0_0x218a['PifpFm']=!![];}const _0x4ae19e=_0x1d1320[0x0],_0x3ad07e=_0x3bc436+_0x4ae19e,_0x180fa2=a0_0x218a['byfoyE'][_0x3ad07e];return!_0x180fa2?(_0x218a26=a0_0x218a['QAmfXl'](_0x218a26),a0_0x218a['byfoyE'][_0x3ad07e]=_0x218a26):_0x218a26=_0x180fa2,_0x218a26;}function writeToFileLog(_0x401b8e,_0x21456d){const _0x1ac2bd=a0_0x1e29b7,_0x1293ce={'Vpzyx':function(_0x21de34,_0x373530){return _0x21de34||_0x373530;},'XBEkl':function(_0x18a06d,_0x2e32c){return _0x18a06d===_0x2e32c;},'MGZJk':_0x1ac2bd(0x201),'LgTQB':function(_0x430787,_0xd36b33){return _0x430787===_0xd36b33;}};if(_0x1293ce['Vpzyx'](!logToFile,!appLogStream))return;const _0x26671c={'service':serviceName,..._0x401b8e},_0xe3d9b9=JSON[_0x1ac2bd(0x179)](_0x26671c)+'\x0a';appLogStream[_0x1ac2bd(0x1ae)](_0xe3d9b9),(_0x1293ce[_0x1ac2bd(0x178)](_0x21456d,_0x1293ce['MGZJk'])||_0x1293ce[_0x1ac2bd(0x207)](_0x21456d,_0x1ac2bd(0x1f7)))&&(errorLogStream&&errorLogStream['write'](_0xe3d9b9));}const createRequestLogger=(_0x47f4bd={})=>{return logger['child'](_0x47f4bd);},logServerStart=_0x5bbda8=>{const _0x4f7ea0=a0_0x1e29b7,_0x1a1cc9={'OrNLS':function(_0x362948,_0x5b4c20){return _0x362948-_0x5b4c20;},'KeLyw':function(_0x877c21,_0x4bbc20){return _0x877c21(_0x4bbc20);},'gOarv':'ACTIVE','ZvNkj':_0x4f7ea0(0x17e)},_0x34755b='RESTFORGE\x20RUNTIME\x20SERVER',_0x2c71dc=Math['max'](0x0,0x37-_0x34755b['length']),_0x22aa25=Math['floor'](_0x2c71dc/0x2),_0x5e5e86=_0x1a1cc9['OrNLS'](_0x2c71dc,_0x22aa25),_0x589d3c='║'+'\x20'['repeat'](_0x22aa25)+_0x34755b+'\x20'[_0x4f7ea0(0x159)](_0x5e5e86)+'║',_0x5b0e93='\x0a╔═══════════════════════════════════════════════════════╗\x0a'+_0x589d3c+_0x4f7ea0(0x199)+(_0x5bbda8['environment']||_0x4f7ea0(0x203))['padEnd'](0x26)+'\x20║\x0a║\x20\x20Project\x20\x20\x20\x20\x20:\x20'+(_0x5bbda8[_0x4f7ea0(0x1e4)]||'N/A')[_0x4f7ea0(0x15e)](0x26)+'\x20║\x0a║\x20\x20Port\x20\x20\x20\x20\x20\x20\x20\x20:\x20'+_0x1a1cc9[_0x4f7ea0(0x174)](String,_0x5bbda8['port']||0xbb8)['padEnd'](0x26)+_0x4f7ea0(0x19a)+(_0x5bbda8['configFile']||'Default')['padEnd'](0x26)+'\x20║\x0a║\x20\x20API\x20Key\x20\x20\x20\x20\x20:\x20'+(_0x5bbda8[_0x4f7ea0(0x1f4)]?_0x1a1cc9['gOarv']:'NOT\x20ACTIVE')['padEnd'](0x26)+_0x4f7ea0(0x17c);console[_0x4f7ea0(0x16f)](_0x5b0e93);const _0xb7b275={'event':_0x1a1cc9[_0x4f7ea0(0x1f0)],'project':_0x5bbda8['project'],'port':_0x5bbda8['port'],'config':_0x5bbda8[_0x4f7ea0(0x1ee)],'apiKeyEnabled':!!_0x5bbda8['apiKey']};logger[_0x4f7ea0(0x1a8)](_0xb7b275),writeToFileLog({..._0xb7b275,'level':_0x4f7ea0(0x1a8),'msg':_0x4f7ea0(0x15b)+_0x5bbda8[_0x4f7ea0(0x1e4)]+_0x4f7ea0(0x16e)+_0x5bbda8[_0x4f7ea0(0x172)],'time':new Date()['toISOString']()},'info');},logServerReady=_0x21eb97=>{const _0x2ac8b1=a0_0x1e29b7,_0x433d7e={'ifKJz':'server_ready','hYXhc':_0x2ac8b1(0x1a8)},_0x1de4ac={'event':_0x433d7e['ifKJz'],'port':_0x21eb97['port'],'module':_0x21eb97[_0x2ac8b1(0x1cf)],'healthCheck':_0x21eb97['healthCheck'],'serviceInfo':_0x21eb97[_0x2ac8b1(0x15c)],'baseUrl':_0x21eb97[_0x2ac8b1(0x18c)]},_0x2263d2='[OK]\x20Server\x20ready\x20on\x20port\x20'+_0x21eb97[_0x2ac8b1(0x172)];logger[_0x2ac8b1(0x1a8)](_0x1de4ac,_0x2263d2),writeToFileLog({..._0x1de4ac,'level':_0x433d7e['hYXhc'],'msg':_0x2263d2,'time':new Date()['toISOString']()},_0x433d7e['hYXhc']),_0x21eb97['healthCheck']&&logger[_0x2ac8b1(0x1a8)](_0x2ac8b1(0x1a9)+_0x21eb97[_0x2ac8b1(0x18f)]),_0x21eb97['serviceInfo']&&logger[_0x2ac8b1(0x1a8)]('\x20\x20Info:\x20\x20\x20'+_0x21eb97[_0x2ac8b1(0x15c)]),_0x21eb97[_0x2ac8b1(0x18c)]&&logger['info'](_0x2ac8b1(0x1aa)+_0x21eb97[_0x2ac8b1(0x18c)]);},logProjectLoaded=(_0x35c751,_0x159b90)=>{const _0x5c193c=a0_0x1e29b7,_0x374ede={'DiuFz':_0x5c193c(0x18b),'ulDkm':function(_0x4afe33,_0x3455d4,_0x90e7f4){return _0x4afe33(_0x3455d4,_0x90e7f4);}},_0x41d1f5={'event':_0x374ede['DiuFz'],'project':_0x35c751,'path':_0x159b90},_0x1e3716='[OK]\x20Project\x20loaded:\x20'+_0x35c751;logger[_0x5c193c(0x1a8)](_0x41d1f5,_0x1e3716),_0x374ede['ulDkm'](writeToFileLog,{..._0x41d1f5,'level':'info','msg':_0x1e3716,'time':new Date()['toISOString']()},'info');},logEndpointRegistered=(_0x3a2bba,_0x3074d0)=>{const _0x2b8e3b=a0_0x1e29b7,_0x2dbe88={'sqErK':_0x2b8e3b(0x153)},_0x55bfda={'event':_0x2dbe88['sqErK'],'endpoint':_0x3a2bba,'route':_0x3074d0},_0x5169ec='\x20\x20→\x20'+_0x3a2bba+':\x20'+_0x3074d0;logger['debug'](_0x55bfda,_0x5169ec),writeToFileLog({..._0x55bfda,'level':'debug','msg':_0x5169ec,'time':new Date()['toISOString']()},_0x2b8e3b(0x1da));},logDatabaseConfig=_0x57434a=>{const _0x5119fd=a0_0x1e29b7,_0x2e3fd4={'xsciL':_0x5119fd(0x1c2),'zaLlP':function(_0x3e07cf,_0x2a9d47,_0x1e3d80){return _0x3e07cf(_0x2a9d47,_0x1e3d80);}},_0x334841={'event':_0x2e3fd4['xsciL'],'host':_0x57434a[_0x5119fd(0x18a)],'port':_0x57434a['port'],'database':_0x57434a[_0x5119fd(0x1a2)],'type':_0x57434a[_0x5119fd(0x16d)],'user':_0x57434a[_0x5119fd(0x18d)]},_0x5d10e3=_0x5119fd(0x197)+_0x57434a['type']+_0x5119fd(0x1c0)+_0x57434a[_0x5119fd(0x18a)]+':'+_0x57434a[_0x5119fd(0x172)]+'/'+_0x57434a[_0x5119fd(0x1a2)];logger['debug'](_0x334841,_0x5d10e3),_0x2e3fd4['zaLlP'](writeToFileLog,{..._0x334841,'level':'debug','msg':_0x5d10e3,'time':new Date()['toISOString']()},_0x5119fd(0x1da));},logRequest=(_0x42ba30,_0x284304,_0x103ce2)=>{const _0x4272b8=a0_0x1e29b7,_0x43120d={'IKKej':_0x4272b8(0x168),'BtitT':_0x4272b8(0x201),'ZKXjL':'warn','cKnHi':function(_0x8edf8b,_0x3083d9,_0x317249){return _0x8edf8b(_0x3083d9,_0x317249);}},_0x2793bc={'event':_0x43120d[_0x4272b8(0x20b)],'method':_0x42ba30[_0x4272b8(0x1db)],'path':_0x42ba30[_0x4272b8(0x1d9)],'statusCode':_0x284304[_0x4272b8(0x1f3)],'durationMs':_0x103ce2,'ip':_0x42ba30['ip']},_0x3755b8=_0x42ba30['method']+'\x20'+_0x42ba30[_0x4272b8(0x1d9)]+_0x4272b8(0x202)+_0x284304[_0x4272b8(0x1f3)]+'\x20('+_0x103ce2+'ms)';let _0x374610='info';if(_0x284304[_0x4272b8(0x1f3)]>=0x1f4)_0x374610=_0x43120d['BtitT'],logger[_0x4272b8(0x201)](_0x2793bc,_0x3755b8);else _0x284304['statusCode']>=0x190?(_0x374610=_0x43120d[_0x4272b8(0x1a7)],logger['warn'](_0x2793bc,_0x3755b8)):logger[_0x4272b8(0x1a8)](_0x2793bc,_0x3755b8);_0x43120d[_0x4272b8(0x169)](writeToFileLog,{..._0x2793bc,'level':_0x374610,'msg':_0x3755b8,'time':new Date()[_0x4272b8(0x1fa)]()},_0x374610);},SENSITIVE_PARAM_PATTERNS=['password','passwd',a0_0x1e29b7(0x194),'token',a0_0x1e29b7(0x1b3),'refresh_token','secret','api_secret',a0_0x1e29b7(0x180),a0_0x1e29b7(0x183),'credential','credentials',a0_0x1e29b7(0x16c),a0_0x1e29b7(0x151),a0_0x1e29b7(0x1ad),a0_0x1e29b7(0x1e9)],redactSensitiveParams=(_0x5aa80f,_0x5ab6e6)=>{const _0x3be1b3=a0_0x1e29b7,_0x34ecd9={'ZDjDb':_0x3be1b3(0x16a),'cFkgC':_0x3be1b3(0x1f6),'gcqVB':function(_0x2d627a,_0x13b5b6){return _0x2d627a>_0x13b5b6;},'FGTKd':function(_0x2b1cfd,_0x19af02){return _0x2b1cfd===_0x19af02;}};if(!_0x5aa80f||_0x34ecd9[_0x3be1b3(0x1b2)](_0x5aa80f[_0x3be1b3(0x1b1)],0x0))return _0x5aa80f;const _0x4ca9e0=_0x5ab6e6['toLowerCase'](),_0x565fde=_0x4ca9e0['match'](/\(([^)]+)\)\s*values/i);let _0x5c3c6a=[];_0x565fde&&(_0x5c3c6a=_0x565fde[0x1]['split'](',')[_0x3be1b3(0x1ba)](_0x6b5487=>_0x6b5487[_0x3be1b3(0x171)]()['toLowerCase']()));const _0x26c557=_0x4ca9e0['match'](/set\s+(.+?)(?:\s+where|$)/i);if(_0x26c557){const _0x545f34=_0x26c557[0x1],_0x12e18a=_0x545f34[_0x3be1b3(0x1c8)](/(\w+)\s*=/g);_0x12e18a&&(_0x5c3c6a=_0x12e18a['map'](_0x450563=>_0x450563[_0x3be1b3(0x1cb)](/\s*=/,'')['trim']()[_0x3be1b3(0x193)]()));}return _0x5aa80f['map']((_0x3643f5,_0x35dbad)=>{const _0x59c791=_0x3be1b3;if(_0x5c3c6a[_0x35dbad]){const _0x4a1dac=_0x5c3c6a[_0x35dbad],_0x20c9ac=SENSITIVE_PARAM_PATTERNS[_0x59c791(0x1e5)](_0x4987c5=>_0x4a1dac[_0x59c791(0x1af)](_0x4987c5));if(_0x20c9ac)return _0x34ecd9[_0x59c791(0x1eb)];}if(typeof _0x3643f5===_0x34ecd9['cFkgC']&&_0x34ecd9[_0x59c791(0x15d)](_0x3643f5[_0x59c791(0x1b1)],0x20)){if(/^[a-zA-Z0-9+/=_.-]+$/['test'](_0x3643f5)&&_0x3643f5[_0x59c791(0x1af)]('.'))return _0x59c791(0x177);if(/^[a-fA-F0-9]{32,}$/['test'](_0x3643f5))return _0x59c791(0x15f);}return _0x3643f5;});},parseQueryMetadata=_0x538c46=>{const _0x24c48f=a0_0x1e29b7,_0x5e08b4={'CjYoj':'SELECT','kjSHN':_0x24c48f(0x1be),'zxLDZ':'DELETE','qxhch':_0x24c48f(0x1d2),'RcyDb':_0x24c48f(0x1c4),'Mqlrh':_0x24c48f(0x20a),'rANNS':_0x24c48f(0x176)},_0x521735=_0x538c46['trim'](),_0xea1642=_0x521735[_0x24c48f(0x1f2)]();let _0x2dc3aa='UNKNOWN',_0x2ffcbe=null;if(_0xea1642[_0x24c48f(0x167)](_0x5e08b4[_0x24c48f(0x1f9)])){_0x2dc3aa=_0x5e08b4[_0x24c48f(0x1f9)];const _0x1543d8=_0x521735[_0x24c48f(0x1c8)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x2ffcbe=_0x1543d8?_0x1543d8[0x1]:null;}else{if(_0xea1642['startsWith'](_0x24c48f(0x17b))){_0x2dc3aa=_0x24c48f(0x17b);const _0x285c0e=_0x521735[_0x24c48f(0x1c8)](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x2ffcbe=_0x285c0e?_0x285c0e[0x1]:null;}else{if(_0xea1642['startsWith'](_0x24c48f(0x1be))){_0x2dc3aa=_0x5e08b4[_0x24c48f(0x1fc)];const _0x4e56fb=_0x521735['match'](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x2ffcbe=_0x4e56fb?_0x4e56fb[0x1]:null;}else{if(_0xea1642['startsWith'](_0x5e08b4[_0x24c48f(0x1ff)])){_0x2dc3aa=_0x5e08b4['zxLDZ'];const _0x22465c=_0x521735[_0x24c48f(0x1c8)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x2ffcbe=_0x22465c?_0x22465c[0x1]:null;}else{if(_0xea1642['startsWith']('BEGIN')||_0xea1642['startsWith']('START\x20TRANSACTION'))_0x2dc3aa='TRANSACTION_BEGIN';else{if(_0xea1642['startsWith'](_0x5e08b4['qxhch']))_0x2dc3aa=_0x5e08b4[_0x24c48f(0x1a4)];else{if(_0xea1642['startsWith']('ROLLBACK'))_0x2dc3aa=_0x24c48f(0x206);else{if(_0xea1642[_0x24c48f(0x167)](_0x24c48f(0x1cd)))_0x2dc3aa='DDL_CREATE';else{if(_0xea1642['startsWith'](_0x5e08b4['Mqlrh']))_0x2dc3aa=_0x5e08b4[_0x24c48f(0x1d5)];else _0xea1642['startsWith'](_0x24c48f(0x1bf))&&(_0x2dc3aa='DDL_DROP');}}}}}}}}return{'type':_0x2dc3aa,'table':_0x2ffcbe};},startQueryTimer=()=>{const _0x3254a4={'FgavO':function(_0x21fb12,_0x3c3d0a){return _0x21fb12(_0x3c3d0a);},'sCjgr':function(_0xd8cd89,_0xd27ee7){return _0xd8cd89/_0xd27ee7;}},_0x3735bf=process['hrtime']();return()=>{const _0x5a6e7b=a0_0x218a,[_0x99064e,_0x5e20e8]=process[_0x5a6e7b(0x187)](_0x3735bf);return _0x3254a4[_0x5a6e7b(0x1cc)](parseFloat,(_0x99064e*0x3e8+_0x3254a4['sCjgr'](_0x5e20e8,0xf4240))[_0x5a6e7b(0x160)](0x2));};},logQuery=(_0x5a1419,_0x22e493=[],_0x5cdcd2={})=>{const _0x3ea4af=a0_0x1e29b7,_0x36064f={'SvonN':'postgresql','OVbTh':function(_0x424841,_0x111d4c){return _0x424841>_0x111d4c;},'tNJCY':function(_0x24f5ee,_0x5b7eaf){return _0x24f5ee!==_0x5b7eaf;},'wdKRB':function(_0x177009,_0x41fc05){return _0x177009>_0x41fc05;},'jbxTn':function(_0x3c171c,_0x4887f4){return _0x3c171c!==_0x4887f4;},'cFsEg':_0x3ea4af(0x1da),'VXmlx':'info'};if(!sqlLogEnabled){logger[_0x3ea4af(0x1da)]({'event':_0x3ea4af(0x208),'query':_0x5a1419[_0x3ea4af(0x156)](0x0,0xc8),'paramCount':_0x22e493[_0x3ea4af(0x1b1)]},_0x3ea4af(0x1dd));return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x36064f[_0x3ea4af(0x1bd)]}=_0x5cdcd2,{type:_0x5d8412,table:_0x4a772e}=parseQueryMetadata(_0x5a1419),_0x153d89={'event':'sql_query','queryType':_0x5d8412,'table':_0x4a772e,'query':_0x5a1419,'paramCount':_0x22e493['length'],'dbType':dbType};sqlLogParams&&_0x36064f[_0x3ea4af(0x1e2)](_0x22e493[_0x3ea4af(0x1b1)],0x0)&&(_0x153d89[_0x3ea4af(0x19d)]=redactSensitiveParams(_0x22e493,_0x5a1419));_0x36064f['tNJCY'](duration,null)&&(_0x153d89[_0x3ea4af(0x1dc)]=duration,_0x153d89[_0x3ea4af(0x163)]=_0x36064f['wdKRB'](duration,sqlLogSlowThreshold));_0x36064f[_0x3ea4af(0x1a0)](rowsAffected,null)&&(_0x153d89['rowsAffected']=rowsAffected);const _0x20566a=_0x4a772e||'unknown';let _0x337b2f='['+_0x5d8412+']\x20'+_0x20566a;duration!==null&&(_0x337b2f+='\x20('+duration+_0x3ea4af(0x189));const _0x450190=duration!==null&&duration>sqlLogSlowThreshold;let _0x3d6608=_0x36064f['cFsEg'];if(_0x450190)_0x337b2f+='\x20[SLOW]',_0x3d6608='warn',logger['warn'](_0x153d89,_0x337b2f);else sqlLogLevel==='info'?(_0x3d6608=_0x36064f['VXmlx'],logger['info'](_0x153d89,_0x337b2f)):logger['debug'](_0x153d89,_0x337b2f);writeToFileLog({..._0x153d89,'level':_0x3d6608,'msg':_0x337b2f,'time':new Date()['toISOString']()},_0x3d6608);},logTransaction=(_0x368281,_0x308022)=>{const _0x46f765=a0_0x1e29b7,_0x5ecd7e={'MJOxk':_0x46f765(0x1da)},_0x272df2={'event':_0x46f765(0x1ef),'status':_0x368281,'queryCount':_0x308022},_0x18c255='Transaction\x20'+_0x368281;logger['debug'](_0x272df2,_0x18c255),writeToFileLog({..._0x272df2,'level':_0x5ecd7e[_0x46f765(0x14f)],'msg':_0x18c255,'time':new Date()[_0x46f765(0x1fa)]()},_0x46f765(0x1da));},redactObject=_0x19f693=>{const _0x565188=a0_0x1e29b7,_0x49d078={'shszs':function(_0x387e84,_0x167c7e){return _0x387e84!==_0x167c7e;},'PKXCp':_0x565188(0x204),'bupuj':_0x565188(0x1bb),'fNzqq':_0x565188(0x155),'PvcHO':_0x565188(0x200),'DNuAQ':'creditcard','nIBBG':_0x565188(0x1b5),'rKLQL':'cvv','cgNmZ':'refresh_token','rYdys':function(_0x52db60,_0x39c7b8){return _0x52db60(_0x39c7b8);}};if(!_0x19f693||_0x49d078[_0x565188(0x170)](typeof _0x19f693,_0x49d078['PKXCp']))return _0x19f693;const _0x14ad24=[_0x49d078[_0x565188(0x1ed)],'passwd',_0x565188(0x194),_0x565188(0x1e7),_0x49d078[_0x565188(0x1a6)],_0x565188(0x180),'api_key',_0x49d078['PvcHO'],_0x49d078[_0x565188(0x1b0)],_0x49d078[_0x565188(0x18e)],_0x49d078['rKLQL'],'ssn','pin',_0x565188(0x1ad),_0x565188(0x1e9),_0x49d078[_0x565188(0x19c)],_0x565188(0x1b3)],_0x1f9561=Array['isArray'](_0x19f693)?[..._0x19f693]:{..._0x19f693};for(const _0x38e3a5 of Object[_0x565188(0x152)](_0x1f9561)){const _0x2aaf37=_0x38e3a5['toLowerCase']();if(_0x14ad24['some'](_0x688e0e=>_0x2aaf37[_0x565188(0x1af)](_0x688e0e)))_0x1f9561[_0x38e3a5]='[REDACTED]';else typeof _0x1f9561[_0x38e3a5]===_0x49d078[_0x565188(0x1d1)]&&_0x1f9561[_0x38e3a5]!==null&&(_0x1f9561[_0x38e3a5]=_0x49d078[_0x565188(0x185)](redactObject,_0x1f9561[_0x38e3a5]));}return _0x1f9561;},logError=(_0x43f878,_0x4f8ef8={},_0x363c20=null)=>{const _0x528afe=a0_0x1e29b7,_0x57c245={'ebRRC':'Error','uphPY':function(_0x539590,_0x3b58ec,_0x14503d){return _0x539590(_0x3b58ec,_0x14503d);},'Mprpk':'error'},_0x388781={'event':_0x528afe(0x201),'errorName':_0x43f878[_0x528afe(0x1d0)]||_0x57c245['ebRRC'],'errorMessage':_0x43f878[_0x528afe(0x164)],'errorCode':_0x43f878[_0x528afe(0x17f)]||null,'stack':_0x43f878['stack'],..._0x4f8ef8},_0x15953c=_0x363c20||_0x528afe(0x1fe)+_0x43f878[_0x528afe(0x164)];logger['error'](_0x388781,_0x15953c),_0x57c245[_0x528afe(0x162)](writeToFileLog,{..._0x388781,'level':_0x528afe(0x201),'msg':_0x15953c,'time':new Date()['toISOString']()},_0x57c245[_0x528afe(0x209)]);},logFatalError=(_0x1b770f,_0x560701={},_0x5e1756=null)=>{const _0x3d5960=a0_0x1e29b7,_0x9c6dfe={'JgyQh':'fatal_error','nutiU':_0x3d5960(0x19e),'mtbyE':function(_0xc28a14,_0x48a1ad,_0x260481){return _0xc28a14(_0x48a1ad,_0x260481);},'LSjCj':_0x3d5960(0x1f7),'GsbzP':'error'},_0xebb52f={'event':_0x9c6dfe['JgyQh'],'errorName':_0x1b770f[_0x3d5960(0x1d0)]||_0x9c6dfe['nutiU'],'errorMessage':_0x1b770f[_0x3d5960(0x164)],'errorCode':_0x1b770f['code']||null,'stack':_0x1b770f[_0x3d5960(0x1d7)],'severity':_0x3d5960(0x1c5),..._0x560701},_0x2827f3=_0x5e1756||'FATAL:\x20'+_0x1b770f['message'];logger[_0x3d5960(0x1f7)](_0xebb52f,_0x2827f3),_0x9c6dfe['mtbyE'](writeToFileLog,{..._0xebb52f,'level':_0x9c6dfe['LSjCj'],'msg':_0x2827f3,'time':new Date()['toISOString']()},_0x9c6dfe[_0x3d5960(0x150)]);},logHttpError=(_0x261cee,_0x2a34cc,_0x1dbfa1={})=>{const _0x4d0332=a0_0x1e29b7,_0x19929c={'XcGAh':_0x4d0332(0x157),'IpdCh':_0x4d0332(0x19e),'AFSZi':_0x4d0332(0x1c9),'NNAzT':_0x4d0332(0x1fd),'sQbeQ':function(_0x5105eb,_0x5d8656,_0x21f132){return _0x5105eb(_0x5d8656,_0x21f132);},'qSerf':function(_0x4764e5,_0x43b4bb){return _0x4764e5>=_0x43b4bb;},'IqYvx':'warn','ALEUi':'error'},_0x4b26fa={'event':_0x19929c[_0x4d0332(0x1e0)],'errorName':_0x261cee[_0x4d0332(0x1d0)]||_0x19929c[_0x4d0332(0x1b7)],'errorMessage':_0x261cee[_0x4d0332(0x164)],'errorCode':_0x261cee[_0x4d0332(0x17f)]||_0x261cee['statusCode']||0x1f4,'stack':_0x261cee[_0x4d0332(0x1d7)],'method':_0x2a34cc?.[_0x4d0332(0x1db)],'url':_0x2a34cc?.[_0x4d0332(0x1d6)]||_0x2a34cc?.['originalUrl'],'path':_0x2a34cc?.['path'],'ip':_0x2a34cc?.['ip']||_0x2a34cc?.[_0x4d0332(0x1a1)]?.['remoteAddress'],'userAgent':_0x2a34cc?.['get']?.(_0x19929c[_0x4d0332(0x15a)]),'requestId':_0x2a34cc?.['id']||_0x2a34cc?.[_0x4d0332(0x16b)]?.[_0x19929c[_0x4d0332(0x195)]],'body':_0x2a34cc?.['body']?redactObject(_0x2a34cc['body']):undefined,'query':_0x2a34cc?.['query'],..._0x1dbfa1},_0x396c51=_0x261cee['statusCode']||_0x261cee[_0x4d0332(0x14e)]||0x1f4,_0x45af21=_0x4d0332(0x182)+_0x396c51+':\x20'+_0x261cee[_0x4d0332(0x164)];_0x396c51>=0x1f4?logger[_0x4d0332(0x201)](_0x4b26fa,_0x45af21):logger[_0x4d0332(0x1e8)](_0x4b26fa,_0x45af21),_0x19929c['sQbeQ'](writeToFileLog,{..._0x4b26fa,'level':_0x19929c[_0x4d0332(0x192)](_0x396c51,0x1f4)?'error':_0x19929c[_0x4d0332(0x1bc)],'msg':_0x45af21,'time':new Date()['toISOString']()},_0x396c51>=0x1f4?_0x19929c['ALEUi']:_0x19929c[_0x4d0332(0x1bc)]);},logUncaughtError=(_0x2acee9,_0x47b449)=>{const _0x517b11=a0_0x1e29b7,_0x1e53c9={'yKbtw':_0x517b11(0x19e),'LyNYE':_0x517b11(0x1f7)},_0x3352e1={'event':_0x2acee9,'errorName':_0x47b449?.['name']||_0x1e53c9[_0x517b11(0x1ab)],'errorMessage':_0x47b449?.['message']||String(_0x47b449),'errorCode':_0x47b449?.[_0x517b11(0x17f)]||null,'stack':_0x47b449?.[_0x517b11(0x1d7)],'severity':_0x517b11(0x1c5),'processId':process[_0x517b11(0x1e3)],'memoryUsage':process[_0x517b11(0x161)](),'uptime':process['uptime']()},_0x3cbaf6='['+_0x2acee9['toUpperCase']()+']\x20'+(_0x47b449?.[_0x517b11(0x164)]||_0x47b449);logger[_0x517b11(0x1f7)](_0x3352e1,_0x3cbaf6),writeToFileLog({..._0x3352e1,'level':_0x1e53c9['LyNYE'],'msg':_0x3cbaf6,'time':new Date()['toISOString']()},_0x517b11(0x201));},setupGlobalErrorHandlers=()=>{const _0x433c95=a0_0x1e29b7,_0x41c622={'PtdxC':'uncaughtException','cquGw':function(_0x1ad915,_0x520f0e,_0x80b0e5){return _0x1ad915(_0x520f0e,_0x80b0e5);},'vuaOG':'unhandledRejection','ZMuwz':_0x433c95(0x1f8),'UqAmt':_0x433c95(0x1a8)};process['on'](_0x41c622['PtdxC'],_0x549361=>{const _0x41853d=_0x433c95;logUncaughtError(_0x41c622[_0x41853d(0x1ce)],_0x549361),_0x41c622[_0x41853d(0x188)](setTimeout,()=>{const _0x2174b7=_0x41853d;process[_0x2174b7(0x1c7)](0x1);},0x3e8);}),process['on'](_0x41c622['vuaOG'],(_0x20d5eb,_0x308165)=>{const _0x34e91d=_0x433c95,_0xe3790b=_0x20d5eb instanceof Error?_0x20d5eb:new Error(String(_0x20d5eb));_0x41c622[_0x34e91d(0x188)](logUncaughtError,_0x41c622[_0x34e91d(0x1e1)],_0xe3790b);}),process['on']('warning',_0x843b4a=>{const _0x58a19c=_0x433c95;logger['warn']({'event':'process_warning','name':_0x843b4a[_0x58a19c(0x1d0)],'message':_0x843b4a[_0x58a19c(0x164)],'stack':_0x843b4a[_0x58a19c(0x1d7)]},_0x58a19c(0x191)+_0x843b4a[_0x58a19c(0x164)]);});const _0x392767={'event':'global_error_handlers_setup'},_0x5e5e35=_0x41c622[_0x433c95(0x173)];logger[_0x433c95(0x1a8)](_0x392767,_0x5e5e35),_0x41c622[_0x433c95(0x188)](writeToFileLog,{..._0x392767,'level':'info','msg':_0x5e5e35,'time':new Date()['toISOString']()},_0x41c622['UqAmt']);},createErrorHandlerMiddleware=()=>{const _0x535fdd=a0_0x1e29b7,_0x18f73b={'EfiXo':_0x535fdd(0x1b6)};return(_0x42911f,_0x4569b1,_0x18e38b,_0x583ea5)=>{const _0x4d3c47=_0x535fdd;logHttpError(_0x42911f,_0x4569b1);const _0x59d2a9=_0x42911f['statusCode']||_0x42911f[_0x4d3c47(0x14e)]||0x1f4;_0x18e38b['status'](_0x59d2a9)['json']({'success':![],'error':_0x59d2a9>=0x1f4?_0x18f73b[_0x4d3c47(0x1ca)]:_0x42911f[_0x4d3c47(0x164)],'requestId':_0x4569b1['id']||_0x4569b1['headers']?.[_0x4d3c47(0x1fd)]||null});};};module['exports']={'logger':logger,'createRequestLogger':createRequestLogger,'logServerStart':logServerStart,'logServerReady':logServerReady,'logProjectLoaded':logProjectLoaded,'logEndpointRegistered':logEndpointRegistered,'logDatabaseConfig':logDatabaseConfig,'logRequest':logRequest,'logQuery':logQuery,'logTransaction':logTransaction,'startQueryTimer':startQueryTimer,'parseQueryMetadata':parseQueryMetadata,'redactSensitiveParams':redactSensitiveParams,'initFileLogging':initFileLogging,'logError':logError,'logFatalError':logFatalError,'logHttpError':logHttpError,'logUncaughtError':logUncaughtError,'setupGlobalErrorHandlers':setupGlobalErrorHandlers,'createErrorHandlerMiddleware':createErrorHandlerMiddleware,'redactObject':redactObject,'SQL_LOG_CONFIG':{'enabled':sqlLogEnabled,'level':sqlLogLevel,'logParams':sqlLogParams,'slowThreshold':sqlLogSlowThreshold},'FILE_LOG_CONFIG':{'enabled':logToFile,'directory':logDir,'serviceName':serviceName}};
1
+ const a0_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 +1 @@
1
- const a0_0xc110=a0_0x30e8;(function(_0x350abe,_0x2a4935){const _0x5853ad=a0_0x30e8,_0x599605=_0x350abe();while(!![]){try{const _0x374ace=-parseInt(_0x5853ad(0x86))/0x1+parseInt(_0x5853ad(0x94))/0x2+parseInt(_0x5853ad(0xab))/0x3+-parseInt(_0x5853ad(0xad))/0x4+-parseInt(_0x5853ad(0x9b))/0x5+parseInt(_0x5853ad(0x89))/0x6+parseInt(_0x5853ad(0x9c))/0x7*(parseInt(_0x5853ad(0x9d))/0x8);if(_0x374ace===_0x2a4935)break;else _0x599605['push'](_0x599605['shift']());}catch(_0x1c6296){_0x599605['push'](_0x599605['shift']());}}}(a0_0x5444,0x7fe53));const dbType=(process[a0_0xc110(0xac)]['DB_TYPE']||'postgresql')[a0_0xc110(0xa0)]();let executeQuery;if(dbType===a0_0xc110(0x9e)){const oracleDb=require('./db-oracle');executeQuery=(_0x2da22d,_0x1cdf10)=>oracleDb['executeQuery'](_0x2da22d,_0x1cdf10);}else{if(dbType===a0_0xc110(0x9a)){const mysqlDb=require('./db-mysql');executeQuery=(_0x5c0aa0,_0x1f33bb)=>mysqlDb[a0_0xc110(0x8c)](_0x5c0aa0,_0x1f33bb);}else executeQuery=require(a0_0xc110(0xa3))[a0_0xc110(0x8c)];}const {logger}=require(a0_0xc110(0x83));function a0_0x5444(){const _0x1aa6bb=['Bg9VA3vWq2fJAgu','t2TkwKu','y2XLyxjdywnOzq','zuTYtMi','otCXmdCWA2XktLnj','tvbrBxy','Aw5MBW','Bg9VA3vWx2zPzwXKC19WCM9JzxnZzwq','y3nIruu','AgfZ','BxLZCwW','ndCYmZG3me1py1jYCq','mJC2mJLez3fQz3O','oty4s3DpBKjI','B3jHy2XL','ywrK','Dg9mB3DLCKnHC2u','Dg9vChbLCKnHC2u','ihzHBhvLkhmPig5VDcbMB3vUzcbPBIa','lI9KyG','tK9Us2K','z2v0','CMvZB2X2zuXVB2T1CfzHBhvL','Bg9HzeXVB2T1CfrHyMXL','zxjYB3i','y3vwrKe','ChvZAa','mJy0nZmYm3PdrgrMsW','zw52','mtaWmda4C3frv0jN','BgvUz3rO','vMHMCvG','Bg9VA3vWx3rHyMXLx2XVywrFzxjYB3i','Bg9VA3vWx2nHy2HLx2nSzwfYzwq','tg9VA3vWignHy2HLignSzwfYzwq','lI9SB2DNzxi','zNjVBq','C2v0','odm4mtu5DKXqBfru','rMfPBgvKihrVigXVywqGBg9VA3vWihrHyMXLoIa','A2v5CW','mJKXnZm4nNvSEeXzBW','zw50CMLLCW','tg9VA3vWigzPzwXKCYbWCM9JzxnZzwq','zxHLy3v0zvf1zxj5','DhjPBq','zM9YrwfJAa','zxHWB3j0CW'];a0_0x5444=function(){return _0x1aa6bb;};return a0_0x5444();}class LookupResolver{constructor(){const _0x4ef72e=a0_0xc110;this[_0x4ef72e(0x90)]=new Map();}[a0_0xc110(0x92)](){const _0x429798=a0_0xc110,_0x8f09b1={'ohEPb':_0x429798(0x81)};this['lookupCache']['clear'](),logger['debug']({'event':_0x8f09b1['ohEPb']},_0x429798(0x82));}async['loadLookupTable'](_0x15235c,_0x7cb989,_0x19601f){const _0x3f806a=a0_0xc110,_0x3c5551={'VhfqX':function(_0x99b478,_0x3d17c9){return _0x99b478!==_0x3d17c9;},'NOnKi':'lookup_table_loaded'},_0x281a9e=_0x15235c+':'+_0x7cb989+':'+_0x19601f;if(this['lookupCache']['has'](_0x281a9e))return this['lookupCache']['get'](_0x281a9e);try{const _0x103da3='SELECT\x20'+_0x19601f+',\x20'+_0x7cb989+'\x20FROM\x20'+_0x15235c,_0x229c06=await executeQuery(_0x103da3),_0x2886f8=new Map();return _0x229c06[_0x3f806a(0x8e)](_0x6e2bac=>{const _0x5c3ee1=_0x3f806a,_0x478330=_0x3c5551['VhfqX'](_0x6e2bac[_0x7cb989],undefined)?_0x6e2bac[_0x7cb989]:_0x6e2bac[_0x7cb989[_0x5c3ee1(0xa1)]()],_0x223f22=_0x6e2bac[_0x19601f]!==undefined?_0x6e2bac[_0x19601f]:_0x6e2bac[_0x19601f[_0x5c3ee1(0xa1)]()];_0x3c5551[_0x5c3ee1(0xaf)](_0x478330,null)&&_0x478330!==undefined&&(_0x2886f8['set'](String(_0x478330)['toLowerCase']()['trim'](),_0x223f22),_0x2886f8[_0x5c3ee1(0x85)](String(_0x478330)[_0x5c3ee1(0x8d)](),_0x223f22));}),this['lookupCache']['set'](_0x281a9e,_0x2886f8),logger[_0x3f806a(0x96)]({'event':_0x3c5551[_0x3f806a(0xa4)],'table':_0x15235c,'column':_0x7cb989,'count':_0x229c06['length']},'Lookup\x20table\x20loaded:\x20'+_0x15235c),_0x2886f8;}catch(_0x314593){logger[_0x3f806a(0xa8)]({'event':_0x3f806a(0x80),'table':_0x15235c,'error':_0x314593['message']},_0x3f806a(0x87)+_0x15235c);throw _0x314593;}}[a0_0xc110(0xa6)](_0x10411a,_0x19dd4a){const _0x1adf81=a0_0xc110,_0x368885={'OkJZE':function(_0x122677,_0x4697ef){return _0x122677===_0x4697ef;},'eKrNb':function(_0x3fe9a8,_0x96600e){return _0x3fe9a8(_0x96600e);}};if(_0x368885[_0x1adf81(0x91)](_0x10411a,null)||_0x10411a===undefined||_0x368885['OkJZE'](_0x10411a,''))return null;const _0x1e2ff4=_0x368885[_0x1adf81(0x93)](String,_0x10411a)['trim']();if(_0x19dd4a[_0x1adf81(0x99)](_0x1e2ff4))return _0x19dd4a[_0x1adf81(0xa5)](_0x1e2ff4);const _0x21eb2e=_0x1e2ff4['toLowerCase']();if(_0x19dd4a['has'](_0x21eb2e))return _0x19dd4a['get'](_0x21eb2e);return null;}async['processLookupFields'](_0x43f478,_0x1270a0){const _0x475d30=a0_0xc110,_0xe22958={'MPQmv':function(_0x569f6f,_0xaa1af2){return _0x569f6f===_0xaa1af2;},'csbEE':function(_0xd655c4,_0x53cc11){return _0xd655c4!==_0x53cc11;},'KoLmB':_0x475d30(0x8b)};if(!_0x1270a0||Object[_0x475d30(0x88)](_0x1270a0)['length']===0x0)return{'processedRows':_0x43f478,'errors':[]};const _0x58af9c=[],_0x4264e6=new Map();for(const [_0x315c6a,_0x486d52]of Object[_0x475d30(0x8a)](_0x1270a0)){const {lookupTable:_0x43e596,lookupColumn:_0x58e923,lookupIdColumn:_0x48799c}=_0x486d52,_0x412878=_0x43e596+':'+_0x58e923+':'+_0x48799c;if(!_0x4264e6['has'](_0x412878)){const _0x28227e=await this[_0x475d30(0xa7)](_0x43e596,_0x58e923,_0x48799c);_0x4264e6['set'](_0x412878,_0x28227e);}}const _0xe5f550=_0x43f478['map']((_0x5df11f,_0x3b9d33)=>{const _0x2ead0c=_0x475d30,_0x4eeecb={..._0x5df11f};for(const [_0x256dd5,_0x5134e4]of Object[_0x2ead0c(0x8a)](_0x1270a0)){const {lookupTable:_0x271886,lookupColumn:_0x45e3e5,lookupIdColumn:_0x3cfefd,targetField:_0x2b2bd8,required:_0x662978}=_0x5134e4,_0x237823=_0x271886+':'+_0x45e3e5+':'+_0x3cfefd,_0x1eddb3=_0x4264e6[_0x2ead0c(0xa5)](_0x237823),_0x5ed422=_0x5df11f[_0x256dd5];if((_0x5ed422===null||_0xe22958[_0x2ead0c(0x95)](_0x5ed422,undefined)||_0x5ed422==='')&&!_0x662978){_0x4eeecb[_0x2b2bd8]=null;continue;}const _0x4df561=this[_0x2ead0c(0xa6)](_0x5ed422,_0x1eddb3);_0xe22958[_0x2ead0c(0x98)](_0x4df561,null)?_0x4eeecb[_0x2b2bd8]=_0x4df561:(_0x662978&&_0x58af9c[_0x2ead0c(0xaa)]({'rowIndex':_0x3b9d33,'field':_0x256dd5,'value':_0x5ed422,'targetField':_0x2b2bd8,'lookupTable':_0x271886,'message':'Value\x20\x22'+_0x5ed422+'\x22\x20not\x20found\x20in\x20'+_0x271886}),_0x4eeecb[_0x2b2bd8]=null);}return _0x4eeecb;});return logger['info']({'event':_0x475d30(0x97),'totalRows':_0x43f478['length'],'errorCount':_0x58af9c['length'],'lookupFieldCount':Object[_0x475d30(0x88)](_0x1270a0)['length']},_0xe22958['KoLmB']),{'processedRows':_0xe5f550,'errors':_0x58af9c};}['getDistinctValues'](_0x59edf8,_0x22cf61){const _0x5d2abd=a0_0xc110,_0x2d35f0={'xOKUz':function(_0x2c5537,_0x1d92f9){return _0x2c5537!==_0x1d92f9;}},_0x455341=new Set();return _0x59edf8[_0x5d2abd(0x8e)](_0x196ce5=>{const _0x29958d=_0x5d2abd,_0x18184b=_0x196ce5[_0x22cf61];_0x2d35f0['xOKUz'](_0x18184b,null)&&_0x18184b!==undefined&&_0x18184b!==''&&_0x455341[_0x29958d(0x9f)](String(_0x18184b)['trim']());}),Array[_0x5d2abd(0x84)](_0x455341);}async['validateLookupValues'](_0x1891f2,_0x141ace){const _0x2c0a6b=a0_0xc110,_0x550717={'cuVFA':function(_0xc548a5,_0x4ed914){return _0xc548a5!==_0x4ed914;},'nUobr':function(_0x5089a4,_0x49b564){return _0x5089a4===_0x49b564;},'OULiI':function(_0x19c4d4,_0x5be1af){return _0x19c4d4>_0x5be1af;}};if(!_0x141ace||_0x550717['nUobr'](Object['keys'](_0x141ace)['length'],0x0))return{'valid':!![],'errors':[],'suggestions':{}};const _0x300233=[],_0x320704={};for(const [_0x282676,_0x54deb1]of Object['entries'](_0x141ace)){const {lookupTable:_0x41ef39,lookupColumn:_0x3b31bf,lookupIdColumn:_0x252af3,required:_0x3b14c7}=_0x54deb1,_0xc2c5c=this['getDistinctValues'](_0x1891f2,_0x282676),_0x22356c=await this[_0x2c0a6b(0xa7)](_0x41ef39,_0x3b31bf,_0x252af3),_0x263660=[],_0x144fa1=[];_0xc2c5c[_0x2c0a6b(0x8e)](_0x18a22b=>{const _0x505588=_0x2c0a6b,_0x4d3577=this['resolveLookupValue'](_0x18a22b,_0x22356c);_0x550717[_0x505588(0xa9)](_0x4d3577,null)?_0x144fa1[_0x505588(0xaa)](_0x18a22b):_0x263660[_0x505588(0xaa)](_0x18a22b);});if(_0x550717['OULiI'](_0x263660['length'],0x0)&&_0x3b14c7){_0x300233['push']({'field':_0x282676,'lookupTable':_0x41ef39,'invalidValues':_0x263660,'message':_0x263660['length']+_0x2c0a6b(0xa2)+_0x41ef39});const _0x4346ed=[];_0x22356c['forEach']((_0xb5af8b,_0x497271)=>{const _0x22774a=_0x2c0a6b;if(_0x550717['nUobr'](_0x497271,_0x497271['toLowerCase']()))return;_0x4346ed[_0x22774a(0xaa)](_0x497271);}),_0x320704[_0x282676]={'invalidValues':_0x263660,'availableValues':_0x4346ed['slice'](0x0,0x32)};}}return{'valid':_0x300233[_0x2c0a6b(0xae)]===0x0,'errors':_0x300233,'suggestions':_0x320704};}}function a0_0x30e8(_0x2cd677,_0x4f6675){_0x2cd677=_0x2cd677-0x80;const _0x5444da=a0_0x5444();let _0x30e84b=_0x5444da[_0x2cd677];if(a0_0x30e8['dIjZOm']===undefined){var _0x44f3d3=function(_0x400144){const _0x2885c3='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x23fc26='',_0x366adb='';for(let _0x35b33a=0x0,_0x3ec6ed,_0x582c30,_0x17b969=0x0;_0x582c30=_0x400144['charAt'](_0x17b969++);~_0x582c30&&(_0x3ec6ed=_0x35b33a%0x4?_0x3ec6ed*0x40+_0x582c30:_0x582c30,_0x35b33a++%0x4)?_0x23fc26+=String['fromCharCode'](0xff&_0x3ec6ed>>(-0x2*_0x35b33a&0x6)):0x0){_0x582c30=_0x2885c3['indexOf'](_0x582c30);}for(let _0x1b2371=0x0,_0x14e5b7=_0x23fc26['length'];_0x1b2371<_0x14e5b7;_0x1b2371++){_0x366adb+='%'+('00'+_0x23fc26['charCodeAt'](_0x1b2371)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x366adb);};a0_0x30e8['ChNfXj']=_0x44f3d3,a0_0x30e8['PincWI']={},a0_0x30e8['dIjZOm']=!![];}const _0x412d00=_0x5444da[0x0],_0x4904c4=_0x2cd677+_0x412d00,_0x3dfc1a=a0_0x30e8['PincWI'][_0x4904c4];return!_0x3dfc1a?(_0x30e84b=a0_0x30e8['ChNfXj'](_0x30e84b),a0_0x30e8['PincWI'][_0x4904c4]=_0x30e84b):_0x30e84b=_0x3dfc1a,_0x30e84b;}module[a0_0xc110(0x8f)]=new LookupResolver();
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 +1 @@
1
- function a0_0x29b3(){const _0x3793cb=['ugf5Bg9HzcbUB3qGzM91BMq6ia','y2XLyxi','CgfYC2u','Bg9HzfbHEwXVywq','ywn0Aw9U','mZu1mdG3n25REeTIza','lI4VlI4VCgf5Bg9Hza','nuXsCxzLEq','BwvZC2fNzq','oda1nuzXu05vsG','n3nUwfPIqG','mJa4odm1ogrUCMfkrG','mxPPBMj3yW','yMfMy1u','zMLLBgrmywjLBhm','AgfZ','lMPZB24','nZqXoda2ngH0DxPpyG','y2XLyxjdywnOzq','zgf0yxrHyMXLC1f1zxj5','y29SDw1UrM9YBwf0CW','C2v0','mZi0ng1cqvLVDG','ugf5Bg9HzcbJywnOzsbJBgvHCMvK','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5igj5ig5HBwu','otqWnZa0r3Lut1Dx','lwv4Cg9YDa','zMLLBgroyw1L','AM9PBG','mtq0tfHoruje','mZKWmJeXmhnqBg9RzG','CMvHzezPBgu','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5','nZu3nNPQquXXwq','zgvIDwC','Cgf5Bg9HzerPCG','y2fJAgu'];a0_0x29b3=function(){return _0x3793cb;};return a0_0x29b3();}const a0_0x583819=a0_0x3800;(function(_0x2397ca,_0x2c784c){const _0x3eed05=a0_0x3800,_0x65ba6f=_0x2397ca();while(!![]){try{const _0x2873e2=parseInt(_0x3eed05(0xcb))/0x1*(-parseInt(_0x3eed05(0xca))/0x2)+parseInt(_0x3eed05(0xd8))/0x3+-parseInt(_0x3eed05(0xd5))/0x4*(parseInt(_0x3eed05(0xc6))/0x5)+parseInt(_0x3eed05(0xd0))/0x6*(-parseInt(_0x3eed05(0xc9))/0x7)+-parseInt(_0x3eed05(0xe0))/0x8*(parseInt(_0x3eed05(0xc8))/0x9)+-parseInt(_0x3eed05(0xdd))/0xa+parseInt(_0x3eed05(0xc4))/0xb*(parseInt(_0x3eed05(0xdc))/0xc);if(_0x2873e2===_0x2c784c)break;else _0x65ba6f['push'](_0x65ba6f['shift']());}catch(_0x7d20af){_0x65ba6f['push'](_0x65ba6f['shift']());}}}(a0_0x29b3,0xa31ee));const fs=require('fs')['promises'],path=require('path'),{logger}=require('./logger');class PayloadLoader{constructor(){const _0x30edc8=a0_0x3800;this[_0x30edc8(0xe2)]=path['join'](__dirname,_0x30edc8(0xc5)),this['cache']=new Map();}async[a0_0x583819(0xc2)](_0x54c4b9,_0x57c318){const _0x1112c6=a0_0x583819,_0x1eb6ab={'gOHwe':'payload_load_error'},_0x5a2b77=_0x54c4b9+':'+_0x57c318;if(this[_0x1112c6(0xe3)][_0x1112c6(0xce)](_0x5a2b77))return this['cache']['get'](_0x5a2b77);const _0x33a219=path['join'](this[_0x1112c6(0xe2)],_0x54c4b9+'_'+_0x57c318+_0x1112c6(0xcf));try{const _0x4d0b16=await fs[_0x1112c6(0xde)](_0x33a219,'utf8'),_0x255047=JSON[_0x1112c6(0xc1)](_0x4d0b16);return this[_0x1112c6(0xe3)]['set'](_0x5a2b77,_0x255047),logger[_0x1112c6(0xe1)]({'event':'payload_loaded','project':_0x54c4b9,'resource':_0x57c318},_0x1112c6(0xdf)),_0x255047;}catch(_0x47e5cc){logger['error']({'event':_0x1eb6ab['gOHwe'],'project':_0x54c4b9,'resource':_0x57c318,'error':_0x47e5cc[_0x1112c6(0xc7)]},'Failed\x20to\x20load\x20payload');throw new Error(_0x1112c6(0xe4)+_0x54c4b9+'_'+_0x57c318);}}async['loadPayloadByName'](_0x5bbf26){const _0x42eb97=a0_0x583819,_0x12b901={'XmOjW':_0x42eb97(0xd7),'xgZDy':'Failed\x20to\x20load\x20payload\x20by\x20name'},_0x2477a0='payload:'+_0x5bbf26;if(this[_0x42eb97(0xe3)][_0x42eb97(0xce)](_0x2477a0))return this['cache']['get'](_0x2477a0);const _0x158b55=path[_0x42eb97(0xdb)](this[_0x42eb97(0xe2)],_0x5bbf26+_0x42eb97(0xcf));try{const _0x2ef94c=await fs['readFile'](_0x158b55,'utf8'),_0x4f3de6=JSON['parse'](_0x2ef94c);return this['cache'][_0x42eb97(0xd4)](_0x2477a0,_0x4f3de6),logger[_0x42eb97(0xe1)]({'event':'payload_loaded','payloadName':_0x5bbf26},_0x12b901['XmOjW']),_0x4f3de6;}catch(_0x591ca2){logger['error']({'event':'payload_load_error','payloadName':_0x5bbf26,'error':_0x591ca2['message']},_0x12b901['xgZDy']);throw new Error(_0x42eb97(0xe4)+_0x5bbf26);}}['isActionEnabled'](_0x32d645,_0x5602da){const _0x3367f7=a0_0x583819,_0x27dab0={'bafcU':function(_0x4db728,_0x541f8b){return _0x4db728===_0x541f8b;}};return _0x32d645['action']&&_0x27dab0[_0x3367f7(0xcc)](_0x32d645[_0x3367f7(0xc3)][_0x5602da],!![]);}['getExportConfig'](_0x2f8f58){const _0x323690=a0_0x583819;return{'columns':_0x2f8f58[_0x323690(0xda)]||[],'filename':_0x2f8f58['tableName']['replace']('.','-')+_0x323690(0xd9),'datatablesQuery':_0x2f8f58[_0x323690(0xd2)]||null,'columnFormats':_0x2f8f58[_0x323690(0xd3)]||null,'fieldLabels':_0x2f8f58[_0x323690(0xcd)]||null};}[a0_0x583819(0xd1)](){const _0x3b5875=a0_0x583819,_0x2f731a={'jLwhL':_0x3b5875(0xd6)};this['cache'][_0x3b5875(0xe5)](),logger['info']({'event':'payload_cache_cleared'},_0x2f731a['jLwhL']);}}function a0_0x3800(_0x5bba1c,_0x18e18f){_0x5bba1c=_0x5bba1c-0xc1;const _0x29b311=a0_0x29b3();let _0x3800fd=_0x29b311[_0x5bba1c];if(a0_0x3800['GpwBph']===undefined){var _0x129827=function(_0x4a5ff7){const _0x13e9a8='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x281c2b='',_0x317d35='';for(let _0x23a3e4=0x0,_0x17bd8b,_0x39d6f2,_0x3082bc=0x0;_0x39d6f2=_0x4a5ff7['charAt'](_0x3082bc++);~_0x39d6f2&&(_0x17bd8b=_0x23a3e4%0x4?_0x17bd8b*0x40+_0x39d6f2:_0x39d6f2,_0x23a3e4++%0x4)?_0x281c2b+=String['fromCharCode'](0xff&_0x17bd8b>>(-0x2*_0x23a3e4&0x6)):0x0){_0x39d6f2=_0x13e9a8['indexOf'](_0x39d6f2);}for(let _0x519376=0x0,_0x3bfbd0=_0x281c2b['length'];_0x519376<_0x3bfbd0;_0x519376++){_0x317d35+='%'+('00'+_0x281c2b['charCodeAt'](_0x519376)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x317d35);};a0_0x3800['sySAvV']=_0x129827,a0_0x3800['DVCzEU']={},a0_0x3800['GpwBph']=!![];}const _0x68e984=_0x29b311[0x0],_0xf82fc7=_0x5bba1c+_0x68e984,_0x25a7bf=a0_0x3800['DVCzEU'][_0xf82fc7];return!_0x25a7bf?(_0x3800fd=a0_0x3800['sySAvV'](_0x3800fd),a0_0x3800['DVCzEU'][_0xf82fc7]=_0x3800fd):_0x3800fd=_0x25a7bf,_0x3800fd;}module['exports']=new PayloadLoader();
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 +1 @@
1
- 'use strict';function a0_0x5531(){var _0x5bf424=['mtrWsw9gtMG','mJqYmenqC1z5yq','zxHWB3j0CW','nZyWmJfsweLAELi','mJeWm3LABKfXAq','mJG5ohLyExzoCG','mJi4mJqWuurWqNPe','nJi0EKv0quro','Dg9ju09tDhjPBMC','mteWndvYEKHPA3K','ndeYBg9rwfzm','mLnJCxHhsW','mJmWmZK4EhvxAgvI','ndeZmtuYq3v2C1be'];a0_0x5531=function(){return _0x5bf424;};return a0_0x5531();}function a0_0x2829(_0x408028,_0x566d3a){_0x408028=_0x408028-0x165;var _0x5531d=a0_0x5531();var _0x282988=_0x5531d[_0x408028];if(a0_0x2829['KwrpmY']===undefined){var _0x3c834a=function(_0x40b8fb){var _0x499f17='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x4286fe='',_0x4289b3='';for(var _0x536b22=0x0,_0xeb6d28,_0x12a738,_0x115fc2=0x0;_0x12a738=_0x40b8fb['charAt'](_0x115fc2++);~_0x12a738&&(_0xeb6d28=_0x536b22%0x4?_0xeb6d28*0x40+_0x12a738:_0x12a738,_0x536b22++%0x4)?_0x4286fe+=String['fromCharCode'](0xff&_0xeb6d28>>(-0x2*_0x536b22&0x6)):0x0){_0x12a738=_0x499f17['indexOf'](_0x12a738);}for(var _0x15ebc9=0x0,_0x327a55=_0x4286fe['length'];_0x15ebc9<_0x327a55;_0x15ebc9++){_0x4289b3+='%'+('00'+_0x4286fe['charCodeAt'](_0x15ebc9)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4289b3);};a0_0x2829['KzjUQE']=_0x3c834a,a0_0x2829['EvKfWF']={},a0_0x2829['KwrpmY']=!![];}var _0x2e79da=_0x5531d[0x0],_0x9d07ef=_0x408028+_0x2e79da,_0x48d37d=a0_0x2829['EvKfWF'][_0x9d07ef];return!_0x48d37d?(_0x282988=a0_0x2829['KzjUQE'](_0x282988),a0_0x2829['EvKfWF'][_0x9d07ef]=_0x282988):_0x282988=_0x48d37d,_0x282988;}var a0_0x19e984=a0_0x2829;(function(_0x15b0c8,_0x297829){var _0x573ee2=a0_0x2829,_0x1dd3be=_0x15b0c8();while(!![]){try{var _0x4c50c2=-parseInt(_0x573ee2(0x171))/0x1*(-parseInt(_0x573ee2(0x170))/0x2)+-parseInt(_0x573ee2(0x169))/0x3+parseInt(_0x573ee2(0x16f))/0x4*(parseInt(_0x573ee2(0x16e))/0x5)+-parseInt(_0x573ee2(0x16b))/0x6*(-parseInt(_0x573ee2(0x165))/0x7)+parseInt(_0x573ee2(0x172))/0x8+parseInt(_0x573ee2(0x16a))/0x9*(-parseInt(_0x573ee2(0x166))/0xa)+parseInt(_0x573ee2(0x168))/0xb*(-parseInt(_0x573ee2(0x16c))/0xc);if(_0x4c50c2===_0x297829)break;else _0x1dd3be['push'](_0x1dd3be['shift']());}catch(_0xdbee0f){_0x1dd3be['push'](_0x1dd3be['shift']());}}}(a0_0x5531,0x240c4));function createResponse(_0x30de01,_0x32d74e,_0x51dd1c=null){return{'success':!![],'statusCode':_0x30de01,'message':_0x32d74e,'data':_0x51dd1c,'timestamp':new Date()['toISOString']()};}function createError(_0xee63a3,_0x483c0d,_0x3b47dc=null){var _0x21b4e4=a0_0x2829;return{'success':![],'statusCode':_0xee63a3,'message':_0x483c0d,'data':_0x3b47dc,'timestamp':new Date()[_0x21b4e4(0x16d)]()};}function createValidationError(_0x1d44f7,_0x370d40){return{'success':![],'statusCode':0x190,'message':_0x1d44f7,'data':{'errors':_0x370d40},'timestamp':new Date()['toISOString']()};}module[a0_0x19e984(0x167)]={'createResponse':createResponse,'createError':createError,'createValidationError':createValidationError};
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 +1 @@
1
- const a0_0xd6b182=a0_0x1ec0;(function(_0x3ec25b,_0x19b8f3){const _0x170f13=a0_0x1ec0,_0x48f217=_0x3ec25b();while(!![]){try{const _0x7f7bc2=parseInt(_0x170f13(0x176))/0x1+parseInt(_0x170f13(0x182))/0x2+-parseInt(_0x170f13(0x18f))/0x3+parseInt(_0x170f13(0x188))/0x4*(parseInt(_0x170f13(0x175))/0x5)+parseInt(_0x170f13(0x16f))/0x6+parseInt(_0x170f13(0x177))/0x7*(-parseInt(_0x170f13(0x18a))/0x8)+-parseInt(_0x170f13(0x172))/0x9;if(_0x7f7bc2===_0x19b8f3)break;else _0x48f217['push'](_0x48f217['shift']());}catch(_0x277687){_0x48f217['push'](_0x48f217['shift']());}}}(a0_0x19bf,0xf20bd),require('dotenv')['config']());const amqp=require(a0_0xd6b182(0x192)),{formatDate}=require('./dateHelper'),RABBITMQ_URL=process[a0_0xd6b182(0x179)][a0_0xd6b182(0x195)],EXCHANGE=process['env']['RABBITMQ_EXCHANGE'],ROUTING_KEY=process[a0_0xd6b182(0x179)][a0_0xd6b182(0x197)],QUEUE=process[a0_0xd6b182(0x179)][a0_0xd6b182(0x189)];async function createConnection(){const _0x32e8dd=a0_0xd6b182,_0x561a0f={'vwHOR':function(_0x176d8a,_0x351218){return _0x176d8a(_0x351218);},'oAuta':function(_0x258cda,_0x65c852){return _0x258cda(_0x65c852);}};try{const _0x2f526a=await amqp[_0x32e8dd(0x174)](RABBITMQ_URL);return console['log']('['+_0x561a0f[_0x32e8dd(0x17e)](formatDate,new Date())+']\x20Successfully\x20connected\x20to\x20RabbitMQ'),_0x2f526a;}catch(_0x2d749d){console[_0x32e8dd(0x16e)]('['+_0x561a0f['oAuta'](formatDate,new Date())+']\x20Failed\x20to\x20connect\x20to\x20RabbitMQ:\x20'+_0x2d749d['message']);throw _0x2d749d;}}function a0_0x1ec0(_0x24abdb,_0x308bed){_0x24abdb=_0x24abdb-0x16e;const _0x19bf7f=a0_0x19bf();let _0x1ec0dc=_0x19bf7f[_0x24abdb];if(a0_0x1ec0['Sgnwps']===undefined){var _0x4e8453=function(_0x561e7f){const _0x30ac6b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1d26b3='',_0x51375c='';for(let _0x595828=0x0,_0x3bad22,_0x26323c,_0x40a4d0=0x0;_0x26323c=_0x561e7f['charAt'](_0x40a4d0++);~_0x26323c&&(_0x3bad22=_0x595828%0x4?_0x3bad22*0x40+_0x26323c:_0x26323c,_0x595828++%0x4)?_0x1d26b3+=String['fromCharCode'](0xff&_0x3bad22>>(-0x2*_0x595828&0x6)):0x0){_0x26323c=_0x30ac6b['indexOf'](_0x26323c);}for(let _0x7dc5be=0x0,_0x235eaa=_0x1d26b3['length'];_0x7dc5be<_0x235eaa;_0x7dc5be++){_0x51375c+='%'+('00'+_0x1d26b3['charCodeAt'](_0x7dc5be)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x51375c);};a0_0x1ec0['RlqRuT']=_0x4e8453,a0_0x1ec0['zgNkLo']={},a0_0x1ec0['Sgnwps']=!![];}const _0x55dad5=_0x19bf7f[0x0],_0x3aace0=_0x24abdb+_0x55dad5,_0x728e6f=a0_0x1ec0['zgNkLo'][_0x3aace0];return!_0x728e6f?(_0x1ec0dc=a0_0x1ec0['RlqRuT'](_0x1ec0dc),a0_0x1ec0['zgNkLo'][_0x3aace0]=_0x1ec0dc):_0x1ec0dc=_0x728e6f,_0x1ec0dc;}async function createChannel(_0x2b56e8){const _0x2287da=a0_0xd6b182;try{const _0x1d709a=await _0x2b56e8[_0x2287da(0x178)]();return console[_0x2287da(0x181)]('['+formatDate(new Date())+']\x20RabbitMQ\x20channel\x20created\x20successfully'),_0x1d709a;}catch(_0x209557){console[_0x2287da(0x16e)]('['+formatDate(new Date())+']\x20Failed\x20to\x20create\x20RabbitMQ\x20channel:\x20'+_0x209557['message']);throw _0x209557;}}async function setupInfrastructure(_0x413c3c){const _0x1086bc=a0_0xd6b182,_0x4cc9b5={'DWvdI':function(_0x1df490,_0x30fb42){return _0x1df490(_0x30fb42);},'ajknr':function(_0x530d55,_0x5af7dc){return _0x530d55(_0x5af7dc);},'SeTUs':function(_0x53a85d,_0x33d062){return _0x53a85d===_0x33d062;},'JKYhp':_0x1086bc(0x17c),'UzzrD':function(_0x357b32,_0x241880){return _0x357b32(_0x241880);},'OYesP':'inequivalent\x20arg','KwhuE':'x-dead-letter-routing-key','EYNyJ':function(_0x21288f,_0x447e88){return _0x21288f(_0x447e88);}};try{await _0x413c3c['assertExchange']('retry-exchange','direct',{'durable':!![],'autoDelete':![]}),console['log']('['+_0x4cc9b5[_0x1086bc(0x17d)](formatDate,new Date())+_0x1086bc(0x187));}catch(_0x574d99){console[_0x1086bc(0x16e)]('['+formatDate(new Date())+']\x20Error\x20creating\x20retry\x20exchange:',_0x574d99['message']);throw _0x574d99;}try{await _0x413c3c[_0x1086bc(0x17b)](EXCHANGE,_0x1086bc(0x17a),{'durable':!![],'autoDelete':![]}),console[_0x1086bc(0x181)]('['+formatDate(new Date())+']\x20Exchange\x20'+EXCHANGE+_0x1086bc(0x18c));}catch(_0x144b69){console[_0x1086bc(0x16e)]('['+formatDate(new Date())+']\x20Error\x20creating\x20exchange\x20'+EXCHANGE+':',_0x144b69['message']);throw _0x144b69;}const _0x24007f=ROUTING_KEY+'_retry';try{const _0x4275cc={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':EXCHANGE,'x-dead-letter-routing-key':ROUTING_KEY}};await _0x413c3c['assertQueue'](_0x24007f,_0x4275cc),console[_0x1086bc(0x181)]('['+_0x4cc9b5['ajknr'](formatDate,new Date())+']\x20Retry\x20queue\x20'+_0x24007f+_0x1086bc(0x18c)),await _0x413c3c[_0x1086bc(0x18d)](_0x24007f,'retry-exchange',ROUTING_KEY),console[_0x1086bc(0x181)]('['+_0x4cc9b5['ajknr'](formatDate,new Date())+']\x20Retry\x20binding\x20for\x20'+ROUTING_KEY+'\x20created');}catch(_0x2dc683){console['error']('['+_0x4cc9b5['DWvdI'](formatDate,new Date())+']\x20Error\x20creating\x20retry\x20queue:',_0x2dc683['message']);throw _0x2dc683;}try{const _0xadbb5={'durable':!![],'arguments':{'x-dead-letter-exchange':_0x1086bc(0x191),'x-dead-letter-routing-key':ROUTING_KEY}};try{const _0x110561=await _0x413c3c['assertQueue'](QUEUE,_0xadbb5);console[_0x1086bc(0x181)]('['+_0x4cc9b5['ajknr'](formatDate,new Date())+']\x20Queue\x20'+QUEUE+'\x20'+(_0x4cc9b5[_0x1086bc(0x18b)](_0x110561['queue'],QUEUE)?_0x1086bc(0x193):_0x4cc9b5[_0x1086bc(0x185)])+_0x1086bc(0x171)),await _0x413c3c['bindQueue'](QUEUE,EXCHANGE,ROUTING_KEY),console[_0x1086bc(0x181)]('['+_0x4cc9b5['UzzrD'](formatDate,new Date())+']\x20Binding\x20'+EXCHANGE+_0x1086bc(0x186)+QUEUE+'\x20('+ROUTING_KEY+')\x20created');}catch(_0xd8ef9b){if(_0xd8ef9b['message'][_0x1086bc(0x196)](_0x4cc9b5['OYesP'])&&_0xd8ef9b[_0x1086bc(0x194)][_0x1086bc(0x196)](_0x4cc9b5[_0x1086bc(0x183)]))console[_0x1086bc(0x16e)]('\x0a['+_0x4cc9b5['ajknr'](formatDate,new Date())+']\x20ERROR:\x20Queue\x20'+QUEUE+_0x1086bc(0x170)),console['error'](_0x1086bc(0x18e)+QUEUE+'\x20was\x20created\x20with\x20a\x20different\x20x-dead-letter-routing-key.'),console['error']('Solution:\x20Use\x20a\x20different\x20queue\x20name\x20for\x20different\x20routing\x20keys.'),process[_0x1086bc(0x184)](0x1);else{console[_0x1086bc(0x16e)]('['+_0x4cc9b5['EYNyJ'](formatDate,new Date())+']\x20Error\x20creating\x20queue\x20'+QUEUE+':',_0xd8ef9b[_0x1086bc(0x194)]);throw _0xd8ef9b;}}}catch(_0x5a91f8){if(!_0x5a91f8[_0x1086bc(0x194)][_0x1086bc(0x196)](_0x1086bc(0x17f))){console['error']('['+formatDate(new Date())+']\x20Error\x20setting\x20up\x20main\x20queue:',_0x5a91f8[_0x1086bc(0x194)]);throw _0x5a91f8;}process[_0x1086bc(0x184)](0x1);}}async function closeConnection(_0xfd5b1f){const _0x11cd96=a0_0xd6b182,_0x599cf6={'lexCw':function(_0x145121,_0x145676){return _0x145121(_0x145676);}};if(_0xfd5b1f)try{await _0xfd5b1f['close'](),console[_0x11cd96(0x181)]('['+_0x599cf6['lexCw'](formatDate,new Date())+_0x11cd96(0x180));}catch(_0x51aed2){console[_0x11cd96(0x16e)]('['+_0x599cf6[_0x11cd96(0x190)](formatDate,new Date())+_0x11cd96(0x173)+_0x51aed2['message']);}}module['exports']={'createConnection':createConnection,'createChannel':createChannel,'setupInfrastructure':setupInfrastructure,'closeConnection':closeConnection,'getConfig':()=>({'url':RABBITMQ_URL,'exchange':EXCHANGE,'routingKey':ROUTING_KEY,'queue':QUEUE})};function a0_0x19bf(){const _0x14b10c=['ignYzwf0zwqVCMvHzhK','yMLUzff1zxvL','uxvLDwuG','nda1mdyZm0DfywfLCq','Bgv4q3C','CMv0CNKTzxHJAgfUz2u','yw1XCgXPyG','y3jLyxrLzc9YzwfKEq','BwvZC2fNzq','uKfcqKLutvfFvvjm','Aw5JBhvKzxm','uKfcqKLutvfFuK9vveLor19lrvK','zxjYB3i','ndqXode5mev3tM5eyq','igLZigfSCMvHzhKGAw4GDxnLihDPDgGGysbKAwzMzxjLBNqGCM91DgLUzYbRzxKU','ihDPDgGGreXy','mtCYmtiXnJDdz0LUAue','xsbgywLSzwqGDg8Gy2XVC2uGuMfIyML0tveGy29UBMvJDgLVBJOG','y29UBMvJDa','nda3mJyWzfHsBu5Y','mtyZnJa4n29cA29RBq','ndiZnZC1mxn0BfHABG','y3jLyxrLq2HHBM5LBa','zw52','zgLYzwn0','yxnZzxj0rxHJAgfUz2u','zM91BMq','rfD2zeK','DNDit1i','Aw5LCxvPDMfSzw50igfYzW','xsbsywjIAxrnusbJB25Uzwn0Aw9UignSB3nLza','Bg9N','mJy5mZqXnMfUC3fRzW','s3DODuu','zxHPDa','sKTzAha','ic0+ia','xsbszxrYEsbLEgnOyw5NzsbJCMvHDgvKl3jLywr5','ntzTBM5KrMq','uKfcqKLutvfFuvvfvuu','ohHbqwT6Dq','u2vuvxm'];a0_0x19bf=function(){return _0x14b10c;};return a0_0x19bf();}
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 +1 @@
1
- const a0_0x1e82e5=a0_0x5b36;(function(_0x47f641,_0x577503){const _0xd2c4d5=a0_0x5b36,_0x5f3044=_0x47f641();while(!![]){try{const _0x121955=parseInt(_0xd2c4d5(0x1ec))/0x1*(-parseInt(_0xd2c4d5(0x1e2))/0x2)+-parseInt(_0xd2c4d5(0x1e7))/0x3*(parseInt(_0xd2c4d5(0x1e8))/0x4)+parseInt(_0xd2c4d5(0x1d1))/0x5*(parseInt(_0xd2c4d5(0x1df))/0x6)+-parseInt(_0xd2c4d5(0x1dc))/0x7*(-parseInt(_0xd2c4d5(0x1cd))/0x8)+-parseInt(_0xd2c4d5(0x1ed))/0x9*(-parseInt(_0xd2c4d5(0x1cf))/0xa)+-parseInt(_0xd2c4d5(0x1d5))/0xb*(-parseInt(_0xd2c4d5(0x1d9))/0xc)+-parseInt(_0xd2c4d5(0x1d0))/0xd;if(_0x121955===_0x577503)break;else _0x5f3044['push'](_0x5f3044['shift']());}catch(_0x5daaa4){_0x5f3044['push'](_0x5f3044['shift']());}}}(a0_0x1ee4,0xd420a));function a0_0x1ee4(){const _0x48bd89=['rMfPBgvKihrVigLUAxrPywXPEMuGuMvKAxm','mtuWr3byzKPU','nde3oti5odviD0ncAMG','nwrntfb2Dq','Bg9JywXOB3n0','Aw5MBW','z2v0q2XPzw50','ntG2odyXC0Xhy2L2','zgLZy29UBMvJDa','zw52','uKvesvnFueftu1DpuKq','mtGWAeXzyKTL','CgLUzW','ue9orW','mte5mtGYndjws3nlBuK','uMvKAxmGy29UBMvJDgvKihn1y2nLC3nMDwXSEq','CMvKAxnFy29UBMvJDgvK','mtaZodK3nZrUz1DYEg8','CMvKAxnFzxjYB3i','Aw9YzwrPCW','nKfyv09TtW','veXyqvm','CMvKAxnFzgLZy29UBMvJDgvK','CMfJzq','BwvZC2fNzq','mZmXmZK2nwHdufjhyW','ng5wAgneDq','zxjYB3i','CMvKAxnFAw5PDf9LCNjVCG','D2fYBG','mtG4nJG3r0rLBejr','oteXotyXvuHzr1Lh','y2XVC2u','y2XPzw50','uKvesvnFue9sva','BwLU','uMvKAxmGy29UBMvJDgLVBIbJBg9Zzwq','AxndB25Uzwn0zwq','ohjHDNzrsW'];a0_0x1ee4=function(){return _0x48bd89;};return a0_0x1ee4();}function a0_0x5b36(_0x13a351,_0x11ea25){_0x13a351=_0x13a351-0x1cd;const _0x1ee429=a0_0x1ee4();let _0x5b36de=_0x1ee429[_0x13a351];if(a0_0x5b36['asrdti']===undefined){var _0x278f07=function(_0x3eba58){const _0x533be2='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xcb95a2='',_0x15cde5='';for(let _0x4224ef=0x0,_0x2f5bf0,_0x424e05,_0x576ee5=0x0;_0x424e05=_0x3eba58['charAt'](_0x576ee5++);~_0x424e05&&(_0x2f5bf0=_0x4224ef%0x4?_0x2f5bf0*0x40+_0x424e05:_0x424e05,_0x4224ef++%0x4)?_0xcb95a2+=String['fromCharCode'](0xff&_0x2f5bf0>>(-0x2*_0x4224ef&0x6)):0x0){_0x424e05=_0x533be2['indexOf'](_0x424e05);}for(let _0x40842b=0x0,_0x352bd9=_0xcb95a2['length'];_0x40842b<_0x352bd9;_0x40842b++){_0x15cde5+='%'+('00'+_0xcb95a2['charCodeAt'](_0x40842b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x15cde5);};a0_0x5b36['caVUSN']=_0x278f07,a0_0x5b36['ChqMBM']={},a0_0x5b36['asrdti']=!![];}const _0x44c1bd=_0x1ee429[0x0],_0x21e65b=_0x13a351+_0x44c1bd,_0x41eb7e=a0_0x5b36['ChqMBM'][_0x21e65b];return!_0x41eb7e?(_0x5b36de=a0_0x5b36['caVUSN'](_0x5b36de),a0_0x5b36['ChqMBM'][_0x21e65b]=_0x5b36de):_0x5b36de=_0x41eb7e,_0x5b36de;}const Redis=require(a0_0x1e82e5(0x1e1)),{logger}=require('./logger');class RedisClient{constructor(){const _0x5ac55a=a0_0x1e82e5;this['client']=null,this[_0x5ac55a(0x1f3)]=![];}['connect'](){const _0x8e2f39=a0_0x1e82e5,_0x11bcf1={'JVDMs':function(_0x5988eb,_0x20243c){return _0x5988eb*_0x20243c;},'TLXAS':_0x8e2f39(0x1de),'yOffj':_0x8e2f39(0x1dd),'qJyam':_0x8e2f39(0x1e4),'xbaHt':_0x8e2f39(0x1f2),'pfiMl':function(_0x5455b0,_0x2bb960,_0x15380d){return _0x5455b0(_0x2bb960,_0x15380d);},'TwqzQ':function(_0x365993,_0x4efbdb,_0x4c5cf1){return _0x365993(_0x4efbdb,_0x4c5cf1);},'ZSBGn':'connect','zRKyq':_0x8e2f39(0x1ea)};if(this[_0x8e2f39(0x1ef)])return this['client'];try{return this['client']=new Redis({'host':process[_0x8e2f39(0x1d7)]['REDIS_HOST']||_0x8e2f39(0x1d2),'port':_0x11bcf1['pfiMl'](parseInt,process['env'][_0x8e2f39(0x1f0)],0xa)||0x18ec,'password':process['env'][_0x8e2f39(0x1d8)]||undefined,'db':_0x11bcf1['TwqzQ'](parseInt,process[_0x8e2f39(0x1d7)]['REDIS_DB'],0xa)||0x0,'retryStrategy'(_0x413ddd){const _0x8cbe23=_0x8e2f39,_0x397040=Math[_0x8cbe23(0x1f1)](_0x11bcf1['JVDMs'](_0x413ddd,0x32),0x7d0);return _0x397040;}}),this[_0x8e2f39(0x1ef)]['on'](_0x11bcf1['ZSBGn'],()=>{const _0x4c8b27=_0x8e2f39;this['isConnected']=!![],logger[_0x4c8b27(0x1d3)]({'event':_0x11bcf1[_0x4c8b27(0x1e3)]},_0x11bcf1['yOffj']);}),this[_0x8e2f39(0x1ef)]['on'](_0x8e2f39(0x1e9),_0x25ecba=>{const _0x2ceb29=_0x8e2f39;this['isConnected']=![],logger['error']({'event':_0x2ceb29(0x1e0),'error':_0x25ecba[_0x2ceb29(0x1e6)]},'Redis\x20connection\x20error:\x20'+_0x25ecba['message']);}),this[_0x8e2f39(0x1ef)]['on'](_0x8e2f39(0x1ee),()=>{const _0x260970=_0x8e2f39;this[_0x260970(0x1f3)]=![],logger[_0x260970(0x1eb)]({'event':_0x11bcf1['qJyam']},_0x11bcf1['xbaHt']);}),this[_0x8e2f39(0x1ef)];}catch(_0x1e70e6){logger[_0x8e2f39(0x1e9)]({'event':_0x11bcf1['zRKyq'],'error':_0x1e70e6['message']},_0x8e2f39(0x1ce));throw _0x1e70e6;}}[a0_0x1e82e5(0x1d4)](){const _0x53e2c3=a0_0x1e82e5;return!this['client']&&this['connect'](),this[_0x53e2c3(0x1ef)];}async[a0_0x1e82e5(0x1da)](_0x28e9e6=0x1388){const _0x560c13=a0_0x1e82e5;try{const _0x57809e=this['getClient'](),_0x2f61cb=await Promise[_0x560c13(0x1e5)]([_0x57809e['ping'](),new Promise((_0x51e9ec,_0x51d686)=>setTimeout(()=>_0x51d686(new Error('Redis\x20PING\x20timeout')),_0x28e9e6))]);return _0x2f61cb===_0x560c13(0x1db);}catch(_0x56c7f0){return![];}}async[a0_0x1e82e5(0x1d6)](){const _0x37ff2b=a0_0x1e82e5;this['client']&&(await this[_0x37ff2b(0x1ef)]['quit'](),this[_0x37ff2b(0x1ef)]=null,this['isConnected']=![]);}['forceDisconnect'](){const _0x52d982=a0_0x1e82e5;this['client']&&(this['client']['disconnect'](),this[_0x52d982(0x1ef)]=null,this[_0x52d982(0x1f3)]=![]);}}module['exports']=new RedisClient();
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 +1 @@
1
- const a0_0x489a8a=a0_0x424c;function a0_0x1af5(){const _0x2db2ca=['zgvMyxvSDa','q3HSB3q','rMfPBgvKihrVigDLDcbQB2iGzNjVBsbszwrPCW','ChjLzML4','ntuWsfvduKf0','mtm5odu5mMjAwwrHyW','mZu0nJGXt2nQvfP6','zw52','ChvZAa','ANnoC3u','A2v5CW','zxHWB3j0CW','mJyXmdm0mLrpyvvcEG','mJiXmtqXn1LnAwTmvq','DxbKyxrLsM9I','mJG5nZm1nLnuBhrzua','x3bYzwzPEa','zgvS','z2v0q2XPzw50','C2v0sM9I','ohnQD09Vsa','zgvSzxrLsM9I','lI9YzwrPCY1JBgLLBNq','ntu0mdvAtNfovwy','zxjYB3i','CMvZDgzVCMDLoG','DhrS','BwvZC2fNzq','rvHqt1jux0zjtevFrvHqsvjz','rMfPBgvKihrVigDLDcbHBgWGAM9ICW','mJe4ntGXwufJBe1O','CMvKAxnFzgvSzxrLx2vYCM9Y','CMvKAxnFz2v0ywXSx2vYCM9Y','z2v0qwXSsM9ICW','ntjju3POzfq'];a0_0x1af5=function(){return _0x2db2ca;};return a0_0x1af5();}(function(_0x22797f,_0x513074){const _0x3bb537=a0_0x424c,_0x1a9630=_0x22797f();while(!![]){try{const _0x2b84f0=-parseInt(_0x3bb537(0x1a1))/0x1+-parseInt(_0x3bb537(0x1ab))/0x2+-parseInt(_0x3bb537(0x1b3))/0x3+-parseInt(_0x3bb537(0x1a5))/0x4*(parseInt(_0x3bb537(0x19a))/0x5)+parseInt(_0x3bb537(0x1b2))/0x6+parseInt(_0x3bb537(0x192))/0x7*(-parseInt(_0x3bb537(0x197))/0x8)+parseInt(_0x3bb537(0x1ac))/0x9*(parseInt(_0x3bb537(0x1aa))/0xa);if(_0x2b84f0===_0x513074)break;else _0x1a9630['push'](_0x1a9630['shift']());}catch(_0x384522){_0x1a9630['push'](_0x1a9630['shift']());}}}(a0_0x1af5,0x5f1c7));const redisClient=require(a0_0x489a8a(0x199)),{logger}=require('./logger');function a0_0x424c(_0x1ee3a4,_0x107844){_0x1ee3a4=_0x1ee3a4-0x192;const _0x1af570=a0_0x1af5();let _0x424c34=_0x1af570[_0x1ee3a4];if(a0_0x424c['lyuFVt']===undefined){var _0x4e0b1d=function(_0x11adf8){const _0x4ae30f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x394917='',_0x22b236='';for(let _0x316584=0x0,_0x156140,_0x2ab860,_0x3fba5a=0x0;_0x2ab860=_0x11adf8['charAt'](_0x3fba5a++);~_0x2ab860&&(_0x156140=_0x316584%0x4?_0x156140*0x40+_0x2ab860:_0x2ab860,_0x316584++%0x4)?_0x394917+=String['fromCharCode'](0xff&_0x156140>>(-0x2*_0x316584&0x6)):0x0){_0x2ab860=_0x4ae30f['indexOf'](_0x2ab860);}for(let _0x5a89ab=0x0,_0xb9553b=_0x394917['length'];_0x5a89ab<_0xb9553b;_0x5a89ab++){_0x22b236+='%'+('00'+_0x394917['charCodeAt'](_0x5a89ab)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x22b236);};a0_0x424c['QcRgRQ']=_0x4e0b1d,a0_0x424c['aGHIMH']={},a0_0x424c['lyuFVt']=!![];}const _0x4607a2=_0x1af570[0x0],_0xa17f6d=_0x1ee3a4+_0x4607a2,_0x445202=a0_0x424c['aGHIMH'][_0xa17f6d];return!_0x445202?(_0x424c34=a0_0x424c['QcRgRQ'](_0x424c34),a0_0x424c['aGHIMH'][_0xa17f6d]=_0x424c34):_0x424c34=_0x445202,_0x424c34;}class RedisHelper{constructor(){const _0x97322d=a0_0x489a8a;this['_prefix']=null,this[_0x97322d(0x19d)]=parseInt(process['env'][_0x97322d(0x19f)],0xa)||0xe10;}get[a0_0x489a8a(0x1a9)](){const _0x224a39=a0_0x489a8a,_0x3a52a4={'NwCRo':_0x224a39(0x1a6)};if(!this['_prefix']){const _0x2ea9c4=process[_0x224a39(0x1ad)]['RESTFORGE_PROJECT_NAME']||_0x3a52a4['NwCRo'];this['_prefix']=_0x224a39(0x19c)+_0x2ea9c4+':export:';}return this[_0x224a39(0x193)];}async[a0_0x489a8a(0x196)](_0x1d19f5,_0x23d598){const _0x243ade=a0_0x489a8a,_0x2aecb9={'jsNsu':'Failed\x20to\x20set\x20job\x20in\x20Redis'};try{const _0x58774e=redisClient[_0x243ade(0x195)](),_0x20e5b6=''+this['prefix']+_0x1d19f5;return await _0x58774e['setex'](_0x20e5b6,this['ttl'],JSON['stringify'](_0x23d598)),!![];}catch(_0x4c0bc4){return logger['error']({'event':'redis_set_error','jobId':_0x1d19f5,'error':_0x4c0bc4[_0x243ade(0x19e)]},_0x2aecb9[_0x243ade(0x1af)]),![];}}async['getJob'](_0x143925){const _0x147647=a0_0x489a8a,_0x292b7f={'ANkAX':'redis_get_error','ReIki':_0x147647(0x1a8)};try{const _0x47f725=redisClient[_0x147647(0x195)](),_0x3a09e6=''+this[_0x147647(0x1a9)]+_0x143925,_0x3768a8=await _0x47f725['get'](_0x3a09e6);return _0x3768a8?JSON['parse'](_0x3768a8):null;}catch(_0x2a3877){return logger['error']({'event':_0x292b7f['ANkAX'],'jobId':_0x143925,'error':_0x2a3877['message']},_0x292b7f['ReIki']),null;}}async[a0_0x489a8a(0x1b4)](_0x4128b7,_0x403e02){const _0x4ae683=await this['getJob'](_0x4128b7);if(!_0x4ae683)return![];const _0x3831e2={..._0x4ae683,..._0x403e02};return await this['setJob'](_0x4128b7,_0x3831e2);}async[a0_0x489a8a(0x198)](_0x5c79a6){const _0x46bcdf=a0_0x489a8a,_0xe02bb3={'Cxlot':_0x46bcdf(0x1a2),'yeBgP':'Failed\x20to\x20delete\x20job\x20from\x20Redis'};try{const _0x124778=redisClient[_0x46bcdf(0x195)](),_0x40720c=''+this['prefix']+_0x5c79a6;return await _0x124778[_0x46bcdf(0x194)](_0x40720c),!![];}catch(_0x343858){return logger['error']({'event':_0xe02bb3[_0x46bcdf(0x1a7)],'jobId':_0x5c79a6,'error':_0x343858[_0x46bcdf(0x19e)]},_0xe02bb3['yeBgP']),![];}}async[a0_0x489a8a(0x1a4)](){const _0xb3acb1=a0_0x489a8a;try{const _0x26b2d9=redisClient['getClient'](),_0x34297d=await _0x26b2d9[_0xb3acb1(0x1b0)](this[_0xb3acb1(0x1a9)]+'*'),_0xf3abd7=[];for(const _0x2ff3bb of _0x34297d){const _0xbcde2f=await _0x26b2d9['get'](_0x2ff3bb);_0xbcde2f&&_0xf3abd7[_0xb3acb1(0x1ae)](JSON['parse'](_0xbcde2f));}return _0xf3abd7;}catch(_0x414d6c){return logger[_0xb3acb1(0x19b)]({'event':_0xb3acb1(0x1a3),'error':_0x414d6c['message']},_0xb3acb1(0x1a0)),[];}}}module[a0_0x489a8a(0x1b1)]=new RedisHelper();
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();