@restforgejs/platform 5.2.4 → 5.2.10

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/build-info.json +2 -2
  2. package/cli/consumer-deploy.js +1 -1
  3. package/cli/consumer.js +1 -1
  4. package/generators/cli/fast-track.js +235 -30
  5. package/generators/lib/migrate/backend-payload-migrator.js +39 -17
  6. package/generators/lib/migrate/field-type-resolver.js +64 -7
  7. package/generators/lib/payload/payload-runner.js +72 -6
  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_0x154ba4=a0_0x40f5;(function(_0x2148f5,_0x6bf46b){const _0x999a8e=a0_0x40f5,_0x4f11df=_0x2148f5();while(!![]){try{const _0x592936=-parseInt(_0x999a8e(0xba))/0x1+-parseInt(_0x999a8e(0xda))/0x2+parseInt(_0x999a8e(0x9c))/0x3*(parseInt(_0x999a8e(0xdd))/0x4)+parseInt(_0x999a8e(0xca))/0x5*(-parseInt(_0x999a8e(0x8c))/0x6)+-parseInt(_0x999a8e(0xa1))/0x7*(-parseInt(_0x999a8e(0xb0))/0x8)+-parseInt(_0x999a8e(0xa5))/0x9+parseInt(_0x999a8e(0xd8))/0xa*(parseInt(_0x999a8e(0xbf))/0xb);if(_0x592936===_0x6bf46b)break;else _0x4f11df['push'](_0x4f11df['shift']());}catch(_0x1173dd){_0x4f11df['push'](_0x4f11df['shift']());}}}(a0_0x5957,0x52b8a));function a0_0x40f5(_0x139851,_0x217dc4){_0x139851=_0x139851-0x8b;const _0x595708=a0_0x5957();let _0x40f585=_0x595708[_0x139851];if(a0_0x40f5['SyfaUv']===undefined){var _0x3f4ca8=function(_0x75f381){const _0x32da69='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1fb5e9='',_0x5b9811='';for(let _0x69dca1=0x0,_0x3e277b,_0x55c9e6,_0x38fc89=0x0;_0x55c9e6=_0x75f381['charAt'](_0x38fc89++);~_0x55c9e6&&(_0x3e277b=_0x69dca1%0x4?_0x3e277b*0x40+_0x55c9e6:_0x55c9e6,_0x69dca1++%0x4)?_0x1fb5e9+=String['fromCharCode'](0xff&_0x3e277b>>(-0x2*_0x69dca1&0x6)):0x0){_0x55c9e6=_0x32da69['indexOf'](_0x55c9e6);}for(let _0x9d1013=0x0,_0x427db5=_0x1fb5e9['length'];_0x9d1013<_0x427db5;_0x9d1013++){_0x5b9811+='%'+('00'+_0x1fb5e9['charCodeAt'](_0x9d1013)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5b9811);};a0_0x40f5['DORPwO']=_0x3f4ca8,a0_0x40f5['BIebKB']={},a0_0x40f5['SyfaUv']=!![];}const _0x4c83d4=_0x595708[0x0],_0x12558b=_0x139851+_0x4c83d4,_0x13ccc2=a0_0x40f5['BIebKB'][_0x12558b];return!_0x13ccc2?(_0x40f585=a0_0x40f5['DORPwO'](_0x40f585),a0_0x40f5['BIebKB'][_0x12558b]=_0x40f585):_0x40f585=_0x13ccc2,_0x40f585;}const redisClient=require('./redis-client'),{logger}=require('./logger'),{v4:uuidv4}=require('uuid');function a0_0x5957(){const _0x4509e9=['Dhj1zq','D3jPDgvFBg9JA19LCNjVCG','zgvIDwC','mJaXzNLRuxrL','AxnfBMfIBgvK','C2v0','x2LUAxrPywXPEMvK','C2XLzxa','mte3ndy0mLfoquPrqG','x2vUywjSzwq','z2v0tg9JA0LUzM8','v2fPDgLUzYbMB3iGv1jjveuGBg9JAYb0BYbYzwXLyxnL','nJa3mJe2nvr2wLniwa','q0P6AxO','t1fxBeK','BM93','tg9JAYbLEhrLBMqGzxjYB3i','CMvQzwn0','ALzjww0','nNWXFdn8nxW0Fdb8mNW3','D3jPDgvFBg9JA19Hy3f1AxjLza','x3jLDhj5rgvSyxK','DgrOuwu','oe9pCxPZqq','zxjYB3i','Cg93','x3DVCMTLCKLK','suL2rgC','D3jPDgu','tg9JAYbYzwXLyxnLigvYCM9Y','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMv0CNKGBw9KzsK','tNjyuhy','Bg9JA19LEhrLBMrLza','ndC4mduYtufgDK5q','CMvHzf9SB2nRx3DHAxrPBMC','CMvSzwfZzuXVy2S','C3vIC3rYAw5N','zw5HyMXLza','mZaYmtDxzLr5C3G','CMy6Bg9JAZO','D29YA2vYswq','txjiA1q','BgfZDeLUzgv4t2y','CgLK','x2LUAxrdB25MAwC','zw52','EffeCLe','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMvQzwn0ig1VzguP','v1jjveuGBg9JAYbYzwXLyxnLza','mta1mtmZmePSD1Pgtq','x2vUC3vYzuLUAxrPywXPEMvK','qvz4r0e','DfnoCgi','CMv0CNLdB3vUDa','uLnQANq','tg9JAYbJB25MAwD1CMf0Aw9UigLUAxrPywXPEMvKic0Gzw5HyMXLzdOG','ywnXDwLYzvDYAxrLtg9JAW','x3bYzwzPEa','z2v0','CMv0CNLezwXHEq','Aw5JBhvKzxm','AvrssNq','yNvPBgrmB2nRs2v5','nti3meXRru12vq','Bg9JA19JB25MAwDFAw5PDa','mJm5odC4qvLswMP5','Bg9JA19YzwXLyxnLx2vYCM9Y','DfLnsvC','mtiZmtzZwwX1q1i','DwLtu1C','CMv0CNK','D3jPDgvFBg9JA19YzwPLy3rLza','t1rZuwS','Bg9JA19LEhrLBMrFzxjYB3i','zxzHBa','x2rLzMf1BhruveW','zgvMyxvSDfruta','C2v0zxG','z2v0q2XPzw50','Aw5JCG','z2vUzxjHDgvmB2nRvMfSDwu','D2fYBG','v1jjveuGBg9JAYbHy3f1AxjLihrPBwvVDxq','nKXZCw1VBq','CMvHzf9SB2nRx3jLBgvHC2vK','C3rYyxrLz3K','DfDyv1K','ywXS','x3jLDhj5q291BNq','zwTlDuK','x3n0CMf0zwD5','te9ds19esvnuuKLcvvrfrf9srvrswv9eruXbwq','u2jxrKW','rLHnCgm','CMvHza','BwvZC2fNzq'];a0_0x5957=function(){return _0x4509e9;};return a0_0x5957();}class LockManager{constructor(){const _0x15199a=a0_0x40f5,_0x2022e4={'MrHkT':_0x15199a(0xac)},_0x404a77=_0x2022e4[_0x15199a(0xc2)]['split']('|');let _0x47ee12=0x0;while(!![]){switch(_0x404a77[_0x47ee12++]){case'0':this[_0x15199a(0x93)]=null;continue;case'1':this[_0x15199a(0xa2)]=null;continue;case'2':this['_workerId']=null;continue;case'3':this[_0x15199a(0xe4)]=null;continue;case'4':this[_0x15199a(0xae)]=null;continue;case'5':this[_0x15199a(0x91)]=null;continue;case'6':this[_0x15199a(0xd2)]=null;continue;case'7':this['_initialized']=![];continue;}break;}}[a0_0x154ba4(0xc5)](){const _0x34b7cf=a0_0x154ba4,_0x862641={'NeIBF':_0x34b7cf(0xc0),'iTRJt':function(_0x17790c,_0x28aa99){return _0x17790c===_0x28aa99;},'xQDrQ':_0x34b7cf(0x99),'fsYua':function(_0x17e82f,_0x19e436,_0x5e5e33){return _0x17e82f(_0x19e436,_0x5e5e33);},'AVxGA':_0x34b7cf(0xdf)};this['_prefix']=_0x862641['NeIBF'],this['_enabled']=_0x862641[_0x34b7cf(0xd6)](process['env']['LOCK_DISTRIBUTED_ENABLED'],_0x862641[_0x34b7cf(0xc7)]),this['_defaultTTL']=parseInt(process['env']['LOCK_DISTRIBUTED_TTL'],0xa)||0xa,this[_0x34b7cf(0x91)]=parseInt(process[_0x34b7cf(0xc6)]['LOCK_DISTRIBUTED_RETRY'],0xa)||0x3,this['_retryDelay']=_0x862641['fsYua'](parseInt,process[_0x34b7cf(0xc6)][_0x34b7cf(0x94)],0xa)||0x64,this['_strategy']=process[_0x34b7cf(0xc6)]['LOCK_DISTRIBUTED_STRATEGY']||_0x862641[_0x34b7cf(0xcc)],this['_workerId']='worker-'+process[_0x34b7cf(0xc4)],this[_0x34b7cf(0x9f)]=!![],logger['info']({'event':_0x34b7cf(0xd9),'enabled':this[_0x34b7cf(0xa2)],'strategy':this['_strategy'],'ttl':this['_defaultTTL'],'retryCount':this['_retryCount'],'retryDelay':this['_retryDelay'],'workerId':this[_0x34b7cf(0xb3)]},_0x34b7cf(0xd0)+this['_enabled']+',\x20strategy:\x20'+this['_strategy']);}[a0_0x154ba4(0xcb)](){!this['_initialized']&&this['_initConfig']();}get['prefix'](){const _0xe238ee=a0_0x154ba4;return this['_ensureInitialized'](),this[_0xe238ee(0xd2)];}get['enabled'](){const _0x4a9994=a0_0x154ba4;return this[_0x4a9994(0xcb)](),this[_0x4a9994(0xa2)];}get[a0_0x154ba4(0xe5)](){const _0x223a4c=a0_0x154ba4;return this[_0x223a4c(0xcb)](),this['_defaultTTL'];}get[a0_0x154ba4(0xce)](){const _0x3a8bbe=a0_0x154ba4;return this['_ensureInitialized'](),this[_0x3a8bbe(0x91)];}get[a0_0x154ba4(0xd4)](){const _0x2aa0d5=a0_0x154ba4;return this[_0x2aa0d5(0xcb)](),this[_0x2aa0d5(0xae)];}get[a0_0x154ba4(0x8e)](){const _0x30d300=a0_0x154ba4;return this[_0x30d300(0xcb)](),this[_0x30d300(0x93)];}get[a0_0x154ba4(0xc1)](){const _0x592a87=a0_0x154ba4;return this[_0x592a87(0xcb)](),this[_0x592a87(0xb3)];}['buildLockKey'](_0x2798c0){const {module:_0xebd308,endpoint:_0x4be9f1,lockType:_0x324936,recordId:_0x1ecc21}=_0x2798c0;if(_0x1ecc21)return''+this['prefix']+_0xebd308+':'+_0x4be9f1+':'+_0x1ecc21+':'+_0x324936;return''+this['prefix']+_0xebd308+':'+_0x4be9f1+':'+_0x324936;}[a0_0x154ba4(0xe9)](){const _0x167a65=a0_0x154ba4;return this[_0x167a65(0xc1)]+':'+uuidv4()+':'+Date[_0x167a65(0xa8)]();}async['acquireReadLock'](_0x3b0826){const _0xb33414=a0_0x154ba4,_0x54b54c={'TgPFZ':_0xb33414(0x97),'OQWlI':function(_0x5e7af9,_0x2f0890){return _0x5e7af9<_0x2f0890;},'NrXPv':'read_lock_acquired','RSjjt':_0xb33414(0xa4),'tdhQe':function(_0x493aff,_0x3f7e7f){return _0x493aff*_0x3f7e7f;},'shEeU':'READ\x20lock\x20acquire\x20timeout','tSNpb':'READ\x20lock\x20error'};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x109af7=this['buildLockKey']({..._0x3b0826,'lockType':_0xb33414(0xb5)}),_0x134876=this['buildLockKey']({..._0x3b0826,'lockType':_0x54b54c['TgPFZ']}),_0x284326=this[_0xb33414(0xe9)]();try{const _0x44d825=redisClient['getClient']();for(let _0x53c297=0x0;_0x54b54c[_0xb33414(0xa7)](_0x53c297,this['retryCount']);_0x53c297++){const _0x3bc376=await _0x44d825['get'](_0x109af7);if(!_0x3bc376){await _0x44d825[_0xb33414(0xe8)](_0x134876),await _0x44d825['expire'](_0x134876,this[_0xb33414(0xe5)]);const _0x57ea39=_0x134876+':'+_0x284326;return await _0x44d825[_0xb33414(0xe6)](_0x57ea39,this['defaultTTL'],_0x284326),logger['debug']({'event':_0x54b54c[_0xb33414(0xb8)],'key':_0x134876,'value':_0x284326},'READ\x20lock\x20acquired'),{'success':!![],'lockValue':_0x284326,'lockKey':_0x57ea39};}logger[_0xb33414(0x9b)]({'event':_0xb33414(0xbb),'writeKey':_0x109af7,'attempt':_0x53c297},_0x54b54c[_0xb33414(0xcf)]),await this['sleep'](_0x54b54c[_0xb33414(0xaf)](this['retryDelay'],Math[_0xb33414(0xb2)](0x2,_0x53c297)));}return logger[_0xb33414(0xea)]({'event':'read_lock_timeout','key':_0x134876},_0x54b54c['shEeU']),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x40cb0f){return logger[_0xb33414(0xb1)]({'event':'read_lock_error','error':_0x40cb0f['message']},_0x54b54c[_0xb33414(0xcd)]),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x154ba4(0xd1)](_0x49cace){const _0x2bba0d=a0_0x154ba4,_0x3ef8e7={'eWXpB':'write','tWXWY':'read','FXMpc':_0x2bba0d(0xaa),'OTsQk':_0x2bba0d(0xad),'ephph':_0x2bba0d(0xe0),'KpQxF':function(_0x276fd8,_0x49ced4){return _0x276fd8<_0x49ced4;},'ekKuI':function(_0x2f86fa,_0x455f3e){return _0x2f86fa===_0x455f3e;},'CJziz':_0x2bba0d(0xdf),'TSYtE':_0x2bba0d(0xb7),'jMGvJ':'write_lock_waiting'};if(!this[_0x2bba0d(0xbe)])return{'success':!![],'lockValue':null,'lockKey':null};const _0x47bae0=this['buildLockKey']({..._0x49cace,'lockType':_0x3ef8e7['eWXpB']}),_0x2e89b4=this[_0x2bba0d(0xd7)]({..._0x49cace,'lockType':_0x3ef8e7[_0x2bba0d(0x8f)]}),_0x2bb42b=this['generateLockValue']();try{const _0x575df2=redisClient[_0x2bba0d(0xe7)]();if(this['strategy']===_0x3ef8e7['FXMpc']){const _0x576673=await _0x575df2['set'](_0x47bae0,_0x2bb42b,'EX',this['defaultTTL'],'NX');if(_0x576673==='OK')return logger['debug']({'event':_0x3ef8e7[_0x2bba0d(0xe1)],'key':_0x47bae0,'value':_0x2bb42b,'strategy':_0x3ef8e7[_0x2bba0d(0x96)]},_0x2bba0d(0xc8)),{'success':!![],'lockValue':_0x2bb42b,'lockKey':_0x47bae0};return logger[_0x2bba0d(0x9b)]({'event':_0x3ef8e7['ephph'],'key':_0x47bae0},'WRITE\x20lock\x20rejected\x20-\x20record\x20busy'),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x39b2be=0x0;_0x3ef8e7['KpQxF'](_0x39b2be,this[_0x2bba0d(0xce)]);_0x39b2be++){const [_0x5c72c4,_0x2173e6]=await Promise[_0x2bba0d(0x90)]([_0x575df2[_0x2bba0d(0xd3)](_0x2e89b4),_0x575df2['get'](_0x47bae0)]);if(!_0x2173e6&&(!_0x5c72c4||_0x3ef8e7['ekKuI'](parseInt(_0x5c72c4),0x0))){const _0x2d4b39=await _0x575df2[_0x2bba0d(0x9e)](_0x47bae0,_0x2bb42b,'EX',this[_0x2bba0d(0xe5)],'NX');if(_0x3ef8e7[_0x2bba0d(0x92)](_0x2d4b39,'OK'))return logger[_0x2bba0d(0x9b)]({'event':_0x2bba0d(0xad),'key':_0x47bae0,'value':_0x2bb42b,'strategy':_0x3ef8e7[_0x2bba0d(0xa6)]},_0x3ef8e7['TSYtE']),{'success':!![],'lockValue':_0x2bb42b,'lockKey':_0x47bae0};}logger[_0x2bba0d(0x9b)]({'event':_0x3ef8e7['jMGvJ'],'writeKey':_0x47bae0,'readCount':_0x5c72c4,'attempt':_0x39b2be},'Waiting\x20for\x20locks\x20to\x20release'),await this[_0x2bba0d(0xa0)](this[_0x2bba0d(0xd4)]*Math['pow'](0x2,_0x39b2be));}return logger['warn']({'event':'write_lock_timeout','key':_0x47bae0},_0x2bba0d(0x8b)),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x24033d){return logger[_0x2bba0d(0xb1)]({'event':_0x2bba0d(0x9a),'error':_0x24033d['message']},'WRITE\x20lock\x20error'),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x154ba4(0xbc)](_0x5decec,_0x293a47){const _0x4f4770=a0_0x154ba4,_0x5e1611={'uiSSW':function(_0x4d0307,_0x3eaf70){return _0x4d0307>_0x3eaf70;},'GznBR':function(_0x2d0111,_0x2ec8ef){return _0x2d0111(_0x2ec8ef);},'tYMIW':'READ\x20lock\x20released','LZdKm':_0x4f4770(0xb6)};if(!this[_0x4f4770(0xbe)]||!_0x5decec)return!![];try{const _0x2d33ef=redisClient[_0x4f4770(0xe7)]();if(_0x5decec[_0x4f4770(0xd5)](':read:')){await _0x2d33ef['del'](_0x5decec);const _0x1fd0cc=_0x5decec[_0x4f4770(0xbd)](0x0,_0x5decec[_0x4f4770(0xc3)](':')),_0x41f711=await _0x2d33ef[_0x4f4770(0xd3)](_0x1fd0cc);return _0x41f711&&_0x5e1611[_0x4f4770(0xde)](_0x5e1611['GznBR'](parseInt,_0x41f711),0x0)&&await _0x2d33ef['decr'](_0x1fd0cc),logger[_0x4f4770(0x9b)]({'event':_0x4f4770(0x8d),'key':_0x5decec},_0x5e1611[_0x4f4770(0xdc)]),!![];}const _0xad2bad='\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20redis.call(\x22get\x22,\x20KEYS[1])\x20==\x20ARGV[1]\x20then\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20redis.call(\x22del\x22,\x20KEYS[1])\x0a\x20\x20\x20\x20\x20\x20\x20\x20else\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x200\x0a\x20\x20\x20\x20\x20\x20\x20\x20end\x0a\x20\x20\x20\x20\x20\x20',_0x4134b3=await _0x2d33ef[_0x4f4770(0xe3)](_0xad2bad,0x1,_0x5decec,_0x293a47);if(_0x4134b3===0x1)return logger[_0x4f4770(0x9b)]({'event':'write_lock_released','key':_0x5decec},_0x4f4770(0xc9)),!![];return logger['warn']({'event':'lock_release_not_owner','key':_0x5decec},'Cannot\x20release\x20lock\x20-\x20not\x20owner'),![];}catch(_0xc79330){return logger[_0x4f4770(0xb1)]({'event':_0x4f4770(0xdb),'key':_0x5decec,'error':_0xc79330['message']},_0x5e1611['LZdKm']),![];}}async['extendLock'](_0x59d2d2,_0x5c3682,_0x1550dd=null){const _0x5478c0=a0_0x154ba4,_0x325470={'jVIYm':function(_0x3cc7d7,_0x2c8308){return _0x3cc7d7===_0x2c8308;},'oAxrf':_0x5478c0(0xb9),'VvOFl':'Lock\x20TTL\x20extended','oVPVZ':_0x5478c0(0xe2),'SbWFL':_0x5478c0(0xa9)};if(!this[_0x5478c0(0xbe)]||!_0x59d2d2)return!![];try{const _0x1ce9f0=redisClient[_0x5478c0(0xe7)](),_0x2c22b3='\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20redis.call(\x22get\x22,\x20KEYS[1])\x20==\x20ARGV[1]\x20then\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20redis.call(\x22expire\x22,\x20KEYS[1],\x20ARGV[2])\x0a\x20\x20\x20\x20\x20\x20\x20\x20else\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x200\x0a\x20\x20\x20\x20\x20\x20\x20\x20end\x0a\x20\x20\x20\x20\x20\x20',_0x39af31=await _0x1ce9f0['eval'](_0x2c22b3,0x1,_0x59d2d2,_0x5c3682,_0x1550dd||this[_0x5478c0(0xe5)]);if(_0x325470[_0x5478c0(0xab)](_0x39af31,0x1))return logger['debug']({'event':_0x325470['oAxrf'],'key':_0x59d2d2,'ttl':_0x1550dd||this['defaultTTL']},_0x325470['VvOFl']),!![];return![];}catch(_0x42e214){return logger['error']({'event':_0x325470['oVPVZ'],'key':_0x59d2d2,'error':_0x42e214['message']},_0x325470[_0x5478c0(0x95)]),![];}}[a0_0x154ba4(0x9d)](){const _0x155310=a0_0x154ba4;return this[_0x155310(0xbe)];}['sleep'](_0x1a6469){return new Promise(_0x404f87=>setTimeout(_0x404f87,_0x1a6469));}async[a0_0x154ba4(0xa3)](_0x5d8348){const _0x43b763=a0_0x154ba4,_0x52bac3={'IIvDg':'write','qhsuG':_0x43b763(0x97)};if(!this[_0x43b763(0xbe)])return{'enabled':![]};try{const _0xdde781=redisClient['getClient'](),_0x202a86=this[_0x43b763(0xd7)]({..._0x5d8348,'lockType':_0x52bac3[_0x43b763(0xb4)]}),_0x6cbcbf=this[_0x43b763(0xd7)]({..._0x5d8348,'lockType':_0x52bac3['qhsuG']}),[_0x185f70,_0x21e225]=await Promise['all']([_0xdde781['get'](_0x202a86),_0xdde781[_0x43b763(0xd3)](_0x6cbcbf)]);return{'enabled':!![],'writeLock':_0x185f70||null,'readCount':parseInt(_0x21e225)||0x0,'writeKey':_0x202a86,'readKey':_0x6cbcbf};}catch(_0x1bae10){return{'enabled':!![],'error':_0x1bae10[_0x43b763(0x98)]};}}}module['exports']=new LockManager();
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 +1 @@
1
- const a0_0x12f6df=a0_0x9884;(function(_0x4524d9,_0x3b5cbc){const _0x37095f=a0_0x9884,_0x5f5ce7=_0x4524d9();while(!![]){try{const _0x2b4727=parseInt(_0x37095f(0xa1))/0x1+parseInt(_0x37095f(0xea))/0x2*(parseInt(_0x37095f(0x129))/0x3)+parseInt(_0x37095f(0x96))/0x4+-parseInt(_0x37095f(0xfd))/0x5*(parseInt(_0x37095f(0x11f))/0x6)+-parseInt(_0x37095f(0x149))/0x7+-parseInt(_0x37095f(0xbe))/0x8*(-parseInt(_0x37095f(0xa9))/0x9)+parseInt(_0x37095f(0xbf))/0xa*(parseInt(_0x37095f(0x14f))/0xb);if(_0x2b4727===_0x3b5cbc)break;else _0x5f5ce7['push'](_0x5f5ce7['shift']());}catch(_0x2fbe2f){_0x5f5ce7['push'](_0x5f5ce7['shift']());}}}(a0_0x3c7e,0xe7925));const pino=require(a0_0x12f6df(0xca)),fs=require('fs'),path=require('path');let logToFile=![],logDir=a0_0x12f6df(0xc5),serviceName='restforge',sqlLogEnabled=![],sqlLogLevel=a0_0x12f6df(0x12c),sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':'SYS:HH:MM:ss','ignore':a0_0x12f6df(0x125),'singleLine':![],'levelFirst':!![],'messageFormat':a0_0x12f6df(0x14a),'customColors':'info:blue,warn:yellow,error:red,debug:gray','hideObject':!![]},isDevelopment=process[a0_0x12f6df(0xd0)][a0_0x12f6df(0x93)]!==a0_0x12f6df(0x100),logLevel=process['env']['LOG_LEVEL']||a0_0x12f6df(0x132);let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':a0_0x12f6df(0x137),'options':prettyPrintOptions}:undefined,'base':{'service':a0_0x12f6df(0x8d),'version':process['env']['APP_VERSION']||a0_0x12f6df(0x12b),'env':process[a0_0x12f6df(0xd0)]['NODE_ENV']||a0_0x12f6df(0x14e)},'timestamp':pino['stdTimeFunctions']['isoTime'],'redact':{'paths':[a0_0x12f6df(0x9f),'req.headers[\x22x-api-key\x22]','password','token',a0_0x12f6df(0xe6),a0_0x12f6df(0xaf),a0_0x12f6df(0x11a)],'censor':a0_0x12f6df(0xae)},'serializers':{'req':_0x25e2ab=>({'id':_0x25e2ab['id'],'method':_0x25e2ab[a0_0x12f6df(0xe5)],'url':_0x25e2ab[a0_0x12f6df(0xfe)],'path':_0x25e2ab['path'],'remoteAddress':_0x25e2ab['ip']||_0x25e2ab[a0_0x12f6df(0xec)]?.['remoteAddress']}),'res':_0x440bc0=>({'statusCode':_0x440bc0[a0_0x12f6df(0x12a)],'headers':_0x440bc0['getHeaders']?.()}),'err':pino['stdSerializers'][a0_0x12f6df(0xf8)]}});function a0_0x3c7e(){const _0x160842=['B29AugW','y2HPBgq','CgfYyw1Z','mJiWmdaXnhHYA1rKua','C3rHDhvZq29Kzq','ms4WlJu','zgvIDwC','zxjYB3i','rxjYB3i6ia','C3rHy2S','CMPrBMG','EgHUywi','Aw5MBW','zgf0ywjHC2vFy29UzMLN','zvvpuvG','q2r5AxG','lI9SB2DZlW','CgLUBY1WCMv0DhK','vfjbtLnbq1rjt05FuK9mtejbq0S','y3jLyxrLv3jPDgvtDhjLyw0','Dg9Rzw4','CMvTB3rLqwrKCMvZCW','DhjPBq','yM9KEq','Cg9ZDgDYzxnXBa','Dg9ju09tDhjPBMC','C3rYAw5N','Bwf0y2G','y3z2','DgvZDa','CMvWzwf0','C3b0ve0','CgfKrw5K','Bg9N','D2fYBG','mta5nZGYmtLNu0D3Eui','E21Zz30','Aw5JBhvKzxm','zMf0ywXFzxjYB3i','C3fSx3f1zxj5','zgv2zwXVCg1LBNq','nZy0nZjHrMfhsNa','zgvMyxvSDa','y3jLzgL0x2nHCMq','vhjHBNnHy3rPB24G','AgvHBhrOq2HLy2S','tK9uiefdveLwrq','sKz3Axa','BLvcDvG','rMfPBgvKihrVignYzwf0zsbSB2CGC3rYzwfTCZO','Ahr0Cf9Yzxf1zxn0','wej5vNq','CMvZDgzVCMDL','v3Ldu0q','rermx0nsrufurq','BwvZC2fNzq','BxmP','Dxb0Aw1L','tK9erv9ftLy','C3rHCNrZv2L0Aa','yMfZzvvYBa','mZaZmZCWmffsugDJEG','y3jLzgL0y2fYza','yxbPA2v5','te9hx1rpx0zjteu','zMXVB3i','C29Tzq','Dgzrsxa','r2XVyMfSigvYCM9YigHHBMrSzxjZigLUAxrPywXPEMvK','D3jPDgu','CMvXlMHLywrLCNmUyxv0Ag9YAxPHDgLVBG','u0vsvKLdrv9oqu1f','mti0mZiXmMncvvngvW','Cg9YDa','Bw9KDwXL','z2v0','B2jQzwn0','ALDny1O','Dg9gAxHLza','CgfZC3DK','nJC5ndi4mhjvsKT1yG','CMvZB2X2zq','rfjpua','BxDiuNu','BwvTB3j5vxnHz2u','w1jfrefdvevexq','rejFueftu1DpuKq','w1jfrefdveveoMHHC2HD','Dhj1zq','q09ntuLu','B3rW','s0nQueG','C2vYDMLJzuLUzM8','zxHWB3j0CW','z3DKrui','icdIHPiG','yMfHBhe','ALD1rfu','B3jPz2LUywXvCMW','BwfW','t2XLuLK','oeX5BNLxua','mtaWmefqzhLXvW','u1nhqwG','CMvWBgfJzq','AvnTuxy','DLzktgS','iokvKqRILzRILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILz0','lI9SB2DZ','BMfTzq','yMDdEgu','yxv0Ag9YAxPHDgLVBG','Bwf4','CgLUBW','AgvHzgvYCW','C1rIrNe','ChjVAMvJDf9SB2fKzwq','u1fmx0Xpr19mrvzfta','Dg9mB3DLCKnHC2u','zw52','AM9PBG','sw50zxjUywWGC2vYDMvYigvYCM9Y','rgf0ywjHC2u6ia','DM9tB1u','te9HB2C','C2TWD2m','Ahj0Aw1L','C3rHDhvZ','u0vmrunu','u1rbuLqGvfjbtLnbq1rjt04','zw5KCg9PBNrFCMvNAxn0zxjLza','CgfZC3DVCMq','yxbPx3nLy3jLDa','C2vJCMv0','s1L5qvO','rxLQv1e','ic0G','zMf0ywW','Dw5RBM93BG','rgDls0O','Bwv0Ag9K','yxbPs2v5','oI8V','twLZCgq','y29UzMLNrMLSzq','mMfly05Ozq','rgvMyxvSDa','y29UBMvJDgLVBG','DxnLCG','vfjbtLnbq1rjt05Fq09ntuLu','rermx0fmvevs','A0Dswwi','quXurvi','sfruuca','vMzvAgK','uhjVy2vZCYbxyxjUAw5NoIa','su5trvju','vKrvvhe','Dw5JyxvNAhrfEgnLChrPB24','zxjY','u1fmx0Xpr19ftKfcteve','s1LUqxq','D2fYBMLUzW','iokvKqRILzeGienVBMzPzYaGicaGidOG','ntK1AhrbCvzX','DxjS','sunWwge','ChjVzhvJDgLVBG','zxjYB3iUBg9N','DhLWzq','twrLC2u','Cgf0Aa','w1jfrefdveveoNrVA2vUxq','swjKv00','BevhqLm','DxnLCI1Hz2vUDa','rKfuquW6ia','Dg9vChbLCKnHC2u','A2v5CW','revmrvrf','t01YCg4','y29Kzq','rxjYB3i','ifTtte9xxq','y3zYC2q','BgvUz3rO','Ec1Yzxf1zxn0lwLK','yKPer2K','cUkvOokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvOWRILzeGievUDMLYB25Tzw50idOG','ChjVAMvJDa','zw52AxjVBM1LBNq','zxHPDa','ig9UihbVCNqG','sLDux1nfq1jfva','uK9mtejbq0S','Ag9ZDa','wwfdtMu','vvbeqvrf','odqXmtryDg9sBKy','ChjPDMf0zwTLEq','uKvtvezpuKDfifjvtLrjtuuGu0vsvKvs','u2vYDMvYihn0yxj0Aw5NoIa','z2XVyMfSx2vYCM9Yx2HHBMrSzxjZx3nLDhvW','Auj3y20','CgLKlgHVC3rUyw1LlhnLCNzPy2uSDMvYC2LVBIXLBNySzxzLBNqSBw9KDwXLlhbVCNqSy29UzMLNlgfWAuTLEuvUywjSzwqSCgf0AcX3B3jRAw5NrgLYlgLZugTNlgLZtM9KzvnJCMLWDcXMAwXLlgvTywLSlhr5CguSy29YCYXSB2DNAw5NlgfWAuTLEsXJB3vUDcXLBMrWB2LUDcXYB3v0zq'];a0_0x3c7e=function(){return _0x160842;};return a0_0x3c7e();}function initFileLogging(){const _0x58882b=a0_0x12f6df,_0x4ca5a6={'WyCSD':_0x58882b(0xb1),'iSJhl':_0x58882b(0x150),'ICpXa':function(_0xa6059b,_0x44e814){return _0xa6059b===_0x44e814;},'IDppH':'debug','svoPY':'false','bJDGi':'error.log','ZnVzW':'file_logging_enabled','iUrqV':'app.log','OleRY':function(_0x2ba68f,_0x4d896e,_0x23b204){return _0x2ba68f(_0x4d896e,_0x23b204);},'GmPko':'info'};if(fileLoggingInitialized)return;logToFile=process[_0x58882b(0xd0)][_0x58882b(0x99)]===_0x4ca5a6['WyCSD'];const _0x174d71=process[_0x58882b(0xd0)]['RESTFORGE_PROJECT_NAME']||_0x4ca5a6['iSJhl'];logDir=process[_0x58882b(0xd0)]['LOG_DIR']||_0x58882b(0x136)+_0x174d71,serviceName=process[_0x58882b(0xd0)][_0x58882b(0xa0)]||_0x58882b(0x8d),sqlLogEnabled=_0x4ca5a6[_0x58882b(0xff)](process['env'][_0x58882b(0xf9)],_0x4ca5a6[_0x58882b(0x8e)]),sqlLogLevel=process['env'][_0x58882b(0xce)]||_0x4ca5a6['IDppH'],sqlLogParams=process['env']['SQL_LOG_PARAMS']!==_0x4ca5a6['svoPY'],sqlLogSlowThreshold=parseInt(process[_0x58882b(0xd0)]['SQL_LOG_SLOW_THRESHOLD'])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x2f637e=path[_0x58882b(0xaa)](process['cwd'](),logDir);try{!fs['existsSync'](_0x2f637e)&&fs['mkdirSync'](_0x2f637e,{'recursive':!![]});}catch(_0x113333){console['error']('Failed\x20to\x20create\x20log\x20directory\x20'+_0x2f637e+':',_0x113333[_0x58882b(0x90)]),fileLoggingInitialized=!![];return;}const _0x3ffb74=path[_0x58882b(0xd1)](_0x2f637e,'app.log'),_0x289c39=path['join'](_0x2f637e,_0x4ca5a6[_0x58882b(0x114)]);try{appLogStream=fs['createWriteStream'](_0x3ffb74,{'flags':'a'}),errorLogStream=fs[_0x58882b(0x139)](_0x289c39,{'flags':'a'}),fileLoggingInitialized=!![];const _0x32892e={'event':_0x4ca5a6['ZnVzW'],'logDir':_0x2f637e,'files':[_0x4ca5a6['iUrqV'],_0x58882b(0x101)]},_0x4dbb5a='File\x20logging\x20enabled:\x20'+_0x2f637e;logger['info'](_0x32892e,_0x4dbb5a),_0x4ca5a6[_0x58882b(0xbd)](writeToFileLog,{..._0x32892e,'level':_0x4ca5a6['GmPko'],'msg':_0x4dbb5a,'time':new Date()['toISOString']()},_0x58882b(0x132));}catch(_0x4fc7c8){console[_0x58882b(0x12d)](_0x58882b(0x8a),_0x4fc7c8[_0x58882b(0x90)]),fileLoggingInitialized=!![];}}function writeToFileLog(_0x4585c0,_0x2fd9c1){const _0x139f17=a0_0x12f6df,_0x2f8495={'czlDD':function(_0x2a61b2,_0x18c014){return _0x2a61b2||_0x18c014;},'zvTZP':function(_0x46bcbf,_0x58ccb3){return _0x46bcbf+_0x58ccb3;},'bgCxe':function(_0x1581ca,_0x143444){return _0x1581ca===_0x143444;},'VfUhi':'error','iBwcm':_0x139f17(0xe2)};if(_0x2f8495['czlDD'](!logToFile,!appLogStream))return;const _0x242706={'service':serviceName,..._0x4585c0},_0x396468=_0x2f8495['zvTZP'](JSON['stringify'](_0x242706),'\x0a');appLogStream['write'](_0x396468),(_0x2f8495[_0x139f17(0xc7)](_0x2fd9c1,_0x2f8495[_0x139f17(0xf3)])||_0x2f8495[_0x139f17(0xc7)](_0x2fd9c1,_0x2f8495[_0x139f17(0x124)]))&&(errorLogStream&&errorLogStream[_0x139f17(0x9e)](_0x396468));}function a0_0x9884(_0x28394b,_0x234eae){_0x28394b=_0x28394b-0x86;const _0x3c7ec0=a0_0x3c7e();let _0x988464=_0x3c7ec0[_0x28394b];if(a0_0x9884['dxhjDt']===undefined){var _0x378367=function(_0x43e018){const _0x55e364='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1cc6c2='',_0x5962df='';for(let _0x34aa5e=0x0,_0x4d8b13,_0xcdbeea,_0x623dd6=0x0;_0xcdbeea=_0x43e018['charAt'](_0x623dd6++);~_0xcdbeea&&(_0x4d8b13=_0x34aa5e%0x4?_0x4d8b13*0x40+_0xcdbeea:_0xcdbeea,_0x34aa5e++%0x4)?_0x1cc6c2+=String['fromCharCode'](0xff&_0x4d8b13>>(-0x2*_0x34aa5e&0x6)):0x0){_0xcdbeea=_0x55e364['indexOf'](_0xcdbeea);}for(let _0x7801cf=0x0,_0x20d495=_0x1cc6c2['length'];_0x7801cf<_0x20d495;_0x7801cf++){_0x5962df+='%'+('00'+_0x1cc6c2['charCodeAt'](_0x7801cf)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5962df);};a0_0x9884['NVegqZ']=_0x378367,a0_0x9884['ZwgnzS']={},a0_0x9884['dxhjDt']=!![];}const _0x120e39=_0x3c7ec0[0x0],_0x58e34c=_0x28394b+_0x120e39,_0xd67211=a0_0x9884['ZwgnzS'][_0x58e34c];return!_0xd67211?(_0x988464=a0_0x9884['NVegqZ'](_0x988464),a0_0x9884['ZwgnzS'][_0x58e34c]=_0x988464):_0x988464=_0xd67211,_0x988464;}const createRequestLogger=(_0x48e09e={})=>{const _0x4ad0c0=a0_0x12f6df;return logger[_0x4ad0c0(0x127)](_0x48e09e);},logServerStart=_0x3462c6=>{const _0x4b8a34=a0_0x12f6df,_0x26d4a4={'skpwc':_0x4b8a34(0x121),'eUOQX':function(_0x5927b3,_0x1f032c){return _0x5927b3-_0x1f032c;},'XPPCA':'ACTIVE','zMDaW':function(_0x2b24ce,_0x3521d0,_0xe27fe6){return _0x2b24ce(_0x3521d0,_0xe27fe6);}},_0x1aefa9=_0x26d4a4[_0x4b8a34(0xd6)],_0x41ecd2=Math[_0x4b8a34(0xc9)](0x0,0x37-_0x1aefa9['length']),_0x11a7fb=Math[_0x4b8a34(0x9a)](_0x41ecd2/0x2),_0x5884bf=_0x26d4a4[_0x4b8a34(0x134)](_0x41ecd2,_0x11a7fb),_0x5312f7='║'+'\x20'['repeat'](_0x11a7fb)+_0x1aefa9+'\x20'[_0x4b8a34(0x144)](_0x5884bf)+'║',_0x54b2a3='\x0a╔═══════════════════════════════════════════════════════╗\x0a'+_0x5312f7+_0x4b8a34(0x115)+(_0x3462c6[_0x4b8a34(0x117)]||'Node.js')['padEnd'](0x26)+'\x20║\x0a║\x20\x20Project\x20\x20\x20\x20\x20:\x20'+(_0x3462c6[_0x4b8a34(0x116)]||'N/A')['padEnd'](0x26)+'\x20║\x0a║\x20\x20Port\x20\x20\x20\x20\x20\x20\x20\x20:\x20'+String(_0x3462c6['port']||0xbb8)['padEnd'](0x26)+_0x4b8a34(0xfc)+(_0x3462c6[_0x4b8a34(0xe9)]||_0x4b8a34(0xeb))['padEnd'](0x26)+'\x20║\x0a║\x20\x20API\x20Key\x20\x20\x20\x20\x20:\x20'+(_0x3462c6['apiKey']?_0x26d4a4['XPPCA']:_0x4b8a34(0x87))[_0x4b8a34(0x146)](0x26)+_0x4b8a34(0xc4);console[_0x4b8a34(0x147)](_0x54b2a3);const _0x5c2899={'event':'server_starting','project':_0x3462c6['project'],'port':_0x3462c6[_0x4b8a34(0xa2)],'config':_0x3462c6['configFile'],'apiKeyEnabled':!!_0x3462c6[_0x4b8a34(0xe6)]};logger[_0x4b8a34(0x132)](_0x5c2899),_0x26d4a4['zMDaW'](writeToFileLog,{..._0x5c2899,'level':_0x4b8a34(0x132),'msg':_0x4b8a34(0x122)+_0x3462c6['project']+_0x4b8a34(0x119)+_0x3462c6[_0x4b8a34(0xa2)],'time':new Date()[_0x4b8a34(0x13f)]()},_0x4b8a34(0x132));},logServerReady=_0x1917f1=>{const _0x39fe7b=a0_0x12f6df,_0x4a9f72={'iNuMx':function(_0x5bdc8c,_0x59dfce,_0x3c746d){return _0x5bdc8c(_0x59dfce,_0x3c746d);},'IbdWM':_0x39fe7b(0x132)},_0x596c00={'event':'server_ready','port':_0x1917f1[_0x39fe7b(0xa2)],'module':_0x1917f1[_0x39fe7b(0xa3)],'healthCheck':_0x1917f1[_0x39fe7b(0x86)],'serviceInfo':_0x1917f1['serviceInfo'],'baseUrl':_0x1917f1['baseUrl']},_0x3c0a6b='[OK]\x20Server\x20ready\x20on\x20port\x20'+_0x1917f1['port'];logger[_0x39fe7b(0x132)](_0x596c00,_0x3c0a6b),_0x4a9f72['iNuMx'](writeToFileLog,{..._0x596c00,'level':_0x4a9f72[_0x39fe7b(0x106)],'msg':_0x3c0a6b,'time':new Date()['toISOString']()},_0x39fe7b(0x132)),_0x1917f1['healthCheck']&&logger[_0x39fe7b(0x132)]('\x20\x20Health:\x20'+_0x1917f1[_0x39fe7b(0x86)]),_0x1917f1[_0x39fe7b(0xb5)]&&logger['info']('\x20\x20Info:\x20\x20\x20'+_0x1917f1['serviceInfo']),_0x1917f1['baseUrl']&&logger[_0x39fe7b(0x132)]('\x20\x20URL:\x20\x20\x20\x20'+_0x1917f1[_0x39fe7b(0x95)]);},logProjectLoaded=(_0x589087,_0x3306b0)=>{const _0x169bd5=a0_0x12f6df,_0x4763e1={'tUgoJ':function(_0x3e2545,_0x5a3d7c,_0x447396){return _0x3e2545(_0x5a3d7c,_0x447396);},'hLSzF':_0x169bd5(0x132)},_0x95b36e={'event':_0x169bd5(0xcd),'project':_0x589087,'path':_0x3306b0},_0x4ad5bb='[OK]\x20Project\x20loaded:\x20'+_0x589087;logger['info'](_0x95b36e,_0x4ad5bb),_0x4763e1['tUgoJ'](writeToFileLog,{..._0x95b36e,'level':'info','msg':_0x4ad5bb,'time':new Date()[_0x169bd5(0x13f)]()},_0x4763e1['hLSzF']);},logEndpointRegistered=(_0x2c1587,_0x1e3159)=>{const _0x4872e9=a0_0x12f6df,_0x31bc6d={'RGiBW':_0x4872e9(0xdb),'ntwGv':function(_0x3ea7bb,_0x1bf194,_0x3778ad){return _0x3ea7bb(_0x1bf194,_0x3778ad);}},_0x1a1968={'event':_0x31bc6d['RGiBW'],'endpoint':_0x2c1587,'route':_0x1e3159},_0x24c430=_0x4872e9(0xb8)+_0x2c1587+':\x20'+_0x1e3159;logger[_0x4872e9(0x12c)](_0x1a1968,_0x24c430),_0x31bc6d['ntwGv'](writeToFileLog,{..._0x1a1968,'level':'debug','msg':_0x24c430,'time':new Date()[_0x4872e9(0x13f)]()},_0x4872e9(0x12c));},logDatabaseConfig=_0x16072c=>{const _0x15b31f=a0_0x12f6df,_0xff79d8={'iSmQv':_0x15b31f(0x12c)},_0x574ea2={'event':_0x15b31f(0x133),'host':_0x16072c[_0x15b31f(0x11c)],'port':_0x16072c['port'],'database':_0x16072c['database'],'type':_0x16072c['type'],'user':_0x16072c[_0x15b31f(0xed)]},_0x24a149=_0x15b31f(0xd3)+_0x16072c[_0x15b31f(0x102)]+_0x15b31f(0xe7)+_0x16072c['host']+':'+_0x16072c[_0x15b31f(0xa2)]+'/'+_0x16072c['database'];logger[_0x15b31f(0x12c)](_0x574ea2,_0x24a149),writeToFileLog({..._0x574ea2,'level':_0x15b31f(0x12c),'msg':_0x24a149,'time':new Date()['toISOString']()},_0xff79d8[_0x15b31f(0xc2)]);},logRequest=(_0x2aa236,_0x143149,_0x9972d4)=>{const _0x15e3a6=a0_0x12f6df,_0xe5e3fc={'OMrpn':_0x15e3a6(0x8b),'LOaog':_0x15e3a6(0x132),'kSYsG':_0x15e3a6(0x12d),'Cdyix':function(_0x4e82b2,_0x106a1d){return _0x4e82b2>=_0x106a1d;},'qdNuC':function(_0x15af6b,_0x5ac4b1,_0x211af6){return _0x15af6b(_0x5ac4b1,_0x211af6);}},_0x3cd61b={'event':_0xe5e3fc[_0x15e3a6(0x10d)],'method':_0x2aa236[_0x15e3a6(0xe5)],'path':_0x2aa236['path'],'statusCode':_0x143149['statusCode'],'durationMs':_0x9972d4,'ip':_0x2aa236['ip']},_0xc1067b=_0x2aa236['method']+'\x20'+_0x2aa236[_0x15e3a6(0x104)]+_0x15e3a6(0xe1)+_0x143149['statusCode']+'\x20('+_0x9972d4+'ms)';let _0x24a6fa=_0xe5e3fc[_0x15e3a6(0xd5)];if(_0x143149['statusCode']>=0x1f4)_0x24a6fa=_0xe5e3fc['kSYsG'],logger['error'](_0x3cd61b,_0xc1067b);else _0xe5e3fc[_0x15e3a6(0x135)](_0x143149['statusCode'],0x190)?(_0x24a6fa='warn',logger['warn'](_0x3cd61b,_0xc1067b)):logger[_0x15e3a6(0x132)](_0x3cd61b,_0xc1067b);_0xe5e3fc['qdNuC'](writeToFileLog,{..._0x3cd61b,'level':_0x24a6fa,'msg':_0xc1067b,'time':new Date()['toISOString']()},_0x24a6fa);},SENSITIVE_PARAM_PATTERNS=[a0_0x12f6df(0xdc),'passwd','pwd',a0_0x12f6df(0x13a),'access_token','refresh_token',a0_0x12f6df(0xde),a0_0x12f6df(0xdd),'apikey','api_key','credential','credentials','pin',a0_0x12f6df(0xb3),'private_key','privatekey'],redactSensitiveParams=(_0x297e48,_0x43d75a)=>{const _0x32e37c=a0_0x12f6df,_0x308244={'vVJLk':function(_0x352c67,_0x5d2f21){return _0x352c67===_0x5d2f21;},'KCjPH':function(_0x501f0c,_0x1f01c4){return _0x501f0c>_0x1f01c4;},'ovRxH':_0x32e37c(0x105),'jWMcZ':_0x32e37c(0xb0)};if(!_0x297e48||_0x308244['vVJLk'](_0x297e48[_0x32e37c(0x112)],0x0))return _0x297e48;const _0x41eb7a=_0x43d75a['toLowerCase'](),_0x768c60=_0x41eb7a['match'](/\(([^)]+)\)\s*values/i);let _0x3655d0=[];_0x768c60&&(_0x3655d0=_0x768c60[0x1]['split'](',')[_0x32e37c(0xbc)](_0x3fe239=>_0x3fe239[_0x32e37c(0x13c)]()[_0x32e37c(0xcf)]()));const _0xda4832=_0x41eb7a['match'](/set\s+(.+?)(?:\s+where|$)/i);if(_0xda4832){const _0x1e9c1b=_0xda4832[0x1],_0x2bef49=_0x1e9c1b[_0x32e37c(0x141)](/(\w+)\s*=/g);_0x2bef49&&(_0x3655d0=_0x2bef49[_0x32e37c(0xbc)](_0x413e4f=>_0x413e4f[_0x32e37c(0xc1)](/\s*=/,'')['trim']()[_0x32e37c(0xcf)]()));}return _0x297e48[_0x32e37c(0xbc)]((_0x347107,_0x356f7a)=>{const _0x32ca7f=_0x32e37c;if(_0x3655d0[_0x356f7a]){const _0x28512d=_0x3655d0[_0x356f7a],_0x50af77=SENSITIVE_PARAM_PATTERNS[_0x32ca7f(0x9b)](_0x8c0dd5=>_0x28512d['includes'](_0x8c0dd5));if(_0x50af77)return'[REDACTED]';}if(_0x308244[_0x32ca7f(0xc3)](typeof _0x347107,_0x32ca7f(0x140))&&_0x308244[_0x32ca7f(0xb4)](_0x347107['length'],0x20)){if(/^[a-zA-Z0-9+/=_.-]+$/['test'](_0x347107)&&_0x347107['includes']('.'))return _0x308244['ovRxH'];if(/^[a-fA-F0-9]{32,}$/[_0x32ca7f(0x143)](_0x347107))return _0x308244[_0x32ca7f(0xa6)];}return _0x347107;});},parseQueryMetadata=_0x479586=>{const _0x2662a1=a0_0x12f6df,_0x3659ba={'fHGGb':'INSERT','lYPKp':'DELETE','kGRYb':_0x2662a1(0xb2),'DYEeD':_0x2662a1(0xee),'xFsxd':_0x2662a1(0x138),'XByVt':_0x2662a1(0x8f),'tfQIp':_0x2662a1(0xf1),'mcDzJ':_0x2662a1(0xef)},_0x30e963=_0x479586[_0x2662a1(0x13c)](),_0x41bf46=_0x30e963[_0x2662a1(0x10a)]();let _0x4cc7bf='UNKNOWN',_0x33492f=null;if(_0x41bf46['startsWith']('SELECT')){_0x4cc7bf=_0x2662a1(0xd9);const _0x105b63=_0x30e963['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x33492f=_0x105b63?_0x105b63[0x1]:null;}else{if(_0x41bf46['startsWith'](_0x3659ba['fHGGb'])){_0x4cc7bf=_0x2662a1(0xf5);const _0x5ebbb9=_0x30e963[_0x2662a1(0x141)](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x33492f=_0x5ebbb9?_0x5ebbb9[0x1]:null;}else{if(_0x41bf46['startsWith'](_0x2662a1(0x11e))){_0x4cc7bf='UPDATE';const _0x37d585=_0x30e963[_0x2662a1(0x141)](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x33492f=_0x37d585?_0x37d585[0x1]:null;}else{if(_0x41bf46[_0x2662a1(0x94)](_0x2662a1(0x10c))){_0x4cc7bf=_0x3659ba['lYPKp'];const _0x365151=_0x30e963['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x33492f=_0x365151?_0x365151[0x1]:null;}else{if(_0x41bf46[_0x2662a1(0x94)]('BEGIN')||_0x41bf46[_0x2662a1(0x94)](_0x2662a1(0xda)))_0x4cc7bf='TRANSACTION_BEGIN';else{if(_0x41bf46['startsWith'](_0x3659ba[_0x2662a1(0xf0)]))_0x4cc7bf=_0x3659ba['DYEeD'];else{if(_0x41bf46['startsWith'](_0x2662a1(0x11b)))_0x4cc7bf=_0x3659ba['xFsxd'];else{if(_0x41bf46[_0x2662a1(0x94)]('CREATE'))_0x4cc7bf=_0x3659ba[_0x2662a1(0x8c)];else{if(_0x41bf46['startsWith'](_0x3659ba[_0x2662a1(0x9c)]))_0x4cc7bf=_0x3659ba['mcDzJ'];else _0x41bf46[_0x2662a1(0x94)](_0x2662a1(0xab))&&(_0x4cc7bf='DDL_DROP');}}}}}}}}return{'type':_0x4cc7bf,'table':_0x33492f};},startQueryTimer=()=>{const _0x2bd119=a0_0x12f6df,_0x1b4ae7={'Mispd':function(_0x5a36d9,_0x311993){return _0x5a36d9(_0x311993);},'EyjWQ':function(_0x2890c4,_0x524185){return _0x2890c4+_0x524185;},'VDUTq':function(_0x5232c1,_0x17958a){return _0x5232c1*_0x17958a;}},_0xe7ce22=process[_0x2bd119(0xd7)]();return()=>{const _0x569864=_0x2bd119,[_0xaf9a,_0x5d2481]=process[_0x569864(0xd7)](_0xe7ce22);return _0x1b4ae7[_0x569864(0xe8)](parseFloat,_0x1b4ae7[_0x569864(0xe0)](_0x1b4ae7[_0x569864(0xf6)](_0xaf9a,0x3e8),_0x5d2481/0xf4240)[_0x569864(0xa7)](0x2));};},logQuery=(_0x58ce8e,_0x3183e7=[],_0x32a7ff={})=>{const _0x209336=a0_0x12f6df,_0x1db2b8={'YaCNe':'DB\x20Query','CuQma':function(_0x2bb0a0,_0x1d3aa7){return _0x2bb0a0(_0x1d3aa7);},'voSoU':_0x209336(0x14d),'rzyOj':function(_0x5ae5ed,_0x28517c){return _0x5ae5ed>_0x28517c;},'zjNXv':function(_0x28355f,_0x464bcc,_0x1544d0){return _0x28355f(_0x464bcc,_0x1544d0);},'jWuDU':function(_0x44d70b,_0x20f74e){return _0x44d70b!==_0x20f74e;},'UxNmy':_0x209336(0x110),'xhnab':function(_0x51df3d,_0x4db647){return _0x51df3d===_0x4db647;},'mJzjx':_0x209336(0x132)};if(!sqlLogEnabled){logger[_0x209336(0x12c)]({'event':'db_query','query':_0x58ce8e['substring'](0x0,0xc8),'paramCount':_0x3183e7[_0x209336(0x112)]},_0x1db2b8[_0x209336(0x11d)]);return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x209336(0x13e)}=_0x32a7ff,{type:_0x5b4310,table:_0x231206}=_0x1db2b8['CuQma'](parseQueryMetadata,_0x58ce8e),_0x50f41a={'event':_0x1db2b8[_0x209336(0xd4)],'queryType':_0x5b4310,'table':_0x231206,'query':_0x58ce8e,'paramCount':_0x3183e7[_0x209336(0x112)],'dbType':dbType};sqlLogParams&&_0x1db2b8['rzyOj'](_0x3183e7['length'],0x0)&&(_0x50f41a[_0x209336(0x128)]=_0x1db2b8['zjNXv'](redactSensitiveParams,_0x3183e7,_0x58ce8e));duration!==null&&(_0x50f41a['durationMs']=duration,_0x50f41a['isSlow']=duration>sqlLogSlowThreshold);rowsAffected!==null&&(_0x50f41a['rowsAffected']=rowsAffected);const _0x659c2=_0x231206||_0x209336(0xe3);let _0x3c18eb='['+_0x5b4310+']\x20'+_0x659c2;_0x1db2b8[_0x209336(0xba)](duration,null)&&(_0x3c18eb+='\x20('+duration+_0x209336(0x91));const _0x5f5815=duration!==null&&_0x1db2b8['rzyOj'](duration,sqlLogSlowThreshold);let _0x2463e4='debug';if(_0x5f5815)_0x3c18eb+=_0x1db2b8['UxNmy'],_0x2463e4='warn',logger['warn'](_0x50f41a,_0x3c18eb);else _0x1db2b8[_0x209336(0x131)](sqlLogLevel,_0x209336(0x132))?(_0x2463e4=_0x1db2b8['mJzjx'],logger['info'](_0x50f41a,_0x3c18eb)):logger[_0x209336(0x12c)](_0x50f41a,_0x3c18eb);_0x1db2b8['zjNXv'](writeToFileLog,{..._0x50f41a,'level':_0x2463e4,'msg':_0x3c18eb,'time':new Date()['toISOString']()},_0x2463e4);},logTransaction=(_0x1efe02,_0x294898)=>{const _0x48f6fe=a0_0x12f6df,_0x3f8a1e={'DgKKJ':_0x48f6fe(0x12c)},_0x3554a6={'event':'db_transaction','status':_0x1efe02,'queryCount':_0x294898},_0x52f222=_0x48f6fe(0x152)+_0x1efe02;logger['debug'](_0x3554a6,_0x52f222),writeToFileLog({..._0x3554a6,'level':_0x3f8a1e[_0x48f6fe(0xe4)],'msg':_0x52f222,'time':new Date()['toISOString']()},_0x3f8a1e[_0x48f6fe(0xe4)]);},redactObject=_0x4ad729=>{const _0x436a0a=a0_0x12f6df,_0xedb9bd={'ooZPl':_0x436a0a(0xa5),'Mdese':'password','FRMfX':'pwd','gwdEB':_0x436a0a(0x13a),'udjYF':_0x436a0a(0xde),'KYyAZ':'api_key','sTbFq':_0x436a0a(0x97),'mwHRu':'ssn','ZTDKm':'pin','bQkBo':_0x436a0a(0x120),'YXAhD':function(_0x492527,_0x20f14f){return _0x492527===_0x20f14f;}};if(!_0x4ad729||typeof _0x4ad729!==_0xedb9bd[_0x436a0a(0x126)])return _0x4ad729;const _0x1a4df8=[_0xedb9bd[_0x436a0a(0x103)],_0x436a0a(0xa8),_0xedb9bd['FRMfX'],_0xedb9bd[_0x436a0a(0xb7)],_0xedb9bd['udjYF'],_0x436a0a(0x98),_0xedb9bd[_0x436a0a(0xdf)],_0x436a0a(0xc8),_0xedb9bd[_0x436a0a(0xcc)],_0x436a0a(0x151),_0x436a0a(0x142),_0xedb9bd[_0x436a0a(0xac)],_0xedb9bd['ZTDKm'],'private_key',_0xedb9bd['bQkBo'],'refresh_token','access_token'],_0x4c0af2=Array['isArray'](_0x4ad729)?[..._0x4ad729]:{..._0x4ad729};for(const _0x1ae901 of Object[_0x436a0a(0x10b)](_0x4c0af2)){const _0x1bca78=_0x1ae901['toLowerCase']();if(_0x1a4df8['some'](_0x2f2e0d=>_0x1bca78[_0x436a0a(0x14b)](_0x2f2e0d)))_0x4c0af2[_0x1ae901]=_0x436a0a(0xae);else _0xedb9bd['YXAhD'](typeof _0x4c0af2[_0x1ae901],'object')&&_0x4c0af2[_0x1ae901]!==null&&(_0x4c0af2[_0x1ae901]=redactObject(_0x4c0af2[_0x1ae901]));}return _0x4c0af2;},logError=(_0x3d911c,_0x47b89f={},_0x3184eb=null)=>{const _0x44b338=a0_0x12f6df,_0x343b06={'baalq':_0x44b338(0x12d)},_0x5c07ae={'event':_0x44b338(0x12d),'errorName':_0x3d911c[_0x44b338(0xc6)]||'Error','errorMessage':_0x3d911c['message'],'errorCode':_0x3d911c['code']||null,'stack':_0x3d911c[_0x44b338(0x12f)],..._0x47b89f},_0x3ece00=_0x3184eb||_0x44b338(0x12e)+_0x3d911c[_0x44b338(0x90)];logger['error'](_0x5c07ae,_0x3ece00),writeToFileLog({..._0x5c07ae,'level':_0x343b06[_0x44b338(0xb9)],'msg':_0x3ece00,'time':new Date()['toISOString']()},'error');},logFatalError=(_0xcf64e3,_0x16bf4d={},_0x485dee=null)=>{const _0x4188d8=a0_0x12f6df,_0x2d0a6f={'BAFOZ':'error'},_0xa2a4dd={'event':_0x4188d8(0x14c),'errorName':_0xcf64e3[_0x4188d8(0xc6)]||'Error','errorMessage':_0xcf64e3[_0x4188d8(0x90)],'errorCode':_0xcf64e3[_0x4188d8(0x10e)]||null,'stack':_0xcf64e3['stack'],'severity':'CRITICAL',..._0x16bf4d},_0x5420e8=_0x485dee||_0x4188d8(0x109)+_0xcf64e3[_0x4188d8(0x90)];logger[_0x4188d8(0xe2)](_0xa2a4dd,_0x5420e8),writeToFileLog({..._0xa2a4dd,'level':_0x4188d8(0xe2),'msg':_0x5420e8,'time':new Date()['toISOString']()},_0x2d0a6f['BAFOZ']);},logHttpError=(_0x48e9d5,_0x5045c2,_0xda4978={})=>{const _0x376449=a0_0x12f6df,_0x159194={'nhuFz':function(_0x1f2c9c,_0x210d21){return _0x1f2c9c(_0x210d21);},'lEGBS':_0x376449(0x12d)},_0x4b9727={'event':'http_error','errorName':_0x48e9d5['name']||'Error','errorMessage':_0x48e9d5[_0x376449(0x90)],'errorCode':_0x48e9d5['code']||_0x48e9d5[_0x376449(0x12a)]||0x1f4,'stack':_0x48e9d5[_0x376449(0x12f)],'method':_0x5045c2?.['method'],'url':_0x5045c2?.['url']||_0x5045c2?.[_0x376449(0xbb)],'path':_0x5045c2?.['path'],'ip':_0x5045c2?.['ip']||_0x5045c2?.[_0x376449(0xec)]?.[_0x376449(0x13b)],'userAgent':_0x5045c2?.[_0x376449(0xa4)]?.(_0x376449(0x108)),'requestId':_0x5045c2?.['id']||_0x5045c2?.[_0x376449(0xcb)]?.[_0x376449(0x113)],'body':_0x5045c2?.[_0x376449(0x13d)]?_0x159194['nhuFz'](redactObject,_0x5045c2['body']):undefined,'query':_0x5045c2?.['query'],..._0xda4978},_0x5ef620=_0x48e9d5[_0x376449(0x12a)]||_0x48e9d5[_0x376449(0xd8)]||0x1f4,_0x3eaf2e=_0x376449(0xf2)+_0x5ef620+':\x20'+_0x48e9d5['message'];_0x5ef620>=0x1f4?logger[_0x376449(0x12d)](_0x4b9727,_0x3eaf2e):logger['warn'](_0x4b9727,_0x3eaf2e),writeToFileLog({..._0x4b9727,'level':_0x5ef620>=0x1f4?_0x159194['lEGBS']:_0x376449(0x148),'msg':_0x3eaf2e,'time':new Date()['toISOString']()},_0x5ef620>=0x1f4?_0x159194[_0x376449(0x107)]:'warn');},logUncaughtError=(_0x3c484d,_0x108298)=>{const _0x588547=a0_0x12f6df,_0x588353={'JFwip':_0x588547(0x10f),'ZNfOB':'CRITICAL','rjQnh':function(_0x415794,_0x2121a6,_0x32d8c1){return _0x415794(_0x2121a6,_0x32d8c1);},'TYUoc':'fatal'},_0x4b570e={'event':_0x3c484d,'errorName':_0x108298?.[_0x588547(0xc6)]||_0x588353[_0x588547(0x88)],'errorMessage':_0x108298?.[_0x588547(0x90)]||String(_0x108298),'errorCode':_0x108298?.['code']||null,'stack':_0x108298?.[_0x588547(0x12f)],'severity':_0x588353['ZNfOB'],'processId':process['pid'],'memoryUsage':process[_0x588547(0xad)](),'uptime':process[_0x588547(0x92)]()},_0x134508='['+_0x3c484d['toUpperCase']()+']\x20'+(_0x108298?.[_0x588547(0x90)]||_0x108298);logger[_0x588547(0xe2)](_0x4b570e,_0x134508),_0x588353[_0x588547(0x130)](writeToFileLog,{..._0x4b570e,'level':_0x588353['TYUoc'],'msg':_0x134508,'time':new Date()[_0x588547(0x13f)]()},_0x588547(0x12d));},setupGlobalErrorHandlers=()=>{const _0x246035=a0_0x12f6df,_0x26aed0={'sptTM':function(_0x34dd32,_0x32ee7b,_0x5a85d6){return _0x34dd32(_0x32ee7b,_0x5a85d6);},'nUBuX':function(_0x124417,_0xd9715d){return _0x124417 instanceof _0xd9715d;},'cvrsd':function(_0x153a08,_0x378b90){return _0x153a08(_0x378b90);},'SSGAh':'process_warning','fYqHT':'unhandledRejection','XmRRd':_0x246035(0xfb),'KYnAt':_0x246035(0x123)};process['on'](_0x246035(0xf7),_0x17ee5a=>{const _0x44ec82=_0x246035;logUncaughtError('uncaughtException',_0x17ee5a),_0x26aed0[_0x44ec82(0x145)](setTimeout,()=>{const _0x24737a=_0x44ec82;process[_0x24737a(0x118)](0x1);},0x3e8);}),process['on'](_0x26aed0['fYqHT'],(_0x481667,_0x186b00)=>{const _0x41a513=_0x246035,_0x2e3a7e=_0x26aed0[_0x41a513(0x89)](_0x481667,Error)?_0x481667:new Error(_0x26aed0[_0x41a513(0x111)](String,_0x481667));logUncaughtError('unhandledRejection',_0x2e3a7e);}),process['on'](_0x26aed0['XmRRd'],_0x5d15c8=>{const _0x4ac518=_0x246035;logger[_0x4ac518(0x148)]({'event':_0x26aed0[_0x4ac518(0xc0)],'name':_0x5d15c8['name'],'message':_0x5d15c8[_0x4ac518(0x90)],'stack':_0x5d15c8['stack']},_0x4ac518(0xf4)+_0x5d15c8['message']);});const _0x3eaf9d={'event':_0x26aed0[_0x246035(0xfa)]},_0x3ad60f=_0x246035(0x9d);logger[_0x246035(0x132)](_0x3eaf9d,_0x3ad60f),_0x26aed0[_0x246035(0x145)](writeToFileLog,{..._0x3eaf9d,'level':_0x246035(0x132),'msg':_0x3ad60f,'time':new Date()['toISOString']()},_0x246035(0x132));},createErrorHandlerMiddleware=()=>{const _0x1c01b9={'obbbr':function(_0xb8159,_0x4b73f9){return _0xb8159>=_0x4b73f9;}};return(_0xb44c94,_0x212cd4,_0x496f91,_0x3e642b)=>{const _0x4a8196=a0_0x9884;logHttpError(_0xb44c94,_0x212cd4);const _0xb286ac=_0xb44c94[_0x4a8196(0x12a)]||_0xb44c94[_0x4a8196(0xd8)]||0x1f4;_0x496f91[_0x4a8196(0xd8)](_0xb286ac)['json']({'success':![],'error':_0x1c01b9['obbbr'](_0xb286ac,0x1f4)?_0x4a8196(0xd2):_0xb44c94[_0x4a8196(0x90)],'requestId':_0x212cd4['id']||_0x212cd4[_0x4a8196(0xcb)]?.['x-request-id']||null});};};module[a0_0x12f6df(0xb6)]={'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_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 +1 @@
1
- const a0_0x5b4353=a0_0x1150;(function(_0x28b869,_0x7539a6){const _0x35d3ac=a0_0x1150,_0x1919bf=_0x28b869();while(!![]){try{const _0x586c8=parseInt(_0x35d3ac(0x16e))/0x1+parseInt(_0x35d3ac(0x147))/0x2+-parseInt(_0x35d3ac(0x160))/0x3+-parseInt(_0x35d3ac(0x155))/0x4*(-parseInt(_0x35d3ac(0x168))/0x5)+-parseInt(_0x35d3ac(0x151))/0x6+-parseInt(_0x35d3ac(0x144))/0x7+-parseInt(_0x35d3ac(0x170))/0x8*(-parseInt(_0x35d3ac(0x157))/0x9);if(_0x586c8===_0x7539a6)break;else _0x1919bf['push'](_0x1919bf['shift']());}catch(_0x1c869b){_0x1919bf['push'](_0x1919bf['shift']());}}}(a0_0x3933,0x901df));const dbType=(process[a0_0x5b4353(0x156)]['DB_TYPE']||'postgresql')['toLowerCase']();let executeQuery;function a0_0x1150(_0x5d0320,_0x2510dc){_0x5d0320=_0x5d0320-0x141;const _0x3933ed=a0_0x3933();let _0x1150a2=_0x3933ed[_0x5d0320];if(a0_0x1150['nsjByJ']===undefined){var _0x2427f5=function(_0x353b95){const _0x43d196='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1f6f43='',_0x3b8590='';for(let _0x51bc51=0x0,_0x378748,_0x3c5251,_0x110b66=0x0;_0x3c5251=_0x353b95['charAt'](_0x110b66++);~_0x3c5251&&(_0x378748=_0x51bc51%0x4?_0x378748*0x40+_0x3c5251:_0x3c5251,_0x51bc51++%0x4)?_0x1f6f43+=String['fromCharCode'](0xff&_0x378748>>(-0x2*_0x51bc51&0x6)):0x0){_0x3c5251=_0x43d196['indexOf'](_0x3c5251);}for(let _0x1f69b9=0x0,_0x433d7e=_0x1f6f43['length'];_0x1f69b9<_0x433d7e;_0x1f69b9++){_0x3b8590+='%'+('00'+_0x1f6f43['charCodeAt'](_0x1f69b9)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3b8590);};a0_0x1150['CoVBSX']=_0x2427f5,a0_0x1150['CfBjst']={},a0_0x1150['nsjByJ']=!![];}const _0xf4f1fa=_0x3933ed[0x0],_0x203e6c=_0x5d0320+_0xf4f1fa,_0x5301cb=a0_0x1150['CfBjst'][_0x203e6c];return!_0x5301cb?(_0x1150a2=a0_0x1150['CoVBSX'](_0x1150a2),a0_0x1150['CfBjst'][_0x203e6c]=_0x1150a2):_0x1150a2=_0x5301cb,_0x1150a2;}if(dbType==='oracle'){const oracleDb=require('./db-oracle');executeQuery=(_0x382a14,_0x14016b)=>oracleDb[a0_0x5b4353(0x164)](_0x382a14,_0x14016b);}else{if(dbType===a0_0x5b4353(0x172)){const mysqlDb=require('./db-mysql');executeQuery=(_0x46ee81,_0x53c83b)=>mysqlDb['executeQuery'](_0x46ee81,_0x53c83b);}else executeQuery=require('./db')[a0_0x5b4353(0x164)];}const {logger}=require('./logger');class LookupResolver{constructor(){const _0x208d2c=a0_0x5b4353;this[_0x208d2c(0x173)]=new Map();}[a0_0x5b4353(0x166)](){const _0x39baf8=a0_0x5b4353,_0xacb51={'vJmHn':_0x39baf8(0x15b),'WkUaC':_0x39baf8(0x14e)};this['lookupCache']['clear'](),logger['debug']({'event':_0xacb51['vJmHn']},_0xacb51['WkUaC']);}async['loadLookupTable'](_0x492f74,_0x21ac8a,_0x369ba0){const _0x4bbde9=a0_0x5b4353,_0xb0beea={'DgtGh':function(_0x8731c3,_0x19f934){return _0x8731c3!==_0x19f934;},'EryAd':function(_0x1da011,_0x24de93){return _0x1da011!==_0x24de93;},'WWAlu':function(_0xd0b184,_0x47ba3a){return _0xd0b184(_0x47ba3a);},'vEmzC':'lookup_table_loaded','xdULq':_0x4bbde9(0x16b)},_0x558c43=_0x492f74+':'+_0x21ac8a+':'+_0x369ba0;if(this['lookupCache']['has'](_0x558c43))return this[_0x4bbde9(0x173)]['get'](_0x558c43);try{const _0x47904a=_0x4bbde9(0x149)+_0x369ba0+',\x20'+_0x21ac8a+'\x20FROM\x20'+_0x492f74,_0x10812b=await _0xb0beea[_0x4bbde9(0x153)](executeQuery,_0x47904a),_0x50c9f8=new Map();return _0x10812b[_0x4bbde9(0x15f)](_0x172e87=>{const _0x1a7686=_0x4bbde9,_0x2641a6=_0xb0beea[_0x1a7686(0x15d)](_0x172e87[_0x21ac8a],undefined)?_0x172e87[_0x21ac8a]:_0x172e87[_0x21ac8a['toUpperCase']()],_0x3de02f=_0x172e87[_0x369ba0]!==undefined?_0x172e87[_0x369ba0]:_0x172e87[_0x369ba0[_0x1a7686(0x142)]()];_0xb0beea[_0x1a7686(0x15c)](_0x2641a6,null)&&_0x2641a6!==undefined&&(_0x50c9f8[_0x1a7686(0x141)](String(_0x2641a6)[_0x1a7686(0x14f)]()['trim'](),_0x3de02f),_0x50c9f8['set'](_0xb0beea['WWAlu'](String,_0x2641a6)[_0x1a7686(0x163)](),_0x3de02f));}),this['lookupCache']['set'](_0x558c43,_0x50c9f8),logger['info']({'event':_0xb0beea[_0x4bbde9(0x14a)],'table':_0x492f74,'column':_0x21ac8a,'count':_0x10812b['length']},'Lookup\x20table\x20loaded:\x20'+_0x492f74),_0x50c9f8;}catch(_0x383e97){logger['error']({'event':_0xb0beea['xdULq'],'table':_0x492f74,'error':_0x383e97['message']},'Failed\x20to\x20load\x20lookup\x20table:\x20'+_0x492f74);throw _0x383e97;}}[a0_0x5b4353(0x148)](_0x58c3be,_0x44cd38){const _0x22942c=a0_0x5b4353,_0x488942={'uYAqU':function(_0x28f6c6,_0x4d2133){return _0x28f6c6===_0x4d2133;},'FKtAW':function(_0x2acf16,_0x320a80){return _0x2acf16(_0x320a80);}};if(_0x488942[_0x22942c(0x16d)](_0x58c3be,null)||_0x488942[_0x22942c(0x16d)](_0x58c3be,undefined)||_0x58c3be==='')return null;const _0x2181c5=_0x488942[_0x22942c(0x154)](String,_0x58c3be)['trim']();if(_0x44cd38[_0x22942c(0x14c)](_0x2181c5))return _0x44cd38['get'](_0x2181c5);const _0xbedf22=_0x2181c5[_0x22942c(0x14f)]();if(_0x44cd38['has'](_0xbedf22))return _0x44cd38['get'](_0xbedf22);return null;}async[a0_0x5b4353(0x15a)](_0x21a53d,_0x47ed40){const _0x1007cb=a0_0x5b4353,_0x192b23={'Dqltw':function(_0x432c76,_0x394ebb){return _0x432c76===_0x394ebb;},'RmMYi':function(_0x4feb5b,_0x2fff1b){return _0x4feb5b!==_0x2fff1b;},'sjfUt':function(_0x2feefb,_0x5d84d5){return _0x2feefb===_0x5d84d5;},'qnfRN':'lookup_fields_processed','iIICj':'Lookup\x20fields\x20processed'};if(!_0x47ed40||_0x192b23['sjfUt'](Object['keys'](_0x47ed40)[_0x1007cb(0x16c)],0x0))return{'processedRows':_0x21a53d,'errors':[]};const _0x587324=[],_0x91c075=new Map();for(const [_0x1856c1,_0x4ae61f]of Object['entries'](_0x47ed40)){const {lookupTable:_0x358279,lookupColumn:_0x2a8550,lookupIdColumn:_0x30de53}=_0x4ae61f,_0x1f255=_0x358279+':'+_0x2a8550+':'+_0x30de53;if(!_0x91c075['has'](_0x1f255)){const _0x79bcf7=await this[_0x1007cb(0x171)](_0x358279,_0x2a8550,_0x30de53);_0x91c075['set'](_0x1f255,_0x79bcf7);}}const _0x50da01=_0x21a53d[_0x1007cb(0x146)]((_0x3a66a2,_0x42b914)=>{const _0x51ed29=_0x1007cb,_0x2c2452={..._0x3a66a2};for(const [_0x5d709f,_0x234876]of Object['entries'](_0x47ed40)){const {lookupTable:_0x4dec7f,lookupColumn:_0x53bc15,lookupIdColumn:_0x38d333,targetField:_0x170e76,required:_0x573905}=_0x234876,_0x9fe114=_0x4dec7f+':'+_0x53bc15+':'+_0x38d333,_0x40c0d4=_0x91c075[_0x51ed29(0x150)](_0x9fe114),_0x4fc928=_0x3a66a2[_0x5d709f];if((_0x192b23[_0x51ed29(0x145)](_0x4fc928,null)||_0x4fc928===undefined||_0x192b23['Dqltw'](_0x4fc928,''))&&!_0x573905){_0x2c2452[_0x170e76]=null;continue;}const _0x582839=this['resolveLookupValue'](_0x4fc928,_0x40c0d4);_0x192b23['RmMYi'](_0x582839,null)?_0x2c2452[_0x170e76]=_0x582839:(_0x573905&&_0x587324[_0x51ed29(0x14b)]({'rowIndex':_0x42b914,'field':_0x5d709f,'value':_0x4fc928,'targetField':_0x170e76,'lookupTable':_0x4dec7f,'message':_0x51ed29(0x14d)+_0x4fc928+_0x51ed29(0x161)+_0x4dec7f}),_0x2c2452[_0x170e76]=null);}return _0x2c2452;});return logger[_0x1007cb(0x16f)]({'event':_0x192b23[_0x1007cb(0x15e)],'totalRows':_0x21a53d[_0x1007cb(0x16c)],'errorCount':_0x587324[_0x1007cb(0x16c)],'lookupFieldCount':Object[_0x1007cb(0x159)](_0x47ed40)[_0x1007cb(0x16c)]},_0x192b23['iIICj']),{'processedRows':_0x50da01,'errors':_0x587324};}[a0_0x5b4353(0x167)](_0x166777,_0x3da747){const _0x47396a=a0_0x5b4353,_0x33ced5={'huMVQ':function(_0x575019,_0x25171a){return _0x575019!==_0x25171a;},'nXNmc':function(_0x3f63bf,_0x10dba0){return _0x3f63bf!==_0x10dba0;}},_0x301814=new Set();return _0x166777[_0x47396a(0x15f)](_0x44d8c3=>{const _0x1c4f7b=_0x47396a,_0x58a517=_0x44d8c3[_0x3da747];_0x33ced5['huMVQ'](_0x58a517,null)&&_0x33ced5[_0x1c4f7b(0x143)](_0x58a517,undefined)&&_0x58a517!==''&&_0x301814[_0x1c4f7b(0x16a)](String(_0x58a517)['trim']());}),Array['from'](_0x301814);}async[a0_0x5b4353(0x158)](_0x56b75a,_0x2f87a9){const _0x3fcfbf=a0_0x5b4353,_0x5f38b7={'ybcyu':function(_0x495777,_0x283493){return _0x495777===_0x283493;}};if(!_0x2f87a9||_0x5f38b7[_0x3fcfbf(0x169)](Object[_0x3fcfbf(0x159)](_0x2f87a9)[_0x3fcfbf(0x16c)],0x0))return{'valid':!![],'errors':[],'suggestions':{}};const _0x3c11a3=[],_0x17c80f={};for(const [_0x1f1bf6,_0x3e9b33]of Object[_0x3fcfbf(0x152)](_0x2f87a9)){const {lookupTable:_0x2908e9,lookupColumn:_0x405344,lookupIdColumn:_0x47f8d2,required:_0x48e765}=_0x3e9b33,_0x30404=this[_0x3fcfbf(0x167)](_0x56b75a,_0x1f1bf6),_0xcbfca9=await this['loadLookupTable'](_0x2908e9,_0x405344,_0x47f8d2),_0x266077=[],_0x55c3ae=[];_0x30404['forEach'](_0x5e8377=>{const _0x1d6596=_0x3fcfbf,_0x54ee23=this['resolveLookupValue'](_0x5e8377,_0xcbfca9);_0x54ee23!==null?_0x55c3ae['push'](_0x5e8377):_0x266077[_0x1d6596(0x14b)](_0x5e8377);});if(_0x266077[_0x3fcfbf(0x16c)]>0x0&&_0x48e765){_0x3c11a3['push']({'field':_0x1f1bf6,'lookupTable':_0x2908e9,'invalidValues':_0x266077,'message':_0x266077[_0x3fcfbf(0x16c)]+'\x20value(s)\x20not\x20found\x20in\x20'+_0x2908e9});const _0x56c2a3=[];_0xcbfca9['forEach']((_0x8d401a,_0x1115aa)=>{const _0x5187b1=_0x3fcfbf;if(_0x1115aa===_0x1115aa[_0x5187b1(0x14f)]())return;_0x56c2a3[_0x5187b1(0x14b)](_0x1115aa);}),_0x17c80f[_0x1f1bf6]={'invalidValues':_0x266077,'availableValues':_0x56c2a3[_0x3fcfbf(0x162)](0x0,0x32)};}}return{'valid':_0x5f38b7[_0x3fcfbf(0x169)](_0x3c11a3['length'],0x0),'errors':_0x3c11a3,'suggestions':_0x17c80f};}}function a0_0x3933(){const _0x54c358=['mJq5m3LAtLjezq','DMfSAwrHDgvmB29RDxbwywX1zxm','A2v5CW','ChjVy2vZC0XVB2T1CezPzwXKCW','Bg9VA3vWx2nHy2HLx2nSzwfYzwq','rxj5qwq','rgD0r2G','Cw5MuK4','zM9YrwfJAa','mZiYodi4oeT5z01SzG','iIbUB3qGzM91BMqGAw4G','C2XPy2u','DhjPBq','zxHLy3v0zvf1zxj5','zxHWB3j0CW','y2XLyxjdywnOzq','z2v0rgLZDgLUy3rwywX1zxm','mtG3nZeWnvD6swrjtW','EwjJExu','ywrK','Bg9VA3vWx3rHyMXLx2XVywrFzxjYB3i','BgvUz3rO','DvLbCvu','ndKZnJq1CMvdwMPz','Aw5MBW','mty5mdrZD1Ljs3i','Bg9HzeXVB2T1CfrHyMXL','BxLZCwW','Bg9VA3vWq2fJAgu','C2v0','Dg9vChbLCKnHC2u','BLHoBwm','mtC4ndy3muLoCuzWva','rhfSDhC','BwfW','nZyWmJG2zvPmshrZ','CMvZB2X2zuXVB2T1CfzHBhvL','u0vmrunuia','DKvTEKm','ChvZAa','AgfZ','vMfSDwuGiG','tg9VA3vWignHy2HLignSzwfYzwq','Dg9mB3DLCKnHC2u','z2v0','mZK4ndaWmeflzwPbBa','zw50CMLLCW','v1DbBhu','rKT0qvC','mtjLBgDnzha','zw52'];a0_0x3933=function(){return _0x54c358;};return a0_0x3933();}module[a0_0x5b4353(0x165)]=new LookupResolver();
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 +1 @@
1
- const a0_0x407c17=a0_0x5ca2;function a0_0x5ca2(_0x300b16,_0x3c635b){_0x300b16=_0x300b16-0x9c;const _0x43a608=a0_0x43a6();let _0x5ca29b=_0x43a608[_0x300b16];if(a0_0x5ca2['yiYHIS']===undefined){var _0x46bada=function(_0x43e5bb){const _0x28b534='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2c17b1='',_0x5783b5='';for(let _0x3c5c17=0x0,_0x1d2d43,_0xf23960,_0x1eaac9=0x0;_0xf23960=_0x43e5bb['charAt'](_0x1eaac9++);~_0xf23960&&(_0x1d2d43=_0x3c5c17%0x4?_0x1d2d43*0x40+_0xf23960:_0xf23960,_0x3c5c17++%0x4)?_0x2c17b1+=String['fromCharCode'](0xff&_0x1d2d43>>(-0x2*_0x3c5c17&0x6)):0x0){_0xf23960=_0x28b534['indexOf'](_0xf23960);}for(let _0x59973a=0x0,_0x577510=_0x2c17b1['length'];_0x59973a<_0x577510;_0x59973a++){_0x5783b5+='%'+('00'+_0x2c17b1['charCodeAt'](_0x59973a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5783b5);};a0_0x5ca2['ebUelO']=_0x46bada,a0_0x5ca2['wjbXim']={},a0_0x5ca2['yiYHIS']=!![];}const _0x208a51=_0x43a608[0x0],_0x54c5e4=_0x300b16+_0x208a51,_0x3366b0=a0_0x5ca2['wjbXim'][_0x54c5e4];return!_0x3366b0?(_0x5ca29b=a0_0x5ca2['ebUelO'](_0x5ca29b),a0_0x5ca2['wjbXim'][_0x54c5e4]=_0x5ca29b):_0x5ca29b=_0x3366b0,_0x5ca29b;}(function(_0x2c334c,_0x354421){const _0x1fa96d=a0_0x5ca2,_0x7c0749=_0x2c334c();while(!![]){try{const _0x172cf8=-parseInt(_0x1fa96d(0xa9))/0x1+parseInt(_0x1fa96d(0xbe))/0x2*(parseInt(_0x1fa96d(0xaa))/0x3)+parseInt(_0x1fa96d(0xa3))/0x4*(parseInt(_0x1fa96d(0xa1))/0x5)+-parseInt(_0x1fa96d(0xad))/0x6*(-parseInt(_0x1fa96d(0xba))/0x7)+parseInt(_0x1fa96d(0xc1))/0x8+-parseInt(_0x1fa96d(0xac))/0x9*(parseInt(_0x1fa96d(0xc6))/0xa)+-parseInt(_0x1fa96d(0xb6))/0xb;if(_0x172cf8===_0x354421)break;else _0x7c0749['push'](_0x7c0749['shift']());}catch(_0xa34a02){_0x7c0749['push'](_0x7c0749['shift']());}}}(a0_0x43a6,0x3cb27));function a0_0x43a6(){const _0x260d1f=['ntG1mtHRve1rEK0','ndiWoda0tursBuDz','C2v0','sK94ywu','CMvHzezPBgu','CgfYC2u','ugf5Bg9HzcbUB3qGzM91BMq6ia','AgfZ','zxjYB3i','zMLLBgroyw1L','nZiXotmWmfvUwNvYwq','lI4VlI4VCgf5Bg9Hza','zgvIDwC','sgfTCxa','ndjbs29eAve','BwvZC2fNzq','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5igj5ig5HBwu','sLDHBhC','mK9Ivu1iBW','zxHWB3j0CW','rMfPBgvKihrVigXVywqGCgf5Bg9Hza','nJG3ntm2ExbdCvLR','y2XLyxi','y2fJAgu','Axnby3rPB25fBMfIBgvK','BNnKEwi','mZqWzM5mDufL','lI9SB2DNzxi','Bg9HzfbHEwXVywrcEu5HBwu','ChjVBwLZzxm','Aw5MBW','z2v0','AM9PBG','mJi3mgPUsezhCa','Cgf5Bg9HzdO','mZa0ngvlq2nXyW','Cgf0Aa','ywn0Aw9U','z2v0rxHWB3j0q29UzMLN','Cgf5Bg9Hzf9SB2fKx2vYCM9Y','Cgf5Bg9HzerPCG','mteYmdq4weHev0H2','mte1nZm3m21MBeXeua','Bg9HzfbHEwXVywq'];a0_0x43a6=function(){return _0x260d1f;};return a0_0x43a6();}const fs=require('fs')[a0_0x407c17(0x9d)],path=require(a0_0x407c17(0xa4)),{logger}=require(a0_0x407c17(0xc7));class PayloadLoader{constructor(){const _0x17e169=a0_0x407c17,_0x25c624={'JWalw':_0x17e169(0xb7)};this[_0x17e169(0xa8)]=path['join'](__dirname,_0x25c624[_0x17e169(0xbd)]),this[_0x17e169(0xc3)]=new Map();}async[a0_0x407c17(0xab)](_0x2d7a00,_0xa049c5){const _0x479cc0=a0_0x407c17,_0x12c1d7={'JOxae':_0x479cc0(0xa7)},_0xfccee3=_0x2d7a00+':'+_0xa049c5;if(this['cache']['has'](_0xfccee3))return this['cache'][_0x479cc0(0x9f)](_0xfccee3);const _0x5a916a=path['join'](this[_0x479cc0(0xa8)],_0x2d7a00+'_'+_0xa049c5+'.json');try{const _0x3c8188=await fs[_0x479cc0(0xb0)](_0x5a916a,'utf8'),_0x5f0dea=JSON['parse'](_0x3c8188);return this[_0x479cc0(0xc3)][_0x479cc0(0xae)](_0xfccee3,_0x5f0dea),logger[_0x479cc0(0xb8)]({'event':'payload_loaded','project':_0x2d7a00,'resource':_0xa049c5},'Payload\x20loaded\x20successfully'),_0x5f0dea;}catch(_0x110434){logger['error']({'event':_0x12c1d7[_0x479cc0(0xaf)],'project':_0x2d7a00,'resource':_0xa049c5,'error':_0x110434[_0x479cc0(0xbb)]},_0x479cc0(0xc0));throw new Error(_0x479cc0(0xb2)+_0x2d7a00+'_'+_0xa049c5);}}async[a0_0x407c17(0x9c)](_0x51d097){const _0x26c9bd=a0_0x407c17,_0x30abe4={'FvDjf':'payload_loaded'},_0x5d3f2b=_0x26c9bd(0xa2)+_0x51d097;if(this[_0x26c9bd(0xc3)][_0x26c9bd(0xb3)](_0x5d3f2b))return this[_0x26c9bd(0xc3)][_0x26c9bd(0x9f)](_0x5d3f2b);const _0x3b4f34=path[_0x26c9bd(0xa0)](this['payloadDir'],_0x51d097+'.json');try{const _0x2d6cfe=await fs['readFile'](_0x3b4f34,'utf8'),_0x2c9de0=JSON[_0x26c9bd(0xb1)](_0x2d6cfe);return this[_0x26c9bd(0xc3)]['set'](_0x5d3f2b,_0x2c9de0),logger[_0x26c9bd(0xb8)]({'event':_0x30abe4['FvDjf'],'payloadName':_0x51d097},_0x26c9bd(0xbc)),_0x2c9de0;}catch(_0x16df3e){logger[_0x26c9bd(0xb4)]({'event':_0x26c9bd(0xa7),'payloadName':_0x51d097,'error':_0x16df3e[_0x26c9bd(0xbb)]},'Failed\x20to\x20load\x20payload\x20by\x20name');throw new Error('Payload\x20not\x20found:\x20'+_0x51d097);}}[a0_0x407c17(0xc4)](_0x48f3ba,_0x260034){const _0x5d602b=a0_0x407c17,_0x3ed131={'nsdyb':function(_0x3234c1,_0x123178){return _0x3234c1===_0x123178;}};return _0x48f3ba[_0x5d602b(0xa5)]&&_0x3ed131[_0x5d602b(0xc5)](_0x48f3ba['action'][_0x260034],!![]);}[a0_0x407c17(0xa6)](_0x5753ed){const _0x46d7fa=a0_0x407c17;return{'columns':_0x5753ed[_0x46d7fa(0xb5)]||[],'filename':_0x5753ed['tableName']['replace']('.','-')+'-export','datatablesQuery':_0x5753ed['datatablesQuery']||null,'columnFormats':_0x5753ed['columnFormats']||null,'fieldLabels':_0x5753ed['fieldLabels']||null};}['clearCache'](){const _0x3b9764=a0_0x407c17,_0x2d7e7b={'Hamqp':'payload_cache_cleared'};this[_0x3b9764(0xc3)][_0x3b9764(0xc2)](),logger[_0x3b9764(0x9e)]({'event':_0x2d7e7b[_0x3b9764(0xb9)]},'Payload\x20cache\x20cleared');}}module[a0_0x407c17(0xbf)]=new PayloadLoader();
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 +1 @@
1
- 'use strict';var a0_0x3b28ef=a0_0x242d;(function(_0x499a95,_0x1a51cb){var _0x240044=a0_0x242d,_0x504953=_0x499a95();while(!![]){try{var _0x2ca089=parseInt(_0x240044(0x1c0))/0x1+-parseInt(_0x240044(0x1c2))/0x2+parseInt(_0x240044(0x1be))/0x3+parseInt(_0x240044(0x1bd))/0x4+parseInt(_0x240044(0x1bb))/0x5*(parseInt(_0x240044(0x1bc))/0x6)+-parseInt(_0x240044(0x1b8))/0x7*(-parseInt(_0x240044(0x1ba))/0x8)+-parseInt(_0x240044(0x1bf))/0x9;if(_0x2ca089===_0x1a51cb)break;else _0x504953['push'](_0x504953['shift']());}catch(_0x2868c5){_0x504953['push'](_0x504953['shift']());}}}(a0_0x28c2,0x83a7e));function createResponse(_0x9a67,_0x252965,_0x4d9c6e=null){return{'success':!![],'statusCode':_0x9a67,'message':_0x252965,'data':_0x4d9c6e,'timestamp':new Date()['toISOString']()};}function createError(_0x5beaa2,_0x2e616f,_0xc8a2fa=null){var _0x4b433a=a0_0x242d;return{'success':![],'statusCode':_0x5beaa2,'message':_0x2e616f,'data':_0xc8a2fa,'timestamp':new Date()[_0x4b433a(0x1c1)]()};}function a0_0x242d(_0x15247d,_0x5be3cb){_0x15247d=_0x15247d-0x1b8;var _0x28c288=a0_0x28c2();var _0x242d70=_0x28c288[_0x15247d];if(a0_0x242d['hjNsWY']===undefined){var _0x44b669=function(_0x21b637){var _0x1fa93a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x59fa69='',_0x2ea826='';for(var _0x2a62bc=0x0,_0x9f5534,_0x453441,_0x8a896a=0x0;_0x453441=_0x21b637['charAt'](_0x8a896a++);~_0x453441&&(_0x9f5534=_0x2a62bc%0x4?_0x9f5534*0x40+_0x453441:_0x453441,_0x2a62bc++%0x4)?_0x59fa69+=String['fromCharCode'](0xff&_0x9f5534>>(-0x2*_0x2a62bc&0x6)):0x0){_0x453441=_0x1fa93a['indexOf'](_0x453441);}for(var _0x19a0ab=0x0,_0x152808=_0x59fa69['length'];_0x19a0ab<_0x152808;_0x19a0ab++){_0x2ea826+='%'+('00'+_0x59fa69['charCodeAt'](_0x19a0ab)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2ea826);};a0_0x242d['FKWhAh']=_0x44b669,a0_0x242d['nAOysh']={},a0_0x242d['hjNsWY']=!![];}var _0x309955=_0x28c288[0x0],_0x7625d9=_0x15247d+_0x309955,_0x7361c1=a0_0x242d['nAOysh'][_0x7625d9];return!_0x7361c1?(_0x242d70=a0_0x242d['FKWhAh'](_0x242d70),a0_0x242d['nAOysh'][_0x7625d9]=_0x242d70):_0x242d70=_0x7361c1,_0x242d70;}function createValidationError(_0x3cfcb4,_0x23c418){return{'success':![],'statusCode':0x190,'message':_0x3cfcb4,'data':{'errors':_0x23c418},'timestamp':new Date()['toISOString']()};}function a0_0x28c2(){var _0x4200c3=['Dg9ju09tDhjPBMC','mtKZmZG2t0fZsLLU','mZvYuuHjvgS','zxHWB3j0CW','mtuZmZa4mhjPrNDmvq','nJm1rwfmvwPO','mtG1mtbSt2DzqNC','mte2nZKXmNjjBfLksG','nZmXmJm4rNLorejR','mtGXnZu3nJfwruT5rfK','nZy5nZKWrvvqzhnn'];a0_0x28c2=function(){return _0x4200c3;};return a0_0x28c2();}module[a0_0x3b28ef(0x1b9)]={'createResponse':createResponse,'createError':createError,'createValidationError':createValidationError};
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 +1 @@
1
- const a0_0x5e4c21=a0_0x417f;(function(_0x43513c,_0x1c513d){const _0x358e64=a0_0x417f,_0x4adedd=_0x43513c();while(!![]){try{const _0x4d2b90=parseInt(_0x358e64(0xc0))/0x1+-parseInt(_0x358e64(0x9f))/0x2+parseInt(_0x358e64(0xbc))/0x3+parseInt(_0x358e64(0xac))/0x4+parseInt(_0x358e64(0xbd))/0x5*(-parseInt(_0x358e64(0xa0))/0x6)+parseInt(_0x358e64(0xc3))/0x7*(-parseInt(_0x358e64(0xb0))/0x8)+parseInt(_0x358e64(0xa1))/0x9;if(_0x4d2b90===_0x1c513d)break;else _0x4adedd['push'](_0x4adedd['shift']());}catch(_0x569c30){_0x4adedd['push'](_0x4adedd['shift']());}}}(a0_0x167f,0xbd2f0),require('dotenv')['config']());function a0_0x417f(_0xd9f7ab,_0x54dcfc){_0xd9f7ab=_0xd9f7ab-0x9d;const _0x167fe0=a0_0x167f();let _0x417f40=_0x167fe0[_0xd9f7ab];if(a0_0x417f['PefIvH']===undefined){var _0x406049=function(_0x41061b){const _0x137e8e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4e4b02='',_0x1b03de='';for(let _0x3551a2=0x0,_0x2ec000,_0x4d22bd,_0x411618=0x0;_0x4d22bd=_0x41061b['charAt'](_0x411618++);~_0x4d22bd&&(_0x2ec000=_0x3551a2%0x4?_0x2ec000*0x40+_0x4d22bd:_0x4d22bd,_0x3551a2++%0x4)?_0x4e4b02+=String['fromCharCode'](0xff&_0x2ec000>>(-0x2*_0x3551a2&0x6)):0x0){_0x4d22bd=_0x137e8e['indexOf'](_0x4d22bd);}for(let _0x40954=0x0,_0x58f082=_0x4e4b02['length'];_0x40954<_0x58f082;_0x40954++){_0x1b03de+='%'+('00'+_0x4e4b02['charCodeAt'](_0x40954)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1b03de);};a0_0x417f['HNTZwO']=_0x406049,a0_0x417f['KxWYqC']={},a0_0x417f['PefIvH']=!![];}const _0x2c047b=_0x167fe0[0x0],_0x46bd6c=_0xd9f7ab+_0x2c047b,_0x5b6871=a0_0x417f['KxWYqC'][_0x46bd6c];return!_0x5b6871?(_0x417f40=a0_0x417f['HNTZwO'](_0x417f40),a0_0x417f['KxWYqC'][_0x46bd6c]=_0x417f40):_0x417f40=_0x5b6871,_0x417f40;}const amqp=require(a0_0x5e4c21(0xae)),{formatDate}=require('./dateHelper'),RABBITMQ_URL=process['env']['RABBITMQ_URL'],EXCHANGE=process['env']['RABBITMQ_EXCHANGE'],ROUTING_KEY=process['env'][a0_0x5e4c21(0xa6)],QUEUE=process[a0_0x5e4c21(0xc4)]['RABBITMQ_QUEUE'];async function createConnection(){const _0x298cd7=a0_0x5e4c21,_0x56377d={'XTXvm':function(_0x30f857,_0x5a743){return _0x30f857(_0x5a743);}};try{const _0x3288d8=await amqp[_0x298cd7(0x9d)](RABBITMQ_URL);return console[_0x298cd7(0xc6)]('['+formatDate(new Date())+']\x20Successfully\x20connected\x20to\x20RabbitMQ'),_0x3288d8;}catch(_0x1cdd26){console['error']('['+_0x56377d['XTXvm'](formatDate,new Date())+_0x298cd7(0xb8)+_0x1cdd26[_0x298cd7(0xb1)]);throw _0x1cdd26;}}async function createChannel(_0x3dbc63){const _0x10e1ee=a0_0x5e4c21,_0x1fad90={'jBoIM':function(_0xb8063a,_0x349fe7){return _0xb8063a(_0x349fe7);}};try{const _0x1f8f2f=await _0x3dbc63[_0x10e1ee(0xbf)]();return console[_0x10e1ee(0xc6)]('['+_0x1fad90[_0x10e1ee(0xc9)](formatDate,new Date())+']\x20RabbitMQ\x20channel\x20created\x20successfully'),_0x1f8f2f;}catch(_0x84a913){console[_0x10e1ee(0xaf)]('['+formatDate(new Date())+_0x10e1ee(0xbb)+_0x84a913['message']);throw _0x84a913;}}function a0_0x167f(){const _0x1b8afc=['xsbgywLSzwqGDg8Gy29UBMvJDcb0BYbsywjIAxrnutOG','ignYzwf0zwq','ihDPDgGGreXy','xsbgywLSzwqGDg8Gy3jLyxrLifjHyMjPDe1rignOyw5UzwW6ia','mJK3ndq0mgXZzKXSBa','mJmXndqXnvrwwKTKzW','xsbfEgnOyw5Nzsa','y3jLyxrLq2HHBM5LBa','odG1mdyWD3b5vvnL','zgLYzwn0','xsbfCNjVCIbJCMvHDgLUzYbYzxrYEsbLEgnOyw5NztO','n2HxEvPNAq','zw52','yMLUzff1zxvL','Bg9N','y3jLyxrLzc9YzwfKEq','u29SDxrPB246ifvZzsbHigrPzMzLCMvUDcbXDwv1zsbUyw1LigzVCIbKAwzMzxjLBNqGCM91DgLUzYbRzxLZlG','AKjVsu0','y29UBMvJDa','ic0+ia','mtGWntC3nLzuCgf2EG','mtjLCKrmu24','otm4otK1mMHczMXkDa','xsbfCNjVCIbZzxr0Aw5NihvWig1HAw4GCxvLDwu6','xsbfCNjVCIbJCMvHDgLUzYbLEgnOyw5Nzsa','uxvLDwuG','vvDxy2C','uKfcqKLutvfFuK9vveLor19lrvK','xsbszxrYEsbIAw5KAw5NigzVCIa','ksbJCMvHDgvK','xsbszxrYEsbLEgnOyw5NzsbJCMvHDgvKl3jLywr5','xsbrDwv1zsa','yxnZzxj0rxHJAgfUz2u','ndeWnJG3mLfQwfvyAa','rLn3v2K','yw1XCgXPyG','zxjYB3i','mta3ndqYodHevhDbAMu','BwvZC2fNzq','xsbfuLjpuJOGuxvLDwuG','zxHPDa','Aw5LCxvPDMfSzw50igfYzW','CMv0CNKTzxHJAgfUz2u','C2XmEvy','rND6Afe'];a0_0x167f=function(){return _0x1b8afc;};return a0_0x167f();}async function setupInfrastructure(_0x5d73c6){const _0x3860f8=a0_0x5e4c21,_0x3a8345={'FSwWi':_0x3860f8(0xb5),'Spnbu':function(_0x52d656,_0x16627c){return _0x52d656(_0x16627c);},'slLyV':function(_0xf64b29,_0x567ff3){return _0xf64b29(_0x567ff3);},'FUjNu':function(_0x568b15,_0x5c1104){return _0x568b15(_0x5c1104);},'FwzhQ':_0x3860f8(0xb4),'JPRqm':'x-dead-letter-routing-key','UWWcg':function(_0x5a490b,_0x380f0b){return _0x5a490b(_0x380f0b);}};try{await _0x5d73c6[_0x3860f8(0xab)](_0x3a8345['FSwWi'],_0x3860f8(0xc1),{'durable':!![],'autoDelete':![]}),console['log']('['+formatDate(new Date())+_0x3860f8(0xa9));}catch(_0x49ef60){console[_0x3860f8(0xaf)]('['+_0x3a8345['Spnbu'](formatDate,new Date())+_0x3860f8(0xc2),_0x49ef60['message']);throw _0x49ef60;}try{await _0x5d73c6['assertExchange'](EXCHANGE,'direct',{'durable':!![],'autoDelete':![]}),console[_0x3860f8(0xc6)]('['+_0x3a8345[_0x3860f8(0xb6)](formatDate,new Date())+_0x3860f8(0xbe)+EXCHANGE+'\x20created/ready');}catch(_0x5b64ab){console['error']('['+formatDate(new Date())+_0x3860f8(0xa3)+EXCHANGE+':',_0x5b64ab[_0x3860f8(0xb1)]);throw _0x5b64ab;}const _0x3104a1=ROUTING_KEY+'_retry';try{const _0xf53b43={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':EXCHANGE,'x-dead-letter-routing-key':ROUTING_KEY}};await _0x5d73c6['assertQueue'](_0x3104a1,_0xf53b43),console['log']('['+formatDate(new Date())+']\x20Retry\x20queue\x20'+_0x3104a1+'\x20created/ready'),await _0x5d73c6['bindQueue'](_0x3104a1,_0x3a8345['FSwWi'],ROUTING_KEY),console[_0x3860f8(0xc6)]('['+formatDate(new Date())+_0x3860f8(0xa7)+ROUTING_KEY+_0x3860f8(0xb9));}catch(_0xfa9182){console['error']('['+formatDate(new Date())+']\x20Error\x20creating\x20retry\x20queue:',_0xfa9182['message']);throw _0xfa9182;}try{const _0x20f901={'durable':!![],'arguments':{'x-dead-letter-exchange':_0x3a8345[_0x3860f8(0xad)],'x-dead-letter-routing-key':ROUTING_KEY}};try{const _0x365245=await _0x5d73c6['assertQueue'](QUEUE,_0x20f901);console[_0x3860f8(0xc6)]('['+_0x3a8345['FUjNu'](formatDate,new Date())+_0x3860f8(0xaa)+QUEUE+'\x20'+(_0x365245['queue']===QUEUE?_0x3860f8(0xc7):'found')+_0x3860f8(0xba)),await _0x5d73c6[_0x3860f8(0xc5)](QUEUE,EXCHANGE,ROUTING_KEY),console['log']('['+formatDate(new Date())+']\x20Binding\x20'+EXCHANGE+_0x3860f8(0x9e)+QUEUE+'\x20('+ROUTING_KEY+_0x3860f8(0xa8));}catch(_0x2c16fb){if(_0x2c16fb['message']['includes'](_0x3a8345[_0x3860f8(0xb7)])&&_0x2c16fb[_0x3860f8(0xb1)]['includes'](_0x3a8345['JPRqm']))console[_0x3860f8(0xaf)]('\x0a['+_0x3a8345['FUjNu'](formatDate,new Date())+_0x3860f8(0xb2)+QUEUE+'\x20is\x20already\x20in\x20use\x20with\x20a\x20different\x20routing\x20key.'),console['error'](_0x3860f8(0xa4)+QUEUE+'\x20was\x20created\x20with\x20a\x20different\x20x-dead-letter-routing-key.'),console[_0x3860f8(0xaf)](_0x3860f8(0xc8)),process[_0x3860f8(0xb3)](0x1);else{console[_0x3860f8(0xaf)]('['+_0x3a8345[_0x3860f8(0xa5)](formatDate,new Date())+']\x20Error\x20creating\x20queue\x20'+QUEUE+':',_0x2c16fb[_0x3860f8(0xb1)]);throw _0x2c16fb;}}}catch(_0xae68ec){if(!_0xae68ec['message']['includes'](_0x3a8345['FwzhQ'])){console[_0x3860f8(0xaf)]('['+formatDate(new Date())+_0x3860f8(0xa2),_0xae68ec['message']);throw _0xae68ec;}process['exit'](0x1);}}async function closeConnection(_0x3fecd2){const _0x5c9480=a0_0x5e4c21,_0x2ea51f={'prNfn':function(_0x224081,_0x16d579){return _0x224081(_0x16d579);}};if(_0x3fecd2)try{await _0x3fecd2['close'](),console['log']('['+_0x2ea51f['prNfn'](formatDate,new Date())+']\x20RabbitMQ\x20connection\x20closed');}catch(_0x2d0b52){console['error']('['+formatDate(new Date())+']\x20Failed\x20to\x20close\x20RabbitMQ\x20connection:\x20'+_0x2d0b52[_0x5c9480(0xb1)]);}}module['exports']={'createConnection':createConnection,'createChannel':createChannel,'setupInfrastructure':setupInfrastructure,'closeConnection':closeConnection,'getConfig':()=>({'url':RABBITMQ_URL,'exchange':EXCHANGE,'routingKey':ROUTING_KEY,'queue':QUEUE})};
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 +1 @@
1
- const a0_0x205a37=a0_0x7ca7;(function(_0x3ce732,_0x4153a0){const _0x3f594c=a0_0x7ca7,_0x489e45=_0x3ce732();while(!![]){try{const _0x32446a=parseInt(_0x3f594c(0x182))/0x1+-parseInt(_0x3f594c(0x180))/0x2*(-parseInt(_0x3f594c(0x18d))/0x3)+-parseInt(_0x3f594c(0x189))/0x4*(-parseInt(_0x3f594c(0x191))/0x5)+parseInt(_0x3f594c(0x18f))/0x6+parseInt(_0x3f594c(0x19a))/0x7*(-parseInt(_0x3f594c(0x183))/0x8)+-parseInt(_0x3f594c(0x19d))/0x9+-parseInt(_0x3f594c(0x19e))/0xa;if(_0x32446a===_0x4153a0)break;else _0x489e45['push'](_0x489e45['shift']());}catch(_0x269349){_0x489e45['push'](_0x489e45['shift']());}}}(a0_0x2311,0xb54c0));const Redis=require('ioredis'),{logger}=require('./logger');class RedisClient{constructor(){const _0x59f9f1=a0_0x7ca7;this[_0x59f9f1(0x194)]=null,this[_0x59f9f1(0x196)]=![];}['connect'](){const _0xe244c=a0_0x7ca7,_0x51cec1={'rhxyI':'redis_connected','IreUO':_0xe244c(0x181),'dWHYw':_0xe244c(0x187),'LAylW':'redis_disconnected','nsHqc':_0xe244c(0x195),'kJYjt':function(_0x497705,_0x10b76d,_0x344aac){return _0x497705(_0x10b76d,_0x344aac);},'cuSmr':'connect','gTkjI':'close','rAljl':'redis_init_error','fFTKg':_0xe244c(0x19c)};if(this[_0xe244c(0x194)])return this['client'];try{return this['client']=new Redis({'host':process[_0xe244c(0x198)]['REDIS_HOST']||_0x51cec1[_0xe244c(0x192)],'port':_0x51cec1['kJYjt'](parseInt,process['env']['REDIS_PORT'],0xa)||0x18ec,'password':process[_0xe244c(0x198)][_0xe244c(0x18c)]||undefined,'db':parseInt(process[_0xe244c(0x198)]['REDIS_DB'],0xa)||0x0,'retryStrategy'(_0x3a67c7){const _0x448fe4=Math['min'](_0x3a67c7*0x32,0x7d0);return _0x448fe4;}}),this[_0xe244c(0x194)]['on'](_0x51cec1[_0xe244c(0x18e)],()=>{const _0x2fca4e=_0xe244c;this['isConnected']=!![],logger[_0x2fca4e(0x190)]({'event':_0x51cec1[_0x2fca4e(0x17e)]},_0x51cec1['IreUO']);}),this['client']['on'](_0xe244c(0x184),_0x53eb63=>{const _0x39abda=_0xe244c;this[_0x39abda(0x196)]=![],logger['error']({'event':_0x51cec1[_0x39abda(0x19b)],'error':_0x53eb63[_0x39abda(0x17f)]},'Redis\x20connection\x20error:\x20'+_0x53eb63['message']);}),this[_0xe244c(0x194)]['on'](_0x51cec1['gTkjI'],()=>{const _0x320019=_0xe244c;this['isConnected']=![],logger['warn']({'event':_0x51cec1[_0x320019(0x18a)]},_0x320019(0x199));}),this['client'];}catch(_0x493496){logger['error']({'event':_0x51cec1[_0xe244c(0x186)],'error':_0x493496['message']},_0x51cec1[_0xe244c(0x18b)]);throw _0x493496;}}[a0_0x205a37(0x193)](){const _0x583208=a0_0x205a37;return!this[_0x583208(0x194)]&&this['connect'](),this['client'];}async['ping'](_0x4965ac=0x1388){const _0x165bf0=a0_0x205a37,_0x24b191={'aNnzE':function(_0x4cdbaf,_0x5ca377){return _0x4cdbaf===_0x5ca377;},'HhUFp':_0x165bf0(0x185)};try{const _0x4b290b=this['getClient'](),_0x4ee9c6=await Promise['race']([_0x4b290b['ping'](),new Promise((_0x18215b,_0x41cb1f)=>setTimeout(()=>_0x41cb1f(new Error('Redis\x20PING\x20timeout')),_0x4965ac))]);return _0x24b191['aNnzE'](_0x4ee9c6,_0x24b191['HhUFp']);}catch(_0x2a65d4){return![];}}async['disconnect'](){const _0x3929a7=a0_0x205a37;this['client']&&(await this[_0x3929a7(0x194)][_0x3929a7(0x188)](),this[_0x3929a7(0x194)]=null,this[_0x3929a7(0x196)]=![]);}['forceDisconnect'](){const _0x40cbea=a0_0x205a37;this[_0x40cbea(0x194)]&&(this['client'][_0x40cbea(0x197)](),this[_0x40cbea(0x194)]=null,this[_0x40cbea(0x196)]=![]);}}module['exports']=new RedisClient();function a0_0x7ca7(_0x33ac6d,_0x55b209){_0x33ac6d=_0x33ac6d-0x17e;const _0x2311d9=a0_0x2311();let _0x7ca723=_0x2311d9[_0x33ac6d];if(a0_0x7ca7['CyNsbL']===undefined){var _0x4753ce=function(_0x33a082){const _0x29a985='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3859e4='',_0xeac728='';for(let _0x55da59=0x0,_0x2f3fa2,_0x26c05c,_0x6eac0b=0x0;_0x26c05c=_0x33a082['charAt'](_0x6eac0b++);~_0x26c05c&&(_0x2f3fa2=_0x55da59%0x4?_0x2f3fa2*0x40+_0x26c05c:_0x26c05c,_0x55da59++%0x4)?_0x3859e4+=String['fromCharCode'](0xff&_0x2f3fa2>>(-0x2*_0x55da59&0x6)):0x0){_0x26c05c=_0x29a985['indexOf'](_0x26c05c);}for(let _0x2f95c3=0x0,_0x4e996b=_0x3859e4['length'];_0x2f95c3<_0x4e996b;_0x2f95c3++){_0xeac728+='%'+('00'+_0x3859e4['charCodeAt'](_0x2f95c3)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xeac728);};a0_0x7ca7['LwkzIq']=_0x4753ce,a0_0x7ca7['GYYlcf']={},a0_0x7ca7['CyNsbL']=!![];}const _0x1b7e74=_0x2311d9[0x0],_0x136fea=_0x33ac6d+_0x1b7e74,_0x4d1fee=a0_0x7ca7['GYYlcf'][_0x136fea];return!_0x4d1fee?(_0x7ca723=a0_0x7ca7['LwkzIq'](_0x7ca723),a0_0x7ca7['GYYlcf'][_0x136fea]=_0x7ca723):_0x7ca723=_0x4d1fee,_0x7ca723;}function a0_0x2311(){const _0x2e1648=['rMfPBgvKihrVigLUAxrPywXPEMuGuMvKAxm','mtmZndG4ouvtzLDotW','mta0ndq0mJbyDhvKzxe','CMH4EuK','BwvZC2fNzq','neHqsvfSqG','uMvKAxmGy29UBMvJDgvKihn1y2nLC3nMDwXSEq','mtaZmJCZmKPttwnnsa','mta3nde2BwDeAuD3','zxjYB3i','ue9orW','CKfSAMW','CMvKAxnFzxjYB3i','CxvPDa','nJHYC1bJyuW','tef5BfC','zKzus2C','uKvesvnFueftu1DpuKq','nti4mZGXzLrjs2TZ','y3vtBxi','nty0mdy2vMP0zvvN','Aw5MBW','mZa0mdm1txLQsuXY','BNniCwm','z2v0q2XPzw50','y2XPzw50','Bg9JywXOB3n0','AxndB25Uzwn0zwq','zgLZy29UBMvJDa','zw52','uMvKAxmGy29UBMvJDgLVBIbJBg9Zzwq','mZaXA3LZrenI','zfDiwxC'];a0_0x2311=function(){return _0x2e1648;};return a0_0x2311();}
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 +1 @@
1
- const a0_0x69942a=a0_0x2975;(function(_0x5b0f1c,_0x55d9e8){const _0x676733=a0_0x2975,_0x4c872f=_0x5b0f1c();while(!![]){try{const _0x45dba2=parseInt(_0x676733(0x106))/0x1+-parseInt(_0x676733(0xfc))/0x2+parseInt(_0x676733(0x102))/0x3*(parseInt(_0x676733(0x101))/0x4)+parseInt(_0x676733(0x108))/0x5+parseInt(_0x676733(0x10b))/0x6*(parseInt(_0x676733(0xfe))/0x7)+parseInt(_0x676733(0xfa))/0x8*(-parseInt(_0x676733(0xfb))/0x9)+-parseInt(_0x676733(0x109))/0xa;if(_0x45dba2===_0x55d9e8)break;else _0x4c872f['push'](_0x4c872f['shift']());}catch(_0x1761b4){_0x4c872f['push'](_0x4c872f['shift']());}}}(a0_0x246f,0x8ecd9));const redisClient=require('./redis-client'),{logger}=require(a0_0x69942a(0xee));function a0_0x2975(_0x1769ed,_0x14c4b3){_0x1769ed=_0x1769ed-0xee;const _0x246fd4=a0_0x246f();let _0x2975ee=_0x246fd4[_0x1769ed];if(a0_0x2975['zCkccF']===undefined){var _0x253733=function(_0x2c5bda){const _0x2b7a34='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x562b44='',_0x1087cd='';for(let _0x1aa289=0x0,_0x56778c,_0x4f0751,_0x350b9f=0x0;_0x4f0751=_0x2c5bda['charAt'](_0x350b9f++);~_0x4f0751&&(_0x56778c=_0x1aa289%0x4?_0x56778c*0x40+_0x4f0751:_0x4f0751,_0x1aa289++%0x4)?_0x562b44+=String['fromCharCode'](0xff&_0x56778c>>(-0x2*_0x1aa289&0x6)):0x0){_0x4f0751=_0x2b7a34['indexOf'](_0x4f0751);}for(let _0x339f19=0x0,_0x55365f=_0x562b44['length'];_0x339f19<_0x55365f;_0x339f19++){_0x1087cd+='%'+('00'+_0x562b44['charCodeAt'](_0x339f19)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1087cd);};a0_0x2975['sJUcrI']=_0x253733,a0_0x2975['BOIjln']={},a0_0x2975['zCkccF']=!![];}const _0x8632c8=_0x246fd4[0x0],_0x10a66e=_0x1769ed+_0x8632c8,_0x165e5e=a0_0x2975['BOIjln'][_0x10a66e];return!_0x165e5e?(_0x2975ee=a0_0x2975['sJUcrI'](_0x2975ee),a0_0x2975['BOIjln'][_0x10a66e]=_0x2975ee):_0x2975ee=_0x165e5e,_0x2975ee;}function a0_0x246f(){const _0x13e08f=['oMv4Cg9YDdO','zxjYB3i','vKfkEeu','nZq3nZKYyuPksvbP','zgvSzxrLsM9I','nJK4odmWDwPhC05n','mtq3mtiYodbZAxvztKu','zgvMyxvSDa','ntiYyNDIuNv0','Aw9rB0W','z2v0sM9I','lI9SB2DNzxi','rMfPBgvKihrVihnLDcbQB2iGAw4GuMvKAxm','zgvS','C3rYAw5NAwz5','z2v0q2XPzw50','CgfYC2u','z2v0qwXSsM9ICW','ChvZAa','ChjLzML4','BwvZC2fNzq','DxbKyxrLsM9I','C2v0zxG','ogrJsMrRAG','mJi5nJyZogLRBKvMAq','mtqYntbhDLb6BMC','x3bYzwzPEa','ndmWmdfXrhfXANe','z2v0','zw52','mte5nti3nMTIDKPWAW','oxHnwhPAuW'];a0_0x246f=function(){return _0x13e08f;};return a0_0x246f();}class RedisHelper{constructor(){const _0x2b84bf=a0_0x69942a;this['_prefix']=null,this['ttl']=parseInt(process[_0x2b84bf(0x100)]['EXPORT_FILE_EXPIRY'],0xa)||0xe10;}get[a0_0x69942a(0xf6)](){const _0x4a694c=a0_0x69942a;if(!this[_0x4a694c(0xfd)]){const _0x593bdb=process[_0x4a694c(0x100)]['RESTFORGE_PROJECT_NAME']||_0x4a694c(0x10a);this[_0x4a694c(0xfd)]='restforge:'+_0x593bdb+_0x4a694c(0x103);}return this['_prefix'];}async['setJob'](_0x799dd9,_0x56db86){const _0x20640d=a0_0x69942a,_0x3552e7={'ioQoL':'redis_set_error','qKhPa':_0x20640d(0xef)};try{const _0x17abb9=redisClient[_0x20640d(0xf2)](),_0x2662e4=''+this['prefix']+_0x799dd9;return await _0x17abb9[_0x20640d(0xf9)](_0x2662e4,this['ttl'],JSON[_0x20640d(0xf1)](_0x56db86)),!![];}catch(_0x5b669e){return logger['error']({'event':_0x3552e7[_0x20640d(0x10c)],'jobId':_0x799dd9,'error':_0x5b669e[_0x20640d(0xf7)]},_0x3552e7['qKhPa']),![];}}async['getJob'](_0x18c0c1){const _0x160500=a0_0x69942a,_0x2ad0bf={'FAIrA':'redis_get_error'};try{const _0x2d6fc6=redisClient[_0x160500(0xf2)](),_0x16b1cd=''+this['prefix']+_0x18c0c1,_0x4d819f=await _0x2d6fc6[_0x160500(0xff)](_0x16b1cd);return _0x4d819f?JSON['parse'](_0x4d819f):null;}catch(_0x555662){return logger[_0x160500(0x104)]({'event':_0x2ad0bf['FAIrA'],'jobId':_0x18c0c1,'error':_0x555662['message']},'Failed\x20to\x20get\x20job\x20from\x20Redis'),null;}}async[a0_0x69942a(0xf8)](_0x175746,_0x279367){const _0x51ed93=a0_0x69942a,_0x50f070=await this[_0x51ed93(0x10d)](_0x175746);if(!_0x50f070)return![];const _0x1c2895={..._0x50f070,..._0x279367};return await this['setJob'](_0x175746,_0x1c2895);}async[a0_0x69942a(0x107)](_0x4d28a6){const _0x4d57de=a0_0x69942a,_0x205a56={'VAJxE':'redis_delete_error'};try{const _0x5aa3f4=redisClient['getClient'](),_0x32aa8b=''+this['prefix']+_0x4d28a6;return await _0x5aa3f4[_0x4d57de(0xf0)](_0x32aa8b),!![];}catch(_0x4c8ce1){return logger['error']({'event':_0x205a56[_0x4d57de(0x105)],'jobId':_0x4d28a6,'error':_0x4c8ce1['message']},'Failed\x20to\x20delete\x20job\x20from\x20Redis'),![];}}async[a0_0x69942a(0xf4)](){const _0x4daaf8=a0_0x69942a,_0x31a402={'zqURf':'redis_getall_error','CQlqb':'Failed\x20to\x20get\x20all\x20jobs'};try{const _0x180f1e=redisClient[_0x4daaf8(0xf2)](),_0x247766=await _0x180f1e['keys'](this[_0x4daaf8(0xf6)]+'*'),_0x3762bc=[];for(const _0x3c0033 of _0x247766){const _0xcb5550=await _0x180f1e['get'](_0x3c0033);_0xcb5550&&_0x3762bc[_0x4daaf8(0xf5)](JSON[_0x4daaf8(0xf3)](_0xcb5550));}return _0x3762bc;}catch(_0x148551){return logger['error']({'event':_0x31a402['zqURf'],'error':_0x148551['message']},_0x31a402['CQlqb']),[];}}}module['exports']=new RedisHelper();
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();