@restforgejs/platform 5.0.0 → 5.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (174) hide show
  1. package/build-info.json +2 -2
  2. package/cli/consumer-deploy.js +1 -1
  3. package/cli/consumer.js +1 -1
  4. package/generators/cli/init.js +4 -104
  5. package/generators/cli/payload/migrate.js +1 -1
  6. package/generators/cli/schema/list.js +82 -18
  7. package/generators/cli/schema/migrate.js +23 -3
  8. package/generators/lib/dbschema-kit/diff-engine.js +715 -715
  9. package/generators/lib/migrate/field-type-resolver.js +9 -3
  10. package/generators/lib/migrate/migrate-runner.js +393 -187
  11. package/generators/lib/migrate/naming.js +9 -0
  12. package/generators/lib/templates/dashboard-catalog.js +1 -1
  13. package/generators/lib/templates/db-connection-env.js +1 -1
  14. package/generators/lib/templates/dbschema-catalog.js +1 -1
  15. package/generators/lib/templates/field-validation-catalog.js +1 -1
  16. package/generators/lib/templates/mysql-template.js +1 -1
  17. package/generators/lib/templates/oracle-template.js +1 -1
  18. package/generators/lib/templates/postgres-template.js +1 -1
  19. package/generators/lib/templates/query-declarative-catalog.js +1 -1
  20. package/generators/lib/templates/sqlite-template.js +1 -1
  21. package/integrity-manifest.json +18 -18
  22. package/package.json +1 -1
  23. package/scripts/verify-integrity.js +1 -1
  24. package/server.js +1 -1
  25. package/src/components/handlers/adjust_handler.js +1 -1
  26. package/src/components/handlers/audit_handler.js +1 -1
  27. package/src/components/handlers/delete_handler.js +1 -1
  28. package/src/components/handlers/export_handler.js +1 -1
  29. package/src/components/handlers/import_handler.js +1 -1
  30. package/src/components/handlers/insert_handler.js +1 -1
  31. package/src/components/handlers/update_handler.js +1 -1
  32. package/src/components/handlers/upload_handler.js +1 -1
  33. package/src/components/handlers/workflow_handler.js +1 -1
  34. package/src/components/integrations/webhook.js +1 -1
  35. package/src/consumers/baseConsumer.js +1 -1
  36. package/src/consumers/declarativeMapper.js +1 -1
  37. package/src/consumers/handlers/apiHandler.js +1 -1
  38. package/src/consumers/handlers/consoleHandler.js +1 -1
  39. package/src/consumers/handlers/databaseHandler.js +1 -1
  40. package/src/consumers/handlers/index.js +1 -1
  41. package/src/consumers/handlers/kafkaHandler.js +1 -1
  42. package/src/consumers/index.js +1 -1
  43. package/src/consumers/messageTransformer.js +1 -1
  44. package/src/consumers/validator.js +1 -1
  45. package/src/core/db/dialect/base-dialect.js +1 -1
  46. package/src/core/db/dialect/index.js +1 -1
  47. package/src/core/db/dialect/mysql-dialect.js +1 -1
  48. package/src/core/db/dialect/oracle-dialect.js +1 -1
  49. package/src/core/db/dialect/postgres-dialect.js +1 -1
  50. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  51. package/src/core/db/flatten-helper.js +1 -1
  52. package/src/core/db/query-builder-error.js +1 -1
  53. package/src/core/db/query-builder.js +1 -1
  54. package/src/core/db/relation-helper.js +1 -1
  55. package/src/core/handlers/delete_handler.js +1 -1
  56. package/src/core/handlers/insert_handler.js +1 -1
  57. package/src/core/handlers/update_handler.js +1 -1
  58. package/src/core/models/base-model.js +1 -1
  59. package/src/core/utils/cache-manager.js +1 -1
  60. package/src/core/utils/component-engine.js +1 -1
  61. package/src/core/utils/context-builder.js +1 -1
  62. package/src/core/utils/datetime-formatter.js +1 -1
  63. package/src/core/utils/datetime-parser.js +1 -1
  64. package/src/core/utils/db.js +1 -1
  65. package/src/core/utils/logger.js +1 -1
  66. package/src/core/utils/payload-loader.js +1 -1
  67. package/src/core/utils/security-checks.js +1 -1
  68. package/src/middleware/body-options.js +1 -1
  69. package/src/middleware/cors.js +1 -1
  70. package/src/middleware/idempotency.js +1 -1
  71. package/src/middleware/rate-limiter.js +1 -1
  72. package/src/middleware/request-logger.js +1 -1
  73. package/src/middleware/security-headers.js +1 -1
  74. package/src/models/base-model-mysql.js +1 -1
  75. package/src/models/base-model-oracle.js +1 -1
  76. package/src/models/base-model-sqlite.js +1 -1
  77. package/src/models/base-model.js +1 -1
  78. package/src/pro/caching/redis-client.js +1 -1
  79. package/src/pro/caching/redis-helper.js +1 -1
  80. package/src/pro/consumers/baseConsumer.js +1 -1
  81. package/src/pro/consumers/declarativeMapper.js +1 -1
  82. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  83. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  84. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  85. package/src/pro/consumers/handlers/index.js +1 -1
  86. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  87. package/src/pro/consumers/index.js +1 -1
  88. package/src/pro/consumers/messageTransformer.js +1 -1
  89. package/src/pro/consumers/validator.js +1 -1
  90. package/src/pro/database/base-model-mysql.js +1 -1
  91. package/src/pro/database/base-model-oracle.js +1 -1
  92. package/src/pro/database/base-model-sqlite.js +1 -1
  93. package/src/pro/database/db-mysql.js +1 -1
  94. package/src/pro/database/db-oracle.js +1 -1
  95. package/src/pro/database/db-sqlite.js +1 -1
  96. package/src/pro/excel/excel-generator.js +1 -1
  97. package/src/pro/excel/excel-parser.js +1 -1
  98. package/src/pro/excel/export-service.js +1 -1
  99. package/src/pro/excel/export_handler.js +1 -1
  100. package/src/pro/excel/import-service.js +1 -1
  101. package/src/pro/excel/import-validator.js +1 -1
  102. package/src/pro/excel/import_handler.js +1 -1
  103. package/src/pro/excel/upsert-builder.js +1 -1
  104. package/src/pro/idgen/idgen-routes.js +1 -1
  105. package/src/pro/integrations/lookup-resolver.js +1 -1
  106. package/src/pro/integrations/upload-handler-v2.js +1 -1
  107. package/src/pro/integrations/upload-handler.js +1 -1
  108. package/src/pro/integrations/webhook.js +1 -1
  109. package/src/pro/locking/lock-routes.js +1 -1
  110. package/src/pro/locking/resource-lock-manager.js +1 -1
  111. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  112. package/src/pro/messaging/kafkaService.js +1 -1
  113. package/src/pro/messaging/messagehubService.js +1 -1
  114. package/src/pro/messaging/rabbitmqService.js +1 -1
  115. package/src/pro/scheduler/job-manager.js +1 -1
  116. package/src/pro/scheduler/job-routes.js +1 -1
  117. package/src/pro/scheduler/job-validator.js +1 -1
  118. package/src/pro/storage/base-storage-provider.js +1 -1
  119. package/src/pro/storage/file-metadata-helper.js +1 -1
  120. package/src/pro/storage/index.js +1 -1
  121. package/src/pro/storage/local-storage-provider.js +1 -1
  122. package/src/pro/storage/s3-storage-provider.js +1 -1
  123. package/src/pro/storage/upload-cleanup-job.js +1 -1
  124. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  125. package/src/pro/storage/upload-pending-tracker.js +1 -1
  126. package/src/pro/websocket/broadcast-helper.js +1 -1
  127. package/src/pro/websocket/index.js +1 -1
  128. package/src/pro/websocket/livesync-server.js +1 -1
  129. package/src/pro/websocket/ws-broadcaster.js +1 -1
  130. package/src/services/export-service.js +1 -1
  131. package/src/services/import-service.js +1 -1
  132. package/src/services/kafkaConsumerService.js +1 -1
  133. package/src/services/kafkaService.js +1 -1
  134. package/src/services/messagehubService.js +1 -1
  135. package/src/services/rabbitmqService.js +1 -1
  136. package/src/utils/cache-invalidation-registry.js +1 -1
  137. package/src/utils/cache-manager.js +1 -1
  138. package/src/utils/component-engine.js +1 -1
  139. package/src/utils/config-extractor.js +1 -1
  140. package/src/utils/consumerLogger.js +1 -1
  141. package/src/utils/context-builder.js +1 -1
  142. package/src/utils/dashboard-helpers.js +1 -1
  143. package/src/utils/dateHelper.js +1 -1
  144. package/src/utils/datetime-formatter.js +1 -1
  145. package/src/utils/datetime-parser.js +1 -1
  146. package/src/utils/db-bootstrap.js +1 -1
  147. package/src/utils/db-mysql.js +1 -1
  148. package/src/utils/db-oracle.js +1 -1
  149. package/src/utils/db-sqlite.js +1 -1
  150. package/src/utils/db.js +1 -1
  151. package/src/utils/demo-generator.js +1 -1
  152. package/src/utils/excel-generator.js +1 -1
  153. package/src/utils/excel-parser.js +1 -1
  154. package/src/utils/file-watcher.js +1 -1
  155. package/src/utils/id-generator.js +1 -1
  156. package/src/utils/idempotency-manager.js +1 -1
  157. package/src/utils/import-validator.js +1 -1
  158. package/src/utils/license-client.js +1 -1
  159. package/src/utils/lock-manager.js +1 -1
  160. package/src/utils/logger.js +1 -1
  161. package/src/utils/lookup-resolver.js +1 -1
  162. package/src/utils/payload-loader.js +1 -1
  163. package/src/utils/processor-response.js +1 -1
  164. package/src/utils/rabbitmq.js +1 -1
  165. package/src/utils/redis-client.js +1 -1
  166. package/src/utils/redis-helper.js +1 -1
  167. package/src/utils/request-scope.js +1 -1
  168. package/src/utils/security-checks.js +1 -1
  169. package/src/utils/service-resolver.js +1 -1
  170. package/src/utils/shutdown-coordinator.js +1 -1
  171. package/src/utils/trusted-keys.js +1 -1
  172. package/src/utils/upload-handler.js +1 -1
  173. package/src/utils/upsert-builder.js +1 -1
  174. package/src/utils/workflow-hook-executor.js +1 -1
