@restforgejs/platform 5.1.4 → 5.1.7

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 (174) 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 +16 -7
  5. package/generators/cli/data/push.js +17 -7
  6. package/generators/cli/fast-track.js +63 -43
  7. package/generators/cli/init.js +347 -97
  8. package/generators/lib/data/data-scope.js +138 -0
  9. package/generators/lib/data/envelope.js +25 -9
  10. package/generators/lib/data/pull-runner.js +44 -37
  11. package/generators/lib/data/push-runner.js +64 -46
  12. package/generators/lib/templates/dashboard-catalog.js +1 -1
  13. package/generators/lib/templates/db-connection-env.js +1 -1
  14. package/generators/lib/templates/dbschema-catalog.js +1 -1
  15. package/generators/lib/templates/field-validation-catalog.js +1 -1
  16. package/generators/lib/templates/mysql-template.js +1 -1
  17. package/generators/lib/templates/oracle-template.js +1 -1
  18. package/generators/lib/templates/postgres-template.js +1 -1
  19. package/generators/lib/templates/query-declarative-catalog.js +1 -1
  20. package/generators/lib/templates/sqlite-template.js +1 -1
  21. package/integrity-manifest.json +18 -18
  22. package/package.json +1 -1
  23. package/scripts/verify-integrity.js +1 -1
  24. package/server.js +1 -1
  25. package/src/components/handlers/adjust_handler.js +1 -1
  26. package/src/components/handlers/audit_handler.js +1 -1
  27. package/src/components/handlers/delete_handler.js +1 -1
  28. package/src/components/handlers/export_handler.js +1 -1
  29. package/src/components/handlers/import_handler.js +1 -1
  30. package/src/components/handlers/insert_handler.js +1 -1
  31. package/src/components/handlers/update_handler.js +1 -1
  32. package/src/components/handlers/upload_handler.js +1 -1
  33. package/src/components/handlers/workflow_handler.js +1 -1
  34. package/src/components/integrations/webhook.js +1 -1
  35. package/src/consumers/baseConsumer.js +1 -1
  36. package/src/consumers/declarativeMapper.js +1 -1
  37. package/src/consumers/handlers/apiHandler.js +1 -1
  38. package/src/consumers/handlers/consoleHandler.js +1 -1
  39. package/src/consumers/handlers/databaseHandler.js +1 -1
  40. package/src/consumers/handlers/index.js +1 -1
  41. package/src/consumers/handlers/kafkaHandler.js +1 -1
  42. package/src/consumers/index.js +1 -1
  43. package/src/consumers/messageTransformer.js +1 -1
  44. package/src/consumers/validator.js +1 -1
  45. package/src/core/db/dialect/base-dialect.js +1 -1
  46. package/src/core/db/dialect/index.js +1 -1
  47. package/src/core/db/dialect/mysql-dialect.js +1 -1
  48. package/src/core/db/dialect/oracle-dialect.js +1 -1
  49. package/src/core/db/dialect/postgres-dialect.js +1 -1
  50. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  51. package/src/core/db/flatten-helper.js +1 -1
  52. package/src/core/db/query-builder-error.js +1 -1
  53. package/src/core/db/query-builder.js +1 -1
  54. package/src/core/db/relation-helper.js +1 -1
  55. package/src/core/handlers/delete_handler.js +1 -1
  56. package/src/core/handlers/insert_handler.js +1 -1
  57. package/src/core/handlers/update_handler.js +1 -1
  58. package/src/core/models/base-model.js +1 -1
  59. package/src/core/utils/cache-manager.js +1 -1
  60. package/src/core/utils/component-engine.js +1 -1
  61. package/src/core/utils/context-builder.js +1 -1
  62. package/src/core/utils/datetime-formatter.js +1 -1
  63. package/src/core/utils/datetime-parser.js +1 -1
  64. package/src/core/utils/db.js +1 -1
  65. package/src/core/utils/logger.js +1 -1
  66. package/src/core/utils/payload-loader.js +1 -1
  67. package/src/core/utils/security-checks.js +1 -1
  68. package/src/middleware/body-options.js +1 -1
  69. package/src/middleware/cors.js +1 -1
  70. package/src/middleware/idempotency.js +1 -1
  71. package/src/middleware/rate-limiter.js +1 -1
  72. package/src/middleware/request-logger.js +1 -1
  73. package/src/middleware/security-headers.js +1 -1
  74. package/src/models/base-model-mysql.js +1 -1
  75. package/src/models/base-model-oracle.js +1 -1
  76. package/src/models/base-model-sqlite.js +1 -1
  77. package/src/models/base-model.js +1 -1
  78. package/src/pro/caching/redis-client.js +1 -1
  79. package/src/pro/caching/redis-helper.js +1 -1
  80. package/src/pro/consumers/baseConsumer.js +1 -1
  81. package/src/pro/consumers/declarativeMapper.js +1 -1
  82. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  83. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  84. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  85. package/src/pro/consumers/handlers/index.js +1 -1
  86. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  87. package/src/pro/consumers/index.js +1 -1
  88. package/src/pro/consumers/messageTransformer.js +1 -1
  89. package/src/pro/consumers/validator.js +1 -1
  90. package/src/pro/database/base-model-mysql.js +1 -1
  91. package/src/pro/database/base-model-oracle.js +1 -1
  92. package/src/pro/database/base-model-sqlite.js +1 -1
  93. package/src/pro/database/db-mysql.js +1 -1
  94. package/src/pro/database/db-oracle.js +1 -1
  95. package/src/pro/database/db-sqlite.js +1 -1
  96. package/src/pro/excel/excel-generator.js +1 -1
  97. package/src/pro/excel/excel-parser.js +1 -1
  98. package/src/pro/excel/export-service.js +1 -1
  99. package/src/pro/excel/export_handler.js +1 -1
  100. package/src/pro/excel/import-service.js +1 -1
  101. package/src/pro/excel/import-validator.js +1 -1
  102. package/src/pro/excel/import_handler.js +1 -1
  103. package/src/pro/excel/upsert-builder.js +1 -1
  104. package/src/pro/idgen/idgen-routes.js +1 -1
  105. package/src/pro/integrations/lookup-resolver.js +1 -1
  106. package/src/pro/integrations/upload-handler-v2.js +1 -1
  107. package/src/pro/integrations/upload-handler.js +1 -1
  108. package/src/pro/integrations/webhook.js +1 -1
  109. package/src/pro/locking/lock-routes.js +1 -1
  110. package/src/pro/locking/resource-lock-manager.js +1 -1
  111. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  112. package/src/pro/messaging/kafkaService.js +1 -1
  113. package/src/pro/messaging/messagehubService.js +1 -1
  114. package/src/pro/messaging/rabbitmqService.js +1 -1
  115. package/src/pro/scheduler/job-manager.js +1 -1
  116. package/src/pro/scheduler/job-routes.js +1 -1
  117. package/src/pro/scheduler/job-validator.js +1 -1
  118. package/src/pro/storage/base-storage-provider.js +1 -1
  119. package/src/pro/storage/file-metadata-helper.js +1 -1
  120. package/src/pro/storage/index.js +1 -1
  121. package/src/pro/storage/local-storage-provider.js +1 -1
  122. package/src/pro/storage/s3-storage-provider.js +1 -1
  123. package/src/pro/storage/upload-cleanup-job.js +1 -1
  124. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  125. package/src/pro/storage/upload-pending-tracker.js +1 -1
  126. package/src/pro/websocket/broadcast-helper.js +1 -1
  127. package/src/pro/websocket/index.js +1 -1
  128. package/src/pro/websocket/livesync-server.js +1 -1
  129. package/src/pro/websocket/ws-broadcaster.js +1 -1
  130. package/src/services/export-service.js +1 -1
  131. package/src/services/import-service.js +1 -1
  132. package/src/services/kafkaConsumerService.js +1 -1
  133. package/src/services/kafkaService.js +1 -1
  134. package/src/services/messagehubService.js +1 -1
  135. package/src/services/rabbitmqService.js +1 -1
  136. package/src/utils/cache-invalidation-registry.js +1 -1
  137. package/src/utils/cache-manager.js +1 -1
  138. package/src/utils/component-engine.js +1 -1
  139. package/src/utils/config-extractor.js +1 -1
  140. package/src/utils/consumerLogger.js +1 -1
  141. package/src/utils/context-builder.js +1 -1
  142. package/src/utils/dashboard-helpers.js +1 -1
  143. package/src/utils/dateHelper.js +1 -1
  144. package/src/utils/datetime-formatter.js +1 -1
  145. package/src/utils/datetime-parser.js +1 -1
  146. package/src/utils/db-bootstrap.js +1 -1
  147. package/src/utils/db-mysql.js +1 -1
  148. package/src/utils/db-oracle.js +1 -1
  149. package/src/utils/db-sqlite.js +1 -1
  150. package/src/utils/db.js +1 -1
  151. package/src/utils/demo-generator.js +1 -1
  152. package/src/utils/excel-generator.js +1 -1
  153. package/src/utils/excel-parser.js +1 -1
  154. package/src/utils/file-watcher.js +1 -1
  155. package/src/utils/id-generator.js +1 -1
  156. package/src/utils/idempotency-manager.js +1 -1
  157. package/src/utils/import-validator.js +1 -1
  158. package/src/utils/license-client.js +1 -1
  159. package/src/utils/lock-manager.js +1 -1
  160. package/src/utils/logger.js +1 -1
  161. package/src/utils/lookup-resolver.js +1 -1
  162. package/src/utils/payload-loader.js +1 -1
  163. package/src/utils/processor-response.js +1 -1
  164. package/src/utils/rabbitmq.js +1 -1
  165. package/src/utils/redis-client.js +1 -1
  166. package/src/utils/redis-helper.js +1 -1
  167. package/src/utils/request-scope.js +1 -1
  168. package/src/utils/security-checks.js +1 -1
  169. package/src/utils/service-resolver.js +1 -1
  170. package/src/utils/shutdown-coordinator.js +1 -1
  171. package/src/utils/trusted-keys.js +1 -1
  172. package/src/utils/upload-handler.js +1 -1
  173. package/src/utils/upsert-builder.js +1 -1
  174. package/src/utils/workflow-hook-executor.js +1 -1
