@restforgejs/platform 4.3.5 → 4.3.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (174) hide show
  1. package/build-info.json +2 -2
  2. package/cli/consumer-deploy.js +1 -1
  3. package/cli/consumer.js +1 -1
  4. package/generators/cli/payload/migrate.js +96 -0
  5. package/generators/lib/migrate/backend-payload-migrator.js +221 -0
  6. package/generators/lib/migrate/field-type-resolver.js +319 -0
  7. package/generators/lib/migrate/label-generator.js +38 -0
  8. package/generators/lib/migrate/migrate-runner.js +187 -0
  9. package/generators/lib/migrate/naming.js +43 -0
  10. package/generators/lib/migrate/sql-parser.js +124 -0
  11. package/generators/lib/payload/payload-runner.js +106 -11
  12. package/generators/lib/templates/dashboard-catalog.js +1 -1
  13. package/generators/lib/templates/db-connection-env.js +1 -1
  14. package/generators/lib/templates/dbschema-catalog.js +1 -1
  15. package/generators/lib/templates/field-validation-catalog.js +1 -1
  16. package/generators/lib/templates/mysql-template.js +1 -1
  17. package/generators/lib/templates/oracle-template.js +1 -1
  18. package/generators/lib/templates/postgres-template.js +1 -1
  19. package/generators/lib/templates/query-declarative-catalog.js +1 -1
  20. package/generators/lib/templates/sqlite-template.js +1 -1
  21. package/integrity-manifest.json +18 -18
  22. package/package.json +1 -1
  23. package/scripts/verify-integrity.js +1 -1
  24. package/server.js +1 -1
  25. package/src/components/handlers/adjust_handler.js +1 -1
  26. package/src/components/handlers/audit_handler.js +1 -1
  27. package/src/components/handlers/delete_handler.js +1 -1
  28. package/src/components/handlers/export_handler.js +1 -1
  29. package/src/components/handlers/import_handler.js +1 -1
  30. package/src/components/handlers/insert_handler.js +1 -1
  31. package/src/components/handlers/update_handler.js +1 -1
  32. package/src/components/handlers/upload_handler.js +1 -1
  33. package/src/components/handlers/workflow_handler.js +1 -1
  34. package/src/components/integrations/webhook.js +1 -1
  35. package/src/consumers/baseConsumer.js +1 -1
  36. package/src/consumers/declarativeMapper.js +1 -1
  37. package/src/consumers/handlers/apiHandler.js +1 -1
  38. package/src/consumers/handlers/consoleHandler.js +1 -1
  39. package/src/consumers/handlers/databaseHandler.js +1 -1
  40. package/src/consumers/handlers/index.js +1 -1
  41. package/src/consumers/handlers/kafkaHandler.js +1 -1
  42. package/src/consumers/index.js +1 -1
  43. package/src/consumers/messageTransformer.js +1 -1
  44. package/src/consumers/validator.js +1 -1
  45. package/src/core/db/dialect/base-dialect.js +1 -1
  46. package/src/core/db/dialect/index.js +1 -1
  47. package/src/core/db/dialect/mysql-dialect.js +1 -1
  48. package/src/core/db/dialect/oracle-dialect.js +1 -1
  49. package/src/core/db/dialect/postgres-dialect.js +1 -1
  50. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  51. package/src/core/db/flatten-helper.js +1 -1
  52. package/src/core/db/query-builder-error.js +1 -1
  53. package/src/core/db/query-builder.js +1 -1
  54. package/src/core/db/relation-helper.js +1 -1
  55. package/src/core/handlers/delete_handler.js +1 -1
  56. package/src/core/handlers/insert_handler.js +1 -1
  57. package/src/core/handlers/update_handler.js +1 -1
  58. package/src/core/models/base-model.js +1 -1
  59. package/src/core/utils/cache-manager.js +1 -1
  60. package/src/core/utils/component-engine.js +1 -1
  61. package/src/core/utils/context-builder.js +1 -1
  62. package/src/core/utils/datetime-formatter.js +1 -1
  63. package/src/core/utils/datetime-parser.js +1 -1
  64. package/src/core/utils/db.js +1 -1
  65. package/src/core/utils/logger.js +1 -1
  66. package/src/core/utils/payload-loader.js +1 -1
  67. package/src/core/utils/security-checks.js +1 -1
  68. package/src/middleware/body-options.js +1 -1
  69. package/src/middleware/cors.js +1 -1
  70. package/src/middleware/idempotency.js +1 -1
  71. package/src/middleware/rate-limiter.js +1 -1
  72. package/src/middleware/request-logger.js +1 -1
  73. package/src/middleware/security-headers.js +1 -1
  74. package/src/models/base-model-mysql.js +1 -1
  75. package/src/models/base-model-oracle.js +1 -1
  76. package/src/models/base-model-sqlite.js +1 -1
  77. package/src/models/base-model.js +1 -1
  78. package/src/pro/caching/redis-client.js +1 -1
  79. package/src/pro/caching/redis-helper.js +1 -1
  80. package/src/pro/consumers/baseConsumer.js +1 -1
  81. package/src/pro/consumers/declarativeMapper.js +1 -1
  82. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  83. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  84. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  85. package/src/pro/consumers/handlers/index.js +1 -1
  86. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  87. package/src/pro/consumers/index.js +1 -1
  88. package/src/pro/consumers/messageTransformer.js +1 -1
  89. package/src/pro/consumers/validator.js +1 -1
  90. package/src/pro/database/base-model-mysql.js +1 -1
  91. package/src/pro/database/base-model-oracle.js +1 -1
  92. package/src/pro/database/base-model-sqlite.js +1 -1
  93. package/src/pro/database/db-mysql.js +1 -1
  94. package/src/pro/database/db-oracle.js +1 -1
  95. package/src/pro/database/db-sqlite.js +1 -1
  96. package/src/pro/excel/excel-generator.js +1 -1
  97. package/src/pro/excel/excel-parser.js +1 -1
  98. package/src/pro/excel/export-service.js +1 -1
  99. package/src/pro/excel/export_handler.js +1 -1
  100. package/src/pro/excel/import-service.js +1 -1
  101. package/src/pro/excel/import-validator.js +1 -1
  102. package/src/pro/excel/import_handler.js +1 -1
  103. package/src/pro/excel/upsert-builder.js +1 -1
  104. package/src/pro/idgen/idgen-routes.js +1 -1
  105. package/src/pro/integrations/lookup-resolver.js +1 -1
  106. package/src/pro/integrations/upload-handler-v2.js +1 -1
  107. package/src/pro/integrations/upload-handler.js +1 -1
  108. package/src/pro/integrations/webhook.js +1 -1
  109. package/src/pro/locking/lock-routes.js +1 -1
  110. package/src/pro/locking/resource-lock-manager.js +1 -1
  111. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  112. package/src/pro/messaging/kafkaService.js +1 -1
  113. package/src/pro/messaging/messagehubService.js +1 -1
  114. package/src/pro/messaging/rabbitmqService.js +1 -1
  115. package/src/pro/scheduler/job-manager.js +1 -1
  116. package/src/pro/scheduler/job-routes.js +1 -1
  117. package/src/pro/scheduler/job-validator.js +1 -1
  118. package/src/pro/storage/base-storage-provider.js +1 -1
  119. package/src/pro/storage/file-metadata-helper.js +1 -1
  120. package/src/pro/storage/index.js +1 -1
  121. package/src/pro/storage/local-storage-provider.js +1 -1
  122. package/src/pro/storage/s3-storage-provider.js +1 -1
  123. package/src/pro/storage/upload-cleanup-job.js +1 -1
  124. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  125. package/src/pro/storage/upload-pending-tracker.js +1 -1
  126. package/src/pro/websocket/broadcast-helper.js +1 -1
  127. package/src/pro/websocket/index.js +1 -1
  128. package/src/pro/websocket/livesync-server.js +1 -1
  129. package/src/pro/websocket/ws-broadcaster.js +1 -1
  130. package/src/services/export-service.js +1 -1
  131. package/src/services/import-service.js +1 -1
  132. package/src/services/kafkaConsumerService.js +1 -1
  133. package/src/services/kafkaService.js +1 -1
  134. package/src/services/messagehubService.js +1 -1
  135. package/src/services/rabbitmqService.js +1 -1
  136. package/src/utils/cache-invalidation-registry.js +1 -1
  137. package/src/utils/cache-manager.js +1 -1
  138. package/src/utils/component-engine.js +1 -1
  139. package/src/utils/config-extractor.js +1 -1
  140. package/src/utils/consumerLogger.js +1 -1
  141. package/src/utils/context-builder.js +1 -1
  142. package/src/utils/dashboard-helpers.js +1 -1
  143. package/src/utils/dateHelper.js +1 -1
  144. package/src/utils/datetime-formatter.js +1 -1
  145. package/src/utils/datetime-parser.js +1 -1
  146. package/src/utils/db-bootstrap.js +1 -1
  147. package/src/utils/db-mysql.js +1 -1
  148. package/src/utils/db-oracle.js +1 -1
  149. package/src/utils/db-sqlite.js +1 -1
  150. package/src/utils/db.js +1 -1
  151. package/src/utils/demo-generator.js +1 -1
  152. package/src/utils/excel-generator.js +1 -1
  153. package/src/utils/excel-parser.js +1 -1
  154. package/src/utils/file-watcher.js +1 -1
  155. package/src/utils/id-generator.js +1 -1
  156. package/src/utils/idempotency-manager.js +1 -1
  157. package/src/utils/import-validator.js +1 -1
  158. package/src/utils/license-client.js +1 -1
  159. package/src/utils/lock-manager.js +1 -1
  160. package/src/utils/logger.js +1 -1
  161. package/src/utils/lookup-resolver.js +1 -1
  162. package/src/utils/payload-loader.js +1 -1
  163. package/src/utils/processor-response.js +1 -1
  164. package/src/utils/rabbitmq.js +1 -1
  165. package/src/utils/redis-client.js +1 -1
  166. package/src/utils/redis-helper.js +1 -1
  167. package/src/utils/request-scope.js +1 -1
  168. package/src/utils/security-checks.js +1 -1
  169. package/src/utils/service-resolver.js +1 -1
  170. package/src/utils/shutdown-coordinator.js +1 -1
  171. package/src/utils/trusted-keys.js +1 -1
  172. package/src/utils/upload-handler.js +1 -1
  173. package/src/utils/upsert-builder.js +1 -1
  174. package/src/utils/workflow-hook-executor.js +1 -1
