@restforgejs/platform 5.1.4 → 5.1.6

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 (173) hide show
  1. package/build-info.json +2 -2
  2. package/cli/consumer-deploy.js +1 -1
  3. package/cli/consumer.js +1 -1
  4. package/generators/cli/data/pull.js +16 -7
  5. package/generators/cli/data/push.js +17 -7
  6. package/generators/cli/init.js +347 -97
  7. package/generators/lib/data/data-scope.js +138 -0
  8. package/generators/lib/data/envelope.js +25 -9
  9. package/generators/lib/data/pull-runner.js +44 -37
  10. package/generators/lib/data/push-runner.js +64 -46
  11. package/generators/lib/templates/dashboard-catalog.js +1 -1
  12. package/generators/lib/templates/db-connection-env.js +1 -1
  13. package/generators/lib/templates/dbschema-catalog.js +1 -1
  14. package/generators/lib/templates/field-validation-catalog.js +1 -1
  15. package/generators/lib/templates/mysql-template.js +1 -1
  16. package/generators/lib/templates/oracle-template.js +1 -1
  17. package/generators/lib/templates/postgres-template.js +1 -1
  18. package/generators/lib/templates/query-declarative-catalog.js +1 -1
  19. package/generators/lib/templates/sqlite-template.js +1 -1
  20. package/integrity-manifest.json +18 -18
  21. package/package.json +1 -1
  22. package/scripts/verify-integrity.js +1 -1
  23. package/server.js +1 -1
  24. package/src/components/handlers/adjust_handler.js +1 -1
  25. package/src/components/handlers/audit_handler.js +1 -1
  26. package/src/components/handlers/delete_handler.js +1 -1
  27. package/src/components/handlers/export_handler.js +1 -1
  28. package/src/components/handlers/import_handler.js +1 -1
  29. package/src/components/handlers/insert_handler.js +1 -1
  30. package/src/components/handlers/update_handler.js +1 -1
  31. package/src/components/handlers/upload_handler.js +1 -1
  32. package/src/components/handlers/workflow_handler.js +1 -1
  33. package/src/components/integrations/webhook.js +1 -1
  34. package/src/consumers/baseConsumer.js +1 -1
  35. package/src/consumers/declarativeMapper.js +1 -1
  36. package/src/consumers/handlers/apiHandler.js +1 -1
  37. package/src/consumers/handlers/consoleHandler.js +1 -1
  38. package/src/consumers/handlers/databaseHandler.js +1 -1
  39. package/src/consumers/handlers/index.js +1 -1
  40. package/src/consumers/handlers/kafkaHandler.js +1 -1
  41. package/src/consumers/index.js +1 -1
  42. package/src/consumers/messageTransformer.js +1 -1
  43. package/src/consumers/validator.js +1 -1
  44. package/src/core/db/dialect/base-dialect.js +1 -1
  45. package/src/core/db/dialect/index.js +1 -1
  46. package/src/core/db/dialect/mysql-dialect.js +1 -1
  47. package/src/core/db/dialect/oracle-dialect.js +1 -1
  48. package/src/core/db/dialect/postgres-dialect.js +1 -1
  49. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  50. package/src/core/db/flatten-helper.js +1 -1
  51. package/src/core/db/query-builder-error.js +1 -1
  52. package/src/core/db/query-builder.js +1 -1
  53. package/src/core/db/relation-helper.js +1 -1
  54. package/src/core/handlers/delete_handler.js +1 -1
  55. package/src/core/handlers/insert_handler.js +1 -1
  56. package/src/core/handlers/update_handler.js +1 -1
  57. package/src/core/models/base-model.js +1 -1
  58. package/src/core/utils/cache-manager.js +1 -1
  59. package/src/core/utils/component-engine.js +1 -1
  60. package/src/core/utils/context-builder.js +1 -1
  61. package/src/core/utils/datetime-formatter.js +1 -1
  62. package/src/core/utils/datetime-parser.js +1 -1
  63. package/src/core/utils/db.js +1 -1
  64. package/src/core/utils/logger.js +1 -1
  65. package/src/core/utils/payload-loader.js +1 -1
  66. package/src/core/utils/security-checks.js +1 -1
  67. package/src/middleware/body-options.js +1 -1
  68. package/src/middleware/cors.js +1 -1
  69. package/src/middleware/idempotency.js +1 -1
  70. package/src/middleware/rate-limiter.js +1 -1
  71. package/src/middleware/request-logger.js +1 -1
  72. package/src/middleware/security-headers.js +1 -1
  73. package/src/models/base-model-mysql.js +1 -1
  74. package/src/models/base-model-oracle.js +1 -1
  75. package/src/models/base-model-sqlite.js +1 -1
  76. package/src/models/base-model.js +1 -1
  77. package/src/pro/caching/redis-client.js +1 -1
  78. package/src/pro/caching/redis-helper.js +1 -1
  79. package/src/pro/consumers/baseConsumer.js +1 -1
  80. package/src/pro/consumers/declarativeMapper.js +1 -1
  81. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  82. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  83. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  84. package/src/pro/consumers/handlers/index.js +1 -1
  85. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  86. package/src/pro/consumers/index.js +1 -1
  87. package/src/pro/consumers/messageTransformer.js +1 -1
  88. package/src/pro/consumers/validator.js +1 -1
  89. package/src/pro/database/base-model-mysql.js +1 -1
  90. package/src/pro/database/base-model-oracle.js +1 -1
  91. package/src/pro/database/base-model-sqlite.js +1 -1
  92. package/src/pro/database/db-mysql.js +1 -1
  93. package/src/pro/database/db-oracle.js +1 -1
  94. package/src/pro/database/db-sqlite.js +1 -1
  95. package/src/pro/excel/excel-generator.js +1 -1
  96. package/src/pro/excel/excel-parser.js +1 -1
  97. package/src/pro/excel/export-service.js +1 -1
  98. package/src/pro/excel/export_handler.js +1 -1
  99. package/src/pro/excel/import-service.js +1 -1
  100. package/src/pro/excel/import-validator.js +1 -1
  101. package/src/pro/excel/import_handler.js +1 -1
  102. package/src/pro/excel/upsert-builder.js +1 -1
  103. package/src/pro/idgen/idgen-routes.js +1 -1
  104. package/src/pro/integrations/lookup-resolver.js +1 -1
  105. package/src/pro/integrations/upload-handler-v2.js +1 -1
  106. package/src/pro/integrations/upload-handler.js +1 -1
  107. package/src/pro/integrations/webhook.js +1 -1
  108. package/src/pro/locking/lock-routes.js +1 -1
  109. package/src/pro/locking/resource-lock-manager.js +1 -1
  110. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  111. package/src/pro/messaging/kafkaService.js +1 -1
  112. package/src/pro/messaging/messagehubService.js +1 -1
  113. package/src/pro/messaging/rabbitmqService.js +1 -1
  114. package/src/pro/scheduler/job-manager.js +1 -1
  115. package/src/pro/scheduler/job-routes.js +1 -1
  116. package/src/pro/scheduler/job-validator.js +1 -1
  117. package/src/pro/storage/base-storage-provider.js +1 -1
  118. package/src/pro/storage/file-metadata-helper.js +1 -1
  119. package/src/pro/storage/index.js +1 -1
  120. package/src/pro/storage/local-storage-provider.js +1 -1
  121. package/src/pro/storage/s3-storage-provider.js +1 -1
  122. package/src/pro/storage/upload-cleanup-job.js +1 -1
  123. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  124. package/src/pro/storage/upload-pending-tracker.js +1 -1
  125. package/src/pro/websocket/broadcast-helper.js +1 -1
  126. package/src/pro/websocket/index.js +1 -1
  127. package/src/pro/websocket/livesync-server.js +1 -1
  128. package/src/pro/websocket/ws-broadcaster.js +1 -1
  129. package/src/services/export-service.js +1 -1
  130. package/src/services/import-service.js +1 -1
  131. package/src/services/kafkaConsumerService.js +1 -1
  132. package/src/services/kafkaService.js +1 -1
  133. package/src/services/messagehubService.js +1 -1
  134. package/src/services/rabbitmqService.js +1 -1
  135. package/src/utils/cache-invalidation-registry.js +1 -1
  136. package/src/utils/cache-manager.js +1 -1
  137. package/src/utils/component-engine.js +1 -1
  138. package/src/utils/config-extractor.js +1 -1
  139. package/src/utils/consumerLogger.js +1 -1
  140. package/src/utils/context-builder.js +1 -1
  141. package/src/utils/dashboard-helpers.js +1 -1
  142. package/src/utils/dateHelper.js +1 -1
  143. package/src/utils/datetime-formatter.js +1 -1
  144. package/src/utils/datetime-parser.js +1 -1
  145. package/src/utils/db-bootstrap.js +1 -1
  146. package/src/utils/db-mysql.js +1 -1
  147. package/src/utils/db-oracle.js +1 -1
  148. package/src/utils/db-sqlite.js +1 -1
  149. package/src/utils/db.js +1 -1
  150. package/src/utils/demo-generator.js +1 -1
  151. package/src/utils/excel-generator.js +1 -1
  152. package/src/utils/excel-parser.js +1 -1
  153. package/src/utils/file-watcher.js +1 -1
  154. package/src/utils/id-generator.js +1 -1
  155. package/src/utils/idempotency-manager.js +1 -1
  156. package/src/utils/import-validator.js +1 -1
  157. package/src/utils/license-client.js +1 -1
  158. package/src/utils/lock-manager.js +1 -1
  159. package/src/utils/logger.js +1 -1
  160. package/src/utils/lookup-resolver.js +1 -1
  161. package/src/utils/payload-loader.js +1 -1
  162. package/src/utils/processor-response.js +1 -1
  163. package/src/utils/rabbitmq.js +1 -1
  164. package/src/utils/redis-client.js +1 -1
  165. package/src/utils/redis-helper.js +1 -1
  166. package/src/utils/request-scope.js +1 -1
  167. package/src/utils/security-checks.js +1 -1
  168. package/src/utils/service-resolver.js +1 -1
  169. package/src/utils/shutdown-coordinator.js +1 -1
  170. package/src/utils/trusted-keys.js +1 -1
  171. package/src/utils/upload-handler.js +1 -1
  172. package/src/utils/upsert-builder.js +1 -1
  173. package/src/utils/workflow-hook-executor.js +1 -1
