@restforgejs/platform 5.0.9 → 5.1.4

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 (181) 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/data/pull.js +95 -0
  5. package/generators/cli/data/push.js +85 -0
  6. package/generators/cli/fast-track.js +950 -0
  7. package/generators/cli/payload/sync.js +18 -2
  8. package/generators/cli/schema/introspect.js +10 -10
  9. package/generators/lib/data/db-executor.js +440 -0
  10. package/generators/lib/data/dialect-kit.js +56 -0
  11. package/generators/lib/data/envelope.js +220 -0
  12. package/generators/lib/data/pull-runner.js +407 -0
  13. package/generators/lib/data/push-runner.js +382 -0
  14. package/generators/lib/data/sdf-reader.js +132 -0
  15. package/generators/lib/data/table-order.js +126 -0
  16. package/generators/lib/data/value-codec.js +188 -0
  17. package/generators/lib/migrate/field-type-resolver.js +18 -5
  18. package/generators/lib/payload/payload-runner.js +724 -39
  19. package/generators/lib/templates/dashboard-catalog.js +1 -1
  20. package/generators/lib/templates/db-connection-env.js +1 -1
  21. package/generators/lib/templates/dbschema-catalog.js +1 -1
  22. package/generators/lib/templates/field-validation-catalog.js +1 -1
  23. package/generators/lib/templates/mysql-template.js +1 -1
  24. package/generators/lib/templates/oracle-template.js +1 -1
  25. package/generators/lib/templates/postgres-template.js +1 -1
  26. package/generators/lib/templates/query-declarative-catalog.js +1 -1
  27. package/generators/lib/templates/sqlite-template.js +1 -1
  28. package/integrity-manifest.json +18 -18
  29. package/package.json +1 -1
  30. package/scripts/verify-integrity.js +1 -1
  31. package/server.js +1 -1
  32. package/src/components/handlers/adjust_handler.js +1 -1
  33. package/src/components/handlers/audit_handler.js +1 -1
  34. package/src/components/handlers/delete_handler.js +1 -1
  35. package/src/components/handlers/export_handler.js +1 -1
  36. package/src/components/handlers/import_handler.js +1 -1
  37. package/src/components/handlers/insert_handler.js +1 -1
  38. package/src/components/handlers/update_handler.js +1 -1
  39. package/src/components/handlers/upload_handler.js +1 -1
  40. package/src/components/handlers/workflow_handler.js +1 -1
  41. package/src/components/integrations/webhook.js +1 -1
  42. package/src/consumers/baseConsumer.js +1 -1
  43. package/src/consumers/declarativeMapper.js +1 -1
  44. package/src/consumers/handlers/apiHandler.js +1 -1
  45. package/src/consumers/handlers/consoleHandler.js +1 -1
  46. package/src/consumers/handlers/databaseHandler.js +1 -1
  47. package/src/consumers/handlers/index.js +1 -1
  48. package/src/consumers/handlers/kafkaHandler.js +1 -1
  49. package/src/consumers/index.js +1 -1
  50. package/src/consumers/messageTransformer.js +1 -1
  51. package/src/consumers/validator.js +1 -1
  52. package/src/core/db/dialect/base-dialect.js +1 -1
  53. package/src/core/db/dialect/index.js +1 -1
  54. package/src/core/db/dialect/mysql-dialect.js +1 -1
  55. package/src/core/db/dialect/oracle-dialect.js +1 -1
  56. package/src/core/db/dialect/postgres-dialect.js +1 -1
  57. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  58. package/src/core/db/flatten-helper.js +1 -1
  59. package/src/core/db/query-builder-error.js +1 -1
  60. package/src/core/db/query-builder.js +1 -1
  61. package/src/core/db/relation-helper.js +1 -1
  62. package/src/core/handlers/delete_handler.js +1 -1
  63. package/src/core/handlers/insert_handler.js +1 -1
  64. package/src/core/handlers/update_handler.js +1 -1
  65. package/src/core/models/base-model.js +1 -1
  66. package/src/core/utils/cache-manager.js +1 -1
  67. package/src/core/utils/component-engine.js +1 -1
  68. package/src/core/utils/context-builder.js +1 -1
  69. package/src/core/utils/datetime-formatter.js +1 -1
  70. package/src/core/utils/datetime-parser.js +1 -1
  71. package/src/core/utils/db.js +1 -1
  72. package/src/core/utils/logger.js +1 -1
  73. package/src/core/utils/payload-loader.js +1 -1
  74. package/src/core/utils/security-checks.js +1 -1
  75. package/src/middleware/body-options.js +1 -1
  76. package/src/middleware/cors.js +1 -1
  77. package/src/middleware/idempotency.js +1 -1
  78. package/src/middleware/rate-limiter.js +1 -1
  79. package/src/middleware/request-logger.js +1 -1
  80. package/src/middleware/security-headers.js +1 -1
  81. package/src/models/base-model-mysql.js +1 -1
  82. package/src/models/base-model-oracle.js +1 -1
  83. package/src/models/base-model-sqlite.js +1 -1
  84. package/src/models/base-model.js +1 -1
  85. package/src/pro/caching/redis-client.js +1 -1
  86. package/src/pro/caching/redis-helper.js +1 -1
  87. package/src/pro/consumers/baseConsumer.js +1 -1
  88. package/src/pro/consumers/declarativeMapper.js +1 -1
  89. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  90. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  91. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  92. package/src/pro/consumers/handlers/index.js +1 -1
  93. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  94. package/src/pro/consumers/index.js +1 -1
  95. package/src/pro/consumers/messageTransformer.js +1 -1
  96. package/src/pro/consumers/validator.js +1 -1
  97. package/src/pro/database/base-model-mysql.js +1 -1
  98. package/src/pro/database/base-model-oracle.js +1 -1
  99. package/src/pro/database/base-model-sqlite.js +1 -1
  100. package/src/pro/database/db-mysql.js +1 -1
  101. package/src/pro/database/db-oracle.js +1 -1
  102. package/src/pro/database/db-sqlite.js +1 -1
  103. package/src/pro/excel/excel-generator.js +1 -1
  104. package/src/pro/excel/excel-parser.js +1 -1
  105. package/src/pro/excel/export-service.js +1 -1
  106. package/src/pro/excel/export_handler.js +1 -1
  107. package/src/pro/excel/import-service.js +1 -1
  108. package/src/pro/excel/import-validator.js +1 -1
  109. package/src/pro/excel/import_handler.js +1 -1
  110. package/src/pro/excel/upsert-builder.js +1 -1
  111. package/src/pro/idgen/idgen-routes.js +1 -1
  112. package/src/pro/integrations/lookup-resolver.js +1 -1
  113. package/src/pro/integrations/upload-handler-v2.js +1 -1
  114. package/src/pro/integrations/upload-handler.js +1 -1
  115. package/src/pro/integrations/webhook.js +1 -1
  116. package/src/pro/locking/lock-routes.js +1 -1
  117. package/src/pro/locking/resource-lock-manager.js +1 -1
  118. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  119. package/src/pro/messaging/kafkaService.js +1 -1
  120. package/src/pro/messaging/messagehubService.js +1 -1
  121. package/src/pro/messaging/rabbitmqService.js +1 -1
  122. package/src/pro/scheduler/job-manager.js +1 -1
  123. package/src/pro/scheduler/job-routes.js +1 -1
  124. package/src/pro/scheduler/job-validator.js +1 -1
  125. package/src/pro/storage/base-storage-provider.js +1 -1
  126. package/src/pro/storage/file-metadata-helper.js +1 -1
  127. package/src/pro/storage/index.js +1 -1
  128. package/src/pro/storage/local-storage-provider.js +1 -1
  129. package/src/pro/storage/s3-storage-provider.js +1 -1
  130. package/src/pro/storage/upload-cleanup-job.js +1 -1
  131. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  132. package/src/pro/storage/upload-pending-tracker.js +1 -1
  133. package/src/pro/websocket/broadcast-helper.js +1 -1
  134. package/src/pro/websocket/index.js +1 -1
  135. package/src/pro/websocket/livesync-server.js +1 -1
  136. package/src/pro/websocket/ws-broadcaster.js +1 -1
  137. package/src/services/export-service.js +1 -1
  138. package/src/services/import-service.js +1 -1
  139. package/src/services/kafkaConsumerService.js +1 -1
  140. package/src/services/kafkaService.js +1 -1
  141. package/src/services/messagehubService.js +1 -1
  142. package/src/services/rabbitmqService.js +1 -1
  143. package/src/utils/cache-invalidation-registry.js +1 -1
  144. package/src/utils/cache-manager.js +1 -1
  145. package/src/utils/component-engine.js +1 -1
  146. package/src/utils/config-extractor.js +1 -1
  147. package/src/utils/consumerLogger.js +1 -1
  148. package/src/utils/context-builder.js +1 -1
  149. package/src/utils/dashboard-helpers.js +1 -1
  150. package/src/utils/dateHelper.js +1 -1
  151. package/src/utils/datetime-formatter.js +1 -1
  152. package/src/utils/datetime-parser.js +1 -1
  153. package/src/utils/db-bootstrap.js +1 -1
  154. package/src/utils/db-mysql.js +1 -1
  155. package/src/utils/db-oracle.js +1 -1
  156. package/src/utils/db-sqlite.js +1 -1
  157. package/src/utils/db.js +1 -1
  158. package/src/utils/demo-generator.js +1 -1
  159. package/src/utils/excel-generator.js +1 -1
  160. package/src/utils/excel-parser.js +1 -1
  161. package/src/utils/file-watcher.js +1 -1
  162. package/src/utils/id-generator.js +1 -1
  163. package/src/utils/idempotency-manager.js +1 -1
  164. package/src/utils/import-validator.js +1 -1
  165. package/src/utils/license-client.js +1 -1
  166. package/src/utils/lock-manager.js +1 -1
  167. package/src/utils/logger.js +1 -1
  168. package/src/utils/lookup-resolver.js +1 -1
  169. package/src/utils/payload-loader.js +1 -1
  170. package/src/utils/processor-response.js +1 -1
  171. package/src/utils/rabbitmq.js +1 -1
  172. package/src/utils/redis-client.js +1 -1
  173. package/src/utils/redis-helper.js +1 -1
  174. package/src/utils/request-scope.js +1 -1
  175. package/src/utils/security-checks.js +1 -1
  176. package/src/utils/service-resolver.js +1 -1
  177. package/src/utils/shutdown-coordinator.js +1 -1
  178. package/src/utils/trusted-keys.js +1 -1
  179. package/src/utils/upload-handler.js +1 -1
  180. package/src/utils/upsert-builder.js +1 -1
  181. package/src/utils/workflow-hook-executor.js +1 -1