@@ -1 +1 @@
1
- function a0_0x1ac1(_0x545b8a,_0x24b475){_0x545b8a=_0x545b8a-0x156;const _0x20cddb=a0_0x20cd();let _0x1ac15c=_0x20cddb[_0x545b8a];if(a0_0x1ac1['CXVZjR']===undefined){var _0x333939=function(_0x24af8e){const _0x59724b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x565b2b='',_0xa1646c='';for(let _0x31e9b0=0x0,_0x46ed5a,_0x4ad9a9,_0x3d8477=0x0;_0x4ad9a9=_0x24af8e['charAt'](_0x3d8477++);~_0x4ad9a9&&(_0x46ed5a=_0x31e9b0%0x4?_0x46ed5a*0x40+_0x4ad9a9:_0x4ad9a9,_0x31e9b0++%0x4)?_0x565b2b+=String['fromCharCode'](0xff&_0x46ed5a>>(-0x2*_0x31e9b0&0x6)):0x0){_0x4ad9a9=_0x59724b['indexOf'](_0x4ad9a9);}for(let _0x4b8113=0x0,_0xeb6d67=_0x565b2b['length'];_0x4b8113<_0xeb6d67;_0x4b8113++){_0xa1646c+='%'+('00'+_0x565b2b['charCodeAt'](_0x4b8113)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xa1646c);};a0_0x1ac1['wnQpnr']=_0x333939,a0_0x1ac1['NAKMLh']={},a0_0x1ac1['CXVZjR']=!![];}const _0x115dc9=_0x20cddb[0x0],_0x2b4ed3=_0x545b8a+_0x115dc9,_0x25769e=a0_0x1ac1['NAKMLh'][_0x2b4ed3];return!_0x25769e?(_0x1ac15c=a0_0x1ac1['wnQpnr'](_0x1ac15c),a0_0x1ac1['NAKMLh'][_0x2b4ed3]=_0x1ac15c):_0x1ac15c=_0x25769e,_0x1ac15c;}const a0_0x43bb08=a0_0x1ac1;function a0_0x20cd(){const _0x1f00e6=['tg9JAYbuveWGzxH0zw5Kzwq','CMv0CNLdB3vUDa','zgvIDwC','uKvbrcbSB2nRigfJCxvPCMuGDgLTzw91Da','CMvHzf9SB2nRx2vYCM9Y','v1jjveuGBg9JAYbLCNjVCG','qLb2BwS','C2v0','D3jPDgvFBg9JA19LCNjVCG','x3DVCMTLCKLK','CMv0CNLezwXHEq','v1jjveuGBg9JAYbYzwXLyxnLza','BgfZDeLUzgv4t2y','zw52','te9ds19esvnuuKLcvvrfrf9uveW','D3jPDgvFBg9JA190Aw1LB3v0','mZK2nZu2wef2uhfs','x2LUAxrPywXPEMvK','Bg9JA19LEhrLBMrLza','CMv0CNK','yKnrEKi','C3bSAxq','x2rLzMf1BhruveW','AxnfBMfIBgvK','D3jPDgvFBg9JA19Hy3f1AxjLza','CMvHzf9SB2nRx2fJCxvPCMvK','te9ds19esvnuuKLcvvrfrf9srvrswv9eruXbwq','cIaGicaGicaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicaGicaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzgvSiIWGs0vzu1SXxsKkicaGicaGicbLBhnLcIaGicaGicaGicbYzxr1CM4GmaOGicaGicaGigvUzaOGicaGica','uKvbrcbSB2nRihjLBgvHC2vK','z2vUzxjHDgvmB2nRvMfSDwu','Chj4B2u','qvPwrxG','uKvbrcbSB2nRigvYCM9Y','CMvSzwfZzuXVy2S','nKLXq1nLrq','AwHABxe','zgvS','D29YA2vYswq','yNvPBgrmB2nRs2v5','ChjLzML4','Bg9JA19YzwXLyxnLx25VDf9VD25LCG','mtaXnJC2mhngA2fYCW','CMvHzf9SB2nRx3rPBwvVDxq','yLrlEMu','D3jPDgvFBg9JA193ywL0Aw5N','mJCYmdG2yLDMywrU','zw5HyMXLza','v1jjveuGBg9JAYbYzwPLy3rLzcaTihjLy29YzcbIDxn5','x2vUC3vYzuLUAxrPywXPEMvK','C2v0zxG','CMvQzwn0','v2fPDgLUzYbMB3iGv1jjveuGBg9JAYb0BYbYzwXLyxnL','z2v0','D29YA2vYlq','yKHjsKm','mtq3nJG0oejRtwjkra','tg9JAYbJB25MAwD1CMf0Aw9UigLUAxrPywXPEMvKic0Gzw5HyMXLzdOG','x2vUywjSzwq','Aw5MBW','DxDpCeC','D2fYBG','mteWndq1mMr2Au5JDa','C3rYyxrLz3K','EKjetfu','vMfyy3m','D3jPDgu','CgLK','BwvZC2fNzq','zxzHBa','nZq3nJa3BuTSr2jR','mJi3mJyZmgPwA3bWsq','Dhj1zq','te9ds19esvnuuKLcvvrfrf9tvfjbvevhwq','Aw5JCG','x3jLDhj5rgvSyxK','Aw5JBhvKzxm','v1jjveuGBg9JAYbHy3f1AxjLihrPBwvVDxq','zgvMyxvSDfruta','zgvJCG','zxjYB3i','CMvHzf9SB2nRx3jLBgvHC2vK','x3n0CMf0zwD5','DgXXyK8','z2v0q2XPzw50','Bg9JA19JB25MAwDFAw5PDa','ywXS'];a0_0x20cd=function(){return _0x1f00e6;};return a0_0x20cd();}(function(_0x1fb8ff,_0x88335b){const _0x1bfdcd=a0_0x1ac1,_0x1db6d1=_0x1fb8ff();while(!![]){try{const _0x3f5369=parseInt(_0x1bfdcd(0x187))/0x1+parseInt(_0x1bfdcd(0x16a))/0x2+-parseInt(_0x1bfdcd(0x183))/0x3+parseInt(_0x1bfdcd(0x197))/0x4+-parseInt(_0x1bfdcd(0x1a0))/0x5+parseInt(_0x1bfdcd(0x17c))/0x6*(parseInt(_0x1bfdcd(0x19f))/0x7)+parseInt(_0x1bfdcd(0x191))/0x8;if(_0x3f5369===_0x88335b)break;else _0x1db6d1['push'](_0x1db6d1['shift']());}catch(_0x9af779){_0x1db6d1['push'](_0x1db6d1['shift']());}}}(a0_0x20cd,0x3bb3a));const redisClient=require('./redis-client'),{logger}=require('./logger'),{v4:uuidv4}=require('uuid');class LockManager{constructor(){const _0x3a5bf1=a0_0x1ac1;this['_prefix']=null,this[_0x3a5bf1(0x193)]=null,this['_defaultTTL']=null,this['_retryCount']=null,this[_0x3a5bf1(0x1a4)]=null,this['_strategy']=null,this[_0x3a5bf1(0x163)]=null,this['_initialized']=![];}['_initConfig'](){const _0x48ba39=a0_0x1ac1,_0x5846d5={'ovsHm':function(_0x577157,_0x4d00d6){return _0x577157===_0x4d00d6;},'nMAzt':_0x48ba39(0x1a1),'prxoe':'rf:lock:','zFXew':function(_0x138809,_0x50ad8e,_0x4a7874){return _0x138809(_0x50ad8e,_0x4a7874);},'CVAKq':function(_0x107177,_0x20b5b6,_0x9b47d2){return _0x107177(_0x20b5b6,_0x9b47d2);}},_0x9e7726='4|0|8|1|5|2|7|3|6'[_0x48ba39(0x16f)]('|');let _0x8b725b=0x0;while(!![]){switch(_0x9e7726[_0x8b725b++]){case'0':this[_0x48ba39(0x193)]=_0x5846d5['ovsHm'](process['env']['LOCK_DISTRIBUTED_ENABLED'],_0x5846d5['nMAzt']);continue;case'1':this['_retryCount']=parseInt(process[_0x48ba39(0x167)]['LOCK_DISTRIBUTED_RETRY'],0xa)||0x3;continue;case'2':this[_0x48ba39(0x1ab)]=process['env'][_0x48ba39(0x1a2)]||_0x48ba39(0x16d);continue;case'3':this[_0x48ba39(0x16b)]=!![];continue;case'4':this['_prefix']=_0x5846d5[_0x48ba39(0x178)];continue;case'5':this[_0x48ba39(0x1a4)]=_0x5846d5['zFXew'](parseInt,process[_0x48ba39(0x167)][_0x48ba39(0x174)],0xa)||0x64;continue;case'6':logger[_0x48ba39(0x194)]({'event':_0x48ba39(0x158),'enabled':this[_0x48ba39(0x193)],'strategy':this[_0x48ba39(0x1ab)],'ttl':this[_0x48ba39(0x170)],'retryCount':this['_retryCount'],'retryDelay':this['_retryDelay'],'workerId':this[_0x48ba39(0x163)]},_0x48ba39(0x192)+this[_0x48ba39(0x193)]+',\x20strategy:\x20'+this[_0x48ba39(0x1ab)]);continue;case'7':this[_0x48ba39(0x163)]=_0x48ba39(0x18f)+process[_0x48ba39(0x19c)];continue;case'8':this[_0x48ba39(0x170)]=_0x5846d5['CVAKq'](parseInt,process['env'][_0x48ba39(0x168)],0xa)||0xa;continue;}break;}}['_ensureInitialized'](){const _0x2886f9=a0_0x1ac1;!this[_0x2886f9(0x16b)]&&this['_initConfig']();}get[a0_0x43bb08(0x181)](){const _0x1776e9=a0_0x43bb08;return this[_0x1776e9(0x18a)](),this['_prefix'];}get['enabled'](){const _0x5d33e9=a0_0x43bb08;return this['_ensureInitialized'](),this[_0x5d33e9(0x193)];}get['defaultTTL'](){return this['_ensureInitialized'](),this['_defaultTTL'];}get['retryCount'](){const _0x2faa72=a0_0x43bb08;return this[_0x2faa72(0x18a)](),this['_retryCount'];}get[a0_0x43bb08(0x164)](){return this['_ensureInitialized'](),this['_retryDelay'];}get[a0_0x43bb08(0x198)](){const _0x5bf01d=a0_0x43bb08;return this['_ensureInitialized'](),this[_0x5bf01d(0x1ab)];}get[a0_0x43bb08(0x17f)](){return this['_ensureInitialized'](),this['_workerId'];}[a0_0x43bb08(0x180)](_0x3d43c7){const {module:_0x2e3ca3,endpoint:_0x174873,lockType:_0x378512,recordId:_0x214359}=_0x3d43c7;if(_0x214359)return''+this['prefix']+_0x2e3ca3+':'+_0x174873+':'+_0x214359+':'+_0x378512;return''+this['prefix']+_0x2e3ca3+':'+_0x174873+':'+_0x378512;}['generateLockValue'](){const _0xc1d7d1=a0_0x43bb08,_0x51491d={'BPvmk':function(_0x246e1f){return _0x246e1f();}};return this['workerId']+':'+_0x51491d[_0xc1d7d1(0x160)](uuidv4)+':'+Date['now']();}async['acquireReadLock'](_0xa46391){const _0x579a39=a0_0x43bb08,_0x3dde29={'zBDLU':'read','qxRrf':function(_0x531e0a,_0x33ffa4){return _0x531e0a<_0x33ffa4;},'tlqbO':_0x579a39(0x173),'omfjd':_0x579a39(0x184)};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x49787d=this[_0x579a39(0x180)]({..._0xa46391,'lockType':'write'}),_0x191844=this[_0x579a39(0x180)]({..._0xa46391,'lockType':_0x3dde29[_0x579a39(0x199)]}),_0x46ba1b=this[_0x579a39(0x177)]();try{const _0x31d626=redisClient[_0x579a39(0x157)]();for(let _0x48af9b=0x0;_0x3dde29['qxRrf'](_0x48af9b,this['retryCount']);_0x48af9b++){const _0x557599=await _0x31d626['get'](_0x49787d);if(!_0x557599){await _0x31d626[_0x579a39(0x1a3)](_0x191844),await _0x31d626['expire'](_0x191844,this['defaultTTL']);const _0x471cc2=_0x191844+':'+_0x46ba1b;return await _0x31d626[_0x579a39(0x18b)](_0x471cc2,this['defaultTTL'],_0x46ba1b),logger['debug']({'event':_0x3dde29[_0x579a39(0x156)],'key':_0x191844,'value':_0x46ba1b},'READ\x20lock\x20acquired'),{'success':!![],'lockValue':_0x46ba1b,'lockKey':_0x471cc2};}logger[_0x579a39(0x15c)]({'event':'read_lock_waiting','writeKey':_0x49787d,'attempt':_0x48af9b},_0x579a39(0x18d)),await this['sleep'](this[_0x579a39(0x164)]*Math['pow'](0x2,_0x48af9b));}return logger[_0x579a39(0x196)]({'event':_0x3dde29['omfjd'],'key':_0x191844},_0x579a39(0x15d)),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x2c41e3){return logger[_0x579a39(0x1a9)]({'event':_0x579a39(0x15e),'error':_0x2c41e3[_0x579a39(0x19d)]},_0x579a39(0x17a)),{'success':![],'lockValue':null,'lockKey':null};}}async['acquireWriteLock'](_0x3f839a){const _0x167063=a0_0x43bb08,_0xd3d2bd={'ihZmq':function(_0x4f60f3,_0x3b1b02){return _0x4f60f3===_0x3b1b02;},'olxuX':_0x167063(0x172),'eoxdj':'WRITE\x20lock\x20acquired\x20(reject\x20mode)','myvdX':_0x167063(0x189),'QxqPt':'WRITE\x20lock\x20acquired\x20(retry\x20mode)','uwOpG':_0x167063(0x169),'bHIJC':_0x167063(0x1a6),'bmMxJ':_0x167063(0x15f)};if(!this[_0x167063(0x188)])return{'success':!![],'lockValue':null,'lockKey':null};const _0x5847f6=this[_0x167063(0x180)]({..._0x3f839a,'lockType':'write'}),_0x52ec16=this['buildLockKey']({..._0x3f839a,'lockType':'read'}),_0x1184cb=this[_0x167063(0x177)]();try{const _0x2ec6ce=redisClient['getClient']();if(_0xd3d2bd[_0x167063(0x17d)](this[_0x167063(0x198)],_0x167063(0x18c))){const _0x4e6af0=await _0x2ec6ce['set'](_0x5847f6,_0x1184cb,'EX',this['defaultTTL'],'NX');if(_0x4e6af0==='OK')return logger['debug']({'event':_0xd3d2bd['olxuX'],'key':_0x5847f6,'value':_0x1184cb,'strategy':'reject'},_0xd3d2bd['eoxdj']),{'success':!![],'lockValue':_0x1184cb,'lockKey':_0x5847f6};return logger[_0x167063(0x15c)]({'event':'write_lock_rejected','key':_0x5847f6},_0xd3d2bd['myvdX']),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x5ca7c6=0x0;_0x5ca7c6<this[_0x167063(0x15b)];_0x5ca7c6++){const [_0x597330,_0x3c7445]=await Promise[_0x167063(0x159)]([_0x2ec6ce[_0x167063(0x18e)](_0x52ec16),_0x2ec6ce[_0x167063(0x18e)](_0x5847f6)]);if(!_0x3c7445&&(!_0x597330||parseInt(_0x597330)===0x0)){const _0x1c1edc=await _0x2ec6ce[_0x167063(0x161)](_0x5847f6,_0x1184cb,'EX',this['defaultTTL'],'NX');if(_0x1c1edc==='OK')return logger[_0x167063(0x15c)]({'event':'write_lock_acquired','key':_0x5847f6,'value':_0x1184cb,'strategy':'retry'},_0xd3d2bd['QxqPt']),{'success':!![],'lockValue':_0x1184cb,'lockKey':_0x5847f6};}logger['debug']({'event':_0x167063(0x186),'writeKey':_0x5847f6,'readCount':_0x597330,'attempt':_0x5ca7c6},'Waiting\x20for\x20locks\x20to\x20release'),await this['sleep'](this['retryDelay']*Math['pow'](0x2,_0x5ca7c6));}return logger['warn']({'event':_0xd3d2bd[_0x167063(0x195)],'key':_0x5847f6},_0xd3d2bd[_0x167063(0x190)]),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x161d69){return logger[_0x167063(0x1a9)]({'event':_0x167063(0x162),'error':_0x161d69['message']},_0xd3d2bd['bmMxJ']),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x43bb08(0x17b)](_0x18c6d5,_0x47d184){const _0x460b94=a0_0x43bb08,_0x453909={'ukmvw':':read:','lNXJf':function(_0x2d3f33,_0xfe7dd0){return _0x2d3f33(_0xfe7dd0);},'GrJqI':_0x460b94(0x176),'jKjsR':function(_0x2fb853,_0x321a7d){return _0x2fb853===_0x321a7d;},'AZVEx':'write_lock_released','QDAsr':_0x460b94(0x165),'uPSrg':'lock_release_error'};if(!this[_0x460b94(0x188)]||!_0x18c6d5)return!![];try{const _0x4ee7e0=redisClient['getClient']();if(_0x18c6d5[_0x460b94(0x1a5)](_0x453909['ukmvw'])){await _0x4ee7e0[_0x460b94(0x17e)](_0x18c6d5);const _0x557622=_0x18c6d5['substring'](0x0,_0x18c6d5[_0x460b94(0x166)](':')),_0x473cb7=await _0x4ee7e0[_0x460b94(0x18e)](_0x557622);return _0x473cb7&&_0x453909['lNXJf'](parseInt,_0x473cb7)>0x0&&await _0x4ee7e0[_0x460b94(0x1a8)](_0x557622),logger['debug']({'event':_0x460b94(0x1aa),'key':_0x18c6d5},_0x453909['GrJqI']),!![];}const _0x812b87=_0x460b94(0x175),_0x9e3c06=await _0x4ee7e0[_0x460b94(0x19e)](_0x812b87,0x1,_0x18c6d5,_0x47d184);if(_0x453909['jKjsR'](_0x9e3c06,0x1))return logger[_0x460b94(0x15c)]({'event':_0x453909[_0x460b94(0x179)],'key':_0x18c6d5},_0x453909['QDAsr']),!![];return logger['warn']({'event':_0x460b94(0x182),'key':_0x18c6d5},'Cannot\x20release\x20lock\x20-\x20not\x20owner'),![];}catch(_0x56e685){return logger['error']({'event':_0x453909['uPSrg'],'key':_0x18c6d5,'error':_0x56e685[_0x460b94(0x19d)]},'Lock\x20release\x20error'),![];}}async['extendLock'](_0x125eb5,_0x56feca,_0x68d8=null){const _0x236672=a0_0x43bb08,_0x2c2095={'bCQzB':function(_0x3a0704,_0x5d47f6){return _0x3a0704===_0x5d47f6;},'VaXcs':_0x236672(0x16c),'bTKze':'Lock\x20extend\x20error'};if(!this[_0x236672(0x188)]||!_0x125eb5)return!![];try{const _0x5cf0ca=redisClient['getClient'](),_0x58fa9e='\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',_0x436413=await _0x5cf0ca['eval'](_0x58fa9e,0x1,_0x125eb5,_0x56feca,_0x68d8||this[_0x236672(0x1a7)]);if(_0x2c2095[_0x236672(0x16e)](_0x436413,0x1))return logger[_0x236672(0x15c)]({'event':_0x2c2095[_0x236672(0x19a)],'key':_0x125eb5,'ttl':_0x68d8||this[_0x236672(0x1a7)]},_0x236672(0x15a)),!![];return![];}catch(_0x1a642a){return logger[_0x236672(0x1a9)]({'event':'lock_extend_error','key':_0x125eb5,'error':_0x1a642a['message']},_0x2c2095[_0x236672(0x185)]),![];}}[a0_0x43bb08(0x171)](){const _0x3910b0=a0_0x43bb08;return this[_0x3910b0(0x188)];}['sleep'](_0x1fe4e8){return new Promise(_0x54a404=>setTimeout(_0x54a404,_0x1fe4e8));}async['getLockInfo'](_0x56a37b){const _0x20c421=a0_0x43bb08,_0x396924={'iaZHf':function(_0x2c368e,_0x112c29){return _0x2c368e(_0x112c29);}};if(!this[_0x20c421(0x188)])return{'enabled':![]};try{const _0x493034=redisClient[_0x20c421(0x157)](),_0x4e5fd8=this['buildLockKey']({..._0x56a37b,'lockType':_0x20c421(0x19b)}),_0x34d516=this['buildLockKey']({..._0x56a37b,'lockType':'read'}),[_0x1eb6de,_0x50e4e1]=await Promise[_0x20c421(0x159)]([_0x493034[_0x20c421(0x18e)](_0x4e5fd8),_0x493034['get'](_0x34d516)]);return{'enabled':!![],'writeLock':_0x1eb6de||null,'readCount':_0x396924['iaZHf'](parseInt,_0x50e4e1)||0x0,'writeKey':_0x4e5fd8,'readKey':_0x34d516};}catch(_0x111528){return{'enabled':!![],'error':_0x111528['message']};}}}module['exports']=new LockManager();
1
+ function a0_0x4fdb(){const _0x2fafc5=['vhnrz1a','Dhj1zq','x2vUC3vYzuLUAxrPywXPEMvK','nhW2Fdn8ohW3Fdf8mNW1Fda','zw52','Aw5JCG','BwvZC2fNzq','D2fYBG','x2rLzMf1BhruveW','AhvhAuu','D29YA2vYswq','lI9YzwrPCY1JBgLLBNq','CMv0CNK','offAvMPAAq','te9ds19esvnuuKLcvvrfrf9srvrswv9eruXbwq','Aw5JBhvKzxm','z2v0tg9JA0LUzM8','z2vUzxjHDgvmB2nRvMfSDwu','zgvMyxvSDfruta','zKPiu2O','DM5Xrgq','ywnXDwLYzvDYAxrLtg9JAW','mZzIChr6swW','CMvHzf9SB2nRx3DHAxrPBMC','x2LUAxrdB25MAwC','CMLvv2C','x3jLDhj5q291BNq','x3jLDhj5rgvSyxK','whrmvfm','ntG0mxvAyvrVAq','CMvHza','rfv1DNa','zgvJCG','CMv0CNLezwXHEq','ywXS','Bg9JA19YzwXLyxnLx25VDf9VD25LCG','Bg9JA19JB25MAwDFAw5PDa','mZuYmty3ovzVyvbYEa','D3jPDgvFBg9JA19YzwXLyxnLza','z2v0','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMvQzwn0ig1VzguP','v2fPDgLUzYbMB3iGv1jjveuGBg9JAYb0BYbYzwXLyxnL','mtmZmZaWrw9zvfjo','CMv0CNLdB3vUDa','oti0ndvLyKXjseq','yNvPBgrmB2nRs2v5','nKfeCNjXAW','CMvHzf9SB2nRx2fJCxvPCMvK','x3bYzwzPEa','C3bSAxq','BhPIC00','te9ds19esvnuuKLcvvrfrf9tvfjbvevhwq','z2v0q2XPzw50','m2P1ANDnBa','zw5HyMXLza','BM93','x3DVCMTLCKLK','CMvQzwn0','zxjYB3i','x2vUywjSzwq','tg9JAYbLEhrLBMqGzxjYB3i','cIaGicaGicaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicaGicaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzgvSiIWGs0vzu1SXxsKkicaGicaGicbLBhnLcIaGicaGicaGicbYzxr1CM4GmaOGicaGicaGigvUzaOGicaGica','x3n0CMf0zwD5','CMvHzf9SB2nRx2vYCM9Y','x2LUAxrPywXPEMvK','teXwDMO','mJDMy3b4Dwm','nJaXmtbWDxfQv1u','CMy6Bg9JAZO','Aw5MBW','tg9JAYbuveWGzxH0zw5Kzwq','CMvHzf9SB2nRx3jLBgvHC2vK','zgvS','C2XLzxa','Bg9JA19LEhrLBMrFzxjYB3i','D3jPDgu','rxjoEhC','wLHev1K','tg9JAYbJB25MAwD1CMf0Aw9UigLUAxrPywXPEMvKic0Gzw5HyMXLzdOG','wgPlteS','Cg93','mtq4nZaYnZfoALHfCgG','C2v0zxG','C2v0','uKvbrcbSB2nRigfJCxvPCMuGDgLTzw91Da','mZaXoduYngToAKPbBG','mZyWCKrstxrn','C3rYyxrLz3K','EhjgtK0','AeXyuvO','D2vywvO','zgvIDwC','oNjLywq6'];a0_0x4fdb=function(){return _0x2fafc5;};return a0_0x4fdb();}const a0_0x4fab55=a0_0x1af2;(function(_0xc59847,_0x330bf8){const _0x13dc3a=a0_0x1af2,_0xdd4028=_0xc59847();while(!![]){try{const _0x1d28c9=parseInt(_0x13dc3a(0x125))/0x1*(parseInt(_0x13dc3a(0x129))/0x2)+-parseInt(_0x13dc3a(0x130))/0x3*(parseInt(_0x13dc3a(0x150))/0x4)+parseInt(_0x13dc3a(0x127))/0x5*(parseInt(_0x13dc3a(0x111))/0x6)+parseInt(_0x13dc3a(0x120))/0x7*(-parseInt(_0x13dc3a(0x108))/0x8)+-parseInt(_0x13dc3a(0x13d))/0x9*(-parseInt(_0x13dc3a(0x13e))/0xa)+parseInt(_0x13dc3a(0x118))/0xb*(parseInt(_0x13dc3a(0x151))/0xc)+parseInt(_0x13dc3a(0x14c))/0xd;if(_0x1d28c9===_0x330bf8)break;else _0xdd4028['push'](_0xdd4028['shift']());}catch(_0x34f282){_0xdd4028['push'](_0xdd4028['shift']());}}}(a0_0x4fdb,0x69358));function a0_0x1af2(_0x5f505a,_0x2c73c9){_0x5f505a=_0x5f505a-0x103;const _0x4fdbeb=a0_0x4fdb();let _0x1af237=_0x4fdbeb[_0x5f505a];if(a0_0x1af2['NmnRhI']===undefined){var _0xde31e4=function(_0xfdc659){const _0x4a8376='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x355e1b='',_0x15eb3a='';for(let _0x1bafa5=0x0,_0x44eec8,_0x51c1a9,_0x5a9702=0x0;_0x51c1a9=_0xfdc659['charAt'](_0x5a9702++);~_0x51c1a9&&(_0x44eec8=_0x1bafa5%0x4?_0x44eec8*0x40+_0x51c1a9:_0x51c1a9,_0x1bafa5++%0x4)?_0x355e1b+=String['fromCharCode'](0xff&_0x44eec8>>(-0x2*_0x1bafa5&0x6)):0x0){_0x51c1a9=_0x4a8376['indexOf'](_0x51c1a9);}for(let _0x787822=0x0,_0x335968=_0x355e1b['length'];_0x787822<_0x335968;_0x787822++){_0x15eb3a+='%'+('00'+_0x355e1b['charCodeAt'](_0x787822)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x15eb3a);};a0_0x1af2['rLuNNM']=_0xde31e4,a0_0x1af2['rzxWmK']={},a0_0x1af2['NmnRhI']=!![];}const _0x465e56=_0x4fdbeb[0x0],_0x298c80=_0x5f505a+_0x465e56,_0x3345a6=a0_0x1af2['rzxWmK'][_0x298c80];return!_0x3345a6?(_0x1af237=a0_0x1af2['rLuNNM'](_0x1af237),a0_0x1af2['rzxWmK'][_0x298c80]=_0x1af237):_0x1af237=_0x3345a6,_0x1af237;}const redisClient=require(a0_0x4fab55(0x106)),{logger}=require('./logger'),{v4:uuidv4}=require('uuid');class LockManager{constructor(){const _0x515d1f=a0_0x4fab55;this['_prefix']=null,this[_0x515d1f(0x136)]=null,this['_defaultTTL']=null,this['_retryCount']=null,this[_0x515d1f(0x116)]=null,this[_0x515d1f(0x139)]=null,this['_workerId']=null,this['_initialized']=![];}[a0_0x4fab55(0x113)](){const _0x145212=a0_0x4fab55,_0xe083e1={'huGiE':function(_0xd19ef6,_0x1771d3){return _0xd19ef6===_0x1771d3;},'OYLpr':_0x145212(0x159),'hLXQZ':function(_0x5d032c,_0x39dff4,_0xfb6d50){return _0x5d032c(_0x39dff4,_0xfb6d50);}},_0x44865c=_0x145212(0x15b)[_0x145212(0x12c)]('|');let _0x18f55e=0x0;while(!![]){switch(_0x44865c[_0x18f55e++]){case'0':logger[_0x145212(0x140)]({'event':_0x145212(0x11f),'enabled':this['_enabled'],'strategy':this['_strategy'],'ttl':this[_0x145212(0x103)],'retryCount':this[_0x145212(0x115)],'retryDelay':this[_0x145212(0x116)],'workerId':this[_0x145212(0x133)]},_0x145212(0x149)+this['_enabled']+',\x20strategy:\x20'+this['_strategy']);continue;case'1':this['_strategy']=process['env'][_0x145212(0x12e)]||_0x145212(0x107);continue;case'2':this[_0x145212(0x133)]='worker-'+process['pid'];continue;case'3':this[_0x145212(0x103)]=parseInt(process['env']['LOCK_DISTRIBUTED_TTL'],0xa)||0xa;continue;case'4':this[_0x145212(0x12b)]=_0x145212(0x13f);continue;case'5':this[_0x145212(0x13b)]=!![];continue;case'6':this[_0x145212(0x136)]=_0xe083e1[_0x145212(0x104)](process[_0x145212(0x15c)]['LOCK_DISTRIBUTED_ENABLED'],_0xe083e1['OYLpr']);continue;case'7':this[_0x145212(0x116)]=parseInt(process['env'][_0x145212(0x109)],0xa)||0x64;continue;case'8':this[_0x145212(0x115)]=_0xe083e1[_0x145212(0x154)](parseInt,process['env']['LOCK_DISTRIBUTED_RETRY'],0xa)||0x3;continue;}break;}}[a0_0x4fab55(0x15a)](){!this['_initialized']&&this['_initConfig']();}get['prefix'](){return this['_ensureInitialized'](),this['_prefix'];}get['enabled'](){const _0x122beb=a0_0x4fab55;return this[_0x122beb(0x15a)](),this['_enabled'];}get[a0_0x4fab55(0x10d)](){return this['_ensureInitialized'](),this['_defaultTTL'];}get['retryCount'](){return this['_ensureInitialized'](),this['_retryCount'];}get['retryDelay'](){const _0x2f3ef0=a0_0x4fab55;return this[_0x2f3ef0(0x15a)](),this['_retryDelay'];}get[a0_0x4fab55(0x152)](){return this['_ensureInitialized'](),this['_strategy'];}get[a0_0x4fab55(0x105)](){const _0x5e4f5a=a0_0x4fab55;return this['_ensureInitialized'](),this[_0x5e4f5a(0x133)];}[a0_0x4fab55(0x128)](_0x4a7711){const {module:_0x4ae385,endpoint:_0x5b42cd,lockType:_0x3c5059,recordId:_0x27a75f}=_0x4a7711;if(_0x27a75f)return''+this['prefix']+_0x4ae385+':'+_0x5b42cd+':'+_0x27a75f+':'+_0x3c5059;return''+this['prefix']+_0x4ae385+':'+_0x5b42cd+':'+_0x3c5059;}[a0_0x4fab55(0x10c)](){const _0x1e84c9=a0_0x4fab55;return this[_0x1e84c9(0x105)]+':'+uuidv4()+':'+Date[_0x1e84c9(0x132)]();}async['acquireReadLock'](_0x1cf182){const _0x586277=a0_0x4fab55,_0x14706f={'BukLu':_0x586277(0x146),'XjKLK':'read','xrFNM':_0x586277(0x112),'CyzII':function(_0x2301d6,_0xad55de){return _0x2301d6*_0xad55de;},'vnqDd':_0x586277(0x13a)};if(!this[_0x586277(0x131)])return{'success':!![],'lockValue':null,'lockKey':null};const _0x4ad285=this['buildLockKey']({..._0x1cf182,'lockType':_0x14706f['BukLu']}),_0x31492b=this['buildLockKey']({..._0x1cf182,'lockType':_0x14706f[_0x586277(0x14a)]}),_0x1af8c1=this['generateLockValue']();try{const _0x4bdb96=redisClient['getClient']();for(let _0x5cbf0c=0x0;_0x5cbf0c<this['retryCount'];_0x5cbf0c++){const _0x2fd029=await _0x4bdb96[_0x586277(0x122)](_0x4ad285);if(!_0x2fd029){await _0x4bdb96[_0x586277(0x15d)](_0x31492b),await _0x4bdb96['expire'](_0x31492b,this[_0x586277(0x10d)]);const _0x34cf2c=_0x31492b+':'+_0x1af8c1;return await _0x4bdb96[_0x586277(0x14d)](_0x34cf2c,this['defaultTTL'],_0x1af8c1),logger[_0x586277(0x156)]({'event':_0x586277(0x12a),'key':_0x31492b,'value':_0x1af8c1},'READ\x20lock\x20acquired'),{'success':!![],'lockValue':_0x1af8c1,'lockKey':_0x34cf2c};}logger[_0x586277(0x156)]({'event':_0x14706f[_0x586277(0x153)],'writeKey':_0x4ad285,'attempt':_0x5cbf0c},_0x586277(0x124)),await this[_0x586277(0x144)](_0x14706f['CyzII'](this[_0x586277(0x11c)],Math[_0x586277(0x14b)](0x2,_0x5cbf0c)));}return logger[_0x586277(0x15f)]({'event':'read_lock_timeout','key':_0x31492b},_0x586277(0x14f)),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x15c6c4){return logger['error']({'event':_0x14706f[_0x586277(0x10f)],'error':_0x15c6c4['message']},'READ\x20lock\x20error'),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x4fab55(0x110)](_0x5cbd40){const _0x36d467=a0_0x4fab55,_0x2962e3={'riUWg':'read','weXYZ':function(_0x35b56d,_0x7329d3){return _0x35b56d===_0x7329d3;},'tNglP':_0x36d467(0x134),'TsQgP':'write_lock_acquired','mnTYp':_0x36d467(0x123),'ErNxw':'write_lock_rejected','Tddlr':function(_0x22843d,_0x33d2fd){return _0x22843d<_0x33d2fd;},'lzbsM':function(_0x2c8695,_0x4fd4a3){return _0x2c8695(_0x4fd4a3);},'DUuvp':_0x36d467(0x107),'FsFeA':'WRITE\x20lock\x20acquired\x20(retry\x20mode)','gpSbV':'Waiting\x20for\x20locks\x20to\x20release','fJHSj':'write_lock_timeout','ccEIs':'WRITE\x20lock\x20acquire\x20timeout','EnNwI':'write_lock_error'};if(!this[_0x36d467(0x131)])return{'success':!![],'lockValue':null,'lockKey':null};const _0x444698=this['buildLockKey']({..._0x5cbd40,'lockType':'write'}),_0x26bfa4=this[_0x36d467(0x128)]({..._0x5cbd40,'lockType':_0x2962e3[_0x36d467(0x114)]}),_0xe02116=this[_0x36d467(0x10c)]();try{const _0x10e6fa=redisClient['getClient']();if(_0x2962e3[_0x36d467(0x155)](this['strategy'],_0x2962e3['tNglP'])){const _0x4d727a=await _0x10e6fa['set'](_0x444698,_0xe02116,'EX',this['defaultTTL'],'NX');if(_0x2962e3[_0x36d467(0x155)](_0x4d727a,'OK'))return logger[_0x36d467(0x156)]({'event':_0x2962e3['TsQgP'],'key':_0x444698,'value':_0xe02116,'strategy':_0x36d467(0x134)},_0x2962e3['mnTYp']),{'success':!![],'lockValue':_0xe02116,'lockKey':_0x444698};return logger[_0x36d467(0x156)]({'event':_0x2962e3[_0x36d467(0x147)],'key':_0x444698},'WRITE\x20lock\x20rejected\x20-\x20record\x20busy'),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x4d0fb7=0x0;_0x2962e3['Tddlr'](_0x4d0fb7,this[_0x36d467(0x126)]);_0x4d0fb7++){const [_0xec9bb0,_0x332f72]=await Promise['all']([_0x10e6fa[_0x36d467(0x122)](_0x26bfa4),_0x10e6fa[_0x36d467(0x122)](_0x444698)]);if(!_0x332f72&&(!_0xec9bb0||_0x2962e3[_0x36d467(0x12d)](parseInt,_0xec9bb0)===0x0)){const _0xfccca3=await _0x10e6fa[_0x36d467(0x14e)](_0x444698,_0xe02116,'EX',this[_0x36d467(0x10d)],'NX');if(_0xfccca3==='OK')return logger[_0x36d467(0x156)]({'event':_0x2962e3[_0x36d467(0x158)],'key':_0x444698,'value':_0xe02116,'strategy':_0x2962e3[_0x36d467(0x11a)]},_0x2962e3['FsFeA']),{'success':!![],'lockValue':_0xe02116,'lockKey':_0x444698};}logger['debug']({'event':'write_lock_waiting','writeKey':_0x444698,'readCount':_0xec9bb0,'attempt':_0x4d0fb7},_0x2962e3['gpSbV']),await this[_0x36d467(0x144)](this[_0x36d467(0x11c)]*Math['pow'](0x2,_0x4d0fb7));}return logger['warn']({'event':_0x2962e3[_0x36d467(0x10e)],'key':_0x444698},_0x2962e3['ccEIs']),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x4f3b6d){return logger['error']({'event':_0x2962e3['EnNwI'],'error':_0x4f3b6d[_0x36d467(0x15e)]},'WRITE\x20lock\x20error'),{'success':![],'lockValue':null,'lockKey':null};}}async['releaseLock'](_0x446b68,_0x1078d2){const _0xc5febf=a0_0x4fab55,_0x5d7877={'XtLTS':function(_0x2013df,_0x1fa79c){return _0x2013df>_0x1fa79c;},'LLVvj':_0xc5febf(0x142),'dtIss':'READ\x20lock\x20released','WXCHm':function(_0x417b50,_0x28d33c){return _0x417b50===_0x28d33c;},'JVFff':_0xc5febf(0x121),'ZXDWY':_0xc5febf(0x11e),'QtUkp':'lock_release_error'};if(!this[_0xc5febf(0x131)]||!_0x446b68)return!![];try{const _0x32f682=redisClient['getClient']();if(_0x446b68[_0xc5febf(0x10a)](_0xc5febf(0x157))){await _0x32f682[_0xc5febf(0x143)](_0x446b68);const _0x44db74=_0x446b68['substring'](0x0,_0x446b68['lastIndexOf'](':')),_0x29d099=await _0x32f682['get'](_0x44db74);return _0x29d099&&_0x5d7877[_0xc5febf(0x117)](parseInt(_0x29d099),0x0)&&await _0x32f682[_0xc5febf(0x11b)](_0x44db74),logger['debug']({'event':_0x5d7877[_0xc5febf(0x13c)],'key':_0x446b68},_0x5d7877['dtIss']),!![];}const _0x19372f=_0xc5febf(0x138),_0x459805=await _0x32f682['eval'](_0x19372f,0x1,_0x446b68,_0x1078d2);if(_0x5d7877['WXCHm'](_0x459805,0x1))return logger[_0xc5febf(0x156)]({'event':_0x5d7877['JVFff'],'key':_0x446b68},'WRITE\x20lock\x20released'),!![];return logger[_0xc5febf(0x15f)]({'event':_0x5d7877[_0xc5febf(0x148)],'key':_0x446b68},'Cannot\x20release\x20lock\x20-\x20not\x20owner'),![];}catch(_0x22eeae){return logger[_0xc5febf(0x135)]({'event':_0x5d7877['QtUkp'],'key':_0x446b68,'error':_0x22eeae['message']},'Lock\x20release\x20error'),![];}}async['extendLock'](_0x3d1686,_0x56c02a,_0xeedaa1=null){const _0x200d9b=a0_0x4fab55,_0x34aaae={'Foqcc':function(_0x536f5d,_0x813dd5){return _0x536f5d===_0x813dd5;},'vktuI':_0x200d9b(0x145)};if(!this[_0x200d9b(0x131)]||!_0x3d1686)return!![];try{const _0x3c3498=redisClient[_0x200d9b(0x12f)](),_0x481dca='\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',_0x4a9181=await _0x3c3498['eval'](_0x481dca,0x1,_0x3d1686,_0x56c02a,_0xeedaa1||this['defaultTTL']);if(_0x34aaae['Foqcc'](_0x4a9181,0x1))return logger['debug']({'event':'lock_extended','key':_0x3d1686,'ttl':_0xeedaa1||this[_0x200d9b(0x10d)]},_0x200d9b(0x141)),!![];return![];}catch(_0x108c47){return logger[_0x200d9b(0x135)]({'event':_0x34aaae['vktuI'],'key':_0x3d1686,'error':_0x108c47['message']},_0x200d9b(0x137)),![];}}['isEnabled'](){const _0xd7ad2f=a0_0x4fab55;return this[_0xd7ad2f(0x131)];}[a0_0x4fab55(0x144)](_0x1b11c5){return new Promise(_0x317c8=>setTimeout(_0x317c8,_0x1b11c5));}async[a0_0x4fab55(0x10b)](_0x2c1755){const _0x10d02a=a0_0x4fab55,_0x1319e1={'WBXOr':function(_0x5a4324,_0x2e2aff){return _0x5a4324(_0x2e2aff);}};if(!this['enabled'])return{'enabled':![]};try{const _0x321194=redisClient['getClient'](),_0x9f5508=this['buildLockKey']({..._0x2c1755,'lockType':_0x10d02a(0x146)}),_0x435bf4=this[_0x10d02a(0x128)]({..._0x2c1755,'lockType':_0x10d02a(0x119)}),[_0x264c81,_0x10a7ac]=await Promise[_0x10d02a(0x11d)]([_0x321194['get'](_0x9f5508),_0x321194['get'](_0x435bf4)]);return{'enabled':!![],'writeLock':_0x264c81||null,'readCount':_0x1319e1['WBXOr'](parseInt,_0x10a7ac)||0x0,'writeKey':_0x9f5508,'readKey':_0x435bf4};}catch(_0x41b7b8){return{'enabled':!![],'error':_0x41b7b8[_0x10d02a(0x15e)]};}}}module['exports']=new LockManager();
@@ -1 +1 @@
1
- const a0_0x5e5d56=a0_0x32ed;(function(_0x17a3db,_0x1211cb){const _0x32fa36=a0_0x32ed,_0x4d1f69=_0x17a3db();while(!![]){try{const _0x2d51f9=-parseInt(_0x32fa36(0x255))/0x1*(parseInt(_0x32fa36(0x292))/0x2)+-parseInt(_0x32fa36(0x23d))/0x3*(-parseInt(_0x32fa36(0x225))/0x4)+parseInt(_0x32fa36(0x249))/0x5*(-parseInt(_0x32fa36(0x220))/0x6)+parseInt(_0x32fa36(0x25f))/0x7+-parseInt(_0x32fa36(0x213))/0x8+parseInt(_0x32fa36(0x264))/0x9+-parseInt(_0x32fa36(0x1e5))/0xa*(-parseInt(_0x32fa36(0x205))/0xb);if(_0x2d51f9===_0x1211cb)break;else _0x4d1f69['push'](_0x4d1f69['shift']());}catch(_0x5dad91){_0x4d1f69['push'](_0x4d1f69['shift']());}}}(a0_0xad6a,0x575f1));const pino=require('pino'),fs=require('fs'),path=require('path');let logToFile=![],logDir='./logs',serviceName='restforge',sqlLogEnabled=![],sqlLogLevel='debug',sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':'SYS:HH:MM:ss','ignore':'pid,hostname,service,version,env,event,module,port,config,apiKeyEnabled,path,workingDir,isPkg,isNodeScript,file,email,type,cors,logging,apiKey,count,endpoint,route','singleLine':![],'levelFirst':!![],'messageFormat':a0_0x5e5d56(0x23e),'customColors':'info:blue,warn:yellow,error:red,debug:gray','hideObject':!![]},isDevelopment=process[a0_0x5e5d56(0x25a)][a0_0x5e5d56(0x217)]!==a0_0x5e5d56(0x201),logLevel=process['env'][a0_0x5e5d56(0x297)]||a0_0x5e5d56(0x266);let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':a0_0x5e5d56(0x260),'options':prettyPrintOptions}:undefined,'base':{'service':'restforge','version':process[a0_0x5e5d56(0x25a)][a0_0x5e5d56(0x23b)]||a0_0x5e5d56(0x229),'env':process[a0_0x5e5d56(0x25a)][a0_0x5e5d56(0x217)]||a0_0x5e5d56(0x278)},'timestamp':pino[a0_0x5e5d56(0x222)][a0_0x5e5d56(0x29a)],'redact':{'paths':['req.headers.authorization',a0_0x5e5d56(0x27b),'password',a0_0x5e5d56(0x299),a0_0x5e5d56(0x22b),'DB_PASSWORD',a0_0x5e5d56(0x23c)],'censor':a0_0x5e5d56(0x29e)},'serializers':{'req':_0x40d98e=>({'id':_0x40d98e['id'],'method':_0x40d98e[a0_0x5e5d56(0x24a)],'url':_0x40d98e[a0_0x5e5d56(0x28c)],'path':_0x40d98e[a0_0x5e5d56(0x21a)],'remoteAddress':_0x40d98e['ip']||_0x40d98e[a0_0x5e5d56(0x251)]?.['remoteAddress']}),'res':_0x3bc6b1=>({'statusCode':_0x3bc6b1['statusCode'],'headers':_0x3bc6b1[a0_0x5e5d56(0x296)]?.()}),'err':pino['stdSerializers']['err']}});function initFileLogging(){const _0x4e0e4c=a0_0x5e5d56,_0x1a8181={'NEoqi':function(_0x10d3ae,_0x324069){return _0x10d3ae===_0x324069;},'ZdZIB':_0x4e0e4c(0x208),'GPQzU':function(_0x292a9e,_0x5347d1){return _0x292a9e!==_0x5347d1;},'giWox':function(_0xa6d6cf,_0x2fc14c){return _0xa6d6cf(_0x2fc14c);},'QTstF':_0x4e0e4c(0x207),'JqTIX':'file_logging_enabled','EHUVI':_0x4e0e4c(0x253),'dIvJH':function(_0x5d5b61,_0x291a7b,_0x346298){return _0x5d5b61(_0x291a7b,_0x346298);},'VGvHY':_0x4e0e4c(0x266)};if(fileLoggingInitialized)return;logToFile=_0x1a8181['NEoqi'](process[_0x4e0e4c(0x25a)][_0x4e0e4c(0x21c)],'true');const _0x52742c=process['env']['RESTFORGE_PROJECT_NAME']||'default';logDir=process['env'][_0x4e0e4c(0x227)]||_0x4e0e4c(0x214)+_0x52742c,serviceName=process[_0x4e0e4c(0x25a)][_0x4e0e4c(0x236)]||_0x4e0e4c(0x28e),sqlLogEnabled=process['env']['SQL_LOG_ENABLED']===_0x1a8181[_0x4e0e4c(0x22a)],sqlLogLevel=process[_0x4e0e4c(0x25a)]['SQL_LOG_LEVEL']||'debug',sqlLogParams=_0x1a8181[_0x4e0e4c(0x20a)](process[_0x4e0e4c(0x25a)][_0x4e0e4c(0x248)],_0x4e0e4c(0x223)),sqlLogSlowThreshold=_0x1a8181[_0x4e0e4c(0x1f7)](parseInt,process['env']['SQL_LOG_SLOW_THRESHOLD'])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x73788d=path['resolve'](process['cwd'](),logDir);try{!fs[_0x4e0e4c(0x22e)](_0x73788d)&&fs[_0x4e0e4c(0x2a0)](_0x73788d,{'recursive':!![]});}catch(_0x3fd2d2){console[_0x4e0e4c(0x280)](_0x4e0e4c(0x203)+_0x73788d+':',_0x3fd2d2['message']),fileLoggingInitialized=!![];return;}const _0x246d56=path['join'](_0x73788d,_0x4e0e4c(0x253)),_0x81a63d=path[_0x4e0e4c(0x265)](_0x73788d,_0x1a8181['QTstF']);try{appLogStream=fs['createWriteStream'](_0x246d56,{'flags':'a'}),errorLogStream=fs['createWriteStream'](_0x81a63d,{'flags':'a'}),fileLoggingInitialized=!![];const _0x9021fa={'event':_0x1a8181[_0x4e0e4c(0x263)],'logDir':_0x73788d,'files':[_0x1a8181['EHUVI'],_0x4e0e4c(0x207)]},_0x80a8ab=_0x4e0e4c(0x29c)+_0x73788d;logger[_0x4e0e4c(0x266)](_0x9021fa,_0x80a8ab),_0x1a8181['dIvJH'](writeToFileLog,{..._0x9021fa,'level':_0x1a8181['VGvHY'],'msg':_0x80a8ab,'time':new Date()[_0x4e0e4c(0x2a5)]()},_0x1a8181[_0x4e0e4c(0x28f)]);}catch(_0x37d1e9){console[_0x4e0e4c(0x280)]('Failed\x20to\x20create\x20log\x20streams:',_0x37d1e9[_0x4e0e4c(0x20b)]),fileLoggingInitialized=!![];}}function writeToFileLog(_0x519366,_0x5a3c23){const _0x518fa7=a0_0x5e5d56,_0x3d50f4={'kKwDd':function(_0x2c4578,_0x181f7b){return _0x2c4578||_0x181f7b;},'AaXzI':function(_0x1ee700,_0x36ab23){return _0x1ee700===_0x36ab23;}};if(_0x3d50f4['kKwDd'](!logToFile,!appLogStream))return;const _0x2582d6={'service':serviceName,..._0x519366},_0x1c15c5=JSON['stringify'](_0x2582d6)+'\x0a';appLogStream['write'](_0x1c15c5),(_0x5a3c23===_0x518fa7(0x280)||_0x3d50f4['AaXzI'](_0x5a3c23,_0x518fa7(0x1f0)))&&(errorLogStream&&errorLogStream[_0x518fa7(0x204)](_0x1c15c5));}function a0_0x32ed(_0x44dd1c,_0x1e9a47){_0x44dd1c=_0x44dd1c-0x1e4;const _0xad6a97=a0_0xad6a();let _0x32ed44=_0xad6a97[_0x44dd1c];if(a0_0x32ed['INZCMB']===undefined){var _0x51d8fb=function(_0x324319){const _0x490446='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3287e8='',_0x145d4='';for(let _0x50423f=0x0,_0x534381,_0x74971a,_0x540b8a=0x0;_0x74971a=_0x324319['charAt'](_0x540b8a++);~_0x74971a&&(_0x534381=_0x50423f%0x4?_0x534381*0x40+_0x74971a:_0x74971a,_0x50423f++%0x4)?_0x3287e8+=String['fromCharCode'](0xff&_0x534381>>(-0x2*_0x50423f&0x6)):0x0){_0x74971a=_0x490446['indexOf'](_0x74971a);}for(let _0x324951=0x0,_0x57d58a=_0x3287e8['length'];_0x324951<_0x57d58a;_0x324951++){_0x145d4+='%'+('00'+_0x3287e8['charCodeAt'](_0x324951)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x145d4);};a0_0x32ed['YMasLx']=_0x51d8fb,a0_0x32ed['pKGhff']={},a0_0x32ed['INZCMB']=!![];}const _0x17ac5f=_0xad6a97[0x0],_0x50a93c=_0x44dd1c+_0x17ac5f,_0x5e26ff=a0_0x32ed['pKGhff'][_0x50a93c];return!_0x5e26ff?(_0x32ed44=a0_0x32ed['YMasLx'](_0x32ed44),a0_0x32ed['pKGhff'][_0x50a93c]=_0x32ed44):_0x32ed44=_0x5e26ff,_0x32ed44;}const createRequestLogger=(_0x5f1493={})=>{const _0x7aedda=a0_0x5e5d56;return logger[_0x7aedda(0x231)](_0x5f1493);},logServerStart=_0x2a8c3a=>{const _0x198366=a0_0x5e5d56,_0x2bc9df={'ynjcb':'RESTFORGE\x20RUNTIME\x20SERVER','EtcaZ':function(_0x4f95aa,_0x3e1c9a){return _0x4f95aa/_0x3e1c9a;},'dTcfy':'Node.js','iAKxe':'Default','hxiNF':'ACTIVE','pZtDp':_0x198366(0x1fb),'qdEWd':'info'},_0x405476=_0x2bc9df[_0x198366(0x25b)],_0x4fe21f=Math[_0x198366(0x216)](0x0,0x37-_0x405476['length']),_0x50b76b=Math['floor'](_0x2bc9df[_0x198366(0x24d)](_0x4fe21f,0x2)),_0xd3b5e6=_0x4fe21f-_0x50b76b,_0x2a00ed='║'+'\x20'['repeat'](_0x50b76b)+_0x405476+'\x20'['repeat'](_0xd3b5e6)+'║',_0x16b209=_0x198366(0x288)+_0x2a00ed+_0x198366(0x281)+(_0x2a8c3a['environment']||_0x2bc9df[_0x198366(0x26e)])['padEnd'](0x26)+'\x20║\x0a║\x20\x20Project\x20\x20\x20\x20\x20:\x20'+(_0x2a8c3a['project']||'N/A')['padEnd'](0x26)+'\x20║\x0a║\x20\x20Port\x20\x20\x20\x20\x20\x20\x20\x20:\x20'+String(_0x2a8c3a[_0x198366(0x243)]||0xbb8)[_0x198366(0x295)](0x26)+_0x198366(0x1ef)+(_0x2a8c3a[_0x198366(0x1fd)]||_0x2bc9df[_0x198366(0x24c)])[_0x198366(0x295)](0x26)+'\x20║\x0a║\x20\x20API\x20Key\x20\x20\x20\x20\x20:\x20'+(_0x2a8c3a['apiKey']?_0x2bc9df['hxiNF']:_0x198366(0x298))[_0x198366(0x295)](0x26)+'\x20║\x0a╚═══════════════════════════════════════════════════════╝';console[_0x198366(0x24b)](_0x16b209);const _0x1061ed={'event':_0x2bc9df[_0x198366(0x245)],'project':_0x2a8c3a[_0x198366(0x25c)],'port':_0x2a8c3a['port'],'config':_0x2a8c3a[_0x198366(0x1fd)],'apiKeyEnabled':!!_0x2a8c3a[_0x198366(0x22b)]};logger['info'](_0x1061ed),writeToFileLog({..._0x1061ed,'level':_0x198366(0x266),'msg':_0x198366(0x26d)+_0x2a8c3a[_0x198366(0x25c)]+_0x198366(0x21d)+_0x2a8c3a[_0x198366(0x243)],'time':new Date()[_0x198366(0x2a5)]()},_0x2bc9df[_0x198366(0x27a)]);},logServerReady=_0x210d25=>{const _0x23799c=a0_0x5e5d56,_0x66c7f4={'PpQBZ':_0x23799c(0x25e),'qcUIX':function(_0xac9745,_0x3208d5,_0xead3ec){return _0xac9745(_0x3208d5,_0xead3ec);},'vwAMz':'info'},_0x4d2f38={'event':_0x66c7f4['PpQBZ'],'port':_0x210d25['port'],'module':_0x210d25[_0x23799c(0x206)],'healthCheck':_0x210d25[_0x23799c(0x2a2)],'serviceInfo':_0x210d25[_0x23799c(0x267)],'baseUrl':_0x210d25[_0x23799c(0x1f5)]},_0x2034ec='[OK]\x20Server\x20ready\x20on\x20port\x20'+_0x210d25[_0x23799c(0x243)];logger[_0x23799c(0x266)](_0x4d2f38,_0x2034ec),_0x66c7f4[_0x23799c(0x27f)](writeToFileLog,{..._0x4d2f38,'level':_0x66c7f4[_0x23799c(0x22f)],'msg':_0x2034ec,'time':new Date()[_0x23799c(0x2a5)]()},_0x23799c(0x266)),_0x210d25[_0x23799c(0x2a2)]&&logger[_0x23799c(0x266)]('\x20\x20Health:\x20'+_0x210d25[_0x23799c(0x2a2)]),_0x210d25['serviceInfo']&&logger[_0x23799c(0x266)](_0x23799c(0x1f4)+_0x210d25['serviceInfo']),_0x210d25['baseUrl']&&logger['info'](_0x23799c(0x27e)+_0x210d25['baseUrl']);},logProjectLoaded=(_0x22baa6,_0xa829de)=>{const _0xbaac1f=a0_0x5e5d56,_0xc873db={'uRoYW':_0xbaac1f(0x239),'PcQAc':function(_0x9ef0a,_0x17d8a2,_0x4bae36){return _0x9ef0a(_0x17d8a2,_0x4bae36);},'xBWfV':_0xbaac1f(0x266)},_0x18ff48={'event':_0xc873db[_0xbaac1f(0x1f1)],'project':_0x22baa6,'path':_0xa829de},_0x41c09c=_0xbaac1f(0x202)+_0x22baa6;logger['info'](_0x18ff48,_0x41c09c),_0xc873db[_0xbaac1f(0x21e)](writeToFileLog,{..._0x18ff48,'level':_0xc873db['xBWfV'],'msg':_0x41c09c,'time':new Date()['toISOString']()},_0xc873db[_0xbaac1f(0x24f)]);},logEndpointRegistered=(_0x17972e,_0x9b759c)=>{const _0x2bce5c=a0_0x5e5d56,_0x31f5f9={'FOYwG':'endpoint_registered','JnnbY':function(_0x5605ee,_0x319ca7,_0x5e42e5){return _0x5605ee(_0x319ca7,_0x5e42e5);},'iyong':_0x2bce5c(0x212)},_0x5796b0={'event':_0x31f5f9[_0x2bce5c(0x20e)],'endpoint':_0x17972e,'route':_0x9b759c},_0x571af6=_0x2bce5c(0x27c)+_0x17972e+':\x20'+_0x9b759c;logger['debug'](_0x5796b0,_0x571af6),_0x31f5f9['JnnbY'](writeToFileLog,{..._0x5796b0,'level':_0x31f5f9['iyong'],'msg':_0x571af6,'time':new Date()['toISOString']()},_0x31f5f9[_0x2bce5c(0x218)]);},logDatabaseConfig=_0x563af9=>{const _0x2ffdac=a0_0x5e5d56,_0x47dd0b={'hLlwW':function(_0x5cf230,_0xefdde6,_0x39de25){return _0x5cf230(_0xefdde6,_0x39de25);},'ybXPi':_0x2ffdac(0x212)},_0x81caf0={'event':_0x2ffdac(0x240),'host':_0x563af9[_0x2ffdac(0x1fc)],'port':_0x563af9['port'],'database':_0x563af9[_0x2ffdac(0x1ed)],'type':_0x563af9['type'],'user':_0x563af9[_0x2ffdac(0x289)]},_0x5526d6=_0x2ffdac(0x1f3)+_0x563af9[_0x2ffdac(0x261)]+_0x2ffdac(0x233)+_0x563af9['host']+':'+_0x563af9['port']+'/'+_0x563af9[_0x2ffdac(0x1ed)];logger['debug'](_0x81caf0,_0x5526d6),_0x47dd0b[_0x2ffdac(0x2a3)](writeToFileLog,{..._0x81caf0,'level':_0x47dd0b['ybXPi'],'msg':_0x5526d6,'time':new Date()[_0x2ffdac(0x2a5)]()},'debug');},logRequest=(_0x5641ac,_0x3715e1,_0x10bdb7)=>{const _0x567072=a0_0x5e5d56,_0x591624={'cbRry':'http_request','Ezpdc':_0x567072(0x280)},_0x4c39b9={'event':_0x591624['cbRry'],'method':_0x5641ac['method'],'path':_0x5641ac[_0x567072(0x21a)],'statusCode':_0x3715e1['statusCode'],'durationMs':_0x10bdb7,'ip':_0x5641ac['ip']},_0x5e73b8=_0x5641ac[_0x567072(0x24a)]+'\x20'+_0x5641ac['path']+_0x567072(0x22d)+_0x3715e1['statusCode']+'\x20('+_0x10bdb7+'ms)';let _0x128c06='info';if(_0x3715e1[_0x567072(0x284)]>=0x1f4)_0x128c06=_0x591624[_0x567072(0x21b)],logger[_0x567072(0x280)](_0x4c39b9,_0x5e73b8);else _0x3715e1['statusCode']>=0x190?(_0x128c06=_0x567072(0x2a4),logger[_0x567072(0x2a4)](_0x4c39b9,_0x5e73b8)):logger['info'](_0x4c39b9,_0x5e73b8);writeToFileLog({..._0x4c39b9,'level':_0x128c06,'msg':_0x5e73b8,'time':new Date()[_0x567072(0x2a5)]()},_0x128c06);},SENSITIVE_PARAM_PATTERNS=['password','passwd','pwd',a0_0x5e5d56(0x299),'access_token','refresh_token',a0_0x5e5d56(0x1e4),'api_secret','apikey','api_key',a0_0x5e5d56(0x219),a0_0x5e5d56(0x271),'pin','otp','private_key','privatekey'],redactSensitiveParams=(_0x1ef69e,_0x422f74)=>{const _0x396de2=a0_0x5e5d56,_0x46f01c={'LzCVJ':'[REDACTED]','PMqeh':function(_0x127c65,_0x28ed30){return _0x127c65===_0x28ed30;},'NIWWr':_0x396de2(0x29b),'wkuVP':'[REDACTED:hash]'};if(!_0x1ef69e||_0x46f01c[_0x396de2(0x1f2)](_0x1ef69e['length'],0x0))return _0x1ef69e;const _0x2ff665=_0x422f74['toLowerCase'](),_0x2612c8=_0x2ff665['match'](/\(([^)]+)\)\s*values/i);let _0x1345f5=[];_0x2612c8&&(_0x1345f5=_0x2612c8[0x1][_0x396de2(0x290)](',')[_0x396de2(0x287)](_0xfd3ac6=>_0xfd3ac6[_0x396de2(0x21f)]()[_0x396de2(0x256)]()));const _0x4a6908=_0x2ff665[_0x396de2(0x242)](/set\s+(.+?)(?:\s+where|$)/i);if(_0x4a6908){const _0x10741e=_0x4a6908[0x1],_0x45e941=_0x10741e['match'](/(\w+)\s*=/g);_0x45e941&&(_0x1345f5=_0x45e941['map'](_0x4f52f6=>_0x4f52f6['replace'](/\s*=/,'')[_0x396de2(0x21f)]()['toLowerCase']()));}return _0x1ef69e[_0x396de2(0x287)]((_0x2dd9c1,_0xda3281)=>{const _0x2c6d46=_0x396de2;if(_0x1345f5[_0xda3281]){const _0x155b86=_0x1345f5[_0xda3281],_0x4f261f=SENSITIVE_PARAM_PATTERNS['some'](_0x5ea213=>_0x155b86['includes'](_0x5ea213));if(_0x4f261f)return _0x46f01c['LzCVJ'];}if(_0x46f01c['PMqeh'](typeof _0x2dd9c1,_0x46f01c[_0x2c6d46(0x269)])&&_0x2dd9c1[_0x2c6d46(0x26a)]>0x20){if(/^[a-zA-Z0-9+/=_.-]+$/[_0x2c6d46(0x23f)](_0x2dd9c1)&&_0x2dd9c1[_0x2c6d46(0x1e8)]('.'))return'[REDACTED:token]';if(/^[a-fA-F0-9]{32,}$/['test'](_0x2dd9c1))return _0x46f01c[_0x2c6d46(0x250)];}return _0x2dd9c1;});},parseQueryMetadata=_0x3d1b5d=>{const _0x48b591=a0_0x5e5d56,_0x1578b2={'Wvtoe':_0x48b591(0x1ec),'cfBUU':_0x48b591(0x228),'qSObZ':'DELETE','zPzDq':_0x48b591(0x22c),'pfnqY':_0x48b591(0x215),'KmaZc':'CREATE','maNtJ':_0x48b591(0x282),'dysbd':'DDL_ALTER'},_0x572496=_0x3d1b5d['trim'](),_0xba8e9e=_0x572496[_0x48b591(0x28b)]();let _0x57ca3c=_0x48b591(0x275),_0x1f493d=null;if(_0xba8e9e[_0x48b591(0x258)](_0x1578b2[_0x48b591(0x26b)])){_0x57ca3c=_0x1578b2['Wvtoe'];const _0x38c7ba=_0x572496[_0x48b591(0x242)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x1f493d=_0x38c7ba?_0x38c7ba[0x1]:null;}else{if(_0xba8e9e[_0x48b591(0x258)](_0x1578b2['cfBUU'])){_0x57ca3c='INSERT';const _0x65b2ca=_0x572496[_0x48b591(0x242)](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x1f493d=_0x65b2ca?_0x65b2ca[0x1]:null;}else{if(_0xba8e9e[_0x48b591(0x258)](_0x48b591(0x1ea))){_0x57ca3c='UPDATE';const _0x2dbc76=_0x572496['match'](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x1f493d=_0x2dbc76?_0x2dbc76[0x1]:null;}else{if(_0xba8e9e['startsWith'](_0x1578b2['qSObZ'])){_0x57ca3c=_0x48b591(0x1e7);const _0x4a8a56=_0x572496[_0x48b591(0x242)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x1f493d=_0x4a8a56?_0x4a8a56[0x1]:null;}else{if(_0xba8e9e[_0x48b591(0x258)](_0x48b591(0x1eb))||_0xba8e9e[_0x48b591(0x258)]('START\x20TRANSACTION'))_0x57ca3c=_0x48b591(0x230);else{if(_0xba8e9e['startsWith'](_0x1578b2['zPzDq']))_0x57ca3c=_0x48b591(0x1fa);else{if(_0xba8e9e['startsWith'](_0x48b591(0x273)))_0x57ca3c=_0x1578b2[_0x48b591(0x20f)];else{if(_0xba8e9e[_0x48b591(0x258)](_0x1578b2[_0x48b591(0x268)]))_0x57ca3c=_0x1578b2['maNtJ'];else{if(_0xba8e9e['startsWith']('ALTER'))_0x57ca3c=_0x1578b2[_0x48b591(0x1f6)];else _0xba8e9e['startsWith'](_0x48b591(0x252))&&(_0x57ca3c=_0x48b591(0x274));}}}}}}}}return{'type':_0x57ca3c,'table':_0x1f493d};},startQueryTimer=()=>{const _0x5b2dc9={'msGtE':function(_0x5072cc,_0x17320d){return _0x5072cc(_0x17320d);},'nUlDH':function(_0x482720,_0x941ac1){return _0x482720/_0x941ac1;}},_0x254ae1=process['hrtime']();return()=>{const _0x14fe8b=a0_0x32ed,[_0x226e3a,_0x4a594c]=process[_0x14fe8b(0x27d)](_0x254ae1);return _0x5b2dc9['msGtE'](parseFloat,(_0x226e3a*0x3e8+_0x5b2dc9['nUlDH'](_0x4a594c,0xf4240))[_0x14fe8b(0x20c)](0x2));};},logQuery=(_0x209600,_0x71e829=[],_0x1bcb18={})=>{const _0x451ee4=a0_0x5e5d56,_0x2148fa={'xFyBn':'db_query','FWitF':_0x451ee4(0x1ff),'DoILZ':'postgresql','YqowK':function(_0x148696,_0x2f2293){return _0x148696!==_0x2f2293;},'rHysw':function(_0x48e41a,_0x2fd342){return _0x48e41a>_0x2fd342;},'OVgOd':'debug','YMGKz':_0x451ee4(0x28d),'SYstP':'info','mfNji':function(_0x2bf348,_0x169b81,_0x26499b){return _0x2bf348(_0x169b81,_0x26499b);}};if(!sqlLogEnabled){logger['debug']({'event':_0x2148fa[_0x451ee4(0x26c)],'query':_0x209600['substring'](0x0,0xc8),'paramCount':_0x71e829[_0x451ee4(0x26a)]},_0x2148fa['FWitF']);return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x2148fa['DoILZ']}=_0x1bcb18,{type:_0x345360,table:_0x75f655}=parseQueryMetadata(_0x209600),_0x3a02eb={'event':'sql_query','queryType':_0x345360,'table':_0x75f655,'query':_0x209600,'paramCount':_0x71e829['length'],'dbType':dbType};sqlLogParams&&_0x71e829[_0x451ee4(0x26a)]>0x0&&(_0x3a02eb[_0x451ee4(0x200)]=redactSensitiveParams(_0x71e829,_0x209600));_0x2148fa['YqowK'](duration,null)&&(_0x3a02eb[_0x451ee4(0x1ee)]=duration,_0x3a02eb[_0x451ee4(0x210)]=_0x2148fa['rHysw'](duration,sqlLogSlowThreshold));_0x2148fa['YqowK'](rowsAffected,null)&&(_0x3a02eb['rowsAffected']=rowsAffected);const _0x2197be=_0x75f655||'unknown';let _0x4cee78='['+_0x345360+']\x20'+_0x2197be;_0x2148fa['YqowK'](duration,null)&&(_0x4cee78+='\x20('+duration+'ms)');const _0x8f8e24=_0x2148fa['YqowK'](duration,null)&&duration>sqlLogSlowThreshold;let _0x4f746b=_0x2148fa[_0x451ee4(0x29d)];if(_0x8f8e24)_0x4cee78+=_0x2148fa['YMGKz'],_0x4f746b=_0x451ee4(0x2a4),logger[_0x451ee4(0x2a4)](_0x3a02eb,_0x4cee78);else sqlLogLevel===_0x2148fa[_0x451ee4(0x237)]?(_0x4f746b=_0x2148fa['SYstP'],logger[_0x451ee4(0x266)](_0x3a02eb,_0x4cee78)):logger['debug'](_0x3a02eb,_0x4cee78);_0x2148fa[_0x451ee4(0x285)](writeToFileLog,{..._0x3a02eb,'level':_0x4f746b,'msg':_0x4cee78,'time':new Date()[_0x451ee4(0x2a5)]()},_0x4f746b);},logTransaction=(_0x461f99,_0x3bb9d3)=>{const _0x4ed290=a0_0x5e5d56,_0x40c942={'XTKlQ':'db_transaction'},_0x36b04d={'event':_0x40c942[_0x4ed290(0x211)],'status':_0x461f99,'queryCount':_0x3bb9d3},_0x38acdc='Transaction\x20'+_0x461f99;logger[_0x4ed290(0x212)](_0x36b04d,_0x38acdc),writeToFileLog({..._0x36b04d,'level':'debug','msg':_0x38acdc,'time':new Date()['toISOString']()},_0x4ed290(0x212));},redactObject=_0x62f006=>{const _0x319b69=a0_0x5e5d56,_0xb137ba={'ACCVp':'object','QBxLu':'passwd','FFUkV':'pwd','BzMVh':'api_key','mSdqg':_0x319b69(0x1f8),'ouvaF':_0x319b69(0x209),'GaESZ':'ssn','vUxgo':'privatekey','alFCX':_0x319b69(0x291),'UMWFO':function(_0x408b39,_0x12ef98){return _0x408b39===_0x12ef98;}};if(!_0x62f006||typeof _0x62f006!==_0xb137ba[_0x319b69(0x232)])return _0x62f006;const _0x398343=['password',_0xb137ba['QBxLu'],_0xb137ba['FFUkV'],_0x319b69(0x299),'secret','apikey',_0xb137ba[_0x319b69(0x294)],'authorization',_0xb137ba['mSdqg'],_0xb137ba[_0x319b69(0x238)],_0x319b69(0x262),_0xb137ba['GaESZ'],'pin',_0x319b69(0x24e),_0xb137ba[_0x319b69(0x224)],_0xb137ba['alFCX'],_0x319b69(0x234)],_0x34ca10=Array['isArray'](_0x62f006)?[..._0x62f006]:{..._0x62f006};for(const _0x46cee7 of Object['keys'](_0x34ca10)){const _0x4b5c=_0x46cee7[_0x319b69(0x256)]();if(_0x398343[_0x319b69(0x23a)](_0x5ec776=>_0x4b5c[_0x319b69(0x1e8)](_0x5ec776)))_0x34ca10[_0x46cee7]='[REDACTED]';else _0xb137ba[_0x319b69(0x241)](typeof _0x34ca10[_0x46cee7],'object')&&_0x34ca10[_0x46cee7]!==null&&(_0x34ca10[_0x46cee7]=redactObject(_0x34ca10[_0x46cee7]));}return _0x34ca10;},logError=(_0x102e8e,_0x10e6da={},_0x371578=null)=>{const _0x1d382d=a0_0x5e5d56,_0x19c69d={'oFVEJ':_0x1d382d(0x235),'sUPnP':'error'},_0xd0517a={'event':_0x1d382d(0x280),'errorName':_0x102e8e['name']||_0x19c69d['oFVEJ'],'errorMessage':_0x102e8e[_0x1d382d(0x20b)],'errorCode':_0x102e8e[_0x1d382d(0x270)]||null,'stack':_0x102e8e['stack'],..._0x10e6da},_0x5e23fb=_0x371578||'Error:\x20'+_0x102e8e['message'];logger[_0x1d382d(0x280)](_0xd0517a,_0x5e23fb),writeToFileLog({..._0xd0517a,'level':_0x19c69d[_0x1d382d(0x286)],'msg':_0x5e23fb,'time':new Date()[_0x1d382d(0x2a5)]()},'error');},logFatalError=(_0x5d49ce,_0x165b7e={},_0x35f16d=null)=>{const _0x20f12b=a0_0x5e5d56,_0x762995={'TykLx':_0x20f12b(0x2a1),'WYfSy':'fatal','qhDyt':'error'},_0x566dd9={'event':_0x762995[_0x20f12b(0x244)],'errorName':_0x5d49ce[_0x20f12b(0x247)]||'Error','errorMessage':_0x5d49ce['message'],'errorCode':_0x5d49ce['code']||null,'stack':_0x5d49ce[_0x20f12b(0x226)],'severity':_0x20f12b(0x276),..._0x165b7e},_0x25705f=_0x35f16d||'FATAL:\x20'+_0x5d49ce[_0x20f12b(0x20b)];logger[_0x20f12b(0x1f0)](_0x566dd9,_0x25705f),writeToFileLog({..._0x566dd9,'level':_0x762995['WYfSy'],'msg':_0x25705f,'time':new Date()['toISOString']()},_0x762995['qhDyt']);},logHttpError=(_0x3af050,_0xc32872,_0x73fb61={})=>{const _0x2a2601=a0_0x5e5d56,_0x1b9bc3={'AiOUy':_0x2a2601(0x235),'vKpxm':'user-agent','zhemz':'warn'},_0x17c2ca={'event':'http_error','errorName':_0x3af050[_0x2a2601(0x247)]||_0x1b9bc3['AiOUy'],'errorMessage':_0x3af050[_0x2a2601(0x20b)],'errorCode':_0x3af050['code']||_0x3af050['statusCode']||0x1f4,'stack':_0x3af050[_0x2a2601(0x226)],'method':_0xc32872?.['method'],'url':_0xc32872?.['url']||_0xc32872?.['originalUrl'],'path':_0xc32872?.['path'],'ip':_0xc32872?.['ip']||_0xc32872?.[_0x2a2601(0x251)]?.['remoteAddress'],'userAgent':_0xc32872?.[_0x2a2601(0x277)]?.(_0x1b9bc3['vKpxm']),'requestId':_0xc32872?.['id']||_0xc32872?.['headers']?.[_0x2a2601(0x25d)],'body':_0xc32872?.[_0x2a2601(0x246)]?redactObject(_0xc32872[_0x2a2601(0x246)]):undefined,'query':_0xc32872?.[_0x2a2601(0x279)],..._0x73fb61},_0x3efd96=_0x3af050['statusCode']||_0x3af050['status']||0x1f4,_0x4d0abf=_0x2a2601(0x1e9)+_0x3efd96+':\x20'+_0x3af050[_0x2a2601(0x20b)];_0x3efd96>=0x1f4?logger['error'](_0x17c2ca,_0x4d0abf):logger['warn'](_0x17c2ca,_0x4d0abf),writeToFileLog({..._0x17c2ca,'level':_0x3efd96>=0x1f4?'error':_0x1b9bc3[_0x2a2601(0x272)],'msg':_0x4d0abf,'time':new Date()[_0x2a2601(0x2a5)]()},_0x3efd96>=0x1f4?_0x2a2601(0x280):_0x1b9bc3['zhemz']);},logUncaughtError=(_0x110c82,_0x169b30)=>{const _0x4d3885=a0_0x5e5d56,_0x1d00cb={'LzOTz':_0x4d3885(0x235),'uZmOQ':function(_0x12094b,_0x510237){return _0x12094b(_0x510237);},'VPzIo':function(_0x2c85ef,_0x3050c4,_0x31609c){return _0x2c85ef(_0x3050c4,_0x31609c);},'HVUtH':'fatal','zBIJG':'error'},_0x32a113={'event':_0x110c82,'errorName':_0x169b30?.['name']||_0x1d00cb['LzOTz'],'errorMessage':_0x169b30?.[_0x4d3885(0x20b)]||_0x1d00cb[_0x4d3885(0x259)](String,_0x169b30),'errorCode':_0x169b30?.[_0x4d3885(0x270)]||null,'stack':_0x169b30?.[_0x4d3885(0x226)],'severity':_0x4d3885(0x276),'processId':process['pid'],'memoryUsage':process[_0x4d3885(0x1fe)](),'uptime':process[_0x4d3885(0x28a)]()},_0x59602='['+_0x110c82[_0x4d3885(0x28b)]()+']\x20'+(_0x169b30?.[_0x4d3885(0x20b)]||_0x169b30);logger['fatal'](_0x32a113,_0x59602),_0x1d00cb['VPzIo'](writeToFileLog,{..._0x32a113,'level':_0x1d00cb['HVUtH'],'msg':_0x59602,'time':new Date()['toISOString']()},_0x1d00cb['zBIJG']);},setupGlobalErrorHandlers=()=>{const _0x34c91a=a0_0x5e5d56,_0x583aef={'MqtFM':'uncaughtException','dREYf':function(_0x99add9,_0x3784b9,_0x8c4cb6){return _0x99add9(_0x3784b9,_0x8c4cb6);},'vVLDa':function(_0x4da77b,_0x546bf7){return _0x4da77b(_0x546bf7);},'VnxCI':'unhandledRejection','iNzja':'global_error_handlers_setup','tNyNU':'info'};process['on'](_0x34c91a(0x1e6),_0x2dd66c=>{const _0x5570bb=_0x34c91a;logUncaughtError(_0x583aef['MqtFM'],_0x2dd66c),_0x583aef[_0x5570bb(0x293)](setTimeout,()=>{process['exit'](0x1);},0x3e8);}),process['on'](_0x583aef['VnxCI'],(_0x6d54,_0x1d649c)=>{const _0x5a1322=_0x34c91a,_0x4af6c1=_0x6d54 instanceof Error?_0x6d54:new Error(_0x583aef[_0x5a1322(0x283)](String,_0x6d54));logUncaughtError('unhandledRejection',_0x4af6c1);}),process['on'](_0x34c91a(0x26f),_0x3206c8=>{const _0x2482b7=_0x34c91a;logger[_0x2482b7(0x2a4)]({'event':'process_warning','name':_0x3206c8[_0x2482b7(0x247)],'message':_0x3206c8[_0x2482b7(0x20b)],'stack':_0x3206c8[_0x2482b7(0x226)]},_0x2482b7(0x20d)+_0x3206c8['message']);});const _0x4946cb={'event':_0x583aef[_0x34c91a(0x1f9)]},_0xcdd721='Global\x20error\x20handlers\x20initialized';logger[_0x34c91a(0x266)](_0x4946cb,_0xcdd721),writeToFileLog({..._0x4946cb,'level':_0x583aef[_0x34c91a(0x257)],'msg':_0xcdd721,'time':new Date()['toISOString']()},'info');},createErrorHandlerMiddleware=()=>{const _0x39b234={'MCvIY':function(_0x2c2c85,_0x282f0c){return _0x2c2c85>=_0x282f0c;}};return(_0x18480f,_0x7e6092,_0x3ecc24,_0x4499c5)=>{const _0x30f5f7=a0_0x32ed;logHttpError(_0x18480f,_0x7e6092);const _0x4f614d=_0x18480f[_0x30f5f7(0x284)]||_0x18480f['status']||0x1f4;_0x3ecc24['status'](_0x4f614d)[_0x30f5f7(0x221)]({'success':![],'error':_0x39b234['MCvIY'](_0x4f614d,0x1f4)?_0x30f5f7(0x254):_0x18480f['message'],'requestId':_0x7e6092['id']||_0x7e6092[_0x30f5f7(0x29f)]?.['x-request-id']||null});};};function a0_0xad6a(){const _0x531510=['Ahj0Aw1L','icbvuKW6icaGia','CwnvsvG','zxjYB3i','cUkvOokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvOWRILzeGievUDMLYB25Tzw50idOG','rermx0nsrufurq','DLzmrge','C3rHDhvZq29Kzq','BwzoAMK','C1vqBLa','BwfW','cUkvLokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvLWO','DxnLCG','Dxb0Aw1L','Dg9vChbLCKnHC2u','DxjS','ifTtte9xxq','CMvZDgzVCMDL','vKD2sfK','C3bSAxq','CMvMCMvZAf90B2TLBG','ntu2nZaYy3blyKLc','zfjfwwy','qNPnvMG','CgfKrw5K','z2v0sgvHzgvYCW','te9hx0XfvKvm','tK9uiefdveLwrq','Dg9Rzw4','AxnVvgLTzq','C3rYAw5N','rMLSzsbSB2DNAw5NigvUywjSzwq6ia','t1zNt2q','w1jfrefdvevexq','AgvHzgvYCW','BwTKAxjtEw5J','zMf0ywXFzxjYB3i','AgvHBhrOq2HLy2S','AeXSD1C','D2fYBG','Dg9ju09tDhjPBMC','C2vJCMv0','mtmYnZm5mfDrwuXqDq','Dw5JyxvNAhrfEgnLChrPB24','revmrvrf','Aw5JBhvKzxm','sfruuca','vvbeqvrf','qKvhsu4','u0vmrunu','zgf0ywjHC2u','zhvYyxrPB25nCW','iokvKqRILzeGienVBMzPzYaGicaGidOG','zMf0ywW','DvjVwvC','ue1XzwG','rgf0ywjHC2u6ia','icbjBMzVoIaGia','yMfZzvvYBa','zhLZyMq','z2LxB3G','y3jLzgL0y2fYza','Au56AMe','vfjbtLnbq1rjt05Fq09ntuLu','C2vYDMvYx3n0yxj0Aw5N','Ag9ZDa','y29UzMLNrMLSzq','BwvTB3j5vxnHz2u','reiGuxvLCNK','CgfYyw1Z','ChjVzhvJDgLVBG','w09lxsbqCM9Qzwn0igXVywrLzdOG','rMfPBgvKihrVignYzwf0zsbSB2CGzgLYzwn0B3j5ia','D3jPDgu','ntvbvKP2rue','Bw9KDwXL','zxjYB3iUBg9N','Dhj1zq','y3jLzgL0x2nHCMq','r1brELu','BwvZC2fNzq','Dg9gAxHLza','uhjVy2vZCYbxyxjUAw5NoIa','rK9zD0C','CgzUCvK','AxntBg93','wfrlBfe','zgvIDwC','mti0nta4off4rgHJzW','lI9SB2DZlW','vfjbtLnbq1rjt05FuK9mtejbq0S','Bwf4','tK9erv9ftLy','AxLVBMC','y3jLzgvUDgLHBa','Cgf0Aa','rxPWzgm','te9hx1rpx0zjteu','ig9UihbVCNqG','ugnrqwm','DhjPBq','mtjrywP2qwu','ANnVBG','C3rKvgLTzuz1BMn0Aw9UCW','zMfSC2u','DLv4z28','nfHIDeP5ua','C3rHy2S','te9hx0rjuG','su5trvju','ms4WlJu','wMrAsui','yxbPs2v5','q09ntuLu','ic0G','zxHPC3rZu3LUyW','DNDbtxO','vfjbtLnbq1rjt05FqKvhsu4','y2HPBgq','qundvNa','oI8V','ywnJzxnZx3rVA2vU','rxjYB3i','u0vsvKLdrv9oqu1f','u1LZDfa','B3v2yuy','ChjVAMvJDf9SB2fKzwq','C29Tzq','qvbqx1zfuLnjt04','sLDux1nfq1jfva','ody5mtL3B2zpugu','E21Zz30','DgvZDa','zgf0ywjHC2vFy29UzMLN','vu1xrK8','Bwf0y2G','Cg9YDa','vhLRthG','CfP0rha','yM9KEq','BMfTzq','u1fmx0Xpr19qqvjbtvm','oti4ndCWzNbJuM9M','Bwv0Ag9K','Bg9N','AuflEgu','rxrJyvO','ChjPDMf0zv9RzxK','EejxzLy','D2T1vLa','y29UBMvJDgLVBG','rfjpua','yxbWlMXVzW','sw50zxjUywWGC2vYDMvYigvYCM9Y','mw5NC0XeAW','Dg9mB3DLCKnHC2u','De55tLu','C3rHCNrZv2L0Aa','DvPTt1e','zw52','Ew5Qy2i','ChjVAMvJDa','Ec1Yzxf1zxn0lwLK','C2vYDMvYx3jLywr5','mZa1mJqYmhHtz1jyEq','CgLUBY1WCMv0DhK','DhLWzq','y3z2','sNfusvG','mZeWnJGWqvn1teHo','AM9PBG','Aw5MBW','C2vYDMLJzuLUzM8','s21HwMm','tKLxv3i','BgvUz3rO','v3z0B2u','Eez5qM4','u2vYDMvYihn0yxj0Aw5NoIa','zfrJzNK','D2fYBMLUzW','y29Kzq','y3jLzgvUDgLHBhm','EMHLBxO','uK9mtejbq0S','rermx0rst1a','vu5ltK9xtG','q1jjveLdquW','z2v0','zgv2zwXVCg1LBNq','CxvLCNK','Cwrfv2q','CMvXlMHLywrLCNnBiNGTyxbPlwTLEsjD','icdIHPiG'];a0_0xad6a=function(){return _0x531510;};return a0_0xad6a();}module['exports']={'logger':logger,'createRequestLogger':createRequestLogger,'logServerStart':logServerStart,'logServerReady':logServerReady,'logProjectLoaded':logProjectLoaded,'logEndpointRegistered':logEndpointRegistered,'logDatabaseConfig':logDatabaseConfig,'logRequest':logRequest,'logQuery':logQuery,'logTransaction':logTransaction,'startQueryTimer':startQueryTimer,'parseQueryMetadata':parseQueryMetadata,'redactSensitiveParams':redactSensitiveParams,'initFileLogging':initFileLogging,'logError':logError,'logFatalError':logFatalError,'logHttpError':logHttpError,'logUncaughtError':logUncaughtError,'setupGlobalErrorHandlers':setupGlobalErrorHandlers,'createErrorHandlerMiddleware':createErrorHandlerMiddleware,'redactObject':redactObject,'SQL_LOG_CONFIG':{'enabled':sqlLogEnabled,'level':sqlLogLevel,'logParams':sqlLogParams,'slowThreshold':sqlLogSlowThreshold},'FILE_LOG_CONFIG':{'enabled':logToFile,'directory':logDir,'serviceName':serviceName}};
1
+ const a0_0xee9e28=a0_0xc676;function a0_0xc676(_0x4fbb2d,_0x27b4cf){_0x4fbb2d=_0x4fbb2d-0xaa;const _0x3bb212=a0_0x3bb2();let _0xc6764c=_0x3bb212[_0x4fbb2d];if(a0_0xc676['TeYJJj']===undefined){var _0x5ec991=function(_0x2966f3){const _0x317659='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x56c472='',_0x4a450c='';for(let _0x5d6284=0x0,_0x31bb29,_0x127436,_0x48fa9d=0x0;_0x127436=_0x2966f3['charAt'](_0x48fa9d++);~_0x127436&&(_0x31bb29=_0x5d6284%0x4?_0x31bb29*0x40+_0x127436:_0x127436,_0x5d6284++%0x4)?_0x56c472+=String['fromCharCode'](0xff&_0x31bb29>>(-0x2*_0x5d6284&0x6)):0x0){_0x127436=_0x317659['indexOf'](_0x127436);}for(let _0x11b318=0x0,_0x27853f=_0x56c472['length'];_0x11b318<_0x27853f;_0x11b318++){_0x4a450c+='%'+('00'+_0x56c472['charCodeAt'](_0x11b318)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4a450c);};a0_0xc676['tuRuSD']=_0x5ec991,a0_0xc676['mBhhIT']={},a0_0xc676['TeYJJj']=!![];}const _0x2c2c47=_0x3bb212[0x0],_0x5d0818=_0x4fbb2d+_0x2c2c47,_0x35662f=a0_0xc676['mBhhIT'][_0x5d0818];return!_0x35662f?(_0xc6764c=a0_0xc676['tuRuSD'](_0xc6764c),a0_0xc676['mBhhIT'][_0x5d0818]=_0xc6764c):_0xc6764c=_0x35662f,_0xc6764c;}(function(_0x13dfde,_0x4e923b){const _0x90d0b2=a0_0xc676,_0xb1c7e2=_0x13dfde();while(!![]){try{const _0x158171=-parseInt(_0x90d0b2(0x125))/0x1+-parseInt(_0x90d0b2(0x104))/0x2*(-parseInt(_0x90d0b2(0xbb))/0x3)+-parseInt(_0x90d0b2(0xe6))/0x4+-parseInt(_0x90d0b2(0x110))/0x5*(-parseInt(_0x90d0b2(0x16c))/0x6)+-parseInt(_0x90d0b2(0xd4))/0x7*(-parseInt(_0x90d0b2(0xc2))/0x8)+-parseInt(_0x90d0b2(0x159))/0x9*(parseInt(_0x90d0b2(0x164))/0xa)+parseInt(_0x90d0b2(0x131))/0xb;if(_0x158171===_0x4e923b)break;else _0xb1c7e2['push'](_0xb1c7e2['shift']());}catch(_0x462832){_0xb1c7e2['push'](_0xb1c7e2['shift']());}}}(a0_0x3bb2,0xdad5c));const pino=require('pino'),fs=require('fs'),path=require('path');let logToFile=![],logDir=a0_0xee9e28(0x13d),serviceName=a0_0xee9e28(0xc7),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_0xee9e28(0x152),'hideObject':!![]},isDevelopment=process[a0_0xee9e28(0x10a)][a0_0xee9e28(0xb5)]!=='production',logLevel=process['env'][a0_0xee9e28(0xc9)]||a0_0xee9e28(0xf4);let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':a0_0xee9e28(0x15d),'options':prettyPrintOptions}:undefined,'base':{'service':'restforge','version':process['env'][a0_0xee9e28(0xf0)]||'1.0.5','env':process[a0_0xee9e28(0x10a)]['NODE_ENV']||a0_0xee9e28(0xe7)},'timestamp':pino[a0_0xee9e28(0xb7)]['isoTime'],'redact':{'paths':[a0_0xee9e28(0x101),'req.headers[\x22x-api-key\x22]','password',a0_0xee9e28(0x154),a0_0xee9e28(0x166),a0_0xee9e28(0x16d),'JWT_SECRET'],'censor':a0_0xee9e28(0xb2)},'serializers':{'req':_0x4713d4=>({'id':_0x4713d4['id'],'method':_0x4713d4['method'],'url':_0x4713d4['url'],'path':_0x4713d4[a0_0xee9e28(0x126)],'remoteAddress':_0x4713d4['ip']||_0x4713d4[a0_0xee9e28(0x15f)]?.['remoteAddress']}),'res':_0x1a90c0=>({'statusCode':_0x1a90c0['statusCode'],'headers':_0x1a90c0['getHeaders']?.()}),'err':pino['stdSerializers'][a0_0xee9e28(0xec)]}});function initFileLogging(){const _0xcd8de0=a0_0xee9e28,_0x353e33={'jmXAB':function(_0x34cfab,_0xe5f4bc){return _0x34cfab===_0xe5f4bc;},'YsARy':_0xcd8de0(0xd6),'AcyjU':_0xcd8de0(0xc6),'YWiPM':'debug','XYmnd':function(_0x244a33,_0x17d182){return _0x244a33!==_0x17d182;},'sHwSJ':function(_0x4c6557,_0x47d992){return _0x4c6557(_0x47d992);},'droQK':'app.log','zaoEe':_0xcd8de0(0x118),'lBjhx':'info'};if(fileLoggingInitialized)return;logToFile=_0x353e33[_0xcd8de0(0x146)](process['env']['LOG_TO_FILE'],_0x353e33['YsARy']);const _0x291bc9=process['env'][_0xcd8de0(0x14e)]||_0x353e33['AcyjU'];logDir=process['env'][_0xcd8de0(0xdd)]||'./logs/'+_0x291bc9,serviceName=process['env'][_0xcd8de0(0x163)]||_0xcd8de0(0xc7),sqlLogEnabled=process['env'][_0xcd8de0(0xce)]===_0x353e33[_0xcd8de0(0xd0)],sqlLogLevel=process['env']['SQL_LOG_LEVEL']||_0x353e33['YWiPM'],sqlLogParams=_0x353e33['XYmnd'](process['env']['SQL_LOG_PARAMS'],'false'),sqlLogSlowThreshold=_0x353e33[_0xcd8de0(0x15a)](parseInt,process[_0xcd8de0(0x10a)][_0xcd8de0(0x105)])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x500a60=path[_0xcd8de0(0xb9)](process[_0xcd8de0(0x16b)](),logDir);try{!fs[_0xcd8de0(0x168)](_0x500a60)&&fs['mkdirSync'](_0x500a60,{'recursive':!![]});}catch(_0x261dfa){console[_0xcd8de0(0xbd)]('Failed\x20to\x20create\x20log\x20directory\x20'+_0x500a60+':',_0x261dfa[_0xcd8de0(0xfd)]),fileLoggingInitialized=!![];return;}const _0x253812=path['join'](_0x500a60,_0x353e33[_0xcd8de0(0x11b)]),_0x17f4d2=path[_0xcd8de0(0xc8)](_0x500a60,_0x353e33['zaoEe']);try{appLogStream=fs['createWriteStream'](_0x253812,{'flags':'a'}),errorLogStream=fs['createWriteStream'](_0x17f4d2,{'flags':'a'}),fileLoggingInitialized=!![];const _0x42042f={'event':'file_logging_enabled','logDir':_0x500a60,'files':[_0x353e33['droQK'],_0xcd8de0(0x118)]},_0x1a651b=_0xcd8de0(0x12f)+_0x500a60;logger['info'](_0x42042f,_0x1a651b),writeToFileLog({..._0x42042f,'level':'info','msg':_0x1a651b,'time':new Date()[_0xcd8de0(0x150)]()},_0x353e33[_0xcd8de0(0xd3)]);}catch(_0x351f68){console['error'](_0xcd8de0(0x13a),_0x351f68[_0xcd8de0(0xfd)]),fileLoggingInitialized=!![];}}function writeToFileLog(_0xe05713,_0x2d5278){const _0x2d124f=a0_0xee9e28,_0x3ee6a7={'fvwLU':function(_0x26e440,_0x453052){return _0x26e440||_0x453052;},'mrvPb':function(_0x330598,_0x40b1b4){return _0x330598===_0x40b1b4;},'eUnrT':_0x2d124f(0xc4)};if(_0x3ee6a7['fvwLU'](!logToFile,!appLogStream))return;const _0x202ecd={'service':serviceName,..._0xe05713},_0xeb872d=JSON['stringify'](_0x202ecd)+'\x0a';appLogStream['write'](_0xeb872d),(_0x2d5278===_0x2d124f(0xbd)||_0x3ee6a7[_0x2d124f(0x100)](_0x2d5278,_0x3ee6a7[_0x2d124f(0x114)]))&&(errorLogStream&&errorLogStream['write'](_0xeb872d));}const createRequestLogger=(_0x7c1781={})=>{const _0x2fa519=a0_0xee9e28;return logger[_0x2fa519(0x15e)](_0x7c1781);},logServerStart=_0x216984=>{const _0x3d4a9b=a0_0xee9e28,_0x16909f={'KeroF':'RESTFORGE\x20RUNTIME\x20SERVER','VOtTw':function(_0x2391fa,_0x4f2c88){return _0x2391fa/_0x4f2c88;},'ubTai':function(_0x352abe,_0x28f273){return _0x352abe-_0x28f273;},'HtqKP':_0x3d4a9b(0xc0),'WJVtz':'info'},_0x508620=_0x16909f[_0x3d4a9b(0x165)],_0x31e5fc=Math[_0x3d4a9b(0x11d)](0x0,0x37-_0x508620[_0x3d4a9b(0x10c)]),_0x27b950=Math['floor'](_0x16909f[_0x3d4a9b(0x134)](_0x31e5fc,0x2)),_0x4704e1=_0x16909f[_0x3d4a9b(0x12c)](_0x31e5fc,_0x27b950),_0xab9b5f='║'+'\x20'['repeat'](_0x27b950)+_0x508620+'\x20'['repeat'](_0x4704e1)+'║',_0x371950='\x0a╔═══════════════════════════════════════════════════════╗\x0a'+_0xab9b5f+'\x0a╠═══════════════════════════════════════════════════════╣\x0a║\x20\x20Environment\x20:\x20'+(_0x216984[_0x3d4a9b(0xaf)]||_0x3d4a9b(0x133))['padEnd'](0x26)+'\x20║\x0a║\x20\x20Project\x20\x20\x20\x20\x20:\x20'+(_0x216984[_0x3d4a9b(0xab)]||_0x3d4a9b(0x156))[_0x3d4a9b(0x147)](0x26)+_0x3d4a9b(0xf3)+String(_0x216984['port']||0xbb8)[_0x3d4a9b(0x147)](0x26)+_0x3d4a9b(0x10e)+(_0x216984['configFile']||_0x3d4a9b(0x106))[_0x3d4a9b(0x147)](0x26)+_0x3d4a9b(0x11e)+(_0x216984['apiKey']?'ACTIVE':_0x16909f['HtqKP'])['padEnd'](0x26)+'\x20║\x0a╚═══════════════════════════════════════════════════════╝';console['log'](_0x371950);const _0xcd3b18={'event':_0x3d4a9b(0x162),'project':_0x216984['project'],'port':_0x216984['port'],'config':_0x216984[_0x3d4a9b(0x13e)],'apiKeyEnabled':!!_0x216984[_0x3d4a9b(0x166)]};logger['info'](_0xcd3b18),writeToFileLog({..._0xcd3b18,'level':_0x16909f['WJVtz'],'msg':_0x3d4a9b(0xb3)+_0x216984[_0x3d4a9b(0xab)]+'\x20on\x20port\x20'+_0x216984['port'],'time':new Date()[_0x3d4a9b(0x150)]()},'info');},logServerReady=_0x34cd6a=>{const _0x13801d=a0_0xee9e28,_0x44c440={'hRrYi':function(_0x2798f4,_0x39005f,_0x4a46c0){return _0x2798f4(_0x39005f,_0x4a46c0);},'mQjhF':'info'},_0x5e2866={'event':'server_ready','port':_0x34cd6a[_0x13801d(0x15c)],'module':_0x34cd6a['module'],'healthCheck':_0x34cd6a['healthCheck'],'serviceInfo':_0x34cd6a[_0x13801d(0x11a)],'baseUrl':_0x34cd6a['baseUrl']},_0xa88555=_0x13801d(0xda)+_0x34cd6a['port'];logger[_0x13801d(0xf4)](_0x5e2866,_0xa88555),_0x44c440['hRrYi'](writeToFileLog,{..._0x5e2866,'level':_0x44c440[_0x13801d(0x160)],'msg':_0xa88555,'time':new Date()[_0x13801d(0x150)]()},_0x44c440['mQjhF']),_0x34cd6a[_0x13801d(0x14d)]&&logger[_0x13801d(0xf4)]('\x20\x20Health:\x20'+_0x34cd6a[_0x13801d(0x14d)]),_0x34cd6a['serviceInfo']&&logger['info'](_0x13801d(0x12b)+_0x34cd6a['serviceInfo']),_0x34cd6a[_0x13801d(0xbe)]&&logger[_0x13801d(0xf4)]('\x20\x20URL:\x20\x20\x20\x20'+_0x34cd6a['baseUrl']);},logProjectLoaded=(_0x1cc306,_0x58bfdf)=>{const _0x4ac55c=a0_0xee9e28,_0x36cda0={'gmCDT':_0x4ac55c(0xb1),'CRcBY':function(_0x497c54,_0x2c0ea8,_0x3e6c9b){return _0x497c54(_0x2c0ea8,_0x3e6c9b);}},_0x44b889={'event':_0x36cda0['gmCDT'],'project':_0x1cc306,'path':_0x58bfdf},_0x11864b=_0x4ac55c(0xee)+_0x1cc306;logger[_0x4ac55c(0xf4)](_0x44b889,_0x11864b),_0x36cda0[_0x4ac55c(0x10f)](writeToFileLog,{..._0x44b889,'level':'info','msg':_0x11864b,'time':new Date()['toISOString']()},'info');},logEndpointRegistered=(_0x3024fd,_0x53ad2b)=>{const _0x567d35=a0_0xee9e28,_0x3a3e10={'sWjBO':_0x567d35(0xe3),'pIrNn':function(_0x46eba0,_0x17a8ec,_0x472067){return _0x46eba0(_0x17a8ec,_0x472067);},'EEjdU':'debug'},_0x4c2734={'event':_0x3a3e10[_0x567d35(0x149)],'endpoint':_0x3024fd,'route':_0x53ad2b},_0x12a65b='\x20\x20→\x20'+_0x3024fd+':\x20'+_0x53ad2b;logger['debug'](_0x4c2734,_0x12a65b),_0x3a3e10['pIrNn'](writeToFileLog,{..._0x4c2734,'level':'debug','msg':_0x12a65b,'time':new Date()[_0x567d35(0x150)]()},_0x3a3e10[_0x567d35(0x107)]);},logDatabaseConfig=_0x3af62a=>{const _0x2bac1e=a0_0xee9e28,_0x4c2a24={'sBEYu':_0x2bac1e(0xb8),'KWUqm':function(_0x55f966,_0x372004,_0xa55249){return _0x55f966(_0x372004,_0xa55249);}},_0x1096a7={'event':_0x4c2a24['sBEYu'],'host':_0x3af62a[_0x2bac1e(0x14c)],'port':_0x3af62a['port'],'database':_0x3af62a[_0x2bac1e(0x129)],'type':_0x3af62a['type'],'user':_0x3af62a[_0x2bac1e(0x14b)]},_0xe2cf56='Database:\x20'+_0x3af62a['type']+'://'+_0x3af62a[_0x2bac1e(0x14c)]+':'+_0x3af62a[_0x2bac1e(0x15c)]+'/'+_0x3af62a[_0x2bac1e(0x129)];logger[_0x2bac1e(0xfb)](_0x1096a7,_0xe2cf56),_0x4c2a24[_0x2bac1e(0xf6)](writeToFileLog,{..._0x1096a7,'level':'debug','msg':_0xe2cf56,'time':new Date()['toISOString']()},'debug');},logRequest=(_0x41083c,_0x384f06,_0x5e439c)=>{const _0x570775=a0_0xee9e28,_0x2428ec={'PPvqo':_0x570775(0x12a),'nnHrr':_0x570775(0xf4),'YZdtj':function(_0x13e4a1,_0x47359f,_0x3849a7){return _0x13e4a1(_0x47359f,_0x3849a7);}},_0x4f1a55={'event':_0x2428ec[_0x570775(0x121)],'method':_0x41083c[_0x570775(0x13b)],'path':_0x41083c['path'],'statusCode':_0x384f06['statusCode'],'durationMs':_0x5e439c,'ip':_0x41083c['ip']},_0x4c2ce1=_0x41083c['method']+'\x20'+_0x41083c['path']+_0x570775(0x142)+_0x384f06['statusCode']+'\x20('+_0x5e439c+'ms)';let _0x5acedf=_0x2428ec[_0x570775(0xcd)];if(_0x384f06['statusCode']>=0x1f4)_0x5acedf=_0x570775(0xbd),logger[_0x570775(0xbd)](_0x4f1a55,_0x4c2ce1);else _0x384f06[_0x570775(0x109)]>=0x190?(_0x5acedf='warn',logger[_0x570775(0xdf)](_0x4f1a55,_0x4c2ce1)):logger[_0x570775(0xf4)](_0x4f1a55,_0x4c2ce1);_0x2428ec[_0x570775(0xe1)](writeToFileLog,{..._0x4f1a55,'level':_0x5acedf,'msg':_0x4c2ce1,'time':new Date()['toISOString']()},_0x5acedf);},SENSITIVE_PARAM_PATTERNS=[a0_0xee9e28(0x141),a0_0xee9e28(0x14f),'pwd','token',a0_0xee9e28(0xf8),'refresh_token','secret','api_secret','apikey',a0_0xee9e28(0xb6),'credential',a0_0xee9e28(0xc5),'pin',a0_0xee9e28(0x137),'private_key','privatekey'],redactSensitiveParams=(_0x217b93,_0x47eecf)=>{const _0x197502=a0_0xee9e28,_0x486e45={'SPXSC':function(_0xcab8b,_0x907594){return _0xcab8b>_0x907594;},'qMWny':function(_0x5bb69b,_0x2bd338){return _0x5bb69b===_0x2bd338;}};if(!_0x217b93||_0x486e45[_0x197502(0xe4)](_0x217b93['length'],0x0))return _0x217b93;const _0x1a97ee=_0x47eecf['toLowerCase'](),_0x5d5484=_0x1a97ee[_0x197502(0x144)](/\(([^)]+)\)\s*values/i);let _0x43b07a=[];_0x5d5484&&(_0x43b07a=_0x5d5484[0x1]['split'](',')['map'](_0x23b762=>_0x23b762['trim']()[_0x197502(0x127)]()));const _0x42d8fe=_0x1a97ee['match'](/set\s+(.+?)(?:\s+where|$)/i);if(_0x42d8fe){const _0xaf20b9=_0x42d8fe[0x1],_0x3f14c1=_0xaf20b9[_0x197502(0x144)](/(\w+)\s*=/g);_0x3f14c1&&(_0x43b07a=_0x3f14c1['map'](_0x553931=>_0x553931['replace'](/\s*=/,'')['trim']()['toLowerCase']()));}return _0x217b93[_0x197502(0x136)]((_0x383d47,_0xf7726d)=>{const _0xb2baee=_0x197502;if(_0x43b07a[_0xf7726d]){const _0x4a49a7=_0x43b07a[_0xf7726d],_0x1a2c5f=SENSITIVE_PARAM_PATTERNS['some'](_0x1fba6c=>_0x4a49a7['includes'](_0x1fba6c));if(_0x1a2c5f)return'[REDACTED]';}if(typeof _0x383d47===_0xb2baee(0x10d)&&_0x486e45['SPXSC'](_0x383d47[_0xb2baee(0x10c)],0x20)){if(/^[a-zA-Z0-9+/=_.-]+$/[_0xb2baee(0x119)](_0x383d47)&&_0x383d47[_0xb2baee(0xcc)]('.'))return'[REDACTED:token]';if(/^[a-fA-F0-9]{32,}$/[_0xb2baee(0x119)](_0x383d47))return _0xb2baee(0x15b);}return _0x383d47;});},parseQueryMetadata=_0x1e7ce3=>{const _0x45bfc3=a0_0xee9e28,_0x57e7b5={'hwkih':_0x45bfc3(0xdc),'GMeBL':'INSERT','QFeKm':_0x45bfc3(0xd5),'PLKLo':_0x45bfc3(0x14a),'OlEXc':'BEGIN','LVnFq':_0x45bfc3(0xea),'mMbwi':'TRANSACTION_ROLLBACK','vnhQs':'CREATE','DekQn':_0x45bfc3(0x139),'XYnzx':_0x45bfc3(0x155)},_0xa44e9=_0x1e7ce3['trim'](),_0x3ade5a=_0xa44e9[_0x45bfc3(0xc1)]();let _0x451f31='UNKNOWN',_0x6008d6=null;if(_0x3ade5a[_0x45bfc3(0x157)](_0x45bfc3(0xdc))){_0x451f31=_0x57e7b5[_0x45bfc3(0x117)];const _0x827579=_0xa44e9['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x6008d6=_0x827579?_0x827579[0x1]:null;}else{if(_0x3ade5a[_0x45bfc3(0x157)](_0x57e7b5[_0x45bfc3(0x161)])){_0x451f31=_0x57e7b5[_0x45bfc3(0x161)];const _0x4c8789=_0xa44e9[_0x45bfc3(0x144)](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x6008d6=_0x4c8789?_0x4c8789[0x1]:null;}else{if(_0x3ade5a[_0x45bfc3(0x157)]('UPDATE')){_0x451f31=_0x57e7b5[_0x45bfc3(0xf7)];const _0x4ed98b=_0xa44e9[_0x45bfc3(0x144)](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x6008d6=_0x4ed98b?_0x4ed98b[0x1]:null;}else{if(_0x3ade5a['startsWith'](_0x57e7b5['PLKLo'])){_0x451f31=_0x57e7b5[_0x45bfc3(0xd2)];const _0x42044d=_0xa44e9['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x6008d6=_0x42044d?_0x42044d[0x1]:null;}else{if(_0x3ade5a[_0x45bfc3(0x157)](_0x57e7b5['OlEXc'])||_0x3ade5a[_0x45bfc3(0x157)](_0x45bfc3(0xed)))_0x451f31=_0x57e7b5[_0x45bfc3(0x122)];else{if(_0x3ade5a[_0x45bfc3(0x157)](_0x45bfc3(0x148)))_0x451f31='TRANSACTION_COMMIT';else{if(_0x3ade5a['startsWith']('ROLLBACK'))_0x451f31=_0x57e7b5['mMbwi'];else{if(_0x3ade5a['startsWith'](_0x57e7b5['vnhQs']))_0x451f31=_0x45bfc3(0x13f);else{if(_0x3ade5a['startsWith'](_0x57e7b5['DekQn']))_0x451f31=_0x57e7b5[_0x45bfc3(0xcb)];else _0x3ade5a[_0x45bfc3(0x157)](_0x45bfc3(0x116))&&(_0x451f31=_0x45bfc3(0xf1));}}}}}}}}return{'type':_0x451f31,'table':_0x6008d6};},startQueryTimer=()=>{const _0x103eb9=a0_0xee9e28,_0x53d7df={'VnIiP':function(_0x530a4c,_0x181697){return _0x530a4c(_0x181697);},'Uiqcj':function(_0x54365d,_0xd5d359){return _0x54365d+_0xd5d359;},'ZiRMS':function(_0x35046e,_0x5c6749){return _0x35046e*_0x5c6749;}},_0x41e90b=process[_0x103eb9(0xdb)]();return()=>{const _0x8b9052=_0x103eb9,[_0x2ce544,_0x3c8684]=process['hrtime'](_0x41e90b);return _0x53d7df['VnIiP'](parseFloat,_0x53d7df[_0x8b9052(0x103)](_0x53d7df['ZiRMS'](_0x2ce544,0x3e8),_0x3c8684/0xf4240)['toFixed'](0x2));};},logQuery=(_0x5ec2e0,_0x897564=[],_0x40d76b={})=>{const _0x11d5b2=a0_0xee9e28,_0x558f26={'ngouQ':'db_query','uepmG':_0x11d5b2(0x140),'kdLof':'postgresql','bqqiP':function(_0x172f90,_0x41aae0){return _0x172f90(_0x41aae0);},'qpHSN':_0x11d5b2(0xfa),'TpZxE':function(_0x39a5f8,_0x16fec3,_0x3a83bf){return _0x39a5f8(_0x16fec3,_0x3a83bf);},'UlsdP':function(_0x4d72e7,_0x161e19){return _0x4d72e7!==_0x161e19;},'MoKXB':function(_0x1f16d3,_0xa3d382){return _0x1f16d3||_0xa3d382;},'GTOEn':_0x11d5b2(0x167),'pNvcp':function(_0x3abdc0,_0x95d67){return _0x3abdc0!==_0x95d67;},'jvNKI':function(_0x2a497e,_0x51fe57){return _0x2a497e>_0x51fe57;},'CFaFC':_0x11d5b2(0xfb),'KbZne':'warn','ywnaz':function(_0x392668,_0x522286){return _0x392668===_0x522286;},'SnFam':'info'};if(!sqlLogEnabled){logger[_0x11d5b2(0xfb)]({'event':_0x558f26[_0x11d5b2(0x102)],'query':_0x5ec2e0['substring'](0x0,0xc8),'paramCount':_0x897564[_0x11d5b2(0x10c)]},_0x558f26['uepmG']);return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x558f26['kdLof']}=_0x40d76b,{type:_0xedd734,table:_0xa5246a}=_0x558f26['bqqiP'](parseQueryMetadata,_0x5ec2e0),_0x123fe5={'event':_0x558f26[_0x11d5b2(0xba)],'queryType':_0xedd734,'table':_0xa5246a,'query':_0x5ec2e0,'paramCount':_0x897564[_0x11d5b2(0x10c)],'dbType':dbType};sqlLogParams&&_0x897564['length']>0x0&&(_0x123fe5['params']=_0x558f26[_0x11d5b2(0xf5)](redactSensitiveParams,_0x897564,_0x5ec2e0));duration!==null&&(_0x123fe5[_0x11d5b2(0x143)]=duration,_0x123fe5[_0x11d5b2(0xff)]=duration>sqlLogSlowThreshold);_0x558f26[_0x11d5b2(0x130)](rowsAffected,null)&&(_0x123fe5['rowsAffected']=rowsAffected);const _0x5b8cc6=_0x558f26['MoKXB'](_0xa5246a,_0x558f26['GTOEn']);let _0x23f679='['+_0xedd734+']\x20'+_0x5b8cc6;duration!==null&&(_0x23f679+='\x20('+duration+'ms)');const _0x136774=_0x558f26[_0x11d5b2(0xaa)](duration,null)&&_0x558f26[_0x11d5b2(0x135)](duration,sqlLogSlowThreshold);let _0x2fcc87=_0x558f26['CFaFC'];if(_0x136774)_0x23f679+='\x20[SLOW]',_0x2fcc87=_0x558f26[_0x11d5b2(0xf9)],logger['warn'](_0x123fe5,_0x23f679);else _0x558f26[_0x11d5b2(0xe0)](sqlLogLevel,_0x558f26[_0x11d5b2(0xf2)])?(_0x2fcc87=_0x558f26['SnFam'],logger[_0x11d5b2(0xf4)](_0x123fe5,_0x23f679)):logger[_0x11d5b2(0xfb)](_0x123fe5,_0x23f679);writeToFileLog({..._0x123fe5,'level':_0x2fcc87,'msg':_0x23f679,'time':new Date()[_0x11d5b2(0x150)]()},_0x2fcc87);},logTransaction=(_0x227a40,_0x3f2836)=>{const _0x29978b=a0_0xee9e28,_0x5d4516={'cpxia':_0x29978b(0xcf),'WZZsJ':_0x29978b(0xfb)},_0x337be2={'event':_0x5d4516[_0x29978b(0x11c)],'status':_0x227a40,'queryCount':_0x3f2836},_0x3a9167='Transaction\x20'+_0x227a40;logger['debug'](_0x337be2,_0x3a9167),writeToFileLog({..._0x337be2,'level':_0x5d4516['WZZsJ'],'msg':_0x3a9167,'time':new Date()[_0x29978b(0x150)]()},_0x5d4516[_0x29978b(0x128)]);},redactObject=_0x10ae53=>{const _0x372aaf=a0_0xee9e28,_0x5af9c5={'Uonfv':'password','ndAit':'passwd','tXwrn':_0x372aaf(0xca),'IzjAO':_0x372aaf(0x120),'Xqdyq':'ssn','kmCiF':'privatekey','oKTHc':_0x372aaf(0xf8),'UGInH':'[REDACTED]','YkucK':function(_0x27000a,_0x4f914b){return _0x27000a===_0x4f914b;}};if(!_0x10ae53||typeof _0x10ae53!==_0x372aaf(0x112))return _0x10ae53;const _0x137f38=[_0x5af9c5['Uonfv'],_0x5af9c5[_0x372aaf(0xb4)],_0x5af9c5['tXwrn'],_0x372aaf(0x154),'secret','apikey','api_key','authorization','creditcard','credit_card',_0x5af9c5['IzjAO'],_0x5af9c5['Xqdyq'],'pin',_0x372aaf(0x16a),_0x5af9c5[_0x372aaf(0xbf)],_0x372aaf(0xb0),_0x5af9c5['oKTHc']],_0x823228=Array[_0x372aaf(0xfe)](_0x10ae53)?[..._0x10ae53]:{..._0x10ae53};for(const _0x42e929 of Object[_0x372aaf(0xd8)](_0x823228)){const _0x5abdf7=_0x42e929['toLowerCase']();if(_0x137f38[_0x372aaf(0x123)](_0x487f76=>_0x5abdf7[_0x372aaf(0xcc)](_0x487f76)))_0x823228[_0x42e929]=_0x5af9c5[_0x372aaf(0x13c)];else _0x5af9c5[_0x372aaf(0xae)](typeof _0x823228[_0x42e929],_0x372aaf(0x112))&&_0x823228[_0x42e929]!==null&&(_0x823228[_0x42e929]=redactObject(_0x823228[_0x42e929]));}return _0x823228;},logError=(_0x4aee27,_0x47a486={},_0x265c2b=null)=>{const _0x504c55=a0_0xee9e28,_0x24f088={'JeqVJ':_0x504c55(0xbd),'PYZiC':_0x504c55(0x12d),'MFaiu':function(_0x140d60,_0x223fd9,_0x1c6a6b){return _0x140d60(_0x223fd9,_0x1c6a6b);}},_0xc916ae={'event':_0x24f088[_0x504c55(0xd1)],'errorName':_0x4aee27[_0x504c55(0x12e)]||_0x24f088[_0x504c55(0xde)],'errorMessage':_0x4aee27['message'],'errorCode':_0x4aee27[_0x504c55(0x124)]||null,'stack':_0x4aee27['stack'],..._0x47a486},_0x9119ad=_0x265c2b||'Error:\x20'+_0x4aee27[_0x504c55(0xfd)];logger['error'](_0xc916ae,_0x9119ad),_0x24f088[_0x504c55(0xe2)](writeToFileLog,{..._0xc916ae,'level':_0x24f088['JeqVJ'],'msg':_0x9119ad,'time':new Date()['toISOString']()},_0x504c55(0xbd));},logFatalError=(_0x294c31,_0x7321a={},_0x4543f0=null)=>{const _0x43c4bb=a0_0xee9e28,_0x205e86={'mmGKv':_0x43c4bb(0x12d),'eTbhC':'error'},_0x5b112f={'event':_0x43c4bb(0x111),'errorName':_0x294c31['name']||_0x205e86[_0x43c4bb(0xac)],'errorMessage':_0x294c31['message'],'errorCode':_0x294c31['code']||null,'stack':_0x294c31[_0x43c4bb(0xbc)],'severity':'CRITICAL',..._0x7321a},_0x3ec8ef=_0x4543f0||'FATAL:\x20'+_0x294c31['message'];logger['fatal'](_0x5b112f,_0x3ec8ef),writeToFileLog({..._0x5b112f,'level':_0x43c4bb(0xc4),'msg':_0x3ec8ef,'time':new Date()['toISOString']()},_0x205e86['eTbhC']);},logHttpError=(_0x52b723,_0x4059b9,_0x179efe={})=>{const _0x17f1df=a0_0xee9e28,_0x1a0c39={'UNITY':'user-agent','lprdP':'x-request-id','Gwdwm':function(_0x838bc0,_0x3a0d97){return _0x838bc0>=_0x3a0d97;},'pIhvr':function(_0x3f97de,_0x103eeb,_0x2f0f9c){return _0x3f97de(_0x103eeb,_0x2f0f9c);},'lfvOT':'error','nTrcw':'warn'},_0xb2f8b0={'event':'http_error','errorName':_0x52b723['name']||'Error','errorMessage':_0x52b723[_0x17f1df(0xfd)],'errorCode':_0x52b723['code']||_0x52b723[_0x17f1df(0x109)]||0x1f4,'stack':_0x52b723['stack'],'method':_0x4059b9?.['method'],'url':_0x4059b9?.['url']||_0x4059b9?.['originalUrl'],'path':_0x4059b9?.['path'],'ip':_0x4059b9?.['ip']||_0x4059b9?.['connection']?.['remoteAddress'],'userAgent':_0x4059b9?.['get']?.(_0x1a0c39['UNITY']),'requestId':_0x4059b9?.['id']||_0x4059b9?.[_0x17f1df(0xfc)]?.[_0x1a0c39['lprdP']],'body':_0x4059b9?.[_0x17f1df(0x132)]?redactObject(_0x4059b9['body']):undefined,'query':_0x4059b9?.[_0x17f1df(0x151)],..._0x179efe},_0x65e08b=_0x52b723['statusCode']||_0x52b723['status']||0x1f4,_0x2a00b7=_0x17f1df(0x158)+_0x65e08b+':\x20'+_0x52b723['message'];_0x1a0c39['Gwdwm'](_0x65e08b,0x1f4)?logger['error'](_0xb2f8b0,_0x2a00b7):logger[_0x17f1df(0xdf)](_0xb2f8b0,_0x2a00b7),_0x1a0c39[_0x17f1df(0x113)](writeToFileLog,{..._0xb2f8b0,'level':_0x65e08b>=0x1f4?_0x1a0c39['lfvOT']:'warn','msg':_0x2a00b7,'time':new Date()[_0x17f1df(0x150)]()},_0x65e08b>=0x1f4?_0x1a0c39['lfvOT']:_0x1a0c39[_0x17f1df(0x115)]);},logUncaughtError=(_0x26c74d,_0x43685e)=>{const _0x6b0d7b=a0_0xee9e28,_0x41a5fb={'GxWtB':function(_0x58f99e,_0x1a7370){return _0x58f99e(_0x1a7370);},'JAGgn':function(_0x1ccb44,_0x34f09a,_0x2465b){return _0x1ccb44(_0x34f09a,_0x2465b);}},_0x131a69={'event':_0x26c74d,'errorName':_0x43685e?.[_0x6b0d7b(0x12e)]||'Error','errorMessage':_0x43685e?.[_0x6b0d7b(0xfd)]||_0x41a5fb['GxWtB'](String,_0x43685e),'errorCode':_0x43685e?.['code']||null,'stack':_0x43685e?.[_0x6b0d7b(0xbc)],'severity':'CRITICAL','processId':process[_0x6b0d7b(0x145)],'memoryUsage':process[_0x6b0d7b(0x10b)](),'uptime':process[_0x6b0d7b(0x169)]()},_0x38d842='['+_0x26c74d['toUpperCase']()+']\x20'+(_0x43685e?.['message']||_0x43685e);logger['fatal'](_0x131a69,_0x38d842),_0x41a5fb['JAGgn'](writeToFileLog,{..._0x131a69,'level':_0x6b0d7b(0xc4),'msg':_0x38d842,'time':new Date()['toISOString']()},'error');},setupGlobalErrorHandlers=()=>{const _0x55c32e=a0_0xee9e28,_0x458512={'TZLPL':_0x55c32e(0xd7),'JfSGX':function(_0x350b83,_0x28b0ed){return _0x350b83 instanceof _0x28b0ed;},'ylXTZ':function(_0x5f463a,_0x268dde){return _0x5f463a(_0x268dde);},'ernmq':function(_0x549c95,_0x59d188,_0x18ae1d){return _0x549c95(_0x59d188,_0x18ae1d);},'DmOqn':'unhandledRejection','YzNlK':'process_warning','nOhcB':_0x55c32e(0xe8),'SJXda':_0x55c32e(0xf4)};process['on'](_0x458512['TZLPL'],_0x17e8ce=>{logUncaughtError(_0x458512['TZLPL'],_0x17e8ce),setTimeout(()=>{const _0xce13cd=a0_0xc676;process[_0xce13cd(0xad)](0x1);},0x3e8);}),process['on'](_0x458512['DmOqn'],(_0x257c31,_0x462196)=>{const _0x43fb5c=_0x55c32e,_0xfdd391=_0x458512[_0x43fb5c(0x153)](_0x257c31,Error)?_0x257c31:new Error(_0x458512[_0x43fb5c(0x11f)](String,_0x257c31));_0x458512[_0x43fb5c(0xe9)](logUncaughtError,_0x458512['DmOqn'],_0xfdd391);}),process['on'](_0x55c32e(0x138),_0x2217f5=>{const _0x3f0ecd=_0x55c32e;logger[_0x3f0ecd(0xdf)]({'event':_0x458512['YzNlK'],'name':_0x2217f5['name'],'message':_0x2217f5[_0x3f0ecd(0xfd)],'stack':_0x2217f5['stack']},_0x3f0ecd(0x108)+_0x2217f5['message']);});const _0x18c7cc={'event':_0x55c32e(0xd9)},_0x523d59=_0x458512[_0x55c32e(0xef)];logger[_0x55c32e(0xf4)](_0x18c7cc,_0x523d59),_0x458512['ernmq'](writeToFileLog,{..._0x18c7cc,'level':_0x55c32e(0xf4),'msg':_0x523d59,'time':new Date()['toISOString']()},_0x458512['SJXda']);},createErrorHandlerMiddleware=()=>{const _0x90f9ac={'IkfUh':function(_0x3e77a1,_0xcb3fd4,_0x2a2308){return _0x3e77a1(_0xcb3fd4,_0x2a2308);},'ZcvoE':'Internal\x20server\x20error'};return(_0x4f416e,_0x958d1a,_0x5ba259,_0x140ce2)=>{const _0x41bdb6=a0_0xc676;_0x90f9ac[_0x41bdb6(0xe5)](logHttpError,_0x4f416e,_0x958d1a);const _0x5d66c9=_0x4f416e[_0x41bdb6(0x109)]||_0x4f416e[_0x41bdb6(0xeb)]||0x1f4;_0x5ba259[_0x41bdb6(0xeb)](_0x5d66c9)['json']({'success':![],'error':_0x5d66c9>=0x1f4?_0x90f9ac['ZcvoE']:_0x4f416e['message'],'requestId':_0x958d1a['id']||_0x958d1a[_0x41bdb6(0xfc)]?.[_0x41bdb6(0xc3)]||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}};function a0_0x3bb2(){const _0x33f36b=['zxjY','u1rbuLqGvfjbtLnbq1rjt04','w09lxsbqCM9Qzwn0igXVywrLzdOG','BK9Oy0i','qvbqx1zfuLnjt04','rermx0rst1a','u25gyw0','iokvKqRILzeGifbVCNqGicaGicaGidOG','Aw5MBW','vhbAEeu','s1DvCw0','uuzLs20','ywnJzxnZx3rVA2vU','s2jABMu','C3fSx3f1zxj5','zgvIDwC','AgvHzgvYCW','BwvZC2fNzq','AxnbCNjHEq','AxntBg93','Bxj2ugi','CMvXlMHLywrLCNmUyxv0Ag9YAxPHDgLVBG','BMDVDve','vwLXy2O','mLnYD1vxqW','u1fmx0Xpr19tte9xx1riuKvtse9mra','rgvMyxvSDa','ruvQzfu','uhjVy2vZCYbxyxjUAw5NoIa','C3rHDhvZq29Kzq','zw52','BwvTB3j5vxnHz2u','BgvUz3rO','C3rYAw5N','iokvKqRILzeGienVBMzPzYaGicaGidOG','q1jJqLK','mJGYmdv5qw5ftwC','zMf0ywXFzxjYB3i','B2jQzwn0','CeLODNi','zvvUCLq','BLrYy3C','rfjpua','AhDRAwG','zxjYB3iUBg9N','DgvZDa','C2vYDMLJzuLUzM8','zhjVuuS','y3b4Awe','Bwf4','iokvKqRILzeGiefqssblzxKGicaGidOG','EwXyvfO','y3z2','ufb2Cw8','tfzUrNe','C29Tzq','y29Kzq','nZiWntq1tw55AMzf','Cgf0Aa','Dg9mB3DLCKnHC2u','v1PAC0O','zgf0ywjHC2u','Ahr0Cf9Yzxf1zxn0','icbjBMzVoIaGia','DwjuywK','rxjYB3i','BMfTzq','rMLSzsbSB2DNAw5NigvUywjSzwq6ia','vwXZzfa','mte0mtK3nZfhDMPZDui','yM9KEq','tM9Kzs5QCW','vK90vhC','ANzos0K','BwfW','B3rW','D2fYBMLUzW','quXurvi','rMfPBgvKihrVignYzwf0zsbSB2CGC3rYzwfTCZO','Bwv0Ag9K','vuDjBKG','lI9SB2DZ','y29UzMLNrMLSzq','rermx0nsrufurq','reiGuxvLCNK','CgfZC3DVCMq','ic0G','zhvYyxrPB25nCW','Bwf0y2G','CgLK','AM1yqui','CgfKrw5K','q09ntuLu','C1DQqK8','revmrvrf','DxnLCG','Ag9ZDa','AgvHBhrOq2HLy2S','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','CgfZC3DK','Dg9ju09tDhjPBMC','CxvLCNK','Aw5MBZPIBhvLlhDHCM46EwvSBg93lgvYCM9YoNjLzcXKzwj1zZPNCMf5','sMztr1G','Dg9Rzw4','rermx0fmvevs','tI9b','C3rHCNrZv2L0Aa','sfruuca','mta2mM5AvMjQqq','C0H3u0O','w1jfrefdveveoMHHC2HD','Cg9YDa','CgLUBY1WCMv0DhK','y2HPBgq','y29UBMvJDgLVBG','BvfQAey','r01LqKW','C2vYDMvYx3n0yxj0Aw5N','u0vsvKLdrv9oqu1f','mJy5meXvqvD1ta','s2vYB0y','yxbPs2v5','Dw5RBM93BG','zxHPC3rZu3LUyW','Dxb0Aw1L','ChjPDMf0zv9RzxK','y3DK','mJGYrhzutM9P','rejFueftu1DpuKq','Ce52y3a','ChjVAMvJDa','Bw1hs3y','zxHPDa','wwT1y0S','zw52AxjVBM1LBNq','CMvMCMvZAf90B2TLBG','ChjVAMvJDf9SB2fKzwq','w1jfrefdvevexq','u2vYDMvYihn0yxj0Aw5NoIa','BMrbAxq','tK9erv9ftLy','yxbPx2TLEq','C3rKvgLTzuz1BMn0Aw9UCW','zgf0ywjHC2vFy29UzMLN','CMvZB2X2zq','Cxbiu04','mJuXmdC5nLnJwgr6wq','C3rHy2S','zxjYB3i','yMfZzvvYBa','A21dAuy','tK9uiefdveLwrq','Dg9vChbLCKnHC2u','mtzkvvjQDfK','Ec1Yzxf1zxn0lwLK','zMf0ywW','y3jLzgvUDgLHBhm','zgvMyxvSDa','CMvZDgzVCMDL','AM9PBG','te9hx0XfvKvm','ChDK','wfLUENG','Aw5JBhvKzxm','BM5iCNi','u1fmx0Xpr19ftKfcteve','zgjFDhjHBNnHy3rPB24','wxnbuNK','sMvXvKO','ueXltg8','BejQAhG','odm5mti1vvL0r1D1','vvbeqvrf','Dhj1zq','Dw5JyxvNAhrfEgnLChrPB24','A2v5CW','z2XVyMfSx2vYCM9Yx2HHBMrSzxjZx3nLDhvW','w09lxsbtzxj2zxiGCMvHzhKGB24GCg9YDca','Ahj0Aw1L','u0vmrunu','te9hx0rjuG','ufLAAum','D2fYBG','ExDUyxO','wvPKDgO','tuzHAxu','zw5KCg9PBNrFCMvNAxn0zxjLza','Cu1xBNK','swTMvwG','mJKYntm0mgD2quLeyW','zgv2zwXVCg1LBNq','r2XVyMfSigvYCM9YigHHBMrSzxjZigLUAxrPywXPEMvK','zxjUBxe','vfjbtLnbq1rjt05FqKvhsu4','C3rHDhvZ'];a0_0x3bb2=function(){return _0x33f36b;};return a0_0x3bb2();}
@@ -1 +1 @@
1
- const a0_0x1f94f7=a0_0x15f3;(function(_0x116ef9,_0x4ed6b1){const _0x2e58c3=a0_0x15f3,_0x10ded1=_0x116ef9();while(!![]){try{const _0xbe31e4=-parseInt(_0x2e58c3(0x156))/0x1+parseInt(_0x2e58c3(0x15c))/0x2+-parseInt(_0x2e58c3(0x147))/0x3+parseInt(_0x2e58c3(0x13c))/0x4+parseInt(_0x2e58c3(0x14f))/0x5*(-parseInt(_0x2e58c3(0x160))/0x6)+-parseInt(_0x2e58c3(0x15f))/0x7+parseInt(_0x2e58c3(0x139))/0x8;if(_0xbe31e4===_0x4ed6b1)break;else _0x10ded1['push'](_0x10ded1['shift']());}catch(_0x40eb20){_0x10ded1['push'](_0x10ded1['shift']());}}}(a0_0x5be8,0x22611));const dbType=(process['env'][a0_0x1f94f7(0x14b)]||'postgresql')['toLowerCase']();let executeQuery;if(dbType===a0_0x1f94f7(0x151)){const oracleDb=require(a0_0x1f94f7(0x14e));executeQuery=(_0x5b4218,_0x3e28f2)=>oracleDb[a0_0x1f94f7(0x142)](_0x5b4218,_0x3e28f2);}else{if(dbType===a0_0x1f94f7(0x162)){const mysqlDb=require('./db-mysql');executeQuery=(_0x2ef663,_0x5fbf46)=>mysqlDb['executeQuery'](_0x2ef663,_0x5fbf46);}else executeQuery=require('./db')[a0_0x1f94f7(0x142)];}function a0_0x15f3(_0x503781,_0x2312da){_0x503781=_0x503781-0x137;const _0x5be808=a0_0x5be8();let _0x15f302=_0x5be808[_0x503781];if(a0_0x15f3['OgeXdJ']===undefined){var _0x504c74=function(_0x2f866a){const _0x3580c3='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x39a49b='',_0x507a58='';for(let _0x3c6480=0x0,_0x594419,_0x305cce,_0x2ac2b9=0x0;_0x305cce=_0x2f866a['charAt'](_0x2ac2b9++);~_0x305cce&&(_0x594419=_0x3c6480%0x4?_0x594419*0x40+_0x305cce:_0x305cce,_0x3c6480++%0x4)?_0x39a49b+=String['fromCharCode'](0xff&_0x594419>>(-0x2*_0x3c6480&0x6)):0x0){_0x305cce=_0x3580c3['indexOf'](_0x305cce);}for(let _0x3a3f32=0x0,_0x2db8bd=_0x39a49b['length'];_0x3a3f32<_0x2db8bd;_0x3a3f32++){_0x507a58+='%'+('00'+_0x39a49b['charCodeAt'](_0x3a3f32)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x507a58);};a0_0x15f3['ytINdk']=_0x504c74,a0_0x15f3['uPAlSv']={},a0_0x15f3['OgeXdJ']=!![];}const _0x23dff6=_0x5be808[0x0],_0x305dec=_0x503781+_0x23dff6,_0x24a48a=a0_0x15f3['uPAlSv'][_0x305dec];return!_0x24a48a?(_0x15f302=a0_0x15f3['ytINdk'](_0x15f302),a0_0x15f3['uPAlSv'][_0x305dec]=_0x15f302):_0x15f302=_0x24a48a,_0x15f302;}const {logger}=require('./logger');class LookupResolver{constructor(){this['lookupCache']=new Map();}['clearCache'](){const _0x4c5c9b=a0_0x1f94f7,_0x508a51={'bKVPA':_0x4c5c9b(0x13d)};this['lookupCache']['clear'](),logger['debug']({'event':_0x4c5c9b(0x14d)},_0x508a51['bKVPA']);}async[a0_0x1f94f7(0x158)](_0x364dc6,_0x3cb931,_0x41e446){const _0x4e3f7c=a0_0x1f94f7,_0x432522={'Dsjud':function(_0x34cb9d,_0x1a1db3){return _0x34cb9d!==_0x1a1db3;},'cXsVO':function(_0x1bb9cf,_0x3b1eb8){return _0x1bb9cf(_0x3b1eb8);}},_0x37c51d=_0x364dc6+':'+_0x3cb931+':'+_0x41e446;if(this[_0x4e3f7c(0x15e)][_0x4e3f7c(0x148)](_0x37c51d))return this[_0x4e3f7c(0x15e)]['get'](_0x37c51d);try{const _0x47047b='SELECT\x20'+_0x41e446+',\x20'+_0x3cb931+'\x20FROM\x20'+_0x364dc6,_0x44e7d3=await _0x432522['cXsVO'](executeQuery,_0x47047b),_0x3c708c=new Map();return _0x44e7d3[_0x4e3f7c(0x14a)](_0x2f30c1=>{const _0x5d59b5=_0x4e3f7c,_0x317bdd=_0x2f30c1[_0x3cb931]!==undefined?_0x2f30c1[_0x3cb931]:_0x2f30c1[_0x3cb931['toUpperCase']()],_0x345518=_0x432522['Dsjud'](_0x2f30c1[_0x41e446],undefined)?_0x2f30c1[_0x41e446]:_0x2f30c1[_0x41e446['toUpperCase']()];_0x432522[_0x5d59b5(0x161)](_0x317bdd,null)&&_0x317bdd!==undefined&&(_0x3c708c['set'](String(_0x317bdd)[_0x5d59b5(0x140)]()['trim'](),_0x345518),_0x3c708c[_0x5d59b5(0x14c)](_0x432522[_0x5d59b5(0x152)](String,_0x317bdd)['trim'](),_0x345518));}),this['lookupCache']['set'](_0x37c51d,_0x3c708c),logger['info']({'event':_0x4e3f7c(0x146),'table':_0x364dc6,'column':_0x3cb931,'count':_0x44e7d3['length']},_0x4e3f7c(0x145)+_0x364dc6),_0x3c708c;}catch(_0x225eb4){logger[_0x4e3f7c(0x154)]({'event':_0x4e3f7c(0x155),'table':_0x364dc6,'error':_0x225eb4['message']},_0x4e3f7c(0x137)+_0x364dc6);throw _0x225eb4;}}[a0_0x1f94f7(0x13f)](_0x53b688,_0x5eaf3c){const _0x5135f5=a0_0x1f94f7,_0x22c333={'dmZiZ':function(_0x9fabcb,_0x4fa43d){return _0x9fabcb===_0x4fa43d;}};if(_0x53b688===null||_0x53b688===undefined||_0x22c333[_0x5135f5(0x141)](_0x53b688,''))return null;const _0x5037e4=String(_0x53b688)['trim']();if(_0x5eaf3c['has'](_0x5037e4))return _0x5eaf3c[_0x5135f5(0x150)](_0x5037e4);const _0x1b8da7=_0x5037e4['toLowerCase']();if(_0x5eaf3c[_0x5135f5(0x148)](_0x1b8da7))return _0x5eaf3c['get'](_0x1b8da7);return null;}async[a0_0x1f94f7(0x144)](_0x469174,_0x289e33){const _0x4ef163=a0_0x1f94f7,_0x28b8e1={'fNQAG':function(_0x12f3de,_0x1d2688){return _0x12f3de!==_0x1d2688;},'pfCPG':function(_0x1deb2e,_0x4bf4a8){return _0x1deb2e===_0x4bf4a8;},'gzaTK':_0x4ef163(0x13a)};if(!_0x289e33||_0x28b8e1['pfCPG'](Object['keys'](_0x289e33)['length'],0x0))return{'processedRows':_0x469174,'errors':[]};const _0x595078=[],_0xce08dd=new Map();for(const [_0x24c706,_0x5b997c]of Object[_0x4ef163(0x13b)](_0x289e33)){const {lookupTable:_0xf7c745,lookupColumn:_0x32bcf7,lookupIdColumn:_0x39fcb0}=_0x5b997c,_0x4081d7=_0xf7c745+':'+_0x32bcf7+':'+_0x39fcb0;if(!_0xce08dd[_0x4ef163(0x148)](_0x4081d7)){const _0x3fdbdf=await this['loadLookupTable'](_0xf7c745,_0x32bcf7,_0x39fcb0);_0xce08dd[_0x4ef163(0x14c)](_0x4081d7,_0x3fdbdf);}}const _0x14bd5b=_0x469174['map']((_0x2516d5,_0x5aa1e9)=>{const _0x4fcd63=_0x4ef163,_0x4be7af={..._0x2516d5};for(const [_0x3c6d12,_0x1a3dcb]of Object[_0x4fcd63(0x13b)](_0x289e33)){const {lookupTable:_0x599575,lookupColumn:_0xc270ee,lookupIdColumn:_0x5f0956,targetField:_0x9e82f8,required:_0x50fcd1}=_0x1a3dcb,_0x134bfc=_0x599575+':'+_0xc270ee+':'+_0x5f0956,_0x58452d=_0xce08dd['get'](_0x134bfc),_0x507fee=_0x2516d5[_0x3c6d12];if((_0x507fee===null||_0x507fee===undefined||_0x507fee==='')&&!_0x50fcd1){_0x4be7af[_0x9e82f8]=null;continue;}const _0x4165c3=this['resolveLookupValue'](_0x507fee,_0x58452d);_0x28b8e1[_0x4fcd63(0x149)](_0x4165c3,null)?_0x4be7af[_0x9e82f8]=_0x4165c3:(_0x50fcd1&&_0x595078['push']({'rowIndex':_0x5aa1e9,'field':_0x3c6d12,'value':_0x507fee,'targetField':_0x9e82f8,'lookupTable':_0x599575,'message':'Value\x20\x22'+_0x507fee+_0x4fcd63(0x15a)+_0x599575}),_0x4be7af[_0x9e82f8]=null);}return _0x4be7af;});return logger['info']({'event':_0x28b8e1['gzaTK'],'totalRows':_0x469174[_0x4ef163(0x138)],'errorCount':_0x595078[_0x4ef163(0x138)],'lookupFieldCount':Object['keys'](_0x289e33)['length']},'Lookup\x20fields\x20processed'),{'processedRows':_0x14bd5b,'errors':_0x595078};}['getDistinctValues'](_0x3460d4,_0x51ab69){const _0xdc6035=a0_0x1f94f7,_0x558f93={'VVRcg':function(_0x503882,_0x30f6d1){return _0x503882!==_0x30f6d1;}},_0x1d6fff=new Set();return _0x3460d4[_0xdc6035(0x14a)](_0x1c7f9b=>{const _0x287d6c=_0xdc6035,_0x4f0174=_0x1c7f9b[_0x51ab69];_0x4f0174!==null&&_0x558f93[_0x287d6c(0x15d)](_0x4f0174,undefined)&&_0x4f0174!==''&&_0x1d6fff[_0x287d6c(0x157)](String(_0x4f0174)['trim']());}),Array['from'](_0x1d6fff);}async['validateLookupValues'](_0x2a1ef0,_0x2cb4c3){const _0x48a229=a0_0x1f94f7,_0x57c8c9={'plWiX':function(_0xfc8f35,_0x33b564){return _0xfc8f35!==_0x33b564;},'lchOV':function(_0x1dd648,_0x15f2b0){return _0x1dd648===_0x15f2b0;}};if(!_0x2cb4c3||_0x57c8c9[_0x48a229(0x163)](Object[_0x48a229(0x143)](_0x2cb4c3)['length'],0x0))return{'valid':!![],'errors':[],'suggestions':{}};const _0x97174d=[],_0x243b99={};for(const [_0x1e5c6e,_0x4e13ca]of Object[_0x48a229(0x13b)](_0x2cb4c3)){const {lookupTable:_0x269d08,lookupColumn:_0x4f4c9c,lookupIdColumn:_0x3bd0cf,required:_0xe81795}=_0x4e13ca,_0x31132d=this[_0x48a229(0x13e)](_0x2a1ef0,_0x1e5c6e),_0x2bbe74=await this['loadLookupTable'](_0x269d08,_0x4f4c9c,_0x3bd0cf),_0x41a6a8=[],_0x221ac0=[];_0x31132d[_0x48a229(0x14a)](_0x30acaf=>{const _0xac6ed7=_0x48a229,_0x584176=this[_0xac6ed7(0x13f)](_0x30acaf,_0x2bbe74);_0x57c8c9[_0xac6ed7(0x15b)](_0x584176,null)?_0x221ac0[_0xac6ed7(0x159)](_0x30acaf):_0x41a6a8['push'](_0x30acaf);});if(_0x41a6a8['length']>0x0&&_0xe81795){_0x97174d['push']({'field':_0x1e5c6e,'lookupTable':_0x269d08,'invalidValues':_0x41a6a8,'message':_0x41a6a8[_0x48a229(0x138)]+'\x20value(s)\x20not\x20found\x20in\x20'+_0x269d08});const _0x429a0e=[];_0x2bbe74[_0x48a229(0x14a)]((_0x363b5f,_0x550c96)=>{const _0x42b137=_0x48a229;if(_0x550c96===_0x550c96[_0x42b137(0x140)]())return;_0x429a0e['push'](_0x550c96);}),_0x243b99[_0x1e5c6e]={'invalidValues':_0x41a6a8,'availableValues':_0x429a0e['slice'](0x0,0x32)};}}return{'valid':_0x97174d['length']===0x0,'errors':_0x97174d,'suggestions':_0x243b99};}}function a0_0x5be8(){const _0x586f91=['rhnQDwq','BxLZCwW','BgnOt1y','rMfPBgvKihrVigXVywqGBg9VA3vWihrHyMXLoIa','BgvUz3rO','mJy5odC2oe5Tr3fxrG','Bg9VA3vWx2zPzwXKC19WCM9JzxnZzwq','zw50CMLLCW','mtm3mZy4rvDus2zo','tg9VA3vWignHy2HLignSzwfYzwq','z2v0rgLZDgLUy3rwywX1zxm','CMvZB2X2zuXVB2T1CfzHBhvL','Dg9mB3DLCKnHC2u','zg1AAvO','zxHLy3v0zvf1zxj5','A2v5CW','ChjVy2vZC0XVB2T1CezPzwXKCW','tg9VA3vWihrHyMXLigXVywrLzdOG','Bg9VA3vWx3rHyMXLx2XVywrLza','ntiXmtyWBLfTsNnR','AgfZ','zK5rquC','zM9YrwfJAa','rejFvfLqrq','C2v0','Bg9VA3vWx2nHy2HLx2nSzwfYzwq','lI9KyI1VCMfJBgu','nu1pt0rZDq','z2v0','B3jHy2XL','y1HZvK8','zxHWB3j0CW','zxjYB3i','Bg9VA3vWx3rHyMXLx2XVywrFzxjYB3i','otqYmgH2DvrtqG','ywrK','Bg9HzeXVB2T1CfrHyMXL','ChvZAa','iIbUB3qGzM91BMqGAw4G','CgXxAvG','mtu3mtG4B21lrNre','vLzsy2C','Bg9VA3vWq2fJAgu','mJq0nZm0ufj5wK9H','ntq4mtC4tfndyKfK'];a0_0x5be8=function(){return _0x586f91;};return a0_0x5be8();}module[a0_0x1f94f7(0x153)]=new LookupResolver();
1
+ const a0_0x3ae4e0=a0_0x9b8c;(function(_0x55f1f4,_0x1d8c52){const _0x11b93c=a0_0x9b8c,_0x2a1715=_0x55f1f4();while(!![]){try{const _0x1dba7a=-parseInt(_0x11b93c(0x1d9))/0x1+parseInt(_0x11b93c(0x1fd))/0x2*(parseInt(_0x11b93c(0x1dc))/0x3)+-parseInt(_0x11b93c(0x1e3))/0x4+-parseInt(_0x11b93c(0x1f3))/0x5+parseInt(_0x11b93c(0x200))/0x6+-parseInt(_0x11b93c(0x1df))/0x7*(-parseInt(_0x11b93c(0x1fc))/0x8)+-parseInt(_0x11b93c(0x1f1))/0x9*(-parseInt(_0x11b93c(0x203))/0xa);if(_0x1dba7a===_0x1d8c52)break;else _0x2a1715['push'](_0x2a1715['shift']());}catch(_0x411c96){_0x2a1715['push'](_0x2a1715['shift']());}}}(a0_0x4bed,0xa49ca));function a0_0x4bed(){const _0x3a8d0c=['zw50CMLLCW','B3jHy2XL','lI9KyI1TExnXBa','C2v0','ntCXnJa4twruB1LO','Dg9vChbLCKnHC2u','ndi5mtaXnuHTug5QyW','Bg9VA3vWq2fJAgu','BgvUz3rO','zxHLy3v0zvf1zxj5','AvrszMy','Bg9HzeXVB2T1CfrHyMXL','sNPuyM0','lI9KyG','AgfZ','ndmYoteYwxHyv2Tu','otGZmfzfte95Ca','DhjPBq','iIbUB3qGzM91BMqGAw4G','nty4ntm0mKfzAuDOsa','zxHWB3j0CW','BxLZCwW','mtuWENHdChzL','y2XLyxjdywnOzq','tg9VA3vWignHy2HLignSzwfYzwq','qujmy2G','zxjYB3i','zNjVBq','DMfSAwrHDgvmB29RDxbwywX1zxm','ChjVy2vZC0XVB2T1CezPzwXKCW','ENrhzvO','u2jby1u','nZC5mJK0AuvHDwj1','sezwvMm','BwfW','ntCWtNjyv2fk','A2v5CW','CMvZB2X2zuXVB2T1CfzHBhvL','otflzhL0wNO','Dg9mB3DLCKnHC2u','AMfLyKK','BwvZC2fNzq','ndKWmZi4ofLHvgXsyW','u0vmrunuia','Cg9ZDgDYzxnXBa','rfDjv0i','ywrK','DNzXywi','ChvZAa','Bg9VA3vWx3rHyMXLx2XVywrLza','z2v0rgLZDgLUy3rwywX1zxm','rejFvfLqrq'];a0_0x4bed=function(){return _0x3a8d0c;};return a0_0x4bed();}const dbType=(process['env'][a0_0x3ae4e0(0x1ec)]||a0_0x3ae4e0(0x1e5))['toLowerCase']();let executeQuery;if(dbType===a0_0x3ae4e0(0x1ee)){const oracleDb=require('./db-oracle');executeQuery=(_0x358e25,_0x14a776)=>oracleDb[a0_0x3ae4e0(0x1f6)](_0x358e25,_0x14a776);}else{if(dbType===a0_0x3ae4e0(0x202)){const mysqlDb=require(a0_0x3ae4e0(0x1ef));executeQuery=(_0x3a9c8b,_0xd56b0f)=>mysqlDb[a0_0x3ae4e0(0x1f6)](_0x3a9c8b,_0xd56b0f);}else executeQuery=require(a0_0x3ae4e0(0x1fa))[a0_0x3ae4e0(0x1f6)];}const {logger}=require('./logger');function a0_0x9b8c(_0xa935ee,_0x2945aa){_0xa935ee=_0xa935ee-0x1d1;const _0x4bed89=a0_0x4bed();let _0x9b8ce8=_0x4bed89[_0xa935ee];if(a0_0x9b8c['PvgOrd']===undefined){var _0x3a9537=function(_0x369174){const _0x5ec1e8='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2a09e1='',_0x1e25cc='';for(let _0xf79587=0x0,_0x1de6b9,_0x2afd4d,_0x1bfc71=0x0;_0x2afd4d=_0x369174['charAt'](_0x1bfc71++);~_0x2afd4d&&(_0x1de6b9=_0xf79587%0x4?_0x1de6b9*0x40+_0x2afd4d:_0x2afd4d,_0xf79587++%0x4)?_0x2a09e1+=String['fromCharCode'](0xff&_0x1de6b9>>(-0x2*_0xf79587&0x6)):0x0){_0x2afd4d=_0x5ec1e8['indexOf'](_0x2afd4d);}for(let _0x3a9d9a=0x0,_0x13dd1b=_0x2a09e1['length'];_0x3a9d9a<_0x13dd1b;_0x3a9d9a++){_0x1e25cc+='%'+('00'+_0x2a09e1['charCodeAt'](_0x3a9d9a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1e25cc);};a0_0x9b8c['raxcaB']=_0x3a9537,a0_0x9b8c['yffMer']={},a0_0x9b8c['PvgOrd']=!![];}const _0x2fc656=_0x4bed89[0x0],_0x434985=_0xa935ee+_0x2fc656,_0x40e18e=a0_0x9b8c['yffMer'][_0x434985];return!_0x40e18e?(_0x9b8ce8=a0_0x9b8c['raxcaB'](_0x9b8ce8),a0_0x9b8c['yffMer'][_0x434985]=_0x9b8ce8):_0x9b8ce8=_0x40e18e,_0x9b8ce8;}class LookupResolver{constructor(){this['lookupCache']=new Map();}[a0_0x3ae4e0(0x204)](){const _0x1d6e2c=a0_0x3ae4e0,_0x30245e={'YmioX':'lookup_cache_cleared','WFWww':_0x1d6e2c(0x1d1)};this['lookupCache']['clear'](),logger['debug']({'event':_0x30245e['YmioX']},_0x30245e['WFWww']);}async[a0_0x3ae4e0(0x1f8)](_0xd39d10,_0x39aca8,_0x3afe61){const _0x277879=a0_0x3ae4e0,_0x5cd41f={'HFVVc':function(_0x9de0e2,_0x460345){return _0x9de0e2!==_0x460345;},'SbAcU':function(_0x36917a,_0x63bbb8){return _0x36917a(_0x63bbb8);},'pJozZ':function(_0x428d8c,_0x1f4e54){return _0x428d8c(_0x1f4e54);}},_0x3e7b5a=_0xd39d10+':'+_0x39aca8+':'+_0x3afe61;if(this['lookupCache'][_0x277879(0x1fb)](_0x3e7b5a))return this[_0x277879(0x1f4)]['get'](_0x3e7b5a);try{const _0x3187af=_0x277879(0x1e4)+_0x3afe61+',\x20'+_0x39aca8+'\x20FROM\x20'+_0xd39d10,_0x146248=await _0x5cd41f['SbAcU'](executeQuery,_0x3187af),_0x469636=new Map();return _0x146248['forEach'](_0xb406ad=>{const _0x107dba=_0x277879,_0x3bb53c=_0xb406ad[_0x39aca8]!==undefined?_0xb406ad[_0x39aca8]:_0xb406ad[_0x39aca8[_0x107dba(0x1f2)]()],_0x569ed4=_0xb406ad[_0x3afe61]!==undefined?_0xb406ad[_0x3afe61]:_0xb406ad[_0x3afe61[_0x107dba(0x1f2)]()];_0x5cd41f[_0x107dba(0x1da)](_0x3bb53c,null)&&_0x5cd41f[_0x107dba(0x1da)](_0x3bb53c,undefined)&&(_0x469636['set'](_0x5cd41f[_0x107dba(0x1d8)](String,_0x3bb53c)[_0x107dba(0x1e0)]()['trim'](),_0x569ed4),_0x469636[_0x107dba(0x1f0)](_0x5cd41f['pJozZ'](String,_0x3bb53c)['trim'](),_0x569ed4));}),this['lookupCache'][_0x277879(0x1f0)](_0x3e7b5a,_0x469636),logger['info']({'event':_0x277879(0x1ea),'table':_0xd39d10,'column':_0x39aca8,'count':_0x146248['length']},'Lookup\x20table\x20loaded:\x20'+_0xd39d10),_0x469636;}catch(_0x4c111d){logger[_0x277879(0x1d3)]({'event':'lookup_table_load_error','table':_0xd39d10,'error':_0x4c111d[_0x277879(0x1e2)]},'Failed\x20to\x20load\x20lookup\x20table:\x20'+_0xd39d10);throw _0x4c111d;}}[a0_0x3ae4e0(0x1de)](_0x3afe2c,_0x5839ee){const _0x241766=a0_0x3ae4e0,_0x187919={'OVtYK':function(_0x94f3b4,_0x5b685b){return _0x94f3b4===_0x5b685b;},'vvqab':function(_0x1356fe,_0x4ffa7f){return _0x1356fe===_0x4ffa7f;}};if(_0x187919['OVtYK'](_0x3afe2c,null)||_0x187919['OVtYK'](_0x3afe2c,undefined)||_0x187919[_0x241766(0x1e8)](_0x3afe2c,''))return null;const _0x2e1a43=String(_0x3afe2c)['trim']();if(_0x5839ee[_0x241766(0x1fb)](_0x2e1a43))return _0x5839ee['get'](_0x2e1a43);const _0x19b2d4=_0x2e1a43['toLowerCase']();if(_0x5839ee['has'](_0x19b2d4))return _0x5839ee['get'](_0x19b2d4);return null;}async[a0_0x3ae4e0(0x1d6)](_0x6ae098,_0x298921){const _0x4b3eb5=a0_0x3ae4e0,_0x51ce28={'DWIWB':function(_0x328862,_0x54d688){return _0x328862===_0x54d688;},'jaebI':function(_0x35c0c3,_0x449036){return _0x35c0c3===_0x449036;},'XQJzr':'lookup_fields_processed','iTRff':'Lookup\x20fields\x20processed'};if(!_0x298921||_0x51ce28[_0x4b3eb5(0x1e1)](Object[_0x4b3eb5(0x1dd)](_0x298921)['length'],0x0))return{'processedRows':_0x6ae098,'errors':[]};const _0x4a3841=[],_0x4f9638=new Map();for(const [_0x127aab,_0x48fe27]of Object['entries'](_0x298921)){const {lookupTable:_0x45878e,lookupColumn:_0x33c137,lookupIdColumn:_0x13b861}=_0x48fe27,_0x56ec40=_0x45878e+':'+_0x33c137+':'+_0x13b861;if(!_0x4f9638[_0x4b3eb5(0x1fb)](_0x56ec40)){const _0x525b47=await this[_0x4b3eb5(0x1f8)](_0x45878e,_0x33c137,_0x13b861);_0x4f9638[_0x4b3eb5(0x1f0)](_0x56ec40,_0x525b47);}}const _0x177685=_0x6ae098[_0x4b3eb5(0x1db)]((_0x5b180d,_0x426d34)=>{const _0xa74a26=_0x4b3eb5,_0x4dfdd2={..._0x5b180d};for(const [_0x3ba8d5,_0x2b9b8a]of Object[_0xa74a26(0x1ed)](_0x298921)){const {lookupTable:_0x4fa260,lookupColumn:_0x3fe48a,lookupIdColumn:_0x5328d1,targetField:_0x29f5fd,required:_0x31eea8}=_0x2b9b8a,_0x3ed652=_0x4fa260+':'+_0x3fe48a+':'+_0x5328d1,_0x36af25=_0x4f9638['get'](_0x3ed652),_0x59e128=_0x5b180d[_0x3ba8d5];if((_0x59e128===null||_0x59e128===undefined||_0x51ce28[_0xa74a26(0x1e6)](_0x59e128,''))&&!_0x31eea8){_0x4dfdd2[_0x29f5fd]=null;continue;}const _0x25ada3=this[_0xa74a26(0x1de)](_0x59e128,_0x36af25);_0x25ada3!==null?_0x4dfdd2[_0x29f5fd]=_0x25ada3:(_0x31eea8&&_0x4a3841['push']({'rowIndex':_0x426d34,'field':_0x3ba8d5,'value':_0x59e128,'targetField':_0x29f5fd,'lookupTable':_0x4fa260,'message':'Value\x20\x22'+_0x59e128+_0xa74a26(0x1ff)+_0x4fa260}),_0x4dfdd2[_0x29f5fd]=null);}return _0x4dfdd2;});return logger['info']({'event':_0x51ce28['XQJzr'],'totalRows':_0x6ae098['length'],'errorCount':_0x4a3841['length'],'lookupFieldCount':Object[_0x4b3eb5(0x1dd)](_0x298921)['length']},_0x51ce28[_0x4b3eb5(0x1f7)]),{'processedRows':_0x177685,'errors':_0x4a3841};}[a0_0x3ae4e0(0x1eb)](_0x5af54b,_0x598ab4){const _0x2e30de=a0_0x3ae4e0,_0x356409={'jMhQH':function(_0x55d04a,_0xad1597){return _0x55d04a!==_0xad1597;},'ABLch':function(_0x258af3,_0x489576){return _0x258af3(_0x489576);}},_0x19d55c=new Set();return _0x5af54b['forEach'](_0x8863bb=>{const _0x3573a3=a0_0x9b8c,_0x20e9b9=_0x8863bb[_0x598ab4];_0x356409['jMhQH'](_0x20e9b9,null)&&_0x356409['jMhQH'](_0x20e9b9,undefined)&&_0x20e9b9!==''&&_0x19d55c[_0x3573a3(0x1e7)](_0x356409[_0x3573a3(0x1d2)](String,_0x20e9b9)[_0x3573a3(0x1fe)]());}),Array[_0x2e30de(0x1d4)](_0x19d55c);}async[a0_0x3ae4e0(0x1d5)](_0x552ce3,_0x12e369){const _0x4b664d=a0_0x3ae4e0,_0x207d14={'dJxaq':function(_0x2858dc,_0x25d340){return _0x2858dc===_0x25d340;},'JzTbm':function(_0x57cbcd,_0xbe89b){return _0x57cbcd===_0xbe89b;},'qjVFj':function(_0x5b8517,_0x4fb57){return _0x5b8517>_0x4fb57;},'ztGeZ':function(_0x271ba5,_0x4e174c){return _0x271ba5===_0x4e174c;}};if(!_0x12e369||_0x207d14[_0x4b664d(0x1f9)](Object[_0x4b664d(0x1dd)](_0x12e369)[_0x4b664d(0x1f5)],0x0))return{'valid':!![],'errors':[],'suggestions':{}};const _0x2cfd11=[],_0x13cabe={};for(const [_0x1e5624,_0x3cf4e9]of Object['entries'](_0x12e369)){const {lookupTable:_0x4600dd,lookupColumn:_0x29c888,lookupIdColumn:_0x20f57b,required:_0x5d11c5}=_0x3cf4e9,_0x21ce8a=this[_0x4b664d(0x1eb)](_0x552ce3,_0x1e5624),_0x19f666=await this['loadLookupTable'](_0x4600dd,_0x29c888,_0x20f57b),_0x1f30bf=[],_0x585619=[];_0x21ce8a['forEach'](_0x754086=>{const _0x76426b=_0x4b664d,_0x21e0fe=this[_0x76426b(0x1de)](_0x754086,_0x19f666);_0x21e0fe!==null?_0x585619[_0x76426b(0x1e9)](_0x754086):_0x1f30bf['push'](_0x754086);});if(_0x207d14['qjVFj'](_0x1f30bf['length'],0x0)&&_0x5d11c5){_0x2cfd11[_0x4b664d(0x1e9)]({'field':_0x1e5624,'lookupTable':_0x4600dd,'invalidValues':_0x1f30bf,'message':_0x1f30bf['length']+'\x20value(s)\x20not\x20found\x20in\x20'+_0x4600dd});const _0x35ce98=[];_0x19f666['forEach']((_0x1c8889,_0x247624)=>{const _0x3d0ea3=_0x4b664d;if(_0x207d14['dJxaq'](_0x247624,_0x247624[_0x3d0ea3(0x1e0)]()))return;_0x35ce98['push'](_0x247624);}),_0x13cabe[_0x1e5624]={'invalidValues':_0x1f30bf,'availableValues':_0x35ce98['slice'](0x0,0x32)};}}return{'valid':_0x207d14[_0x4b664d(0x1d7)](_0x2cfd11[_0x4b664d(0x1f5)],0x0),'errors':_0x2cfd11,'suggestions':_0x13cabe};}}module[a0_0x3ae4e0(0x201)]=new LookupResolver();
@@ -1 +1 @@
1
- const a0_0x553192=a0_0x4dd4;(function(_0x1bc561,_0x2deb10){const _0x586b49=a0_0x4dd4,_0x4b19c0=_0x1bc561();while(!![]){try{const _0xcd0260=parseInt(_0x586b49(0x16c))/0x1+-parseInt(_0x586b49(0x17b))/0x2*(parseInt(_0x586b49(0x165))/0x3)+-parseInt(_0x586b49(0x15f))/0x4*(-parseInt(_0x586b49(0x174))/0x5)+parseInt(_0x586b49(0x176))/0x6+-parseInt(_0x586b49(0x163))/0x7*(parseInt(_0x586b49(0x169))/0x8)+parseInt(_0x586b49(0x16f))/0x9*(parseInt(_0x586b49(0x181))/0xa)+-parseInt(_0x586b49(0x179))/0xb;if(_0xcd0260===_0x2deb10)break;else _0x4b19c0['push'](_0x4b19c0['shift']());}catch(_0x4cf9fa){_0x4b19c0['push'](_0x4b19c0['shift']());}}}(a0_0xc543,0xc9a48));const fs=require('fs')[a0_0x553192(0x160)],path=require('path'),{logger}=require('./logger');function a0_0x4dd4(_0x4a92f5,_0x3c4613){_0x4a92f5=_0x4a92f5-0x157;const _0xc5437d=a0_0xc543();let _0x4dd471=_0xc5437d[_0x4a92f5];if(a0_0x4dd4['ITQtrQ']===undefined){var _0x9dfc6e=function(_0x3f55e8){const _0x14847f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3be755='',_0x16b6a0='';for(let _0x5a40d8=0x0,_0x51d08d,_0xb45d9,_0x54ced4=0x0;_0xb45d9=_0x3f55e8['charAt'](_0x54ced4++);~_0xb45d9&&(_0x51d08d=_0x5a40d8%0x4?_0x51d08d*0x40+_0xb45d9:_0xb45d9,_0x5a40d8++%0x4)?_0x3be755+=String['fromCharCode'](0xff&_0x51d08d>>(-0x2*_0x5a40d8&0x6)):0x0){_0xb45d9=_0x14847f['indexOf'](_0xb45d9);}for(let _0xfa1368=0x0,_0x245709=_0x3be755['length'];_0xfa1368<_0x245709;_0xfa1368++){_0x16b6a0+='%'+('00'+_0x3be755['charCodeAt'](_0xfa1368)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x16b6a0);};a0_0x4dd4['tDhYLu']=_0x9dfc6e,a0_0x4dd4['FNiYbV']={},a0_0x4dd4['ITQtrQ']=!![];}const _0x153569=_0xc5437d[0x0],_0x337673=_0x4a92f5+_0x153569,_0x3a8396=a0_0x4dd4['FNiYbV'][_0x337673];return!_0x3a8396?(_0x4dd471=a0_0x4dd4['tDhYLu'](_0x4dd471),a0_0x4dd4['FNiYbV'][_0x337673]=_0x4dd471):_0x4dd471=_0x3a8396,_0x4dd471;}class PayloadLoader{constructor(){const _0x5c8a8d=a0_0x553192;this[_0x5c8a8d(0x172)]=path[_0x5c8a8d(0x15a)](__dirname,'../../payload'),this[_0x5c8a8d(0x168)]=new Map();}async['loadPayload'](_0x2e387d,_0x435d0e){const _0xad1ef6=a0_0x553192,_0x164f21={'FeXpL':'utf8','sGtEl':'Payload\x20loaded\x20successfully'},_0x5d006e=_0x2e387d+':'+_0x435d0e;if(this[_0xad1ef6(0x168)][_0xad1ef6(0x17f)](_0x5d006e))return this['cache'][_0xad1ef6(0x167)](_0x5d006e);const _0x1be5e0=path['join'](this[_0xad1ef6(0x172)],_0x2e387d+'_'+_0x435d0e+'.json');try{const _0x4e234b=await fs['readFile'](_0x1be5e0,_0x164f21[_0xad1ef6(0x16e)]),_0x75df14=JSON[_0xad1ef6(0x162)](_0x4e234b);return this['cache']['set'](_0x5d006e,_0x75df14),logger['debug']({'event':'payload_loaded','project':_0x2e387d,'resource':_0x435d0e},_0x164f21[_0xad1ef6(0x180)]),_0x75df14;}catch(_0x2d64f7){logger[_0xad1ef6(0x15b)]({'event':_0xad1ef6(0x16d),'project':_0x2e387d,'resource':_0x435d0e,'error':_0x2d64f7[_0xad1ef6(0x173)]},'Failed\x20to\x20load\x20payload');throw new Error(_0xad1ef6(0x177)+_0x2e387d+'_'+_0x435d0e);}}async[a0_0x553192(0x159)](_0x5c62e5){const _0x27d181=a0_0x553192,_0x3a9fae={'sQUfe':_0x27d181(0x175)},_0x3205f1='payload:'+_0x5c62e5;if(this['cache']['has'](_0x3205f1))return this['cache'][_0x27d181(0x167)](_0x3205f1);const _0x9bf417=path[_0x27d181(0x15a)](this[_0x27d181(0x172)],_0x5c62e5+'.json');try{const _0x1ab38f=await fs[_0x27d181(0x15d)](_0x9bf417,_0x27d181(0x17c)),_0x3c297a=JSON['parse'](_0x1ab38f);return this[_0x27d181(0x168)][_0x27d181(0x161)](_0x3205f1,_0x3c297a),logger[_0x27d181(0x178)]({'event':'payload_loaded','payloadName':_0x5c62e5},'Payload\x20loaded\x20successfully\x20by\x20name'),_0x3c297a;}catch(_0x4271a8){logger[_0x27d181(0x15b)]({'event':_0x27d181(0x16d),'payloadName':_0x5c62e5,'error':_0x4271a8[_0x27d181(0x173)]},_0x3a9fae[_0x27d181(0x170)]);throw new Error(_0x27d181(0x177)+_0x5c62e5);}}[a0_0x553192(0x166)](_0x524f3f,_0x20f88e){const _0x17caef=a0_0x553192,_0x2b1eb7={'BERYo':function(_0x1ee761,_0x166cf3){return _0x1ee761===_0x166cf3;}};return _0x524f3f[_0x17caef(0x17d)]&&_0x2b1eb7['BERYo'](_0x524f3f['action'][_0x20f88e],!![]);}[a0_0x553192(0x171)](_0x96c752){const _0x27d829=a0_0x553192;return{'columns':_0x96c752['fieldName']||[],'filename':_0x96c752[_0x27d829(0x15e)]['replace']('.','-')+_0x27d829(0x157),'datatablesQuery':_0x96c752[_0x27d829(0x15c)]||null,'columnFormats':_0x96c752['columnFormats']||null,'fieldLabels':_0x96c752['fieldLabels']||null};}[a0_0x553192(0x16a)](){const _0x2e50ee=a0_0x553192,_0x30031a={'OMYjs':_0x2e50ee(0x164),'Lskdr':_0x2e50ee(0x17e)};this[_0x2e50ee(0x168)]['clear'](),logger['info']({'event':_0x30031a[_0x2e50ee(0x17a)]},_0x30031a[_0x2e50ee(0x16b)]);}}module[a0_0x553192(0x158)]=new PayloadLoader();function a0_0xc543(){const _0x1cea30=['y2fJAgu','mJrTs0n6yw8','y2XLyxjdywnOzq','thnRzhi','mtiZmta3m3fmrvDiwq','Cgf5Bg9Hzf9SB2fKx2vYCM9Y','rMvyCeW','mtCXourTAerLqW','C1fvzMu','z2v0rxHWB3j0q29UzMLN','Cgf5Bg9HzerPCG','BwvZC2fNzq','mti3mZq0nvbqzu9Qsa','rMfPBgvKihrVigXVywqGCgf5Bg9HzcbIEsbUyw1L','otCZnZaYohbrANDiDG','ugf5Bg9HzcbUB3qGzM91BMq6ia','zgvIDwC','mti1mJC5mZnND2nfB2q','t01zANm','mti1mJaXogfWsMXQsa','DxrMoa','ywn0Aw9U','ugf5Bg9HzcbJywnOzsbJBgvHCMvK','AgfZ','C0D0rwW','nZa2mfzqEhj0za','lwv4Cg9YDa','zxHWB3j0CW','Bg9HzfbHEwXVywrcEu5HBwu','AM9PBG','zxjYB3i','zgf0yxrHyMXLC1f1zxj5','CMvHzezPBgu','DgfIBgvoyw1L','mJbnCKLQC2i','ChjVBwLZzxm','C2v0','CgfYC2u','mJqZote1n21gCLjKtG','Cgf5Bg9Hzf9JywnOzv9JBgvHCMvK','nK95qMHctG','Axnby3rPB25fBMfIBgvK','z2v0'];a0_0xc543=function(){return _0x1cea30;};return a0_0xc543();}
1
+ function a0_0x308e(_0xaa78f7,_0x9dad4){_0xaa78f7=_0xaa78f7-0x1a9;const _0x5125bd=a0_0x5125();let _0x308e1b=_0x5125bd[_0xaa78f7];if(a0_0x308e['GMSIba']===undefined){var _0x55da7b=function(_0x53b244){const _0x6258b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5a23f8='',_0x5d14dc='';for(let _0x3e1443=0x0,_0x55abeb,_0x3eed70,_0x487314=0x0;_0x3eed70=_0x53b244['charAt'](_0x487314++);~_0x3eed70&&(_0x55abeb=_0x3e1443%0x4?_0x55abeb*0x40+_0x3eed70:_0x3eed70,_0x3e1443++%0x4)?_0x5a23f8+=String['fromCharCode'](0xff&_0x55abeb>>(-0x2*_0x3e1443&0x6)):0x0){_0x3eed70=_0x6258b['indexOf'](_0x3eed70);}for(let _0x2b4cd5=0x0,_0x2962a0=_0x5a23f8['length'];_0x2b4cd5<_0x2962a0;_0x2b4cd5++){_0x5d14dc+='%'+('00'+_0x5a23f8['charCodeAt'](_0x2b4cd5)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5d14dc);};a0_0x308e['MHKjmC']=_0x55da7b,a0_0x308e['YPeXel']={},a0_0x308e['GMSIba']=!![];}const _0x538770=_0x5125bd[0x0],_0x13f70b=_0xaa78f7+_0x538770,_0x26b349=a0_0x308e['YPeXel'][_0x13f70b];return!_0x26b349?(_0x308e1b=a0_0x308e['MHKjmC'](_0x308e1b),a0_0x308e['YPeXel'][_0x13f70b]=_0x308e1b):_0x308e1b=_0x26b349,_0x308e1b;}const a0_0x2b3fae=a0_0x308e;(function(_0x19769a,_0x417530){const _0x2bf419=a0_0x308e,_0x5377e5=_0x19769a();while(!![]){try{const _0x2350f0=-parseInt(_0x2bf419(0x1b3))/0x1+parseInt(_0x2bf419(0x1b1))/0x2+parseInt(_0x2bf419(0x1ad))/0x3*(parseInt(_0x2bf419(0x1a9))/0x4)+-parseInt(_0x2bf419(0x1cd))/0x5+parseInt(_0x2bf419(0x1c2))/0x6+parseInt(_0x2bf419(0x1bf))/0x7*(-parseInt(_0x2bf419(0x1b2))/0x8)+parseInt(_0x2bf419(0x1aa))/0x9;if(_0x2350f0===_0x417530)break;else _0x5377e5['push'](_0x5377e5['shift']());}catch(_0x39c012){_0x5377e5['push'](_0x5377e5['shift']());}}}(a0_0x5125,0x4e583));function a0_0x5125(){const _0x5653fb=['y2XLyxjdywnOzq','Axnby3rPB25fBMfIBgvK','mJe2oezAyK9Lrq','mta5mduXmtf2v3borhG','ywn0Aw9U','Cgf5Bg9HzerPCG','mtmYnLjMtw1uCa','vfLnDxC','CgfYC2u','Cgf5Bg9Hzf9SB2fKx2vYCM9Y','mJC0nZrHywDVr1u','mJy5nLLTyxbIvG','ntGXmdqXBwrYD2P2','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5igj5ig5HBwu','rMfPBgvKihrVigXVywqGCgf5Bg9Hza','lMPZB24','BKnptLK','CwDiBgW','Aw5MBW','Cgf5Bg9Hzf9SB2fKzwq','z2v0rxHWB3j0q29UzMLN','CMvHzezPBgu','zxHWB3j0CW','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5','mti1mJnLCxHzuge','y2fJAgu','ugf5Bg9HzcbJywnOzsbJBgvHCMvK','mtKYmdGXmefJBuP4sG','CMvWBgfJzq','zxjYB3i','vLnADMq','C2v0','lI4VlI4VCgf5Bg9Hza','DxrMoa','r3LOtfO','DgfIBgvoyw1L','ugf5Bg9HzcbUB3qGzM91BMq6ia','BwvZC2fNzq','mtqWmtqXmfDpwhLiyW','zgvIDwC','AM9PBG'];a0_0x5125=function(){return _0x5653fb;};return a0_0x5125();}const fs=require('fs')['promises'],path=require('path'),{logger}=require('./logger');class PayloadLoader{constructor(){const _0x24c9a3=a0_0x308e;this[_0x24c9a3(0x1ac)]=path[_0x24c9a3(0x1cf)](__dirname,_0x24c9a3(0x1c7)),this[_0x24c9a3(0x1c0)]=new Map();}async['loadPayload'](_0x483cca,_0x4498d9){const _0x9c0ba6=a0_0x308e,_0x1bc018={'VSZvd':'payload_loaded','wOEiO':'payload_load_error','TYMuw':_0x9c0ba6(0x1b5)},_0x29d0f4=_0x483cca+':'+_0x4498d9;if(this[_0x9c0ba6(0x1c0)]['has'](_0x29d0f4))return this['cache']['get'](_0x29d0f4);const _0x877fe3=path['join'](this[_0x9c0ba6(0x1ac)],_0x483cca+'_'+_0x4498d9+'.json');try{const _0x3d014c=await fs['readFile'](_0x877fe3,_0x9c0ba6(0x1c8)),_0x1b054e=JSON[_0x9c0ba6(0x1af)](_0x3d014c);return this['cache'][_0x9c0ba6(0x1c6)](_0x29d0f4,_0x1b054e),logger['debug']({'event':_0x1bc018[_0x9c0ba6(0x1c5)],'project':_0x483cca,'resource':_0x4498d9},_0x9c0ba6(0x1be)),_0x1b054e;}catch(_0x1d46f5){logger[_0x9c0ba6(0x1c4)]({'event':_0x1bc018['wOEiO'],'project':_0x483cca,'resource':_0x4498d9,'error':_0x1d46f5[_0x9c0ba6(0x1cc)]},_0x1bc018[_0x9c0ba6(0x1ae)]);throw new Error('Payload\x20not\x20found:\x20'+_0x483cca+'_'+_0x4498d9);}}async['loadPayloadByName'](_0x25090e){const _0xa725e8=a0_0x308e,_0x3ad77b={'nCONY':'utf8','RNxZH':_0xa725e8(0x1ba)},_0x11b1d1='payload:'+_0x25090e;if(this['cache']['has'](_0x11b1d1))return this[_0xa725e8(0x1c0)]['get'](_0x11b1d1);const _0x1bc1f3=path[_0xa725e8(0x1cf)](this[_0xa725e8(0x1ac)],_0x25090e+_0xa725e8(0x1b6));try{const _0x3cab4b=await fs[_0xa725e8(0x1bc)](_0x1bc1f3,_0x3ad77b[_0xa725e8(0x1b7)]),_0x1d4b2c=JSON['parse'](_0x3cab4b);return this['cache'][_0xa725e8(0x1c6)](_0x11b1d1,_0x1d4b2c),logger[_0xa725e8(0x1ce)]({'event':_0x3ad77b['RNxZH'],'payloadName':_0x25090e},_0xa725e8(0x1b4)),_0x1d4b2c;}catch(_0x5d5cd2){logger[_0xa725e8(0x1c4)]({'event':_0xa725e8(0x1b0),'payloadName':_0x25090e,'error':_0x5d5cd2['message']},'Failed\x20to\x20load\x20payload\x20by\x20name');throw new Error(_0xa725e8(0x1cb)+_0x25090e);}}[a0_0x2b3fae(0x1d1)](_0x467c20,_0x487b8d){const _0x2cc35e=a0_0x2b3fae,_0x437706={'qgHll':function(_0x1fc5e9,_0x5ea13b){return _0x1fc5e9===_0x5ea13b;}};return _0x467c20['action']&&_0x437706[_0x2cc35e(0x1b8)](_0x467c20[_0x2cc35e(0x1ab)][_0x487b8d],!![]);}[a0_0x2b3fae(0x1bb)](_0x16da0c){const _0x399cfe=a0_0x2b3fae;return{'columns':_0x16da0c['fieldName']||[],'filename':_0x16da0c[_0x399cfe(0x1ca)][_0x399cfe(0x1c3)]('.','-')+'-export','datatablesQuery':_0x16da0c['datatablesQuery']||null,'columnFormats':_0x16da0c['columnFormats']||null,'fieldLabels':_0x16da0c['fieldLabels']||null};}[a0_0x2b3fae(0x1d0)](){const _0x57919a=a0_0x2b3fae,_0x8e512c={'GyhLZ':'payload_cache_cleared','BcgrG':_0x57919a(0x1c1)};this[_0x57919a(0x1c0)]['clear'](),logger[_0x57919a(0x1b9)]({'event':_0x8e512c[_0x57919a(0x1c9)]},_0x8e512c['BcgrG']);}}module[a0_0x2b3fae(0x1bd)]=new PayloadLoader();
@@ -1 +1 @@
1
- 'use strict';function a0_0x1b96(){var _0xc57cf7=['nJq2mZmWCNrssePT','mJiZmJmYogTxBfPbzq','mtC0ndG1nNr2reD4vW','nta2nJa4ofDTt0zgrG','zxHWB3j0CW','Dg9ju09tDhjPBMC','mJC2q0Dwy2XM','mta1mZi0ndHLCLjVsKu','mJCWntiXnunzt3LdAG','odq2oxnVtMr2sW'];a0_0x1b96=function(){return _0xc57cf7;};return a0_0x1b96();}var a0_0x1b6e20=a0_0x4a1c;(function(_0x2cb122,_0x34dd88){var _0x4b4c77=a0_0x4a1c,_0x26a2a0=_0x2cb122();while(!![]){try{var _0x1df819=-parseInt(_0x4b4c77(0x81))/0x1+parseInt(_0x4b4c77(0x83))/0x2+parseInt(_0x4b4c77(0x80))/0x3*(parseInt(_0x4b4c77(0x87))/0x4)+-parseInt(_0x4b4c77(0x7f))/0x5+-parseInt(_0x4b4c77(0x84))/0x6+parseInt(_0x4b4c77(0x82))/0x7+parseInt(_0x4b4c77(0x7e))/0x8;if(_0x1df819===_0x34dd88)break;else _0x26a2a0['push'](_0x26a2a0['shift']());}catch(_0x381538){_0x26a2a0['push'](_0x26a2a0['shift']());}}}(a0_0x1b96,0xa3cea));function createResponse(_0x16acda,_0x16bf81,_0x38640f=null){var _0x353b0a=a0_0x4a1c;return{'success':!![],'statusCode':_0x16acda,'message':_0x16bf81,'data':_0x38640f,'timestamp':new Date()[_0x353b0a(0x86)]()};}function a0_0x4a1c(_0x4a3154,_0x35edde){_0x4a3154=_0x4a3154-0x7e;var _0x1b96d8=a0_0x1b96();var _0x4a1c42=_0x1b96d8[_0x4a3154];if(a0_0x4a1c['YKWhSN']===undefined){var _0xebb930=function(_0x53ebf8){var _0x54bd4a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x325eff='',_0x420676='';for(var _0x2fc1ef=0x0,_0x2cf0f9,_0x1b8a8c,_0x462860=0x0;_0x1b8a8c=_0x53ebf8['charAt'](_0x462860++);~_0x1b8a8c&&(_0x2cf0f9=_0x2fc1ef%0x4?_0x2cf0f9*0x40+_0x1b8a8c:_0x1b8a8c,_0x2fc1ef++%0x4)?_0x325eff+=String['fromCharCode'](0xff&_0x2cf0f9>>(-0x2*_0x2fc1ef&0x6)):0x0){_0x1b8a8c=_0x54bd4a['indexOf'](_0x1b8a8c);}for(var _0x239ae2=0x0,_0x57ad30=_0x325eff['length'];_0x239ae2<_0x57ad30;_0x239ae2++){_0x420676+='%'+('00'+_0x325eff['charCodeAt'](_0x239ae2)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x420676);};a0_0x4a1c['DbRgez']=_0xebb930,a0_0x4a1c['VycBvg']={},a0_0x4a1c['YKWhSN']=!![];}var _0x57eaad=_0x1b96d8[0x0],_0x26bf45=_0x4a3154+_0x57eaad,_0x2f1091=a0_0x4a1c['VycBvg'][_0x26bf45];return!_0x2f1091?(_0x4a1c42=a0_0x4a1c['DbRgez'](_0x4a1c42),a0_0x4a1c['VycBvg'][_0x26bf45]=_0x4a1c42):_0x4a1c42=_0x2f1091,_0x4a1c42;}function createError(_0x5d283c,_0x44c6bc,_0x33f49f=null){return{'success':![],'statusCode':_0x5d283c,'message':_0x44c6bc,'data':_0x33f49f,'timestamp':new Date()['toISOString']()};}function createValidationError(_0x530a6c,_0x318077){var _0x14c882=a0_0x4a1c;return{'success':![],'statusCode':0x190,'message':_0x530a6c,'data':{'errors':_0x318077},'timestamp':new Date()[_0x14c882(0x86)]()};}module[a0_0x1b6e20(0x85)]={'createResponse':createResponse,'createError':createError,'createValidationError':createValidationError};
1
+ 'use strict';var a0_0x1210d3=a0_0x4e95;(function(_0x4af298,_0x1d317b){var _0x31adc7=a0_0x4e95,_0x5282ec=_0x4af298();while(!![]){try{var _0x4f3566=-parseInt(_0x31adc7(0x19a))/0x1*(-parseInt(_0x31adc7(0x191))/0x2)+parseInt(_0x31adc7(0x193))/0x3+-parseInt(_0x31adc7(0x194))/0x4*(parseInt(_0x31adc7(0x197))/0x5)+-parseInt(_0x31adc7(0x192))/0x6*(-parseInt(_0x31adc7(0x190))/0x7)+parseInt(_0x31adc7(0x196))/0x8*(parseInt(_0x31adc7(0x19b))/0x9)+-parseInt(_0x31adc7(0x199))/0xa*(-parseInt(_0x31adc7(0x18f))/0xb)+-parseInt(_0x31adc7(0x19c))/0xc;if(_0x4f3566===_0x1d317b)break;else _0x5282ec['push'](_0x5282ec['shift']());}catch(_0x4e8017){_0x5282ec['push'](_0x5282ec['shift']());}}}(a0_0xdf1c,0xefb6f));function a0_0x4e95(_0x1cdf2c,_0x329877){_0x1cdf2c=_0x1cdf2c-0x18f;var _0xdf1c00=a0_0xdf1c();var _0x4e958e=_0xdf1c00[_0x1cdf2c];if(a0_0x4e95['hbxmNe']===undefined){var _0x177ad9=function(_0x25b060){var _0x1dfc92='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x51b8be='',_0x532895='';for(var _0x3f401e=0x0,_0x5c7db7,_0x15620b,_0x13b976=0x0;_0x15620b=_0x25b060['charAt'](_0x13b976++);~_0x15620b&&(_0x5c7db7=_0x3f401e%0x4?_0x5c7db7*0x40+_0x15620b:_0x15620b,_0x3f401e++%0x4)?_0x51b8be+=String['fromCharCode'](0xff&_0x5c7db7>>(-0x2*_0x3f401e&0x6)):0x0){_0x15620b=_0x1dfc92['indexOf'](_0x15620b);}for(var _0x96d0b8=0x0,_0x5c57cc=_0x51b8be['length'];_0x96d0b8<_0x5c57cc;_0x96d0b8++){_0x532895+='%'+('00'+_0x51b8be['charCodeAt'](_0x96d0b8)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x532895);};a0_0x4e95['KorgOs']=_0x177ad9,a0_0x4e95['GsijMO']={},a0_0x4e95['hbxmNe']=!![];}var _0x108aef=_0xdf1c00[0x0],_0x25618f=_0x1cdf2c+_0x108aef,_0x31bb44=a0_0x4e95['GsijMO'][_0x25618f];return!_0x31bb44?(_0x4e958e=a0_0x4e95['KorgOs'](_0x4e958e),a0_0x4e95['GsijMO'][_0x25618f]=_0x4e958e):_0x4e958e=_0x31bb44,_0x4e958e;}function createResponse(_0x415292,_0x6b98da,_0x1a9326=null){var _0x3b3f02=a0_0x4e95;return{'success':!![],'statusCode':_0x415292,'message':_0x6b98da,'data':_0x1a9326,'timestamp':new Date()[_0x3b3f02(0x198)]()};}function createError(_0x34d577,_0x5b0353,_0x4769cc=null){var _0x5d0b04=a0_0x4e95;return{'success':![],'statusCode':_0x34d577,'message':_0x5b0353,'data':_0x4769cc,'timestamp':new Date()[_0x5d0b04(0x198)]()};}function createValidationError(_0x1b5843,_0x142b89){return{'success':![],'statusCode':0x190,'message':_0x1b5843,'data':{'errors':_0x142b89},'timestamp':new Date()['toISOString']()};}function a0_0xdf1c(){var _0x2ada99=['ntaXm3zTqLbQEG','nde0otuWnZzgrevAteS','mZqXota3nuTVDgHYra','nJCWotq0neXoruzmwq','nda0ELDJEfjX','nLvXA1nXDa','ndu0nZuWnwrtzwDdCW','ngrKyKTXra','zxHWB3j0CW','mtG3ntjjrwHLywu','mZKXndyWnxbmvhvquG','Dg9ju09tDhjPBMC','mJbswKL3C3e','nda2nuDby1rJua'];a0_0xdf1c=function(){return _0x2ada99;};return a0_0xdf1c();}module[a0_0x1210d3(0x195)]={'createResponse':createResponse,'createError':createError,'createValidationError':createValidationError};
@@ -1 +1 @@
1
- const a0_0x584818=a0_0x4db8;(function(_0x1f2b52,_0x2f0c45){const _0x208bcb=a0_0x4db8,_0x5eff3f=_0x1f2b52();while(!![]){try{const _0x5c3f27=parseInt(_0x208bcb(0xa5))/0x1+parseInt(_0x208bcb(0xaa))/0x2*(-parseInt(_0x208bcb(0x98))/0x3)+parseInt(_0x208bcb(0x9a))/0x4*(parseInt(_0x208bcb(0xa4))/0x5)+parseInt(_0x208bcb(0xba))/0x6*(-parseInt(_0x208bcb(0xad))/0x7)+-parseInt(_0x208bcb(0xa2))/0x8+-parseInt(_0x208bcb(0x95))/0x9+parseInt(_0x208bcb(0xa9))/0xa;if(_0x5c3f27===_0x2f0c45)break;else _0x5eff3f['push'](_0x5eff3f['shift']());}catch(_0x17b167){_0x5eff3f['push'](_0x5eff3f['shift']());}}}(a0_0x1868,0x31ea7),require('dotenv')['config']());const amqp=require('amqplib'),{formatDate}=require('./dateHelper'),RABBITMQ_URL=process['env']['RABBITMQ_URL'],EXCHANGE=process[a0_0x584818(0xa7)]['RABBITMQ_EXCHANGE'],ROUTING_KEY=process[a0_0x584818(0xa7)][a0_0x584818(0x9b)],QUEUE=process['env']['RABBITMQ_QUEUE'];function a0_0x1868(){const _0x441008=['zxHPDa','yxnZzxj0rxHJAgfUz2u','xsbcAw5KAw5Nia','mti3odq4ohPvwMXYwq','qNziqKW','mtbPCxbAt3m','mZe3nZe4A25esfHe','x3jLDhj5','zw52','ic0+ia','nteZnZmXmffPBKzwsa','ntiYmJHVr3z3A0C','yxnZzxj0uxvLDwu','yMLUzff1zxvL','nda2rg1XCM14','ignYzwf0zwqVCMvHzhK','zxjYB3i','xsbszxrYEsbLEgnOyw5NzsbJCMvHDgvKl3jLywr5','thL4BLG','BwvZC2fNzq','igLZigfSCMvHzhKGAw4GDxnLihDPDgGGysbKAwzMzxjLBNqGCM91DgLUzYbRzxKU','Aw5LCxvPDMfSzw50igfYzW','xsbszxrYEsbIAw5KAw5NigzVCIa','y3jLyxrLzc9YzwfKEq','xsbgywLSzwqGDg8Gy29UBMvJDcb0BYbsywjIAxrnutOG','ignYzwf0zwq','Bg9N','mJi4nZHKEhLgvwK','xsbgywLSzwqGDg8Gy2XVC2uGuMfIyML0tveGy29UBMvJDgLVBJOG','CMv0CNKTzxHJAgfUz2u','xsbfCNjVCIbJCMvHDgLUzYbYzxrYEsbLEgnOyw5NztO','vgvzqNK','ihDPDgGGreXy','mJi0mtiWn0r3s0z6uW','xsbsywjIAxrnusbJB25Uzwn0Aw9UignSB3nLza','xsbgywLSzwqGDg8Gy3jLyxrLifjHyMjPDe1rignOyw5UzwW6ia','mZLsC3zVEMC','xsbfuLjpuJOGuxvLDwuG','nJG0otuYveD5uxjk','uKfcqKLutvfFuK9vveLor19lrvK','ksbJCMvHDgvK','B29mrNG','u29SDxrPB246ifvZzsbHigrPzMzLCMvUDcbXDwv1zsbUyw1LigzVCIbKAwzMzxjLBNqGCM91DgLUzYbRzxLZlG'];a0_0x1868=function(){return _0x441008;};return a0_0x1868();}async function createConnection(){const _0x5dc41d=a0_0x584818;try{const _0x2923ae=await amqp['connect'](RABBITMQ_URL);return console[_0x5dc41d(0xb9)]('['+formatDate(new Date())+']\x20Successfully\x20connected\x20to\x20RabbitMQ'),_0x2923ae;}catch(_0x425f01){console['error']('['+formatDate(new Date())+_0x5dc41d(0xb7)+_0x425f01['message']);throw _0x425f01;}}function a0_0x4db8(_0x4738a,_0x2e90a6){_0x4738a=_0x4738a-0x90;const _0x18681f=a0_0x1868();let _0x4db8e4=_0x18681f[_0x4738a];if(a0_0x4db8['EiwDtu']===undefined){var _0x2e9a8c=function(_0x4937fc){const _0x5b1a9d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2b4701='',_0x59249e='';for(let _0x4e75bc=0x0,_0x47d020,_0x2cea32,_0x11de91=0x0;_0x2cea32=_0x4937fc['charAt'](_0x11de91++);~_0x2cea32&&(_0x47d020=_0x4e75bc%0x4?_0x47d020*0x40+_0x2cea32:_0x2cea32,_0x4e75bc++%0x4)?_0x2b4701+=String['fromCharCode'](0xff&_0x47d020>>(-0x2*_0x4e75bc&0x6)):0x0){_0x2cea32=_0x5b1a9d['indexOf'](_0x2cea32);}for(let _0x3c0447=0x0,_0xb8b88c=_0x2b4701['length'];_0x3c0447<_0xb8b88c;_0x3c0447++){_0x59249e+='%'+('00'+_0x2b4701['charCodeAt'](_0x3c0447)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x59249e);};a0_0x4db8['ZYHXqA']=_0x2e9a8c,a0_0x4db8['nZiQgA']={},a0_0x4db8['EiwDtu']=!![];}const _0x272cca=_0x18681f[0x0],_0x4f185a=_0x4738a+_0x272cca,_0x5742b7=a0_0x4db8['nZiQgA'][_0x4f185a];return!_0x5742b7?(_0x4db8e4=a0_0x4db8['ZYHXqA'](_0x4db8e4),a0_0x4db8['nZiQgA'][_0x4f185a]=_0x4db8e4):_0x4db8e4=_0x5742b7,_0x4db8e4;}async function createChannel(_0x3b5ff9){const _0x57b7c4=a0_0x584818;try{const _0x5e47da=await _0x3b5ff9['createChannel']();return console[_0x57b7c4(0xb9)]('['+formatDate(new Date())+']\x20RabbitMQ\x20channel\x20created\x20successfully'),_0x5e47da;}catch(_0xd4de91){console[_0x57b7c4(0xaf)]('['+formatDate(new Date())+_0x57b7c4(0x97)+_0xd4de91['message']);throw _0xd4de91;}}async function setupInfrastructure(_0x4034ac){const _0x20e19c=a0_0x584818,_0x4935d4={'XCLec':'direct','fwIEf':function(_0x219b8f,_0x1c45c2){return _0x219b8f(_0x1c45c2);},'LyxnX':function(_0x48f31e,_0x2efb26){return _0x48f31e(_0x2efb26);},'BvHBL':_0x20e19c(0x91),'Dazsc':function(_0x28ad7f,_0x2f571b){return _0x28ad7f(_0x2f571b);},'TeYBy':_0x20e19c(0xb6),'rsMFU':function(_0x54141f,_0x1ff246){return _0x54141f(_0x1ff246);},'HFmdY':_0x20e19c(0xb4),'FGhQr':'x-dead-letter-routing-key'};try{await _0x4034ac['assertExchange']('retry-exchange',_0x4935d4['XCLec'],{'durable':!![],'autoDelete':![]}),console['log']('['+_0x4935d4['fwIEf'](formatDate,new Date())+_0x20e19c(0xb0));}catch(_0x57b27a){console[_0x20e19c(0xaf)]('['+_0x4935d4[_0x20e19c(0xb1)](formatDate,new Date())+_0x20e19c(0x92),_0x57b27a[_0x20e19c(0xb2)]);throw _0x57b27a;}try{await _0x4034ac[_0x20e19c(0xa0)](EXCHANGE,_0x4935d4['XCLec'],{'durable':!![],'autoDelete':![]}),console[_0x20e19c(0xb9)]('['+formatDate(new Date())+']\x20Exchange\x20'+EXCHANGE+'\x20created/ready');}catch(_0x397a9f){console['error']('['+formatDate(new Date())+']\x20Error\x20creating\x20exchange\x20'+EXCHANGE+':',_0x397a9f[_0x20e19c(0xb2)]);throw _0x397a9f;}const _0x15f2fa=ROUTING_KEY+_0x20e19c(0xa6);try{const _0x9845b0={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':EXCHANGE,'x-dead-letter-routing-key':ROUTING_KEY}};await _0x4034ac['assertQueue'](_0x15f2fa,_0x9845b0),console[_0x20e19c(0xb9)]('['+formatDate(new Date())+']\x20Retry\x20queue\x20'+_0x15f2fa+_0x20e19c(0xae)),await _0x4034ac['bindQueue'](_0x15f2fa,_0x4935d4[_0x20e19c(0xa3)],ROUTING_KEY),console[_0x20e19c(0xb9)]('['+_0x4935d4[_0x20e19c(0xb1)](formatDate,new Date())+_0x20e19c(0xb5)+ROUTING_KEY+_0x20e19c(0xb8));}catch(_0x1cfce2){console['error']('['+formatDate(new Date())+']\x20Error\x20creating\x20retry\x20queue:',_0x1cfce2[_0x20e19c(0xb2)]);throw _0x1cfce2;}try{const _0x1ada7d={'durable':!![],'arguments':{'x-dead-letter-exchange':_0x4935d4['BvHBL'],'x-dead-letter-routing-key':ROUTING_KEY}};try{const _0x1e55e4=await _0x4034ac[_0x20e19c(0xab)](QUEUE,_0x1ada7d);console['log']('['+_0x4935d4['Dazsc'](formatDate,new Date())+']\x20Queue\x20'+QUEUE+'\x20'+(_0x1e55e4['queue']===QUEUE?_0x4935d4[_0x20e19c(0x93)]:'found')+_0x20e19c(0x94)),await _0x4034ac[_0x20e19c(0xac)](QUEUE,EXCHANGE,ROUTING_KEY),console[_0x20e19c(0xb9)]('['+_0x4935d4['rsMFU'](formatDate,new Date())+_0x20e19c(0xa1)+EXCHANGE+_0x20e19c(0xa8)+QUEUE+'\x20('+ROUTING_KEY+_0x20e19c(0x9c));}catch(_0x5977e7){if(_0x5977e7['message']['includes'](_0x4935d4['HFmdY'])&&_0x5977e7[_0x20e19c(0xb2)]['includes'](_0x4935d4['FGhQr']))console['error']('\x0a['+formatDate(new Date())+_0x20e19c(0x99)+QUEUE+_0x20e19c(0xb3)),console['error']('Queue\x20'+QUEUE+'\x20was\x20created\x20with\x20a\x20different\x20x-dead-letter-routing-key.'),console['error'](_0x20e19c(0x9e)),process['exit'](0x1);else{console['error']('['+formatDate(new Date())+']\x20Error\x20creating\x20queue\x20'+QUEUE+':',_0x5977e7['message']);throw _0x5977e7;}}}catch(_0x437ff4){if(!_0x437ff4['message']['includes'](_0x20e19c(0xb4))){console[_0x20e19c(0xaf)]('['+formatDate(new Date())+']\x20Error\x20setting\x20up\x20main\x20queue:',_0x437ff4['message']);throw _0x437ff4;}process[_0x20e19c(0x9f)](0x1);}}async function closeConnection(_0x3629e1){const _0x248608=a0_0x584818,_0x5c736a={'ooLFx':function(_0x482c9d,_0x2a9673){return _0x482c9d(_0x2a9673);}};if(_0x3629e1)try{await _0x3629e1['close'](),console['log']('['+formatDate(new Date())+_0x248608(0x96));}catch(_0x539715){console[_0x248608(0xaf)]('['+_0x5c736a[_0x248608(0x9d)](formatDate,new Date())+_0x248608(0x90)+_0x539715[_0x248608(0xb2)]);}}module['exports']={'createConnection':createConnection,'createChannel':createChannel,'setupInfrastructure':setupInfrastructure,'closeConnection':closeConnection,'getConfig':()=>({'url':RABBITMQ_URL,'exchange':EXCHANGE,'routingKey':ROUTING_KEY,'queue':QUEUE})};
1
+ const a0_0x2bebf1=a0_0x560d;(function(_0x183efd,_0x3a062a){const _0x4e1748=a0_0x560d,_0x54a394=_0x183efd();while(!![]){try{const _0x28309f=parseInt(_0x4e1748(0x8e))/0x1*(-parseInt(_0x4e1748(0x80))/0x2)+parseInt(_0x4e1748(0x74))/0x3*(-parseInt(_0x4e1748(0x9d))/0x4)+-parseInt(_0x4e1748(0x77))/0x5*(parseInt(_0x4e1748(0x94))/0x6)+-parseInt(_0x4e1748(0x75))/0x7+-parseInt(_0x4e1748(0x8c))/0x8*(parseInt(_0x4e1748(0x8f))/0x9)+parseInt(_0x4e1748(0x99))/0xa+-parseInt(_0x4e1748(0x9b))/0xb*(-parseInt(_0x4e1748(0x87))/0xc);if(_0x28309f===_0x3a062a)break;else _0x54a394['push'](_0x54a394['shift']());}catch(_0x483744){_0x54a394['push'](_0x54a394['shift']());}}}(a0_0x4c4e,0x65bdd),require('dotenv')['config']());function a0_0x560d(_0x31c24e,_0xc53de4){_0x31c24e=_0x31c24e-0x70;const _0x4c4e00=a0_0x4c4e();let _0x560dbc=_0x4c4e00[_0x31c24e];if(a0_0x560d['WEhdUr']===undefined){var _0x4b24f1=function(_0x32ea1b){const _0x31c6c3='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xc3c16c='',_0x49a7b0='';for(let _0x216755=0x0,_0x49f339,_0x1f3e81,_0x15f891=0x0;_0x1f3e81=_0x32ea1b['charAt'](_0x15f891++);~_0x1f3e81&&(_0x49f339=_0x216755%0x4?_0x49f339*0x40+_0x1f3e81:_0x1f3e81,_0x216755++%0x4)?_0xc3c16c+=String['fromCharCode'](0xff&_0x49f339>>(-0x2*_0x216755&0x6)):0x0){_0x1f3e81=_0x31c6c3['indexOf'](_0x1f3e81);}for(let _0x507b5b=0x0,_0x3d07bf=_0xc3c16c['length'];_0x507b5b<_0x3d07bf;_0x507b5b++){_0x49a7b0+='%'+('00'+_0xc3c16c['charCodeAt'](_0x507b5b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x49a7b0);};a0_0x560d['DwUAcd']=_0x4b24f1,a0_0x560d['oOOhVG']={},a0_0x560d['WEhdUr']=!![];}const _0x53de94=_0x4c4e00[0x0],_0x404bc8=_0x31c24e+_0x53de94,_0x1d402e=a0_0x560d['oOOhVG'][_0x404bc8];return!_0x1d402e?(_0x560dbc=a0_0x560d['DwUAcd'](_0x560dbc),a0_0x560d['oOOhVG'][_0x404bc8]=_0x560dbc):_0x560dbc=_0x1d402e,_0x560dbc;}const amqp=require(a0_0x2bebf1(0x9a)),{formatDate}=require('./dateHelper'),RABBITMQ_URL=process['env']['RABBITMQ_URL'],EXCHANGE=process['env'][a0_0x2bebf1(0x90)],ROUTING_KEY=process['env'][a0_0x2bebf1(0x89)],QUEUE=process[a0_0x2bebf1(0x92)][a0_0x2bebf1(0x86)];async function createConnection(){const _0x4668b7=a0_0x2bebf1,_0x15ba87={'qZCYV':function(_0x119c22,_0x20903f){return _0x119c22(_0x20903f);}};try{const _0x155363=await amqp['connect'](RABBITMQ_URL);return console['log']('['+formatDate(new Date())+']\x20Successfully\x20connected\x20to\x20RabbitMQ'),_0x155363;}catch(_0x478ea1){console[_0x4668b7(0x98)]('['+_0x15ba87['qZCYV'](formatDate,new Date())+_0x4668b7(0x91)+_0x478ea1[_0x4668b7(0x83)]);throw _0x478ea1;}}async function createChannel(_0x1904e1){const _0x5873ea=a0_0x2bebf1,_0x1de60d={'ORWtA':function(_0x287776,_0x1f1859){return _0x287776(_0x1f1859);}};try{const _0x95d8a9=await _0x1904e1[_0x5873ea(0x81)]();return console[_0x5873ea(0x9f)]('['+formatDate(new Date())+_0x5873ea(0x82)),_0x95d8a9;}catch(_0x433966){console[_0x5873ea(0x98)]('['+_0x1de60d[_0x5873ea(0x7b)](formatDate,new Date())+']\x20Failed\x20to\x20create\x20RabbitMQ\x20channel:\x20'+_0x433966['message']);throw _0x433966;}}function a0_0x4c4e(){const _0x387f8e=['nZa0mhvgshrJBq','xsbgywLSzwqGDg8Gy2XVC2uGuMfIyML0tveGy29UBMvJDgLVBJOG','mJi4EuDjrKPN','zgLYzwn0','Bg9N','D3bgswy','ihDHCYbJCMvHDgvKihDPDgGGysbKAwzMzxjLBNqGEc1KzwfKlwXLDhrLCI1YB3v0Aw5NlwTLEs4','wg1sCxO','x3jLDhj5','mtuXnZfdsvfLAgu','mZu2otiZn3nLte9uyW','Aw5JBhvKzxm','nufsEKHvEa','CMv0CNKTzxHJAgfUz2u','zxHWB3j0CW','xsbfCNjVCIbJCMvHDgLUzYbXDwv1zsa','t1jxDee','yxnZzxj0rxHJAgfUz2u','yMLUzff1zxvL','ywPVyuK','xsbsywjIAxrnusbJB25Uzwn0Aw9UignSB3nLza','mLPRvLjzva','y3jLyxrLq2HHBM5LBa','xsbsywjIAxrnusbJAgfUBMvSignYzwf0zwqGC3vJy2vZC2z1BgX5','BwvZC2fNzq','yxnZzxj0uxvLDwu','zfrlAgy','uKfcqKLutvfFuvvfvuu','ndu4mtzJzfryt1G','ic0+ia','uKfcqKLutvfFuK9vveLor19lrvK','xsbszxrYEsbXDwv1zsa','Aw5LCxvPDMfSzw50igfYzW','ofPkuwzQAq','wgLKtLu','nta4ntyXqKfLsujc','nte4ntKZnxD6y3zJAq','uKfcqKLutvfFrvHdsefor0u','xsbgywLSzwqGDg8Gy29UBMvJDcb0BYbsywjIAxrnutOG','zw52','igLZigfSCMvHzhKGAw4GDxnLihDPDgGGysbKAwzMzxjLBNqGCM91DgLUzYbRzxKU','mti1odu5mfzUwwzpBW','zxHPDa','Ec1KzwfKlwXLDhrLCI1YB3v0Aw5NlwTLEq','ihDPDgGGreXy','zxjYB3i','nJu4otqWu0zTsNn2','yw1XCgXPyG'];a0_0x4c4e=function(){return _0x387f8e;};return a0_0x4c4e();}async function setupInfrastructure(_0x401d06){const _0x3ad27f=a0_0x2bebf1,_0xddbc9c={'XidNU':'retry-exchange','wpFIf':'direct','XmRqz':function(_0x53ef32,_0x2525dd){return _0x53ef32(_0x2525dd);},'ajoaI':function(_0x44c078,_0x572c0f){return _0x44c078(_0x572c0f);},'qdcqr':'created/ready','dTKhf':'found','ZpASO':function(_0x24d42c,_0x35060b){return _0x24d42c(_0x35060b);},'TdzMM':'inequivalent\x20arg','vyDje':_0x3ad27f(0x96),'UdsDN':function(_0xe59d10,_0x58a0c6){return _0xe59d10(_0x58a0c6);}};try{await _0x401d06[_0x3ad27f(0x7c)](_0xddbc9c[_0x3ad27f(0x8d)],_0x3ad27f(0x9e),{'durable':!![],'autoDelete':![]}),console['log']('['+formatDate(new Date())+']\x20Retry\x20exchange\x20created/ready');}catch(_0x313aac){console[_0x3ad27f(0x98)]('['+formatDate(new Date())+']\x20Error\x20creating\x20retry\x20exchange:',_0x313aac['message']);throw _0x313aac;}try{await _0x401d06['assertExchange'](EXCHANGE,_0xddbc9c[_0x3ad27f(0x70)],{'durable':!![],'autoDelete':![]}),console[_0x3ad27f(0x9f)]('['+_0xddbc9c[_0x3ad27f(0x72)](formatDate,new Date())+']\x20Exchange\x20'+EXCHANGE+'\x20created/ready');}catch(_0x4bdf35){console['error']('['+formatDate(new Date())+']\x20Error\x20creating\x20exchange\x20'+EXCHANGE+':',_0x4bdf35[_0x3ad27f(0x83)]);throw _0x4bdf35;}const _0x4f2c37=ROUTING_KEY+_0x3ad27f(0x73);try{const _0x2ab07a={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':EXCHANGE,'x-dead-letter-routing-key':ROUTING_KEY}};await _0x401d06['assertQueue'](_0x4f2c37,_0x2ab07a),console['log']('['+formatDate(new Date())+_0x3ad27f(0x8a)+_0x4f2c37+'\x20created/ready'),await _0x401d06[_0x3ad27f(0x7d)](_0x4f2c37,_0x3ad27f(0x78),ROUTING_KEY),console[_0x3ad27f(0x9f)]('['+formatDate(new Date())+']\x20Retry\x20binding\x20for\x20'+ROUTING_KEY+'\x20created');}catch(_0x1f5f5e){console['error']('['+formatDate(new Date())+']\x20Error\x20creating\x20retry\x20queue:',_0x1f5f5e['message']);throw _0x1f5f5e;}try{const _0x1a31b1={'durable':!![],'arguments':{'x-dead-letter-exchange':'retry-exchange','x-dead-letter-routing-key':ROUTING_KEY}};try{const _0x533a69=await _0x401d06[_0x3ad27f(0x84)](QUEUE,_0x1a31b1);console['log']('['+_0xddbc9c['ajoaI'](formatDate,new Date())+']\x20Queue\x20'+QUEUE+'\x20'+(_0x533a69['queue']===QUEUE?_0xddbc9c['qdcqr']:_0xddbc9c[_0x3ad27f(0x85)])+_0x3ad27f(0x97)),await _0x401d06['bindQueue'](QUEUE,EXCHANGE,ROUTING_KEY),console[_0x3ad27f(0x9f)]('['+_0xddbc9c['ZpASO'](formatDate,new Date())+']\x20Binding\x20'+EXCHANGE+_0x3ad27f(0x88)+QUEUE+'\x20('+ROUTING_KEY+')\x20created');}catch(_0x966046){if(_0x966046['message']['includes'](_0xddbc9c['TdzMM'])&&_0x966046['message'][_0x3ad27f(0x76)](_0xddbc9c['vyDje']))console[_0x3ad27f(0x98)]('\x0a['+_0xddbc9c[_0x3ad27f(0x7e)](formatDate,new Date())+']\x20ERROR:\x20Queue\x20'+QUEUE+_0x3ad27f(0x93)),console['error']('Queue\x20'+QUEUE+_0x3ad27f(0x71)),console['error']('Solution:\x20Use\x20a\x20different\x20queue\x20name\x20for\x20different\x20routing\x20keys.'),process[_0x3ad27f(0x95)](0x1);else{console[_0x3ad27f(0x98)]('['+formatDate(new Date())+_0x3ad27f(0x7a)+QUEUE+':',_0x966046['message']);throw _0x966046;}}}catch(_0x596dd6){if(!_0x596dd6[_0x3ad27f(0x83)]['includes'](_0x3ad27f(0x8b))){console[_0x3ad27f(0x98)]('['+_0xddbc9c['UdsDN'](formatDate,new Date())+']\x20Error\x20setting\x20up\x20main\x20queue:',_0x596dd6['message']);throw _0x596dd6;}process['exit'](0x1);}}async function closeConnection(_0x3742f1){const _0x5e3c3f=a0_0x2bebf1;if(_0x3742f1)try{await _0x3742f1['close'](),console[_0x5e3c3f(0x9f)]('['+formatDate(new Date())+_0x5e3c3f(0x7f));}catch(_0x17aeb8){console[_0x5e3c3f(0x98)]('['+formatDate(new Date())+_0x5e3c3f(0x9c)+_0x17aeb8['message']);}}module[a0_0x2bebf1(0x79)]={'createConnection':createConnection,'createChannel':createChannel,'setupInfrastructure':setupInfrastructure,'closeConnection':closeConnection,'getConfig':()=>({'url':RABBITMQ_URL,'exchange':EXCHANGE,'routingKey':ROUTING_KEY,'queue':QUEUE})};
@@ -1 +1 @@
1
- function a0_0x5878(_0x14aa19,_0x5db5c9){_0x14aa19=_0x14aa19-0x10e;const _0x35bf84=a0_0x35bf();let _0x587841=_0x35bf84[_0x14aa19];if(a0_0x5878['ccvqEf']===undefined){var _0x19c54f=function(_0x133eb1){const _0x4dc500='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5c1aa0='',_0x52429d='';for(let _0xa93c64=0x0,_0x3a3053,_0x167793,_0x240ab1=0x0;_0x167793=_0x133eb1['charAt'](_0x240ab1++);~_0x167793&&(_0x3a3053=_0xa93c64%0x4?_0x3a3053*0x40+_0x167793:_0x167793,_0xa93c64++%0x4)?_0x5c1aa0+=String['fromCharCode'](0xff&_0x3a3053>>(-0x2*_0xa93c64&0x6)):0x0){_0x167793=_0x4dc500['indexOf'](_0x167793);}for(let _0x4c7209=0x0,_0xb59c53=_0x5c1aa0['length'];_0x4c7209<_0xb59c53;_0x4c7209++){_0x52429d+='%'+('00'+_0x5c1aa0['charCodeAt'](_0x4c7209)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x52429d);};a0_0x5878['SvFAAk']=_0x19c54f,a0_0x5878['mcYThM']={},a0_0x5878['ccvqEf']=!![];}const _0x308ff5=_0x35bf84[0x0],_0xb6fae2=_0x14aa19+_0x308ff5,_0x1d9d4e=a0_0x5878['mcYThM'][_0xb6fae2];return!_0x1d9d4e?(_0x587841=a0_0x5878['SvFAAk'](_0x587841),a0_0x5878['mcYThM'][_0xb6fae2]=_0x587841):_0x587841=_0x1d9d4e,_0x587841;}const a0_0x423c18=a0_0x5878;(function(_0x1193da,_0x300a54){const _0x58ccc2=a0_0x5878,_0x1eb175=_0x1193da();while(!![]){try{const _0x59d228=parseInt(_0x58ccc2(0x115))/0x1+parseInt(_0x58ccc2(0x11c))/0x2+parseInt(_0x58ccc2(0x117))/0x3+parseInt(_0x58ccc2(0x128))/0x4+parseInt(_0x58ccc2(0x122))/0x5+parseInt(_0x58ccc2(0x127))/0x6+-parseInt(_0x58ccc2(0x11b))/0x7;if(_0x59d228===_0x300a54)break;else _0x1eb175['push'](_0x1eb175['shift']());}catch(_0x2b2887){_0x1eb175['push'](_0x1eb175['shift']());}}}(a0_0x35bf,0xc4e45));const Redis=require('ioredis'),{logger}=require('./logger');class RedisClient{constructor(){const _0x6815d7=a0_0x5878;this[_0x6815d7(0x11f)]=null,this[_0x6815d7(0x110)]=![];}['connect'](){const _0x69d101=a0_0x5878,_0xe3bfbb={'kmHLj':_0x69d101(0x118),'UxJRg':'connect','WPklH':'error','bQiSJ':'close','skLWw':'redis_init_error','uhOhq':'Failed\x20to\x20initialize\x20Redis'};if(this['client'])return this[_0x69d101(0x11f)];try{return this[_0x69d101(0x11f)]=new Redis({'host':process[_0x69d101(0x11d)][_0x69d101(0x126)]||'localhost','port':parseInt(process[_0x69d101(0x11d)]['REDIS_PORT'],0xa)||0x18ec,'password':process['env']['REDIS_PASSWORD']||undefined,'db':parseInt(process[_0x69d101(0x11d)]['REDIS_DB'],0xa)||0x0,'retryStrategy'(_0x42c411){const _0x3eb6d7=Math['min'](_0x42c411*0x32,0x7d0);return _0x3eb6d7;}}),this['client']['on'](_0xe3bfbb[_0x69d101(0x11e)],()=>{const _0x225f07=_0x69d101;this['isConnected']=!![],logger[_0x225f07(0x124)]({'event':_0x225f07(0x11a)},_0x225f07(0x116));}),this['client']['on'](_0xe3bfbb[_0x69d101(0x120)],_0x100612=>{const _0x43e138=_0x69d101;this['isConnected']=![],logger[_0x43e138(0x119)]({'event':_0xe3bfbb['kmHLj'],'error':_0x100612[_0x43e138(0x10f)]},_0x43e138(0x114)+_0x100612[_0x43e138(0x10f)]);}),this[_0x69d101(0x11f)]['on'](_0xe3bfbb[_0x69d101(0x125)],()=>{const _0x16862c=_0x69d101;this['isConnected']=![],logger[_0x16862c(0x123)]({'event':'redis_disconnected'},'Redis\x20connection\x20closed');}),this[_0x69d101(0x11f)];}catch(_0x75b7bb){logger['error']({'event':_0xe3bfbb[_0x69d101(0x129)],'error':_0x75b7bb['message']},_0xe3bfbb['uhOhq']);throw _0x75b7bb;}}[a0_0x423c18(0x111)](){const _0x25da32=a0_0x423c18;return!this[_0x25da32(0x11f)]&&this['connect'](),this[_0x25da32(0x11f)];}async[a0_0x423c18(0x112)](_0x53fbf1=0x1388){const _0x1beb95=a0_0x423c18;try{const _0x4b75b6=this['getClient'](),_0x40e181=await Promise[_0x1beb95(0x10e)]([_0x4b75b6[_0x1beb95(0x112)](),new Promise((_0x57b3df,_0x8bb542)=>setTimeout(()=>_0x8bb542(new Error('Redis\x20PING\x20timeout')),_0x53fbf1))]);return _0x40e181===_0x1beb95(0x113);}catch(_0x5a6110){return![];}}async[a0_0x423c18(0x121)](){const _0x406bc5=a0_0x423c18;this[_0x406bc5(0x11f)]&&(await this[_0x406bc5(0x11f)]['quit'](),this['client']=null,this[_0x406bc5(0x110)]=![]);}['forceDisconnect'](){const _0x1deaaa=a0_0x423c18;this[_0x1deaaa(0x11f)]&&(this['client'][_0x1deaaa(0x121)](),this[_0x1deaaa(0x11f)]=null,this[_0x1deaaa(0x110)]=![]);}}function a0_0x35bf(){const _0x18c403=['Aw5MBW','yLfPu0O','uKvesvnFse9tva','ndC4ndGYmeL1zvvmwa','mZK0mtyWC0rvCwXu','C2Tmv3C','CMfJzq','BwvZC2fNzq','AxndB25Uzwn0zwq','z2v0q2XPzw50','CgLUzW','ue9orW','uMvKAxmGy29UBMvJDgLVBIbLCNjVCJOG','nZK2ntC5BLnsq1vj','uMvKAxmGy29UBMvJDgvKihn1y2nLC3nMDwXSEq','mti2mJy0m2XfDNznBq','CMvKAxnFzxjYB3i','zxjYB3i','CMvKAxnFy29UBMvJDgvK','mJm0nJyYmZnAEgzYExO','mteWmtC4nKHsq0jSBa','zw52','vxHkuMC','y2XPzw50','v1bRBeG','zgLZy29UBMvJDa','nZq3mJeYnuDftwPjDW','D2fYBG'];a0_0x35bf=function(){return _0x18c403;};return a0_0x35bf();}module['exports']=new RedisClient();
1
+ const a0_0x3c1b96=a0_0x1373;(function(_0x21a755,_0x30015d){const _0x18e6c7=a0_0x1373,_0x22422c=_0x21a755();while(!![]){try{const _0x1ce0ac=-parseInt(_0x18e6c7(0x15d))/0x1*(-parseInt(_0x18e6c7(0x155))/0x2)+-parseInt(_0x18e6c7(0x14e))/0x3*(parseInt(_0x18e6c7(0x158))/0x4)+parseInt(_0x18e6c7(0x150))/0x5+-parseInt(_0x18e6c7(0x156))/0x6+parseInt(_0x18e6c7(0x15c))/0x7+parseInt(_0x18e6c7(0x166))/0x8+-parseInt(_0x18e6c7(0x16d))/0x9*(parseInt(_0x18e6c7(0x167))/0xa);if(_0x1ce0ac===_0x30015d)break;else _0x22422c['push'](_0x22422c['shift']());}catch(_0x70fd1b){_0x22422c['push'](_0x22422c['shift']());}}}(a0_0x5e21,0x6456f));const Redis=require('ioredis'),{logger}=require('./logger');class RedisClient{constructor(){this['client']=null,this['isConnected']=![];}['connect'](){const _0xc9bd82=a0_0x1373,_0x17a926={'DqgVP':function(_0xca3e41,_0x444e23){return _0xca3e41*_0x444e23;},'dJloT':_0xc9bd82(0x164),'CIzeN':_0xc9bd82(0x159),'rOffF':'localhost','YrtMG':_0xc9bd82(0x16c)};if(this[_0xc9bd82(0x16b)])return this['client'];try{return this[_0xc9bd82(0x16b)]=new Redis({'host':process[_0xc9bd82(0x169)]['REDIS_HOST']||_0x17a926['rOffF'],'port':parseInt(process[_0xc9bd82(0x169)]['REDIS_PORT'],0xa)||0x18ec,'password':process[_0xc9bd82(0x169)][_0xc9bd82(0x153)]||undefined,'db':parseInt(process[_0xc9bd82(0x169)][_0xc9bd82(0x15e)],0xa)||0x0,'retryStrategy'(_0x59c023){const _0x4027be=_0xc9bd82,_0x49c891=Math[_0x4027be(0x14f)](_0x17a926[_0x4027be(0x154)](_0x59c023,0x32),0x7d0);return _0x49c891;}}),this['client']['on']('connect',()=>{const _0x69fffa=_0xc9bd82;this['isConnected']=!![],logger[_0x69fffa(0x168)]({'event':_0x17a926['dJloT']},_0x69fffa(0x163));}),this['client']['on'](_0x17a926[_0xc9bd82(0x160)],_0x189a30=>{const _0x29ac82=_0xc9bd82;this[_0x29ac82(0x15f)]=![],logger[_0x29ac82(0x16c)]({'event':_0x29ac82(0x151),'error':_0x189a30[_0x29ac82(0x157)]},'Redis\x20connection\x20error:\x20'+_0x189a30[_0x29ac82(0x157)]);}),this[_0xc9bd82(0x16b)]['on']('close',()=>{const _0x144ddc=_0xc9bd82;this['isConnected']=![],logger[_0x144ddc(0x16a)]({'event':_0x144ddc(0x165)},_0x17a926[_0x144ddc(0x15b)]);}),this['client'];}catch(_0x3e8c59){logger['error']({'event':_0xc9bd82(0x15a),'error':_0x3e8c59[_0xc9bd82(0x157)]},'Failed\x20to\x20initialize\x20Redis');throw _0x3e8c59;}}['getClient'](){const _0x3aab37=a0_0x1373;return!this[_0x3aab37(0x16b)]&&this[_0x3aab37(0x170)](),this['client'];}async['ping'](_0x1ab6c8=0x1388){const _0x32408a=a0_0x1373,_0x4c8e2f={'FUQvj':function(_0x34a2a9,_0x31fe8f){return _0x34a2a9===_0x31fe8f;},'pGlSe':'PONG'};try{const _0x141606=this[_0x32408a(0x152)](),_0x5b0a3f=await Promise['race']([_0x141606['ping'](),new Promise((_0x2b5a67,_0x87f3ec)=>setTimeout(()=>_0x87f3ec(new Error(_0x32408a(0x16e))),_0x1ab6c8))]);return _0x4c8e2f['FUQvj'](_0x5b0a3f,_0x4c8e2f['pGlSe']);}catch(_0x15f1c1){return![];}}async[a0_0x3c1b96(0x14d)](){const _0x49bdff=a0_0x3c1b96;this['client']&&(await this[_0x49bdff(0x16b)][_0x49bdff(0x161)](),this[_0x49bdff(0x16b)]=null,this['isConnected']=![]);}[a0_0x3c1b96(0x162)](){const _0xbdf6bb=a0_0x3c1b96;this[_0xbdf6bb(0x16b)]&&(this['client']['disconnect'](),this['client']=null,this[_0xbdf6bb(0x15f)]=![]);}}function a0_0x5e21(){const _0x4c1f5a=['mJeXmtfut0PuC3K','BwLU','nteXndyWt3H4AM9r','CMvKAxnFzxjYB3i','z2v0q2XPzw50','uKvesvnFueftu1DpuKq','rhfNvLa','nZK3nZHAwvPwyNq','mZi0mdGZngPfz3f3wa','BwvZC2fNzq','mZG4BuzWshzu','uMvKAxmGy29UBMvJDgLVBIbJBg9Zzwq','CMvKAxnFAw5PDf9LCNjVCG','q0L6zu4','ntu5ode3m1nVufvYuW','mJb2tM1hs3G','uKvesvnFrei','AxndB25Uzwn0zwq','wxj0tuC','CxvPDa','zM9Yy2veAxnJB25Uzwn0','uMvKAxmGy29UBMvJDgvKihn1y2nLC3nMDwXSEq','CMvKAxnFy29UBMvJDgvK','CMvKAxnFzgLZy29UBMvJDgvK','mtG1nZy0mhPLDNjeCa','mZe3mgPiCLfqAq','Aw5MBW','zw52','D2fYBG','y2XPzw50','zxjYB3i','odq2oxPICuPWrW','uMvKAxmGueLorYb0Aw1LB3v0','zxHWB3j0CW','y29UBMvJDa','zgLZy29UBMvJDa'];a0_0x5e21=function(){return _0x4c1f5a;};return a0_0x5e21();}function a0_0x1373(_0x2c1cd1,_0x5b6d6a){_0x2c1cd1=_0x2c1cd1-0x14d;const _0x5e21e9=a0_0x5e21();let _0x137373=_0x5e21e9[_0x2c1cd1];if(a0_0x1373['ftzfyw']===undefined){var _0x4d89ff=function(_0x40e1bd){const _0x2696db='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3c3e93='',_0x1ece3f='';for(let _0x354d8b=0x0,_0x39468f,_0x360b2a,_0x20e519=0x0;_0x360b2a=_0x40e1bd['charAt'](_0x20e519++);~_0x360b2a&&(_0x39468f=_0x354d8b%0x4?_0x39468f*0x40+_0x360b2a:_0x360b2a,_0x354d8b++%0x4)?_0x3c3e93+=String['fromCharCode'](0xff&_0x39468f>>(-0x2*_0x354d8b&0x6)):0x0){_0x360b2a=_0x2696db['indexOf'](_0x360b2a);}for(let _0x12a4e6=0x0,_0x53869a=_0x3c3e93['length'];_0x12a4e6<_0x53869a;_0x12a4e6++){_0x1ece3f+='%'+('00'+_0x3c3e93['charCodeAt'](_0x12a4e6)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1ece3f);};a0_0x1373['tucweg']=_0x4d89ff,a0_0x1373['vvMzUv']={},a0_0x1373['ftzfyw']=!![];}const _0x2671e9=_0x5e21e9[0x0],_0x3a298a=_0x2c1cd1+_0x2671e9,_0x1533ce=a0_0x1373['vvMzUv'][_0x3a298a];return!_0x1533ce?(_0x137373=a0_0x1373['tucweg'](_0x137373),a0_0x1373['vvMzUv'][_0x3a298a]=_0x137373):_0x137373=_0x1533ce,_0x137373;}module[a0_0x3c1b96(0x16f)]=new RedisClient();
@@ -1 +1 @@
1
- const a0_0x329d1b=a0_0x2500;function a0_0x2139(){const _0x17573b=['yNfRtMi','u1vuvhe','CgfYC2u','vNDLqMm','ntKYuhHhzxHd','ChjLzML4','mJqYmdiYzgzvquD5','rvHqt1jux0zjtevFrvHqsvjz','rMfPBgvKihrVigDLDcbHBgWGAM9ICW','nJCYnZjjturbDgW','zgvSzxrLsM9I','z2v0','mZK4nZftB3fJCuu','A2v5CW','odi1owXACwTyBq','mZvnDhnfCwS','CMvKAxnFzgvSzxrLx2vYCM9Y','mtK3nteWruLXs0fA','zgvMyxvSDa','oduZotKWrLf6q0Pn','zxjYB3i','ChvZAa','C3rYAw5NAwz5','ENjmuhe','x3bYzwzPEa','DhrS','CMvKAxnFC2v0x2vYCM9Y','C2v0sM9I','C2v0zxG','mtCXuhnfuKnV','BwvZC2fNzq','nfvbs0T0EG','z2v0q2XPzw50','odu1nJu4muHSCgzWAG','zw52','rMfPBgvKihrVigrLBgv0zsbQB2iGzNjVBsbszwrPCW'];a0_0x2139=function(){return _0x17573b;};return a0_0x2139();}(function(_0x3dd592,_0x4bb74c){const _0x364386=a0_0x2500,_0x418ae5=_0x3dd592();while(!![]){try{const _0x1f23c1=-parseInt(_0x364386(0x1e4))/0x1*(-parseInt(_0x364386(0x1d3))/0x2)+-parseInt(_0x364386(0x1e6))/0x3*(parseInt(_0x364386(0x1dc))/0x4)+parseInt(_0x364386(0x1e9))/0x5+parseInt(_0x364386(0x1de))/0x6*(-parseInt(_0x364386(0x1e7))/0x7)+parseInt(_0x364386(0x1e1))/0x8*(-parseInt(_0x364386(0x1d1))/0x9)+parseInt(_0x364386(0x1eb))/0xa+parseInt(_0x364386(0x1d5))/0xb;if(_0x1f23c1===_0x4bb74c)break;else _0x418ae5['push'](_0x418ae5['shift']());}catch(_0x2e99d0){_0x418ae5['push'](_0x418ae5['shift']());}}}(a0_0x2139,0x3426e));function a0_0x2500(_0x542136,_0x54ccbe){_0x542136=_0x542136-0x1d0;const _0x213920=a0_0x2139();let _0x2500c6=_0x213920[_0x542136];if(a0_0x2500['JmDGhJ']===undefined){var _0x396efa=function(_0x30268a){const _0x49b177='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x55bb99='',_0x4492b7='';for(let _0x3e09b6=0x0,_0x126904,_0x16cc02,_0x3ed54b=0x0;_0x16cc02=_0x30268a['charAt'](_0x3ed54b++);~_0x16cc02&&(_0x126904=_0x3e09b6%0x4?_0x126904*0x40+_0x16cc02:_0x16cc02,_0x3e09b6++%0x4)?_0x55bb99+=String['fromCharCode'](0xff&_0x126904>>(-0x2*_0x3e09b6&0x6)):0x0){_0x16cc02=_0x49b177['indexOf'](_0x16cc02);}for(let _0xb6fa66=0x0,_0x438287=_0x55bb99['length'];_0xb6fa66<_0x438287;_0xb6fa66++){_0x4492b7+='%'+('00'+_0x55bb99['charCodeAt'](_0xb6fa66)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4492b7);};a0_0x2500['wVBXYU']=_0x396efa,a0_0x2500['DNtfyx']={},a0_0x2500['JmDGhJ']=!![];}const _0x21ed93=_0x213920[0x0],_0x26a634=_0x542136+_0x21ed93,_0x9cbdfc=a0_0x2500['DNtfyx'][_0x26a634];return!_0x9cbdfc?(_0x2500c6=a0_0x2500['wVBXYU'](_0x2500c6),a0_0x2500['DNtfyx'][_0x26a634]=_0x2500c6):_0x2500c6=_0x9cbdfc,_0x2500c6;}const redisClient=require('./redis-client'),{logger}=require('./logger');class RedisHelper{constructor(){const _0x113549=a0_0x2500,_0x27a9c7={'dpmPl':function(_0x373538,_0x51aa0a,_0x2fce14){return _0x373538(_0x51aa0a,_0x2fce14);}};this['_prefix']=null,this[_0x113549(0x1f1)]=_0x27a9c7['dpmPl'](parseInt,process[_0x113549(0x1d6)][_0x113549(0x1df)],0xa)||0xe10;}get['prefix'](){const _0x2442a4=a0_0x2500;if(!this[_0x2442a4(0x1f0)]){const _0x3b0ae9=process[_0x2442a4(0x1d6)]['RESTFORGE_PROJECT_NAME']||_0x2442a4(0x1ea);this['_prefix']='restforge:'+_0x3b0ae9+':export:';}return this['_prefix'];}async[a0_0x329d1b(0x1f3)](_0x113dc4,_0x1a6851){const _0x3d55c6=a0_0x329d1b,_0x399649={'bqkNb':'Failed\x20to\x20set\x20job\x20in\x20Redis'};try{const _0x41bd45=redisClient['getClient'](),_0x5ed8f2=''+this[_0x3d55c6(0x1dd)]+_0x113dc4;return await _0x41bd45[_0x3d55c6(0x1d0)](_0x5ed8f2,this['ttl'],JSON[_0x3d55c6(0x1ee)](_0x1a6851)),!![];}catch(_0x33b0ad){return logger[_0x3d55c6(0x1ec)]({'event':_0x3d55c6(0x1f2),'jobId':_0x113dc4,'error':_0x33b0ad[_0x3d55c6(0x1d2)]},_0x399649[_0x3d55c6(0x1d8)]),![];}}async['getJob'](_0x2cce1f){const _0x50f122=a0_0x329d1b,_0xa4d9b={'SUTTq':'redis_get_error'};try{const _0x1ddb14=redisClient['getClient'](),_0x780d94=''+this[_0x50f122(0x1dd)]+_0x2cce1f,_0x458cdb=await _0x1ddb14[_0x50f122(0x1e3)](_0x780d94);return _0x458cdb?JSON[_0x50f122(0x1da)](_0x458cdb):null;}catch(_0x1d0489){return logger['error']({'event':_0xa4d9b[_0x50f122(0x1d9)],'jobId':_0x2cce1f,'error':_0x1d0489[_0x50f122(0x1d2)]},'Failed\x20to\x20get\x20job\x20from\x20Redis'),null;}}async['updateJob'](_0x53df26,_0x14556d){const _0x230484=a0_0x329d1b,_0x1c1f15=await this['getJob'](_0x53df26);if(!_0x1c1f15)return![];const _0x2c19ed={..._0x1c1f15,..._0x14556d};return await this[_0x230484(0x1f3)](_0x53df26,_0x2c19ed);}async[a0_0x329d1b(0x1e2)](_0x4966e9){const _0x24794d=a0_0x329d1b,_0x4169b1={'VweBc':_0x24794d(0x1e8)};try{const _0x59fb43=redisClient[_0x24794d(0x1d4)](),_0x919d57=''+this['prefix']+_0x4966e9;return await _0x59fb43['del'](_0x919d57),!![];}catch(_0x34519b){return logger['error']({'event':_0x4169b1[_0x24794d(0x1db)],'jobId':_0x4966e9,'error':_0x34519b[_0x24794d(0x1d2)]},_0x24794d(0x1d7)),![];}}async['getAllJobs'](){const _0xe4212c=a0_0x329d1b,_0x49eb64={'zrLPq':'redis_getall_error','IwtQi':_0xe4212c(0x1e0)};try{const _0x1b9047=redisClient[_0xe4212c(0x1d4)](),_0x1fe2e9=await _0x1b9047[_0xe4212c(0x1e5)](this['prefix']+'*'),_0x422077=[];for(const _0x4af8b6 of _0x1fe2e9){const _0x1724fc=await _0x1b9047['get'](_0x4af8b6);_0x1724fc&&_0x422077[_0xe4212c(0x1ed)](JSON[_0xe4212c(0x1da)](_0x1724fc));}return _0x422077;}catch(_0x5e59ae){return logger[_0xe4212c(0x1ec)]({'event':_0x49eb64[_0xe4212c(0x1ef)],'error':_0x5e59ae['message']},_0x49eb64['IwtQi']),[];}}}module['exports']=new RedisHelper();
1
+ const a0_0xeff9fe=a0_0x5323;(function(_0x5c50a5,_0x5c0ecc){const _0xe14ece=a0_0x5323,_0x8e2635=_0x5c50a5();while(!![]){try{const _0x5846c1=parseInt(_0xe14ece(0x11d))/0x1+parseInt(_0xe14ece(0x10c))/0x2*(parseInt(_0xe14ece(0x107))/0x3)+parseInt(_0xe14ece(0x101))/0x4+parseInt(_0xe14ece(0x10a))/0x5*(parseInt(_0xe14ece(0x10e))/0x6)+-parseInt(_0xe14ece(0x110))/0x7+parseInt(_0xe14ece(0x118))/0x8*(-parseInt(_0xe14ece(0x122))/0x9)+parseInt(_0xe14ece(0x121))/0xa*(-parseInt(_0xe14ece(0x104))/0xb);if(_0x5846c1===_0x5c0ecc)break;else _0x8e2635['push'](_0x8e2635['shift']());}catch(_0x310198){_0x8e2635['push'](_0x8e2635['shift']());}}}(a0_0x3a02,0xab398));const redisClient=require(a0_0xeff9fe(0x115)),{logger}=require(a0_0xeff9fe(0x119));function a0_0x5323(_0x33d669,_0x55f9d1){_0x33d669=_0x33d669-0x100;const _0x3a02f3=a0_0x3a02();let _0x532322=_0x3a02f3[_0x33d669];if(a0_0x5323['RfVZql']===undefined){var _0x3b411e=function(_0x3bab87){const _0x38ce06='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x55ad4e='',_0x679e7b='';for(let _0x198882=0x0,_0x17220a,_0x3f7359,_0x2b261b=0x0;_0x3f7359=_0x3bab87['charAt'](_0x2b261b++);~_0x3f7359&&(_0x17220a=_0x198882%0x4?_0x17220a*0x40+_0x3f7359:_0x3f7359,_0x198882++%0x4)?_0x55ad4e+=String['fromCharCode'](0xff&_0x17220a>>(-0x2*_0x198882&0x6)):0x0){_0x3f7359=_0x38ce06['indexOf'](_0x3f7359);}for(let _0x44acd2=0x0,_0xbefb85=_0x55ad4e['length'];_0x44acd2<_0xbefb85;_0x44acd2++){_0x679e7b+='%'+('00'+_0x55ad4e['charCodeAt'](_0x44acd2)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x679e7b);};a0_0x5323['fRYquF']=_0x3b411e,a0_0x5323['vUvlhn']={},a0_0x5323['RfVZql']=!![];}const _0x154321=_0x3a02f3[0x0],_0x521551=_0x33d669+_0x154321,_0x480daf=a0_0x5323['vUvlhn'][_0x521551];return!_0x480daf?(_0x532322=a0_0x5323['fRYquF'](_0x532322),a0_0x5323['vUvlhn'][_0x521551]=_0x532322):_0x532322=_0x480daf,_0x532322;}class RedisHelper{constructor(){const _0x29a3de=a0_0xeff9fe;this['_prefix']=null,this[_0x29a3de(0x102)]=parseInt(process['env']['EXPORT_FILE_EXPIRY'],0xa)||0xe10;}get['prefix'](){const _0x58ade0=a0_0xeff9fe,_0x40b223={'rkViI':_0x58ade0(0x117)};if(!this['_prefix']){const _0x22cc17=process[_0x58ade0(0x120)]['RESTFORGE_PROJECT_NAME']||_0x40b223['rkViI'];this['_prefix']=_0x58ade0(0x11a)+_0x22cc17+':export:';}return this['_prefix'];}async[a0_0xeff9fe(0x111)](_0xd459a9,_0x5551a0){const _0x4a5013=a0_0xeff9fe,_0x567c1b={'ndIuR':_0x4a5013(0x10f),'EPZLS':'Failed\x20to\x20set\x20job\x20in\x20Redis'};try{const _0x5172b3=redisClient[_0x4a5013(0x106)](),_0x432c59=''+this[_0x4a5013(0x112)]+_0xd459a9;return await _0x5172b3['setex'](_0x432c59,this['ttl'],JSON['stringify'](_0x5551a0)),!![];}catch(_0x4f52b7){return logger['error']({'event':_0x567c1b['ndIuR'],'jobId':_0xd459a9,'error':_0x4f52b7[_0x4a5013(0x114)]},_0x567c1b[_0x4a5013(0x103)]),![];}}async['getJob'](_0x5e86fe){const _0x478630=a0_0xeff9fe,_0x317b39={'rEuZp':'redis_get_error','Wdqah':'Failed\x20to\x20get\x20job\x20from\x20Redis'};try{const _0x4e6d0a=redisClient['getClient'](),_0x1dfcde=''+this[_0x478630(0x112)]+_0x5e86fe,_0x539a8e=await _0x4e6d0a['get'](_0x1dfcde);return _0x539a8e?JSON[_0x478630(0x113)](_0x539a8e):null;}catch(_0x211b70){return logger[_0x478630(0x10d)]({'event':_0x317b39[_0x478630(0x11e)],'jobId':_0x5e86fe,'error':_0x211b70['message']},_0x317b39['Wdqah']),null;}}async[a0_0xeff9fe(0x116)](_0x49d331,_0x1bf3c1){const _0x23df0d=a0_0xeff9fe,_0x3e68e2=await this[_0x23df0d(0x100)](_0x49d331);if(!_0x3e68e2)return![];const _0x57a5a9={..._0x3e68e2,..._0x1bf3c1};return await this[_0x23df0d(0x111)](_0x49d331,_0x57a5a9);}async['deleteJob'](_0x551795){const _0x2cfa9e=a0_0xeff9fe,_0x271c15={'CXUaS':'redis_delete_error','ulLam':'Failed\x20to\x20delete\x20job\x20from\x20Redis'};try{const _0xd21f64=redisClient['getClient'](),_0x156493=''+this['prefix']+_0x551795;return await _0xd21f64[_0x2cfa9e(0x109)](_0x156493),!![];}catch(_0x57643a){return logger['error']({'event':_0x271c15[_0x2cfa9e(0x11f)],'jobId':_0x551795,'error':_0x57643a[_0x2cfa9e(0x114)]},_0x271c15['ulLam']),![];}}async[a0_0xeff9fe(0x108)](){const _0x6030ab=a0_0xeff9fe;try{const _0x291efd=redisClient[_0x6030ab(0x106)](),_0x387169=await _0x291efd['keys'](this['prefix']+'*'),_0x5da9a9=[];for(const _0x5331f0 of _0x387169){const _0x3d01bb=await _0x291efd[_0x6030ab(0x105)](_0x5331f0);_0x3d01bb&&_0x5da9a9[_0x6030ab(0x11c)](JSON['parse'](_0x3d01bb));}return _0x5da9a9;}catch(_0x3376b1){return logger['error']({'event':_0x6030ab(0x10b),'error':_0x3376b1['message']},_0x6030ab(0x11b)),[];}}}function a0_0x3a02(){const _0x2ce790=['mZG3mZa0BMfRAfDr','lI9SB2DNzxi','CMvZDgzVCMDLoG','rMfPBgvKihrVigDLDcbHBgWGAM9ICW','ChvZAa','mte0mZmXnMTvrgTlzW','CKv1wNa','q1Hvyvm','zw52','otyYnZm1mg9dv2XSwG','mZzAzfD1r3i','z2v0sM9I','ntu1mtiYmgrUALLRza','DhrS','rvbAtfm','mZn4wLvuvee','z2v0','z2v0q2XPzw50','otCWmJC4wgrOsxfu','z2v0qwXSsM9ICW','zgvS','ntbPyLjtCfy','CMvKAxnFz2v0ywXSx2vYCM9Y','nKDHz0LVEG','zxjYB3i','ntq4mJiWBMrqrxzZ','CMvKAxnFC2v0x2vYCM9Y','ndqYmZm0mNrWu3rVqq','C2v0sM9I','ChjLzML4','CgfYC2u','BwvZC2fNzq','lI9YzwrPCY1JBgLLBNq','DxbKyxrLsM9I','zgvMyxvSDa'];a0_0x3a02=function(){return _0x2ce790;};return a0_0x3a02();}module['exports']=new RedisHelper();