@@ -1 +1 @@
1
- function a0_0x338d(_0x4d6e10,_0x37970d){_0x4d6e10=_0x4d6e10-0x14b;const _0x2c489d=a0_0x2c48();let _0x338deb=_0x2c489d[_0x4d6e10];if(a0_0x338d['HUnSEy']===undefined){var _0x51d1ba=function(_0x507c9b){const _0x2e45c5='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3eb5da='',_0x53f5fd='';for(let _0x1cb85b=0x0,_0x33fc8c,_0x490210,_0x590071=0x0;_0x490210=_0x507c9b['charAt'](_0x590071++);~_0x490210&&(_0x33fc8c=_0x1cb85b%0x4?_0x33fc8c*0x40+_0x490210:_0x490210,_0x1cb85b++%0x4)?_0x3eb5da+=String['fromCharCode'](0xff&_0x33fc8c>>(-0x2*_0x1cb85b&0x6)):0x0){_0x490210=_0x2e45c5['indexOf'](_0x490210);}for(let _0x2b68a9=0x0,_0x17c2ed=_0x3eb5da['length'];_0x2b68a9<_0x17c2ed;_0x2b68a9++){_0x53f5fd+='%'+('00'+_0x3eb5da['charCodeAt'](_0x2b68a9)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x53f5fd);};a0_0x338d['wbocNV']=_0x51d1ba,a0_0x338d['GsDMeK']={},a0_0x338d['HUnSEy']=!![];}const _0x2483a4=_0x2c489d[0x0],_0x383a27=_0x4d6e10+_0x2483a4,_0x3aeab9=a0_0x338d['GsDMeK'][_0x383a27];return!_0x3aeab9?(_0x338deb=a0_0x338d['wbocNV'](_0x338deb),a0_0x338d['GsDMeK'][_0x383a27]=_0x338deb):_0x338deb=_0x3aeab9,_0x338deb;}const a0_0x1d7cff=a0_0x338d;(function(_0x3cacb4,_0x2584ee){const _0x364893=a0_0x338d,_0x41c42a=_0x3cacb4();while(!![]){try{const _0x5a2f5a=-parseInt(_0x364893(0x18d))/0x1*(parseInt(_0x364893(0x183))/0x2)+-parseInt(_0x364893(0x188))/0x3+parseInt(_0x364893(0x18f))/0x4+parseInt(_0x364893(0x1a4))/0x5*(-parseInt(_0x364893(0x19f))/0x6)+-parseInt(_0x364893(0x1a6))/0x7+-parseInt(_0x364893(0x167))/0x8*(-parseInt(_0x364893(0x15b))/0x9)+parseInt(_0x364893(0x17e))/0xa;if(_0x5a2f5a===_0x2584ee)break;else _0x41c42a['push'](_0x41c42a['shift']());}catch(_0x4e7bd0){_0x41c42a['push'](_0x41c42a['shift']());}}}(a0_0x2c48,0xf2331));function a0_0x2c48(){const _0x4a6896=['x3bYzwzPEa','tg9JAYbYzwXLyxnLigvYCM9Y','zgvJCG','C3rYyxrLz3K','v1jjveuGBg9JAYbHy3f1AxjLihrPBwvVDxq','ntC4mdq3ohP1r3vrwa','te9ds19esvnuuKLcvvrfrf9srvrswv9eruXbwq','CMv0CNLdB3vUDa','AxnfBMfIBgvK','x3DVCMTLCKLK','mtbWCxPeBgC','zuvXuK4','nZa5otm0ngXXqvnYzW','DxvPza','Bg9JA19JB25MAwDFAw5PDa','EKLQuNy','D3jPDgvFBg9JA19YzwPLy3rLza','x3jLDhj5rgvSyxK','CwLKzK0','vLDhyMC','zgvIDwC','AerZvM8','ANDLBxy','CMvHza','Dhj1zq','ywXS','uxvtr1G','D3jPDgvFBg9JA19YzwXLyxnLza','CKnorNK','D3jPDgvFBg9JA19Hy3f1AxjLza','y0Dnyu0','CMvHzf9SB2nRx2fJCxvPCMvK','te9ds19esvnuuKLcvvrfrf9srvrswq','nJi0ntK0nNbVwLzADa','D2fYBG','BwvZC2fNzq','CMvQzwn0','ChjLzML4','x2rLzMf1BhruveW','Bg9JA19YzwXLyxnLx2vYCM9Y','q2fUBM90ihjLBgvHC2uGBg9JAYaTig5VDcbVD25LCG','z2v0q2XPzw50','D3jPDgvFBg9JA190Aw1LB3v0','D3jPDgvFBg9JA193ywL0Aw5N','zgvMyxvSDfruta','oe9bAe1ABW','zxzHBa','D3jPDgu','Bg9JA19LEhrLBMrLza','cIaGicaGicaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicaGicaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzgvSiIWGs0vzu1SXxsKkicaGicaGicbLBhnLcIaGicaGicaGicbYzxr1CM4GmaOGicaGicaGigvUzaOGicaGica','zxH0zw5Ktg9JAW','vfPAqNC','uKPgv3a','zxHWB3j0CW','tg9JAYbLEhrLBMqGzxjYB3i','v2fPDgLUzYbMB3iGv1jjveuGBg9JAYb0BYbYzwXLyxnL','C2XLzxa','te9ds19esvnuuKLcvvrfrf9ftKfcteve','Aw5JCG','AeDMEgS','CMv0CNLezwXHEq','x3jLDhj5q291BNq','x2vUywjSzwq','zgvS','z2v0tg9JA0LUzM8','rw5LC1e','lI9SB2DNzxi','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMv0CNKGBw9KzsK','mJu5mJe1mdbXuhfqzxK','v0rXsuC','x3n0CMf0zwD5','zw5HyMXLza','te9ds19esvnuuKLcvvrfrf9uveW','oduWmdrxzvLUqLG','DgjSy0e','CMvSzwfZzuXVy2S','CgLK','B0Dmr00','mJa4nZe2q3niuM9U','x2LUAxrdB25MAwC','D3jPDgvFBg9JA19LCNjVCG','uKvbrcbSB2nRigfJCxvPCMuGDgLTzw91Da','AwTpC3G','nxrutxLrDa','zxjYB3i','mZCXnJaYmhnWs0zVqG','Aw5MBW','x2LUAxrPywXPEMvK','yNvPBgrmB2nRs2v5','v1jjveuGBg9JAYbYzwXLyxnLza','CMy6Bg9JAZO','lcbZDhjHDgvNEtOG','ywnXDwLYzvjLywrmB2nR','zw52','z2v0','x2vUC3vYzuLUAxrPywXPEMvK'];a0_0x2c48=function(){return _0x4a6896;};return a0_0x2c48();}const redisClient=require('./redis-client'),{logger}=require(a0_0x1d7cff(0x17c)),{v4:uuidv4}=require(a0_0x1d7cff(0x1a7));class LockManager{constructor(){const _0x436c12=a0_0x1d7cff;this['_prefix']=null,this['_enabled']=null,this['_defaultTTL']=null,this[_0x436c12(0x177)]=null,this[_0x436c12(0x14b)]=null,this[_0x436c12(0x180)]=null,this[_0x436c12(0x1a3)]=null,this[_0x436c12(0x191)]=![];}[a0_0x1d7cff(0x189)](){const _0x5e5190=a0_0x1d7cff,_0xfda724={'oGLGM':function(_0x2af5cc,_0x1acd39){return _0x2af5cc===_0x1acd39;},'qidfM':_0x5e5190(0x152),'jwemv':'retry'};this[_0x5e5190(0x19a)]=_0x5e5190(0x194),this['_enabled']=_0xfda724[_0x5e5190(0x187)](process['env'][_0x5e5190(0x173)],_0xfda724[_0x5e5190(0x14c)]),this[_0x5e5190(0x160)]=parseInt(process[_0x5e5190(0x197)][_0x5e5190(0x182)],0xa)||0xa,this['_retryCount']=parseInt(process[_0x5e5190(0x197)][_0x5e5190(0x15a)],0xa)||0x3,this['_retryDelay']=parseInt(process[_0x5e5190(0x197)][_0x5e5190(0x1a0)],0xa)||0x64,this[_0x5e5190(0x180)]=process['env']['LOCK_DISTRIBUTED_STRATEGY']||_0xfda724[_0x5e5190(0x150)],this['_workerId']='worker-'+process[_0x5e5190(0x186)],this['_initialized']=!![],logger[_0x5e5190(0x190)]({'event':_0x5e5190(0x1a8),'enabled':this[_0x5e5190(0x178)],'strategy':this['_strategy'],'ttl':this['_defaultTTL'],'retryCount':this['_retryCount'],'retryDelay':this[_0x5e5190(0x14b)],'workerId':this['_workerId']},'Lock\x20configuration\x20initialized\x20-\x20enabled:\x20'+this['_enabled']+_0x5e5190(0x195)+this['_strategy']);}[a0_0x1d7cff(0x199)](){!this['_initialized']&&this['_initConfig']();}get['prefix'](){const _0x3cc75e=a0_0x1d7cff;return this['_ensureInitialized'](),this[_0x3cc75e(0x19a)];}get[a0_0x1d7cff(0x181)](){return this['_ensureInitialized'](),this['_enabled'];}get['defaultTTL'](){const _0x337d4d=a0_0x1d7cff;return this['_ensureInitialized'](),this[_0x337d4d(0x160)];}get['retryCount'](){return this['_ensureInitialized'](),this['_retryCount'];}get[a0_0x1d7cff(0x176)](){const _0x3d8310=a0_0x1d7cff;return this['_ensureInitialized'](),this[_0x3d8310(0x14b)];}get[a0_0x1d7cff(0x19d)](){return this['_ensureInitialized'](),this['_strategy'];}get['workerId'](){const _0x21e9bf=a0_0x1d7cff;return this['_ensureInitialized'](),this[_0x21e9bf(0x1a3)];}[a0_0x1d7cff(0x192)](_0x19ba2c){const _0x43ebab=a0_0x1d7cff,{module:_0xa6b14c,endpoint:_0x357943,lockType:_0x3f8162,recordId:_0x39db6b}=_0x19ba2c;if(_0x39db6b)return''+this[_0x43ebab(0x15f)]+_0xa6b14c+':'+_0x357943+':'+_0x39db6b+':'+_0x3f8162;return''+this['prefix']+_0xa6b14c+':'+_0x357943+':'+_0x3f8162;}['generateLockValue'](){return this['workerId']+':'+uuidv4()+':'+Date['now']();}async[a0_0x1d7cff(0x196)](_0x336e16){const _0x3214da=a0_0x1d7cff,_0xc0e065={'cEUWz':_0x3214da(0x151),'EnesQ':function(_0x4cc3bf,_0x16c0ed){return _0x4cc3bf<_0x16c0ed;},'RJFWp':_0x3214da(0x159),'hDsVo':'read_lock_waiting','QHfhM':_0x3214da(0x18b)};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x2d835d=this['buildLockKey']({..._0x336e16,'lockType':_0x3214da(0x169)}),_0x96ad4d=this[_0x3214da(0x192)]({..._0x336e16,'lockType':_0xc0e065['cEUWz']}),_0xad6802=this['generateLockValue']();try{const _0x47f5c0=redisClient[_0x3214da(0x163)]();for(let _0x1558de=0x0;_0xc0e065[_0x3214da(0x17b)](_0x1558de,this[_0x3214da(0x1a1)]);_0x1558de++){const _0x366a42=await _0x47f5c0[_0x3214da(0x198)](_0x2d835d);if(!_0x366a42){await _0x47f5c0[_0x3214da(0x174)](_0x96ad4d),await _0x47f5c0['expire'](_0x96ad4d,this[_0x3214da(0x166)]);const _0x45fe42=_0x96ad4d+':'+_0xad6802;return await _0x47f5c0['setex'](_0x45fe42,this[_0x3214da(0x166)],_0xad6802),logger[_0x3214da(0x14e)]({'event':_0xc0e065[_0x3214da(0x16e)],'key':_0x96ad4d,'value':_0xad6802},'READ\x20lock\x20acquired'),{'success':!![],'lockValue':_0xad6802,'lockKey':_0x45fe42};}logger[_0x3214da(0x14e)]({'event':_0xc0e065[_0x3214da(0x14f)],'writeKey':_0x2d835d,'attempt':_0x1558de},_0x3214da(0x171)),await this[_0x3214da(0x172)](this['retryDelay']*Math['pow'](0x2,_0x1558de));}return logger[_0x3214da(0x15c)]({'event':'read_lock_timeout','key':_0x96ad4d},_0xc0e065['QHfhM']),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x42f4ef){return logger['error']({'event':'read_lock_error','error':_0x42f4ef['message']},'READ\x20lock\x20error'),{'success':![],'lockValue':null,'lockKey':null};}}async['acquireWriteLock'](_0x260060){const _0x25c6df=a0_0x1d7cff,_0x23ec25={'tblcA':'write','WDqIG':'read','TZZBw':function(_0x4dcef9,_0x5953fd){return _0x4dcef9===_0x5953fd;},'CztCD':'WRITE\x20lock\x20acquired\x20(reject\x20mode)','XNeyc':function(_0x5aea6c,_0x75f212){return _0x5aea6c<_0x75f212;},'ikOsx':function(_0x1f804f,_0x40f2e5){return _0x1f804f===_0x40f2e5;},'rCNFy':'retry','WpzKT':_0x25c6df(0x17d),'QuSGX':_0x25c6df(0x18a)};if(!this[_0x25c6df(0x181)])return{'success':!![],'lockValue':null,'lockKey':null};const _0x43b159=this['buildLockKey']({..._0x260060,'lockType':_0x23ec25[_0x25c6df(0x184)]}),_0x61c7ab=this[_0x25c6df(0x192)]({..._0x260060,'lockType':_0x23ec25[_0x25c6df(0x17f)]}),_0x348b28=this['generateLockValue']();try{const _0x5a10c8=redisClient['getClient']();if(_0x23ec25['TZZBw'](this[_0x25c6df(0x19d)],_0x25c6df(0x15e))){const _0x1598f3=await _0x5a10c8['set'](_0x43b159,_0x348b28,'EX',this['defaultTTL'],'NX');if(_0x23ec25['TZZBw'](_0x1598f3,'OK'))return logger['debug']({'event':_0x25c6df(0x157),'key':_0x43b159,'value':_0x348b28,'strategy':_0x25c6df(0x15e)},_0x23ec25['CztCD']),{'success':!![],'lockValue':_0x348b28,'lockKey':_0x43b159};return logger['debug']({'event':_0x25c6df(0x1aa),'key':_0x43b159},'WRITE\x20lock\x20rejected\x20-\x20record\x20busy'),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x43a64e=0x0;_0x23ec25['XNeyc'](_0x43a64e,this['retryCount']);_0x43a64e++){const [_0x56e7cb,_0xa65798]=await Promise['all']([_0x5a10c8['get'](_0x61c7ab),_0x5a10c8[_0x25c6df(0x198)](_0x43b159)]);if(!_0xa65798&&(!_0x56e7cb||_0x23ec25[_0x25c6df(0x16d)](parseInt(_0x56e7cb),0x0))){const _0x359142=await _0x5a10c8['set'](_0x43b159,_0x348b28,'EX',this['defaultTTL'],'NX');if(_0x23ec25[_0x25c6df(0x18c)](_0x359142,'OK'))return logger[_0x25c6df(0x14e)]({'event':'write_lock_acquired','key':_0x43b159,'value':_0x348b28,'strategy':_0x23ec25[_0x25c6df(0x156)]},_0x23ec25['WpzKT']),{'success':!![],'lockValue':_0x348b28,'lockKey':_0x43b159};}logger[_0x25c6df(0x14e)]({'event':_0x25c6df(0x165),'writeKey':_0x43b159,'readCount':_0x56e7cb,'attempt':_0x43a64e},'Waiting\x20for\x20locks\x20to\x20release'),await this[_0x25c6df(0x172)](this[_0x25c6df(0x176)]*Math['pow'](0x2,_0x43a64e));}return logger['warn']({'event':_0x25c6df(0x164),'key':_0x43b159},_0x25c6df(0x19e)),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x4cc7b9){return logger[_0x25c6df(0x18e)]({'event':_0x23ec25[_0x25c6df(0x154)],'error':_0x4cc7b9[_0x25c6df(0x15d)]},'WRITE\x20lock\x20error'),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x1d7cff(0x185)](_0x4f20b7,_0x452029){const _0x4888c1=a0_0x1d7cff,_0x11be30={'zIjRv':function(_0x2993cf,_0x244179){return _0x2993cf>_0x244179;},'nXeuQ':function(_0x51fdf8,_0x4ebca8){return _0x51fdf8===_0x4ebca8;},'YDVcL':_0x4888c1(0x155),'EMyuJ':_0x4888c1(0x162)};if(!this['enabled']||!_0x4f20b7)return!![];try{const _0x4be754=redisClient['getClient']();if(_0x4f20b7['includes'](':read:')){await _0x4be754[_0x4888c1(0x179)](_0x4f20b7);const _0x365152=_0x4f20b7['substring'](0x0,_0x4f20b7['lastIndexOf'](':')),_0x427f91=await _0x4be754[_0x4888c1(0x198)](_0x365152);return _0x427f91&&_0x11be30[_0x4888c1(0x1a9)](parseInt(_0x427f91),0x0)&&await _0x4be754[_0x4888c1(0x19c)](_0x365152),logger[_0x4888c1(0x14e)]({'event':'read_lock_released','key':_0x4f20b7},'READ\x20lock\x20released'),!![];}const _0x280a81=_0x4888c1(0x16b),_0x18b560=await _0x4be754['eval'](_0x280a81,0x1,_0x4f20b7,_0x452029);if(_0x11be30['nXeuQ'](_0x18b560,0x1))return logger['debug']({'event':_0x11be30['YDVcL'],'key':_0x4f20b7},_0x4888c1(0x193)),!![];return logger[_0x4888c1(0x15c)]({'event':'lock_release_not_owner','key':_0x4f20b7},_0x11be30['EMyuJ']),![];}catch(_0x48a7fb){return logger['error']({'event':_0x4888c1(0x161),'key':_0x4f20b7,'error':_0x48a7fb[_0x4888c1(0x15d)]},_0x4888c1(0x19b)),![];}}async[a0_0x1d7cff(0x16c)](_0x138639,_0xc71462,_0x467bb5=null){const _0x56ff98=a0_0x1d7cff,_0x3d049d={'eEqRN':function(_0x23f553,_0x2ca3f5){return _0x23f553===_0x2ca3f5;},'VWGbg':_0x56ff98(0x16a),'hGfxk':'lock_extend_error'};if(!this['enabled']||!_0x138639)return!![];try{const _0x498376=redisClient[_0x56ff98(0x163)](),_0x576a62='\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20redis.call(\x22get\x22,\x20KEYS[1])\x20==\x20ARGV[1]\x20then\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20redis.call(\x22expire\x22,\x20KEYS[1],\x20ARGV[2])\x0a\x20\x20\x20\x20\x20\x20\x20\x20else\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x200\x0a\x20\x20\x20\x20\x20\x20\x20\x20end\x0a\x20\x20\x20\x20\x20\x20',_0x17edc2=await _0x498376[_0x56ff98(0x168)](_0x576a62,0x1,_0x138639,_0xc71462,_0x467bb5||this['defaultTTL']);if(_0x3d049d[_0x56ff98(0x1a5)](_0x17edc2,0x1))return logger[_0x56ff98(0x14e)]({'event':_0x3d049d[_0x56ff98(0x14d)],'key':_0x138639,'ttl':_0x467bb5||this['defaultTTL']},'Lock\x20TTL\x20extended'),!![];return![];}catch(_0x33229d){return logger[_0x56ff98(0x18e)]({'event':_0x3d049d[_0x56ff98(0x175)],'key':_0x138639,'error':_0x33229d['message']},_0x56ff98(0x170)),![];}}[a0_0x1d7cff(0x1a2)](){const _0x1473d0=a0_0x1d7cff;return this[_0x1473d0(0x181)];}[a0_0x1d7cff(0x172)](_0x10952f){return new Promise(_0x2acf90=>setTimeout(_0x2acf90,_0x10952f));}async[a0_0x1d7cff(0x17a)](_0x402c67){const _0x2d6743=a0_0x1d7cff,_0x284b26={'cGMaM':_0x2d6743(0x151),'qkdsK':function(_0x154883,_0x363a3e){return _0x154883(_0x363a3e);}};if(!this[_0x2d6743(0x181)])return{'enabled':![]};try{const _0x2ae206=redisClient[_0x2d6743(0x163)](),_0x3cacdd=this[_0x2d6743(0x192)]({..._0x402c67,'lockType':'write'}),_0xdd515f=this[_0x2d6743(0x192)]({..._0x402c67,'lockType':_0x284b26[_0x2d6743(0x158)]}),[_0xad77d5,_0x3c0c1d]=await Promise[_0x2d6743(0x153)]([_0x2ae206[_0x2d6743(0x198)](_0x3cacdd),_0x2ae206[_0x2d6743(0x198)](_0xdd515f)]);return{'enabled':!![],'writeLock':_0xad77d5||null,'readCount':_0x284b26['qkdsK'](parseInt,_0x3c0c1d)||0x0,'writeKey':_0x3cacdd,'readKey':_0xdd515f};}catch(_0x818400){return{'enabled':!![],'error':_0x818400['message']};}}}module[a0_0x1d7cff(0x16f)]=new LockManager();
1
+ const a0_0x292047=a0_0x2b57;(function(_0xdde8ff,_0x570895){const _0x1270d7=a0_0x2b57,_0xbe487b=_0xdde8ff();while(!![]){try{const _0x28c24c=-parseInt(_0x1270d7(0x21e))/0x1*(parseInt(_0x1270d7(0x202))/0x2)+parseInt(_0x1270d7(0x1f9))/0x3+-parseInt(_0x1270d7(0x23b))/0x4*(-parseInt(_0x1270d7(0x204))/0x5)+parseInt(_0x1270d7(0x208))/0x6+-parseInt(_0x1270d7(0x235))/0x7+parseInt(_0x1270d7(0x225))/0x8*(parseInt(_0x1270d7(0x1f0))/0x9)+parseInt(_0x1270d7(0x1f3))/0xa*(parseInt(_0x1270d7(0x21a))/0xb);if(_0x28c24c===_0x570895)break;else _0xbe487b['push'](_0xbe487b['shift']());}catch(_0x47675e){_0xbe487b['push'](_0xbe487b['shift']());}}}(a0_0x328b,0xaa8a3));function a0_0x2b57(_0x40fb07,_0x425755){_0x40fb07=_0x40fb07-0x1ea;const _0x328b29=a0_0x328b();let _0x2b578b=_0x328b29[_0x40fb07];if(a0_0x2b57['yKMoXr']===undefined){var _0x3789ed=function(_0x6972c2){const _0x46af56='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x425dc8='',_0x12ac16='';for(let _0x2770e3=0x0,_0x1abe29,_0x577264,_0x2566b8=0x0;_0x577264=_0x6972c2['charAt'](_0x2566b8++);~_0x577264&&(_0x1abe29=_0x2770e3%0x4?_0x1abe29*0x40+_0x577264:_0x577264,_0x2770e3++%0x4)?_0x425dc8+=String['fromCharCode'](0xff&_0x1abe29>>(-0x2*_0x2770e3&0x6)):0x0){_0x577264=_0x46af56['indexOf'](_0x577264);}for(let _0x9b5b59=0x0,_0x7468b6=_0x425dc8['length'];_0x9b5b59<_0x7468b6;_0x9b5b59++){_0x12ac16+='%'+('00'+_0x425dc8['charCodeAt'](_0x9b5b59)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x12ac16);};a0_0x2b57['qczgkf']=_0x3789ed,a0_0x2b57['XPFKke']={},a0_0x2b57['yKMoXr']=!![];}const _0x5016ed=_0x328b29[0x0],_0x4aa2a8=_0x40fb07+_0x5016ed,_0x41e12f=a0_0x2b57['XPFKke'][_0x4aa2a8];return!_0x41e12f?(_0x2b578b=a0_0x2b57['qczgkf'](_0x2b578b),a0_0x2b57['XPFKke'][_0x4aa2a8]=_0x2b578b):_0x2b578b=_0x41e12f,_0x2b578b;}function a0_0x328b(){const _0x350426=['BgfZDeLUzgv4t2y','t1DVsNi','zxHWB3j0CW','lI9SB2DNzxi','te9ds19esvnuuKLcvvrfrf9uveW','D3jPDgvFBg9JA19Hy3f1AxjLza','tw1jDvq','C2v0','zxHWAxjL','ode5owrpyMHbzW','D3jPDgvFBg9JA193ywL0Aw5N','ywnXDwLYzvjLywrmB2nR','mJaYmtbduKDhEM8','x2LUAxrdB25MAwC','Cg93','uKvbrcbSB2nRigfJCxvPCMuGDgLTzw91Da','x3n0CMf0zwD5','x2rLzMf1BhruveW','mtyYndy4B1jZuePz','x3jLDhj5rgvSyxK','BM93','D3jPDgvFBg9JA19LCNjVCG','zxjYB3i','x3jLDhj5q291BNq','A054EKi','zw5HyMXLza','z2v0','mJu5mde5nKHoz3fXDG','x3DVCMTLCKLK','mZGXmZa3nwTIDxDiCG','ywLhDKW','CMvQzwn0','EuPsquK','nJaWmty4nKLOy3zNDa','v2fPDgLUzYbMB3iGBg9JA3mGDg8GCMvSzwfZzq','AMzPzgi','venqA1m','Aw5MBW','oNjLywq6','x3bYzwzPEa','zM9Zrgq','ywXS','zgvIDwC','rwHcs1O','x2LUAxrPywXPEMvK','D3zfvLq','z2DiC24','CMvHzf9SB2nRx2vYCM9Y','D3jPDgu','zgvMyxvSDfruta','te9ds19esvnuuKLcvvrfrf9ftKfcteve','mZa5mujgrejnBW','zw52','ChjLzML4','D29YA2vYswq','mvr6Bhf3qW','Bg9JA19JB25MAwDFAw5PDa','D2fYBG','C3vIC3rYAw5N','z2v0q2XPzw50','CMv0CNLezwXHEq','x2vUC3vYzuLUAxrPywXPEMvK','mJe0nfrAt1fuAG','rKzgEwG','CMvHza','BM1srwG','DxvPza','CMv0CNLdB3vUDa','CMvSzwfZzuXVy2S','CMvHzf9SB2nRx3rPBwvVDxq','z2vUzxjHDgvmB2nRvMfSDwu','C2XLzxa','uuvWBfC','qwPJz3y','x2vUywjSzwq','te9ds19esvnuuKLcvvrfrf9srvrswv9eruXbwq','uufOCuG','lcbZDhjHDgvNEtOG','ndq0odmWngDwuefNBq','svrSvhe','Aw5JBhvKzxm','v1jjveuGBg9JAYbHy3f1AxjLihrPBwvVDxq','yNvPBgrmB2nRs2v5','BwvZC2fNzq','ne9Qwu5AwG'];a0_0x328b=function(){return _0x350426;};return a0_0x328b();}const redisClient=require('./redis-client'),{logger}=require(a0_0x292047(0x1ea)),{v4:uuidv4}=require(a0_0x292047(0x229));class LockManager{constructor(){const _0x4f3eb5=a0_0x292047;this[_0x4f3eb5(0x20e)]=null,this[_0x4f3eb5(0x231)]=null,this[_0x4f3eb5(0x1f8)]=null,this[_0x4f3eb5(0x1fe)]=null,this[_0x4f3eb5(0x1fa)]=null,this[_0x4f3eb5(0x1f7)]=null,this['_workerId']=null,this[_0x4f3eb5(0x213)]=![];}[a0_0x292047(0x1f4)](){const _0x5df6b8=a0_0x292047,_0x610eab={'fosDd':function(_0x2ae856,_0x3bcca0){return _0x2ae856===_0x3bcca0;},'EhBKZ':function(_0x231506,_0x519f8c,_0x51f533){return _0x231506(_0x519f8c,_0x51f533);},'gmAJC':function(_0x219348,_0x283c97,_0x51a7cd){return _0x219348(_0x283c97,_0x51a7cd);}};this[_0x5df6b8(0x20e)]='rf:lock:',this[_0x5df6b8(0x231)]=_0x610eab[_0x5df6b8(0x20f)](process['env'][_0x5df6b8(0x219)],'true'),this[_0x5df6b8(0x1f8)]=_0x610eab['EhBKZ'](parseInt,process[_0x5df6b8(0x21b)][_0x5df6b8(0x1eb)],0xa)||0xa,this['_retryCount']=_0x610eab[_0x5df6b8(0x212)](parseInt,process[_0x5df6b8(0x21b)]['LOCK_DISTRIBUTED_RETRY'],0xa)||0x3,this[_0x5df6b8(0x1fa)]=_0x610eab['gmAJC'](parseInt,process['env'][_0x5df6b8(0x232)],0xa)||0x64,this[_0x5df6b8(0x1f7)]=process['env']['LOCK_DISTRIBUTED_STRATEGY']||'retry',this['_workerId']='worker-'+process['pid'],this['_initialized']=!![],logger[_0x5df6b8(0x20c)]({'event':_0x5df6b8(0x21f),'enabled':this['_enabled'],'strategy':this['_strategy'],'ttl':this[_0x5df6b8(0x1f8)],'retryCount':this['_retryCount'],'retryDelay':this[_0x5df6b8(0x1fa)],'workerId':this[_0x5df6b8(0x203)]},'Lock\x20configuration\x20initialized\x20-\x20enabled:\x20'+this[_0x5df6b8(0x231)]+_0x5df6b8(0x234)+this[_0x5df6b8(0x1f7)]);}['_ensureInitialized'](){const _0x17eccb=a0_0x292047;!this['_initialized']&&this[_0x17eccb(0x1f4)]();}get['prefix'](){return this['_ensureInitialized'](),this['_prefix'];}get['enabled'](){const _0x5e45d3=a0_0x292047;return this[_0x5e45d3(0x224)](),this[_0x5e45d3(0x231)];}get['defaultTTL'](){const _0x3fc9dc=a0_0x292047;return this['_ensureInitialized'](),this[_0x3fc9dc(0x1f8)];}get[a0_0x292047(0x22a)](){const _0x20afb6=a0_0x292047;return this['_ensureInitialized'](),this[_0x20afb6(0x1fe)];}get['retryDelay'](){const _0x1adab2=a0_0x292047;return this['_ensureInitialized'](),this[_0x1adab2(0x1fa)];}get['strategy'](){const _0x2396e1=a0_0x292047;return this[_0x2396e1(0x224)](),this[_0x2396e1(0x1f7)];}get[a0_0x292047(0x21d)](){const _0x37fd0d=a0_0x292047;return this[_0x37fd0d(0x224)](),this['_workerId'];}['buildLockKey'](_0x31882d){const _0x8edd8a=a0_0x292047,{module:_0x3a87f7,endpoint:_0x2b92bc,lockType:_0x18e5ba,recordId:_0x55b691}=_0x31882d;if(_0x55b691)return''+this[_0x8edd8a(0x21c)]+_0x3a87f7+':'+_0x2b92bc+':'+_0x55b691+':'+_0x18e5ba;return''+this['prefix']+_0x3a87f7+':'+_0x2b92bc+':'+_0x18e5ba;}[a0_0x292047(0x22d)](){const _0x1af2d3=a0_0x292047,_0x15c61f={'yJRAI':function(_0x29d947){return _0x29d947();}};return this['workerId']+':'+_0x15c61f[_0x1af2d3(0x207)](uuidv4)+':'+Date[_0x1af2d3(0x1fb)]();}async[a0_0x292047(0x1f2)](_0x1fe932){const _0x2f90e8=a0_0x292047,_0x33211b={'rdivS':_0x2f90e8(0x217),'QAhqH':'read','tbeLj':function(_0x188bdc,_0x41985){return _0x188bdc<_0x41985;},'KSZzL':'READ\x20lock\x20acquired','ITlTq':'read_lock_waiting','QEplW':'Waiting\x20for\x20WRITE\x20lock\x20to\x20release'};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0xf80326=this['buildLockKey']({..._0x1fe932,'lockType':_0x33211b['rdivS']}),_0x211938=this['buildLockKey']({..._0x1fe932,'lockType':_0x33211b[_0x2f90e8(0x233)]}),_0x3bca6b=this['generateLockValue']();try{const _0x5d6300=redisClient[_0x2f90e8(0x222)]();for(let _0x1f9780=0x0;_0x33211b['tbeLj'](_0x1f9780,this[_0x2f90e8(0x22a)]);_0x1f9780++){const _0x554c5e=await _0x5d6300[_0x2f90e8(0x201)](_0xf80326);if(!_0x554c5e){await _0x5d6300['incr'](_0x211938),await _0x5d6300[_0x2f90e8(0x1ef)](_0x211938,this['defaultTTL']);const _0x1791b4=_0x211938+':'+_0x3bca6b;return await _0x5d6300['setex'](_0x1791b4,this['defaultTTL'],_0x3bca6b),logger[_0x2f90e8(0x211)]({'event':'read_lock_acquired','key':_0x211938,'value':_0x3bca6b},_0x33211b['KSZzL']),{'success':!![],'lockValue':_0x3bca6b,'lockKey':_0x1791b4};}logger[_0x2f90e8(0x211)]({'event':_0x33211b[_0x2f90e8(0x236)],'writeKey':_0xf80326,'attempt':_0x1f9780},_0x33211b[_0x2f90e8(0x22f)]),await this[_0x2f90e8(0x22e)](this['retryDelay']*Math[_0x2f90e8(0x1f5)](0x2,_0x1f9780));}return logger[_0x2f90e8(0x220)]({'event':_0x2f90e8(0x22c),'key':_0x211938},_0x2f90e8(0x1f6)),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x290620){return logger[_0x2f90e8(0x1fd)]({'event':_0x2f90e8(0x216),'error':_0x290620['message']},'READ\x20lock\x20error'),{'success':![],'lockValue':null,'lockKey':null};}}async['acquireWriteLock'](_0x1ae196){const _0x3152fb=a0_0x292047,_0x4a33a4={'KSofF':'read','AGWgS':function(_0x10dcbd,_0xb71a41){return _0x10dcbd===_0xb71a41;},'VWVbH':'WRITE\x20lock\x20rejected\x20-\x20record\x20busy','acqwp':function(_0x1e1d2f,_0x23a8ee){return _0x1e1d2f===_0x23a8ee;},'CpXwX':_0x3152fb(0x1ec),'TCPkS':'WRITE\x20lock\x20acquired\x20(retry\x20mode)','Ajcgv':_0x3152fb(0x209),'DrEWl':function(_0x1a7ac3,_0x5796a1){return _0x1a7ac3*_0x5796a1;},'OWoJr':_0x3152fb(0x238),'wvEVT':_0x3152fb(0x1fc),'jfidb':'WRITE\x20lock\x20error'};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x147d9b=this[_0x3152fb(0x239)]({..._0x1ae196,'lockType':'write'}),_0x39b961=this[_0x3152fb(0x239)]({..._0x1ae196,'lockType':_0x4a33a4['KSofF']}),_0xa7e9f=this[_0x3152fb(0x22d)]();try{const _0x2e1e86=redisClient[_0x3152fb(0x222)]();if(_0x4a33a4['AGWgS'](this['strategy'],_0x3152fb(0x206))){const _0x1f9487=await _0x2e1e86['set'](_0x147d9b,_0xa7e9f,'EX',this[_0x3152fb(0x218)],'NX');if(_0x1f9487==='OK')return logger['debug']({'event':'write_lock_acquired','key':_0x147d9b,'value':_0xa7e9f,'strategy':'reject'},'WRITE\x20lock\x20acquired\x20(reject\x20mode)'),{'success':!![],'lockValue':_0xa7e9f,'lockKey':_0x147d9b};return logger[_0x3152fb(0x211)]({'event':'write_lock_rejected','key':_0x147d9b},_0x4a33a4['VWVbH']),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x10d44e=0x0;_0x10d44e<this['retryCount'];_0x10d44e++){const [_0x3f8276,_0x514a23]=await Promise[_0x3152fb(0x210)]([_0x2e1e86[_0x3152fb(0x201)](_0x39b961),_0x2e1e86[_0x3152fb(0x201)](_0x147d9b)]);if(!_0x514a23&&(!_0x3f8276||_0x4a33a4['acqwp'](parseInt(_0x3f8276),0x0))){const _0x279315=await _0x2e1e86[_0x3152fb(0x1ee)](_0x147d9b,_0xa7e9f,'EX',this[_0x3152fb(0x218)],'NX');if(_0x4a33a4['AGWgS'](_0x279315,'OK'))return logger['debug']({'event':_0x4a33a4['CpXwX'],'key':_0x147d9b,'value':_0xa7e9f,'strategy':'retry'},_0x4a33a4[_0x3152fb(0x20b)]),{'success':!![],'lockValue':_0xa7e9f,'lockKey':_0x147d9b};}logger['debug']({'event':_0x3152fb(0x1f1),'writeKey':_0x147d9b,'readCount':_0x3f8276,'attempt':_0x10d44e},_0x4a33a4[_0x3152fb(0x230)]),await this[_0x3152fb(0x22e)](_0x4a33a4['DrEWl'](this[_0x3152fb(0x223)],Math[_0x3152fb(0x1f5)](0x2,_0x10d44e)));}return logger['warn']({'event':'write_lock_timeout','key':_0x147d9b},_0x4a33a4[_0x3152fb(0x23d)]),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x3810b2){return logger[_0x3152fb(0x1fd)]({'event':_0x4a33a4[_0x3152fb(0x214)],'error':_0x3810b2[_0x3152fb(0x23a)]},_0x4a33a4[_0x3152fb(0x20a)]),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x292047(0x22b)](_0x60d950,_0x123a0b){const _0x589161=a0_0x292047,_0xc62a37={'aiGvL':'read_lock_released','MmIuT':'READ\x20lock\x20released','ggHsn':'write_lock_released','HQabG':'WRITE\x20lock\x20released','FFFyh':'lock_release_not_owner'};if(!this['enabled']||!_0x60d950)return!![];try{const _0x296f0d=redisClient['getClient']();if(_0x60d950[_0x589161(0x237)](_0x589161(0x20d))){await _0x296f0d['del'](_0x60d950);const _0x351209=_0x60d950[_0x589161(0x221)](0x0,_0x60d950[_0x589161(0x23c)](':')),_0x24afe3=await _0x296f0d['get'](_0x351209);return _0x24afe3&&parseInt(_0x24afe3)>0x0&&await _0x296f0d['decr'](_0x351209),logger['debug']({'event':_0xc62a37[_0x589161(0x205)],'key':_0x60d950},_0xc62a37[_0x589161(0x1ed)]),!![];}const _0x12c1a6='\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',_0x4feb13=await _0x296f0d['eval'](_0x12c1a6,0x1,_0x60d950,_0x123a0b);if(_0x4feb13===0x1)return logger['debug']({'event':_0xc62a37[_0x589161(0x215)],'key':_0x60d950},_0xc62a37['HQabG']),!![];return logger['warn']({'event':_0xc62a37[_0x589161(0x226)],'key':_0x60d950},'Cannot\x20release\x20lock\x20-\x20not\x20owner'),![];}catch(_0x318f26){return logger['error']({'event':'lock_release_error','key':_0x60d950,'error':_0x318f26[_0x589161(0x23a)]},'Lock\x20release\x20error'),![];}}async['extendLock'](_0x5e07c4,_0x475953,_0x469019=null){const _0x177abb=a0_0x292047,_0xf642c5={'gdevz':'lock_extended','rBvQV':'lock_extend_error','kNxzB':'Lock\x20extend\x20error'};if(!this['enabled']||!_0x5e07c4)return!![];try{const _0x13136e=redisClient['getClient'](),_0x48846f='\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',_0x337ecf=await _0x13136e['eval'](_0x48846f,0x1,_0x5e07c4,_0x475953,_0x469019||this['defaultTTL']);if(_0x337ecf===0x1)return logger['debug']({'event':_0xf642c5['gdevz'],'key':_0x5e07c4,'ttl':_0x469019||this[_0x177abb(0x218)]},'Lock\x20TTL\x20extended'),!![];return![];}catch(_0x507635){return logger[_0x177abb(0x1fd)]({'event':_0xf642c5['rBvQV'],'key':_0x5e07c4,'error':_0x507635['message']},_0xf642c5[_0x177abb(0x1ff)]),![];}}['isEnabled'](){const _0x1f7400=a0_0x292047;return this[_0x1f7400(0x200)];}['sleep'](_0x26db53){return new Promise(_0xe15dc0=>setTimeout(_0xe15dc0,_0x26db53));}async['getLockInfo'](_0x2c26c5){const _0x5c1a61=a0_0x292047,_0x261407={'nmREh':_0x5c1a61(0x217),'qZKWn':_0x5c1a61(0x227),'axfrm':function(_0x24fdea,_0x22ec04){return _0x24fdea||_0x22ec04;}};if(!this['enabled'])return{'enabled':![]};try{const _0x29a453=redisClient['getClient'](),_0x419872=this[_0x5c1a61(0x239)]({..._0x2c26c5,'lockType':_0x261407[_0x5c1a61(0x228)]}),_0x41fa54=this['buildLockKey']({..._0x2c26c5,'lockType':_0x261407['qZKWn']}),[_0x18811e,_0x1a422c]=await Promise['all']([_0x29a453[_0x5c1a61(0x201)](_0x419872),_0x29a453['get'](_0x41fa54)]);return{'enabled':!![],'writeLock':_0x261407['axfrm'](_0x18811e,null),'readCount':parseInt(_0x1a422c)||0x0,'writeKey':_0x419872,'readKey':_0x41fa54};}catch(_0x4828ba){return{'enabled':!![],'error':_0x4828ba['message']};}}}module[a0_0x292047(0x23e)]=new LockManager();
@@ -1 +1 @@
1
- const a0_0x3a7d81=a0_0x4042;(function(_0x1df0dc,_0x3738fa){const _0x5a24f1=a0_0x4042,_0x3effc0=_0x1df0dc();while(!![]){try{const _0x47f6d6=-parseInt(_0x5a24f1(0x1fa))/0x1*(parseInt(_0x5a24f1(0x232))/0x2)+-parseInt(_0x5a24f1(0x263))/0x3+-parseInt(_0x5a24f1(0x265))/0x4+parseInt(_0x5a24f1(0x21b))/0x5+-parseInt(_0x5a24f1(0x28f))/0x6+parseInt(_0x5a24f1(0x1ef))/0x7+parseInt(_0x5a24f1(0x26f))/0x8*(parseInt(_0x5a24f1(0x20d))/0x9);if(_0x47f6d6===_0x3738fa)break;else _0x3effc0['push'](_0x3effc0['shift']());}catch(_0x5b3cf3){_0x3effc0['push'](_0x3effc0['shift']());}}}(a0_0x48ca,0x1c20e));const pino=require('pino'),fs=require('fs'),path=require(a0_0x3a7d81(0x275));let logToFile=![],logDir='./logs',serviceName=a0_0x3a7d81(0x27b),sqlLogEnabled=![],sqlLogLevel='debug',sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':'SYS:HH:MM:ss','ignore':'pid,hostname,service,version,env,event,module,port,config,apiKeyEnabled,path,workingDir,isPkg,isNodeScript,file,email,type,cors,logging,apiKey,count,endpoint,route','singleLine':![],'levelFirst':!![],'messageFormat':'{msg}','customColors':a0_0x3a7d81(0x28b),'hideObject':!![]},isDevelopment=process['env'][a0_0x3a7d81(0x26a)]!==a0_0x3a7d81(0x28d),logLevel=process[a0_0x3a7d81(0x2a5)]['LOG_LEVEL']||'info';let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':'pino-pretty','options':prettyPrintOptions}:undefined,'base':{'service':a0_0x3a7d81(0x27b),'version':process[a0_0x3a7d81(0x2a5)]['APP_VERSION']||'1.0.5','env':process[a0_0x3a7d81(0x2a5)][a0_0x3a7d81(0x26a)]||'development'},'timestamp':pino[a0_0x3a7d81(0x257)][a0_0x3a7d81(0x21a)],'redact':{'paths':[a0_0x3a7d81(0x279),a0_0x3a7d81(0x29f),a0_0x3a7d81(0x278),'token',a0_0x3a7d81(0x261),a0_0x3a7d81(0x282),'JWT_SECRET'],'censor':'[REDACTED]'},'serializers':{'req':_0xbeb216=>({'id':_0xbeb216['id'],'method':_0xbeb216['method'],'url':_0xbeb216[a0_0x3a7d81(0x25f)],'path':_0xbeb216[a0_0x3a7d81(0x275)],'remoteAddress':_0xbeb216['ip']||_0xbeb216['connection']?.['remoteAddress']}),'res':_0xc15408=>({'statusCode':_0xc15408[a0_0x3a7d81(0x260)],'headers':_0xc15408[a0_0x3a7d81(0x1f2)]?.()}),'err':pino[a0_0x3a7d81(0x213)][a0_0x3a7d81(0x293)]}});function initFileLogging(){const _0x10eb64=a0_0x3a7d81,_0x1cf54c={'ZuWVz':'default','HgLTJ':_0x10eb64(0x2a2),'lQYWE':function(_0x238a16,_0x122931){return _0x238a16!==_0x122931;},'CouRm':function(_0x410595,_0x362688){return _0x410595(_0x362688);},'QlwfD':_0x10eb64(0x280),'TkYhJ':'error.log','GCYnC':_0x10eb64(0x203)};if(fileLoggingInitialized)return;logToFile=process['env']['LOG_TO_FILE']===_0x10eb64(0x20e);const _0x1ae443=process[_0x10eb64(0x2a5)][_0x10eb64(0x216)]||_0x1cf54c['ZuWVz'];logDir=process['env'][_0x10eb64(0x27c)]||_0x10eb64(0x24b)+_0x1ae443,serviceName=process['env']['SERVICE_NAME']||'restforge',sqlLogEnabled=process[_0x10eb64(0x2a5)][_0x10eb64(0x22f)]===_0x10eb64(0x20e),sqlLogLevel=process[_0x10eb64(0x2a5)][_0x10eb64(0x22e)]||_0x1cf54c[_0x10eb64(0x1f0)],sqlLogParams=_0x1cf54c['lQYWE'](process[_0x10eb64(0x2a5)]['SQL_LOG_PARAMS'],'false'),sqlLogSlowThreshold=_0x1cf54c[_0x10eb64(0x2a3)](parseInt,process[_0x10eb64(0x2a5)][_0x10eb64(0x272)])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x2a4ec8=path[_0x10eb64(0x21e)](process['cwd'](),logDir);try{!fs[_0x10eb64(0x27a)](_0x2a4ec8)&&fs[_0x10eb64(0x28a)](_0x2a4ec8,{'recursive':!![]});}catch(_0x372c18){console[_0x10eb64(0x259)](_0x10eb64(0x266)+_0x2a4ec8+':',_0x372c18['message']),fileLoggingInitialized=!![];return;}const _0x5dd9ac=path[_0x10eb64(0x28e)](_0x2a4ec8,_0x1cf54c[_0x10eb64(0x24d)]),_0x408859=path[_0x10eb64(0x28e)](_0x2a4ec8,_0x1cf54c['TkYhJ']);try{appLogStream=fs[_0x10eb64(0x251)](_0x5dd9ac,{'flags':'a'}),errorLogStream=fs[_0x10eb64(0x251)](_0x408859,{'flags':'a'}),fileLoggingInitialized=!![];const _0x17f01e={'event':_0x10eb64(0x252),'logDir':_0x2a4ec8,'files':[_0x1cf54c[_0x10eb64(0x24d)],_0x1cf54c[_0x10eb64(0x258)]]},_0x7931c6=_0x10eb64(0x2a9)+_0x2a4ec8;logger[_0x10eb64(0x203)](_0x17f01e,_0x7931c6),writeToFileLog({..._0x17f01e,'level':_0x1cf54c['GCYnC'],'msg':_0x7931c6,'time':new Date()[_0x10eb64(0x1f8)]()},_0x1cf54c['GCYnC']);}catch(_0x5a4d2e){console['error'](_0x10eb64(0x215),_0x5a4d2e['message']),fileLoggingInitialized=!![];}}function writeToFileLog(_0x13e04a,_0x4e9c51){const _0x135736=a0_0x3a7d81,_0x407a7b={'vAjjC':function(_0x331492,_0x3e9db4){return _0x331492||_0x3e9db4;},'pTQCA':function(_0x4d3af1,_0x10545b){return _0x4d3af1+_0x10545b;},'AZMSR':function(_0x3f2e40,_0x27828d){return _0x3f2e40===_0x27828d;}};if(_0x407a7b['vAjjC'](!logToFile,!appLogStream))return;const _0x59950b={'service':serviceName,..._0x13e04a},_0x12db9e=_0x407a7b[_0x135736(0x270)](JSON['stringify'](_0x59950b),'\x0a');appLogStream[_0x135736(0x202)](_0x12db9e),(_0x407a7b[_0x135736(0x283)](_0x4e9c51,'error')||_0x4e9c51==='fatal')&&(errorLogStream&&errorLogStream[_0x135736(0x202)](_0x12db9e));}const createRequestLogger=(_0x21ceae={})=>{const _0x227830=a0_0x3a7d81;return logger[_0x227830(0x248)](_0x21ceae);},logServerStart=_0x4af416=>{const _0x3ed56b=a0_0x3a7d81,_0x201905={'cgOmu':_0x3ed56b(0x284),'tsRmX':_0x3ed56b(0x21c),'NDiSa':'N/A','KvMie':'ACTIVE','Sbwsf':_0x3ed56b(0x203)},_0x334b65=_0x201905[_0x3ed56b(0x247)],_0x40e81e=Math[_0x3ed56b(0x204)](0x0,0x37-_0x334b65[_0x3ed56b(0x243)]),_0x188a60=Math['floor'](_0x40e81e/0x2),_0x14dda3=_0x40e81e-_0x188a60,_0x3b75d4='║'+'\x20'['repeat'](_0x188a60)+_0x334b65+'\x20'['repeat'](_0x14dda3)+'║',_0x649d14=_0x3ed56b(0x231)+_0x3b75d4+_0x3ed56b(0x1f5)+(_0x4af416[_0x3ed56b(0x25b)]||_0x201905['tsRmX'])[_0x3ed56b(0x256)](0x26)+_0x3ed56b(0x29e)+(_0x4af416[_0x3ed56b(0x271)]||_0x201905['NDiSa'])[_0x3ed56b(0x256)](0x26)+_0x3ed56b(0x298)+String(_0x4af416[_0x3ed56b(0x241)]||0xbb8)['padEnd'](0x26)+_0x3ed56b(0x239)+(_0x4af416['configFile']||_0x3ed56b(0x2ac))[_0x3ed56b(0x256)](0x26)+_0x3ed56b(0x23e)+(_0x4af416[_0x3ed56b(0x261)]?_0x201905['KvMie']:'NOT\x20ACTIVE')['padEnd'](0x26)+_0x3ed56b(0x225);console['log'](_0x649d14);const _0x4765af={'event':'server_starting','project':_0x4af416[_0x3ed56b(0x271)],'port':_0x4af416['port'],'config':_0x4af416['configFile'],'apiKeyEnabled':!!_0x4af416['apiKey']};logger[_0x3ed56b(0x203)](_0x4765af),writeToFileLog({..._0x4765af,'level':_0x3ed56b(0x203),'msg':'Server\x20starting:\x20'+_0x4af416['project']+'\x20on\x20port\x20'+_0x4af416['port'],'time':new Date()[_0x3ed56b(0x1f8)]()},_0x201905['Sbwsf']);},logServerReady=_0x7aa829=>{const _0x25b358=a0_0x3a7d81,_0xc74fc9={'RoBKX':_0x25b358(0x2ad)},_0x386b08={'event':_0xc74fc9[_0x25b358(0x222)],'port':_0x7aa829['port'],'module':_0x7aa829['module'],'healthCheck':_0x7aa829['healthCheck'],'serviceInfo':_0x7aa829[_0x25b358(0x285)],'baseUrl':_0x7aa829['baseUrl']},_0x4d72eb='[OK]\x20Server\x20ready\x20on\x20port\x20'+_0x7aa829['port'];logger['info'](_0x386b08,_0x4d72eb),writeToFileLog({..._0x386b08,'level':_0x25b358(0x203),'msg':_0x4d72eb,'time':new Date()[_0x25b358(0x1f8)]()},_0x25b358(0x203)),_0x7aa829[_0x25b358(0x228)]&&logger['info']('\x20\x20Health:\x20'+_0x7aa829[_0x25b358(0x228)]),_0x7aa829['serviceInfo']&&logger[_0x25b358(0x203)]('\x20\x20Info:\x20\x20\x20'+_0x7aa829['serviceInfo']),_0x7aa829['baseUrl']&&logger[_0x25b358(0x203)]('\x20\x20URL:\x20\x20\x20\x20'+_0x7aa829['baseUrl']);},logProjectLoaded=(_0x1b7787,_0x415193)=>{const _0x5bd080=a0_0x3a7d81,_0x51fbe2={'RcoPv':_0x5bd080(0x203)},_0x4b9690={'event':'project_loaded','project':_0x1b7787,'path':_0x415193},_0x1a4cd0=_0x5bd080(0x234)+_0x1b7787;logger[_0x5bd080(0x203)](_0x4b9690,_0x1a4cd0),writeToFileLog({..._0x4b9690,'level':'info','msg':_0x1a4cd0,'time':new Date()['toISOString']()},_0x51fbe2['RcoPv']);},logEndpointRegistered=(_0x45e0d2,_0x1eef40)=>{const _0x400096=a0_0x3a7d81,_0x1b19b8={'event':_0x400096(0x24e),'endpoint':_0x45e0d2,'route':_0x1eef40},_0x29496d='\x20\x20→\x20'+_0x45e0d2+':\x20'+_0x1eef40;logger['debug'](_0x1b19b8,_0x29496d),writeToFileLog({..._0x1b19b8,'level':'debug','msg':_0x29496d,'time':new Date()[_0x400096(0x1f8)]()},'debug');},logDatabaseConfig=_0x5674c8=>{const _0x432d64=a0_0x3a7d81,_0x12821e={'QloKW':'database_config','qHxZB':'debug'},_0x49303c={'event':_0x12821e[_0x432d64(0x287)],'host':_0x5674c8[_0x432d64(0x297)],'port':_0x5674c8[_0x432d64(0x241)],'database':_0x5674c8['database'],'type':_0x5674c8[_0x432d64(0x274)],'user':_0x5674c8['user']},_0x233182=_0x432d64(0x291)+_0x5674c8[_0x432d64(0x274)]+_0x432d64(0x25c)+_0x5674c8[_0x432d64(0x297)]+':'+_0x5674c8[_0x432d64(0x241)]+'/'+_0x5674c8[_0x432d64(0x288)];logger['debug'](_0x49303c,_0x233182),writeToFileLog({..._0x49303c,'level':'debug','msg':_0x233182,'time':new Date()[_0x432d64(0x1f8)]()},_0x12821e['qHxZB']);},logRequest=(_0x2a1985,_0x53fa2c,_0x23da15)=>{const _0x3c0010=a0_0x3a7d81,_0x12d33f={'rOcut':'http_request','FYVks':_0x3c0010(0x203),'uXZeM':function(_0x477839,_0x201102){return _0x477839>=_0x201102;},'bcQHc':_0x3c0010(0x259),'QoqeR':function(_0x4aa2b2,_0x558f20){return _0x4aa2b2>=_0x558f20;},'GXilL':'warn'},_0xea32f0={'event':_0x12d33f[_0x3c0010(0x208)],'method':_0x2a1985[_0x3c0010(0x1f1)],'path':_0x2a1985['path'],'statusCode':_0x53fa2c[_0x3c0010(0x260)],'durationMs':_0x23da15,'ip':_0x2a1985['ip']},_0x2d9826=_0x2a1985['method']+'\x20'+_0x2a1985[_0x3c0010(0x275)]+_0x3c0010(0x224)+_0x53fa2c['statusCode']+'\x20('+_0x23da15+'ms)';let _0x33f3e7=_0x12d33f['FYVks'];if(_0x12d33f['uXZeM'](_0x53fa2c['statusCode'],0x1f4))_0x33f3e7=_0x12d33f[_0x3c0010(0x201)],logger['error'](_0xea32f0,_0x2d9826);else _0x12d33f[_0x3c0010(0x238)](_0x53fa2c['statusCode'],0x190)?(_0x33f3e7=_0x12d33f['GXilL'],logger['warn'](_0xea32f0,_0x2d9826)):logger['info'](_0xea32f0,_0x2d9826);writeToFileLog({..._0xea32f0,'level':_0x33f3e7,'msg':_0x2d9826,'time':new Date()['toISOString']()},_0x33f3e7);},SENSITIVE_PARAM_PATTERNS=[a0_0x3a7d81(0x278),a0_0x3a7d81(0x29d),a0_0x3a7d81(0x26d),a0_0x3a7d81(0x25e),'access_token','refresh_token','secret','api_secret',a0_0x3a7d81(0x1f6),'api_key','credential','credentials','pin',a0_0x3a7d81(0x26c),'private_key',a0_0x3a7d81(0x1fb)],redactSensitiveParams=(_0x1627f9,_0x38b7bd)=>{const _0x3f7995=a0_0x3a7d81,_0x55020a={'RLGpd':function(_0x167303,_0x1795a4){return _0x167303===_0x1795a4;},'xTiLX':_0x3f7995(0x296),'XZoHh':function(_0x55e0e4,_0x5ceac8){return _0x55e0e4>_0x5ceac8;},'jhHwO':'[REDACTED:hash]','jFaew':function(_0x16cbb6,_0x178f56){return _0x16cbb6===_0x178f56;}};if(!_0x1627f9||_0x55020a['jFaew'](_0x1627f9['length'],0x0))return _0x1627f9;const _0x41ce21=_0x38b7bd[_0x3f7995(0x21d)](),_0x4dbf25=_0x41ce21[_0x3f7995(0x264)](/\(([^)]+)\)\s*values/i);let _0x10dc7e=[];_0x4dbf25&&(_0x10dc7e=_0x4dbf25[0x1]['split'](',')['map'](_0xb6dabf=>_0xb6dabf[_0x3f7995(0x2aa)]()['toLowerCase']()));const _0x3dcc5f=_0x41ce21[_0x3f7995(0x264)](/set\s+(.+?)(?:\s+where|$)/i);if(_0x3dcc5f){const _0xec2f38=_0x3dcc5f[0x1],_0x395e52=_0xec2f38[_0x3f7995(0x264)](/(\w+)\s*=/g);_0x395e52&&(_0x10dc7e=_0x395e52['map'](_0x23966a=>_0x23966a['replace'](/\s*=/,'')[_0x3f7995(0x2aa)]()[_0x3f7995(0x21d)]()));}return _0x1627f9['map']((_0x5a41e7,_0x503a07)=>{const _0x114a39=_0x3f7995;if(_0x10dc7e[_0x503a07]){const _0x231dc2=_0x10dc7e[_0x503a07],_0x15b586=SENSITIVE_PARAM_PATTERNS[_0x114a39(0x2a4)](_0x50bb49=>_0x231dc2[_0x114a39(0x212)](_0x50bb49));if(_0x15b586)return'[REDACTED]';}if(_0x55020a['RLGpd'](typeof _0x5a41e7,_0x55020a[_0x114a39(0x269)])&&_0x55020a['XZoHh'](_0x5a41e7['length'],0x20)){if(/^[a-zA-Z0-9+/=_.-]+$/[_0x114a39(0x25a)](_0x5a41e7)&&_0x5a41e7['includes']('.'))return _0x114a39(0x2ae);if(/^[a-fA-F0-9]{32,}$/['test'](_0x5a41e7))return _0x55020a[_0x114a39(0x200)];}return _0x5a41e7;});},parseQueryMetadata=_0x3a3091=>{const _0x1e7add=a0_0x3a7d81,_0x2ba153={'mATXW':_0x1e7add(0x2b0),'abJAP':_0x1e7add(0x254),'CGwKy':'INSERT','GKPHr':_0x1e7add(0x1f9),'cfDXl':'DELETE','ZlSTd':_0x1e7add(0x295),'CGMAm':_0x1e7add(0x20b),'XJRby':_0x1e7add(0x206),'gijAq':_0x1e7add(0x27d),'Flgvv':_0x1e7add(0x2a8),'YRdbg':_0x1e7add(0x289),'CzxLq':'DROP'},_0x3e563e=_0x3a3091[_0x1e7add(0x2aa)](),_0x37c3aa=_0x3e563e['toUpperCase']();let _0x2d166e=_0x2ba153[_0x1e7add(0x1fc)],_0x3a645d=null;if(_0x37c3aa[_0x1e7add(0x236)](_0x2ba153['abJAP'])){_0x2d166e=_0x1e7add(0x254);const _0x10cdf1=_0x3e563e[_0x1e7add(0x264)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x3a645d=_0x10cdf1?_0x10cdf1[0x1]:null;}else{if(_0x37c3aa['startsWith'](_0x2ba153[_0x1e7add(0x219)])){_0x2d166e=_0x2ba153[_0x1e7add(0x219)];const _0x5dc3f6=_0x3e563e[_0x1e7add(0x264)](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x3a645d=_0x5dc3f6?_0x5dc3f6[0x1]:null;}else{if(_0x37c3aa[_0x1e7add(0x236)](_0x2ba153['GKPHr'])){_0x2d166e=_0x2ba153[_0x1e7add(0x2a6)];const _0x5c4d19=_0x3e563e['match'](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x3a645d=_0x5c4d19?_0x5c4d19[0x1]:null;}else{if(_0x37c3aa[_0x1e7add(0x236)](_0x2ba153['cfDXl'])){_0x2d166e=_0x2ba153['cfDXl'];const _0x35af49=_0x3e563e[_0x1e7add(0x264)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x3a645d=_0x35af49?_0x35af49[0x1]:null;}else{if(_0x37c3aa[_0x1e7add(0x236)](_0x2ba153[_0x1e7add(0x1f7)])||_0x37c3aa['startsWith'](_0x2ba153['CGMAm']))_0x2d166e=_0x1e7add(0x214);else{if(_0x37c3aa['startsWith'](_0x1e7add(0x210)))_0x2d166e=_0x1e7add(0x286);else{if(_0x37c3aa['startsWith']('ROLLBACK'))_0x2d166e=_0x2ba153[_0x1e7add(0x242)];else{if(_0x37c3aa[_0x1e7add(0x236)]('CREATE'))_0x2d166e=_0x2ba153[_0x1e7add(0x230)];else{if(_0x37c3aa[_0x1e7add(0x236)](_0x2ba153[_0x1e7add(0x21f)]))_0x2d166e=_0x2ba153['YRdbg'];else _0x37c3aa['startsWith'](_0x2ba153[_0x1e7add(0x25d)])&&(_0x2d166e=_0x1e7add(0x290));}}}}}}}}return{'type':_0x2d166e,'table':_0x3a645d};},startQueryTimer=()=>{const _0x265df3={'DXmlM':function(_0x42a834,_0x131a3a){return _0x42a834+_0x131a3a;},'myBUt':function(_0x1bc4a7,_0x570194){return _0x1bc4a7/_0x570194;}},_0x23a9e1=process['hrtime']();return()=>{const _0x37fabd=a0_0x4042,[_0x588e74,_0x2407a2]=process[_0x37fabd(0x23c)](_0x23a9e1);return parseFloat(_0x265df3['DXmlM'](_0x588e74*0x3e8,_0x265df3[_0x37fabd(0x262)](_0x2407a2,0xf4240))['toFixed'](0x2));};},logQuery=(_0x1b1af6,_0x4c5ea8=[],_0x4b656b={})=>{const _0x50e0f4=a0_0x3a7d81,_0x5a6d64={'rDGgz':'db_query','nNPsg':'postgresql','XknUq':function(_0x2034f9,_0x275193){return _0x2034f9(_0x275193);},'RpShA':function(_0x23597e,_0x40f74f,_0x2853f9){return _0x23597e(_0x40f74f,_0x2853f9);},'AYEWn':function(_0x300897,_0x4664c3){return _0x300897>_0x4664c3;},'qvZDH':function(_0x7bb1c,_0x1ffa30){return _0x7bb1c||_0x1ffa30;},'aoYfr':function(_0x766697,_0x2b1887){return _0x766697!==_0x2b1887;},'PJFvi':_0x50e0f4(0x20f),'EXOYj':_0x50e0f4(0x203)};if(!sqlLogEnabled){logger[_0x50e0f4(0x2a2)]({'event':_0x5a6d64['rDGgz'],'query':_0x1b1af6[_0x50e0f4(0x1ed)](0x0,0xc8),'paramCount':_0x4c5ea8[_0x50e0f4(0x243)]},'DB\x20Query');return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x5a6d64[_0x50e0f4(0x221)]}=_0x4b656b,{type:_0xbce4c4,table:_0xe9c3f3}=_0x5a6d64['XknUq'](parseQueryMetadata,_0x1b1af6),_0x2dfa1a={'event':_0x50e0f4(0x273),'queryType':_0xbce4c4,'table':_0xe9c3f3,'query':_0x1b1af6,'paramCount':_0x4c5ea8['length'],'dbType':dbType};sqlLogParams&&_0x4c5ea8['length']>0x0&&(_0x2dfa1a[_0x50e0f4(0x29a)]=_0x5a6d64[_0x50e0f4(0x27f)](redactSensitiveParams,_0x4c5ea8,_0x1b1af6));duration!==null&&(_0x2dfa1a['durationMs']=duration,_0x2dfa1a[_0x50e0f4(0x205)]=_0x5a6d64['AYEWn'](duration,sqlLogSlowThreshold));rowsAffected!==null&&(_0x2dfa1a[_0x50e0f4(0x20c)]=rowsAffected);const _0x7b9346=_0x5a6d64['qvZDH'](_0xe9c3f3,'unknown');let _0x3593a9='['+_0xbce4c4+']\x20'+_0x7b9346;duration!==null&&(_0x3593a9+='\x20('+duration+'ms)');const _0x3d6ff9=_0x5a6d64[_0x50e0f4(0x207)](duration,null)&&_0x5a6d64['AYEWn'](duration,sqlLogSlowThreshold);let _0x2d0d39='debug';if(_0x3d6ff9)_0x3593a9+=_0x50e0f4(0x229),_0x2d0d39=_0x5a6d64[_0x50e0f4(0x24f)],logger['warn'](_0x2dfa1a,_0x3593a9);else sqlLogLevel===_0x5a6d64[_0x50e0f4(0x255)]?(_0x2d0d39=_0x50e0f4(0x203),logger[_0x50e0f4(0x203)](_0x2dfa1a,_0x3593a9)):logger[_0x50e0f4(0x2a2)](_0x2dfa1a,_0x3593a9);_0x5a6d64['RpShA'](writeToFileLog,{..._0x2dfa1a,'level':_0x2d0d39,'msg':_0x3593a9,'time':new Date()['toISOString']()},_0x2d0d39);},logTransaction=(_0x37cafe,_0x5efa9d)=>{const _0x5ba178=a0_0x3a7d81,_0x5e356b={'MOtzo':function(_0x146d4e,_0x1fe51f,_0x41c5de){return _0x146d4e(_0x1fe51f,_0x41c5de);},'FJQCx':_0x5ba178(0x2a2)},_0x4bca3c={'event':_0x5ba178(0x1ee),'status':_0x37cafe,'queryCount':_0x5efa9d},_0x74812b='Transaction\x20'+_0x37cafe;logger[_0x5ba178(0x2a2)](_0x4bca3c,_0x74812b),_0x5e356b['MOtzo'](writeToFileLog,{..._0x4bca3c,'level':_0x5e356b['FJQCx'],'msg':_0x74812b,'time':new Date()[_0x5ba178(0x1f8)]()},'debug');},redactObject=_0x442b89=>{const _0x2e8487=a0_0x3a7d81,_0xb6a91f={'Vjcxs':function(_0x219ca8,_0x4a24c5){return _0x219ca8!==_0x4a24c5;},'pIiln':'object','WpPbn':'pwd','nAWsp':'token','tdCJT':'apikey','ItjXA':'authorization','MEIwv':'credit_card','FtTCl':_0x2e8487(0x268),'xLpwk':_0x2e8487(0x276),'DgJib':_0x2e8487(0x246),'XnkPE':function(_0x107f5e,_0x46cdce){return _0x107f5e===_0x46cdce;},'DrGdl':function(_0x16116f,_0x5c3e7a){return _0x16116f(_0x5c3e7a);}};if(!_0x442b89||_0xb6a91f['Vjcxs'](typeof _0x442b89,_0xb6a91f[_0x2e8487(0x1f3)]))return _0x442b89;const _0x30cd71=['password',_0x2e8487(0x29d),_0xb6a91f[_0x2e8487(0x244)],_0xb6a91f['nAWsp'],_0x2e8487(0x2a1),_0xb6a91f['tdCJT'],'api_key',_0xb6a91f['ItjXA'],_0x2e8487(0x2a0),_0xb6a91f[_0x2e8487(0x250)],_0x2e8487(0x249),'ssn',_0x2e8487(0x227),_0xb6a91f[_0x2e8487(0x1fe)],'privatekey',_0xb6a91f[_0x2e8487(0x211)],_0x2e8487(0x277)],_0x1a57de=Array[_0x2e8487(0x240)](_0x442b89)?[..._0x442b89]:{..._0x442b89};for(const _0x1e72e2 of Object[_0x2e8487(0x28c)](_0x1a57de)){const _0x148a53=_0x1e72e2[_0x2e8487(0x21d)]();if(_0x30cd71['some'](_0x4b4f28=>_0x148a53[_0x2e8487(0x212)](_0x4b4f28)))_0x1a57de[_0x1e72e2]=_0xb6a91f[_0x2e8487(0x26e)];else _0xb6a91f[_0x2e8487(0x2af)](typeof _0x1a57de[_0x1e72e2],_0x2e8487(0x22b))&&_0x1a57de[_0x1e72e2]!==null&&(_0x1a57de[_0x1e72e2]=_0xb6a91f[_0x2e8487(0x1f4)](redactObject,_0x1a57de[_0x1e72e2]));}return _0x1a57de;},logError=(_0x1af1d2,_0x52dec7={},_0x17e832=null)=>{const _0x23b139=a0_0x3a7d81,_0x5f225b={'zNlsH':_0x23b139(0x259)},_0xd5c66c={'event':_0x5f225b[_0x23b139(0x209)],'errorName':_0x1af1d2[_0x23b139(0x2a7)]||'Error','errorMessage':_0x1af1d2['message'],'errorCode':_0x1af1d2['code']||null,'stack':_0x1af1d2[_0x23b139(0x217)],..._0x52dec7},_0x2911b2=_0x17e832||'Error:\x20'+_0x1af1d2['message'];logger['error'](_0xd5c66c,_0x2911b2),writeToFileLog({..._0xd5c66c,'level':_0x5f225b['zNlsH'],'msg':_0x2911b2,'time':new Date()[_0x23b139(0x1f8)]()},'error');},logFatalError=(_0x2a9430,_0x591390={},_0x5a19d1=null)=>{const _0x2fcfc1=a0_0x3a7d81,_0x3cee5d={'UzJGC':'Error','LDaKW':'CRITICAL','kuZfe':function(_0x26a90e,_0x5b4e2f,_0x2942e0){return _0x26a90e(_0x5b4e2f,_0x2942e0);},'lPrdP':'error'},_0x296df1={'event':'fatal_error','errorName':_0x2a9430['name']||_0x3cee5d[_0x2fcfc1(0x220)],'errorMessage':_0x2a9430['message'],'errorCode':_0x2a9430[_0x2fcfc1(0x22c)]||null,'stack':_0x2a9430['stack'],'severity':_0x3cee5d[_0x2fcfc1(0x24a)],..._0x591390},_0x23fa00=_0x5a19d1||_0x2fcfc1(0x292)+_0x2a9430[_0x2fcfc1(0x267)];logger[_0x2fcfc1(0x22d)](_0x296df1,_0x23fa00),_0x3cee5d['kuZfe'](writeToFileLog,{..._0x296df1,'level':_0x2fcfc1(0x22d),'msg':_0x23fa00,'time':new Date()['toISOString']()},_0x3cee5d['lPrdP']);},logHttpError=(_0x25c9b4,_0x5f0408,_0x3baeb3={})=>{const _0x2557c9=a0_0x3a7d81,_0x3376da={'zBbVN':_0x2557c9(0x23b),'XUdTz':_0x2557c9(0x29c),'kFvBS':function(_0x2a94dd,_0x587442){return _0x2a94dd(_0x587442);},'lMhOE':function(_0x93d952,_0x3fac0a,_0x1bf752){return _0x93d952(_0x3fac0a,_0x1bf752);},'aIasA':function(_0x4977bb,_0x1c8852){return _0x4977bb>=_0x1c8852;},'mIThX':'warn'},_0x21cb31={'event':'http_error','errorName':_0x25c9b4['name']||_0x2557c9(0x2ab),'errorMessage':_0x25c9b4['message'],'errorCode':_0x25c9b4[_0x2557c9(0x22c)]||_0x25c9b4['statusCode']||0x1f4,'stack':_0x25c9b4[_0x2557c9(0x217)],'method':_0x5f0408?.[_0x2557c9(0x1f1)],'url':_0x5f0408?.[_0x2557c9(0x25f)]||_0x5f0408?.[_0x2557c9(0x253)],'path':_0x5f0408?.['path'],'ip':_0x5f0408?.['ip']||_0x5f0408?.[_0x2557c9(0x23f)]?.[_0x2557c9(0x27e)],'userAgent':_0x5f0408?.['get']?.(_0x3376da[_0x2557c9(0x22a)]),'requestId':_0x5f0408?.['id']||_0x5f0408?.[_0x2557c9(0x245)]?.[_0x3376da[_0x2557c9(0x223)]],'body':_0x5f0408?.[_0x2557c9(0x24c)]?_0x3376da['kFvBS'](redactObject,_0x5f0408[_0x2557c9(0x24c)]):undefined,'query':_0x5f0408?.['query'],..._0x3baeb3},_0x55a848=_0x25c9b4['statusCode']||_0x25c9b4[_0x2557c9(0x218)]||0x1f4,_0x582efc=_0x2557c9(0x26b)+_0x55a848+':\x20'+_0x25c9b4[_0x2557c9(0x267)];_0x55a848>=0x1f4?logger[_0x2557c9(0x259)](_0x21cb31,_0x582efc):logger['warn'](_0x21cb31,_0x582efc),_0x3376da[_0x2557c9(0x233)](writeToFileLog,{..._0x21cb31,'level':_0x3376da['aIasA'](_0x55a848,0x1f4)?_0x2557c9(0x259):_0x3376da[_0x2557c9(0x1ff)],'msg':_0x582efc,'time':new Date()['toISOString']()},_0x55a848>=0x1f4?_0x2557c9(0x259):_0x2557c9(0x20f));},logUncaughtError=(_0x535ca5,_0x4fa7af)=>{const _0x5e7d7e=a0_0x3a7d81,_0x5765a6={'RmuTA':'CRITICAL','WYNFi':'fatal','Vzfrb':_0x5e7d7e(0x259)},_0x376f3f={'event':_0x535ca5,'errorName':_0x4fa7af?.[_0x5e7d7e(0x2a7)]||_0x5e7d7e(0x2ab),'errorMessage':_0x4fa7af?.['message']||String(_0x4fa7af),'errorCode':_0x4fa7af?.['code']||null,'stack':_0x4fa7af?.['stack'],'severity':_0x5765a6['RmuTA'],'processId':process['pid'],'memoryUsage':process[_0x5e7d7e(0x226)](),'uptime':process['uptime']()},_0x53d442='['+_0x535ca5['toUpperCase']()+']\x20'+(_0x4fa7af?.['message']||_0x4fa7af);logger[_0x5e7d7e(0x22d)](_0x376f3f,_0x53d442),writeToFileLog({..._0x376f3f,'level':_0x5765a6['WYNFi'],'msg':_0x53d442,'time':new Date()['toISOString']()},_0x5765a6['Vzfrb']);},setupGlobalErrorHandlers=()=>{const _0x202a1c=a0_0x3a7d81,_0x3b14d2={'NQwmc':function(_0x2cc304,_0x482e74,_0x1b7239){return _0x2cc304(_0x482e74,_0x1b7239);},'eAbYK':function(_0x4c732e,_0x48cc8a){return _0x4c732e instanceof _0x48cc8a;},'dVRpL':function(_0x344d71,_0x55d384){return _0x344d71(_0x55d384);},'TCFPi':function(_0x3629d9,_0x382bb9,_0x47c5e9){return _0x3629d9(_0x382bb9,_0x47c5e9);},'eHSLt':'uncaughtException','kJOgj':'unhandledRejection','fqsbL':_0x202a1c(0x235)};process['on'](_0x3b14d2[_0x202a1c(0x281)],_0x3239b0=>{const _0x5e1d24=_0x202a1c;_0x3b14d2[_0x5e1d24(0x1fd)](logUncaughtError,'uncaughtException',_0x3239b0),_0x3b14d2[_0x5e1d24(0x1fd)](setTimeout,()=>{const _0x918806=_0x5e1d24;process[_0x918806(0x23a)](0x1);},0x3e8);}),process['on'](_0x3b14d2['kJOgj'],(_0x4ba87a,_0x2fbf36)=>{const _0x2af3c9=_0x202a1c,_0x58b73a=_0x3b14d2['eAbYK'](_0x4ba87a,Error)?_0x4ba87a:new Error(_0x3b14d2['dVRpL'](String,_0x4ba87a));_0x3b14d2[_0x2af3c9(0x294)](logUncaughtError,'unhandledRejection',_0x58b73a);}),process['on'](_0x202a1c(0x29b),_0x281c1f=>{const _0xa88c04=_0x202a1c;logger['warn']({'event':'process_warning','name':_0x281c1f[_0xa88c04(0x2a7)],'message':_0x281c1f[_0xa88c04(0x267)],'stack':_0x281c1f['stack']},'Process\x20Warning:\x20'+_0x281c1f['message']);});const _0x39b56a={'event':_0x3b14d2[_0x202a1c(0x23d)]},_0x3de00f=_0x202a1c(0x299);logger['info'](_0x39b56a,_0x3de00f),writeToFileLog({..._0x39b56a,'level':_0x202a1c(0x203),'msg':_0x3de00f,'time':new Date()[_0x202a1c(0x1f8)]()},_0x202a1c(0x203));},createErrorHandlerMiddleware=()=>{const _0x6d85ab=a0_0x3a7d81,_0x5ac8f7={'OLkQX':function(_0x4e04d3,_0x23255f,_0x54475e){return _0x4e04d3(_0x23255f,_0x54475e);},'UVXoX':_0x6d85ab(0x29c)};return(_0x2677b2,_0x41e292,_0x5a79ac,_0xd94b28)=>{const _0x177de8=_0x6d85ab;_0x5ac8f7['OLkQX'](logHttpError,_0x2677b2,_0x41e292);const _0x211f29=_0x2677b2['statusCode']||_0x2677b2['status']||0x1f4;_0x5a79ac['status'](_0x211f29)['json']({'success':![],'error':_0x211f29>=0x1f4?_0x177de8(0x20a):_0x2677b2['message'],'requestId':_0x41e292['id']||_0x41e292[_0x177de8(0x245)]?.[_0x5ac8f7['UVXoX']]||null});};};module[a0_0x3a7d81(0x237)]={'logger':logger,'createRequestLogger':createRequestLogger,'logServerStart':logServerStart,'logServerReady':logServerReady,'logProjectLoaded':logProjectLoaded,'logEndpointRegistered':logEndpointRegistered,'logDatabaseConfig':logDatabaseConfig,'logRequest':logRequest,'logQuery':logQuery,'logTransaction':logTransaction,'startQueryTimer':startQueryTimer,'parseQueryMetadata':parseQueryMetadata,'redactSensitiveParams':redactSensitiveParams,'initFileLogging':initFileLogging,'logError':logError,'logFatalError':logFatalError,'logHttpError':logHttpError,'logUncaughtError':logUncaughtError,'setupGlobalErrorHandlers':setupGlobalErrorHandlers,'createErrorHandlerMiddleware':createErrorHandlerMiddleware,'redactObject':redactObject,'SQL_LOG_CONFIG':{'enabled':sqlLogEnabled,'level':sqlLogLevel,'logParams':sqlLogParams,'slowThreshold':sqlLogSlowThreshold},'FILE_LOG_CONFIG':{'enabled':logToFile,'directory':logDir,'serviceName':serviceName}};function a0_0x4042(_0x3ecbfd,_0x17e70e){_0x3ecbfd=_0x3ecbfd-0x1ed;const _0x48ca4a=a0_0x48ca();let _0x40423c=_0x48ca4a[_0x3ecbfd];if(a0_0x4042['qjIGUu']===undefined){var _0x12f715=function(_0x2131b4){const _0x2d1f01='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4fcfff='',_0x55e8f0='';for(let _0x45b89b=0x0,_0x24b475,_0x129b7c,_0x741d67=0x0;_0x129b7c=_0x2131b4['charAt'](_0x741d67++);~_0x129b7c&&(_0x24b475=_0x45b89b%0x4?_0x24b475*0x40+_0x129b7c:_0x129b7c,_0x45b89b++%0x4)?_0x4fcfff+=String['fromCharCode'](0xff&_0x24b475>>(-0x2*_0x45b89b&0x6)):0x0){_0x129b7c=_0x2d1f01['indexOf'](_0x129b7c);}for(let _0x9a0a6f=0x0,_0x3a1e0b=_0x4fcfff['length'];_0x9a0a6f<_0x3a1e0b;_0x9a0a6f++){_0x55e8f0+='%'+('00'+_0x4fcfff['charCodeAt'](_0x9a0a6f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x55e8f0);};a0_0x4042['jVlugj']=_0x12f715,a0_0x4042['fROylV']={},a0_0x4042['qjIGUu']=!![];}const _0x17a62f=_0x48ca4a[0x0],_0x506a45=_0x3ecbfd+_0x17a62f,_0x3fa585=a0_0x4042['fROylV'][_0x506a45];return!_0x3fa585?(_0x40423c=a0_0x4042['jVlugj'](_0x40423c),a0_0x4042['fROylV'][_0x506a45]=_0x40423c):_0x40423c=_0x3fa585,_0x40423c;}function a0_0x48ca(){const _0x55d460=['CMvMCMvZAf90B2TLBG','ywnJzxnZx3rVA2vU','CgfZC3DVCMq','CMvXlMHLywrLCNmUyxv0Ag9YAxPHDgLVBG','zxHPC3rZu3LUyW','CMvZDgzVCMDL','te9hx0rjuG','rermx0nsrufurq','CMvTB3rLqwrKCMvZCW','uNbtAee','yxbWlMXVzW','zuHtthq','rejFueftu1DpuKq','qvPnu1i','uKvtvezpuKDfifjvtLrjtuuGu0vsvKvs','C2vYDMLJzuLUzM8','vfjbtLnbq1rjt05Fq09ntuLu','uwXVs1C','zgf0ywjHC2u','rermx0fmvevs','BwTKAxjtEw5J','Aw5MBZPIBhvLlhDHCM46EwvSBg93lgvYCM9YoNjLzcXKzwj1zZPNCMf5','A2v5CW','ChjVzhvJDgLVBG','AM9PBG','nJmYodiWrMH0AKrN','rermx0rst1a','rgf0ywjHC2u6ia','rKfuquW6ia','zxjY','vengugK','qKvhsu4','C3rYAw5N','Ag9ZDa','iokvKqRILzeGifbVCNqGicaGicaGidOG','r2XVyMfSigvYCM9YigHHBMrSzxjZigLUAxrPywXPEMvK','CgfYyw1Z','D2fYBMLUzW','Ec1Yzxf1zxn0lwLK','CgfZC3DK','iokvKqRILzeGifbYB2PLy3qGicaGidOG','CMvXlMHLywrLCNnBiNGTyxbPlwTLEsjD','y3jLzgL0y2fYza','C2vJCMv0','zgvIDwC','q291uM0','C29Tzq','zw52','r0Tqshi','BMfTzq','quXurvi','rMLSzsbSB2DNAw5NigvUywjSzwq6ia','DhjPBq','rxjYB3i','rgvMyxvSDa','C2vYDMvYx3jLywr5','w1jfrefdveveoNrVA2vUxq','wg5Rueu','vu5ltK9xtG','C3vIC3rYAw5N','zgjFDhjHBNnHy3rPB24','mZG4nduXvMXqswDv','sgDmveO','Bwv0Ag9K','z2v0sgvHzgvYCW','CeLPBg4','rhjhzgW','cUkvOokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvOWRILzeGievUDMLYB25Tzw50idOG','yxbPA2v5','wMXtvgq','Dg9ju09tDhjPBMC','vvbeqvrf','mti3BxPdEhLm','ChjPDMf0zwTLEq','BufuwfC','tLf3Bwm','rNruq2W','BuLuAfG','AMHiD08','yMnrsgm','D3jPDgu','Aw5MBW','Bwf4','AxntBg93','vfjbtLnbq1rjt05FuK9mtejbq0S','yw9zzNi','CK9JDxq','EK5SC0G','sw50zxjUywWGC2vYDMvYigvYCM9Y','u1rbuLqGvfjbtLnbq1rjt04','CM93C0fMzMvJDgvK','nZCYntmZquH2tvzO','Dhj1zq','D2fYBG','q09ntuLu','EeXWD2S','Aw5JBhvKzxm','C3rKu2vYAwfSAxPLCNm','vfjbtLnbq1rjt05FqKvhsu4','rMfPBgvKihrVignYzwf0zsbSB2CGC3rYzwfTCZO','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','C3rHy2S','C3rHDhvZ','q0D3s3K','AxnVvgLTzq','ndu1mZmWwhbRru1j','tM9Kzs5QCW','Dg9mB3DLCKnHC2u','CMvZB2X2zq','rMXNDNy','vxPkr0m','BK5qC2C','uM9cs1G','wfvKvhO','ic0G','iokvKqRILzRILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILz0','BwvTB3j5vxnHz2u','CgLU','AgvHBhrOq2HLy2S','ifTtte9xxq','EKjIvK4','B2jQzwn0','y29Kzq','zMf0ywW','u1fmx0Xpr19mrvzfta','u1fmx0Xpr19ftKfcteve','z2LQqxe','cUkvLokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvLWO','mta3og16zuf5Aa','Be1Ot0u','w09lxsbqCM9Qzwn0igXVywrLzdOG','z2XVyMfSx2vYCM9Yx2HHBMrSzxjZx3nLDhvW','C3rHCNrZv2L0Aa','zxHWB3j0CW','uw9Xzvi','iokvKqRILzeGienVBMzPzYaGicaGidOG','zxHPDa','DxnLCI1Hz2vUDa','Ahj0Aw1L','zNfZyKW','iokvKqRILzeGiefqssblzxKGicaGidOG','y29UBMvJDgLVBG','AxnbCNjHEq','Cg9YDa','wePsyNK','BgvUz3rO','v3bqyM4','AgvHzgvYCW','w1jfrefdvevexq','y2DpBxu','y2HPBgq','y3z2','terHs1C','lI9SB2DZlW','yM9KEq','uwX3zKq','zw5KCg9PBNrFCMvNAxn0zxjLza','uePgDMK','tuvjD3y','y3jLyxrLv3jPDgvtDhjLyw0','zMLSzv9SB2DNAw5Nx2vUywjSzwq','B3jPz2LUywXvCMW','u0vmrunu','rvHpwwO','CgfKrw5K','C3rKvgLTzuz1BMn0Aw9UCW','vgTzAeO','zxjYB3i','DgvZDa','zw52AxjVBM1LBNq','oI8V','q3P4the','Dg9Rzw4','DxjS','C3rHDhvZq29Kzq','yxbPs2v5','BxLcvxq','ndKZmZm4weDyrwD6','Bwf0y2G','odmXotKYCvvHruvU','rMfPBgvKihrVignYzwf0zsbSB2CGzgLYzwn0B3j5ia','BwvZC2fNzq','ChjPDMf0zv9RzxK','EfrPtfG','tK9erv9ftLy','sfruuca','B3rW','ChDK','rgDkAwi','ndHozvbtqLm','Cfrrq0e','ChjVAMvJDa','u1fmx0Xpr19tte9xx1riuKvtse9mra','C3fSx3f1zxj5','DhLWzq','Cgf0Aa'];a0_0x48ca=function(){return _0x55d460;};return a0_0x48ca();}
1
+ const a0_0x3698b4=a0_0x15d9;(function(_0x5de069,_0x274842){const _0x393e7e=a0_0x15d9,_0x4d4965=_0x5de069();while(!![]){try{const _0x4f3a26=-parseInt(_0x393e7e(0x241))/0x1+parseInt(_0x393e7e(0x1a9))/0x2*(-parseInt(_0x393e7e(0x1ee))/0x3)+-parseInt(_0x393e7e(0x1b3))/0x4*(parseInt(_0x393e7e(0x24c))/0x5)+parseInt(_0x393e7e(0x1ce))/0x6+-parseInt(_0x393e7e(0x223))/0x7*(parseInt(_0x393e7e(0x1c1))/0x8)+parseInt(_0x393e7e(0x22b))/0x9*(parseInt(_0x393e7e(0x1b7))/0xa)+parseInt(_0x393e7e(0x1c3))/0xb*(parseInt(_0x393e7e(0x237))/0xc);if(_0x4f3a26===_0x274842)break;else _0x4d4965['push'](_0x4d4965['shift']());}catch(_0x2f4948){_0x4d4965['push'](_0x4d4965['shift']());}}}(a0_0x5372,0x5a9c3));const pino=require(a0_0x3698b4(0x190)),fs=require('fs'),path=require('path');let logToFile=![],logDir=a0_0x3698b4(0x1af),serviceName=a0_0x3698b4(0x242),sqlLogEnabled=![],sqlLogLevel='debug',sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;function a0_0x5372(){const _0x2e8e7a=['D3jPDgu','mtCXnNHOzvbAwq','A3LHu24','v05JwLe','zxjYB3i','uMPutKm','w1jfrefdveveoMHHC2HD','icbizwfSDgG6ia','u29VrLO','te9hx0rjuG','su5trvju','zMf0ywW','mZy1ode1ogjRsLDLDW','s3fcA3u','y2HPBgq','zw52','s092DMC','BhDnywO','ic0G','C3rKvgLTzuz1BMn0Aw9UCW','sLDux1nfq1jfva','C2vYDMLJzuLUzM8','C3rHDhvZ','BwvTB3j5vxnHz2u','BgrlyKq','EKPltu8','B1bpzue','zMLSzv9SB2DNAw5Nx2vUywjSzwq','rermx0rst1a','DejTD3C','DxjS','y3jLyxrLv3jPDgvtDhjLyw0','C3rHDhvZq29Kzq','AM9PBG','qwDPExe','A2vvyLK','C3rHCNrZv2L0Aa','q1jjveLdquW','u2vYDMvYihn0yxj0Aw5NoIa','yK5Msem','u1fmx0Xpr19mrvzfta','zgjFDhjHBNnHy3rPB24','lI9SB2DZlW','ChPmuhK','mtvRz0XfywS','ANnVBG','B3jPz2LUywXvCMW','te9hx0XfvKvm','icbvuKW6icaGia','CgfZC3DVCMq','CxvLCNK','u1fmx0Xpr19qqvjbtvm','yMfZzvvYBa','vfjbtLnbq1rjt05Fq09ntuLu','AgvHBhrOq2HLy2S','qKvhsu4','C0LAzhG','yxbPx2TLEq','DhLtAvu','cUkvLokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvLWO','Dw54rgi','ChjPDMf0zv9RzxK','zMf0ywXFzxjYB3i','z2v0sgvHzgvYCW','zgvIDwC','Cgf0Aa','EgDOvM8','CM93C0fMzMvJDgvK','ChjPDMf0zwTLEq','iokvKqRILzRILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILz0','ChjVAMvJDa','iokvKqRILzeGifbVCNqGicaGicaGidOG','oI8V','Cg9YDa','D2fYBMLUzW','zgvMyxvSDa','ms4WlJu','Bwf0y2G','Dg9ju09tDhjPBMC','qunusvzf','qLHWvxi','rMLSzsbSB2DNAw5NigvUywjSzwq6ia','u0vsvKLdrv9oqu1f','CgfKrw5K','Dg9gAxHLza','zgf0ywjHC2u','cUkvOokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvOWRILzeGievUDMLYB25Tzw50idOG','Dg9vChbLCKnHC2u','revmrvrf','ChDK','Ahj0Aw1L','q1fNyxG','Ahr0Cf9Yzxf1zxn0','zxjY','BxmP','DhjPBq','rfD4CxG','mJfythbHDNq','uK9mtejbq0S','vfjbtLnbq1rjt05FuK9mtejbq0S','sfbdtuG','rgvMyxvSDa','v3f6Bu4','y1vTwMS','Dxb0Aw1L','oty2mde1se1lrhbA','Dg9Rzw4','BwvZC2fNzq','Dg9mB3DLCKnHC2u','B2jQzwn0','CwTXwM8','CgLU','Dhj1zq','tLnTyue','tI9b','y3jLzgvUDgLHBa','tK9erv9ftLy','ndm4mJrHA2fRsMq','rxjYB3i','rKDJCg4','rMfPBgvKihrVignYzwf0zsbSB2CGC3rYzwfTCZO','qMnWruG','w1jfrefdveveoNrVA2vUxq','C2vYDMvYx3n0yxj0Aw5N','E21Zz30','DKr4D3e','BgvUz3rO','mtiWntDMz0TiB1C','CMvZDgzVCMDL','AxntBg93','BwfW','BwTKAxjtEw5J','w1jfrefdvevexq','Ag9ZDa','Ec1Yzxf1zxn0lwLK','ywnJzxnZx3rVA2vU','y3z2','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','mtC1ndi1ExHpzefq','yxbWlMXVzW','C3bSAxq','C3rHy2S','CgLUBW','zLHWyMO','vKTKwfe','DhLWzq','y3jLzgL0y2fYza','zxjYB3iUBg9N','ig9UihbVCNqG','rePIBfa','Dw5Oyw5KBgvKuMvQzwn0Aw9U','q09ntuLu','u1fmx0Xpr19ftKfcteve','AMnwsuC','wKXRyNG','y3jLzgL0x2nHCMq','BwDozNC','Dw5JyxvNAhrfEgnLChrPB24','Aw5JBhvKzxm','yxbPs2v5','zgjFCxvLCNK','zMXVB3i','C3nU','sw50zxjUywWGC2vYDMvYigvYCM9Y','BMfTzq','tvvoCve','zKvuAfm','mtyZmZK4v29Zs09y','uhfttLa','vfjbtLnbq1rjt05FqKvhsu4','A2L0rxy','veXjAhC','y29UzMLNrMLSzq','lI9SB2DZ','tK9uiefdveLwrq','zg1tyM4','ChjVzhvJDgLVBG','ohzcsufwuW','D05jwM0','wMnTwKm','AwjZDMe','mZbct1jqDwC','B2rLBgq','CMvWzwf0','u0vmrunu','Aw5MBW','D2fYBG','r21dyLi','Bwv0Ag9K','CMvZB2X2zq','C2vJCMv0','mtCWntq2ng5NDLb2Ba'];a0_0x5372=function(){return _0x2e8e7a;};return a0_0x5372();}const prettyPrintOptions={'colorize':!![],'translateTime':'SYS:HH:MM:ss','ignore':'pid,hostname,service,version,env,event,module,port,config,apiKeyEnabled,path,workingDir,isPkg,isNodeScript,file,email,type,cors,logging,apiKey,count,endpoint,route','singleLine':![],'levelFirst':!![],'messageFormat':a0_0x3698b4(0x23e),'customColors':'info:blue,warn:yellow,error:red,debug:gray','hideObject':!![]},isDevelopment=process[a0_0x3698b4(0x1d1)]['NODE_ENV']!==a0_0x3698b4(0x1b2),logLevel=process[a0_0x3698b4(0x1d1)][a0_0x3698b4(0x1f1)]||'info';let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':'pino-pretty','options':prettyPrintOptions}:undefined,'base':{'service':'restforge','version':process['env']['APP_VERSION']||a0_0x3698b4(0x20e),'env':process[a0_0x3698b4(0x1d1)][a0_0x3698b4(0x236)]||'development'},'timestamp':pino[a0_0x3698b4(0x1d5)]['isoTime'],'redact':{'paths':['req.headers.authorization','req.headers[\x22x-api-key\x22]',a0_0x3698b4(0x1f3),'token',a0_0x3698b4(0x1a1),'DB_PASSWORD',a0_0x3698b4(0x1d6)],'censor':a0_0x3698b4(0x246)},'serializers':{'req':_0x2abb26=>({'id':_0x2abb26['id'],'method':_0x2abb26[a0_0x3698b4(0x1be)],'url':_0x2abb26[a0_0x3698b4(0x1e0)],'path':_0x2abb26['path'],'remoteAddress':_0x2abb26['ip']||_0x2abb26['connection']?.['remoteAddress']}),'res':_0x24b2d4=>({'statusCode':_0x24b2d4['statusCode'],'headers':_0x24b2d4[a0_0x3698b4(0x201)]?.()}),'err':pino['stdSerializers'][a0_0x3698b4(0x21f)]}});function initFileLogging(){const _0x5d32a8=a0_0x3698b4,_0x3e6f11={'kitEv':_0x5d32a8(0x232),'DJblP':function(_0x302e8e,_0x2712a1){return _0x302e8e===_0x2712a1;},'CQgax':function(_0x5848f2,_0x270723){return _0x5848f2!==_0x270723;},'jcVIG':'false','fEThS':_0x5d32a8(0x24d),'mgNfw':_0x5d32a8(0x195),'WqzmN':_0x5d32a8(0x1bb)};if(fileLoggingInitialized)return;logToFile=process[_0x5d32a8(0x1d1)]['LOG_TO_FILE']===_0x3e6f11[_0x5d32a8(0x1ac)];const _0x3ba965=process['env'][_0x5d32a8(0x24b)]||_0x5d32a8(0x20d);logDir=process[_0x5d32a8(0x1d1)][_0x5d32a8(0x1cb)]||_0x5d32a8(0x1ec)+_0x3ba965,serviceName=process['env'][_0x5d32a8(0x214)]||'restforge',sqlLogEnabled=_0x3e6f11[_0x5d32a8(0x197)](process['env'][_0x5d32a8(0x19a)],'true'),sqlLogLevel=process['env'][_0x5d32a8(0x1ea)]||'debug',sqlLogParams=_0x3e6f11[_0x5d32a8(0x21d)](process['env'][_0x5d32a8(0x1f5)],_0x3e6f11[_0x5d32a8(0x19b)]),sqlLogSlowThreshold=parseInt(process[_0x5d32a8(0x1d1)]['SQL_LOG_SLOW_THRESHOLD'])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x1829bf=path[_0x5d32a8(0x1bf)](process['cwd'](),logDir);try{!fs['existsSync'](_0x1829bf)&&fs[_0x5d32a8(0x245)](_0x1829bf,{'recursive':!![]});}catch(_0x2df67c){console['error']('Failed\x20to\x20create\x20log\x20directory\x20'+_0x1829bf+':',_0x2df67c['message']),fileLoggingInitialized=!![];return;}const _0x426b14=path['join'](_0x1829bf,_0x3e6f11[_0x5d32a8(0x1a8)]),_0xa516b5=path[_0x5d32a8(0x1e3)](_0x1829bf,_0x3e6f11['mgNfw']);try{appLogStream=fs['createWriteStream'](_0x426b14,{'flags':'a'}),errorLogStream=fs[_0x5d32a8(0x1e1)](_0xa516b5,{'flags':'a'}),fileLoggingInitialized=!![];const _0x351e3b={'event':_0x5d32a8(0x1dd),'logDir':_0x1829bf,'files':['app.log',_0x3e6f11[_0x5d32a8(0x19e)]]},_0x40b0af=_0x5d32a8(0x213)+_0x1829bf;logger[_0x5d32a8(0x1bb)](_0x351e3b,_0x40b0af),writeToFileLog({..._0x351e3b,'level':_0x5d32a8(0x1bb),'msg':_0x40b0af,'time':new Date()[_0x5d32a8(0x210)]()},_0x3e6f11[_0x5d32a8(0x228)]);}catch(_0x1f3ec1){console['error'](_0x5d32a8(0x23a),_0x1f3ec1[_0x5d32a8(0x22d)]),fileLoggingInitialized=!![];}}function writeToFileLog(_0x4e2b93,_0x5de229){const _0x239cfe=a0_0x3698b4,_0x465c4a={'prcUY':function(_0x2b4e1e,_0x156de5){return _0x2b4e1e||_0x156de5;},'BcpEH':function(_0x5813e2,_0x5e16a6){return _0x5813e2===_0x5e16a6;},'tBmww':_0x239cfe(0x1c6),'HPCMH':'fatal'};if(_0x465c4a['prcUY'](!logToFile,!appLogStream))return;const _0x3cb493={'service':serviceName,..._0x4e2b93},_0x36ac5f=JSON['stringify'](_0x3cb493)+'\x0a';appLogStream[_0x239cfe(0x1c2)](_0x36ac5f),(_0x465c4a['BcpEH'](_0x5de229,_0x465c4a[_0x239cfe(0x1df)])||_0x465c4a[_0x239cfe(0x23b)](_0x5de229,_0x465c4a[_0x239cfe(0x226)]))&&(errorLogStream&&errorLogStream['write'](_0x36ac5f));}function a0_0x15d9(_0x2b2d27,_0x278760){_0x2b2d27=_0x2b2d27-0x18f;const _0x53728a=a0_0x5372();let _0x15d9ee=_0x53728a[_0x2b2d27];if(a0_0x15d9['AgnHNI']===undefined){var _0x1e8dbb=function(_0x373c2b){const _0x2bbece='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x444e51='',_0x2008a6='';for(let _0x33adea=0x0,_0x512627,_0x5f3a39,_0x5a3c29=0x0;_0x5f3a39=_0x373c2b['charAt'](_0x5a3c29++);~_0x5f3a39&&(_0x512627=_0x33adea%0x4?_0x512627*0x40+_0x5f3a39:_0x5f3a39,_0x33adea++%0x4)?_0x444e51+=String['fromCharCode'](0xff&_0x512627>>(-0x2*_0x33adea&0x6)):0x0){_0x5f3a39=_0x2bbece['indexOf'](_0x5f3a39);}for(let _0x180afc=0x0,_0x4b57c1=_0x444e51['length'];_0x180afc<_0x4b57c1;_0x180afc++){_0x2008a6+='%'+('00'+_0x444e51['charCodeAt'](_0x180afc)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2008a6);};a0_0x15d9['ItHxOo']=_0x1e8dbb,a0_0x15d9['JvWwNC']={},a0_0x15d9['AgnHNI']=!![];}const _0x15858d=_0x53728a[0x0],_0x4bc6a9=_0x2b2d27+_0x15858d,_0x47b607=a0_0x15d9['JvWwNC'][_0x4bc6a9];return!_0x47b607?(_0x15d9ee=a0_0x15d9['ItHxOo'](_0x15d9ee),a0_0x15d9['JvWwNC'][_0x4bc6a9]=_0x15d9ee):_0x15d9ee=_0x47b607,_0x15d9ee;}const createRequestLogger=(_0x5a9ae6={})=>{const _0x1d5f11=a0_0x3698b4;return logger[_0x1d5f11(0x1d0)](_0x5a9ae6);},logServerStart=_0x446f9d=>{const _0x4fa921=a0_0x3698b4,_0x1325b7={'cUmZk':'RESTFORGE\x20RUNTIME\x20SERVER','wNIZm':function(_0x6a95b0,_0x3cab2b){return _0x6a95b0-_0x3cab2b;},'KFzTM':'Node.js','CiQiK':_0x4fa921(0x234),'sIZdx':_0x4fa921(0x1b0),'ueMit':_0x4fa921(0x23d),'qbbzP':function(_0x2d68b5,_0x208f80,_0x3f7349){return _0x2d68b5(_0x208f80,_0x3f7349);},'ZcmZC':'info'},_0x4b4f1d=_0x1325b7[_0x4fa921(0x229)],_0x39265f=Math['max'](0x0,_0x1325b7[_0x4fa921(0x1b4)](0x37,_0x4b4f1d['length'])),_0x3cb438=Math[_0x4fa921(0x1a3)](_0x39265f/0x2),_0x341884=_0x39265f-_0x3cb438,_0x5e3cae='║'+'\x20'['repeat'](_0x3cb438)+_0x4b4f1d+'\x20'[_0x4fa921(0x1b9)](_0x341884)+'║',_0x43eebe=_0x4fa921(0x1fd)+_0x5e3cae+_0x4fa921(0x218)+(_0x446f9d['environment']||_0x1325b7['KFzTM'])['padEnd'](0x26)+'\x20║\x0a║\x20\x20Project\x20\x20\x20\x20\x20:\x20'+(_0x446f9d[_0x4fa921(0x208)]||_0x1325b7['CiQiK'])['padEnd'](0x26)+_0x4fa921(0x209)+String(_0x446f9d[_0x4fa921(0x20b)]||0xbb8)['padEnd'](0x26)+'\x20║\x0a║\x20\x20Config\x20\x20\x20\x20\x20\x20:\x20'+(_0x446f9d[_0x4fa921(0x1ae)]||_0x4fa921(0x227))[_0x4fa921(0x215)](0x26)+'\x20║\x0a║\x20\x20API\x20Key\x20\x20\x20\x20\x20:\x20'+(_0x446f9d[_0x4fa921(0x1a1)]?_0x4fa921(0x211):_0x1325b7[_0x4fa921(0x1fa)])['padEnd'](0x26)+_0x4fa921(0x207);console['log'](_0x43eebe);const _0x4427a8={'event':_0x1325b7['ueMit'],'project':_0x446f9d[_0x4fa921(0x208)],'port':_0x446f9d[_0x4fa921(0x20b)],'config':_0x446f9d[_0x4fa921(0x1ae)],'apiKeyEnabled':!!_0x446f9d['apiKey']};logger['info'](_0x4427a8),_0x1325b7['qbbzP'](writeToFileLog,{..._0x4427a8,'level':'info','msg':_0x4fa921(0x1e8)+_0x446f9d[_0x4fa921(0x208)]+_0x4fa921(0x196)+_0x446f9d[_0x4fa921(0x20b)],'time':new Date()[_0x4fa921(0x210)]()},_0x1325b7[_0x4fa921(0x1b5)]);},logServerReady=_0xe526fb=>{const _0x30e30e=a0_0x3698b4,_0x425fe5={'kyaSn':'server_ready','PsUre':function(_0x10e3f9,_0x1b5de2,_0x372282){return _0x10e3f9(_0x1b5de2,_0x372282);},'WJwwb':'info'},_0x3ff1b1={'event':_0x425fe5[_0x30e30e(0x1c4)],'port':_0xe526fb['port'],'module':_0xe526fb['module'],'healthCheck':_0xe526fb[_0x30e30e(0x1f8)],'serviceInfo':_0xe526fb['serviceInfo'],'baseUrl':_0xe526fb['baseUrl']},_0x5d1b9e='[OK]\x20Server\x20ready\x20on\x20port\x20'+_0xe526fb['port'];logger[_0x30e30e(0x1bb)](_0x3ff1b1,_0x5d1b9e),_0x425fe5['PsUre'](writeToFileLog,{..._0x3ff1b1,'level':_0x425fe5['WJwwb'],'msg':_0x5d1b9e,'time':new Date()['toISOString']()},_0x425fe5['WJwwb']),_0xe526fb['healthCheck']&&logger['info'](_0x30e30e(0x1c9)+_0xe526fb['healthCheck']),_0xe526fb[_0x30e30e(0x1d7)]&&logger[_0x30e30e(0x1bb)]('\x20\x20Info:\x20\x20\x20'+_0xe526fb[_0x30e30e(0x1d7)]),_0xe526fb[_0x30e30e(0x1f6)]&&logger['info'](_0x30e30e(0x1f2)+_0xe526fb['baseUrl']);},logProjectLoaded=(_0x4fadb3,_0x103bd8)=>{const _0x1d16c0=a0_0x3698b4,_0x164b4f={'TZpDt':'project_loaded','GmCbR':function(_0xa3b115,_0x2984cc,_0x14f6c2){return _0xa3b115(_0x2984cc,_0x14f6c2);},'fXpbj':_0x1d16c0(0x1bb)},_0x2c28dd={'event':_0x164b4f['TZpDt'],'project':_0x4fadb3,'path':_0x103bd8},_0x5c9086='[OK]\x20Project\x20loaded:\x20'+_0x4fadb3;logger[_0x1d16c0(0x1bb)](_0x2c28dd,_0x5c9086),_0x164b4f[_0x1d16c0(0x1bd)](writeToFileLog,{..._0x2c28dd,'level':_0x1d16c0(0x1bb),'msg':_0x5c9086,'time':new Date()[_0x1d16c0(0x210)]()},_0x164b4f[_0x1d16c0(0x191)]);},logEndpointRegistered=(_0x428a37,_0x5157c7)=>{const _0x4752b9=a0_0x3698b4,_0x121c01={'MsTrA':'endpoint_registered','qSJPT':function(_0xa941c6,_0x6adf0,_0x3d10d4){return _0xa941c6(_0x6adf0,_0x3d10d4);},'JoqFl':'debug'},_0x223ab4={'event':_0x121c01['MsTrA'],'endpoint':_0x428a37,'route':_0x5157c7},_0x2c08d4='\x20\x20→\x20'+_0x428a37+':\x20'+_0x5157c7;logger['debug'](_0x223ab4,_0x2c08d4),_0x121c01['qSJPT'](writeToFileLog,{..._0x223ab4,'level':_0x4752b9(0x202),'msg':_0x2c08d4,'time':new Date()['toISOString']()},_0x121c01['JoqFl']);},logDatabaseConfig=_0x47b0be=>{const _0x547feb=a0_0x3698b4,_0x5fe52b={'lwMaj':function(_0xef33ba,_0xb6dc69,_0x556bd5){return _0xef33ba(_0xb6dc69,_0x556bd5);},'pzLPy':_0x547feb(0x202)},_0x1f7033={'event':'database_config','host':_0x47b0be[_0x547feb(0x247)],'port':_0x47b0be[_0x547feb(0x20b)],'database':_0x47b0be[_0x547feb(0x217)],'type':_0x47b0be['type'],'user':_0x47b0be['user']},_0x3e123c='Database:\x20'+_0x47b0be[_0x547feb(0x193)]+_0x547feb(0x20a)+_0x47b0be[_0x547feb(0x247)]+':'+_0x47b0be[_0x547feb(0x20b)]+'/'+_0x47b0be['database'];logger['debug'](_0x1f7033,_0x3e123c),_0x5fe52b[_0x547feb(0x1d3)](writeToFileLog,{..._0x1f7033,'level':_0x5fe52b[_0x547feb(0x1ed)],'msg':_0x3e123c,'time':new Date()[_0x547feb(0x210)]()},'debug');},logRequest=(_0x57a21a,_0x12635e,_0x506805)=>{const _0x4b1f4d=a0_0x3698b4,_0x3904f8={'ldKbD':_0x4b1f4d(0x21e),'biEWG':_0x4b1f4d(0x1bb),'ZLkbx':'error','FGcpn':function(_0x39a23a,_0x471a77){return _0x39a23a>=_0x471a77;},'izyvZ':_0x4b1f4d(0x1bc)},_0x15c524={'event':_0x3904f8[_0x4b1f4d(0x1da)],'method':_0x57a21a['method'],'path':_0x57a21a['path'],'statusCode':_0x12635e[_0x4b1f4d(0x1e2)],'durationMs':_0x506805,'ip':_0x57a21a['ip']},_0x7eeca4=_0x57a21a[_0x4b1f4d(0x1be)]+'\x20'+_0x57a21a[_0x4b1f4d(0x203)]+_0x4b1f4d(0x1d4)+_0x12635e['statusCode']+'\x20('+_0x506805+_0x4b1f4d(0x220);let _0x3fb4d1=_0x3904f8['biEWG'];if(_0x12635e[_0x4b1f4d(0x1e2)]>=0x1f4)_0x3fb4d1=_0x3904f8[_0x4b1f4d(0x19c)],logger['error'](_0x15c524,_0x7eeca4);else _0x3904f8[_0x4b1f4d(0x239)](_0x12635e['statusCode'],0x190)?(_0x3fb4d1=_0x3904f8['izyvZ'],logger['warn'](_0x15c524,_0x7eeca4)):logger[_0x4b1f4d(0x1bb)](_0x15c524,_0x7eeca4);writeToFileLog({..._0x15c524,'level':_0x3fb4d1,'msg':_0x7eeca4,'time':new Date()['toISOString']()},_0x3fb4d1);},SENSITIVE_PARAM_PATTERNS=['password','passwd',a0_0x3698b4(0x21b),'token',a0_0x3698b4(0x249),'refresh_token',a0_0x3698b4(0x1c0),'api_secret','apikey','api_key',a0_0x3698b4(0x235),'credentials',a0_0x3698b4(0x231),'otp',a0_0x3698b4(0x1ff),a0_0x3698b4(0x206)],redactSensitiveParams=(_0x5e5d04,_0x17e4ab)=>{const _0x8db986=a0_0x3698b4,_0x2d53b5={'GrQBT':_0x8db986(0x246),'yXWWm':function(_0x4c205e,_0x367c2a){return _0x4c205e===_0x367c2a;},'brgpU':'string','GexFz':function(_0x18b1a9,_0x2c1c15){return _0x18b1a9===_0x2c1c15;}};if(!_0x5e5d04||_0x2d53b5['GexFz'](_0x5e5d04[_0x8db986(0x240)],0x0))return _0x5e5d04;const _0x42f9ee=_0x17e4ab[_0x8db986(0x22e)](),_0x2495c3=_0x42f9ee[_0x8db986(0x20f)](/\(([^)]+)\)\s*values/i);let _0x51cc76=[];_0x2495c3&&(_0x51cc76=_0x2495c3[0x1][_0x8db986(0x24e)](',')['map'](_0x23e144=>_0x23e144[_0x8db986(0x221)]()['toLowerCase']()));const _0x2f21c1=_0x42f9ee[_0x8db986(0x20f)](/set\s+(.+?)(?:\s+where|$)/i);if(_0x2f21c1){const _0x3f5653=_0x2f21c1[0x1],_0x17c88d=_0x3f5653['match'](/(\w+)\s*=/g);_0x17c88d&&(_0x51cc76=_0x17c88d[_0x8db986(0x244)](_0x5557a3=>_0x5557a3['replace'](/\s*=/,'')[_0x8db986(0x221)]()['toLowerCase']()));}return _0x5e5d04['map']((_0x100c14,_0x3927c9)=>{const _0x153413=_0x8db986;if(_0x51cc76[_0x3927c9]){const _0xeab313=_0x51cc76[_0x3927c9],_0x4ab943=SENSITIVE_PARAM_PATTERNS['some'](_0x451911=>_0xeab313[_0x153413(0x1a0)](_0x451911));if(_0x4ab943)return _0x2d53b5['GrQBT'];}if(_0x2d53b5['yXWWm'](typeof _0x100c14,_0x2d53b5['brgpU'])&&_0x100c14[_0x153413(0x240)]>0x20){if(/^[a-zA-Z0-9+/=_.-]+$/['test'](_0x100c14)&&_0x100c14[_0x153413(0x1a0)]('.'))return _0x153413(0x23c);if(/^[a-fA-F0-9]{32,}$/['test'](_0x100c14))return _0x153413(0x1c8);}return _0x100c14;});},parseQueryMetadata=_0x2ec1a3=>{const _0x84cb5b=a0_0x3698b4,_0x36289e={'QeWcq':_0x84cb5b(0x1cc),'zJKMO':_0x84cb5b(0x21a),'zjaPI':_0x84cb5b(0x1f9),'bNfHC':'START\x20TRANSACTION','NSmaA':_0x84cb5b(0x199),'sqMXA':_0x84cb5b(0x1f7),'WGtIS':_0x84cb5b(0x225),'eRKbP':'CREATE','PqSNP':'DROP','iSQus':_0x84cb5b(0x1de)},_0x5a5808=_0x2ec1a3['trim'](),_0x2b959=_0x5a5808[_0x84cb5b(0x219)]();let _0x31ac65='UNKNOWN',_0x5a2f9d=null;if(_0x2b959[_0x84cb5b(0x1e6)](_0x84cb5b(0x1ba))){_0x31ac65=_0x84cb5b(0x1ba);const _0x5e9292=_0x5a5808[_0x84cb5b(0x20f)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x5a2f9d=_0x5e9292?_0x5e9292[0x1]:null;}else{if(_0x2b959[_0x84cb5b(0x1e6)](_0x36289e['QeWcq'])){_0x31ac65=_0x84cb5b(0x1cc);const _0x32ac89=_0x5a5808['match'](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x5a2f9d=_0x32ac89?_0x32ac89[0x1]:null;}else{if(_0x2b959['startsWith']('UPDATE')){_0x31ac65='UPDATE';const _0x210ec3=_0x5a5808['match'](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x5a2f9d=_0x210ec3?_0x210ec3[0x1]:null;}else{if(_0x2b959[_0x84cb5b(0x1e6)](_0x36289e[_0x84cb5b(0x1db)])){_0x31ac65='DELETE';const _0x7cb9f5=_0x5a5808['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x5a2f9d=_0x7cb9f5?_0x7cb9f5[0x1]:null;}else{if(_0x2b959[_0x84cb5b(0x1e6)](_0x36289e['zjaPI'])||_0x2b959['startsWith'](_0x36289e[_0x84cb5b(0x1e9)]))_0x31ac65=_0x84cb5b(0x1ab);else{if(_0x2b959[_0x84cb5b(0x1e6)](_0x36289e[_0x84cb5b(0x233)]))_0x31ac65=_0x36289e['sqMXA'];else{if(_0x2b959[_0x84cb5b(0x1e6)](_0x84cb5b(0x224)))_0x31ac65=_0x36289e['WGtIS'];else{if(_0x2b959[_0x84cb5b(0x1e6)](_0x36289e['eRKbP']))_0x31ac65='DDL_CREATE';else{if(_0x2b959['startsWith']('ALTER'))_0x31ac65='DDL_ALTER';else _0x2b959[_0x84cb5b(0x1e6)](_0x36289e[_0x84cb5b(0x1aa)])&&(_0x31ac65=_0x36289e['iSQus']);}}}}}}}}return{'type':_0x31ac65,'table':_0x5a2f9d};},startQueryTimer=()=>{const _0x18eaf5=a0_0x3698b4,_0x5bf11e=process[_0x18eaf5(0x21c)]();return()=>{const _0x2cf24b=_0x18eaf5,[_0x137c0f,_0x5ad187]=process[_0x2cf24b(0x21c)](_0x5bf11e);return parseFloat((_0x137c0f*0x3e8+_0x5ad187/0xf4240)[_0x2cf24b(0x216)](0x2));};},logQuery=(_0x38487d,_0x4ccc34=[],_0x5a49f6={})=>{const _0x419923=a0_0x3698b4,_0x14e9a3={'uudjp':_0x419923(0x1a2),'DWxqx':function(_0x422808,_0x5a5387){return _0x422808(_0x5a5387);},'gDqMC':'sql_query','unxDb':function(_0xb09380,_0x250a4f){return _0xb09380>_0x250a4f;},'WNcZQ':function(_0x44bdad,_0x2ad27a){return _0x44bdad!==_0x2ad27a;},'FRMsB':function(_0x1e2e3d,_0x2747f1){return _0x1e2e3d!==_0x2747f1;},'SooFZ':'unknown','RjTNC':function(_0x1686c7,_0xa369f8){return _0x1686c7>_0xa369f8;},'KqBku':'debug','zJXIp':'\x20[SLOW]','KGEyY':function(_0x4fae46,_0x52431b){return _0x4fae46===_0x52431b;},'wJBbx':'info'};if(!sqlLogEnabled){logger[_0x419923(0x202)]({'event':_0x14e9a3['uudjp'],'query':_0x38487d['substring'](0x0,0xc8),'paramCount':_0x4ccc34[_0x419923(0x240)]},'DB\x20Query');return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType='postgresql'}=_0x5a49f6,{type:_0x1bd013,table:_0x404427}=_0x14e9a3[_0x419923(0x222)](parseQueryMetadata,_0x38487d),_0x12c378={'event':_0x14e9a3['gDqMC'],'queryType':_0x1bd013,'table':_0x404427,'query':_0x38487d,'paramCount':_0x4ccc34[_0x419923(0x240)],'dbType':dbType};sqlLogParams&&_0x14e9a3[_0x419923(0x1fe)](_0x4ccc34[_0x419923(0x240)],0x0)&&(_0x12c378['params']=redactSensitiveParams(_0x4ccc34,_0x38487d));_0x14e9a3[_0x419923(0x1c5)](duration,null)&&(_0x12c378['durationMs']=duration,_0x12c378[_0x419923(0x243)]=duration>sqlLogSlowThreshold);_0x14e9a3['FRMsB'](rowsAffected,null)&&(_0x12c378[_0x419923(0x205)]=rowsAffected);const _0x5b79e9=_0x404427||_0x14e9a3[_0x419923(0x1ca)];let _0x52210d='['+_0x1bd013+']\x20'+_0x5b79e9;_0x14e9a3[_0x419923(0x1c5)](duration,null)&&(_0x52210d+='\x20('+duration+_0x419923(0x220));const _0x17498b=duration!==null&&_0x14e9a3[_0x419923(0x1c7)](duration,sqlLogSlowThreshold);let _0x2e2db2=_0x14e9a3[_0x419923(0x1cf)];if(_0x17498b)_0x52210d+=_0x14e9a3['zJXIp'],_0x2e2db2=_0x419923(0x1bc),logger[_0x419923(0x1bc)](_0x12c378,_0x52210d);else _0x14e9a3['KGEyY'](sqlLogLevel,_0x14e9a3['wJBbx'])?(_0x2e2db2=_0x14e9a3['wJBbx'],logger['info'](_0x12c378,_0x52210d)):logger['debug'](_0x12c378,_0x52210d);writeToFileLog({..._0x12c378,'level':_0x2e2db2,'msg':_0x52210d,'time':new Date()[_0x419923(0x210)]()},_0x2e2db2);},logTransaction=(_0xa33796,_0xeae2b5)=>{const _0x243f4f=a0_0x3698b4,_0x15abda={'Agiyq':_0x243f4f(0x1eb)},_0x511896={'event':_0x15abda[_0x243f4f(0x1e4)],'status':_0xa33796,'queryCount':_0xeae2b5},_0x15342b='Transaction\x20'+_0xa33796;logger['debug'](_0x511896,_0x15342b),writeToFileLog({..._0x511896,'level':_0x243f4f(0x202),'msg':_0x15342b,'time':new Date()['toISOString']()},'debug');},redactObject=_0x20b437=>{const _0x1b522b=a0_0x3698b4,_0x32bf27={'qkqZo':'object','odeld':'secret','gfrbu':'apikey','JUfdn':_0x1b522b(0x24a),'pCVtl':_0x1b522b(0x1a4),'yCrQL':'pin','Jtton':_0x1b522b(0x1ff),'JBSBp':_0x1b522b(0x249),'TLIhw':'[REDACTED]'};if(!_0x20b437||typeof _0x20b437!==_0x32bf27[_0x1b522b(0x230)])return _0x20b437;const _0x1151bc=['password','passwd',_0x1b522b(0x21b),_0x1b522b(0x22c),_0x32bf27[_0x1b522b(0x1b8)],_0x32bf27['gfrbu'],_0x1b522b(0x1fb),'authorization',_0x1b522b(0x194),_0x1b522b(0x19d),_0x32bf27['JUfdn'],_0x32bf27['pCVtl'],_0x32bf27['yCrQL'],_0x32bf27['Jtton'],_0x1b522b(0x206),'refresh_token',_0x32bf27['JBSBp']],_0x1d6834=Array['isArray'](_0x20b437)?[..._0x20b437]:{..._0x20b437};for(const _0x5897f7 of Object['keys'](_0x1d6834)){const _0x71fa07=_0x5897f7[_0x1b522b(0x22e)]();if(_0x1151bc['some'](_0x802ace=>_0x71fa07[_0x1b522b(0x1a0)](_0x802ace)))_0x1d6834[_0x5897f7]=_0x32bf27[_0x1b522b(0x1ad)];else typeof _0x1d6834[_0x5897f7]===_0x1b522b(0x22f)&&_0x1d6834[_0x5897f7]!==null&&(_0x1d6834[_0x5897f7]=redactObject(_0x1d6834[_0x5897f7]));}return _0x1d6834;},logError=(_0x29a9cd,_0x3358aa={},_0x14b637=null)=>{const _0x3a53bb=a0_0x3698b4,_0x21af41={'MUNqQ':'error','uALMn':'Error'},_0x35a0be={'event':_0x21af41[_0x3a53bb(0x1a7)],'errorName':_0x29a9cd['name']||_0x21af41['uALMn'],'errorMessage':_0x29a9cd['message'],'errorCode':_0x29a9cd['code']||null,'stack':_0x29a9cd['stack'],..._0x3358aa},_0xc4dece=_0x14b637||'Error:\x20'+_0x29a9cd[_0x3a53bb(0x22d)];logger[_0x3a53bb(0x1c6)](_0x35a0be,_0xc4dece),writeToFileLog({..._0x35a0be,'level':'error','msg':_0xc4dece,'time':new Date()['toISOString']()},_0x21af41['MUNqQ']);},logFatalError=(_0x39f434,_0x146540={},_0x176d4e=null)=>{const _0x57c9a9=a0_0x3698b4,_0x472c5f={'FQGla':_0x57c9a9(0x200),'VKdXQ':_0x57c9a9(0x238),'xghVo':function(_0xeacc73,_0x51ff6e,_0x517645){return _0xeacc73(_0x51ff6e,_0x517645);},'UAUDF':'fatal'},_0x5f471c={'event':_0x472c5f['FQGla'],'errorName':_0x39f434[_0x57c9a9(0x1a6)]||_0x472c5f[_0x57c9a9(0x192)],'errorMessage':_0x39f434['message'],'errorCode':_0x39f434['code']||null,'stack':_0x39f434[_0x57c9a9(0x18f)],'severity':_0x57c9a9(0x1e7),..._0x146540},_0x34fbe1=_0x176d4e||'FATAL:\x20'+_0x39f434[_0x57c9a9(0x22d)];logger[_0x57c9a9(0x1cd)](_0x5f471c,_0x34fbe1),_0x472c5f[_0x57c9a9(0x204)](writeToFileLog,{..._0x5f471c,'level':_0x472c5f['UAUDF'],'msg':_0x34fbe1,'time':new Date()[_0x57c9a9(0x210)]()},'error');},logHttpError=(_0x2506ee,_0x534f07,_0x5894f1={})=>{const _0x1ac68f=a0_0x3698b4,_0xd0f894={'oPOeA':'http_error','ibsva':_0x1ac68f(0x238),'BMkHp':function(_0x537c29,_0x4978df){return _0x537c29(_0x4978df);},'keUbY':function(_0x2d3e45,_0x5282e5,_0x150e3a){return _0x2d3e45(_0x5282e5,_0x150e3a);},'gKORs':function(_0x3437a5,_0x1c8bcc){return _0x3437a5>=_0x1c8bcc;},'BXpUr':_0x1ac68f(0x1c6),'OzqFs':_0x1ac68f(0x1bc)},_0x544569={'event':_0xd0f894[_0x1ac68f(0x1dc)],'errorName':_0x2506ee['name']||_0xd0f894[_0x1ac68f(0x1b6)],'errorMessage':_0x2506ee['message'],'errorCode':_0x2506ee['code']||_0x2506ee[_0x1ac68f(0x1e2)]||0x1f4,'stack':_0x2506ee[_0x1ac68f(0x18f)],'method':_0x534f07?.['method'],'url':_0x534f07?.['url']||_0x534f07?.[_0x1ac68f(0x1f0)],'path':_0x534f07?.[_0x1ac68f(0x203)],'ip':_0x534f07?.['ip']||_0x534f07?.['connection']?.['remoteAddress'],'userAgent':_0x534f07?.['get']?.('user-agent'),'requestId':_0x534f07?.['id']||_0x534f07?.['headers']?.['x-request-id'],'body':_0x534f07?.['body']?_0xd0f894['BMkHp'](redactObject,_0x534f07['body']):undefined,'query':_0x534f07?.[_0x1ac68f(0x1f4)],..._0x5894f1},_0x2ea300=_0x2506ee[_0x1ac68f(0x1e2)]||_0x2506ee['status']||0x1f4,_0x2a867b='HTTP\x20'+_0x2ea300+':\x20'+_0x2506ee['message'];_0x2ea300>=0x1f4?logger['error'](_0x544569,_0x2a867b):logger['warn'](_0x544569,_0x2a867b),_0xd0f894[_0x1ac68f(0x1e5)](writeToFileLog,{..._0x544569,'level':_0xd0f894['gKORs'](_0x2ea300,0x1f4)?_0xd0f894[_0x1ac68f(0x212)]:'warn','msg':_0x2a867b,'time':new Date()['toISOString']()},_0x2ea300>=0x1f4?_0xd0f894['BXpUr']:_0xd0f894['OzqFs']);},logUncaughtError=(_0x4d3858,_0x48c6f3)=>{const _0x281982=a0_0x3698b4,_0x2a1d06={'tySiU':function(_0x329114,_0x485e19){return _0x329114(_0x485e19);}},_0x16dc6d={'event':_0x4d3858,'errorName':_0x48c6f3?.[_0x281982(0x1a6)]||'Error','errorMessage':_0x48c6f3?.[_0x281982(0x22d)]||_0x2a1d06[_0x281982(0x1fc)](String,_0x48c6f3),'errorCode':_0x48c6f3?.['code']||null,'stack':_0x48c6f3?.[_0x281982(0x18f)],'severity':_0x281982(0x1e7),'processId':process['pid'],'memoryUsage':process[_0x281982(0x1d9)](),'uptime':process[_0x281982(0x22a)]()},_0x9d5217='['+_0x4d3858['toUpperCase']()+']\x20'+(_0x48c6f3?.['message']||_0x48c6f3);logger[_0x281982(0x1cd)](_0x16dc6d,_0x9d5217),writeToFileLog({..._0x16dc6d,'level':_0x281982(0x1cd),'msg':_0x9d5217,'time':new Date()[_0x281982(0x210)]()},_0x281982(0x1c6));},setupGlobalErrorHandlers=()=>{const _0x14cc21=a0_0x3698b4,_0xb4b417={'dmSbn':function(_0x55b46a,_0x18b514,_0x49beb7){return _0x55b46a(_0x18b514,_0x49beb7);},'KOvvg':function(_0x1fe76d,_0x728d7d,_0x5a556b){return _0x1fe76d(_0x728d7d,_0x5a556b);},'RPMvv':function(_0x111cd7,_0x821dd2){return _0x111cd7 instanceof _0x821dd2;},'vDxwq':function(_0x5b2bab,_0x48803e){return _0x5b2bab(_0x48803e);},'XiKSt':_0x14cc21(0x198),'QlEPw':'process_warning','yFoCo':'global_error_handlers_setup','ZcAuo':'Global\x20error\x20handlers\x20initialized'};process['on'](_0x14cc21(0x19f),_0x18ff38=>{const _0x357b51=_0x14cc21;_0xb4b417[_0x357b51(0x1b1)](logUncaughtError,_0x357b51(0x19f),_0x18ff38),_0xb4b417[_0x357b51(0x1d2)](setTimeout,()=>{process['exit'](0x1);},0x3e8);}),process['on']('unhandledRejection',(_0x111576,_0x254b57)=>{const _0x3e00e7=_0x14cc21,_0x649b01=_0xb4b417['RPMvv'](_0x111576,Error)?_0x111576:new Error(_0xb4b417[_0x3e00e7(0x23f)](String,_0x111576));logUncaughtError(_0xb4b417['XiKSt'],_0x649b01);}),process['on'](_0x14cc21(0x20c),_0x4cc6ee=>{const _0x3a1beb=_0x14cc21;logger['warn']({'event':_0xb4b417['QlEPw'],'name':_0x4cc6ee[_0x3a1beb(0x1a6)],'message':_0x4cc6ee[_0x3a1beb(0x22d)],'stack':_0x4cc6ee[_0x3a1beb(0x18f)]},'Process\x20Warning:\x20'+_0x4cc6ee[_0x3a1beb(0x22d)]);});const _0xa01e3c={'event':_0xb4b417['yFoCo']},_0x4b0cbc=_0xb4b417['ZcAuo'];logger['info'](_0xa01e3c,_0x4b0cbc),writeToFileLog({..._0xa01e3c,'level':'info','msg':_0x4b0cbc,'time':new Date()[_0x14cc21(0x210)]()},'info');},createErrorHandlerMiddleware=()=>{const _0x2ee778={'hDNbh':function(_0x3a6090,_0x293ccd){return _0x3a6090>=_0x293ccd;}};return(_0x1c19da,_0x49d82f,_0x2ce2c9,_0x403cef)=>{const _0xcb8491=a0_0x15d9;logHttpError(_0x1c19da,_0x49d82f);const _0xfff743=_0x1c19da[_0xcb8491(0x1e2)]||_0x1c19da[_0xcb8491(0x1d8)]||0x1f4;_0x2ce2c9[_0xcb8491(0x1d8)](_0xfff743)[_0xcb8491(0x1ef)]({'success':![],'error':_0x2ee778['hDNbh'](_0xfff743,0x1f4)?_0xcb8491(0x1a5):_0x1c19da['message'],'requestId':_0x49d82f['id']||_0x49d82f['headers']?.[_0xcb8491(0x248)]||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_0x16552a=a0_0x489f;(function(_0x1679ef,_0x1b6125){const _0x2d9a6a=a0_0x489f,_0x10911f=_0x1679ef();while(!![]){try{const _0x1c657f=parseInt(_0x2d9a6a(0x136))/0x1+parseInt(_0x2d9a6a(0x11b))/0x2*(-parseInt(_0x2d9a6a(0x118))/0x3)+parseInt(_0x2d9a6a(0x108))/0x4*(-parseInt(_0x2d9a6a(0x135))/0x5)+-parseInt(_0x2d9a6a(0x119))/0x6*(-parseInt(_0x2d9a6a(0x131))/0x7)+-parseInt(_0x2d9a6a(0x111))/0x8+-parseInt(_0x2d9a6a(0x11d))/0x9+parseInt(_0x2d9a6a(0x10f))/0xa;if(_0x1c657f===_0x1b6125)break;else _0x10911f['push'](_0x10911f['shift']());}catch(_0x7bcaf4){_0x10911f['push'](_0x10911f['shift']());}}}(a0_0x56e9,0xefa7b));const dbType=(process[a0_0x16552a(0x128)][a0_0x16552a(0x106)]||'postgresql')[a0_0x16552a(0x129)]();let executeQuery;if(dbType===a0_0x16552a(0x137)){const oracleDb=require(a0_0x16552a(0x121));executeQuery=(_0x181a4c,_0x37c88d)=>oracleDb['executeQuery'](_0x181a4c,_0x37c88d);}else{if(dbType===a0_0x16552a(0x130)){const mysqlDb=require('./db-mysql');executeQuery=(_0x2e2000,_0x363177)=>mysqlDb[a0_0x16552a(0x10d)](_0x2e2000,_0x363177);}else executeQuery=require('./db')[a0_0x16552a(0x10d)];}function a0_0x56e9(){const _0x437072=['mtK3mdrPuLD2rM8','zgvIDwC','Dxf3wvq','y2XLyxi','zxHWB3j0CW','zxHLy3v0zvf1zxj5','tg9VA3vWihrHyMXLigXVywrLzdOG','mZe5mJy1nZbzrhnLEeS','CMHJvhO','ndq2ndu4nezPDg1nsG','EwPhvKq','DMjKBvO','AgfZ','Bg9VA3vWx2nHy2HLx2nSzwfYzwq','qxrfvMS','A2v5CW','nLLdz2npqG','mJuZmZG2rMzYCuvl','Aw5MBW','mtm1mJC3meHuwMTzDG','ihzHBhvLkhmPig5VDcbMB3vUzcbPBIa','mJa4ndeZowDrCw5QyW','C2v0','Bg9VA3vWx3rHyMXLx2XVywrFzxjYB3i','Bg9HzeXVB2T1CfrHyMXL','lI9KyI1VCMfJBgu','zw50CMLLCW','Bg9VA3vWq2fJAgu','y2XLyxjdywnOzq','z2v0','ChvZAa','rMfPBgvKihrVigXVywqGBg9VA3vWihrHyMXLoIa','zw52','Dg9mB3DLCKnHC2u','CMvZB2X2zuXVB2T1CfzHBhvL','BgvUz3rO','DMfSAwrHDgvmB29RDxbwywX1zxm','BwfW','iezst00G','tg9VA3vWignHy2HLignSzwfYzwq','BxLZCwW','mtG5rgjHzKnX','vMfSDwuGiG','D1bND2i','u0vmrunuia','mtC1me5VA2zJsW','nte1mJq3qKTzAufL','B3jHy2XL','zM9YrwfJAa','rejFvfLqrq','zNjVBq'];a0_0x56e9=function(){return _0x437072;};return a0_0x56e9();}const {logger}=require('./logger');function a0_0x489f(_0x31e4f1,_0x6670bf){_0x31e4f1=_0x31e4f1-0x105;const _0x56e998=a0_0x56e9();let _0x489f49=_0x56e998[_0x31e4f1];if(a0_0x489f['rvwtjX']===undefined){var _0x38ada9=function(_0x43357f){const _0x3798d0='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x676411='',_0x32c78e='';for(let _0x355252=0x0,_0x1ad6cf,_0x533183,_0x4578ca=0x0;_0x533183=_0x43357f['charAt'](_0x4578ca++);~_0x533183&&(_0x1ad6cf=_0x355252%0x4?_0x1ad6cf*0x40+_0x533183:_0x533183,_0x355252++%0x4)?_0x676411+=String['fromCharCode'](0xff&_0x1ad6cf>>(-0x2*_0x355252&0x6)):0x0){_0x533183=_0x3798d0['indexOf'](_0x533183);}for(let _0x3d97d3=0x0,_0x33973d=_0x676411['length'];_0x3d97d3<_0x33973d;_0x3d97d3++){_0x32c78e+='%'+('00'+_0x676411['charCodeAt'](_0x3d97d3)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x32c78e);};a0_0x489f['psGlpD']=_0x38ada9,a0_0x489f['WZkNoP']={},a0_0x489f['rvwtjX']=!![];}const _0xbf4f30=_0x56e998[0x0],_0x138e3d=_0x31e4f1+_0xbf4f30,_0x2914ab=a0_0x489f['WZkNoP'][_0x138e3d];return!_0x2914ab?(_0x489f49=a0_0x489f['psGlpD'](_0x489f49),a0_0x489f['WZkNoP'][_0x138e3d]=_0x489f49):_0x489f49=_0x2914ab,_0x489f49;}class LookupResolver{constructor(){this['lookupCache']=new Map();}[a0_0x16552a(0x124)](){const _0x4dfe6e=a0_0x16552a,_0x50323a={'AtEVk':_0x4dfe6e(0x12f)};this['lookupCache'][_0x4dfe6e(0x10b)](),logger[_0x4dfe6e(0x109)]({'event':_0x4dfe6e(0x115)},_0x50323a[_0x4dfe6e(0x116)]);}async[a0_0x16552a(0x120)](_0x5ae1a6,_0x71d8b1,_0x537d82){const _0x442093=a0_0x16552a,_0x1686c8={'wPcyx':function(_0x2b43b4,_0x3d3191){return _0x2b43b4!==_0x3d3191;},'rhcTz':function(_0x306ce3,_0x2c8210){return _0x306ce3(_0x2c8210);},'vbdmZ':function(_0x184a16,_0x5eab6d){return _0x184a16(_0x5eab6d);},'ceSbm':'lookup_table_loaded','yjGVD':_0x442093(0x11f)},_0x3fb050=_0x5ae1a6+':'+_0x71d8b1+':'+_0x537d82;if(this['lookupCache']['has'](_0x3fb050))return this[_0x442093(0x123)]['get'](_0x3fb050);try{const _0x1af349=_0x442093(0x134)+_0x537d82+',\x20'+_0x71d8b1+_0x442093(0x12e)+_0x5ae1a6,_0x396506=await _0x1686c8[_0x442093(0x113)](executeQuery,_0x1af349),_0x32d1f3=new Map();return _0x396506[_0x442093(0x105)](_0x1ecab0=>{const _0x223a06=_0x442093,_0x1ec75b=_0x1ecab0[_0x71d8b1]!==undefined?_0x1ecab0[_0x71d8b1]:_0x1ecab0[_0x71d8b1['toUpperCase']()],_0x220dc8=_0x1ecab0[_0x537d82]!==undefined?_0x1ecab0[_0x537d82]:_0x1ecab0[_0x537d82['toUpperCase']()];_0x1686c8['wPcyx'](_0x1ec75b,null)&&_0x1ec75b!==undefined&&(_0x32d1f3['set'](_0x1686c8[_0x223a06(0x110)](String,_0x1ec75b)['toLowerCase']()['trim'](),_0x220dc8),_0x32d1f3[_0x223a06(0x11e)](_0x1686c8[_0x223a06(0x113)](String,_0x1ec75b)['trim'](),_0x220dc8));}),this['lookupCache']['set'](_0x3fb050,_0x32d1f3),logger['info']({'event':_0x1686c8['ceSbm'],'table':_0x5ae1a6,'column':_0x71d8b1,'count':_0x396506[_0x442093(0x12b)]},_0x442093(0x10e)+_0x5ae1a6),_0x32d1f3;}catch(_0x398e92){logger['error']({'event':_0x1686c8[_0x442093(0x112)],'table':_0x5ae1a6,'error':_0x398e92['message']},_0x442093(0x127)+_0x5ae1a6);throw _0x398e92;}}['resolveLookupValue'](_0x3d8868,_0x3ebc11){const _0x584ce6=a0_0x16552a,_0x562653={'xVNKM':function(_0x2423f5,_0x38ddb8){return _0x2423f5===_0x38ddb8;}};if(_0x562653['xVNKM'](_0x3d8868,null)||_0x3d8868===undefined||_0x3d8868==='')return null;const _0x379186=String(_0x3d8868)['trim']();if(_0x3ebc11['has'](_0x379186))return _0x3ebc11['get'](_0x379186);const _0x2019b1=_0x379186[_0x584ce6(0x129)]();if(_0x3ebc11[_0x584ce6(0x114)](_0x2019b1))return _0x3ebc11[_0x584ce6(0x125)](_0x2019b1);return null;}async['processLookupFields'](_0x201ed2,_0x439264){const _0x47e42a=a0_0x16552a,_0x345dd7={'uqwYT':function(_0x4720e2,_0x36c38e){return _0x4720e2===_0x36c38e;},'LXzbT':function(_0xd50537,_0x14693f){return _0xd50537===_0x14693f;},'GLuoR':function(_0x355b5f,_0x6c18c3){return _0x355b5f!==_0x6c18c3;}};if(!_0x439264||Object[_0x47e42a(0x117)](_0x439264)[_0x47e42a(0x12b)]===0x0)return{'processedRows':_0x201ed2,'errors':[]};const _0x3fa6a1=[],_0x5ca834=new Map();for(const [_0x5d566c,_0x3e94e4]of Object['entries'](_0x439264)){const {lookupTable:_0x4c3b13,lookupColumn:_0x4d171c,lookupIdColumn:_0x1cc5a4}=_0x3e94e4,_0x5c95bf=_0x4c3b13+':'+_0x4d171c+':'+_0x1cc5a4;if(!_0x5ca834[_0x47e42a(0x114)](_0x5c95bf)){const _0x415ac0=await this['loadLookupTable'](_0x4c3b13,_0x4d171c,_0x1cc5a4);_0x5ca834[_0x47e42a(0x11e)](_0x5c95bf,_0x415ac0);}}const _0x564759=_0x201ed2[_0x47e42a(0x12d)]((_0x53ed71,_0x46a7e7)=>{const _0x6efe0=_0x47e42a,_0x524906={..._0x53ed71};for(const [_0x4abef0,_0x315a7f]of Object['entries'](_0x439264)){const {lookupTable:_0x48db42,lookupColumn:_0x2edcdf,lookupIdColumn:_0x1b662a,targetField:_0x3074eb,required:_0x49fcbb}=_0x315a7f,_0x4ead10=_0x48db42+':'+_0x2edcdf+':'+_0x1b662a,_0x1ace97=_0x5ca834['get'](_0x4ead10),_0x33aaf5=_0x53ed71[_0x4abef0];if((_0x345dd7[_0x6efe0(0x10a)](_0x33aaf5,null)||_0x33aaf5===undefined||_0x345dd7['LXzbT'](_0x33aaf5,''))&&!_0x49fcbb){_0x524906[_0x3074eb]=null;continue;}const _0x54da2e=this[_0x6efe0(0x12a)](_0x33aaf5,_0x1ace97);_0x345dd7['GLuoR'](_0x54da2e,null)?_0x524906[_0x3074eb]=_0x54da2e:(_0x49fcbb&&_0x3fa6a1['push']({'rowIndex':_0x46a7e7,'field':_0x4abef0,'value':_0x33aaf5,'targetField':_0x3074eb,'lookupTable':_0x48db42,'message':_0x6efe0(0x132)+_0x33aaf5+'\x22\x20not\x20found\x20in\x20'+_0x48db42}),_0x524906[_0x3074eb]=null);}return _0x524906;});return logger[_0x47e42a(0x11a)]({'event':'lookup_fields_processed','totalRows':_0x201ed2[_0x47e42a(0x12b)],'errorCount':_0x3fa6a1[_0x47e42a(0x12b)],'lookupFieldCount':Object[_0x47e42a(0x117)](_0x439264)[_0x47e42a(0x12b)]},'Lookup\x20fields\x20processed'),{'processedRows':_0x564759,'errors':_0x3fa6a1};}['getDistinctValues'](_0x2018db,_0x452feb){const _0x40589a=a0_0x16552a,_0x4e2307={'wPgwb':function(_0x210f65,_0x1fc42a){return _0x210f65!==_0x1fc42a;}},_0x501634=new Set();return _0x2018db['forEach'](_0x4b2e7a=>{const _0xf7e3a4=a0_0x489f,_0x1b044c=_0x4b2e7a[_0x452feb];_0x1b044c!==null&&_0x4e2307[_0xf7e3a4(0x133)](_0x1b044c,undefined)&&_0x1b044c!==''&&_0x501634['add'](String(_0x1b044c)['trim']());}),Array[_0x40589a(0x107)](_0x501634);}async[a0_0x16552a(0x12c)](_0x48d52f,_0x34d97b){const _0x3443da=a0_0x16552a,_0x4682f4={'AWTWw':function(_0x3ba114,_0x455337){return _0x3ba114!==_0x455337;},'MTaez':function(_0xaae5bc,_0x4ba225){return _0xaae5bc===_0x4ba225;},'qeZso':function(_0x219484,_0x2b0963){return _0x219484>_0x2b0963;}};if(!_0x34d97b||_0x4682f4['MTaez'](Object['keys'](_0x34d97b)[_0x3443da(0x12b)],0x0))return{'valid':!![],'errors':[],'suggestions':{}};const _0x1fd595=[],_0x590d68={};for(const [_0x413777,_0x2f665b]of Object[_0x3443da(0x122)](_0x34d97b)){const {lookupTable:_0x64829c,lookupColumn:_0x222cf5,lookupIdColumn:_0x5a74e3,required:_0x228d67}=_0x2f665b,_0x1577a4=this['getDistinctValues'](_0x48d52f,_0x413777),_0x20c968=await this['loadLookupTable'](_0x64829c,_0x222cf5,_0x5a74e3),_0x2b94b3=[],_0x4917e7=[];_0x1577a4[_0x3443da(0x105)](_0x385f18=>{const _0x275e6b=_0x3443da,_0x5c4cd2=this['resolveLookupValue'](_0x385f18,_0x20c968);_0x4682f4['AWTWw'](_0x5c4cd2,null)?_0x4917e7['push'](_0x385f18):_0x2b94b3[_0x275e6b(0x126)](_0x385f18);});if(_0x4682f4['qeZso'](_0x2b94b3['length'],0x0)&&_0x228d67){_0x1fd595[_0x3443da(0x126)]({'field':_0x413777,'lookupTable':_0x64829c,'invalidValues':_0x2b94b3,'message':_0x2b94b3['length']+_0x3443da(0x11c)+_0x64829c});const _0x5c784f=[];_0x20c968[_0x3443da(0x105)]((_0x37921c,_0x3f07ea)=>{const _0x275778=_0x3443da;if(_0x3f07ea===_0x3f07ea[_0x275778(0x129)]())return;_0x5c784f[_0x275778(0x126)](_0x3f07ea);}),_0x590d68[_0x413777]={'invalidValues':_0x2b94b3,'availableValues':_0x5c784f['slice'](0x0,0x32)};}}return{'valid':_0x1fd595[_0x3443da(0x12b)]===0x0,'errors':_0x1fd595,'suggestions':_0x590d68};}}module[a0_0x16552a(0x10c)]=new LookupResolver();
1
+ function a0_0x4de8(){const _0x2e1253=['s1vcwge','A2v5CW','uM50B2q','BgvUz3rO','nM5QB1beAq','y2XLyxi','zw50CMLLCW','y2XLyxjdywnOzq','AgfZ','ihzHBhvLkhmPig5VDcbMB3vUzcbPBIa','mte0oty0Bfnsrxfq','tg9VA3vWignHy2HLignSzwfYzwq','zw52','BxLZCwW','mteWuNjKzvrt','lI9KyI1TExnXBa','nJu1ndC3mevUuMDfCG','zNjVBq','rMjvque','lI9KyG','Bg9VA3vWx2zPzwXKC19WCM9JzxnZzwq','Bg9VA3vWq2fJAgu','ofnrBvzTza','CMvZB2X2zuXVB2T1CfzHBhvL','tMTbvLm','zxHLy3v0zvf1zxj5','Dg9mB3DLCKnHC2u','rejFvfLqrq','DMfSAwrHDgvmB29RDxbwywX1zxm','DhjPBq','Bg9VA3vWx3rHyMXLx2XVywrLza','ndmWodGXzKPpu1LS','mZa5mtK4vevStNPK','u0vmrunuia','iezst00G','m0zyqMviAG','lI9KyI1VCMfJBgu','Bg9HzeXVB2T1CfrHyMXL','mta5odG1ntH5AfLxAgK','BwfW','Dg9vChbLCKnHC2u','vvPJvwO','uLD6uha','vfz1Dfe','mty4ntK0muHHsxfurq','Bg9VA3vWx2nHy2HLx2nSzwfYzwq','iIbUB3qGzM91BMqGAw4G','lI9SB2DNzxi','BwvZC2fNzq','zM9YrwfJAa','z2v0rgLZDgLUy3rwywX1zxm','C2XPy2u','mtqWndC5nZrSwM9PtNO','rMfPBgvKihrVigXVywqGBg9VA3vWihrHyMXLoIa','Aw5MBW','C2v0','ChvZAa','z2v0','B3jHy2XL'];a0_0x4de8=function(){return _0x2e1253;};return a0_0x4de8();}const a0_0x103eee=a0_0x24c8;(function(_0x1019c0,_0x287f9d){const _0x3adc9f=a0_0x24c8,_0x528cd2=_0x1019c0();while(!![]){try{const _0x338bb8=parseInt(_0x3adc9f(0x1c8))/0x1+parseInt(_0x3adc9f(0x1f7))/0x2*(parseInt(_0x3adc9f(0x1fa))/0x3)+parseInt(_0x3adc9f(0x1e1))/0x4+-parseInt(_0x3adc9f(0x1e7))/0x5+parseInt(_0x3adc9f(0x1db))/0x6*(parseInt(_0x3adc9f(0x1fd))/0x7)+-parseInt(_0x3adc9f(0x1ed))/0x8*(parseInt(_0x3adc9f(0x1d0))/0x9)+parseInt(_0x3adc9f(0x1e5))/0xa*(parseInt(_0x3adc9f(0x1f6))/0xb);if(_0x338bb8===_0x287f9d)break;else _0x528cd2['push'](_0x528cd2['shift']());}catch(_0x17c977){_0x528cd2['push'](_0x528cd2['shift']());}}}(a0_0x4de8,0xf3ae4));const dbType=(process[a0_0x103eee(0x1e3)][a0_0x103eee(0x1f2)]||'postgresql')['toLowerCase']();function a0_0x24c8(_0x43aa23,_0x3eaba1){_0x43aa23=_0x43aa23-0x1c4;const _0x4de82f=a0_0x4de8();let _0x24c885=_0x4de82f[_0x43aa23];if(a0_0x24c8['SGIXQK']===undefined){var _0x30ba1b=function(_0x592313){const _0x5f3b0f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x37c907='',_0x291b33='';for(let _0x426795=0x0,_0x4135f4,_0x1d55e7,_0x3ffcb2=0x0;_0x1d55e7=_0x592313['charAt'](_0x3ffcb2++);~_0x1d55e7&&(_0x4135f4=_0x426795%0x4?_0x4135f4*0x40+_0x1d55e7:_0x1d55e7,_0x426795++%0x4)?_0x37c907+=String['fromCharCode'](0xff&_0x4135f4>>(-0x2*_0x426795&0x6)):0x0){_0x1d55e7=_0x5f3b0f['indexOf'](_0x1d55e7);}for(let _0x5afd45=0x0,_0x22b764=_0x37c907['length'];_0x5afd45<_0x22b764;_0x5afd45++){_0x291b33+='%'+('00'+_0x37c907['charCodeAt'](_0x5afd45)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x291b33);};a0_0x24c8['AYiPnQ']=_0x30ba1b,a0_0x24c8['ZDtCJz']={},a0_0x24c8['SGIXQK']=!![];}const _0x31f5a0=_0x4de82f[0x0],_0x3e6fa1=_0x43aa23+_0x31f5a0,_0x1cb269=a0_0x24c8['ZDtCJz'][_0x3e6fa1];return!_0x1cb269?(_0x24c885=a0_0x24c8['AYiPnQ'](_0x24c885),a0_0x24c8['ZDtCJz'][_0x3e6fa1]=_0x24c885):_0x24c885=_0x1cb269,_0x24c885;}let executeQuery;if(dbType===a0_0x103eee(0x1d6)){const oracleDb=require(a0_0x103eee(0x1fb));executeQuery=(_0x4a215e,_0x93f6ec)=>oracleDb[a0_0x103eee(0x1f0)](_0x4a215e,_0x93f6ec);}else{if(dbType===a0_0x103eee(0x1e4)){const mysqlDb=require(a0_0x103eee(0x1e6));executeQuery=(_0xc4b3c3,_0x404af5)=>mysqlDb['executeQuery'](_0xc4b3c3,_0x404af5);}else executeQuery=require(a0_0x103eee(0x1ea))[a0_0x103eee(0x1f0)];}const {logger}=require(a0_0x103eee(0x1cb));class LookupResolver{constructor(){const _0x1d73f5=a0_0x103eee;this[_0x1d73f5(0x1ec)]=new Map();}[a0_0x103eee(0x1de)](){const _0x515531=a0_0x103eee,_0xddd193={'eUnAr':_0x515531(0x1c9),'udqNQ':_0x515531(0x1e2)};this['lookupCache'][_0x515531(0x1dc)](),logger['debug']({'event':_0xddd193['eUnAr']},_0xddd193['udqNQ']);}async['loadLookupTable'](_0x4fd51b,_0x41195d,_0x1ed39f){const _0x738927=a0_0x103eee,_0x102755={'ZVzmd':function(_0x293610,_0x44514b){return _0x293610!==_0x44514b;},'FbUAA':function(_0x3c17d0,_0x2cc716){return _0x3c17d0!==_0x2cc716;},'RWzPp':function(_0x44b851,_0x5330b2){return _0x44b851(_0x5330b2);},'euCfR':function(_0x250475,_0x2f1c32){return _0x250475(_0x2f1c32);}},_0xb6d678=_0x4fd51b+':'+_0x41195d+':'+_0x1ed39f;if(this[_0x738927(0x1ec)][_0x738927(0x1df)](_0xb6d678))return this['lookupCache']['get'](_0xb6d678);try{const _0x17c383=_0x738927(0x1f8)+_0x1ed39f+',\x20'+_0x41195d+_0x738927(0x1f9)+_0x4fd51b,_0x12f8eb=await executeQuery(_0x17c383),_0x1371f0=new Map();return _0x12f8eb['forEach'](_0x2cab45=>{const _0x12aac8=_0x738927,_0x461cc2=_0x102755['ZVzmd'](_0x2cab45[_0x41195d],undefined)?_0x2cab45[_0x41195d]:_0x2cab45[_0x41195d[_0x12aac8(0x1c4)]()],_0x56e17f=_0x102755['ZVzmd'](_0x2cab45[_0x1ed39f],undefined)?_0x2cab45[_0x1ed39f]:_0x2cab45[_0x1ed39f['toUpperCase']()];_0x102755[_0x12aac8(0x1e9)](_0x461cc2,null)&&_0x461cc2!==undefined&&(_0x1371f0['set'](_0x102755[_0x12aac8(0x1c6)](String,_0x461cc2)['toLowerCase']()['trim'](),_0x56e17f),_0x1371f0['set'](_0x102755['euCfR'](String,_0x461cc2)['trim'](),_0x56e17f));}),this['lookupCache'][_0x738927(0x1d3)](_0xb6d678,_0x1371f0),logger[_0x738927(0x1d2)]({'event':_0x738927(0x1f5),'table':_0x4fd51b,'column':_0x41195d,'count':_0x12f8eb['length']},'Lookup\x20table\x20loaded:\x20'+_0x4fd51b),_0x1371f0;}catch(_0x531e4b){logger['error']({'event':'lookup_table_load_error','table':_0x4fd51b,'error':_0x531e4b[_0x738927(0x1cc)]},_0x738927(0x1d1)+_0x4fd51b);throw _0x531e4b;}}['resolveLookupValue'](_0x2b7da4,_0x15e8fe){const _0x3ecef8=a0_0x103eee,_0xc46273={'KUBXa':function(_0x1c462c,_0x53e8b2){return _0x1c462c===_0x53e8b2;},'xHKet':function(_0x46a615,_0x31caa0){return _0x46a615===_0x31caa0;},'ZqOgb':function(_0x2627df,_0x409b67){return _0x2627df(_0x409b67);}};if(_0xc46273[_0x3ecef8(0x1d7)](_0x2b7da4,null)||_0x2b7da4===undefined||_0xc46273['xHKet'](_0x2b7da4,''))return null;const _0x21cd4e=_0xc46273['ZqOgb'](String,_0x2b7da4)['trim']();if(_0x15e8fe['has'](_0x21cd4e))return _0x15e8fe[_0x3ecef8(0x1d5)](_0x21cd4e);const _0x241dc5=_0x21cd4e[_0x3ecef8(0x1f1)]();if(_0x15e8fe['has'](_0x241dc5))return _0x15e8fe['get'](_0x241dc5);return null;}async['processLookupFields'](_0x1e9b6f,_0x342ba7){const _0x545a4a=a0_0x103eee,_0x39dc83={'TVutQ':function(_0x55bc38,_0x43ced7){return _0x55bc38===_0x43ced7;},'FChgG':_0x545a4a(0x1eb),'UZcUj':'Lookup\x20fields\x20processed'};if(!_0x342ba7||Object[_0x545a4a(0x1d8)](_0x342ba7)[_0x545a4a(0x1da)]===0x0)return{'processedRows':_0x1e9b6f,'errors':[]};const _0x4c9855=[],_0xa821fe=new Map();for(const [_0x34564d,_0x4cf319]of Object[_0x545a4a(0x1dd)](_0x342ba7)){const {lookupTable:_0xa1a993,lookupColumn:_0x4aadfd,lookupIdColumn:_0xd1b9ad}=_0x4cf319,_0x2a619b=_0xa1a993+':'+_0x4aadfd+':'+_0xd1b9ad;if(!_0xa821fe[_0x545a4a(0x1df)](_0x2a619b)){const _0x3b2d97=await this[_0x545a4a(0x1fc)](_0xa1a993,_0x4aadfd,_0xd1b9ad);_0xa821fe['set'](_0x2a619b,_0x3b2d97);}}const _0x4d28d2=_0x1e9b6f[_0x545a4a(0x1fe)]((_0xd8d05e,_0x5a9b41)=>{const _0x385d66=_0x545a4a,_0x598188={..._0xd8d05e};for(const [_0x846fea,_0x528556]of Object[_0x385d66(0x1dd)](_0x342ba7)){const {lookupTable:_0x426d03,lookupColumn:_0x1df208,lookupIdColumn:_0x3617fd,targetField:_0x4e1892,required:_0x1df85f}=_0x528556,_0x5d5134=_0x426d03+':'+_0x1df208+':'+_0x3617fd,_0x151fda=_0xa821fe['get'](_0x5d5134),_0x2956c7=_0xd8d05e[_0x846fea];if((_0x2956c7===null||_0x39dc83[_0x385d66(0x1c7)](_0x2956c7,undefined)||_0x2956c7==='')&&!_0x1df85f){_0x598188[_0x4e1892]=null;continue;}const _0x575c75=this[_0x385d66(0x1ee)](_0x2956c7,_0x151fda);_0x575c75!==null?_0x598188[_0x4e1892]=_0x575c75:(_0x1df85f&&_0x4c9855[_0x385d66(0x1d4)]({'rowIndex':_0x5a9b41,'field':_0x846fea,'value':_0x2956c7,'targetField':_0x4e1892,'lookupTable':_0x426d03,'message':'Value\x20\x22'+_0x2956c7+_0x385d66(0x1ca)+_0x426d03}),_0x598188[_0x4e1892]=null);}return _0x598188;});return logger['info']({'event':_0x39dc83['FChgG'],'totalRows':_0x1e9b6f['length'],'errorCount':_0x4c9855['length'],'lookupFieldCount':Object[_0x545a4a(0x1d8)](_0x342ba7)[_0x545a4a(0x1da)]},_0x39dc83[_0x545a4a(0x1c5)]),{'processedRows':_0x4d28d2,'errors':_0x4c9855};}[a0_0x103eee(0x1ce)](_0x16abf2,_0x1214c8){const _0x3fb365=a0_0x103eee,_0x3a2697={'Rntod':function(_0x39e695,_0xb0540e){return _0x39e695!==_0xb0540e;}},_0xd037e6=new Set();return _0x16abf2['forEach'](_0x5136e3=>{const _0x5e0faf=a0_0x24c8,_0x4c3069=_0x5136e3[_0x1214c8];_0x4c3069!==null&&_0x4c3069!==undefined&&_0x3a2697[_0x5e0faf(0x1d9)](_0x4c3069,'')&&_0xd037e6['add'](String(_0x4c3069)[_0x5e0faf(0x1f4)]());}),Array[_0x3fb365(0x1e8)](_0xd037e6);}async[a0_0x103eee(0x1f3)](_0x218ca7,_0x2548c4){const _0x12d673=a0_0x103eee,_0x417978={'yZbOY':function(_0x3db3ca,_0x296ae5){return _0x3db3ca!==_0x296ae5;},'NkAVS':function(_0x37253d,_0x4d2d83){return _0x37253d===_0x4d2d83;}};if(!_0x2548c4||Object[_0x12d673(0x1d8)](_0x2548c4)[_0x12d673(0x1da)]===0x0)return{'valid':!![],'errors':[],'suggestions':{}};const _0x495bb5=[],_0x24ddb1={};for(const [_0x332336,_0x11083f]of Object[_0x12d673(0x1dd)](_0x2548c4)){const {lookupTable:_0x559672,lookupColumn:_0xc480a1,lookupIdColumn:_0x15e5f5,required:_0x36aca7}=_0x11083f,_0x1ded6b=this['getDistinctValues'](_0x218ca7,_0x332336),_0x153ffd=await this[_0x12d673(0x1fc)](_0x559672,_0xc480a1,_0x15e5f5),_0x368917=[],_0x43b521=[];_0x1ded6b['forEach'](_0x18f357=>{const _0xe57175=_0x12d673,_0x551bf7=this[_0xe57175(0x1ee)](_0x18f357,_0x153ffd);_0x417978['yZbOY'](_0x551bf7,null)?_0x43b521[_0xe57175(0x1d4)](_0x18f357):_0x368917[_0xe57175(0x1d4)](_0x18f357);});if(_0x368917['length']>0x0&&_0x36aca7){_0x495bb5[_0x12d673(0x1d4)]({'field':_0x332336,'lookupTable':_0x559672,'invalidValues':_0x368917,'message':_0x368917[_0x12d673(0x1da)]+_0x12d673(0x1e0)+_0x559672});const _0xfb3ee1=[];_0x153ffd[_0x12d673(0x1cd)]((_0x56f3b7,_0x23cf06)=>{const _0x496432=_0x12d673;if(_0x23cf06===_0x23cf06[_0x496432(0x1f1)]())return;_0xfb3ee1[_0x496432(0x1d4)](_0x23cf06);}),_0x24ddb1[_0x332336]={'invalidValues':_0x368917,'availableValues':_0xfb3ee1[_0x12d673(0x1cf)](0x0,0x32)};}}return{'valid':_0x417978[_0x12d673(0x1ef)](_0x495bb5[_0x12d673(0x1da)],0x0),'errors':_0x495bb5,'suggestions':_0x24ddb1};}}module['exports']=new LookupResolver();
@@ -1 +1 @@
1
- const a0_0x271aae=a0_0x493b;(function(_0x12bc0a,_0x4bdfa1){const _0x39b4c1=a0_0x493b,_0x537f6f=_0x12bc0a();while(!![]){try{const _0x53d71f=-parseInt(_0x39b4c1(0x14b))/0x1*(-parseInt(_0x39b4c1(0x158))/0x2)+parseInt(_0x39b4c1(0x15f))/0x3+parseInt(_0x39b4c1(0x14d))/0x4*(parseInt(_0x39b4c1(0x147))/0x5)+parseInt(_0x39b4c1(0x143))/0x6*(parseInt(_0x39b4c1(0x151))/0x7)+-parseInt(_0x39b4c1(0x157))/0x8+parseInt(_0x39b4c1(0x154))/0x9+-parseInt(_0x39b4c1(0x15c))/0xa;if(_0x53d71f===_0x4bdfa1)break;else _0x537f6f['push'](_0x537f6f['shift']());}catch(_0x41f11c){_0x537f6f['push'](_0x537f6f['shift']());}}}(a0_0x2268,0xd2612));function a0_0x2268(){const _0x831939=['zxHWB3j0CW','Cgf5Bg9Hzf9SB2fKzwq','zxjYB3i','nde3mZm4nJbTyKDcr1a','CMvHzezPBgu','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5','nta5nZyYmxDiz0P5rq','lMPZB24','vvf6weq','y2XLyxjdywnOzq','Cgf5Bg9HzdO','AgfZ','Cgf5Bg9HzerPCG','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5igj5ig5HBwu','nJe4CLbxq1f6','sMvVDLa','ENfrruK','z2v0','nZi1z2XUAhP1','rMfPBgvKihrVigXVywqGCgf5Bg9Hza','Cgf5Bg9Hzf9SB2fKx2vYCM9Y','CMvWBgfJzq','mtC1otDiwLf3A0y','DgfIBgvoyw1L','ndq4mZz3C0DMvNa','zMLLBgrmywjLBhm','zgf0yxrHyMXLC1f1zxj5','DxrMoa','nZq5mJHkELnzwxK','s2TUELi','y2fJAgu','ntiWnZC5nNvwvwfguq','y29SDw1UrM9YBwf0CW','zMLLBgroyw1L','oda3mdmYohDVqLv3CG','mte4u1HPELnY'];a0_0x2268=function(){return _0x831939;};return a0_0x2268();}const fs=require('fs')['promises'],path=require('path'),{logger}=require('./logger');function a0_0x493b(_0x30f442,_0x3853a7){_0x30f442=_0x30f442-0x143;const _0x22687a=a0_0x2268();let _0x493bba=_0x22687a[_0x30f442];if(a0_0x493b['nykRuq']===undefined){var _0x30a12a=function(_0x41e996){const _0x210396='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x221f08='',_0x16bb9c='';for(let _0x19a1c6=0x0,_0x208e3e,_0x1a3584,_0x1ec25b=0x0;_0x1a3584=_0x41e996['charAt'](_0x1ec25b++);~_0x1a3584&&(_0x208e3e=_0x19a1c6%0x4?_0x208e3e*0x40+_0x1a3584:_0x1a3584,_0x19a1c6++%0x4)?_0x221f08+=String['fromCharCode'](0xff&_0x208e3e>>(-0x2*_0x19a1c6&0x6)):0x0){_0x1a3584=_0x210396['indexOf'](_0x1a3584);}for(let _0x3c7dab=0x0,_0x3d0d70=_0x221f08['length'];_0x3c7dab<_0x3d0d70;_0x3c7dab++){_0x16bb9c+='%'+('00'+_0x221f08['charCodeAt'](_0x3c7dab)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x16bb9c);};a0_0x493b['mEjbiT']=_0x30a12a,a0_0x493b['mlNLHN']={},a0_0x493b['nykRuq']=!![];}const _0x23cd79=_0x22687a[0x0],_0x166ae4=_0x30f442+_0x23cd79,_0x9ac261=a0_0x493b['mlNLHN'][_0x166ae4];return!_0x9ac261?(_0x493bba=a0_0x493b['mEjbiT'](_0x493bba),a0_0x493b['mlNLHN'][_0x166ae4]=_0x493bba):_0x493bba=_0x9ac261,_0x493bba;}class PayloadLoader{constructor(){const _0x28f553=a0_0x493b,_0x4bad4e={'JeovP':'../../payload'};this['payloadDir']=path['join'](__dirname,_0x4bad4e[_0x28f553(0x144)]),this[_0x28f553(0x153)]=new Map();}async['loadPayload'](_0x31c201,_0x1da49e){const _0x1aaefc=a0_0x493b,_0xe73ca0={'JKfbk':'utf8','zqQEI':_0x1aaefc(0x15a),'esVhC':_0x1aaefc(0x15e),'nxgQo':'payload_load_error','pytBb':_0x1aaefc(0x148)},_0x540947=_0x31c201+':'+_0x1da49e;if(this[_0x1aaefc(0x153)][_0x1aaefc(0x164)](_0x540947))return this['cache']['get'](_0x540947);const _0x1343c8=path['join'](this['payloadDir'],_0x31c201+'_'+_0x1da49e+_0x1aaefc(0x160));try{const _0x146383=await fs[_0x1aaefc(0x15d)](_0x1343c8,_0xe73ca0['JKfbk']),_0x5bfa76=JSON['parse'](_0x146383);return this[_0x1aaefc(0x153)]['set'](_0x540947,_0x5bfa76),logger['debug']({'event':_0xe73ca0[_0x1aaefc(0x145)],'project':_0x31c201,'resource':_0x1da49e},_0xe73ca0['esVhC']),_0x5bfa76;}catch(_0x3e6dba){logger[_0x1aaefc(0x15b)]({'event':_0xe73ca0['nxgQo'],'project':_0x31c201,'resource':_0x1da49e,'error':_0x3e6dba['message']},_0xe73ca0['pytBb']);throw new Error('Payload\x20not\x20found:\x20'+_0x31c201+'_'+_0x1da49e);}}async['loadPayloadByName'](_0x4c3ebc){const _0x167a40=a0_0x493b,_0x408769={'zKFgT':_0x167a40(0x15a),'KknzR':_0x167a40(0x166),'UQzXD':'Failed\x20to\x20load\x20payload\x20by\x20name'},_0x2f20b5=_0x167a40(0x163)+_0x4c3ebc;if(this[_0x167a40(0x153)][_0x167a40(0x164)](_0x2f20b5))return this[_0x167a40(0x153)][_0x167a40(0x146)](_0x2f20b5);const _0x407c0f=path['join'](this[_0x167a40(0x165)],_0x4c3ebc+'.json');try{const _0x88954c=await fs[_0x167a40(0x15d)](_0x407c0f,_0x167a40(0x150)),_0x161678=JSON['parse'](_0x88954c);return this['cache']['set'](_0x2f20b5,_0x161678),logger['debug']({'event':_0x408769['zKFgT'],'payloadName':_0x4c3ebc},_0x408769[_0x167a40(0x152)]),_0x161678;}catch(_0x1d84dc){logger[_0x167a40(0x15b)]({'event':_0x167a40(0x149),'payloadName':_0x4c3ebc,'error':_0x1d84dc['message']},_0x408769[_0x167a40(0x161)]);throw new Error('Payload\x20not\x20found:\x20'+_0x4c3ebc);}}['isActionEnabled'](_0x9844c6,_0xc5f7dd){return _0x9844c6['action']&&_0x9844c6['action'][_0xc5f7dd]===!![];}['getExportConfig'](_0x1b1773){const _0x2ef5dc=a0_0x493b;return{'columns':_0x1b1773[_0x2ef5dc(0x156)]||[],'filename':_0x1b1773[_0x2ef5dc(0x14c)][_0x2ef5dc(0x14a)]('.','-')+'-export','datatablesQuery':_0x1b1773[_0x2ef5dc(0x14f)]||null,'columnFormats':_0x1b1773[_0x2ef5dc(0x155)]||null,'fieldLabels':_0x1b1773[_0x2ef5dc(0x14e)]||null};}[a0_0x271aae(0x162)](){const _0x59b972=a0_0x271aae;this[_0x59b972(0x153)]['clear'](),logger['info']({'event':'payload_cache_cleared'},'Payload\x20cache\x20cleared');}}module[a0_0x271aae(0x159)]=new PayloadLoader();
1
+ function a0_0x1309(){const _0x39e0a6=['zMLLBgrmywjLBhm','uKDYC3u','CgfYC2u','mtK2mNfkshLlEa','zxjYB3i','y2fJAgu','C2v0','mtuZnMP6yMjdrq','AM9PBG','CMvWBgfJzq','vKrWrgC','AgfZ','otmWodjLtKfyyLy','nJeWnJjXAhDStvm','Cgf5Bg9Hzf9SB2fKx2vYCM9Y','mtyWExHsqK9j','mti5otaYndbNz2Lvufe','rMfPBgvKihrVigXVywqGCgf5Bg9HzcbIEsbUyw1L','ugf5Bg9HzcbUB3qGzM91BMq6ia','ndyZmJa2qxLOANbv','zgvIDwC','mNDTvu9hsG','uLvvEui','ugf5Bg9HzcbJywnOzsbJBgvHCMvK','s2jos2e','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5','Bg9HzfbHEwXVywq','DxrMoa','mJy4odHdwwHQExC','mtyXmZm1mvPKAxf2Aa','DgfIBgvoyw1L','lI4VlI4VCgf5Bg9Hza','z2v0','Cgf5Bg9HzdO','mta5ndq0nZjoCKPrzfC','Cgf0Aa','lwv4Cg9YDa','mtbuy1r4DLC','Axnby3rPB25fBMfIBgvK','zgf0yxrHyMXLC1f1zxj5','Cgf5Bg9HzerPCG','Cgf5Bg9Hzf9SB2fKzwq'];a0_0x1309=function(){return _0x39e0a6;};return a0_0x1309();}function a0_0x5f00(_0xa84d2c,_0x29a8d6){_0xa84d2c=_0xa84d2c-0x8f;const _0x130922=a0_0x1309();let _0x5f005f=_0x130922[_0xa84d2c];if(a0_0x5f00['rljkyO']===undefined){var _0x4c2888=function(_0x3892ff){const _0x38878b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x55d6b3='',_0x3caccd='';for(let _0x3f4ac8=0x0,_0x47741d,_0xb85064,_0x523ed2=0x0;_0xb85064=_0x3892ff['charAt'](_0x523ed2++);~_0xb85064&&(_0x47741d=_0x3f4ac8%0x4?_0x47741d*0x40+_0xb85064:_0xb85064,_0x3f4ac8++%0x4)?_0x55d6b3+=String['fromCharCode'](0xff&_0x47741d>>(-0x2*_0x3f4ac8&0x6)):0x0){_0xb85064=_0x38878b['indexOf'](_0xb85064);}for(let _0x5e143b=0x0,_0x352d38=_0x55d6b3['length'];_0x5e143b<_0x352d38;_0x5e143b++){_0x3caccd+='%'+('00'+_0x55d6b3['charCodeAt'](_0x5e143b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3caccd);};a0_0x5f00['gLOQNr']=_0x4c2888,a0_0x5f00['yUmauc']={},a0_0x5f00['rljkyO']=!![];}const _0x4dd46f=_0x130922[0x0],_0x17ac65=_0xa84d2c+_0x4dd46f,_0x2defd3=a0_0x5f00['yUmauc'][_0x17ac65];return!_0x2defd3?(_0x5f005f=a0_0x5f00['gLOQNr'](_0x5f005f),a0_0x5f00['yUmauc'][_0x17ac65]=_0x5f005f):_0x5f005f=_0x2defd3,_0x5f005f;}const a0_0x53057d=a0_0x5f00;(function(_0xb10685,_0x20d35e){const _0x2ba5d8=a0_0x5f00,_0x23fada=_0xb10685();while(!![]){try{const _0x1552dc=parseInt(_0x2ba5d8(0xaf))/0x1*(parseInt(_0x2ba5d8(0xa7))/0x2)+-parseInt(_0x2ba5d8(0x9f))/0x3*(parseInt(_0x2ba5d8(0xa1))/0x4)+parseInt(_0x2ba5d8(0xb7))/0x5*(parseInt(_0x2ba5d8(0xa5))/0x6)+parseInt(_0x2ba5d8(0xb4))/0x7+-parseInt(_0x2ba5d8(0xae))/0x8*(-parseInt(_0x2ba5d8(0x95))/0x9)+-parseInt(_0x2ba5d8(0xa2))/0xa+parseInt(_0x2ba5d8(0x9e))/0xb*(-parseInt(_0x2ba5d8(0x99))/0xc);if(_0x1552dc===_0x20d35e)break;else _0x23fada['push'](_0x23fada['shift']());}catch(_0x1e24c1){_0x23fada['push'](_0x23fada['shift']());}}}(a0_0x1309,0xd3d2b));const fs=require('fs')['promises'],path=require(a0_0x53057d(0xb5)),{logger}=require('./logger');class PayloadLoader{constructor(){const _0x5ab8a4=a0_0x53057d;this[_0x5ab8a4(0x90)]=path[_0x5ab8a4(0x9a)](__dirname,_0x5ab8a4(0xb1)),this['cache']=new Map();}async[a0_0x53057d(0xac)](_0x5562a4,_0x4d31cf){const _0xfc0bab=a0_0x53057d,_0x3935c3={'VDpDg':_0xfc0bab(0xab),'RUUyB':'payload_load_error'},_0xcba087=_0x5562a4+':'+_0x4d31cf;if(this['cache'][_0xfc0bab(0x9d)](_0xcba087))return this[_0xfc0bab(0x97)]['get'](_0xcba087);const _0xce3baf=path['join'](this['payloadDir'],_0x5562a4+'_'+_0x4d31cf+'.json');try{const _0x22ed1c=await fs['readFile'](_0xce3baf,_0xfc0bab(0xad)),_0x3acfe3=JSON[_0xfc0bab(0x94)](_0x22ed1c);return this[_0xfc0bab(0x97)]['set'](_0xcba087,_0x3acfe3),logger[_0xfc0bab(0xa6)]({'event':'payload_loaded','project':_0x5562a4,'resource':_0x4d31cf},_0x3935c3[_0xfc0bab(0x9c)]),_0x3acfe3;}catch(_0x198105){logger[_0xfc0bab(0x96)]({'event':_0x3935c3[_0xfc0bab(0xa8)],'project':_0x5562a4,'resource':_0x4d31cf,'error':_0x198105['message']},'Failed\x20to\x20load\x20payload');throw new Error(_0xfc0bab(0xa4)+_0x5562a4+'_'+_0x4d31cf);}}async['loadPayloadByName'](_0x2ee0e4){const _0x3353ba=a0_0x53057d,_0x41bfd1={'kRQgU':_0x3353ba(0xad),'odQEs':_0x3353ba(0x91),'KbNKa':'Payload\x20loaded\x20successfully\x20by\x20name','RGrsu':_0x3353ba(0xa0),'JNlvn':_0x3353ba(0xa3)},_0x54e293=_0x3353ba(0xb3)+_0x2ee0e4;if(this['cache'][_0x3353ba(0x9d)](_0x54e293))return this[_0x3353ba(0x97)][_0x3353ba(0xb2)](_0x54e293);const _0x4b47a0=path['join'](this['payloadDir'],_0x2ee0e4+'.json');try{const _0x2a9eef=await fs['readFile'](_0x4b47a0,_0x41bfd1['kRQgU']),_0x37bb4b=JSON[_0x3353ba(0x94)](_0x2a9eef);return this[_0x3353ba(0x97)][_0x3353ba(0x98)](_0x54e293,_0x37bb4b),logger[_0x3353ba(0xa6)]({'event':_0x41bfd1['odQEs'],'payloadName':_0x2ee0e4},_0x41bfd1[_0x3353ba(0xaa)]),_0x37bb4b;}catch(_0x3a6737){logger[_0x3353ba(0x96)]({'event':_0x41bfd1[_0x3353ba(0x93)],'payloadName':_0x2ee0e4,'error':_0x3a6737['message']},_0x41bfd1['JNlvn']);throw new Error(_0x3353ba(0xa4)+_0x2ee0e4);}}[a0_0x53057d(0xb8)](_0x369997,_0x2ea063){const _0x160f7d={'qOShH':function(_0x4a370d,_0x4a63a7){return _0x4a370d===_0x4a63a7;}};return _0x369997['action']&&_0x160f7d['qOShH'](_0x369997['action'][_0x2ea063],!![]);}['getExportConfig'](_0x33341b){const _0x120643=a0_0x53057d;return{'columns':_0x33341b['fieldName']||[],'filename':_0x33341b[_0x120643(0xb0)][_0x120643(0x9b)]('.','-')+_0x120643(0xb6),'datatablesQuery':_0x33341b[_0x120643(0x8f)]||null,'columnFormats':_0x33341b['columnFormats']||null,'fieldLabels':_0x33341b[_0x120643(0x92)]||null};}['clearCache'](){const _0x23bac1=a0_0x53057d;this[_0x23bac1(0x97)]['clear'](),logger['info']({'event':'payload_cache_cleared'},_0x23bac1(0xa9));}}module['exports']=new PayloadLoader();
@@ -1 +1 @@
1
- 'use strict';(function(_0x227e86,_0xc390f9){var _0x2b0ca3=a0_0x340e,_0xdd1515=_0x227e86();while(!![]){try{var _0x228ed3=-parseInt(_0x2b0ca3(0xdb))/0x1*(-parseInt(_0x2b0ca3(0xd7))/0x2)+parseInt(_0x2b0ca3(0xdc))/0x3*(-parseInt(_0x2b0ca3(0xd8))/0x4)+parseInt(_0x2b0ca3(0xda))/0x5*(parseInt(_0x2b0ca3(0xd9))/0x6)+-parseInt(_0x2b0ca3(0xe0))/0x7+parseInt(_0x2b0ca3(0xd5))/0x8*(-parseInt(_0x2b0ca3(0xd6))/0x9)+parseInt(_0x2b0ca3(0xdd))/0xa*(parseInt(_0x2b0ca3(0xdf))/0xb)+parseInt(_0x2b0ca3(0xde))/0xc;if(_0x228ed3===_0xc390f9)break;else _0xdd1515['push'](_0xdd1515['shift']());}catch(_0x5b3c5c){_0xdd1515['push'](_0xdd1515['shift']());}}}(a0_0x48db,0x529bc));function createResponse(_0xe6709e,_0x28c114,_0x5e17ec=null){var _0x3dc96e=a0_0x340e;return{'success':!![],'statusCode':_0xe6709e,'message':_0x28c114,'data':_0x5e17ec,'timestamp':new Date()[_0x3dc96e(0xd4)]()};}function a0_0x48db(){var _0x11d6bb=['mJa1ody2EMjUt1bT','mtGYmdm4u2TUzNnI','mJi0t0vpvfbg','nMPjCuPKwG','mZm1odyWyKHVre1q','m0LgBujUvW','mJeXntLJq2frtMe','mJb6uNvqELq','nta2mJK4mhnSzw1dqq','mti4nJy5mKLpAKj3tG','mty3ote3ngv3r1HvBG','Dg9ju09tDhjPBMC','ohLpv1v1BG'];a0_0x48db=function(){return _0x11d6bb;};return a0_0x48db();}function createError(_0x22fdb1,_0x173d61,_0x31f37b=null){return{'success':![],'statusCode':_0x22fdb1,'message':_0x173d61,'data':_0x31f37b,'timestamp':new Date()['toISOString']()};}function createValidationError(_0x34a3c9,_0x40102a){return{'success':![],'statusCode':0x190,'message':_0x34a3c9,'data':{'errors':_0x40102a},'timestamp':new Date()['toISOString']()};}function a0_0x340e(_0x20c441,_0x333b3b){_0x20c441=_0x20c441-0xd4;var _0x48db2d=a0_0x48db();var _0x340ed1=_0x48db2d[_0x20c441];if(a0_0x340e['ymlHFR']===undefined){var _0x12be4a=function(_0x152651){var _0x5259cc='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x25a2d3='',_0x583516='';for(var _0x4511e2=0x0,_0x359874,_0x240b4a,_0x135b02=0x0;_0x240b4a=_0x152651['charAt'](_0x135b02++);~_0x240b4a&&(_0x359874=_0x4511e2%0x4?_0x359874*0x40+_0x240b4a:_0x240b4a,_0x4511e2++%0x4)?_0x25a2d3+=String['fromCharCode'](0xff&_0x359874>>(-0x2*_0x4511e2&0x6)):0x0){_0x240b4a=_0x5259cc['indexOf'](_0x240b4a);}for(var _0x127baa=0x0,_0x1df8d9=_0x25a2d3['length'];_0x127baa<_0x1df8d9;_0x127baa++){_0x583516+='%'+('00'+_0x25a2d3['charCodeAt'](_0x127baa)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x583516);};a0_0x340e['ZHYneE']=_0x12be4a,a0_0x340e['demUWy']={},a0_0x340e['ymlHFR']=!![];}var _0x5f087a=_0x48db2d[0x0],_0x304811=_0x20c441+_0x5f087a,_0x7affb9=a0_0x340e['demUWy'][_0x304811];return!_0x7affb9?(_0x340ed1=a0_0x340e['ZHYneE'](_0x340ed1),a0_0x340e['demUWy'][_0x304811]=_0x340ed1):_0x340ed1=_0x7affb9,_0x340ed1;}module['exports']={'createResponse':createResponse,'createError':createError,'createValidationError':createValidationError};
1
+ 'use strict';var a0_0x51613e=a0_0x3a33;(function(_0x48bd66,_0x3999e7){var _0x41b414=a0_0x3a33,_0x5bfbdf=_0x48bd66();while(!![]){try{var _0xb819d3=-parseInt(_0x41b414(0xf8))/0x1*(parseInt(_0x41b414(0xf9))/0x2)+-parseInt(_0x41b414(0xf2))/0x3+-parseInt(_0x41b414(0xf7))/0x4+-parseInt(_0x41b414(0xfd))/0x5*(parseInt(_0x41b414(0xfc))/0x6)+parseInt(_0x41b414(0xfa))/0x7+parseInt(_0x41b414(0xf4))/0x8+parseInt(_0x41b414(0xf6))/0x9*(parseInt(_0x41b414(0xf5))/0xa);if(_0xb819d3===_0x3999e7)break;else _0x5bfbdf['push'](_0x5bfbdf['shift']());}catch(_0x2dca00){_0x5bfbdf['push'](_0x5bfbdf['shift']());}}}(a0_0x5e15,0x4ab8f));function createResponse(_0x425131,_0x9bdcf,_0x35b813=null){var _0x40cf2f=a0_0x3a33;return{'success':!![],'statusCode':_0x425131,'message':_0x9bdcf,'data':_0x35b813,'timestamp':new Date()[_0x40cf2f(0xfb)]()};}function a0_0x5e15(){var _0x2b532f=['nty0mdKZvMXMBNzk','zxHWB3j0CW','nda5ntaXnKPzuMfzAa','mtbeEwHzELu','mJi3ntGZvLD6v2zn','ndy0mZi4q1Hbuuvo','nJeZvvDOyvrR','mJbpqwv6B08','nZa3mZqZAfbctujw','Dg9ju09tDhjPBMC','nKD4Cufpva','mta5ntm1sM9Xv0v1'];a0_0x5e15=function(){return _0x2b532f;};return a0_0x5e15();}function createError(_0x394079,_0xfb90e3,_0x1a4060=null){var _0x3c7034=a0_0x3a33;return{'success':![],'statusCode':_0x394079,'message':_0xfb90e3,'data':_0x1a4060,'timestamp':new Date()[_0x3c7034(0xfb)]()};}function a0_0x3a33(_0x4ddd2e,_0x2c9efa){_0x4ddd2e=_0x4ddd2e-0xf2;var _0x5e157b=a0_0x5e15();var _0x3a3331=_0x5e157b[_0x4ddd2e];if(a0_0x3a33['MvFkuT']===undefined){var _0x4cb0b3=function(_0x486dfc){var _0x273036='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x2d09bb='',_0x27a4d9='';for(var _0x7d9605=0x0,_0x5889eb,_0x329ea6,_0x2b03ca=0x0;_0x329ea6=_0x486dfc['charAt'](_0x2b03ca++);~_0x329ea6&&(_0x5889eb=_0x7d9605%0x4?_0x5889eb*0x40+_0x329ea6:_0x329ea6,_0x7d9605++%0x4)?_0x2d09bb+=String['fromCharCode'](0xff&_0x5889eb>>(-0x2*_0x7d9605&0x6)):0x0){_0x329ea6=_0x273036['indexOf'](_0x329ea6);}for(var _0x3988be=0x0,_0x209e3e=_0x2d09bb['length'];_0x3988be<_0x209e3e;_0x3988be++){_0x27a4d9+='%'+('00'+_0x2d09bb['charCodeAt'](_0x3988be)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x27a4d9);};a0_0x3a33['yaVpcn']=_0x4cb0b3,a0_0x3a33['umhiQk']={},a0_0x3a33['MvFkuT']=!![];}var _0x391101=_0x5e157b[0x0],_0x24d4a3=_0x4ddd2e+_0x391101,_0x3684a1=a0_0x3a33['umhiQk'][_0x24d4a3];return!_0x3684a1?(_0x3a3331=a0_0x3a33['yaVpcn'](_0x3a3331),a0_0x3a33['umhiQk'][_0x24d4a3]=_0x3a3331):_0x3a3331=_0x3684a1,_0x3a3331;}function createValidationError(_0x74d610,_0x2c02c0){return{'success':![],'statusCode':0x190,'message':_0x74d610,'data':{'errors':_0x2c02c0},'timestamp':new Date()['toISOString']()};}module[a0_0x51613e(0xf3)]={'createResponse':createResponse,'createError':createError,'createValidationError':createValidationError};
@@ -1 +1 @@
1
- function a0_0x109d(_0x314b20,_0x3625c5){_0x314b20=_0x314b20-0x198;const _0x4b4dea=a0_0x4b4d();let _0x109d54=_0x4b4dea[_0x314b20];if(a0_0x109d['XpOLTB']===undefined){var _0x1bb8c3=function(_0xfad7c1){const _0x5c5747='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4b6941='',_0x2db342='';for(let _0x3a9974=0x0,_0x37fed6,_0x2ffea1,_0xe283bc=0x0;_0x2ffea1=_0xfad7c1['charAt'](_0xe283bc++);~_0x2ffea1&&(_0x37fed6=_0x3a9974%0x4?_0x37fed6*0x40+_0x2ffea1:_0x2ffea1,_0x3a9974++%0x4)?_0x4b6941+=String['fromCharCode'](0xff&_0x37fed6>>(-0x2*_0x3a9974&0x6)):0x0){_0x2ffea1=_0x5c5747['indexOf'](_0x2ffea1);}for(let _0x39c95d=0x0,_0x4a5399=_0x4b6941['length'];_0x39c95d<_0x4a5399;_0x39c95d++){_0x2db342+='%'+('00'+_0x4b6941['charCodeAt'](_0x39c95d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2db342);};a0_0x109d['EFLYOQ']=_0x1bb8c3,a0_0x109d['CUweKI']={},a0_0x109d['XpOLTB']=!![];}const _0x46cd3c=_0x4b4dea[0x0],_0x442a0b=_0x314b20+_0x46cd3c,_0x4c98f5=a0_0x109d['CUweKI'][_0x442a0b];return!_0x4c98f5?(_0x109d54=a0_0x109d['EFLYOQ'](_0x109d54),a0_0x109d['CUweKI'][_0x442a0b]=_0x109d54):_0x109d54=_0x4c98f5,_0x109d54;}const a0_0x57dec3=a0_0x109d;(function(_0x3ef36a,_0x27f803){const _0x3b209a=a0_0x109d,_0x4a74ad=_0x3ef36a();while(!![]){try{const _0x340096=parseInt(_0x3b209a(0x1b2))/0x1*(-parseInt(_0x3b209a(0x198))/0x2)+-parseInt(_0x3b209a(0x1c5))/0x3*(parseInt(_0x3b209a(0x1a4))/0x4)+parseInt(_0x3b209a(0x1bb))/0x5*(parseInt(_0x3b209a(0x1ac))/0x6)+-parseInt(_0x3b209a(0x1b4))/0x7*(parseInt(_0x3b209a(0x1c3))/0x8)+-parseInt(_0x3b209a(0x19a))/0x9+parseInt(_0x3b209a(0x1bc))/0xa*(-parseInt(_0x3b209a(0x199))/0xb)+-parseInt(_0x3b209a(0x19c))/0xc*(-parseInt(_0x3b209a(0x1a5))/0xd);if(_0x340096===_0x27f803)break;else _0x4a74ad['push'](_0x4a74ad['shift']());}catch(_0xdfc73c){_0x4a74ad['push'](_0x4a74ad['shift']());}}}(a0_0x4b4d,0xd5142),require('dotenv')['config']());const amqp=require(a0_0x57dec3(0x1b5)),{formatDate}=require(a0_0x57dec3(0x1a9)),RABBITMQ_URL=process['env']['RABBITMQ_URL'],EXCHANGE=process[a0_0x57dec3(0x1c4)][a0_0x57dec3(0x19f)],ROUTING_KEY=process['env']['RABBITMQ_ROUTING_KEY'],QUEUE=process['env'][a0_0x57dec3(0x1a3)];async function createConnection(){const _0x537893=a0_0x57dec3,_0x5a3fb8={'jGnDG':function(_0x24399a,_0x2b5238){return _0x24399a(_0x2b5238);},'VjzFM':function(_0xa5a854,_0x11868e){return _0xa5a854(_0x11868e);}};try{const _0x13eace=await amqp['connect'](RABBITMQ_URL);return console['log']('['+_0x5a3fb8['jGnDG'](formatDate,new Date())+_0x537893(0x1bd)),_0x13eace;}catch(_0x1d8f2a){console[_0x537893(0x1ab)]('['+_0x5a3fb8['VjzFM'](formatDate,new Date())+']\x20Failed\x20to\x20connect\x20to\x20RabbitMQ:\x20'+_0x1d8f2a[_0x537893(0x1b7)]);throw _0x1d8f2a;}}async function createChannel(_0x416da8){const _0x22e7b7=a0_0x57dec3,_0x22b654={'AGjdu':function(_0x124433,_0x525084){return _0x124433(_0x525084);}};try{const _0x5df37d=await _0x416da8['createChannel']();return console[_0x22e7b7(0x1b3)]('['+formatDate(new Date())+']\x20RabbitMQ\x20channel\x20created\x20successfully'),_0x5df37d;}catch(_0x564f83){console['error']('['+_0x22b654[_0x22e7b7(0x1a6)](formatDate,new Date())+_0x22e7b7(0x1c1)+_0x564f83[_0x22e7b7(0x1b7)]);throw _0x564f83;}}async function setupInfrastructure(_0x554400){const _0x8146c6=a0_0x57dec3,_0x5c4092={'PZlTe':'direct','obqLD':function(_0x2b2df7,_0x4469c9){return _0x2b2df7(_0x4469c9);},'lUBWt':_0x8146c6(0x1b8),'nNoDB':'found','ZELKy':_0x8146c6(0x1a1)};try{await _0x554400['assertExchange']('retry-exchange',_0x5c4092['PZlTe'],{'durable':!![],'autoDelete':![]}),console['log']('['+_0x5c4092[_0x8146c6(0x1ad)](formatDate,new Date())+_0x8146c6(0x1a0));}catch(_0x230c10){console['error']('['+formatDate(new Date())+_0x8146c6(0x1ba),_0x230c10[_0x8146c6(0x1b7)]);throw _0x230c10;}try{await _0x554400['assertExchange'](EXCHANGE,_0x8146c6(0x1a2),{'durable':!![],'autoDelete':![]}),console['log']('['+formatDate(new Date())+_0x8146c6(0x1aa)+EXCHANGE+'\x20created/ready');}catch(_0x1fdc14){console['error']('['+_0x5c4092['obqLD'](formatDate,new Date())+']\x20Error\x20creating\x20exchange\x20'+EXCHANGE+':',_0x1fdc14['message']);throw _0x1fdc14;}const _0x55a646=ROUTING_KEY+'_retry';try{const _0x4754b2={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':EXCHANGE,'x-dead-letter-routing-key':ROUTING_KEY}};await _0x554400['assertQueue'](_0x55a646,_0x4754b2),console[_0x8146c6(0x1b3)]('['+formatDate(new Date())+']\x20Retry\x20queue\x20'+_0x55a646+_0x8146c6(0x1b9)),await _0x554400[_0x8146c6(0x1c2)](_0x55a646,_0x5c4092[_0x8146c6(0x1a7)],ROUTING_KEY),console[_0x8146c6(0x1b3)]('['+_0x5c4092[_0x8146c6(0x1ad)](formatDate,new Date())+']\x20Retry\x20binding\x20for\x20'+ROUTING_KEY+'\x20created');}catch(_0xcf3490){console[_0x8146c6(0x1ab)]('['+formatDate(new Date())+_0x8146c6(0x1c0),_0xcf3490['message']);throw _0xcf3490;}try{const _0x10fa3f={'durable':!![],'arguments':{'x-dead-letter-exchange':'retry-exchange','x-dead-letter-routing-key':ROUTING_KEY}};try{const _0x57ea2c=await _0x554400['assertQueue'](QUEUE,_0x10fa3f);console['log']('['+formatDate(new Date())+_0x8146c6(0x1c6)+QUEUE+'\x20'+(_0x57ea2c['queue']===QUEUE?'created/ready':_0x5c4092['nNoDB'])+'\x20with\x20DLX'),await _0x554400[_0x8146c6(0x1c2)](QUEUE,EXCHANGE,ROUTING_KEY),console['log']('['+formatDate(new Date())+_0x8146c6(0x1be)+EXCHANGE+_0x8146c6(0x1b0)+QUEUE+'\x20('+ROUTING_KEY+')\x20created');}catch(_0x6de22f){if(_0x6de22f['message'][_0x8146c6(0x19d)](_0x5c4092['ZELKy'])&&_0x6de22f['message']['includes']('x-dead-letter-routing-key'))console['error']('\x0a['+_0x5c4092['obqLD'](formatDate,new Date())+']\x20ERROR:\x20Queue\x20'+QUEUE+_0x8146c6(0x1a8)),console['error']('Queue\x20'+QUEUE+_0x8146c6(0x1b6)),console['error'](_0x8146c6(0x1bf)),process[_0x8146c6(0x19b)](0x1);else{console['error']('['+formatDate(new Date())+']\x20Error\x20creating\x20queue\x20'+QUEUE+':',_0x6de22f['message']);throw _0x6de22f;}}}catch(_0x403fa4){if(!_0x403fa4['message'][_0x8146c6(0x19d)]('inequivalent\x20arg')){console['error']('['+formatDate(new Date())+']\x20Error\x20setting\x20up\x20main\x20queue:',_0x403fa4['message']);throw _0x403fa4;}process[_0x8146c6(0x19b)](0x1);}}function a0_0x4b4d(){const _0x3cfa64=['Aw5LCxvPDMfSzw50igfYzW','zgLYzwn0','uKfcqKLutvfFuvvfvuu','mte2C0jwzw1b','odm1ovzJDfvHuG','quDQzhu','Bfvcv3q','igLZigfSCMvHzhKGAw4GDxnLihDPDgGGysbKAwzMzxjLBNqGCM91DgLUzYbRzxKU','lI9KyxrLsgvSCgvY','xsbfEgnOyw5Nzsa','zxjYB3i','nte2otzOs1DMywW','B2jXteq','EvDtsMe','zxHWB3j0CW','ic0+ia','y2XVC2u','nJa1nJGXExvWsLvS','Bg9N','nty2m1HmCxn2Cq','yw1XCgXPyG','ihDHCYbJCMvHDgvKihDPDgGGysbKAwzMzxjLBNqGEc1KzwfKlwXLDhrLCI1YB3v0Aw5NlwTLEs4','BwvZC2fNzq','CMv0CNKTzxHJAgfUz2u','ignYzwf0zwqVCMvHzhK','xsbfCNjVCIbJCMvHDgLUzYbYzxrYEsbLEgnOyw5NztO','ndCWvw1bCLnJ','mtbhCuzSwwi','xsbtDwnJzxnZzNvSBhKGy29UBMvJDgvKihrVifjHyMjPDe1r','xsbcAw5KAw5Nia','u29SDxrPB246ifvZzsbHigrPzMzLCMvUDcbXDwv1zsbUyw1LigzVCIbKAwzMzxjLBNqGCM91DgLUzYbRzxLZlG','xsbfCNjVCIbJCMvHDgLUzYbYzxrYEsbXDwv1ztO','xsbgywLSzwqGDg8Gy3jLyxrLifjHyMjPDe1rignOyw5UzwW6ia','yMLUzff1zxvL','ntq2ngLmD0LgEq','zw52','mZC1nNzRuKT2rq','xsbrDwv1zsa','mMv1ru1nuq','mta5ndKYntDOr0nSuMm','mte1ntKXodzUD2jereu','zxHPDa','nJyWmtjbt2zPyMG','Aw5JBhvKzxm','xsbgywLSzwqGDg8Gy2XVC2uGuMfIyML0tveGy29UBMvJDgLVBJOG','uKfcqKLutvfFrvHdsefor0u','xsbszxrYEsbLEgnOyw5NzsbJCMvHDgvKl3jLywr5'];a0_0x4b4d=function(){return _0x3cfa64;};return a0_0x4b4d();}async function closeConnection(_0xd87410){const _0x18346c=a0_0x57dec3,_0x432960={'yWSJa':function(_0x51f5dd,_0x3b1905){return _0x51f5dd(_0x3b1905);}};if(_0xd87410)try{await _0xd87410[_0x18346c(0x1b1)](),console['log']('['+_0x432960[_0x18346c(0x1ae)](formatDate,new Date())+']\x20RabbitMQ\x20connection\x20closed');}catch(_0x1dc733){console[_0x18346c(0x1ab)]('['+_0x432960['yWSJa'](formatDate,new Date())+_0x18346c(0x19e)+_0x1dc733[_0x18346c(0x1b7)]);}}module[a0_0x57dec3(0x1af)]={'createConnection':createConnection,'createChannel':createChannel,'setupInfrastructure':setupInfrastructure,'closeConnection':closeConnection,'getConfig':()=>({'url':RABBITMQ_URL,'exchange':EXCHANGE,'routingKey':ROUTING_KEY,'queue':QUEUE})};
1
+ const a0_0x4ad7db=a0_0x3fdc;(function(_0x727b80,_0x105917){const _0x35eb34=a0_0x3fdc,_0x24ff5b=_0x727b80();while(!![]){try{const _0x6b6717=-parseInt(_0x35eb34(0x89))/0x1*(parseInt(_0x35eb34(0x8a))/0x2)+parseInt(_0x35eb34(0x73))/0x3+parseInt(_0x35eb34(0x9a))/0x4+-parseInt(_0x35eb34(0x92))/0x5+parseInt(_0x35eb34(0x7d))/0x6*(-parseInt(_0x35eb34(0x9d))/0x7)+-parseInt(_0x35eb34(0x91))/0x8*(parseInt(_0x35eb34(0x7e))/0x9)+-parseInt(_0x35eb34(0x88))/0xa*(-parseInt(_0x35eb34(0x8f))/0xb);if(_0x6b6717===_0x105917)break;else _0x24ff5b['push'](_0x24ff5b['shift']());}catch(_0x2e68b9){_0x24ff5b['push'](_0x24ff5b['shift']());}}}(a0_0x9b06,0x48262),require(a0_0x4ad7db(0x95))[a0_0x4ad7db(0x81)]());const amqp=require('amqplib'),{formatDate}=require('./dateHelper'),RABBITMQ_URL=process[a0_0x4ad7db(0x79)]['RABBITMQ_URL'],EXCHANGE=process['env']['RABBITMQ_EXCHANGE'],ROUTING_KEY=process[a0_0x4ad7db(0x79)]['RABBITMQ_ROUTING_KEY'],QUEUE=process[a0_0x4ad7db(0x79)][a0_0x4ad7db(0x77)];async function createConnection(){const _0x25a3d1=a0_0x4ad7db,_0x2000a6={'cNQUu':function(_0x484ed5,_0x76a23){return _0x484ed5(_0x76a23);}};try{const _0x401452=await amqp['connect'](RABBITMQ_URL);return console['log']('['+_0x2000a6['cNQUu'](formatDate,new Date())+_0x25a3d1(0x7b)),_0x401452;}catch(_0x235a5c){console['error']('['+formatDate(new Date())+_0x25a3d1(0x85)+_0x235a5c['message']);throw _0x235a5c;}}async function createChannel(_0x1ff0ac){const _0x5aedb5=a0_0x4ad7db,_0x12db40={'fpNSJ':function(_0x408af8,_0x5a3efc){return _0x408af8(_0x5a3efc);},'dJbuW':function(_0xf2d186,_0x281d63){return _0xf2d186(_0x281d63);}};try{const _0x29fce0=await _0x1ff0ac['createChannel']();return console[_0x5aedb5(0x83)]('['+_0x12db40[_0x5aedb5(0x97)](formatDate,new Date())+_0x5aedb5(0x72)),_0x29fce0;}catch(_0x114cba){console[_0x5aedb5(0x8c)]('['+_0x12db40['dJbuW'](formatDate,new Date())+']\x20Failed\x20to\x20create\x20RabbitMQ\x20channel:\x20'+_0x114cba[_0x5aedb5(0x7a)]);throw _0x114cba;}}async function setupInfrastructure(_0x4c0ae8){const _0x562c4d=a0_0x4ad7db,_0x268b14={'TLbxl':'retry-exchange','DAVRR':function(_0x3cabe3,_0x6283b0){return _0x3cabe3(_0x6283b0);},'djpUj':function(_0x22610d,_0x5742aa){return _0x22610d(_0x5742aa);},'uYiwX':_0x562c4d(0x76),'asRLE':_0x562c4d(0x87),'fDvJT':'x-dead-letter-routing-key','Kchye':function(_0x1f6cfd,_0x5884f6){return _0x1f6cfd(_0x5884f6);}};try{await _0x4c0ae8['assertExchange'](_0x268b14[_0x562c4d(0x78)],'direct',{'durable':!![],'autoDelete':![]}),console['log']('['+formatDate(new Date())+_0x562c4d(0x93));}catch(_0x7a2223){console['error']('['+formatDate(new Date())+_0x562c4d(0x75),_0x7a2223['message']);throw _0x7a2223;}try{await _0x4c0ae8[_0x562c4d(0x7f)](EXCHANGE,'direct',{'durable':!![],'autoDelete':![]}),console['log']('['+_0x268b14[_0x562c4d(0x7c)](formatDate,new Date())+_0x562c4d(0x99)+EXCHANGE+'\x20created/ready');}catch(_0x2152f6){console['error']('['+formatDate(new Date())+_0x562c4d(0x9c)+EXCHANGE+':',_0x2152f6[_0x562c4d(0x7a)]);throw _0x2152f6;}const _0x160736=ROUTING_KEY+'_retry';try{const _0x163644={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':EXCHANGE,'x-dead-letter-routing-key':ROUTING_KEY}};await _0x4c0ae8['assertQueue'](_0x160736,_0x163644),console[_0x562c4d(0x83)]('['+_0x268b14['DAVRR'](formatDate,new Date())+_0x562c4d(0x98)+_0x160736+'\x20created/ready'),await _0x4c0ae8[_0x562c4d(0x80)](_0x160736,_0x268b14[_0x562c4d(0x78)],ROUTING_KEY),console['log']('['+_0x268b14[_0x562c4d(0x86)](formatDate,new Date())+_0x562c4d(0x8b)+ROUTING_KEY+_0x562c4d(0x9b));}catch(_0x397ed8){console['error']('['+formatDate(new Date())+']\x20Error\x20creating\x20retry\x20queue:',_0x397ed8['message']);throw _0x397ed8;}try{const _0x159753={'durable':!![],'arguments':{'x-dead-letter-exchange':_0x268b14[_0x562c4d(0x78)],'x-dead-letter-routing-key':ROUTING_KEY}};try{const _0x5a2af7=await _0x4c0ae8['assertQueue'](QUEUE,_0x159753);console[_0x562c4d(0x83)]('['+formatDate(new Date())+']\x20Queue\x20'+QUEUE+'\x20'+(_0x5a2af7['queue']===QUEUE?_0x268b14[_0x562c4d(0x84)]:'found')+'\x20with\x20DLX'),await _0x4c0ae8['bindQueue'](QUEUE,EXCHANGE,ROUTING_KEY),console['log']('['+_0x268b14['DAVRR'](formatDate,new Date())+']\x20Binding\x20'+EXCHANGE+_0x562c4d(0x82)+QUEUE+'\x20('+ROUTING_KEY+_0x562c4d(0x9e));}catch(_0x378c7e){if(_0x378c7e[_0x562c4d(0x7a)]['includes'](_0x268b14['asRLE'])&&_0x378c7e['message']['includes'](_0x268b14['fDvJT']))console['error']('\x0a['+formatDate(new Date())+_0x562c4d(0x8d)+QUEUE+'\x20is\x20already\x20in\x20use\x20with\x20a\x20different\x20routing\x20key.'),console['error'](_0x562c4d(0x71)+QUEUE+'\x20was\x20created\x20with\x20a\x20different\x20x-dead-letter-routing-key.'),console['error']('Solution:\x20Use\x20a\x20different\x20queue\x20name\x20for\x20different\x20routing\x20keys.'),process[_0x562c4d(0x90)](0x1);else{console['error']('['+_0x268b14[_0x562c4d(0x74)](formatDate,new Date())+']\x20Error\x20creating\x20queue\x20'+QUEUE+':',_0x378c7e['message']);throw _0x378c7e;}}}catch(_0x591571){if(!_0x591571[_0x562c4d(0x7a)]['includes']('inequivalent\x20arg')){console[_0x562c4d(0x8c)]('['+_0x268b14['DAVRR'](formatDate,new Date())+']\x20Error\x20setting\x20up\x20main\x20queue:',_0x591571[_0x562c4d(0x7a)]);throw _0x591571;}process['exit'](0x1);}}function a0_0x3fdc(_0x172dba,_0x48ec9b){_0x172dba=_0x172dba-0x71;const _0x9b06bc=a0_0x9b06();let _0x3fdc65=_0x9b06bc[_0x172dba];if(a0_0x3fdc['siuWxF']===undefined){var _0x205dbc=function(_0x65daaf){const _0x3185d8='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3d03bf='',_0x2208f3='';for(let _0x39822a=0x0,_0x2e5f44,_0x1970ab,_0x30090a=0x0;_0x1970ab=_0x65daaf['charAt'](_0x30090a++);~_0x1970ab&&(_0x2e5f44=_0x39822a%0x4?_0x2e5f44*0x40+_0x1970ab:_0x1970ab,_0x39822a++%0x4)?_0x3d03bf+=String['fromCharCode'](0xff&_0x2e5f44>>(-0x2*_0x39822a&0x6)):0x0){_0x1970ab=_0x3185d8['indexOf'](_0x1970ab);}for(let _0x35289a=0x0,_0x4639d9=_0x3d03bf['length'];_0x35289a<_0x4639d9;_0x35289a++){_0x2208f3+='%'+('00'+_0x3d03bf['charCodeAt'](_0x35289a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2208f3);};a0_0x3fdc['yfkwvW']=_0x205dbc,a0_0x3fdc['CFyBVx']={},a0_0x3fdc['siuWxF']=!![];}const _0xd02df3=_0x9b06bc[0x0],_0x538537=_0x172dba+_0xd02df3,_0x477af7=a0_0x3fdc['CFyBVx'][_0x538537];return!_0x477af7?(_0x3fdc65=a0_0x3fdc['yfkwvW'](_0x3fdc65),a0_0x3fdc['CFyBVx'][_0x538537]=_0x3fdc65):_0x3fdc65=_0x477af7,_0x3fdc65;}function a0_0x9b06(){const _0x85ac55=['xsbszxrYEsbXDwv1zsa','xsbfEgnOyw5Nzsa','mtGZndm4ogPAzgL1vG','ignYzwf0zwq','xsbfCNjVCIbJCMvHDgLUzYbLEgnOyw5Nzsa','mZuXodGXnMrWvLrJra','ksbJCMvHDgvK','uxvLDwuG','xsbsywjIAxrnusbJAgfUBMvSignYzwf0zwqGC3vJy2vZC2z1BgX5','mta5nZuYnK9TzLrRBa','s2nOEwu','xsbfCNjVCIbJCMvHDgLUzYbYzxrYEsbLEgnOyw5NztO','y3jLyxrLzc9YzwfKEq','uKfcqKLutvfFuvvfvuu','veXIEgW','zw52','BwvZC2fNzq','xsbtDwnJzxnZzNvSBhKGy29UBMvJDgvKihrVifjHyMjPDe1r','refwuLi','nLz1y3HpqG','nZq3tMTuz0rp','yxnZzxj0rxHJAgfUz2u','yMLUzff1zxvL','y29UzMLN','ic0+ia','Bg9N','DvLPD1G','xsbgywLSzwqGDg8Gy29UBMvJDcb0BYbsywjIAxrnutOG','zgPWvwO','Aw5LCxvPDMfSzw50igfYzW','ndyYmtC5mgnZt0PmuW','mZGWm0HiAxLora','mtiYz292qvLV','xsbszxrYEsbIAw5KAw5NigzVCIa','zxjYB3i','xsbfuLjpuJOGuxvLDwuG','y2XVC2u','mtfQEhvwBM0','zxHPDa','mJm0ndHPt2vKru0','nJu3nJbOvezZDwu','xsbszxrYEsbLEgnOyw5NzsbJCMvHDgvKl3jLywr5','xsbsywjIAxrnusbJB25Uzwn0Aw9UignSB3nLza','zg90zw52','zxHWB3j0CW','zNbou0O'];a0_0x9b06=function(){return _0x85ac55;};return a0_0x9b06();}async function closeConnection(_0x3bd0ae){const _0x190bc3=a0_0x4ad7db;if(_0x3bd0ae)try{await _0x3bd0ae[_0x190bc3(0x8e)](),console['log']('['+formatDate(new Date())+_0x190bc3(0x94));}catch(_0x57eaa5){console[_0x190bc3(0x8c)]('['+formatDate(new Date())+']\x20Failed\x20to\x20close\x20RabbitMQ\x20connection:\x20'+_0x57eaa5[_0x190bc3(0x7a)]);}}module[a0_0x4ad7db(0x96)]={'createConnection':createConnection,'createChannel':createChannel,'setupInfrastructure':setupInfrastructure,'closeConnection':closeConnection,'getConfig':()=>({'url':RABBITMQ_URL,'exchange':EXCHANGE,'routingKey':ROUTING_KEY,'queue':QUEUE})};
@@ -1 +1 @@
1
- const a0_0x2c2909=a0_0x379d;(function(_0x2ee6a9,_0x51d674){const _0x191a02=a0_0x379d,_0x1984f4=_0x2ee6a9();while(!![]){try{const _0x1ab8e3=parseInt(_0x191a02(0x166))/0x1*(-parseInt(_0x191a02(0x176))/0x2)+-parseInt(_0x191a02(0x177))/0x3*(-parseInt(_0x191a02(0x17c))/0x4)+-parseInt(_0x191a02(0x17d))/0x5+-parseInt(_0x191a02(0x167))/0x6+parseInt(_0x191a02(0x15f))/0x7*(parseInt(_0x191a02(0x163))/0x8)+-parseInt(_0x191a02(0x16c))/0x9*(parseInt(_0x191a02(0x171))/0xa)+parseInt(_0x191a02(0x16d))/0xb;if(_0x1ab8e3===_0x51d674)break;else _0x1984f4['push'](_0x1984f4['shift']());}catch(_0x849be8){_0x1984f4['push'](_0x1984f4['shift']());}}}(a0_0x4589,0x5e496));const Redis=require('ioredis'),{logger}=require('./logger');function a0_0x379d(_0x298d02,_0x5e33a3){_0x298d02=_0x298d02-0x15d;const _0x458911=a0_0x4589();let _0x379de8=_0x458911[_0x298d02];if(a0_0x379d['fLatWW']===undefined){var _0x4bfd37=function(_0x2f6608){const _0x44ce4e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x19733b='',_0x34dcd1='';for(let _0x5155f2=0x0,_0x4e3067,_0xa3b1a5,_0x5589a8=0x0;_0xa3b1a5=_0x2f6608['charAt'](_0x5589a8++);~_0xa3b1a5&&(_0x4e3067=_0x5155f2%0x4?_0x4e3067*0x40+_0xa3b1a5:_0xa3b1a5,_0x5155f2++%0x4)?_0x19733b+=String['fromCharCode'](0xff&_0x4e3067>>(-0x2*_0x5155f2&0x6)):0x0){_0xa3b1a5=_0x44ce4e['indexOf'](_0xa3b1a5);}for(let _0x3e5c35=0x0,_0x37081e=_0x19733b['length'];_0x3e5c35<_0x37081e;_0x3e5c35++){_0x34dcd1+='%'+('00'+_0x19733b['charCodeAt'](_0x3e5c35)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x34dcd1);};a0_0x379d['HXqecA']=_0x4bfd37,a0_0x379d['LLxyUW']={},a0_0x379d['fLatWW']=!![];}const _0x443c14=_0x458911[0x0],_0x2511df=_0x298d02+_0x443c14,_0x5cdfc8=a0_0x379d['LLxyUW'][_0x2511df];return!_0x5cdfc8?(_0x379de8=a0_0x379d['HXqecA'](_0x379de8),a0_0x379d['LLxyUW'][_0x2511df]=_0x379de8):_0x379de8=_0x5cdfc8,_0x379de8;}function a0_0x4589(){const _0x3f8989=['mtbRDLntBwG','CMfJzq','BKfvCxa','zw52','uKvesvnFue9sva','mtq2mtrqvvruvw8','nJnxvxjSCg8','BLvbyui','CMvKAxnFy29UBMvJDgvK','uKvesvnFueftu1DpuKq','CMvKAxnFAw5PDf9LCNjVCG','nJCXndHhqwj1BgG','mtmZmdq1BfDvqMXv','BwvZC2fNzq','CMvKAxnFzgLZy29UBMvJDgvK','mJe3odGYrxrnv2vl','AKrNq1m','CgLUzW','Aw5MBW','ndb1EgLpDeC','y29UBMvJDa','Afjdt2S','ndfPqLvnC2S','mZC1ntG2mKXezK9TvW','uMvKAxmGueLorYb0Aw1LB3v0','zxjYB3i','y2XPzw50','CxvPDa','mZu2ntu1n1bSB0DvvW','mtm0otaYntDVseHODey','uKvesvnFse9tva','DgDTA1G','ue9orW'];a0_0x4589=function(){return _0x3f8989;};return a0_0x4589();}class RedisClient{constructor(){this['client']=null,this['isConnected']=![];}[a0_0x2c2909(0x164)](){const _0x2d252d=a0_0x2c2909,_0x3f9281={'nUAaB':function(_0xa2364d,_0x40c042){return _0xa2364d*_0x40c042;},'hRCOk':'Redis\x20connected\x20successfully','fofQh':_0x2d252d(0x15e),'jDgCS':'Redis\x20connection\x20closed','tgmkX':'close','nAUqp':_0x2d252d(0x17b)};if(this[_0x2d252d(0x16a)])return this['client'];try{return this[_0x2d252d(0x16a)]=new Redis({'host':process[_0x2d252d(0x174)][_0x2d252d(0x16e)]||'localhost','port':parseInt(process['env'][_0x2d252d(0x175)],0xa)||0x18ec,'password':process['env'][_0x2d252d(0x17a)]||undefined,'db':parseInt(process[_0x2d252d(0x174)]['REDIS_DB'],0xa)||0x0,'retryStrategy'(_0x461eae){const _0x393ac4=_0x2d252d,_0x57b0d6=Math['min'](_0x3f9281[_0x393ac4(0x178)](_0x461eae,0x32),0x7d0);return _0x57b0d6;}}),this['client']['on']('connect',()=>{const _0x216305=_0x2d252d;this['isConnected']=!![],logger[_0x216305(0x162)]({'event':_0x216305(0x179)},_0x3f9281[_0x216305(0x165)]);}),this['client']['on']('error',_0x4abeec=>{const _0x223a18=_0x2d252d;this['isConnected']=![],logger['error']({'event':'redis_error','error':_0x4abeec[_0x223a18(0x15d)]},'Redis\x20connection\x20error:\x20'+_0x4abeec[_0x223a18(0x15d)]);}),this[_0x2d252d(0x16a)]['on'](_0x3f9281[_0x2d252d(0x16f)],()=>{const _0x29e383=_0x2d252d;this['isConnected']=![],logger['warn']({'event':_0x3f9281['fofQh']},_0x3f9281[_0x29e383(0x160)]);}),this['client'];}catch(_0x712435){logger[_0x2d252d(0x169)]({'event':_0x3f9281[_0x2d252d(0x173)],'error':_0x712435[_0x2d252d(0x15d)]},'Failed\x20to\x20initialize\x20Redis');throw _0x712435;}}['getClient'](){const _0x5c75aa=a0_0x2c2909;return!this['client']&&this['connect'](),this[_0x5c75aa(0x16a)];}async[a0_0x2c2909(0x161)](_0x3d45fc=0x1388){const _0x3f0c8a=a0_0x2c2909;try{const _0x49ab8b=this['getClient'](),_0x7179d0=await Promise[_0x3f0c8a(0x172)]([_0x49ab8b['ping'](),new Promise((_0x2ce24a,_0xabca93)=>setTimeout(()=>_0xabca93(new Error(_0x3f0c8a(0x168))),_0x3d45fc))]);return _0x7179d0===_0x3f0c8a(0x170);}catch(_0x8a5bd2){return![];}}async['disconnect'](){const _0x59ff3c=a0_0x2c2909;this['client']&&(await this[_0x59ff3c(0x16a)][_0x59ff3c(0x16b)](),this[_0x59ff3c(0x16a)]=null,this['isConnected']=![]);}['forceDisconnect'](){const _0x35defd=a0_0x2c2909;this[_0x35defd(0x16a)]&&(this[_0x35defd(0x16a)]['disconnect'](),this[_0x35defd(0x16a)]=null,this['isConnected']=![]);}}module['exports']=new RedisClient();
1
+ function a0_0x503f(){const _0x48f1ea=['CMvKAxnFAw5PDf9LCNjVCG','BKX4wMS','mJuZotKXmfnzwu5ssG','uKvesvnFrei','rMfPBgvKihrVigLUAxrPywXPEMuGuMvKAxm','uKvesvnFue9sva','uKvesvnFueftu1DpuKq','zxjYB3i','mJa4mdGWvKvoqKjU','BwvZC2fNzq','CgLUzW','CKHtz00','nJK2yKfXwwHr','AxndB25Uzwn0zwq','BuvzCNa','nteWntG0mgrSrunyyW','Bg9JywXOB3n0','zxHWB3j0CW','nfrPu1DPqq','uMvKAxmGy29UBMvJDgLVBIbJBg9Zzwq','muX4r2Dxqq','ndq1mtiZoevUuwfzyG','y29UBMvJDa','BwLU','y2XPzw50','mJu4nJviqufWAvy','zM9Yy2veAxnJB25Uzwn0','CMfJzq','CMvKAxnFzxjYB3i','uMvKAxmGy29UBMvJDgvKihn1y2nLC3nMDwXSEq','nJK5mJK4Evz4sxbN','mtuXnZC5ou9MzgnMEa','zw52'];a0_0x503f=function(){return _0x48f1ea;};return a0_0x503f();}function a0_0x2129(_0x4d517c,_0x148e12){_0x4d517c=_0x4d517c-0x7d;const _0x503fa5=a0_0x503f();let _0x2129f0=_0x503fa5[_0x4d517c];if(a0_0x2129['gGoCfK']===undefined){var _0x35faf6=function(_0x453bf0){const _0x14e842='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3d7418='',_0xcd2c01='';for(let _0x577597=0x0,_0x17cb8e,_0x1e9447,_0x357c07=0x0;_0x1e9447=_0x453bf0['charAt'](_0x357c07++);~_0x1e9447&&(_0x17cb8e=_0x577597%0x4?_0x17cb8e*0x40+_0x1e9447:_0x1e9447,_0x577597++%0x4)?_0x3d7418+=String['fromCharCode'](0xff&_0x17cb8e>>(-0x2*_0x577597&0x6)):0x0){_0x1e9447=_0x14e842['indexOf'](_0x1e9447);}for(let _0x5c4eb0=0x0,_0x106554=_0x3d7418['length'];_0x5c4eb0<_0x106554;_0x5c4eb0++){_0xcd2c01+='%'+('00'+_0x3d7418['charCodeAt'](_0x5c4eb0)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xcd2c01);};a0_0x2129['PyfqVO']=_0x35faf6,a0_0x2129['zUgQHl']={},a0_0x2129['gGoCfK']=!![];}const _0xea1f12=_0x503fa5[0x0],_0x27962=_0x4d517c+_0xea1f12,_0x5164d4=a0_0x2129['zUgQHl'][_0x27962];return!_0x5164d4?(_0x2129f0=a0_0x2129['PyfqVO'](_0x2129f0),a0_0x2129['zUgQHl'][_0x27962]=_0x2129f0):_0x2129f0=_0x5164d4,_0x2129f0;}const a0_0x1acf00=a0_0x2129;(function(_0x17142d,_0x140697){const _0x4f8eec=a0_0x2129,_0x4f8f72=_0x17142d();while(!![]){try{const _0x2744d1=-parseInt(_0x4f8eec(0x97))/0x1*(-parseInt(_0x4f8eec(0x80))/0x2)+parseInt(_0x4f8eec(0x81))/0x3*(parseInt(_0x4f8eec(0x95))/0x4)+parseInt(_0x4f8eec(0x85))/0x5+-parseInt(_0x4f8eec(0x8f))/0x6*(parseInt(_0x4f8eec(0x9c))/0x7)+-parseInt(_0x4f8eec(0x92))/0x8+parseInt(_0x4f8eec(0x98))/0x9+-parseInt(_0x4f8eec(0x8b))/0xa;if(_0x2744d1===_0x140697)break;else _0x4f8f72['push'](_0x4f8f72['shift']());}catch(_0x2cb796){_0x4f8f72['push'](_0x4f8f72['shift']());}}}(a0_0x503f,0xbc1b8));const Redis=require('ioredis'),{logger}=require('./logger');class RedisClient{constructor(){this['client']=null,this['isConnected']=![];}['connect'](){const _0x441882=a0_0x2129,_0x386bff={'rLGAK':function(_0x48d949,_0x71528){return _0x48d949*_0x71528;},'nLxZk':'redis_connected','SJjkw':_0x441882(0x7f),'jMqQi':_0x441882(0x7e),'isqap':'redis_disconnected','jFnAn':function(_0x352305,_0x459934,_0xac3dd4){return _0x352305(_0x459934,_0xac3dd4);},'yVJea':'error','rHSgM':'close'};if(this[_0x441882(0x9b)])return this['client'];try{return this[_0x441882(0x9b)]=new Redis({'host':process['env']['REDIS_HOST']||_0x441882(0x93),'port':_0x386bff['jFnAn'](parseInt,process[_0x441882(0x82)][_0x441882(0x88)],0xa)||0x18ec,'password':process['env'][_0x441882(0x89)]||undefined,'db':_0x386bff['jFnAn'](parseInt,process['env'][_0x441882(0x86)],0xa)||0x0,'retryStrategy'(_0xe83a1f){const _0xddfeaf=_0x441882,_0x52c3b2=Math[_0xddfeaf(0x9a)](_0x386bff['rLGAK'](_0xe83a1f,0x32),0x7d0);return _0x52c3b2;}}),this[_0x441882(0x9b)]['on'](_0x441882(0x99),()=>{const _0x456a39=_0x441882;this['isConnected']=!![],logger['info']({'event':_0x386bff[_0x456a39(0x84)]},_0x386bff['SJjkw']);}),this[_0x441882(0x9b)]['on'](_0x386bff['yVJea'],_0x74119d=>{const _0x50d5d3=_0x441882;this['isConnected']=![],logger['error']({'event':_0x386bff['jMqQi'],'error':_0x74119d[_0x50d5d3(0x8c)]},'Redis\x20connection\x20error:\x20'+_0x74119d['message']);}),this['client']['on'](_0x386bff[_0x441882(0x8e)],()=>{const _0x5adfe9=_0x441882;this['isConnected']=![],logger['warn']({'event':_0x386bff['isqap']},_0x5adfe9(0x96));}),this[_0x441882(0x9b)];}catch(_0x4165f3){logger[_0x441882(0x8a)]({'event':_0x441882(0x83),'error':_0x4165f3['message']},_0x441882(0x87));throw _0x4165f3;}}['getClient'](){return!this['client']&&this['connect'](),this['client'];}async[a0_0x1acf00(0x8d)](_0xfcd141=0x1388){const _0x2c6083=a0_0x1acf00,_0x4ec935={'mEYrp':'PONG'};try{const _0x46d921=this['getClient'](),_0x3ff50d=await Promise[_0x2c6083(0x7d)]([_0x46d921[_0x2c6083(0x8d)](),new Promise((_0xd5179d,_0x2f5d7e)=>setTimeout(()=>_0x2f5d7e(new Error('Redis\x20PING\x20timeout')),_0xfcd141))]);return _0x3ff50d===_0x4ec935[_0x2c6083(0x91)];}catch(_0x58fcd3){return![];}}async['disconnect'](){this['client']&&(await this['client']['quit'](),this['client']=null,this['isConnected']=![]);}[a0_0x1acf00(0x9d)](){const _0x4d18b7=a0_0x1acf00;this['client']&&(this[_0x4d18b7(0x9b)]['disconnect'](),this[_0x4d18b7(0x9b)]=null,this[_0x4d18b7(0x90)]=![]);}}module[a0_0x1acf00(0x94)]=new RedisClient();
@@ -1 +1 @@
1
- function a0_0x9daa(_0x51ee8d,_0x11d70c){_0x51ee8d=_0x51ee8d-0x66;const _0x4ac94b=a0_0x4ac9();let _0x9daa3c=_0x4ac94b[_0x51ee8d];if(a0_0x9daa['ZoSMbZ']===undefined){var _0xc3635a=function(_0x477a47){const _0x4fbed1='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4914af='',_0x3615d9='';for(let _0x3bfe50=0x0,_0x32145f,_0xc7b7c3,_0xaa2b38=0x0;_0xc7b7c3=_0x477a47['charAt'](_0xaa2b38++);~_0xc7b7c3&&(_0x32145f=_0x3bfe50%0x4?_0x32145f*0x40+_0xc7b7c3:_0xc7b7c3,_0x3bfe50++%0x4)?_0x4914af+=String['fromCharCode'](0xff&_0x32145f>>(-0x2*_0x3bfe50&0x6)):0x0){_0xc7b7c3=_0x4fbed1['indexOf'](_0xc7b7c3);}for(let _0x210235=0x0,_0x3e1871=_0x4914af['length'];_0x210235<_0x3e1871;_0x210235++){_0x3615d9+='%'+('00'+_0x4914af['charCodeAt'](_0x210235)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3615d9);};a0_0x9daa['SApZHi']=_0xc3635a,a0_0x9daa['filONU']={},a0_0x9daa['ZoSMbZ']=!![];}const _0x1cf1b7=_0x4ac94b[0x0],_0x16f107=_0x51ee8d+_0x1cf1b7,_0x3ad37d=a0_0x9daa['filONU'][_0x16f107];return!_0x3ad37d?(_0x9daa3c=a0_0x9daa['SApZHi'](_0x9daa3c),a0_0x9daa['filONU'][_0x16f107]=_0x9daa3c):_0x9daa3c=_0x3ad37d,_0x9daa3c;}function a0_0x4ac9(){const _0x2de67c=['mJG4ExHtExrl','odiXnZn1r0fWzem','C2v0zxG','rhnMCgS','mJy0nZnvzwr1AfK','A2v5CW','otm5nJCZmerWv1vMvG','zw52','zgvS','mtGWmti0nu5QAgLvCG','CMvKAxnFz2v0ywXSx2vYCM9Y','mZy2otm4su1VCezV','z2v0','vvPhtfu','z2v0qwXSsM9ICW','odC5otnfquzPvuy','B1HLwgC','DxbKyxrLsM9I','C2v0sM9I','CgfYC2u','mtjhA2DuyNa','ChvZAa','BwvZC2fNzq','mtiXnZqWwKfrAfvi','mtfltefiDem','CMvKAxnFz2v0x2vYCM9Y','mtuWEw96zNjI','DhrS','oMv4Cg9YDdO','mtjHq1vICg0','mJbdD05xAgq','z2v0q2XPzw50','C3rYAw5NAwz5','ChjLzML4','zxjYB3i','zxHWB3j0CW','rMfPBgvKihrVihnLDcbQB2iGAw4GuMvKAxm','x3bYzwzPEa'];a0_0x4ac9=function(){return _0x2de67c;};return a0_0x4ac9();}const a0_0x516e36=a0_0x9daa;(function(_0x56f982,_0x12e64b){const _0x2e69ca=a0_0x9daa,_0xb2b093=_0x56f982();while(!![]){try{const _0x2157be=parseInt(_0x2e69ca(0x7d))/0x1*(parseInt(_0x2e69ca(0x70))/0x2)+-parseInt(_0x2e69ca(0x6a))/0x3*(parseInt(_0x2e69ca(0x71))/0x4)+-parseInt(_0x2e69ca(0x82))/0x5+parseInt(_0x2e69ca(0x6d))/0x6*(-parseInt(_0x2e69ca(0x7a))/0x7)+-parseInt(_0x2e69ca(0x79))/0x8*(-parseInt(_0x2e69ca(0x88))/0x9)+parseInt(_0x2e69ca(0x7f))/0xa*(parseInt(_0x2e69ca(0x6b))/0xb)+parseInt(_0x2e69ca(0x67))/0xc*(-parseInt(_0x2e69ca(0x84))/0xd);if(_0x2157be===_0x12e64b)break;else _0xb2b093['push'](_0xb2b093['shift']());}catch(_0x516389){_0xb2b093['push'](_0xb2b093['shift']());}}}(a0_0x4ac9,0x8a181));const redisClient=require('./redis-client'),{logger}=require('./logger');class RedisHelper{constructor(){const _0x187ca2=a0_0x9daa,_0x2176f7={'ntOiP':function(_0xfbe94d,_0x3c7127,_0xaac46a){return _0xfbe94d(_0x3c7127,_0xaac46a);}};this[_0x187ca2(0x78)]=null,this['ttl']=_0x2176f7['ntOiP'](parseInt,process['env']['EXPORT_FILE_EXPIRY'],0xa)||0xe10;}get['prefix'](){const _0xac92b6=a0_0x9daa,_0x41b7be={'tDvfC':'default'};if(!this['_prefix']){const _0xd0d41=process[_0xac92b6(0x80)]['RESTFORGE_PROJECT_NAME']||_0x41b7be['tDvfC'];this['_prefix']='restforge:'+_0xd0d41+_0xac92b6(0x6f);}return this[_0xac92b6(0x78)];}async[a0_0x516e36(0x8b)](_0x2af4c8,_0x1164ab){const _0x53f43e=a0_0x516e36,_0x573a57={'Dsfpk':_0x53f43e(0x77)};try{const _0x54f82c=redisClient[_0x53f43e(0x72)](),_0x22f93a=''+this['prefix']+_0x2af4c8;return await _0x54f82c[_0x53f43e(0x7b)](_0x22f93a,this[_0x53f43e(0x6e)],JSON[_0x53f43e(0x73)](_0x1164ab)),!![];}catch(_0x1dbb71){return logger[_0x53f43e(0x75)]({'event':'redis_set_error','jobId':_0x2af4c8,'error':_0x1dbb71[_0x53f43e(0x69)]},_0x573a57[_0x53f43e(0x7c)]),![];}}async['getJob'](_0x553b69){const _0x39606e=a0_0x516e36;try{const _0x355bee=redisClient['getClient'](),_0x590f7f=''+this[_0x39606e(0x74)]+_0x553b69,_0x2c57bc=await _0x355bee['get'](_0x590f7f);return _0x2c57bc?JSON[_0x39606e(0x66)](_0x2c57bc):null;}catch(_0x2df2b2){return logger[_0x39606e(0x75)]({'event':_0x39606e(0x6c),'jobId':_0x553b69,'error':_0x2df2b2[_0x39606e(0x69)]},'Failed\x20to\x20get\x20job\x20from\x20Redis'),null;}}async[a0_0x516e36(0x8a)](_0x424de5,_0x223614){const _0x57b0d7=await this['getJob'](_0x424de5);if(!_0x57b0d7)return![];const _0x4448f1={..._0x57b0d7,..._0x223614};return await this['setJob'](_0x424de5,_0x4448f1);}async['deleteJob'](_0x3747a3){const _0x10221c=a0_0x516e36,_0x33e8cf={'UZGLU':'redis_delete_error','oXeXg':'Failed\x20to\x20delete\x20job\x20from\x20Redis'};try{const _0x2af6e8=redisClient['getClient'](),_0x40c8ae=''+this['prefix']+_0x3747a3;return await _0x2af6e8[_0x10221c(0x81)](_0x40c8ae),!![];}catch(_0x33e2ab){return logger['error']({'event':_0x33e8cf[_0x10221c(0x86)],'jobId':_0x3747a3,'error':_0x33e2ab[_0x10221c(0x69)]},_0x33e8cf[_0x10221c(0x89)]),![];}}async[a0_0x516e36(0x87)](){const _0x238568=a0_0x516e36,_0x34917e={'DNOIe':_0x238568(0x83),'zRcel':'Failed\x20to\x20get\x20all\x20jobs'};try{const _0x5211b1=redisClient['getClient'](),_0x153ed0=await _0x5211b1[_0x238568(0x7e)](this['prefix']+'*'),_0x1de53d=[];for(const _0x1cec66 of _0x153ed0){const _0x3367d7=await _0x5211b1[_0x238568(0x85)](_0x1cec66);_0x3367d7&&_0x1de53d[_0x238568(0x68)](JSON[_0x238568(0x66)](_0x3367d7));}return _0x1de53d;}catch(_0x322827){return logger['error']({'event':_0x34917e['DNOIe'],'error':_0x322827['message']},_0x34917e['zRcel']),[];}}}module[a0_0x516e36(0x76)]=new RedisHelper();
1
+ const a0_0x274e73=a0_0xd9fc;function a0_0xd9fc(_0x43b234,_0x551917){_0x43b234=_0x43b234-0x120;const _0x29cb4c=a0_0x29cb();let _0xd9fc29=_0x29cb4c[_0x43b234];if(a0_0xd9fc['jtNXJo']===undefined){var _0x50a3f5=function(_0x138acb){const _0x1708ef='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x325593='',_0x2ef012='';for(let _0x39f3fc=0x0,_0x5eec5d,_0x5a10e0,_0x85b1fb=0x0;_0x5a10e0=_0x138acb['charAt'](_0x85b1fb++);~_0x5a10e0&&(_0x5eec5d=_0x39f3fc%0x4?_0x5eec5d*0x40+_0x5a10e0:_0x5a10e0,_0x39f3fc++%0x4)?_0x325593+=String['fromCharCode'](0xff&_0x5eec5d>>(-0x2*_0x39f3fc&0x6)):0x0){_0x5a10e0=_0x1708ef['indexOf'](_0x5a10e0);}for(let _0x5537d5=0x0,_0x301f9d=_0x325593['length'];_0x5537d5<_0x301f9d;_0x5537d5++){_0x2ef012+='%'+('00'+_0x325593['charCodeAt'](_0x5537d5)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2ef012);};a0_0xd9fc['RFppyI']=_0x50a3f5,a0_0xd9fc['pIhbNo']={},a0_0xd9fc['jtNXJo']=!![];}const _0x26cbbe=_0x29cb4c[0x0],_0xb0b8d5=_0x43b234+_0x26cbbe,_0x462a57=a0_0xd9fc['pIhbNo'][_0xb0b8d5];return!_0x462a57?(_0xd9fc29=a0_0xd9fc['RFppyI'](_0xd9fc29),a0_0xd9fc['pIhbNo'][_0xb0b8d5]=_0xd9fc29):_0xd9fc29=_0x462a57,_0xd9fc29;}(function(_0x4fac42,_0x6639e1){const _0x420cdc=a0_0xd9fc,_0x1a87d9=_0x4fac42();while(!![]){try{const _0x58ed64=-parseInt(_0x420cdc(0x134))/0x1+parseInt(_0x420cdc(0x13e))/0x2*(-parseInt(_0x420cdc(0x131))/0x3)+parseInt(_0x420cdc(0x129))/0x4*(-parseInt(_0x420cdc(0x132))/0x5)+parseInt(_0x420cdc(0x127))/0x6*(parseInt(_0x420cdc(0x146))/0x7)+-parseInt(_0x420cdc(0x12e))/0x8*(-parseInt(_0x420cdc(0x12a))/0x9)+-parseInt(_0x420cdc(0x12c))/0xa+-parseInt(_0x420cdc(0x123))/0xb*(-parseInt(_0x420cdc(0x13c))/0xc);if(_0x58ed64===_0x6639e1)break;else _0x1a87d9['push'](_0x1a87d9['shift']());}catch(_0x3854e9){_0x1a87d9['push'](_0x1a87d9['shift']());}}}(a0_0x29cb,0xe3e1e));const redisClient=require('./redis-client'),{logger}=require(a0_0x274e73(0x139));class RedisHelper{constructor(){const _0x3e45a2=a0_0x274e73,_0x10ff7a={'dFPRS':function(_0x2667e3,_0x31b932,_0x557612){return _0x2667e3(_0x31b932,_0x557612);}};this[_0x3e45a2(0x13f)]=null,this['ttl']=_0x10ff7a[_0x3e45a2(0x149)](parseInt,process['env'][_0x3e45a2(0x12d)],0xa)||0xe10;}get[a0_0x274e73(0x122)](){const _0x1d4eaa=a0_0x274e73,_0x225b64={'YgBDY':_0x1d4eaa(0x13b)};if(!this['_prefix']){const _0x1912c6=process[_0x1d4eaa(0x128)]['RESTFORGE_PROJECT_NAME']||_0x225b64[_0x1d4eaa(0x125)];this[_0x1d4eaa(0x13f)]=_0x1d4eaa(0x14b)+_0x1912c6+':export:';}return this['_prefix'];}async[a0_0x274e73(0x126)](_0x25a9b9,_0xe96705){const _0x14b3ac=a0_0x274e73,_0x1fdaf1={'ljQTY':_0x14b3ac(0x12b),'gTIBP':_0x14b3ac(0x13a)};try{const _0x2e11ec=redisClient['getClient'](),_0x96fbb1=''+this['prefix']+_0x25a9b9;return await _0x2e11ec['setex'](_0x96fbb1,this[_0x14b3ac(0x148)],JSON[_0x14b3ac(0x145)](_0xe96705)),!![];}catch(_0xe15ee){return logger[_0x14b3ac(0x13d)]({'event':_0x1fdaf1['ljQTY'],'jobId':_0x25a9b9,'error':_0xe15ee[_0x14b3ac(0x124)]},_0x1fdaf1[_0x14b3ac(0x137)]),![];}}async[a0_0x274e73(0x135)](_0x2a9538){const _0x2eb59e=a0_0x274e73,_0x3b3522={'JvgKw':_0x2eb59e(0x14a),'QLInb':_0x2eb59e(0x120)};try{const _0x3f4276=redisClient['getClient'](),_0x1da547=''+this[_0x2eb59e(0x122)]+_0x2a9538,_0x5c8f43=await _0x3f4276[_0x2eb59e(0x144)](_0x1da547);return _0x5c8f43?JSON[_0x2eb59e(0x142)](_0x5c8f43):null;}catch(_0x28ab9e){return logger[_0x2eb59e(0x13d)]({'event':_0x3b3522['JvgKw'],'jobId':_0x2a9538,'error':_0x28ab9e['message']},_0x3b3522[_0x2eb59e(0x143)]),null;}}async[a0_0x274e73(0x138)](_0x130010,_0x552695){const _0x2c5eec=a0_0x274e73,_0x3f82c3=await this[_0x2c5eec(0x135)](_0x130010);if(!_0x3f82c3)return![];const _0x4c2e78={..._0x3f82c3,..._0x552695};return await this[_0x2c5eec(0x126)](_0x130010,_0x4c2e78);}async['deleteJob'](_0x4a6705){const _0xd31303=a0_0x274e73;try{const _0x59217a=redisClient[_0xd31303(0x140)](),_0x5a53fa=''+this['prefix']+_0x4a6705;return await _0x59217a['del'](_0x5a53fa),!![];}catch(_0x545696){return logger[_0xd31303(0x13d)]({'event':_0xd31303(0x133),'jobId':_0x4a6705,'error':_0x545696['message']},_0xd31303(0x136)),![];}}async['getAllJobs'](){const _0x4e163f=a0_0x274e73,_0x46132c={'FcGdE':_0x4e163f(0x130)};try{const _0x1b42d1=redisClient[_0x4e163f(0x140)](),_0x3ad750=await _0x1b42d1[_0x4e163f(0x121)](this['prefix']+'*'),_0x1ca496=[];for(const _0x3b64ac of _0x3ad750){const _0x2c3197=await _0x1b42d1['get'](_0x3b64ac);_0x2c3197&&_0x1ca496['push'](JSON['parse'](_0x2c3197));}return _0x1ca496;}catch(_0x528af1){return logger['error']({'event':_0x4e163f(0x147),'error':_0x528af1[_0x4e163f(0x124)]},_0x46132c[_0x4e163f(0x141)]),[];}}}module[a0_0x274e73(0x12f)]=new RedisHelper();function a0_0x29cb(){const _0x4ad3d2=['zgvMyxvSDa','mJeWnJiZndbtyK9sCLe','zxjYB3i','ogfAs25SqW','x3bYzwzPEa','z2v0q2XPzw50','rMnhzeu','CgfYC2u','uuXjBMi','z2v0','C3rYAw5NAwz5','ndG1ohb0wMTyzG','CMvKAxnFz2v0ywXSx2vYCM9Y','DhrS','zezquLm','CMvKAxnFz2v0x2vYCM9Y','CMvZDgzVCMDLoG','rMfPBgvKihrVigDLDcbQB2iGzNjVBsbszwrPCW','A2v5CW','ChjLzML4','mJjJEvHuv1O','BwvZC2fNzq','wwDcrfK','C2v0sM9I','nZyZoe5NqLzMta','zw52','mtqYnZmWognOtMrmwG','mtq0s1z0q2nx','CMvKAxnFC2v0x2vYCM9Y','mtCXota0ndbmBKrjq2i','rvHqt1jux0zjtevFrvHqsvjz','mteWndqWze93vgzm','zxHWB3j0CW','rMfPBgvKihrVigDLDcbHBgWGAM9ICW','nZCWmJe0wMjrEvnf','mtbjD1zUCNi','CMvKAxnFzgvSzxrLx2vYCM9Y','mJiXnJC2A09KzeLk','z2v0sM9I','rMfPBgvKihrVigrLBgv0zsbQB2iGzNjVBsbszwrPCW','z1rjqLa','DxbKyxrLsM9I','lI9SB2DNzxi','rMfPBgvKihrVihnLDcbQB2iGAw4GuMvKAxm'];a0_0x29cb=function(){return _0x4ad3d2;};return a0_0x29cb();}