@restforgejs/platform 5.1.0 → 5.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (180) hide show
  1. package/build-info.json +2 -2
  2. package/cli/consumer-deploy.js +1 -1
  3. package/cli/consumer.js +1 -1
  4. package/generators/cli/data/pull.js +104 -0
  5. package/generators/cli/data/push.js +95 -0
  6. package/generators/cli/fast-track.js +12 -25
  7. package/generators/cli/init.js +347 -97
  8. package/generators/cli/schema/introspect.js +10 -10
  9. package/generators/lib/data/data-scope.js +138 -0
  10. package/generators/lib/data/db-executor.js +440 -0
  11. package/generators/lib/data/dialect-kit.js +56 -0
  12. package/generators/lib/data/envelope.js +236 -0
  13. package/generators/lib/data/pull-runner.js +414 -0
  14. package/generators/lib/data/push-runner.js +400 -0
  15. package/generators/lib/data/sdf-reader.js +132 -0
  16. package/generators/lib/data/table-order.js +126 -0
  17. package/generators/lib/data/value-codec.js +188 -0
  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/integrity-manifest.json +18 -18
  28. package/package.json +1 -1
  29. package/scripts/verify-integrity.js +1 -1
  30. package/server.js +1 -1
  31. package/src/components/handlers/adjust_handler.js +1 -1
  32. package/src/components/handlers/audit_handler.js +1 -1
  33. package/src/components/handlers/delete_handler.js +1 -1
  34. package/src/components/handlers/export_handler.js +1 -1
  35. package/src/components/handlers/import_handler.js +1 -1
  36. package/src/components/handlers/insert_handler.js +1 -1
  37. package/src/components/handlers/update_handler.js +1 -1
  38. package/src/components/handlers/upload_handler.js +1 -1
  39. package/src/components/handlers/workflow_handler.js +1 -1
  40. package/src/components/integrations/webhook.js +1 -1
  41. package/src/consumers/baseConsumer.js +1 -1
  42. package/src/consumers/declarativeMapper.js +1 -1
  43. package/src/consumers/handlers/apiHandler.js +1 -1
  44. package/src/consumers/handlers/consoleHandler.js +1 -1
  45. package/src/consumers/handlers/databaseHandler.js +1 -1
  46. package/src/consumers/handlers/index.js +1 -1
  47. package/src/consumers/handlers/kafkaHandler.js +1 -1
  48. package/src/consumers/index.js +1 -1
  49. package/src/consumers/messageTransformer.js +1 -1
  50. package/src/consumers/validator.js +1 -1
  51. package/src/core/db/dialect/base-dialect.js +1 -1
  52. package/src/core/db/dialect/index.js +1 -1
  53. package/src/core/db/dialect/mysql-dialect.js +1 -1
  54. package/src/core/db/dialect/oracle-dialect.js +1 -1
  55. package/src/core/db/dialect/postgres-dialect.js +1 -1
  56. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  57. package/src/core/db/flatten-helper.js +1 -1
  58. package/src/core/db/query-builder-error.js +1 -1
  59. package/src/core/db/query-builder.js +1 -1
  60. package/src/core/db/relation-helper.js +1 -1
  61. package/src/core/handlers/delete_handler.js +1 -1
  62. package/src/core/handlers/insert_handler.js +1 -1
  63. package/src/core/handlers/update_handler.js +1 -1
  64. package/src/core/models/base-model.js +1 -1
  65. package/src/core/utils/cache-manager.js +1 -1
  66. package/src/core/utils/component-engine.js +1 -1
  67. package/src/core/utils/context-builder.js +1 -1
  68. package/src/core/utils/datetime-formatter.js +1 -1
  69. package/src/core/utils/datetime-parser.js +1 -1
  70. package/src/core/utils/db.js +1 -1
  71. package/src/core/utils/logger.js +1 -1
  72. package/src/core/utils/payload-loader.js +1 -1
  73. package/src/core/utils/security-checks.js +1 -1
  74. package/src/middleware/body-options.js +1 -1
  75. package/src/middleware/cors.js +1 -1
  76. package/src/middleware/idempotency.js +1 -1
  77. package/src/middleware/rate-limiter.js +1 -1
  78. package/src/middleware/request-logger.js +1 -1
  79. package/src/middleware/security-headers.js +1 -1
  80. package/src/models/base-model-mysql.js +1 -1
  81. package/src/models/base-model-oracle.js +1 -1
  82. package/src/models/base-model-sqlite.js +1 -1
  83. package/src/models/base-model.js +1 -1
  84. package/src/pro/caching/redis-client.js +1 -1
  85. package/src/pro/caching/redis-helper.js +1 -1
  86. package/src/pro/consumers/baseConsumer.js +1 -1
  87. package/src/pro/consumers/declarativeMapper.js +1 -1
  88. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  89. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  90. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  91. package/src/pro/consumers/handlers/index.js +1 -1
  92. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  93. package/src/pro/consumers/index.js +1 -1
  94. package/src/pro/consumers/messageTransformer.js +1 -1
  95. package/src/pro/consumers/validator.js +1 -1
  96. package/src/pro/database/base-model-mysql.js +1 -1
  97. package/src/pro/database/base-model-oracle.js +1 -1
  98. package/src/pro/database/base-model-sqlite.js +1 -1
  99. package/src/pro/database/db-mysql.js +1 -1
  100. package/src/pro/database/db-oracle.js +1 -1
  101. package/src/pro/database/db-sqlite.js +1 -1
  102. package/src/pro/excel/excel-generator.js +1 -1
  103. package/src/pro/excel/excel-parser.js +1 -1
  104. package/src/pro/excel/export-service.js +1 -1
  105. package/src/pro/excel/export_handler.js +1 -1
  106. package/src/pro/excel/import-service.js +1 -1
  107. package/src/pro/excel/import-validator.js +1 -1
  108. package/src/pro/excel/import_handler.js +1 -1
  109. package/src/pro/excel/upsert-builder.js +1 -1
  110. package/src/pro/idgen/idgen-routes.js +1 -1
  111. package/src/pro/integrations/lookup-resolver.js +1 -1
  112. package/src/pro/integrations/upload-handler-v2.js +1 -1
  113. package/src/pro/integrations/upload-handler.js +1 -1
  114. package/src/pro/integrations/webhook.js +1 -1
  115. package/src/pro/locking/lock-routes.js +1 -1
  116. package/src/pro/locking/resource-lock-manager.js +1 -1
  117. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  118. package/src/pro/messaging/kafkaService.js +1 -1
  119. package/src/pro/messaging/messagehubService.js +1 -1
  120. package/src/pro/messaging/rabbitmqService.js +1 -1
  121. package/src/pro/scheduler/job-manager.js +1 -1
  122. package/src/pro/scheduler/job-routes.js +1 -1
  123. package/src/pro/scheduler/job-validator.js +1 -1
  124. package/src/pro/storage/base-storage-provider.js +1 -1
  125. package/src/pro/storage/file-metadata-helper.js +1 -1
  126. package/src/pro/storage/index.js +1 -1
  127. package/src/pro/storage/local-storage-provider.js +1 -1
  128. package/src/pro/storage/s3-storage-provider.js +1 -1
  129. package/src/pro/storage/upload-cleanup-job.js +1 -1
  130. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  131. package/src/pro/storage/upload-pending-tracker.js +1 -1
  132. package/src/pro/websocket/broadcast-helper.js +1 -1
  133. package/src/pro/websocket/index.js +1 -1
  134. package/src/pro/websocket/livesync-server.js +1 -1
  135. package/src/pro/websocket/ws-broadcaster.js +1 -1
  136. package/src/services/export-service.js +1 -1
  137. package/src/services/import-service.js +1 -1
  138. package/src/services/kafkaConsumerService.js +1 -1
  139. package/src/services/kafkaService.js +1 -1
  140. package/src/services/messagehubService.js +1 -1
  141. package/src/services/rabbitmqService.js +1 -1
  142. package/src/utils/cache-invalidation-registry.js +1 -1
  143. package/src/utils/cache-manager.js +1 -1
  144. package/src/utils/component-engine.js +1 -1
  145. package/src/utils/config-extractor.js +1 -1
  146. package/src/utils/consumerLogger.js +1 -1
  147. package/src/utils/context-builder.js +1 -1
  148. package/src/utils/dashboard-helpers.js +1 -1
  149. package/src/utils/dateHelper.js +1 -1
  150. package/src/utils/datetime-formatter.js +1 -1
  151. package/src/utils/datetime-parser.js +1 -1
  152. package/src/utils/db-bootstrap.js +1 -1
  153. package/src/utils/db-mysql.js +1 -1
  154. package/src/utils/db-oracle.js +1 -1
  155. package/src/utils/db-sqlite.js +1 -1
  156. package/src/utils/db.js +1 -1
  157. package/src/utils/demo-generator.js +1 -1
  158. package/src/utils/excel-generator.js +1 -1
  159. package/src/utils/excel-parser.js +1 -1
  160. package/src/utils/file-watcher.js +1 -1
  161. package/src/utils/id-generator.js +1 -1
  162. package/src/utils/idempotency-manager.js +1 -1
  163. package/src/utils/import-validator.js +1 -1
  164. package/src/utils/license-client.js +1 -1
  165. package/src/utils/lock-manager.js +1 -1
  166. package/src/utils/logger.js +1 -1
  167. package/src/utils/lookup-resolver.js +1 -1
  168. package/src/utils/payload-loader.js +1 -1
  169. package/src/utils/processor-response.js +1 -1
  170. package/src/utils/rabbitmq.js +1 -1
  171. package/src/utils/redis-client.js +1 -1
  172. package/src/utils/redis-helper.js +1 -1
  173. package/src/utils/request-scope.js +1 -1
  174. package/src/utils/security-checks.js +1 -1
  175. package/src/utils/service-resolver.js +1 -1
  176. package/src/utils/shutdown-coordinator.js +1 -1
  177. package/src/utils/trusted-keys.js +1 -1
  178. package/src/utils/upload-handler.js +1 -1
  179. package/src/utils/upsert-builder.js +1 -1
  180. package/src/utils/workflow-hook-executor.js +1 -1
