@restforgejs/platform 5.2.10 → 5.2.11

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 (172) hide show
  1. package/bin/drift-check-linux +0 -0
  2. package/bin/sdf-tools-linux +0 -0
  3. package/build-info.json +2 -2
  4. package/cli/consumer-deploy.js +1 -1
  5. package/cli/consumer.js +1 -1
  6. package/generators/cli/schema/init.js +20 -6
  7. package/generators/cli/schema/template.js +24 -9
  8. package/generators/lib/templates/dashboard-catalog.js +1 -1
  9. package/generators/lib/templates/db-connection-env.js +1 -1
  10. package/generators/lib/templates/dbschema-catalog.js +1 -1
  11. package/generators/lib/templates/field-validation-catalog.js +1 -1
  12. package/generators/lib/templates/mysql-template.js +1 -1
  13. package/generators/lib/templates/oracle-template.js +1 -1
  14. package/generators/lib/templates/postgres-template.js +1 -1
  15. package/generators/lib/templates/query-declarative-catalog.js +1 -1
  16. package/generators/lib/templates/sqlite-template.js +1 -1
  17. package/integrity-manifest.json +18 -18
  18. package/package.json +1 -1
  19. package/scripts/verify-integrity.js +1 -1
  20. package/server.js +1 -1
  21. package/src/components/handlers/adjust_handler.js +1 -1
  22. package/src/components/handlers/audit_handler.js +1 -1
  23. package/src/components/handlers/delete_handler.js +1 -1
  24. package/src/components/handlers/export_handler.js +1 -1
  25. package/src/components/handlers/import_handler.js +1 -1
  26. package/src/components/handlers/insert_handler.js +1 -1
  27. package/src/components/handlers/update_handler.js +1 -1
  28. package/src/components/handlers/upload_handler.js +1 -1
  29. package/src/components/handlers/workflow_handler.js +1 -1
  30. package/src/components/integrations/webhook.js +1 -1
  31. package/src/consumers/baseConsumer.js +1 -1
  32. package/src/consumers/declarativeMapper.js +1 -1
  33. package/src/consumers/handlers/apiHandler.js +1 -1
  34. package/src/consumers/handlers/consoleHandler.js +1 -1
  35. package/src/consumers/handlers/databaseHandler.js +1 -1
  36. package/src/consumers/handlers/index.js +1 -1
  37. package/src/consumers/handlers/kafkaHandler.js +1 -1
  38. package/src/consumers/index.js +1 -1
  39. package/src/consumers/messageTransformer.js +1 -1
  40. package/src/consumers/validator.js +1 -1
  41. package/src/core/db/dialect/base-dialect.js +1 -1
  42. package/src/core/db/dialect/index.js +1 -1
  43. package/src/core/db/dialect/mysql-dialect.js +1 -1
  44. package/src/core/db/dialect/oracle-dialect.js +1 -1
  45. package/src/core/db/dialect/postgres-dialect.js +1 -1
  46. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  47. package/src/core/db/flatten-helper.js +1 -1
  48. package/src/core/db/query-builder-error.js +1 -1
  49. package/src/core/db/query-builder.js +1 -1
  50. package/src/core/db/relation-helper.js +1 -1
  51. package/src/core/handlers/delete_handler.js +1 -1
  52. package/src/core/handlers/insert_handler.js +1 -1
  53. package/src/core/handlers/update_handler.js +1 -1
  54. package/src/core/models/base-model.js +1 -1
  55. package/src/core/utils/cache-manager.js +1 -1
  56. package/src/core/utils/component-engine.js +1 -1
  57. package/src/core/utils/context-builder.js +1 -1
  58. package/src/core/utils/datetime-formatter.js +1 -1
  59. package/src/core/utils/datetime-parser.js +1 -1
  60. package/src/core/utils/db.js +1 -1
  61. package/src/core/utils/logger.js +1 -1
  62. package/src/core/utils/payload-loader.js +1 -1
  63. package/src/core/utils/security-checks.js +1 -1
  64. package/src/middleware/body-options.js +1 -1
  65. package/src/middleware/cors.js +1 -1
  66. package/src/middleware/idempotency.js +1 -1
  67. package/src/middleware/rate-limiter.js +1 -1
  68. package/src/middleware/request-logger.js +1 -1
  69. package/src/middleware/security-headers.js +1 -1
  70. package/src/models/base-model-mysql.js +1 -1
  71. package/src/models/base-model-oracle.js +1 -1
  72. package/src/models/base-model-sqlite.js +1 -1
  73. package/src/models/base-model.js +1 -1
  74. package/src/pro/caching/redis-client.js +1 -1
  75. package/src/pro/caching/redis-helper.js +1 -1
  76. package/src/pro/consumers/baseConsumer.js +1 -1
  77. package/src/pro/consumers/declarativeMapper.js +1 -1
  78. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  79. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  80. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  81. package/src/pro/consumers/handlers/index.js +1 -1
  82. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  83. package/src/pro/consumers/index.js +1 -1
  84. package/src/pro/consumers/messageTransformer.js +1 -1
  85. package/src/pro/consumers/validator.js +1 -1
  86. package/src/pro/database/base-model-mysql.js +1 -1
  87. package/src/pro/database/base-model-oracle.js +1 -1
  88. package/src/pro/database/base-model-sqlite.js +1 -1
  89. package/src/pro/database/db-mysql.js +1 -1
  90. package/src/pro/database/db-oracle.js +1 -1
  91. package/src/pro/database/db-sqlite.js +1 -1
  92. package/src/pro/excel/excel-generator.js +1 -1
  93. package/src/pro/excel/excel-parser.js +1 -1
  94. package/src/pro/excel/export-service.js +1 -1
  95. package/src/pro/excel/export_handler.js +1 -1
  96. package/src/pro/excel/import-service.js +1 -1
  97. package/src/pro/excel/import-validator.js +1 -1
  98. package/src/pro/excel/import_handler.js +1 -1
  99. package/src/pro/excel/upsert-builder.js +1 -1
  100. package/src/pro/idgen/idgen-routes.js +1 -1
  101. package/src/pro/integrations/lookup-resolver.js +1 -1
  102. package/src/pro/integrations/upload-handler-v2.js +1 -1
  103. package/src/pro/integrations/upload-handler.js +1 -1
  104. package/src/pro/integrations/webhook.js +1 -1
  105. package/src/pro/locking/lock-routes.js +1 -1
  106. package/src/pro/locking/resource-lock-manager.js +1 -1
  107. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  108. package/src/pro/messaging/kafkaService.js +1 -1
  109. package/src/pro/messaging/messagehubService.js +1 -1
  110. package/src/pro/messaging/rabbitmqService.js +1 -1
  111. package/src/pro/scheduler/job-manager.js +1 -1
  112. package/src/pro/scheduler/job-routes.js +1 -1
  113. package/src/pro/scheduler/job-validator.js +1 -1
  114. package/src/pro/storage/base-storage-provider.js +1 -1
  115. package/src/pro/storage/file-metadata-helper.js +1 -1
  116. package/src/pro/storage/index.js +1 -1
  117. package/src/pro/storage/local-storage-provider.js +1 -1
  118. package/src/pro/storage/s3-storage-provider.js +1 -1
  119. package/src/pro/storage/upload-cleanup-job.js +1 -1
  120. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  121. package/src/pro/storage/upload-pending-tracker.js +1 -1
  122. package/src/pro/websocket/broadcast-helper.js +1 -1
  123. package/src/pro/websocket/index.js +1 -1
  124. package/src/pro/websocket/livesync-server.js +1 -1
  125. package/src/pro/websocket/ws-broadcaster.js +1 -1
  126. package/src/services/export-service.js +1 -1
  127. package/src/services/import-service.js +1 -1
  128. package/src/services/kafkaConsumerService.js +1 -1
  129. package/src/services/kafkaService.js +1 -1
  130. package/src/services/messagehubService.js +1 -1
  131. package/src/services/rabbitmqService.js +1 -1
  132. package/src/utils/cache-invalidation-registry.js +1 -1
  133. package/src/utils/cache-manager.js +1 -1
  134. package/src/utils/component-engine.js +1 -1
  135. package/src/utils/config-extractor.js +1 -1
  136. package/src/utils/consumerLogger.js +1 -1
  137. package/src/utils/context-builder.js +1 -1
  138. package/src/utils/dashboard-helpers.js +1 -1
  139. package/src/utils/dateHelper.js +1 -1
  140. package/src/utils/datetime-formatter.js +1 -1
  141. package/src/utils/datetime-parser.js +1 -1
  142. package/src/utils/db-bootstrap.js +1 -1
  143. package/src/utils/db-mysql.js +1 -1
  144. package/src/utils/db-oracle.js +1 -1
  145. package/src/utils/db-sqlite.js +1 -1
  146. package/src/utils/db.js +1 -1
  147. package/src/utils/demo-generator.js +1 -1
  148. package/src/utils/excel-generator.js +1 -1
  149. package/src/utils/excel-parser.js +1 -1
  150. package/src/utils/file-watcher.js +1 -1
  151. package/src/utils/id-generator.js +1 -1
  152. package/src/utils/idempotency-manager.js +1 -1
  153. package/src/utils/import-validator.js +1 -1
  154. package/src/utils/license-client.js +1 -1
  155. package/src/utils/lock-manager.js +1 -1
  156. package/src/utils/logger.js +1 -1
  157. package/src/utils/lookup-resolver.js +1 -1
  158. package/src/utils/payload-loader.js +1 -1
  159. package/src/utils/processor-response.js +1 -1
  160. package/src/utils/rabbitmq.js +1 -1
  161. package/src/utils/redis-client.js +1 -1
  162. package/src/utils/redis-helper.js +1 -1
  163. package/src/utils/request-scope.js +1 -1
  164. package/src/utils/security-checks.js +1 -1
  165. package/src/utils/service-resolver.js +1 -1
  166. package/src/utils/shutdown-coordinator.js +1 -1
  167. package/src/utils/soft-delete-dashboard-guard.js +1 -1
  168. package/src/utils/sql-table-extractor.js +1 -1
  169. package/src/utils/trusted-keys.js +1 -1
  170. package/src/utils/upload-handler.js +1 -1
  171. package/src/utils/upsert-builder.js +1 -1
  172. package/src/utils/workflow-hook-executor.js +1 -1
