@restforgejs/platform 5.0.1 → 5.0.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 (182) 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/dashboard/create.js +1 -1
  5. package/generators/cli/endpoint/create.js +1 -1
  6. package/generators/cli/processor/create.js +1 -1
  7. package/generators/lib/dbschema-kit/apply-executor.js +15 -1
  8. package/generators/lib/dbschema-kit/dialect/mysql.js +2 -0
  9. package/generators/lib/dbschema-kit/dialect/oracle.js +2 -0
  10. package/generators/lib/dbschema-kit/dialect/postgres.js +3 -0
  11. package/generators/lib/dbschema-kit/dialect/sqlite.js +2 -0
  12. package/generators/lib/dbschema-kit/emitters/alter-table.js +7 -0
  13. package/generators/lib/dbschema-kit/emitters/create-table.js +31 -3
  14. package/generators/lib/dbschema-kit/statement-modifier.js +12 -2
  15. package/generators/lib/migrate/migrate-runner.js +393 -393
  16. package/generators/lib/payload/payload-runner.js +64 -2
  17. package/generators/lib/payload/schema-diff.js +31 -1
  18. package/generators/lib/templates/dashboard-catalog.js +1 -1
  19. package/generators/lib/templates/db-connection-env.js +1 -1
  20. package/generators/lib/templates/dbschema-catalog.js +1 -1
  21. package/generators/lib/templates/field-validation-catalog.js +1 -1
  22. package/generators/lib/templates/mysql-template.js +1 -1
  23. package/generators/lib/templates/oracle-template.js +1 -1
  24. package/generators/lib/templates/postgres-template.js +1 -1
  25. package/generators/lib/templates/query-declarative-catalog.js +1 -1
  26. package/generators/lib/templates/sqlite-template.js +1 -1
  27. package/generators/lib/utils/database-introspector.js +417 -6
  28. package/generators/lib/validators/argument-validator.js +2 -2
  29. package/integrity-manifest.json +18 -18
  30. package/package.json +4 -2
  31. package/scripts/verify-integrity.js +1 -1
  32. package/server.js +1 -1
  33. package/src/components/handlers/adjust_handler.js +1 -1
  34. package/src/components/handlers/audit_handler.js +1 -1
  35. package/src/components/handlers/delete_handler.js +1 -1
  36. package/src/components/handlers/export_handler.js +1 -1
  37. package/src/components/handlers/import_handler.js +1 -1
  38. package/src/components/handlers/insert_handler.js +1 -1
  39. package/src/components/handlers/update_handler.js +1 -1
  40. package/src/components/handlers/upload_handler.js +1 -1
  41. package/src/components/handlers/workflow_handler.js +1 -1
  42. package/src/components/integrations/webhook.js +1 -1
  43. package/src/consumers/baseConsumer.js +1 -1
  44. package/src/consumers/declarativeMapper.js +1 -1
  45. package/src/consumers/handlers/apiHandler.js +1 -1
  46. package/src/consumers/handlers/consoleHandler.js +1 -1
  47. package/src/consumers/handlers/databaseHandler.js +1 -1
  48. package/src/consumers/handlers/index.js +1 -1
  49. package/src/consumers/handlers/kafkaHandler.js +1 -1
  50. package/src/consumers/index.js +1 -1
  51. package/src/consumers/messageTransformer.js +1 -1
  52. package/src/consumers/validator.js +1 -1
  53. package/src/core/db/dialect/base-dialect.js +1 -1
  54. package/src/core/db/dialect/index.js +1 -1
  55. package/src/core/db/dialect/mysql-dialect.js +1 -1
  56. package/src/core/db/dialect/oracle-dialect.js +1 -1
  57. package/src/core/db/dialect/postgres-dialect.js +1 -1
  58. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  59. package/src/core/db/flatten-helper.js +1 -1
  60. package/src/core/db/query-builder-error.js +1 -1
  61. package/src/core/db/query-builder.js +1 -1
  62. package/src/core/db/relation-helper.js +1 -1
  63. package/src/core/handlers/delete_handler.js +1 -1
  64. package/src/core/handlers/insert_handler.js +1 -1
  65. package/src/core/handlers/update_handler.js +1 -1
  66. package/src/core/models/base-model.js +1 -1
  67. package/src/core/utils/cache-manager.js +1 -1
  68. package/src/core/utils/component-engine.js +1 -1
  69. package/src/core/utils/context-builder.js +1 -1
  70. package/src/core/utils/datetime-formatter.js +1 -1
  71. package/src/core/utils/datetime-parser.js +1 -1
  72. package/src/core/utils/db.js +1 -1
  73. package/src/core/utils/logger.js +1 -1
  74. package/src/core/utils/payload-loader.js +1 -1
  75. package/src/core/utils/security-checks.js +1 -1
  76. package/src/middleware/body-options.js +1 -1
  77. package/src/middleware/cors.js +1 -1
  78. package/src/middleware/idempotency.js +1 -1
  79. package/src/middleware/rate-limiter.js +1 -1
  80. package/src/middleware/request-logger.js +1 -1
  81. package/src/middleware/security-headers.js +1 -1
  82. package/src/models/base-model-mysql.js +1 -1
  83. package/src/models/base-model-oracle.js +1 -1
  84. package/src/models/base-model-sqlite.js +1 -1
  85. package/src/models/base-model.js +1 -1
  86. package/src/pro/caching/redis-client.js +1 -1
  87. package/src/pro/caching/redis-helper.js +1 -1
  88. package/src/pro/consumers/baseConsumer.js +1 -1
  89. package/src/pro/consumers/declarativeMapper.js +1 -1
  90. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  91. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  92. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  93. package/src/pro/consumers/handlers/index.js +1 -1
  94. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  95. package/src/pro/consumers/index.js +1 -1
  96. package/src/pro/consumers/messageTransformer.js +1 -1
  97. package/src/pro/consumers/validator.js +1 -1
  98. package/src/pro/database/base-model-mysql.js +1 -1
  99. package/src/pro/database/base-model-oracle.js +1 -1
  100. package/src/pro/database/base-model-sqlite.js +1 -1
  101. package/src/pro/database/db-mysql.js +1 -1
  102. package/src/pro/database/db-oracle.js +1 -1
  103. package/src/pro/database/db-sqlite.js +1 -1
  104. package/src/pro/excel/excel-generator.js +1 -1
  105. package/src/pro/excel/excel-parser.js +1 -1
  106. package/src/pro/excel/export-service.js +1 -1
  107. package/src/pro/excel/export_handler.js +1 -1
  108. package/src/pro/excel/import-service.js +1 -1
  109. package/src/pro/excel/import-validator.js +1 -1
  110. package/src/pro/excel/import_handler.js +1 -1
  111. package/src/pro/excel/upsert-builder.js +1 -1
  112. package/src/pro/idgen/idgen-routes.js +1 -1
  113. package/src/pro/integrations/lookup-resolver.js +1 -1
  114. package/src/pro/integrations/upload-handler-v2.js +1 -1
  115. package/src/pro/integrations/upload-handler.js +1 -1
  116. package/src/pro/integrations/webhook.js +1 -1
  117. package/src/pro/locking/lock-routes.js +1 -1
  118. package/src/pro/locking/resource-lock-manager.js +1 -1
  119. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  120. package/src/pro/messaging/kafkaService.js +1 -1
  121. package/src/pro/messaging/messagehubService.js +1 -1
  122. package/src/pro/messaging/rabbitmqService.js +1 -1
  123. package/src/pro/scheduler/job-manager.js +1 -1
  124. package/src/pro/scheduler/job-routes.js +1 -1
  125. package/src/pro/scheduler/job-validator.js +1 -1
  126. package/src/pro/storage/base-storage-provider.js +1 -1
  127. package/src/pro/storage/file-metadata-helper.js +1 -1
  128. package/src/pro/storage/index.js +1 -1
  129. package/src/pro/storage/local-storage-provider.js +1 -1
  130. package/src/pro/storage/s3-storage-provider.js +1 -1
  131. package/src/pro/storage/upload-cleanup-job.js +1 -1
  132. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  133. package/src/pro/storage/upload-pending-tracker.js +1 -1
  134. package/src/pro/websocket/broadcast-helper.js +1 -1
  135. package/src/pro/websocket/index.js +1 -1
  136. package/src/pro/websocket/livesync-server.js +1 -1
  137. package/src/pro/websocket/ws-broadcaster.js +1 -1
  138. package/src/services/export-service.js +1 -1
  139. package/src/services/import-service.js +1 -1
  140. package/src/services/kafkaConsumerService.js +1 -1
  141. package/src/services/kafkaService.js +1 -1
  142. package/src/services/messagehubService.js +1 -1
  143. package/src/services/rabbitmqService.js +1 -1
  144. package/src/utils/cache-invalidation-registry.js +1 -1
  145. package/src/utils/cache-manager.js +1 -1
  146. package/src/utils/component-engine.js +1 -1
  147. package/src/utils/config-extractor.js +1 -1
  148. package/src/utils/consumerLogger.js +1 -1
  149. package/src/utils/context-builder.js +1 -1
  150. package/src/utils/dashboard-helpers.js +1 -1
  151. package/src/utils/dateHelper.js +1 -1
  152. package/src/utils/datetime-formatter.js +1 -1
  153. package/src/utils/datetime-parser.js +1 -1
  154. package/src/utils/db-bootstrap.js +1 -1
  155. package/src/utils/db-mysql.js +1 -1
  156. package/src/utils/db-oracle.js +1 -1
  157. package/src/utils/db-sqlite.js +1 -1
  158. package/src/utils/db.js +1 -1
  159. package/src/utils/demo-generator.js +1 -1
  160. package/src/utils/excel-generator.js +1 -1
  161. package/src/utils/excel-parser.js +1 -1
  162. package/src/utils/file-watcher.js +1 -1
  163. package/src/utils/id-generator.js +1 -1
  164. package/src/utils/idempotency-manager.js +1 -1
  165. package/src/utils/import-validator.js +1 -1
  166. package/src/utils/license-client.js +1 -1
  167. package/src/utils/lock-manager.js +1 -1
  168. package/src/utils/logger.js +1 -1
  169. package/src/utils/lookup-resolver.js +1 -1
  170. package/src/utils/payload-loader.js +1 -1
  171. package/src/utils/processor-response.js +1 -1
  172. package/src/utils/rabbitmq.js +1 -1
  173. package/src/utils/redis-client.js +1 -1
  174. package/src/utils/redis-helper.js +1 -1
  175. package/src/utils/request-scope.js +1 -1
  176. package/src/utils/security-checks.js +1 -1
  177. package/src/utils/service-resolver.js +1 -1
  178. package/src/utils/shutdown-coordinator.js +1 -1
  179. package/src/utils/trusted-keys.js +1 -1
  180. package/src/utils/upload-handler.js +1 -1
  181. package/src/utils/upsert-builder.js +1 -1
  182. package/src/utils/workflow-hook-executor.js +1 -1
