@restforgejs/platform 5.2.11 → 5.2.12

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 (169) 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/fast-track.js +147 -27
  5. package/generators/lib/templates/dashboard-catalog.js +1 -1
  6. package/generators/lib/templates/db-connection-env.js +1 -1
  7. package/generators/lib/templates/dbschema-catalog.js +1 -1
  8. package/generators/lib/templates/field-validation-catalog.js +1 -1
  9. package/generators/lib/templates/mysql-template.js +1 -1
  10. package/generators/lib/templates/oracle-template.js +1 -1
  11. package/generators/lib/templates/postgres-template.js +1 -1
  12. package/generators/lib/templates/query-declarative-catalog.js +1 -1
  13. package/generators/lib/templates/sqlite-template.js +1 -1
  14. package/integrity-manifest.json +18 -18
  15. package/package.json +1 -1
  16. package/scripts/verify-integrity.js +1 -1
  17. package/server.js +1 -1
  18. package/src/components/handlers/adjust_handler.js +1 -1
  19. package/src/components/handlers/audit_handler.js +1 -1
  20. package/src/components/handlers/delete_handler.js +1 -1
  21. package/src/components/handlers/export_handler.js +1 -1
  22. package/src/components/handlers/import_handler.js +1 -1
  23. package/src/components/handlers/insert_handler.js +1 -1
  24. package/src/components/handlers/update_handler.js +1 -1
  25. package/src/components/handlers/upload_handler.js +1 -1
  26. package/src/components/handlers/workflow_handler.js +1 -1
  27. package/src/components/integrations/webhook.js +1 -1
  28. package/src/consumers/baseConsumer.js +1 -1
  29. package/src/consumers/declarativeMapper.js +1 -1
  30. package/src/consumers/handlers/apiHandler.js +1 -1
  31. package/src/consumers/handlers/consoleHandler.js +1 -1
  32. package/src/consumers/handlers/databaseHandler.js +1 -1
  33. package/src/consumers/handlers/index.js +1 -1
  34. package/src/consumers/handlers/kafkaHandler.js +1 -1
  35. package/src/consumers/index.js +1 -1
  36. package/src/consumers/messageTransformer.js +1 -1
  37. package/src/consumers/validator.js +1 -1
  38. package/src/core/db/dialect/base-dialect.js +1 -1
  39. package/src/core/db/dialect/index.js +1 -1
  40. package/src/core/db/dialect/mysql-dialect.js +1 -1
  41. package/src/core/db/dialect/oracle-dialect.js +1 -1
  42. package/src/core/db/dialect/postgres-dialect.js +1 -1
  43. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  44. package/src/core/db/flatten-helper.js +1 -1
  45. package/src/core/db/query-builder-error.js +1 -1
  46. package/src/core/db/query-builder.js +1 -1
  47. package/src/core/db/relation-helper.js +1 -1
  48. package/src/core/handlers/delete_handler.js +1 -1
  49. package/src/core/handlers/insert_handler.js +1 -1
  50. package/src/core/handlers/update_handler.js +1 -1
  51. package/src/core/models/base-model.js +1 -1
  52. package/src/core/utils/cache-manager.js +1 -1
  53. package/src/core/utils/component-engine.js +1 -1
  54. package/src/core/utils/context-builder.js +1 -1
  55. package/src/core/utils/datetime-formatter.js +1 -1
  56. package/src/core/utils/datetime-parser.js +1 -1
  57. package/src/core/utils/db.js +1 -1
  58. package/src/core/utils/logger.js +1 -1
  59. package/src/core/utils/payload-loader.js +1 -1
  60. package/src/core/utils/security-checks.js +1 -1
  61. package/src/middleware/body-options.js +1 -1
  62. package/src/middleware/cors.js +1 -1
  63. package/src/middleware/idempotency.js +1 -1
  64. package/src/middleware/rate-limiter.js +1 -1
  65. package/src/middleware/request-logger.js +1 -1
  66. package/src/middleware/security-headers.js +1 -1
  67. package/src/models/base-model-mysql.js +1 -1
  68. package/src/models/base-model-oracle.js +1 -1
  69. package/src/models/base-model-sqlite.js +1 -1
  70. package/src/models/base-model.js +1 -1
  71. package/src/pro/caching/redis-client.js +1 -1
  72. package/src/pro/caching/redis-helper.js +1 -1
  73. package/src/pro/consumers/baseConsumer.js +1 -1
  74. package/src/pro/consumers/declarativeMapper.js +1 -1
  75. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  76. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  77. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  78. package/src/pro/consumers/handlers/index.js +1 -1
  79. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  80. package/src/pro/consumers/index.js +1 -1
  81. package/src/pro/consumers/messageTransformer.js +1 -1
  82. package/src/pro/consumers/validator.js +1 -1
  83. package/src/pro/database/base-model-mysql.js +1 -1
  84. package/src/pro/database/base-model-oracle.js +1 -1
  85. package/src/pro/database/base-model-sqlite.js +1 -1
  86. package/src/pro/database/db-mysql.js +1 -1
  87. package/src/pro/database/db-oracle.js +1 -1
  88. package/src/pro/database/db-sqlite.js +1 -1
  89. package/src/pro/excel/excel-generator.js +1 -1
  90. package/src/pro/excel/excel-parser.js +1 -1
  91. package/src/pro/excel/export-service.js +1 -1
  92. package/src/pro/excel/export_handler.js +1 -1
  93. package/src/pro/excel/import-service.js +1 -1
  94. package/src/pro/excel/import-validator.js +1 -1
  95. package/src/pro/excel/import_handler.js +1 -1
  96. package/src/pro/excel/upsert-builder.js +1 -1
  97. package/src/pro/idgen/idgen-routes.js +1 -1
  98. package/src/pro/integrations/lookup-resolver.js +1 -1
  99. package/src/pro/integrations/upload-handler-v2.js +1 -1
  100. package/src/pro/integrations/upload-handler.js +1 -1
  101. package/src/pro/integrations/webhook.js +1 -1
  102. package/src/pro/locking/lock-routes.js +1 -1
  103. package/src/pro/locking/resource-lock-manager.js +1 -1
  104. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  105. package/src/pro/messaging/kafkaService.js +1 -1
  106. package/src/pro/messaging/messagehubService.js +1 -1
  107. package/src/pro/messaging/rabbitmqService.js +1 -1
  108. package/src/pro/scheduler/job-manager.js +1 -1
  109. package/src/pro/scheduler/job-routes.js +1 -1
  110. package/src/pro/scheduler/job-validator.js +1 -1
  111. package/src/pro/storage/base-storage-provider.js +1 -1
  112. package/src/pro/storage/file-metadata-helper.js +1 -1
  113. package/src/pro/storage/index.js +1 -1
  114. package/src/pro/storage/local-storage-provider.js +1 -1
  115. package/src/pro/storage/s3-storage-provider.js +1 -1
  116. package/src/pro/storage/upload-cleanup-job.js +1 -1
  117. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  118. package/src/pro/storage/upload-pending-tracker.js +1 -1
  119. package/src/pro/websocket/broadcast-helper.js +1 -1
  120. package/src/pro/websocket/index.js +1 -1
  121. package/src/pro/websocket/livesync-server.js +1 -1
  122. package/src/pro/websocket/ws-broadcaster.js +1 -1
  123. package/src/services/export-service.js +1 -1
  124. package/src/services/import-service.js +1 -1
  125. package/src/services/kafkaConsumerService.js +1 -1
  126. package/src/services/kafkaService.js +1 -1
  127. package/src/services/messagehubService.js +1 -1
  128. package/src/services/rabbitmqService.js +1 -1
  129. package/src/utils/cache-invalidation-registry.js +1 -1
  130. package/src/utils/cache-manager.js +1 -1
  131. package/src/utils/component-engine.js +1 -1
  132. package/src/utils/config-extractor.js +1 -1
  133. package/src/utils/consumerLogger.js +1 -1
  134. package/src/utils/context-builder.js +1 -1
  135. package/src/utils/dashboard-helpers.js +1 -1
  136. package/src/utils/dateHelper.js +1 -1
  137. package/src/utils/datetime-formatter.js +1 -1
  138. package/src/utils/datetime-parser.js +1 -1
  139. package/src/utils/db-bootstrap.js +1 -1
  140. package/src/utils/db-mysql.js +1 -1
  141. package/src/utils/db-oracle.js +1 -1
  142. package/src/utils/db-sqlite.js +1 -1
  143. package/src/utils/db.js +1 -1
  144. package/src/utils/demo-generator.js +1 -1
  145. package/src/utils/excel-generator.js +1 -1
  146. package/src/utils/excel-parser.js +1 -1
  147. package/src/utils/file-watcher.js +1 -1
  148. package/src/utils/id-generator.js +1 -1
  149. package/src/utils/idempotency-manager.js +1 -1
  150. package/src/utils/import-validator.js +1 -1
  151. package/src/utils/license-client.js +1 -1
  152. package/src/utils/lock-manager.js +1 -1
  153. package/src/utils/logger.js +1 -1
  154. package/src/utils/lookup-resolver.js +1 -1
  155. package/src/utils/payload-loader.js +1 -1
  156. package/src/utils/processor-response.js +1 -1
  157. package/src/utils/rabbitmq.js +1 -1
  158. package/src/utils/redis-client.js +1 -1
  159. package/src/utils/redis-helper.js +1 -1
  160. package/src/utils/request-scope.js +1 -1
  161. package/src/utils/security-checks.js +1 -1
  162. package/src/utils/service-resolver.js +1 -1
  163. package/src/utils/shutdown-coordinator.js +1 -1
  164. package/src/utils/soft-delete-dashboard-guard.js +1 -1
  165. package/src/utils/sql-table-extractor.js +1 -1
  166. package/src/utils/trusted-keys.js +1 -1
  167. package/src/utils/upload-handler.js +1 -1
  168. package/src/utils/upsert-builder.js +1 -1
  169. package/src/utils/workflow-hook-executor.js +1 -1