@@ -1 +1 @@
1
- const a0_0x1933ef=a0_0xc221;function a0_0xc221(_0x25f472,_0x37fd86){_0x25f472=_0x25f472-0x186;const _0x49ca69=a0_0x49ca();let _0xc221db=_0x49ca69[_0x25f472];if(a0_0xc221['KBmZNg']===undefined){var _0x30a7de=function(_0x125fce){const _0x434c41='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x34dd7f='',_0x51abe3='';for(let _0x25f4ea=0x0,_0x3950e1,_0x1cac76,_0x4e6423=0x0;_0x1cac76=_0x125fce['charAt'](_0x4e6423++);~_0x1cac76&&(_0x3950e1=_0x25f4ea%0x4?_0x3950e1*0x40+_0x1cac76:_0x1cac76,_0x25f4ea++%0x4)?_0x34dd7f+=String['fromCharCode'](0xff&_0x3950e1>>(-0x2*_0x25f4ea&0x6)):0x0){_0x1cac76=_0x434c41['indexOf'](_0x1cac76);}for(let _0x3f25bb=0x0,_0x5a7d3a=_0x34dd7f['length'];_0x3f25bb<_0x5a7d3a;_0x3f25bb++){_0x51abe3+='%'+('00'+_0x34dd7f['charCodeAt'](_0x3f25bb)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x51abe3);};a0_0xc221['OjIghi']=_0x30a7de,a0_0xc221['nuaqKY']={},a0_0xc221['KBmZNg']=!![];}const _0x463edd=_0x49ca69[0x0],_0x4f358d=_0x25f472+_0x463edd,_0x38efda=a0_0xc221['nuaqKY'][_0x4f358d];return!_0x38efda?(_0xc221db=a0_0xc221['OjIghi'](_0xc221db),a0_0xc221['nuaqKY'][_0x4f358d]=_0xc221db):_0xc221db=_0x38efda,_0xc221db;}(function(_0x1ca8ad,_0xc0fb21){const _0x2d95e5=a0_0xc221,_0x59fed2=_0x1ca8ad();while(!![]){try{const _0x3b979f=-parseInt(_0x2d95e5(0x18f))/0x1+-parseInt(_0x2d95e5(0x1da))/0x2*(parseInt(_0x2d95e5(0x1d3))/0x3)+parseInt(_0x2d95e5(0x19f))/0x4+-parseInt(_0x2d95e5(0x1a2))/0x5*(parseInt(_0x2d95e5(0x1bc))/0x6)+parseInt(_0x2d95e5(0x1d4))/0x7+-parseInt(_0x2d95e5(0x18a))/0x8+parseInt(_0x2d95e5(0x1be))/0x9*(parseInt(_0x2d95e5(0x1cb))/0xa);if(_0x3b979f===_0xc0fb21)break;else _0x59fed2['push'](_0x59fed2['shift']());}catch(_0x581d86){_0x59fed2['push'](_0x59fed2['shift']());}}}(a0_0x49ca,0x19198));function a0_0x49ca(){const _0x21082c=['z2v0','zw52','x3n0CMf0zwD5','uNvWy2m','x2rLzMf1BhruveW','cIaGicaGicaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicaGicaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzgvSiIWGs0vzu1SXxsKkicaGicaGicbLBhnLcIaGicaGicaGicbYzxr1CM4GmaOGicaGicaGigvUzaOGicaGica','CgLK','CMv0CNLdB3vUDa','BM93','v1jjveuGBg9JAYbHy3f1AxjLihrPBwvVDxq','ChjLzML4','z2v0q2XPzw50','v1jjveuGBg9JAYbYzwXLyxnLza','zKP4Cu4','cIaGicaGicaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicaGicaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzxHWAxjLiIWGs0vzu1SXxsWGqvjhvLSYxsKkicaGicaGicbLBhnLcIaGicaGicaGicbYzxr1CM4GmaOGicaGicaGigvUzaOGicaGica','mtH0whb4ugm','zujvtuS','mtHPy2DAwgO','x2LUAxrdB25MAwC','x3jLDhj5q291BNq','D3jPDgvFBg9JA19Hy3f1AxjLza','D2fYBG','ywXS','Cg93','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMv0CNKGBw9KzsK','zgvJCG','v2fPDgLUzYbMB3iGBg9JA3mGDg8GCMvSzwfZzq','x3DVCMTLCKLK','D3jPDgvFBg9JA193ywL0Aw5N','D3jPDgvFBg9JA19YzwXLyxnLza','mJeYody5me5czMjgqW','Aw5MBW','CMvHzf9SB2nRx2fJCxvPCMvK','D29YA2vYlq','x2LUAxrPywXPEMvK','uKvbrcbSB2nRigfJCxvPCMuGDgLTzw91Da','BwvZC2fNzq','tNLmrxe','ntq2oti3BKLfC1HQ','mtaZmJiYn3DhDhLJCa','x2vUywjSzwq','CMv0CNLezwXHEq','x3bYzwzPEa','uKvbrcbSB2nRigvYCM9Y','C3rYyxrLz3K','mLPYvhnkCW','v1jjveuGBg9JAYbYzwPLy3rLzcaTihjLy29YzcbIDxn5','uMzPq3O','C2v0','D29YA2vYswq','CMvSzwfZzuXVy2S','yNvPBgrmB2nRs2v5','mtyWntG1nKjYyLbbuq','C2XLzxa','z012vwy','C3bSAxq','tg9JAYbuveWGzxH0zw5Kzwq','mti5ota3tu1kuvns','zxjYB3i','zgvIDwC','oNjLywq6','Bg9JA19LEhrLBMrLza','zejUrgO','zgvMyxvSDfruta','yM9PvLm','CMvHzf9SB2nRx3jLBgvHC2vK','twjctNe','tfDKv3a','te9ds19esvnuuKLcvvrfrf9srvrswq','CxL0Bhu','uKvbrcbSB2nRigfJCxvPCMvK','ELzoB3y','BvHzq0G','nZK4otKYzwH2y2Hn','tg9JAYbLEhrLBMqGzxjYB3i','z2vUzxjHDgvmB2nRvMfSDwu','mJyXotG1B2P2wMzy','x2vUC3vYzuLUAxrPywXPEMvK','x3jLDhj5rgvSyxK','zxH0zw5Ktg9JAW','CMy6Bg9JAZO','ywnXDwLYzvDYAxrLtg9JAW','CMv0CNK','zxHWAxjL','CMvHza','Dhj1zq','zw5HyMXLza'];a0_0x49ca=function(){return _0x21082c;};return a0_0x49ca();}const redisClient=require('./redis-client'),{logger}=require('./logger'),{v4:uuidv4}=require('uuid');class LockManager{constructor(){const _0x460758=a0_0xc221;this[_0x460758(0x1d7)]=null,this[_0x460758(0x1d5)]=null,this['_defaultTTL']=null,this[_0x460758(0x1c0)]=null,this[_0x460758(0x1a4)]=null,this['_strategy']=null,this[_0x460758(0x1c8)]=null,this[_0x460758(0x1cf)]=![];}[a0_0x1933ef(0x1bf)](){const _0x4dd7d4=a0_0x1933ef,_0x313f40={'gMvUf':'lock_config_init','oIhde':function(_0x2601fd,_0x549b74){return _0x2601fd===_0x549b74;}},_0x4ae3a1='8|7|3|0|1|4|2|5|6'[_0x4dd7d4(0x18d)]('|');let _0x5316db=0x0;while(!![]){switch(_0x4ae3a1[_0x5316db++]){case'0':this['_retryCount']=parseInt(process['env'][_0x4dd7d4(0x19a)],0xa)||0x3;continue;case'1':this[_0x4dd7d4(0x1a4)]=parseInt(process[_0x4dd7d4(0x1ae)]['LOCK_DISTRIBUTED_RETRY_DELAY'],0xa)||0x64;continue;case'2':this[_0x4dd7d4(0x1c8)]=_0x4dd7d4(0x1ce)+process[_0x4dd7d4(0x1b3)];continue;case'3':this[_0x4dd7d4(0x1b1)]=parseInt(process[_0x4dd7d4(0x1ae)]['LOCK_DISTRIBUTED_TTL'],0xa)||0xa;continue;case'4':this[_0x4dd7d4(0x1af)]=process['env']['LOCK_DISTRIBUTED_STRATEGY']||_0x4dd7d4(0x1a8);continue;case'5':this[_0x4dd7d4(0x1cf)]=!![];continue;case'6':logger[_0x4dd7d4(0x1cc)]({'event':_0x313f40[_0x4dd7d4(0x18c)],'enabled':this[_0x4dd7d4(0x1d5)],'strategy':this['_strategy'],'ttl':this[_0x4dd7d4(0x1b1)],'retryCount':this[_0x4dd7d4(0x1c0)],'retryDelay':this[_0x4dd7d4(0x1a4)],'workerId':this[_0x4dd7d4(0x1c8)]},'Lock\x20configuration\x20initialized\x20-\x20enabled:\x20'+this[_0x4dd7d4(0x1d5)]+',\x20strategy:\x20'+this[_0x4dd7d4(0x1af)]);continue;case'7':this[_0x4dd7d4(0x1d5)]=_0x313f40['oIhde'](process['env']['LOCK_DISTRIBUTED_ENABLED'],_0x4dd7d4(0x1ab));continue;case'8':this['_prefix']=_0x4dd7d4(0x1a6);continue;}break;}}['_ensureInitialized'](){const _0x116853=a0_0x1933ef;!this[_0x116853(0x1cf)]&&this['_initConfig']();}get[a0_0x1933ef(0x1b7)](){const _0x7ddfe7=a0_0x1933ef;return this['_ensureInitialized'](),this[_0x7ddfe7(0x1d7)];}get[a0_0x1933ef(0x1ac)](){const _0x43b992=a0_0x1933ef;return this[_0x43b992(0x1a3)](),this[_0x43b992(0x1d5)];}get[a0_0x1933ef(0x195)](){return this['_ensureInitialized'](),this['_defaultTTL'];}get[a0_0x1933ef(0x1b4)](){const _0x3b86f7=a0_0x1933ef;return this['_ensureInitialized'](),this[_0x3b86f7(0x1c0)];}get[a0_0x1933ef(0x1d6)](){const _0x51442e=a0_0x1933ef;return this[_0x51442e(0x1a3)](),this[_0x51442e(0x1a4)];}get[a0_0x1933ef(0x1d9)](){return this['_ensureInitialized'](),this['_strategy'];}get['workerId'](){const _0x39f392=a0_0x1933ef;return this['_ensureInitialized'](),this[_0x39f392(0x1c8)];}[a0_0x1933ef(0x189)](_0x28595d){const {module:_0x5dde29,endpoint:_0x5f47e3,lockType:_0x8aaa40,recordId:_0x3cf736}=_0x28595d;if(_0x3cf736)return''+this['prefix']+_0x5dde29+':'+_0x5f47e3+':'+_0x3cf736+':'+_0x8aaa40;return''+this['prefix']+_0x5dde29+':'+_0x5f47e3+':'+_0x8aaa40;}[a0_0x1933ef(0x1a1)](){const _0x2ef334=a0_0x1933ef,_0x4883f0={'EKiDr':function(_0x530a87){return _0x530a87();}};return this[_0x2ef334(0x187)]+':'+_0x4883f0['EKiDr'](uuidv4)+':'+Date[_0x2ef334(0x1b5)]();}async['acquireReadLock'](_0x4ac8bb){const _0xa1e0b4=a0_0x1933ef,_0x4e7eb5={'MbBNq':'write','zVNov':_0xa1e0b4(0x19c),'qytlu':'read_lock_waiting','kOuDG':'read_lock_timeout','VdQWm':_0xa1e0b4(0x1d0)};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0xebb54b=this['buildLockKey']({..._0x4ac8bb,'lockType':_0x4e7eb5[_0xa1e0b4(0x198)]}),_0xab4582=this[_0xa1e0b4(0x189)]({..._0x4ac8bb,'lockType':_0xa1e0b4(0x1aa)}),_0x4d3c1f=this[_0xa1e0b4(0x1a1)]();try{const _0x14d82a=redisClient[_0xa1e0b4(0x1b8)]();for(let _0x3f77cb=0x0;_0x3f77cb<this['retryCount'];_0x3f77cb++){const _0x252e99=await _0x14d82a[_0xa1e0b4(0x1ad)](_0xebb54b);if(!_0x252e99){await _0x14d82a['incr'](_0xab4582),await _0x14d82a[_0xa1e0b4(0x1a9)](_0xab4582,this[_0xa1e0b4(0x195)]);const _0x59a370=_0xab4582+':'+_0x4d3c1f;return await _0x14d82a['setex'](_0x59a370,this[_0xa1e0b4(0x195)],_0x4d3c1f),logger[_0xa1e0b4(0x191)]({'event':_0xa1e0b4(0x1cd),'key':_0xab4582,'value':_0x4d3c1f},_0x4e7eb5[_0xa1e0b4(0x19d)]),{'success':!![],'lockValue':_0x4d3c1f,'lockKey':_0x59a370};}logger[_0xa1e0b4(0x191)]({'event':_0x4e7eb5[_0xa1e0b4(0x19b)],'writeKey':_0xebb54b,'attempt':_0x3f77cb},'Waiting\x20for\x20WRITE\x20lock\x20to\x20release'),await this['sleep'](this['retryDelay']*Math[_0xa1e0b4(0x1c4)](0x2,_0x3f77cb));}return logger[_0xa1e0b4(0x1c2)]({'event':_0x4e7eb5['kOuDG'],'key':_0xab4582},_0x4e7eb5['VdQWm']),{'success':![],'lockValue':null,'lockKey':null};}catch(_0xf42367){return logger[_0xa1e0b4(0x190)]({'event':'read_lock_error','error':_0xf42367['message']},_0xa1e0b4(0x1d8)),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x1933ef(0x1a7)](_0x244b1e){const _0x2d7ab9=a0_0x1933ef,_0x509b1e={'NLyLB':_0x2d7ab9(0x1aa),'boiVS':_0x2d7ab9(0x1c1),'NMKez':'write_lock_rejected','RfiCz':_0x2d7ab9(0x1db),'dBnDj':function(_0x182816,_0x223453){return _0x182816<_0x223453;},'NTDmI':function(_0x40a80e,_0x3e9866){return _0x40a80e===_0x3e9866;},'SolsJ':function(_0x5a4b6a,_0x2addd0){return _0x5a4b6a===_0x2addd0;},'NyLEq':_0x2d7ab9(0x1c5),'QXcsE':function(_0x173f7d,_0x4c44c9){return _0x173f7d*_0x4c44c9;},'fJxqN':'write_lock_timeout','Jwrpu':'write_lock_error'};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x986be4=this['buildLockKey']({..._0x244b1e,'lockType':'write'}),_0x311d60=this['buildLockKey']({..._0x244b1e,'lockType':_0x509b1e['NLyLB']}),_0x418f20=this['generateLockValue']();try{const _0x40020b=redisClient[_0x2d7ab9(0x1b8)]();if(this[_0x2d7ab9(0x1d9)]==='reject'){const _0x4dc44b=await _0x40020b[_0x2d7ab9(0x186)](_0x986be4,_0x418f20,'EX',this['defaultTTL'],'NX');if(_0x4dc44b==='OK')return logger['debug']({'event':_0x509b1e['boiVS'],'key':_0x986be4,'value':_0x418f20,'strategy':'reject'},'WRITE\x20lock\x20acquired\x20(reject\x20mode)'),{'success':!![],'lockValue':_0x418f20,'lockKey':_0x986be4};return logger[_0x2d7ab9(0x191)]({'event':_0x509b1e['NMKez'],'key':_0x986be4},_0x509b1e[_0x2d7ab9(0x1dc)]),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x130bbb=0x0;_0x509b1e[_0x2d7ab9(0x194)](_0x130bbb,this[_0x2d7ab9(0x1b4)]);_0x130bbb++){const [_0x1db012,_0x549ecc]=await Promise['all']([_0x40020b['get'](_0x311d60),_0x40020b[_0x2d7ab9(0x1ad)](_0x986be4)]);if(!_0x549ecc&&(!_0x1db012||_0x509b1e['NTDmI'](parseInt(_0x1db012),0x0))){const _0x3312c6=await _0x40020b['set'](_0x986be4,_0x418f20,'EX',this['defaultTTL'],'NX');if(_0x509b1e['SolsJ'](_0x3312c6,'OK'))return logger['debug']({'event':_0x509b1e[_0x2d7ab9(0x196)],'key':_0x986be4,'value':_0x418f20,'strategy':'retry'},_0x509b1e[_0x2d7ab9(0x1d2)]),{'success':!![],'lockValue':_0x418f20,'lockKey':_0x986be4};}logger[_0x2d7ab9(0x191)]({'event':_0x2d7ab9(0x1c9),'writeKey':_0x986be4,'readCount':_0x1db012,'attempt':_0x130bbb},_0x2d7ab9(0x1c7)),await this[_0x2d7ab9(0x18b)](_0x509b1e['QXcsE'](this[_0x2d7ab9(0x1d6)],Math[_0x2d7ab9(0x1c4)](0x2,_0x130bbb)));}return logger['warn']({'event':_0x509b1e[_0x2d7ab9(0x1ba)],'key':_0x986be4},_0x2d7ab9(0x1b6)),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x46d370){return logger[_0x2d7ab9(0x190)]({'event':_0x509b1e['Jwrpu'],'error':_0x46d370['message']},'WRITE\x20lock\x20error'),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x1933ef(0x188)](_0x1c7f5e,_0x2dd778){const _0x231282=a0_0x1933ef,_0x23dfd9={'LWdWp':_0x231282(0x192),'BfItH':function(_0x4d9ce7,_0x4b5373){return _0x4d9ce7>_0x4b5373;},'kUNvQ':function(_0x18adf4,_0x409dba){return _0x18adf4(_0x409dba);},'eBUMK':_0x231282(0x1b9),'AvQHr':'lock_release_not_owner','CxAiY':'Lock\x20release\x20error'};if(!this[_0x231282(0x1ac)]||!_0x1c7f5e)return!![];try{const _0x5c26ea=redisClient[_0x231282(0x1b8)]();if(_0x1c7f5e['includes'](_0x23dfd9[_0x231282(0x199)])){await _0x5c26ea['del'](_0x1c7f5e);const _0x42a38e=_0x1c7f5e['substring'](0x0,_0x1c7f5e['lastIndexOf'](':')),_0x9ab26b=await _0x5c26ea[_0x231282(0x1ad)](_0x42a38e);return _0x9ab26b&&_0x23dfd9['BfItH'](_0x23dfd9['kUNvQ'](parseInt,_0x9ab26b),0x0)&&await _0x5c26ea[_0x231282(0x1c6)](_0x42a38e),logger[_0x231282(0x191)]({'event':_0x231282(0x197),'key':_0x1c7f5e},'READ\x20lock\x20released'),!![];}const _0x9315f4=_0x231282(0x1b2),_0x474ba9=await _0x5c26ea['eval'](_0x9315f4,0x1,_0x1c7f5e,_0x2dd778);if(_0x474ba9===0x1)return logger[_0x231282(0x191)]({'event':_0x231282(0x1ca),'key':_0x1c7f5e},_0x23dfd9[_0x231282(0x1bd)]),!![];return logger[_0x231282(0x1c2)]({'event':_0x23dfd9['AvQHr'],'key':_0x1c7f5e},'Cannot\x20release\x20lock\x20-\x20not\x20owner'),![];}catch(_0x2c9e2f){return logger[_0x231282(0x190)]({'event':'lock_release_error','key':_0x1c7f5e,'error':_0x2c9e2f['message']},_0x23dfd9['CxAiY']),![];}}async[a0_0x1933ef(0x1a5)](_0x100427,_0x562863,_0xcd3ce4=null){const _0x54f696=a0_0x1933ef,_0x35a85c={'mXYCH':function(_0x3bfb2b,_0x5a571e){return _0x3bfb2b===_0x5a571e;},'puVtr':_0x54f696(0x193),'xHeMH':'lock_extend_error'};if(!this['enabled']||!_0x100427)return!![];try{const _0x2d1ac7=redisClient[_0x54f696(0x1b8)](),_0x2696d9=_0x54f696(0x1bb),_0x67c662=await _0x2d1ac7['eval'](_0x2696d9,0x1,_0x100427,_0x562863,_0xcd3ce4||this[_0x54f696(0x195)]);if(_0x35a85c[_0x54f696(0x19e)](_0x67c662,0x1))return logger[_0x54f696(0x191)]({'event':_0x35a85c['puVtr'],'key':_0x100427,'ttl':_0xcd3ce4||this[_0x54f696(0x195)]},_0x54f696(0x18e)),!![];return![];}catch(_0x74e57f){return logger['error']({'event':_0x35a85c['xHeMH'],'key':_0x100427,'error':_0x74e57f['message']},_0x54f696(0x1a0)),![];}}['isEnabled'](){const _0x5b6824=a0_0x1933ef;return this[_0x5b6824(0x1ac)];}[a0_0x1933ef(0x18b)](_0x1ed251){return new Promise(_0x136c6a=>setTimeout(_0x136c6a,_0x1ed251));}async['getLockInfo'](_0x6e57ab){const _0x139a79=a0_0x1933ef,_0x266318={'yNfbY':'write','Rupcc':'read'};if(!this[_0x139a79(0x1ac)])return{'enabled':![]};try{const _0x40e332=redisClient[_0x139a79(0x1b8)](),_0x339efc=this['buildLockKey']({..._0x6e57ab,'lockType':_0x266318['yNfbY']}),_0x2e4617=this[_0x139a79(0x189)]({..._0x6e57ab,'lockType':_0x266318[_0x139a79(0x1b0)]}),[_0x926834,_0x3f2e5d]=await Promise[_0x139a79(0x1c3)]([_0x40e332[_0x139a79(0x1ad)](_0x339efc),_0x40e332['get'](_0x2e4617)]);return{'enabled':!![],'writeLock':_0x926834||null,'readCount':parseInt(_0x3f2e5d)||0x0,'writeKey':_0x339efc,'readKey':_0x2e4617};}catch(_0xb27b6f){return{'enabled':!![],'error':_0xb27b6f[_0x139a79(0x1d1)]};}}}module['exports']=new LockManager();
1
+ const a0_0x2543ab=a0_0x4739;function a0_0x4739(_0x487bd0,_0x37301c){_0x487bd0=_0x487bd0-0xbb;const _0x1f0771=a0_0x1f07();let _0x473954=_0x1f0771[_0x487bd0];if(a0_0x4739['OhHVgQ']===undefined){var _0x306acc=function(_0x5e8bac){const _0x216d23='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x56730e='',_0x4390e0='';for(let _0x4689e9=0x0,_0x2f096a,_0x1a34f9,_0x38ef15=0x0;_0x1a34f9=_0x5e8bac['charAt'](_0x38ef15++);~_0x1a34f9&&(_0x2f096a=_0x4689e9%0x4?_0x2f096a*0x40+_0x1a34f9:_0x1a34f9,_0x4689e9++%0x4)?_0x56730e+=String['fromCharCode'](0xff&_0x2f096a>>(-0x2*_0x4689e9&0x6)):0x0){_0x1a34f9=_0x216d23['indexOf'](_0x1a34f9);}for(let _0x1bddbe=0x0,_0x275330=_0x56730e['length'];_0x1bddbe<_0x275330;_0x1bddbe++){_0x4390e0+='%'+('00'+_0x56730e['charCodeAt'](_0x1bddbe)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4390e0);};a0_0x4739['ffbuPb']=_0x306acc,a0_0x4739['PAtANi']={},a0_0x4739['OhHVgQ']=!![];}const _0x2cc4a1=_0x1f0771[0x0],_0x5c2b66=_0x487bd0+_0x2cc4a1,_0x3c5958=a0_0x4739['PAtANi'][_0x5c2b66];return!_0x3c5958?(_0x473954=a0_0x4739['ffbuPb'](_0x473954),a0_0x4739['PAtANi'][_0x5c2b66]=_0x473954):_0x473954=_0x3c5958,_0x473954;}function a0_0x1f07(){const _0x519b82=['zxjYB3i','uKvbrcbSB2nRihjLBgvHC2vK','tK1ZtMq','Bg9JA19JB25MAwDFAw5PDa','AxnfBMfIBgvK','C2v0','v1jjveuGBg9JAYbYzwPLy3rLzcaTihjLy29YzcbIDxn5','v1jjveuGBg9JAYbHy3f1AxjLihrPBwvVDxq','D2fYBG','x2vUywjSzwq','Bvveu1m','nZC4nhfyALH0DW','rxvWBw8','CMvHza','Bg9JA19LEhrLBMrLza','yu55z2O','z2vUzxjHDgvmB2nRvMfSDwu','nteWAePSvvfU','BwvZC2fNzq','q2fUBM90ihjLBgvHC2uGBg9JAYaTig5VDcbVD25LCG','x2LUAxrdB25MAwC','z2v0','v2fPDgLUzYbMB3iGv1jjveuGBg9JAYb0BYbYzwXLyxnL','x3bYzwzPEa','zxHWAxjL','C3vIC3rYAw5N','D3jPDgvFBg9JA19Hy3f1AxjLza','D29YA2vYlq','y2HOAfi','x3DVCMTLCKLK','D29YA2vYswq','cIaGicaGicaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicaGicaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzxHWAxjLiIWGs0vzu1SXxsWGqvjhvLSYxsKkicaGicaGicbLBhnLcIaGicaGicaGicbYzxr1CM4GmaOGicaGicaGigvUzaOGicaGica','zgvIDwC','z2v0q2XPzw50','uKvbrcbSB2nRigfJCxvPCMvK','C2v0zxG','cIaGicaGicaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicaGicaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzgvSiIWGs0vzu1SXxsKkicaGicaGicbLBhnLcIaGicaGicaGicbYzxr1CM4GmaOGicaGicaGigvUzaOGicaGica','otK3ndaXtgrKsevh','D3jPDgvFBg9JA19LCNjVCG','x3jLDhj5rgvSyxK','te9ds19esvnuuKLcvvrfrf9tvfjbvevhwq','x3jLDhj5q291BNq','zw5HyMXLza','v0vKv0u','CMv0CNLezwXHEq','CMvSzwfZzuXVy2S','mta1nJCXoe1oreLPwG','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMvQzwn0ig1VzguP','zgvMyxvSDfruta','te9ds19esvnuuKLcvvrfrf9srvrswv9eruXbwq','zgvJCG','mJyZmZjHyxjtBNu','x3n0CMf0zwD5','uKvbrcbSB2nRigvYCM9Y','CMv0CNLdB3vUDa','CMvQzwn0','ndq5nJGXmffJAMvOtW','CMvHzf9SB2nRx2fJCxvPCMvK','zfncvfq','nJy1n3LcBgDbyG','mtyYmdaYnfzwq2LWEG','rfHbENK','ChvJEfy','ndK1mZG3nMXrwwPLrW','D3jPDgvFBg9JA19YzwPLy3rLza','CMv0CNK','x2vUC3vYzuLUAxrPywXPEMvK','zw52','v1vyEge','EfjXy0C','yvDdwwO','zgvS','yvrHs2K','uKvbrcbSB2nRigfJCxvPCMuGDgLTzw91Da','yNvPBgrmB2nRs2v5','sKX5sLy','lcbZDhjHDgvNEtOG','Bg9JA19LEhrLBMrFzxjYB3i','DxvPza','CMy6Bg9JAZO','C2XLzxa','ywnXDwLYzvjLywrmB2nR','mZzRuKXpwvO','x2rLzMf1BhruveW','zfjZtwq','veXbBxu','CMvHzf9SB2nRx3rPBwvVDxq','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMv0CNKGBw9KzsK','Bg9JA19YzwXLyxnLx25VDf9VD25LCG','te9ds19esvnuuKLcvvrfrf9uveW','ywXS','CMvHzf9SB2nRx2vYCM9Y','zxzHBa','EKD2uvm','Cg93','x2LUAxrPywXPEMvK','tg9JAYbYzwXLyxnLigvYCM9Y','v2fPDgLUzYbMB3iGBg9JA3mGDg8GCMvSzwfZzq','ywnXDwLYzvDYAxrLtg9JAW','C3rYyxrLz3K','oNjLywq6','BgfZDeLUzgv4t2y','D3jPDgu','Bg9JA19YzwXLyxnLx2vYCM9Y','zxH0zw5Ktg9JAW'];a0_0x1f07=function(){return _0x519b82;};return a0_0x1f07();}(function(_0x55c775,_0x1598d4){const _0x513fa1=a0_0x4739,_0x5aa21a=_0x55c775();while(!![]){try{const _0x22eeee=parseInt(_0x513fa1(0xf3))/0x1+-parseInt(_0x513fa1(0x101))/0x2+-parseInt(_0x513fa1(0xea))/0x3+-parseInt(_0x513fa1(0xf8))/0x4*(-parseInt(_0x513fa1(0xd6))/0x5)+parseInt(_0x513fa1(0x104))/0x6+-parseInt(_0x513fa1(0x100))/0x7*(-parseInt(_0x513fa1(0xd0))/0x8)+parseInt(_0x513fa1(0x117))/0x9*(-parseInt(_0x513fa1(0xfd))/0xa);if(_0x22eeee===_0x1598d4)break;else _0x5aa21a['push'](_0x5aa21a['shift']());}catch(_0x4d8575){_0x5aa21a['push'](_0x5aa21a['shift']());}}}(a0_0x1f07,0x8355e));const redisClient=require('./redis-client'),{logger}=require('./logger'),{v4:uuidv4}=require(a0_0x2543ab(0x113));class LockManager{constructor(){const _0x60da51=a0_0x2543ab;this['_prefix']=null,this['_enabled']=null,this[_0x60da51(0x118)]=null,this[_0x60da51(0xee)]=null,this['_retryDelay']=null,this[_0x60da51(0xf9)]=null,this['_workerId']=null,this[_0x60da51(0xbb)]=![];}[a0_0x2543ab(0xd9)](){const _0xfa7583=a0_0x2543ab,_0x12fd98={'kvNEV':'true','FGPzj':function(_0x2f59ed,_0x61e308,_0xa85c3){return _0x2f59ed(_0x61e308,_0xa85c3);},'hLCTg':_0xfa7583(0x114),'DXAzy':function(_0x5a87d0,_0x6e44a9,_0x542211){return _0x5a87d0(_0x6e44a9,_0x542211);},'qZtMY':_0xfa7583(0x106)},_0x206df9='4|0|6|1|5|7|2|8|3'['split']('|');let _0x5b8b3d=0x0;while(!![]){switch(_0x206df9[_0x5b8b3d++]){case'0':this[_0xfa7583(0xce)]=process[_0xfa7583(0x108)]['LOCK_DISTRIBUTED_ENABLED']===_0x12fd98['kvNEV'];continue;case'1':this['_retryCount']=_0x12fd98['FGPzj'](parseInt,process['env']['LOCK_DISTRIBUTED_RETRY'],0xa)||0x3;continue;case'2':this[_0xfa7583(0xe2)]=_0xfa7583(0xe0)+process['pid'];continue;case'3':logger['info']({'event':_0xfa7583(0xc8),'enabled':this[_0xfa7583(0xce)],'strategy':this['_strategy'],'ttl':this['_defaultTTL'],'retryCount':this['_retryCount'],'retryDelay':this[_0xfa7583(0xec)],'workerId':this[_0xfa7583(0xe2)]},'Lock\x20configuration\x20initialized\x20-\x20enabled:\x20'+this[_0xfa7583(0xce)]+_0xfa7583(0x111)+this['_strategy']);continue;case'4':this[_0xfa7583(0xdc)]=_0x12fd98['hLCTg'];continue;case'5':this[_0xfa7583(0xec)]=_0x12fd98[_0xfa7583(0x102)](parseInt,process['env'][_0xfa7583(0xf6)],0xa)||0x64;continue;case'6':this[_0xfa7583(0x118)]=parseInt(process[_0xfa7583(0x108)][_0xfa7583(0x11e)],0xa)||0xa;continue;case'7':this['_strategy']=process['env'][_0xfa7583(0xed)]||_0x12fd98['qZtMY'];continue;case'8':this['_initialized']=!![];continue;}break;}}['_ensureInitialized'](){const _0x2648c4=a0_0x2543ab;!this[_0x2648c4(0xbb)]&&this[_0x2648c4(0xd9)]();}get['prefix'](){const _0x223053=a0_0x2543ab;return this[_0x223053(0x107)](),this[_0x223053(0xdc)];}get[a0_0x2543ab(0xef)](){const _0x38dbcb=a0_0x2543ab;return this[_0x38dbcb(0x107)](),this['_enabled'];}get['defaultTTL'](){const _0x514ac3=a0_0x2543ab;return this[_0x514ac3(0x107)](),this[_0x514ac3(0x118)];}get[a0_0x2543ab(0xfb)](){const _0x56f383=a0_0x2543ab;return this['_ensureInitialized'](),this[_0x56f383(0xee)];}get['retryDelay'](){const _0xc90c85=a0_0x2543ab;return this[_0xc90c85(0x107)](),this['_retryDelay'];}get[a0_0x2543ab(0xbf)](){return this['_ensureInitialized'](),this['_strategy'];}get['workerId'](){return this['_ensureInitialized'](),this['_workerId'];}[a0_0x2543ab(0x10f)](_0x27ce2e){const {module:_0x4f38f6,endpoint:_0x21e0d8,lockType:_0x4b7504,recordId:_0x179667}=_0x27ce2e;if(_0x179667)return''+this['prefix']+_0x4f38f6+':'+_0x21e0d8+':'+_0x179667+':'+_0x4b7504;return''+this['prefix']+_0x4f38f6+':'+_0x21e0d8+':'+_0x4b7504;}['generateLockValue'](){const _0x3d8ccd=a0_0x2543ab;return this[_0x3d8ccd(0xe3)]+':'+uuidv4()+':'+Date['now']();}async[a0_0x2543ab(0x116)](_0x54d427){const _0x20900a=a0_0x2543ab,_0x25c4c2={'JNshw':_0x20900a(0xc2),'aWCYj':function(_0x8e3c0e,_0x3169e3){return _0x8e3c0e<_0x3169e3;},'chhhR':_0x20900a(0xfe),'XcCDJ':_0x20900a(0xe7),'nVKHS':'read_lock_waiting','WUXxa':_0x20900a(0xdb),'BCZXO':function(_0x5796f0,_0x4f2ea8){return _0x5796f0*_0x4f2ea8;},'WEdWE':_0x20900a(0x11b),'dmpvN':_0x20900a(0x10e),'aTaKi':_0x20900a(0xfa)};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x269346=this['buildLockKey']({..._0x54d427,'lockType':_0x25c4c2['JNshw']}),_0x50bbc2=this['buildLockKey']({..._0x54d427,'lockType':'read'}),_0x42f1aa=this['generateLockValue']();try{const _0x18a8f2=redisClient[_0x20900a(0xe6)]();for(let _0x39e7d7=0x0;_0x25c4c2[_0x20900a(0x10b)](_0x39e7d7,this[_0x20900a(0xfb)]);_0x39e7d7++){const _0x1adb12=await _0x18a8f2['get'](_0x269346);if(!_0x1adb12){await _0x18a8f2['incr'](_0x50bbc2),await _0x18a8f2[_0x20900a(0xdd)](_0x50bbc2,this['defaultTTL']);const _0x10a153=_0x50bbc2+':'+_0x42f1aa;return await _0x18a8f2[_0x20900a(0xe8)](_0x10a153,this['defaultTTL'],_0x42f1aa),logger['debug']({'event':_0x25c4c2[_0x20900a(0xe1)],'key':_0x50bbc2,'value':_0x42f1aa},_0x25c4c2['XcCDJ']),{'success':!![],'lockValue':_0x42f1aa,'lockKey':_0x10a153};}logger[_0x20900a(0xe5)]({'event':_0x25c4c2['nVKHS'],'writeKey':_0x269346,'attempt':_0x39e7d7},_0x25c4c2[_0x20900a(0x109)]),await this[_0x20900a(0x115)](_0x25c4c2['BCZXO'](this[_0x20900a(0xf1)],Math[_0x20900a(0x123)](0x2,_0x39e7d7)));}return logger['warn']({'event':_0x25c4c2[_0x20900a(0xf0)],'key':_0x50bbc2},_0x25c4c2['dmpvN']),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x4ad799){return logger[_0x20900a(0xc5)]({'event':_0x20900a(0x120),'error':_0x4ad799[_0x20900a(0xd7)]},_0x25c4c2[_0x20900a(0x10d)]),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x2543ab(0xbe)](_0xed78bb){const _0x45e11c=a0_0x2543ab,_0x1e7ef7={'aNygj':function(_0x5d1184,_0x323302){return _0x5d1184===_0x323302;},'pDwEI':_0x45e11c(0xdf),'dSBTT':_0x45e11c(0xf4),'zGvQS':_0x45e11c(0x105),'JciIF':_0x45e11c(0xcb),'pucxV':function(_0x390e71,_0xe111ef){return _0x390e71<_0xe111ef;},'NMsNd':function(_0x43e65f,_0x2c3f80){return _0x43e65f(_0x2c3f80);},'dRsMd':'write_lock_waiting','icEVA':function(_0x3ec8be,_0x39be0e){return _0x3ec8be*_0x39be0e;},'aEDFl':_0x45e11c(0xcc),'DdVjk':_0x45e11c(0xeb),'FKase':'WRITE\x20lock\x20error'};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x5e96a3=this['buildLockKey']({..._0xed78bb,'lockType':_0x45e11c(0xc2)}),_0x5751a0=this['buildLockKey']({..._0xed78bb,'lockType':'read'}),_0x317fee=this[_0x45e11c(0xd5)]();try{const _0x5a5cd3=redisClient['getClient']();if(this[_0x45e11c(0xbf)]==='reject'){const _0x359ebc=await _0x5a5cd3[_0x45e11c(0xca)](_0x5e96a3,_0x317fee,'EX',this[_0x45e11c(0xf5)],'NX');if(_0x1e7ef7[_0x45e11c(0xd4)](_0x359ebc,'OK'))return logger['debug']({'event':_0x1e7ef7['pDwEI'],'key':_0x5e96a3,'value':_0x317fee,'strategy':_0x45e11c(0xfc)},_0x1e7ef7[_0x45e11c(0xff)]),{'success':!![],'lockValue':_0x317fee,'lockKey':_0x5e96a3};return logger['debug']({'event':_0x1e7ef7[_0x45e11c(0x122)],'key':_0x5e96a3},_0x1e7ef7['JciIF']),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x2e8cf0=0x0;_0x1e7ef7[_0x45e11c(0x103)](_0x2e8cf0,this['retryCount']);_0x2e8cf0++){const [_0x316a4d,_0x1053bb]=await Promise[_0x45e11c(0x11f)]([_0x5a5cd3['get'](_0x5751a0),_0x5a5cd3['get'](_0x5e96a3)]);if(!_0x1053bb&&(!_0x316a4d||_0x1e7ef7[_0x45e11c(0xc7)](parseInt,_0x316a4d)===0x0)){const _0x3ff808=await _0x5a5cd3[_0x45e11c(0xca)](_0x5e96a3,_0x317fee,'EX',this['defaultTTL'],'NX');if(_0x3ff808==='OK')return logger[_0x45e11c(0xe5)]({'event':_0x45e11c(0xdf),'key':_0x5e96a3,'value':_0x317fee,'strategy':'retry'},_0x45e11c(0x11c)),{'success':!![],'lockValue':_0x317fee,'lockKey':_0x5e96a3};}logger['debug']({'event':_0x1e7ef7[_0x45e11c(0x119)],'writeKey':_0x5e96a3,'readCount':_0x316a4d,'attempt':_0x2e8cf0},_0x45e11c(0xbd)),await this['sleep'](_0x1e7ef7['icEVA'](this[_0x45e11c(0xf1)],Math[_0x45e11c(0x123)](0x2,_0x2e8cf0)));}return logger[_0x45e11c(0xcd)]({'event':'write_lock_timeout','key':_0x5e96a3},_0x1e7ef7['aEDFl']),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x2e97cc){return logger['error']({'event':_0x1e7ef7['DdVjk'],'error':_0x2e97cc['message']},_0x1e7ef7['FKase']),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x2543ab(0xf2)](_0x33e520,_0x258207){const _0x26ce16=a0_0x2543ab,_0x2ed913={'Icvqu':'WRITE\x20lock\x20released','JLyJV':_0x26ce16(0x11d),'Eupmo':_0x26ce16(0xd8),'cyvrd':_0x26ce16(0xc3)};if(!this['enabled']||!_0x33e520)return!![];try{const _0x5c62ee=redisClient[_0x26ce16(0xe6)]();if(_0x33e520['includes'](_0x26ce16(0xc0))){await _0x5c62ee[_0x26ce16(0x10c)](_0x33e520);const _0x2bdf89=_0x33e520[_0x26ce16(0xde)](0x0,_0x33e520[_0x26ce16(0xc1)](':')),_0xc4fa36=await _0x5c62ee[_0x26ce16(0xda)](_0x2bdf89);return _0xc4fa36&&parseInt(_0xc4fa36)>0x0&&await _0x5c62ee[_0x26ce16(0xf7)](_0x2bdf89),logger['debug']({'event':'read_lock_released','key':_0x33e520},_0x26ce16(0xc6)),!![];}const _0x30772e=_0x26ce16(0xe9),_0x36a519=await _0x5c62ee[_0x26ce16(0x121)](_0x30772e,0x1,_0x33e520,_0x258207);if(_0x36a519===0x1)return logger[_0x26ce16(0xe5)]({'event':'write_lock_released','key':_0x33e520},_0x2ed913['Icvqu']),!![];return logger['warn']({'event':_0x2ed913[_0x26ce16(0x110)],'key':_0x33e520},_0x2ed913[_0x26ce16(0xd1)]),![];}catch(_0x52723f){return logger['error']({'event':_0x2ed913['cyvrd'],'key':_0x33e520,'error':_0x52723f[_0x26ce16(0xd7)]},_0x26ce16(0xbc)),![];}}async[a0_0x2543ab(0xc4)](_0x847d3f,_0x1fa5ad,_0x3936e9=null){const _0x326b84=a0_0x2543ab,_0x48489c={'GiMYO':_0x326b84(0xd3),'TLAmu':'Lock\x20extend\x20error'};if(!this[_0x326b84(0xef)]||!_0x847d3f)return!![];try{const _0x55b1b1=redisClient[_0x326b84(0xe6)](),_0x5603b1=_0x326b84(0xe4),_0x5b23f8=await _0x55b1b1[_0x326b84(0x121)](_0x5603b1,0x1,_0x847d3f,_0x1fa5ad,_0x3936e9||this[_0x326b84(0xf5)]);if(_0x5b23f8===0x1)return logger['debug']({'event':_0x48489c['GiMYO'],'key':_0x847d3f,'ttl':_0x3936e9||this[_0x326b84(0xf5)]},'Lock\x20TTL\x20extended'),!![];return![];}catch(_0x247af8){return logger['error']({'event':_0x326b84(0x112),'key':_0x847d3f,'error':_0x247af8[_0x326b84(0xd7)]},_0x48489c[_0x326b84(0x11a)]),![];}}[a0_0x2543ab(0xc9)](){return this['enabled'];}[a0_0x2543ab(0x115)](_0x57f122){return new Promise(_0x28b722=>setTimeout(_0x28b722,_0x57f122));}async['getLockInfo'](_0x12e0fc){const _0x42cdcc=a0_0x2543ab,_0x207eb2={'mUDSS':_0x42cdcc(0xd2),'xRqcG':function(_0x286d04,_0x56170e){return _0x286d04||_0x56170e;}};if(!this[_0x42cdcc(0xef)])return{'enabled':![]};try{const _0x58e33d=redisClient[_0x42cdcc(0xe6)](),_0x4cae92=this[_0x42cdcc(0x10f)]({..._0x12e0fc,'lockType':_0x42cdcc(0xc2)}),_0x3938d0=this[_0x42cdcc(0x10f)]({..._0x12e0fc,'lockType':_0x207eb2[_0x42cdcc(0xcf)]}),[_0x30195f,_0x213088]=await Promise[_0x42cdcc(0x11f)]([_0x58e33d['get'](_0x4cae92),_0x58e33d[_0x42cdcc(0xda)](_0x3938d0)]);return{'enabled':!![],'writeLock':_0x207eb2[_0x42cdcc(0x10a)](_0x30195f,null),'readCount':parseInt(_0x213088)||0x0,'writeKey':_0x4cae92,'readKey':_0x3938d0};}catch(_0x5a497a){return{'enabled':!![],'error':_0x5a497a['message']};}}}module['exports']=new LockManager();
@@ -1 +1 @@
1
- const a0_0x4624df=a0_0x39a8;function a0_0x5abf(){const _0x16293a=['Bwf4','zMLSzv9SB2DNAw5Nx2vUywjSzwq','revmrvrf','CMvZDgzVCMDL','s3rKq3q','Dw5Oyw5KBgvKuMvQzwn0Aw9U','seLou2y','tK9uiefdveLwrq','vvbeqvrf','CgLKlgHVC3rUyw1LlhnLCNzPy2uSDMvYC2LVBIXLBNySzxzLBNqSBw9KDwXLlhbVCNqSy29UzMLNlgfWAuTLEuvUywjSzwqSCgf0AcX3B3jRAw5NrgLYlgLZugTNlgLZtM9KzvnJCMLWDcXMAwXLlgvTywLSlhr5CguSy29YCYXSB2DNAw5NlgfWAuTLEsXJB3vUDcXLBMrWB2LUDcXYB3v0zq','AxnVvgLTzq','D2fYBMLUzW','uxn0Cem','mJu0mwfoyM5Nyq','BwvZC2fNzq','yxbPx2TLEq','sLDux1nfq1jfva','rejFueftu1DpuKq','te9hx1rpx0zjteu','A21QwMW','Bw9KDwXL','yMfZzvvYBa','Dg9gAxHLza','BwfW','w1jfrefdvevexq','zxjYB3iUBg9N','odi2mJrzA09hA2e','v2L1y2W','Bwf0y2G','y3jLyxrLv3jPDgvtDhjLyw0','ChjVAMvJDf9SB2fKzwq','u1LtoKHioK1noNnZ','Ahr0Cf9LCNjVCG','u1fmx0Xpr19qqvjbtvm','Bwv0Ag9K','w1jfrefdveveoMHHC2HD','CMvTB3rLqwrKCMvZCW','C3rHDhvZq29Kzq','Cg9YDa','ChjPDMf0zv9RzxK','Dw5JyxvNAhrfEgnLChrPB24','svncwMu','Bg9N','ms4WlJu','AuDoreW','u0vmrunu','BxmP','nvzgquTYBq','qunusvzf','te5WC1e','w09lxsbtzxj2zxiGCMvHzhKGB24GCg9YDca','vfjbtLnbq1rjt05Fq09ntuLu','zMf0ywW','C2vYDMvYx3jLywr5','u1rbuLqGvfjbtLnbq1rjt04','AxntBg93','CgLU','zw52AxjVBM1LBNq','AgvHzgvYCW','zwrnDwy','vK5Ruxy','Evnju1e','BuPYuLm','BgvUz3rO','uMTxvgm','CK1wBMe','Cgf0Aa','rermx0rst1a','y29Kzq','sw50zxjUywWGC2vYDMvYigvYCM9Y','qKT5AeW','mZK0mtDtsLvkvLC','icbizwfSDgG6ia','Dg9Rzw4','s05OEKS','nJuXmZq4t2HYs2TI','Ec1Yzxf1zxn0lwLK','zMXdrxO','uKvtvezpuKDfifjvtLrjtuuGu0vsvKvs','zw52','C2vYDMvYx3n0yxj0Aw5N','C0zMte8','y29UBMvJDgLVBG','nde4B0Xgt3fI','yxbPA2v5','D2fYBG','yxv0Ag9YAxPHDgLVBG','Dg9mB3DLCKnHC2u','rermx0nsrufurq','EfPLB0e','ChDK','lI9SB2DZ','Dw5RBM93BG','qvbqx1zfuLnjt04','CgLUBY1WCMv0DhK','su5trvju','AgvHBhrOq2HLy2S','tK9xEMi','v1nfCLa','C3nU','B2jQzwn0','B3rW','ywnJzxnZx3rVA2vU','zw5KCg9PBNrFCMvNAxn0zxjLza','CgLUBW','z2v0','C3rHCNrZv2L0Aa','DhjPBq','oI8V','y3jLzgvUDgLHBhm','zgf0ywjHC2u','ChjVAMvJDa','Dxb0Aw1L','Aw5MBZPIBhvLlhDHCM46EwvSBg93lgvYCM9YoNjLzcXKzwj1zZPNCMf5','odGZmdKXDK9YtNnx','CgfYyw1Z','uK9mtejbq0S','CgfKrw5K','yKHuqMC','ChjPDMf0zwTLEq','nty4mNDMCfPwqW','yxbPs2v5','u1fmx0Xpr19mrvzfta','BMfTzq','rxjYB3i6ia','DhLWzq','C3vIC3rYAw5N','Ag9ZDa','Dg9ju09tDhjPBMC','ndqYnZmXnNHPsfH1AW','y3DK','EhDYy1y','y3jLzgL0y2fYza','CgLK','zfjkCuW','ywD4D3u','rermx0fmvevs','w1jfrefdveveoNrVA2vUxq','y3z2','DgvZDa','whL1Bxq','C3fSx3f1zxj5','zxHPDa','Dw5hyM4','yNDODeW','DgL6quC','C2vJCMv0','zgjFCxvLCNK','qwD2r0C','zxjYB3i','tK9erv9ftLy','vu5ltK9xtG','mtaXnxfYuezeAq','Aw5JBhvKzxm','z2v0sgvHzgvYCW','zxPrshq','wMfRswu','zgvIDwC','txzlwLq','rxjYB3i','D3jPDgu','C3rKu2vYAwfSAxPLCNm','rfjpua','yM9KEq','q1jjveLdquW','Aw5MBW','C2vYDMLJzuLUzM8','zhr4EMe','C3rHy2S','Cwzirxm','rgvMyxvSDa','odbgruvfAMC','CMvMCMvZAf90B2TLBG','uhjVy2vZCYbxyxjUAw5NoIa','rgf0ywjHC2u6ia','DxjS','cUkvOokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvOWRILzeGievUDMLYB25Tzw50idOG','CgfZC3DK','ic0G','E21Zz30'];a0_0x5abf=function(){return _0x16293a;};return a0_0x5abf();}(function(_0x53b18a,_0x438a3f){const _0x204248=a0_0x39a8,_0x1ceca3=_0x53b18a();while(!![]){try{const _0x361aa3=-parseInt(_0x204248(0x204))/0x1*(parseInt(_0x204248(0x24a))/0x2)+-parseInt(_0x204248(0x23e))/0x3+parseInt(_0x204248(0x242))/0x4*(-parseInt(_0x204248(0x226))/0x5)+parseInt(_0x204248(0x26f))/0x6*(-parseInt(_0x204248(0x1db))/0x7)+parseInt(_0x204248(0x211))/0x8+parseInt(_0x204248(0x278))/0x9+-parseInt(_0x204248(0x1ee))/0xa*(-parseInt(_0x204248(0x269))/0xb);if(_0x361aa3===_0x438a3f)break;else _0x1ceca3['push'](_0x1ceca3['shift']());}catch(_0x330973){_0x1ceca3['push'](_0x1ceca3['shift']());}}}(a0_0x5abf,0x4946c));const pino=require(a0_0x4624df(0x25f)),fs=require('fs'),path=require('path');let logToFile=![],logDir=a0_0x4624df(0x252),serviceName=a0_0x4624df(0x1fa),sqlLogEnabled=![],sqlLogLevel='debug',sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':a0_0x4624df(0x216),'ignore':a0_0x4624df(0x200),'singleLine':![],'levelFirst':!![],'messageFormat':a0_0x4624df(0x1f6),'customColors':a0_0x4624df(0x268),'hideObject':!![]},isDevelopment=process['env'][a0_0x4624df(0x1d9)]!=='production',logLevel=process[a0_0x4624df(0x246)]['LOG_LEVEL']||a0_0x4624df(0x1e8);let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':a0_0x4624df(0x255),'options':prettyPrintOptions}:undefined,'base':{'service':'restforge','version':process['env'][a0_0x4624df(0x254)]||a0_0x4624df(0x222),'env':process['env']['NODE_ENV']||'development'},'timestamp':pino['stdTimeFunctions'][a0_0x4624df(0x201)],'redact':{'paths':['req.headers.authorization','req.headers[\x22x-api-key\x22]','password',a0_0x4624df(0x240),'apiKey',a0_0x4624df(0x208),a0_0x4624df(0x207)],'censor':a0_0x4624df(0x20f)},'serializers':{'req':_0x2907a9=>({'id':_0x2907a9['id'],'method':_0x2907a9['method'],'url':_0x2907a9[a0_0x4624df(0x1f2)],'path':_0x2907a9['path'],'remoteAddress':_0x2907a9['ip']||_0x2907a9['connection']?.[a0_0x4624df(0x21b)]}),'res':_0x261ca2=>({'statusCode':_0x261ca2['statusCode'],'headers':_0x261ca2[a0_0x4624df(0x1dd)]?.()}),'err':pino[a0_0x4624df(0x1e4)]['err']}});function initFileLogging(){const _0x32837d=a0_0x4624df,_0x3d6dd3={'NOWzb':'true','mJrRS':function(_0x34b302,_0xf931e8){return _0x34b302===_0xf931e8;},'SofWY':function(_0x397b50,_0x5b1cb0){return _0x397b50!==_0x5b1cb0;},'qfHEs':function(_0x23ac9a,_0x138139){return _0x23ac9a(_0x138139);},'ISBZe':_0x32837d(0x210),'aQaFf':_0x32837d(0x1f8),'OwVLO':'app.log','Xyumt':function(_0x3fdca1,_0x40503e,_0x4a4d63){return _0x3fdca1(_0x40503e,_0x4a4d63);},'BKyhL':_0x32837d(0x1e8)};if(fileLoggingInitialized)return;logToFile=process['env'][_0x32837d(0x209)]===_0x3d6dd3['NOWzb'];const _0x5a9abd=process[_0x32837d(0x246)]['RESTFORGE_PROJECT_NAME']||'default';logDir=process['env']['LOG_DIR']||'./logs/'+_0x5a9abd,serviceName=process[_0x32837d(0x246)]['SERVICE_NAME']||_0x32837d(0x1fa),sqlLogEnabled=_0x3d6dd3[_0x32837d(0x235)](process[_0x32837d(0x246)]['SQL_LOG_ENABLED'],_0x3d6dd3[_0x32837d(0x258)]),sqlLogLevel=process[_0x32837d(0x246)][_0x32837d(0x271)]||'debug',sqlLogParams=_0x3d6dd3['SofWY'](process['env'][_0x32837d(0x218)],'false'),sqlLogSlowThreshold=_0x3d6dd3[_0x32837d(0x1ec)](parseInt,process[_0x32837d(0x246)]['SQL_LOG_SLOW_THRESHOLD'])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x1e0aba=path['resolve'](process[_0x32837d(0x279)](),logDir);try{!fs['existsSync'](_0x1e0aba)&&fs['mkdirSync'](_0x1e0aba,{'recursive':!![]});}catch(_0x38580f){console['error']('Failed\x20to\x20create\x20log\x20directory\x20'+_0x1e0aba+':',_0x38580f[_0x32837d(0x205)]),fileLoggingInitialized=!![];return;}const _0x3fa970=path['join'](_0x1e0aba,'app.log'),_0x15d12b=path['join'](_0x1e0aba,_0x3d6dd3[_0x32837d(0x220)]);try{appLogStream=fs[_0x32837d(0x214)](_0x3fa970,{'flags':'a'}),errorLogStream=fs[_0x32837d(0x214)](_0x15d12b,{'flags':'a'}),fileLoggingInitialized=!![];const _0x3d45ba={'event':_0x3d6dd3['aQaFf'],'logDir':_0x1e0aba,'files':[_0x3d6dd3['OwVLO'],_0x3d6dd3[_0x32837d(0x220)]]},_0x38c308='File\x20logging\x20enabled:\x20'+_0x1e0aba;logger[_0x32837d(0x1e8)](_0x3d45ba,_0x38c308),_0x3d6dd3[_0x32837d(0x283)](writeToFileLog,{..._0x3d45ba,'level':_0x3d6dd3[_0x32837d(0x23d)],'msg':_0x38c308,'time':new Date()['toISOString']()},_0x3d6dd3[_0x32837d(0x23d)]);}catch(_0x561858){console['error']('Failed\x20to\x20create\x20log\x20streams:',_0x561858['message']),fileLoggingInitialized=!![];}}function a0_0x39a8(_0x23bfc2,_0x1b3e77){_0x23bfc2=_0x23bfc2-0x1d1;const _0x5abfe2=a0_0x5abf();let _0x39a8ca=_0x5abfe2[_0x23bfc2];if(a0_0x39a8['LTmynl']===undefined){var _0x28655b=function(_0x178122){const _0x44eff2='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4b507f='',_0x435e5d='';for(let _0x585b20=0x0,_0x5d9761,_0x317f8c,_0x4ec2dc=0x0;_0x317f8c=_0x178122['charAt'](_0x4ec2dc++);~_0x317f8c&&(_0x5d9761=_0x585b20%0x4?_0x5d9761*0x40+_0x317f8c:_0x317f8c,_0x585b20++%0x4)?_0x4b507f+=String['fromCharCode'](0xff&_0x5d9761>>(-0x2*_0x585b20&0x6)):0x0){_0x317f8c=_0x44eff2['indexOf'](_0x317f8c);}for(let _0x55ac09=0x0,_0x43e83f=_0x4b507f['length'];_0x55ac09<_0x43e83f;_0x55ac09++){_0x435e5d+='%'+('00'+_0x4b507f['charCodeAt'](_0x55ac09)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x435e5d);};a0_0x39a8['IlZJrD']=_0x28655b,a0_0x39a8['LpIIsF']={},a0_0x39a8['LTmynl']=!![];}const _0x17714b=_0x5abfe2[0x0],_0x5b71bd=_0x23bfc2+_0x17714b,_0x403211=a0_0x39a8['LpIIsF'][_0x5b71bd];return!_0x403211?(_0x39a8ca=a0_0x39a8['IlZJrD'](_0x39a8ca),a0_0x39a8['LpIIsF'][_0x5b71bd]=_0x39a8ca):_0x39a8ca=_0x403211,_0x39a8ca;}function writeToFileLog(_0x4bbcd6,_0x467564){const _0x540564=a0_0x4624df,_0x42402f={'KtdCt':function(_0x35479f,_0x42c3de){return _0x35479f===_0x42c3de;},'ZhPxW':'error'};if(!logToFile||!appLogStream)return;const _0x381cf0={'service':serviceName,..._0x4bbcd6},_0x280026=JSON['stringify'](_0x381cf0)+'\x0a';appLogStream[_0x540564(0x1e3)](_0x280026),(_0x42402f[_0x540564(0x1fb)](_0x467564,_0x42402f['ZhPxW'])||_0x467564==='fatal')&&(errorLogStream&&errorLogStream['write'](_0x280026));}const createRequestLogger=(_0xf768e0={})=>{return logger['child'](_0xf768e0);},logServerStart=_0x13e952=>{const _0x56fb05=a0_0x4624df,_0x4916a4={'Wiucl':_0x56fb05(0x245),'mWvtI':function(_0x5085ae,_0x4f3b5e){return _0x5085ae-_0x4f3b5e;},'ySISQ':'N/A','WSErP':_0x56fb05(0x1ed),'DZtKn':_0x56fb05(0x227),'unGbn':_0x56fb05(0x1e8)},_0x115504=_0x4916a4[_0x56fb05(0x212)],_0x43b6f3=Math[_0x56fb05(0x1f7)](0x0,0x37-_0x115504[_0x56fb05(0x236)]),_0x4b58e4=Math['floor'](_0x43b6f3/0x2),_0x2552a4=_0x4916a4['mWvtI'](_0x43b6f3,_0x4b58e4),_0x4385a9='║'+'\x20'['repeat'](_0x4b58e4)+_0x115504+'\x20'['repeat'](_0x2552a4)+'║',_0xdf735d='\x0a╔═══════════════════════════════════════════════════════╗\x0a'+_0x4385a9+_0x56fb05(0x1f3)+(_0x13e952[_0x56fb05(0x230)]||'Node.js')[_0x56fb05(0x26c)](0x26)+'\x20║\x0a║\x20\x20Project\x20\x20\x20\x20\x20:\x20'+(_0x13e952[_0x56fb05(0x266)]||_0x4916a4[_0x56fb05(0x234)])[_0x56fb05(0x26c)](0x26)+'\x20║\x0a║\x20\x20Port\x20\x20\x20\x20\x20\x20\x20\x20:\x20'+String(_0x13e952[_0x56fb05(0x21d)]||0xbb8)[_0x56fb05(0x26c)](0x26)+'\x20║\x0a║\x20\x20Config\x20\x20\x20\x20\x20\x20:\x20'+(_0x13e952['configFile']||_0x4916a4[_0x56fb05(0x259)])['padEnd'](0x26)+'\x20║\x0a║\x20\x20API\x20Key\x20\x20\x20\x20\x20:\x20'+(_0x13e952[_0x56fb05(0x270)]?_0x4916a4['DZtKn']:_0x56fb05(0x1fe))['padEnd'](0x26)+'\x20║\x0a╚═══════════════════════════════════════════════════════╝';console[_0x56fb05(0x221)](_0xdf735d);const _0x5d80a2={'event':_0x56fb05(0x247),'project':_0x13e952['project'],'port':_0x13e952[_0x56fb05(0x21d)],'config':_0x13e952['configFile'],'apiKeyEnabled':!!_0x13e952[_0x56fb05(0x270)]};logger[_0x56fb05(0x1e8)](_0x5d80a2),writeToFileLog({..._0x5d80a2,'level':_0x4916a4[_0x56fb05(0x1d2)],'msg':'Server\x20starting:\x20'+_0x13e952['project']+'\x20on\x20port\x20'+_0x13e952[_0x56fb05(0x21d)],'time':new Date()['toISOString']()},_0x56fb05(0x1e8));},logServerReady=_0x214391=>{const _0x160842=a0_0x4624df,_0x211102={'Gitzb':_0x160842(0x22c),'sFfLO':'info'},_0x320689={'event':_0x211102['Gitzb'],'port':_0x214391['port'],'module':_0x214391[_0x160842(0x20b)],'healthCheck':_0x214391[_0x160842(0x257)],'serviceInfo':_0x214391[_0x160842(0x1e9)],'baseUrl':_0x214391[_0x160842(0x20c)]},_0x46eb0b=_0x160842(0x229)+_0x214391['port'];logger['info'](_0x320689,_0x46eb0b),writeToFileLog({..._0x320689,'level':_0x211102[_0x160842(0x248)],'msg':_0x46eb0b,'time':new Date()[_0x160842(0x277)]()},_0x211102['sFfLO']),_0x214391['healthCheck']&&logger['info'](_0x160842(0x23f)+_0x214391[_0x160842(0x257)]),_0x214391['serviceInfo']&&logger['info']('\x20\x20Info:\x20\x20\x20'+_0x214391[_0x160842(0x1e9)]),_0x214391['baseUrl']&&logger['info']('\x20\x20URL:\x20\x20\x20\x20'+_0x214391['baseUrl']);},logProjectLoaded=(_0x282071,_0x215870)=>{const _0x4423af=a0_0x4624df,_0x2d8387={'nLVnv':_0x4423af(0x215),'agxwu':function(_0x233f36,_0x358d91,_0x5078b0){return _0x233f36(_0x358d91,_0x5078b0);}},_0x129bd7={'event':_0x2d8387['nLVnv'],'project':_0x282071,'path':_0x215870},_0x4e3fd4='[OK]\x20Project\x20loaded:\x20'+_0x282071;logger['info'](_0x129bd7,_0x4e3fd4),_0x2d8387[_0x4423af(0x27e)](writeToFileLog,{..._0x129bd7,'level':_0x4423af(0x1e8),'msg':_0x4e3fd4,'time':new Date()[_0x4423af(0x277)]()},_0x4423af(0x1e8));},logEndpointRegistered=(_0x2d5580,_0x224b9e)=>{const _0x20a564=a0_0x4624df,_0x570d9f={'kmjZl':function(_0x3dabc0,_0x3cc64d,_0x5c70a9){return _0x3dabc0(_0x3cc64d,_0x5c70a9);},'mNhAZ':'debug'},_0x586e05={'event':_0x20a564(0x25e),'endpoint':_0x2d5580,'route':_0x224b9e},_0x1a3ae4='\x20\x20→\x20'+_0x2d5580+':\x20'+_0x224b9e;logger[_0x20a564(0x1e0)](_0x586e05,_0x1a3ae4),_0x570d9f[_0x20a564(0x20a)](writeToFileLog,{..._0x586e05,'level':_0x570d9f['mNhAZ'],'msg':_0x1a3ae4,'time':new Date()['toISOString']()},_0x570d9f['mNhAZ']);},logDatabaseConfig=_0x10c9c0=>{const _0x1630aa=a0_0x4624df,_0x22bb1a={'NPgDO':'debug'},_0x2fc906={'event':'database_config','host':_0x10c9c0[_0x1630aa(0x276)],'port':_0x10c9c0['port'],'database':_0x10c9c0['database'],'type':_0x10c9c0[_0x1630aa(0x274)],'user':_0x10c9c0['user']},_0x26b461=_0x1630aa(0x1f1)+_0x10c9c0[_0x1630aa(0x274)]+_0x1630aa(0x263)+_0x10c9c0[_0x1630aa(0x276)]+':'+_0x10c9c0['port']+'/'+_0x10c9c0[_0x1630aa(0x265)];logger[_0x1630aa(0x1e0)](_0x2fc906,_0x26b461),writeToFileLog({..._0x2fc906,'level':'debug','msg':_0x26b461,'time':new Date()['toISOString']()},_0x22bb1a['NPgDO']);},logRequest=(_0xee1fac,_0x4b347f,_0x14a7bc)=>{const _0x1db6b3=a0_0x4624df,_0x2389c4={'dhTbC':function(_0x14a608,_0x8cd508){return _0x14a608>=_0x8cd508;},'xwrcV':_0x1db6b3(0x1d8),'KnWYr':_0x1db6b3(0x24c),'YEjyX':function(_0xca2159,_0x2f891b,_0x3e66d6){return _0xca2159(_0x2f891b,_0x3e66d6);}},_0x4c1eec={'event':'http_request','method':_0xee1fac[_0x1db6b3(0x219)],'path':_0xee1fac[_0x1db6b3(0x239)],'statusCode':_0x4b347f['statusCode'],'durationMs':_0x14a7bc,'ip':_0xee1fac['ip']},_0x313ba1=_0xee1fac['method']+'\x20'+_0xee1fac['path']+_0x1db6b3(0x1f5)+_0x4b347f['statusCode']+'\x20('+_0x14a7bc+_0x1db6b3(0x225);let _0xabf3d4='info';if(_0x2389c4['dhTbC'](_0x4b347f[_0x1db6b3(0x21c)],0x1f4))_0xabf3d4=_0x2389c4[_0x1db6b3(0x27a)],logger[_0x1db6b3(0x1d8)](_0x4c1eec,_0x313ba1);else _0x4b347f[_0x1db6b3(0x21c)]>=0x190?(_0xabf3d4=_0x2389c4['KnWYr'],logger['warn'](_0x4c1eec,_0x313ba1)):logger['info'](_0x4c1eec,_0x313ba1);_0x2389c4['YEjyX'](writeToFileLog,{..._0x4c1eec,'level':_0xabf3d4,'msg':_0x313ba1,'time':new Date()['toISOString']()},_0xabf3d4);},SENSITIVE_PARAM_PATTERNS=['password','passwd',a0_0x4624df(0x251),'token',a0_0x4624df(0x25d),a0_0x4624df(0x1ef),a0_0x4624df(0x1d5),'api_secret',a0_0x4624df(0x24b),a0_0x4624df(0x206),'credential',a0_0x4624df(0x264),a0_0x4624df(0x22f),a0_0x4624df(0x25c),a0_0x4624df(0x21e),'privatekey'],redactSensitiveParams=(_0x256b40,_0x2fc676)=>{const _0x4f25ce=a0_0x4624df,_0x5acfa6={'OZaPt':'[REDACTED]','wGCwz':'string','HINSf':function(_0x40017f,_0x4a3f2a){return _0x40017f===_0x4a3f2a;}};if(!_0x256b40||_0x5acfa6[_0x4f25ce(0x1fd)](_0x256b40[_0x4f25ce(0x236)],0x0))return _0x256b40;const _0x47bbe9=_0x2fc676[_0x4f25ce(0x24e)](),_0x192e6f=_0x47bbe9[_0x4f25ce(0x213)](/\(([^)]+)\)\s*values/i);let _0x1e9525=[];_0x192e6f&&(_0x1e9525=_0x192e6f[0x1]['split'](',')['map'](_0x33777a=>_0x33777a[_0x4f25ce(0x262)]()[_0x4f25ce(0x24e)]()));const _0x4d476f=_0x47bbe9['match'](/set\s+(.+?)(?:\s+where|$)/i);if(_0x4d476f){const _0x3bd170=_0x4d476f[0x1],_0x1c70ea=_0x3bd170['match'](/(\w+)\s*=/g);_0x1c70ea&&(_0x1e9525=_0x1c70ea['map'](_0x3b59a3=>_0x3b59a3['replace'](/\s*=/,'')[_0x4f25ce(0x262)]()[_0x4f25ce(0x24e)]()));}return _0x256b40[_0x4f25ce(0x20e)]((_0x49ba82,_0x144ce7)=>{const _0x4ae389=_0x4f25ce;if(_0x1e9525[_0x144ce7]){const _0xadf411=_0x1e9525[_0x144ce7],_0x3031a9=SENSITIVE_PARAM_PATTERNS['some'](_0x1e03eb=>_0xadf411['includes'](_0x1e03eb));if(_0x3031a9)return _0x5acfa6['OZaPt'];}if(typeof _0x49ba82===_0x5acfa6['wGCwz']&&_0x49ba82['length']>0x20){if(/^[a-zA-Z0-9+/=_.-]+$/[_0x4ae389(0x282)](_0x49ba82)&&_0x49ba82[_0x4ae389(0x1dc)]('.'))return _0x4ae389(0x280);if(/^[a-fA-F0-9]{32,}$/[_0x4ae389(0x282)](_0x49ba82))return _0x4ae389(0x21a);}return _0x49ba82;});},parseQueryMetadata=_0x10749e=>{const _0x4bcf6b=a0_0x4624df,_0x579ce6={'TbCNF':_0x4bcf6b(0x224),'iGNDL':'INSERT','ZakIe':'BEGIN','QuODE':_0x4bcf6b(0x22a),'KNhzK':_0x4bcf6b(0x26b),'edMuf':'ALTER','lEkKa':_0x4bcf6b(0x23a)},_0x3a0509=_0x10749e[_0x4bcf6b(0x262)](),_0xe26bfd=_0x3a0509['toUpperCase']();let _0x1e1dc5=_0x4bcf6b(0x1da),_0x139202=null;if(_0xe26bfd['startsWith'](_0x579ce6['TbCNF'])){_0x1e1dc5=_0x4bcf6b(0x224);const _0xf5e893=_0x3a0509['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x139202=_0xf5e893?_0xf5e893[0x1]:null;}else{if(_0xe26bfd[_0x4bcf6b(0x261)](_0x579ce6[_0x4bcf6b(0x223)])){_0x1e1dc5=_0x4bcf6b(0x256);const _0x4d8330=_0x3a0509['match'](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x139202=_0x4d8330?_0x4d8330[0x1]:null;}else{if(_0xe26bfd[_0x4bcf6b(0x261)](_0x4bcf6b(0x1ff))){_0x1e1dc5=_0x4bcf6b(0x1ff);const _0x2c9bc6=_0x3a0509['match'](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x139202=_0x2c9bc6?_0x2c9bc6[0x1]:null;}else{if(_0xe26bfd['startsWith'](_0x4bcf6b(0x1f9))){_0x1e1dc5='DELETE';const _0x1f47b3=_0x3a0509['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x139202=_0x1f47b3?_0x1f47b3[0x1]:null;}else{if(_0xe26bfd[_0x4bcf6b(0x261)](_0x579ce6[_0x4bcf6b(0x1df)])||_0xe26bfd['startsWith'](_0x4bcf6b(0x22d)))_0x1e1dc5='TRANSACTION_BEGIN';else{if(_0xe26bfd[_0x4bcf6b(0x261)]('COMMIT'))_0x1e1dc5=_0x579ce6['QuODE'];else{if(_0xe26bfd[_0x4bcf6b(0x261)](_0x579ce6[_0x4bcf6b(0x241)]))_0x1e1dc5='TRANSACTION_ROLLBACK';else{if(_0xe26bfd['startsWith']('CREATE'))_0x1e1dc5=_0x4bcf6b(0x24f);else{if(_0xe26bfd['startsWith'](_0x579ce6[_0x4bcf6b(0x232)]))_0x1e1dc5=_0x4bcf6b(0x27f);else _0xe26bfd[_0x4bcf6b(0x261)](_0x4bcf6b(0x1e5))&&(_0x1e1dc5=_0x579ce6['lEkKa']);}}}}}}}}return{'type':_0x1e1dc5,'table':_0x139202};},startQueryTimer=()=>{const _0x3061db={'CwSiO':function(_0x5aa22d,_0x3a237a){return _0x5aa22d*_0x3a237a;}},_0x4890e0=process['hrtime']();return()=>{const _0x1f3f71=a0_0x39a8,[_0x23d95d,_0x379fdb]=process['hrtime'](_0x4890e0);return parseFloat((_0x3061db['CwSiO'](_0x23d95d,0x3e8)+_0x379fdb/0xf4240)[_0x1f3f71(0x20d)](0x2));};},logQuery=(_0x5ec8fd,_0x2ec54a=[],_0x2fe8b9={})=>{const _0x210050=a0_0x4624df,_0x43cb41={'ptaYJ':function(_0x1c5f56,_0x4002ba){return _0x1c5f56(_0x4002ba);},'UyXPd':function(_0x5570c9,_0x4f9bb0){return _0x5570c9>_0x4f9bb0;},'SFujm':_0x210050(0x253),'oDBoe':function(_0x576f24,_0x5f3e1d){return _0x576f24!==_0x5f3e1d;},'AgvGG':function(_0x3cdddc,_0x1d151b){return _0x3cdddc>_0x1d151b;},'LNpsQ':'\x20[SLOW]','QstpC':_0x210050(0x24c),'fKsqZ':function(_0x9a9187,_0xead68a){return _0x9a9187===_0xead68a;},'pNmuL':'info','aDKiz':function(_0x323be8,_0x160ab2,_0x1af91a){return _0x323be8(_0x160ab2,_0x1af91a);}};if(!sqlLogEnabled){logger[_0x210050(0x1e0)]({'event':_0x210050(0x1d6),'query':_0x5ec8fd[_0x210050(0x275)](0x0,0xc8),'paramCount':_0x2ec54a[_0x210050(0x236)]},'DB\x20Query');return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType='postgresql'}=_0x2fe8b9,{type:_0xe9e6ed,table:_0x513049}=_0x43cb41['ptaYJ'](parseQueryMetadata,_0x5ec8fd),_0x13fdee={'event':_0x210050(0x284),'queryType':_0xe9e6ed,'table':_0x513049,'query':_0x5ec8fd,'paramCount':_0x2ec54a[_0x210050(0x236)],'dbType':dbType};sqlLogParams&&_0x2ec54a['length']>0x0&&(_0x13fdee[_0x210050(0x26a)]=redactSensitiveParams(_0x2ec54a,_0x5ec8fd));duration!==null&&(_0x13fdee['durationMs']=duration,_0x13fdee[_0x210050(0x22e)]=_0x43cb41['UyXPd'](duration,sqlLogSlowThreshold));rowsAffected!==null&&(_0x13fdee['rowsAffected']=rowsAffected);const _0x8dc00c=_0x513049||_0x43cb41['SFujm'];let _0x1c5759='['+_0xe9e6ed+']\x20'+_0x8dc00c;_0x43cb41['oDBoe'](duration,null)&&(_0x1c5759+='\x20('+duration+_0x210050(0x225));const _0x6f00ca=_0x43cb41['oDBoe'](duration,null)&&_0x43cb41[_0x210050(0x1d7)](duration,sqlLogSlowThreshold);let _0x12fc7f='debug';if(_0x6f00ca)_0x1c5759+=_0x43cb41[_0x210050(0x228)],_0x12fc7f=_0x43cb41[_0x210050(0x203)],logger['warn'](_0x13fdee,_0x1c5759);else _0x43cb41['fKsqZ'](sqlLogLevel,_0x43cb41['pNmuL'])?(_0x12fc7f=_0x43cb41['pNmuL'],logger[_0x210050(0x1e8)](_0x13fdee,_0x1c5759)):logger['debug'](_0x13fdee,_0x1c5759);_0x43cb41['aDKiz'](writeToFileLog,{..._0x13fdee,'level':_0x12fc7f,'msg':_0x1c5759,'time':new Date()['toISOString']()},_0x12fc7f);},logTransaction=(_0x5ce998,_0x54815e)=>{const _0x366229=a0_0x4624df,_0x34ca7d={'ZTEbu':'debug'},_0x5ab531={'event':'db_transaction','status':_0x5ce998,'queryCount':_0x54815e},_0x102421='Transaction\x20'+_0x5ce998;logger['debug'](_0x5ab531,_0x102421),writeToFileLog({..._0x5ab531,'level':_0x34ca7d['ZTEbu'],'msg':_0x102421,'time':new Date()[_0x366229(0x277)]()},_0x34ca7d['ZTEbu']);},redactObject=_0x16c9d9=>{const _0x123435=a0_0x4624df,_0x52506e={'kUEnX':_0x123435(0x1f4),'VNkQv':_0x123435(0x251),'YgPpM':_0x123435(0x240),'YOdqi':_0x123435(0x24d),'bHTBg':'credit_card','AgwEm':_0x123435(0x21e),'dRJqL':_0x123435(0x26e),'RkWTc':_0x123435(0x1ef),'IDVHP':_0x123435(0x25d),'aXLHM':'object','MDUHB':function(_0x4abb50,_0x2322b0){return _0x4abb50(_0x2322b0);}};if(!_0x16c9d9||typeof _0x16c9d9!==_0x123435(0x25b))return _0x16c9d9;const _0x136f87=['password',_0x52506e['kUEnX'],_0x52506e[_0x123435(0x233)],_0x52506e['YgPpM'],'secret','apikey','api_key',_0x52506e['YOdqi'],_0x123435(0x27b),_0x52506e[_0x123435(0x26d)],_0x123435(0x281),_0x123435(0x25a),'pin',_0x52506e['AgwEm'],_0x52506e[_0x123435(0x27d)],_0x52506e[_0x123435(0x237)],_0x52506e['IDVHP']],_0x2c10ef=Array['isArray'](_0x16c9d9)?[..._0x16c9d9]:{..._0x16c9d9};for(const _0x412f32 of Object['keys'](_0x2c10ef)){const _0x10ff1f=_0x412f32[_0x123435(0x24e)]();if(_0x136f87['some'](_0x834180=>_0x10ff1f['includes'](_0x834180)))_0x2c10ef[_0x412f32]='[REDACTED]';else typeof _0x2c10ef[_0x412f32]===_0x52506e['aXLHM']&&_0x2c10ef[_0x412f32]!==null&&(_0x2c10ef[_0x412f32]=_0x52506e['MDUHB'](redactObject,_0x2c10ef[_0x412f32]));}return _0x2c10ef;},logError=(_0x45a4cd,_0x5c9d01={},_0x592f8d=null)=>{const _0x5b3db8=a0_0x4624df,_0x533519={'flCEz':_0x5b3db8(0x1d8),'ezQHt':_0x5b3db8(0x1e2)},_0xd2066e={'event':_0x533519[_0x5b3db8(0x244)],'errorName':_0x45a4cd['name']||_0x533519[_0x5b3db8(0x1de)],'errorMessage':_0x45a4cd[_0x5b3db8(0x205)],'errorCode':_0x45a4cd['code']||null,'stack':_0x45a4cd[_0x5b3db8(0x1eb)],..._0x5c9d01},_0x2d8a15=_0x592f8d||_0x5b3db8(0x273)+_0x45a4cd['message'];logger[_0x5b3db8(0x1d8)](_0xd2066e,_0x2d8a15),writeToFileLog({..._0xd2066e,'level':_0x533519[_0x5b3db8(0x244)],'msg':_0x2d8a15,'time':new Date()[_0x5b3db8(0x277)]()},_0x533519[_0x5b3db8(0x244)]);},logFatalError=(_0x5ad36f,_0x21332f={},_0x7dab87=null)=>{const _0x1a2efb=a0_0x4624df,_0x49474b={'dtxza':_0x1a2efb(0x1e2),'rMVna':'fatal'},_0x425fe4={'event':'fatal_error','errorName':_0x5ad36f[_0x1a2efb(0x272)]||_0x49474b[_0x1a2efb(0x1ea)],'errorMessage':_0x5ad36f[_0x1a2efb(0x205)],'errorCode':_0x5ad36f['code']||null,'stack':_0x5ad36f['stack'],'severity':'CRITICAL',..._0x21332f},_0x31d5f3=_0x7dab87||'FATAL:\x20'+_0x5ad36f[_0x1a2efb(0x205)];logger['fatal'](_0x425fe4,_0x31d5f3),writeToFileLog({..._0x425fe4,'level':_0x49474b[_0x1a2efb(0x238)],'msg':_0x31d5f3,'time':new Date()[_0x1a2efb(0x277)]()},_0x1a2efb(0x1d8));},logHttpError=(_0x25fefa,_0x1ec53f,_0x48d0c6={})=>{const _0x439fd1=a0_0x4624df,_0x17ccae={'UhRWN':_0x439fd1(0x1e2),'CEFNf':function(_0x3f9465,_0x114f09){return _0x3f9465>=_0x114f09;},'ulEOB':_0x439fd1(0x24c)},_0x470d30={'event':_0x439fd1(0x217),'errorName':_0x25fefa['name']||_0x17ccae['UhRWN'],'errorMessage':_0x25fefa[_0x439fd1(0x205)],'errorCode':_0x25fefa[_0x439fd1(0x23b)]||_0x25fefa[_0x439fd1(0x21c)]||0x1f4,'stack':_0x25fefa['stack'],'method':_0x1ec53f?.[_0x439fd1(0x219)],'url':_0x1ec53f?.[_0x439fd1(0x1f2)]||_0x1ec53f?.['originalUrl'],'path':_0x1ec53f?.[_0x439fd1(0x239)],'ip':_0x1ec53f?.['ip']||_0x1ec53f?.[_0x439fd1(0x249)]?.[_0x439fd1(0x21b)],'userAgent':_0x1ec53f?.[_0x439fd1(0x260)]?.('user-agent'),'requestId':_0x1ec53f?.['id']||_0x1ec53f?.[_0x439fd1(0x231)]?.[_0x439fd1(0x243)],'body':_0x1ec53f?.['body']?redactObject(_0x1ec53f[_0x439fd1(0x1e6)]):undefined,'query':_0x1ec53f?.['query'],..._0x48d0c6},_0x18f3cd=_0x25fefa['statusCode']||_0x25fefa['status']||0x1f4,_0x2add88='HTTP\x20'+_0x18f3cd+':\x20'+_0x25fefa['message'];_0x17ccae['CEFNf'](_0x18f3cd,0x1f4)?logger[_0x439fd1(0x1d8)](_0x470d30,_0x2add88):logger[_0x439fd1(0x24c)](_0x470d30,_0x2add88),writeToFileLog({..._0x470d30,'level':_0x18f3cd>=0x1f4?_0x439fd1(0x1d8):_0x439fd1(0x24c),'msg':_0x2add88,'time':new Date()[_0x439fd1(0x277)]()},_0x18f3cd>=0x1f4?_0x439fd1(0x1d8):_0x17ccae['ulEOB']);},logUncaughtError=(_0xb6cf94,_0x33ab9e)=>{const _0x476fd3=a0_0x4624df,_0x24fe40={'ZjzrL':function(_0x2a695e,_0xc72d32){return _0x2a695e(_0xc72d32);},'CQfre':function(_0xf8716,_0x2a1393,_0x3079df){return _0xf8716(_0x2a1393,_0x3079df);},'ycqoc':_0x476fd3(0x22b)},_0x438657={'event':_0xb6cf94,'errorName':_0x33ab9e?.['name']||'Error','errorMessage':_0x33ab9e?.[_0x476fd3(0x205)]||_0x24fe40['ZjzrL'](String,_0x33ab9e),'errorCode':_0x33ab9e?.[_0x476fd3(0x23b)]||null,'stack':_0x33ab9e?.['stack'],'severity':_0x476fd3(0x1e7),'processId':process[_0x476fd3(0x27c)],'memoryUsage':process['memoryUsage'](),'uptime':process[_0x476fd3(0x267)]()},_0x27d2d8='['+_0xb6cf94['toUpperCase']()+']\x20'+(_0x33ab9e?.[_0x476fd3(0x205)]||_0x33ab9e);logger[_0x476fd3(0x22b)](_0x438657,_0x27d2d8),_0x24fe40['CQfre'](writeToFileLog,{..._0x438657,'level':_0x24fe40['ycqoc'],'msg':_0x27d2d8,'time':new Date()[_0x476fd3(0x277)]()},'error');},setupGlobalErrorHandlers=()=>{const _0x3fb2de=a0_0x4624df,_0x42cebf={'ddEqg':function(_0x518ee5,_0x31abf8){return _0x518ee5(_0x31abf8);},'tizAG':function(_0x1fe0dd,_0xe6c838,_0x1540d0){return _0x1fe0dd(_0xe6c838,_0x1540d0);},'MvKZT':_0x3fb2de(0x1fc),'xZeoA':'process_warning','byLIG':_0x3fb2de(0x202),'eNSqv':'global_error_handlers_setup','mzjDh':'Global\x20error\x20handlers\x20initialized','nVHSH':'info'};process['on'](_0x3fb2de(0x21f),_0x27cdda=>{logUncaughtError('uncaughtException',_0x27cdda),setTimeout(()=>{const _0x2ef478=a0_0x39a8;process[_0x2ef478(0x1d1)](0x1);},0x3e8);}),process['on'](_0x42cebf[_0x3fb2de(0x1e1)],(_0x5dbbaa,_0x228f27)=>{const _0x45a520=_0x3fb2de,_0x451b02=_0x5dbbaa instanceof Error?_0x5dbbaa:new Error(_0x42cebf['ddEqg'](String,_0x5dbbaa));_0x42cebf[_0x45a520(0x1d4)](logUncaughtError,_0x42cebf['MvKZT'],_0x451b02);}),process['on'](_0x42cebf['byLIG'],_0xb5d24a=>{const _0x47f3d6=_0x3fb2de;logger['warn']({'event':_0x42cebf[_0x47f3d6(0x250)],'name':_0xb5d24a[_0x47f3d6(0x272)],'message':_0xb5d24a[_0x47f3d6(0x205)],'stack':_0xb5d24a[_0x47f3d6(0x1eb)]},_0x47f3d6(0x1f0)+_0xb5d24a['message']);});const _0x10edde={'event':_0x42cebf['eNSqv']},_0x3e8b48=_0x42cebf['mzjDh'];logger['info'](_0x10edde,_0x3e8b48),writeToFileLog({..._0x10edde,'level':'info','msg':_0x3e8b48,'time':new Date()['toISOString']()},_0x42cebf['nVHSH']);},createErrorHandlerMiddleware=()=>{const _0x3dfab5=a0_0x4624df,_0x560ea7={'svNfM':function(_0x2018b7,_0x58971d){return _0x2018b7>=_0x58971d;},'bwhtL':_0x3dfab5(0x23c)};return(_0x58c410,_0x15bcda,_0xf9fda9,_0x409fb9)=>{const _0x558f78=_0x3dfab5;logHttpError(_0x58c410,_0x15bcda);const _0x445507=_0x58c410[_0x558f78(0x21c)]||_0x58c410['status']||0x1f4;_0xf9fda9['status'](_0x445507)['json']({'success':![],'error':_0x560ea7['svNfM'](_0x445507,0x1f4)?_0x560ea7[_0x558f78(0x1d3)]:_0x58c410['message'],'requestId':_0x15bcda['id']||_0x15bcda[_0x558f78(0x231)]?.['x-request-id']||null});};};module['exports']={'logger':logger,'createRequestLogger':createRequestLogger,'logServerStart':logServerStart,'logServerReady':logServerReady,'logProjectLoaded':logProjectLoaded,'logEndpointRegistered':logEndpointRegistered,'logDatabaseConfig':logDatabaseConfig,'logRequest':logRequest,'logQuery':logQuery,'logTransaction':logTransaction,'startQueryTimer':startQueryTimer,'parseQueryMetadata':parseQueryMetadata,'redactSensitiveParams':redactSensitiveParams,'initFileLogging':initFileLogging,'logError':logError,'logFatalError':logFatalError,'logHttpError':logHttpError,'logUncaughtError':logUncaughtError,'setupGlobalErrorHandlers':setupGlobalErrorHandlers,'createErrorHandlerMiddleware':createErrorHandlerMiddleware,'redactObject':redactObject,'SQL_LOG_CONFIG':{'enabled':sqlLogEnabled,'level':sqlLogLevel,'logParams':sqlLogParams,'slowThreshold':sqlLogSlowThreshold},'FILE_LOG_CONFIG':{'enabled':logToFile,'directory':logDir,'serviceName':serviceName}};
1
+ const a0_0x86cace=a0_0x42d9;(function(_0x507672,_0x584223){const _0x4f16cd=a0_0x42d9,_0x265e6a=_0x507672();while(!![]){try{const _0x39d828=-parseInt(_0x4f16cd(0x24a))/0x1+-parseInt(_0x4f16cd(0x1bf))/0x2*(parseInt(_0x4f16cd(0x261))/0x3)+-parseInt(_0x4f16cd(0x1ba))/0x4+parseInt(_0x4f16cd(0x1d0))/0x5*(parseInt(_0x4f16cd(0x228))/0x6)+parseInt(_0x4f16cd(0x22c))/0x7*(parseInt(_0x4f16cd(0x25c))/0x8)+-parseInt(_0x4f16cd(0x262))/0x9+parseInt(_0x4f16cd(0x230))/0xa*(parseInt(_0x4f16cd(0x216))/0xb);if(_0x39d828===_0x584223)break;else _0x265e6a['push'](_0x265e6a['shift']());}catch(_0x466c14){_0x265e6a['push'](_0x265e6a['shift']());}}}(a0_0x28e2,0x8dad3));const pino=require(a0_0x86cace(0x241)),fs=require('fs'),path=require('path');let logToFile=![],logDir='./logs',serviceName=a0_0x86cace(0x1bb),sqlLogEnabled=![],sqlLogLevel=a0_0x86cace(0x244),sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':a0_0x86cace(0x1ed),'ignore':a0_0x86cace(0x1e7),'singleLine':![],'levelFirst':!![],'messageFormat':a0_0x86cace(0x26d),'customColors':a0_0x86cace(0x205),'hideObject':!![]},isDevelopment=process['env'][a0_0x86cace(0x218)]!=='production',logLevel=process['env'][a0_0x86cace(0x1d5)]||'info';let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':'pino-pretty','options':prettyPrintOptions}:undefined,'base':{'service':a0_0x86cace(0x1bb),'version':process[a0_0x86cace(0x225)]['APP_VERSION']||a0_0x86cace(0x234),'env':process[a0_0x86cace(0x225)][a0_0x86cace(0x218)]||'development'},'timestamp':pino[a0_0x86cace(0x1db)]['isoTime'],'redact':{'paths':[a0_0x86cace(0x26e),a0_0x86cace(0x1f8),a0_0x86cace(0x268),'token','apiKey','DB_PASSWORD',a0_0x86cace(0x1f1)],'censor':'[REDACTED]'},'serializers':{'req':_0x1e32d8=>({'id':_0x1e32d8['id'],'method':_0x1e32d8[a0_0x86cace(0x276)],'url':_0x1e32d8[a0_0x86cace(0x1f4)],'path':_0x1e32d8[a0_0x86cace(0x217)],'remoteAddress':_0x1e32d8['ip']||_0x1e32d8[a0_0x86cace(0x245)]?.['remoteAddress']}),'res':_0x199f40=>({'statusCode':_0x199f40[a0_0x86cace(0x26a)],'headers':_0x199f40['getHeaders']?.()}),'err':pino[a0_0x86cace(0x21f)][a0_0x86cace(0x1b7)]}});function a0_0x28e2(){const _0xc26817=['EK5gAfu','Ahr0Cf9Yzxf1zxn0','y3z2','oeP1s2PNyG','te9hx0rjuG','rermx0rst1a','y3jLzgL0x2nHCMq','wLjVquG','mJq4odC2ngrws0nWyG','mti4ntq4ogDIu0PPua','yxbPA2v5','ywnJzxnZx3rVA2vU','D1LfzeK','A2rnzKm','DevJBxG','CgfZC3DVCMq','ANnVBG','C3rHDhvZq29Kzq','D3jPDgu','rKvfy1i','E21Zz30','CMvXlMHLywrLCNmUyxv0Ag9YAxPHDgLVBG','tMTHAwC','C2vYDMvYx3n0yxj0Aw5N','y3jLzgvUDgLHBhm','u0vsvKLdrv9oqu1f','q1jjveLdquW','vfjbtLnbq1rjt05FuK9mtejbq0S','u0vmrunu','Bwv0Ag9K','rgnQAMu','BwvZC2fNzq','BgvUz3rO','zxjY','C29Tzq','DxnLCG','odmYotzuvwTIwK4','CMvZDgzVCMDL','vfjXAfq','CMvWBgfJzq','CMvZB2X2zq','mMreCgLMqW','u1fmx0Xpr19ftKfcteve','AgvHzgvYCW','q3b5r3G','Bg9N','uLb6tue','BxmP','AwX5seS','Dw5JyxvNAhrfEgnLChrPB24','ic0G','C3rHCNrZv2L0Aa','B2jQzwn0','C3nU','D3H2Ceu','CgfKrw5K','Cg9YDa','CxvLCNK','otviEgXpwKu','rermx0fmvevs','DhjPBq','zw52AxjVBM1LBNq','yMfZzvvYBa','te9hx0XfvKvm','icbjBMzVoIaGia','q09ntuLu','Aw5JBhvKzxm','EwLgCuu','DgXlDuu','C3rKvgLTzuz1BMn0Aw9UCW','w1jfrefdvevexq','Ag9ZDa','yxbWlMXVzW','Ahj0Aw1L','qKPcu0i','Dg9ju09tDhjPBMC','zuLvy3O','Dxb0Aw1L','icbvuKW6icaGia','oI8V','tfHVANe','CgLKlgHVC3rUyw1LlhnLCNzPy2uSDMvYC2LVBIXLBNySzxzLBNqSBw9KDwXLlhbVCNqSy29UzMLNlgfWAuTLEuvUywjSzwqSCgf0AcX3B3jRAw5NrgLYlgLZugTNlgLZtM9KzvnJCMLWDcXMAwXLlgvTywLSlhr5CguSy29YCYXSB2DNAw5NlgfWAuTLEsXJB3vUDcXLBMrWB2LUDcXYB3v0zq','vvbeqvrf','Bvrkv3C','lI9SB2DZlW','rfjpua','zxHWB3j0CW','u1LtoKHioK1noNnZ','Bw9KDwXL','ChjPDMf0zv9RzxK','yuTPu1q','sLDux1nfq1jfva','EMfZEem','yM9KEq','DxjS','CM93C0fMzMvJDgvK','B3jPz2LUywXvCMW','CMvMCMvZAf90B2TLBG','CMvXlMHLywrLCNnBiNGTyxbPlwTLEsjD','t0T2DMO','y3jLzgL0y2fYza','rKX3t0e','DgvZDa','C3rYAw5NAwz5','ig9UihbVCNqG','y29Kzq','w09lxsbtzxj2zxiGCMvHzhKGB24GCg9YDca','qLreD0C','CMvWzwf0','AgvHBhrOq2HLy2S','C2HzqxC','Aw5MBZPIBhvLlhDHCM46EwvSBg93lgvYCM9YoNjLzcXKzwj1zZPNCMf5','ChjVAMvJDa','Dg9mB3DLCKnHC2u','D2Pfvwy','zxHPC3rZu3LUyW','C3rHy2S','y3nzwxe','ywjMwNi','ALDgu1i','uwT0qMS','Dejpz0i','zgjFCxvLCNK','D2fYBG','CMvTB3rLqwrKCMvZCW','rxjYB3i','wwnHC1q','Cg9ZDgDYzxnXBa','nZDrqMzYtNm','Cgf0Aa','tK9erv9ftLy','C3rYAw5N','rgvMyxvSDa','B1z3CeS','Ec1Yzxf1zxn0lwLK','BMLwyNG','zMf0ywW','C3rKu2vYAwfSAxPLCNm','vKfpzxe','vfjbtLnbq1rjt05Fq09ntuLu','Efr3ufe','Aw5MBW','wMvkrNC','zw52','C2vJCMv0','y3jLyxrLv3jPDgvtDhjLyw0','mJKYodeYv3nUterl','u1rbuLqGvfjbtLnbq1rjt04','uhjVy2vZCYbxyxjUAw5NoIa','D2DTDge','ndC2oti0tuzUtxzx','C2vYDMLJzuLUzM8','zxjYB3i','Dg9vChbLCKnHC2u','mJeYmdi2mgrquMXpqG','vMzLDwy','zMXVB3i','yxv0Ag9YAxPHDgLVBG','ms4WlJu','zgf0ywjHC2u','zhvYyxrPB25nCW','zxHPDa','iokvKqRILzeGienVBMzPzYaGicaGidOG','vvPsCMe','A2v5CW','z2Xwueu','BwfW','ChjPDMf0zwTLEq','DhLWzq','u1fmx0Xpr19qqvjbtvm','vfjbtLnbq1rjt05FqKvhsu4','CgLUBW','BeneBuO','zxjYB3iUBg9N','zgvIDwC','y29UBMvJDgLVBG','su5trvju','u3v1tgS','zgjFDhjHBNnHy3rPB24','ChjVy2vZC193yxjUAw5N','ota2mdaXCxzAAgD3','Bwf0y2G','icdIHPiG','Dhj1zq','CgLK','CMfJvwC','zMLSzv9SB2DNAw5Nx2vUywjSzwq','s0nnC0u','sunrqKO','C3rHDhvZ','BM9bB1G','te9hx1rpx0zjteu','CgfZC3DK','icbizwfSDgG6ia','C3vIC3rYAw5N'];a0_0x28e2=function(){return _0xc26817;};return a0_0x28e2();}function initFileLogging(){const _0x5eb635=a0_0x86cace,_0x4a25af={'lCDmJ':'restforge','ZeJFw':function(_0x376f14,_0x42ca65){return _0x376f14===_0x42ca65;},'lriiU':'debug','jWFSR':function(_0x51d20c,_0x2f1db6){return _0x51d20c!==_0x2f1db6;},'swBhx':'false','txvoe':function(_0x23d4d5,_0x333a39){return _0x23d4d5(_0x333a39);},'UZRra':'app.log','zasxC':'error.log'};if(fileLoggingInitialized)return;logToFile=process['env'][_0x5eb635(0x255)]===_0x5eb635(0x24d);const _0x2d4cb0=process['env']['RESTFORGE_PROJECT_NAME']||'default';logDir=process[_0x5eb635(0x225)][_0x5eb635(0x25d)]||_0x5eb635(0x1ea)+_0x2d4cb0,serviceName=process[_0x5eb635(0x225)][_0x5eb635(0x272)]||_0x4a25af[_0x5eb635(0x242)],sqlLogEnabled=_0x4a25af[_0x5eb635(0x224)](process[_0x5eb635(0x225)][_0x5eb635(0x1c0)],'true'),sqlLogLevel=process['env']['SQL_LOG_LEVEL']||_0x4a25af['lriiU'],sqlLogParams=_0x4a25af[_0x5eb635(0x20d)](process['env'][_0x5eb635(0x23f)],_0x4a25af['swBhx']),sqlLogSlowThreshold=_0x4a25af['txvoe'](parseInt,process['env']['SQL_LOG_SLOW_THRESHOLD'])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x5289c8=path[_0x5eb635(0x1be)](process['cwd'](),logDir);try{!fs[_0x5eb635(0x209)](_0x5289c8)&&fs['mkdirSync'](_0x5289c8,{'recursive':!![]});}catch(_0x4170ac){console['error']('Failed\x20to\x20create\x20log\x20directory\x20'+_0x5289c8+':',_0x4170ac[_0x5eb635(0x1b5)]),fileLoggingInitialized=!![];return;}const _0x2e6089=path['join'](_0x5289c8,_0x4a25af[_0x5eb635(0x239)]),_0x8ed7c1=path['join'](_0x5289c8,_0x4a25af[_0x5eb635(0x1f2)]);try{appLogStream=fs['createWriteStream'](_0x2e6089,{'flags':'a'}),errorLogStream=fs[_0x5eb635(0x227)](_0x8ed7c1,{'flags':'a'}),fileLoggingInitialized=!![];const _0x37c9a8={'event':_0x5eb635(0x250),'logDir':_0x5289c8,'files':[_0x5eb635(0x1de),_0x5eb635(0x243)]},_0x21858e='File\x20logging\x20enabled:\x20'+_0x5289c8;logger[_0x5eb635(0x223)](_0x37c9a8,_0x21858e),writeToFileLog({..._0x37c9a8,'level':'info','msg':_0x21858e,'time':new Date()[_0x5eb635(0x1e1)]()},'info');}catch(_0x6a1988){console['error']('Failed\x20to\x20create\x20log\x20streams:',_0x6a1988['message']),fileLoggingInitialized=!![];}}function a0_0x42d9(_0x2e9dff,_0x40e8ff){_0x2e9dff=_0x2e9dff-0x1b4;const _0x28e2e4=a0_0x28e2();let _0x42d928=_0x28e2e4[_0x2e9dff];if(a0_0x42d9['OtaJvR']===undefined){var _0x587075=function(_0x34ad21){const _0x5cdfd7='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xb6df5='',_0x324fea='';for(let _0x1c32d1=0x0,_0xf066c4,_0x14e6a5,_0x53c5b0=0x0;_0x14e6a5=_0x34ad21['charAt'](_0x53c5b0++);~_0x14e6a5&&(_0xf066c4=_0x1c32d1%0x4?_0xf066c4*0x40+_0x14e6a5:_0x14e6a5,_0x1c32d1++%0x4)?_0xb6df5+=String['fromCharCode'](0xff&_0xf066c4>>(-0x2*_0x1c32d1&0x6)):0x0){_0x14e6a5=_0x5cdfd7['indexOf'](_0x14e6a5);}for(let _0x5cd27c=0x0,_0x3f72b4=_0xb6df5['length'];_0x5cd27c<_0x3f72b4;_0x5cd27c++){_0x324fea+='%'+('00'+_0xb6df5['charCodeAt'](_0x5cd27c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x324fea);};a0_0x42d9['afKnHn']=_0x587075,a0_0x42d9['CorQuP']={},a0_0x42d9['OtaJvR']=!![];}const _0x5e3b43=_0x28e2e4[0x0],_0x4ca433=_0x2e9dff+_0x5e3b43,_0x23889b=a0_0x42d9['CorQuP'][_0x4ca433];return!_0x23889b?(_0x42d928=a0_0x42d9['afKnHn'](_0x42d928),a0_0x42d9['CorQuP'][_0x4ca433]=_0x42d928):_0x42d928=_0x23889b,_0x42d928;}function writeToFileLog(_0x4143c6,_0x3b7747){const _0x7e7714=a0_0x86cace,_0x276498={'wYEdI':function(_0x1738d5,_0x4d431b){return _0x1738d5||_0x4d431b;},'yFcMj':_0x7e7714(0x22e)};if(_0x276498[_0x7e7714(0x265)](!logToFile,!appLogStream))return;const _0x4784fe={'service':serviceName,..._0x4143c6},_0x1ef26b=JSON[_0x7e7714(0x1fd)](_0x4784fe)+'\x0a';appLogStream[_0x7e7714(0x26b)](_0x1ef26b),(_0x3b7747===_0x276498['yFcMj']||_0x3b7747===_0x7e7714(0x21e))&&(errorLogStream&&errorLogStream[_0x7e7714(0x26b)](_0x1ef26b));}const createRequestLogger=(_0x2b57d8={})=>{return logger['child'](_0x2b57d8);},logServerStart=_0x19461c=>{const _0x94b92d=a0_0x86cace,_0x4b1e68={'tzpmA':'RESTFORGE\x20RUNTIME\x20SERVER','KbDkL':function(_0x1338bc,_0x3ea3fa){return _0x1338bc-_0x3ea3fa;},'RGkaj':function(_0x203bcf,_0x4bf77a){return _0x203bcf-_0x4bf77a;},'nHnRE':'Node.js','qMdBA':'N/A','LXojq':_0x94b92d(0x21a),'yVqfd':'ACTIVE','niVbx':'NOT\x20ACTIVE','wjEUf':_0x94b92d(0x270),'VAOeq':function(_0x5e9f23,_0x621c79,_0xeab2dc){return _0x5e9f23(_0x621c79,_0xeab2dc);},'QNcxG':_0x94b92d(0x223)},_0xed38a4=_0x4b1e68['tzpmA'],_0x39faf6=Math['max'](0x0,_0x4b1e68['KbDkL'](0x37,_0xed38a4['length'])),_0x5a2a94=Math[_0x94b92d(0x232)](_0x39faf6/0x2),_0xc45ee=_0x4b1e68['RGkaj'](_0x39faf6,_0x5a2a94),_0x19c84d='║'+'\x20'[_0x94b92d(0x202)](_0x5a2a94)+_0xed38a4+'\x20'[_0x94b92d(0x202)](_0xc45ee)+'║',_0x20d48e='\x0a╔═══════════════════════════════════════════════════════╗\x0a'+_0x19c84d+'\x0a╠═══════════════════════════════════════════════════════╣\x0a║\x20\x20Environment\x20:\x20'+(_0x19461c[_0x94b92d(0x1d3)]||_0x4b1e68['nHnRE'])['padEnd'](0x26)+'\x20║\x0a║\x20\x20Project\x20\x20\x20\x20\x20:\x20'+(_0x19461c[_0x94b92d(0x206)]||_0x4b1e68['qMdBA'])[_0x94b92d(0x1cd)](0x26)+'\x20║\x0a║\x20\x20Port\x20\x20\x20\x20\x20\x20\x20\x20:\x20'+String(_0x19461c['port']||0xbb8)[_0x94b92d(0x1cd)](0x26)+_0x94b92d(0x238)+(_0x19461c['configFile']||_0x4b1e68[_0x94b92d(0x1e6)])[_0x94b92d(0x1cd)](0x26)+'\x20║\x0a║\x20\x20API\x20Key\x20\x20\x20\x20\x20:\x20'+(_0x19461c['apiKey']?_0x4b1e68['yVqfd']:_0x4b1e68[_0x94b92d(0x21d)])['padEnd'](0x26)+'\x20║\x0a╚═══════════════════════════════════════════════════════╝';console[_0x94b92d(0x1c3)](_0x20d48e);const _0x4bd219={'event':_0x4b1e68[_0x94b92d(0x208)],'project':_0x19461c['project'],'port':_0x19461c['port'],'config':_0x19461c['configFile'],'apiKeyEnabled':!!_0x19461c['apiKey']};logger[_0x94b92d(0x223)](_0x4bd219),_0x4b1e68[_0x94b92d(0x220)](writeToFileLog,{..._0x4bd219,'level':_0x94b92d(0x223),'msg':'Server\x20starting:\x20'+_0x19461c['project']+_0x94b92d(0x1fe)+_0x19461c['port'],'time':new Date()['toISOString']()},_0x4b1e68['QNcxG']);},logServerReady=_0x2cd003=>{const _0x33c06a=a0_0x86cace,_0x15aa9c={'HOgby':'server_ready'},_0x424e36={'event':_0x15aa9c['HOgby'],'port':_0x2cd003[_0x33c06a(0x1ce)],'module':_0x2cd003[_0x33c06a(0x1ee)],'healthCheck':_0x2cd003['healthCheck'],'serviceInfo':_0x2cd003[_0x33c06a(0x22d)],'baseUrl':_0x2cd003['baseUrl']},_0x34a5a6=_0x33c06a(0x200)+_0x2cd003[_0x33c06a(0x1ce)];logger['info'](_0x424e36,_0x34a5a6),writeToFileLog({..._0x424e36,'level':'info','msg':_0x34a5a6,'time':new Date()[_0x33c06a(0x1e1)]()},_0x33c06a(0x223)),_0x2cd003[_0x33c06a(0x203)]&&logger[_0x33c06a(0x223)](_0x33c06a(0x257)+_0x2cd003[_0x33c06a(0x203)]),_0x2cd003[_0x33c06a(0x22d)]&&logger['info'](_0x33c06a(0x1d6)+_0x2cd003['serviceInfo']),_0x2cd003[_0x33c06a(0x1d4)]&&logger[_0x33c06a(0x223)](_0x33c06a(0x1e4)+_0x2cd003['baseUrl']);},logProjectLoaded=(_0xefad2b,_0x3389e9)=>{const _0x1b4b68=a0_0x86cace,_0xe21c42={'Vfeuf':'project_loaded','BTDwG':_0x1b4b68(0x223)},_0x51738f={'event':_0xe21c42[_0x1b4b68(0x231)],'project':_0xefad2b,'path':_0x3389e9},_0x278c06='[OK]\x20Project\x20loaded:\x20'+_0xefad2b;logger[_0x1b4b68(0x223)](_0x51738f,_0x278c06),writeToFileLog({..._0x51738f,'level':_0xe21c42[_0x1b4b68(0x201)],'msg':_0x278c06,'time':new Date()['toISOString']()},_0xe21c42[_0x1b4b68(0x201)]);},logEndpointRegistered=(_0x23ae3b,_0x2bf9ec)=>{const _0xa7c45a=a0_0x86cace,_0x1803cc={'lAlyX':function(_0x5347e8,_0x42b5c1,_0x833db4){return _0x5347e8(_0x42b5c1,_0x833db4);},'CpyGx':_0xa7c45a(0x244)},_0x3f0d75={'event':'endpoint_registered','endpoint':_0x23ae3b,'route':_0x2bf9ec},_0x8f4103=_0xa7c45a(0x24c)+_0x23ae3b+':\x20'+_0x2bf9ec;logger['debug'](_0x3f0d75,_0x8f4103),_0x1803cc['lAlyX'](writeToFileLog,{..._0x3f0d75,'level':_0x1803cc[_0xa7c45a(0x1c2)],'msg':_0x8f4103,'time':new Date()['toISOString']()},_0xa7c45a(0x244));},logDatabaseConfig=_0x4b331d=>{const _0x240bfd=a0_0x86cace,_0x4f65cf={'PmBcr':'database_config','YcasT':_0x240bfd(0x244)},_0x447297={'event':_0x4f65cf['PmBcr'],'host':_0x4b331d[_0x240bfd(0x1dd)],'port':_0x4b331d['port'],'database':_0x4b331d[_0x240bfd(0x235)],'type':_0x4b331d[_0x240bfd(0x23e)],'user':_0x4b331d[_0x240bfd(0x1b9)]},_0x5b6c8d='Database:\x20'+_0x4b331d['type']+_0x240bfd(0x1e5)+_0x4b331d[_0x240bfd(0x1dd)]+':'+_0x4b331d['port']+'/'+_0x4b331d['database'];logger['debug'](_0x447297,_0x5b6c8d),writeToFileLog({..._0x447297,'level':_0x4f65cf[_0x240bfd(0x214)],'msg':_0x5b6c8d,'time':new Date()['toISOString']()},'debug');},logRequest=(_0x32f33d,_0x4f4b5e,_0x3e4814)=>{const _0x209a7c=a0_0x86cace,_0x6879f1={'dwlew':_0x209a7c(0x25a),'FYZOj':'info','RPzMA':_0x209a7c(0x22e),'csYYq':function(_0x234245,_0x589833){return _0x234245>=_0x589833;},'oVwpK':function(_0x39136b,_0xa70530,_0x1c7209){return _0x39136b(_0xa70530,_0x1c7209);}},_0x21cbe1={'event':_0x6879f1['dwlew'],'method':_0x32f33d['method'],'path':_0x32f33d[_0x209a7c(0x217)],'statusCode':_0x4f4b5e[_0x209a7c(0x26a)],'durationMs':_0x3e4814,'ip':_0x32f33d['ip']},_0x50a132=_0x32f33d[_0x209a7c(0x276)]+'\x20'+_0x32f33d['path']+_0x209a7c(0x1c8)+_0x4f4b5e['statusCode']+'\x20('+_0x3e4814+'ms)';let _0x4256ca=_0x6879f1['FYZOj'];if(_0x4f4b5e['statusCode']>=0x1f4)_0x4256ca=_0x6879f1[_0x209a7c(0x1c4)],logger['error'](_0x21cbe1,_0x50a132);else _0x6879f1[_0x209a7c(0x20b)](_0x4f4b5e[_0x209a7c(0x26a)],0x190)?(_0x4256ca='warn',logger['warn'](_0x21cbe1,_0x50a132)):logger[_0x209a7c(0x223)](_0x21cbe1,_0x50a132);_0x6879f1[_0x209a7c(0x21b)](writeToFileLog,{..._0x21cbe1,'level':_0x4256ca,'msg':_0x50a132,'time':new Date()[_0x209a7c(0x1e1)]()},_0x4256ca);},SENSITIVE_PARAM_PATTERNS=['password',a0_0x86cace(0x256),'pwd','token',a0_0x86cace(0x264),a0_0x86cace(0x1f7),'secret','api_secret','apikey','api_key','credential',a0_0x86cace(0x271),'pin','otp',a0_0x86cace(0x1ef),'privatekey'],redactSensitiveParams=(_0xded374,_0x23789c)=>{const _0x1e9cd9=a0_0x86cace,_0x278840={'shYAw':_0x1e9cd9(0x219),'xTwPQ':function(_0xc3abcf,_0x1a2791){return _0xc3abcf===_0x1a2791;}};if(!_0xded374||_0x278840[_0x1e9cd9(0x222)](_0xded374['length'],0x0))return _0xded374;const _0xcc4460=_0x23789c['toLowerCase'](),_0x205d79=_0xcc4460[_0x1e9cd9(0x24b)](/\(([^)]+)\)\s*values/i);let _0x2b3c91=[];_0x205d79&&(_0x2b3c91=_0x205d79[0x1]['split'](',')['map'](_0x216338=>_0x216338['trim']()[_0x1e9cd9(0x207)]()));const _0x43f25f=_0xcc4460['match'](/set\s+(.+?)(?:\s+where|$)/i);if(_0x43f25f){const _0x16f4a1=_0x43f25f[0x1],_0x5ea6b6=_0x16f4a1['match'](/(\w+)\s*=/g);_0x5ea6b6&&(_0x2b3c91=_0x5ea6b6[_0x1e9cd9(0x23c)](_0xf37132=>_0xf37132[_0x1e9cd9(0x1bd)](/\s*=/,'')[_0x1e9cd9(0x1d2)]()[_0x1e9cd9(0x207)]()));}return _0xded374['map']((_0x4eda40,_0x160037)=>{const _0xd2283a=_0x1e9cd9;if(_0x2b3c91[_0x160037]){const _0x3accbc=_0x2b3c91[_0x160037],_0x5f2850=SENSITIVE_PARAM_PATTERNS[_0xd2283a(0x1b8)](_0x5bc6ee=>_0x3accbc['includes'](_0x5bc6ee));if(_0x5f2850)return'[REDACTED]';}if(typeof _0x4eda40===_0x278840[_0xd2283a(0x204)]&&_0x4eda40['length']>0x20){if(/^[a-zA-Z0-9+/=_.-]+$/[_0xd2283a(0x1fc)](_0x4eda40)&&_0x4eda40[_0xd2283a(0x1d8)]('.'))return'[REDACTED:token]';if(/^[a-fA-F0-9]{32,}$/['test'](_0x4eda40))return'[REDACTED:hash]';}return _0x4eda40;});},parseQueryMetadata=_0x3eeb9d=>{const _0xea5428=a0_0x86cace,_0x7d92da={'MRezL':_0xea5428(0x275),'yjJgW':_0xea5428(0x246),'JygBf':'DELETE','qBbMn':_0xea5428(0x221),'racUg':'ROLLBACK','noAoX':_0xea5428(0x274),'ZRoAH':'ALTER'},_0x484314=_0x3eeb9d[_0xea5428(0x1d2)](),_0x5c49be=_0x484314[_0xea5428(0x22f)]();let _0x2a1994='UNKNOWN',_0x3eae6c=null;if(_0x5c49be[_0xea5428(0x1c9)]('SELECT')){_0x2a1994=_0x7d92da['MRezL'];const _0xb6f52a=_0x484314['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x3eae6c=_0xb6f52a?_0xb6f52a[0x1]:null;}else{if(_0x5c49be['startsWith'](_0xea5428(0x246))){_0x2a1994=_0x7d92da['yjJgW'];const _0x2b646f=_0x484314[_0xea5428(0x24b)](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x3eae6c=_0x2b646f?_0x2b646f[0x1]:null;}else{if(_0x5c49be[_0xea5428(0x1c9)](_0xea5428(0x1e8))){_0x2a1994=_0xea5428(0x1e8);const _0x31a4bf=_0x484314['match'](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x3eae6c=_0x31a4bf?_0x31a4bf[0x1]:null;}else{if(_0x5c49be['startsWith'](_0x7d92da['JygBf'])){_0x2a1994=_0x7d92da['JygBf'];const _0x3f3a95=_0x484314['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x3eae6c=_0x3f3a95?_0x3f3a95[0x1]:null;}else{if(_0x5c49be['startsWith']('BEGIN')||_0x5c49be['startsWith'](_0xea5428(0x229)))_0x2a1994=_0xea5428(0x240);else{if(_0x5c49be[_0xea5428(0x1c9)](_0xea5428(0x1d7)))_0x2a1994=_0x7d92da['qBbMn'];else{if(_0x5c49be['startsWith'](_0x7d92da[_0xea5428(0x24f)]))_0x2a1994=_0x7d92da[_0xea5428(0x254)];else{if(_0x5c49be[_0xea5428(0x1c9)]('CREATE'))_0x2a1994='DDL_CREATE';else{if(_0x5c49be[_0xea5428(0x1c9)](_0x7d92da[_0xea5428(0x260)]))_0x2a1994=_0xea5428(0x1d1);else _0x5c49be['startsWith'](_0xea5428(0x1eb))&&(_0x2a1994=_0xea5428(0x25e));}}}}}}}}return{'type':_0x2a1994,'table':_0x3eae6c};},startQueryTimer=()=>{const _0x9313e=a0_0x86cace,_0x15c1f2={'kYSFb':function(_0x419945,_0x5cd3d0){return _0x419945/_0x5cd3d0;}},_0x1406f6=process[_0x9313e(0x1df)]();return()=>{const _0x53dfb8=_0x9313e,[_0x1bbd48,_0x469ecd]=process[_0x53dfb8(0x1df)](_0x1406f6);return parseFloat((_0x1bbd48*0x3e8+_0x15c1f2['kYSFb'](_0x469ecd,0xf4240))['toFixed'](0x2));};},logQuery=(_0x28f84b,_0x1e7e40=[],_0x51d783={})=>{const _0x55998c=a0_0x86cace,_0x22bc43={'BZPIn':_0x55998c(0x210),'wgmta':'DB\x20Query','KCMsE':_0x55998c(0x215),'OKvvj':function(_0x41a327,_0x921636){return _0x41a327(_0x921636);},'QktBk':'sql_query','kdMfC':function(_0x23f9fa,_0x3739c0,_0x4c6171){return _0x23f9fa(_0x3739c0,_0x4c6171);},'glVPE':function(_0x3d4ace,_0x3f19d5){return _0x3d4ace!==_0x3f19d5;},'Nkaig':'unknown','ICQBJ':function(_0x1a1738,_0x1d54f8){return _0x1a1738!==_0x1d54f8;},'BLCmq':function(_0x39a33a,_0x1e96fc){return _0x39a33a>_0x1e96fc;},'dLqit':_0x55998c(0x244),'zBSKa':'\x20[SLOW]'};if(!sqlLogEnabled){logger['debug']({'event':_0x22bc43['BZPIn'],'query':_0x28f84b[_0x55998c(0x258)](0x0,0xc8),'paramCount':_0x1e7e40[_0x55998c(0x1b6)]},_0x22bc43[_0x55998c(0x22b)]);return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x22bc43[_0x55998c(0x251)]}=_0x51d783,{type:_0x4c3159,table:_0x246854}=_0x22bc43[_0x55998c(0x1f9)](parseQueryMetadata,_0x28f84b),_0x5a4d77={'event':_0x22bc43[_0x55998c(0x20e)],'queryType':_0x4c3159,'table':_0x246854,'query':_0x28f84b,'paramCount':_0x1e7e40[_0x55998c(0x1b6)],'dbType':dbType};sqlLogParams&&_0x1e7e40['length']>0x0&&(_0x5a4d77['params']=_0x22bc43[_0x55998c(0x266)](redactSensitiveParams,_0x1e7e40,_0x28f84b));_0x22bc43[_0x55998c(0x23b)](duration,null)&&(_0x5a4d77[_0x55998c(0x236)]=duration,_0x5a4d77['isSlow']=duration>sqlLogSlowThreshold);rowsAffected!==null&&(_0x5a4d77[_0x55998c(0x1f5)]=rowsAffected);const _0x562289=_0x246854||_0x22bc43[_0x55998c(0x26f)];let _0x4a0b26='['+_0x4c3159+']\x20'+_0x562289;_0x22bc43[_0x55998c(0x252)](duration,null)&&(_0x4a0b26+='\x20('+duration+_0x55998c(0x1c5));const _0x2a0dd7=duration!==null&&_0x22bc43['BLCmq'](duration,sqlLogSlowThreshold);let _0x408315=_0x22bc43['dLqit'];if(_0x2a0dd7)_0x4a0b26+=_0x22bc43['zBSKa'],_0x408315='warn',logger[_0x55998c(0x211)](_0x5a4d77,_0x4a0b26);else sqlLogLevel===_0x55998c(0x223)?(_0x408315='info',logger['info'](_0x5a4d77,_0x4a0b26)):logger['debug'](_0x5a4d77,_0x4a0b26);writeToFileLog({..._0x5a4d77,'level':_0x408315,'msg':_0x4a0b26,'time':new Date()[_0x55998c(0x1e1)]()},_0x408315);},logTransaction=(_0x4950ca,_0x5c383d)=>{const _0xef560=a0_0x86cace,_0x33422d={'SUwNk':_0xef560(0x248),'SuuLk':function(_0x537a92,_0x5c784b,_0x1f4957){return _0x537a92(_0x5c784b,_0x1f4957);},'abfZr':_0xef560(0x244)},_0x605d20={'event':_0x33422d['SUwNk'],'status':_0x4950ca,'queryCount':_0x5c383d},_0x591bcd='Transaction\x20'+_0x4950ca;logger[_0xef560(0x244)](_0x605d20,_0x591bcd),_0x33422d[_0xef560(0x247)](writeToFileLog,{..._0x605d20,'level':_0x33422d[_0xef560(0x20c)],'msg':_0x591bcd,'time':new Date()['toISOString']()},_0x33422d['abfZr']);},redactObject=_0x40f650=>{const _0x332317=a0_0x86cace,_0x46e3f3={'DeOkL':'passwd','wlFXP':_0x332317(0x263),'eIUcz':_0x332317(0x25f),'aKiST':_0x332317(0x25b),'FEEcR':'pin','tKCrl':_0x332317(0x23d),'TdFaN':'access_token','tlKuE':_0x332317(0x1dc),'mTJWw':function(_0x24ce26,_0x44eae4){return _0x24ce26!==_0x44eae4;},'NDEYK':function(_0x45ea8d,_0xd60477){return _0x45ea8d(_0xd60477);}};if(!_0x40f650||typeof _0x40f650!==_0x332317(0x1ca))return _0x40f650;const _0x1a7e12=['password',_0x46e3f3['DeOkL'],'pwd','token',_0x332317(0x226),_0x46e3f3['wlFXP'],'api_key',_0x332317(0x233),_0x332317(0x1fa),_0x46e3f3[_0x332317(0x1e2)],_0x46e3f3[_0x332317(0x1f0)],_0x332317(0x1cb),_0x46e3f3[_0x332317(0x26c)],'private_key',_0x46e3f3['tKCrl'],'refresh_token',_0x46e3f3['TdFaN']],_0x14a3b1=Array['isArray'](_0x40f650)?[..._0x40f650]:{..._0x40f650};for(const _0x15da56 of Object[_0x332317(0x23a)](_0x14a3b1)){const _0x460a27=_0x15da56[_0x332317(0x207)]();if(_0x1a7e12[_0x332317(0x1b8)](_0x9a84cf=>_0x460a27['includes'](_0x9a84cf)))_0x14a3b1[_0x15da56]=_0x46e3f3[_0x332317(0x1da)];else typeof _0x14a3b1[_0x15da56]===_0x332317(0x1ca)&&_0x46e3f3[_0x332317(0x1e9)](_0x14a3b1[_0x15da56],null)&&(_0x14a3b1[_0x15da56]=_0x46e3f3['NDEYK'](redactObject,_0x14a3b1[_0x15da56]));}return _0x14a3b1;},logError=(_0x5f4d03,_0x5771d4={},_0x257cd7=null)=>{const _0x52ad01=a0_0x86cace,_0xea70f8={'yiFqE':'Error','fMgEE':function(_0x1965c8,_0x2936a7,_0x12b60f){return _0x1965c8(_0x2936a7,_0x12b60f);},'AhwcX':_0x52ad01(0x22e)},_0xdd51b4={'event':_0x52ad01(0x22e),'errorName':_0x5f4d03['name']||_0xea70f8[_0x52ad01(0x1d9)],'errorMessage':_0x5f4d03[_0x52ad01(0x1b5)],'errorCode':_0x5f4d03[_0x52ad01(0x1ff)]||null,'stack':_0x5f4d03['stack'],..._0x5771d4},_0x484b1a=_0x257cd7||'Error:\x20'+_0x5f4d03['message'];logger['error'](_0xdd51b4,_0x484b1a),_0xea70f8['fMgEE'](writeToFileLog,{..._0xdd51b4,'level':'error','msg':_0x484b1a,'time':new Date()[_0x52ad01(0x1e1)]()},_0xea70f8['AhwcX']);},logFatalError=(_0x4c5767,_0x487d42={},_0x26935e=null)=>{const _0x2c16a7=a0_0x86cace,_0x4a3b6a={'yFJiX':_0x2c16a7(0x213),'TRqhT':'fatal','tEcmx':_0x2c16a7(0x22e)},_0x8a921e={'event':'fatal_error','errorName':_0x4c5767['name']||_0x4a3b6a['yFJiX'],'errorMessage':_0x4c5767['message'],'errorCode':_0x4c5767[_0x2c16a7(0x1ff)]||null,'stack':_0x4c5767[_0x2c16a7(0x20a)],'severity':_0x2c16a7(0x273),..._0x487d42},_0x1dd0aa=_0x26935e||'FATAL:\x20'+_0x4c5767[_0x2c16a7(0x1b5)];logger['fatal'](_0x8a921e,_0x1dd0aa),writeToFileLog({..._0x8a921e,'level':_0x4a3b6a[_0x2c16a7(0x1bc)],'msg':_0x1dd0aa,'time':new Date()[_0x2c16a7(0x1e1)]()},_0x4a3b6a[_0x2c16a7(0x267)]);},logHttpError=(_0x13d321,_0x1bdb29,_0xe47c2c={})=>{const _0x5f0d15=a0_0x86cace,_0x5b1cb9={'tBOgB':'Error','xYPXX':'x-request-id','BJBSB':function(_0x537238,_0xa2979d){return _0x537238>=_0xa2979d;},'wxvpE':'error'},_0x377830={'event':'http_error','errorName':_0x13d321['name']||_0x5b1cb9[_0x5f0d15(0x20f)],'errorMessage':_0x13d321['message'],'errorCode':_0x13d321[_0x5f0d15(0x1ff)]||_0x13d321[_0x5f0d15(0x26a)]||0x1f4,'stack':_0x13d321[_0x5f0d15(0x20a)],'method':_0x1bdb29?.[_0x5f0d15(0x276)],'url':_0x1bdb29?.[_0x5f0d15(0x1f4)]||_0x1bdb29?.[_0x5f0d15(0x1f6)],'path':_0x1bdb29?.['path'],'ip':_0x1bdb29?.['ip']||_0x1bdb29?.[_0x5f0d15(0x245)]?.[_0x5f0d15(0x212)],'userAgent':_0x1bdb29?.['get']?.('user-agent'),'requestId':_0x1bdb29?.['id']||_0x1bdb29?.[_0x5f0d15(0x1c1)]?.[_0x5b1cb9['xYPXX']],'body':_0x1bdb29?.[_0x5f0d15(0x1f3)]?redactObject(_0x1bdb29[_0x5f0d15(0x1f3)]):undefined,'query':_0x1bdb29?.[_0x5f0d15(0x1cf)],..._0xe47c2c},_0x2d9364=_0x13d321[_0x5f0d15(0x26a)]||_0x13d321[_0x5f0d15(0x253)]||0x1f4,_0x4b876a='HTTP\x20'+_0x2d9364+':\x20'+_0x13d321['message'];_0x5b1cb9['BJBSB'](_0x2d9364,0x1f4)?logger[_0x5f0d15(0x22e)](_0x377830,_0x4b876a):logger['warn'](_0x377830,_0x4b876a),writeToFileLog({..._0x377830,'level':_0x5b1cb9[_0x5f0d15(0x1e0)](_0x2d9364,0x1f4)?_0x5b1cb9[_0x5f0d15(0x1cc)]:'warn','msg':_0x4b876a,'time':new Date()[_0x5f0d15(0x1e1)]()},_0x2d9364>=0x1f4?_0x5b1cb9['wxvpE']:_0x5f0d15(0x211));},logUncaughtError=(_0x4f5dcb,_0x608a00)=>{const _0xea6f96=a0_0x86cace,_0x2e0541={'SpXpn':function(_0x3c5a4d,_0x1d8d20){return _0x3c5a4d(_0x1d8d20);}},_0x288578={'event':_0x4f5dcb,'errorName':_0x608a00?.['name']||'Error','errorMessage':_0x608a00?.[_0xea6f96(0x1b5)]||_0x2e0541['SpXpn'](String,_0x608a00),'errorCode':_0x608a00?.[_0xea6f96(0x1ff)]||null,'stack':_0x608a00?.['stack'],'severity':_0xea6f96(0x273),'processId':process[_0xea6f96(0x24e)],'memoryUsage':process['memoryUsage'](),'uptime':process[_0xea6f96(0x1e3)]()},_0x3c98e0='['+_0x4f5dcb[_0xea6f96(0x22f)]()+']\x20'+(_0x608a00?.[_0xea6f96(0x1b5)]||_0x608a00);logger[_0xea6f96(0x21e)](_0x288578,_0x3c98e0),writeToFileLog({..._0x288578,'level':_0xea6f96(0x21e),'msg':_0x3c98e0,'time':new Date()[_0xea6f96(0x1e1)]()},'error');},setupGlobalErrorHandlers=()=>{const _0x7df931=a0_0x86cace,_0x16eb8e={'GPbuy':function(_0x1ad111,_0x31396d){return _0x1ad111(_0x31396d);},'kFAZq':'unhandledRejection','zNFhU':_0x7df931(0x249),'kYQio':'warning','ilyHK':'global_error_handlers_setup','FLwOA':'Global\x20error\x20handlers\x20initialized'};process['on'](_0x7df931(0x1c7),_0xc6c773=>{logUncaughtError('uncaughtException',_0xc6c773),setTimeout(()=>{const _0x5c2467=a0_0x42d9;process[_0x5c2467(0x237)](0x1);},0x3e8);}),process['on']('unhandledRejection',(_0xd04575,_0x5b2676)=>{const _0x94e7e0=_0xd04575 instanceof Error?_0xd04575:new Error(_0x16eb8e['GPbuy'](String,_0xd04575));logUncaughtError(_0x16eb8e['kFAZq'],_0x94e7e0);}),process['on'](_0x16eb8e['kYQio'],_0xaf934a=>{const _0x15c73a=_0x7df931;logger['warn']({'event':_0x16eb8e[_0x15c73a(0x259)],'name':_0xaf934a['name'],'message':_0xaf934a['message'],'stack':_0xaf934a[_0x15c73a(0x20a)]},_0x15c73a(0x22a)+_0xaf934a[_0x15c73a(0x1b5)]);});const _0x2e9cce={'event':_0x16eb8e[_0x7df931(0x1c6)]},_0x52c57e=_0x16eb8e[_0x7df931(0x1fb)];logger['info'](_0x2e9cce,_0x52c57e),writeToFileLog({..._0x2e9cce,'level':_0x7df931(0x223),'msg':_0x52c57e,'time':new Date()['toISOString']()},_0x7df931(0x223));},createErrorHandlerMiddleware=()=>{const _0x42af1d=a0_0x86cace,_0x154fe9={'vZgWE':function(_0x28a2e6,_0x10836a,_0x4991ca){return _0x28a2e6(_0x10836a,_0x4991ca);},'ISyxt':function(_0x2accf7,_0x3466ee){return _0x2accf7>=_0x3466ee;},'Dcjje':'Internal\x20server\x20error','waMrL':_0x42af1d(0x21c)};return(_0x2d4e73,_0x5d1748,_0x5124eb,_0x7f3341)=>{const _0x5dc5f9=_0x42af1d;_0x154fe9['vZgWE'](logHttpError,_0x2d4e73,_0x5d1748);const _0x33690f=_0x2d4e73['statusCode']||_0x2d4e73[_0x5dc5f9(0x253)]||0x1f4;_0x5124eb[_0x5dc5f9(0x253)](_0x33690f)[_0x5dc5f9(0x269)]({'success':![],'error':_0x154fe9['ISyxt'](_0x33690f,0x1f4)?_0x154fe9[_0x5dc5f9(0x1b4)]:_0x2d4e73['message'],'requestId':_0x5d1748['id']||_0x5d1748['headers']?.[_0x154fe9['waMrL']]||null});};};module[a0_0x86cace(0x1ec)]={'logger':logger,'createRequestLogger':createRequestLogger,'logServerStart':logServerStart,'logServerReady':logServerReady,'logProjectLoaded':logProjectLoaded,'logEndpointRegistered':logEndpointRegistered,'logDatabaseConfig':logDatabaseConfig,'logRequest':logRequest,'logQuery':logQuery,'logTransaction':logTransaction,'startQueryTimer':startQueryTimer,'parseQueryMetadata':parseQueryMetadata,'redactSensitiveParams':redactSensitiveParams,'initFileLogging':initFileLogging,'logError':logError,'logFatalError':logFatalError,'logHttpError':logHttpError,'logUncaughtError':logUncaughtError,'setupGlobalErrorHandlers':setupGlobalErrorHandlers,'createErrorHandlerMiddleware':createErrorHandlerMiddleware,'redactObject':redactObject,'SQL_LOG_CONFIG':{'enabled':sqlLogEnabled,'level':sqlLogLevel,'logParams':sqlLogParams,'slowThreshold':sqlLogSlowThreshold},'FILE_LOG_CONFIG':{'enabled':logToFile,'directory':logDir,'serviceName':serviceName}};
@@ -1 +1 @@
1
- const a0_0x45ca78=a0_0x2e95;(function(_0x1364da,_0x32a4f2){const _0x2f3de6=a0_0x2e95,_0xd139e9=_0x1364da();while(!![]){try{const _0x588ce8=parseInt(_0x2f3de6(0x10c))/0x1+parseInt(_0x2f3de6(0xef))/0x2+parseInt(_0x2f3de6(0xf8))/0x3*(parseInt(_0x2f3de6(0x106))/0x4)+parseInt(_0x2f3de6(0x111))/0x5+-parseInt(_0x2f3de6(0xe9))/0x6+parseInt(_0x2f3de6(0xfb))/0x7+parseInt(_0x2f3de6(0x10a))/0x8*(-parseInt(_0x2f3de6(0xf6))/0x9);if(_0x588ce8===_0x32a4f2)break;else _0xd139e9['push'](_0xd139e9['shift']());}catch(_0x5075a2){_0xd139e9['push'](_0xd139e9['shift']());}}}(a0_0x4040,0x2f02d));const dbType=(process['env'][a0_0x45ca78(0xe8)]||'postgresql')[a0_0x45ca78(0x114)]();let executeQuery;if(dbType==='oracle'){const oracleDb=require('./db-oracle');executeQuery=(_0x39f024,_0x1b572d)=>oracleDb[a0_0x45ca78(0x113)](_0x39f024,_0x1b572d);}else{if(dbType==='mysql'){const mysqlDb=require(a0_0x45ca78(0xf3));executeQuery=(_0x57ce33,_0xf07185)=>mysqlDb['executeQuery'](_0x57ce33,_0xf07185);}else executeQuery=require('./db')['executeQuery'];}function a0_0x4040(){const _0x1d81ba=['mtu4ndG2mg50rMLdBa','Bg9HzeXVB2T1CfrHyMXL','zxHLy3v0zvf1zxj5','Dg9mB3DLCKnHC2u','tfjIu0u','C2XPy2u','y2XLyxi','wgzKv0G','ihzHBhvLkhmPig5VDcbMB3vUzcbPBIa','rejFvfLqrq','mte5mtm0mMzkwvrNua','zNjVBq','tg9VA3vWihrHyMXLigXVywrLzdOG','Bg9VA3vWq2fJAgu','CMvZB2X2zuXVB2T1CfzHBhvL','zxjYB3i','nJu4nZjKCK9xvLi','BgvUz3rO','DhjPBq','B3n4zhy','lI9KyI1TExnXBa','Aw5MBW','zu9crei','mZaZmdeYtfLzt2PS','zw50CMLLCW','mZm0nZD2BuPnEMe','lI9SB2DNzxi','z2v0','ndGXodG3BNfwqvPN','u0vmrunuia','tg9VA3vWigzPzwXKCYbWCM9JzxnZzwq','ChvZAa','v3f1z1K','Bg9VA3vWx3rHyMXLx2XVywrFzxjYB3i','BwvZC2fNzq','vMfSDwuGiG','AgfZ','zgvIDwC','C2v0','mtaWBMnUAMzA','tgTMuLC','tg9VA3vWignHy2HLignSzwfYzwq','Bg9VA3vWx2nHy2HLx2nSzwfYzwq','mtq0sK1hsgzx','zM9YrwfJAa','mJK5nde0z2Hnvg5s','Cu9yDei','A2v5CW','Bg9VA3vWx3rHyMXLx2XVywrLza','Dg9vChbLCKnHC2u'];a0_0x4040=function(){return _0x1d81ba;};return a0_0x4040();}const {logger}=require(a0_0x45ca78(0xf9));function a0_0x2e95(_0x3c743e,_0x5a5e77){_0x3c743e=_0x3c743e-0xe5;const _0x404091=a0_0x4040();let _0x2e9538=_0x404091[_0x3c743e];if(a0_0x2e95['ukhiTx']===undefined){var _0x1de840=function(_0x14946d){const _0xcde2ae='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4c58fd='',_0x3ebbf3='';for(let _0x1238ff=0x0,_0x2a268f,_0x2675de,_0x46b250=0x0;_0x2675de=_0x14946d['charAt'](_0x46b250++);~_0x2675de&&(_0x2a268f=_0x1238ff%0x4?_0x2a268f*0x40+_0x2675de:_0x2675de,_0x1238ff++%0x4)?_0x4c58fd+=String['fromCharCode'](0xff&_0x2a268f>>(-0x2*_0x1238ff&0x6)):0x0){_0x2675de=_0xcde2ae['indexOf'](_0x2675de);}for(let _0x144c0c=0x0,_0x5a1753=_0x4c58fd['length'];_0x144c0c<_0x5a1753;_0x144c0c++){_0x3ebbf3+='%'+('00'+_0x4c58fd['charCodeAt'](_0x144c0c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3ebbf3);};a0_0x2e95['uqfEKV']=_0x1de840,a0_0x2e95['PqDJkL']={},a0_0x2e95['ukhiTx']=!![];}const _0x10c765=_0x404091[0x0],_0x37429e=_0x3c743e+_0x10c765,_0x50a71a=a0_0x2e95['PqDJkL'][_0x37429e];return!_0x50a71a?(_0x2e9538=a0_0x2e95['uqfEKV'](_0x2e9538),a0_0x2e95['PqDJkL'][_0x37429e]=_0x2e9538):_0x2e9538=_0x50a71a,_0x2e9538;}class LookupResolver{constructor(){this['lookupCache']=new Map();}['clearCache'](){const _0x33d5ca=a0_0x45ca78,_0x2211f9={'aKIpg':_0x33d5ca(0x109),'TzZFL':_0x33d5ca(0x108)};this['lookupCache'][_0x33d5ca(0xe5)](),logger[_0x33d5ca(0x104)]({'event':_0x2211f9['aKIpg']},_0x2211f9['TzZFL']);}async[a0_0x45ca78(0x112)](_0xf1e04c,_0x2fde10,_0x448444){const _0x1202e6=a0_0x45ca78,_0x29b862={'yVAFN':function(_0xb9e373,_0x212ff5){return _0xb9e373!==_0x212ff5;},'ljikb':function(_0x52bf86,_0x2efdbe){return _0x52bf86!==_0x2efdbe;},'XfdWH':function(_0x58c246,_0x758e91){return _0x58c246(_0x758e91);}},_0x1b1393=_0xf1e04c+':'+_0x2fde10+':'+_0x448444;if(this[_0x1202e6(0xec)]['has'](_0x1b1393))return this[_0x1202e6(0xec)]['get'](_0x1b1393);try{const _0x1c18be=_0x1202e6(0xfc)+_0x448444+',\x20'+_0x2fde10+'\x20FROM\x20'+_0xf1e04c,_0x4b0ceb=await executeQuery(_0x1c18be),_0x21e55a=new Map();return _0x4b0ceb['forEach'](_0xd1411d=>{const _0x5de321=_0x1202e6,_0x4b29bd=_0xd1411d[_0x2fde10]!==undefined?_0xd1411d[_0x2fde10]:_0xd1411d[_0x2fde10[_0x5de321(0x110)]()],_0x346856=_0xd1411d[_0x448444]!==undefined?_0xd1411d[_0x448444]:_0xd1411d[_0x448444[_0x5de321(0x110)]()];_0x29b862['yVAFN'](_0x4b29bd,null)&&_0x29b862['ljikb'](_0x4b29bd,undefined)&&(_0x21e55a[_0x5de321(0x105)](String(_0x4b29bd)[_0x5de321(0x114)]()[_0x5de321(0xf1)](),_0x346856),_0x21e55a[_0x5de321(0x105)](_0x29b862[_0x5de321(0xe6)](String,_0x4b29bd)['trim'](),_0x346856));}),this[_0x1202e6(0xec)][_0x1202e6(0x105)](_0x1b1393,_0x21e55a),logger[_0x1202e6(0xf4)]({'event':_0x1202e6(0x10f),'table':_0xf1e04c,'column':_0x2fde10,'count':_0x4b0ceb['length']},_0x1202e6(0xeb)+_0xf1e04c),_0x21e55a;}catch(_0xad56bc){logger[_0x1202e6(0xee)]({'event':_0x1202e6(0x100),'table':_0xf1e04c,'error':_0xad56bc[_0x1202e6(0x101)]},'Failed\x20to\x20load\x20lookup\x20table:\x20'+_0xf1e04c);throw _0xad56bc;}}['resolveLookupValue'](_0x38dcd4,_0x17da52){const _0x548946=a0_0x45ca78,_0x3f23fb={'WqugY':function(_0x266273,_0x4a0b2d){return _0x266273===_0x4a0b2d;},'uWMvN':function(_0x42d506,_0x2479f1){return _0x42d506(_0x2479f1);}};if(_0x3f23fb[_0x548946(0xff)](_0x38dcd4,null)||_0x38dcd4===undefined||_0x38dcd4==='')return null;const _0x7a9fc5=_0x3f23fb['uWMvN'](String,_0x38dcd4)['trim']();if(_0x17da52['has'](_0x7a9fc5))return _0x17da52['get'](_0x7a9fc5);const _0x33107b=_0x7a9fc5[_0x548946(0x114)]();if(_0x17da52['has'](_0x33107b))return _0x17da52[_0x548946(0xfa)](_0x33107b);return null;}async['processLookupFields'](_0x7c18da,_0x49b89f){const _0x90ebae=a0_0x45ca78,_0x203b62={'osxdv':function(_0x3130d7,_0x2a9868){return _0x3130d7===_0x2a9868;},'xdyGD':function(_0x498c76,_0x2f7d17){return _0x498c76===_0x2f7d17;}};if(!_0x49b89f||Object[_0x90ebae(0x10e)](_0x49b89f)['length']===0x0)return{'processedRows':_0x7c18da,'errors':[]};const _0x4dd392=[],_0x229df8=new Map();for(const [_0x161ab9,_0xe45288]of Object[_0x90ebae(0xf7)](_0x49b89f)){const {lookupTable:_0x418d7f,lookupColumn:_0xf10445,lookupIdColumn:_0x3ed4ce}=_0xe45288,_0x1a5043=_0x418d7f+':'+_0xf10445+':'+_0x3ed4ce;if(!_0x229df8[_0x90ebae(0x103)](_0x1a5043)){const _0x53d3a9=await this['loadLookupTable'](_0x418d7f,_0xf10445,_0x3ed4ce);_0x229df8['set'](_0x1a5043,_0x53d3a9);}}const _0x53cbee=_0x7c18da['map']((_0x268839,_0xa068f7)=>{const _0x508331=_0x90ebae,_0x48385e={..._0x268839};for(const [_0x1c2a0e,_0x49b473]of Object[_0x508331(0xf7)](_0x49b89f)){const {lookupTable:_0x46eb09,lookupColumn:_0x542a93,lookupIdColumn:_0x15fb61,targetField:_0x390a46,required:_0x40b48e}=_0x49b473,_0x2fe312=_0x46eb09+':'+_0x542a93+':'+_0x15fb61,_0x47fbeb=_0x229df8['get'](_0x2fe312),_0x3910fb=_0x268839[_0x1c2a0e];if((_0x203b62[_0x508331(0xf2)](_0x3910fb,null)||_0x203b62['xdyGD'](_0x3910fb,undefined)||_0x203b62[_0x508331(0xf2)](_0x3910fb,''))&&!_0x40b48e){_0x48385e[_0x390a46]=null;continue;}const _0xba3a6c=this[_0x508331(0xed)](_0x3910fb,_0x47fbeb);_0xba3a6c!==null?_0x48385e[_0x390a46]=_0xba3a6c:(_0x40b48e&&_0x4dd392[_0x508331(0xfe)]({'rowIndex':_0xa068f7,'field':_0x1c2a0e,'value':_0x3910fb,'targetField':_0x390a46,'lookupTable':_0x46eb09,'message':_0x508331(0x102)+_0x3910fb+'\x22\x20not\x20found\x20in\x20'+_0x46eb09}),_0x48385e[_0x390a46]=null);}return _0x48385e;});return logger['info']({'event':'lookup_fields_processed','totalRows':_0x7c18da[_0x90ebae(0xf0)],'errorCount':_0x4dd392[_0x90ebae(0xf0)],'lookupFieldCount':Object[_0x90ebae(0x10e)](_0x49b89f)[_0x90ebae(0xf0)]},_0x90ebae(0xfd)),{'processedRows':_0x53cbee,'errors':_0x4dd392};}['getDistinctValues'](_0x338e62,_0x12dc41){const _0x5a8903=a0_0x45ca78,_0x45d03b={'LRbSE':function(_0x56d2d9,_0x5345f4){return _0x56d2d9!==_0x5345f4;},'LkfRW':function(_0x145654,_0x11a61a){return _0x145654!==_0x11a61a;},'YpxhK':function(_0x22d3c2,_0x2e7f9b){return _0x22d3c2(_0x2e7f9b);}},_0x1b9292=new Set();return _0x338e62['forEach'](_0x458070=>{const _0x4a87d7=a0_0x2e95,_0x461d38=_0x458070[_0x12dc41];_0x461d38!==null&&_0x45d03b[_0x4a87d7(0x115)](_0x461d38,undefined)&&_0x45d03b[_0x4a87d7(0x107)](_0x461d38,'')&&_0x1b9292['add'](_0x45d03b['YpxhK'](String,_0x461d38)[_0x4a87d7(0xf1)]());}),Array[_0x5a8903(0xea)](_0x1b9292);}async['validateLookupValues'](_0x56b38a,_0xbb7b67){const _0x90c50e=a0_0x45ca78,_0x9b5686={'eOBDB':function(_0x21cd0e,_0x5a18a0){return _0x21cd0e!==_0x5a18a0;},'qOXtB':function(_0x576193,_0x1dfa32){return _0x576193===_0x1dfa32;}};if(!_0xbb7b67||Object['keys'](_0xbb7b67)['length']===0x0)return{'valid':!![],'errors':[],'suggestions':{}};const _0x1a71a4=[],_0x1a0be8={};for(const [_0x4ea4e0,_0x586ef6]of Object['entries'](_0xbb7b67)){const {lookupTable:_0x4f360c,lookupColumn:_0x582731,lookupIdColumn:_0x3a9f05,required:_0x4e18d5}=_0x586ef6,_0x514ac7=this['getDistinctValues'](_0x56b38a,_0x4ea4e0),_0x22609b=await this['loadLookupTable'](_0x4f360c,_0x582731,_0x3a9f05),_0x163a4d=[],_0x466b4c=[];_0x514ac7['forEach'](_0x2107ff=>{const _0x339183=a0_0x2e95,_0x4c8885=this[_0x339183(0xed)](_0x2107ff,_0x22609b);_0x9b5686[_0x339183(0xf5)](_0x4c8885,null)?_0x466b4c['push'](_0x2107ff):_0x163a4d[_0x339183(0xfe)](_0x2107ff);});if(_0x163a4d[_0x90c50e(0xf0)]>0x0&&_0x4e18d5){_0x1a71a4[_0x90c50e(0xfe)]({'field':_0x4ea4e0,'lookupTable':_0x4f360c,'invalidValues':_0x163a4d,'message':_0x163a4d[_0x90c50e(0xf0)]+_0x90c50e(0xe7)+_0x4f360c});const _0x382b4e=[];_0x22609b[_0x90c50e(0x10b)]((_0x507083,_0x457921)=>{const _0x5b9b95=_0x90c50e;if(_0x457921===_0x457921[_0x5b9b95(0x114)]())return;_0x382b4e['push'](_0x457921);}),_0x1a0be8[_0x4ea4e0]={'invalidValues':_0x163a4d,'availableValues':_0x382b4e[_0x90c50e(0x116)](0x0,0x32)};}}return{'valid':_0x9b5686[_0x90c50e(0x10d)](_0x1a71a4[_0x90c50e(0xf0)],0x0),'errors':_0x1a71a4,'suggestions':_0x1a0be8};}}module['exports']=new LookupResolver();
1
+ const a0_0x489caa=a0_0x4ba9;(function(_0x56bc74,_0x1e45ca){const _0x2f18eb=a0_0x4ba9,_0x676515=_0x56bc74();while(!![]){try{const _0x4ae9e0=-parseInt(_0x2f18eb(0x18a))/0x1+parseInt(_0x2f18eb(0x19a))/0x2*(parseInt(_0x2f18eb(0x18e))/0x3)+-parseInt(_0x2f18eb(0x1a5))/0x4*(parseInt(_0x2f18eb(0x193))/0x5)+-parseInt(_0x2f18eb(0x19c))/0x6+-parseInt(_0x2f18eb(0x198))/0x7*(parseInt(_0x2f18eb(0x19b))/0x8)+parseInt(_0x2f18eb(0x1a1))/0x9+parseInt(_0x2f18eb(0x1a0))/0xa;if(_0x4ae9e0===_0x1e45ca)break;else _0x676515['push'](_0x676515['shift']());}catch(_0x234983){_0x676515['push'](_0x676515['shift']());}}}(a0_0x14ff,0xb6c01));const dbType=(process['env']['DB_TYPE']||a0_0x489caa(0x186))[a0_0x489caa(0x188)]();let executeQuery;if(dbType===a0_0x489caa(0x185)){const oracleDb=require('./db-oracle');executeQuery=(_0x42f68d,_0x347035)=>oracleDb[a0_0x489caa(0x1a6)](_0x42f68d,_0x347035);}else{if(dbType===a0_0x489caa(0x195)){const mysqlDb=require('./db-mysql');executeQuery=(_0x371393,_0x140119)=>mysqlDb[a0_0x489caa(0x1a6)](_0x371393,_0x140119);}else executeQuery=require('./db')['executeQuery'];}function a0_0x14ff(){const _0x524d11=['ChvZAa','BgvUz3rO','B3jHy2XL','Cg9ZDgDYzxnXBa','A2v5CW','Dg9mB3DLCKnHC2u','tg9VA3vWihrHyMXLigXVywrLzdOG','ndaYnte0uxnMwwrj','C1ngEg4','rMfPBgvKihrVigXVywqGBg9VA3vWihrHyMXLoIa','Bg9VA3vWx3rHyMXLx2XVywrLza','mtKYwvv2EfnM','Bg9HzeXVB2T1CfrHyMXL','BwvZC2fNzq','lI9SB2DNzxi','Aw5MBW','mtaXmgvjq29tua','CfPduhm','BxLZCwW','ihzHBhvLkhmPig5VDcbMB3vUzcbPBIa','Dg9vChbLCKnHC2u','mZG5mJbLzuLRExy','vMfSDwuGiG','oteYnKTHsePQsW','mJu2rvvHr25x','mtG1ndaXmK10DhfmuW','Bg9VA3vWx2zPzwXKC19WCM9JzxnZzwq','zw50CMLLCW','y2XLyxi','mteYnJi3ntb1sun1zeK','nJe5mZaWoeXxvLH6ta','zxHWB3j0CW','z2v0rgLZDgLUy3rwywX1zxm','EuPSvuG','oti3nMPps3LguG','zxHLy3v0zvf1zxj5','DhjPBq','BwfW','C2v0','y2XLyxjdywnOzq','zgvIDwC','z2v0','zM9YrwfJAa','Du5qy0S','CMvZB2X2zuXVB2T1CfzHBhvL','we5wrLG','DMfSAwrHDgvmB29RDxbwywX1zxm','u0vmrunuia','iIbUB3qGzM91BMqGAw4G','AgfZ','zxjYB3i','A0T1u0q','Bg9VA3vWq2fJAgu','tg9VA3vWigzPzwXKCYbWCM9JzxnZzwq'];a0_0x14ff=function(){return _0x524d11;};return a0_0x14ff();}const {logger}=require(a0_0x489caa(0x191));class LookupResolver{constructor(){const _0x4f5b43=a0_0x489caa;this[_0x4f5b43(0x181)]=new Map();}[a0_0x489caa(0x1aa)](){const _0x2dde10=a0_0x489caa;this[_0x2dde10(0x181)][_0x2dde10(0x19f)](),logger[_0x2dde10(0x1ab)]({'event':'lookup_cache_cleared'},'Lookup\x20cache\x20cleared');}async[a0_0x489caa(0x18f)](_0x7c210,_0x17d1fe,_0x30b932){const _0x4ce529=a0_0x489caa,_0x232974={'FiVcf':function(_0xbc4fed,_0x15e398){return _0xbc4fed!==_0x15e398;},'kKuSD':function(_0x3457fd,_0x39cc14){return _0x3457fd!==_0x39cc14;},'meDNI':function(_0x3670b9,_0x45b4d8){return _0x3670b9(_0x45b4d8);},'frYIa':_0x4ce529(0x18d)},_0x3cd1c3=_0x7c210+':'+_0x17d1fe+':'+_0x30b932;if(this[_0x4ce529(0x181)][_0x4ce529(0x1b4)](_0x3cd1c3))return this['lookupCache'][_0x4ce529(0x1ac)](_0x3cd1c3);try{const _0x15636c=_0x4ce529(0x1b2)+_0x30b932+',\x20'+_0x17d1fe+'\x20FROM\x20'+_0x7c210,_0x4df713=await executeQuery(_0x15636c),_0x47648a=new Map();return _0x4df713['forEach'](_0x5432f8=>{const _0x41fe6e=_0x4ce529,_0x473e4f=_0x232974['FiVcf'](_0x5432f8[_0x17d1fe],undefined)?_0x5432f8[_0x17d1fe]:_0x5432f8[_0x17d1fe[_0x41fe6e(0x197)]()],_0x93cfb5=_0x232974[_0x41fe6e(0x180)](_0x5432f8[_0x30b932],undefined)?_0x5432f8[_0x30b932]:_0x5432f8[_0x30b932['toUpperCase']()];_0x473e4f!==null&&_0x473e4f!==undefined&&(_0x47648a['set'](String(_0x473e4f)[_0x41fe6e(0x188)]()['trim'](),_0x93cfb5),_0x47648a[_0x41fe6e(0x1a9)](_0x232974['meDNI'](String,_0x473e4f)['trim'](),_0x93cfb5));}),this['lookupCache'][_0x4ce529(0x1a9)](_0x3cd1c3,_0x47648a),logger[_0x4ce529(0x192)]({'event':_0x232974['frYIa'],'table':_0x7c210,'column':_0x17d1fe,'count':_0x4df713['length']},_0x4ce529(0x189)+_0x7c210),_0x47648a;}catch(_0x12f6dd){logger[_0x4ce529(0x17f)]({'event':'lookup_table_load_error','table':_0x7c210,'error':_0x12f6dd[_0x4ce529(0x190)]},_0x4ce529(0x18c)+_0x7c210);throw _0x12f6dd;}}['resolveLookupValue'](_0x17b884,_0x5033bc){const _0x4ca39d=a0_0x489caa,_0x1a8fe4={'uNPcK':function(_0x3b49e1,_0xa06726){return _0x3b49e1===_0xa06726;},'qfjeE':function(_0x5ca71e,_0x352fa0){return _0x5ca71e===_0x352fa0;}};if(_0x17b884===null||_0x1a8fe4[_0x4ca39d(0x1ae)](_0x17b884,undefined)||_0x1a8fe4['qfjeE'](_0x17b884,''))return null;const _0x345ad6=String(_0x17b884)['trim']();if(_0x5033bc[_0x4ca39d(0x1b4)](_0x345ad6))return _0x5033bc['get'](_0x345ad6);const _0x55808e=_0x345ad6[_0x4ca39d(0x188)]();if(_0x5033bc['has'](_0x55808e))return _0x5033bc[_0x4ca39d(0x1ac)](_0x55808e);return null;}async['processLookupFields'](_0x225b05,_0x11b6a4){const _0x2d2e1d=a0_0x489caa,_0xbaf5da={'wWYtm':function(_0x23b762,_0x3290ff){return _0x23b762===_0x3290ff;},'pZCPs':function(_0x48b11a,_0x18d7da){return _0x48b11a===_0x18d7da;},'vBDQe':_0x2d2e1d(0x19d)};if(!_0x11b6a4||_0xbaf5da['pZCPs'](Object[_0x2d2e1d(0x187)](_0x11b6a4)['length'],0x0))return{'processedRows':_0x225b05,'errors':[]};const _0x199d79=[],_0x265ccd=new Map();for(const [_0x3a096a,_0x588e20]of Object[_0x2d2e1d(0x19e)](_0x11b6a4)){const {lookupTable:_0x54d7f3,lookupColumn:_0x2e3bba,lookupIdColumn:_0xaa8a9c}=_0x588e20,_0x140632=_0x54d7f3+':'+_0x2e3bba+':'+_0xaa8a9c;if(!_0x265ccd[_0x2d2e1d(0x1b4)](_0x140632)){const _0x13f94e=await this[_0x2d2e1d(0x18f)](_0x54d7f3,_0x2e3bba,_0xaa8a9c);_0x265ccd['set'](_0x140632,_0x13f94e);}}const _0x3f5955=_0x225b05[_0x2d2e1d(0x1a8)]((_0x2ac054,_0x2cfed6)=>{const _0x290ef9=_0x2d2e1d,_0x19b872={..._0x2ac054};for(const [_0x4e4638,_0x534b4b]of Object[_0x290ef9(0x19e)](_0x11b6a4)){const {lookupTable:_0x3decac,lookupColumn:_0xf3b9dc,lookupIdColumn:_0xbd4b5f,targetField:_0x432d74,required:_0x338895}=_0x534b4b,_0x17f730=_0x3decac+':'+_0xf3b9dc+':'+_0xbd4b5f,_0x36c18a=_0x265ccd[_0x290ef9(0x1ac)](_0x17f730),_0x4e03dd=_0x2ac054[_0x4e4638];if((_0xbaf5da['wWYtm'](_0x4e03dd,null)||_0xbaf5da[_0x290ef9(0x194)](_0x4e03dd,undefined)||_0x4e03dd==='')&&!_0x338895){_0x19b872[_0x432d74]=null;continue;}const _0x14c8b4=this['resolveLookupValue'](_0x4e03dd,_0x36c18a);_0x14c8b4!==null?_0x19b872[_0x432d74]=_0x14c8b4:(_0x338895&&_0x199d79[_0x290ef9(0x183)]({'rowIndex':_0x2cfed6,'field':_0x4e4638,'value':_0x4e03dd,'targetField':_0x432d74,'lookupTable':_0x3decac,'message':_0x290ef9(0x199)+_0x4e03dd+_0x290ef9(0x1b3)+_0x3decac}),_0x19b872[_0x432d74]=null);}return _0x19b872;});return logger[_0x2d2e1d(0x192)]({'event':_0xbaf5da['vBDQe'],'totalRows':_0x225b05[_0x2d2e1d(0x184)],'errorCount':_0x199d79[_0x2d2e1d(0x184)],'lookupFieldCount':Object[_0x2d2e1d(0x187)](_0x11b6a4)['length']},_0x2d2e1d(0x182)),{'processedRows':_0x3f5955,'errors':_0x199d79};}[a0_0x489caa(0x1a3)](_0xdd2f88,_0x43790e){const _0x7e5f07=a0_0x489caa,_0x4cc992={'qJPpg':function(_0x1f3f95,_0xe3a364){return _0x1f3f95!==_0xe3a364;},'yJlUH':function(_0xc8d836,_0x5871b5){return _0xc8d836(_0x5871b5);}},_0x1acb64=new Set();return _0xdd2f88[_0x7e5f07(0x1ad)](_0x163a9d=>{const _0xb37f4c=_0x7e5f07,_0x5b3395=_0x163a9d[_0x43790e];_0x5b3395!==null&&_0x4cc992['qJPpg'](_0x5b3395,undefined)&&_0x5b3395!==''&&_0x1acb64['add'](_0x4cc992[_0xb37f4c(0x1a4)](String,_0x5b3395)[_0xb37f4c(0x1a7)]());}),Array['from'](_0x1acb64);}async[a0_0x489caa(0x1b1)](_0x3c97e6,_0x1baeea){const _0x27698d=a0_0x489caa,_0x35d431={'HGRFR':function(_0x4e1a4c,_0x44148c){return _0x4e1a4c!==_0x44148c;},'XNVFX':function(_0x36b80f,_0x183163){return _0x36b80f===_0x183163;},'sSFxn':function(_0x404884,_0x2cd140){return _0x404884>_0x2cd140;}};if(!_0x1baeea||Object[_0x27698d(0x187)](_0x1baeea)['length']===0x0)return{'valid':!![],'errors':[],'suggestions':{}};const _0x4bfa49=[],_0x10976c={};for(const [_0x442d0b,_0x3a66db]of Object[_0x27698d(0x19e)](_0x1baeea)){const {lookupTable:_0x3476d1,lookupColumn:_0x541197,lookupIdColumn:_0x1a5809,required:_0x35adee}=_0x3a66db,_0x4da96f=this[_0x27698d(0x1a3)](_0x3c97e6,_0x442d0b),_0x2944fc=await this[_0x27698d(0x18f)](_0x3476d1,_0x541197,_0x1a5809),_0x2fb053=[],_0x92aa6d=[];_0x4da96f[_0x27698d(0x1ad)](_0xef3dcb=>{const _0x5a431f=_0x27698d,_0xa2a1af=this[_0x5a431f(0x1af)](_0xef3dcb,_0x2944fc);_0x35d431['HGRFR'](_0xa2a1af,null)?_0x92aa6d['push'](_0xef3dcb):_0x2fb053[_0x5a431f(0x183)](_0xef3dcb);});if(_0x35d431[_0x27698d(0x18b)](_0x2fb053[_0x27698d(0x184)],0x0)&&_0x35adee){_0x4bfa49['push']({'field':_0x442d0b,'lookupTable':_0x3476d1,'invalidValues':_0x2fb053,'message':_0x2fb053[_0x27698d(0x184)]+_0x27698d(0x196)+_0x3476d1});const _0x375937=[];_0x2944fc[_0x27698d(0x1ad)]((_0x4c908d,_0x7144e4)=>{const _0x2d2bd1=_0x27698d;if(_0x35d431[_0x2d2bd1(0x1b0)](_0x7144e4,_0x7144e4[_0x2d2bd1(0x188)]()))return;_0x375937['push'](_0x7144e4);}),_0x10976c[_0x442d0b]={'invalidValues':_0x2fb053,'availableValues':_0x375937['slice'](0x0,0x32)};}}return{'valid':_0x35d431['XNVFX'](_0x4bfa49[_0x27698d(0x184)],0x0),'errors':_0x4bfa49,'suggestions':_0x10976c};}}function a0_0x4ba9(_0x4f30a8,_0x456d4f){_0x4f30a8=_0x4f30a8-0x17f;const _0x14ff03=a0_0x14ff();let _0x4ba95b=_0x14ff03[_0x4f30a8];if(a0_0x4ba9['FKBsER']===undefined){var _0x1ce741=function(_0x181bfc){const _0x697539='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4425a3='',_0x5afad0='';for(let _0x372f0d=0x0,_0x134334,_0x2b9d80,_0x4ecba0=0x0;_0x2b9d80=_0x181bfc['charAt'](_0x4ecba0++);~_0x2b9d80&&(_0x134334=_0x372f0d%0x4?_0x134334*0x40+_0x2b9d80:_0x2b9d80,_0x372f0d++%0x4)?_0x4425a3+=String['fromCharCode'](0xff&_0x134334>>(-0x2*_0x372f0d&0x6)):0x0){_0x2b9d80=_0x697539['indexOf'](_0x2b9d80);}for(let _0x26413e=0x0,_0x264857=_0x4425a3['length'];_0x26413e<_0x264857;_0x26413e++){_0x5afad0+='%'+('00'+_0x4425a3['charCodeAt'](_0x26413e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5afad0);};a0_0x4ba9['lxweOf']=_0x1ce741,a0_0x4ba9['RmTMaA']={},a0_0x4ba9['FKBsER']=!![];}const _0x15d788=_0x14ff03[0x0],_0x36543b=_0x4f30a8+_0x15d788,_0x2f7ba7=a0_0x4ba9['RmTMaA'][_0x36543b];return!_0x2f7ba7?(_0x4ba95b=a0_0x4ba9['lxweOf'](_0x4ba95b),a0_0x4ba9['RmTMaA'][_0x36543b]=_0x4ba95b):_0x4ba95b=_0x2f7ba7,_0x4ba95b;}module[a0_0x489caa(0x1a2)]=new LookupResolver();
@@ -1 +1 @@
1
- const a0_0x4be2c9=a0_0x252b;(function(_0x17fe3e,_0x4f3696){const _0xc6f779=a0_0x252b,_0xa25c9f=_0x17fe3e();while(!![]){try{const _0x1f8ec0=parseInt(_0xc6f779(0x129))/0x1*(parseInt(_0xc6f779(0x12e))/0x2)+parseInt(_0xc6f779(0x120))/0x3*(-parseInt(_0xc6f779(0x11f))/0x4)+parseInt(_0xc6f779(0x122))/0x5*(-parseInt(_0xc6f779(0x136))/0x6)+-parseInt(_0xc6f779(0x13d))/0x7+-parseInt(_0xc6f779(0x133))/0x8*(-parseInt(_0xc6f779(0x13c))/0x9)+-parseInt(_0xc6f779(0x139))/0xa+parseInt(_0xc6f779(0x12f))/0xb*(parseInt(_0xc6f779(0x135))/0xc);if(_0x1f8ec0===_0x4f3696)break;else _0xa25c9f['push'](_0xa25c9f['shift']());}catch(_0x4216bd){_0xa25c9f['push'](_0xa25c9f['shift']());}}}(a0_0xce40,0xaefdd));function a0_0xce40(){const _0x43f30f=['mJiWofbcweTTrq','mty1uxHXv3zX','Cgf5Bg9Hzf9SB2fKx2vYCM9Y','DgfIBgvoyw1L','BwvZC2fNzq','ntq0odHXvhbuAeS','ywn0Aw9U','ntq3odm2CK5Ky2P0','odrIChnfCfe','Cgf5Bg9HzerPCG','Cgf5Bg9Hzf9JywnOzv9JBgvHCMvK','ode3ndm2mgfnvwfNCW','C25ou2i','Bg9HzfbHEwXVywq','mtqXm1zHvKT4vW','mZu1ody1m0jRs1HMwq','Bg9HzfbHEwXVywrcEu5HBwu','CMvWBgfJzq','lMPZB24','z0ztzMu','Cgf5Bg9Hzf9SB2fKzwq','y2XLyxi','rMfPBgvKihrVigXVywqGCgf5Bg9Hza','C2v0','r0jiEeS','mJHnELfwDgW','ndK5nZrJsKniz2i','zMLLBgroyw1L','mteXnJiWwNbhCNzu','v2DcBMO','lwv4Cg9YDa','ChjVBwLZzxm','ugf5Bg9HzcbJywnOzsbJBgvHCMvK','y2fJAgu','Cu1xC0y','nJuWsuLzB0L4','CgfYC2u','AM9PBG','Cgf0Aa','z2v0'];a0_0xce40=function(){return _0x43f30f;};return a0_0xce40();}function a0_0x252b(_0x351189,_0x223499){_0x351189=_0x351189-0x119;const _0xce4064=a0_0xce40();let _0x252bac=_0xce4064[_0x351189];if(a0_0x252b['mLLYtJ']===undefined){var _0x15bd4b=function(_0x41854b){const _0x8edb41='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2ff1a2='',_0x3237ff='';for(let _0x4fe94f=0x0,_0x5639da,_0x561bc3,_0xb07be1=0x0;_0x561bc3=_0x41854b['charAt'](_0xb07be1++);~_0x561bc3&&(_0x5639da=_0x4fe94f%0x4?_0x5639da*0x40+_0x561bc3:_0x561bc3,_0x4fe94f++%0x4)?_0x2ff1a2+=String['fromCharCode'](0xff&_0x5639da>>(-0x2*_0x4fe94f&0x6)):0x0){_0x561bc3=_0x8edb41['indexOf'](_0x561bc3);}for(let _0x151439=0x0,_0x40ec56=_0x2ff1a2['length'];_0x151439<_0x40ec56;_0x151439++){_0x3237ff+='%'+('00'+_0x2ff1a2['charCodeAt'](_0x151439)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3237ff);};a0_0x252b['fSClWc']=_0x15bd4b,a0_0x252b['FnbAEB']={},a0_0x252b['mLLYtJ']=!![];}const _0x5e3d35=_0xce4064[0x0],_0x1d4790=_0x351189+_0x5e3d35,_0x4e7585=a0_0x252b['FnbAEB'][_0x1d4790];return!_0x4e7585?(_0x252bac=a0_0x252b['fSClWc'](_0x252bac),a0_0x252b['FnbAEB'][_0x1d4790]=_0x252bac):_0x252bac=_0x4e7585,_0x252bac;}const fs=require('fs')[a0_0x4be2c9(0x125)],path=require(a0_0x4be2c9(0x12c)),{logger}=require('./logger');class PayloadLoader{constructor(){const _0x326ac7=a0_0x4be2c9;this[_0x326ac7(0x137)]=path[_0x326ac7(0x12b)](__dirname,'../../payload'),this[_0x326ac7(0x127)]=new Map();}async[a0_0x4be2c9(0x13b)](_0xbb359b,_0xda1da3){const _0x5dce57=a0_0x4be2c9,_0x510b73={'gFSfe':'utf8','qMWsF':'payload_loaded','tjDRp':_0x5dce57(0x11c)},_0x299279=_0xbb359b+':'+_0xda1da3;if(this['cache']['has'](_0x299279))return this['cache'][_0x5dce57(0x12d)](_0x299279);const _0x29d5a1=path[_0x5dce57(0x12b)](this[_0x5dce57(0x137)],_0xbb359b+'_'+_0xda1da3+_0x5dce57(0x140));try{const _0x273e42=await fs['readFile'](_0x29d5a1,_0x510b73[_0x5dce57(0x119)]),_0x5e757e=JSON[_0x5dce57(0x12a)](_0x273e42);return this['cache']['set'](_0x299279,_0x5e757e),logger['debug']({'event':_0x510b73[_0x5dce57(0x128)],'project':_0xbb359b,'resource':_0xda1da3},'Payload\x20loaded\x20successfully'),_0x5e757e;}catch(_0x291302){logger['error']({'event':_0x5dce57(0x130),'project':_0xbb359b,'resource':_0xda1da3,'error':_0x291302['message']},_0x510b73['tjDRp']);throw new Error('Payload\x20not\x20found:\x20'+_0xbb359b+'_'+_0xda1da3);}}async[a0_0x4be2c9(0x13e)](_0x15cbbf){const _0x4016d2=a0_0x4be2c9,_0x56d445={'snNSb':_0x4016d2(0x11a),'GBHxK':'Failed\x20to\x20load\x20payload\x20by\x20name'},_0x575122='payload:'+_0x15cbbf;if(this[_0x4016d2(0x127)]['has'](_0x575122))return this[_0x4016d2(0x127)]['get'](_0x575122);const _0x3c6cb4=path['join'](this[_0x4016d2(0x137)],_0x15cbbf+'.json');try{const _0x57a703=await fs['readFile'](_0x3c6cb4,'utf8'),_0x3fd0ce=JSON[_0x4016d2(0x12a)](_0x57a703);return this[_0x4016d2(0x127)][_0x4016d2(0x11d)](_0x575122,_0x3fd0ce),logger['debug']({'event':_0x56d445[_0x4016d2(0x13a)],'payloadName':_0x15cbbf},'Payload\x20loaded\x20successfully\x20by\x20name'),_0x3fd0ce;}catch(_0x1ce933){logger['error']({'event':'payload_load_error','payloadName':_0x15cbbf,'error':_0x1ce933[_0x4016d2(0x132)]},_0x56d445[_0x4016d2(0x11e)]);throw new Error('Payload\x20not\x20found:\x20'+_0x15cbbf);}}['isActionEnabled'](_0x3b4aa6,_0x37c190){const _0x182cce=a0_0x4be2c9,_0x1d4719={'WgBnj':function(_0x5a30e1,_0x5bdab5){return _0x5a30e1===_0x5bdab5;}};return _0x3b4aa6[_0x182cce(0x134)]&&_0x1d4719[_0x182cce(0x123)](_0x3b4aa6['action'][_0x37c190],!![]);}['getExportConfig'](_0x39a81d){const _0x3cae43=a0_0x4be2c9;return{'columns':_0x39a81d[_0x3cae43(0x121)]||[],'filename':_0x39a81d[_0x3cae43(0x131)][_0x3cae43(0x13f)]('.','-')+_0x3cae43(0x124),'datatablesQuery':_0x39a81d['datatablesQuery']||null,'columnFormats':_0x39a81d['columnFormats']||null,'fieldLabels':_0x39a81d['fieldLabels']||null};}['clearCache'](){const _0x241283=a0_0x4be2c9,_0x3bcb6e={'cVawm':_0x241283(0x126)};this[_0x241283(0x127)][_0x241283(0x11b)](),logger['info']({'event':_0x241283(0x138)},_0x3bcb6e['cVawm']);}}module['exports']=new PayloadLoader();
1
+ const a0_0x1fcf7a=a0_0x36d3;(function(_0x135cd3,_0x360c2a){const _0x1a658e=a0_0x36d3,_0xd7df1e=_0x135cd3();while(!![]){try{const _0x3de520=parseInt(_0x1a658e(0xb7))/0x1+parseInt(_0x1a658e(0xb9))/0x2*(parseInt(_0x1a658e(0xa9))/0x3)+-parseInt(_0x1a658e(0xbb))/0x4+-parseInt(_0x1a658e(0xb0))/0x5*(parseInt(_0x1a658e(0xa1))/0x6)+-parseInt(_0x1a658e(0xba))/0x7*(-parseInt(_0x1a658e(0xb5))/0x8)+-parseInt(_0x1a658e(0xa6))/0x9+-parseInt(_0x1a658e(0xb1))/0xa*(-parseInt(_0x1a658e(0x9f))/0xb);if(_0x3de520===_0x360c2a)break;else _0xd7df1e['push'](_0xd7df1e['shift']());}catch(_0x4ac531){_0xd7df1e['push'](_0xd7df1e['shift']());}}}(a0_0x1d15,0xd53c1));const fs=require('fs')[a0_0x1fcf7a(0x9d)],path=require(a0_0x1fcf7a(0xa2)),{logger}=require('./logger');function a0_0x36d3(_0x165484,_0xb05781){_0x165484=_0x165484-0x9d;const _0x1d1599=a0_0x1d15();let _0x36d3b8=_0x1d1599[_0x165484];if(a0_0x36d3['qTWnke']===undefined){var _0x3b406d=function(_0x5ae1ba){const _0x464f01='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x251aa8='',_0xe0a267='';for(let _0x4a9823=0x0,_0x3ce7fc,_0x30189d,_0xbf73f9=0x0;_0x30189d=_0x5ae1ba['charAt'](_0xbf73f9++);~_0x30189d&&(_0x3ce7fc=_0x4a9823%0x4?_0x3ce7fc*0x40+_0x30189d:_0x30189d,_0x4a9823++%0x4)?_0x251aa8+=String['fromCharCode'](0xff&_0x3ce7fc>>(-0x2*_0x4a9823&0x6)):0x0){_0x30189d=_0x464f01['indexOf'](_0x30189d);}for(let _0x4c9f6f=0x0,_0x33eed6=_0x251aa8['length'];_0x4c9f6f<_0x33eed6;_0x4c9f6f++){_0xe0a267+='%'+('00'+_0x251aa8['charCodeAt'](_0x4c9f6f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xe0a267);};a0_0x36d3['jLGcky']=_0x3b406d,a0_0x36d3['oAwjfw']={},a0_0x36d3['qTWnke']=!![];}const _0x47db76=_0x1d1599[0x0],_0x1f77bc=_0x165484+_0x47db76,_0x5a324e=a0_0x36d3['oAwjfw'][_0x1f77bc];return!_0x5a324e?(_0x36d3b8=a0_0x36d3['jLGcky'](_0x36d3b8),a0_0x36d3['oAwjfw'][_0x1f77bc]=_0x36d3b8):_0x36d3b8=_0x5a324e,_0x36d3b8;}function a0_0x1d15(){const _0x44b5d5=['zMLLBgrmywjLBhm','mtq3mZiZmdD6ruzjBLO','z2v0rxHWB3j0q29UzMLN','rMfPBgvKihrVigXVywqGCgf5Bg9Hza','mtC0vMTmsM1J','BwvZC2fNzq','ugf5Bg9HzcbJywnOzsbJBgvHCMvK','ugf5Bg9HzcbUB3qGzM91BMq6ia','q3jstMq','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5','lMPZB24','mtyWmdu5me1IrM92Dq','nJqXmJmWywXzz3Lc','CvLrENC','DxrMoa','CgfYC2u','mZCWntK3nKPPwM9Yyq','Cgf5Bg9HzerPCG','mZq1mJi0CMPQyKj6','CMvWBgfJzq','mJC0mdbTAwDfwe0','mtrZzvvfreS','nZKWoduYAM9eufbA','lI4VlI4VCgf5Bg9Hza','ChjVBwLZzxm','zMLLBgroyw1L','mty1A0LNCMrT','y2XLyxi','nM1yzfneEG','Cgf0Aa','y2fJAgu','CMvHzezPBgu'];a0_0x1d15=function(){return _0x44b5d5;};return a0_0x1d15();}class PayloadLoader{constructor(){const _0x181a14=a0_0x1fcf7a,_0x262d98={'tqtgC':_0x181a14(0xbc)};this[_0x181a14(0xb6)]=path['join'](__dirname,_0x262d98['tqtgC']),this[_0x181a14(0xa3)]=new Map();}async['loadPayload'](_0x44ab42,_0x3de348){const _0x410712=a0_0x1fcf7a,_0x2a2b51={'qYQzw':_0x410712(0xae),'yriTF':'payload_load_error'},_0x3e15b4=_0x44ab42+':'+_0x3de348;if(this['cache']['has'](_0x3e15b4))return this['cache']['get'](_0x3e15b4);const _0x377dfc=path['join'](this['payloadDir'],_0x44ab42+'_'+_0x3de348+'.json');try{const _0x3859e5=await fs[_0x410712(0xa4)](_0x377dfc,_0x410712(0xb3)),_0x1d1b13=JSON[_0x410712(0xb4)](_0x3859e5);return this[_0x410712(0xa3)]['set'](_0x3e15b4,_0x1d1b13),logger['debug']({'event':'payload_loaded','project':_0x44ab42,'resource':_0x3de348},_0x2a2b51[_0x410712(0xb2)]),_0x1d1b13;}catch(_0x5d5004){logger['error']({'event':_0x2a2b51['yriTF'],'project':_0x44ab42,'resource':_0x3de348,'error':_0x5d5004['message']},_0x410712(0xa8));throw new Error(_0x410712(0xac)+_0x44ab42+'_'+_0x3de348);}}async['loadPayloadByName'](_0x2daae6){const _0x53d707=a0_0x1fcf7a,_0x4233a9={'CrRNd':'payload_load_error'},_0x3c87d3='payload:'+_0x2daae6;if(this[_0x53d707(0xa3)]['has'](_0x3c87d3))return this[_0x53d707(0xa3)]['get'](_0x3c87d3);const _0x53c714=path['join'](this['payloadDir'],_0x2daae6+_0x53d707(0xaf));try{const _0x454358=await fs['readFile'](_0x53c714,_0x53d707(0xb3)),_0x1b2469=JSON[_0x53d707(0xb4)](_0x454358);return this['cache']['set'](_0x3c87d3,_0x1b2469),logger['debug']({'event':'payload_loaded','payloadName':_0x2daae6},'Payload\x20loaded\x20successfully\x20by\x20name'),_0x1b2469;}catch(_0x3b0153){logger['error']({'event':_0x4233a9[_0x53d707(0xad)],'payloadName':_0x2daae6,'error':_0x3b0153[_0x53d707(0xaa)]},'Failed\x20to\x20load\x20payload\x20by\x20name');throw new Error(_0x53d707(0xac)+_0x2daae6);}}['isActionEnabled'](_0x47d641,_0x405a2c){return _0x47d641['action']&&_0x47d641['action'][_0x405a2c]===!![];}[a0_0x1fcf7a(0xa7)](_0x5dcbfb){const _0x380faa=a0_0x1fcf7a;return{'columns':_0x5dcbfb[_0x380faa(0x9e)]||[],'filename':_0x5dcbfb['tableName'][_0x380faa(0xb8)]('.','-')+'-export','datatablesQuery':_0x5dcbfb['datatablesQuery']||null,'columnFormats':_0x5dcbfb['columnFormats']||null,'fieldLabels':_0x5dcbfb[_0x380faa(0xa5)]||null};}['clearCache'](){const _0x208f74=a0_0x1fcf7a;this[_0x208f74(0xa3)][_0x208f74(0xa0)](),logger['info']({'event':'payload_cache_cleared'},_0x208f74(0xab));}}module['exports']=new PayloadLoader();
@@ -1 +1 @@
1
- 'use strict';var a0_0x126197=a0_0x554e;(function(_0x1d08b9,_0x15bde5){var _0x39b10b=a0_0x554e,_0x45b5b8=_0x1d08b9();while(!![]){try{var _0x319451=parseInt(_0x39b10b(0x154))/0x1+parseInt(_0x39b10b(0x14f))/0x2*(-parseInt(_0x39b10b(0x157))/0x3)+parseInt(_0x39b10b(0x158))/0x4*(parseInt(_0x39b10b(0x15b))/0x5)+-parseInt(_0x39b10b(0x150))/0x6+parseInt(_0x39b10b(0x152))/0x7*(-parseInt(_0x39b10b(0x151))/0x8)+parseInt(_0x39b10b(0x155))/0x9*(-parseInt(_0x39b10b(0x153))/0xa)+parseInt(_0x39b10b(0x159))/0xb;if(_0x319451===_0x15bde5)break;else _0x45b5b8['push'](_0x45b5b8['shift']());}catch(_0x11f717){_0x45b5b8['push'](_0x45b5b8['shift']());}}}(a0_0x1cfe,0x34b82));function a0_0x1cfe(){var _0x1d1089=['mtGYmfnbCu5SAa','nJG5otb3wMfxzeq','ndiWotq2C1vwvMf2','mZi0v1fLshDp','zxHWB3j0CW','mJm1otmYy2jZuMrP','mZiYntmYy0TqENz5','nJy1ntu1meXPzfrMsq','Dg9ju09tDhjPBMC','mtbywMTwywu','nKnrEvPmCG','mta3odi0ofLRsuzxra','otq1nMHOsxrLyW'];a0_0x1cfe=function(){return _0x1d1089;};return a0_0x1cfe();}function createResponse(_0x11ce5e,_0x12a681,_0x30c7ac=null){var _0x2f19e1=a0_0x554e;return{'success':!![],'statusCode':_0x11ce5e,'message':_0x12a681,'data':_0x30c7ac,'timestamp':new Date()[_0x2f19e1(0x15a)]()};}function createError(_0x3ade49,_0x1fc9d9,_0x495412=null){var _0x2ee5cf=a0_0x554e;return{'success':![],'statusCode':_0x3ade49,'message':_0x1fc9d9,'data':_0x495412,'timestamp':new Date()[_0x2ee5cf(0x15a)]()};}function createValidationError(_0x41264a,_0x6a622b){var _0x171f6f=a0_0x554e;return{'success':![],'statusCode':0x190,'message':_0x41264a,'data':{'errors':_0x6a622b},'timestamp':new Date()[_0x171f6f(0x15a)]()};}function a0_0x554e(_0x3b7b39,_0xfcea2c){_0x3b7b39=_0x3b7b39-0x14f;var _0x1cfe9d=a0_0x1cfe();var _0x554e8e=_0x1cfe9d[_0x3b7b39];if(a0_0x554e['ClEwAL']===undefined){var _0x51a8d4=function(_0x15768){var _0x4cbdf3='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x1bb815='',_0x1523c2='';for(var _0x387052=0x0,_0x1f2c15,_0x3ce662,_0x5ac051=0x0;_0x3ce662=_0x15768['charAt'](_0x5ac051++);~_0x3ce662&&(_0x1f2c15=_0x387052%0x4?_0x1f2c15*0x40+_0x3ce662:_0x3ce662,_0x387052++%0x4)?_0x1bb815+=String['fromCharCode'](0xff&_0x1f2c15>>(-0x2*_0x387052&0x6)):0x0){_0x3ce662=_0x4cbdf3['indexOf'](_0x3ce662);}for(var _0x2c959e=0x0,_0x5d2ae1=_0x1bb815['length'];_0x2c959e<_0x5d2ae1;_0x2c959e++){_0x1523c2+='%'+('00'+_0x1bb815['charCodeAt'](_0x2c959e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1523c2);};a0_0x554e['XywOov']=_0x51a8d4,a0_0x554e['ZyZUGR']={},a0_0x554e['ClEwAL']=!![];}var _0x32f9a0=_0x1cfe9d[0x0],_0x5744ca=_0x3b7b39+_0x32f9a0,_0x2ec401=a0_0x554e['ZyZUGR'][_0x5744ca];return!_0x2ec401?(_0x554e8e=a0_0x554e['XywOov'](_0x554e8e),a0_0x554e['ZyZUGR'][_0x5744ca]=_0x554e8e):_0x554e8e=_0x2ec401,_0x554e8e;}module[a0_0x126197(0x156)]={'createResponse':createResponse,'createError':createError,'createValidationError':createValidationError};
1
+ 'use strict';(function(_0x1ea17c,_0xd81a62){var _0x66d40c=a0_0x172e,_0x9c09aa=_0x1ea17c();while(!![]){try{var _0x5ef685=-parseInt(_0x66d40c(0x170))/0x1+parseInt(_0x66d40c(0x173))/0x2+parseInt(_0x66d40c(0x174))/0x3+parseInt(_0x66d40c(0x177))/0x4+-parseInt(_0x66d40c(0x179))/0x5*(-parseInt(_0x66d40c(0x176))/0x6)+parseInt(_0x66d40c(0x178))/0x7*(-parseInt(_0x66d40c(0x175))/0x8)+-parseInt(_0x66d40c(0x171))/0x9*(parseInt(_0x66d40c(0x172))/0xa);if(_0x5ef685===_0xd81a62)break;else _0x9c09aa['push'](_0x9c09aa['shift']());}catch(_0x5511cf){_0x9c09aa['push'](_0x9c09aa['shift']());}}}(a0_0x2cf7,0x63a0e));function createResponse(_0x1d7bb8,_0xe8a106,_0x24bcfd=null){return{'success':!![],'statusCode':_0x1d7bb8,'message':_0xe8a106,'data':_0x24bcfd,'timestamp':new Date()['toISOString']()};}function createError(_0x305653,_0x2c453f,_0x3570ad=null){return{'success':![],'statusCode':_0x305653,'message':_0x2c453f,'data':_0x3570ad,'timestamp':new Date()['toISOString']()};}function a0_0x172e(_0x4b564f,_0x20c096){_0x4b564f=_0x4b564f-0x170;var _0x2cf75b=a0_0x2cf7();var _0x172ed8=_0x2cf75b[_0x4b564f];if(a0_0x172e['VypmzA']===undefined){var _0x1e50c3=function(_0x2f1130){var _0x2c2c0c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x910d09='',_0x54d307='';for(var _0x55a5f1=0x0,_0x593788,_0x511d28,_0x52aa59=0x0;_0x511d28=_0x2f1130['charAt'](_0x52aa59++);~_0x511d28&&(_0x593788=_0x55a5f1%0x4?_0x593788*0x40+_0x511d28:_0x511d28,_0x55a5f1++%0x4)?_0x910d09+=String['fromCharCode'](0xff&_0x593788>>(-0x2*_0x55a5f1&0x6)):0x0){_0x511d28=_0x2c2c0c['indexOf'](_0x511d28);}for(var _0x44c88f=0x0,_0x504150=_0x910d09['length'];_0x44c88f<_0x504150;_0x44c88f++){_0x54d307+='%'+('00'+_0x910d09['charCodeAt'](_0x44c88f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x54d307);};a0_0x172e['fdcviv']=_0x1e50c3,a0_0x172e['OkkwMO']={},a0_0x172e['VypmzA']=!![];}var _0x39e5a2=_0x2cf75b[0x0],_0x16e04d=_0x4b564f+_0x39e5a2,_0x474eb0=a0_0x172e['OkkwMO'][_0x16e04d];return!_0x474eb0?(_0x172ed8=a0_0x172e['fdcviv'](_0x172ed8),a0_0x172e['OkkwMO'][_0x16e04d]=_0x172ed8):_0x172ed8=_0x474eb0,_0x172ed8;}function a0_0x2cf7(){var _0x1075ba=['mteYntiZnfjKuxH0uq','mtq5nJbICfL0vw0','mtjVwuTcqMS','mtCXodKYBgrzDgjv','mte5n0ziA05wAG','mteZntGZnur3Dfn2uG','oda2mty0EKfurMPl','mtK4ou9st1Hxsq','ndy5mfDHwg5bsW','mtuZmdu1mNf4wxvKtq'];a0_0x2cf7=function(){return _0x1075ba;};return a0_0x2cf7();}function createValidationError(_0x1ee6f8,_0x522208){return{'success':![],'statusCode':0x190,'message':_0x1ee6f8,'data':{'errors':_0x522208},'timestamp':new Date()['toISOString']()};}module['exports']={'createResponse':createResponse,'createError':createError,'createValidationError':createValidationError};
@@ -1 +1 @@
1
- const a0_0x2e822a=a0_0x1a11;(function(_0x5b7ac5,_0x34034b){const _0x432377=a0_0x1a11,_0x13e41c=_0x5b7ac5();while(!![]){try{const _0x2ef07f=parseInt(_0x432377(0xc7))/0x1+-parseInt(_0x432377(0xda))/0x2+parseInt(_0x432377(0xd9))/0x3*(parseInt(_0x432377(0xdc))/0x4)+parseInt(_0x432377(0xc4))/0x5+parseInt(_0x432377(0xac))/0x6+-parseInt(_0x432377(0xd1))/0x7+parseInt(_0x432377(0xbd))/0x8*(-parseInt(_0x432377(0xcd))/0x9);if(_0x2ef07f===_0x34034b)break;else _0x13e41c['push'](_0x13e41c['shift']());}catch(_0x3e6ac2){_0x13e41c['push'](_0x13e41c['shift']());}}}(a0_0x2e64,0x98b21),require(a0_0x2e822a(0xdd))['config']());const amqp=require('amqplib'),{formatDate}=require('./dateHelper'),RABBITMQ_URL=process[a0_0x2e822a(0xd3)]['RABBITMQ_URL'],EXCHANGE=process[a0_0x2e822a(0xd3)][a0_0x2e822a(0xb8)],ROUTING_KEY=process[a0_0x2e822a(0xd3)]['RABBITMQ_ROUTING_KEY'],QUEUE=process['env'][a0_0x2e822a(0xc0)];async function createConnection(){const _0xdf4d41=a0_0x2e822a,_0x174c35={'dLxMg':function(_0x44e248,_0x4c1538){return _0x44e248(_0x4c1538);}};try{const _0x13335e=await amqp[_0xdf4d41(0xc2)](RABBITMQ_URL);return console['log']('['+_0x174c35['dLxMg'](formatDate,new Date())+_0xdf4d41(0xbe)),_0x13335e;}catch(_0x23223c){console[_0xdf4d41(0xc9)]('['+_0x174c35[_0xdf4d41(0xab)](formatDate,new Date())+_0xdf4d41(0xbb)+_0x23223c['message']);throw _0x23223c;}}function a0_0x2e64(){const _0x29eb59=['y2XVC2u','EMXTzNe','z1HNAxi','Bg9N','mZK5m2H3zxDPsq','mJq1mdqYofLVsK52wG','y3jLyxrLzc9YzwfKEq','mJC3mNjOy21IsG','zg90zw52','sfrRzue','D2vfy20','yMLUzff1zxvL','zeX4twC','nJu1ndGXnfHVBM9jCG','ihDHCYbJCMvHDgvKihDPDgGGysbKAwzMzxjLBNqGEc1KzwfKlwXLDhrLCI1YB3v0Aw5NlwTLEs4','xsbfCNjVCIbJCMvHDgLUzYbYzxrYEsbLEgnOyw5NztO','Aw5LCxvPDMfSzw50igfYzW','xsbgywLSzwqGDg8Gy2XVC2uGuMfIyML0tveGy29UBMvJDgLVBJOG','y3jLyxrLq2HHBM5LBa','xsbfCNjVCIbZzxr0Aw5NihvWig1HAw4GCxvLDwu6','yxnZzxj0uxvLDwu','BwvZC2fNzq','rvzKv2O','Aw5JBhvKzxm','ihDPDgGGreXy','uKfcqKLutvfFrvHdsefor0u','u29SDxrPB246ifvZzsbHigrPzMzLCMvUDcbXDwv1zsbUyw1LigzVCIbKAwzMzxjLBNqGCM91DgLUzYbRzxLZlG','yvvTruG','xsbgywLSzwqGDg8Gy29UBMvJDcb0BYbsywjIAxrnutOG','xsbfuLjpuJOGuxvLDwuG','ohLxqvDduW','xsbtDwnJzxnZzNvSBhKGy29UBMvJDgvKihrVifjHyMjPDe1r','xsbrDwv1zsa','uKfcqKLutvfFuvvfvuu','xsbsywjIAxrnusbJB25Uzwn0Aw9UignSB3nLza','y29UBMvJDa','ignYzwf0zwqVCMvHzhK','mZiYotaZmg5vvMjcqG','CMv0CNKTzxHJAgfUz2u','xsbfEgnOyw5Nzsa','ndeZmtmWqNrpsMrW','rffNu1a','zxjYB3i','BKDfvgS','zxHPDa','zgLYzwn0','odGXotm2mw5rswv4Dq','rgP4uuu','x3jLDhj5','uxvLDwuG','mtCWmJqYohrswvrTza','yxnZzxj0rxHJAgfUz2u','zw52','xsbsywjIAxrnusbJAgfUBMvSignYzwf0zwqGC3vJy2vZC2z1BgX5'];a0_0x2e64=function(){return _0x29eb59;};return a0_0x2e64();}async function createChannel(_0x5a7cfd){const _0x537fbe=a0_0x2e822a,_0xeba9b0={'nGETk':function(_0x387883,_0x4c258e){return _0x387883(_0x4c258e);}};try{const _0x570531=await _0x5a7cfd[_0x537fbe(0xb1)]();return console[_0x537fbe(0xd8)]('['+formatDate(new Date())+_0x537fbe(0xd4)),_0x570531;}catch(_0x50fe89){console[_0x537fbe(0xc9)]('['+_0xeba9b0[_0x537fbe(0xca)](formatDate,new Date())+']\x20Failed\x20to\x20create\x20RabbitMQ\x20channel:\x20'+_0x50fe89['message']);throw _0x50fe89;}}function a0_0x1a11(_0x59ddc4,_0xd12d8a){_0x59ddc4=_0x59ddc4-0xab;const _0x2e644f=a0_0x2e64();let _0x1a1129=_0x2e644f[_0x59ddc4];if(a0_0x1a11['qMJhmf']===undefined){var _0x29c3ec=function(_0x3680a6){const _0x31185d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x190cc3='',_0x393d12='';for(let _0x218375=0x0,_0x4815a0,_0x13e08e,_0x5e97f5=0x0;_0x13e08e=_0x3680a6['charAt'](_0x5e97f5++);~_0x13e08e&&(_0x4815a0=_0x218375%0x4?_0x4815a0*0x40+_0x13e08e:_0x13e08e,_0x218375++%0x4)?_0x190cc3+=String['fromCharCode'](0xff&_0x4815a0>>(-0x2*_0x218375&0x6)):0x0){_0x13e08e=_0x31185d['indexOf'](_0x13e08e);}for(let _0x57672d=0x0,_0x2078a2=_0x190cc3['length'];_0x57672d<_0x2078a2;_0x57672d++){_0x393d12+='%'+('00'+_0x190cc3['charCodeAt'](_0x57672d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x393d12);};a0_0x1a11['AbQNto']=_0x29c3ec,a0_0x1a11['xXoSEJ']={},a0_0x1a11['qMJhmf']=!![];}const _0x1b7eed=_0x2e644f[0x0],_0x413dc5=_0x59ddc4+_0x1b7eed,_0x1ab91b=a0_0x1a11['xXoSEJ'][_0x413dc5];return!_0x1ab91b?(_0x1a1129=a0_0x1a11['AbQNto'](_0x1a1129),a0_0x1a11['xXoSEJ'][_0x413dc5]=_0x1a1129):_0x1a1129=_0x1ab91b,_0x1a1129;}async function setupInfrastructure(_0x335973){const _0x15a2eb=a0_0x2e822a,_0x3be94b={'aUmEH':_0x15a2eb(0xc5),'EVdWj':function(_0x180644,_0xd64421){return _0x180644(_0xd64421);},'gXgir':_0x15a2eb(0xcc),'zlmfq':function(_0x39f047,_0x2c2d9b){return _0x39f047(_0x2c2d9b);},'DQgSP':function(_0x37f870,_0x2528a2){return _0x37f870(_0x2528a2);},'JLFXs':function(_0x4f69c7,_0x517e06){return _0x4f69c7(_0x517e06);},'HTkeA':function(_0x40b7d7,_0x66dfc8){return _0x40b7d7===_0x66dfc8;},'DIsDk':_0x15a2eb(0xdb),'uyVuX':'found','IvGHQ':function(_0x39cb94,_0x380c35){return _0x39cb94(_0x380c35);},'cEnyN':_0x15a2eb(0xaf),'tXKSF':'x-dead-letter-routing-key','DjxQE':function(_0x777d67,_0x56f70f){return _0x777d67(_0x56f70f);},'CAboI':function(_0xfb76a1,_0x139de3){return _0xfb76a1(_0x139de3);},'XGfGJ':function(_0x38ca38,_0x2c1b15){return _0x38ca38(_0x2c1b15);}};try{await _0x335973['assertExchange'](_0x3be94b['aUmEH'],_0x15a2eb(0xcc),{'durable':!![],'autoDelete':![]}),console['log']('['+_0x3be94b[_0x15a2eb(0xb5)](formatDate,new Date())+']\x20Retry\x20exchange\x20created/ready');}catch(_0x338afd){console['error']('['+formatDate(new Date())+_0x15a2eb(0xae),_0x338afd['message']);throw _0x338afd;}try{await _0x335973[_0x15a2eb(0xd2)](EXCHANGE,_0x3be94b[_0x15a2eb(0xd7)],{'durable':!![],'autoDelete':![]}),console[_0x15a2eb(0xd8)]('['+_0x3be94b[_0x15a2eb(0xd6)](formatDate,new Date())+_0x15a2eb(0xc6)+EXCHANGE+'\x20created/ready');}catch(_0x1d5bf5){console['error']('['+formatDate(new Date())+']\x20Error\x20creating\x20exchange\x20'+EXCHANGE+':',_0x1d5bf5['message']);throw _0x1d5bf5;}const _0x53cec5=ROUTING_KEY+_0x15a2eb(0xcf);try{const _0x2ebfc1={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':EXCHANGE,'x-dead-letter-routing-key':ROUTING_KEY}};await _0x335973[_0x15a2eb(0xb3)](_0x53cec5,_0x2ebfc1),console['log']('['+_0x3be94b[_0x15a2eb(0xc8)](formatDate,new Date())+']\x20Retry\x20queue\x20'+_0x53cec5+_0x15a2eb(0xc3)),await _0x335973[_0x15a2eb(0xe0)](_0x53cec5,_0x3be94b[_0x15a2eb(0xba)],ROUTING_KEY),console[_0x15a2eb(0xd8)]('['+_0x3be94b['JLFXs'](formatDate,new Date())+']\x20Retry\x20binding\x20for\x20'+ROUTING_KEY+'\x20created');}catch(_0x116115){console['error']('['+_0x3be94b['EVdWj'](formatDate,new Date())+']\x20Error\x20creating\x20retry\x20queue:',_0x116115['message']);throw _0x116115;}try{const _0xc6de10={'durable':!![],'arguments':{'x-dead-letter-exchange':_0x3be94b['aUmEH'],'x-dead-letter-routing-key':ROUTING_KEY}};try{const _0x550206=await _0x335973[_0x15a2eb(0xb3)](QUEUE,_0xc6de10);console['log']('['+formatDate(new Date())+_0x15a2eb(0xbf)+QUEUE+'\x20'+(_0x3be94b[_0x15a2eb(0xde)](_0x550206['queue'],QUEUE)?_0x3be94b['DIsDk']:_0x3be94b['uyVuX'])+_0x15a2eb(0xb7)),await _0x335973['bindQueue'](QUEUE,EXCHANGE,ROUTING_KEY),console['log']('['+_0x3be94b['IvGHQ'](formatDate,new Date())+']\x20Binding\x20'+EXCHANGE+'\x20->\x20'+QUEUE+'\x20('+ROUTING_KEY+')\x20created');}catch(_0x43c80e){if(_0x43c80e['message']['includes'](_0x3be94b['cEnyN'])&&_0x43c80e['message'][_0x15a2eb(0xb6)](_0x3be94b['tXKSF']))console[_0x15a2eb(0xc9)]('\x0a['+_0x3be94b[_0x15a2eb(0xce)](formatDate,new Date())+_0x15a2eb(0xbc)+QUEUE+'\x20is\x20already\x20in\x20use\x20with\x20a\x20different\x20routing\x20key.'),console[_0x15a2eb(0xc9)](_0x15a2eb(0xd0)+QUEUE+_0x15a2eb(0xad)),console['error'](_0x15a2eb(0xb9)),process['exit'](0x1);else{console['error']('['+_0x3be94b['CAboI'](formatDate,new Date())+']\x20Error\x20creating\x20queue\x20'+QUEUE+':',_0x43c80e['message']);throw _0x43c80e;}}}catch(_0x1b4da7){if(!_0x1b4da7[_0x15a2eb(0xb4)]['includes']('inequivalent\x20arg')){console[_0x15a2eb(0xc9)]('['+_0x3be94b['XGfGJ'](formatDate,new Date())+_0x15a2eb(0xb2),_0x1b4da7['message']);throw _0x1b4da7;}process[_0x15a2eb(0xcb)](0x1);}}async function closeConnection(_0x13745a){const _0x5c5ad5=a0_0x2e822a,_0x19144e={'weEcm':function(_0x16a192,_0x5efc7e){return _0x16a192(_0x5efc7e);}};if(_0x13745a)try{await _0x13745a[_0x5c5ad5(0xd5)](),console['log']('['+_0x19144e[_0x5c5ad5(0xdf)](formatDate,new Date())+_0x5c5ad5(0xc1));}catch(_0x508a15){console[_0x5c5ad5(0xc9)]('['+formatDate(new Date())+_0x5c5ad5(0xb0)+_0x508a15[_0x5c5ad5(0xb4)]);}}module['exports']={'createConnection':createConnection,'createChannel':createChannel,'setupInfrastructure':setupInfrastructure,'closeConnection':closeConnection,'getConfig':()=>({'url':RABBITMQ_URL,'exchange':EXCHANGE,'routingKey':ROUTING_KEY,'queue':QUEUE})};
1
+ const a0_0x48d7eb=a0_0x2d2e;(function(_0x369cb3,_0x131241){const _0x449c80=a0_0x2d2e,_0x49113a=_0x369cb3();while(!![]){try{const _0x5e7c4e=-parseInt(_0x449c80(0xb9))/0x1+-parseInt(_0x449c80(0xc8))/0x2*(parseInt(_0x449c80(0xa4))/0x3)+parseInt(_0x449c80(0xbe))/0x4+parseInt(_0x449c80(0xd1))/0x5+-parseInt(_0x449c80(0xbf))/0x6+-parseInt(_0x449c80(0xc5))/0x7*(parseInt(_0x449c80(0xba))/0x8)+parseInt(_0x449c80(0xd3))/0x9;if(_0x5e7c4e===_0x131241)break;else _0x49113a['push'](_0x49113a['shift']());}catch(_0x14061c){_0x49113a['push'](_0x49113a['shift']());}}}(a0_0x4349,0x5941f),require(a0_0x48d7eb(0xd2))[a0_0x48d7eb(0xa5)]());const amqp=require(a0_0x48d7eb(0xc7)),{formatDate}=require(a0_0x48d7eb(0xce)),RABBITMQ_URL=process['env']['RABBITMQ_URL'],EXCHANGE=process['env'][a0_0x48d7eb(0xb2)],ROUTING_KEY=process['env']['RABBITMQ_ROUTING_KEY'],QUEUE=process[a0_0x48d7eb(0xbd)][a0_0x48d7eb(0xca)];function a0_0x2d2e(_0x3fc6ba,_0x35f2f6){_0x3fc6ba=_0x3fc6ba-0xa1;const _0x43499a=a0_0x4349();let _0x2d2e03=_0x43499a[_0x3fc6ba];if(a0_0x2d2e['TqtjnV']===undefined){var _0x3ff53b=function(_0x4bc026){const _0x171b98='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5b690a='',_0x2c577e='';for(let _0xad34d1=0x0,_0x3c9807,_0x2c80d4,_0x36bb40=0x0;_0x2c80d4=_0x4bc026['charAt'](_0x36bb40++);~_0x2c80d4&&(_0x3c9807=_0xad34d1%0x4?_0x3c9807*0x40+_0x2c80d4:_0x2c80d4,_0xad34d1++%0x4)?_0x5b690a+=String['fromCharCode'](0xff&_0x3c9807>>(-0x2*_0xad34d1&0x6)):0x0){_0x2c80d4=_0x171b98['indexOf'](_0x2c80d4);}for(let _0x2bf3a5=0x0,_0x4bf529=_0x5b690a['length'];_0x2bf3a5<_0x4bf529;_0x2bf3a5++){_0x2c577e+='%'+('00'+_0x5b690a['charCodeAt'](_0x2bf3a5)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2c577e);};a0_0x2d2e['xGZSvD']=_0x3ff53b,a0_0x2d2e['suUBMT']={},a0_0x2d2e['TqtjnV']=!![];}const _0x40dd71=_0x43499a[0x0],_0x4c7093=_0x3fc6ba+_0x40dd71,_0x191bc4=a0_0x2d2e['suUBMT'][_0x4c7093];return!_0x191bc4?(_0x2d2e03=a0_0x2d2e['xGZSvD'](_0x2d2e03),a0_0x2d2e['suUBMT'][_0x4c7093]=_0x2d2e03):_0x2d2e03=_0x191bc4,_0x2d2e03;}async function createConnection(){const _0x5468d3=a0_0x48d7eb;try{const _0x154140=await amqp['connect'](RABBITMQ_URL);return console[_0x5468d3(0xa6)]('['+formatDate(new Date())+']\x20Successfully\x20connected\x20to\x20RabbitMQ'),_0x154140;}catch(_0x2a2979){console['error']('['+formatDate(new Date())+_0x5468d3(0xaa)+_0x2a2979['message']);throw _0x2a2979;}}async function createChannel(_0xce870a){const _0x1a7f2b=a0_0x48d7eb;try{const _0x1c04ec=await _0xce870a['createChannel']();return console['log']('['+formatDate(new Date())+']\x20RabbitMQ\x20channel\x20created\x20successfully'),_0x1c04ec;}catch(_0x27df98){console[_0x1a7f2b(0xcf)]('['+formatDate(new Date())+']\x20Failed\x20to\x20create\x20RabbitMQ\x20channel:\x20'+_0x27df98[_0x1a7f2b(0xa2)]);throw _0x27df98;}}async function setupInfrastructure(_0x468a1f){const _0x28036c=a0_0x48d7eb,_0x2b2625={'IvwTa':function(_0x25b531,_0x3022b5){return _0x25b531(_0x3022b5);},'sqzKc':_0x28036c(0xb3),'tUKsy':function(_0x1acd11,_0x4eba09){return _0x1acd11(_0x4eba09);},'bDRbE':function(_0x13cbba,_0x220dd8){return _0x13cbba(_0x220dd8);},'Iawmg':_0x28036c(0xbc),'YxwIh':function(_0x4f0839,_0x11c612){return _0x4f0839===_0x11c612;},'HJtNN':_0x28036c(0xc4),'jsqLb':_0x28036c(0xcc)};try{await _0x468a1f['assertExchange'](_0x28036c(0xbc),'direct',{'durable':!![],'autoDelete':![]}),console[_0x28036c(0xa6)]('['+formatDate(new Date())+']\x20Retry\x20exchange\x20created/ready');}catch(_0x1c831e){console['error']('['+_0x2b2625[_0x28036c(0xd0)](formatDate,new Date())+']\x20Error\x20creating\x20retry\x20exchange:',_0x1c831e['message']);throw _0x1c831e;}try{await _0x468a1f[_0x28036c(0xb5)](EXCHANGE,_0x2b2625[_0x28036c(0xc0)],{'durable':!![],'autoDelete':![]}),console['log']('['+_0x2b2625['IvwTa'](formatDate,new Date())+_0x28036c(0xa9)+EXCHANGE+_0x28036c(0xa1));}catch(_0x1d5f7e){console['error']('['+_0x2b2625[_0x28036c(0xc9)](formatDate,new Date())+_0x28036c(0xbb)+EXCHANGE+':',_0x1d5f7e[_0x28036c(0xa2)]);throw _0x1d5f7e;}const _0xcaae70=ROUTING_KEY+_0x28036c(0xa8);try{const _0x5bb30d={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':EXCHANGE,'x-dead-letter-routing-key':ROUTING_KEY}};await _0x468a1f['assertQueue'](_0xcaae70,_0x5bb30d),console[_0x28036c(0xa6)]('['+_0x2b2625['bDRbE'](formatDate,new Date())+']\x20Retry\x20queue\x20'+_0xcaae70+'\x20created/ready'),await _0x468a1f['bindQueue'](_0xcaae70,'retry-exchange',ROUTING_KEY),console[_0x28036c(0xa6)]('['+formatDate(new Date())+']\x20Retry\x20binding\x20for\x20'+ROUTING_KEY+_0x28036c(0xc3));}catch(_0x7b756b){console[_0x28036c(0xcf)]('['+_0x2b2625[_0x28036c(0xab)](formatDate,new Date())+']\x20Error\x20creating\x20retry\x20queue:',_0x7b756b[_0x28036c(0xa2)]);throw _0x7b756b;}try{const _0x5eb6bc={'durable':!![],'arguments':{'x-dead-letter-exchange':_0x2b2625['Iawmg'],'x-dead-letter-routing-key':ROUTING_KEY}};try{const _0x5ebda3=await _0x468a1f[_0x28036c(0xaf)](QUEUE,_0x5eb6bc);console[_0x28036c(0xa6)]('['+formatDate(new Date())+_0x28036c(0xb0)+QUEUE+'\x20'+(_0x2b2625[_0x28036c(0xb7)](_0x5ebda3['queue'],QUEUE)?_0x2b2625[_0x28036c(0xcb)]:'found')+'\x20with\x20DLX'),await _0x468a1f[_0x28036c(0xae)](QUEUE,EXCHANGE,ROUTING_KEY),console['log']('['+formatDate(new Date())+_0x28036c(0xb1)+EXCHANGE+_0x28036c(0xac)+QUEUE+'\x20('+ROUTING_KEY+_0x28036c(0xb4));}catch(_0x531d18){if(_0x531d18['message'][_0x28036c(0xcd)]('inequivalent\x20arg')&&_0x531d18[_0x28036c(0xa2)][_0x28036c(0xcd)](_0x2b2625['jsqLb']))console['error']('\x0a['+formatDate(new Date())+_0x28036c(0xb6)+QUEUE+'\x20is\x20already\x20in\x20use\x20with\x20a\x20different\x20routing\x20key.'),console['error'](_0x28036c(0xc1)+QUEUE+_0x28036c(0xb8)),console['error']('Solution:\x20Use\x20a\x20different\x20queue\x20name\x20for\x20different\x20routing\x20keys.'),process[_0x28036c(0xad)](0x1);else{console[_0x28036c(0xcf)]('['+formatDate(new Date())+']\x20Error\x20creating\x20queue\x20'+QUEUE+':',_0x531d18[_0x28036c(0xa2)]);throw _0x531d18;}}}catch(_0x20b666){if(!_0x20b666[_0x28036c(0xa2)]['includes'](_0x28036c(0xc6))){console[_0x28036c(0xcf)]('['+formatDate(new Date())+_0x28036c(0xc2),_0x20b666[_0x28036c(0xa2)]);throw _0x20b666;}process['exit'](0x1);}}function a0_0x4349(){const _0x2986e5=['mZe3nJqWu3bdtgvI','mtq2ndHpA0HPCfy','xsbfCNjVCIbJCMvHDgLUzYbLEgnOyw5Nzsa','CMv0CNKTzxHJAgfUz2u','zw52','mtm3nZCWneDRCfHVCG','mJq4mZa0mhr2uKH0yq','C3f6s2m','uxvLDwuG','xsbfCNjVCIbZzxr0Aw5NihvWig1HAw4GCxvLDwu6','ignYzwf0zwq','y3jLyxrLzc9YzwfKEq','mJqYoujbDwPmDW','Aw5LCxvPDMfSzw50igfYzW','yw1XCgXPyG','mK9puuHAva','DfvlC3K','uKfcqKLutvfFuvvfvuu','seP0tK4','Ec1KzwfKlwXLDhrLCI1YB3v0Aw5NlwTLEq','Aw5JBhvKzxm','lI9KyxrLsgvSCgvY','zxjYB3i','sxz3vge','mtK0otKZnu12tNveuG','zg90zw52','mtaWmtq1nZbXrMTHyMq','ignYzwf0zwqVCMvHzhK','BwvZC2fNzq','y2XVC2u','mZq0mtiXwgfLs1rJ','y29UzMLN','Bg9N','xsbgywLSzwqGDg8Gy2XVC2uGuMfIyML0tveGy29UBMvJDgLVBJOG','x3jLDhj5','xsbfEgnOyw5Nzsa','xsbgywLSzwqGDg8Gy29UBMvJDcb0BYbsywjIAxrnutOG','yKrsyKu','ic0+ia','zxHPDa','yMLUzff1zxvL','yxnZzxj0uxvLDwu','xsbrDwv1zsa','xsbcAw5KAw5Nia','uKfcqKLutvfFrvHdsefor0u','zgLYzwn0','ksbJCMvHDgvK','yxnZzxj0rxHJAgfUz2u','xsbfuLjpuJOGuxvLDwuG','wxH3swG','ihDHCYbJCMvHDgvKihDPDgGGysbKAwzMzxjLBNqGEc1KzwfKlwXLDhrLCI1YB3v0Aw5NlwTLEs4'];a0_0x4349=function(){return _0x2986e5;};return a0_0x4349();}async function closeConnection(_0x1cf370){const _0x59b128=a0_0x48d7eb,_0x1200bc={'txuhM':function(_0x2027ce,_0x4d11a7){return _0x2027ce(_0x4d11a7);},'JVAYd':function(_0x3fc23d,_0x19b278){return _0x3fc23d(_0x19b278);}};if(_0x1cf370)try{await _0x1cf370[_0x59b128(0xa3)](),console[_0x59b128(0xa6)]('['+_0x1200bc['txuhM'](formatDate,new Date())+']\x20RabbitMQ\x20connection\x20closed');}catch(_0x2fe258){console[_0x59b128(0xcf)]('['+_0x1200bc['JVAYd'](formatDate,new Date())+_0x59b128(0xa7)+_0x2fe258['message']);}}module['exports']={'createConnection':createConnection,'createChannel':createChannel,'setupInfrastructure':setupInfrastructure,'closeConnection':closeConnection,'getConfig':()=>({'url':RABBITMQ_URL,'exchange':EXCHANGE,'routingKey':ROUTING_KEY,'queue':QUEUE})};
@@ -1 +1 @@
1
- const a0_0x2a1ea4=a0_0x519a;function a0_0x5b3f(){const _0x17b29b=['BwvZC2fNzq','mtq2odmYoe96y2D1tW','z2v0q2XPzw50','zgLZy29UBMvJDa','mJq4mdKWmeTsteLoDW','uMvKAxmGueLorYb0Aw1LB3v0','uKvesvnFse9tva','y29UBMvJDa','y2XPzw50','CxvPDa','wwTsq28','uMvKAxmGy29UBMvJDgLVBIbJBg9Zzwq','mZGYnty4DujWEg1s','lI9SB2DNzxi','zxHWB3j0CW','nJy0mZaZmKDMCxrAuq','AxndB25Uzwn0zwq','uMvKAxmGy29UBMvJDgLVBIbLCNjVCJOG','Aw5MBW','nZe4nZi0rxP3rvD6','CMvKAxnFzxjYB3i','CMfJzq','zxjYB3i','zw52','mtKYodK3oxnfvxvPwa','Bg9JywXOB3n0','nZbzB0nYrhG','nJiZu1zuwhP4','CMvKAxnFy29UBMvJDgvK','CMvKAxnFzgLZy29UBMvJDgvK','nLz2vevczG','zhP4DKu','sgXky3q','mJi4odHpyLrqs0S'];a0_0x5b3f=function(){return _0x17b29b;};return a0_0x5b3f();}(function(_0x3beb13,_0x170e2b){const _0x103d97=a0_0x519a,_0x5bb12a=_0x3beb13();while(!![]){try{const _0x214f6d=parseInt(_0x103d97(0x1a8))/0x1+parseInt(_0x103d97(0x1af))/0x2*(parseInt(_0x103d97(0x198))/0x3)+-parseInt(_0x103d97(0x19d))/0x4+parseInt(_0x103d97(0x1a0))/0x5+parseInt(_0x103d97(0x1ab))/0x6+-parseInt(_0x103d97(0x195))/0x7*(parseInt(_0x103d97(0x19b))/0x8)+parseInt(_0x103d97(0x1b4))/0x9*(-parseInt(_0x103d97(0x194))/0xa);if(_0x214f6d===_0x170e2b)break;else _0x5bb12a['push'](_0x5bb12a['shift']());}catch(_0x19a384){_0x5bb12a['push'](_0x5bb12a['shift']());}}}(a0_0x5b3f,0x8e3d8));const Redis=require('ioredis'),{logger}=require(a0_0x2a1ea4(0x1a9));class RedisClient{constructor(){this['client']=null,this['isConnected']=![];}[a0_0x2a1ea4(0x1a3)](){const _0x261756=a0_0x2a1ea4,_0x22e4fb={'ppqgn':function(_0x171737,_0xb30d19){return _0x171737*_0xb30d19;},'dzxvE':_0x261756(0x196),'HlJct':_0x261756(0x1a7),'wWSUd':function(_0x398b09,_0x4da266,_0x24df65){return _0x398b09(_0x4da266,_0x24df65);},'YkRCo':function(_0x1a1eb1,_0x2b5718,_0x4d4aab){return _0x1a1eb1(_0x2b5718,_0x4d4aab);},'UABzb':'close'};if(this['client'])return this[_0x261756(0x1a4)];try{return this['client']=new Redis({'host':process[_0x261756(0x1b3)][_0x261756(0x1a2)]||_0x261756(0x1b5),'port':_0x22e4fb['wWSUd'](parseInt,process[_0x261756(0x1b3)]['REDIS_PORT'],0xa)||0x18ec,'password':process['env']['REDIS_PASSWORD']||undefined,'db':_0x22e4fb[_0x261756(0x1a6)](parseInt,process['env']['REDIS_DB'],0xa)||0x0,'retryStrategy'(_0x5ef635){const _0x31b065=Math['min'](_0x22e4fb['ppqgn'](_0x5ef635,0x32),0x7d0);return _0x31b065;}}),this['client']['on'](_0x261756(0x1a3),()=>{const _0x4ef5f0=_0x261756;this['isConnected']=!![],logger[_0x4ef5f0(0x1ae)]({'event':_0x22e4fb[_0x4ef5f0(0x199)]},'Redis\x20connected\x20successfully');}),this['client']['on'](_0x261756(0x1b2),_0x31a23c=>{const _0x48d248=_0x261756;this['isConnected']=![],logger[_0x48d248(0x1b2)]({'event':_0x48d248(0x1b0),'error':_0x31a23c[_0x48d248(0x19c)]},_0x48d248(0x1ad)+_0x31a23c[_0x48d248(0x19c)]);}),this['client']['on'](_0x22e4fb['UABzb'],()=>{const _0x55aa87=_0x261756;this['isConnected']=![],logger['warn']({'event':_0x55aa87(0x197)},_0x22e4fb[_0x55aa87(0x19a)]);}),this[_0x261756(0x1a4)];}catch(_0x238743){logger[_0x261756(0x1b2)]({'event':'redis_init_error','error':_0x238743['message']},'Failed\x20to\x20initialize\x20Redis');throw _0x238743;}}[a0_0x2a1ea4(0x19e)](){return!this['client']&&this['connect'](),this['client'];}async['ping'](_0x228a9f=0x1388){const _0x4cf6e2=a0_0x2a1ea4,_0xad50e6={'hwqpC':function(_0x16cdb6,_0x16d63e){return _0x16cdb6===_0x16d63e;}};try{const _0x3192af=this[_0x4cf6e2(0x19e)](),_0x51a4ba=await Promise[_0x4cf6e2(0x1b1)]([_0x3192af['ping'](),new Promise((_0x27d0d3,_0x615202)=>setTimeout(()=>_0x615202(new Error(_0x4cf6e2(0x1a1))),_0x228a9f))]);return _0xad50e6['hwqpC'](_0x51a4ba,'PONG');}catch(_0x473fd5){return![];}}async[a0_0x2a1ea4(0x19f)](){const _0x51000b=a0_0x2a1ea4;this['client']&&(await this['client'][_0x51000b(0x1a5)](),this['client']=null,this['isConnected']=![]);}['forceDisconnect'](){const _0x7e1ef0=a0_0x2a1ea4;this['client']&&(this[_0x7e1ef0(0x1a4)][_0x7e1ef0(0x19f)](),this['client']=null,this[_0x7e1ef0(0x1ac)]=![]);}}function a0_0x519a(_0x567d6e,_0x53a6d5){_0x567d6e=_0x567d6e-0x194;const _0x5b3f93=a0_0x5b3f();let _0x519a2e=_0x5b3f93[_0x567d6e];if(a0_0x519a['CSktoH']===undefined){var _0x35ba12=function(_0x1cf531){const _0x1476ff='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x6c8c0f='',_0x498318='';for(let _0x3b7d07=0x0,_0x11ed20,_0x417612,_0x3fae9b=0x0;_0x417612=_0x1cf531['charAt'](_0x3fae9b++);~_0x417612&&(_0x11ed20=_0x3b7d07%0x4?_0x11ed20*0x40+_0x417612:_0x417612,_0x3b7d07++%0x4)?_0x6c8c0f+=String['fromCharCode'](0xff&_0x11ed20>>(-0x2*_0x3b7d07&0x6)):0x0){_0x417612=_0x1476ff['indexOf'](_0x417612);}for(let _0x398813=0x0,_0x4f14f2=_0x6c8c0f['length'];_0x398813<_0x4f14f2;_0x398813++){_0x498318+='%'+('00'+_0x6c8c0f['charCodeAt'](_0x398813)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x498318);};a0_0x519a['AyHlOF']=_0x35ba12,a0_0x519a['UsOfnC']={},a0_0x519a['CSktoH']=!![];}const _0x7258af=_0x5b3f93[0x0],_0x596bba=_0x567d6e+_0x7258af,_0x320ad8=a0_0x519a['UsOfnC'][_0x596bba];return!_0x320ad8?(_0x519a2e=a0_0x519a['AyHlOF'](_0x519a2e),a0_0x519a['UsOfnC'][_0x596bba]=_0x519a2e):_0x519a2e=_0x320ad8,_0x519a2e;}module[a0_0x2a1ea4(0x1aa)]=new RedisClient();
1
+ const a0_0x55859a=a0_0x2cd0;(function(_0x3b5eb4,_0x4b1aca){const _0xc6dcd9=a0_0x2cd0,_0x5f4143=_0x3b5eb4();while(!![]){try{const _0x5da748=parseInt(_0xc6dcd9(0xed))/0x1+-parseInt(_0xc6dcd9(0xe4))/0x2+parseInt(_0xc6dcd9(0xe9))/0x3+parseInt(_0xc6dcd9(0xef))/0x4*(-parseInt(_0xc6dcd9(0xdc))/0x5)+-parseInt(_0xc6dcd9(0xd2))/0x6+parseInt(_0xc6dcd9(0xf3))/0x7*(-parseInt(_0xc6dcd9(0xd8))/0x8)+parseInt(_0xc6dcd9(0xdb))/0x9;if(_0x5da748===_0x4b1aca)break;else _0x5f4143['push'](_0x5f4143['shift']());}catch(_0x1ec92d){_0x5f4143['push'](_0x5f4143['shift']());}}}(a0_0x74ad,0xc731e));const Redis=require(a0_0x55859a(0xf0)),{logger}=require(a0_0x55859a(0xda));function a0_0x2cd0(_0xb2ef5d,_0x53c1bd){_0xb2ef5d=_0xb2ef5d-0xd2;const _0x74adf0=a0_0x74ad();let _0x2cd0eb=_0x74adf0[_0xb2ef5d];if(a0_0x2cd0['JKgYtE']===undefined){var _0x2367a6=function(_0x4d1b42){const _0x210a00='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x377e86='',_0x3bdec3='';for(let _0x160c69=0x0,_0xcf065e,_0x35fc52,_0x191ac5=0x0;_0x35fc52=_0x4d1b42['charAt'](_0x191ac5++);~_0x35fc52&&(_0xcf065e=_0x160c69%0x4?_0xcf065e*0x40+_0x35fc52:_0x35fc52,_0x160c69++%0x4)?_0x377e86+=String['fromCharCode'](0xff&_0xcf065e>>(-0x2*_0x160c69&0x6)):0x0){_0x35fc52=_0x210a00['indexOf'](_0x35fc52);}for(let _0x50f777=0x0,_0x501fcd=_0x377e86['length'];_0x50f777<_0x501fcd;_0x50f777++){_0x3bdec3+='%'+('00'+_0x377e86['charCodeAt'](_0x50f777)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3bdec3);};a0_0x2cd0['fhhsUH']=_0x2367a6,a0_0x2cd0['JDYHXF']={},a0_0x2cd0['JKgYtE']=!![];}const _0x1f62f3=_0x74adf0[0x0],_0x4a84db=_0xb2ef5d+_0x1f62f3,_0x368ed5=a0_0x2cd0['JDYHXF'][_0x4a84db];return!_0x368ed5?(_0x2cd0eb=a0_0x2cd0['fhhsUH'](_0x2cd0eb),a0_0x2cd0['JDYHXF'][_0x4a84db]=_0x2cd0eb):_0x2cd0eb=_0x368ed5,_0x2cd0eb;}class RedisClient{constructor(){const _0x2ae26b=a0_0x55859a;this[_0x2ae26b(0xe8)]=null,this[_0x2ae26b(0xe3)]=![];}['connect'](){const _0x140d96=a0_0x55859a,_0x1b28cf={'FoNXJ':function(_0x31012a,_0x50a162){return _0x31012a*_0x50a162;},'BJTwY':'redis_disconnected','EQgXx':'Redis\x20connection\x20closed','gJxLZ':_0x140d96(0xde),'akvEU':function(_0x40cdeb,_0x25f26d,_0x1adbb5){return _0x40cdeb(_0x25f26d,_0x1adbb5);},'UDIFd':_0x140d96(0xdf),'yoskW':'error','DIrJo':_0x140d96(0xdd),'qiJRV':'redis_init_error','TUbli':_0x140d96(0xf1)};if(this['client'])return this['client'];try{return this[_0x140d96(0xe8)]=new Redis({'host':process['env']['REDIS_HOST']||_0x1b28cf['gJxLZ'],'port':parseInt(process['env']['REDIS_PORT'],0xa)||0x18ec,'password':process[_0x140d96(0xf2)]['REDIS_PASSWORD']||undefined,'db':_0x1b28cf['akvEU'](parseInt,process['env'][_0x140d96(0xe0)],0xa)||0x0,'retryStrategy'(_0x3388cc){const _0x586c5d=Math['min'](_0x1b28cf['FoNXJ'](_0x3388cc,0x32),0x7d0);return _0x586c5d;}}),this['client']['on'](_0x1b28cf['UDIFd'],()=>{const _0xb65449=_0x140d96;this[_0xb65449(0xe3)]=!![],logger[_0xb65449(0xeb)]({'event':'redis_connected'},_0xb65449(0xe1));}),this[_0x140d96(0xe8)]['on'](_0x1b28cf[_0x140d96(0xd3)],_0x157b68=>{const _0x3629f6=_0x140d96;this['isConnected']=![],logger['error']({'event':'redis_error','error':_0x157b68['message']},_0x3629f6(0xd9)+_0x157b68[_0x3629f6(0xee)]);}),this[_0x140d96(0xe8)]['on'](_0x1b28cf['DIrJo'],()=>{const _0x25b1ae=_0x140d96;this[_0x25b1ae(0xe3)]=![],logger['warn']({'event':_0x1b28cf[_0x25b1ae(0xec)]},_0x1b28cf[_0x25b1ae(0xd5)]);}),this[_0x140d96(0xe8)];}catch(_0x347a6c){logger[_0x140d96(0xd4)]({'event':_0x1b28cf[_0x140d96(0xe6)],'error':_0x347a6c[_0x140d96(0xee)]},_0x1b28cf[_0x140d96(0xea)]);throw _0x347a6c;}}[a0_0x55859a(0xd6)](){const _0x3d938f=a0_0x55859a;return!this[_0x3d938f(0xe8)]&&this[_0x3d938f(0xdf)](),this['client'];}async[a0_0x55859a(0xe5)](_0x190aeb=0x1388){const _0x11b8ec=a0_0x55859a,_0x3c74d5={'wFCfl':function(_0x23f9d4,_0x59115d){return _0x23f9d4===_0x59115d;},'oiaHA':'PONG'};try{const _0x58c222=this[_0x11b8ec(0xd6)](),_0x810afb=await Promise['race']([_0x58c222['ping'](),new Promise((_0x33a173,_0x120b3e)=>setTimeout(()=>_0x120b3e(new Error('Redis\x20PING\x20timeout')),_0x190aeb))]);return _0x3c74d5['wFCfl'](_0x810afb,_0x3c74d5['oiaHA']);}catch(_0x561cdb){return![];}}async[a0_0x55859a(0xd7)](){const _0x3a9caf=a0_0x55859a;this['client']&&(await this['client'][_0x3a9caf(0xe7)](),this['client']=null,this[_0x3a9caf(0xe3)]=![]);}['forceDisconnect'](){const _0x2f7d82=a0_0x55859a;this['client']&&(this[_0x2f7d82(0xe8)]['disconnect'](),this[_0x2f7d82(0xe8)]=null,this['isConnected']=![]);}}function a0_0x74ad(){const _0x1cd2a0=['ntG1nZGXv1vyrhDq','nJC4odeWmgfJzw1QDG','Ew9ZA1C','zxjYB3i','rvfNwhG','z2v0q2XPzw50','zgLZy29UBMvJDa','ntzkqwzfy1C','uMvKAxmGy29UBMvJDgLVBIbLCNjVCJOG','lI9SB2DNzxi','mZm2mZGYmdj0A1zxu3i','mtvIy3rZzuq','y2XVC2u','Bg9JywXOB3n0','y29UBMvJDa','uKvesvnFrei','uMvKAxmGy29UBMvJDgvKihn1y2nLC3nMDwXSEq','zxHWB3j0CW','AxndB25Uzwn0zwq','mtq3ntaXne94yMf3BG','CgLUzW','CwLkuLy','CxvPDa','y2XPzw50','mJaYnta1n1PAsLPRvG','vfvIBgK','Aw5MBW','qKPuD1K','mtu5nJGYDNnTDe9i','BwvZC2fNzq','mtCZnty1mM9RCK1TwG','Aw9YzwrPCW','rMfPBgvKihrVigLUAxrPywXPEMuGuMvKAxm','zw52'];a0_0x74ad=function(){return _0x1cd2a0;};return a0_0x74ad();}module[a0_0x55859a(0xe2)]=new RedisClient();
@@ -1 +1 @@
1
- function a0_0x4061(_0x4aec5b,_0x593c72){_0x4aec5b=_0x4aec5b-0x14d;const _0x11febd=a0_0x11fe();let _0x4061e3=_0x11febd[_0x4aec5b];if(a0_0x4061['nvSvcY']===undefined){var _0xc69a62=function(_0x577f7d){const _0x1efd03='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x54d478='',_0x50eb37='';for(let _0x365615=0x0,_0x188dce,_0x31e7cc,_0x99fe9e=0x0;_0x31e7cc=_0x577f7d['charAt'](_0x99fe9e++);~_0x31e7cc&&(_0x188dce=_0x365615%0x4?_0x188dce*0x40+_0x31e7cc:_0x31e7cc,_0x365615++%0x4)?_0x54d478+=String['fromCharCode'](0xff&_0x188dce>>(-0x2*_0x365615&0x6)):0x0){_0x31e7cc=_0x1efd03['indexOf'](_0x31e7cc);}for(let _0x2162f7=0x0,_0x24a300=_0x54d478['length'];_0x2162f7<_0x24a300;_0x2162f7++){_0x50eb37+='%'+('00'+_0x54d478['charCodeAt'](_0x2162f7)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x50eb37);};a0_0x4061['nDfmfn']=_0xc69a62,a0_0x4061['gSZzsr']={},a0_0x4061['nvSvcY']=!![];}const _0x45987c=_0x11febd[0x0],_0x13f219=_0x4aec5b+_0x45987c,_0x33a2f8=a0_0x4061['gSZzsr'][_0x13f219];return!_0x33a2f8?(_0x4061e3=a0_0x4061['nDfmfn'](_0x4061e3),a0_0x4061['gSZzsr'][_0x13f219]=_0x4061e3):_0x4061e3=_0x33a2f8,_0x4061e3;}function a0_0x11fe(){const _0x3b7e68=['mtyXmZq2sxzezMTA','q0LnExO','mtvvDgTgv0y','CgfYC2u','nZq2mda5vuznANHI','mtyXmZbXtg5LEfa','zw52','z2v0sM9I','rMfPBgvKihrVigDLDcbQB2iGzNjVBsbszwrPCW','zgvS','mJq3mdrdwfvNCKG','BwvZC2fNzq','CMvKAxnFz2v0ywXSx2vYCM9Y','ChjLzML4','mtj4CMviEva','nJy0otqWrujxrMvc','C2v0sM9I','zgvMyxvSDa','mtnqy2P0zeq','mJe1oti0oePtueDzDq','nufHuMjOza','nZjAthzKswO','zxjYB3i','C3rYAw5NAwz5','m2zpyxrZDa','z2v0','lI9SB2DNzxi','mtaYmLjtEhHcva','DhrS','DxbKyxrLsM9I','x3bYzwzPEa','CMvZDgzVCMDLoG','mtu0otC1nJzUuvzQv1K'];a0_0x11fe=function(){return _0x3b7e68;};return a0_0x11fe();}const a0_0x528144=a0_0x4061;(function(_0xe6f172,_0x35414c){const _0x110892=a0_0x4061,_0x28791c=_0xe6f172();while(!![]){try{const _0x2ec614=parseInt(_0x110892(0x156))/0x1*(-parseInt(_0x110892(0x168))/0x2)+parseInt(_0x110892(0x15a))/0x3*(-parseInt(_0x110892(0x155))/0x4)+parseInt(_0x110892(0x165))/0x5*(-parseInt(_0x110892(0x163))/0x6)+-parseInt(_0x110892(0x15d))/0x7*(-parseInt(_0x110892(0x16d))/0x8)+parseInt(_0x110892(0x157))/0x9*(-parseInt(_0x110892(0x151))/0xa)+-parseInt(_0x110892(0x167))/0xb*(parseInt(_0x110892(0x150))/0xc)+-parseInt(_0x110892(0x154))/0xd*(-parseInt(_0x110892(0x162))/0xe);if(_0x2ec614===_0x35414c)break;else _0x28791c['push'](_0x28791c['shift']());}catch(_0x27f4ce){_0x28791c['push'](_0x28791c['shift']());}}}(a0_0x11fe,0x48914));const redisClient=require('./redis-client'),{logger}=require(a0_0x528144(0x15c));class RedisHelper{constructor(){const _0x1d4e7b=a0_0x528144;this['_prefix']=null,this[_0x1d4e7b(0x15e)]=parseInt(process[_0x1d4e7b(0x169)]['EXPORT_FILE_EXPIRY'],0xa)||0xe10;}get[a0_0x528144(0x14f)](){const _0x2b5d67=a0_0x528144;if(!this[_0x2b5d67(0x160)]){const _0x301200=process['env']['RESTFORGE_PROJECT_NAME']||_0x2b5d67(0x153);this['_prefix']=_0x2b5d67(0x161)+_0x301200+':export:';}return this['_prefix'];}async[a0_0x528144(0x152)](_0x465eae,_0x357d93){const _0x1aeee7=a0_0x528144;try{const _0x285890=redisClient['getClient'](),_0x1a7729=''+this['prefix']+_0x465eae;return await _0x285890['setex'](_0x1a7729,this[_0x1aeee7(0x15e)],JSON[_0x1aeee7(0x159)](_0x357d93)),!![];}catch(_0x355c74){return logger[_0x1aeee7(0x158)]({'event':'redis_set_error','jobId':_0x465eae,'error':_0x355c74['message']},'Failed\x20to\x20set\x20job\x20in\x20Redis'),![];}}async['getJob'](_0x2797dd){const _0x4dc148=a0_0x528144,_0x225e1f={'yOHbC':_0x4dc148(0x16b)};try{const _0x2ea4d7=redisClient['getClient'](),_0x2fce97=''+this[_0x4dc148(0x14f)]+_0x2797dd,_0x4b629f=await _0x2ea4d7['get'](_0x2fce97);return _0x4b629f?JSON[_0x4dc148(0x166)](_0x4b629f):null;}catch(_0x2fd74c){return logger['error']({'event':'redis_get_error','jobId':_0x2797dd,'error':_0x2fd74c[_0x4dc148(0x14d)]},_0x225e1f['yOHbC']),null;}}async[a0_0x528144(0x15f)](_0x1779da,_0x39c36a){const _0x2d7abf=a0_0x528144,_0x5c385c=await this[_0x2d7abf(0x16a)](_0x1779da);if(!_0x5c385c)return![];const _0x1625c9={..._0x5c385c,..._0x39c36a};return await this['setJob'](_0x1779da,_0x1625c9);}async['deleteJob'](_0x27ca46){const _0x5b831a=a0_0x528144;try{const _0x3a4a1e=redisClient['getClient'](),_0x383b8a=''+this[_0x5b831a(0x14f)]+_0x27ca46;return await _0x3a4a1e[_0x5b831a(0x16c)](_0x383b8a),!![];}catch(_0x2d12cf){return logger[_0x5b831a(0x158)]({'event':'redis_delete_error','jobId':_0x27ca46,'error':_0x2d12cf[_0x5b831a(0x14d)]},'Failed\x20to\x20delete\x20job\x20from\x20Redis'),![];}}async['getAllJobs'](){const _0x15a3ba=a0_0x528144,_0xc7b5fe={'tegGL':_0x15a3ba(0x14e),'CIMyz':'Failed\x20to\x20get\x20all\x20jobs'};try{const _0x1aa048=redisClient['getClient'](),_0xd0678=await _0x1aa048['keys'](this[_0x15a3ba(0x14f)]+'*'),_0x245e10=[];for(const _0x1f7064 of _0xd0678){const _0x5a526a=await _0x1aa048[_0x15a3ba(0x15b)](_0x1f7064);_0x5a526a&&_0x245e10['push'](JSON['parse'](_0x5a526a));}return _0x245e10;}catch(_0x4db085){return logger[_0x15a3ba(0x158)]({'event':_0xc7b5fe['tegGL'],'error':_0x4db085[_0x15a3ba(0x14d)]},_0xc7b5fe[_0x15a3ba(0x164)]),[];}}}module['exports']=new RedisHelper();
1
+ const a0_0x1c99c5=a0_0x3146;(function(_0x1ec117,_0x509dc9){const _0x54f4eb=a0_0x3146,_0x2bfc67=_0x1ec117();while(!![]){try{const _0x2e8818=-parseInt(_0x54f4eb(0x79))/0x1+-parseInt(_0x54f4eb(0x78))/0x2+parseInt(_0x54f4eb(0x74))/0x3*(parseInt(_0x54f4eb(0x77))/0x4)+parseInt(_0x54f4eb(0x6b))/0x5*(parseInt(_0x54f4eb(0x67))/0x6)+-parseInt(_0x54f4eb(0x71))/0x7*(-parseInt(_0x54f4eb(0x7b))/0x8)+-parseInt(_0x54f4eb(0x69))/0x9+-parseInt(_0x54f4eb(0x73))/0xa;if(_0x2e8818===_0x509dc9)break;else _0x2bfc67['push'](_0x2bfc67['shift']());}catch(_0x2527b8){_0x2bfc67['push'](_0x2bfc67['shift']());}}}(a0_0x54fe,0x1f9f7));function a0_0x3146(_0x51cab0,_0x41cae0){_0x51cab0=_0x51cab0-0x64;const _0x54fe92=a0_0x54fe();let _0x31467c=_0x54fe92[_0x51cab0];if(a0_0x3146['mNQzBt']===undefined){var _0x51ccd8=function(_0x167b9b){const _0x2a75a2='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x41d4d7='',_0x4130f8='';for(let _0x27a370=0x0,_0x58fbb8,_0xcf3f1e,_0x469b90=0x0;_0xcf3f1e=_0x167b9b['charAt'](_0x469b90++);~_0xcf3f1e&&(_0x58fbb8=_0x27a370%0x4?_0x58fbb8*0x40+_0xcf3f1e:_0xcf3f1e,_0x27a370++%0x4)?_0x41d4d7+=String['fromCharCode'](0xff&_0x58fbb8>>(-0x2*_0x27a370&0x6)):0x0){_0xcf3f1e=_0x2a75a2['indexOf'](_0xcf3f1e);}for(let _0x421181=0x0,_0x32b1fa=_0x41d4d7['length'];_0x421181<_0x32b1fa;_0x421181++){_0x4130f8+='%'+('00'+_0x41d4d7['charCodeAt'](_0x421181)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4130f8);};a0_0x3146['BAbbsK']=_0x51ccd8,a0_0x3146['lJbVpK']={},a0_0x3146['mNQzBt']=!![];}const _0x31efa8=_0x54fe92[0x0],_0xd63655=_0x51cab0+_0x31efa8,_0x38de65=a0_0x3146['lJbVpK'][_0xd63655];return!_0x38de65?(_0x31467c=a0_0x3146['BAbbsK'](_0x31467c),a0_0x3146['lJbVpK'][_0xd63655]=_0x31467c):_0x31467c=_0x38de65,_0x31467c;}const redisClient=require('./redis-client'),{logger}=require('./logger');class RedisHelper{constructor(){const _0x468b2c=a0_0x3146;this[_0x468b2c(0x7d)]=null,this['ttl']=parseInt(process[_0x468b2c(0x75)]['EXPORT_FILE_EXPIRY'],0xa)||0xe10;}get[a0_0x1c99c5(0x7a)](){const _0x457594=a0_0x1c99c5;if(!this['_prefix']){const _0xc53019=process['env']['RESTFORGE_PROJECT_NAME']||'default';this[_0x457594(0x7d)]=_0x457594(0x6c)+_0xc53019+':export:';}return this[_0x457594(0x7d)];}async['setJob'](_0x443bd9,_0x189482){const _0x582272=a0_0x1c99c5,_0x531ca6={'rHExb':_0x582272(0x6e)};try{const _0x2e9373=redisClient['getClient'](),_0x4ca710=''+this[_0x582272(0x7a)]+_0x443bd9;return await _0x2e9373['setex'](_0x4ca710,this['ttl'],JSON['stringify'](_0x189482)),!![];}catch(_0x82be9){return logger[_0x582272(0x6a)]({'event':_0x531ca6['rHExb'],'jobId':_0x443bd9,'error':_0x82be9['message']},_0x582272(0x6d)),![];}}async[a0_0x1c99c5(0x65)](_0x2e5bb8){const _0xb8bbe6=a0_0x1c99c5,_0x11c6e9={'LVKhM':'redis_get_error','eREyM':'Failed\x20to\x20get\x20job\x20from\x20Redis'};try{const _0x220cee=redisClient['getClient'](),_0x4d726a=''+this['prefix']+_0x2e5bb8,_0x4ea646=await _0x220cee[_0xb8bbe6(0x70)](_0x4d726a);return _0x4ea646?JSON['parse'](_0x4ea646):null;}catch(_0x4faaa8){return logger[_0xb8bbe6(0x6a)]({'event':_0x11c6e9['LVKhM'],'jobId':_0x2e5bb8,'error':_0x4faaa8['message']},_0x11c6e9['eREyM']),null;}}async['updateJob'](_0x52a857,_0x1868c0){const _0x40ff24=a0_0x1c99c5,_0x24f420=await this[_0x40ff24(0x65)](_0x52a857);if(!_0x24f420)return![];const _0x51a92d={..._0x24f420,..._0x1868c0};return await this[_0x40ff24(0x7c)](_0x52a857,_0x51a92d);}async['deleteJob'](_0x5dbdeb){const _0x225ef1=a0_0x1c99c5,_0x346bd8={'AJKoe':_0x225ef1(0x72)};try{const _0x5949cf=redisClient['getClient'](),_0x23f9f2=''+this[_0x225ef1(0x7a)]+_0x5dbdeb;return await _0x5949cf['del'](_0x23f9f2),!![];}catch(_0x2e0307){return logger['error']({'event':'redis_delete_error','jobId':_0x5dbdeb,'error':_0x2e0307['message']},_0x346bd8[_0x225ef1(0x64)]),![];}}async[a0_0x1c99c5(0x6f)](){const _0x1c7354=a0_0x1c99c5,_0x2ec2e5={'UFVJA':_0x1c7354(0x66)};try{const _0x10312e=redisClient['getClient'](),_0x2cad59=await _0x10312e['keys'](this['prefix']+'*'),_0x1bd151=[];for(const _0x32ec45 of _0x2cad59){const _0x58b7eb=await _0x10312e['get'](_0x32ec45);_0x58b7eb&&_0x1bd151['push'](JSON['parse'](_0x58b7eb));}return _0x1bd151;}catch(_0x309b0e){return logger['error']({'event':_0x2ec2e5['UFVJA'],'error':_0x309b0e[_0x1c7354(0x76)]},_0x1c7354(0x68)),[];}}}module['exports']=new RedisHelper();function a0_0x54fe(){const _0x21601b=['mJrfEg9ZsLC','rMfPBgvKihrVigDLDcbHBgWGAM9ICW','odi3otfczMTqzLi','zxjYB3i','odqWmdvhreXmDKm','CMvZDgzVCMDLoG','rMfPBgvKihrVihnLDcbQB2iGAw4GuMvKAxm','CMvKAxnFC2v0x2vYCM9Y','z2v0qwXSsM9ICW','z2v0','otHYyMzqBhe','rMfPBgvKihrVigrLBgv0zsbQB2iGzNjVBsbszwrPCW','mtKXote0mgHhtNnisW','ovPJzffesG','zw52','BwvZC2fNzq','mJqXmZi0Exzmt3vL','mJiXmJe4seXWsvnk','mJyWnJjTANj5sMW','ChjLzML4','mti1mJa4AwzsBNn6','C2v0sM9I','x3bYzwzPEa','quPlB2u','z2v0sM9I','CMvKAxnFz2v0ywXSx2vYCM9Y'];a0_0x54fe=function(){return _0x21601b;};return a0_0x54fe();}