@@ -1 +1 @@
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
+ function a0_0x4a29(_0x391968,_0x237662){_0x391968=_0x391968-0x1dc;const _0x4bcd12=a0_0x4bcd();let _0x4a2960=_0x4bcd12[_0x391968];if(a0_0x4a29['WtSscA']===undefined){var _0x15cc5b=function(_0x8b403d){const _0x482d6d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2a2bc0='',_0x2fca0f='';for(let _0x24ac9d=0x0,_0x44b523,_0x57459e,_0x5d92d3=0x0;_0x57459e=_0x8b403d['charAt'](_0x5d92d3++);~_0x57459e&&(_0x44b523=_0x24ac9d%0x4?_0x44b523*0x40+_0x57459e:_0x57459e,_0x24ac9d++%0x4)?_0x2a2bc0+=String['fromCharCode'](0xff&_0x44b523>>(-0x2*_0x24ac9d&0x6)):0x0){_0x57459e=_0x482d6d['indexOf'](_0x57459e);}for(let _0x59279e=0x0,_0x54d187=_0x2a2bc0['length'];_0x59279e<_0x54d187;_0x59279e++){_0x2fca0f+='%'+('00'+_0x2a2bc0['charCodeAt'](_0x59279e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2fca0f);};a0_0x4a29['sGfrNc']=_0x15cc5b,a0_0x4a29['VuCvhj']={},a0_0x4a29['WtSscA']=!![];}const _0x21d601=_0x4bcd12[0x0],_0x283a65=_0x391968+_0x21d601,_0x39f7a4=a0_0x4a29['VuCvhj'][_0x283a65];return!_0x39f7a4?(_0x4a2960=a0_0x4a29['sGfrNc'](_0x4a2960),a0_0x4a29['VuCvhj'][_0x283a65]=_0x4a2960):_0x4a2960=_0x39f7a4,_0x4a2960;}const a0_0x8ea4dc=a0_0x4a29;(function(_0x1ed246,_0x45766e){const _0x3cb126=a0_0x4a29,_0x2acb3c=_0x1ed246();while(!![]){try{const _0x31fa83=parseInt(_0x3cb126(0x226))/0x1*(-parseInt(_0x3cb126(0x22c))/0x2)+-parseInt(_0x3cb126(0x1e2))/0x3*(parseInt(_0x3cb126(0x21a))/0x4)+parseInt(_0x3cb126(0x221))/0x5+-parseInt(_0x3cb126(0x216))/0x6+parseInt(_0x3cb126(0x22b))/0x7+-parseInt(_0x3cb126(0x215))/0x8*(parseInt(_0x3cb126(0x20f))/0x9)+parseInt(_0x3cb126(0x1f8))/0xa;if(_0x31fa83===_0x45766e)break;else _0x2acb3c['push'](_0x2acb3c['shift']());}catch(_0x548239){_0x2acb3c['push'](_0x2acb3c['shift']());}}}(a0_0x4bcd,0x721d9));const redisClient=require(a0_0x8ea4dc(0x1df)),{logger}=require(a0_0x8ea4dc(0x224)),{v4:uuidv4}=require(a0_0x8ea4dc(0x209));class LockManager{constructor(){const _0x2cf802=a0_0x8ea4dc,_0x24b445='0|1|6|3|7|4|2|5'['split']('|');let _0x345ee9=0x0;while(!![]){switch(_0x24b445[_0x345ee9++]){case'0':this[_0x2cf802(0x1dd)]=null;continue;case'1':this['_enabled']=null;continue;case'2':this['_workerId']=null;continue;case'3':this['_retryCount']=null;continue;case'4':this['_strategy']=null;continue;case'5':this[_0x2cf802(0x1f0)]=![];continue;case'6':this['_defaultTTL']=null;continue;case'7':this['_retryDelay']=null;continue;}break;}}['_initConfig'](){const _0x4b0ba3=a0_0x8ea4dc,_0x50b91d={'vulmf':function(_0x1d428f,_0x2ecfaa){return _0x1d428f===_0x2ecfaa;},'VxbiA':'true','lMtdq':function(_0x5cfb43,_0x146f29,_0xcb08e7){return _0x5cfb43(_0x146f29,_0xcb08e7);},'vtahA':function(_0x37ab2b,_0x296912,_0x146298){return _0x37ab2b(_0x296912,_0x146298);},'ELVBe':_0x4b0ba3(0x208)};this[_0x4b0ba3(0x1dd)]=_0x4b0ba3(0x22a),this['_enabled']=_0x50b91d['vulmf'](process['env']['LOCK_DISTRIBUTED_ENABLED'],_0x50b91d['VxbiA']),this[_0x4b0ba3(0x229)]=_0x50b91d[_0x4b0ba3(0x218)](parseInt,process[_0x4b0ba3(0x1ea)][_0x4b0ba3(0x1e4)],0xa)||0xa,this[_0x4b0ba3(0x21e)]=_0x50b91d[_0x4b0ba3(0x20b)](parseInt,process['env']['LOCK_DISTRIBUTED_RETRY'],0xa)||0x3,this[_0x4b0ba3(0x1fe)]=parseInt(process['env'][_0x4b0ba3(0x1de)],0xa)||0x64,this['_strategy']=process[_0x4b0ba3(0x1ea)][_0x4b0ba3(0x1ec)]||_0x50b91d[_0x4b0ba3(0x200)],this['_workerId']='worker-'+process[_0x4b0ba3(0x1ef)],this[_0x4b0ba3(0x1f0)]=!![],logger['info']({'event':_0x4b0ba3(0x20e),'enabled':this['_enabled'],'strategy':this[_0x4b0ba3(0x206)],'ttl':this['_defaultTTL'],'retryCount':this[_0x4b0ba3(0x21e)],'retryDelay':this['_retryDelay'],'workerId':this['_workerId']},'Lock\x20configuration\x20initialized\x20-\x20enabled:\x20'+this['_enabled']+_0x4b0ba3(0x1fc)+this['_strategy']);}['_ensureInitialized'](){const _0x4413ab=a0_0x8ea4dc;!this[_0x4413ab(0x1f0)]&&this['_initConfig']();}get['prefix'](){return this['_ensureInitialized'](),this['_prefix'];}get[a0_0x8ea4dc(0x1f6)](){const _0x1f4679=a0_0x8ea4dc;return this[_0x1f4679(0x1fa)](),this[_0x1f4679(0x20a)];}get['defaultTTL'](){return this['_ensureInitialized'](),this['_defaultTTL'];}get['retryCount'](){const _0x18ae49=a0_0x8ea4dc;return this[_0x18ae49(0x1fa)](),this['_retryCount'];}get[a0_0x8ea4dc(0x22e)](){const _0x4eedac=a0_0x8ea4dc;return this['_ensureInitialized'](),this[_0x4eedac(0x1fe)];}get['strategy'](){return this['_ensureInitialized'](),this['_strategy'];}get[a0_0x8ea4dc(0x21b)](){const _0x3bf591=a0_0x8ea4dc;return this[_0x3bf591(0x1fa)](),this[_0x3bf591(0x205)];}['buildLockKey'](_0x5bbd4d){const _0xc3a222=a0_0x8ea4dc,{module:_0x3e0c3f,endpoint:_0x2cd0f6,lockType:_0x245cf7,recordId:_0x69003}=_0x5bbd4d;if(_0x69003)return''+this['prefix']+_0x3e0c3f+':'+_0x2cd0f6+':'+_0x69003+':'+_0x245cf7;return''+this[_0xc3a222(0x20c)]+_0x3e0c3f+':'+_0x2cd0f6+':'+_0x245cf7;}[a0_0x8ea4dc(0x1f1)](){const _0x22b99b=a0_0x8ea4dc;return this['workerId']+':'+uuidv4()+':'+Date[_0x22b99b(0x213)]();}async[a0_0x8ea4dc(0x227)](_0xb935e5){const _0x43616e=a0_0x8ea4dc,_0x19c9ae={'jSgCr':'read','CFQqm':function(_0xe65893,_0x16d83c){return _0xe65893<_0x16d83c;},'coMTa':'read_lock_acquired','cgjge':'READ\x20lock\x20acquired','nnNWV':_0x43616e(0x225),'cVJyt':'Waiting\x20for\x20WRITE\x20lock\x20to\x20release','NOrzi':_0x43616e(0x1e3),'UcuLk':'read_lock_error'};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x511a67=this[_0x43616e(0x1e0)]({..._0xb935e5,'lockType':'write'}),_0x101d12=this[_0x43616e(0x1e0)]({..._0xb935e5,'lockType':_0x19c9ae['jSgCr']}),_0x5bd094=this[_0x43616e(0x1f1)]();try{const _0x55aaa9=redisClient['getClient']();for(let _0x39f8fc=0x0;_0x19c9ae['CFQqm'](_0x39f8fc,this['retryCount']);_0x39f8fc++){const _0x3fa434=await _0x55aaa9[_0x43616e(0x1f4)](_0x511a67);if(!_0x3fa434){await _0x55aaa9['incr'](_0x101d12),await _0x55aaa9['expire'](_0x101d12,this[_0x43616e(0x1e9)]);const _0x35fbae=_0x101d12+':'+_0x5bd094;return await _0x55aaa9['setex'](_0x35fbae,this[_0x43616e(0x1e9)],_0x5bd094),logger[_0x43616e(0x223)]({'event':_0x19c9ae['coMTa'],'key':_0x101d12,'value':_0x5bd094},_0x19c9ae['cgjge']),{'success':!![],'lockValue':_0x5bd094,'lockKey':_0x35fbae};}logger['debug']({'event':_0x19c9ae['nnNWV'],'writeKey':_0x511a67,'attempt':_0x39f8fc},_0x19c9ae['cVJyt']),await this[_0x43616e(0x1f9)](this[_0x43616e(0x22e)]*Math['pow'](0x2,_0x39f8fc));}return logger['warn']({'event':_0x19c9ae['NOrzi'],'key':_0x101d12},_0x43616e(0x1e7)),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x40734d){return logger['error']({'event':_0x19c9ae['UcuLk'],'error':_0x40734d[_0x43616e(0x207)]},'READ\x20lock\x20error'),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x8ea4dc(0x1dc)](_0x23a143){const _0x22228b=a0_0x8ea4dc,_0x42a72d={'bqERP':'write','ySqgV':'read','bwuIo':function(_0x34d255,_0x5a2d35){return _0x34d255===_0x5a2d35;},'eZUET':'write_lock_acquired','aqada':'reject','ctiRc':_0x22228b(0x222),'dZruV':'write_lock_rejected','zMuSw':function(_0x4c09ef,_0x507cb6){return _0x4c09ef(_0x507cb6);},'ddsgK':_0x22228b(0x208),'nYPrv':_0x22228b(0x1fd),'KuHVv':'Waiting\x20for\x20locks\x20to\x20release','DuuqZ':function(_0xf0bea7,_0x43c2f1){return _0xf0bea7*_0x43c2f1;}};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x40b5ea=this['buildLockKey']({..._0x23a143,'lockType':_0x42a72d['bqERP']}),_0x2e9544=this['buildLockKey']({..._0x23a143,'lockType':_0x42a72d[_0x22228b(0x1f7)]}),_0x11a4b5=this[_0x22228b(0x1f1)]();try{const _0x1486af=redisClient[_0x22228b(0x1f2)]();if(this['strategy']===_0x22228b(0x219)){const _0x28f4fa=await _0x1486af['set'](_0x40b5ea,_0x11a4b5,'EX',this[_0x22228b(0x1e9)],'NX');if(_0x42a72d['bwuIo'](_0x28f4fa,'OK'))return logger['debug']({'event':_0x42a72d[_0x22228b(0x1ed)],'key':_0x40b5ea,'value':_0x11a4b5,'strategy':_0x42a72d['aqada']},_0x42a72d[_0x22228b(0x1f3)]),{'success':!![],'lockValue':_0x11a4b5,'lockKey':_0x40b5ea};return logger[_0x22228b(0x223)]({'event':_0x42a72d['dZruV'],'key':_0x40b5ea},_0x22228b(0x20d)),{'success':![],'lockValue':null,'lockKey':null};}for(let _0xd5560a=0x0;_0xd5560a<this['retryCount'];_0xd5560a++){const [_0x413570,_0x3dab3d]=await Promise['all']([_0x1486af[_0x22228b(0x1f4)](_0x2e9544),_0x1486af['get'](_0x40b5ea)]);if(!_0x3dab3d&&(!_0x413570||_0x42a72d[_0x22228b(0x1eb)](parseInt,_0x413570)===0x0)){const _0x2f7785=await _0x1486af['set'](_0x40b5ea,_0x11a4b5,'EX',this[_0x22228b(0x1e9)],'NX');if(_0x2f7785==='OK')return logger['debug']({'event':_0x42a72d['eZUET'],'key':_0x40b5ea,'value':_0x11a4b5,'strategy':_0x42a72d['ddsgK']},_0x42a72d[_0x22228b(0x1e5)]),{'success':!![],'lockValue':_0x11a4b5,'lockKey':_0x40b5ea};}logger['debug']({'event':'write_lock_waiting','writeKey':_0x40b5ea,'readCount':_0x413570,'attempt':_0xd5560a},_0x42a72d[_0x22228b(0x1e8)]),await this[_0x22228b(0x1f9)](_0x42a72d[_0x22228b(0x1e1)](this[_0x22228b(0x22e)],Math['pow'](0x2,_0xd5560a)));}return logger['warn']({'event':'write_lock_timeout','key':_0x40b5ea},_0x22228b(0x214)),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x38e37e){return logger[_0x22228b(0x1e6)]({'event':_0x22228b(0x201),'error':_0x38e37e[_0x22228b(0x207)]},_0x22228b(0x22d)),{'success':![],'lockValue':null,'lockKey':null};}}async['releaseLock'](_0x44a584,_0x5df27c){const _0x1f70bf=a0_0x8ea4dc,_0x5207ed={'rFgKh':':read:','LbcQH':function(_0x4c2ac7,_0x3abd0c){return _0x4c2ac7===_0x3abd0c;},'oOSJZ':'write_lock_released'};if(!this[_0x1f70bf(0x1f6)]||!_0x44a584)return!![];try{const _0x4c7c9e=redisClient[_0x1f70bf(0x1f2)]();if(_0x44a584[_0x1f70bf(0x210)](_0x5207ed['rFgKh'])){await _0x4c7c9e[_0x1f70bf(0x21c)](_0x44a584);const _0x3c4d94=_0x44a584[_0x1f70bf(0x211)](0x0,_0x44a584[_0x1f70bf(0x1f5)](':')),_0x36dcdc=await _0x4c7c9e['get'](_0x3c4d94);return _0x36dcdc&&parseInt(_0x36dcdc)>0x0&&await _0x4c7c9e['decr'](_0x3c4d94),logger[_0x1f70bf(0x223)]({'event':'read_lock_released','key':_0x44a584},_0x1f70bf(0x217)),!![];}const _0x4b4add=_0x1f70bf(0x202),_0x5aeea8=await _0x4c7c9e['eval'](_0x4b4add,0x1,_0x44a584,_0x5df27c);if(_0x5207ed['LbcQH'](_0x5aeea8,0x1))return logger[_0x1f70bf(0x223)]({'event':_0x5207ed['oOSJZ'],'key':_0x44a584},_0x1f70bf(0x1ee)),!![];return logger[_0x1f70bf(0x1fb)]({'event':_0x1f70bf(0x203),'key':_0x44a584},'Cannot\x20release\x20lock\x20-\x20not\x20owner'),![];}catch(_0x1f0b1c){return logger[_0x1f70bf(0x1e6)]({'event':_0x1f70bf(0x1ff),'key':_0x44a584,'error':_0x1f0b1c[_0x1f70bf(0x207)]},_0x1f70bf(0x220)),![];}}async['extendLock'](_0x12df37,_0x295364,_0x391d78=null){const _0x1a6dd8=a0_0x8ea4dc,_0x4887cf={'iHdyp':function(_0x52dab5,_0x18ec16){return _0x52dab5===_0x18ec16;}};if(!this[_0x1a6dd8(0x1f6)]||!_0x12df37)return!![];try{const _0x43e1ce=redisClient['getClient'](),_0x1dfcda='\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',_0x51a9a=await _0x43e1ce['eval'](_0x1dfcda,0x1,_0x12df37,_0x295364,_0x391d78||this['defaultTTL']);if(_0x4887cf['iHdyp'](_0x51a9a,0x1))return logger[_0x1a6dd8(0x223)]({'event':_0x1a6dd8(0x21d),'key':_0x12df37,'ttl':_0x391d78||this['defaultTTL']},_0x1a6dd8(0x21f)),!![];return![];}catch(_0xe8d169){return logger[_0x1a6dd8(0x1e6)]({'event':'lock_extend_error','key':_0x12df37,'error':_0xe8d169['message']},'Lock\x20extend\x20error'),![];}}['isEnabled'](){const _0x48b61f=a0_0x8ea4dc;return this[_0x48b61f(0x1f6)];}[a0_0x8ea4dc(0x1f9)](_0x1092f3){return new Promise(_0x576e5c=>setTimeout(_0x576e5c,_0x1092f3));}async['getLockInfo'](_0x38a4ee){const _0x7ced1e=a0_0x8ea4dc,_0xaa0fc2={'qMDEY':'write','zvzNj':'read','ziLtx':function(_0x3c02a9,_0x25030b){return _0x3c02a9||_0x25030b;},'ZEjUV':function(_0x5421f7,_0x1db388){return _0x5421f7(_0x1db388);}};if(!this['enabled'])return{'enabled':![]};try{const _0x1e53bd=redisClient[_0x7ced1e(0x1f2)](),_0x4d3ab0=this[_0x7ced1e(0x1e0)]({..._0x38a4ee,'lockType':_0xaa0fc2['qMDEY']}),_0x1fbc7b=this['buildLockKey']({..._0x38a4ee,'lockType':_0xaa0fc2[_0x7ced1e(0x204)]}),[_0x236c38,_0x44cd23]=await Promise['all']([_0x1e53bd['get'](_0x4d3ab0),_0x1e53bd[_0x7ced1e(0x1f4)](_0x1fbc7b)]);return{'enabled':!![],'writeLock':_0xaa0fc2[_0x7ced1e(0x228)](_0x236c38,null),'readCount':_0xaa0fc2[_0x7ced1e(0x212)](parseInt,_0x44cd23)||0x0,'writeKey':_0x4d3ab0,'readKey':_0x1fbc7b};}catch(_0x58333e){return{'enabled':!![],'error':_0x58333e['message']};}}}module['exports']=new LockManager();function a0_0x4bcd(){const _0x15eb2f=['x3jLDhj5q291BNq','tg9JAYbuveWGzxH0zw5Kzwq','tg9JAYbYzwXLyxnLigvYCM9Y','mtC4nZa5nwHpA21wsW','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMvQzwn0ig1VzguP','zgvIDwC','lI9SB2DNzxi','CMvHzf9SB2nRx3DHAxrPBMC','nZyYntq0B1PmCgjl','ywnXDwLYzvjLywrmB2nR','EMLmDhG','x2rLzMf1BhruveW','CMy6Bg9JAZO','mJeXnte5mhPoC011Aa','mLHqAfPtDW','v1jjveuGBg9JAYbLCNjVCG','CMv0CNLezwXHEq','ywnXDwLYzvDYAxrLtg9JAW','x3bYzwzPEa','te9ds19esvnuuKLcvvrfrf9srvrswv9eruXbwq','lI9YzwrPCY1JBgLLBNq','yNvPBgrmB2nRs2v5','rhv1CvO','mtm3mtqYm1PfyvDdqW','CMvHzf9SB2nRx3rPBwvVDxq','te9ds19esvnuuKLcvvrfrf9uveW','BLLqCNy','zxjYB3i','uKvbrcbSB2nRigfJCxvPCMuGDgLTzw91Da','s3vivNy','zgvMyxvSDfruta','zw52','EK11u3C','te9ds19esvnuuKLcvvrfrf9tvfjbvevhwq','zvPvrvq','v1jjveuGBg9JAYbYzwXLyxnLza','CgLK','x2LUAxrPywXPEMvK','z2vUzxjHDgvmB2nRvMfSDwu','z2v0q2XPzw50','y3rPuMm','z2v0','BgfZDeLUzgv4t2y','zw5HyMXLza','EvnXz1y','mJq5nZy2mtboruzluu0','C2XLzxa','x2vUC3vYzuLUAxrPywXPEMvK','D2fYBG','lcbZDhjHDgvNEtOG','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMv0CNKGBw9KzsK','x3jLDhj5rgvSyxK','Bg9JA19YzwXLyxnLx2vYCM9Y','ruXwqMu','D3jPDgvFBg9JA19LCNjVCG','cIaGicaGicaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicaGicaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzgvSiIWGs0vzu1SXxsKkicaGicaGicbLBhnLcIaGicaGicaGicbYzxr1CM4GmaOGicaGicaGigvUzaOGicaGica','Bg9JA19YzwXLyxnLx25VDf9VD25LCG','ENz6tMO','x3DVCMTLCKLK','x3n0CMf0zwD5','BwvZC2fNzq','CMv0CNK','DxvPza','x2vUywjSzwq','DNrHAee','ChjLzML4','v1jjveuGBg9JAYbYzwPLy3rLzcaTihjLy29YzcbIDxn5','Bg9JA19JB25MAwDFAw5PDa','ndvJEKf0whq','Aw5JBhvKzxm','C3vIC3rYAw5N','wKvQvvy','BM93','v1jjveuGBg9JAYbHy3f1AxjLihrPBwvVDxq','ndKXntuYtePgqLnw','ndiZndCYmMHxtvbKCW','uKvbrcbSB2nRihjLBgvHC2vK','Be10zhe','CMvQzwn0','oerkDhfrDa','D29YA2vYswq','zgvS','Bg9JA19LEhrLBMrLza'];a0_0x4bcd=function(){return _0x15eb2f;};return a0_0x4bcd();}
@@ -1 +1 @@
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
+ const a0_0x3a0fef=a0_0x10b9;(function(_0x172ac4,_0x27ef14){const _0x118e94=a0_0x10b9,_0x31d9a5=_0x172ac4();while(!![]){try{const _0x1bf160=parseInt(_0x118e94(0x1ee))/0x1*(-parseInt(_0x118e94(0x1ad))/0x2)+-parseInt(_0x118e94(0x161))/0x3+parseInt(_0x118e94(0x1b6))/0x4+parseInt(_0x118e94(0x1c6))/0x5+parseInt(_0x118e94(0x20e))/0x6+parseInt(_0x118e94(0x1ae))/0x7*(-parseInt(_0x118e94(0x158))/0x8)+parseInt(_0x118e94(0x1bc))/0x9;if(_0x1bf160===_0x27ef14)break;else _0x31d9a5['push'](_0x31d9a5['shift']());}catch(_0x508c53){_0x31d9a5['push'](_0x31d9a5['shift']());}}}(a0_0x2356,0xb2a04));const pino=require('pino'),fs=require('fs'),path=require(a0_0x3a0fef(0x1d5));function a0_0x10b9(_0x25111b,_0x1d0469){_0x25111b=_0x25111b-0x150;const _0x235617=a0_0x2356();let _0x10b9eb=_0x235617[_0x25111b];if(a0_0x10b9['YpSAUC']===undefined){var _0x5f3a08=function(_0x34480b){const _0x75552f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x89c117='',_0x20b3af='';for(let _0x4ae069=0x0,_0x1cf575,_0x58ea75,_0x3133b1=0x0;_0x58ea75=_0x34480b['charAt'](_0x3133b1++);~_0x58ea75&&(_0x1cf575=_0x4ae069%0x4?_0x1cf575*0x40+_0x58ea75:_0x58ea75,_0x4ae069++%0x4)?_0x89c117+=String['fromCharCode'](0xff&_0x1cf575>>(-0x2*_0x4ae069&0x6)):0x0){_0x58ea75=_0x75552f['indexOf'](_0x58ea75);}for(let _0x8d3836=0x0,_0x28a0dc=_0x89c117['length'];_0x8d3836<_0x28a0dc;_0x8d3836++){_0x20b3af+='%'+('00'+_0x89c117['charCodeAt'](_0x8d3836)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x20b3af);};a0_0x10b9['sZgghd']=_0x5f3a08,a0_0x10b9['AwocPX']={},a0_0x10b9['YpSAUC']=!![];}const _0x8d7fee=_0x235617[0x0],_0x5e4d14=_0x25111b+_0x8d7fee,_0x323b85=a0_0x10b9['AwocPX'][_0x5e4d14];return!_0x323b85?(_0x10b9eb=a0_0x10b9['sZgghd'](_0x10b9eb),a0_0x10b9['AwocPX'][_0x5e4d14]=_0x10b9eb):_0x10b9eb=_0x323b85,_0x10b9eb;}function a0_0x2356(){const _0x11594b=['qLDVs1u','AvbLAei','BMfTzq','ms4WlJu','CMvZDgzVCMDL','Dg9mB3DLCKnHC2u','qwTdwxO','te9hx0rjuG','vvbeqvrf','uhjeBKi','C3rHDhvZq29Kzq','CMvWzwf0','zMfSC2u','BxmP','DxnLCG','yxbPs2v5','y29UBMvJDgLVBG','C3rYAw5N','CgfZC3DK','z25ku3G','Bwv0Ag9K','zMXVB3i','Dg9Rzw4','y2HPBgq','zgv2zwXVCg1LBNq','s1Lfr2C','C29Tzq','CgfYyw1Z','DxjS','Dg9vChbLCKnHC2u','DhHYrfu','u1fmx0Xpr19mrvzfta','zhvYyxrPB25nCW','reiGuxvLCNK','sLz6uum','zxHWB3j0CW','CgfKrw5K','zw52','rMrNDeq','CMvXlMHLywrLCNnBiNGTyxbPlwTLEsjD','su5trvju','AxnVvgLTzq','AvHHtuy','AgvHBhrOq2HLy2S','Bg5JDK8','zKn0vw0','uMj2uNy','C3fSx3f1zxj5','zgvIDwC','B3rW','Dfzpz3y','zxjYB3iUBg9N','yM9KEq','y3jLyxrLv3jPDgvtDhjLyw0','zgjFCxvLCNK','C3bSAxq','BgvUz3rO','w1jfrefdveveoNrVA2vUxq','tMDgtxy','rejFueftu1DpuKq','u1fmx0Xpr19qqvjbtvm','cUkvOokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvOWRILzeGievUDMLYB25Tzw50idOG','yxbPA2v5','C3rHDhvZ','CgLUBY1WCMv0DhK','zMXbz0O','zgf0ywjHC2u','BwfW','mJG0mta3ofn1EgvMyG','mtaYnZK5owruz2foBW','CxvLCNK','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','ChjVy2vZC193yxjUAw5N','Ec1Yzxf1zxn0lwLK','CMvTB3rLqwrKCMvZCW','zMf0ywW','vhjHBNnHy3rPB24G','mJeWmtaWogn2r0ritG','zgvMyxvSDa','w1jfrefdvevexq','w09lxsbqCM9Qzwn0igXVywrLzdOG','iokvKqRILzRILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILz0','vfjbtLnbq1rjt05FqKvhsu4','mJCZmZC4mdzrrNDjC3q','AgvHzgvYCW','uKvtvezpuKDfifjvtLrjtuuGu0vsvKvs','CMvZB2X2zq','DLnVEwC','BMvlvxy','Ahr0Cf9Yzxf1zxn0','Aw5MBW','u1fmx0Xpr19ftKfcteve','y29Kzq','mteYnZaWmgn4zxfjBW','AvzhAvO','yxbPx2TLEq','cUkvLokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvLWO','ANnVBG','y29UzMLNrMLSzq','wfPtzKy','qKvhsu4','z2v0sgvHzgvYCW','ChjVAMvJDa','tgzHsNC','q29VquC','revmrvrf','rermx0nsrufurq','y3jLzgL0x2nHCMq','Cgf0Aa','z2v0','rermx0rst1a','AM9PBG','B2jQzwn0','rermx0fmvevs','yxv0Ag9YAxPHDgLVBG','DhjPBq','C3nU','DgvZDa','ChDK','y3jLzgL0y2fYza','reLHAxC','rKfuquW6ia','zw5KCg9PBNrFCMvNAxn0zxjLza','zgf0ywjHC2vFy29UzMLN','Ag9ZDa','ChjVAMvJDf9SB2fKzwq','yxbPx3nLy3jLDa','ENPXs2K','yxbWlMXVzW','shr3v2G','zxjYB3i','zM5gEKG','Dw5JyxvNAhrfEgnLChrPB24','mwDwzMzHEG','ChjVzhvJDgLVBG','iokvKqRILzeGifbYB2PLy3qGicaGidOG','vfjbtLnbq1rjt05Fq09ntuLu','yMfZzvvYBa','uvziBMS','icbjBMzVoIaGia','CMvWBgfJzq','uhjVy2vZCYbxyxjUAw5NoIa','CgfZC3DVCMq','rhbmBKO','Dg9gAxHLza','B211wwu','te9hx0XfvKvm','txngr2K','C2vYDMLJzuLUzM8','DxnLCI1Hz2vUDa','C3rHCNrZv2L0Aa','Dw5RBM93BG','C2vJCMv0','rgvMyxvSDa','tuzpyKO','uwLht3C','D2fYBG','vufpwuK','q1jfqvrf','Bwf0y2G','rwvJuxm','vfjbtLnbq1rjt05FuK9mtejbq0S','ywnJzxnZx3rVA2vU','Dw5Oyw5KBgvKuMvQzwn0Aw9U','BwvZC2fNzq','mtq5oti4mezTwMLyvq','u0vsvKLdrv9oqu1f','Dhj1zq','C3rHy2S','rgf0ywjHC2u6ia','rfjpua','icbizwfSDgG6ia','Ahj0Aw1L','z2XVyMfSx2vYCM9Yx2HHBMrSzxjZx3nLDhvW','ntzRzNzkAxq','BwTKAxjtEw5J','D1PyDue','C3rKu2vYAwfSAxPLCNm','sMnyCNm','s1vdtee','Dg9ju09tDhjPBMC','quXurvi','uvvyB1y','mJu3mZyYoeD1we5ktW','zNzwyue','Cg9YDa','CgLU','iokvKqRILzeGienVBMzPzYaGicaGidOG','Aw5JBhvKzxm','vwLPy04','r2XVyMfSigvYCM9YigHHBMrSzxjZigLUAxrPywXPEMvK'];a0_0x2356=function(){return _0x11594b;};return a0_0x2356();}let logToFile=![],logDir='./logs',serviceName='restforge',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':'info:blue,warn:yellow,error:red,debug:gray','hideObject':!![]},isDevelopment=process['env']['NODE_ENV']!==a0_0x3a0fef(0x1ef),logLevel=process[a0_0x3a0fef(0x18e)][a0_0x3a0fef(0x1fb)]||'info';let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':a0_0x3a0fef(0x1a9),'options':prettyPrintOptions}:undefined,'base':{'service':a0_0x3a0fef(0x16d),'version':process['env']['APP_VERSION']||a0_0x3a0fef(0x16c),'env':process[a0_0x3a0fef(0x18e)]['NODE_ENV']||a0_0x3a0fef(0x181)},'timestamp':pino['stdTimeFunctions'][a0_0x3a0fef(0x192)],'redact':{'paths':['req.headers.authorization',a0_0x3a0fef(0x190),a0_0x3a0fef(0x1f7),a0_0x3a0fef(0x17f),a0_0x3a0fef(0x178),a0_0x3a0fef(0x1a4),'JWT_SECRET'],'censor':'[REDACTED]'},'serializers':{'req':_0x50d7b6=>({'id':_0x50d7b6['id'],'method':_0x50d7b6['method'],'url':_0x50d7b6[a0_0x3a0fef(0x185)],'path':_0x50d7b6['path'],'remoteAddress':_0x50d7b6['ip']||_0x50d7b6[a0_0x3a0fef(0x179)]?.['remoteAddress']}),'res':_0x17d9f3=>({'statusCode':_0x17d9f3['statusCode'],'headers':_0x17d9f3[a0_0x3a0fef(0x1ce)]?.()}),'err':pino[a0_0x3a0fef(0x15b)]['err']}});function initFileLogging(){const _0x97beb2=a0_0x3a0fef,_0x3deae2={'RsaqA':_0x97beb2(0x151),'HSrAB':function(_0xc663f6,_0x5c15b3){return _0xc663f6===_0x5c15b3;},'rQJkQ':function(_0x125b47,_0x39f64b){return _0x125b47!==_0x39f64b;},'QeDGZ':_0x97beb2(0x175),'OhpPD':_0x97beb2(0x1e9),'rJDBd':_0x97beb2(0x19c),'PuuEF':function(_0x2b90af,_0x849e3d,_0x1249a1){return _0x2b90af(_0x849e3d,_0x1249a1);},'JVzQC':'info'};if(fileLoggingInitialized)return;logToFile=process['env']['LOG_TO_FILE']===_0x3deae2['RsaqA'];const _0x2c66cc=process[_0x97beb2(0x18e)][_0x97beb2(0x1b0)]||_0x97beb2(0x1b7);logDir=process['env'][_0x97beb2(0x170)]||'./logs/'+_0x2c66cc,serviceName=process[_0x97beb2(0x18e)][_0x97beb2(0x150)]||'restforge',sqlLogEnabled=_0x3deae2['HSrAB'](process['env'][_0x97beb2(0x1c4)],_0x3deae2['RsaqA']),sqlLogLevel=process[_0x97beb2(0x18e)][_0x97beb2(0x188)]||_0x97beb2(0x199),sqlLogParams=_0x3deae2['rQJkQ'](process[_0x97beb2(0x18e)][_0x97beb2(0x1a5)],_0x3deae2['QeDGZ']),sqlLogSlowThreshold=parseInt(process['env']['SQL_LOG_SLOW_THRESHOLD'])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x262ed7=path[_0x97beb2(0x1bf)](process['cwd'](),logDir);try{!fs['existsSync'](_0x262ed7)&&fs[_0x97beb2(0x159)](_0x262ed7,{'recursive':!![]});}catch(_0x32c6a0){console['error']('Failed\x20to\x20create\x20log\x20directory\x20'+_0x262ed7+':',_0x32c6a0['message']),fileLoggingInitialized=!![];return;}const _0x3ebaa5=path[_0x97beb2(0x1d8)](_0x262ed7,_0x3deae2['OhpPD']),_0x3b81da=path[_0x97beb2(0x1d8)](_0x262ed7,_0x3deae2['rJDBd']);try{appLogStream=fs[_0x97beb2(0x19e)](_0x3ebaa5,{'flags':'a'}),errorLogStream=fs['createWriteStream'](_0x3b81da,{'flags':'a'}),fileLoggingInitialized=!![];const _0x23c66f={'event':'file_logging_enabled','logDir':_0x262ed7,'files':['app.log','error.log']},_0x40222e='File\x20logging\x20enabled:\x20'+_0x262ed7;logger[_0x97beb2(0x1c3)](_0x23c66f,_0x40222e),_0x3deae2['PuuEF'](writeToFileLog,{..._0x23c66f,'level':_0x3deae2[_0x97beb2(0x18b)],'msg':_0x40222e,'time':new Date()[_0x97beb2(0x15e)]()},'info');}catch(_0x1aebb1){console['error']('Failed\x20to\x20create\x20log\x20streams:',_0x1aebb1[_0x97beb2(0x20d)]),fileLoggingInitialized=!![];}}function writeToFileLog(_0x331285,_0x80db45){const _0x334b68=a0_0x3a0fef,_0x4f208e={'XZSfF':function(_0x23aae2,_0x41a27e){return _0x23aae2||_0x41a27e;}};if(_0x4f208e[_0x334b68(0x1cc)](!logToFile,!appLogStream))return;const _0x9f8a14={'service':serviceName,..._0x331285},_0x116360=JSON['stringify'](_0x9f8a14)+'\x0a';appLogStream['write'](_0x116360),(_0x80db45===_0x334b68(0x1eb)||_0x80db45===_0x334b68(0x1b4))&&(errorLogStream&&errorLogStream['write'](_0x116360));}const createRequestLogger=(_0x32b3a5={})=>{const _0x3e9be6=a0_0x3a0fef;return logger[_0x3e9be6(0x180)](_0x32b3a5);},logServerStart=_0xf79349=>{const _0x2a901d=a0_0x3a0fef,_0x4e79f8={'Mqval':function(_0x58df61,_0x46ef72){return _0x58df61-_0x46ef72;},'cUDHS':function(_0x39c42a,_0x1ac39f){return _0x39c42a/_0x1ac39f;},'oXELS':'Node.js','wZXuA':_0x2a901d(0x202),'lVxhh':'ACTIVE','sPeGr':'NOT\x20ACTIVE','LjMHj':'server_starting','lWnwM':function(_0x445a8f,_0x332239,_0x277b04){return _0x445a8f(_0x332239,_0x277b04);},'FcQFP':'info'},_0x46129d=_0x2a901d(0x1be),_0x1add54=Math['max'](0x0,_0x4e79f8['Mqval'](0x37,_0x46129d[_0x2a901d(0x1a1)])),_0xc6cf6a=Math[_0x2a901d(0x17e)](_0x4e79f8['cUDHS'](_0x1add54,0x2)),_0x3ea1d9=_0x1add54-_0xc6cf6a,_0x5b5f7f='║'+'\x20'['repeat'](_0xc6cf6a)+_0x46129d+'\x20'[_0x2a901d(0x174)](_0x3ea1d9)+'║',_0x231dc6=_0x2a901d(0x1c9)+_0x5b5f7f+_0x2a901d(0x1a6)+(_0xf79349['environment']||_0x4e79f8['oXELS'])[_0x2a901d(0x18d)](0x26)+_0x2a901d(0x1f0)+(_0xf79349['project']||'N/A')[_0x2a901d(0x18d)](0x26)+'\x20║\x0a║\x20\x20Port\x20\x20\x20\x20\x20\x20\x20\x20:\x20'+String(_0xf79349[_0x2a901d(0x163)]||0xbb8)[_0x2a901d(0x18d)](0x26)+_0x2a901d(0x165)+(_0xf79349[_0x2a901d(0x1cb)]||_0x4e79f8[_0x2a901d(0x15a)])[_0x2a901d(0x18d)](0x26)+'\x20║\x0a║\x20\x20API\x20Key\x20\x20\x20\x20\x20:\x20'+(_0xf79349[_0x2a901d(0x178)]?_0x4e79f8['lVxhh']:_0x4e79f8['sPeGr'])[_0x2a901d(0x18d)](0x26)+_0x2a901d(0x1ba);console['log'](_0x231dc6);const _0xc73145={'event':_0x4e79f8['LjMHj'],'project':_0xf79349[_0x2a901d(0x1cf)],'port':_0xf79349['port'],'config':_0xf79349['configFile'],'apiKeyEnabled':!!_0xf79349['apiKey']};logger['info'](_0xc73145),_0x4e79f8['lWnwM'](writeToFileLog,{..._0xc73145,'level':_0x4e79f8['FcQFP'],'msg':'Server\x20starting:\x20'+_0xf79349['project']+'\x20on\x20port\x20'+_0xf79349[_0x2a901d(0x163)],'time':new Date()[_0x2a901d(0x15e)]()},_0x2a901d(0x1c3));},logServerReady=_0x3546e0=>{const _0x13f976=a0_0x3a0fef,_0x23ccbe={'GPkbL':'server_ready','vSoyg':'info'},_0x558477={'event':_0x23ccbe['GPkbL'],'port':_0x3546e0[_0x13f976(0x163)],'module':_0x3546e0['module'],'healthCheck':_0x3546e0['healthCheck'],'serviceInfo':_0x3546e0[_0x13f976(0x1fd)],'baseUrl':_0x3546e0[_0x13f976(0x1f2)]},_0xfbc438='[OK]\x20Server\x20ready\x20on\x20port\x20'+_0x3546e0[_0x13f976(0x163)];logger[_0x13f976(0x1c3)](_0x558477,_0xfbc438),writeToFileLog({..._0x558477,'level':_0x23ccbe[_0x13f976(0x1c0)],'msg':_0xfbc438,'time':new Date()[_0x13f976(0x15e)]()},_0x23ccbe['vSoyg']),_0x3546e0[_0x13f976(0x194)]&&logger['info'](_0x13f976(0x155)+_0x3546e0[_0x13f976(0x194)]),_0x3546e0[_0x13f976(0x1fd)]&&logger['info'](_0x13f976(0x1f4)+_0x3546e0[_0x13f976(0x1fd)]),_0x3546e0[_0x13f976(0x1f2)]&&logger[_0x13f976(0x1c3)]('\x20\x20URL:\x20\x20\x20\x20'+_0x3546e0['baseUrl']);},logProjectLoaded=(_0x216b6a,_0x547d6a)=>{const _0x220f7a=a0_0x3a0fef,_0xd4caaa={'event':_0x220f7a(0x1e6),'project':_0x216b6a,'path':_0x547d6a},_0x562415=_0x220f7a(0x1b9)+_0x216b6a;logger[_0x220f7a(0x1c3)](_0xd4caaa,_0x562415),writeToFileLog({..._0xd4caaa,'level':_0x220f7a(0x1c3),'msg':_0x562415,'time':new Date()['toISOString']()},'info');},logEndpointRegistered=(_0x5ef44b,_0x4514d5)=>{const _0x10a007=a0_0x3a0fef,_0x3ce4ae={'UiicN':function(_0x31bac5,_0x58ad9b,_0x1e522b){return _0x31bac5(_0x58ad9b,_0x1e522b);},'tVOgv':_0x10a007(0x199)},_0x553326={'event':_0x10a007(0x1e3),'endpoint':_0x5ef44b,'route':_0x4514d5},_0x5d4b9a='\x20\x20→\x20'+_0x5ef44b+':\x20'+_0x4514d5;logger[_0x10a007(0x199)](_0x553326,_0x5d4b9a),_0x3ce4ae[_0x10a007(0x167)](writeToFileLog,{..._0x553326,'level':_0x10a007(0x199),'msg':_0x5d4b9a,'time':new Date()[_0x10a007(0x15e)]()},_0x3ce4ae[_0x10a007(0x19b)]);},logDatabaseConfig=_0x370299=>{const _0x4c609c=a0_0x3a0fef,_0x201d80={'CooAG':_0x4c609c(0x199)},_0x307aa5={'event':_0x4c609c(0x1e4),'host':_0x370299[_0x4c609c(0x1e5)],'port':_0x370299['port'],'database':_0x370299['database'],'type':_0x370299['type'],'user':_0x370299[_0x4c609c(0x177)]},_0x46a235=_0x4c609c(0x153)+_0x370299['type']+'://'+_0x370299[_0x4c609c(0x1e5)]+':'+_0x370299[_0x4c609c(0x163)]+'/'+_0x370299[_0x4c609c(0x1ab)];logger['debug'](_0x307aa5,_0x46a235),writeToFileLog({..._0x307aa5,'level':_0x201d80['CooAG'],'msg':_0x46a235,'time':new Date()['toISOString']()},_0x201d80[_0x4c609c(0x1d1)]);},logRequest=(_0x4ca6fd,_0x475933,_0x1da2f1)=>{const _0xd68eef=a0_0x3a0fef,_0x1fae99={'QVHnk':_0xd68eef(0x1c2),'lncvO':_0xd68eef(0x1c3),'MsFGi':function(_0xaa0613,_0x2bceb7){return _0xaa0613>=_0x2bceb7;},'EecQs':'error','DpLnJ':function(_0x173457,_0x18c3f6){return _0x173457>=_0x18c3f6;},'QybbD':'warn'},_0x5a13d0={'event':_0x1fae99[_0xd68eef(0x1f3)],'method':_0x4ca6fd[_0xd68eef(0x17d)],'path':_0x4ca6fd['path'],'statusCode':_0x475933['statusCode'],'durationMs':_0x1da2f1,'ip':_0x4ca6fd['ip']},_0x29c3d0=_0x4ca6fd['method']+'\x20'+_0x4ca6fd[_0xd68eef(0x1d5)]+'\x20-\x20'+_0x475933[_0xd68eef(0x173)]+'\x20('+_0x1da2f1+'ms)';let _0x1a1e1a=_0x1fae99[_0xd68eef(0x195)];if(_0x1fae99[_0xd68eef(0x1fc)](_0x475933[_0xd68eef(0x173)],0x1f4))_0x1a1e1a=_0x1fae99[_0xd68eef(0x209)],logger['error'](_0x5a13d0,_0x29c3d0);else _0x1fae99[_0xd68eef(0x1f8)](_0x475933['statusCode'],0x190)?(_0x1a1e1a=_0x1fae99['QybbD'],logger[_0xd68eef(0x205)](_0x5a13d0,_0x29c3d0)):logger['info'](_0x5a13d0,_0x29c3d0);writeToFileLog({..._0x5a13d0,'level':_0x1a1e1a,'msg':_0x29c3d0,'time':new Date()['toISOString']()},_0x1a1e1a);},SENSITIVE_PARAM_PATTERNS=['password','passwd',a0_0x3a0fef(0x1df),'token',a0_0x3a0fef(0x20b),'refresh_token',a0_0x3a0fef(0x201),a0_0x3a0fef(0x1e7),a0_0x3a0fef(0x1a7),a0_0x3a0fef(0x1c8),'credential','credentials','pin',a0_0x3a0fef(0x19a),'private_key','privatekey'],redactSensitiveParams=(_0x996b3a,_0x13ffee)=>{const _0x5779b4=a0_0x3a0fef,_0x5f1046={'YQONS':'[REDACTED]','iPehB':_0x5779b4(0x17a),'fmoXN':_0x5779b4(0x1a2),'afuXA':'[REDACTED:hash]','VoitX':function(_0x2143b5,_0x935a18){return _0x2143b5===_0x935a18;}};if(!_0x996b3a||_0x5f1046['VoitX'](_0x996b3a['length'],0x0))return _0x996b3a;const _0xe138db=_0x13ffee[_0x5779b4(0x16e)](),_0xce3bd6=_0xe138db[_0x5779b4(0x208)](/\(([^)]+)\)\s*values/i);let _0xbbd62c=[];_0xce3bd6&&(_0xbbd62c=_0xce3bd6[0x1][_0x5779b4(0x1a0)](',')[_0x5779b4(0x1ac)](_0x176440=>_0x176440[_0x5779b4(0x1dc)]()['toLowerCase']()));const _0x50ac23=_0xe138db[_0x5779b4(0x208)](/set\s+(.+?)(?:\s+where|$)/i);if(_0x50ac23){const _0x530587=_0x50ac23[0x1],_0x612543=_0x530587[_0x5779b4(0x208)](/(\w+)\s*=/g);_0x612543&&(_0xbbd62c=_0x612543['map'](_0xfceae4=>_0xfceae4[_0x5779b4(0x1f5)](/\s*=/,'')['trim']()[_0x5779b4(0x16e)]()));}return _0x996b3a[_0x5779b4(0x1ac)]((_0x169045,_0xfe4d7a)=>{const _0x2df46a=_0x5779b4;if(_0xbbd62c[_0xfe4d7a]){const _0xe26b34=_0xbbd62c[_0xfe4d7a],_0x409d02=SENSITIVE_PARAM_PATTERNS[_0x2df46a(0x183)](_0x54452e=>_0xe26b34['includes'](_0x54452e));if(_0x409d02)return _0x5f1046['YQONS'];}if(typeof _0x169045===_0x5f1046[_0x2df46a(0x16a)]&&_0x169045[_0x2df46a(0x1a1)]>0x20){if(/^[a-zA-Z0-9+/=_.-]+$/[_0x2df46a(0x1de)](_0x169045)&&_0x169045[_0x2df46a(0x166)]('.'))return _0x5f1046['fmoXN'];if(/^[a-fA-F0-9]{32,}$/[_0x2df46a(0x1de)](_0x169045))return _0x5f1046['afuXA'];}return _0x169045;});},parseQueryMetadata=_0x267f97=>{const _0xa36976=a0_0x3a0fef,_0x5b4ba5={'QUXoV':'SELECT','gQDTT':'INSERT','MFObJ':_0xa36976(0x171),'jjFFH':'DELETE','KYEGg':_0xa36976(0x1cd),'SSrBe':'START\x20TRANSACTION','KUCLA':_0xa36976(0x1bb),'ADqTZ':_0xa36976(0x1f1),'sgSOb':_0xa36976(0x207),'flAgJ':_0xa36976(0x15f),'gjRTY':_0xa36976(0x1da),'dfFFH':_0xa36976(0x154)},_0x3303a2=_0x267f97['trim'](),_0xcdc83c=_0x3303a2[_0xa36976(0x186)]();let _0x4008f9='UNKNOWN',_0x1f41ee=null;if(_0xcdc83c[_0xa36976(0x1ff)](_0x5b4ba5[_0xa36976(0x160)])){_0x4008f9=_0x5b4ba5[_0xa36976(0x160)];const _0x5b1028=_0x3303a2[_0xa36976(0x208)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x1f41ee=_0x5b1028?_0x5b1028[0x1]:null;}else{if(_0xcdc83c['startsWith'](_0x5b4ba5['gQDTT'])){_0x4008f9=_0xa36976(0x191);const _0x1b2866=_0x3303a2['match'](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x1f41ee=_0x1b2866?_0x1b2866[0x1]:null;}else{if(_0xcdc83c[_0xa36976(0x1ff)](_0x5b4ba5['MFObJ'])){_0x4008f9=_0x5b4ba5[_0xa36976(0x203)];const _0x54aacd=_0x3303a2['match'](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x1f41ee=_0x54aacd?_0x54aacd[0x1]:null;}else{if(_0xcdc83c['startsWith'](_0xa36976(0x1d2))){_0x4008f9=_0x5b4ba5['jjFFH'];const _0x59496=_0x3303a2[_0xa36976(0x208)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x1f41ee=_0x59496?_0x59496[0x1]:null;}else{if(_0xcdc83c['startsWith'](_0x5b4ba5[_0xa36976(0x182)])||_0xcdc83c[_0xa36976(0x1ff)](_0x5b4ba5['SSrBe']))_0x4008f9=_0x5b4ba5[_0xa36976(0x15d)];else{if(_0xcdc83c[_0xa36976(0x1ff)]('COMMIT'))_0x4008f9=_0x5b4ba5['ADqTZ'];else{if(_0xcdc83c[_0xa36976(0x1ff)]('ROLLBACK'))_0x4008f9=_0xa36976(0x20a);else{if(_0xcdc83c['startsWith'](_0x5b4ba5['sgSOb']))_0x4008f9=_0xa36976(0x1d3);else{if(_0xcdc83c[_0xa36976(0x1ff)](_0x5b4ba5[_0xa36976(0x1aa)]))_0x4008f9=_0x5b4ba5['gjRTY'];else _0xcdc83c['startsWith'](_0x5b4ba5['dfFFH'])&&(_0x4008f9=_0xa36976(0x1d7));}}}}}}}}return{'type':_0x4008f9,'table':_0x1f41ee};},startQueryTimer=()=>{const _0x5b0c23={'URMCb':function(_0x1ae3fb,_0x168813){return _0x1ae3fb(_0x168813);},'txrDU':function(_0x483f27,_0x94f7bd){return _0x483f27+_0x94f7bd;},'uMfWQ':function(_0x171be3,_0x2d9127){return _0x171be3*_0x2d9127;}},_0x202550=process['hrtime']();return()=>{const _0x5ce7cc=a0_0x10b9,[_0x3fa842,_0x5966f5]=process[_0x5ce7cc(0x156)](_0x202550);return _0x5b0c23['URMCb'](parseFloat,_0x5b0c23[_0x5ce7cc(0x187)](_0x5b0c23['uMfWQ'](_0x3fa842,0x3e8),_0x5966f5/0xf4240)[_0x5ce7cc(0x1f9)](0x2));};},logQuery=(_0x38e722,_0x28f708=[],_0x16874d={})=>{const _0x4cc86d=a0_0x3a0fef,_0x4625d0={'SxuVu':function(_0xb56930,_0x9394a6){return _0xb56930>_0x9394a6;},'UAOYI':function(_0x35a6d2,_0x3471db,_0x58e4d2){return _0x35a6d2(_0x3471db,_0x58e4d2);},'HwXVB':function(_0x400976,_0x45b629){return _0x400976>_0x45b629;},'Mzhwr':_0x4cc86d(0x200),'NgFMv':function(_0xf440ff,_0x22b2be){return _0xf440ff!==_0x22b2be;},'xiUlP':_0x4cc86d(0x199),'BWoKU':'\x20[SLOW]','DjizH':'warn','neKUv':'info','FdgtD':function(_0x153d6a,_0x54df6c,_0x2175f1){return _0x153d6a(_0x54df6c,_0x2175f1);}};if(!sqlLogEnabled){logger['debug']({'event':_0x4cc86d(0x19f),'query':_0x38e722['substring'](0x0,0xc8),'paramCount':_0x28f708['length']},_0x4cc86d(0x18a));return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType='postgresql'}=_0x16874d,{type:_0xc60707,table:_0x947d5}=parseQueryMetadata(_0x38e722),_0xd55b17={'event':_0x4cc86d(0x198),'queryType':_0xc60707,'table':_0x947d5,'query':_0x38e722,'paramCount':_0x28f708[_0x4cc86d(0x1a1)],'dbType':dbType};sqlLogParams&&_0x4625d0['SxuVu'](_0x28f708[_0x4cc86d(0x1a1)],0x0)&&(_0xd55b17[_0x4cc86d(0x184)]=_0x4625d0[_0x4cc86d(0x206)](redactSensitiveParams,_0x28f708,_0x38e722));duration!==null&&(_0xd55b17[_0x4cc86d(0x189)]=duration,_0xd55b17['isSlow']=_0x4625d0['HwXVB'](duration,sqlLogSlowThreshold));rowsAffected!==null&&(_0xd55b17['rowsAffected']=rowsAffected);const _0x52e328=_0x947d5||_0x4625d0['Mzhwr'];let _0x1de643='['+_0xc60707+']\x20'+_0x52e328;_0x4625d0[_0x4cc86d(0x1a3)](duration,null)&&(_0x1de643+='\x20('+duration+_0x4cc86d(0x176));const _0x5782da=duration!==null&&duration>sqlLogSlowThreshold;let _0x19af1a=_0x4625d0['xiUlP'];if(_0x5782da)_0x1de643+=_0x4625d0[_0x4cc86d(0x169)],_0x19af1a=_0x4625d0['DjizH'],logger['warn'](_0xd55b17,_0x1de643);else sqlLogLevel==='info'?(_0x19af1a=_0x4625d0[_0x4cc86d(0x1c1)],logger['info'](_0xd55b17,_0x1de643)):logger['debug'](_0xd55b17,_0x1de643);_0x4625d0[_0x4cc86d(0x18f)](writeToFileLog,{..._0xd55b17,'level':_0x19af1a,'msg':_0x1de643,'time':new Date()['toISOString']()},_0x19af1a);},logTransaction=(_0x205b58,_0x2a4d26)=>{const _0xb449c6=a0_0x3a0fef,_0x232cb0={'LuCIk':_0xb449c6(0x199)},_0x4adbc9={'event':'db_transaction','status':_0x205b58,'queryCount':_0x2a4d26},_0x4e3c32=_0xb449c6(0x1b5)+_0x205b58;logger['debug'](_0x4adbc9,_0x4e3c32),writeToFileLog({..._0x4adbc9,'level':'debug','msg':_0x4e3c32,'time':new Date()[_0xb449c6(0x15e)]()},_0x232cb0['LuCIk']);},redactObject=_0x388801=>{const _0x177007=a0_0x3a0fef,_0x21d38f={'LfaJw':_0x177007(0x1d9),'fnFzH':'pwd','HtwWh':_0x177007(0x201),'RbvRv':_0x177007(0x1c8),'gmWZl':_0x177007(0x1db),'uDyfW':_0x177007(0x1d4),'hApvL':_0x177007(0x1dd),'PrDnB':'privatekey','AkCYz':_0x177007(0x20b),'XKIZL':_0x177007(0x1b8),'iXaMF':function(_0xb137c1,_0x577ff6){return _0xb137c1===_0x577ff6;},'TLzVI':function(_0x350083,_0x3d197a){return _0x350083(_0x3d197a);}};if(!_0x388801||typeof _0x388801!==_0x21d38f[_0x177007(0x1d0)])return _0x388801;const _0x30653a=['password',_0x177007(0x17b),_0x21d38f[_0x177007(0x1ec)],'token',_0x21d38f[_0x177007(0x1ea)],'apikey',_0x21d38f[_0x177007(0x197)],_0x21d38f['gmWZl'],_0x177007(0x1e0),_0x21d38f['uDyfW'],'cvv',_0x21d38f['hApvL'],_0x177007(0x164),'private_key',_0x21d38f[_0x177007(0x172)],'refresh_token',_0x21d38f[_0x177007(0x16f)]],_0x4951f2=Array['isArray'](_0x388801)?[..._0x388801]:{..._0x388801};for(const _0x33c8e4 of Object['keys'](_0x4951f2)){const _0x93dce3=_0x33c8e4[_0x177007(0x16e)]();if(_0x30653a[_0x177007(0x183)](_0x256462=>_0x93dce3[_0x177007(0x166)](_0x256462)))_0x4951f2[_0x33c8e4]=_0x21d38f['XKIZL'];else _0x21d38f[_0x177007(0x193)](typeof _0x4951f2[_0x33c8e4],_0x21d38f['LfaJw'])&&_0x4951f2[_0x33c8e4]!==null&&(_0x4951f2[_0x33c8e4]=_0x21d38f['TLzVI'](redactObject,_0x4951f2[_0x33c8e4]));}return _0x4951f2;},logError=(_0x4675d3,_0x3f7858={},_0xab639=null)=>{const _0x3ae75e=a0_0x3a0fef,_0x5199c5={'fCtUm':_0x3ae75e(0x1eb),'fvVaA':function(_0x1df53c,_0x2448ec,_0x115545){return _0x1df53c(_0x2448ec,_0x115545);}},_0x366a00={'event':_0x5199c5[_0x3ae75e(0x196)],'errorName':_0x4675d3[_0x3ae75e(0x16b)]||'Error','errorMessage':_0x4675d3['message'],'errorCode':_0x4675d3['code']||null,'stack':_0x4675d3['stack'],..._0x3f7858},_0x22e266=_0xab639||'Error:\x20'+_0x4675d3['message'];logger[_0x3ae75e(0x1eb)](_0x366a00,_0x22e266),_0x5199c5[_0x3ae75e(0x162)](writeToFileLog,{..._0x366a00,'level':_0x5199c5[_0x3ae75e(0x196)],'msg':_0x22e266,'time':new Date()[_0x3ae75e(0x15e)]()},_0x5199c5[_0x3ae75e(0x196)]);},logFatalError=(_0x433cfb,_0x408443={},_0x28b8a3=null)=>{const _0x3850a2=a0_0x3a0fef,_0x438fea={'xcukj':'fatal_error','FCeIf':'Error','gnJSx':'CRITICAL','QiGOw':function(_0x4f6f4d,_0x6f72fb,_0x3ee5f7){return _0x4f6f4d(_0x6f72fb,_0x3ee5f7);},'nWkIw':'error'},_0x1651c1={'event':_0x438fea['xcukj'],'errorName':_0x433cfb['name']||_0x438fea['FCeIf'],'errorMessage':_0x433cfb['message'],'errorCode':_0x433cfb[_0x3850a2(0x1c5)]||null,'stack':_0x433cfb['stack'],'severity':_0x438fea[_0x3850a2(0x17c)],..._0x408443},_0x1adc42=_0x28b8a3||_0x3850a2(0x1e2)+_0x433cfb['message'];logger[_0x3850a2(0x1b4)](_0x1651c1,_0x1adc42),_0x438fea[_0x3850a2(0x204)](writeToFileLog,{..._0x1651c1,'level':_0x3850a2(0x1b4),'msg':_0x1adc42,'time':new Date()[_0x3850a2(0x15e)]()},_0x438fea['nWkIw']);},logHttpError=(_0x1a208c,_0x12f956,_0x117aff={})=>{const _0xa6cde7=a0_0x3a0fef,_0x42b1f9={'zzqKi':'Error','sAHVg':_0xa6cde7(0x1b2),'QXYMw':function(_0x2dfbed,_0x17896c){return _0x2dfbed>=_0x17896c;},'PFlaQ':function(_0x158a43,_0x5a291a,_0xedad06){return _0x158a43(_0x5a291a,_0xedad06);}},_0x1d5d8a={'event':'http_error','errorName':_0x1a208c['name']||_0x42b1f9[_0xa6cde7(0x1e8)],'errorMessage':_0x1a208c[_0xa6cde7(0x20d)],'errorCode':_0x1a208c[_0xa6cde7(0x1c5)]||_0x1a208c[_0xa6cde7(0x173)]||0x1f4,'stack':_0x1a208c[_0xa6cde7(0x152)],'method':_0x12f956?.['method'],'url':_0x12f956?.[_0xa6cde7(0x185)]||_0x12f956?.['originalUrl'],'path':_0x12f956?.[_0xa6cde7(0x1d5)],'ip':_0x12f956?.['ip']||_0x12f956?.[_0xa6cde7(0x179)]?.[_0xa6cde7(0x1b3)],'userAgent':_0x12f956?.[_0xa6cde7(0x1d6)]?.(_0xa6cde7(0x1fe)),'requestId':_0x12f956?.['id']||_0x12f956?.[_0xa6cde7(0x1bd)]?.[_0x42b1f9['sAHVg']],'body':_0x12f956?.[_0xa6cde7(0x19d)]?redactObject(_0x12f956[_0xa6cde7(0x19d)]):undefined,'query':_0x12f956?.[_0xa6cde7(0x1af)],..._0x117aff},_0x23cdfc=_0x1a208c[_0xa6cde7(0x173)]||_0x1a208c[_0xa6cde7(0x1a8)]||0x1f4,_0x11db43='HTTP\x20'+_0x23cdfc+':\x20'+_0x1a208c['message'];_0x42b1f9['QXYMw'](_0x23cdfc,0x1f4)?logger[_0xa6cde7(0x1eb)](_0x1d5d8a,_0x11db43):logger['warn'](_0x1d5d8a,_0x11db43),_0x42b1f9['PFlaQ'](writeToFileLog,{..._0x1d5d8a,'level':_0x23cdfc>=0x1f4?_0xa6cde7(0x1eb):_0xa6cde7(0x205),'msg':_0x11db43,'time':new Date()['toISOString']()},_0x23cdfc>=0x1f4?_0xa6cde7(0x1eb):_0xa6cde7(0x205));},logUncaughtError=(_0x430c04,_0x13afd3)=>{const _0x4da763=a0_0x3a0fef,_0x3bae60={'KxnfS':'Error','cqhxE':function(_0x147115,_0x1d06d9,_0x444320){return _0x147115(_0x1d06d9,_0x444320);},'THjpv':_0x4da763(0x1b4),'NxTRt':_0x4da763(0x1eb)},_0x115e3c={'event':_0x430c04,'errorName':_0x13afd3?.[_0x4da763(0x16b)]||_0x3bae60['KxnfS'],'errorMessage':_0x13afd3?.['message']||String(_0x13afd3),'errorCode':_0x13afd3?.[_0x4da763(0x1c5)]||null,'stack':_0x13afd3?.['stack'],'severity':'CRITICAL','processId':process['pid'],'memoryUsage':process['memoryUsage'](),'uptime':process['uptime']()},_0x40d3cd='['+_0x430c04['toUpperCase']()+']\x20'+(_0x13afd3?.[_0x4da763(0x20d)]||_0x13afd3);logger[_0x4da763(0x1b4)](_0x115e3c,_0x40d3cd),_0x3bae60['cqhxE'](writeToFileLog,{..._0x115e3c,'level':_0x3bae60['THjpv'],'msg':_0x40d3cd,'time':new Date()[_0x4da763(0x15e)]()},_0x3bae60['NxTRt']);},setupGlobalErrorHandlers=()=>{const _0x21d9f6=a0_0x3a0fef,_0x4385e6={'iVGiZ':function(_0x596187,_0x490594,_0x25bc8c){return _0x596187(_0x490594,_0x25bc8c);},'JcXrs':function(_0x2b4e98,_0x176f78){return _0x2b4e98 instanceof _0x176f78;},'fzUjA':_0x21d9f6(0x1ed),'PECrR':'warning','FxnMq':_0x21d9f6(0x168),'omuYe':function(_0x22fd39,_0x484dc1,_0x41efcd){return _0x22fd39(_0x484dc1,_0x41efcd);},'DIaiw':_0x21d9f6(0x1c3)};process['on'](_0x4385e6['fzUjA'],_0x2dac1a=>{const _0x1a6992=_0x21d9f6;_0x4385e6[_0x1a6992(0x1c7)](logUncaughtError,'uncaughtException',_0x2dac1a),setTimeout(()=>{process['exit'](0x1);},0x3e8);}),process['on'](_0x21d9f6(0x20c),(_0x45ee09,_0x55010a)=>{const _0x3e37c4=_0x21d9f6,_0x5ea07e=_0x4385e6[_0x3e37c4(0x15c)](_0x45ee09,Error)?_0x45ee09:new Error(String(_0x45ee09));logUncaughtError('unhandledRejection',_0x5ea07e);}),process['on'](_0x4385e6['PECrR'],_0x3ceb63=>{const _0x21a271=_0x21d9f6;logger[_0x21a271(0x205)]({'event':_0x21a271(0x1b1),'name':_0x3ceb63['name'],'message':_0x3ceb63['message'],'stack':_0x3ceb63[_0x21a271(0x152)]},_0x21a271(0x1f6)+_0x3ceb63['message']);});const _0x1b4592={'event':_0x21d9f6(0x157)},_0x3bb842=_0x4385e6['FxnMq'];logger[_0x21d9f6(0x1c3)](_0x1b4592,_0x3bb842),_0x4385e6[_0x21d9f6(0x1fa)](writeToFileLog,{..._0x1b4592,'level':_0x4385e6[_0x21d9f6(0x1e1)],'msg':_0x3bb842,'time':new Date()['toISOString']()},_0x21d9f6(0x1c3));},createErrorHandlerMiddleware=()=>{return(_0x5f052a,_0x4529cb,_0x35b227,_0x15d653)=>{const _0x7c4d08=a0_0x10b9;logHttpError(_0x5f052a,_0x4529cb);const _0x9a88ef=_0x5f052a[_0x7c4d08(0x173)]||_0x5f052a[_0x7c4d08(0x1a8)]||0x1f4;_0x35b227['status'](_0x9a88ef)[_0x7c4d08(0x1ca)]({'success':![],'error':_0x9a88ef>=0x1f4?'Internal\x20server\x20error':_0x5f052a[_0x7c4d08(0x20d)],'requestId':_0x4529cb['id']||_0x4529cb['headers']?.[_0x7c4d08(0x1b2)]||null});};};module[a0_0x3a0fef(0x18c)]={'logger':logger,'createRequestLogger':createRequestLogger,'logServerStart':logServerStart,'logServerReady':logServerReady,'logProjectLoaded':logProjectLoaded,'logEndpointRegistered':logEndpointRegistered,'logDatabaseConfig':logDatabaseConfig,'logRequest':logRequest,'logQuery':logQuery,'logTransaction':logTransaction,'startQueryTimer':startQueryTimer,'parseQueryMetadata':parseQueryMetadata,'redactSensitiveParams':redactSensitiveParams,'initFileLogging':initFileLogging,'logError':logError,'logFatalError':logFatalError,'logHttpError':logHttpError,'logUncaughtError':logUncaughtError,'setupGlobalErrorHandlers':setupGlobalErrorHandlers,'createErrorHandlerMiddleware':createErrorHandlerMiddleware,'redactObject':redactObject,'SQL_LOG_CONFIG':{'enabled':sqlLogEnabled,'level':sqlLogLevel,'logParams':sqlLogParams,'slowThreshold':sqlLogSlowThreshold},'FILE_LOG_CONFIG':{'enabled':logToFile,'directory':logDir,'serviceName':serviceName}};
@@ -1 +1 @@
1
- const a0_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
+ const a0_0x18d008=a0_0x515a;(function(_0x2ae52d,_0x1207ca){const _0x4b8381=a0_0x515a,_0x3a411a=_0x2ae52d();while(!![]){try{const _0x28173d=parseInt(_0x4b8381(0x101))/0x1*(-parseInt(_0x4b8381(0x117))/0x2)+parseInt(_0x4b8381(0x112))/0x3+-parseInt(_0x4b8381(0x102))/0x4*(-parseInt(_0x4b8381(0x111))/0x5)+parseInt(_0x4b8381(0x104))/0x6*(parseInt(_0x4b8381(0x120))/0x7)+-parseInt(_0x4b8381(0x11a))/0x8+-parseInt(_0x4b8381(0x10f))/0x9*(-parseInt(_0x4b8381(0x108))/0xa)+-parseInt(_0x4b8381(0x10d))/0xb;if(_0x28173d===_0x1207ca)break;else _0x3a411a['push'](_0x3a411a['shift']());}catch(_0x5c5f6e){_0x3a411a['push'](_0x3a411a['shift']());}}}(a0_0x3404,0x64eee));const dbType=(process['env']['DB_TYPE']||'postgresql')['toLowerCase']();function a0_0x515a(_0x34364b,_0x686443){_0x34364b=_0x34364b-0xfc;const _0x340432=a0_0x3404();let _0x515a72=_0x340432[_0x34364b];if(a0_0x515a['ouCZnv']===undefined){var _0x24c06e=function(_0x24341b){const _0x235650='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4c3baf='',_0x5bcaae='';for(let _0x384057=0x0,_0x470878,_0x22464d,_0x1fdb0f=0x0;_0x22464d=_0x24341b['charAt'](_0x1fdb0f++);~_0x22464d&&(_0x470878=_0x384057%0x4?_0x470878*0x40+_0x22464d:_0x22464d,_0x384057++%0x4)?_0x4c3baf+=String['fromCharCode'](0xff&_0x470878>>(-0x2*_0x384057&0x6)):0x0){_0x22464d=_0x235650['indexOf'](_0x22464d);}for(let _0x15d039=0x0,_0x488fdf=_0x4c3baf['length'];_0x15d039<_0x488fdf;_0x15d039++){_0x5bcaae+='%'+('00'+_0x4c3baf['charCodeAt'](_0x15d039)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5bcaae);};a0_0x515a['Fstlqp']=_0x24c06e,a0_0x515a['qbQgBq']={},a0_0x515a['ouCZnv']=!![];}const _0x330b57=_0x340432[0x0],_0x1d278d=_0x34364b+_0x330b57,_0x151d65=a0_0x515a['qbQgBq'][_0x1d278d];return!_0x151d65?(_0x515a72=a0_0x515a['Fstlqp'](_0x515a72),a0_0x515a['qbQgBq'][_0x1d278d]=_0x515a72):_0x515a72=_0x151d65,_0x515a72;}let executeQuery;if(dbType==='oracle'){const oracleDb=require('./db-oracle');executeQuery=(_0x32b820,_0x3f2bb4)=>oracleDb[a0_0x18d008(0xfd)](_0x32b820,_0x3f2bb4);}else{if(dbType==='mysql'){const mysqlDb=require('./db-mysql');executeQuery=(_0x45f25a,_0x218a62)=>mysqlDb[a0_0x18d008(0xfd)](_0x45f25a,_0x218a62);}else executeQuery=require('./db')[a0_0x18d008(0xfd)];}function a0_0x3404(){const _0x5bba96=['mZuZmdqZmNHdBhnLyq','Aw5MBW','iIbUB3qGzM91BMqGAw4G','rwX2tMO','iezst00G','y2XLyxjdywnOzq','nte2ndK0m0v6sxLwBa','Bg9VA3vWx3rHyMXLx2XVywrLza','ChvZAa','z2v0','rvzoD2S','CMvZB2X2zuXVB2T1CfzHBhvL','Dg9mB3DLCKnHC2u','BgvUz3rO','zxHLy3v0zvf1zxj5','u0vmrunuia','BwvZC2fNzq','BwfW','ndi0mgzurwjzta','mJeWodqZnNzouejkCW','DhjPBq','nLbRz2zpAG','Bg9VA3vWx2zPzwXKC19WCM9JzxnZzwq','q1DwBxe','C2v0','mtbfu3vvteO','ihzHBhvLkhmPig5VDcbMB3vUzcbPBIa','z2v0rgLZDgLUy3rwywX1zxm','Bg9HzeXVB2T1CfrHyMXL','zxHWB3j0CW','mZa4mJa3ovLmzenjtq','AgfZ','mtGZndm2mKXdyLfuwa','Dg9vChbLCKnHC2u','nwDtvMn2Aa','mtGXmZC3wLnksxv5','Bg9VA3vWq2fJAgu','A2v5CW','vMfSDwuGiG','zxjYB3i','mtG2AxrvAKjx','zM9YrwfJAa','y2XLyxi'];a0_0x3404=function(){return _0x5bba96;};return a0_0x3404();}const {logger}=require('./logger');class LookupResolver{constructor(){const _0x4dc978=a0_0x18d008;this[_0x4dc978(0x113)]=new Map();}[a0_0x18d008(0x11f)](){const _0x181dc3=a0_0x18d008,_0x3d15f3={'vPBUq':'lookup_cache_cleared'};this[_0x181dc3(0x113)][_0x181dc3(0x119)](),logger['debug']({'event':_0x3d15f3['vPBUq']},'Lookup\x20cache\x20cleared');}async['loadLookupTable'](_0x22c25f,_0x4f4909,_0x28ab63){const _0x26b0bf=a0_0x18d008,_0x11b455={'CWVmq':function(_0x46c8aa,_0x18e5ba){return _0x46c8aa!==_0x18e5ba;},'EVNwk':function(_0x4ac4f9,_0x579879){return _0x4ac4f9(_0x579879);}},_0x148c07=_0x22c25f+':'+_0x4f4909+':'+_0x28ab63;if(this[_0x26b0bf(0x113)]['has'](_0x148c07))return this[_0x26b0bf(0x113)]['get'](_0x148c07);try{const _0xb98eb6=_0x26b0bf(0xfe)+_0x28ab63+',\x20'+_0x4f4909+_0x26b0bf(0x11e)+_0x22c25f,_0x1c5975=await executeQuery(_0xb98eb6),_0x31b01b=new Map();return _0x1c5975[_0x26b0bf(0x118)](_0x8f5f74=>{const _0x6303d3=_0x26b0bf,_0x30de80=_0x8f5f74[_0x4f4909]!==undefined?_0x8f5f74[_0x4f4909]:_0x8f5f74[_0x4f4909['toUpperCase']()],_0x12a00e=_0x11b455[_0x6303d3(0x106)](_0x8f5f74[_0x28ab63],undefined)?_0x8f5f74[_0x28ab63]:_0x8f5f74[_0x28ab63[_0x6303d3(0x110)]()];_0x30de80!==null&&_0x11b455[_0x6303d3(0x106)](_0x30de80,undefined)&&(_0x31b01b[_0x6303d3(0x107)](_0x11b455[_0x6303d3(0x124)](String,_0x30de80)[_0x6303d3(0x126)]()['trim'](),_0x12a00e),_0x31b01b[_0x6303d3(0x107)](String(_0x30de80)[_0x6303d3(0x103)](),_0x12a00e));}),this['lookupCache'][_0x26b0bf(0x107)](_0x148c07,_0x31b01b),logger[_0x26b0bf(0x11b)]({'event':_0x26b0bf(0x121),'table':_0x22c25f,'column':_0x4f4909,'count':_0x1c5975[_0x26b0bf(0xfc)]},'Lookup\x20table\x20loaded:\x20'+_0x22c25f),_0x31b01b;}catch(_0x11b37e){logger[_0x26b0bf(0x116)]({'event':'lookup_table_load_error','table':_0x22c25f,'error':_0x11b37e[_0x26b0bf(0xff)]},'Failed\x20to\x20load\x20lookup\x20table:\x20'+_0x22c25f);throw _0x11b37e;}}['resolveLookupValue'](_0x3ac9a9,_0x565067){const _0xb05fd5=a0_0x18d008,_0x49369e={'sZSOY':function(_0x4fd7d6,_0x23337b){return _0x4fd7d6===_0x23337b;},'mmzix':function(_0x376809,_0x3e2767){return _0x376809===_0x3e2767;},'CTrqt':function(_0x2633a8,_0x34a103){return _0x2633a8(_0x34a103);}};if(_0x3ac9a9===null||_0x49369e['sZSOY'](_0x3ac9a9,undefined)||_0x49369e['mmzix'](_0x3ac9a9,''))return null;const _0x103cbd=_0x49369e['CTrqt'](String,_0x3ac9a9)[_0xb05fd5(0x103)]();if(_0x565067[_0xb05fd5(0x10e)](_0x103cbd))return _0x565067[_0xb05fd5(0x123)](_0x103cbd);const _0x39c446=_0x103cbd[_0xb05fd5(0x126)]();if(_0x565067['has'](_0x39c446))return _0x565067['get'](_0x39c446);return null;}async['processLookupFields'](_0x10615a,_0x48a901){const _0xe884e5=a0_0x18d008,_0x307d97={'UDFMn':function(_0x1dcb59,_0x12491c){return _0x1dcb59!==_0x12491c;},'FfDUK':function(_0x52340b,_0x4fc2f6){return _0x52340b===_0x4fc2f6;},'ElvNj':'Lookup\x20fields\x20processed'};if(!_0x48a901||_0x307d97['FfDUK'](Object['keys'](_0x48a901)[_0xe884e5(0xfc)],0x0))return{'processedRows':_0x10615a,'errors':[]};const _0x1438e6=[],_0x276865=new Map();for(const [_0x221b20,_0x305b36]of Object['entries'](_0x48a901)){const {lookupTable:_0x594570,lookupColumn:_0x123cf2,lookupIdColumn:_0x1a3eac}=_0x305b36,_0x42ed1a=_0x594570+':'+_0x123cf2+':'+_0x1a3eac;if(!_0x276865['has'](_0x42ed1a)){const _0x47e115=await this[_0xe884e5(0x10b)](_0x594570,_0x123cf2,_0x1a3eac);_0x276865[_0xe884e5(0x107)](_0x42ed1a,_0x47e115);}}const _0x94d3ea=_0x10615a[_0xe884e5(0x100)]((_0x591614,_0x4abe3a)=>{const _0x2c7bb4=_0xe884e5,_0x59c13d={..._0x591614};for(const [_0x459da1,_0x282822]of Object['entries'](_0x48a901)){const {lookupTable:_0x24438c,lookupColumn:_0x32f974,lookupIdColumn:_0x43f5f7,targetField:_0x4df695,required:_0xa951ca}=_0x282822,_0x5a46b7=_0x24438c+':'+_0x32f974+':'+_0x43f5f7,_0x44f2f3=_0x276865['get'](_0x5a46b7),_0x37007c=_0x591614[_0x459da1];if((_0x37007c===null||_0x37007c===undefined||_0x37007c==='')&&!_0xa951ca){_0x59c13d[_0x4df695]=null;continue;}const _0x181c94=this[_0x2c7bb4(0x125)](_0x37007c,_0x44f2f3);_0x307d97['UDFMn'](_0x181c94,null)?_0x59c13d[_0x4df695]=_0x181c94:(_0xa951ca&&_0x1438e6[_0x2c7bb4(0x122)]({'rowIndex':_0x4abe3a,'field':_0x459da1,'value':_0x37007c,'targetField':_0x4df695,'lookupTable':_0x24438c,'message':_0x2c7bb4(0x115)+_0x37007c+_0x2c7bb4(0x11c)+_0x24438c}),_0x59c13d[_0x4df695]=null);}return _0x59c13d;});return logger['info']({'event':_0xe884e5(0x105),'totalRows':_0x10615a['length'],'errorCount':_0x1438e6['length'],'lookupFieldCount':Object[_0xe884e5(0x114)](_0x48a901)[_0xe884e5(0xfc)]},_0x307d97[_0xe884e5(0x11d)]),{'processedRows':_0x94d3ea,'errors':_0x1438e6};}[a0_0x18d008(0x10a)](_0x4eb22d,_0x4176a0){const _0x1d1337=a0_0x18d008,_0x373445=new Set();return _0x4eb22d[_0x1d1337(0x118)](_0x596eea=>{const _0x37f9db=_0x1d1337,_0x3202f7=_0x596eea[_0x4176a0];_0x3202f7!==null&&_0x3202f7!==undefined&&_0x3202f7!==''&&_0x373445['add'](String(_0x3202f7)[_0x37f9db(0x103)]());}),Array['from'](_0x373445);}async['validateLookupValues'](_0x58f653,_0x4abc3c){const _0x32fff2=a0_0x18d008,_0x825dfe={'bAdxf':function(_0x3bf3f2,_0xaf6db0){return _0x3bf3f2===_0xaf6db0;}};if(!_0x4abc3c||Object['keys'](_0x4abc3c)[_0x32fff2(0xfc)]===0x0)return{'valid':!![],'errors':[],'suggestions':{}};const _0x13e8e0=[],_0x48403b={};for(const [_0x1a9a62,_0x24f2fa]of Object['entries'](_0x4abc3c)){const {lookupTable:_0x551366,lookupColumn:_0x26b509,lookupIdColumn:_0x34db1e,required:_0x414d67}=_0x24f2fa,_0x43ce31=this[_0x32fff2(0x10a)](_0x58f653,_0x1a9a62),_0x2f4b0a=await this[_0x32fff2(0x10b)](_0x551366,_0x26b509,_0x34db1e),_0x41db0b=[],_0x151f7e=[];_0x43ce31[_0x32fff2(0x118)](_0x3e1546=>{const _0x26f5e0=_0x32fff2,_0x5951c5=this['resolveLookupValue'](_0x3e1546,_0x2f4b0a);_0x5951c5!==null?_0x151f7e['push'](_0x3e1546):_0x41db0b[_0x26f5e0(0x122)](_0x3e1546);});if(_0x41db0b['length']>0x0&&_0x414d67){_0x13e8e0['push']({'field':_0x1a9a62,'lookupTable':_0x551366,'invalidValues':_0x41db0b,'message':_0x41db0b[_0x32fff2(0xfc)]+_0x32fff2(0x109)+_0x551366});const _0x533abd=[];_0x2f4b0a[_0x32fff2(0x118)]((_0x357978,_0x118be8)=>{const _0x3d3431=_0x32fff2;if(_0x825dfe['bAdxf'](_0x118be8,_0x118be8['toLowerCase']()))return;_0x533abd[_0x3d3431(0x122)](_0x118be8);}),_0x48403b[_0x1a9a62]={'invalidValues':_0x41db0b,'availableValues':_0x533abd['slice'](0x0,0x32)};}}return{'valid':_0x13e8e0['length']===0x0,'errors':_0x13e8e0,'suggestions':_0x48403b};}}module[a0_0x18d008(0x10c)]=new LookupResolver();
@@ -1 +1 @@
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
+ function a0_0x59a4(){const _0x5a9bc1=['zgf0yxrHyMXLC1f1zxj5','lwv4Cg9YDa','odbUwfb2te0','rMfPBgvKihrVigXVywqGCgf5Bg9Hza','DxrMoa','rfPOy0u','CMvHzezPBgu','y2XLyxjdywnOzq','CgfYC2u','EufQzKW','DgfIBgvoyw1L','mtCWmJC1n2HswgfhtG','Cgf5Bg9Hzf9SB2fKx2vYCM9Y','mJi0odKYnLPouKPsBW','ndy4nJm4yK1NtuHw','mJC3mdmZnKnTCvLRDq','Aw5MBW','zgvIDwC','BwvZC2fNzq','ugf5Bg9HzcbUB3qGzM91BMq6ia','s3fnrKC','oufpze95BG','AgfZ','Cgf5Bg9HzerPCG','Cgf0Aa','mZiXnZmWqu5luu12','oteWndCYnefbBMn1BW','Cgf5Bg9Hzf9JywnOzv9JBgvHCMvK','Cgf5Bg9Hzf9SB2fKzwq','AM9PBG','zMLLBgroyw1L','y2fJAgu','C2v0','CMvWBgfJzq','mti0nZiWCgnsCfDg'];a0_0x59a4=function(){return _0x5a9bc1;};return a0_0x59a4();}const a0_0xd86b06=a0_0x43b6;function a0_0x43b6(_0x2c93fc,_0x4129f4){_0x2c93fc=_0x2c93fc-0x183;const _0x59a481=a0_0x59a4();let _0x43b69d=_0x59a481[_0x2c93fc];if(a0_0x43b6['FQDJCa']===undefined){var _0x467aec=function(_0x45c981){const _0x3cce53='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xe6b606='',_0x53e0a0='';for(let _0x51d08c=0x0,_0x546e7e,_0x5119dd,_0x1f0561=0x0;_0x5119dd=_0x45c981['charAt'](_0x1f0561++);~_0x5119dd&&(_0x546e7e=_0x51d08c%0x4?_0x546e7e*0x40+_0x5119dd:_0x5119dd,_0x51d08c++%0x4)?_0xe6b606+=String['fromCharCode'](0xff&_0x546e7e>>(-0x2*_0x51d08c&0x6)):0x0){_0x5119dd=_0x3cce53['indexOf'](_0x5119dd);}for(let _0xd2e6e7=0x0,_0x45b920=_0xe6b606['length'];_0xd2e6e7<_0x45b920;_0xd2e6e7++){_0x53e0a0+='%'+('00'+_0xe6b606['charCodeAt'](_0xd2e6e7)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x53e0a0);};a0_0x43b6['ayKkrF']=_0x467aec,a0_0x43b6['jQYqvB']={},a0_0x43b6['FQDJCa']=!![];}const _0x1ffd4e=_0x59a481[0x0],_0x5e2468=_0x2c93fc+_0x1ffd4e,_0x371f94=a0_0x43b6['jQYqvB'][_0x5e2468];return!_0x371f94?(_0x43b69d=a0_0x43b6['ayKkrF'](_0x43b69d),a0_0x43b6['jQYqvB'][_0x5e2468]=_0x43b69d):_0x43b69d=_0x371f94,_0x43b69d;}(function(_0x23e668,_0x1aad53){const _0x5f36f2=a0_0x43b6,_0x4f62f0=_0x23e668();while(!![]){try{const _0x2c931f=-parseInt(_0x5f36f2(0x190))/0x1+-parseInt(_0x5f36f2(0x19b))/0x2*(parseInt(_0x5f36f2(0x197))/0x3)+parseInt(_0x5f36f2(0x184))/0x4*(parseInt(_0x5f36f2(0x1a4))/0x5)+parseInt(_0x5f36f2(0x18f))/0x6+-parseInt(_0x5f36f2(0x18d))/0x7+-parseInt(_0x5f36f2(0x191))/0x8+parseInt(_0x5f36f2(0x19c))/0x9;if(_0x2c931f===_0x1aad53)break;else _0x4f62f0['push'](_0x4f62f0['shift']());}catch(_0x3bc36e){_0x4f62f0['push'](_0x4f62f0['shift']());}}}(a0_0x59a4,0x541f1));const fs=require('fs')['promises'],path=require(a0_0xd86b06(0x19a)),{logger}=require('./logger');class PayloadLoader{constructor(){const _0x649864=a0_0xd86b06,_0x51a4b6={'GvCgz':'../../payload'};this[_0x649864(0x199)]=path['join'](__dirname,_0x51a4b6['GvCgz']),this['cache']=new Map();}async['loadPayload'](_0x477378,_0x3dd1f9){const _0x153275=a0_0xd86b06,_0x37967e=_0x477378+':'+_0x3dd1f9;if(this[_0x153275(0x1a1)][_0x153275(0x198)](_0x37967e))return this[_0x153275(0x1a1)]['get'](_0x37967e);const _0x3ffb34=path[_0x153275(0x19f)](this['payloadDir'],_0x477378+'_'+_0x3dd1f9+'.json');try{const _0xc723b6=await fs['readFile'](_0x3ffb34,'utf8'),_0x10c84f=JSON[_0x153275(0x18a)](_0xc723b6);return this[_0x153275(0x1a1)][_0x153275(0x1a2)](_0x37967e,_0x10c84f),logger['debug']({'event':_0x153275(0x19e),'project':_0x477378,'resource':_0x3dd1f9},'Payload\x20loaded\x20successfully'),_0x10c84f;}catch(_0x3a1d16){logger['error']({'event':_0x153275(0x18e),'project':_0x477378,'resource':_0x3dd1f9,'error':_0x3a1d16[_0x153275(0x194)]},_0x153275(0x185));throw new Error(_0x153275(0x195)+_0x477378+'_'+_0x3dd1f9);}}async['loadPayloadByName'](_0x2b3475){const _0x3f5f6b=a0_0xd86b06,_0x276a4a={'DZhcE':_0x3f5f6b(0x19e),'yAjfL':'Payload\x20loaded\x20successfully\x20by\x20name'},_0x4293b3='payload:'+_0x2b3475;if(this['cache'][_0x3f5f6b(0x198)](_0x4293b3))return this['cache']['get'](_0x4293b3);const _0x3db120=path['join'](this[_0x3f5f6b(0x199)],_0x2b3475+'.json');try{const _0x524d6b=await fs[_0x3f5f6b(0x188)](_0x3db120,_0x3f5f6b(0x186)),_0x2a4d5d=JSON[_0x3f5f6b(0x18a)](_0x524d6b);return this['cache']['set'](_0x4293b3,_0x2a4d5d),logger[_0x3f5f6b(0x193)]({'event':_0x276a4a[_0x3f5f6b(0x187)],'payloadName':_0x2b3475},_0x276a4a[_0x3f5f6b(0x18b)]),_0x2a4d5d;}catch(_0x22abbc){logger['error']({'event':'payload_load_error','payloadName':_0x2b3475,'error':_0x22abbc[_0x3f5f6b(0x194)]},'Failed\x20to\x20load\x20payload\x20by\x20name');throw new Error(_0x3f5f6b(0x195)+_0x2b3475);}}['isActionEnabled'](_0x487842,_0x5c79a0){return _0x487842['action']&&_0x487842['action'][_0x5c79a0]===!![];}['getExportConfig'](_0xc120e4){const _0x2c9a57=a0_0xd86b06;return{'columns':_0xc120e4[_0x2c9a57(0x1a0)]||[],'filename':_0xc120e4[_0x2c9a57(0x18c)][_0x2c9a57(0x1a3)]('.','-')+_0x2c9a57(0x183),'datatablesQuery':_0xc120e4[_0x2c9a57(0x1a5)]||null,'columnFormats':_0xc120e4['columnFormats']||null,'fieldLabels':_0xc120e4['fieldLabels']||null};}[a0_0xd86b06(0x189)](){const _0x5c8b93=a0_0xd86b06,_0x56bfbb={'uXyxW':_0x5c8b93(0x19d),'KqMFG':'Payload\x20cache\x20cleared'};this[_0x5c8b93(0x1a1)]['clear'](),logger[_0x5c8b93(0x192)]({'event':_0x56bfbb['uXyxW']},_0x56bfbb[_0x5c8b93(0x196)]);}}module['exports']=new PayloadLoader();
@@ -1 +1 @@
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
+ 'use strict';function a0_0x1578(){var _0x4f7b10=['nduWs2LuBfbi','zxHWB3j0CW','mJaXmKHnq3DRvG','mJyXody4ohfWtKH1vG','Dg9ju09tDhjPBMC','mtC2DND2q0Lm','ntmXmdKYmgT6DNzICG','nJGZmJG2ogrJt3vNDW','odC4wfLjEg5v','ntC4nJe5zMXeChDU','mtq3nZj3r2jPsK4','oti2nJu2wNjruvfs'];a0_0x1578=function(){return _0x4f7b10;};return a0_0x1578();}var a0_0x4ade46=a0_0x10e6;(function(_0x342978,_0x288072){var _0x560525=a0_0x10e6,_0x2c0768=_0x342978();while(!![]){try{var _0x2c5bda=parseInt(_0x560525(0x16a))/0x1*(-parseInt(_0x560525(0x164))/0x2)+-parseInt(_0x560525(0x165))/0x3+-parseInt(_0x560525(0x161))/0x4+-parseInt(_0x560525(0x162))/0x5*(parseInt(_0x560525(0x16c))/0x6)+parseInt(_0x560525(0x169))/0x7+parseInt(_0x560525(0x167))/0x8*(parseInt(_0x560525(0x16b))/0x9)+parseInt(_0x560525(0x168))/0xa;if(_0x2c5bda===_0x288072)break;else _0x2c0768['push'](_0x2c0768['shift']());}catch(_0x54cffe){_0x2c0768['push'](_0x2c0768['shift']());}}}(a0_0x1578,0xade12));function a0_0x10e6(_0xea0388,_0x2fed22){_0xea0388=_0xea0388-0x161;var _0x1578ff=a0_0x1578();var _0x10e66d=_0x1578ff[_0xea0388];if(a0_0x10e6['VvKFHZ']===undefined){var _0x5cae94=function(_0x357f74){var _0x4ae1f7='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x4d4c4c='',_0x3c55dd='';for(var _0x4626cd=0x0,_0x3345f9,_0x3d0fca,_0x1484a9=0x0;_0x3d0fca=_0x357f74['charAt'](_0x1484a9++);~_0x3d0fca&&(_0x3345f9=_0x4626cd%0x4?_0x3345f9*0x40+_0x3d0fca:_0x3d0fca,_0x4626cd++%0x4)?_0x4d4c4c+=String['fromCharCode'](0xff&_0x3345f9>>(-0x2*_0x4626cd&0x6)):0x0){_0x3d0fca=_0x4ae1f7['indexOf'](_0x3d0fca);}for(var _0x1b812f=0x0,_0x367f0a=_0x4d4c4c['length'];_0x1b812f<_0x367f0a;_0x1b812f++){_0x3c55dd+='%'+('00'+_0x4d4c4c['charCodeAt'](_0x1b812f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3c55dd);};a0_0x10e6['YbgEzb']=_0x5cae94,a0_0x10e6['NPEKRt']={},a0_0x10e6['VvKFHZ']=!![];}var _0x12e890=_0x1578ff[0x0],_0x5b87ef=_0xea0388+_0x12e890,_0x265a7b=a0_0x10e6['NPEKRt'][_0x5b87ef];return!_0x265a7b?(_0x10e66d=a0_0x10e6['YbgEzb'](_0x10e66d),a0_0x10e6['NPEKRt'][_0x5b87ef]=_0x10e66d):_0x10e66d=_0x265a7b,_0x10e66d;}function createResponse(_0x388690,_0xda3547,_0x40afc3=null){return{'success':!![],'statusCode':_0x388690,'message':_0xda3547,'data':_0x40afc3,'timestamp':new Date()['toISOString']()};}function createError(_0x294002,_0x5e9c77,_0x14e739=null){var _0xf0e0a=a0_0x10e6;return{'success':![],'statusCode':_0x294002,'message':_0x5e9c77,'data':_0x14e739,'timestamp':new Date()[_0xf0e0a(0x166)]()};}function createValidationError(_0xa7cea6,_0x5c88e0){return{'success':![],'statusCode':0x190,'message':_0xa7cea6,'data':{'errors':_0x5c88e0},'timestamp':new Date()['toISOString']()};}module[a0_0x4ade46(0x163)]={'createResponse':createResponse,'createError':createError,'createValidationError':createValidationError};
@@ -1 +1 @@
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
+ const a0_0x176102=a0_0x2f5a;function a0_0x2f5a(_0x48d43f,_0x274009){_0x48d43f=_0x48d43f-0x85;const _0x23bb08=a0_0x23bb();let _0x2f5a48=_0x23bb08[_0x48d43f];if(a0_0x2f5a['NcPCBu']===undefined){var _0x172574=function(_0x3e1c3b){const _0x45b6de='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1ada8f='',_0x2fa78f='';for(let _0x208b90=0x0,_0x373ac9,_0x511251,_0x2fa7be=0x0;_0x511251=_0x3e1c3b['charAt'](_0x2fa7be++);~_0x511251&&(_0x373ac9=_0x208b90%0x4?_0x373ac9*0x40+_0x511251:_0x511251,_0x208b90++%0x4)?_0x1ada8f+=String['fromCharCode'](0xff&_0x373ac9>>(-0x2*_0x208b90&0x6)):0x0){_0x511251=_0x45b6de['indexOf'](_0x511251);}for(let _0x1a9b86=0x0,_0x963480=_0x1ada8f['length'];_0x1a9b86<_0x963480;_0x1a9b86++){_0x2fa78f+='%'+('00'+_0x1ada8f['charCodeAt'](_0x1a9b86)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2fa78f);};a0_0x2f5a['faIBbl']=_0x172574,a0_0x2f5a['jgwQio']={},a0_0x2f5a['NcPCBu']=!![];}const _0x26f6fb=_0x23bb08[0x0],_0x188434=_0x48d43f+_0x26f6fb,_0x4ed541=a0_0x2f5a['jgwQio'][_0x188434];return!_0x4ed541?(_0x2f5a48=a0_0x2f5a['faIBbl'](_0x2f5a48),a0_0x2f5a['jgwQio'][_0x188434]=_0x2f5a48):_0x2f5a48=_0x4ed541,_0x2f5a48;}(function(_0x16091c,_0x1d790f){const _0xfc2eed=a0_0x2f5a,_0x39fa77=_0x16091c();while(!![]){try{const _0xcc9082=-parseInt(_0xfc2eed(0xb6))/0x1+parseInt(_0xfc2eed(0xaa))/0x2+parseInt(_0xfc2eed(0xa5))/0x3*(parseInt(_0xfc2eed(0xae))/0x4)+parseInt(_0xfc2eed(0x99))/0x5*(parseInt(_0xfc2eed(0x90))/0x6)+parseInt(_0xfc2eed(0xac))/0x7+-parseInt(_0xfc2eed(0xb8))/0x8*(parseInt(_0xfc2eed(0x96))/0x9)+-parseInt(_0xfc2eed(0xb7))/0xa*(parseInt(_0xfc2eed(0xad))/0xb);if(_0xcc9082===_0x1d790f)break;else _0x39fa77['push'](_0x39fa77['shift']());}catch(_0x412b37){_0x39fa77['push'](_0x39fa77['shift']());}}}(a0_0x23bb,0xe2bd6),require(a0_0x176102(0x97))['config']());const amqp=require('amqplib'),{formatDate}=require(a0_0x176102(0x98)),RABBITMQ_URL=process[a0_0x176102(0x8c)]['RABBITMQ_URL'],EXCHANGE=process['env'][a0_0x176102(0x93)],ROUTING_KEY=process[a0_0x176102(0x8c)][a0_0x176102(0xab)],QUEUE=process[a0_0x176102(0x8c)]['RABBITMQ_QUEUE'];async function createConnection(){const _0x12fb86=a0_0x176102,_0x5ce19a={'WbBGT':function(_0x56a9ca,_0x48f396){return _0x56a9ca(_0x48f396);}};try{const _0x5f51f2=await amqp['connect'](RABBITMQ_URL);return console[_0x12fb86(0xa8)]('['+formatDate(new Date())+']\x20Successfully\x20connected\x20to\x20RabbitMQ'),_0x5f51f2;}catch(_0x4f3315){console['error']('['+_0x5ce19a['WbBGT'](formatDate,new Date())+']\x20Failed\x20to\x20connect\x20to\x20RabbitMQ:\x20'+_0x4f3315['message']);throw _0x4f3315;}}function a0_0x23bb(){const _0x4ed1d4=['zxjYB3i','zw52','Aw5LCxvPDMfSzw50igfYzW','y2XVC2u','zwDWB0q','mJu5mZG2DhLNBNHU','rvLNveO','ksbJCMvHDgvK','uKfcqKLutvfFrvHdsefor0u','tLDVB2W','yMLUzff1zxvL','otqXng5crxjcsW','zg90zw52','lI9KyxrLsgvSCgvY','nJvXDxPqzvO','xsbfCNjVCIbZzxr0Aw5NihvWig1HAw4GCxvLDwu6','xsbsywjIAxrnusbJAgfUBMvSignYzwf0zwqGC3vJy2vZC2z1BgX5','xsbfCNjVCIbJCMvHDgLUzYbXDwv1zsa','igLZigfSCMvHzhKGAw4GDxnLihDPDgGGysbKAwzMzxjLBNqGCM91DgLUzYbRzxKU','ihDHCYbJCMvHDgvKihDPDgGGysbKAwzMzxjLBNqGEc1KzwfKlwXLDhrLCI1YB3v0Aw5NlwTLEs4','Aw5JBhvKzxm','y3jLyxrLzc9YzwfKEq','yxnZzxj0rxHJAgfUz2u','zxHPDa','Dwr4s1e','zM91BMq','m1rbDgDntq','ignYzwf0zwq','xsbfEgnOyw5Nzsa','Bg9N','xsbszxrYEsbIAw5KAw5NigzVCIa','mtG4mty0mLb3s0rcuq','uKfcqKLutvfFuK9vveLor19lrvK','mte5mZaZodDuEeLhz20','ndrdrfzuwxC','mJi2ndK0nfn0r2zjvW','uxvLDwuG','ignYzwf0zwqVCMvHzhK','qMLzDgK','xsbfuLjpuJOGuxvLDwuG','xsbfCNjVCIbJCMvHDgLUzYbYzxrYEsbLEgnOyw5NztO','u29SDxrPB246ifvZzsbHigrPzMzLCMvUDcbXDwv1zsbUyw1LigzVCIbKAwzMzxjLBNqGCM91DgLUzYbRzxLZlG','BwvZC2fNzq','odG0otG1r2vzv3ns','mJyWntG3mef3CwPzDG','nZaXnMHjq09Pyq','yvfPAuC','xsbfCNjVCIbJCMvHDgLUzYbYzxrYEsbXDwv1ztO','CMv0CNKTzxHJAgfUz2u','Cw96A3a','zxHWB3j0CW','zgLYzwn0'];a0_0x23bb=function(){return _0x4ed1d4;};return a0_0x23bb();}async function createChannel(_0x3e25b7){const _0x40e620=a0_0x176102,_0x30499f={'udxKQ':function(_0x2fc64f,_0x1e75ca){return _0x2fc64f(_0x1e75ca);}};try{const _0x102711=await _0x3e25b7['createChannel']();return console[_0x40e620(0xa8)]('['+formatDate(new Date())+_0x40e620(0x9b)),_0x102711;}catch(_0xc1ce8c){console['error']('['+_0x30499f[_0x40e620(0xa3)](formatDate,new Date())+']\x20Failed\x20to\x20create\x20RabbitMQ\x20channel:\x20'+_0xc1ce8c['message']);throw _0xc1ce8c;}}async function setupInfrastructure(_0x2b6ee2){const _0x3ae512=a0_0x176102,_0x30a3af={'egpoD':_0x3ae512(0x87),'qozkp':function(_0x5c3bf9,_0x479054){return _0x5c3bf9(_0x479054);},'NWool':function(_0x47c2e3,_0xeea273){return _0x47c2e3(_0xeea273);},'BiYti':function(_0x1412ee,_0x359b84){return _0x1412ee(_0x359b84);},'wdkAH':function(_0x1f4d69,_0x1f0a4d){return _0x1f4d69===_0x1f0a4d;},'BjqYe':_0x3ae512(0xa0),'EYgTJ':'inequivalent\x20arg'};try{await _0x2b6ee2[_0x3ae512(0xa1)](_0x30a3af[_0x3ae512(0x8f)],_0x3ae512(0x8a),{'durable':!![],'autoDelete':![]}),console[_0x3ae512(0xa8)]('['+_0x30a3af[_0x3ae512(0x88)](formatDate,new Date())+']\x20Retry\x20exchange\x20created/ready');}catch(_0x361b95){console[_0x3ae512(0x8b)]('['+_0x30a3af[_0x3ae512(0x88)](formatDate,new Date())+_0x3ae512(0xb3),_0x361b95['message']);throw _0x361b95;}try{await _0x2b6ee2['assertExchange'](EXCHANGE,'direct',{'durable':!![],'autoDelete':![]}),console[_0x3ae512(0xa8)]('['+_0x30a3af[_0x3ae512(0x88)](formatDate,new Date())+_0x3ae512(0xa7)+EXCHANGE+_0x3ae512(0xb0));}catch(_0x3eb3e7){console[_0x3ae512(0x8b)]('['+_0x30a3af[_0x3ae512(0x94)](formatDate,new Date())+']\x20Error\x20creating\x20exchange\x20'+EXCHANGE+':',_0x3eb3e7[_0x3ae512(0xb5)]);throw _0x3eb3e7;}const _0x499e5f=ROUTING_KEY+'_retry';try{const _0x13938e={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':EXCHANGE,'x-dead-letter-routing-key':ROUTING_KEY}};await _0x2b6ee2['assertQueue'](_0x499e5f,_0x13938e),console[_0x3ae512(0xa8)]('['+formatDate(new Date())+']\x20Retry\x20queue\x20'+_0x499e5f+'\x20created/ready'),await _0x2b6ee2[_0x3ae512(0x95)](_0x499e5f,_0x30a3af['egpoD'],ROUTING_KEY),console[_0x3ae512(0xa8)]('['+formatDate(new Date())+_0x3ae512(0xa9)+ROUTING_KEY+_0x3ae512(0xa6));}catch(_0x2a1029){console[_0x3ae512(0x8b)]('['+_0x30a3af[_0x3ae512(0x94)](formatDate,new Date())+_0x3ae512(0x86),_0x2a1029[_0x3ae512(0xb5)]);throw _0x2a1029;}try{const _0x16db30={'durable':!![],'arguments':{'x-dead-letter-exchange':_0x30a3af[_0x3ae512(0x8f)],'x-dead-letter-routing-key':ROUTING_KEY}};try{const _0x3ea7a5=await _0x2b6ee2['assertQueue'](QUEUE,_0x16db30);console[_0x3ae512(0xa8)]('['+_0x30a3af[_0x3ae512(0xb1)](formatDate,new Date())+']\x20Queue\x20'+QUEUE+'\x20'+(_0x30a3af['wdkAH'](_0x3ea7a5['queue'],QUEUE)?_0x30a3af['BjqYe']:_0x3ae512(0xa4))+'\x20with\x20DLX'),await _0x2b6ee2['bindQueue'](QUEUE,EXCHANGE,ROUTING_KEY),console[_0x3ae512(0xa8)]('['+formatDate(new Date())+']\x20Binding\x20'+EXCHANGE+'\x20->\x20'+QUEUE+'\x20('+ROUTING_KEY+_0x3ae512(0x92));}catch(_0x5366b9){if(_0x5366b9['message'][_0x3ae512(0x9f)](_0x3ae512(0x8d))&&_0x5366b9[_0x3ae512(0xb5)][_0x3ae512(0x9f)]('x-dead-letter-routing-key'))console['error']('\x0a['+formatDate(new Date())+_0x3ae512(0xb2)+QUEUE+_0x3ae512(0x9d)),console[_0x3ae512(0x8b)](_0x3ae512(0xaf)+QUEUE+_0x3ae512(0x9e)),console[_0x3ae512(0x8b)](_0x3ae512(0xb4)),process['exit'](0x1);else{console['error']('['+formatDate(new Date())+_0x3ae512(0x9c)+QUEUE+':',_0x5366b9[_0x3ae512(0xb5)]);throw _0x5366b9;}}}catch(_0x2db2fa){if(!_0x2db2fa[_0x3ae512(0xb5)][_0x3ae512(0x9f)](_0x30a3af[_0x3ae512(0x91)])){console[_0x3ae512(0x8b)]('['+formatDate(new Date())+_0x3ae512(0x9a),_0x2db2fa['message']);throw _0x2db2fa;}process[_0x3ae512(0xa2)](0x1);}}async function closeConnection(_0x1a0794){const _0x597790=a0_0x176102,_0x24bc21={'aQiiG':function(_0x57643c,_0x3e97b0){return _0x57643c(_0x3e97b0);}};if(_0x1a0794)try{await _0x1a0794[_0x597790(0x8e)](),console['log']('['+_0x24bc21[_0x597790(0x85)](formatDate,new Date())+']\x20RabbitMQ\x20connection\x20closed');}catch(_0x327bd8){console['error']('['+_0x24bc21['aQiiG'](formatDate,new Date())+']\x20Failed\x20to\x20close\x20RabbitMQ\x20connection:\x20'+_0x327bd8['message']);}}module[a0_0x176102(0x89)]={'createConnection':createConnection,'createChannel':createChannel,'setupInfrastructure':setupInfrastructure,'closeConnection':closeConnection,'getConfig':()=>({'url':RABBITMQ_URL,'exchange':EXCHANGE,'routingKey':ROUTING_KEY,'queue':QUEUE})};
@@ -1 +1 @@
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
+ const a0_0x5af08f=a0_0x1430;(function(_0xda6784,_0x104dab){const _0x176518=a0_0x1430,_0x3b6f6b=_0xda6784();while(!![]){try{const _0x514ec8=parseInt(_0x176518(0x151))/0x1*(-parseInt(_0x176518(0x14c))/0x2)+-parseInt(_0x176518(0x13e))/0x3*(-parseInt(_0x176518(0x159))/0x4)+parseInt(_0x176518(0x145))/0x5*(-parseInt(_0x176518(0x138))/0x6)+parseInt(_0x176518(0x13a))/0x7+-parseInt(_0x176518(0x15a))/0x8*(parseInt(_0x176518(0x143))/0x9)+parseInt(_0x176518(0x139))/0xa*(parseInt(_0x176518(0x13d))/0xb)+parseInt(_0x176518(0x13f))/0xc;if(_0x514ec8===_0x104dab)break;else _0x3b6f6b['push'](_0x3b6f6b['shift']());}catch(_0x3e3873){_0x3b6f6b['push'](_0x3b6f6b['shift']());}}}(a0_0x3181,0x687cd));const Redis=require(a0_0x5af08f(0x14e)),{logger}=require(a0_0x5af08f(0x149));class RedisClient{constructor(){this['client']=null,this['isConnected']=![];}[a0_0x5af08f(0x154)](){const _0x1fff53=a0_0x5af08f,_0x365fe5={'KoAHv':'redis_connected','pSAZC':'Redis\x20connected\x20successfully','slIwA':function(_0x5c2c15,_0x418a9a,_0x349703){return _0x5c2c15(_0x418a9a,_0x349703);},'CUeTu':'connect','ftWdk':'close','YXqHe':'redis_init_error'};if(this['client'])return this['client'];try{return this['client']=new Redis({'host':process['env'][_0x1fff53(0x14a)]||'localhost','port':parseInt(process[_0x1fff53(0x156)]['REDIS_PORT'],0xa)||0x18ec,'password':process['env']['REDIS_PASSWORD']||undefined,'db':_0x365fe5[_0x1fff53(0x144)](parseInt,process[_0x1fff53(0x156)][_0x1fff53(0x14f)],0xa)||0x0,'retryStrategy'(_0x4180af){const _0x5fbcff=_0x1fff53,_0xadffdf=Math[_0x5fbcff(0x146)](_0x4180af*0x32,0x7d0);return _0xadffdf;}}),this['client']['on'](_0x365fe5['CUeTu'],()=>{const _0x5cd1c0=_0x1fff53;this[_0x5cd1c0(0x150)]=!![],logger[_0x5cd1c0(0x155)]({'event':_0x365fe5['KoAHv']},_0x365fe5['pSAZC']);}),this['client']['on']('error',_0x4ea4f0=>{const _0x2267fb=_0x1fff53;this['isConnected']=![],logger[_0x2267fb(0x141)]({'event':'redis_error','error':_0x4ea4f0[_0x2267fb(0x152)]},_0x2267fb(0x13c)+_0x4ea4f0[_0x2267fb(0x152)]);}),this['client']['on'](_0x365fe5['ftWdk'],()=>{const _0x44e705=_0x1fff53;this[_0x44e705(0x150)]=![],logger[_0x44e705(0x157)]({'event':'redis_disconnected'},'Redis\x20connection\x20closed');}),this['client'];}catch(_0x4cbcb3){logger['error']({'event':_0x365fe5['YXqHe'],'error':_0x4cbcb3['message']},_0x1fff53(0x140));throw _0x4cbcb3;}}['getClient'](){const _0x1ac4c7=a0_0x5af08f;return!this[_0x1ac4c7(0x147)]&&this[_0x1ac4c7(0x154)](),this[_0x1ac4c7(0x147)];}async['ping'](_0x145382=0x1388){const _0x4285e3=a0_0x5af08f,_0xa8ae2f={'jVvVy':_0x4285e3(0x148)};try{const _0x532452=this[_0x4285e3(0x14b)](),_0x32e75c=await Promise['race']([_0x532452[_0x4285e3(0x14d)](),new Promise((_0x3d0714,_0x110411)=>setTimeout(()=>_0x110411(new Error(_0x4285e3(0x142))),_0x145382))]);return _0x32e75c===_0xa8ae2f[_0x4285e3(0x158)];}catch(_0x348f48){return![];}}async[a0_0x5af08f(0x13b)](){const _0x1c2be6=a0_0x5af08f;this[_0x1c2be6(0x147)]&&(await this['client']['quit'](),this[_0x1c2be6(0x147)]=null,this[_0x1c2be6(0x150)]=![]);}[a0_0x5af08f(0x153)](){const _0x461816=a0_0x5af08f;this[_0x461816(0x147)]&&(this[_0x461816(0x147)]['disconnect'](),this['client']=null,this[_0x461816(0x150)]=![]);}}module['exports']=new RedisClient();function a0_0x1430(_0x316b4a,_0x4f6064){_0x316b4a=_0x316b4a-0x138;const _0x318133=a0_0x3181();let _0x14308c=_0x318133[_0x316b4a];if(a0_0x1430['UuRlVR']===undefined){var _0x1216aa=function(_0x42f67a){const _0x738dc7='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3e6bab='',_0x4daba4='';for(let _0x792716=0x0,_0x1ff5c5,_0x41273d,_0x1cfb9d=0x0;_0x41273d=_0x42f67a['charAt'](_0x1cfb9d++);~_0x41273d&&(_0x1ff5c5=_0x792716%0x4?_0x1ff5c5*0x40+_0x41273d:_0x41273d,_0x792716++%0x4)?_0x3e6bab+=String['fromCharCode'](0xff&_0x1ff5c5>>(-0x2*_0x792716&0x6)):0x0){_0x41273d=_0x738dc7['indexOf'](_0x41273d);}for(let _0x53efe6=0x0,_0x19a4dc=_0x3e6bab['length'];_0x53efe6<_0x19a4dc;_0x53efe6++){_0x4daba4+='%'+('00'+_0x3e6bab['charCodeAt'](_0x53efe6)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4daba4);};a0_0x1430['ZJyMIf']=_0x1216aa,a0_0x1430['JZYzTq']={},a0_0x1430['UuRlVR']=!![];}const _0x121633=_0x318133[0x0],_0x17f480=_0x316b4a+_0x121633,_0x43eaff=a0_0x1430['JZYzTq'][_0x17f480];return!_0x43eaff?(_0x14308c=a0_0x1430['ZJyMIf'](_0x14308c),a0_0x1430['JZYzTq'][_0x17f480]=_0x14308c):_0x14308c=_0x43eaff,_0x14308c;}function a0_0x3181(){const _0x3dda58=['uKvesvnFse9tva','z2v0q2XPzw50','mti3mtK4sLHTrujr','CgLUzW','Aw9YzwrPCW','uKvesvnFrei','AxndB25Uzwn0zwq','mtbgELP2AKG','BwvZC2fNzq','zM9Yy2veAxnJB25Uzwn0','y29UBMvJDa','Aw5MBW','zw52','D2fYBG','ALz2vNK','mteXntK2C0Pgt1vH','odiWntuYCeToA3z0','mti4mdKYofr2CuHxCa','mtb5wvHkzMe','ntGYndy0neLHuuTfEG','zgLZy29UBMvJDa','uMvKAxmGy29UBMvJDgLVBIbLCNjVCJOG','mJm4mta2meDjvunssG','mZnnt0Lpu24','nJu0otm4ngHvDKffuW','rMfPBgvKihrVigLUAxrPywXPEMuGuMvKAxm','zxjYB3i','uMvKAxmGueLorYb0Aw1LB3v0','mZzUCejlB08','C2XjD0e','mtb2BvfLr0S','BwLU','y2XPzw50','ue9orW','lI9SB2DNzxi'];a0_0x3181=function(){return _0x3dda58;};return a0_0x3181();}
@@ -1 +1 @@
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();
1
+ function a0_0x4c33(){const _0x28bbc3=['zxHWB3j0CW','DxbKyxrLsM9I','zgvMyxvSDa','A2v5CW','CMvKAxnFC2v0x2vYCM9Y','BwvZC2fNzq','x3bYzwzPEa','mJi0mZyWohvXthnuBq','CMvZDgzVCMDLoG','CMvKAxnFz2v0ywXSx2vYCM9Y','ChjLzML4','nJmXmZGZoun4yMftAq','C3rYAw5NAwz5','rMfPBgvKihrVigDLDcbQB2iGzNjVBsbszwrPCW','rvHqt1jux0zjtevFrvHqsvjz','C2v0sM9I','C2v0zxG','zw52','sLPcAhK','m1nWwvr6Ea','ndu0mZqZt0rQzhf1','mJbmrNDpqxK','CMvKAxnFz2v0x2vYCM9Y','mtiWnZC1CvnJu3f1','oMv4Cg9YDdO','nJa2mJuYmg5myNH4vW','mty1ndaXneXnEfrPCa','z2v0q2XPzw50','otu5nJyYoeDzt3fjzq','DMnbBuu'];a0_0x4c33=function(){return _0x28bbc3;};return a0_0x4c33();}const a0_0x30d7dc=a0_0x561c;(function(_0x1badd0,_0xda161d){const _0x4be095=a0_0x561c,_0x29057a=_0x1badd0();while(!![]){try{const _0x3b759e=parseInt(_0x4be095(0x6e))/0x1+-parseInt(_0x4be095(0x74))/0x2*(parseInt(_0x4be095(0x8b))/0x3)+-parseInt(_0x4be095(0x6f))/0x4*(parseInt(_0x4be095(0x71))/0x5)+parseInt(_0x4be095(0x73))/0x6+parseInt(_0x4be095(0x83))/0x7+parseInt(_0x4be095(0x7f))/0x8+-parseInt(_0x4be095(0x76))/0x9;if(_0x3b759e===_0xda161d)break;else _0x29057a['push'](_0x29057a['shift']());}catch(_0x3cdde1){_0x29057a['push'](_0x29057a['shift']());}}}(a0_0x4c33,0x9a91d));function a0_0x561c(_0x204032,_0x4b1fe5){_0x204032=_0x204032-0x6e;const _0x4c33c5=a0_0x4c33();let _0x561cb9=_0x4c33c5[_0x204032];if(a0_0x561c['UdqjuY']===undefined){var _0x406ba9=function(_0x542818){const _0x4f8858='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5ecd1a='',_0x5aa44f='';for(let _0x4dca6a=0x0,_0x1d2c06,_0x1fe669,_0x268ac0=0x0;_0x1fe669=_0x542818['charAt'](_0x268ac0++);~_0x1fe669&&(_0x1d2c06=_0x4dca6a%0x4?_0x1d2c06*0x40+_0x1fe669:_0x1fe669,_0x4dca6a++%0x4)?_0x5ecd1a+=String['fromCharCode'](0xff&_0x1d2c06>>(-0x2*_0x4dca6a&0x6)):0x0){_0x1fe669=_0x4f8858['indexOf'](_0x1fe669);}for(let _0x3e62a1=0x0,_0x53adf2=_0x5ecd1a['length'];_0x3e62a1<_0x53adf2;_0x3e62a1++){_0x5aa44f+='%'+('00'+_0x5ecd1a['charCodeAt'](_0x3e62a1)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5aa44f);};a0_0x561c['yHbnvP']=_0x406ba9,a0_0x561c['ySxKLb']={},a0_0x561c['UdqjuY']=!![];}const _0x139e34=_0x4c33c5[0x0],_0x1e174a=_0x204032+_0x139e34,_0x19150e=a0_0x561c['ySxKLb'][_0x1e174a];return!_0x19150e?(_0x561cb9=a0_0x561c['yHbnvP'](_0x561cb9),a0_0x561c['ySxKLb'][_0x1e174a]=_0x561cb9):_0x561cb9=_0x19150e,_0x561cb9;}const redisClient=require('./redis-client'),{logger}=require('./logger');class RedisHelper{constructor(){const _0x1809db=a0_0x561c;this[_0x1809db(0x7e)]=null,this['ttl']=parseInt(process[_0x1809db(0x89)][_0x1809db(0x86)],0xa)||0xe10;}get['prefix'](){const _0x5b9871=a0_0x561c;if(!this['_prefix']){const _0x2ba0d7=process['env']['RESTFORGE_PROJECT_NAME']||_0x5b9871(0x7a);this[_0x5b9871(0x7e)]=_0x5b9871(0x80)+_0x2ba0d7+_0x5b9871(0x72);}return this[_0x5b9871(0x7e)];}async['setJob'](_0x59ac50,_0x42a0ba){const _0x5ae16f=a0_0x561c,_0x346a5d={'ZvbmD':_0x5ae16f(0x7c),'XdBYY':'Failed\x20to\x20set\x20job\x20in\x20Redis'};try{const _0x36bc6a=redisClient[_0x5ae16f(0x75)](),_0x321f84=''+this[_0x5ae16f(0x82)]+_0x59ac50;return await _0x36bc6a[_0x5ae16f(0x88)](_0x321f84,this['ttl'],JSON[_0x5ae16f(0x84)](_0x42a0ba)),!![];}catch(_0x395d5b){return logger['error']({'event':_0x346a5d['ZvbmD'],'jobId':_0x59ac50,'error':_0x395d5b['message']},_0x346a5d['XdBYY']),![];}}async['getJob'](_0xc0ed34){const _0x24c65e=a0_0x561c,_0x52f3a7={'JZBhy':_0x24c65e(0x70)};try{const _0x586929=redisClient['getClient'](),_0x540c9d=''+this[_0x24c65e(0x82)]+_0xc0ed34,_0x4ea020=await _0x586929['get'](_0x540c9d);return _0x4ea020?JSON['parse'](_0x4ea020):null;}catch(_0x4a23f9){return logger['error']({'event':_0x52f3a7[_0x24c65e(0x8a)],'jobId':_0xc0ed34,'error':_0x4a23f9['message']},_0x24c65e(0x85)),null;}}async[a0_0x30d7dc(0x79)](_0x4194e0,_0x289f81){const _0x4c8305=a0_0x30d7dc,_0x3202f8=await this['getJob'](_0x4194e0);if(!_0x3202f8)return![];const _0x428943={..._0x3202f8,..._0x289f81};return await this[_0x4c8305(0x87)](_0x4194e0,_0x428943);}async['deleteJob'](_0x2a2f97){const _0x53a98c=a0_0x30d7dc,_0x11c010={'XoMXH':'redis_delete_error','vcAmE':'Failed\x20to\x20delete\x20job\x20from\x20Redis'};try{const _0x2d1613=redisClient['getClient'](),_0x1ba236=''+this[_0x53a98c(0x82)]+_0x2a2f97;return await _0x2d1613['del'](_0x1ba236),!![];}catch(_0x39dcc6){return logger['error']({'event':_0x11c010['XoMXH'],'jobId':_0x2a2f97,'error':_0x39dcc6[_0x53a98c(0x7d)]},_0x11c010[_0x53a98c(0x77)]),![];}}async['getAllJobs'](){const _0xd4e310=a0_0x30d7dc,_0x37841d={'hhubs':_0xd4e310(0x81)};try{const _0x2ee57d=redisClient[_0xd4e310(0x75)](),_0x6e15a9=await _0x2ee57d[_0xd4e310(0x7b)](this[_0xd4e310(0x82)]+'*'),_0x280b2f=[];for(const _0x429f05 of _0x6e15a9){const _0x5be326=await _0x2ee57d['get'](_0x429f05);_0x5be326&&_0x280b2f['push'](JSON['parse'](_0x5be326));}return _0x280b2f;}catch(_0x5b83d5){return logger['error']({'event':_0x37841d['hhubs'],'error':_0x5b83d5['message']},'Failed\x20to\x20get\x20all\x20jobs'),[];}}}module[a0_0x30d7dc(0x78)]=new RedisHelper();