@@ -1 +1 @@
1
- const a0_0x1cb7d7=a0_0x730f;function a0_0x730f(_0x39eb5a,_0x42c14f){_0x39eb5a=_0x39eb5a-0x65;const _0xec10d1=a0_0xec10();let _0x730f69=_0xec10d1[_0x39eb5a];if(a0_0x730f['SXdKJe']===undefined){var _0x5dcbb1=function(_0x4e0fc4){const _0x53300='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x7c4252='',_0x4e8621='';for(let _0x17474b=0x0,_0x228fbd,_0x3405da,_0x384900=0x0;_0x3405da=_0x4e0fc4['charAt'](_0x384900++);~_0x3405da&&(_0x228fbd=_0x17474b%0x4?_0x228fbd*0x40+_0x3405da:_0x3405da,_0x17474b++%0x4)?_0x7c4252+=String['fromCharCode'](0xff&_0x228fbd>>(-0x2*_0x17474b&0x6)):0x0){_0x3405da=_0x53300['indexOf'](_0x3405da);}for(let _0x105116=0x0,_0x1fce67=_0x7c4252['length'];_0x105116<_0x1fce67;_0x105116++){_0x4e8621+='%'+('00'+_0x7c4252['charCodeAt'](_0x105116)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4e8621);};a0_0x730f['qyaZAO']=_0x5dcbb1,a0_0x730f['jZDrWp']={},a0_0x730f['SXdKJe']=!![];}const _0x14c62d=_0xec10d1[0x0],_0x400bd8=_0x39eb5a+_0x14c62d,_0x3409c1=a0_0x730f['jZDrWp'][_0x400bd8];return!_0x3409c1?(_0x730f69=a0_0x730f['qyaZAO'](_0x730f69),a0_0x730f['jZDrWp'][_0x400bd8]=_0x730f69):_0x730f69=_0x3409c1,_0x730f69;}(function(_0x3616e9,_0x569212){const _0x4f4961=a0_0x730f,_0x3e7230=_0x3616e9();while(!![]){try{const _0x12fb7f=parseInt(_0x4f4961(0x83))/0x1*(-parseInt(_0x4f4961(0xc0))/0x2)+parseInt(_0x4f4961(0x66))/0x3+parseInt(_0x4f4961(0x79))/0x4+-parseInt(_0x4f4961(0x85))/0x5*(parseInt(_0x4f4961(0x6a))/0x6)+-parseInt(_0x4f4961(0x9b))/0x7+parseInt(_0x4f4961(0x78))/0x8+parseInt(_0x4f4961(0xc1))/0x9*(parseInt(_0x4f4961(0x9e))/0xa);if(_0x12fb7f===_0x569212)break;else _0x3e7230['push'](_0x3e7230['shift']());}catch(_0x4f0316){_0x3e7230['push'](_0x3e7230['shift']());}}}(a0_0xec10,0xd50f4));const redisClient=require('./redis-client'),{logger}=require('./logger'),{v4:uuidv4}=require('uuid');class LockManager{constructor(){const _0x249d15=a0_0x730f,_0x4c7f7a=_0x249d15(0x8a)[_0x249d15(0xb3)]('|');let _0x552900=0x0;while(!![]){switch(_0x4c7f7a[_0x552900++]){case'0':this['_initialized']=![];continue;case'1':this['_retryCount']=null;continue;case'2':this['_prefix']=null;continue;case'3':this['_retryDelay']=null;continue;case'4':this['_strategy']=null;continue;case'5':this['_defaultTTL']=null;continue;case'6':this[_0x249d15(0x87)]=null;continue;case'7':this['_workerId']=null;continue;}break;}}['_initConfig'](){const _0x1cf662=a0_0x730f,_0x2f15e8={'wZlFj':_0x1cf662(0x90),'HpCjP':function(_0x21ab75,_0x3053ea){return _0x21ab75===_0x3053ea;},'gnpZQ':'rf:lock:','UJcRm':_0x1cf662(0xbc)},_0x2f037d=_0x2f15e8['wZlFj'][_0x1cf662(0xb3)]('|');let _0x9683a9=0x0;while(!![]){switch(_0x2f037d[_0x9683a9++]){case'0':this['_enabled']=_0x2f15e8['HpCjP'](process[_0x1cf662(0xa3)][_0x1cf662(0xb5)],_0x1cf662(0xab));continue;case'1':this[_0x1cf662(0xbd)]=!![];continue;case'2':this['_workerId']='worker-'+process[_0x1cf662(0xa8)];continue;case'3':this[_0x1cf662(0xa2)]=_0x2f15e8['gnpZQ'];continue;case'4':this['_retryCount']=parseInt(process[_0x1cf662(0xa3)]['LOCK_DISTRIBUTED_RETRY'],0xa)||0x3;continue;case'5':logger['info']({'event':'lock_config_init','enabled':this['_enabled'],'strategy':this['_strategy'],'ttl':this[_0x1cf662(0x93)],'retryCount':this[_0x1cf662(0x84)],'retryDelay':this['_retryDelay'],'workerId':this['_workerId']},_0x1cf662(0x96)+this[_0x1cf662(0x87)]+_0x1cf662(0xaa)+this['_strategy']);continue;case'6':this['_retryDelay']=parseInt(process['env']['LOCK_DISTRIBUTED_RETRY_DELAY'],0xa)||0x64;continue;case'7':this['_strategy']=process[_0x1cf662(0xa3)]['LOCK_DISTRIBUTED_STRATEGY']||_0x2f15e8['UJcRm'];continue;case'8':this['_defaultTTL']=parseInt(process['env'][_0x1cf662(0x75)],0xa)||0xa;continue;}break;}}['_ensureInitialized'](){const _0x59d4ef=a0_0x730f;!this[_0x59d4ef(0xbd)]&&this['_initConfig']();}get['prefix'](){const _0x312e2d=a0_0x730f;return this[_0x312e2d(0xaf)](),this[_0x312e2d(0xa2)];}get['enabled'](){const _0x3026b9=a0_0x730f;return this[_0x3026b9(0xaf)](),this[_0x3026b9(0x87)];}get[a0_0x1cb7d7(0xb6)](){const _0x28133c=a0_0x1cb7d7;return this[_0x28133c(0xaf)](),this['_defaultTTL'];}get['retryCount'](){const _0x56f6fd=a0_0x1cb7d7;return this['_ensureInitialized'](),this[_0x56f6fd(0x84)];}get[a0_0x1cb7d7(0x74)](){const _0x1965a4=a0_0x1cb7d7;return this[_0x1965a4(0xaf)](),this['_retryDelay'];}get['strategy'](){const _0x7a8271=a0_0x1cb7d7;return this[_0x7a8271(0xaf)](),this['_strategy'];}get[a0_0x1cb7d7(0xa1)](){const _0x403089=a0_0x1cb7d7;return this[_0x403089(0xaf)](),this[_0x403089(0x71)];}[a0_0x1cb7d7(0x9c)](_0x5b8376){const _0x101b7a=a0_0x1cb7d7,{module:_0xccc1de,endpoint:_0x508fdf,lockType:_0x530932,recordId:_0x3dcd93}=_0x5b8376;if(_0x3dcd93)return''+this[_0x101b7a(0x77)]+_0xccc1de+':'+_0x508fdf+':'+_0x3dcd93+':'+_0x530932;return''+this['prefix']+_0xccc1de+':'+_0x508fdf+':'+_0x530932;}['generateLockValue'](){const _0x4d63f3=a0_0x1cb7d7,_0x5563b8={'EpqdO':function(_0x5bbd4c){return _0x5bbd4c();}};return this['workerId']+':'+_0x5563b8[_0x4d63f3(0x69)](uuidv4)+':'+Date[_0x4d63f3(0x81)]();}async['acquireReadLock'](_0x308fcb){const _0x481cc6=a0_0x1cb7d7,_0x4bfece={'EwiOs':'READ\x20lock\x20acquired','zTWof':_0x481cc6(0x70),'KEcpB':'Waiting\x20for\x20WRITE\x20lock\x20to\x20release','yDznS':function(_0x231e7e,_0xee963f){return _0x231e7e*_0xee963f;},'waEmt':_0x481cc6(0x7c),'rVjvR':'READ\x20lock\x20acquire\x20timeout','ZAigZ':_0x481cc6(0xb7)};if(!this[_0x481cc6(0xb4)])return{'success':!![],'lockValue':null,'lockKey':null};const _0x5a5ac0=this[_0x481cc6(0x9c)]({..._0x308fcb,'lockType':_0x481cc6(0x6e)}),_0x31ee54=this[_0x481cc6(0x9c)]({..._0x308fcb,'lockType':'read'}),_0x163bd4=this[_0x481cc6(0x6b)]();try{const _0x3c0c47=redisClient[_0x481cc6(0xac)]();for(let _0x18712a=0x0;_0x18712a<this[_0x481cc6(0x91)];_0x18712a++){const _0x582c2f=await _0x3c0c47[_0x481cc6(0x97)](_0x5a5ac0);if(!_0x582c2f){await _0x3c0c47['incr'](_0x31ee54),await _0x3c0c47['expire'](_0x31ee54,this[_0x481cc6(0xb6)]);const _0x12ed1f=_0x31ee54+':'+_0x163bd4;return await _0x3c0c47[_0x481cc6(0x89)](_0x12ed1f,this[_0x481cc6(0xb6)],_0x163bd4),logger['debug']({'event':'read_lock_acquired','key':_0x31ee54,'value':_0x163bd4},_0x4bfece[_0x481cc6(0x7f)]),{'success':!![],'lockValue':_0x163bd4,'lockKey':_0x12ed1f};}logger[_0x481cc6(0x8b)]({'event':_0x4bfece[_0x481cc6(0x92)],'writeKey':_0x5a5ac0,'attempt':_0x18712a},_0x4bfece['KEcpB']),await this[_0x481cc6(0x7d)](_0x4bfece[_0x481cc6(0xad)](this[_0x481cc6(0x74)],Math['pow'](0x2,_0x18712a)));}return logger['warn']({'event':_0x4bfece[_0x481cc6(0x98)],'key':_0x31ee54},_0x4bfece['rVjvR']),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x5bfad9){return logger[_0x481cc6(0x7e)]({'event':_0x4bfece[_0x481cc6(0xae)],'error':_0x5bfad9[_0x481cc6(0x8c)]},'READ\x20lock\x20error'),{'success':![],'lockValue':null,'lockKey':null};}}async['acquireWriteLock'](_0x7033c0){const _0x7e6219=a0_0x1cb7d7,_0x41572f={'LBTGo':function(_0x309129,_0x2ad6b5){return _0x309129===_0x2ad6b5;},'tOUbo':_0x7e6219(0x76),'HhWEE':_0x7e6219(0x9a),'ZajMY':function(_0x1c9973,_0x18af34){return _0x1c9973<_0x18af34;},'SiKNX':function(_0x5566e4,_0x55e1bc){return _0x5566e4(_0x55e1bc);},'BHwxP':'WRITE\x20lock\x20acquired\x20(retry\x20mode)','blTyI':_0x7e6219(0x8f),'TKemI':'write_lock_timeout','UIyFE':'write_lock_error'};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x57d4d7=this['buildLockKey']({..._0x7033c0,'lockType':'write'}),_0x18d582=this[_0x7e6219(0x9c)]({..._0x7033c0,'lockType':_0x7e6219(0x82)}),_0x387aff=this['generateLockValue']();try{const _0x61a400=redisClient['getClient']();if(_0x41572f[_0x7e6219(0x6d)](this[_0x7e6219(0x86)],'reject')){const _0x443842=await _0x61a400[_0x7e6219(0x80)](_0x57d4d7,_0x387aff,'EX',this['defaultTTL'],'NX');if(_0x443842==='OK')return logger['debug']({'event':_0x41572f['tOUbo'],'key':_0x57d4d7,'value':_0x387aff,'strategy':'reject'},_0x41572f[_0x7e6219(0x94)]),{'success':!![],'lockValue':_0x387aff,'lockKey':_0x57d4d7};return logger[_0x7e6219(0x8b)]({'event':_0x7e6219(0xa6),'key':_0x57d4d7},_0x7e6219(0xba)),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x552798=0x0;_0x41572f['ZajMY'](_0x552798,this[_0x7e6219(0x91)]);_0x552798++){const [_0x2e7269,_0x310409]=await Promise['all']([_0x61a400[_0x7e6219(0x97)](_0x18d582),_0x61a400[_0x7e6219(0x97)](_0x57d4d7)]);if(!_0x310409&&(!_0x2e7269||_0x41572f['SiKNX'](parseInt,_0x2e7269)===0x0)){const _0x5dbaf8=await _0x61a400[_0x7e6219(0x80)](_0x57d4d7,_0x387aff,'EX',this['defaultTTL'],'NX');if(_0x41572f['LBTGo'](_0x5dbaf8,'OK'))return logger['debug']({'event':_0x41572f[_0x7e6219(0xbb)],'key':_0x57d4d7,'value':_0x387aff,'strategy':'retry'},_0x41572f[_0x7e6219(0xb8)]),{'success':!![],'lockValue':_0x387aff,'lockKey':_0x57d4d7};}logger['debug']({'event':_0x41572f[_0x7e6219(0xa5)],'writeKey':_0x57d4d7,'readCount':_0x2e7269,'attempt':_0x552798},_0x7e6219(0xa7)),await this[_0x7e6219(0x7d)](this[_0x7e6219(0x74)]*Math['pow'](0x2,_0x552798));}return logger[_0x7e6219(0x6f)]({'event':_0x41572f['TKemI'],'key':_0x57d4d7},_0x7e6219(0xbf)),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x2746fa){return logger['error']({'event':_0x41572f[_0x7e6219(0x65)],'error':_0x2746fa[_0x7e6219(0x8c)]},_0x7e6219(0x88)),{'success':![],'lockValue':null,'lockKey':null};}}async['releaseLock'](_0x5b1337,_0x5ac27a){const _0xbab14=a0_0x1cb7d7,_0x196894={'TAyCR':function(_0x2ed9b8,_0x597696){return _0x2ed9b8>_0x597696;},'rrmmp':function(_0x5fe029,_0x2f86b2){return _0x5fe029===_0x2f86b2;},'kFhIf':_0xbab14(0xb9),'fKRLu':_0xbab14(0xa9),'dbFrw':'Lock\x20release\x20error'};if(!this[_0xbab14(0xb4)]||!_0x5b1337)return!![];try{const _0x4ec254=redisClient[_0xbab14(0xac)]();if(_0x5b1337[_0xbab14(0x9f)](':read:')){await _0x4ec254[_0xbab14(0x68)](_0x5b1337);const _0x3174f4=_0x5b1337['substring'](0x0,_0x5b1337['lastIndexOf'](':')),_0xe0cc6b=await _0x4ec254[_0xbab14(0x97)](_0x3174f4);return _0xe0cc6b&&_0x196894[_0xbab14(0xb2)](parseInt(_0xe0cc6b),0x0)&&await _0x4ec254['decr'](_0x3174f4),logger[_0xbab14(0x8b)]({'event':'read_lock_released','key':_0x5b1337},_0xbab14(0x95)),!![];}const _0x39928a=_0xbab14(0x73),_0x2ff2ba=await _0x4ec254['eval'](_0x39928a,0x1,_0x5b1337,_0x5ac27a);if(_0x196894['rrmmp'](_0x2ff2ba,0x1))return logger[_0xbab14(0x8b)]({'event':_0xbab14(0x9d),'key':_0x5b1337},_0x196894[_0xbab14(0xbe)]),!![];return logger[_0xbab14(0x6f)]({'event':'lock_release_not_owner','key':_0x5b1337},_0x196894[_0xbab14(0x7b)]),![];}catch(_0xeb41df){return logger['error']({'event':_0xbab14(0x67),'key':_0x5b1337,'error':_0xeb41df[_0xbab14(0x8c)]},_0x196894[_0xbab14(0x7a)]),![];}}async[a0_0x1cb7d7(0x99)](_0x6f48d7,_0x4dee75,_0x43e59a=null){const _0x50583f=a0_0x1cb7d7,_0x5ccf78={'XkHgA':_0x50583f(0x6c),'iRlAM':_0x50583f(0xb0),'xdTXi':'Lock\x20extend\x20error'};if(!this['enabled']||!_0x6f48d7)return!![];try{const _0x485eea=redisClient['getClient'](),_0x2fee32='\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20redis.call(\x22get\x22,\x20KEYS[1])\x20==\x20ARGV[1]\x20then\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20redis.call(\x22expire\x22,\x20KEYS[1],\x20ARGV[2])\x0a\x20\x20\x20\x20\x20\x20\x20\x20else\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x200\x0a\x20\x20\x20\x20\x20\x20\x20\x20end\x0a\x20\x20\x20\x20\x20\x20',_0x150cd4=await _0x485eea[_0x50583f(0xa0)](_0x2fee32,0x1,_0x6f48d7,_0x4dee75,_0x43e59a||this['defaultTTL']);if(_0x150cd4===0x1)return logger['debug']({'event':_0x5ccf78['XkHgA'],'key':_0x6f48d7,'ttl':_0x43e59a||this['defaultTTL']},_0x5ccf78[_0x50583f(0x8d)]),!![];return![];}catch(_0x4bc3a3){return logger[_0x50583f(0x7e)]({'event':'lock_extend_error','key':_0x6f48d7,'error':_0x4bc3a3['message']},_0x5ccf78[_0x50583f(0x72)]),![];}}['isEnabled'](){return this['enabled'];}['sleep'](_0x2cd321){return new Promise(_0x4a3943=>setTimeout(_0x4a3943,_0x2cd321));}async['getLockInfo'](_0x3f2937){const _0x271c04=a0_0x1cb7d7,_0x115dbd={'OrlvZ':'read'};if(!this[_0x271c04(0xb4)])return{'enabled':![]};try{const _0x76f946=redisClient[_0x271c04(0xac)](),_0xc3fd86=this['buildLockKey']({..._0x3f2937,'lockType':'write'}),_0x294d12=this[_0x271c04(0x9c)]({..._0x3f2937,'lockType':_0x115dbd[_0x271c04(0x8e)]}),[_0x8dc43a,_0x2a4dbc]=await Promise[_0x271c04(0xb1)]([_0x76f946['get'](_0xc3fd86),_0x76f946['get'](_0x294d12)]);return{'enabled':!![],'writeLock':_0x8dc43a||null,'readCount':parseInt(_0x2a4dbc)||0x0,'writeKey':_0xc3fd86,'readKey':_0x294d12};}catch(_0x2eeec2){return{'enabled':!![],'error':_0x2eeec2['message']};}}}module[a0_0x1cb7d7(0xa4)]=new LockManager();function a0_0xec10(){const _0xa50f88=['mZCWn1rouuLdva','x3jLDhj5q291BNq','mtG0nJq5me5WBvLRyW','C3rYyxrLz3K','x2vUywjSzwq','v1jjveuGBg9JAYbLCNjVCG','C2v0zxG','mNW2Fdv8mxWZFdr8n3WW','zgvIDwC','BwvZC2fNzq','AvjSqu0','t3jSDLO','D3jPDgvFBg9JA193ywL0Aw5N','m3WWFdH8nhW2FdD8mNWXFdu','CMv0CNLdB3vUDa','ELrxB2y','x2rLzMf1BhruveW','sgHxruu','uKvbrcbSB2nRihjLBgvHC2vK','tg9JAYbJB25MAwD1CMf0Aw9UigLUAxrPywXPEMvKic0Gzw5HyMXLzdOG','z2v0','D2ffBxq','zxH0zw5Ktg9JAW','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMvQzwn0ig1VzguP','mta4mJy4ntHwuxjUt08','yNvPBgrmB2nRs2v5','D3jPDgvFBg9JA19YzwXLyxnLza','mZe5nZCYmhvJCNLzqG','Aw5JBhvKzxm','zxzHBa','D29YA2vYswq','x3bYzwzPEa','zw52','zxHWB3j0CW','yMXuEuK','D3jPDgvFBg9JA19YzwPLy3rLza','v2fPDgLUzYbMB3iGBg9JA3mGDg8GCMvSzwfZzq','CgLK','q2fUBM90ihjLBgvHC2uGBg9JAYaTig5VDcbVD25LCG','lcbZDhjHDgvNEtOG','Dhj1zq','z2v0q2XPzw50','Eur6BLm','wKfPz1O','x2vUC3vYzuLUAxrPywXPEMvK','tg9JAYbuveWGzxH0zw5Kzwq','ywXS','vef5q1i','C3bSAxq','zw5HyMXLza','te9ds19esvnuuKLcvvrfrf9ftKfcteve','zgvMyxvSDfruta','CMvHzf9SB2nRx2vYCM9Y','qKH3Efa','v1jjveuGBg9JAYbYzwXLyxnLza','v1jjveuGBg9JAYbYzwPLy3rLzcaTihjLy29YzcbIDxn5','De9vyM8','CMv0CNK','x2LUAxrPywXPEMvK','A0zOswy','v1jjveuGBg9JAYbHy3f1AxjLihrPBwvVDxq','mtaYrwT2uxzL','ndvRyKvNzfC','vuL5rKu','odKXndHbAhD4t2m','Bg9JA19YzwXLyxnLx2vYCM9Y','zgvS','rxbXze8','mtHju2Xpvxe','z2vUzxjHDgvmB2nRvMfSDwu','Bg9JA19LEhrLBMrLza','tejur28','D3jPDgu','D2fYBG','CMvHzf9SB2nRx3DHAxrPBMC','x3DVCMTLCKLK','EgruwgK','cIaGicaGicaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicaGicaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzgvSiIWGs0vzu1SXxsKkicaGicaGicbLBhnLcIaGicaGicaGicbYzxr1CM4GmaOGicaGicaGigvUzaOGicaGica','CMv0CNLezwXHEq','te9ds19esvnuuKLcvvrfrf9uveW','D3jPDgvFBg9JA19Hy3f1AxjLza','ChjLzML4','oty4mZC0nfrdre5myq','mZuWote3mLvKwe55tW','zgjgCNC','zKTsthu','CMvHzf9SB2nRx3rPBwvVDxq','C2XLzxa','zxjYB3i','rxDPt3m','C2v0','BM93','CMvHza'];a0_0xec10=function(){return _0xa50f88;};return a0_0xec10();}
1
+ function a0_0x338d(_0x4d6e10,_0x37970d){_0x4d6e10=_0x4d6e10-0x14b;const _0x2c489d=a0_0x2c48();let _0x338deb=_0x2c489d[_0x4d6e10];if(a0_0x338d['HUnSEy']===undefined){var _0x51d1ba=function(_0x507c9b){const _0x2e45c5='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3eb5da='',_0x53f5fd='';for(let _0x1cb85b=0x0,_0x33fc8c,_0x490210,_0x590071=0x0;_0x490210=_0x507c9b['charAt'](_0x590071++);~_0x490210&&(_0x33fc8c=_0x1cb85b%0x4?_0x33fc8c*0x40+_0x490210:_0x490210,_0x1cb85b++%0x4)?_0x3eb5da+=String['fromCharCode'](0xff&_0x33fc8c>>(-0x2*_0x1cb85b&0x6)):0x0){_0x490210=_0x2e45c5['indexOf'](_0x490210);}for(let _0x2b68a9=0x0,_0x17c2ed=_0x3eb5da['length'];_0x2b68a9<_0x17c2ed;_0x2b68a9++){_0x53f5fd+='%'+('00'+_0x3eb5da['charCodeAt'](_0x2b68a9)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x53f5fd);};a0_0x338d['wbocNV']=_0x51d1ba,a0_0x338d['GsDMeK']={},a0_0x338d['HUnSEy']=!![];}const _0x2483a4=_0x2c489d[0x0],_0x383a27=_0x4d6e10+_0x2483a4,_0x3aeab9=a0_0x338d['GsDMeK'][_0x383a27];return!_0x3aeab9?(_0x338deb=a0_0x338d['wbocNV'](_0x338deb),a0_0x338d['GsDMeK'][_0x383a27]=_0x338deb):_0x338deb=_0x3aeab9,_0x338deb;}const a0_0x1d7cff=a0_0x338d;(function(_0x3cacb4,_0x2584ee){const _0x364893=a0_0x338d,_0x41c42a=_0x3cacb4();while(!![]){try{const _0x5a2f5a=-parseInt(_0x364893(0x18d))/0x1*(parseInt(_0x364893(0x183))/0x2)+-parseInt(_0x364893(0x188))/0x3+parseInt(_0x364893(0x18f))/0x4+parseInt(_0x364893(0x1a4))/0x5*(-parseInt(_0x364893(0x19f))/0x6)+-parseInt(_0x364893(0x1a6))/0x7+-parseInt(_0x364893(0x167))/0x8*(-parseInt(_0x364893(0x15b))/0x9)+parseInt(_0x364893(0x17e))/0xa;if(_0x5a2f5a===_0x2584ee)break;else _0x41c42a['push'](_0x41c42a['shift']());}catch(_0x4e7bd0){_0x41c42a['push'](_0x41c42a['shift']());}}}(a0_0x2c48,0xf2331));function a0_0x2c48(){const _0x4a6896=['x3bYzwzPEa','tg9JAYbYzwXLyxnLigvYCM9Y','zgvJCG','C3rYyxrLz3K','v1jjveuGBg9JAYbHy3f1AxjLihrPBwvVDxq','ntC4mdq3ohP1r3vrwa','te9ds19esvnuuKLcvvrfrf9srvrswv9eruXbwq','CMv0CNLdB3vUDa','AxnfBMfIBgvK','x3DVCMTLCKLK','mtbWCxPeBgC','zuvXuK4','nZa5otm0ngXXqvnYzW','DxvPza','Bg9JA19JB25MAwDFAw5PDa','EKLQuNy','D3jPDgvFBg9JA19YzwPLy3rLza','x3jLDhj5rgvSyxK','CwLKzK0','vLDhyMC','zgvIDwC','AerZvM8','ANDLBxy','CMvHza','Dhj1zq','ywXS','uxvtr1G','D3jPDgvFBg9JA19YzwXLyxnLza','CKnorNK','D3jPDgvFBg9JA19Hy3f1AxjLza','y0Dnyu0','CMvHzf9SB2nRx2fJCxvPCMvK','te9ds19esvnuuKLcvvrfrf9srvrswq','nJi0ntK0nNbVwLzADa','D2fYBG','BwvZC2fNzq','CMvQzwn0','ChjLzML4','x2rLzMf1BhruveW','Bg9JA19YzwXLyxnLx2vYCM9Y','q2fUBM90ihjLBgvHC2uGBg9JAYaTig5VDcbVD25LCG','z2v0q2XPzw50','D3jPDgvFBg9JA190Aw1LB3v0','D3jPDgvFBg9JA193ywL0Aw5N','zgvMyxvSDfruta','oe9bAe1ABW','zxzHBa','D3jPDgu','Bg9JA19LEhrLBMrLza','cIaGicaGicaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicaGicaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzgvSiIWGs0vzu1SXxsKkicaGicaGicbLBhnLcIaGicaGicaGicbYzxr1CM4GmaOGicaGicaGigvUzaOGicaGica','zxH0zw5Ktg9JAW','vfPAqNC','uKPgv3a','zxHWB3j0CW','tg9JAYbLEhrLBMqGzxjYB3i','v2fPDgLUzYbMB3iGv1jjveuGBg9JAYb0BYbYzwXLyxnL','C2XLzxa','te9ds19esvnuuKLcvvrfrf9ftKfcteve','Aw5JCG','AeDMEgS','CMv0CNLezwXHEq','x3jLDhj5q291BNq','x2vUywjSzwq','zgvS','z2v0tg9JA0LUzM8','rw5LC1e','lI9SB2DNzxi','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMv0CNKGBw9KzsK','mJu5mJe1mdbXuhfqzxK','v0rXsuC','x3n0CMf0zwD5','zw5HyMXLza','te9ds19esvnuuKLcvvrfrf9uveW','oduWmdrxzvLUqLG','DgjSy0e','CMvSzwfZzuXVy2S','CgLK','B0Dmr00','mJa4nZe2q3niuM9U','x2LUAxrdB25MAwC','D3jPDgvFBg9JA19LCNjVCG','uKvbrcbSB2nRigfJCxvPCMuGDgLTzw91Da','AwTpC3G','nxrutxLrDa','zxjYB3i','mZCXnJaYmhnWs0zVqG','Aw5MBW','x2LUAxrPywXPEMvK','yNvPBgrmB2nRs2v5','v1jjveuGBg9JAYbYzwXLyxnLza','CMy6Bg9JAZO','lcbZDhjHDgvNEtOG','ywnXDwLYzvjLywrmB2nR','zw52','z2v0','x2vUC3vYzuLUAxrPywXPEMvK'];a0_0x2c48=function(){return _0x4a6896;};return a0_0x2c48();}const redisClient=require('./redis-client'),{logger}=require(a0_0x1d7cff(0x17c)),{v4:uuidv4}=require(a0_0x1d7cff(0x1a7));class LockManager{constructor(){const _0x436c12=a0_0x1d7cff;this['_prefix']=null,this['_enabled']=null,this['_defaultTTL']=null,this[_0x436c12(0x177)]=null,this[_0x436c12(0x14b)]=null,this[_0x436c12(0x180)]=null,this[_0x436c12(0x1a3)]=null,this[_0x436c12(0x191)]=![];}[a0_0x1d7cff(0x189)](){const _0x5e5190=a0_0x1d7cff,_0xfda724={'oGLGM':function(_0x2af5cc,_0x1acd39){return _0x2af5cc===_0x1acd39;},'qidfM':_0x5e5190(0x152),'jwemv':'retry'};this[_0x5e5190(0x19a)]=_0x5e5190(0x194),this['_enabled']=_0xfda724[_0x5e5190(0x187)](process['env'][_0x5e5190(0x173)],_0xfda724[_0x5e5190(0x14c)]),this[_0x5e5190(0x160)]=parseInt(process[_0x5e5190(0x197)][_0x5e5190(0x182)],0xa)||0xa,this['_retryCount']=parseInt(process[_0x5e5190(0x197)][_0x5e5190(0x15a)],0xa)||0x3,this['_retryDelay']=parseInt(process[_0x5e5190(0x197)][_0x5e5190(0x1a0)],0xa)||0x64,this[_0x5e5190(0x180)]=process['env']['LOCK_DISTRIBUTED_STRATEGY']||_0xfda724[_0x5e5190(0x150)],this['_workerId']='worker-'+process[_0x5e5190(0x186)],this['_initialized']=!![],logger[_0x5e5190(0x190)]({'event':_0x5e5190(0x1a8),'enabled':this[_0x5e5190(0x178)],'strategy':this['_strategy'],'ttl':this['_defaultTTL'],'retryCount':this['_retryCount'],'retryDelay':this[_0x5e5190(0x14b)],'workerId':this['_workerId']},'Lock\x20configuration\x20initialized\x20-\x20enabled:\x20'+this['_enabled']+_0x5e5190(0x195)+this['_strategy']);}[a0_0x1d7cff(0x199)](){!this['_initialized']&&this['_initConfig']();}get['prefix'](){const _0x3cc75e=a0_0x1d7cff;return this['_ensureInitialized'](),this[_0x3cc75e(0x19a)];}get[a0_0x1d7cff(0x181)](){return this['_ensureInitialized'](),this['_enabled'];}get['defaultTTL'](){const _0x337d4d=a0_0x1d7cff;return this['_ensureInitialized'](),this[_0x337d4d(0x160)];}get['retryCount'](){return this['_ensureInitialized'](),this['_retryCount'];}get[a0_0x1d7cff(0x176)](){const _0x3d8310=a0_0x1d7cff;return this['_ensureInitialized'](),this[_0x3d8310(0x14b)];}get[a0_0x1d7cff(0x19d)](){return this['_ensureInitialized'](),this['_strategy'];}get['workerId'](){const _0x21e9bf=a0_0x1d7cff;return this['_ensureInitialized'](),this[_0x21e9bf(0x1a3)];}[a0_0x1d7cff(0x192)](_0x19ba2c){const _0x43ebab=a0_0x1d7cff,{module:_0xa6b14c,endpoint:_0x357943,lockType:_0x3f8162,recordId:_0x39db6b}=_0x19ba2c;if(_0x39db6b)return''+this[_0x43ebab(0x15f)]+_0xa6b14c+':'+_0x357943+':'+_0x39db6b+':'+_0x3f8162;return''+this['prefix']+_0xa6b14c+':'+_0x357943+':'+_0x3f8162;}['generateLockValue'](){return this['workerId']+':'+uuidv4()+':'+Date['now']();}async[a0_0x1d7cff(0x196)](_0x336e16){const _0x3214da=a0_0x1d7cff,_0xc0e065={'cEUWz':_0x3214da(0x151),'EnesQ':function(_0x4cc3bf,_0x16c0ed){return _0x4cc3bf<_0x16c0ed;},'RJFWp':_0x3214da(0x159),'hDsVo':'read_lock_waiting','QHfhM':_0x3214da(0x18b)};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x2d835d=this['buildLockKey']({..._0x336e16,'lockType':_0x3214da(0x169)}),_0x96ad4d=this[_0x3214da(0x192)]({..._0x336e16,'lockType':_0xc0e065['cEUWz']}),_0xad6802=this['generateLockValue']();try{const _0x47f5c0=redisClient[_0x3214da(0x163)]();for(let _0x1558de=0x0;_0xc0e065[_0x3214da(0x17b)](_0x1558de,this[_0x3214da(0x1a1)]);_0x1558de++){const _0x366a42=await _0x47f5c0[_0x3214da(0x198)](_0x2d835d);if(!_0x366a42){await _0x47f5c0[_0x3214da(0x174)](_0x96ad4d),await _0x47f5c0['expire'](_0x96ad4d,this[_0x3214da(0x166)]);const _0x45fe42=_0x96ad4d+':'+_0xad6802;return await _0x47f5c0['setex'](_0x45fe42,this[_0x3214da(0x166)],_0xad6802),logger[_0x3214da(0x14e)]({'event':_0xc0e065[_0x3214da(0x16e)],'key':_0x96ad4d,'value':_0xad6802},'READ\x20lock\x20acquired'),{'success':!![],'lockValue':_0xad6802,'lockKey':_0x45fe42};}logger[_0x3214da(0x14e)]({'event':_0xc0e065[_0x3214da(0x14f)],'writeKey':_0x2d835d,'attempt':_0x1558de},_0x3214da(0x171)),await this[_0x3214da(0x172)](this['retryDelay']*Math['pow'](0x2,_0x1558de));}return logger[_0x3214da(0x15c)]({'event':'read_lock_timeout','key':_0x96ad4d},_0xc0e065['QHfhM']),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x42f4ef){return logger['error']({'event':'read_lock_error','error':_0x42f4ef['message']},'READ\x20lock\x20error'),{'success':![],'lockValue':null,'lockKey':null};}}async['acquireWriteLock'](_0x260060){const _0x25c6df=a0_0x1d7cff,_0x23ec25={'tblcA':'write','WDqIG':'read','TZZBw':function(_0x4dcef9,_0x5953fd){return _0x4dcef9===_0x5953fd;},'CztCD':'WRITE\x20lock\x20acquired\x20(reject\x20mode)','XNeyc':function(_0x5aea6c,_0x75f212){return _0x5aea6c<_0x75f212;},'ikOsx':function(_0x1f804f,_0x40f2e5){return _0x1f804f===_0x40f2e5;},'rCNFy':'retry','WpzKT':_0x25c6df(0x17d),'QuSGX':_0x25c6df(0x18a)};if(!this[_0x25c6df(0x181)])return{'success':!![],'lockValue':null,'lockKey':null};const _0x43b159=this['buildLockKey']({..._0x260060,'lockType':_0x23ec25[_0x25c6df(0x184)]}),_0x61c7ab=this[_0x25c6df(0x192)]({..._0x260060,'lockType':_0x23ec25[_0x25c6df(0x17f)]}),_0x348b28=this['generateLockValue']();try{const _0x5a10c8=redisClient['getClient']();if(_0x23ec25['TZZBw'](this[_0x25c6df(0x19d)],_0x25c6df(0x15e))){const _0x1598f3=await _0x5a10c8['set'](_0x43b159,_0x348b28,'EX',this['defaultTTL'],'NX');if(_0x23ec25['TZZBw'](_0x1598f3,'OK'))return logger['debug']({'event':_0x25c6df(0x157),'key':_0x43b159,'value':_0x348b28,'strategy':_0x25c6df(0x15e)},_0x23ec25['CztCD']),{'success':!![],'lockValue':_0x348b28,'lockKey':_0x43b159};return logger['debug']({'event':_0x25c6df(0x1aa),'key':_0x43b159},'WRITE\x20lock\x20rejected\x20-\x20record\x20busy'),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x43a64e=0x0;_0x23ec25['XNeyc'](_0x43a64e,this['retryCount']);_0x43a64e++){const [_0x56e7cb,_0xa65798]=await Promise['all']([_0x5a10c8['get'](_0x61c7ab),_0x5a10c8[_0x25c6df(0x198)](_0x43b159)]);if(!_0xa65798&&(!_0x56e7cb||_0x23ec25[_0x25c6df(0x16d)](parseInt(_0x56e7cb),0x0))){const _0x359142=await _0x5a10c8['set'](_0x43b159,_0x348b28,'EX',this['defaultTTL'],'NX');if(_0x23ec25[_0x25c6df(0x18c)](_0x359142,'OK'))return logger[_0x25c6df(0x14e)]({'event':'write_lock_acquired','key':_0x43b159,'value':_0x348b28,'strategy':_0x23ec25[_0x25c6df(0x156)]},_0x23ec25['WpzKT']),{'success':!![],'lockValue':_0x348b28,'lockKey':_0x43b159};}logger[_0x25c6df(0x14e)]({'event':_0x25c6df(0x165),'writeKey':_0x43b159,'readCount':_0x56e7cb,'attempt':_0x43a64e},'Waiting\x20for\x20locks\x20to\x20release'),await this[_0x25c6df(0x172)](this[_0x25c6df(0x176)]*Math['pow'](0x2,_0x43a64e));}return logger['warn']({'event':_0x25c6df(0x164),'key':_0x43b159},_0x25c6df(0x19e)),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x4cc7b9){return logger[_0x25c6df(0x18e)]({'event':_0x23ec25[_0x25c6df(0x154)],'error':_0x4cc7b9[_0x25c6df(0x15d)]},'WRITE\x20lock\x20error'),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x1d7cff(0x185)](_0x4f20b7,_0x452029){const _0x4888c1=a0_0x1d7cff,_0x11be30={'zIjRv':function(_0x2993cf,_0x244179){return _0x2993cf>_0x244179;},'nXeuQ':function(_0x51fdf8,_0x4ebca8){return _0x51fdf8===_0x4ebca8;},'YDVcL':_0x4888c1(0x155),'EMyuJ':_0x4888c1(0x162)};if(!this['enabled']||!_0x4f20b7)return!![];try{const _0x4be754=redisClient['getClient']();if(_0x4f20b7['includes'](':read:')){await _0x4be754[_0x4888c1(0x179)](_0x4f20b7);const _0x365152=_0x4f20b7['substring'](0x0,_0x4f20b7['lastIndexOf'](':')),_0x427f91=await _0x4be754[_0x4888c1(0x198)](_0x365152);return _0x427f91&&_0x11be30[_0x4888c1(0x1a9)](parseInt(_0x427f91),0x0)&&await _0x4be754[_0x4888c1(0x19c)](_0x365152),logger[_0x4888c1(0x14e)]({'event':'read_lock_released','key':_0x4f20b7},'READ\x20lock\x20released'),!![];}const _0x280a81=_0x4888c1(0x16b),_0x18b560=await _0x4be754['eval'](_0x280a81,0x1,_0x4f20b7,_0x452029);if(_0x11be30['nXeuQ'](_0x18b560,0x1))return logger['debug']({'event':_0x11be30['YDVcL'],'key':_0x4f20b7},_0x4888c1(0x193)),!![];return logger[_0x4888c1(0x15c)]({'event':'lock_release_not_owner','key':_0x4f20b7},_0x11be30['EMyuJ']),![];}catch(_0x48a7fb){return logger['error']({'event':_0x4888c1(0x161),'key':_0x4f20b7,'error':_0x48a7fb[_0x4888c1(0x15d)]},_0x4888c1(0x19b)),![];}}async[a0_0x1d7cff(0x16c)](_0x138639,_0xc71462,_0x467bb5=null){const _0x56ff98=a0_0x1d7cff,_0x3d049d={'eEqRN':function(_0x23f553,_0x2ca3f5){return _0x23f553===_0x2ca3f5;},'VWGbg':_0x56ff98(0x16a),'hGfxk':'lock_extend_error'};if(!this['enabled']||!_0x138639)return!![];try{const _0x498376=redisClient[_0x56ff98(0x163)](),_0x576a62='\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20redis.call(\x22get\x22,\x20KEYS[1])\x20==\x20ARGV[1]\x20then\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20redis.call(\x22expire\x22,\x20KEYS[1],\x20ARGV[2])\x0a\x20\x20\x20\x20\x20\x20\x20\x20else\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x200\x0a\x20\x20\x20\x20\x20\x20\x20\x20end\x0a\x20\x20\x20\x20\x20\x20',_0x17edc2=await _0x498376[_0x56ff98(0x168)](_0x576a62,0x1,_0x138639,_0xc71462,_0x467bb5||this['defaultTTL']);if(_0x3d049d[_0x56ff98(0x1a5)](_0x17edc2,0x1))return logger[_0x56ff98(0x14e)]({'event':_0x3d049d[_0x56ff98(0x14d)],'key':_0x138639,'ttl':_0x467bb5||this['defaultTTL']},'Lock\x20TTL\x20extended'),!![];return![];}catch(_0x33229d){return logger[_0x56ff98(0x18e)]({'event':_0x3d049d[_0x56ff98(0x175)],'key':_0x138639,'error':_0x33229d['message']},_0x56ff98(0x170)),![];}}[a0_0x1d7cff(0x1a2)](){const _0x1473d0=a0_0x1d7cff;return this[_0x1473d0(0x181)];}[a0_0x1d7cff(0x172)](_0x10952f){return new Promise(_0x2acf90=>setTimeout(_0x2acf90,_0x10952f));}async[a0_0x1d7cff(0x17a)](_0x402c67){const _0x2d6743=a0_0x1d7cff,_0x284b26={'cGMaM':_0x2d6743(0x151),'qkdsK':function(_0x154883,_0x363a3e){return _0x154883(_0x363a3e);}};if(!this[_0x2d6743(0x181)])return{'enabled':![]};try{const _0x2ae206=redisClient[_0x2d6743(0x163)](),_0x3cacdd=this[_0x2d6743(0x192)]({..._0x402c67,'lockType':'write'}),_0xdd515f=this[_0x2d6743(0x192)]({..._0x402c67,'lockType':_0x284b26[_0x2d6743(0x158)]}),[_0xad77d5,_0x3c0c1d]=await Promise[_0x2d6743(0x153)]([_0x2ae206[_0x2d6743(0x198)](_0x3cacdd),_0x2ae206[_0x2d6743(0x198)](_0xdd515f)]);return{'enabled':!![],'writeLock':_0xad77d5||null,'readCount':_0x284b26['qkdsK'](parseInt,_0x3c0c1d)||0x0,'writeKey':_0x3cacdd,'readKey':_0xdd515f};}catch(_0x818400){return{'enabled':!![],'error':_0x818400['message']};}}}module[a0_0x1d7cff(0x16f)]=new LockManager();
@@ -1 +1 @@
1
- const a0_0x3d5fbd=a0_0xfd83;(function(_0x18104b,_0xf0a785){const _0x1ef72f=a0_0xfd83,_0x1ba5dd=_0x18104b();while(!![]){try{const _0xb6d152=parseInt(_0x1ef72f(0x233))/0x1+-parseInt(_0x1ef72f(0x1cb))/0x2+parseInt(_0x1ef72f(0x1f2))/0x3+-parseInt(_0x1ef72f(0x267))/0x4+-parseInt(_0x1ef72f(0x1cf))/0x5+-parseInt(_0x1ef72f(0x238))/0x6*(-parseInt(_0x1ef72f(0x1f4))/0x7)+-parseInt(_0x1ef72f(0x25a))/0x8*(-parseInt(_0x1ef72f(0x251))/0x9);if(_0xb6d152===_0xf0a785)break;else _0x1ba5dd['push'](_0x1ba5dd['shift']());}catch(_0x472244){_0x1ba5dd['push'](_0x1ba5dd['shift']());}}}(a0_0x2507,0x6be33));const pino=require(a0_0x3d5fbd(0x231)),fs=require('fs'),path=require('path');let logToFile=![],logDir='./logs',serviceName=a0_0x3d5fbd(0x205),sqlLogEnabled=![],sqlLogLevel='debug',sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;function a0_0x2507(){const _0x1f291b=['DxnLCI1Hz2vUDa','ChjVAMvJDa','Ec1Yzxf1zxn0lwLK','icbizwfSDgG6ia','zKv0DLa','rMfPBgvKihrVignYzwf0zsbSB2CGC3rYzwfTCZO','vhrhDva','lI9SB2DZlW','Ahj0Aw1L','uhjVy2vZCYbxyxjUAw5NoIa','CMvMCMvZAf90B2TLBG','ChjVAMvJDf9SB2fKzwq','Dg9mB3DLCKnHC2u','C3rHy2S','rxjYB3i','D2fYBG','zgvIDwC','CgLU','B3jPz2LUywXvCMW','zgjFCxvLCNK','Bwf4','uwDjzMy','te9hx0rjuG','ChDK','C3rYAw5NAwz5','CgLUBW','vunzBgK','mte5mZC0wfvIC1n1','rff0tMG','BwfW','v0jODNy','CgfKrw5K','nZm4ndyYvxLeC2vh','Dg9Rzw4','teLSr0m','zxjYB3iUBg9N','Bg9N','vfjbtLnbq1rjt05Fq09ntuLu','icdIHPiG','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','y2HPBgq','DMDJELO','sfjcCMy','C3rYAw5N','DuznDwO','zxHPDa','yKr2z08','AxntBg93','qvbqx1zfuLnjt04','iokvKqRILzeGifbYB2PLy3qGicaGidOG','A2v5CW','yxbPs2v5','iokvKqRILzeGifbVCNqGicaGicaGidOG','BwTKAxjtEw5J','y3jLyxrLv3jPDgvtDhjLyw0','rgvMyxvSDa','D3rtBhm','ouLny0TKvq','CMvXlMHLywrLCNnBiNGTyxbPlwTLEsjD','u2vYDMvYihn0yxj0Aw5NoIa','CMvWzwf0','E21Zz30','AM9PBG','rKfyuNm','BwvTB3j5vxnHz2u','Aw5MBW','mJm2odq3mLfVqvnXyG','Bw9KDwXL','CxzMCe0','C2vJCMv0','CMvTB3rLqwrKCMvZCW','ChjPDMf0zwTLEq','CgfZC3DK','zw5KCg9PBNrFCMvNAxn0zxjLza','yMfZzvvYBa','zw52AxjVBM1LBNq','vhjHBNnHy3rPB24G','DhjPBq','Dxb0Aw1L','mtaXodmYne1Uue9Xta','ywnJzxnZx3rVA2vU','C29Tzq','C3rHDhvZq29Kzq','DxnLCG','C3rHCNrZv2L0Aa','AgvHBhrOq2HLy2S','zeLlueq','yxPsBMq','DxjS','u0vmrunu','u1rbuLqGvfjbtLnbq1rjt04','revmrvrf','qMPxEw4','w09lxsbqCM9Qzwn0igXVywrLzdOG','CgfZC3DVCMq','w1jfrefdveveoNrVA2vUxq','sLDux1nfq1jfva','Dw5Oyw5KBgvKuMvQzwn0Aw9U','y3jLzgvUDgLHBhm','ChjPDMf0zv9RzxK','y29Kzq','zxHWB3j0CW','CgLUBY1WCMv0DhK','tI9b','tufYyxG','iokvKqRILzeGiefqssblzxKGicaGidOG','qunusvzf','nZe3mZa2thv3qNrL','zMXVB3i','rKfuquW6ia','BwvZC2fNzq','mZe1mtG5me1TC2reDG','C2vYDMvYx3n0yxj0Aw5N','Bwv0Ag9K','BMfTzq','Cg9YDa','Cgf0Aa','y29UBMvJDgLVBG','zhvYyxrPB25nCW','zMf0ywXFzxjYB3i','zxjYB3i','Ag9ZDa','zgjFDhjHBNnHy3rPB24','BwXXD1G','zxjY','yxbPx2TLEq','y1L6tNu','AgvHzgvYCW','yxzequW','z1fQAxa','BgvUz3rO','yxbPx3nLy3jLDa','Dg9vChbLCKnHC2u','C3fSx3f1zxj5','y0XIAfq','wLz4yuW','CM93C0fMzMvJDgvK','vu5ltK9xtG','BxmP','ChjVy2vZC193yxjUAw5N','zunMr3G','Cg9ZDgDYzxnXBa','ugHlvNu','yxbPA2v5','vKfjBuW','zgf0ywjHC2u','mtiYnty0mvnXvNjrEG','z3LzsMK','ndLnAgfpvxq','t0PevLm','rwvpAMq','ANnVBG','tK9uiefdveLwrq','zxHPC3rZu3LUyW','CMvWBgfJzq','C2vYDMLJzuLUzM8','tM9Kzs5QCW','iokvKqRILzeGienVBMzPzYaGicaGidOG','reiGuxvLCNK','zMf0ywW','C0Dzs3G','Aw5JBhvKzxm','C3rKvgLTzuz1BMn0Aw9UCW','wxPTBxO','Dw5JyxvNAhrfEgnLChrPB24','CMvZDgzVCMDL','Bwf0y2G','sfruuca','EwTSywm','D3jPDgu','Dg9ju09tDhjPBMC','C3bSAxq','DhLWzq','uxfjExy','shbfuuC','CfvIrfK','DgvZDa','y3jLzgvUDgLHBa','ms4WlJu','Dg9gAxHLza','C3rHDhvZ','rhL5r2q','zw52','rejFueftu1DpuKq'];a0_0x2507=function(){return _0x1f291b;};return a0_0x2507();}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_0x3d5fbd(0x255),'customColors':'info:blue,warn:yellow,error:red,debug:gray','hideObject':!![]},isDevelopment=process['env']['NODE_ENV']!=='production',logLevel=process[a0_0x3d5fbd(0x216)]['LOG_LEVEL']||a0_0x3d5fbd(0x259);let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':a0_0x3d5fbd(0x1c6),'options':prettyPrintOptions}:undefined,'base':{'service':a0_0x3d5fbd(0x205),'version':process[a0_0x3d5fbd(0x216)][a0_0x3d5fbd(0x248)]||a0_0x3d5fbd(0x212),'env':process[a0_0x3d5fbd(0x216)]['NODE_ENV']||'development'},'timestamp':pino[a0_0x3d5fbd(0x202)]['isoTime'],'redact':{'paths':['req.headers.authorization',a0_0x3d5fbd(0x252),a0_0x3d5fbd(0x276),'token','apiKey',a0_0x3d5fbd(0x217),a0_0x3d5fbd(0x278)],'censor':'[REDACTED]'},'serializers':{'req':_0x414e6e=>({'id':_0x414e6e['id'],'method':_0x414e6e['method'],'url':_0x414e6e[a0_0x3d5fbd(0x270)],'path':_0x414e6e[a0_0x3d5fbd(0x1d4)],'remoteAddress':_0x414e6e['ip']||_0x414e6e['connection']?.['remoteAddress']}),'res':_0x228ae8=>({'statusCode':_0x228ae8['statusCode'],'headers':_0x228ae8['getHeaders']?.()}),'err':pino['stdSerializers'][a0_0x3d5fbd(0x1dc)]}});function initFileLogging(){const _0x476f60=a0_0x3d5fbd,_0x41dffb={'HRBrf':function(_0x205cb9,_0xba4cd9){return _0x205cb9===_0xba4cd9;},'SGctT':'default','eCfGx':function(_0x573dae,_0x5d21c5){return _0x573dae===_0x5d21c5;},'OSsxm':function(_0x515702,_0xc9a277){return _0x515702(_0xc9a277);},'aLkFS':'app.log','XCjRX':function(_0x52344c,_0x454aca,_0x2ef5ee){return _0x52344c(_0x454aca,_0x2ef5ee);}};if(fileLoggingInitialized)return;logToFile=_0x41dffb[_0x476f60(0x242)](process[_0x476f60(0x216)]['LOG_TO_FILE'],'true');const _0x35a3f3=process[_0x476f60(0x216)][_0x476f60(0x23f)]||_0x41dffb['SGctT'];logDir=process['env'][_0x476f60(0x22e)]||_0x476f60(0x21f)+_0x35a3f3,serviceName=process[_0x476f60(0x216)]['SERVICE_NAME']||_0x476f60(0x205),sqlLogEnabled=_0x41dffb[_0x476f60(0x1ec)](process[_0x476f60(0x216)]['SQL_LOG_ENABLED'],'true'),sqlLogLevel=process['env']['SQL_LOG_LEVEL']||'debug',sqlLogParams=process['env']['SQL_LOG_PARAMS']!=='false',sqlLogSlowThreshold=_0x41dffb['OSsxm'](parseInt,process['env']['SQL_LOG_SLOW_THRESHOLD'])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x55260d=path['resolve'](process['cwd'](),logDir);try{!fs[_0x476f60(0x1f9)](_0x55260d)&&fs[_0x476f60(0x24d)](_0x55260d,{'recursive':!![]});}catch(_0x1b5346){console[_0x476f60(0x1d8)]('Failed\x20to\x20create\x20log\x20directory\x20'+_0x55260d+':',_0x1b5346[_0x476f60(0x1ce)]),fileLoggingInitialized=!![];return;}const _0x21fedd=path[_0x476f60(0x256)](_0x55260d,_0x41dffb['aLkFS']),_0x26af89=path['join'](_0x55260d,_0x476f60(0x23b));try{appLogStream=fs[_0x476f60(0x24e)](_0x21fedd,{'flags':'a'}),errorLogStream=fs[_0x476f60(0x24e)](_0x26af89,{'flags':'a'}),fileLoggingInitialized=!![];const _0x39ba4d={'event':'file_logging_enabled','logDir':_0x55260d,'files':['app.log',_0x476f60(0x23b)]},_0x13ad06='File\x20logging\x20enabled:\x20'+_0x55260d;logger[_0x476f60(0x259)](_0x39ba4d,_0x13ad06),_0x41dffb['XCjRX'](writeToFileLog,{..._0x39ba4d,'level':_0x476f60(0x259),'msg':_0x13ad06,'time':new Date()['toISOString']()},_0x476f60(0x259));}catch(_0xbdc72a){console['error'](_0x476f60(0x21d),_0xbdc72a[_0x476f60(0x1ce)]),fileLoggingInitialized=!![];}}function writeToFileLog(_0x5ed4cf,_0x3e12d6){const _0x23ea92=a0_0x3d5fbd,_0x2d7e83={'Yzmmz':function(_0xe5f8d8,_0x3ce2ef){return _0xe5f8d8||_0x3ce2ef;}};if(_0x2d7e83[_0x23ea92(0x203)](!logToFile,!appLogStream))return;const _0xcd2e2d={'service':serviceName,..._0x5ed4cf},_0x260a41=JSON[_0x23ea92(0x230)](_0xcd2e2d)+'\x0a';appLogStream[_0x23ea92(0x209)](_0x260a41),(_0x3e12d6===_0x23ea92(0x1d8)||_0x3e12d6===_0x23ea92(0x1ff))&&(errorLogStream&&errorLogStream[_0x23ea92(0x209)](_0x260a41));}const createRequestLogger=(_0x7e0630={})=>{const _0x1e8b71=a0_0x3d5fbd;return logger[_0x1e8b71(0x240)](_0x7e0630);},logServerStart=_0x4a5a0b=>{const _0x5e7e75=a0_0x3d5fbd,_0x2b911f={'FAXRs':function(_0x2b9e21,_0x1d5b94){return _0x2b9e21-_0x1d5b94;},'bZqGe':function(_0x14efdb,_0x2ee4b5){return _0x14efdb/_0x2ee4b5;},'dIKPD':function(_0x375341,_0x3798c5){return _0x375341-_0x3798c5;},'RPPPV':_0x5e7e75(0x1c7),'fltYi':_0x5e7e75(0x24f),'MArax':_0x5e7e75(0x1ca),'BjWyn':_0x5e7e75(0x1f8),'kfYYm':_0x5e7e75(0x1d0),'ktaKH':'info'},_0x5c0c95='RESTFORGE\x20RUNTIME\x20SERVER',_0x59ba0d=Math[_0x5e7e75(0x22c)](0x0,_0x2b911f[_0x5e7e75(0x257)](0x37,_0x5c0c95['length'])),_0x276d22=Math[_0x5e7e75(0x1cc)](_0x2b911f['bZqGe'](_0x59ba0d,0x2)),_0x5143b1=_0x2b911f[_0x5e7e75(0x26e)](_0x59ba0d,_0x276d22),_0x1fb9be='║'+'\x20'[_0x5e7e75(0x254)](_0x276d22)+_0x5c0c95+'\x20'[_0x5e7e75(0x254)](_0x5143b1)+'║',_0x49224a='\x0a╔═══════════════════════════════════════════════════════╗\x0a'+_0x1fb9be+'\x0a╠═══════════════════════════════════════════════════════╣\x0a║\x20\x20Environment\x20:\x20'+(_0x4a5a0b[_0x5e7e75(0x263)]||_0x5e7e75(0x1fc))[_0x5e7e75(0x237)](0x26)+_0x5e7e75(0x249)+(_0x4a5a0b['project']||_0x2b911f['RPPPV'])[_0x5e7e75(0x237)](0x26)+_0x5e7e75(0x24c)+String(_0x4a5a0b[_0x5e7e75(0x1d3)]||0xbb8)[_0x5e7e75(0x237)](0x26)+_0x5e7e75(0x1fd)+(_0x4a5a0b['configFile']||_0x2b911f['fltYi'])[_0x5e7e75(0x237)](0x26)+_0x5e7e75(0x1c9)+(_0x4a5a0b[_0x5e7e75(0x24b)]?_0x2b911f[_0x5e7e75(0x1c8)]:_0x2b911f[_0x5e7e75(0x274)])['padEnd'](0x26)+'\x20║\x0a╚═══════════════════════════════════════════════════════╝';console[_0x5e7e75(0x23c)](_0x49224a);const _0x540439={'event':_0x2b911f['kfYYm'],'project':_0x4a5a0b[_0x5e7e75(0x219)],'port':_0x4a5a0b[_0x5e7e75(0x1d3)],'config':_0x4a5a0b['configFile'],'apiKeyEnabled':!!_0x4a5a0b[_0x5e7e75(0x24b)]};logger['info'](_0x540439),writeToFileLog({..._0x540439,'level':'info','msg':_0x5e7e75(0x253)+_0x4a5a0b[_0x5e7e75(0x219)]+'\x20on\x20port\x20'+_0x4a5a0b[_0x5e7e75(0x1d3)],'time':new Date()['toISOString']()},_0x2b911f['ktaKH']);},logServerReady=_0x25ba5e=>{const _0x4b9a89=a0_0x3d5fbd,_0x3f945e={'DyyGd':function(_0x2f51fb,_0x529d59,_0x36276e){return _0x2f51fb(_0x529d59,_0x36276e);},'nqKMg':'info'},_0x487102={'event':'server_ready','port':_0x25ba5e[_0x4b9a89(0x1d3)],'module':_0x25ba5e[_0x4b9a89(0x25b)],'healthCheck':_0x25ba5e[_0x4b9a89(0x26d)],'serviceInfo':_0x25ba5e[_0x4b9a89(0x1fb)],'baseUrl':_0x25ba5e[_0x4b9a89(0x262)]},_0x236801='[OK]\x20Server\x20ready\x20on\x20port\x20'+_0x25ba5e[_0x4b9a89(0x1d3)];logger[_0x4b9a89(0x259)](_0x487102,_0x236801),_0x3f945e[_0x4b9a89(0x215)](writeToFileLog,{..._0x487102,'level':_0x4b9a89(0x259),'msg':_0x236801,'time':new Date()[_0x4b9a89(0x20a)]()},_0x3f945e['nqKMg']),_0x25ba5e['healthCheck']&&logger['info'](_0x4b9a89(0x21b)+_0x25ba5e[_0x4b9a89(0x26d)]),_0x25ba5e['serviceInfo']&&logger['info']('\x20\x20Info:\x20\x20\x20'+_0x25ba5e['serviceInfo']),_0x25ba5e[_0x4b9a89(0x262)]&&logger['info']('\x20\x20URL:\x20\x20\x20\x20'+_0x25ba5e['baseUrl']);},logProjectLoaded=(_0x1edea5,_0x187e98)=>{const _0x5caf44=a0_0x3d5fbd,_0x1a62c5={'event':_0x5caf44(0x223),'project':_0x1edea5,'path':_0x187e98},_0x488df5=_0x5caf44(0x275)+_0x1edea5;logger['info'](_0x1a62c5,_0x488df5),writeToFileLog({..._0x1a62c5,'level':'info','msg':_0x488df5,'time':new Date()[_0x5caf44(0x20a)]()},'info');},logEndpointRegistered=(_0x53f547,_0x196737)=>{const _0x4c258d=a0_0x3d5fbd,_0x597b38={'QgIff':function(_0x133226,_0x3584e2,_0x118987){return _0x133226(_0x3584e2,_0x118987);},'blDnQ':'debug'},_0x301149={'event':_0x4c258d(0x261),'endpoint':_0x53f547,'route':_0x196737},_0x138242=_0x4c258d(0x23e)+_0x53f547+':\x20'+_0x196737;logger[_0x4c258d(0x228)](_0x301149,_0x138242),_0x597b38[_0x4c258d(0x22d)](writeToFileLog,{..._0x301149,'level':_0x597b38['blDnQ'],'msg':_0x138242,'time':new Date()[_0x4c258d(0x20a)]()},_0x4c258d(0x228));},logDatabaseConfig=_0x5c657a=>{const _0x3a1446=a0_0x3d5fbd,_0x3e4443={'myFJf':'database_config','HpEQG':'debug'},_0xd36590={'event':_0x3e4443['myFJf'],'host':_0x5c657a['host'],'port':_0x5c657a['port'],'database':_0x5c657a['database'],'type':_0x5c657a[_0x3a1446(0x20c)],'user':_0x5c657a[_0x3a1446(0x26b)]},_0x6af57d='Database:\x20'+_0x5c657a['type']+'://'+_0x5c657a[_0x3a1446(0x1d9)]+':'+_0x5c657a['port']+'/'+_0x5c657a[_0x3a1446(0x1f1)];logger['debug'](_0xd36590,_0x6af57d),writeToFileLog({..._0xd36590,'level':'debug','msg':_0x6af57d,'time':new Date()[_0x3a1446(0x20a)]()},_0x3e4443[_0x3a1446(0x20e)]);},logRequest=(_0x127455,_0x5eb303,_0x146dea)=>{const _0x4b1606=a0_0x3d5fbd,_0x597c5={'VAImL':function(_0x175709,_0x2d3198){return _0x175709>=_0x2d3198;}},_0x3984cd={'event':'http_request','method':_0x127455[_0x4b1606(0x1d1)],'path':_0x127455[_0x4b1606(0x1d4)],'statusCode':_0x5eb303[_0x4b1606(0x26a)],'durationMs':_0x146dea,'ip':_0x127455['ip']},_0x55d316=_0x127455['method']+'\x20'+_0x127455['path']+'\x20-\x20'+_0x5eb303[_0x4b1606(0x26a)]+'\x20('+_0x146dea+_0x4b1606(0x1ea);let _0x5ac40c='info';if(_0x5eb303['statusCode']>=0x1f4)_0x5ac40c='error',logger[_0x4b1606(0x1d8)](_0x3984cd,_0x55d316);else _0x597c5[_0x4b1606(0x1f0)](_0x5eb303[_0x4b1606(0x26a)],0x190)?(_0x5ac40c='warn',logger['warn'](_0x3984cd,_0x55d316)):logger['info'](_0x3984cd,_0x55d316);writeToFileLog({..._0x3984cd,'level':_0x5ac40c,'msg':_0x55d316,'time':new Date()['toISOString']()},_0x5ac40c);},SENSITIVE_PARAM_PATTERNS=['password',a0_0x3d5fbd(0x260),a0_0x3d5fbd(0x22f),'token',a0_0x3d5fbd(0x268),'refresh_token','secret',a0_0x3d5fbd(0x1e3),a0_0x3d5fbd(0x1ef),a0_0x3d5fbd(0x1dd),a0_0x3d5fbd(0x211),a0_0x3d5fbd(0x27a),a0_0x3d5fbd(0x229),'otp',a0_0x3d5fbd(0x27b),a0_0x3d5fbd(0x25f)],redactSensitiveParams=(_0x17a950,_0x31b8ce)=>{const _0x111d62=a0_0x3d5fbd,_0x33e827={'ZVxaL':function(_0x2e5fa1,_0x249676){return _0x2e5fa1>_0x249676;}};if(!_0x17a950||_0x17a950[_0x111d62(0x1e2)]===0x0)return _0x17a950;const _0x1f393b=_0x31b8ce[_0x111d62(0x224)](),_0x1292cb=_0x1f393b['match'](/\(([^)]+)\)\s*values/i);let _0x50a850=[];_0x1292cb&&(_0x50a850=_0x1292cb[0x1][_0x111d62(0x20b)](',')[_0x111d62(0x235)](_0x29e9c1=>_0x29e9c1[_0x111d62(0x265)]()['toLowerCase']()));const _0x125411=_0x1f393b[_0x111d62(0x206)](/set\s+(.+?)(?:\s+where|$)/i);if(_0x125411){const _0x1c1277=_0x125411[0x1],_0x3a64d1=_0x1c1277['match'](/(\w+)\s*=/g);_0x3a64d1&&(_0x50a850=_0x3a64d1[_0x111d62(0x235)](_0x344ab6=>_0x344ab6[_0x111d62(0x1fa)](/\s*=/,'')['trim']()[_0x111d62(0x224)]()));}return _0x17a950['map']((_0xc8e685,_0x242ace)=>{const _0x1d5e75=_0x111d62;if(_0x50a850[_0x242ace]){const _0x4862a1=_0x50a850[_0x242ace],_0x3fe324=SENSITIVE_PARAM_PATTERNS['some'](_0xe43267=>_0x4862a1[_0x1d5e75(0x201)](_0xe43267));if(_0x3fe324)return'[REDACTED]';}if(typeof _0xc8e685===_0x1d5e75(0x243)&&_0x33e827[_0x1d5e75(0x1e7)](_0xc8e685['length'],0x20)){if(/^[a-zA-Z0-9+/=_.-]+$/['test'](_0xc8e685)&&_0xc8e685[_0x1d5e75(0x201)]('.'))return _0x1d5e75(0x277);if(/^[a-fA-F0-9]{32,}$/[_0x1d5e75(0x210)](_0xc8e685))return'[REDACTED:hash]';}return _0xc8e685;});},parseQueryMetadata=_0x1731bf=>{const _0x43d65e=a0_0x3d5fbd,_0x16c4ff={'fEtvP':'INSERT','EeOjd':'UPDATE','OJDVS':_0x43d65e(0x273),'wrTMK':'BEGIN','QqIyv':_0x43d65e(0x272),'svtPZ':'TRANSACTION_BEGIN','WrmoY':'COMMIT','NapIX':'ROLLBACK','HfOVy':'TRANSACTION_ROLLBACK','PhKVu':'CREATE','yklac':'ALTER','FphLy':'DDL_ALTER','eIPAH':'DDL_DROP'},_0x46eb78=_0x1731bf['trim'](),_0x3e1e2c=_0x46eb78['toUpperCase']();let _0x255038=_0x43d65e(0x1e9),_0x50b69f=null;if(_0x3e1e2c[_0x43d65e(0x26c)](_0x43d65e(0x271))){_0x255038=_0x43d65e(0x271);const _0x34e244=_0x46eb78['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x50b69f=_0x34e244?_0x34e244[0x1]:null;}else{if(_0x3e1e2c[_0x43d65e(0x26c)]('INSERT')){_0x255038=_0x16c4ff[_0x43d65e(0x21c)];const _0x976bcd=_0x46eb78['match'](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x50b69f=_0x976bcd?_0x976bcd[0x1]:null;}else{if(_0x3e1e2c['startsWith'](_0x16c4ff[_0x43d65e(0x1f6)])){_0x255038=_0x16c4ff['EeOjd'];const _0x45c264=_0x46eb78[_0x43d65e(0x206)](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x50b69f=_0x45c264?_0x45c264[0x1]:null;}else{if(_0x3e1e2c[_0x43d65e(0x26c)](_0x16c4ff[_0x43d65e(0x1f5)])){_0x255038=_0x43d65e(0x273);const _0x141e1e=_0x46eb78[_0x43d65e(0x206)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x50b69f=_0x141e1e?_0x141e1e[0x1]:null;}else{if(_0x3e1e2c['startsWith'](_0x16c4ff['wrTMK'])||_0x3e1e2c['startsWith'](_0x16c4ff[_0x43d65e(0x20d)]))_0x255038=_0x16c4ff['svtPZ'];else{if(_0x3e1e2c[_0x43d65e(0x26c)](_0x16c4ff['WrmoY']))_0x255038=_0x43d65e(0x23d);else{if(_0x3e1e2c['startsWith'](_0x16c4ff['NapIX']))_0x255038=_0x16c4ff['HfOVy'];else{if(_0x3e1e2c['startsWith'](_0x16c4ff[_0x43d65e(0x1ee)]))_0x255038='DDL_CREATE';else{if(_0x3e1e2c[_0x43d65e(0x26c)](_0x16c4ff[_0x43d65e(0x208)]))_0x255038=_0x16c4ff['FphLy'];else _0x3e1e2c['startsWith']('DROP')&&(_0x255038=_0x16c4ff['eIPAH']);}}}}}}}}return{'type':_0x255038,'table':_0x50b69f};},startQueryTimer=()=>{const _0x5c5980=a0_0x3d5fbd,_0x596bff={'ciHpt':function(_0x3f6433,_0x51b111){return _0x3f6433*_0x51b111;},'JKnNt':function(_0x3cb352,_0x52396f){return _0x3cb352/_0x52396f;}},_0x1079fa=process[_0x5c5980(0x220)]();return()=>{const _0xa87c9b=_0x5c5980,[_0x20d390,_0x483881]=process['hrtime'](_0x1079fa);return parseFloat((_0x596bff['ciHpt'](_0x20d390,0x3e8)+_0x596bff['JKnNt'](_0x483881,0xf4240))[_0xa87c9b(0x213)](0x2));};},logQuery=(_0x2bda20,_0x29c5e9=[],_0x11dc12={})=>{const _0x5a4554=a0_0x3d5fbd,_0x375659={'BzlJm':_0x5a4554(0x22b),'sGYKx':_0x5a4554(0x1fe),'vgczZ':function(_0x507d35,_0x364b68){return _0x507d35(_0x364b68);},'TtGuP':_0x5a4554(0x1e5),'WBhvv':function(_0x157a38,_0x1751f6){return _0x157a38>_0x1751f6;},'dXROk':function(_0x4bc5ff,_0x22252e){return _0x4bc5ff!==_0x22252e;},'wlkgJ':function(_0x5a7fe6,_0x4df087){return _0x5a7fe6>_0x4df087;},'LIlGC':function(_0xe8973a,_0x1e681d){return _0xe8973a>_0x1e681d;},'qvfpM':_0x5a4554(0x227),'uFEiK':'info','SFHxp':function(_0x5b7120,_0x487e4a,_0x1ecddc){return _0x5b7120(_0x487e4a,_0x1ecddc);}};if(!sqlLogEnabled){logger['debug']({'event':_0x375659['BzlJm'],'query':_0x2bda20['substring'](0x0,0xc8),'paramCount':_0x29c5e9['length']},_0x375659[_0x5a4554(0x200)]);return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x5a4554(0x1ed)}=_0x11dc12,{type:_0x3f7af5,table:_0x139b33}=_0x375659[_0x5a4554(0x241)](parseQueryMetadata,_0x2bda20),_0x52834b={'event':_0x375659[_0x5a4554(0x21e)],'queryType':_0x3f7af5,'table':_0x139b33,'query':_0x2bda20,'paramCount':_0x29c5e9['length'],'dbType':dbType};sqlLogParams&&_0x375659[_0x5a4554(0x236)](_0x29c5e9['length'],0x0)&&(_0x52834b['params']=redactSensitiveParams(_0x29c5e9,_0x2bda20));_0x375659['dXROk'](duration,null)&&(_0x52834b[_0x5a4554(0x1d6)]=duration,_0x52834b[_0x5a4554(0x247)]=_0x375659['wlkgJ'](duration,sqlLogSlowThreshold));rowsAffected!==null&&(_0x52834b[_0x5a4554(0x1e8)]=rowsAffected);const _0x3c6271=_0x139b33||'unknown';let _0x3826fe='['+_0x3f7af5+']\x20'+_0x3c6271;duration!==null&&(_0x3826fe+='\x20('+duration+'ms)');const _0xf334e1=duration!==null&&_0x375659[_0x5a4554(0x23a)](duration,sqlLogSlowThreshold);let _0x55e000='debug';if(_0xf334e1)_0x3826fe+='\x20[SLOW]',_0x55e000=_0x375659[_0x5a4554(0x25c)],logger[_0x5a4554(0x227)](_0x52834b,_0x3826fe);else sqlLogLevel===_0x375659['uFEiK']?(_0x55e000=_0x5a4554(0x259),logger['info'](_0x52834b,_0x3826fe)):logger[_0x5a4554(0x228)](_0x52834b,_0x3826fe);_0x375659['SFHxp'](writeToFileLog,{..._0x52834b,'level':_0x55e000,'msg':_0x3826fe,'time':new Date()[_0x5a4554(0x20a)]()},_0x55e000);},logTransaction=(_0x1ba8c1,_0x4f85a1)=>{const _0x4fc209=a0_0x3d5fbd,_0x1e5acd={'event':_0x4fc209(0x1da),'status':_0x1ba8c1,'queryCount':_0x4f85a1},_0x441243=_0x4fc209(0x264)+_0x1ba8c1;logger[_0x4fc209(0x228)](_0x1e5acd,_0x441243),writeToFileLog({..._0x1e5acd,'level':_0x4fc209(0x228),'msg':_0x441243,'time':new Date()[_0x4fc209(0x20a)]()},_0x4fc209(0x228));},redactObject=_0x191bd7=>{const _0x4a9632=a0_0x3d5fbd,_0x388f5d={'azRnd':function(_0x16329d,_0x11a796){return _0x16329d!==_0x11a796;},'UvumQ':_0x4a9632(0x260),'kqXQh':_0x4a9632(0x239),'YqopO':_0x4a9632(0x25d),'psksD':'authorization','cLbhT':'creditcard','uFMuj':'credit_card','mSEzP':'ssn','DQtNh':_0x4a9632(0x229),'pUbDY':_0x4a9632(0x25f),'NeFBG':'[REDACTED]','zGlsf':function(_0x5bfcc1,_0x4f276a){return _0x5bfcc1===_0x4f276a;},'oPZOk':function(_0x1fe2f7,_0x4922e5){return _0x1fe2f7!==_0x4922e5;}};if(!_0x191bd7||_0x388f5d[_0x4a9632(0x26f)](typeof _0x191bd7,'object'))return _0x191bd7;const _0x1d2fe7=[_0x4a9632(0x276),_0x388f5d['UvumQ'],_0x4a9632(0x22f),_0x388f5d['kqXQh'],_0x388f5d['YqopO'],'apikey',_0x4a9632(0x1dd),_0x388f5d['psksD'],_0x388f5d[_0x4a9632(0x1e6)],_0x388f5d[_0x4a9632(0x244)],'cvv',_0x388f5d['mSEzP'],_0x388f5d[_0x4a9632(0x234)],'private_key',_0x388f5d[_0x4a9632(0x20f)],_0x4a9632(0x222),'access_token'],_0x2f99f1=Array['isArray'](_0x191bd7)?[..._0x191bd7]:{..._0x191bd7};for(const _0x7dd48 of Object[_0x4a9632(0x24a)](_0x2f99f1)){const _0x211abb=_0x7dd48[_0x4a9632(0x224)]();if(_0x1d2fe7[_0x4a9632(0x269)](_0x547258=>_0x211abb['includes'](_0x547258)))_0x2f99f1[_0x7dd48]=_0x388f5d['NeFBG'];else _0x388f5d['zGlsf'](typeof _0x2f99f1[_0x7dd48],'object')&&_0x388f5d['oPZOk'](_0x2f99f1[_0x7dd48],null)&&(_0x2f99f1[_0x7dd48]=redactObject(_0x2f99f1[_0x7dd48]));}return _0x2f99f1;},logError=(_0x3ed443,_0x1a0391={},_0x5df7c0=null)=>{const _0x46b5b0=a0_0x3d5fbd,_0x1e0d47={'QiMjh':function(_0x725904,_0x48dcbf,_0xeb71e4){return _0x725904(_0x48dcbf,_0xeb71e4);},'MBYdG':'error'},_0x57c3c3={'event':'error','errorName':_0x3ed443[_0x46b5b0(0x1d2)]||_0x46b5b0(0x226),'errorMessage':_0x3ed443[_0x46b5b0(0x1ce)],'errorCode':_0x3ed443[_0x46b5b0(0x27c)]||null,'stack':_0x3ed443[_0x46b5b0(0x225)],..._0x1a0391},_0x114085=_0x5df7c0||'Error:\x20'+_0x3ed443['message'];logger['error'](_0x57c3c3,_0x114085),_0x1e0d47['QiMjh'](writeToFileLog,{..._0x57c3c3,'level':_0x1e0d47['MBYdG'],'msg':_0x114085,'time':new Date()['toISOString']()},'error');},logFatalError=(_0x26f51d,_0x100371={},_0x51bf7e=null)=>{const _0x4497d6=a0_0x3d5fbd,_0x5e57da={'YVmyM':_0x4497d6(0x1d7),'avDAL':'CRITICAL','BXkPR':_0x4497d6(0x1d8)},_0x4fd1b5={'event':_0x5e57da['YVmyM'],'errorName':_0x26f51d[_0x4497d6(0x1d2)]||_0x4497d6(0x226),'errorMessage':_0x26f51d['message'],'errorCode':_0x26f51d['code']||null,'stack':_0x26f51d['stack'],'severity':_0x5e57da[_0x4497d6(0x1e0)],..._0x100371},_0x437677=_0x51bf7e||_0x4497d6(0x1cd)+_0x26f51d[_0x4497d6(0x1ce)];logger['fatal'](_0x4fd1b5,_0x437677),writeToFileLog({..._0x4fd1b5,'level':'fatal','msg':_0x437677,'time':new Date()[_0x4497d6(0x20a)]()},_0x5e57da['BXkPR']);},logHttpError=(_0x553f30,_0x4c690c,_0x1e413d={})=>{const _0x59c40d=a0_0x3d5fbd,_0x3f97db={'UCYli':_0x59c40d(0x218),'OZPXE':'x-request-id','iruxK':function(_0x6f28b8,_0xe53b9){return _0x6f28b8>=_0xe53b9;},'izepv':'error'},_0x341556={'event':'http_error','errorName':_0x553f30['name']||'Error','errorMessage':_0x553f30['message'],'errorCode':_0x553f30[_0x59c40d(0x27c)]||_0x553f30['statusCode']||0x1f4,'stack':_0x553f30['stack'],'method':_0x4c690c?.[_0x59c40d(0x1d1)],'url':_0x4c690c?.[_0x59c40d(0x270)]||_0x4c690c?.[_0x59c40d(0x22a)],'path':_0x4c690c?.['path'],'ip':_0x4c690c?.['ip']||_0x4c690c?.[_0x59c40d(0x1d5)]?.[_0x59c40d(0x25e)],'userAgent':_0x4c690c?.['get']?.(_0x3f97db[_0x59c40d(0x232)]),'requestId':_0x4c690c?.['id']||_0x4c690c?.[_0x59c40d(0x1df)]?.[_0x3f97db['OZPXE']],'body':_0x4c690c?.['body']?redactObject(_0x4c690c['body']):undefined,'query':_0x4c690c?.['query'],..._0x1e413d},_0x44a4fa=_0x553f30[_0x59c40d(0x26a)]||_0x553f30[_0x59c40d(0x214)]||0x1f4,_0x36e2bd=_0x59c40d(0x207)+_0x44a4fa+':\x20'+_0x553f30['message'];_0x44a4fa>=0x1f4?logger[_0x59c40d(0x1d8)](_0x341556,_0x36e2bd):logger[_0x59c40d(0x227)](_0x341556,_0x36e2bd),writeToFileLog({..._0x341556,'level':_0x3f97db['iruxK'](_0x44a4fa,0x1f4)?_0x3f97db['izepv']:'warn','msg':_0x36e2bd,'time':new Date()['toISOString']()},_0x44a4fa>=0x1f4?_0x3f97db['izepv']:'warn');},logUncaughtError=(_0xa38b23,_0x2c820c)=>{const _0x2ca8e5=a0_0x3d5fbd,_0x3daf47={'iVATj':function(_0x326de4,_0x378951){return _0x326de4(_0x378951);},'TILLu':'CRITICAL','gTiCQ':'fatal'},_0x4fd997={'event':_0xa38b23,'errorName':_0x2c820c?.['name']||_0x2ca8e5(0x226),'errorMessage':_0x2c820c?.[_0x2ca8e5(0x1ce)]||_0x3daf47['iVATj'](String,_0x2c820c),'errorCode':_0x2c820c?.[_0x2ca8e5(0x27c)]||null,'stack':_0x2c820c?.['stack'],'severity':_0x3daf47['TILLu'],'processId':process['pid'],'memoryUsage':process[_0x2ca8e5(0x258)](),'uptime':process[_0x2ca8e5(0x266)]()},_0x2159a0='['+_0xa38b23[_0x2ca8e5(0x1e4)]()+']\x20'+(_0x2c820c?.[_0x2ca8e5(0x1ce)]||_0x2c820c);logger[_0x2ca8e5(0x1ff)](_0x4fd997,_0x2159a0),writeToFileLog({..._0x4fd997,'level':_0x3daf47['gTiCQ'],'msg':_0x2159a0,'time':new Date()[_0x2ca8e5(0x20a)]()},_0x2ca8e5(0x1d8));},setupGlobalErrorHandlers=()=>{const _0x314001=a0_0x3d5fbd,_0x4012ef={'YAbDu':function(_0x26f192,_0x449093){return _0x26f192 instanceof _0x449093;},'gQjip':_0x314001(0x279),'hlqjf':_0x314001(0x204),'iWdlh':'warning','cYzNu':'global_error_handlers_setup','mlqwX':function(_0x550330,_0x349e78,_0x520559){return _0x550330(_0x349e78,_0x520559);}};process['on'](_0x4012ef['hlqjf'],_0x3c791c=>{const _0x22a9d0=_0x314001;logUncaughtError(_0x22a9d0(0x204),_0x3c791c),setTimeout(()=>{const _0x551d85=_0x22a9d0;process[_0x551d85(0x245)](0x1);},0x3e8);}),process['on'](_0x4012ef[_0x314001(0x1e1)],(_0x597066,_0x1ed9cc)=>{const _0x390c40=_0x314001,_0x2889fa=_0x4012ef['YAbDu'](_0x597066,Error)?_0x597066:new Error(String(_0x597066));logUncaughtError(_0x4012ef[_0x390c40(0x1e1)],_0x2889fa);}),process['on'](_0x4012ef['iWdlh'],_0x2c6c2d=>{const _0x3c7e9b=_0x314001;logger[_0x3c7e9b(0x227)]({'event':_0x3c7e9b(0x1eb),'name':_0x2c6c2d[_0x3c7e9b(0x1d2)],'message':_0x2c6c2d[_0x3c7e9b(0x1ce)],'stack':_0x2c6c2d[_0x3c7e9b(0x225)]},_0x3c7e9b(0x221)+_0x2c6c2d['message']);});const _0x55ef46={'event':_0x4012ef[_0x314001(0x1de)]},_0xbb8ad2='Global\x20error\x20handlers\x20initialized';logger['info'](_0x55ef46,_0xbb8ad2),_0x4012ef[_0x314001(0x1db)](writeToFileLog,{..._0x55ef46,'level':_0x314001(0x259),'msg':_0xbb8ad2,'time':new Date()['toISOString']()},'info');},createErrorHandlerMiddleware=()=>{const _0x3bab9b=a0_0x3d5fbd,_0x2e2f4d={'bDvgO':function(_0x9f788e,_0x35a3e3,_0x4bce6e){return _0x9f788e(_0x35a3e3,_0x4bce6e);},'gyYJi':function(_0x5ee7c1,_0x5042ca){return _0x5ee7c1>=_0x5042ca;},'wtSls':'Internal\x20server\x20error','vlwNs':_0x3bab9b(0x21a)};return(_0x6c0f4f,_0x381479,_0x24f7f9,_0x7dec5d)=>{const _0x3bc63c=_0x3bab9b;_0x2e2f4d[_0x3bc63c(0x246)](logHttpError,_0x6c0f4f,_0x381479);const _0x1075ca=_0x6c0f4f[_0x3bc63c(0x26a)]||_0x6c0f4f[_0x3bc63c(0x214)]||0x1f4;_0x24f7f9['status'](_0x1075ca)[_0x3bc63c(0x1f7)]({'success':![],'error':_0x2e2f4d[_0x3bc63c(0x1f3)](_0x1075ca,0x1f4)?_0x2e2f4d[_0x3bc63c(0x250)]:_0x6c0f4f['message'],'requestId':_0x381479['id']||_0x381479[_0x3bc63c(0x1df)]?.[_0x2e2f4d['vlwNs']]||null});};};function a0_0xfd83(_0x155321,_0x1fa88b){_0x155321=_0x155321-0x1c5;const _0x250774=a0_0x2507();let _0xfd8329=_0x250774[_0x155321];if(a0_0xfd83['kGvXNq']===undefined){var _0x43bea8=function(_0x43bd3){const _0x2c70c9='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5ca100='',_0x52288b='';for(let _0x114bd2=0x0,_0x22ae94,_0x4813b1,_0x319d7d=0x0;_0x4813b1=_0x43bd3['charAt'](_0x319d7d++);~_0x4813b1&&(_0x22ae94=_0x114bd2%0x4?_0x22ae94*0x40+_0x4813b1:_0x4813b1,_0x114bd2++%0x4)?_0x5ca100+=String['fromCharCode'](0xff&_0x22ae94>>(-0x2*_0x114bd2&0x6)):0x0){_0x4813b1=_0x2c70c9['indexOf'](_0x4813b1);}for(let _0x868210=0x0,_0x301ff7=_0x5ca100['length'];_0x868210<_0x301ff7;_0x868210++){_0x52288b+='%'+('00'+_0x5ca100['charCodeAt'](_0x868210)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x52288b);};a0_0xfd83['JaXmrX']=_0x43bea8,a0_0xfd83['YaOwPg']={},a0_0xfd83['kGvXNq']=!![];}const _0x1b3729=_0x250774[0x0],_0x1ce2bd=_0x155321+_0x1b3729,_0x879258=a0_0xfd83['YaOwPg'][_0x1ce2bd];return!_0x879258?(_0xfd8329=a0_0xfd83['JaXmrX'](_0xfd8329),a0_0xfd83['YaOwPg'][_0x1ce2bd]=_0xfd8329):_0xfd8329=_0x879258,_0xfd8329;}module[a0_0x3d5fbd(0x1c5)]={'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_0x3a7d81=a0_0x4042;(function(_0x1df0dc,_0x3738fa){const _0x5a24f1=a0_0x4042,_0x3effc0=_0x1df0dc();while(!![]){try{const _0x47f6d6=-parseInt(_0x5a24f1(0x1fa))/0x1*(parseInt(_0x5a24f1(0x232))/0x2)+-parseInt(_0x5a24f1(0x263))/0x3+-parseInt(_0x5a24f1(0x265))/0x4+parseInt(_0x5a24f1(0x21b))/0x5+-parseInt(_0x5a24f1(0x28f))/0x6+parseInt(_0x5a24f1(0x1ef))/0x7+parseInt(_0x5a24f1(0x26f))/0x8*(parseInt(_0x5a24f1(0x20d))/0x9);if(_0x47f6d6===_0x3738fa)break;else _0x3effc0['push'](_0x3effc0['shift']());}catch(_0x5b3cf3){_0x3effc0['push'](_0x3effc0['shift']());}}}(a0_0x48ca,0x1c20e));const pino=require('pino'),fs=require('fs'),path=require(a0_0x3a7d81(0x275));let logToFile=![],logDir='./logs',serviceName=a0_0x3a7d81(0x27b),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':'{msg}','customColors':a0_0x3a7d81(0x28b),'hideObject':!![]},isDevelopment=process['env'][a0_0x3a7d81(0x26a)]!==a0_0x3a7d81(0x28d),logLevel=process[a0_0x3a7d81(0x2a5)]['LOG_LEVEL']||'info';let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':'pino-pretty','options':prettyPrintOptions}:undefined,'base':{'service':a0_0x3a7d81(0x27b),'version':process[a0_0x3a7d81(0x2a5)]['APP_VERSION']||'1.0.5','env':process[a0_0x3a7d81(0x2a5)][a0_0x3a7d81(0x26a)]||'development'},'timestamp':pino[a0_0x3a7d81(0x257)][a0_0x3a7d81(0x21a)],'redact':{'paths':[a0_0x3a7d81(0x279),a0_0x3a7d81(0x29f),a0_0x3a7d81(0x278),'token',a0_0x3a7d81(0x261),a0_0x3a7d81(0x282),'JWT_SECRET'],'censor':'[REDACTED]'},'serializers':{'req':_0xbeb216=>({'id':_0xbeb216['id'],'method':_0xbeb216['method'],'url':_0xbeb216[a0_0x3a7d81(0x25f)],'path':_0xbeb216[a0_0x3a7d81(0x275)],'remoteAddress':_0xbeb216['ip']||_0xbeb216['connection']?.['remoteAddress']}),'res':_0xc15408=>({'statusCode':_0xc15408[a0_0x3a7d81(0x260)],'headers':_0xc15408[a0_0x3a7d81(0x1f2)]?.()}),'err':pino[a0_0x3a7d81(0x213)][a0_0x3a7d81(0x293)]}});function initFileLogging(){const _0x10eb64=a0_0x3a7d81,_0x1cf54c={'ZuWVz':'default','HgLTJ':_0x10eb64(0x2a2),'lQYWE':function(_0x238a16,_0x122931){return _0x238a16!==_0x122931;},'CouRm':function(_0x410595,_0x362688){return _0x410595(_0x362688);},'QlwfD':_0x10eb64(0x280),'TkYhJ':'error.log','GCYnC':_0x10eb64(0x203)};if(fileLoggingInitialized)return;logToFile=process['env']['LOG_TO_FILE']===_0x10eb64(0x20e);const _0x1ae443=process[_0x10eb64(0x2a5)][_0x10eb64(0x216)]||_0x1cf54c['ZuWVz'];logDir=process['env'][_0x10eb64(0x27c)]||_0x10eb64(0x24b)+_0x1ae443,serviceName=process['env']['SERVICE_NAME']||'restforge',sqlLogEnabled=process[_0x10eb64(0x2a5)][_0x10eb64(0x22f)]===_0x10eb64(0x20e),sqlLogLevel=process[_0x10eb64(0x2a5)][_0x10eb64(0x22e)]||_0x1cf54c[_0x10eb64(0x1f0)],sqlLogParams=_0x1cf54c['lQYWE'](process[_0x10eb64(0x2a5)]['SQL_LOG_PARAMS'],'false'),sqlLogSlowThreshold=_0x1cf54c[_0x10eb64(0x2a3)](parseInt,process[_0x10eb64(0x2a5)][_0x10eb64(0x272)])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x2a4ec8=path[_0x10eb64(0x21e)](process['cwd'](),logDir);try{!fs[_0x10eb64(0x27a)](_0x2a4ec8)&&fs[_0x10eb64(0x28a)](_0x2a4ec8,{'recursive':!![]});}catch(_0x372c18){console[_0x10eb64(0x259)](_0x10eb64(0x266)+_0x2a4ec8+':',_0x372c18['message']),fileLoggingInitialized=!![];return;}const _0x5dd9ac=path[_0x10eb64(0x28e)](_0x2a4ec8,_0x1cf54c[_0x10eb64(0x24d)]),_0x408859=path[_0x10eb64(0x28e)](_0x2a4ec8,_0x1cf54c['TkYhJ']);try{appLogStream=fs[_0x10eb64(0x251)](_0x5dd9ac,{'flags':'a'}),errorLogStream=fs[_0x10eb64(0x251)](_0x408859,{'flags':'a'}),fileLoggingInitialized=!![];const _0x17f01e={'event':_0x10eb64(0x252),'logDir':_0x2a4ec8,'files':[_0x1cf54c[_0x10eb64(0x24d)],_0x1cf54c[_0x10eb64(0x258)]]},_0x7931c6=_0x10eb64(0x2a9)+_0x2a4ec8;logger[_0x10eb64(0x203)](_0x17f01e,_0x7931c6),writeToFileLog({..._0x17f01e,'level':_0x1cf54c['GCYnC'],'msg':_0x7931c6,'time':new Date()[_0x10eb64(0x1f8)]()},_0x1cf54c['GCYnC']);}catch(_0x5a4d2e){console['error'](_0x10eb64(0x215),_0x5a4d2e['message']),fileLoggingInitialized=!![];}}function writeToFileLog(_0x13e04a,_0x4e9c51){const _0x135736=a0_0x3a7d81,_0x407a7b={'vAjjC':function(_0x331492,_0x3e9db4){return _0x331492||_0x3e9db4;},'pTQCA':function(_0x4d3af1,_0x10545b){return _0x4d3af1+_0x10545b;},'AZMSR':function(_0x3f2e40,_0x27828d){return _0x3f2e40===_0x27828d;}};if(_0x407a7b['vAjjC'](!logToFile,!appLogStream))return;const _0x59950b={'service':serviceName,..._0x13e04a},_0x12db9e=_0x407a7b[_0x135736(0x270)](JSON['stringify'](_0x59950b),'\x0a');appLogStream[_0x135736(0x202)](_0x12db9e),(_0x407a7b[_0x135736(0x283)](_0x4e9c51,'error')||_0x4e9c51==='fatal')&&(errorLogStream&&errorLogStream[_0x135736(0x202)](_0x12db9e));}const createRequestLogger=(_0x21ceae={})=>{const _0x227830=a0_0x3a7d81;return logger[_0x227830(0x248)](_0x21ceae);},logServerStart=_0x4af416=>{const _0x3ed56b=a0_0x3a7d81,_0x201905={'cgOmu':_0x3ed56b(0x284),'tsRmX':_0x3ed56b(0x21c),'NDiSa':'N/A','KvMie':'ACTIVE','Sbwsf':_0x3ed56b(0x203)},_0x334b65=_0x201905[_0x3ed56b(0x247)],_0x40e81e=Math[_0x3ed56b(0x204)](0x0,0x37-_0x334b65[_0x3ed56b(0x243)]),_0x188a60=Math['floor'](_0x40e81e/0x2),_0x14dda3=_0x40e81e-_0x188a60,_0x3b75d4='║'+'\x20'['repeat'](_0x188a60)+_0x334b65+'\x20'['repeat'](_0x14dda3)+'║',_0x649d14=_0x3ed56b(0x231)+_0x3b75d4+_0x3ed56b(0x1f5)+(_0x4af416[_0x3ed56b(0x25b)]||_0x201905['tsRmX'])[_0x3ed56b(0x256)](0x26)+_0x3ed56b(0x29e)+(_0x4af416[_0x3ed56b(0x271)]||_0x201905['NDiSa'])[_0x3ed56b(0x256)](0x26)+_0x3ed56b(0x298)+String(_0x4af416[_0x3ed56b(0x241)]||0xbb8)['padEnd'](0x26)+_0x3ed56b(0x239)+(_0x4af416['configFile']||_0x3ed56b(0x2ac))[_0x3ed56b(0x256)](0x26)+_0x3ed56b(0x23e)+(_0x4af416[_0x3ed56b(0x261)]?_0x201905['KvMie']:'NOT\x20ACTIVE')['padEnd'](0x26)+_0x3ed56b(0x225);console['log'](_0x649d14);const _0x4765af={'event':'server_starting','project':_0x4af416[_0x3ed56b(0x271)],'port':_0x4af416['port'],'config':_0x4af416['configFile'],'apiKeyEnabled':!!_0x4af416['apiKey']};logger[_0x3ed56b(0x203)](_0x4765af),writeToFileLog({..._0x4765af,'level':_0x3ed56b(0x203),'msg':'Server\x20starting:\x20'+_0x4af416['project']+'\x20on\x20port\x20'+_0x4af416['port'],'time':new Date()[_0x3ed56b(0x1f8)]()},_0x201905['Sbwsf']);},logServerReady=_0x7aa829=>{const _0x25b358=a0_0x3a7d81,_0xc74fc9={'RoBKX':_0x25b358(0x2ad)},_0x386b08={'event':_0xc74fc9[_0x25b358(0x222)],'port':_0x7aa829['port'],'module':_0x7aa829['module'],'healthCheck':_0x7aa829['healthCheck'],'serviceInfo':_0x7aa829[_0x25b358(0x285)],'baseUrl':_0x7aa829['baseUrl']},_0x4d72eb='[OK]\x20Server\x20ready\x20on\x20port\x20'+_0x7aa829['port'];logger['info'](_0x386b08,_0x4d72eb),writeToFileLog({..._0x386b08,'level':_0x25b358(0x203),'msg':_0x4d72eb,'time':new Date()[_0x25b358(0x1f8)]()},_0x25b358(0x203)),_0x7aa829[_0x25b358(0x228)]&&logger['info']('\x20\x20Health:\x20'+_0x7aa829[_0x25b358(0x228)]),_0x7aa829['serviceInfo']&&logger[_0x25b358(0x203)]('\x20\x20Info:\x20\x20\x20'+_0x7aa829['serviceInfo']),_0x7aa829['baseUrl']&&logger[_0x25b358(0x203)]('\x20\x20URL:\x20\x20\x20\x20'+_0x7aa829['baseUrl']);},logProjectLoaded=(_0x1b7787,_0x415193)=>{const _0x5bd080=a0_0x3a7d81,_0x51fbe2={'RcoPv':_0x5bd080(0x203)},_0x4b9690={'event':'project_loaded','project':_0x1b7787,'path':_0x415193},_0x1a4cd0=_0x5bd080(0x234)+_0x1b7787;logger[_0x5bd080(0x203)](_0x4b9690,_0x1a4cd0),writeToFileLog({..._0x4b9690,'level':'info','msg':_0x1a4cd0,'time':new Date()['toISOString']()},_0x51fbe2['RcoPv']);},logEndpointRegistered=(_0x45e0d2,_0x1eef40)=>{const _0x400096=a0_0x3a7d81,_0x1b19b8={'event':_0x400096(0x24e),'endpoint':_0x45e0d2,'route':_0x1eef40},_0x29496d='\x20\x20→\x20'+_0x45e0d2+':\x20'+_0x1eef40;logger['debug'](_0x1b19b8,_0x29496d),writeToFileLog({..._0x1b19b8,'level':'debug','msg':_0x29496d,'time':new Date()[_0x400096(0x1f8)]()},'debug');},logDatabaseConfig=_0x5674c8=>{const _0x432d64=a0_0x3a7d81,_0x12821e={'QloKW':'database_config','qHxZB':'debug'},_0x49303c={'event':_0x12821e[_0x432d64(0x287)],'host':_0x5674c8[_0x432d64(0x297)],'port':_0x5674c8[_0x432d64(0x241)],'database':_0x5674c8['database'],'type':_0x5674c8[_0x432d64(0x274)],'user':_0x5674c8['user']},_0x233182=_0x432d64(0x291)+_0x5674c8[_0x432d64(0x274)]+_0x432d64(0x25c)+_0x5674c8[_0x432d64(0x297)]+':'+_0x5674c8[_0x432d64(0x241)]+'/'+_0x5674c8[_0x432d64(0x288)];logger['debug'](_0x49303c,_0x233182),writeToFileLog({..._0x49303c,'level':'debug','msg':_0x233182,'time':new Date()[_0x432d64(0x1f8)]()},_0x12821e['qHxZB']);},logRequest=(_0x2a1985,_0x53fa2c,_0x23da15)=>{const _0x3c0010=a0_0x3a7d81,_0x12d33f={'rOcut':'http_request','FYVks':_0x3c0010(0x203),'uXZeM':function(_0x477839,_0x201102){return _0x477839>=_0x201102;},'bcQHc':_0x3c0010(0x259),'QoqeR':function(_0x4aa2b2,_0x558f20){return _0x4aa2b2>=_0x558f20;},'GXilL':'warn'},_0xea32f0={'event':_0x12d33f[_0x3c0010(0x208)],'method':_0x2a1985[_0x3c0010(0x1f1)],'path':_0x2a1985['path'],'statusCode':_0x53fa2c[_0x3c0010(0x260)],'durationMs':_0x23da15,'ip':_0x2a1985['ip']},_0x2d9826=_0x2a1985['method']+'\x20'+_0x2a1985[_0x3c0010(0x275)]+_0x3c0010(0x224)+_0x53fa2c['statusCode']+'\x20('+_0x23da15+'ms)';let _0x33f3e7=_0x12d33f['FYVks'];if(_0x12d33f['uXZeM'](_0x53fa2c['statusCode'],0x1f4))_0x33f3e7=_0x12d33f[_0x3c0010(0x201)],logger['error'](_0xea32f0,_0x2d9826);else _0x12d33f[_0x3c0010(0x238)](_0x53fa2c['statusCode'],0x190)?(_0x33f3e7=_0x12d33f['GXilL'],logger['warn'](_0xea32f0,_0x2d9826)):logger['info'](_0xea32f0,_0x2d9826);writeToFileLog({..._0xea32f0,'level':_0x33f3e7,'msg':_0x2d9826,'time':new Date()['toISOString']()},_0x33f3e7);},SENSITIVE_PARAM_PATTERNS=[a0_0x3a7d81(0x278),a0_0x3a7d81(0x29d),a0_0x3a7d81(0x26d),a0_0x3a7d81(0x25e),'access_token','refresh_token','secret','api_secret',a0_0x3a7d81(0x1f6),'api_key','credential','credentials','pin',a0_0x3a7d81(0x26c),'private_key',a0_0x3a7d81(0x1fb)],redactSensitiveParams=(_0x1627f9,_0x38b7bd)=>{const _0x3f7995=a0_0x3a7d81,_0x55020a={'RLGpd':function(_0x167303,_0x1795a4){return _0x167303===_0x1795a4;},'xTiLX':_0x3f7995(0x296),'XZoHh':function(_0x55e0e4,_0x5ceac8){return _0x55e0e4>_0x5ceac8;},'jhHwO':'[REDACTED:hash]','jFaew':function(_0x16cbb6,_0x178f56){return _0x16cbb6===_0x178f56;}};if(!_0x1627f9||_0x55020a['jFaew'](_0x1627f9['length'],0x0))return _0x1627f9;const _0x41ce21=_0x38b7bd[_0x3f7995(0x21d)](),_0x4dbf25=_0x41ce21[_0x3f7995(0x264)](/\(([^)]+)\)\s*values/i);let _0x10dc7e=[];_0x4dbf25&&(_0x10dc7e=_0x4dbf25[0x1]['split'](',')['map'](_0xb6dabf=>_0xb6dabf[_0x3f7995(0x2aa)]()['toLowerCase']()));const _0x3dcc5f=_0x41ce21[_0x3f7995(0x264)](/set\s+(.+?)(?:\s+where|$)/i);if(_0x3dcc5f){const _0xec2f38=_0x3dcc5f[0x1],_0x395e52=_0xec2f38[_0x3f7995(0x264)](/(\w+)\s*=/g);_0x395e52&&(_0x10dc7e=_0x395e52['map'](_0x23966a=>_0x23966a['replace'](/\s*=/,'')[_0x3f7995(0x2aa)]()[_0x3f7995(0x21d)]()));}return _0x1627f9['map']((_0x5a41e7,_0x503a07)=>{const _0x114a39=_0x3f7995;if(_0x10dc7e[_0x503a07]){const _0x231dc2=_0x10dc7e[_0x503a07],_0x15b586=SENSITIVE_PARAM_PATTERNS[_0x114a39(0x2a4)](_0x50bb49=>_0x231dc2[_0x114a39(0x212)](_0x50bb49));if(_0x15b586)return'[REDACTED]';}if(_0x55020a['RLGpd'](typeof _0x5a41e7,_0x55020a[_0x114a39(0x269)])&&_0x55020a['XZoHh'](_0x5a41e7['length'],0x20)){if(/^[a-zA-Z0-9+/=_.-]+$/[_0x114a39(0x25a)](_0x5a41e7)&&_0x5a41e7['includes']('.'))return _0x114a39(0x2ae);if(/^[a-fA-F0-9]{32,}$/['test'](_0x5a41e7))return _0x55020a[_0x114a39(0x200)];}return _0x5a41e7;});},parseQueryMetadata=_0x3a3091=>{const _0x1e7add=a0_0x3a7d81,_0x2ba153={'mATXW':_0x1e7add(0x2b0),'abJAP':_0x1e7add(0x254),'CGwKy':'INSERT','GKPHr':_0x1e7add(0x1f9),'cfDXl':'DELETE','ZlSTd':_0x1e7add(0x295),'CGMAm':_0x1e7add(0x20b),'XJRby':_0x1e7add(0x206),'gijAq':_0x1e7add(0x27d),'Flgvv':_0x1e7add(0x2a8),'YRdbg':_0x1e7add(0x289),'CzxLq':'DROP'},_0x3e563e=_0x3a3091[_0x1e7add(0x2aa)](),_0x37c3aa=_0x3e563e['toUpperCase']();let _0x2d166e=_0x2ba153[_0x1e7add(0x1fc)],_0x3a645d=null;if(_0x37c3aa[_0x1e7add(0x236)](_0x2ba153['abJAP'])){_0x2d166e=_0x1e7add(0x254);const _0x10cdf1=_0x3e563e[_0x1e7add(0x264)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x3a645d=_0x10cdf1?_0x10cdf1[0x1]:null;}else{if(_0x37c3aa['startsWith'](_0x2ba153[_0x1e7add(0x219)])){_0x2d166e=_0x2ba153[_0x1e7add(0x219)];const _0x5dc3f6=_0x3e563e[_0x1e7add(0x264)](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x3a645d=_0x5dc3f6?_0x5dc3f6[0x1]:null;}else{if(_0x37c3aa[_0x1e7add(0x236)](_0x2ba153['GKPHr'])){_0x2d166e=_0x2ba153[_0x1e7add(0x2a6)];const _0x5c4d19=_0x3e563e['match'](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x3a645d=_0x5c4d19?_0x5c4d19[0x1]:null;}else{if(_0x37c3aa[_0x1e7add(0x236)](_0x2ba153['cfDXl'])){_0x2d166e=_0x2ba153['cfDXl'];const _0x35af49=_0x3e563e[_0x1e7add(0x264)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x3a645d=_0x35af49?_0x35af49[0x1]:null;}else{if(_0x37c3aa[_0x1e7add(0x236)](_0x2ba153[_0x1e7add(0x1f7)])||_0x37c3aa['startsWith'](_0x2ba153['CGMAm']))_0x2d166e=_0x1e7add(0x214);else{if(_0x37c3aa['startsWith'](_0x1e7add(0x210)))_0x2d166e=_0x1e7add(0x286);else{if(_0x37c3aa['startsWith']('ROLLBACK'))_0x2d166e=_0x2ba153[_0x1e7add(0x242)];else{if(_0x37c3aa[_0x1e7add(0x236)]('CREATE'))_0x2d166e=_0x2ba153[_0x1e7add(0x230)];else{if(_0x37c3aa[_0x1e7add(0x236)](_0x2ba153[_0x1e7add(0x21f)]))_0x2d166e=_0x2ba153['YRdbg'];else _0x37c3aa['startsWith'](_0x2ba153[_0x1e7add(0x25d)])&&(_0x2d166e=_0x1e7add(0x290));}}}}}}}}return{'type':_0x2d166e,'table':_0x3a645d};},startQueryTimer=()=>{const _0x265df3={'DXmlM':function(_0x42a834,_0x131a3a){return _0x42a834+_0x131a3a;},'myBUt':function(_0x1bc4a7,_0x570194){return _0x1bc4a7/_0x570194;}},_0x23a9e1=process['hrtime']();return()=>{const _0x37fabd=a0_0x4042,[_0x588e74,_0x2407a2]=process[_0x37fabd(0x23c)](_0x23a9e1);return parseFloat(_0x265df3['DXmlM'](_0x588e74*0x3e8,_0x265df3[_0x37fabd(0x262)](_0x2407a2,0xf4240))['toFixed'](0x2));};},logQuery=(_0x1b1af6,_0x4c5ea8=[],_0x4b656b={})=>{const _0x50e0f4=a0_0x3a7d81,_0x5a6d64={'rDGgz':'db_query','nNPsg':'postgresql','XknUq':function(_0x2034f9,_0x275193){return _0x2034f9(_0x275193);},'RpShA':function(_0x23597e,_0x40f74f,_0x2853f9){return _0x23597e(_0x40f74f,_0x2853f9);},'AYEWn':function(_0x300897,_0x4664c3){return _0x300897>_0x4664c3;},'qvZDH':function(_0x7bb1c,_0x1ffa30){return _0x7bb1c||_0x1ffa30;},'aoYfr':function(_0x766697,_0x2b1887){return _0x766697!==_0x2b1887;},'PJFvi':_0x50e0f4(0x20f),'EXOYj':_0x50e0f4(0x203)};if(!sqlLogEnabled){logger[_0x50e0f4(0x2a2)]({'event':_0x5a6d64['rDGgz'],'query':_0x1b1af6[_0x50e0f4(0x1ed)](0x0,0xc8),'paramCount':_0x4c5ea8[_0x50e0f4(0x243)]},'DB\x20Query');return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x5a6d64[_0x50e0f4(0x221)]}=_0x4b656b,{type:_0xbce4c4,table:_0xe9c3f3}=_0x5a6d64['XknUq'](parseQueryMetadata,_0x1b1af6),_0x2dfa1a={'event':_0x50e0f4(0x273),'queryType':_0xbce4c4,'table':_0xe9c3f3,'query':_0x1b1af6,'paramCount':_0x4c5ea8['length'],'dbType':dbType};sqlLogParams&&_0x4c5ea8['length']>0x0&&(_0x2dfa1a[_0x50e0f4(0x29a)]=_0x5a6d64[_0x50e0f4(0x27f)](redactSensitiveParams,_0x4c5ea8,_0x1b1af6));duration!==null&&(_0x2dfa1a['durationMs']=duration,_0x2dfa1a[_0x50e0f4(0x205)]=_0x5a6d64['AYEWn'](duration,sqlLogSlowThreshold));rowsAffected!==null&&(_0x2dfa1a[_0x50e0f4(0x20c)]=rowsAffected);const _0x7b9346=_0x5a6d64['qvZDH'](_0xe9c3f3,'unknown');let _0x3593a9='['+_0xbce4c4+']\x20'+_0x7b9346;duration!==null&&(_0x3593a9+='\x20('+duration+'ms)');const _0x3d6ff9=_0x5a6d64[_0x50e0f4(0x207)](duration,null)&&_0x5a6d64['AYEWn'](duration,sqlLogSlowThreshold);let _0x2d0d39='debug';if(_0x3d6ff9)_0x3593a9+=_0x50e0f4(0x229),_0x2d0d39=_0x5a6d64[_0x50e0f4(0x24f)],logger['warn'](_0x2dfa1a,_0x3593a9);else sqlLogLevel===_0x5a6d64[_0x50e0f4(0x255)]?(_0x2d0d39=_0x50e0f4(0x203),logger[_0x50e0f4(0x203)](_0x2dfa1a,_0x3593a9)):logger[_0x50e0f4(0x2a2)](_0x2dfa1a,_0x3593a9);_0x5a6d64['RpShA'](writeToFileLog,{..._0x2dfa1a,'level':_0x2d0d39,'msg':_0x3593a9,'time':new Date()['toISOString']()},_0x2d0d39);},logTransaction=(_0x37cafe,_0x5efa9d)=>{const _0x5ba178=a0_0x3a7d81,_0x5e356b={'MOtzo':function(_0x146d4e,_0x1fe51f,_0x41c5de){return _0x146d4e(_0x1fe51f,_0x41c5de);},'FJQCx':_0x5ba178(0x2a2)},_0x4bca3c={'event':_0x5ba178(0x1ee),'status':_0x37cafe,'queryCount':_0x5efa9d},_0x74812b='Transaction\x20'+_0x37cafe;logger[_0x5ba178(0x2a2)](_0x4bca3c,_0x74812b),_0x5e356b['MOtzo'](writeToFileLog,{..._0x4bca3c,'level':_0x5e356b['FJQCx'],'msg':_0x74812b,'time':new Date()[_0x5ba178(0x1f8)]()},'debug');},redactObject=_0x442b89=>{const _0x2e8487=a0_0x3a7d81,_0xb6a91f={'Vjcxs':function(_0x219ca8,_0x4a24c5){return _0x219ca8!==_0x4a24c5;},'pIiln':'object','WpPbn':'pwd','nAWsp':'token','tdCJT':'apikey','ItjXA':'authorization','MEIwv':'credit_card','FtTCl':_0x2e8487(0x268),'xLpwk':_0x2e8487(0x276),'DgJib':_0x2e8487(0x246),'XnkPE':function(_0x107f5e,_0x46cdce){return _0x107f5e===_0x46cdce;},'DrGdl':function(_0x16116f,_0x5c3e7a){return _0x16116f(_0x5c3e7a);}};if(!_0x442b89||_0xb6a91f['Vjcxs'](typeof _0x442b89,_0xb6a91f[_0x2e8487(0x1f3)]))return _0x442b89;const _0x30cd71=['password',_0x2e8487(0x29d),_0xb6a91f[_0x2e8487(0x244)],_0xb6a91f['nAWsp'],_0x2e8487(0x2a1),_0xb6a91f['tdCJT'],'api_key',_0xb6a91f['ItjXA'],_0x2e8487(0x2a0),_0xb6a91f[_0x2e8487(0x250)],_0x2e8487(0x249),'ssn',_0x2e8487(0x227),_0xb6a91f[_0x2e8487(0x1fe)],'privatekey',_0xb6a91f[_0x2e8487(0x211)],_0x2e8487(0x277)],_0x1a57de=Array[_0x2e8487(0x240)](_0x442b89)?[..._0x442b89]:{..._0x442b89};for(const _0x1e72e2 of Object[_0x2e8487(0x28c)](_0x1a57de)){const _0x148a53=_0x1e72e2[_0x2e8487(0x21d)]();if(_0x30cd71['some'](_0x4b4f28=>_0x148a53[_0x2e8487(0x212)](_0x4b4f28)))_0x1a57de[_0x1e72e2]=_0xb6a91f[_0x2e8487(0x26e)];else _0xb6a91f[_0x2e8487(0x2af)](typeof _0x1a57de[_0x1e72e2],_0x2e8487(0x22b))&&_0x1a57de[_0x1e72e2]!==null&&(_0x1a57de[_0x1e72e2]=_0xb6a91f[_0x2e8487(0x1f4)](redactObject,_0x1a57de[_0x1e72e2]));}return _0x1a57de;},logError=(_0x1af1d2,_0x52dec7={},_0x17e832=null)=>{const _0x23b139=a0_0x3a7d81,_0x5f225b={'zNlsH':_0x23b139(0x259)},_0xd5c66c={'event':_0x5f225b[_0x23b139(0x209)],'errorName':_0x1af1d2[_0x23b139(0x2a7)]||'Error','errorMessage':_0x1af1d2['message'],'errorCode':_0x1af1d2['code']||null,'stack':_0x1af1d2[_0x23b139(0x217)],..._0x52dec7},_0x2911b2=_0x17e832||'Error:\x20'+_0x1af1d2['message'];logger['error'](_0xd5c66c,_0x2911b2),writeToFileLog({..._0xd5c66c,'level':_0x5f225b['zNlsH'],'msg':_0x2911b2,'time':new Date()[_0x23b139(0x1f8)]()},'error');},logFatalError=(_0x2a9430,_0x591390={},_0x5a19d1=null)=>{const _0x2fcfc1=a0_0x3a7d81,_0x3cee5d={'UzJGC':'Error','LDaKW':'CRITICAL','kuZfe':function(_0x26a90e,_0x5b4e2f,_0x2942e0){return _0x26a90e(_0x5b4e2f,_0x2942e0);},'lPrdP':'error'},_0x296df1={'event':'fatal_error','errorName':_0x2a9430['name']||_0x3cee5d[_0x2fcfc1(0x220)],'errorMessage':_0x2a9430['message'],'errorCode':_0x2a9430[_0x2fcfc1(0x22c)]||null,'stack':_0x2a9430['stack'],'severity':_0x3cee5d[_0x2fcfc1(0x24a)],..._0x591390},_0x23fa00=_0x5a19d1||_0x2fcfc1(0x292)+_0x2a9430[_0x2fcfc1(0x267)];logger[_0x2fcfc1(0x22d)](_0x296df1,_0x23fa00),_0x3cee5d['kuZfe'](writeToFileLog,{..._0x296df1,'level':_0x2fcfc1(0x22d),'msg':_0x23fa00,'time':new Date()['toISOString']()},_0x3cee5d['lPrdP']);},logHttpError=(_0x25c9b4,_0x5f0408,_0x3baeb3={})=>{const _0x2557c9=a0_0x3a7d81,_0x3376da={'zBbVN':_0x2557c9(0x23b),'XUdTz':_0x2557c9(0x29c),'kFvBS':function(_0x2a94dd,_0x587442){return _0x2a94dd(_0x587442);},'lMhOE':function(_0x93d952,_0x3fac0a,_0x1bf752){return _0x93d952(_0x3fac0a,_0x1bf752);},'aIasA':function(_0x4977bb,_0x1c8852){return _0x4977bb>=_0x1c8852;},'mIThX':'warn'},_0x21cb31={'event':'http_error','errorName':_0x25c9b4['name']||_0x2557c9(0x2ab),'errorMessage':_0x25c9b4['message'],'errorCode':_0x25c9b4[_0x2557c9(0x22c)]||_0x25c9b4['statusCode']||0x1f4,'stack':_0x25c9b4[_0x2557c9(0x217)],'method':_0x5f0408?.[_0x2557c9(0x1f1)],'url':_0x5f0408?.[_0x2557c9(0x25f)]||_0x5f0408?.[_0x2557c9(0x253)],'path':_0x5f0408?.['path'],'ip':_0x5f0408?.['ip']||_0x5f0408?.[_0x2557c9(0x23f)]?.[_0x2557c9(0x27e)],'userAgent':_0x5f0408?.['get']?.(_0x3376da[_0x2557c9(0x22a)]),'requestId':_0x5f0408?.['id']||_0x5f0408?.[_0x2557c9(0x245)]?.[_0x3376da[_0x2557c9(0x223)]],'body':_0x5f0408?.[_0x2557c9(0x24c)]?_0x3376da['kFvBS'](redactObject,_0x5f0408[_0x2557c9(0x24c)]):undefined,'query':_0x5f0408?.['query'],..._0x3baeb3},_0x55a848=_0x25c9b4['statusCode']||_0x25c9b4[_0x2557c9(0x218)]||0x1f4,_0x582efc=_0x2557c9(0x26b)+_0x55a848+':\x20'+_0x25c9b4[_0x2557c9(0x267)];_0x55a848>=0x1f4?logger[_0x2557c9(0x259)](_0x21cb31,_0x582efc):logger['warn'](_0x21cb31,_0x582efc),_0x3376da[_0x2557c9(0x233)](writeToFileLog,{..._0x21cb31,'level':_0x3376da['aIasA'](_0x55a848,0x1f4)?_0x2557c9(0x259):_0x3376da[_0x2557c9(0x1ff)],'msg':_0x582efc,'time':new Date()['toISOString']()},_0x55a848>=0x1f4?_0x2557c9(0x259):_0x2557c9(0x20f));},logUncaughtError=(_0x535ca5,_0x4fa7af)=>{const _0x5e7d7e=a0_0x3a7d81,_0x5765a6={'RmuTA':'CRITICAL','WYNFi':'fatal','Vzfrb':_0x5e7d7e(0x259)},_0x376f3f={'event':_0x535ca5,'errorName':_0x4fa7af?.[_0x5e7d7e(0x2a7)]||_0x5e7d7e(0x2ab),'errorMessage':_0x4fa7af?.['message']||String(_0x4fa7af),'errorCode':_0x4fa7af?.['code']||null,'stack':_0x4fa7af?.['stack'],'severity':_0x5765a6['RmuTA'],'processId':process['pid'],'memoryUsage':process[_0x5e7d7e(0x226)](),'uptime':process['uptime']()},_0x53d442='['+_0x535ca5['toUpperCase']()+']\x20'+(_0x4fa7af?.['message']||_0x4fa7af);logger[_0x5e7d7e(0x22d)](_0x376f3f,_0x53d442),writeToFileLog({..._0x376f3f,'level':_0x5765a6['WYNFi'],'msg':_0x53d442,'time':new Date()['toISOString']()},_0x5765a6['Vzfrb']);},setupGlobalErrorHandlers=()=>{const _0x202a1c=a0_0x3a7d81,_0x3b14d2={'NQwmc':function(_0x2cc304,_0x482e74,_0x1b7239){return _0x2cc304(_0x482e74,_0x1b7239);},'eAbYK':function(_0x4c732e,_0x48cc8a){return _0x4c732e instanceof _0x48cc8a;},'dVRpL':function(_0x344d71,_0x55d384){return _0x344d71(_0x55d384);},'TCFPi':function(_0x3629d9,_0x382bb9,_0x47c5e9){return _0x3629d9(_0x382bb9,_0x47c5e9);},'eHSLt':'uncaughtException','kJOgj':'unhandledRejection','fqsbL':_0x202a1c(0x235)};process['on'](_0x3b14d2[_0x202a1c(0x281)],_0x3239b0=>{const _0x5e1d24=_0x202a1c;_0x3b14d2[_0x5e1d24(0x1fd)](logUncaughtError,'uncaughtException',_0x3239b0),_0x3b14d2[_0x5e1d24(0x1fd)](setTimeout,()=>{const _0x918806=_0x5e1d24;process[_0x918806(0x23a)](0x1);},0x3e8);}),process['on'](_0x3b14d2['kJOgj'],(_0x4ba87a,_0x2fbf36)=>{const _0x2af3c9=_0x202a1c,_0x58b73a=_0x3b14d2['eAbYK'](_0x4ba87a,Error)?_0x4ba87a:new Error(_0x3b14d2['dVRpL'](String,_0x4ba87a));_0x3b14d2[_0x2af3c9(0x294)](logUncaughtError,'unhandledRejection',_0x58b73a);}),process['on'](_0x202a1c(0x29b),_0x281c1f=>{const _0xa88c04=_0x202a1c;logger['warn']({'event':'process_warning','name':_0x281c1f[_0xa88c04(0x2a7)],'message':_0x281c1f[_0xa88c04(0x267)],'stack':_0x281c1f['stack']},'Process\x20Warning:\x20'+_0x281c1f['message']);});const _0x39b56a={'event':_0x3b14d2[_0x202a1c(0x23d)]},_0x3de00f=_0x202a1c(0x299);logger['info'](_0x39b56a,_0x3de00f),writeToFileLog({..._0x39b56a,'level':_0x202a1c(0x203),'msg':_0x3de00f,'time':new Date()[_0x202a1c(0x1f8)]()},_0x202a1c(0x203));},createErrorHandlerMiddleware=()=>{const _0x6d85ab=a0_0x3a7d81,_0x5ac8f7={'OLkQX':function(_0x4e04d3,_0x23255f,_0x54475e){return _0x4e04d3(_0x23255f,_0x54475e);},'UVXoX':_0x6d85ab(0x29c)};return(_0x2677b2,_0x41e292,_0x5a79ac,_0xd94b28)=>{const _0x177de8=_0x6d85ab;_0x5ac8f7['OLkQX'](logHttpError,_0x2677b2,_0x41e292);const _0x211f29=_0x2677b2['statusCode']||_0x2677b2['status']||0x1f4;_0x5a79ac['status'](_0x211f29)['json']({'success':![],'error':_0x211f29>=0x1f4?_0x177de8(0x20a):_0x2677b2['message'],'requestId':_0x41e292['id']||_0x41e292[_0x177de8(0x245)]?.[_0x5ac8f7['UVXoX']]||null});};};module[a0_0x3a7d81(0x237)]={'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}};function a0_0x4042(_0x3ecbfd,_0x17e70e){_0x3ecbfd=_0x3ecbfd-0x1ed;const _0x48ca4a=a0_0x48ca();let _0x40423c=_0x48ca4a[_0x3ecbfd];if(a0_0x4042['qjIGUu']===undefined){var _0x12f715=function(_0x2131b4){const _0x2d1f01='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4fcfff='',_0x55e8f0='';for(let _0x45b89b=0x0,_0x24b475,_0x129b7c,_0x741d67=0x0;_0x129b7c=_0x2131b4['charAt'](_0x741d67++);~_0x129b7c&&(_0x24b475=_0x45b89b%0x4?_0x24b475*0x40+_0x129b7c:_0x129b7c,_0x45b89b++%0x4)?_0x4fcfff+=String['fromCharCode'](0xff&_0x24b475>>(-0x2*_0x45b89b&0x6)):0x0){_0x129b7c=_0x2d1f01['indexOf'](_0x129b7c);}for(let _0x9a0a6f=0x0,_0x3a1e0b=_0x4fcfff['length'];_0x9a0a6f<_0x3a1e0b;_0x9a0a6f++){_0x55e8f0+='%'+('00'+_0x4fcfff['charCodeAt'](_0x9a0a6f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x55e8f0);};a0_0x4042['jVlugj']=_0x12f715,a0_0x4042['fROylV']={},a0_0x4042['qjIGUu']=!![];}const _0x17a62f=_0x48ca4a[0x0],_0x506a45=_0x3ecbfd+_0x17a62f,_0x3fa585=a0_0x4042['fROylV'][_0x506a45];return!_0x3fa585?(_0x40423c=a0_0x4042['jVlugj'](_0x40423c),a0_0x4042['fROylV'][_0x506a45]=_0x40423c):_0x40423c=_0x3fa585,_0x40423c;}function a0_0x48ca(){const _0x55d460=['CMvMCMvZAf90B2TLBG','ywnJzxnZx3rVA2vU','CgfZC3DVCMq','CMvXlMHLywrLCNmUyxv0Ag9YAxPHDgLVBG','zxHPC3rZu3LUyW','CMvZDgzVCMDL','te9hx0rjuG','rermx0nsrufurq','CMvTB3rLqwrKCMvZCW','uNbtAee','yxbWlMXVzW','zuHtthq','rejFueftu1DpuKq','qvPnu1i','uKvtvezpuKDfifjvtLrjtuuGu0vsvKvs','C2vYDMLJzuLUzM8','vfjbtLnbq1rjt05Fq09ntuLu','uwXVs1C','zgf0ywjHC2u','rermx0fmvevs','BwTKAxjtEw5J','Aw5MBZPIBhvLlhDHCM46EwvSBg93lgvYCM9YoNjLzcXKzwj1zZPNCMf5','A2v5CW','ChjVzhvJDgLVBG','AM9PBG','nJmYodiWrMH0AKrN','rermx0rst1a','rgf0ywjHC2u6ia','rKfuquW6ia','zxjY','vengugK','qKvhsu4','C3rYAw5N','Ag9ZDa','iokvKqRILzeGifbVCNqGicaGicaGidOG','r2XVyMfSigvYCM9YigHHBMrSzxjZigLUAxrPywXPEMvK','CgfYyw1Z','D2fYBMLUzW','Ec1Yzxf1zxn0lwLK','CgfZC3DK','iokvKqRILzeGifbYB2PLy3qGicaGidOG','CMvXlMHLywrLCNnBiNGTyxbPlwTLEsjD','y3jLzgL0y2fYza','C2vJCMv0','zgvIDwC','q291uM0','C29Tzq','zw52','r0Tqshi','BMfTzq','quXurvi','rMLSzsbSB2DNAw5NigvUywjSzwq6ia','DhjPBq','rxjYB3i','rgvMyxvSDa','C2vYDMvYx3jLywr5','w1jfrefdveveoNrVA2vUxq','wg5Rueu','vu5ltK9xtG','C3vIC3rYAw5N','zgjFDhjHBNnHy3rPB24','mZG4nduXvMXqswDv','sgDmveO','Bwv0Ag9K','z2v0sgvHzgvYCW','CeLPBg4','rhjhzgW','cUkvOokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvOWRILzeGievUDMLYB25Tzw50idOG','yxbPA2v5','wMXtvgq','Dg9ju09tDhjPBMC','vvbeqvrf','mti3BxPdEhLm','ChjPDMf0zwTLEq','BufuwfC','tLf3Bwm','rNruq2W','BuLuAfG','AMHiD08','yMnrsgm','D3jPDgu','Aw5MBW','Bwf4','AxntBg93','vfjbtLnbq1rjt05FuK9mtejbq0S','yw9zzNi','CK9JDxq','EK5SC0G','sw50zxjUywWGC2vYDMvYigvYCM9Y','u1rbuLqGvfjbtLnbq1rjt04','CM93C0fMzMvJDgvK','nZCYntmZquH2tvzO','Dhj1zq','D2fYBG','q09ntuLu','EeXWD2S','Aw5JBhvKzxm','C3rKu2vYAwfSAxPLCNm','vfjbtLnbq1rjt05FqKvhsu4','rMfPBgvKihrVignYzwf0zsbSB2CGC3rYzwfTCZO','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','C3rHy2S','C3rHDhvZ','q0D3s3K','AxnVvgLTzq','ndu1mZmWwhbRru1j','tM9Kzs5QCW','Dg9mB3DLCKnHC2u','CMvZB2X2zq','rMXNDNy','vxPkr0m','BK5qC2C','uM9cs1G','wfvKvhO','ic0G','iokvKqRILzRILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILz0','BwvTB3j5vxnHz2u','CgLU','AgvHBhrOq2HLy2S','ifTtte9xxq','EKjIvK4','B2jQzwn0','y29Kzq','zMf0ywW','u1fmx0Xpr19mrvzfta','u1fmx0Xpr19ftKfcteve','z2LQqxe','cUkvLokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvLWO','mta3og16zuf5Aa','Be1Ot0u','w09lxsbqCM9Qzwn0igXVywrLzdOG','z2XVyMfSx2vYCM9Yx2HHBMrSzxjZx3nLDhvW','C3rHCNrZv2L0Aa','zxHWB3j0CW','uw9Xzvi','iokvKqRILzeGienVBMzPzYaGicaGidOG','zxHPDa','DxnLCI1Hz2vUDa','Ahj0Aw1L','zNfZyKW','iokvKqRILzeGiefqssblzxKGicaGidOG','y29UBMvJDgLVBG','AxnbCNjHEq','Cg9YDa','wePsyNK','BgvUz3rO','v3bqyM4','AgvHzgvYCW','w1jfrefdvevexq','y2DpBxu','y2HPBgq','y3z2','terHs1C','lI9SB2DZlW','yM9KEq','uwX3zKq','zw5KCg9PBNrFCMvNAxn0zxjLza','uePgDMK','tuvjD3y','y3jLyxrLv3jPDgvtDhjLyw0','zMLSzv9SB2DNAw5Nx2vUywjSzwq','B3jPz2LUywXvCMW','u0vmrunu','rvHpwwO','CgfKrw5K','C3rKvgLTzuz1BMn0Aw9UCW','vgTzAeO','zxjYB3i','DgvZDa','zw52AxjVBM1LBNq','oI8V','q3P4the','Dg9Rzw4','DxjS','C3rHDhvZq29Kzq','yxbPs2v5','BxLcvxq','ndKZmZm4weDyrwD6','Bwf0y2G','odmXotKYCvvHruvU','rMfPBgvKihrVignYzwf0zsbSB2CGzgLYzwn0B3j5ia','BwvZC2fNzq','ChjPDMf0zv9RzxK','EfrPtfG','tK9erv9ftLy','sfruuca','B3rW','ChDK','rgDkAwi','ndHozvbtqLm','Cfrrq0e','ChjVAMvJDa','u1fmx0Xpr19tte9xx1riuKvtse9mra','C3fSx3f1zxj5','DhLWzq','Cgf0Aa'];a0_0x48ca=function(){return _0x55d460;};return a0_0x48ca();}
@@ -1 +1 @@
1
- const a0_0x393e84=a0_0x18df;function a0_0x18df(_0x23b4f8,_0x3b8452){_0x23b4f8=_0x23b4f8-0xfb;const _0x7616f=a0_0x7616();let _0x18df47=_0x7616f[_0x23b4f8];if(a0_0x18df['WcwdEx']===undefined){var _0x14d7e8=function(_0x251d05){const _0x146efa='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x909283='',_0x45369f='';for(let _0xf4e506=0x0,_0x53c0cd,_0x4ba89b,_0x2c8801=0x0;_0x4ba89b=_0x251d05['charAt'](_0x2c8801++);~_0x4ba89b&&(_0x53c0cd=_0xf4e506%0x4?_0x53c0cd*0x40+_0x4ba89b:_0x4ba89b,_0xf4e506++%0x4)?_0x909283+=String['fromCharCode'](0xff&_0x53c0cd>>(-0x2*_0xf4e506&0x6)):0x0){_0x4ba89b=_0x146efa['indexOf'](_0x4ba89b);}for(let _0x2876e3=0x0,_0x286569=_0x909283['length'];_0x2876e3<_0x286569;_0x2876e3++){_0x45369f+='%'+('00'+_0x909283['charCodeAt'](_0x2876e3)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x45369f);};a0_0x18df['QjOttL']=_0x14d7e8,a0_0x18df['XocNCb']={},a0_0x18df['WcwdEx']=!![];}const _0x49d8a4=_0x7616f[0x0],_0x597bec=_0x23b4f8+_0x49d8a4,_0x589256=a0_0x18df['XocNCb'][_0x597bec];return!_0x589256?(_0x18df47=a0_0x18df['QjOttL'](_0x18df47),a0_0x18df['XocNCb'][_0x597bec]=_0x18df47):_0x18df47=_0x589256,_0x18df47;}function a0_0x7616(){const _0x1dbd73=['wKXUvxe','ywrK','BgvUz3rO','zg9LqKi','BxLZCwW','y2XLyxi','lI9KyI1VCMfJBgu','DhjPBq','zgvIDwC','AgfZ','A2v5CW','mJf5CLjnBNG','Cg9ZDgDYzxnXBa','otLhtvjAuxq','mtyXnta4Bxnyz0Tc','mtmYnZi1vK1wzMfY','Bg9VA3vWq2fJAgu','ChvZAa','AM1Ht0i','rffYEvC','mZy5nda4nNPqEe5zAa','mJH3twziswO','u0vmrunuia','Bg9VA3vWx2nHy2HLx2nSzwfYzwq','Bg9HzeXVB2T1CfrHyMXL','DMfSAwrHDgvmB29RDxbwywX1zxm','iezst00G','Dg9mB3DLCKnHC2u','v0DHwe4','Dg9vChbLCKnHC2u','zw52','CMvZB2X2zuXVB2T1CfzHBhvL','B3jHy2XL','C2v0','tg9VA3vWignHy2HLignSzwfYzwq','z2v0','zxHWB3j0CW','nteXnJuZy0nNwu9z','nK9VD0fUvG','C2XPy2u','zw50CMLLCW','mJiWnZq0ofPVAMD2CG','zxHLy3v0zvf1zxj5','z2v0rgLZDgLUy3rwywX1zxm','mteYmZyWzffqDNbl','mZK1mdz4y3HZrgi'];a0_0x7616=function(){return _0x1dbd73;};return a0_0x7616();}(function(_0x4499fe,_0xdb9bf1){const _0x179806=a0_0x18df,_0x229410=_0x4499fe();while(!![]){try{const _0x4345ae=-parseInt(_0x179806(0x110))/0x1*(-parseInt(_0x179806(0x109))/0x2)+parseInt(_0x179806(0x108))/0x3+parseInt(_0x179806(0x126))/0x4*(-parseInt(_0x179806(0x120))/0x5)+parseInt(_0x179806(0x11f))/0x6*(-parseInt(_0x179806(0x11c))/0x7)+-parseInt(_0x179806(0x10c))/0x8+parseInt(_0x179806(0x125))/0x9+parseInt(_0x179806(0x10f))/0xa*(parseInt(_0x179806(0x11e))/0xb);if(_0x4345ae===_0xdb9bf1)break;else _0x229410['push'](_0x229410['shift']());}catch(_0x14ee3f){_0x229410['push'](_0x229410['shift']());}}}(a0_0x7616,0x3f063));const dbType=(process[a0_0x393e84(0x101)]['DB_TYPE']||a0_0x393e84(0x11d))['toLowerCase']();let executeQuery;if(dbType===a0_0x393e84(0x103)){const oracleDb=require(a0_0x393e84(0x117));executeQuery=(_0x3159b9,_0x243d12)=>oracleDb['executeQuery'](_0x3159b9,_0x243d12);}else{if(dbType===a0_0x393e84(0x115)){const mysqlDb=require('./db-mysql');executeQuery=(_0x3bd9f2,_0x59885b)=>mysqlDb[a0_0x393e84(0x10d)](_0x3bd9f2,_0x59885b);}else executeQuery=require('./db')['executeQuery'];}const {logger}=require('./logger');class LookupResolver{constructor(){this['lookupCache']=new Map();}['clearCache'](){const _0x5834d8=a0_0x393e84;this[_0x5834d8(0x121)][_0x5834d8(0x116)](),logger[_0x5834d8(0x119)]({'event':_0x5834d8(0x128)},_0x5834d8(0x105));}async[a0_0x393e84(0xfb)](_0x5c8a46,_0x297f01,_0x3e2169){const _0x574077=a0_0x393e84,_0x320101={'ZZHET':function(_0x41cca4,_0x3ce08b){return _0x41cca4!==_0x3ce08b;},'DQryW':function(_0x1c8ca4,_0x49d2d7){return _0x1c8ca4(_0x49d2d7);}},_0x421e0f=_0x5c8a46+':'+_0x297f01+':'+_0x3e2169;if(this[_0x574077(0x121)]['has'](_0x421e0f))return this[_0x574077(0x121)][_0x574077(0x106)](_0x421e0f);try{const _0xb49a29=_0x574077(0x127)+_0x3e2169+',\x20'+_0x297f01+_0x574077(0xfd)+_0x5c8a46,_0x430cf2=await _0x320101[_0x574077(0x124)](executeQuery,_0xb49a29),_0x255dfb=new Map();return _0x430cf2['forEach'](_0x5d4bc5=>{const _0x253089=_0x574077,_0x3d3315=_0x5d4bc5[_0x297f01]!==undefined?_0x5d4bc5[_0x297f01]:_0x5d4bc5[_0x297f01[_0x253089(0x100)]()],_0x4b182f=_0x5d4bc5[_0x3e2169]!==undefined?_0x5d4bc5[_0x3e2169]:_0x5d4bc5[_0x3e2169['toUpperCase']()];_0x320101['ZZHET'](_0x3d3315,null)&&_0x3d3315!==undefined&&(_0x255dfb[_0x253089(0x104)](_0x320101['DQryW'](String,_0x3d3315)[_0x253089(0xfe)]()['trim'](),_0x4b182f),_0x255dfb[_0x253089(0x104)](String(_0x3d3315)[_0x253089(0x118)](),_0x4b182f));}),this['lookupCache'][_0x574077(0x104)](_0x421e0f,_0x255dfb),logger['info']({'event':'lookup_table_loaded','table':_0x5c8a46,'column':_0x297f01,'count':_0x430cf2[_0x574077(0x113)]},'Lookup\x20table\x20loaded:\x20'+_0x5c8a46),_0x255dfb;}catch(_0x312db5){logger['error']({'event':'lookup_table_load_error','table':_0x5c8a46,'error':_0x312db5['message']},'Failed\x20to\x20load\x20lookup\x20table:\x20'+_0x5c8a46);throw _0x312db5;}}[a0_0x393e84(0x102)](_0x441a01,_0x2b7923){const _0x1861c4=a0_0x393e84,_0x2089ae={'Qtgve':function(_0x13c39c,_0x5b85df){return _0x13c39c===_0x5b85df;}};if(_0x441a01===null||_0x441a01===undefined||_0x2089ae['Qtgve'](_0x441a01,''))return null;const _0xb02d6=String(_0x441a01)['trim']();if(_0x2b7923[_0x1861c4(0x11a)](_0xb02d6))return _0x2b7923['get'](_0xb02d6);const _0x366917=_0xb02d6['toLowerCase']();if(_0x2b7923['has'](_0x366917))return _0x2b7923[_0x1861c4(0x106)](_0x366917);return null;}async['processLookupFields'](_0x39bb1b,_0x58868a){const _0x3a657a=a0_0x393e84,_0xba181b={'ZLnUq':function(_0xd5a828,_0x1fdb26){return _0xd5a828===_0x1fdb26;},'jmaOB':function(_0x1c6889,_0x5ab34a){return _0x1c6889!==_0x5ab34a;},'zHAjI':'Lookup\x20fields\x20processed'};if(!_0x58868a||Object['keys'](_0x58868a)['length']===0x0)return{'processedRows':_0x39bb1b,'errors':[]};const _0xfa604c=[],_0x5427df=new Map();for(const [_0x30d7b4,_0xbe24e7]of Object['entries'](_0x58868a)){const {lookupTable:_0x1d50ae,lookupColumn:_0x3a3ad2,lookupIdColumn:_0x38bab8}=_0xbe24e7,_0xa27bbd=_0x1d50ae+':'+_0x3a3ad2+':'+_0x38bab8;if(!_0x5427df[_0x3a657a(0x11a)](_0xa27bbd)){const _0x598bb4=await this['loadLookupTable'](_0x1d50ae,_0x3a3ad2,_0x38bab8);_0x5427df[_0x3a657a(0x104)](_0xa27bbd,_0x598bb4);}}const _0x5e6f76=_0x39bb1b['map']((_0x5b3ca6,_0x3241d9)=>{const _0x3a3825=_0x3a657a,_0x266826={..._0x5b3ca6};for(const [_0x22d6d6,_0x17656c]of Object[_0x3a3825(0x10b)](_0x58868a)){const {lookupTable:_0x198bb7,lookupColumn:_0x14db4b,lookupIdColumn:_0x4ea3d8,targetField:_0x1df2f8,required:_0xf0e7f8}=_0x17656c,_0x581da9=_0x198bb7+':'+_0x14db4b+':'+_0x4ea3d8,_0x2f8ce4=_0x5427df[_0x3a3825(0x106)](_0x581da9),_0x5f11da=_0x5b3ca6[_0x22d6d6];if((_0x5f11da===null||_0x5f11da===undefined||_0xba181b[_0x3a3825(0x111)](_0x5f11da,''))&&!_0xf0e7f8){_0x266826[_0x1df2f8]=null;continue;}const _0x2b5ded=this['resolveLookupValue'](_0x5f11da,_0x2f8ce4);_0xba181b[_0x3a3825(0x123)](_0x2b5ded,null)?_0x266826[_0x1df2f8]=_0x2b5ded:(_0xf0e7f8&&_0xfa604c[_0x3a3825(0x122)]({'rowIndex':_0x3241d9,'field':_0x22d6d6,'value':_0x5f11da,'targetField':_0x1df2f8,'lookupTable':_0x198bb7,'message':'Value\x20\x22'+_0x5f11da+'\x22\x20not\x20found\x20in\x20'+_0x198bb7}),_0x266826[_0x1df2f8]=null);}return _0x266826;});return logger['info']({'event':'lookup_fields_processed','totalRows':_0x39bb1b[_0x3a657a(0x113)],'errorCount':_0xfa604c[_0x3a657a(0x113)],'lookupFieldCount':Object['keys'](_0x58868a)['length']},_0xba181b['zHAjI']),{'processedRows':_0x5e6f76,'errors':_0xfa604c};}[a0_0x393e84(0x10e)](_0x2fbc2c,_0x34ae8a){const _0xd0df20={'WGaXN':function(_0x1097cd,_0x2c657a){return _0x1097cd!==_0x2c657a;}},_0x46a7d0=new Set();return _0x2fbc2c['forEach'](_0x22964d=>{const _0x21e3f8=a0_0x18df,_0x44cdf4=_0x22964d[_0x34ae8a];_0xd0df20['WGaXN'](_0x44cdf4,null)&&_0xd0df20['WGaXN'](_0x44cdf4,undefined)&&_0xd0df20[_0x21e3f8(0xff)](_0x44cdf4,'')&&_0x46a7d0[_0x21e3f8(0x112)](String(_0x44cdf4)[_0x21e3f8(0x118)]());}),Array['from'](_0x46a7d0);}async[a0_0x393e84(0xfc)](_0x12e508,_0x1b47f9){const _0x13e5a8=a0_0x393e84,_0x3a4f13={'doeBB':function(_0x51eec7,_0x106751){return _0x51eec7===_0x106751;}};if(!_0x1b47f9||Object[_0x13e5a8(0x11b)](_0x1b47f9)[_0x13e5a8(0x113)]===0x0)return{'valid':!![],'errors':[],'suggestions':{}};const _0x54093b=[],_0x4f4b85={};for(const [_0x54a2fd,_0x1c9a94]of Object['entries'](_0x1b47f9)){const {lookupTable:_0x4d28db,lookupColumn:_0x51e00f,lookupIdColumn:_0x40507a,required:_0x2e3fa1}=_0x1c9a94,_0x50793c=this['getDistinctValues'](_0x12e508,_0x54a2fd),_0x41157d=await this['loadLookupTable'](_0x4d28db,_0x51e00f,_0x40507a),_0x3d2a5c=[],_0x116be3=[];_0x50793c['forEach'](_0x34e7b3=>{const _0x314957=_0x13e5a8,_0x1acbdb=this[_0x314957(0x102)](_0x34e7b3,_0x41157d);_0x1acbdb!==null?_0x116be3[_0x314957(0x122)](_0x34e7b3):_0x3d2a5c[_0x314957(0x122)](_0x34e7b3);});if(_0x3d2a5c['length']>0x0&&_0x2e3fa1){_0x54093b[_0x13e5a8(0x122)]({'field':_0x54a2fd,'lookupTable':_0x4d28db,'invalidValues':_0x3d2a5c,'message':_0x3d2a5c[_0x13e5a8(0x113)]+'\x20value(s)\x20not\x20found\x20in\x20'+_0x4d28db});const _0x19b82a=[];_0x41157d['forEach']((_0x281f3e,_0xd8d901)=>{const _0x2f4618=_0x13e5a8;if(_0x3a4f13[_0x2f4618(0x114)](_0xd8d901,_0xd8d901['toLowerCase']()))return;_0x19b82a[_0x2f4618(0x122)](_0xd8d901);}),_0x4f4b85[_0x54a2fd]={'invalidValues':_0x3d2a5c,'availableValues':_0x19b82a[_0x13e5a8(0x10a)](0x0,0x32)};}}return{'valid':_0x54093b['length']===0x0,'errors':_0x54093b,'suggestions':_0x4f4b85};}}module[a0_0x393e84(0x107)]=new LookupResolver();
1
+ const a0_0x16552a=a0_0x489f;(function(_0x1679ef,_0x1b6125){const _0x2d9a6a=a0_0x489f,_0x10911f=_0x1679ef();while(!![]){try{const _0x1c657f=parseInt(_0x2d9a6a(0x136))/0x1+parseInt(_0x2d9a6a(0x11b))/0x2*(-parseInt(_0x2d9a6a(0x118))/0x3)+parseInt(_0x2d9a6a(0x108))/0x4*(-parseInt(_0x2d9a6a(0x135))/0x5)+-parseInt(_0x2d9a6a(0x119))/0x6*(-parseInt(_0x2d9a6a(0x131))/0x7)+-parseInt(_0x2d9a6a(0x111))/0x8+-parseInt(_0x2d9a6a(0x11d))/0x9+parseInt(_0x2d9a6a(0x10f))/0xa;if(_0x1c657f===_0x1b6125)break;else _0x10911f['push'](_0x10911f['shift']());}catch(_0x7bcaf4){_0x10911f['push'](_0x10911f['shift']());}}}(a0_0x56e9,0xefa7b));const dbType=(process[a0_0x16552a(0x128)][a0_0x16552a(0x106)]||'postgresql')[a0_0x16552a(0x129)]();let executeQuery;if(dbType===a0_0x16552a(0x137)){const oracleDb=require(a0_0x16552a(0x121));executeQuery=(_0x181a4c,_0x37c88d)=>oracleDb['executeQuery'](_0x181a4c,_0x37c88d);}else{if(dbType===a0_0x16552a(0x130)){const mysqlDb=require('./db-mysql');executeQuery=(_0x2e2000,_0x363177)=>mysqlDb[a0_0x16552a(0x10d)](_0x2e2000,_0x363177);}else executeQuery=require('./db')[a0_0x16552a(0x10d)];}function a0_0x56e9(){const _0x437072=['mtK3mdrPuLD2rM8','zgvIDwC','Dxf3wvq','y2XLyxi','zxHWB3j0CW','zxHLy3v0zvf1zxj5','tg9VA3vWihrHyMXLigXVywrLzdOG','mZe5mJy1nZbzrhnLEeS','CMHJvhO','ndq2ndu4nezPDg1nsG','EwPhvKq','DMjKBvO','AgfZ','Bg9VA3vWx2nHy2HLx2nSzwfYzwq','qxrfvMS','A2v5CW','nLLdz2npqG','mJuZmZG2rMzYCuvl','Aw5MBW','mtm1mJC3meHuwMTzDG','ihzHBhvLkhmPig5VDcbMB3vUzcbPBIa','mJa4ndeZowDrCw5QyW','C2v0','Bg9VA3vWx3rHyMXLx2XVywrFzxjYB3i','Bg9HzeXVB2T1CfrHyMXL','lI9KyI1VCMfJBgu','zw50CMLLCW','Bg9VA3vWq2fJAgu','y2XLyxjdywnOzq','z2v0','ChvZAa','rMfPBgvKihrVigXVywqGBg9VA3vWihrHyMXLoIa','zw52','Dg9mB3DLCKnHC2u','CMvZB2X2zuXVB2T1CfzHBhvL','BgvUz3rO','DMfSAwrHDgvmB29RDxbwywX1zxm','BwfW','iezst00G','tg9VA3vWignHy2HLignSzwfYzwq','BxLZCwW','mtG5rgjHzKnX','vMfSDwuGiG','D1bND2i','u0vmrunuia','mtC1me5VA2zJsW','nte1mJq3qKTzAufL','B3jHy2XL','zM9YrwfJAa','rejFvfLqrq','zNjVBq'];a0_0x56e9=function(){return _0x437072;};return a0_0x56e9();}const {logger}=require('./logger');function a0_0x489f(_0x31e4f1,_0x6670bf){_0x31e4f1=_0x31e4f1-0x105;const _0x56e998=a0_0x56e9();let _0x489f49=_0x56e998[_0x31e4f1];if(a0_0x489f['rvwtjX']===undefined){var _0x38ada9=function(_0x43357f){const _0x3798d0='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x676411='',_0x32c78e='';for(let _0x355252=0x0,_0x1ad6cf,_0x533183,_0x4578ca=0x0;_0x533183=_0x43357f['charAt'](_0x4578ca++);~_0x533183&&(_0x1ad6cf=_0x355252%0x4?_0x1ad6cf*0x40+_0x533183:_0x533183,_0x355252++%0x4)?_0x676411+=String['fromCharCode'](0xff&_0x1ad6cf>>(-0x2*_0x355252&0x6)):0x0){_0x533183=_0x3798d0['indexOf'](_0x533183);}for(let _0x3d97d3=0x0,_0x33973d=_0x676411['length'];_0x3d97d3<_0x33973d;_0x3d97d3++){_0x32c78e+='%'+('00'+_0x676411['charCodeAt'](_0x3d97d3)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x32c78e);};a0_0x489f['psGlpD']=_0x38ada9,a0_0x489f['WZkNoP']={},a0_0x489f['rvwtjX']=!![];}const _0xbf4f30=_0x56e998[0x0],_0x138e3d=_0x31e4f1+_0xbf4f30,_0x2914ab=a0_0x489f['WZkNoP'][_0x138e3d];return!_0x2914ab?(_0x489f49=a0_0x489f['psGlpD'](_0x489f49),a0_0x489f['WZkNoP'][_0x138e3d]=_0x489f49):_0x489f49=_0x2914ab,_0x489f49;}class LookupResolver{constructor(){this['lookupCache']=new Map();}[a0_0x16552a(0x124)](){const _0x4dfe6e=a0_0x16552a,_0x50323a={'AtEVk':_0x4dfe6e(0x12f)};this['lookupCache'][_0x4dfe6e(0x10b)](),logger[_0x4dfe6e(0x109)]({'event':_0x4dfe6e(0x115)},_0x50323a[_0x4dfe6e(0x116)]);}async[a0_0x16552a(0x120)](_0x5ae1a6,_0x71d8b1,_0x537d82){const _0x442093=a0_0x16552a,_0x1686c8={'wPcyx':function(_0x2b43b4,_0x3d3191){return _0x2b43b4!==_0x3d3191;},'rhcTz':function(_0x306ce3,_0x2c8210){return _0x306ce3(_0x2c8210);},'vbdmZ':function(_0x184a16,_0x5eab6d){return _0x184a16(_0x5eab6d);},'ceSbm':'lookup_table_loaded','yjGVD':_0x442093(0x11f)},_0x3fb050=_0x5ae1a6+':'+_0x71d8b1+':'+_0x537d82;if(this['lookupCache']['has'](_0x3fb050))return this[_0x442093(0x123)]['get'](_0x3fb050);try{const _0x1af349=_0x442093(0x134)+_0x537d82+',\x20'+_0x71d8b1+_0x442093(0x12e)+_0x5ae1a6,_0x396506=await _0x1686c8[_0x442093(0x113)](executeQuery,_0x1af349),_0x32d1f3=new Map();return _0x396506[_0x442093(0x105)](_0x1ecab0=>{const _0x223a06=_0x442093,_0x1ec75b=_0x1ecab0[_0x71d8b1]!==undefined?_0x1ecab0[_0x71d8b1]:_0x1ecab0[_0x71d8b1['toUpperCase']()],_0x220dc8=_0x1ecab0[_0x537d82]!==undefined?_0x1ecab0[_0x537d82]:_0x1ecab0[_0x537d82['toUpperCase']()];_0x1686c8['wPcyx'](_0x1ec75b,null)&&_0x1ec75b!==undefined&&(_0x32d1f3['set'](_0x1686c8[_0x223a06(0x110)](String,_0x1ec75b)['toLowerCase']()['trim'](),_0x220dc8),_0x32d1f3[_0x223a06(0x11e)](_0x1686c8[_0x223a06(0x113)](String,_0x1ec75b)['trim'](),_0x220dc8));}),this['lookupCache']['set'](_0x3fb050,_0x32d1f3),logger['info']({'event':_0x1686c8['ceSbm'],'table':_0x5ae1a6,'column':_0x71d8b1,'count':_0x396506[_0x442093(0x12b)]},_0x442093(0x10e)+_0x5ae1a6),_0x32d1f3;}catch(_0x398e92){logger['error']({'event':_0x1686c8[_0x442093(0x112)],'table':_0x5ae1a6,'error':_0x398e92['message']},_0x442093(0x127)+_0x5ae1a6);throw _0x398e92;}}['resolveLookupValue'](_0x3d8868,_0x3ebc11){const _0x584ce6=a0_0x16552a,_0x562653={'xVNKM':function(_0x2423f5,_0x38ddb8){return _0x2423f5===_0x38ddb8;}};if(_0x562653['xVNKM'](_0x3d8868,null)||_0x3d8868===undefined||_0x3d8868==='')return null;const _0x379186=String(_0x3d8868)['trim']();if(_0x3ebc11['has'](_0x379186))return _0x3ebc11['get'](_0x379186);const _0x2019b1=_0x379186[_0x584ce6(0x129)]();if(_0x3ebc11[_0x584ce6(0x114)](_0x2019b1))return _0x3ebc11[_0x584ce6(0x125)](_0x2019b1);return null;}async['processLookupFields'](_0x201ed2,_0x439264){const _0x47e42a=a0_0x16552a,_0x345dd7={'uqwYT':function(_0x4720e2,_0x36c38e){return _0x4720e2===_0x36c38e;},'LXzbT':function(_0xd50537,_0x14693f){return _0xd50537===_0x14693f;},'GLuoR':function(_0x355b5f,_0x6c18c3){return _0x355b5f!==_0x6c18c3;}};if(!_0x439264||Object[_0x47e42a(0x117)](_0x439264)[_0x47e42a(0x12b)]===0x0)return{'processedRows':_0x201ed2,'errors':[]};const _0x3fa6a1=[],_0x5ca834=new Map();for(const [_0x5d566c,_0x3e94e4]of Object['entries'](_0x439264)){const {lookupTable:_0x4c3b13,lookupColumn:_0x4d171c,lookupIdColumn:_0x1cc5a4}=_0x3e94e4,_0x5c95bf=_0x4c3b13+':'+_0x4d171c+':'+_0x1cc5a4;if(!_0x5ca834[_0x47e42a(0x114)](_0x5c95bf)){const _0x415ac0=await this['loadLookupTable'](_0x4c3b13,_0x4d171c,_0x1cc5a4);_0x5ca834[_0x47e42a(0x11e)](_0x5c95bf,_0x415ac0);}}const _0x564759=_0x201ed2[_0x47e42a(0x12d)]((_0x53ed71,_0x46a7e7)=>{const _0x6efe0=_0x47e42a,_0x524906={..._0x53ed71};for(const [_0x4abef0,_0x315a7f]of Object['entries'](_0x439264)){const {lookupTable:_0x48db42,lookupColumn:_0x2edcdf,lookupIdColumn:_0x1b662a,targetField:_0x3074eb,required:_0x49fcbb}=_0x315a7f,_0x4ead10=_0x48db42+':'+_0x2edcdf+':'+_0x1b662a,_0x1ace97=_0x5ca834['get'](_0x4ead10),_0x33aaf5=_0x53ed71[_0x4abef0];if((_0x345dd7[_0x6efe0(0x10a)](_0x33aaf5,null)||_0x33aaf5===undefined||_0x345dd7['LXzbT'](_0x33aaf5,''))&&!_0x49fcbb){_0x524906[_0x3074eb]=null;continue;}const _0x54da2e=this[_0x6efe0(0x12a)](_0x33aaf5,_0x1ace97);_0x345dd7['GLuoR'](_0x54da2e,null)?_0x524906[_0x3074eb]=_0x54da2e:(_0x49fcbb&&_0x3fa6a1['push']({'rowIndex':_0x46a7e7,'field':_0x4abef0,'value':_0x33aaf5,'targetField':_0x3074eb,'lookupTable':_0x48db42,'message':_0x6efe0(0x132)+_0x33aaf5+'\x22\x20not\x20found\x20in\x20'+_0x48db42}),_0x524906[_0x3074eb]=null);}return _0x524906;});return logger[_0x47e42a(0x11a)]({'event':'lookup_fields_processed','totalRows':_0x201ed2[_0x47e42a(0x12b)],'errorCount':_0x3fa6a1[_0x47e42a(0x12b)],'lookupFieldCount':Object[_0x47e42a(0x117)](_0x439264)[_0x47e42a(0x12b)]},'Lookup\x20fields\x20processed'),{'processedRows':_0x564759,'errors':_0x3fa6a1};}['getDistinctValues'](_0x2018db,_0x452feb){const _0x40589a=a0_0x16552a,_0x4e2307={'wPgwb':function(_0x210f65,_0x1fc42a){return _0x210f65!==_0x1fc42a;}},_0x501634=new Set();return _0x2018db['forEach'](_0x4b2e7a=>{const _0xf7e3a4=a0_0x489f,_0x1b044c=_0x4b2e7a[_0x452feb];_0x1b044c!==null&&_0x4e2307[_0xf7e3a4(0x133)](_0x1b044c,undefined)&&_0x1b044c!==''&&_0x501634['add'](String(_0x1b044c)['trim']());}),Array[_0x40589a(0x107)](_0x501634);}async[a0_0x16552a(0x12c)](_0x48d52f,_0x34d97b){const _0x3443da=a0_0x16552a,_0x4682f4={'AWTWw':function(_0x3ba114,_0x455337){return _0x3ba114!==_0x455337;},'MTaez':function(_0xaae5bc,_0x4ba225){return _0xaae5bc===_0x4ba225;},'qeZso':function(_0x219484,_0x2b0963){return _0x219484>_0x2b0963;}};if(!_0x34d97b||_0x4682f4['MTaez'](Object['keys'](_0x34d97b)[_0x3443da(0x12b)],0x0))return{'valid':!![],'errors':[],'suggestions':{}};const _0x1fd595=[],_0x590d68={};for(const [_0x413777,_0x2f665b]of Object[_0x3443da(0x122)](_0x34d97b)){const {lookupTable:_0x64829c,lookupColumn:_0x222cf5,lookupIdColumn:_0x5a74e3,required:_0x228d67}=_0x2f665b,_0x1577a4=this['getDistinctValues'](_0x48d52f,_0x413777),_0x20c968=await this['loadLookupTable'](_0x64829c,_0x222cf5,_0x5a74e3),_0x2b94b3=[],_0x4917e7=[];_0x1577a4[_0x3443da(0x105)](_0x385f18=>{const _0x275e6b=_0x3443da,_0x5c4cd2=this['resolveLookupValue'](_0x385f18,_0x20c968);_0x4682f4['AWTWw'](_0x5c4cd2,null)?_0x4917e7['push'](_0x385f18):_0x2b94b3[_0x275e6b(0x126)](_0x385f18);});if(_0x4682f4['qeZso'](_0x2b94b3['length'],0x0)&&_0x228d67){_0x1fd595[_0x3443da(0x126)]({'field':_0x413777,'lookupTable':_0x64829c,'invalidValues':_0x2b94b3,'message':_0x2b94b3['length']+_0x3443da(0x11c)+_0x64829c});const _0x5c784f=[];_0x20c968[_0x3443da(0x105)]((_0x37921c,_0x3f07ea)=>{const _0x275778=_0x3443da;if(_0x3f07ea===_0x3f07ea[_0x275778(0x129)]())return;_0x5c784f[_0x275778(0x126)](_0x3f07ea);}),_0x590d68[_0x413777]={'invalidValues':_0x2b94b3,'availableValues':_0x5c784f['slice'](0x0,0x32)};}}return{'valid':_0x1fd595[_0x3443da(0x12b)]===0x0,'errors':_0x1fd595,'suggestions':_0x590d68};}}module[a0_0x16552a(0x10c)]=new LookupResolver();
@@ -1 +1 @@
1
- const a0_0x5d7744=a0_0x24a9;(function(_0x337153,_0xa9e645){const _0x451b78=a0_0x24a9,_0x3c0c51=_0x337153();while(!![]){try{const _0x5eacd6=-parseInt(_0x451b78(0x17f))/0x1+-parseInt(_0x451b78(0x18a))/0x2+-parseInt(_0x451b78(0x16b))/0x3+-parseInt(_0x451b78(0x174))/0x4+-parseInt(_0x451b78(0x167))/0x5*(parseInt(_0x451b78(0x178))/0x6)+-parseInt(_0x451b78(0x18e))/0x7+-parseInt(_0x451b78(0x172))/0x8*(-parseInt(_0x451b78(0x175))/0x9);if(_0x5eacd6===_0xa9e645)break;else _0x3c0c51['push'](_0x3c0c51['shift']());}catch(_0x7d1ef2){_0x3c0c51['push'](_0x3c0c51['shift']());}}}(a0_0x7775,0x3f8ce));const fs=require('fs')['promises'],path=require(a0_0x5d7744(0x185)),{logger}=require(a0_0x5d7744(0x189));class PayloadLoader{constructor(){const _0x3b2c43=a0_0x5d7744;this[_0x3b2c43(0x181)]=path[_0x3b2c43(0x184)](__dirname,'../../payload'),this[_0x3b2c43(0x16d)]=new Map();}async[a0_0x5d7744(0x183)](_0x490033,_0x64a773){const _0x27e7a6=a0_0x5d7744,_0x341697={'YSItL':'utf8','QrBfH':_0x27e7a6(0x169)},_0x19365d=_0x490033+':'+_0x64a773;if(this['cache'][_0x27e7a6(0x173)](_0x19365d))return this['cache']['get'](_0x19365d);const _0x5c10f6=path['join'](this[_0x27e7a6(0x181)],_0x490033+'_'+_0x64a773+'.json');try{const _0xc92eae=await fs['readFile'](_0x5c10f6,_0x341697['YSItL']),_0x7e30d7=JSON['parse'](_0xc92eae);return this[_0x27e7a6(0x16d)]['set'](_0x19365d,_0x7e30d7),logger['debug']({'event':_0x27e7a6(0x18d),'project':_0x490033,'resource':_0x64a773},'Payload\x20loaded\x20successfully'),_0x7e30d7;}catch(_0x25ed95){logger[_0x27e7a6(0x17e)]({'event':_0x341697[_0x27e7a6(0x18b)],'project':_0x490033,'resource':_0x64a773,'error':_0x25ed95['message']},_0x27e7a6(0x179));throw new Error(_0x27e7a6(0x17c)+_0x490033+'_'+_0x64a773);}}async[a0_0x5d7744(0x18c)](_0x2fbfa8){const _0x40c719=a0_0x5d7744,_0x343415={'khVWo':_0x40c719(0x17d)},_0x395c84=_0x40c719(0x180)+_0x2fbfa8;if(this['cache'][_0x40c719(0x173)](_0x395c84))return this[_0x40c719(0x16d)]['get'](_0x395c84);const _0x5ce545=path[_0x40c719(0x184)](this[_0x40c719(0x181)],_0x2fbfa8+_0x40c719(0x170));try{const _0x373cea=await fs['readFile'](_0x5ce545,'utf8'),_0x52d981=JSON[_0x40c719(0x171)](_0x373cea);return this['cache'][_0x40c719(0x168)](_0x395c84,_0x52d981),logger['debug']({'event':_0x40c719(0x18d),'payloadName':_0x2fbfa8},_0x343415[_0x40c719(0x16f)]),_0x52d981;}catch(_0x679a65){logger[_0x40c719(0x17e)]({'event':_0x40c719(0x169),'payloadName':_0x2fbfa8,'error':_0x679a65['message']},'Failed\x20to\x20load\x20payload\x20by\x20name');throw new Error(_0x40c719(0x17c)+_0x2fbfa8);}}['isActionEnabled'](_0x414d35,_0x4e90a3){const _0x221fe5=a0_0x5d7744,_0x38d529={'MAUhm':function(_0x5b10bd,_0x3adfab){return _0x5b10bd===_0x3adfab;}};return _0x414d35['action']&&_0x38d529[_0x221fe5(0x188)](_0x414d35['action'][_0x4e90a3],!![]);}[a0_0x5d7744(0x186)](_0x2ed5e0){const _0xe7c6ab=a0_0x5d7744;return{'columns':_0x2ed5e0[_0xe7c6ab(0x16e)]||[],'filename':_0x2ed5e0['tableName'][_0xe7c6ab(0x176)]('.','-')+'-export','datatablesQuery':_0x2ed5e0[_0xe7c6ab(0x16c)]||null,'columnFormats':_0x2ed5e0[_0xe7c6ab(0x187)]||null,'fieldLabels':_0x2ed5e0['fieldLabels']||null};}[a0_0x5d7744(0x17b)](){const _0x6a2f11=a0_0x5d7744,_0x5afa8b={'exDHN':_0x6a2f11(0x17a)};this['cache']['clear'](),logger['info']({'event':_0x5afa8b[_0x6a2f11(0x16a)]},_0x6a2f11(0x177));}}function a0_0x24a9(_0x1a9c23,_0xb53871){_0x1a9c23=_0x1a9c23-0x167;const _0x7775fb=a0_0x7775();let _0x24a957=_0x7775fb[_0x1a9c23];if(a0_0x24a9['yZACgY']===undefined){var _0x4aa39f=function(_0x2e2559){const _0x26e461='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3219a9='',_0x43ceb6='';for(let _0x14d2fd=0x0,_0x1ebfaf,_0x5d8efe,_0x19f763=0x0;_0x5d8efe=_0x2e2559['charAt'](_0x19f763++);~_0x5d8efe&&(_0x1ebfaf=_0x14d2fd%0x4?_0x1ebfaf*0x40+_0x5d8efe:_0x5d8efe,_0x14d2fd++%0x4)?_0x3219a9+=String['fromCharCode'](0xff&_0x1ebfaf>>(-0x2*_0x14d2fd&0x6)):0x0){_0x5d8efe=_0x26e461['indexOf'](_0x5d8efe);}for(let _0x2af2f7=0x0,_0x4f2035=_0x3219a9['length'];_0x2af2f7<_0x4f2035;_0x2af2f7++){_0x43ceb6+='%'+('00'+_0x3219a9['charCodeAt'](_0x2af2f7)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x43ceb6);};a0_0x24a9['IIAoGN']=_0x4aa39f,a0_0x24a9['QgECbh']={},a0_0x24a9['yZACgY']=!![];}const _0x1139e4=_0x7775fb[0x0],_0xa6cfff=_0x1a9c23+_0x1139e4,_0x109137=a0_0x24a9['QgECbh'][_0xa6cfff];return!_0x109137?(_0x24a957=a0_0x24a9['IIAoGN'](_0x24a957),a0_0x24a9['QgECbh'][_0xa6cfff]=_0x24a957):_0x24a957=_0x109137,_0x24a957;}module[a0_0x5d7744(0x182)]=new PayloadLoader();function a0_0x7775(){const _0x3016da=['tufvAg0','lI9SB2DNzxi','mtK1nJGWBKjft3Hw','uxjczKG','Bg9HzfbHEwXVywrcEu5HBwu','Cgf5Bg9Hzf9SB2fKzwq','mtqYmJC2nhfSwhjmsG','nwTgs1LMzG','C2v0','Cgf5Bg9Hzf9SB2fKx2vYCM9Y','zxHese4','mti5mZeYnM9LBwrkva','zgf0yxrHyMXLC1f1zxj5','y2fJAgu','zMLLBgroyw1L','A2Hwv28','lMPZB24','CgfYC2u','mJK2EgnLuMHR','AgfZ','mtaZmdyYnhznzhHVuq','ndq5odaYBLPZz0zS','CMvWBgfJzq','ugf5Bg9HzcbJywnOzsbJBgvHCMvK','mtu1otyYmMPKCenzBG','rMfPBgvKihrVigXVywqGCgf5Bg9Hza','Cgf5Bg9Hzf9JywnOzv9JBgvHCMvK','y2XLyxjdywnOzq','ugf5Bg9HzcbUB3qGzM91BMq6ia','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5igj5ig5HBwu','zxjYB3i','mZm5mtu3u2vvAxne','Cgf5Bg9HzdO','Cgf5Bg9HzerPCG','zxHWB3j0CW','Bg9HzfbHEwXVywq','AM9PBG','Cgf0Aa','z2v0rxHWB3j0q29UzMLN','y29SDw1UrM9YBwf0CW'];a0_0x7775=function(){return _0x3016da;};return a0_0x7775();}
1
+ const a0_0x271aae=a0_0x493b;(function(_0x12bc0a,_0x4bdfa1){const _0x39b4c1=a0_0x493b,_0x537f6f=_0x12bc0a();while(!![]){try{const _0x53d71f=-parseInt(_0x39b4c1(0x14b))/0x1*(-parseInt(_0x39b4c1(0x158))/0x2)+parseInt(_0x39b4c1(0x15f))/0x3+parseInt(_0x39b4c1(0x14d))/0x4*(parseInt(_0x39b4c1(0x147))/0x5)+parseInt(_0x39b4c1(0x143))/0x6*(parseInt(_0x39b4c1(0x151))/0x7)+-parseInt(_0x39b4c1(0x157))/0x8+parseInt(_0x39b4c1(0x154))/0x9+-parseInt(_0x39b4c1(0x15c))/0xa;if(_0x53d71f===_0x4bdfa1)break;else _0x537f6f['push'](_0x537f6f['shift']());}catch(_0x41f11c){_0x537f6f['push'](_0x537f6f['shift']());}}}(a0_0x2268,0xd2612));function a0_0x2268(){const _0x831939=['zxHWB3j0CW','Cgf5Bg9Hzf9SB2fKzwq','zxjYB3i','nde3mZm4nJbTyKDcr1a','CMvHzezPBgu','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5','nta5nZyYmxDiz0P5rq','lMPZB24','vvf6weq','y2XLyxjdywnOzq','Cgf5Bg9HzdO','AgfZ','Cgf5Bg9HzerPCG','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5igj5ig5HBwu','nJe4CLbxq1f6','sMvVDLa','ENfrruK','z2v0','nZi1z2XUAhP1','rMfPBgvKihrVigXVywqGCgf5Bg9Hza','Cgf5Bg9Hzf9SB2fKx2vYCM9Y','CMvWBgfJzq','mtC1otDiwLf3A0y','DgfIBgvoyw1L','ndq4mZz3C0DMvNa','zMLLBgrmywjLBhm','zgf0yxrHyMXLC1f1zxj5','DxrMoa','nZq5mJHkELnzwxK','s2TUELi','y2fJAgu','ntiWnZC5nNvwvwfguq','y29SDw1UrM9YBwf0CW','zMLLBgroyw1L','oda3mdmYohDVqLv3CG','mte4u1HPELnY'];a0_0x2268=function(){return _0x831939;};return a0_0x2268();}const fs=require('fs')['promises'],path=require('path'),{logger}=require('./logger');function a0_0x493b(_0x30f442,_0x3853a7){_0x30f442=_0x30f442-0x143;const _0x22687a=a0_0x2268();let _0x493bba=_0x22687a[_0x30f442];if(a0_0x493b['nykRuq']===undefined){var _0x30a12a=function(_0x41e996){const _0x210396='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x221f08='',_0x16bb9c='';for(let _0x19a1c6=0x0,_0x208e3e,_0x1a3584,_0x1ec25b=0x0;_0x1a3584=_0x41e996['charAt'](_0x1ec25b++);~_0x1a3584&&(_0x208e3e=_0x19a1c6%0x4?_0x208e3e*0x40+_0x1a3584:_0x1a3584,_0x19a1c6++%0x4)?_0x221f08+=String['fromCharCode'](0xff&_0x208e3e>>(-0x2*_0x19a1c6&0x6)):0x0){_0x1a3584=_0x210396['indexOf'](_0x1a3584);}for(let _0x3c7dab=0x0,_0x3d0d70=_0x221f08['length'];_0x3c7dab<_0x3d0d70;_0x3c7dab++){_0x16bb9c+='%'+('00'+_0x221f08['charCodeAt'](_0x3c7dab)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x16bb9c);};a0_0x493b['mEjbiT']=_0x30a12a,a0_0x493b['mlNLHN']={},a0_0x493b['nykRuq']=!![];}const _0x23cd79=_0x22687a[0x0],_0x166ae4=_0x30f442+_0x23cd79,_0x9ac261=a0_0x493b['mlNLHN'][_0x166ae4];return!_0x9ac261?(_0x493bba=a0_0x493b['mEjbiT'](_0x493bba),a0_0x493b['mlNLHN'][_0x166ae4]=_0x493bba):_0x493bba=_0x9ac261,_0x493bba;}class PayloadLoader{constructor(){const _0x28f553=a0_0x493b,_0x4bad4e={'JeovP':'../../payload'};this['payloadDir']=path['join'](__dirname,_0x4bad4e[_0x28f553(0x144)]),this[_0x28f553(0x153)]=new Map();}async['loadPayload'](_0x31c201,_0x1da49e){const _0x1aaefc=a0_0x493b,_0xe73ca0={'JKfbk':'utf8','zqQEI':_0x1aaefc(0x15a),'esVhC':_0x1aaefc(0x15e),'nxgQo':'payload_load_error','pytBb':_0x1aaefc(0x148)},_0x540947=_0x31c201+':'+_0x1da49e;if(this[_0x1aaefc(0x153)][_0x1aaefc(0x164)](_0x540947))return this['cache']['get'](_0x540947);const _0x1343c8=path['join'](this['payloadDir'],_0x31c201+'_'+_0x1da49e+_0x1aaefc(0x160));try{const _0x146383=await fs[_0x1aaefc(0x15d)](_0x1343c8,_0xe73ca0['JKfbk']),_0x5bfa76=JSON['parse'](_0x146383);return this[_0x1aaefc(0x153)]['set'](_0x540947,_0x5bfa76),logger['debug']({'event':_0xe73ca0[_0x1aaefc(0x145)],'project':_0x31c201,'resource':_0x1da49e},_0xe73ca0['esVhC']),_0x5bfa76;}catch(_0x3e6dba){logger[_0x1aaefc(0x15b)]({'event':_0xe73ca0['nxgQo'],'project':_0x31c201,'resource':_0x1da49e,'error':_0x3e6dba['message']},_0xe73ca0['pytBb']);throw new Error('Payload\x20not\x20found:\x20'+_0x31c201+'_'+_0x1da49e);}}async['loadPayloadByName'](_0x4c3ebc){const _0x167a40=a0_0x493b,_0x408769={'zKFgT':_0x167a40(0x15a),'KknzR':_0x167a40(0x166),'UQzXD':'Failed\x20to\x20load\x20payload\x20by\x20name'},_0x2f20b5=_0x167a40(0x163)+_0x4c3ebc;if(this[_0x167a40(0x153)][_0x167a40(0x164)](_0x2f20b5))return this[_0x167a40(0x153)][_0x167a40(0x146)](_0x2f20b5);const _0x407c0f=path['join'](this[_0x167a40(0x165)],_0x4c3ebc+'.json');try{const _0x88954c=await fs[_0x167a40(0x15d)](_0x407c0f,_0x167a40(0x150)),_0x161678=JSON['parse'](_0x88954c);return this['cache']['set'](_0x2f20b5,_0x161678),logger['debug']({'event':_0x408769['zKFgT'],'payloadName':_0x4c3ebc},_0x408769[_0x167a40(0x152)]),_0x161678;}catch(_0x1d84dc){logger[_0x167a40(0x15b)]({'event':_0x167a40(0x149),'payloadName':_0x4c3ebc,'error':_0x1d84dc['message']},_0x408769[_0x167a40(0x161)]);throw new Error('Payload\x20not\x20found:\x20'+_0x4c3ebc);}}['isActionEnabled'](_0x9844c6,_0xc5f7dd){return _0x9844c6['action']&&_0x9844c6['action'][_0xc5f7dd]===!![];}['getExportConfig'](_0x1b1773){const _0x2ef5dc=a0_0x493b;return{'columns':_0x1b1773[_0x2ef5dc(0x156)]||[],'filename':_0x1b1773[_0x2ef5dc(0x14c)][_0x2ef5dc(0x14a)]('.','-')+'-export','datatablesQuery':_0x1b1773[_0x2ef5dc(0x14f)]||null,'columnFormats':_0x1b1773[_0x2ef5dc(0x155)]||null,'fieldLabels':_0x1b1773[_0x2ef5dc(0x14e)]||null};}[a0_0x271aae(0x162)](){const _0x59b972=a0_0x271aae;this[_0x59b972(0x153)]['clear'](),logger['info']({'event':'payload_cache_cleared'},'Payload\x20cache\x20cleared');}}module[a0_0x271aae(0x159)]=new PayloadLoader();
@@ -1 +1 @@
1
- 'use strict';(function(_0x7c4045,_0x24e812){var _0x4afb79=a0_0x4b9d,_0x1a4d5c=_0x7c4045();while(!![]){try{var _0x4a3f93=-parseInt(_0x4afb79(0x88))/0x1+parseInt(_0x4afb79(0x83))/0x2*(parseInt(_0x4afb79(0x8a))/0x3)+parseInt(_0x4afb79(0x82))/0x4*(parseInt(_0x4afb79(0x84))/0x5)+-parseInt(_0x4afb79(0x89))/0x6*(-parseInt(_0x4afb79(0x86))/0x7)+parseInt(_0x4afb79(0x80))/0x8+-parseInt(_0x4afb79(0x85))/0x9+-parseInt(_0x4afb79(0x81))/0xa*(-parseInt(_0x4afb79(0x8b))/0xb);if(_0x4a3f93===_0x24e812)break;else _0x1a4d5c['push'](_0x1a4d5c['shift']());}catch(_0x1ea403){_0x1a4d5c['push'](_0x1a4d5c['shift']());}}}(a0_0xdb34,0x3872e));function a0_0x4b9d(_0x3ec2f3,_0x1d9778){_0x3ec2f3=_0x3ec2f3-0x80;var _0xdb3456=a0_0xdb34();var _0x4b9dbe=_0xdb3456[_0x3ec2f3];if(a0_0x4b9d['BdDBsj']===undefined){var _0x313145=function(_0x41ca39){var _0x3331f5='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0xff786f='',_0x39f958='';for(var _0x52f249=0x0,_0x592149,_0x512f0b,_0x23a8dc=0x0;_0x512f0b=_0x41ca39['charAt'](_0x23a8dc++);~_0x512f0b&&(_0x592149=_0x52f249%0x4?_0x592149*0x40+_0x512f0b:_0x512f0b,_0x52f249++%0x4)?_0xff786f+=String['fromCharCode'](0xff&_0x592149>>(-0x2*_0x52f249&0x6)):0x0){_0x512f0b=_0x3331f5['indexOf'](_0x512f0b);}for(var _0x304297=0x0,_0x3d63b4=_0xff786f['length'];_0x304297<_0x3d63b4;_0x304297++){_0x39f958+='%'+('00'+_0xff786f['charCodeAt'](_0x304297)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x39f958);};a0_0x4b9d['kTQIxC']=_0x313145,a0_0x4b9d['YEJorR']={},a0_0x4b9d['BdDBsj']=!![];}var _0x2e24b=_0xdb3456[0x0],_0x58a022=_0x3ec2f3+_0x2e24b,_0x1d88aa=a0_0x4b9d['YEJorR'][_0x58a022];return!_0x1d88aa?(_0x4b9dbe=a0_0x4b9d['kTQIxC'](_0x4b9dbe),a0_0x4b9d['YEJorR'][_0x58a022]=_0x4b9dbe):_0x4b9dbe=_0x1d88aa,_0x4b9dbe;}function createResponse(_0x19f2b7,_0x297dc2,_0x314b7b=null){var _0x15edee=a0_0x4b9d;return{'success':!![],'statusCode':_0x19f2b7,'message':_0x297dc2,'data':_0x314b7b,'timestamp':new Date()[_0x15edee(0x87)]()};}function createError(_0x66232c,_0x7eab1e,_0x362fd9=null){var _0x4da401=a0_0x4b9d;return{'success':![],'statusCode':_0x66232c,'message':_0x7eab1e,'data':_0x362fd9,'timestamp':new Date()[_0x4da401(0x87)]()};}function createValidationError(_0x57ebad,_0x163c00){var _0x397169=a0_0x4b9d;return{'success':![],'statusCode':0x190,'message':_0x57ebad,'data':{'errors':_0x163c00},'timestamp':new Date()[_0x397169(0x87)]()};}module['exports']={'createResponse':createResponse,'createError':createError,'createValidationError':createValidationError};function a0_0xdb34(){var _0x390aa9=['mtaYmdK4nhfjDKvTBG','mZa4mZmWANzSDNf2','mtmXmJC2A1Lvr1zp','mty1nJe0BMH4zuXN','mtvVBeHzBvy','mtmXodu0nujHt3rqvG','n2LUs3bIzG','Dg9ju09tDhjPBMC','nZy5nZrpugDfAgK','nJG5odm4EK9pq0jx','m0rJwxLkvq','mtf4ufzAzNm'];a0_0xdb34=function(){return _0x390aa9;};return a0_0xdb34();}
1
+ 'use strict';(function(_0x227e86,_0xc390f9){var _0x2b0ca3=a0_0x340e,_0xdd1515=_0x227e86();while(!![]){try{var _0x228ed3=-parseInt(_0x2b0ca3(0xdb))/0x1*(-parseInt(_0x2b0ca3(0xd7))/0x2)+parseInt(_0x2b0ca3(0xdc))/0x3*(-parseInt(_0x2b0ca3(0xd8))/0x4)+parseInt(_0x2b0ca3(0xda))/0x5*(parseInt(_0x2b0ca3(0xd9))/0x6)+-parseInt(_0x2b0ca3(0xe0))/0x7+parseInt(_0x2b0ca3(0xd5))/0x8*(-parseInt(_0x2b0ca3(0xd6))/0x9)+parseInt(_0x2b0ca3(0xdd))/0xa*(parseInt(_0x2b0ca3(0xdf))/0xb)+parseInt(_0x2b0ca3(0xde))/0xc;if(_0x228ed3===_0xc390f9)break;else _0xdd1515['push'](_0xdd1515['shift']());}catch(_0x5b3c5c){_0xdd1515['push'](_0xdd1515['shift']());}}}(a0_0x48db,0x529bc));function createResponse(_0xe6709e,_0x28c114,_0x5e17ec=null){var _0x3dc96e=a0_0x340e;return{'success':!![],'statusCode':_0xe6709e,'message':_0x28c114,'data':_0x5e17ec,'timestamp':new Date()[_0x3dc96e(0xd4)]()};}function a0_0x48db(){var _0x11d6bb=['mJa1ody2EMjUt1bT','mtGYmdm4u2TUzNnI','mJi0t0vpvfbg','nMPjCuPKwG','mZm1odyWyKHVre1q','m0LgBujUvW','mJeXntLJq2frtMe','mJb6uNvqELq','nta2mJK4mhnSzw1dqq','mti4nJy5mKLpAKj3tG','mty3ote3ngv3r1HvBG','Dg9ju09tDhjPBMC','ohLpv1v1BG'];a0_0x48db=function(){return _0x11d6bb;};return a0_0x48db();}function createError(_0x22fdb1,_0x173d61,_0x31f37b=null){return{'success':![],'statusCode':_0x22fdb1,'message':_0x173d61,'data':_0x31f37b,'timestamp':new Date()['toISOString']()};}function createValidationError(_0x34a3c9,_0x40102a){return{'success':![],'statusCode':0x190,'message':_0x34a3c9,'data':{'errors':_0x40102a},'timestamp':new Date()['toISOString']()};}function a0_0x340e(_0x20c441,_0x333b3b){_0x20c441=_0x20c441-0xd4;var _0x48db2d=a0_0x48db();var _0x340ed1=_0x48db2d[_0x20c441];if(a0_0x340e['ymlHFR']===undefined){var _0x12be4a=function(_0x152651){var _0x5259cc='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x25a2d3='',_0x583516='';for(var _0x4511e2=0x0,_0x359874,_0x240b4a,_0x135b02=0x0;_0x240b4a=_0x152651['charAt'](_0x135b02++);~_0x240b4a&&(_0x359874=_0x4511e2%0x4?_0x359874*0x40+_0x240b4a:_0x240b4a,_0x4511e2++%0x4)?_0x25a2d3+=String['fromCharCode'](0xff&_0x359874>>(-0x2*_0x4511e2&0x6)):0x0){_0x240b4a=_0x5259cc['indexOf'](_0x240b4a);}for(var _0x127baa=0x0,_0x1df8d9=_0x25a2d3['length'];_0x127baa<_0x1df8d9;_0x127baa++){_0x583516+='%'+('00'+_0x25a2d3['charCodeAt'](_0x127baa)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x583516);};a0_0x340e['ZHYneE']=_0x12be4a,a0_0x340e['demUWy']={},a0_0x340e['ymlHFR']=!![];}var _0x5f087a=_0x48db2d[0x0],_0x304811=_0x20c441+_0x5f087a,_0x7affb9=a0_0x340e['demUWy'][_0x304811];return!_0x7affb9?(_0x340ed1=a0_0x340e['ZHYneE'](_0x340ed1),a0_0x340e['demUWy'][_0x304811]=_0x340ed1):_0x340ed1=_0x7affb9,_0x340ed1;}module['exports']={'createResponse':createResponse,'createError':createError,'createValidationError':createValidationError};
@@ -1 +1 @@
1
- const a0_0x4afae5=a0_0xb6d0;(function(_0x1f95ca,_0x4207d8){const _0x1d9bca=a0_0xb6d0,_0x1e60f4=_0x1f95ca();while(!![]){try{const _0x53e8ee=parseInt(_0x1d9bca(0x80))/0x1*(-parseInt(_0x1d9bca(0x74))/0x2)+parseInt(_0x1d9bca(0x79))/0x3*(parseInt(_0x1d9bca(0x87))/0x4)+-parseInt(_0x1d9bca(0xa2))/0x5+parseInt(_0x1d9bca(0x76))/0x6+parseInt(_0x1d9bca(0x9a))/0x7*(parseInt(_0x1d9bca(0x72))/0x8)+-parseInt(_0x1d9bca(0x99))/0x9*(parseInt(_0x1d9bca(0x9d))/0xa)+parseInt(_0x1d9bca(0x8a))/0xb;if(_0x53e8ee===_0x4207d8)break;else _0x1e60f4['push'](_0x1e60f4['shift']());}catch(_0x37f11a){_0x1e60f4['push'](_0x1e60f4['shift']());}}}(a0_0xcaa0,0xa3023),require('dotenv')['config']());const amqp=require(a0_0x4afae5(0x88)),{formatDate}=require('./dateHelper'),RABBITMQ_URL=process['env'][a0_0x4afae5(0x7b)],EXCHANGE=process[a0_0x4afae5(0x95)][a0_0x4afae5(0x9f)],ROUTING_KEY=process['env'][a0_0x4afae5(0x89)],QUEUE=process[a0_0x4afae5(0x95)]['RABBITMQ_QUEUE'];function a0_0xcaa0(){const _0x3f816b=['yuDqtgC','xsbsywjIAxrnusbJAgfUBMvSignYzwf0zwqGC3vJy2vZC2z1BgX5','mZy1nenJqLjyEa','otK4oxzzv0X0wG','y29UBMvJDa','zxHPDa','mty0odbuy2flq20','uxvLDwuG','uKfcqKLutvfFrvHdsefor0u','xsbfCNjVCIbJCMvHDgLUzYbYzxrYEsbXDwv1ztO','zxjYB3i','nJu5nZe1vfjpEuHw','CxvLDwu','ihDHCYbJCMvHDgvKihDPDgGGysbKAwzMzxjLBNqGEc1KzwfKlwXLDhrLCI1YB3v0Aw5NlwTLEs4','zxHWB3j0CW','mJG3mLnOuwDksW','xsbfuLjpuJOGuxvLDwuG','nMzSse5xzG','y2XVC2u','nZq5ndyWruL0ChHi','Aw5JBhvKzxm','Aw5LCxvPDMfSzw50igfYzW','mtGYndKZq0f0q3Lw','z3LHCMu','uKfcqKLutvfFvvjm','CMv0CNKTzxHJAgfUz2u','xsbszxrYEsbXDwv1zsa','yMLUzff1zxvL','tLnfrfO','mJiXnJu3AMD3qKni','zM91BMq','Bg9N','xsbfEgnOyw5Nzsa','xsbtDwnJzxnZzNvSBhKGy29UBMvJDgvKihrVifjHyMjPDe1r','xsbfCNjVCIbJCMvHDgLUzYbXDwv1zsa','xsbsywjIAxrnusbJB25Uzwn0Aw9UignSB3nLza','mtjWwMPOy2m','yw1XCgXPyG','uKfcqKLutvfFuK9vveLor19lrvK','mtq0ntm4nZLus09XsuS','y3jLyxrLq2HHBM5LBa','ignYzwf0zwq','ihDPDgGGreXy','zgLYzwn0','uwzxtwy','BwvZC2fNzq','yxnZzxj0uxvLDwu','xsbgywLSzwqGDg8Gy29UBMvJDcb0BYbsywjIAxrnutOG','zLLoCeW','y09zCK0','zw52','B1LprLq'];a0_0xcaa0=function(){return _0x3f816b;};return a0_0xcaa0();}async function createConnection(){const _0x1f7265=a0_0x4afae5,_0x492c20={'NSEDZ':function(_0x39e329,_0xf2e8e2){return _0x39e329(_0xf2e8e2);},'vrZyQ':function(_0x146119,_0x4e86ce){return _0x146119(_0x4e86ce);}};try{const _0x51f6c7=await amqp[_0x1f7265(0x9b)](RABBITMQ_URL);return console[_0x1f7265(0x82)]('['+_0x492c20[_0x1f7265(0x7f)](formatDate,new Date())+_0x1f7265(0x84)),_0x51f6c7;}catch(_0x5bcf52){console[_0x1f7265(0xa1)]('['+_0x492c20['vrZyQ'](formatDate,new Date())+_0x1f7265(0x92)+_0x5bcf52[_0x1f7265(0x90)]);throw _0x5bcf52;}}function a0_0xb6d0(_0x2111ad,_0x53d8d6){_0x2111ad=_0x2111ad-0x71;const _0xcaa0dc=a0_0xcaa0();let _0xb6d06a=_0xcaa0dc[_0x2111ad];if(a0_0xb6d0['XQJJlF']===undefined){var _0x508ff5=function(_0x33ec33){const _0x36f083='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3f7e4e='',_0xdae313='';for(let _0x2a1e9f=0x0,_0x273678,_0x208361,_0x45064b=0x0;_0x208361=_0x33ec33['charAt'](_0x45064b++);~_0x208361&&(_0x273678=_0x2a1e9f%0x4?_0x273678*0x40+_0x208361:_0x208361,_0x2a1e9f++%0x4)?_0x3f7e4e+=String['fromCharCode'](0xff&_0x273678>>(-0x2*_0x2a1e9f&0x6)):0x0){_0x208361=_0x36f083['indexOf'](_0x208361);}for(let _0x26274a=0x0,_0x212dc7=_0x3f7e4e['length'];_0x26274a<_0x212dc7;_0x26274a++){_0xdae313+='%'+('00'+_0x3f7e4e['charCodeAt'](_0x26274a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xdae313);};a0_0xb6d0['boPCgC']=_0x508ff5,a0_0xb6d0['zTiuuY']={},a0_0xb6d0['XQJJlF']=!![];}const _0x8a66a3=_0xcaa0dc[0x0],_0x3c3a72=_0x2111ad+_0x8a66a3,_0xea601f=a0_0xb6d0['zTiuuY'][_0x3c3a72];return!_0xea601f?(_0xb6d06a=a0_0xb6d0['boPCgC'](_0xb6d06a),a0_0xb6d0['zTiuuY'][_0x3c3a72]=_0xb6d06a):_0xb6d06a=_0xea601f,_0xb6d06a;}async function createChannel(_0x2262ff){const _0x1e1f3a=a0_0x4afae5,_0xcc126e={'bAOzC':function(_0x5c3894,_0x45fb58){return _0x5c3894(_0x45fb58);}};try{const _0x57bfbd=await _0x2262ff[_0x1e1f3a(0x8b)]();return console[_0x1e1f3a(0x82)]('['+_0xcc126e['bAOzC'](formatDate,new Date())+_0x1e1f3a(0x98)),_0x57bfbd;}catch(_0x4a1b3d){console['error']('['+formatDate(new Date())+']\x20Failed\x20to\x20create\x20RabbitMQ\x20channel:\x20'+_0x4a1b3d[_0x1e1f3a(0x90)]);throw _0x4a1b3d;}}async function setupInfrastructure(_0x2529d4){const _0x2ec3ec=a0_0x4afae5,_0x2c8564={'UPjID':_0x2ec3ec(0x8e),'fYNpL':function(_0x592b62,_0x2eb6b1){return _0x592b62(_0x2eb6b1);},'mmYyl':function(_0x430306,_0x2daaac){return _0x430306(_0x2daaac);},'gyare':function(_0x26bedb,_0x3c2b40){return _0x26bedb(_0x3c2b40);},'QfWMf':_0x2ec3ec(0x7c),'CqQhq':function(_0x32d815,_0x9a2f21){return _0x32d815(_0x9a2f21);},'oYOFT':function(_0x4e2dbb,_0x375328){return _0x4e2dbb(_0x375328);},'aGPLg':function(_0x227cf7,_0x548d5b){return _0x227cf7===_0x548d5b;},'lFSoU':_0x2ec3ec(0x81),'golDn':_0x2ec3ec(0x78)};try{await _0x2529d4['assertExchange'](_0x2ec3ec(0x7c),_0x2c8564['UPjID'],{'durable':!![],'autoDelete':![]}),console[_0x2ec3ec(0x82)]('['+_0x2c8564[_0x2ec3ec(0x93)](formatDate,new Date())+']\x20Retry\x20exchange\x20created/ready');}catch(_0x51398e){console['error']('['+_0x2c8564['mmYyl'](formatDate,new Date())+']\x20Error\x20creating\x20retry\x20exchange:',_0x51398e['message']);throw _0x51398e;}try{await _0x2529d4['assertExchange'](EXCHANGE,_0x2ec3ec(0x8e),{'durable':!![],'autoDelete':![]}),console[_0x2ec3ec(0x82)]('['+formatDate(new Date())+_0x2ec3ec(0x83)+EXCHANGE+'\x20created/ready');}catch(_0x20e346){console['error']('['+_0x2c8564[_0x2ec3ec(0x7a)](formatDate,new Date())+']\x20Error\x20creating\x20exchange\x20'+EXCHANGE+':',_0x20e346['message']);throw _0x20e346;}const _0x3ccc1a=ROUTING_KEY+'_retry';try{const _0x39f919={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':EXCHANGE,'x-dead-letter-routing-key':ROUTING_KEY}};await _0x2529d4['assertQueue'](_0x3ccc1a,_0x39f919),console[_0x2ec3ec(0x82)]('['+_0x2c8564['mmYyl'](formatDate,new Date())+_0x2ec3ec(0x7d)+_0x3ccc1a+'\x20created/ready'),await _0x2529d4['bindQueue'](_0x3ccc1a,_0x2c8564[_0x2ec3ec(0x8f)],ROUTING_KEY),console[_0x2ec3ec(0x82)]('['+_0x2c8564['CqQhq'](formatDate,new Date())+']\x20Retry\x20binding\x20for\x20'+ROUTING_KEY+_0x2ec3ec(0x8c));}catch(_0x37eee3){console[_0x2ec3ec(0xa1)]('['+_0x2c8564[_0x2ec3ec(0x96)](formatDate,new Date())+_0x2ec3ec(0xa0),_0x37eee3[_0x2ec3ec(0x90)]);throw _0x37eee3;}try{const _0x4e16f6={'durable':!![],'arguments':{'x-dead-letter-exchange':'retry-exchange','x-dead-letter-routing-key':ROUTING_KEY}};try{const _0x4f1de6=await _0x2529d4[_0x2ec3ec(0x91)](QUEUE,_0x4e16f6);console[_0x2ec3ec(0x82)]('['+_0x2c8564['gyare'](formatDate,new Date())+']\x20Queue\x20'+QUEUE+'\x20'+(_0x2c8564[_0x2ec3ec(0x97)](_0x4f1de6[_0x2ec3ec(0xa3)],QUEUE)?'created/ready':_0x2c8564['lFSoU'])+_0x2ec3ec(0x8d)),await _0x2529d4[_0x2ec3ec(0x7e)](QUEUE,EXCHANGE,ROUTING_KEY),console[_0x2ec3ec(0x82)]('['+_0x2c8564['gyare'](formatDate,new Date())+']\x20Binding\x20'+EXCHANGE+'\x20->\x20'+QUEUE+'\x20('+ROUTING_KEY+')\x20created');}catch(_0x2ef7ad){if(_0x2ef7ad[_0x2ec3ec(0x90)][_0x2ec3ec(0x77)]('inequivalent\x20arg')&&_0x2ef7ad[_0x2ec3ec(0x90)]['includes']('x-dead-letter-routing-key'))console[_0x2ec3ec(0xa1)]('\x0a['+_0x2c8564['mmYyl'](formatDate,new Date())+_0x2ec3ec(0x73)+QUEUE+'\x20is\x20already\x20in\x20use\x20with\x20a\x20different\x20routing\x20key.'),console['error'](_0x2ec3ec(0x9e)+QUEUE+_0x2ec3ec(0xa4)),console[_0x2ec3ec(0xa1)]('Solution:\x20Use\x20a\x20different\x20queue\x20name\x20for\x20different\x20routing\x20keys.'),process[_0x2ec3ec(0x9c)](0x1);else{console[_0x2ec3ec(0xa1)]('['+formatDate(new Date())+_0x2ec3ec(0x85)+QUEUE+':',_0x2ef7ad['message']);throw _0x2ef7ad;}}}catch(_0x3b5382){if(!_0x3b5382[_0x2ec3ec(0x90)]['includes'](_0x2c8564['golDn'])){console[_0x2ec3ec(0xa1)]('['+formatDate(new Date())+']\x20Error\x20setting\x20up\x20main\x20queue:',_0x3b5382[_0x2ec3ec(0x90)]);throw _0x3b5382;}process['exit'](0x1);}}async function closeConnection(_0x50800f){const _0x57a29c=a0_0x4afae5,_0x5f132c={'cOYrM':function(_0x1ce346,_0x5099c2){return _0x1ce346(_0x5099c2);}};if(_0x50800f)try{await _0x50800f[_0x57a29c(0x75)](),console['log']('['+_0x5f132c['cOYrM'](formatDate,new Date())+_0x57a29c(0x86));}catch(_0x165669){console['error']('['+_0x5f132c[_0x57a29c(0x94)](formatDate,new Date())+']\x20Failed\x20to\x20close\x20RabbitMQ\x20connection:\x20'+_0x165669[_0x57a29c(0x90)]);}}module[a0_0x4afae5(0x71)]={'createConnection':createConnection,'createChannel':createChannel,'setupInfrastructure':setupInfrastructure,'closeConnection':closeConnection,'getConfig':()=>({'url':RABBITMQ_URL,'exchange':EXCHANGE,'routingKey':ROUTING_KEY,'queue':QUEUE})};
1
+ function a0_0x109d(_0x314b20,_0x3625c5){_0x314b20=_0x314b20-0x198;const _0x4b4dea=a0_0x4b4d();let _0x109d54=_0x4b4dea[_0x314b20];if(a0_0x109d['XpOLTB']===undefined){var _0x1bb8c3=function(_0xfad7c1){const _0x5c5747='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4b6941='',_0x2db342='';for(let _0x3a9974=0x0,_0x37fed6,_0x2ffea1,_0xe283bc=0x0;_0x2ffea1=_0xfad7c1['charAt'](_0xe283bc++);~_0x2ffea1&&(_0x37fed6=_0x3a9974%0x4?_0x37fed6*0x40+_0x2ffea1:_0x2ffea1,_0x3a9974++%0x4)?_0x4b6941+=String['fromCharCode'](0xff&_0x37fed6>>(-0x2*_0x3a9974&0x6)):0x0){_0x2ffea1=_0x5c5747['indexOf'](_0x2ffea1);}for(let _0x39c95d=0x0,_0x4a5399=_0x4b6941['length'];_0x39c95d<_0x4a5399;_0x39c95d++){_0x2db342+='%'+('00'+_0x4b6941['charCodeAt'](_0x39c95d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2db342);};a0_0x109d['EFLYOQ']=_0x1bb8c3,a0_0x109d['CUweKI']={},a0_0x109d['XpOLTB']=!![];}const _0x46cd3c=_0x4b4dea[0x0],_0x442a0b=_0x314b20+_0x46cd3c,_0x4c98f5=a0_0x109d['CUweKI'][_0x442a0b];return!_0x4c98f5?(_0x109d54=a0_0x109d['EFLYOQ'](_0x109d54),a0_0x109d['CUweKI'][_0x442a0b]=_0x109d54):_0x109d54=_0x4c98f5,_0x109d54;}const a0_0x57dec3=a0_0x109d;(function(_0x3ef36a,_0x27f803){const _0x3b209a=a0_0x109d,_0x4a74ad=_0x3ef36a();while(!![]){try{const _0x340096=parseInt(_0x3b209a(0x1b2))/0x1*(-parseInt(_0x3b209a(0x198))/0x2)+-parseInt(_0x3b209a(0x1c5))/0x3*(parseInt(_0x3b209a(0x1a4))/0x4)+parseInt(_0x3b209a(0x1bb))/0x5*(parseInt(_0x3b209a(0x1ac))/0x6)+-parseInt(_0x3b209a(0x1b4))/0x7*(parseInt(_0x3b209a(0x1c3))/0x8)+-parseInt(_0x3b209a(0x19a))/0x9+parseInt(_0x3b209a(0x1bc))/0xa*(-parseInt(_0x3b209a(0x199))/0xb)+-parseInt(_0x3b209a(0x19c))/0xc*(-parseInt(_0x3b209a(0x1a5))/0xd);if(_0x340096===_0x27f803)break;else _0x4a74ad['push'](_0x4a74ad['shift']());}catch(_0xdfc73c){_0x4a74ad['push'](_0x4a74ad['shift']());}}}(a0_0x4b4d,0xd5142),require('dotenv')['config']());const amqp=require(a0_0x57dec3(0x1b5)),{formatDate}=require(a0_0x57dec3(0x1a9)),RABBITMQ_URL=process['env']['RABBITMQ_URL'],EXCHANGE=process[a0_0x57dec3(0x1c4)][a0_0x57dec3(0x19f)],ROUTING_KEY=process['env']['RABBITMQ_ROUTING_KEY'],QUEUE=process['env'][a0_0x57dec3(0x1a3)];async function createConnection(){const _0x537893=a0_0x57dec3,_0x5a3fb8={'jGnDG':function(_0x24399a,_0x2b5238){return _0x24399a(_0x2b5238);},'VjzFM':function(_0xa5a854,_0x11868e){return _0xa5a854(_0x11868e);}};try{const _0x13eace=await amqp['connect'](RABBITMQ_URL);return console['log']('['+_0x5a3fb8['jGnDG'](formatDate,new Date())+_0x537893(0x1bd)),_0x13eace;}catch(_0x1d8f2a){console[_0x537893(0x1ab)]('['+_0x5a3fb8['VjzFM'](formatDate,new Date())+']\x20Failed\x20to\x20connect\x20to\x20RabbitMQ:\x20'+_0x1d8f2a[_0x537893(0x1b7)]);throw _0x1d8f2a;}}async function createChannel(_0x416da8){const _0x22e7b7=a0_0x57dec3,_0x22b654={'AGjdu':function(_0x124433,_0x525084){return _0x124433(_0x525084);}};try{const _0x5df37d=await _0x416da8['createChannel']();return console[_0x22e7b7(0x1b3)]('['+formatDate(new Date())+']\x20RabbitMQ\x20channel\x20created\x20successfully'),_0x5df37d;}catch(_0x564f83){console['error']('['+_0x22b654[_0x22e7b7(0x1a6)](formatDate,new Date())+_0x22e7b7(0x1c1)+_0x564f83[_0x22e7b7(0x1b7)]);throw _0x564f83;}}async function setupInfrastructure(_0x554400){const _0x8146c6=a0_0x57dec3,_0x5c4092={'PZlTe':'direct','obqLD':function(_0x2b2df7,_0x4469c9){return _0x2b2df7(_0x4469c9);},'lUBWt':_0x8146c6(0x1b8),'nNoDB':'found','ZELKy':_0x8146c6(0x1a1)};try{await _0x554400['assertExchange']('retry-exchange',_0x5c4092['PZlTe'],{'durable':!![],'autoDelete':![]}),console['log']('['+_0x5c4092[_0x8146c6(0x1ad)](formatDate,new Date())+_0x8146c6(0x1a0));}catch(_0x230c10){console['error']('['+formatDate(new Date())+_0x8146c6(0x1ba),_0x230c10[_0x8146c6(0x1b7)]);throw _0x230c10;}try{await _0x554400['assertExchange'](EXCHANGE,_0x8146c6(0x1a2),{'durable':!![],'autoDelete':![]}),console['log']('['+formatDate(new Date())+_0x8146c6(0x1aa)+EXCHANGE+'\x20created/ready');}catch(_0x1fdc14){console['error']('['+_0x5c4092['obqLD'](formatDate,new Date())+']\x20Error\x20creating\x20exchange\x20'+EXCHANGE+':',_0x1fdc14['message']);throw _0x1fdc14;}const _0x55a646=ROUTING_KEY+'_retry';try{const _0x4754b2={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':EXCHANGE,'x-dead-letter-routing-key':ROUTING_KEY}};await _0x554400['assertQueue'](_0x55a646,_0x4754b2),console[_0x8146c6(0x1b3)]('['+formatDate(new Date())+']\x20Retry\x20queue\x20'+_0x55a646+_0x8146c6(0x1b9)),await _0x554400[_0x8146c6(0x1c2)](_0x55a646,_0x5c4092[_0x8146c6(0x1a7)],ROUTING_KEY),console[_0x8146c6(0x1b3)]('['+_0x5c4092[_0x8146c6(0x1ad)](formatDate,new Date())+']\x20Retry\x20binding\x20for\x20'+ROUTING_KEY+'\x20created');}catch(_0xcf3490){console[_0x8146c6(0x1ab)]('['+formatDate(new Date())+_0x8146c6(0x1c0),_0xcf3490['message']);throw _0xcf3490;}try{const _0x10fa3f={'durable':!![],'arguments':{'x-dead-letter-exchange':'retry-exchange','x-dead-letter-routing-key':ROUTING_KEY}};try{const _0x57ea2c=await _0x554400['assertQueue'](QUEUE,_0x10fa3f);console['log']('['+formatDate(new Date())+_0x8146c6(0x1c6)+QUEUE+'\x20'+(_0x57ea2c['queue']===QUEUE?'created/ready':_0x5c4092['nNoDB'])+'\x20with\x20DLX'),await _0x554400[_0x8146c6(0x1c2)](QUEUE,EXCHANGE,ROUTING_KEY),console['log']('['+formatDate(new Date())+_0x8146c6(0x1be)+EXCHANGE+_0x8146c6(0x1b0)+QUEUE+'\x20('+ROUTING_KEY+')\x20created');}catch(_0x6de22f){if(_0x6de22f['message'][_0x8146c6(0x19d)](_0x5c4092['ZELKy'])&&_0x6de22f['message']['includes']('x-dead-letter-routing-key'))console['error']('\x0a['+_0x5c4092['obqLD'](formatDate,new Date())+']\x20ERROR:\x20Queue\x20'+QUEUE+_0x8146c6(0x1a8)),console['error']('Queue\x20'+QUEUE+_0x8146c6(0x1b6)),console['error'](_0x8146c6(0x1bf)),process[_0x8146c6(0x19b)](0x1);else{console['error']('['+formatDate(new Date())+']\x20Error\x20creating\x20queue\x20'+QUEUE+':',_0x6de22f['message']);throw _0x6de22f;}}}catch(_0x403fa4){if(!_0x403fa4['message'][_0x8146c6(0x19d)]('inequivalent\x20arg')){console['error']('['+formatDate(new Date())+']\x20Error\x20setting\x20up\x20main\x20queue:',_0x403fa4['message']);throw _0x403fa4;}process[_0x8146c6(0x19b)](0x1);}}function a0_0x4b4d(){const _0x3cfa64=['Aw5LCxvPDMfSzw50igfYzW','zgLYzwn0','uKfcqKLutvfFuvvfvuu','mte2C0jwzw1b','odm1ovzJDfvHuG','quDQzhu','Bfvcv3q','igLZigfSCMvHzhKGAw4GDxnLihDPDgGGysbKAwzMzxjLBNqGCM91DgLUzYbRzxKU','lI9KyxrLsgvSCgvY','xsbfEgnOyw5Nzsa','zxjYB3i','nte2otzOs1DMywW','B2jXteq','EvDtsMe','zxHWB3j0CW','ic0+ia','y2XVC2u','nJa1nJGXExvWsLvS','Bg9N','nty2m1HmCxn2Cq','yw1XCgXPyG','ihDHCYbJCMvHDgvKihDPDgGGysbKAwzMzxjLBNqGEc1KzwfKlwXLDhrLCI1YB3v0Aw5NlwTLEs4','BwvZC2fNzq','CMv0CNKTzxHJAgfUz2u','ignYzwf0zwqVCMvHzhK','xsbfCNjVCIbJCMvHDgLUzYbYzxrYEsbLEgnOyw5NztO','ndCWvw1bCLnJ','mtbhCuzSwwi','xsbtDwnJzxnZzNvSBhKGy29UBMvJDgvKihrVifjHyMjPDe1r','xsbcAw5KAw5Nia','u29SDxrPB246ifvZzsbHigrPzMzLCMvUDcbXDwv1zsbUyw1LigzVCIbKAwzMzxjLBNqGCM91DgLUzYbRzxLZlG','xsbfCNjVCIbJCMvHDgLUzYbYzxrYEsbXDwv1ztO','xsbgywLSzwqGDg8Gy3jLyxrLifjHyMjPDe1rignOyw5UzwW6ia','yMLUzff1zxvL','ntq2ngLmD0LgEq','zw52','mZC1nNzRuKT2rq','xsbrDwv1zsa','mMv1ru1nuq','mta5ndKYntDOr0nSuMm','mte1ntKXodzUD2jereu','zxHPDa','nJyWmtjbt2zPyMG','Aw5JBhvKzxm','xsbgywLSzwqGDg8Gy2XVC2uGuMfIyML0tveGy29UBMvJDgLVBJOG','uKfcqKLutvfFrvHdsefor0u','xsbszxrYEsbLEgnOyw5NzsbJCMvHDgvKl3jLywr5'];a0_0x4b4d=function(){return _0x3cfa64;};return a0_0x4b4d();}async function closeConnection(_0xd87410){const _0x18346c=a0_0x57dec3,_0x432960={'yWSJa':function(_0x51f5dd,_0x3b1905){return _0x51f5dd(_0x3b1905);}};if(_0xd87410)try{await _0xd87410[_0x18346c(0x1b1)](),console['log']('['+_0x432960[_0x18346c(0x1ae)](formatDate,new Date())+']\x20RabbitMQ\x20connection\x20closed');}catch(_0x1dc733){console[_0x18346c(0x1ab)]('['+_0x432960['yWSJa'](formatDate,new Date())+_0x18346c(0x19e)+_0x1dc733[_0x18346c(0x1b7)]);}}module[a0_0x57dec3(0x1af)]={'createConnection':createConnection,'createChannel':createChannel,'setupInfrastructure':setupInfrastructure,'closeConnection':closeConnection,'getConfig':()=>({'url':RABBITMQ_URL,'exchange':EXCHANGE,'routingKey':ROUTING_KEY,'queue':QUEUE})};
@@ -1 +1 @@
1
- const a0_0x194580=a0_0x5879;function a0_0x3372(){const _0x5ca146=['rMfPBgvKihrVigLUAxrPywXPEMuGuMvKAxm','z2v0q2XPzw50','mta1mdyWCxvIs2Hp','CMvKAxnFzxjYB3i','mta4nZi2ow5hyMLysG','CgLUzW','otLRwgHyyKO','nti0ndm3nufXthrvDq','y29UBMvJDa','nhDfB3jAvq','zxHWB3j0CW','mZu4otu2mhPQq1zwrG','uMvKAxmGy29UBMvJDgLVBIbLCNjVCJOG','uMvKAxmGy29UBMvJDgvKihn1y2nLC3nMDwXSEq','zw52','ue9orW','mZu3odK4mgvuEwvYqG','zxjYB3i','AxndB25Uzwn0zwq','t2DYAu8','Aw9YzwrPCW','uKvesvnFse9tva','CMvKAxnFy29UBMvJDgvK','nZi1mZqYsKfhA09n','D2fYBG','ng1pAxnxua','mZG3mtm0m09St0rksq','lI9SB2DNzxi','BwvZC2fNzq','y2XPzw50','qw94Efa','zgLZy29UBMvJDa'];a0_0x3372=function(){return _0x5ca146;};return a0_0x3372();}(function(_0xffd52a,_0x3863b9){const _0x57365d=a0_0x5879,_0x318fc7=_0xffd52a();while(!![]){try{const _0x3288ff=parseInt(_0x57365d(0x8c))/0x1*(-parseInt(_0x57365d(0x9a))/0x2)+parseInt(_0x57365d(0x87))/0x3*(parseInt(_0x57365d(0x9c))/0x4)+-parseInt(_0x57365d(0x8a))/0x5+parseInt(_0x57365d(0x85))/0x6+-parseInt(_0x57365d(0x9d))/0x7+-parseInt(_0x57365d(0x8e))/0x8+parseInt(_0x57365d(0x89))/0x9*(parseInt(_0x57365d(0x93))/0xa);if(_0x3288ff===_0x3863b9)break;else _0x318fc7['push'](_0x318fc7['shift']());}catch(_0x32d1d4){_0x318fc7['push'](_0x318fc7['shift']());}}}(a0_0x3372,0xc7194));const Redis=require(a0_0x194580(0x97)),{logger}=require(a0_0x194580(0x9e));function a0_0x5879(_0x59942f,_0x5ca26b){_0x59942f=_0x59942f-0x80;const _0x3372d2=a0_0x3372();let _0x58795f=_0x3372d2[_0x59942f];if(a0_0x5879['TZIdjK']===undefined){var _0x2a72f2=function(_0xdc7116){const _0x2868ac='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3448e9='',_0x5d86a1='';for(let _0x22475a=0x0,_0x42dd09,_0x1fe82d,_0x40aaea=0x0;_0x1fe82d=_0xdc7116['charAt'](_0x40aaea++);~_0x1fe82d&&(_0x42dd09=_0x22475a%0x4?_0x42dd09*0x40+_0x1fe82d:_0x1fe82d,_0x22475a++%0x4)?_0x3448e9+=String['fromCharCode'](0xff&_0x42dd09>>(-0x2*_0x22475a&0x6)):0x0){_0x1fe82d=_0x2868ac['indexOf'](_0x1fe82d);}for(let _0x167689=0x0,_0x3d5513=_0x3448e9['length'];_0x167689<_0x3d5513;_0x167689++){_0x5d86a1+='%'+('00'+_0x3448e9['charCodeAt'](_0x167689)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5d86a1);};a0_0x5879['BVlfOr']=_0x2a72f2,a0_0x5879['nWRLXU']={},a0_0x5879['TZIdjK']=!![];}const _0x560b90=_0x3372d2[0x0],_0x46fa2a=_0x59942f+_0x560b90,_0x41df2e=a0_0x5879['nWRLXU'][_0x46fa2a];return!_0x41df2e?(_0x58795f=a0_0x5879['BVlfOr'](_0x58795f),a0_0x5879['nWRLXU'][_0x46fa2a]=_0x58795f):_0x58795f=_0x41df2e,_0x58795f;}class RedisClient{constructor(){this['client']=null,this['isConnected']=![];}['connect'](){const _0x40c260=a0_0x194580,_0x3c08fb={'AZCku':_0x40c260(0x99),'EogiE':_0x40c260(0x86),'AoxxP':'localhost','iuDBG':function(_0x5ebc67,_0x451eb7,_0xc4a18){return _0x5ebc67(_0x451eb7,_0xc4a18);},'AeyDB':_0x40c260(0x94),'weUsb':'close','OgriO':'redis_init_error','pGzIe':_0x40c260(0x83)};if(this['client'])return this[_0x40c260(0x80)];try{return this['client']=new Redis({'host':process[_0x40c260(0x91)][_0x40c260(0x98)]||_0x3c08fb[_0x40c260(0x81)],'port':_0x3c08fb['iuDBG'](parseInt,process['env']['REDIS_PORT'],0xa)||0x18ec,'password':process[_0x40c260(0x91)]['REDIS_PASSWORD']||undefined,'db':parseInt(process['env']['REDIS_DB'],0xa)||0x0,'retryStrategy'(_0x48d2bb){const _0x1caa78=Math['min'](_0x48d2bb*0x32,0x7d0);return _0x1caa78;}}),this[_0x40c260(0x80)]['on'](_0x40c260(0x8b),()=>{const _0x1b6b75=_0x40c260;this['isConnected']=!![],logger['info']({'event':_0x3c08fb['AZCku']},_0x1b6b75(0x90));}),this[_0x40c260(0x80)]['on'](_0x3c08fb['AeyDB'],_0x285b96=>{const _0x151cfa=_0x40c260;this[_0x151cfa(0x95)]=![],logger[_0x151cfa(0x94)]({'event':_0x3c08fb['EogiE'],'error':_0x285b96[_0x151cfa(0x9f)]},_0x151cfa(0x8f)+_0x285b96[_0x151cfa(0x9f)]);}),this['client']['on'](_0x3c08fb['weUsb'],()=>{const _0x47255d=_0x40c260;this['isConnected']=![],logger[_0x47255d(0x9b)]({'event':'redis_disconnected'},'Redis\x20connection\x20closed');}),this[_0x40c260(0x80)];}catch(_0x76255){logger['error']({'event':_0x3c08fb[_0x40c260(0x96)],'error':_0x76255['message']},_0x3c08fb['pGzIe']);throw _0x76255;}}[a0_0x194580(0x84)](){const _0x491d21=a0_0x194580;return!this[_0x491d21(0x80)]&&this[_0x491d21(0x8b)](),this[_0x491d21(0x80)];}async[a0_0x194580(0x88)](_0x2ad0b0=0x1388){const _0xee6542=a0_0x194580;try{const _0x30811f=this[_0xee6542(0x84)](),_0x2bef11=await Promise['race']([_0x30811f['ping'](),new Promise((_0x4b803f,_0x3ef936)=>setTimeout(()=>_0x3ef936(new Error('Redis\x20PING\x20timeout')),_0x2ad0b0))]);return _0x2bef11===_0xee6542(0x92);}catch(_0x298dcb){return![];}}async['disconnect'](){this['client']&&(await this['client']['quit'](),this['client']=null,this['isConnected']=![]);}['forceDisconnect'](){const _0x468cab=a0_0x194580;this['client']&&(this[_0x468cab(0x80)][_0x468cab(0x82)](),this[_0x468cab(0x80)]=null,this['isConnected']=![]);}}module[a0_0x194580(0x8d)]=new RedisClient();
1
+ const a0_0x2c2909=a0_0x379d;(function(_0x2ee6a9,_0x51d674){const _0x191a02=a0_0x379d,_0x1984f4=_0x2ee6a9();while(!![]){try{const _0x1ab8e3=parseInt(_0x191a02(0x166))/0x1*(-parseInt(_0x191a02(0x176))/0x2)+-parseInt(_0x191a02(0x177))/0x3*(-parseInt(_0x191a02(0x17c))/0x4)+-parseInt(_0x191a02(0x17d))/0x5+-parseInt(_0x191a02(0x167))/0x6+parseInt(_0x191a02(0x15f))/0x7*(parseInt(_0x191a02(0x163))/0x8)+-parseInt(_0x191a02(0x16c))/0x9*(parseInt(_0x191a02(0x171))/0xa)+parseInt(_0x191a02(0x16d))/0xb;if(_0x1ab8e3===_0x51d674)break;else _0x1984f4['push'](_0x1984f4['shift']());}catch(_0x849be8){_0x1984f4['push'](_0x1984f4['shift']());}}}(a0_0x4589,0x5e496));const Redis=require('ioredis'),{logger}=require('./logger');function a0_0x379d(_0x298d02,_0x5e33a3){_0x298d02=_0x298d02-0x15d;const _0x458911=a0_0x4589();let _0x379de8=_0x458911[_0x298d02];if(a0_0x379d['fLatWW']===undefined){var _0x4bfd37=function(_0x2f6608){const _0x44ce4e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x19733b='',_0x34dcd1='';for(let _0x5155f2=0x0,_0x4e3067,_0xa3b1a5,_0x5589a8=0x0;_0xa3b1a5=_0x2f6608['charAt'](_0x5589a8++);~_0xa3b1a5&&(_0x4e3067=_0x5155f2%0x4?_0x4e3067*0x40+_0xa3b1a5:_0xa3b1a5,_0x5155f2++%0x4)?_0x19733b+=String['fromCharCode'](0xff&_0x4e3067>>(-0x2*_0x5155f2&0x6)):0x0){_0xa3b1a5=_0x44ce4e['indexOf'](_0xa3b1a5);}for(let _0x3e5c35=0x0,_0x37081e=_0x19733b['length'];_0x3e5c35<_0x37081e;_0x3e5c35++){_0x34dcd1+='%'+('00'+_0x19733b['charCodeAt'](_0x3e5c35)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x34dcd1);};a0_0x379d['HXqecA']=_0x4bfd37,a0_0x379d['LLxyUW']={},a0_0x379d['fLatWW']=!![];}const _0x443c14=_0x458911[0x0],_0x2511df=_0x298d02+_0x443c14,_0x5cdfc8=a0_0x379d['LLxyUW'][_0x2511df];return!_0x5cdfc8?(_0x379de8=a0_0x379d['HXqecA'](_0x379de8),a0_0x379d['LLxyUW'][_0x2511df]=_0x379de8):_0x379de8=_0x5cdfc8,_0x379de8;}function a0_0x4589(){const _0x3f8989=['mtbRDLntBwG','CMfJzq','BKfvCxa','zw52','uKvesvnFue9sva','mtq2mtrqvvruvw8','nJnxvxjSCg8','BLvbyui','CMvKAxnFy29UBMvJDgvK','uKvesvnFueftu1DpuKq','CMvKAxnFAw5PDf9LCNjVCG','nJCXndHhqwj1BgG','mtmZmdq1BfDvqMXv','BwvZC2fNzq','CMvKAxnFzgLZy29UBMvJDgvK','mJe3odGYrxrnv2vl','AKrNq1m','CgLUzW','Aw5MBW','ndb1EgLpDeC','y29UBMvJDa','Afjdt2S','ndfPqLvnC2S','mZC1ntG2mKXezK9TvW','uMvKAxmGueLorYb0Aw1LB3v0','zxjYB3i','y2XPzw50','CxvPDa','mZu2ntu1n1bSB0DvvW','mtm0otaYntDVseHODey','uKvesvnFse9tva','DgDTA1G','ue9orW'];a0_0x4589=function(){return _0x3f8989;};return a0_0x4589();}class RedisClient{constructor(){this['client']=null,this['isConnected']=![];}[a0_0x2c2909(0x164)](){const _0x2d252d=a0_0x2c2909,_0x3f9281={'nUAaB':function(_0xa2364d,_0x40c042){return _0xa2364d*_0x40c042;},'hRCOk':'Redis\x20connected\x20successfully','fofQh':_0x2d252d(0x15e),'jDgCS':'Redis\x20connection\x20closed','tgmkX':'close','nAUqp':_0x2d252d(0x17b)};if(this[_0x2d252d(0x16a)])return this['client'];try{return this[_0x2d252d(0x16a)]=new Redis({'host':process[_0x2d252d(0x174)][_0x2d252d(0x16e)]||'localhost','port':parseInt(process['env'][_0x2d252d(0x175)],0xa)||0x18ec,'password':process['env'][_0x2d252d(0x17a)]||undefined,'db':parseInt(process[_0x2d252d(0x174)]['REDIS_DB'],0xa)||0x0,'retryStrategy'(_0x461eae){const _0x393ac4=_0x2d252d,_0x57b0d6=Math['min'](_0x3f9281[_0x393ac4(0x178)](_0x461eae,0x32),0x7d0);return _0x57b0d6;}}),this['client']['on']('connect',()=>{const _0x216305=_0x2d252d;this['isConnected']=!![],logger[_0x216305(0x162)]({'event':_0x216305(0x179)},_0x3f9281[_0x216305(0x165)]);}),this['client']['on']('error',_0x4abeec=>{const _0x223a18=_0x2d252d;this['isConnected']=![],logger['error']({'event':'redis_error','error':_0x4abeec[_0x223a18(0x15d)]},'Redis\x20connection\x20error:\x20'+_0x4abeec[_0x223a18(0x15d)]);}),this[_0x2d252d(0x16a)]['on'](_0x3f9281[_0x2d252d(0x16f)],()=>{const _0x29e383=_0x2d252d;this['isConnected']=![],logger['warn']({'event':_0x3f9281['fofQh']},_0x3f9281[_0x29e383(0x160)]);}),this['client'];}catch(_0x712435){logger[_0x2d252d(0x169)]({'event':_0x3f9281[_0x2d252d(0x173)],'error':_0x712435[_0x2d252d(0x15d)]},'Failed\x20to\x20initialize\x20Redis');throw _0x712435;}}['getClient'](){const _0x5c75aa=a0_0x2c2909;return!this['client']&&this['connect'](),this[_0x5c75aa(0x16a)];}async[a0_0x2c2909(0x161)](_0x3d45fc=0x1388){const _0x3f0c8a=a0_0x2c2909;try{const _0x49ab8b=this['getClient'](),_0x7179d0=await Promise[_0x3f0c8a(0x172)]([_0x49ab8b['ping'](),new Promise((_0x2ce24a,_0xabca93)=>setTimeout(()=>_0xabca93(new Error(_0x3f0c8a(0x168))),_0x3d45fc))]);return _0x7179d0===_0x3f0c8a(0x170);}catch(_0x8a5bd2){return![];}}async['disconnect'](){const _0x59ff3c=a0_0x2c2909;this['client']&&(await this[_0x59ff3c(0x16a)][_0x59ff3c(0x16b)](),this[_0x59ff3c(0x16a)]=null,this['isConnected']=![]);}['forceDisconnect'](){const _0x35defd=a0_0x2c2909;this[_0x35defd(0x16a)]&&(this[_0x35defd(0x16a)]['disconnect'](),this[_0x35defd(0x16a)]=null,this['isConnected']=![]);}}module['exports']=new RedisClient();
@@ -1 +1 @@
1
- const a0_0x13ddff=a0_0x45ed;function a0_0xe4df(){const _0x393028=['z2v0qwXSsM9ICW','DeLJyue','C3rYAw5NAwz5','zxDmAeC','uffmDxy','mJGYndm4AKndzgDt','odiYotm0ohLms1j1zG','odi0nJzduMLyzw0','zgvSzxrLsM9I','mJa4nJeXnuzPseTIvG','oe5gBuT3tW','zgvS','z2v0','mNvdD1nUtG','ChvZAa','zgvMyxvSDa','BwvZC2fNzq','n1DxB1zfva','z2v0q2XPzw50','nfbJBerZwq','oMv4Cg9YDdO','x3bYzwzPEa','CMvKAxnFz2v0ywXSx2vYCM9Y','lI9YzwrPCY1JBgLLBNq','ndq5odC1ohbAyvnIvG','CMvKAxnFzgvSzxrLx2vYCM9Y','CgfYC2u','mtGZnJKZmgLzwxbwDG','mtqXmZC2ngz1z1nwvq','EKX1D0m','mtb4qvr0yKC'];a0_0xe4df=function(){return _0x393028;};return a0_0xe4df();}(function(_0x464c42,_0xaa9051){const _0x1c1f03=a0_0x45ed,_0x458051=_0x464c42();while(!![]){try{const _0x2c2395=parseInt(_0x1c1f03(0x152))/0x1+-parseInt(_0x1c1f03(0x139))/0x2*(parseInt(_0x1c1f03(0x150))/0x3)+parseInt(_0x1c1f03(0x13f))/0x4*(parseInt(_0x1c1f03(0x154))/0x5)+-parseInt(_0x1c1f03(0x147))/0x6*(parseInt(_0x1c1f03(0x13d))/0x7)+-parseInt(_0x1c1f03(0x136))/0x8*(parseInt(_0x1c1f03(0x144))/0x9)+-parseInt(_0x1c1f03(0x14a))/0xa*(-parseInt(_0x1c1f03(0x148))/0xb)+parseInt(_0x1c1f03(0x151))/0xc;if(_0x2c2395===_0xaa9051)break;else _0x458051['push'](_0x458051['shift']());}catch(_0x2fe89f){_0x458051['push'](_0x458051['shift']());}}}(a0_0xe4df,0x65085));const redisClient=require(a0_0x13ddff(0x143)),{logger}=require('./logger');function a0_0x45ed(_0x3fcbb0,_0x494a52){_0x3fcbb0=_0x3fcbb0-0x136;const _0xe4dfbe=a0_0xe4df();let _0x45edd3=_0xe4dfbe[_0x3fcbb0];if(a0_0x45ed['pjEJlZ']===undefined){var _0x4d3c4e=function(_0x5eeae2){const _0x237e91='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4b9ced='',_0x5486a8='';for(let _0x4bb6ed=0x0,_0x168ded,_0x1c7766,_0x4d9d13=0x0;_0x1c7766=_0x5eeae2['charAt'](_0x4d9d13++);~_0x1c7766&&(_0x168ded=_0x4bb6ed%0x4?_0x168ded*0x40+_0x1c7766:_0x1c7766,_0x4bb6ed++%0x4)?_0x4b9ced+=String['fromCharCode'](0xff&_0x168ded>>(-0x2*_0x4bb6ed&0x6)):0x0){_0x1c7766=_0x237e91['indexOf'](_0x1c7766);}for(let _0x476468=0x0,_0x362088=_0x4b9ced['length'];_0x476468<_0x362088;_0x476468++){_0x5486a8+='%'+('00'+_0x4b9ced['charCodeAt'](_0x476468)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5486a8);};a0_0x45ed['aZHwib']=_0x4d3c4e,a0_0x45ed['caAoNx']={},a0_0x45ed['pjEJlZ']=!![];}const _0x2c14c8=_0xe4dfbe[0x0],_0x1f6a7d=_0x3fcbb0+_0x2c14c8,_0x2eedd2=a0_0x45ed['caAoNx'][_0x1f6a7d];return!_0x2eedd2?(_0x45edd3=a0_0x45ed['aZHwib'](_0x45edd3),a0_0x45ed['caAoNx'][_0x1f6a7d]=_0x45edd3):_0x45edd3=_0x2eedd2,_0x45edd3;}class RedisHelper{constructor(){this['_prefix']=null,this['ttl']=parseInt(process['env']['EXPORT_FILE_EXPIRY'],0xa)||0xe10;}get['prefix'](){const _0x3a449d=a0_0x13ddff,_0x5725c3={'SYwSU':_0x3a449d(0x13b)};if(!this['_prefix']){const _0x139c79=process['env']['RESTFORGE_PROJECT_NAME']||_0x5725c3['SYwSU'];this[_0x3a449d(0x141)]='restforge:'+_0x139c79+_0x3a449d(0x140);}return this['_prefix'];}async['setJob'](_0x4367bd,_0x4a81ce){const _0x498792=a0_0x13ddff;try{const _0x4a19b0=redisClient[_0x498792(0x13e)](),_0x2828ca=''+this['prefix']+_0x4367bd;return await _0x4a19b0['setex'](_0x2828ca,this['ttl'],JSON[_0x498792(0x14d)](_0x4a81ce)),!![];}catch(_0x593040){return logger['error']({'event':'redis_set_error','jobId':_0x4367bd,'error':_0x593040[_0x498792(0x13c)]},'Failed\x20to\x20set\x20job\x20in\x20Redis'),![];}}async['getJob'](_0x5afe10){const _0x424c78=a0_0x13ddff,_0x729862={'zLuwC':'redis_get_error','ewLhG':'Failed\x20to\x20get\x20job\x20from\x20Redis'};try{const _0x383707=redisClient['getClient'](),_0x17aeac=''+this['prefix']+_0x5afe10,_0x1384c8=await _0x383707[_0x424c78(0x138)](_0x17aeac);return _0x1384c8?JSON[_0x424c78(0x146)](_0x1384c8):null;}catch(_0x2d8804){return logger['error']({'event':_0x729862[_0x424c78(0x149)],'jobId':_0x5afe10,'error':_0x2d8804['message']},_0x729862[_0x424c78(0x14e)]),null;}}async['updateJob'](_0x26d810,_0x26a1ee){const _0x1a91ba=await this['getJob'](_0x26d810);if(!_0x1a91ba)return![];const _0x356987={..._0x1a91ba,..._0x26a1ee};return await this['setJob'](_0x26d810,_0x356987);}async[a0_0x13ddff(0x153)](_0x5ca947){const _0x23af89=a0_0x13ddff,_0x394dc3={'wGdAV':_0x23af89(0x145),'PQLuv':'Failed\x20to\x20delete\x20job\x20from\x20Redis'};try{const _0x6eda8f=redisClient['getClient'](),_0x413414=''+this['prefix']+_0x5ca947;return await _0x6eda8f[_0x23af89(0x137)](_0x413414),!![];}catch(_0x4f1bbb){return logger['error']({'event':_0x394dc3['wGdAV'],'jobId':_0x5ca947,'error':_0x4f1bbb['message']},_0x394dc3[_0x23af89(0x14f)]),![];}}async[a0_0x13ddff(0x14b)](){const _0x427d09=a0_0x13ddff,_0x586218={'tIcaA':_0x427d09(0x142)};try{const _0x86d02b=redisClient['getClient'](),_0x32c739=await _0x86d02b['keys'](this['prefix']+'*'),_0x1007d8=[];for(const _0x51411e of _0x32c739){const _0x4d3bc3=await _0x86d02b['get'](_0x51411e);_0x4d3bc3&&_0x1007d8[_0x427d09(0x13a)](JSON[_0x427d09(0x146)](_0x4d3bc3));}return _0x1007d8;}catch(_0x44cb65){return logger['error']({'event':_0x586218[_0x427d09(0x14c)],'error':_0x44cb65[_0x427d09(0x13c)]},'Failed\x20to\x20get\x20all\x20jobs'),[];}}}module['exports']=new RedisHelper();
1
+ function a0_0x9daa(_0x51ee8d,_0x11d70c){_0x51ee8d=_0x51ee8d-0x66;const _0x4ac94b=a0_0x4ac9();let _0x9daa3c=_0x4ac94b[_0x51ee8d];if(a0_0x9daa['ZoSMbZ']===undefined){var _0xc3635a=function(_0x477a47){const _0x4fbed1='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4914af='',_0x3615d9='';for(let _0x3bfe50=0x0,_0x32145f,_0xc7b7c3,_0xaa2b38=0x0;_0xc7b7c3=_0x477a47['charAt'](_0xaa2b38++);~_0xc7b7c3&&(_0x32145f=_0x3bfe50%0x4?_0x32145f*0x40+_0xc7b7c3:_0xc7b7c3,_0x3bfe50++%0x4)?_0x4914af+=String['fromCharCode'](0xff&_0x32145f>>(-0x2*_0x3bfe50&0x6)):0x0){_0xc7b7c3=_0x4fbed1['indexOf'](_0xc7b7c3);}for(let _0x210235=0x0,_0x3e1871=_0x4914af['length'];_0x210235<_0x3e1871;_0x210235++){_0x3615d9+='%'+('00'+_0x4914af['charCodeAt'](_0x210235)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3615d9);};a0_0x9daa['SApZHi']=_0xc3635a,a0_0x9daa['filONU']={},a0_0x9daa['ZoSMbZ']=!![];}const _0x1cf1b7=_0x4ac94b[0x0],_0x16f107=_0x51ee8d+_0x1cf1b7,_0x3ad37d=a0_0x9daa['filONU'][_0x16f107];return!_0x3ad37d?(_0x9daa3c=a0_0x9daa['SApZHi'](_0x9daa3c),a0_0x9daa['filONU'][_0x16f107]=_0x9daa3c):_0x9daa3c=_0x3ad37d,_0x9daa3c;}function a0_0x4ac9(){const _0x2de67c=['mJG4ExHtExrl','odiXnZn1r0fWzem','C2v0zxG','rhnMCgS','mJy0nZnvzwr1AfK','A2v5CW','otm5nJCZmerWv1vMvG','zw52','zgvS','mtGWmti0nu5QAgLvCG','CMvKAxnFz2v0ywXSx2vYCM9Y','mZy2otm4su1VCezV','z2v0','vvPhtfu','z2v0qwXSsM9ICW','odC5otnfquzPvuy','B1HLwgC','DxbKyxrLsM9I','C2v0sM9I','CgfYC2u','mtjhA2DuyNa','ChvZAa','BwvZC2fNzq','mtiXnZqWwKfrAfvi','mtfltefiDem','CMvKAxnFz2v0x2vYCM9Y','mtuWEw96zNjI','DhrS','oMv4Cg9YDdO','mtjHq1vICg0','mJbdD05xAgq','z2v0q2XPzw50','C3rYAw5NAwz5','ChjLzML4','zxjYB3i','zxHWB3j0CW','rMfPBgvKihrVihnLDcbQB2iGAw4GuMvKAxm','x3bYzwzPEa'];a0_0x4ac9=function(){return _0x2de67c;};return a0_0x4ac9();}const a0_0x516e36=a0_0x9daa;(function(_0x56f982,_0x12e64b){const _0x2e69ca=a0_0x9daa,_0xb2b093=_0x56f982();while(!![]){try{const _0x2157be=parseInt(_0x2e69ca(0x7d))/0x1*(parseInt(_0x2e69ca(0x70))/0x2)+-parseInt(_0x2e69ca(0x6a))/0x3*(parseInt(_0x2e69ca(0x71))/0x4)+-parseInt(_0x2e69ca(0x82))/0x5+parseInt(_0x2e69ca(0x6d))/0x6*(-parseInt(_0x2e69ca(0x7a))/0x7)+-parseInt(_0x2e69ca(0x79))/0x8*(-parseInt(_0x2e69ca(0x88))/0x9)+parseInt(_0x2e69ca(0x7f))/0xa*(parseInt(_0x2e69ca(0x6b))/0xb)+parseInt(_0x2e69ca(0x67))/0xc*(-parseInt(_0x2e69ca(0x84))/0xd);if(_0x2157be===_0x12e64b)break;else _0xb2b093['push'](_0xb2b093['shift']());}catch(_0x516389){_0xb2b093['push'](_0xb2b093['shift']());}}}(a0_0x4ac9,0x8a181));const redisClient=require('./redis-client'),{logger}=require('./logger');class RedisHelper{constructor(){const _0x187ca2=a0_0x9daa,_0x2176f7={'ntOiP':function(_0xfbe94d,_0x3c7127,_0xaac46a){return _0xfbe94d(_0x3c7127,_0xaac46a);}};this[_0x187ca2(0x78)]=null,this['ttl']=_0x2176f7['ntOiP'](parseInt,process['env']['EXPORT_FILE_EXPIRY'],0xa)||0xe10;}get['prefix'](){const _0xac92b6=a0_0x9daa,_0x41b7be={'tDvfC':'default'};if(!this['_prefix']){const _0xd0d41=process[_0xac92b6(0x80)]['RESTFORGE_PROJECT_NAME']||_0x41b7be['tDvfC'];this['_prefix']='restforge:'+_0xd0d41+_0xac92b6(0x6f);}return this[_0xac92b6(0x78)];}async[a0_0x516e36(0x8b)](_0x2af4c8,_0x1164ab){const _0x53f43e=a0_0x516e36,_0x573a57={'Dsfpk':_0x53f43e(0x77)};try{const _0x54f82c=redisClient[_0x53f43e(0x72)](),_0x22f93a=''+this['prefix']+_0x2af4c8;return await _0x54f82c[_0x53f43e(0x7b)](_0x22f93a,this[_0x53f43e(0x6e)],JSON[_0x53f43e(0x73)](_0x1164ab)),!![];}catch(_0x1dbb71){return logger[_0x53f43e(0x75)]({'event':'redis_set_error','jobId':_0x2af4c8,'error':_0x1dbb71[_0x53f43e(0x69)]},_0x573a57[_0x53f43e(0x7c)]),![];}}async['getJob'](_0x553b69){const _0x39606e=a0_0x516e36;try{const _0x355bee=redisClient['getClient'](),_0x590f7f=''+this[_0x39606e(0x74)]+_0x553b69,_0x2c57bc=await _0x355bee['get'](_0x590f7f);return _0x2c57bc?JSON[_0x39606e(0x66)](_0x2c57bc):null;}catch(_0x2df2b2){return logger[_0x39606e(0x75)]({'event':_0x39606e(0x6c),'jobId':_0x553b69,'error':_0x2df2b2[_0x39606e(0x69)]},'Failed\x20to\x20get\x20job\x20from\x20Redis'),null;}}async[a0_0x516e36(0x8a)](_0x424de5,_0x223614){const _0x57b0d7=await this['getJob'](_0x424de5);if(!_0x57b0d7)return![];const _0x4448f1={..._0x57b0d7,..._0x223614};return await this['setJob'](_0x424de5,_0x4448f1);}async['deleteJob'](_0x3747a3){const _0x10221c=a0_0x516e36,_0x33e8cf={'UZGLU':'redis_delete_error','oXeXg':'Failed\x20to\x20delete\x20job\x20from\x20Redis'};try{const _0x2af6e8=redisClient['getClient'](),_0x40c8ae=''+this['prefix']+_0x3747a3;return await _0x2af6e8[_0x10221c(0x81)](_0x40c8ae),!![];}catch(_0x33e2ab){return logger['error']({'event':_0x33e8cf[_0x10221c(0x86)],'jobId':_0x3747a3,'error':_0x33e2ab[_0x10221c(0x69)]},_0x33e8cf[_0x10221c(0x89)]),![];}}async[a0_0x516e36(0x87)](){const _0x238568=a0_0x516e36,_0x34917e={'DNOIe':_0x238568(0x83),'zRcel':'Failed\x20to\x20get\x20all\x20jobs'};try{const _0x5211b1=redisClient['getClient'](),_0x153ed0=await _0x5211b1[_0x238568(0x7e)](this['prefix']+'*'),_0x1de53d=[];for(const _0x1cec66 of _0x153ed0){const _0x3367d7=await _0x5211b1[_0x238568(0x85)](_0x1cec66);_0x3367d7&&_0x1de53d[_0x238568(0x68)](JSON[_0x238568(0x66)](_0x3367d7));}return _0x1de53d;}catch(_0x322827){return logger['error']({'event':_0x34917e['DNOIe'],'error':_0x322827['message']},_0x34917e['zRcel']),[];}}}module[a0_0x516e36(0x76)]=new RedisHelper();