@@ -1 +1 @@
1
- 'use strict';const a0_0x5aab24=a0_0x9b3e;function a0_0x6f2d(){const _0x5835b4=['AgfZ','AxnjBML0AwfSAxPLza','DxjS','qNjVywrJyxn0ia','BKTnuhG','BgL2zxn5BMnFC2H1DgrVD24','zgf0yq','C2L6zq','mtG1otGYmezdzerLwG','y2HHBM5LBhm','ntq2otm3mgTHDgfQwq','y1jpC0C','DhLWzq','x3n1yNnJCMLWDgLVBNm','sfruuc8XlJeGndaXifvUyxv0Ag9YAxPLza0kdqO','BMLZr1e','C3vIC2nYAwjL','Dw5ZDwjZy3jPyMu','x2HHBMrSzunVBM5Ly3rPB24','vuXUz2u','uKvesvnFse9tva','lI4VlI4VDxrPBhmVBg9Nz2vY','ndu0nJyXn25zCMPhEq','C3vIC2nYAwjLzenOyw5UzwXZ','tgL2zsbtEw5JignSAwvUDcbJB25Uzwn0zwqGzNjVBsa','vw5RBM93BIbTzxnZywDLihr5Cgu6ia','EhHRs1a','x3nLDhvWuMvKAxnqDwjSAxnOzxi','s25JC1e','x2HLyxj0yMvHDfrPBwvY','x3nLBMruB0nSAwvUDa','zgn4A3m','C3rYAw5NAwz5','x2HHBMrSzvn1yNnJCMLIzq','x3nLDhvWuMvKAxm','zxjYB3i','BwvZC2fNzq','x3DVCMTLCKLK','z2v0q2XPzw50','mZqXzLbzDLL1','ChvIBgLZAgvY','y2XPzw50CW','x3n0yxj0sgvHCNrIzwf0','x2LUAxrPywXPEMvK','uKvesvnFrei','x2HHBMrSzvvUC3vIC2nYAwjL','z2v0','BgL2zxn5BMnFAw5PDgLHBgL6zwq','AM9PBG','DM1Itwe','q2XPzw50ihn1yNnJCMLIzwqGDg86ia','uKvesvnFue9sva','rMfPBgvKihrVignVBM5Ly3qGuMvKAxmGChvIBgLZAgvYigzVCIbmAxzLifn5BMm','ALjhvfK','C3bSAxq','tgL2zsbtEw5JignSAwvUDcbKAxnJB25Uzwn0zwq6ia','q1H0q0y','Dg9tDhjPBMC','vNPwrNa','uKzLAwq','uMvKAxmGBM90igf2ywLSywjSzsbMB3iGtgL2zsbtEw5Jihb1yMXPC2HLCJOG','BgL2zxn5BMnFCMvKAxnFChvIBgLZAgvYx2zHAwXLza','x2jYB2fKy2fZDeXVy2fS','ChvZAa','y2f0y2G','x3nLDhvWvxbNCMfKzuf1DgG','CMvTB3zLqwXStgLZDgvUzxjZ','Aw9YzwrPCW','D2fYBG','Aw5PDgLHBgL6zufZuhvIBgLZAgvY','DvvPzfa','CMvTB3rLqwrKCMvZCW','DxbNCMfKzq','tgL2zsbtEw5JifjLzgLZihn1yNnJCMLIzxiGywn0AxzLigzVCIbJBhvZDgvYig1Vzgu','Affdwwi','shLXvNO','ywn0Aw9U','x293BLb1yMXPC2HLCG','C3vIC2nYAwjLza','lI4VlI4VDxrPBhmVCMvKAxmTy2XPzw50','y29UBMvJDgLVBG','D3jPDgu','x3b1yMXPC2HuB1jLzgLZ','uMvKAxmGBM90igf2ywLSywjSzsbMB3iGtgL2zsbtEw5JignSDxn0zxiGBw9KztOG','x3DZCW','nJm1nNHltLDMEa','Aw5PDgLHBgL6zq','x3jLzgLZuhvIBgLZAgvY','D25cs0m','x29WDgLVBNm','BgL2zxn5BMnFy2XPzw50x2rPC2nVBM5Ly3rLza','mtmZntCYmtvnzNzSDfu','qMjZrNy','DgHLBG','mhWXFdn8nhW1Fdj8nG','nJiWtM9YteHV','CMvHzhLtDgf0zq','D2PPBe4','CgfYC2u','yxLTt0m','y2XLyxi','AxbZC2y','zgvIDwC','og5Lt0jvtW','C3rHCNrZv2L0Aa','v2vIu29JA2v0ihnLCNzLCIbLCNjVCJOG','BgL2zxn5BMnFCMvKAxnFC3vIC2nYAwjLx2vYCM9Y','y2HHBM5LBa','wwv2qNm','zw52','y2HHBM5LBhmGBxvZDcbIzsbHig5VBI1LBxb0EsbHCNjHEq','q0jprxm','mta1otzpz2LrwM4','y29UBMvJDa','uKvesvnFueftu1DpuKq','x3jLBw92zunSAwvUDezYB21bBgXdAgfUBMvSCW','x3jLzgLZu3vIC2nYAwjLCG','zgf0yv9JAgfUz2u','l3DZ','Bg9JywXOB3n0','x21Vzgu','CMvXDwvZDeLK','Aw5MBW','BeHhtvO','ywrK','Dg9ju09tDhjPBMC','zNvSBa','nZy2qMrPC21i','x2HHBMrSzunSAwvUDe1LC3nHz2u','BgL2zxn5BMnFCMvKAxnFC3vIC2nYAwjLCL9MywLSzwq','s1PWzNy','yNjVywrJyxn0','BgvUz3rO','C2vUza','wuDhC0O','rMfPBgvKihrVignVBM5Ly3qGuMvKAxmGC3vIC2nYAwjLCIbMB3iGtgL2zsbtEw5JignSDxn0zxiGBw9Kzq','BgL2zxn5BMnFyNjVywrJyxn0','mJuWmwnmDg56rq','x2XVz2DLCG','yxbPs2v5','mZuYnZvAwezhshm'];a0_0x6f2d=function(){return _0x5835b4;};return a0_0x6f2d();}(function(_0x148d8e,_0x452c1b){const _0x1238bf=a0_0x9b3e,_0x1ba947=_0x148d8e();while(!![]){try{const _0x254ca8=parseInt(_0x1238bf(0x171))/0x1*(-parseInt(_0x1238bf(0x167))/0x2)+-parseInt(_0x1238bf(0x18b))/0x3+-parseInt(_0x1238bf(0x147))/0x4*(-parseInt(_0x1238bf(0x174))/0x5)+parseInt(_0x1238bf(0x158))/0x6*(-parseInt(_0x1238bf(0x13d))/0x7)+-parseInt(_0x1238bf(0x14f))/0x8*(parseInt(_0x1238bf(0x143))/0x9)+parseInt(_0x1238bf(0x17f))/0xa+parseInt(_0x1238bf(0x19c))/0xb*(parseInt(_0x1238bf(0x17d))/0xc);if(_0x254ca8===_0x452c1b)break;else _0x1ba947['push'](_0x1ba947['shift']());}catch(_0x498fb5){_0x1ba947['push'](_0x1ba947['shift']());}}}(a0_0x6f2d,0xd7cc8));const {WebSocketServer}=require('ws'),{URL}=require('url'),REDIS_CHANNEL_PREFIX='restforge:livesync:';class WebSocketBroadcaster{constructor(){const _0x2e4f4f=a0_0x9b3e;this[_0x2e4f4f(0x13c)]=null,this['_initialized']=![],this[_0x2e4f4f(0x160)]=null,this['_options']={},this[_0x2e4f4f(0x172)]=console,this[_0x2e4f4f(0x182)]=new Map(),this[_0x2e4f4f(0x192)]=null,this['_redisPublisher']=null,this['_redisSubscriber']=null,this['_workerId']=process['pid'];}[a0_0x5aab24(0x13e)](_0x2c1ccf,_0x5e4044={}){const _0x5ce49c=a0_0x5aab24,_0x3220fc={'vmbMa':function(_0x324ea3,_0x5442aa){return _0x324ea3(_0x5442aa);},'ylBBP':_0x5ce49c(0x18a),'tNpqM':function(_0x357e3c,_0x5e84dc,_0x5915bb){return _0x357e3c(_0x5e84dc,_0x5915bb);},'jetgP':_0x5ce49c(0x198),'ISGWV':_0x5ce49c(0x166)};if(this[_0x5ce49c(0x1a0)])return;this[_0x5ce49c(0x141)]=_0x5e4044,this['_mode']='full';try{this[_0x5ce49c(0x172)]=_0x3220fc[_0x5ce49c(0x1a6)](require,_0x3220fc['ylBBP'])['logger']||console;}catch(_0x519851){this[_0x5ce49c(0x172)]=console;}const _0x424545=_0x3220fc['tNpqM'](parseInt,process[_0x5ce49c(0x155)]['LIVE_SYNC_HEARTBEAT_INTERVAL'],0xa)||0x1e;this['_wss']=new WebSocketServer({'server':_0x2c1ccf,'path':_0x5ce49c(0x15e)}),this[_0x5ce49c(0x129)](_0x2c1ccf),this['_wss']['on']('connection',(_0x1d0ae3,_0x592f9b)=>this['_handleConnection'](_0x1d0ae3,_0x592f9b)),this[_0x5ce49c(0x13c)]['on'](_0x3220fc['jetgP'],_0x371d51=>{const _0x3000ef=_0x5ce49c;this['_logger'][_0x3000ef(0x198)]({'event':'livesync_wss_error','error':_0x371d51['message']},_0x3000ef(0x151)+_0x371d51['message']);}),this['_startHeartbeat'](_0x424545),this['_setupRedis'](),this[_0x5ce49c(0x1a0)]=!![],this[_0x5ce49c(0x172)]['info']({'event':_0x5ce49c(0x1a4),'mode':_0x3220fc['ISGWV'],'path':'/ws','heartbeat':_0x424545+'s'},'Live\x20Sync\x20server\x20initialized\x20at\x20/ws\x20(heartbeat:\x20'+_0x424545+'s)');}[a0_0x5aab24(0x12d)](_0x3f7c28={}){const _0x1a03dd=a0_0x5aab24,_0x210e22={'uUidP':_0x1a03dd(0x146),'RFeid':function(_0x452ee9,_0x38438a){return _0x452ee9(_0x38438a);},'VSErD':_0x1a03dd(0x18a),'DWJzW':'livesync_publisher_initialized','zwMFp':'Live\x20Sync\x20publisher\x20initialized\x20(Redis-only,\x20no\x20WebSocket\x20server)'},_0x3a7aa7=_0x210e22[_0x1a03dd(0x12e)]['split']('|');let _0x3d3e2b=0x0;while(!![]){switch(_0x3a7aa7[_0x3d3e2b++]){case'0':if(this['_initialized'])return;continue;case'1':this[_0x1a03dd(0x141)]=_0x3f7c28;continue;case'2':this[_0x1a03dd(0x1a0)]=!![];continue;case'3':this['_mode']='publisher';continue;case'4':try{this['_logger']=_0x210e22[_0x1a03dd(0x1b0)](require,_0x210e22['VSErD'])['logger']||console;}catch(_0xe8ea8){this['_logger']=console;}continue;case'5':this['_setupRedisPublisher']();continue;case'6':this[_0x1a03dd(0x172)][_0x1a03dd(0x162)]({'event':_0x210e22['DWJzW'],'mode':_0x1a03dd(0x19d)},_0x210e22['zwMFp']);continue;}break;}}[a0_0x5aab24(0x176)](){return this['_initialized'];}['broadcast'](_0x54c2cb,_0x3eb48b){const _0x4d30a7=a0_0x5aab24,_0x4961ae={'CXtCF':function(_0x103d95,_0x2777cf){return _0x103d95===_0x2777cf;},'esLek':function(_0x39cb22,_0x2c3e67){return _0x39cb22||_0x2c3e67;},'BbjfU':function(_0x27bf6c,_0x4e0651){return _0x27bf6c>_0x4e0651;}};if(!this[_0x4d30a7(0x1a0)])return;if(_0x4961ae[_0x4d30a7(0x1ad)](this[_0x4d30a7(0x160)],'publisher')){this[_0x4d30a7(0x13a)](_0x54c2cb,_0x3eb48b);return;}const _0x486932=JSON[_0x4d30a7(0x195)]({'type':_0x4d30a7(0x15d),'channel':_0x54c2cb,'action':_0x3eb48b[_0x4d30a7(0x134)],'data':_0x3eb48b[_0x4d30a7(0x17b)],'requestId':_0x3eb48b['requestId']||null,'timestamp':new Date()[_0x4d30a7(0x165)]()}),[_0x5113be]=_0x54c2cb[_0x4d30a7(0x1ab)](':');let _0x907990=0x0;for(const [_0x482637,_0x1588cb]of this[_0x4d30a7(0x182)]){const _0x466e80=_0x4961ae['CXtCF'](_0x482637,_0x54c2cb),_0x15bc4d=_0x482637===_0x5113be+':*';if(_0x4961ae['esLek'](_0x466e80,_0x15bc4d))for(const _0x10e7fa of _0x1588cb){if(_0x10e7fa['readyState']===0x1)try{_0x10e7fa['send'](_0x486932),_0x907990++;}catch(_0x271b2a){}}}_0x4961ae['BbjfU'](_0x907990,0x0)&&this[_0x4d30a7(0x172)][_0x4d30a7(0x14e)]({'event':_0x4d30a7(0x170),'channel':_0x54c2cb,'action':_0x3eb48b['action'],'clients':_0x907990},_0x4d30a7(0x178)+_0x3eb48b['action']+'\x20on\x20'+_0x54c2cb+'\x20to\x20'+_0x907990+'\x20client(s)');}[a0_0x5aab24(0x13a)](_0x39facb,_0x45d143){const _0x5a410d=a0_0x5aab24;if(!this[_0x5a410d(0x13f)])return;const _0x345697=JSON['stringify']({'channel':_0x39facb,'message':_0x45d143,'workerId':this['_workerId']});this[_0x5a410d(0x13f)]['publish'](REDIS_CHANNEL_PREFIX+'broadcast',_0x345697)[_0x5a410d(0x128)](()=>{});}['shutdown'](){const _0x2b258e=a0_0x5aab24,_0x5fefbd={'nMmIF':function(_0x88f1b6,_0x33a383){return _0x88f1b6(_0x33a383);},'uskJO':_0x2b258e(0x17a)};if(!this[_0x2b258e(0x1a0)])return;this['_heartbeatTimer']&&(_0x5fefbd['nMmIF'](clearInterval,this[_0x2b258e(0x192)]),this['_heartbeatTimer']=null);if(this[_0x2b258e(0x13c)]){for(const _0x1cbdf4 of this['_wss'][_0x2b258e(0x19e)]){try{_0x1cbdf4['close'](0x3e9,'Server\x20shutting\x20down');}catch(_0x355407){}}this[_0x2b258e(0x13c)]['close']();}if(this['_redisSubscriber'])try{this['_redisSubscriber'][_0x2b258e(0x186)](),this['_redisSubscriber']['quit']();}catch(_0x231e5e){}if(this['_ownPublisher']&&this['_redisPublisher'])try{this['_redisPublisher']['quit']();}catch(_0x477a85){}this[_0x2b258e(0x182)][_0x2b258e(0x14c)](),this['_initialized']=![],this['_logger'][_0x2b258e(0x162)]({'event':_0x5fefbd['uskJO'],'mode':this[_0x2b258e(0x160)]},'Live\x20Sync\x20'+this[_0x2b258e(0x160)]+'\x20shut\x20down');}['_setupUpgradeAuth'](_0x1bfb83){const _0x5b489d=a0_0x5aab24,_0x40a0c2={'lQDOI':_0x5b489d(0x138),'ULnge':'x-api-key','AlHIu':function(_0x146b2d,_0x1d4cb3){return _0x146b2d!==_0x1d4cb3;},'lHGMZ':_0x5b489d(0x130)},_0x1ca9ac=_0x1bfb83['listeners'](_0x40a0c2[_0x5b489d(0x163)])['slice']();_0x1bfb83[_0x5b489d(0x12a)]('upgrade'),_0x1bfb83['on'](_0x40a0c2['lHGMZ'],(_0x3bbe6d,_0x233bb6,_0x3841a7)=>{const _0x276510=_0x5b489d,_0x59f9d3={'qeGxz':_0x40a0c2['lQDOI']};if(!_0x3bbe6d['url']||!_0x3bbe6d['url'][_0x276510(0x150)](_0x276510(0x15e))){for(const _0x310748 of _0x1ca9ac){_0x310748['call'](_0x1bfb83,_0x3bbe6d,_0x233bb6,_0x3841a7);}return;}if(this[_0x276510(0x141)][_0x276510(0x173)]){const _0x4175a3=new URL(_0x3bbe6d[_0x276510(0x177)],'http://'+(_0x3bbe6d['headers']['host']||_0x276510(0x15f))),_0x24c4db=_0x4175a3['searchParams']['get']('x-api-key')||_0x3bbe6d['headers'][_0x40a0c2[_0x276510(0x188)]];if(!_0x24c4db||_0x40a0c2['AlHIu'](_0x24c4db,this[_0x276510(0x141)][_0x276510(0x173)])){_0x233bb6[_0x276510(0x139)](_0x276510(0x183)),_0x233bb6['destroy']();return;}}this['_wss']['handleUpgrade'](_0x3bbe6d,_0x233bb6,_0x3841a7,_0x1865c9=>{const _0x887d94=_0x276510;this[_0x887d94(0x13c)]['emit'](_0x59f9d3['qeGxz'],_0x1865c9,_0x3bbe6d);});});}[a0_0x5aab24(0x187)](_0xcd0cb5,_0x1621f7){const _0x1b817a=a0_0x5aab24,_0x47864b={'hQCYb':'error','cROsG':_0x1b817a(0x142),'xxkKP':'x-forwarded-for','WOaUR':'livesync_client_connected','YGGsJ':'pong','XsasT':_0x1b817a(0x199),'lnBsN':'close'};_0xcd0cb5['isAlive']=!![],_0xcd0cb5['subscribedChannels']=new Set();const _0x14f355=_0x1621f7['headers'][_0x47864b[_0x1b817a(0x18f)]]||_0x1621f7['socket'][_0x1b817a(0x12f)];this[_0x1b817a(0x172)]['info']({'event':_0x47864b['WOaUR'],'ip':_0x14f355},_0x1b817a(0x18d)+_0x14f355),_0xcd0cb5['on'](_0x47864b[_0x1b817a(0x16e)],()=>{_0xcd0cb5['isAlive']=!![];}),_0xcd0cb5['on'](_0x47864b['XsasT'],_0x3403da=>{const _0x525a00=_0x1b817a;try{const _0x24a5eb=JSON[_0x525a00(0x14a)](_0x3403da[_0x525a00(0x1ae)]());this['_handleClientMessage'](_0xcd0cb5,_0x24a5eb);}catch(_0x5dcc52){this[_0x525a00(0x193)](_0xcd0cb5,{'type':_0x47864b[_0x525a00(0x132)],'message':'Invalid\x20JSON\x20message'});}}),_0xcd0cb5['on'](_0x47864b['lnBsN'],()=>{const _0x1fe138=_0x1b817a;this['_removeClientFromAllChannels'](_0xcd0cb5),this['_logger'][_0x1fe138(0x14e)]({'event':_0x47864b[_0x1fe138(0x180)],'ip':_0x14f355},_0x1fe138(0x1ac)+_0x14f355);}),_0xcd0cb5['on'](_0x47864b['hQCYb'],_0xbd381=>{const _0x405f01=_0x1b817a;this['_logger'][_0x405f01(0x12c)]({'event':'livesync_client_error','error':_0xbd381['message']},'WebSocket\x20client\x20error:\x20'+_0xbd381[_0x405f01(0x199)]),this[_0x405f01(0x15b)](_0xcd0cb5);});}[a0_0x5aab24(0x168)](_0x10a06f,_0x2a4457){const _0x262bc8=a0_0x5aab24,_0x320c26={'nisGQ':_0x262bc8(0x185)};switch(_0x2a4457[_0x262bc8(0x181)]){case _0x320c26[_0x262bc8(0x184)]:this[_0x262bc8(0x196)](_0x10a06f,_0x2a4457['channels']);break;case'unsubscribe':this['_handleUnsubscribe'](_0x10a06f,_0x2a4457[_0x262bc8(0x17e)]);break;case'pong':_0x10a06f['isAlive']=!![];break;default:this['_sendToClient'](_0x10a06f,{'type':'error','message':_0x262bc8(0x18e)+_0x2a4457['type']});}}['_handleSubscribe'](_0x3d668f,_0x1e4579){const _0x5d8e47=a0_0x5aab24,_0x3b2c23={'VzVFp':function(_0xc1e10a,_0x4b7590){return _0xc1e10a===_0x4b7590;},'ipssf':_0x5d8e47(0x156),'AbTiC':function(_0x39d4f6,_0x199ed3){return _0x39d4f6!==_0x199ed3;},'SWuUi':'string'};if(!Array['isArray'](_0x1e4579)||_0x3b2c23[_0x5d8e47(0x1af)](_0x1e4579['length'],0x0)){this[_0x5d8e47(0x193)](_0x3d668f,{'type':_0x5d8e47(0x198),'message':_0x3b2c23[_0x5d8e47(0x14d)]});return;}const _0x132c07=[];for(const _0xf211d4 of _0x1e4579){if(_0x3b2c23['AbTiC'](typeof _0xf211d4,_0x3b2c23['SWuUi'])||!_0xf211d4['includes'](':'))continue;!this['_subscriptions'][_0x5d8e47(0x175)](_0xf211d4)&&this[_0x5d8e47(0x182)]['set'](_0xf211d4,new Set()),this[_0x5d8e47(0x182)]['get'](_0xf211d4)['add'](_0x3d668f),_0x3d668f['subscribedChannels'][_0x5d8e47(0x164)](_0xf211d4),_0x132c07['push'](_0xf211d4);}_0x132c07[_0x5d8e47(0x16c)]>0x0&&(this[_0x5d8e47(0x193)](_0x3d668f,{'type':_0x5d8e47(0x136),'channels':_0x132c07,'timestamp':new Date()['toISOString']()}),this['_logger']['debug']({'event':'livesync_subscribe','channels':_0x132c07},_0x5d8e47(0x1a7)+_0x132c07[_0x5d8e47(0x1a5)](',\x20')));}[a0_0x5aab24(0x1a2)](_0x2abdfc,_0x117e8e){const _0x245ac0=a0_0x5aab24,_0x212c2a={'nKMPx':function(_0x2036c7,_0x292371){return _0x2036c7===_0x292371;},'sjthh':function(_0x4b335b,_0x47bf37){return _0x4b335b>_0x47bf37;},'cYIww':'unsubscribed'};if(!Array['isArray'](_0x117e8e))return;const _0xa8183d=[];for(const _0xe4f8cc of _0x117e8e){this['_subscriptions'][_0x245ac0(0x175)](_0xe4f8cc)&&(this[_0x245ac0(0x182)]['get'](_0xe4f8cc)['delete'](_0x2abdfc),_0x212c2a[_0x245ac0(0x179)](this['_subscriptions'][_0x245ac0(0x1a3)](_0xe4f8cc)[_0x245ac0(0x17c)],0x0)&&this[_0x245ac0(0x182)]['delete'](_0xe4f8cc)),_0x2abdfc['subscribedChannels']['delete'](_0xe4f8cc),_0xa8183d[_0x245ac0(0x127)](_0xe4f8cc);}_0x212c2a['sjthh'](_0xa8183d['length'],0x0)&&this['_sendToClient'](_0x2abdfc,{'type':_0x212c2a['cYIww'],'channels':_0xa8183d,'timestamp':new Date()[_0x245ac0(0x165)]()});}[a0_0x5aab24(0x15b)](_0x362af9){const _0x100de3=a0_0x5aab24;if(!_0x362af9[_0x100de3(0x18c)])return;for(const _0x515b20 of _0x362af9['subscribedChannels']){this['_subscriptions']['has'](_0x515b20)&&(this['_subscriptions'][_0x100de3(0x1a3)](_0x515b20)['delete'](_0x362af9),this[_0x100de3(0x182)][_0x100de3(0x1a3)](_0x515b20)['size']===0x0&&this['_subscriptions']['delete'](_0x515b20));}_0x362af9[_0x100de3(0x18c)]['clear']();}['_sendToClient'](_0x235b77,_0x23ed95){const _0x419677=a0_0x5aab24;if(_0x235b77[_0x419677(0x148)]===0x1)try{_0x235b77[_0x419677(0x16d)](JSON[_0x419677(0x195)](_0x23ed95));}catch(_0x1a934b){}}[a0_0x5aab24(0x19f)](_0x1631c6){const _0x3931fa=a0_0x5aab24,_0x315559={'BbsFv':'ping','aymOC':function(_0x3540bb,_0x49ccc1,_0x1788f){return _0x3540bb(_0x49ccc1,_0x1788f);},'roXLL':function(_0x1fb55b,_0x23e663){return _0x1fb55b*_0x23e663;}};this['_heartbeatTimer']=_0x315559[_0x3931fa(0x14b)](setInterval,()=>{const _0x5901b7=_0x3931fa;if(!this[_0x5901b7(0x13c)])return;for(const _0x10d596 of this[_0x5901b7(0x13c)]['clients']){if(!_0x10d596['isAlive']){this[_0x5901b7(0x15b)](_0x10d596),_0x10d596['terminate']();continue;}_0x10d596['isAlive']=![],this['_sendToClient'](_0x10d596,{'type':_0x315559[_0x5901b7(0x144)],'timestamp':new Date()[_0x5901b7(0x165)]()});try{_0x10d596['ping']();}catch(_0x4fa90d){}}},_0x315559['roXLL'](_0x1631c6,0x3e8));}[a0_0x5aab24(0x190)](){const _0x54dd75=a0_0x5aab24,_0x273455={'HyqVz':function(_0x2e237a,_0x27caf7){return _0x2e237a(_0x27caf7);},'wjilN':_0x54dd75(0x12b),'YevBs':function(_0x2aeb05,_0x49af08,_0x33f8c5){return _0x2aeb05(_0x49af08,_0x33f8c5);},'JuRaU':'livesync_redis_unavailable'};this['_ownPublisher']=![];try{try{const _0x3662d4=_0x273455[_0x54dd75(0x133)](require,_0x54dd75(0x137));this[_0x54dd75(0x13f)]=_0x3662d4[_0x54dd75(0x19b)]?_0x3662d4[_0x54dd75(0x19b)]():null;}catch(_0xa956cf){this['_redisPublisher']=null;}if(!this['_redisPublisher']){const _0x12a09f=_0x273455['HyqVz'](require,_0x273455[_0x54dd75(0x149)]),_0x4436c0={'host':process[_0x54dd75(0x155)]['REDIS_HOST']||'127.0.0.1','port':_0x273455['YevBs'](parseInt,process['env'][_0x54dd75(0x1a8)],0xa)||0x18eb,'password':process[_0x54dd75(0x155)]['REDIS_PASSWORD']||undefined,'db':_0x273455[_0x54dd75(0x154)](parseInt,process[_0x54dd75(0x155)]['REDIS_DB'],0xa)||0x0,'lazyConnect':!![]};this[_0x54dd75(0x13f)]=new _0x12a09f(_0x4436c0),this[_0x54dd75(0x135)]=!![],this['_redisPublisher']['connect']()[_0x54dd75(0x128)](()=>{const _0x2d4d73=_0x54dd75;this[_0x2d4d73(0x172)]['warn']({'event':_0x2d4d73(0x1b2)},_0x2d4d73(0x1a9)),this[_0x2d4d73(0x13f)]=null;});}}catch(_0x599379){this[_0x54dd75(0x172)]['warn']({'event':_0x273455['JuRaU'],'error':_0x599379[_0x54dd75(0x199)]},_0x54dd75(0x1b1)+_0x599379[_0x54dd75(0x199)]);}}[a0_0x5aab24(0x197)](){const _0x240ad7=a0_0x5aab24,_0xa0b68a={'FOGEF':_0x240ad7(0x1b2),'CBOEs':'Failed\x20to\x20connect\x20Redis\x20publisher\x20for\x20Live\x20Sync','bPNEX':'livesync_redis_subscribed','xAIHb':_0x240ad7(0x131),'KZpfv':function(_0x4c5765,_0x2bf5bb){return _0x4c5765===_0x2bf5bb;},'cVCWr':'message','LTHbG':_0x240ad7(0x169),'Hmrfo':_0x240ad7(0x12b),'wnBKC':function(_0x39d14d,_0x15408f){return _0x39d14d(_0x15408f);}};this['_ownPublisher']=![];try{const _0x442d3d=require(_0xa0b68a['Hmrfo']),_0x3c9bfd={'host':process['env'][_0x240ad7(0x189)]||'127.0.0.1','port':parseInt(process[_0x240ad7(0x155)][_0x240ad7(0x1a8)],0xa)||0x18eb,'password':process[_0x240ad7(0x155)][_0x240ad7(0x15a)]||undefined,'db':parseInt(process[_0x240ad7(0x155)][_0x240ad7(0x1a1)],0xa)||0x0,'lazyConnect':!![]};try{const _0xbdfa0b=_0xa0b68a[_0x240ad7(0x140)](require,'../../utils/redis-client');this['_redisPublisher']=_0xbdfa0b['getClient']?_0xbdfa0b['getClient']():null;}catch(_0x3301db){this['_redisPublisher']=null;}!this[_0x240ad7(0x13f)]&&(this[_0x240ad7(0x13f)]=new _0x442d3d(_0x3c9bfd),this[_0x240ad7(0x135)]=!![],this[_0x240ad7(0x13f)][_0x240ad7(0x159)]()[_0x240ad7(0x128)](()=>{const _0x41cd38=_0x240ad7;this['_logger'][_0x41cd38(0x12c)]({'event':_0xa0b68a['FOGEF']},_0xa0b68a[_0x41cd38(0x157)]),this['_redisPublisher']=null;})),this['_redisSubscriber']=new _0x442d3d(_0x3c9bfd),this['_redisSubscriber'][_0x240ad7(0x159)]()[_0x240ad7(0x145)](()=>{const _0x353b05=_0x240ad7;this['_redisSubscriber'][_0x353b05(0x185)](REDIS_CHANNEL_PREFIX+_0x353b05(0x16b),_0xf242ad=>{const _0x317b40=_0x353b05;if(_0xf242ad){this['_logger']['error']({'event':_0x317b40(0x152),'error':_0xf242ad[_0x317b40(0x199)]},'Failed\x20to\x20subscribe\x20to\x20Redis\x20channel:\x20'+_0xf242ad[_0x317b40(0x199)]);return;}this['_logger'][_0x317b40(0x162)]({'event':_0xa0b68a['bPNEX']},_0xa0b68a['xAIHb']);}),this[_0x353b05(0x15c)]['on'](_0xa0b68a['cVCWr'],(_0x817676,_0x3b3065)=>{const _0x1e8944=_0x353b05;try{const _0x63df6d=JSON[_0x1e8944(0x14a)](_0x3b3065);if(_0xa0b68a[_0x1e8944(0x16a)](_0x63df6d['workerId'],this[_0x1e8944(0x19a)]))return;this[_0x1e8944(0x1b3)](_0x63df6d[_0x1e8944(0x153)],_0x63df6d[_0x1e8944(0x199)]);}catch(_0x163cbd){}});})['catch'](()=>{const _0x39ff02=_0x240ad7;this[_0x39ff02(0x172)]['warn']({'event':_0xa0b68a['LTHbG']},_0x39ff02(0x16f)),this[_0x39ff02(0x15c)]=null;});}catch(_0x352383){this['_logger'][_0x240ad7(0x12c)]({'event':'livesync_redis_unavailable','error':_0x352383[_0x240ad7(0x199)]},_0x240ad7(0x13b)+_0x352383['message']);}}[a0_0x5aab24(0x1b3)](_0x35ed84,_0x55e081){const _0x1a8ad7=a0_0x5aab24,_0x535e8d={'KncsQ':_0x1a8ad7(0x15d),'jRGTY':function(_0xe25de1,_0x204ef3){return _0xe25de1||_0x204ef3;},'dcxks':function(_0x4aa116,_0x5e6a3b){return _0x4aa116===_0x5e6a3b;}};if(!this[_0x1a8ad7(0x13c)])return;const _0x27fa57=JSON[_0x1a8ad7(0x195)]({'type':_0x535e8d[_0x1a8ad7(0x191)],'channel':_0x35ed84,'action':_0x55e081[_0x1a8ad7(0x134)],'data':_0x55e081['data'],'requestId':_0x55e081[_0x1a8ad7(0x161)]||null,'timestamp':new Date()['toISOString']()}),[_0x3c820b]=_0x35ed84['split'](':');for(const [_0x590b37,_0x3e683c]of this[_0x1a8ad7(0x182)]){const _0x3c0e74=_0x590b37===_0x35ed84,_0x59d776=_0x590b37===_0x3c820b+':*';if(_0x535e8d[_0x1a8ad7(0x1aa)](_0x3c0e74,_0x59d776))for(const _0x5a890f of _0x3e683c){if(_0x535e8d[_0x1a8ad7(0x194)](_0x5a890f[_0x1a8ad7(0x148)],0x1))try{_0x5a890f['send'](_0x27fa57);}catch(_0x47f6fb){}}}}}function a0_0x9b3e(_0x2eabf7,_0x5ec952){_0x2eabf7=_0x2eabf7-0x127;const _0x6f2ddf=a0_0x6f2d();let _0x9b3e8f=_0x6f2ddf[_0x2eabf7];if(a0_0x9b3e['kmjeJy']===undefined){var _0x4d1cad=function(_0x288eed){const _0x3f45bf='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5d888b='',_0x3726a7='';for(let _0x3e78e7=0x0,_0x407e2e,_0x5786e2,_0x34b821=0x0;_0x5786e2=_0x288eed['charAt'](_0x34b821++);~_0x5786e2&&(_0x407e2e=_0x3e78e7%0x4?_0x407e2e*0x40+_0x5786e2:_0x5786e2,_0x3e78e7++%0x4)?_0x5d888b+=String['fromCharCode'](0xff&_0x407e2e>>(-0x2*_0x3e78e7&0x6)):0x0){_0x5786e2=_0x3f45bf['indexOf'](_0x5786e2);}for(let _0x30d12a=0x0,_0x3bed32=_0x5d888b['length'];_0x30d12a<_0x3bed32;_0x30d12a++){_0x3726a7+='%'+('00'+_0x5d888b['charCodeAt'](_0x30d12a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3726a7);};a0_0x9b3e['GcYFkG']=_0x4d1cad,a0_0x9b3e['KROftb']={},a0_0x9b3e['kmjeJy']=!![];}const _0x57f01d=_0x6f2ddf[0x0],_0x552796=_0x2eabf7+_0x57f01d,_0x50ed81=a0_0x9b3e['KROftb'][_0x552796];return!_0x50ed81?(_0x9b3e8f=a0_0x9b3e['GcYFkG'](_0x9b3e8f),a0_0x9b3e['KROftb'][_0x552796]=_0x9b3e8f):_0x9b3e8f=_0x50ed81,_0x9b3e8f;}module['exports']=WebSocketBroadcaster;
1
+ 'use strict';function a0_0x6864(){const _0x52d8cb=['C3vIC2nYAwjLzenOyw5UzwXZ','Ag9ZDa','zgvSzxrL','y2XPzw50CW','t0P6D2O','wLzmueK','ChvIBgLZAgvY','y2HHBM5LBhm','AxnbBgL2zq','twnUBKu','nw1qvuz3zG','yxbPs2v5','BgL2zxn5BMnFC3vIC2nYAwjL','x3nLDhvWuMvKAxnqDwjSAxnOzxi','sw52ywXPzcbku09oig1LC3nHz2u','lI4VlI4VDxrPBhmVBg9Nz2vY','AgfUzgXLvxbNCMfKzq','C3bSAxq','ywn0Aw9U','x3DZCW','C2L6zq','C3vIC2nYAwjLza','y2HHBM5LBa','mtC1nZm2mdrctK9nswy','x3b1yMXPC2HuB1jLzgLZ','Egnzru4','y29UBMvJDgLVBG','Dg9ju09tDhjPBMC','ALvWq0u','C2vHCMnOugfYyw1Z','x3n1yNnJCMLWDgLVBNm','mJK1mZGWCxbSrvPs','mtfMC2jtAw0','BgL2zxn5BMnFAw5PDgLHBgL6zwq','CgLUzW','yNjVywrJyxn0','CMvZDgzVCMDLoMXPDMvZEw5JoG','x2XVz2DLCG','AxnbCNjHEq','ndj2qxfevvu','BwvZC2fNzq','sfrMD2C','z2v0','wMD3qMO','CMvHzhLtDgf0zq','CMvTB3rLqwrKCMvZCW','odK1n2vtAK50zG','EM5wB1y','CMvTB3zLqwXStgLZDgvUzxjZ','zw52','y29UBMvJDa','wwzqzha','BgLZDgvUzxjZ','zgvIDwC','x2HHBMrSzvn1yNnJCMLIzq','Bg9Nz2vY','D29YA2vYswq','zu1YvKC','mJK3uvHwEwjg','otjzt0HSqxO','zw1PDa','DgfmrMe','ihrVia','q0rQwfC','uKvesvnFse9tva','v2vIu29JA2v0ihnLCNzLCIbLCNjVCJOG','zuvPr1i','n3W5Fdz8ohWYFdf8mhWZFdr8nq','x3jLzgLZuhvIBgLZAgvY','Bg9JywXOB3n0','y2HHBM5LBhmGBxvZDcbIzsbHig5VBI1LBxb0EsbHCNjHEq','x3jLBw92zunSAwvUDezYB21bBgXdAgfUBMvSCW','x3nLBMruB0nSAwvUDa','AgfZ','AM9PBG','Ahr0CdOVlW','x3DVCMTLCKLK','D21frxe','BgL2zxn5BMnFCMvKAxnFChvIBgLZAgvYx2zHAwXLza','zxjYB3i','BgL2zxn5BMnFChvIBgLZAgvYx2LUAxrPywXPEMvK','uKvesvnFue9sva','BgvUz3rO','zgf0yv9JAgfUz2u','x3n0yxj0sgvHCNrIzwf0','y2XVC2u','BgL2zxn5BMnFy2XPzw50x2nVBM5Ly3rLza','rMfPBgvKihrVignVBM5Ly3qGuMvKAxmGC3vIC2nYAwjLCIbMB3iGtgL2zsbtEw5JignSDxn0zxiGBw9Kzq','ndm0nJu3m2neyKrdzG','sfruuc8XlJeGndaXifvUyxv0Ag9YAxPLza0kdqO','DhLWzq','DgHLBG','CgfYC2u','zgf0yq','Aw5JBhvKzxm','z3DbAM0','zhvVtfy','mJr6qKDbu1C','Aw9YzwrPCW','Aw5PDgLHBgL6zq','AxnjBML0AwfSAxPLza','reHMsvi','rMfPBgvKihrVihn1yNnJCMLIzsb0BYbszwrPCYbJAgfUBMvSoIa','mtaXnZy2yxDer2fM','qxPmvhe','ywrK','z2v0q2XPzw50','x3nLDhvWuMvKAxm','ChvZAa','x29WDgLVBNm','x21Vzgu','BgL2zxn5BMnFy2XPzw50x2rPC2nVBM5Ly3rLza','vw5RBM93BIbTzxnZywDLihr5Cgu6ia','vfbcqLi','x2LUAxrPywXPEMvK','uKvesvnFrei','mti3lJaUmc4X','rKjZyvC','Aw5PDgLHBgL6zufZuhvIBgLZAgvY','l3DZ','Dg9tDhjPBMC','x2HHBMrSzvvUC3vIC2nYAwjL','Dw5ZDwjZy3jPyMu','AgvHzgvYCW','mtCZmdHXuMXev0K','odKZntG2DKPqsMzU','BgL2zxn5BMnFCMvKAxnFC3vIC2nYAwjLCL9MywLSzwq','C3rYAw5NAwz5','C2vUza','qvffEfO','Aw5MBW','x293BLb1yMXPC2HLCG','DxzKsg4','CxvPDa','x2HLyxj0yMvHDfrPBwvY','t0fZr2W','DxjS','ndiYmZHZs1r6v3q','y2f0y2G','tgL2zsbtEw5Jia','svbVrgG','DNfiuhO','BgL2zxn5BMnFCMvKAxnFC3vIC2nYAwjLx2vYCM9Y','Cg9UzW','qwLqshm','x3jLzgLZu3vIC2nYAwjLCG'];a0_0x6864=function(){return _0x52d8cb;};return a0_0x6864();}const a0_0x296d66=a0_0x119f;(function(_0x44e951,_0x421b23){const _0x2f5af8=a0_0x119f,_0x362f40=_0x44e951();while(!![]){try{const _0x30106a=parseInt(_0x2f5af8(0xcc))/0x1*(-parseInt(_0x2f5af8(0x121))/0x2)+-parseInt(_0x2f5af8(0x10c))/0x3*(-parseInt(_0x2f5af8(0xe0))/0x4)+-parseInt(_0x2f5af8(0xaf))/0x5*(parseInt(_0x2f5af8(0x122))/0x6)+parseInt(_0x2f5af8(0xfd))/0x7*(-parseInt(_0x2f5af8(0x106))/0x8)+-parseInt(_0x2f5af8(0xdf))/0x9*(parseInt(_0x2f5af8(0xc4))/0xa)+-parseInt(_0x2f5af8(0xc5))/0xb*(-parseInt(_0x2f5af8(0xbc))/0xc)+parseInt(_0x2f5af8(0xd3))/0xd*(parseInt(_0x2f5af8(0x9c))/0xe);if(_0x30106a===_0x421b23)break;else _0x362f40['push'](_0x362f40['shift']());}catch(_0x16e4f3){_0x362f40['push'](_0x362f40['shift']());}}}(a0_0x6864,0xeda68));const {WebSocketServer}=require('ws'),{URL}=require(a0_0x296d66(0x9b)),REDIS_CHANNEL_PREFIX=a0_0x296d66(0xc9);function a0_0x119f(_0x451245,_0x125f25){_0x451245=_0x451245-0x91;const _0x68644b=a0_0x6864();let _0x119f1e=_0x68644b[_0x451245];if(a0_0x119f['vKmDFs']===undefined){var _0x3ab11e=function(_0x2ec063){const _0x13239f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x619cfd='',_0x9f122c='';for(let _0x27c90e=0x0,_0x1ec30b,_0x1e8e4d,_0x1ac363=0x0;_0x1e8e4d=_0x2ec063['charAt'](_0x1ac363++);~_0x1e8e4d&&(_0x1ec30b=_0x27c90e%0x4?_0x1ec30b*0x40+_0x1e8e4d:_0x1e8e4d,_0x27c90e++%0x4)?_0x619cfd+=String['fromCharCode'](0xff&_0x1ec30b>>(-0x2*_0x27c90e&0x6)):0x0){_0x1e8e4d=_0x13239f['indexOf'](_0x1e8e4d);}for(let _0x406aa5=0x0,_0x1d7339=_0x619cfd['length'];_0x406aa5<_0x1d7339;_0x406aa5++){_0x9f122c+='%'+('00'+_0x619cfd['charCodeAt'](_0x406aa5)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x9f122c);};a0_0x119f['IuNvat']=_0x3ab11e,a0_0x119f['bOcFdS']={},a0_0x119f['vKmDFs']=!![];}const _0x35ef78=_0x68644b[0x0],_0x51bb17=_0x451245+_0x35ef78,_0x3bf1aa=a0_0x119f['bOcFdS'][_0x51bb17];return!_0x3bf1aa?(_0x119f1e=a0_0x119f['IuNvat'](_0x119f1e),a0_0x119f['bOcFdS'][_0x51bb17]=_0x119f1e):_0x119f1e=_0x3bf1aa,_0x119f1e;}class WebSocketBroadcaster{constructor(){const _0x3db6d4=a0_0x296d66,_0x28f31c={'FBsaW':_0x3db6d4(0xe8)},_0x30c47d=_0x28f31c[_0x3db6d4(0x11a)][_0x3db6d4(0xb6)]('|');let _0x4ee94a=0x0;while(!![]){switch(_0x30c47d[_0x4ee94a++]){case'0':this[_0x3db6d4(0x99)]=null;continue;case'1':this['_subscriptions']=new Map();continue;case'2':this['_logger']=console;continue;case'3':this[_0x3db6d4(0xe9)]=null;continue;case'4':this[_0x3db6d4(0xa4)]=null;continue;case'5':this[_0x3db6d4(0xf1)]=process['pid'];continue;case'6':this[_0x3db6d4(0x113)]=null;continue;case'7':this[_0x3db6d4(0xb8)]=null;continue;case'8':this['_options']={};continue;case'9':this['_initialized']=![];continue;}break;}}[a0_0x296d66(0x108)](_0x3aa9e6,_0x5c4d05={}){const _0x2859dd=a0_0x296d66,_0x41691b={'LlUyA':'livesync_wss_error','ZgwBj':function(_0xbebbd2,_0x116a58,_0x513cb4){return _0xbebbd2(_0x116a58,_0x513cb4);},'DEePj':_0x2859dd(0xc6),'CDjXW':_0x2859dd(0x11c)};if(this[_0x2859dd(0x117)])return;this['_options']=_0x5c4d05,this['_mode']='full';try{this[_0x2859dd(0xca)]=require(_0x2859dd(0xb4))[_0x2859dd(0xdc)]||console;}catch(_0x14e0d8){this['_logger']=console;}const _0x58b6fe=_0x41691b[_0x2859dd(0xd0)](parseInt,process[_0x2859dd(0xd6)]['LIVE_SYNC_HEARTBEAT_INTERVAL'],0xa)||0x1e;this['_wss']=new WebSocketServer({'server':_0x3aa9e6,'path':'/ws'}),this['_setupUpgradeAuth'](_0x3aa9e6),this['_wss']['on'](_0x2859dd(0xbf),(_0x1bc643,_0x33bf07)=>this['_handleConnection'](_0x1bc643,_0x33bf07)),this['_wss']['on'](_0x2859dd(0xf4),_0x713621=>{const _0x4606d2=_0x2859dd;this['_logger']['error']({'event':_0x41691b['LlUyA'],'error':_0x713621[_0x4606d2(0xcd)]},_0x4606d2(0xe6)+_0x713621[_0x4606d2(0xcd)]);}),this[_0x2859dd(0xf9)](_0x58b6fe),this[_0x2859dd(0x110)](),this['_initialized']=!![],this['_logger'][_0x2859dd(0x95)]({'event':_0x41691b['DEePj'],'mode':'full','path':_0x41691b[_0x2859dd(0xe4)],'heartbeat':_0x58b6fe+'s'},'Live\x20Sync\x20server\x20initialized\x20at\x20/ws\x20(heartbeat:\x20'+_0x58b6fe+'s)');}[a0_0x296d66(0x11b)](_0x63be65={}){const _0x409e22=a0_0x296d66,_0x3e6d3b={'vqHPz':_0x409e22(0xab),'HfYQJ':_0x409e22(0xf5)};if(this[_0x409e22(0x117)])return;this['_options']=_0x63be65,this['_mode']=_0x3e6d3b[_0x409e22(0xa0)];try{this[_0x409e22(0xca)]=require('../../utils/logger')['logger']||console;}catch(_0xd8b99f){this['_logger']=console;}this['_setupRedisPublisher'](),this['_initialized']=!![],this[_0x409e22(0xca)][_0x409e22(0x95)]({'event':_0x3e6d3b['HfYQJ'],'mode':'publisher'},'Live\x20Sync\x20publisher\x20initialized\x20(Redis-only,\x20no\x20WebSocket\x20server)');}[a0_0x296d66(0x109)](){const _0x39c26d=a0_0x296d66;return this[_0x39c26d(0x117)];}['broadcast'](_0x1aaa5e,_0xf582c9){const _0x44e20f=a0_0x296d66,_0x950464={'CZDwk':'data_change','gwAjm':function(_0x3dea26,_0x47ead4){return _0x3dea26||_0x47ead4;},'znVoV':function(_0xee1537,_0x1646ef){return _0xee1537===_0x1646ef;},'dFSqd':function(_0xc8ca79,_0x5d6dea){return _0xc8ca79>_0x5d6dea;}};if(!this['_initialized'])return;if(this['_mode']==='publisher'){this[_0x44e20f(0xbd)](_0x1aaa5e,_0xf582c9);return;}const _0x2851f8=JSON['stringify']({'type':_0x950464['CZDwk'],'channel':_0x1aaa5e,'action':_0xf582c9['action'],'data':_0xf582c9[_0x44e20f(0x102)],'requestId':_0xf582c9['requestId']||null,'timestamp':new Date()[_0x44e20f(0xc0)]()}),[_0x5496b3]=_0x1aaa5e[_0x44e20f(0xb6)](':');let _0x158ad0=0x0;for(const [_0x3794e0,_0x47d8e8]of this['_subscriptions']){const _0x4626e6=_0x3794e0===_0x1aaa5e,_0x1bb2df=_0x3794e0===_0x5496b3+':*';if(_0x950464[_0x44e20f(0x104)](_0x4626e6,_0x1bb2df))for(const _0x1fd058 of _0x47d8e8){if(_0x950464[_0x44e20f(0xd4)](_0x1fd058['readyState'],0x1))try{_0x1fd058[_0x44e20f(0x93)](_0x2851f8),_0x158ad0++;}catch(_0x30c56b){}}}_0x950464['dFSqd'](_0x158ad0,0x0)&&this[_0x44e20f(0xca)][_0x44e20f(0xda)]({'event':'livesync_broadcast','channel':_0x1aaa5e,'action':_0xf582c9[_0x44e20f(0xb7)],'clients':_0x158ad0},'Broadcast\x20'+_0xf582c9[_0x44e20f(0xb7)]+'\x20on\x20'+_0x1aaa5e+_0x44e20f(0xe3)+_0x158ad0+'\x20client(s)');}['_publishToRedis'](_0x163549,_0xb7d2a6){const _0x42b214=a0_0x296d66;if(!this[_0x42b214(0xe9)])return;const _0x3ea115=JSON['stringify']({'channel':_0x163549,'message':_0xb7d2a6,'workerId':this[_0x42b214(0xf1)]});this[_0x42b214(0xe9)]['publish'](REDIS_CHANNEL_PREFIX+_0x42b214(0xc8),_0x3ea115)[_0x42b214(0x9d)](()=>{});}['shutdown'](){const _0x5726dd=a0_0x296d66,_0x417578={'nFgHM':function(_0x150ba7,_0x38f475){return _0x150ba7(_0x38f475);},'yGMPn':'Server\x20shutting\x20down','wmEEq':'livesync_shutdown'};if(!this['_initialized'])return;this['_heartbeatTimer']&&(_0x417578['nFgHM'](clearInterval,this['_heartbeatTimer']),this[_0x5726dd(0x99)]=null);if(this['_wss']){for(const _0x4a304a of this[_0x5726dd(0xb8)][_0x5726dd(0xa8)]){try{_0x4a304a[_0x5726dd(0xfa)](0x3e9,_0x417578['yGMPn']);}catch(_0x52599b){}}this[_0x5726dd(0xb8)]['close']();}if(this['_redisSubscriber'])try{this['_redisSubscriber'][_0x5726dd(0x11f)](),this['_redisSubscriber']['quit']();}catch(_0x3bd4bd){}if(this[_0x5726dd(0x96)]&&this['_redisPublisher'])try{this[_0x5726dd(0xe9)][_0x5726dd(0x98)]();}catch(_0x3bf3cb){}this[_0x5726dd(0xc3)]['clear'](),this['_initialized']=![],this['_logger'][_0x5726dd(0x95)]({'event':_0x417578[_0x5726dd(0xf2)],'mode':this[_0x5726dd(0x113)]},_0x5726dd(0x9e)+this[_0x5726dd(0x113)]+'\x20shut\x20down');}['_setupUpgradeAuth'](_0x4b5ebd){const _0xdfcf4a=a0_0x296d66,_0x2e4d89={'AzLTq':'/ws','eMrVG':'x-api-key','DHfIR':_0xdfcf4a(0xfe),'Uwita':'upgrade'},_0x1b04c2=_0x4b5ebd[_0xdfcf4a(0xd9)](_0x2e4d89['Uwita'])['slice']();_0x4b5ebd[_0xdfcf4a(0xd5)]('upgrade'),_0x4b5ebd['on'](_0x2e4d89['Uwita'],(_0x58eeb5,_0x30dead,_0x3e8eb4)=>{const _0x2a9db7=_0xdfcf4a;if(!_0x58eeb5[_0x2a9db7(0x9b)]||!_0x58eeb5[_0x2a9db7(0x9b)]['startsWith'](_0x2e4d89[_0x2a9db7(0x10d)])){for(const _0x3e75ed of _0x1b04c2){_0x3e75ed['call'](_0x4b5ebd,_0x58eeb5,_0x30dead,_0x3e8eb4);}return;}if(this[_0x2a9db7(0x112)][_0x2a9db7(0xb0)]){const _0x574d80=new URL(_0x58eeb5['url'],_0x2a9db7(0xf0)+(_0x58eeb5[_0x2a9db7(0x120)][_0x2a9db7(0xa6)]||_0x2a9db7(0xea))),_0x30c0e5=_0x574d80[_0x2a9db7(0xc2)]['get'](_0x2e4d89[_0x2a9db7(0xde)])||_0x58eeb5[_0x2a9db7(0x120)][_0x2e4d89['eMrVG']];if(!_0x30c0e5||_0x30c0e5!==this[_0x2a9db7(0x112)]['apiKey']){_0x30dead['write'](_0x2e4d89[_0x2a9db7(0x10a)]),_0x30dead['destroy']();return;}}this['_wss'][_0x2a9db7(0xb5)](_0x58eeb5,_0x30dead,_0x3e8eb4,_0x4da327=>{const _0x3ac376=_0x2a9db7;this['_wss'][_0x3ac376(0xe1)](_0x3ac376(0xbf),_0x4da327,_0x58eeb5);});});}['_handleConnection'](_0x77b00c,_0x529216){const _0x4d10ef=a0_0x296d66,_0x46d96d={'uvdHn':_0x4d10ef(0x114),'AiPHs':'error'};_0x77b00c[_0x4d10ef(0xad)]=!![],_0x77b00c['subscribedChannels']=new Set();const _0x42c9ed=_0x529216[_0x4d10ef(0x120)]['x-forwarded-for']||_0x529216['socket'][_0x4d10ef(0xd2)];this[_0x4d10ef(0xca)][_0x4d10ef(0x95)]({'event':_0x4d10ef(0xfb),'ip':_0x42c9ed},'Live\x20Sync\x20client\x20connected\x20from\x20'+_0x42c9ed),_0x77b00c['on']('pong',()=>{const _0x57dc11=_0x4d10ef;_0x77b00c[_0x57dc11(0xad)]=!![];}),_0x77b00c['on'](_0x4d10ef(0xcd),_0x282ba5=>{const _0x8cd343=_0x4d10ef;try{const _0xb45c16=JSON[_0x8cd343(0x101)](_0x282ba5[_0x8cd343(0x11d)]());this['_handleClientMessage'](_0x77b00c,_0xb45c16);}catch(_0x361a1c){this[_0x8cd343(0xed)](_0x77b00c,{'type':_0x8cd343(0xf4),'message':_0x8cd343(0xb3)});}}),_0x77b00c['on']('close',()=>{const _0x4c381b=_0x4d10ef;this[_0x4c381b(0xec)](_0x77b00c),this[_0x4c381b(0xca)][_0x4c381b(0xda)]({'event':_0x46d96d[_0x4c381b(0x97)],'ip':_0x42c9ed},'Live\x20Sync\x20client\x20disconnected:\x20'+_0x42c9ed);}),_0x77b00c['on'](_0x46d96d[_0x4d10ef(0xa3)],_0x53631e=>{const _0x580b40=_0x4d10ef;this['_logger']['warn']({'event':'livesync_client_error','error':_0x53631e['message']},'WebSocket\x20client\x20error:\x20'+_0x53631e[_0x580b40(0xcd)]),this['_removeClientFromAllChannels'](_0x77b00c);});}['_handleClientMessage'](_0x55bb69,_0x54d561){const _0x34635d=a0_0x296d66;switch(_0x54d561['type']){case'subscribe':this['_handleSubscribe'](_0x55bb69,_0x54d561[_0x34635d(0xac)]);break;case'unsubscribe':this[_0x34635d(0x11e)](_0x55bb69,_0x54d561[_0x34635d(0xac)]);break;case _0x34635d(0xa2):_0x55bb69[_0x34635d(0xad)]=!![];break;default:this[_0x34635d(0xed)](_0x55bb69,{'type':'error','message':_0x34635d(0x115)+_0x54d561[_0x34635d(0xff)]});}}[a0_0x296d66(0xdb)](_0x1a5f03,_0x1a694a){const _0x7d5f12=a0_0x296d66,_0x2cdce7={'IPoDh':function(_0x12d337,_0x3d70a2){return _0x12d337!==_0x3d70a2;},'eEiGR':'string','AQExZ':_0x7d5f12(0xba),'rhxvU':_0x7d5f12(0xb1)};if(!Array[_0x7d5f12(0xcb)](_0x1a694a)||_0x1a694a['length']===0x0){this[_0x7d5f12(0xed)](_0x1a5f03,{'type':_0x7d5f12(0xf4),'message':_0x7d5f12(0xeb)});return;}const _0x32a2ef=[];for(const _0x3803d2 of _0x1a694a){if(_0x2cdce7[_0x7d5f12(0x9f)](typeof _0x3803d2,_0x2cdce7[_0x7d5f12(0xe7)])||!_0x3803d2[_0x7d5f12(0x103)](':'))continue;!this['_subscriptions']['has'](_0x3803d2)&&this['_subscriptions']['set'](_0x3803d2,new Set()),this['_subscriptions'][_0x7d5f12(0xcf)](_0x3803d2)[_0x7d5f12(0x10e)](_0x1a5f03),_0x1a5f03['subscribedChannels']['add'](_0x3803d2),_0x32a2ef['push'](_0x3803d2);}_0x32a2ef[_0x7d5f12(0xf7)]>0x0&&(this[_0x7d5f12(0xed)](_0x1a5f03,{'type':_0x2cdce7[_0x7d5f12(0x94)],'channels':_0x32a2ef,'timestamp':new Date()[_0x7d5f12(0xc0)]()}),this['_logger'][_0x7d5f12(0xda)]({'event':_0x2cdce7['rhxvU'],'channels':_0x32a2ef},'Client\x20subscribed\x20to:\x20'+_0x32a2ef[_0x7d5f12(0xef)](',\x20')));}[a0_0x296d66(0x11e)](_0x10316f,_0x295c3e){const _0x2ead10=a0_0x296d66,_0x1b08d5={'McnnE':function(_0x37bfaf,_0x219c75){return _0x37bfaf===_0x219c75;},'YfPdp':function(_0x2215ce,_0x5c418c){return _0x2215ce>_0x5c418c;},'duoLV':'unsubscribed'};if(!Array['isArray'](_0x295c3e))return;const _0x3d4d90=[];for(const _0x580639 of _0x295c3e){this['_subscriptions'][_0x2ead10(0xee)](_0x580639)&&(this['_subscriptions'][_0x2ead10(0xcf)](_0x580639)['delete'](_0x10316f),_0x1b08d5[_0x2ead10(0xae)](this['_subscriptions'][_0x2ead10(0xcf)](_0x580639)[_0x2ead10(0xb9)],0x0)&&this['_subscriptions']['delete'](_0x580639)),_0x10316f[_0x2ead10(0xa5)]['delete'](_0x580639),_0x3d4d90[_0x2ead10(0x111)](_0x580639);}_0x1b08d5[_0x2ead10(0xd8)](_0x3d4d90[_0x2ead10(0xf7)],0x0)&&this['_sendToClient'](_0x10316f,{'type':_0x1b08d5[_0x2ead10(0x105)],'channels':_0x3d4d90,'timestamp':new Date()['toISOString']()});}[a0_0x296d66(0xec)](_0xd4ee1d){const _0x30a358=a0_0x296d66,_0x766229={'QeoTT':function(_0x1be95a,_0x1cd2d1){return _0x1be95a===_0x1cd2d1;}};if(!_0xd4ee1d[_0x30a358(0xa5)])return;for(const _0xb9aa36 of _0xd4ee1d[_0x30a358(0xa5)]){this[_0x30a358(0xc3)][_0x30a358(0xee)](_0xb9aa36)&&(this['_subscriptions']['get'](_0xb9aa36)['delete'](_0xd4ee1d),_0x766229['QeoTT'](this['_subscriptions'][_0x30a358(0xcf)](_0xb9aa36)['size'],0x0)&&this['_subscriptions'][_0x30a358(0xa7)](_0xb9aa36));}_0xd4ee1d[_0x30a358(0xa5)]['clear']();}['_sendToClient'](_0x811ba2,_0x12477c){const _0x4c09d1=a0_0x296d66;if(_0x811ba2[_0x4c09d1(0xd1)]===0x1)try{_0x811ba2[_0x4c09d1(0x93)](JSON['stringify'](_0x12477c));}catch(_0x1d2de5){}}['_startHeartbeat'](_0x1ecc95){this['_heartbeatTimer']=setInterval(()=>{const _0x4c88e4=a0_0x119f;if(!this[_0x4c88e4(0xb8)])return;for(const _0x7c8b7b of this['_wss']['clients']){if(!_0x7c8b7b[_0x4c88e4(0xad)]){this[_0x4c88e4(0xec)](_0x7c8b7b),_0x7c8b7b['terminate']();continue;}_0x7c8b7b['isAlive']=![],this[_0x4c88e4(0xed)](_0x7c8b7b,{'type':_0x4c88e4(0xc7),'timestamp':new Date()[_0x4c88e4(0xc0)]()});try{_0x7c8b7b[_0x4c88e4(0xc7)]();}catch(_0x466dba){}}},_0x1ecc95*0x3e8);}[a0_0x296d66(0xb2)](){const _0x570faf=a0_0x296d66,_0x23f74={'lXAdB':'livesync_redis_publisher_failed','OAsGl':'Failed\x20to\x20connect\x20Redis\x20publisher\x20for\x20Live\x20Sync','xcYEN':'../../utils/redis-client','oLFap':_0x570faf(0x107),'TPBBR':_0x570faf(0x119)};this['_ownPublisher']=![];try{try{const _0x565e89=require(_0x23f74[_0x570faf(0xbe)]);this[_0x570faf(0xe9)]=_0x565e89['getClient']?_0x565e89[_0x570faf(0x10f)]():null;}catch(_0x1f5332){this['_redisPublisher']=null;}if(!this['_redisPublisher']){const _0x118aca=require(_0x23f74['oLFap']),_0x467b46={'host':process['env'][_0x570faf(0xe5)]||_0x23f74[_0x570faf(0x116)],'port':parseInt(process['env'][_0x570faf(0xf6)],0xa)||0x18eb,'password':process[_0x570faf(0xd6)]['REDIS_PASSWORD']||undefined,'db':parseInt(process[_0x570faf(0xd6)][_0x570faf(0x118)],0xa)||0x0,'lazyConnect':!![]};this[_0x570faf(0xe9)]=new _0x118aca(_0x467b46),this[_0x570faf(0x96)]=!![],this[_0x570faf(0xe9)][_0x570faf(0xd7)]()[_0x570faf(0x9d)](()=>{const _0x50ec13=_0x570faf;this['_logger']['warn']({'event':_0x23f74['lXAdB']},_0x23f74[_0x50ec13(0x9a)]),this[_0x50ec13(0xe9)]=null;});}}catch(_0x2a196a){this['_logger']['warn']({'event':'livesync_redis_unavailable','error':_0x2a196a['message']},'Redis\x20not\x20available\x20for\x20Live\x20Sync\x20publisher:\x20'+_0x2a196a['message']);}}[a0_0x296d66(0x110)](){const _0xf806dc=a0_0x296d66,_0x214776={'HDEuG':_0xf806dc(0xf3),'OJzwj':function(_0x3d87d6,_0x29b984){return _0x3d87d6===_0x29b984;},'ZVLPI':_0xf806dc(0x91),'jUpCE':function(_0x538e44,_0x58e91f){return _0x538e44(_0x58e91f);},'HTfwg':_0xf806dc(0x107)};this['_ownPublisher']=![];try{const _0x237027=_0x214776[_0xf806dc(0xc1)](require,_0x214776[_0xf806dc(0xce)]),_0x4f89e3={'host':process['env'][_0xf806dc(0xe5)]||'127.0.0.1','port':parseInt(process['env']['REDIS_PORT'],0xa)||0x18eb,'password':process[_0xf806dc(0xd6)]['REDIS_PASSWORD']||undefined,'db':parseInt(process['env']['REDIS_DB'],0xa)||0x0,'lazyConnect':!![]};try{const _0x1fa6cc=require('../../utils/redis-client');this['_redisPublisher']=_0x1fa6cc['getClient']?_0x1fa6cc['getClient']():null;}catch(_0x4cd37a){this['_redisPublisher']=null;}!this[_0xf806dc(0xe9)]&&(this['_redisPublisher']=new _0x237027(_0x4f89e3),this[_0xf806dc(0x96)]=!![],this[_0xf806dc(0xe9)]['connect']()[_0xf806dc(0x9d)](()=>{const _0x412da8=_0xf806dc;this[_0x412da8(0xca)]['warn']({'event':_0x214776['HDEuG']},'Failed\x20to\x20connect\x20Redis\x20publisher\x20for\x20Live\x20Sync'),this[_0x412da8(0xe9)]=null;})),this[_0xf806dc(0xa4)]=new _0x237027(_0x4f89e3),this[_0xf806dc(0xa4)][_0xf806dc(0xd7)]()[_0xf806dc(0x100)](()=>{const _0x269009=_0xf806dc,_0x2dca34={'taLFa':'Live\x20Sync\x20Redis\x20subscriber\x20active\x20for\x20cluster\x20mode'};this[_0x269009(0xa4)]['subscribe'](REDIS_CHANNEL_PREFIX+_0x269009(0xc8),_0x12845e=>{const _0x425d4e=_0x269009;if(_0x12845e){this['_logger']['error']({'event':_0x425d4e(0xa1),'error':_0x12845e[_0x425d4e(0xcd)]},_0x425d4e(0x10b)+_0x12845e[_0x425d4e(0xcd)]);return;}this['_logger']['info']({'event':'livesync_redis_subscribed'},_0x2dca34[_0x425d4e(0xe2)]);}),this['_redisSubscriber']['on'](_0x269009(0xcd),(_0x43bfe9,_0x1f66fd)=>{const _0x2d0a50=_0x269009;try{const _0x59f01b=JSON[_0x2d0a50(0x101)](_0x1f66fd);if(_0x214776[_0x2d0a50(0xa9)](_0x59f01b[_0x2d0a50(0xdd)],this['_workerId']))return;this['_broadcastLocal'](_0x59f01b[_0x2d0a50(0xbb)],_0x59f01b['message']);}catch(_0x2e7efa){}});})[_0xf806dc(0x9d)](()=>{const _0x4eb6e0=_0xf806dc;this['_logger']['warn']({'event':_0x214776[_0x4eb6e0(0xaa)]},_0x4eb6e0(0xfc)),this[_0x4eb6e0(0xa4)]=null;});}catch(_0x39600a){this['_logger']['warn']({'event':'livesync_redis_unavailable','error':_0x39600a[_0xf806dc(0xcd)]},'Redis\x20not\x20available\x20for\x20Live\x20Sync\x20cluster\x20mode:\x20'+_0x39600a['message']);}}['_broadcastLocal'](_0x4f34ed,_0xd9464c){const _0x304581=a0_0x296d66,_0x2d332c={'afQmN':function(_0x4cab91,_0x2a5f95){return _0x4cab91===_0x2a5f95;}};if(!this[_0x304581(0xb8)])return;const _0x321ed0=JSON[_0x304581(0x92)]({'type':_0x304581(0xf8),'channel':_0x4f34ed,'action':_0xd9464c[_0x304581(0xb7)],'data':_0xd9464c['data'],'requestId':_0xd9464c['requestId']||null,'timestamp':new Date()[_0x304581(0xc0)]()}),[_0x347605]=_0x4f34ed['split'](':');for(const [_0x2906f9,_0x123ccd]of this['_subscriptions']){const _0x4f96ba=_0x2906f9===_0x4f34ed,_0x27a035=_0x2906f9===_0x347605+':*';if(_0x4f96ba||_0x27a035)for(const _0x22488c of _0x123ccd){if(_0x2d332c['afQmN'](_0x22488c[_0x304581(0xd1)],0x1))try{_0x22488c['send'](_0x321ed0);}catch(_0x567964){}}}}}module['exports']=WebSocketBroadcaster;
@@ -1 +1 @@
1
- const a0_0x2151f3=a0_0x4f8f;(function(_0x4d68c4,_0x44480a){const _0x5e4f71=a0_0x4f8f,_0x20b0c0=_0x4d68c4();while(!![]){try{const _0x474021=parseInt(_0x5e4f71(0x182))/0x1+-parseInt(_0x5e4f71(0x1a6))/0x2*(-parseInt(_0x5e4f71(0x1c8))/0x3)+-parseInt(_0x5e4f71(0x1eb))/0x4+-parseInt(_0x5e4f71(0x1c4))/0x5+parseInt(_0x5e4f71(0x1d7))/0x6*(parseInt(_0x5e4f71(0x212))/0x7)+parseInt(_0x5e4f71(0x21f))/0x8+parseInt(_0x5e4f71(0x1f1))/0x9*(-parseInt(_0x5e4f71(0x1d5))/0xa);if(_0x474021===_0x44480a)break;else _0x20b0c0['push'](_0x20b0c0['shift']());}catch(_0x2e986d){_0x20b0c0['push'](_0x20b0c0['shift']());}}}(a0_0x33d8,0x5d8c0));const {v7:uuidv7}=require('uuid'),path=require(a0_0x2151f3(0x1f9)),fs=require('fs')[a0_0x2151f3(0x21b)],fsSync=require('fs'),redisHelper=require('../utils/redis-helper'),{logger,logError}=require(a0_0x2151f3(0x199)),dbType=(process['env']['DB_TYPE']||a0_0x2151f3(0x18d))[a0_0x2151f3(0x17e)]();let executeQuery;if(dbType===a0_0x2151f3(0x187)){const oracleDb=require(a0_0x2151f3(0x1f5));executeQuery=(_0xb44c10,_0x35edff)=>oracleDb['executeQuery'](_0xb44c10,_0x35edff);}else{if(dbType==='mysql'){const mysqlDb=require('../utils/db-mysql');executeQuery=(_0x39bdcc,_0x2e05f5)=>mysqlDb['executeQuery'](_0x39bdcc,_0x2e05f5);}else executeQuery=require(a0_0x2151f3(0x198))[a0_0x2151f3(0x1e6)];}class ExportService{constructor(){this['_exportDir']=null;}get['exportDir'](){const _0x12f020=a0_0x2151f3,_0x10cf69={'uzuCP':_0x12f020(0x1c2),'sbDWY':'Export\x20service\x20initialized','ddJoV':function(_0x44ea7e,_0x13fcc2,_0x1b2a88,_0x387c25){return _0x44ea7e(_0x13fcc2,_0x1b2a88,_0x387c25);},'kGUSz':'export_service_init_error'};if(!this[_0x12f020(0x1ba)]){const _0x2a9578=process[_0x12f020(0x1fe)]['RESTFORGE_PROJECT_NAME']||_0x10cf69[_0x12f020(0x1f3)];this[_0x12f020(0x1ba)]=process[_0x12f020(0x1fe)][_0x12f020(0x201)]||path['join'](__dirname,'../../exports/'+_0x2a9578);try{!fsSync[_0x12f020(0x1b4)](this['_exportDir'])&&fsSync[_0x12f020(0x20f)](this[_0x12f020(0x1ba)],{'recursive':!![]}),logger['info']({'event':'export_service_init','dir':this[_0x12f020(0x1ba)]},_0x10cf69['sbDWY']);}catch(_0x5d707e){_0x10cf69[_0x12f020(0x1fc)](logError,_0x5d707e,{'event':_0x10cf69[_0x12f020(0x1cb)]},'Failed\x20to\x20initialize\x20export\x20service');}}return this[_0x12f020(0x1ba)];}['resolveExportQuery'](_0x9c0b78,_0x28e14c=null){const _0x39848c=a0_0x2151f3,_0x4a6873={'DUOVc':_0x39848c(0x1a9),'uLqwh':'utf8'};if(!_0x9c0b78||typeof _0x9c0b78!==_0x39848c(0x1ee))return _0x9c0b78;const _0x49e253=_0x9c0b78[_0x39848c(0x1d4)]();if(!_0x49e253['startsWith']('file:'))return _0x49e253;const _0x4f9e5b=_0x49e253[_0x39848c(0x1c0)](/^file:/,'')[_0x39848c(0x1d4)]();if(!_0x4f9e5b)throw new Error(_0x4a6873[_0x39848c(0x1b8)]);const _0x50ff7b=_0x28e14c||path[_0x39848c(0x1a4)](process[_0x39848c(0x1c6)](),_0x39848c(0x219)),_0x5c09cf=path['resolve'](_0x50ff7b,_0x4f9e5b);logger['info']({'event':'export_query_file_resolve','relativePath':_0x4f9e5b,'baseDir':_0x50ff7b,'absolutePath':_0x5c09cf},_0x39848c(0x1cc)+_0x4f9e5b);if(!fsSync['existsSync'](_0x5c09cf))throw new Error(_0x39848c(0x1e8)+_0x5c09cf);try{const _0x11708b=fsSync[_0x39848c(0x1d8)](_0x5c09cf,_0x4a6873[_0x39848c(0x1bc)]);if(!_0x11708b||!_0x11708b[_0x39848c(0x1d4)]())throw new Error('Export\x20query\x20file\x20is\x20empty:\x20'+_0x5c09cf);return logger['info']({'event':'export_query_file_loaded','file':_0x5c09cf,'queryLength':_0x11708b[_0x39848c(0x190)]},'Loaded\x20SQL\x20query\x20from\x20file\x20('+_0x11708b['length']+'\x20chars)'),_0x11708b['trim']();}catch(_0xf21a41){if(_0xf21a41['code']===_0x39848c(0x214))throw new Error('Export\x20query\x20file\x20not\x20found:\x20'+_0x5c09cf);throw new Error(_0x39848c(0x1ea)+_0xf21a41[_0x39848c(0x1e2)]);}}[a0_0x2151f3(0x17d)](){const _0x200db6=a0_0x2151f3,_0x20634c={'IPPsg':function(_0x4fa49c,_0x2a4d5b){return _0x4fa49c-_0x2a4d5b;},'RVoMw':function(_0x1356d9,_0x46036e){return _0x1356d9<_0x46036e;}},_0x3aa17b='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789',_0x569c32=Date['now']()[_0x200db6(0x1b2)](0x24),_0x3c3085=uuidv7()['replace'](/-/g,'')[_0x200db6(0x21c)](0x0,_0x20634c[_0x200db6(0x21e)](0xc,_0x569c32[_0x200db6(0x190)])),_0x37c01e=(_0x569c32+_0x3c3085)[_0x200db6(0x21c)](0x0,0xc);let _0x5115f3='';for(let _0x501528=0x0;_0x20634c[_0x200db6(0x1a7)](_0x501528,0xc);_0x501528++){_0x37c01e[_0x501528]?_0x5115f3+=_0x37c01e[_0x501528]:_0x5115f3+=_0x3aa17b[_0x200db6(0x185)](Math['floor'](Math['random']()*_0x3aa17b['length']));}return _0x5115f3;}async[a0_0x2151f3(0x209)](_0x49788c){const _0x30ca96=a0_0x2151f3,_0x32265c={'YmlaU':function(_0x12837b,_0x2459f4,_0x4fe062,_0x5ca4c5){return _0x12837b(_0x2459f4,_0x4fe062,_0x5ca4c5);},'gbvih':_0x30ca96(0x183)},_0x2e4861=this['generateJobId'](),_0x4eff57={'job_id':_0x2e4861,'status':'pending','progress':0x0,'created_at':new Date()[_0x30ca96(0x1a3)](),'params':_0x49788c,'total_rows':0x0,'processed_rows':0x0};return await redisHelper['setJob'](_0x2e4861,_0x4eff57),logger[_0x30ca96(0x19c)]({'event':_0x32265c['gbvih'],'jobId':_0x2e4861,'params':_0x49788c},'Export\x20job\x20created'),this[_0x30ca96(0x197)](_0x2e4861,_0x49788c)[_0x30ca96(0x19a)](_0x3c9e0a=>{const _0x3137e8=_0x30ca96;_0x32265c['YmlaU'](logError,_0x3c9e0a,{'event':_0x3137e8(0x216),'jobId':_0x2e4861},_0x3137e8(0x18b));}),{'job_id':_0x2e4861,'status':'pending'};}async['getJobStatus'](_0x3f15e7){const _0x45eec6=a0_0x2151f3,_0x276c7c={'uVpVL':'Job\x20not\x20found\x20or\x20expired','juljP':'completed'},_0x66d258=await redisHelper[_0x45eec6(0x1ff)](_0x3f15e7);if(!_0x66d258)return{'success':![],'error':_0x276c7c['uVpVL']};return{'success':!![],'data':{'job_id':_0x66d258['job_id'],'status':_0x66d258[_0x45eec6(0x1d1)],'progress':_0x66d258[_0x45eec6(0x1d9)],'total_rows':_0x66d258['total_rows'],'processed_rows':_0x66d258['processed_rows'],'file_url':_0x66d258['status']===_0x276c7c[_0x45eec6(0x1f0)]?'/api/'+_0x66d258['params'][_0x45eec6(0x1fd)]+'/'+_0x66d258[_0x45eec6(0x21a)]['endpointName']+_0x45eec6(0x202)+_0x3f15e7:null,'error':_0x66d258[_0x45eec6(0x180)]||null,'created_at':_0x66d258[_0x45eec6(0x1e0)],'completed_at':_0x66d258[_0x45eec6(0x1b9)]||null}};}async[a0_0x2151f3(0x197)](_0x2b80c5,_0x349277){const _0x5e85ee=a0_0x2151f3,_0xb1ae43={'kOyMX':_0x5e85ee(0x21d),'sbNUp':'export_processing_start','iOHwa':function(_0x30d9ab,_0xf55c2a,_0x9f732a,_0x9e0553){return _0x30d9ab(_0xf55c2a,_0x9f732a,_0x9e0553);},'plFKp':_0x5e85ee(0x1cf),'EOBqJ':_0x5e85ee(0x1b1)};try{await redisHelper[_0x5e85ee(0x1da)](_0x2b80c5,{'status':_0xb1ae43[_0x5e85ee(0x18a)],'started_at':new Date()[_0x5e85ee(0x1a3)]()}),logger['info']({'event':_0xb1ae43[_0x5e85ee(0x194)],'jobId':_0x2b80c5},_0x5e85ee(0x1ca));const _0x322bbe=await this[_0x5e85ee(0x1ad)](_0x349277);await redisHelper['updateJob'](_0x2b80c5,{'total_rows':_0x322bbe['length']});const _0x18d371=await this[_0x5e85ee(0x218)](_0x2b80c5,_0x322bbe,_0x349277);await redisHelper[_0x5e85ee(0x1da)](_0x2b80c5,{'status':_0x5e85ee(0x1fb),'progress':0x64,'file_path':_0x18d371,'completed_at':new Date()['toISOString']()}),logger[_0x5e85ee(0x19c)]({'event':_0x5e85ee(0x1ed),'jobId':_0x2b80c5,'rows':_0x322bbe[_0x5e85ee(0x190)]},'Export\x20completed\x20successfully');}catch(_0x544f00){_0xb1ae43['iOHwa'](logError,_0x544f00,{'event':_0xb1ae43['plFKp'],'jobId':_0x2b80c5},_0xb1ae43['EOBqJ']),await redisHelper['updateJob'](_0x2b80c5,{'status':'failed','error':_0x544f00['message'],'failed_at':new Date()[_0x5e85ee(0x1a3)]()});}}async['fetchData'](_0x1d591d){const _0x483c20=a0_0x2151f3,_0x558b37={'JJbRC':function(_0xe46448,_0x4a7d29){return _0xe46448===_0x4a7d29;},'jsqcb':_0x483c20(0x184),'qaPzx':_0x483c20(0x213),'YkiYD':_0x483c20(0x207),'BlhFE':_0x483c20(0x217),'aLXTJ':_0x483c20(0x1f2),'SaMVl':_0x483c20(0x1ec),'aeVjx':function(_0x227670,_0x2b9917,_0x27c4e6,_0x2e33bc){return _0x227670(_0x2b9917,_0x27c4e6,_0x2e33bc);},'AYkzA':_0x483c20(0x1dc),'xQfqA':_0x483c20(0x205)};try{const {tableName:_0x364fe2,columns:_0x33b61b,exportQuery:_0x4b6a75,where:_0x389444,sort_columns:_0x46bc09}=_0x1d591d;if(!_0x364fe2||!_0x33b61b||_0x558b37[_0x483c20(0x20c)](_0x33b61b['length'],0x0))throw new Error(_0x558b37['jsqcb']);const _0x27b6f4=_0x364fe2[_0x483c20(0x1c0)](/\./g,'_')+_0x558b37[_0x483c20(0x1b0)];let _0x532b59;if(_0x4b6a75&&_0x4b6a75['trim']()){let _0x401abe=_0x4b6a75;_0x4b6a75['trim']()[_0x483c20(0x19b)](_0x483c20(0x203))&&(_0x401abe=this['resolveExportQuery'](_0x4b6a75)),_0x532b59='WITH\x20'+_0x27b6f4+'\x20AS\x20(\x0a\x20\x20\x20\x20'+_0x401abe+'\x0a)',_0x532b59+='\x0aSELECT\x20*\x20FROM\x20'+_0x27b6f4,logger[_0x483c20(0x19c)]({'event':_0x483c20(0x1b6),'query':_0x401abe[_0x483c20(0x21c)](0x0,0x64)},'Using\x20custom\x20exportQuery');}else{const _0x26b514=_0x33b61b['map'](_0x18f36f=>'\x0a\x20\x20\x20\x20\x20\x20\x20\x20'+_0x18f36f)[_0x483c20(0x1a4)](',');_0x532b59='WITH\x20'+_0x27b6f4+'\x20AS\x20(\x0a\x20\x20\x20\x20SELECT\x20'+_0x26b514+'\x0a\x20\x20\x20\x20FROM\x20'+_0x364fe2+'\x0a)',_0x532b59+='\x0aSELECT\x20*\x20FROM\x20'+_0x27b6f4,logger['info']({'event':_0x558b37[_0x483c20(0x20b)],'tableName':_0x364fe2,'columnCount':_0x33b61b[_0x483c20(0x190)]},_0x558b37[_0x483c20(0x189)]);}if(_0x389444){const _0x4601ac=this[_0x483c20(0x1c1)](_0x389444);_0x4601ac&&(_0x532b59+=_0x483c20(0x1bd)+_0x4601ac);}if(_0x46bc09&&_0x46bc09[_0x483c20(0x190)]>0x0){const _0xb4c7da=this[_0x483c20(0x196)](_0x46bc09);_0xb4c7da&&(_0x532b59+=_0x483c20(0x1fa)+_0xb4c7da);}logger['info']({'event':'export_fetch_start','query':_0x532b59[_0x483c20(0x21c)](0x0,0xc8)},_0x558b37[_0x483c20(0x1af)]);const _0x2631c2=await executeQuery(_0x532b59);let _0x2ee527=_0x2631c2;return dbType==='oracle'&&_0x2631c2&&_0x2631c2['length']>0x0&&(_0x2ee527=_0x2631c2[_0x483c20(0x211)](_0x2ceb39=>{const _0x25e3ad=_0x483c20,_0x17a21f={};for(const [_0x756db6,_0x36654b]of Object[_0x25e3ad(0x200)](_0x2ceb39)){_0x17a21f[_0x756db6[_0x25e3ad(0x17e)]()]=_0x36654b;}return _0x17a21f;})),logger['info']({'event':_0x483c20(0x1d3),'rows':_0x2ee527[_0x483c20(0x190)]},_0x558b37[_0x483c20(0x193)]),_0x2ee527;}catch(_0x58390e){_0x558b37[_0x483c20(0x1aa)](logError,_0x58390e,{'event':_0x558b37['AYkzA']},_0x558b37[_0x483c20(0x20a)]);throw _0x58390e;}}['sanitizeValue'](_0x17925c){const _0x51833c=a0_0x2151f3;if(typeof _0x17925c===_0x51833c(0x1ee))return _0x17925c[_0x51833c(0x1c0)](/[\u200B-\u200D\uFEFF\u2060\u00AD]/g,'')[_0x51833c(0x1d4)]();else{if(Array['isArray'](_0x17925c))return _0x17925c[_0x51833c(0x211)](_0x156b3f=>this['sanitizeValue'](_0x156b3f));}return _0x17925c;}[a0_0x2151f3(0x1c1)](_0xaab6e0){const _0x2863fc=a0_0x2151f3,_0x5c4b3b={'HmHTD':function(_0x188f58,_0x20309d){return _0x188f58||_0x20309d;},'mpkyd':_0x2863fc(0x18e),'eekIT':function(_0x1910de,_0x271eb0){return _0x1910de===_0x271eb0;},'eCgWE':'IS\x20NOT\x20NULL','rQfyf':_0x2863fc(0x188)};if(!_0xaab6e0||!_0xaab6e0['conditions']||_0x5c4b3b['eekIT'](_0xaab6e0['conditions'][_0x2863fc(0x190)],0x0))return'';const {logic:_0x30649c,conditions:_0x4acd15}=_0xaab6e0,_0x708769=_0x30649c&&_0x30649c['toUpperCase']()==='OR'?_0x5c4b3b[_0x2863fc(0x204)]:_0x2863fc(0x1de),_0x4116c5=_0x4acd15[_0x2863fc(0x211)](_0x4ae944=>{const _0x4c4be2=_0x2863fc,_0x55c008={'oNCWr':function(_0x486d61,_0x4da28f){return _0x486d61===_0x4da28f;}},{key:_0x2da04f,operator:_0x5514eb,value:_0x2578e8,sensitive:_0x5285d0}=_0x4ae944;if(_0x5c4b3b[_0x4c4be2(0x195)](!_0x2da04f,!_0x5514eb))return logger[_0x4c4be2(0x210)]({'event':'invalid_condition','condition':_0x4ae944},_0x5c4b3b[_0x4c4be2(0x1d2)]),null;const _0x207f6e=this['sanitizeValue'](_0x2578e8),_0x349b0a=_0x5285d0!==undefined?_0x5285d0:!![];let _0x192019=_0x2da04f,_0x3ca13c=_0x207f6e;!_0x349b0a&&(_0x192019=_0x4c4be2(0x1ef)+_0x2da04f+')',_0x5c4b3b['eekIT'](typeof _0x2578e8,'string')&&(_0x3ca13c=_0x2578e8['toUpperCase']()));const _0xa0d6d8=typeof _0x3ca13c==='string'?'\x27'+_0x3ca13c[_0x4c4be2(0x1c0)](/'/g,'\x27\x27')+'\x27':_0x3ca13c;switch(_0x5514eb[_0x4c4be2(0x19f)]()){case'=':case'!=':case'<>':return _0x192019+'\x20'+_0x5514eb+'\x20'+_0xa0d6d8;case'>':case'<':case'>=':case'<=':const _0x1dd4f7=_0x5c4b3b[_0x4c4be2(0x18f)](typeof _0x207f6e,'string')?'\x27'+_0x207f6e[_0x4c4be2(0x1c0)](/'/g,'\x27\x27')+'\x27':_0x207f6e;return _0x2da04f+'\x20'+_0x5514eb+'\x20'+_0x1dd4f7;case'LIKE':case'NOT\x20LIKE':return _0x192019+'\x20'+_0x5514eb+'\x20'+_0xa0d6d8;case'IN':if(Array['isArray'](_0x207f6e)){let _0x56a16e;return!_0x349b0a?_0x56a16e=_0x207f6e['map'](_0x2f0751=>{const _0x50c893=_0x4c4be2,_0x16d199=_0x55c008['oNCWr'](typeof _0x2f0751,'string')?_0x2f0751['toUpperCase']():_0x2f0751;return typeof _0x16d199===_0x50c893(0x1ee)?'\x27'+_0x16d199[_0x50c893(0x1c0)](/'/g,'\x27\x27')+'\x27':_0x16d199;})['join'](',\x20'):_0x56a16e=_0x207f6e[_0x4c4be2(0x211)](_0x3d04c8=>typeof _0x3d04c8===_0x4c4be2(0x1ee)?'\x27'+_0x3d04c8[_0x4c4be2(0x1c0)](/'/g,'\x27\x27')+'\x27':_0x3d04c8)[_0x4c4be2(0x1a4)](',\x20'),_0x192019+'\x20IN\x20('+_0x56a16e+')';}return _0x192019+_0x4c4be2(0x191)+_0xa0d6d8+')';case'IS\x20NULL':return _0x2da04f+'\x20IS\x20NULL';case _0x5c4b3b['eCgWE']:return _0x2da04f+_0x4c4be2(0x1ce);default:logger['warn']({'event':'unknown_operator','operator':_0x5514eb},'Unknown\x20operator,\x20using\x20=\x20as\x20default');return _0x192019+_0x4c4be2(0x1e3)+_0xa0d6d8;}})[_0x2863fc(0x1c5)](_0x5b01dc=>_0x5b01dc!==null);if(_0x4116c5['length']===0x0)return'';return _0x4116c5[_0x2863fc(0x1a4)](_0x708769);}[a0_0x2151f3(0x196)](_0x55f96e){const _0x3f5dc8=a0_0x2151f3,_0x6c9633={'idUCX':_0x3f5dc8(0x1b5),'wySGd':function(_0x6a4ab7,_0x5313cf){return _0x6a4ab7===_0x5313cf;},'eXsrd':_0x3f5dc8(0x1db),'wKGFD':'ASC','uOFbx':function(_0x40fafe,_0x4da95c){return _0x40fafe===_0x4da95c;}};if(!_0x55f96e||_0x6c9633['wySGd'](_0x55f96e[_0x3f5dc8(0x190)],0x0))return'';const _0x2079bf=_0x55f96e[_0x3f5dc8(0x211)](_0x22a41a=>{const _0x1843f1=_0x3f5dc8,{column:_0x1f032b,direction:_0x4fea30}=_0x22a41a;if(!_0x1f032b)return logger[_0x1843f1(0x210)]({'event':_0x1843f1(0x206),'item':_0x22a41a},_0x6c9633[_0x1843f1(0x1ae)]),null;const _0x517edd=_0x4fea30&&_0x6c9633['wySGd'](_0x4fea30[_0x1843f1(0x19f)](),_0x1843f1(0x1db))?_0x6c9633['eXsrd']:_0x6c9633[_0x1843f1(0x1ac)];return _0x1f032b+'\x20'+_0x517edd;})[_0x3f5dc8(0x1c5)](_0x4d9cc0=>_0x4d9cc0!==null);if(_0x6c9633[_0x3f5dc8(0x1f6)](_0x2079bf['length'],0x0))return'';return _0x2079bf['join'](',\x20');}async['generateExcel'](_0xa7d43c,_0x1439c3,_0x119344){const _0x291035=a0_0x2151f3,_0x31fea8={'vzVyZ':function(_0x595d09,_0x554437){return _0x595d09*_0x554437;},'jsqhF':function(_0x251875,_0x564c82){return _0x251875/_0x564c82;},'MUcWJ':function(_0x4a8b97,_0x491c0c){return _0x4a8b97===_0x491c0c;},'IrJvV':_0x291035(0x1df),'RnRyy':_0x291035(0x1a2),'bwYOm':_0x291035(0x1f7),'QeaDa':_0x291035(0x1a5)},_0x9c384=require(_0x291035(0x208)),_0x28265d=new _0x9c384(),_0x2dd687=_0x119344[_0x291035(0x192)]?_0x119344[_0x291035(0x192)]+'-'+_0xa7d43c:'export-'+_0xa7d43c,_0x7a590f=path[_0x291035(0x1a4)](this[_0x291035(0x1e1)],_0x2dd687+_0x291035(0x18c));let _0x48fa11=_0x119344[_0x291035(0x20d)];const _0x4ca9e6=_0x119344['exportQuery']&&_0x119344['exportQuery'][_0x291035(0x1d4)](),_0x4914e1=_0x48fa11&&_0x31fea8[_0x291035(0x1a1)](_0x48fa11[_0x291035(0x190)],0x1)&&(_0x31fea8['MUcWJ'](_0x48fa11[0x0],'*')||_0x31fea8[_0x291035(0x1a1)](_0x48fa11[0x0][_0x291035(0x17e)](),_0x291035(0x1bb)));if(_0x1439c3[_0x291035(0x190)]>0x0){const _0x357ca0=Object[_0x291035(0x220)](_0x1439c3[0x0]);if(_0x4ca9e6)_0x48fa11=_0x357ca0,logger[_0x291035(0x19c)]({'event':_0x31fea8['IrJvV'],'columns':_0x48fa11},'Using\x20'+_0x48fa11['length']+'\x20columns\x20from\x20custom\x20exportQuery\x20result');else{if(_0x4914e1)_0x48fa11=_0x357ca0,logger[_0x291035(0x19c)]({'event':_0x31fea8['RnRyy'],'columns':_0x48fa11},'Using\x20all\x20'+_0x48fa11[_0x291035(0x190)]+_0x291035(0x1e4));else{if(_0x48fa11&&_0x48fa11[_0x291035(0x190)]>0x0){const _0x1af6b1=_0x48fa11[_0x291035(0x1c5)](_0xd691e2=>_0x357ca0[_0x291035(0x1c7)](_0xd691e2));_0x1af6b1['length']>0x0?(_0x48fa11=_0x1af6b1,logger[_0x291035(0x19c)]({'event':_0x31fea8[_0x291035(0x1ab)],'requestedColumns':_0x119344[_0x291035(0x20d)],'validColumns':_0x48fa11},'Using\x20'+_0x48fa11[_0x291035(0x190)]+'\x20columns\x20from\x20request')):(_0x48fa11=_0x357ca0,logger['warn']({'event':_0x291035(0x1b7),'requestedColumns':_0x119344['columns'],'availableColumns':_0x357ca0},'Requested\x20columns\x20not\x20found\x20in\x20data,\x20using\x20all\x20'+_0x357ca0['length']+'\x20columns'));}else _0x48fa11=_0x357ca0,logger['info']({'event':'excel_columns_from_query_result','columns':_0x48fa11},_0x291035(0x1be)+_0x48fa11['length']+'\x20columns\x20from\x20query\x20result');}}}else logger['info']({'event':_0x31fea8[_0x291035(0x1a0)],'columns':_0x48fa11},'Using\x20'+(_0x48fa11?.['length']||0x0)+_0x291035(0x181));return await _0x28265d[_0x291035(0x1f8)]({'data':_0x1439c3,'columns':_0x48fa11,'columnFormats':_0x119344[_0x291035(0x19e)]||null,'fieldLabels':_0x119344[_0x291035(0x1dd)]||null,'filePath':_0x7a590f,'onProgress':async _0x366188=>{const _0xab93ad=_0x291035;await redisHelper['updateJob'](_0xa7d43c,{'progress':Math[_0xab93ad(0x1cd)](_0x366188),'processed_rows':Math[_0xab93ad(0x1cd)](_0x31fea8['vzVyZ'](_0x31fea8[_0xab93ad(0x19d)](_0x366188,0x64),_0x1439c3[_0xab93ad(0x190)]))});}}),_0x7a590f;}async['getFilePath'](_0x476a0f){const _0x13837b=a0_0x2151f3,_0xfd8c6={'vlyof':function(_0x310416,_0x12fc24){return _0x310416!==_0x12fc24;},'iOiJB':_0x13837b(0x1fb),'bROPu':'export_file_not_found','jXMTM':'Export\x20file\x20not\x20found'},_0x57d5e4=await redisHelper['getJob'](_0x476a0f);if(!_0x57d5e4||_0xfd8c6[_0x13837b(0x1a8)](_0x57d5e4['status'],_0xfd8c6[_0x13837b(0x1e7)]))return null;try{return await fs[_0x13837b(0x1e5)](_0x57d5e4['file_path']),_0x57d5e4[_0x13837b(0x17f)];}catch(_0x5d10c6){return logError(_0x5d10c6,{'event':_0xfd8c6[_0x13837b(0x186)],'jobId':_0x476a0f,'path':_0x57d5e4[_0x13837b(0x17f)]},_0xfd8c6['jXMTM']),null;}}async[a0_0x2151f3(0x215)](){const _0x40c5ed=a0_0x2151f3,_0x215c96={'GsBtV':function(_0x548131,_0x3f1878){return _0x548131/_0x3f1878;},'SqOxT':function(_0x1a0f55,_0x57d373){return _0x1a0f55-_0x57d373;},'INUmo':function(_0x4aecd7,_0x276fd0){return _0x4aecd7*_0x276fd0;},'CJjEm':function(_0x5f4f7a,_0x2edbc3){return _0x5f4f7a>_0x2edbc3;},'Prrvf':'export_file_deleted','JlMjx':_0x40c5ed(0x1e9)};logger['info']({'event':'export_cleanup_start'},_0x40c5ed(0x1bf));const _0x56f7af=await redisHelper['getAllJobs']();let _0x2f5b03=0x0;for(const _0x4d48f6 of _0x56f7af){const _0x597a8a=new Date(_0x4d48f6[_0x40c5ed(0x1e0)]),_0x23a1e1=new Date(),_0x38d3fa=_0x215c96['GsBtV'](_0x215c96[_0x40c5ed(0x1d0)](_0x23a1e1,_0x597a8a),_0x215c96[_0x40c5ed(0x1b3)](0x3e8,0x3c)*0x3c);if(_0x215c96['CJjEm'](_0x38d3fa,0x1)){if(_0x4d48f6['file_path'])try{await fs['unlink'](_0x4d48f6['file_path']),logger['info']({'event':_0x215c96[_0x40c5ed(0x1c3)],'path':_0x4d48f6['file_path']},_0x40c5ed(0x1c9));}catch(_0x375290){logger[_0x40c5ed(0x210)]({'event':_0x215c96[_0x40c5ed(0x20e)],'path':_0x4d48f6[_0x40c5ed(0x17f)],'error':_0x375290[_0x40c5ed(0x1e2)]},'Failed\x20to\x20delete\x20export\x20file');}await redisHelper[_0x40c5ed(0x1d6)](_0x4d48f6[_0x40c5ed(0x1f4)]),_0x2f5b03++;}}return logger[_0x40c5ed(0x19c)]({'event':'export_cleanup_complete','deleted':_0x2f5b03},'Export\x20cleanup\x20completed'),_0x2f5b03;}}module['exports']=new ExportService();function a0_0x4f8f(_0xdb0189,_0xa46a1d){_0xdb0189=_0xdb0189-0x17d;const _0x33d8d4=a0_0x33d8();let _0x4f8f7c=_0x33d8d4[_0xdb0189];if(a0_0x4f8f['WbcEJf']===undefined){var _0x57287f=function(_0x18546c){const _0x343338='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3fedf9='',_0x1e1f6e='';for(let _0x536db4=0x0,_0x4eda78,_0x805eb5,_0x32306a=0x0;_0x805eb5=_0x18546c['charAt'](_0x32306a++);~_0x805eb5&&(_0x4eda78=_0x536db4%0x4?_0x4eda78*0x40+_0x805eb5:_0x805eb5,_0x536db4++%0x4)?_0x3fedf9+=String['fromCharCode'](0xff&_0x4eda78>>(-0x2*_0x536db4&0x6)):0x0){_0x805eb5=_0x343338['indexOf'](_0x805eb5);}for(let _0x17fe13=0x0,_0x21068f=_0x3fedf9['length'];_0x17fe13<_0x21068f;_0x17fe13++){_0x1e1f6e+='%'+('00'+_0x3fedf9['charCodeAt'](_0x17fe13)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1e1f6e);};a0_0x4f8f['WieBZW']=_0x57287f,a0_0x4f8f['GpkcUD']={},a0_0x4f8f['WbcEJf']=!![];}const _0x576a10=_0x33d8d4[0x0],_0x1bcc33=_0xdb0189+_0x576a10,_0x2f49ea=a0_0x4f8f['GpkcUD'][_0x1bcc33];return!_0x2f49ea?(_0x4f8f7c=a0_0x4f8f['WieBZW'](_0x4f8f7c),a0_0x4f8f['GpkcUD'][_0x1bcc33]=_0x4f8f7c):_0x4f8f7c=_0x2f49ea,_0x4f8f7c;}function a0_0x33d8(){const _0x3451e5=['zxHWB3j0x2zPBgvFzgvSzxrLx2vYCM9Y','rMfPBgvKihrVihjLywqGzxHWB3j0ihf1zxj5igzPBgu6ia','mtmXnJeYnfHvrg9UCW','rgf0ysbMzxrJAgvKihn1y2nLC3nMDwXSEq','zxHWB3j0x2nVBxbSzxrLza','C3rYAw5N','vvbqrviO','ANvSALa','ouPovKvXvq','rMv0y2HPBMCGzgf0ysbMCM9TigrHDgfIyxnL','DxP1q1a','AM9Ix2LK','lI4VDxrPBhmVzgiTB3jHy2XL','Du9gyNG','zxHJzwXFy29SDw1UC19MCM9Tx3jLCxvLC3q','z2vUzxjHDgu','Cgf0Aa','cK9srevsiejzia','y29TCgXLDgvK','zgrkB1y','Bw9KDwXLtMfTzq','zw52','z2v0sM9I','zw50CMLLCW','rvHqt1jux0rjuG','l2v4Cg9YDc1KB3DUBg9Hzd9QB2jFAwq9','zMLSztO','CLfMEwy','rMfPBgvKihrVigzLDgnOigrHDge','Aw52ywXPzf9ZB3j0x2nVBhvTBG','zxHWB3j0x3vZAw5Nx2f1Dg9FCxvLCNK','lI4VDxrPBhmVzxHJzwWTz2vUzxjHDg9Y','y3jLyxrLsM9I','EffMCue','wwTPwuq','sKPIuKm','y29SDw1UCW','sMXnANG','BwTKAxjtEw5J','D2fYBG','BwfW','mty3mdy0ohzerur4BG','x2rHDge','ru5pru5u','y2XLyw51Ca','zxHWB3j0x3bYB2nLC3nFzxjYB3i','vxnPBMCGyxv0BY1Nzw5LCMf0zwqGCxvLCNK','z2vUzxjHDgvfEgnLBa','Cgf5Bg9Hza','CgfYyw1Z','ChjVBwLZzxm','C3vIC3rYAw5N','ChjVy2vZC2LUzW','svbqC2C','ndyZnJyXnKPkDhnmEG','A2v5CW','z2vUzxjHDgvkB2jjza','Dg9mB3DLCKnHC2u','zMLSzv9WyxrO','zxjYB3i','ignVBhvTBNmGzNjVBsbJB25MAwCGkg5VigrHDgeP','ndq3nJe5Bwncvg1j','zxHWB3j0x2PVyL9JCMvHDgvK','DgfIBgvoyw1LigfUzcbJB2X1Bw5ZigfYzsbYzxf1AxjLza','y2HHCKf0','yLjpuhu','B3jHy2XL','ie9sia','qMXOrKu','A095tvG','rxHWB3j0ihbYB2nLC3nPBMCGzMfPBgvK','lNHSC3G','Cg9ZDgDYzxnXBa','u2TPChbPBMCGAw52ywXPzcbJB25KAxrPB24','zwvRsvq','BgvUz3rO','ieLoicG','zMLSzw5HBwu','u2fnvMW','C2jovxa','sg1iveq','yNvPBgrpCMrLCKj5q2XHDxnL','ChjVy2vZC0PVyG','lI4VDxrPBhmVzgi','lI4VDxrPBhmVBg9Nz2vY','y2f0y2G','C3rHCNrZv2L0Aa','Aw5MBW','ANnXAey','y29SDw1UrM9YBwf0CW','Dg9vChbLCKnHC2u','uwvHrge','tvvJv0O','zxHJzwXFy29SDw1UC19ZzwXLy3rFywXS','Dg9ju09tDhjPBMC','AM9PBG','zxHJzwXFy29SDw1UC19MCM9Tx2nVBMzPzW','ngTiAMfPDW','uLzVtxC','DMX5B2y','sw52ywXPzcbMAwXLoIbYzwzLCMvUy2uGlsbWyxrOigLZigvTChr5','ywvwANG','yNDzt20','D0ThrKq','zMv0y2HeyxrH','Awrvq1G','yuXyveO','CwfqENG','rxHWB3j0igzHAwXLza','Dg9tDhjPBMC','su5vBw8','zxHPC3rZu3LUyW','u2TPChbPBMCGAw52ywXPzcbZB3j0ignVBhvTBG','zxHWB3j0x3vZAw5Nx2n1C3rVBv9XDwvYEq','zxHJzwXFy29SDw1UC19MywXSyMfJAW','rfvpvMm','y29TCgXLDgvKx2f0','x2v4Cg9YDerPCG','ywXS','DuXXD2G','cLDirvjfia','vxnPBMCG','u3rHCNrPBMCGzxHWB3j0ignSzwfUDxa','CMvWBgfJzq','yNvPBgrxAgvYzunSyxvZzq','zgvMyxvSDa','uhjYDMy','mtu0otu1nufNAwjmzG','zMLSDgvY','y3DK','Aw5JBhvKzxm','otu3odGYu2veDNLc','rxHWB3j0igzPBguGzgvSzxrLza','rxHWB3j0ihbYB2nLC3nPBMCGC3rHCNrLza','A0Dvu3O','uMvZB2X2Aw5Nigv4Cg9YDff1zxj5igzYB20GzMLSztOG','CM91BMq','ieLtie5pvcbovuXm','zxHWB3j0x2zHAwXLza','u3fpEfq','C3rHDhvZ','BxbREwq','zxHWB3j0x2zLDgnOx2nVBxbSzxrL','DhjPBq','odGYmZm4mhLisMXLBa','zgvSzxrLsM9I','nLrOrM51qG','CMvHzezPBgvtEw5J','ChjVz3jLC3m','DxbKyxrLsM9I','revtqW','zxHWB3j0x2zLDgnOx2vYCM9Y','zMLLBgrmywjLBhm','ieforca','zxHJzwXFy29SDw1UC19MCM9Tx2n1C3rVBv9XDwvYEq','y3jLyxrLzf9HDa','zxHWB3j0rgLY','BwvZC2fNzq','id0G','ignVBhvTBNmGkhDPBgrJyxjKihjLCxvLC3rLzcK','ywnJzxnZ','zxHLy3v0zvf1zxj5','Au9PsKi','rxHWB3j0ihf1zxj5igzPBguGBM90igzVDw5KoIa'];a0_0x33d8=function(){return _0x3451e5;};return a0_0x33d8();}
1
+ const a0_0xc1f991=a0_0x3ff7;(function(_0x5d64d4,_0x4c4a6c){const _0x5665c1=a0_0x3ff7,_0x2c42e2=_0x5d64d4();while(!![]){try{const _0x4b8f62=-parseInt(_0x5665c1(0x8b))/0x1+parseInt(_0x5665c1(0x75))/0x2*(-parseInt(_0x5665c1(0x82))/0x3)+parseInt(_0x5665c1(0x9d))/0x4+-parseInt(_0x5665c1(0x10d))/0x5*(parseInt(_0x5665c1(0xeb))/0x6)+-parseInt(_0x5665c1(0xca))/0x7*(parseInt(_0x5665c1(0xfb))/0x8)+parseInt(_0x5665c1(0xf0))/0x9+-parseInt(_0x5665c1(0xa3))/0xa*(-parseInt(_0x5665c1(0x10f))/0xb);if(_0x4b8f62===_0x4c4a6c)break;else _0x2c42e2['push'](_0x2c42e2['shift']());}catch(_0x1a78e8){_0x2c42e2['push'](_0x2c42e2['shift']());}}}(a0_0x17e0,0x2fb39));const {v7:uuidv7}=require(a0_0xc1f991(0xf4)),path=require(a0_0xc1f991(0x7f)),fs=require('fs')['promises'],fsSync=require('fs'),redisHelper=require(a0_0xc1f991(0xf6)),{logger,logError}=require(a0_0xc1f991(0xe5)),dbType=(process[a0_0xc1f991(0xfc)][a0_0xc1f991(0xec)]||a0_0xc1f991(0x7e))['toLowerCase']();let executeQuery;if(dbType===a0_0xc1f991(0xd3)){const oracleDb=require(a0_0xc1f991(0xba));executeQuery=(_0x38dcde,_0x601881)=>oracleDb['executeQuery'](_0x38dcde,_0x601881);}else{if(dbType==='mysql'){const mysqlDb=require('../utils/db-mysql');executeQuery=(_0x483420,_0x5715d2)=>mysqlDb[a0_0xc1f991(0xff)](_0x483420,_0x5715d2);}else executeQuery=require(a0_0xc1f991(0x86))[a0_0xc1f991(0xff)];}function a0_0x3ff7(_0x398e2a,_0x179c08){_0x398e2a=_0x398e2a-0x74;const _0x17e0c1=a0_0x17e0();let _0x3ff7e5=_0x17e0c1[_0x398e2a];if(a0_0x3ff7['vEdLfG']===undefined){var _0xf2ee7e=function(_0x23a6d1){const _0x529956='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4b39f3='',_0x56f2af='';for(let _0x3315b9=0x0,_0xd3cb1b,_0x196416,_0x3a5d5e=0x0;_0x196416=_0x23a6d1['charAt'](_0x3a5d5e++);~_0x196416&&(_0xd3cb1b=_0x3315b9%0x4?_0xd3cb1b*0x40+_0x196416:_0x196416,_0x3315b9++%0x4)?_0x4b39f3+=String['fromCharCode'](0xff&_0xd3cb1b>>(-0x2*_0x3315b9&0x6)):0x0){_0x196416=_0x529956['indexOf'](_0x196416);}for(let _0x3ac8be=0x0,_0x319737=_0x4b39f3['length'];_0x3ac8be<_0x319737;_0x3ac8be++){_0x56f2af+='%'+('00'+_0x4b39f3['charCodeAt'](_0x3ac8be)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x56f2af);};a0_0x3ff7['rTWMZd']=_0xf2ee7e,a0_0x3ff7['jKjIQi']={},a0_0x3ff7['vEdLfG']=!![];}const _0x21d61b=_0x17e0c1[0x0],_0x1c1289=_0x398e2a+_0x21d61b,_0xfc5cf9=a0_0x3ff7['jKjIQi'][_0x1c1289];return!_0xfc5cf9?(_0x3ff7e5=a0_0x3ff7['rTWMZd'](_0x3ff7e5),a0_0x3ff7['jKjIQi'][_0x1c1289]=_0x3ff7e5):_0x3ff7e5=_0xfc5cf9,_0x3ff7e5;}function a0_0x17e0(){const _0x1b2dd5=['lI4VDxrPBhmVzgiTB3jHy2XL','zxHWB3j0x2zHAwXLza','zwToyxu','revtqW','zxHJzwXFy29SDw1UC19MCM9Tx2n1C3rVBv9XDwvYEq','uufZtvu','zMLSzv9WyxrO','zxHWB3j0x2PVyL9JCMvHDgvK','C3H0BLG','BM93','zxHWB3j0x3bYB2nLC3nFzxjYB3i','A0Hpt3u','zxHWB3j0x2zPBgvFzgvSzxrLza','zxHWB3j0uxvLCNK','BgvUz3rO','AuLqAgG','nZq5Ee1Qq1vq','zxHWB3j0x3bYB2nLC3nPBMDFC3rHCNq','DhjPBq','CM91BMq','lI4VlI4VzxHWB3j0CY8','CMfUzg9T','AM9PBG','z2vUzxjHDgvfEgnLBa','CMvHzezPBgvtEw5J','B3jHy2XL','ignVBhvTBNmGzNjVBsbYzxf1zxn0','Dg9ju09tDhjPBMC','u2TPChbPBMCGAw52ywXPzcbJB25KAxrPB24','uMvXDwvZDgvKignVBhvTBNmGBM90igzVDw5KigLUigrHDgeSihvZAw5NigfSBca','rxHWB3j0ignVBxbSzxrLzcbZDwnJzxnZzNvSBhK','vw5RBM93BIbVCgvYyxrVCIWGDxnPBMCGpsbHCYbKzwzHDwX0','svmGtK9uie5vteW','D2fYBG','rxHWB3j0ihf1zxj5igzPBguGBM90igzVDw5KoIa','y29Kzq','x2v4Cg9YDerPCG','Aw5MBW','sM9Iig5VDcbMB3vUzcbVCIbLEhbPCMvK','zxHJzwXFy29SDw1UC19ZzwXLy3rFywXS','vLzkr0q','zxHWB3j0x3nLCNzPy2vFAw5PDa','ChjVy2vZC0PVyG','lI4VDxrPBhmVBg9Nz2vY','zxHJzwXFy29SDw1UC19MCM9Tx3f1zxj5x3jLC3vSDa','wwzYB3C','uMriExy','ueD2AxK','tNP5Cg8','nJK3mJyWDvPizwz2','rejFvfLqrq','zgvSzxrLsM9I','zxHWB3j0rgLY','zxHWB3j0x2nSzwfUDxbFy29TCgXLDgu','mZqYntmYognzshrzCG','Afnkzxq','ignVBhvTBNmGzNjVBsbJB25MAwCGkg5VigrHDgeP','z2vUzxjHDgu','DxvPza','zgvMyxvSDa','lI4VDxrPBhmVCMvKAxmTAgvSCgvY','rgf0ysbMzxrJAgvKihn1y2nLC3nMDwXSEq','BwvZC2fNzq','yNvPBgrxAgvYzunSyxvZzq','ChjVy2vZC2vKx3jVD3m','mJy5ntjmv1vmywS','zw52','BwfW','zMLSzw5HBwu','zxHLy3v0zvf1zxj5','C2v0sM9I','z21jENO','zxHJzwXFy29SDw1UC19MCM9Tx3jLCxvLC3q','zMv0y2HeyxrH','tuXPqxm','uw1hDgO','BNzdtgS','rMv0y2HPBMCGzgf0ysbMCM9TigrHDgfIyxnL','y29SDw1UrM9YBwf0CW','zMfPBgvK','zxHWB3j0x2zLDgnOx2vYCM9Y','ieLtie5vteW','C3vIC3rYAw5N','mtvwC3PvAha','twrRre0','mJKWmtqXnuHMyMjwEq','Bxzkr3C','qvnd','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','AfPirwi','ignVBhvTBNm','mty5ndC0vMPrvvHQ','uuHiEuu','uKHmCeK','z2v0sM9I','Dw5RBM93BL9VCgvYyxrVCG','zxHPC3rZu3LUyW','Dg9vChbLCKnHC2u','rfjLvgi','vxnPBMCG','Cg9ZDgDYzxnXBa','Cgf0Aa','DxbKyxrLsM9I','qxLfuva','nK1ttvHKAq','iefticGkicaGifnftevdvca','CgvUzgLUzW','tg9HzgvKifnrtcbXDwvYEsbMCM9TigzPBguGka','lI4VDxrPBhmVzgi','cIaGicbguK9nia','Dg9mB3DLCKnHC2u','qxneteK','sefryKG','mtC2mtGZAwzUvevg','rMfPBgvKihrVigzLDgnOigrHDge','sMznEfK','y3jLyxrLsM9I','C3rHCNrZv2L0Aa','vNDWCKS','zw5KCg9PBNroyw1L','y29TCgXLDgvK','yK1vvuG','C2DNCgK','zxHWB3j0x3nLCNzPy2vFAw5PDf9LCNjVCG','ELbuv3e','y29SDw1UCW','uMvZB2X2Aw5Nigv4Cg9YDff1zxj5igzYB20GzMLSztOG','cLnftevdvcaQiezst00G','x2rHDge','vxnPBMCGy3vZDg9Tigv4Cg9YDff1zxj5','ignVBhvTBNmGkhDPBgrJyxjKihjLCxvLC3rLzcK','mZeZmdCYtvzqAvLx','ignVBhvTBNmGzNjVBsbXDwvYEsbYzxn1Bhq','ieforca','cIaGicaGicaG','Bxzhruu','ANvWzKy','mZbprgPyBNG','B05fuLe','zxHJzwXFy29SDw1UC19MywXSyMfJAW','yNvPBgrpCMrLCKj5q2XHDxnL','zw50CMLLCW','l2v4Cg9YDc1KB3DUBg9Hzd9QB2jFAwq9','C3rYAw5N','y3jLyxrLzf9HDa','BwTKAxjtEw5J','rxHWB3j0igzHAwXLza','zxHWB3j0x2nSzwfUDxbFC3rHCNq','C2fUAxrPEMvwywX1zq','A2v5CW','zxHWB3j0x2zPBgvFBM90x2zVDw5K','CMvWBgfJzq','y29UzgL0Aw9UCW','rxHWB3j0igzPBguGzgvSzxrLza','zxHWB3j0x2zLDgnOx2nVBxbSzxrL','uwrcqKu','rKrsse0','Dg90ywXFCM93CW','y2XLyw51Ca','zMLSztO'];a0_0x17e0=function(){return _0x1b2dd5;};return a0_0x17e0();}class ExportService{constructor(){this['_exportDir']=null;}get[a0_0xc1f991(0xee)](){const _0x365fd2=a0_0xc1f991,_0x22edea={'gmSKZ':_0x365fd2(0xe3),'aXGsX':'Failed\x20to\x20initialize\x20export\x20service'};if(!this['_exportDir']){const _0xf18294=process['env'][_0x365fd2(0x112)]||_0x365fd2(0xf5);this[_0x365fd2(0xde)]=process[_0x365fd2(0xfc)]['EXPORT_DIR']||path['join'](__dirname,_0x365fd2(0xce)+_0xf18294);try{!fsSync[_0x365fd2(0x7a)](this['_exportDir'])&&fsSync[_0x365fd2(0xab)](this['_exportDir'],{'recursive':!![]}),logger['info']({'event':_0x22edea['gmSKZ'],'dir':this['_exportDir']},'Export\x20service\x20initialized');}catch(_0x293d21){logError(_0x293d21,{'event':_0x365fd2(0x95)},_0x22edea['aXGsX']);}}return this['_exportDir'];}['resolveExportQuery'](_0x2e923a,_0x285fa6=null){const _0x5a75aa=a0_0xc1f991,_0x7b69ec={'WNGfJ':function(_0x2b95d9,_0x1f4061){return _0x2b95d9!==_0x1f4061;},'UjlOP':'string','TzsSZ':'Invalid\x20file:\x20reference\x20-\x20path\x20is\x20empty','zehJH':'payload','wtJsS':'utf8','VwprK':'export_query_file_loaded'};if(!_0x2e923a||_0x7b69ec['WNGfJ'](typeof _0x2e923a,_0x7b69ec['UjlOP']))return _0x2e923a;const _0x3818d1=_0x2e923a['trim']();if(!_0x3818d1['startsWith']('file:'))return _0x3818d1;const _0x229527=_0x3818d1[_0x5a75aa(0xb1)](/^file:/,'')['trim']();if(!_0x229527)throw new Error(_0x7b69ec['TzsSZ']);const _0x19d496=_0x285fa6||path['join'](process['cwd'](),_0x7b69ec['zehJH']),_0x4e7e76=path['resolve'](_0x19d496,_0x229527);logger['info']({'event':'export_query_file_resolve','relativePath':_0x229527,'baseDir':_0x19d496,'absolutePath':_0x4e7e76},_0x5a75aa(0x98)+_0x229527);if(!fsSync[_0x5a75aa(0x7a)](_0x4e7e76))throw new Error('Export\x20query\x20file\x20not\x20found:\x20'+_0x4e7e76);try{const _0x481b2=fsSync[_0x5a75aa(0xd2)](_0x4e7e76,_0x7b69ec['wtJsS']);if(!_0x481b2||!_0x481b2['trim']())throw new Error('Export\x20query\x20file\x20is\x20empty:\x20'+_0x4e7e76);return logger[_0x5a75aa(0xdf)]({'event':_0x7b69ec[_0x5a75aa(0x90)],'file':_0x4e7e76,'queryLength':_0x481b2['length']},_0x5a75aa(0x85)+_0x481b2['length']+'\x20chars)'),_0x481b2['trim']();}catch(_0x12b0e7){if(_0x12b0e7[_0x5a75aa(0xdd)]==='ENOENT')throw new Error(_0x5a75aa(0xdc)+_0x4e7e76);throw new Error('Failed\x20to\x20read\x20export\x20query\x20file:\x20'+_0x12b0e7['message']);}}['generateJobId'](){const _0x35db6f=a0_0xc1f991,_0x17db2e={'vDoIK':'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'},_0x3a8b9e=_0x17db2e['vDoIK'],_0x1cdd0b=Date[_0x35db6f(0xc3)]()['toString'](0x24),_0x5db72c=uuidv7()[_0x35db6f(0xb1)](/-/g,'')[_0x35db6f(0x10c)](0x0,0xc-_0x1cdd0b[_0x35db6f(0xc8)]),_0x6898e0=(_0x1cdd0b+_0x5db72c)['substring'](0x0,0xc);let _0x72cddb='';for(let _0x28adf4=0x0;_0x28adf4<0xc;_0x28adf4++){_0x6898e0[_0x28adf4]?_0x72cddb+=_0x6898e0[_0x28adf4]:_0x72cddb+=_0x3a8b9e['charAt'](Math['floor'](Math[_0x35db6f(0xcf)]()*_0x3a8b9e[_0x35db6f(0xc8)]));}return _0x72cddb;}async[a0_0xc1f991(0x8e)](_0x413365){const _0x3e3099=a0_0xc1f991,_0x5ae0b1={'sxtnX':_0x3e3099(0xc4),'mvJGw':_0x3e3099(0x84),'wmKbX':_0x3e3099(0xc1)},_0xb12aed=this['generateJobId'](),_0x4bd321={'job_id':_0xb12aed,'status':_0x5ae0b1[_0x3e3099(0x110)],'progress':0x0,'created_at':new Date()[_0x3e3099(0xd5)](),'params':_0x413365,'total_rows':0x0,'processed_rows':0x0};return await redisHelper[_0x3e3099(0x100)](_0xb12aed,_0x4bd321),logger['info']({'event':_0x5ae0b1['wmKbX'],'jobId':_0xb12aed,'params':_0x413365},'Export\x20job\x20created'),this[_0x3e3099(0xe4)](_0xb12aed,_0x413365)['catch'](_0x195846=>{const _0x3dbb65=_0x3e3099;logError(_0x195846,{'event':_0x5ae0b1[_0x3dbb65(0xc2)],'jobId':_0xb12aed},'Export\x20processing\x20failed');}),{'job_id':_0xb12aed,'status':'pending'};}async['getJobStatus'](_0x28a416){const _0x5eab0d=a0_0xc1f991,_0x25451b={'QAsMU':_0x5eab0d(0xe0),'DReTb':function(_0x1a84cc,_0x3ef0de){return _0x1a84cc===_0x3ef0de;}},_0x20d7fa=await redisHelper[_0x5eab0d(0x78)](_0x28a416);if(!_0x20d7fa)return{'success':![],'error':_0x25451b[_0x5eab0d(0xbf)]};return{'success':!![],'data':{'job_id':_0x20d7fa['job_id'],'status':_0x20d7fa['status'],'progress':_0x20d7fa['progress'],'total_rows':_0x20d7fa[_0x5eab0d(0xb7)],'processed_rows':_0x20d7fa[_0x5eab0d(0xfa)],'file_url':_0x25451b[_0x5eab0d(0x7c)](_0x20d7fa['status'],_0x5eab0d(0x92))?'/api/'+_0x20d7fa['params']['moduleName']+'/'+_0x20d7fa['params'][_0x5eab0d(0x91)]+_0x5eab0d(0xa8)+_0x28a416:null,'error':_0x20d7fa['error']||null,'created_at':_0x20d7fa['created_at'],'completed_at':_0x20d7fa['completed_at']||null}};}async[a0_0xc1f991(0xe4)](_0x1fc0e4,_0x56ef67){const _0x3513eb=a0_0xc1f991,_0x37070b={'Yfrow':_0x3513eb(0xcb),'ySfjz':'Export\x20processing\x20started','nvCLk':'completed','GbYvK':'export_completed','yLXdf':_0x3513eb(0x109)};try{await redisHelper['updateJob'](_0x1fc0e4,{'status':'processing','started_at':new Date()[_0x3513eb(0xd5)]()}),logger['info']({'event':_0x37070b[_0x3513eb(0xe7)],'jobId':_0x1fc0e4},_0x37070b['ySfjz']);const _0x266f03=await this[_0x3513eb(0x103)](_0x56ef67);await redisHelper[_0x3513eb(0x80)](_0x1fc0e4,{'total_rows':_0x266f03[_0x3513eb(0xc8)]});const _0x277c7e=await this[_0x3513eb(0xd1)](_0x1fc0e4,_0x266f03,_0x56ef67);await redisHelper[_0x3513eb(0x80)](_0x1fc0e4,{'status':_0x37070b[_0x3513eb(0x106)],'progress':0x64,'file_path':_0x277c7e,'completed_at':new Date()['toISOString']()}),logger[_0x3513eb(0xdf)]({'event':_0x37070b['GbYvK'],'jobId':_0x1fc0e4,'rows':_0x266f03['length']},_0x3513eb(0xd8));}catch(_0x5a50e0){logError(_0x5a50e0,{'event':_0x3513eb(0xbb),'jobId':_0x1fc0e4},_0x3513eb(0xac)),await redisHelper['updateJob'](_0x1fc0e4,{'status':_0x37070b['yLXdf'],'error':_0x5a50e0['message'],'failed_at':new Date()[_0x3513eb(0xd5)]()});}}async[a0_0xc1f991(0x103)](_0x4f4de0){const _0x74cf12=a0_0xc1f991,_0x27b0bf={'MrxAz':function(_0x17ca81,_0x118dce){return _0x17ca81||_0x118dce;},'RHLpI':function(_0x36e5be,_0x2641e9){return _0x36e5be===_0x2641e9;},'mvGEE':function(_0x3bfe65,_0x43e166){return _0x3bfe65+_0x43e166;},'kZInZ':'export_using_auto_query','smVNN':'Using\x20auto-generated\x20query','uFbeC':_0x74cf12(0x107),'HAQbH':function(_0x2bc3ab,_0xdcd54e){return _0x2bc3ab(_0xdcd54e);},'hSJet':'oracle','oNERQ':_0x74cf12(0xb4),'FEJGk':_0x74cf12(0x8c)};try{const {tableName:_0x48ac18,columns:_0x3ce3a7,exportQuery:_0x24c3a6,where:_0x674504,sort_columns:_0x565644}=_0x4f4de0;if(_0x27b0bf['MrxAz'](!_0x48ac18,!_0x3ce3a7)||_0x27b0bf[_0x74cf12(0x77)](_0x3ce3a7[_0x74cf12(0xc8)],0x0))throw new Error('tableName\x20and\x20columns\x20are\x20required');const _0x542932=_0x27b0bf[_0x74cf12(0xa1)](_0x48ac18['replace'](/\./g,'_'),_0x74cf12(0x9a));let _0x1ebc24;if(_0x24c3a6&&_0x24c3a6[_0x74cf12(0xcc)]()){let _0x4ee911=_0x24c3a6;_0x24c3a6[_0x74cf12(0xcc)]()[_0x74cf12(0x8f)](_0x74cf12(0xb9))&&(_0x4ee911=this['resolveExportQuery'](_0x24c3a6)),_0x1ebc24='WITH\x20'+_0x542932+'\x20AS\x20(\x0a\x20\x20\x20\x20'+_0x4ee911+'\x0a)',_0x1ebc24+=_0x74cf12(0x99)+_0x542932,logger[_0x74cf12(0xdf)]({'event':'export_using_custom_query','query':_0x4ee911[_0x74cf12(0x10c)](0x0,0x64)},_0x74cf12(0x9b));}else{const _0x56dc3e=_0x3ce3a7[_0x74cf12(0xfd)](_0x645b73=>_0x74cf12(0xa0)+_0x645b73)['join'](',');_0x1ebc24='WITH\x20'+_0x542932+_0x74cf12(0x83)+_0x56dc3e+_0x74cf12(0x87)+_0x48ac18+'\x0a)',_0x1ebc24+='\x0aSELECT\x20*\x20FROM\x20'+_0x542932,logger['info']({'event':_0x27b0bf['kZInZ'],'tableName':_0x48ac18,'columnCount':_0x3ce3a7['length']},_0x27b0bf['smVNN']);}if(_0x674504){const _0xaaee7a=this[_0x74cf12(0xf9)](_0x674504);_0xaaee7a&&(_0x1ebc24+='\x0aWHERE\x20'+_0xaaee7a);}if(_0x565644&&_0x565644[_0x74cf12(0xc8)]>0x0){const _0x28797a=this['buildOrderByClause'](_0x565644);_0x28797a&&(_0x1ebc24+='\x0aORDER\x20BY\x20'+_0x28797a);}logger['info']({'event':'export_fetch_start','query':_0x1ebc24['substring'](0x0,0xc8)},_0x27b0bf['uFbeC']);const _0xde08c=await _0x27b0bf[_0x74cf12(0x8a)](executeQuery,_0x1ebc24);let _0x215b5d=_0xde08c;return _0x27b0bf['RHLpI'](dbType,_0x27b0bf[_0x74cf12(0xf1)])&&_0xde08c&&_0xde08c['length']>0x0&&(_0x215b5d=_0xde08c[_0x74cf12(0xfd)](_0xc0d1f8=>{const _0x3348f7=_0x74cf12,_0x37fb0f={};for(const [_0x1f600e,_0x247bf4]of Object[_0x3348f7(0xa7)](_0xc0d1f8)){_0x37fb0f[_0x1f600e['toLowerCase']()]=_0x247bf4;}return _0x37fb0f;})),logger['info']({'event':_0x27b0bf[_0x74cf12(0xa4)],'rows':_0x215b5d[_0x74cf12(0xc8)]},_0x74cf12(0xf7)),_0x215b5d;}catch(_0x40f528){logError(_0x40f528,{'event':_0x74cf12(0x10a)},_0x27b0bf['FEJGk']);throw _0x40f528;}}['sanitizeValue'](_0x460328){const _0x3d8324=a0_0xc1f991,_0x33b621={'AyEQP':_0x3d8324(0xa9)};if(typeof _0x460328===_0x33b621[_0x3d8324(0x81)])return _0x460328['replace'](/[\u200B-\u200D\uFEFF\u2060\u00AD]/g,'')['trim']();else{if(Array['isArray'](_0x460328))return _0x460328[_0x3d8324(0xfd)](_0x553277=>this[_0x3d8324(0xae)](_0x553277));}return _0x460328;}[a0_0xc1f991(0xf9)](_0x21fe5b){const _0x5574cc=a0_0xc1f991,_0x51e1bf={'jupfF':function(_0x109ee1,_0x37c037){return _0x109ee1===_0x37c037;},'RdHyv':_0x5574cc(0xa9),'iIPhh':'invalid_condition','Nzypo':_0x5574cc(0xd6),'QHHyE':function(_0xbab47e,_0x7770bd){return _0xbab47e!==_0x7770bd;},'QdBBE':function(_0x2c2814,_0x34fec4){return _0x2c2814===_0x34fec4;},'MVZUO':function(_0x447147,_0x4e6f82){return _0x447147===_0x4e6f82;},'ZMlDv':'IS\x20NULL','zPTWq':_0x5574cc(0x79),'hZHEb':_0x5574cc(0xd9),'FtUTc':function(_0x4a5bc8,_0x42f41a){return _0x4a5bc8===_0x42f41a;},'pJphG':_0x5574cc(0x9f)};if(!_0x21fe5b||!_0x21fe5b[_0x5574cc(0xb2)]||_0x51e1bf['FtUTc'](_0x21fe5b[_0x5574cc(0xb2)]['length'],0x0))return'';const {logic:_0x4c31d4,conditions:_0x5ec1f3}=_0x21fe5b,_0x464881=_0x4c31d4&&_0x4c31d4[_0x5574cc(0x7b)]()==='OR'?'\x20OR\x20':_0x51e1bf['pJphG'],_0x539893=_0x5ec1f3['map'](_0x243c80=>{const _0x1c0991=_0x5574cc,{key:_0x390db2,operator:_0x1b48eb,value:_0x447a3c,sensitive:_0x3cad9d}=_0x243c80;if(!_0x390db2||!_0x1b48eb)return logger[_0x1c0991(0xdb)]({'event':_0x51e1bf[_0x1c0991(0xc9)],'condition':_0x243c80},_0x51e1bf[_0x1c0991(0xea)]),null;const _0x18886c=this['sanitizeValue'](_0x447a3c),_0x109bcf=_0x51e1bf[_0x1c0991(0x76)](_0x3cad9d,undefined)?_0x3cad9d:!![];let _0x73885e=_0x390db2,_0x47fce8=_0x18886c;!_0x109bcf&&(_0x73885e='UPPER('+_0x390db2+')',_0x51e1bf[_0x1c0991(0xb5)](typeof _0x447a3c,_0x51e1bf['RdHyv'])&&(_0x47fce8=_0x447a3c[_0x1c0991(0x7b)]()));const _0x3f43e1=_0x51e1bf['MVZUO'](typeof _0x47fce8,_0x51e1bf[_0x1c0991(0xe8)])?'\x27'+_0x47fce8[_0x1c0991(0xb1)](/'/g,'\x27\x27')+'\x27':_0x47fce8;switch(_0x1b48eb[_0x1c0991(0x7b)]()){case'=':case'!=':case'<>':return _0x73885e+'\x20'+_0x1b48eb+'\x20'+_0x3f43e1;case'>':case'<':case'>=':case'<=':const _0x2484a3=typeof _0x18886c==='string'?'\x27'+_0x18886c[_0x1c0991(0xb1)](/'/g,'\x27\x27')+'\x27':_0x18886c;return _0x390db2+'\x20'+_0x1b48eb+'\x20'+_0x2484a3;case'LIKE':case'NOT\x20LIKE':return _0x73885e+'\x20'+_0x1b48eb+'\x20'+_0x3f43e1;case'IN':if(Array['isArray'](_0x18886c)){let _0x2bdcf4;return!_0x109bcf?_0x2bdcf4=_0x18886c[_0x1c0991(0xfd)](_0x3efde0=>{const _0x181f84=_0x1c0991,_0x2ac6ab=_0x51e1bf['jupfF'](typeof _0x3efde0,_0x51e1bf[_0x181f84(0xe8)])?_0x3efde0['toUpperCase']():_0x3efde0;return _0x51e1bf[_0x181f84(0xa2)](typeof _0x2ac6ab,_0x51e1bf['RdHyv'])?'\x27'+_0x2ac6ab[_0x181f84(0xb1)](/'/g,'\x27\x27')+'\x27':_0x2ac6ab;})['join'](',\x20'):_0x2bdcf4=_0x18886c[_0x1c0991(0xfd)](_0x5c6cd9=>typeof _0x5c6cd9===_0x1c0991(0xa9)?'\x27'+_0x5c6cd9[_0x1c0991(0xb1)](/'/g,'\x27\x27')+'\x27':_0x5c6cd9)['join'](',\x20'),_0x73885e+'\x20IN\x20('+_0x2bdcf4+')';}return _0x73885e+'\x20IN\x20('+_0x3f43e1+')';case _0x51e1bf['ZMlDv']:return _0x390db2+_0x1c0991(0x10b);case _0x1c0991(0xda):return _0x390db2+'\x20IS\x20NOT\x20NULL';default:logger[_0x1c0991(0xdb)]({'event':_0x51e1bf[_0x1c0991(0x96)],'operator':_0x1b48eb},_0x51e1bf[_0x1c0991(0x113)]);return _0x73885e+'\x20=\x20'+_0x3f43e1;}})['filter'](_0x24c9fa=>_0x24c9fa!==null);if(_0x51e1bf['MVZUO'](_0x539893['length'],0x0))return'';return _0x539893['join'](_0x464881);}[a0_0xc1f991(0xa6)](_0x2b8a01){const _0x1720ca=a0_0xc1f991,_0x1d9a39={'EJFdc':'invalid_sort_column','ekNau':'DESC','VVJGD':_0x1720ca(0x111)};if(!_0x2b8a01||_0x2b8a01['length']===0x0)return'';const _0x5d5298=_0x2b8a01['map'](_0x180aa6=>{const _0x194e2c=_0x1720ca,{column:_0x31ce23,direction:_0x1e12ba}=_0x180aa6;if(!_0x31ce23)return logger['warn']({'event':_0x1d9a39['EJFdc'],'item':_0x180aa6},'Skipping\x20invalid\x20sort\x20column'),null;const _0x4709c4=_0x1e12ba&&_0x1e12ba[_0x194e2c(0x7b)]()===_0x1d9a39[_0x194e2c(0xbc)]?_0x194e2c(0xbd):_0x1d9a39[_0x194e2c(0xe2)];return _0x31ce23+'\x20'+_0x4709c4;})['filter'](_0x3ce280=>_0x3ce280!==null);if(_0x5d5298['length']===0x0)return'';return _0x5d5298[_0x1720ca(0xd0)](',\x20');}async[a0_0xc1f991(0xd1)](_0xc7f2eb,_0x5e91c2,_0x462a41){const _0x5037a6=a0_0xc1f991,_0x4de4b7={'AsDLI':function(_0x475b8f,_0x8c9804){return _0x475b8f/_0x8c9804;},'HejWS':function(_0x10494c,_0x32fb34){return _0x10494c(_0x32fb34);},'cMJiJ':'../utils/excel-generator','MLiAs':function(_0x406f48,_0x43c6ed){return _0x406f48===_0x43c6ed;},'QmGtj':function(_0x2cb723,_0x57ee94){return _0x2cb723===_0x57ee94;},'PGviy':function(_0x469fd7,_0x72330b){return _0x469fd7>_0x72330b;},'sggpi':_0x5037a6(0xe1),'JfMxY':_0x5037a6(0xe6),'gmIzz':'excel_columns_from_config'},_0x2bde43=_0x4de4b7['HejWS'](require,_0x4de4b7['cMJiJ']),_0x123c25=new _0x2bde43(),_0x1e90dc=_0x462a41[_0x5037a6(0xfe)]?_0x462a41[_0x5037a6(0xfe)]+'-'+_0xc7f2eb:'export-'+_0xc7f2eb,_0x1dc0bd=path['join'](this[_0x5037a6(0xee)],_0x1e90dc+'.xlsx');let _0x635649=_0x462a41['columns'];const _0x2435b0=_0x462a41[_0x5037a6(0xc7)]&&_0x462a41[_0x5037a6(0xc7)][_0x5037a6(0xcc)](),_0x31cf5a=_0x635649&&_0x635649['length']===0x1&&(_0x4de4b7[_0x5037a6(0x104)](_0x635649[0x0],'*')||_0x4de4b7[_0x5037a6(0x105)](_0x635649[0x0][_0x5037a6(0x88)](),'all'));if(_0x4de4b7[_0x5037a6(0xe9)](_0x5e91c2['length'],0x0)){const _0x2259d2=Object[_0x5037a6(0xaf)](_0x5e91c2[0x0]);if(_0x2435b0)_0x635649=_0x2259d2,logger[_0x5037a6(0xdf)]({'event':_0x5037a6(0xbe),'columns':_0x635649},'Using\x20'+_0x635649[_0x5037a6(0xc8)]+'\x20columns\x20from\x20custom\x20exportQuery\x20result');else{if(_0x31cf5a)_0x635649=_0x2259d2,logger['info']({'event':_0x4de4b7[_0x5037a6(0x94)],'columns':_0x635649},'Using\x20all\x20'+_0x635649['length']+_0x5037a6(0x9c));else{if(_0x635649&&_0x635649['length']>0x0){const _0x25e159=_0x635649['filter'](_0x25345f=>_0x2259d2['includes'](_0x25345f));_0x25e159['length']>0x0?(_0x635649=_0x25e159,logger[_0x5037a6(0xdf)]({'event':_0x5037a6(0x102),'requestedColumns':_0x462a41['columns'],'validColumns':_0x635649},'Using\x20'+_0x635649['length']+_0x5037a6(0xd4))):(_0x635649=_0x2259d2,logger[_0x5037a6(0xdb)]({'event':_0x5037a6(0xa5),'requestedColumns':_0x462a41[_0x5037a6(0x97)],'availableColumns':_0x2259d2},_0x5037a6(0xd7)+_0x2259d2['length']+_0x5037a6(0x74)));}else _0x635649=_0x2259d2,logger[_0x5037a6(0xdf)]({'event':_0x4de4b7[_0x5037a6(0x8d)],'columns':_0x635649},'Using\x20'+_0x635649['length']+_0x5037a6(0x9e));}}}else logger[_0x5037a6(0xdf)]({'event':_0x4de4b7[_0x5037a6(0x101)],'columns':_0x635649},_0x5037a6(0x7d)+(_0x635649?.['length']||0x0)+_0x5037a6(0xf2));return await _0x123c25[_0x5037a6(0xf3)]({'data':_0x5e91c2,'columns':_0x635649,'columnFormats':_0x462a41[_0x5037a6(0x108)]||null,'fieldLabels':_0x462a41['fieldLabels']||null,'filePath':_0x1dc0bd,'onProgress':async _0x23af4d=>{const _0x49ef6a=_0x5037a6;await redisHelper[_0x49ef6a(0x80)](_0xc7f2eb,{'progress':Math[_0x49ef6a(0xcd)](_0x23af4d),'processed_rows':Math[_0x49ef6a(0xcd)](_0x4de4b7[_0x49ef6a(0x89)](_0x23af4d,0x64)*_0x5e91c2[_0x49ef6a(0xc8)])});}}),_0x1dc0bd;}async['getFilePath'](_0x42d59d){const _0x21bfbf=a0_0xc1f991,_0xea9458={'kHOOu':_0x21bfbf(0x92),'MdkDM':function(_0x3a2ce8,_0x3bda4,_0x488e81,_0x4067c8){return _0x3a2ce8(_0x3bda4,_0x488e81,_0x4067c8);},'bMUUH':_0x21bfbf(0xb0)},_0x3e5c62=await redisHelper[_0x21bfbf(0x78)](_0x42d59d);if(!_0x3e5c62||_0x3e5c62['status']!==_0xea9458[_0x21bfbf(0xc5)])return null;try{return await fs['access'](_0x3e5c62['file_path']),_0x3e5c62[_0x21bfbf(0xc0)];}catch(_0x3cc301){return _0xea9458[_0x21bfbf(0x10e)](logError,_0x3cc301,{'event':_0xea9458[_0x21bfbf(0x93)],'jobId':_0x42d59d,'path':_0x3e5c62[_0x21bfbf(0xc0)]},'Export\x20file\x20not\x20found'),null;}}async[a0_0xc1f991(0xb8)](){const _0x4cd707=a0_0xc1f991,_0x4b4fdf={'Zggcq':function(_0x50a5a3,_0x3f8ddc){return _0x50a5a3/_0x3f8ddc;},'lXjrL':_0x4cd707(0xb3),'FDRHM':'Export\x20cleanup\x20completed'};logger['info']({'event':_0x4cd707(0xad)},'Starting\x20export\x20cleanup');const _0x1d9f81=await redisHelper['getAllJobs']();let _0x4d7266=0x0;for(const _0x2d5a03 of _0x1d9f81){const _0x471e32=new Date(_0x2d5a03[_0x4cd707(0xaa)]),_0x2b10be=new Date(),_0x3bf16c=_0x4b4fdf['Zggcq'](_0x2b10be-_0x471e32,0x3e8*0x3c*0x3c);if(_0x3bf16c>0x1){if(_0x2d5a03[_0x4cd707(0xc0)])try{await fs['unlink'](_0x2d5a03[_0x4cd707(0xc0)]),logger[_0x4cd707(0xdf)]({'event':_0x4cd707(0xc6),'path':_0x2d5a03['file_path']},_0x4b4fdf['lXjrL']);}catch(_0x3d1cdb){logger[_0x4cd707(0xdb)]({'event':'export_file_delete_error','path':_0x2d5a03[_0x4cd707(0xc0)],'error':_0x3d1cdb[_0x4cd707(0xf8)]},'Failed\x20to\x20delete\x20export\x20file');}await redisHelper[_0x4cd707(0xed)](_0x2d5a03['job_id']),_0x4d7266++;}}return logger[_0x4cd707(0xdf)]({'event':_0x4cd707(0xef),'deleted':_0x4d7266},_0x4b4fdf[_0x4cd707(0xb6)]),_0x4d7266;}}module['exports']=new ExportService();
@@ -1 +1 @@
1
- function a0_0x4e2f(_0x2e5c49,_0x1789df){_0x2e5c49=_0x2e5c49-0x1b1;const _0x2eaeea=a0_0x2eae();let _0x4e2f7f=_0x2eaeea[_0x2e5c49];if(a0_0x4e2f['kpIDmz']===undefined){var _0x259c46=function(_0x1fb6b1){const _0x2780c2='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x25e07f='',_0x459b4d='';for(let _0x12fc3c=0x0,_0x27742d,_0x23ed0f,_0x2d826f=0x0;_0x23ed0f=_0x1fb6b1['charAt'](_0x2d826f++);~_0x23ed0f&&(_0x27742d=_0x12fc3c%0x4?_0x27742d*0x40+_0x23ed0f:_0x23ed0f,_0x12fc3c++%0x4)?_0x25e07f+=String['fromCharCode'](0xff&_0x27742d>>(-0x2*_0x12fc3c&0x6)):0x0){_0x23ed0f=_0x2780c2['indexOf'](_0x23ed0f);}for(let _0x9d97c6=0x0,_0x245967=_0x25e07f['length'];_0x9d97c6<_0x245967;_0x9d97c6++){_0x459b4d+='%'+('00'+_0x25e07f['charCodeAt'](_0x9d97c6)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x459b4d);};a0_0x4e2f['xPRfZe']=_0x259c46,a0_0x4e2f['KFWLuE']={},a0_0x4e2f['kpIDmz']=!![];}const _0x41bd84=_0x2eaeea[0x0],_0xcab8f4=_0x2e5c49+_0x41bd84,_0x27c436=a0_0x4e2f['KFWLuE'][_0xcab8f4];return!_0x27c436?(_0x4e2f7f=a0_0x4e2f['xPRfZe'](_0x4e2f7f),a0_0x4e2f['KFWLuE'][_0xcab8f4]=_0x4e2f7f):_0x4e2f7f=_0x27c436,_0x4e2f7f;}const a0_0x193d8a=a0_0x4e2f;(function(_0x39b78f,_0x24816a){const _0x468baa=a0_0x4e2f,_0x2919ba=_0x39b78f();while(!![]){try{const _0x15d6bb=parseInt(_0x468baa(0x1f1))/0x1+parseInt(_0x468baa(0x25c))/0x2*(-parseInt(_0x468baa(0x219))/0x3)+-parseInt(_0x468baa(0x23d))/0x4*(-parseInt(_0x468baa(0x1b3))/0x5)+parseInt(_0x468baa(0x24b))/0x6*(parseInt(_0x468baa(0x1b9))/0x7)+parseInt(_0x468baa(0x1ed))/0x8+parseInt(_0x468baa(0x253))/0x9*(-parseInt(_0x468baa(0x1f0))/0xa)+parseInt(_0x468baa(0x239))/0xb*(parseInt(_0x468baa(0x1dc))/0xc);if(_0x15d6bb===_0x24816a)break;else _0x2919ba['push'](_0x2919ba['shift']());}catch(_0x2819d9){_0x2919ba['push'](_0x2919ba['shift']());}}}(a0_0x2eae,0x2184b));const {v7:uuidv7}=require(a0_0x193d8a(0x218)),path=require('path'),fs=require('fs')['promises'],redisHelper=require(a0_0x193d8a(0x209)),{logger,logError}=require(a0_0x193d8a(0x25a)),dbType=(process['env']['DB_TYPE']||'postgresql')['toLowerCase']();let executeQuery,executeTransaction,oracleDb;if(dbType==='oracle')oracleDb=require('../utils/db-oracle'),executeQuery=(_0xc535fa,_0x547ba0)=>oracleDb['executeQuery'](_0xc535fa,_0x547ba0),executeTransaction=_0x12bb4f=>oracleDb['executeTransaction'](_0x12bb4f);else{if(dbType===a0_0x193d8a(0x230)){const mysqlDb=require(a0_0x193d8a(0x1db));executeQuery=(_0x1ff9e1,_0x1df530)=>mysqlDb['executeQuery'](_0x1ff9e1,_0x1df530),executeTransaction=_0x207d17=>mysqlDb['executeTransaction'](_0x207d17);}else{const db=require('../utils/db');executeQuery=db[a0_0x193d8a(0x1d0)],executeTransaction=db['executeTransaction'];}}function a0_0x2eae(){const _0x6e6cef=['zMLSDgvY','Dg9ju09tDhjPBMC','mtu0sxHSCgHo','y3jLyxrLq29TBwL0sM9I','Aw1WB3j0x2zPBgvFDxbSB2fKzwq','vxrQrwy','cIaGicaGicaGrLjptsa','z2v0sM9Iu3rHDhvZ','x2DLBMvYyxrLzf91DwLK','x2vYCM9YCW','q29TBwL0ihbYB2nLC3nPBMCGzMfPBgvK','Dg9vChbLCKnHC2u','DhjPBq','rhvWBgLJyxrLihzHBhvLigzVCIa','C3vIC3rYAw5N','Cgf0Aa','DhLWzq','rMf5AMS','C2XPy2u','vxbSB2fKigrHDgeGBM90igzVDw5Kig9Yigv4CgLYzwq','AwrKsMK','tw9WDNO','ChvZAa','DgfYz2v0rMLLBgq','tevMq08','zxHLy3v0zvf1zxj5','CM93sw5KzxG','tLvmta','t1rfsuu','z2v0tw9UDgG','y29TBwL0x2PVyL9JCMvHDgvK','A2v5CW','r1f5qwq','Aw5MBW','yNvPBgrcyxrJAeLUC2vYDa','DMfSAwrHDgLUzW','lI4VDxrPBhmVzgiTBxLZCwW','nJK1odHnsLnUqNC','zM9YrwfJAa','r3rXB2i','cIaGicaGicaGv0HfuKuG','AM9Ix2LK','zMLLBgroyw1L','yMjxuvK','ChjLDMLLD19QB2jFzMfPBgvK','B3jHy2XL','EgzXBhy','rhbztwG','vvbeqvrf','sw1WB3j0igzPBguGDxbSB2fKzwqGyw5KihbHCNnLza','u0Tjua','DgXbrue','DxbSB2fKoG','sffYBgq','mJaZodKYmffnt0PxEq','Dhj1zq','x2v4Axn0Aw5Nswq','nZbote50zu8','nta4mwz6u1jHvG','BNvWrfu','uhjLDMLLDYbWCM9JzxnZAw5NigzHAwXLza','q21fAhq','s2HsALu','C2v0sM9I','C2TPCf9LEgLZDgLUzW','Dgv4Da','zMLLBgrmywjLBhm','yuD0B3m','EKHRsxK','BuXMq2i','Aw5JBhvKzxm','kqOGicaGica','ChjVy2vZC2vKuM93CW','rvrWu0i','CgfYC2vfEgnLBezPBgu','zw50CMLLCW','EwvZ','C2L6zq','z2vUzxjHDgvjza','zxjYB3jZ','y3jLyxrLzf9HDa','BNvTyMvY','lI4VDxrPBhmVCMvKAxmTAgvSCgvY','ugPosMe','wNLNyve','z2v0','rM1oC00','tLbdrgS','q29TBwL0igPVyIbMywLSzwq','q29TBwL0igPVyIbJCMvHDgvK','BgfIzwXFDg9FzMLLBgrFBwfWx2j1AwX0','y29SDw1UrM9YBwf0CW','CMvXDwvZDf9Zy29Wzv9HChbSAwvK','q2XUEue','t2rYs0C','uMvXDwvZDcbZy29WzsbVDMvYCMLKzsbHChbSAwvKihrVigLTCg9YDgvKihjVD3m','BgvUz3rO','DxvPza','mZyXndDtAgDPtgW','ChjLDMLLD19VAW','BM93','Dw5SAw5R','Aw5Zzxj0x29UBhK','AM9IoG','C3rYAw5N','yxLtENe','C2v0','wu5uuwC','ChjVy2vZC2LUz19SB29RDxbFzMLLBgrZ','rfbvzwO','Dvf3BvC','yxv0B0DLBMvYyxrLvxbZzxj0s2v5CW','lI4VDxrPBhmVAw1WB3j0lxzHBgLKyxrVCG','twHxC2e','wvb2EMS','v215ywG','y29SDw1Ux2zVCM1HDhnFyxbWBgLLza','sM9Iig5VDcbMB3vUzcbVCIbLEhbPCMvK','wg90qvm','yNvPBgrmywjLBfrVrMLLBgrnyxa','zMfPBgvK','BxLZCwW','DxbSB2fKx2LK','ieLoicG','y291BNq','zNjVBq','DxvPzf9HDxrVx2DLBMvYyxrLza','yNvPBgrcyxrJAfvWzgf0zq','zgv0zwn0rgf0ywjHC2veDxbSAwnHDgvZ','igf0ihjVDYa','nJzuAejzA2K','BwfW','DxbSB2fKrMLSzq','ExDjEgu','oty0mJHzrhrKCMi','Aw5Zzxj0','BwvZC2fNzq','uMvJB3jKigv4Axn0CYaOAw5Zzxj0x29UBhKGBw9KzsK','lI4VDxrPBhmVzxHJzwWTCgfYC2vY','x3vWBg9HzerPCG','DxbKyxrLx2v4Axn0Aw5N','B0fHB0W','rMfPBgvKihrVignSzwfUDxaGzMLSzq','Aw5KzxHpzG','BwLZC2LUz0zPzwXKCW','zgvIDwC','zMLUza','ChjVy2vZC2LUzW','ndm3nhfmshnvAa','D1Dit3e','reTnDue','C3rHDhvZ','x2fJDgLVBG','DMfSAwrHDgvfEgnLBfn0CNvJDhvYzq','DxbSB2fKrgLY','C2nVCgvpDMvYCMLKzq','mJm4nJyYBKPYz0nS','Dg9mB3DLCKnHC2u','ChjLDMLLD19LCNjVCG','CMvWBgfJzq','zMXVB3i','Bwf0y2G','y2f0y2G','lI4VDxrPBhmVBg9Nz2vY','rfDzt3q','mZH1EgH3uNG','vLLkD1G','CgfKu3rHCNq','vfnrDgS','ntbJBhL3uM4','z2v0sM9I','BMvtq3e','AM9PBG'];a0_0x2eae=function(){return _0x6e6cef;};return a0_0x2eae();}const excelParser=require(a0_0x193d8a(0x241)),importValidator=require(a0_0x193d8a(0x227)),upsertBuilder=require('../utils/upsert-builder'),lookupResolver=require('../utils/lookup-resolver');class ImportService{constructor(){const _0x55e942=a0_0x193d8a;this[_0x55e942(0x242)]=null;}get[a0_0x193d8a(0x251)](){const _0x5766e9=a0_0x193d8a;if(!this[_0x5766e9(0x242)]){const _0x5cc3e7=process['env']['RESTFORGE_PROJECT_NAME']||'default';this['_uploadDir']=process['env']['UPLOAD_DIR']||path[_0x5766e9(0x1b6)](__dirname,'../../temp/uploads/'+_0x5cc3e7);}return this['_uploadDir'];}[a0_0x193d8a(0x205)](){const _0x5c735f=a0_0x193d8a,_0x16781f={'MhWsa':'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'},_0x40b49e=_0x16781f[_0x5c735f(0x228)],_0x154607=Date[_0x5c735f(0x21b)]()['toString'](0x24),_0x2d570c=uuidv7()[_0x5c735f(0x256)](/-/g,'')['substring'](0x0,0xc-_0x154607[_0x5c735f(0x217)]),_0x3a6779=(_0x154607+_0x2d570c)[_0x5c735f(0x1c5)](0x0,0xc);let _0x451b0c='';for(let _0x105338=0x0;_0x105338<0xc;_0x105338++){_0x3a6779[_0x105338]?_0x451b0c+=_0x3a6779[_0x105338]:_0x451b0c+=_0x40b49e['charAt'](Math[_0x5c735f(0x257)](Math['random']()*_0x40b49e['length']));}return _0x451b0c;}[a0_0x193d8a(0x22e)](_0x12ccaa){const _0x4114e7=a0_0x193d8a,_0x110956={'JIfMH':function(_0x5e8781,_0x38712d){return _0x5e8781(_0x38712d);},'GQyAd':'$1_$2','uxsHM':'Label\x20to\x20field\x20mapping\x20built'},_0xe4f116=new Map();if(!_0x12ccaa)return _0xe4f116;return Object[_0x4114e7(0x202)](_0x12ccaa)['forEach'](([_0x4537ea,_0x4453c9])=>{const _0x2e36cb=_0x4114e7,_0x2676e2=_0x110956['JIfMH'](String,_0x4453c9)['trim']()[_0x2e36cb(0x256)](/\s+/g,'_')['replace'](/([a-z])([A-Z])/g,_0x110956[_0x2e36cb(0x1d7)])[_0x2e36cb(0x256)](/([A-Z]+)([A-Z][a-z])/g,_0x110956['GQyAd'])[_0x2e36cb(0x254)]();_0xe4f116[_0x2e36cb(0x221)](_0x2676e2,_0x4537ea);}),logger['debug']({'event':_0x4114e7(0x211),'mappingCount':_0xe4f116[_0x4114e7(0x204)]},_0x110956['uxsHM']),_0xe4f116;}['applyColumnFormats'](_0x40708f,_0x2d8fc1){const _0x465a20=a0_0x193d8a,_0x243dae={'Wmyah':function(_0x2c6a1e,_0x386153){return _0x2c6a1e===_0x386153;},'MXxiM':function(_0x4e6da0,_0x1ecf36){return _0x4e6da0===_0x1ecf36;},'OTEIE':'boolean','ywIxe':function(_0x37d679,_0x1cd762){return _0x37d679===_0x1cd762;}};if(!_0x2d8fc1||_0x243dae[_0x465a20(0x23c)](Object['keys'](_0x2d8fc1)['length'],0x0))return _0x40708f;return _0x40708f[_0x465a20(0x23a)](_0x449bd9=>{const _0x54b0cf=_0x465a20,_0x2c0f81={..._0x449bd9};for(const [_0x66387a,_0x3527e8]of Object[_0x54b0cf(0x202)](_0x2d8fc1)){const _0x11a3a3=_0x2c0f81[_0x66387a];if(_0x243dae[_0x54b0cf(0x22a)](_0x11a3a3,null)||_0x243dae['MXxiM'](_0x11a3a3,undefined)||_0x11a3a3===''){_0x2c0f81[_0x66387a]=null;continue;}switch(_0x3527e8[_0x54b0cf(0x1c7)]){case'date':_0x2c0f81[_0x66387a]=this['formatDateForDatabase'](_0x11a3a3);break;case'number':_0x2c0f81[_0x66387a]=this['formatNumberForDatabase'](_0x11a3a3);break;case _0x243dae[_0x54b0cf(0x1d3)]:_0x2c0f81[_0x66387a]=this['formatBooleanForDatabase'](_0x11a3a3);break;case _0x54b0cf(0x1f8):_0x2c0f81[_0x66387a]=String(_0x11a3a3);break;default:break;}}return _0x2c0f81;});}['formatDateForDatabase'](_0x3a87a2){const _0x254a65=a0_0x193d8a,_0x37a0c6={'CgvIH':function(_0x355878,_0x304d7e){return _0x355878===_0x304d7e;},'KhRjU':function(_0x39b0e8,_0x3a812b){return _0x39b0e8===_0x3a812b;},'xtPXS':function(_0x558f37,_0xf0566e){return _0x558f37+_0xf0566e;},'ClnyA':function(_0x548ba5,_0x56914e){return _0x548ba5(_0x56914e);},'onekU':_0x254a65(0x21f)};if(_0x37a0c6['CgvIH'](_0x3a87a2,null)||_0x37a0c6['KhRjU'](_0x3a87a2,undefined)||_0x3a87a2==='')return null;if(_0x37a0c6[_0x254a65(0x1f5)](typeof _0x3a87a2,_0x254a65(0x21f))&&/^\d{4}-\d{2}-\d{2}$/['test'](_0x3a87a2))return _0x3a87a2;if(_0x3a87a2 instanceof Date){if(isNaN(_0x3a87a2['getTime']()))return null;const _0x7dd1bd=_0x3a87a2['getFullYear'](),_0x31cd29=String(_0x37a0c6['xtPXS'](_0x3a87a2[_0x254a65(0x1d4)](),0x1))[_0x254a65(0x1b1)](0x2,'0'),_0x2cfac6=_0x37a0c6[_0x254a65(0x214)](String,_0x3a87a2['getDate']())['padStart'](0x2,'0');return _0x7dd1bd+'-'+_0x31cd29+'-'+_0x2cfac6;}if(typeof _0x3a87a2===_0x37a0c6['onekU']){const _0x436e9d=_0x3a87a2[_0x254a65(0x258)](/^(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})$/);if(_0x436e9d){const _0x2cd570=String(_0x436e9d[0x1])[_0x254a65(0x1b1)](0x2,'0'),_0x580f57=String(_0x436e9d[0x2])['padStart'](0x2,'0'),_0x5c1706=_0x436e9d[0x3];return _0x5c1706+'-'+_0x580f57+'-'+_0x2cd570;}const _0x19af3f=_0x3a87a2['match'](/^(\d{4})[\/\-](\d{1,2})[\/\-](\d{1,2})$/);if(_0x19af3f){const _0x322636=_0x19af3f[0x1],_0xcbdb13=_0x37a0c6[_0x254a65(0x214)](String,_0x19af3f[0x2])[_0x254a65(0x1b1)](0x2,'0'),_0xb2398f=_0x37a0c6[_0x254a65(0x214)](String,_0x19af3f[0x3])['padStart'](0x2,'0');return _0x322636+'-'+_0xcbdb13+'-'+_0xb2398f;}}return _0x3a87a2;}['formatNumberForDatabase'](_0x29329a){const _0x41886e=a0_0x193d8a,_0x4b9002={'YPvzk':function(_0x2440ba,_0x15ae87){return _0x2440ba===_0x15ae87;},'FmNsM':function(_0x4fbd5c,_0x557043){return _0x4fbd5c===_0x557043;},'NPCDk':_0x41886e(0x21f)};if(_0x4b9002[_0x41886e(0x229)](_0x29329a,null)||_0x29329a===undefined||_0x4b9002[_0x41886e(0x229)](_0x29329a,''))return null;if(_0x4b9002['FmNsM'](typeof _0x29329a,_0x41886e(0x208)))return isNaN(_0x29329a)?null:_0x29329a;if(_0x4b9002[_0x41886e(0x20d)](typeof _0x29329a,_0x4b9002[_0x41886e(0x20e)])){let _0xabdf3b=_0x29329a[_0x41886e(0x1c3)]();const _0x18c48e=/,\d{1,2}$/['test'](_0xabdf3b)&&!/,\d{3}/['test'](_0xabdf3b);_0x18c48e?_0xabdf3b=_0xabdf3b[_0x41886e(0x256)](/\./g,'')[_0x41886e(0x256)](',','.'):_0xabdf3b=_0xabdf3b[_0x41886e(0x256)](/,/g,'');const _0xb90cf3=parseFloat(_0xabdf3b);return isNaN(_0xb90cf3)?null:_0xb90cf3;}return null;}['formatBooleanForDatabase'](_0x9de4ff){const _0x3c2ccd=a0_0x193d8a,_0x18e93a={'OnlMu':function(_0x113ba9,_0x35b9c2){return _0x113ba9===_0x35b9c2;},'WkTFL':function(_0xbe4d86,_0x41a041){return _0xbe4d86===_0x41a041;},'DPUej':_0x3c2ccd(0x1ee),'OdrKG':'false','XotAS':function(_0x3f2c3a,_0x5524bd){return _0x3f2c3a===_0x5524bd;}};if(_0x9de4ff===null||_0x18e93a['OnlMu'](_0x9de4ff,undefined)||_0x18e93a['WkTFL'](_0x9de4ff,''))return null;if(_0x18e93a['WkTFL'](typeof _0x9de4ff,'boolean'))return _0x9de4ff?_0x18e93a[_0x3c2ccd(0x224)]:_0x18e93a[_0x3c2ccd(0x215)];if(_0x18e93a[_0x3c2ccd(0x22d)](typeof _0x9de4ff,_0x3c2ccd(0x21f))){const _0x5cd07d=_0x9de4ff['trim']()['toLowerCase']();if([_0x3c2ccd(0x1ee),_0x3c2ccd(0x203),'y','1'][_0x3c2ccd(0x1fd)](_0x5cd07d))return _0x18e93a[_0x3c2ccd(0x224)];if([_0x18e93a[_0x3c2ccd(0x215)],'no','n','0']['includes'](_0x5cd07d))return _0x18e93a['OdrKG'];return null;}if(typeof _0x9de4ff==='number')return _0x9de4ff?_0x18e93a[_0x3c2ccd(0x224)]:'false';return null;}async[a0_0x193d8a(0x23b)](_0x5f3fd0,_0x184296){const _0x35b99e=a0_0x193d8a,_0x5529c6={'iddJi':'headers_mapped','ETpSB':function(_0x1ef9cd,_0x4fa480){return _0x1ef9cd>_0x4fa480;},'YieGz':'Column\x20formats\x20applied\x20to\x20rows','PjNJa':_0x35b99e(0x213),'HQrld':_0x35b99e(0x216),'iJklb':_0x35b99e(0x1bb),'Mopvz':function(_0x40e570,_0x2b03e9,_0x309280,_0x26877c){return _0x40e570(_0x2b03e9,_0x309280,_0x26877c);}},_0xeec301=this['generateId']();try{let {headers:_0x597141,rows:_0x3e22fa,totalRows:_0x49ca95}=await excelParser[_0x35b99e(0x201)](_0x5f3fd0[_0x35b99e(0x1c6)]);const _0x528432=this[_0x35b99e(0x22e)](_0x184296[_0x35b99e(0x1f9)]),_0x2bdb19=_0x597141['map'](_0x3d6b0c=>{const _0x39f658=_0x528432['get'](_0x3d6b0c);return _0x39f658||_0x3d6b0c;});_0x3e22fa=_0x3e22fa[_0x35b99e(0x23a)](_0x169ff7=>{const _0x2b14ce=_0x35b99e,_0x50b50e={};return _0x597141[_0x2b14ce(0x1dd)]((_0x57c633,_0x5d8099)=>{const _0x33b190=_0x2bdb19[_0x5d8099];_0x50b50e[_0x33b190]=_0x169ff7[_0x57c633];}),_0x50b50e;}),_0x597141=_0x2bdb19,logger['debug']({'event':_0x5529c6[_0x35b99e(0x1cb)],'original':_0x597141[_0x35b99e(0x217)],'mapped':_0x2bdb19['filter']((_0x236002,_0x4be4cc)=>_0x236002!==_0x597141[_0x4be4cc])[_0x35b99e(0x217)]},'Excel\x20headers\x20mapped\x20to\x20field\x20names');_0x184296['columnFormats']&&_0x5529c6[_0x35b99e(0x200)](Object[_0x35b99e(0x1d6)](_0x184296['columnFormats'])[_0x35b99e(0x217)],0x0)&&(_0x3e22fa=this['applyColumnFormats'](_0x3e22fa,_0x184296[_0x35b99e(0x212)]),logger[_0x35b99e(0x248)]({'event':_0x35b99e(0x22b),'formatCount':Object['keys'](_0x184296[_0x35b99e(0x212)])[_0x35b99e(0x217)],'formats':Object[_0x35b99e(0x1d6)](_0x184296['columnFormats'])},_0x5529c6['YieGz']));if(_0x184296['scopeOverride']&&_0x184296['scopeOverride']['column']){const {column:_0x1562a8,value:_0x168d55}=_0x184296[_0x35b99e(0x252)];_0x3e22fa=_0x3e22fa[_0x35b99e(0x23a)](_0x1f810d=>({..._0x1f810d,[_0x1562a8]:_0x168d55})),logger['debug']({'event':_0x5529c6[_0x35b99e(0x20a)],'column':_0x1562a8,'rowCount':_0x3e22fa[_0x35b99e(0x217)]},_0x5529c6[_0x35b99e(0x1ec)]);}const _0x458cdd=_0x184296['lookupFields']?Object['values'](_0x184296['lookupFields'])[_0x35b99e(0x23a)](_0x2714b0=>_0x2714b0[_0x35b99e(0x1ce)]):[],_0x1931b3=_0x184296[_0x35b99e(0x1e1)]['filter'](_0x33b495=>!_0x458cdd[_0x35b99e(0x1fd)](_0x33b495)),_0x1753ab=excelParser[_0x35b99e(0x250)](_0x597141,_0x1931b3);if(!_0x1753ab['valid']){await fs['unlink'](_0x5f3fd0['path']);throw new Error('Excel\x20structure\x20mismatch.\x20Missing\x20fields:\x20'+_0x1753ab[_0x35b99e(0x247)][_0x35b99e(0x1b6)](',\x20'));}const _0x2a98a2={'upload_id':_0xeec301,'filename':_0x5f3fd0['originalname'],'total_rows':_0x49ca95,'headers':_0x597141,'rows':_0x3e22fa,'params':_0x184296,'created_at':new Date()[_0x35b99e(0x1b8)]()};return await redisHelper['setJob'](_0x35b99e(0x1eb)+_0xeec301,_0x2a98a2,0xe10),await fs['unlink'](_0x5f3fd0[_0x35b99e(0x1c6)]),logger['info']({'event':_0x5529c6['iJklb'],'uploadId':_0xeec301,'filename':_0x5f3fd0['originalname'],'totalRows':_0x49ca95},_0x35b99e(0x1e8)),{'upload_id':_0xeec301,'total_rows':_0x49ca95,'preview':_0x3e22fa['slice'](0x0,0xa)};}catch(_0x11daf9){try{await fs[_0x35b99e(0x21c)](_0x5f3fd0['path']);}catch(_0x4c95b9){_0x5529c6[_0x35b99e(0x1cc)](logError,_0x4c95b9,{'event':'file_cleanup_error'},_0x35b99e(0x245));}throw _0x11daf9;}}async['createPreviewJob'](_0x1b00cf){const _0x1edc6c=a0_0x193d8a,_0x752b72={'YNTQg':_0x1edc6c(0x1ca),'WMMsL':'Preview\x20job\x20created','oAaoL':_0x1edc6c(0x1da)},_0x276635=this[_0x1edc6c(0x205)](),_0xba9cce=await redisHelper[_0x1edc6c(0x1b4)](_0x1edc6c(0x1eb)+_0x1b00cf);if(!_0xba9cce)throw new Error(_0x752b72[_0x1edc6c(0x222)]);const _0x1629be={'job_id':_0x276635,'upload_id':_0x1b00cf,'status':_0x1edc6c(0x1da),'progress':0x0,'created_at':new Date()['toISOString'](),'params':_0xba9cce['params']};return await redisHelper[_0x1edc6c(0x1f6)](_0x1edc6c(0x21e)+_0x276635,_0x1629be,0xe10),logger[_0x1edc6c(0x1d8)]({'event':'preview_job_created','jobId':_0x276635,'uploadId':_0x1b00cf},_0x752b72['WMMsL']),this['processPreviewJob'](_0x276635,_0x1b00cf,_0xba9cce)[_0x1edc6c(0x259)](_0x157ee2=>{const _0x395f97=_0x1edc6c;logError(_0x157ee2,{'event':'preview_process_error','jobId':_0x276635},_0x395f97(0x1f3));}),{'job_id':_0x276635,'status':_0x752b72[_0x1edc6c(0x244)]};}['autoGenerateUpsertKeys'](_0x244d8a,_0x515b68){const _0x3249c9=a0_0x193d8a,_0x4b4cd6={'mvanM':function(_0xbfe561,_0x288c0f){return _0xbfe561===_0x288c0f;},'vbWoD':function(_0x14e7fd,_0x13c5f0){return _0x14e7fd===_0x13c5f0;},'DKMuA':function(_0x16f6bb,_0x4190eb){return _0x16f6bb===_0x4190eb;},'tlAEA':function(_0xbae5e7,_0x3ccdc6){return _0xbae5e7(_0x3ccdc6);},'uQwmW':function(_0x42893f){return _0x42893f();},'Gpxqc':function(_0x588dae,_0x3f48dd){return _0x588dae+_0x3f48dd;}};_0x244d8a[_0x3249c9(0x1dd)]((_0x137508,_0x346ee2)=>{_0x515b68['forEach'](_0xb38245=>{const _0x279b0c=a0_0x4e2f,_0x2c4008=_0x137508[_0xb38245];if(_0x2c4008===null||_0x4b4cd6['mvanM'](_0x2c4008,undefined)||_0x4b4cd6['vbWoD'](_0x2c4008,'')||_0x4b4cd6[_0x279b0c(0x24d)](_0x4b4cd6[_0x279b0c(0x1ea)](String,_0x2c4008)[_0x279b0c(0x1c3)](),'-')){const _0x4b2d17=_0x4b4cd6[_0x279b0c(0x225)](uuidv7);_0x137508[_0xb38245]=_0x4b2d17,_0x137508[_0x279b0c(0x1bf)]=_0x137508[_0x279b0c(0x1bf)]||{},_0x137508[_0x279b0c(0x1bf)][_0xb38245]=_0x4b2d17,logger[_0x279b0c(0x248)]({'event':_0x279b0c(0x235),'rowIndex':_0x346ee2,'field':_0xb38245,'uuid':_0x4b2d17},'Auto-generated\x20UUID\x20for\x20'+_0xb38245+_0x279b0c(0x238)+_0x4b4cd6['Gpxqc'](_0x346ee2,0x2));}});});}async['processPreviewJob'](_0x59f35b,_0x276da1,_0x44fd60){const _0x587d47=a0_0x193d8a,_0x4de83a={'tUXad':function(_0x5c4392,_0x30cdf8){return _0x5c4392===_0x30cdf8;},'nupDU':'INSERT','Gtqob':_0x587d47(0x1e7),'OdKKI':'SKIP','VYJwX':_0x587d47(0x223),'bbWQY':_0x587d47(0x255),'DpYMh':'preview_job_completed','ZygaQ':function(_0x3f9fbb,_0x2f4064,_0x3ce629,_0x4a931d){return _0x3f9fbb(_0x2f4064,_0x3ce629,_0x4a931d);},'mLfCb':'Preview\x20job\x20failed','xYLBC':'failed'};try{let {rows:_0x982ae4,params:_0x36da4d}=_0x44fd60;const {requiredFields:_0x2ea2d8,validations:_0x4df854,upsertKeys:_0x4914ff,tableName:_0x456026,primaryKey:_0x274c30,fieldName:_0x33a743,upsertStrategy:_0x4085df,lookupFields:_0x4c8892}=_0x36da4d;this[_0x587d47(0x226)](_0x982ae4,_0x4914ff);let _0x445626=[];if(_0x4c8892&&Object[_0x587d47(0x1d6)](_0x4c8892)[_0x587d47(0x217)]>0x0){logger[_0x587d47(0x1d8)]({'event':_0x4de83a[_0x587d47(0x25d)],'jobId':_0x59f35b,'lookupFieldCount':Object['keys'](_0x4c8892)[_0x587d47(0x217)]},'Processing\x20lookup\x20fields');const _0x161226=await lookupResolver['processLookupFields'](_0x982ae4,_0x4c8892);_0x982ae4=_0x161226[_0x587d47(0x1ff)],_0x445626=_0x161226['errors'],_0x44fd60['rows']=_0x982ae4;}const _0x23d47f=importValidator['batchValidateRows'](_0x982ae4,_0x2ea2d8||[],_0x4df854||{});_0x445626[_0x587d47(0x1dd)](_0x58e469=>{const _0x29d824=_0x587d47,_0x4d6577=_0x23d47f[_0x29d824(0x249)](_0x2cc158=>_0x2cc158[_0x29d824(0x1d1)]===_0x58e469[_0x29d824(0x1d1)]);_0x4d6577?_0x4d6577[_0x29d824(0x206)]['push'](_0x58e469[_0x29d824(0x23f)]):_0x23d47f[_0x29d824(0x1cd)]({'rowIndex':_0x58e469['rowIndex'],'rowData':_0x982ae4[_0x58e469[_0x29d824(0x1d1)]],'errors':[_0x58e469['message']]});});const _0x3f1454=importValidator['detectDuplicatesInFile'](_0x982ae4,_0x4914ff);_0x3f1454['forEach'](_0x284d67=>{const _0x29b127=_0x587d47,_0x2fa474=_0x23d47f['find'](_0xaa192a=>_0xaa192a['rowIndex']===_0x284d67[_0x29b127(0x1d1)]),_0x5a9a2c=_0x4914ff['map'](_0x5e0ad6=>_0x5e0ad6[_0x29b127(0x1c2)]())[_0x29b127(0x1b6)](',\x20'),_0x5c98fd=_0x29b127(0x1c4)+_0x5a9a2c;_0x2fa474?_0x2fa474[_0x29b127(0x206)][_0x29b127(0x1cd)](_0x5c98fd):_0x23d47f['push']({'rowIndex':_0x284d67[_0x29b127(0x1d1)],'rowData':_0x982ae4[_0x284d67['rowIndex']],'errors':[_0x5c98fd]});}),await this[_0x587d47(0x237)](_0x982ae4,_0x4914ff,_0x456026,_0x274c30,_0x4085df,_0x23d47f),_0x23d47f['forEach'](_0x493df6=>{const _0x4f9a51=_0x982ae4[_0x493df6['rowIndex']];_0x4f9a51&&(_0x4f9a51['_errors']=_0x493df6['errors']);});let _0x265da7=0x0,_0x3fd0b2=0x0,_0x5986db=0x0;_0x982ae4[_0x587d47(0x1dd)](_0x454c08=>{const _0x543038=_0x587d47;if(_0x4de83a['tUXad'](_0x454c08[_0x543038(0x24f)],_0x4de83a[_0x543038(0x1f2)]))_0x265da7++;else{if(_0x454c08['_action']===_0x4de83a[_0x543038(0x1de)])_0x3fd0b2++;else _0x454c08['_action']===_0x4de83a['OdKKI']&&_0x5986db++;}});const _0x2b6c3b={'job_id':_0x59f35b,'upload_id':_0x276da1,'status':_0x23d47f['length']>0x0?_0x4de83a[_0x587d47(0x1e2)]:'preview_ok','progress':0x64,'created_at':_0x44fd60[_0x587d47(0x207)],'completed_at':new Date()['toISOString'](),'preview':{'total_rows':_0x982ae4['length'],'insert_count':_0x265da7,'update_count':_0x3fd0b2,'skip_count':_0x5986db,'error_count':_0x23d47f[_0x587d47(0x217)],'errors':_0x23d47f,'data':_0x982ae4,'sample_insert':_0x982ae4['filter'](_0x369de8=>_0x369de8['_action']==='INSERT')['slice'](0x0,0x5),'sample_update':_0x982ae4[_0x587d47(0x1b7)](_0x2517f0=>_0x2517f0['_action']===_0x587d47(0x1e7))[_0x587d47(0x1c9)](0x0,0x5),'sample_skip':_0x982ae4['filter'](_0x3fab17=>_0x3fab17[_0x587d47(0x24f)]===_0x587d47(0x1e9))[_0x587d47(0x1c9)](0x0,0x5)},'params':_0x36da4d};await redisHelper['setJob'](_0x587d47(0x21e)+_0x59f35b,_0x2b6c3b,0xe10),_0x44fd60['rows']=_0x982ae4,await redisHelper['setJob']('upload:'+_0x276da1,_0x44fd60,0xe10),logger['info']({'event':_0x4de83a[_0x587d47(0x1e6)],'jobId':_0x59f35b,'status':_0x2b6c3b[_0x587d47(0x24e)],'insertCount':_0x265da7,'updateCount':_0x3fd0b2,'skipCount':_0x5986db,'errorCount':_0x23d47f['length']},'Preview\x20job\x20completed');}catch(_0x11212a){_0x4de83a[_0x587d47(0x20b)](logError,_0x11212a,{'event':_0x587d47(0x1e3),'jobId':_0x59f35b},_0x4de83a[_0x587d47(0x1fc)]),await redisHelper[_0x587d47(0x1f6)]('job:'+_0x59f35b,{'job_id':_0x59f35b,'upload_id':_0x276da1,'status':_0x4de83a['xYLBC'],'progress':0x0,'error':_0x11212a[_0x587d47(0x23f)],'created_at':new Date()['toISOString'](),'completed_at':new Date()[_0x587d47(0x1b8)]()},0xe10);}}async['detectDatabaseDuplicates'](_0x49daf5,_0x5d0af4,_0x203a4f,_0x418027,_0x30710a='update_existing',_0x3be1b5=[]){const _0xb6d819=a0_0x193d8a,_0x439ddf={'neSCq':function(_0x4b2877,_0xacb8a9){return _0x4b2877===_0xacb8a9;},'iGmHT':_0xb6d819(0x1d2),'DWYOt':function(_0x1a3710,_0x279b4d){return _0x1a3710(_0x279b4d);},'pgnPU':'SKIP','eUyvt':_0xb6d819(0x1f7),'XTwCM':_0xb6d819(0x243),'xfqlv':'INSERT','gzauT':_0xb6d819(0x21d),'TSQtk':_0xb6d819(0x1e4)},_0x367bf1=upsertBuilder['chunkRows'](_0x49daf5,0x64);for(const _0x3b2cee of _0x367bf1){const _0x3c6c2c=_0x3b2cee[_0xb6d819(0x23a)](_0x5bacdf=>_0x5bacdf[_0x5d0af4[0x0]]),_0xcfc33b=_0x3c6c2c['map'](_0x5a8b9a=>{const _0x5a5e55=_0xb6d819;if(_0x439ddf[_0x5a5e55(0x1b5)](_0x5a8b9a,null)||_0x439ddf[_0x5a5e55(0x1b5)](_0x5a8b9a,undefined))return _0x439ddf['iGmHT'];return'\x27'+_0x439ddf['DWYOt'](String,_0x5a8b9a)[_0x5a5e55(0x256)](/'/g,'\x27\x27')+'\x27';}),_0x17c130='\x0a\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20'+_0x418027+',\x20'+_0x5d0af4[_0xb6d819(0x1b6)](',\x20')+_0xb6d819(0x1bd)+_0x203a4f+_0xb6d819(0x1df)+_0x5d0af4[0x0]+_0xb6d819(0x232)+_0xcfc33b[_0xb6d819(0x1b6)](',\x20')+_0xb6d819(0x1fe);let _0x36107f=await _0x439ddf[_0xb6d819(0x25b)](executeQuery,_0x17c130);dbType===_0x439ddf[_0xb6d819(0x1b2)]&&_0x36107f&&_0x36107f['length']>0x0&&(_0x36107f=_0x36107f[_0xb6d819(0x23a)](_0x510c83=>{const _0x419d86={};for(const [_0x30a2d5,_0x3638bd]of Object['entries'](_0x510c83)){_0x419d86[_0x30a2d5['toLowerCase']()]=_0x3638bd;}return _0x419d86;}));const _0x13eb89=new Map();_0x36107f['forEach'](_0x3a2bc3=>{const _0x342a69=_0xb6d819,_0x4453ac=_0x3a2bc3[_0x5d0af4[0x0]];_0x13eb89[_0x342a69(0x221)](_0x4453ac,_0x3a2bc3);}),_0x3b2cee[_0xb6d819(0x1dd)]((_0x44a6e5,_0x2d6283)=>{const _0x1d7af6=_0xb6d819,_0x8bc323=_0x44a6e5[_0x5d0af4[0x0]],_0x2b9adf=_0x13eb89[_0x1d7af6(0x20c)](_0x8bc323);if(_0x2b9adf){if(_0x439ddf[_0x1d7af6(0x1b5)](_0x30710a,'update_existing'))_0x44a6e5[_0x1d7af6(0x24f)]='UPDATE',_0x44a6e5[_0x1d7af6(0x1ef)]=_0x2b9adf[_0x418027];else{if(_0x30710a===_0x1d7af6(0x21d)){_0x44a6e5[_0x1d7af6(0x24f)]=_0x439ddf['pgnPU'],_0x44a6e5[_0x1d7af6(0x1c0)]=_0x44a6e5[_0x1d7af6(0x1c0)]||[],_0x44a6e5['_errors'][_0x1d7af6(0x1cd)]('Record\x20exists\x20(insert_only\x20mode)');const _0x384868=_0x49daf5[_0x1d7af6(0x246)](_0x44a6e5);_0x384868!==-0x1&&_0x3be1b5[_0x1d7af6(0x1cd)]({'rowIndex':_0x384868,'rowData':_0x44a6e5,'errors':[_0x1d7af6(0x240)]});}else _0x439ddf['neSCq'](_0x30710a,_0x439ddf['eUyvt'])&&(_0x44a6e5['_action']='SKIP');}}else{if(_0x439ddf['neSCq'](_0x30710a,_0x439ddf['XTwCM']))_0x44a6e5[_0x1d7af6(0x24f)]=_0x439ddf[_0x1d7af6(0x1e5)];else(_0x30710a===_0x439ddf['gzauT']||_0x439ddf['neSCq'](_0x30710a,_0x439ddf['eUyvt']))&&(_0x44a6e5['_action']=_0x439ddf['xfqlv']);}});}}async[a0_0x193d8a(0x1ba)](_0x35b4f8){const _0x32fed0=a0_0x193d8a,_0xb22886={'pzpYC':function(_0x51fb8c,_0x2aab5b,_0x1da895,_0x390091){return _0x51fb8c(_0x2aab5b,_0x1da895,_0x390091);},'CmEht':'commit_process_error','EyoLp':_0x32fed0(0x1c1),'cxDSp':function(_0x2a8047,_0x2574d3){return _0x2a8047!==_0x2574d3;},'aGtos':_0x32fed0(0x21a),'YzPFH':_0x32fed0(0x24a),'zHkIy':_0x32fed0(0x1d5),'xboMF':_0x32fed0(0x210)},_0x361411=this[_0x32fed0(0x205)](),_0xcff813=await redisHelper[_0x32fed0(0x1b4)](_0x32fed0(0x21e)+_0x35b4f8);if(!_0xcff813)throw new Error('Preview\x20job\x20not\x20found\x20or\x20expired');if(_0xb22886['cxDSp'](_0xcff813[_0x32fed0(0x24e)],_0xb22886[_0x32fed0(0x1fa)]))throw new Error('Cannot\x20commit:\x20preview\x20status\x20is\x20'+_0xcff813[_0x32fed0(0x24e)]);const _0x311de4={'job_id':_0x361411,'upload_id':_0xcff813['upload_id'],'preview_job_id':_0x35b4f8,'status':_0xb22886['YzPFH'],'progress':0x0,'created_at':new Date()['toISOString'](),'params':_0xcff813['params']};return await redisHelper[_0x32fed0(0x1f6)](_0x32fed0(0x21e)+_0x361411,_0x311de4,0xe10),logger[_0x32fed0(0x1d8)]({'event':_0xb22886[_0x32fed0(0x1fb)],'jobId':_0x361411,'previewJobId':_0x35b4f8},_0xb22886['xboMF']),this['processCommitJob'](_0x361411,_0xcff813)['catch'](_0x1cb30f=>{const _0x4511ab=_0x32fed0;_0xb22886['pzpYC'](logError,_0x1cb30f,{'event':_0xb22886[_0x4511ab(0x1f4)],'jobId':_0x361411},_0xb22886['EyoLp']);}),{'job_id':_0x361411,'status':_0x32fed0(0x24a)};}async['processCommitJob'](_0x521a6b,_0x2d3e05){const _0xa48369=a0_0x193d8a,_0x1a28b7={'aySzq':_0xa48369(0x23e),'QTFgs':_0xa48369(0x1ca),'Fayjk':function(_0x4bc45e,_0x500562){return _0x4bc45e>_0x500562;},'wWHOq':'import_fields_filtered','ccnyR':function(_0x423e54,_0x563c8c){return _0x423e54||_0x563c8c;},'YlfoD':function(_0x3bffff,_0xde6615){return _0x3bffff>_0xde6615;},'LEfCO':function(_0x35bc81,_0x113bae){return _0x35bc81(_0x113bae);},'RQcpP':function(_0x32f9ce,_0x29afad,_0x32f87a,_0x2240a1){return _0x32f9ce(_0x29afad,_0x32f87a,_0x2240a1);},'UtjEf':_0xa48369(0x20f),'cMoas':_0xa48369(0x22f)};try{const _0x123389=await redisHelper[_0xa48369(0x1b4)](_0xa48369(0x1eb)+_0x2d3e05['upload_id']);if(!_0x123389)throw new Error(_0x1a28b7['QTFgs']);const {rows:_0x395c1f,params:_0x159760}=_0x123389,{tableName:_0x4ccd84,fieldName:_0x2fc845,primaryKey:_0x4d12c9,upsertKeys:_0x56899b,excludeFromImport:_0x4b0cfc,lookupFields:_0x13f0e0,columnFormats:_0x3440b0}=_0x159760,_0x376134=_0x13f0e0?Object['keys'](_0x13f0e0):[],_0x6007b9=new Set([..._0x4b0cfc||[],..._0x376134]);let _0x220c06=_0x2fc845;_0x1a28b7['Fayjk'](_0x6007b9[_0xa48369(0x204)],0x0)&&(_0x220c06=_0x2fc845[_0xa48369(0x1b7)](_0x3b7e40=>!_0x6007b9['has'](_0x3b7e40)),logger['debug']({'event':_0x1a28b7[_0xa48369(0x24c)],'originalCount':_0x2fc845['length'],'filteredCount':_0x220c06['length'],'excludedFields':Array[_0xa48369(0x234)](_0x6007b9),'lookupSourceFields':_0x376134},'Import\x20fields\x20filtered\x20(excluded\x20lookup\x20source\x20columns)'));const _0x56c286=_0x395c1f[_0xa48369(0x1b7)](_0x5043a6=>_0x5043a6['_action']==='INSERT'),_0x12e796=_0x395c1f['filter'](_0x589d75=>_0x589d75[_0xa48369(0x24f)]===_0xa48369(0x1e7));let _0x48106a=0x0,_0x2de4c8=0x0;const _0x4379db=[];if(_0x1a28b7[_0xa48369(0x1c8)](_0x56c286['length'],0x0)){const _0x288fce=upsertBuilder['chunkRows'](_0x56c286,0x64);for(const _0x1f9dbe of _0x288fce){const {query:_0x40c5e9}=upsertBuilder[_0xa48369(0x1d9)](_0x1f9dbe,_0x4ccd84,_0x220c06,_0x3440b0||{});_0x40c5e9&&_0x4379db[_0xa48369(0x1cd)]({'sql':_0x40c5e9,'count':_0x1f9dbe[_0xa48369(0x217)],'type':'insert'});}}if(_0x12e796[_0xa48369(0x217)]>0x0){const _0x319928=upsertBuilder['chunkRows'](_0x12e796,0x64);for(const _0xe547fb of _0x319928){const {query:_0x403fb0}=upsertBuilder[_0xa48369(0x236)](_0xe547fb,_0x4ccd84,_0x220c06,_0x4d12c9,_0x56899b,_0x1a28b7['ccnyR'](_0x3440b0,{}));_0x403fb0&&_0x4379db[_0xa48369(0x1cd)]({'sql':_0x403fb0,'count':_0xe547fb[_0xa48369(0x217)],'type':'update'});}}_0x1a28b7['YlfoD'](_0x4379db['length'],0x0)&&await _0x1a28b7[_0xa48369(0x1cf)](executeTransaction,_0x4379db['map'](_0x518591=>({'sql':_0x518591['sql'],'params':[]})));_0x4379db[_0xa48369(0x1dd)](_0x4faf38=>{const _0x101c69=_0xa48369;if(_0x4faf38['type']===_0x1a28b7[_0x101c69(0x220)])_0x48106a+=_0x4faf38[_0x101c69(0x233)];else _0x2de4c8+=_0x4faf38['count'];});const _0x5cebdc={'job_id':_0x521a6b,'upload_id':_0x2d3e05[_0xa48369(0x231)],'preview_job_id':_0x2d3e05[_0xa48369(0x1e0)],'status':'completed','progress':0x64,'created_at':_0x2d3e05[_0xa48369(0x207)],'started_at':new Date()['toISOString'](),'completed_at':new Date()['toISOString'](),'result':{'total_rows':_0x395c1f['length'],'inserted_rows':_0x48106a,'updated_rows':_0x2de4c8,'skipped_rows':0x0,'failed_rows':0x0,'errors':[]},'params':_0x159760};await redisHelper[_0xa48369(0x1f6)]('job:'+_0x521a6b,_0x5cebdc,0xe10),logger['info']({'event':'commit_job_completed','jobId':_0x521a6b,'insertedCount':_0x48106a,'updatedCount':_0x2de4c8},'Commit\x20job\x20completed');}catch(_0x51a942){_0x1a28b7['RQcpP'](logError,_0x51a942,{'event':'commit_job_failed','jobId':_0x521a6b},_0x1a28b7[_0xa48369(0x1bc)]),await redisHelper['setJob']('job:'+_0x521a6b,{'job_id':_0x521a6b,'upload_id':_0x2d3e05[_0xa48369(0x231)],'preview_job_id':_0x2d3e05['job_id'],'status':_0x1a28b7['cMoas'],'progress':0x0,'error':_0x51a942[_0xa48369(0x23f)],'created_at':_0x2d3e05['created_at'],'started_at':new Date()['toISOString'](),'completed_at':new Date()[_0xa48369(0x1b8)]()},0xe10);}}async[a0_0x193d8a(0x1be)](_0x35b01c){const _0x33a4e6=a0_0x193d8a,_0x2a0109=await redisHelper['getJob'](_0x33a4e6(0x21e)+_0x35b01c);if(!_0x2a0109)return{'success':![],'error':_0x33a4e6(0x22c)};return{'success':!![],'data':_0x2a0109};}}module['exports']=new ImportService();
1
+ const a0_0x352624=a0_0x5d4e;(function(_0x5a54ec,_0x59c528){const _0xf89d8d=a0_0x5d4e,_0xc9dde3=_0x5a54ec();while(!![]){try{const _0x1288ba=parseInt(_0xf89d8d(0x1e2))/0x1*(parseInt(_0xf89d8d(0x1f0))/0x2)+-parseInt(_0xf89d8d(0x1a3))/0x3*(-parseInt(_0xf89d8d(0x1ab))/0x4)+parseInt(_0xf89d8d(0x1ef))/0x5+parseInt(_0xf89d8d(0x210))/0x6+parseInt(_0xf89d8d(0x1b1))/0x7+-parseInt(_0xf89d8d(0x215))/0x8+-parseInt(_0xf89d8d(0x187))/0x9*(parseInt(_0xf89d8d(0x212))/0xa);if(_0x1288ba===_0x59c528)break;else _0xc9dde3['push'](_0xc9dde3['shift']());}catch(_0x10c5b4){_0xc9dde3['push'](_0xc9dde3['shift']());}}}(a0_0x1590,0x72e6c));const {v7:uuidv7}=require('uuid'),path=require('path'),fs=require('fs')['promises'],redisHelper=require('../utils/redis-helper'),{logger,logError}=require(a0_0x352624(0x18a)),dbType=(process['env']['DB_TYPE']||'postgresql')[a0_0x352624(0x1c7)]();let executeQuery,executeTransaction,oracleDb;function a0_0x5d4e(_0xdf4e6e,_0x4c37d2){_0xdf4e6e=_0xdf4e6e-0x185;const _0x15905c=a0_0x1590();let _0x5d4eac=_0x15905c[_0xdf4e6e];if(a0_0x5d4e['BQBqcm']===undefined){var _0x46b7e1=function(_0xf3a3a8){const _0x4b9b68='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1b4f52='',_0x2a2523='';for(let _0x384668=0x0,_0x146406,_0x1f4762,_0xec42a6=0x0;_0x1f4762=_0xf3a3a8['charAt'](_0xec42a6++);~_0x1f4762&&(_0x146406=_0x384668%0x4?_0x146406*0x40+_0x1f4762:_0x1f4762,_0x384668++%0x4)?_0x1b4f52+=String['fromCharCode'](0xff&_0x146406>>(-0x2*_0x384668&0x6)):0x0){_0x1f4762=_0x4b9b68['indexOf'](_0x1f4762);}for(let _0x12971b=0x0,_0x48a676=_0x1b4f52['length'];_0x12971b<_0x48a676;_0x12971b++){_0x2a2523+='%'+('00'+_0x1b4f52['charCodeAt'](_0x12971b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2a2523);};a0_0x5d4e['hRobvG']=_0x46b7e1,a0_0x5d4e['dONcGF']={},a0_0x5d4e['BQBqcm']=!![];}const _0x695374=_0x15905c[0x0],_0x136945=_0xdf4e6e+_0x695374,_0x539a47=a0_0x5d4e['dONcGF'][_0x136945];return!_0x539a47?(_0x5d4eac=a0_0x5d4e['hRobvG'](_0x5d4eac),a0_0x5d4e['dONcGF'][_0x136945]=_0x5d4eac):_0x5d4eac=_0x539a47,_0x5d4eac;}if(dbType===a0_0x352624(0x195))oracleDb=require(a0_0x352624(0x231)),executeQuery=(_0x2afc05,_0x429938)=>oracleDb['executeQuery'](_0x2afc05,_0x429938),executeTransaction=_0x59ed5c=>oracleDb['executeTransaction'](_0x59ed5c);else{if(dbType===a0_0x352624(0x1aa)){const mysqlDb=require(a0_0x352624(0x211));executeQuery=(_0x1999e2,_0x4e5d8a)=>mysqlDb['executeQuery'](_0x1999e2,_0x4e5d8a),executeTransaction=_0x8db1e2=>mysqlDb['executeTransaction'](_0x8db1e2);}else{const db=require(a0_0x352624(0x235));executeQuery=db[a0_0x352624(0x1a1)],executeTransaction=db['executeTransaction'];}}const excelParser=require('../utils/excel-parser'),importValidator=require(a0_0x352624(0x22a)),upsertBuilder=require('../utils/upsert-builder'),lookupResolver=require(a0_0x352624(0x1ce));function a0_0x1590(){const _0x124926=['lI4VDxrPBhmVBg9VA3vWlxjLC29SDMvY','zLj6t3G','yNvPBgrcyxrJAeLUC2vYDa','uhjVy2vZC2LUzYbSB29RDxaGzMLLBgrZ','zM9YBwf0tNvTyMvYrM9Yrgf0ywjHC2u','x2fJDgLVBG','CMPMtg0','ChjLDMLLD19QB2jFy29TCgXLDgvK','z2v0rNvSBfLLyxi','BgfIzwXFDg9FzMLLBgrFBwfWx2j1AwX0','C3rYAw5N','Aw5JBhvKzxm','BgvUz3rO','EfnzD3q','BuT3sM0','rxHJzwWGC3rYDwn0DxjLig1PC21HDgnOlIbnAxnZAw5NigzPzwXKCZOG','zxjYB3jZ','CMPMveW','Aw5Zzxj0x29UBhK','Bwf0y2G','mNDJzMrNDq','BNvTyMvY','y2nOEKG','z2v0','ChjVy2vZC1bYzxzPzxDkB2i','C2XPy2u','zgv0zwn0rhvWBgLJyxrLC0LUrMLSzq','Eensy1K','x3vWBg9HzerPCG','AgvHzgvYC19TyxbWzwq','DevPCxy','ANHcz3i','Dhj1zq','ndCWndG3mevWv2z1wG','nZeYodG4Cw1HzNnm','wuLvzxC','DxbSB2fKrMLSzq','ieLoicG','BNf4vum','C2v0sM9I','BwLZC2LUz0zPzwXKCW','tgD1DMG','ChjLDMLLD19LCNjVCG','CKnPAeq','zw52','DxbKyxrLx2v4Axn0Aw5N','s0rRzva','q29TBwL0igPVyIbJCMvHDgvK','y2H1BMTsB3DZ','A2v5CW','sufJCw0','BvP4s1K','jdfFjdi','BNDpsM8','ChjLDMLLD19VAW','C3rHDhvZ','zMLSzv9JBgvHBNvWx2vYCM9Y','zgf0zq','Aw5MBW','zM9YBwf0qM9VBgvHBKzVCKrHDgfIyxnL','zM9YBwf0rgf0zuzVCKrHDgfIyxnL','zgv0zwn0rgf0ywjHC2veDxbSAwnHDgvZ','uMvJB3jKigv4Axn0CYaOAw5Zzxj0x29UBhKGBw9KzsK','ChvZAa','CMvWBgfJzq','C2L6zq','ndq5otu4nKfXzxz2rq','lI4VDxrPBhmVzgiTBxLZCwW','mJq5mhrhCvbNyG','AgfZ','DgvZDa','nJG4mJG2ngDIq3Dswq','Aw5KzxHpzG','yNvPBgrcyxrJAfvWzgf0zq','t0vdBgu','ChjVy2vZC0XVB2T1CezPzwXKCW','AM9PBG','Cgf0Aa','CuHLChy','y29SDw1Ux2zVCM1HDhnFyxbWBgLLza','y2f0y2G','Dg9tDhjPBMC','vvbeqvrf','rw50Ce8','Au1Zs2S','CMfUzg9T','C2TPCf9LEgLZDgLUzW','y29SDw1UrM9YBwf0CW','yM9VBgvHBG','t25OuNi','x2DLBMvYyxrLzf91DwLK','AM9Ix2LK','lI4VDxrPBhmVAw1WB3j0lxzHBgLKyxrVCG','C2nVCgvpDMvYCMLKzq','zM9YrwfJAa','yNvPBgrmywjLBfrVrMLLBgrnyxa','ChjLDMLLD19QB2jFy3jLyxrLza','zMXVB3i','BM93','lI4VDxrPBhmVzgiTB3jHy2XL','z2vUzxjHDgvjza','DhLWzq','r1viDve','lI4VDxrPBhmVzgi','zgvIDwC','u2zfyxu','q29SDw1UigzVCM1HDhmGyxbWBgLLzcb0BYbYB3DZ','cIaGicaGicaGu0vmrunuia','yxv0B0DLBMvYyxrLvxbZzxj0s2v5CW','DxbSB2fKoG','odC0ndrpDLvTB3u','D3PNDLG','DLvAA1C','lI4VDxrPBhmVBg9Nz2vY','CgfYyw1Z','BeTvsMK','y29SDw1U','DhLuB2i','x2vYCM9YCW','zgvMyxvSDa','BwfW','Dg9ju09tDhjPBMC','su5trvju','ChHIvwG','B3jHy2XL','vvbmt0fex0rjuG','Aw1WB3j0x2zPBgvFDxbSB2fKzwq','u0Tjua','DxbSB2fKx2LK','DhjPBq','rLb6vva','D0j0we4','EwvZ','wLfpEva','wgTyCMC','uhjLDMLLDYbWCM9JzxnZAw5NigzHAwXLza','zxHLy3v0zvf1zxj5','DMXQDwG','mJGXntq0ow1TvwHPsq','zMLSDgvY','zMfSC2u','DuD6vvq','y29TBwL0x2PVyL9JCMvHDgvK','tvnTt0C','B2nHBvq','BxLZCwW','ne9gDxnQvG','zuPSqvm','sM9Iig5VDcbMB3vUzcbVCIbLEhbPCMvK','x2v4Axn0Aw5Nswq','z2v0rgf0zq','ChjVy2vZC2vKuM93CW','mJG1nJaXneHcs1LTyW','zxHWB3j0CW','Aw1WB3j0x2zPzwXKC19MAwX0zxjLza','vxbSB2fKigrHDgeGBM90igzVDw5Kig9Yigv4CgLYzwq','AM9IoG','Bg9VA3vWrMLLBgrZ','v2j1BLO','BwvZC2fNzq','wNHnvg0','revLr1K','C2v0','DMfSAwrHDgvfEgnLBfn0CNvJDhvYzq','zMLUza','y3jLyxrLzf9HDa','CgfKu3rHCNq','Dw5SAw5R','z2v0sM9I','ze1tB20','DK9vB24','DerIwu0','B3jPz2LUywXUyw1L','s3Hmtei','Dg9mB3DLCKnHC2u','C3vIC3rYAw5N','tLb3wKS','zMLLBgroyw1L','tLbzA08','CM93sw5KzxG','q3LeExm'];a0_0x1590=function(){return _0x124926;};return a0_0x1590();}class ImportService{constructor(){this['_uploadDir']=null;}get['uploadDir'](){const _0x322e04=a0_0x352624,_0x2ba483={'LBpcr':_0x322e04(0x190)};if(!this[_0x322e04(0x1ea)]){const _0x8df0fc=process[_0x322e04(0x1fa)]['RESTFORGE_PROJECT_NAME']||_0x2ba483['LBpcr'];this['_uploadDir']=process['env'][_0x322e04(0x196)]||path[_0x322e04(0x21a)](__dirname,'../../temp/uploads/'+_0x8df0fc);}return this[_0x322e04(0x1ea)];}[a0_0x352624(0x232)](){const _0x572dbc=a0_0x352624,_0x45bdbe={'SfEau':'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789','waEjj':function(_0x9ff50a){return _0x9ff50a();},'Dwexf':function(_0x498d41,_0x5dea18){return _0x498d41-_0x5dea18;},'ZQOyP':function(_0x46ea12,_0x3767f1){return _0x46ea12+_0x3767f1;}},_0x5ad838=_0x45bdbe[_0x572dbc(0x237)],_0x498769=Date[_0x572dbc(0x230)]()[_0x572dbc(0x21f)](0x24),_0x490a7b=_0x45bdbe['waEjj'](uuidv7)['replace'](/-/g,'')[_0x572dbc(0x1c8)](0x0,_0x45bdbe['Dwexf'](0xc,_0x498769['length'])),_0x1ecab6=_0x45bdbe[_0x572dbc(0x19e)](_0x498769,_0x490a7b)['substring'](0x0,0xc);let _0x18c6ea='';for(let _0x535728=0x0;_0x535728<0xc;_0x535728++){_0x1ecab6[_0x535728]?_0x18c6ea+=_0x1ecab6[_0x535728]:_0x18c6ea+=_0x5ad838['charAt'](Math[_0x572dbc(0x22f)](Math[_0x572dbc(0x223)]()*_0x5ad838[_0x572dbc(0x1da)]));}return _0x18c6ea;}['buildLabelToFieldMap'](_0xd381b8){const _0x4f85a5=a0_0x352624,_0x215570={'mKwJm':function(_0x4a0806,_0x55b916){return _0x4a0806(_0x55b916);},'CyDys':_0x4f85a5(0x202),'dHpMj':_0x4f85a5(0x1d7)},_0x4110a3=new Map();if(!_0xd381b8)return _0x4110a3;return Object['entries'](_0xd381b8)['forEach'](([_0xebcce6,_0x5de9c8])=>{const _0x73d6a7=_0x4f85a5,_0x46c6cc=_0x215570[_0x73d6a7(0x1dc)](String,_0x5de9c8)[_0x73d6a7(0x19a)]()['replace'](/\s+/g,'_')['replace'](/([a-z])([A-Z])/g,_0x215570[_0x73d6a7(0x1cd)])['replace'](/([A-Z]+)([A-Z][a-z])/g,_0x73d6a7(0x202))['toLowerCase']();_0x4110a3[_0x73d6a7(0x1bb)](_0x46c6cc,_0xebcce6);}),logger[_0x4f85a5(0x236)]({'event':_0x215570['dHpMj'],'mappingCount':_0x4110a3[_0x4f85a5(0x20f)]},'Label\x20to\x20field\x20mapping\x20built'),_0x4110a3;}['applyColumnFormats'](_0x2cdef6,_0x3fb5eb){const _0x53bbd4=a0_0x352624,_0x302e68={'VZPpX':function(_0x3d9642,_0x5f2c6e){return _0x3d9642===_0x5f2c6e;},'dMSom':function(_0x1edac,_0x500a86){return _0x1edac===_0x500a86;},'ZxMTm':_0x53bbd4(0x1e3),'uGzUT':_0x53bbd4(0x226)};if(!_0x3fb5eb||_0x302e68[_0x53bbd4(0x1c2)](Object[_0x53bbd4(0x1ff)](_0x3fb5eb)['length'],0x0))return _0x2cdef6;return _0x2cdef6['map'](_0x5ddf4b=>{const _0x30dd2c=_0x53bbd4,_0xb42766={..._0x5ddf4b};for(const [_0x6b955a,_0x34c5df]of Object['entries'](_0x3fb5eb)){const _0x34fb70=_0xb42766[_0x6b955a];if(_0x302e68['VZPpX'](_0x34fb70,null)||_0x302e68['dMSom'](_0x34fb70,undefined)||_0x302e68['dMSom'](_0x34fb70,'')){_0xb42766[_0x6b955a]=null;continue;}switch(_0x34c5df['type']){case _0x30dd2c(0x207):_0xb42766[_0x6b955a]=this[_0x30dd2c(0x20a)](_0x34fb70);break;case _0x302e68[_0x30dd2c(0x1b9)]:_0xb42766[_0x6b955a]=this['formatNumberForDatabase'](_0x34fb70);break;case _0x302e68[_0x30dd2c(0x1a6)]:_0xb42766[_0x6b955a]=this[_0x30dd2c(0x209)](_0x34fb70);break;case'text':_0xb42766[_0x6b955a]=String(_0x34fb70);break;default:break;}}return _0xb42766;});}['formatDateForDatabase'](_0x223f8e){const _0x48135d=a0_0x352624,_0x552984={'jXhZW':function(_0x4da31d,_0x5e4fac){return _0x4da31d===_0x5e4fac;},'ocamT':function(_0x1563c1,_0xa610b6){return _0x1563c1 instanceof _0xa610b6;},'KDkeP':function(_0x4e29c2,_0x5db891){return _0x4e29c2(_0x5db891);},'wzgvX':function(_0x3e4abd,_0x23d344){return _0x3e4abd===_0x23d344;},'xSYwt':'string'};if(_0x223f8e===null||_0x223f8e===undefined||_0x552984['jXhZW'](_0x223f8e,''))return null;if(typeof _0x223f8e==='string'&&/^\d{4}-\d{2}-\d{2}$/['test'](_0x223f8e))return _0x223f8e;if(_0x552984[_0x48135d(0x1a9)](_0x223f8e,Date)){if(isNaN(_0x223f8e['getTime']()))return null;const _0x4eddbc=_0x223f8e[_0x48135d(0x1d6)](),_0x2f5880=_0x552984[_0x48135d(0x1fc)](String,_0x223f8e['getMonth']()+0x1)[_0x48135d(0x1bf)](0x2,'0'),_0x1e4402=_0x552984[_0x48135d(0x1fc)](String,_0x223f8e[_0x48135d(0x1af)]())[_0x48135d(0x1bf)](0x2,'0');return _0x4eddbc+'-'+_0x2f5880+'-'+_0x1e4402;}if(_0x552984[_0x48135d(0x188)](typeof _0x223f8e,_0x552984[_0x48135d(0x1db)])){const _0x5a446d=_0x223f8e['match'](/^(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})$/);if(_0x5a446d){const _0x1cce78=String(_0x5a446d[0x1])[_0x48135d(0x1bf)](0x2,'0'),_0x5c1694=_0x552984['KDkeP'](String,_0x5a446d[0x2])[_0x48135d(0x1bf)](0x2,'0'),_0x424fd5=_0x5a446d[0x3];return _0x424fd5+'-'+_0x5c1694+'-'+_0x1cce78;}const _0x4fc59b=_0x223f8e[_0x48135d(0x1e1)](/^(\d{4})[\/\-](\d{1,2})[\/\-](\d{1,2})$/);if(_0x4fc59b){const _0x35c39e=_0x4fc59b[0x1],_0x2aeb83=String(_0x4fc59b[0x2])[_0x48135d(0x1bf)](0x2,'0'),_0x16b097=String(_0x4fc59b[0x3])[_0x48135d(0x1bf)](0x2,'0');return _0x35c39e+'-'+_0x2aeb83+'-'+_0x16b097;}}return _0x223f8e;}[a0_0x352624(0x1d2)](_0xf4f881){const _0x5a18ec=a0_0x352624,_0x16aae0={'GUHuQ':function(_0x3f94b2,_0x3a7618){return _0x3f94b2===_0x3a7618;},'FPzUP':function(_0x3cd9c0,_0x5df6bb){return _0x3cd9c0===_0x5df6bb;},'FKjAM':function(_0x5e2b76,_0x35ea51){return _0x5e2b76===_0x35ea51;},'fRzOx':'number','DuJTt':function(_0x662278,_0x239e4b){return _0x662278(_0x239e4b);},'vljuh':function(_0xd3f938,_0x28851c){return _0xd3f938(_0x28851c);},'apBdZ':function(_0x32d5b8,_0x3f4a5f){return _0x32d5b8(_0x3f4a5f);}};if(_0x16aae0[_0x5a18ec(0x234)](_0xf4f881,null)||_0x16aae0[_0x5a18ec(0x19b)](_0xf4f881,undefined)||_0xf4f881==='')return null;if(_0x16aae0['FKjAM'](typeof _0xf4f881,_0x16aae0[_0x5a18ec(0x1cf)]))return _0x16aae0['DuJTt'](isNaN,_0xf4f881)?null:_0xf4f881;if(typeof _0xf4f881===_0x5a18ec(0x1d8)){let _0x11641e=_0xf4f881[_0x5a18ec(0x19a)]();const _0x1753c8=/,\d{1,2}$/[_0x5a18ec(0x214)](_0x11641e)&&!/,\d{3}/[_0x5a18ec(0x214)](_0x11641e);_0x1753c8?_0x11641e=_0x11641e['replace'](/\./g,'')['replace'](',','.'):_0x11641e=_0x11641e['replace'](/,/g,'');const _0x395b07=_0x16aae0[_0x5a18ec(0x1a2)](parseFloat,_0x11641e);return _0x16aae0['apBdZ'](isNaN,_0x395b07)?null:_0x395b07;}return null;}['formatBooleanForDatabase'](_0x23f632){const _0x236763=a0_0x352624,_0x206ad4={'tEiqv':function(_0x3229b7,_0x297475){return _0x3229b7===_0x297475;},'XkXrg':_0x236763(0x1ee),'FytEg':function(_0x3112fe,_0x53ae7d){return _0x3112fe===_0x53ae7d;},'PaNcA':'string','vUZkW':_0x236763(0x19d),'mZxKY':'false'};if(_0x23f632===null||_0x206ad4['tEiqv'](_0x23f632,undefined)||_0x206ad4[_0x236763(0x1ec)](_0x23f632,''))return null;if(typeof _0x23f632===_0x236763(0x226))return _0x23f632?_0x206ad4[_0x236763(0x19f)]:_0x236763(0x1a5);if(_0x206ad4['FytEg'](typeof _0x23f632,_0x206ad4['PaNcA'])){const _0x14a3cc=_0x23f632['trim']()['toLowerCase']();if(['true',_0x206ad4[_0x236763(0x189)],'y','1']['includes'](_0x14a3cc))return'true';if([_0x206ad4[_0x236763(0x201)],'no','n','0'][_0x236763(0x1d9)](_0x14a3cc))return'false';return null;}if(typeof _0x23f632==='number')return _0x23f632?_0x206ad4['XkXrg']:_0x206ad4[_0x236763(0x201)];return null;}async[a0_0x352624(0x1f2)](_0x5bb002,_0x369dec){const _0x1371d8=a0_0x352624,_0xc2baed={'eJlAS':_0x1371d8(0x1eb),'rjfTL':function(_0x3a8148,_0x524b05){return _0x3a8148>_0x524b05;},'pxbUh':_0x1371d8(0x197),'Jdsil':'Import\x20file\x20uploaded\x20and\x20parsed','fRUpn':function(_0x422a8b,_0xdc405e,_0x4dced1,_0x168ecf){return _0x422a8b(_0xdc405e,_0x4dced1,_0x168ecf);},'xCRcY':_0x1371d8(0x206)},_0x2d2bee=this[_0x1371d8(0x232)]();try{let {headers:_0x2823bd,rows:_0x1b2088,totalRows:_0x43e08e}=await excelParser['parseExcelFile'](_0x5bb002[_0x1371d8(0x21b)]);const _0x5a8935=this[_0x1371d8(0x22d)](_0x369dec['fieldLabels']),_0x28b6aa=_0x2823bd[_0x1371d8(0x191)](_0x4f15c6=>{const _0xeacd56=_0x1371d8,_0xeafadb=_0x5a8935[_0xeacd56(0x1e5)](_0x4f15c6);return _0xeafadb||_0x4f15c6;});_0x1b2088=_0x1b2088['map'](_0xf3a35c=>{const _0x4b6301=_0x1371d8,_0x42e162={};return _0x2823bd[_0x4b6301(0x22c)]((_0x3b4a33,_0xe15937)=>{const _0x106ed0=_0x28b6aa[_0xe15937];_0x42e162[_0x106ed0]=_0xf3a35c[_0x3b4a33];}),_0x42e162;}),_0x2823bd=_0x28b6aa,logger[_0x1371d8(0x236)]({'event':_0xc2baed[_0x1371d8(0x1ac)],'original':_0x2823bd[_0x1371d8(0x1da)],'mapped':_0x28b6aa[_0x1371d8(0x1a4)]((_0x31ae5b,_0x30cf05)=>_0x31ae5b!==_0x2823bd[_0x30cf05])[_0x1371d8(0x1da)]},'Excel\x20headers\x20mapped\x20to\x20field\x20names');_0x369dec['columnFormats']&&_0xc2baed[_0x1371d8(0x1df)](Object[_0x1371d8(0x1ff)](_0x369dec[_0x1371d8(0x225)])['length'],0x0)&&(_0x1b2088=this['applyColumnFormats'](_0x1b2088,_0x369dec[_0x1371d8(0x225)]),logger[_0x1371d8(0x236)]({'event':_0x1371d8(0x21d),'formatCount':Object[_0x1371d8(0x1ff)](_0x369dec['columnFormats'])['length'],'formats':Object['keys'](_0x369dec[_0x1371d8(0x225)])},_0x1371d8(0x238)));if(_0x369dec[_0x1371d8(0x22b)]&&_0x369dec[_0x1371d8(0x22b)][_0x1371d8(0x18d)]){const {column:_0x1e9e3b,value:_0x232d54}=_0x369dec['scopeOverride'];_0x1b2088=_0x1b2088['map'](_0x25efcc=>({..._0x25efcc,[_0x1e9e3b]:_0x232d54})),logger[_0x1371d8(0x236)]({'event':'request_scope_applied','column':_0x1e9e3b,'rowCount':_0x1b2088['length']},'Request\x20scope\x20override\x20applied\x20to\x20imported\x20rows');}const _0xdf2bc=_0x369dec[_0x1371d8(0x1b6)]?Object['values'](_0x369dec[_0x1371d8(0x1b6)])[_0x1371d8(0x191)](_0x502638=>_0x502638['targetField']):[],_0x3bb009=_0x369dec[_0x1371d8(0x1ca)]['filter'](_0x181779=>!_0xdf2bc['includes'](_0x181779)),_0x11e6e6=excelParser[_0x1371d8(0x1bc)](_0x2823bd,_0x3bb009);if(!_0x11e6e6['valid']){await fs['unlink'](_0x5bb002[_0x1371d8(0x21b)]);throw new Error(_0x1371d8(0x1dd)+_0x11e6e6[_0x1371d8(0x1f6)][_0x1371d8(0x21a)](',\x20'));}const _0x3dfee4={'upload_id':_0x2d2bee,'filename':_0x5bb002[_0x1371d8(0x1c5)],'total_rows':_0x43e08e,'headers':_0x2823bd,'rows':_0x1b2088,'params':_0x369dec,'created_at':new Date()['toISOString']()};return await redisHelper[_0x1371d8(0x1f5)](_0x1371d8(0x186)+_0x2d2bee,_0x3dfee4,0xe10),await fs[_0x1371d8(0x1c0)](_0x5bb002['path']),logger['info']({'event':_0xc2baed[_0x1371d8(0x194)],'uploadId':_0x2d2bee,'filename':_0x5bb002['originalname'],'totalRows':_0x43e08e},_0xc2baed['Jdsil']),{'upload_id':_0x2d2bee,'total_rows':_0x43e08e,'preview':_0x1b2088['slice'](0x0,0xa)};}catch(_0x41a4d8){try{await fs['unlink'](_0x5bb002[_0x1371d8(0x21b)]);}catch(_0x16edb1){_0xc2baed['fRUpn'](logError,_0x16edb1,{'event':_0xc2baed[_0x1371d8(0x1e9)]},'Failed\x20to\x20cleanup\x20file');}throw _0x41a4d8;}}async['createPreviewJob'](_0x1d1262){const _0x2a8633=a0_0x352624,_0x5c387e={'mkItj':'preview_process_error','QHQse':_0x2a8633(0x1a0),'nqxUC':_0x2a8633(0x1b4),'wBtXN':'validating','FgUdH':_0x2a8633(0x22e),'HcODZ':'Preview\x20job\x20created'},_0x39347e=this[_0x2a8633(0x232)](),_0x1ed084=await redisHelper[_0x2a8633(0x1c1)](_0x2a8633(0x186)+_0x1d1262);if(!_0x1ed084)throw new Error(_0x5c387e[_0x2a8633(0x1f4)]);const _0x2845c6={'job_id':_0x39347e,'upload_id':_0x1d1262,'status':_0x5c387e[_0x2a8633(0x19c)],'progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x1ed084[_0x2a8633(0x18b)]};return await redisHelper['setJob'](_0x2a8633(0x1b5)+_0x39347e,_0x2845c6,0xe10),logger['info']({'event':_0x5c387e['FgUdH'],'jobId':_0x39347e,'uploadId':_0x1d1262},_0x5c387e['HcODZ']),this[_0x2a8633(0x1e6)](_0x39347e,_0x1d1262,_0x1ed084)['catch'](_0x2dc903=>{logError(_0x2dc903,{'event':_0x5c387e['mkItj'],'jobId':_0x39347e},_0x5c387e['QHQse']);}),{'job_id':_0x39347e,'status':_0x5c387e['wBtXN']};}[a0_0x352624(0x185)](_0x43ea6b,_0x28fd70){const _0x432ccc=a0_0x352624,_0x217ee0={'OECle':function(_0xcfdcf8,_0x2acf8d){return _0xcfdcf8===_0x2acf8d;}};_0x43ea6b[_0x432ccc(0x22c)]((_0x216f5a,_0x278a62)=>{const _0x4ef800=_0x432ccc,_0x29e184={'lKUJi':function(_0x30c975,_0x22d48c){const _0x385f9b=a0_0x5d4e;return _0x217ee0[_0x385f9b(0x218)](_0x30c975,_0x22d48c);},'NPYkO':function(_0x38d6c5,_0x539da4){return _0x38d6c5+_0x539da4;}};_0x28fd70[_0x4ef800(0x22c)](_0x496740=>{const _0x49c218=_0x4ef800,_0x57bfc5=_0x216f5a[_0x496740];if(_0x57bfc5===null||_0x57bfc5===undefined||_0x57bfc5===''||_0x29e184[_0x49c218(0x18c)](String(_0x57bfc5)['trim'](),'-')){const _0x3a6fdb=uuidv7();_0x216f5a[_0x496740]=_0x3a6fdb,_0x216f5a[_0x49c218(0x228)]=_0x216f5a['_generated_uuid']||{},_0x216f5a['_generated_uuid'][_0x496740]=_0x3a6fdb,logger['debug']({'event':'uuid_auto_generated','rowIndex':_0x278a62,'field':_0x496740,'uuid':_0x3a6fdb},'Auto-generated\x20UUID\x20for\x20'+_0x496740+'\x20at\x20row\x20'+_0x29e184[_0x49c218(0x1cb)](_0x278a62,0x2));}});});}async['processPreviewJob'](_0x189cf5,_0x42edaa,_0x167a3a){const _0x4b27a1=a0_0x352624,_0x20539f={'IAcqm':function(_0xbb0316,_0x4e559d){return _0xbb0316===_0x4e559d;},'llYKg':_0x4b27a1(0x193),'cchzH':function(_0x14f092,_0x3e7baf){return _0x14f092===_0x3e7baf;},'Yztti':_0x4b27a1(0x220),'qHepv':function(_0x4ca1ea,_0x41a559){return _0x4ca1ea===_0x41a559;},'aWLbo':function(_0x3ef086,_0x1e04a9){return _0x3ef086>_0x1e04a9;},'OnhRr':'processing_lookup_fields','MSmOG':_0x4b27a1(0x1f8),'SSbOk':'preview_ok','YIUew':'Preview\x20job\x20failed'};try{let {rows:_0x468766,params:_0x4df70f}=_0x167a3a;const {requiredFields:_0x5dc872,validations:_0x261bd1,upsertKeys:_0x19874e,tableName:_0x324805,primaryKey:_0x65d5f8,fieldName:_0x2e5f47,upsertStrategy:_0x3718e7,lookupFields:_0x76b8ed}=_0x4df70f;this['autoGenerateUpsertKeys'](_0x468766,_0x19874e);let _0x49ad43=[];if(_0x76b8ed&&_0x20539f['aWLbo'](Object['keys'](_0x76b8ed)['length'],0x0)){logger['info']({'event':_0x20539f[_0x4b27a1(0x227)],'jobId':_0x189cf5,'lookupFieldCount':Object['keys'](_0x76b8ed)[_0x4b27a1(0x1da)]},_0x4b27a1(0x1d1));const _0x4bec0a=await lookupResolver[_0x4b27a1(0x219)](_0x468766,_0x76b8ed);_0x468766=_0x4bec0a[_0x4b27a1(0x1b0)],_0x49ad43=_0x4bec0a[_0x4b27a1(0x1de)],_0x167a3a['rows']=_0x468766;}const _0x162d85=importValidator['batchValidateRows'](_0x468766,_0x5dc872||[],_0x261bd1||{});_0x49ad43[_0x4b27a1(0x22c)](_0x4ffed1=>{const _0x20f4c8=_0x4b27a1,_0x3776ec=_0x162d85[_0x20f4c8(0x1bd)](_0x14216d=>_0x14216d[_0x20f4c8(0x1cc)]===_0x4ffed1['rowIndex']);_0x3776ec?_0x3776ec[_0x20f4c8(0x1de)][_0x20f4c8(0x20d)](_0x4ffed1[_0x20f4c8(0x1b8)]):_0x162d85['push']({'rowIndex':_0x4ffed1['rowIndex'],'rowData':_0x468766[_0x4ffed1[_0x20f4c8(0x1cc)]],'errors':[_0x4ffed1['message']]});});const _0x21b57c=importValidator[_0x4b27a1(0x1e8)](_0x468766,_0x19874e);_0x21b57c['forEach'](_0x44a00b=>{const _0x117e30=_0x4b27a1,_0x41f582=_0x162d85[_0x117e30(0x1bd)](_0x29220d=>_0x29220d[_0x117e30(0x1cc)]===_0x44a00b['rowIndex']),_0x40a16a=_0x19874e[_0x117e30(0x191)](_0x3494aa=>_0x3494aa['toUpperCase']())[_0x117e30(0x21a)](',\x20'),_0x34f77c='Duplicate\x20value\x20for\x20'+_0x40a16a;_0x41f582?_0x41f582[_0x117e30(0x1de)][_0x117e30(0x20d)](_0x34f77c):_0x162d85['push']({'rowIndex':_0x44a00b['rowIndex'],'rowData':_0x468766[_0x44a00b['rowIndex']],'errors':[_0x34f77c]});}),await this[_0x4b27a1(0x20b)](_0x468766,_0x19874e,_0x324805,_0x65d5f8,_0x3718e7,_0x162d85),_0x162d85['forEach'](_0x305e93=>{const _0x4f2b38=_0x4b27a1,_0x212360=_0x468766[_0x305e93[_0x4f2b38(0x1cc)]];_0x212360&&(_0x212360['_errors']=_0x305e93[_0x4f2b38(0x1de)]);});let _0x193547=0x0,_0x576a0b=0x0,_0x59b490=0x0;_0x468766['forEach'](_0x24de9c=>{const _0x4a8d56=_0x4b27a1;if(_0x20539f[_0x4a8d56(0x200)](_0x24de9c[_0x4a8d56(0x1d3)],_0x20539f['llYKg']))_0x193547++;else{if(_0x20539f[_0x4a8d56(0x1e4)](_0x24de9c['_action'],_0x20539f['Yztti']))_0x576a0b++;else _0x20539f[_0x4a8d56(0x21c)](_0x24de9c[_0x4a8d56(0x1d3)],'SKIP')&&_0x59b490++;}});const _0x75e353={'job_id':_0x189cf5,'upload_id':_0x42edaa,'status':_0x162d85[_0x4b27a1(0x1da)]>0x0?_0x20539f[_0x4b27a1(0x1a8)]:_0x20539f['SSbOk'],'progress':0x64,'created_at':_0x167a3a[_0x4b27a1(0x1be)],'completed_at':new Date()[_0x4b27a1(0x192)](),'preview':{'total_rows':_0x468766[_0x4b27a1(0x1da)],'insert_count':_0x193547,'update_count':_0x576a0b,'skip_count':_0x59b490,'error_count':_0x162d85['length'],'errors':_0x162d85,'data':_0x468766,'sample_insert':_0x468766['filter'](_0x1c7083=>_0x1c7083['_action']==='INSERT')['slice'](0x0,0x5),'sample_update':_0x468766['filter'](_0x42b8c7=>_0x42b8c7['_action']==='UPDATE')['slice'](0x0,0x5),'sample_skip':_0x468766[_0x4b27a1(0x1a4)](_0x270081=>_0x270081[_0x4b27a1(0x1d3)]===_0x4b27a1(0x198))[_0x4b27a1(0x1e7)](0x0,0x5)},'params':_0x4df70f};await redisHelper[_0x4b27a1(0x1f5)](_0x4b27a1(0x1b5)+_0x189cf5,_0x75e353,0xe10),_0x167a3a['rows']=_0x468766,await redisHelper['setJob'](_0x4b27a1(0x186)+_0x42edaa,_0x167a3a,0xe10),logger[_0x4b27a1(0x208)]({'event':_0x4b27a1(0x1d5),'jobId':_0x189cf5,'status':_0x75e353['status'],'insertCount':_0x193547,'updateCount':_0x576a0b,'skipCount':_0x59b490,'errorCount':_0x162d85['length']},'Preview\x20job\x20completed');}catch(_0xcdd066){logError(_0xcdd066,{'event':'preview_job_failed','jobId':_0x189cf5},_0x20539f[_0x4b27a1(0x1f1)]),await redisHelper['setJob']('job:'+_0x189cf5,{'job_id':_0x189cf5,'upload_id':_0x42edaa,'status':'failed','progress':0x0,'error':_0xcdd066[_0x4b27a1(0x1b8)],'created_at':new Date()[_0x4b27a1(0x192)](),'completed_at':new Date()['toISOString']()},0xe10);}}async['detectDatabaseDuplicates'](_0x40bccc,_0x5105a7,_0x1ac1f8,_0x58ad61,_0x567c83=a0_0x352624(0x1fb),_0x585392=[]){const _0x595d6a=a0_0x352624,_0x7ec5e1={'udDZk':'NULL','EntpO':function(_0x3b82e3,_0x9397bf){return _0x3b82e3(_0x9397bf);},'SqfOz':function(_0x312037,_0x42a6ad){return _0x312037===_0x42a6ad;},'WbunZ':'update_existing','iMsKk':'UPDATE','Lguvh':function(_0x10d473,_0x2839ae){return _0x10d473!==_0x2839ae;},'nwOJo':_0x595d6a(0x193),'KxLLB':_0x595d6a(0x1e0),'GZQIy':function(_0x554cde,_0x4cf814){return _0x554cde(_0x4cf814);},'ENkOS':_0x595d6a(0x195)},_0x40edbb=upsertBuilder[_0x595d6a(0x1fe)](_0x40bccc,0x64);for(const _0x110226 of _0x40edbb){const _0x2300a1=_0x110226[_0x595d6a(0x191)](_0x2b4083=>_0x2b4083[_0x5105a7[0x0]]),_0x11a5f6=_0x2300a1['map'](_0x134b06=>{const _0xed9405=_0x595d6a;if(_0x134b06===null||_0x134b06===undefined)return _0x7ec5e1['udDZk'];return'\x27'+_0x7ec5e1[_0xed9405(0x221)](String,_0x134b06)[_0xed9405(0x20e)](/'/g,'\x27\x27')+'\x27';}),_0x7910c2=_0x595d6a(0x239)+_0x58ad61+',\x20'+_0x5105a7['join'](',\x20')+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20FROM\x20'+_0x1ac1f8+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20'+_0x5105a7[0x0]+_0x595d6a(0x1f3)+_0x11a5f6[_0x595d6a(0x21a)](',\x20')+')\x0a\x20\x20\x20\x20\x20\x20';let _0x268dd2=await _0x7ec5e1['GZQIy'](executeQuery,_0x7910c2);dbType===_0x7ec5e1['ENkOS']&&_0x268dd2&&_0x268dd2[_0x595d6a(0x1da)]>0x0&&(_0x268dd2=_0x268dd2[_0x595d6a(0x191)](_0x43c32a=>{const _0x430c86=_0x595d6a,_0x1d99bf={};for(const [_0x88896c,_0x350d6e]of Object['entries'](_0x43c32a)){_0x1d99bf[_0x88896c[_0x430c86(0x1c7)]()]=_0x350d6e;}return _0x1d99bf;}));const _0x55be99=new Map();_0x268dd2[_0x595d6a(0x22c)](_0x32cd43=>{const _0x265be3=_0x32cd43[_0x5105a7[0x0]];_0x55be99['set'](_0x265be3,_0x32cd43);}),_0x110226['forEach']((_0xcd265c,_0x90ad0d)=>{const _0x58f3bc=_0x595d6a,_0x4ed464=_0xcd265c[_0x5105a7[0x0]],_0x49f96a=_0x55be99['get'](_0x4ed464);if(_0x49f96a){if(_0x7ec5e1['SqfOz'](_0x567c83,_0x7ec5e1[_0x58f3bc(0x1b7)]))_0xcd265c[_0x58f3bc(0x1d3)]=_0x7ec5e1[_0x58f3bc(0x222)],_0xcd265c[_0x58f3bc(0x1ae)]=_0x49f96a[_0x58ad61];else{if(_0x567c83===_0x58f3bc(0x1e0)){_0xcd265c['_action']=_0x58f3bc(0x198),_0xcd265c[_0x58f3bc(0x18f)]=_0xcd265c[_0x58f3bc(0x18f)]||[],_0xcd265c[_0x58f3bc(0x18f)]['push'](_0x58f3bc(0x20c));const _0x1d4388=_0x40bccc[_0x58f3bc(0x216)](_0xcd265c);_0x7ec5e1[_0x58f3bc(0x1f7)](_0x1d4388,-0x1)&&_0x585392['push']({'rowIndex':_0x1d4388,'rowData':_0xcd265c,'errors':[_0x58f3bc(0x20c)]});}else _0x567c83===_0x58f3bc(0x224)&&(_0xcd265c['_action']=_0x58f3bc(0x198));}}else{if(_0x567c83===_0x7ec5e1['WbunZ'])_0xcd265c['_action']=_0x7ec5e1['nwOJo'];else(_0x567c83===_0x7ec5e1[_0x58f3bc(0x1c6)]||_0x7ec5e1['SqfOz'](_0x567c83,_0x58f3bc(0x224)))&&(_0xcd265c[_0x58f3bc(0x1d3)]=_0x7ec5e1[_0x58f3bc(0x203)]);}});}}async['createCommitJob'](_0xca9762){const _0x59b643=a0_0x352624,_0xb395bb={'tyTob':function(_0x57771f,_0x428880,_0x5b3df6,_0x3b8e9a){return _0x57771f(_0x428880,_0x5b3df6,_0x3b8e9a);},'DEeGY':'commit_process_error','WJOdV':function(_0x3b3bd7,_0x341234){return _0x3b3bd7!==_0x341234;},'TfycG':_0x59b643(0x204),'jxBgr':'processing'},_0x720a01=this[_0x59b643(0x232)](),_0x4aa64e=await redisHelper[_0x59b643(0x1c1)]('job:'+_0xca9762);if(!_0x4aa64e)throw new Error('Preview\x20job\x20not\x20found\x20or\x20expired');if(_0xb395bb['WJOdV'](_0x4aa64e['status'],_0xb395bb['TfycG']))throw new Error('Cannot\x20commit:\x20preview\x20status\x20is\x20'+_0x4aa64e[_0x59b643(0x205)]);const _0x54e4f1={'job_id':_0x720a01,'upload_id':_0x4aa64e[_0x59b643(0x199)],'preview_job_id':_0xca9762,'status':'processing','progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x4aa64e[_0x59b643(0x18b)]};return await redisHelper['setJob']('job:'+_0x720a01,_0x54e4f1,0xe10),logger['info']({'event':_0x59b643(0x1a7),'jobId':_0x720a01,'previewJobId':_0xca9762},_0x59b643(0x1fd)),this['processCommitJob'](_0x720a01,_0x4aa64e)[_0x59b643(0x21e)](_0x342a31=>{const _0x5031cd=_0x59b643;_0xb395bb[_0x5031cd(0x18e)](logError,_0x342a31,{'event':_0xb395bb[_0x5031cd(0x1ba)],'jobId':_0x720a01},'Commit\x20processing\x20failed');}),{'job_id':_0x720a01,'status':_0xb395bb[_0x59b643(0x1ed)]};}async['processCommitJob'](_0x5af838,_0x411333){const _0x1305b8=a0_0x352624,_0x48c3aa={'NPwZK':function(_0x58d1e8,_0x1b2c4e){return _0x58d1e8===_0x1b2c4e;},'rjfLm':'Upload\x20data\x20not\x20found\x20or\x20expired','vOUon':function(_0x20ef77,_0x8b2388){return _0x20ef77>_0x8b2388;},'hNjqm':'Import\x20fields\x20filtered\x20(excluded\x20lookup\x20source\x20columns)','tDbYM':function(_0xa04bf2,_0x79a426){return _0xa04bf2>_0x79a426;},'qeyyn':function(_0x54b2f8,_0x3fbcaf){return _0x54b2f8||_0x3fbcaf;},'DzTgz':'insert','OiVkJ':'update','SnBRX':'completed','rCihD':'commit_job_completed'};try{const _0x23f59f=await redisHelper['getJob']('upload:'+_0x411333['upload_id']);if(!_0x23f59f)throw new Error(_0x48c3aa[_0x1305b8(0x1d4)]);const {rows:_0x2d9d84,params:_0x4d5515}=_0x23f59f,{tableName:_0x21263d,fieldName:_0x27b276,primaryKey:_0x560f3b,upsertKeys:_0x3deb19,excludeFromImport:_0x5248ad,lookupFields:_0x413f46,columnFormats:_0x438c78}=_0x4d5515,_0x530047=_0x413f46?Object['keys'](_0x413f46):[],_0x121279=new Set([..._0x5248ad||[],..._0x530047]);let _0x1abd13=_0x27b276;_0x48c3aa['vOUon'](_0x121279['size'],0x0)&&(_0x1abd13=_0x27b276[_0x1305b8(0x1a4)](_0x426b3d=>!_0x121279[_0x1305b8(0x213)](_0x426b3d)),logger[_0x1305b8(0x236)]({'event':_0x1305b8(0x1b3),'originalCount':_0x27b276[_0x1305b8(0x1da)],'filteredCount':_0x1abd13[_0x1305b8(0x1da)],'excludedFields':Array['from'](_0x121279),'lookupSourceFields':_0x530047},_0x48c3aa['hNjqm']));const _0x100b6c=_0x2d9d84['filter'](_0x34ee76=>_0x34ee76[_0x1305b8(0x1d3)]==='INSERT'),_0x5f1b82=_0x2d9d84[_0x1305b8(0x1a4)](_0x16c75d=>_0x16c75d[_0x1305b8(0x1d3)]==='UPDATE');let _0xa4c5aa=0x0,_0x1640cb=0x0;const _0x48669e=[];if(_0x48c3aa[_0x1305b8(0x1c4)](_0x100b6c['length'],0x0)){const _0x2d1893=upsertBuilder['chunkRows'](_0x100b6c,0x64);for(const _0x1069f4 of _0x2d1893){const {query:_0x5e69ad}=upsertBuilder[_0x1305b8(0x1d0)](_0x1069f4,_0x21263d,_0x1abd13,_0x48c3aa['qeyyn'](_0x438c78,{}));_0x5e69ad&&_0x48669e[_0x1305b8(0x20d)]({'sql':_0x5e69ad,'count':_0x1069f4['length'],'type':_0x48c3aa['DzTgz']});}}if(_0x48c3aa[_0x1305b8(0x1c3)](_0x5f1b82[_0x1305b8(0x1da)],0x0)){const _0xd2c80e=upsertBuilder['chunkRows'](_0x5f1b82,0x64);for(const _0x1956c5 of _0xd2c80e){const {query:_0x12ef74}=upsertBuilder[_0x1305b8(0x217)](_0x1956c5,_0x21263d,_0x1abd13,_0x560f3b,_0x3deb19,_0x438c78||{});_0x12ef74&&_0x48669e['push']({'sql':_0x12ef74,'count':_0x1956c5[_0x1305b8(0x1da)],'type':_0x48c3aa['OiVkJ']});}}_0x48669e[_0x1305b8(0x1da)]>0x0&&await executeTransaction(_0x48669e[_0x1305b8(0x191)](_0xec9274=>({'sql':_0xec9274['sql'],'params':[]})));_0x48669e['forEach'](_0x57dc62=>{const _0x3e4d1e=_0x1305b8;if(_0x48c3aa[_0x3e4d1e(0x1c9)](_0x57dc62[_0x3e4d1e(0x233)],'insert'))_0xa4c5aa+=_0x57dc62['count'];else _0x1640cb+=_0x57dc62['count'];});const _0x191c5b={'job_id':_0x5af838,'upload_id':_0x411333['upload_id'],'preview_job_id':_0x411333['job_id'],'status':_0x48c3aa['SnBRX'],'progress':0x64,'created_at':_0x411333['created_at'],'started_at':new Date()['toISOString'](),'completed_at':new Date()['toISOString'](),'result':{'total_rows':_0x2d9d84[_0x1305b8(0x1da)],'inserted_rows':_0xa4c5aa,'updated_rows':_0x1640cb,'skipped_rows':0x0,'failed_rows':0x0,'errors':[]},'params':_0x4d5515};await redisHelper['setJob'](_0x1305b8(0x1b5)+_0x5af838,_0x191c5b,0xe10),logger['info']({'event':_0x48c3aa[_0x1305b8(0x1f9)],'jobId':_0x5af838,'insertedCount':_0xa4c5aa,'updatedCount':_0x1640cb},'Commit\x20job\x20completed');}catch(_0x2e3328){logError(_0x2e3328,{'event':'commit_job_failed','jobId':_0x5af838},'Commit\x20job\x20failed'),await redisHelper['setJob']('job:'+_0x5af838,{'job_id':_0x5af838,'upload_id':_0x411333['upload_id'],'preview_job_id':_0x411333[_0x1305b8(0x229)],'status':'failed','progress':0x0,'error':_0x2e3328['message'],'created_at':_0x411333[_0x1305b8(0x1be)],'started_at':new Date()['toISOString'](),'completed_at':new Date()[_0x1305b8(0x192)]()},0xe10);}}async['getJobStatus'](_0x1ec65d){const _0x52add4=a0_0x352624,_0x31026a=await redisHelper[_0x52add4(0x1c1)](_0x52add4(0x1b5)+_0x1ec65d);if(!_0x31026a)return{'success':![],'error':_0x52add4(0x1ad)};return{'success':!![],'data':_0x31026a};}}module[a0_0x352624(0x1b2)]=new ImportService();
@@ -1 +1 @@
1
- function a0_0x2076(_0x4baa98,_0x39656d){_0x4baa98=_0x4baa98-0x112;const _0x1266a3=a0_0x1266();let _0x207676=_0x1266a3[_0x4baa98];if(a0_0x2076['dxKSBn']===undefined){var _0x25c6a0=function(_0x5aa352){const _0x346801='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x467f62='',_0x338ac7='';for(let _0xcd2861=0x0,_0xd4f315,_0x450548,_0x1086ae=0x0;_0x450548=_0x5aa352['charAt'](_0x1086ae++);~_0x450548&&(_0xd4f315=_0xcd2861%0x4?_0xd4f315*0x40+_0x450548:_0x450548,_0xcd2861++%0x4)?_0x467f62+=String['fromCharCode'](0xff&_0xd4f315>>(-0x2*_0xcd2861&0x6)):0x0){_0x450548=_0x346801['indexOf'](_0x450548);}for(let _0x48b082=0x0,_0x2a8229=_0x467f62['length'];_0x48b082<_0x2a8229;_0x48b082++){_0x338ac7+='%'+('00'+_0x467f62['charCodeAt'](_0x48b082)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x338ac7);};a0_0x2076['gFOvDx']=_0x25c6a0,a0_0x2076['MWbAgz']={},a0_0x2076['dxKSBn']=!![];}const _0x291446=_0x1266a3[0x0],_0x2a6f86=_0x4baa98+_0x291446,_0x145be7=a0_0x2076['MWbAgz'][_0x2a6f86];return!_0x145be7?(_0x207676=a0_0x2076['gFOvDx'](_0x207676),a0_0x2076['MWbAgz'][_0x2a6f86]=_0x207676):_0x207676=_0x145be7,_0x207676;}const a0_0x106fb7=a0_0x2076;(function(_0x5743d0,_0x5e0a52){const _0x232323=a0_0x2076,_0x614b3f=_0x5743d0();while(!![]){try{const _0x4f5c17=parseInt(_0x232323(0x180))/0x1+-parseInt(_0x232323(0x193))/0x2*(parseInt(_0x232323(0x126))/0x3)+parseInt(_0x232323(0x154))/0x4+parseInt(_0x232323(0x168))/0x5+parseInt(_0x232323(0x199))/0x6+-parseInt(_0x232323(0x115))/0x7*(-parseInt(_0x232323(0x129))/0x8)+-parseInt(_0x232323(0x197))/0x9*(parseInt(_0x232323(0x173))/0xa);if(_0x4f5c17===_0x5e0a52)break;else _0x614b3f['push'](_0x614b3f['shift']());}catch(_0x5dff94){_0x614b3f['push'](_0x614b3f['shift']());}}}(a0_0x1266,0xcfc04));const {Kafka,logLevel}=require('kafkajs'),{v7:uuidv7}=require(a0_0x106fb7(0x142));class KafkaConsumerService{constructor(){const _0x258eda=a0_0x106fb7;this[_0x258eda(0x145)]=null,this['consumer']=null,this['isConnected']=![],this['isInitializing']=![],this['isRunning']=![],this[_0x258eda(0x13b)]=![],this['connectionPromise']=null,this[_0x258eda(0x12a)]=[],this[_0x258eda(0x11c)]=null,this[_0x258eda(0x18f)]=null,this[_0x258eda(0x172)]={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':null,'processingTimes':[]};}['getConfig'](){const _0x10c8f7=a0_0x106fb7,_0x5aac6e={'FbGFp':_0x10c8f7(0x17e),'WolYI':_0x10c8f7(0x184),'OIKYq':function(_0x25d15a,_0x163c75){return _0x25d15a(_0x163c75);},'NrRRK':_0x10c8f7(0x150),'yVeIn':'30000','AeIyM':function(_0x47d712,_0x1f4744){return _0x47d712===_0x1f4744;},'INygl':'5000','SLsQN':function(_0x242b36,_0x2951a1){return _0x242b36(_0x2951a1);},'khxYT':_0x10c8f7(0x16a)};return{'enabled':process[_0x10c8f7(0x11d)]['KAFKA_ENABLED']===_0x10c8f7(0x137),'brokers':(process['env'][_0x10c8f7(0x125)]||_0x5aac6e['FbGFp'])['split'](','),'clientId':process['env'][_0x10c8f7(0x152)]||_0x10c8f7(0x165)+(process[_0x10c8f7(0x11d)][_0x10c8f7(0x18b)]||_0x5aac6e[_0x10c8f7(0x14a)])+_0x10c8f7(0x12d),'connectionTimeout':_0x5aac6e['OIKYq'](parseInt,process['env']['KAFKA_CONNECTION_TIMEOUT']||_0x5aac6e['NrRRK']),'requestTimeout':parseInt(process[_0x10c8f7(0x11d)]['KAFKA_REQUEST_TIMEOUT']||'25000'),'sessionTimeout':parseInt(process[_0x10c8f7(0x11d)]['KAFKA_SESSION_TIMEOUT']||_0x5aac6e[_0x10c8f7(0x190)]),'heartbeatInterval':_0x5aac6e['OIKYq'](parseInt,process['env'][_0x10c8f7(0x191)]||_0x5aac6e[_0x10c8f7(0x164)]),'maxBytesPerPartition':_0x5aac6e['OIKYq'](parseInt,process['env'][_0x10c8f7(0x13c)]||_0x10c8f7(0x174)),'autoCommit':_0x5aac6e['AeIyM'](process[_0x10c8f7(0x11d)][_0x10c8f7(0x16d)],'true'),'autoCommitInterval':_0x5aac6e[_0x10c8f7(0x128)](parseInt,process[_0x10c8f7(0x11d)][_0x10c8f7(0x161)]||_0x5aac6e['INygl']),'retryAttempts':parseInt(process['env'][_0x10c8f7(0x185)]||'3'),'retryDelay':_0x5aac6e[_0x10c8f7(0x12f)](parseInt,process[_0x10c8f7(0x11d)][_0x10c8f7(0x12c)]||'1000'),'retryMaxDelay':_0x5aac6e[_0x10c8f7(0x128)](parseInt,process[_0x10c8f7(0x11d)]['KAFKA_RETRY_MAX_DELAY']||_0x5aac6e['yVeIn']),'logLevel':process['env']['KAFKA_LOG_LEVEL']||_0x5aac6e['khxYT']};}[a0_0x106fb7(0x194)](_0x2e46a2){const _0x3e2895=a0_0x106fb7,_0xbd3264={'nothing':logLevel[_0x3e2895(0x189)],'error':logLevel[_0x3e2895(0x15c)],'warn':logLevel[_0x3e2895(0x15a)],'info':logLevel[_0x3e2895(0x15e)],'debug':logLevel['DEBUG']};return _0xbd3264[_0x2e46a2['toLowerCase']()]||logLevel[_0x3e2895(0x15a)];}async['initialize'](_0x492f7a={}){const _0x13383a=a0_0x106fb7,_0xb1a40f={'phMUS':function(_0x495233,_0xcabd6a){return _0x495233===_0xcabd6a;},'RtJeK':'true','sCVKH':'default','paEZh':'[KafkaConsumer]\x20Kafka\x20consumer\x20is\x20disabled\x20in\x20configuration'},_0x9415c0=this[_0x13383a(0x176)]();if(!_0x9415c0[_0x13383a(0x181)])return console[_0x13383a(0x13e)](_0xb1a40f[_0x13383a(0x167)]),![];if(this['isConnected'])return!![];if(this['isInitializing']&&this[_0x13383a(0x17a)])return this['connectionPromise'];return this['isInitializing']=!![],this['connectionPromise']=new Promise(async _0x26e80a=>{const _0x307887=_0x13383a;try{let _0x2e5f79=undefined;_0xb1a40f[_0x307887(0x136)](process['env'][_0x307887(0x15b)],_0xb1a40f[_0x307887(0x14e)])&&(_0x2e5f79=!![]);let _0x2f678f=undefined;process['env']['KAFKA_SASL_MECHANISM']&&(_0x2f678f={'mechanism':process['env'][_0x307887(0x131)],'username':process['env'][_0x307887(0x138)]||'','password':process[_0x307887(0x11d)]['KAFKA_SASL_PASSWORD']||''}),this[_0x307887(0x145)]=new Kafka({'clientId':_0x492f7a[_0x307887(0x18d)]||_0x9415c0['clientId'],'brokers':_0x9415c0[_0x307887(0x120)],'connectionTimeout':_0x9415c0[_0x307887(0x133)],'requestTimeout':_0x9415c0['requestTimeout'],'logLevel':this[_0x307887(0x194)](_0x9415c0[_0x307887(0x134)]),'ssl':_0x2e5f79,'sasl':_0x2f678f,'retry':{'initialRetryTime':_0x9415c0[_0x307887(0x18a)],'retries':_0x9415c0[_0x307887(0x175)],'maxRetryTime':_0x9415c0[_0x307887(0x169)]}}),this[_0x307887(0x11c)]=_0x492f7a[_0x307887(0x11c)]||_0x307887(0x165)+(process[_0x307887(0x11d)][_0x307887(0x18b)]||_0xb1a40f[_0x307887(0x187)])+'-consumer-group',this[_0x307887(0x130)]=this['kafka']['consumer']({'groupId':this[_0x307887(0x11c)],'sessionTimeout':_0x9415c0[_0x307887(0x16f)],'heartbeatInterval':_0x9415c0[_0x307887(0x13a)],'maxBytesPerPartition':_0x9415c0[_0x307887(0x119)],'allowAutoTopicCreation':![]}),await this[_0x307887(0x130)][_0x307887(0x16b)](),this[_0x307887(0x127)]=!![],console[_0x307887(0x13e)](_0x307887(0x18e)+_0x9415c0[_0x307887(0x120)][_0x307887(0x156)](',\x20')+_0x307887(0x14f)+this[_0x307887(0x11c)]+')'),this['setupEventHandlers'](),_0x26e80a(!![]);}catch(_0x217f8a){console[_0x307887(0x15f)](_0x307887(0x151)+_0x217f8a['message']),this[_0x307887(0x127)]=![],_0x26e80a(![]);}finally{this[_0x307887(0x153)]=![];}}),this[_0x13383a(0x17a)];}[a0_0x106fb7(0x166)](){const _0x4fa146=a0_0x106fb7,_0x53cf75={'fHvUY':'[KafkaConsumer]\x20Consumer\x20rebalancing...','xxRHS':'consumer.disconnect'};if(!this[_0x4fa146(0x130)])return;this['consumer']['on'](_0x53cf75[_0x4fa146(0x11f)],()=>{const _0x233fb9=_0x4fa146;console[_0x233fb9(0x13e)](_0x233fb9(0x14d)),this[_0x233fb9(0x127)]=![],this[_0x233fb9(0x116)]=![];}),this[_0x4fa146(0x130)]['on']('consumer.stop',()=>{const _0x44792d=_0x4fa146;console['log'](_0x44792d(0x17c)),this[_0x44792d(0x116)]=![];}),this[_0x4fa146(0x130)]['on'](_0x4fa146(0x178),_0x359c49=>{const _0x3bdd25=_0x4fa146;console['error'](_0x3bdd25(0x11e)+_0x359c49[_0x3bdd25(0x13f)]['error']['message']),this['isRunning']=![];}),this[_0x4fa146(0x130)]['on'](_0x4fa146(0x158),()=>{const _0x40c5fc=_0x4fa146;console[_0x40c5fc(0x13e)](_0x53cf75[_0x40c5fc(0x157)]);});}async['subscribe'](_0x7d2e41,_0x46e86b=![]){const _0x5734f2=a0_0x106fb7,_0xc6e1a7={'SGSwR':'[KafkaConsumer]\x20Cannot\x20subscribe\x20-\x20not\x20connected'};if(!this[_0x5734f2(0x127)])return console[_0x5734f2(0x15f)](_0xc6e1a7[_0x5734f2(0x139)]),![];try{const _0x4d36fa=Array['isArray'](_0x7d2e41)?_0x7d2e41:[_0x7d2e41];for(const _0x2d9365 of _0x4d36fa){await this[_0x5734f2(0x130)]['subscribe']({'topic':_0x2d9365,'fromBeginning':_0x46e86b}),console[_0x5734f2(0x13e)]('[KafkaConsumer]\x20Subscribed\x20to\x20topic:\x20'+_0x2d9365+_0x5734f2(0x18c)+_0x46e86b+')');}return this['subscribedTopics']=[...new Set([...this[_0x5734f2(0x12a)],..._0x4d36fa])],!![];}catch(_0x123095){return console[_0x5734f2(0x15f)]('[KafkaConsumer]\x20Subscribe\x20error:\x20'+_0x123095['message']),![];}}async[a0_0x106fb7(0x14b)](_0x3a3e95,_0x17b49c={}){const _0xbe58f=a0_0x106fb7,_0x5d14a4={'eHAZv':function(_0xb3dfd2,_0x2ac51c){return _0xb3dfd2(_0x2ac51c);}};if(!this['isConnected'])return console['error'](_0xbe58f(0x155)),![];if(this['isRunning'])return console['log'](_0xbe58f(0x163)),!![];const _0x342ea8=this['getConfig']();this['messageHandler']=_0x3a3e95;try{return this[_0xbe58f(0x172)]['startTime']=new Date(),await this['consumer'][_0xbe58f(0x17d)]({'autoCommit':_0x17b49c['autoCommit']!==undefined?_0x17b49c[_0xbe58f(0x135)]:_0x342ea8[_0xbe58f(0x135)],'autoCommitInterval':_0x342ea8[_0xbe58f(0x149)],'eachMessage':async({topic:_0x2914d7,partition:_0x33c0e6,message:_0x4add69,heartbeat:_0xa3eb55})=>{const _0x30a90c=_0xbe58f,_0x3c6cb4=Date[_0x30a90c(0x198)]();this[_0x30a90c(0x172)][_0x30a90c(0x170)]++,this[_0x30a90c(0x172)][_0x30a90c(0x162)]=new Date();try{const _0x4c7e16=_0x4add69['value']?_0x4add69[_0x30a90c(0x13d)]['toString']():null;let _0x12baf2=null;try{_0x12baf2=_0x4c7e16?JSON[_0x30a90c(0x188)](_0x4c7e16):null;}catch(_0x34f992){_0x12baf2=_0x4c7e16;}const _0x5b33d9={'topic':_0x2914d7,'partition':_0x33c0e6,'offset':_0x4add69['offset'],'key':_0x4add69['key']?_0x4add69[_0x30a90c(0x195)]['toString']():null,'headers':this[_0x30a90c(0x171)](_0x4add69[_0x30a90c(0x15d)]),'timestamp':_0x4add69[_0x30a90c(0x114)],'value':_0x12baf2,'raw':_0x4c7e16};this[_0x30a90c(0x18f)]&&await this[_0x30a90c(0x18f)](_0x5b33d9);!_0x342ea8[_0x30a90c(0x135)]&&await this[_0x30a90c(0x130)]['commitOffsets']([{'topic':_0x2914d7,'partition':_0x33c0e6,'offset':(_0x5d14a4['eHAZv'](parseInt,_0x4add69[_0x30a90c(0x117)])+0x1)[_0x30a90c(0x112)]()}]);this['metrics'][_0x30a90c(0x147)]++;const _0x44a9da=Date['now']()-_0x3c6cb4;this[_0x30a90c(0x172)][_0x30a90c(0x122)][_0x30a90c(0x146)](_0x44a9da),this['metrics']['processingTimes'][_0x30a90c(0x14c)]>0x64&&this['metrics']['processingTimes'][_0x30a90c(0x132)](),await _0xa3eb55();}catch(_0x51a64c){this['metrics'][_0x30a90c(0x143)]++,console['error'](_0x30a90c(0x17f)+_0x51a64c['message']);throw _0x51a64c;}}}),this[_0xbe58f(0x116)]=!![],console['log']('[KafkaConsumer]\x20Started\x20consuming\x20from\x20topics:\x20'+this[_0xbe58f(0x12a)]['join'](',\x20')),!![];}catch(_0x1b60f8){return console[_0xbe58f(0x15f)](_0xbe58f(0x179)+_0x1b60f8['message']),![];}}['parseHeaders'](_0x5db971){const _0x24cf09=a0_0x106fb7;if(!_0x5db971)return{};const _0x520db1={};for(const [_0x196d19,_0x15640a]of Object['entries'](_0x5db971)){_0x520db1[_0x196d19]=_0x15640a?_0x15640a[_0x24cf09(0x112)]():null;}return _0x520db1;}async[a0_0x106fb7(0x192)](){const _0x47c631=a0_0x106fb7,_0x4fe6ba={'wcnUx':'[KafkaConsumer]\x20Consumer\x20already\x20paused'};if(!this['isConnected']||!this[_0x47c631(0x116)])return console['log']('[KafkaConsumer]\x20Cannot\x20pause\x20-\x20consumer\x20not\x20running'),![];if(this[_0x47c631(0x13b)])return console['log'](_0x4fe6ba['wcnUx']),!![];try{const _0x6edc65=this[_0x47c631(0x12a)][_0x47c631(0x113)](_0x4e67c6=>({'topic':_0x4e67c6}));return this[_0x47c631(0x130)]['pause'](_0x6edc65),this['isPaused']=!![],console['log']('[KafkaConsumer]\x20Consumer\x20paused'),!![];}catch(_0x91c041){return console[_0x47c631(0x15f)](_0x47c631(0x121)+_0x91c041[_0x47c631(0x11b)]),![];}}async[a0_0x106fb7(0x186)](){const _0x5ec750=a0_0x106fb7,_0xbda25b={'EoWqa':_0x5ec750(0x118)};if(!this['isConnected']||!this[_0x5ec750(0x116)])return console['log'](_0xbda25b[_0x5ec750(0x17b)]),![];if(!this['isPaused'])return console['log']('[KafkaConsumer]\x20Consumer\x20not\x20paused'),!![];try{const _0x12ab11=this['subscribedTopics'][_0x5ec750(0x113)](_0x33d9d3=>({'topic':_0x33d9d3}));return this['consumer'][_0x5ec750(0x186)](_0x12ab11),this['isPaused']=![],console[_0x5ec750(0x13e)]('[KafkaConsumer]\x20Consumer\x20resumed'),!![];}catch(_0x5d8cfd){return console['error'](_0x5ec750(0x12b)+_0x5d8cfd['message']),![];}}async['stop'](){const _0x10a19d=a0_0x106fb7,_0x49f5c9={'cHsqp':_0x10a19d(0x144)};if(!this[_0x10a19d(0x127)])return console['log'](_0x10a19d(0x123)),!![];try{return this['consumer']&&(await this['consumer']['stop'](),await this['consumer'][_0x10a19d(0x12e)]()),this['isConnected']=![],this[_0x10a19d(0x116)]=![],this[_0x10a19d(0x13b)]=![],console['log'](_0x49f5c9['cHsqp']),!![];}catch(_0x307539){return console[_0x10a19d(0x15f)](_0x10a19d(0x196)+_0x307539['message']),![];}}async['seekToOffset'](_0x5f3f5f,_0x18b908,_0x572b25){const _0x1cb8aa=a0_0x106fb7;if(!this[_0x1cb8aa(0x127)])return console['error']('[KafkaConsumer]\x20Cannot\x20seek\x20-\x20not\x20connected'),![];try{return this[_0x1cb8aa(0x130)]['seek']({'topic':_0x5f3f5f,'partition':_0x18b908,'offset':_0x572b25['toString']()}),console['log']('[KafkaConsumer]\x20Seeked\x20to\x20offset\x20'+_0x572b25+_0x1cb8aa(0x16c)+_0x5f3f5f+':'+_0x18b908),!![];}catch(_0xa58659){return console['error']('[KafkaConsumer]\x20Seek\x20error:\x20'+_0xa58659[_0x1cb8aa(0x11b)]),![];}}['getStatus'](){const _0x4123b6=a0_0x106fb7,_0x5d92d6=this['getConfig']();return{'enabled':_0x5d92d6[_0x4123b6(0x181)],'connected':this[_0x4123b6(0x127)],'running':this[_0x4123b6(0x116)],'paused':this[_0x4123b6(0x13b)],'brokers':_0x5d92d6[_0x4123b6(0x120)],'clientId':_0x5d92d6['clientId'],'groupId':this[_0x4123b6(0x11c)],'subscribedTopics':this[_0x4123b6(0x12a)]};}[a0_0x106fb7(0x159)](){const _0x5af152=a0_0x106fb7,_0x2a49b8={'Sccnx':function(_0x3e5c37,_0x4c7c69){return _0x3e5c37>_0x4c7c69;},'GUQho':function(_0x4897b8,_0x12a77d){return _0x4897b8>_0x12a77d;},'brPoK':function(_0x1ae255,_0x8982b0){return _0x1ae255+_0x8982b0;},'RzOzT':function(_0x84152d,_0x52e574){return _0x84152d+_0x52e574;}},_0x3b23fc=_0x2a49b8[_0x5af152(0x124)](this['metrics']['processingTimes'][_0x5af152(0x14c)],0x0)?this['metrics'][_0x5af152(0x122)]['reduce']((_0xbed9f1,_0x5dbe0e)=>_0xbed9f1+_0x5dbe0e,0x0)/this['metrics'][_0x5af152(0x122)]['length']:0x0,_0x122224=_0x2a49b8['GUQho'](this['metrics']['processingTimes'][_0x5af152(0x14c)],0x0)?Math[_0x5af152(0x182)](...this[_0x5af152(0x172)][_0x5af152(0x122)]):0x0,_0x1d8963=_0x2a49b8['Sccnx'](this[_0x5af152(0x172)]['processingTimes']['length'],0x0)?Math[_0x5af152(0x141)](...this[_0x5af152(0x172)][_0x5af152(0x122)]):0x0;return{'messagesReceived':this['metrics'][_0x5af152(0x170)],'messagesProcessed':this[_0x5af152(0x172)]['messagesProcessed'],'messagesFailed':this[_0x5af152(0x172)]['messagesFailed'],'successRate':this[_0x5af152(0x172)][_0x5af152(0x170)]>0x0?(this[_0x5af152(0x172)]['messagesProcessed']/this['metrics'][_0x5af152(0x170)]*0x64)[_0x5af152(0x183)](0x2)+'%':'0%','lastMessageTime':this[_0x5af152(0x172)][_0x5af152(0x162)],'startTime':this[_0x5af152(0x172)][_0x5af152(0x177)],'uptime':this[_0x5af152(0x172)]['startTime']?Math['floor']((Date['now']()-this['metrics'][_0x5af152(0x177)]['getTime']())/0x3e8)+'s':'0s','processingTime':{'avg':_0x2a49b8['brPoK'](Math['round'](_0x3b23fc),'ms'),'min':_0x122224+'ms','max':_0x2a49b8[_0x5af152(0x16e)](_0x1d8963,'ms')}};}[a0_0x106fb7(0x160)](){const _0x5a13b4=a0_0x106fb7;this[_0x5a13b4(0x172)]={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':this[_0x5a13b4(0x116)]?new Date():null,'processingTimes':[]},console['log'](_0x5a13b4(0x11a));}async[a0_0x106fb7(0x148)](){await this['stop']();}}let instance=null;function getInstance(){return!instance&&(instance=new KafkaConsumerService()),instance;}function resetInstance(){instance&&(instance['close'](),instance=null);}function a0_0x1266(){const _0x154e8f=['s0fgs0fFqvvut19dt01nsvq','uNPpELq','C2vZC2LVBLrPBwvVDxq','BwvZC2fNzxnszwnLAxzLza','CgfYC2vizwfKzxjZ','Bwv0CMLJCW','mJqWsLL4tgD5','mta0odu3nG','CMv0CNLbDhrLBxb0CW','z2v0q29UzMLN','C3rHCNruAw1L','y29UC3vTzxiUy3jHC2G','w0THzMTHq29UC3vTzxjDifn0yxj0ignVBNn1BwLUzYbLCNjVCJOG','y29UBMvJDgLVBLbYB21PC2u','rw9xCwe','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihn0B3bWzwq','CNvU','Bg9JywXOB3n0oJKWoti','w0THzMTHq29UC3vTzxjDie1LC3nHz2uGChjVy2vZC2LUzYbLCNjVCJOG','ntq5mdi4q1LusvPx','zw5HyMXLza','BwLU','Dg9gAxHLza','zgvMyxvSDa','s0fgs0fFuKvuuLLFqvruru1qvfm','CMvZDw1L','C0nws0G','CgfYC2u','tK9useLorW','CMv0CNLezwXHEq','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','icHMCM9TqMvNAw5UAw5NoIa','y2XPzw50swq','w0THzMTHq29UC3vTzxjDienVBNn1BwvYignVBM5Ly3rLzcb0BYbICM9RzxjZoIa','BwvZC2fNzuHHBMrSzxi','EvzLsw4','s0fgs0fFsevbuLrcrufux0LovevsvKfm','Cgf1C2u','mLrdyuDXvW','z2v0tg9Ntgv2zwW','A2v5','w0THzMTHq29UC3vTzxjDifn0B3aGzxjYB3i6ia','otmZmZe4ChHmBMvn','BM93','nJe4mZq5mMrXBhj6wq','Dg9tDhjPBMC','BwfW','DgLTzxn0yw1W','nJnVy2DRsve','AxnsDw5UAw5N','B2zMC2v0','w0THzMTHq29UC3vTzxjDienHBM5VDcbYzxn1BwuGlsbJB25ZDw1LCIbUB3qGCNvUBMLUzW','Bwf4qNL0zxnqzxjqyxj0AxrPB24','w0THzMTHq29UC3vTzxjDie1LDhjPy3mGCMvZzxq','BwvZC2fNzq','z3jVDxbjza','zw52','w0THzMTHq29UC3vTzxjDienVBNn1BwvYignYyxnOzwq6ia','EhHssfm','yNjVA2vYCW','w0THzMTHq29UC3vTzxjDifbHDxnLigvYCM9YoIa','ChjVy2vZC2LUz1rPBwvZ','w0THzMTHq29UC3vTzxjDienVBNn1BwvYig5VDcbJB25Uzwn0zwq','u2nJBNG','s0fgs0fFqLjps0vsuW','ndiWndGYmu5REwrLzW','AxndB25Uzwn0zwq','t0Llwxe','mtqZotC1mLDyzfzjvW','C3vIC2nYAwjLzfrVCgLJCW','w0THzMTHq29UC3vTzxjDifjLC3vTzsbLCNjVCJOG','s0fgs0fFuKvuuLLFrevmqvK','lwnVBNn1BwvY','zgLZy29UBMvJDa','u0XZuu4','y29UC3vTzxi','s0fgs0fFu0fttf9nruniqu5ju00','C2HPzNq','y29UBMvJDgLVBLrPBwvVDxq','Bg9Ntgv2zwW','yxv0B0nVBw1PDa','CgHnvvm','Dhj1zq','s0fgs0fFu0fttf9vu0vstKfnrq','u0DtD1i','AgvHCNrIzwf0sw50zxj2ywW','AxnqyxvZzwq','s0fgs0fFtufyx0jzvevtx1bfuL9qqvjusvrjt04','DMfSDwu','Bg9N','Cgf5Bg9Hza','zxHWB3j0CW','Bwf4','DxvPza','BwvZC2fNzxngywLSzwq','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihn0B3bWzwqGyw5KigrPC2nVBM5Ly3rLza','A2fMA2e','ChvZAa','BwvZC2fNzxnqCM9JzxnZzwq','y2XVC2u','yxv0B0nVBw1PDeLUDgvYDMfS','v29SwuK','C3rHCNrdB25ZDw1PBMC','BgvUz3rO','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigrPC2nVBM5Ly3rLza','uNrkzuS','icHNCM91CeLKoIa','mZaWma','w0THzMTHq29UC3vTzxjDienVBM5Ly3rPB24GzMfPBgvKoIa','s0fgs0fFq0Xjru5ux0Le','AxnjBML0AwfSAxPPBMC','mJi4nZG1nMXgy2LxzG','w0THzMTHq29UC3vTzxjDienHBM5VDcbZDgfYDcbJB25ZDw1PBMCGlsbUB3qGy29UBMvJDgvK','AM9PBG','zKH2vvK','y29UC3vTzxiUCMvIywXHBMnPBMC','z2v0twv0CMLJCW','v0fstG','s0fgs0fFu1nm','rvjst1i','AgvHzgvYCW','su5gtW','zxjYB3i','CMvZzxrnzxrYAwnZ','s0fgs0fFqvvut19dt01nsvrFsu5urvjwquW','BgfZDe1LC3nHz2vuAw1L','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigfSCMvHzhKGCNvUBMLUzW','tNjsuKS','CMvZDgzVCMDLlq','C2v0DxbfDMvUDeHHBMrSzxjZ','CgffwMG','ndG1mdu0me9irNzRDq','CMv0CNLnyxHezwXHEq','D2fYBG','y29UBMvJDa','ig9Uia'];a0_0x1266=function(){return _0x154e8f;};return a0_0x1266();}function createInstance(){return new KafkaConsumerService();}module[a0_0x106fb7(0x140)]={'getInstance':getInstance,'resetInstance':resetInstance,'createInstance':createInstance,'KafkaConsumerService':KafkaConsumerService};
1
+ function a0_0x2af7(){const _0x139e44=['Bg9Ntgv2zwW','yNjVA2vYCW','DgLTzxn0yw1W','Dg9gAxHLza','y2XVC2u','txrJqK4','w0THzMTHq29UC3vTzxjDienVBNn1BwvYignYyxnOzwq6ia','mZbSvMDfrhq','qLbqzuq','A2fMA2e','Dhj1zq','mta0odu3nG','w0THzMTHq29UC3vTzxjDie1LC3nHz2uGChjVy2vZC2LUzYbLCNjVCJOG','BwLU','C2vLA1rVt2zMC2v0','y29UC3vTzxiUCMvIywXHBMnPBMC','w0THzMTHq29UC3vTzxjDifnLzwTLzcb0BYbVzMzZzxqG','A2v5','y29UBMvJDgLVBLrPBwvVDxq','mteYnefgqLrJzW','w0THzMTHq29UC3vTzxjDifjLC3vTzsbLCNjVCJOG','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihjLyMfSyw5JAw5NlI4U','mtaWma','BwfW','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihn0B3bWzwq','y29UBMvJDgLVBLbYB21PC2u','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihn0B3bWzwqGyw5KigrPC2nVBM5Ly3rLza','v2HkAhO','Bg9N','A2fMA2fQCW','y2XPzw50swq','AM9PBG','AxnqyxvZzwq','BwvZC2fNzxnqCM9JzxnZzwq','w0THzMTHq29UC3vTzxjDifnLzwSGzxjYB3i6ia','C3vIC2nYAwjL','CgfYC2u','CMvKDwnL','w0THzMTHq29UC3vTzxjDienHBM5VDcbYzxn1BwuGlsbJB25ZDw1LCIbUB3qGCNvUBMLUzW','zfrxt0m','CMv0CNLezwXHEq','zgvMyxvSDa','s0fgs0fFq0Xjru5ux0Le','mZaWma','u05tBgW','y29TBwL0t2zMC2v0CW','s0fgs0fFq09otKvdveLptL9usu1ft1vu','ntaWma','CMvZDw1L','mJqZodq3mgvXDxnWAq','yxv0B0nVBw1PDa','w0THzMTHq29UC3vTzxjDienHBM5VDcbWyxvZzsaTignVBNn1BwvYig5VDcbYDw5UAw5N','BevPANq','vgDNywy','EKv5DLi','B2zMC2v0','AgvHCNrIzwf0sw50zxj2ywW','lwnVBNn1BwvY','s0fgs0fFuKvuuLLFqvruru1qvfm','Bwv0CMLJCW','C3rHCNruAw1L','zuD2EMm','ntaXDxDuBufu','ruPpqKO','w0THzMTHq29UC3vTzxjDifn1yNnJCMLIzwqGDg8GDg9WAwm6ia','zw52','mtuZnJvZChbMDKW','C2vLAW','Bg9JywXOB3n0oJKWoti','C3rHCNrdB25ZDw1PBMC','icHNCM91CeLKoIa','oe5MChP3tG','mZaWmda','w0THzMTHq29UC3vTzxjDifn0yxj0ignVBNn1BwLUzYbLCNjVCJOG','AxnsDw5UAw5N','AwvsBMO','w0THzMTHq29UC3vTzxjDienHBM5VDcbZzwvRic0GBM90ignVBM5Ly3rLza','mJuWmda','z3jVDxbjza','z2v0twv0CMLJCW','v1rYvg8','AgvHzgvYCW','y29UC3vTzxiUy3jHC2G','ode4ody1renSAhbR','AxnjBML0AwfSAxPPBMC','C3vIC2nYAwjLzfrVCgLJCW','z2v0q29UzMLN','Dg9mB3DLCKnHC2u','zgLZy29UBMvJDa','BgvUz3rO','CMvXDwvZDfrPBwvVDxq','s0fgs0fFqvvut19dt01nsvq','w0THzMTHq29UC3vTzxjDienVBNn1BwvYignVBM5Ly3rLzcb0BYbICM9RzxjZoIa','BgfZDe1LC3nHz2vuAw1L','s0fgs0fFuKvrvuvtvf9usu1ft1vu','BwvZC2fNzuHHBMrSzxi','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigfSCMvHzhKGCNvUBMLUzW','BwvZC2fNzxnszwnLAxzLza','CNvU','mJy3mta5mNfszMDYDG','DMfSDwu','BM93','C3bSAxq','w0THzMTHq29UC3vTzxjDienVBNn1BwvYig5VDcbJB25Uzwn0zwq','wK95t1m','ntyWoti4BMnbuLvg','D2H2rMy','zxjYB3i','z2v0tg9Ntgv2zwW','Dg9tDhjPBMC','ChjVy2vZC2LUz1rPBwvZ','DxrdDLy','CMvZDgzVCMDLlq','BwvZC2fNzq','otC0ntHLtuX4D2e','sKzTwfC','y29UC3vTzxi','Cgf1C2u','icHMCM9TqMvNAw5UAw5NoIa','AxndB25Uzwn0zwq'];a0_0x2af7=function(){return _0x139e44;};return a0_0x2af7();}const a0_0x3786b=a0_0x1472;(function(_0x3e4a22,_0x1b19a9){const _0x1b6979=a0_0x1472,_0x1f665d=_0x3e4a22();while(!![]){try{const _0x50649e=-parseInt(_0x1b6979(0x201))/0x1*(-parseInt(_0x1b6979(0x1d6))/0x2)+parseInt(_0x1b6979(0x1bd))/0x3*(parseInt(_0x1b6979(0x20a))/0x4)+-parseInt(_0x1b6979(0x216))/0x5+parseInt(_0x1b6979(0x1ca))/0x6*(-parseInt(_0x1b6979(0x205))/0x7)+-parseInt(_0x1b6979(0x1b4))/0x8+parseInt(_0x1b6979(0x226))/0x9+-parseInt(_0x1b6979(0x1f4))/0xa;if(_0x50649e===_0x1b19a9)break;else _0x1f665d['push'](_0x1f665d['shift']());}catch(_0x417fd3){_0x1f665d['push'](_0x1f665d['shift']());}}}(a0_0x2af7,0x25bf3));function a0_0x1472(_0x41f9db,_0x3d0347){_0x41f9db=_0x41f9db-0x1b3;const _0x2af7fb=a0_0x2af7();let _0x1472d9=_0x2af7fb[_0x41f9db];if(a0_0x1472['TDuzVn']===undefined){var _0x36990a=function(_0x229237){const _0x1f26fa='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x10847c='',_0x3b2db5='';for(let _0x154fec=0x0,_0x33bb07,_0xce9ac0,_0x104f04=0x0;_0xce9ac0=_0x229237['charAt'](_0x104f04++);~_0xce9ac0&&(_0x33bb07=_0x154fec%0x4?_0x33bb07*0x40+_0xce9ac0:_0xce9ac0,_0x154fec++%0x4)?_0x10847c+=String['fromCharCode'](0xff&_0x33bb07>>(-0x2*_0x154fec&0x6)):0x0){_0xce9ac0=_0x1f26fa['indexOf'](_0xce9ac0);}for(let _0xc19048=0x0,_0x17e5ce=_0x10847c['length'];_0xc19048<_0x17e5ce;_0xc19048++){_0x3b2db5+='%'+('00'+_0x10847c['charCodeAt'](_0xc19048)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3b2db5);};a0_0x1472['AFZArl']=_0x36990a,a0_0x1472['OXMSqd']={},a0_0x1472['TDuzVn']=!![];}const _0x3b9fcc=_0x2af7fb[0x0],_0x39e18f=_0x41f9db+_0x3b9fcc,_0x5d9f1d=a0_0x1472['OXMSqd'][_0x39e18f];return!_0x5d9f1d?(_0x1472d9=a0_0x1472['AFZArl'](_0x1472d9),a0_0x1472['OXMSqd'][_0x39e18f]=_0x1472d9):_0x1472d9=_0x5d9f1d,_0x1472d9;}const {Kafka,logLevel}=require(a0_0x3786b(0x1e0)),{v7:uuidv7}=require('uuid');class KafkaConsumerService{constructor(){const _0x5f4724=a0_0x3786b,_0x11277={'lEijt':'5|7|9|0|8|3|10|6|1|2|4'},_0xedc7f7=_0x11277[_0x5f4724(0x1f7)][_0x5f4724(0x229)]('|');let _0x4912e3=0x0;while(!![]){switch(_0xedc7f7[_0x4912e3++]){case'0':this[_0x5f4724(0x217)]=![];continue;case'1':this[_0x5f4724(0x211)]=null;continue;case'2':this[_0x5f4724(0x222)]=null;continue;case'3':this['isPaused']=![];continue;case'4':this[_0x5f4724(0x1fe)]={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':null,'processingTimes':[]};continue;case'5':this['kafka']=null;continue;case'6':this['subscribedTopics']=[];continue;case'7':this[_0x5f4724(0x1bf)]=null;continue;case'8':this['isRunning']=![];continue;case'9':this['isConnected']=![];continue;case'10':this['connectionPromise']=null;continue;}break;}}['getConfig'](){const _0x533f3c=a0_0x3786b,_0x3ee2d7={'rFzEJ':function(_0x1e6565,_0x3f8aa9){return _0x1e6565===_0x3f8aa9;},'ciBwa':'true','aHVsP':_0x533f3c(0x207),'dTWOC':function(_0x292019,_0x466e21){return _0x292019(_0x466e21);},'XLOSI':_0x533f3c(0x1ee),'EJOBJ':_0x533f3c(0x20b),'MtcBN':function(_0x182404,_0x19650f){return _0x182404(_0x19650f);},'cqlZV':_0x533f3c(0x1ce),'zEyvR':function(_0x33c1c3,_0x7ded63){return _0x33c1c3(_0x7ded63);},'eGvzc':_0x533f3c(0x1d9),'ieRnj':'warn'};return{'enabled':_0x3ee2d7['rFzEJ'](process['env']['KAFKA_ENABLED'],_0x3ee2d7['ciBwa']),'brokers':(process[_0x533f3c(0x204)]['KAFKA_BROKERS']||_0x3ee2d7['aHVsP'])['split'](','),'clientId':process['env'][_0x533f3c(0x1ed)]||_0x533f3c(0x1bb)+(process[_0x533f3c(0x204)]['RESTFORGE_PROJECT_NAME']||_0x533f3c(0x1ec))+_0x533f3c(0x1fc),'connectionTimeout':_0x3ee2d7[_0x533f3c(0x1ea)](parseInt,process[_0x533f3c(0x204)][_0x533f3c(0x1f1)]||_0x3ee2d7['XLOSI']),'requestTimeout':parseInt(process['env'][_0x533f3c(0x221)]||_0x533f3c(0x210)),'sessionTimeout':_0x3ee2d7['dTWOC'](parseInt,process[_0x533f3c(0x204)]['KAFKA_SESSION_TIMEOUT']||_0x3ee2d7[_0x533f3c(0x202)]),'heartbeatInterval':parseInt(process['env']['KAFKA_HEARTBEAT_INTERVAL']||'3000'),'maxBytesPerPartition':_0x3ee2d7[_0x533f3c(0x1c8)](parseInt,process['env']['KAFKA_MAX_BYTES_PER_PARTITION']||_0x3ee2d7['cqlZV']),'autoCommit':process['env'][_0x533f3c(0x21e)]==='true','autoCommitInterval':parseInt(process[_0x533f3c(0x204)]['KAFKA_AUTO_COMMIT_INTERVAL']||_0x533f3c(0x1f2)),'retryAttempts':_0x3ee2d7[_0x533f3c(0x1f9)](parseInt,process[_0x533f3c(0x204)][_0x533f3c(0x1fd)]||'3'),'retryDelay':_0x3ee2d7['dTWOC'](parseInt,process[_0x533f3c(0x204)]['KAFKA_RETRY_DELAY']||_0x3ee2d7[_0x533f3c(0x200)]),'retryMaxDelay':_0x3ee2d7[_0x533f3c(0x1ea)](parseInt,process[_0x533f3c(0x204)]['KAFKA_RETRY_MAX_DELAY']||_0x3ee2d7['EJOBJ']),'logLevel':process['env']['KAFKA_LOG_LEVEL']||_0x3ee2d7[_0x533f3c(0x20e)]};}[a0_0x3786b(0x1b7)](_0x105730){const _0x2a624a=a0_0x3786b,_0x27bced={'nothing':logLevel['NOTHING'],'error':logLevel['ERROR'],'warn':logLevel['WARN'],'info':logLevel['INFO'],'debug':logLevel['DEBUG']};return _0x27bced[_0x105730[_0x2a624a(0x21a)]()]||logLevel['WARN'];}async['initialize'](_0x19c259={}){const _0x2ed1d4=a0_0x3786b,_0x3e5b12=this[_0x2ed1d4(0x219)]();if(!_0x3e5b12['enabled'])return console[_0x2ed1d4(0x1df)]('[KafkaConsumer]\x20Kafka\x20consumer\x20is\x20disabled\x20in\x20configuration'),![];if(this[_0x2ed1d4(0x1c2)])return!![];if(this['isInitializing']&&this[_0x2ed1d4(0x1dc)])return this['connectionPromise'];return this['isInitializing']=!![],this['connectionPromise']=new Promise(async _0x3e3645=>{const _0x15c674=_0x2ed1d4;try{let _0x1e25a6=undefined;process['env']['KAFKA_SSL']===_0x15c674(0x1cd)&&(_0x1e25a6=!![]);let _0x1dbccd=undefined;process[_0x15c674(0x204)]['KAFKA_SASL_MECHANISM']&&(_0x1dbccd={'mechanism':process[_0x15c674(0x204)]['KAFKA_SASL_MECHANISM'],'username':process[_0x15c674(0x204)]['KAFKA_SASL_USERNAME']||'','password':process[_0x15c674(0x204)]['KAFKA_SASL_PASSWORD']||''}),this['kafka']=new Kafka({'clientId':_0x19c259[_0x15c674(0x1e1)]||_0x3e5b12[_0x15c674(0x1e1)],'brokers':_0x3e5b12[_0x15c674(0x1c4)],'connectionTimeout':_0x3e5b12[_0x15c674(0x1d5)],'requestTimeout':_0x3e5b12[_0x15c674(0x21d)],'logLevel':this['getLogLevel'](_0x3e5b12[_0x15c674(0x1c3)]),'ssl':_0x1e25a6,'sasl':_0x1dbccd,'retry':{'initialRetryTime':_0x3e5b12[_0x15c674(0x1eb)],'retries':_0x3e5b12['retryAttempts'],'maxRetryTime':_0x3e5b12['retryMaxDelay']}}),this['groupId']=_0x19c259['groupId']||_0x15c674(0x1bb)+(process['env']['RESTFORGE_PROJECT_NAME']||_0x15c674(0x1ec))+'-consumer-group',this['consumer']=this[_0x15c674(0x1cc)]['consumer']({'groupId':this['groupId'],'sessionTimeout':_0x3e5b12['sessionTimeout'],'heartbeatInterval':_0x3e5b12[_0x15c674(0x1fb)],'maxBytesPerPartition':_0x3e5b12['maxBytesPerPartition'],'allowAutoTopicCreation':![]}),await this['consumer']['connect'](),this[_0x15c674(0x1c2)]=!![],console[_0x15c674(0x1df)](_0x15c674(0x21f)+_0x3e5b12['brokers'][_0x15c674(0x1e2)](',\x20')+_0x15c674(0x209)+this[_0x15c674(0x211)]+')'),this['setupEventHandlers'](),_0x3e3645(!![]);}catch(_0x1ce0cd){console[_0x15c674(0x1b6)]('[KafkaConsumer]\x20Connection\x20failed:\x20'+_0x1ce0cd['message']),this['isConnected']=![],_0x3e3645(![]);}finally{this['isInitializing']=![];}}),this['connectionPromise'];}['setupEventHandlers'](){const _0x550437=a0_0x3786b,_0x932866={'WhJhz':'[KafkaConsumer]\x20Consumer\x20disconnected','PmMyK':_0x550437(0x1d8),'JFmXW':'consumer.stop','utCvV':_0x550437(0x1d2)};if(!this['consumer'])return;this['consumer']['on']('consumer.disconnect',()=>{const _0x2bad68=_0x550437;console[_0x2bad68(0x1df)](_0x932866[_0x2bad68(0x1de)]),this['isConnected']=![],this[_0x2bad68(0x20d)]=![];}),this['consumer']['on'](_0x932866[_0x550437(0x1be)],()=>{const _0x3cdec5=_0x550437;console['log'](_0x3cdec5(0x1db)),this['isRunning']=![];}),this[_0x550437(0x1bf)]['on'](_0x550437(0x215),_0x2847fe=>{const _0x49be67=_0x550437;console['error'](_0x49be67(0x1c9)+_0x2847fe['payload']['error'][_0x49be67(0x1bc)]),this['isRunning']=![];}),this['consumer']['on'](_0x932866[_0x550437(0x1ba)],()=>{console['log'](_0x932866['PmMyK']);});}async[a0_0x3786b(0x1e6)](_0x5caf8c,_0xcbff68=![]){const _0x36528c=a0_0x3786b;if(!this['isConnected'])return console[_0x36528c(0x1b6)]('[KafkaConsumer]\x20Cannot\x20subscribe\x20-\x20not\x20connected'),![];try{const _0xa39f59=Array['isArray'](_0x5caf8c)?_0x5caf8c:[_0x5caf8c];for(const _0xe92e30 of _0xa39f59){await this['consumer'][_0x36528c(0x1e6)]({'topic':_0xe92e30,'fromBeginning':_0xcbff68}),console[_0x36528c(0x1df)](_0x36528c(0x203)+_0xe92e30+_0x36528c(0x1c1)+_0xcbff68+')');}return this['subscribedTopics']=[...new Set([...this[_0x36528c(0x218)],..._0xa39f59])],!![];}catch(_0x1e2873){return console[_0x36528c(0x1b6)]('[KafkaConsumer]\x20Subscribe\x20error:\x20'+_0x1e2873['message']),![];}}async[a0_0x3786b(0x208)](_0x3a7e1b,_0x42fa5c={}){const _0xbd2942=a0_0x3786b,_0x13374c={'UuhJi':function(_0x32c64a,_0x229dfa){return _0x32c64a+_0x229dfa;},'Tggaf':function(_0xfb0bfe,_0xe39c31){return _0xfb0bfe>_0xe39c31;},'AuytR':'[KafkaConsumer]\x20Cannot\x20start\x20consuming\x20-\x20not\x20connected','Epedc':function(_0x2937ed,_0x54f21a){return _0x2937ed!==_0x54f21a;}};if(!this['isConnected'])return console['error'](_0x13374c['AuytR']),![];if(this['isRunning'])return console[_0xbd2942(0x1df)](_0xbd2942(0x223)),!![];const _0x523d83=this[_0xbd2942(0x219)]();this[_0xbd2942(0x222)]=_0x3a7e1b;try{return this['metrics']['startTime']=new Date(),await this['consumer'][_0xbd2942(0x225)]({'autoCommit':_0x13374c['Epedc'](_0x42fa5c['autoCommit'],undefined)?_0x42fa5c['autoCommit']:_0x523d83[_0xbd2942(0x1f5)],'autoCommitInterval':_0x523d83['autoCommitInterval'],'eachMessage':async({topic:_0x14d6ab,partition:_0x3ceedd,message:_0x1c82ce,heartbeat:_0x53d2df})=>{const _0x4232d3=_0xbd2942,_0x5b0ecd=Date['now']();this[_0x4232d3(0x1fe)]['messagesReceived']++,this['metrics'][_0x4232d3(0x220)]=new Date();try{const _0x420315=_0x1c82ce[_0x4232d3(0x227)]?_0x1c82ce[_0x4232d3(0x227)]['toString']():null;let _0xf26b66=null;try{_0xf26b66=_0x420315?JSON[_0x4232d3(0x1e7)](_0x420315):null;}catch(_0x22e7fc){_0xf26b66=_0x420315;}const _0x25029a={'topic':_0x14d6ab,'partition':_0x3ceedd,'offset':_0x1c82ce[_0x4232d3(0x1fa)],'key':_0x1c82ce['key']?_0x1c82ce[_0x4232d3(0x1d4)]['toString']():null,'headers':this['parseHeaders'](_0x1c82ce[_0x4232d3(0x214)]),'timestamp':_0x1c82ce[_0x4232d3(0x1c5)],'value':_0xf26b66,'raw':_0x420315};this[_0x4232d3(0x222)]&&await this[_0x4232d3(0x222)](_0x25029a);!_0x523d83['autoCommit']&&await this[_0x4232d3(0x1bf)][_0x4232d3(0x1f0)]([{'topic':_0x14d6ab,'partition':_0x3ceedd,'offset':_0x13374c['UuhJi'](parseInt(_0x1c82ce[_0x4232d3(0x1fa)]),0x1)[_0x4232d3(0x1b8)]()}]);this['metrics']['messagesProcessed']++;const _0x5cf1d8=Date[_0x4232d3(0x228)]()-_0x5b0ecd;this[_0x4232d3(0x1fe)]['processingTimes']['push'](_0x5cf1d8),_0x13374c[_0x4232d3(0x1f8)](this[_0x4232d3(0x1fe)]['processingTimes'][_0x4232d3(0x21c)],0x64)&&this['metrics'][_0x4232d3(0x1b9)]['shift'](),await _0x53d2df();}catch(_0x1e8572){this['metrics']['messagesFailed']++,console['error'](_0x4232d3(0x1cf)+_0x1e8572[_0x4232d3(0x1bc)]);throw _0x1e8572;}}}),this[_0xbd2942(0x20d)]=!![],console['log']('[KafkaConsumer]\x20Started\x20consuming\x20from\x20topics:\x20'+this[_0xbd2942(0x218)][_0xbd2942(0x1e2)](',\x20')),!![];}catch(_0x394acf){return console['error'](_0xbd2942(0x20c)+_0x394acf[_0xbd2942(0x1bc)]),![];}}['parseHeaders'](_0x3cf9b5){if(!_0x3cf9b5)return{};const _0x1d0575={};for(const [_0x1751b0,_0x3ad9da]of Object['entries'](_0x3cf9b5)){_0x1d0575[_0x1751b0]=_0x3ad9da?_0x3ad9da['toString']():null;}return _0x1d0575;}async[a0_0x3786b(0x1c0)](){const _0x118e8c=a0_0x3786b,_0x210a6e={'ZOyOS':'[KafkaConsumer]\x20Consumer\x20paused'};if(!this[_0x118e8c(0x1c2)]||!this[_0x118e8c(0x20d)])return console[_0x118e8c(0x1df)](_0x118e8c(0x1f6)),![];if(this[_0x118e8c(0x1e3)])return console['log']('[KafkaConsumer]\x20Consumer\x20already\x20paused'),!![];try{const _0x2f8b06=this['subscribedTopics'][_0x118e8c(0x1da)](_0xea5f5b=>({'topic':_0xea5f5b}));return this['consumer'][_0x118e8c(0x1c0)](_0x2f8b06),this['isPaused']=!![],console['log'](_0x210a6e[_0x118e8c(0x1b3)]),!![];}catch(_0x41c34d){return console[_0x118e8c(0x1b6)]('[KafkaConsumer]\x20Pause\x20error:\x20'+_0x41c34d['message']),![];}}async['resume'](){const _0x5e2981=a0_0x3786b,_0x53e52b={'MtlFz':_0x5e2981(0x1e9),'Hkevj':'[KafkaConsumer]\x20Consumer\x20not\x20paused','BOKft':'[KafkaConsumer]\x20Consumer\x20resumed'};if(!this[_0x5e2981(0x1c2)]||!this['isRunning'])return console['log'](_0x53e52b['MtlFz']),![];if(!this[_0x5e2981(0x1e3)])return console[_0x5e2981(0x1df)](_0x53e52b['Hkevj']),!![];try{const _0x5d8cad=this[_0x5e2981(0x218)][_0x5e2981(0x1da)](_0x3ea18b=>({'topic':_0x3ea18b}));return this[_0x5e2981(0x1bf)][_0x5e2981(0x1f3)](_0x5d8cad),this[_0x5e2981(0x1e3)]=![],console[_0x5e2981(0x1df)](_0x53e52b['BOKft']),!![];}catch(_0x723a61){return console['error'](_0x5e2981(0x1d7)+_0x723a61['message']),![];}}async['stop'](){const _0x5785a7=a0_0x3786b,_0x3ecbc3={'whvFf':_0x5785a7(0x22a)};if(!this['isConnected'])return console[_0x5785a7(0x1df)](_0x3ecbc3[_0x5785a7(0x1b5)]),!![];try{const _0x37b818='2|5|3|4|1|0'['split']('|');let _0x13e4cc=0x0;while(!![]){switch(_0x37b818[_0x13e4cc++]){case'0':return!![];case'1':console['log'](_0x5785a7(0x1dd));continue;case'2':this['consumer']&&(await this['consumer']['stop'](),await this['consumer'][_0x5785a7(0x21b)]());continue;case'3':this[_0x5785a7(0x20d)]=![];continue;case'4':this['isPaused']=![];continue;case'5':this[_0x5785a7(0x1c2)]=![];continue;}break;}}catch(_0x289b16){return console['error']('[KafkaConsumer]\x20Stop\x20error:\x20'+_0x289b16['message']),![];}}async[a0_0x3786b(0x1d1)](_0x1585e4,_0x29634e,_0x2d96a1){const _0x372a26=a0_0x3786b,_0x17e48c={'SNSll':_0x372a26(0x20f)};if(!this['isConnected'])return console[_0x372a26(0x1b6)](_0x17e48c[_0x372a26(0x1ef)]),![];try{return this['consumer'][_0x372a26(0x206)]({'topic':_0x1585e4,'partition':_0x29634e,'offset':_0x2d96a1[_0x372a26(0x1b8)]()}),console['log'](_0x372a26(0x1d3)+_0x2d96a1+'\x20on\x20'+_0x1585e4+':'+_0x29634e),!![];}catch(_0x1694e3){return console[_0x372a26(0x1b6)](_0x372a26(0x1e5)+_0x1694e3[_0x372a26(0x1bc)]),![];}}['getStatus'](){const _0x453164=a0_0x3786b,_0xd5ff46=this[_0x453164(0x219)]();return{'enabled':_0xd5ff46['enabled'],'connected':this[_0x453164(0x1c2)],'running':this[_0x453164(0x20d)],'paused':this[_0x453164(0x1e3)],'brokers':_0xd5ff46[_0x453164(0x1c4)],'clientId':_0xd5ff46[_0x453164(0x1e1)],'groupId':this['groupId'],'subscribedTopics':this['subscribedTopics']};}[a0_0x3786b(0x212)](){const _0x315da9=a0_0x3786b,_0x537082={'hkxEF':function(_0x136a13,_0x554198){return _0x136a13>_0x554198;},'ezFbN':function(_0xcf86b3,_0x51c6fe){return _0xcf86b3>_0x51c6fe;},'nnIca':function(_0x55665e,_0x34314f){return _0x55665e*_0x34314f;},'hXOuB':function(_0x9cf49a,_0x14ebe0){return _0x9cf49a/_0x14ebe0;},'JMzDw':function(_0x124d58,_0x434b62){return _0x124d58/_0x434b62;},'WTrTo':function(_0x52e51b,_0x3df4ba){return _0x52e51b-_0x3df4ba;},'EzAEj':function(_0x43e122,_0x20585e){return _0x43e122+_0x20585e;}},_0x102761=_0x537082['hkxEF'](this['metrics']['processingTimes'][_0x315da9(0x21c)],0x0)?this['metrics']['processingTimes'][_0x315da9(0x1e8)]((_0x16c699,_0xcf039f)=>_0x16c699+_0xcf039f,0x0)/this[_0x315da9(0x1fe)][_0x315da9(0x1b9)][_0x315da9(0x21c)]:0x0,_0x7a3d4e=this['metrics'][_0x315da9(0x1b9)]['length']>0x0?Math[_0x315da9(0x1d0)](...this[_0x315da9(0x1fe)]['processingTimes']):0x0,_0x1729a1=this['metrics'][_0x315da9(0x1b9)][_0x315da9(0x21c)]>0x0?Math['max'](...this[_0x315da9(0x1fe)][_0x315da9(0x1b9)]):0x0;return{'messagesReceived':this['metrics'][_0x315da9(0x224)],'messagesProcessed':this[_0x315da9(0x1fe)]['messagesProcessed'],'messagesFailed':this[_0x315da9(0x1fe)]['messagesFailed'],'successRate':_0x537082['ezFbN'](this['metrics'][_0x315da9(0x224)],0x0)?_0x537082['nnIca'](_0x537082['hXOuB'](this[_0x315da9(0x1fe)][_0x315da9(0x1e4)],this['metrics'][_0x315da9(0x224)]),0x64)[_0x315da9(0x1c6)](0x2)+'%':'0%','lastMessageTime':this[_0x315da9(0x1fe)]['lastMessageTime'],'startTime':this['metrics']['startTime'],'uptime':this['metrics'][_0x315da9(0x1ff)]?Math['floor'](_0x537082['JMzDw'](_0x537082[_0x315da9(0x213)](Date['now'](),this[_0x315da9(0x1fe)][_0x315da9(0x1ff)]['getTime']()),0x3e8))+'s':'0s','processingTime':{'avg':Math['round'](_0x102761)+'ms','min':_0x7a3d4e+'ms','max':_0x537082['EzAEj'](_0x1729a1,'ms')}};}['resetMetrics'](){const _0x7c00fa=a0_0x3786b,_0x15929f={'BPPeD':'[KafkaConsumer]\x20Metrics\x20reset'};this[_0x7c00fa(0x1fe)]={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':this[_0x7c00fa(0x20d)]?new Date():null,'processingTimes':[]},console[_0x7c00fa(0x1df)](_0x15929f[_0x7c00fa(0x1cb)]);}async[a0_0x3786b(0x1c7)](){await this['stop']();}}let instance=null;function getInstance(){return!instance&&(instance=new KafkaConsumerService()),instance;}function resetInstance(){const _0x1192f0=a0_0x3786b;instance&&(instance[_0x1192f0(0x1c7)](),instance=null);}function createInstance(){return new KafkaConsumerService();}module['exports']={'getInstance':getInstance,'resetInstance':resetInstance,'createInstance':createInstance,'KafkaConsumerService':KafkaConsumerService};