@@ -1 +1 @@
1
- const a0_0x2543ab=a0_0x4739;function a0_0x4739(_0x487bd0,_0x37301c){_0x487bd0=_0x487bd0-0xbb;const _0x1f0771=a0_0x1f07();let _0x473954=_0x1f0771[_0x487bd0];if(a0_0x4739['OhHVgQ']===undefined){var _0x306acc=function(_0x5e8bac){const _0x216d23='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x56730e='',_0x4390e0='';for(let _0x4689e9=0x0,_0x2f096a,_0x1a34f9,_0x38ef15=0x0;_0x1a34f9=_0x5e8bac['charAt'](_0x38ef15++);~_0x1a34f9&&(_0x2f096a=_0x4689e9%0x4?_0x2f096a*0x40+_0x1a34f9:_0x1a34f9,_0x4689e9++%0x4)?_0x56730e+=String['fromCharCode'](0xff&_0x2f096a>>(-0x2*_0x4689e9&0x6)):0x0){_0x1a34f9=_0x216d23['indexOf'](_0x1a34f9);}for(let _0x1bddbe=0x0,_0x275330=_0x56730e['length'];_0x1bddbe<_0x275330;_0x1bddbe++){_0x4390e0+='%'+('00'+_0x56730e['charCodeAt'](_0x1bddbe)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4390e0);};a0_0x4739['ffbuPb']=_0x306acc,a0_0x4739['PAtANi']={},a0_0x4739['OhHVgQ']=!![];}const _0x2cc4a1=_0x1f0771[0x0],_0x5c2b66=_0x487bd0+_0x2cc4a1,_0x3c5958=a0_0x4739['PAtANi'][_0x5c2b66];return!_0x3c5958?(_0x473954=a0_0x4739['ffbuPb'](_0x473954),a0_0x4739['PAtANi'][_0x5c2b66]=_0x473954):_0x473954=_0x3c5958,_0x473954;}function a0_0x1f07(){const _0x519b82=['zxjYB3i','uKvbrcbSB2nRihjLBgvHC2vK','tK1ZtMq','Bg9JA19JB25MAwDFAw5PDa','AxnfBMfIBgvK','C2v0','v1jjveuGBg9JAYbYzwPLy3rLzcaTihjLy29YzcbIDxn5','v1jjveuGBg9JAYbHy3f1AxjLihrPBwvVDxq','D2fYBG','x2vUywjSzwq','Bvveu1m','nZC4nhfyALH0DW','rxvWBw8','CMvHza','Bg9JA19LEhrLBMrLza','yu55z2O','z2vUzxjHDgvmB2nRvMfSDwu','nteWAePSvvfU','BwvZC2fNzq','q2fUBM90ihjLBgvHC2uGBg9JAYaTig5VDcbVD25LCG','x2LUAxrdB25MAwC','z2v0','v2fPDgLUzYbMB3iGv1jjveuGBg9JAYb0BYbYzwXLyxnL','x3bYzwzPEa','zxHWAxjL','C3vIC3rYAw5N','D3jPDgvFBg9JA19Hy3f1AxjLza','D29YA2vYlq','y2HOAfi','x3DVCMTLCKLK','D29YA2vYswq','cIaGicaGicaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicaGicaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzxHWAxjLiIWGs0vzu1SXxsWGqvjhvLSYxsKkicaGicaGicbLBhnLcIaGicaGicaGicbYzxr1CM4GmaOGicaGicaGigvUzaOGicaGica','zgvIDwC','z2v0q2XPzw50','uKvbrcbSB2nRigfJCxvPCMvK','C2v0zxG','cIaGicaGicaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicaGicaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzgvSiIWGs0vzu1SXxsKkicaGicaGicbLBhnLcIaGicaGicaGicbYzxr1CM4GmaOGicaGicaGigvUzaOGicaGica','otK3ndaXtgrKsevh','D3jPDgvFBg9JA19LCNjVCG','x3jLDhj5rgvSyxK','te9ds19esvnuuKLcvvrfrf9tvfjbvevhwq','x3jLDhj5q291BNq','zw5HyMXLza','v0vKv0u','CMv0CNLezwXHEq','CMvSzwfZzuXVy2S','mta1nJCXoe1oreLPwG','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMvQzwn0ig1VzguP','zgvMyxvSDfruta','te9ds19esvnuuKLcvvrfrf9srvrswv9eruXbwq','zgvJCG','mJyZmZjHyxjtBNu','x3n0CMf0zwD5','uKvbrcbSB2nRigvYCM9Y','CMv0CNLdB3vUDa','CMvQzwn0','ndq5nJGXmffJAMvOtW','CMvHzf9SB2nRx2fJCxvPCMvK','zfncvfq','nJy1n3LcBgDbyG','mtyYmdaYnfzwq2LWEG','rfHbENK','ChvJEfy','ndK1mZG3nMXrwwPLrW','D3jPDgvFBg9JA19YzwPLy3rLza','CMv0CNK','x2vUC3vYzuLUAxrPywXPEMvK','zw52','v1vyEge','EfjXy0C','yvDdwwO','zgvS','yvrHs2K','uKvbrcbSB2nRigfJCxvPCMuGDgLTzw91Da','yNvPBgrmB2nRs2v5','sKX5sLy','lcbZDhjHDgvNEtOG','Bg9JA19LEhrLBMrFzxjYB3i','DxvPza','CMy6Bg9JAZO','C2XLzxa','ywnXDwLYzvjLywrmB2nR','mZzRuKXpwvO','x2rLzMf1BhruveW','zfjZtwq','veXbBxu','CMvHzf9SB2nRx3rPBwvVDxq','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMv0CNKGBw9KzsK','Bg9JA19YzwXLyxnLx25VDf9VD25LCG','te9ds19esvnuuKLcvvrfrf9uveW','ywXS','CMvHzf9SB2nRx2vYCM9Y','zxzHBa','EKD2uvm','Cg93','x2LUAxrPywXPEMvK','tg9JAYbYzwXLyxnLigvYCM9Y','v2fPDgLUzYbMB3iGBg9JA3mGDg8GCMvSzwfZzq','ywnXDwLYzvDYAxrLtg9JAW','C3rYyxrLz3K','oNjLywq6','BgfZDeLUzgv4t2y','D3jPDgu','Bg9JA19YzwXLyxnLx2vYCM9Y','zxH0zw5Ktg9JAW'];a0_0x1f07=function(){return _0x519b82;};return a0_0x1f07();}(function(_0x55c775,_0x1598d4){const _0x513fa1=a0_0x4739,_0x5aa21a=_0x55c775();while(!![]){try{const _0x22eeee=parseInt(_0x513fa1(0xf3))/0x1+-parseInt(_0x513fa1(0x101))/0x2+-parseInt(_0x513fa1(0xea))/0x3+-parseInt(_0x513fa1(0xf8))/0x4*(-parseInt(_0x513fa1(0xd6))/0x5)+parseInt(_0x513fa1(0x104))/0x6+-parseInt(_0x513fa1(0x100))/0x7*(-parseInt(_0x513fa1(0xd0))/0x8)+parseInt(_0x513fa1(0x117))/0x9*(-parseInt(_0x513fa1(0xfd))/0xa);if(_0x22eeee===_0x1598d4)break;else _0x5aa21a['push'](_0x5aa21a['shift']());}catch(_0x4d8575){_0x5aa21a['push'](_0x5aa21a['shift']());}}}(a0_0x1f07,0x8355e));const redisClient=require('./redis-client'),{logger}=require('./logger'),{v4:uuidv4}=require(a0_0x2543ab(0x113));class LockManager{constructor(){const _0x60da51=a0_0x2543ab;this['_prefix']=null,this['_enabled']=null,this[_0x60da51(0x118)]=null,this[_0x60da51(0xee)]=null,this['_retryDelay']=null,this[_0x60da51(0xf9)]=null,this['_workerId']=null,this[_0x60da51(0xbb)]=![];}[a0_0x2543ab(0xd9)](){const _0xfa7583=a0_0x2543ab,_0x12fd98={'kvNEV':'true','FGPzj':function(_0x2f59ed,_0x61e308,_0xa85c3){return _0x2f59ed(_0x61e308,_0xa85c3);},'hLCTg':_0xfa7583(0x114),'DXAzy':function(_0x5a87d0,_0x6e44a9,_0x542211){return _0x5a87d0(_0x6e44a9,_0x542211);},'qZtMY':_0xfa7583(0x106)},_0x206df9='4|0|6|1|5|7|2|8|3'['split']('|');let _0x5b8b3d=0x0;while(!![]){switch(_0x206df9[_0x5b8b3d++]){case'0':this[_0xfa7583(0xce)]=process[_0xfa7583(0x108)]['LOCK_DISTRIBUTED_ENABLED']===_0x12fd98['kvNEV'];continue;case'1':this['_retryCount']=_0x12fd98['FGPzj'](parseInt,process['env']['LOCK_DISTRIBUTED_RETRY'],0xa)||0x3;continue;case'2':this[_0xfa7583(0xe2)]=_0xfa7583(0xe0)+process['pid'];continue;case'3':logger['info']({'event':_0xfa7583(0xc8),'enabled':this[_0xfa7583(0xce)],'strategy':this['_strategy'],'ttl':this['_defaultTTL'],'retryCount':this['_retryCount'],'retryDelay':this[_0xfa7583(0xec)],'workerId':this[_0xfa7583(0xe2)]},'Lock\x20configuration\x20initialized\x20-\x20enabled:\x20'+this[_0xfa7583(0xce)]+_0xfa7583(0x111)+this['_strategy']);continue;case'4':this[_0xfa7583(0xdc)]=_0x12fd98['hLCTg'];continue;case'5':this[_0xfa7583(0xec)]=_0x12fd98[_0xfa7583(0x102)](parseInt,process['env'][_0xfa7583(0xf6)],0xa)||0x64;continue;case'6':this[_0xfa7583(0x118)]=parseInt(process[_0xfa7583(0x108)][_0xfa7583(0x11e)],0xa)||0xa;continue;case'7':this['_strategy']=process['env'][_0xfa7583(0xed)]||_0x12fd98['qZtMY'];continue;case'8':this['_initialized']=!![];continue;}break;}}['_ensureInitialized'](){const _0x2648c4=a0_0x2543ab;!this[_0x2648c4(0xbb)]&&this[_0x2648c4(0xd9)]();}get['prefix'](){const _0x223053=a0_0x2543ab;return this[_0x223053(0x107)](),this[_0x223053(0xdc)];}get[a0_0x2543ab(0xef)](){const _0x38dbcb=a0_0x2543ab;return this[_0x38dbcb(0x107)](),this['_enabled'];}get['defaultTTL'](){const _0x514ac3=a0_0x2543ab;return this[_0x514ac3(0x107)](),this[_0x514ac3(0x118)];}get[a0_0x2543ab(0xfb)](){const _0x56f383=a0_0x2543ab;return this['_ensureInitialized'](),this[_0x56f383(0xee)];}get['retryDelay'](){const _0xc90c85=a0_0x2543ab;return this[_0xc90c85(0x107)](),this['_retryDelay'];}get[a0_0x2543ab(0xbf)](){return this['_ensureInitialized'](),this['_strategy'];}get['workerId'](){return this['_ensureInitialized'](),this['_workerId'];}[a0_0x2543ab(0x10f)](_0x27ce2e){const {module:_0x4f38f6,endpoint:_0x21e0d8,lockType:_0x4b7504,recordId:_0x179667}=_0x27ce2e;if(_0x179667)return''+this['prefix']+_0x4f38f6+':'+_0x21e0d8+':'+_0x179667+':'+_0x4b7504;return''+this['prefix']+_0x4f38f6+':'+_0x21e0d8+':'+_0x4b7504;}['generateLockValue'](){const _0x3d8ccd=a0_0x2543ab;return this[_0x3d8ccd(0xe3)]+':'+uuidv4()+':'+Date['now']();}async[a0_0x2543ab(0x116)](_0x54d427){const _0x20900a=a0_0x2543ab,_0x25c4c2={'JNshw':_0x20900a(0xc2),'aWCYj':function(_0x8e3c0e,_0x3169e3){return _0x8e3c0e<_0x3169e3;},'chhhR':_0x20900a(0xfe),'XcCDJ':_0x20900a(0xe7),'nVKHS':'read_lock_waiting','WUXxa':_0x20900a(0xdb),'BCZXO':function(_0x5796f0,_0x4f2ea8){return _0x5796f0*_0x4f2ea8;},'WEdWE':_0x20900a(0x11b),'dmpvN':_0x20900a(0x10e),'aTaKi':_0x20900a(0xfa)};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x269346=this['buildLockKey']({..._0x54d427,'lockType':_0x25c4c2['JNshw']}),_0x50bbc2=this['buildLockKey']({..._0x54d427,'lockType':'read'}),_0x42f1aa=this['generateLockValue']();try{const _0x18a8f2=redisClient[_0x20900a(0xe6)]();for(let _0x39e7d7=0x0;_0x25c4c2[_0x20900a(0x10b)](_0x39e7d7,this[_0x20900a(0xfb)]);_0x39e7d7++){const _0x1adb12=await _0x18a8f2['get'](_0x269346);if(!_0x1adb12){await _0x18a8f2['incr'](_0x50bbc2),await _0x18a8f2[_0x20900a(0xdd)](_0x50bbc2,this['defaultTTL']);const _0x10a153=_0x50bbc2+':'+_0x42f1aa;return await _0x18a8f2[_0x20900a(0xe8)](_0x10a153,this['defaultTTL'],_0x42f1aa),logger['debug']({'event':_0x25c4c2[_0x20900a(0xe1)],'key':_0x50bbc2,'value':_0x42f1aa},_0x25c4c2['XcCDJ']),{'success':!![],'lockValue':_0x42f1aa,'lockKey':_0x10a153};}logger[_0x20900a(0xe5)]({'event':_0x25c4c2['nVKHS'],'writeKey':_0x269346,'attempt':_0x39e7d7},_0x25c4c2[_0x20900a(0x109)]),await this[_0x20900a(0x115)](_0x25c4c2['BCZXO'](this[_0x20900a(0xf1)],Math[_0x20900a(0x123)](0x2,_0x39e7d7)));}return logger['warn']({'event':_0x25c4c2[_0x20900a(0xf0)],'key':_0x50bbc2},_0x25c4c2['dmpvN']),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x4ad799){return logger[_0x20900a(0xc5)]({'event':_0x20900a(0x120),'error':_0x4ad799[_0x20900a(0xd7)]},_0x25c4c2[_0x20900a(0x10d)]),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x2543ab(0xbe)](_0xed78bb){const _0x45e11c=a0_0x2543ab,_0x1e7ef7={'aNygj':function(_0x5d1184,_0x323302){return _0x5d1184===_0x323302;},'pDwEI':_0x45e11c(0xdf),'dSBTT':_0x45e11c(0xf4),'zGvQS':_0x45e11c(0x105),'JciIF':_0x45e11c(0xcb),'pucxV':function(_0x390e71,_0xe111ef){return _0x390e71<_0xe111ef;},'NMsNd':function(_0x43e65f,_0x2c3f80){return _0x43e65f(_0x2c3f80);},'dRsMd':'write_lock_waiting','icEVA':function(_0x3ec8be,_0x39be0e){return _0x3ec8be*_0x39be0e;},'aEDFl':_0x45e11c(0xcc),'DdVjk':_0x45e11c(0xeb),'FKase':'WRITE\x20lock\x20error'};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x5e96a3=this['buildLockKey']({..._0xed78bb,'lockType':_0x45e11c(0xc2)}),_0x5751a0=this['buildLockKey']({..._0xed78bb,'lockType':'read'}),_0x317fee=this[_0x45e11c(0xd5)]();try{const _0x5a5cd3=redisClient['getClient']();if(this[_0x45e11c(0xbf)]==='reject'){const _0x359ebc=await _0x5a5cd3[_0x45e11c(0xca)](_0x5e96a3,_0x317fee,'EX',this[_0x45e11c(0xf5)],'NX');if(_0x1e7ef7[_0x45e11c(0xd4)](_0x359ebc,'OK'))return logger['debug']({'event':_0x1e7ef7['pDwEI'],'key':_0x5e96a3,'value':_0x317fee,'strategy':_0x45e11c(0xfc)},_0x1e7ef7[_0x45e11c(0xff)]),{'success':!![],'lockValue':_0x317fee,'lockKey':_0x5e96a3};return logger['debug']({'event':_0x1e7ef7[_0x45e11c(0x122)],'key':_0x5e96a3},_0x1e7ef7['JciIF']),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x2e8cf0=0x0;_0x1e7ef7[_0x45e11c(0x103)](_0x2e8cf0,this['retryCount']);_0x2e8cf0++){const [_0x316a4d,_0x1053bb]=await Promise[_0x45e11c(0x11f)]([_0x5a5cd3['get'](_0x5751a0),_0x5a5cd3['get'](_0x5e96a3)]);if(!_0x1053bb&&(!_0x316a4d||_0x1e7ef7[_0x45e11c(0xc7)](parseInt,_0x316a4d)===0x0)){const _0x3ff808=await _0x5a5cd3[_0x45e11c(0xca)](_0x5e96a3,_0x317fee,'EX',this['defaultTTL'],'NX');if(_0x3ff808==='OK')return logger[_0x45e11c(0xe5)]({'event':_0x45e11c(0xdf),'key':_0x5e96a3,'value':_0x317fee,'strategy':'retry'},_0x45e11c(0x11c)),{'success':!![],'lockValue':_0x317fee,'lockKey':_0x5e96a3};}logger['debug']({'event':_0x1e7ef7[_0x45e11c(0x119)],'writeKey':_0x5e96a3,'readCount':_0x316a4d,'attempt':_0x2e8cf0},_0x45e11c(0xbd)),await this['sleep'](_0x1e7ef7['icEVA'](this[_0x45e11c(0xf1)],Math[_0x45e11c(0x123)](0x2,_0x2e8cf0)));}return logger[_0x45e11c(0xcd)]({'event':'write_lock_timeout','key':_0x5e96a3},_0x1e7ef7['aEDFl']),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x2e97cc){return logger['error']({'event':_0x1e7ef7['DdVjk'],'error':_0x2e97cc['message']},_0x1e7ef7['FKase']),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x2543ab(0xf2)](_0x33e520,_0x258207){const _0x26ce16=a0_0x2543ab,_0x2ed913={'Icvqu':'WRITE\x20lock\x20released','JLyJV':_0x26ce16(0x11d),'Eupmo':_0x26ce16(0xd8),'cyvrd':_0x26ce16(0xc3)};if(!this['enabled']||!_0x33e520)return!![];try{const _0x5c62ee=redisClient[_0x26ce16(0xe6)]();if(_0x33e520['includes'](_0x26ce16(0xc0))){await _0x5c62ee[_0x26ce16(0x10c)](_0x33e520);const _0x2bdf89=_0x33e520[_0x26ce16(0xde)](0x0,_0x33e520[_0x26ce16(0xc1)](':')),_0xc4fa36=await _0x5c62ee[_0x26ce16(0xda)](_0x2bdf89);return _0xc4fa36&&parseInt(_0xc4fa36)>0x0&&await _0x5c62ee[_0x26ce16(0xf7)](_0x2bdf89),logger['debug']({'event':'read_lock_released','key':_0x33e520},_0x26ce16(0xc6)),!![];}const _0x30772e=_0x26ce16(0xe9),_0x36a519=await _0x5c62ee[_0x26ce16(0x121)](_0x30772e,0x1,_0x33e520,_0x258207);if(_0x36a519===0x1)return logger[_0x26ce16(0xe5)]({'event':'write_lock_released','key':_0x33e520},_0x2ed913['Icvqu']),!![];return logger['warn']({'event':_0x2ed913[_0x26ce16(0x110)],'key':_0x33e520},_0x2ed913[_0x26ce16(0xd1)]),![];}catch(_0x52723f){return logger['error']({'event':_0x2ed913['cyvrd'],'key':_0x33e520,'error':_0x52723f[_0x26ce16(0xd7)]},_0x26ce16(0xbc)),![];}}async[a0_0x2543ab(0xc4)](_0x847d3f,_0x1fa5ad,_0x3936e9=null){const _0x326b84=a0_0x2543ab,_0x48489c={'GiMYO':_0x326b84(0xd3),'TLAmu':'Lock\x20extend\x20error'};if(!this[_0x326b84(0xef)]||!_0x847d3f)return!![];try{const _0x55b1b1=redisClient[_0x326b84(0xe6)](),_0x5603b1=_0x326b84(0xe4),_0x5b23f8=await _0x55b1b1[_0x326b84(0x121)](_0x5603b1,0x1,_0x847d3f,_0x1fa5ad,_0x3936e9||this[_0x326b84(0xf5)]);if(_0x5b23f8===0x1)return logger['debug']({'event':_0x48489c['GiMYO'],'key':_0x847d3f,'ttl':_0x3936e9||this[_0x326b84(0xf5)]},'Lock\x20TTL\x20extended'),!![];return![];}catch(_0x247af8){return logger['error']({'event':_0x326b84(0x112),'key':_0x847d3f,'error':_0x247af8[_0x326b84(0xd7)]},_0x48489c[_0x326b84(0x11a)]),![];}}[a0_0x2543ab(0xc9)](){return this['enabled'];}[a0_0x2543ab(0x115)](_0x57f122){return new Promise(_0x28b722=>setTimeout(_0x28b722,_0x57f122));}async['getLockInfo'](_0x12e0fc){const _0x42cdcc=a0_0x2543ab,_0x207eb2={'mUDSS':_0x42cdcc(0xd2),'xRqcG':function(_0x286d04,_0x56170e){return _0x286d04||_0x56170e;}};if(!this[_0x42cdcc(0xef)])return{'enabled':![]};try{const _0x58e33d=redisClient[_0x42cdcc(0xe6)](),_0x4cae92=this[_0x42cdcc(0x10f)]({..._0x12e0fc,'lockType':_0x42cdcc(0xc2)}),_0x3938d0=this[_0x42cdcc(0x10f)]({..._0x12e0fc,'lockType':_0x207eb2[_0x42cdcc(0xcf)]}),[_0x30195f,_0x213088]=await Promise[_0x42cdcc(0x11f)]([_0x58e33d['get'](_0x4cae92),_0x58e33d[_0x42cdcc(0xda)](_0x3938d0)]);return{'enabled':!![],'writeLock':_0x207eb2[_0x42cdcc(0x10a)](_0x30195f,null),'readCount':parseInt(_0x213088)||0x0,'writeKey':_0x4cae92,'readKey':_0x3938d0};}catch(_0x5a497a){return{'enabled':!![],'error':_0x5a497a['message']};}}}module['exports']=new LockManager();
1
+ function a0_0x1fb6(_0x522127,_0x1a7df4){_0x522127=_0x522127-0x1d8;const _0x5a1699=a0_0x5a16();let _0x1fb674=_0x5a1699[_0x522127];if(a0_0x1fb6['coFuhe']===undefined){var _0x48fb45=function(_0x32d0e6){const _0x1062d9='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4682b4='',_0x438577='';for(let _0x193086=0x0,_0x3fc0c4,_0x1d7a8e,_0x213116=0x0;_0x1d7a8e=_0x32d0e6['charAt'](_0x213116++);~_0x1d7a8e&&(_0x3fc0c4=_0x193086%0x4?_0x3fc0c4*0x40+_0x1d7a8e:_0x1d7a8e,_0x193086++%0x4)?_0x4682b4+=String['fromCharCode'](0xff&_0x3fc0c4>>(-0x2*_0x193086&0x6)):0x0){_0x1d7a8e=_0x1062d9['indexOf'](_0x1d7a8e);}for(let _0x5e9f8c=0x0,_0x29246e=_0x4682b4['length'];_0x5e9f8c<_0x29246e;_0x5e9f8c++){_0x438577+='%'+('00'+_0x4682b4['charCodeAt'](_0x5e9f8c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x438577);};a0_0x1fb6['lEVdjw']=_0x48fb45,a0_0x1fb6['opBrkc']={},a0_0x1fb6['coFuhe']=!![];}const _0x5ebd87=_0x5a1699[0x0],_0x1f40bc=_0x522127+_0x5ebd87,_0x142793=a0_0x1fb6['opBrkc'][_0x1f40bc];return!_0x142793?(_0x1fb674=a0_0x1fb6['lEVdjw'](_0x1fb674),a0_0x1fb6['opBrkc'][_0x1f40bc]=_0x1fb674):_0x1fb674=_0x142793,_0x1fb674;}const a0_0x29028c=a0_0x1fb6;(function(_0x25646d,_0x1bd853){const _0x5e8590=a0_0x1fb6,_0x572c1f=_0x25646d();while(!![]){try{const _0x4a145b=-parseInt(_0x5e8590(0x1f5))/0x1*(-parseInt(_0x5e8590(0x208))/0x2)+parseInt(_0x5e8590(0x21f))/0x3+-parseInt(_0x5e8590(0x1ef))/0x4*(-parseInt(_0x5e8590(0x222))/0x5)+parseInt(_0x5e8590(0x21d))/0x6+parseInt(_0x5e8590(0x204))/0x7+parseInt(_0x5e8590(0x205))/0x8+-parseInt(_0x5e8590(0x20b))/0x9*(parseInt(_0x5e8590(0x20c))/0xa);if(_0x4a145b===_0x1bd853)break;else _0x572c1f['push'](_0x572c1f['shift']());}catch(_0x12834d){_0x572c1f['push'](_0x572c1f['shift']());}}}(a0_0x5a16,0x19210));const redisClient=require(a0_0x29028c(0x217)),{logger}=require('./logger'),{v4:uuidv4}=require('uuid');function a0_0x5a16(){const _0x1a69e9=['mtK4oty2wwDMEe9l','Bg9JA19LEhrLBMrLza','uKvbrcbSB2nRigvYCM9Y','nJbyAKDUrhy','zxHWAxjL','BK1vtwO','CMv0CNLdB3vUDa','ywnXDwLYzvDYAxrLtg9JAW','x2LUAxrPywXPEMvK','Cg93','q2fUBM90ihjLBgvHC2uGBg9JAYaTig5VDcbVD25LCG','D29YA2vYswq','x3jLDhj5rgvSyxK','wu9fqwu','x3n0CMf0zwD5','D2fYBG','D3jPDgu','x2vUC3vYzuLUAxrPywXPEMvK','r2LeAhe','ywXS','sg5Ktgy','D3jPDgvFBg9JA193ywL0Aw5N','v05MCwy','zxzHBa','r3fqCxG','sNjSCwy','Bg9JA19YzwXLyxnLx2vYCM9Y','ChjLzML4','z2v0q2XPzw50','C2v0zxG','z2v0','x3jLDhj5q291BNq','v2fPDgLUzYbMB3iGv1jjveuGBg9JAYb0BYbYzwXLyxnL','s2XUzMO','r0Htt0m','x2vUywjSzwq','zxjYB3i','mtyXmZjTAKLwAxu','CMv0CNLezwXHEq','C2v0','x3DVCMTLCKLK','Bg9JA19YzwXLyxnLx25VDf9VD25LCG','CMvHza','nda0mLzuv0vLtG','te9ds19esvnuuKLcvvrfrf9ftKfcteve','zgvMyxvSDfruta','BwvZC2fNzq','C3rYyxrLz3K','Bg9JA19JB25MAwDFAw5PDa','y3LUv0u','CMvHzf9SB2nRx3jLBgvHC2vK','qwfXExi','C3vIC3rYAw5N','uKnxyvu','v1jjveuGBg9JAYbYzwPLy3rLzcaTihjLy29YzcbIDxn5','zgvIDwC','tg9JAYbLEhrLBMqGzxjYB3i','x2rLzMf1BhruveW','otyYotq4uLzfwgfx','mZqYmdGWAwPbA2zo','tg9JAYbuveWGzxH0zw5Kzwq','yNvPBgrmB2nRs2v5','odjxBw9Py0i','C2XLzxa','CKzmrwm','mJeWmda3ohz4svLQrq','mJbKEw9vAeW','vffIq1m','D3jPDgvFBg9JA190Aw1LB3v0','Aw5JBhvKzxm','C2zgDLy','cIaGicaGicaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicaGicaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzgvSiIWGs0vzu1SXxsKkicaGicaGicbLBhnLcIaGicaGicaGicbYzxr1CM4GmaOGicaGicaGigvUzaOGicaGica','uKvbrcbSB2nRihjLBgvHC2vK','zw52','zgvS','D3jPDgvFBg9JA19YzwPLy3rLza','CMvHzf9SB2nRx3rPBwvVDxq','lI9YzwrPCY1JBgLLBNq','x2LUAxrdB25MAwC','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMv0CNKGBw9KzsK','zw5HyMXLza','D3jPDgvFBg9JA19Hy3f1AxjLza','te9ds19esvnuuKLcvvrfrf9tvfjbvevhwq','nJuZmdG4EfDhuhrY','CMvHzf9SB2nRx3DHAxrPBMC'];a0_0x5a16=function(){return _0x1a69e9;};return a0_0x5a16();}class LockManager{constructor(){const _0x143bf1=a0_0x29028c;this['_prefix']=null,this['_enabled']=null,this['_defaultTTL']=null,this['_retryCount']=null,this['_retryDelay']=null,this[_0x143bf1(0x1d8)]=null,this[_0x143bf1(0x1f2)]=null,this[_0x143bf1(0x227)]=![];}[a0_0x29028c(0x218)](){const _0xfb20c5=a0_0x29028c,_0x8a6880={'mTwDm':function(_0x4e88e7,_0x51d8d7,_0x4c7ada){return _0x4e88e7(_0x51d8d7,_0x4c7ada);},'RCWaU':_0xfb20c5(0x1fa)};this['_prefix']='rf:lock:',this['_enabled']=process[_0xfb20c5(0x213)][_0xfb20c5(0x1f6)]==='true',this[_0xfb20c5(0x203)]=parseInt(process[_0xfb20c5(0x213)]['LOCK_DISTRIBUTED_TTL'],0xa)||0xa,this['_retryCount']=_0x8a6880['mTwDm'](parseInt,process[_0xfb20c5(0x213)]['LOCK_DISTRIBUTED_RETRY'],0xa)||0x3,this['_retryDelay']=parseInt(process[_0xfb20c5(0x213)]['LOCK_DISTRIBUTED_RETRY_DELAY'],0xa)||0x64,this['_strategy']=process['env'][_0xfb20c5(0x21c)]||'retry',this[_0xfb20c5(0x1f2)]='worker-'+process['pid'],this[_0xfb20c5(0x227)]=!![],logger['info']({'event':_0x8a6880[_0xfb20c5(0x1ff)],'enabled':this['_enabled'],'strategy':this[_0xfb20c5(0x1d8)],'ttl':this['_defaultTTL'],'retryCount':this[_0xfb20c5(0x1e9)],'retryDelay':this['_retryDelay'],'workerId':this['_workerId']},'Lock\x20configuration\x20initialized\x20-\x20enabled:\x20'+this[_0xfb20c5(0x1ed)]+',\x20strategy:\x20'+this['_strategy']);}['_ensureInitialized'](){const _0x378df8=a0_0x29028c;!this[_0x378df8(0x227)]&&this['_initConfig']();}get[a0_0x29028c(0x1e5)](){const _0xac65f0=a0_0x29028c;return this[_0xac65f0(0x1db)](),this['_prefix'];}get['enabled'](){const _0x1e12cb=a0_0x29028c;return this[_0x1e12cb(0x1db)](),this[_0x1e12cb(0x1ed)];}get[a0_0x29028c(0x1f7)](){const _0xeeb5b9=a0_0x29028c;return this['_ensureInitialized'](),this[_0xeeb5b9(0x203)];}get['retryCount'](){const _0x389f9e=a0_0x29028c;return this[_0x389f9e(0x1db)](),this['_retryCount'];}get['retryDelay'](){const _0x316c0f=a0_0x29028c;return this['_ensureInitialized'](),this[_0x316c0f(0x22b)];}get[a0_0x29028c(0x1f9)](){const _0x400b15=a0_0x29028c;return this[_0x400b15(0x1db)](),this['_strategy'];}get[a0_0x29028c(0x22a)](){const _0x1d0547=a0_0x29028c;return this['_ensureInitialized'](),this[_0x1d0547(0x1f2)];}['buildLockKey'](_0x588225){const _0x57d8ed=a0_0x29028c,{module:_0x2a0e16,endpoint:_0x480465,lockType:_0x685c53,recordId:_0x4976f6}=_0x588225;if(_0x4976f6)return''+this[_0x57d8ed(0x1e5)]+_0x2a0e16+':'+_0x480465+':'+_0x4976f6+':'+_0x685c53;return''+this['prefix']+_0x2a0e16+':'+_0x480465+':'+_0x685c53;}['generateLockValue'](){return this['workerId']+':'+uuidv4()+':'+Date['now']();}async['acquireReadLock'](_0x10bbc4){const _0x4c608e=a0_0x29028c,_0x2fc165={'sfFvV':_0x4c608e(0x1da),'rFLEc':function(_0x30f4e6,_0x649911){return _0x30f4e6<_0x649911;},'YOEAe':'read_lock_acquired','cynWE':_0x4c608e(0x216),'LVULe':'READ\x20lock\x20acquire\x20timeout','brroa':_0x4c608e(0x221)};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x3a8536=this[_0x4c608e(0x207)]({..._0x10bbc4,'lockType':_0x2fc165[_0x4c608e(0x210)]}),_0x10a8a1=this[_0x4c608e(0x207)]({..._0x10bbc4,'lockType':_0x4c608e(0x1f4)}),_0x3b22b0=this['generateLockValue']();try{const _0x3e200a=redisClient[_0x4c608e(0x1e6)]();for(let _0x275938=0x0;_0x2fc165[_0x4c608e(0x20a)](_0x275938,this[_0x4c608e(0x225)]);_0x275938++){const _0x488256=await _0x3e200a['get'](_0x3a8536);if(!_0x488256){await _0x3e200a['incr'](_0x10a8a1),await _0x3e200a[_0x4c608e(0x223)](_0x10a8a1,this[_0x4c608e(0x1f7)]);const _0x394218=_0x10a8a1+':'+_0x3b22b0;return await _0x3e200a[_0x4c608e(0x1e7)](_0x394218,this['defaultTTL'],_0x3b22b0),logger[_0x4c608e(0x201)]({'event':_0x2fc165[_0x4c608e(0x22c)],'key':_0x10a8a1,'value':_0x3b22b0},'READ\x20lock\x20acquired'),{'success':!![],'lockValue':_0x3b22b0,'lockKey':_0x394218};}logger['debug']({'event':_0x4c608e(0x21e),'writeKey':_0x3a8536,'attempt':_0x275938},_0x4c608e(0x1ea)),await this['sleep'](this['retryDelay']*Math[_0x4c608e(0x228)](0x2,_0x275938));}return logger['warn']({'event':_0x2fc165[_0x4c608e(0x1fb)],'key':_0x10a8a1},_0x2fc165['LVULe']),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x209bd8){return logger['error']({'event':'read_lock_error','error':_0x209bd8[_0x4c608e(0x1f8)]},_0x2fc165['brroa']),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x29028c(0x226)](_0x1d1d38){const _0x4285c6=a0_0x29028c,_0x2858b6={'WNfqf':_0x4285c6(0x1f4),'fHVlm':_0x4285c6(0x21b),'vhRib':'reject','JItMw':'WRITE\x20lock\x20acquired\x20(reject\x20mode)','oSyzF':_0x4285c6(0x200),'XpOyG':function(_0xd82918,_0x2148d6){return _0xd82918===_0x2148d6;},'GHSOC':_0x4285c6(0x219),'GqPqx':'Waiting\x20for\x20locks\x20to\x20release','HndLf':_0x4285c6(0x20e),'ytuCr':'write_lock_error'};if(!this[_0x4285c6(0x21a)])return{'success':!![],'lockValue':null,'lockKey':null};const _0x5f0ff0=this['buildLockKey']({..._0x1d1d38,'lockType':_0x4285c6(0x1da)}),_0x4d784f=this[_0x4285c6(0x207)]({..._0x1d1d38,'lockType':_0x2858b6[_0x4285c6(0x1e0)]}),_0x4221ca=this['generateLockValue']();try{const _0x1e8117=redisClient[_0x4285c6(0x1e6)]();if(this['strategy']==='reject'){const _0x9bf771=await _0x1e8117[_0x4285c6(0x1f1)](_0x5f0ff0,_0x4221ca,'EX',this[_0x4285c6(0x1f7)],'NX');if(_0x9bf771==='OK')return logger['debug']({'event':_0x2858b6['fHVlm'],'key':_0x5f0ff0,'value':_0x4221ca,'strategy':_0x2858b6['vhRib']},_0x2858b6['JItMw']),{'success':!![],'lockValue':_0x4221ca,'lockKey':_0x5f0ff0};return logger[_0x4285c6(0x201)]({'event':_0x4285c6(0x215),'key':_0x5f0ff0},_0x2858b6['oSyzF']),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x439dad=0x0;_0x439dad<this['retryCount'];_0x439dad++){const [_0x3478eb,_0x189ef4]=await Promise[_0x4285c6(0x1dd)]([_0x1e8117[_0x4285c6(0x1e8)](_0x4d784f),_0x1e8117['get'](_0x5f0ff0)]);if(!_0x189ef4&&(!_0x3478eb||parseInt(_0x3478eb)===0x0)){const _0x17e95b=await _0x1e8117[_0x4285c6(0x1f1)](_0x5f0ff0,_0x4221ca,'EX',this[_0x4285c6(0x1f7)],'NX');if(_0x2858b6['XpOyG'](_0x17e95b,'OK'))return logger['debug']({'event':_0x4285c6(0x21b),'key':_0x5f0ff0,'value':_0x4221ca,'strategy':'retry'},_0x2858b6[_0x4285c6(0x1ec)]),{'success':!![],'lockValue':_0x4221ca,'lockKey':_0x5f0ff0};}logger['debug']({'event':_0x4285c6(0x1df),'writeKey':_0x5f0ff0,'readCount':_0x3478eb,'attempt':_0x439dad},_0x2858b6[_0x4285c6(0x1e2)]),await this[_0x4285c6(0x209)](this[_0x4285c6(0x1f0)]*Math['pow'](0x2,_0x439dad));}return logger['warn']({'event':_0x2858b6[_0x4285c6(0x1de)],'key':_0x5f0ff0},'WRITE\x20lock\x20acquire\x20timeout'),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x5a89ba){return logger['error']({'event':_0x2858b6['ytuCr'],'error':_0x5a89ba['message']},'WRITE\x20lock\x20error'),{'success':![],'lockValue':null,'lockKey':null};}}async['releaseLock'](_0x2b5e11,_0x2e1b3d){const _0x2d326=a0_0x29028c,_0x502b34={'Klnfj':function(_0x14197e,_0x530996){return _0x14197e(_0x530996);},'rklvp':_0x2d326(0x212),'CWnCa':_0x2d326(0x229),'GiDhq':'Lock\x20release\x20error'};if(!this['enabled']||!_0x2b5e11)return!![];try{const _0x46548f=redisClient['getClient']();if(_0x2b5e11[_0x2d326(0x20f)](':read:')){await _0x46548f[_0x2d326(0x214)](_0x2b5e11);const _0x50a005=_0x2b5e11[_0x2d326(0x1fe)](0x0,_0x2b5e11['lastIndexOf'](':')),_0x2c69da=await _0x46548f['get'](_0x50a005);return _0x2c69da&&_0x502b34[_0x2d326(0x1eb)](parseInt,_0x2c69da)>0x0&&await _0x46548f['decr'](_0x50a005),logger['debug']({'event':_0x2d326(0x1fc),'key':_0x2b5e11},_0x502b34['rklvp']),!![];}const _0x58c922=_0x2d326(0x211),_0x422456=await _0x46548f[_0x2d326(0x1e1)](_0x58c922,0x1,_0x2b5e11,_0x2e1b3d);if(_0x422456===0x1)return logger['debug']({'event':'write_lock_released','key':_0x2b5e11},'WRITE\x20lock\x20released'),!![];return logger[_0x2d326(0x1d9)]({'event':_0x2d326(0x1f3),'key':_0x2b5e11},_0x502b34['CWnCa']),![];}catch(_0x177abc){return logger[_0x2d326(0x1ee)]({'event':_0x2d326(0x1e4),'key':_0x2b5e11,'error':_0x177abc['message']},_0x502b34[_0x2d326(0x1dc)]),![];}}async['extendLock'](_0x4948d5,_0x149c24,_0x55d9c0=null){const _0x3d900f=a0_0x29028c,_0x1cc263={'rWcvp':function(_0x406c81,_0x2580ab){return _0x406c81===_0x2580ab;},'gqUMc':_0x3d900f(0x220),'Aaqyr':'lock_extend_error','DlaNd':_0x3d900f(0x202)};if(!this['enabled']||!_0x4948d5)return!![];try{const _0x2a538b=redisClient['getClient'](),_0x2b9d91='\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',_0x188ea7=await _0x2a538b[_0x3d900f(0x1e1)](_0x2b9d91,0x1,_0x4948d5,_0x149c24,_0x55d9c0||this['defaultTTL']);if(_0x1cc263['rWcvp'](_0x188ea7,0x1))return logger['debug']({'event':_0x1cc263['gqUMc'],'key':_0x4948d5,'ttl':_0x55d9c0||this[_0x3d900f(0x1f7)]},_0x3d900f(0x206)),!![];return![];}catch(_0x57749d){return logger[_0x3d900f(0x1ee)]({'event':_0x1cc263[_0x3d900f(0x1fd)],'key':_0x4948d5,'error':_0x57749d[_0x3d900f(0x1f8)]},_0x1cc263['DlaNd']),![];}}['isEnabled'](){return this['enabled'];}[a0_0x29028c(0x209)](_0xc87621){return new Promise(_0x53137d=>setTimeout(_0x53137d,_0xc87621));}async['getLockInfo'](_0x399951){const _0x285172=a0_0x29028c,_0x5da814={'nMUMj':'write','Jrlqf':_0x285172(0x1f4),'TQbCS':function(_0x50ac1f,_0x323975){return _0x50ac1f||_0x323975;},'gWjpw':function(_0x35ff0e,_0x1372a0){return _0x35ff0e(_0x1372a0);}};if(!this['enabled'])return{'enabled':![]};try{const _0x35260a=redisClient[_0x285172(0x1e6)](),_0x249b79=this[_0x285172(0x207)]({..._0x399951,'lockType':_0x5da814[_0x285172(0x224)]}),_0x49d215=this[_0x285172(0x207)]({..._0x399951,'lockType':_0x5da814[_0x285172(0x1e3)]}),[_0x3858ec,_0xf9439b]=await Promise[_0x285172(0x1dd)]([_0x35260a['get'](_0x249b79),_0x35260a[_0x285172(0x1e8)](_0x49d215)]);return{'enabled':!![],'writeLock':_0x5da814[_0x285172(0x20d)](_0x3858ec,null),'readCount':_0x5da814['gWjpw'](parseInt,_0xf9439b)||0x0,'writeKey':_0x249b79,'readKey':_0x49d215};}catch(_0x5e050a){return{'enabled':!![],'error':_0x5e050a['message']};}}}module['exports']=new LockManager();
@@ -1 +1 @@
1
- const a0_0x86cace=a0_0x42d9;(function(_0x507672,_0x584223){const _0x4f16cd=a0_0x42d9,_0x265e6a=_0x507672();while(!![]){try{const _0x39d828=-parseInt(_0x4f16cd(0x24a))/0x1+-parseInt(_0x4f16cd(0x1bf))/0x2*(parseInt(_0x4f16cd(0x261))/0x3)+-parseInt(_0x4f16cd(0x1ba))/0x4+parseInt(_0x4f16cd(0x1d0))/0x5*(parseInt(_0x4f16cd(0x228))/0x6)+parseInt(_0x4f16cd(0x22c))/0x7*(parseInt(_0x4f16cd(0x25c))/0x8)+-parseInt(_0x4f16cd(0x262))/0x9+parseInt(_0x4f16cd(0x230))/0xa*(parseInt(_0x4f16cd(0x216))/0xb);if(_0x39d828===_0x584223)break;else _0x265e6a['push'](_0x265e6a['shift']());}catch(_0x466c14){_0x265e6a['push'](_0x265e6a['shift']());}}}(a0_0x28e2,0x8dad3));const pino=require(a0_0x86cace(0x241)),fs=require('fs'),path=require('path');let logToFile=![],logDir='./logs',serviceName=a0_0x86cace(0x1bb),sqlLogEnabled=![],sqlLogLevel=a0_0x86cace(0x244),sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':a0_0x86cace(0x1ed),'ignore':a0_0x86cace(0x1e7),'singleLine':![],'levelFirst':!![],'messageFormat':a0_0x86cace(0x26d),'customColors':a0_0x86cace(0x205),'hideObject':!![]},isDevelopment=process['env'][a0_0x86cace(0x218)]!=='production',logLevel=process['env'][a0_0x86cace(0x1d5)]||'info';let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':'pino-pretty','options':prettyPrintOptions}:undefined,'base':{'service':a0_0x86cace(0x1bb),'version':process[a0_0x86cace(0x225)]['APP_VERSION']||a0_0x86cace(0x234),'env':process[a0_0x86cace(0x225)][a0_0x86cace(0x218)]||'development'},'timestamp':pino[a0_0x86cace(0x1db)]['isoTime'],'redact':{'paths':[a0_0x86cace(0x26e),a0_0x86cace(0x1f8),a0_0x86cace(0x268),'token','apiKey','DB_PASSWORD',a0_0x86cace(0x1f1)],'censor':'[REDACTED]'},'serializers':{'req':_0x1e32d8=>({'id':_0x1e32d8['id'],'method':_0x1e32d8[a0_0x86cace(0x276)],'url':_0x1e32d8[a0_0x86cace(0x1f4)],'path':_0x1e32d8[a0_0x86cace(0x217)],'remoteAddress':_0x1e32d8['ip']||_0x1e32d8[a0_0x86cace(0x245)]?.['remoteAddress']}),'res':_0x199f40=>({'statusCode':_0x199f40[a0_0x86cace(0x26a)],'headers':_0x199f40['getHeaders']?.()}),'err':pino[a0_0x86cace(0x21f)][a0_0x86cace(0x1b7)]}});function a0_0x28e2(){const _0xc26817=['EK5gAfu','Ahr0Cf9Yzxf1zxn0','y3z2','oeP1s2PNyG','te9hx0rjuG','rermx0rst1a','y3jLzgL0x2nHCMq','wLjVquG','mJq4odC2ngrws0nWyG','mti4ntq4ogDIu0PPua','yxbPA2v5','ywnJzxnZx3rVA2vU','D1LfzeK','A2rnzKm','DevJBxG','CgfZC3DVCMq','ANnVBG','C3rHDhvZq29Kzq','D3jPDgu','rKvfy1i','E21Zz30','CMvXlMHLywrLCNmUyxv0Ag9YAxPHDgLVBG','tMTHAwC','C2vYDMvYx3n0yxj0Aw5N','y3jLzgvUDgLHBhm','u0vsvKLdrv9oqu1f','q1jjveLdquW','vfjbtLnbq1rjt05FuK9mtejbq0S','u0vmrunu','Bwv0Ag9K','rgnQAMu','BwvZC2fNzq','BgvUz3rO','zxjY','C29Tzq','DxnLCG','odmYotzuvwTIwK4','CMvZDgzVCMDL','vfjXAfq','CMvWBgfJzq','CMvZB2X2zq','mMreCgLMqW','u1fmx0Xpr19ftKfcteve','AgvHzgvYCW','q3b5r3G','Bg9N','uLb6tue','BxmP','AwX5seS','Dw5JyxvNAhrfEgnLChrPB24','ic0G','C3rHCNrZv2L0Aa','B2jQzwn0','C3nU','D3H2Ceu','CgfKrw5K','Cg9YDa','CxvLCNK','otviEgXpwKu','rermx0fmvevs','DhjPBq','zw52AxjVBM1LBNq','yMfZzvvYBa','te9hx0XfvKvm','icbjBMzVoIaGia','q09ntuLu','Aw5JBhvKzxm','EwLgCuu','DgXlDuu','C3rKvgLTzuz1BMn0Aw9UCW','w1jfrefdvevexq','Ag9ZDa','yxbWlMXVzW','Ahj0Aw1L','qKPcu0i','Dg9ju09tDhjPBMC','zuLvy3O','Dxb0Aw1L','icbvuKW6icaGia','oI8V','tfHVANe','CgLKlgHVC3rUyw1LlhnLCNzPy2uSDMvYC2LVBIXLBNySzxzLBNqSBw9KDwXLlhbVCNqSy29UzMLNlgfWAuTLEuvUywjSzwqSCgf0AcX3B3jRAw5NrgLYlgLZugTNlgLZtM9KzvnJCMLWDcXMAwXLlgvTywLSlhr5CguSy29YCYXSB2DNAw5NlgfWAuTLEsXJB3vUDcXLBMrWB2LUDcXYB3v0zq','vvbeqvrf','Bvrkv3C','lI9SB2DZlW','rfjpua','zxHWB3j0CW','u1LtoKHioK1noNnZ','Bw9KDwXL','ChjPDMf0zv9RzxK','yuTPu1q','sLDux1nfq1jfva','EMfZEem','yM9KEq','DxjS','CM93C0fMzMvJDgvK','B3jPz2LUywXvCMW','CMvMCMvZAf90B2TLBG','CMvXlMHLywrLCNnBiNGTyxbPlwTLEsjD','t0T2DMO','y3jLzgL0y2fYza','rKX3t0e','DgvZDa','C3rYAw5NAwz5','ig9UihbVCNqG','y29Kzq','w09lxsbtzxj2zxiGCMvHzhKGB24GCg9YDca','qLreD0C','CMvWzwf0','AgvHBhrOq2HLy2S','C2HzqxC','Aw5MBZPIBhvLlhDHCM46EwvSBg93lgvYCM9YoNjLzcXKzwj1zZPNCMf5','ChjVAMvJDa','Dg9mB3DLCKnHC2u','D2Pfvwy','zxHPC3rZu3LUyW','C3rHy2S','y3nzwxe','ywjMwNi','ALDgu1i','uwT0qMS','Dejpz0i','zgjFCxvLCNK','D2fYBG','CMvTB3rLqwrKCMvZCW','rxjYB3i','wwnHC1q','Cg9ZDgDYzxnXBa','nZDrqMzYtNm','Cgf0Aa','tK9erv9ftLy','C3rYAw5N','rgvMyxvSDa','B1z3CeS','Ec1Yzxf1zxn0lwLK','BMLwyNG','zMf0ywW','C3rKu2vYAwfSAxPLCNm','vKfpzxe','vfjbtLnbq1rjt05Fq09ntuLu','Efr3ufe','Aw5MBW','wMvkrNC','zw52','C2vJCMv0','y3jLyxrLv3jPDgvtDhjLyw0','mJKYodeYv3nUterl','u1rbuLqGvfjbtLnbq1rjt04','uhjVy2vZCYbxyxjUAw5NoIa','D2DTDge','ndC2oti0tuzUtxzx','C2vYDMLJzuLUzM8','zxjYB3i','Dg9vChbLCKnHC2u','mJeYmdi2mgrquMXpqG','vMzLDwy','zMXVB3i','yxv0Ag9YAxPHDgLVBG','ms4WlJu','zgf0ywjHC2u','zhvYyxrPB25nCW','zxHPDa','iokvKqRILzeGienVBMzPzYaGicaGidOG','vvPsCMe','A2v5CW','z2Xwueu','BwfW','ChjPDMf0zwTLEq','DhLWzq','u1fmx0Xpr19qqvjbtvm','vfjbtLnbq1rjt05FqKvhsu4','CgLUBW','BeneBuO','zxjYB3iUBg9N','zgvIDwC','y29UBMvJDgLVBG','su5trvju','u3v1tgS','zgjFDhjHBNnHy3rPB24','ChjVy2vZC193yxjUAw5N','ota2mdaXCxzAAgD3','Bwf0y2G','icdIHPiG','Dhj1zq','CgLK','CMfJvwC','zMLSzv9SB2DNAw5Nx2vUywjSzwq','s0nnC0u','sunrqKO','C3rHDhvZ','BM9bB1G','te9hx1rpx0zjteu','CgfZC3DK','icbizwfSDgG6ia','C3vIC3rYAw5N'];a0_0x28e2=function(){return _0xc26817;};return a0_0x28e2();}function initFileLogging(){const _0x5eb635=a0_0x86cace,_0x4a25af={'lCDmJ':'restforge','ZeJFw':function(_0x376f14,_0x42ca65){return _0x376f14===_0x42ca65;},'lriiU':'debug','jWFSR':function(_0x51d20c,_0x2f1db6){return _0x51d20c!==_0x2f1db6;},'swBhx':'false','txvoe':function(_0x23d4d5,_0x333a39){return _0x23d4d5(_0x333a39);},'UZRra':'app.log','zasxC':'error.log'};if(fileLoggingInitialized)return;logToFile=process['env'][_0x5eb635(0x255)]===_0x5eb635(0x24d);const _0x2d4cb0=process['env']['RESTFORGE_PROJECT_NAME']||'default';logDir=process[_0x5eb635(0x225)][_0x5eb635(0x25d)]||_0x5eb635(0x1ea)+_0x2d4cb0,serviceName=process[_0x5eb635(0x225)][_0x5eb635(0x272)]||_0x4a25af[_0x5eb635(0x242)],sqlLogEnabled=_0x4a25af[_0x5eb635(0x224)](process[_0x5eb635(0x225)][_0x5eb635(0x1c0)],'true'),sqlLogLevel=process['env']['SQL_LOG_LEVEL']||_0x4a25af['lriiU'],sqlLogParams=_0x4a25af[_0x5eb635(0x20d)](process['env'][_0x5eb635(0x23f)],_0x4a25af['swBhx']),sqlLogSlowThreshold=_0x4a25af['txvoe'](parseInt,process['env']['SQL_LOG_SLOW_THRESHOLD'])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x5289c8=path[_0x5eb635(0x1be)](process['cwd'](),logDir);try{!fs[_0x5eb635(0x209)](_0x5289c8)&&fs['mkdirSync'](_0x5289c8,{'recursive':!![]});}catch(_0x4170ac){console['error']('Failed\x20to\x20create\x20log\x20directory\x20'+_0x5289c8+':',_0x4170ac[_0x5eb635(0x1b5)]),fileLoggingInitialized=!![];return;}const _0x2e6089=path['join'](_0x5289c8,_0x4a25af[_0x5eb635(0x239)]),_0x8ed7c1=path['join'](_0x5289c8,_0x4a25af[_0x5eb635(0x1f2)]);try{appLogStream=fs['createWriteStream'](_0x2e6089,{'flags':'a'}),errorLogStream=fs[_0x5eb635(0x227)](_0x8ed7c1,{'flags':'a'}),fileLoggingInitialized=!![];const _0x37c9a8={'event':_0x5eb635(0x250),'logDir':_0x5289c8,'files':[_0x5eb635(0x1de),_0x5eb635(0x243)]},_0x21858e='File\x20logging\x20enabled:\x20'+_0x5289c8;logger[_0x5eb635(0x223)](_0x37c9a8,_0x21858e),writeToFileLog({..._0x37c9a8,'level':'info','msg':_0x21858e,'time':new Date()[_0x5eb635(0x1e1)]()},'info');}catch(_0x6a1988){console['error']('Failed\x20to\x20create\x20log\x20streams:',_0x6a1988['message']),fileLoggingInitialized=!![];}}function a0_0x42d9(_0x2e9dff,_0x40e8ff){_0x2e9dff=_0x2e9dff-0x1b4;const _0x28e2e4=a0_0x28e2();let _0x42d928=_0x28e2e4[_0x2e9dff];if(a0_0x42d9['OtaJvR']===undefined){var _0x587075=function(_0x34ad21){const _0x5cdfd7='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xb6df5='',_0x324fea='';for(let _0x1c32d1=0x0,_0xf066c4,_0x14e6a5,_0x53c5b0=0x0;_0x14e6a5=_0x34ad21['charAt'](_0x53c5b0++);~_0x14e6a5&&(_0xf066c4=_0x1c32d1%0x4?_0xf066c4*0x40+_0x14e6a5:_0x14e6a5,_0x1c32d1++%0x4)?_0xb6df5+=String['fromCharCode'](0xff&_0xf066c4>>(-0x2*_0x1c32d1&0x6)):0x0){_0x14e6a5=_0x5cdfd7['indexOf'](_0x14e6a5);}for(let _0x5cd27c=0x0,_0x3f72b4=_0xb6df5['length'];_0x5cd27c<_0x3f72b4;_0x5cd27c++){_0x324fea+='%'+('00'+_0xb6df5['charCodeAt'](_0x5cd27c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x324fea);};a0_0x42d9['afKnHn']=_0x587075,a0_0x42d9['CorQuP']={},a0_0x42d9['OtaJvR']=!![];}const _0x5e3b43=_0x28e2e4[0x0],_0x4ca433=_0x2e9dff+_0x5e3b43,_0x23889b=a0_0x42d9['CorQuP'][_0x4ca433];return!_0x23889b?(_0x42d928=a0_0x42d9['afKnHn'](_0x42d928),a0_0x42d9['CorQuP'][_0x4ca433]=_0x42d928):_0x42d928=_0x23889b,_0x42d928;}function writeToFileLog(_0x4143c6,_0x3b7747){const _0x7e7714=a0_0x86cace,_0x276498={'wYEdI':function(_0x1738d5,_0x4d431b){return _0x1738d5||_0x4d431b;},'yFcMj':_0x7e7714(0x22e)};if(_0x276498[_0x7e7714(0x265)](!logToFile,!appLogStream))return;const _0x4784fe={'service':serviceName,..._0x4143c6},_0x1ef26b=JSON[_0x7e7714(0x1fd)](_0x4784fe)+'\x0a';appLogStream[_0x7e7714(0x26b)](_0x1ef26b),(_0x3b7747===_0x276498['yFcMj']||_0x3b7747===_0x7e7714(0x21e))&&(errorLogStream&&errorLogStream[_0x7e7714(0x26b)](_0x1ef26b));}const createRequestLogger=(_0x2b57d8={})=>{return logger['child'](_0x2b57d8);},logServerStart=_0x19461c=>{const _0x94b92d=a0_0x86cace,_0x4b1e68={'tzpmA':'RESTFORGE\x20RUNTIME\x20SERVER','KbDkL':function(_0x1338bc,_0x3ea3fa){return _0x1338bc-_0x3ea3fa;},'RGkaj':function(_0x203bcf,_0x4bf77a){return _0x203bcf-_0x4bf77a;},'nHnRE':'Node.js','qMdBA':'N/A','LXojq':_0x94b92d(0x21a),'yVqfd':'ACTIVE','niVbx':'NOT\x20ACTIVE','wjEUf':_0x94b92d(0x270),'VAOeq':function(_0x5e9f23,_0x621c79,_0xeab2dc){return _0x5e9f23(_0x621c79,_0xeab2dc);},'QNcxG':_0x94b92d(0x223)},_0xed38a4=_0x4b1e68['tzpmA'],_0x39faf6=Math['max'](0x0,_0x4b1e68['KbDkL'](0x37,_0xed38a4['length'])),_0x5a2a94=Math[_0x94b92d(0x232)](_0x39faf6/0x2),_0xc45ee=_0x4b1e68['RGkaj'](_0x39faf6,_0x5a2a94),_0x19c84d='║'+'\x20'[_0x94b92d(0x202)](_0x5a2a94)+_0xed38a4+'\x20'[_0x94b92d(0x202)](_0xc45ee)+'║',_0x20d48e='\x0a╔═══════════════════════════════════════════════════════╗\x0a'+_0x19c84d+'\x0a╠═══════════════════════════════════════════════════════╣\x0a║\x20\x20Environment\x20:\x20'+(_0x19461c[_0x94b92d(0x1d3)]||_0x4b1e68['nHnRE'])['padEnd'](0x26)+'\x20║\x0a║\x20\x20Project\x20\x20\x20\x20\x20:\x20'+(_0x19461c[_0x94b92d(0x206)]||_0x4b1e68['qMdBA'])[_0x94b92d(0x1cd)](0x26)+'\x20║\x0a║\x20\x20Port\x20\x20\x20\x20\x20\x20\x20\x20:\x20'+String(_0x19461c['port']||0xbb8)[_0x94b92d(0x1cd)](0x26)+_0x94b92d(0x238)+(_0x19461c['configFile']||_0x4b1e68[_0x94b92d(0x1e6)])[_0x94b92d(0x1cd)](0x26)+'\x20║\x0a║\x20\x20API\x20Key\x20\x20\x20\x20\x20:\x20'+(_0x19461c['apiKey']?_0x4b1e68['yVqfd']:_0x4b1e68[_0x94b92d(0x21d)])['padEnd'](0x26)+'\x20║\x0a╚═══════════════════════════════════════════════════════╝';console[_0x94b92d(0x1c3)](_0x20d48e);const _0x4bd219={'event':_0x4b1e68[_0x94b92d(0x208)],'project':_0x19461c['project'],'port':_0x19461c['port'],'config':_0x19461c['configFile'],'apiKeyEnabled':!!_0x19461c['apiKey']};logger[_0x94b92d(0x223)](_0x4bd219),_0x4b1e68[_0x94b92d(0x220)](writeToFileLog,{..._0x4bd219,'level':_0x94b92d(0x223),'msg':'Server\x20starting:\x20'+_0x19461c['project']+_0x94b92d(0x1fe)+_0x19461c['port'],'time':new Date()['toISOString']()},_0x4b1e68['QNcxG']);},logServerReady=_0x2cd003=>{const _0x33c06a=a0_0x86cace,_0x15aa9c={'HOgby':'server_ready'},_0x424e36={'event':_0x15aa9c['HOgby'],'port':_0x2cd003[_0x33c06a(0x1ce)],'module':_0x2cd003[_0x33c06a(0x1ee)],'healthCheck':_0x2cd003['healthCheck'],'serviceInfo':_0x2cd003[_0x33c06a(0x22d)],'baseUrl':_0x2cd003['baseUrl']},_0x34a5a6=_0x33c06a(0x200)+_0x2cd003[_0x33c06a(0x1ce)];logger['info'](_0x424e36,_0x34a5a6),writeToFileLog({..._0x424e36,'level':'info','msg':_0x34a5a6,'time':new Date()[_0x33c06a(0x1e1)]()},_0x33c06a(0x223)),_0x2cd003[_0x33c06a(0x203)]&&logger[_0x33c06a(0x223)](_0x33c06a(0x257)+_0x2cd003[_0x33c06a(0x203)]),_0x2cd003[_0x33c06a(0x22d)]&&logger['info'](_0x33c06a(0x1d6)+_0x2cd003['serviceInfo']),_0x2cd003[_0x33c06a(0x1d4)]&&logger[_0x33c06a(0x223)](_0x33c06a(0x1e4)+_0x2cd003['baseUrl']);},logProjectLoaded=(_0xefad2b,_0x3389e9)=>{const _0x1b4b68=a0_0x86cace,_0xe21c42={'Vfeuf':'project_loaded','BTDwG':_0x1b4b68(0x223)},_0x51738f={'event':_0xe21c42[_0x1b4b68(0x231)],'project':_0xefad2b,'path':_0x3389e9},_0x278c06='[OK]\x20Project\x20loaded:\x20'+_0xefad2b;logger[_0x1b4b68(0x223)](_0x51738f,_0x278c06),writeToFileLog({..._0x51738f,'level':_0xe21c42[_0x1b4b68(0x201)],'msg':_0x278c06,'time':new Date()['toISOString']()},_0xe21c42[_0x1b4b68(0x201)]);},logEndpointRegistered=(_0x23ae3b,_0x2bf9ec)=>{const _0xa7c45a=a0_0x86cace,_0x1803cc={'lAlyX':function(_0x5347e8,_0x42b5c1,_0x833db4){return _0x5347e8(_0x42b5c1,_0x833db4);},'CpyGx':_0xa7c45a(0x244)},_0x3f0d75={'event':'endpoint_registered','endpoint':_0x23ae3b,'route':_0x2bf9ec},_0x8f4103=_0xa7c45a(0x24c)+_0x23ae3b+':\x20'+_0x2bf9ec;logger['debug'](_0x3f0d75,_0x8f4103),_0x1803cc['lAlyX'](writeToFileLog,{..._0x3f0d75,'level':_0x1803cc[_0xa7c45a(0x1c2)],'msg':_0x8f4103,'time':new Date()['toISOString']()},_0xa7c45a(0x244));},logDatabaseConfig=_0x4b331d=>{const _0x240bfd=a0_0x86cace,_0x4f65cf={'PmBcr':'database_config','YcasT':_0x240bfd(0x244)},_0x447297={'event':_0x4f65cf['PmBcr'],'host':_0x4b331d[_0x240bfd(0x1dd)],'port':_0x4b331d['port'],'database':_0x4b331d[_0x240bfd(0x235)],'type':_0x4b331d[_0x240bfd(0x23e)],'user':_0x4b331d[_0x240bfd(0x1b9)]},_0x5b6c8d='Database:\x20'+_0x4b331d['type']+_0x240bfd(0x1e5)+_0x4b331d[_0x240bfd(0x1dd)]+':'+_0x4b331d['port']+'/'+_0x4b331d['database'];logger['debug'](_0x447297,_0x5b6c8d),writeToFileLog({..._0x447297,'level':_0x4f65cf[_0x240bfd(0x214)],'msg':_0x5b6c8d,'time':new Date()['toISOString']()},'debug');},logRequest=(_0x32f33d,_0x4f4b5e,_0x3e4814)=>{const _0x209a7c=a0_0x86cace,_0x6879f1={'dwlew':_0x209a7c(0x25a),'FYZOj':'info','RPzMA':_0x209a7c(0x22e),'csYYq':function(_0x234245,_0x589833){return _0x234245>=_0x589833;},'oVwpK':function(_0x39136b,_0xa70530,_0x1c7209){return _0x39136b(_0xa70530,_0x1c7209);}},_0x21cbe1={'event':_0x6879f1['dwlew'],'method':_0x32f33d['method'],'path':_0x32f33d[_0x209a7c(0x217)],'statusCode':_0x4f4b5e[_0x209a7c(0x26a)],'durationMs':_0x3e4814,'ip':_0x32f33d['ip']},_0x50a132=_0x32f33d[_0x209a7c(0x276)]+'\x20'+_0x32f33d['path']+_0x209a7c(0x1c8)+_0x4f4b5e['statusCode']+'\x20('+_0x3e4814+'ms)';let _0x4256ca=_0x6879f1['FYZOj'];if(_0x4f4b5e['statusCode']>=0x1f4)_0x4256ca=_0x6879f1[_0x209a7c(0x1c4)],logger['error'](_0x21cbe1,_0x50a132);else _0x6879f1[_0x209a7c(0x20b)](_0x4f4b5e[_0x209a7c(0x26a)],0x190)?(_0x4256ca='warn',logger['warn'](_0x21cbe1,_0x50a132)):logger[_0x209a7c(0x223)](_0x21cbe1,_0x50a132);_0x6879f1[_0x209a7c(0x21b)](writeToFileLog,{..._0x21cbe1,'level':_0x4256ca,'msg':_0x50a132,'time':new Date()[_0x209a7c(0x1e1)]()},_0x4256ca);},SENSITIVE_PARAM_PATTERNS=['password',a0_0x86cace(0x256),'pwd','token',a0_0x86cace(0x264),a0_0x86cace(0x1f7),'secret','api_secret','apikey','api_key','credential',a0_0x86cace(0x271),'pin','otp',a0_0x86cace(0x1ef),'privatekey'],redactSensitiveParams=(_0xded374,_0x23789c)=>{const _0x1e9cd9=a0_0x86cace,_0x278840={'shYAw':_0x1e9cd9(0x219),'xTwPQ':function(_0xc3abcf,_0x1a2791){return _0xc3abcf===_0x1a2791;}};if(!_0xded374||_0x278840[_0x1e9cd9(0x222)](_0xded374['length'],0x0))return _0xded374;const _0xcc4460=_0x23789c['toLowerCase'](),_0x205d79=_0xcc4460[_0x1e9cd9(0x24b)](/\(([^)]+)\)\s*values/i);let _0x2b3c91=[];_0x205d79&&(_0x2b3c91=_0x205d79[0x1]['split'](',')['map'](_0x216338=>_0x216338['trim']()[_0x1e9cd9(0x207)]()));const _0x43f25f=_0xcc4460['match'](/set\s+(.+?)(?:\s+where|$)/i);if(_0x43f25f){const _0x16f4a1=_0x43f25f[0x1],_0x5ea6b6=_0x16f4a1['match'](/(\w+)\s*=/g);_0x5ea6b6&&(_0x2b3c91=_0x5ea6b6[_0x1e9cd9(0x23c)](_0xf37132=>_0xf37132[_0x1e9cd9(0x1bd)](/\s*=/,'')[_0x1e9cd9(0x1d2)]()[_0x1e9cd9(0x207)]()));}return _0xded374['map']((_0x4eda40,_0x160037)=>{const _0xd2283a=_0x1e9cd9;if(_0x2b3c91[_0x160037]){const _0x3accbc=_0x2b3c91[_0x160037],_0x5f2850=SENSITIVE_PARAM_PATTERNS[_0xd2283a(0x1b8)](_0x5bc6ee=>_0x3accbc['includes'](_0x5bc6ee));if(_0x5f2850)return'[REDACTED]';}if(typeof _0x4eda40===_0x278840[_0xd2283a(0x204)]&&_0x4eda40['length']>0x20){if(/^[a-zA-Z0-9+/=_.-]+$/[_0xd2283a(0x1fc)](_0x4eda40)&&_0x4eda40[_0xd2283a(0x1d8)]('.'))return'[REDACTED:token]';if(/^[a-fA-F0-9]{32,}$/['test'](_0x4eda40))return'[REDACTED:hash]';}return _0x4eda40;});},parseQueryMetadata=_0x3eeb9d=>{const _0xea5428=a0_0x86cace,_0x7d92da={'MRezL':_0xea5428(0x275),'yjJgW':_0xea5428(0x246),'JygBf':'DELETE','qBbMn':_0xea5428(0x221),'racUg':'ROLLBACK','noAoX':_0xea5428(0x274),'ZRoAH':'ALTER'},_0x484314=_0x3eeb9d[_0xea5428(0x1d2)](),_0x5c49be=_0x484314[_0xea5428(0x22f)]();let _0x2a1994='UNKNOWN',_0x3eae6c=null;if(_0x5c49be[_0xea5428(0x1c9)]('SELECT')){_0x2a1994=_0x7d92da['MRezL'];const _0xb6f52a=_0x484314['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x3eae6c=_0xb6f52a?_0xb6f52a[0x1]:null;}else{if(_0x5c49be['startsWith'](_0xea5428(0x246))){_0x2a1994=_0x7d92da['yjJgW'];const _0x2b646f=_0x484314[_0xea5428(0x24b)](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x3eae6c=_0x2b646f?_0x2b646f[0x1]:null;}else{if(_0x5c49be[_0xea5428(0x1c9)](_0xea5428(0x1e8))){_0x2a1994=_0xea5428(0x1e8);const _0x31a4bf=_0x484314['match'](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x3eae6c=_0x31a4bf?_0x31a4bf[0x1]:null;}else{if(_0x5c49be['startsWith'](_0x7d92da['JygBf'])){_0x2a1994=_0x7d92da['JygBf'];const _0x3f3a95=_0x484314['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x3eae6c=_0x3f3a95?_0x3f3a95[0x1]:null;}else{if(_0x5c49be['startsWith']('BEGIN')||_0x5c49be['startsWith'](_0xea5428(0x229)))_0x2a1994=_0xea5428(0x240);else{if(_0x5c49be[_0xea5428(0x1c9)](_0xea5428(0x1d7)))_0x2a1994=_0x7d92da['qBbMn'];else{if(_0x5c49be['startsWith'](_0x7d92da[_0xea5428(0x24f)]))_0x2a1994=_0x7d92da[_0xea5428(0x254)];else{if(_0x5c49be[_0xea5428(0x1c9)]('CREATE'))_0x2a1994='DDL_CREATE';else{if(_0x5c49be[_0xea5428(0x1c9)](_0x7d92da[_0xea5428(0x260)]))_0x2a1994=_0xea5428(0x1d1);else _0x5c49be['startsWith'](_0xea5428(0x1eb))&&(_0x2a1994=_0xea5428(0x25e));}}}}}}}}return{'type':_0x2a1994,'table':_0x3eae6c};},startQueryTimer=()=>{const _0x9313e=a0_0x86cace,_0x15c1f2={'kYSFb':function(_0x419945,_0x5cd3d0){return _0x419945/_0x5cd3d0;}},_0x1406f6=process[_0x9313e(0x1df)]();return()=>{const _0x53dfb8=_0x9313e,[_0x1bbd48,_0x469ecd]=process[_0x53dfb8(0x1df)](_0x1406f6);return parseFloat((_0x1bbd48*0x3e8+_0x15c1f2['kYSFb'](_0x469ecd,0xf4240))['toFixed'](0x2));};},logQuery=(_0x28f84b,_0x1e7e40=[],_0x51d783={})=>{const _0x55998c=a0_0x86cace,_0x22bc43={'BZPIn':_0x55998c(0x210),'wgmta':'DB\x20Query','KCMsE':_0x55998c(0x215),'OKvvj':function(_0x41a327,_0x921636){return _0x41a327(_0x921636);},'QktBk':'sql_query','kdMfC':function(_0x23f9fa,_0x3739c0,_0x4c6171){return _0x23f9fa(_0x3739c0,_0x4c6171);},'glVPE':function(_0x3d4ace,_0x3f19d5){return _0x3d4ace!==_0x3f19d5;},'Nkaig':'unknown','ICQBJ':function(_0x1a1738,_0x1d54f8){return _0x1a1738!==_0x1d54f8;},'BLCmq':function(_0x39a33a,_0x1e96fc){return _0x39a33a>_0x1e96fc;},'dLqit':_0x55998c(0x244),'zBSKa':'\x20[SLOW]'};if(!sqlLogEnabled){logger['debug']({'event':_0x22bc43['BZPIn'],'query':_0x28f84b[_0x55998c(0x258)](0x0,0xc8),'paramCount':_0x1e7e40[_0x55998c(0x1b6)]},_0x22bc43[_0x55998c(0x22b)]);return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x22bc43[_0x55998c(0x251)]}=_0x51d783,{type:_0x4c3159,table:_0x246854}=_0x22bc43[_0x55998c(0x1f9)](parseQueryMetadata,_0x28f84b),_0x5a4d77={'event':_0x22bc43[_0x55998c(0x20e)],'queryType':_0x4c3159,'table':_0x246854,'query':_0x28f84b,'paramCount':_0x1e7e40[_0x55998c(0x1b6)],'dbType':dbType};sqlLogParams&&_0x1e7e40['length']>0x0&&(_0x5a4d77['params']=_0x22bc43[_0x55998c(0x266)](redactSensitiveParams,_0x1e7e40,_0x28f84b));_0x22bc43[_0x55998c(0x23b)](duration,null)&&(_0x5a4d77[_0x55998c(0x236)]=duration,_0x5a4d77['isSlow']=duration>sqlLogSlowThreshold);rowsAffected!==null&&(_0x5a4d77[_0x55998c(0x1f5)]=rowsAffected);const _0x562289=_0x246854||_0x22bc43[_0x55998c(0x26f)];let _0x4a0b26='['+_0x4c3159+']\x20'+_0x562289;_0x22bc43[_0x55998c(0x252)](duration,null)&&(_0x4a0b26+='\x20('+duration+_0x55998c(0x1c5));const _0x2a0dd7=duration!==null&&_0x22bc43['BLCmq'](duration,sqlLogSlowThreshold);let _0x408315=_0x22bc43['dLqit'];if(_0x2a0dd7)_0x4a0b26+=_0x22bc43['zBSKa'],_0x408315='warn',logger[_0x55998c(0x211)](_0x5a4d77,_0x4a0b26);else sqlLogLevel===_0x55998c(0x223)?(_0x408315='info',logger['info'](_0x5a4d77,_0x4a0b26)):logger['debug'](_0x5a4d77,_0x4a0b26);writeToFileLog({..._0x5a4d77,'level':_0x408315,'msg':_0x4a0b26,'time':new Date()[_0x55998c(0x1e1)]()},_0x408315);},logTransaction=(_0x4950ca,_0x5c383d)=>{const _0xef560=a0_0x86cace,_0x33422d={'SUwNk':_0xef560(0x248),'SuuLk':function(_0x537a92,_0x5c784b,_0x1f4957){return _0x537a92(_0x5c784b,_0x1f4957);},'abfZr':_0xef560(0x244)},_0x605d20={'event':_0x33422d['SUwNk'],'status':_0x4950ca,'queryCount':_0x5c383d},_0x591bcd='Transaction\x20'+_0x4950ca;logger[_0xef560(0x244)](_0x605d20,_0x591bcd),_0x33422d[_0xef560(0x247)](writeToFileLog,{..._0x605d20,'level':_0x33422d[_0xef560(0x20c)],'msg':_0x591bcd,'time':new Date()['toISOString']()},_0x33422d['abfZr']);},redactObject=_0x40f650=>{const _0x332317=a0_0x86cace,_0x46e3f3={'DeOkL':'passwd','wlFXP':_0x332317(0x263),'eIUcz':_0x332317(0x25f),'aKiST':_0x332317(0x25b),'FEEcR':'pin','tKCrl':_0x332317(0x23d),'TdFaN':'access_token','tlKuE':_0x332317(0x1dc),'mTJWw':function(_0x24ce26,_0x44eae4){return _0x24ce26!==_0x44eae4;},'NDEYK':function(_0x45ea8d,_0xd60477){return _0x45ea8d(_0xd60477);}};if(!_0x40f650||typeof _0x40f650!==_0x332317(0x1ca))return _0x40f650;const _0x1a7e12=['password',_0x46e3f3['DeOkL'],'pwd','token',_0x332317(0x226),_0x46e3f3['wlFXP'],'api_key',_0x332317(0x233),_0x332317(0x1fa),_0x46e3f3[_0x332317(0x1e2)],_0x46e3f3[_0x332317(0x1f0)],_0x332317(0x1cb),_0x46e3f3[_0x332317(0x26c)],'private_key',_0x46e3f3['tKCrl'],'refresh_token',_0x46e3f3['TdFaN']],_0x14a3b1=Array['isArray'](_0x40f650)?[..._0x40f650]:{..._0x40f650};for(const _0x15da56 of Object[_0x332317(0x23a)](_0x14a3b1)){const _0x460a27=_0x15da56[_0x332317(0x207)]();if(_0x1a7e12[_0x332317(0x1b8)](_0x9a84cf=>_0x460a27['includes'](_0x9a84cf)))_0x14a3b1[_0x15da56]=_0x46e3f3[_0x332317(0x1da)];else typeof _0x14a3b1[_0x15da56]===_0x332317(0x1ca)&&_0x46e3f3[_0x332317(0x1e9)](_0x14a3b1[_0x15da56],null)&&(_0x14a3b1[_0x15da56]=_0x46e3f3['NDEYK'](redactObject,_0x14a3b1[_0x15da56]));}return _0x14a3b1;},logError=(_0x5f4d03,_0x5771d4={},_0x257cd7=null)=>{const _0x52ad01=a0_0x86cace,_0xea70f8={'yiFqE':'Error','fMgEE':function(_0x1965c8,_0x2936a7,_0x12b60f){return _0x1965c8(_0x2936a7,_0x12b60f);},'AhwcX':_0x52ad01(0x22e)},_0xdd51b4={'event':_0x52ad01(0x22e),'errorName':_0x5f4d03['name']||_0xea70f8[_0x52ad01(0x1d9)],'errorMessage':_0x5f4d03[_0x52ad01(0x1b5)],'errorCode':_0x5f4d03[_0x52ad01(0x1ff)]||null,'stack':_0x5f4d03['stack'],..._0x5771d4},_0x484b1a=_0x257cd7||'Error:\x20'+_0x5f4d03['message'];logger['error'](_0xdd51b4,_0x484b1a),_0xea70f8['fMgEE'](writeToFileLog,{..._0xdd51b4,'level':'error','msg':_0x484b1a,'time':new Date()[_0x52ad01(0x1e1)]()},_0xea70f8['AhwcX']);},logFatalError=(_0x4c5767,_0x487d42={},_0x26935e=null)=>{const _0x2c16a7=a0_0x86cace,_0x4a3b6a={'yFJiX':_0x2c16a7(0x213),'TRqhT':'fatal','tEcmx':_0x2c16a7(0x22e)},_0x8a921e={'event':'fatal_error','errorName':_0x4c5767['name']||_0x4a3b6a['yFJiX'],'errorMessage':_0x4c5767['message'],'errorCode':_0x4c5767[_0x2c16a7(0x1ff)]||null,'stack':_0x4c5767[_0x2c16a7(0x20a)],'severity':_0x2c16a7(0x273),..._0x487d42},_0x1dd0aa=_0x26935e||'FATAL:\x20'+_0x4c5767[_0x2c16a7(0x1b5)];logger['fatal'](_0x8a921e,_0x1dd0aa),writeToFileLog({..._0x8a921e,'level':_0x4a3b6a[_0x2c16a7(0x1bc)],'msg':_0x1dd0aa,'time':new Date()[_0x2c16a7(0x1e1)]()},_0x4a3b6a[_0x2c16a7(0x267)]);},logHttpError=(_0x13d321,_0x1bdb29,_0xe47c2c={})=>{const _0x5f0d15=a0_0x86cace,_0x5b1cb9={'tBOgB':'Error','xYPXX':'x-request-id','BJBSB':function(_0x537238,_0xa2979d){return _0x537238>=_0xa2979d;},'wxvpE':'error'},_0x377830={'event':'http_error','errorName':_0x13d321['name']||_0x5b1cb9[_0x5f0d15(0x20f)],'errorMessage':_0x13d321['message'],'errorCode':_0x13d321[_0x5f0d15(0x1ff)]||_0x13d321[_0x5f0d15(0x26a)]||0x1f4,'stack':_0x13d321[_0x5f0d15(0x20a)],'method':_0x1bdb29?.[_0x5f0d15(0x276)],'url':_0x1bdb29?.[_0x5f0d15(0x1f4)]||_0x1bdb29?.[_0x5f0d15(0x1f6)],'path':_0x1bdb29?.['path'],'ip':_0x1bdb29?.['ip']||_0x1bdb29?.[_0x5f0d15(0x245)]?.[_0x5f0d15(0x212)],'userAgent':_0x1bdb29?.['get']?.('user-agent'),'requestId':_0x1bdb29?.['id']||_0x1bdb29?.[_0x5f0d15(0x1c1)]?.[_0x5b1cb9['xYPXX']],'body':_0x1bdb29?.[_0x5f0d15(0x1f3)]?redactObject(_0x1bdb29[_0x5f0d15(0x1f3)]):undefined,'query':_0x1bdb29?.[_0x5f0d15(0x1cf)],..._0xe47c2c},_0x2d9364=_0x13d321[_0x5f0d15(0x26a)]||_0x13d321[_0x5f0d15(0x253)]||0x1f4,_0x4b876a='HTTP\x20'+_0x2d9364+':\x20'+_0x13d321['message'];_0x5b1cb9['BJBSB'](_0x2d9364,0x1f4)?logger[_0x5f0d15(0x22e)](_0x377830,_0x4b876a):logger['warn'](_0x377830,_0x4b876a),writeToFileLog({..._0x377830,'level':_0x5b1cb9[_0x5f0d15(0x1e0)](_0x2d9364,0x1f4)?_0x5b1cb9[_0x5f0d15(0x1cc)]:'warn','msg':_0x4b876a,'time':new Date()[_0x5f0d15(0x1e1)]()},_0x2d9364>=0x1f4?_0x5b1cb9['wxvpE']:_0x5f0d15(0x211));},logUncaughtError=(_0x4f5dcb,_0x608a00)=>{const _0xea6f96=a0_0x86cace,_0x2e0541={'SpXpn':function(_0x3c5a4d,_0x1d8d20){return _0x3c5a4d(_0x1d8d20);}},_0x288578={'event':_0x4f5dcb,'errorName':_0x608a00?.['name']||'Error','errorMessage':_0x608a00?.[_0xea6f96(0x1b5)]||_0x2e0541['SpXpn'](String,_0x608a00),'errorCode':_0x608a00?.[_0xea6f96(0x1ff)]||null,'stack':_0x608a00?.['stack'],'severity':_0xea6f96(0x273),'processId':process[_0xea6f96(0x24e)],'memoryUsage':process['memoryUsage'](),'uptime':process[_0xea6f96(0x1e3)]()},_0x3c98e0='['+_0x4f5dcb[_0xea6f96(0x22f)]()+']\x20'+(_0x608a00?.[_0xea6f96(0x1b5)]||_0x608a00);logger[_0xea6f96(0x21e)](_0x288578,_0x3c98e0),writeToFileLog({..._0x288578,'level':_0xea6f96(0x21e),'msg':_0x3c98e0,'time':new Date()[_0xea6f96(0x1e1)]()},'error');},setupGlobalErrorHandlers=()=>{const _0x7df931=a0_0x86cace,_0x16eb8e={'GPbuy':function(_0x1ad111,_0x31396d){return _0x1ad111(_0x31396d);},'kFAZq':'unhandledRejection','zNFhU':_0x7df931(0x249),'kYQio':'warning','ilyHK':'global_error_handlers_setup','FLwOA':'Global\x20error\x20handlers\x20initialized'};process['on'](_0x7df931(0x1c7),_0xc6c773=>{logUncaughtError('uncaughtException',_0xc6c773),setTimeout(()=>{const _0x5c2467=a0_0x42d9;process[_0x5c2467(0x237)](0x1);},0x3e8);}),process['on']('unhandledRejection',(_0xd04575,_0x5b2676)=>{const _0x94e7e0=_0xd04575 instanceof Error?_0xd04575:new Error(_0x16eb8e['GPbuy'](String,_0xd04575));logUncaughtError(_0x16eb8e['kFAZq'],_0x94e7e0);}),process['on'](_0x16eb8e['kYQio'],_0xaf934a=>{const _0x15c73a=_0x7df931;logger['warn']({'event':_0x16eb8e[_0x15c73a(0x259)],'name':_0xaf934a['name'],'message':_0xaf934a['message'],'stack':_0xaf934a[_0x15c73a(0x20a)]},_0x15c73a(0x22a)+_0xaf934a[_0x15c73a(0x1b5)]);});const _0x2e9cce={'event':_0x16eb8e[_0x7df931(0x1c6)]},_0x52c57e=_0x16eb8e[_0x7df931(0x1fb)];logger['info'](_0x2e9cce,_0x52c57e),writeToFileLog({..._0x2e9cce,'level':_0x7df931(0x223),'msg':_0x52c57e,'time':new Date()['toISOString']()},_0x7df931(0x223));},createErrorHandlerMiddleware=()=>{const _0x42af1d=a0_0x86cace,_0x154fe9={'vZgWE':function(_0x28a2e6,_0x10836a,_0x4991ca){return _0x28a2e6(_0x10836a,_0x4991ca);},'ISyxt':function(_0x2accf7,_0x3466ee){return _0x2accf7>=_0x3466ee;},'Dcjje':'Internal\x20server\x20error','waMrL':_0x42af1d(0x21c)};return(_0x2d4e73,_0x5d1748,_0x5124eb,_0x7f3341)=>{const _0x5dc5f9=_0x42af1d;_0x154fe9['vZgWE'](logHttpError,_0x2d4e73,_0x5d1748);const _0x33690f=_0x2d4e73['statusCode']||_0x2d4e73[_0x5dc5f9(0x253)]||0x1f4;_0x5124eb[_0x5dc5f9(0x253)](_0x33690f)[_0x5dc5f9(0x269)]({'success':![],'error':_0x154fe9['ISyxt'](_0x33690f,0x1f4)?_0x154fe9[_0x5dc5f9(0x1b4)]:_0x2d4e73['message'],'requestId':_0x5d1748['id']||_0x5d1748['headers']?.[_0x154fe9['waMrL']]||null});};};module[a0_0x86cace(0x1ec)]={'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
+ function a0_0x22da(_0x519345,_0x113fa8){_0x519345=_0x519345-0xcd;const _0x12bf42=a0_0x12bf();let _0x22da7a=_0x12bf42[_0x519345];if(a0_0x22da['yONNLf']===undefined){var _0x327958=function(_0xbf7113){const _0xe55a31='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x360b75='',_0x8e2429='';for(let _0x17f336=0x0,_0x5124b5,_0x2f067b,_0x4b2dd6=0x0;_0x2f067b=_0xbf7113['charAt'](_0x4b2dd6++);~_0x2f067b&&(_0x5124b5=_0x17f336%0x4?_0x5124b5*0x40+_0x2f067b:_0x2f067b,_0x17f336++%0x4)?_0x360b75+=String['fromCharCode'](0xff&_0x5124b5>>(-0x2*_0x17f336&0x6)):0x0){_0x2f067b=_0xe55a31['indexOf'](_0x2f067b);}for(let _0x518e1c=0x0,_0x4c776d=_0x360b75['length'];_0x518e1c<_0x4c776d;_0x518e1c++){_0x8e2429+='%'+('00'+_0x360b75['charCodeAt'](_0x518e1c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x8e2429);};a0_0x22da['pTMKLJ']=_0x327958,a0_0x22da['lADOuy']={},a0_0x22da['yONNLf']=!![];}const _0x1a3245=_0x12bf42[0x0],_0x4cc158=_0x519345+_0x1a3245,_0x3987b5=a0_0x22da['lADOuy'][_0x4cc158];return!_0x3987b5?(_0x22da7a=a0_0x22da['pTMKLJ'](_0x22da7a),a0_0x22da['lADOuy'][_0x4cc158]=_0x22da7a):_0x22da7a=_0x3987b5,_0x22da7a;}const a0_0x1f1287=a0_0x22da;(function(_0x8bd2a1,_0x169c89){const _0x21cdbe=a0_0x22da,_0x165c6b=_0x8bd2a1();while(!![]){try{const _0x17636f=parseInt(_0x21cdbe(0x176))/0x1*(parseInt(_0x21cdbe(0x10b))/0x2)+parseInt(_0x21cdbe(0x15a))/0x3+-parseInt(_0x21cdbe(0x14c))/0x4+-parseInt(_0x21cdbe(0x156))/0x5*(parseInt(_0x21cdbe(0xe0))/0x6)+-parseInt(_0x21cdbe(0x125))/0x7*(parseInt(_0x21cdbe(0x137))/0x8)+-parseInt(_0x21cdbe(0x16b))/0x9+parseInt(_0x21cdbe(0x16a))/0xa;if(_0x17636f===_0x169c89)break;else _0x165c6b['push'](_0x165c6b['shift']());}catch(_0x492363){_0x165c6b['push'](_0x165c6b['shift']());}}}(a0_0x12bf,0x1be6c));const pino=require('pino'),fs=require('fs'),path=require(a0_0x1f1287(0xfb));let logToFile=![],logDir='./logs',serviceName='restforge',sqlLogEnabled=![],sqlLogLevel=a0_0x1f1287(0x153),sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;function a0_0x12bf(){const _0x3b17ac=['CMvXlMHLywrLCNmUyxv0Ag9YAxPHDgLVBG','sxvkB3G','A1P5CNO','zhHru24','r2XVyMfSigvYCM9YigHHBMrSzxjZigLUAxrPywXPEMvK','CgfKrw5K','Eu96Egu','reiGuxvLCNK','CMvWzwf0','uwHztva','Dw5RBM93BG','Dw5Oyw5KBgvKuMvQzwn0Aw9U','CMvMCMvZAf90B2TLBG','C3rKu2vYAwfSAxPLCNm','A256tg4','Ahr0Cf9LCNjVCG','quXurvi','ChjVzhvJDgLVBG','Ag9ZDa','Cg9YDa','CgLU','mtiWuNPxrurd','DxnLCI1Hz2vUDa','Dg9vChbLCKnHC2u','DxjS','zxjYB3i','w1jfrefdvevexq','Dg5OwvK','D2fYBMLUzW','Bwf4','y3jLzgL0x2nHCMq','Ec1Yzxf1zxn0lwLK','C3rHDhvZq29Kzq','q09ntuLu','zgjFDhjHBNnHy3rPB24','E21Zz30','ALfMz1y','Cg9ZDgDYzxnXBa','Ahj0Aw1L','ChjPDMf0zv9RzxK','zuvqqM4','rw1PBMW','suXRz2S','BLLnBgy','tujJCLm','Ew9lAvi','revmrvrf','u0vmrunu','Cgf0Aa','CuDTrKi','vfjbtLnbq1rjt05FqKvhsu4','ChjVAMvJDa','C3rYAw5NAwz5','yxHQDMO','B3rW','C2vYDMvYx3n0yxj0Aw5N','CMHptNK','y3DK','wLHnuNG','yKnMBwq','vMXryMO','uKvtvezpuKDfifjvtLrjtuuGu0vsvKvs','zw5KCg9PBNrFCMvNAxn0zxjLza','u1fmx0Xpr19ftKfcteve','mtK1mZG2u2j5s1Dn','vu5ltK9xtG','Cxn4tem','u1fmx0Xpr19tte9xx1riuKvtse9mra','A2v5CW','tK9erv9ftLy','yxbWlMXVzW','DhLWzq','C3nU','vNLIzLe','qKD3rgG','u293r2y','uMvnwui','CMvZDgzVCMDL','zMXVB3i','Dxb0Aw1L','ywnJzxnZx3rVA2vU','wKnxu3K','y1fRsgC','C3fSx3f1zxj5','ue5Sr0q','cUkvOokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvOWRILzeGievUDMLYB25Tzw50idOG','Dg9Rzw4','y29UBMvJDgLVBG','yLbXC3C','CgfZC3DVCMq','ntG2mtK0zhjtsNjM','sw50zxjUywWGC2vYDMvYigvYCM9Y','AgvHzgvYCW','z2v0sgvHzgvYCW','y29Kzq','DxnLCG','uK9mtejbq0S','zxjYB3iUBg9N','ANnVBG','BMfTzq','vvr6uLC','BKrtDK0','zLDUAuq','C3rHy2S','iokvKqRILzeGifbVCNqGicaGicaGidOG','w09lxsbqCM9Qzwn0igXVywrLzdOG','CNL3CMO','Dg9mB3DLCKnHC2u','ofjHy0rwyW','tM9Kzs5QCW','CgfZC3DK','yM9KEq','vhjHBNnHy3rPB24G','C3rHDhvZ','zgf0ywjHC2vFy29UzMLN','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','w1jfrefdveveoMHHC2HD','qwvJCKe','vfjbtLnbq1rjt05Fq09ntuLu','zw52AxjVBM1LBNq','C3bSAxq','C29Tzq','Bwf0y2G','qMnQwNm','Dw5JyxvNAhrfEgnLChrPB24','CM93C0fMzMvJDgvK','suLYtvG','u1fmx0Xpr19qqvjbtvm','Aw1wtMK','nteWotq0DM5UEw9y','tI9b','qKrIsKG','sLDux1nfq1jfva','BwfW','zMf0ywXFzxjYB3i','Aw5MBW','zgvIDwC','CMvXlMHLywrLCNnBiNGTyxbPlwTLEsjD','ChDK','mtG5mtbwr21xC3G','Ahr0Cf9Yzxf1zxn0','sfruuca','CMvTB3rLqwrKCMvZCW','mZqXndq1CxjJCwPx','BwvTB3j5vxnHz2u','te9hx1rpx0zjteu','q1jfqvrf','Dhj1zq','swTqCK0','Dg9ju09tDhjPBMC','y3z2','w1jfrefdveveoNrVA2vUxq','zMLSzv9SB2DNAw5Nx2vUywjSzwq','icdIHPiG','y3jLyxrLv3jPDgvtDhjLyw0','B2jQzwn0','yxv0Ag9YAxPHDgLVBG','DhjPBq','icbvuKW6icaGia','mZm1mJC4mfHlsgPAvG','mtmWodq1nLHhC1PfEG','zw5oqwy','twrJqM4','rxjYB3i','tvDLCLK','DgvZDa','ms4WlJu','BwvZC2fNzq','yxbPs2v5','rMfPBgvKihrVignYzwf0zsbSB2CGC3rYzwfTCZO','C3rHCNrZv2L0Aa','muXvve52Dq','C2vJCMv0','s0zpvuG','zw52','AM9PBG','C2vYDMvYx3jLywr5','yxbPx2TLEq','iokvKqRILzeGifbYB2PLy3qGicaGidOG','Bwv0Ag9K','D2fYBG','ALncEuK','BgvUz3rO','zxHPC3rZu3LUyW','zMf0ywW','C2vYDMLJzuLUzM8','qxLsrgK','CgLKlgHVC3rUyw1LlhnLCNzPy2uSDMvYC2LVBIXLBNySzxzLBNqSBw9KDwXLlhbVCNqSy29UzMLNlgfWAuTLEuvUywjSzwqSCgf0AcX3B3jRAw5NrgLYlgLZugTNlgLZtM9KzvnJCMLWDcXMAwXLlgvTywLSlhr5CguSy29YCYXSB2DNAw5NlgfWAuTLEsXJB3vUDcXLBMrWB2LUDcXYB3v0zq','u1LtoKHioK1noNnZ','zgjFCxvLCNK'];a0_0x12bf=function(){return _0x3b17ac;};return a0_0x12bf();}const prettyPrintOptions={'colorize':!![],'translateTime':a0_0x1f1287(0x187),'ignore':a0_0x1f1287(0x186),'singleLine':![],'levelFirst':!![],'messageFormat':a0_0x1f1287(0xee),'customColors':'info:blue,warn:yellow,error:red,debug:gray','hideObject':!![]},isDevelopment=process['env'][a0_0x1f1287(0x110)]!==a0_0x1f1287(0xdc),logLevel=process[a0_0x1f1287(0x179)]['LOG_LEVEL']||a0_0x1f1287(0x152);let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':'pino-pretty','options':prettyPrintOptions}:undefined,'base':{'service':'restforge','version':process['env']['APP_VERSION']||a0_0x1f1287(0x171),'env':process[a0_0x1f1287(0x179)][a0_0x1f1287(0x110)]||'development'},'timestamp':pino['stdTimeFunctions']['isoTime'],'redact':{'paths':[a0_0x1f1287(0x189),a0_0x1f1287(0x154),a0_0x1f1287(0x124),a0_0x1f1287(0x121),'apiKey','DB_PASSWORD',a0_0x1f1287(0x14f)],'censor':a0_0x1f1287(0xe5)},'serializers':{'req':_0x28d356=>({'id':_0x28d356['id'],'method':_0x28d356[a0_0x1f1287(0x17e)],'url':_0x28d356['url'],'path':_0x28d356[a0_0x1f1287(0xfb)],'remoteAddress':_0x28d356['ip']||_0x28d356[a0_0x1f1287(0x122)]?.[a0_0x1f1287(0x159)]}),'res':_0x47745f=>({'statusCode':_0x47745f[a0_0x1f1287(0xeb)],'headers':_0x47745f[a0_0x1f1287(0x128)]?.()}),'err':pino[a0_0x1f1287(0xd8)]['err']}});function initFileLogging(){const _0x2beacb=a0_0x1f1287,_0x785e8e={'Ovvyz':function(_0x5319cc,_0x3d31e8){return _0x5319cc===_0x3d31e8;},'IIrMX':'true','lZgSx':_0x2beacb(0x118),'vQWMJ':_0x2beacb(0x153),'rhONy':function(_0x2f598f,_0x3ab68b){return _0x2f598f(_0x3ab68b);},'TBdel':_0x2beacb(0x111),'imVNi':_0x2beacb(0x12c),'VybfQ':_0x2beacb(0x163),'IuJox':function(_0x867963,_0x23b00b,_0x2d1dd){return _0x867963(_0x23b00b,_0x2d1dd);},'qERwA':'info'};if(fileLoggingInitialized)return;logToFile=_0x785e8e['Ovvyz'](process['env'][_0x2beacb(0x15c)],_0x785e8e[_0x2beacb(0x149)]);const _0xf4e39f=process[_0x2beacb(0x179)][_0x2beacb(0x13e)]||'default';logDir=process[_0x2beacb(0x179)]['LOG_DIR']||'./logs/'+_0xf4e39f,serviceName=process['env']['SERVICE_NAME']||_0x785e8e['lZgSx'],sqlLogEnabled=_0x785e8e['Ovvyz'](process['env'][_0x2beacb(0x10a)],_0x2beacb(0x15e)),sqlLogLevel=process['env']['SQL_LOG_LEVEL']||_0x785e8e['vQWMJ'],sqlLogParams=process['env'][_0x2beacb(0x14a)]!=='false',sqlLogSlowThreshold=_0x785e8e[_0x2beacb(0x103)](parseInt,process['env'][_0x2beacb(0x10e)])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x56a20d=path['resolve'](process[_0x2beacb(0x104)](),logDir);try{!fs[_0x2beacb(0x182)](_0x56a20d)&&fs['mkdirSync'](_0x56a20d,{'recursive':!![]});}catch(_0x4e4336){console[_0x2beacb(0xe4)]('Failed\x20to\x20create\x20log\x20directory\x20'+_0x56a20d+':',_0x4e4336[_0x2beacb(0x172)]),fileLoggingInitialized=!![];return;}const _0x5e6a60=path[_0x2beacb(0x17a)](_0x56a20d,_0x785e8e['TBdel']),_0x1e12cd=path['join'](_0x56a20d,_0x785e8e[_0x2beacb(0x14b)]);try{appLogStream=fs[_0x2beacb(0x165)](_0x5e6a60,{'flags':'a'}),errorLogStream=fs[_0x2beacb(0x165)](_0x1e12cd,{'flags':'a'}),fileLoggingInitialized=!![];const _0x1a6c9b={'event':_0x785e8e[_0x2beacb(0x114)],'logDir':_0x56a20d,'files':[_0x785e8e['TBdel'],_0x785e8e[_0x2beacb(0x14b)]]},_0x535153='File\x20logging\x20enabled:\x20'+_0x56a20d;logger['info'](_0x1a6c9b,_0x535153),_0x785e8e[_0x2beacb(0x18a)](writeToFileLog,{..._0x1a6c9b,'level':'info','msg':_0x535153,'time':new Date()['toISOString']()},_0x785e8e['qERwA']);}catch(_0x51d83d){console[_0x2beacb(0xe4)](_0x2beacb(0x174),_0x51d83d['message']),fileLoggingInitialized=!![];}}function writeToFileLog(_0x3450ca,_0x34cdae){const _0x137e02=a0_0x1f1287,_0x497e1e={'IcAcM':function(_0x348c06,_0x3103c7){return _0x348c06||_0x3103c7;},'tnhYY':function(_0x1842e3,_0x1303cb){return _0x1842e3+_0x1303cb;},'SnSmh':function(_0x20d859,_0x227b7e){return _0x20d859===_0x227b7e;},'jmRPP':_0x137e02(0x183)};if(_0x497e1e['IcAcM'](!logToFile,!appLogStream))return;const _0xe21647={'service':serviceName,..._0x3450ca},_0xf1cdc9=_0x497e1e[_0x137e02(0xe6)](JSON[_0x137e02(0xff)](_0xe21647),'\x0a');appLogStream['write'](_0xf1cdc9),(_0x497e1e['SnSmh'](_0x34cdae,'error')||_0x34cdae===_0x497e1e['jmRPP'])&&(errorLogStream&&errorLogStream['write'](_0xf1cdc9));}const createRequestLogger=(_0x43a9c5={})=>{return logger['child'](_0x43a9c5);},logServerStart=_0x5edb4e=>{const _0x3e82cb=a0_0x1f1287,_0x40d72d={'ThqKV':function(_0x38d84b,_0x1e41df){return _0x38d84b-_0x1e41df;},'AyRDi':function(_0x4d3e7d,_0x19c679){return _0x4d3e7d(_0x19c679);},'qnqaz':'ACTIVE','QIHdx':'info'},_0x2d86c5=_0x3e82cb(0x108),_0x1079c8=Math[_0x3e82cb(0xe8)](0x0,0x37-_0x2d86c5[_0x3e82cb(0x181)]),_0x5736b8=Math[_0x3e82cb(0x119)](_0x1079c8/0x2),_0x3a082e=_0x40d72d['ThqKV'](_0x1079c8,_0x5736b8),_0x2c8407='║'+'\x20'['repeat'](_0x5736b8)+_0x2d86c5+'\x20'[_0x3e82cb(0xd3)](_0x3a082e)+'║',_0x27a5d5='\x0a╔═══════════════════════════════════════════════════════╗\x0a'+_0x2c8407+_0x3e82cb(0x120)+(_0x5edb4e[_0x3e82cb(0x142)]||_0x3e82cb(0x138))['padEnd'](0x26)+_0x3e82cb(0x17d)+(_0x5edb4e['project']||_0x3e82cb(0x14d))[_0x3e82cb(0xd0)](0x26)+_0x3e82cb(0x133)+_0x40d72d[_0x3e82cb(0x185)](String,_0x5edb4e[_0x3e82cb(0xde)]||0xbb8)[_0x3e82cb(0xd0)](0x26)+'\x20║\x0a║\x20\x20Config\x20\x20\x20\x20\x20\x20:\x20'+(_0x5edb4e['configFile']||'Default')['padEnd'](0x26)+'\x20║\x0a║\x20\x20API\x20Key\x20\x20\x20\x20\x20:\x20'+(_0x5edb4e[_0x3e82cb(0x173)]?_0x40d72d['qnqaz']:'NOT\x20ACTIVE')[_0x3e82cb(0xd0)](0x26)+'\x20║\x0a╚═══════════════════════════════════════════════════════╝';console['log'](_0x27a5d5);const _0x5e1253={'event':_0x3e82cb(0x102),'project':_0x5edb4e[_0x3e82cb(0xfe)],'port':_0x5edb4e['port'],'config':_0x5edb4e['configFile'],'apiKeyEnabled':!!_0x5edb4e['apiKey']};logger['info'](_0x5e1253),writeToFileLog({..._0x5e1253,'level':_0x40d72d['QIHdx'],'msg':'Server\x20starting:\x20'+_0x5edb4e['project']+'\x20on\x20port\x20'+_0x5edb4e[_0x3e82cb(0xde)],'time':new Date()['toISOString']()},_0x40d72d['QIHdx']);},logServerReady=_0x4fb052=>{const _0x598e1b=a0_0x1f1287,_0x1faa4f={'event':_0x598e1b(0x17b),'port':_0x4fb052['port'],'module':_0x4fb052['module'],'healthCheck':_0x4fb052['healthCheck'],'serviceInfo':_0x4fb052[_0x598e1b(0x184)],'baseUrl':_0x4fb052['baseUrl']},_0x29ad74='[OK]\x20Server\x20ready\x20on\x20port\x20'+_0x4fb052[_0x598e1b(0xde)];logger['info'](_0x1faa4f,_0x29ad74),writeToFileLog({..._0x1faa4f,'level':'info','msg':_0x29ad74,'time':new Date()[_0x598e1b(0x160)]()},_0x598e1b(0x152)),_0x4fb052['healthCheck']&&logger['info']('\x20\x20Health:\x20'+_0x4fb052['healthCheck']),_0x4fb052['serviceInfo']&&logger[_0x598e1b(0x152)]('\x20\x20Info:\x20\x20\x20'+_0x4fb052['serviceInfo']),_0x4fb052['baseUrl']&&logger[_0x598e1b(0x152)](_0x598e1b(0x169)+_0x4fb052['baseUrl']);},logProjectLoaded=(_0x29ce0b,_0x3937b9)=>{const _0x1ca979=a0_0x1f1287,_0x139a71={'jSByI':'project_loaded','ZCWSy':'info'},_0x44cc66={'event':_0x139a71[_0x1ca979(0x180)],'project':_0x29ce0b,'path':_0x3937b9},_0x5d12e3=_0x1ca979(0x134)+_0x29ce0b;logger[_0x1ca979(0x152)](_0x44cc66,_0x5d12e3),writeToFileLog({..._0x44cc66,'level':_0x139a71[_0x1ca979(0x11c)],'msg':_0x5d12e3,'time':new Date()['toISOString']()},'info');},logEndpointRegistered=(_0x33f98d,_0x16c6f9)=>{const _0x19381e=a0_0x1f1287,_0x2bc663={'fWniD':_0x19381e(0x109),'UrZit':function(_0x18dc29,_0x47acf2,_0xee9684){return _0x18dc29(_0x47acf2,_0xee9684);},'QhYMP':'debug'},_0x3fadd6={'event':_0x2bc663[_0x19381e(0x131)],'endpoint':_0x33f98d,'route':_0x16c6f9},_0xbd786=_0x19381e(0x164)+_0x33f98d+':\x20'+_0x16c6f9;logger['debug'](_0x3fadd6,_0xbd786),_0x2bc663['UrZit'](writeToFileLog,{..._0x3fadd6,'level':_0x2bc663[_0x19381e(0xd4)],'msg':_0xbd786,'time':new Date()[_0x19381e(0x160)]()},'debug');},logDatabaseConfig=_0x546dac=>{const _0xffa8d9=a0_0x1f1287,_0x3cc113={'qsxLC':_0xffa8d9(0x13d)},_0x51acc3={'event':_0x3cc113[_0xffa8d9(0x10d)],'host':_0x546dac[_0xffa8d9(0xdd)],'port':_0x546dac['port'],'database':_0x546dac['database'],'type':_0x546dac[_0xffa8d9(0x112)],'user':_0x546dac[_0xffa8d9(0x12a)]},_0x173556='Database:\x20'+_0x546dac[_0xffa8d9(0x112)]+'://'+_0x546dac[_0xffa8d9(0xdd)]+':'+_0x546dac['port']+'/'+_0x546dac['database'];logger['debug'](_0x51acc3,_0x173556),writeToFileLog({..._0x51acc3,'level':'debug','msg':_0x173556,'time':new Date()[_0xffa8d9(0x160)]()},'debug');},logRequest=(_0x199945,_0x77766,_0x1f5bab)=>{const _0x4537b6=a0_0x1f1287,_0x26ee3e={'CRfzr':_0x4537b6(0x157),'bCfmd':'info','ipyvP':function(_0x341b51,_0xf7d998){return _0x341b51>=_0xf7d998;}},_0x35f874={'event':_0x26ee3e['CRfzr'],'method':_0x199945['method'],'path':_0x199945['path'],'statusCode':_0x77766['statusCode'],'durationMs':_0x1f5bab,'ip':_0x199945['ip']},_0x576ab2=_0x199945['method']+'\x20'+_0x199945[_0x4537b6(0xfb)]+'\x20-\x20'+_0x77766['statusCode']+'\x20('+_0x1f5bab+'ms)';let _0x5ddf4f=_0x26ee3e[_0x4537b6(0x106)];if(_0x77766[_0x4537b6(0xeb)]>=0x1f4)_0x5ddf4f=_0x4537b6(0xe4),logger['error'](_0x35f874,_0x576ab2);else _0x26ee3e['ipyvP'](_0x77766['statusCode'],0x190)?(_0x5ddf4f='warn',logger['warn'](_0x35f874,_0x576ab2)):logger['info'](_0x35f874,_0x576ab2);writeToFileLog({..._0x35f874,'level':_0x5ddf4f,'msg':_0x576ab2,'time':new Date()['toISOString']()},_0x5ddf4f);},SENSITIVE_PARAM_PATTERNS=[a0_0x1f1287(0x124),a0_0x1f1287(0x139),'pwd',a0_0x1f1287(0x121),a0_0x1f1287(0x11b),a0_0x1f1287(0xd7),a0_0x1f1287(0x177),'api_secret','apikey','api_key','credential','credentials',a0_0x1f1287(0xdf),a0_0x1f1287(0x101),a0_0x1f1287(0xf2),'privatekey'],redactSensitiveParams=(_0xb357fe,_0x3fdf9d)=>{const _0x31d4b4=a0_0x1f1287,_0x1c9ba2={'ZXMRx':'[REDACTED]','Cyget':function(_0xb73ee,_0x2c6c05){return _0xb73ee===_0x2c6c05;},'MBcrS':'string','UTzRW':function(_0x368d81,_0x17f1e2){return _0x368d81>_0x17f1e2;},'gPrnj':_0x31d4b4(0x162),'puoAX':_0x31d4b4(0x13f)};if(!_0xb357fe||_0x1c9ba2['Cyget'](_0xb357fe['length'],0x0))return _0xb357fe;const _0x42af4b=_0x3fdf9d['toLowerCase'](),_0x4b7e01=_0x42af4b['match'](/\(([^)]+)\)\s*values/i);let _0xfba24b=[];_0x4b7e01&&(_0xfba24b=_0x4b7e01[0x1][_0x31d4b4(0x143)](',')[_0x31d4b4(0x150)](_0x4b9d4c=>_0x4b9d4c['trim']()[_0x31d4b4(0x136)]()));const _0x585311=_0x42af4b['match'](/set\s+(.+?)(?:\s+where|$)/i);if(_0x585311){const _0x2e8e9c=_0x585311[0x1],_0x350acd=_0x2e8e9c['match'](/(\w+)\s*=/g);_0x350acd&&(_0xfba24b=_0x350acd['map'](_0x415151=>_0x415151['replace'](/\s*=/,'')[_0x31d4b4(0x168)]()[_0x31d4b4(0x136)]()));}return _0xb357fe[_0x31d4b4(0x150)]((_0x1f3639,_0x5f26a7)=>{const _0x162b9=_0x31d4b4;if(_0xfba24b[_0x5f26a7]){const _0x12da0e=_0xfba24b[_0x5f26a7],_0x2571ca=SENSITIVE_PARAM_PATTERNS['some'](_0x3f86ba=>_0x12da0e['includes'](_0x3f86ba));if(_0x2571ca)return _0x1c9ba2[_0x162b9(0x105)];}if(_0x1c9ba2['Cyget'](typeof _0x1f3639,_0x1c9ba2[_0x162b9(0xf7)])&&_0x1c9ba2[_0x162b9(0x12f)](_0x1f3639['length'],0x20)){if(/^[a-zA-Z0-9+/=_.-]+$/[_0x162b9(0x170)](_0x1f3639)&&_0x1f3639['includes']('.'))return _0x1c9ba2['gPrnj'];if(/^[a-fA-F0-9]{32,}$/['test'](_0x1f3639))return _0x1c9ba2['puoAX'];}return _0x1f3639;});},parseQueryMetadata=_0x212beb=>{const _0x14602f=a0_0x1f1287,_0x248431={'rnyZN':_0x14602f(0xfa),'bPqsw':'INSERT','cgene':'UPDATE','BcjZs':'DELETE','jQfgV':'START\x20TRANSACTION','PNlGD':_0x14602f(0x12b),'rPxAS':'TRANSACTION_ROLLBACK','XQKcT':'DDL_ALTER','whpKt':'DROP'},_0xe34f39=_0x212beb['trim'](),_0x1d855e=_0xe34f39[_0x14602f(0xe2)]();let _0x2e1272=_0x14602f(0x10c),_0x4c640c=null;if(_0x1d855e[_0x14602f(0x175)](_0x248431['rnyZN'])){_0x2e1272=_0x14602f(0xfa);const _0x1ef11d=_0xe34f39['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x4c640c=_0x1ef11d?_0x1ef11d[0x1]:null;}else{if(_0x1d855e['startsWith'](_0x248431[_0x14602f(0x123)])){_0x2e1272=_0x248431['bPqsw'];const _0x2ef5e2=_0xe34f39['match'](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x4c640c=_0x2ef5e2?_0x2ef5e2[0x1]:null;}else{if(_0x1d855e['startsWith']('UPDATE')){_0x2e1272=_0x248431['cgene'];const _0x2731b7=_0xe34f39[_0x14602f(0x145)](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x4c640c=_0x2731b7?_0x2731b7[0x1]:null;}else{if(_0x1d855e['startsWith'](_0x248431[_0x14602f(0x146)])){_0x2e1272=_0x14602f(0xf9);const _0x195f90=_0xe34f39['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x4c640c=_0x195f90?_0x195f90[0x1]:null;}else{if(_0x1d855e[_0x14602f(0x175)]('BEGIN')||_0x1d855e[_0x14602f(0x175)](_0x248431[_0x14602f(0xef)]))_0x2e1272=_0x14602f(0xfd);else{if(_0x1d855e['startsWith'](_0x14602f(0xec)))_0x2e1272=_0x14602f(0x141);else{if(_0x1d855e[_0x14602f(0x175)](_0x248431[_0x14602f(0x11f)]))_0x2e1272=_0x248431['rPxAS'];else{if(_0x1d855e[_0x14602f(0x175)](_0x14602f(0x15d)))_0x2e1272='DDL_CREATE';else{if(_0x1d855e['startsWith'](_0x14602f(0xdb)))_0x2e1272=_0x248431['XQKcT'];else _0x1d855e['startsWith'](_0x248431['whpKt'])&&(_0x2e1272='DDL_DROP');}}}}}}}}return{'type':_0x2e1272,'table':_0x4c640c};},startQueryTimer=()=>{const _0x38d7c3=a0_0x1f1287,_0x49362c={'kZyrz':function(_0x4d02ae,_0x6fc301){return _0x4d02ae*_0x6fc301;},'GHvUq':function(_0x2f0af4,_0x2aaefe){return _0x2f0af4/_0x2aaefe;}},_0x3addc2=process[_0x38d7c3(0xf1)]();return()=>{const _0x10e0a2=_0x38d7c3,[_0x2bb204,_0x394334]=process[_0x10e0a2(0xf1)](_0x3addc2);return parseFloat((_0x49362c[_0x10e0a2(0xcd)](_0x2bb204,0x3e8)+_0x49362c['GHvUq'](_0x394334,0xf4240))['toFixed'](0x2));};},logQuery=(_0x1daae0,_0x3afee5=[],_0x320f91={})=>{const _0x3fe8c9=a0_0x1f1287,_0x5c3be6={'RIugs':_0x3fe8c9(0xd2),'qGmFB':_0x3fe8c9(0xf0),'HEWEU':function(_0x932bb9,_0x492887){return _0x932bb9||_0x492887;},'dHoDz':_0x3fe8c9(0xd5),'rrXue':function(_0x333852,_0x375c05){return _0x333852!==_0x375c05;},'knzLn':_0x3fe8c9(0x153),'nDSvM':'\x20[SLOW]','Eminl':_0x3fe8c9(0x17f),'nYMlf':function(_0x18d043,_0x421aef){return _0x18d043===_0x421aef;},'yoKiR':function(_0x4335af,_0xad1f33,_0x7c432a){return _0x4335af(_0xad1f33,_0x7c432a);}};if(!sqlLogEnabled){logger[_0x3fe8c9(0x153)]({'event':_0x3fe8c9(0x188),'query':_0x1daae0['substring'](0x0,0xc8),'paramCount':_0x3afee5['length']},_0x5c3be6['RIugs']);return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x5c3be6[_0x3fe8c9(0xfc)]}=_0x320f91,{type:_0x5bbbc8,table:_0x27541c}=parseQueryMetadata(_0x1daae0),_0x28f78a={'event':_0x3fe8c9(0x11e),'queryType':_0x5bbbc8,'table':_0x27541c,'query':_0x1daae0,'paramCount':_0x3afee5[_0x3fe8c9(0x181)],'dbType':dbType};sqlLogParams&&_0x3afee5[_0x3fe8c9(0x181)]>0x0&&(_0x28f78a['params']=redactSensitiveParams(_0x3afee5,_0x1daae0));duration!==null&&(_0x28f78a['durationMs']=duration,_0x28f78a['isSlow']=duration>sqlLogSlowThreshold);rowsAffected!==null&&(_0x28f78a[_0x3fe8c9(0x148)]=rowsAffected);const _0xdc737b=_0x5c3be6['HEWEU'](_0x27541c,_0x5c3be6['dHoDz']);let _0x2ebf2d='['+_0x5bbbc8+']\x20'+_0xdc737b;duration!==null&&(_0x2ebf2d+='\x20('+duration+'ms)');const _0x200e8f=_0x5c3be6['rrXue'](duration,null)&&duration>sqlLogSlowThreshold;let _0x3b9249=_0x5c3be6[_0x3fe8c9(0xd9)];if(_0x200e8f)_0x2ebf2d+=_0x5c3be6[_0x3fe8c9(0x130)],_0x3b9249=_0x5c3be6[_0x3fe8c9(0xf4)],logger[_0x3fe8c9(0x17f)](_0x28f78a,_0x2ebf2d);else _0x5c3be6[_0x3fe8c9(0xf6)](sqlLogLevel,_0x3fe8c9(0x152))?(_0x3b9249=_0x3fe8c9(0x152),logger[_0x3fe8c9(0x152)](_0x28f78a,_0x2ebf2d)):logger['debug'](_0x28f78a,_0x2ebf2d);_0x5c3be6[_0x3fe8c9(0xf8)](writeToFileLog,{..._0x28f78a,'level':_0x3b9249,'msg':_0x2ebf2d,'time':new Date()['toISOString']()},_0x3b9249);},logTransaction=(_0x3686c7,_0x1f68ee)=>{const _0x32798b=a0_0x1f1287,_0x51279b={'dxQSn':_0x32798b(0xed),'yOzxe':_0x32798b(0x153)},_0x24b12f={'event':_0x51279b[_0x32798b(0xce)],'status':_0x3686c7,'queryCount':_0x1f68ee},_0x3cc04e=_0x32798b(0x13b)+_0x3686c7;logger[_0x32798b(0x153)](_0x24b12f,_0x3cc04e),writeToFileLog({..._0x24b12f,'level':_0x51279b[_0x32798b(0xd1)],'msg':_0x3cc04e,'time':new Date()[_0x32798b(0x160)]()},_0x32798b(0x153));},redactObject=_0x4ebf1a=>{const _0x11689b=a0_0x1f1287,_0xfb6bdd={'eEPBn':'passwd','SowGf':_0x11689b(0x155),'BDbJH':'token','enNAf':'apikey','cQkHg':_0x11689b(0x161),'MdcBn':_0x11689b(0x113),'UVDmH':_0x11689b(0xdf),'TxzGX':'private_key','deqaS':'privatekey','VlQbj':_0x11689b(0xd7),'BGwDh':function(_0x2ec3d0,_0x255418){return _0x2ec3d0===_0x255418;}};if(!_0x4ebf1a||typeof _0x4ebf1a!=='object')return _0x4ebf1a;const _0x5b5b34=['password',_0xfb6bdd[_0x11689b(0xf3)],_0xfb6bdd[_0x11689b(0x116)],_0xfb6bdd[_0x11689b(0x14e)],_0x11689b(0x177),_0xfb6bdd[_0x11689b(0x16c)],_0x11689b(0x17c),_0x11689b(0x167),'creditcard',_0x11689b(0xe9),_0xfb6bdd[_0x11689b(0x11d)],_0xfb6bdd[_0x11689b(0x16d)],_0xfb6bdd['UVDmH'],_0xfb6bdd['TxzGX'],_0xfb6bdd['deqaS'],_0xfb6bdd[_0x11689b(0x107)],'access_token'],_0x25b693=Array['isArray'](_0x4ebf1a)?[..._0x4ebf1a]:{..._0x4ebf1a};for(const _0x3a3481 of Object[_0x11689b(0x10f)](_0x25b693)){const _0x19331f=_0x3a3481[_0x11689b(0x136)]();if(_0x5b5b34[_0x11689b(0x144)](_0x28a159=>_0x19331f['includes'](_0x28a159)))_0x25b693[_0x3a3481]='[REDACTED]';else _0xfb6bdd[_0x11689b(0x115)](typeof _0x25b693[_0x3a3481],_0x11689b(0x166))&&_0x25b693[_0x3a3481]!==null&&(_0x25b693[_0x3a3481]=redactObject(_0x25b693[_0x3a3481]));}return _0x25b693;},logError=(_0x5e8588,_0x3136df={},_0x9b248c=null)=>{const _0x16e751=a0_0x1f1287,_0x87f5df={'KFOUH':_0x16e751(0x16e),'UGRUG':'error'},_0x50e179={'event':_0x16e751(0xe4),'errorName':_0x5e8588[_0x16e751(0x12e)]||_0x87f5df[_0x16e751(0x178)],'errorMessage':_0x5e8588['message'],'errorCode':_0x5e8588[_0x16e751(0x129)]||null,'stack':_0x5e8588[_0x16e751(0x132)],..._0x3136df},_0x152a81=_0x9b248c||'Error:\x20'+_0x5e8588[_0x16e751(0x172)];logger['error'](_0x50e179,_0x152a81),writeToFileLog({..._0x50e179,'level':_0x16e751(0xe4),'msg':_0x152a81,'time':new Date()[_0x16e751(0x160)]()},_0x87f5df['UGRUG']);},logFatalError=(_0xdfb2bd,_0x2dbfbb={},_0x533d0a=null)=>{const _0x389e53=a0_0x1f1287,_0x56c7b3={'MWerY':'Error','AecrA':'CRITICAL','ReMYB':_0x389e53(0x183),'Hnnur':'error'},_0x1498a9={'event':_0x389e53(0x151),'errorName':_0xdfb2bd[_0x389e53(0x12e)]||_0x56c7b3[_0x389e53(0x16f)],'errorMessage':_0xdfb2bd['message'],'errorCode':_0xdfb2bd['code']||null,'stack':_0xdfb2bd['stack'],'severity':_0x56c7b3[_0x389e53(0x140)],..._0x2dbfbb},_0x2b25c9=_0x533d0a||'FATAL:\x20'+_0xdfb2bd[_0x389e53(0x172)];logger[_0x389e53(0x183)](_0x1498a9,_0x2b25c9),writeToFileLog({..._0x1498a9,'level':_0x56c7b3[_0x389e53(0x117)],'msg':_0x2b25c9,'time':new Date()[_0x389e53(0x160)]()},_0x56c7b3['Hnnur']);},logHttpError=(_0x29c869,_0x1b3af6,_0x3f408a={})=>{const _0x20784b=a0_0x1f1287,_0x2084e2={'keZLJ':_0x20784b(0xda),'ILkgk':'Error','rywrj':'error','smWGX':'warn'},_0x388556={'event':_0x2084e2['keZLJ'],'errorName':_0x29c869[_0x20784b(0x12e)]||_0x2084e2[_0x20784b(0xf5)],'errorMessage':_0x29c869['message'],'errorCode':_0x29c869[_0x20784b(0x129)]||_0x29c869[_0x20784b(0xeb)]||0x1f4,'stack':_0x29c869['stack'],'method':_0x1b3af6?.[_0x20784b(0x17e)],'url':_0x1b3af6?.[_0x20784b(0xe3)]||_0x1b3af6?.['originalUrl'],'path':_0x1b3af6?.['path'],'ip':_0x1b3af6?.['ip']||_0x1b3af6?.['connection']?.[_0x20784b(0x159)],'userAgent':_0x1b3af6?.['get']?.(_0x20784b(0xe1)),'requestId':_0x1b3af6?.['id']||_0x1b3af6?.[_0x20784b(0x127)]?.[_0x20784b(0xea)],'body':_0x1b3af6?.[_0x20784b(0x13a)]?redactObject(_0x1b3af6[_0x20784b(0x13a)]):undefined,'query':_0x1b3af6?.['query'],..._0x3f408a},_0x37f9b0=_0x29c869[_0x20784b(0xeb)]||_0x29c869['status']||0x1f4,_0x465fcd=_0x20784b(0x158)+_0x37f9b0+':\x20'+_0x29c869[_0x20784b(0x172)];_0x37f9b0>=0x1f4?logger['error'](_0x388556,_0x465fcd):logger[_0x20784b(0x17f)](_0x388556,_0x465fcd),writeToFileLog({..._0x388556,'level':_0x37f9b0>=0x1f4?'error':_0x20784b(0x17f),'msg':_0x465fcd,'time':new Date()['toISOString']()},_0x37f9b0>=0x1f4?_0x2084e2[_0x20784b(0x135)]:_0x2084e2['smWGX']);},logUncaughtError=(_0x8b6ec9,_0x1d12d1)=>{const _0x23125a=a0_0x1f1287,_0x9aaadb={'QYopm':'Error','DwNcQ':function(_0x43be5f,_0x103615){return _0x43be5f(_0x103615);},'CIias':'CRITICAL','QPBgI':'error'},_0x349bc4={'event':_0x8b6ec9,'errorName':_0x1d12d1?.['name']||_0x9aaadb['QYopm'],'errorMessage':_0x1d12d1?.['message']||_0x9aaadb['DwNcQ'](String,_0x1d12d1),'errorCode':_0x1d12d1?.[_0x23125a(0x129)]||null,'stack':_0x1d12d1?.[_0x23125a(0x132)],'severity':_0x9aaadb['CIias'],'processId':process['pid'],'memoryUsage':process[_0x23125a(0x15b)](),'uptime':process[_0x23125a(0x11a)]()},_0x1ab546='['+_0x8b6ec9['toUpperCase']()+']\x20'+(_0x1d12d1?.['message']||_0x1d12d1);logger[_0x23125a(0x183)](_0x349bc4,_0x1ab546),writeToFileLog({..._0x349bc4,'level':_0x23125a(0x183),'msg':_0x1ab546,'time':new Date()['toISOString']()},_0x9aaadb['QPBgI']);},setupGlobalErrorHandlers=()=>{const _0x4f446c=a0_0x1f1287,_0x5a49ab={'tDnXj':function(_0x17b579,_0x4558ca){return _0x17b579 instanceof _0x4558ca;},'axjvj':_0x4f446c(0xe7),'IkPrM':'global_error_handlers_setup'};process['on']('uncaughtException',_0x516f8a=>{const _0x5d7208=_0x4f446c;logUncaughtError(_0x5d7208(0x147),_0x516f8a),setTimeout(()=>{process['exit'](0x1);},0x3e8);}),process['on'](_0x4f446c(0xd6),(_0x460bea,_0x49506c)=>{const _0x578d6e=_0x4f446c,_0x10eff8=_0x5a49ab['tDnXj'](_0x460bea,Error)?_0x460bea:new Error(String(_0x460bea));logUncaughtError(_0x578d6e(0xd6),_0x10eff8);}),process['on'](_0x5a49ab[_0x4f446c(0x100)],_0x54c1c5=>{const _0x17a7da=_0x4f446c;logger[_0x17a7da(0x17f)]({'event':'process_warning','name':_0x54c1c5[_0x17a7da(0x12e)],'message':_0x54c1c5['message'],'stack':_0x54c1c5['stack']},'Process\x20Warning:\x20'+_0x54c1c5[_0x17a7da(0x172)]);});const _0x1d0f3c={'event':_0x5a49ab[_0x4f446c(0x15f)]},_0x7ebe2=_0x4f446c(0xcf);logger[_0x4f446c(0x152)](_0x1d0f3c,_0x7ebe2),writeToFileLog({..._0x1d0f3c,'level':'info','msg':_0x7ebe2,'time':new Date()[_0x4f446c(0x160)]()},_0x4f446c(0x152));},createErrorHandlerMiddleware=()=>{const _0x411a77=a0_0x1f1287,_0x3f5a3f={'IPWIt':_0x411a77(0x126)};return(_0x3001c4,_0x4e83f5,_0x66822e,_0x248460)=>{const _0x305b9e=_0x411a77;logHttpError(_0x3001c4,_0x4e83f5);const _0x58c797=_0x3001c4[_0x305b9e(0xeb)]||_0x3001c4['status']||0x1f4;_0x66822e[_0x305b9e(0x13c)](_0x58c797)[_0x305b9e(0x12d)]({'success':![],'error':_0x58c797>=0x1f4?_0x3f5a3f['IPWIt']:_0x3001c4['message'],'requestId':_0x4e83f5['id']||_0x4e83f5['headers']?.[_0x305b9e(0xea)]||null});};};module['exports']={'logger':logger,'createRequestLogger':createRequestLogger,'logServerStart':logServerStart,'logServerReady':logServerReady,'logProjectLoaded':logProjectLoaded,'logEndpointRegistered':logEndpointRegistered,'logDatabaseConfig':logDatabaseConfig,'logRequest':logRequest,'logQuery':logQuery,'logTransaction':logTransaction,'startQueryTimer':startQueryTimer,'parseQueryMetadata':parseQueryMetadata,'redactSensitiveParams':redactSensitiveParams,'initFileLogging':initFileLogging,'logError':logError,'logFatalError':logFatalError,'logHttpError':logHttpError,'logUncaughtError':logUncaughtError,'setupGlobalErrorHandlers':setupGlobalErrorHandlers,'createErrorHandlerMiddleware':createErrorHandlerMiddleware,'redactObject':redactObject,'SQL_LOG_CONFIG':{'enabled':sqlLogEnabled,'level':sqlLogLevel,'logParams':sqlLogParams,'slowThreshold':sqlLogSlowThreshold},'FILE_LOG_CONFIG':{'enabled':logToFile,'directory':logDir,'serviceName':serviceName}};
@@ -1 +1 @@
1
- const a0_0x489caa=a0_0x4ba9;(function(_0x56bc74,_0x1e45ca){const _0x2f18eb=a0_0x4ba9,_0x676515=_0x56bc74();while(!![]){try{const _0x4ae9e0=-parseInt(_0x2f18eb(0x18a))/0x1+parseInt(_0x2f18eb(0x19a))/0x2*(parseInt(_0x2f18eb(0x18e))/0x3)+-parseInt(_0x2f18eb(0x1a5))/0x4*(parseInt(_0x2f18eb(0x193))/0x5)+-parseInt(_0x2f18eb(0x19c))/0x6+-parseInt(_0x2f18eb(0x198))/0x7*(parseInt(_0x2f18eb(0x19b))/0x8)+parseInt(_0x2f18eb(0x1a1))/0x9+parseInt(_0x2f18eb(0x1a0))/0xa;if(_0x4ae9e0===_0x1e45ca)break;else _0x676515['push'](_0x676515['shift']());}catch(_0x234983){_0x676515['push'](_0x676515['shift']());}}}(a0_0x14ff,0xb6c01));const dbType=(process['env']['DB_TYPE']||a0_0x489caa(0x186))[a0_0x489caa(0x188)]();let executeQuery;if(dbType===a0_0x489caa(0x185)){const oracleDb=require('./db-oracle');executeQuery=(_0x42f68d,_0x347035)=>oracleDb[a0_0x489caa(0x1a6)](_0x42f68d,_0x347035);}else{if(dbType===a0_0x489caa(0x195)){const mysqlDb=require('./db-mysql');executeQuery=(_0x371393,_0x140119)=>mysqlDb[a0_0x489caa(0x1a6)](_0x371393,_0x140119);}else executeQuery=require('./db')['executeQuery'];}function a0_0x14ff(){const _0x524d11=['ChvZAa','BgvUz3rO','B3jHy2XL','Cg9ZDgDYzxnXBa','A2v5CW','Dg9mB3DLCKnHC2u','tg9VA3vWihrHyMXLigXVywrLzdOG','ndaYnte0uxnMwwrj','C1ngEg4','rMfPBgvKihrVigXVywqGBg9VA3vWihrHyMXLoIa','Bg9VA3vWx3rHyMXLx2XVywrLza','mtKYwvv2EfnM','Bg9HzeXVB2T1CfrHyMXL','BwvZC2fNzq','lI9SB2DNzxi','Aw5MBW','mtaXmgvjq29tua','CfPduhm','BxLZCwW','ihzHBhvLkhmPig5VDcbMB3vUzcbPBIa','Dg9vChbLCKnHC2u','mZG5mJbLzuLRExy','vMfSDwuGiG','oteYnKTHsePQsW','mJu2rvvHr25x','mtG1ndaXmK10DhfmuW','Bg9VA3vWx2zPzwXKC19WCM9JzxnZzwq','zw50CMLLCW','y2XLyxi','mteYnJi3ntb1sun1zeK','nJe5mZaWoeXxvLH6ta','zxHWB3j0CW','z2v0rgLZDgLUy3rwywX1zxm','EuPSvuG','oti3nMPps3LguG','zxHLy3v0zvf1zxj5','DhjPBq','BwfW','C2v0','y2XLyxjdywnOzq','zgvIDwC','z2v0','zM9YrwfJAa','Du5qy0S','CMvZB2X2zuXVB2T1CfzHBhvL','we5wrLG','DMfSAwrHDgvmB29RDxbwywX1zxm','u0vmrunuia','iIbUB3qGzM91BMqGAw4G','AgfZ','zxjYB3i','A0T1u0q','Bg9VA3vWq2fJAgu','tg9VA3vWigzPzwXKCYbWCM9JzxnZzwq'];a0_0x14ff=function(){return _0x524d11;};return a0_0x14ff();}const {logger}=require(a0_0x489caa(0x191));class LookupResolver{constructor(){const _0x4f5b43=a0_0x489caa;this[_0x4f5b43(0x181)]=new Map();}[a0_0x489caa(0x1aa)](){const _0x2dde10=a0_0x489caa;this[_0x2dde10(0x181)][_0x2dde10(0x19f)](),logger[_0x2dde10(0x1ab)]({'event':'lookup_cache_cleared'},'Lookup\x20cache\x20cleared');}async[a0_0x489caa(0x18f)](_0x7c210,_0x17d1fe,_0x30b932){const _0x4ce529=a0_0x489caa,_0x232974={'FiVcf':function(_0xbc4fed,_0x15e398){return _0xbc4fed!==_0x15e398;},'kKuSD':function(_0x3457fd,_0x39cc14){return _0x3457fd!==_0x39cc14;},'meDNI':function(_0x3670b9,_0x45b4d8){return _0x3670b9(_0x45b4d8);},'frYIa':_0x4ce529(0x18d)},_0x3cd1c3=_0x7c210+':'+_0x17d1fe+':'+_0x30b932;if(this[_0x4ce529(0x181)][_0x4ce529(0x1b4)](_0x3cd1c3))return this['lookupCache'][_0x4ce529(0x1ac)](_0x3cd1c3);try{const _0x15636c=_0x4ce529(0x1b2)+_0x30b932+',\x20'+_0x17d1fe+'\x20FROM\x20'+_0x7c210,_0x4df713=await executeQuery(_0x15636c),_0x47648a=new Map();return _0x4df713['forEach'](_0x5432f8=>{const _0x41fe6e=_0x4ce529,_0x473e4f=_0x232974['FiVcf'](_0x5432f8[_0x17d1fe],undefined)?_0x5432f8[_0x17d1fe]:_0x5432f8[_0x17d1fe[_0x41fe6e(0x197)]()],_0x93cfb5=_0x232974[_0x41fe6e(0x180)](_0x5432f8[_0x30b932],undefined)?_0x5432f8[_0x30b932]:_0x5432f8[_0x30b932['toUpperCase']()];_0x473e4f!==null&&_0x473e4f!==undefined&&(_0x47648a['set'](String(_0x473e4f)[_0x41fe6e(0x188)]()['trim'](),_0x93cfb5),_0x47648a[_0x41fe6e(0x1a9)](_0x232974['meDNI'](String,_0x473e4f)['trim'](),_0x93cfb5));}),this['lookupCache'][_0x4ce529(0x1a9)](_0x3cd1c3,_0x47648a),logger[_0x4ce529(0x192)]({'event':_0x232974['frYIa'],'table':_0x7c210,'column':_0x17d1fe,'count':_0x4df713['length']},_0x4ce529(0x189)+_0x7c210),_0x47648a;}catch(_0x12f6dd){logger[_0x4ce529(0x17f)]({'event':'lookup_table_load_error','table':_0x7c210,'error':_0x12f6dd[_0x4ce529(0x190)]},_0x4ce529(0x18c)+_0x7c210);throw _0x12f6dd;}}['resolveLookupValue'](_0x17b884,_0x5033bc){const _0x4ca39d=a0_0x489caa,_0x1a8fe4={'uNPcK':function(_0x3b49e1,_0xa06726){return _0x3b49e1===_0xa06726;},'qfjeE':function(_0x5ca71e,_0x352fa0){return _0x5ca71e===_0x352fa0;}};if(_0x17b884===null||_0x1a8fe4[_0x4ca39d(0x1ae)](_0x17b884,undefined)||_0x1a8fe4['qfjeE'](_0x17b884,''))return null;const _0x345ad6=String(_0x17b884)['trim']();if(_0x5033bc[_0x4ca39d(0x1b4)](_0x345ad6))return _0x5033bc['get'](_0x345ad6);const _0x55808e=_0x345ad6[_0x4ca39d(0x188)]();if(_0x5033bc['has'](_0x55808e))return _0x5033bc[_0x4ca39d(0x1ac)](_0x55808e);return null;}async['processLookupFields'](_0x225b05,_0x11b6a4){const _0x2d2e1d=a0_0x489caa,_0xbaf5da={'wWYtm':function(_0x23b762,_0x3290ff){return _0x23b762===_0x3290ff;},'pZCPs':function(_0x48b11a,_0x18d7da){return _0x48b11a===_0x18d7da;},'vBDQe':_0x2d2e1d(0x19d)};if(!_0x11b6a4||_0xbaf5da['pZCPs'](Object[_0x2d2e1d(0x187)](_0x11b6a4)['length'],0x0))return{'processedRows':_0x225b05,'errors':[]};const _0x199d79=[],_0x265ccd=new Map();for(const [_0x3a096a,_0x588e20]of Object[_0x2d2e1d(0x19e)](_0x11b6a4)){const {lookupTable:_0x54d7f3,lookupColumn:_0x2e3bba,lookupIdColumn:_0xaa8a9c}=_0x588e20,_0x140632=_0x54d7f3+':'+_0x2e3bba+':'+_0xaa8a9c;if(!_0x265ccd[_0x2d2e1d(0x1b4)](_0x140632)){const _0x13f94e=await this[_0x2d2e1d(0x18f)](_0x54d7f3,_0x2e3bba,_0xaa8a9c);_0x265ccd['set'](_0x140632,_0x13f94e);}}const _0x3f5955=_0x225b05[_0x2d2e1d(0x1a8)]((_0x2ac054,_0x2cfed6)=>{const _0x290ef9=_0x2d2e1d,_0x19b872={..._0x2ac054};for(const [_0x4e4638,_0x534b4b]of Object[_0x290ef9(0x19e)](_0x11b6a4)){const {lookupTable:_0x3decac,lookupColumn:_0xf3b9dc,lookupIdColumn:_0xbd4b5f,targetField:_0x432d74,required:_0x338895}=_0x534b4b,_0x17f730=_0x3decac+':'+_0xf3b9dc+':'+_0xbd4b5f,_0x36c18a=_0x265ccd[_0x290ef9(0x1ac)](_0x17f730),_0x4e03dd=_0x2ac054[_0x4e4638];if((_0xbaf5da['wWYtm'](_0x4e03dd,null)||_0xbaf5da[_0x290ef9(0x194)](_0x4e03dd,undefined)||_0x4e03dd==='')&&!_0x338895){_0x19b872[_0x432d74]=null;continue;}const _0x14c8b4=this['resolveLookupValue'](_0x4e03dd,_0x36c18a);_0x14c8b4!==null?_0x19b872[_0x432d74]=_0x14c8b4:(_0x338895&&_0x199d79[_0x290ef9(0x183)]({'rowIndex':_0x2cfed6,'field':_0x4e4638,'value':_0x4e03dd,'targetField':_0x432d74,'lookupTable':_0x3decac,'message':_0x290ef9(0x199)+_0x4e03dd+_0x290ef9(0x1b3)+_0x3decac}),_0x19b872[_0x432d74]=null);}return _0x19b872;});return logger[_0x2d2e1d(0x192)]({'event':_0xbaf5da['vBDQe'],'totalRows':_0x225b05[_0x2d2e1d(0x184)],'errorCount':_0x199d79[_0x2d2e1d(0x184)],'lookupFieldCount':Object[_0x2d2e1d(0x187)](_0x11b6a4)['length']},_0x2d2e1d(0x182)),{'processedRows':_0x3f5955,'errors':_0x199d79};}[a0_0x489caa(0x1a3)](_0xdd2f88,_0x43790e){const _0x7e5f07=a0_0x489caa,_0x4cc992={'qJPpg':function(_0x1f3f95,_0xe3a364){return _0x1f3f95!==_0xe3a364;},'yJlUH':function(_0xc8d836,_0x5871b5){return _0xc8d836(_0x5871b5);}},_0x1acb64=new Set();return _0xdd2f88[_0x7e5f07(0x1ad)](_0x163a9d=>{const _0xb37f4c=_0x7e5f07,_0x5b3395=_0x163a9d[_0x43790e];_0x5b3395!==null&&_0x4cc992['qJPpg'](_0x5b3395,undefined)&&_0x5b3395!==''&&_0x1acb64['add'](_0x4cc992[_0xb37f4c(0x1a4)](String,_0x5b3395)[_0xb37f4c(0x1a7)]());}),Array['from'](_0x1acb64);}async[a0_0x489caa(0x1b1)](_0x3c97e6,_0x1baeea){const _0x27698d=a0_0x489caa,_0x35d431={'HGRFR':function(_0x4e1a4c,_0x44148c){return _0x4e1a4c!==_0x44148c;},'XNVFX':function(_0x36b80f,_0x183163){return _0x36b80f===_0x183163;},'sSFxn':function(_0x404884,_0x2cd140){return _0x404884>_0x2cd140;}};if(!_0x1baeea||Object[_0x27698d(0x187)](_0x1baeea)['length']===0x0)return{'valid':!![],'errors':[],'suggestions':{}};const _0x4bfa49=[],_0x10976c={};for(const [_0x442d0b,_0x3a66db]of Object[_0x27698d(0x19e)](_0x1baeea)){const {lookupTable:_0x3476d1,lookupColumn:_0x541197,lookupIdColumn:_0x1a5809,required:_0x35adee}=_0x3a66db,_0x4da96f=this[_0x27698d(0x1a3)](_0x3c97e6,_0x442d0b),_0x2944fc=await this[_0x27698d(0x18f)](_0x3476d1,_0x541197,_0x1a5809),_0x2fb053=[],_0x92aa6d=[];_0x4da96f[_0x27698d(0x1ad)](_0xef3dcb=>{const _0x5a431f=_0x27698d,_0xa2a1af=this[_0x5a431f(0x1af)](_0xef3dcb,_0x2944fc);_0x35d431['HGRFR'](_0xa2a1af,null)?_0x92aa6d['push'](_0xef3dcb):_0x2fb053[_0x5a431f(0x183)](_0xef3dcb);});if(_0x35d431[_0x27698d(0x18b)](_0x2fb053[_0x27698d(0x184)],0x0)&&_0x35adee){_0x4bfa49['push']({'field':_0x442d0b,'lookupTable':_0x3476d1,'invalidValues':_0x2fb053,'message':_0x2fb053[_0x27698d(0x184)]+_0x27698d(0x196)+_0x3476d1});const _0x375937=[];_0x2944fc[_0x27698d(0x1ad)]((_0x4c908d,_0x7144e4)=>{const _0x2d2bd1=_0x27698d;if(_0x35d431[_0x2d2bd1(0x1b0)](_0x7144e4,_0x7144e4[_0x2d2bd1(0x188)]()))return;_0x375937['push'](_0x7144e4);}),_0x10976c[_0x442d0b]={'invalidValues':_0x2fb053,'availableValues':_0x375937['slice'](0x0,0x32)};}}return{'valid':_0x35d431['XNVFX'](_0x4bfa49[_0x27698d(0x184)],0x0),'errors':_0x4bfa49,'suggestions':_0x10976c};}}function a0_0x4ba9(_0x4f30a8,_0x456d4f){_0x4f30a8=_0x4f30a8-0x17f;const _0x14ff03=a0_0x14ff();let _0x4ba95b=_0x14ff03[_0x4f30a8];if(a0_0x4ba9['FKBsER']===undefined){var _0x1ce741=function(_0x181bfc){const _0x697539='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4425a3='',_0x5afad0='';for(let _0x372f0d=0x0,_0x134334,_0x2b9d80,_0x4ecba0=0x0;_0x2b9d80=_0x181bfc['charAt'](_0x4ecba0++);~_0x2b9d80&&(_0x134334=_0x372f0d%0x4?_0x134334*0x40+_0x2b9d80:_0x2b9d80,_0x372f0d++%0x4)?_0x4425a3+=String['fromCharCode'](0xff&_0x134334>>(-0x2*_0x372f0d&0x6)):0x0){_0x2b9d80=_0x697539['indexOf'](_0x2b9d80);}for(let _0x26413e=0x0,_0x264857=_0x4425a3['length'];_0x26413e<_0x264857;_0x26413e++){_0x5afad0+='%'+('00'+_0x4425a3['charCodeAt'](_0x26413e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5afad0);};a0_0x4ba9['lxweOf']=_0x1ce741,a0_0x4ba9['RmTMaA']={},a0_0x4ba9['FKBsER']=!![];}const _0x15d788=_0x14ff03[0x0],_0x36543b=_0x4f30a8+_0x15d788,_0x2f7ba7=a0_0x4ba9['RmTMaA'][_0x36543b];return!_0x2f7ba7?(_0x4ba95b=a0_0x4ba9['lxweOf'](_0x4ba95b),a0_0x4ba9['RmTMaA'][_0x36543b]=_0x4ba95b):_0x4ba95b=_0x2f7ba7,_0x4ba95b;}module[a0_0x489caa(0x1a2)]=new LookupResolver();
1
+ function a0_0x1309(){const _0x143e86=['lI9SB2DNzxi','m3vmz0r2sG','mtCZnZy0ohLJveLRAa','lI9KyI1VCMfJBgu','Bg9VA3vWx2zPzwXKC19WCM9JzxnZzwq','AM1hC0S','A2v5CW','B1PPzKy','iIbUB3qGzM91BMqGAw4G','zKzyvg4','Aw5MBW','DhjPBq','Dg9vChbLCKnHC2u','BgvUz3rO','C2v0','zgvIDwC','mJa5mtm3nxL6zezTyq','ywrK','tg9VA3vWignHy2HLignSzwfYzwq','Bg9VA3vWq2fJAgu','y2XLyxi','z2v0','rejFvfLqrq','DLPYrMe','Cg9ZDgDYzxnXBa','vMfSDwuGiG','lI9KyG','Dg9mB3DLCKnHC2u','mty2mJDfwwvHyKi','mJC3mte5mfrJCMzKsa','BwfW','ntvHwxrQsuy','nM9YC05dyW','nZyYneneD0HUzW','zNjVBq','mJq3mwzJuwPizW','ChvZAa','zM9YrwfJAa','tg9VA3vWihrHyMXLigXVywrLzdOG','mJq1nJaWC3Dzz0nb','ihzHBhvLkhmPig5VDcbMB3vUzcbPBIa','mti4odq5neT2yLLMBq','sLv1y2C','iezst00G','zxHLy3v0zvf1zxj5','zxjYB3i','zw50CMLLCW','AgfZ','Bg9HzeXVB2T1CfrHyMXL'];a0_0x1309=function(){return _0x143e86;};return a0_0x1309();}const a0_0x262393=a0_0x3386;(function(_0x47f251,_0x45b69e){const _0x2c6c73=a0_0x3386,_0x1ff991=_0x47f251();while(!![]){try{const _0xe1f840=-parseInt(_0x2c6c73(0x127))/0x1*(-parseInt(_0x2c6c73(0x12b))/0x2)+parseInt(_0x2c6c73(0x13d))/0x3*(-parseInt(_0x2c6c73(0x13e))/0x4)+parseInt(_0x2c6c73(0x14c))/0x5+parseInt(_0x2c6c73(0x134))/0x6+-parseInt(_0x2c6c73(0x12e))/0x7*(-parseInt(_0x2c6c73(0x12c))/0x8)+-parseInt(_0x2c6c73(0x128))/0x9+parseInt(_0x2c6c73(0x132))/0xa*(parseInt(_0x2c6c73(0x12a))/0xb);if(_0xe1f840===_0x45b69e)break;else _0x1ff991['push'](_0x1ff991['shift']());}catch(_0x14c73e){_0x1ff991['push'](_0x1ff991['shift']());}}}(a0_0x1309,0x619b0));const dbType=(process['env'][a0_0x262393(0x121)]||a0_0x262393(0x123))['toLowerCase']();function a0_0x3386(_0x4c1009,_0xde3a74){_0x4c1009=_0x4c1009-0x120;const _0x130955=a0_0x1309();let _0x3386b4=_0x130955[_0x4c1009];if(a0_0x3386['dAFQby']===undefined){var _0x55a7a7=function(_0x4b42e6){const _0x178168='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2825e5='',_0x1bee6b='';for(let _0x9832d3=0x0,_0x414a9e,_0x11a866,_0x52fb52=0x0;_0x11a866=_0x4b42e6['charAt'](_0x52fb52++);~_0x11a866&&(_0x414a9e=_0x9832d3%0x4?_0x414a9e*0x40+_0x11a866:_0x11a866,_0x9832d3++%0x4)?_0x2825e5+=String['fromCharCode'](0xff&_0x414a9e>>(-0x2*_0x9832d3&0x6)):0x0){_0x11a866=_0x178168['indexOf'](_0x11a866);}for(let _0x5b6b55=0x0,_0x3d9c57=_0x2825e5['length'];_0x5b6b55<_0x3d9c57;_0x5b6b55++){_0x1bee6b+='%'+('00'+_0x2825e5['charCodeAt'](_0x5b6b55)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1bee6b);};a0_0x3386['eZKrsN']=_0x55a7a7,a0_0x3386['IKLLGU']={},a0_0x3386['dAFQby']=!![];}const _0x295487=_0x130955[0x0],_0x56c3bd=_0x4c1009+_0x295487,_0x4ab726=a0_0x3386['IKLLGU'][_0x56c3bd];return!_0x4ab726?(_0x3386b4=a0_0x3386['eZKrsN'](_0x3386b4),a0_0x3386['IKLLGU'][_0x56c3bd]=_0x3386b4):_0x3386b4=_0x4ab726,_0x3386b4;}let executeQuery;if(dbType==='oracle'){const oracleDb=require(a0_0x262393(0x13f));executeQuery=(_0x315bff,_0x276ab2)=>oracleDb['executeQuery'](_0x315bff,_0x276ab2);}else{if(dbType==='mysql'){const mysqlDb=require('./db-mysql');executeQuery=(_0x12cc28,_0x409ca6)=>mysqlDb[a0_0x262393(0x137)](_0x12cc28,_0x409ca6);}else executeQuery=require(a0_0x262393(0x125))['executeQuery'];}const {logger}=require(a0_0x262393(0x13c));class LookupResolver{constructor(){const _0x270825=a0_0x262393;this[_0x270825(0x14f)]=new Map();}['clearCache'](){const _0x55a204=a0_0x262393,_0x38c4ea={'TRbjn':'lookup_cache_cleared'};this[_0x55a204(0x14f)][_0x55a204(0x150)](),logger[_0x55a204(0x14b)]({'event':_0x38c4ea['TRbjn']},_0x55a204(0x14e));}async['loadLookupTable'](_0x3798bd,_0x47d7c6,_0x4c78bb){const _0x907868=a0_0x262393,_0x942811={'JUucg':function(_0x5a9d82,_0xe0d0e6){return _0x5a9d82!==_0xe0d0e6;},'VduKq':function(_0xe95d3,_0x580969){return _0xe95d3!==_0x580969;},'vZrFa':function(_0x5e09fa,_0x95534a){return _0x5e09fa(_0x95534a);}},_0x4032ef=_0x3798bd+':'+_0x47d7c6+':'+_0x4c78bb;if(this['lookupCache']['has'](_0x4032ef))return this['lookupCache']['get'](_0x4032ef);try{const _0x513556='SELECT\x20'+_0x4c78bb+',\x20'+_0x47d7c6+_0x907868(0x136)+_0x3798bd,_0x4d2702=await executeQuery(_0x513556),_0xd61e8a=new Map();return _0x4d2702[_0x907868(0x130)](_0x2220c4=>{const _0x43c7cc=_0x907868,_0x56aae0=_0x942811[_0x43c7cc(0x135)](_0x2220c4[_0x47d7c6],undefined)?_0x2220c4[_0x47d7c6]:_0x2220c4[_0x47d7c6[_0x43c7cc(0x148)]()],_0xec28d6=_0x2220c4[_0x4c78bb]!==undefined?_0x2220c4[_0x4c78bb]:_0x2220c4[_0x4c78bb['toUpperCase']()];_0x942811['VduKq'](_0x56aae0,null)&&_0x56aae0!==undefined&&(_0xd61e8a[_0x43c7cc(0x14a)](_0x942811[_0x43c7cc(0x122)](String,_0x56aae0)['toLowerCase']()['trim'](),_0xec28d6),_0xd61e8a['set'](_0x942811['vZrFa'](String,_0x56aae0)[_0x43c7cc(0x147)](),_0xec28d6));}),this['lookupCache']['set'](_0x4032ef,_0xd61e8a),logger['info']({'event':'lookup_table_loaded','table':_0x3798bd,'column':_0x47d7c6,'count':_0x4d2702[_0x907868(0x149)]},_0x907868(0x131)+_0x3798bd),_0xd61e8a;}catch(_0x3536ee){logger[_0x907868(0x138)]({'event':'lookup_table_load_error','table':_0x3798bd,'error':_0x3536ee['message']},'Failed\x20to\x20load\x20lookup\x20table:\x20'+_0x3798bd);throw _0x3536ee;}}['resolveLookupValue'](_0x3b03fd,_0x3ca92b){const _0x5a4db8=a0_0x262393;if(_0x3b03fd===null||_0x3b03fd===undefined||_0x3b03fd==='')return null;const _0x18c393=String(_0x3b03fd)[_0x5a4db8(0x147)]();if(_0x3ca92b['has'](_0x18c393))return _0x3ca92b[_0x5a4db8(0x120)](_0x18c393);const _0x4e0625=_0x18c393[_0x5a4db8(0x126)]();if(_0x3ca92b['has'](_0x4e0625))return _0x3ca92b['get'](_0x4e0625);return null;}async['processLookupFields'](_0x1c4ed0,_0x2977e7){const _0x4e3af1=a0_0x262393,_0x324f68={'fFXTn':function(_0xc2a1f5,_0x720bef){return _0xc2a1f5!==_0x720bef;},'xffHg':function(_0x2640ef,_0x37af13){return _0x2640ef===_0x37af13;},'oZifF':_0x4e3af1(0x140)};if(!_0x2977e7||_0x324f68['xffHg'](Object[_0x4e3af1(0x142)](_0x2977e7)[_0x4e3af1(0x149)],0x0))return{'processedRows':_0x1c4ed0,'errors':[]};const _0xfba4df=[],_0xec24bf=new Map();for(const [_0x43c064,_0xce514]of Object[_0x4e3af1(0x139)](_0x2977e7)){const {lookupTable:_0x52ba5e,lookupColumn:_0x26193b,lookupIdColumn:_0x4102c5}=_0xce514,_0x3bf388=_0x52ba5e+':'+_0x26193b+':'+_0x4102c5;if(!_0xec24bf[_0x4e3af1(0x13a)](_0x3bf388)){const _0x56c38f=await this[_0x4e3af1(0x13b)](_0x52ba5e,_0x26193b,_0x4102c5);_0xec24bf['set'](_0x3bf388,_0x56c38f);}}const _0x5992d7=_0x1c4ed0[_0x4e3af1(0x129)]((_0x309669,_0x64a238)=>{const _0xed593c=_0x4e3af1,_0x3e496a={..._0x309669};for(const [_0x4e4d05,_0x4cd804]of Object[_0xed593c(0x139)](_0x2977e7)){const {lookupTable:_0xc2bbeb,lookupColumn:_0x43111b,lookupIdColumn:_0x18278f,targetField:_0x3f664b,required:_0x3ebee6}=_0x4cd804,_0x259024=_0xc2bbeb+':'+_0x43111b+':'+_0x18278f,_0x13e019=_0xec24bf['get'](_0x259024),_0xa5d32d=_0x309669[_0x4e4d05];if((_0xa5d32d===null||_0xa5d32d===undefined||_0xa5d32d==='')&&!_0x3ebee6){_0x3e496a[_0x3f664b]=null;continue;}const _0x4799e8=this['resolveLookupValue'](_0xa5d32d,_0x13e019);_0x324f68[_0xed593c(0x145)](_0x4799e8,null)?_0x3e496a[_0x3f664b]=_0x4799e8:(_0x3ebee6&&_0xfba4df['push']({'rowIndex':_0x64a238,'field':_0x4e4d05,'value':_0xa5d32d,'targetField':_0x3f664b,'lookupTable':_0xc2bbeb,'message':_0xed593c(0x124)+_0xa5d32d+_0xed593c(0x144)+_0xc2bbeb}),_0x3e496a[_0x3f664b]=null);}return _0x3e496a;});return logger[_0x4e3af1(0x146)]({'event':_0x324f68[_0x4e3af1(0x143)],'totalRows':_0x1c4ed0[_0x4e3af1(0x149)],'errorCount':_0xfba4df['length'],'lookupFieldCount':Object[_0x4e3af1(0x142)](_0x2977e7)['length']},'Lookup\x20fields\x20processed'),{'processedRows':_0x5992d7,'errors':_0xfba4df};}['getDistinctValues'](_0x3f885c,_0x3edb6c){const _0x18e2f7=a0_0x262393,_0x56151a={'jmGsK':function(_0x1faf3e,_0x543ba7){return _0x1faf3e!==_0x543ba7;}},_0x2742ce=new Set();return _0x3f885c[_0x18e2f7(0x130)](_0x48c78b=>{const _0x4fd935=_0x18e2f7,_0x7403ee=_0x48c78b[_0x3edb6c];_0x56151a[_0x4fd935(0x141)](_0x7403ee,null)&&_0x7403ee!==undefined&&_0x7403ee!==''&&_0x2742ce[_0x4fd935(0x14d)](String(_0x7403ee)[_0x4fd935(0x147)]());}),Array[_0x18e2f7(0x12d)](_0x2742ce);}async['validateLookupValues'](_0x3e2a68,_0x121691){const _0x335280=a0_0x262393,_0x874062={'maMpF':function(_0x1a1b96,_0xf706bb){return _0x1a1b96===_0xf706bb;},'zyfCY':function(_0x5edecf,_0x2b2171){return _0x5edecf>_0x2b2171;}};if(!_0x121691||Object['keys'](_0x121691)['length']===0x0)return{'valid':!![],'errors':[],'suggestions':{}};const _0x5c74dd=[],_0x28f22a={};for(const [_0x5535b6,_0x45d4dc]of Object['entries'](_0x121691)){const {lookupTable:_0x5bdc5e,lookupColumn:_0x59b209,lookupIdColumn:_0x8bf8dd,required:_0x40ac7b}=_0x45d4dc,_0x44592e=this['getDistinctValues'](_0x3e2a68,_0x5535b6),_0x8e8684=await this[_0x335280(0x13b)](_0x5bdc5e,_0x59b209,_0x8bf8dd),_0x4120a7=[],_0x57de84=[];_0x44592e['forEach'](_0x36a29d=>{const _0x4df62f=this['resolveLookupValue'](_0x36a29d,_0x8e8684);_0x4df62f!==null?_0x57de84['push'](_0x36a29d):_0x4120a7['push'](_0x36a29d);});if(_0x874062['zyfCY'](_0x4120a7[_0x335280(0x149)],0x0)&&_0x40ac7b){_0x5c74dd[_0x335280(0x12f)]({'field':_0x5535b6,'lookupTable':_0x5bdc5e,'invalidValues':_0x4120a7,'message':_0x4120a7[_0x335280(0x149)]+_0x335280(0x133)+_0x5bdc5e});const _0xd4f563=[];_0x8e8684['forEach']((_0x271685,_0x4efda9)=>{if(_0x874062['maMpF'](_0x4efda9,_0x4efda9['toLowerCase']()))return;_0xd4f563['push'](_0x4efda9);}),_0x28f22a[_0x5535b6]={'invalidValues':_0x4120a7,'availableValues':_0xd4f563['slice'](0x0,0x32)};}}return{'valid':_0x5c74dd['length']===0x0,'errors':_0x5c74dd,'suggestions':_0x28f22a};}}module['exports']=new LookupResolver();
@@ -1 +1 @@
1
- const a0_0x1fcf7a=a0_0x36d3;(function(_0x135cd3,_0x360c2a){const _0x1a658e=a0_0x36d3,_0xd7df1e=_0x135cd3();while(!![]){try{const _0x3de520=parseInt(_0x1a658e(0xb7))/0x1+parseInt(_0x1a658e(0xb9))/0x2*(parseInt(_0x1a658e(0xa9))/0x3)+-parseInt(_0x1a658e(0xbb))/0x4+-parseInt(_0x1a658e(0xb0))/0x5*(parseInt(_0x1a658e(0xa1))/0x6)+-parseInt(_0x1a658e(0xba))/0x7*(-parseInt(_0x1a658e(0xb5))/0x8)+-parseInt(_0x1a658e(0xa6))/0x9+-parseInt(_0x1a658e(0xb1))/0xa*(-parseInt(_0x1a658e(0x9f))/0xb);if(_0x3de520===_0x360c2a)break;else _0xd7df1e['push'](_0xd7df1e['shift']());}catch(_0x4ac531){_0xd7df1e['push'](_0xd7df1e['shift']());}}}(a0_0x1d15,0xd53c1));const fs=require('fs')[a0_0x1fcf7a(0x9d)],path=require(a0_0x1fcf7a(0xa2)),{logger}=require('./logger');function a0_0x36d3(_0x165484,_0xb05781){_0x165484=_0x165484-0x9d;const _0x1d1599=a0_0x1d15();let _0x36d3b8=_0x1d1599[_0x165484];if(a0_0x36d3['qTWnke']===undefined){var _0x3b406d=function(_0x5ae1ba){const _0x464f01='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x251aa8='',_0xe0a267='';for(let _0x4a9823=0x0,_0x3ce7fc,_0x30189d,_0xbf73f9=0x0;_0x30189d=_0x5ae1ba['charAt'](_0xbf73f9++);~_0x30189d&&(_0x3ce7fc=_0x4a9823%0x4?_0x3ce7fc*0x40+_0x30189d:_0x30189d,_0x4a9823++%0x4)?_0x251aa8+=String['fromCharCode'](0xff&_0x3ce7fc>>(-0x2*_0x4a9823&0x6)):0x0){_0x30189d=_0x464f01['indexOf'](_0x30189d);}for(let _0x4c9f6f=0x0,_0x33eed6=_0x251aa8['length'];_0x4c9f6f<_0x33eed6;_0x4c9f6f++){_0xe0a267+='%'+('00'+_0x251aa8['charCodeAt'](_0x4c9f6f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xe0a267);};a0_0x36d3['jLGcky']=_0x3b406d,a0_0x36d3['oAwjfw']={},a0_0x36d3['qTWnke']=!![];}const _0x47db76=_0x1d1599[0x0],_0x1f77bc=_0x165484+_0x47db76,_0x5a324e=a0_0x36d3['oAwjfw'][_0x1f77bc];return!_0x5a324e?(_0x36d3b8=a0_0x36d3['jLGcky'](_0x36d3b8),a0_0x36d3['oAwjfw'][_0x1f77bc]=_0x36d3b8):_0x36d3b8=_0x5a324e,_0x36d3b8;}function a0_0x1d15(){const _0x44b5d5=['zMLLBgrmywjLBhm','mtq3mZiZmdD6ruzjBLO','z2v0rxHWB3j0q29UzMLN','rMfPBgvKihrVigXVywqGCgf5Bg9Hza','mtC0vMTmsM1J','BwvZC2fNzq','ugf5Bg9HzcbJywnOzsbJBgvHCMvK','ugf5Bg9HzcbUB3qGzM91BMq6ia','q3jstMq','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5','lMPZB24','mtyWmdu5me1IrM92Dq','nJqXmJmWywXzz3Lc','CvLrENC','DxrMoa','CgfYC2u','mZCWntK3nKPPwM9Yyq','Cgf5Bg9HzerPCG','mZq1mJi0CMPQyKj6','CMvWBgfJzq','mJC0mdbTAwDfwe0','mtrZzvvfreS','nZKWoduYAM9eufbA','lI4VlI4VCgf5Bg9Hza','ChjVBwLZzxm','zMLLBgroyw1L','mty1A0LNCMrT','y2XLyxi','nM1yzfneEG','Cgf0Aa','y2fJAgu','CMvHzezPBgu'];a0_0x1d15=function(){return _0x44b5d5;};return a0_0x1d15();}class PayloadLoader{constructor(){const _0x181a14=a0_0x1fcf7a,_0x262d98={'tqtgC':_0x181a14(0xbc)};this[_0x181a14(0xb6)]=path['join'](__dirname,_0x262d98['tqtgC']),this[_0x181a14(0xa3)]=new Map();}async['loadPayload'](_0x44ab42,_0x3de348){const _0x410712=a0_0x1fcf7a,_0x2a2b51={'qYQzw':_0x410712(0xae),'yriTF':'payload_load_error'},_0x3e15b4=_0x44ab42+':'+_0x3de348;if(this['cache']['has'](_0x3e15b4))return this['cache']['get'](_0x3e15b4);const _0x377dfc=path['join'](this['payloadDir'],_0x44ab42+'_'+_0x3de348+'.json');try{const _0x3859e5=await fs[_0x410712(0xa4)](_0x377dfc,_0x410712(0xb3)),_0x1d1b13=JSON[_0x410712(0xb4)](_0x3859e5);return this[_0x410712(0xa3)]['set'](_0x3e15b4,_0x1d1b13),logger['debug']({'event':'payload_loaded','project':_0x44ab42,'resource':_0x3de348},_0x2a2b51[_0x410712(0xb2)]),_0x1d1b13;}catch(_0x5d5004){logger['error']({'event':_0x2a2b51['yriTF'],'project':_0x44ab42,'resource':_0x3de348,'error':_0x5d5004['message']},_0x410712(0xa8));throw new Error(_0x410712(0xac)+_0x44ab42+'_'+_0x3de348);}}async['loadPayloadByName'](_0x2daae6){const _0x53d707=a0_0x1fcf7a,_0x4233a9={'CrRNd':'payload_load_error'},_0x3c87d3='payload:'+_0x2daae6;if(this[_0x53d707(0xa3)]['has'](_0x3c87d3))return this[_0x53d707(0xa3)]['get'](_0x3c87d3);const _0x53c714=path['join'](this['payloadDir'],_0x2daae6+_0x53d707(0xaf));try{const _0x454358=await fs['readFile'](_0x53c714,_0x53d707(0xb3)),_0x1b2469=JSON[_0x53d707(0xb4)](_0x454358);return this['cache']['set'](_0x3c87d3,_0x1b2469),logger['debug']({'event':'payload_loaded','payloadName':_0x2daae6},'Payload\x20loaded\x20successfully\x20by\x20name'),_0x1b2469;}catch(_0x3b0153){logger['error']({'event':_0x4233a9[_0x53d707(0xad)],'payloadName':_0x2daae6,'error':_0x3b0153[_0x53d707(0xaa)]},'Failed\x20to\x20load\x20payload\x20by\x20name');throw new Error(_0x53d707(0xac)+_0x2daae6);}}['isActionEnabled'](_0x47d641,_0x405a2c){return _0x47d641['action']&&_0x47d641['action'][_0x405a2c]===!![];}[a0_0x1fcf7a(0xa7)](_0x5dcbfb){const _0x380faa=a0_0x1fcf7a;return{'columns':_0x5dcbfb[_0x380faa(0x9e)]||[],'filename':_0x5dcbfb['tableName'][_0x380faa(0xb8)]('.','-')+'-export','datatablesQuery':_0x5dcbfb['datatablesQuery']||null,'columnFormats':_0x5dcbfb['columnFormats']||null,'fieldLabels':_0x5dcbfb[_0x380faa(0xa5)]||null};}['clearCache'](){const _0x208f74=a0_0x1fcf7a;this[_0x208f74(0xa3)][_0x208f74(0xa0)](),logger['info']({'event':'payload_cache_cleared'},_0x208f74(0xab));}}module['exports']=new PayloadLoader();
1
+ function a0_0x24e5(){const _0x4d7261=['wg9Zzxm','uMrpsMC','t0nXEuy','ugLfsMu','ugf5Bg9HzcbJywnOzsbJBgvHCMvK','mtbMwK9gBKK','zxHWB3j0CW','y2XLyxjdywnOzq','rMfPBgvKihrVigXVywqGCgf5Bg9HzcbIEsbUyw1L','DgfIBgvoyw1L','s2zIufG','mtCWnty5nMrswxHhqq','nZuZndK2og9Xu0LttW','DxrMoa','nJaZoti2nwrXwKzmBa','AM9PBG','z2v0','zgvIDwC','nePjBNPszW','Cgf5Bg9Hzf9SB2fKx2vYCM9Y','y2fJAgu','DKrKCxu','lI9SB2DNzxi','Bg9HzfbHEwXVywq','Aw5MBW','zgf0yxrHyMXLC1f1zxj5','nJG5mti0Cw9jtfzU','lMPZB24','mtnfq0vRAgC','Cgf5Bg9HzerPCG','nta3mJa5nvzKv0nKDW','ntqYmdrNC3vzzwC','lwv4Cg9YDa','C2v0','mta5odK3mZHOBfDcDgK','Cgf0Aa','zxjYB3i','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5igj5ig5HBwu','ChjVBwLZzxm'];a0_0x24e5=function(){return _0x4d7261;};return a0_0x24e5();}const a0_0x2f2476=a0_0x470d;(function(_0x2bd45a,_0x3ea5ea){const _0x16b788=a0_0x470d,_0x5492bf=_0x2bd45a();while(!![]){try{const _0x1c43be=parseInt(_0x16b788(0x14b))/0x1*(parseInt(_0x16b788(0x14e))/0x2)+parseInt(_0x16b788(0x149))/0x3*(-parseInt(_0x16b788(0x168))/0x4)+parseInt(_0x16b788(0x164))/0x5+-parseInt(_0x16b788(0x162))/0x6+-parseInt(_0x16b788(0x14d))/0x7+parseInt(_0x16b788(0x161))/0x8+-parseInt(_0x16b788(0x151))/0x9*(-parseInt(_0x16b788(0x15b))/0xa);if(_0x1c43be===_0x3ea5ea)break;else _0x5492bf['push'](_0x5492bf['shift']());}catch(_0x1d70b4){_0x5492bf['push'](_0x5492bf['shift']());}}}(a0_0x24e5,0xbf7e0));const fs=require('fs')[a0_0x2f2476(0x155)],path=require(a0_0x2f2476(0x152)),{logger}=require(a0_0x2f2476(0x16c));function a0_0x470d(_0xeeccb4,_0x55cf3d){_0xeeccb4=_0xeeccb4-0x146;const _0x24e53f=a0_0x24e5();let _0x470dba=_0x24e53f[_0xeeccb4];if(a0_0x470d['ZLpZKh']===undefined){var _0xd39595=function(_0x48914a){const _0x5050c5='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xc1a124='',_0x2e8165='';for(let _0x2853e8=0x0,_0x435550,_0x1895dc,_0x2c1916=0x0;_0x1895dc=_0x48914a['charAt'](_0x2c1916++);~_0x1895dc&&(_0x435550=_0x2853e8%0x4?_0x435550*0x40+_0x1895dc:_0x1895dc,_0x2853e8++%0x4)?_0xc1a124+=String['fromCharCode'](0xff&_0x435550>>(-0x2*_0x2853e8&0x6)):0x0){_0x1895dc=_0x5050c5['indexOf'](_0x1895dc);}for(let _0x43d777=0x0,_0x53c732=_0xc1a124['length'];_0x43d777<_0x53c732;_0x43d777++){_0x2e8165+='%'+('00'+_0xc1a124['charCodeAt'](_0x43d777)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2e8165);};a0_0x470d['oUTqIW']=_0xd39595,a0_0x470d['thAvvh']={},a0_0x470d['ZLpZKh']=!![];}const _0x1c6887=_0x24e53f[0x0],_0x83ba05=_0xeeccb4+_0x1c6887,_0x1212b3=a0_0x470d['thAvvh'][_0x83ba05];return!_0x1212b3?(_0x470dba=a0_0x470d['oUTqIW'](_0x470dba),a0_0x470d['thAvvh'][_0x83ba05]=_0x470dba):_0x470dba=_0x1212b3,_0x470dba;}class PayloadLoader{constructor(){const _0x2101de=a0_0x2f2476,_0x36c747={'Xoses':'../../payload'};this[_0x2101de(0x14c)]=path[_0x2101de(0x165)](__dirname,_0x36c747[_0x2101de(0x156)]),this[_0x2101de(0x16a)]=new Map();}async[a0_0x2f2476(0x146)](_0x38949c,_0xa8191f){const _0x1363be=a0_0x2f2476,_0x3ef689={'KfbPX':'Payload\x20loaded\x20successfully'},_0x55f76f=_0x38949c+':'+_0xa8191f;if(this['cache']['has'](_0x55f76f))return this[_0x1363be(0x16a)][_0x1363be(0x166)](_0x55f76f);const _0xd939ee=path['join'](this[_0x1363be(0x14c)],_0x38949c+'_'+_0xa8191f+_0x1363be(0x14a));try{const _0x4a7162=await fs['readFile'](_0xd939ee,_0x1363be(0x163)),_0x41076a=JSON['parse'](_0x4a7162);return this[_0x1363be(0x16a)][_0x1363be(0x150)](_0x55f76f,_0x41076a),logger['debug']({'event':'payload_loaded','project':_0x38949c,'resource':_0xa8191f},_0x3ef689[_0x1363be(0x160)]),_0x41076a;}catch(_0x9ff7b2){logger[_0x1363be(0x153)]({'event':'payload_load_error','project':_0x38949c,'resource':_0xa8191f,'error':_0x9ff7b2['message']},'Failed\x20to\x20load\x20payload');throw new Error('Payload\x20not\x20found:\x20'+_0x38949c+'_'+_0xa8191f);}}async['loadPayloadByName'](_0x290ffc){const _0x18b6d0=a0_0x2f2476,_0x3fc1c3={'vDdqu':'utf8','RdOJg':'payload_loaded','OCqyF':_0x18b6d0(0x154)},_0x335783='payload:'+_0x290ffc;if(this[_0x18b6d0(0x16a)]['has'](_0x335783))return this[_0x18b6d0(0x16a)][_0x18b6d0(0x166)](_0x335783);const _0xc30bc=path['join'](this['payloadDir'],_0x290ffc+_0x18b6d0(0x14a));try{const _0x867fa2=await fs['readFile'](_0xc30bc,_0x3fc1c3[_0x18b6d0(0x16b)]),_0x51ddc6=JSON['parse'](_0x867fa2);return this['cache']['set'](_0x335783,_0x51ddc6),logger[_0x18b6d0(0x167)]({'event':_0x3fc1c3[_0x18b6d0(0x157)],'payloadName':_0x290ffc},_0x3fc1c3[_0x18b6d0(0x158)]),_0x51ddc6;}catch(_0x160816){logger[_0x18b6d0(0x153)]({'event':_0x18b6d0(0x169),'payloadName':_0x290ffc,'error':_0x160816['message']},_0x18b6d0(0x15e));throw new Error('Payload\x20not\x20found:\x20'+_0x290ffc);}}['isActionEnabled'](_0xaab10,_0x2cb02d){return _0xaab10['action']&&_0xaab10['action'][_0x2cb02d]===!![];}['getExportConfig'](_0x302044){const _0x1dd5c8=a0_0x2f2476;return{'columns':_0x302044['fieldName']||[],'filename':_0x302044[_0x1dd5c8(0x15f)]['replace']('.','-')+_0x1dd5c8(0x14f),'datatablesQuery':_0x302044[_0x1dd5c8(0x148)]||null,'columnFormats':_0x302044['columnFormats']||null,'fieldLabels':_0x302044['fieldLabels']||null};}[a0_0x2f2476(0x15d)](){const _0x5d9bd4=a0_0x2f2476,_0x50ef66={'PiEJe':'payload_cache_cleared'};this[_0x5d9bd4(0x16a)]['clear'](),logger[_0x5d9bd4(0x147)]({'event':_0x50ef66[_0x5d9bd4(0x159)]},_0x5d9bd4(0x15a));}}module[a0_0x2f2476(0x15c)]=new PayloadLoader();
@@ -1 +1 @@
1
- 'use strict';(function(_0x1ea17c,_0xd81a62){var _0x66d40c=a0_0x172e,_0x9c09aa=_0x1ea17c();while(!![]){try{var _0x5ef685=-parseInt(_0x66d40c(0x170))/0x1+parseInt(_0x66d40c(0x173))/0x2+parseInt(_0x66d40c(0x174))/0x3+parseInt(_0x66d40c(0x177))/0x4+-parseInt(_0x66d40c(0x179))/0x5*(-parseInt(_0x66d40c(0x176))/0x6)+parseInt(_0x66d40c(0x178))/0x7*(-parseInt(_0x66d40c(0x175))/0x8)+-parseInt(_0x66d40c(0x171))/0x9*(parseInt(_0x66d40c(0x172))/0xa);if(_0x5ef685===_0xd81a62)break;else _0x9c09aa['push'](_0x9c09aa['shift']());}catch(_0x5511cf){_0x9c09aa['push'](_0x9c09aa['shift']());}}}(a0_0x2cf7,0x63a0e));function createResponse(_0x1d7bb8,_0xe8a106,_0x24bcfd=null){return{'success':!![],'statusCode':_0x1d7bb8,'message':_0xe8a106,'data':_0x24bcfd,'timestamp':new Date()['toISOString']()};}function createError(_0x305653,_0x2c453f,_0x3570ad=null){return{'success':![],'statusCode':_0x305653,'message':_0x2c453f,'data':_0x3570ad,'timestamp':new Date()['toISOString']()};}function a0_0x172e(_0x4b564f,_0x20c096){_0x4b564f=_0x4b564f-0x170;var _0x2cf75b=a0_0x2cf7();var _0x172ed8=_0x2cf75b[_0x4b564f];if(a0_0x172e['VypmzA']===undefined){var _0x1e50c3=function(_0x2f1130){var _0x2c2c0c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x910d09='',_0x54d307='';for(var _0x55a5f1=0x0,_0x593788,_0x511d28,_0x52aa59=0x0;_0x511d28=_0x2f1130['charAt'](_0x52aa59++);~_0x511d28&&(_0x593788=_0x55a5f1%0x4?_0x593788*0x40+_0x511d28:_0x511d28,_0x55a5f1++%0x4)?_0x910d09+=String['fromCharCode'](0xff&_0x593788>>(-0x2*_0x55a5f1&0x6)):0x0){_0x511d28=_0x2c2c0c['indexOf'](_0x511d28);}for(var _0x44c88f=0x0,_0x504150=_0x910d09['length'];_0x44c88f<_0x504150;_0x44c88f++){_0x54d307+='%'+('00'+_0x910d09['charCodeAt'](_0x44c88f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x54d307);};a0_0x172e['fdcviv']=_0x1e50c3,a0_0x172e['OkkwMO']={},a0_0x172e['VypmzA']=!![];}var _0x39e5a2=_0x2cf75b[0x0],_0x16e04d=_0x4b564f+_0x39e5a2,_0x474eb0=a0_0x172e['OkkwMO'][_0x16e04d];return!_0x474eb0?(_0x172ed8=a0_0x172e['fdcviv'](_0x172ed8),a0_0x172e['OkkwMO'][_0x16e04d]=_0x172ed8):_0x172ed8=_0x474eb0,_0x172ed8;}function a0_0x2cf7(){var _0x1075ba=['mteYntiZnfjKuxH0uq','mtq5nJbICfL0vw0','mtjVwuTcqMS','mtCXodKYBgrzDgjv','mte5n0ziA05wAG','mteZntGZnur3Dfn2uG','oda2mty0EKfurMPl','mtK4ou9st1Hxsq','ndy5mfDHwg5bsW','mtuZmdu1mNf4wxvKtq'];a0_0x2cf7=function(){return _0x1075ba;};return a0_0x2cf7();}function createValidationError(_0x1ee6f8,_0x522208){return{'success':![],'statusCode':0x190,'message':_0x1ee6f8,'data':{'errors':_0x522208},'timestamp':new Date()['toISOString']()};}module['exports']={'createResponse':createResponse,'createError':createError,'createValidationError':createValidationError};
1
+ 'use strict';function a0_0x1854(_0x2e7e99,_0x29bb1a){_0x2e7e99=_0x2e7e99-0xab;var _0x112066=a0_0x1120();var _0x1854fa=_0x112066[_0x2e7e99];if(a0_0x1854['AvbytO']===undefined){var _0x3ee4e2=function(_0x10c68f){var _0x48496e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x4f1ad6='',_0x5676b5='';for(var _0x3a4610=0x0,_0xf67a22,_0x5b843b,_0x279297=0x0;_0x5b843b=_0x10c68f['charAt'](_0x279297++);~_0x5b843b&&(_0xf67a22=_0x3a4610%0x4?_0xf67a22*0x40+_0x5b843b:_0x5b843b,_0x3a4610++%0x4)?_0x4f1ad6+=String['fromCharCode'](0xff&_0xf67a22>>(-0x2*_0x3a4610&0x6)):0x0){_0x5b843b=_0x48496e['indexOf'](_0x5b843b);}for(var _0x520057=0x0,_0x2cbe0e=_0x4f1ad6['length'];_0x520057<_0x2cbe0e;_0x520057++){_0x5676b5+='%'+('00'+_0x4f1ad6['charCodeAt'](_0x520057)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5676b5);};a0_0x1854['PzHZIw']=_0x3ee4e2,a0_0x1854['WJgmmK']={},a0_0x1854['AvbytO']=!![];}var _0x3bac03=_0x112066[0x0],_0xdc158a=_0x2e7e99+_0x3bac03,_0x480453=a0_0x1854['WJgmmK'][_0xdc158a];return!_0x480453?(_0x1854fa=a0_0x1854['PzHZIw'](_0x1854fa),a0_0x1854['WJgmmK'][_0xdc158a]=_0x1854fa):_0x1854fa=_0x480453,_0x1854fa;}var a0_0x3500e3=a0_0x1854;(function(_0x39360d,_0x5890cc){var _0x391e27=a0_0x1854,_0x301933=_0x39360d();while(!![]){try{var _0x32f822=parseInt(_0x391e27(0xab))/0x1+-parseInt(_0x391e27(0xb2))/0x2+-parseInt(_0x391e27(0xb4))/0x3*(parseInt(_0x391e27(0xac))/0x4)+parseInt(_0x391e27(0xad))/0x5*(parseInt(_0x391e27(0xb3))/0x6)+parseInt(_0x391e27(0xb1))/0x7+-parseInt(_0x391e27(0xb5))/0x8+parseInt(_0x391e27(0xaf))/0x9;if(_0x32f822===_0x5890cc)break;else _0x301933['push'](_0x301933['shift']());}catch(_0x2f9997){_0x301933['push'](_0x301933['shift']());}}}(a0_0x1120,0xcc2c8));function a0_0x1120(){var _0x24d1e6=['mtmZmdGYnKjQzwDKCW','nJG2nty0zKXOAuHz','otGWmZbbshH1vvy','Dg9ju09tDhjPBMC','ntG5mZu2mhfRvhnuCW','zxHWB3j0CW','mta5odm0otD2EuPNBe4','mJKYotaWngnSvfHZza','nZjsBvnivMq','mtHHsMf5wfi','mZy3ndKYmhzqv0rsBa'];a0_0x1120=function(){return _0x24d1e6;};return a0_0x1120();}function createResponse(_0x46719b,_0x4b96fe,_0x153146=null){var _0x46dde1=a0_0x1854;return{'success':!![],'statusCode':_0x46719b,'message':_0x4b96fe,'data':_0x153146,'timestamp':new Date()[_0x46dde1(0xae)]()};}function createError(_0x154cd7,_0xf1086c,_0x918922=null){return{'success':![],'statusCode':_0x154cd7,'message':_0xf1086c,'data':_0x918922,'timestamp':new Date()['toISOString']()};}function createValidationError(_0x14d129,_0x3c7cb3){return{'success':![],'statusCode':0x190,'message':_0x14d129,'data':{'errors':_0x3c7cb3},'timestamp':new Date()['toISOString']()};}module[a0_0x3500e3(0xb0)]={'createResponse':createResponse,'createError':createError,'createValidationError':createValidationError};
@@ -1 +1 @@
1
- const a0_0x48d7eb=a0_0x2d2e;(function(_0x369cb3,_0x131241){const _0x449c80=a0_0x2d2e,_0x49113a=_0x369cb3();while(!![]){try{const _0x5e7c4e=-parseInt(_0x449c80(0xb9))/0x1+-parseInt(_0x449c80(0xc8))/0x2*(parseInt(_0x449c80(0xa4))/0x3)+parseInt(_0x449c80(0xbe))/0x4+parseInt(_0x449c80(0xd1))/0x5+-parseInt(_0x449c80(0xbf))/0x6+-parseInt(_0x449c80(0xc5))/0x7*(parseInt(_0x449c80(0xba))/0x8)+parseInt(_0x449c80(0xd3))/0x9;if(_0x5e7c4e===_0x131241)break;else _0x49113a['push'](_0x49113a['shift']());}catch(_0x14061c){_0x49113a['push'](_0x49113a['shift']());}}}(a0_0x4349,0x5941f),require(a0_0x48d7eb(0xd2))[a0_0x48d7eb(0xa5)]());const amqp=require(a0_0x48d7eb(0xc7)),{formatDate}=require(a0_0x48d7eb(0xce)),RABBITMQ_URL=process['env']['RABBITMQ_URL'],EXCHANGE=process['env'][a0_0x48d7eb(0xb2)],ROUTING_KEY=process['env']['RABBITMQ_ROUTING_KEY'],QUEUE=process[a0_0x48d7eb(0xbd)][a0_0x48d7eb(0xca)];function a0_0x2d2e(_0x3fc6ba,_0x35f2f6){_0x3fc6ba=_0x3fc6ba-0xa1;const _0x43499a=a0_0x4349();let _0x2d2e03=_0x43499a[_0x3fc6ba];if(a0_0x2d2e['TqtjnV']===undefined){var _0x3ff53b=function(_0x4bc026){const _0x171b98='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5b690a='',_0x2c577e='';for(let _0xad34d1=0x0,_0x3c9807,_0x2c80d4,_0x36bb40=0x0;_0x2c80d4=_0x4bc026['charAt'](_0x36bb40++);~_0x2c80d4&&(_0x3c9807=_0xad34d1%0x4?_0x3c9807*0x40+_0x2c80d4:_0x2c80d4,_0xad34d1++%0x4)?_0x5b690a+=String['fromCharCode'](0xff&_0x3c9807>>(-0x2*_0xad34d1&0x6)):0x0){_0x2c80d4=_0x171b98['indexOf'](_0x2c80d4);}for(let _0x2bf3a5=0x0,_0x4bf529=_0x5b690a['length'];_0x2bf3a5<_0x4bf529;_0x2bf3a5++){_0x2c577e+='%'+('00'+_0x5b690a['charCodeAt'](_0x2bf3a5)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2c577e);};a0_0x2d2e['xGZSvD']=_0x3ff53b,a0_0x2d2e['suUBMT']={},a0_0x2d2e['TqtjnV']=!![];}const _0x40dd71=_0x43499a[0x0],_0x4c7093=_0x3fc6ba+_0x40dd71,_0x191bc4=a0_0x2d2e['suUBMT'][_0x4c7093];return!_0x191bc4?(_0x2d2e03=a0_0x2d2e['xGZSvD'](_0x2d2e03),a0_0x2d2e['suUBMT'][_0x4c7093]=_0x2d2e03):_0x2d2e03=_0x191bc4,_0x2d2e03;}async function createConnection(){const _0x5468d3=a0_0x48d7eb;try{const _0x154140=await amqp['connect'](RABBITMQ_URL);return console[_0x5468d3(0xa6)]('['+formatDate(new Date())+']\x20Successfully\x20connected\x20to\x20RabbitMQ'),_0x154140;}catch(_0x2a2979){console['error']('['+formatDate(new Date())+_0x5468d3(0xaa)+_0x2a2979['message']);throw _0x2a2979;}}async function createChannel(_0xce870a){const _0x1a7f2b=a0_0x48d7eb;try{const _0x1c04ec=await _0xce870a['createChannel']();return console['log']('['+formatDate(new Date())+']\x20RabbitMQ\x20channel\x20created\x20successfully'),_0x1c04ec;}catch(_0x27df98){console[_0x1a7f2b(0xcf)]('['+formatDate(new Date())+']\x20Failed\x20to\x20create\x20RabbitMQ\x20channel:\x20'+_0x27df98[_0x1a7f2b(0xa2)]);throw _0x27df98;}}async function setupInfrastructure(_0x468a1f){const _0x28036c=a0_0x48d7eb,_0x2b2625={'IvwTa':function(_0x25b531,_0x3022b5){return _0x25b531(_0x3022b5);},'sqzKc':_0x28036c(0xb3),'tUKsy':function(_0x1acd11,_0x4eba09){return _0x1acd11(_0x4eba09);},'bDRbE':function(_0x13cbba,_0x220dd8){return _0x13cbba(_0x220dd8);},'Iawmg':_0x28036c(0xbc),'YxwIh':function(_0x4f0839,_0x11c612){return _0x4f0839===_0x11c612;},'HJtNN':_0x28036c(0xc4),'jsqLb':_0x28036c(0xcc)};try{await _0x468a1f['assertExchange'](_0x28036c(0xbc),'direct',{'durable':!![],'autoDelete':![]}),console[_0x28036c(0xa6)]('['+formatDate(new Date())+']\x20Retry\x20exchange\x20created/ready');}catch(_0x1c831e){console['error']('['+_0x2b2625[_0x28036c(0xd0)](formatDate,new Date())+']\x20Error\x20creating\x20retry\x20exchange:',_0x1c831e['message']);throw _0x1c831e;}try{await _0x468a1f[_0x28036c(0xb5)](EXCHANGE,_0x2b2625[_0x28036c(0xc0)],{'durable':!![],'autoDelete':![]}),console['log']('['+_0x2b2625['IvwTa'](formatDate,new Date())+_0x28036c(0xa9)+EXCHANGE+_0x28036c(0xa1));}catch(_0x1d5f7e){console['error']('['+_0x2b2625[_0x28036c(0xc9)](formatDate,new Date())+_0x28036c(0xbb)+EXCHANGE+':',_0x1d5f7e[_0x28036c(0xa2)]);throw _0x1d5f7e;}const _0xcaae70=ROUTING_KEY+_0x28036c(0xa8);try{const _0x5bb30d={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':EXCHANGE,'x-dead-letter-routing-key':ROUTING_KEY}};await _0x468a1f['assertQueue'](_0xcaae70,_0x5bb30d),console[_0x28036c(0xa6)]('['+_0x2b2625['bDRbE'](formatDate,new Date())+']\x20Retry\x20queue\x20'+_0xcaae70+'\x20created/ready'),await _0x468a1f['bindQueue'](_0xcaae70,'retry-exchange',ROUTING_KEY),console[_0x28036c(0xa6)]('['+formatDate(new Date())+']\x20Retry\x20binding\x20for\x20'+ROUTING_KEY+_0x28036c(0xc3));}catch(_0x7b756b){console[_0x28036c(0xcf)]('['+_0x2b2625[_0x28036c(0xab)](formatDate,new Date())+']\x20Error\x20creating\x20retry\x20queue:',_0x7b756b[_0x28036c(0xa2)]);throw _0x7b756b;}try{const _0x5eb6bc={'durable':!![],'arguments':{'x-dead-letter-exchange':_0x2b2625['Iawmg'],'x-dead-letter-routing-key':ROUTING_KEY}};try{const _0x5ebda3=await _0x468a1f[_0x28036c(0xaf)](QUEUE,_0x5eb6bc);console[_0x28036c(0xa6)]('['+formatDate(new Date())+_0x28036c(0xb0)+QUEUE+'\x20'+(_0x2b2625[_0x28036c(0xb7)](_0x5ebda3['queue'],QUEUE)?_0x2b2625[_0x28036c(0xcb)]:'found')+'\x20with\x20DLX'),await _0x468a1f[_0x28036c(0xae)](QUEUE,EXCHANGE,ROUTING_KEY),console['log']('['+formatDate(new Date())+_0x28036c(0xb1)+EXCHANGE+_0x28036c(0xac)+QUEUE+'\x20('+ROUTING_KEY+_0x28036c(0xb4));}catch(_0x531d18){if(_0x531d18['message'][_0x28036c(0xcd)]('inequivalent\x20arg')&&_0x531d18[_0x28036c(0xa2)][_0x28036c(0xcd)](_0x2b2625['jsqLb']))console['error']('\x0a['+formatDate(new Date())+_0x28036c(0xb6)+QUEUE+'\x20is\x20already\x20in\x20use\x20with\x20a\x20different\x20routing\x20key.'),console['error'](_0x28036c(0xc1)+QUEUE+_0x28036c(0xb8)),console['error']('Solution:\x20Use\x20a\x20different\x20queue\x20name\x20for\x20different\x20routing\x20keys.'),process[_0x28036c(0xad)](0x1);else{console[_0x28036c(0xcf)]('['+formatDate(new Date())+']\x20Error\x20creating\x20queue\x20'+QUEUE+':',_0x531d18[_0x28036c(0xa2)]);throw _0x531d18;}}}catch(_0x20b666){if(!_0x20b666[_0x28036c(0xa2)]['includes'](_0x28036c(0xc6))){console[_0x28036c(0xcf)]('['+formatDate(new Date())+_0x28036c(0xc2),_0x20b666[_0x28036c(0xa2)]);throw _0x20b666;}process['exit'](0x1);}}function a0_0x4349(){const _0x2986e5=['mZe3nJqWu3bdtgvI','mtq2ndHpA0HPCfy','xsbfCNjVCIbJCMvHDgLUzYbLEgnOyw5Nzsa','CMv0CNKTzxHJAgfUz2u','zw52','mtm3nZCWneDRCfHVCG','mJq4mZa0mhr2uKH0yq','C3f6s2m','uxvLDwuG','xsbfCNjVCIbZzxr0Aw5NihvWig1HAw4GCxvLDwu6','ignYzwf0zwq','y3jLyxrLzc9YzwfKEq','mJqYoujbDwPmDW','Aw5LCxvPDMfSzw50igfYzW','yw1XCgXPyG','mK9puuHAva','DfvlC3K','uKfcqKLutvfFuvvfvuu','seP0tK4','Ec1KzwfKlwXLDhrLCI1YB3v0Aw5NlwTLEq','Aw5JBhvKzxm','lI9KyxrLsgvSCgvY','zxjYB3i','sxz3vge','mtK0otKZnu12tNveuG','zg90zw52','mtaWmtq1nZbXrMTHyMq','ignYzwf0zwqVCMvHzhK','BwvZC2fNzq','y2XVC2u','mZq0mtiXwgfLs1rJ','y29UzMLN','Bg9N','xsbgywLSzwqGDg8Gy2XVC2uGuMfIyML0tveGy29UBMvJDgLVBJOG','x3jLDhj5','xsbfEgnOyw5Nzsa','xsbgywLSzwqGDg8Gy29UBMvJDcb0BYbsywjIAxrnutOG','yKrsyKu','ic0+ia','zxHPDa','yMLUzff1zxvL','yxnZzxj0uxvLDwu','xsbrDwv1zsa','xsbcAw5KAw5Nia','uKfcqKLutvfFrvHdsefor0u','zgLYzwn0','ksbJCMvHDgvK','yxnZzxj0rxHJAgfUz2u','xsbfuLjpuJOGuxvLDwuG','wxH3swG','ihDHCYbJCMvHDgvKihDPDgGGysbKAwzMzxjLBNqGEc1KzwfKlwXLDhrLCI1YB3v0Aw5NlwTLEs4'];a0_0x4349=function(){return _0x2986e5;};return a0_0x4349();}async function closeConnection(_0x1cf370){const _0x59b128=a0_0x48d7eb,_0x1200bc={'txuhM':function(_0x2027ce,_0x4d11a7){return _0x2027ce(_0x4d11a7);},'JVAYd':function(_0x3fc23d,_0x19b278){return _0x3fc23d(_0x19b278);}};if(_0x1cf370)try{await _0x1cf370[_0x59b128(0xa3)](),console[_0x59b128(0xa6)]('['+_0x1200bc['txuhM'](formatDate,new Date())+']\x20RabbitMQ\x20connection\x20closed');}catch(_0x2fe258){console[_0x59b128(0xcf)]('['+_0x1200bc['JVAYd'](formatDate,new Date())+_0x59b128(0xa7)+_0x2fe258['message']);}}module['exports']={'createConnection':createConnection,'createChannel':createChannel,'setupInfrastructure':setupInfrastructure,'closeConnection':closeConnection,'getConfig':()=>({'url':RABBITMQ_URL,'exchange':EXCHANGE,'routingKey':ROUTING_KEY,'queue':QUEUE})};
1
+ const a0_0x2e0341=a0_0x21bf;(function(_0x966396,_0x5497e2){const _0x270532=a0_0x21bf,_0x365260=_0x966396();while(!![]){try{const _0x3174d0=parseInt(_0x270532(0x18e))/0x1+parseInt(_0x270532(0x19e))/0x2*(parseInt(_0x270532(0x1a2))/0x3)+-parseInt(_0x270532(0x19f))/0x4*(-parseInt(_0x270532(0x19d))/0x5)+-parseInt(_0x270532(0x19c))/0x6*(-parseInt(_0x270532(0x184))/0x7)+-parseInt(_0x270532(0x17e))/0x8*(parseInt(_0x270532(0x193))/0x9)+parseInt(_0x270532(0x19b))/0xa*(-parseInt(_0x270532(0x187))/0xb)+parseInt(_0x270532(0x195))/0xc;if(_0x3174d0===_0x5497e2)break;else _0x365260['push'](_0x365260['shift']());}catch(_0x137459){_0x365260['push'](_0x365260['shift']());}}}(a0_0x5852,0x8c05f),require(a0_0x2e0341(0x1a4))[a0_0x2e0341(0x1a8)]());const amqp=require('amqplib'),{formatDate}=require('./dateHelper'),RABBITMQ_URL=process['env'][a0_0x2e0341(0x1a0)],EXCHANGE=process['env']['RABBITMQ_EXCHANGE'],ROUTING_KEY=process[a0_0x2e0341(0x188)][a0_0x2e0341(0x1a7)],QUEUE=process['env'][a0_0x2e0341(0x192)];function a0_0x5852(){const _0x222e4f=['uKfcqKLutvfFuvvfvuu','mtiZmti5s0Tjzw5w','yxnZzxj0uxvLDwu','nJC0nJi4ENPdDxDH','xsbfCNjVCIbJCMvHDgLUzYbXDwv1zsa','CMv0CNKTzxHJAgfUz2u','yMLUzff1zxvL','zxHPDa','uxvLDwuG','mJb0q2vjD0e','mJiYELvNqvDX','otmYnJy1CLj6rfHf','ndG5ntyYu3DfAeLw','ogjcEMnuvW','uKfcqKLutvfFvvjm','y29UBMvJDa','mtjMrKTjzvy','u1npwu0','zg90zw52','Cuf2tMi','xsbrDwv1zsa','uKfcqKLutvfFuK9vveLor19lrvK','y29UzMLN','xsbszxrYEsbIAw5KAw5NigzVCIa','BwvZC2fNzq','xsbsywjIAxrnusbJB25Uzwn0Aw9UignSB3nLza','zxHWB3j0CW','zxjYB3i','nJq4thH4DgvP','ihDPDgGGreXy','xsbfCNjVCIbJCMvHDgLUzYbYzxrYEsbXDwv1ztO','wxDhALO','txfTBvi','yLnHC2q','nZK0nZH4sxjmuw0','zM91BMq','xsbgywLSzwqGDg8Gy2XVC2uGuMfIyML0tveGy29UBMvJDgLVBJOG','mtqXotCZn0rHtxfbuq','zw52','xsbfEgnOyw5Nzsa','xsbfCNjVCIbJCMvHDgLUzYbLEgnOyw5Nzsa','Bg9N','y3jLyxrLq2HHBM5LBa','xsbfCNjVCIbZzxr0Aw5NihvWig1HAw4GCxvLDwu6','mteXmZiZqxHKDLDY','z1btzgq','vwnWCLi','xsbfCNjVCIbJCMvHDgLUzYbYzxrYEsbLEgnOyw5NztO'];a0_0x5852=function(){return _0x222e4f;};return a0_0x5852();}async function createConnection(){const _0x1a1359=a0_0x2e0341,_0x3affea={'gPSdd':function(_0x4bd77b,_0x598d25){return _0x4bd77b(_0x598d25);}};try{const _0x5ef791=await amqp[_0x1a1359(0x1a1)](RABBITMQ_URL);return console['log']('['+formatDate(new Date())+']\x20Successfully\x20connected\x20to\x20RabbitMQ'),_0x5ef791;}catch(_0x480a7b){console['error']('['+_0x3affea[_0x1a1359(0x18f)](formatDate,new Date())+']\x20Failed\x20to\x20connect\x20to\x20RabbitMQ:\x20'+_0x480a7b[_0x1a1359(0x1aa)]);throw _0x480a7b;}}function a0_0x21bf(_0x187e40,_0x4361f4){_0x187e40=_0x187e40-0x17e;const _0x5852f9=a0_0x5852();let _0x21bf74=_0x5852f9[_0x187e40];if(a0_0x21bf['hcNzTa']===undefined){var _0x2e1f52=function(_0x38c945){const _0x2d15ab='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x161859='',_0x5a4655='';for(let _0x109f93=0x0,_0x11dc34,_0x1f772b,_0x1775b1=0x0;_0x1f772b=_0x38c945['charAt'](_0x1775b1++);~_0x1f772b&&(_0x11dc34=_0x109f93%0x4?_0x11dc34*0x40+_0x1f772b:_0x1f772b,_0x109f93++%0x4)?_0x161859+=String['fromCharCode'](0xff&_0x11dc34>>(-0x2*_0x109f93&0x6)):0x0){_0x1f772b=_0x2d15ab['indexOf'](_0x1f772b);}for(let _0x182837=0x0,_0x3bd7de=_0x161859['length'];_0x182837<_0x3bd7de;_0x182837++){_0x5a4655+='%'+('00'+_0x161859['charCodeAt'](_0x182837)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5a4655);};a0_0x21bf['GPcABo']=_0x2e1f52,a0_0x21bf['PfckGV']={},a0_0x21bf['hcNzTa']=!![];}const _0x38ab9d=_0x5852f9[0x0],_0x9d4687=_0x187e40+_0x38ab9d,_0x3c6f5f=a0_0x21bf['PfckGV'][_0x9d4687];return!_0x3c6f5f?(_0x21bf74=a0_0x21bf['GPcABo'](_0x21bf74),a0_0x21bf['PfckGV'][_0x9d4687]=_0x21bf74):_0x21bf74=_0x3c6f5f,_0x21bf74;}async function createChannel(_0x452e84){const _0x1d2d2c=a0_0x2e0341,_0x4fab88={'YwGjZ':function(_0x3aa417,_0x5ac0b5){return _0x3aa417(_0x5ac0b5);}};try{const _0x6eabd=await _0x452e84[_0x1d2d2c(0x18c)]();return console[_0x1d2d2c(0x18b)]('['+formatDate(new Date())+']\x20RabbitMQ\x20channel\x20created\x20successfully'),_0x6eabd;}catch(_0x5e2cb6){console[_0x1d2d2c(0x1ad)]('['+_0x4fab88[_0x1d2d2c(0x181)](formatDate,new Date())+']\x20Failed\x20to\x20create\x20RabbitMQ\x20channel:\x20'+_0x5e2cb6['message']);throw _0x5e2cb6;}}async function setupInfrastructure(_0xf58bfb){const _0xdbf43e=a0_0x2e0341,_0x387705={'SEKIN':'direct','SSOYM':function(_0x18f753,_0x368e0a){return _0x18f753(_0x368e0a);},'UcprR':function(_0x49b590,_0x42a4bb){return _0x49b590(_0x42a4bb);},'bSasd':_0xdbf43e(0x197),'hhXbp':function(_0x4dd40e,_0x5060cd){return _0x4dd40e===_0x5060cd;},'qAvNb':'x-dead-letter-routing-key','jYqSz':'inequivalent\x20arg'};try{await _0xf58bfb['assertExchange']('retry-exchange',_0x387705['SEKIN'],{'durable':!![],'autoDelete':![]}),console['log']('['+_0x387705['SSOYM'](formatDate,new Date())+']\x20Retry\x20exchange\x20created/ready');}catch(_0x53f446){console['error']('['+formatDate(new Date())+_0xdbf43e(0x191),_0x53f446['message']);throw _0x53f446;}try{await _0xf58bfb['assertExchange'](EXCHANGE,'direct',{'durable':!![],'autoDelete':![]}),console[_0xdbf43e(0x18b)]('['+formatDate(new Date())+_0xdbf43e(0x189)+EXCHANGE+'\x20created/ready');}catch(_0x48373b){console[_0xdbf43e(0x1ad)]('['+_0x387705['UcprR'](formatDate,new Date())+_0xdbf43e(0x18a)+EXCHANGE+':',_0x48373b[_0xdbf43e(0x1aa)]);throw _0x48373b;}const _0x1381c5=ROUTING_KEY+'_retry';try{const _0x1d10f5={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':EXCHANGE,'x-dead-letter-routing-key':ROUTING_KEY}};await _0xf58bfb[_0xdbf43e(0x194)](_0x1381c5,_0x1d10f5),console[_0xdbf43e(0x18b)]('['+formatDate(new Date())+']\x20Retry\x20queue\x20'+_0x1381c5+'\x20created/ready'),await _0xf58bfb['bindQueue'](_0x1381c5,'retry-exchange',ROUTING_KEY),console[_0xdbf43e(0x18b)]('['+formatDate(new Date())+_0xdbf43e(0x1a9)+ROUTING_KEY+'\x20created');}catch(_0x3fc983){console['error']('['+formatDate(new Date())+_0xdbf43e(0x180),_0x3fc983['message']);throw _0x3fc983;}try{const _0x45c271={'durable':!![],'arguments':{'x-dead-letter-exchange':_0x387705[_0xdbf43e(0x183)],'x-dead-letter-routing-key':ROUTING_KEY}};try{const _0x5eba56=await _0xf58bfb['assertQueue'](QUEUE,_0x45c271);console[_0xdbf43e(0x18b)]('['+_0x387705['UcprR'](formatDate,new Date())+_0xdbf43e(0x1a6)+QUEUE+'\x20'+(_0x387705['hhXbp'](_0x5eba56['queue'],QUEUE)?'created/ready':_0xdbf43e(0x185))+_0xdbf43e(0x17f)),await _0xf58bfb[_0xdbf43e(0x198)](QUEUE,EXCHANGE,ROUTING_KEY),console[_0xdbf43e(0x18b)]('['+formatDate(new Date())+']\x20Binding\x20'+EXCHANGE+'\x20->\x20'+QUEUE+'\x20('+ROUTING_KEY+')\x20created');}catch(_0xd1321a){if(_0xd1321a[_0xdbf43e(0x1aa)]['includes']('inequivalent\x20arg')&&_0xd1321a['message']['includes'](_0x387705[_0xdbf43e(0x1a5)]))console[_0xdbf43e(0x1ad)]('\x0a['+_0x387705[_0xdbf43e(0x190)](formatDate,new Date())+']\x20ERROR:\x20Queue\x20'+QUEUE+'\x20is\x20already\x20in\x20use\x20with\x20a\x20different\x20routing\x20key.'),console['error'](_0xdbf43e(0x19a)+QUEUE+'\x20was\x20created\x20with\x20a\x20different\x20x-dead-letter-routing-key.'),console[_0xdbf43e(0x1ad)]('Solution:\x20Use\x20a\x20different\x20queue\x20name\x20for\x20different\x20routing\x20keys.'),process[_0xdbf43e(0x199)](0x1);else{console['error']('['+formatDate(new Date())+_0xdbf43e(0x196)+QUEUE+':',_0xd1321a['message']);throw _0xd1321a;}}}catch(_0x59396c){if(!_0x59396c['message']['includes'](_0x387705['jYqSz'])){console['error']('['+_0x387705[_0xdbf43e(0x1a3)](formatDate,new Date())+_0xdbf43e(0x18d),_0x59396c['message']);throw _0x59396c;}process[_0xdbf43e(0x199)](0x1);}}async function closeConnection(_0x3b9622){const _0x3fc320=a0_0x2e0341,_0x35851f={'MqmmR':function(_0x531302,_0x2bd2f1){return _0x531302(_0x2bd2f1);}};if(_0x3b9622)try{await _0x3b9622['close'](),console[_0x3fc320(0x18b)]('['+formatDate(new Date())+_0x3fc320(0x1ab));}catch(_0x101a75){console['error']('['+_0x35851f[_0x3fc320(0x182)](formatDate,new Date())+_0x3fc320(0x186)+_0x101a75['message']);}}module[a0_0x2e0341(0x1ac)]={'createConnection':createConnection,'createChannel':createChannel,'setupInfrastructure':setupInfrastructure,'closeConnection':closeConnection,'getConfig':()=>({'url':RABBITMQ_URL,'exchange':EXCHANGE,'routingKey':ROUTING_KEY,'queue':QUEUE})};
@@ -1 +1 @@
1
- const a0_0x55859a=a0_0x2cd0;(function(_0x3b5eb4,_0x4b1aca){const _0xc6dcd9=a0_0x2cd0,_0x5f4143=_0x3b5eb4();while(!![]){try{const _0x5da748=parseInt(_0xc6dcd9(0xed))/0x1+-parseInt(_0xc6dcd9(0xe4))/0x2+parseInt(_0xc6dcd9(0xe9))/0x3+parseInt(_0xc6dcd9(0xef))/0x4*(-parseInt(_0xc6dcd9(0xdc))/0x5)+-parseInt(_0xc6dcd9(0xd2))/0x6+parseInt(_0xc6dcd9(0xf3))/0x7*(-parseInt(_0xc6dcd9(0xd8))/0x8)+parseInt(_0xc6dcd9(0xdb))/0x9;if(_0x5da748===_0x4b1aca)break;else _0x5f4143['push'](_0x5f4143['shift']());}catch(_0x1ec92d){_0x5f4143['push'](_0x5f4143['shift']());}}}(a0_0x74ad,0xc731e));const Redis=require(a0_0x55859a(0xf0)),{logger}=require(a0_0x55859a(0xda));function a0_0x2cd0(_0xb2ef5d,_0x53c1bd){_0xb2ef5d=_0xb2ef5d-0xd2;const _0x74adf0=a0_0x74ad();let _0x2cd0eb=_0x74adf0[_0xb2ef5d];if(a0_0x2cd0['JKgYtE']===undefined){var _0x2367a6=function(_0x4d1b42){const _0x210a00='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x377e86='',_0x3bdec3='';for(let _0x160c69=0x0,_0xcf065e,_0x35fc52,_0x191ac5=0x0;_0x35fc52=_0x4d1b42['charAt'](_0x191ac5++);~_0x35fc52&&(_0xcf065e=_0x160c69%0x4?_0xcf065e*0x40+_0x35fc52:_0x35fc52,_0x160c69++%0x4)?_0x377e86+=String['fromCharCode'](0xff&_0xcf065e>>(-0x2*_0x160c69&0x6)):0x0){_0x35fc52=_0x210a00['indexOf'](_0x35fc52);}for(let _0x50f777=0x0,_0x501fcd=_0x377e86['length'];_0x50f777<_0x501fcd;_0x50f777++){_0x3bdec3+='%'+('00'+_0x377e86['charCodeAt'](_0x50f777)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3bdec3);};a0_0x2cd0['fhhsUH']=_0x2367a6,a0_0x2cd0['JDYHXF']={},a0_0x2cd0['JKgYtE']=!![];}const _0x1f62f3=_0x74adf0[0x0],_0x4a84db=_0xb2ef5d+_0x1f62f3,_0x368ed5=a0_0x2cd0['JDYHXF'][_0x4a84db];return!_0x368ed5?(_0x2cd0eb=a0_0x2cd0['fhhsUH'](_0x2cd0eb),a0_0x2cd0['JDYHXF'][_0x4a84db]=_0x2cd0eb):_0x2cd0eb=_0x368ed5,_0x2cd0eb;}class RedisClient{constructor(){const _0x2ae26b=a0_0x55859a;this[_0x2ae26b(0xe8)]=null,this[_0x2ae26b(0xe3)]=![];}['connect'](){const _0x140d96=a0_0x55859a,_0x1b28cf={'FoNXJ':function(_0x31012a,_0x50a162){return _0x31012a*_0x50a162;},'BJTwY':'redis_disconnected','EQgXx':'Redis\x20connection\x20closed','gJxLZ':_0x140d96(0xde),'akvEU':function(_0x40cdeb,_0x25f26d,_0x1adbb5){return _0x40cdeb(_0x25f26d,_0x1adbb5);},'UDIFd':_0x140d96(0xdf),'yoskW':'error','DIrJo':_0x140d96(0xdd),'qiJRV':'redis_init_error','TUbli':_0x140d96(0xf1)};if(this['client'])return this['client'];try{return this[_0x140d96(0xe8)]=new Redis({'host':process['env']['REDIS_HOST']||_0x1b28cf['gJxLZ'],'port':parseInt(process['env']['REDIS_PORT'],0xa)||0x18ec,'password':process[_0x140d96(0xf2)]['REDIS_PASSWORD']||undefined,'db':_0x1b28cf['akvEU'](parseInt,process['env'][_0x140d96(0xe0)],0xa)||0x0,'retryStrategy'(_0x3388cc){const _0x586c5d=Math['min'](_0x1b28cf['FoNXJ'](_0x3388cc,0x32),0x7d0);return _0x586c5d;}}),this['client']['on'](_0x1b28cf['UDIFd'],()=>{const _0xb65449=_0x140d96;this[_0xb65449(0xe3)]=!![],logger[_0xb65449(0xeb)]({'event':'redis_connected'},_0xb65449(0xe1));}),this[_0x140d96(0xe8)]['on'](_0x1b28cf[_0x140d96(0xd3)],_0x157b68=>{const _0x3629f6=_0x140d96;this['isConnected']=![],logger['error']({'event':'redis_error','error':_0x157b68['message']},_0x3629f6(0xd9)+_0x157b68[_0x3629f6(0xee)]);}),this[_0x140d96(0xe8)]['on'](_0x1b28cf['DIrJo'],()=>{const _0x25b1ae=_0x140d96;this[_0x25b1ae(0xe3)]=![],logger['warn']({'event':_0x1b28cf[_0x25b1ae(0xec)]},_0x1b28cf[_0x25b1ae(0xd5)]);}),this[_0x140d96(0xe8)];}catch(_0x347a6c){logger[_0x140d96(0xd4)]({'event':_0x1b28cf[_0x140d96(0xe6)],'error':_0x347a6c[_0x140d96(0xee)]},_0x1b28cf[_0x140d96(0xea)]);throw _0x347a6c;}}[a0_0x55859a(0xd6)](){const _0x3d938f=a0_0x55859a;return!this[_0x3d938f(0xe8)]&&this[_0x3d938f(0xdf)](),this['client'];}async[a0_0x55859a(0xe5)](_0x190aeb=0x1388){const _0x11b8ec=a0_0x55859a,_0x3c74d5={'wFCfl':function(_0x23f9d4,_0x59115d){return _0x23f9d4===_0x59115d;},'oiaHA':'PONG'};try{const _0x58c222=this[_0x11b8ec(0xd6)](),_0x810afb=await Promise['race']([_0x58c222['ping'](),new Promise((_0x33a173,_0x120b3e)=>setTimeout(()=>_0x120b3e(new Error('Redis\x20PING\x20timeout')),_0x190aeb))]);return _0x3c74d5['wFCfl'](_0x810afb,_0x3c74d5['oiaHA']);}catch(_0x561cdb){return![];}}async[a0_0x55859a(0xd7)](){const _0x3a9caf=a0_0x55859a;this['client']&&(await this['client'][_0x3a9caf(0xe7)](),this['client']=null,this[_0x3a9caf(0xe3)]=![]);}['forceDisconnect'](){const _0x2f7d82=a0_0x55859a;this['client']&&(this[_0x2f7d82(0xe8)]['disconnect'](),this[_0x2f7d82(0xe8)]=null,this['isConnected']=![]);}}function a0_0x74ad(){const _0x1cd2a0=['ntG1nZGXv1vyrhDq','nJC4odeWmgfJzw1QDG','Ew9ZA1C','zxjYB3i','rvfNwhG','z2v0q2XPzw50','zgLZy29UBMvJDa','ntzkqwzfy1C','uMvKAxmGy29UBMvJDgLVBIbLCNjVCJOG','lI9SB2DNzxi','mZm2mZGYmdj0A1zxu3i','mtvIy3rZzuq','y2XVC2u','Bg9JywXOB3n0','y29UBMvJDa','uKvesvnFrei','uMvKAxmGy29UBMvJDgvKihn1y2nLC3nMDwXSEq','zxHWB3j0CW','AxndB25Uzwn0zwq','mtq3ntaXne94yMf3BG','CgLUzW','CwLkuLy','CxvPDa','y2XPzw50','mJaYnta1n1PAsLPRvG','vfvIBgK','Aw5MBW','qKPuD1K','mtu5nJGYDNnTDe9i','BwvZC2fNzq','mtCZnty1mM9RCK1TwG','Aw9YzwrPCW','rMfPBgvKihrVigLUAxrPywXPEMuGuMvKAxm','zw52'];a0_0x74ad=function(){return _0x1cd2a0;};return a0_0x74ad();}module[a0_0x55859a(0xe2)]=new RedisClient();
1
+ function a0_0x46ef(){const _0x556e19=['oti0n2Xvr0Pdyq','AxndB25Uzwn0zwq','Bg9JywXOB3n0','uKvesvnFse9tva','mtqYotGXodb4AMnHvwS','CMvKAxnFzxjYB3i','z2v0q2XPzw50','otu0sxbOt0z1','zxHWB3j0CW','rvHqzgi','uKvesvnFue9sva','CgLUzW','s2XQzLC','otm4nhH2sfv4ua','mtK3ndG0owjmq25VtW','zw52','CMvKAxnFzgLZy29UBMvJDgvK','uKvesvnFrei','y2XPzw50','mJiXmhHOzxzKwG','ote5nJyYuhzjDvHO','uMvKAxmGy29UBMvJDgvKihn1y2nLC3nMDwXSEq','mZC2ndm5BwjhwePL','uMvKAxmGy29UBMvJDgLVBIbLCNjVCJOG','CMvKAxnFAw5PDf9LCNjVCG','BwvZC2fNzq','uMvKAxmGueLorYb0Aw1LB3v0','zxjYB3i','qMXQBLO','uKvesvnFueftu1DpuKq','ndHQwNzMvei','mJK0nda4A0jjuwTd','rMfPBgvKihrVigLUAxrPywXPEMuGuMvKAxm','zgLZy29UBMvJDa'];a0_0x46ef=function(){return _0x556e19;};return a0_0x46ef();}function a0_0x18a5(_0x4efb2c,_0x4ce97b){_0x4efb2c=_0x4efb2c-0x11c;const _0x46ef9b=a0_0x46ef();let _0x18a568=_0x46ef9b[_0x4efb2c];if(a0_0x18a5['TAoNpW']===undefined){var _0x1964c6=function(_0x147d8d){const _0x519250='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3ba9df='',_0x286f48='';for(let _0x18b091=0x0,_0x4d4ff6,_0x7d64da,_0x3d7a71=0x0;_0x7d64da=_0x147d8d['charAt'](_0x3d7a71++);~_0x7d64da&&(_0x4d4ff6=_0x18b091%0x4?_0x4d4ff6*0x40+_0x7d64da:_0x7d64da,_0x18b091++%0x4)?_0x3ba9df+=String['fromCharCode'](0xff&_0x4d4ff6>>(-0x2*_0x18b091&0x6)):0x0){_0x7d64da=_0x519250['indexOf'](_0x7d64da);}for(let _0x1a9a41=0x0,_0x45176d=_0x3ba9df['length'];_0x1a9a41<_0x45176d;_0x1a9a41++){_0x286f48+='%'+('00'+_0x3ba9df['charCodeAt'](_0x1a9a41)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x286f48);};a0_0x18a5['irOjUo']=_0x1964c6,a0_0x18a5['cEOmXf']={},a0_0x18a5['TAoNpW']=!![];}const _0x99e254=_0x46ef9b[0x0],_0x4d83c2=_0x4efb2c+_0x99e254,_0x3490e9=a0_0x18a5['cEOmXf'][_0x4d83c2];return!_0x3490e9?(_0x18a568=a0_0x18a5['irOjUo'](_0x18a568),a0_0x18a5['cEOmXf'][_0x4d83c2]=_0x18a568):_0x18a568=_0x3490e9,_0x18a568;}const a0_0x5e68ff=a0_0x18a5;(function(_0x525060,_0x1e1027){const _0x156640=a0_0x18a5,_0x5a0c63=_0x525060();while(!![]){try{const _0x3f8a00=-parseInt(_0x156640(0x139))/0x1+-parseInt(_0x156640(0x137))/0x2+-parseInt(_0x156640(0x131))/0x3+parseInt(_0x156640(0x130))/0x4*(parseInt(_0x156640(0x136))/0x5)+parseInt(_0x156640(0x12a))/0x6*(-parseInt(_0x156640(0x123))/0x7)+-parseInt(_0x156640(0x11f))/0x8*(parseInt(_0x156640(0x120))/0x9)+parseInt(_0x156640(0x127))/0xa;if(_0x3f8a00===_0x1e1027)break;else _0x5a0c63['push'](_0x5a0c63['shift']());}catch(_0x1e19d8){_0x5a0c63['push'](_0x5a0c63['shift']());}}}(a0_0x46ef,0x8a27e));const Redis=require('ioredis'),{logger}=require('./logger');class RedisClient{constructor(){const _0x378579=a0_0x18a5;this[_0x378579(0x135)]=null,this[_0x378579(0x124)]=![];}['connect'](){const _0x54e8f2=a0_0x18a5,_0x57210c={'EXPdb':_0x54e8f2(0x133),'effVA':function(_0x27222e,_0xf81867,_0x262cdf){return _0x27222e(_0xf81867,_0x262cdf);},'KljfW':function(_0x33a405,_0x562802,_0x329789){return _0x33a405(_0x562802,_0x329789);}};if(this['client'])return this['client'];try{return this['client']=new Redis({'host':process['env'][_0x54e8f2(0x126)]||_0x54e8f2(0x125),'port':_0x57210c['effVA'](parseInt,process['env'][_0x54e8f2(0x12d)],0xa)||0x18ec,'password':process['env'][_0x54e8f2(0x11e)]||undefined,'db':_0x57210c[_0x54e8f2(0x12f)](parseInt,process[_0x54e8f2(0x132)][_0x54e8f2(0x134)],0xa)||0x0,'retryStrategy'(_0x54fffe){const _0x5b8282=Math['min'](_0x54fffe*0x32,0x7d0);return _0x5b8282;}}),this['client']['on']('connect',()=>{const _0x3dbe40=_0x54e8f2;this['isConnected']=!![],logger['info']({'event':'redis_connected'},_0x3dbe40(0x138));}),this['client']['on'](_0x54e8f2(0x11c),_0x5872ec=>{const _0x478604=_0x54e8f2;this[_0x478604(0x124)]=![],logger[_0x478604(0x11c)]({'event':_0x478604(0x128),'error':_0x5872ec['message']},_0x478604(0x13a)+_0x5872ec[_0x478604(0x13c)]);}),this[_0x54e8f2(0x135)]['on']('close',()=>{const _0x3f9458=_0x54e8f2;this[_0x3f9458(0x124)]=![],logger['warn']({'event':_0x57210c[_0x3f9458(0x12c)]},'Redis\x20connection\x20closed');}),this[_0x54e8f2(0x135)];}catch(_0x3867b5){logger['error']({'event':_0x54e8f2(0x13b),'error':_0x3867b5['message']},_0x54e8f2(0x121));throw _0x3867b5;}}[a0_0x5e68ff(0x129)](){const _0x463a1b=a0_0x5e68ff;return!this[_0x463a1b(0x135)]&&this['connect'](),this['client'];}async[a0_0x5e68ff(0x12e)](_0x14b30d=0x1388){const _0x588faa=a0_0x5e68ff,_0x176d1f={'BljnZ':'PONG'};try{const _0xe7811e=this['getClient'](),_0x49c34c=await Promise['race']([_0xe7811e[_0x588faa(0x12e)](),new Promise((_0x1f86f0,_0x4e19bc)=>setTimeout(()=>_0x4e19bc(new Error(_0x588faa(0x13d))),_0x14b30d))]);return _0x49c34c===_0x176d1f[_0x588faa(0x11d)];}catch(_0xf0162e){return![];}}async['disconnect'](){const _0x1f4d88=a0_0x5e68ff;this[_0x1f4d88(0x135)]&&(await this['client']['quit'](),this[_0x1f4d88(0x135)]=null,this['isConnected']=![]);}['forceDisconnect'](){const _0x110c21=a0_0x5e68ff;this['client']&&(this[_0x110c21(0x135)][_0x110c21(0x122)](),this['client']=null,this['isConnected']=![]);}}module[a0_0x5e68ff(0x12b)]=new RedisClient();
@@ -1 +1 @@
1
- const a0_0x1c99c5=a0_0x3146;(function(_0x1ec117,_0x509dc9){const _0x54f4eb=a0_0x3146,_0x2bfc67=_0x1ec117();while(!![]){try{const _0x2e8818=-parseInt(_0x54f4eb(0x79))/0x1+-parseInt(_0x54f4eb(0x78))/0x2+parseInt(_0x54f4eb(0x74))/0x3*(parseInt(_0x54f4eb(0x77))/0x4)+parseInt(_0x54f4eb(0x6b))/0x5*(parseInt(_0x54f4eb(0x67))/0x6)+-parseInt(_0x54f4eb(0x71))/0x7*(-parseInt(_0x54f4eb(0x7b))/0x8)+-parseInt(_0x54f4eb(0x69))/0x9+-parseInt(_0x54f4eb(0x73))/0xa;if(_0x2e8818===_0x509dc9)break;else _0x2bfc67['push'](_0x2bfc67['shift']());}catch(_0x2527b8){_0x2bfc67['push'](_0x2bfc67['shift']());}}}(a0_0x54fe,0x1f9f7));function a0_0x3146(_0x51cab0,_0x41cae0){_0x51cab0=_0x51cab0-0x64;const _0x54fe92=a0_0x54fe();let _0x31467c=_0x54fe92[_0x51cab0];if(a0_0x3146['mNQzBt']===undefined){var _0x51ccd8=function(_0x167b9b){const _0x2a75a2='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x41d4d7='',_0x4130f8='';for(let _0x27a370=0x0,_0x58fbb8,_0xcf3f1e,_0x469b90=0x0;_0xcf3f1e=_0x167b9b['charAt'](_0x469b90++);~_0xcf3f1e&&(_0x58fbb8=_0x27a370%0x4?_0x58fbb8*0x40+_0xcf3f1e:_0xcf3f1e,_0x27a370++%0x4)?_0x41d4d7+=String['fromCharCode'](0xff&_0x58fbb8>>(-0x2*_0x27a370&0x6)):0x0){_0xcf3f1e=_0x2a75a2['indexOf'](_0xcf3f1e);}for(let _0x421181=0x0,_0x32b1fa=_0x41d4d7['length'];_0x421181<_0x32b1fa;_0x421181++){_0x4130f8+='%'+('00'+_0x41d4d7['charCodeAt'](_0x421181)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4130f8);};a0_0x3146['BAbbsK']=_0x51ccd8,a0_0x3146['lJbVpK']={},a0_0x3146['mNQzBt']=!![];}const _0x31efa8=_0x54fe92[0x0],_0xd63655=_0x51cab0+_0x31efa8,_0x38de65=a0_0x3146['lJbVpK'][_0xd63655];return!_0x38de65?(_0x31467c=a0_0x3146['BAbbsK'](_0x31467c),a0_0x3146['lJbVpK'][_0xd63655]=_0x31467c):_0x31467c=_0x38de65,_0x31467c;}const redisClient=require('./redis-client'),{logger}=require('./logger');class RedisHelper{constructor(){const _0x468b2c=a0_0x3146;this[_0x468b2c(0x7d)]=null,this['ttl']=parseInt(process[_0x468b2c(0x75)]['EXPORT_FILE_EXPIRY'],0xa)||0xe10;}get[a0_0x1c99c5(0x7a)](){const _0x457594=a0_0x1c99c5;if(!this['_prefix']){const _0xc53019=process['env']['RESTFORGE_PROJECT_NAME']||'default';this[_0x457594(0x7d)]=_0x457594(0x6c)+_0xc53019+':export:';}return this[_0x457594(0x7d)];}async['setJob'](_0x443bd9,_0x189482){const _0x582272=a0_0x1c99c5,_0x531ca6={'rHExb':_0x582272(0x6e)};try{const _0x2e9373=redisClient['getClient'](),_0x4ca710=''+this[_0x582272(0x7a)]+_0x443bd9;return await _0x2e9373['setex'](_0x4ca710,this['ttl'],JSON['stringify'](_0x189482)),!![];}catch(_0x82be9){return logger[_0x582272(0x6a)]({'event':_0x531ca6['rHExb'],'jobId':_0x443bd9,'error':_0x82be9['message']},_0x582272(0x6d)),![];}}async[a0_0x1c99c5(0x65)](_0x2e5bb8){const _0xb8bbe6=a0_0x1c99c5,_0x11c6e9={'LVKhM':'redis_get_error','eREyM':'Failed\x20to\x20get\x20job\x20from\x20Redis'};try{const _0x220cee=redisClient['getClient'](),_0x4d726a=''+this['prefix']+_0x2e5bb8,_0x4ea646=await _0x220cee[_0xb8bbe6(0x70)](_0x4d726a);return _0x4ea646?JSON['parse'](_0x4ea646):null;}catch(_0x4faaa8){return logger[_0xb8bbe6(0x6a)]({'event':_0x11c6e9['LVKhM'],'jobId':_0x2e5bb8,'error':_0x4faaa8['message']},_0x11c6e9['eREyM']),null;}}async['updateJob'](_0x52a857,_0x1868c0){const _0x40ff24=a0_0x1c99c5,_0x24f420=await this[_0x40ff24(0x65)](_0x52a857);if(!_0x24f420)return![];const _0x51a92d={..._0x24f420,..._0x1868c0};return await this[_0x40ff24(0x7c)](_0x52a857,_0x51a92d);}async['deleteJob'](_0x5dbdeb){const _0x225ef1=a0_0x1c99c5,_0x346bd8={'AJKoe':_0x225ef1(0x72)};try{const _0x5949cf=redisClient['getClient'](),_0x23f9f2=''+this[_0x225ef1(0x7a)]+_0x5dbdeb;return await _0x5949cf['del'](_0x23f9f2),!![];}catch(_0x2e0307){return logger['error']({'event':'redis_delete_error','jobId':_0x5dbdeb,'error':_0x2e0307['message']},_0x346bd8[_0x225ef1(0x64)]),![];}}async[a0_0x1c99c5(0x6f)](){const _0x1c7354=a0_0x1c99c5,_0x2ec2e5={'UFVJA':_0x1c7354(0x66)};try{const _0x10312e=redisClient['getClient'](),_0x2cad59=await _0x10312e['keys'](this['prefix']+'*'),_0x1bd151=[];for(const _0x32ec45 of _0x2cad59){const _0x58b7eb=await _0x10312e['get'](_0x32ec45);_0x58b7eb&&_0x1bd151['push'](JSON['parse'](_0x58b7eb));}return _0x1bd151;}catch(_0x309b0e){return logger['error']({'event':_0x2ec2e5['UFVJA'],'error':_0x309b0e[_0x1c7354(0x76)]},_0x1c7354(0x68)),[];}}}module['exports']=new RedisHelper();function a0_0x54fe(){const _0x21601b=['mJrfEg9ZsLC','rMfPBgvKihrVigDLDcbHBgWGAM9ICW','odi3otfczMTqzLi','zxjYB3i','odqWmdvhreXmDKm','CMvZDgzVCMDLoG','rMfPBgvKihrVihnLDcbQB2iGAw4GuMvKAxm','CMvKAxnFC2v0x2vYCM9Y','z2v0qwXSsM9ICW','z2v0','otHYyMzqBhe','rMfPBgvKihrVigrLBgv0zsbQB2iGzNjVBsbszwrPCW','mtKXote0mgHhtNnisW','ovPJzffesG','zw52','BwvZC2fNzq','mJqXmZi0Exzmt3vL','mJiXmJe4seXWsvnk','mJyWnJjTANj5sMW','ChjLzML4','mti1mJa4AwzsBNn6','C2v0sM9I','x3bYzwzPEa','quPlB2u','z2v0sM9I','CMvKAxnFz2v0ywXSx2vYCM9Y'];a0_0x54fe=function(){return _0x21601b;};return a0_0x54fe();}
1
+ function a0_0x5011(_0x21d10b,_0x2b49c1){_0x21d10b=_0x21d10b-0x190;const _0x5b953f=a0_0x5b95();let _0x501153=_0x5b953f[_0x21d10b];if(a0_0x5011['qXyEZO']===undefined){var _0x42f1dd=function(_0x1641e7){const _0x14cc4a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xfd609='',_0x3340b5='';for(let _0x4b9588=0x0,_0x2e2a03,_0xbef141,_0x2d3e93=0x0;_0xbef141=_0x1641e7['charAt'](_0x2d3e93++);~_0xbef141&&(_0x2e2a03=_0x4b9588%0x4?_0x2e2a03*0x40+_0xbef141:_0xbef141,_0x4b9588++%0x4)?_0xfd609+=String['fromCharCode'](0xff&_0x2e2a03>>(-0x2*_0x4b9588&0x6)):0x0){_0xbef141=_0x14cc4a['indexOf'](_0xbef141);}for(let _0x1667da=0x0,_0x6ad150=_0xfd609['length'];_0x1667da<_0x6ad150;_0x1667da++){_0x3340b5+='%'+('00'+_0xfd609['charCodeAt'](_0x1667da)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3340b5);};a0_0x5011['QytFUD']=_0x42f1dd,a0_0x5011['GPsZoI']={},a0_0x5011['qXyEZO']=!![];}const _0x246e43=_0x5b953f[0x0],_0x3314fa=_0x21d10b+_0x246e43,_0x1fb8bb=a0_0x5011['GPsZoI'][_0x3314fa];return!_0x1fb8bb?(_0x501153=a0_0x5011['QytFUD'](_0x501153),a0_0x5011['GPsZoI'][_0x3314fa]=_0x501153):_0x501153=_0x1fb8bb,_0x501153;}const a0_0x1a011d=a0_0x5011;(function(_0x1f955d,_0x4a728a){const _0xc98828=a0_0x5011,_0x2f9e23=_0x1f955d();while(!![]){try{const _0x1ece4c=-parseInt(_0xc98828(0x19c))/0x1*(-parseInt(_0xc98828(0x198))/0x2)+parseInt(_0xc98828(0x1a8))/0x3*(-parseInt(_0xc98828(0x19b))/0x4)+parseInt(_0xc98828(0x1ae))/0x5*(parseInt(_0xc98828(0x1a6))/0x6)+-parseInt(_0xc98828(0x19a))/0x7*(-parseInt(_0xc98828(0x193))/0x8)+parseInt(_0xc98828(0x1a1))/0x9*(parseInt(_0xc98828(0x194))/0xa)+-parseInt(_0xc98828(0x195))/0xb+-parseInt(_0xc98828(0x19d))/0xc*(parseInt(_0xc98828(0x192))/0xd);if(_0x1ece4c===_0x4a728a)break;else _0x2f9e23['push'](_0x2f9e23['shift']());}catch(_0xd5f7d9){_0x2f9e23['push'](_0x2f9e23['shift']());}}}(a0_0x5b95,0x3e6d3));const redisClient=require('./redis-client'),{logger}=require('./logger');function a0_0x5b95(){const _0x3256c6=['nta3otHcuxj4Ee8','CMvKAxnFC2v0x2vYCM9Y','x3bYzwzPEa','otmYmde4DMrVBxfm','zgvMyxvSDa','mtrYqNb0zva','mtm5nK5PAefRra','mwvzvezgza','otu1nJa2oejRC3rXwG','z2v0q2XPzw50','BwvZC2fNzq','ChjLzML4','mZzRyKzvBNq','DxbKyxrLsM9I','CMvZDgzVCMDLoG','zw52','zgvS','mte4mta1ogzuwxHQta','EuDYz04','mJq0mKj4CfHgqq','oMv4Cg9YDdO','DfberwC','z2v0qwXSsM9ICW','zxHWB3j0CW','DKnTtNu','nvvtAMPRvG','CgfYC2u','rMfPBgvKihrVigDLDcbQB2iGzNjVBsbszwrPCW','rvHqt1jux0zjtevFrvHqsvjz','A2v5CW','z2v0sM9I','q2fKquO','zxjYB3i','CMvKAxnFz2v0x2vYCM9Y','mtnNAuXptva','mtK2mJyXnMrpsgfiwq','ndy4mdKWr3LVsfHj'];a0_0x5b95=function(){return _0x3256c6;};return a0_0x5b95();}class RedisHelper{constructor(){const _0x3f04c0=a0_0x5011;this['_prefix']=null,this['ttl']=parseInt(process['env'][_0x3f04c0(0x1b1)],0xa)||0xe10;}get[a0_0x1a011d(0x1a0)](){const _0x3944a2=a0_0x1a011d,_0x15f56b={'dOTpi':_0x3944a2(0x199)};if(!this[_0x3944a2(0x197)]){const _0x51f055=process[_0x3944a2(0x1a4)]['RESTFORGE_PROJECT_NAME']||_0x15f56b['dOTpi'];this['_prefix']=_0x3944a2(0x1a3)+_0x51f055+_0x3944a2(0x1a9);}return this[_0x3944a2(0x197)];}async['setJob'](_0x4100a6,_0x11a02a){const _0x500ff1=a0_0x1a011d,_0x3a2d88={'tPDEg':_0x500ff1(0x196)};try{const _0x5d86dd=redisClient['getClient'](),_0x561d81=''+this[_0x500ff1(0x1a0)]+_0x4100a6;return await _0x5d86dd['setex'](_0x561d81,this['ttl'],JSON['stringify'](_0x11a02a)),!![];}catch(_0x359dea){return logger['error']({'event':_0x3a2d88[_0x500ff1(0x1aa)],'jobId':_0x4100a6,'error':_0x359dea[_0x500ff1(0x19f)]},'Failed\x20to\x20set\x20job\x20in\x20Redis'),![];}}async[a0_0x1a011d(0x1b3)](_0x54a62b){const _0x306f66=a0_0x1a011d,_0x246dcc={'yGrgN':_0x306f66(0x1b0)};try{const _0x4befab=redisClient[_0x306f66(0x19e)](),_0x5ea486=''+this['prefix']+_0x54a62b,_0x1383aa=await _0x4befab['get'](_0x5ea486);return _0x1383aa?JSON[_0x306f66(0x1af)](_0x1383aa):null;}catch(_0x4f0e55){return logger[_0x306f66(0x190)]({'event':_0x306f66(0x191),'jobId':_0x54a62b,'error':_0x4f0e55['message']},_0x246dcc[_0x306f66(0x1a7)]),null;}}async[a0_0x1a011d(0x1a2)](_0xe47dbf,_0x3dcecc){const _0x352d5e=a0_0x1a011d,_0x4b77ff=await this[_0x352d5e(0x1b3)](_0xe47dbf);if(!_0x4b77ff)return![];const _0x54e9b5={..._0x4b77ff,..._0x3dcecc};return await this['setJob'](_0xe47dbf,_0x54e9b5);}async['deleteJob'](_0x1ad37a){const _0x2120cf=a0_0x1a011d,_0x2f3962={'CadAJ':'redis_delete_error'};try{const _0x23ed1b=redisClient['getClient'](),_0x14aa00=''+this[_0x2120cf(0x1a0)]+_0x1ad37a;return await _0x23ed1b[_0x2120cf(0x1a5)](_0x14aa00),!![];}catch(_0x13c34c){return logger['error']({'event':_0x2f3962[_0x2120cf(0x1b4)],'jobId':_0x1ad37a,'error':_0x13c34c['message']},'Failed\x20to\x20delete\x20job\x20from\x20Redis'),![];}}async[a0_0x1a011d(0x1ab)](){const _0x5ae089=a0_0x1a011d,_0x33347f={'vCmNu':'redis_getall_error','FBsSL':'Failed\x20to\x20get\x20all\x20jobs'};try{const _0x2858ac=redisClient[_0x5ae089(0x19e)](),_0x42fd0f=await _0x2858ac[_0x5ae089(0x1b2)](this[_0x5ae089(0x1a0)]+'*'),_0x17c537=[];for(const _0x334cc0 of _0x42fd0f){const _0x1ab34b=await _0x2858ac['get'](_0x334cc0);_0x1ab34b&&_0x17c537['push'](JSON['parse'](_0x1ab34b));}return _0x17c537;}catch(_0x39b7b3){return logger['error']({'event':_0x33347f[_0x5ae089(0x1ad)],'error':_0x39b7b3['message']},_0x33347f['FBsSL']),[];}}}module[a0_0x1a011d(0x1ac)]=new RedisHelper();