@@ -1 +1 @@
1
- const a0_0x2f8026=a0_0x372e;(function(_0xf62ac4,_0x267dda){const _0x41932d=a0_0x372e,_0x3e19d6=_0xf62ac4();while(!![]){try{const _0x9cd5e6=parseInt(_0x41932d(0x147))/0x1*(parseInt(_0x41932d(0x162))/0x2)+parseInt(_0x41932d(0x16d))/0x3*(parseInt(_0x41932d(0x186))/0x4)+parseInt(_0x41932d(0x14b))/0x5+parseInt(_0x41932d(0x166))/0x6*(parseInt(_0x41932d(0x174))/0x7)+parseInt(_0x41932d(0x17a))/0x8+parseInt(_0x41932d(0x159))/0x9*(parseInt(_0x41932d(0x182))/0xa)+parseInt(_0x41932d(0x155))/0xb*(-parseInt(_0x41932d(0x17b))/0xc);if(_0x9cd5e6===_0x267dda)break;else _0x3e19d6['push'](_0x3e19d6['shift']());}catch(_0x4cec29){_0x3e19d6['push'](_0x3e19d6['shift']());}}}(a0_0x5edd,0x28d93));function a0_0x5edd(){const _0x4e3775=['Cw9Izxe','ywXS','mtbpwwXhteK','D29YA2vYlq','te9ds19esvnuuKLcvvrfrf9tvfjbvevhwq','x3jLDhj5q291BNq','nJG5mM1UtvbpBG','v1fYtgS','q2fUBM90ihjLBgvHC2uGBg9JAYaTig5VDcbVD25LCG','Bg9JA19LEhrLBMrFzxjYB3i','Bg9JA19YzwXLyxnLx25VDf9VD25LCG','C2v0zxG','cIaGicaGicaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicaGicaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzgvSiIWGs0vzu1SXxsKkicaGicaGicbLBhnLcIaGicaGicaGicbYzxr1CM4GmaOGicaGicaGigvUzaOGicaGica','te9ds19esvnuuKLcvvrfrf9srvrswv9eruXbwq','uKvbrcbSB2nRihjLBgvHC2vK','zxjYB3i','CwXetvi','v1jjveuGBg9JAYbYzwXLyxnLza','z2v0q2XPzw50','qvHzB2G','x2LUAxrdB25MAwC','te9ds19esvnuuKLcvvrfrf9srvrswq','CMv0CNK','C2v0','tg9JAYbYzwXLyxnLigvYCM9Y','lI9YzwrPCY1JBgLLBNq','zw5HyMXLza','x2rLzMf1BhruveW','CMvQzwn0','D29YA2vYswq','x3bYzwzPEa','svn1Dhm','nhWZFdv8mxW4Fdj8nNWWFdC','mJy2ofruAg5Kyq','CMv0CNLezwXHEq','C3rYyxrLz3K','z2v0','nJeXmtiWwvbRDKrR','CgLK','z2vUzxjHDgvmB2nRvMfSDwu','CMvHzf9SB2nRx3rPBwvVDxq','x2vUC3vYzuLUAxrPywXPEMvK','CMvHzf9SB2nRx3DHAxrPBMC','C3bSAxq','CMvHzf9SB2nRx2vYCM9Y','vvfvy3q','uuDNrM4','mtfOuNfHr2S','zgvMyxvSDfruta','v2vIC1i','zxHWAxjL','mJe2ndm0n1Dhrw96ra','BgfZDeLUzgv4t2y','v1jjveuGBg9JAYbYzwPLy3rLzcaTihjLy29YzcbIDxn5','ELf5uMm','x3n0CMf0zwD5','Bg9JA19LEhrLBMrLza','yNvPBgrmB2nRs2v5','DKDvALy','zhDfDLi','mtbHCu5kzey','zxH0zw5Ktg9JAW','BvHmBxK','BwvZC2fNzq','mZbWvwjWBfu','te9ds19esvnuuKLcvvrfrf9ftKfcteve','ChjLzML4','D1jUtuC','C3vIC3rYAw5N','uKvbrcbSB2nRigvYCM9Y','uujRvfO','ntaXrMD3tvPn','x2LUAxrPywXPEMvK','zvP0uey','Cg5YCva','D3jPDgvFBg9JA19YzwPLy3rLza','zgvIDwC','CMvHza','mJG0ota3C2jPyw5W','D2fYBG','D3jPDgvFBg9JA19YzwXLyxnLza','D3jPDgu','v1jjveuGBg9JAYbHy3f1AxjLihrPBwvVDxq','zw52','mtqXnZe4nfbpswv3yW','mta1mJu1mtj6BfDNtwC','Cg93','x3jLDhj5rgvSyxK','AxnfBMfIBgvK','C2XLzxa'];a0_0x5edd=function(){return _0x4e3775;};return a0_0x5edd();}const redisClient=require(a0_0x2f8026(0x13f)),{logger}=require('./logger'),{v4:uuidv4}=require('uuid');function a0_0x372e(_0x41ce01,_0x1962dd){_0x41ce01=_0x41ce01-0x132;const _0x5edd07=a0_0x5edd();let _0x372e54=_0x5edd07[_0x41ce01];if(a0_0x372e['jhHcuw']===undefined){var _0x3d4177=function(_0x1a0687){const _0x26909b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2f1e54='',_0x7ebaf6='';for(let _0x3328ab=0x0,_0x15dde2,_0x4df893,_0x7495b5=0x0;_0x4df893=_0x1a0687['charAt'](_0x7495b5++);~_0x4df893&&(_0x15dde2=_0x3328ab%0x4?_0x15dde2*0x40+_0x4df893:_0x4df893,_0x3328ab++%0x4)?_0x2f1e54+=String['fromCharCode'](0xff&_0x15dde2>>(-0x2*_0x3328ab&0x6)):0x0){_0x4df893=_0x26909b['indexOf'](_0x4df893);}for(let _0x10db60=0x0,_0x3ea58c=_0x2f1e54['length'];_0x10db60<_0x3ea58c;_0x10db60++){_0x7ebaf6+='%'+('00'+_0x2f1e54['charCodeAt'](_0x10db60)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x7ebaf6);};a0_0x372e['IQAFAM']=_0x3d4177,a0_0x372e['HmKStd']={},a0_0x372e['jhHcuw']=!![];}const _0x923cea=_0x5edd07[0x0],_0x25f4f1=_0x41ce01+_0x923cea,_0x43f34a=a0_0x372e['HmKStd'][_0x25f4f1];return!_0x43f34a?(_0x372e54=a0_0x372e['IQAFAM'](_0x372e54),a0_0x372e['HmKStd'][_0x25f4f1]=_0x372e54):_0x372e54=_0x43f34a,_0x372e54;}class LockManager{constructor(){const _0x21dd00=a0_0x2f8026,_0x2885c3={'lyFOH':'7|5|1|6|4|0|2|3'},_0x1503d9=_0x2885c3['lyFOH']['split']('|');let _0x231b92=0x0;while(!![]){switch(_0x1503d9[_0x231b92++]){case'0':this['_strategy']=null;continue;case'1':this[_0x21dd00(0x141)]=null;continue;case'2':this['_workerId']=null;continue;case'3':this[_0x21dd00(0x16e)]=![];continue;case'4':this['_retryDelay']=null;continue;case'5':this['_enabled']=null;continue;case'6':this['_retryCount']=null;continue;case'7':this[_0x21dd00(0x144)]=null;continue;}break;}}[a0_0x2f8026(0x13a)](){const _0x5f3c8e=a0_0x2f8026,_0x23d12a={'tHeDI':function(_0x3a8b6e,_0x1b3678,_0x54d4d2){return _0x3a8b6e(_0x1b3678,_0x54d4d2);},'dwEvR':_0x5f3c8e(0x13c),'xPpAJ':function(_0xdfdeba,_0x4d782f){return _0xdfdeba===_0x4d782f;},'pnrqP':'rf:lock:','qobeq':function(_0x33e8a8,_0x27b76a,_0x2db779){return _0x33e8a8(_0x27b76a,_0x2db779);}},_0x193c8c=_0x5f3c8e(0x146)[_0x5f3c8e(0x151)]('|');let _0x51bff9=0x0;while(!![]){switch(_0x193c8c[_0x51bff9++]){case'0':this[_0x5f3c8e(0x16e)]=!![];continue;case'1':this[_0x5f3c8e(0x185)]=_0x23d12a['tHeDI'](parseInt,process['env'][_0x5f3c8e(0x13b)],0xa)||0x3;continue;case'2':this[_0x5f3c8e(0x15d)]=process['env'][_0x5f3c8e(0x184)]||_0x23d12a[_0x5f3c8e(0x161)];continue;case'3':this['_enabled']=_0x23d12a['xPpAJ'](process[_0x5f3c8e(0x179)][_0x5f3c8e(0x167)],'true');continue;case'4':this[_0x5f3c8e(0x144)]=_0x23d12a[_0x5f3c8e(0x170)];continue;case'5':this['_defaultTTL']=_0x23d12a[_0x5f3c8e(0x180)](parseInt,process[_0x5f3c8e(0x179)]['LOCK_DISTRIBUTED_TTL'],0xa)||0xa;continue;case'6':this['_workerId']=_0x5f3c8e(0x183)+process[_0x5f3c8e(0x14c)];continue;case'7':logger['info']({'event':'lock_config_init','enabled':this['_enabled'],'strategy':this['_strategy'],'ttl':this['_defaultTTL'],'retryCount':this['_retryCount'],'retryDelay':this[_0x5f3c8e(0x17d)],'workerId':this['_workerId']},'Lock\x20configuration\x20initialized\x20-\x20enabled:\x20'+this['_enabled']+',\x20strategy:\x20'+this['_strategy']);continue;case'8':this['_retryDelay']=parseInt(process[_0x5f3c8e(0x179)][_0x5f3c8e(0x133)],0xa)||0x64;continue;}break;}}[a0_0x2f8026(0x14f)](){const _0x271c20=a0_0x2f8026;!this[_0x271c20(0x16e)]&&this['_initConfig']();}get[a0_0x2f8026(0x168)](){const _0xbc73ec=a0_0x2f8026;return this[_0xbc73ec(0x14f)](),this[_0xbc73ec(0x144)];}get[a0_0x2f8026(0x140)](){const _0x4a52b2=a0_0x2f8026;return this[_0x4a52b2(0x14f)](),this['_enabled'];}get['defaultTTL'](){return this['_ensureInitialized'](),this['_defaultTTL'];}get['retryCount'](){const _0x439f8f=a0_0x2f8026;return this[_0x439f8f(0x14f)](),this['_retryCount'];}get[a0_0x2f8026(0x148)](){const _0x535f19=a0_0x2f8026;return this[_0x535f19(0x14f)](),this['_retryDelay'];}get[a0_0x2f8026(0x149)](){const _0x378a64=a0_0x2f8026;return this[_0x378a64(0x14f)](),this['_strategy'];}get[a0_0x2f8026(0x143)](){const _0xf54ee1=a0_0x2f8026;return this[_0xf54ee1(0x14f)](),this['_workerId'];}['buildLockKey'](_0x4ca87d){const _0x51c0ed=a0_0x2f8026,{module:_0x37ae01,endpoint:_0x9ededf,lockType:_0x3e9425,recordId:_0x2074c6}=_0x4ca87d;if(_0x2074c6)return''+this[_0x51c0ed(0x168)]+_0x37ae01+':'+_0x9ededf+':'+_0x2074c6+':'+_0x3e9425;return''+this[_0x51c0ed(0x168)]+_0x37ae01+':'+_0x9ededf+':'+_0x3e9425;}['generateLockValue'](){return this['workerId']+':'+uuidv4()+':'+Date['now']();}async['acquireReadLock'](_0x194338){const _0x2e3df0=a0_0x2f8026,_0x172464={'QGgFn':function(_0x88b8c3,_0x344a2c){return _0x88b8c3<_0x344a2c;},'WebsR':'Waiting\x20for\x20WRITE\x20lock\x20to\x20release','AXYoh':function(_0x18aeb2,_0x26ba3c){return _0x18aeb2*_0x26ba3c;},'pHuWa':_0x2e3df0(0x152)};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x3a8d74=this[_0x2e3df0(0x15f)]({..._0x194338,'lockType':_0x2e3df0(0x177)}),_0x528c7d=this['buildLockKey']({..._0x194338,'lockType':'read'}),_0x284b6e=this[_0x2e3df0(0x14d)]();try{const _0x445e03=redisClient['getClient']();for(let _0x5bda73=0x0;_0x172464[_0x2e3df0(0x154)](_0x5bda73,this['retryCount']);_0x5bda73++){const _0x22e300=await _0x445e03['get'](_0x3a8d74);if(!_0x22e300){await _0x445e03['incr'](_0x528c7d),await _0x445e03[_0x2e3df0(0x158)](_0x528c7d,this['defaultTTL']);const _0x1a59a2=_0x528c7d+':'+_0x284b6e;return await _0x445e03[_0x2e3df0(0x18b)](_0x1a59a2,this['defaultTTL'],_0x284b6e),logger['debug']({'event':'read_lock_acquired','key':_0x528c7d,'value':_0x284b6e},'READ\x20lock\x20acquired'),{'success':!![],'lockValue':_0x284b6e,'lockKey':_0x1a59a2};}logger[_0x2e3df0(0x172)]({'event':_0x2e3df0(0x150),'writeKey':_0x3a8d74,'attempt':_0x5bda73},_0x172464[_0x2e3df0(0x157)]),await this['sleep'](_0x172464[_0x2e3df0(0x139)](this['retryDelay'],Math[_0x2e3df0(0x17c)](0x2,_0x5bda73)));}return logger[_0x2e3df0(0x175)]({'event':_0x2e3df0(0x14e),'key':_0x528c7d},'READ\x20lock\x20acquire\x20timeout'),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x3751fd){return logger[_0x2e3df0(0x135)]({'event':_0x172464['pHuWa'],'error':_0x3751fd[_0x2e3df0(0x165)]},_0x2e3df0(0x16b)),{'success':![],'lockValue':null,'lockKey':null};}}async['acquireWriteLock'](_0x15403a){const _0x370a81=a0_0x2f8026,_0x19373c={'YJMTl':_0x370a81(0x177),'PcFXO':'read','pXbtR':_0x370a81(0x142),'UQUct':'WRITE\x20lock\x20acquired\x20(reject\x20mode)','QjAXa':_0x370a81(0x171),'yjDjG':_0x370a81(0x15b),'qlDMR':function(_0x208d98,_0x19215f){return _0x208d98<_0x19215f;},'ISuts':'write_lock_acquired','YeZLJ':'retry','zQyRc':'Waiting\x20for\x20locks\x20to\x20release','twuKG':function(_0xaf88a5,_0x17a80e){return _0xaf88a5*_0x17a80e;},'eZtPF':'WRITE\x20lock\x20error'};if(!this[_0x370a81(0x140)])return{'success':!![],'lockValue':null,'lockKey':null};const _0x2bd19d=this['buildLockKey']({..._0x15403a,'lockType':_0x19373c['YJMTl']}),_0x24068d=this['buildLockKey']({..._0x15403a,'lockType':_0x19373c['PcFXO']}),_0xf5d739=this[_0x370a81(0x14d)]();try{const _0x2ad5ae=redisClient['getClient']();if(this['strategy']===_0x19373c['pXbtR']){const _0x55b7cf=await _0x2ad5ae['set'](_0x2bd19d,_0xf5d739,'EX',this[_0x370a81(0x156)],'NX');if(_0x55b7cf==='OK')return logger['debug']({'event':'write_lock_acquired','key':_0x2bd19d,'value':_0xf5d739,'strategy':_0x19373c['pXbtR']},_0x19373c[_0x370a81(0x153)]),{'success':!![],'lockValue':_0xf5d739,'lockKey':_0x2bd19d};return logger['debug']({'event':_0x19373c['QjAXa'],'key':_0x2bd19d},_0x19373c['yjDjG']),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x2b09ca=0x0;_0x19373c[_0x370a81(0x136)](_0x2b09ca,this['retryCount']);_0x2b09ca++){const [_0x483289,_0x1c4f40]=await Promise['all']([_0x2ad5ae[_0x370a81(0x14a)](_0x24068d),_0x2ad5ae[_0x370a81(0x14a)](_0x2bd19d)]);if(!_0x1c4f40&&(!_0x483289||parseInt(_0x483289)===0x0)){const _0x12b19b=await _0x2ad5ae[_0x370a81(0x13d)](_0x2bd19d,_0xf5d739,'EX',this[_0x370a81(0x156)],'NX');if(_0x12b19b==='OK')return logger['debug']({'event':_0x19373c[_0x370a81(0x145)],'key':_0x2bd19d,'value':_0xf5d739,'strategy':_0x19373c['YeZLJ']},'WRITE\x20lock\x20acquired\x20(retry\x20mode)'),{'success':!![],'lockValue':_0xf5d739,'lockKey':_0x2bd19d};}logger['debug']({'event':'write_lock_waiting','writeKey':_0x2bd19d,'readCount':_0x483289,'attempt':_0x2b09ca},_0x19373c[_0x370a81(0x15c)]),await this['sleep'](_0x19373c['twuKG'](this[_0x370a81(0x148)],Math[_0x370a81(0x17c)](0x2,_0x2b09ca)));}return logger['warn']({'event':'write_lock_timeout','key':_0x2bd19d},_0x370a81(0x178)),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x39f805){return logger['error']({'event':'write_lock_error','error':_0x39f805['message']},_0x19373c[_0x370a81(0x16f)]),{'success':![],'lockValue':null,'lockKey':null};}}async['releaseLock'](_0x2da8fe,_0xf61137){const _0x2110c1=a0_0x2f8026,_0xb79418={'sVAjq':function(_0x2ed628,_0x5981f0){return _0x2ed628===_0x5981f0;},'wRnMG':_0x2110c1(0x137),'vGUjV':_0x2110c1(0x188),'cjGDi':_0x2110c1(0x13e)};if(!this['enabled']||!_0x2da8fe)return!![];try{const _0xcae195=redisClient[_0x2110c1(0x138)]();if(_0x2da8fe['includes'](':read:')){await _0xcae195['del'](_0x2da8fe);const _0xda41a2=_0x2da8fe[_0x2110c1(0x16a)](0x0,_0x2da8fe[_0x2110c1(0x15a)](':')),_0x1347ce=await _0xcae195['get'](_0xda41a2);return _0x1347ce&&parseInt(_0x1347ce)>0x0&&await _0xcae195['decr'](_0xda41a2),logger['debug']({'event':'read_lock_released','key':_0x2da8fe},_0x2110c1(0x134)),!![];}const _0x3b497c=_0x2110c1(0x132),_0x35c620=await _0xcae195['eval'](_0x3b497c,0x1,_0x2da8fe,_0xf61137);if(_0xb79418['sVAjq'](_0x35c620,0x1))return logger['debug']({'event':_0x2110c1(0x176),'key':_0x2da8fe},_0xb79418[_0x2110c1(0x169)]),!![];return logger[_0x2110c1(0x175)]({'event':_0x2110c1(0x18a),'key':_0x2da8fe},_0xb79418[_0x2110c1(0x160)]),![];}catch(_0x2eebbd){return logger[_0x2110c1(0x135)]({'event':'lock_release_error','key':_0x2da8fe,'error':_0x2eebbd['message']},_0xb79418['cjGDi']),![];}}async[a0_0x2f8026(0x163)](_0x2d3ffb,_0x1f2b2e,_0x37312a=null){const _0x1f7ce4=a0_0x2f8026,_0x1e7001={'mXLmy':function(_0x4900d2,_0x3ed7d2){return _0x4900d2===_0x3ed7d2;},'QBkTZ':_0x1f7ce4(0x189)};if(!this['enabled']||!_0x2d3ffb)return!![];try{const _0x48e983=redisClient[_0x1f7ce4(0x138)](),_0x56ff3f='\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',_0x219d77=await _0x48e983['eval'](_0x56ff3f,0x1,_0x2d3ffb,_0x1f2b2e,_0x37312a||this[_0x1f7ce4(0x156)]);if(_0x1e7001[_0x1f7ce4(0x164)](_0x219d77,0x1))return logger[_0x1f7ce4(0x172)]({'event':_0x1f7ce4(0x15e),'key':_0x2d3ffb,'ttl':_0x37312a||this['defaultTTL']},'Lock\x20TTL\x20extended'),!![];return![];}catch(_0xb09dd3){return logger[_0x1f7ce4(0x135)]({'event':_0x1e7001[_0x1f7ce4(0x16c)],'key':_0x2d3ffb,'error':_0xb09dd3['message']},'Lock\x20extend\x20error'),![];}}[a0_0x2f8026(0x17e)](){const _0x14ba2d=a0_0x2f8026;return this[_0x14ba2d(0x140)];}[a0_0x2f8026(0x17f)](_0x213f65){return new Promise(_0x4340e7=>setTimeout(_0x4340e7,_0x213f65));}async['getLockInfo'](_0x251815){const _0x186955=a0_0x2f8026,_0x5b34e9={'WQrLk':function(_0x3c67fd,_0x20205f){return _0x3c67fd(_0x20205f);}};if(!this[_0x186955(0x140)])return{'enabled':![]};try{const _0x3e0e50=redisClient['getClient'](),_0x13b529=this['buildLockKey']({..._0x251815,'lockType':_0x186955(0x177)}),_0x2a6a14=this[_0x186955(0x15f)]({..._0x251815,'lockType':_0x186955(0x173)}),[_0x1ce6de,_0x4c892f]=await Promise[_0x186955(0x181)]([_0x3e0e50[_0x186955(0x14a)](_0x13b529),_0x3e0e50['get'](_0x2a6a14)]);return{'enabled':!![],'writeLock':_0x1ce6de||null,'readCount':_0x5b34e9[_0x186955(0x187)](parseInt,_0x4c892f)||0x0,'writeKey':_0x13b529,'readKey':_0x2a6a14};}catch(_0x287706){return{'enabled':!![],'error':_0x287706['message']};}}}module['exports']=new LockManager();
1
+ const a0_0x2e97b9=a0_0x2d6f;(function(_0x5590c2,_0x42393e){const _0x345e47=a0_0x2d6f,_0x4f7421=_0x5590c2();while(!![]){try{const _0x578f0f=-parseInt(_0x345e47(0x112))/0x1*(-parseInt(_0x345e47(0xf0))/0x2)+-parseInt(_0x345e47(0x108))/0x3*(parseInt(_0x345e47(0x10d))/0x4)+parseInt(_0x345e47(0x10a))/0x5+-parseInt(_0x345e47(0x120))/0x6+-parseInt(_0x345e47(0xd2))/0x7*(parseInt(_0x345e47(0x10f))/0x8)+-parseInt(_0x345e47(0xf4))/0x9+-parseInt(_0x345e47(0xd3))/0xa*(-parseInt(_0x345e47(0xcc))/0xb);if(_0x578f0f===_0x42393e)break;else _0x4f7421['push'](_0x4f7421['shift']());}catch(_0x355e02){_0x4f7421['push'](_0x4f7421['shift']());}}}(a0_0x1a3e,0xe720e));const redisClient=require(a0_0x2e97b9(0xe4)),{logger}=require('./logger'),{v4:uuidv4}=require(a0_0x2e97b9(0xd6));function a0_0x2d6f(_0x2a2b81,_0x4f45a7){_0x2a2b81=_0x2a2b81-0xc6;const _0x1a3e7e=a0_0x1a3e();let _0x2d6f41=_0x1a3e7e[_0x2a2b81];if(a0_0x2d6f['AnMLko']===undefined){var _0x5cbe95=function(_0x21de66){const _0x4d7c46='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x35bf88='',_0x259338='';for(let _0x5d7480=0x0,_0x4b065f,_0x1a7256,_0x9a3db9=0x0;_0x1a7256=_0x21de66['charAt'](_0x9a3db9++);~_0x1a7256&&(_0x4b065f=_0x5d7480%0x4?_0x4b065f*0x40+_0x1a7256:_0x1a7256,_0x5d7480++%0x4)?_0x35bf88+=String['fromCharCode'](0xff&_0x4b065f>>(-0x2*_0x5d7480&0x6)):0x0){_0x1a7256=_0x4d7c46['indexOf'](_0x1a7256);}for(let _0x2023bb=0x0,_0x7dbc5e=_0x35bf88['length'];_0x2023bb<_0x7dbc5e;_0x2023bb++){_0x259338+='%'+('00'+_0x35bf88['charCodeAt'](_0x2023bb)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x259338);};a0_0x2d6f['CAjPsK']=_0x5cbe95,a0_0x2d6f['mbzAHX']={},a0_0x2d6f['AnMLko']=!![];}const _0x3a9876=_0x1a3e7e[0x0],_0x24b97e=_0x2a2b81+_0x3a9876,_0xa19ad9=a0_0x2d6f['mbzAHX'][_0x24b97e];return!_0xa19ad9?(_0x2d6f41=a0_0x2d6f['CAjPsK'](_0x2d6f41),a0_0x2d6f['mbzAHX'][_0x24b97e]=_0x2d6f41):_0x2d6f41=_0xa19ad9,_0x2d6f41;}class LockManager{constructor(){const _0x512c70=a0_0x2e97b9;this['_prefix']=null,this[_0x512c70(0x113)]=null,this['_defaultTTL']=null,this[_0x512c70(0xeb)]=null,this['_retryDelay']=null,this[_0x512c70(0xcf)]=null,this['_workerId']=null,this['_initialized']=![];}['_initConfig'](){const _0x1f8c87=a0_0x2e97b9,_0x4df070={'MVQCD':function(_0x784dfa,_0x155df1){return _0x784dfa===_0x155df1;},'AZQBl':_0x1f8c87(0xe7),'rFQvZ':_0x1f8c87(0xed)};this[_0x1f8c87(0x117)]='rf:lock:',this[_0x1f8c87(0x113)]=_0x4df070['MVQCD'](process[_0x1f8c87(0x111)]['LOCK_DISTRIBUTED_ENABLED'],_0x4df070[_0x1f8c87(0xde)]),this[_0x1f8c87(0xe1)]=parseInt(process[_0x1f8c87(0x111)][_0x1f8c87(0xc6)],0xa)||0xa,this[_0x1f8c87(0xeb)]=parseInt(process['env']['LOCK_DISTRIBUTED_RETRY'],0xa)||0x3,this['_retryDelay']=parseInt(process[_0x1f8c87(0x111)]['LOCK_DISTRIBUTED_RETRY_DELAY'],0xa)||0x64,this[_0x1f8c87(0xcf)]=process['env']['LOCK_DISTRIBUTED_STRATEGY']||_0x1f8c87(0xcd),this[_0x1f8c87(0x114)]='worker-'+process['pid'],this['_initialized']=!![],logger['info']({'event':_0x4df070['rFQvZ'],'enabled':this['_enabled'],'strategy':this[_0x1f8c87(0xcf)],'ttl':this['_defaultTTL'],'retryCount':this[_0x1f8c87(0xeb)],'retryDelay':this[_0x1f8c87(0xf3)],'workerId':this[_0x1f8c87(0x114)]},'Lock\x20configuration\x20initialized\x20-\x20enabled:\x20'+this['_enabled']+',\x20strategy:\x20'+this[_0x1f8c87(0xcf)]);}['_ensureInitialized'](){const _0xe28e89=a0_0x2e97b9;!this[_0xe28e89(0x100)]&&this[_0xe28e89(0xfc)]();}get[a0_0x2e97b9(0xef)](){const _0x41ec8d=a0_0x2e97b9;return this[_0x41ec8d(0xce)](),this['_prefix'];}get['enabled'](){return this['_ensureInitialized'](),this['_enabled'];}get[a0_0x2e97b9(0x11d)](){const _0x14064e=a0_0x2e97b9;return this['_ensureInitialized'](),this[_0x14064e(0xe1)];}get[a0_0x2e97b9(0xc9)](){return this['_ensureInitialized'](),this['_retryCount'];}get['retryDelay'](){const _0xa422d9=a0_0x2e97b9;return this[_0xa422d9(0xce)](),this[_0xa422d9(0xf3)];}get['strategy'](){const _0x4f16e5=a0_0x2e97b9;return this[_0x4f16e5(0xce)](),this[_0x4f16e5(0xcf)];}get[a0_0x2e97b9(0xd9)](){return this['_ensureInitialized'](),this['_workerId'];}['buildLockKey'](_0x140a4d){const {module:_0x85f02a,endpoint:_0x392514,lockType:_0x5262b8,recordId:_0x460922}=_0x140a4d;if(_0x460922)return''+this['prefix']+_0x85f02a+':'+_0x392514+':'+_0x460922+':'+_0x5262b8;return''+this['prefix']+_0x85f02a+':'+_0x392514+':'+_0x5262b8;}[a0_0x2e97b9(0xd0)](){const _0x2804ce=a0_0x2e97b9,_0x2877f1={'pjsdS':function(_0x419111){return _0x419111();}};return this['workerId']+':'+_0x2877f1[_0x2804ce(0xdd)](uuidv4)+':'+Date[_0x2804ce(0xc8)]();}async[a0_0x2e97b9(0xfb)](_0x31f90a){const _0x42f097=a0_0x2e97b9,_0x4133f4={'jNCjO':'write','vKtFX':function(_0x144c0f,_0x589d8e){return _0x144c0f<_0x589d8e;},'bcKlj':'read_lock_acquired','tBOba':_0x42f097(0x104),'UZyhG':function(_0x19c16f,_0x12b964){return _0x19c16f*_0x12b964;},'hZRWV':'READ\x20lock\x20acquire\x20timeout','DqKgL':'READ\x20lock\x20error'};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x2d9371=this['buildLockKey']({..._0x31f90a,'lockType':_0x4133f4[_0x42f097(0xf9)]}),_0x411404=this['buildLockKey']({..._0x31f90a,'lockType':_0x42f097(0x101)}),_0x5ed73f=this['generateLockValue']();try{const _0x35db32=redisClient[_0x42f097(0xe5)]();for(let _0x4d4e03=0x0;_0x4133f4[_0x42f097(0xd5)](_0x4d4e03,this[_0x42f097(0xc9)]);_0x4d4e03++){const _0xac27b2=await _0x35db32[_0x42f097(0x115)](_0x2d9371);if(!_0xac27b2){await _0x35db32['incr'](_0x411404),await _0x35db32[_0x42f097(0xfe)](_0x411404,this['defaultTTL']);const _0x18f579=_0x411404+':'+_0x5ed73f;return await _0x35db32['setex'](_0x18f579,this['defaultTTL'],_0x5ed73f),logger['debug']({'event':_0x4133f4[_0x42f097(0x116)],'key':_0x411404,'value':_0x5ed73f},_0x4133f4['tBOba']),{'success':!![],'lockValue':_0x5ed73f,'lockKey':_0x18f579};}logger['debug']({'event':_0x42f097(0x121),'writeKey':_0x2d9371,'attempt':_0x4d4e03},'Waiting\x20for\x20WRITE\x20lock\x20to\x20release'),await this['sleep'](_0x4133f4[_0x42f097(0xf6)](this[_0x42f097(0x11f)],Math['pow'](0x2,_0x4d4e03)));}return logger[_0x42f097(0xf2)]({'event':_0x42f097(0xca),'key':_0x411404},_0x4133f4[_0x42f097(0x105)]),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x46e5ef){return logger[_0x42f097(0xf5)]({'event':_0x42f097(0x11c),'error':_0x46e5ef[_0x42f097(0xf8)]},_0x4133f4['DqKgL']),{'success':![],'lockValue':null,'lockKey':null};}}async['acquireWriteLock'](_0x538bbd){const _0x146b00=a0_0x2e97b9,_0x218a18={'RyvSO':'write','LSpci':'write_lock_acquired','tlOHm':_0x146b00(0xd1),'yBuXI':function(_0x57c3b9,_0x5e03b5){return _0x57c3b9===_0x5e03b5;},'ywdmc':function(_0x37f458,_0x29f8d5){return _0x37f458(_0x29f8d5);},'elSZz':'WRITE\x20lock\x20acquired\x20(retry\x20mode)','fGIpO':'write_lock_waiting','meXwd':'Waiting\x20for\x20locks\x20to\x20release','XgJfC':function(_0x2094b7,_0x3af4cc){return _0x2094b7*_0x3af4cc;},'NwtVc':'WRITE\x20lock\x20acquire\x20timeout','ekgrv':_0x146b00(0x119)};if(!this[_0x146b00(0xd4)])return{'success':!![],'lockValue':null,'lockKey':null};const _0x565653=this['buildLockKey']({..._0x538bbd,'lockType':_0x218a18['RyvSO']}),_0x403287=this[_0x146b00(0xf7)]({..._0x538bbd,'lockType':'read'}),_0x1d0c0b=this['generateLockValue']();try{const _0x48392e=redisClient['getClient']();if(this[_0x146b00(0xee)]==='reject'){const _0x4f61cd=await _0x48392e['set'](_0x565653,_0x1d0c0b,'EX',this['defaultTTL'],'NX');if(_0x4f61cd==='OK')return logger['debug']({'event':_0x218a18[_0x146b00(0xe6)],'key':_0x565653,'value':_0x1d0c0b,'strategy':'reject'},_0x146b00(0xe8)),{'success':!![],'lockValue':_0x1d0c0b,'lockKey':_0x565653};return logger['debug']({'event':_0x218a18['tlOHm'],'key':_0x565653},'WRITE\x20lock\x20rejected\x20-\x20record\x20busy'),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x553324=0x0;_0x553324<this['retryCount'];_0x553324++){const [_0x8273ca,_0xce2edd]=await Promise['all']([_0x48392e['get'](_0x403287),_0x48392e[_0x146b00(0x115)](_0x565653)]);if(!_0xce2edd&&(!_0x8273ca||_0x218a18['yBuXI'](_0x218a18[_0x146b00(0x110)](parseInt,_0x8273ca),0x0))){const _0x4f84f9=await _0x48392e['set'](_0x565653,_0x1d0c0b,'EX',this[_0x146b00(0x11d)],'NX');if(_0x4f84f9==='OK')return logger['debug']({'event':_0x146b00(0xe2),'key':_0x565653,'value':_0x1d0c0b,'strategy':'retry'},_0x218a18['elSZz']),{'success':!![],'lockValue':_0x1d0c0b,'lockKey':_0x565653};}logger[_0x146b00(0x102)]({'event':_0x218a18['fGIpO'],'writeKey':_0x565653,'readCount':_0x8273ca,'attempt':_0x553324},_0x218a18['meXwd']),await this[_0x146b00(0xe0)](_0x218a18[_0x146b00(0xf1)](this[_0x146b00(0x11f)],Math['pow'](0x2,_0x553324)));}return logger['warn']({'event':_0x146b00(0xd8),'key':_0x565653},_0x218a18[_0x146b00(0xcb)]),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x7ce516){return logger[_0x146b00(0xf5)]({'event':_0x218a18['ekgrv'],'error':_0x7ce516['message']},_0x146b00(0x10b)),{'success':![],'lockValue':null,'lockKey':null};}}async['releaseLock'](_0x15c7f3,_0x524424){const _0x290458=a0_0x2e97b9,_0x41f945={'WfPno':_0x290458(0xda),'kwkai':function(_0x45c4dc,_0x4d3899){return _0x45c4dc>_0x4d3899;},'DOCvk':_0x290458(0xd7),'GBmHt':_0x290458(0xec),'SCOpz':function(_0x2cdb9c,_0x2e09c8){return _0x2cdb9c===_0x2e09c8;},'dPBLs':_0x290458(0x10e),'Jwbne':'lock_release_not_owner','HmcMG':'Cannot\x20release\x20lock\x20-\x20not\x20owner','yNWbx':'lock_release_error','gNqEZ':'Lock\x20release\x20error'};if(!this['enabled']||!_0x15c7f3)return!![];try{const _0xcfce98=redisClient['getClient']();if(_0x15c7f3[_0x290458(0xdf)](_0x41f945[_0x290458(0x107)])){await _0xcfce98['del'](_0x15c7f3);const _0x4822f0=_0x15c7f3['substring'](0x0,_0x15c7f3['lastIndexOf'](':')),_0x2fac10=await _0xcfce98[_0x290458(0x115)](_0x4822f0);return _0x2fac10&&_0x41f945['kwkai'](parseInt(_0x2fac10),0x0)&&await _0xcfce98[_0x290458(0x118)](_0x4822f0),logger[_0x290458(0x102)]({'event':_0x41f945[_0x290458(0x103)],'key':_0x15c7f3},_0x41f945[_0x290458(0xdb)]),!![];}const _0x1189cf='\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20redis.call(\x22get\x22,\x20KEYS[1])\x20==\x20ARGV[1]\x20then\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20redis.call(\x22del\x22,\x20KEYS[1])\x0a\x20\x20\x20\x20\x20\x20\x20\x20else\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x200\x0a\x20\x20\x20\x20\x20\x20\x20\x20end\x0a\x20\x20\x20\x20\x20\x20',_0x48d1a2=await _0xcfce98[_0x290458(0xe3)](_0x1189cf,0x1,_0x15c7f3,_0x524424);if(_0x41f945['SCOpz'](_0x48d1a2,0x1))return logger['debug']({'event':_0x290458(0xfd),'key':_0x15c7f3},_0x41f945[_0x290458(0xfa)]),!![];return logger[_0x290458(0xf2)]({'event':_0x41f945['Jwbne'],'key':_0x15c7f3},_0x41f945['HmcMG']),![];}catch(_0x20ecdc){return logger['error']({'event':_0x41f945[_0x290458(0x106)],'key':_0x15c7f3,'error':_0x20ecdc[_0x290458(0xf8)]},_0x41f945['gNqEZ']),![];}}async[a0_0x2e97b9(0xdc)](_0x36b0aa,_0x3fc354,_0x62ca34=null){const _0x94e83d=a0_0x2e97b9,_0x4849bb={'gvasv':_0x94e83d(0x11e),'lensH':_0x94e83d(0x109)};if(!this[_0x94e83d(0xd4)]||!_0x36b0aa)return!![];try{const _0x3ca7b3=redisClient[_0x94e83d(0xe5)](),_0x23078c='\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',_0x4772b0=await _0x3ca7b3['eval'](_0x23078c,0x1,_0x36b0aa,_0x3fc354,_0x62ca34||this['defaultTTL']);if(_0x4772b0===0x1)return logger[_0x94e83d(0x102)]({'event':'lock_extended','key':_0x36b0aa,'ttl':_0x62ca34||this['defaultTTL']},_0x4849bb[_0x94e83d(0x11b)]),!![];return![];}catch(_0x56babc){return logger[_0x94e83d(0xf5)]({'event':'lock_extend_error','key':_0x36b0aa,'error':_0x56babc['message']},_0x4849bb[_0x94e83d(0xea)]),![];}}[a0_0x2e97b9(0x10c)](){const _0x1680cc=a0_0x2e97b9;return this[_0x1680cc(0xd4)];}[a0_0x2e97b9(0xe0)](_0x4d76bb){return new Promise(_0x4661aa=>setTimeout(_0x4661aa,_0x4d76bb));}async[a0_0x2e97b9(0xc7)](_0x4ac1fc){const _0x1d949b=a0_0x2e97b9,_0x32b71f={'jYFmD':_0x1d949b(0x11a),'orkkU':function(_0xe21d6b,_0xa11692){return _0xe21d6b||_0xa11692;}};if(!this[_0x1d949b(0xd4)])return{'enabled':![]};try{const _0x895a04=redisClient['getClient'](),_0x4d3bc6=this[_0x1d949b(0xf7)]({..._0x4ac1fc,'lockType':_0x32b71f['jYFmD']}),_0x4df25c=this[_0x1d949b(0xf7)]({..._0x4ac1fc,'lockType':'read'}),[_0x3470d1,_0x56f2f6]=await Promise['all']([_0x895a04['get'](_0x4d3bc6),_0x895a04['get'](_0x4df25c)]);return{'enabled':!![],'writeLock':_0x32b71f[_0x1d949b(0xff)](_0x3470d1,null),'readCount':parseInt(_0x56f2f6)||0x0,'writeKey':_0x4d3bc6,'readKey':_0x4df25c};}catch(_0x31e0bc){return{'enabled':!![],'error':_0x31e0bc[_0x1d949b(0xf8)]};}}}function a0_0x1a3e(){const _0x3880c5=['x3DVCMTLCKLK','z2v0','yMnlBgO','x3bYzwzPEa','zgvJCG','D3jPDgvFBg9JA19LCNjVCG','D3jPDgu','z3zHC3y','CMvHzf9SB2nRx2vYCM9Y','zgvMyxvSDfruta','tg9JAYbuveWGzxH0zw5Kzwq','CMv0CNLezwXHEq','ndmWmJCZohvuA25gtq','CMvHzf9SB2nRx3DHAxrPBMC','te9ds19esvnuuKLcvvrfrf9uveW','z2v0tg9JA0LUzM8','BM93','CMv0CNLdB3vUDa','CMvHzf9SB2nRx3rPBwvVDxq','tND0vMm','mta1mde3tuLXC2Lv','CMv0CNK','x2vUC3vYzuLUAxrPywXPEMvK','x3n0CMf0zwD5','z2vUzxjHDgvmB2nRvMfSDwu','D3jPDgvFBg9JA19YzwPLy3rLza','n0DZC01Suq','mJKZmhfHy0n3Da','zw5HyMXLza','DKT0rLG','DxvPza','CMvHzf9SB2nRx3jLBgvHC2vK','D3jPDgvFBg9JA190Aw1LB3v0','D29YA2vYswq','oNjLywq6','r0jTshq','zxH0zw5Ktg9JAW','CgPZzfm','qvPrqMW','Aw5JBhvKzxm','C2XLzxa','x2rLzMf1BhruveW','D3jPDgvFBg9JA19Hy3f1AxjLza','zxzHBa','lI9YzwrPCY1JBgLLBNq','z2v0q2XPzw50','tfnWy2K','Dhj1zq','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMvQzwn0ig1VzguP','zxHWB3j0CW','BgvUC0G','x3jLDhj5q291BNq','uKvbrcbSB2nRihjLBgvHC2vK','Bg9JA19JB25MAwDFAw5PDa','C3rYyxrLz3K','ChjLzML4','mKfkChztCq','wgDkzKm','D2fYBG','x3jLDhj5rgvSyxK','mtu0ndG4mtvQAKnUrg4','zxjYB3i','vvP5AeC','yNvPBgrmB2nRs2v5','BwvZC2fNzq','AK5dAK8','zfbcthm','ywnXDwLYzvjLywrmB2nR','x2LUAxrdB25MAwC','D3jPDgvFBg9JA19YzwXLyxnLza','zxHWAxjL','B3jRA1u','x2LUAxrPywXPEMvK','CMvHza','zgvIDwC','re9dDMS','uKvbrcbSB2nRigfJCxvPCMvK','AfPsv1y','Eu5xyNG','v2zqBM8','mtvSDe5euLK','tg9JAYbLEhrLBMqGzxjYB3i','mJe0mZa5mejhEvPAAa','v1jjveuGBg9JAYbLCNjVCG','AxnfBMfIBgvK','otq3ndm2yuj0C3jT','v1jjveuGBg9JAYbYzwXLyxnLza','mta1mJq3mNDPCKfrDW','ExDKBwm','zw52','mtq3mdmYnxzSwxbRzq','x2vUywjSzwq'];a0_0x1a3e=function(){return _0x3880c5;};return a0_0x1a3e();}module[a0_0x2e97b9(0xe9)]=new LockManager();
@@ -1 +1 @@
1
- const a0_0x5ba06d=a0_0x4524;(function(_0x4dc845,_0x474045){const _0x9fa8e7=a0_0x4524,_0xf6a16d=_0x4dc845();while(!![]){try{const _0x13f129=parseInt(_0x9fa8e7(0x1c9))/0x1*(-parseInt(_0x9fa8e7(0x240))/0x2)+-parseInt(_0x9fa8e7(0x206))/0x3+-parseInt(_0x9fa8e7(0x230))/0x4*(parseInt(_0x9fa8e7(0x202))/0x5)+parseInt(_0x9fa8e7(0x183))/0x6+-parseInt(_0x9fa8e7(0x23a))/0x7*(parseInt(_0x9fa8e7(0x236))/0x8)+parseInt(_0x9fa8e7(0x222))/0x9+parseInt(_0x9fa8e7(0x193))/0xa;if(_0x13f129===_0x474045)break;else _0xf6a16d['push'](_0xf6a16d['shift']());}catch(_0x31164e){_0xf6a16d['push'](_0xf6a16d['shift']());}}}(a0_0x35a2,0xd9002));const pino=require('pino'),fs=require('fs'),path=require('path');let logToFile=![],logDir=a0_0x5ba06d(0x1a2),serviceName='restforge',sqlLogEnabled=![],sqlLogLevel='debug',sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':'SYS:HH:MM:ss','ignore':'pid,hostname,service,version,env,event,module,port,config,apiKeyEnabled,path,workingDir,isPkg,isNodeScript,file,email,type,cors,logging,apiKey,count,endpoint,route','singleLine':![],'levelFirst':!![],'messageFormat':'{msg}','customColors':a0_0x5ba06d(0x1c4),'hideObject':!![]},isDevelopment=process['env']['NODE_ENV']!=='production',logLevel=process[a0_0x5ba06d(0x1dd)]['LOG_LEVEL']||a0_0x5ba06d(0x1cc);let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':a0_0x5ba06d(0x1b6),'options':prettyPrintOptions}:undefined,'base':{'service':'restforge','version':process[a0_0x5ba06d(0x1dd)]['APP_VERSION']||'1.0.5','env':process['env']['NODE_ENV']||'development'},'timestamp':pino['stdTimeFunctions']['isoTime'],'redact':{'paths':[a0_0x5ba06d(0x1d1),a0_0x5ba06d(0x203),'password',a0_0x5ba06d(0x1a6),'apiKey','DB_PASSWORD','JWT_SECRET'],'censor':a0_0x5ba06d(0x21c)},'serializers':{'req':_0x1b44c9=>({'id':_0x1b44c9['id'],'method':_0x1b44c9['method'],'url':_0x1b44c9['url'],'path':_0x1b44c9['path'],'remoteAddress':_0x1b44c9['ip']||_0x1b44c9[a0_0x5ba06d(0x1be)]?.['remoteAddress']}),'res':_0x5e3252=>({'statusCode':_0x5e3252[a0_0x5ba06d(0x184)],'headers':_0x5e3252[a0_0x5ba06d(0x197)]?.()}),'err':pino['stdSerializers'][a0_0x5ba06d(0x19d)]}});function initFileLogging(){const _0x11f540=a0_0x5ba06d,_0x3b43c6={'VFZtI':function(_0xc29054,_0x42ec9d){return _0xc29054===_0x42ec9d;},'orOpW':'true','BvETD':_0x11f540(0x1fb),'eJaVz':'restforge','LzEle':_0x11f540(0x1bc),'Urosp':function(_0x1ffc7f,_0x3ca506){return _0x1ffc7f(_0x3ca506);},'fwiID':_0x11f540(0x21a),'mPQoE':_0x11f540(0x1e1),'Ngjga':function(_0x51c814,_0x285352,_0x396cb6){return _0x51c814(_0x285352,_0x396cb6);}};if(fileLoggingInitialized)return;logToFile=_0x3b43c6['VFZtI'](process['env']['LOG_TO_FILE'],_0x3b43c6[_0x11f540(0x209)]);const _0x2ec2ff=process['env'][_0x11f540(0x233)]||_0x3b43c6['BvETD'];logDir=process[_0x11f540(0x1dd)]['LOG_DIR']||'./logs/'+_0x2ec2ff,serviceName=process['env']['SERVICE_NAME']||_0x3b43c6[_0x11f540(0x1a4)],sqlLogEnabled=process[_0x11f540(0x1dd)]['SQL_LOG_ENABLED']==='true',sqlLogLevel=process[_0x11f540(0x1dd)]['SQL_LOG_LEVEL']||_0x11f540(0x231),sqlLogParams=process['env'][_0x11f540(0x1e6)]!==_0x3b43c6[_0x11f540(0x21b)],sqlLogSlowThreshold=_0x3b43c6[_0x11f540(0x23c)](parseInt,process['env'][_0x11f540(0x220)])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x439fed=path['resolve'](process[_0x11f540(0x216)](),logDir);try{!fs['existsSync'](_0x439fed)&&fs[_0x11f540(0x1d4)](_0x439fed,{'recursive':!![]});}catch(_0x1dacfd){console[_0x11f540(0x215)]('Failed\x20to\x20create\x20log\x20directory\x20'+_0x439fed+':',_0x1dacfd['message']),fileLoggingInitialized=!![];return;}const _0x505db9=path[_0x11f540(0x194)](_0x439fed,_0x11f540(0x208)),_0x45b5fe=path['join'](_0x439fed,_0x11f540(0x1e1));try{appLogStream=fs[_0x11f540(0x1b4)](_0x505db9,{'flags':'a'}),errorLogStream=fs['createWriteStream'](_0x45b5fe,{'flags':'a'}),fileLoggingInitialized=!![];const _0x21cf75={'event':_0x3b43c6[_0x11f540(0x1a3)],'logDir':_0x439fed,'files':['app.log',_0x3b43c6[_0x11f540(0x221)]]},_0x46fbfd='File\x20logging\x20enabled:\x20'+_0x439fed;logger['info'](_0x21cf75,_0x46fbfd),_0x3b43c6[_0x11f540(0x1cf)](writeToFileLog,{..._0x21cf75,'level':_0x11f540(0x1cc),'msg':_0x46fbfd,'time':new Date()[_0x11f540(0x242)]()},'info');}catch(_0x11c990){console['error']('Failed\x20to\x20create\x20log\x20streams:',_0x11c990['message']),fileLoggingInitialized=!![];}}function writeToFileLog(_0x5c7f77,_0x38c784){const _0x360232=a0_0x5ba06d,_0x2a37b9={'ygQua':function(_0x5bf0f8,_0x29b193){return _0x5bf0f8||_0x29b193;},'Wwxcr':'error','FfyEN':function(_0x46e39f,_0x7e9859){return _0x46e39f===_0x7e9859;}};if(_0x2a37b9['ygQua'](!logToFile,!appLogStream))return;const _0x29f8b0={'service':serviceName,..._0x5c7f77},_0x4a3c6e=JSON['stringify'](_0x29f8b0)+'\x0a';appLogStream['write'](_0x4a3c6e),(_0x38c784===_0x2a37b9['Wwxcr']||_0x2a37b9[_0x360232(0x1ee)](_0x38c784,'fatal'))&&(errorLogStream&&errorLogStream[_0x360232(0x23b)](_0x4a3c6e));}function a0_0x35a2(){const _0x26b934=['q2TPtuC','zgDhquS','C2vYDMvYx3n0yxj0Aw5N','zgjFCxvLCNK','CgfKrw5K','vfL5Afi','mtq0mJa3mLrzqM5ABq','zgvIDwC','ChjVAMvJDa','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','Cgf0Aa','tK9uiefdveLwrq','ndm2ndbjueLeu3i','B0j0Axy','zMf0ywW','AxntBg93','ndKWtuTYr1zy','D3jPDgu','vxjVC3a','qwf6Cwq','vfjbtLnbq1rjt05Fq09ntuLu','yuHSAgq','mtu3mdG3ne1SALjMra','C3rHCNrZv2L0Aa','Dg9ju09tDhjPBMC','D1vgt1e','w1jfrefdveveoNrVA2vUxq','ode1nZC4r0HsD0DK','C3rHDhvZq29Kzq','BwvZC2fNzq','D3rtD0O','Bfr5teK','zMXVB3i','y3jLzgvUDgLHBa','icbizwfSDgG6ia','C2vYDMvYx3jLywr5','zw52AxjVBM1LBNq','BMfTzq','yxbPx3nLy3jLDa','B2jQzwn0','BxfAreu','Ec1Yzxf1zxn0lwLK','BwfW','mZa4ndi1nJb0swzWy00','AM9PBG','yxbPs2v5','CMvWzwf0','z2v0sgvHzgvYCW','iokvKqRILzeGifbVCNqGicaGicaGidOG','EK1br2m','sK1nv00','DgvZDa','zxHWB3j0CW','zxjY','rKfuquW6ia','C3fSx3f1zxj5','qvfczvK','DxnLCG','lI9SB2DZ','zNDPsuq','zuPHvNO','qKvhsu4','Dg9Rzw4','z2XVyMfSx2vYCM9Yx2HHBMrSzxjZx3nLDhvW','AgvHBhrOq2HLy2S','C3bPENq','zMf0ywXFzxjYB3i','y29Kzq','zhvYyxrPB25nCW','BgvUz3rO','u0vmrunu','sw50zxjUywWGC2vYDMvYigvYCM9Y','q1jjveLdquW','qunusvzf','iokvKqRILzRILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILz0','CxryqM4','y3jLyxrLv3jPDgvtDhjLyw0','uejgqwG','CgLUBY1WCMv0DhK','Ahj0Aw1L','DMLwEMi','BwvTB3j5vxnHz2u','t25pAvG','y29UzMLNrMLSzq','zMfSC2u','DhjPBq','y29UBMvJDgLVBG','zhvYBvm','DhLWzq','quXurvi','Ahr0Cf9Yzxf1zxn0','yxbPx2TLEq','Aw5MBZPIBhvLlhDHCM46EwvSBg93lgvYCM9YoNjLzcXKzwj1zZPNCMf5','uhjVy2vZCYbxyxjUAw5NoIa','ywnJzxnZx3rVA2vU','vfjbtLnbq1rjt05FuK9mtejbq0S','wvHqCNC','mvLhver6Aq','y3jLzgL0x2nHCMq','zgf0ywjHC2u','Aw5MBW','rxjYB3i','zgjFDhjHBNnHy3rPB24','tMDQz2e','AgvHzgvYCW','CMvXlMHLywrLCNmUyxv0Ag9YAxPHDgLVBG','yMfZzvvYBa','uwP4y2C','BwTKAxjtEw5J','tI9b','uKvtvezpuKDfifjvtLrjtuuGu0vsvKvs','uKX4B1q','yxv0Ag9YAxPHDgLVBG','CMvWBgfJzq','q09ntuLu','y2HPBgq','zw5KCg9PBNrFCMvNAxn0zxjLza','zw52','zunmrum','AeXZB2u','z2v0','zxjYB3iUBg9N','Bfz4wxq','r2XVyMfSigvYCM9YigHHBMrSzxjZigLUAxrPywXPEMvK','Ahr0Cf9LCNjVCG','rfjpua','u1fmx0Xpr19qqvjbtvm','sMnbwKm','D2fYBG','reiGuxvLCNK','iokvKqRILzeGiefqssblzxKGicaGidOG','Bwv0Ag9K','rgvMyxvSDa','DxnLCI1Hz2vUDa','rMz5ru4','y3jLzgvUDgLHBhm','ChjVy2vZC193yxjUAw5N','Ag9ZDa','sM1SyLe','CgfZC3DVCMq','r1nwyKO','Dw5JyxvNAhrfEgnLChrPB24','Bwf0y2G','ALLQB0K','Cg9ZDgDYzxnXBa','zxfJAxe','iokvKqRILzeGifbYB2PLy3qGicaGidOG','zgvMyxvSDa','rermx0rst1a','Bw9KDwXL','Aw5JBhvKzxm','vfjbtLnbq1rjt05FqKvhsu4','C3rHDhvZ','cUkvOokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvOWRILzeGievUDMLYB25Tzw50idOG','mtvhsM9bDwS','CMvXlMHLywrLCNnBiNGTyxbPlwTLEsjD','CKTOve4','rermx0nsrufurq','mZiZnZCWmM9RwxvUwG','yM9KEq','yxbWlMXVzW','B3jpCfC','ChjPDMf0zv9RzxK','icbjBMzVoIaGia','vLDiEwe','vKvhBLC','Dg9gAxHLza','Cg9YDa','vhvfELK','swP6wKy','Dg9mB3DLCKnHC2u','tM9Kzs5QCW','w09lxsbqCM9Qzwn0igXVywrLzdOG','zxjYB3i','y3DK','twTWyxe','t0HTCui','C3rHy2S','zMLSzv9SB2DNAw5Nx2vUywjSzwq','thPfBgu','w1jfrefdvevexq','ChDK','C3rYAw5N','uxHguMm','u1fmx0Xpr19tte9xx1riuKvtse9mra','BvbrB0u','odK3mdiXmgXbu3vSqG','CMvMCMvZAf90B2TLBG','sMf1r2G','wMzJDgS','C2vYDMLJzuLUzM8','yxbPA2v5','zKn3DfG','ChjVAMvJDf9SB2fKzwq'];a0_0x35a2=function(){return _0x26b934;};return a0_0x35a2();}const createRequestLogger=(_0x5f4866={})=>{const _0x393b69=a0_0x5ba06d;return logger[_0x393b69(0x1db)](_0x5f4866);},logServerStart=_0x51ebf=>{const _0x261161=a0_0x5ba06d,_0x15d0a9={'oBtiv':function(_0x3fb72d,_0x4e7bca){return _0x3fb72d-_0x4e7bca;},'jSvrv':function(_0x583358,_0x3e13b4){return _0x583358/_0x3e13b4;},'lVxYt':_0x261161(0x1ec),'CsTrx':_0x261161(0x1b1),'Aazqd':'info'},_0x644029=_0x261161(0x1d6),_0xec6165=Math['max'](0x0,_0x15d0a9[_0x261161(0x237)](0x37,_0x644029['length'])),_0x281ab2=Math[_0x261161(0x188)](_0x15d0a9['jSvrv'](_0xec6165,0x2)),_0x5db34d=_0xec6165-_0x281ab2,_0x581d18='║'+'\x20'['repeat'](_0x281ab2)+_0x644029+'\x20'[_0x261161(0x196)](_0x5db34d)+'║',_0x3b2bb5='\x0a╔═══════════════════════════════════════════════════════╗\x0a'+_0x581d18+_0x261161(0x201)+(_0x51ebf[_0x261161(0x18c)]||_0x261161(0x213))['padEnd'](0x26)+_0x261161(0x1fa)+(_0x51ebf['project']||_0x261161(0x1d5))['padEnd'](0x26)+_0x261161(0x198)+String(_0x51ebf[_0x261161(0x20f)]||0xbb8)[_0x261161(0x22e)](0x26)+'\x20║\x0a║\x20\x20Config\x20\x20\x20\x20\x20\x20:\x20'+(_0x51ebf[_0x261161(0x1bb)]||_0x15d0a9[_0x261161(0x1e2)])[_0x261161(0x22e)](0x26)+_0x261161(0x1ea)+(_0x51ebf[_0x261161(0x195)]?_0x15d0a9['CsTrx']:_0x261161(0x235))[_0x261161(0x22e)](0x26)+_0x261161(0x1b2);console['log'](_0x3b2bb5);const _0x2a9877={'event':_0x261161(0x22c),'project':_0x51ebf[_0x261161(0x232)],'port':_0x51ebf[_0x261161(0x20f)],'config':_0x51ebf['configFile'],'apiKeyEnabled':!!_0x51ebf[_0x261161(0x195)]};logger[_0x261161(0x1cc)](_0x2a9877),writeToFileLog({..._0x2a9877,'level':_0x15d0a9[_0x261161(0x23d)],'msg':'Server\x20starting:\x20'+_0x51ebf['project']+'\x20on\x20port\x20'+_0x51ebf[_0x261161(0x20f)],'time':new Date()[_0x261161(0x242)]()},_0x261161(0x1cc));},logServerReady=_0xc69823=>{const _0x1abe92=a0_0x5ba06d,_0x458945={'JuMkl':_0x1abe92(0x18b),'spizt':function(_0x5cbaca,_0x155830,_0x1d7754){return _0x5cbaca(_0x155830,_0x1d7754);},'zAkLf':_0x1abe92(0x1cc)},_0x10e358={'event':_0x458945['JuMkl'],'port':_0xc69823[_0x1abe92(0x20f)],'module':_0xc69823[_0x1abe92(0x1fd)],'healthCheck':_0xc69823[_0x1abe92(0x1a8)],'serviceInfo':_0xc69823[_0x1abe92(0x226)],'baseUrl':_0xc69823[_0x1abe92(0x1d2)]},_0x3c7909='[OK]\x20Server\x20ready\x20on\x20port\x20'+_0xc69823[_0x1abe92(0x20f)];logger['info'](_0x10e358,_0x3c7909),_0x458945[_0x1abe92(0x1a9)](writeToFileLog,{..._0x10e358,'level':_0x458945['zAkLf'],'msg':_0x3c7909,'time':new Date()['toISOString']()},_0x458945['zAkLf']),_0xc69823['healthCheck']&&logger[_0x1abe92(0x1cc)](_0x1abe92(0x18a)+_0xc69823['healthCheck']),_0xc69823['serviceInfo']&&logger[_0x1abe92(0x1cc)](_0x1abe92(0x20b)+_0xc69823[_0x1abe92(0x226)]),_0xc69823['baseUrl']&&logger['info']('\x20\x20URL:\x20\x20\x20\x20'+_0xc69823['baseUrl']);},logProjectLoaded=(_0x461023,_0xd42075)=>{const _0x3e7e92=a0_0x5ba06d,_0xb8e991={'Mkpaq':function(_0x108cb7,_0x2f7fb9,_0x190224){return _0x108cb7(_0x2f7fb9,_0x190224);},'CUeah':_0x3e7e92(0x1cc)},_0xf421f6={'event':_0x3e7e92(0x229),'project':_0x461023,'path':_0xd42075},_0x1c3001=_0x3e7e92(0x214)+_0x461023;logger['info'](_0xf421f6,_0x1c3001),_0xb8e991[_0x3e7e92(0x217)](writeToFileLog,{..._0xf421f6,'level':_0xb8e991['CUeah'],'msg':_0x1c3001,'time':new Date()[_0x3e7e92(0x242)]()},_0xb8e991['CUeah']);},logEndpointRegistered=(_0x51435a,_0x434421)=>{const _0x336a03=a0_0x5ba06d,_0x29a334={'GWfvd':function(_0x205008,_0x145464,_0x5a3775){return _0x205008(_0x145464,_0x5a3775);},'JcAZC':_0x336a03(0x231)},_0x5f11d3={'event':_0x336a03(0x1dc),'endpoint':_0x51435a,'route':_0x434421},_0x2c5392='\x20\x20→\x20'+_0x51435a+':\x20'+_0x434421;logger['debug'](_0x5f11d3,_0x2c5392),_0x29a334['GWfvd'](writeToFileLog,{..._0x5f11d3,'level':_0x29a334[_0x336a03(0x1e7)],'msg':_0x2c5392,'time':new Date()['toISOString']()},_0x29a334[_0x336a03(0x1e7)]);},logDatabaseConfig=_0x3e3117=>{const _0x212638=a0_0x5ba06d,_0x5023b6={'BDfPY':function(_0x791956,_0x45fc54,_0x59bc53){return _0x791956(_0x45fc54,_0x59bc53);}},_0x3a0824={'event':'database_config','host':_0x3e3117['host'],'port':_0x3e3117[_0x212638(0x20f)],'database':_0x3e3117[_0x212638(0x1cb)],'type':_0x3e3117[_0x212638(0x1c0)],'user':_0x3e3117[_0x212638(0x1a1)]},_0xfef726='Database:\x20'+_0x3e3117['type']+'://'+_0x3e3117[_0x212638(0x1f1)]+':'+_0x3e3117[_0x212638(0x20f)]+'/'+_0x3e3117[_0x212638(0x1cb)];logger['debug'](_0x3a0824,_0xfef726),_0x5023b6['BDfPY'](writeToFileLog,{..._0x3a0824,'level':_0x212638(0x231),'msg':_0xfef726,'time':new Date()[_0x212638(0x242)]()},_0x212638(0x231));},logRequest=(_0x26e58f,_0x1abb7d,_0xed8a86)=>{const _0x19e9f5=a0_0x5ba06d,_0x56d73c={'JmlbQ':_0x19e9f5(0x1c2),'aHlhd':'info','CkiMG':function(_0x12d3fb,_0x4302db){return _0x12d3fb>=_0x4302db;},'rfmRO':function(_0x36d5a7,_0x1c2242){return _0x36d5a7>=_0x1c2242;}},_0x262cf4={'event':_0x56d73c[_0x19e9f5(0x1f2)],'method':_0x26e58f[_0x19e9f5(0x1eb)],'path':_0x26e58f[_0x19e9f5(0x234)],'statusCode':_0x1abb7d['statusCode'],'durationMs':_0xed8a86,'ip':_0x26e58f['ip']},_0x4a0759=_0x26e58f['method']+'\x20'+_0x26e58f[_0x19e9f5(0x234)]+'\x20-\x20'+_0x1abb7d[_0x19e9f5(0x184)]+'\x20('+_0xed8a86+'ms)';let _0x5e34e2=_0x56d73c[_0x19e9f5(0x23f)];if(_0x56d73c[_0x19e9f5(0x22a)](_0x1abb7d[_0x19e9f5(0x184)],0x1f4))_0x5e34e2='error',logger['error'](_0x262cf4,_0x4a0759);else _0x56d73c['rfmRO'](_0x1abb7d['statusCode'],0x190)?(_0x5e34e2='warn',logger['warn'](_0x262cf4,_0x4a0759)):logger[_0x19e9f5(0x1cc)](_0x262cf4,_0x4a0759);writeToFileLog({..._0x262cf4,'level':_0x5e34e2,'msg':_0x4a0759,'time':new Date()[_0x19e9f5(0x242)]()},_0x5e34e2);},SENSITIVE_PARAM_PATTERNS=['password','passwd',a0_0x5ba06d(0x21d),a0_0x5ba06d(0x1a6),a0_0x5ba06d(0x1c6),'refresh_token','secret',a0_0x5ba06d(0x18e),a0_0x5ba06d(0x227),a0_0x5ba06d(0x1c3),a0_0x5ba06d(0x189),a0_0x5ba06d(0x1ef),'pin','otp',a0_0x5ba06d(0x20a),'privatekey'],redactSensitiveParams=(_0x1558fe,_0x608a0f)=>{const _0x482969=a0_0x5ba06d,_0x9193ab={'durmS':_0x482969(0x21c),'rKhTN':function(_0x2e314a,_0x2e7d41){return _0x2e314a===_0x2e7d41;},'TYyhR':'[REDACTED:hash]'};if(!_0x1558fe||_0x1558fe[_0x482969(0x1ad)]===0x0)return _0x1558fe;const _0x3e979c=_0x608a0f['toLowerCase'](),_0x4bfedf=_0x3e979c['match'](/\(([^)]+)\)\s*values/i);let _0x3ecca7=[];_0x4bfedf&&(_0x3ecca7=_0x4bfedf[0x1]['split'](',')['map'](_0xcc0270=>_0xcc0270['trim']()['toLowerCase']()));const _0x37438c=_0x3e979c['match'](/set\s+(.+?)(?:\s+where|$)/i);if(_0x37438c){const _0x5f3484=_0x37438c[0x1],_0x205f59=_0x5f3484['match'](/(\w+)\s*=/g);_0x205f59&&(_0x3ecca7=_0x205f59['map'](_0x3277c4=>_0x3277c4[_0x482969(0x1d9)](/\s*=/,'')[_0x482969(0x1bd)]()['toLowerCase']()));}return _0x1558fe[_0x482969(0x192)]((_0x2450b6,_0x447db5)=>{const _0x147888=_0x482969;if(_0x3ecca7[_0x447db5]){const _0x4a93a8=_0x3ecca7[_0x447db5],_0x29641a=SENSITIVE_PARAM_PATTERNS['some'](_0x566930=>_0x4a93a8[_0x147888(0x1fe)](_0x566930));if(_0x29641a)return _0x9193ab[_0x147888(0x1bf)];}if(_0x9193ab[_0x147888(0x204)](typeof _0x2450b6,_0x147888(0x21e))&&_0x2450b6[_0x147888(0x1ad)]>0x20){if(/^[a-zA-Z0-9+/=_.-]+$/[_0x147888(0x19b)](_0x2450b6)&&_0x2450b6[_0x147888(0x1fe)]('.'))return _0x147888(0x244);if(/^[a-fA-F0-9]{32,}$/['test'](_0x2450b6))return _0x9193ab[_0x147888(0x22f)];}return _0x2450b6;});},parseQueryMetadata=_0x386a7f=>{const _0x344a67=a0_0x5ba06d,_0x32b7b7={'JauGh':_0x344a67(0x1ae),'wtSwJ':'INSERT','fCwtX':'UPDATE','SsVIY':'DELETE','ZYFeV':'START\x20TRANSACTION','fdYvI':_0x344a67(0x1da),'xQpNw':_0x344a67(0x1c7),'zMAGc':'CREATE','IjzZF':_0x344a67(0x1c1),'wUFOQ':'DDL_ALTER'},_0xea1fd7=_0x386a7f['trim'](),_0x21d6f7=_0xea1fd7['toUpperCase']();let _0x2ffb34='UNKNOWN',_0x3a75fc=null;if(_0x21d6f7['startsWith'](_0x32b7b7['JauGh'])){_0x2ffb34=_0x32b7b7[_0x344a67(0x224)];const _0x163526=_0xea1fd7[_0x344a67(0x1f6)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x3a75fc=_0x163526?_0x163526[0x1]:null;}else{if(_0x21d6f7['startsWith'](_0x32b7b7['wtSwJ'])){_0x2ffb34=_0x32b7b7[_0x344a67(0x186)];const _0x1c74b7=_0xea1fd7['match'](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x3a75fc=_0x1c74b7?_0x1c74b7[0x1]:null;}else{if(_0x21d6f7['startsWith']('UPDATE')){_0x2ffb34=_0x32b7b7[_0x344a67(0x228)];const _0x4d0602=_0xea1fd7['match'](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x3a75fc=_0x4d0602?_0x4d0602[0x1]:null;}else{if(_0x21d6f7[_0x344a67(0x241)](_0x32b7b7['SsVIY'])){_0x2ffb34=_0x32b7b7['SsVIY'];const _0x4fe961=_0xea1fd7['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x3a75fc=_0x4fe961?_0x4fe961[0x1]:null;}else{if(_0x21d6f7['startsWith'](_0x344a67(0x1a5))||_0x21d6f7[_0x344a67(0x241)](_0x32b7b7['ZYFeV']))_0x2ffb34=_0x344a67(0x1ff);else{if(_0x21d6f7[_0x344a67(0x241)](_0x32b7b7['fdYvI']))_0x2ffb34=_0x344a67(0x23e);else{if(_0x21d6f7[_0x344a67(0x241)]('ROLLBACK'))_0x2ffb34=_0x32b7b7['xQpNw'];else{if(_0x21d6f7[_0x344a67(0x241)](_0x32b7b7[_0x344a67(0x199)]))_0x2ffb34=_0x344a67(0x205);else{if(_0x21d6f7['startsWith'](_0x32b7b7[_0x344a67(0x211)]))_0x2ffb34=_0x32b7b7[_0x344a67(0x243)];else _0x21d6f7[_0x344a67(0x241)](_0x344a67(0x1e5))&&(_0x2ffb34=_0x344a67(0x1fc));}}}}}}}}return{'type':_0x2ffb34,'table':_0x3a75fc};},startQueryTimer=()=>{const _0xf75765={'Qjxcg':function(_0x228a4e,_0x705dab){return _0x228a4e*_0x705dab;},'KJYcn':function(_0x5a6f1c,_0x1022a5){return _0x5a6f1c/_0x1022a5;}},_0x2bc926=process['hrtime']();return()=>{const _0x24bfef=a0_0x4524,[_0x39d50d,_0x428f59]=process[_0x24bfef(0x1b7)](_0x2bc926);return parseFloat((_0xf75765[_0x24bfef(0x1d3)](_0x39d50d,0x3e8)+_0xf75765['KJYcn'](_0x428f59,0xf4240))[_0x24bfef(0x20e)](0x2));};},logQuery=(_0x41a5a1,_0x3ae2bc=[],_0x36a7da={})=>{const _0x3c9bef=a0_0x5ba06d,_0x1e6975={'QZTqU':_0x3c9bef(0x22d),'aaXtN':_0x3c9bef(0x1f8),'RLxoT':function(_0x225c1f,_0x5d4491){return _0x225c1f>_0x5d4491;},'JKBEx':function(_0x31a5c5,_0x27f0bf){return _0x31a5c5||_0x27f0bf;},'suaIg':'unknown','OnOiX':function(_0x4e1465,_0x34360b){return _0x4e1465!==_0x34360b;},'Wpbys':function(_0x5b8f79,_0x6bf54e){return _0x5b8f79!==_0x6bf54e;},'AMvpE':'debug','owhjw':'\x20[SLOW]','PBFAh':function(_0x27d2b0,_0x367373){return _0x27d2b0===_0x367373;},'dgGAK':_0x3c9bef(0x1cc),'eCLEC':function(_0x3614e4,_0x37bd1e,_0x1e1ce5){return _0x3614e4(_0x37bd1e,_0x1e1ce5);}};if(!sqlLogEnabled){logger['debug']({'event':_0x1e6975['QZTqU'],'query':_0x41a5a1['substring'](0x0,0xc8),'paramCount':_0x3ae2bc['length']},_0x3c9bef(0x1e9));return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x1e6975['aaXtN']}=_0x36a7da,{type:_0x5a99e2,table:_0x57ccb5}=parseQueryMetadata(_0x41a5a1),_0x2802da={'event':_0x3c9bef(0x19f),'queryType':_0x5a99e2,'table':_0x57ccb5,'query':_0x41a5a1,'paramCount':_0x3ae2bc['length'],'dbType':dbType};sqlLogParams&&_0x3ae2bc[_0x3c9bef(0x1ad)]>0x0&&(_0x2802da['params']=redactSensitiveParams(_0x3ae2bc,_0x41a5a1));duration!==null&&(_0x2802da[_0x3c9bef(0x1ac)]=duration,_0x2802da[_0x3c9bef(0x239)]=_0x1e6975[_0x3c9bef(0x1d7)](duration,sqlLogSlowThreshold));rowsAffected!==null&&(_0x2802da['rowsAffected']=rowsAffected);const _0x31d01b=_0x1e6975['JKBEx'](_0x57ccb5,_0x1e6975['suaIg']);let _0x56d4e8='['+_0x5a99e2+']\x20'+_0x31d01b;_0x1e6975[_0x3c9bef(0x1ba)](duration,null)&&(_0x56d4e8+='\x20('+duration+'ms)');const _0x3458e6=_0x1e6975['Wpbys'](duration,null)&&_0x1e6975['RLxoT'](duration,sqlLogSlowThreshold);let _0x13df57=_0x1e6975['AMvpE'];if(_0x3458e6)_0x56d4e8+=_0x1e6975['owhjw'],_0x13df57=_0x3c9bef(0x1e8),logger['warn'](_0x2802da,_0x56d4e8);else _0x1e6975[_0x3c9bef(0x1b5)](sqlLogLevel,'info')?(_0x13df57=_0x1e6975[_0x3c9bef(0x22b)],logger[_0x3c9bef(0x1cc)](_0x2802da,_0x56d4e8)):logger[_0x3c9bef(0x231)](_0x2802da,_0x56d4e8);_0x1e6975[_0x3c9bef(0x1de)](writeToFileLog,{..._0x2802da,'level':_0x13df57,'msg':_0x56d4e8,'time':new Date()['toISOString']()},_0x13df57);},logTransaction=(_0x394552,_0x135570)=>{const _0x3c9e7a=a0_0x5ba06d,_0x5dc33b={'Zfctk':_0x3c9e7a(0x1ce),'yYLzu':'debug'},_0x2ac999={'event':_0x5dc33b[_0x3c9e7a(0x225)],'status':_0x394552,'queryCount':_0x135570},_0x56c3bc='Transaction\x20'+_0x394552;logger[_0x3c9e7a(0x231)](_0x2ac999,_0x56c3bc),writeToFileLog({..._0x2ac999,'level':_0x5dc33b['yYLzu'],'msg':_0x56c3bc,'time':new Date()['toISOString']()},_0x3c9e7a(0x231));},redactObject=_0x30dae3=>{const _0x1465d7=a0_0x5ba06d,_0x5b86c7={'aqEKH':function(_0x5d3266,_0x3c5ccd){return _0x5d3266!==_0x3c5ccd;},'OHmqB':'passwd','viVzb':_0x1465d7(0x21d),'eqciq':'token','ARRIZ':'creditcard','mqZDE':_0x1465d7(0x1ca),'allCr':'ssn','AQBeY':_0x1465d7(0x223)};if(!_0x30dae3||_0x5b86c7['aqEKH'](typeof _0x30dae3,'object'))return _0x30dae3;const _0x27e681=[_0x1465d7(0x1f3),_0x5b86c7[_0x1465d7(0x218)],_0x5b86c7[_0x1465d7(0x1b8)],_0x5b86c7[_0x1465d7(0x1f9)],'secret',_0x1465d7(0x227),_0x1465d7(0x1c3),_0x1465d7(0x1d8),_0x5b86c7['ARRIZ'],_0x5b86c7[_0x1465d7(0x190)],'cvv',_0x5b86c7['allCr'],'pin','private_key','privatekey',_0x5b86c7[_0x1465d7(0x1a0)],_0x1465d7(0x1c6)],_0x38ac71=Array['isArray'](_0x30dae3)?[..._0x30dae3]:{..._0x30dae3};for(const _0xe9bcea of Object['keys'](_0x38ac71)){const _0x430547=_0xe9bcea[_0x1465d7(0x212)]();if(_0x27e681['some'](_0x2e61d7=>_0x430547['includes'](_0x2e61d7)))_0x38ac71[_0xe9bcea]=_0x1465d7(0x21c);else typeof _0x38ac71[_0xe9bcea]===_0x1465d7(0x18f)&&_0x5b86c7['aqEKH'](_0x38ac71[_0xe9bcea],null)&&(_0x38ac71[_0xe9bcea]=redactObject(_0x38ac71[_0xe9bcea]));}return _0x38ac71;},logError=(_0x18ccdb,_0x3b6a6c={},_0x20f026=null)=>{const _0x26f480=a0_0x5ba06d,_0x5d4e32={'lTyLI':'error','MSxeI':function(_0x51aec3,_0x52bb90,_0x398693){return _0x51aec3(_0x52bb90,_0x398693);}},_0x3289b9={'event':_0x5d4e32['lTyLI'],'errorName':_0x18ccdb[_0x26f480(0x18d)]||_0x26f480(0x1cd),'errorMessage':_0x18ccdb[_0x26f480(0x185)],'errorCode':_0x18ccdb[_0x26f480(0x1ab)]||null,'stack':_0x18ccdb[_0x26f480(0x219)],..._0x3b6a6c},_0x8c363b=_0x20f026||'Error:\x20'+_0x18ccdb[_0x26f480(0x185)];logger['error'](_0x3289b9,_0x8c363b),_0x5d4e32['MSxeI'](writeToFileLog,{..._0x3289b9,'level':_0x5d4e32['lTyLI'],'msg':_0x8c363b,'time':new Date()[_0x26f480(0x242)]()},_0x5d4e32[_0x26f480(0x187)]);},logFatalError=(_0xc2dc73,_0xb75c9d={},_0x54ee9f=null)=>{const _0x3881ea=a0_0x5ba06d,_0x4f60ee={'pGzkP':_0x3881ea(0x1b0),'ASLYA':function(_0x36b968,_0x46bf43,_0x51389c){return _0x36b968(_0x46bf43,_0x51389c);}},_0x5a8ac6={'event':_0x3881ea(0x1aa),'errorName':_0xc2dc73['name']||'Error','errorMessage':_0xc2dc73['message'],'errorCode':_0xc2dc73['code']||null,'stack':_0xc2dc73['stack'],'severity':_0x4f60ee['pGzkP'],..._0xb75c9d},_0x9d21e5=_0x54ee9f||_0x3881ea(0x19e)+_0xc2dc73['message'];logger[_0x3881ea(0x238)](_0x5a8ac6,_0x9d21e5),_0x4f60ee['ASLYA'](writeToFileLog,{..._0x5a8ac6,'level':_0x3881ea(0x238),'msg':_0x9d21e5,'time':new Date()['toISOString']()},_0x3881ea(0x215));},logHttpError=(_0x312e3a,_0xbbbb8d,_0xac5d7c={})=>{const _0x757aaa=a0_0x5ba06d,_0x325619={'jYjoI':_0x757aaa(0x1cd),'VEGnW':_0x757aaa(0x191),'TuEzY':function(_0x43847c,_0x15429){return _0x43847c(_0x15429);},'JMMWM':function(_0x10bdf8,_0x507260){return _0x10bdf8>=_0x507260;},'WhYpK':'warn'},_0x2b73a4={'event':_0x757aaa(0x1e4),'errorName':_0x312e3a['name']||_0x325619[_0x757aaa(0x1f7)],'errorMessage':_0x312e3a['message'],'errorCode':_0x312e3a['code']||_0x312e3a['statusCode']||0x1f4,'stack':_0x312e3a[_0x757aaa(0x219)],'method':_0xbbbb8d?.['method'],'url':_0xbbbb8d?.['url']||_0xbbbb8d?.['originalUrl'],'path':_0xbbbb8d?.['path'],'ip':_0xbbbb8d?.['ip']||_0xbbbb8d?.[_0x757aaa(0x1be)]?.['remoteAddress'],'userAgent':_0xbbbb8d?.[_0x757aaa(0x1e0)]?.(_0x757aaa(0x1ed)),'requestId':_0xbbbb8d?.['id']||_0xbbbb8d?.[_0x757aaa(0x1d0)]?.[_0x325619[_0x757aaa(0x20d)]],'body':_0xbbbb8d?.['body']?_0x325619[_0x757aaa(0x210)](redactObject,_0xbbbb8d[_0x757aaa(0x207)]):undefined,'query':_0xbbbb8d?.['query'],..._0xac5d7c},_0xb1e81f=_0x312e3a[_0x757aaa(0x184)]||_0x312e3a['status']||0x1f4,_0x4e89a1='HTTP\x20'+_0xb1e81f+':\x20'+_0x312e3a[_0x757aaa(0x185)];_0xb1e81f>=0x1f4?logger['error'](_0x2b73a4,_0x4e89a1):logger[_0x757aaa(0x1e8)](_0x2b73a4,_0x4e89a1),writeToFileLog({..._0x2b73a4,'level':_0x325619['JMMWM'](_0xb1e81f,0x1f4)?_0x757aaa(0x215):_0x325619['WhYpK'],'msg':_0x4e89a1,'time':new Date()[_0x757aaa(0x242)]()},_0x325619[_0x757aaa(0x19a)](_0xb1e81f,0x1f4)?_0x757aaa(0x215):'warn');},logUncaughtError=(_0x5cf4b5,_0x5676a1)=>{const _0x2b1d5f=a0_0x5ba06d,_0x1db836={'VWHya':function(_0x1f3d04,_0x380c8e){return _0x1f3d04(_0x380c8e);},'QxFRc':_0x2b1d5f(0x1b0),'qtXBn':_0x2b1d5f(0x238),'evBvn':'error'},_0x265079={'event':_0x5cf4b5,'errorName':_0x5676a1?.[_0x2b1d5f(0x18d)]||'Error','errorMessage':_0x5676a1?.['message']||_0x1db836[_0x2b1d5f(0x20c)](String,_0x5676a1),'errorCode':_0x5676a1?.['code']||null,'stack':_0x5676a1?.[_0x2b1d5f(0x219)],'severity':_0x1db836[_0x2b1d5f(0x21f)],'processId':process['pid'],'memoryUsage':process[_0x2b1d5f(0x1b9)](),'uptime':process['uptime']()},_0x327729='['+_0x5cf4b5['toUpperCase']()+']\x20'+(_0x5676a1?.[_0x2b1d5f(0x185)]||_0x5676a1);logger['fatal'](_0x265079,_0x327729),writeToFileLog({..._0x265079,'level':_0x1db836[_0x2b1d5f(0x1b3)],'msg':_0x327729,'time':new Date()['toISOString']()},_0x1db836['evBvn']);},setupGlobalErrorHandlers=()=>{const _0x571a61=a0_0x5ba06d,_0x26ff69={'SzYqb':function(_0x3f3645,_0x3398c0,_0x5176c0){return _0x3f3645(_0x3398c0,_0x5176c0);},'GSVbJ':'unhandledRejection','cnqxg':'warning','vJmTM':_0x571a61(0x1e3),'BDDvK':'info'};process['on']('uncaughtException',_0x4348f7=>{const _0x4afa6e=_0x571a61;logUncaughtError(_0x4afa6e(0x1f5),_0x4348f7),setTimeout(()=>{process['exit'](0x1);},0x3e8);}),process['on']('unhandledRejection',(_0x302ee2,_0x53d9ed)=>{const _0x24dbc2=_0x571a61,_0x2c9873=_0x302ee2 instanceof Error?_0x302ee2:new Error(String(_0x302ee2));_0x26ff69['SzYqb'](logUncaughtError,_0x26ff69[_0x24dbc2(0x1f4)],_0x2c9873);}),process['on'](_0x26ff69['cnqxg'],_0x3d8901=>{const _0x3a1d74=_0x571a61;logger['warn']({'event':_0x3a1d74(0x1f0),'name':_0x3d8901[_0x3a1d74(0x18d)],'message':_0x3d8901[_0x3a1d74(0x185)],'stack':_0x3d8901[_0x3a1d74(0x219)]},_0x3a1d74(0x1c5)+_0x3d8901['message']);});const _0x2dc5e9={'event':_0x571a61(0x1a7)},_0x23bb61=_0x26ff69['vJmTM'];logger[_0x571a61(0x1cc)](_0x2dc5e9,_0x23bb61),writeToFileLog({..._0x2dc5e9,'level':_0x571a61(0x1cc),'msg':_0x23bb61,'time':new Date()['toISOString']()},_0x26ff69['BDDvK']);},createErrorHandlerMiddleware=()=>{const _0x1a2db3=a0_0x5ba06d,_0x1feaea={'YXPrw':function(_0x372d5d,_0x42186e,_0x48f82c){return _0x372d5d(_0x42186e,_0x48f82c);},'hLsoe':_0x1a2db3(0x1af),'yGsgD':_0x1a2db3(0x191)};return(_0x1c8330,_0x4edc09,_0x51635b,_0x536138)=>{const _0x1a2ed8=_0x1a2db3;_0x1feaea[_0x1a2ed8(0x1c8)](logHttpError,_0x1c8330,_0x4edc09);const _0xe344f3=_0x1c8330[_0x1a2ed8(0x184)]||_0x1c8330['status']||0x1f4;_0x51635b[_0x1a2ed8(0x200)](_0xe344f3)['json']({'success':![],'error':_0xe344f3>=0x1f4?_0x1feaea[_0x1a2ed8(0x1df)]:_0x1c8330[_0x1a2ed8(0x185)],'requestId':_0x4edc09['id']||_0x4edc09[_0x1a2ed8(0x1d0)]?.[_0x1feaea['yGsgD']]||null});};};function a0_0x4524(_0x29ff1d,_0x4a0cf6){_0x29ff1d=_0x29ff1d-0x183;const _0x35a208=a0_0x35a2();let _0x452471=_0x35a208[_0x29ff1d];if(a0_0x4524['ESOYiK']===undefined){var _0x128e35=function(_0x57c251){const _0x104c9c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x55c6e6='',_0x304341='';for(let _0xdfcba3=0x0,_0x5b1fa4,_0x4270e6,_0x66450=0x0;_0x4270e6=_0x57c251['charAt'](_0x66450++);~_0x4270e6&&(_0x5b1fa4=_0xdfcba3%0x4?_0x5b1fa4*0x40+_0x4270e6:_0x4270e6,_0xdfcba3++%0x4)?_0x55c6e6+=String['fromCharCode'](0xff&_0x5b1fa4>>(-0x2*_0xdfcba3&0x6)):0x0){_0x4270e6=_0x104c9c['indexOf'](_0x4270e6);}for(let _0x5abca9=0x0,_0x218ad9=_0x55c6e6['length'];_0x5abca9<_0x218ad9;_0x5abca9++){_0x304341+='%'+('00'+_0x55c6e6['charCodeAt'](_0x5abca9)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x304341);};a0_0x4524['pigbnw']=_0x128e35,a0_0x4524['PIDeYU']={},a0_0x4524['ESOYiK']=!![];}const _0x3a1d01=_0x35a208[0x0],_0x21e56b=_0x29ff1d+_0x3a1d01,_0x82e7e5=a0_0x4524['PIDeYU'][_0x21e56b];return!_0x82e7e5?(_0x452471=a0_0x4524['pigbnw'](_0x452471),a0_0x4524['PIDeYU'][_0x21e56b]=_0x452471):_0x452471=_0x82e7e5,_0x452471;}module[a0_0x5ba06d(0x19c)]={'logger':logger,'createRequestLogger':createRequestLogger,'logServerStart':logServerStart,'logServerReady':logServerReady,'logProjectLoaded':logProjectLoaded,'logEndpointRegistered':logEndpointRegistered,'logDatabaseConfig':logDatabaseConfig,'logRequest':logRequest,'logQuery':logQuery,'logTransaction':logTransaction,'startQueryTimer':startQueryTimer,'parseQueryMetadata':parseQueryMetadata,'redactSensitiveParams':redactSensitiveParams,'initFileLogging':initFileLogging,'logError':logError,'logFatalError':logFatalError,'logHttpError':logHttpError,'logUncaughtError':logUncaughtError,'setupGlobalErrorHandlers':setupGlobalErrorHandlers,'createErrorHandlerMiddleware':createErrorHandlerMiddleware,'redactObject':redactObject,'SQL_LOG_CONFIG':{'enabled':sqlLogEnabled,'level':sqlLogLevel,'logParams':sqlLogParams,'slowThreshold':sqlLogSlowThreshold},'FILE_LOG_CONFIG':{'enabled':logToFile,'directory':logDir,'serviceName':serviceName}};
1
+ const a0_0x3cd68b=a0_0x451c;(function(_0x18d3b2,_0x1766fd){const _0x4bf625=a0_0x451c,_0x3d70e3=_0x18d3b2();while(!![]){try{const _0x3b3bd3=-parseInt(_0x4bf625(0x230))/0x1*(parseInt(_0x4bf625(0x1bb))/0x2)+parseInt(_0x4bf625(0x1c4))/0x3*(-parseInt(_0x4bf625(0x1d3))/0x4)+parseInt(_0x4bf625(0x1f5))/0x5+parseInt(_0x4bf625(0x1a7))/0x6*(-parseInt(_0x4bf625(0x248))/0x7)+-parseInt(_0x4bf625(0x20b))/0x8*(-parseInt(_0x4bf625(0x1e0))/0x9)+-parseInt(_0x4bf625(0x247))/0xa*(-parseInt(_0x4bf625(0x1d7))/0xb)+parseInt(_0x4bf625(0x20a))/0xc*(-parseInt(_0x4bf625(0x259))/0xd);if(_0x3b3bd3===_0x1766fd)break;else _0x3d70e3['push'](_0x3d70e3['shift']());}catch(_0xaec2b4){_0x3d70e3['push'](_0x3d70e3['shift']());}}}(a0_0x3324,0xad568));function a0_0x451c(_0x448a18,_0xeebc9){_0x448a18=_0x448a18-0x1a7;const _0x33242f=a0_0x3324();let _0x451ccb=_0x33242f[_0x448a18];if(a0_0x451c['FDWnmj']===undefined){var _0xddbfa2=function(_0x34bfbc){const _0xf6cb8='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2064c8='',_0x27b5aa='';for(let _0x5d186e=0x0,_0x33c4e6,_0x1cecbe,_0x20a7be=0x0;_0x1cecbe=_0x34bfbc['charAt'](_0x20a7be++);~_0x1cecbe&&(_0x33c4e6=_0x5d186e%0x4?_0x33c4e6*0x40+_0x1cecbe:_0x1cecbe,_0x5d186e++%0x4)?_0x2064c8+=String['fromCharCode'](0xff&_0x33c4e6>>(-0x2*_0x5d186e&0x6)):0x0){_0x1cecbe=_0xf6cb8['indexOf'](_0x1cecbe);}for(let _0x730def=0x0,_0x3b3f3c=_0x2064c8['length'];_0x730def<_0x3b3f3c;_0x730def++){_0x27b5aa+='%'+('00'+_0x2064c8['charCodeAt'](_0x730def)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x27b5aa);};a0_0x451c['mDrWwi']=_0xddbfa2,a0_0x451c['qgnaXf']={},a0_0x451c['FDWnmj']=!![];}const _0x1f7b19=_0x33242f[0x0],_0x16e690=_0x448a18+_0x1f7b19,_0x46017a=a0_0x451c['qgnaXf'][_0x16e690];return!_0x46017a?(_0x451ccb=a0_0x451c['mDrWwi'](_0x451ccb),a0_0x451c['qgnaXf'][_0x16e690]=_0x451ccb):_0x451ccb=_0x46017a,_0x451ccb;}const pino=require(a0_0x3cd68b(0x1f2)),fs=require('fs'),path=require(a0_0x3cd68b(0x1e9));function a0_0x3324(){const _0xe045dd=['Cgf0Aa','Aw5JBhvKzxm','CgfYyw1Z','ifTtte9xxq','CgLK','rgvMyxvSDa','D2fYBG','icbjBMzVoIaGia','y3jLzgvUDgLHBa','CgLUBW','s3vYq24','vfjbtLnbq1rjt05FqKvhsu4','ntK5mZG2nu5wAvb1AG','zxHWB3j0CW','uvrcBwq','ChjVzhvJDgLVBG','rejFueftu1DpuKq','Dg9Rzw4','zgvMyxvSDa','zgf0ywjHC2u','zgjFDhjHBNnHy3rPB24','ms4WlJu','z0HOyuO','CMvWBgfJzq','CMvMCMvZAf90B2TLBG','DgvZDa','C2vJCMv0','Bwf0y2G','Dg9vChbLCKnHC2u','Ec1Yzxf1zxn0lwLK','rKrhufq','C3vIC3rYAw5N','sfruuca','mZm2yM1Mtu5P','ntG4odi0vvzgBMrr','BgvUz3rO','AhnUExu','Ahj0Aw1L','ChjVy2vZC193yxjUAw5N','B2jQzwn0','tKPQC0i','CgLU','AgvHzgvYCW','Dg9ju09tDhjPBMC','vhrRD1m','C3rKvgLTzuz1BMn0Aw9UCW','CgfZC3DVCMq','rermx0rst1a','CgfKrw5K','zxHPC3rZu3LUyW','qunusvzf','q0Xvshy','zw52','zgf0ywjHC2vFy29UzMLN','yLfYzu4','ic0G','EuzlBKm','quXurvi','y29Kzq','Bwv0Ag9K','q1jjveLdquW','A0zzzxC','BwvZC2fNzq','zgv2zwXVCg1LBNq','te9hx0rjuG','ChjVAMvJDa','BNrUz0m','revmrvrf','AxntBg93','ChDK','zNHUyuS','nteZntvJtfLOC0m','ChjPDMf0zv9RzxK','Aw5MBW','rMfPBgvKihrVignYzwf0zsbSB2CGC3rYzwfTCZO','vvbeqvrf','BMfTzq','DxnLCG','te9hx0XfvKvm','C3rYAw5N','E21Zz30','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','CxPqAhC','Dw5Oyw5KBgvKuMvQzwn0Aw9U','C2vYDMvYx3n0yxj0Aw5N','ANnVBG','tK9erv9ftLy','weDevKC','qvPSBw4','yxbPA2v5','C3rYAw5NAwz5','A2v5CW','EezWA1O','C3rHCNrZv2L0Aa','mtaWmJCWruPNDhDx','mta2mJm5ter1wKnq','w09lxsbqCM9Qzwn0igXVywrLzdOG','vLLVr1i','C29Tzq','iokvKqRILzeGienVBMzPzYaGicaGidOG','w09lxsbtzxj2zxiGCMvHzhKGB24GCg9YDca','ufbNrMK','Dhj1zq','CgLUBY1WCMv0DhK','Cg9ZDgDYzxnXBa','C3rKu2vYAwfSAxPLCNm','Cg9YDa','tI9b','icbizwfSDgG6ia','ig9UihbVCNqG','yxv0Ag9YAxPHDgLVBG','rMfPBgvKihrVignYzwf0zsbSB2CGzgLYzwn0B3j5ia','mZm0mdiYz1fSEwHi','DLvqv1u','AwDYtfu','yMfZzvvYBa','C2vYDMLJzuLUzM8','v3PfBe0','y29UzMLNrMLSzq','s0XxD2u','ndm4shz1uNbK','q3Ljqva','sw50zxjUywWGC2vYDMvYigvYCM9Y','y3z2','vu5ltK9xtG','CxvLCNK','y3jLyxrLv3jPDgvtDhjLyw0','AM9PBG','zMf0ywW','w1jfrefdvevexq','DKLvue4','CMvWzwf0','u1fmx0Xpr19mrvzfta','veH0qxu','su5trvju','te9hx1rpx0zjteu','rgf0ywjHC2u6ia','u1fmx0Xpr19qqvjbtvm','A0DQuKy','w1jfrefdveveoNrVA2vUxq','mKP2qKXwqq','v0jluMG','C3rHDhvZq29Kzq','w1jfrefdveveoMHHC2HD','CMvZDgzVCMDL','whPUrLy','zgvIDwC','zKHmENC','tLvNA00','mZiXotiXBhLQs1z6','BxmP','EKLXzhC','sLDux1nfq1jfva','zxjYB3i','C3bSAxq','cUkvLokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvLWO','ChjPDMf0zwTLEq','EezOzue','CgfZC3DK','yxbWlMXVzW','y0DeDw4','AKHirNG','Dg9mB3DLCKnHC2u','CMvTB3rLqwrKCMvZCW','mtj3CgXotuK','r0rkEgG','yxbPs2v5','zw5KCg9PBNrFCMvNAxn0zxjLza','mtiZmKT5wKjQsW','zvPmB3u','zxjYB3iUBg9N','yMPSrxG','C3rHDhvZ','tK9uiefdveLwrq','yM9KEq','rvPzBNi','C3rHy2S','nZjYB0zZq24','rKfuquW6ia','D3jPDgu','iokvKqRILzeGifbYB2PLy3qGicaGidOG','rwfcCxq','y3jLzgL0y2fYza','vuzkq1C','DhjPBq','rxjYB3i'];a0_0x3324=function(){return _0xe045dd;};return a0_0x3324();}let logToFile=![],logDir='./logs',serviceName=a0_0x3cd68b(0x1bf),sqlLogEnabled=![],sqlLogLevel='debug',sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':'SYS:HH:MM:ss','ignore':'pid,hostname,service,version,env,event,module,port,config,apiKeyEnabled,path,workingDir,isPkg,isNodeScript,file,email,type,cors,logging,apiKey,count,endpoint,route','singleLine':![],'levelFirst':!![],'messageFormat':a0_0x3cd68b(0x239),'customColors':'info:blue,warn:yellow,error:red,debug:gray','hideObject':!![]},isDevelopment=process['env'][a0_0x3cd68b(0x23f)]!==a0_0x3cd68b(0x1f8),logLevel=process[a0_0x3cd68b(0x21d)][a0_0x3cd68b(0x237)]||a0_0x3cd68b(0x232);let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':a0_0x3cd68b(0x250),'options':prettyPrintOptions}:undefined,'base':{'service':a0_0x3cd68b(0x1bf),'version':process['env']['APP_VERSION']||a0_0x3cd68b(0x1fe),'env':process[a0_0x3cd68b(0x21d)][a0_0x3cd68b(0x23f)]||a0_0x3cd68b(0x228)},'timestamp':pino[a0_0x3cd68b(0x216)]['isoTime'],'redact':{'paths':['req.headers.authorization','req.headers[\x22x-api-key\x22]','password',a0_0x3cd68b(0x1fa),a0_0x3cd68b(0x1d5),a0_0x3cd68b(0x1f9),a0_0x3cd68b(0x1c7)],'censor':'[REDACTED]'},'serializers':{'req':_0x2873df=>({'id':_0x2873df['id'],'method':_0x2873df[a0_0x3cd68b(0x224)],'url':_0x2873df['url'],'path':_0x2873df[a0_0x3cd68b(0x1e9)],'remoteAddress':_0x2873df['ip']||_0x2873df['connection']?.['remoteAddress']}),'res':_0x4a1f11=>({'statusCode':_0x4a1f11[a0_0x3cd68b(0x1bd)],'headers':_0x4a1f11['getHeaders']?.()}),'err':pino[a0_0x3cd68b(0x252)]['err']}});function initFileLogging(){const _0x50c008=a0_0x3cd68b,_0x12875b={'EZYnr':function(_0x2852e2,_0x12c9da){return _0x2852e2===_0x12c9da;},'hfsRX':_0x50c008(0x1fb),'GDJxh':function(_0x3d2eb2,_0x18cad8){return _0x3d2eb2===_0x18cad8;},'TtkwS':'true','CyIAP':_0x50c008(0x1c1),'cGDun':function(_0x4bce41,_0x58ddc1){return _0x4bce41!==_0x58ddc1;},'fxnaK':'false','nPumj':function(_0x9e379c,_0x503576){return _0x9e379c(_0x503576);},'DrWUT':'error.log','zIqdw':'file_logging_enabled','bjlEx':_0x50c008(0x232)};if(fileLoggingInitialized)return;logToFile=_0x12875b[_0x50c008(0x1de)](process['env'][_0x50c008(0x1b6)],_0x50c008(0x24f));const _0x3890b8=process[_0x50c008(0x21d)][_0x50c008(0x23a)]||_0x12875b['hfsRX'];logDir=process['env'][_0x50c008(0x229)]||'./logs/'+_0x3890b8,serviceName=process[_0x50c008(0x21d)]['SERVICE_NAME']||_0x50c008(0x1bf),sqlLogEnabled=_0x12875b[_0x50c008(0x1d4)](process['env']['SQL_LOG_ENABLED'],_0x12875b[_0x50c008(0x215)]),sqlLogLevel=process['env'][_0x50c008(0x1b3)]||_0x12875b[_0x50c008(0x1a8)],sqlLogParams=_0x12875b[_0x50c008(0x1cf)](process[_0x50c008(0x21d)][_0x50c008(0x1b8)],_0x12875b[_0x50c008(0x22f)]),sqlLogSlowThreshold=_0x12875b['nPumj'](parseInt,process['env']['SQL_LOG_SLOW_THRESHOLD'])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x525653=path['resolve'](process['cwd'](),logDir);try{!fs[_0x50c008(0x21a)](_0x525653)&&fs['mkdirSync'](_0x525653,{'recursive':!![]});}catch(_0xe10083){console['error'](_0x50c008(0x258)+_0x525653+':',_0xe10083['message']),fileLoggingInitialized=!![];return;}const _0x2b90b8=path[_0x50c008(0x1ae)](_0x525653,'app.log'),_0x2edca9=path[_0x50c008(0x1ae)](_0x525653,_0x12875b['DrWUT']);try{appLogStream=fs['createWriteStream'](_0x2b90b8,{'flags':'a'}),errorLogStream=fs[_0x50c008(0x1ad)](_0x2edca9,{'flags':'a'}),fileLoggingInitialized=!![];const _0x22dbaa={'event':_0x12875b[_0x50c008(0x1c6)],'logDir':_0x525653,'files':[_0x50c008(0x1ce),_0x50c008(0x1d9)]},_0x17b75c='File\x20logging\x20enabled:\x20'+_0x525653;logger['info'](_0x22dbaa,_0x17b75c),writeToFileLog({..._0x22dbaa,'level':_0x12875b[_0x50c008(0x1da)],'msg':_0x17b75c,'time':new Date()[_0x50c008(0x214)]()},_0x12875b['bjlEx']);}catch(_0x8c1ad2){console[_0x50c008(0x1c8)](_0x50c008(0x233),_0x8c1ad2['message']),fileLoggingInitialized=!![];}}function writeToFileLog(_0x597cfa,_0x845e0b){const _0x2e64de=a0_0x3cd68b,_0x2712ae={'gHhaJ':function(_0x5a9af2,_0x4099a9){return _0x5a9af2===_0x4099a9;},'cHqls':'error'};if(!logToFile||!appLogStream)return;const _0x470f0e={'service':serviceName,..._0x597cfa},_0x381711=JSON[_0x2e64de(0x243)](_0x470f0e)+'\x0a';appLogStream[_0x2e64de(0x1e2)](_0x381711),(_0x2712ae['gHhaJ'](_0x845e0b,_0x2712ae['cHqls'])||_0x2712ae[_0x2e64de(0x1ff)](_0x845e0b,_0x2e64de(0x1af)))&&(errorLogStream&&errorLogStream['write'](_0x381711));}const createRequestLogger=(_0x15aada={})=>{return logger['child'](_0x15aada);},logServerStart=_0x2248f9=>{const _0x52e000=a0_0x3cd68b,_0x965759={'VbRMD':function(_0x2c5185,_0x471e92){return _0x2c5185-_0x471e92;},'xFpkZ':function(_0xc6010b,_0x4339ff){return _0xc6010b/_0x4339ff;},'fHLzw':'Node.js','zXBsw':_0x52e000(0x254),'QTBmd':function(_0x16e293,_0x4b16e6,_0x237115){return _0x16e293(_0x4b16e6,_0x237115);},'jHHFx':_0x52e000(0x232)},_0x55010f='RESTFORGE\x20RUNTIME\x20SERVER',_0x330c1c=Math['max'](0x0,_0x965759['VbRMD'](0x37,_0x55010f[_0x52e000(0x20c)])),_0x424e18=Math['floor'](_0x965759[_0x52e000(0x245)](_0x330c1c,0x2)),_0x1f689f=_0x330c1c-_0x424e18,_0x40366a='║'+'\x20'[_0x52e000(0x1b2)](_0x424e18)+_0x55010f+'\x20'['repeat'](_0x1f689f)+'║',_0x48638b=_0x52e000(0x1ca)+_0x40366a+'\x0a╠═══════════════════════════════════════════════════════╣\x0a║\x20\x20Environment\x20:\x20'+(_0x2248f9['environment']||_0x965759[_0x52e000(0x1c2)])['padEnd'](0x26)+_0x52e000(0x1e3)+(_0x2248f9['project']||_0x965759['zXBsw'])['padEnd'](0x26)+'\x20║\x0a║\x20\x20Port\x20\x20\x20\x20\x20\x20\x20\x20:\x20'+String(_0x2248f9['port']||0xbb8)['padEnd'](0x26)+_0x52e000(0x24c)+(_0x2248f9['configFile']||_0x52e000(0x1ee))[_0x52e000(0x219)](0x26)+'\x20║\x0a║\x20\x20API\x20Key\x20\x20\x20\x20\x20:\x20'+(_0x2248f9[_0x52e000(0x1d5)]?_0x52e000(0x21b):_0x52e000(0x1dc))['padEnd'](0x26)+'\x20║\x0a╚═══════════════════════════════════════════════════════╝';console['log'](_0x48638b);const _0x530f8a={'event':_0x52e000(0x23d),'project':_0x2248f9[_0x52e000(0x22a)],'port':_0x2248f9[_0x52e000(0x253)],'config':_0x2248f9[_0x52e000(0x25f)],'apiKeyEnabled':!!_0x2248f9[_0x52e000(0x1d5)]};logger['info'](_0x530f8a),_0x965759[_0x52e000(0x1f7)](writeToFileLog,{..._0x530f8a,'level':_0x52e000(0x232),'msg':'Server\x20starting:\x20'+_0x2248f9['project']+_0x52e000(0x256)+_0x2248f9['port'],'time':new Date()['toISOString']()},_0x965759[_0x52e000(0x1d0)]);},logServerReady=_0x1b5032=>{const _0x1fe81c=a0_0x3cd68b,_0x5871f6={'xEgcY':_0x1fe81c(0x232)},_0x20a1b8={'event':'server_ready','port':_0x1b5032[_0x1fe81c(0x253)],'module':_0x1b5032['module'],'healthCheck':_0x1b5032['healthCheck'],'serviceInfo':_0x1b5032[_0x1fe81c(0x25d)],'baseUrl':_0x1b5032[_0x1fe81c(0x25c)]},_0x39ed37=_0x1fe81c(0x24d)+_0x1b5032[_0x1fe81c(0x253)];logger[_0x1fe81c(0x232)](_0x20a1b8,_0x39ed37),writeToFileLog({..._0x20a1b8,'level':'info','msg':_0x39ed37,'time':new Date()[_0x1fe81c(0x214)]()},_0x5871f6['xEgcY']),_0x1b5032['healthCheck']&&logger['info'](_0x1fe81c(0x255)+_0x1b5032['healthCheck']),_0x1b5032['serviceInfo']&&logger[_0x1fe81c(0x232)](_0x1fe81c(0x1f0)+_0x1b5032['serviceInfo']),_0x1b5032['baseUrl']&&logger[_0x1fe81c(0x232)]('\x20\x20URL:\x20\x20\x20\x20'+_0x1b5032['baseUrl']);},logProjectLoaded=(_0x14f2dd,_0x41a6cb)=>{const _0x3adfb4=a0_0x3cd68b,_0x581709={'kBSeN':'project_loaded','bBOMN':'info'},_0x59e255={'event':_0x581709['kBSeN'],'project':_0x14f2dd,'path':_0x41a6cb},_0x397043=_0x3adfb4(0x249)+_0x14f2dd;logger[_0x3adfb4(0x232)](_0x59e255,_0x397043),writeToFileLog({..._0x59e255,'level':_0x581709['bBOMN'],'msg':_0x397043,'time':new Date()[_0x3adfb4(0x214)]()},'info');},logEndpointRegistered=(_0x8f36d3,_0x110011)=>{const _0x528dd8=a0_0x3cd68b,_0x5da945={'eZLou':_0x528dd8(0x1c1)},_0x3866d1={'event':_0x528dd8(0x1d6),'endpoint':_0x8f36d3,'route':_0x110011},_0x4c5b82='\x20\x20→\x20'+_0x8f36d3+':\x20'+_0x110011;logger['debug'](_0x3866d1,_0x4c5b82),writeToFileLog({..._0x3866d1,'level':_0x5da945['eZLou'],'msg':_0x4c5b82,'time':new Date()[_0x528dd8(0x214)]()},_0x5da945[_0x528dd8(0x1d8)]);},logDatabaseConfig=_0x2c3522=>{const _0x3390a3=a0_0x3cd68b,_0x811332={'event':_0x3390a3(0x21e),'host':_0x2c3522['host'],'port':_0x2c3522['port'],'database':_0x2c3522[_0x3390a3(0x1fc)],'type':_0x2c3522['type'],'user':_0x2c3522[_0x3390a3(0x236)]},_0x7a4640=_0x3390a3(0x1b7)+_0x2c3522['type']+'://'+_0x2c3522['host']+':'+_0x2c3522[_0x3390a3(0x253)]+'/'+_0x2c3522[_0x3390a3(0x1fc)];logger[_0x3390a3(0x1c1)](_0x811332,_0x7a4640),writeToFileLog({..._0x811332,'level':'debug','msg':_0x7a4640,'time':new Date()[_0x3390a3(0x214)]()},'debug');},logRequest=(_0x26c4f8,_0x27d40d,_0x429d21)=>{const _0x45ef90=a0_0x3cd68b,_0x43678f={'VNmAe':'http_request','THtAu':function(_0x32bb11,_0x342df2){return _0x32bb11>=_0x342df2;}},_0x3c2ecd={'event':_0x43678f['VNmAe'],'method':_0x26c4f8['method'],'path':_0x26c4f8['path'],'statusCode':_0x27d40d['statusCode'],'durationMs':_0x429d21,'ip':_0x26c4f8['ip']},_0x1adf67=_0x26c4f8['method']+'\x20'+_0x26c4f8['path']+_0x45ef90(0x220)+_0x27d40d['statusCode']+'\x20('+_0x429d21+_0x45ef90(0x1c5);let _0x43e339=_0x45ef90(0x232);if(_0x27d40d[_0x45ef90(0x1bd)]>=0x1f4)_0x43e339='error',logger['error'](_0x3c2ecd,_0x1adf67);else _0x43678f[_0x45ef90(0x1b4)](_0x27d40d['statusCode'],0x190)?(_0x43e339=_0x45ef90(0x1ef),logger['warn'](_0x3c2ecd,_0x1adf67)):logger['info'](_0x3c2ecd,_0x1adf67);writeToFileLog({..._0x3c2ecd,'level':_0x43e339,'msg':_0x1adf67,'time':new Date()[_0x45ef90(0x214)]()},_0x43e339);},SENSITIVE_PARAM_PATTERNS=[a0_0x3cd68b(0x217),'passwd',a0_0x3cd68b(0x22e),a0_0x3cd68b(0x1fa),'access_token','refresh_token',a0_0x3cd68b(0x203),'api_secret',a0_0x3cd68b(0x242),'api_key',a0_0x3cd68b(0x1f1),'credentials',a0_0x3cd68b(0x212),'otp','private_key',a0_0x3cd68b(0x1cb)],redactSensitiveParams=(_0x4700c9,_0x408f86)=>{const _0x18c8ee=a0_0x3cd68b,_0x3e3518={'CLUHv':_0x18c8ee(0x1ba)};if(!_0x4700c9||_0x4700c9['length']===0x0)return _0x4700c9;const _0x428b41=_0x408f86['toLowerCase'](),_0x594ba8=_0x428b41['match'](/\(([^)]+)\)\s*values/i);let _0x28dfb5=[];_0x594ba8&&(_0x28dfb5=_0x594ba8[0x1][_0x18c8ee(0x1c9)](',')['map'](_0x54219c=>_0x54219c['trim']()['toLowerCase']()));const _0x13f2a7=_0x428b41[_0x18c8ee(0x204)](/set\s+(.+?)(?:\s+where|$)/i);if(_0x13f2a7){const _0x5e8b8d=_0x13f2a7[0x1],_0x56b9ee=_0x5e8b8d[_0x18c8ee(0x204)](/(\w+)\s*=/g);_0x56b9ee&&(_0x28dfb5=_0x56b9ee['map'](_0x227022=>_0x227022[_0x18c8ee(0x200)](/\s*=/,'')['trim']()[_0x18c8ee(0x1d1)]()));}return _0x4700c9['map']((_0x11a899,_0x4c5731)=>{const _0x8a5970=_0x18c8ee;if(_0x28dfb5[_0x4c5731]){const _0x3eeaab=_0x28dfb5[_0x4c5731],_0x5e19fb=SENSITIVE_PARAM_PATTERNS['some'](_0x1ea907=>_0x3eeaab[_0x8a5970(0x1ea)](_0x1ea907));if(_0x5e19fb)return _0x8a5970(0x1b0);}if(typeof _0x11a899===_0x8a5970(0x238)&&_0x11a899['length']>0x20){if(/^[a-zA-Z0-9+/=_.-]+$/[_0x8a5970(0x202)](_0x11a899)&&_0x11a899['includes']('.'))return _0x3e3518[_0x8a5970(0x21c)];if(/^[a-fA-F0-9]{32,}$/[_0x8a5970(0x202)](_0x11a899))return _0x8a5970(0x1be);}return _0x11a899;});},parseQueryMetadata=_0x148ed8=>{const _0x40e6c7=a0_0x3cd68b,_0x2a1669={'wTHJc':_0x40e6c7(0x1ab),'EaBqt':'SELECT','WzElM':_0x40e6c7(0x1b5),'UFJCW':'BEGIN','FDGPT':_0x40e6c7(0x1f4),'vIUPN':'TRANSACTION_ROLLBACK','qzPhw':_0x40e6c7(0x222),'TlnmA':'DROP','bKcqo':_0x40e6c7(0x218)},_0x1362e4=_0x148ed8[_0x40e6c7(0x1e7)](),_0x2e730b=_0x1362e4['toUpperCase']();let _0x4a74e2=_0x2a1669['wTHJc'],_0x1cfadc=null;if(_0x2e730b['startsWith'](_0x2a1669[_0x40e6c7(0x1e4)])){_0x4a74e2=_0x2a1669['EaBqt'];const _0xe33955=_0x1362e4[_0x40e6c7(0x204)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x1cfadc=_0xe33955?_0xe33955[0x1]:null;}else{if(_0x2e730b['startsWith'](_0x2a1669[_0x40e6c7(0x25e)])){_0x4a74e2=_0x2a1669['WzElM'];const _0x575322=_0x1362e4['match'](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x1cfadc=_0x575322?_0x575322[0x1]:null;}else{if(_0x2e730b[_0x40e6c7(0x246)](_0x40e6c7(0x234))){_0x4a74e2='UPDATE';const _0x2c7b93=_0x1362e4['match'](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x1cfadc=_0x2c7b93?_0x2c7b93[0x1]:null;}else{if(_0x2e730b[_0x40e6c7(0x246)]('DELETE')){_0x4a74e2=_0x40e6c7(0x22c);const _0x5383be=_0x1362e4['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x1cfadc=_0x5383be?_0x5383be[0x1]:null;}else{if(_0x2e730b['startsWith'](_0x2a1669[_0x40e6c7(0x1e6)])||_0x2e730b[_0x40e6c7(0x246)]('START\x20TRANSACTION'))_0x4a74e2=_0x2a1669[_0x40e6c7(0x207)];else{if(_0x2e730b['startsWith']('COMMIT'))_0x4a74e2='TRANSACTION_COMMIT';else{if(_0x2e730b['startsWith']('ROLLBACK'))_0x4a74e2=_0x2a1669[_0x40e6c7(0x1b1)];else{if(_0x2e730b['startsWith']('CREATE'))_0x4a74e2='DDL_CREATE';else{if(_0x2e730b[_0x40e6c7(0x246)](_0x2a1669[_0x40e6c7(0x23b)]))_0x4a74e2='DDL_ALTER';else _0x2e730b['startsWith'](_0x2a1669['TlnmA'])&&(_0x4a74e2=_0x2a1669['bKcqo']);}}}}}}}}return{'type':_0x4a74e2,'table':_0x1cfadc};},startQueryTimer=()=>{const _0x2b9151=a0_0x3cd68b,_0x29035e={'igrLU':function(_0x317d9b,_0x1b3416){return _0x317d9b(_0x1b3416);},'XznFV':function(_0x34da8a,_0x2ba491){return _0x34da8a/_0x2ba491;}},_0x4ec1dd=process[_0x2b9151(0x20e)]();return()=>{const _0x3ed030=_0x2b9151,[_0x12bf7d,_0x57bae3]=process[_0x3ed030(0x20e)](_0x4ec1dd);return _0x29035e[_0x3ed030(0x25b)](parseFloat,(_0x12bf7d*0x3e8+_0x29035e[_0x3ed030(0x1c0)](_0x57bae3,0xf4240))['toFixed'](0x2));};},logQuery=(_0x2c26b5,_0x476e48=[],_0x1432db={})=>{const _0x3ea501=a0_0x3cd68b,_0x5cf3eb={'bQreN':'db_query','PPgFi':function(_0x4516e7,_0x2de93a){return _0x4516e7>_0x2de93a;},'kPosV':function(_0x4b3291,_0x2bc557,_0x415487){return _0x4b3291(_0x2bc557,_0x415487);},'WBKRh':function(_0x389fef,_0x52c9ac){return _0x389fef!==_0x52c9ac;},'XGDVG':_0x3ea501(0x1ec),'kFYew':'warn','Fwujd':function(_0xbd5957,_0x59b332){return _0xbd5957===_0x59b332;}};if(!sqlLogEnabled){logger['debug']({'event':_0x5cf3eb[_0x3ea501(0x21f)],'query':_0x2c26b5[_0x3ea501(0x208)](0x0,0xc8),'paramCount':_0x476e48[_0x3ea501(0x20c)]},'DB\x20Query');return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x3ea501(0x251)}=_0x1432db,{type:_0x146edf,table:_0x1833be}=parseQueryMetadata(_0x2c26b5),_0x10658f={'event':'sql_query','queryType':_0x146edf,'table':_0x1833be,'query':_0x2c26b5,'paramCount':_0x476e48[_0x3ea501(0x20c)],'dbType':dbType};sqlLogParams&&_0x5cf3eb[_0x3ea501(0x24e)](_0x476e48['length'],0x0)&&(_0x10658f[_0x3ea501(0x1eb)]=_0x5cf3eb['kPosV'](redactSensitiveParams,_0x476e48,_0x2c26b5));duration!==null&&(_0x10658f['durationMs']=duration,_0x10658f[_0x3ea501(0x22d)]=_0x5cf3eb[_0x3ea501(0x24e)](duration,sqlLogSlowThreshold));rowsAffected!==null&&(_0x10658f['rowsAffected']=rowsAffected);const _0x17ef74=_0x1833be||'unknown';let _0x489858='['+_0x146edf+']\x20'+_0x17ef74;_0x5cf3eb[_0x3ea501(0x1bc)](duration,null)&&(_0x489858+='\x20('+duration+_0x3ea501(0x1c5));const _0x598e38=_0x5cf3eb[_0x3ea501(0x1bc)](duration,null)&&duration>sqlLogSlowThreshold;let _0x45137e='debug';if(_0x598e38)_0x489858+=_0x5cf3eb[_0x3ea501(0x240)],_0x45137e=_0x5cf3eb[_0x3ea501(0x226)],logger[_0x3ea501(0x1ef)](_0x10658f,_0x489858);else _0x5cf3eb['Fwujd'](sqlLogLevel,_0x3ea501(0x232))?(_0x45137e='info',logger['info'](_0x10658f,_0x489858)):logger[_0x3ea501(0x1c1)](_0x10658f,_0x489858);_0x5cf3eb['kPosV'](writeToFileLog,{..._0x10658f,'level':_0x45137e,'msg':_0x489858,'time':new Date()['toISOString']()},_0x45137e);},logTransaction=(_0x2e69da,_0x128d8d)=>{const _0x482c25=a0_0x3cd68b,_0xaff238={'yFKnC':function(_0xb38885,_0x31c35e,_0x550204){return _0xb38885(_0x31c35e,_0x550204);},'cmfUw':_0x482c25(0x1c1)},_0xdc6e6b={'event':_0x482c25(0x1fd),'status':_0x2e69da,'queryCount':_0x128d8d},_0x19ca80='Transaction\x20'+_0x2e69da;logger[_0x482c25(0x1c1)](_0xdc6e6b,_0x19ca80),_0xaff238[_0x482c25(0x221)](writeToFileLog,{..._0xdc6e6b,'level':_0xaff238['cmfUw'],'msg':_0x19ca80,'time':new Date()[_0x482c25(0x214)]()},_0x482c25(0x1c1));},redactObject=_0x297575=>{const _0x2e4e5c=a0_0x3cd68b,_0x4b9c20={'KurCn':_0x2e4e5c(0x210),'gWVrd':'password','ipepy':_0x2e4e5c(0x1fa),'fSptg':_0x2e4e5c(0x203),'NUgkM':'apikey','ntngC':_0x2e4e5c(0x1e5),'NJjsB':'credit_card','kGjRF':_0x2e4e5c(0x1aa),'moGey':'ssn','yVgjw':'access_token','NvrTM':function(_0x277d1d,_0x741f65){return _0x277d1d===_0x741f65;},'xFheA':function(_0x55741b,_0x31a675){return _0x55741b(_0x31a675);}};if(!_0x297575||typeof _0x297575!==_0x4b9c20['KurCn'])return _0x297575;const _0x102d0b=[_0x4b9c20['gWVrd'],_0x2e4e5c(0x1cd),'pwd',_0x4b9c20['ipepy'],_0x4b9c20['fSptg'],_0x4b9c20[_0x2e4e5c(0x1c3)],'api_key',_0x2e4e5c(0x257),_0x4b9c20[_0x2e4e5c(0x22b)],_0x4b9c20[_0x2e4e5c(0x211)],_0x4b9c20[_0x2e4e5c(0x1b9)],_0x4b9c20['moGey'],'pin',_0x2e4e5c(0x231),'privatekey',_0x2e4e5c(0x201),_0x4b9c20['yVgjw']],_0x581397=Array['isArray'](_0x297575)?[..._0x297575]:{..._0x297575};for(const _0x33ea9 of Object[_0x2e4e5c(0x244)](_0x581397)){const _0x1dad2f=_0x33ea9['toLowerCase']();if(_0x102d0b[_0x2e4e5c(0x24b)](_0x3755c3=>_0x1dad2f[_0x2e4e5c(0x1ea)](_0x3755c3)))_0x581397[_0x33ea9]=_0x2e4e5c(0x1b0);else _0x4b9c20['NvrTM'](typeof _0x581397[_0x33ea9],_0x4b9c20[_0x2e4e5c(0x1f3)])&&_0x581397[_0x33ea9]!==null&&(_0x581397[_0x33ea9]=_0x4b9c20[_0x2e4e5c(0x1cc)](redactObject,_0x581397[_0x33ea9]));}return _0x581397;},logError=(_0x5e5900,_0xd4c74f={},_0x46ec67=null)=>{const _0x1f398b=a0_0x3cd68b,_0x347259={'jBcEY':'Error','hsnyu':'error'},_0x15a068={'event':'error','errorName':_0x5e5900[_0x1f398b(0x235)]||_0x347259['jBcEY'],'errorMessage':_0x5e5900['message'],'errorCode':_0x5e5900[_0x1f398b(0x223)]||null,'stack':_0x5e5900['stack'],..._0xd4c74f},_0x7d9bbe=_0x46ec67||'Error:\x20'+_0x5e5900[_0x1f398b(0x227)];logger[_0x1f398b(0x1c8)](_0x15a068,_0x7d9bbe),writeToFileLog({..._0x15a068,'level':_0x347259[_0x1f398b(0x20d)],'msg':_0x7d9bbe,'time':new Date()[_0x1f398b(0x214)]()},'error');},logFatalError=(_0x58f17e,_0x1c85f1={},_0x1d0e6e=null)=>{const _0x436615=a0_0x3cd68b,_0x34a261={'VYoGR':'fatal_error','KLWwe':'Error','OFsoD':'CRITICAL','RzuNk':function(_0x1728d6,_0x28a38a,_0x3ceeeb){return _0x1728d6(_0x28a38a,_0x3ceeeb);},'mmGQQ':_0x436615(0x1af)},_0x143da2={'event':_0x34a261[_0x436615(0x24a)],'errorName':_0x58f17e['name']||_0x34a261[_0x436615(0x260)],'errorMessage':_0x58f17e['message'],'errorCode':_0x58f17e['code']||null,'stack':_0x58f17e['stack'],'severity':_0x34a261['OFsoD'],..._0x1c85f1},_0x28d3de=_0x1d0e6e||_0x436615(0x1e1)+_0x58f17e[_0x436615(0x227)];logger['fatal'](_0x143da2,_0x28d3de),_0x34a261['RzuNk'](writeToFileLog,{..._0x143da2,'level':_0x34a261['mmGQQ'],'msg':_0x28d3de,'time':new Date()['toISOString']()},_0x436615(0x1c8));},logHttpError=(_0xc44db4,_0xbb0b,_0x717f6d={})=>{const _0x3c3d9a=a0_0x3cd68b,_0x7e3096={'HxSXD':_0x3c3d9a(0x1e8),'dnqcB':function(_0x5a1b37,_0x3d390f){return _0x5a1b37(_0x3d390f);},'uXZcy':function(_0x2d2e1d,_0xdab222,_0x228f7a){return _0x2d2e1d(_0xdab222,_0x228f7a);},'smxsL':function(_0x56f30b,_0x41a8a4){return _0x56f30b>=_0x41a8a4;},'vNOst':'error','fpMhk':'warn'},_0x20ea2e={'event':'http_error','errorName':_0xc44db4['name']||_0x7e3096['HxSXD'],'errorMessage':_0xc44db4[_0x3c3d9a(0x227)],'errorCode':_0xc44db4['code']||_0xc44db4[_0x3c3d9a(0x1bd)]||0x1f4,'stack':_0xc44db4[_0x3c3d9a(0x1df)],'method':_0xbb0b?.['method'],'url':_0xbb0b?.['url']||_0xbb0b?.['originalUrl'],'path':_0xbb0b?.[_0x3c3d9a(0x1e9)],'ip':_0xbb0b?.['ip']||_0xbb0b?.['connection']?.[_0x3c3d9a(0x1d2)],'userAgent':_0xbb0b?.['get']?.('user-agent'),'requestId':_0xbb0b?.['id']||_0xbb0b?.['headers']?.[_0x3c3d9a(0x206)],'body':_0xbb0b?.[_0x3c3d9a(0x1dd)]?_0x7e3096['dnqcB'](redactObject,_0xbb0b['body']):undefined,'query':_0xbb0b?.[_0x3c3d9a(0x1ac)],..._0x717f6d},_0x2423f4=_0xc44db4[_0x3c3d9a(0x1bd)]||_0xc44db4[_0x3c3d9a(0x1db)]||0x1f4,_0x22f8f7=_0x3c3d9a(0x209)+_0x2423f4+':\x20'+_0xc44db4['message'];_0x2423f4>=0x1f4?logger['error'](_0x20ea2e,_0x22f8f7):logger['warn'](_0x20ea2e,_0x22f8f7),_0x7e3096['uXZcy'](writeToFileLog,{..._0x20ea2e,'level':_0x7e3096['smxsL'](_0x2423f4,0x1f4)?_0x7e3096['vNOst']:_0x3c3d9a(0x1ef),'msg':_0x22f8f7,'time':new Date()[_0x3c3d9a(0x214)]()},_0x7e3096['smxsL'](_0x2423f4,0x1f4)?_0x7e3096['vNOst']:_0x7e3096['fpMhk']);},logUncaughtError=(_0x476892,_0x320b5b)=>{const _0x3242f3=a0_0x3cd68b,_0x13348d={'FjISY':function(_0x567067,_0x36df84){return _0x567067(_0x36df84);},'UZWWD':_0x3242f3(0x225),'kiSnF':function(_0x44af78,_0x2210da,_0x44e83b){return _0x44af78(_0x2210da,_0x44e83b);},'jrHMm':'fatal','dCItm':_0x3242f3(0x1c8)},_0x13389a={'event':_0x476892,'errorName':_0x320b5b?.[_0x3242f3(0x235)]||'Error','errorMessage':_0x320b5b?.[_0x3242f3(0x227)]||_0x13348d['FjISY'](String,_0x320b5b),'errorCode':_0x320b5b?.[_0x3242f3(0x223)]||null,'stack':_0x320b5b?.['stack'],'severity':_0x13348d['UZWWD'],'processId':process[_0x3242f3(0x1ed)],'memoryUsage':process['memoryUsage'](),'uptime':process['uptime']()},_0x1279dd='['+_0x476892[_0x3242f3(0x205)]()+']\x20'+(_0x320b5b?.[_0x3242f3(0x227)]||_0x320b5b);logger[_0x3242f3(0x1af)](_0x13389a,_0x1279dd),_0x13348d['kiSnF'](writeToFileLog,{..._0x13389a,'level':_0x13348d['jrHMm'],'msg':_0x1279dd,'time':new Date()['toISOString']()},_0x13348d['dCItm']);},setupGlobalErrorHandlers=()=>{const _0x4d0f56=a0_0x3cd68b,_0x94afc0={'AZlmn':'uncaughtException','vUPWU':function(_0x4fcc2b,_0x16e8ac,_0x5d52ee){return _0x4fcc2b(_0x16e8ac,_0x5d52ee);},'okqkP':function(_0x5cde78,_0x1760ef){return _0x5cde78 instanceof _0x1760ef;},'eGTSJ':function(_0x1e6164,_0x2afa26){return _0x1e6164(_0x2afa26);},'ZDgFI':'unhandledRejection','dTcdS':'warning','otvxr':'global_error_handlers_setup'};process['on']('uncaughtException',_0x437803=>{const _0x3135ac=a0_0x451c;logUncaughtError(_0x94afc0[_0x3135ac(0x241)],_0x437803),_0x94afc0[_0x3135ac(0x25a)](setTimeout,()=>{process['exit'](0x1);},0x3e8);}),process['on'](_0x94afc0['ZDgFI'],(_0x397889,_0x2a60cc)=>{const _0x5d19ec=a0_0x451c,_0x2528c6=_0x94afc0['okqkP'](_0x397889,Error)?_0x397889:new Error(_0x94afc0['eGTSJ'](String,_0x397889));logUncaughtError(_0x5d19ec(0x23c),_0x2528c6);}),process['on'](_0x94afc0['dTcdS'],_0x45c477=>{const _0x4e4ec7=a0_0x451c;logger['warn']({'event':_0x4e4ec7(0x20f),'name':_0x45c477[_0x4e4ec7(0x235)],'message':_0x45c477[_0x4e4ec7(0x227)],'stack':_0x45c477['stack']},'Process\x20Warning:\x20'+_0x45c477[_0x4e4ec7(0x227)]);});const _0x59c348={'event':_0x94afc0['otvxr']},_0x350634='Global\x20error\x20handlers\x20initialized';logger[_0x4d0f56(0x232)](_0x59c348,_0x350634),writeToFileLog({..._0x59c348,'level':'info','msg':_0x350634,'time':new Date()['toISOString']()},_0x4d0f56(0x232));},createErrorHandlerMiddleware=()=>{const _0x11bccb={'evlhT':'x-request-id'};return(_0x14b17f,_0x121691,_0x24745c,_0x332587)=>{const _0x1138d8=a0_0x451c;logHttpError(_0x14b17f,_0x121691);const _0x4afd10=_0x14b17f[_0x1138d8(0x1bd)]||_0x14b17f['status']||0x1f4;_0x24745c[_0x1138d8(0x1db)](_0x4afd10)[_0x1138d8(0x23e)]({'success':![],'error':_0x4afd10>=0x1f4?_0x1138d8(0x1a9):_0x14b17f['message'],'requestId':_0x121691['id']||_0x121691[_0x1138d8(0x213)]?.[_0x11bccb['evlhT']]||null});};};module[a0_0x3cd68b(0x1f6)]={'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_0x40382b=a0_0x1921;(function(_0x698538,_0x4f39b6){const _0x305b16=a0_0x1921,_0x534d74=_0x698538();while(!![]){try{const _0x2c3a05=-parseInt(_0x305b16(0x15d))/0x1+-parseInt(_0x305b16(0x139))/0x2*(-parseInt(_0x305b16(0x13b))/0x3)+parseInt(_0x305b16(0x162))/0x4*(-parseInt(_0x305b16(0x153))/0x5)+parseInt(_0x305b16(0x144))/0x6*(-parseInt(_0x305b16(0x150))/0x7)+parseInt(_0x305b16(0x15a))/0x8*(-parseInt(_0x305b16(0x13a))/0x9)+parseInt(_0x305b16(0x15c))/0xa+parseInt(_0x305b16(0x155))/0xb*(parseInt(_0x305b16(0x14e))/0xc);if(_0x2c3a05===_0x4f39b6)break;else _0x534d74['push'](_0x534d74['shift']());}catch(_0x53e82e){_0x534d74['push'](_0x534d74['shift']());}}}(a0_0x4afb,0xd4e4a));const dbType=(process[a0_0x40382b(0x15e)][a0_0x40382b(0x13c)]||a0_0x40382b(0x142))['toLowerCase']();function a0_0x1921(_0x37f30c,_0x2e6a54){_0x37f30c=_0x37f30c-0x130;const _0x4afb4d=a0_0x4afb();let _0x19214b=_0x4afb4d[_0x37f30c];if(a0_0x1921['lEcuRf']===undefined){var _0x68a461=function(_0x5b026b){const _0x211d15='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x456a8f='',_0x326e2a='';for(let _0x36113e=0x0,_0x571374,_0x5eb42d,_0x1578ec=0x0;_0x5eb42d=_0x5b026b['charAt'](_0x1578ec++);~_0x5eb42d&&(_0x571374=_0x36113e%0x4?_0x571374*0x40+_0x5eb42d:_0x5eb42d,_0x36113e++%0x4)?_0x456a8f+=String['fromCharCode'](0xff&_0x571374>>(-0x2*_0x36113e&0x6)):0x0){_0x5eb42d=_0x211d15['indexOf'](_0x5eb42d);}for(let _0x121fe1=0x0,_0x15aef2=_0x456a8f['length'];_0x121fe1<_0x15aef2;_0x121fe1++){_0x326e2a+='%'+('00'+_0x456a8f['charCodeAt'](_0x121fe1)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x326e2a);};a0_0x1921['ssrYyv']=_0x68a461,a0_0x1921['qhVMKt']={},a0_0x1921['lEcuRf']=!![];}const _0x1cd683=_0x4afb4d[0x0],_0x3c8613=_0x37f30c+_0x1cd683,_0x2129e3=a0_0x1921['qhVMKt'][_0x3c8613];return!_0x2129e3?(_0x19214b=a0_0x1921['ssrYyv'](_0x19214b),a0_0x1921['qhVMKt'][_0x3c8613]=_0x19214b):_0x19214b=_0x2129e3,_0x19214b;}let executeQuery;if(dbType===a0_0x40382b(0x13f)){const oracleDb=require(a0_0x40382b(0x141));executeQuery=(_0x353cdb,_0x46b2a7)=>oracleDb['executeQuery'](_0x353cdb,_0x46b2a7);}else{if(dbType==='mysql'){const mysqlDb=require(a0_0x40382b(0x132));executeQuery=(_0x5c3398,_0xaa49cb)=>mysqlDb['executeQuery'](_0x5c3398,_0xaa49cb);}else executeQuery=require(a0_0x40382b(0x140))[a0_0x40382b(0x158)];}const {logger}=require('./logger');class LookupResolver{constructor(){this['lookupCache']=new Map();}['clearCache'](){const _0x540ce0=a0_0x40382b,_0x57cccc={'KnSMW':'lookup_cache_cleared'};this[_0x540ce0(0x14a)]['clear'](),logger['debug']({'event':_0x57cccc[_0x540ce0(0x14b)]},_0x540ce0(0x133));}async['loadLookupTable'](_0x320aa4,_0x4adb8e,_0x13e2b9){const _0x1f5ce6=a0_0x40382b,_0x41fa63={'WpdfD':function(_0x17c3b6,_0x211080){return _0x17c3b6!==_0x211080;},'yUhty':function(_0x263e47,_0x1167f7){return _0x263e47(_0x1167f7);},'aiLKY':'lookup_table_loaded','IBbLl':_0x1f5ce6(0x146)},_0x520e25=_0x320aa4+':'+_0x4adb8e+':'+_0x13e2b9;if(this['lookupCache']['has'](_0x520e25))return this['lookupCache']['get'](_0x520e25);try{const _0x42b201='SELECT\x20'+_0x13e2b9+',\x20'+_0x4adb8e+_0x1f5ce6(0x137)+_0x320aa4,_0x2c840d=await executeQuery(_0x42b201),_0x1a83b8=new Map();return _0x2c840d[_0x1f5ce6(0x138)](_0x2db7ba=>{const _0xfec44f=_0x1f5ce6,_0x1eb3ca=_0x41fa63['WpdfD'](_0x2db7ba[_0x4adb8e],undefined)?_0x2db7ba[_0x4adb8e]:_0x2db7ba[_0x4adb8e[_0xfec44f(0x154)]()],_0x53d082=_0x2db7ba[_0x13e2b9]!==undefined?_0x2db7ba[_0x13e2b9]:_0x2db7ba[_0x13e2b9[_0xfec44f(0x154)]()];_0x41fa63['WpdfD'](_0x1eb3ca,null)&&_0x1eb3ca!==undefined&&(_0x1a83b8['set'](_0x41fa63['yUhty'](String,_0x1eb3ca)['toLowerCase']()[_0xfec44f(0x135)](),_0x53d082),_0x1a83b8['set'](String(_0x1eb3ca)[_0xfec44f(0x135)](),_0x53d082));}),this[_0x1f5ce6(0x14a)][_0x1f5ce6(0x159)](_0x520e25,_0x1a83b8),logger[_0x1f5ce6(0x149)]({'event':_0x41fa63['aiLKY'],'table':_0x320aa4,'column':_0x4adb8e,'count':_0x2c840d[_0x1f5ce6(0x147)]},'Lookup\x20table\x20loaded:\x20'+_0x320aa4),_0x1a83b8;}catch(_0x2e1df3){logger['error']({'event':_0x41fa63[_0x1f5ce6(0x143)],'table':_0x320aa4,'error':_0x2e1df3[_0x1f5ce6(0x13e)]},_0x1f5ce6(0x134)+_0x320aa4);throw _0x2e1df3;}}['resolveLookupValue'](_0x41e65d,_0x588aba){const _0x1bb2d5=a0_0x40382b,_0x5e5aa8={'wMOnP':function(_0x33a8ae,_0x267af9){return _0x33a8ae===_0x267af9;}};if(_0x5e5aa8[_0x1bb2d5(0x136)](_0x41e65d,null)||_0x5e5aa8['wMOnP'](_0x41e65d,undefined)||_0x41e65d==='')return null;const _0x4f8f11=String(_0x41e65d)[_0x1bb2d5(0x135)]();if(_0x588aba[_0x1bb2d5(0x161)](_0x4f8f11))return _0x588aba['get'](_0x4f8f11);const _0x492e96=_0x4f8f11[_0x1bb2d5(0x156)]();if(_0x588aba[_0x1bb2d5(0x161)](_0x492e96))return _0x588aba['get'](_0x492e96);return null;}async[a0_0x40382b(0x148)](_0x2c52ea,_0x5de57b){const _0x590fa3=a0_0x40382b,_0x4fcea6={'EOymE':function(_0x19bba2,_0x174aab){return _0x19bba2===_0x174aab;},'wnKdG':'lookup_fields_processed','bpgYz':'Lookup\x20fields\x20processed'};if(!_0x5de57b||Object[_0x590fa3(0x15b)](_0x5de57b)[_0x590fa3(0x147)]===0x0)return{'processedRows':_0x2c52ea,'errors':[]};const _0x51f505=[],_0x1aca59=new Map();for(const [_0x40319c,_0x15461f]of Object[_0x590fa3(0x131)](_0x5de57b)){const {lookupTable:_0x38645f,lookupColumn:_0x4e6c8e,lookupIdColumn:_0x45099c}=_0x15461f,_0x9f9718=_0x38645f+':'+_0x4e6c8e+':'+_0x45099c;if(!_0x1aca59[_0x590fa3(0x161)](_0x9f9718)){const _0x444678=await this['loadLookupTable'](_0x38645f,_0x4e6c8e,_0x45099c);_0x1aca59['set'](_0x9f9718,_0x444678);}}const _0x57bdb9=_0x2c52ea[_0x590fa3(0x130)]((_0x476c80,_0x10b118)=>{const _0x3c61a5=_0x590fa3,_0xc6067a={..._0x476c80};for(const [_0x147be8,_0x1f7b9b]of Object[_0x3c61a5(0x131)](_0x5de57b)){const {lookupTable:_0x399aae,lookupColumn:_0x3f69f7,lookupIdColumn:_0x3e4df7,targetField:_0x2c5000,required:_0x5ceef1}=_0x1f7b9b,_0x263134=_0x399aae+':'+_0x3f69f7+':'+_0x3e4df7,_0x5db880=_0x1aca59['get'](_0x263134),_0x4831c7=_0x476c80[_0x147be8];if((_0x4fcea6[_0x3c61a5(0x14d)](_0x4831c7,null)||_0x4831c7===undefined||_0x4831c7==='')&&!_0x5ceef1){_0xc6067a[_0x2c5000]=null;continue;}const _0xa47f1a=this['resolveLookupValue'](_0x4831c7,_0x5db880);_0xa47f1a!==null?_0xc6067a[_0x2c5000]=_0xa47f1a:(_0x5ceef1&&_0x51f505[_0x3c61a5(0x163)]({'rowIndex':_0x10b118,'field':_0x147be8,'value':_0x4831c7,'targetField':_0x2c5000,'lookupTable':_0x399aae,'message':'Value\x20\x22'+_0x4831c7+'\x22\x20not\x20found\x20in\x20'+_0x399aae}),_0xc6067a[_0x2c5000]=null);}return _0xc6067a;});return logger[_0x590fa3(0x149)]({'event':_0x4fcea6['wnKdG'],'totalRows':_0x2c52ea['length'],'errorCount':_0x51f505[_0x590fa3(0x147)],'lookupFieldCount':Object['keys'](_0x5de57b)['length']},_0x4fcea6['bpgYz']),{'processedRows':_0x57bdb9,'errors':_0x51f505};}[a0_0x40382b(0x152)](_0x5c37d4,_0x232a20){const _0x16eb37={'LzhRh':function(_0x1a5d91,_0x1ecdbf){return _0x1a5d91!==_0x1ecdbf;},'tlrzQ':function(_0x3f3c12,_0x135536){return _0x3f3c12!==_0x135536;},'Shqro':function(_0x2730c4,_0x1883f1){return _0x2730c4!==_0x1883f1;}},_0x1f75b6=new Set();return _0x5c37d4['forEach'](_0x2ba22d=>{const _0x404b77=a0_0x1921,_0x1bb6d1=_0x2ba22d[_0x232a20];_0x16eb37[_0x404b77(0x13d)](_0x1bb6d1,null)&&_0x16eb37['tlrzQ'](_0x1bb6d1,undefined)&&_0x16eb37['Shqro'](_0x1bb6d1,'')&&_0x1f75b6[_0x404b77(0x157)](String(_0x1bb6d1)['trim']());}),Array['from'](_0x1f75b6);}async[a0_0x40382b(0x15f)](_0x1d2179,_0x580c2c){const _0x16969d=a0_0x40382b,_0x3a51bf={'WvpAc':function(_0x502617,_0x5cbdfb){return _0x502617===_0x5cbdfb;},'PTKFU':function(_0x487744,_0x186503){return _0x487744>_0x186503;}};if(!_0x580c2c||_0x3a51bf[_0x16969d(0x145)](Object[_0x16969d(0x15b)](_0x580c2c)[_0x16969d(0x147)],0x0))return{'valid':!![],'errors':[],'suggestions':{}};const _0x29af57=[],_0x20d596={};for(const [_0x21e79f,_0x1d6c81]of Object[_0x16969d(0x131)](_0x580c2c)){const {lookupTable:_0x416fa5,lookupColumn:_0x578569,lookupIdColumn:_0x2b52fd,required:_0xf768a}=_0x1d6c81,_0x523b28=this[_0x16969d(0x152)](_0x1d2179,_0x21e79f),_0x4978d9=await this[_0x16969d(0x14f)](_0x416fa5,_0x578569,_0x2b52fd),_0x4a4266=[],_0x9a23a4=[];_0x523b28[_0x16969d(0x138)](_0x529d5c=>{const _0x31291c=_0x16969d,_0x5ddc0d=this[_0x31291c(0x160)](_0x529d5c,_0x4978d9);_0x5ddc0d!==null?_0x9a23a4['push'](_0x529d5c):_0x4a4266['push'](_0x529d5c);});if(_0x3a51bf[_0x16969d(0x151)](_0x4a4266['length'],0x0)&&_0xf768a){_0x29af57[_0x16969d(0x163)]({'field':_0x21e79f,'lookupTable':_0x416fa5,'invalidValues':_0x4a4266,'message':_0x4a4266[_0x16969d(0x147)]+'\x20value(s)\x20not\x20found\x20in\x20'+_0x416fa5});const _0x3e3b15=[];_0x4978d9[_0x16969d(0x138)]((_0x1c854f,_0x33e1b3)=>{const _0x3b10cf=_0x16969d;if(_0x33e1b3===_0x33e1b3[_0x3b10cf(0x156)]())return;_0x3e3b15['push'](_0x33e1b3);}),_0x20d596[_0x21e79f]={'invalidValues':_0x4a4266,'availableValues':_0x3e3b15['slice'](0x0,0x32)};}}return{'valid':_0x3a51bf['WvpAc'](_0x29af57[_0x16969d(0x147)],0x0),'errors':_0x29af57,'suggestions':_0x20d596};}}function a0_0x4afb(){const _0x527a9c=['Dg9vChbLCKnHC2u','nJu3otC5m1rSquz6Ba','Dg9mB3DLCKnHC2u','ywrK','zxHLy3v0zvf1zxj5','C2v0','og1xyLfxva','A2v5CW','nJy5mdmWmerZsxfUvG','mJi1mtf1tuH0Dum','zw52','DMfSAwrHDgvmB29RDxbwywX1zxm','CMvZB2X2zuXVB2T1CfzHBhvL','AgfZ','mJa3nLf6seDRsW','ChvZAa','BwfW','zw50CMLLCW','lI9KyI1TExnXBa','tg9VA3vWignHy2HLignSzwfYzwq','rMfPBgvKihrVigXVywqGBg9VA3vWihrHyMXLoIa','DhjPBq','D01pBLa','iezst00G','zM9YrwfJAa','mM5YDfbluG','mZm2odeZm2LtB2nAvG','mtuZmJKXExPUuxLd','rejFvfLqrq','thPOuMG','BwvZC2fNzq','B3jHy2XL','lI9KyG','lI9KyI1VCMfJBgu','Cg9ZDgDYzxnXBa','sujItgW','ntCYmtK2nKTcBez2Bq','v3zWqwm','Bg9VA3vWx3rHyMXLx2XVywrFzxjYB3i','BgvUz3rO','ChjVy2vZC0XVB2T1CezPzwXKCW','Aw5MBW','Bg9VA3vWq2fJAgu','s25ttvC','zxHWB3j0CW','ru95Buu','mZz3DKHsEeS','Bg9HzeXVB2T1CfrHyMXL','n0z5te5UCq','ufrlrLu','z2v0rgLZDgLUy3rwywX1zxm','mJGXnuHStK5AvG'];a0_0x4afb=function(){return _0x527a9c;};return a0_0x4afb();}module[a0_0x40382b(0x14c)]=new LookupResolver();
1
+ const a0_0x10cc59=a0_0x3cb0;function a0_0x53e1(){const _0x104d73=['zM9YrwfJAa','ihzHBhvLkhmPig5VDcbMB3vUzcbPBIa','Bg9VA3vWx2nHy2HLx2nSzwfYzwq','Aw5MBW','zw50CMLLCW','mtC0m1rXrNzfyW','zxHWB3j0CW','vMfSDwuGiG','lI9SB2DNzxi','BgvUz3rO','y2XLyxi','ywrK','AgfZ','Dg9mB3DLCKnHC2u','C2v0','ntuYnNP1DNnbAa','Bg9VA3vWq2fJAgu','lI9KyI1TExnXBa','CxjpwMG','z2v0rgLZDgLUy3rwywX1zxm','CKrLrxa','BxLZCwW','zKvty0y','otC1mteYmfzzsuDUEq','m2DOAurnrq','A2v5CW','y2XLyxjdywnOzq','iIbUB3qGzM91BMqGAw4G','BwfW','tg9VA3vWignHy2HLignSzwfYzwq','zNjVBq','z2v0','zgvIDwC','DMXMzhO','oty4mdeXCvjcB0rJ','mJC4ntmXmgjWtMPXtq','Bg9VA3vWx2zPzwXKC19WCM9JzxnZzwq','EgH2z00','ovLzrM1KCG','mtmXndCWzNHfthjr','ChvZAa','mti1nZmXodDwyxruwMO','iezst00G','zxHLy3v0zvf1zxj5','mta0DeTlsfHA','DMfSAwrHDgvmB29RDxbwywX1zxm','rejFvfLqrq','whbWB28','CMvZB2X2zuXVB2T1CfzHBhvL','mtjiz29ls2u','mZm4nZq3me5qzNPTrW','Bg9HzeXVB2T1CfrHyMXL'];a0_0x53e1=function(){return _0x104d73;};return a0_0x53e1();}(function(_0x5583a2,_0x2ca415){const _0x143ad7=a0_0x3cb0,_0x392182=_0x5583a2();while(!![]){try{const _0x49402b=parseInt(_0x143ad7(0x160))/0x1+-parseInt(_0x143ad7(0x161))/0x2*(parseInt(_0x143ad7(0x156))/0x3)+-parseInt(_0x143ad7(0x16a))/0x4*(-parseInt(_0x143ad7(0x165))/0x5)+parseInt(_0x143ad7(0x181))/0x6*(parseInt(_0x143ad7(0x177))/0x7)+-parseInt(_0x143ad7(0x189))/0x8+parseInt(_0x143ad7(0x164))/0x9*(parseInt(_0x143ad7(0x170))/0xa)+-parseInt(_0x143ad7(0x167))/0xb*(-parseInt(_0x143ad7(0x16f))/0xc);if(_0x49402b===_0x2ca415)break;else _0x392182['push'](_0x392182['shift']());}catch(_0x3e6265){_0x392182['push'](_0x392182['shift']());}}}(a0_0x53e1,0xb7663));const dbType=(process['env'][a0_0x10cc59(0x16c)]||'postgresql')[a0_0x10cc59(0x17f)]();let executeQuery;function a0_0x3cb0(_0x36843a,_0x3d2782){_0x36843a=_0x36843a-0x156;const _0x53e125=a0_0x53e1();let _0x3cb0af=_0x53e125[_0x36843a];if(a0_0x3cb0['XyuucJ']===undefined){var _0x6ed56f=function(_0x13d770){const _0x4bdaad='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x23c364='',_0x3172d6='';for(let _0x47b8bd=0x0,_0x53f2b7,_0x2fa6bd,_0x52602e=0x0;_0x2fa6bd=_0x13d770['charAt'](_0x52602e++);~_0x2fa6bd&&(_0x53f2b7=_0x47b8bd%0x4?_0x53f2b7*0x40+_0x2fa6bd:_0x2fa6bd,_0x47b8bd++%0x4)?_0x23c364+=String['fromCharCode'](0xff&_0x53f2b7>>(-0x2*_0x47b8bd&0x6)):0x0){_0x2fa6bd=_0x4bdaad['indexOf'](_0x2fa6bd);}for(let _0xae9c4b=0x0,_0x13eeb6=_0x23c364['length'];_0xae9c4b<_0x13eeb6;_0xae9c4b++){_0x3172d6+='%'+('00'+_0x23c364['charCodeAt'](_0xae9c4b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3172d6);};a0_0x3cb0['riPJmg']=_0x6ed56f,a0_0x3cb0['VisbtQ']={},a0_0x3cb0['XyuucJ']=!![];}const _0x5890bf=_0x53e125[0x0],_0x3c0785=_0x36843a+_0x5890bf,_0x488a92=a0_0x3cb0['VisbtQ'][_0x3c0785];return!_0x488a92?(_0x3cb0af=a0_0x3cb0['riPJmg'](_0x3cb0af),a0_0x3cb0['VisbtQ'][_0x3c0785]=_0x3cb0af):_0x3cb0af=_0x488a92,_0x3cb0af;}if(dbType==='oracle'){const oracleDb=require('./db-oracle');executeQuery=(_0x4596aa,_0x2cafa8)=>oracleDb[a0_0x10cc59(0x169)](_0x4596aa,_0x2cafa8);}else{if(dbType===a0_0x10cc59(0x187)){const mysqlDb=require(a0_0x10cc59(0x183));executeQuery=(_0x1ef7d2,_0x5e181d)=>mysqlDb[a0_0x10cc59(0x169)](_0x1ef7d2,_0x5e181d);}else executeQuery=require('./db')[a0_0x10cc59(0x169)];}const {logger}=require(a0_0x10cc59(0x17a));class LookupResolver{constructor(){this['lookupCache']=new Map();}[a0_0x10cc59(0x158)](){const _0x1dffab=a0_0x10cc59,_0x3d09a6={'fEScF':_0x1dffab(0x174)};this[_0x1dffab(0x182)][_0x1dffab(0x17c)](),logger[_0x1dffab(0x15e)]({'event':_0x3d09a6[_0x1dffab(0x188)]},_0x1dffab(0x15b));}async[a0_0x10cc59(0x171)](_0x13882a,_0x5192f6,_0x44d928){const _0x3461d2=a0_0x10cc59,_0x21152d={'lkwkl':function(_0x1a5c7c,_0x58e4cc){return _0x1a5c7c!==_0x58e4cc;},'PdrmR':function(_0x2ada48,_0x1a9d92){return _0x2ada48!==_0x1a9d92;},'vlfdz':function(_0x40d2ee,_0x3ce9b2){return _0x40d2ee(_0x3ce9b2);},'sVTYz':'lookup_table_load_error'},_0x8f5278=_0x13882a+':'+_0x5192f6+':'+_0x44d928;if(this[_0x3461d2(0x182)][_0x3461d2(0x17e)](_0x8f5278))return this['lookupCache']['get'](_0x8f5278);try{const _0x5b5bd3='SELECT\x20'+_0x44d928+',\x20'+_0x5192f6+_0x3461d2(0x168)+_0x13882a,_0x197f82=await executeQuery(_0x5b5bd3),_0x3d308d=new Map();return _0x197f82['forEach'](_0x9d5111=>{const _0x31812d=_0x3461d2,_0x34c5d2=_0x21152d['lkwkl'](_0x9d5111[_0x5192f6],undefined)?_0x9d5111[_0x5192f6]:_0x9d5111[_0x5192f6['toUpperCase']()],_0x11a253=_0x21152d['PdrmR'](_0x9d5111[_0x44d928],undefined)?_0x9d5111[_0x44d928]:_0x9d5111[_0x44d928['toUpperCase']()];_0x34c5d2!==null&&_0x34c5d2!==undefined&&(_0x3d308d['set'](_0x21152d[_0x31812d(0x15f)](String,_0x34c5d2)['toLowerCase']()['trim'](),_0x11a253),_0x3d308d['set'](String(_0x34c5d2)['trim'](),_0x11a253));}),this['lookupCache']['set'](_0x8f5278,_0x3d308d),logger[_0x3461d2(0x175)]({'event':'lookup_table_loaded','table':_0x13882a,'column':_0x5192f6,'count':_0x197f82[_0x3461d2(0x17b)]},'Lookup\x20table\x20loaded:\x20'+_0x13882a),_0x3d308d;}catch(_0x103be8){logger['error']({'event':_0x21152d['sVTYz'],'table':_0x13882a,'error':_0x103be8['message']},'Failed\x20to\x20load\x20lookup\x20table:\x20'+_0x13882a);throw _0x103be8;}}[a0_0x10cc59(0x16e)](_0x157cf0,_0x3049d4){const _0x1bbb5d=a0_0x10cc59,_0x2046a6={'fuXff':function(_0x4edebe,_0x26bbac){return _0x4edebe===_0x26bbac;},'xhvgM':function(_0x4c9cf1,_0x199e6e){return _0x4c9cf1===_0x199e6e;},'GdTZK':function(_0x7f1566,_0x76d09f){return _0x7f1566(_0x76d09f);}};if(_0x2046a6['fuXff'](_0x157cf0,null)||_0x157cf0===undefined||_0x2046a6[_0x1bbb5d(0x163)](_0x157cf0,''))return null;const _0x297cb0=_0x2046a6['GdTZK'](String,_0x157cf0)['trim']();if(_0x3049d4[_0x1bbb5d(0x17e)](_0x297cb0))return _0x3049d4[_0x1bbb5d(0x15d)](_0x297cb0);const _0x27d64b=_0x297cb0['toLowerCase']();if(_0x3049d4['has'](_0x27d64b))return _0x3049d4[_0x1bbb5d(0x15d)](_0x27d64b);return null;}async['processLookupFields'](_0xf7839b,_0x4fb135){const _0x23377d=a0_0x10cc59,_0x536c01={'BVXVR':function(_0x21befa,_0x4d8dd9){return _0x21befa===_0x4d8dd9;},'qrOZh':function(_0x4e7f71,_0x433e05){return _0x4e7f71===_0x433e05;},'ekhEE':_0x23377d(0x162),'rDeEp':'Lookup\x20fields\x20processed'};if(!_0x4fb135||_0x536c01[_0x23377d(0x184)](Object[_0x23377d(0x157)](_0x4fb135)['length'],0x0))return{'processedRows':_0xf7839b,'errors':[]};const _0x34a048=[],_0x312ca5=new Map();for(const [_0x39c3f7,_0x305828]of Object[_0x23377d(0x176)](_0x4fb135)){const {lookupTable:_0x30da0c,lookupColumn:_0x487a80,lookupIdColumn:_0x3d9aaa}=_0x305828,_0xbd21bd=_0x30da0c+':'+_0x487a80+':'+_0x3d9aaa;if(!_0x312ca5['has'](_0xbd21bd)){const _0x21c2db=await this[_0x23377d(0x171)](_0x30da0c,_0x487a80,_0x3d9aaa);_0x312ca5[_0x23377d(0x180)](_0xbd21bd,_0x21c2db);}}const _0xaa6b56=_0xf7839b[_0x23377d(0x15a)]((_0x310f0d,_0x397450)=>{const _0x49c109=_0x23377d,_0x4c0ce8={..._0x310f0d};for(const [_0x1e66a6,_0xad1a14]of Object['entries'](_0x4fb135)){const {lookupTable:_0xf48a9b,lookupColumn:_0x310a3c,lookupIdColumn:_0x584118,targetField:_0x5c75c7,required:_0x36fa74}=_0xad1a14,_0xeae9dd=_0xf48a9b+':'+_0x310a3c+':'+_0x584118,_0x2180d0=_0x312ca5[_0x49c109(0x15d)](_0xeae9dd),_0x502504=_0x310f0d[_0x1e66a6];if((_0x536c01['BVXVR'](_0x502504,null)||_0x502504===undefined||_0x502504==='')&&!_0x36fa74){_0x4c0ce8[_0x5c75c7]=null;continue;}const _0x573e28=this['resolveLookupValue'](_0x502504,_0x2180d0);_0x573e28!==null?_0x4c0ce8[_0x5c75c7]=_0x573e28:(_0x36fa74&&_0x34a048[_0x49c109(0x166)]({'rowIndex':_0x397450,'field':_0x1e66a6,'value':_0x502504,'targetField':_0x5c75c7,'lookupTable':_0xf48a9b,'message':_0x49c109(0x179)+_0x502504+_0x49c109(0x159)+_0xf48a9b}),_0x4c0ce8[_0x5c75c7]=null);}return _0x4c0ce8;});return logger[_0x23377d(0x175)]({'event':_0x536c01['ekhEE'],'totalRows':_0xf7839b['length'],'errorCount':_0x34a048[_0x23377d(0x17b)],'lookupFieldCount':Object[_0x23377d(0x157)](_0x4fb135)['length']},_0x536c01[_0x23377d(0x186)]),{'processedRows':_0xaa6b56,'errors':_0x34a048};}['getDistinctValues'](_0x44477d,_0x4b74f3){const _0x57e168=a0_0x10cc59,_0x58d188={'HgHbw':function(_0x2c792e,_0xc34665){return _0x2c792e!==_0xc34665;}},_0x38a724=new Set();return _0x44477d['forEach'](_0x5d78b3=>{const _0x415450=a0_0x3cb0,_0x35f205=_0x5d78b3[_0x4b74f3];_0x58d188['HgHbw'](_0x35f205,null)&&_0x35f205!==undefined&&_0x35f205!==''&&_0x38a724[_0x415450(0x17d)](String(_0x35f205)['trim']());}),Array[_0x57e168(0x15c)](_0x38a724);}async[a0_0x10cc59(0x16b)](_0x1c3262,_0x24250c){const _0x36dcb3=a0_0x10cc59,_0x5f3076={'Xppoo':function(_0x225273,_0x103367){return _0x225273===_0x103367;}};if(!_0x24250c||_0x5f3076[_0x36dcb3(0x16d)](Object['keys'](_0x24250c)[_0x36dcb3(0x17b)],0x0))return{'valid':!![],'errors':[],'suggestions':{}};const _0x4412c2=[],_0x2025ab={};for(const [_0x1a64d2,_0x28e9d7]of Object['entries'](_0x24250c)){const {lookupTable:_0x3afc74,lookupColumn:_0x46bc50,lookupIdColumn:_0x39b23e,required:_0x3bf5dd}=_0x28e9d7,_0x12767a=this[_0x36dcb3(0x185)](_0x1c3262,_0x1a64d2),_0x21246e=await this[_0x36dcb3(0x171)](_0x3afc74,_0x46bc50,_0x39b23e),_0x57606a=[],_0x2ca982=[];_0x12767a[_0x36dcb3(0x172)](_0x557b97=>{const _0xa143d6=_0x36dcb3,_0x4bbfbf=this['resolveLookupValue'](_0x557b97,_0x21246e);_0x4bbfbf!==null?_0x2ca982['push'](_0x557b97):_0x57606a[_0xa143d6(0x166)](_0x557b97);});if(_0x57606a[_0x36dcb3(0x17b)]>0x0&&_0x3bf5dd){_0x4412c2['push']({'field':_0x1a64d2,'lookupTable':_0x3afc74,'invalidValues':_0x57606a,'message':_0x57606a['length']+_0x36dcb3(0x173)+_0x3afc74});const _0x519d0b=[];_0x21246e['forEach']((_0x362cac,_0x211b6)=>{const _0x206641=_0x36dcb3;if(_0x211b6===_0x211b6['toLowerCase']())return;_0x519d0b[_0x206641(0x166)](_0x211b6);}),_0x2025ab[_0x1a64d2]={'invalidValues':_0x57606a,'availableValues':_0x519d0b['slice'](0x0,0x32)};}}return{'valid':_0x4412c2[_0x36dcb3(0x17b)]===0x0,'errors':_0x4412c2,'suggestions':_0x2025ab};}}module[a0_0x10cc59(0x178)]=new LookupResolver();
@@ -1 +1 @@
1
- const a0_0xc6b38e=a0_0x12e4;function a0_0x12e4(_0x488235,_0x431a43){_0x488235=_0x488235-0x162;const _0x12138c=a0_0x1213();let _0x12e425=_0x12138c[_0x488235];if(a0_0x12e4['WCbFpM']===undefined){var _0x3da92c=function(_0x4daf11){const _0x286655='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x419f21='',_0x438ec5='';for(let _0x44e6ff=0x0,_0x195b93,_0x1927ec,_0x25d949=0x0;_0x1927ec=_0x4daf11['charAt'](_0x25d949++);~_0x1927ec&&(_0x195b93=_0x44e6ff%0x4?_0x195b93*0x40+_0x1927ec:_0x1927ec,_0x44e6ff++%0x4)?_0x419f21+=String['fromCharCode'](0xff&_0x195b93>>(-0x2*_0x44e6ff&0x6)):0x0){_0x1927ec=_0x286655['indexOf'](_0x1927ec);}for(let _0x5af75e=0x0,_0x48db0d=_0x419f21['length'];_0x5af75e<_0x48db0d;_0x5af75e++){_0x438ec5+='%'+('00'+_0x419f21['charCodeAt'](_0x5af75e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x438ec5);};a0_0x12e4['HNQDrd']=_0x3da92c,a0_0x12e4['SetGxW']={},a0_0x12e4['WCbFpM']=!![];}const _0xfb46f=_0x12138c[0x0],_0x18dc7d=_0x488235+_0xfb46f,_0x2b0be6=a0_0x12e4['SetGxW'][_0x18dc7d];return!_0x2b0be6?(_0x12e425=a0_0x12e4['HNQDrd'](_0x12e425),a0_0x12e4['SetGxW'][_0x18dc7d]=_0x12e425):_0x12e425=_0x2b0be6,_0x12e425;}(function(_0x5483c2,_0x4183fb){const _0x367335=a0_0x12e4,_0x866614=_0x5483c2();while(!![]){try{const _0x1ead7f=parseInt(_0x367335(0x16b))/0x1+parseInt(_0x367335(0x162))/0x2*(parseInt(_0x367335(0x17c))/0x3)+parseInt(_0x367335(0x17b))/0x4+-parseInt(_0x367335(0x16a))/0x5+-parseInt(_0x367335(0x180))/0x6*(parseInt(_0x367335(0x17a))/0x7)+parseInt(_0x367335(0x173))/0x8*(parseInt(_0x367335(0x182))/0x9)+-parseInt(_0x367335(0x17d))/0xa;if(_0x1ead7f===_0x4183fb)break;else _0x866614['push'](_0x866614['shift']());}catch(_0x22c0d9){_0x866614['push'](_0x866614['shift']());}}}(a0_0x1213,0xb3a1a));function a0_0x1213(){const _0x500128=['CMvHzezPBgu','mta1og1puMjTsa','AgfZ','zMLLBgroyw1L','uxbfruy','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5','qKTOvuG','Aw5MBW','Cgf5Bg9Hzf9SB2fKzwq','ndG1mty1mhPirhzdsW','mte2nZi0ohfeEu5zBq','DgfIBgvoyw1L','ugf5Bg9HzcbJywnOzsbJBgvHCMvK','y29SDw1UrM9YBwf0CW','zgf0yxrHyMXLC1f1zxj5','y2fJAgu','quHQB2S','Cgf5Bg9HzdO','ofLSs01JrW','y2XLyxjdywnOzq','lI9SB2DNzxi','zgvIDwC','Cgf5Bg9Hzf9SB2fKx2vYCM9Y','z2v0','CgfYC2u','mJCYodq2thvoyxvM','ndK1mdGWoeDSthnAvW','odeZm0fkrKX0EG','mtq2mZG2ndbwC29xqwi','Bg9HzfbHEwXVywq','zMLLBgrmywjLBhm','mtiWBKXfu1nQ','Cgf5Bg9HzerPCG','otK0mdK1CuzyufHS','lI4VlI4VCgf5Bg9Hza','BLf6CgW','BwvZC2fNzq'];a0_0x1213=function(){return _0x500128;};return a0_0x1213();}const fs=require('fs')['promises'],path=require('path'),{logger}=require(a0_0xc6b38e(0x175));class PayloadLoader{constructor(){const _0x4c3268=a0_0xc6b38e,_0x112c9a={'ygkBc':_0x4c3268(0x183)};this['payloadDir']=path['join'](__dirname,_0x112c9a['ygkBc']),this[_0x4c3268(0x170)]=new Map();}async[a0_0xc6b38e(0x17e)](_0x54763d,_0x12f084){const _0x4d0fd0=a0_0xc6b38e,_0x4fc030={'GuESH':'utf8','AHjok':_0x4d0fd0(0x169),'WxcqD':_0x4d0fd0(0x166)},_0x87a878=_0x54763d+':'+_0x12f084;if(this[_0x4d0fd0(0x170)][_0x4d0fd0(0x163)](_0x87a878))return this[_0x4d0fd0(0x170)]['get'](_0x87a878);const _0x149196=path['join'](this['payloadDir'],_0x54763d+'_'+_0x12f084+'.json');try{const _0x5a06a2=await fs['readFile'](_0x149196,_0x4fc030['GuESH']),_0x173a97=JSON[_0x4d0fd0(0x179)](_0x5a06a2);return this['cache']['set'](_0x87a878,_0x173a97),logger[_0x4d0fd0(0x176)]({'event':_0x4fc030[_0x4d0fd0(0x171)],'project':_0x54763d,'resource':_0x12f084},_0x4fc030['WxcqD']),_0x173a97;}catch(_0x1e0216){logger['error']({'event':_0x4d0fd0(0x177),'project':_0x54763d,'resource':_0x12f084,'error':_0x1e0216['message']},'Failed\x20to\x20load\x20payload');throw new Error('Payload\x20not\x20found:\x20'+_0x54763d+'_'+_0x12f084);}}async['loadPayloadByName'](_0x37f787){const _0x3d338b=a0_0xc6b38e,_0x1cdc71={'BKhUH':_0x3d338b(0x169),'MpGcH':'Payload\x20loaded\x20successfully\x20by\x20name','QpEEF':'Failed\x20to\x20load\x20payload\x20by\x20name'},_0x5028af=_0x3d338b(0x172)+_0x37f787;if(this[_0x3d338b(0x170)][_0x3d338b(0x163)](_0x5028af))return this['cache'][_0x3d338b(0x178)](_0x5028af);const _0x49e2f2=path['join'](this[_0x3d338b(0x181)],_0x37f787+'.json');try{const _0x49e1d9=await fs[_0x3d338b(0x186)](_0x49e2f2,'utf8'),_0x4b933f=JSON[_0x3d338b(0x179)](_0x49e1d9);return this[_0x3d338b(0x170)]['set'](_0x5028af,_0x4b933f),logger['debug']({'event':_0x1cdc71[_0x3d338b(0x167)],'payloadName':_0x37f787},_0x1cdc71['MpGcH']),_0x4b933f;}catch(_0x3f63e6){logger['error']({'event':'payload_load_error','payloadName':_0x37f787,'error':_0x3f63e6[_0x3d338b(0x185)]},_0x1cdc71[_0x3d338b(0x165)]);throw new Error('Payload\x20not\x20found:\x20'+_0x37f787);}}['isActionEnabled'](_0x54e8c0,_0x15bf92){const _0x2368c1={'nmdwA':function(_0x476a8c,_0x4e947e){return _0x476a8c===_0x4e947e;}};return _0x54e8c0['action']&&_0x2368c1['nmdwA'](_0x54e8c0['action'][_0x15bf92],!![]);}['getExportConfig'](_0x7ebb61){const _0x3386f5=a0_0xc6b38e;return{'columns':_0x7ebb61[_0x3386f5(0x164)]||[],'filename':_0x7ebb61[_0x3386f5(0x16c)]['replace']('.','-')+'-export','datatablesQuery':_0x7ebb61[_0x3386f5(0x16f)]||null,'columnFormats':_0x7ebb61[_0x3386f5(0x16e)]||null,'fieldLabels':_0x7ebb61[_0x3386f5(0x17f)]||null};}[a0_0xc6b38e(0x174)](){const _0x215468=a0_0xc6b38e,_0x12c70f={'nQzpl':_0x215468(0x16d)};this[_0x215468(0x170)]['clear'](),logger[_0x215468(0x168)]({'event':'payload_cache_cleared'},_0x12c70f[_0x215468(0x184)]);}}module['exports']=new PayloadLoader();
1
+ const a0_0x16efba=a0_0xda68;(function(_0x380f2a,_0x389d6f){const _0x162e49=a0_0xda68,_0x2f73aa=_0x380f2a();while(!![]){try{const _0x1ff630=parseInt(_0x162e49(0x16c))/0x1+parseInt(_0x162e49(0x172))/0x2*(parseInt(_0x162e49(0x187))/0x3)+-parseInt(_0x162e49(0x166))/0x4+parseInt(_0x162e49(0x185))/0x5*(parseInt(_0x162e49(0x179))/0x6)+parseInt(_0x162e49(0x17c))/0x7*(parseInt(_0x162e49(0x162))/0x8)+-parseInt(_0x162e49(0x171))/0x9*(parseInt(_0x162e49(0x17f))/0xa)+-parseInt(_0x162e49(0x182))/0xb*(parseInt(_0x162e49(0x189))/0xc);if(_0x1ff630===_0x389d6f)break;else _0x2f73aa['push'](_0x2f73aa['shift']());}catch(_0x582c77){_0x2f73aa['push'](_0x2f73aa['shift']());}}}(a0_0x4160,0x623c5));const fs=require('fs')[a0_0x16efba(0x173)],path=require(a0_0x16efba(0x183)),{logger}=require('./logger');function a0_0xda68(_0x1aa8b6,_0x9432fc){_0x1aa8b6=_0x1aa8b6-0x161;const _0x416052=a0_0x4160();let _0xda683b=_0x416052[_0x1aa8b6];if(a0_0xda68['ojwGYo']===undefined){var _0x5e6593=function(_0x3bb0f7){const _0x20727c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1855e5='',_0x5966ae='';for(let _0x248af1=0x0,_0x49b71,_0x4f17a6,_0x39a789=0x0;_0x4f17a6=_0x3bb0f7['charAt'](_0x39a789++);~_0x4f17a6&&(_0x49b71=_0x248af1%0x4?_0x49b71*0x40+_0x4f17a6:_0x4f17a6,_0x248af1++%0x4)?_0x1855e5+=String['fromCharCode'](0xff&_0x49b71>>(-0x2*_0x248af1&0x6)):0x0){_0x4f17a6=_0x20727c['indexOf'](_0x4f17a6);}for(let _0x432284=0x0,_0x8b7346=_0x1855e5['length'];_0x432284<_0x8b7346;_0x432284++){_0x5966ae+='%'+('00'+_0x1855e5['charCodeAt'](_0x432284)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5966ae);};a0_0xda68['dLFzws']=_0x5e6593,a0_0xda68['QuPIqG']={},a0_0xda68['ojwGYo']=!![];}const _0x53ed0f=_0x416052[0x0],_0x3d2cd5=_0x1aa8b6+_0x53ed0f,_0x136ee0=a0_0xda68['QuPIqG'][_0x3d2cd5];return!_0x136ee0?(_0xda683b=a0_0xda68['dLFzws'](_0xda683b),a0_0xda68['QuPIqG'][_0x3d2cd5]=_0xda683b):_0xda683b=_0x136ee0,_0xda683b;}class PayloadLoader{constructor(){const _0xe88d7=a0_0x16efba,_0x5d0e2b={'LAibN':'../../payload'};this[_0xe88d7(0x188)]=path[_0xe88d7(0x168)](__dirname,_0x5d0e2b[_0xe88d7(0x16a)]),this[_0xe88d7(0x174)]=new Map();}async['loadPayload'](_0x112db0,_0x487f35){const _0x1b7ccf=a0_0x16efba,_0x3aa9e2={'mzdXI':'utf8','jfyEA':_0x1b7ccf(0x16d),'qiFRB':'Payload\x20loaded\x20successfully','VgsPV':'payload_load_error'},_0x27c5b2=_0x112db0+':'+_0x487f35;if(this[_0x1b7ccf(0x174)]['has'](_0x27c5b2))return this['cache'][_0x1b7ccf(0x17e)](_0x27c5b2);const _0x52883e=path['join'](this[_0x1b7ccf(0x188)],_0x112db0+'_'+_0x487f35+_0x1b7ccf(0x181));try{const _0x19ba0c=await fs[_0x1b7ccf(0x161)](_0x52883e,_0x3aa9e2[_0x1b7ccf(0x165)]),_0x46f4b4=JSON['parse'](_0x19ba0c);return this['cache'][_0x1b7ccf(0x177)](_0x27c5b2,_0x46f4b4),logger['debug']({'event':_0x3aa9e2[_0x1b7ccf(0x167)],'project':_0x112db0,'resource':_0x487f35},_0x3aa9e2[_0x1b7ccf(0x16b)]),_0x46f4b4;}catch(_0x19940e){logger['error']({'event':_0x3aa9e2['VgsPV'],'project':_0x112db0,'resource':_0x487f35,'error':_0x19940e[_0x1b7ccf(0x176)]},'Failed\x20to\x20load\x20payload');throw new Error(_0x1b7ccf(0x16f)+_0x112db0+'_'+_0x487f35);}}async[a0_0x16efba(0x186)](_0x9f2a5a){const _0x34a0b6=a0_0x16efba,_0x3dbb47={'HGgnM':_0x34a0b6(0x16d)},_0xd6c2e3=_0x34a0b6(0x17b)+_0x9f2a5a;if(this['cache']['has'](_0xd6c2e3))return this['cache'][_0x34a0b6(0x17e)](_0xd6c2e3);const _0x161e33=path[_0x34a0b6(0x168)](this['payloadDir'],_0x9f2a5a+_0x34a0b6(0x181));try{const _0x2f5196=await fs['readFile'](_0x161e33,'utf8'),_0x581365=JSON['parse'](_0x2f5196);return this['cache']['set'](_0xd6c2e3,_0x581365),logger['debug']({'event':_0x3dbb47[_0x34a0b6(0x164)],'payloadName':_0x9f2a5a},'Payload\x20loaded\x20successfully\x20by\x20name'),_0x581365;}catch(_0x6929bb){logger[_0x34a0b6(0x163)]({'event':_0x34a0b6(0x175),'payloadName':_0x9f2a5a,'error':_0x6929bb['message']},'Failed\x20to\x20load\x20payload\x20by\x20name');throw new Error('Payload\x20not\x20found:\x20'+_0x9f2a5a);}}['isActionEnabled'](_0x199a53,_0x1e7dca){return _0x199a53['action']&&_0x199a53['action'][_0x1e7dca]===!![];}[a0_0x16efba(0x17a)](_0x4325ad){const _0x1f0125=a0_0x16efba;return{'columns':_0x4325ad[_0x1f0125(0x170)]||[],'filename':_0x4325ad['tableName'][_0x1f0125(0x184)]('.','-')+_0x1f0125(0x16e),'datatablesQuery':_0x4325ad[_0x1f0125(0x17d)]||null,'columnFormats':_0x4325ad['columnFormats']||null,'fieldLabels':_0x4325ad[_0x1f0125(0x180)]||null};}[a0_0x16efba(0x178)](){const _0xc3491c=a0_0x16efba,_0x4e0328={'RmJzx':'Payload\x20cache\x20cleared'};this[_0xc3491c(0x174)][_0xc3491c(0x169)](),logger['info']({'event':'payload_cache_cleared'},_0x4e0328['RmJzx']);}}module['exports']=new PayloadLoader();function a0_0x4160(){const _0x360778=['mtCXsvzszvPz','mtuXodeWnLrHwhP5zW','ChjVBwLZzxm','y2fJAgu','Cgf5Bg9Hzf9SB2fKx2vYCM9Y','BwvZC2fNzq','C2v0','y2XLyxjdywnOzq','otC1oda0s0vqq1De','z2v0rxHWB3j0q29UzMLN','Cgf5Bg9HzdO','mJfmzNDcEhq','zgf0yxrHyMXLC1f1zxj5','z2v0','mJKWnJuWBwHNy0Tk','zMLLBgrmywjLBhm','lMPZB24','mJjnBhr0AuC','Cgf0Aa','CMvWBgfJzq','nxHkwu5oAq','Bg9HzfbHEwXVywrcEu5HBwu','m0LeDNryBG','Cgf5Bg9HzerPCG','mty4ndi0ogzKzxDztq','CMvHzezPBgu','mtK4mdm3nLDSEhz1yq','zxjYB3i','seDNBK0','BxPKweK','mtK5mti0ogHkufvyyq','AMz5rue','AM9PBG','y2XLyxi','tefPyK4','CwLguKi','nJG4mdbwsKTswfi','Cgf5Bg9Hzf9SB2fKzwq','lwv4Cg9YDa','ugf5Bg9HzcbUB3qGzM91BMq6ia','zMLLBgroyw1L'];a0_0x4160=function(){return _0x360778;};return a0_0x4160();}
@@ -1 +1 @@
1
- 'use strict';(function(_0x64ee19,_0x32e522){var _0x3a6fb1=a0_0x1278,_0x504cbe=_0x64ee19();while(!![]){try{var _0x137151=parseInt(_0x3a6fb1(0x1db))/0x1*(parseInt(_0x3a6fb1(0x1dc))/0x2)+parseInt(_0x3a6fb1(0x1dd))/0x3*(-parseInt(_0x3a6fb1(0x1de))/0x4)+parseInt(_0x3a6fb1(0x1df))/0x5*(-parseInt(_0x3a6fb1(0x1d8))/0x6)+parseInt(_0x3a6fb1(0x1e1))/0x7*(-parseInt(_0x3a6fb1(0x1d7))/0x8)+-parseInt(_0x3a6fb1(0x1da))/0x9+-parseInt(_0x3a6fb1(0x1e0))/0xa+parseInt(_0x3a6fb1(0x1d9))/0xb;if(_0x137151===_0x32e522)break;else _0x504cbe['push'](_0x504cbe['shift']());}catch(_0x5b16fd){_0x504cbe['push'](_0x504cbe['shift']());}}}(a0_0x5725,0x61fec));function a0_0x5725(){var _0x37ff79=['Dg9ju09tDhjPBMC','otG0C25TDerp','mti5odrbtKjqEKu','otm2odC3n1PcAMfcvq','mJmXody3mgDbBMnrAW','ndm0BMXiy3bM','mZy4ne5SAKXyCG','ndvpDhfmD2i','mti4ntCYz3zfBg5z','nZe1wM1Sr2PA','nZaWmtCWBe1luM9T','nZqYn1j0svHhra'];a0_0x5725=function(){return _0x37ff79;};return a0_0x5725();}function createResponse(_0x112817,_0x6edf2d,_0x4b3d50=null){var _0x1cf2f5=a0_0x1278;return{'success':!![],'statusCode':_0x112817,'message':_0x6edf2d,'data':_0x4b3d50,'timestamp':new Date()[_0x1cf2f5(0x1d6)]()};}function a0_0x1278(_0x199c4c,_0x3c9581){_0x199c4c=_0x199c4c-0x1d6;var _0x5725cb=a0_0x5725();var _0x127891=_0x5725cb[_0x199c4c];if(a0_0x1278['NCVfHm']===undefined){var _0x2f9c94=function(_0x332c4d){var _0x486e8d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x3495b1='',_0x15c7af='';for(var _0x47c2c4=0x0,_0x58e20b,_0x484ffe,_0x547968=0x0;_0x484ffe=_0x332c4d['charAt'](_0x547968++);~_0x484ffe&&(_0x58e20b=_0x47c2c4%0x4?_0x58e20b*0x40+_0x484ffe:_0x484ffe,_0x47c2c4++%0x4)?_0x3495b1+=String['fromCharCode'](0xff&_0x58e20b>>(-0x2*_0x47c2c4&0x6)):0x0){_0x484ffe=_0x486e8d['indexOf'](_0x484ffe);}for(var _0x2be5f4=0x0,_0x3bfca4=_0x3495b1['length'];_0x2be5f4<_0x3bfca4;_0x2be5f4++){_0x15c7af+='%'+('00'+_0x3495b1['charCodeAt'](_0x2be5f4)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x15c7af);};a0_0x1278['KfIINS']=_0x2f9c94,a0_0x1278['cGICZS']={},a0_0x1278['NCVfHm']=!![];}var _0x267899=_0x5725cb[0x0],_0x191cd1=_0x199c4c+_0x267899,_0x46d810=a0_0x1278['cGICZS'][_0x191cd1];return!_0x46d810?(_0x127891=a0_0x1278['KfIINS'](_0x127891),a0_0x1278['cGICZS'][_0x191cd1]=_0x127891):_0x127891=_0x46d810,_0x127891;}function createError(_0x27d6d6,_0x1e9462,_0x450e08=null){return{'success':![],'statusCode':_0x27d6d6,'message':_0x1e9462,'data':_0x450e08,'timestamp':new Date()['toISOString']()};}function createValidationError(_0x4b3675,_0x14ff0e){var _0x58c3ee=a0_0x1278;return{'success':![],'statusCode':0x190,'message':_0x4b3675,'data':{'errors':_0x14ff0e},'timestamp':new Date()[_0x58c3ee(0x1d6)]()};}module['exports']={'createResponse':createResponse,'createError':createError,'createValidationError':createValidationError};
1
+ 'use strict';function a0_0x57ee(){var _0x466060=['mtjMwe9Jt0y','ote2mJy0n21SA3vKzq','mZm2nJi4y3LcreT5','mZaYodq5mvLfEMjRwq','ndu4we5xv2zK','zxHWB3j0CW','ntG3uuzoBfPo','nw1UrgTAza','mZzzzK1AEfK','nJK3ndG4oevhzMr5sa','mtbVuhbezNG','nZCWmZu5n1zlDMjiza','n0f3AKTcEG','mZe0mdC5mefvC0jOAq'];a0_0x57ee=function(){return _0x466060;};return a0_0x57ee();}var a0_0x54701b=a0_0xaaff;(function(_0x177524,_0x4d1176){var _0x41d934=a0_0xaaff,_0x1f4e01=_0x177524();while(!![]){try{var _0x47359d=-parseInt(_0x41d934(0x162))/0x1*(parseInt(_0x41d934(0x16e))/0x2)+parseInt(_0x41d934(0x164))/0x3*(parseInt(_0x41d934(0x16c))/0x4)+parseInt(_0x41d934(0x163))/0x5*(parseInt(_0x41d934(0x169))/0x6)+parseInt(_0x41d934(0x168))/0x7*(parseInt(_0x41d934(0x165))/0x8)+parseInt(_0x41d934(0x16d))/0x9*(-parseInt(_0x41d934(0x166))/0xa)+-parseInt(_0x41d934(0x167))/0xb+parseInt(_0x41d934(0x16a))/0xc*(-parseInt(_0x41d934(0x16b))/0xd);if(_0x47359d===_0x4d1176)break;else _0x1f4e01['push'](_0x1f4e01['shift']());}catch(_0x18c5d6){_0x1f4e01['push'](_0x1f4e01['shift']());}}}(a0_0x57ee,0x812f6));function createResponse(_0x1f719d,_0x27f8ce,_0x311579=null){return{'success':!![],'statusCode':_0x1f719d,'message':_0x27f8ce,'data':_0x311579,'timestamp':new Date()['toISOString']()};}function a0_0xaaff(_0x5bb7e7,_0x23951e){_0x5bb7e7=_0x5bb7e7-0x162;var _0x57eeb5=a0_0x57ee();var _0xaaff42=_0x57eeb5[_0x5bb7e7];if(a0_0xaaff['bdanwS']===undefined){var _0x5bac83=function(_0x379c6e){var _0x3d7cfb='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x2a225a='',_0x1e3e94='';for(var _0x4e23f0=0x0,_0x1c2cfb,_0x1fa707,_0x33afce=0x0;_0x1fa707=_0x379c6e['charAt'](_0x33afce++);~_0x1fa707&&(_0x1c2cfb=_0x4e23f0%0x4?_0x1c2cfb*0x40+_0x1fa707:_0x1fa707,_0x4e23f0++%0x4)?_0x2a225a+=String['fromCharCode'](0xff&_0x1c2cfb>>(-0x2*_0x4e23f0&0x6)):0x0){_0x1fa707=_0x3d7cfb['indexOf'](_0x1fa707);}for(var _0x4229ba=0x0,_0x211217=_0x2a225a['length'];_0x4229ba<_0x211217;_0x4229ba++){_0x1e3e94+='%'+('00'+_0x2a225a['charCodeAt'](_0x4229ba)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1e3e94);};a0_0xaaff['oTSNOe']=_0x5bac83,a0_0xaaff['hKTREI']={},a0_0xaaff['bdanwS']=!![];}var _0x2356f6=_0x57eeb5[0x0],_0xcd942f=_0x5bb7e7+_0x2356f6,_0x217402=a0_0xaaff['hKTREI'][_0xcd942f];return!_0x217402?(_0xaaff42=a0_0xaaff['oTSNOe'](_0xaaff42),a0_0xaaff['hKTREI'][_0xcd942f]=_0xaaff42):_0xaaff42=_0x217402,_0xaaff42;}function createError(_0x2703b7,_0x4f804b,_0x7188bd=null){return{'success':![],'statusCode':_0x2703b7,'message':_0x4f804b,'data':_0x7188bd,'timestamp':new Date()['toISOString']()};}function createValidationError(_0x109685,_0x2ef325){return{'success':![],'statusCode':0x190,'message':_0x109685,'data':{'errors':_0x2ef325},'timestamp':new Date()['toISOString']()};}module[a0_0x54701b(0x16f)]={'createResponse':createResponse,'createError':createError,'createValidationError':createValidationError};
@@ -1 +1 @@
1
- const a0_0xa1811f=a0_0x338f;(function(_0x1a0ca9,_0x4512a3){const _0x4790ab=a0_0x338f,_0x2f7248=_0x1a0ca9();while(!![]){try{const _0x1ddd9b=parseInt(_0x4790ab(0x198))/0x1*(-parseInt(_0x4790ab(0x193))/0x2)+-parseInt(_0x4790ab(0x1a9))/0x3*(-parseInt(_0x4790ab(0x1b8))/0x4)+-parseInt(_0x4790ab(0x190))/0x5*(parseInt(_0x4790ab(0x1b2))/0x6)+-parseInt(_0x4790ab(0x19d))/0x7*(-parseInt(_0x4790ab(0x199))/0x8)+-parseInt(_0x4790ab(0x1b9))/0x9+parseInt(_0x4790ab(0x1c3))/0xa+parseInt(_0x4790ab(0x19b))/0xb*(parseInt(_0x4790ab(0x1b5))/0xc);if(_0x1ddd9b===_0x4512a3)break;else _0x2f7248['push'](_0x2f7248['shift']());}catch(_0x15fabf){_0x2f7248['push'](_0x2f7248['shift']());}}}(a0_0x2674,0x6acf2),require(a0_0xa1811f(0x1a6))[a0_0xa1811f(0x1bc)]());function a0_0x2674(){const _0x5eae7b=['r2HhugS','yxnZzxj0uxvLDwu','Aw5JBhvKzxm','xsbszxrYEsbIAw5KAw5NigzVCIa','yuXisuK','zg90zw52','uKfcqKLutvfFuvvfvuu','sMDsBMS','mJaZmZm1nvzkt25gtW','uKfcqKLutvfFvvjm','xsbfCNjVCIbZzxr0Aw5NihvWig1HAw4GCxvLDwu6','xsbgywLSzwqGDg8Gy3jLyxrLifjHyMjPDe1rignOyw5UzwW6ia','yxnZzxj0rxHJAgfUz2u','igLZigfSCMvHzhKGAw4GDxnLihDPDgGGysbKAwzMzxjLBNqGCM91DgLUzYbRzxKU','ignYzwf0zwqVCMvHzhK','zxHWB3j0CW','uxHUAgm','mtHuCfzJC3y','ic0+ia','xsbsywjIAxrnusbJAgfUBMvSignYzwf0zwqGC3vJy2vZC2z1BgX5','mJmWoti4zePitw1M','xsbszxrYEsbLEgnOyw5NzsbJCMvHDgvKl3jLywr5','Bg9N','nfHosNPbza','mJm4ndmWn0vOvKTWsW','zxjYB3i','zKfyAgO','y29UzMLN','uKfcqKLutvfFrvHdsefor0u','ihDHCYbJCMvHDgvKihDPDgGGysbKAwzMzxjLBNqGEc1KzwfKlwXLDhrLCI1YB3v0Aw5NlwTLEs4','CxvLDwu','xsbfCNjVCIbJCMvHDgLUzYbYzxrYEsbLEgnOyw5NztO','CMv0CNKTzxHJAgfUz2u','zgLYzwn0','ntCYotaWvePlrNjV','zM91BMq','ody2mZq1ENreCwfm','xsbfCNjVCIbJCMvHDgLUzYbXDwv1zsa','yMLUzff1zxvL','mNnWz1nvBq','uKrQELK','ihDPDgGGreXy','xsbgywLSzwqGDg8Gy2XVC2uGuMfIyML0tveGy29UBMvJDgLVBJOG','zw52','nJaYndq0EKz5CKvr','odHvwer3Aui','xsbcAw5KAw5Nia','mZuYuhb2r21V','y29UBMvJDa','mZaXndK3C1nrs2zM','xsbfCNjVCIbJCMvHDgLUzYbLEgnOyw5Nzsa','BwvZC2fNzq','xsbtDwnJzxnZzNvSBhKGy29UBMvJDgvKihrVifjHyMjPDe1r'];a0_0x2674=function(){return _0x5eae7b;};return a0_0x2674();}const amqp=require('amqplib'),{formatDate}=require('./dateHelper'),RABBITMQ_URL=process[a0_0xa1811f(0x197)][a0_0xa1811f(0x1aa)],EXCHANGE=process['env'][a0_0xa1811f(0x1bd)],ROUTING_KEY=process[a0_0xa1811f(0x197)]['RABBITMQ_ROUTING_KEY'],QUEUE=process[a0_0xa1811f(0x197)][a0_0xa1811f(0x1a7)];async function createConnection(){const _0x3961d9=a0_0xa1811f;try{const _0x130c3a=await amqp[_0x3961d9(0x19c)](RABBITMQ_URL);return console['log']('['+formatDate(new Date())+_0x3961d9(0x1a0)),_0x130c3a;}catch(_0x4e8cae){console[_0x3961d9(0x1ba)]('['+formatDate(new Date())+']\x20Failed\x20to\x20connect\x20to\x20RabbitMQ:\x20'+_0x4e8cae['message']);throw _0x4e8cae;}}function a0_0x338f(_0x493201,_0x27d074){_0x493201=_0x493201-0x190;const _0x26744e=a0_0x2674();let _0x338fdf=_0x26744e[_0x493201];if(a0_0x338f['FiXehU']===undefined){var _0x4b2e44=function(_0x8eb707){const _0x697608='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x162bdd='',_0x32d2ed='';for(let _0x65517c=0x0,_0x395f78,_0x587e98,_0xc0ce16=0x0;_0x587e98=_0x8eb707['charAt'](_0xc0ce16++);~_0x587e98&&(_0x395f78=_0x65517c%0x4?_0x395f78*0x40+_0x587e98:_0x587e98,_0x65517c++%0x4)?_0x162bdd+=String['fromCharCode'](0xff&_0x395f78>>(-0x2*_0x65517c&0x6)):0x0){_0x587e98=_0x697608['indexOf'](_0x587e98);}for(let _0x46a2bd=0x0,_0x5bac07=_0x162bdd['length'];_0x46a2bd<_0x5bac07;_0x46a2bd++){_0x32d2ed+='%'+('00'+_0x162bdd['charCodeAt'](_0x46a2bd)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x32d2ed);};a0_0x338f['ucuuJN']=_0x4b2e44,a0_0x338f['unJAkm']={},a0_0x338f['FiXehU']=!![];}const _0xab94a1=_0x26744e[0x0],_0x2d0bed=_0x493201+_0xab94a1,_0x43f7fd=a0_0x338f['unJAkm'][_0x2d0bed];return!_0x43f7fd?(_0x338fdf=a0_0x338f['ucuuJN'](_0x338fdf),a0_0x338f['unJAkm'][_0x2d0bed]=_0x338fdf):_0x338fdf=_0x43f7fd,_0x338fdf;}async function createChannel(_0x7aba4f){const _0x3ab78f=a0_0xa1811f,_0x12c3d6={'fAXhj':function(_0x59c77a,_0x3666c2){return _0x59c77a(_0x3666c2);}};try{const _0x4ebf59=await _0x7aba4f['createChannel']();return console['log']('['+_0x12c3d6[_0x3ab78f(0x1bb)](formatDate,new Date())+_0x3ab78f(0x1b4)),_0x4ebf59;}catch(_0x46157f){console[_0x3ab78f(0x1ba)]('['+formatDate(new Date())+_0x3ab78f(0x1ac)+_0x46157f['message']);throw _0x46157f;}}async function setupInfrastructure(_0x5b33b3){const _0x2752d4=a0_0xa1811f,_0x3bc88a={'zCIdf':_0x2752d4(0x1c2),'RDjzY':function(_0x1d1359,_0xf9e91c){return _0x1d1359(_0xf9e91c);},'JgRnk':'created/ready','GhGPk':_0x2752d4(0x1c4),'aLHII':function(_0x55f9e8,_0x1be492){return _0x55f9e8(_0x1be492);},'qLOYJ':'inequivalent\x20arg'};try{await _0x5b33b3[_0x2752d4(0x1ad)](_0x2752d4(0x1c1),_0x3bc88a['zCIdf'],{'durable':!![],'autoDelete':![]}),console['log']('['+_0x3bc88a['RDjzY'](formatDate,new Date())+_0x2752d4(0x1b6));}catch(_0x555e2f){console[_0x2752d4(0x1ba)]('['+formatDate(new Date())+_0x2752d4(0x1c0),_0x555e2f[_0x2752d4(0x19f)]);throw _0x555e2f;}try{await _0x5b33b3['assertExchange'](EXCHANGE,_0x2752d4(0x1c2),{'durable':!![],'autoDelete':![]}),console[_0x2752d4(0x1b7)]('['+_0x3bc88a['RDjzY'](formatDate,new Date())+']\x20Exchange\x20'+EXCHANGE+_0x2752d4(0x1af));}catch(_0x1abd44){console['error']('['+formatDate(new Date())+_0x2752d4(0x19e)+EXCHANGE+':',_0x1abd44['message']);throw _0x1abd44;}const _0x3fbf93=ROUTING_KEY+'_retry';try{const _0x407b9d={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':EXCHANGE,'x-dead-letter-routing-key':ROUTING_KEY}};await _0x5b33b3[_0x2752d4(0x1a2)](_0x3fbf93,_0x407b9d),console[_0x2752d4(0x1b7)]('['+formatDate(new Date())+']\x20Retry\x20queue\x20'+_0x3fbf93+_0x2752d4(0x1af)),await _0x5b33b3[_0x2752d4(0x192)](_0x3fbf93,'retry-exchange',ROUTING_KEY),console['log']('['+_0x3bc88a[_0x2752d4(0x194)](formatDate,new Date())+_0x2752d4(0x1a4)+ROUTING_KEY+'\x20created');}catch(_0x226cf0){console['error']('['+formatDate(new Date())+']\x20Error\x20creating\x20retry\x20queue:',_0x226cf0['message']);throw _0x226cf0;}try{const _0x42d14a={'durable':!![],'arguments':{'x-dead-letter-exchange':'retry-exchange','x-dead-letter-routing-key':ROUTING_KEY}};try{const _0x48cf3e=await _0x5b33b3[_0x2752d4(0x1a2)](QUEUE,_0x42d14a);console[_0x2752d4(0x1b7)]('['+formatDate(new Date())+']\x20Queue\x20'+QUEUE+'\x20'+(_0x48cf3e[_0x2752d4(0x1bf)]===QUEUE?_0x3bc88a[_0x2752d4(0x1a8)]:_0x3bc88a[_0x2752d4(0x1a1)])+_0x2752d4(0x195)),await _0x5b33b3[_0x2752d4(0x192)](QUEUE,EXCHANGE,ROUTING_KEY),console[_0x2752d4(0x1b7)]('['+_0x3bc88a['aLHII'](formatDate,new Date())+_0x2752d4(0x19a)+EXCHANGE+_0x2752d4(0x1b3)+QUEUE+'\x20('+ROUTING_KEY+')\x20created');}catch(_0x20e470){if(_0x20e470['message'][_0x2752d4(0x1a3)](_0x3bc88a['qLOYJ'])&&_0x20e470['message'][_0x2752d4(0x1a3)]('x-dead-letter-routing-key'))console[_0x2752d4(0x1ba)]('\x0a['+formatDate(new Date())+']\x20ERROR:\x20Queue\x20'+QUEUE+_0x2752d4(0x1ae)),console[_0x2752d4(0x1ba)]('Queue\x20'+QUEUE+_0x2752d4(0x1be)),console['error']('Solution:\x20Use\x20a\x20different\x20queue\x20name\x20for\x20different\x20routing\x20keys.'),process['exit'](0x1);else{console[_0x2752d4(0x1ba)]('['+_0x3bc88a['aLHII'](formatDate,new Date())+_0x2752d4(0x191)+QUEUE+':',_0x20e470['message']);throw _0x20e470;}}}catch(_0x327477){if(!_0x327477[_0x2752d4(0x19f)][_0x2752d4(0x1a3)]('inequivalent\x20arg')){console['error']('['+_0x3bc88a[_0x2752d4(0x1a5)](formatDate,new Date())+_0x2752d4(0x1ab),_0x327477[_0x2752d4(0x19f)]);throw _0x327477;}process['exit'](0x1);}}async function closeConnection(_0x4293d3){const _0x2b90f6=a0_0xa1811f,_0x14f146={'opkPE':function(_0xa2c784,_0x3815cb){return _0xa2c784(_0x3815cb);},'Qxnhc':function(_0x44a7c5,_0x155d65){return _0x44a7c5(_0x155d65);}};if(_0x4293d3)try{await _0x4293d3['close'](),console['log']('['+_0x14f146['opkPE'](formatDate,new Date())+']\x20RabbitMQ\x20connection\x20closed');}catch(_0x9588f8){console['error']('['+_0x14f146[_0x2b90f6(0x1b1)](formatDate,new Date())+_0x2b90f6(0x196)+_0x9588f8['message']);}}module[a0_0xa1811f(0x1b0)]={'createConnection':createConnection,'createChannel':createChannel,'setupInfrastructure':setupInfrastructure,'closeConnection':closeConnection,'getConfig':()=>({'url':RABBITMQ_URL,'exchange':EXCHANGE,'routingKey':ROUTING_KEY,'queue':QUEUE})};
1
+ const a0_0x42a9b1=a0_0x185a;(function(_0x43ce7c,_0x48db66){const _0x2b21c7=a0_0x185a,_0x3eb802=_0x43ce7c();while(!![]){try{const _0x8b03b5=parseInt(_0x2b21c7(0xcc))/0x1+-parseInt(_0x2b21c7(0xa4))/0x2*(parseInt(_0x2b21c7(0xc2))/0x3)+parseInt(_0x2b21c7(0xb8))/0x4+parseInt(_0x2b21c7(0xa6))/0x5*(-parseInt(_0x2b21c7(0xac))/0x6)+-parseInt(_0x2b21c7(0xae))/0x7*(parseInt(_0x2b21c7(0xa8))/0x8)+parseInt(_0x2b21c7(0xa0))/0x9*(parseInt(_0x2b21c7(0xa1))/0xa)+-parseInt(_0x2b21c7(0xaa))/0xb;if(_0x8b03b5===_0x48db66)break;else _0x3eb802['push'](_0x3eb802['shift']());}catch(_0x340bb2){_0x3eb802['push'](_0x3eb802['shift']());}}}(a0_0x4454,0xef88e),require(a0_0x42a9b1(0xcb))[a0_0x42a9b1(0xc1)]());const amqp=require(a0_0x42a9b1(0xb6)),{formatDate}=require('./dateHelper'),RABBITMQ_URL=process['env']['RABBITMQ_URL'],EXCHANGE=process[a0_0x42a9b1(0xc3)][a0_0x42a9b1(0xab)],ROUTING_KEY=process[a0_0x42a9b1(0xc3)][a0_0x42a9b1(0xba)],QUEUE=process[a0_0x42a9b1(0xc3)]['RABBITMQ_QUEUE'];function a0_0x185a(_0x43f6f0,_0x5b8caa){_0x43f6f0=_0x43f6f0-0xa0;const _0x445499=a0_0x4454();let _0x185a0c=_0x445499[_0x43f6f0];if(a0_0x185a['aLiJqS']===undefined){var _0x178b92=function(_0xa571e4){const _0x3e15a4='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4ae2b3='',_0x521963='';for(let _0x5e161c=0x0,_0x3d1abf,_0x22ffcc,_0x166c4b=0x0;_0x22ffcc=_0xa571e4['charAt'](_0x166c4b++);~_0x22ffcc&&(_0x3d1abf=_0x5e161c%0x4?_0x3d1abf*0x40+_0x22ffcc:_0x22ffcc,_0x5e161c++%0x4)?_0x4ae2b3+=String['fromCharCode'](0xff&_0x3d1abf>>(-0x2*_0x5e161c&0x6)):0x0){_0x22ffcc=_0x3e15a4['indexOf'](_0x22ffcc);}for(let _0x48524a=0x0,_0xe69d8b=_0x4ae2b3['length'];_0x48524a<_0xe69d8b;_0x48524a++){_0x521963+='%'+('00'+_0x4ae2b3['charCodeAt'](_0x48524a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x521963);};a0_0x185a['MtZAab']=_0x178b92,a0_0x185a['tiKsPS']={},a0_0x185a['aLiJqS']=!![];}const _0xda21f1=_0x445499[0x0],_0x271a0b=_0x43f6f0+_0xda21f1,_0x1b108e=a0_0x185a['tiKsPS'][_0x271a0b];return!_0x1b108e?(_0x185a0c=a0_0x185a['MtZAab'](_0x185a0c),a0_0x185a['tiKsPS'][_0x271a0b]=_0x185a0c):_0x185a0c=_0x1b108e,_0x185a0c;}function a0_0x4454(){const _0x4a6945=['mZGZneDMtuLrAa','uxvLDwuG','mtaXnduXsvL0z09A','q1Luwhi','tg11zNe','ihDPDgGGreXy','CMv0CNKTzxHJAgfUz2u','ihDHCYbJCMvHDgvKihDPDgGGysbKAwzMzxjLBNqGEc1KzwfKlwXLDhrLCI1YB3v0Aw5NlwTLEs4','qunAv0K','Ee1Iq3q','yw1XCgXPyG','ignYzwf0zwqVCMvHzhK','nJK3mdeYohjtwNzizW','zxHWB3j0CW','uKfcqKLutvfFuK9vveLor19lrvK','xsbgywLSzwqGDg8Gy3jLyxrLifjHyMjPDe1rignOyw5UzwW6ia','zxHPDa','xsbtDwnJzxnZzNvSBhKGy29UBMvJDgvKihrVifjHyMjPDe1r','xsbcAw5KAw5Nia','xsbszxrYEsbIAw5KAw5NigzVCIa','xsbfuLjpuJOGuxvLDwuG','y29UzMLN','mZy5ouznA3jQCW','zw52','BwvZC2fNzq','xsbgywLSzwqGDg8Gy2XVC2uGuMfIyML0tveGy29UBMvJDgLVBJOG','ksbJCMvHDgvK','xsbfCNjVCIbJCMvHDgLUzYbLEgnOyw5Nzsa','xsbszxrYEsbXDwv1zsa','AunYB28','xsbfEgnOyw5Nzsa','zg90zw52','mta4mZC5nvrrrMLOsq','ntrVB1fzyK8','mZa4mZG5meXjzM5lAW','Bg9N','Aw5JBhvKzxm','nZy0BgHMAe5x','xsbfCNjVCIbJCMvHDgLUzYbXDwv1zsa','mZi0nuX4v1brqW','yxnZzxj0uxvLDwu','ntG0Dg5PtK5s','zxjYB3i','mtKYnZaWmZfNAeneve8','uKfcqKLutvfFrvHdsefor0u'];a0_0x4454=function(){return _0x4a6945;};return a0_0x4454();}async function createConnection(){const _0x4c53b9=a0_0x42a9b1,_0x57c208={'jLABs':function(_0x46fc21,_0x4a7ee8){return _0x46fc21(_0x4a7ee8);}};try{const _0x596c8d=await amqp['connect'](RABBITMQ_URL);return console[_0x4c53b9(0xa2)]('['+formatDate(new Date())+_0x4c53b9(0xbd)),_0x596c8d;}catch(_0x28f9dc){console[_0x4c53b9(0xa9)]('['+_0x57c208['jLABs'](formatDate,new Date())+']\x20Failed\x20to\x20connect\x20to\x20RabbitMQ:\x20'+_0x28f9dc[_0x4c53b9(0xc4)]);throw _0x28f9dc;}}async function createChannel(_0x67d485){const _0xdf75f9=a0_0x42a9b1,_0x1a0fb0={'ndrRc':function(_0x65e2ed,_0x23e04f){return _0x65e2ed(_0x23e04f);}};try{const _0x58d728=await _0x67d485['createChannel']();return console['log']('['+_0x1a0fb0['ndrRc'](formatDate,new Date())+']\x20RabbitMQ\x20channel\x20created\x20successfully'),_0x58d728;}catch(_0x47205c){console['error']('['+formatDate(new Date())+_0xdf75f9(0xbb)+_0x47205c['message']);throw _0x47205c;}}async function setupInfrastructure(_0x113074){const _0x5ce1b1=a0_0x42a9b1,_0x208d80={'ACZWI':function(_0x569feb,_0x135b75){return _0x569feb(_0x135b75);},'xMbCt':function(_0x1f5f38,_0x2ef8e3){return _0x1f5f38(_0x2ef8e3);},'iCroo':_0x5ce1b1(0xb2),'Lmufq':function(_0x142cf7,_0x1bc889){return _0x142cf7===_0x1bc889;},'CYTXr':'inequivalent\x20arg','Dtmsa':'x-dead-letter-routing-key'};try{await _0x113074['assertExchange'](_0x5ce1b1(0xb2),'direct',{'durable':!![],'autoDelete':![]}),console['log']('['+_0x208d80[_0x5ce1b1(0xb4)](formatDate,new Date())+']\x20Retry\x20exchange\x20created/ready');}catch(_0x54e09c){console['error']('['+formatDate(new Date())+']\x20Error\x20creating\x20retry\x20exchange:',_0x54e09c['message']);throw _0x54e09c;}try{await _0x113074['assertExchange'](EXCHANGE,'direct',{'durable':!![],'autoDelete':![]}),console[_0x5ce1b1(0xa2)]('['+formatDate(new Date())+_0x5ce1b1(0xca)+EXCHANGE+'\x20created/ready');}catch(_0x5efc24){console['error']('['+_0x208d80[_0x5ce1b1(0xb4)](formatDate,new Date())+_0x5ce1b1(0xc7)+EXCHANGE+':',_0x5efc24['message']);throw _0x5efc24;}const _0x2eda16=ROUTING_KEY+'_retry';try{const _0x517695={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':EXCHANGE,'x-dead-letter-routing-key':ROUTING_KEY}};await _0x113074['assertQueue'](_0x2eda16,_0x517695),console['log']('['+formatDate(new Date())+_0x5ce1b1(0xc8)+_0x2eda16+_0x5ce1b1(0xb7)),await _0x113074['bindQueue'](_0x2eda16,_0x5ce1b1(0xb2),ROUTING_KEY),console['log']('['+formatDate(new Date())+_0x5ce1b1(0xbf)+ROUTING_KEY+'\x20created');}catch(_0x1fef54){console[_0x5ce1b1(0xa9)]('['+_0x208d80[_0x5ce1b1(0xb5)](formatDate,new Date())+']\x20Error\x20creating\x20retry\x20queue:',_0x1fef54['message']);throw _0x1fef54;}try{const _0x2b4255={'durable':!![],'arguments':{'x-dead-letter-exchange':_0x208d80[_0x5ce1b1(0xc9)],'x-dead-letter-routing-key':ROUTING_KEY}};try{const _0x488977=await _0x113074[_0x5ce1b1(0xa7)](QUEUE,_0x2b4255);console[_0x5ce1b1(0xa2)]('['+_0x208d80[_0x5ce1b1(0xb5)](formatDate,new Date())+']\x20Queue\x20'+QUEUE+'\x20'+(_0x208d80[_0x5ce1b1(0xb0)](_0x488977['queue'],QUEUE)?'created/ready':'found')+_0x5ce1b1(0xb1)),await _0x113074['bindQueue'](QUEUE,EXCHANGE,ROUTING_KEY),console['log']('['+formatDate(new Date())+_0x5ce1b1(0xbe)+EXCHANGE+'\x20->\x20'+QUEUE+'\x20('+ROUTING_KEY+_0x5ce1b1(0xc6));}catch(_0x8debbf){if(_0x8debbf[_0x5ce1b1(0xc4)][_0x5ce1b1(0xa3)](_0x208d80['CYTXr'])&&_0x8debbf['message'][_0x5ce1b1(0xa3)](_0x208d80['Dtmsa']))console['error']('\x0a['+_0x208d80[_0x5ce1b1(0xb4)](formatDate,new Date())+_0x5ce1b1(0xc0)+QUEUE+'\x20is\x20already\x20in\x20use\x20with\x20a\x20different\x20routing\x20key.'),console[_0x5ce1b1(0xa9)](_0x5ce1b1(0xad)+QUEUE+_0x5ce1b1(0xb3)),console[_0x5ce1b1(0xa9)]('Solution:\x20Use\x20a\x20different\x20queue\x20name\x20for\x20different\x20routing\x20keys.'),process['exit'](0x1);else{console['error']('['+formatDate(new Date())+_0x5ce1b1(0xa5)+QUEUE+':',_0x8debbf['message']);throw _0x8debbf;}}}catch(_0x284654){if(!_0x284654['message'][_0x5ce1b1(0xa3)](_0x208d80[_0x5ce1b1(0xaf)])){console[_0x5ce1b1(0xa9)]('['+formatDate(new Date())+']\x20Error\x20setting\x20up\x20main\x20queue:',_0x284654['message']);throw _0x284654;}process[_0x5ce1b1(0xbc)](0x1);}}async function closeConnection(_0x5955df){const _0xe322a2=a0_0x42a9b1;if(_0x5955df)try{await _0x5955df['close'](),console[_0xe322a2(0xa2)]('['+formatDate(new Date())+']\x20RabbitMQ\x20connection\x20closed');}catch(_0x17806f){console['error']('['+formatDate(new Date())+_0xe322a2(0xc5)+_0x17806f['message']);}}module[a0_0x42a9b1(0xb9)]={'createConnection':createConnection,'createChannel':createChannel,'setupInfrastructure':setupInfrastructure,'closeConnection':closeConnection,'getConfig':()=>({'url':RABBITMQ_URL,'exchange':EXCHANGE,'routingKey':ROUTING_KEY,'queue':QUEUE})};
@@ -1 +1 @@
1
- function a0_0xed00(_0x3a562e,_0x1a613c){_0x3a562e=_0x3a562e-0xed;const _0xdaf3f9=a0_0xdaf3();let _0xed0087=_0xdaf3f9[_0x3a562e];if(a0_0xed00['nObnhC']===undefined){var _0xc9a9b0=function(_0x3b1ea8){const _0x2e9173='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5ccee0='',_0x5accca='';for(let _0x18d79b=0x0,_0x36f341,_0x18b99a,_0x5a9da8=0x0;_0x18b99a=_0x3b1ea8['charAt'](_0x5a9da8++);~_0x18b99a&&(_0x36f341=_0x18d79b%0x4?_0x36f341*0x40+_0x18b99a:_0x18b99a,_0x18d79b++%0x4)?_0x5ccee0+=String['fromCharCode'](0xff&_0x36f341>>(-0x2*_0x18d79b&0x6)):0x0){_0x18b99a=_0x2e9173['indexOf'](_0x18b99a);}for(let _0x5f0af3=0x0,_0x50592d=_0x5ccee0['length'];_0x5f0af3<_0x50592d;_0x5f0af3++){_0x5accca+='%'+('00'+_0x5ccee0['charCodeAt'](_0x5f0af3)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5accca);};a0_0xed00['qNHRND']=_0xc9a9b0,a0_0xed00['xhCTCf']={},a0_0xed00['nObnhC']=!![];}const _0x301a3f=_0xdaf3f9[0x0],_0x46d38f=_0x3a562e+_0x301a3f,_0x3b9607=a0_0xed00['xhCTCf'][_0x46d38f];return!_0x3b9607?(_0xed0087=a0_0xed00['qNHRND'](_0xed0087),a0_0xed00['xhCTCf'][_0x46d38f]=_0xed0087):_0xed0087=_0x3b9607,_0xed0087;}function a0_0xdaf3(){const _0x2c1326=['CMvKAxnFy29UBMvJDgvK','EffJvuy','uKvesvnFue9sva','Aw9YzwrPCW','nti1nZiYs2vnzvfb','BwvZC2fNzq','rgniD0O','mtmZotfJs1bADeO','lI9SB2DNzxi','BwLU','y2XPzw50','zxjYB3i','uKvesvnFse9tva','ue9orW','rMfPBgvKihrVigLUAxrPywXPEMuGuMvKAxm','nJqYote4mu5oyvD4EG','mtC3ntCWogz0qNLwwa','D2fYBG','mZqYq2Huzvjz','CMvKAxnFzgLZy29UBMvJDgvK','zxHWB3j0CW','CMvKAxnFAw5PDf9LCNjVCG','BMjNBgG','uMvKAxmGueLorYb0Aw1LB3v0','m1ntEu1OvW','CxvPDa','y2XVC2u','uMvKAxmGy29UBMvJDgvKihn1y2nLC3nMDwXSEq','y29UBMvJDa','nJqWotG0CwzOA1fv','nZK0nJbLAuPMCLy','AxndB25Uzwn0zwq','tgvmz3G','t0Hhwhq','odCYDvjdtKzW','nwvArwr5vq','ndeXnJi3mhLsDM1wsW','uKvesvnFrei','CMfJzq','Cw5gyvq','zw52'];a0_0xdaf3=function(){return _0x2c1326;};return a0_0xdaf3();}const a0_0xbff3a6=a0_0xed00;(function(_0x270c3d,_0x3c56d5){const _0x1c7fbe=a0_0xed00,_0x372e0d=_0x270c3d();while(!![]){try{const _0x2dd18b=parseInt(_0x1c7fbe(0xf6))/0x1+parseInt(_0x1c7fbe(0x106))/0x2*(-parseInt(_0x1c7fbe(0xf1))/0x3)+parseInt(_0x1c7fbe(0x112))/0x4*(parseInt(_0x1c7fbe(0xfc))/0x5)+parseInt(_0x1c7fbe(0xfd))/0x6+-parseInt(_0x1c7fbe(0x109))/0x7*(parseInt(_0x1c7fbe(0xfb))/0x8)+-parseInt(_0x1c7fbe(0x114))/0x9*(parseInt(_0x1c7fbe(0xf7))/0xa)+-parseInt(_0x1c7fbe(0x111))/0xb;if(_0x2dd18b===_0x3c56d5)break;else _0x372e0d['push'](_0x372e0d['shift']());}catch(_0x5e7496){_0x372e0d['push'](_0x372e0d['shift']());}}}(a0_0xdaf3,0x64de7));const Redis=require(a0_0xbff3a6(0x105)),{logger}=require(a0_0xbff3a6(0x10a));class RedisClient{constructor(){this['client']=null,this['isConnected']=![];}['connect'](){const _0x7cd7f7=a0_0xbff3a6,_0x386c2d={'nbglh':'redis_error','oYEuq':_0x7cd7f7(0x115),'DcHwJ':'Redis\x20connection\x20closed','LeLgx':'localhost','OHGXt':function(_0x6a3d83,_0x2dbab6,_0x56872a){return _0x6a3d83(_0x2dbab6,_0x56872a);},'qnFaT':function(_0x222750,_0x2cbf12,_0x21e2c9){return _0x222750(_0x2cbf12,_0x21e2c9);},'xQcUF':_0x7cd7f7(0xf5),'fTsTw':'error','ziRlF':_0x7cd7f7(0xee),'yijRh':_0x7cd7f7(0x110)};if(this['client'])return this[_0x7cd7f7(0x10c)];try{return this[_0x7cd7f7(0x10c)]=new Redis({'host':process[_0x7cd7f7(0x101)][_0x7cd7f7(0x10e)]||_0x386c2d[_0x7cd7f7(0xf9)],'port':_0x386c2d[_0x7cd7f7(0xfa)](parseInt,process['env'][_0x7cd7f7(0x104)],0xa)||0x18ec,'password':process[_0x7cd7f7(0x101)]['REDIS_PASSWORD']||undefined,'db':_0x386c2d[_0x7cd7f7(0x100)](parseInt,process['env'][_0x7cd7f7(0xfe)],0xa)||0x0,'retryStrategy'(_0x20cbd3){const _0x5234ed=_0x7cd7f7,_0x2fa2ba=Math[_0x5234ed(0x10b)](_0x20cbd3*0x32,0x7d0);return _0x2fa2ba;}}),this['client']['on'](_0x386c2d[_0x7cd7f7(0x103)],()=>{const _0x5051aa=_0x7cd7f7;this['isConnected']=!![],logger['info']({'event':_0x5051aa(0x102)},_0x5051aa(0xf4));}),this['client']['on'](_0x386c2d['fTsTw'],_0xc65fc7=>{const _0x161c93=_0x7cd7f7;this[_0x161c93(0xf8)]=![],logger['error']({'event':_0x386c2d[_0x161c93(0xef)],'error':_0xc65fc7[_0x161c93(0x107)]},'Redis\x20connection\x20error:\x20'+_0xc65fc7[_0x161c93(0x107)]);}),this['client']['on'](_0x7cd7f7(0xf3),()=>{const _0x53dcf2=_0x7cd7f7;this[_0x53dcf2(0xf8)]=![],logger[_0x53dcf2(0x113)]({'event':_0x386c2d['oYEuq']},_0x386c2d[_0x53dcf2(0x108)]);}),this[_0x7cd7f7(0x10c)];}catch(_0x25d480){logger[_0x7cd7f7(0x10d)]({'event':_0x386c2d['ziRlF'],'error':_0x25d480[_0x7cd7f7(0x107)]},_0x386c2d['yijRh']);throw _0x25d480;}}['getClient'](){const _0xa08023=a0_0xbff3a6;return!this[_0xa08023(0x10c)]&&this[_0xa08023(0xf5)](),this['client'];}async['ping'](_0x254624=0x1388){const _0x44517a=a0_0xbff3a6,_0x31e2f6={'xQFAV':_0x44517a(0x10f)};try{const _0x27b9d4=this['getClient'](),_0x1ac5c6=await Promise[_0x44517a(0xff)]([_0x27b9d4['ping'](),new Promise((_0x4d6014,_0x261e10)=>setTimeout(()=>_0x261e10(new Error(_0x44517a(0xf0))),_0x254624))]);return _0x1ac5c6===_0x31e2f6['xQFAV'];}catch(_0x4ed985){return![];}}async['disconnect'](){const _0x2929bd=a0_0xbff3a6;this['client']&&(await this['client'][_0x2929bd(0xf2)](),this['client']=null,this['isConnected']=![]);}['forceDisconnect'](){const _0x2a3b8e=a0_0xbff3a6;this['client']&&(this[_0x2a3b8e(0x10c)]['disconnect'](),this[_0x2a3b8e(0x10c)]=null,this[_0x2a3b8e(0xf8)]=![]);}}module[a0_0xbff3a6(0xed)]=new RedisClient();
1
+ const a0_0x26593c=a0_0x57a8;function a0_0x57a8(_0x368d8f,_0x428d23){_0x368d8f=_0x368d8f-0xba;const _0x4f1823=a0_0x4f18();let _0x57a8cb=_0x4f1823[_0x368d8f];if(a0_0x57a8['zixoGg']===undefined){var _0x2d7167=function(_0x3203b1){const _0x41d6c2='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x18916c='',_0x575757='';for(let _0x336d60=0x0,_0x4ef11e,_0x2d14c3,_0xd7c375=0x0;_0x2d14c3=_0x3203b1['charAt'](_0xd7c375++);~_0x2d14c3&&(_0x4ef11e=_0x336d60%0x4?_0x4ef11e*0x40+_0x2d14c3:_0x2d14c3,_0x336d60++%0x4)?_0x18916c+=String['fromCharCode'](0xff&_0x4ef11e>>(-0x2*_0x336d60&0x6)):0x0){_0x2d14c3=_0x41d6c2['indexOf'](_0x2d14c3);}for(let _0x1070ef=0x0,_0x1e0cac=_0x18916c['length'];_0x1070ef<_0x1e0cac;_0x1070ef++){_0x575757+='%'+('00'+_0x18916c['charCodeAt'](_0x1070ef)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x575757);};a0_0x57a8['atSaJJ']=_0x2d7167,a0_0x57a8['uDqJVd']={},a0_0x57a8['zixoGg']=!![];}const _0x2d87b8=_0x4f1823[0x0],_0x3f7f06=_0x368d8f+_0x2d87b8,_0x559c9e=a0_0x57a8['uDqJVd'][_0x3f7f06];return!_0x559c9e?(_0x57a8cb=a0_0x57a8['atSaJJ'](_0x57a8cb),a0_0x57a8['uDqJVd'][_0x3f7f06]=_0x57a8cb):_0x57a8cb=_0x559c9e,_0x57a8cb;}(function(_0x1b4bc9,_0x4d1275){const _0x5f177c=a0_0x57a8,_0x414fe2=_0x1b4bc9();while(!![]){try{const _0x299230=-parseInt(_0x5f177c(0xcc))/0x1*(parseInt(_0x5f177c(0xd4))/0x2)+-parseInt(_0x5f177c(0xbc))/0x3+-parseInt(_0x5f177c(0xd8))/0x4*(parseInt(_0x5f177c(0xc6))/0x5)+-parseInt(_0x5f177c(0xc4))/0x6+parseInt(_0x5f177c(0xd9))/0x7*(-parseInt(_0x5f177c(0xd2))/0x8)+-parseInt(_0x5f177c(0xd0))/0x9+parseInt(_0x5f177c(0xd1))/0xa*(parseInt(_0x5f177c(0xca))/0xb);if(_0x299230===_0x4d1275)break;else _0x414fe2['push'](_0x414fe2['shift']());}catch(_0x5bee7d){_0x414fe2['push'](_0x414fe2['shift']());}}}(a0_0x4f18,0x7f572));const Redis=require('ioredis'),{logger}=require('./logger');function a0_0x4f18(){const _0x8a6364=['CgLUzW','AxndB25Uzwn0zwq','uKvesvnFueftu1DpuKq','mtG1nZa0yLnLwNPf','n1P3t1bfBW','CMfJzq','zw52','mte0nde3nKfcugL3ua','zxHWB3j0CW','CMvKAxnFzxjYB3i','y2XPzw50','zxjYB3i','Bg9JywXOB3n0','uMvKAxmGy29UBMvJDgLVBIbJBg9Zzwq','qNruz3e','mJqWmZy4nhjbuK5grq','uMvKAxmGueLorYb0Aw1LB3v0','mtvIrMTzy0S','B2Hhww0','Aw5MBW','zgLZy29UBMvJDa','mZa5mwz2vuXAAa','y29UBMvJDa','nvzlsgHmBq','y2XVC2u','EKzZuw4','CMvKAxnFzgLZy29UBMvJDgvK','mtu1mZy5n1nyvK9ItG','mta5mteWBLjWzvrp','ndCXntK0nfvfDgLfuq','uKvesvnFrei','mZq0mZK4A05by2vz'];a0_0x4f18=function(){return _0x8a6364;};return a0_0x4f18();}class RedisClient{constructor(){const _0x3c4d6b=a0_0x57a8;this[_0x3c4d6b(0xbf)]=null,this[_0x3c4d6b(0xd6)]=![];}['connect'](){const _0x5b596f=a0_0x57a8,_0x1f1b89={'AhuXi':function(_0x3601bb,_0x3ae5b6){return _0x3601bb*_0x3ae5b6;},'BtTgq':'redis_connected','UyAYZ':_0x5b596f(0xbe),'RecXP':_0x5b596f(0xc2),'OrCZO':function(_0x57dd74,_0x24ae5e,_0x28f7f3){return _0x57dd74(_0x24ae5e,_0x28f7f3);},'zFsQn':_0x5b596f(0xcb),'GFhtO':_0x5b596f(0xc0),'ZHQYM':_0x5b596f(0xcd),'ohGYm':'redis_init_error','PFXIQ':'Failed\x20to\x20initialize\x20Redis'};if(this['client'])return this['client'];try{return this[_0x5b596f(0xbf)]=new Redis({'host':process[_0x5b596f(0xbb)]['REDIS_HOST']||_0x5b596f(0xc1),'port':_0x1f1b89['OrCZO'](parseInt,process['env']['REDIS_PORT'],0xa)||0x18ec,'password':process[_0x5b596f(0xbb)][_0x5b596f(0xd7)]||undefined,'db':parseInt(process[_0x5b596f(0xbb)][_0x5b596f(0xd3)],0xa)||0x0,'retryStrategy'(_0x4be07e){const _0x1915c1=Math['min'](_0x1f1b89['AhuXi'](_0x4be07e,0x32),0x7d0);return _0x1915c1;}}),this['client']['on'](_0x1f1b89[_0x5b596f(0xce)],()=>{const _0x348c53=_0x5b596f;this['isConnected']=!![],logger[_0x348c53(0xc8)]({'event':_0x1f1b89[_0x348c53(0xc3)]},'Redis\x20connected\x20successfully');}),this[_0x5b596f(0xbf)]['on'](_0x1f1b89['GFhtO'],_0x5f33ac=>{const _0x256974=_0x5b596f;this['isConnected']=![],logger[_0x256974(0xc0)]({'event':_0x1f1b89['UyAYZ'],'error':_0x5f33ac['message']},'Redis\x20connection\x20error:\x20'+_0x5f33ac['message']);}),this[_0x5b596f(0xbf)]['on'](_0x1f1b89['ZHQYM'],()=>{const _0x57e3d2=_0x5b596f;this[_0x57e3d2(0xd6)]=![],logger['warn']({'event':_0x57e3d2(0xcf)},_0x1f1b89['RecXP']);}),this['client'];}catch(_0x5c7c20){logger['error']({'event':_0x1f1b89[_0x5b596f(0xc7)],'error':_0x5c7c20['message']},_0x1f1b89['PFXIQ']);throw _0x5c7c20;}}['getClient'](){const _0x46718b=a0_0x57a8;return!this['client']&&this[_0x46718b(0xcb)](),this['client'];}async[a0_0x26593c(0xd5)](_0x5ec669=0x1388){const _0x9026f3=a0_0x26593c,_0x312cfa={'tHAYJ':function(_0x287028,_0x5d3ba3){return _0x287028===_0x5d3ba3;},'KoJaI':'PONG'};try{const _0x10deb3=this['getClient'](),_0x738b16=await Promise[_0x9026f3(0xba)]([_0x10deb3[_0x9026f3(0xd5)](),new Promise((_0x1ea48a,_0xc9b741)=>setTimeout(()=>_0xc9b741(new Error(_0x9026f3(0xc5))),_0x5ec669))]);return _0x312cfa['tHAYJ'](_0x738b16,_0x312cfa['KoJaI']);}catch(_0x31b1e0){return![];}}async['disconnect'](){const _0x2d4b27=a0_0x26593c;this['client']&&(await this[_0x2d4b27(0xbf)]['quit'](),this['client']=null,this[_0x2d4b27(0xd6)]=![]);}['forceDisconnect'](){const _0x1dc956=a0_0x26593c;this[_0x1dc956(0xbf)]&&(this['client'][_0x1dc956(0xc9)](),this['client']=null,this['isConnected']=![]);}}module[a0_0x26593c(0xbd)]=new RedisClient();
@@ -1 +1 @@
1
- const a0_0x18830a=a0_0x4f08;(function(_0x4f7adf,_0x4cdea6){const _0x164009=a0_0x4f08,_0x96bc89=_0x4f7adf();while(!![]){try{const _0xc67877=parseInt(_0x164009(0x1c8))/0x1+parseInt(_0x164009(0x1d1))/0x2*(parseInt(_0x164009(0x1c5))/0x3)+-parseInt(_0x164009(0x1d2))/0x4*(parseInt(_0x164009(0x1e0))/0x5)+-parseInt(_0x164009(0x1e2))/0x6*(parseInt(_0x164009(0x1cc))/0x7)+parseInt(_0x164009(0x1e8))/0x8*(-parseInt(_0x164009(0x1d7))/0x9)+parseInt(_0x164009(0x1d4))/0xa*(parseInt(_0x164009(0x1d0))/0xb)+-parseInt(_0x164009(0x1e9))/0xc;if(_0xc67877===_0x4cdea6)break;else _0x96bc89['push'](_0x96bc89['shift']());}catch(_0x528fc3){_0x96bc89['push'](_0x96bc89['shift']());}}}(a0_0x4f1d,0x7e9e8));function a0_0x4f1d(){const _0x26da92=['zgvMyxvSDa','lI9SB2DNzxi','mJG2otG1zeLgDgrW','z2v0sM9I','mJmWodi1ngT2zxrIzW','uKTNsfy','zgvS','zxjYB3i','ChvZAa','CMvKAxnFz2v0x2vYCM9Y','nZi2nJrHzuvfBum','nZm1mZCYAgHTwK14','CMvKAxnFz2v0ywXSx2vYCM9Y','C2v0sM9I','oMv4Cg9YDdO','zxHWB3j0CW','rMfPBgvKihrVigrLBgv0zsbQB2iGzNjVBsbszwrPCW','mJeWodaXy3v2Aerd','zw52','rMfPBgvKihrVihnLDcbQB2iGAw4GuMvKAxm','ota0nZuZwwLRueDf','DhrS','CgfYC2u','x3bYzwzPEa','mtrVy1nxELm','z2v0','CMvKAxnFC2v0x2vYCM9Y','rMfPBgvKihrVigDLDcbHBgWGAM9ICW','nJq5ntvXvuXrA2m','mtHmsezqC1y','mJH0svziCwK','z2v0qwXSsM9ICW','ndCWuwzVtez0','rMfPBgvKihrVigDLDcbQB2iGzNjVBsbszwrPCW','C3rYAw5NAwz5','nJn5ufbcC3C','CMvKAxnFzgvSzxrLx2vYCM9Y','C2v0zxG','zgvSzxrLsM9I','CMvZDgzVCMDLoG','z2v0q2XPzw50','ChjLzML4'];a0_0x4f1d=function(){return _0x26da92;};return a0_0x4f1d();}const redisClient=require('./redis-client'),{logger}=require(a0_0x18830a(0x1df));function a0_0x4f08(_0x18e136,_0x4010e4){_0x18e136=_0x18e136-0x1c5;const _0x4f1d6d=a0_0x4f1d();let _0x4f0863=_0x4f1d6d[_0x18e136];if(a0_0x4f08['kBEIhO']===undefined){var _0x4c1ead=function(_0x1b211d){const _0x3ba50b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x39423f='',_0x243d6d='';for(let _0x103b2e=0x0,_0x1e16f2,_0x2012b7,_0x312ce8=0x0;_0x2012b7=_0x1b211d['charAt'](_0x312ce8++);~_0x2012b7&&(_0x1e16f2=_0x103b2e%0x4?_0x1e16f2*0x40+_0x2012b7:_0x2012b7,_0x103b2e++%0x4)?_0x39423f+=String['fromCharCode'](0xff&_0x1e16f2>>(-0x2*_0x103b2e&0x6)):0x0){_0x2012b7=_0x3ba50b['indexOf'](_0x2012b7);}for(let _0x3d36f8=0x0,_0x526121=_0x39423f['length'];_0x3d36f8<_0x526121;_0x3d36f8++){_0x243d6d+='%'+('00'+_0x39423f['charCodeAt'](_0x3d36f8)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x243d6d);};a0_0x4f08['zIvzXK']=_0x4c1ead,a0_0x4f08['VEXzmL']={},a0_0x4f08['kBEIhO']=!![];}const _0x215a56=_0x4f1d6d[0x0],_0x15886d=_0x18e136+_0x215a56,_0x150689=a0_0x4f08['VEXzmL'][_0x15886d];return!_0x150689?(_0x4f0863=a0_0x4f08['zIvzXK'](_0x4f0863),a0_0x4f08['VEXzmL'][_0x15886d]=_0x4f0863):_0x4f0863=_0x150689,_0x4f0863;}class RedisHelper{constructor(){const _0xa7266a=a0_0x18830a;this['_prefix']=null,this[_0xa7266a(0x1c9)]=parseInt(process[_0xa7266a(0x1c6)]['EXPORT_FILE_EXPIRY'],0xa)||0xe10;}get[a0_0x18830a(0x1dd)](){const _0x57bd18=a0_0x18830a,_0x1ab412={'zntfQ':_0x57bd18(0x1de)};if(!this[_0x57bd18(0x1cb)]){const _0x2f8765=process[_0x57bd18(0x1c6)]['RESTFORGE_PROJECT_NAME']||_0x1ab412['zntfQ'];this[_0x57bd18(0x1cb)]=_0x57bd18(0x1db)+_0x2f8765+_0x57bd18(0x1ec);}return this[_0x57bd18(0x1cb)];}async['setJob'](_0x50cbae,_0x7ef5da){const _0x532487=a0_0x18830a,_0x1d11ea={'nkQsn':_0x532487(0x1c7)};try{const _0x2157cd=redisClient[_0x532487(0x1dc)](),_0x5c18e2=''+this[_0x532487(0x1dd)]+_0x50cbae;return await _0x2157cd[_0x532487(0x1d9)](_0x5c18e2,this[_0x532487(0x1c9)],JSON[_0x532487(0x1d6)](_0x7ef5da)),!![];}catch(_0x78c008){return logger[_0x532487(0x1e5)]({'event':_0x532487(0x1ce),'jobId':_0x50cbae,'error':_0x78c008['message']},_0x1d11ea['nkQsn']),![];}}async['getJob'](_0x44fe44){const _0x43255a=a0_0x18830a;try{const _0x126034=redisClient['getClient'](),_0x371f28=''+this[_0x43255a(0x1dd)]+_0x44fe44,_0x5bd662=await _0x126034[_0x43255a(0x1cd)](_0x371f28);return _0x5bd662?JSON[_0x43255a(0x1ca)](_0x5bd662):null;}catch(_0xd9e154){return logger['error']({'event':_0x43255a(0x1e7),'jobId':_0x44fe44,'error':_0xd9e154['message']},_0x43255a(0x1d5)),null;}}async['updateJob'](_0x2411c4,_0x2ed8f9){const _0xe66dd9=a0_0x18830a,_0x2314c1=await this[_0xe66dd9(0x1e1)](_0x2411c4);if(!_0x2314c1)return![];const _0x5e57e0={..._0x2314c1,..._0x2ed8f9};return await this[_0xe66dd9(0x1eb)](_0x2411c4,_0x5e57e0);}async[a0_0x18830a(0x1da)](_0x30d265){const _0x845d41=a0_0x18830a,_0x55bd80={'RKgHV':_0x845d41(0x1d8)};try{const _0x41e116=redisClient[_0x845d41(0x1dc)](),_0xcf131c=''+this['prefix']+_0x30d265;return await _0x41e116[_0x845d41(0x1e4)](_0xcf131c),!![];}catch(_0x26846e){return logger['error']({'event':_0x55bd80[_0x845d41(0x1e3)],'jobId':_0x30d265,'error':_0x26846e['message']},_0x845d41(0x1ee)),![];}}async[a0_0x18830a(0x1d3)](){const _0x3471fd=a0_0x18830a;try{const _0x101e01=redisClient[_0x3471fd(0x1dc)](),_0xdb4e4a=await _0x101e01['keys'](this[_0x3471fd(0x1dd)]+'*'),_0x2a157b=[];for(const _0x2ea0f2 of _0xdb4e4a){const _0x364e14=await _0x101e01['get'](_0x2ea0f2);_0x364e14&&_0x2a157b[_0x3471fd(0x1e6)](JSON['parse'](_0x364e14));}return _0x2a157b;}catch(_0x4cbfbb){return logger['error']({'event':_0x3471fd(0x1ea),'error':_0x4cbfbb['message']},_0x3471fd(0x1cf)),[];}}}module[a0_0x18830a(0x1ed)]=new RedisHelper();
1
+ const a0_0x5cd073=a0_0xd07f;(function(_0x2ecfac,_0x39144f){const _0x35c049=a0_0xd07f,_0x27dc57=_0x2ecfac();while(!![]){try{const _0x56cc3c=parseInt(_0x35c049(0x12d))/0x1+parseInt(_0x35c049(0x126))/0x2+parseInt(_0x35c049(0x13b))/0x3+-parseInt(_0x35c049(0x130))/0x4*(parseInt(_0x35c049(0x121))/0x5)+parseInt(_0x35c049(0x12e))/0x6+parseInt(_0x35c049(0x13a))/0x7*(parseInt(_0x35c049(0x135))/0x8)+-parseInt(_0x35c049(0x131))/0x9*(parseInt(_0x35c049(0x136))/0xa);if(_0x56cc3c===_0x39144f)break;else _0x27dc57['push'](_0x27dc57['shift']());}catch(_0x203ade){_0x27dc57['push'](_0x27dc57['shift']());}}}(a0_0xc773,0xe67f1));function a0_0xc773(){const _0x1dc7d5=['CMvKAxnFz2v0x2vYCM9Y','C2v0zxG','mtbguhHTwvK','z2v0q2XPzw50','rMfPBgvKihrVigDLDcbQB2iGzNjVBsbszwrPCW','lI9SB2DNzxi','yu5mtuO','mJaWnZe2nLHisLrhzW','oMv4Cg9YDdO','CgfYC2u','z2v0sM9I','CMvZDgzVCMDLoG','rMfPBgvKihrVigrLBgv0zsbQB2iGzNjVBsbszwrPCW','BwvZC2fNzq','mtKZmtGWqw5jExfr','nJC2nJGWnLfRDNDMwa','zw52','mtm2odK1nLneCefdBq','nda3ndneug5zseG','ChvZAa','x3bYzwzPEa','CMvKAxnFzgvSzxrLx2vYCM9Y','mtq1odC0mJrnAwLYse8','odq5mhDlwvDHuG','DhrS','z2v0','zxjYB3i','n2rwvwvsEG','mZK3mJa2nKX5CNrjzW','Ew1Twgi','ChjLzML4'];a0_0xc773=function(){return _0x1dc7d5;};return a0_0xc773();}function a0_0xd07f(_0x2f0231,_0x223c01){_0x2f0231=_0x2f0231-0x120;const _0xc77317=a0_0xc773();let _0xd07f1=_0xc77317[_0x2f0231];if(a0_0xd07f['hzpZvF']===undefined){var _0x55e1b1=function(_0x593516){const _0x598c67='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x39ee60='',_0x44e779='';for(let _0x2c50d3=0x0,_0x2fd937,_0x299b2c,_0x483277=0x0;_0x299b2c=_0x593516['charAt'](_0x483277++);~_0x299b2c&&(_0x2fd937=_0x2c50d3%0x4?_0x2fd937*0x40+_0x299b2c:_0x299b2c,_0x2c50d3++%0x4)?_0x39ee60+=String['fromCharCode'](0xff&_0x2fd937>>(-0x2*_0x2c50d3&0x6)):0x0){_0x299b2c=_0x598c67['indexOf'](_0x299b2c);}for(let _0x19af56=0x0,_0x3286ed=_0x39ee60['length'];_0x19af56<_0x3286ed;_0x19af56++){_0x44e779+='%'+('00'+_0x39ee60['charCodeAt'](_0x19af56)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x44e779);};a0_0xd07f['HRlJCB']=_0x55e1b1,a0_0xd07f['FAKenY']={},a0_0xd07f['hzpZvF']=!![];}const _0x52cc8a=_0xc77317[0x0],_0x417e3e=_0x2f0231+_0x52cc8a,_0x4e5c5f=a0_0xd07f['FAKenY'][_0x417e3e];return!_0x4e5c5f?(_0xd07f1=a0_0xd07f['HRlJCB'](_0xd07f1),a0_0xd07f['FAKenY'][_0x417e3e]=_0xd07f1):_0xd07f1=_0x4e5c5f,_0xd07f1;}const redisClient=require('./redis-client'),{logger}=require(a0_0x5cd073(0x124));class RedisHelper{constructor(){const _0x11b3bc=a0_0x5cd073;this['_prefix']=null,this[_0x11b3bc(0x137)]=parseInt(process['env']['EXPORT_FILE_EXPIRY'],0xa)||0xe10;}get[a0_0x5cd073(0x13d)](){const _0x52c688=a0_0x5cd073;if(!this['_prefix']){const _0x23ce24=process[_0x52c688(0x12f)]['RESTFORGE_PROJECT_NAME']||'default';this[_0x52c688(0x133)]=_0x52c688(0x12a)+_0x23ce24+_0x52c688(0x127);}return this[_0x52c688(0x133)];}async['setJob'](_0x4412c5,_0xe123f1){const _0x474a5b=a0_0x5cd073;try{const _0x5f48c2=redisClient[_0x474a5b(0x122)](),_0x585690=''+this[_0x474a5b(0x13d)]+_0x4412c5;return await _0x5f48c2[_0x474a5b(0x120)](_0x585690,this[_0x474a5b(0x137)],JSON['stringify'](_0xe123f1)),!![];}catch(_0x178cf3){return logger['error']({'event':'redis_set_error','jobId':_0x4412c5,'error':_0x178cf3['message']},'Failed\x20to\x20set\x20job\x20in\x20Redis'),![];}}async[a0_0x5cd073(0x129)](_0x4fb45f){const _0x8f38c9=a0_0x5cd073,_0x3b8741={'ymmXb':_0x8f38c9(0x13e),'znwyh':_0x8f38c9(0x123)};try{const _0x5051fe=redisClient['getClient'](),_0x48f0ed=''+this['prefix']+_0x4fb45f,_0x427b2b=await _0x5051fe[_0x8f38c9(0x138)](_0x48f0ed);return _0x427b2b?JSON[_0x8f38c9(0x128)](_0x427b2b):null;}catch(_0x288d9a){return logger[_0x8f38c9(0x139)]({'event':_0x3b8741[_0x8f38c9(0x13c)],'jobId':_0x4fb45f,'error':_0x288d9a[_0x8f38c9(0x12c)]},_0x3b8741['znwyh']),null;}}async['updateJob'](_0x3b627a,_0x291cf4){const _0xacf81b=a0_0x5cd073,_0x2b4615=await this[_0xacf81b(0x129)](_0x3b627a);if(!_0x2b4615)return![];const _0x4da016={..._0x2b4615,..._0x291cf4};return await this['setJob'](_0x3b627a,_0x4da016);}async['deleteJob'](_0x47063d){const _0x29877d=a0_0x5cd073,_0x12d303={'opZdv':_0x29877d(0x12b)};try{const _0x17f30c=redisClient[_0x29877d(0x122)](),_0x28365f=''+this['prefix']+_0x47063d;return await _0x17f30c['del'](_0x28365f),!![];}catch(_0x4d6ae0){return logger['error']({'event':_0x29877d(0x134),'jobId':_0x47063d,'error':_0x4d6ae0['message']},_0x12d303['opZdv']),![];}}async['getAllJobs'](){const _0x4f0a87=a0_0x5cd073,_0x2717d3={'aNLMJ':'redis_getall_error'};try{const _0x292f6=redisClient[_0x4f0a87(0x122)](),_0x406fb2=await _0x292f6['keys'](this[_0x4f0a87(0x13d)]+'*'),_0x5b8d75=[];for(const _0xfb6be3 of _0x406fb2){const _0x48aa49=await _0x292f6[_0x4f0a87(0x138)](_0xfb6be3);_0x48aa49&&_0x5b8d75[_0x4f0a87(0x132)](JSON['parse'](_0x48aa49));}return _0x5b8d75;}catch(_0x43ff0d){return logger[_0x4f0a87(0x139)]({'event':_0x2717d3[_0x4f0a87(0x125)],'error':_0x43ff0d[_0x4f0a87(0x12c)]},'Failed\x20to\x20get\x20all\x20jobs'),[];}}}module['exports']=new RedisHelper();