@@ -1 +1 @@
1
- 'use strict';const a0_0x3ad9a8=a0_0x195b;(function(_0x5afc59,_0x193704){const _0x578099=a0_0x195b,_0x28815a=_0x5afc59();while(!![]){try{const _0x1b6a75=-parseInt(_0x578099(0x1cb))/0x1*(parseInt(_0x578099(0x21f))/0x2)+parseInt(_0x578099(0x1e1))/0x3+-parseInt(_0x578099(0x22d))/0x4+parseInt(_0x578099(0x208))/0x5+parseInt(_0x578099(0x1f2))/0x6*(-parseInt(_0x578099(0x232))/0x7)+-parseInt(_0x578099(0x1ec))/0x8+parseInt(_0x578099(0x21a))/0x9*(parseInt(_0x578099(0x1f7))/0xa);if(_0x1b6a75===_0x193704)break;else _0x28815a['push'](_0x28815a['shift']());}catch(_0x128f70){_0x28815a['push'](_0x28815a['shift']());}}}(a0_0x1c77,0x32988));function a0_0x1c77(){const _0x2f6cad=['z2v0','uKzTEKu','x3DZCW','Cg9UzW','zxHWB3j0CW','yNjVywrJyxn0','mxrNwhD3ua','BgL2zxn5BMnFCMvKAxnFC3vIC2nYAwjLCL9MywLSzwq','x2HHBMrSzunSAwvUDe1LC3nHz2u','Ahr0CdOVlW','BgL2zxn5BMnFyNjVywrJyxn0','zgf0yv9JAgfUz2u','C2XPy2u','CgrHywq','ChvIBgLZAgvY','AgfUzgXLvxbNCMfKzq','zw1PDa','x2HHBMrSzvvUC3vIC2nYAwjL','AM9PBG','C3vIC2nYAwjLza','Ag9ZDa','mti3lJaUmc4X','ihnODxqGzg93BG','D3jPDgu','AgvHzgvYCW','C3bSAxq','C3vIC2nYAwjL','Dw5ZDwjZy3jPyMvK','mtiZmdm4muvZtw5nCq','x293BLb1yMXPC2HLCG','x21Vzgu','u2vYDMvYihnODxr0Aw5NigrVD24','z2v0q2XPzw50','BgL2zxn5BMnFCMvKAxnFDw5HDMfPBgfIBgu','BgvUz3rO','sw52ywXPzcbku09oig1LC3nHz2u','x3nLBMruB0nSAwvUDa','Aw5MBW','ignSAwvUDcHZkq','mZeXotuXmNL6wwrtyW','Aw5PDgLHBgL6zq','ywHqENu','ChvZAa','zw52','x2XVz2DLCG','nKD5AuPurq','zxjYB3i','BwvZC2fNzq','x3jLzgLZuhvIBgLZAgvY','Bg9Nz2vY','mZKWsezlzhLP','zNvSBa','z01XvLm','y2XPzw50CW','CMvTB3rLqwrKCMvZCW','uLbtruO','C2vUza','y2HHBM5LBhm','tuLdyLu','x3jLzgLZu3vIC2nYAwjLCG','BgL2zxn5BMnFCMvKAxnFC3vIC2nYAwjLx2vYCM9Y','zgvSzxrL','zgvZDhjVEq','tgL2zsbtEw5JifjLzgLZihn1yNnJCMLIzxiGywn0AxzLigzVCIbJBhvZDgvYig1Vzgu','uMvKAxmGBM90igf2ywLSywjSzsbMB3iGtgL2zsbtEw5Jihb1yMXPC2HLCJOG','C3rHCNrZv2L0Aa','BgLZDgvUzxjZ','mtG0ody2nvzRr0nRrW','BgL2zxn5BMnFChvIBgLZAgvYx2LUAxrPywXPEMvK','l3DZ','x3n1yNnJCMLWDgLVBNm','C3rYAw5NAwz5','x2jYB2fKy2fZDeXVy2fS','BeXzEKu','DKnSuNq','x2HLyxj0yMvHDfrPBwvY','ywrK','BgL2zxn5BMnFCMvKAxnFChvIBgLZAgvYx2zHAwXLza','y2f0y2G','CKTrugy','vw5RBM93BIbTzxnZywDLihr5Cgu6ia','q2XPzw50ihn1yNnJCMLIzwqGDg86ia','tgL2zsbtEw5JignSAwvUDcbKAxnJB25Uzwn0zwq6ia','uKvesvnFse9tva','wuThy1e','nJCXodvyuevuB28','AgfZ','y2XVC2u','C3vIC2nYAwjLzenOyw5UzwXZ','x3b1yMXPC2HuB1jLzgLZ','nJu2odiYDfrnDw9W','rwHmrwy','suDnDLq','CMvHzhLtDgf0zq','y29UBMvJDa','x2LUAxrPywXPEMvK','ywn0Aw9U','Dw5ZDwjZy3jPyMu','DhLWzq','BgL2zxn5BMnFCMvKAxnFC3vIC2nYAwjLza','D1niuKO','uKvesvnFrei','CxvPDa','teLwrv9twu5dx0HfqvjuqKvbvf9jtLrfuLzbta','mtu5ndy4rhnXAg9w','rK9lDNu','rxnyAMG','ihrVia','zgvIDwC','nZm4nZy2rensCxD3','D2fYBG','tgL2zsbtEw5Jihb1yMXPC2HLCIbPBML0AwfSAxPLzcaOuMvKAxmTB25SEsWGBM8Gv2vIu29JA2v0ihnLCNzLCIK','x2HHBMrSzvn1yNnJCMLIzq','x2HHBMrSzunVBM5Ly3rPB24','x3jLBw92zunSAwvUDezYB21bBgXdAgfUBMvSCW','sKnTAfq','Dg9tDhjPBMC','CMvXDwvZDeLK','y2XLyxi','Dg9ju09tDhjPBMC','tgL2zsbtEw5Jia','x29WDgLVBNm','q0XRCfe','y2HHBM5LBhmGBxvZDcbIzsbHig5VBI1LBxb0EsbHCNjHEq','lI4VlI4VDxrPBhmVBg9Nz2vY','Aw9Ozfa','wvHbr1G','y2vUELq','AxnbCNjHEq','rMfPBgvKihrVignVBM5Ly3qGuMvKAxmGChvIBgLZAgvYigzVCIbmAxzLifn5BMm','qNjVywrJyxn0ia','zMjut3m','rMfPBgvKihrVignVBM5Ly3qGuMvKAxmGC3vIC2nYAwjLCIbMB3iGtgL2zsbtEw5JignSDxn0zxiGBw9Kzq','Ec1HCgKTA2v5','Aw9YzwrPCW'];a0_0x1c77=function(){return _0x2f6cad;};return a0_0x1c77();}function a0_0x195b(_0x2007fb,_0x16791c){_0x2007fb=_0x2007fb-0x1ae;const _0x1c77d3=a0_0x1c77();let _0x195b1c=_0x1c77d3[_0x2007fb];if(a0_0x195b['pbHqFr']===undefined){var _0x500100=function(_0x5073b0){const _0x1c2ccd='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x48825a='',_0x28201d='';for(let _0x1578a7=0x0,_0x487b40,_0xf06c45,_0x53d93a=0x0;_0xf06c45=_0x5073b0['charAt'](_0x53d93a++);~_0xf06c45&&(_0x487b40=_0x1578a7%0x4?_0x487b40*0x40+_0xf06c45:_0xf06c45,_0x1578a7++%0x4)?_0x48825a+=String['fromCharCode'](0xff&_0x487b40>>(-0x2*_0x1578a7&0x6)):0x0){_0xf06c45=_0x1c2ccd['indexOf'](_0xf06c45);}for(let _0x161006=0x0,_0x634df=_0x48825a['length'];_0x161006<_0x634df;_0x161006++){_0x28201d+='%'+('00'+_0x48825a['charCodeAt'](_0x161006)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x28201d);};a0_0x195b['EIOnsN']=_0x500100,a0_0x195b['Jxfnee']={},a0_0x195b['pbHqFr']=!![];}const _0x3ceea6=_0x1c77d3[0x0],_0x309f08=_0x2007fb+_0x3ceea6,_0x1d2820=a0_0x195b['Jxfnee'][_0x309f08];return!_0x1d2820?(_0x195b1c=a0_0x195b['EIOnsN'](_0x195b1c),a0_0x195b['Jxfnee'][_0x309f08]=_0x195b1c):_0x195b1c=_0x1d2820,_0x195b1c;}const {WebSocketServer}=require('ws'),{URL}=require('url'),REDIS_CHANNEL_PREFIX='restforge:livesync:';class WebSocketBroadcaster{constructor(){const _0x34f7d4=a0_0x195b;this['_wss']=null,this[_0x34f7d4(0x224)]=![],this['_mode']=null,this[_0x34f7d4(0x1b7)]={},this[_0x34f7d4(0x1f1)]=console,this['_subscriptions']=new Map(),this['_heartbeatTimer']=null,this[_0x34f7d4(0x1f5)]=null,this[_0x34f7d4(0x200)]=null,this['_workerId']=process['pid'];}[a0_0x3ad9a8(0x1ed)](_0x1ed673,_0x30fb27={}){const _0x4639e9=a0_0x3ad9a8,_0x547038={'SUeJR':'livesync_wss_error','JCmhT':'connection','IGMvT':'error','QKmHR':_0x4639e9(0x1f8),'eNQjt':_0x4639e9(0x20a)};if(this[_0x4639e9(0x224)])return;this['_options']=_0x30fb27,this['_mode']=_0x4639e9(0x1f8);try{this[_0x4639e9(0x1f1)]=require(_0x4639e9(0x1ba))[_0x4639e9(0x1f6)]||console;}catch(_0x2639db){this['_logger']=console;}const _0xf72387=parseInt(process[_0x4639e9(0x1f0)][_0x4639e9(0x22c)],0xa)||0x1e;this[_0x4639e9(0x1c7)]=new WebSocketServer({'server':_0x1ed673,'path':_0x4639e9(0x20a)}),this['_setupUpgradeAuth'](_0x1ed673),this['_wss']['on'](_0x547038[_0x4639e9(0x1b1)],(_0x12a470,_0x50c38d)=>this[_0x4639e9(0x1af)](_0x12a470,_0x50c38d)),this['_wss']['on'](_0x547038[_0x4639e9(0x221)],_0x41c3a9=>{const _0x1aaaf=_0x4639e9;this[_0x1aaaf(0x1f1)][_0x1aaaf(0x1f3)]({'event':_0x547038['SUeJR'],'error':_0x41c3a9['message']},'WebSocket\x20server\x20error:\x20'+_0x41c3a9['message']);}),this['_startHeartbeat'](_0xf72387),this['_setupRedis'](),this['_initialized']=!![],this[_0x4639e9(0x1f1)][_0x4639e9(0x1ea)]({'event':'livesync_initialized','mode':_0x547038['QKmHR'],'path':_0x547038['eNQjt'],'heartbeat':_0xf72387+'s'},'Live\x20Sync\x20server\x20initialized\x20at\x20/ws\x20(heartbeat:\x20'+_0xf72387+'s)');}['initializeAsPublisher'](_0x36b74d={}){const _0x237d1b=a0_0x3ad9a8,_0x58cfee={'rKQPf':_0x237d1b(0x234)};if(this['_initialized'])return;this[_0x237d1b(0x1b7)]=_0x36b74d,this[_0x237d1b(0x1e3)]=_0x237d1b(0x1d3);try{this['_logger']=require(_0x237d1b(0x1ba))['logger']||console;}catch(_0x3138ec){this['_logger']=console;}this['_setupRedisPublisher'](),this['_initialized']=!![],this[_0x237d1b(0x1f1)][_0x237d1b(0x1ea)]({'event':_0x237d1b(0x209),'mode':_0x237d1b(0x1d3)},_0x58cfee[_0x237d1b(0x214)]);}['isInitialized'](){return this['_initialized'];}[a0_0x3ad9a8(0x1ca)](_0x422d74,_0x1209f9){const _0x72efec=a0_0x3ad9a8,_0x48e1eb={'EhLEf':'publisher','QAKQl':function(_0x59948a,_0x593433){return _0x59948a===_0x593433;},'JqdRI':function(_0x7e21af,_0x2abaca){return _0x7e21af===_0x2abaca;},'XeBQJ':_0x72efec(0x1cf)};if(!this['_initialized'])return;if(this['_mode']===_0x48e1eb[_0x72efec(0x220)]){this['_publishToRedis'](_0x422d74,_0x1209f9);return;}const _0x23cd80=JSON[_0x72efec(0x20c)]({'type':'data_change','channel':_0x422d74,'action':_0x1209f9[_0x72efec(0x225)],'data':_0x1209f9['data'],'requestId':_0x1209f9[_0x72efec(0x1b3)]||null,'timestamp':new Date()[_0x72efec(0x1b5)]()}),[_0x534b62]=_0x422d74['split'](':');let _0x195828=0x0;for(const [_0x39203e,_0x272be7]of this['_subscriptions']){const _0x56c92d=_0x48e1eb['QAKQl'](_0x39203e,_0x422d74),_0x200ea9=_0x39203e===_0x534b62+':*';if(_0x56c92d||_0x200ea9)for(const _0x13d3f4 of _0x272be7){if(_0x48e1eb['JqdRI'](_0x13d3f4['readyState'],0x1))try{_0x13d3f4['send'](_0x23cd80),_0x195828++;}catch(_0xe4c948){}}}_0x195828>0x0&&this['_logger'][_0x72efec(0x231)]({'event':_0x48e1eb['XeBQJ'],'channel':_0x422d74,'action':_0x1209f9['action'],'clients':_0x195828},_0x72efec(0x1c0)+_0x1209f9[_0x72efec(0x225)]+'\x20on\x20'+_0x422d74+_0x72efec(0x230)+_0x195828+_0x72efec(0x1eb));}[a0_0x3ad9a8(0x21e)](_0x2b01bd,_0x5e6d14){const _0x49dc0c=a0_0x3ad9a8;if(!this['_redisPublisher'])return;const _0x28355b=JSON[_0x49dc0c(0x20c)]({'channel':_0x2b01bd,'message':_0x5e6d14,'workerId':this['_workerId']});this[_0x49dc0c(0x1f5)]['publish'](REDIS_CHANNEL_PREFIX+_0x49dc0c(0x1ca),_0x28355b)['catch'](()=>{});}['shutdown'](){const _0x574a8c=a0_0x3ad9a8,_0x41620f={'UmAAd':_0x574a8c(0x1e4),'ajpvX':'livesync_shutdown'};if(!this[_0x574a8c(0x224)])return;this['_heartbeatTimer']&&(clearInterval(this[_0x574a8c(0x210)]),this[_0x574a8c(0x210)]=null);if(this['_wss']){for(const _0x14359a of this['_wss'][_0x574a8c(0x1fa)]){try{_0x14359a[_0x574a8c(0x21c)](0x3e9,_0x41620f['UmAAd']);}catch(_0x2e1eba){}}this[_0x574a8c(0x1c7)]['close']();}if(this['_redisSubscriber'])try{this['_redisSubscriber'][_0x574a8c(0x226)](),this[_0x574a8c(0x200)]['quit']();}catch(_0x197511){}if(this[_0x574a8c(0x1e2)]&&this['_redisPublisher'])try{this['_redisPublisher'][_0x574a8c(0x22b)]();}catch(_0x55e56d){}this[_0x574a8c(0x20b)][_0x574a8c(0x1b4)](),this[_0x574a8c(0x224)]=![],this[_0x574a8c(0x1f1)]['info']({'event':_0x41620f['ajpvX'],'mode':this['_mode']},_0x574a8c(0x1b6)+this[_0x574a8c(0x1e3)]+_0x574a8c(0x1db));}['_setupUpgradeAuth'](_0x19b37c){const _0x414c55=a0_0x3ad9a8,_0x5bf740={'rdULd':'connection','CPWHM':_0x414c55(0x20a),'CLkpQ':'x-api-key','wSHRJ':'HTTP/1.1\x20401\x20Unauthorized\x0d\x0a\x0d\x0a','vClRt':'upgrade'},_0x4212eb=_0x19b37c[_0x414c55(0x207)](_0x5bf740[_0x414c55(0x20f)])[_0x414c55(0x1d1)]();_0x19b37c['removeAllListeners']('upgrade'),_0x19b37c['on']('upgrade',(_0x6dfbde,_0x267801,_0xa1c5f7)=>{const _0x42afce=_0x414c55,_0x1617d5={'EsXjh':_0x5bf740['rdULd']};if(!_0x6dfbde['url']||!_0x6dfbde['url'][_0x42afce(0x206)](_0x5bf740['CPWHM'])){for(const _0x1dad83 of _0x4212eb){_0x1dad83['call'](_0x19b37c,_0x6dfbde,_0x267801,_0xa1c5f7);}return;}if(this[_0x42afce(0x1b7)]['apiKey']){const _0x25b6d0=new URL(_0x6dfbde['url'],_0x42afce(0x1ce)+(_0x6dfbde[_0x42afce(0x1dd)][_0x42afce(0x1d9)]||'localhost')),_0x1caa80=_0x25b6d0['searchParams'][_0x42afce(0x1c5)](_0x5bf740[_0x42afce(0x1b8)])||_0x6dfbde[_0x42afce(0x1dd)][_0x42afce(0x1c3)];if(!_0x1caa80||_0x1caa80!==this['_options']['apiKey']){_0x267801[_0x42afce(0x1dc)](_0x5bf740[_0x42afce(0x229)]),_0x267801[_0x42afce(0x203)]();return;}}this[_0x42afce(0x1c7)][_0x42afce(0x1d4)](_0x6dfbde,_0x267801,_0xa1c5f7,_0x58e26d=>{const _0x4eccf4=_0x42afce;this[_0x4eccf4(0x1c7)][_0x4eccf4(0x1d5)](_0x1617d5[_0x4eccf4(0x22f)],_0x58e26d,_0x6dfbde);});});}[a0_0x3ad9a8(0x1af)](_0x15e151,_0x17a90b){const _0x5cdfc6=a0_0x3ad9a8,_0x375170={'CxfvI':_0x5cdfc6(0x1f3),'YKGcQ':_0x5cdfc6(0x1e8),'cenzT':'livesync_client_connected','wWzUl':'pong','SsKUS':_0x5cdfc6(0x1f4)};_0x15e151['isAlive']=!![],_0x15e151[_0x5cdfc6(0x21d)]=new Set();const _0xc85455=_0x17a90b['headers']['x-forwarded-for']||_0x17a90b['socket'][_0x5cdfc6(0x1fb)];this[_0x5cdfc6(0x1f1)]['info']({'event':_0x375170[_0x5cdfc6(0x1bd)],'ip':_0xc85455},'Live\x20Sync\x20client\x20connected\x20from\x20'+_0xc85455),_0x15e151['on'](_0x375170['wWzUl'],()=>{_0x15e151['isAlive']=!![];}),_0x15e151['on'](_0x375170['SsKUS'],_0x417105=>{const _0x439806=_0x5cdfc6;try{const _0x4c14e5=JSON['parse'](_0x417105[_0x439806(0x1b2)]());this[_0x439806(0x1cd)](_0x15e151,_0x4c14e5);}catch(_0x42dbeb){this[_0x439806(0x1e9)](_0x15e151,{'type':_0x375170['CxfvI'],'message':_0x375170[_0x439806(0x219)]});}}),_0x15e151['on'](_0x5cdfc6(0x21c),()=>{const _0x5ce5f1=_0x5cdfc6;this[_0x5ce5f1(0x1b0)](_0x15e151),this['_logger'][_0x5ce5f1(0x231)]({'event':'livesync_client_disconnected','ip':_0xc85455},_0x5ce5f1(0x217)+_0xc85455);}),_0x15e151['on'](_0x375170['CxfvI'],_0xec5f6e=>{const _0x1e6f8b=_0x5cdfc6;this[_0x1e6f8b(0x1f1)]['warn']({'event':'livesync_client_error','error':_0xec5f6e['message']},'WebSocket\x20client\x20error:\x20'+_0xec5f6e['message']),this['_removeClientFromAllChannels'](_0x15e151);});}[a0_0x3ad9a8(0x1cd)](_0x224d91,_0x44c8cf){const _0x14092b=a0_0x3ad9a8,_0x18ab1d={'fRkqV':_0x14092b(0x1df),'MYqjR':_0x14092b(0x226),'nSCOx':_0x14092b(0x1c8),'RFmzE':'error'};switch(_0x44c8cf[_0x14092b(0x227)]){case _0x18ab1d['fRkqV']:this['_handleSubscribe'](_0x224d91,_0x44c8cf[_0x14092b(0x1fe)]);break;case _0x18ab1d['MYqjR']:this[_0x14092b(0x1d6)](_0x224d91,_0x44c8cf[_0x14092b(0x1fe)]);break;case _0x18ab1d['nSCOx']:_0x224d91['isAlive']=!![];break;default:this['_sendToClient'](_0x224d91,{'type':_0x18ab1d[_0x14092b(0x1c6)],'message':_0x14092b(0x215)+_0x44c8cf[_0x14092b(0x227)]});}}[a0_0x3ad9a8(0x1ae)](_0x3eb094,_0x555b41){const _0x5f2874=a0_0x3ad9a8,_0x511f50={'fbTOs':function(_0xe2b1b3,_0x273b06){return _0xe2b1b3===_0x273b06;},'MICbU':'error','iohdP':function(_0xd4b50a,_0x469f3a){return _0xd4b50a!==_0x469f3a;},'FOKvu':'string','gMqVS':function(_0x389f93,_0x2d7499){return _0x389f93>_0x2d7499;}};if(!Array[_0x5f2874(0x1be)](_0x555b41)||_0x511f50[_0x5f2874(0x1c1)](_0x555b41[_0x5f2874(0x1e7)],0x0)){this[_0x5f2874(0x1e9)](_0x3eb094,{'type':_0x511f50[_0x5f2874(0x1ff)],'message':_0x5f2874(0x1b9)});return;}const _0x3eac49=[];for(const _0x3da1bc of _0x555b41){if(_0x511f50[_0x5f2874(0x1bb)](typeof _0x3da1bc,_0x511f50[_0x5f2874(0x22e)])||!_0x3da1bc['includes'](':'))continue;!this[_0x5f2874(0x20b)]['has'](_0x3da1bc)&&this[_0x5f2874(0x20b)]['set'](_0x3da1bc,new Set()),this[_0x5f2874(0x20b)]['get'](_0x3da1bc)[_0x5f2874(0x211)](_0x3eb094),_0x3eb094['subscribedChannels']['add'](_0x3da1bc),_0x3eac49[_0x5f2874(0x1ef)](_0x3da1bc);}_0x511f50[_0x5f2874(0x1f9)](_0x3eac49[_0x5f2874(0x1e7)],0x0)&&(this[_0x5f2874(0x1e9)](_0x3eb094,{'type':_0x5f2874(0x1d8),'channels':_0x3eac49,'timestamp':new Date()['toISOString']()}),this['_logger']['debug']({'event':'livesync_subscribe','channels':_0x3eac49},_0x5f2874(0x216)+_0x3eac49[_0x5f2874(0x1d7)](',\x20')));}[a0_0x3ad9a8(0x1d6)](_0x42db4a,_0x4d605d){const _0x2b5c27=a0_0x3ad9a8,_0xd8348f={'XSkBT':function(_0x23e2c3,_0xe1cb67){return _0x23e2c3>_0xe1cb67;},'zWIWn':_0x2b5c27(0x1e0)};if(!Array['isArray'](_0x4d605d))return;const _0x101ea1=[];for(const _0x2c0fd3 of _0x4d605d){this[_0x2b5c27(0x20b)][_0x2b5c27(0x21b)](_0x2c0fd3)&&(this['_subscriptions']['get'](_0x2c0fd3)['delete'](_0x42db4a),this['_subscriptions'][_0x2b5c27(0x1c5)](_0x2c0fd3)['size']===0x0&&this[_0x2b5c27(0x20b)]['delete'](_0x2c0fd3)),_0x42db4a['subscribedChannels'][_0x2b5c27(0x202)](_0x2c0fd3),_0x101ea1['push'](_0x2c0fd3);}_0xd8348f['XSkBT'](_0x101ea1['length'],0x0)&&this[_0x2b5c27(0x1e9)](_0x42db4a,{'type':_0xd8348f['zWIWn'],'channels':_0x101ea1,'timestamp':new Date()[_0x2b5c27(0x1b5)]()});}['_removeClientFromAllChannels'](_0x388b3e){const _0xb098d0=a0_0x3ad9a8,_0x2afb6b={'YXAGX':function(_0x43471e,_0x94760){return _0x43471e===_0x94760;}};if(!_0x388b3e['subscribedChannels'])return;for(const _0x27876b of _0x388b3e['subscribedChannels']){this[_0xb098d0(0x20b)]['has'](_0x27876b)&&(this[_0xb098d0(0x20b)]['get'](_0x27876b)['delete'](_0x388b3e),_0x2afb6b[_0xb098d0(0x1bc)](this['_subscriptions'][_0xb098d0(0x1c5)](_0x27876b)['size'],0x0)&&this['_subscriptions'][_0xb098d0(0x202)](_0x27876b));}_0x388b3e['subscribedChannels'][_0xb098d0(0x1b4)]();}[a0_0x3ad9a8(0x1e9)](_0x2bf097,_0x3a6515){const _0x5ed5b1=a0_0x3ad9a8;if(_0x2bf097[_0x5ed5b1(0x222)]===0x1)try{_0x2bf097['send'](JSON['stringify'](_0x3a6515));}catch(_0x40a592){}}['_startHeartbeat'](_0x4cc391){const _0x50fae4=a0_0x3ad9a8,_0x8bbecb={'RPSEJ':'ping','ahPzu':function(_0x577290,_0xf9e0f5,_0x27ca4c){return _0x577290(_0xf9e0f5,_0x27ca4c);},'lLYzE':function(_0x191f83,_0x5543c9){return _0x191f83*_0x5543c9;}};this[_0x50fae4(0x210)]=_0x8bbecb[_0x50fae4(0x1ee)](setInterval,()=>{const _0x483904=_0x50fae4;if(!this['_wss'])return;for(const _0x4f9895 of this[_0x483904(0x1c7)][_0x483904(0x1fa)]){if(!_0x4f9895['isAlive']){this['_removeClientFromAllChannels'](_0x4f9895),_0x4f9895['terminate']();continue;}_0x4f9895['isAlive']=![],this['_sendToClient'](_0x4f9895,{'type':_0x8bbecb[_0x483904(0x1fc)],'timestamp':new Date()['toISOString']()});try{_0x4f9895['ping']();}catch(_0x32526b){}}},_0x8bbecb[_0x50fae4(0x20e)](_0x4cc391,0x3e8));}['_setupRedisPublisher'](){const _0x315d44=a0_0x3ad9a8,_0x23a046={'sQWzF':function(_0x3f8e8f,_0x4ba1a7,_0x1bc55e){return _0x3f8e8f(_0x4ba1a7,_0x1bc55e);},'ouuDF':'livesync_redis_unavailable'};this[_0x315d44(0x1e2)]=![];try{try{const _0x32c7de=require('../../utils/redis-client');this['_redisPublisher']=_0x32c7de['getClient']?_0x32c7de[_0x315d44(0x1e5)]():null;}catch(_0x4da004){this['_redisPublisher']=null;}if(!this[_0x315d44(0x1f5)]){const _0x57ec43=require(_0x315d44(0x1c4)),_0x1e207f={'host':process['env'][_0x315d44(0x218)]||_0x315d44(0x1da),'port':parseInt(process[_0x315d44(0x1f0)]['REDIS_PORT'],0xa)||0x18eb,'password':process[_0x315d44(0x1f0)]['REDIS_PASSWORD']||undefined,'db':_0x23a046['sQWzF'](parseInt,process[_0x315d44(0x1f0)]['REDIS_DB'],0xa)||0x0,'lazyConnect':!![]};this[_0x315d44(0x1f5)]=new _0x57ec43(_0x1e207f),this['_ownPublisher']=!![],this[_0x315d44(0x1f5)][_0x315d44(0x223)]()[_0x315d44(0x213)](()=>{const _0x30a047=_0x315d44;this['_logger'][_0x30a047(0x233)]({'event':'livesync_redis_publisher_failed'},_0x30a047(0x1bf)),this[_0x30a047(0x1f5)]=null;});}}catch(_0xd15e89){this[_0x315d44(0x1f1)]['warn']({'event':_0x23a046['ouuDF'],'error':_0xd15e89['message']},_0x315d44(0x205)+_0xd15e89[_0x315d44(0x1f4)]);}}['_setupRedis'](){const _0x41f4e3=a0_0x3ad9a8,_0x176369={'HuQHb':_0x41f4e3(0x204),'pdaad':'message','zIZcW':function(_0xc38af3,_0x587b8c){return _0xc38af3(_0x587b8c);},'qaHMl':function(_0x351f4b,_0x152c2a,_0x1d46ef){return _0x351f4b(_0x152c2a,_0x1d46ef);},'gVJdo':'../../utils/redis-client'};this[_0x41f4e3(0x1e2)]=![];try{const _0x5a17d2=_0x176369['zIZcW'](require,_0x41f4e3(0x1c4)),_0xa44c49={'host':process['env']['REDIS_HOST']||_0x41f4e3(0x1da),'port':parseInt(process[_0x41f4e3(0x1f0)]['REDIS_PORT'],0xa)||0x18eb,'password':process['env']['REDIS_PASSWORD']||undefined,'db':_0x176369['qaHMl'](parseInt,process['env'][_0x41f4e3(0x22a)],0xa)||0x0,'lazyConnect':!![]};try{const _0x157159=require(_0x176369['gVJdo']);this[_0x41f4e3(0x1f5)]=_0x157159[_0x41f4e3(0x1e5)]?_0x157159[_0x41f4e3(0x1e5)]():null;}catch(_0x148e03){this[_0x41f4e3(0x1f5)]=null;}!this['_redisPublisher']&&(this['_redisPublisher']=new _0x5a17d2(_0xa44c49),this['_ownPublisher']=!![],this[_0x41f4e3(0x1f5)][_0x41f4e3(0x223)]()[_0x41f4e3(0x213)](()=>{const _0x7465ab=_0x41f4e3;this['_logger'][_0x7465ab(0x233)]({'event':_0x7465ab(0x212)},'Failed\x20to\x20connect\x20Redis\x20publisher\x20for\x20Live\x20Sync'),this[_0x7465ab(0x1f5)]=null;})),this['_redisSubscriber']=new _0x5a17d2(_0xa44c49),this['_redisSubscriber']['connect']()['then'](()=>{const _0x5ea342=_0x41f4e3,_0x45fb79={'xSpKU':_0x176369['HuQHb']};this['_redisSubscriber'][_0x5ea342(0x1df)](REDIS_CHANNEL_PREFIX+_0x5ea342(0x1ca),_0x3dc7fc=>{const _0x32b1ee=_0x5ea342;if(_0x3dc7fc){this['_logger']['error']({'event':_0x32b1ee(0x201),'error':_0x3dc7fc[_0x32b1ee(0x1f4)]},'Failed\x20to\x20subscribe\x20to\x20Redis\x20channel:\x20'+_0x3dc7fc[_0x32b1ee(0x1f4)]);return;}this[_0x32b1ee(0x1f1)][_0x32b1ee(0x1ea)]({'event':_0x32b1ee(0x228)},_0x45fb79['xSpKU']);}),this[_0x5ea342(0x200)]['on'](_0x176369[_0x5ea342(0x1d2)],(_0x3dd677,_0x4cc7ee)=>{const _0x5d76e3=_0x5ea342;try{const _0x32b63e=JSON['parse'](_0x4cc7ee);if(_0x32b63e['workerId']===this['_workerId'])return;this['_broadcastLocal'](_0x32b63e['channel'],_0x32b63e[_0x5d76e3(0x1f4)]);}catch(_0x2faab1){}});})[_0x41f4e3(0x213)](()=>{const _0x3953bf=_0x41f4e3;this['_logger'][_0x3953bf(0x233)]({'event':_0x3953bf(0x1cc)},_0x3953bf(0x1c2)),this[_0x3953bf(0x200)]=null;});}catch(_0x3593c9){this['_logger'][_0x41f4e3(0x233)]({'event':_0x41f4e3(0x1e6),'error':_0x3593c9['message']},'Redis\x20not\x20available\x20for\x20Live\x20Sync\x20cluster\x20mode:\x20'+_0x3593c9['message']);}}[a0_0x3ad9a8(0x20d)](_0x15647d,_0x3ff859){const _0x25db86=a0_0x3ad9a8;if(!this[_0x25db86(0x1c7)])return;const _0x12a582=JSON['stringify']({'type':_0x25db86(0x1d0),'channel':_0x15647d,'action':_0x3ff859[_0x25db86(0x225)],'data':_0x3ff859['data'],'requestId':_0x3ff859['requestId']||null,'timestamp':new Date()['toISOString']()}),[_0x3a34e5]=_0x15647d[_0x25db86(0x1de)](':');for(const [_0x1f372b,_0x3a6023]of this[_0x25db86(0x20b)]){const _0x5bf30f=_0x1f372b===_0x15647d,_0x1454c8=_0x1f372b===_0x3a34e5+':*';if(_0x5bf30f||_0x1454c8)for(const _0x5d1760 of _0x3a6023){if(_0x5d1760[_0x25db86(0x222)]===0x1)try{_0x5d1760[_0x25db86(0x1fd)](_0x12a582);}catch(_0x306724){}}}}}module[a0_0x3ad9a8(0x1c9)]=WebSocketBroadcaster;
1
+ 'use strict';const a0_0x2bf902=a0_0x4fd1;function a0_0x4fd1(_0x21ba76,_0x326aea){_0x21ba76=_0x21ba76-0x152;const _0x1e6e3f=a0_0x1e6e();let _0x4fd1b0=_0x1e6e3f[_0x21ba76];if(a0_0x4fd1['hziOJy']===undefined){var _0x279463=function(_0x5c77b0){const _0x52f983='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4dabb3='',_0x332af9='';for(let _0x4b6a99=0x0,_0x9498e6,_0x47e5df,_0xc8b4eb=0x0;_0x47e5df=_0x5c77b0['charAt'](_0xc8b4eb++);~_0x47e5df&&(_0x9498e6=_0x4b6a99%0x4?_0x9498e6*0x40+_0x47e5df:_0x47e5df,_0x4b6a99++%0x4)?_0x4dabb3+=String['fromCharCode'](0xff&_0x9498e6>>(-0x2*_0x4b6a99&0x6)):0x0){_0x47e5df=_0x52f983['indexOf'](_0x47e5df);}for(let _0x1302d9=0x0,_0x58636a=_0x4dabb3['length'];_0x1302d9<_0x58636a;_0x1302d9++){_0x332af9+='%'+('00'+_0x4dabb3['charCodeAt'](_0x1302d9)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x332af9);};a0_0x4fd1['RpzxHC']=_0x279463,a0_0x4fd1['SJGjHC']={},a0_0x4fd1['hziOJy']=!![];}const _0x548c89=_0x1e6e3f[0x0],_0x320ee4=_0x21ba76+_0x548c89,_0x15967f=a0_0x4fd1['SJGjHC'][_0x320ee4];return!_0x15967f?(_0x4fd1b0=a0_0x4fd1['RpzxHC'](_0x4fd1b0),a0_0x4fd1['SJGjHC'][_0x320ee4]=_0x4fd1b0):_0x4fd1b0=_0x15967f,_0x4fd1b0;}(function(_0x24d4c9,_0x5e1634){const _0x5ae1d7=a0_0x4fd1,_0x7b75d4=_0x24d4c9();while(!![]){try{const _0x406f0f=-parseInt(_0x5ae1d7(0x1d7))/0x1*(parseInt(_0x5ae1d7(0x17e))/0x2)+-parseInt(_0x5ae1d7(0x16c))/0x3+parseInt(_0x5ae1d7(0x1d4))/0x4*(parseInt(_0x5ae1d7(0x1bd))/0x5)+-parseInt(_0x5ae1d7(0x19d))/0x6+-parseInt(_0x5ae1d7(0x1a7))/0x7*(parseInt(_0x5ae1d7(0x168))/0x8)+parseInt(_0x5ae1d7(0x1ba))/0x9*(-parseInt(_0x5ae1d7(0x178))/0xa)+-parseInt(_0x5ae1d7(0x175))/0xb*(-parseInt(_0x5ae1d7(0x1a4))/0xc);if(_0x406f0f===_0x5e1634)break;else _0x7b75d4['push'](_0x7b75d4['shift']());}catch(_0x2ac3c1){_0x7b75d4['push'](_0x7b75d4['shift']());}}}(a0_0x1e6e,0x8fc2b));function a0_0x1e6e(){const _0x3ab709=['y2HHBM5LBhm','uM90wfC','CMvXDwvZDeLK','ignSAwvUDcHZkq','Aw5PDgLHBgL6zq','AfnKzuW','BgL2zxn5BMnFCMvKAxnFChvIBgLZAgvYx2zHAwXLza','Dg9ju09tDhjPBMC','Aw5PDgLHBgL6zufZuhvIBgLZAgvY','DgvYBwLUyxrL','BwvZC2fNzq','zgvSzxrL','Aw5MBW','BvjsrvO','AgfZ','Cg9UzW','BgLZDgvUzxjZ','mte3rMfkzhfj','rMfPBgvKihrVihn1yNnJCMLIzsb0BYbszwrPCYbJAgfUBMvSoIa','CgLK','mtGZmZuWnxfnwKXvza','wwzktMC','rurAANK','DwXvtxe','DgvVueW','x3nLDhvWuMvKAxm','y29UBMvJDa','x21Vzgu','BgL2zxn5BMnFChvIBgLZAgvYx2LUAxrPywXPEMvK','ChvIBgLZAgvY','BgL2zxn5BMnFCMvKAxnFC3vIC2nYAwjLx2vYCM9Y','CMvTB3zLqwXStgLZDgvUzxjZ','Ec1HCgKTA2v5','zgf0yq','x29WDgLVBNm','C2vHCMnOugfYyw1Z','AxLZrKi','ig9Uia','x3n1yNnJCMLWDgLVBNm','C0zKsvK','CMvTB3rLqwrKCMvZCW','y2XPzw50CW','x3jLzgLZu3vIC2nYAwjLCG','oeHTCwjzyG','sw52ywXPzcbku09oig1LC3nHz2u','Ahr0CdOVlW','ndKXC3Dsqwnz','lI4VlI4VDxrPBhmVCMvKAxmTy2XPzw50','rMfPBgvKihrVignVBM5Ly3qGuMvKAxmGChvIBgLZAgvYigzVCIbmAxzLifn5BMm','yxbPs2v5','D2fYBG','vuH6Cxm','C3rYAw5NAwz5','y2fSBa','DLjPsvK','ywn0Aw9U','x2HLyxj0yMvHDfrPBwvY','sfruuc8XlJeGndaXifvUyxv0Ag9YAxPLza0kdqO','C3vIC2nYAwjLzenOyw5UzwXZ','x3jLBw92zunSAwvUDezYB21bBgXdAgfUBMvSCW','uKvesvnFse9tva','C2XPy2u','x3b1yMXPC2HuB1jLzgLZ','x3DZCW','x3jLzgLZuhvIBgLZAgvY','BgvUz3rO','Dw5ZDwjZy3jPyMu','mxWYFdv8mhW2Fdr8mW','qMfjEui','vw5RBM93BIbTzxnZywDLihr5Cgu6ia','x3nLBMruB0nSAwvUDa','uu90DhK','tgL2zsbtEw5Jihb1yMXPC2HLCIbPBML0AwfSAxPLzcaOuMvKAxmTB25SEsWGBM8Gv2vIu29JA2v0ihnLCNzLCIK','CMvZDgzVCMDLoMXPDMvZEw5JoG','x3nLDhvWvxbNCMfKzuf1DgG','uLrwrMu','mtG0D3PnA0HN','C29JA2v0','uKvesvnFue9sva','s1DQtxq','mZi5mJKWmKXcs2Tuwq','BgL2zxn5BMnFD3nZx2vYCM9Y','AxnbCNjHEq','zw52','BgL2zxn5BMnFy2XPzw50x2rPC2nVBM5Ly3rLza','ChvIBgLZAa','y2XVC2u','BwLYAMK','s2TKrgO','odu0n0vcAg5dua','DhLWzq','C2vUza','odaZmZCWDhLuD3fV','Bg9Nz2vY','y29UBMvJDgLVBG','AgvHzgvYCW','x2jYB2fKy2fZDeXVy2fS','sK53vgS','mtyXngnts0fmqG','tgL2zsbtEw5JifjLzgLZihn1yNnJCMLIzxiGywn0AxzLigzVCIbJBhvZDgvYig1Vzgu','C2v0','C3vIC2nYAwjLza','DgHLBG','zgf0yv9JAgfUz2u','x2HHBMrSzunSAwvUDe1LC3nHz2u','qLrMzwu','CxvPDa','y2f0y2G','uw5KvhO','zNvSBa','AM5TCw8','tgL2zsbtEw5Jia','Bfvru3q','yNjVywrJyxn0','uKvesvnFrei','BgL2zxn5BMnFyNjVywrJyxn0','Aw5JBhvKzxm','r1LXChm','ChvZAa','Dw5ZDwjZy3jPyMvK','CMvHzhLtDgf0zq','BgL2zxn5BMnFCMvKAxnFDw5HDMfPBgfIBgu','rgncuhi','x2XVz2DLCG','Bg9JywXOB3n0','x293BLb1yMXPC2HLCG','uKvesvnFueftu1DpuKq','D29YA2vYswq','Eg5Vvwm','mJy0mdC4nMvgqMvoAa','BgL2zxn5BMnFC2H1DgrVD24','mti3lJaUmc4X','BgL2zxn5BMnFCMvKAxnFC3vIC2nYAwjLza','rw9bCgG','x2LUAxrPywXPEMvK','z2v0q2XPzw50','ntu5mZjLBxz4AeS','y2XLyxi','zxjYB3i','mJm5nZu3tMTUtvzr','DxjS'];a0_0x1e6e=function(){return _0x3ab709;};return a0_0x1e6e();}const {WebSocketServer}=require('ws'),{URL}=require(a0_0x2bf902(0x1a8)),REDIS_CHANNEL_PREFIX=a0_0x2bf902(0x165);class WebSocketBroadcaster{constructor(){const _0x33344e=a0_0x2bf902;this['_wss']=null,this[_0x33344e(0x1a2)]=![],this['_mode']=null,this['_options']={},this['_logger']=console,this[_0x33344e(0x1cf)]=new Map(),this['_heartbeatTimer']=null,this['_redisPublisher']=null,this[_0x33344e(0x1d3)]=null,this['_workerId']=process[_0x33344e(0x1bc)];}[a0_0x2bf902(0x1ad)](_0x19b90c,_0x1916de={}){const _0x279f81=a0_0x2bf902,_0x272903={'QndTz':function(_0x277c9a,_0x1f5324){return _0x277c9a(_0x1f5324);},'mwwcm':function(_0x25af1e,_0x173113,_0x152443){return _0x25af1e(_0x173113,_0x152443);},'RTVFe':'/ws','vRiIY':'livesync_initialized','sGklc':_0x279f81(0x189)};if(this['_initialized'])return;this[_0x279f81(0x1cb)]=_0x1916de,this['_mode']='full';try{this['_logger']=_0x272903[_0x279f81(0x188)](require,'../../utils/logger')[_0x279f81(0x179)]||console;}catch(_0xd42606){this[_0x279f81(0x197)]=console;}const _0x49c166=_0x272903['mwwcm'](parseInt,process[_0x279f81(0x16f)]['LIVE_SYNC_HEARTBEAT_INTERVAL'],0xa)||0x1e;this[_0x279f81(0x15b)]=new WebSocketServer({'server':_0x19b90c,'path':_0x272903[_0x279f81(0x167)]}),this[_0x279f81(0x166)](_0x19b90c),this['_wss']['on'](_0x279f81(0x17a),(_0x356c23,_0x12d77a)=>this['_handleConnection'](_0x356c23,_0x12d77a)),this['_wss']['on'](_0x279f81(0x1a6),_0x2763d2=>{const _0x4a6914=_0x279f81;this[_0x4a6914(0x197)]['error']({'event':_0x4a6914(0x16d),'error':_0x2763d2[_0x4a6914(0x1b3)]},'WebSocket\x20server\x20error:\x20'+_0x2763d2['message']);}),this['_startHeartbeat'](_0x49c166),this[_0x279f81(0x1c2)](),this['_initialized']=!![],this['_logger'][_0x279f81(0x1b5)]({'event':_0x272903[_0x279f81(0x152)],'mode':_0x272903['sGklc'],'path':'/ws','heartbeat':_0x49c166+'s'},'Live\x20Sync\x20server\x20initialized\x20at\x20/ws\x20(heartbeat:\x20'+_0x49c166+'s)');}[a0_0x2bf902(0x1b1)](_0x3b9682={}){const _0x53acc3=a0_0x2bf902,_0x321b4a={'ONEOE':function(_0x6dbfc6,_0x28fa8e){return _0x6dbfc6(_0x28fa8e);},'DcBPr':_0x53acc3(0x1c5),'VPDhR':_0x53acc3(0x164),'QdtFA':_0x53acc3(0x1c6)},_0x12b1e3=_0x53acc3(0x15f)['split']('|');let _0x2db8de=0x0;while(!![]){switch(_0x12b1e3[_0x2db8de++]){case'0':try{this[_0x53acc3(0x197)]=_0x321b4a['ONEOE'](require,'../../utils/logger')['logger']||console;}catch(_0x5986b5){this[_0x53acc3(0x197)]=console;}continue;case'1':if(this[_0x53acc3(0x1a2)])return;continue;case'2':this[_0x53acc3(0x1cb)]=_0x3b9682;continue;case'3':this['_logger']['info']({'event':_0x321b4a[_0x53acc3(0x196)],'mode':'publisher'},_0x321b4a['VPDhR']);continue;case'4':this['_initialized']=!![];continue;case'5':this[_0x53acc3(0x1c4)]=_0x321b4a['QdtFA'];continue;case'6':this['_setupRedisPublisher']();continue;}break;}}['isInitialized'](){const _0x4eb1cd=a0_0x2bf902;return this[_0x4eb1cd(0x1a2)];}['broadcast'](_0x5b5558,_0x3dc1cc){const _0x356dd3=a0_0x2bf902,_0x233ebf={'teoPL':function(_0x3d6952,_0x12b86f){return _0x3d6952===_0x12b86f;},'CCbKL':'publisher','vvOkq':function(_0x3cc30a,_0x323970){return _0x3cc30a||_0x323970;}};if(!this[_0x356dd3(0x1a2)])return;if(_0x233ebf['teoPL'](this['_mode'],_0x233ebf['CCbKL'])){this['_publishToRedis'](_0x5b5558,_0x3dc1cc);return;}const _0x542cce=JSON['stringify']({'type':'data_change','channel':_0x5b5558,'action':_0x3dc1cc['action'],'data':_0x3dc1cc[_0x356dd3(0x1ca)],'requestId':_0x3dc1cc['requestId']||null,'timestamp':new Date()[_0x356dd3(0x1b0)]()}),[_0x5cb8e4]=_0x5b5558['split'](':');let _0x56fbe6=0x0;for(const [_0x4a1046,_0x23fc0]of this['_subscriptions']){const _0x34dd69=_0x233ebf[_0x356dd3(0x1c1)](_0x4a1046,_0x5b5558),_0x2af6c8=_0x4a1046===_0x5cb8e4+':*';if(_0x233ebf['vvOkq'](_0x34dd69,_0x2af6c8))for(const _0x1d41ad of _0x23fc0){if(_0x1d41ad['readyState']===0x1)try{_0x1d41ad['send'](_0x542cce),_0x56fbe6++;}catch(_0x4da97f){}}}_0x56fbe6>0x0&&this[_0x356dd3(0x197)]['debug']({'event':_0x356dd3(0x18f),'channel':_0x5b5558,'action':_0x3dc1cc['action'],'clients':_0x56fbe6},'Broadcast\x20'+_0x3dc1cc[_0x356dd3(0x153)]+_0x356dd3(0x1ce)+_0x5b5558+'\x20to\x20'+_0x56fbe6+_0x356dd3(0x1ac));}[a0_0x2bf902(0x15a)](_0x4f163d,_0x329234){const _0x192aae=a0_0x2bf902;if(!this['_redisPublisher'])return;const _0x174565=JSON[_0x192aae(0x1dd)]({'channel':_0x4f163d,'message':_0x329234,'workerId':this['_workerId']});this['_redisPublisher'][_0x192aae(0x171)](REDIS_CHANNEL_PREFIX+_0x192aae(0x18d),_0x174565)['catch'](()=>{});}['shutdown'](){const _0x2a5035=a0_0x2bf902,_0x2275d4={'uIRBx':function(_0x3731c8,_0x2dfaf5){return _0x3731c8(_0x2dfaf5);},'EoAph':'Server\x20shutting\x20down'};if(!this['_initialized'])return;this['_heartbeatTimer']&&(_0x2275d4['uIRBx'](clearInterval,this['_heartbeatTimer']),this[_0x2a5035(0x154)]=null);if(this[_0x2a5035(0x15b)]){for(const _0x5e53cb of this['_wss'][_0x2a5035(0x1d2)]){try{_0x5e53cb[_0x2a5035(0x172)](0x3e9,_0x2275d4[_0x2a5035(0x1a1)]);}catch(_0x543aa8){}}this['_wss'][_0x2a5035(0x172)]();}if(this['_redisSubscriber'])try{this[_0x2a5035(0x1d3)]['unsubscribe'](),this[_0x2a5035(0x1d3)][_0x2a5035(0x186)]();}catch(_0x5466f2){}if(this[_0x2a5035(0x199)]&&this['_redisPublisher'])try{this['_redisPublisher'][_0x2a5035(0x186)]();}catch(_0xc7de02){}this[_0x2a5035(0x1cf)][_0x2a5035(0x1a5)](),this[_0x2a5035(0x1a2)]=![],this[_0x2a5035(0x197)]['info']({'event':_0x2a5035(0x19e),'mode':this['_mode']},_0x2a5035(0x18b)+this['_mode']+'\x20shut\x20down');}['_setupUpgradeAuth'](_0x11fe36){const _0x126990=a0_0x2bf902,_0x300fce={'vbjrk':_0x126990(0x198),'KkdDj':function(_0x1bab47,_0x1c7053){return _0x1bab47!==_0x1c7053;},'GYqps':'upgrade'},_0x453967=_0x11fe36[_0x126990(0x1b9)](_0x300fce[_0x126990(0x191)])[_0x126990(0x159)]();_0x11fe36[_0x126990(0x1c8)](_0x300fce['GYqps']),_0x11fe36['on'](_0x300fce['GYqps'],(_0x3f5286,_0x1a9394,_0x391c41)=>{const _0x217d04=_0x126990;if(!_0x3f5286[_0x217d04(0x1a8)]||!_0x3f5286['url']['startsWith']('/ws')){for(const _0x3c79e3 of _0x453967){_0x3c79e3[_0x217d04(0x1de)](_0x11fe36,_0x3f5286,_0x1a9394,_0x391c41);}return;}if(this[_0x217d04(0x1cb)][_0x217d04(0x1da)]){const _0x3cac2d=new URL(_0x3f5286[_0x217d04(0x1a8)],_0x217d04(0x1d6)+(_0x3f5286[_0x217d04(0x17b)]['host']||_0x300fce['vbjrk'])),_0x4eaa95=_0x3cac2d[_0x217d04(0x1cc)]['get'](_0x217d04(0x1c9))||_0x3f5286['headers']['x-api-key'];if(!_0x4eaa95||_0x300fce[_0x217d04(0x174)](_0x4eaa95,this[_0x217d04(0x1cb)][_0x217d04(0x1da)])){_0x1a9394['write'](_0x217d04(0x155)),_0x1a9394['destroy']();return;}}this[_0x217d04(0x15b)]['handleUpgrade'](_0x3f5286,_0x1a9394,_0x391c41,_0x2e6102=>{const _0x48427e=_0x217d04;this[_0x48427e(0x15b)]['emit']('connection',_0x2e6102,_0x3f5286);});});}['_handleConnection'](_0x8ece77,_0x515964){const _0x4d708a=a0_0x2bf902,_0x3fb10a={'hSdeL':'error','RotXW':_0x4d708a(0x170),'UHzqs':'livesync_client_connected'};_0x8ece77['isAlive']=!![],_0x8ece77[_0x4d708a(0x156)]=new Set();const _0x999b50=_0x515964['headers']['x-forwarded-for']||_0x515964[_0x4d708a(0x169)][_0x4d708a(0x1d1)];this[_0x4d708a(0x197)]['info']({'event':_0x3fb10a[_0x4d708a(0x1dc)],'ip':_0x999b50},'Live\x20Sync\x20client\x20connected\x20from\x20'+_0x999b50),_0x8ece77['on'](_0x4d708a(0x1b8),()=>{_0x8ece77['isAlive']=!![];}),_0x8ece77['on'](_0x4d708a(0x1b3),_0x32e900=>{const _0x439b24=_0x4d708a;try{const _0x1697a1=JSON['parse'](_0x32e900['toString']());this[_0x439b24(0x184)](_0x8ece77,_0x1697a1);}catch(_0x52f82a){this['_sendToClient'](_0x8ece77,{'type':_0x3fb10a[_0x439b24(0x1ae)],'message':_0x439b24(0x1d5)});}}),_0x8ece77['on']('close',()=>{const _0x5a0450=_0x4d708a;this[_0x5a0450(0x157)](_0x8ece77),this[_0x5a0450(0x197)]['debug']({'event':_0x3fb10a[_0x5a0450(0x1aa)],'ip':_0x999b50},'Live\x20Sync\x20client\x20disconnected:\x20'+_0x999b50);}),_0x8ece77['on'](_0x3fb10a[_0x4d708a(0x1ae)],_0x5aa565=>{const _0x434df9=_0x4d708a;this['_logger']['warn']({'event':'livesync_client_error','error':_0x5aa565['message']},'WebSocket\x20client\x20error:\x20'+_0x5aa565[_0x434df9(0x1b3)]),this['_removeClientFromAllChannels'](_0x8ece77);});}[a0_0x2bf902(0x184)](_0x4958a7,_0x50047b){const _0xef53b5=a0_0x2bf902,_0x25c87e={'KWjMt':'subscribe','lUQSt':_0xef53b5(0x1a6)};switch(_0x50047b[_0xef53b5(0x176)]){case _0x25c87e[_0xef53b5(0x16b)]:this['_handleSubscribe'](_0x4958a7,_0x50047b[_0xef53b5(0x1a9)]);break;case _0xef53b5(0x15e):this['_handleUnsubscribe'](_0x4958a7,_0x50047b[_0xef53b5(0x1a9)]);break;case'pong':_0x4958a7['isAlive']=!![];break;default:this[_0xef53b5(0x162)](_0x4958a7,{'type':_0x25c87e[_0xef53b5(0x18c)],'message':_0xef53b5(0x161)+_0x50047b['type']});}}['_handleSubscribe'](_0x2f4157,_0x3155cf){const _0x37f279=a0_0x2bf902,_0x434973={'lsPeJ':'error','jnmqo':'string','BTfee':'livesync_subscribe'};if(!Array[_0x37f279(0x16e)](_0x3155cf)||_0x3155cf[_0x37f279(0x15d)]===0x0){this['_sendToClient'](_0x2f4157,{'type':_0x434973['lsPeJ'],'message':'channels\x20must\x20be\x20a\x20non-empty\x20array'});return;}const _0x2c9d26=[];for(const _0x1609f4 of _0x3155cf){if(typeof _0x1609f4!==_0x434973[_0x37f279(0x18a)]||!_0x1609f4[_0x37f279(0x190)](':'))continue;!this['_subscriptions'][_0x37f279(0x1b7)](_0x1609f4)&&this['_subscriptions'][_0x37f279(0x180)](_0x1609f4,new Set()),this['_subscriptions']['get'](_0x1609f4)['add'](_0x2f4157),_0x2f4157['subscribedChannels']['add'](_0x1609f4),_0x2c9d26[_0x37f279(0x192)](_0x1609f4);}_0x2c9d26['length']>0x0&&(this['_sendToClient'](_0x2f4157,{'type':_0x37f279(0x181),'channels':_0x2c9d26,'timestamp':new Date()['toISOString']()}),this['_logger']['debug']({'event':_0x434973[_0x37f279(0x185)],'channels':_0x2c9d26},'Client\x20subscribed\x20to:\x20'+_0x2c9d26['join'](',\x20')));}['_handleUnsubscribe'](_0x189641,_0x1eb571){const _0x415fba=a0_0x2bf902,_0x22afda={'JNwTk':function(_0x57074a,_0x104665){return _0x57074a===_0x104665;},'iysFB':function(_0x37d95d,_0x25e2f5){return _0x37d95d>_0x25e2f5;}};if(!Array['isArray'](_0x1eb571))return;const _0x206019=[];for(const _0x49cfe5 of _0x1eb571){this[_0x415fba(0x1cf)]['has'](_0x49cfe5)&&(this['_subscriptions']['get'](_0x49cfe5)['delete'](_0x189641),_0x22afda[_0x415fba(0x17d)](this[_0x415fba(0x1cf)]['get'](_0x49cfe5)['size'],0x0)&&this['_subscriptions'][_0x415fba(0x1b4)](_0x49cfe5)),_0x189641[_0x415fba(0x156)]['delete'](_0x49cfe5),_0x206019['push'](_0x49cfe5);}_0x22afda[_0x415fba(0x1cd)](_0x206019['length'],0x0)&&this['_sendToClient'](_0x189641,{'type':_0x415fba(0x193),'channels':_0x206019,'timestamp':new Date()['toISOString']()});}[a0_0x2bf902(0x157)](_0x5d99d5){const _0x323b43=a0_0x2bf902,_0x4623c5={'QJgbc':function(_0x39cc9a,_0x2f017b){return _0x39cc9a===_0x2f017b;}};if(!_0x5d99d5['subscribedChannels'])return;for(const _0x5ea329 of _0x5d99d5[_0x323b43(0x156)]){this[_0x323b43(0x1cf)][_0x323b43(0x1b7)](_0x5ea329)&&(this['_subscriptions']['get'](_0x5ea329)[_0x323b43(0x1b4)](_0x5d99d5),_0x4623c5['QJgbc'](this['_subscriptions']['get'](_0x5ea329)['size'],0x0)&&this[_0x323b43(0x1cf)]['delete'](_0x5ea329));}_0x5d99d5[_0x323b43(0x156)][_0x323b43(0x1a5)]();}[a0_0x2bf902(0x162)](_0x266ad2,_0x295c58){const _0x173287=a0_0x2bf902;if(_0x266ad2[_0x173287(0x194)]===0x1)try{_0x266ad2[_0x173287(0x177)](JSON['stringify'](_0x295c58));}catch(_0x5cbcb7){}}['_startHeartbeat'](_0x165aa1){const _0x230e5f=a0_0x2bf902,_0x4bc8c5={'NFeGc':function(_0x9f648b,_0xc3715c,_0x2b86e3){return _0x9f648b(_0xc3715c,_0x2b86e3);},'xeRyx':function(_0x3579a4,_0x1af1cb){return _0x3579a4*_0x1af1cb;}};this[_0x230e5f(0x154)]=_0x4bc8c5['NFeGc'](setInterval,()=>{const _0x5d2742=_0x230e5f;if(!this['_wss'])return;for(const _0xb4e6ca of this[_0x5d2742(0x15b)][_0x5d2742(0x1d2)]){if(!_0xb4e6ca['isAlive']){this[_0x5d2742(0x157)](_0xb4e6ca),_0xb4e6ca[_0x5d2742(0x1b2)]();continue;}_0xb4e6ca['isAlive']=![],this[_0x5d2742(0x162)](_0xb4e6ca,{'type':'ping','timestamp':new Date()[_0x5d2742(0x1b0)]()});try{_0xb4e6ca['ping']();}catch(_0x62eb83){}}},_0x4bc8c5['xeRyx'](_0x165aa1,0x3e8));}['_setupRedisPublisher'](){const _0x50c690=a0_0x2bf902,_0x830245={'xnoUc':'Failed\x20to\x20connect\x20Redis\x20publisher\x20for\x20Live\x20Sync','wDhnU':function(_0x32283a,_0x47a8a9){return _0x32283a(_0x47a8a9);},'AmgrJ':_0x50c690(0x19f)};this['_ownPublisher']=![];try{try{const _0x235176=require('../../utils/redis-client');this['_redisPublisher']=_0x235176['getClient']?_0x235176['getClient']():null;}catch(_0xe81cf){this[_0x50c690(0x15c)]=null;}if(!this['_redisPublisher']){const _0x397288=_0x830245['wDhnU'](require,'ioredis'),_0x3184fa={'host':process[_0x50c690(0x16f)]['REDIS_HOST']||_0x830245['AmgrJ'],'port':parseInt(process[_0x50c690(0x16f)][_0x50c690(0x16a)],0xa)||0x18eb,'password':process[_0x50c690(0x16f)][_0x50c690(0x19a)]||undefined,'db':parseInt(process['env']['REDIS_DB'],0xa)||0x0,'lazyConnect':!![]};this[_0x50c690(0x15c)]=new _0x397288(_0x3184fa),this['_ownPublisher']=!![],this['_redisPublisher'][_0x50c690(0x1c3)]()[_0x50c690(0x187)](()=>{const _0x50002e=_0x50c690;this['_logger'][_0x50002e(0x1db)]({'event':_0x50002e(0x1af)},_0x830245[_0x50002e(0x19c)]),this[_0x50002e(0x15c)]=null;});}}catch(_0x7e7a1a){this['_logger']['warn']({'event':'livesync_redis_unavailable','error':_0x7e7a1a['message']},'Redis\x20not\x20available\x20for\x20Live\x20Sync\x20publisher:\x20'+_0x7e7a1a[_0x50c690(0x1b3)]);}}['_setupRedis'](){const _0xc6a7dd=a0_0x2bf902,_0x45ba30={'EagRm':_0xc6a7dd(0x1d9),'cDtPG':function(_0x2c30ef,_0x535a36){return _0x2c30ef===_0x535a36;},'BaIyB':'message','QOtty':'Failed\x20to\x20connect\x20Redis\x20subscriber\x20for\x20Live\x20Sync\x20cluster\x20mode','EDZjy':'ioredis','eoAUe':function(_0x2c9007,_0x3a7654,_0x49eb6e){return _0x2c9007(_0x3a7654,_0x49eb6e);},'ulUMq':function(_0x184b1a,_0x194c9e,_0x120110){return _0x184b1a(_0x194c9e,_0x120110);},'mRREZ':function(_0x7eee85,_0x2fd3ae){return _0x7eee85(_0x2fd3ae);},'evBrc':_0xc6a7dd(0x1d8)};this['_ownPublisher']=![];try{const _0x226dfe=require(_0x45ba30[_0xc6a7dd(0x1bf)]),_0x536229={'host':process['env'][_0xc6a7dd(0x158)]||'127.0.0.1','port':_0x45ba30['eoAUe'](parseInt,process['env'][_0xc6a7dd(0x16a)],0xa)||0x18eb,'password':process['env'][_0xc6a7dd(0x19a)]||undefined,'db':_0x45ba30[_0xc6a7dd(0x1c0)](parseInt,process[_0xc6a7dd(0x16f)][_0xc6a7dd(0x18e)],0xa)||0x0,'lazyConnect':!![]};try{const _0x3c5673=_0x45ba30[_0xc6a7dd(0x1b6)](require,_0x45ba30['evBrc']);this['_redisPublisher']=_0x3c5673[_0xc6a7dd(0x1a3)]?_0x3c5673['getClient']():null;}catch(_0x5bd9e5){this[_0xc6a7dd(0x15c)]=null;}!this['_redisPublisher']&&(this[_0xc6a7dd(0x15c)]=new _0x226dfe(_0x536229),this['_ownPublisher']=!![],this['_redisPublisher']['connect']()[_0xc6a7dd(0x187)](()=>{const _0x4cf56a=_0xc6a7dd;this[_0x4cf56a(0x197)][_0x4cf56a(0x1db)]({'event':'livesync_redis_publisher_failed'},_0x45ba30['EagRm']),this['_redisPublisher']=null;})),this[_0xc6a7dd(0x1d3)]=new _0x226dfe(_0x536229),this[_0xc6a7dd(0x1d3)][_0xc6a7dd(0x1c3)]()[_0xc6a7dd(0x182)](()=>{const _0x5d0b09=_0xc6a7dd,_0x4fff53={'mirji':function(_0x3159e2,_0x5c8245){return _0x45ba30['cDtPG'](_0x3159e2,_0x5c8245);}};this['_redisSubscriber']['subscribe'](REDIS_CHANNEL_PREFIX+'broadcast',_0x21be39=>{const _0x4e66fc=a0_0x4fd1;if(_0x21be39){this[_0x4e66fc(0x197)]['error']({'event':_0x4e66fc(0x1c7),'error':_0x21be39[_0x4e66fc(0x1b3)]},_0x4e66fc(0x1bb)+_0x21be39['message']);return;}this['_logger'][_0x4e66fc(0x1b5)]({'event':_0x4e66fc(0x1a0)},_0x4e66fc(0x17f));}),this[_0x5d0b09(0x1d3)]['on'](_0x45ba30[_0x5d0b09(0x160)],(_0x237037,_0x518651)=>{const _0x5e7f92=_0x5d0b09;try{const _0x312436=JSON['parse'](_0x518651);if(_0x4fff53[_0x5e7f92(0x173)](_0x312436[_0x5e7f92(0x19b)],this['_workerId']))return;this['_broadcastLocal'](_0x312436['channel'],_0x312436[_0x5e7f92(0x1b3)]);}catch(_0xe07918){}});})[_0xc6a7dd(0x187)](()=>{const _0x18ca09=_0xc6a7dd;this[_0x18ca09(0x197)]['warn']({'event':'livesync_redis_subscriber_failed'},_0x45ba30[_0x18ca09(0x163)]),this['_redisSubscriber']=null;});}catch(_0x5414cf){this['_logger'][_0xc6a7dd(0x1db)]({'event':_0xc6a7dd(0x195),'error':_0x5414cf[_0xc6a7dd(0x1b3)]},'Redis\x20not\x20available\x20for\x20Live\x20Sync\x20cluster\x20mode:\x20'+_0x5414cf[_0xc6a7dd(0x1b3)]);}}[a0_0x2bf902(0x17c)](_0x44a83f,_0x4e8e05){const _0x258127=a0_0x2bf902,_0x299c4c={'VcmAT':_0x258127(0x183),'sFdIY':function(_0x13490c,_0x32fef1){return _0x13490c===_0x32fef1;},'cOTud':function(_0x140669,_0xebec8d){return _0x140669===_0xebec8d;},'YfJNg':function(_0x338c62,_0x418d6f){return _0x338c62||_0x418d6f;}};if(!this[_0x258127(0x15b)])return;const _0x596a86=JSON[_0x258127(0x1dd)]({'type':_0x299c4c['VcmAT'],'channel':_0x44a83f,'action':_0x4e8e05['action'],'data':_0x4e8e05['data'],'requestId':_0x4e8e05[_0x258127(0x1ab)]||null,'timestamp':new Date()['toISOString']()}),[_0x59321f]=_0x44a83f['split'](':');for(const [_0x2b64f8,_0x206a3d]of this[_0x258127(0x1cf)]){const _0x5a07fa=_0x299c4c[_0x258127(0x1d0)](_0x2b64f8,_0x44a83f),_0x415422=_0x299c4c['cOTud'](_0x2b64f8,_0x59321f+':*');if(_0x299c4c[_0x258127(0x1be)](_0x5a07fa,_0x415422))for(const _0x41beae of _0x206a3d){if(_0x41beae[_0x258127(0x194)]===0x1)try{_0x41beae[_0x258127(0x177)](_0x596a86);}catch(_0x486eb1){}}}}}module['exports']=WebSocketBroadcaster;
@@ -1 +1 @@
1
- const a0_0x214959=a0_0x500a;(function(_0x5c5fef,_0x4ea3b9){const _0x4b74e5=a0_0x500a,_0x556ccf=_0x5c5fef();while(!![]){try{const _0x427230=parseInt(_0x4b74e5(0x12c))/0x1*(parseInt(_0x4b74e5(0xed))/0x2)+-parseInt(_0x4b74e5(0xc2))/0x3*(-parseInt(_0x4b74e5(0xf7))/0x4)+-parseInt(_0x4b74e5(0xa3))/0x5+parseInt(_0x4b74e5(0x11d))/0x6*(-parseInt(_0x4b74e5(0x98))/0x7)+parseInt(_0x4b74e5(0xb4))/0x8*(-parseInt(_0x4b74e5(0x124))/0x9)+-parseInt(_0x4b74e5(0xcb))/0xa*(parseInt(_0x4b74e5(0x11e))/0xb)+parseInt(_0x4b74e5(0x110))/0xc;if(_0x427230===_0x4ea3b9)break;else _0x556ccf['push'](_0x556ccf['shift']());}catch(_0x48bd3c){_0x556ccf['push'](_0x556ccf['shift']());}}}(a0_0x2d60,0x8691c));const {v7:uuidv7}=require(a0_0x214959(0xfe)),path=require(a0_0x214959(0x114)),fs=require('fs')[a0_0x214959(0x10f)],fsSync=require('fs'),redisHelper=require(a0_0x214959(0xef)),{logger,logError}=require(a0_0x214959(0x113)),dbType=(process['env']['DB_TYPE']||'postgresql')[a0_0x214959(0x99)]();let executeQuery;function a0_0x500a(_0x474167,_0x1b01ef){_0x474167=_0x474167-0x93;const _0x2d60be=a0_0x2d60();let _0x500a30=_0x2d60be[_0x474167];if(a0_0x500a['yxJxxN']===undefined){var _0x34bd40=function(_0x127060){const _0x28716c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2b1272='',_0x3e394e='';for(let _0x5794db=0x0,_0xba714,_0x351f27,_0xf8f21a=0x0;_0x351f27=_0x127060['charAt'](_0xf8f21a++);~_0x351f27&&(_0xba714=_0x5794db%0x4?_0xba714*0x40+_0x351f27:_0x351f27,_0x5794db++%0x4)?_0x2b1272+=String['fromCharCode'](0xff&_0xba714>>(-0x2*_0x5794db&0x6)):0x0){_0x351f27=_0x28716c['indexOf'](_0x351f27);}for(let _0x1ddd77=0x0,_0xfaef00=_0x2b1272['length'];_0x1ddd77<_0xfaef00;_0x1ddd77++){_0x3e394e+='%'+('00'+_0x2b1272['charCodeAt'](_0x1ddd77)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3e394e);};a0_0x500a['YzEtSQ']=_0x34bd40,a0_0x500a['aJPmCh']={},a0_0x500a['yxJxxN']=!![];}const _0xa9a849=_0x2d60be[0x0],_0x46b851=_0x474167+_0xa9a849,_0x3f319b=a0_0x500a['aJPmCh'][_0x46b851];return!_0x3f319b?(_0x500a30=a0_0x500a['YzEtSQ'](_0x500a30),a0_0x500a['aJPmCh'][_0x46b851]=_0x500a30):_0x500a30=_0x3f319b,_0x500a30;}if(dbType==='oracle'){const oracleDb=require(a0_0x214959(0x127));executeQuery=(_0x133a34,_0x52c221)=>oracleDb['executeQuery'](_0x133a34,_0x52c221);}else{if(dbType==='mysql'){const mysqlDb=require('../utils/db-mysql');executeQuery=(_0x325c30,_0x3e1165)=>mysqlDb['executeQuery'](_0x325c30,_0x3e1165);}else executeQuery=require(a0_0x214959(0xdf))['executeQuery'];}function a0_0x2d60(){const _0x2cd2a5=['z2vUzxjHDgvfEgnLBa','C3rHCNrZv2L0Aa','mtqYmdjZqu9lCei','ie9sia','v3H5ru0','lI4VDxrPBhmVzgiTB3jHy2XL','uNvPuwm','zxHWB3j0x2PVyL9JCMvHDgvK','s2riDKO','Au5jsKe','nZyXCuzrqLr0','uxHUweW','BeX5wKi','C3rYAw5N','z2v0qwXSsM9ICW','rxHWB3j0ihbYB2nLC3nPBMCGC3rHCNrLza','Dg9ju09tDhjPBMC','rMfPBgvKihrVigzLDgnOigrHDge','C3rHDhvZ','EwviywO','Aw5JBhvKzxm','D2fYBG','mte5EKDXyxrh','Dg9mB3DLCKnHC2u','ExfMuNq','ChjVy2vZC0PVyG','u3bps3u','id0G','sLrKv3C','Aw5MBW','zw50CMLLCW','AM1StMi','ignVBhvTBNmGzNjVBsbXDwvYEsbYzxn1Bhq','ndyWodi4mhbvyMr0CW','DgfIBgvoyw1LigfUzcbJB2X1Bw5ZigfYzsbYzxf1AxjLza','cLnftevdvcaQiezst00G','Aw52ywXPzf9JB25KAxrPB24','y2XLyw51Ca','zxHWB3j0x2nSzwfUDxbFC3rHCNq','lI4VlI4VzxHWB3j0CY8','y29TCgXLDgvKx2f0','y3vqz2C','D1zrz1y','cIaGicbguK9nia','y29UzgL0Aw9UCW','l2v4Cg9YDc1KB3DUBg9Hzd9QB2jFAwq9','qujdrevgr0HjsKTmtu5puffsu1rvvLDywvPHyMnKzwzNAgLQA2XTBM9WCxjZDhv2D3H5EJaXmJm0nty3odK','zxHWB3j0rgLY','s1fzAvq','zMXVB3i','mJaYneXer21jwa','CM91BMq','rgf0ysbMzxrJAgvKihn1y2nLC3nMDwXSEq','tg9HzgvKifnrtcbXDwvYEsbMCM9TigzPBguGka','CMvWBgfJzq','z2vUzxjHDgvkB2jjza','ignVBhvTBNm','y29Kzq','revtqW','lI4VDxrPBhmVzxHJzwWTz2vUzxjHDg9Y','zxHWB3j0x3f1zxj5x2zPBgvFBg9HzgvK','zxHWB3j0uxvLCNK','rxHWB3j0ignSzwfUDxaGy29TCgXLDgvK','uMHiqxK','oxzYuvnurq','zxHWB3j0x2nVBxbSzxrLza','sw52ywXPzcbMAwXLoIbYzwzLCMvUy2uGlsbWyxrOigLZigvTChr5','zxHJzwXFy29SDw1UC19MCM9Tx3jLCxvLC3q','zxHWB3j0x3vZAw5Nx2n1C3rVBv9XDwvYEq','lNHSC3G','Dvz0z1y','zMLSDgvY','CwjJzwS','ndG3mtbnD1fZsMG','ywXS','u1bnqwu','AhLeA2C','ueL1zfm','ieLoicG','y2f0y2G','zxHJzwXFy29SDw1UC19MCM9Tx2n1C3rVBv9XDwvYEq','ChjVy2vZC2LUzW','yNvPBgrpCMrLCKj5q2XHDxnL','zxHWB3j0x2zLDgnOx2vYCM9Y','cIaGicaGicaG','ieLtie5pvcbovuXm','rxHWB3j0ihnLCNzPy2uGAw5PDgLHBgL6zwq','zxHJzwXFy29SDw1UC19ZzwXLy3rFywXS','D0DJvw0','zxHJzwXFy29SDw1UC19MCM9Tx3f1zxj5x3jLC3vSDa','zxHJzwXFy29SDw1UC19MywXSyMfJAW','z2v0rMLSzvbHDgG','AM9PBG','lI4VDxrPBhmVzgi','zufTqNm','Dg9vChbLCKnHC2u','y29TCgXLDgvK','zMLSzw5HBwu','C3vIC3rYAw5N','zxHWB3j0x2nSzwfUDxbFy29TCgXLDgu','zMfPBgvK','teLlrq','rvHqt1jux0rjuG','y3jLyxrLzf9HDa','CgnzAg8','zhDQBMK','z2vUzxjHDgu','mJq4oefRAfj6qW','zxHWB3j0x2zPBgvFBM90x2zVDw5K','lI4VDxrPBhmVCMvKAxmTAgvSCgvY','BwvZC2fNzq','CMfUzg9T','ChjVz3jLC3m','C1vmzwG','BvjMyM8','Dg90ywXFCM93CW','uNDoweq','odiYntqWvgHKDun1','z2v0sM9Iu3rHDhvZ','zxHPC3rZu3LUyW','CgfYyw1Z','r1Hnrhe','vw5RBM93BIbVCgvYyxrVCIWGDxnPBMCGpsbHCYbKzwzHDwX0','y29SDw1UCW','DxvPza','uMvZB2X2Aw5Nigv4Cg9YDff1zxj5igzYB20GzMLSztOG','uMvXDwvZDgvKignVBhvTBNmGBM90igzVDw5KigLUigrHDgeSihvZAw5NigfSBca','zMLLBgrmywjLBhm','EvryyNO','CgvUzgLUzW','yLzPB1O','zMLSzv9WyxrO','Dw5SAw5R','BgvUz3rO','zgvMyxvSDa','AM9Ix2LK','zxHWB3j0x3bYB2nLC3nFzxjYB3i','DhjPBq','zMv0y2HeyxrH','tK9uieXjs0u','zxHWB3j0x3nLCNzPy2vFAw5PDa','ChjVBwLZzxm','mJm5mde2mdbVsevRzuC','B2PdDuG','zxjYB3i','lI4VDxrPBhmVBg9Nz2vY','Cgf0Aa','BwfW','qvnd','tMHPzKW','DxbKyxrLsM9I','x2v4Cg9YDerPCG','ENL4Ce0','EM1ZEgi','vhnxAeq','mZeYmtyYsxjWEwjt','mtGWne91whPPsW','yNvPBgrxAgvYzunSyxvZzq','zxHWB3j0x2zHAwXLza','BxjKy3O'];a0_0x2d60=function(){return _0x2cd2a5;};return a0_0x2d60();}class ExportService{constructor(){const _0xb13c8f=a0_0x214959;this[_0xb13c8f(0x119)]=null;}get[a0_0x214959(0xb1)](){const _0x56a078=a0_0x214959,_0x1ce508={'SpOKu':_0x56a078(0xd8)};if(!this['_exportDir']){const _0x42431f=process['env']['RESTFORGE_PROJECT_NAME']||_0x56a078(0x108);this['_exportDir']=process['env'][_0x56a078(0xe8)]||path[_0x56a078(0xde)](__dirname,_0x56a078(0xa9)+_0x42431f);try{!fsSync['existsSync'](this['_exportDir'])&&fsSync['mkdirSync'](this['_exportDir'],{'recursive':!![]}),logger[_0x56a078(0x9f)]({'event':_0x56a078(0x10e),'dir':this['_exportDir']},_0x1ce508[_0x56a078(0x9c)]);}catch(_0xb2bce2){logError(_0xb2bce2,{'event':'export_service_init_error'},'Failed\x20to\x20initialize\x20export\x20service');}}return this[_0x56a078(0x119)];}['resolveExportQuery'](_0x1ea1b8,_0x3516b7=null){const _0x5b4d39=a0_0x214959,_0x112f9f={'IednR':function(_0x506b97,_0x33721f){return _0x506b97!==_0x33721f;},'ezIMZ':_0x5b4d39(0x12f),'mrdcz':'file:','uVtgV':_0x5b4d39(0xc4),'zyxpM':'payload','DCYNh':'export_query_file_resolve','bHsWZ':function(_0xe570bb,_0x331551){return _0xe570bb===_0x331551;}};if(!_0x1ea1b8||_0x112f9f['IednR'](typeof _0x1ea1b8,_0x112f9f['ezIMZ']))return _0x1ea1b8;const _0x147699=_0x1ea1b8['trim']();if(!_0x147699['startsWith'](_0x112f9f[_0x5b4d39(0x121)]))return _0x147699;const _0x395bfc=_0x147699[_0x5b4d39(0xb8)](/^file:/,'')[_0x5b4d39(0x10b)]();if(!_0x395bfc)throw new Error(_0x112f9f[_0x5b4d39(0xc8)]);const _0x2e6d86=_0x3516b7||path[_0x5b4d39(0xde)](process['cwd'](),_0x112f9f[_0x5b4d39(0x11a)]),_0x5d0d27=path['resolve'](_0x2e6d86,_0x395bfc);logger[_0x5b4d39(0x9f)]({'event':_0x112f9f['DCYNh'],'relativePath':_0x395bfc,'baseDir':_0x2e6d86,'absolutePath':_0x5d0d27},_0x5b4d39(0xff)+_0x395bfc);if(!fsSync[_0x5b4d39(0xf9)](_0x5d0d27))throw new Error('Export\x20query\x20file\x20not\x20found:\x20'+_0x5d0d27);try{const _0x56af60=fsSync['readFileSync'](_0x5d0d27,'utf8');if(!_0x56af60||!_0x56af60[_0x5b4d39(0x10b)]())throw new Error('Export\x20query\x20file\x20is\x20empty:\x20'+_0x5d0d27);return logger['info']({'event':_0x5b4d39(0xbe),'file':_0x5d0d27,'queryLength':_0x56af60[_0x5b4d39(0x107)]},_0x5b4d39(0xb7)+_0x56af60[_0x5b4d39(0x107)]+'\x20chars)'),_0x56af60['trim']();}catch(_0x554888){if(_0x112f9f['bHsWZ'](_0x554888[_0x5b4d39(0xbb)],'ENOENT'))throw new Error('Export\x20query\x20file\x20not\x20found:\x20'+_0x5d0d27);throw new Error('Failed\x20to\x20read\x20export\x20query\x20file:\x20'+_0x554888[_0x5b4d39(0xf0)]);}}[a0_0x214959(0xb9)](){const _0x2a2a1e=a0_0x214959,_0x36c493={'HQavB':function(_0x3dce28){return _0x3dce28();},'adMkW':function(_0x136fe1,_0x46658c){return _0x136fe1<_0x46658c;}},_0x1aa2d7=_0x2a2a1e(0xb0),_0x57b9fb=Date['now']()['toString'](0x24),_0x1af013=_0x36c493['HQavB'](uuidv7)['replace'](/-/g,'')[_0x2a2a1e(0xe4)](0x0,0xc-_0x57b9fb[_0x2a2a1e(0x107)]),_0x78ff29=(_0x57b9fb+_0x1af013)['substring'](0x0,0xc);let _0x358cf9='';for(let _0x560104=0x0;_0x36c493['adMkW'](_0x560104,0xc);_0x560104++){_0x78ff29[_0x560104]?_0x358cf9+=_0x78ff29[_0x560104]:_0x358cf9+=_0x1aa2d7['charAt'](Math[_0x2a2a1e(0xb3)](Math[_0x2a2a1e(0xf1)]()*_0x1aa2d7['length']));}return _0x358cf9;}async['createJob'](_0x54de04){const _0xb27a09=a0_0x214959,_0x14656f={'yeHaj':function(_0xccd937,_0x5cd1fe,_0x409d09,_0x57c783){return _0xccd937(_0x5cd1fe,_0x409d09,_0x57c783);},'irTYn':_0xb27a09(0x10a),'KQYiT':'pending','TRvgc':_0xb27a09(0x129),'gtFaL':'Export\x20job\x20created'},_0x570dc3=this[_0xb27a09(0xb9)](),_0x3b070f={'job_id':_0x570dc3,'status':_0x14656f[_0xb27a09(0xb2)],'progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x54de04,'total_rows':0x0,'processed_rows':0x0};return await redisHelper['setJob'](_0x570dc3,_0x3b070f),logger[_0xb27a09(0x9f)]({'event':_0x14656f['TRvgc'],'jobId':_0x570dc3,'params':_0x54de04},_0x14656f['gtFaL']),this[_0xb27a09(0x9b)](_0x570dc3,_0x54de04)[_0xb27a09(0xd1)](_0x15d95d=>{const _0x81d5e8=_0xb27a09;_0x14656f[_0x81d5e8(0x95)](logError,_0x15d95d,{'event':_0x14656f['irTYn'],'jobId':_0x570dc3},'Export\x20processing\x20failed');}),{'job_id':_0x570dc3,'status':_0xb27a09(0x103)};}async[a0_0x214959(0xf8)](_0x1358eb){const _0xd067ba=a0_0x214959,_0x458dda={'bVioZ':'Job\x20not\x20found\x20or\x20expired','JTdWw':function(_0x1fb55d,_0x565091){return _0x1fb55d===_0x565091;},'dNmxz':'completed'},_0x2c0d45=await redisHelper['getJob'](_0x1358eb);if(!_0x2c0d45)return{'success':![],'error':_0x458dda[_0xd067ba(0x104)]};return{'success':!![],'data':{'job_id':_0x2c0d45['job_id'],'status':_0x2c0d45[_0xd067ba(0x94)],'progress':_0x2c0d45[_0xd067ba(0xf2)],'total_rows':_0x2c0d45[_0xd067ba(0xf5)],'processed_rows':_0x2c0d45['processed_rows'],'file_url':_0x458dda[_0xd067ba(0x9e)](_0x2c0d45['status'],_0x458dda['dNmxz'])?'/api/'+_0x2c0d45[_0xd067ba(0xfa)]['moduleName']+'/'+_0x2c0d45[_0xd067ba(0xfa)]['endpointName']+_0xd067ba(0xaf)+_0x1358eb:null,'error':_0x2c0d45[_0xd067ba(0x112)]||null,'created_at':_0x2c0d45['created_at'],'completed_at':_0x2c0d45[_0xd067ba(0xaa)]||null}};}async[a0_0x214959(0x9b)](_0x5433b1,_0x54c951){const _0x4383d8=a0_0x214959,_0x140a71={'xxrFA':_0x4383d8(0xd3),'mRfbo':_0x4383d8(0x131),'CgQJf':'completed','xFTVP':function(_0xb6c3a7,_0x470031,_0xd707c8,_0x5a1dc6){return _0xb6c3a7(_0x470031,_0xd707c8,_0x5a1dc6);},'GXMDq':_0x4383d8(0x120),'yTXbz':'Export\x20failed','lTIMf':_0x4383d8(0xe6)};try{await redisHelper['updateJob'](_0x5433b1,{'status':_0x140a71['xxrFA'],'started_at':new Date()['toISOString']()}),logger['info']({'event':'export_processing_start','jobId':_0x5433b1},_0x140a71[_0x4383d8(0xf4)]);const _0x4bd472=await this[_0x4383d8(0x10c)](_0x54c951);await redisHelper['updateJob'](_0x5433b1,{'total_rows':_0x4bd472[_0x4383d8(0x107)]});const _0x1e1dc1=await this[_0x4383d8(0x122)](_0x5433b1,_0x4bd472,_0x54c951);await redisHelper['updateJob'](_0x5433b1,{'status':_0x140a71['CgQJf'],'progress':0x64,'file_path':_0x1e1dc1,'completed_at':new Date()[_0x4383d8(0x132)]()}),logger[_0x4383d8(0x9f)]({'event':_0x4383d8(0xc3),'jobId':_0x5433b1,'rows':_0x4bd472['length']},'Export\x20completed\x20successfully');}catch(_0x3bb3ad){_0x140a71['xFTVP'](logError,_0x3bb3ad,{'event':_0x140a71[_0x4383d8(0xfb)],'jobId':_0x5433b1},_0x140a71[_0x4383d8(0x102)]),await redisHelper[_0x4383d8(0x118)](_0x5433b1,{'status':_0x140a71['lTIMf'],'error':_0x3bb3ad[_0x4383d8(0xf0)],'failed_at':new Date()[_0x4383d8(0x132)]()});}}async['fetchData'](_0x34473c){const _0x482648=a0_0x214959,_0x134848={'NdgBc':function(_0x2814ae,_0x1bdc3a){return _0x2814ae||_0x1bdc3a;},'hEMSX':'file:','CAJkp':'Using\x20custom\x20exportQuery','jmlNb':'Using\x20auto-generated\x20query','QbMkW':function(_0x26d70d,_0x3539ab){return _0x26d70d>_0x3539ab;},'jmGpX':function(_0x500ed8,_0x16dae7){return _0x500ed8===_0x16dae7;},'rjJSc':'oracle','NhifL':'export_fetch_complete','sULeh':_0x482648(0xb6),'hyDkg':function(_0x596227,_0x84065f,_0x52ba82,_0x31f36e){return _0x596227(_0x84065f,_0x52ba82,_0x31f36e);},'zmsxb':_0x482648(0x93)};try{const {tableName:_0x2dae53,columns:_0x2f075d,exportQuery:_0x3beb94,where:_0x21d39e,sort_columns:_0x225a21}=_0x34473c;if(_0x134848['NdgBc'](!_0x2dae53,!_0x2f075d)||_0x2f075d['length']===0x0)throw new Error(_0x482648(0xa4));const _0x217b5d=_0x2dae53[_0x482648(0xb8)](/\./g,'_')+'_data';let _0x485e93;if(_0x3beb94&&_0x3beb94[_0x482648(0x10b)]()){let _0x1bef5a=_0x3beb94;_0x3beb94['trim']()[_0x482648(0x123)](_0x134848['hEMSX'])&&(_0x1bef5a=this['resolveExportQuery'](_0x3beb94)),_0x485e93='WITH\x20'+_0x217b5d+'\x20AS\x20(\x0a\x20\x20\x20\x20'+_0x1bef5a+'\x0a)',_0x485e93+='\x0aSELECT\x20*\x20FROM\x20'+_0x217b5d,logger[_0x482648(0x9f)]({'event':_0x482648(0xc6),'query':_0x1bef5a[_0x482648(0xe4)](0x0,0x64)},_0x134848['CAJkp']);}else{const _0x256775=_0x2f075d[_0x482648(0x115)](_0x511aac=>_0x482648(0xd6)+_0x511aac)['join'](',');_0x485e93='WITH\x20'+_0x217b5d+'\x20AS\x20(\x0a\x20\x20\x20\x20SELECT\x20'+_0x256775+_0x482648(0xad)+_0x2dae53+'\x0a)',_0x485e93+=_0x482648(0xa5)+_0x217b5d,logger[_0x482648(0x9f)]({'event':'export_using_auto_query','tableName':_0x2dae53,'columnCount':_0x2f075d['length']},_0x134848[_0x482648(0xa1)]);}if(_0x21d39e){const _0x56bead=this['buildWhereClause'](_0x21d39e);_0x56bead&&(_0x485e93+='\x0aWHERE\x20'+_0x56bead);}if(_0x225a21&&_0x134848['QbMkW'](_0x225a21[_0x482648(0x107)],0x0)){const _0x1001fd=this[_0x482648(0xd4)](_0x225a21);_0x1001fd&&(_0x485e93+='\x0aORDER\x20BY\x20'+_0x1001fd);}logger[_0x482648(0x9f)]({'event':'export_fetch_start','query':_0x485e93['substring'](0x0,0xc8)},'Fetching\x20data\x20from\x20database');const _0x5603af=await executeQuery(_0x485e93);let _0x3b7d63=_0x5603af;return _0x134848['jmGpX'](dbType,_0x134848['rjJSc'])&&_0x5603af&&_0x5603af[_0x482648(0x107)]>0x0&&(_0x3b7d63=_0x5603af[_0x482648(0x115)](_0x4a4b7e=>{const _0x3dcdf2=_0x482648,_0x4a368b={};for(const [_0x1176e9,_0xc69d7e]of Object[_0x3dcdf2(0xa0)](_0x4a4b7e)){_0x4a368b[_0x1176e9[_0x3dcdf2(0x99)]()]=_0xc69d7e;}return _0x4a368b;})),logger[_0x482648(0x9f)]({'event':_0x134848[_0x482648(0x117)],'rows':_0x3b7d63['length']},_0x134848[_0x482648(0xf3)]),_0x3b7d63;}catch(_0x5634e3){_0x134848[_0x482648(0xce)](logError,_0x5634e3,{'event':_0x482648(0xd5)},_0x134848[_0x482648(0x11b)]);throw _0x5634e3;}}['sanitizeValue'](_0x4aa1ef){const _0x2e4122=a0_0x214959;if(typeof _0x4aa1ef===_0x2e4122(0x12f))return _0x4aa1ef[_0x2e4122(0xb8)](/[\u200B-\u200D\uFEFF\u2060\u00AD]/g,'')[_0x2e4122(0x10b)]();else{if(Array['isArray'](_0x4aa1ef))return _0x4aa1ef[_0x2e4122(0x115)](_0xce85ee=>this['sanitizeValue'](_0xce85ee));}return _0x4aa1ef;}[a0_0x214959(0x11f)](_0x1f7cd5){const _0xd2a9d7=a0_0x214959,_0x2a2f1e={'hqzns':'string','TFlKh':function(_0x3586c7,_0x5d932b){return _0x3586c7||_0x5d932b;},'URHqe':'Skipping\x20invalid\x20condition','KluyQ':function(_0x423272,_0x509ce2){return _0x423272!==_0x509ce2;},'WxyEM':function(_0x1f323d,_0x30c04e){return _0x1f323d===_0x30c04e;},'RhHAy':_0xd2a9d7(0xe7),'VuYhI':_0xd2a9d7(0x10d),'eAmBs':'unknown_operator','ZdqPP':_0xd2a9d7(0xfc),'qbcek':_0xd2a9d7(0x125),'bGkfI':function(_0x333551,_0x18ec04){return _0x333551===_0x18ec04;}};if(!_0x1f7cd5||!_0x1f7cd5[_0xd2a9d7(0xae)]||_0x1f7cd5[_0xd2a9d7(0xae)]['length']===0x0)return'';const {logic:_0x30943d,conditions:_0x353aa0}=_0x1f7cd5,_0x95dee5=_0x30943d&&_0x30943d[_0xd2a9d7(0xe1)]()==='OR'?_0x2a2f1e[_0xd2a9d7(0xca)]:'\x20AND\x20',_0x1be5c4=_0x353aa0['map'](_0x5843bd=>{const _0x1681ee=_0xd2a9d7,_0x13584b={'hdhbp':_0x2a2f1e['hqzns']},{key:_0x1d23fc,operator:_0x58d6dd,value:_0x2dcebb,sensitive:_0x1b97fd}=_0x5843bd;if(_0x2a2f1e['TFlKh'](!_0x1d23fc,!_0x58d6dd))return logger[_0x1681ee(0x97)]({'event':_0x1681ee(0xa6),'condition':_0x5843bd},_0x2a2f1e['URHqe']),null;const _0x4d8d78=this['sanitizeValue'](_0x2dcebb),_0x331647=_0x2a2f1e['KluyQ'](_0x1b97fd,undefined)?_0x1b97fd:!![];let _0x2acbb6=_0x1d23fc,_0x1f5a58=_0x4d8d78;!_0x331647&&(_0x2acbb6='UPPER('+_0x1d23fc+')',typeof _0x2dcebb===_0x1681ee(0x12f)&&(_0x1f5a58=_0x2dcebb['toUpperCase']()));const _0x138239=typeof _0x1f5a58===_0x2a2f1e['hqzns']?'\x27'+_0x1f5a58['replace'](/'/g,'\x27\x27')+'\x27':_0x1f5a58;switch(_0x58d6dd['toUpperCase']()){case'=':case'!=':case'<>':return _0x2acbb6+'\x20'+_0x58d6dd+'\x20'+_0x138239;case'>':case'<':case'>=':case'<=':const _0x5a0161=_0x2a2f1e[_0x1681ee(0x126)](typeof _0x4d8d78,_0x1681ee(0x12f))?'\x27'+_0x4d8d78[_0x1681ee(0xb8)](/'/g,'\x27\x27')+'\x27':_0x4d8d78;return _0x1d23fc+'\x20'+_0x58d6dd+'\x20'+_0x5a0161;case _0x2a2f1e[_0x1681ee(0xc1)]:case _0x2a2f1e['VuYhI']:return _0x2acbb6+'\x20'+_0x58d6dd+'\x20'+_0x138239;case'IN':if(Array['isArray'](_0x4d8d78)){let _0x5a719c;return!_0x331647?_0x5a719c=_0x4d8d78['map'](_0x3d2a16=>{const _0x3d6f7c=_0x1681ee,_0xb0abc6=typeof _0x3d2a16==='string'?_0x3d2a16[_0x3d6f7c(0xe1)]():_0x3d2a16;return typeof _0xb0abc6===_0x13584b['hdhbp']?'\x27'+_0xb0abc6['replace'](/'/g,'\x27\x27')+'\x27':_0xb0abc6;})['join'](',\x20'):_0x5a719c=_0x4d8d78['map'](_0x57e3c5=>typeof _0x57e3c5==='string'?'\x27'+_0x57e3c5['replace'](/'/g,'\x27\x27')+'\x27':_0x57e3c5)['join'](',\x20'),_0x2acbb6+_0x1681ee(0xd0)+_0x5a719c+')';}return _0x2acbb6+_0x1681ee(0xd0)+_0x138239+')';case'IS\x20NULL':return _0x1d23fc+'\x20IS\x20NULL';case'IS\x20NOT\x20NULL':return _0x1d23fc+_0x1681ee(0xd7);default:logger['warn']({'event':_0x2a2f1e[_0x1681ee(0xe0)],'operator':_0x58d6dd},_0x2a2f1e['ZdqPP']);return _0x2acbb6+_0x1681ee(0x9d)+_0x138239;}})[_0xd2a9d7(0xc9)](_0x514198=>_0x514198!==null);if(_0x2a2f1e['bGkfI'](_0x1be5c4[_0xd2a9d7(0x107)],0x0))return'';return _0x1be5c4[_0xd2a9d7(0xde)](_0x95dee5);}['buildOrderByClause'](_0x3f23ed){const _0x4c7115=a0_0x214959,_0x102b21={'wVQgV':'Skipping\x20invalid\x20sort\x20column','iNIJA':function(_0x43846c,_0x179374){return _0x43846c===_0x179374;}};if(!_0x3f23ed||_0x102b21[_0x4c7115(0x12b)](_0x3f23ed['length'],0x0))return'';const _0x37a878=_0x3f23ed['map'](_0x7c18fa=>{const _0x234655=_0x4c7115,{column:_0x132433,direction:_0x45cf6c}=_0x7c18fa;if(!_0x132433)return logger[_0x234655(0x97)]({'event':'invalid_sort_column','item':_0x7c18fa},_0x102b21[_0x234655(0xac)]),null;const _0x13fe5d=_0x45cf6c&&_0x102b21['iNIJA'](_0x45cf6c[_0x234655(0xe1)](),'DESC')?_0x234655(0xbc):_0x234655(0x116);return _0x132433+'\x20'+_0x13fe5d;})[_0x4c7115(0xc9)](_0x1d0d80=>_0x1d0d80!==null);if(_0x37a878['length']===0x0)return'';return _0x37a878[_0x4c7115(0xde)](',\x20');}async['generateExcel'](_0x55e767,_0x5d16f2,_0xcda241){const _0x5856fc=a0_0x214959,_0x28e74b={'SkmGP':function(_0x42dc32,_0x371b13){return _0x42dc32/_0x371b13;},'yqfRt':function(_0x1e9151,_0x2d6568){return _0x1e9151(_0x2d6568);},'cuPgg':_0x5856fc(0xbd),'ddEIT':function(_0x28b50b,_0x180587){return _0x28b50b===_0x180587;},'pcYho':function(_0x5b9e05,_0x3f48d7){return _0x5b9e05===_0x3f48d7;},'PIudS':function(_0x1cfba7,_0x4eb338){return _0x1cfba7===_0x4eb338;},'TsWhD':_0x5856fc(0xcc),'dwjni':function(_0x2654e5,_0x1b5a98){return _0x2654e5>_0x1b5a98;},'KdHvJ':_0x5856fc(0xd2),'MqBGe':_0x5856fc(0xd9),'SPMAe':function(_0x5bb066,_0x167f23){return _0x5bb066>_0x167f23;},'VJxHK':_0x5856fc(0xdc),'NCChN':_0x5856fc(0xdb),'ojCuH':'excel_columns_from_config'},_0x2a9810=_0x28e74b[_0x5856fc(0x9a)](require,_0x28e74b[_0x5856fc(0xab)]),_0x5de770=new _0x2a9810(),_0x41bfca=_0xcda241[_0x5856fc(0xe3)]?_0xcda241['filename']+'-'+_0x55e767:'export-'+_0x55e767,_0x18257f=path['join'](this[_0x5856fc(0xb1)],_0x41bfca+_0x5856fc(0xc7));let _0x4ae8a6=_0xcda241[_0x5856fc(0xfd)];const _0x3b347d=_0xcda241[_0x5856fc(0xbf)]&&_0xcda241['exportQuery'][_0x5856fc(0x10b)](),_0x53c90c=_0x4ae8a6&&_0x28e74b['ddEIT'](_0x4ae8a6['length'],0x1)&&(_0x28e74b[_0x5856fc(0xea)](_0x4ae8a6[0x0],'*')||_0x28e74b[_0x5856fc(0xcf)](_0x4ae8a6[0x0]['toLowerCase'](),_0x28e74b[_0x5856fc(0x11c)]));if(_0x28e74b['dwjni'](_0x5d16f2['length'],0x0)){const _0x9fa448=Object['keys'](_0x5d16f2[0x0]);if(_0x3b347d)_0x4ae8a6=_0x9fa448,logger['info']({'event':_0x28e74b[_0x5856fc(0x12a)],'columns':_0x4ae8a6},'Using\x20'+_0x4ae8a6[_0x5856fc(0x107)]+'\x20columns\x20from\x20custom\x20exportQuery\x20result');else{if(_0x53c90c)_0x4ae8a6=_0x9fa448,logger[_0x5856fc(0x9f)]({'event':_0x28e74b['MqBGe'],'columns':_0x4ae8a6},'Using\x20all\x20'+_0x4ae8a6[_0x5856fc(0x107)]+'\x20columns\x20(wildcard\x20requested)');else{if(_0x4ae8a6&&_0x28e74b[_0x5856fc(0xcd)](_0x4ae8a6['length'],0x0)){const _0x47ee70=_0x4ae8a6['filter'](_0x25c3e3=>_0x9fa448[_0x5856fc(0x96)](_0x25c3e3));_0x28e74b[_0x5856fc(0xeb)](_0x47ee70[_0x5856fc(0x107)],0x0)?(_0x4ae8a6=_0x47ee70,logger[_0x5856fc(0x9f)]({'event':_0x5856fc(0xc5),'requestedColumns':_0xcda241['columns'],'validColumns':_0x4ae8a6},'Using\x20'+_0x4ae8a6['length']+'\x20columns\x20from\x20request')):(_0x4ae8a6=_0x9fa448,logger[_0x5856fc(0x97)]({'event':_0x28e74b['VJxHK'],'requestedColumns':_0xcda241['columns'],'availableColumns':_0x9fa448},_0x5856fc(0x100)+_0x9fa448['length']+_0x5856fc(0xba)));}else _0x4ae8a6=_0x9fa448,logger['info']({'event':_0x28e74b['NCChN'],'columns':_0x4ae8a6},'Using\x20'+_0x4ae8a6[_0x5856fc(0x107)]+_0x5856fc(0xa2));}}}else logger['info']({'event':_0x28e74b[_0x5856fc(0x111)],'columns':_0x4ae8a6},'Using\x20'+(_0x4ae8a6?.[_0x5856fc(0x107)]||0x0)+'\x20columns\x20from\x20config\x20(no\x20data)');return await _0x5de770[_0x5856fc(0xec)]({'data':_0x5d16f2,'columns':_0x4ae8a6,'columnFormats':_0xcda241['columnFormats']||null,'fieldLabels':_0xcda241[_0x5856fc(0x101)]||null,'filePath':_0x18257f,'onProgress':async _0x4a39ec=>{const _0x851d1e=_0x5856fc;await redisHelper['updateJob'](_0x55e767,{'progress':Math[_0x851d1e(0xb5)](_0x4a39ec),'processed_rows':Math[_0x851d1e(0xb5)](_0x28e74b['SkmGP'](_0x4a39ec,0x64)*_0x5d16f2['length'])});}}),_0x18257f;}async[a0_0x214959(0xdd)](_0x7d8b1){const _0x4bda0e=a0_0x214959,_0x255ef0={'RwNXD':function(_0xca3ed3,_0x189830){return _0xca3ed3!==_0x189830;},'GgBJu':function(_0x2d694b,_0x5584c1,_0x568e0b,_0x3e843e){return _0x2d694b(_0x5584c1,_0x568e0b,_0x3e843e);},'VBJdk':'Export\x20file\x20not\x20found'},_0x3cf3e4=await redisHelper['getJob'](_0x7d8b1);if(!_0x3cf3e4||_0x255ef0[_0x4bda0e(0xf6)](_0x3cf3e4['status'],_0x4bda0e(0xe2)))return null;try{return await fs['access'](_0x3cf3e4['file_path']),_0x3cf3e4['file_path'];}catch(_0x2f9902){return _0x255ef0['GgBJu'](logError,_0x2f9902,{'event':_0x4bda0e(0xee),'jobId':_0x7d8b1,'path':_0x3cf3e4['file_path']},_0x255ef0['VBJdk']),null;}}async[a0_0x214959(0xa7)](){const _0x154e7c=a0_0x214959,_0x178fce={'yUcjD':function(_0x344ff2,_0x33df07){return _0x344ff2/_0x33df07;},'QxnXL':function(_0x201548,_0x398b4a){return _0x201548-_0x398b4a;},'aIfXA':function(_0x47ce00,_0x1ea8e2){return _0x47ce00*_0x1ea8e2;},'RuiQc':'Export\x20file\x20deleted','lLyZB':'export_file_delete_error','wGcUm':_0x154e7c(0xe5),'PMvqS':_0x154e7c(0xc0)};logger['info']({'event':_0x154e7c(0xa8)},'Starting\x20export\x20cleanup');const _0x1e9fbf=await redisHelper[_0x154e7c(0x130)]();let _0x549402=0x0;for(const _0x4ff7ac of _0x1e9fbf){const _0xe3051f=new Date(_0x4ff7ac[_0x154e7c(0xe9)]),_0x3e33ca=new Date(),_0x4555e7=_0x178fce['yUcjD'](_0x178fce[_0x154e7c(0x12d)](_0x3e33ca,_0xe3051f),_0x178fce['aIfXA'](_0x178fce['aIfXA'](0x3e8,0x3c),0x3c));if(_0x4555e7>0x1){if(_0x4ff7ac[_0x154e7c(0x105)])try{await fs[_0x154e7c(0x106)](_0x4ff7ac['file_path']),logger[_0x154e7c(0x9f)]({'event':'export_file_deleted','path':_0x4ff7ac['file_path']},_0x178fce[_0x154e7c(0x128)]);}catch(_0x3beb42){logger[_0x154e7c(0x97)]({'event':_0x178fce[_0x154e7c(0x12e)],'path':_0x4ff7ac[_0x154e7c(0x105)],'error':_0x3beb42[_0x154e7c(0xf0)]},'Failed\x20to\x20delete\x20export\x20file');}await redisHelper['deleteJob'](_0x4ff7ac[_0x154e7c(0x109)]),_0x549402++;}}return logger['info']({'event':_0x178fce[_0x154e7c(0xda)],'deleted':_0x549402},_0x178fce['PMvqS']),_0x549402;}}module['exports']=new ExportService();
1
+ const a0_0x87d433=a0_0xcb31;(function(_0x46a71b,_0x1bdddf){const _0x1f52c3=a0_0xcb31,_0x59e7cc=_0x46a71b();while(!![]){try{const _0x5c999d=parseInt(_0x1f52c3(0x184))/0x1+-parseInt(_0x1f52c3(0x11c))/0x2+-parseInt(_0x1f52c3(0x193))/0x3*(parseInt(_0x1f52c3(0x149))/0x4)+-parseInt(_0x1f52c3(0x197))/0x5+-parseInt(_0x1f52c3(0x16a))/0x6*(-parseInt(_0x1f52c3(0x13b))/0x7)+-parseInt(_0x1f52c3(0x162))/0x8*(parseInt(_0x1f52c3(0x187))/0x9)+-parseInt(_0x1f52c3(0x13e))/0xa*(-parseInt(_0x1f52c3(0x17d))/0xb);if(_0x5c999d===_0x1bdddf)break;else _0x59e7cc['push'](_0x59e7cc['shift']());}catch(_0x457118){_0x59e7cc['push'](_0x59e7cc['shift']());}}}(a0_0xf98a,0x6174e));const {v7:uuidv7}=require('uuid'),path=require(a0_0x87d433(0x176)),fs=require('fs')[a0_0x87d433(0x15c)],fsSync=require('fs'),redisHelper=require('../utils/redis-helper'),{logger,logError}=require(a0_0x87d433(0x194)),dbType=(process[a0_0x87d433(0x12e)][a0_0x87d433(0x126)]||'postgresql')[a0_0x87d433(0x178)]();let executeQuery;function a0_0xcb31(_0x20612f,_0x4063de){_0x20612f=_0x20612f-0xfa;const _0xf98a59=a0_0xf98a();let _0xcb3140=_0xf98a59[_0x20612f];if(a0_0xcb31['sQkgCX']===undefined){var _0x8201c2=function(_0x31e617){const _0x1d2823='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3db0e9='',_0x1fdd31='';for(let _0x26d945=0x0,_0x54eef6,_0x2ae82c,_0x1e3013=0x0;_0x2ae82c=_0x31e617['charAt'](_0x1e3013++);~_0x2ae82c&&(_0x54eef6=_0x26d945%0x4?_0x54eef6*0x40+_0x2ae82c:_0x2ae82c,_0x26d945++%0x4)?_0x3db0e9+=String['fromCharCode'](0xff&_0x54eef6>>(-0x2*_0x26d945&0x6)):0x0){_0x2ae82c=_0x1d2823['indexOf'](_0x2ae82c);}for(let _0x434a51=0x0,_0x57f4ff=_0x3db0e9['length'];_0x434a51<_0x57f4ff;_0x434a51++){_0x1fdd31+='%'+('00'+_0x3db0e9['charCodeAt'](_0x434a51)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1fdd31);};a0_0xcb31['LNFRpr']=_0x8201c2,a0_0xcb31['vRUZlE']={},a0_0xcb31['sQkgCX']=!![];}const _0x27005b=_0xf98a59[0x0],_0x5ac068=_0x20612f+_0x27005b,_0x199bb2=a0_0xcb31['vRUZlE'][_0x5ac068];return!_0x199bb2?(_0xcb3140=a0_0xcb31['LNFRpr'](_0xcb3140),a0_0xcb31['vRUZlE'][_0x5ac068]=_0xcb3140):_0xcb3140=_0x199bb2,_0xcb3140;}if(dbType==='oracle'){const oracleDb=require('../utils/db-oracle');executeQuery=(_0x43f6fc,_0x3675e9)=>oracleDb['executeQuery'](_0x43f6fc,_0x3675e9);}else{if(dbType==='mysql'){const mysqlDb=require(a0_0x87d433(0x102));executeQuery=(_0x10ba6e,_0x50181f)=>mysqlDb[a0_0x87d433(0x12c)](_0x10ba6e,_0x50181f);}else executeQuery=require(a0_0x87d433(0x175))['executeQuery'];}class ExportService{constructor(){const _0xd39714=a0_0x87d433;this[_0xd39714(0x18f)]=null;}get[a0_0x87d433(0x128)](){const _0x456938=a0_0x87d433,_0x21f79c={'yNuEw':_0x456938(0x18a)};if(!this[_0x456938(0x18f)]){const _0x400ee9=process[_0x456938(0x12e)]['RESTFORGE_PROJECT_NAME']||'default';this['_exportDir']=process[_0x456938(0x12e)][_0x456938(0x138)]||path['join'](__dirname,_0x456938(0x198)+_0x400ee9);try{!fsSync[_0x456938(0x12b)](this[_0x456938(0x18f)])&&fsSync['mkdirSync'](this['_exportDir'],{'recursive':!![]}),logger[_0x456938(0x117)]({'event':_0x456938(0x155),'dir':this[_0x456938(0x18f)]},_0x21f79c['yNuEw']);}catch(_0x5cd198){logError(_0x5cd198,{'event':'export_service_init_error'},'Failed\x20to\x20initialize\x20export\x20service');}}return this[_0x456938(0x18f)];}[a0_0x87d433(0x15f)](_0x14a15b,_0x5f5aba=null){const _0xb600c3=a0_0x87d433,_0x5c5188={'btzTP':function(_0x1e743d,_0x5b010d){return _0x1e743d!==_0x5b010d;},'dWkNv':_0xb600c3(0x11d),'XZVsv':'file:','bjrDe':_0xb600c3(0x122),'eMXYR':'export_query_file_resolve','RhyTU':'utf8','sLFVe':function(_0x31bfef,_0x342a9b){return _0x31bfef===_0x342a9b;},'jbrgJ':_0xb600c3(0x141)};if(!_0x14a15b||_0x5c5188[_0xb600c3(0x174)](typeof _0x14a15b,_0x5c5188['dWkNv']))return _0x14a15b;const _0x5a6aa2=_0x14a15b['trim']();if(!_0x5a6aa2[_0xb600c3(0x160)](_0x5c5188[_0xb600c3(0x103)]))return _0x5a6aa2;const _0x321a42=_0x5a6aa2['replace'](/^file:/,'')[_0xb600c3(0x180)]();if(!_0x321a42)throw new Error(_0x5c5188['bjrDe']);const _0x11782e=_0x5f5aba||path[_0xb600c3(0x170)](process['cwd'](),_0xb600c3(0x189)),_0x1dabf3=path['resolve'](_0x11782e,_0x321a42);logger[_0xb600c3(0x117)]({'event':_0x5c5188['eMXYR'],'relativePath':_0x321a42,'baseDir':_0x11782e,'absolutePath':_0x1dabf3},_0xb600c3(0x182)+_0x321a42);if(!fsSync[_0xb600c3(0x12b)](_0x1dabf3))throw new Error(_0xb600c3(0x115)+_0x1dabf3);try{const _0x51b1a2=fsSync['readFileSync'](_0x1dabf3,_0x5c5188['RhyTU']);if(!_0x51b1a2||!_0x51b1a2[_0xb600c3(0x180)]())throw new Error(_0xb600c3(0x152)+_0x1dabf3);return logger[_0xb600c3(0x117)]({'event':_0xb600c3(0x186),'file':_0x1dabf3,'queryLength':_0x51b1a2['length']},_0xb600c3(0x119)+_0x51b1a2[_0xb600c3(0x163)]+'\x20chars)'),_0x51b1a2['trim']();}catch(_0x26e946){if(_0x5c5188[_0xb600c3(0xff)](_0x26e946[_0xb600c3(0xfb)],_0x5c5188[_0xb600c3(0x123)]))throw new Error(_0xb600c3(0x115)+_0x1dabf3);throw new Error(_0xb600c3(0x133)+_0x26e946['message']);}}[a0_0x87d433(0x13c)](){const _0xfb41a4=a0_0x87d433,_0x583325={'KXSTL':_0xfb41a4(0x199),'EtoGX':function(_0x491c98,_0x1eb527){return _0x491c98<_0x1eb527;}},_0x3bcfcb=_0x583325['KXSTL'],_0xea3c7f=Date['now']()[_0xfb41a4(0x17e)](0x24),_0x149213=uuidv7()['replace'](/-/g,'')['substring'](0x0,0xc-_0xea3c7f[_0xfb41a4(0x163)]),_0x1c9519=(_0xea3c7f+_0x149213)['substring'](0x0,0xc);let _0x1d110f='';for(let _0x4a234c=0x0;_0x583325[_0xfb41a4(0x168)](_0x4a234c,0xc);_0x4a234c++){_0x1c9519[_0x4a234c]?_0x1d110f+=_0x1c9519[_0x4a234c]:_0x1d110f+=_0x3bcfcb[_0xfb41a4(0x120)](Math['floor'](Math['random']()*_0x3bcfcb['length']));}return _0x1d110f;}async[a0_0x87d433(0x112)](_0x538969){const _0x40dd14=a0_0x87d433,_0x48d2ff={'BRavf':_0x40dd14(0x143),'JRnkQ':_0x40dd14(0x167),'QoSPV':_0x40dd14(0x11a)},_0x16c19f=this[_0x40dd14(0x13c)](),_0xc7f9ea={'job_id':_0x16c19f,'status':_0x48d2ff['JRnkQ'],'progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x538969,'total_rows':0x0,'processed_rows':0x0};return await redisHelper['setJob'](_0x16c19f,_0xc7f9ea),logger[_0x40dd14(0x117)]({'event':_0x40dd14(0x145),'jobId':_0x16c19f,'params':_0x538969},_0x48d2ff['QoSPV']),this[_0x40dd14(0x130)](_0x16c19f,_0x538969)[_0x40dd14(0x13a)](_0x1ca3e3=>{const _0x6ebe2c=_0x40dd14;logError(_0x1ca3e3,{'event':'export_process_error','jobId':_0x16c19f},_0x48d2ff[_0x6ebe2c(0x142)]);}),{'job_id':_0x16c19f,'status':_0x48d2ff[_0x40dd14(0x10e)]};}async[a0_0x87d433(0x139)](_0x3a847f){const _0x55ca53=a0_0x87d433,_0x278f0c={'OlkEr':_0x55ca53(0x14f)},_0x579822=await redisHelper['getJob'](_0x3a847f);if(!_0x579822)return{'success':![],'error':'Job\x20not\x20found\x20or\x20expired'};return{'success':!![],'data':{'job_id':_0x579822[_0x55ca53(0x18b)],'status':_0x579822[_0x55ca53(0x13f)],'progress':_0x579822[_0x55ca53(0x10c)],'total_rows':_0x579822[_0x55ca53(0x107)],'processed_rows':_0x579822['processed_rows'],'file_url':_0x579822['status']===_0x278f0c[_0x55ca53(0x127)]?'/api/'+_0x579822['params']['moduleName']+'/'+_0x579822[_0x55ca53(0x14c)]['endpointName']+_0x55ca53(0x15e)+_0x3a847f:null,'error':_0x579822[_0x55ca53(0x172)]||null,'created_at':_0x579822['created_at'],'completed_at':_0x579822[_0x55ca53(0x16d)]||null}};}async[a0_0x87d433(0x130)](_0x1990f3,_0x2475e9){const _0x2d5053=a0_0x87d433,_0x2c9de1={'gvhzr':'processing','TGJEe':'export_processing_start','ISIpu':'Export\x20processing\x20started','YZEMf':_0x2d5053(0x14f),'bQaWP':_0x2d5053(0x125),'XmfTb':_0x2d5053(0x158),'OsARb':_0x2d5053(0x14d)};try{await redisHelper[_0x2d5053(0x159)](_0x1990f3,{'status':_0x2c9de1[_0x2d5053(0x14b)],'started_at':new Date()[_0x2d5053(0x185)]()}),logger[_0x2d5053(0x117)]({'event':_0x2c9de1['TGJEe'],'jobId':_0x1990f3},_0x2c9de1[_0x2d5053(0x17f)]);const _0x14e870=await this[_0x2d5053(0x192)](_0x2475e9);await redisHelper['updateJob'](_0x1990f3,{'total_rows':_0x14e870['length']});const _0x5ee956=await this['generateExcel'](_0x1990f3,_0x14e870,_0x2475e9);await redisHelper[_0x2d5053(0x159)](_0x1990f3,{'status':_0x2c9de1['YZEMf'],'progress':0x64,'file_path':_0x5ee956,'completed_at':new Date()['toISOString']()}),logger['info']({'event':_0x2c9de1[_0x2d5053(0x154)],'jobId':_0x1990f3,'rows':_0x14e870['length']},'Export\x20completed\x20successfully');}catch(_0x13f558){logError(_0x13f558,{'event':_0x2c9de1[_0x2d5053(0x16b)],'jobId':_0x1990f3},'Export\x20failed'),await redisHelper[_0x2d5053(0x159)](_0x1990f3,{'status':_0x2c9de1[_0x2d5053(0x196)],'error':_0x13f558[_0x2d5053(0x161)],'failed_at':new Date()['toISOString']()});}}async[a0_0x87d433(0x192)](_0x57168d){const _0x28ff74=a0_0x87d433,_0x1e042e={'tJAFJ':function(_0x3b1b84,_0x22b6e8){return _0x3b1b84||_0x22b6e8;},'hpGoQ':'tableName\x20and\x20columns\x20are\x20required','tFgXg':'export_using_custom_query','etHji':'Using\x20auto-generated\x20query','mUGOL':function(_0x25323a,_0x2418a5){return _0x25323a>_0x2418a5;},'DIDIE':_0x28ff74(0x147),'Ehnrk':function(_0x3be267,_0x340b2f){return _0x3be267(_0x340b2f);},'vkJYY':'oracle','JGCih':'export_fetch_complete','TORFo':'export_fetch_error','XmKhr':'Failed\x20to\x20fetch\x20data'};try{const {tableName:_0x431b76,columns:_0x582263,exportQuery:_0x1106e6,where:_0x363f67,sort_columns:_0x38b601}=_0x57168d;if(_0x1e042e[_0x28ff74(0x111)](!_0x431b76,!_0x582263)||_0x582263['length']===0x0)throw new Error(_0x1e042e[_0x28ff74(0x131)]);const _0x556b6e=_0x431b76[_0x28ff74(0x11e)](/\./g,'_')+_0x28ff74(0x105);let _0xbf48ab;if(_0x1106e6&&_0x1106e6['trim']()){let _0x553cb9=_0x1106e6;_0x1106e6['trim']()['startsWith'](_0x28ff74(0x121))&&(_0x553cb9=this[_0x28ff74(0x15f)](_0x1106e6)),_0xbf48ab=_0x28ff74(0x136)+_0x556b6e+'\x20AS\x20(\x0a\x20\x20\x20\x20'+_0x553cb9+'\x0a)',_0xbf48ab+=_0x28ff74(0x150)+_0x556b6e,logger[_0x28ff74(0x117)]({'event':_0x1e042e['tFgXg'],'query':_0x553cb9['substring'](0x0,0x64)},_0x28ff74(0x101));}else{const _0x40cf93=_0x582263[_0x28ff74(0x10a)](_0x2e4081=>'\x0a\x20\x20\x20\x20\x20\x20\x20\x20'+_0x2e4081)['join'](',');_0xbf48ab=_0x28ff74(0x136)+_0x556b6e+_0x28ff74(0x156)+_0x40cf93+_0x28ff74(0x153)+_0x431b76+'\x0a)',_0xbf48ab+='\x0aSELECT\x20*\x20FROM\x20'+_0x556b6e,logger['info']({'event':_0x28ff74(0x179),'tableName':_0x431b76,'columnCount':_0x582263['length']},_0x1e042e[_0x28ff74(0x146)]);}if(_0x363f67){const _0x4dc63a=this[_0x28ff74(0x16f)](_0x363f67);_0x4dc63a&&(_0xbf48ab+=_0x28ff74(0x134)+_0x4dc63a);}if(_0x38b601&&_0x1e042e[_0x28ff74(0x106)](_0x38b601[_0x28ff74(0x163)],0x0)){const _0x24f6e8=this['buildOrderByClause'](_0x38b601);_0x24f6e8&&(_0xbf48ab+=_0x28ff74(0x177)+_0x24f6e8);}logger['info']({'event':_0x1e042e['DIDIE'],'query':_0xbf48ab[_0x28ff74(0x148)](0x0,0xc8)},'Fetching\x20data\x20from\x20database');const _0x2c2569=await _0x1e042e['Ehnrk'](executeQuery,_0xbf48ab);let _0x2b93bc=_0x2c2569;return dbType===_0x1e042e[_0x28ff74(0x129)]&&_0x2c2569&&_0x2c2569['length']>0x0&&(_0x2b93bc=_0x2c2569['map'](_0x412a58=>{const _0x17f8bd={};for(const [_0x381e1d,_0x3dec06]of Object['entries'](_0x412a58)){_0x17f8bd[_0x381e1d['toLowerCase']()]=_0x3dec06;}return _0x17f8bd;})),logger[_0x28ff74(0x117)]({'event':_0x1e042e[_0x28ff74(0x118)],'rows':_0x2b93bc[_0x28ff74(0x163)]},_0x28ff74(0x11f)),_0x2b93bc;}catch(_0x4165d4){logError(_0x4165d4,{'event':_0x1e042e['TORFo']},_0x1e042e['XmKhr']);throw _0x4165d4;}}[a0_0x87d433(0x190)](_0x32b352){const _0x323326=a0_0x87d433,_0x12ec81={'aMfxl':_0x323326(0x11d)};if(typeof _0x32b352===_0x12ec81['aMfxl'])return _0x32b352[_0x323326(0x11e)](/[\u200B-\u200D\uFEFF\u2060\u00AD]/g,'')['trim']();else{if(Array[_0x323326(0x164)](_0x32b352))return _0x32b352[_0x323326(0x10a)](_0x540373=>this['sanitizeValue'](_0x540373));}return _0x32b352;}['buildWhereClause'](_0x471116){const _0x8bfe1d=a0_0x87d433,_0x1df069={'pXfyR':function(_0x5a49d1,_0x4ca486){return _0x5a49d1===_0x4ca486;},'aAoXj':'string','krogR':_0x8bfe1d(0x171),'BDpjF':function(_0x505fe7,_0x21b3f8){return _0x505fe7!==_0x21b3f8;},'MiNzC':'IS\x20NULL','REapS':_0x8bfe1d(0x173),'kEpfa':'unknown_operator','yqDLf':'Unknown\x20operator,\x20using\x20=\x20as\x20default','DLGNK':function(_0x5607be,_0x40ac6b){return _0x5607be===_0x40ac6b;},'sVzyP':_0x8bfe1d(0x165)};if(!_0x471116||!_0x471116['conditions']||_0x471116[_0x8bfe1d(0x11b)][_0x8bfe1d(0x163)]===0x0)return'';const {logic:_0x445d00,conditions:_0x1a13a9}=_0x471116,_0x2aa880=_0x445d00&&_0x1df069[_0x8bfe1d(0x15d)](_0x445d00[_0x8bfe1d(0x132)](),'OR')?'\x20OR\x20':_0x1df069[_0x8bfe1d(0xfe)],_0x48f81b=_0x1a13a9['map'](_0x526663=>{const _0x875529=_0x8bfe1d,_0x8e4aac={'rftBK':function(_0x4924d5,_0x3d6cc1){return _0x4924d5===_0x3d6cc1;},'YELzV':function(_0x50d25e,_0x3502fd){return _0x1df069['pXfyR'](_0x50d25e,_0x3502fd);},'uoGNc':_0x1df069[_0x875529(0x14a)]},{key:_0x1d61f2,operator:_0x548c31,value:_0x30a0c7,sensitive:_0x3144e3}=_0x526663;if(!_0x1d61f2||!_0x548c31)return logger[_0x875529(0x18e)]({'event':'invalid_condition','condition':_0x526663},_0x1df069['krogR']),null;const _0x5d5f8c=this['sanitizeValue'](_0x30a0c7),_0x4fe8f4=_0x1df069['BDpjF'](_0x3144e3,undefined)?_0x3144e3:!![];let _0x572cf3=_0x1d61f2,_0x505290=_0x5d5f8c;!_0x4fe8f4&&(_0x572cf3='UPPER('+_0x1d61f2+')',typeof _0x30a0c7===_0x1df069[_0x875529(0x14a)]&&(_0x505290=_0x30a0c7['toUpperCase']()));const _0x1b569c=_0x1df069['pXfyR'](typeof _0x505290,_0x1df069[_0x875529(0x14a)])?'\x27'+_0x505290[_0x875529(0x11e)](/'/g,'\x27\x27')+'\x27':_0x505290;switch(_0x548c31[_0x875529(0x132)]()){case'=':case'!=':case'<>':return _0x572cf3+'\x20'+_0x548c31+'\x20'+_0x1b569c;case'>':case'<':case'>=':case'<=':const _0x3214ac=typeof _0x5d5f8c===_0x875529(0x11d)?'\x27'+_0x5d5f8c['replace'](/'/g,'\x27\x27')+'\x27':_0x5d5f8c;return _0x1d61f2+'\x20'+_0x548c31+'\x20'+_0x3214ac;case _0x875529(0x104):case'NOT\x20LIKE':return _0x572cf3+'\x20'+_0x548c31+'\x20'+_0x1b569c;case'IN':if(Array['isArray'](_0x5d5f8c)){let _0x4c44bc;return!_0x4fe8f4?_0x4c44bc=_0x5d5f8c[_0x875529(0x10a)](_0x393579=>{const _0x5c42d4=_0x875529,_0x40050b=_0x8e4aac[_0x5c42d4(0x10f)](typeof _0x393579,'string')?_0x393579['toUpperCase']():_0x393579;return _0x8e4aac[_0x5c42d4(0x17c)](typeof _0x40050b,_0x8e4aac['uoGNc'])?'\x27'+_0x40050b[_0x5c42d4(0x11e)](/'/g,'\x27\x27')+'\x27':_0x40050b;})[_0x875529(0x170)](',\x20'):_0x4c44bc=_0x5d5f8c[_0x875529(0x10a)](_0x3279f5=>typeof _0x3279f5===_0x875529(0x11d)?'\x27'+_0x3279f5[_0x875529(0x11e)](/'/g,'\x27\x27')+'\x27':_0x3279f5)[_0x875529(0x170)](',\x20'),_0x572cf3+'\x20IN\x20('+_0x4c44bc+')';}return _0x572cf3+'\x20IN\x20('+_0x1b569c+')';case _0x1df069[_0x875529(0xfa)]:return _0x1d61f2+_0x875529(0x195);case _0x1df069['REapS']:return _0x1d61f2+'\x20IS\x20NOT\x20NULL';default:logger[_0x875529(0x18e)]({'event':_0x1df069['kEpfa'],'operator':_0x548c31},_0x1df069[_0x875529(0x15a)]);return _0x572cf3+'\x20=\x20'+_0x1b569c;}})['filter'](_0x36222a=>_0x36222a!==null);if(_0x48f81b['length']===0x0)return'';return _0x48f81b['join'](_0x2aa880);}[a0_0x87d433(0x108)](_0x4c27ee){const _0x1b0029=a0_0x87d433,_0x45c04c={'YmVWg':_0x1b0029(0x14e),'ZhblY':_0x1b0029(0x19a),'pRDbT':function(_0x5725e8,_0x4936f9){return _0x5725e8===_0x4936f9;}};if(!_0x4c27ee||_0x45c04c['pRDbT'](_0x4c27ee[_0x1b0029(0x163)],0x0))return'';const _0x10de60=_0x4c27ee['map'](_0xa6c637=>{const _0x5f09f2=_0x1b0029,{column:_0x496580,direction:_0x1f18ba}=_0xa6c637;if(!_0x496580)return logger['warn']({'event':'invalid_sort_column','item':_0xa6c637},_0x5f09f2(0x109)),null;const _0x54fa0c=_0x1f18ba&&_0x1f18ba[_0x5f09f2(0x132)]()===_0x5f09f2(0x14e)?_0x45c04c[_0x5f09f2(0x18c)]:_0x45c04c[_0x5f09f2(0x17b)];return _0x496580+'\x20'+_0x54fa0c;})['filter'](_0x3adc0f=>_0x3adc0f!==null);if(_0x10de60['length']===0x0)return'';return _0x10de60[_0x1b0029(0x170)](',\x20');}async[a0_0x87d433(0x12a)](_0x113e47,_0x244b22,_0x5b6a3c){const _0x67b3c6=a0_0x87d433,_0x2fd03e={'WHxta':function(_0x58f3c5,_0x3974fe){return _0x58f3c5*_0x3974fe;},'FLhhw':function(_0x460ba7,_0x5790dd){return _0x460ba7/_0x5790dd;},'WbNlH':function(_0x47c436,_0x4af4aa){return _0x47c436(_0x4af4aa);},'xRPDL':'../utils/excel-generator','kzsII':function(_0x590e9b,_0x65b7c5){return _0x590e9b===_0x65b7c5;},'KCUkb':_0x67b3c6(0x157),'wEfqF':'excel_columns_from_custom_query','zOIbL':_0x67b3c6(0x191),'BHGyw':function(_0x4a0e1d,_0x226391){return _0x4a0e1d>_0x226391;},'BdQEo':'excel_columns_fallback','usAaI':'excel_columns_from_query_result'},_0x4c89fa=_0x2fd03e['WbNlH'](require,_0x2fd03e['xRPDL']),_0xacd75d=new _0x4c89fa(),_0x4a9569=_0x5b6a3c['filename']?_0x5b6a3c[_0x67b3c6(0x10b)]+'-'+_0x113e47:'export-'+_0x113e47,_0x330476=path[_0x67b3c6(0x170)](this[_0x67b3c6(0x128)],_0x4a9569+_0x67b3c6(0xfd));let _0x4e2199=_0x5b6a3c['columns'];const _0x1b2b3f=_0x5b6a3c['exportQuery']&&_0x5b6a3c['exportQuery']['trim'](),_0x1e0d09=_0x4e2199&&_0x2fd03e['kzsII'](_0x4e2199['length'],0x1)&&(_0x4e2199[0x0]==='*'||_0x2fd03e[_0x67b3c6(0x169)](_0x4e2199[0x0][_0x67b3c6(0x178)](),_0x2fd03e['KCUkb']));if(_0x244b22['length']>0x0){const _0x56d851=Object[_0x67b3c6(0x16c)](_0x244b22[0x0]);if(_0x1b2b3f)_0x4e2199=_0x56d851,logger[_0x67b3c6(0x117)]({'event':_0x2fd03e[_0x67b3c6(0x15b)],'columns':_0x4e2199},_0x67b3c6(0x13d)+_0x4e2199[_0x67b3c6(0x163)]+_0x67b3c6(0x16e));else{if(_0x1e0d09)_0x4e2199=_0x56d851,logger[_0x67b3c6(0x117)]({'event':_0x2fd03e['zOIbL'],'columns':_0x4e2199},'Using\x20all\x20'+_0x4e2199[_0x67b3c6(0x163)]+'\x20columns\x20(wildcard\x20requested)');else{if(_0x4e2199&&_0x2fd03e['BHGyw'](_0x4e2199[_0x67b3c6(0x163)],0x0)){const _0x3193f8=_0x4e2199['filter'](_0x4a60a4=>_0x56d851[_0x67b3c6(0x181)](_0x4a60a4));_0x2fd03e['BHGyw'](_0x3193f8[_0x67b3c6(0x163)],0x0)?(_0x4e2199=_0x3193f8,logger['info']({'event':_0x67b3c6(0x144),'requestedColumns':_0x5b6a3c[_0x67b3c6(0x10d)],'validColumns':_0x4e2199},'Using\x20'+_0x4e2199[_0x67b3c6(0x163)]+_0x67b3c6(0xfc))):(_0x4e2199=_0x56d851,logger[_0x67b3c6(0x18e)]({'event':_0x2fd03e[_0x67b3c6(0x18d)],'requestedColumns':_0x5b6a3c[_0x67b3c6(0x10d)],'availableColumns':_0x56d851},'Requested\x20columns\x20not\x20found\x20in\x20data,\x20using\x20all\x20'+_0x56d851[_0x67b3c6(0x163)]+_0x67b3c6(0x140)));}else _0x4e2199=_0x56d851,logger[_0x67b3c6(0x117)]({'event':_0x2fd03e['usAaI'],'columns':_0x4e2199},_0x67b3c6(0x13d)+_0x4e2199[_0x67b3c6(0x163)]+'\x20columns\x20from\x20query\x20result');}}}else logger['info']({'event':'excel_columns_from_config','columns':_0x4e2199},'Using\x20'+(_0x4e2199?.[_0x67b3c6(0x163)]||0x0)+_0x67b3c6(0x124));return await _0xacd75d['generate']({'data':_0x244b22,'columns':_0x4e2199,'columnFormats':_0x5b6a3c[_0x67b3c6(0x113)]||null,'fieldLabels':_0x5b6a3c['fieldLabels']||null,'filePath':_0x330476,'onProgress':async _0x3602f0=>{const _0x3357a6=_0x67b3c6;await redisHelper[_0x3357a6(0x159)](_0x113e47,{'progress':Math['round'](_0x3602f0),'processed_rows':Math[_0x3357a6(0x114)](_0x2fd03e[_0x3357a6(0x17a)](_0x2fd03e[_0x3357a6(0x151)](_0x3602f0,0x64),_0x244b22[_0x3357a6(0x163)]))});}}),_0x330476;}async[a0_0x87d433(0x116)](_0xe2c0f8){const _0x5cd60e=a0_0x87d433,_0x261518={'guCEj':_0x5cd60e(0x14f),'yfheW':function(_0x817967,_0x945b67,_0x19781c,_0x150cbd){return _0x817967(_0x945b67,_0x19781c,_0x150cbd);}},_0x362b38=await redisHelper['getJob'](_0xe2c0f8);if(!_0x362b38||_0x362b38['status']!==_0x261518['guCEj'])return null;try{return await fs['access'](_0x362b38['file_path']),_0x362b38[_0x5cd60e(0x12d)];}catch(_0x143cc7){return _0x261518[_0x5cd60e(0x110)](logError,_0x143cc7,{'event':_0x5cd60e(0x100),'jobId':_0xe2c0f8,'path':_0x362b38[_0x5cd60e(0x12d)]},_0x5cd60e(0x12f)),null;}}async['cleanup'](){const _0x1d9e49=a0_0x87d433,_0x24f5eb={'NNwUm':'export_cleanup_start','VTQQJ':_0x1d9e49(0x183),'VrtRJ':function(_0x9ebd5c,_0x1070cb){return _0x9ebd5c>_0x1070cb;},'WojXu':'export_file_deleted','EXgUL':_0x1d9e49(0x166),'cdjHL':'Failed\x20to\x20delete\x20export\x20file'};logger['info']({'event':_0x24f5eb['NNwUm']},_0x24f5eb[_0x1d9e49(0x135)]);const _0x4e902c=await redisHelper['getAllJobs']();let _0x1ee4df=0x0;for(const _0x7acb21 of _0x4e902c){const _0xeac00a=new Date(_0x7acb21['created_at']),_0x4377eb=new Date(),_0x31b8f4=(_0x4377eb-_0xeac00a)/(0x3e8*0x3c*0x3c);if(_0x24f5eb['VrtRJ'](_0x31b8f4,0x1)){if(_0x7acb21[_0x1d9e49(0x12d)])try{await fs['unlink'](_0x7acb21['file_path']),logger[_0x1d9e49(0x117)]({'event':_0x24f5eb[_0x1d9e49(0x137)],'path':_0x7acb21['file_path']},'Export\x20file\x20deleted');}catch(_0x5d207f){logger['warn']({'event':_0x24f5eb['EXgUL'],'path':_0x7acb21['file_path'],'error':_0x5d207f[_0x1d9e49(0x161)]},_0x24f5eb[_0x1d9e49(0x188)]);}await redisHelper['deleteJob'](_0x7acb21[_0x1d9e49(0x18b)]),_0x1ee4df++;}}return logger['info']({'event':'export_cleanup_complete','deleted':_0x1ee4df},_0x1d9e49(0x19b)),_0x1ee4df;}}module['exports']=new ExportService();function a0_0xf98a(){const _0x5c2bf6=['ChjVy2vZC0PVyG','AhbhB1e','Dg9vChbLCKnHC2u','rMfPBgvKihrVihjLywqGzxHWB3j0ihf1zxj5igzPBgu6ia','cLDirvjfia','vLrruuO','v0Lusca','v29Qwhu','rvHqt1jux0rjuG','z2v0sM9Iu3rHDhvZ','y2f0y2G','mtrjCuXpuw0','z2vUzxjHDgvkB2jjza','vxnPBMCG','mtaYmdC1mhvur3H5BW','C3rHDhvZ','ignVBhvTBNm','ru5pru5u','qLjHDMy','rxHWB3j0ihbYB2nLC3nPBMCGzMfPBgvK','zxHJzwXFy29SDw1UC19MCM9Tx3jLCxvLC3q','zxHWB3j0x2PVyL9JCMvHDgvK','zxriAMK','zxHWB3j0x2zLDgnOx3n0yxj0','C3vIC3rYAw5N','nfjUEgXuDG','yufVwgO','z3zOENi','CgfYyw1Z','zMfPBgvK','revtqW','y29TCgXLDgvK','cLnftevdvcaQiezst00G','rKXOAhC','rxHWB3j0ihf1zxj5igzPBguGAxmGzw1WDhK6ia','cIaGicbguK9nia','yLfHv1a','zxHWB3j0x3nLCNzPy2vFAw5PDa','iefticGkicaGifnftevdvca','ywXS','zxHWB3j0x2zHAwXLza','DxbKyxrLsM9I','Exfetgy','D0vMCuy','ChjVBwLZzxm','reXhtKS','l2v4Cg9YDc1KB3DUBg9Hzd9QB2jFAwq9','CMvZB2X2zuv4Cg9YDff1zxj5','C3rHCNrZv2L0Aa','BwvZC2fNzq','mJretfjVrwC','BgvUz3rO','AxnbCNjHEq','ieforca','zxHWB3j0x2zPBgvFzgvSzxrLx2vYCM9Y','CgvUzgLUzW','rxrVr1G','A3PZsuK','mti0nZuZofvfvxvbwa','wg1Mvgi','A2v5CW','y29TCgXLDgvKx2f0','ignVBhvTBNmGzNjVBsbJDxn0B20GzxHWB3j0uxvLCNKGCMvZDwX0','yNvPBgrxAgvYzunSyxvZzq','AM9PBG','u2TPChbPBMCGAw52ywXPzcbJB25KAxrPB24','zxjYB3i','svmGtK9uie5vteW','yNr6vfa','lI4VDxrPBhmVzgi','Cgf0Aa','cK9srevsiejzia','Dg9mB3DLCKnHC2u','zxHWB3j0x3vZAw5Nx2f1Dg9FCxvLCNK','v0H4Dge','wMHIBfK','wuvmELy','mtqZBvbXqNHe','Dg9tDhjPBMC','svnjChu','DhjPBq','Aw5JBhvKzxm','uMvZB2X2Aw5Nigv4Cg9YDff1zxj5igzYB20GzMLSztOG','u3rHCNrPBMCGzxHWB3j0ignSzwfUDxa','mJq3mJi0yMryBujL','Dg9ju09tDhjPBMC','zxHWB3j0x3f1zxj5x2zPBgvFBg9HzgvK','nZeWmte4y2Hmtw1r','y2rQseW','Cgf5Bg9Hza','rxHWB3j0ihnLCNzPy2uGAw5PDgLHBgL6zwq','AM9Ix2LK','ww1wv2C','qMrrrw8','D2fYBG','x2v4Cg9YDerPCG','C2fUAxrPEMvwywX1zq','zxHJzwXFy29SDw1UC19ZzwXLy3rFywXS','zMv0y2HeyxrH','mte3mZe2nwLSvLb5Da','lI4VDxrPBhmVBg9Nz2vY','ieLtie5vteW','t3nbuMi','mtq2ndu2mg5tvvbdyq','lI4VlI4VzxHWB3j0CY8','qujdrevgr0HjsKTmtu5puffsu1rvvLDywvPHyMnKzwzNAgLQA2XTBM9WCxjZDhv2D3H5EJaXmJm0nty3odK','qvnd','rxHWB3j0ignSzwfUDxaGy29TCgXLDgvK','twLoEKm','y29Kzq','ignVBhvTBNmGzNjVBsbYzxf1zxn0','lNHSC3G','C1z6Eva','C0XgvMu','zxHWB3j0x2zPBgvFBM90x2zVDw5K','vxnPBMCGy3vZDg9Tigv4Cg9YDff1zxj5','lI4VDxrPBhmVzgiTBxLZCwW','wfPwC3y','teLlrq','x2rHDge','Bvvht0W','Dg90ywXFCM93CW','yNvPBgrpCMrLCKj5q2XHDxnL','u2TPChbPBMCGAw52ywXPzcbZB3j0ignVBhvTBG','BwfW','zMLSzw5HBwu','ChjVz3jLC3m','y29SDw1UCW','sLjUA1e','CMz0qKS','EwzOzvC','DePbrKO','y3jLyxrLsM9I','y29SDw1UrM9YBwf0CW','CM91BMq','rxHWB3j0ihf1zxj5igzPBguGBM90igzVDw5KoIa','z2v0rMLSzvbHDgG','Aw5MBW','sKDdAwG','tg9HzgvKifnrtcbXDwvYEsbMCM9TigzPBguGka','rxHWB3j0igPVyIbJCMvHDgvK','y29UzgL0Aw9UCW','mtm0mdm4mgvwqMrJDa','C3rYAw5N','CMvWBgfJzq','rgf0ysbMzxrJAgvKihn1y2nLC3nMDwXSEq','y2HHCKf0','zMLSztO','sw52ywXPzcbMAwXLoIbYzwzLCMvUy2uGlsbWyxrOigLZigvTChr5','AMjYz0O','ignVBhvTBNmGzNjVBsbJB25MAwCGkg5VigrHDgeP','zxHWB3j0x2nVBxbSzxrLza','rejFvfLqrq','t2XRrxi','zxHWB3j0rgLY','DMTkwvK','z2vUzxjHDgvfEgnLBa','zxHPC3rZu3LUyW','zxHLy3v0zvf1zxj5','zMLSzv9WyxrO','zw52','rxHWB3j0igzPBguGBM90igzVDw5K'];a0_0xf98a=function(){return _0x5c2bf6;};return a0_0xf98a();}
@@ -1 +1 @@
1
- function a0_0x48e3(_0x185035,_0x4a5904){_0x185035=_0x185035-0x8b;const _0x431560=a0_0x4315();let _0x48e376=_0x431560[_0x185035];if(a0_0x48e3['ifznDz']===undefined){var _0xc31be7=function(_0x283b65){const _0x50cae2='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x41760e='',_0x164114='';for(let _0x333b1b=0x0,_0x252852,_0x24a1b7,_0xf37ffb=0x0;_0x24a1b7=_0x283b65['charAt'](_0xf37ffb++);~_0x24a1b7&&(_0x252852=_0x333b1b%0x4?_0x252852*0x40+_0x24a1b7:_0x24a1b7,_0x333b1b++%0x4)?_0x41760e+=String['fromCharCode'](0xff&_0x252852>>(-0x2*_0x333b1b&0x6)):0x0){_0x24a1b7=_0x50cae2['indexOf'](_0x24a1b7);}for(let _0x236ced=0x0,_0x4d6678=_0x41760e['length'];_0x236ced<_0x4d6678;_0x236ced++){_0x164114+='%'+('00'+_0x41760e['charCodeAt'](_0x236ced)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x164114);};a0_0x48e3['FJoBYw']=_0xc31be7,a0_0x48e3['WTzWBZ']={},a0_0x48e3['ifznDz']=!![];}const _0x1aafe6=_0x431560[0x0],_0x16eb5f=_0x185035+_0x1aafe6,_0x29855a=a0_0x48e3['WTzWBZ'][_0x16eb5f];return!_0x29855a?(_0x48e376=a0_0x48e3['FJoBYw'](_0x48e376),a0_0x48e3['WTzWBZ'][_0x16eb5f]=_0x48e376):_0x48e376=_0x29855a,_0x48e376;}const a0_0x10b27b=a0_0x48e3;(function(_0x3b8925,_0x252650){const _0x350d1d=a0_0x48e3,_0x392a49=_0x3b8925();while(!![]){try{const _0x5cce1c=-parseInt(_0x350d1d(0x10e))/0x1+parseInt(_0x350d1d(0x103))/0x2+-parseInt(_0x350d1d(0xb5))/0x3+parseInt(_0x350d1d(0x99))/0x4*(-parseInt(_0x350d1d(0xf1))/0x5)+-parseInt(_0x350d1d(0x90))/0x6*(-parseInt(_0x350d1d(0x114))/0x7)+parseInt(_0x350d1d(0x125))/0x8+parseInt(_0x350d1d(0xca))/0x9;if(_0x5cce1c===_0x252650)break;else _0x392a49['push'](_0x392a49['shift']());}catch(_0x42a3c6){_0x392a49['push'](_0x392a49['shift']());}}}(a0_0x4315,0x312dd));const {v7:uuidv7}=require(a0_0x10b27b(0x9b)),path=require(a0_0x10b27b(0x101)),fs=require('fs')[a0_0x10b27b(0xc1)],redisHelper=require('../utils/redis-helper'),{logger,logError}=require(a0_0x10b27b(0x128)),dbType=(process[a0_0x10b27b(0xb8)][a0_0x10b27b(0xe6)]||a0_0x10b27b(0xfc))[a0_0x10b27b(0x10c)]();let executeQuery,executeTransaction,oracleDb;if(dbType==='oracle')oracleDb=require(a0_0x10b27b(0xed)),executeQuery=(_0x51783e,_0x44f5a0)=>oracleDb[a0_0x10b27b(0xa4)](_0x51783e,_0x44f5a0),executeTransaction=_0x171b00=>oracleDb['executeTransaction'](_0x171b00);else{if(dbType===a0_0x10b27b(0x9c)){const mysqlDb=require('../utils/db-mysql');executeQuery=(_0x5d9cd2,_0x533d26)=>mysqlDb['executeQuery'](_0x5d9cd2,_0x533d26),executeTransaction=_0x56a65b=>mysqlDb[a0_0x10b27b(0x139)](_0x56a65b);}else{const db=require('../utils/db');executeQuery=db[a0_0x10b27b(0xa4)],executeTransaction=db[a0_0x10b27b(0x139)];}}function a0_0x4315(){const _0x24cd5b=['CM93CW','DxbSB2fKrgLY','x3vWBg9HzerPCG','zgvIDwC','C3rYAw5N','y291BNq','CgzytMy','terzwuC','yw1prLK','zgv0zwn0rgf0ywjHC2veDxbSAwnHDgvZ','ChjVy2vZC2LUz19SB29RDxbFzMLLBgrZ','y29SDw1U','AM9PBG','q29TBwL0igPVyIbJB21WBgv0zwq','rejFvfLqrq','CMvWBgfJzq','zgvMyxvSDa','B3jHy2XL','AM9Ix2LK','DMfSDwvZ','uhjLDMLLDYbQB2iGy3jLyxrLza','lI4VDxrPBhmVzgiTB3jHy2XL','AeHpDvi','x2v4Axn0Aw5Nswq','vhnzqLK','odbgzgfoEKu','Bwf0y2G','Dhj1zq','CgfYyw1Z','z2v0rNvSBfLLyxi','BM93','yNvPBgrmywjLBfrVrMLLBgrnyxa','q29SDw1UigzVCM1HDhmGyxbWBgLLzcb0BYbYB3DZ','r0HgD3G','ChjLDMLLD19LCNjVCG','ChjLDMLLD19VAW','Cg9ZDgDYzxnXBa','x2fJDgLVBG','qwH1quu','Dw5SAw5R','uhjLDMLLDYbQB2iGzMfPBgvK','Cgf0Aa','Aw1WB3j0x2zPzwXKC19MAwX0zxjLza','mtq1ntqWsLHIvvPk','zM9YBwf0qM9VBgvHBKzVCKrHDgfIyxnL','y2H1BMTsB3DZ','CgfYC2vfEgnLBezPBgu','Aw5Zzxj0x29UBhK','wKXrB2e','CxrJsMi','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','Dxn2Cwe','Dg9mB3DLCKnHC2u','lI4VDxrPBhmVAw1WB3j0lxzHBgLKyxrVCG','mJe3nduXqK1QsNDU','uhjLDMLLDYbQB2iGBM90igzVDw5Kig9Yigv4CgLYzwq','yxbWBhLdB2X1Bw5gB3jTyxrZ','AM9IoG','CgfKu3rHCNq','zMLSzv9JBgvHBNvWx2vYCM9Y','n1rNt1jZtW','uhjVy2vZC2LUzYbSB29RDxaGzMLLBgrZ','DxbSB2fKrMLSzq','DMfSAwrHDgLUzW','uMvJB3jKigv4Axn0CYaOAw5Zzxj0x29UBhKGBw9KzsK','C3fS','Dg9ju09tDhjPBMC','BLHYyuK','BwvZC2fNzq','yNvPBgrcyxrJAfvWzgf0zq','z2v0sM9I','yxv0B0DLBMvYyxrLvxbZzxj0s2v5CW','AgvHzgvYC19TyxbWzwq','DNnpBeq','y29SDw1UrM9YBwf0CW','y3jLyxrLq29TBwL0sM9I','q2fUBM90ignVBw1PDdOGChjLDMLLDYbZDgf0DxmGAxmG','mtaWodG4og1JDxn2qG','u0Tjua','q29TBwL0igPVyIbJCMvHDgvK','lI4VDxrPBhmVBg9Nz2vY','rhvWBgLJyxrLihzHBhvLigzVCIa','C2L6zq','sw1WB3j0igzPzwXKCYbMAwX0zxjLzcaOzxHJBhvKzwqGBg9VA3vWihnVDxjJzsbJB2X1Bw5Zkq','CM93sw5KzxG','CKnTtwu','AKT1t0e','tfntzvG','B3jPz2LUywXUyw1L','zM9YBwf0tNvTyMvYrM9Yrgf0ywjHC2u','z2v0sM9Iu3rHDhvZ','cIaGicaGicaGrLjptsa','qMLoDfC','y2HWuvm','lI4VDxrPBhmVzxHJzwWTCgfYC2vY','rMfPBgvKihrVignSzwfUDxaGzMLSzq','su5trvju','zxHLy3v0zvrYyw5Zywn0Aw9U','A2v5CW','rgPKr1a','s2jqu0e','ANvqEfe','zw50CMLLCW','EwvZ','nZy5nteYCufRBMXn','x2DLBMvYyxrLzf91DwLK','C2XPy2u','C2nVCgvpDMvYCMLKzq','Aw5KzxHpzG','Dg9tDhjPBMC','y29Kz2K','uNfRBKG','x2vYCM9YCW','mJyWmJrjv09Qz0C','Dgv4Da','DxvPza','BxLZCwW','DxbSB2fKoG','AgHLvKq','Aw5MBW','tvDMz3K','A0PbwKK','DhLWzq','DxbSB2fKx2LK','zxHLy3v0zvf1zxj5','C2TPCf9LEgLZDgLUzW','rxHJzwWGAgvHzgvYCYbTyxbWzwqGDg8GzMLLBgqGBMfTzxm','BgvUz3rO','y29TBwL0x2PVyL9JB21WBgv0zwq','BLvHtwG','zMfPBgvK','BwfW','zMLSDgvY','vvbeqvrf','sw1WB3j0igzPBguGDxbSB2fKzwqGyw5KihbHCNnLza','tgjvt1y','A0zJDg0','CMvXDwvZDf9Zy29Wzv9HChbSAwvK','ChjLDMLLD19QB2jFy29TCgXLDgvK','DLfxsNC','jdfFjdi','mtiYody4rwDxyxrU','y2f0y2G','DxbKyxrLx2v4Axn0Aw5N','zw52','y29TBwL0x2PVyL9MywLSzwq','ChvZAa','s2fNyu0','zvzRy1a','B3jTvgO','Aw5JBhvKzxm','vxbSB2fKigrHDgeGBM90igzVDw5Kig9Yigv4CgLYzwq','C2v0sM9I','ChjVBwLZzxm','zxjYB3jZ','Bg9VA3vWrMLLBgrZ','z2vUzxjHDgvjza','y29TBwL0x3bYB2nLC3nFzxjYB3i','DhjPBq','y2HHCKf0','y29SDw1Ux2zVCM1HDhnFyxbWBgLLza','DgvZDa','mJeZmti2m3vVDgzAuW','CMfUzg9T','uhjLDMLLDYbWCM9JzxnZAw5NigzHAwXLza','yNvPBgrcyxrJAeLUC2vYDa','r0jnuhq','BNvTyMvY','zM9YrwfJAa','ChjVy2vZC2vKuM93CW','BgfIzwXFDg9FzMLLBgrFBwfWx2j1AwX0','y29TBwL0x2PVyL9JCMvHDgvK','s25ls0C','z2v0tw9UDgG','yM9VBgvHBG','z2v0'];a0_0x4315=function(){return _0x24cd5b;};return a0_0x4315();}const excelParser=require(a0_0x10b27b(0x136)),importValidator=require(a0_0x10b27b(0x10d)),upsertBuilder=require('../utils/upsert-builder'),lookupResolver=require('../utils/lookup-resolver');class ImportService{constructor(){const _0x635499=a0_0x10b27b;this[_0x635499(0xda)]=null;}get[a0_0x10b27b(0xd9)](){const _0x1184a8=a0_0x10b27b;if(!this['_uploadDir']){const _0x48b069=process['env'][_0x1184a8(0x10a)]||_0x1184a8(0xe8);this[_0x1184a8(0xda)]=process['env']['UPLOAD_DIR']||path['join'](__dirname,'../../temp/uploads/'+_0x48b069);}return this['_uploadDir'];}['generateId'](){const _0x4d51f3=a0_0x10b27b,_0xa41212={'CaJRI':'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789','lOFjb':function(_0xa0f723){return _0xa0f723();},'EdhHr':function(_0x22b393,_0x1f8c9a){return _0x22b393*_0x1f8c9a;}},_0x55574b=_0xa41212['CaJRI'],_0xbb5b15=Date[_0x4d51f3(0xf6)]()[_0x4d51f3(0x95)](0x24),_0x4371e7=_0xa41212['lOFjb'](uuidv7)['replace'](/-/g,'')['substring'](0x0,0xc-_0xbb5b15['length']),_0x2b9d00=(_0xbb5b15+_0x4371e7)['substring'](0x0,0xc);let _0x493556='';for(let _0x56c27d=0x0;_0x56c27d<0xc;_0x56c27d++){_0x2b9d00[_0x56c27d]?_0x493556+=_0x2b9d00[_0x56c27d]:_0x493556+=_0x55574b[_0x4d51f3(0xc7)](Math['floor'](_0xa41212['EdhHr'](Math[_0x4d51f3(0xcb)](),_0x55574b[_0x4d51f3(0xa7)])));}return _0x493556;}['buildLabelToFieldMap'](_0x283507){const _0x1c8d05=a0_0x10b27b,_0x466c96={'GHFwx':function(_0x189d41,_0xac07bf){return _0x189d41(_0xac07bf);},'fzMkE':_0x1c8d05(0xd2),'LDYYG':'Label\x20to\x20field\x20mapping\x20built'},_0xfe8dfd=new Map();if(!_0x283507)return _0xfe8dfd;return Object[_0x1c8d05(0x8e)](_0x283507)[_0x1c8d05(0xd0)](([_0x2ff693,_0x594e21])=>{const _0xba9a01=_0x1c8d05,_0x2d7870=_0x466c96[_0xba9a01(0xf9)](String,_0x594e21)[_0xba9a01(0xc6)]()[_0xba9a01(0xe7)](/\s+/g,'_')[_0xba9a01(0xe7)](/([a-z])([A-Z])/g,'$1_$2')['replace'](/([A-Z]+)([A-Z][a-z])/g,_0xba9a01(0xb4))[_0xba9a01(0x10c)]();_0xfe8dfd['set'](_0x2d7870,_0x2ff693);}),logger[_0x1c8d05(0xdb)]({'event':_0x466c96['fzMkE'],'mappingCount':_0xfe8dfd[_0x1c8d05(0x12a)]},_0x466c96[_0x1c8d05(0xdf)]),_0xfe8dfd;}[a0_0x10b27b(0x110)](_0x15189d,_0x57d640){const _0x502ee6=a0_0x10b27b,_0x248a06={'LSSeX':function(_0x111a1b,_0x231dac){return _0x111a1b===_0x231dac;},'LbUOV':function(_0x3bafea,_0x6d087){return _0x3bafea===_0x6d087;},'nXraI':'number','YrvIM':_0x502ee6(0xd6),'tZHyF':_0x502ee6(0x9a)};if(!_0x57d640||_0x248a06[_0x502ee6(0x12f)](Object['keys'](_0x57d640)[_0x502ee6(0xa7)],0x0))return _0x15189d;return _0x15189d[_0x502ee6(0xab)](_0x4ada42=>{const _0x5f4dc6=_0x502ee6,_0x4ee1b4={..._0x4ada42};for(const [_0x51e780,_0x34e9ad]of Object['entries'](_0x57d640)){const _0x45334e=_0x4ee1b4[_0x51e780];if(_0x248a06[_0x5f4dc6(0x12f)](_0x45334e,null)||_0x45334e===undefined||_0x248a06[_0x5f4dc6(0xaf)](_0x45334e,'')){_0x4ee1b4[_0x51e780]=null;continue;}switch(_0x34e9ad['type']){case'date':_0x4ee1b4[_0x51e780]=this['formatDateForDatabase'](_0x45334e);break;case _0x248a06[_0x5f4dc6(0x11b)]:_0x4ee1b4[_0x51e780]=this[_0x5f4dc6(0x131)](_0x45334e);break;case _0x248a06['YrvIM']:_0x4ee1b4[_0x51e780]=this['formatBooleanForDatabase'](_0x45334e);break;case _0x248a06['tZHyF']:_0x4ee1b4[_0x51e780]=String(_0x45334e);break;default:break;}}return _0x4ee1b4;});}['formatDateForDatabase'](_0x4c0f4e){const _0x43c6d6=a0_0x10b27b,_0x4d4f33={'qtcJb':function(_0x4586a2,_0x30a485){return _0x4586a2===_0x30a485;},'BiNtW':function(_0x2b3136,_0x5dedb1){return _0x2b3136(_0x5dedb1);},'chpQS':function(_0x210520,_0xce6525){return _0x210520(_0xce6525);}};if(_0x4d4f33['qtcJb'](_0x4c0f4e,null)||_0x4d4f33[_0x43c6d6(0x109)](_0x4c0f4e,undefined)||_0x4c0f4e==='')return null;if(typeof _0x4c0f4e==='string'&&/^\d{4}-\d{2}-\d{2}$/['test'](_0x4c0f4e))return _0x4c0f4e;if(_0x4c0f4e instanceof Date){if(isNaN(_0x4c0f4e['getTime']()))return null;const _0x16b375=_0x4c0f4e[_0x43c6d6(0xf5)](),_0x51ceb5=_0x4d4f33['BiNtW'](String,_0x4c0f4e[_0x43c6d6(0xd5)]()+0x1)[_0x43c6d6(0x112)](0x2,'0'),_0x4e1b2e=String(_0x4c0f4e['getDate']())[_0x43c6d6(0x112)](0x2,'0');return _0x16b375+'-'+_0x51ceb5+'-'+_0x4e1b2e;}if(_0x4d4f33['qtcJb'](typeof _0x4c0f4e,_0x43c6d6(0xdc))){const _0x850b95=_0x4c0f4e['match'](/^(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})$/);if(_0x850b95){const _0x2b0e4c=String(_0x850b95[0x1])['padStart'](0x2,'0'),_0x369cf4=String(_0x850b95[0x2])[_0x43c6d6(0x112)](0x2,'0'),_0x429077=_0x850b95[0x3];return _0x429077+'-'+_0x369cf4+'-'+_0x2b0e4c;}const _0x57d74f=_0x4c0f4e[_0x43c6d6(0xf2)](/^(\d{4})[\/\-](\d{1,2})[\/\-](\d{1,2})$/);if(_0x57d74f){const _0x1332c3=_0x57d74f[0x1],_0x2b3436=_0x4d4f33[_0x43c6d6(0x135)](String,_0x57d74f[0x2])['padStart'](0x2,'0'),_0x255fe3=_0x4d4f33[_0x43c6d6(0x134)](String,_0x57d74f[0x3])['padStart'](0x2,'0');return _0x1332c3+'-'+_0x2b3436+'-'+_0x255fe3;}}return _0x4c0f4e;}[a0_0x10b27b(0x131)](_0x3d6404){const _0x296c7f=a0_0x10b27b,_0x5dcfdf={'kJAZI':function(_0x18bb7b,_0x255ddd){return _0x18bb7b===_0x255ddd;},'dkxqW':function(_0xaf4fbf,_0x54c06e){return _0xaf4fbf===_0x54c06e;},'spnzs':function(_0x5a10bb,_0x52c531){return _0x5a10bb(_0x52c531);},'vQWJw':function(_0x4db41c,_0x421481){return _0x4db41c(_0x421481);}};if(_0x5dcfdf[_0x296c7f(0xa1)](_0x3d6404,null)||_0x3d6404===undefined||_0x3d6404==='')return null;if(_0x5dcfdf['dkxqW'](typeof _0x3d6404,_0x296c7f(0xcf)))return isNaN(_0x3d6404)?null:_0x3d6404;if(_0x5dcfdf['dkxqW'](typeof _0x3d6404,'string')){let _0x34591b=_0x3d6404['trim']();const _0x33ecb3=/,\d{1,2}$/[_0x296c7f(0xc9)](_0x34591b)&&!/,\d{3}/[_0x296c7f(0xc9)](_0x34591b);_0x33ecb3?_0x34591b=_0x34591b[_0x296c7f(0xe7)](/\./g,'')[_0x296c7f(0xe7)](',','.'):_0x34591b=_0x34591b['replace'](/,/g,'');const _0x5906c3=_0x5dcfdf['spnzs'](parseFloat,_0x34591b);return _0x5dcfdf[_0x296c7f(0xb3)](isNaN,_0x5906c3)?null:_0x5906c3;}return null;}[a0_0x10b27b(0x104)](_0x523271){const _0x13407e=a0_0x10b27b,_0x24e9fa={'TXqok':function(_0x2d8a13,_0x3dcda1){return _0x2d8a13===_0x3dcda1;},'KnKKG':function(_0x3db382,_0x38573d){return _0x3db382===_0x38573d;},'TsYBY':'false','juPxQ':'string','MWfgy':'true','qKvrT':'number'};if(_0x24e9fa['TXqok'](_0x523271,null)||_0x24e9fa['TXqok'](_0x523271,undefined)||_0x523271==='')return null;if(_0x24e9fa['KnKKG'](typeof _0x523271,'boolean'))return _0x523271?_0x13407e(0xf3):_0x24e9fa[_0x13407e(0xf0)];if(_0x24e9fa[_0x13407e(0xd4)](typeof _0x523271,_0x24e9fa[_0x13407e(0x8d)])){const _0x1a1b12=_0x523271['trim']()[_0x13407e(0x10c)]();if([_0x24e9fa[_0x13407e(0xa0)],_0x13407e(0x8f),'y','1'][_0x13407e(0xbe)](_0x1a1b12))return _0x13407e(0xf3);if([_0x24e9fa[_0x13407e(0xf0)],'no','n','0']['includes'](_0x1a1b12))return _0x24e9fa['TsYBY'];return null;}if(typeof _0x523271===_0x24e9fa['qKvrT'])return _0x523271?'true':_0x24e9fa[_0x13407e(0xf0)];return null;}async[a0_0x10b27b(0x116)](_0x551d5a,_0x25282c){const _0x316c90=a0_0x10b27b,_0x1cd259={'pfXNf':function(_0x4a4026,_0x2f9662){return _0x4a4026||_0x2f9662;},'AkOsx':function(_0x293d42,_0x55bb0b){return _0x293d42>_0x55bb0b;},'codgi':_0x316c90(0xf8),'QDmPd':_0x316c90(0xb1),'amOFY':'Request\x20scope\x20override\x20applied\x20to\x20imported\x20rows','OGxcx':'import_file_uploaded','LkrDt':_0x316c90(0x113),'skLNj':_0x316c90(0x137)},_0x1b6978=this[_0x316c90(0xc4)]();try{let {headers:_0x59dfb3,rows:_0x59cedd,totalRows:_0x123c4e}=await excelParser[_0x316c90(0x106)](_0x551d5a[_0x316c90(0x101)]);const _0x3ae03f=this[_0x316c90(0xf7)](_0x25282c['fieldLabels']),_0x3565d5=_0x59dfb3['map'](_0x46ead9=>{const _0xee16cc=_0x316c90,_0x4f61d5=_0x3ae03f[_0xee16cc(0xd7)](_0x46ead9);return _0x1cd259[_0xee16cc(0xde)](_0x4f61d5,_0x46ead9);});_0x59cedd=_0x59cedd[_0x316c90(0xab)](_0x181265=>{const _0x3e6a51={};return _0x59dfb3['forEach']((_0x1a2826,_0x22e7c2)=>{const _0x5f8ee0=_0x3565d5[_0x22e7c2];_0x3e6a51[_0x5f8ee0]=_0x181265[_0x1a2826];}),_0x3e6a51;}),_0x59dfb3=_0x3565d5,logger['debug']({'event':_0x316c90(0x120),'original':_0x59dfb3[_0x316c90(0xa7)],'mapped':_0x3565d5['filter']((_0x15db19,_0x2bf04c)=>_0x15db19!==_0x59dfb3[_0x2bf04c])['length']},_0x316c90(0xa6));_0x25282c[_0x316c90(0x122)]&&_0x1cd259['AkOsx'](Object[_0x316c90(0x13a)](_0x25282c['columnFormats'])[_0x316c90(0xa7)],0x0)&&(_0x59cedd=this['applyColumnFormats'](_0x59cedd,_0x25282c['columnFormats']),logger[_0x316c90(0xdb)]({'event':_0x316c90(0xc8),'formatCount':Object['keys'](_0x25282c['columnFormats'])['length'],'formats':Object['keys'](_0x25282c[_0x316c90(0x122)])},_0x1cd259[_0x316c90(0x96)]));if(_0x25282c[_0x316c90(0x93)]&&_0x25282c[_0x316c90(0x93)][_0x316c90(0xe3)]){const {column:_0xbbc6de,value:_0x1db377}=_0x25282c['scopeOverride'];_0x59cedd=_0x59cedd['map'](_0x297f8f=>({..._0x297f8f,[_0xbbc6de]:_0x1db377})),logger['debug']({'event':_0x1cd259['QDmPd'],'column':_0xbbc6de,'rowCount':_0x59cedd['length']},_0x1cd259[_0x316c90(0xe0)]);}const _0x1d6ab5=_0x25282c['lookupFields']?Object[_0x316c90(0xeb)](_0x25282c[_0x316c90(0xc3)])[_0x316c90(0xab)](_0x280ff8=>_0x280ff8['targetField']):[],_0xc3678f=_0x25282c['fieldName'][_0x316c90(0xac)](_0x39dd9d=>!_0x1d6ab5[_0x316c90(0xbe)](_0x39dd9d)),_0x45e66c=excelParser['validateExcelStructure'](_0x59dfb3,_0xc3678f);if(!_0x45e66c['valid']){await fs['unlink'](_0x551d5a[_0x316c90(0x101)]);throw new Error('Excel\x20structure\x20mismatch.\x20Missing\x20fields:\x20'+_0x45e66c['missingFields'][_0x316c90(0xe4)](',\x20'));}const _0x5982b8={'upload_id':_0x1b6978,'filename':_0x551d5a[_0x316c90(0x130)],'total_rows':_0x123c4e,'headers':_0x59dfb3,'rows':_0x59cedd,'params':_0x25282c,'created_at':new Date()['toISOString']()};return await redisHelper['setJob'](_0x316c90(0x9d)+_0x1b6978,_0x5982b8,0xe10),await fs[_0x316c90(0xff)](_0x551d5a['path']),logger[_0x316c90(0x9f)]({'event':_0x1cd259['OGxcx'],'uploadId':_0x1b6978,'filename':_0x551d5a['originalname'],'totalRows':_0x123c4e},_0x316c90(0xae)),{'upload_id':_0x1b6978,'total_rows':_0x123c4e,'preview':_0x59cedd[_0x316c90(0x92)](0x0,0xa)};}catch(_0xf7e431){try{await fs[_0x316c90(0xff)](_0x551d5a['path']);}catch(_0x3ea434){logError(_0x3ea434,{'event':_0x1cd259['LkrDt']},_0x1cd259['skLNj']);}throw _0xf7e431;}}async['createPreviewJob'](_0x135554){const _0x2f083=a0_0x10b27b,_0x4e8579={'mFbxi':'preview_process_error','twaIX':_0x2f083(0xbf),'tkqXx':_0x2f083(0x117)},_0x2b9b00=this['generateId'](),_0x4be09a=await redisHelper[_0x2f083(0x11e)]('upload:'+_0x135554);if(!_0x4be09a)throw new Error(_0x4e8579['twaIX']);const _0x42aa0f={'job_id':_0x2b9b00,'upload_id':_0x135554,'status':_0x4e8579['tkqXx'],'progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x4be09a['params']};return await redisHelper['setJob']('job:'+_0x2b9b00,_0x42aa0f,0xe10),logger[_0x2f083(0x9f)]({'event':'preview_job_created','jobId':_0x2b9b00,'uploadId':_0x135554},_0x2f083(0xec)),this['processPreviewJob'](_0x2b9b00,_0x135554,_0x4be09a)[_0x2f083(0xb6)](_0x41e02f=>{const _0x29a4be=_0x2f083;logError(_0x41e02f,{'event':_0x4e8579['mFbxi'],'jobId':_0x2b9b00},_0x29a4be(0xcc));}),{'job_id':_0x2b9b00,'status':'validating'};}['autoGenerateUpsertKeys'](_0x259cc3,_0x24f2a3){const _0xe5aa1a={'ZLQoa':function(_0x5f0f68,_0x21c50f){return _0x5f0f68===_0x21c50f;},'KagaM':function(_0x10d376,_0xf96310){return _0x10d376===_0xf96310;},'KbPSA':function(_0x55b531,_0x223630){return _0x55b531(_0x223630);},'lRkoA':'uuid_auto_generated'};_0x259cc3['forEach']((_0x4c6c2d,_0x3bb26d)=>{const _0x562c09=a0_0x48e3;_0x24f2a3[_0x562c09(0xd0)](_0x579fe6=>{const _0x20df1a=_0x562c09,_0x2e4ae2=_0x4c6c2d[_0x579fe6];if(_0xe5aa1a[_0x20df1a(0x108)](_0x2e4ae2,null)||_0x2e4ae2===undefined||_0xe5aa1a[_0x20df1a(0xbb)](_0x2e4ae2,'')||_0xe5aa1a['ZLQoa'](_0xe5aa1a[_0x20df1a(0x8c)](String,_0x2e4ae2)['trim'](),'-')){const _0x1ea716=uuidv7();_0x4c6c2d[_0x579fe6]=_0x1ea716,_0x4c6c2d[_0x20df1a(0x91)]=_0x4c6c2d[_0x20df1a(0x91)]||{},_0x4c6c2d['_generated_uuid'][_0x579fe6]=_0x1ea716,logger[_0x20df1a(0xdb)]({'event':_0xe5aa1a['lRkoA'],'rowIndex':_0x3bb26d,'field':_0x579fe6,'uuid':_0x1ea716},'Auto-generated\x20UUID\x20for\x20'+_0x579fe6+'\x20at\x20row\x20'+(_0x3bb26d+0x2));}});});}async['processPreviewJob'](_0x9311aa,_0x30f654,_0x4071f0){const _0xc0268a=a0_0x10b27b,_0x54b77a={'lhavF':_0xc0268a(0x138),'rCmMe':'UPDATE','yKrsf':function(_0x34b259,_0x297091){return _0x34b259===_0x297091;},'ktSyY':_0xc0268a(0x126),'usvqa':function(_0x20876d,_0x1f34db){return _0x20876d>_0x1f34db;},'vsOlD':_0xc0268a(0xe2),'cjfIb':_0xc0268a(0x115),'FWfZU':function(_0xcfa68e,_0x4f1d68){return _0xcfa68e||_0x4f1d68;},'GBMPt':_0xc0268a(0x100)};try{let {rows:_0x1716f9,params:_0x85371a}=_0x4071f0;const {requiredFields:_0x2099c9,validations:_0x5c212d,upsertKeys:_0xea2329,tableName:_0x19d32d,primaryKey:_0x5b0063,fieldName:_0x2543e2,upsertStrategy:_0xf4f3bb,lookupFields:_0x3cb7d2}=_0x85371a;this[_0xc0268a(0x11f)](_0x1716f9,_0xea2329);let _0x3669a8=[];if(_0x3cb7d2&&_0x54b77a[_0xc0268a(0x10b)](Object['keys'](_0x3cb7d2)['length'],0x0)){logger['info']({'event':_0x54b77a[_0xc0268a(0x121)],'jobId':_0x9311aa,'lookupFieldCount':Object['keys'](_0x3cb7d2)[_0xc0268a(0xa7)]},_0x54b77a['cjfIb']);const _0x52982a=await lookupResolver['processLookupFields'](_0x1716f9,_0x3cb7d2);_0x1716f9=_0x52982a[_0xc0268a(0xd1)],_0x3669a8=_0x52982a['errors'],_0x4071f0[_0xc0268a(0xd8)]=_0x1716f9;}const _0x3cba7e=importValidator['batchValidateRows'](_0x1716f9,_0x2099c9||[],_0x54b77a['FWfZU'](_0x5c212d,{}));_0x3669a8[_0xc0268a(0xd0)](_0xd27092=>{const _0x3370d3=_0xc0268a,_0x2f3569=_0x3cba7e['find'](_0x3c7f4b=>_0x3c7f4b['rowIndex']===_0xd27092['rowIndex']);_0x2f3569?_0x2f3569['errors'][_0x3370d3(0xba)](_0xd27092[_0x3370d3(0x11c)]):_0x3cba7e[_0x3370d3(0xba)]({'rowIndex':_0xd27092[_0x3370d3(0x12c)],'rowData':_0x1716f9[_0xd27092['rowIndex']],'errors':[_0xd27092['message']]});});const _0x336f6c=importValidator['detectDuplicatesInFile'](_0x1716f9,_0xea2329);_0x336f6c['forEach'](_0x51091b=>{const _0x3f1bdd=_0xc0268a,_0x13509b=_0x3cba7e['find'](_0x9fb80=>_0x9fb80['rowIndex']===_0x51091b['rowIndex']),_0x1949a6=_0xea2329['map'](_0x538411=>_0x538411['toUpperCase']())['join'](',\x20'),_0x2115ed=_0x3f1bdd(0x129)+_0x1949a6;_0x13509b?_0x13509b[_0x3f1bdd(0xc2)]['push'](_0x2115ed):_0x3cba7e['push']({'rowIndex':_0x51091b[_0x3f1bdd(0x12c)],'rowData':_0x1716f9[_0x51091b[_0x3f1bdd(0x12c)]],'errors':[_0x2115ed]});}),await this[_0xc0268a(0xe1)](_0x1716f9,_0xea2329,_0x19d32d,_0x5b0063,_0xf4f3bb,_0x3cba7e),_0x3cba7e['forEach'](_0x340c0b=>{const _0x4f3da7=_0xc0268a,_0x6f1b1c=_0x1716f9[_0x340c0b[_0x4f3da7(0x12c)]];_0x6f1b1c&&(_0x6f1b1c[_0x4f3da7(0x98)]=_0x340c0b[_0x4f3da7(0xc2)]);});let _0xc8d913=0x0,_0x441385=0x0,_0x53dffa=0x0;_0x1716f9[_0xc0268a(0xd0)](_0x33a53a=>{const _0x41fe34=_0xc0268a;if(_0x33a53a['_action']===_0x54b77a['lhavF'])_0xc8d913++;else{if(_0x33a53a[_0x41fe34(0xfd)]===_0x54b77a[_0x41fe34(0x12d)])_0x441385++;else _0x54b77a['yKrsf'](_0x33a53a['_action'],_0x54b77a['ktSyY'])&&_0x53dffa++;}});const _0x36bd2c={'job_id':_0x9311aa,'upload_id':_0x30f654,'status':_0x54b77a['usvqa'](_0x3cba7e['length'],0x0)?_0xc0268a(0xfa):'preview_ok','progress':0x64,'created_at':_0x4071f0['created_at'],'completed_at':new Date()[_0xc0268a(0x11a)](),'preview':{'total_rows':_0x1716f9['length'],'insert_count':_0xc8d913,'update_count':_0x441385,'skip_count':_0x53dffa,'error_count':_0x3cba7e['length'],'errors':_0x3cba7e,'data':_0x1716f9,'sample_insert':_0x1716f9[_0xc0268a(0xac)](_0x1b9de8=>_0x1b9de8[_0xc0268a(0xfd)]==='INSERT')[_0xc0268a(0x92)](0x0,0x5),'sample_update':_0x1716f9[_0xc0268a(0xac)](_0x57024f=>_0x57024f[_0xc0268a(0xfd)]===_0xc0268a(0xad))['slice'](0x0,0x5),'sample_skip':_0x1716f9[_0xc0268a(0xac)](_0x4a4bb1=>_0x4a4bb1['_action']===_0xc0268a(0x126))[_0xc0268a(0x92)](0x0,0x5)},'params':_0x85371a};await redisHelper[_0xc0268a(0xc0)](_0xc0268a(0x111)+_0x9311aa,_0x36bd2c,0xe10),_0x4071f0['rows']=_0x1716f9,await redisHelper[_0xc0268a(0xc0)]('upload:'+_0x30f654,_0x4071f0,0xe10),logger['info']({'event':_0xc0268a(0xb2),'jobId':_0x9311aa,'status':_0x36bd2c['status'],'insertCount':_0xc8d913,'updateCount':_0x441385,'skipCount':_0x53dffa,'errorCount':_0x3cba7e['length']},'Preview\x20job\x20completed');}catch(_0x5839d8){logError(_0x5839d8,{'event':'preview_job_failed','jobId':_0x9311aa},_0x54b77a[_0xc0268a(0xce)]),await redisHelper[_0xc0268a(0xc0)](_0xc0268a(0x111)+_0x9311aa,{'job_id':_0x9311aa,'upload_id':_0x30f654,'status':_0xc0268a(0xaa),'progress':0x0,'error':_0x5839d8[_0xc0268a(0x11c)],'created_at':new Date()['toISOString'](),'completed_at':new Date()['toISOString']()},0xe10);}}async[a0_0x10b27b(0xe1)](_0x3519c8,_0x5b5e3a,_0x19d461,_0x5a2869,_0x388360='update_existing',_0x173d9d=[]){const _0x4d05df=a0_0x10b27b,_0x243319={'YwTcN':'NULL','VefXZ':_0x4d05df(0x107),'lGuOs':function(_0x5c110c,_0x266f8e){return _0x5c110c===_0x266f8e;},'kFctm':'update_existing','SXXSq':_0x4d05df(0x138),'LqNDa':_0x4d05df(0xa5),'nUaMh':_0x4d05df(0xe9)},_0xd1f06e=upsertBuilder[_0x4d05df(0x105)](_0x3519c8,0x64);for(const _0x58d7d7 of _0xd1f06e){const _0x4ae832=_0x58d7d7[_0x4d05df(0xab)](_0x10a7ac=>_0x10a7ac[_0x5b5e3a[0x0]]),_0x310ac3=_0x4ae832['map'](_0x4e14cf=>{if(_0x4e14cf===null||_0x4e14cf===undefined)return _0x243319['YwTcN'];return'\x27'+String(_0x4e14cf)['replace'](/'/g,'\x27\x27')+'\x27';}),_0x3fa109='\x0a\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20'+_0x5a2869+',\x20'+_0x5b5e3a['join'](',\x20')+_0x4d05df(0x133)+_0x19d461+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20'+_0x5b5e3a[0x0]+'\x20IN\x20('+_0x310ac3['join'](',\x20')+')\x0a\x20\x20\x20\x20\x20\x20';let _0x1a847a=await executeQuery(_0x3fa109);dbType===_0x243319[_0x4d05df(0xa9)]&&_0x1a847a&&_0x1a847a['length']>0x0&&(_0x1a847a=_0x1a847a['map'](_0x25c567=>{const _0x3aab43=_0x4d05df,_0xe1f6bf={};for(const [_0x295407,_0x20467b]of Object[_0x3aab43(0x8e)](_0x25c567)){_0xe1f6bf[_0x295407[_0x3aab43(0x10c)]()]=_0x20467b;}return _0xe1f6bf;}));const _0x2750c0=new Map();_0x1a847a['forEach'](_0x577d43=>{const _0x20fc80=_0x577d43[_0x5b5e3a[0x0]];_0x2750c0['set'](_0x20fc80,_0x577d43);}),_0x58d7d7[_0x4d05df(0xd0)]((_0x38e900,_0x421075)=>{const _0xb0a875=_0x4d05df,_0x109974=_0x38e900[_0x5b5e3a[0x0]],_0x3c339f=_0x2750c0[_0xb0a875(0xd7)](_0x109974);if(_0x3c339f){if(_0x388360===_0xb0a875(0xb7))_0x38e900[_0xb0a875(0xfd)]=_0xb0a875(0xad),_0x38e900[_0xb0a875(0xef)]=_0x3c339f[_0x5a2869];else{if(_0x388360===_0x243319['VefXZ']){_0x38e900[_0xb0a875(0xfd)]='SKIP',_0x38e900['_errors']=_0x38e900['_errors']||[],_0x38e900[_0xb0a875(0x98)][_0xb0a875(0xba)](_0xb0a875(0x118));const _0x2b3c80=_0x3519c8[_0xb0a875(0x94)](_0x38e900);_0x2b3c80!==-0x1&&_0x173d9d['push']({'rowIndex':_0x2b3c80,'rowData':_0x38e900,'errors':[_0xb0a875(0x118)]});}else _0x243319['lGuOs'](_0x388360,'skip_existing')&&(_0x38e900[_0xb0a875(0xfd)]=_0xb0a875(0x126));}}else{if(_0x388360===_0x243319[_0xb0a875(0xb0)])_0x38e900[_0xb0a875(0xfd)]=_0x243319['SXXSq'];else(_0x388360===_0x243319['VefXZ']||_0x388360===_0x243319['LqNDa'])&&(_0x38e900['_action']=_0xb0a875(0x138));}});}}async[a0_0x10b27b(0x123)](_0x225ced){const _0x2267b8=a0_0x10b27b,_0x25515b={'eVkcP':_0x2267b8(0xc5),'ZTosP':_0x2267b8(0x10f),'YOajV':function(_0x4fd835,_0x4c38e2){return _0x4fd835!==_0x4c38e2;},'UcrLu':'processing'},_0x48726c=this[_0x2267b8(0xc4)](),_0x471cbf=await redisHelper['getJob']('job:'+_0x225ced);if(!_0x471cbf)throw new Error(_0x25515b['ZTosP']);if(_0x25515b['YOajV'](_0x471cbf['status'],_0x2267b8(0xfb)))throw new Error(_0x2267b8(0x124)+_0x471cbf['status']);const _0x3df6b2={'job_id':_0x48726c,'upload_id':_0x471cbf[_0x2267b8(0xa3)],'preview_job_id':_0x225ced,'status':'processing','progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x471cbf[_0x2267b8(0xf4)]};return await redisHelper['setJob']('job:'+_0x48726c,_0x3df6b2,0xe10),logger[_0x2267b8(0x9f)]({'event':_0x2267b8(0xd3),'jobId':_0x48726c,'previewJobId':_0x225ced},_0x2267b8(0x127)),this['processCommitJob'](_0x48726c,_0x471cbf)[_0x2267b8(0xb6)](_0x5e0cdc=>{const _0x3bea72=_0x2267b8;logError(_0x5e0cdc,{'event':_0x25515b[_0x3bea72(0xbc)],'jobId':_0x48726c},'Commit\x20processing\x20failed');}),{'job_id':_0x48726c,'status':_0x25515b['UcrLu']};}async['processCommitJob'](_0x1dccd8,_0x411b4d){const _0x33332a=a0_0x10b27b,_0x536c5f={'jKuOA':function(_0x5dc7f3,_0x441b72){return _0x5dc7f3===_0x441b72;},'AhuAE':'insert','DjdGP':_0x33332a(0xbf),'xOEoh':_0x33332a(0x102),'hHOuR':function(_0x1548da,_0x17622d){return _0x1548da>_0x17622d;},'fBeTN':function(_0x254bd3,_0x31732a){return _0x254bd3||_0x31732a;},'ormTj':'update','RqknH':_0x33332a(0xa8),'hheVD':'failed'};try{const _0x6bccff=await redisHelper['getJob'](_0x33332a(0x9d)+_0x411b4d[_0x33332a(0xa3)]);if(!_0x6bccff)throw new Error(_0x536c5f[_0x33332a(0x8b)]);const {rows:_0x48acb5,params:_0x30b4c2}=_0x6bccff,{tableName:_0x3803c1,fieldName:_0x27531d,primaryKey:_0x3d5371,upsertKeys:_0x55388a,excludeFromImport:_0x2759ae,lookupFields:_0x1140aa,columnFormats:_0x251eb6}=_0x30b4c2,_0x2b5b74=_0x1140aa?Object['keys'](_0x1140aa):[],_0x25fce6=new Set([..._0x2759ae||[],..._0x2b5b74]);let _0x180767=_0x27531d;_0x25fce6[_0x33332a(0x12a)]>0x0&&(_0x180767=_0x27531d[_0x33332a(0xac)](_0x4ee561=>!_0x25fce6['has'](_0x4ee561)),logger[_0x33332a(0xdb)]({'event':_0x536c5f['xOEoh'],'originalCount':_0x27531d[_0x33332a(0xa7)],'filteredCount':_0x180767['length'],'excludedFields':Array['from'](_0x25fce6),'lookupSourceFields':_0x2b5b74},_0x33332a(0x12b)));const _0x353186=_0x48acb5['filter'](_0x43fb38=>_0x43fb38['_action']==='INSERT'),_0x494d33=_0x48acb5['filter'](_0x3ca7da=>_0x3ca7da[_0x33332a(0xfd)]===_0x33332a(0xad));let _0x174113=0x0,_0x639f91=0x0;const _0x1dcd01=[];if(_0x536c5f[_0x33332a(0xee)](_0x353186[_0x33332a(0xa7)],0x0)){const _0x245f30=upsertBuilder[_0x33332a(0x105)](_0x353186,0x64);for(const _0x49e735 of _0x245f30){const {query:_0x2ec7b9}=upsertBuilder[_0x33332a(0xcd)](_0x49e735,_0x3803c1,_0x180767,_0x251eb6||{});_0x2ec7b9&&_0x1dcd01['push']({'sql':_0x2ec7b9,'count':_0x49e735[_0x33332a(0xa7)],'type':_0x536c5f[_0x33332a(0xfe)]});}}if(_0x536c5f[_0x33332a(0xee)](_0x494d33[_0x33332a(0xa7)],0x0)){const _0x3fed37=upsertBuilder['chunkRows'](_0x494d33,0x64);for(const _0x13736 of _0x3fed37){const {query:_0x2ea2e2}=upsertBuilder[_0x33332a(0x11d)](_0x13736,_0x3803c1,_0x180767,_0x3d5371,_0x55388a,_0x536c5f['fBeTN'](_0x251eb6,{}));_0x2ea2e2&&_0x1dcd01[_0x33332a(0xba)]({'sql':_0x2ea2e2,'count':_0x13736[_0x33332a(0xa7)],'type':_0x536c5f[_0x33332a(0xbd)]});}}_0x1dcd01['length']>0x0&&await executeTransaction(_0x1dcd01['map'](_0x5e1459=>({'sql':_0x5e1459[_0x33332a(0x119)],'params':[]})));_0x1dcd01[_0x33332a(0xd0)](_0x5adc4e=>{const _0x2e5ef3=_0x33332a;if(_0x536c5f[_0x2e5ef3(0x12e)](_0x5adc4e[_0x2e5ef3(0xa2)],_0x536c5f['AhuAE']))_0x174113+=_0x5adc4e[_0x2e5ef3(0xdd)];else _0x639f91+=_0x5adc4e[_0x2e5ef3(0xdd)];});const _0x3a9f7f={'job_id':_0x1dccd8,'upload_id':_0x411b4d[_0x33332a(0xa3)],'preview_job_id':_0x411b4d[_0x33332a(0xea)],'status':'completed','progress':0x64,'created_at':_0x411b4d['created_at'],'started_at':new Date()[_0x33332a(0x11a)](),'completed_at':new Date()[_0x33332a(0x11a)](),'result':{'total_rows':_0x48acb5[_0x33332a(0xa7)],'inserted_rows':_0x174113,'updated_rows':_0x639f91,'skipped_rows':0x0,'failed_rows':0x0,'errors':[]},'params':_0x30b4c2};await redisHelper['setJob'](_0x33332a(0x111)+_0x1dccd8,_0x3a9f7f,0xe10),logger[_0x33332a(0x9f)]({'event':_0x536c5f[_0x33332a(0x97)],'jobId':_0x1dccd8,'insertedCount':_0x174113,'updatedCount':_0x639f91},_0x33332a(0xe5));}catch(_0x1b2e0b){logError(_0x1b2e0b,{'event':_0x33332a(0xb9),'jobId':_0x1dccd8},'Commit\x20job\x20failed'),await redisHelper[_0x33332a(0xc0)]('job:'+_0x1dccd8,{'job_id':_0x1dccd8,'upload_id':_0x411b4d[_0x33332a(0xa3)],'preview_job_id':_0x411b4d['job_id'],'status':_0x536c5f[_0x33332a(0x9e)],'progress':0x0,'error':_0x1b2e0b['message'],'created_at':_0x411b4d['created_at'],'started_at':new Date()[_0x33332a(0x11a)](),'completed_at':new Date()[_0x33332a(0x11a)]()},0xe10);}}async[a0_0x10b27b(0x132)](_0x198d8f){const _0x1651de=a0_0x10b27b,_0xf33f3d=await redisHelper[_0x1651de(0x11e)]('job:'+_0x198d8f);if(!_0xf33f3d)return{'success':![],'error':'Job\x20not\x20found\x20or\x20expired'};return{'success':!![],'data':_0xf33f3d};}}module['exports']=new ImportService();
1
+ function a0_0x1386(){const _0x155267=['uhPgtfq','lI4VDxrPBhmVzxHJzwWTCgfYC2vY','whDSC0K','ChjLDMLLD19QB2jFy3jLyxrLza','sw1WB3j0igzPzwXKCYbMAwX0zxjLzcaOzxHJBhvKzwqGBg9VA3vWihnVDxjJzsbJB2X1Bw5Zkq','DMfSAwrHDgvfEgnLBfn0CNvJDhvYzq','DxbKyxrLx2v4Axn0Aw5N','CMvWBgfJzq','vxbSB2fKigrHDgeGBM90igzVDw5Kig9Yigv4CgLYzwq','Cg9ZDgDYzxnXBa','EwDotfe','r1bgC3e','BxLZCwW','r3HZsfu','q29TBwL0igPVyIbJCMvHDgvK','y3jLyxrLzf9HDa','zMLUza','ChjLDMLLD19WCM9JzxnZx2vYCM9Y','x2vYCM9YCW','zMfSC2u','uxD5yM4','zM9YrwfJAa','uhjLDMLLDYbQB2iGy29TCgXLDgvK','zxHLy3v0zvf1zxj5','mty5otu3n0TTC0PfqG','vKjlvwy','rfvmuMW','mJjtzhbJC3G','ChjVy2vZC0XVB2T1CezPzwXKCW','mJaYmKfnD25Nta','mZi1mdG4ohfwEezSBa','CenUCu0','z2v0sM9Iu3rHDhvZ','zMfPBgvK','rMD0Aue','CM93sw5KzxG','zKzuwvK','mtvfvNbnwhm','ywvst2y','zgvMyxvSDa','tLvmta','kqOGicaGica','q29TBwL0igPVyIbMywLSzwq','Dg9ju09tDhjPBMC','q3HrrxK','zM9YBwf0qM9VBgvHBKzVCKrHDgfIyxnL','suvbAw0','AM9PBG','Aw5MBW','ww1OEeG','BNvTyMvY','Au54vhK','yxbWBhLdB2X1Bw5gB3jTyxrZ','zw52','ChjLDMLLD19QB2jFzMfPBgvK','EwvZ','C2TPCf9LEgLZDgLUzW','AMjsuMq','y2LYD0O','C2zrz24','ChjVy2vZC2LUzW','DhjPBq','DhLWzq','Ee9xC2O','Dg9vChbLCKnHC2u','ChvZAa','Dujis24','rejFvfLqrq','DxbSB2fKoG','q29SDw1UigzVCM1HDhmGyxbWBgLLzcb0BYbYB3DZ','q29TBwL0igPVyIbJB21WBgv0zwq','x2v4Axn0Aw5Nswq','DMfSAwrHDgLUzW','uMvJB3jKigv4Axn0CYaOAw5Zzxj0x29UBhKGBw9KzsK','Aw5Zzxj0x29UBhK','AgfZ','Cgf0Aa','ndq2u3fyyLH3','DgvZDa','DxbSB2fKx2LK','CKrLAe8','AM9Ix2LK','mJa4odH2Bwzqr0e','ChDrCu8','r2DfvLm','yMXhzxm','Afzryxi','wLzSy0y','su5trvju','igf0ihjVDYa','Dg9mB3DLCKnHC2u','Aw1WB3j0x2zPzwXKC19MAwX0zxjLza','DgfYz2v0rMLLBgq','vvbeqvrf','C2XPy2u','CgfKu3rHCNq','s0r1AMS','Aw5Zzxj0','y2H1BMTsB3DZ','Dg9tDhjPBMC','x3vWBg9HzerPCG','Aw1WB3j0x2zPBgvFDxbSB2fKzwq','y29TBwL0x2PVyL9JCMvHDgvK','zM9YBwf0tNvTyMvYrM9Yrgf0ywjHC2u','y3jLyxrLuhjLDMLLD0PVyG','z3vWquK','yNvPBgrmywjLBfrVrMLLBgrnyxa','mJK3odq0zLvSEej6','A2v5CW','uMvXDwvZDcbZy29WzsbVDMvYCMLKzsbHChbSAwvKihrVigLTCg9YDgvKihjVD3m','odeYnti5quPWshfR','rxHJzwWGC3rYDwn0DxjLig1PC21HDgnOlIbnAxnZAw5NigzPzwXKCZOG','zgv0zwn0rhvWBgLJyxrLC0LUrMLSzq','x2fJDgLVBG','ChjVy2vZC1bYzxzPzxDkB2i','Dw5SAw5R','zwHwtMW','CM93CW','BwLZC2LUz0zPzwXKCW','vwTUB1q','CKz4vxm','weXkC1e','C2L6zq','r29SzLy','z2v0sM9I','y29TBwL0x2PVyL9JB21WBgv0zwq','y29SDw1Ux2zVCM1HDhnFyxbWBgLLza','y2HHCKf0','y29SDw1UrM9YBwf0CW','BwfW','zgvIDwC','zMXVB3i','yMf0y2HwywXPzgf0zvjVD3m','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','v3vQzvm','C3rHDhvZ','C3fS','q29TBwL0ihbYB2nLC3nPBMCGzMfPBgvK','ChjLDMLLD19QB2jFy29TCgXLDgvK','zxjYB3jZ','vNfqEuy','C2v0sM9I','lI4VDxrPBhmVDxbZzxj0lwj1AwXKzxi','rxHJzwWGAgvHzgvYCYbTyxbWzwqGDg8GzMLLBgqGBMfTzxm','z2v0rNvSBfLLyxi','yM9VBgvHBG','DgHKtxu','BwvZC2fNzq','Bwf0y2G','BgfIzwXFDg9FzMLLBgrFBwfWx2j1AwX0','Eu9gAum','rhvWBgLJyxrLihzHBhvLigzVCIa','ugfkDee','zM9YBwf0rgf0zuzVCKrHDgfIyxnL','Aw5JBhvKzxm','u0Tjua','zgv0zwn0rgf0ywjHC2veDxbSAwnHDgvZ','BgvUz3rO','lI4VDxrPBhmVzgiTBxLZCwW','B3jPz2LUywXUyw1L','y29TCgXLDgvK','zw50CMLLCW','zxHLy3v0zvrYyw5Zywn0Aw9U','z2vUzxjHDgvjza','wNHiz2G','ChjVy2vZC0nVBw1PDePVyG','z2v0rgf0zq','cIaGicaGicaGrLjptsa','DxvPzf9HDxrVx2DLBMvYyxrLza','mJm4ntuXm294BKTAEG','CgfYyw1Z','AM9IoG','z2v0','C2v0','y291BNq','AgvHzgvYC19TyxbWzwq','zMLLBgroyw1L','v054zfa','C3rYAw5N','zMLSDgvY','ChjLDMLLD19VAW','yxHltNO','yNvPBgrcyxrJAeLUC2vYDa','mtbnreXqDgO'];a0_0x1386=function(){return _0x155267;};return a0_0x1386();}const a0_0x3f9528=a0_0x2d66;(function(_0x28f3fc,_0x208931){const _0x48b399=a0_0x2d66,_0x19c067=_0x28f3fc();while(!![]){try{const _0x4011b3=parseInt(_0x48b399(0x208))/0x1*(parseInt(_0x48b399(0x23a))/0x2)+-parseInt(_0x48b399(0x25b))/0x3+-parseInt(_0x48b399(0x258))/0x4*(parseInt(_0x48b399(0x212))/0x5)+-parseInt(_0x48b399(0x20a))/0x6*(-parseInt(_0x48b399(0x23f))/0x7)+parseInt(_0x48b399(0x20b))/0x8+-parseInt(_0x48b399(0x1de))/0x9+parseInt(_0x48b399(0x1ec))/0xa*(-parseInt(_0x48b399(0x205))/0xb);if(_0x4011b3===_0x208931)break;else _0x19c067['push'](_0x19c067['shift']());}catch(_0x583b75){_0x19c067['push'](_0x19c067['shift']());}}}(a0_0x1386,0x7ad2d));const {v7:uuidv7}=require('uuid'),path=require('path'),fs=require('fs')['promises'],redisHelper=require('../utils/redis-helper'),{logger,logError}=require('../utils/logger'),dbType=(process['env'][a0_0x3f9528(0x230)]||a0_0x3f9528(0x1f6))[a0_0x3f9528(0x247)]();let executeQuery,executeTransaction,oracleDb;function a0_0x2d66(_0x5a526e,_0x4d2a65){_0x5a526e=_0x5a526e-0x1c1;const _0x138620=a0_0x1386();let _0x2d665f=_0x138620[_0x5a526e];if(a0_0x2d66['GPScMw']===undefined){var _0x256f5a=function(_0x5a7e5f){const _0x579d12='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2d7b7c='',_0x38d401='';for(let _0x424ef0=0x0,_0x479fb7,_0x10ede5,_0x97ae71=0x0;_0x10ede5=_0x5a7e5f['charAt'](_0x97ae71++);~_0x10ede5&&(_0x479fb7=_0x424ef0%0x4?_0x479fb7*0x40+_0x10ede5:_0x10ede5,_0x424ef0++%0x4)?_0x2d7b7c+=String['fromCharCode'](0xff&_0x479fb7>>(-0x2*_0x424ef0&0x6)):0x0){_0x10ede5=_0x579d12['indexOf'](_0x10ede5);}for(let _0x74af04=0x0,_0x2bc7ec=_0x2d7b7c['length'];_0x74af04<_0x2bc7ec;_0x74af04++){_0x38d401+='%'+('00'+_0x2d7b7c['charCodeAt'](_0x74af04)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x38d401);};a0_0x2d66['LwPAMw']=_0x256f5a,a0_0x2d66['DMkamw']={},a0_0x2d66['GPScMw']=!![];}const _0x527c29=_0x138620[0x0],_0x209f14=_0x5a526e+_0x527c29,_0x1c8b49=a0_0x2d66['DMkamw'][_0x209f14];return!_0x1c8b49?(_0x2d665f=a0_0x2d66['LwPAMw'](_0x2d665f),a0_0x2d66['DMkamw'][_0x209f14]=_0x2d665f):_0x2d665f=_0x1c8b49,_0x2d665f;}if(dbType==='oracle')oracleDb=require('../utils/db-oracle'),executeQuery=(_0x383f3b,_0x2647b5)=>oracleDb['executeQuery'](_0x383f3b,_0x2647b5),executeTransaction=_0x4202cd=>oracleDb['executeTransaction'](_0x4202cd);else{if(dbType===a0_0x3f9528(0x1f9)){const mysqlDb=require(a0_0x3f9528(0x1d3));executeQuery=(_0xb1972f,_0x51b1d4)=>mysqlDb[a0_0x3f9528(0x204)](_0xb1972f,_0x51b1d4),executeTransaction=_0x52752f=>mysqlDb['executeTransaction'](_0x52752f);}else{const db=require('../utils/db');executeQuery=db['executeQuery'],executeTransaction=db[a0_0x3f9528(0x1d7)];}}const excelParser=require(a0_0x3f9528(0x1ee)),importValidator=require('../utils/import-validator'),upsertBuilder=require(a0_0x3f9528(0x1c3)),lookupResolver=require('../utils/lookup-resolver');class ImportService{constructor(){const _0x4fa2c1=a0_0x3f9528;this[_0x4fa2c1(0x251)]=null;}get['uploadDir'](){const _0x1eab19=a0_0x3f9528,_0x437f17={'FgtiA':_0x1eab19(0x214)};if(!this[_0x1eab19(0x251)]){const _0x52abd8=process['env'][_0x1eab19(0x272)]||_0x437f17[_0x1eab19(0x20f)];this[_0x1eab19(0x251)]=process[_0x1eab19(0x222)]['UPLOAD_DIR']||path['join'](__dirname,'../../temp/uploads/'+_0x52abd8);}return this['_uploadDir'];}['generateId'](){const _0x2d55ba=a0_0x3f9528,_0x141cbf={'axKNz':function(_0x3dd4b6){return _0x3dd4b6();},'KMhEW':function(_0x53347b,_0x50d981){return _0x53347b-_0x50d981;}},_0x15ed5f='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789',_0x2def3f=Date['now']()[_0x2d55ba(0x250)](0x24),_0xdb9035=_0x141cbf[_0x2d55ba(0x1ea)](uuidv7)['replace'](/-/g,'')['substring'](0x0,_0x141cbf['KMhEW'](0xc,_0x2def3f[_0x2d55ba(0x1d2)])),_0x30f4c5=(_0x2def3f+_0xdb9035)['substring'](0x0,0xc);let _0x46d34e='';for(let _0x373978=0x0;_0x373978<0xc;_0x373978++){_0x30f4c5[_0x373978]?_0x46d34e+=_0x30f4c5[_0x373978]:_0x46d34e+=_0x15ed5f[_0x2d55ba(0x26c)](Math[_0x2d55ba(0x270)](Math['random']()*_0x15ed5f[_0x2d55ba(0x1d2)]));}return _0x46d34e;}['buildLabelToFieldMap'](_0x187b03){const _0x2bb4bb=a0_0x3f9528,_0x469c89={'GxsHU':function(_0x2d4b15,_0x44dc9b){return _0x2d4b15(_0x44dc9b);},'sqvtk':'$1_$2'},_0x31cb44=new Map();if(!_0x187b03)return _0x31cb44;return Object['entries'](_0x187b03)[_0x2bb4bb(0x202)](([_0x24cfc8,_0x377df6])=>{const _0x5b5041=_0x2bb4bb,_0x2621f3=_0x469c89[_0x5b5041(0x1fa)](String,_0x377df6)[_0x5b5041(0x22a)]()[_0x5b5041(0x1f4)](/\s+/g,'_')['replace'](/([a-z])([A-Z])/g,_0x469c89['sqvtk'])['replace'](/([A-Z]+)([A-Z][a-z])/g,_0x469c89['sqvtk'])[_0x5b5041(0x247)]();_0x31cb44['set'](_0x2621f3,_0x24cfc8);}),logger[_0x2bb4bb(0x26f)]({'event':_0x2bb4bb(0x1ca),'mappingCount':_0x31cb44[_0x2bb4bb(0x267)]},'Label\x20to\x20field\x20mapping\x20built'),_0x31cb44;}['applyColumnFormats'](_0x27a4fc,_0x2d95a3){const _0x2c9ca1=a0_0x3f9528,_0x25e1bc={'bmCka':function(_0x23f667,_0x530317){return _0x23f667===_0x530317;},'pzcAH':function(_0x5ef56a,_0x5b8cba){return _0x5ef56a===_0x5b8cba;},'xOWsj':_0x2c9ca1(0x21f),'pWQGn':_0x2c9ca1(0x1c6)};if(!_0x2d95a3||Object['keys'](_0x2d95a3)['length']===0x0)return _0x27a4fc;return _0x27a4fc[_0x2c9ca1(0x26e)](_0x97d80a=>{const _0x4ea730=_0x2c9ca1,_0x4fc2d8={..._0x97d80a};for(const [_0x2a12d4,_0x2d10c3]of Object[_0x4ea730(0x1d6)](_0x2d95a3)){const _0x25952a=_0x4fc2d8[_0x2a12d4];if(_0x25e1bc['bmCka'](_0x25952a,null)||_0x25952a===undefined||_0x25e1bc['pzcAH'](_0x25952a,'')){_0x4fc2d8[_0x2a12d4]=null;continue;}switch(_0x2d10c3['type']){case'date':_0x4fc2d8[_0x2a12d4]=this[_0x4ea730(0x1ce)](_0x25952a);break;case _0x25e1bc[_0x4ea730(0x22c)]:_0x4fc2d8[_0x2a12d4]=this[_0x4ea730(0x254)](_0x25952a);break;case _0x25e1bc['pWQGn']:_0x4fc2d8[_0x2a12d4]=this[_0x4ea730(0x21a)](_0x25952a);break;case'text':_0x4fc2d8[_0x2a12d4]=String(_0x25952a);break;default:break;}}return _0x4fc2d8;});}[a0_0x3f9528(0x1ce)](_0x39a6f0){const _0x3ff429=a0_0x3f9528,_0x320190={'aeROf':function(_0x16675d,_0x330fc9){return _0x16675d===_0x330fc9;},'vUkxz':'string','aTJyI':function(_0x344613,_0x2afaa8){return _0x344613 instanceof _0x2afaa8;},'hVQar':function(_0x4017ef,_0xa6497a){return _0x4017ef(_0xa6497a);},'GgEVS':function(_0x48c86a,_0x50d7fe){return _0x48c86a(_0x50d7fe);},'thdMu':function(_0x27228e,_0x5b4c98){return _0x27228e(_0x5b4c98);},'ygNLQ':function(_0x5a93ca,_0x53553a){return _0x5a93ca(_0x53553a);}};if(_0x39a6f0===null||_0x39a6f0===undefined||_0x320190[_0x3ff429(0x213)](_0x39a6f0,''))return null;if(typeof _0x39a6f0===_0x320190['vUkxz']&&/^\d{4}-\d{2}-\d{2}$/[_0x3ff429(0x23b)](_0x39a6f0))return _0x39a6f0;if(_0x320190['aTJyI'](_0x39a6f0,Date)){if(_0x320190['hVQar'](isNaN,_0x39a6f0['getTime']()))return null;const _0x444eac=_0x39a6f0[_0x3ff429(0x1c5)](),_0x25da2b=_0x320190['GgEVS'](String,_0x39a6f0['getMonth']()+0x1)[_0x3ff429(0x24c)](0x2,'0'),_0xfd8e19=_0x320190[_0x3ff429(0x243)](String,_0x39a6f0[_0x3ff429(0x1db)]())['padStart'](0x2,'0');return _0x444eac+'-'+_0x25da2b+'-'+_0xfd8e19;}if(typeof _0x39a6f0===_0x320190['vUkxz']){const _0x50f4bf=_0x39a6f0['match'](/^(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})$/);if(_0x50f4bf){const _0x407baa=_0x320190['thdMu'](String,_0x50f4bf[0x1])['padStart'](0x2,'0'),_0x589bb9=_0x320190[_0x3ff429(0x241)](String,_0x50f4bf[0x2])[_0x3ff429(0x24c)](0x2,'0'),_0x2045f3=_0x50f4bf[0x3];return _0x2045f3+'-'+_0x589bb9+'-'+_0x407baa;}const _0x221459=_0x39a6f0[_0x3ff429(0x1c9)](/^(\d{4})[\/\-](\d{1,2})[\/\-](\d{1,2})$/);if(_0x221459){const _0x63992c=_0x221459[0x1],_0x49f246=_0x320190[_0x3ff429(0x1c7)](String,_0x221459[0x2])['padStart'](0x2,'0'),_0x132c18=_0x320190[_0x3ff429(0x1f7)](String,_0x221459[0x3])[_0x3ff429(0x24c)](0x2,'0');return _0x63992c+'-'+_0x49f246+'-'+_0x132c18;}}return _0x39a6f0;}[a0_0x3f9528(0x254)](_0x1a7606){const _0x4309f0=a0_0x3f9528,_0x463c6d={'blGes':function(_0x7b6d6d,_0x1dea35){return _0x7b6d6d===_0x1dea35;},'ZVlcF':function(_0x2c7767,_0x503130){return _0x2c7767(_0x503130);},'KDujk':_0x4309f0(0x1e7),'pwQqO':function(_0x250d04,_0x3cbc56){return _0x250d04(_0x3cbc56);}};if(_0x1a7606===null||_0x1a7606===undefined||_0x463c6d[_0x4309f0(0x242)](_0x1a7606,''))return null;if(typeof _0x1a7606==='number')return _0x463c6d['ZVlcF'](isNaN,_0x1a7606)?null:_0x1a7606;if(_0x463c6d['blGes'](typeof _0x1a7606,_0x463c6d[_0x4309f0(0x24d)])){let _0x46a183=_0x1a7606['trim']();const _0x209ce4=/,\d{1,2}$/['test'](_0x46a183)&&!/,\d{3}/[_0x4309f0(0x23b)](_0x46a183);_0x209ce4?_0x46a183=_0x46a183[_0x4309f0(0x1f4)](/\./g,'')['replace'](',','.'):_0x46a183=_0x46a183['replace'](/,/g,'');const _0x51ba93=_0x463c6d[_0x4309f0(0x240)](parseFloat,_0x46a183);return _0x463c6d[_0x4309f0(0x244)](isNaN,_0x51ba93)?null:_0x51ba93;}return null;}['formatBooleanForDatabase'](_0x475b3a){const _0xe3c7d8=a0_0x3f9528,_0x165056={'cirwJ':function(_0x25deb6,_0x319c30){return _0x25deb6===_0x319c30;},'PaJtA':function(_0x44531d,_0x46b3f9){return _0x44531d===_0x46b3f9;},'GolfV':'true','QXQnk':_0xe3c7d8(0x200)};if(_0x475b3a===null||_0x165056[_0xe3c7d8(0x227)](_0x475b3a,undefined)||_0x165056[_0xe3c7d8(0x1cd)](_0x475b3a,''))return null;if(_0x165056[_0xe3c7d8(0x1cd)](typeof _0x475b3a,_0xe3c7d8(0x1c6)))return _0x475b3a?_0x165056['GolfV']:_0x165056['QXQnk'];if(_0x165056['PaJtA'](typeof _0x475b3a,'string')){const _0x3d30e7=_0x475b3a['trim']()[_0xe3c7d8(0x247)]();if([_0x165056[_0xe3c7d8(0x268)],_0xe3c7d8(0x224),'y','1']['includes'](_0x3d30e7))return'true';if(['false','no','n','0'][_0xe3c7d8(0x1cf)](_0x3d30e7))return'false';return null;}if(typeof _0x475b3a===_0xe3c7d8(0x21f))return _0x475b3a?_0x165056[_0xe3c7d8(0x268)]:_0x165056['QXQnk'];return null;}async['uploadFile'](_0x26bad9,_0x4449e4){const _0x1aa309=a0_0x3f9528,_0x4c066f={'XwlsI':function(_0x4d21c6,_0x40dbeb){return _0x4d21c6||_0x40dbeb;},'WujeS':function(_0x4ba4ca,_0xf523e6){return _0x4ba4ca>_0xf523e6;},'yOFiC':_0x1aa309(0x232),'dbSNf':_0x1aa309(0x25a),'UknoT':_0x1aa309(0x252),'ODGoW':'Import\x20file\x20uploaded\x20and\x20parsed'},_0x2ecd41=this[_0x1aa309(0x1d8)]();try{let {headers:_0x3992a1,rows:_0x563dbe,totalRows:_0x1b3e75}=await excelParser['parseExcelFile'](_0x26bad9[_0x1aa309(0x239)]);const _0x9a7753=this[_0x1aa309(0x257)](_0x4449e4['fieldLabels']),_0x53489a=_0x3992a1[_0x1aa309(0x26e)](_0x5a9f89=>{const _0x506169=_0x1aa309,_0x571d9a=_0x9a7753[_0x506169(0x1e1)](_0x5a9f89);return _0x4c066f[_0x506169(0x1ef)](_0x571d9a,_0x5a9f89);});_0x563dbe=_0x563dbe['map'](_0x5112ac=>{const _0x42e9bb={};return _0x3992a1['forEach']((_0x5d6b23,_0x1ad105)=>{const _0x2970e1=_0x53489a[_0x1ad105];_0x42e9bb[_0x2970e1]=_0x5112ac[_0x5d6b23];}),_0x42e9bb;}),_0x3992a1=_0x53489a,logger['debug']({'event':_0x1aa309(0x1e4),'original':_0x3992a1['length'],'mapped':_0x53489a['filter']((_0x49bc0d,_0xb7f616)=>_0x49bc0d!==_0x3992a1[_0xb7f616])[_0x1aa309(0x1d2)]},_0x1aa309(0x1c4));_0x4449e4['columnFormats']&&_0x4c066f[_0x1aa309(0x273)](Object['keys'](_0x4449e4[_0x1aa309(0x26d)])[_0x1aa309(0x1d2)],0x0)&&(_0x563dbe=this[_0x1aa309(0x221)](_0x563dbe,_0x4449e4[_0x1aa309(0x26d)]),logger[_0x1aa309(0x26f)]({'event':_0x1aa309(0x26b),'formatCount':Object[_0x1aa309(0x259)](_0x4449e4['columnFormats'])[_0x1aa309(0x1d2)],'formats':Object[_0x1aa309(0x259)](_0x4449e4[_0x1aa309(0x26d)])},_0x4c066f[_0x1aa309(0x1cb)]));if(_0x4449e4['scopeOverride']&&_0x4449e4['scopeOverride']['column']){const {column:_0x433448,value:_0x3573e7}=_0x4449e4['scopeOverride'];_0x563dbe=_0x563dbe[_0x1aa309(0x26e)](_0x43cd00=>({..._0x43cd00,[_0x433448]:_0x3573e7})),logger[_0x1aa309(0x26f)]({'event':'request_scope_applied','column':_0x433448,'rowCount':_0x563dbe['length']},_0x4c066f['dbSNf']);}const _0x10e2ae=_0x4449e4['lookupFields']?Object['values'](_0x4449e4['lookupFields'])['map'](_0xc9efb1=>_0xc9efb1[_0x1aa309(0x249)]):[],_0x5af01d=_0x4449e4[_0x1aa309(0x1e5)][_0x1aa309(0x1e8)](_0x38b2c7=>!_0x10e2ae[_0x1aa309(0x1cf)](_0x38b2c7)),_0x4c2713=excelParser[_0x1aa309(0x1f2)](_0x3992a1,_0x5af01d);if(!_0x4c2713['valid']){await fs['unlink'](_0x26bad9[_0x1aa309(0x239)]);throw new Error(_0x1aa309(0x25c)+_0x4c2713[_0x1aa309(0x263)]['join'](',\x20'));}const _0x44a0a7={'upload_id':_0x2ecd41,'filename':_0x26bad9['originalname'],'total_rows':_0x1b3e75,'headers':_0x3992a1,'rows':_0x563dbe,'params':_0x4449e4,'created_at':new Date()[_0x1aa309(0x218)]()};return await redisHelper['setJob']('upload:'+_0x2ecd41,_0x44a0a7,0xe10),await fs[_0x1aa309(0x260)](_0x26bad9['path']),logger['info']({'event':_0x4c066f[_0x1aa309(0x264)],'uploadId':_0x2ecd41,'filename':_0x26bad9[_0x1aa309(0x1d4)],'totalRows':_0x1b3e75},_0x4c066f['ODGoW']),{'upload_id':_0x2ecd41,'total_rows':_0x1b3e75,'preview':_0x563dbe[_0x1aa309(0x24b)](0x0,0xa)};}catch(_0x312e64){try{await fs[_0x1aa309(0x260)](_0x26bad9['path']);}catch(_0x31a7ec){logError(_0x31a7ec,{'event':'file_cleanup_error'},'Failed\x20to\x20cleanup\x20file');}throw _0x312e64;}}async[a0_0x3f9528(0x255)](_0x155681){const _0x175a61=a0_0x3f9528,_0x3b28b2={'VypsN':function(_0x4360f2,_0xff7102,_0x32a15f,_0x95101a){return _0x4360f2(_0xff7102,_0x32a15f,_0x95101a);},'uBHKn':_0x175a61(0x1fe),'pXorS':_0x175a61(0x1f5),'VBKUf':_0x175a61(0x1f0),'JfvRN':'Preview\x20job\x20created'},_0x2a44ab=this[_0x175a61(0x1d8)](),_0x35e803=await redisHelper['getJob'](_0x175a61(0x231)+_0x155681);if(!_0x35e803)throw new Error(_0x3b28b2['pXorS']);const _0x209321={'job_id':_0x2a44ab,'upload_id':_0x155681,'status':'validating','progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x35e803[_0x175a61(0x1df)]};return await redisHelper['setJob'](_0x175a61(0x1e0)+_0x2a44ab,_0x209321,0xe10),logger[_0x175a61(0x21d)]({'event':_0x3b28b2[_0x175a61(0x206)],'jobId':_0x2a44ab,'uploadId':_0x155681},_0x3b28b2['JfvRN']),this[_0x175a61(0x25f)](_0x2a44ab,_0x155681,_0x35e803)['catch'](_0x1e055d=>{const _0xf59a64=_0x175a61;_0x3b28b2['VypsN'](logError,_0x1e055d,{'event':_0x3b28b2[_0xf59a64(0x22f)],'jobId':_0x2a44ab},'Preview\x20processing\x20failed');}),{'job_id':_0x2a44ab,'status':_0x175a61(0x235)};}['autoGenerateUpsertKeys'](_0x13c2f3,_0xfc2309){const _0x3df8c0=a0_0x3f9528,_0xa5e59f={'DULRl':function(_0xb037d4,_0xb98fd9){return _0xb037d4===_0xb98fd9;},'feXTO':function(_0x303821,_0x3cf09f){return _0x303821+_0x3cf09f;}};_0x13c2f3[_0x3df8c0(0x202)]((_0x2d8c8f,_0x299ab2)=>{const _0xa3b105=_0x3df8c0,_0x1d19ff={'fFTYY':function(_0x2b0e88,_0x2907ea){const _0x4a3679=a0_0x2d66;return _0xa5e59f[_0x4a3679(0x207)](_0x2b0e88,_0x2907ea);},'WNxdP':function(_0x7df89,_0x1fa962){return _0x7df89(_0x1fa962);},'PQECl':_0xa3b105(0x1dd),'CxQEy':function(_0x3bbc9b,_0x106e0f){return _0xa5e59f['feXTO'](_0x3bbc9b,_0x106e0f);}};_0xfc2309[_0xa3b105(0x202)](_0x3f1dab=>{const _0xdb3abb=_0xa3b105,_0x37aa57=_0x2d8c8f[_0x3f1dab];if(_0x1d19ff[_0xdb3abb(0x211)](_0x37aa57,null)||_0x37aa57===undefined||_0x37aa57===''||_0x1d19ff[_0xdb3abb(0x1e6)](String,_0x37aa57)['trim']()==='-'){const _0x16f87f=uuidv7();_0x2d8c8f[_0x3f1dab]=_0x16f87f,_0x2d8c8f['_generated_uuid']=_0x2d8c8f['_generated_uuid']||{},_0x2d8c8f['_generated_uuid'][_0x3f1dab]=_0x16f87f,logger['debug']({'event':_0x1d19ff['PQECl'],'rowIndex':_0x299ab2,'field':_0x3f1dab,'uuid':_0x16f87f},'Auto-generated\x20UUID\x20for\x20'+_0x3f1dab+_0xdb3abb(0x246)+_0x1d19ff[_0xdb3abb(0x219)](_0x299ab2,0x2));}});});}async[a0_0x3f9528(0x25f)](_0x47a4aa,_0x3af679,_0x1aa593){const _0x38b2a7=a0_0x3f9528,_0x466318={'iNxTy':function(_0x49f545,_0x114ca0){return _0x49f545||_0x114ca0;},'mUeSW':function(_0x41fe06,_0x7a2c55){return _0x41fe06>_0x7a2c55;},'IEAim':'preview_error','sfQgn':_0x38b2a7(0x277),'PzFLT':function(_0x137a5a,_0x488974,_0x358da3,_0xf45501){return _0x137a5a(_0x488974,_0x358da3,_0xf45501);},'OzFSH':_0x38b2a7(0x223),'GPFsq':'Preview\x20job\x20failed'};try{let {rows:_0x3c42fb,params:_0x1f6382}=_0x1aa593;const {requiredFields:_0x179367,validations:_0x3761b9,upsertKeys:_0x1fb2ed,tableName:_0x1d73ac,primaryKey:_0x569ce0,fieldName:_0x5c5893,upsertStrategy:_0x3d3981,lookupFields:_0x20c642}=_0x1f6382;this['autoGenerateUpsertKeys'](_0x3c42fb,_0x1fb2ed);let _0x224e8e=[];if(_0x20c642&&Object['keys'](_0x20c642)['length']>0x0){logger['info']({'event':'processing_lookup_fields','jobId':_0x47a4aa,'lookupFieldCount':Object['keys'](_0x20c642)[_0x38b2a7(0x1d2)]},'Processing\x20lookup\x20fields');const _0x280cb9=await lookupResolver[_0x38b2a7(0x209)](_0x3c42fb,_0x20c642);_0x3c42fb=_0x280cb9['processedRows'],_0x224e8e=_0x280cb9['errors'],_0x1aa593['rows']=_0x3c42fb;}const _0x2d58a5=importValidator[_0x38b2a7(0x271)](_0x3c42fb,_0x179367||[],_0x466318[_0x38b2a7(0x220)](_0x3761b9,{}));_0x224e8e[_0x38b2a7(0x202)](_0x5e1e84=>{const _0x4df217=_0x38b2a7,_0x76ce28=_0x2d58a5['find'](_0x5d0daf=>_0x5d0daf[_0x4df217(0x210)]===_0x5e1e84[_0x4df217(0x210)]);_0x76ce28?_0x76ce28['errors'][_0x4df217(0x22e)](_0x5e1e84[_0x4df217(0x1c8)]):_0x2d58a5[_0x4df217(0x22e)]({'rowIndex':_0x5e1e84[_0x4df217(0x210)],'rowData':_0x3c42fb[_0x5e1e84[_0x4df217(0x210)]],'errors':[_0x5e1e84[_0x4df217(0x1c8)]]});});const _0x155bf7=importValidator[_0x38b2a7(0x25d)](_0x3c42fb,_0x1fb2ed);_0x155bf7[_0x38b2a7(0x202)](_0x5b7c9c=>{const _0x541810=_0x38b2a7,_0x5eb3cd=_0x2d58a5[_0x541810(0x1fd)](_0x5bf052=>_0x5bf052[_0x541810(0x210)]===_0x5b7c9c[_0x541810(0x210)]),_0x4a4f58=_0x1fb2ed['map'](_0x38dca0=>_0x38dca0[_0x541810(0x22d)]())['join'](',\x20'),_0x563e7a=_0x541810(0x1cc)+_0x4a4f58;_0x5eb3cd?_0x5eb3cd[_0x541810(0x278)]['push'](_0x563e7a):_0x2d58a5[_0x541810(0x22e)]({'rowIndex':_0x5b7c9c['rowIndex'],'rowData':_0x3c42fb[_0x5b7c9c['rowIndex']],'errors':[_0x563e7a]});}),await this[_0x38b2a7(0x1d1)](_0x3c42fb,_0x1fb2ed,_0x1d73ac,_0x569ce0,_0x3d3981,_0x2d58a5),_0x2d58a5['forEach'](_0x351376=>{const _0x402058=_0x38b2a7,_0x47b801=_0x3c42fb[_0x351376['rowIndex']];_0x47b801&&(_0x47b801['_errors']=_0x351376[_0x402058(0x278)]);});let _0x56229d=0x0,_0x2a5299=0x0,_0x2df52=0x0;_0x3c42fb['forEach'](_0x1e9759=>{const _0x22a5a9=_0x38b2a7;if(_0x1e9759[_0x22a5a9(0x25e)]===_0x22a5a9(0x245))_0x56229d++;else{if(_0x1e9759['_action']===_0x22a5a9(0x24a))_0x2a5299++;else _0x1e9759[_0x22a5a9(0x25e)]===_0x22a5a9(0x1d0)&&_0x2df52++;}});const _0x4c8703={'job_id':_0x47a4aa,'upload_id':_0x3af679,'status':_0x466318['mUeSW'](_0x2d58a5['length'],0x0)?_0x466318[_0x38b2a7(0x21b)]:_0x38b2a7(0x1e9),'progress':0x64,'created_at':_0x1aa593['created_at'],'completed_at':new Date()[_0x38b2a7(0x218)](),'preview':{'total_rows':_0x3c42fb[_0x38b2a7(0x1d2)],'insert_count':_0x56229d,'update_count':_0x2a5299,'skip_count':_0x2df52,'error_count':_0x2d58a5[_0x38b2a7(0x1d2)],'errors':_0x2d58a5,'data':_0x3c42fb,'sample_insert':_0x3c42fb[_0x38b2a7(0x1e8)](_0x2d365e=>_0x2d365e['_action']==='INSERT')[_0x38b2a7(0x24b)](0x0,0x5),'sample_update':_0x3c42fb['filter'](_0x23ddb9=>_0x23ddb9['_action']===_0x38b2a7(0x24a))[_0x38b2a7(0x24b)](0x0,0x5),'sample_skip':_0x3c42fb[_0x38b2a7(0x1e8)](_0x500d32=>_0x500d32['_action']===_0x38b2a7(0x1d0))['slice'](0x0,0x5)},'params':_0x1f6382};await redisHelper[_0x38b2a7(0x1c2)]('job:'+_0x47a4aa,_0x4c8703,0xe10),_0x1aa593[_0x38b2a7(0x262)]=_0x3c42fb,await redisHelper['setJob']('upload:'+_0x3af679,_0x1aa593,0xe10),logger[_0x38b2a7(0x21d)]({'event':_0x466318[_0x38b2a7(0x228)],'jobId':_0x47a4aa,'status':_0x4c8703[_0x38b2a7(0x274)],'insertCount':_0x56229d,'updateCount':_0x2a5299,'skipCount':_0x2df52,'errorCount':_0x2d58a5['length']},_0x38b2a7(0x203));}catch(_0x22d5b6){_0x466318[_0x38b2a7(0x1ed)](logError,_0x22d5b6,{'event':_0x466318['OzFSH'],'jobId':_0x47a4aa},_0x466318[_0x38b2a7(0x1f8)]),await redisHelper['setJob'](_0x38b2a7(0x1e0)+_0x47a4aa,{'job_id':_0x47a4aa,'upload_id':_0x3af679,'status':_0x38b2a7(0x20e),'progress':0x0,'error':_0x22d5b6[_0x38b2a7(0x1c8)],'created_at':new Date()[_0x38b2a7(0x218)](),'completed_at':new Date()[_0x38b2a7(0x218)]()},0xe10);}}async[a0_0x3f9528(0x1d1)](_0x2e1642,_0x522125,_0x534d09,_0x4f84fe,_0x35bdee=a0_0x3f9528(0x1f3),_0x258748=[]){const _0x3f11c8=a0_0x3f9528,_0x8fd012={'VqPyF':function(_0x4aacb9,_0xd2243d){return _0x4aacb9===_0xd2243d;},'ocMrj':_0x3f11c8(0x215),'HqZOo':function(_0x2c2574,_0x2201c1){return _0x2c2574(_0x2201c1);},'JdRGZ':_0x3f11c8(0x1f3),'Qwybn':_0x3f11c8(0x1d0),'YmhxH':function(_0x2863c9,_0x2918a8){return _0x2863c9!==_0x2918a8;},'qoaRh':_0x3f11c8(0x245),'wVhZf':_0x3f11c8(0x237),'jbRRd':'oracle','rDehO':function(_0x3271e4,_0x297ec0){return _0x3271e4>_0x297ec0;}},_0x505d5a=upsertBuilder['chunkRows'](_0x2e1642,0x64);for(const _0x6f1f39 of _0x505d5a){const _0x1738c0=_0x6f1f39['map'](_0x256f51=>_0x256f51[_0x522125[0x0]]),_0x5731c2=_0x1738c0[_0x3f11c8(0x26e)](_0x267145=>{const _0x4be02e=_0x3f11c8;if(_0x267145===null||_0x8fd012[_0x4be02e(0x1c1)](_0x267145,undefined))return _0x8fd012['ocMrj'];return'\x27'+_0x8fd012['HqZOo'](String,_0x267145)[_0x4be02e(0x1f4)](/'/g,'\x27\x27')+'\x27';}),_0x5e29ac='\x0a\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20'+_0x4f84fe+',\x20'+_0x522125[_0x3f11c8(0x21c)](',\x20')+_0x3f11c8(0x1dc)+_0x534d09+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20'+_0x522125[0x0]+'\x20IN\x20('+_0x5731c2['join'](',\x20')+_0x3f11c8(0x216);let _0x5bfef6=await executeQuery(_0x5e29ac);_0x8fd012['VqPyF'](dbType,_0x8fd012[_0x3f11c8(0x226)])&&_0x5bfef6&&_0x8fd012[_0x3f11c8(0x23d)](_0x5bfef6[_0x3f11c8(0x1d2)],0x0)&&(_0x5bfef6=_0x5bfef6['map'](_0x329f16=>{const _0x638ad1={};for(const [_0xb1200d,_0x14fb91]of Object['entries'](_0x329f16)){_0x638ad1[_0xb1200d['toLowerCase']()]=_0x14fb91;}return _0x638ad1;}));const _0x40894c=new Map();_0x5bfef6['forEach'](_0x3e2402=>{const _0x2f637d=_0x3f11c8,_0x306a43=_0x3e2402[_0x522125[0x0]];_0x40894c[_0x2f637d(0x1e2)](_0x306a43,_0x3e2402);}),_0x6f1f39[_0x3f11c8(0x202)]((_0x272e95,_0x4c3e03)=>{const _0x11dc8f=_0x3f11c8,_0x21974f=_0x272e95[_0x522125[0x0]],_0x4c6729=_0x40894c['get'](_0x21974f);if(_0x4c6729){if(_0x35bdee===_0x8fd012['JdRGZ'])_0x272e95['_action']='UPDATE',_0x272e95[_0x11dc8f(0x234)]=_0x4c6729[_0x4f84fe];else{if(_0x35bdee==='insert_only'){_0x272e95['_action']=_0x8fd012['Qwybn'],_0x272e95['_errors']=_0x272e95[_0x11dc8f(0x1ff)]||[],_0x272e95['_errors']['push'](_0x11dc8f(0x236));const _0x498c16=_0x2e1642['indexOf'](_0x272e95);_0x8fd012[_0x11dc8f(0x21e)](_0x498c16,-0x1)&&_0x258748[_0x11dc8f(0x22e)]({'rowIndex':_0x498c16,'rowData':_0x272e95,'errors':['Record\x20exists\x20(insert_only\x20mode)']});}else _0x35bdee===_0x11dc8f(0x225)&&(_0x272e95[_0x11dc8f(0x25e)]=_0x8fd012[_0x11dc8f(0x201)]);}}else{if(_0x8fd012['VqPyF'](_0x35bdee,_0x8fd012['JdRGZ']))_0x272e95[_0x11dc8f(0x25e)]=_0x8fd012['qoaRh'];else(_0x8fd012[_0x11dc8f(0x1c1)](_0x35bdee,_0x8fd012['wVhZf'])||_0x8fd012['VqPyF'](_0x35bdee,_0x11dc8f(0x225)))&&(_0x272e95['_action']='INSERT');}});}}async['createCommitJob'](_0x5c597c){const _0x33dbd9=a0_0x3f9528,_0x366f43={'nNCYa':'preview_ok','ZxHgh':_0x33dbd9(0x1fb)},_0x208684=this['generateId'](),_0x4a4352=await redisHelper['getJob']('job:'+_0x5c597c);if(!_0x4a4352)throw new Error('Preview\x20job\x20not\x20found\x20or\x20expired');if(_0x4a4352['status']!==_0x366f43['nNCYa'])throw new Error('Cannot\x20commit:\x20preview\x20status\x20is\x20'+_0x4a4352['status']);const _0x465c92={'job_id':_0x208684,'upload_id':_0x4a4352[_0x33dbd9(0x23c)],'preview_job_id':_0x5c597c,'status':'processing','progress':0x0,'created_at':new Date()[_0x33dbd9(0x218)](),'params':_0x4a4352[_0x33dbd9(0x1df)]};return await redisHelper[_0x33dbd9(0x1c2)](_0x33dbd9(0x1e0)+_0x208684,_0x465c92,0xe10),logger['info']({'event':_0x33dbd9(0x253),'jobId':_0x208684,'previewJobId':_0x5c597c},_0x366f43[_0x33dbd9(0x1d9)]),this[_0x33dbd9(0x1da)](_0x208684,_0x4a4352)['catch'](_0x4c8654=>{const _0x33f2ae=_0x33dbd9;logError(_0x4c8654,{'event':'commit_process_error','jobId':_0x208684},_0x33f2ae(0x276));}),{'job_id':_0x208684,'status':_0x33dbd9(0x229)};}async[a0_0x3f9528(0x1da)](_0x5a581f,_0x16d879){const _0x1b2e68=a0_0x3f9528,_0x28005b={'ehVNl':function(_0x4f7e20,_0x16eec3){return _0x4f7e20===_0x16eec3;},'XLJsQ':_0x1b2e68(0x248),'mKGKw':function(_0x351419,_0x48e751){return _0x351419>_0x48e751;},'jstbi':_0x1b2e68(0x1d5),'lgYZj':_0x1b2e68(0x26a),'pCnqM':_0x1b2e68(0x233),'gupAI':function(_0x15128c,_0x30a0ef,_0x399cd5,_0x1392fa){return _0x15128c(_0x30a0ef,_0x399cd5,_0x1392fa);},'rFxUs':_0x1b2e68(0x217)};try{const _0x37d36f=await redisHelper[_0x1b2e68(0x269)](_0x1b2e68(0x231)+_0x16d879['upload_id']);if(!_0x37d36f)throw new Error(_0x1b2e68(0x1f5));const {rows:_0x3c845a,params:_0x3f3eb4}=_0x37d36f,{tableName:_0x499273,fieldName:_0x55a89a,primaryKey:_0x3360dd,upsertKeys:_0x597c2f,excludeFromImport:_0x47d89d,lookupFields:_0x34332b,columnFormats:_0x4cde30}=_0x3f3eb4,_0x2850cc=_0x34332b?Object['keys'](_0x34332b):[],_0x48437d=new Set([..._0x47d89d||[],..._0x2850cc]);let _0x46fb5a=_0x55a89a;_0x48437d['size']>0x0&&(_0x46fb5a=_0x55a89a[_0x1b2e68(0x1e8)](_0x3770e2=>!_0x48437d[_0x1b2e68(0x238)](_0x3770e2)),logger['debug']({'event':_0x28005b[_0x1b2e68(0x266)],'originalCount':_0x55a89a[_0x1b2e68(0x1d2)],'filteredCount':_0x46fb5a['length'],'excludedFields':Array['from'](_0x48437d),'lookupSourceFields':_0x2850cc},_0x1b2e68(0x1f1)));const _0x5943e1=_0x3c845a['filter'](_0x210092=>_0x210092[_0x1b2e68(0x25e)]==='INSERT'),_0x2369c0=_0x3c845a['filter'](_0x48b112=>_0x48b112['_action']==='UPDATE');let _0x418db9=0x0,_0x876b98=0x0;const _0x297c9e=[];if(_0x5943e1['length']>0x0){const _0x2912e8=upsertBuilder[_0x1b2e68(0x24f)](_0x5943e1,0x64);for(const _0x585ae5 of _0x2912e8){const {query:_0x8444cb}=upsertBuilder[_0x1b2e68(0x1eb)](_0x585ae5,_0x499273,_0x46fb5a,_0x4cde30||{});_0x8444cb&&_0x297c9e['push']({'sql':_0x8444cb,'count':_0x585ae5[_0x1b2e68(0x1d2)],'type':_0x1b2e68(0x24e)});}}if(_0x28005b['mKGKw'](_0x2369c0[_0x1b2e68(0x1d2)],0x0)){const _0x41483c=upsertBuilder['chunkRows'](_0x2369c0,0x64);for(const _0x39ffc0 of _0x41483c){const {query:_0x17cd04}=upsertBuilder['buildBatchUpdate'](_0x39ffc0,_0x499273,_0x46fb5a,_0x3360dd,_0x597c2f,_0x4cde30||{});_0x17cd04&&_0x297c9e['push']({'sql':_0x17cd04,'count':_0x39ffc0['length'],'type':'update'});}}_0x297c9e['length']>0x0&&await executeTransaction(_0x297c9e[_0x1b2e68(0x26e)](_0x55a618=>({'sql':_0x55a618[_0x1b2e68(0x275)],'params':[]})));_0x297c9e['forEach'](_0x325509=>{const _0x22b228=_0x1b2e68;if(_0x28005b[_0x22b228(0x261)](_0x325509[_0x22b228(0x22b)],_0x22b228(0x24e)))_0x418db9+=_0x325509['count'];else _0x876b98+=_0x325509[_0x22b228(0x1e3)];});const _0x2d373d={'job_id':_0x5a581f,'upload_id':_0x16d879['upload_id'],'preview_job_id':_0x16d879['job_id'],'status':_0x28005b['jstbi'],'progress':0x64,'created_at':_0x16d879[_0x1b2e68(0x1fc)],'started_at':new Date()[_0x1b2e68(0x218)](),'completed_at':new Date()[_0x1b2e68(0x218)](),'result':{'total_rows':_0x3c845a[_0x1b2e68(0x1d2)],'inserted_rows':_0x418db9,'updated_rows':_0x876b98,'skipped_rows':0x0,'failed_rows':0x0,'errors':[]},'params':_0x3f3eb4};await redisHelper['setJob'](_0x1b2e68(0x1e0)+_0x5a581f,_0x2d373d,0xe10),logger[_0x1b2e68(0x21d)]({'event':_0x28005b['lgYZj'],'jobId':_0x5a581f,'insertedCount':_0x418db9,'updatedCount':_0x876b98},_0x28005b[_0x1b2e68(0x20c)]);}catch(_0x3e4303){_0x28005b[_0x1b2e68(0x256)](logError,_0x3e4303,{'event':'commit_job_failed','jobId':_0x5a581f},_0x28005b[_0x1b2e68(0x265)]),await redisHelper[_0x1b2e68(0x1c2)](_0x1b2e68(0x1e0)+_0x5a581f,{'job_id':_0x5a581f,'upload_id':_0x16d879[_0x1b2e68(0x23c)],'preview_job_id':_0x16d879[_0x1b2e68(0x23e)],'status':'failed','progress':0x0,'error':_0x3e4303[_0x1b2e68(0x1c8)],'created_at':_0x16d879['created_at'],'started_at':new Date()['toISOString'](),'completed_at':new Date()['toISOString']()},0xe10);}}async[a0_0x3f9528(0x20d)](_0x15529b){const _0x1b997f=a0_0x3f9528,_0x258874={'QsyPc':'Job\x20not\x20found\x20or\x20expired'},_0x56efbc=await redisHelper['getJob'](_0x1b997f(0x1e0)+_0x15529b);if(!_0x56efbc)return{'success':![],'error':_0x258874['QsyPc']};return{'success':!![],'data':_0x56efbc};}}module['exports']=new ImportService();
@@ -1 +1 @@
1
- const a0_0xdf01ef=a0_0x145b;function a0_0x443a(){const _0x4a92d4=['AxndB25Uzwn0zwq','CMvKDwnL','BgvUz3rO','D2fYBG','zw50CMLLCW','yxv0B0nVBw1PDa','Cgf1C2u','mteYnZqZmfv1Cfvjra','y29UC3vTzxiUy3jHC2G','ChjVy2vZC2LUz1rPBwvZ','C2vZC2LVBLrPBwvVDxq','w0THzMTHq29UC3vTzxjDienHBM5VDcbZDgfYDcbJB25ZDw1PBMCGlsbUB3qGy29UBMvJDgvK','DfnADwi','zhLlBu4','AxnqyxvZzwq','y29UC3vTzxiUzgLZy29UBMvJDa','y29UBMvJDgLVBLbYB21PC2u','s0fgs0fFq09otKvdveLptL9usu1ft1vu','zw52','AxnsDw5UAw5N','wu1Kr0u','CMv0CNLbDhrLBxb0CW','AgvHzgvYCW','ChvZAa','yunuvLG','A2v5','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihn0B3bWzwqGyw5KigrPC2nVBM5Ly3rLza','wgvMD2O','w0THzMTHq29UC3vTzxjDifnLzwSGzxjYB3i6ia','Dg9tDhjPBMC','w0THzMTHq29UC3vTzxjDifn0yxj0ignVBNn1BwLUzYbLCNjVCJOG','vuPPv3C','C3rHCNruAw1L','w0THzMTHq29UC3vTzxjDienHBM5VDcbZDwjZy3jPyMuGlsbUB3qGy29UBMvJDgvK','Bwv0CMLJCW','s0fgs0fFqLjps0vsuW','mta0odu3nG','z2v0tg9Ntgv2zwW','Dhj1zq','DgDPs0q','BwvZC2fNzxnszwnLAxzLza','Cgf5Bg9Hza','BM93','DxvPza','w0THzMTHq29UC3vTzxjDienHBM5VDcbYzxn1BwuGlsbJB25ZDw1LCIbUB3qGCNvUBMLUzW','ndjNr0fWz0G','y2XPzw50swq','z2v0twv0CMLJCW','ntaWma','txHsz2e','mJqZmti0oevMuKHOBW','w0THzMTHq29UC3vTzxjDienHBM5VDcbWyxvZzsaTignVBNn1BwvYig5VDcbYDw5UAw5N','w0THzMTHq29UC3vTzxjDifn0yxj0zwqGy29UC3vTAw5NigzYB20GDg9WAwnZoIa','mJaWoti0mxnSAxndqq','tK9Ny3y','mtuZmJCZnvLurfjWsW','C2v0DxbfDMvUDeHHBMrSzxjZ','zxjYB3i','v3Hyrvu','C3vIC2nYAwjL','DMfSDwu','C3rHCNrdB25ZDw1PBMC','zw5HyMXLza','s0fgs0fFru5bqKXfra','y29UBMvJDa','su5gtW','z2v0q29UzMLN','w0THzMTHq29UC3vTzxjDie1LDhjPy3mGCMvZzxq','y29UC3vTzxi','C3vIC2nYAwjLzfrVCgLJCW','tK5JqwC','A2fMA2fQCW','mte4BNbvwxrN','y0z3qKu','y29UC3vTzxiUCMvIywXHBMnPBMC','z3jVDxbjza','mti5mdGWA2jdALbW','w0THzMTHq29UC3vTzxjDifnLzwTLzcb0BYbVzMzZzxqG','C3rVCa','A2fMA2e','w0THzMTHq29UC3vTzxjDienVBNn1BwvYignYyxnOzwq6ia','s0fgs0fFuKvuuLLFtufyx0rftefz','DNPrwui','mJmXnJyYogXnruH2Aa','v0fstG','BwvZC2fNzq','AgvHCNrIzwf0sw50zxj2ywW','yNjVA2vYCW','Dg9gAxHLza','rKnuDfe','AxnjBML0AwfSAxPPBMC','BgfZDe1LC3nHz2vuAw1L','s0fgs0fFq0Xjru5ux0Le','qMrdtMe','tK9useLorW','otm5mwXxAeXVqq','zxHWB3j0CW','AxnbCNjHEq','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigrPC2nVBM5Ly3rLza','y2XVC2u','C3bSAxq','w0THzMTHq29UC3vTzxjDifn1yNnJCMLIzsbLCNjVCJOG','v0LRzw4','w0THzMTHq29UC3vTzxjDienVBNn1BwvYignVBM5Ly3rLzcb0BYbICM9RzxjZoIa','s0fgs0fFu0fttf9vu0vstKfnrq','zgvMyxvSDa','Bg9N','w0THzMTHq29UC3vTzxjDie1LC3nHz2uGChjVy2vZC2LUzYbLCNjVCJOG','s0fgs0fFuKvrvuvtvf9usu1ft1vu','A1fqDM8','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','C05gAui','B2zMC2v0','mZaWma','Dg9mB3DLCKnHC2u','BwfW','BwLU','BwvZC2fNzuHHBMrSzxi'];a0_0x443a=function(){return _0x4a92d4;};return a0_0x443a();}(function(_0x594ff0,_0x34ae34){const _0x2d95c5=a0_0x145b,_0x3d6dd8=_0x594ff0();while(!![]){try{const _0x3ed60c=-parseInt(_0x2d95c5(0xd5))/0x1*(parseInt(_0x2d95c5(0xbe))/0x2)+parseInt(_0x2d95c5(0xab))/0x3+-parseInt(_0x2d95c5(0xc9))/0x4+parseInt(_0x2d95c5(0xad))/0x5+parseInt(_0x2d95c5(0xa3))/0x6*(parseInt(_0x2d95c5(0xc2))/0x7)+parseInt(_0x2d95c5(0xa8))/0x8+parseInt(_0x2d95c5(0x7d))/0x9;if(_0x3ed60c===_0x34ae34)break;else _0x3d6dd8['push'](_0x3d6dd8['shift']());}catch(_0x195823){_0x3d6dd8['push'](_0x3d6dd8['shift']());}}}(a0_0x443a,0x61fac));const {Kafka,logLevel}=require(a0_0xdf01ef(0xbd)),{v7:uuidv7}=require(a0_0xdf01ef(0xa1));class KafkaConsumerService{constructor(){const _0x51c881=a0_0xdf01ef,_0x2f81c7={'Gemwh':'3|9|1|7|2|6|8|5|0|4|10'},_0x35b31b=_0x2f81c7['Gemwh'][_0x51c881(0x64)]('|');let _0x5910d1=0x0;while(!![]){switch(_0x35b31b[_0x5910d1++]){case'0':this[_0x51c881(0xc1)]=null;continue;case'1':this['isConnected']=![];continue;case'2':this[_0x51c881(0x89)]=![];continue;case'3':this['kafka']=null;continue;case'4':this['messageHandler']=null;continue;case'5':this['subscribedTopics']=[];continue;case'6':this[_0x51c881(0x84)]=![];continue;case'7':this['isInitializing']=![];continue;case'8':this['connectionPromise']=null;continue;case'9':this['consumer']=null;continue;case'10':this[_0x51c881(0x98)]={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':null,'processingTimes':[]};continue;}break;}}['getConfig'](){const _0x20a261=a0_0xdf01ef,_0xe48f05={'bFKna':'localhost:9092','tgiKD':_0x20a261(0x69),'zdFwI':function(_0x2c94da,_0xdc2020){return _0x2c94da(_0xdc2020);},'qRxge':'25000','sNFiB':function(_0x4a7c14,_0x2aa162){return _0x4a7c14(_0x2aa162);},'NNcAg':_0x20a261(0x71),'cFwBE':_0x20a261(0x9a),'lGYjd':_0x20a261(0x9c),'YMdGE':function(_0x9bce9d,_0x52b273){return _0x9bce9d(_0x52b273);},'exhib':'1000','IlBeR':'30000','BdCNa':_0x20a261(0x79)};return{'enabled':process['env'][_0x20a261(0xb5)]===_0x20a261(0x9c),'brokers':(process[_0x20a261(0x88)][_0x20a261(0x99)]||_0xe48f05['bFKna'])['split'](','),'clientId':process[_0x20a261(0x88)][_0x20a261(0xd2)]||'restforge-'+(process['env'][_0x20a261(0x6e)]||_0xe48f05[_0x20a261(0x9d)])+'-consumer','connectionTimeout':parseInt(process['env'][_0x20a261(0x87)]||_0x20a261(0x71)),'requestTimeout':_0xe48f05['zdFwI'](parseInt,process[_0x20a261(0x88)][_0x20a261(0x6c)]||_0xe48f05['qRxge']),'sessionTimeout':_0xe48f05[_0x20a261(0x6f)](parseInt,process[_0x20a261(0x88)]['KAFKA_SESSION_TIMEOUT']||'30000'),'heartbeatInterval':parseInt(process[_0x20a261(0x88)]['KAFKA_HEARTBEAT_INTERVAL']||_0xe48f05[_0x20a261(0xbc)]),'maxBytesPerPartition':_0xe48f05['sNFiB'](parseInt,process[_0x20a261(0x88)]['KAFKA_MAX_BYTES_PER_PARTITION']||_0xe48f05[_0x20a261(0xbf)]),'autoCommit':process['env']['KAFKA_AUTO_COMMIT']===_0xe48f05['lGYjd'],'autoCommitInterval':parseInt(process['env']['KAFKA_AUTO_COMMIT_INTERVAL']||_0x20a261(0xa6)),'retryAttempts':parseInt(process['env']['KAFKA_RETRY_ATTEMPTS']||'3'),'retryDelay':_0xe48f05['YMdGE'](parseInt,process[_0x20a261(0x88)]['KAFKA_RETRY_DELAY']||_0xe48f05['exhib']),'retryMaxDelay':_0xe48f05[_0x20a261(0x8a)](parseInt,process[_0x20a261(0x88)][_0x20a261(0xc7)]||_0xe48f05['IlBeR']),'logLevel':process[_0x20a261(0x88)]['KAFKA_LOG_LEVEL']||_0xe48f05[_0x20a261(0xd3)]};}[a0_0xdf01ef(0x9b)](_0x4fcdb5){const _0x1a99ef=a0_0xdf01ef,_0x583444={'nothing':logLevel[_0x1a99ef(0xd4)],'error':logLevel['ERROR'],'warn':logLevel[_0x1a99ef(0xca)],'info':logLevel[_0x1a99ef(0xb7)],'debug':logLevel['DEBUG']};return _0x583444[_0x4fcdb5[_0x1a99ef(0x72)]()]||logLevel['WARN'];}async['initialize'](_0x565ef7={}){const _0x4cef08=a0_0xdf01ef,_0x2ff8e0={'cTWDP':function(_0x35c074,_0x96148f){return _0x35c074===_0x96148f;},'SbYpX':_0x4cef08(0x9c),'wCtaV':'default','UJiWw':function(_0x2a3267,_0x112f5e){return _0x2a3267(_0x112f5e);},'Gvwfm':'[KafkaConsumer]\x20Kafka\x20consumer\x20is\x20disabled\x20in\x20configuration'},_0x2ea82f=this[_0x4cef08(0xb8)]();if(!_0x2ea82f[_0x4cef08(0xb4)])return console['log'](_0x2ff8e0['Gvwfm']),![];if(this['isConnected'])return!![];if(this[_0x4cef08(0xd0)]&&this[_0x4cef08(0x86)])return this['connectionPromise'];return this[_0x4cef08(0xd0)]=!![],this[_0x4cef08(0x86)]=new Promise(async _0x2df301=>{const _0x4765ef=_0x4cef08;try{let _0x393a47=undefined;_0x2ff8e0['cTWDP'](process['env']['KAFKA_SSL'],_0x2ff8e0['SbYpX'])&&(_0x393a47=!![]);let _0x46c2af=undefined;process[_0x4765ef(0x88)]['KAFKA_SASL_MECHANISM']&&(_0x46c2af={'mechanism':process[_0x4765ef(0x88)]['KAFKA_SASL_MECHANISM'],'username':process['env'][_0x4765ef(0x68)]||'','password':process[_0x4765ef(0x88)]['KAFKA_SASL_PASSWORD']||''}),this[_0x4765ef(0xc5)]=new Kafka({'clientId':_0x565ef7[_0x4765ef(0xa4)]||_0x2ea82f['clientId'],'brokers':_0x2ea82f[_0x4765ef(0xcd)],'connectionTimeout':_0x2ea82f['connectionTimeout'],'requestTimeout':_0x2ea82f['requestTimeout'],'logLevel':this['getLogLevel'](_0x2ea82f['logLevel']),'ssl':_0x393a47,'sasl':_0x46c2af,'retry':{'initialRetryTime':_0x2ea82f['retryDelay'],'retries':_0x2ea82f[_0x4765ef(0x8b)],'maxRetryTime':_0x2ea82f['retryMaxDelay']}}),this[_0x4765ef(0xc1)]=_0x565ef7['groupId']||'restforge-'+(process[_0x4765ef(0x88)]['RESTFORGE_PROJECT_NAME']||_0x2ff8e0['wCtaV'])+'-consumer-group',this[_0x4765ef(0xba)]=this['kafka'][_0x4765ef(0xba)]({'groupId':this['groupId'],'sessionTimeout':_0x2ea82f[_0x4765ef(0x80)],'heartbeatInterval':_0x2ea82f[_0x4765ef(0xcc)],'maxBytesPerPartition':_0x2ea82f['maxBytesPerPartition'],'allowAutoTopicCreation':![]}),await this[_0x4765ef(0xba)][_0x4765ef(0xb6)](),this['isConnected']=!![],console['log'](_0x4765ef(0x67)+_0x2ea82f['brokers']['join'](',\x20')+'\x20(groupId:\x20'+this[_0x4765ef(0xc1)]+')'),this['setupEventHandlers'](),_0x2ff8e0[_0x4765ef(0x95)](_0x2df301,!![]);}catch(_0x15ffb6){console[_0x4765ef(0xaf)]('[KafkaConsumer]\x20Connection\x20failed:\x20'+_0x15ffb6['message']),this['isConnected']=![],_0x2df301(![]);}finally{this['isInitializing']=![];}}),this['connectionPromise'];}[a0_0xdf01ef(0xae)](){const _0x522469=a0_0xdf01ef,_0x1e0cf4={'KQpzu':'[KafkaConsumer]\x20Consumer\x20rebalancing...'};if(!this[_0x522469(0xba)])return;this[_0x522469(0xba)]['on'](_0x522469(0x85),()=>{const _0x3572b7=_0x522469;console[_0x3572b7(0x6a)](_0x3572b7(0xd8)),this[_0x3572b7(0x76)]=![],this['isRunning']=![];}),this['consumer']['on']('consumer.stop',()=>{console['log']('[KafkaConsumer]\x20Consumer\x20stopped'),this['isRunning']=![];}),this[_0x522469(0xba)]['on'](_0x522469(0x7e),_0x26eed1=>{const _0x25460a=_0x522469;console[_0x25460a(0xaf)](_0x25460a(0xc6)+_0x26eed1[_0x25460a(0x9f)]['error']['message']),this[_0x25460a(0x89)]=![];}),this['consumer']['on'](_0x522469(0xc0),()=>{console['log'](_0x1e0cf4['KQpzu']);});}async[a0_0xdf01ef(0xb1)](_0x138828,_0x3e913b=![]){const _0x4527f2=a0_0xdf01ef,_0xaed43f={'hLCRx':_0x4527f2(0x97)};if(!this[_0x4527f2(0x76)])return console[_0x4527f2(0xaf)](_0xaed43f['hLCRx']),![];try{const _0x2b6366=Array[_0x4527f2(0xd7)](_0x138828)?_0x138828:[_0x138828];for(const _0x5a504b of _0x2b6366){await this['consumer']['subscribe']({'topic':_0x5a504b,'fromBeginning':_0x3e913b}),console['log']('[KafkaConsumer]\x20Subscribed\x20to\x20topic:\x20'+_0x5a504b+'\x20(fromBeginning:\x20'+_0x3e913b+')');}return this['subscribedTopics']=[...new Set([...this[_0x4527f2(0xbb)],..._0x2b6366])],!![];}catch(_0x3506c8){return console['error'](_0x4527f2(0x65)+_0x3506c8['message']),![];}}async[a0_0xdf01ef(0xb3)](_0x1f6f66,_0x16651b={}){const _0x3caf0c=a0_0xdf01ef,_0x17d192={'dyKmN':function(_0x3230fa,_0x5100b6){return _0x3230fa(_0x5100b6);},'fAeuk':_0x3caf0c(0x81),'aCTVX':'[KafkaConsumer]\x20Consumer\x20already\x20running','kQPvo':function(_0x325ae2,_0x3ebb01){return _0x325ae2!==_0x3ebb01;}};if(!this[_0x3caf0c(0x76)])return console[_0x3caf0c(0xaf)](_0x17d192['fAeuk']),![];if(this['isRunning'])return console[_0x3caf0c(0x6a)](_0x17d192[_0x3caf0c(0x8e)]),!![];const _0x260b98=this['getConfig']();this['messageHandler']=_0x1f6f66;try{return this['metrics'][_0x3caf0c(0x96)]=new Date(),await this[_0x3caf0c(0xba)]['run']({'autoCommit':_0x17d192[_0x3caf0c(0x6d)](_0x16651b[_0x3caf0c(0x7b)],undefined)?_0x16651b['autoCommit']:_0x260b98[_0x3caf0c(0x7b)],'autoCommitInterval':_0x260b98['autoCommitInterval'],'eachMessage':async({topic:_0x235657,partition:_0x1c62c3,message:_0x2b9edd,heartbeat:_0x440997})=>{const _0x58fd82=_0x3caf0c,_0x1c362c=Date['now']();this[_0x58fd82(0x98)][_0x58fd82(0x9e)]++,this['metrics'][_0x58fd82(0xd1)]=new Date();try{const _0x2eef2f=_0x2b9edd[_0x58fd82(0xb2)]?_0x2b9edd[_0x58fd82(0xb2)][_0x58fd82(0x93)]():null;let _0x34d5cc=null;try{_0x34d5cc=_0x2eef2f?JSON['parse'](_0x2eef2f):null;}catch(_0x3a376f){_0x34d5cc=_0x2eef2f;}const _0xc0fd81={'topic':_0x235657,'partition':_0x1c62c3,'offset':_0x2b9edd[_0x58fd82(0x70)],'key':_0x2b9edd['key']?_0x2b9edd[_0x58fd82(0x8f)][_0x58fd82(0x93)]():null,'headers':this['parseHeaders'](_0x2b9edd[_0x58fd82(0x8c)]),'timestamp':_0x2b9edd['timestamp'],'value':_0x34d5cc,'raw':_0x2eef2f};this[_0x58fd82(0x75)]&&await this[_0x58fd82(0x75)](_0xc0fd81);!_0x260b98['autoCommit']&&await this['consumer']['commitOffsets']([{'topic':_0x235657,'partition':_0x1c62c3,'offset':(_0x17d192[_0x58fd82(0x83)](parseInt,_0x2b9edd['offset'])+0x1)[_0x58fd82(0x93)]()}]);this['metrics']['messagesProcessed']++;const _0xbde49a=Date[_0x58fd82(0xa0)]()-_0x1c362c;this['metrics'][_0x58fd82(0x7f)][_0x58fd82(0x8d)](_0xbde49a),this['metrics'][_0x58fd82(0x7f)][_0x58fd82(0x78)]>0x64&&this['metrics']['processingTimes']['shift'](),await _0x440997();}catch(_0x922b0c){this[_0x58fd82(0x98)]['messagesFailed']++,console['error'](_0x58fd82(0x6b)+_0x922b0c['message']);throw _0x922b0c;}}}),this[_0x3caf0c(0x89)]=!![],console[_0x3caf0c(0x6a)](_0x3caf0c(0xaa)+this['subscribedTopics']['join'](',\x20')),!![];}catch(_0x1b4329){return console[_0x3caf0c(0xaf)](_0x3caf0c(0x94)+_0x1b4329['message']),![];}}['parseHeaders'](_0xfd65c){const _0x248661=a0_0xdf01ef;if(!_0xfd65c)return{};const _0xc64205={};for(const [_0x1869e7,_0x3ee481]of Object[_0x248661(0x7a)](_0xfd65c)){_0xc64205[_0x1869e7]=_0x3ee481?_0x3ee481['toString']():null;}return _0xc64205;}async[a0_0xdf01ef(0x7c)](){const _0x2c8125=a0_0xdf01ef;if(!this['isConnected']||!this['isRunning'])return console[_0x2c8125(0x6a)](_0x2c8125(0xa9)),![];if(this['isPaused'])return console['log']('[KafkaConsumer]\x20Consumer\x20already\x20paused'),!![];try{const _0x23a004=this['subscribedTopics'][_0x2c8125(0x73)](_0x34d321=>({'topic':_0x34d321}));return this['consumer'][_0x2c8125(0x7c)](_0x23a004),this[_0x2c8125(0x84)]=!![],console['log']('[KafkaConsumer]\x20Consumer\x20paused'),!![];}catch(_0x395a9d){return console['error']('[KafkaConsumer]\x20Pause\x20error:\x20'+_0x395a9d['message']),![];}}async['resume'](){const _0x5e5b42=a0_0xdf01ef,_0x1ccafd={'WxXEU':_0x5e5b42(0xa2),'Xefwj':'[KafkaConsumer]\x20Consumer\x20resumed'};if(!this['isConnected']||!this[_0x5e5b42(0x89)])return console['log'](_0x1ccafd[_0x5e5b42(0xb0)]),![];if(!this[_0x5e5b42(0x84)])return console['log']('[KafkaConsumer]\x20Consumer\x20not\x20paused'),!![];try{const _0x2668e9=this['subscribedTopics'][_0x5e5b42(0x73)](_0x29ff91=>({'topic':_0x29ff91}));return this[_0x5e5b42(0xba)]['resume'](_0x2668e9),this['isPaused']=![],console[_0x5e5b42(0x6a)](_0x1ccafd[_0x5e5b42(0x91)]),!![];}catch(_0xfd18ab){return console[_0x5e5b42(0xaf)]('[KafkaConsumer]\x20Resume\x20error:\x20'+_0xfd18ab[_0x5e5b42(0xcb)]),![];}}async[a0_0xdf01ef(0xc4)](){const _0x528c17=a0_0xdf01ef,_0xfe4aa0={'zrjLd':'[KafkaConsumer]\x20Consumer\x20not\x20connected','MxRga':'2|4|1|3|5|0','FCTtQ':_0x528c17(0x90)};if(!this['isConnected'])return console[_0x528c17(0x6a)](_0xfe4aa0['zrjLd']),!![];try{const _0x1fd888=_0xfe4aa0[_0x528c17(0xa7)]['split']('|');let _0x2d1287=0x0;while(!![]){switch(_0x1fd888[_0x2d1287++]){case'0':return!![];case'1':this['isRunning']=![];continue;case'2':this[_0x528c17(0xba)]&&(await this['consumer']['stop'](),await this['consumer']['disconnect']());continue;case'3':this['isPaused']=![];continue;case'4':this['isConnected']=![];continue;case'5':console['log'](_0xfe4aa0[_0x528c17(0xcf)]);continue;}break;}}catch(_0x3ce38c){return console['error']('[KafkaConsumer]\x20Stop\x20error:\x20'+_0x3ce38c[_0x528c17(0xcb)]),![];}}async['seekToOffset'](_0x1d91dd,_0x379c68,_0x5b33e){const _0x242c85=a0_0xdf01ef,_0x3b8df7={'vzQYB':'[KafkaConsumer]\x20Cannot\x20seek\x20-\x20not\x20connected'};if(!this['isConnected'])return console['error'](_0x3b8df7[_0x242c85(0xc8)]),![];try{return this[_0x242c85(0xba)]['seek']({'topic':_0x1d91dd,'partition':_0x379c68,'offset':_0x5b33e[_0x242c85(0x93)]()}),console['log'](_0x242c85(0xc3)+_0x5b33e+'\x20on\x20'+_0x1d91dd+':'+_0x379c68),!![];}catch(_0x5ad0e6){return console['error'](_0x242c85(0x92)+_0x5ad0e6['message']),![];}}['getStatus'](){const _0xa86399=a0_0xdf01ef,_0x4e8d2d=this['getConfig']();return{'enabled':_0x4e8d2d['enabled'],'connected':this[_0xa86399(0x76)],'running':this[_0xa86399(0x89)],'paused':this[_0xa86399(0x84)],'brokers':_0x4e8d2d['brokers'],'clientId':_0x4e8d2d[_0xa86399(0xa4)],'groupId':this[_0xa86399(0xc1)],'subscribedTopics':this[_0xa86399(0xbb)]};}[a0_0xdf01ef(0xa5)](){const _0x49b77d=a0_0xdf01ef,_0x4bf8da={'GgiDE':function(_0x8a9c10,_0x4c9951){return _0x8a9c10>_0x4c9951;},'FYphO':function(_0x532a40,_0x12a7a9){return _0x532a40/_0x12a7a9;},'tSZub':function(_0x21d2f5,_0x471b8f){return _0x21d2f5>_0x471b8f;},'aqYSS':function(_0x286f73,_0x118c9b){return _0x286f73>_0x118c9b;},'GEtVb':function(_0x3c8c26,_0x1d6af1){return _0x3c8c26/_0x1d6af1;},'WIken':function(_0x45020f,_0x2867a5){return _0x45020f+_0x2867a5;},'ijFtC':function(_0x49bfd8,_0x227ba2){return _0x49bfd8-_0x227ba2;},'YNoGG':function(_0x436ef0,_0x3914e8){return _0x436ef0+_0x3914e8;},'NOgcv':function(_0x1e0fff,_0x4883f6){return _0x1e0fff+_0x4883f6;}},_0x39beee=_0x4bf8da['GgiDE'](this[_0x49b77d(0x98)][_0x49b77d(0x7f)]['length'],0x0)?_0x4bf8da['FYphO'](this[_0x49b77d(0x98)]['processingTimes'][_0x49b77d(0x77)]((_0x5ce115,_0x3d835d)=>_0x5ce115+_0x3d835d,0x0),this['metrics'][_0x49b77d(0x7f)][_0x49b77d(0x78)]):0x0,_0x2c6236=this[_0x49b77d(0x98)][_0x49b77d(0x7f)]['length']>0x0?Math[_0x49b77d(0x74)](...this['metrics']['processingTimes']):0x0,_0x12cc20=_0x4bf8da[_0x49b77d(0x82)](this['metrics']['processingTimes']['length'],0x0)?Math['max'](...this[_0x49b77d(0x98)]['processingTimes']):0x0;return{'messagesReceived':this[_0x49b77d(0x98)]['messagesReceived'],'messagesProcessed':this[_0x49b77d(0x98)]['messagesProcessed'],'messagesFailed':this['metrics']['messagesFailed'],'successRate':_0x4bf8da['aqYSS'](this[_0x49b77d(0x98)][_0x49b77d(0x9e)],0x0)?(_0x4bf8da['GEtVb'](this['metrics']['messagesProcessed'],this[_0x49b77d(0x98)][_0x49b77d(0x9e)])*0x64)[_0x49b77d(0xce)](0x2)+'%':'0%','lastMessageTime':this['metrics']['lastMessageTime'],'startTime':this[_0x49b77d(0x98)][_0x49b77d(0x96)],'uptime':this[_0x49b77d(0x98)][_0x49b77d(0x96)]?_0x4bf8da[_0x49b77d(0x66)](Math['floor'](_0x4bf8da['GEtVb'](_0x4bf8da['ijFtC'](Date[_0x49b77d(0xa0)](),this[_0x49b77d(0x98)]['startTime']['getTime']()),0x3e8)),'s'):'0s','processingTime':{'avg':_0x4bf8da['YNoGG'](Math['round'](_0x39beee),'ms'),'min':_0x4bf8da[_0x49b77d(0xac)](_0x2c6236,'ms'),'max':_0x12cc20+'ms'}};}['resetMetrics'](){const _0x8f965f=a0_0xdf01ef;this['metrics']={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':this[_0x8f965f(0x89)]?new Date():null,'processingTimes':[]},console[_0x8f965f(0x6a)](_0x8f965f(0xb9));}async[a0_0xdf01ef(0xd9)](){const _0xee0e26=a0_0xdf01ef;await this[_0xee0e26(0xc4)]();}}let instance=null;function getInstance(){return!instance&&(instance=new KafkaConsumerService()),instance;}function resetInstance(){const _0x4de649=a0_0xdf01ef;instance&&(instance[_0x4de649(0xd9)](),instance=null);}function createInstance(){return new KafkaConsumerService();}function a0_0x145b(_0x6ba492,_0x4cdeaf){_0x6ba492=_0x6ba492-0x64;const _0x443adf=a0_0x443a();let _0x145bbc=_0x443adf[_0x6ba492];if(a0_0x145b['xzfUQe']===undefined){var _0x59411d=function(_0xb34999){const _0xbc2ca6='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1edd0e='',_0x5c680d='';for(let _0xaa2455=0x0,_0x429578,_0x294e4c,_0x47802d=0x0;_0x294e4c=_0xb34999['charAt'](_0x47802d++);~_0x294e4c&&(_0x429578=_0xaa2455%0x4?_0x429578*0x40+_0x294e4c:_0x294e4c,_0xaa2455++%0x4)?_0x1edd0e+=String['fromCharCode'](0xff&_0x429578>>(-0x2*_0xaa2455&0x6)):0x0){_0x294e4c=_0xbc2ca6['indexOf'](_0x294e4c);}for(let _0x3d77c5=0x0,_0x1e501a=_0x1edd0e['length'];_0x3d77c5<_0x1e501a;_0x3d77c5++){_0x5c680d+='%'+('00'+_0x1edd0e['charCodeAt'](_0x3d77c5)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5c680d);};a0_0x145b['BISJnw']=_0x59411d,a0_0x145b['XMvNXm']={},a0_0x145b['xzfUQe']=!![];}const _0x520be6=_0x443adf[0x0],_0x33634d=_0x6ba492+_0x520be6,_0x2cd526=a0_0x145b['XMvNXm'][_0x33634d];return!_0x2cd526?(_0x145bbc=a0_0x145b['BISJnw'](_0x145bbc),a0_0x145b['XMvNXm'][_0x33634d]=_0x145bbc):_0x145bbc=_0x2cd526,_0x145bbc;}module[a0_0xdf01ef(0xd6)]={'getInstance':getInstance,'resetInstance':resetInstance,'createInstance':createInstance,'KafkaConsumerService':KafkaConsumerService};
1
+ const a0_0x5c7185=a0_0x47b2;(function(_0x13cd31,_0x2148c6){const _0x5254c3=a0_0x47b2,_0x1e25d9=_0x13cd31();while(!![]){try{const _0x4f9d02=-parseInt(_0x5254c3(0x15c))/0x1+-parseInt(_0x5254c3(0x121))/0x2*(-parseInt(_0x5254c3(0x13e))/0x3)+parseInt(_0x5254c3(0x14a))/0x4+-parseInt(_0x5254c3(0x11e))/0x5*(parseInt(_0x5254c3(0x167))/0x6)+-parseInt(_0x5254c3(0x116))/0x7*(-parseInt(_0x5254c3(0x128))/0x8)+-parseInt(_0x5254c3(0x118))/0x9*(-parseInt(_0x5254c3(0x174))/0xa)+parseInt(_0x5254c3(0x16d))/0xb*(-parseInt(_0x5254c3(0x172))/0xc);if(_0x4f9d02===_0x2148c6)break;else _0x1e25d9['push'](_0x1e25d9['shift']());}catch(_0x108e39){_0x1e25d9['push'](_0x1e25d9['shift']());}}}(a0_0x1c5a,0x67dc2));function a0_0x47b2(_0xf86fe0,_0x2006d1){_0xf86fe0=_0xf86fe0-0x114;const _0x1c5a21=a0_0x1c5a();let _0x47b25d=_0x1c5a21[_0xf86fe0];if(a0_0x47b2['NEFKYm']===undefined){var _0x40efd2=function(_0x2df9d4){const _0x383fb6='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5da275='',_0x2ed31f='';for(let _0x4bb682=0x0,_0x5c8851,_0x1c9575,_0x5292ab=0x0;_0x1c9575=_0x2df9d4['charAt'](_0x5292ab++);~_0x1c9575&&(_0x5c8851=_0x4bb682%0x4?_0x5c8851*0x40+_0x1c9575:_0x1c9575,_0x4bb682++%0x4)?_0x5da275+=String['fromCharCode'](0xff&_0x5c8851>>(-0x2*_0x4bb682&0x6)):0x0){_0x1c9575=_0x383fb6['indexOf'](_0x1c9575);}for(let _0x38c6f6=0x0,_0x2ee9fc=_0x5da275['length'];_0x38c6f6<_0x2ee9fc;_0x38c6f6++){_0x2ed31f+='%'+('00'+_0x5da275['charCodeAt'](_0x38c6f6)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2ed31f);};a0_0x47b2['itUbbw']=_0x40efd2,a0_0x47b2['mpLTqv']={},a0_0x47b2['NEFKYm']=!![];}const _0x39f9be=_0x1c5a21[0x0],_0x45c465=_0xf86fe0+_0x39f9be,_0x200cfe=a0_0x47b2['mpLTqv'][_0x45c465];return!_0x200cfe?(_0x47b25d=a0_0x47b2['itUbbw'](_0x47b25d),a0_0x47b2['mpLTqv'][_0x45c465]=_0x47b25d):_0x47b25d=_0x200cfe,_0x47b25d;}const {Kafka,logLevel}=require('kafkajs'),{v7:uuidv7}=require(a0_0x5c7185(0x12b));function a0_0x1c5a(){const _0x30a117=['odrPD1zxCxG','uw9dDLK','Bwf4qNL0zxnqzxjqyxj0AxrPB24','revcvuC','Bhf0tg8','z2v0q29UzMLN','mZeZnJfcrLDvwMK','AgvHCNrIzwf0sw50zxj2ywW','w0THzMTHq29UC3vTzxjDienVBNn1BwvYig5VDcbWyxvZzwq','zw52','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','mtmWogfTv0rorW','Bwf4','nda3odyWBwvPz2fS','w0THzMTHq29UC3vTzxjDifjLC3vTzsbLCNjVCJOG','BwvZC2fNzxngywLSzwq','y2XVC2u','Cgf1C2u','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigrPC2nVBM5Ly3rLza','C2vZC2LVBLrPBwvVDxq','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigfSCMvHzhKGCgf1C2vK','icHNCM91CeLKoIa','CMvZzxrnzxrYAwnZ','AxnbCNjHEq','AxndB25Uzwn0zwq','mZaWmda','y29UBMvJDgLVBLbYB21PC2u','Dg9gAxHLza','AxnjBML0AwfSAxPPBMC','rNHIwuW','z2v0vgLTzq','y3Pnsue','C2vLAW','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigfSCMvHzhKGCNvUBMLUzW','nJeZntqZsenoC25r','Bg9N','odfgAgHhsxK','y2XPzw50swq','ChjVy2vZC2LUz1rPBwvZ','BwvZC2fNzq','s0fgs0fFuKvuuLLFqvruru1qvfm','C2v0DxbfDMvUDeHHBMrSzxjZ','nty4otbpA0jtr0W','BM93','BgvUz3rO','mJu4otjkzhr4tfa','AgvHzgvYCW','s0fgs0fFu0fttf9nruniqu5ju00','lwnVBNn1BwvY','zxHWB3j0CW','CMvZDgzVCMDLlq','AxnqyxvZzwq','nJrQrK14vfi','w0THzMTHq29UC3vTzxjDieTHzMTHignVBNn1BwvYigLZigrPC2fIBgvKigLUignVBMzPz3vYyxrPB24','A2fMA2e','DxvPza','z3jVDxbjza','A2v5','vxHsAK4','BwfW','AxnsDw5UAw5N','rwfJDuC','r2Hozhe','C3rVCa','BMXxExi','Bg9JywXOB3n0oJKWoti','CMvZDw1L','s0fgs0fFuKvuuLLFrevmqvK','s0fgs0fFsevbuLrcrufux0LovevsvKfm','ruHYB1m','zwPLvMy','y29UBMvJDa','w0THzMTHq29UC3vTzxjDifn1yNnJCMLIzwqGDg8GDg9WAwm6ia','DeDPy1y','mJrmr0D3D0i','Dg9tDhjPBMC','C3bSAxq','Cgf5Bg9Hza','wffPrwG','w0THzMTHq29UC3vTzxjDifn0yxj0ignVBNn1BwLUzYbLCNjVCJOG','w0THzMTHq29UC3vTzxjDienVBNn1BwvYignVBM5Ly3rLzcb0BYbICM9RzxjZoIa','w0THzMTHq29UC3vTzxjDienHBM5VDcbYzxn1BwuGlsbJB25ZDw1LCIbUB3qGCNvUBMLUzW','Bwv0CMLJCW','icHMCM9TqMvNAw5UAw5NoIa','C3rHCNruAw1L','s0fgs0fFqvvut19dt01nsvq','ntG4odaWAxH6DuvQ','s0fgs0fFte9hx0XfvKvm','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihjLC3vTzwq','y29UC3vTzxi','tK9useLorW','y29TBwL0t2zMC2v0CW','mZaWma','BwvZC2fNzuHHBMrSzxi','w0THzMTHq29UC3vTzxjDie1LC3nHz2uGChjVy2vZC2LUzYbLCNjVCJOG','C3vIC2nYAwjL','C3vIC2nYAwjLzfrVCgLJCW','zMXVB3i','BwvZC2fNzxnszwnLAxzLza','C2HPzNq','zxjYB3i','mta0odu3nG','Cff4yK4','Dhj1zq','ndiZntCZsMHWCLrr','DMfSDwu','sKv3yLa','w0THzMTHq29UC3vTzxjDifnLzwSGzxjYB3i6ia','v0fstG','BwvZC2fNzxnqCM9JzxnZzwq','w0THzMTHq29UC3vTzxjDifn0B3aGzxjYB3i6ia','zgvMyxvSDa','wuT3s3O','CgfYC2vizwfKzxjZ','w0THzMTHq29UC3vTzxjDienHBM5VDcbWyxvZzsaTignVBNn1BwvYig5VDcbYDw5UAw5N'];a0_0x1c5a=function(){return _0x30a117;};return a0_0x1c5a();}class KafkaConsumerService{constructor(){const _0x437c5d=a0_0x5c7185;this['kafka']=null,this[_0x437c5d(0x14d)]=null,this[_0x437c5d(0x17f)]=![],this['isInitializing']=![],this['isRunning']=![],this[_0x437c5d(0x127)]=![],this[_0x437c5d(0x181)]=null,this[_0x437c5d(0x154)]=[],this['groupId']=null,this[_0x437c5d(0x151)]=null,this['metrics']={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':null,'processingTimes':[]};}[a0_0x5c7185(0x16c)](){const _0x408e4f=a0_0x5c7185,_0x2be054={'JEwbP':function(_0x24710c,_0x41d636){return _0x24710c===_0x41d636;},'YKwKz':_0x408e4f(0x135),'czMIA':function(_0x4ae64f,_0x15b530){return _0x4ae64f(_0x15b530);},'XpZoV':_0x408e4f(0x150),'jontt':'25000','pQxbN':function(_0x27efa4,_0x220f5a){return _0x27efa4(_0x220f5a);},'GhNdq':function(_0x259076,_0x26b310){return _0x259076(_0x26b310);},'lqtLo':function(_0x3fe6dd,_0x15303c){return _0x3fe6dd(_0x15303c);},'QoCvY':_0x408e4f(0x180),'MmFbC':'warn'};return{'enabled':_0x2be054[_0x408e4f(0x15e)](process[_0x408e4f(0x170)]['KAFKA_ENABLED'],_0x408e4f(0x15b)),'brokers':(process[_0x408e4f(0x170)]['KAFKA_BROKERS']||_0x2be054[_0x408e4f(0x164)])['split'](','),'clientId':process['env']['KAFKA_CLIENT_ID']||'restforge-'+(process[_0x408e4f(0x170)]['RESTFORGE_PROJECT_NAME']||_0x408e4f(0x163))+_0x408e4f(0x124),'connectionTimeout':_0x2be054[_0x408e4f(0x186)](parseInt,process['env']['KAFKA_CONNECTION_TIMEOUT']||_0x2be054['XpZoV']),'requestTimeout':_0x2be054[_0x408e4f(0x186)](parseInt,process[_0x408e4f(0x170)]['KAFKA_REQUEST_TIMEOUT']||_0x2be054['jontt']),'sessionTimeout':parseInt(process[_0x408e4f(0x170)]['KAFKA_SESSION_TIMEOUT']||'30000'),'heartbeatInterval':_0x2be054[_0x408e4f(0x15a)](parseInt,process[_0x408e4f(0x170)][_0x408e4f(0x138)]||'3000'),'maxBytesPerPartition':parseInt(process[_0x408e4f(0x170)]['KAFKA_MAX_BYTES_PER_PARTITION']||_0x408e4f(0x159)),'autoCommit':process[_0x408e4f(0x170)][_0x408e4f(0x149)]==='true','autoCommitInterval':_0x2be054[_0x408e4f(0x132)](parseInt,process['env']['KAFKA_AUTO_COMMIT_INTERVAL']||'5000'),'retryAttempts':_0x2be054['GhNdq'](parseInt,process['env'][_0x408e4f(0x11c)]||'3'),'retryDelay':parseInt(process['env'][_0x408e4f(0x137)]||'1000'),'retryMaxDelay':_0x2be054[_0x408e4f(0x16b)](parseInt,process[_0x408e4f(0x170)]['KAFKA_RETRY_MAX_DELAY']||_0x2be054[_0x408e4f(0x168)]),'logLevel':process['env'][_0x408e4f(0x14b)]||_0x2be054['MmFbC']};}['getLogLevel'](_0x3e2273){const _0x1fe1a7=a0_0x5c7185,_0x534b65={'nothing':logLevel[_0x1fe1a7(0x14e)],'error':logLevel['ERROR'],'warn':logLevel[_0x1fe1a7(0x160)],'info':logLevel['INFO'],'debug':logLevel[_0x1fe1a7(0x16a)]};return _0x534b65[_0x3e2273['toLowerCase']()]||logLevel[_0x1fe1a7(0x160)];}async['initialize'](_0x2bb639={}){const _0x59d87c=a0_0x5c7185,_0x250d84={'XQiEh':function(_0xf3ec72,_0x3c126d){return _0xf3ec72===_0x3c126d;},'tGicV':function(_0x498940,_0x4a4698){return _0x498940(_0x4a4698);}},_0x3cb094=this[_0x59d87c(0x16c)]();if(!_0x3cb094['enabled'])return console[_0x59d87c(0x117)](_0x59d87c(0x129)),![];if(this[_0x59d87c(0x17f)])return!![];if(this[_0x59d87c(0x183)]&&this['connectionPromise'])return this[_0x59d87c(0x181)];return this[_0x59d87c(0x183)]=!![],this[_0x59d87c(0x181)]=new Promise(async _0x2374db=>{const _0x38f7b6=_0x59d87c;try{let _0x599509=undefined;_0x250d84[_0x38f7b6(0x142)](process['env']['KAFKA_SSL'],'true')&&(_0x599509=!![]);let _0x5ec717=undefined;process['env']['KAFKA_SASL_MECHANISM']&&(_0x5ec717={'mechanism':process['env'][_0x38f7b6(0x123)],'username':process[_0x38f7b6(0x170)]['KAFKA_SASL_USERNAME']||'','password':process['env']['KAFKA_SASL_PASSWORD']||''}),this['kafka']=new Kafka({'clientId':_0x2bb639['clientId']||_0x3cb094['clientId'],'brokers':_0x3cb094['brokers'],'connectionTimeout':_0x3cb094['connectionTimeout'],'requestTimeout':_0x3cb094['requestTimeout'],'logLevel':this['getLogLevel'](_0x3cb094['logLevel']),'ssl':_0x599509,'sasl':_0x5ec717,'retry':{'initialRetryTime':_0x3cb094['retryDelay'],'retries':_0x3cb094['retryAttempts'],'maxRetryTime':_0x3cb094['retryMaxDelay']}}),this['groupId']=_0x2bb639[_0x38f7b6(0x12c)]||_0x38f7b6(0x126)+(process['env'][_0x38f7b6(0x171)]||'default')+'-consumer-group',this['consumer']=this[_0x38f7b6(0x12a)][_0x38f7b6(0x14d)]({'groupId':this[_0x38f7b6(0x12c)],'sessionTimeout':_0x3cb094[_0x38f7b6(0x17a)],'heartbeatInterval':_0x3cb094[_0x38f7b6(0x16e)],'maxBytesPerPartition':_0x3cb094[_0x38f7b6(0x169)],'allowAutoTopicCreation':![]}),await this[_0x38f7b6(0x14d)][_0x38f7b6(0x13b)](),this[_0x38f7b6(0x17f)]=!![],console[_0x38f7b6(0x117)](_0x38f7b6(0x144)+_0x3cb094['brokers']['join'](',\x20')+_0x38f7b6(0x17c)+this[_0x38f7b6(0x12c)]+')'),this[_0x38f7b6(0x11d)](),_0x2374db(!![]);}catch(_0x2a5e43){console['error']('[KafkaConsumer]\x20Connection\x20failed:\x20'+_0x2a5e43['message']),this[_0x38f7b6(0x17f)]=![],_0x250d84[_0x38f7b6(0x13d)](_0x2374db,![]);}finally{this[_0x38f7b6(0x183)]=![];}}),this[_0x59d87c(0x181)];}[a0_0x5c7185(0x11d)](){const _0x23640f=a0_0x5c7185,_0x37d0e9={'LwPAt':'consumer.stop','ejeVf':'consumer.rebalancing'};if(!this[_0x23640f(0x14d)])return;this['consumer']['on']('consumer.disconnect',()=>{const _0x1e87d4=_0x23640f;console[_0x1e87d4(0x117)](_0x1e87d4(0x179)),this[_0x1e87d4(0x17f)]=![],this['isRunning']=![];}),this[_0x23640f(0x14d)]['on'](_0x37d0e9['LwPAt'],()=>{const _0x4450e7=_0x23640f;console[_0x4450e7(0x117)]('[KafkaConsumer]\x20Consumer\x20stopped'),this['isRunning']=![];}),this[_0x23640f(0x14d)]['on']('consumer.crash',_0x23d664=>{const _0x25add9=_0x23640f;console['error']('[KafkaConsumer]\x20Consumer\x20crashed:\x20'+_0x23d664[_0x25add9(0x141)]['error'][_0x25add9(0x11b)]),this['isRunning']=![];}),this['consumer']['on'](_0x37d0e9[_0x23640f(0x13a)],()=>{console['log']('[KafkaConsumer]\x20Consumer\x20rebalancing...');});}async['subscribe'](_0x3a9119,_0x12f96c=![]){const _0x3c7101=a0_0x5c7185;if(!this[_0x3c7101(0x17f)])return console['error']('[KafkaConsumer]\x20Cannot\x20subscribe\x20-\x20not\x20connected'),![];try{const _0x22cd42=Array[_0x3c7101(0x17e)](_0x3a9119)?_0x3a9119:[_0x3a9119];for(const _0x8ed518 of _0x22cd42){await this['consumer'][_0x3c7101(0x153)]({'topic':_0x8ed518,'fromBeginning':_0x12f96c}),console[_0x3c7101(0x117)](_0x3c7101(0x13c)+_0x8ed518+_0x3c7101(0x147)+_0x12f96c+')');}return this['subscribedTopics']=[...new Set([...this[_0x3c7101(0x154)],..._0x22cd42])],!![];}catch(_0x18aeba){return console[_0x3c7101(0x158)]('[KafkaConsumer]\x20Subscribe\x20error:\x20'+_0x18aeba['message']),![];}}async['startConsuming'](_0x214882,_0x60fc48={}){const _0x5d3363=a0_0x5c7185,_0x51e4bd={'EHroS':function(_0x54e776,_0x4c4403){return _0x54e776(_0x4c4403);},'KZvuP':function(_0x3b109f,_0x1862af){return _0x3b109f-_0x1862af;},'NSKWb':function(_0x2cfa03,_0x4b2e29){return _0x2cfa03>_0x4b2e29;},'xFIbb':_0x5d3363(0x115)};if(!this[_0x5d3363(0x17f)])return console['error']('[KafkaConsumer]\x20Cannot\x20start\x20consuming\x20-\x20not\x20connected'),![];if(this['isRunning'])return console['log'](_0x51e4bd['xFIbb']),!![];const _0x372811=this[_0x5d3363(0x16c)]();this['messageHandler']=_0x214882;try{return this[_0x5d3363(0x146)][_0x5d3363(0x148)]=new Date(),await this[_0x5d3363(0x14d)]['run']({'autoCommit':_0x60fc48['autoCommit']!==undefined?_0x60fc48['autoCommit']:_0x372811['autoCommit'],'autoCommitInterval':_0x372811['autoCommitInterval'],'eachMessage':async({topic:_0x172fe8,partition:_0x2b90d4,message:_0x26f6f5,heartbeat:_0x2659b5})=>{const _0x5e869d=_0x5d3363,_0x5addbc=Date[_0x5e869d(0x11f)]();this['metrics'][_0x5e869d(0x156)]++,this['metrics']['lastMessageTime']=new Date();try{const _0x307a76=_0x26f6f5[_0x5e869d(0x15d)]?_0x26f6f5['value'][_0x5e869d(0x13f)]():null;let _0x6266f2=null;try{_0x6266f2=_0x307a76?JSON['parse'](_0x307a76):null;}catch(_0x2da660){_0x6266f2=_0x307a76;}const _0x18a711={'topic':_0x172fe8,'partition':_0x2b90d4,'offset':_0x26f6f5['offset'],'key':_0x26f6f5['key']?_0x26f6f5[_0x5e869d(0x12d)]['toString']():null,'headers':this['parseHeaders'](_0x26f6f5[_0x5e869d(0x122)]),'timestamp':_0x26f6f5['timestamp'],'value':_0x6266f2,'raw':_0x307a76};this['messageHandler']&&await this[_0x5e869d(0x151)](_0x18a711);!_0x372811['autoCommit']&&await this[_0x5e869d(0x14d)][_0x5e869d(0x14f)]([{'topic':_0x172fe8,'partition':_0x2b90d4,'offset':(_0x51e4bd[_0x5e869d(0x139)](parseInt,_0x26f6f5['offset'])+0x1)['toString']()}]);this['metrics'][_0x5e869d(0x161)]++;const _0x51b93e=_0x51e4bd['KZvuP'](Date[_0x5e869d(0x11f)](),_0x5addbc);this[_0x5e869d(0x146)]['processingTimes']['push'](_0x51b93e),_0x51e4bd['NSKWb'](this[_0x5e869d(0x146)]['processingTimes'][_0x5e869d(0x120)],0x64)&&this[_0x5e869d(0x146)][_0x5e869d(0x11a)][_0x5e869d(0x157)](),await _0x2659b5();}catch(_0x22ffeb){this[_0x5e869d(0x146)]['messagesFailed']++,console['error'](_0x5e869d(0x152)+_0x22ffeb[_0x5e869d(0x11b)]);throw _0x22ffeb;}}}),this[_0x5d3363(0x130)]=!![],console[_0x5d3363(0x117)]('[KafkaConsumer]\x20Started\x20consuming\x20from\x20topics:\x20'+this['subscribedTopics']['join'](',\x20')),!![];}catch(_0x3cfa08){return console['error'](_0x5d3363(0x143)+_0x3cfa08[_0x5d3363(0x11b)]),![];}}[a0_0x5c7185(0x165)](_0x2f489e){if(!_0x2f489e)return{};const _0x583038={};for(const [_0x2c00da,_0x5049e7]of Object['entries'](_0x2f489e)){_0x583038[_0x2c00da]=_0x5049e7?_0x5049e7['toString']():null;}return _0x583038;}async['pause'](){const _0x16bc9f=a0_0x5c7185;if(!this['isConnected']||!this[_0x16bc9f(0x130)])return console['log'](_0x16bc9f(0x166)),![];if(this['isPaused'])return console['log'](_0x16bc9f(0x17b)),!![];try{const _0x41fc90=this['subscribedTopics']['map'](_0x178b2e=>({'topic':_0x178b2e}));return this[_0x16bc9f(0x14d)][_0x16bc9f(0x178)](_0x41fc90),this[_0x16bc9f(0x127)]=!![],console[_0x16bc9f(0x117)]('[KafkaConsumer]\x20Consumer\x20paused'),!![];}catch(_0x31c712){return console[_0x16bc9f(0x158)]('[KafkaConsumer]\x20Pause\x20error:\x20'+_0x31c712[_0x16bc9f(0x11b)]),![];}}async['resume'](){const _0x4b6ec1=a0_0x5c7185,_0x30cc81={'nlWyr':_0x4b6ec1(0x145),'UxRjN':_0x4b6ec1(0x16f)};if(!this[_0x4b6ec1(0x17f)]||!this[_0x4b6ec1(0x130)])return console['log'](_0x30cc81[_0x4b6ec1(0x134)]),![];if(!this['isPaused'])return console['log'](_0x30cc81[_0x4b6ec1(0x12e)]),!![];try{const _0x5254b2=this[_0x4b6ec1(0x154)][_0x4b6ec1(0x12f)](_0x348f39=>({'topic':_0x348f39}));return this[_0x4b6ec1(0x14d)][_0x4b6ec1(0x136)](_0x5254b2),this[_0x4b6ec1(0x127)]=![],console[_0x4b6ec1(0x117)](_0x4b6ec1(0x14c)),!![];}catch(_0x6a3ac5){return console[_0x4b6ec1(0x158)](_0x4b6ec1(0x175)+_0x6a3ac5[_0x4b6ec1(0x11b)]),![];}}async['stop'](){const _0x2454bf=a0_0x5c7185;if(!this[_0x2454bf(0x17f)])return console[_0x2454bf(0x117)]('[KafkaConsumer]\x20Consumer\x20not\x20connected'),!![];try{const _0x4f0e98='3|1|2|0|4|5'[_0x2454bf(0x140)]('|');let _0x359cc3=0x0;while(!![]){switch(_0x4f0e98[_0x359cc3++]){case'0':this[_0x2454bf(0x127)]=![];continue;case'1':this['isConnected']=![];continue;case'2':this['isRunning']=![];continue;case'3':this[_0x2454bf(0x14d)]&&(await this['consumer'][_0x2454bf(0x133)](),await this['consumer']['disconnect']());continue;case'4':console['log']('[KafkaConsumer]\x20Consumer\x20stopped\x20and\x20disconnected');continue;case'5':return!![];}break;}}catch(_0x2de354){return console[_0x2454bf(0x158)](_0x2454bf(0x162)+_0x2de354[_0x2454bf(0x11b)]),![];}}async['seekToOffset'](_0x8307c7,_0x3478f2,_0x4f1560){const _0x9245fb=a0_0x5c7185;if(!this[_0x9245fb(0x17f)])return console['error']('[KafkaConsumer]\x20Cannot\x20seek\x20-\x20not\x20connected'),![];try{return this[_0x9245fb(0x14d)][_0x9245fb(0x114)]({'topic':_0x8307c7,'partition':_0x3478f2,'offset':_0x4f1560['toString']()}),console['log']('[KafkaConsumer]\x20Seeked\x20to\x20offset\x20'+_0x4f1560+'\x20on\x20'+_0x8307c7+':'+_0x3478f2),!![];}catch(_0x5feba3){return console['error'](_0x9245fb(0x15f)+_0x5feba3[_0x9245fb(0x11b)]),![];}}['getStatus'](){const _0x495e72=a0_0x5c7185,_0x2ca138=this[_0x495e72(0x16c)]();return{'enabled':_0x2ca138['enabled'],'connected':this['isConnected'],'running':this[_0x495e72(0x130)],'paused':this[_0x495e72(0x127)],'brokers':_0x2ca138['brokers'],'clientId':_0x2ca138[_0x495e72(0x119)],'groupId':this['groupId'],'subscribedTopics':this['subscribedTopics']};}['getMetrics'](){const _0x5e69e0=a0_0x5c7185,_0x4dd694={'FxbYL':function(_0x43148a,_0x52b5b6){return _0x43148a>_0x52b5b6;},'JHKwN':function(_0x209820,_0x22fe57){return _0x209820/_0x22fe57;},'hGLGC':function(_0xa8a1a8,_0x3339f8){return _0xa8a1a8*_0x3339f8;},'EacuG':function(_0x392d01,_0x4bc0b2){return _0x392d01+_0x4bc0b2;}},_0x50f7e0=_0x4dd694['FxbYL'](this['metrics']['processingTimes']['length'],0x0)?_0x4dd694['JHKwN'](this[_0x5e69e0(0x146)]['processingTimes']['reduce']((_0x1c8577,_0x5935bd)=>_0x1c8577+_0x5935bd,0x0),this['metrics'][_0x5e69e0(0x11a)][_0x5e69e0(0x120)]):0x0,_0x5c1447=this['metrics'][_0x5e69e0(0x11a)]['length']>0x0?Math['min'](...this[_0x5e69e0(0x146)][_0x5e69e0(0x11a)]):0x0,_0x34ff65=_0x4dd694[_0x5e69e0(0x184)](this[_0x5e69e0(0x146)][_0x5e69e0(0x11a)][_0x5e69e0(0x120)],0x0)?Math[_0x5e69e0(0x173)](...this[_0x5e69e0(0x146)][_0x5e69e0(0x11a)]):0x0;return{'messagesReceived':this[_0x5e69e0(0x146)][_0x5e69e0(0x156)],'messagesProcessed':this['metrics'][_0x5e69e0(0x161)],'messagesFailed':this[_0x5e69e0(0x146)][_0x5e69e0(0x176)],'successRate':this[_0x5e69e0(0x146)]['messagesReceived']>0x0?_0x4dd694['hGLGC'](this['metrics']['messagesProcessed']/this['metrics']['messagesReceived'],0x64)[_0x5e69e0(0x182)](0x2)+'%':'0%','lastMessageTime':this[_0x5e69e0(0x146)]['lastMessageTime'],'startTime':this['metrics']['startTime'],'uptime':this['metrics'][_0x5e69e0(0x148)]?Math[_0x5e69e0(0x155)]((Date[_0x5e69e0(0x11f)]()-this['metrics'][_0x5e69e0(0x148)][_0x5e69e0(0x185)]())/0x3e8)+'s':'0s','processingTime':{'avg':Math['round'](_0x50f7e0)+'ms','min':_0x4dd694['EacuG'](_0x5c1447,'ms'),'max':_0x4dd694[_0x5e69e0(0x131)](_0x34ff65,'ms')}};}[a0_0x5c7185(0x17d)](){const _0x4b64f7=a0_0x5c7185,_0x1423c0={'KmfQD':'[KafkaConsumer]\x20Metrics\x20reset'};this['metrics']={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':this[_0x4b64f7(0x130)]?new Date():null,'processingTimes':[]},console['log'](_0x1423c0['KmfQD']);}async['close'](){const _0x1bdb31=a0_0x5c7185;await this[_0x1bdb31(0x133)]();}}let instance=null;function getInstance(){return!instance&&(instance=new KafkaConsumerService()),instance;}function resetInstance(){const _0x26afa6=a0_0x5c7185;instance&&(instance[_0x26afa6(0x177)](),instance=null);}function createInstance(){return new KafkaConsumerService();}module[a0_0x5c7185(0x125)]={'getInstance':getInstance,'resetInstance':resetInstance,'createInstance':createInstance,'KafkaConsumerService':KafkaConsumerService};