@restforgejs/platform 5.2.11 → 5.2.12

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 (169) hide show
  1. package/build-info.json +2 -2
  2. package/cli/consumer-deploy.js +1 -1
  3. package/cli/consumer.js +1 -1
  4. package/generators/cli/fast-track.js +147 -27
  5. package/generators/lib/templates/dashboard-catalog.js +1 -1
  6. package/generators/lib/templates/db-connection-env.js +1 -1
  7. package/generators/lib/templates/dbschema-catalog.js +1 -1
  8. package/generators/lib/templates/field-validation-catalog.js +1 -1
  9. package/generators/lib/templates/mysql-template.js +1 -1
  10. package/generators/lib/templates/oracle-template.js +1 -1
  11. package/generators/lib/templates/postgres-template.js +1 -1
  12. package/generators/lib/templates/query-declarative-catalog.js +1 -1
  13. package/generators/lib/templates/sqlite-template.js +1 -1
  14. package/integrity-manifest.json +18 -18
  15. package/package.json +1 -1
  16. package/scripts/verify-integrity.js +1 -1
  17. package/server.js +1 -1
  18. package/src/components/handlers/adjust_handler.js +1 -1
  19. package/src/components/handlers/audit_handler.js +1 -1
  20. package/src/components/handlers/delete_handler.js +1 -1
  21. package/src/components/handlers/export_handler.js +1 -1
  22. package/src/components/handlers/import_handler.js +1 -1
  23. package/src/components/handlers/insert_handler.js +1 -1
  24. package/src/components/handlers/update_handler.js +1 -1
  25. package/src/components/handlers/upload_handler.js +1 -1
  26. package/src/components/handlers/workflow_handler.js +1 -1
  27. package/src/components/integrations/webhook.js +1 -1
  28. package/src/consumers/baseConsumer.js +1 -1
  29. package/src/consumers/declarativeMapper.js +1 -1
  30. package/src/consumers/handlers/apiHandler.js +1 -1
  31. package/src/consumers/handlers/consoleHandler.js +1 -1
  32. package/src/consumers/handlers/databaseHandler.js +1 -1
  33. package/src/consumers/handlers/index.js +1 -1
  34. package/src/consumers/handlers/kafkaHandler.js +1 -1
  35. package/src/consumers/index.js +1 -1
  36. package/src/consumers/messageTransformer.js +1 -1
  37. package/src/consumers/validator.js +1 -1
  38. package/src/core/db/dialect/base-dialect.js +1 -1
  39. package/src/core/db/dialect/index.js +1 -1
  40. package/src/core/db/dialect/mysql-dialect.js +1 -1
  41. package/src/core/db/dialect/oracle-dialect.js +1 -1
  42. package/src/core/db/dialect/postgres-dialect.js +1 -1
  43. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  44. package/src/core/db/flatten-helper.js +1 -1
  45. package/src/core/db/query-builder-error.js +1 -1
  46. package/src/core/db/query-builder.js +1 -1
  47. package/src/core/db/relation-helper.js +1 -1
  48. package/src/core/handlers/delete_handler.js +1 -1
  49. package/src/core/handlers/insert_handler.js +1 -1
  50. package/src/core/handlers/update_handler.js +1 -1
  51. package/src/core/models/base-model.js +1 -1
  52. package/src/core/utils/cache-manager.js +1 -1
  53. package/src/core/utils/component-engine.js +1 -1
  54. package/src/core/utils/context-builder.js +1 -1
  55. package/src/core/utils/datetime-formatter.js +1 -1
  56. package/src/core/utils/datetime-parser.js +1 -1
  57. package/src/core/utils/db.js +1 -1
  58. package/src/core/utils/logger.js +1 -1
  59. package/src/core/utils/payload-loader.js +1 -1
  60. package/src/core/utils/security-checks.js +1 -1
  61. package/src/middleware/body-options.js +1 -1
  62. package/src/middleware/cors.js +1 -1
  63. package/src/middleware/idempotency.js +1 -1
  64. package/src/middleware/rate-limiter.js +1 -1
  65. package/src/middleware/request-logger.js +1 -1
  66. package/src/middleware/security-headers.js +1 -1
  67. package/src/models/base-model-mysql.js +1 -1
  68. package/src/models/base-model-oracle.js +1 -1
  69. package/src/models/base-model-sqlite.js +1 -1
  70. package/src/models/base-model.js +1 -1
  71. package/src/pro/caching/redis-client.js +1 -1
  72. package/src/pro/caching/redis-helper.js +1 -1
  73. package/src/pro/consumers/baseConsumer.js +1 -1
  74. package/src/pro/consumers/declarativeMapper.js +1 -1
  75. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  76. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  77. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  78. package/src/pro/consumers/handlers/index.js +1 -1
  79. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  80. package/src/pro/consumers/index.js +1 -1
  81. package/src/pro/consumers/messageTransformer.js +1 -1
  82. package/src/pro/consumers/validator.js +1 -1
  83. package/src/pro/database/base-model-mysql.js +1 -1
  84. package/src/pro/database/base-model-oracle.js +1 -1
  85. package/src/pro/database/base-model-sqlite.js +1 -1
  86. package/src/pro/database/db-mysql.js +1 -1
  87. package/src/pro/database/db-oracle.js +1 -1
  88. package/src/pro/database/db-sqlite.js +1 -1
  89. package/src/pro/excel/excel-generator.js +1 -1
  90. package/src/pro/excel/excel-parser.js +1 -1
  91. package/src/pro/excel/export-service.js +1 -1
  92. package/src/pro/excel/export_handler.js +1 -1
  93. package/src/pro/excel/import-service.js +1 -1
  94. package/src/pro/excel/import-validator.js +1 -1
  95. package/src/pro/excel/import_handler.js +1 -1
  96. package/src/pro/excel/upsert-builder.js +1 -1
  97. package/src/pro/idgen/idgen-routes.js +1 -1
  98. package/src/pro/integrations/lookup-resolver.js +1 -1
  99. package/src/pro/integrations/upload-handler-v2.js +1 -1
  100. package/src/pro/integrations/upload-handler.js +1 -1
  101. package/src/pro/integrations/webhook.js +1 -1
  102. package/src/pro/locking/lock-routes.js +1 -1
  103. package/src/pro/locking/resource-lock-manager.js +1 -1
  104. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  105. package/src/pro/messaging/kafkaService.js +1 -1
  106. package/src/pro/messaging/messagehubService.js +1 -1
  107. package/src/pro/messaging/rabbitmqService.js +1 -1
  108. package/src/pro/scheduler/job-manager.js +1 -1
  109. package/src/pro/scheduler/job-routes.js +1 -1
  110. package/src/pro/scheduler/job-validator.js +1 -1
  111. package/src/pro/storage/base-storage-provider.js +1 -1
  112. package/src/pro/storage/file-metadata-helper.js +1 -1
  113. package/src/pro/storage/index.js +1 -1
  114. package/src/pro/storage/local-storage-provider.js +1 -1
  115. package/src/pro/storage/s3-storage-provider.js +1 -1
  116. package/src/pro/storage/upload-cleanup-job.js +1 -1
  117. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  118. package/src/pro/storage/upload-pending-tracker.js +1 -1
  119. package/src/pro/websocket/broadcast-helper.js +1 -1
  120. package/src/pro/websocket/index.js +1 -1
  121. package/src/pro/websocket/livesync-server.js +1 -1
  122. package/src/pro/websocket/ws-broadcaster.js +1 -1
  123. package/src/services/export-service.js +1 -1
  124. package/src/services/import-service.js +1 -1
  125. package/src/services/kafkaConsumerService.js +1 -1
  126. package/src/services/kafkaService.js +1 -1
  127. package/src/services/messagehubService.js +1 -1
  128. package/src/services/rabbitmqService.js +1 -1
  129. package/src/utils/cache-invalidation-registry.js +1 -1
  130. package/src/utils/cache-manager.js +1 -1
  131. package/src/utils/component-engine.js +1 -1
  132. package/src/utils/config-extractor.js +1 -1
  133. package/src/utils/consumerLogger.js +1 -1
  134. package/src/utils/context-builder.js +1 -1
  135. package/src/utils/dashboard-helpers.js +1 -1
  136. package/src/utils/dateHelper.js +1 -1
  137. package/src/utils/datetime-formatter.js +1 -1
  138. package/src/utils/datetime-parser.js +1 -1
  139. package/src/utils/db-bootstrap.js +1 -1
  140. package/src/utils/db-mysql.js +1 -1
  141. package/src/utils/db-oracle.js +1 -1
  142. package/src/utils/db-sqlite.js +1 -1
  143. package/src/utils/db.js +1 -1
  144. package/src/utils/demo-generator.js +1 -1
  145. package/src/utils/excel-generator.js +1 -1
  146. package/src/utils/excel-parser.js +1 -1
  147. package/src/utils/file-watcher.js +1 -1
  148. package/src/utils/id-generator.js +1 -1
  149. package/src/utils/idempotency-manager.js +1 -1
  150. package/src/utils/import-validator.js +1 -1
  151. package/src/utils/license-client.js +1 -1
  152. package/src/utils/lock-manager.js +1 -1
  153. package/src/utils/logger.js +1 -1
  154. package/src/utils/lookup-resolver.js +1 -1
  155. package/src/utils/payload-loader.js +1 -1
  156. package/src/utils/processor-response.js +1 -1
  157. package/src/utils/rabbitmq.js +1 -1
  158. package/src/utils/redis-client.js +1 -1
  159. package/src/utils/redis-helper.js +1 -1
  160. package/src/utils/request-scope.js +1 -1
  161. package/src/utils/security-checks.js +1 -1
  162. package/src/utils/service-resolver.js +1 -1
  163. package/src/utils/shutdown-coordinator.js +1 -1
  164. package/src/utils/soft-delete-dashboard-guard.js +1 -1
  165. package/src/utils/sql-table-extractor.js +1 -1
  166. package/src/utils/trusted-keys.js +1 -1
  167. package/src/utils/upload-handler.js +1 -1
  168. package/src/utils/upsert-builder.js +1 -1
  169. package/src/utils/workflow-hook-executor.js +1 -1
@@ -1 +1 @@
1
- 'use strict';const a0_0x54e254=a0_0x6aee;(function(_0x35a306,_0x1b693c){const _0x5acb85=a0_0x6aee,_0x71ef2e=_0x35a306();while(!![]){try{const _0x5654bc=-parseInt(_0x5acb85(0x201))/0x1*(parseInt(_0x5acb85(0x239))/0x2)+-parseInt(_0x5acb85(0x213))/0x3+-parseInt(_0x5acb85(0x211))/0x4*(-parseInt(_0x5acb85(0x233))/0x5)+-parseInt(_0x5acb85(0x1fe))/0x6*(parseInt(_0x5acb85(0x216))/0x7)+-parseInt(_0x5acb85(0x234))/0x8+-parseInt(_0x5acb85(0x251))/0x9+-parseInt(_0x5acb85(0x240))/0xa*(-parseInt(_0x5acb85(0x21e))/0xb);if(_0x5654bc===_0x1b693c)break;else _0x71ef2e['push'](_0x71ef2e['shift']());}catch(_0x1b3ed2){_0x71ef2e['push'](_0x71ef2e['shift']());}}}(a0_0x24be,0xcbf64));function a0_0x6aee(_0x3398de,_0x10dda3){_0x3398de=_0x3398de-0x1e2;const _0x24beb6=a0_0x24be();let _0x6aee50=_0x24beb6[_0x3398de];if(a0_0x6aee['JmVTnc']===undefined){var _0x3519be=function(_0x1ee5fa){const _0x11600f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5f0d70='',_0x29b50a='';for(let _0x5cb3c0=0x0,_0x4d8c6e,_0x80f326,_0x5948d2=0x0;_0x80f326=_0x1ee5fa['charAt'](_0x5948d2++);~_0x80f326&&(_0x4d8c6e=_0x5cb3c0%0x4?_0x4d8c6e*0x40+_0x80f326:_0x80f326,_0x5cb3c0++%0x4)?_0x5f0d70+=String['fromCharCode'](0xff&_0x4d8c6e>>(-0x2*_0x5cb3c0&0x6)):0x0){_0x80f326=_0x11600f['indexOf'](_0x80f326);}for(let _0x425b0a=0x0,_0x35d62=_0x5f0d70['length'];_0x425b0a<_0x35d62;_0x425b0a++){_0x29b50a+='%'+('00'+_0x5f0d70['charCodeAt'](_0x425b0a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x29b50a);};a0_0x6aee['xqcKbO']=_0x3519be,a0_0x6aee['WpUNbP']={},a0_0x6aee['JmVTnc']=!![];}const _0xef0df8=_0x24beb6[0x0],_0x5ce4a2=_0x3398de+_0xef0df8,_0x1e4754=a0_0x6aee['WpUNbP'][_0x5ce4a2];return!_0x1e4754?(_0x6aee50=a0_0x6aee['xqcKbO'](_0x6aee50),a0_0x6aee['WpUNbP'][_0x5ce4a2]=_0x6aee50):_0x6aee50=_0x1e4754,_0x6aee50;}const {WebSocketServer}=require('ws'),{URL}=require('url'),REDIS_CHANNEL_PREFIX='restforge:livesync:';class WebSocketBroadcaster{constructor(){const _0x3461ec=a0_0x6aee;this[_0x3461ec(0x224)]=null,this[_0x3461ec(0x241)]=![],this[_0x3461ec(0x204)]=null,this['_options']={},this['_logger']=console,this['_subscriptions']=new Map(),this['_heartbeatTimer']=null,this['_redisPublisher']=null,this[_0x3461ec(0x1fb)]=null,this['_workerId']=process['pid'];}[a0_0x54e254(0x217)](_0x517552,_0x46a16e={}){const _0xc7d920=a0_0x54e254,_0x188531={'eAIHK':_0xc7d920(0x248),'YDDxa':function(_0x178e21,_0x36c62b,_0x4e68bc){return _0x178e21(_0x36c62b,_0x4e68bc);},'bFxOx':_0xc7d920(0x238),'WrRSj':_0xc7d920(0x1fa),'bPnrr':_0xc7d920(0x1e2)};if(this['_initialized'])return;this['_options']=_0x46a16e,this[_0xc7d920(0x204)]='full';try{this['_logger']=require(_0x188531['eAIHK'])['logger']||console;}catch(_0x4fc7c8){this[_0xc7d920(0x1ee)]=console;}const _0x2f29ef=_0x188531['YDDxa'](parseInt,process['env']['LIVE_SYNC_HEARTBEAT_INTERVAL'],0xa)||0x1e;this['_wss']=new WebSocketServer({'server':_0x517552,'path':_0x188531[_0xc7d920(0x20a)]}),this['_setupUpgradeAuth'](_0x517552),this['_wss']['on'](_0xc7d920(0x21a),(_0x5c75c9,_0x5cba3e)=>this['_handleConnection'](_0x5c75c9,_0x5cba3e)),this[_0xc7d920(0x224)]['on'](_0x188531[_0xc7d920(0x253)],_0x3d1bc3=>{const _0xdc4843=_0xc7d920;this[_0xdc4843(0x1ee)][_0xdc4843(0x1fa)]({'event':_0xdc4843(0x200),'error':_0x3d1bc3[_0xdc4843(0x219)]},_0xdc4843(0x1ed)+_0x3d1bc3[_0xdc4843(0x219)]);}),this['_startHeartbeat'](_0x2f29ef),this['_setupRedis'](),this['_initialized']=!![],this['_logger']['info']({'event':_0x188531[_0xc7d920(0x257)],'mode':'full','path':_0x188531[_0xc7d920(0x20a)],'heartbeat':_0x2f29ef+'s'},_0xc7d920(0x22e)+_0x2f29ef+'s)');}[a0_0x54e254(0x227)](_0x1bbbeb={}){const _0x191d24=a0_0x54e254,_0x51531f={'AiRlw':_0x191d24(0x245),'WUURA':_0x191d24(0x1e5),'TBbmv':_0x191d24(0x248)},_0x378f09=_0x51531f[_0x191d24(0x264)][_0x191d24(0x244)]('|');let _0x4f45d3=0x0;while(!![]){switch(_0x378f09[_0x4f45d3++]){case'0':if(this[_0x191d24(0x241)])return;continue;case'1':this[_0x191d24(0x204)]=_0x51531f['WUURA'];continue;case'2':this['_logger']['info']({'event':'livesync_publisher_initialized','mode':_0x191d24(0x1e5)},'Live\x20Sync\x20publisher\x20initialized\x20(Redis-only,\x20no\x20WebSocket\x20server)');continue;case'3':this[_0x191d24(0x241)]=!![];continue;case'4':try{this[_0x191d24(0x1ee)]=require(_0x51531f['TBbmv'])[_0x191d24(0x247)]||console;}catch(_0x29edd7){this['_logger']=console;}continue;case'5':this[_0x191d24(0x23f)]();continue;case'6':this[_0x191d24(0x262)]=_0x1bbbeb;continue;}break;}}['isInitialized'](){const _0x4ea162=a0_0x54e254;return this[_0x4ea162(0x241)];}['broadcast'](_0x1543d5,_0x53828e){const _0x518df8=a0_0x54e254,_0x1119f9={'APFvq':function(_0x25f7ff,_0x31732a){return _0x25f7ff===_0x31732a;},'EgxIL':function(_0x304817,_0x4b984c){return _0x304817===_0x4b984c;},'hVgTd':function(_0x12d974,_0x49967f){return _0x12d974>_0x49967f;}};if(!this[_0x518df8(0x241)])return;if(this['_mode']===_0x518df8(0x1e5)){this['_publishToRedis'](_0x1543d5,_0x53828e);return;}const _0x5b0882=JSON['stringify']({'type':'data_change','channel':_0x1543d5,'action':_0x53828e['action'],'data':_0x53828e['data'],'requestId':_0x53828e['requestId']||null,'timestamp':new Date()['toISOString']()}),[_0x13ad0b]=_0x1543d5['split'](':');let _0x5f0f05=0x0;for(const [_0x4a2725,_0x59c8bd]of this['_subscriptions']){const _0x136d4b=_0x1119f9['APFvq'](_0x4a2725,_0x1543d5),_0x504b77=_0x1119f9['EgxIL'](_0x4a2725,_0x13ad0b+':*');if(_0x136d4b||_0x504b77)for(const _0x545145 of _0x59c8bd){if(_0x1119f9[_0x518df8(0x218)](_0x545145['readyState'],0x1))try{_0x545145[_0x518df8(0x23b)](_0x5b0882),_0x5f0f05++;}catch(_0x32059b){}}}_0x1119f9[_0x518df8(0x203)](_0x5f0f05,0x0)&&this['_logger']['debug']({'event':'livesync_broadcast','channel':_0x1543d5,'action':_0x53828e['action'],'clients':_0x5f0f05},'Broadcast\x20'+_0x53828e[_0x518df8(0x1f2)]+'\x20on\x20'+_0x1543d5+_0x518df8(0x25b)+_0x5f0f05+'\x20client(s)');}['_publishToRedis'](_0x41b4c1,_0x3c4a16){const _0xf92fa1=a0_0x54e254;if(!this['_redisPublisher'])return;const _0x433645=JSON['stringify']({'channel':_0x41b4c1,'message':_0x3c4a16,'workerId':this[_0xf92fa1(0x249)]});this[_0xf92fa1(0x225)]['publish'](REDIS_CHANNEL_PREFIX+'broadcast',_0x433645)['catch'](()=>{});}['shutdown'](){const _0x15bfeb=a0_0x54e254,_0x5a41cc={'jtTfC':function(_0xe0e37b,_0x5aaaa8){return _0xe0e37b(_0x5aaaa8);},'ifUyl':'Server\x20shutting\x20down','jWQyn':'livesync_shutdown'};if(!this['_initialized'])return;this[_0x15bfeb(0x205)]&&(_0x5a41cc['jtTfC'](clearInterval,this['_heartbeatTimer']),this[_0x15bfeb(0x205)]=null);if(this['_wss']){for(const _0x392e5a of this[_0x15bfeb(0x224)][_0x15bfeb(0x1f0)]){try{_0x392e5a[_0x15bfeb(0x212)](0x3e9,_0x5a41cc[_0x15bfeb(0x242)]);}catch(_0x2b6bb8){}}this[_0x15bfeb(0x224)][_0x15bfeb(0x212)]();}if(this['_redisSubscriber'])try{this[_0x15bfeb(0x1fb)]['unsubscribe'](),this[_0x15bfeb(0x1fb)]['quit']();}catch(_0x3c8401){}if(this['_ownPublisher']&&this[_0x15bfeb(0x225)])try{this[_0x15bfeb(0x225)][_0x15bfeb(0x1ea)]();}catch(_0x2d3893){}this[_0x15bfeb(0x207)]['clear'](),this['_initialized']=![],this[_0x15bfeb(0x1ee)]['info']({'event':_0x5a41cc[_0x15bfeb(0x202)],'mode':this[_0x15bfeb(0x204)]},_0x15bfeb(0x230)+this[_0x15bfeb(0x204)]+_0x15bfeb(0x1f1));}['_setupUpgradeAuth'](_0x525bd0){const _0x12a0f7=a0_0x54e254,_0x198f61={'UVpJu':_0x12a0f7(0x21a),'ZCjKm':_0x12a0f7(0x25c)},_0xaf980=_0x525bd0[_0x12a0f7(0x254)]('upgrade')[_0x12a0f7(0x229)]();_0x525bd0['removeAllListeners'](_0x198f61[_0x12a0f7(0x215)]),_0x525bd0['on'](_0x12a0f7(0x25c),(_0x22aed4,_0x562912,_0x481820)=>{const _0x3a95de=_0x12a0f7;if(!_0x22aed4[_0x3a95de(0x1e7)]||!_0x22aed4['url']['startsWith']('/ws')){for(const _0x3f8c1b of _0xaf980){_0x3f8c1b[_0x3a95de(0x250)](_0x525bd0,_0x22aed4,_0x562912,_0x481820);}return;}if(this['_options']['apiKey']){const _0x553730=new URL(_0x22aed4['url'],_0x3a95de(0x210)+(_0x22aed4['headers']['host']||'localhost')),_0x163c0b=_0x553730['searchParams']['get']('x-api-key')||_0x22aed4[_0x3a95de(0x21f)]['x-api-key'];if(!_0x163c0b||_0x163c0b!==this['_options']['apiKey']){_0x562912[_0x3a95de(0x256)]('HTTP/1.1\x20401\x20Unauthorized\x0d\x0a\x0d\x0a'),_0x562912['destroy']();return;}}this['_wss']['handleUpgrade'](_0x22aed4,_0x562912,_0x481820,_0x47b089=>{const _0x4bf146=_0x3a95de;this['_wss']['emit'](_0x198f61[_0x4bf146(0x20e)],_0x47b089,_0x22aed4);});});}['_handleConnection'](_0x3a82e3,_0x12f720){const _0x56672c=a0_0x54e254,_0x128e13={'oxyhu':_0x56672c(0x24e),'xjKos':'x-forwarded-for','FrHIw':'pong','nqtKA':'close','ZVGkX':'error'};_0x3a82e3[_0x56672c(0x1e6)]=!![],_0x3a82e3[_0x56672c(0x1ff)]=new Set();const _0x2002e9=_0x12f720['headers'][_0x128e13[_0x56672c(0x1e4)]]||_0x12f720['socket']['remoteAddress'];this['_logger']['info']({'event':_0x56672c(0x22b),'ip':_0x2002e9},'Live\x20Sync\x20client\x20connected\x20from\x20'+_0x2002e9),_0x3a82e3['on'](_0x128e13['FrHIw'],()=>{const _0x405986=_0x56672c;_0x3a82e3[_0x405986(0x1e6)]=!![];}),_0x3a82e3['on'](_0x56672c(0x219),_0x585114=>{const _0x1573fa=_0x56672c;try{const _0x139615=JSON[_0x1573fa(0x260)](_0x585114[_0x1573fa(0x206)]());this['_handleClientMessage'](_0x3a82e3,_0x139615);}catch(_0x52d12a){this[_0x1573fa(0x21c)](_0x3a82e3,{'type':'error','message':'Invalid\x20JSON\x20message'});}}),_0x3a82e3['on'](_0x128e13['nqtKA'],()=>{const _0x2128d0=_0x56672c;this['_removeClientFromAllChannels'](_0x3a82e3),this[_0x2128d0(0x1ee)][_0x2128d0(0x1fc)]({'event':'livesync_client_disconnected','ip':_0x2002e9},'Live\x20Sync\x20client\x20disconnected:\x20'+_0x2002e9);}),_0x3a82e3['on'](_0x128e13['ZVGkX'],_0x37118f=>{const _0x59bac9=_0x56672c;this['_logger']['warn']({'event':_0x128e13[_0x59bac9(0x208)],'error':_0x37118f[_0x59bac9(0x219)]},_0x59bac9(0x1f5)+_0x37118f[_0x59bac9(0x219)]),this['_removeClientFromAllChannels'](_0x3a82e3);});}['_handleClientMessage'](_0x14f261,_0x2415b4){const _0x48d160=a0_0x54e254,_0x4b638c={'WeUqb':'pong','UjeIh':_0x48d160(0x1fa)};switch(_0x2415b4[_0x48d160(0x24d)]){case _0x48d160(0x209):this['_handleSubscribe'](_0x14f261,_0x2415b4[_0x48d160(0x258)]);break;case _0x48d160(0x22a):this['_handleUnsubscribe'](_0x14f261,_0x2415b4[_0x48d160(0x258)]);break;case _0x4b638c[_0x48d160(0x255)]:_0x14f261[_0x48d160(0x1e6)]=!![];break;default:this[_0x48d160(0x21c)](_0x14f261,{'type':_0x4b638c[_0x48d160(0x22f)],'message':'Unknown\x20message\x20type:\x20'+_0x2415b4[_0x48d160(0x24d)]});}}[a0_0x54e254(0x1e8)](_0x556a14,_0x42a0f8){const _0xe49a8f=a0_0x54e254,_0x7ccad2={'OlzbY':function(_0x1784d8,_0x12d172){return _0x1784d8===_0x12d172;},'BGwWI':_0xe49a8f(0x1fa),'hLolM':'string','fWibQ':'subscribed'};if(!Array[_0xe49a8f(0x20d)](_0x42a0f8)||_0x7ccad2['OlzbY'](_0x42a0f8['length'],0x0)){this[_0xe49a8f(0x21c)](_0x556a14,{'type':_0x7ccad2['BGwWI'],'message':'channels\x20must\x20be\x20a\x20non-empty\x20array'});return;}const _0x455380=[];for(const _0x520f6e of _0x42a0f8){if(typeof _0x520f6e!==_0x7ccad2[_0xe49a8f(0x22c)]||!_0x520f6e['includes'](':'))continue;!this[_0xe49a8f(0x207)][_0xe49a8f(0x1f4)](_0x520f6e)&&this[_0xe49a8f(0x207)][_0xe49a8f(0x235)](_0x520f6e,new Set()),this[_0xe49a8f(0x207)]['get'](_0x520f6e)['add'](_0x556a14),_0x556a14[_0xe49a8f(0x1ff)]['add'](_0x520f6e),_0x455380['push'](_0x520f6e);}_0x455380[_0xe49a8f(0x23c)]>0x0&&(this['_sendToClient'](_0x556a14,{'type':_0x7ccad2['fWibQ'],'channels':_0x455380,'timestamp':new Date()['toISOString']()}),this[_0xe49a8f(0x1ee)]['debug']({'event':'livesync_subscribe','channels':_0x455380},'Client\x20subscribed\x20to:\x20'+_0x455380['join'](',\x20')));}[a0_0x54e254(0x231)](_0x201e63,_0x487f0a){const _0x524287=a0_0x54e254,_0x3b9a4a={'IziqH':function(_0x430724,_0x17c5f3){return _0x430724===_0x17c5f3;}};if(!Array['isArray'](_0x487f0a))return;const _0xecd8bf=[];for(const _0x2f67b0 of _0x487f0a){this['_subscriptions']['has'](_0x2f67b0)&&(this['_subscriptions']['get'](_0x2f67b0)[_0x524287(0x25a)](_0x201e63),_0x3b9a4a[_0x524287(0x1f8)](this['_subscriptions']['get'](_0x2f67b0)[_0x524287(0x223)],0x0)&&this[_0x524287(0x207)]['delete'](_0x2f67b0)),_0x201e63['subscribedChannels']['delete'](_0x2f67b0),_0xecd8bf['push'](_0x2f67b0);}_0xecd8bf['length']>0x0&&this['_sendToClient'](_0x201e63,{'type':_0x524287(0x24a),'channels':_0xecd8bf,'timestamp':new Date()[_0x524287(0x1fd)]()});}['_removeClientFromAllChannels'](_0x59748a){const _0x169e35=a0_0x54e254,_0x33945a={'KXHDW':function(_0x4a2856,_0x3e0d32){return _0x4a2856===_0x3e0d32;}};if(!_0x59748a[_0x169e35(0x1ff)])return;for(const _0x512f04 of _0x59748a['subscribedChannels']){this['_subscriptions'][_0x169e35(0x1f4)](_0x512f04)&&(this['_subscriptions'][_0x169e35(0x259)](_0x512f04)[_0x169e35(0x25a)](_0x59748a),_0x33945a['KXHDW'](this[_0x169e35(0x207)][_0x169e35(0x259)](_0x512f04)[_0x169e35(0x223)],0x0)&&this['_subscriptions'][_0x169e35(0x25a)](_0x512f04));}_0x59748a['subscribedChannels']['clear']();}['_sendToClient'](_0x5b9c44,_0x4e632b){const _0x57c917=a0_0x54e254,_0x51119b={'ijbIH':function(_0x31bf66,_0x591d81){return _0x31bf66===_0x591d81;}};if(_0x51119b['ijbIH'](_0x5b9c44[_0x57c917(0x23e)],0x1))try{_0x5b9c44[_0x57c917(0x23b)](JSON['stringify'](_0x4e632b));}catch(_0x15f7c3){}}[a0_0x54e254(0x25e)](_0x2f3144){const _0x174c21=a0_0x54e254,_0x378b3b={'wqQjW':_0x174c21(0x24b),'kBCYD':function(_0x33640c,_0xfea3ed,_0x5b76ff){return _0x33640c(_0xfea3ed,_0x5b76ff);},'Wupnl':function(_0x2a1713,_0x375b9d){return _0x2a1713*_0x375b9d;}};this[_0x174c21(0x205)]=_0x378b3b['kBCYD'](setInterval,()=>{const _0x43f1ed=_0x174c21;if(!this['_wss'])return;for(const _0x13a8ea of this[_0x43f1ed(0x224)]['clients']){if(!_0x13a8ea[_0x43f1ed(0x1e6)]){this[_0x43f1ed(0x220)](_0x13a8ea),_0x13a8ea[_0x43f1ed(0x21b)]();continue;}_0x13a8ea[_0x43f1ed(0x1e6)]=![],this['_sendToClient'](_0x13a8ea,{'type':_0x378b3b['wqQjW'],'timestamp':new Date()['toISOString']()});try{_0x13a8ea[_0x43f1ed(0x24b)]();}catch(_0x4b8a66){}}},_0x378b3b[_0x174c21(0x1f9)](_0x2f3144,0x3e8));}['_setupRedisPublisher'](){const _0x15d2fb=a0_0x54e254,_0x1a7f77={'RciXu':function(_0x235422,_0x4afb62){return _0x235422(_0x4afb62);},'qiKAB':_0x15d2fb(0x24c),'dYNSJ':'livesync_redis_unavailable'};this['_ownPublisher']=![];try{try{const _0x43e62e=require(_0x15d2fb(0x20b));this[_0x15d2fb(0x225)]=_0x43e62e['getClient']?_0x43e62e['getClient']():null;}catch(_0x416c15){this[_0x15d2fb(0x225)]=null;}if(!this[_0x15d2fb(0x225)]){const _0x34e311=_0x1a7f77['RciXu'](require,_0x1a7f77['qiKAB']),_0x5ec468={'host':process['env']['REDIS_HOST']||'127.0.0.1','port':parseInt(process[_0x15d2fb(0x20c)]['REDIS_PORT'],0xa)||0x18eb,'password':process[_0x15d2fb(0x20c)]['REDIS_PASSWORD']||undefined,'db':parseInt(process['env']['REDIS_DB'],0xa)||0x0,'lazyConnect':!![]};this[_0x15d2fb(0x225)]=new _0x34e311(_0x5ec468),this['_ownPublisher']=!![],this['_redisPublisher']['connect']()['catch'](()=>{const _0x40750b=_0x15d2fb;this[_0x40750b(0x1ee)][_0x40750b(0x25f)]({'event':'livesync_redis_publisher_failed'},'Failed\x20to\x20connect\x20Redis\x20publisher\x20for\x20Live\x20Sync'),this[_0x40750b(0x225)]=null;});}}catch(_0x4276fd){this[_0x15d2fb(0x1ee)]['warn']({'event':_0x1a7f77[_0x15d2fb(0x261)],'error':_0x4276fd['message']},_0x15d2fb(0x23d)+_0x4276fd['message']);}}[a0_0x54e254(0x263)](){const _0x119918=a0_0x54e254,_0x14ffcc={'XRHvp':'livesync_redis_publisher_failed','oGvgn':'Failed\x20to\x20connect\x20Redis\x20publisher\x20for\x20Live\x20Sync','qvzXG':'livesync_redis_subscribed','ovupE':_0x119918(0x1eb),'xUfZE':_0x119918(0x24c),'uuBkR':function(_0x399814,_0x479b1b,_0x47f43c){return _0x399814(_0x479b1b,_0x47f43c);},'XyIeF':function(_0x9b87c1,_0x487f5d){return _0x9b87c1(_0x487f5d);},'nRQjf':'livesync_redis_unavailable'};this[_0x119918(0x1f6)]=![];try{const _0x33d8d6=require(_0x14ffcc['xUfZE']),_0x9a6428={'host':process['env']['REDIS_HOST']||_0x119918(0x1f3),'port':parseInt(process['env'][_0x119918(0x1e9)],0xa)||0x18eb,'password':process[_0x119918(0x20c)][_0x119918(0x1ec)]||undefined,'db':_0x14ffcc['uuBkR'](parseInt,process['env']['REDIS_DB'],0xa)||0x0,'lazyConnect':!![]};try{const _0x412210=_0x14ffcc[_0x119918(0x24f)](require,_0x119918(0x20b));this['_redisPublisher']=_0x412210[_0x119918(0x246)]?_0x412210['getClient']():null;}catch(_0x464c0f){this[_0x119918(0x225)]=null;}!this['_redisPublisher']&&(this['_redisPublisher']=new _0x33d8d6(_0x9a6428),this[_0x119918(0x1f6)]=!![],this[_0x119918(0x225)]['connect']()[_0x119918(0x23a)](()=>{const _0x255326=_0x119918;this['_logger'][_0x255326(0x25f)]({'event':_0x14ffcc[_0x255326(0x252)]},_0x14ffcc[_0x255326(0x22d)]),this[_0x255326(0x225)]=null;})),this['_redisSubscriber']=new _0x33d8d6(_0x9a6428),this[_0x119918(0x1fb)]['connect']()[_0x119918(0x1f7)](()=>{const _0x1491e9=_0x119918,_0x17e2dd={'IjQWx':_0x14ffcc[_0x1491e9(0x236)]};this[_0x1491e9(0x1fb)][_0x1491e9(0x209)](REDIS_CHANNEL_PREFIX+_0x1491e9(0x20f),_0x540ed8=>{const _0x53e7c3=_0x1491e9;if(_0x540ed8){this['_logger'][_0x53e7c3(0x1fa)]({'event':'livesync_redis_subscribe_error','error':_0x540ed8[_0x53e7c3(0x219)]},'Failed\x20to\x20subscribe\x20to\x20Redis\x20channel:\x20'+_0x540ed8['message']);return;}this['_logger'][_0x53e7c3(0x226)]({'event':_0x17e2dd[_0x53e7c3(0x237)]},'Live\x20Sync\x20Redis\x20subscriber\x20active\x20for\x20cluster\x20mode');}),this[_0x1491e9(0x1fb)]['on'](_0x1491e9(0x219),(_0xf14b7b,_0x1c3238)=>{const _0x597fa2=_0x1491e9;try{const _0x5a371d=JSON[_0x597fa2(0x260)](_0x1c3238);if(_0x5a371d[_0x597fa2(0x243)]===this['_workerId'])return;this['_broadcastLocal'](_0x5a371d['channel'],_0x5a371d['message']);}catch(_0x1aa644){}});})['catch'](()=>{const _0x150b7b=_0x119918;this[_0x150b7b(0x1ee)]['warn']({'event':'livesync_redis_subscriber_failed'},_0x14ffcc['ovupE']),this['_redisSubscriber']=null;});}catch(_0x494e1d){this[_0x119918(0x1ee)][_0x119918(0x25f)]({'event':_0x14ffcc[_0x119918(0x221)],'error':_0x494e1d['message']},_0x119918(0x25d)+_0x494e1d[_0x119918(0x219)]);}}[a0_0x54e254(0x1e3)](_0x6375bc,_0x435781){const _0x1d4385=a0_0x54e254,_0x5b7fcd={'PghRi':function(_0x43971f,_0xefe3fc){return _0x43971f===_0xefe3fc;},'kKZMN':function(_0x13e458,_0x396f15){return _0x13e458||_0x396f15;}};if(!this[_0x1d4385(0x224)])return;const _0x2d7e35=JSON[_0x1d4385(0x21d)]({'type':'data_change','channel':_0x6375bc,'action':_0x435781['action'],'data':_0x435781[_0x1d4385(0x228)],'requestId':_0x435781[_0x1d4385(0x1ef)]||null,'timestamp':new Date()['toISOString']()}),[_0x298ecf]=_0x6375bc[_0x1d4385(0x244)](':');for(const [_0x4a82d5,_0x5a8522]of this[_0x1d4385(0x207)]){const _0x41ce23=_0x5b7fcd[_0x1d4385(0x232)](_0x4a82d5,_0x6375bc),_0x3bd1ba=_0x4a82d5===_0x298ecf+':*';if(_0x5b7fcd[_0x1d4385(0x222)](_0x41ce23,_0x3bd1ba))for(const _0x217213 of _0x5a8522){if(_0x5b7fcd['PghRi'](_0x217213['readyState'],0x1))try{_0x217213[_0x1d4385(0x23b)](_0x2d7e35);}catch(_0x14c46a){}}}}}function a0_0x24be(){const _0x2406b3=['v3jsu2O','BgLZDgvUzxjZ','v2vvCwi','D3jPDgu','yLbUCNi','y2HHBM5LBhm','z2v0','zgvSzxrL','ihrVia','DxbNCMfKzq','uMvKAxmGBM90igf2ywLSywjSzsbMB3iGtgL2zsbtEw5JignSDxn0zxiGBw9KztOG','x3n0yxj0sgvHCNrIzwf0','D2fYBG','CgfYC2u','zfLou0O','x29WDgLVBNm','x3nLDhvWuMvKAxm','qwLsBhC','BgL2zxn5BMnFAw5PDgLHBgL6zwq','x2jYB2fKy2fZDeXVy2fS','EgPlB3m','ChvIBgLZAgvY','AxnbBgL2zq','DxjS','x2HHBMrSzvn1yNnJCMLIzq','uKvesvnFue9sva','CxvPDa','rMfPBgvKihrVignVBM5Ly3qGuMvKAxmGC3vIC2nYAwjLCIbMB3iGtgL2zsbtEw5JignSDxn0zxiGBw9Kzq','uKvesvnFueftu1DpuKq','v2vIu29JA2v0ihnLCNzLCIbLCNjVCJOG','x2XVz2DLCG','CMvXDwvZDeLK','y2XPzw50CW','ihnODxqGzg93BG','ywn0Aw9U','mti3lJaUmc4X','AgfZ','v2vIu29JA2v0ignSAwvUDcbLCNjVCJOG','x293BLb1yMXPC2HLCG','DgHLBG','sxPPCuG','v3vWBMW','zxjYB3i','x3jLzgLZu3vIC2nYAwjLCG','zgvIDwC','Dg9ju09tDhjPBMC','mJa4mJG0vvvjseH1','C3vIC2nYAwjLzenOyw5UzwXZ','BgL2zxn5BMnFD3nZx2vYCM9Y','mZK4mM1Qt1LREG','ALDrEw4','AfzNvgq','x21Vzgu','x2HLyxj0yMvHDfrPBwvY','Dg9tDhjPBMC','x3n1yNnJCMLWDgLVBNm','B3H5Ahu','C3vIC2nYAwjL','yKz4t3G','lI4VlI4VDxrPBhmVCMvKAxmTy2XPzw50','zw52','AxnbCNjHEq','vvzWsNu','yNjVywrJyxn0','Ahr0CdOVlW','mJq4otjNtKLOA1C','y2XVC2u','mJC2nZq2neDNzMjezq','zxHWB3j0CW','wKnQs20','mte5rNLfDgfJ','Aw5PDgLHBgL6zq','qvbgDNe','BwvZC2fNzq','y29UBMvJDgLVBG','DgvYBwLUyxrL','x3nLBMruB0nSAwvUDa','C3rYAw5NAwz5','mtq3otq4ndzLtuPmCgG','AgvHzgvYCW','x3jLBw92zunSAwvUDezYB21bBgXdAgfUBMvSCW','BLjrAMy','A0TAtu4','C2L6zq','x3DZCW','x3jLzgLZuhvIBgLZAgvY','Aw5MBW','Aw5PDgLHBgL6zufZuhvIBgLZAgvY','zgf0yq','C2XPy2u','Dw5ZDwjZy3jPyMu','BgL2zxn5BMnFy2XPzw50x2nVBM5Ly3rLza','AeXVBe0','B0D2z24','tgL2zsbtEw5JihnLCNzLCIbPBML0AwfSAxPLzcbHDcaVD3mGkgHLyxj0yMvHDdOG','vwPLswG','tgL2zsbtEw5Jia','x2HHBMrSzvvUC3vIC2nYAwjL','ugDOuMK','mti0nuPRzvrVrW','odm5mJC5mLjnrvzHrG','C2v0','Cxz6weC','swPrv3G','l3DZ','mtbUzhP3Cfm','y2f0y2G','C2vUza','BgvUz3rO','uMvKAxmGBM90igf2ywLSywjSzsbMB3iGtgL2zsbtEw5Jihb1yMXPC2HLCJOG','CMvHzhLtDgf0zq','x3nLDhvWuMvKAxnqDwjSAxnOzxi','mJblq3PSCe4','x2LUAxrPywXPEMvK','AwzvEwW','D29YA2vYswq','C3bSAxq','mhW2Fdf8nhW1Fdn8mG','z2v0q2XPzw50','Bg9Nz2vY','lI4VlI4VDxrPBhmVBg9Nz2vY','x3DVCMTLCKLK','Dw5ZDwjZy3jPyMvK','CgLUzW','Aw9YzwrPCW','DhLWzq','BgL2zxn5BMnFy2XPzw50x2vYCM9Y','whLjzuy','y2fSBa','nZqWmtKYnfLKuMjSEa','wfjiDNa'];a0_0x24be=function(){return _0x2406b3;};return a0_0x24be();}module[a0_0x54e254(0x214)]=WebSocketBroadcaster;
1
+ 'use strict';const a0_0x5c0261=a0_0x2342;function a0_0x2342(_0x381094,_0x32465a){_0x381094=_0x381094-0x15c;const _0xf92005=a0_0xf920();let _0x234289=_0xf92005[_0x381094];if(a0_0x2342['mLsdTh']===undefined){var _0x29ab74=function(_0x8bc804){const _0x3ec100='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x117100='',_0x2257f6='';for(let _0x430467=0x0,_0x5d3d8f,_0x73f0af,_0x102c00=0x0;_0x73f0af=_0x8bc804['charAt'](_0x102c00++);~_0x73f0af&&(_0x5d3d8f=_0x430467%0x4?_0x5d3d8f*0x40+_0x73f0af:_0x73f0af,_0x430467++%0x4)?_0x117100+=String['fromCharCode'](0xff&_0x5d3d8f>>(-0x2*_0x430467&0x6)):0x0){_0x73f0af=_0x3ec100['indexOf'](_0x73f0af);}for(let _0x249a01=0x0,_0x5cb84e=_0x117100['length'];_0x249a01<_0x5cb84e;_0x249a01++){_0x2257f6+='%'+('00'+_0x117100['charCodeAt'](_0x249a01)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2257f6);};a0_0x2342['DmgRfh']=_0x29ab74,a0_0x2342['vTfycP']={},a0_0x2342['mLsdTh']=!![];}const _0x4c71c2=_0xf92005[0x0],_0x53d77c=_0x381094+_0x4c71c2,_0x25113a=a0_0x2342['vTfycP'][_0x53d77c];return!_0x25113a?(_0x234289=a0_0x2342['DmgRfh'](_0x234289),a0_0x2342['vTfycP'][_0x53d77c]=_0x234289):_0x234289=_0x25113a,_0x234289;}(function(_0x3dceb0,_0x2f1bdb){const _0x59d625=a0_0x2342,_0x5c438e=_0x3dceb0();while(!![]){try{const _0xc94349=parseInt(_0x59d625(0x1bc))/0x1*(parseInt(_0x59d625(0x175))/0x2)+parseInt(_0x59d625(0x17d))/0x3*(-parseInt(_0x59d625(0x18b))/0x4)+parseInt(_0x59d625(0x1df))/0x5+-parseInt(_0x59d625(0x195))/0x6*(-parseInt(_0x59d625(0x16d))/0x7)+parseInt(_0x59d625(0x1e7))/0x8+-parseInt(_0x59d625(0x18c))/0x9+-parseInt(_0x59d625(0x1b9))/0xa;if(_0xc94349===_0x2f1bdb)break;else _0x5c438e['push'](_0x5c438e['shift']());}catch(_0x36ec2b){_0x5c438e['push'](_0x5c438e['shift']());}}}(a0_0xf920,0xcbb56));function a0_0xf920(){const _0x115298=['CxvPDa','BgL2zxn5BMnFy2XPzw50x2nVBM5Ly3rLza','tuTwBvm','u2vYDMvYihnODxr0Aw5NigrVD24','z3HOA0S','lI4VlI4VDxrPBhmVBg9Nz2vY','y2XPzw50CW','Aw5JBhvKzxm','DhLWzq','uMvKAxmGBM90igf2ywLSywjSzsbMB3iGtgL2zsbtEw5JignSDxn0zxiGBw9KztOG','BgLZDgvUzxjZ','CMvXDwvZDeLK','z0rZDMe','BgL2zxn5BMnFChvIBgLZAgvYx2LUAxrPywXPEMvK','CgfYC2u','tgL2zsbtEw5Jihb1yMXPC2HLCIbPBML0AwfSAxPLzcaOuMvKAxmTB25SEsWGBM8Gv2vIu29JA2v0ihnLCNzLCIK','D0vIBLm','rKXIv0G','x2jYB2fKy2fZDeXVy2fS','uKvesvnFue9sva','teLwrv9twu5dx0HfqvjuqKvbvf9jtLrfuLzbta','Aw5MBW','rw1Pwhm','DxfUrKe','CgLUzW','x3DVCMTLCKLK','rw5wtK4','C2H1DgrVD24','y29UBMvJDa','x29WDgLVBNm','mJeWndiXnujMrfrrwG','CgLK','y3LTrKe','vfznsum','x2HLyxj0yMvHDfrPBwvY','x293BLb1yMXPC2HLCG','v1H0ELa','zgf0yv9JAgfUz2u','nJq5nda4oePez25jwa','Ec1MB3j3yxjKzwqTzM9Y','tLDbCM4','uKvesvnFrei','x3nLDhvWvxbNCMfKzuf1DgG','y2f0y2G','v0z3DKy','C3rHCNrZv2L0Aa','Dg9ju09tDhjPBMC','uMvKAxmGBM90igf2ywLSywjSzsbMB3iGtgL2zsbtEw5Jihb1yMXPC2HLCJOG','Cg9UzW','uKvesvnFueftu1DpuKq','qNjVywrJyxn0ia','x2HHBMrSzunVBM5Ly3rPB24','AgvHzgvYCW','zgf0yq','x3nLDhvWuMvKAxnqDwjSAxnOzxi','x21Vzgu','sMX0yLm','D3jPDgu','Aw9YzwrPCW','tgL2zsbtEw5JihnLCNzLCIbPBML0AwfSAxPLzcbHDcaVD3mGkgHLyxj0yMvHDdOG','DfnvB0O','rMfPBgvKihrVignVBM5Ly3qGuMvKAxmGC3vIC2nYAwjLCIbMB3iGtgL2zsbtEw5JignSDxn0zxiGBw9Kzq','y2HHBM5LBhmGBxvZDcbIzsbHig5VBI1LBxb0EsbHCNjHEq','mtK2zLDUzuLS','BwvZC2fNzq','lI4VlI4VDxrPBhmVCMvKAxmTy2XPzw50','y2fSBa','BgL2zxn5BMnFyNjVywrJyxn0','x2HHBMrSzvvUC3vIC2nYAwjL','Ahr0CdOVlW','C3vIC2nYAwjLzenOyw5UzwXZ','mMLgtvnpra','ywn0Aw9U','BgL2zxn5BMnFC2H1DgrVD24','ChvIBgLZAgvY','s0TlDvK','yNvrCvG','C3bSAxq','yxbPs2v5','nJLABvbYBMK','z2v0q2XPzw50','x2HHBMrSzvn1yNnJCMLIzq','zw52','C3rYAw5N','C2vUza','x3b1yMXPC2HuB1jLzgLZ','x3jLzgLZuhvIBgLZAgvY','ChvZAa','x3nLBMruB0nSAwvUDa','ignSAwvUDcHZkq','x3DZCW','zgvSzxrL','ihrVia','mJy1ota0ugfKu2n3','mJm3nJu3nNLSD3jXza','vhzfvw8','y2HHBM5LBa','C2X6D0q','x3n1yNnJCMLWDgLVBNm','BgL2zxn5BMnFAw5PDgLHBgL6zwq','CNfOt2m','C2v0','CMvTB3zLqwXStgLZDgvUzxjZ','mtC0nZa4sNrZz3LN','zxjYB3i','ueTgs2W','x3n0yxj0sgvHCNrIzwf0','zgvZDhjVEq','AgfZ','x3jLBw92zunSAwvUDezYB21bBgXdAgfUBMvSCW','x3jLzgLZu3vIC2nYAwjLCG','sfruuc8XlJeGndaXifvUyxv0Ag9YAxPLza0kdqO','AxnbCNjHEq','BgL2zxn5BMnFCMvKAxnFChvIBgLZAgvYx2zHAwXLza','zNvSBa','CMvTB3rLqwrKCMvZCW','ywrK','x3nLDhvWuMvKAxm','vfHryxm','AgfUzgXLvxbNCMfKzq','tgL2zsbtEw5JignSAwvUDcbKAxnJB25Uzwn0zwq6ia','yNjVywrJyxn0','tgL2zsbtEw5JifjLzgLZihn1yNnJCMLIzxiGywn0AxzLigzVCIbJBhvZDgvYig1Vzgu','x2HHBMrSzunSAwvUDe1LC3nHz2u','C2vHCMnOugfYyw1Z','C2L6zq','x2LUAxrPywXPEMvK','zMH2Eee','DxbNCMfKzq','BgL2zxn5BMnFCMvKAxnFDw5HDMfPBgfIBgu','x2XVz2DLCG','D2fYBG','tKrIs1G','zgvIDwC','tgL2zsbtEw5JignSAwvUDcbJB25Uzwn0zwqGzNjVBsa','uxfHuwm','CMvHzhLtDgf0zq','nNW1Fdj8oxWXFdr8ohW3Fdb8mW','z2v0','nZa4nZe3mhHoDwnRzW','l3DZ','C3rYAw5NAwz5','mti4odiXmxDlC0nlwq','ihnODxqGzg93BG','y2XLyxi','CvneCxO','AxnbBgL2zq'];a0_0xf920=function(){return _0x115298;};return a0_0xf920();}const {WebSocketServer}=require('ws'),{URL}=require('url'),REDIS_CHANNEL_PREFIX='restforge:livesync:';class WebSocketBroadcaster{constructor(){const _0x223aa7=a0_0x2342,_0x5cbe96={'gxhkK':_0x223aa7(0x1b7)},_0x497390=_0x5cbe96[_0x223aa7(0x1c5)]['split']('|');let _0xa49d5=0x0;while(!![]){switch(_0x497390[_0xa49d5++]){case'0':this[_0x223aa7(0x19c)]=null;continue;case'1':this[_0x223aa7(0x1b0)]=console;continue;case'2':this[_0x223aa7(0x165)]=null;continue;case'3':this[_0x223aa7(0x1da)]=process[_0x223aa7(0x1e0)];continue;case'4':this[_0x223aa7(0x190)]=new Map();continue;case'5':this['_initialized']=![];continue;case'6':this['_wss']=null;continue;case'7':this[_0x223aa7(0x184)]=null;continue;case'8':this['_heartbeatTimer']=null;continue;case'9':this['_options']={};continue;}break;}}['initialize'](_0x39c503,_0x72897a={}){const _0x2ffa25=a0_0x2342,_0x204111={'VXUOn':'livesync_wss_error','EmiXs':_0x2ffa25(0x1a0),'xdHYv':function(_0x5973ab,_0x4a163b){return _0x5973ab(_0x4a163b);},'fhvxA':function(_0x3284e9,_0x8c952e,_0x755d9f){return _0x3284e9(_0x8c952e,_0x755d9f);},'DCWSI':_0x2ffa25(0x196)};if(this[_0x2ffa25(0x1ac)])return;this['_options']=_0x72897a,this['_mode']=_0x204111[_0x2ffa25(0x1d7)];try{this['_logger']=_0x204111['xdHYv'](require,_0x2ffa25(0x1c6))['logger']||console;}catch(_0x114677){this[_0x2ffa25(0x1b0)]=console;}const _0x2d5965=_0x204111[_0x2ffa25(0x1ad)](parseInt,process['env'][_0x2ffa25(0x1d5)],0xa)||0x1e;this['_wss']=new WebSocketServer({'server':_0x39c503,'path':_0x2ffa25(0x1ba)}),this[_0x2ffa25(0x1eb)](_0x39c503),this[_0x2ffa25(0x188)]['on']('connection',(_0x256d81,_0x3e33b5)=>this[_0x2ffa25(0x161)](_0x256d81,_0x3e33b5)),this[_0x2ffa25(0x188)]['on'](_0x204111['DCWSI'],_0x4573fb=>{const _0x124cdb=_0x2ffa25;this[_0x124cdb(0x1b0)][_0x124cdb(0x196)]({'event':_0x204111['VXUOn'],'error':_0x4573fb[_0x124cdb(0x16e)]},'WebSocket\x20server\x20error:\x20'+_0x4573fb[_0x124cdb(0x16e)]);}),this[_0x2ffa25(0x198)](_0x2d5965),this[_0x2ffa25(0x1a3)](),this[_0x2ffa25(0x1ac)]=!![],this['_logger'][_0x2ffa25(0x1d6)]({'event':_0x2ffa25(0x191),'mode':'full','path':'/ws','heartbeat':_0x2d5965+'s'},_0x2ffa25(0x169)+_0x2d5965+'s)');}['initializeAsPublisher'](_0xc493c8={}){const _0x45a002=a0_0x2342,_0x531143={'NWArn':_0x45a002(0x178),'gDsva':function(_0x270557,_0x4086fa){return _0x270557(_0x4086fa);},'NDbKX':_0x45a002(0x1ce)};if(this['_initialized'])return;this[_0x45a002(0x1de)]=_0xc493c8,this['_mode']=_0x531143[_0x45a002(0x1e9)];try{this[_0x45a002(0x1b0)]=_0x531143[_0x45a002(0x1cd)](require,_0x45a002(0x1c6))['logger']||console;}catch(_0x1a7f8d){this[_0x45a002(0x1b0)]=console;}this['_setupRedisPublisher'](),this[_0x45a002(0x1ac)]=!![],this['_logger'][_0x45a002(0x1d6)]({'event':_0x531143[_0x45a002(0x1b2)],'mode':'publisher'},_0x45a002(0x1d0));}['isInitialized'](){const _0x1444e3=a0_0x2342;return this[_0x1444e3(0x1ac)];}[a0_0x5c0261(0x1a7)](_0xc463f5,_0x4cca21){const _0x58046e=a0_0x5c0261,_0x123db3={'cymFA':function(_0x139fa3,_0x3fb28c){return _0x139fa3===_0x3fb28c;},'EnVNN':function(_0x1d78d5,_0x3174a8){return _0x1d78d5===_0x3174a8;},'yeWRt':function(_0x461dcd,_0x3eb1c5){return _0x461dcd>_0x3eb1c5;},'KFvVn':_0x58046e(0x171)};if(!this[_0x58046e(0x1ac)])return;if(this['_mode']===_0x58046e(0x178)){this['_publishToRedis'](_0xc463f5,_0x4cca21);return;}const _0x5d4a1e=JSON[_0x58046e(0x1bb)]({'type':_0x58046e(0x1e6),'channel':_0xc463f5,'action':_0x4cca21[_0x58046e(0x176)],'data':_0x4cca21[_0x58046e(0x163)],'requestId':_0x4cca21[_0x58046e(0x1cc)]||null,'timestamp':new Date()['toISOString']()}),[_0x26707f]=_0xc463f5[_0x58046e(0x17b)](':');let _0xf26726=0x0;for(const [_0x145984,_0x38da77]of this['_subscriptions']){const _0x533a57=_0x123db3[_0x58046e(0x1e1)](_0x145984,_0xc463f5),_0x205440=_0x123db3[_0x58046e(0x1db)](_0x145984,_0x26707f+':*');if(_0x533a57||_0x205440)for(const _0x5630b8 of _0x38da77){if(_0x5630b8['readyState']===0x1)try{_0x5630b8[_0x58046e(0x182)](_0x5d4a1e),_0xf26726++;}catch(_0x47f21e){}}}_0x123db3['yeWRt'](_0xf26726,0x0)&&this[_0x58046e(0x1b0)][_0x58046e(0x1b3)]({'event':_0x123db3['KFvVn'],'channel':_0xc463f5,'action':_0x4cca21['action'],'clients':_0xf26726},_0x58046e(0x160)+_0x4cca21['action']+'\x20on\x20'+_0xc463f5+_0x58046e(0x18a)+_0xf26726+_0x58046e(0x187));}[a0_0x5c0261(0x183)](_0x100179,_0x34e44c){const _0x261c4e=a0_0x5c0261;if(!this['_redisPublisher'])return;const _0x1b2b38=JSON['stringify']({'channel':_0x100179,'message':_0x34e44c,'workerId':this['_workerId']});this['_redisPublisher']['publish'](REDIS_CHANNEL_PREFIX+_0x261c4e(0x1a7),_0x1b2b38)['catch'](()=>{});}[a0_0x5c0261(0x1dc)](){const _0x364c8d=a0_0x5c0261,_0xc679d0={'dcOgf':function(_0x35abb4,_0x250d49){return _0x35abb4(_0x250d49);},'PgXzG':_0x364c8d(0x1c4),'rqhOc':_0x364c8d(0x177)};if(!this[_0x364c8d(0x1ac)])return;this['_heartbeatTimer']&&(_0xc679d0['dcOgf'](clearInterval,this[_0x364c8d(0x1e3)]),this['_heartbeatTimer']=null);if(this[_0x364c8d(0x188)]){for(const _0x251ac1 of this[_0x364c8d(0x188)][_0x364c8d(0x1c7)]){try{_0x251ac1['close'](0x3e9,_0xc679d0['PgXzG']);}catch(_0x54eb6c){}}this[_0x364c8d(0x188)]['close']();}if(this['_redisSubscriber'])try{this['_redisSubscriber']['unsubscribe'](),this['_redisSubscriber']['quit']();}catch(_0x16cd77){}if(this['_ownPublisher']&&this['_redisPublisher'])try{this['_redisPublisher'][_0x364c8d(0x1c1)]();}catch(_0x441b6d){}this['_subscriptions'][_0x364c8d(0x1be)](),this['_initialized']=![],this['_logger']['info']({'event':_0xc679d0[_0x364c8d(0x192)],'mode':this[_0x364c8d(0x165)]},'Live\x20Sync\x20'+this['_mode']+_0x364c8d(0x1bd));}[a0_0x5c0261(0x1eb)](_0x1f87fb){const _0xbe6898=a0_0x5c0261,_0x262d87={'tSUoJ':'connection','xcLla':'localhost','buQqX':'x-api-key','KKKuY':function(_0x58bb7c,_0x5192c5){return _0x58bb7c!==_0x5192c5;},'qSDqz':_0xbe6898(0x19d),'lsIaA':_0xbe6898(0x1ae)},_0x1a233a=_0x1f87fb[_0xbe6898(0x1cb)]('upgrade')['slice']();_0x1f87fb[_0xbe6898(0x194)](_0x262d87['lsIaA']),_0x1f87fb['on']('upgrade',(_0x417abd,_0xa16336,_0x2a05c7)=>{const _0xf4d9be=_0xbe6898,_0x55ba97={'rKeKX':_0x262d87[_0xf4d9be(0x16a)]};if(!_0x417abd['url']||!_0x417abd['url'][_0xf4d9be(0x1ee)](_0xf4d9be(0x1ba))){for(const _0x45e753 of _0x1a233a){_0x45e753[_0xf4d9be(0x170)](_0x1f87fb,_0x417abd,_0xa16336,_0x2a05c7);}return;}if(this[_0xf4d9be(0x1de)][_0xf4d9be(0x17c)]){const _0x480f36=new URL(_0x417abd['url'],_0xf4d9be(0x173)+(_0x417abd[_0xf4d9be(0x162)]['host']||_0x262d87['xcLla'])),_0x6ab2ee=_0x480f36[_0xf4d9be(0x1aa)]['get'](_0x262d87['buQqX'])||_0x417abd[_0xf4d9be(0x162)][_0x262d87[_0xf4d9be(0x17a)]];if(!_0x6ab2ee||_0x262d87[_0xf4d9be(0x179)](_0x6ab2ee,this['_options'][_0xf4d9be(0x17c)])){_0xa16336[_0xf4d9be(0x167)](_0x262d87[_0xf4d9be(0x1bf)]),_0xa16336[_0xf4d9be(0x199)]();return;}}this['_wss'][_0xf4d9be(0x1a5)](_0x417abd,_0xa16336,_0x2a05c7,_0x15ff03=>{const _0x42071a=_0xf4d9be;this[_0x42071a(0x188)]['emit'](_0x55ba97['rKeKX'],_0x15ff03,_0x417abd);});});}[a0_0x5c0261(0x161)](_0x5036a1,_0x17c812){const _0x384bee=a0_0x5c0261,_0x55b864={'TVMIC':'error','TvEUo':'livesync_client_disconnected','PKFKl':'pong','IJhOa':_0x384bee(0x16e),'eTOti':'close'};_0x5036a1['isAlive']=!![],_0x5036a1[_0x384bee(0x174)]=new Set();const _0x46f9f9=_0x17c812['headers'][_0x384bee(0x1e8)]||_0x17c812['socket'][_0x384bee(0x1a1)];this[_0x384bee(0x1b0)]['info']({'event':_0x384bee(0x1c2),'ip':_0x46f9f9},_0x384bee(0x1b4)+_0x46f9f9),_0x5036a1['on'](_0x55b864[_0x384bee(0x197)],()=>{_0x5036a1['isAlive']=!![];}),_0x5036a1['on'](_0x55b864['IJhOa'],_0x21b316=>{const _0x1053d5=_0x384bee;try{const _0x3490be=JSON[_0x1053d5(0x1cf)](_0x21b316['toString']());this['_handleClientMessage'](_0x5036a1,_0x3490be);}catch(_0x5a055b){this[_0x1053d5(0x186)](_0x5036a1,{'type':_0x55b864[_0x1053d5(0x1e2)],'message':'Invalid\x20JSON\x20message'});}}),_0x5036a1['on'](_0x55b864['eTOti'],()=>{const _0x44c267=_0x384bee;this['_removeClientFromAllChannels'](_0x5036a1),this['_logger']['debug']({'event':_0x55b864[_0x44c267(0x18d)],'ip':_0x46f9f9},_0x44c267(0x1a6)+_0x46f9f9);}),_0x5036a1['on'](_0x55b864['TVMIC'],_0x365e67=>{const _0x301640=_0x384bee;this[_0x301640(0x1b0)][_0x301640(0x1b1)]({'event':'livesync_client_error','error':_0x365e67['message']},'WebSocket\x20client\x20error:\x20'+_0x365e67['message']),this[_0x301640(0x19b)](_0x5036a1);});}[a0_0x5c0261(0x1a9)](_0xb8ae56,_0x157d71){const _0x45fe56=a0_0x5c0261,_0xfe764f={'WFwvF':'subscribe','tZjuJ':'unsubscribe','sOsQL':_0x45fe56(0x15e)};switch(_0x157d71['type']){case _0xfe764f[_0x45fe56(0x1ed)]:this[_0x45fe56(0x17f)](_0xb8ae56,_0x157d71['channels']);break;case _0xfe764f['tZjuJ']:this[_0x45fe56(0x172)](_0xb8ae56,_0x157d71['channels']);break;case _0xfe764f['sOsQL']:_0xb8ae56[_0x45fe56(0x1c0)]=!![];break;default:this[_0x45fe56(0x186)](_0xb8ae56,{'type':'error','message':'Unknown\x20message\x20type:\x20'+_0x157d71[_0x45fe56(0x1c9)]});}}[a0_0x5c0261(0x17f)](_0x309c14,_0x4f5a01){const _0x276986=a0_0x5c0261,_0x12a6b1={'EBIut':function(_0x22728f,_0x479369){return _0x22728f===_0x479369;},'aSmVy':'error','mXFzM':_0x276986(0x16c),'uqnFA':function(_0x2732cd,_0x1f2906){return _0x2732cd!==_0x1f2906;},'MKVmS':_0x276986(0x181),'JjvYx':'subscribed'};if(!Array[_0x276986(0x19e)](_0x4f5a01)||_0x12a6b1['EBIut'](_0x4f5a01['length'],0x0)){this[_0x276986(0x186)](_0x309c14,{'type':_0x12a6b1['aSmVy'],'message':_0x12a6b1['mXFzM']});return;}const _0x28e86c=[];for(const _0x334f27 of _0x4f5a01){if(_0x12a6b1[_0x276986(0x1d8)](typeof _0x334f27,_0x12a6b1[_0x276986(0x1c3)])||!_0x334f27[_0x276986(0x1c8)](':'))continue;!this[_0x276986(0x190)][_0x276986(0x19a)](_0x334f27)&&this['_subscriptions'][_0x276986(0x193)](_0x334f27,new Set()),this['_subscriptions'][_0x276986(0x1b8)](_0x334f27)['add'](_0x309c14),_0x309c14[_0x276986(0x174)][_0x276986(0x1a2)](_0x334f27),_0x28e86c[_0x276986(0x185)](_0x334f27);}_0x28e86c['length']>0x0&&(this[_0x276986(0x186)](_0x309c14,{'type':_0x12a6b1['JjvYx'],'channels':_0x28e86c,'timestamp':new Date()['toISOString']()}),this['_logger']['debug']({'event':'livesync_subscribe','channels':_0x28e86c},'Client\x20subscribed\x20to:\x20'+_0x28e86c['join'](',\x20')));}['_handleUnsubscribe'](_0x257dad,_0x3b5f47){const _0x383c3e=a0_0x5c0261,_0xf47a52={'FLbWH':function(_0x327243,_0x3a3e26){return _0x327243===_0x3a3e26;}};if(!Array['isArray'](_0x3b5f47))return;const _0x59a92f=[];for(const _0x150af5 of _0x3b5f47){this['_subscriptions'][_0x383c3e(0x19a)](_0x150af5)&&(this[_0x383c3e(0x190)]['get'](_0x150af5)['delete'](_0x257dad),_0xf47a52[_0x383c3e(0x1d2)](this[_0x383c3e(0x190)]['get'](_0x150af5)[_0x383c3e(0x1ab)],0x0)&&this['_subscriptions']['delete'](_0x150af5)),_0x257dad[_0x383c3e(0x174)]['delete'](_0x150af5),_0x59a92f[_0x383c3e(0x185)](_0x150af5);}_0x59a92f['length']>0x0&&this[_0x383c3e(0x186)](_0x257dad,{'type':'unsubscribed','channels':_0x59a92f,'timestamp':new Date()['toISOString']()});}['_removeClientFromAllChannels'](_0x58784a){const _0x34fa5a=a0_0x5c0261,_0x482f51={'WXtzP':function(_0x382f40,_0x424707){return _0x382f40===_0x424707;}};if(!_0x58784a[_0x34fa5a(0x174)])return;for(const _0x1b0e6d of _0x58784a['subscribedChannels']){this['_subscriptions'][_0x34fa5a(0x19a)](_0x1b0e6d)&&(this['_subscriptions'][_0x34fa5a(0x1b8)](_0x1b0e6d)[_0x34fa5a(0x189)](_0x58784a),_0x482f51[_0x34fa5a(0x1e5)](this[_0x34fa5a(0x190)][_0x34fa5a(0x1b8)](_0x1b0e6d)['size'],0x0)&&this['_subscriptions'][_0x34fa5a(0x189)](_0x1b0e6d));}_0x58784a[_0x34fa5a(0x174)][_0x34fa5a(0x1be)]();}[a0_0x5c0261(0x186)](_0x4d013d,_0x5c52de){const _0x1865df=a0_0x5c0261,_0x71254f={'TXQas':function(_0x487869,_0x43eeb8){return _0x487869===_0x43eeb8;}};if(_0x71254f[_0x1865df(0x1a4)](_0x4d013d[_0x1865df(0x1b6)],0x1))try{_0x4d013d[_0x1865df(0x182)](JSON[_0x1865df(0x1bb)](_0x5c52de));}catch(_0x1b42e8){}}['_startHeartbeat'](_0x1a1bbb){const _0x47f798=a0_0x5c0261,_0x4f8dc3={'hVAMo':function(_0x4befeb,_0x5837db,_0x35216f){return _0x4befeb(_0x5837db,_0x35216f);}};this[_0x47f798(0x1e3)]=_0x4f8dc3['hVAMo'](setInterval,()=>{const _0x3f4534=_0x47f798;if(!this['_wss'])return;for(const _0x151356 of this[_0x3f4534(0x188)]['clients']){if(!_0x151356[_0x3f4534(0x1c0)]){this[_0x3f4534(0x19b)](_0x151356),_0x151356['terminate']();continue;}_0x151356['isAlive']=![],this[_0x3f4534(0x186)](_0x151356,{'type':_0x3f4534(0x1d9),'timestamp':new Date()[_0x3f4534(0x15c)]()});try{_0x151356['ping']();}catch(_0x5997d5){}}},_0x1a1bbb*0x3e8);}[a0_0x5c0261(0x164)](){const _0xd5cca=a0_0x5c0261,_0x3d73ec={'PwzzP':_0xd5cca(0x16f),'slzwD':function(_0x1dd280,_0x462b7a){return _0x1dd280(_0x462b7a);},'aYltH':'127.0.0.1','UtKsZ':function(_0x33b2f3,_0x3ef03c,_0x12b254){return _0x33b2f3(_0x3ef03c,_0x12b254);}};this['_ownPublisher']=![];try{try{const _0x3fe789=require(_0x3d73ec['PwzzP']);this['_redisPublisher']=_0x3fe789[_0xd5cca(0x17e)]?_0x3fe789['getClient']():null;}catch(_0x4ed2af){this['_redisPublisher']=null;}if(!this['_redisPublisher']){const _0x1883ac=_0x3d73ec[_0xd5cca(0x18f)](require,_0xd5cca(0x168)),_0x14712e={'host':process[_0xd5cca(0x180)]['REDIS_HOST']||_0x3d73ec['aYltH'],'port':_0x3d73ec['UtKsZ'](parseInt,process[_0xd5cca(0x180)][_0xd5cca(0x1d4)],0xa)||0x18eb,'password':process['env']['REDIS_PASSWORD']||undefined,'db':parseInt(process[_0xd5cca(0x180)][_0xd5cca(0x1ea)],0xa)||0x0,'lazyConnect':!![]};this[_0xd5cca(0x184)]=new _0x1883ac(_0x14712e),this[_0xd5cca(0x1e4)]=!![],this['_redisPublisher'][_0xd5cca(0x1dd)]()[_0xd5cca(0x1ec)](()=>{const _0x57dab5=_0xd5cca;this[_0x57dab5(0x1b0)]['warn']({'event':_0x57dab5(0x19f)},'Failed\x20to\x20connect\x20Redis\x20publisher\x20for\x20Live\x20Sync'),this['_redisPublisher']=null;});}}catch(_0x46be2d){this['_logger'][_0xd5cca(0x1b1)]({'event':_0xd5cca(0x1af),'error':_0x46be2d[_0xd5cca(0x16e)]},_0xd5cca(0x15d)+_0x46be2d['message']);}}[a0_0x5c0261(0x1a3)](){const _0x11d649=a0_0x5c0261,_0x212967={'wEbnS':'livesync_redis_subscribe_error','qVHsg':'livesync_redis_subscriber_failed','QqaQc':'127.0.0.1','JltbS':function(_0x141c59,_0x22b359,_0x29fab9){return _0x141c59(_0x22b359,_0x29fab9);},'cwxui':_0x11d649(0x1af)};this[_0x11d649(0x1e4)]=![];try{const _0x1c30ea=require('ioredis'),_0x5624cb={'host':process[_0x11d649(0x180)]['REDIS_HOST']||_0x212967[_0x11d649(0x1b5)],'port':_0x212967[_0x11d649(0x166)](parseInt,process['env'][_0x11d649(0x1d4)],0xa)||0x18eb,'password':process[_0x11d649(0x180)][_0x11d649(0x15f)]||undefined,'db':parseInt(process[_0x11d649(0x180)][_0x11d649(0x1ea)],0xa)||0x0,'lazyConnect':!![]};try{const _0x595a54=require(_0x11d649(0x16f));this['_redisPublisher']=_0x595a54[_0x11d649(0x17e)]?_0x595a54['getClient']():null;}catch(_0x3bc14a){this['_redisPublisher']=null;}!this['_redisPublisher']&&(this[_0x11d649(0x184)]=new _0x1c30ea(_0x5624cb),this[_0x11d649(0x1e4)]=!![],this['_redisPublisher']['connect']()['catch'](()=>{const _0x1a07fb=_0x11d649;this[_0x1a07fb(0x1b0)]['warn']({'event':_0x1a07fb(0x19f)},'Failed\x20to\x20connect\x20Redis\x20publisher\x20for\x20Live\x20Sync'),this[_0x1a07fb(0x184)]=null;})),this['_redisSubscriber']=new _0x1c30ea(_0x5624cb),this['_redisSubscriber'][_0x11d649(0x1dd)]()['then'](()=>{const _0x4fcfc7=_0x11d649;this[_0x4fcfc7(0x19c)]['subscribe'](REDIS_CHANNEL_PREFIX+'broadcast',_0x3de488=>{const _0x2a548c=_0x4fcfc7;if(_0x3de488){this[_0x2a548c(0x1b0)]['error']({'event':_0x212967[_0x2a548c(0x1d1)],'error':_0x3de488['message']},'Failed\x20to\x20subscribe\x20to\x20Redis\x20channel:\x20'+_0x3de488[_0x2a548c(0x16e)]);return;}this['_logger']['info']({'event':'livesync_redis_subscribed'},_0x2a548c(0x1a8));}),this['_redisSubscriber']['on'](_0x4fcfc7(0x16e),(_0x172170,_0x315f47)=>{const _0x48d215=_0x4fcfc7;try{const _0x22d77d=JSON[_0x48d215(0x1cf)](_0x315f47);if(_0x22d77d['workerId']===this['_workerId'])return;this['_broadcastLocal'](_0x22d77d[_0x48d215(0x18e)],_0x22d77d['message']);}catch(_0x4dfe5a){}});})[_0x11d649(0x1ec)](()=>{const _0x4292ee=_0x11d649;this['_logger']['warn']({'event':_0x212967['qVHsg']},_0x4292ee(0x16b)),this['_redisSubscriber']=null;});}catch(_0x35a697){this['_logger']['warn']({'event':_0x212967['cwxui'],'error':_0x35a697['message']},_0x11d649(0x1ca)+_0x35a697[_0x11d649(0x16e)]);}}[a0_0x5c0261(0x1d3)](_0x8c1c1,_0x859659){const _0x13c4ee=a0_0x5c0261,_0x37adcd={'Lozdy':function(_0x291fa2,_0xe70630){return _0x291fa2===_0xe70630;},'FQGdd':function(_0x4ffc64,_0x489079){return _0x4ffc64||_0x489079;}};if(!this[_0x13c4ee(0x188)])return;const _0x52e27b=JSON[_0x13c4ee(0x1bb)]({'type':'data_change','channel':_0x8c1c1,'action':_0x859659[_0x13c4ee(0x176)],'data':_0x859659['data'],'requestId':_0x859659[_0x13c4ee(0x1cc)]||null,'timestamp':new Date()['toISOString']()}),[_0x4837bb]=_0x8c1c1[_0x13c4ee(0x17b)](':');for(const [_0x3368a2,_0x11b26f]of this['_subscriptions']){const _0x1616d2=_0x37adcd['Lozdy'](_0x3368a2,_0x8c1c1),_0x3ce5ea=_0x3368a2===_0x4837bb+':*';if(_0x37adcd['FQGdd'](_0x1616d2,_0x3ce5ea))for(const _0x4afaa0 of _0x11b26f){if(_0x37adcd['Lozdy'](_0x4afaa0[_0x13c4ee(0x1b6)],0x1))try{_0x4afaa0['send'](_0x52e27b);}catch(_0x5883d7){}}}}}module['exports']=WebSocketBroadcaster;
@@ -1 +1 @@
1
- function a0_0x2d99(){const _0x1ab7b7=['rxHWB3j0igzPBguGzgvSzxrLza','zxHWB3j0x2nSzwfUDxbFC3rHCNq','mM1brM5IsW','y29SDw1UCW','A3vNq0K','BgvUz3rO','lI4VlI4VzxHWB3j0CY8','y29TCgXLDgvK','CM91BMq','nda0ndCYuxHTDeTd','DgDes1a','zxHWB3j0x2zHAwXLza','ignVBhvTBNm','y3jLyxrLzf9HDa','ignVBhvTBNmGzNjVBsbJDxn0B20GzxHWB3j0uxvLCNKGCMvZDwX0','rMfPBgvKihrVigzLDgnOigrHDge','zxHWB3j0x2nVBxbSzxrLza','C3rHDhvZ','DfPpEfa','Aw5MBW','BM93','rxHWB3j0ignSzwfUDxaGy29TCgXLDgvK','cIaGicaGicaG','CgvUzgLUzW','CMfUzg9T','C3rYAw5N','r1zjCKK','l2fWAs8','wwTYrhq','vxnPBMCGy3vZDg9Tigv4Cg9YDff1zxj5','x2v4Cg9YDerPCG','A0XAuNq','rMfPBgvKihrVigrLBgv0zsbLEhbVCNqGzMLSzq','AM9PBG','C2fUAxrPEMvwywX1zq','q1fksLC','EwnXBfq','zxHJzwXFy29SDw1UC19MywXSyMfJAW','zMLSDgvY','rxHWB3j0ihnLCNzPy2uGAw5PDgLHBgL6zwq','ChjVy2vZC2LUzW','Dg9mB3DLCKnHC2u','ChjVz3jLC3m','rxHWB3j0igPVyIbJCMvHDgvK','AM9Ix2LK','z2jHvum','Dg9vChbLCKnHC2u','s0fsr0O','mtfeAKLPrKm','mJi0ofzbEMfcwG','D1z2wvK','u2TPChbPBMCGAw52ywXPzcbZB3j0ignVBhvTBG','zxHWB3j0x2zLDgnOx3n0yxj0','mtu0ntGXmeTIz0rjrW','mZu3mhHTBufbBW','Cgf0Aa','zwDfBe0','ChjVy2vZC0PVyG','z2vUzxjHDgvkB2jjza','id0G','zxHWB3j0x3f1zxj5x2zPBgvFBg9HzgvK','rxHWB3j0igzPBguGBM90igzVDw5K','we9Iyvu','wKzOv1e','l2v4Cg9YDc1KB3DUBg9Hzd9QB2jFAwq9','z2v0sM9I','Dg9ju09tDhjPBMC','iefticGkicaGia','lI4VDxrPBhmVzgi','Aw52ywXPzf9JB25KAxrPB24','mJC5otCZogXIuLDeBW','D2fYBG','rxHWB3j0ihf1zxj5igzPBguGBM90igzVDw5KoIa','mteYmZG4uvHrqMXV','revtqW','AM5rB3e','DhjPBq','vxnPBMCG','wMzpu3K','y3jLyxrLsM9I','A2v5CW','rMfPBgvKihrVigLUAxrPywXPEMuGzxHWB3j0ihnLCNzPy2u','z2v0rMLSzvbHDgG','rejFvfLqrq','lI4VDxrPBhmVCMvKAxmTAgvSCgvY','vLjHvfO','zNbmv08','mJyWoty3r0Xhs0nA','vw5RBM93BIbVCgvYyxrVCIWGDxnPBMCGpsbHCYbKzwzHDwX0','odi1mZaYmfDrtNbNCW','yNvPBgrxAgvYzunSyxvZzq','ieforca','zxHPC3rZu3LUyW','rMfPBgvKihrVihjLywqGzxHWB3j0ihf1zxj5igzPBgu6ia','zxHWB3j0uxvLCNK','zxHJzwXFy29SDw1UC19ZzwXLy3rFywXS','CMvWBgfJzq','z2vUzxjHDgvfEgnLBa','tNvwDgm','zg1MqxO','BwfW','z2v0qwXSsM9ICW','ywnJzxnZ','zgvMyxvSDa','AxnbCNjHEq','rg5Rz0K','ignOyxjZkq','DwHjywG','rKHlqKS','zMLSzw5HBwu','zMLSzv9WyxrO','teLlrq','DxbKyxrLsM9I','y3DK','DLf1tw8','uMvZB2X2Aw5Nigv4Cg9YDff1zxj5igzYB20GzMLSztOG','ChjVBwLZzxm','ruDjBKG','zxHWB3j0x2nSzwfUDxbFy29TCgXLDgu','CMvHzezPBgvtEw5J','q2LlA0e','zw52','zxHWB3j0x2zLDgnOx2vYCM9Y','ignVBhvTBNmGzNjVBsbYzxf1zxn0','zMLLBgrmywjLBhm','Bw9KDwXLtMfTzq','iefticGkicaGifnftevdvca','z0XlsNu','vvbqrviO','zxHLy3v0zvf1zxj5','y2HHCKf0','y2XLyw51Ca','Dg11tMC','rxHWB3j0ihbYB2nLC3nPBMCGzMfPBgvK','cIaGicbguK9nia','CgfYyw1Z','lI4VDxrPBhmVBg9Nz2vY','q2jJuLC','lNHSC3G','CMvZB2X2zuv4Cg9YDff1zxj5','BwvZC2fNzq','Ehb4Ewi','nNbLrgXpDG','BxLZCwW','DxrMoa','Dg90ywXFCM93CW','ieLtie5vteW','tLjUtNi','y1zTzhG','yMnbuxe','zxHWB3j0x2zLDgnOx2nVBxbSzxrL','C3vIC3rYAw5N','rvHqt1jux0rjuG','rMXzC0e','zw5KCg9PBNroyw1L','y29SDw1UrM9YBwf0CW'];a0_0x2d99=function(){return _0x1ab7b7;};return a0_0x2d99();}const a0_0x281a3e=a0_0x5281;(function(_0x4ec071,_0x2c469e){const _0x390c4f=a0_0x5281,_0xa6bd05=_0x4ec071();while(!![]){try{const _0x14cd95=parseInt(_0x390c4f(0xd6))/0x1*(parseInt(_0x390c4f(0x11d))/0x2)+-parseInt(_0x390c4f(0x124))/0x3+-parseInt(_0x390c4f(0xc8))/0x4+parseInt(_0x390c4f(0xb4))/0x5*(-parseInt(_0x390c4f(0x10d))/0x6)+-parseInt(_0x390c4f(0xb5))/0x7*(parseInt(_0x390c4f(0xb0))/0x8)+-parseInt(_0x390c4f(0xc5))/0x9+-parseInt(_0x390c4f(0xd8))/0xa*(-parseInt(_0x390c4f(0xaf))/0xb);if(_0x14cd95===_0x2c469e)break;else _0xa6bd05['push'](_0xa6bd05['shift']());}catch(_0x6b443a){_0xa6bd05['push'](_0xa6bd05['shift']());}}}(a0_0x2d99,0x27032));const {v7:uuidv7}=require('uuid'),path=require(a0_0x281a3e(0xb6)),fs=require('fs')[a0_0x281a3e(0xf3)],fsSync=require('fs'),redisHelper=require(a0_0x281a3e(0xd3)),{logger,logError}=require(a0_0x281a3e(0x107)),dbType=(process['env'][a0_0x281a3e(0xd2)]||'postgresql')['toLowerCase']();function a0_0x5281(_0x37396f,_0x109aaa){_0x37396f=_0x37396f-0x91;const _0x2d99e5=a0_0x2d99();let _0x52813d=_0x2d99e5[_0x37396f];if(a0_0x5281['mRVimQ']===undefined){var _0x17570c=function(_0x19f70c){const _0x567b3e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x185d09='',_0x448705='';for(let _0x4a898a=0x0,_0x312312,_0x3470ca,_0xf465d3=0x0;_0x3470ca=_0x19f70c['charAt'](_0xf465d3++);~_0x3470ca&&(_0x312312=_0x4a898a%0x4?_0x312312*0x40+_0x3470ca:_0x3470ca,_0x4a898a++%0x4)?_0x185d09+=String['fromCharCode'](0xff&_0x312312>>(-0x2*_0x4a898a&0x6)):0x0){_0x3470ca=_0x567b3e['indexOf'](_0x3470ca);}for(let _0x3c984e=0x0,_0x412515=_0x185d09['length'];_0x3c984e<_0x412515;_0x3c984e++){_0x448705+='%'+('00'+_0x185d09['charCodeAt'](_0x3c984e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x448705);};a0_0x5281['LRMEmt']=_0x17570c,a0_0x5281['JkxFyu']={},a0_0x5281['mRVimQ']=!![];}const _0x10ae7a=_0x2d99e5[0x0],_0x9a9404=_0x37396f+_0x10ae7a,_0x5e92ef=a0_0x5281['JkxFyu'][_0x9a9404];return!_0x5e92ef?(_0x52813d=a0_0x5281['LRMEmt'](_0x52813d),a0_0x5281['JkxFyu'][_0x9a9404]=_0x52813d):_0x52813d=_0x5e92ef,_0x52813d;}let executeQuery;if(dbType==='oracle'){const oracleDb=require('../utils/db-oracle');executeQuery=(_0x47c36e,_0x49c83d)=>oracleDb[a0_0x281a3e(0x100)](_0x47c36e,_0x49c83d);}else{if(dbType===a0_0x281a3e(0x10e)){const mysqlDb=require('../utils/db-mysql');executeQuery=(_0x4f18ef,_0x50b5ec)=>mysqlDb[a0_0x281a3e(0x100)](_0x4f18ef,_0x50b5ec);}else executeQuery=require(a0_0x281a3e(0xc3))[a0_0x281a3e(0x100)];}class ExportService{constructor(){this['_exportDir']=null;}get['exportDir'](){const _0x58e2e1=a0_0x281a3e,_0x3df11c={'PKqNb':_0x58e2e1(0xe6),'yHKSK':'export_service_init_error','DvaAM':_0x58e2e1(0xd0)};if(!this['_exportDir']){const _0x5ea7f6=process[_0x58e2e1(0xf8)]['RESTFORGE_PROJECT_NAME']||_0x3df11c['PKqNb'];this[_0x58e2e1(0x9d)]=process['env'][_0x58e2e1(0x117)]||path['join'](__dirname,_0x58e2e1(0x121)+_0x5ea7f6);try{!fsSync['existsSync'](this[_0x58e2e1(0x9d)])&&fsSync['mkdirSync'](this['_exportDir'],{'recursive':!![]}),logger['info']({'event':'export_service_init','dir':this['_exportDir']},_0x58e2e1(0xa6));}catch(_0x1a08c1){logError(_0x1a08c1,{'event':_0x3df11c['yHKSK']},_0x3df11c['DvaAM']);}}return this[_0x58e2e1(0x9d)];}[a0_0x281a3e(0x10a)](_0x1539c8,_0x4b2592=null){const _0x155241=a0_0x281a3e,_0x939aae={'GVIrI':'string','izPDf':_0x155241(0x10f),'ozzIt':function(_0x4c0737,_0x4cb2fa){return _0x4c0737===_0x4cb2fa;}};if(!_0x1539c8||typeof _0x1539c8!==_0x939aae[_0x155241(0x99)])return _0x1539c8;const _0x2903d3=_0x1539c8['trim']();if(!_0x2903d3['startsWith']('file:'))return _0x2903d3;const _0x34682f=_0x2903d3['replace'](/^file:/,'')[_0x155241(0xcb)]();if(!_0x34682f)throw new Error('Invalid\x20file:\x20reference\x20-\x20path\x20is\x20empty');const _0x1334fb=_0x4b2592||path['join'](process[_0x155241(0xf0)](),'payload'),_0x315dda=path['resolve'](_0x1334fb,_0x34682f);logger['info']({'event':'export_query_file_resolve','relativePath':_0x34682f,'baseDir':_0x1334fb,'absolutePath':_0x315dda},_0x155241(0xf2)+_0x34682f);if(!fsSync[_0x155241(0xdb)](_0x315dda))throw new Error(_0x155241(0xc7)+_0x315dda);try{const _0x123967=fsSync[_0x155241(0xf6)](_0x315dda,_0x939aae['izPDf']);if(!_0x123967||!_0x123967['trim']())throw new Error('Export\x20query\x20file\x20is\x20empty:\x20'+_0x315dda);return logger[_0x155241(0x92)]({'event':_0x155241(0xbb),'file':_0x315dda,'queryLength':_0x123967[_0x155241(0x120)]},'Loaded\x20SQL\x20query\x20from\x20file\x20('+_0x123967[_0x155241(0x120)]+_0x155241(0xe9)),_0x123967['trim']();}catch(_0x367fa3){if(_0x939aae['ozzIt'](_0x367fa3['code'],'ENOENT'))throw new Error('Export\x20query\x20file\x20not\x20found:\x20'+_0x315dda);throw new Error(_0x155241(0xdc)+_0x367fa3['message']);}}[a0_0x281a3e(0xb9)](){const _0x420694=a0_0x281a3e,_0x7881c7={'tZOxP':function(_0x1044d6){return _0x1044d6();},'XUcuR':function(_0x29524,_0x3faef3){return _0x29524-_0x3faef3;},'CiKkA':function(_0x4043eb,_0x3a6311){return _0x4043eb+_0x3a6311;},'hHrko':function(_0x40628b,_0xe4b901){return _0x40628b<_0xe4b901;}},_0x3b91b3='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789',_0x44a18b=Date[_0x420694(0x93)]()['toString'](0x24),_0x31f44b=_0x7881c7[_0x420694(0x91)](uuidv7)[_0x420694(0xdf)](/-/g,'')['substring'](0x0,_0x7881c7['XUcuR'](0xc,_0x44a18b[_0x420694(0x120)])),_0x21f75d=_0x7881c7[_0x420694(0xf7)](_0x44a18b,_0x31f44b)['substring'](0x0,0xc);let _0x14ca47='';for(let _0x3cd01f=0x0;_0x7881c7['hHrko'](_0x3cd01f,0xc);_0x3cd01f++){_0x21f75d[_0x3cd01f]?_0x14ca47+=_0x21f75d[_0x3cd01f]:_0x14ca47+=_0x3b91b3[_0x420694(0x101)](Math['floor'](Math[_0x420694(0x97)]()*_0x3b91b3[_0x420694(0x120)]));}return _0x14ca47;}async[a0_0x281a3e(0xce)](_0x40c7aa){const _0x3d98ad=a0_0x281a3e,_0x2a2561={'aIXdp':function(_0x38487a,_0xb7d2a0,_0x1722f0,_0x3336a3){return _0x38487a(_0xb7d2a0,_0x1722f0,_0x3336a3);},'iSaDa':'export_process_error','FlYsA':_0x3d98ad(0x96),'CQJJW':_0x3d98ad(0xaa)},_0x4daf91=this[_0x3d98ad(0xb9)](),_0x4e46e1={'job_id':_0x4daf91,'status':_0x2a2561[_0x3d98ad(0x118)],'progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x40c7aa,'total_rows':0x0,'processed_rows':0x0};return await redisHelper['setJob'](_0x4daf91,_0x4e46e1),logger['info']({'event':'export_job_created','jobId':_0x4daf91,'params':_0x40c7aa},_0x2a2561[_0x3d98ad(0xa2)]),this[_0x3d98ad(0xb8)](_0x4daf91,_0x40c7aa)['catch'](_0x5f2db0=>{const _0x591780=_0x3d98ad;_0x2a2561['aIXdp'](logError,_0x5f2db0,{'event':_0x2a2561['iSaDa'],'jobId':_0x4daf91},_0x591780(0x104));}),{'job_id':_0x4daf91,'status':_0x3d98ad(0x96)};}async['getJobStatus'](_0x219550){const _0x500ee3=a0_0x281a3e,_0x520d47={'VbWmO':'completed'},_0x1f4321=await redisHelper[_0x500ee3(0xc0)](_0x219550);if(!_0x1f4321)return{'success':![],'error':'Job\x20not\x20found\x20or\x20expired'};return{'success':!![],'data':{'job_id':_0x1f4321[_0x500ee3(0xab)],'status':_0x1f4321['status'],'progress':_0x1f4321[_0x500ee3(0xa9)],'total_rows':_0x1f4321[_0x500ee3(0x110)],'processed_rows':_0x1f4321['processed_rows'],'file_url':_0x1f4321['status']===_0x520d47['VbWmO']?_0x500ee3(0x9a)+_0x1f4321[_0x500ee3(0x106)][_0x500ee3(0xfc)]+'/'+_0x1f4321[_0x500ee3(0x106)][_0x500ee3(0x119)]+_0x500ee3(0xbf)+_0x219550:null,'error':_0x1f4321['error']||null,'created_at':_0x1f4321['created_at'],'completed_at':_0x1f4321['completed_at']||null}};}async[a0_0x281a3e(0xb8)](_0x25752a,_0x42b6eb){const _0x38555b=a0_0x281a3e,_0x4bbcfd={'OkmCY':'completed','tgDKP':_0x38555b(0x12b),'XObaU':'Export\x20completed\x20successfully','CbcRW':_0x38555b(0x126)};try{await redisHelper['updateJob'](_0x25752a,{'status':_0x38555b(0xa7),'started_at':new Date()[_0x38555b(0xc1)]()}),logger['info']({'event':'export_processing_start','jobId':_0x25752a},'Export\x20processing\x20started');const _0x39e7c9=await this['fetchData'](_0x42b6eb);await redisHelper[_0x38555b(0xef)](_0x25752a,{'total_rows':_0x39e7c9['length']});const _0x28f367=await this['generateExcel'](_0x25752a,_0x39e7c9,_0x42b6eb);await redisHelper['updateJob'](_0x25752a,{'status':_0x4bbcfd['OkmCY'],'progress':0x64,'file_path':_0x28f367,'completed_at':new Date()['toISOString']()}),logger[_0x38555b(0x92)]({'event':_0x4bbcfd[_0x38555b(0x125)],'jobId':_0x25752a,'rows':_0x39e7c9['length']},_0x4bbcfd[_0x38555b(0xbd)]);}catch(_0x19b0c7){logError(_0x19b0c7,{'event':_0x4bbcfd[_0x38555b(0x108)],'jobId':_0x25752a},'Export\x20failed'),await redisHelper[_0x38555b(0xef)](_0x25752a,{'status':'failed','error':_0x19b0c7[_0x38555b(0x10b)],'failed_at':new Date()['toISOString']()});}}async['fetchData'](_0x23d6c8){const _0x5c5cfa=a0_0x281a3e,_0x4f993a={'KARGJ':function(_0x4438ea,_0x336e7a){return _0x4438ea===_0x336e7a;},'uOLxU':function(_0x3ffda2,_0x3853b7){return _0x3ffda2+_0x3853b7;},'tmuNg':'file:','kLZRt':_0x5c5cfa(0x9c),'NTTMZ':'export_using_auto_query','fkOJg':_0x5c5cfa(0xb3),'fpLWO':'Fetching\x20data\x20from\x20database','FHKBK':function(_0x170336,_0x13347e){return _0x170336(_0x13347e);},'NuVtc':function(_0x46f268,_0x5d1ce8){return _0x46f268>_0x5d1ce8;},'jnQoq':_0x5c5cfa(0xf9)};try{const {tableName:_0x408c68,columns:_0x26a5fc,exportQuery:_0x3618d4,where:_0x1e49e2,sort_columns:_0x2e263e}=_0x23d6c8;if(!_0x408c68||!_0x26a5fc||_0x4f993a[_0x5c5cfa(0xae)](_0x26a5fc['length'],0x0))throw new Error('tableName\x20and\x20columns\x20are\x20required');const _0xd3fba9=_0x4f993a['uOLxU'](_0x408c68[_0x5c5cfa(0xdf)](/\./g,'_'),'_data');let _0x1c5180;if(_0x3618d4&&_0x3618d4[_0x5c5cfa(0xcb)]()){let _0x3916c2=_0x3618d4;_0x3618d4['trim']()['startsWith'](_0x4f993a[_0x5c5cfa(0x103)])&&(_0x3916c2=this[_0x5c5cfa(0x10a)](_0x3618d4)),_0x1c5180='WITH\x20'+_0xd3fba9+_0x5c5cfa(0xc2)+_0x3916c2+'\x0a)',_0x1c5180+='\x0aSELECT\x20*\x20FROM\x20'+_0xd3fba9,logger['info']({'event':'export_using_custom_query','query':_0x3916c2[_0x5c5cfa(0x116)](0x0,0x64)},_0x4f993a[_0x5c5cfa(0x9e)]);}else{const _0xe9cb99=_0x26a5fc['map'](_0x557c20=>_0x5c5cfa(0x95)+_0x557c20)['join'](',');_0x1c5180='WITH\x20'+_0xd3fba9+_0x5c5cfa(0xfd)+_0xe9cb99+_0x5c5cfa(0x105)+_0x408c68+'\x0a)',_0x1c5180+='\x0aSELECT\x20*\x20FROM\x20'+_0xd3fba9,logger['info']({'event':_0x4f993a['NTTMZ'],'tableName':_0x408c68,'columnCount':_0x26a5fc[_0x5c5cfa(0x120)]},'Using\x20auto-generated\x20query');}if(_0x1e49e2){const _0x239ddc=this[_0x5c5cfa(0xd9)](_0x1e49e2);_0x239ddc&&(_0x1c5180+='\x0aWHERE\x20'+_0x239ddc);}if(_0x2e263e&&_0x2e263e['length']>0x0){const _0x122f92=this['buildOrderByClause'](_0x2e263e);_0x122f92&&(_0x1c5180+='\x0aORDER\x20BY\x20'+_0x122f92);}logger[_0x5c5cfa(0x92)]({'event':_0x4f993a['fkOJg'],'query':_0x1c5180['substring'](0x0,0xc8)},_0x4f993a[_0x5c5cfa(0xd5)]);const _0x504b7a=await _0x4f993a[_0x5c5cfa(0xeb)](executeQuery,_0x1c5180);let _0x3fae89=_0x504b7a;return _0x4f993a['KARGJ'](dbType,'oracle')&&_0x504b7a&&_0x4f993a[_0x5c5cfa(0xe1)](_0x504b7a['length'],0x0)&&(_0x3fae89=_0x504b7a['map'](_0xd2d5d=>{const _0x34ed7c=_0x5c5cfa,_0x2b7057={};for(const [_0x2a8996,_0x47fa3b]of Object['entries'](_0xd2d5d)){_0x2b7057[_0x2a8996[_0x34ed7c(0xa8)]()]=_0x47fa3b;}return _0x2b7057;})),logger[_0x5c5cfa(0x92)]({'event':_0x5c5cfa(0x115),'rows':_0x3fae89[_0x5c5cfa(0x120)]},'Data\x20fetched\x20successfully'),_0x3fae89;}catch(_0xb6203c){logError(_0xb6203c,{'event':_0x4f993a[_0x5c5cfa(0xca)]},_0x5c5cfa(0x12a));throw _0xb6203c;}}[a0_0x281a3e(0xa1)](_0x279581){const _0x8d3111=a0_0x281a3e;if(typeof _0x279581===_0x8d3111(0x98))return _0x279581['replace'](/[\u200B-\u200D\uFEFF\u2060\u00AD]/g,'')[_0x8d3111(0xcb)]();else{if(Array['isArray'](_0x279581))return _0x279581['map'](_0xc9963f=>this['sanitizeValue'](_0xc9963f));}return _0x279581;}[a0_0x281a3e(0xd9)](_0x4e4cc7){const _0x44ad0a=a0_0x281a3e,_0x1f2c3a={'cVmdx':function(_0x187e77,_0x43b5d3){return _0x187e77===_0x43b5d3;},'wtsLv':_0x44ad0a(0xc4),'ycqlT':'string','ZfOSy':_0x44ad0a(0xee),'uhIah':'IS\x20NOT\x20NULL','BVobF':_0x44ad0a(0xd7),'kugCI':function(_0x560f16,_0x496ef0){return _0x560f16===_0x496ef0;},'bcAQq':_0x44ad0a(0xda)};if(!_0x4e4cc7||!_0x4e4cc7['conditions']||_0x4e4cc7['conditions'][_0x44ad0a(0x120)]===0x0)return'';const {logic:_0x43208b,conditions:_0x350249}=_0x4e4cc7,_0x1e814e=_0x43208b&&_0x1f2c3a[_0x44ad0a(0x11f)](_0x43208b['toUpperCase'](),'OR')?'\x20OR\x20':_0x1f2c3a[_0x44ad0a(0x114)],_0x503683=_0x350249[_0x44ad0a(0xe3)](_0x21dd87=>{const _0x2b53e9=_0x44ad0a,_0x4463ff={'mDAdq':function(_0x106b28,_0x55aa6e){return _0x1f2c3a['cVmdx'](_0x106b28,_0x55aa6e);}},{key:_0x548be3,operator:_0x528fe0,value:_0x33fdfe,sensitive:_0x42b5f0}=_0x21dd87;if(!_0x548be3||!_0x528fe0)return logger['warn']({'event':_0x1f2c3a['wtsLv'],'condition':_0x21dd87},'Skipping\x20invalid\x20condition'),null;const _0x4a88ab=this[_0x2b53e9(0xa1)](_0x33fdfe),_0x5e1ae8=_0x42b5f0!==undefined?_0x42b5f0:!![];let _0x58ba62=_0x548be3,_0x576665=_0x4a88ab;!_0x5e1ae8&&(_0x58ba62=_0x2b53e9(0xff)+_0x548be3+')',typeof _0x33fdfe==='string'&&(_0x576665=_0x33fdfe['toUpperCase']()));const _0x54fe9d=_0x1f2c3a[_0x2b53e9(0x113)](typeof _0x576665,_0x1f2c3a[_0x2b53e9(0xa3)])?'\x27'+_0x576665['replace'](/'/g,'\x27\x27')+'\x27':_0x576665;switch(_0x528fe0['toUpperCase']()){case'=':case'!=':case'<>':return _0x58ba62+'\x20'+_0x528fe0+'\x20'+_0x54fe9d;case'>':case'<':case'>=':case'<=':const _0xeceba1=typeof _0x4a88ab===_0x1f2c3a[_0x2b53e9(0xa3)]?'\x27'+_0x4a88ab[_0x2b53e9(0xdf)](/'/g,'\x27\x27')+'\x27':_0x4a88ab;return _0x548be3+'\x20'+_0x528fe0+'\x20'+_0xeceba1;case _0x1f2c3a[_0x2b53e9(0xcd)]:case'NOT\x20LIKE':return _0x58ba62+'\x20'+_0x528fe0+'\x20'+_0x54fe9d;case'IN':if(Array[_0x2b53e9(0xe7)](_0x4a88ab)){let _0xe5d698;return!_0x5e1ae8?_0xe5d698=_0x4a88ab['map'](_0x24c928=>{const _0x5929e5=_0x2b53e9,_0x4fe8c8=typeof _0x24c928===_0x5929e5(0x98)?_0x24c928['toUpperCase']():_0x24c928;return _0x4463ff['mDAdq'](typeof _0x4fe8c8,'string')?'\x27'+_0x4fe8c8['replace'](/'/g,'\x27\x27')+'\x27':_0x4fe8c8;})[_0x2b53e9(0xa0)](',\x20'):_0xe5d698=_0x4a88ab['map'](_0x2c9fe2=>typeof _0x2c9fe2===_0x2b53e9(0x98)?'\x27'+_0x2c9fe2['replace'](/'/g,'\x27\x27')+'\x27':_0x2c9fe2)[_0x2b53e9(0xa0)](',\x20'),_0x58ba62+'\x20IN\x20('+_0xe5d698+')';}return _0x58ba62+'\x20IN\x20('+_0x54fe9d+')';case'IS\x20NULL':return _0x548be3+_0x2b53e9(0x111);case _0x1f2c3a[_0x2b53e9(0xea)]:return _0x548be3+'\x20IS\x20NOT\x20NULL';default:logger[_0x2b53e9(0xc6)]({'event':'unknown_operator','operator':_0x528fe0},_0x1f2c3a['BVobF']);return _0x58ba62+_0x2b53e9(0xba)+_0x54fe9d;}})[_0x44ad0a(0xa5)](_0x58eca2=>_0x58eca2!==null);if(_0x503683[_0x44ad0a(0x120)]===0x0)return'';return _0x503683['join'](_0x1e814e);}['buildOrderByClause'](_0x37c6b4){const _0x32b5b0=a0_0x281a3e,_0x5758b1={'xpxyb':_0x32b5b0(0xb2),'DEDTu':function(_0x26fd72,_0x25bfb7){return _0x26fd72===_0x25bfb7;},'dmfAz':_0x32b5b0(0xc9),'YkrDt':'ASC','DnkgI':function(_0x4940b0,_0xbd6079){return _0x4940b0===_0xbd6079;}};if(!_0x37c6b4||_0x5758b1[_0x32b5b0(0xe8)](_0x37c6b4[_0x32b5b0(0x120)],0x0))return'';const _0x35e0ef=_0x37c6b4['map'](_0x3fdb5c=>{const _0x1d8e27=_0x32b5b0,{column:_0x32ea83,direction:_0x1aa97d}=_0x3fdb5c;if(!_0x32ea83)return logger[_0x1d8e27(0xc6)]({'event':'invalid_sort_column','item':_0x3fdb5c},_0x5758b1[_0x1d8e27(0x10c)]),null;const _0x58ebfa=_0x1aa97d&&_0x5758b1['DEDTu'](_0x1aa97d[_0x1d8e27(0xad)](),_0x1d8e27(0xc9))?_0x5758b1[_0x1d8e27(0xe2)]:_0x5758b1[_0x1d8e27(0x9b)];return _0x32ea83+'\x20'+_0x58ebfa;})['filter'](_0x1e8da2=>_0x1e8da2!==null);if(_0x5758b1[_0x32b5b0(0xe8)](_0x35e0ef['length'],0x0))return'';return _0x35e0ef['join'](',\x20');}async[a0_0x281a3e(0xe0)](_0x5d5e52,_0x8ef5ad,_0xa8c925){const _0xf9dad7=a0_0x281a3e,_0x2e4764={'SmrcK':function(_0x23b527,_0x52a918){return _0x23b527/_0x52a918;},'EGInH':function(_0x3f4ab9,_0x242471){return _0x3f4ab9(_0x242471);},'wVvYY':function(_0x35d33f,_0xae04d2){return _0x35d33f===_0xae04d2;},'VRaTZ':function(_0x5aef36,_0x29880d){return _0x5aef36>_0x29880d;},'NRnNr':'excel_columns_from_custom_query','gbaUC':_0xf9dad7(0xde),'NBOQo':'excel_columns_from_config'},_0x498da3=_0x2e4764[_0xf9dad7(0xf4)](require,'../utils/excel-generator'),_0x1e8a04=new _0x498da3(),_0x3c9636=_0xa8c925['filename']?_0xa8c925[_0xf9dad7(0xec)]+'-'+_0x5d5e52:'export-'+_0x5d5e52,_0x58c775=path[_0xf9dad7(0xa0)](this['exportDir'],_0x3c9636+_0xf9dad7(0x109));let _0x50ea2b=_0xa8c925[_0xf9dad7(0x11e)];const _0x43dccf=_0xa8c925[_0xf9dad7(0xdd)]&&_0xa8c925[_0xf9dad7(0xdd)][_0xf9dad7(0xcb)](),_0x2ce50c=_0x50ea2b&&_0x50ea2b['length']===0x1&&(_0x50ea2b[0x0]==='*'||_0x2e4764[_0xf9dad7(0xb1)](_0x50ea2b[0x0]['toLowerCase'](),'all'));if(_0x2e4764[_0xf9dad7(0xd4)](_0x8ef5ad['length'],0x0)){const _0x502a72=Object[_0xf9dad7(0xcf)](_0x8ef5ad[0x0]);if(_0x43dccf)_0x50ea2b=_0x502a72,logger[_0xf9dad7(0x92)]({'event':_0x2e4764[_0xf9dad7(0x112)],'columns':_0x50ea2b},'Using\x20'+_0x50ea2b['length']+_0xf9dad7(0x129));else{if(_0x2ce50c)_0x50ea2b=_0x502a72,logger[_0xf9dad7(0x92)]({'event':_0x2e4764[_0xf9dad7(0xac)],'columns':_0x50ea2b},'Using\x20all\x20'+_0x50ea2b['length']+'\x20columns\x20(wildcard\x20requested)');else{if(_0x50ea2b&&_0x50ea2b[_0xf9dad7(0x120)]>0x0){const _0x55e75b=_0x50ea2b['filter'](_0x2b44b6=>_0x502a72['includes'](_0x2b44b6));_0x2e4764['VRaTZ'](_0x55e75b['length'],0x0)?(_0x50ea2b=_0x55e75b,logger['info']({'event':'excel_columns_from_request','requestedColumns':_0xa8c925['columns'],'validColumns':_0x50ea2b},'Using\x20'+_0x50ea2b[_0xf9dad7(0x120)]+_0xf9dad7(0xfa))):(_0x50ea2b=_0x502a72,logger['warn']({'event':_0xf9dad7(0xa4),'requestedColumns':_0xa8c925[_0xf9dad7(0x11e)],'availableColumns':_0x502a72},'Requested\x20columns\x20not\x20found\x20in\x20data,\x20using\x20all\x20'+_0x502a72[_0xf9dad7(0x120)]+_0xf9dad7(0x127)));}else _0x50ea2b=_0x502a72,logger['info']({'event':'excel_columns_from_query_result','columns':_0x50ea2b},_0xf9dad7(0xcc)+_0x50ea2b['length']+'\x20columns\x20from\x20query\x20result');}}}else logger[_0xf9dad7(0x92)]({'event':_0x2e4764['NBOQo'],'columns':_0x50ea2b},_0xf9dad7(0xcc)+(_0x50ea2b?.[_0xf9dad7(0x120)]||0x0)+'\x20columns\x20from\x20config\x20(no\x20data)');return await _0x1e8a04['generate']({'data':_0x8ef5ad,'columns':_0x50ea2b,'columnFormats':_0xa8c925[_0xf9dad7(0x11a)]||null,'fieldLabels':_0xa8c925[_0xf9dad7(0xfb)]||null,'filePath':_0x58c775,'onProgress':async _0x7e8512=>{const _0x3b022b=_0xf9dad7;await redisHelper[_0x3b022b(0xef)](_0x5d5e52,{'progress':Math[_0x3b022b(0x123)](_0x7e8512),'processed_rows':Math[_0x3b022b(0x123)](_0x2e4764['SmrcK'](_0x7e8512,0x64)*_0x8ef5ad['length'])});}}),_0x58c775;}async[a0_0x281a3e(0xd1)](_0x237db6){const _0x1e2b77=a0_0x281a3e,_0x2d6475={'MCGxb':function(_0x17a490,_0x3267e4){return _0x17a490!==_0x3267e4;},'vQuMo':_0x1e2b77(0x122)},_0x201c61=await redisHelper[_0x1e2b77(0xc0)](_0x237db6);if(!_0x201c61||_0x2d6475['MCGxb'](_0x201c61[_0x1e2b77(0x12c)],_0x2d6475[_0x1e2b77(0xf1)]))return null;try{return await fs[_0x1e2b77(0xe5)](_0x201c61['file_path']),_0x201c61['file_path'];}catch(_0xcc8bc8){return logError(_0xcc8bc8,{'event':'export_file_not_found','jobId':_0x237db6,'path':_0x201c61[_0x1e2b77(0xed)]},_0x1e2b77(0xbc)),null;}}async[a0_0x281a3e(0x102)](){const _0x2187c9=a0_0x281a3e,_0x3b6d6e={'ZFhWQ':'Starting\x20export\x20cleanup','ZCMGS':function(_0x5aa6f7,_0x357375){return _0x5aa6f7/_0x357375;},'WuYda':function(_0x4b2707,_0x11c337){return _0x4b2707-_0x11c337;},'JLxCt':function(_0x3bd34a,_0x471ec0){return _0x3bd34a>_0x471ec0;},'gLKJu':'export_file_delete_error','egElM':_0x2187c9(0xf5)};logger[_0x2187c9(0x92)]({'event':_0x2187c9(0x11c)},_0x3b6d6e[_0x2187c9(0xbe)]);const _0x4a4298=await redisHelper[_0x2187c9(0xe4)]();let _0x585e72=0x0;for(const _0x52e1ac of _0x4a4298){const _0x57c006=new Date(_0x52e1ac[_0x2187c9(0x128)]),_0x51f884=new Date(),_0x21487c=_0x3b6d6e['ZCMGS'](_0x3b6d6e['WuYda'](_0x51f884,_0x57c006),0x3e8*0x3c*0x3c);if(_0x3b6d6e['JLxCt'](_0x21487c,0x1)){if(_0x52e1ac[_0x2187c9(0xed)])try{await fs['unlink'](_0x52e1ac[_0x2187c9(0xed)]),logger['info']({'event':'export_file_deleted','path':_0x52e1ac['file_path']},_0x2187c9(0x11b));}catch(_0x1b9fd1){logger[_0x2187c9(0xc6)]({'event':_0x3b6d6e[_0x2187c9(0xfe)],'path':_0x52e1ac['file_path'],'error':_0x1b9fd1['message']},_0x2187c9(0x9f));}await redisHelper['deleteJob'](_0x52e1ac['job_id']),_0x585e72++;}}return logger[_0x2187c9(0x92)]({'event':_0x3b6d6e[_0x2187c9(0xb7)],'deleted':_0x585e72},_0x2187c9(0x94)),_0x585e72;}}module['exports']=new ExportService();
1
+ const a0_0x3c7914=a0_0x4a9c;function a0_0x3bd8(){const _0x433671=['zxHWB3j0uxvLCNK','A0P3q0e','Aw52ywXPzf9JB25KAxrPB24','rMfPBgvKihrVigzLDgnOigrHDge','AM9PBG','Dw5RBM93BL9VCgvYyxrVCG','ChjVy2vZC0PVyG','ignVBhvTBNmGzNjVBsbJDxn0B20GzxHWB3j0uxvLCNKGCMvZDwX0','DxbKyxrLsM9I','zxHWB3j0x2zLDgnOx3n0yxj0','zxHWB3j0x2PVyL9JCMvHDgvK','cLnftevdvcaQiezst00G','zxHWB3j0CW','Dg9vChbLCKnHC2u','qvnd','B3jHy2XL','Cg9ZDgDYzxnXBa','vvbqrviO','rgf0ysbMzxrJAgvKihn1y2nLC3nMDwXSEq','rMfPBgvKihrVigrLBgv0zsbLEhbVCNqGzMLSzq','yNvPBgrxAgvYzunSyxvZzq','u2TPChbPBMCGAw52ywXPzcbZB3j0ignVBhvTBG','v0Lusca','zMfPBgvK','ENnJELm','zw52','vw5RBM93BIbVCgvYyxrVCIWGDxnPBMCGpsbHCYbKzwzHDwX0','zMLSzv9WyxrO','x2v4Cg9YDerPCG','CMvWBgfJzq','Dw5SAw5R','ywXS','yNrIvhC','zxHWB3j0x2nSzwfUDxbFC3rHCNq','revtqW','Dw1Vwg4','ALzKzeu','mZy2otK0DuzTwfvi','y2f0y2G','ELPxDKK','CwLbA0y','zMLLBgrmywjLBhm','y3jLyxrLsM9I','AM9Ix2LK','Aw52ywXPzf9ZB3j0x2nVBhvTBG','BgvUz3rO','vxnPBMCGyxv0BY1Nzw5LCMf0zwqGCxvLCNK','zxHPC3rZu3LUyW','qwrTA0K','iefticGkicaGia','zMLSDgvY','zxHWB3j0rgLY','r050A00','y0n6uem','CMfUzg9T','ru5pru5u','vfnZuvq','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','z2vUzxjHDgvkB2jjza','rxHWB3j0igzPBguGzgvSzxrLza','zxHWB3j0x3vZAw5Nx2f1Dg9FCxvLCNK','mtm4mdq4tLDZzhPr','C0zbDKm','lI4VDxrPBhmVBg9Nz2vY','ugn3u0W','z2v0qwXSsM9ICW','ndq5nte5ngL5DNbyqq','svvVq3m','txHMExO','y3jLyxrLzf9HDa','nJa1mJyXnLziDMjQAG','zMXVB3i','AxnbCNjHEq','ie9sia','B0LHy24','rxHWB3j0ignVBxbSzxrLzcbZDwnJzxnZzNvSBhK','t3fAEhm','odiZntz2rwvoAgi','lI4VDxrPBhmVzgiTB3jHy2XL','u2TPChbPBMCGAw52ywXPzcbJB25KAxrPB24','zxHJzwXFy29SDw1UC19MCM9Tx2nVBMzPzW','qNDitNa','t01tAKS','cIaGicbguK9nia','BernCMu','C3vIC3rYAw5N','s2nAuhC','lNHSC3G','rejFvfLqrq','ChjVy2vZC2LUzW','EgLRq04','DgfIBgvoyw1LigfUzcbJB2X1Bw5ZigfYzsbYzxf1AxjLza','DxvPza','y29TCgXLDgvKx2f0','nhfKBK1QyG','mJC5r3nYyw1W','Dg9mB3DLCKnHC2u','ue1rB00','BLrcDxe','Cgf0Aa','zxHWB3j0x3f1zxj5x2zPBgvFCMvZB2X2zq','qw1WzK8','BwvZC2fNzq','C2fUAxrPEMvwywX1zq','Agf0BxG','n3PSqK1eAq','t0Xnwvy','vxnPBMCG','zw5KCg9PBNroyw1L','s2vRu08','mtiYnZCWtNH0sLHJ','iefticGkicaGifnftevdvca','ignOyxjZkq','l2fWAs8','BM93','zxHWB3j0x3nLCNzPy2vFAw5PDa','zxHWB3j0x2nVBxbSzxrLza','rxHWB3j0ignSzwfUDxaGy29TCgXLDgvK','ignVBhvTBNmGzNjVBsbXDwvYEsbYzxn1Bhq','uhLss1i','wxzkwhO','qvrJrMq','zMLSzw5HBwu','ieLoicG','lI4VlI4VzxHWB3j0CY8','Dg9tDhjPBMC','Aw5MBW','DhjPBq','BwTKAxjtEw5J','y29SDw1UCW','zxHJzwXFy29SDw1UC19MCM9Tx2n1C3rVBv9XDwvYEq','vxnPBMCGy3vZDg9Tigv4Cg9YDff1zxj5','D2fYBG','ignVBhvTBNm','u05etvC','BwTRqxi','BwnIEMK','y2XLyw51Ca','CgvUzgLUzW','BwfW','y29TCgXLDgvK','CMvZB2X2zuv4Cg9YDff1zxj5','cIaGicaGicaG','y2HHCKf0','vxnPBMCGywXSia','C3rHDhvZ','C3rHCNrZv2L0Aa','svmGtLvmta','CM91BMq','DwPstge','uMvZB2X2Aw5Nigv4Cg9YDff1zxj5igzYB20GzMLSztOG','zxHWB3j0x3nLCNzPy2vFAw5PDf9LCNjVCG','z2v0sM9I','y29UzgL0Aw9UCW','rxHWB3j0ihbYB2nLC3nPBMCGC3rHCNrLza','rxHWB3j0igPVyIbJCMvHDgvK','rxHWB3j0igzPBguGBM90igzVDw5K','qKrIDfq','zxHWB3j0x2zPBgvFzgvSzxrLx2vYCM9Y','rKzVBuq','mZqWntu5mfPzrwTQDa','zxHLy3v0zvf1zxj5','sKTfBfO','C3rYAw5N','yNvPBgrpCMrLCKj5q2XHDxnL','m2fRyuzSwG'];a0_0x3bd8=function(){return _0x433671;};return a0_0x3bd8();}function a0_0x4a9c(_0x2d2572,_0x5b7fb2){_0x2d2572=_0x2d2572-0x1b4;const _0x3bd8e6=a0_0x3bd8();let _0x4a9cfa=_0x3bd8e6[_0x2d2572];if(a0_0x4a9c['GPdSvO']===undefined){var _0x81856f=function(_0x1bcb1a){const _0x5e81e9='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x565ee2='',_0x7d856c='';for(let _0x10af83=0x0,_0x5776b5,_0x1c6ac2,_0x5cd64d=0x0;_0x1c6ac2=_0x1bcb1a['charAt'](_0x5cd64d++);~_0x1c6ac2&&(_0x5776b5=_0x10af83%0x4?_0x5776b5*0x40+_0x1c6ac2:_0x1c6ac2,_0x10af83++%0x4)?_0x565ee2+=String['fromCharCode'](0xff&_0x5776b5>>(-0x2*_0x10af83&0x6)):0x0){_0x1c6ac2=_0x5e81e9['indexOf'](_0x1c6ac2);}for(let _0x281e6c=0x0,_0x843365=_0x565ee2['length'];_0x281e6c<_0x843365;_0x281e6c++){_0x7d856c+='%'+('00'+_0x565ee2['charCodeAt'](_0x281e6c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x7d856c);};a0_0x4a9c['MdKwUR']=_0x81856f,a0_0x4a9c['UImFrM']={},a0_0x4a9c['GPdSvO']=!![];}const _0x4780b7=_0x3bd8e6[0x0],_0x1bd1d6=_0x2d2572+_0x4780b7,_0x1ff8e7=a0_0x4a9c['UImFrM'][_0x1bd1d6];return!_0x1ff8e7?(_0x4a9cfa=a0_0x4a9c['MdKwUR'](_0x4a9cfa),a0_0x4a9c['UImFrM'][_0x1bd1d6]=_0x4a9cfa):_0x4a9cfa=_0x1ff8e7,_0x4a9cfa;}(function(_0x363646,_0x5ed662){const _0xcb7190=a0_0x4a9c,_0x288b7f=_0x363646();while(!![]){try{const _0x5e4f24=-parseInt(_0xcb7190(0x1fc))/0x1+parseInt(_0xcb7190(0x1e4))/0x2*(-parseInt(_0xcb7190(0x1be))/0x3)+parseInt(_0xcb7190(0x21d))/0x4*(-parseInt(_0xcb7190(0x1b9))/0x5)+-parseInt(_0xcb7190(0x20c))/0x6*(-parseInt(_0xcb7190(0x228))/0x7)+parseInt(_0xcb7190(0x205))/0x8+-parseInt(_0xcb7190(0x21e))/0x9*(-parseInt(_0xcb7190(0x22d))/0xa)+parseInt(_0xcb7190(0x201))/0xb;if(_0x5e4f24===_0x5ed662)break;else _0x288b7f['push'](_0x288b7f['shift']());}catch(_0x12e034){_0x288b7f['push'](_0x288b7f['shift']());}}}(a0_0x3bd8,0x87f51));const {v7:uuidv7}=require(a0_0x3c7914(0x21b)),path=require(a0_0x3c7914(0x222)),fs=require('fs')['promises'],fsSync=require('fs'),redisHelper=require('../utils/redis-helper'),{logger,logError}=require(a0_0x3c7914(0x1fe)),dbType=(process['env'][a0_0x3c7914(0x217)]||a0_0x3c7914(0x1cf))[a0_0x3c7914(0x21f)]();let executeQuery;if(dbType===a0_0x3c7914(0x1ce)){const oracleDb=require(a0_0x3c7914(0x20d));executeQuery=(_0x1a442b,_0x26d325)=>oracleDb['executeQuery'](_0x1a442b,_0x26d325);}else{if(dbType==='mysql'){const mysqlDb=require('../utils/db-mysql');executeQuery=(_0x1b2592,_0x1a1a10)=>mysqlDb['executeQuery'](_0x1b2592,_0x1a1a10);}else executeQuery=require('../utils/db')[a0_0x3c7914(0x1ba)];}class ExportService{constructor(){this['_exportDir']=null;}get[a0_0x3c7914(0x1f2)](){const _0x776b65=a0_0x3c7914,_0x267453={'btbTw':'Export\x20service\x20initialized','PcwSL':function(_0x2a2ce9,_0x2e4654,_0x5e8814,_0x9bff4){return _0x2a2ce9(_0x2e4654,_0x5e8814,_0x9bff4);},'uXwrK':_0x776b65(0x256)};if(!this[_0x776b65(0x1db)]){const _0x194839=process['env'][_0x776b65(0x1f8)]||'default';this[_0x776b65(0x1db)]=process[_0x776b65(0x1d8)]['EXPORT_DIR']||path['join'](__dirname,_0x776b65(0x23b)+_0x194839);try{!fsSync[_0x776b65(0x1ee)](this[_0x776b65(0x1db)])&&fsSync[_0x776b65(0x23f)](this['_exportDir'],{'recursive':!![]}),logger['info']({'event':_0x776b65(0x232),'dir':this[_0x776b65(0x1db)]},_0x267453[_0x776b65(0x1df)]);}catch(_0x27f0e6){_0x267453[_0x776b65(0x1ff)](logError,_0x27f0e6,{'event':_0x267453['uXwrK']},'Failed\x20to\x20initialize\x20export\x20service');}}return this['_exportDir'];}[a0_0x3c7914(0x24c)](_0x2e44cc,_0x2b49cb=null){const _0x2686cd=a0_0x3c7914,_0x1309b1={'umoXn':_0x2686cd(0x1bc),'BwHNp':'file:','CnGWJ':'Invalid\x20file:\x20reference\x20-\x20path\x20is\x20empty','Mxfyz':'payload','gCrKI':_0x2686cd(0x223),'oIacn':_0x2686cd(0x1f6)};if(!_0x2e44cc||typeof _0x2e44cc!==_0x1309b1[_0x2686cd(0x1e2)])return _0x2e44cc;const _0x1c1030=_0x2e44cc[_0x2686cd(0x23e)]();if(!_0x1c1030['startsWith'](_0x1309b1[_0x2686cd(0x210)]))return _0x1c1030;const _0xbc2ab3=_0x1c1030['replace'](/^file:/,'')['trim']();if(!_0xbc2ab3)throw new Error(_0x1309b1['CnGWJ']);const _0x151608=_0x2b49cb||path['join'](process['cwd'](),_0x1309b1[_0x2686cd(0x203)]),_0x560c96=path['resolve'](_0x151608,_0xbc2ab3);logger[_0x2686cd(0x23d)]({'event':_0x1309b1['gCrKI'],'relativePath':_0xbc2ab3,'baseDir':_0x151608,'absolutePath':_0x560c96},_0x2686cd(0x255)+_0xbc2ab3);if(!fsSync['existsSync'](_0x560c96))throw new Error('Export\x20query\x20file\x20not\x20found:\x20'+_0x560c96);try{const _0x25fa23=fsSync['readFileSync'](_0x560c96,'utf8');if(!_0x25fa23||!_0x25fa23['trim']())throw new Error('Export\x20query\x20file\x20is\x20empty:\x20'+_0x560c96);return logger['info']({'event':'export_query_file_loaded','file':_0x560c96,'queryLength':_0x25fa23[_0x2686cd(0x1ec)]},'Loaded\x20SQL\x20query\x20from\x20file\x20('+_0x25fa23['length']+_0x2686cd(0x22f)),_0x25fa23[_0x2686cd(0x23e)]();}catch(_0x4b0161){if(_0x4b0161['code']===_0x1309b1[_0x2686cd(0x209)])throw new Error('Export\x20query\x20file\x20not\x20found:\x20'+_0x560c96);throw new Error('Failed\x20to\x20read\x20export\x20query\x20file:\x20'+_0x4b0161[_0x2686cd(0x225)]);}}[a0_0x3c7914(0x1f9)](){const _0x13101d=a0_0x3c7914,_0x6d58ac={'ATcFd':function(_0x5b81c6){return _0x5b81c6();},'OLMYV':function(_0x33f3a3,_0x42e40e){return _0x33f3a3*_0x42e40e;}},_0x32ea39='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789',_0x20779c=Date[_0x13101d(0x231)]()[_0x13101d(0x23c)](0x24),_0x2860b8=_0x6d58ac[_0x13101d(0x238)](uuidv7)[_0x13101d(0x1dc)](/-/g,'')[_0x13101d(0x214)](0x0,0xc-_0x20779c[_0x13101d(0x1ec)]),_0xc8be6d=(_0x20779c+_0x2860b8)[_0x13101d(0x214)](0x0,0xc);let _0x4333d6='';for(let _0x589630=0x0;_0x589630<0xc;_0x589630++){_0xc8be6d[_0x589630]?_0x4333d6+=_0xc8be6d[_0x589630]:_0x4333d6+=_0x32ea39[_0x13101d(0x24e)](Math[_0x13101d(0x206)](_0x6d58ac[_0x13101d(0x229)](Math[_0x13101d(0x1f5)](),_0x32ea39[_0x13101d(0x1ec)])));}return _0x4333d6;}async[a0_0x3c7914(0x1e9)](_0x451aed){const _0x3d16d4=a0_0x3c7914,_0x331473={'AmpfO':function(_0x428788,_0xe7b425,_0x3fe465,_0x5ee2a0){return _0x428788(_0xe7b425,_0x3fe465,_0x5ee2a0);},'xEJBu':'export_process_error','kJwCA':_0x3d16d4(0x249)},_0x4be967=this[_0x3d16d4(0x1f9)](),_0x21cd16={'job_id':_0x4be967,'status':_0x331473[_0x3d16d4(0x1c0)],'progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x451aed,'total_rows':0x0,'processed_rows':0x0};return await redisHelper['setJob'](_0x4be967,_0x21cd16),logger[_0x3d16d4(0x23d)]({'event':_0x3d16d4(0x1c9),'jobId':_0x4be967,'params':_0x451aed},_0x3d16d4(0x1b4)),this['processJob'](_0x4be967,_0x451aed)[_0x3d16d4(0x1e5)](_0x36fc06=>{const _0x5b1986=_0x3d16d4;_0x331473[_0x5b1986(0x224)](logError,_0x36fc06,{'event':_0x331473['xEJBu'],'jobId':_0x4be967},'Export\x20processing\x20failed');}),{'job_id':_0x4be967,'status':_0x3d16d4(0x249)};}async['getJobStatus'](_0x17ad07){const _0x274bd1=a0_0x3c7914,_0xf35b44=await redisHelper[_0x274bd1(0x257)](_0x17ad07);if(!_0xf35b44)return{'success':![],'error':'Job\x20not\x20found\x20or\x20expired'};return{'success':!![],'data':{'job_id':_0xf35b44[_0x274bd1(0x1ea)],'status':_0xf35b44['status'],'progress':_0xf35b44['progress'],'total_rows':_0xf35b44['total_rows'],'processed_rows':_0xf35b44['processed_rows'],'file_url':_0xf35b44['status']===_0x274bd1(0x24b)?_0x274bd1(0x230)+_0xf35b44['params']['moduleName']+'/'+_0xf35b44['params'][_0x274bd1(0x22b)]+'/export-download?job_id='+_0x17ad07:null,'error':_0xf35b44['error']||null,'created_at':_0xf35b44['created_at'],'completed_at':_0xf35b44[_0x274bd1(0x21c)]||null}};}async[a0_0x3c7914(0x1c5)](_0x15f44d,_0x68040d){const _0x2fc985=a0_0x3c7914,_0x3354b7={'bXZPG':'export_processing_start','jRSdK':_0x2fc985(0x259),'TSsQT':_0x2fc985(0x233),'xJHdE':_0x2fc985(0x20a),'PMQoM':function(_0x3c7a6e,_0x4f91b6,_0x3ee13d,_0x4d43a9){return _0x3c7a6e(_0x4f91b6,_0x3ee13d,_0x4d43a9);},'nTBuq':_0x2fc985(0x1d6)};try{await redisHelper['updateJob'](_0x15f44d,{'status':_0x2fc985(0x218),'started_at':new Date()['toISOString']()}),logger[_0x2fc985(0x23d)]({'event':_0x3354b7['bXZPG'],'jobId':_0x15f44d},_0x3354b7['jRSdK']);const _0x10255b=await this['fetchData'](_0x68040d);await redisHelper['updateJob'](_0x15f44d,{'total_rows':_0x10255b['length']});const _0x17d5fa=await this['generateExcel'](_0x15f44d,_0x10255b,_0x68040d);await redisHelper['updateJob'](_0x15f44d,{'status':'completed','progress':0x64,'file_path':_0x17d5fa,'completed_at':new Date()['toISOString']()}),logger[_0x2fc985(0x23d)]({'event':_0x3354b7[_0x2fc985(0x1f7)],'jobId':_0x15f44d,'rows':_0x10255b[_0x2fc985(0x1ec)]},_0x3354b7['xJHdE']);}catch(_0x1b880b){_0x3354b7[_0x2fc985(0x220)](logError,_0x1b880b,{'event':'export_failed','jobId':_0x15f44d},'Export\x20failed'),await redisHelper[_0x2fc985(0x1c7)](_0x15f44d,{'status':_0x3354b7[_0x2fc985(0x221)],'error':_0x1b880b['message'],'failed_at':new Date()['toISOString']()});}}async['fetchData'](_0xcdc542){const _0x202989=a0_0x3c7914,_0x4b011e={'JKElZ':function(_0x4eb72f,_0x50f1d5){return _0x4eb72f===_0x50f1d5;},'YvJXz':_0x202989(0x21a),'jVddE':'file:','lDMre':'export_using_custom_query','PyRKR':function(_0x114915,_0x4be7db){return _0x114915>_0x4be7db;},'FFomD':_0x202989(0x1c8),'AlTYL':'Fetching\x20data\x20from\x20database','yxtsN':_0x202989(0x1ce),'xbQGV':'export_fetch_complete','EWBGk':_0x202989(0x1d1),'OrwVM':function(_0x403b5e,_0x3c4e49,_0x18708e,_0x522453){return _0x403b5e(_0x3c4e49,_0x18708e,_0x522453);},'KekSO':'export_fetch_error'};try{const {tableName:_0x14400a,columns:_0x35cb91,exportQuery:_0x27a9ce,where:_0x9dccde,sort_columns:_0x1734f7}=_0xcdc542;if(!_0x14400a||!_0x35cb91||_0x4b011e[_0x202989(0x1bb)](_0x35cb91['length'],0x0))throw new Error(_0x4b011e[_0x202989(0x237)]);const _0x205547=_0x14400a['replace'](/\./g,'_')+'_data';let _0x750948;if(_0x27a9ce&&_0x27a9ce[_0x202989(0x23e)]()){let _0x3d5d55=_0x27a9ce;_0x27a9ce['trim']()[_0x202989(0x251)](_0x4b011e[_0x202989(0x1e3)])&&(_0x3d5d55=this['resolveExportQuery'](_0x27a9ce)),_0x750948='WITH\x20'+_0x205547+_0x202989(0x1f0)+_0x3d5d55+'\x0a)',_0x750948+=_0x202989(0x1ca)+_0x205547,logger['info']({'event':_0x4b011e[_0x202989(0x213)],'query':_0x3d5d55[_0x202989(0x214)](0x0,0x64)},_0x202989(0x242));}else{const _0x3a90f9=_0x35cb91[_0x202989(0x24a)](_0x9e17a6=>_0x202989(0x24d)+_0x9e17a6)[_0x202989(0x1c3)](',');_0x750948=_0x202989(0x1d5)+_0x205547+_0x202989(0x22e)+_0x3a90f9+_0x202989(0x212)+_0x14400a+'\x0a)',_0x750948+='\x0aSELECT\x20*\x20FROM\x20'+_0x205547,logger[_0x202989(0x23d)]({'event':_0x202989(0x1fb),'tableName':_0x14400a,'columnCount':_0x35cb91[_0x202989(0x1ec)]},_0x202989(0x1ed));}if(_0x9dccde){const _0x3f096e=this['buildWhereClause'](_0x9dccde);_0x3f096e&&(_0x750948+='\x0aWHERE\x20'+_0x3f096e);}if(_0x1734f7&&_0x4b011e[_0x202989(0x236)](_0x1734f7['length'],0x0)){const _0x23de7a=this[_0x202989(0x1bd)](_0x1734f7);_0x23de7a&&(_0x750948+='\x0aORDER\x20BY\x20'+_0x23de7a);}logger[_0x202989(0x23d)]({'event':_0x4b011e[_0x202989(0x1b8)],'query':_0x750948[_0x202989(0x214)](0x0,0xc8)},_0x4b011e['AlTYL']);const _0x17038a=await executeQuery(_0x750948);let _0x4242da=_0x17038a;return _0x4b011e[_0x202989(0x1bb)](dbType,_0x4b011e['yxtsN'])&&_0x17038a&&_0x4b011e['PyRKR'](_0x17038a[_0x202989(0x1ec)],0x0)&&(_0x4242da=_0x17038a[_0x202989(0x24a)](_0x5b4368=>{const _0x18662d={};for(const [_0x218a86,_0x70a447]of Object['entries'](_0x5b4368)){_0x18662d[_0x218a86['toLowerCase']()]=_0x70a447;}return _0x18662d;})),logger['info']({'event':_0x4b011e['xbQGV'],'rows':_0x4242da[_0x202989(0x1ec)]},_0x4b011e['EWBGk']),_0x4242da;}catch(_0x3e8aa3){_0x4b011e['OrwVM'](logError,_0x3e8aa3,{'event':_0x4b011e[_0x202989(0x22c)]},_0x202989(0x1c2));throw _0x3e8aa3;}}['sanitizeValue'](_0x3ccd2c){const _0x194971=a0_0x3c7914,_0x1f03dc={'txXsf':'string'};if(typeof _0x3ccd2c===_0x1f03dc['txXsf'])return _0x3ccd2c[_0x194971(0x1dc)](/[\u200B-\u200D\uFEFF\u2060\u00AD]/g,'')['trim']();else{if(Array[_0x194971(0x207)](_0x3ccd2c))return _0x3ccd2c['map'](_0x53de4f=>this[_0x194971(0x226)](_0x53de4f));}return _0x3ccd2c;}[a0_0x3c7914(0x1d3)](_0x2445b5){const _0x1b46bd=a0_0x3c7914,_0x4c69b4={'KcZPw':function(_0x4328ae,_0x283d9a){return _0x4328ae===_0x283d9a;},'PQDOc':function(_0x4b7c05,_0x4c64b0){return _0x4b7c05||_0x4c64b0;},'SNDMW':function(_0x888091,_0x33a713){return _0x888091!==_0x33a713;},'GNtkM':_0x1b46bd(0x1bc),'mcbzi':function(_0x283d08,_0x1dd53c){return _0x283d08===_0x1dd53c;},'KYBaA':'LIKE','peNQI':'IS\x20NOT\x20NULL','AdmkI':_0x1b46bd(0x1c4),'xxStk':function(_0x1bd06b,_0x21e56e){return _0x1bd06b===_0x21e56e;},'mzrpc':_0x1b46bd(0x208),'sMUyR':function(_0x201cc2,_0x24eba6){return _0x201cc2===_0x24eba6;}};if(!_0x2445b5||!_0x2445b5[_0x1b46bd(0x258)]||_0x2445b5['conditions'][_0x1b46bd(0x1ec)]===0x0)return'';const {logic:_0x20ab90,conditions:_0x112a5e}=_0x2445b5,_0x5bebc2=_0x20ab90&&_0x4c69b4['xxStk'](_0x20ab90['toUpperCase'](),'OR')?_0x4c69b4['mzrpc']:'\x20AND\x20',_0x84b353=_0x112a5e['map'](_0x3b3185=>{const _0x565c5f=_0x1b46bd,_0x180444={'OqZxs':function(_0xfba27f,_0x1c82c2){return _0xfba27f===_0x1c82c2;},'IUoCs':'string','ujRLa':function(_0x1fdf2d,_0x34aa86){const _0x27eace=a0_0x4a9c;return _0x4c69b4[_0x27eace(0x215)](_0x1fdf2d,_0x34aa86);}},{key:_0x4aa151,operator:_0x137a85,value:_0x41005a,sensitive:_0x523385}=_0x3b3185;if(_0x4c69b4['PQDOc'](!_0x4aa151,!_0x137a85))return logger[_0x565c5f(0x243)]({'event':_0x565c5f(0x1c1),'condition':_0x3b3185},_0x565c5f(0x20e)),null;const _0x518f74=this[_0x565c5f(0x226)](_0x41005a),_0x5a2300=_0x4c69b4[_0x565c5f(0x245)](_0x523385,undefined)?_0x523385:!![];let _0xa7de49=_0x4aa151,_0x24b46d=_0x518f74;!_0x5a2300&&(_0xa7de49=_0x565c5f(0x1d0)+_0x4aa151+')',typeof _0x41005a===_0x565c5f(0x1bc)&&(_0x24b46d=_0x41005a[_0x565c5f(0x1cc)]()));const _0xd066fc=typeof _0x24b46d===_0x4c69b4[_0x565c5f(0x1f3)]?'\x27'+_0x24b46d['replace'](/'/g,'\x27\x27')+'\x27':_0x24b46d;switch(_0x137a85['toUpperCase']()){case'=':case'!=':case'<>':return _0xa7de49+'\x20'+_0x137a85+'\x20'+_0xd066fc;case'>':case'<':case'>=':case'<=':const _0x57b8d8=_0x4c69b4[_0x565c5f(0x247)](typeof _0x518f74,_0x4c69b4['GNtkM'])?'\x27'+_0x518f74[_0x565c5f(0x1dc)](/'/g,'\x27\x27')+'\x27':_0x518f74;return _0x4aa151+'\x20'+_0x137a85+'\x20'+_0x57b8d8;case _0x4c69b4['KYBaA']:case'NOT\x20LIKE':return _0xa7de49+'\x20'+_0x137a85+'\x20'+_0xd066fc;case'IN':if(Array['isArray'](_0x518f74)){let _0x1e7de6;return!_0x5a2300?_0x1e7de6=_0x518f74['map'](_0x5bfd08=>{const _0x3c2ac2=_0x565c5f,_0x19376a=_0x180444[_0x3c2ac2(0x20b)](typeof _0x5bfd08,_0x180444[_0x3c2ac2(0x202)])?_0x5bfd08[_0x3c2ac2(0x1cc)]():_0x5bfd08;return _0x180444[_0x3c2ac2(0x254)](typeof _0x19376a,_0x3c2ac2(0x1bc))?'\x27'+_0x19376a[_0x3c2ac2(0x1dc)](/'/g,'\x27\x27')+'\x27':_0x19376a;})['join'](',\x20'):_0x1e7de6=_0x518f74['map'](_0x5d179d=>typeof _0x5d179d===_0x565c5f(0x1bc)?'\x27'+_0x5d179d[_0x565c5f(0x1dc)](/'/g,'\x27\x27')+'\x27':_0x5d179d)['join'](',\x20'),_0xa7de49+_0x565c5f(0x23a)+_0x1e7de6+')';}return _0xa7de49+'\x20IN\x20('+_0xd066fc+')';case _0x565c5f(0x252):return _0x4aa151+'\x20IS\x20NULL';case _0x4c69b4['peNQI']:return _0x4aa151+'\x20IS\x20NOT\x20NULL';default:logger['warn']({'event':_0x4c69b4[_0x565c5f(0x1ef)],'operator':_0x137a85},_0x565c5f(0x1d9));return _0xa7de49+'\x20=\x20'+_0xd066fc;}})['filter'](_0x60c324=>_0x60c324!==null);if(_0x4c69b4['sMUyR'](_0x84b353[_0x1b46bd(0x1ec)],0x0))return'';return _0x84b353[_0x1b46bd(0x1c3)](_0x5bebc2);}['buildOrderByClause'](_0x329dbe){const _0x546e68=a0_0x3c7914,_0x20b983={'hatmx':_0x546e68(0x1eb),'mkkAr':_0x546e68(0x1d4),'OMSjK':function(_0x40f9af,_0xcdff83){return _0x40f9af===_0xcdff83;},'xikCN':_0x546e68(0x1e1),'ReknW':function(_0x2aae01,_0x34e3bc){return _0x2aae01===_0x34e3bc;}};if(!_0x329dbe||_0x20b983[_0x546e68(0x211)](_0x329dbe['length'],0x0))return'';const _0x2e6fb9=_0x329dbe['map'](_0x8047b0=>{const _0x4b805f=_0x546e68,{column:_0x30d635,direction:_0x385063}=_0x8047b0;if(!_0x30d635)return logger['warn']({'event':_0x20b983[_0x4b805f(0x227)],'item':_0x8047b0},_0x20b983[_0x4b805f(0x246)]),null;const _0x38665b=_0x385063&&_0x20b983[_0x4b805f(0x211)](_0x385063[_0x4b805f(0x1cc)](),_0x4b805f(0x1e1))?_0x20b983[_0x4b805f(0x219)]:_0x4b805f(0x1cd);return _0x30d635+'\x20'+_0x38665b;})['filter'](_0x360e56=>_0x360e56!==null);if(_0x20b983['ReknW'](_0x2e6fb9['length'],0x0))return'';return _0x2e6fb9[_0x546e68(0x1c3)](',\x20');}async['generateExcel'](_0x380ff2,_0x28904b,_0x2685a9){const _0x1a323a=a0_0x3c7914,_0x461ac0={'qiAkF':function(_0x480f75,_0x3f7eca){return _0x480f75*_0x3f7eca;},'sFAvC':function(_0xb518eb,_0xb27d07){return _0xb518eb/_0xb27d07;},'eUarR':_0x1a323a(0x1de),'kEaeZ':function(_0x543446,_0x205b24){return _0x543446>_0x205b24;},'VhLaP':_0x1a323a(0x241),'USfKq':function(_0x26c106,_0x18933c){return _0x26c106>_0x18933c;},'QYEsu':'excel_columns_from_request','NZEFm':'excel_columns_fallback','BDbtT':'excel_columns_from_query_result','UsZAc':_0x1a323a(0x20f)},_0x27d3ea=require('../utils/excel-generator'),_0x3e787e=new _0x27d3ea(),_0x2f0ed6=_0x2685a9[_0x1a323a(0x239)]?_0x2685a9['filename']+'-'+_0x380ff2:'export-'+_0x380ff2,_0x20f1bf=path['join'](this[_0x1a323a(0x1f2)],_0x2f0ed6+_0x1a323a(0x216));let _0x4b2890=_0x2685a9['columns'];const _0x42cc83=_0x2685a9[_0x1a323a(0x1bf)]&&_0x2685a9['exportQuery'][_0x1a323a(0x23e)](),_0x1666cc=_0x4b2890&&_0x4b2890[_0x1a323a(0x1ec)]===0x1&&(_0x4b2890[0x0]==='*'||_0x4b2890[0x0]['toLowerCase']()===_0x461ac0['eUarR']);if(_0x461ac0['kEaeZ'](_0x28904b[_0x1a323a(0x1ec)],0x0)){const _0xb5d230=Object['keys'](_0x28904b[0x0]);if(_0x42cc83)_0x4b2890=_0xb5d230,logger[_0x1a323a(0x23d)]({'event':_0x461ac0['VhLaP'],'columns':_0x4b2890},_0x1a323a(0x22a)+_0x4b2890[_0x1a323a(0x1ec)]+_0x1a323a(0x1c6));else{if(_0x1666cc)_0x4b2890=_0xb5d230,logger[_0x1a323a(0x23d)]({'event':'excel_columns_select_all','columns':_0x4b2890},_0x1a323a(0x24f)+_0x4b2890['length']+'\x20columns\x20(wildcard\x20requested)');else{if(_0x4b2890&&_0x461ac0['USfKq'](_0x4b2890['length'],0x0)){const _0x543989=_0x4b2890[_0x1a323a(0x1f1)](_0x1c3031=>_0xb5d230['includes'](_0x1c3031));_0x543989['length']>0x0?(_0x4b2890=_0x543989,logger[_0x1a323a(0x23d)]({'event':_0x461ac0['QYEsu'],'requestedColumns':_0x2685a9[_0x1a323a(0x240)],'validColumns':_0x4b2890},'Using\x20'+_0x4b2890['length']+'\x20columns\x20from\x20request')):(_0x4b2890=_0xb5d230,logger['warn']({'event':_0x461ac0['NZEFm'],'requestedColumns':_0x2685a9[_0x1a323a(0x240)],'availableColumns':_0xb5d230},'Requested\x20columns\x20not\x20found\x20in\x20data,\x20using\x20all\x20'+_0xb5d230[_0x1a323a(0x1ec)]+_0x1a323a(0x244)));}else _0x4b2890=_0xb5d230,logger['info']({'event':_0x461ac0[_0x1a323a(0x1b6)],'columns':_0x4b2890},_0x1a323a(0x22a)+_0x4b2890['length']+_0x1a323a(0x235));}}}else logger[_0x1a323a(0x23d)]({'event':_0x461ac0['UsZAc'],'columns':_0x4b2890},_0x1a323a(0x22a)+(_0x4b2890?.[_0x1a323a(0x1ec)]||0x0)+'\x20columns\x20from\x20config\x20(no\x20data)');return await _0x3e787e['generate']({'data':_0x28904b,'columns':_0x4b2890,'columnFormats':_0x2685a9['columnFormats']||null,'fieldLabels':_0x2685a9[_0x1a323a(0x1e8)]||null,'filePath':_0x20f1bf,'onProgress':async _0x8960d5=>{const _0x443a11=_0x1a323a;await redisHelper['updateJob'](_0x380ff2,{'progress':Math[_0x443a11(0x253)](_0x8960d5),'processed_rows':Math[_0x443a11(0x253)](_0x461ac0[_0x443a11(0x1e7)](_0x461ac0[_0x443a11(0x1fd)](_0x8960d5,0x64),_0x28904b[_0x443a11(0x1ec)]))});}}),_0x20f1bf;}async['getFilePath'](_0x24fb48){const _0x435f12=a0_0x3c7914,_0x529161={'liOMm':function(_0x4cef0d,_0x4c4846,_0x3f1479,_0x1457d5){return _0x4cef0d(_0x4c4846,_0x3f1479,_0x1457d5);},'zZWvI':'export_file_not_found'},_0x11d8e8=await redisHelper['getJob'](_0x24fb48);if(!_0x11d8e8||_0x11d8e8[_0x435f12(0x250)]!==_0x435f12(0x24b))return null;try{return await fs['access'](_0x11d8e8[_0x435f12(0x1da)]),_0x11d8e8['file_path'];}catch(_0x2ff967){return _0x529161['liOMm'](logError,_0x2ff967,{'event':_0x529161[_0x435f12(0x1e6)],'jobId':_0x24fb48,'path':_0x11d8e8['file_path']},_0x435f12(0x1b5)),null;}}async[a0_0x3c7914(0x248)](){const _0x4ca673=a0_0x3c7914,_0x41d66b={'aThJI':'Starting\x20export\x20cleanup','rMUGl':function(_0x5131ea,_0xaf6b5a){return _0x5131ea/_0xaf6b5a;},'cCzPC':function(_0x4b1edf,_0xcc2870){return _0x4b1edf*_0xcc2870;},'DRWFX':function(_0x2e889c,_0x343517){return _0x2e889c>_0x343517;},'zsczS':_0x4ca673(0x1b7),'VHDtj':_0x4ca673(0x1d2)};logger[_0x4ca673(0x23d)]({'event':_0x4ca673(0x1e0)},_0x41d66b['aThJI']);const _0x2a5062=await redisHelper[_0x4ca673(0x200)]();let _0x1a926e=0x0;for(const _0x576f5d of _0x2a5062){const _0x40a7a5=new Date(_0x576f5d[_0x4ca673(0x204)]),_0x28fe14=new Date(),_0x10c050=_0x41d66b['rMUGl'](_0x28fe14-_0x40a7a5,_0x41d66b[_0x4ca673(0x1f4)](0x3e8,0x3c)*0x3c);if(_0x41d66b['DRWFX'](_0x10c050,0x1)){if(_0x576f5d['file_path'])try{await fs[_0x4ca673(0x1dd)](_0x576f5d[_0x4ca673(0x1da)]),logger['info']({'event':'export_file_deleted','path':_0x576f5d[_0x4ca673(0x1da)]},_0x4ca673(0x1fa));}catch(_0x21c474){logger[_0x4ca673(0x243)]({'event':_0x41d66b[_0x4ca673(0x1d7)],'path':_0x576f5d[_0x4ca673(0x1da)],'error':_0x21c474[_0x4ca673(0x225)]},_0x41d66b['VHDtj']);}await redisHelper['deleteJob'](_0x576f5d[_0x4ca673(0x1ea)]),_0x1a926e++;}}return logger[_0x4ca673(0x23d)]({'event':'export_cleanup_complete','deleted':_0x1a926e},_0x4ca673(0x234)),_0x1a926e;}}module[a0_0x3c7914(0x1cb)]=new ExportService();
@@ -1 +1 @@
1
- const a0_0x548d70=a0_0x4abe;function a0_0x1395(){const _0x5b908f=['wKPTCwK','y3jLyxrLq29TBwL0sM9I','mtDJELHnENK','ChjLDMLLD19QB2jFy29TCgXLDgvK','qxv0BY1Nzw5LCMf0zwqGvvvjrcbMB3iG','s0rktfy','zxHLy3v0zvf1zxj5','ChjLDMLLD19QB2jFy3jLyxrLza','Dw5SAw5R','zMLSDgvY','ChjLDMLLD19VAW','ntaXndqZmxfWvMPvCG','x2v4Axn0Aw5Nswq','ndiXnZHfAw5SAg8','CMvWBgfJzq','rhvWBgLJyxrLihzHBhvLigzVCIa','mJC0mtGYmgf1weHKuW','qvbTywm','zw5Prhu','y29SDw1UrM9YBwf0CW','C2TPCf9LEgLZDgLUzW','CKTfA3K','t0nJqMe','mJiYoujnr3DkCW','ChjVy2vZC2vKuM93CW','uhjLDMLLDYbQB2iGy29TCgXLDgvK','AhzMs2C','twXWvMC','ChjVy2vZC0XVB2T1CezPzwXKCW','uhrnBMS','u0vis2G','sw1WB3j0igzPBguGDxbSB2fKzwqGyw5KihbHCNnLza','u3bXrMu','y29TBwL0x3bYB2nLC3nFzxjYB3i','wNrgs2e','lI4VDxrPBhmVBg9VA3vWlxjLC29SDMvY','DxbSB2fKrgLY','AgfrDhm','z2v0tw9UDgG','yMf0y2HwywXPzgf0zvjVD3m','Bg9VA3vWrMLLBgrZ','rMfPBgvKihrVignSzwfUDxaGzMLSzq','EuDxsMe','DhjPBq','BwfW','ChvZAa','q29SDw1UigzVCM1HDhmGyxbWBgLLzcb0BYbYB3DZ','zhLgCLu','C1zVDwm','CfLYCvO','DMfSAwq','uMvXDwvZDcbZy29WzsbVDMvYCMLKzsbHChbSAwvKihrVigLTCg9YDgvKihjVD3m','x2vYCM9YCW','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','BxLZCwW','vxbSB2fKigrHDgeGBM90igzVDw5Kig9Yigv4CgLYzwq','Avfuq3a','lI4VlI4VDgvTCc91CgXVywrZlW','DgfYz2v0rMLLBgq','ChjVy2vZC1bYzxzPzxDkB2i','zw52','DxbSB2fKx2LK','CgfKu3rHCNq','CM93CW','y2f0y2G','y29TBwL0x2PVyL9JB21WBgv0zwq','z2vUzxjHDgvjza','Dg9ju09tDhjPBMC','mZq4nZC3nZD6uMDUtw4','BgvUz3rO','Aw5KzxHpzG','kqOGicaGica','AM9IoG','sM9Iig5VDcbMB3vUzcbVCIbLEhbPCMvK','uhjLDMLLDYbQB2iGBM90igzVDw5Kig9Yigv4CgLYzwq','lI4VDxrPBhmVzgi','DxbKyxrL','Dhj1zq','zM9YrwfJAa','C3PvDKy','BhHtCNK','y3jLyxrLzf9HDa','s3P0vwy','ndy2mgjNzLHUBW','u0Tjua','BNvTyMvY','DhLWzq','BNLSyu8','CM93sw5KzxG','DKrkzwC','wMHlvNm','D25Py1a','y29TBwL0x2PVyL9MywLSzwq','C2L6zq','y1b1Aha','z2v0sM9I','lI4VDxrPBhmVzxHJzwWTCgfYC2vY','DMf3ueK','A1D1veq','yNvPBgrcyxrJAfvWzgf0zq','mtbxtg5XEhi','Aw5Zzxj0','s2PRChy','DMfSAwrHDgLUzW','tLvmta','DxbSB2fKoG','CgfYyw1Z','zxHLy3v0zvrYyw5Zywn0Aw9U','zM9YBwf0qM9VBgvHBKzVCKrHDgfIyxnL','uK5ksNy','vvbeqvrf','y29TCgXLDgvK','BwvZC2fNzq','zLbiu2G','cIaGicaGicaGv0HfuKuG','wuzswwe','Dg9vChbLCKnHC2u','cIaGicaGicaGu0vmrunuia','jdfFjdi','AujtDfy','y3jLyxrLuhjLDMLLD0PVyG','zw50CMLLCW','mZe2oda1ngTpAuTxzW','q29TBwL0igPVyIbJCMvHDgvK','z2v0vgLTzq','DxbKyxrLx2v4Axn0Aw5N','D05AvgO','x2fJDgLVBG','z3LRt2S','uhjVy2vZC2LUzYbSB29RDxaGzMLLBgrZ','zNvpBhC','sw1WB3j0igzPzwXKCYbMAwX0zxjLzcaOzxHJBhvKzwqGBg9VA3vWihnVDxjJzsbJB2X1Bw5Zkq','qK1pBg8','mJrly1nbtgq','vfjMuxa','y2H1BMTsB3DZ','z2v0','qujdrevgr0HjsKTmtu5puffsu1rvvLDywvPHyMnKzwzNAgLQA2XTBM9WCxjZDhv2D3H5EJaXmJm0nty3odK','Aw5MBW','q0PHD2C','Dg9mB3DLCKnHC2u','DgvZDa','lI4VDxrPBhmVBg9Nz2vY','C2XPy2u','uhjLDMLLDYbQB2iGzMfPBgvK','lI4VDxrPBhmVCMvKAxmTAgvSCgvY','A2v5CW','rxHJzwWGC3rYDwn0DxjLig1PC21HDgnOlIbnAxnZAw5NigzPzwXKCZOG','x2DLBMvYyxrLzf91DwLK','C3vIC3rYAw5N','zgvIDwC','q29TBwL0igPVyIbJB21WBgv0zwq','Aw5JBhvKzxm','C3rHDhvZ','y29SDw1Ux2zVCM1HDhnFyxbWBgLLza','ChjVy2vZC2LUzW','vvbmt0fex0rjuG','C3rYAw5N','qvvOv2q','C2jUsKq','mtC5mZGYmerPCfbmwG','uMvJB3jKigv4Axn0CYaOAw5Zzxj0x29UBhKGBw9KzsK','ieLoicG','su5trvju','DuzNtK8','x3vWBg9HzerPCG','DxbSB2fKrMLSzq','AM9PBG','Aw5Zzxj0x29UBhK','C2v0','uxbIEw0','zgv0zwn0rgf0ywjHC2veDxbSAwnHDgvZ','B3jHy2XL','zM9YBwf0tNvTyMvYrM9Yrgf0ywjHC2u','yxv0B0DLBMvYyxrLvxbZzxj0s2v5CW','BgfIzwXFDg9FzMLLBgrFBwfWx2j1AwX0','C2v0sM9I','zMLUza','rhD3C08','zM9YBwf0rgf0zuzVCKrHDgfIyxnL','zxjYB3jZ','yM9VBgvHBG','rejFvfLqrq','lI4VDxrPBhmVDxbZzxj0lwj1AwXKzxi'];a0_0x1395=function(){return _0x5b908f;};return a0_0x1395();}(function(_0x33f7de,_0x22defc){const _0x11c7c8=a0_0x4abe,_0x84691b=_0x33f7de();while(!![]){try{const _0x25e9b8=parseInt(_0x11c7c8(0x1e1))/0x1*(parseInt(_0x11c7c8(0x1ec))/0x2)+parseInt(_0x11c7c8(0x1f6))/0x3*(-parseInt(_0x11c7c8(0x17a))/0x4)+-parseInt(_0x11c7c8(0x18b))/0x5*(parseInt(_0x11c7c8(0x1a1))/0x6)+-parseInt(_0x11c7c8(0x1c7))/0x7*(parseInt(_0x11c7c8(0x1ac))/0x8)+-parseInt(_0x11c7c8(0x1ea))/0x9+parseInt(_0x11c7c8(0x1ef))/0xa+parseInt(_0x11c7c8(0x16b))/0xb;if(_0x25e9b8===_0x22defc)break;else _0x84691b['push'](_0x84691b['shift']());}catch(_0x369ece){_0x84691b['push'](_0x84691b['shift']());}}}(a0_0x1395,0x87b4a));const {v7:uuidv7}=require('uuid'),path=require('path'),fs=require('fs')['promises'],redisHelper=require(a0_0x548d70(0x1b8)),{logger,logError}=require(a0_0x548d70(0x1b5)),dbType=(process[a0_0x548d70(0x163)][a0_0x548d70(0x1dd)]||'postgresql')[a0_0x548d70(0x1b3)]();function a0_0x4abe(_0x34f53d,_0x46a099){_0x34f53d=_0x34f53d-0x163;const _0x139590=a0_0x1395();let _0x4abe16=_0x139590[_0x34f53d];if(a0_0x4abe['xlQxNh']===undefined){var _0x3b033e=function(_0x5e0250){const _0x1ea5a7='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1d439b='',_0x4c3ecd='';for(let _0x6ccafe=0x0,_0x47cc75,_0xfcef80,_0x3ea31e=0x0;_0xfcef80=_0x5e0250['charAt'](_0x3ea31e++);~_0xfcef80&&(_0x47cc75=_0x6ccafe%0x4?_0x47cc75*0x40+_0xfcef80:_0xfcef80,_0x6ccafe++%0x4)?_0x1d439b+=String['fromCharCode'](0xff&_0x47cc75>>(-0x2*_0x6ccafe&0x6)):0x0){_0xfcef80=_0x1ea5a7['indexOf'](_0xfcef80);}for(let _0x68b2cc=0x0,_0x49620a=_0x1d439b['length'];_0x68b2cc<_0x49620a;_0x68b2cc++){_0x4c3ecd+='%'+('00'+_0x1d439b['charCodeAt'](_0x68b2cc)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4c3ecd);};a0_0x4abe['aaVGIt']=_0x3b033e,a0_0x4abe['mbQYGo']={},a0_0x4abe['xlQxNh']=!![];}const _0x52e204=_0x139590[0x0],_0xe04b4e=_0x34f53d+_0x52e204,_0x328eb5=a0_0x4abe['mbQYGo'][_0xe04b4e];return!_0x328eb5?(_0x4abe16=a0_0x4abe['aaVGIt'](_0x4abe16),a0_0x4abe['mbQYGo'][_0xe04b4e]=_0x4abe16):_0x4abe16=_0x328eb5,_0x4abe16;}let executeQuery,executeTransaction,oracleDb;if(dbType==='oracle')oracleDb=require('../utils/db-oracle'),executeQuery=(_0x4b8171,_0x42c1b0)=>oracleDb[a0_0x548d70(0x1e5)](_0x4b8171,_0x42c1b0),executeTransaction=_0x11728c=>oracleDb[a0_0x548d70(0x192)](_0x11728c);else{if(dbType===a0_0x548d70(0x215)){const mysqlDb=require('../utils/db-mysql');executeQuery=(_0x1b943c,_0x118953)=>mysqlDb['executeQuery'](_0x1b943c,_0x118953),executeTransaction=_0x3e630f=>mysqlDb['executeTransaction'](_0x3e630f);}else{const db=require(a0_0x548d70(0x172));executeQuery=db[a0_0x548d70(0x1e5)],executeTransaction=db[a0_0x548d70(0x192)];}}const excelParser=require(a0_0x548d70(0x187)),importValidator=require('../utils/import-validator'),upsertBuilder=require(a0_0x548d70(0x1de)),lookupResolver=require(a0_0x548d70(0x202));class ImportService{constructor(){this['_uploadDir']=null;}get[a0_0x548d70(0x203)](){const _0x5f3a3a=a0_0x548d70;if(!this['_uploadDir']){const _0x3ddc26=process['env'][_0x5f3a3a(0x214)]||'default';this[_0x5f3a3a(0x1cc)]=process['env'][_0x5f3a3a(0x1c3)]||path['join'](__dirname,_0x5f3a3a(0x218)+_0x3ddc26);}return this[_0x5f3a3a(0x1cc)];}['generateId'](){const _0x4e1a17=a0_0x548d70,_0x518c9e={'ZJmqi':_0x4e1a17(0x1b0),'MlpVg':function(_0x2fe682,_0x30adc7){return _0x2fe682-_0x30adc7;},'cPuhp':function(_0x39d3b3,_0x445f32){return _0x39d3b3*_0x445f32;}},_0x5b741d=_0x518c9e[_0x4e1a17(0x1df)],_0x11c748=Date['now']()['toString'](0x24),_0x2fda1d=uuidv7()[_0x4e1a17(0x1ed)](/-/g,'')['substring'](0x0,_0x518c9e[_0x4e1a17(0x1fa)](0xc,_0x11c748[_0x4e1a17(0x16c)])),_0x54eec2=(_0x11c748+_0x2fda1d)[_0x4e1a17(0x1bc)](0x0,0xc);let _0x1b78f6='';for(let _0x7bb0ae=0x0;_0x7bb0ae<0xc;_0x7bb0ae++){_0x54eec2[_0x7bb0ae]?_0x1b78f6+=_0x54eec2[_0x7bb0ae]:_0x1b78f6+=_0x5b741d['charAt'](Math['floor'](_0x518c9e[_0x4e1a17(0x185)](Math['random'](),_0x5b741d['length'])));}return _0x1b78f6;}['buildLabelToFieldMap'](_0x35872c){const _0x542f9d=a0_0x548d70,_0x192c45={'awUwC':'Label\x20to\x20field\x20mapping\x20built'},_0x59d0dc=new Map();if(!_0x35872c)return _0x59d0dc;return Object['entries'](_0x35872c)['forEach'](([_0x306055,_0x446bbd])=>{const _0x11c58e=a0_0x4abe,_0x4e7f1a=String(_0x446bbd)[_0x11c58e(0x20a)]()['replace'](/\s+/g,'_')['replace'](/([a-z])([A-Z])/g,_0x11c58e(0x19d))[_0x11c58e(0x1ed)](/([A-Z]+)([A-Z][a-z])/g,_0x11c58e(0x19d))['toLowerCase']();_0x59d0dc[_0x11c58e(0x1d0)](_0x4e7f1a,_0x306055);}),logger['debug']({'event':_0x542f9d(0x1d6),'mappingCount':_0x59d0dc[_0x542f9d(0x184)]},_0x192c45['awUwC']),_0x59d0dc;}['applyColumnFormats'](_0xa3cde,_0x43ed65){const _0x501f74=a0_0x548d70,_0x49660b={'vawPI':function(_0x2ed432,_0x34957c){return _0x2ed432===_0x34957c;},'vWTjQ':function(_0x3e4a12,_0x1a0176){return _0x3e4a12===_0x1a0176;},'KiGkE':function(_0x31e1ae,_0xc769e3){return _0x31e1ae===_0xc769e3;},'sbnJD':_0x501f74(0x17c),'SzDKv':_0x501f74(0x1dc),'fPHSh':'text','YFRYa':function(_0x587f12,_0x5073bd){return _0x587f12===_0x5073bd;}};if(!_0x43ed65||_0x49660b[_0x501f74(0x19a)](Object['keys'](_0x43ed65)[_0x501f74(0x16c)],0x0))return _0xa3cde;return _0xa3cde['map'](_0x2e3a7a=>{const _0x4ccbe7=_0x501f74,_0x2e7f6d={..._0x2e3a7a};for(const [_0x3c10a4,_0x253afa]of Object[_0x4ccbe7(0x1a0)](_0x43ed65)){const _0x23532b=_0x2e7f6d[_0x3c10a4];if(_0x49660b[_0x4ccbe7(0x188)](_0x23532b,null)||_0x49660b['vWTjQ'](_0x23532b,undefined)||_0x49660b['KiGkE'](_0x23532b,'')){_0x2e7f6d[_0x3c10a4]=null;continue;}switch(_0x253afa[_0x4ccbe7(0x17d)]){case'date':_0x2e7f6d[_0x3c10a4]=this['formatDateForDatabase'](_0x23532b);break;case _0x49660b[_0x4ccbe7(0x1c6)]:_0x2e7f6d[_0x3c10a4]=this[_0x4ccbe7(0x1d4)](_0x23532b);break;case _0x49660b['SzDKv']:_0x2e7f6d[_0x3c10a4]=this[_0x4ccbe7(0x193)](_0x23532b);break;case _0x49660b[_0x4ccbe7(0x198)]:_0x2e7f6d[_0x3c10a4]=String(_0x23532b);break;default:break;}}return _0x2e7f6d;});}[a0_0x548d70(0x1da)](_0x1d18b0){const _0x5467f3=a0_0x548d70,_0x1b6734={'BJBKc':function(_0x4cc254,_0x490915){return _0x4cc254===_0x490915;},'npMtm':function(_0x2368ea,_0x539fd2){return _0x2368ea===_0x539fd2;},'DwwsO':_0x5467f3(0x1c4),'RNJJv':function(_0xf46f8e,_0x1811d1){return _0xf46f8e instanceof _0x1811d1;},'YIlMS':function(_0x387c68,_0x5b9bb1){return _0x387c68+_0x5b9bb1;},'yGWJa':function(_0x34e3b7,_0x24133f){return _0x34e3b7(_0x24133f);}};if(_0x1b6734['BJBKc'](_0x1d18b0,null)||_0x1d18b0===undefined||_0x1b6734['npMtm'](_0x1d18b0,''))return null;if(_0x1b6734['npMtm'](typeof _0x1d18b0,_0x1b6734[_0x5467f3(0x1d9)])&&/^\d{4}-\d{2}-\d{2}$/['test'](_0x1d18b0))return _0x1d18b0;if(_0x1b6734[_0x5467f3(0x194)](_0x1d18b0,Date)){if(isNaN(_0x1d18b0[_0x5467f3(0x1a3)]()))return null;const _0x284d0e=_0x1d18b0['getFullYear'](),_0x55af0c=String(_0x1b6734['YIlMS'](_0x1d18b0[_0x5467f3(0x205)](),0x1))[_0x5467f3(0x165)](0x2,'0'),_0x214c9e=_0x1b6734[_0x5467f3(0x209)](String,_0x1d18b0['getDate']())[_0x5467f3(0x165)](0x2,'0');return _0x284d0e+'-'+_0x55af0c+'-'+_0x214c9e;}if(typeof _0x1d18b0===_0x1b6734[_0x5467f3(0x1d9)]){const _0x33f8e4=_0x1d18b0['match'](/^(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})$/);if(_0x33f8e4){const _0x14d827=String(_0x33f8e4[0x1])['padStart'](0x2,'0'),_0x2cc076=String(_0x33f8e4[0x2])[_0x5467f3(0x165)](0x2,'0'),_0x1bf99b=_0x33f8e4[0x3];return _0x1bf99b+'-'+_0x2cc076+'-'+_0x14d827;}const _0x5c2420=_0x1d18b0['match'](/^(\d{4})[\/\-](\d{1,2})[\/\-](\d{1,2})$/);if(_0x5c2420){const _0x124d50=_0x5c2420[0x1],_0x4c0bc8=_0x1b6734['yGWJa'](String,_0x5c2420[0x2])[_0x5467f3(0x165)](0x2,'0'),_0x2eed59=_0x1b6734[_0x5467f3(0x209)](String,_0x5c2420[0x3])['padStart'](0x2,'0');return _0x124d50+'-'+_0x4c0bc8+'-'+_0x2eed59;}}return _0x1d18b0;}[a0_0x548d70(0x1d4)](_0x39d10c){const _0x186069=a0_0x548d70,_0x43110a={'sVouc':function(_0x4b16d9,_0x4e0fb4){return _0x4b16d9===_0x4e0fb4;},'ZtFKa':'string','wnicP':function(_0x10ddab,_0x1d9a19){return _0x10ddab(_0x1d9a19);}};if(_0x39d10c===null||_0x43110a[_0x186069(0x20f)](_0x39d10c,undefined)||_0x39d10c==='')return null;if(typeof _0x39d10c==='number')return isNaN(_0x39d10c)?null:_0x39d10c;if(typeof _0x39d10c===_0x43110a[_0x186069(0x201)]){let _0x50e01f=_0x39d10c['trim']();const _0x261b6c=/,\d{1,2}$/['test'](_0x50e01f)&&!/,\d{3}/[_0x186069(0x1b4)](_0x50e01f);_0x261b6c?_0x50e01f=_0x50e01f[_0x186069(0x1ed)](/\./g,'')[_0x186069(0x1ed)](',','.'):_0x50e01f=_0x50e01f['replace'](/,/g,'');const _0x3f2e9a=_0x43110a[_0x186069(0x182)](parseFloat,_0x50e01f);return isNaN(_0x3f2e9a)?null:_0x3f2e9a;}return null;}[a0_0x548d70(0x193)](_0x64a150){const _0x1c28f2=a0_0x548d70,_0xd227af={'lsigH':function(_0x473da4,_0x3f2969){return _0x473da4===_0x3f2969;},'JyXCw':function(_0x57e6df,_0x2c1e3e){return _0x57e6df===_0x2c1e3e;},'CJawg':function(_0x54820e,_0x48946e){return _0x54820e===_0x48946e;},'KztUf':_0x1c28f2(0x174),'Qpbym':'false','eniDu':_0x1c28f2(0x1c4),'APmac':_0x1c28f2(0x17c)};if(_0xd227af['lsigH'](_0x64a150,null)||_0x64a150===undefined||_0xd227af['JyXCw'](_0x64a150,''))return null;if(_0xd227af[_0x1c28f2(0x1b2)](typeof _0x64a150,'boolean'))return _0x64a150?_0xd227af['KztUf']:_0xd227af[_0x1c28f2(0x1d1)];if(typeof _0x64a150===_0xd227af[_0x1c28f2(0x1f1)]){const _0x325000=_0x64a150[_0x1c28f2(0x20a)]()[_0x1c28f2(0x1b3)]();if([_0xd227af[_0x1c28f2(0x179)],'yes','y','1'][_0x1c28f2(0x1bf)](_0x325000))return'true';if(['false','no','n','0'][_0x1c28f2(0x1bf)](_0x325000))return _0xd227af[_0x1c28f2(0x1d1)];return null;}if(typeof _0x64a150===_0xd227af[_0x1c28f2(0x1f0)])return _0x64a150?_0xd227af['KztUf']:'false';return null;}async[a0_0x548d70(0x1cd)](_0x494cb4,_0x19ca42){const _0xcd01f9=a0_0x548d70,_0x1f43f7={'TRfQp':function(_0x2b03a0,_0x21b959){return _0x2b03a0||_0x21b959;},'Kjkpv':'headers_mapped','eLYqt':'request_scope_applied','sCdBS':_0xcd01f9(0x212),'fuOlw':'import_file_uploaded','ounpT':_0xcd01f9(0x1fe),'tkMji':function(_0x2087aa,_0x2b7a17,_0x459cc3,_0x394cf0){return _0x2087aa(_0x2b7a17,_0x459cc3,_0x394cf0);},'AdjYw':'file_cleanup_error','KDKmL':_0xcd01f9(0x208)},_0x1e140c=this[_0xcd01f9(0x169)]();try{let {headers:_0x52b2b7,rows:_0x2c4f7a,totalRows:_0x5e3ae9}=await excelParser['parseExcelFile'](_0x494cb4['path']);const _0x8425e6=this['buildLabelToFieldMap'](_0x19ca42['fieldLabels']),_0xbed73f=_0x52b2b7['map'](_0x5cd251=>{const _0x1dc436=_0xcd01f9,_0x392e42=_0x8425e6[_0x1dc436(0x1af)](_0x5cd251);return _0x1f43f7[_0x1dc436(0x1ad)](_0x392e42,_0x5cd251);});_0x2c4f7a=_0x2c4f7a[_0xcd01f9(0x20b)](_0x2a83e4=>{const _0x665c8={};return _0x52b2b7['forEach']((_0x3a2771,_0x1e3de7)=>{const _0x1a0955=_0xbed73f[_0x1e3de7];_0x665c8[_0x1a0955]=_0x2a83e4[_0x3a2771];}),_0x665c8;}),_0x52b2b7=_0xbed73f,logger[_0xcd01f9(0x1bd)]({'event':_0x1f43f7[_0xcd01f9(0x18d)],'original':_0x52b2b7[_0xcd01f9(0x16c)],'mapped':_0xbed73f['filter']((_0x572247,_0x30d812)=>_0x572247!==_0x52b2b7[_0x30d812])['length']},'Excel\x20headers\x20mapped\x20to\x20field\x20names');_0x19ca42[_0xcd01f9(0x1f2)]&&Object['keys'](_0x19ca42[_0xcd01f9(0x1f2)])[_0xcd01f9(0x16c)]>0x0&&(_0x2c4f7a=this['applyColumnFormats'](_0x2c4f7a,_0x19ca42[_0xcd01f9(0x1f2)]),logger[_0xcd01f9(0x1bd)]({'event':_0xcd01f9(0x1c1),'formatCount':Object[_0xcd01f9(0x1b9)](_0x19ca42[_0xcd01f9(0x1f2)])['length'],'formats':Object[_0xcd01f9(0x1b9)](_0x19ca42[_0xcd01f9(0x1f2)])},_0xcd01f9(0x20d)));if(_0x19ca42['scopeOverride']&&_0x19ca42['scopeOverride']['column']){const {column:_0x4b620c,value:_0x33d1ac}=_0x19ca42['scopeOverride'];_0x2c4f7a=_0x2c4f7a[_0xcd01f9(0x20b)](_0x36a695=>({..._0x36a695,[_0x4b620c]:_0x33d1ac})),logger['debug']({'event':_0x1f43f7['eLYqt'],'column':_0x4b620c,'rowCount':_0x2c4f7a['length']},_0x1f43f7['sCdBS']);}const _0x42f3c7=_0x19ca42[_0xcd01f9(0x207)]?Object['values'](_0x19ca42['lookupFields'])['map'](_0x30882c=>_0x30882c[_0xcd01f9(0x219)]):[],_0x369077=_0x19ca42['fieldName'][_0xcd01f9(0x1e8)](_0x42d071=>!_0x42f3c7[_0xcd01f9(0x1bf)](_0x42d071)),_0x523512=excelParser['validateExcelStructure'](_0x52b2b7,_0x369077);if(!_0x523512[_0xcd01f9(0x211)]){await fs[_0xcd01f9(0x1e7)](_0x494cb4['path']);throw new Error(_0xcd01f9(0x1ba)+_0x523512['missingFields'][_0xcd01f9(0x1ce)](',\x20'));}const _0x372200={'upload_id':_0x1e140c,'filename':_0x494cb4['originalname'],'total_rows':_0x5e3ae9,'headers':_0x52b2b7,'rows':_0x2c4f7a,'params':_0x19ca42,'created_at':new Date()[_0xcd01f9(0x16a)]()};return await redisHelper['setJob'](_0xcd01f9(0x190)+_0x1e140c,_0x372200,0xe10),await fs['unlink'](_0x494cb4['path']),logger[_0xcd01f9(0x1b1)]({'event':_0x1f43f7[_0xcd01f9(0x1a9)],'uploadId':_0x1e140c,'filename':_0x494cb4['originalname'],'totalRows':_0x5e3ae9},_0x1f43f7['ounpT']),{'upload_id':_0x1e140c,'total_rows':_0x5e3ae9,'preview':_0x2c4f7a[_0xcd01f9(0x1b6)](0x0,0xa)};}catch(_0x1d30c3){try{await fs['unlink'](_0x494cb4['path']);}catch(_0x3e9bec){_0x1f43f7['tkMji'](logError,_0x3e9bec,{'event':_0x1f43f7['AdjYw']},_0x1f43f7['KDKmL']);}throw _0x1d30c3;}}async[a0_0x548d70(0x19f)](_0x18d40e){const _0x461efd=a0_0x548d70,_0x425c68={'KrFRU':function(_0xaae9c5,_0x4d9b6c,_0x1a6cc1,_0x4826ba){return _0xaae9c5(_0x4d9b6c,_0x1a6cc1,_0x4826ba);},'cFRWo':'Preview\x20processing\x20failed','BMOlo':'validating','OCcBa':'Preview\x20job\x20created'},_0x56cc25=this[_0x461efd(0x169)](),_0x5a782e=await redisHelper['getJob']('upload:'+_0x18d40e);if(!_0x5a782e)throw new Error(_0x461efd(0x216));const _0xfa0de={'job_id':_0x56cc25,'upload_id':_0x18d40e,'status':_0x425c68[_0x461efd(0x1ab)],'progress':0x0,'created_at':new Date()[_0x461efd(0x16a)](),'params':_0x5a782e[_0x461efd(0x191)]};return await redisHelper[_0x461efd(0x1d7)](_0x461efd(0x16f)+_0x56cc25,_0xfa0de,0xe10),logger['info']({'event':_0x461efd(0x1e6),'jobId':_0x56cc25,'uploadId':_0x18d40e},_0x425c68[_0x461efd(0x1f5)]),this[_0x461efd(0x21a)](_0x56cc25,_0x18d40e,_0x5a782e)['catch'](_0x4e4ff7=>{_0x425c68['KrFRU'](logError,_0x4e4ff7,{'event':'preview_process_error','jobId':_0x56cc25},_0x425c68['cFRWo']);}),{'job_id':_0x56cc25,'status':_0x461efd(0x18e)};}[a0_0x548d70(0x1d5)](_0x46bd3c,_0x3b7d41){const _0x2aff9a={'dyFrU':function(_0x35e9ed,_0x115346){return _0x35e9ed===_0x115346;},'iQTCp':function(_0x11bc5b,_0x30b031){return _0x11bc5b===_0x30b031;},'rsrXZ':function(_0x371692,_0x579371){return _0x371692(_0x579371);},'rKEky':function(_0x18838c){return _0x18838c();},'uFgNO':'uuid_auto_generated'};_0x46bd3c['forEach']((_0x4c9199,_0x250c9b)=>{const _0x52ad09=a0_0x4abe;_0x3b7d41[_0x52ad09(0x175)](_0x53a7cf=>{const _0x20c8de=_0x52ad09,_0x31e44f=_0x4c9199[_0x53a7cf];if(_0x31e44f===null||_0x2aff9a[_0x20c8de(0x20e)](_0x31e44f,undefined)||_0x31e44f===''||_0x2aff9a[_0x20c8de(0x217)](_0x2aff9a['rsrXZ'](String,_0x31e44f)[_0x20c8de(0x20a)](),'-')){const _0x3eb37d=_0x2aff9a[_0x20c8de(0x1f4)](uuidv7);_0x4c9199[_0x53a7cf]=_0x3eb37d,_0x4c9199['_generated_uuid']=_0x4c9199[_0x20c8de(0x1bb)]||{},_0x4c9199['_generated_uuid'][_0x53a7cf]=_0x3eb37d,logger['debug']({'event':_0x2aff9a[_0x20c8de(0x1cb)],'rowIndex':_0x250c9b,'field':_0x53a7cf,'uuid':_0x3eb37d},_0x20c8de(0x1e3)+_0x53a7cf+'\x20at\x20row\x20'+(_0x250c9b+0x2));}});});}async['processPreviewJob'](_0x537c02,_0x55ff3d,_0x26e6d9){const _0x196d8b=a0_0x548d70,_0x210ec7={'hvfKg':function(_0x672f1c,_0x3e1553){return _0x672f1c===_0x3e1553;},'vDJeg':function(_0x18027c,_0x315923){return _0x18027c===_0x315923;},'LgTpS':_0x196d8b(0x17b),'SpqFe':function(_0x120353,_0x2ce8a0){return _0x120353>_0x2ce8a0;},'Rwkyu':'processing_lookup_fields','ZhKVs':'preview_error','PtMnk':_0x196d8b(0x1f8),'iBStV':_0x196d8b(0x1b7)};try{let {rows:_0x53af6c,params:_0x282878}=_0x26e6d9;const {requiredFields:_0x1f3bd2,validations:_0x540dbd,upsertKeys:_0x3ca214,tableName:_0x253cd6,primaryKey:_0x256946,fieldName:_0x5c1e6f,upsertStrategy:_0x15d2b5,lookupFields:_0x4287cf}=_0x282878;this[_0x196d8b(0x1d5)](_0x53af6c,_0x3ca214);let _0x10827e=[];if(_0x4287cf&&_0x210ec7[_0x196d8b(0x1ff)](Object['keys'](_0x4287cf)['length'],0x0)){logger[_0x196d8b(0x1b1)]({'event':_0x210ec7['Rwkyu'],'jobId':_0x537c02,'lookupFieldCount':Object[_0x196d8b(0x1b9)](_0x4287cf)[_0x196d8b(0x16c)]},_0x196d8b(0x1a8));const _0x2a72a8=await lookupResolver[_0x196d8b(0x1fb)](_0x53af6c,_0x4287cf);_0x53af6c=_0x2a72a8[_0x196d8b(0x1f7)],_0x10827e=_0x2a72a8[_0x196d8b(0x1db)],_0x26e6d9[_0x196d8b(0x166)]=_0x53af6c;}const _0x495167=importValidator[_0x196d8b(0x206)](_0x53af6c,_0x1f3bd2||[],_0x540dbd||{});_0x10827e[_0x196d8b(0x175)](_0xbde3c=>{const _0x3c95f1=_0x196d8b,_0x1ce72a=_0x495167[_0x3c95f1(0x1d8)](_0x31086f=>_0x31086f['rowIndex']===_0xbde3c[_0x3c95f1(0x17f)]);_0x1ce72a?_0x1ce72a[_0x3c95f1(0x1db)]['push'](_0xbde3c['message']):_0x495167['push']({'rowIndex':_0xbde3c['rowIndex'],'rowData':_0x53af6c[_0xbde3c['rowIndex']],'errors':[_0xbde3c['message']]});});const _0x1a5b43=importValidator['detectDuplicatesInFile'](_0x53af6c,_0x3ca214);_0x1a5b43[_0x196d8b(0x175)](_0x1fcff3=>{const _0x111bd3=_0x196d8b,_0x986e77=_0x495167['find'](_0x8d32ae=>_0x8d32ae[_0x111bd3(0x17f)]===_0x1fcff3[_0x111bd3(0x17f)]),_0x5ee69c=_0x3ca214['map'](_0x4ae795=>_0x4ae795[_0x111bd3(0x19b)]())[_0x111bd3(0x1ce)](',\x20'),_0x43469b=_0x111bd3(0x1ee)+_0x5ee69c;_0x986e77?_0x986e77[_0x111bd3(0x1db)]['push'](_0x43469b):_0x495167[_0x111bd3(0x20c)]({'rowIndex':_0x1fcff3[_0x111bd3(0x17f)],'rowData':_0x53af6c[_0x1fcff3[_0x111bd3(0x17f)]],'errors':[_0x43469b]});}),await this['detectDatabaseDuplicates'](_0x53af6c,_0x3ca214,_0x253cd6,_0x256946,_0x15d2b5,_0x495167),_0x495167['forEach'](_0x4bf280=>{const _0x23b5de=_0x196d8b,_0xd599be=_0x53af6c[_0x4bf280['rowIndex']];_0xd599be&&(_0xd599be['_errors']=_0x4bf280[_0x23b5de(0x1db)]);});let _0x334f3f=0x0,_0x350053=0x0,_0x5e7043=0x0;_0x53af6c[_0x196d8b(0x175)](_0x1fc711=>{const _0x1f0c04=_0x196d8b;if(_0x210ec7[_0x1f0c04(0x1f9)](_0x1fc711['_action'],_0x1f0c04(0x1ca)))_0x334f3f++;else{if(_0x210ec7[_0x1f0c04(0x180)](_0x1fc711[_0x1f0c04(0x1a6)],_0x1f0c04(0x195)))_0x350053++;else _0x210ec7['hvfKg'](_0x1fc711[_0x1f0c04(0x1a6)],_0x210ec7['LgTpS'])&&_0x5e7043++;}});const _0xe59c65={'job_id':_0x537c02,'upload_id':_0x55ff3d,'status':_0x210ec7['SpqFe'](_0x495167[_0x196d8b(0x16c)],0x0)?_0x210ec7[_0x196d8b(0x181)]:_0x196d8b(0x1e9),'progress':0x64,'created_at':_0x26e6d9[_0x196d8b(0x178)],'completed_at':new Date()['toISOString'](),'preview':{'total_rows':_0x53af6c[_0x196d8b(0x16c)],'insert_count':_0x334f3f,'update_count':_0x350053,'skip_count':_0x5e7043,'error_count':_0x495167['length'],'errors':_0x495167,'data':_0x53af6c,'sample_insert':_0x53af6c['filter'](_0x5a81bd=>_0x5a81bd['_action']==='INSERT')['slice'](0x0,0x5),'sample_update':_0x53af6c['filter'](_0x13501f=>_0x13501f['_action']===_0x196d8b(0x195))[_0x196d8b(0x1b6)](0x0,0x5),'sample_skip':_0x53af6c[_0x196d8b(0x1e8)](_0x3fea09=>_0x3fea09[_0x196d8b(0x1a6)]==='SKIP')['slice'](0x0,0x5)},'params':_0x282878};await redisHelper[_0x196d8b(0x1d7)](_0x196d8b(0x16f)+_0x537c02,_0xe59c65,0xe10),_0x26e6d9[_0x196d8b(0x166)]=_0x53af6c,await redisHelper['setJob']('upload:'+_0x55ff3d,_0x26e6d9,0xe10),logger[_0x196d8b(0x1b1)]({'event':_0x196d8b(0x1e2),'jobId':_0x537c02,'status':_0xe59c65['status'],'insertCount':_0x334f3f,'updateCount':_0x350053,'skipCount':_0x5e7043,'errorCount':_0x495167[_0x196d8b(0x16c)]},_0x210ec7[_0x196d8b(0x1fc)]);}catch(_0x44eb2d){logError(_0x44eb2d,{'event':'preview_job_failed','jobId':_0x537c02},_0x210ec7[_0x196d8b(0x19e)]),await redisHelper['setJob']('job:'+_0x537c02,{'job_id':_0x537c02,'upload_id':_0x55ff3d,'status':'failed','progress':0x0,'error':_0x44eb2d[_0x196d8b(0x197)],'created_at':new Date()[_0x196d8b(0x16a)](),'completed_at':new Date()['toISOString']()},0xe10);}}async[a0_0x548d70(0x1d2)](_0x535c89,_0xb19eb7,_0x20248f,_0x5b4b71,_0x1c7eb2=a0_0x548d70(0x1a4),_0x1c3b7a=[]){const _0x277622=a0_0x548d70,_0x8bf303={'gykOk':function(_0x3cfaa7,_0xb3af8f){return _0x3cfaa7===_0xb3af8f;},'wNZTj':'UPDATE','lxSry':_0x277622(0x1cf),'JHOcY':function(_0x58a7e0,_0x1639c4){return _0x58a7e0!==_0x1639c4;},'haQts':_0x277622(0x1f3),'lbChv':_0x277622(0x17b),'SEHKh':'update_existing','nylaO':_0x277622(0x1d3)},_0xdf09d3=upsertBuilder['chunkRows'](_0x535c89,0x64);for(const _0x248f8d of _0xdf09d3){const _0x23f67e=_0x248f8d[_0x277622(0x20b)](_0x2835fe=>_0x2835fe[_0xb19eb7[0x0]]),_0x16af5f=_0x23f67e[_0x277622(0x20b)](_0x3ec832=>{const _0x105584=_0x277622;if(_0x3ec832===null||_0x3ec832===undefined)return _0x105584(0x18f);return'\x27'+String(_0x3ec832)['replace'](/'/g,'\x27\x27')+'\x27';}),_0x5902ec=_0x277622(0x19c)+_0x5b4b71+',\x20'+_0xb19eb7[_0x277622(0x1ce)](',\x20')+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20FROM\x20'+_0x20248f+_0x277622(0x199)+_0xb19eb7[0x0]+_0x277622(0x1c9)+_0x16af5f['join'](',\x20')+_0x277622(0x16e);let _0x3a3f6e=await executeQuery(_0x5902ec);_0x8bf303[_0x277622(0x1a7)](dbType,_0x8bf303[_0x277622(0x17e)])&&_0x3a3f6e&&_0x3a3f6e[_0x277622(0x16c)]>0x0&&(_0x3a3f6e=_0x3a3f6e['map'](_0x3973e3=>{const _0x19339f=_0x277622,_0x52585e={};for(const [_0x319445,_0x52a26f]of Object[_0x19339f(0x1a0)](_0x3973e3)){_0x52585e[_0x319445['toLowerCase']()]=_0x52a26f;}return _0x52585e;}));const _0x1b5c2c=new Map();_0x3a3f6e['forEach'](_0x41a5ab=>{const _0x4e233c=_0x277622,_0x108a26=_0x41a5ab[_0xb19eb7[0x0]];_0x1b5c2c[_0x4e233c(0x1d0)](_0x108a26,_0x41a5ab);}),_0x248f8d[_0x277622(0x175)]((_0x1c3f16,_0xfe37bb)=>{const _0x1c14d9=_0x277622,_0x5ab88a=_0x1c3f16[_0xb19eb7[0x0]],_0x581662=_0x1b5c2c[_0x1c14d9(0x1af)](_0x5ab88a);if(_0x581662){if(_0x8bf303[_0x1c14d9(0x1a7)](_0x1c7eb2,'update_existing'))_0x1c3f16['_action']=_0x8bf303[_0x1c14d9(0x1a5)],_0x1c3f16[_0x1c14d9(0x1eb)]=_0x581662[_0x5b4b71];else{if(_0x8bf303[_0x1c14d9(0x1a7)](_0x1c7eb2,_0x8bf303[_0x1c14d9(0x177)])){_0x1c3f16['_action']='SKIP',_0x1c3f16['_errors']=_0x1c3f16[_0x1c14d9(0x213)]||[],_0x1c3f16[_0x1c14d9(0x213)]['push'](_0x1c14d9(0x1c8));const _0x1084de=_0x535c89[_0x1c14d9(0x16d)](_0x1c3f16);_0x8bf303['JHOcY'](_0x1084de,-0x1)&&_0x1c3b7a['push']({'rowIndex':_0x1084de,'rowData':_0x1c3f16,'errors':['Record\x20exists\x20(insert_only\x20mode)']});}else _0x1c7eb2===_0x8bf303[_0x1c14d9(0x204)]&&(_0x1c3f16['_action']=_0x8bf303['lbChv']);}}else{if(_0x1c7eb2===_0x8bf303[_0x1c14d9(0x1fd)])_0x1c3f16['_action']='INSERT';else(_0x1c7eb2===_0x8bf303['lxSry']||_0x1c7eb2==='skip_existing')&&(_0x1c3f16[_0x1c14d9(0x1a6)]=_0x1c14d9(0x1ca));}});}}async[a0_0x548d70(0x1e0)](_0xbbe527){const _0x1f35ba=a0_0x548d70,_0x545e13={'YdGlr':'Commit\x20processing\x20failed','cadeO':_0x1f35ba(0x171),'KDJLV':'preview_ok','szUvF':_0x1f35ba(0x1a2),'pYrqZ':_0x1f35ba(0x1c2)},_0x4788a2=this[_0x1f35ba(0x169)](),_0x5f4462=await redisHelper[_0x1f35ba(0x186)]('job:'+_0xbbe527);if(!_0x5f4462)throw new Error(_0x545e13['cadeO']);if(_0x5f4462['status']!==_0x545e13[_0x1f35ba(0x1e4)])throw new Error('Cannot\x20commit:\x20preview\x20status\x20is\x20'+_0x5f4462[_0x1f35ba(0x1c0)]);const _0x17d5d3={'job_id':_0x4788a2,'upload_id':_0x5f4462['upload_id'],'preview_job_id':_0xbbe527,'status':'processing','progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x5f4462['params']};return await redisHelper[_0x1f35ba(0x1d7)]('job:'+_0x4788a2,_0x17d5d3,0xe10),logger['info']({'event':'commit_job_created','jobId':_0x4788a2,'previewJobId':_0xbbe527},_0x545e13[_0x1f35ba(0x176)]),this['processCommitJob'](_0x4788a2,_0x5f4462)[_0x1f35ba(0x167)](_0x3359f4=>{const _0xd950b6=_0x1f35ba;logError(_0x3359f4,{'event':_0xd950b6(0x200),'jobId':_0x4788a2},_0x545e13['YdGlr']);}),{'job_id':_0x4788a2,'status':_0x545e13[_0x1f35ba(0x210)]};}async['processCommitJob'](_0x3b3857,_0x1d0163){const _0x112ab9=a0_0x548d70,_0x56a43d={'CVYEV':function(_0x28416c,_0xc0ef20){return _0x28416c===_0xc0ef20;},'AUhWd':_0x112ab9(0x18c),'wiUtR':function(_0x94d084,_0x92e58b){return _0x94d084>_0x92e58b;},'YsDDO':'import_fields_filtered','kWuTD':function(_0x35c9d1,_0x88fafc){return _0x35c9d1||_0x88fafc;},'JWrWI':function(_0x31ab6d,_0x196146){return _0x31ab6d>_0x196146;},'cLAJU':_0x112ab9(0x183),'TmmNz':'Commit\x20job\x20failed'};try{const _0x3abaa4=await redisHelper[_0x112ab9(0x186)]('upload:'+_0x1d0163[_0x112ab9(0x164)]);if(!_0x3abaa4)throw new Error(_0x112ab9(0x216));const {rows:_0x1bdaf3,params:_0x29fc70}=_0x3abaa4,{tableName:_0x530acc,fieldName:_0x35d8aa,primaryKey:_0x12b5ac,upsertKeys:_0x21f5fa,excludeFromImport:_0x4acc78,lookupFields:_0x464c5f,columnFormats:_0x321add}=_0x29fc70,_0x2340ad=_0x464c5f?Object[_0x112ab9(0x1b9)](_0x464c5f):[],_0x50bdf9=new Set([..._0x4acc78||[],..._0x2340ad]);let _0x1a369b=_0x35d8aa;_0x56a43d['wiUtR'](_0x50bdf9[_0x112ab9(0x184)],0x0)&&(_0x1a369b=_0x35d8aa['filter'](_0x5e730b=>!_0x50bdf9['has'](_0x5e730b)),logger['debug']({'event':_0x56a43d['YsDDO'],'originalCount':_0x35d8aa[_0x112ab9(0x16c)],'filteredCount':_0x1a369b['length'],'excludedFields':Array['from'](_0x50bdf9),'lookupSourceFields':_0x2340ad},_0x112ab9(0x1aa)));const _0x52e65a=_0x1bdaf3['filter'](_0x2d186d=>_0x2d186d[_0x112ab9(0x1a6)]==='INSERT'),_0x302c63=_0x1bdaf3['filter'](_0xc8bdd8=>_0xc8bdd8['_action']==='UPDATE');let _0xe66901=0x0,_0x1e4f86=0x0;const _0x581018=[];if(_0x52e65a[_0x112ab9(0x16c)]>0x0){const _0x2adfd6=upsertBuilder['chunkRows'](_0x52e65a,0x64);for(const _0x1334b3 of _0x2adfd6){const {query:_0x14f12f}=upsertBuilder['buildBatchInsert'](_0x1334b3,_0x530acc,_0x1a369b,_0x56a43d[_0x112ab9(0x189)](_0x321add,{}));_0x14f12f&&_0x581018['push']({'sql':_0x14f12f,'count':_0x1334b3['length'],'type':_0x56a43d[_0x112ab9(0x1c5)]});}}if(_0x56a43d['wiUtR'](_0x302c63[_0x112ab9(0x16c)],0x0)){const _0x1ea790=upsertBuilder[_0x112ab9(0x1ae)](_0x302c63,0x64);for(const _0x2ce7fb of _0x1ea790){const {query:_0x419bf5}=upsertBuilder[_0x112ab9(0x18a)](_0x2ce7fb,_0x530acc,_0x1a369b,_0x12b5ac,_0x21f5fa,_0x321add||{});_0x419bf5&&_0x581018['push']({'sql':_0x419bf5,'count':_0x2ce7fb[_0x112ab9(0x16c)],'type':_0x112ab9(0x173)});}}_0x56a43d['JWrWI'](_0x581018[_0x112ab9(0x16c)],0x0)&&await executeTransaction(_0x581018['map'](_0x27ac54=>({'sql':_0x27ac54['sql'],'params':[]})));_0x581018['forEach'](_0x5c720c=>{const _0x89cdb4=_0x112ab9;if(_0x56a43d['CVYEV'](_0x5c720c[_0x89cdb4(0x17d)],_0x56a43d['AUhWd']))_0xe66901+=_0x5c720c['count'];else _0x1e4f86+=_0x5c720c['count'];});const _0x5cf0c3={'job_id':_0x3b3857,'upload_id':_0x1d0163[_0x112ab9(0x164)],'preview_job_id':_0x1d0163['job_id'],'status':_0x112ab9(0x196),'progress':0x64,'created_at':_0x1d0163[_0x112ab9(0x178)],'started_at':new Date()[_0x112ab9(0x16a)](),'completed_at':new Date()[_0x112ab9(0x16a)](),'result':{'total_rows':_0x1bdaf3[_0x112ab9(0x16c)],'inserted_rows':_0xe66901,'updated_rows':_0x1e4f86,'skipped_rows':0x0,'failed_rows':0x0,'errors':[]},'params':_0x29fc70};await redisHelper[_0x112ab9(0x1d7)]('job:'+_0x3b3857,_0x5cf0c3,0xe10),logger['info']({'event':_0x112ab9(0x168),'jobId':_0x3b3857,'insertedCount':_0xe66901,'updatedCount':_0x1e4f86},_0x112ab9(0x1be));}catch(_0x21f11a){logError(_0x21f11a,{'event':_0x56a43d['cLAJU'],'jobId':_0x3b3857},_0x56a43d['TmmNz']),await redisHelper['setJob']('job:'+_0x3b3857,{'job_id':_0x3b3857,'upload_id':_0x1d0163[_0x112ab9(0x164)],'preview_job_id':_0x1d0163['job_id'],'status':'failed','progress':0x0,'error':_0x21f11a[_0x112ab9(0x197)],'created_at':_0x1d0163['created_at'],'started_at':new Date()[_0x112ab9(0x16a)](),'completed_at':new Date()['toISOString']()},0xe10);}}async['getJobStatus'](_0x401962){const _0xb34673=a0_0x548d70,_0x28ef60={'qrBAG':_0xb34673(0x170)},_0x382142=await redisHelper['getJob'](_0xb34673(0x16f)+_0x401962);if(!_0x382142)return{'success':![],'error':_0x28ef60['qrBAG']};return{'success':!![],'data':_0x382142};}}module['exports']=new ImportService();
1
+ const a0_0x4e6a12=a0_0x372d;(function(_0x2d4c76,_0x5768bd){const _0x25b613=a0_0x372d,_0x26864f=_0x2d4c76();while(!![]){try{const _0x1f0db0=parseInt(_0x25b613(0x114))/0x1+parseInt(_0x25b613(0xf3))/0x2*(parseInt(_0x25b613(0x143))/0x3)+-parseInt(_0x25b613(0xf2))/0x4+-parseInt(_0x25b613(0x12e))/0x5*(parseInt(_0x25b613(0x176))/0x6)+parseInt(_0x25b613(0x130))/0x7*(parseInt(_0x25b613(0x15c))/0x8)+parseInt(_0x25b613(0x155))/0x9*(-parseInt(_0x25b613(0x106))/0xa)+-parseInt(_0x25b613(0x13d))/0xb;if(_0x1f0db0===_0x5768bd)break;else _0x26864f['push'](_0x26864f['shift']());}catch(_0x5cf13f){_0x26864f['push'](_0x26864f['shift']());}}}(a0_0x2661,0x44cd4));const {v7:uuidv7}=require(a0_0x4e6a12(0x10c)),path=require(a0_0x4e6a12(0x11a)),fs=require('fs')['promises'],redisHelper=require('../utils/redis-helper'),{logger,logError}=require(a0_0x4e6a12(0x14a)),dbType=(process[a0_0x4e6a12(0xec)]['DB_TYPE']||'postgresql')['toLowerCase']();let executeQuery,executeTransaction,oracleDb;function a0_0x372d(_0x5d1e79,_0x64a0be){_0x5d1e79=_0x5d1e79-0xe2;const _0x266191=a0_0x2661();let _0x372daa=_0x266191[_0x5d1e79];if(a0_0x372d['sgUoef']===undefined){var _0x5de5bc=function(_0x2352ce){const _0x176529='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5c76e8='',_0x43c4f8='';for(let _0x5370fe=0x0,_0x4e8c13,_0x182fcc,_0x119e42=0x0;_0x182fcc=_0x2352ce['charAt'](_0x119e42++);~_0x182fcc&&(_0x4e8c13=_0x5370fe%0x4?_0x4e8c13*0x40+_0x182fcc:_0x182fcc,_0x5370fe++%0x4)?_0x5c76e8+=String['fromCharCode'](0xff&_0x4e8c13>>(-0x2*_0x5370fe&0x6)):0x0){_0x182fcc=_0x176529['indexOf'](_0x182fcc);}for(let _0x553aef=0x0,_0x3f0972=_0x5c76e8['length'];_0x553aef<_0x3f0972;_0x553aef++){_0x43c4f8+='%'+('00'+_0x5c76e8['charCodeAt'](_0x553aef)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x43c4f8);};a0_0x372d['egUTcj']=_0x5de5bc,a0_0x372d['rAMhSo']={},a0_0x372d['sgUoef']=!![];}const _0x14686e=_0x266191[0x0],_0x56d9f4=_0x5d1e79+_0x14686e,_0x3fb7fe=a0_0x372d['rAMhSo'][_0x56d9f4];return!_0x3fb7fe?(_0x372daa=a0_0x372d['egUTcj'](_0x372daa),a0_0x372d['rAMhSo'][_0x56d9f4]=_0x372daa):_0x372daa=_0x3fb7fe,_0x372daa;}if(dbType==='oracle')oracleDb=require('../utils/db-oracle'),executeQuery=(_0x1a1db2,_0x47cb7f)=>oracleDb['executeQuery'](_0x1a1db2,_0x47cb7f),executeTransaction=_0xf6f673=>oracleDb[a0_0x4e6a12(0x158)](_0xf6f673);else{if(dbType==='mysql'){const mysqlDb=require('../utils/db-mysql');executeQuery=(_0xfd21af,_0x17180f)=>mysqlDb['executeQuery'](_0xfd21af,_0x17180f),executeTransaction=_0x5261b0=>mysqlDb[a0_0x4e6a12(0x158)](_0x5261b0);}else{const db=require('../utils/db');executeQuery=db[a0_0x4e6a12(0x12f)],executeTransaction=db['executeTransaction'];}}const excelParser=require('../utils/excel-parser'),importValidator=require(a0_0x4e6a12(0x14d)),upsertBuilder=require('../utils/upsert-builder'),lookupResolver=require(a0_0x4e6a12(0x163));class ImportService{constructor(){const _0x866837=a0_0x4e6a12;this[_0x866837(0x124)]=null;}get['uploadDir'](){const _0x229d78=a0_0x4e6a12,_0x92a508={'IrzAp':_0x229d78(0x16c)};if(!this[_0x229d78(0x124)]){const _0x3b2d09=process[_0x229d78(0xec)][_0x229d78(0xfa)]||_0x92a508[_0x229d78(0x15f)];this['_uploadDir']=process['env']['UPLOAD_DIR']||path['join'](__dirname,_0x229d78(0x156)+_0x3b2d09);}return this['_uploadDir'];}['generateId'](){const _0x444f95=a0_0x4e6a12,_0x3239cf={'UMphJ':function(_0xc15d5f){return _0xc15d5f();},'EMiTx':function(_0x2eadc5,_0x3780cb){return _0x2eadc5+_0x3780cb;},'LcwLb':function(_0x3283e9,_0x4bd6ea){return _0x3283e9*_0x4bd6ea;}},_0x394bd9=_0x444f95(0x100),_0x824ad9=Date['now']()[_0x444f95(0x171)](0x24),_0x2390cd=_0x3239cf['UMphJ'](uuidv7)[_0x444f95(0x180)](/-/g,'')['substring'](0x0,0xc-_0x824ad9['length']),_0x11e641=_0x3239cf['EMiTx'](_0x824ad9,_0x2390cd)[_0x444f95(0x150)](0x0,0xc);let _0xbcccca='';for(let _0x59ebb2=0x0;_0x59ebb2<0xc;_0x59ebb2++){_0x11e641[_0x59ebb2]?_0xbcccca+=_0x11e641[_0x59ebb2]:_0xbcccca+=_0x394bd9['charAt'](Math[_0x444f95(0x12d)](_0x3239cf[_0x444f95(0xe2)](Math['random'](),_0x394bd9[_0x444f95(0x174)])));}return _0xbcccca;}['buildLabelToFieldMap'](_0x4a937a){const _0x1f3042=a0_0x4e6a12,_0x2dcfc9=new Map();if(!_0x4a937a)return _0x2dcfc9;return Object['entries'](_0x4a937a)[_0x1f3042(0x118)](([_0x172bb0,_0x713c75])=>{const _0x9c89e9=_0x1f3042,_0x34fa73=String(_0x713c75)['trim']()[_0x9c89e9(0x180)](/\s+/g,'_')[_0x9c89e9(0x180)](/([a-z])([A-Z])/g,'$1_$2')[_0x9c89e9(0x180)](/([A-Z]+)([A-Z][a-z])/g,_0x9c89e9(0x117))[_0x9c89e9(0x173)]();_0x2dcfc9[_0x9c89e9(0x12a)](_0x34fa73,_0x172bb0);}),logger['debug']({'event':'label_to_field_map_built','mappingCount':_0x2dcfc9[_0x1f3042(0x12c)]},_0x1f3042(0xeb)),_0x2dcfc9;}[a0_0x4e6a12(0x15e)](_0x1e4652,_0x2cb6ed){const _0x2cfe85=a0_0x4e6a12,_0xef57d5={'NxSUQ':function(_0x19830e,_0x3183df){return _0x19830e===_0x3183df;},'bwtNG':_0x2cfe85(0xed),'LJKWa':_0x2cfe85(0x17b),'eyZHj':function(_0x7708aa,_0x530329){return _0x7708aa===_0x530329;}};if(!_0x2cb6ed||_0xef57d5['eyZHj'](Object['keys'](_0x2cb6ed)[_0x2cfe85(0x174)],0x0))return _0x1e4652;return _0x1e4652['map'](_0x1c236e=>{const _0xf1d017=_0x2cfe85,_0x4ae30a={..._0x1c236e};for(const [_0x486842,_0x193299]of Object[_0xf1d017(0xfb)](_0x2cb6ed)){const _0x5b627d=_0x4ae30a[_0x486842];if(_0xef57d5[_0xf1d017(0xe6)](_0x5b627d,null)||_0x5b627d===undefined||_0x5b627d===''){_0x4ae30a[_0x486842]=null;continue;}switch(_0x193299[_0xf1d017(0x14b)]){case _0xef57d5['bwtNG']:_0x4ae30a[_0x486842]=this[_0xf1d017(0x16b)](_0x5b627d);break;case'number':_0x4ae30a[_0x486842]=this['formatNumberForDatabase'](_0x5b627d);break;case'boolean':_0x4ae30a[_0x486842]=this['formatBooleanForDatabase'](_0x5b627d);break;case _0xef57d5[_0xf1d017(0x151)]:_0x4ae30a[_0x486842]=String(_0x5b627d);break;default:break;}}return _0x4ae30a;});}['formatDateForDatabase'](_0x1a3434){const _0x4b31d7=a0_0x4e6a12,_0x82550={'PCcGL':function(_0x41bafa,_0x4c74f8){return _0x41bafa===_0x4c74f8;},'gkucY':function(_0x4725b8,_0x17b87a){return _0x4725b8===_0x17b87a;},'ikYft':_0x4b31d7(0x121),'HKVGH':function(_0x289104,_0x42cff5){return _0x289104(_0x42cff5);},'FzqjZ':function(_0x38f3e8,_0x400b4f){return _0x38f3e8+_0x400b4f;},'eIzai':function(_0x66c4d5,_0x36cec6){return _0x66c4d5(_0x36cec6);}};if(_0x82550[_0x4b31d7(0x154)](_0x1a3434,null)||_0x82550['gkucY'](_0x1a3434,undefined)||_0x1a3434==='')return null;if(typeof _0x1a3434===_0x82550['ikYft']&&/^\d{4}-\d{2}-\d{2}$/[_0x4b31d7(0x14e)](_0x1a3434))return _0x1a3434;if(_0x1a3434 instanceof Date){if(_0x82550[_0x4b31d7(0x107)](isNaN,_0x1a3434[_0x4b31d7(0x177)]()))return null;const _0x5be3b5=_0x1a3434[_0x4b31d7(0x11d)](),_0x35ce3c=_0x82550[_0x4b31d7(0x107)](String,_0x82550[_0x4b31d7(0x10d)](_0x1a3434['getMonth'](),0x1))[_0x4b31d7(0x14c)](0x2,'0'),_0x478688=_0x82550[_0x4b31d7(0x153)](String,_0x1a3434['getDate']())['padStart'](0x2,'0');return _0x5be3b5+'-'+_0x35ce3c+'-'+_0x478688;}if(_0x82550[_0x4b31d7(0x170)](typeof _0x1a3434,_0x4b31d7(0x121))){const _0x34b934=_0x1a3434['match'](/^(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})$/);if(_0x34b934){const _0x39a085=_0x82550['eIzai'](String,_0x34b934[0x1])[_0x4b31d7(0x14c)](0x2,'0'),_0x5141f9=String(_0x34b934[0x2])[_0x4b31d7(0x14c)](0x2,'0'),_0x31bfbe=_0x34b934[0x3];return _0x31bfbe+'-'+_0x5141f9+'-'+_0x39a085;}const _0x222a4e=_0x1a3434['match'](/^(\d{4})[\/\-](\d{1,2})[\/\-](\d{1,2})$/);if(_0x222a4e){const _0x5e21fc=_0x222a4e[0x1],_0x4740da=String(_0x222a4e[0x2])[_0x4b31d7(0x14c)](0x2,'0'),_0xe9e703=String(_0x222a4e[0x3])[_0x4b31d7(0x14c)](0x2,'0');return _0x5e21fc+'-'+_0x4740da+'-'+_0xe9e703;}}return _0x1a3434;}['formatNumberForDatabase'](_0x16b347){const _0x511be0=a0_0x4e6a12,_0x4aad9a={'asWKY':'number','aIrSs':function(_0x22fa5a,_0x31f218){return _0x22fa5a(_0x31f218);},'qYzVe':function(_0x4b1d91,_0x36fa1e){return _0x4b1d91===_0x36fa1e;}};if(_0x16b347===null||_0x16b347===undefined||_0x16b347==='')return null;if(typeof _0x16b347===_0x4aad9a[_0x511be0(0x147)])return _0x4aad9a[_0x511be0(0x120)](isNaN,_0x16b347)?null:_0x16b347;if(_0x4aad9a[_0x511be0(0x13c)](typeof _0x16b347,_0x511be0(0x121))){let _0x887444=_0x16b347[_0x511be0(0xe8)]();const _0x4385ff=/,\d{1,2}$/['test'](_0x887444)&&!/,\d{3}/['test'](_0x887444);_0x4385ff?_0x887444=_0x887444[_0x511be0(0x180)](/\./g,'')[_0x511be0(0x180)](',','.'):_0x887444=_0x887444[_0x511be0(0x180)](/,/g,'');const _0x224371=_0x4aad9a[_0x511be0(0x120)](parseFloat,_0x887444);return _0x4aad9a[_0x511be0(0x120)](isNaN,_0x224371)?null:_0x224371;}return null;}['formatBooleanForDatabase'](_0x3335a9){const _0x3d7d22=a0_0x4e6a12,_0xaf5484={'PlKJU':function(_0x587dee,_0x27dda9){return _0x587dee===_0x27dda9;},'wWPor':function(_0x5107f9,_0x4bfef7){return _0x5107f9===_0x4bfef7;},'NzRxa':function(_0x26ee05,_0x297bda){return _0x26ee05===_0x297bda;},'CBKuD':function(_0xb937f2,_0xd7cba6){return _0xb937f2===_0xd7cba6;},'turRK':'true','EKJaT':_0x3d7d22(0x140)};if(_0xaf5484['PlKJU'](_0x3335a9,null)||_0x3335a9===undefined||_0xaf5484[_0x3d7d22(0xff)](_0x3335a9,''))return null;if(_0xaf5484['NzRxa'](typeof _0x3335a9,'boolean'))return _0x3335a9?_0x3d7d22(0x17c):_0x3d7d22(0x17d);if(_0xaf5484[_0x3d7d22(0x109)](typeof _0x3335a9,_0x3d7d22(0x121))){const _0x3ec451=_0x3335a9['trim']()[_0x3d7d22(0x173)]();if([_0xaf5484['turRK'],_0xaf5484['EKJaT'],'y','1']['includes'](_0x3ec451))return _0xaf5484['turRK'];if([_0x3d7d22(0x17d),'no','n','0']['includes'](_0x3ec451))return _0x3d7d22(0x17d);return null;}if(typeof _0x3335a9==='number')return _0x3335a9?_0xaf5484['turRK']:'false';return null;}async['uploadFile'](_0x18dd7a,_0x3ad18a){const _0x2bcbbd=a0_0x4e6a12,_0x31f6db={'bRZsv':function(_0x2b6765,_0x5209d7){return _0x2b6765>_0x5209d7;},'fTHRB':'Column\x20formats\x20applied\x20to\x20rows','jcqaM':function(_0x5bee43,_0x5ba5d8,_0x4307e5,_0x5522a8){return _0x5bee43(_0x5ba5d8,_0x4307e5,_0x5522a8);}},_0x26853c=this[_0x2bcbbd(0x145)]();try{let {headers:_0x556f9a,rows:_0x1d541c,totalRows:_0x3af04c}=await excelParser[_0x2bcbbd(0x105)](_0x18dd7a[_0x2bcbbd(0x11a)]);const _0x4d6061=this['buildLabelToFieldMap'](_0x3ad18a['fieldLabels']),_0x467647=_0x556f9a['map'](_0x53a493=>{const _0x342b65=_0x2bcbbd,_0x3b6beb=_0x4d6061[_0x342b65(0xee)](_0x53a493);return _0x3b6beb||_0x53a493;});_0x1d541c=_0x1d541c['map'](_0x2fd3eb=>{const _0x2b8e4b={};return _0x556f9a['forEach']((_0x48257a,_0x1f7f45)=>{const _0x256617=_0x467647[_0x1f7f45];_0x2b8e4b[_0x256617]=_0x2fd3eb[_0x48257a];}),_0x2b8e4b;}),_0x556f9a=_0x467647,logger['debug']({'event':_0x2bcbbd(0xfe),'original':_0x556f9a['length'],'mapped':_0x467647[_0x2bcbbd(0x102)]((_0x35259f,_0x29f2a1)=>_0x35259f!==_0x556f9a[_0x29f2a1])['length']},'Excel\x20headers\x20mapped\x20to\x20field\x20names');_0x3ad18a['columnFormats']&&_0x31f6db['bRZsv'](Object['keys'](_0x3ad18a['columnFormats'])[_0x2bcbbd(0x174)],0x0)&&(_0x1d541c=this['applyColumnFormats'](_0x1d541c,_0x3ad18a[_0x2bcbbd(0x166)]),logger['debug']({'event':'column_formats_applied','formatCount':Object['keys'](_0x3ad18a[_0x2bcbbd(0x166)])['length'],'formats':Object['keys'](_0x3ad18a[_0x2bcbbd(0x166)])},_0x31f6db['fTHRB']));if(_0x3ad18a['scopeOverride']&&_0x3ad18a['scopeOverride']['column']){const {column:_0x3cbbc3,value:_0x19d1ba}=_0x3ad18a[_0x2bcbbd(0x16e)];_0x1d541c=_0x1d541c[_0x2bcbbd(0x13a)](_0x27bdf0=>({..._0x27bdf0,[_0x3cbbc3]:_0x19d1ba})),logger[_0x2bcbbd(0x181)]({'event':'request_scope_applied','column':_0x3cbbc3,'rowCount':_0x1d541c['length']},'Request\x20scope\x20override\x20applied\x20to\x20imported\x20rows');}const _0x5edc20=_0x3ad18a[_0x2bcbbd(0x11f)]?Object[_0x2bcbbd(0x111)](_0x3ad18a['lookupFields'])[_0x2bcbbd(0x13a)](_0x266984=>_0x266984['targetField']):[],_0x14b0ec=_0x3ad18a['fieldName'][_0x2bcbbd(0x102)](_0x13099=>!_0x5edc20['includes'](_0x13099)),_0x32643f=excelParser['validateExcelStructure'](_0x556f9a,_0x14b0ec);if(!_0x32643f['valid']){await fs[_0x2bcbbd(0xea)](_0x18dd7a[_0x2bcbbd(0x11a)]);throw new Error(_0x2bcbbd(0x15d)+_0x32643f[_0x2bcbbd(0x164)][_0x2bcbbd(0xfd)](',\x20'));}const _0xc36f32={'upload_id':_0x26853c,'filename':_0x18dd7a['originalname'],'total_rows':_0x3af04c,'headers':_0x556f9a,'rows':_0x1d541c,'params':_0x3ad18a,'created_at':new Date()[_0x2bcbbd(0x139)]()};return await redisHelper['setJob']('upload:'+_0x26853c,_0xc36f32,0xe10),await fs[_0x2bcbbd(0xea)](_0x18dd7a['path']),logger[_0x2bcbbd(0x148)]({'event':_0x2bcbbd(0x13f),'uploadId':_0x26853c,'filename':_0x18dd7a['originalname'],'totalRows':_0x3af04c},_0x2bcbbd(0x169)),{'upload_id':_0x26853c,'total_rows':_0x3af04c,'preview':_0x1d541c['slice'](0x0,0xa)};}catch(_0x4028d2){try{await fs['unlink'](_0x18dd7a[_0x2bcbbd(0x11a)]);}catch(_0x35435c){_0x31f6db['jcqaM'](logError,_0x35435c,{'event':_0x2bcbbd(0x165)},_0x2bcbbd(0x11e));}throw _0x4028d2;}}async['createPreviewJob'](_0x5ec8f3){const _0x3f2be0=a0_0x4e6a12,_0x20afbb={'sCjka':_0x3f2be0(0x125),'bBgsM':_0x3f2be0(0x11c)},_0x43a9ca=this['generateId'](),_0x435452=await redisHelper[_0x3f2be0(0x149)](_0x3f2be0(0x182)+_0x5ec8f3);if(!_0x435452)throw new Error(_0x3f2be0(0x16a));const _0x2c38f1={'job_id':_0x43a9ca,'upload_id':_0x5ec8f3,'status':_0x3f2be0(0x178),'progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x435452[_0x3f2be0(0xe4)]};return await redisHelper['setJob'](_0x3f2be0(0x136)+_0x43a9ca,_0x2c38f1,0xe10),logger['info']({'event':_0x3f2be0(0xf9),'jobId':_0x43a9ca,'uploadId':_0x5ec8f3},_0x20afbb[_0x3f2be0(0x144)]),this[_0x3f2be0(0x146)](_0x43a9ca,_0x5ec8f3,_0x435452)[_0x3f2be0(0x113)](_0x53bf56=>{logError(_0x53bf56,{'event':_0x20afbb['sCjka'],'jobId':_0x43a9ca},'Preview\x20processing\x20failed');}),{'job_id':_0x43a9ca,'status':'validating'};}['autoGenerateUpsertKeys'](_0x5bc0cf,_0x552230){const _0x190de5=a0_0x4e6a12,_0x31d023={'hlAZk':function(_0xcda557,_0x558baa){return _0xcda557===_0x558baa;},'EJVca':function(_0x897b1a){return _0x897b1a();},'lYrme':function(_0x5d5ebd,_0x49ef94){return _0x5d5ebd+_0x49ef94;}};_0x5bc0cf[_0x190de5(0x118)]((_0xb5c31f,_0x98eec)=>{const _0x1cebd9=_0x190de5;_0x552230[_0x1cebd9(0x118)](_0x335142=>{const _0x391930=_0x1cebd9,_0x100fd4=_0xb5c31f[_0x335142];if(_0x100fd4===null||_0x100fd4===undefined||_0x31d023[_0x391930(0xf1)](_0x100fd4,'')||String(_0x100fd4)['trim']()==='-'){const _0x140bec=_0x31d023['EJVca'](uuidv7);_0xb5c31f[_0x335142]=_0x140bec,_0xb5c31f['_generated_uuid']=_0xb5c31f['_generated_uuid']||{},_0xb5c31f['_generated_uuid'][_0x335142]=_0x140bec,logger['debug']({'event':'uuid_auto_generated','rowIndex':_0x98eec,'field':_0x335142,'uuid':_0x140bec},'Auto-generated\x20UUID\x20for\x20'+_0x335142+'\x20at\x20row\x20'+_0x31d023[_0x391930(0x16f)](_0x98eec,0x2));}});});}async['processPreviewJob'](_0x377fd8,_0xdb0263,_0x181070){const _0x2e6e7f=a0_0x4e6a12,_0x22088b={'zCzna':function(_0x260ec2,_0x204f5b){return _0x260ec2===_0x204f5b;},'rEHIA':_0x2e6e7f(0x157),'BXihI':_0x2e6e7f(0xef),'MaSuN':function(_0x4f9973,_0x15d2c0,_0x189a36,_0x4c7b75){return _0x4f9973(_0x15d2c0,_0x189a36,_0x4c7b75);},'fToHB':'failed'};try{let {rows:_0x39d946,params:_0x2a6636}=_0x181070;const {requiredFields:_0x45295a,validations:_0x4d360e,upsertKeys:_0x14d3e5,tableName:_0x4762b5,primaryKey:_0x29ffde,fieldName:_0xea4041,upsertStrategy:_0x3cf26f,lookupFields:_0x4f5f77}=_0x2a6636;this['autoGenerateUpsertKeys'](_0x39d946,_0x14d3e5);let _0x3d2b39=[];if(_0x4f5f77&&Object['keys'](_0x4f5f77)['length']>0x0){logger['info']({'event':_0x22088b['BXihI'],'jobId':_0x377fd8,'lookupFieldCount':Object['keys'](_0x4f5f77)['length']},'Processing\x20lookup\x20fields');const _0x5917e0=await lookupResolver[_0x2e6e7f(0x17a)](_0x39d946,_0x4f5f77);_0x39d946=_0x5917e0[_0x2e6e7f(0x12b)],_0x3d2b39=_0x5917e0[_0x2e6e7f(0xf5)],_0x181070['rows']=_0x39d946;}const _0x1fedb4=importValidator['batchValidateRows'](_0x39d946,_0x45295a||[],_0x4d360e||{});_0x3d2b39[_0x2e6e7f(0x118)](_0xe03037=>{const _0x28813f=_0x2e6e7f,_0x24d27c=_0x1fedb4[_0x28813f(0x101)](_0x44dfe2=>_0x44dfe2['rowIndex']===_0xe03037['rowIndex']);_0x24d27c?_0x24d27c['errors'][_0x28813f(0x14f)](_0xe03037['message']):_0x1fedb4[_0x28813f(0x14f)]({'rowIndex':_0xe03037['rowIndex'],'rowData':_0x39d946[_0xe03037['rowIndex']],'errors':[_0xe03037['message']]});});const _0xb9cf2=importValidator['detectDuplicatesInFile'](_0x39d946,_0x14d3e5);_0xb9cf2['forEach'](_0x752cfe=>{const _0xcf3601=_0x2e6e7f,_0x5ecec4=_0x1fedb4['find'](_0x24ca3a=>_0x24ca3a[_0xcf3601(0x15b)]===_0x752cfe[_0xcf3601(0x15b)]),_0x4de885=_0x14d3e5[_0xcf3601(0x13a)](_0x1ce212=>_0x1ce212['toUpperCase']())['join'](',\x20'),_0x5e5c51=_0xcf3601(0xf7)+_0x4de885;_0x5ecec4?_0x5ecec4[_0xcf3601(0xf5)]['push'](_0x5e5c51):_0x1fedb4[_0xcf3601(0x14f)]({'rowIndex':_0x752cfe['rowIndex'],'rowData':_0x39d946[_0x752cfe['rowIndex']],'errors':[_0x5e5c51]});}),await this['detectDatabaseDuplicates'](_0x39d946,_0x14d3e5,_0x4762b5,_0x29ffde,_0x3cf26f,_0x1fedb4),_0x1fedb4['forEach'](_0x1a6254=>{const _0x32ecd0=_0x2e6e7f,_0x4a07be=_0x39d946[_0x1a6254['rowIndex']];_0x4a07be&&(_0x4a07be['_errors']=_0x1a6254[_0x32ecd0(0xf5)]);});let _0x2c8b0c=0x0,_0x454c4b=0x0,_0xe2ee36=0x0;_0x39d946[_0x2e6e7f(0x118)](_0xe60eef=>{const _0x55c3b7=_0x2e6e7f;if(_0x22088b[_0x55c3b7(0x172)](_0xe60eef[_0x55c3b7(0xf8)],'INSERT'))_0x2c8b0c++;else{if(_0x22088b['zCzna'](_0xe60eef['_action'],_0x22088b[_0x55c3b7(0x131)]))_0x454c4b++;else _0x22088b['zCzna'](_0xe60eef[_0x55c3b7(0xf8)],'SKIP')&&_0xe2ee36++;}});const _0x546f25={'job_id':_0x377fd8,'upload_id':_0xdb0263,'status':_0x1fedb4[_0x2e6e7f(0x174)]>0x0?_0x2e6e7f(0x162):'preview_ok','progress':0x64,'created_at':_0x181070['created_at'],'completed_at':new Date()[_0x2e6e7f(0x139)](),'preview':{'total_rows':_0x39d946[_0x2e6e7f(0x174)],'insert_count':_0x2c8b0c,'update_count':_0x454c4b,'skip_count':_0xe2ee36,'error_count':_0x1fedb4[_0x2e6e7f(0x174)],'errors':_0x1fedb4,'data':_0x39d946,'sample_insert':_0x39d946['filter'](_0x5ab3f4=>_0x5ab3f4['_action']===_0x2e6e7f(0xf0))[_0x2e6e7f(0x133)](0x0,0x5),'sample_update':_0x39d946[_0x2e6e7f(0x102)](_0x4afbe3=>_0x4afbe3['_action']===_0x2e6e7f(0x157))['slice'](0x0,0x5),'sample_skip':_0x39d946[_0x2e6e7f(0x102)](_0x37f05f=>_0x37f05f['_action']==='SKIP')[_0x2e6e7f(0x133)](0x0,0x5)},'params':_0x2a6636};await redisHelper['setJob'](_0x2e6e7f(0x136)+_0x377fd8,_0x546f25,0xe10),_0x181070[_0x2e6e7f(0xf4)]=_0x39d946,await redisHelper['setJob']('upload:'+_0xdb0263,_0x181070,0xe10),logger[_0x2e6e7f(0x148)]({'event':_0x2e6e7f(0x15a),'jobId':_0x377fd8,'status':_0x546f25[_0x2e6e7f(0x10b)],'insertCount':_0x2c8b0c,'updateCount':_0x454c4b,'skipCount':_0xe2ee36,'errorCount':_0x1fedb4[_0x2e6e7f(0x174)]},_0x2e6e7f(0x168));}catch(_0x15d791){_0x22088b[_0x2e6e7f(0xe5)](logError,_0x15d791,{'event':_0x2e6e7f(0x17e),'jobId':_0x377fd8},_0x2e6e7f(0x128)),await redisHelper[_0x2e6e7f(0x119)](_0x2e6e7f(0x136)+_0x377fd8,{'job_id':_0x377fd8,'upload_id':_0xdb0263,'status':_0x22088b[_0x2e6e7f(0xfc)],'progress':0x0,'error':_0x15d791['message'],'created_at':new Date()[_0x2e6e7f(0x139)](),'completed_at':new Date()[_0x2e6e7f(0x139)]()},0xe10);}}async['detectDatabaseDuplicates'](_0x1345ad,_0x563138,_0x331f35,_0x5eb4ab,_0x5d6bf9='update_existing',_0x2cee06=[]){const _0x25661f=a0_0x4e6a12,_0x39303f={'DNHdt':function(_0x2903dc,_0x280330){return _0x2903dc===_0x280330;},'hlEhw':_0x25661f(0x175),'TLoQe':function(_0x21902b,_0x5ba107){return _0x21902b===_0x5ba107;},'MResW':'skip_existing','HPzdE':function(_0x49632e,_0x3079b7){return _0x49632e===_0x3079b7;},'StquT':'insert_only','AiyrB':_0x25661f(0xf0),'NmvVt':function(_0x15c363,_0x1dec79){return _0x15c363===_0x1dec79;},'bShjD':_0x25661f(0x112)},_0x1b26b8=upsertBuilder['chunkRows'](_0x1345ad,0x64);for(const _0x4af97b of _0x1b26b8){const _0x1f7122=_0x4af97b[_0x25661f(0x13a)](_0x1a374b=>_0x1a374b[_0x563138[0x0]]),_0x5f2772=_0x1f7122['map'](_0x55bdfe=>{const _0x541edd=_0x25661f;if(_0x39303f['DNHdt'](_0x55bdfe,null)||_0x55bdfe===undefined)return'NULL';return'\x27'+String(_0x55bdfe)[_0x541edd(0x180)](/'/g,'\x27\x27')+'\x27';}),_0x12d21d=_0x25661f(0x159)+_0x5eb4ab+',\x20'+_0x563138[_0x25661f(0xfd)](',\x20')+_0x25661f(0x13e)+_0x331f35+_0x25661f(0xe3)+_0x563138[0x0]+'\x20IN\x20('+_0x5f2772[_0x25661f(0xfd)](',\x20')+_0x25661f(0x179);let _0x1ec39e=await executeQuery(_0x12d21d);_0x39303f[_0x25661f(0x127)](dbType,_0x39303f[_0x25661f(0x17f)])&&_0x1ec39e&&_0x1ec39e[_0x25661f(0x174)]>0x0&&(_0x1ec39e=_0x1ec39e[_0x25661f(0x13a)](_0x2fddb5=>{const _0x2d8140=_0x25661f,_0x5d49c3={};for(const [_0x51267f,_0x4bc9fa]of Object[_0x2d8140(0xfb)](_0x2fddb5)){_0x5d49c3[_0x51267f[_0x2d8140(0x173)]()]=_0x4bc9fa;}return _0x5d49c3;}));const _0x22eb42=new Map();_0x1ec39e['forEach'](_0xa826a0=>{const _0xa23c1d=_0xa826a0[_0x563138[0x0]];_0x22eb42['set'](_0xa23c1d,_0xa826a0);}),_0x4af97b['forEach']((_0x7f75c7,_0x38582f)=>{const _0x32cf82=_0x25661f,_0x4c3858=_0x7f75c7[_0x563138[0x0]],_0x3698de=_0x22eb42['get'](_0x4c3858);if(_0x3698de){if(_0x5d6bf9===_0x39303f['hlEhw'])_0x7f75c7['_action']='UPDATE',_0x7f75c7['_existingId']=_0x3698de[_0x5eb4ab];else{if(_0x39303f[_0x32cf82(0x138)](_0x5d6bf9,'insert_only')){_0x7f75c7[_0x32cf82(0xf8)]='SKIP',_0x7f75c7[_0x32cf82(0x10a)]=_0x7f75c7['_errors']||[],_0x7f75c7['_errors']['push'](_0x32cf82(0x108));const _0x47cbdb=_0x1345ad['indexOf'](_0x7f75c7);_0x47cbdb!==-0x1&&_0x2cee06['push']({'rowIndex':_0x47cbdb,'rowData':_0x7f75c7,'errors':[_0x32cf82(0x108)]});}else _0x5d6bf9===_0x39303f['MResW']&&(_0x7f75c7['_action']='SKIP');}}else{if(_0x5d6bf9==='update_existing')_0x7f75c7[_0x32cf82(0xf8)]='INSERT';else(_0x39303f['HPzdE'](_0x5d6bf9,_0x39303f[_0x32cf82(0x142)])||_0x5d6bf9==='skip_existing')&&(_0x7f75c7['_action']=_0x39303f[_0x32cf82(0xe7)]);}});}}async[a0_0x4e6a12(0x135)](_0x67d2cd){const _0xf9dd0d=a0_0x4e6a12,_0x51e6ec={'kBovu':'commit_process_error','tyfRg':_0xf9dd0d(0x13b),'otOMj':_0xf9dd0d(0x103)},_0x5b3a10=this[_0xf9dd0d(0x145)](),_0xffaa4=await redisHelper['getJob']('job:'+_0x67d2cd);if(!_0xffaa4)throw new Error(_0xf9dd0d(0x104));if(_0xffaa4['status']!=='preview_ok')throw new Error('Cannot\x20commit:\x20preview\x20status\x20is\x20'+_0xffaa4[_0xf9dd0d(0x10b)]);const _0x23f85b={'job_id':_0x5b3a10,'upload_id':_0xffaa4['upload_id'],'preview_job_id':_0x67d2cd,'status':'processing','progress':0x0,'created_at':new Date()['toISOString'](),'params':_0xffaa4['params']};return await redisHelper['setJob']('job:'+_0x5b3a10,_0x23f85b,0xe10),logger[_0xf9dd0d(0x148)]({'event':_0x51e6ec[_0xf9dd0d(0x183)],'jobId':_0x5b3a10,'previewJobId':_0x67d2cd},_0x51e6ec[_0xf9dd0d(0x122)]),this[_0xf9dd0d(0x115)](_0x5b3a10,_0xffaa4)['catch'](_0x3eb8ba=>{const _0x4f4781=_0xf9dd0d;logError(_0x3eb8ba,{'event':_0x51e6ec[_0x4f4781(0x160)],'jobId':_0x5b3a10},'Commit\x20processing\x20failed');}),{'job_id':_0x5b3a10,'status':'processing'};}async[a0_0x4e6a12(0x115)](_0x403250,_0x3efd78){const _0x2b6fe6=a0_0x4e6a12,_0x543d1d={'YtRuJ':'Upload\x20data\x20not\x20found\x20or\x20expired','npFzN':_0x2b6fe6(0x141),'aZmyP':_0x2b6fe6(0x10e),'gwTgM':'insert','johdj':'update','JsroS':function(_0x7fa91c,_0x5971a8){return _0x7fa91c>_0x5971a8;},'bAaaE':function(_0x5e4539,_0xce826c){return _0x5e4539(_0xce826c);},'dxydP':_0x2b6fe6(0x126),'LKVkw':_0x2b6fe6(0x110),'cMOHu':_0x2b6fe6(0x116)};try{const _0x1b8d8b=await redisHelper[_0x2b6fe6(0x149)]('upload:'+_0x3efd78[_0x2b6fe6(0x137)]);if(!_0x1b8d8b)throw new Error(_0x543d1d['YtRuJ']);const {rows:_0x3aa088,params:_0x35e7df}=_0x1b8d8b,{tableName:_0x15885e,fieldName:_0x4c643f,primaryKey:_0xd6524,upsertKeys:_0x6ed82f,excludeFromImport:_0x47c65c,lookupFields:_0x495c4f,columnFormats:_0x45c2be}=_0x35e7df,_0x1888bc=_0x495c4f?Object['keys'](_0x495c4f):[],_0x26e6c8=new Set([..._0x47c65c||[],..._0x1888bc]);let _0x2a7a55=_0x4c643f;_0x26e6c8['size']>0x0&&(_0x2a7a55=_0x4c643f['filter'](_0x182e23=>!_0x26e6c8[_0x2b6fe6(0x161)](_0x182e23)),logger['debug']({'event':_0x543d1d[_0x2b6fe6(0xf6)],'originalCount':_0x4c643f[_0x2b6fe6(0x174)],'filteredCount':_0x2a7a55[_0x2b6fe6(0x174)],'excludedFields':Array['from'](_0x26e6c8),'lookupSourceFields':_0x1888bc},_0x543d1d['aZmyP']));const _0x34fbf1=_0x3aa088['filter'](_0x1b4038=>_0x1b4038['_action']==='INSERT'),_0x48e6d0=_0x3aa088['filter'](_0x550603=>_0x550603['_action']===_0x2b6fe6(0x157));let _0x494ef6=0x0,_0xf01caf=0x0;const _0x28a5d9=[];if(_0x34fbf1['length']>0x0){const _0x199981=upsertBuilder['chunkRows'](_0x34fbf1,0x64);for(const _0x35a083 of _0x199981){const {query:_0x48eab0}=upsertBuilder['buildBatchInsert'](_0x35a083,_0x15885e,_0x2a7a55,_0x45c2be||{});_0x48eab0&&_0x28a5d9[_0x2b6fe6(0x14f)]({'sql':_0x48eab0,'count':_0x35a083[_0x2b6fe6(0x174)],'type':_0x543d1d['gwTgM']});}}if(_0x48e6d0[_0x2b6fe6(0x174)]>0x0){const _0x54ae81=upsertBuilder['chunkRows'](_0x48e6d0,0x64);for(const _0x22cdd7 of _0x54ae81){const {query:_0x5c50cd}=upsertBuilder['buildBatchUpdate'](_0x22cdd7,_0x15885e,_0x2a7a55,_0xd6524,_0x6ed82f,_0x45c2be||{});_0x5c50cd&&_0x28a5d9[_0x2b6fe6(0x14f)]({'sql':_0x5c50cd,'count':_0x22cdd7['length'],'type':_0x543d1d['johdj']});}}_0x543d1d[_0x2b6fe6(0x11b)](_0x28a5d9[_0x2b6fe6(0x174)],0x0)&&await _0x543d1d['bAaaE'](executeTransaction,_0x28a5d9[_0x2b6fe6(0x13a)](_0x589b4c=>({'sql':_0x589b4c[_0x2b6fe6(0x123)],'params':[]})));_0x28a5d9[_0x2b6fe6(0x118)](_0x2ea32d=>{const _0x4eac6a=_0x2b6fe6;if(_0x2ea32d['type']==='insert')_0x494ef6+=_0x2ea32d['count'];else _0xf01caf+=_0x2ea32d[_0x4eac6a(0x16d)];});const _0x29f9d4={'job_id':_0x403250,'upload_id':_0x3efd78[_0x2b6fe6(0x137)],'preview_job_id':_0x3efd78[_0x2b6fe6(0x152)],'status':_0x2b6fe6(0x10f),'progress':0x64,'created_at':_0x3efd78['created_at'],'started_at':new Date()['toISOString'](),'completed_at':new Date()['toISOString'](),'result':{'total_rows':_0x3aa088['length'],'inserted_rows':_0x494ef6,'updated_rows':_0xf01caf,'skipped_rows':0x0,'failed_rows':0x0,'errors':[]},'params':_0x35e7df};await redisHelper[_0x2b6fe6(0x119)](_0x2b6fe6(0x136)+_0x403250,_0x29f9d4,0xe10),logger['info']({'event':_0x543d1d['dxydP'],'jobId':_0x403250,'insertedCount':_0x494ef6,'updatedCount':_0xf01caf},_0x543d1d[_0x2b6fe6(0x132)]);}catch(_0x5a4222){logError(_0x5a4222,{'event':_0x543d1d['cMOHu'],'jobId':_0x403250},'Commit\x20job\x20failed'),await redisHelper[_0x2b6fe6(0x119)]('job:'+_0x403250,{'job_id':_0x403250,'upload_id':_0x3efd78[_0x2b6fe6(0x137)],'preview_job_id':_0x3efd78[_0x2b6fe6(0x152)],'status':'failed','progress':0x0,'error':_0x5a4222[_0x2b6fe6(0x129)],'created_at':_0x3efd78['created_at'],'started_at':new Date()[_0x2b6fe6(0x139)](),'completed_at':new Date()['toISOString']()},0xe10);}}async[a0_0x4e6a12(0x167)](_0x3fc60b){const _0x340baf=a0_0x4e6a12,_0x2d7eda={'CvXnt':_0x340baf(0xe9)},_0x46d52a=await redisHelper[_0x340baf(0x149)](_0x340baf(0x136)+_0x3fc60b);if(!_0x46d52a)return{'success':![],'error':_0x2d7eda['CvXnt']};return{'success':!![],'data':_0x46d52a};}}function a0_0x2661(){const _0x21b4e8=['BwvZC2fNzq','C2v0','ChjVy2vZC2vKuM93CW','C2L6zq','zMXVB3i','mta4oduYmezpwKTZrq','zxHLy3v0zvf1zxj5','mtG3ntCXm0XmvxbbtG','CKvisue','teTwA3C','C2XPy2u','zxHWB3j0CW','y3jLyxrLq29TBwL0sM9I','AM9IoG','DxbSB2fKx2LK','veXVuwu','Dg9ju09tDhjPBMC','BwfW','y29TBwL0x2PVyL9JCMvHDgvK','CvL6vMu','otyXmtu4CeLeugHL','cIaGicaGicaGrLjptsa','Aw1WB3j0x2zPBgvFDxbSB2fKzwq','EwvZ','Aw1WB3j0x2zPzwXKC19MAwX0zxjLza','u3rXDvq','mZLOEwjhvLa','yKjNC00','z2vUzxjHDgvjza','ChjVy2vZC1bYzxzPzxDkB2i','yxnxs1K','Aw5MBW','z2v0sM9I','lI4VDxrPBhmVBg9Nz2vY','DhLWzq','CgfKu3rHCNq','lI4VDxrPBhmVAw1WB3j0lxzHBgLKyxrVCG','DgvZDa','ChvZAa','C3vIC3rYAw5N','tePlv2e','AM9Ix2LK','zuL6ywK','uenJr0W','owLJqNHAsW','lI4VlI4VDgvTCc91CgXVywrZlW','vvbeqvrf','zxHLy3v0zvrYyw5Zywn0Aw9U','cIaGicaGicaGu0vmrunuia','ChjLDMLLD19QB2jFy29TCgXLDgvK','CM93sw5KzxG','mtzir0PxrLq','rxHJzwWGC3rYDwn0DxjLig1PC21HDgnOlIbnAxnZAw5NigzPzwXKCZOG','yxbWBhLdB2X1Bw5gB3jTyxrZ','sxj6qxa','A0jVDNu','AgfZ','ChjLDMLLD19LCNjVCG','lI4VDxrPBhmVBg9VA3vWlxjLC29SDMvY','BwLZC2LUz0zPzwXKCW','zMLSzv9JBgvHBNvWx2vYCM9Y','y29SDw1UrM9YBwf0CW','z2v0sM9Iu3rHDhvZ','uhjLDMLLDYbQB2iGy29TCgXLDgvK','sw1WB3j0igzPBguGDxbSB2fKzwqGyw5KihbHCNnLza','vxbSB2fKigrHDgeGBM90igzVDw5Kig9Yigv4CgLYzwq','zM9YBwf0rgf0zuzVCKrHDgfIyxnL','zgvMyxvSDa','y291BNq','C2nVCgvpDMvYCMLKzq','BfLYBwu','z2T1y1K','Dg9tDhjPBMC','EKn6BMe','Dg9mB3DLCKnHC2u','BgvUz3rO','DxbKyxrLx2v4Axn0Aw5N','mtjsz0fmCuS','z2v0vgLTzq','DMfSAwrHDgLUzW','kqOGicaGica','ChjVy2vZC0XVB2T1CezPzwXKCW','Dgv4Da','Dhj1zq','zMfSC2u','ChjLDMLLD19QB2jFzMfPBgvK','yLnOAKq','CMvWBgfJzq','zgvIDwC','DxbSB2fKoG','DhLMuMC','tgn3tgi','cIaGicaGicaGv0HfuKuG','CgfYyw1Z','twftDu4','tNHtvve','qwL5CKi','DhjPBq','sM9Iig5VDcbMB3vUzcbVCIbLEhbPCMvK','Dw5SAw5R','tgfIzwWGDg8GzMLLBgqGBwfWCgLUzYbIDwLSDa','zw52','zgf0zq','z2v0','ChjVy2vZC2LUz19SB29RDxbFzMLLBgrZ','su5trvju','AgXbwMS','nZKZmta0v3nWufzk','nJG3odzPwxbQuxm','CM93CW','zxjYB3jZ','BNbgEK4','rhvWBgLJyxrLihzHBhvLigzVCIa','x2fJDgLVBG','ChjLDMLLD19QB2jFy3jLyxrLza','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','zw50CMLLCW','zLrVsei','AM9PBG','AgvHzgvYC19TyxbWzwq','D1DqB3i','qujdrevgr0HjsKTmtu5puffsu1rvvLDywvPHyMnKzwzNAgLQA2XTBM9WCxjZDhv2D3H5EJaXmJm0nty3odK','zMLUza','zMLSDgvY','q29TBwL0igPVyIbJCMvHDgvK','uhjLDMLLDYbQB2iGBM90igzVDw5Kig9Yigv4CgLYzwq','CgfYC2vfEgnLBezPBgu','ndK3mtmXmePtCeLbvW','seTwr0G','uMvJB3jKigv4Axn0CYaOAw5Zzxj0x29UBhKGBw9KzsK','q0jlDuq','x2vYCM9YCW','C3rHDhvZ','DxvPza','rNPXALO','sw1WB3j0igzPzwXKCYbMAwX0zxjLzcaOzxHJBhvKzwqGBg9VA3vWihnVDxjJzsbJB2X1Bw5Zkq','y29TCgXLDgvK','q29TBwL0igPVyIbJB21WBgv0zwq','DMfSDwvZ','B3jHy2XL','y2f0y2G','nte2otC4tgHKvw9O','ChjVy2vZC0nVBw1PDePVyG','y29TBwL0x2PVyL9MywLSzwq','jdfFjdi','zM9YrwfJAa','C2v0sM9I','Cgf0Aa','sNnYB1m','uhjLDMLLDYbQB2iGy3jLyxrLza','z2v0rNvSBfLLyxi','rMfPBgvKihrVignSzwfUDxaGzMLSzq','Bg9VA3vWrMLLBgrZ','yuLYu3m','C3rYAw5N','B3rptwO','C3fS','x3vWBg9HzerPCG','ChjLDMLLD19WCM9JzxnZx2vYCM9Y','y29TBwL0x2PVyL9JB21WBgv0zwq','tM12vNq','uhjLDMLLDYbQB2iGzMfPBgvK'];a0_0x2661=function(){return _0x21b4e8;};return a0_0x2661();}module[a0_0x4e6a12(0x134)]=new ImportService();
@@ -1 +1 @@
1
- const a0_0x4a86e6=a0_0x4ed6;(function(_0x390799,_0x173ba1){const _0x3cf98f=a0_0x4ed6,_0x54c36c=_0x390799();while(!![]){try{const _0x4eb343=-parseInt(_0x3cf98f(0x16f))/0x1*(parseInt(_0x3cf98f(0x171))/0x2)+parseInt(_0x3cf98f(0x101))/0x3+-parseInt(_0x3cf98f(0x15a))/0x4+-parseInt(_0x3cf98f(0x15b))/0x5*(parseInt(_0x3cf98f(0x145))/0x6)+parseInt(_0x3cf98f(0x105))/0x7+parseInt(_0x3cf98f(0x170))/0x8+parseInt(_0x3cf98f(0x10f))/0x9;if(_0x4eb343===_0x173ba1)break;else _0x54c36c['push'](_0x54c36c['shift']());}catch(_0x60d475){_0x54c36c['push'](_0x54c36c['shift']());}}}(a0_0x24ee,0x257d9));const {Kafka,logLevel}=require('kafkajs'),{v7:uuidv7}=require(a0_0x4a86e6(0x118));function a0_0x4ed6(_0x5298ff,_0x505d49){_0x5298ff=_0x5298ff-0xfd;const _0x24eeba=a0_0x24ee();let _0x4ed6b8=_0x24eeba[_0x5298ff];if(a0_0x4ed6['mRGuDl']===undefined){var _0x5bc78d=function(_0x25285d){const _0x17f196='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xce62a8='',_0x1e3f68='';for(let _0x1a3359=0x0,_0x65f430,_0x41f596,_0x45190b=0x0;_0x41f596=_0x25285d['charAt'](_0x45190b++);~_0x41f596&&(_0x65f430=_0x1a3359%0x4?_0x65f430*0x40+_0x41f596:_0x41f596,_0x1a3359++%0x4)?_0xce62a8+=String['fromCharCode'](0xff&_0x65f430>>(-0x2*_0x1a3359&0x6)):0x0){_0x41f596=_0x17f196['indexOf'](_0x41f596);}for(let _0x227714=0x0,_0x2fe68f=_0xce62a8['length'];_0x227714<_0x2fe68f;_0x227714++){_0x1e3f68+='%'+('00'+_0xce62a8['charCodeAt'](_0x227714)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1e3f68);};a0_0x4ed6['FxriJX']=_0x5bc78d,a0_0x4ed6['KhHpTn']={},a0_0x4ed6['mRGuDl']=!![];}const _0x235623=_0x24eeba[0x0],_0x1d4ee3=_0x5298ff+_0x235623,_0x2e7fd1=a0_0x4ed6['KhHpTn'][_0x1d4ee3];return!_0x2e7fd1?(_0x4ed6b8=a0_0x4ed6['FxriJX'](_0x4ed6b8),a0_0x4ed6['KhHpTn'][_0x1d4ee3]=_0x4ed6b8):_0x4ed6b8=_0x2e7fd1,_0x4ed6b8;}class KafkaConsumerService{constructor(){const _0x274081=a0_0x4a86e6,_0x5abf5b=_0x274081(0x11e)[_0x274081(0x16c)]('|');let _0x3b2e2d=0x0;while(!![]){switch(_0x5abf5b[_0x3b2e2d++]){case'0':this[_0x274081(0x11c)]=![];continue;case'1':this[_0x274081(0x13f)]=null;continue;case'2':this[_0x274081(0x166)]=null;continue;case'3':this['metrics']={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':null,'processingTimes':[]};continue;case'4':this[_0x274081(0x128)]=null;continue;case'5':this['messageHandler']=null;continue;case'6':this['subscribedTopics']=[];continue;case'7':this[_0x274081(0x104)]=![];continue;case'8':this[_0x274081(0x162)]=null;continue;case'9':this['isConnected']=![];continue;case'10':this['isInitializing']=![];continue;}break;}}[a0_0x4a86e6(0x156)](){const _0x24ece0=a0_0x4a86e6,_0x60df66={'egwqJ':_0x24ece0(0x113),'gpANv':_0x24ece0(0x120),'KBVmu':'25000','AUvLa':_0x24ece0(0x14a),'izAaM':function(_0x4165ac,_0x43d486){return _0x4165ac(_0x43d486);},'GhQHe':function(_0x27b6b9,_0x22208f){return _0x27b6b9===_0x22208f;},'bFkgv':function(_0x57d822,_0x52f793){return _0x57d822(_0x52f793);},'KPSvV':'5000','GmWKT':_0x24ece0(0x165),'tQUth':'30000','myeBF':_0x24ece0(0xff)};return{'enabled':process['env']['KAFKA_ENABLED']===_0x60df66[_0x24ece0(0x16e)],'brokers':(process['env'][_0x24ece0(0x127)]||'localhost:9092')[_0x24ece0(0x16c)](','),'clientId':process[_0x24ece0(0x153)][_0x24ece0(0x139)]||'restforge-'+(process['env'][_0x24ece0(0x134)]||_0x60df66[_0x24ece0(0x16b)])+'-consumer','connectionTimeout':parseInt(process[_0x24ece0(0x153)][_0x24ece0(0x150)]||_0x24ece0(0x14a)),'requestTimeout':parseInt(process[_0x24ece0(0x153)]['KAFKA_REQUEST_TIMEOUT']||_0x60df66['KBVmu']),'sessionTimeout':parseInt(process['env']['KAFKA_SESSION_TIMEOUT']||'30000'),'heartbeatInterval':parseInt(process['env']['KAFKA_HEARTBEAT_INTERVAL']||_0x60df66['AUvLa']),'maxBytesPerPartition':_0x60df66['izAaM'](parseInt,process['env'][_0x24ece0(0x10d)]||_0x24ece0(0x148)),'autoCommit':_0x60df66[_0x24ece0(0xfe)](process[_0x24ece0(0x153)]['KAFKA_AUTO_COMMIT'],_0x60df66['egwqJ']),'autoCommitInterval':_0x60df66[_0x24ece0(0x119)](parseInt,process['env'][_0x24ece0(0x117)]||_0x60df66[_0x24ece0(0x14d)]),'retryAttempts':parseInt(process['env']['KAFKA_RETRY_ATTEMPTS']||'3'),'retryDelay':parseInt(process[_0x24ece0(0x153)]['KAFKA_RETRY_DELAY']||_0x60df66[_0x24ece0(0x147)]),'retryMaxDelay':parseInt(process[_0x24ece0(0x153)]['KAFKA_RETRY_MAX_DELAY']||_0x60df66[_0x24ece0(0x12d)]),'logLevel':process[_0x24ece0(0x153)]['KAFKA_LOG_LEVEL']||_0x60df66[_0x24ece0(0x129)]};}[a0_0x4a86e6(0x106)](_0x34db74){const _0x4b9cdf=a0_0x4a86e6,_0x2843cc={'nothing':logLevel[_0x4b9cdf(0x143)],'error':logLevel['ERROR'],'warn':logLevel[_0x4b9cdf(0x111)],'info':logLevel[_0x4b9cdf(0x141)],'debug':logLevel[_0x4b9cdf(0x161)]};return _0x2843cc[_0x34db74['toLowerCase']()]||logLevel[_0x4b9cdf(0x111)];}async['initialize'](_0x443d23={}){const _0x5b6b88=a0_0x4a86e6,_0x30da98={'wYHhE':function(_0x35d01a,_0x1f1320){return _0x35d01a===_0x1f1320;},'ODHgs':'true','gvnao':_0x5b6b88(0x120),'sUPux':function(_0x1ce240,_0x8e9106){return _0x1ce240(_0x8e9106);},'KqnTC':'[KafkaConsumer]\x20Kafka\x20consumer\x20is\x20disabled\x20in\x20configuration'},_0x5f5d7f=this[_0x5b6b88(0x156)]();if(!_0x5f5d7f['enabled'])return console[_0x5b6b88(0x169)](_0x30da98[_0x5b6b88(0x131)]),![];if(this['isConnected'])return!![];if(this['isInitializing']&&this['connectionPromise'])return this['connectionPromise'];return this['isInitializing']=!![],this[_0x5b6b88(0x128)]=new Promise(async _0x55104c=>{const _0x36b7c6=_0x5b6b88;try{let _0xa601df=undefined;_0x30da98[_0x36b7c6(0x126)](process[_0x36b7c6(0x153)][_0x36b7c6(0x160)],_0x30da98[_0x36b7c6(0x14f)])&&(_0xa601df=!![]);let _0x5ad90c=undefined;process['env']['KAFKA_SASL_MECHANISM']&&(_0x5ad90c={'mechanism':process[_0x36b7c6(0x153)][_0x36b7c6(0x135)],'username':process[_0x36b7c6(0x153)][_0x36b7c6(0x11a)]||'','password':process['env'][_0x36b7c6(0x14b)]||''}),this[_0x36b7c6(0x162)]=new Kafka({'clientId':_0x443d23['clientId']||_0x5f5d7f[_0x36b7c6(0x116)],'brokers':_0x5f5d7f[_0x36b7c6(0x10a)],'connectionTimeout':_0x5f5d7f[_0x36b7c6(0x137)],'requestTimeout':_0x5f5d7f['requestTimeout'],'logLevel':this['getLogLevel'](_0x5f5d7f['logLevel']),'ssl':_0xa601df,'sasl':_0x5ad90c,'retry':{'initialRetryTime':_0x5f5d7f[_0x36b7c6(0x109)],'retries':_0x5f5d7f[_0x36b7c6(0x159)],'maxRetryTime':_0x5f5d7f['retryMaxDelay']}}),this['groupId']=_0x443d23['groupId']||_0x36b7c6(0x149)+(process['env']['RESTFORGE_PROJECT_NAME']||_0x30da98['gvnao'])+'-consumer-group',this['consumer']=this[_0x36b7c6(0x162)]['consumer']({'groupId':this[_0x36b7c6(0x166)],'sessionTimeout':_0x5f5d7f['sessionTimeout'],'heartbeatInterval':_0x5f5d7f[_0x36b7c6(0x167)],'maxBytesPerPartition':_0x5f5d7f[_0x36b7c6(0x155)],'allowAutoTopicCreation':![]}),await this['consumer'][_0x36b7c6(0x10b)](),this[_0x36b7c6(0x151)]=!![],console[_0x36b7c6(0x169)](_0x36b7c6(0x11f)+_0x5f5d7f['brokers']['join'](',\x20')+'\x20(groupId:\x20'+this[_0x36b7c6(0x166)]+')'),this['setupEventHandlers'](),_0x30da98['sUPux'](_0x55104c,!![]);}catch(_0xe2e141){console[_0x36b7c6(0x136)](_0x36b7c6(0x12a)+_0xe2e141[_0x36b7c6(0x115)]),this[_0x36b7c6(0x151)]=![],_0x55104c(![]);}finally{this[_0x36b7c6(0x154)]=![];}}),this[_0x5b6b88(0x128)];}['setupEventHandlers'](){const _0x53bb00=a0_0x4a86e6,_0x1bb749={'NcstB':_0x53bb00(0x163),'WMyWR':_0x53bb00(0x133),'hzBXg':_0x53bb00(0x122),'FZXkY':'consumer.crash'};if(!this[_0x53bb00(0x13f)])return;this['consumer']['on'](_0x1bb749['hzBXg'],()=>{const _0x2c48dc=_0x53bb00;console[_0x2c48dc(0x169)](_0x1bb749[_0x2c48dc(0x12b)]),this['isConnected']=![],this[_0x2c48dc(0x11c)]=![];}),this[_0x53bb00(0x13f)]['on']('consumer.stop',()=>{const _0x42034e=_0x53bb00;console[_0x42034e(0x169)](_0x1bb749['WMyWR']),this[_0x42034e(0x11c)]=![];}),this[_0x53bb00(0x13f)]['on'](_0x1bb749['FZXkY'],_0x2aa085=>{const _0x1e6b71=_0x53bb00;console[_0x1e6b71(0x136)]('[KafkaConsumer]\x20Consumer\x20crashed:\x20'+_0x2aa085['payload'][_0x1e6b71(0x136)][_0x1e6b71(0x115)]),this[_0x1e6b71(0x11c)]=![];}),this[_0x53bb00(0x13f)]['on'](_0x53bb00(0x15d),()=>{const _0x3652ca=_0x53bb00;console[_0x3652ca(0x169)]('[KafkaConsumer]\x20Consumer\x20rebalancing...');});}async[a0_0x4a86e6(0x144)](_0x132431,_0x29fc01=![]){const _0x31bcb1=a0_0x4a86e6;if(!this['isConnected'])return console['error']('[KafkaConsumer]\x20Cannot\x20subscribe\x20-\x20not\x20connected'),![];try{const _0x2a94f8=Array['isArray'](_0x132431)?_0x132431:[_0x132431];for(const _0x21db3b of _0x2a94f8){await this[_0x31bcb1(0x13f)][_0x31bcb1(0x144)]({'topic':_0x21db3b,'fromBeginning':_0x29fc01}),console['log']('[KafkaConsumer]\x20Subscribed\x20to\x20topic:\x20'+_0x21db3b+'\x20(fromBeginning:\x20'+_0x29fc01+')');}return this[_0x31bcb1(0x11d)]=[...new Set([...this['subscribedTopics'],..._0x2a94f8])],!![];}catch(_0x2708d0){return console['error'](_0x31bcb1(0x13d)+_0x2708d0['message']),![];}}async[a0_0x4a86e6(0x168)](_0x24b893,_0x26a938={}){const _0x441008=a0_0x4a86e6,_0x2f2031={'ytkuU':function(_0x192064,_0x4e9181){return _0x192064+_0x4e9181;},'aoHma':function(_0x9f017a,_0x4bb92f){return _0x9f017a-_0x4bb92f;}};if(!this[_0x441008(0x151)])return console['error']('[KafkaConsumer]\x20Cannot\x20start\x20consuming\x20-\x20not\x20connected'),![];if(this[_0x441008(0x11c)])return console['log'](_0x441008(0x123)),!![];const _0x5582a0=this['getConfig']();this['messageHandler']=_0x24b893;try{return this['metrics']['startTime']=new Date(),await this['consumer'][_0x441008(0x158)]({'autoCommit':_0x26a938[_0x441008(0x14e)]!==undefined?_0x26a938['autoCommit']:_0x5582a0[_0x441008(0x14e)],'autoCommitInterval':_0x5582a0['autoCommitInterval'],'eachMessage':async({topic:_0x1f40f3,partition:_0x527234,message:_0x230e1f,heartbeat:_0x359051})=>{const _0x3d33ea=_0x441008,_0x591c95=Date[_0x3d33ea(0x107)]();this[_0x3d33ea(0x142)]['messagesReceived']++,this[_0x3d33ea(0x142)]['lastMessageTime']=new Date();try{const _0x21ce4f=_0x230e1f['value']?_0x230e1f[_0x3d33ea(0x12f)][_0x3d33ea(0x125)]():null;let _0x370ecd=null;try{_0x370ecd=_0x21ce4f?JSON[_0x3d33ea(0x15e)](_0x21ce4f):null;}catch(_0xc2ab23){_0x370ecd=_0x21ce4f;}const _0x102a21={'topic':_0x1f40f3,'partition':_0x527234,'offset':_0x230e1f['offset'],'key':_0x230e1f['key']?_0x230e1f['key']['toString']():null,'headers':this[_0x3d33ea(0x10e)](_0x230e1f['headers']),'timestamp':_0x230e1f[_0x3d33ea(0x15f)],'value':_0x370ecd,'raw':_0x21ce4f};this['messageHandler']&&await this['messageHandler'](_0x102a21);!_0x5582a0['autoCommit']&&await this[_0x3d33ea(0x13f)][_0x3d33ea(0x14c)]([{'topic':_0x1f40f3,'partition':_0x527234,'offset':_0x2f2031['ytkuU'](parseInt(_0x230e1f['offset']),0x1)['toString']()}]);this['metrics']['messagesProcessed']++;const _0x1f38e1=_0x2f2031['aoHma'](Date['now'](),_0x591c95);this['metrics'][_0x3d33ea(0x16a)]['push'](_0x1f38e1),this['metrics'][_0x3d33ea(0x16a)]['length']>0x64&&this['metrics']['processingTimes']['shift'](),await _0x359051();}catch(_0xb0b695){this[_0x3d33ea(0x142)]['messagesFailed']++,console['error'](_0x3d33ea(0x146)+_0xb0b695['message']);throw _0xb0b695;}}}),this[_0x441008(0x11c)]=!![],console['log']('[KafkaConsumer]\x20Started\x20consuming\x20from\x20topics:\x20'+this[_0x441008(0x11d)]['join'](',\x20')),!![];}catch(_0x3c0819){return console['error'](_0x441008(0x13c)+_0x3c0819['message']),![];}}[a0_0x4a86e6(0x10e)](_0x552eba){const _0x54324b=a0_0x4a86e6;if(!_0x552eba)return{};const _0x33a5d5={};for(const [_0x5ff4c1,_0x32340b]of Object[_0x54324b(0x130)](_0x552eba)){_0x33a5d5[_0x5ff4c1]=_0x32340b?_0x32340b[_0x54324b(0x125)]():null;}return _0x33a5d5;}async[a0_0x4a86e6(0x121)](){const _0x1ba92e=a0_0x4a86e6,_0x59b177={'ebgMz':'[KafkaConsumer]\x20Consumer\x20already\x20paused','cMeZP':'[KafkaConsumer]\x20Consumer\x20paused'};if(!this['isConnected']||!this['isRunning'])return console['log']('[KafkaConsumer]\x20Cannot\x20pause\x20-\x20consumer\x20not\x20running'),![];if(this['isPaused'])return console[_0x1ba92e(0x169)](_0x59b177['ebgMz']),!![];try{const _0x52253f=this['subscribedTopics'][_0x1ba92e(0x140)](_0x20b94b=>({'topic':_0x20b94b}));return this['consumer']['pause'](_0x52253f),this['isPaused']=!![],console[_0x1ba92e(0x169)](_0x59b177[_0x1ba92e(0xfd)]),!![];}catch(_0x4db27e){return console['error']('[KafkaConsumer]\x20Pause\x20error:\x20'+_0x4db27e[_0x1ba92e(0x115)]),![];}}async['resume'](){const _0x22919b=a0_0x4a86e6,_0x219e13={'VSUkb':'[KafkaConsumer]\x20Cannot\x20resume\x20-\x20consumer\x20not\x20running'};if(!this[_0x22919b(0x151)]||!this[_0x22919b(0x11c)])return console['log'](_0x219e13[_0x22919b(0x112)]),![];if(!this[_0x22919b(0x104)])return console['log']('[KafkaConsumer]\x20Consumer\x20not\x20paused'),!![];try{const _0x258305=this[_0x22919b(0x11d)][_0x22919b(0x140)](_0x145814=>({'topic':_0x145814}));return this[_0x22919b(0x13f)]['resume'](_0x258305),this[_0x22919b(0x104)]=![],console['log'](_0x22919b(0x12e)),!![];}catch(_0x3462dc){return console['error']('[KafkaConsumer]\x20Resume\x20error:\x20'+_0x3462dc['message']),![];}}async['stop'](){const _0x162364=a0_0x4a86e6,_0x1d070f={'HdOri':_0x162364(0x13a),'VidLx':'[KafkaConsumer]\x20Consumer\x20stopped\x20and\x20disconnected'};if(!this[_0x162364(0x151)])return console['log'](_0x1d070f['HdOri']),!![];try{return this[_0x162364(0x13f)]&&(await this[_0x162364(0x13f)][_0x162364(0x114)](),await this['consumer']['disconnect']()),this['isConnected']=![],this[_0x162364(0x11c)]=![],this['isPaused']=![],console[_0x162364(0x169)](_0x1d070f[_0x162364(0x10c)]),!![];}catch(_0xe9189a){return console[_0x162364(0x136)]('[KafkaConsumer]\x20Stop\x20error:\x20'+_0xe9189a['message']),![];}}async[a0_0x4a86e6(0x110)](_0x39c360,_0x3654bf,_0x5a2259){const _0x1712cc=a0_0x4a86e6,_0x552de0={'mkxfE':'[KafkaConsumer]\x20Cannot\x20seek\x20-\x20not\x20connected'};if(!this['isConnected'])return console[_0x1712cc(0x136)](_0x552de0['mkxfE']),![];try{return this['consumer'][_0x1712cc(0x138)]({'topic':_0x39c360,'partition':_0x3654bf,'offset':_0x5a2259[_0x1712cc(0x125)]()}),console['log']('[KafkaConsumer]\x20Seeked\x20to\x20offset\x20'+_0x5a2259+_0x1712cc(0x100)+_0x39c360+':'+_0x3654bf),!![];}catch(_0x1d3cb0){return console[_0x1712cc(0x136)](_0x1712cc(0x164)+_0x1d3cb0['message']),![];}}[a0_0x4a86e6(0x16d)](){const _0x28e5bd=a0_0x4a86e6,_0x6a6d5e=this[_0x28e5bd(0x156)]();return{'enabled':_0x6a6d5e[_0x28e5bd(0x11b)],'connected':this['isConnected'],'running':this[_0x28e5bd(0x11c)],'paused':this[_0x28e5bd(0x104)],'brokers':_0x6a6d5e['brokers'],'clientId':_0x6a6d5e[_0x28e5bd(0x116)],'groupId':this[_0x28e5bd(0x166)],'subscribedTopics':this['subscribedTopics']};}['getMetrics'](){const _0x27ab56=a0_0x4a86e6,_0x571688={'upiCq':function(_0x60dc9d,_0x563c2e){return _0x60dc9d>_0x563c2e;},'osxso':function(_0x58965f,_0x391674){return _0x58965f>_0x391674;},'PITLl':function(_0x10cf42,_0x170fe3){return _0x10cf42+_0x170fe3;},'iBUVp':function(_0x218912,_0x24e43e){return _0x218912/_0x24e43e;},'fDoEq':function(_0x4db74d,_0x437fc4){return _0x4db74d+_0x437fc4;}},_0x364d08=this['metrics']['processingTimes'][_0x27ab56(0x124)]>0x0?this[_0x27ab56(0x142)]['processingTimes']['reduce']((_0x2f004a,_0x2bdb82)=>_0x2f004a+_0x2bdb82,0x0)/this[_0x27ab56(0x142)][_0x27ab56(0x16a)]['length']:0x0,_0x43483c=this['metrics']['processingTimes']['length']>0x0?Math[_0x27ab56(0x13e)](...this[_0x27ab56(0x142)][_0x27ab56(0x16a)]):0x0,_0x229260=_0x571688['upiCq'](this['metrics'][_0x27ab56(0x16a)]['length'],0x0)?Math[_0x27ab56(0x108)](...this['metrics'][_0x27ab56(0x16a)]):0x0;return{'messagesReceived':this['metrics'][_0x27ab56(0x102)],'messagesProcessed':this['metrics'][_0x27ab56(0x172)],'messagesFailed':this['metrics'][_0x27ab56(0x103)],'successRate':_0x571688['osxso'](this['metrics'][_0x27ab56(0x102)],0x0)?_0x571688[_0x27ab56(0x12c)]((_0x571688['iBUVp'](this['metrics'][_0x27ab56(0x172)],this[_0x27ab56(0x142)][_0x27ab56(0x102)])*0x64)['toFixed'](0x2),'%'):'0%','lastMessageTime':this['metrics']['lastMessageTime'],'startTime':this[_0x27ab56(0x142)]['startTime'],'uptime':this['metrics']['startTime']?Math['floor'](_0x571688['iBUVp'](Date[_0x27ab56(0x107)]()-this['metrics'][_0x27ab56(0x13b)][_0x27ab56(0x132)](),0x3e8))+'s':'0s','processingTime':{'avg':Math['round'](_0x364d08)+'ms','min':_0x571688[_0x27ab56(0x152)](_0x43483c,'ms'),'max':_0x229260+'ms'}};}['resetMetrics'](){const _0x3f6135=a0_0x4a86e6,_0x50a174={'gpMuv':_0x3f6135(0x15c)};this['metrics']={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':this[_0x3f6135(0x11c)]?new Date():null,'processingTimes':[]},console[_0x3f6135(0x169)](_0x50a174['gpMuv']);}async['close'](){await this['stop']();}}let instance=null;function getInstance(){return!instance&&(instance=new KafkaConsumerService()),instance;}function a0_0x24ee(){const _0x49d8c0=['BwvZC2fNzxnqCM9JzxnZzwq','y01LwLa','r2Hrsgu','D2fYBG','ig9Uia','odeXnJq0t0zVBMzj','BwvZC2fNzxnszwnLAxzLza','BwvZC2fNzxngywLSzwq','AxnqyxvZzwq','mtG5mdK4uwP1uxnk','z2v0tg9Ntgv2zwW','BM93','Bwf4','CMv0CNLezwXHEq','yNjVA2vYCW','y29UBMvJDa','vMLKthG','s0fgs0fFtufyx0jzvevtx1bfuL9qqvjusvrjt04','CgfYC2vizwfKzxjZ','otG3mtjiExbKze8','C2vLA1rVt2zMC2v0','v0fstG','vLnvA2i','Dhj1zq','C3rVCa','BwvZC2fNzq','y2XPzw50swq','s0fgs0fFqvvut19dt01nsvrFsu5urvjwquW','DxvPza','yKzRz3y','s0fgs0fFu0fttf9vu0vstKfnrq','zw5HyMXLza','AxnsDw5UAw5N','C3vIC2nYAwjLzfrVCgLJCW','ohWXFdL8mtb8mhW3Fdr8nNWYFdv8mW','w0THzMTHq29UC3vTzxjDienVBNn1BwvYignVBM5Ly3rLzcb0BYbICM9RzxjZoIa','zgvMyxvSDa','Cgf1C2u','y29UC3vTzxiUzgLZy29UBMvJDa','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigfSCMvHzhKGCNvUBMLUzW','BgvUz3rO','Dg9tDhjPBMC','D1LiAeu','s0fgs0fFqLjps0vsuW','y29UBMvJDgLVBLbYB21PC2u','BxLLqKy','w0THzMTHq29UC3vTzxjDienVBM5Ly3rPB24GzMfPBgvKoIa','tMnZDei','ueLutgW','DffvDgG','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihjLC3vTzwq','DMfSDwu','zw50CMLLCW','s3fUvem','z2v0vgLTzq','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihn0B3bWzwq','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','s0fgs0fFu0fttf9nruniqu5ju00','zxjYB3i','y29UBMvJDgLVBLrPBwvVDxq','C2vLAW','s0fgs0fFq0Xjru5ux0Le','w0THzMTHq29UC3vTzxjDienVBNn1BwvYig5VDcbJB25Uzwn0zwq','C3rHCNruAw1L','w0THzMTHq29UC3vTzxjDifn0yxj0ignVBNn1BwLUzYbLCNjVCJOG','w0THzMTHq29UC3vTzxjDifn1yNnJCMLIzsbLCNjVCJOG','BwLU','y29UC3vTzxi','BwfW','su5gtW','Bwv0CMLJCW','tK9useLorW','C3vIC2nYAwjL','mtm4twvdBMfb','w0THzMTHq29UC3vTzxjDie1LC3nHz2uGChjVy2vZC2LUzYbLCNjVCJOG','r21xs1q','mta0odu3nG','CMvZDgzVCMDLlq','mZaWma','s0fgs0fFu0fttf9qqvntv09sra','y29TBwL0t2zMC2v0CW','s1btDLy','yxv0B0nVBw1PDa','t0riz3m','s0fgs0fFq09otKvdveLptL9usu1ft1vu','AxndB25Uzwn0zwq','zKrVrxe','zw52','AxnjBML0AwfSAxPPBMC','Bwf4qNL0zxnqzxjqyxj0AxrPB24','z2v0q29UzMLN','zxHWB3j0CW','CNvU','CMv0CNLbDhrLBxb0CW','mZC3mtG4BNvvD1ng','ntKYnJb0rNDyuMe','w0THzMTHq29UC3vTzxjDie1LDhjPy3mGCMvZzxq','y29UC3vTzxiUCMvIywXHBMnPBMC','CgfYC2u','DgLTzxn0yw1W','s0fgs0fFu1nm','revcvuC','A2fMA2e','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigrPC2nVBM5Ly3rLza','w0THzMTHq29UC3vTzxjDifnLzwSGzxjYB3i6ia','mtaWma','z3jVDxbjza','AgvHCNrIzwf0sw50zxj2ywW','C3rHCNrdB25ZDw1PBMC','Bg9N','ChjVy2vZC2LUz1rPBwvZ','z3bbtNy','C3bSAxq','z2v0u3rHDhvZ','zwD3CuO','ntnOvu9yB00','mtC4mZu4nfnrExD6sq','nde2we5pDgH2'];a0_0x24ee=function(){return _0x49d8c0;};return a0_0x24ee();}function resetInstance(){instance&&(instance['close'](),instance=null);}function createInstance(){return new KafkaConsumerService();}module[a0_0x4a86e6(0x157)]={'getInstance':getInstance,'resetInstance':resetInstance,'createInstance':createInstance,'KafkaConsumerService':KafkaConsumerService};
1
+ const a0_0x15617e=a0_0x4823;(function(_0x27170d,_0x181ca0){const _0x4f8fb5=a0_0x4823,_0x43fbac=_0x27170d();while(!![]){try{const _0x359f54=parseInt(_0x4f8fb5(0x1c8))/0x1+-parseInt(_0x4f8fb5(0x19b))/0x2+parseInt(_0x4f8fb5(0x1e5))/0x3*(parseInt(_0x4f8fb5(0x1ad))/0x4)+-parseInt(_0x4f8fb5(0x1cf))/0x5+-parseInt(_0x4f8fb5(0x1ec))/0x6+parseInt(_0x4f8fb5(0x1e6))/0x7*(parseInt(_0x4f8fb5(0x1d3))/0x8)+parseInt(_0x4f8fb5(0x185))/0x9;if(_0x359f54===_0x181ca0)break;else _0x43fbac['push'](_0x43fbac['shift']());}catch(_0x3f1e4f){_0x43fbac['push'](_0x43fbac['shift']());}}}(a0_0x432e,0x7fa57));const {Kafka,logLevel}=require(a0_0x15617e(0x1e0)),{v7:uuidv7}=require('uuid');function a0_0x4823(_0x3bba29,_0x15c5f7){_0x3bba29=_0x3bba29-0x17d;const _0x432ed0=a0_0x432e();let _0x4823c4=_0x432ed0[_0x3bba29];if(a0_0x4823['JJQADl']===undefined){var _0x5031d5=function(_0x532274){const _0x32d281='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x766599='',_0x5988a1='';for(let _0x542d27=0x0,_0x1f88fe,_0x4a81de,_0x2a8e8f=0x0;_0x4a81de=_0x532274['charAt'](_0x2a8e8f++);~_0x4a81de&&(_0x1f88fe=_0x542d27%0x4?_0x1f88fe*0x40+_0x4a81de:_0x4a81de,_0x542d27++%0x4)?_0x766599+=String['fromCharCode'](0xff&_0x1f88fe>>(-0x2*_0x542d27&0x6)):0x0){_0x4a81de=_0x32d281['indexOf'](_0x4a81de);}for(let _0x464181=0x0,_0x279e25=_0x766599['length'];_0x464181<_0x279e25;_0x464181++){_0x5988a1+='%'+('00'+_0x766599['charCodeAt'](_0x464181)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5988a1);};a0_0x4823['PZQKoF']=_0x5031d5,a0_0x4823['VvTFwQ']={},a0_0x4823['JJQADl']=!![];}const _0x2d022a=_0x432ed0[0x0],_0x4fc22f=_0x3bba29+_0x2d022a,_0x1a2016=a0_0x4823['VvTFwQ'][_0x4fc22f];return!_0x1a2016?(_0x4823c4=a0_0x4823['PZQKoF'](_0x4823c4),a0_0x4823['VvTFwQ'][_0x4fc22f]=_0x4823c4):_0x4823c4=_0x1a2016,_0x4823c4;}class KafkaConsumerService{constructor(){const _0x4cb085=a0_0x15617e,_0x33c85f='2|0|8|6|5|3|7|1|9|4|10'[_0x4cb085(0x1a5)]('|');let _0x495a71=0x0;while(!![]){switch(_0x33c85f[_0x495a71++]){case'0':this['consumer']=null;continue;case'1':this['subscribedTopics']=[];continue;case'2':this[_0x4cb085(0x19e)]=null;continue;case'3':this['isPaused']=![];continue;case'4':this[_0x4cb085(0x189)]=null;continue;case'5':this[_0x4cb085(0x1cc)]=![];continue;case'6':this[_0x4cb085(0x1b7)]=![];continue;case'7':this[_0x4cb085(0x1f9)]=null;continue;case'8':this['isConnected']=![];continue;case'9':this[_0x4cb085(0x1c1)]=null;continue;case'10':this['metrics']={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':null,'processingTimes':[]};continue;}break;}}[a0_0x15617e(0x1b8)](){const _0x26db4d=a0_0x15617e,_0x271089={'FOfTv':_0x26db4d(0x188),'VocMA':'25000','ATlow':function(_0x495ec6,_0x271284){return _0x495ec6(_0x271284);},'BEEPu':'30000','gfARs':function(_0x143d52,_0x7cf6ad){return _0x143d52(_0x7cf6ad);},'wViOO':function(_0x298c8e,_0xcb1902){return _0x298c8e===_0xcb1902;},'rsphE':'5000','jiIbO':'warn'};return{'enabled':process[_0x26db4d(0x1d2)][_0x26db4d(0x1d9)]===_0x271089['FOfTv'],'brokers':(process['env']['KAFKA_BROKERS']||_0x26db4d(0x1ed))[_0x26db4d(0x1a5)](','),'clientId':process['env'][_0x26db4d(0x1aa)]||'restforge-'+(process[_0x26db4d(0x1d2)][_0x26db4d(0x1a1)]||'default')+'-consumer','connectionTimeout':parseInt(process[_0x26db4d(0x1d2)][_0x26db4d(0x190)]||'3000'),'requestTimeout':parseInt(process['env']['KAFKA_REQUEST_TIMEOUT']||_0x271089['VocMA']),'sessionTimeout':_0x271089[_0x26db4d(0x1f7)](parseInt,process[_0x26db4d(0x1d2)][_0x26db4d(0x1b2)]||_0x271089[_0x26db4d(0x1d0)]),'heartbeatInterval':_0x271089['gfARs'](parseInt,process['env'][_0x26db4d(0x1ee)]||_0x26db4d(0x1b3)),'maxBytesPerPartition':parseInt(process['env'][_0x26db4d(0x1ba)]||'1048576'),'autoCommit':_0x271089['wViOO'](process[_0x26db4d(0x1d2)][_0x26db4d(0x1de)],'true'),'autoCommitInterval':_0x271089[_0x26db4d(0x1f7)](parseInt,process[_0x26db4d(0x1d2)][_0x26db4d(0x192)]||_0x271089[_0x26db4d(0x1ca)]),'retryAttempts':_0x271089['ATlow'](parseInt,process[_0x26db4d(0x1d2)][_0x26db4d(0x1c9)]||'3'),'retryDelay':parseInt(process['env']['KAFKA_RETRY_DELAY']||_0x26db4d(0x1ab)),'retryMaxDelay':parseInt(process[_0x26db4d(0x1d2)]['KAFKA_RETRY_MAX_DELAY']||_0x271089[_0x26db4d(0x1d0)]),'logLevel':process[_0x26db4d(0x1d2)][_0x26db4d(0x1eb)]||_0x271089[_0x26db4d(0x1da)]};}[a0_0x15617e(0x196)](_0x22bf9b){const _0x1f0c03=a0_0x15617e,_0x20cd76={'nothing':logLevel[_0x1f0c03(0x1dd)],'error':logLevel['ERROR'],'warn':logLevel[_0x1f0c03(0x19f)],'info':logLevel[_0x1f0c03(0x182)],'debug':logLevel['DEBUG']};return _0x20cd76[_0x22bf9b[_0x1f0c03(0x1f8)]()]||logLevel['WARN'];}async['initialize'](_0x5f1f50={}){const _0x1efee8=a0_0x15617e,_0x23cd63={'DcAco':function(_0x48f053,_0x15558c){return _0x48f053(_0x15558c);},'dxGAi':function(_0x53bf1f,_0x226f71){return _0x53bf1f(_0x226f71);},'EkLby':'[KafkaConsumer]\x20Kafka\x20consumer\x20is\x20disabled\x20in\x20configuration'},_0x43fbdc=this[_0x1efee8(0x1b8)]();if(!_0x43fbdc['enabled'])return console[_0x1efee8(0x1d1)](_0x23cd63['EkLby']),![];if(this['isConnected'])return!![];if(this[_0x1efee8(0x1b7)]&&this['connectionPromise'])return this[_0x1efee8(0x1f9)];return this['isInitializing']=!![],this[_0x1efee8(0x1f9)]=new Promise(async _0x355917=>{const _0x462859=_0x1efee8;try{let _0xa0e6a0=undefined;process[_0x462859(0x1d2)]['KAFKA_SSL']==='true'&&(_0xa0e6a0=!![]);let _0x396e98=undefined;process['env'][_0x462859(0x1ef)]&&(_0x396e98={'mechanism':process['env'][_0x462859(0x1ef)],'username':process['env']['KAFKA_SASL_USERNAME']||'','password':process[_0x462859(0x1d2)][_0x462859(0x187)]||''}),this['kafka']=new Kafka({'clientId':_0x5f1f50[_0x462859(0x198)]||_0x43fbdc[_0x462859(0x198)],'brokers':_0x43fbdc[_0x462859(0x1c3)],'connectionTimeout':_0x43fbdc['connectionTimeout'],'requestTimeout':_0x43fbdc['requestTimeout'],'logLevel':this[_0x462859(0x196)](_0x43fbdc[_0x462859(0x1c5)]),'ssl':_0xa0e6a0,'sasl':_0x396e98,'retry':{'initialRetryTime':_0x43fbdc[_0x462859(0x195)],'retries':_0x43fbdc[_0x462859(0x1cd)],'maxRetryTime':_0x43fbdc[_0x462859(0x191)]}}),this['groupId']=_0x5f1f50['groupId']||'restforge-'+(process[_0x462859(0x1d2)][_0x462859(0x1a1)]||'default')+_0x462859(0x17d),this[_0x462859(0x1d6)]=this['kafka'][_0x462859(0x1d6)]({'groupId':this[_0x462859(0x1c1)],'sessionTimeout':_0x43fbdc[_0x462859(0x1cb)],'heartbeatInterval':_0x43fbdc['heartbeatInterval'],'maxBytesPerPartition':_0x43fbdc[_0x462859(0x1c6)],'allowAutoTopicCreation':![]}),await this[_0x462859(0x1d6)][_0x462859(0x1b1)](),this[_0x462859(0x18c)]=!![],console['log'](_0x462859(0x1af)+_0x43fbdc['brokers']['join'](',\x20')+_0x462859(0x1e8)+this[_0x462859(0x1c1)]+')'),this['setupEventHandlers'](),_0x23cd63[_0x462859(0x193)](_0x355917,!![]);}catch(_0x3b0700){console[_0x462859(0x1c7)]('[KafkaConsumer]\x20Connection\x20failed:\x20'+_0x3b0700['message']),this[_0x462859(0x18c)]=![],_0x23cd63[_0x462859(0x184)](_0x355917,![]);}finally{this['isInitializing']=![];}}),this[_0x1efee8(0x1f9)];}[a0_0x15617e(0x18e)](){const _0x5d91c3=a0_0x15617e,_0x584f5f={'TbhQl':'consumer.stop'};if(!this[_0x5d91c3(0x1d6)])return;this['consumer']['on']('consumer.disconnect',()=>{const _0x16a742=_0x5d91c3;console[_0x16a742(0x1d1)](_0x16a742(0x1bf)),this['isConnected']=![],this[_0x16a742(0x1cc)]=![];}),this['consumer']['on'](_0x584f5f[_0x5d91c3(0x1a9)],()=>{const _0x30d9ac=_0x5d91c3;console['log'](_0x30d9ac(0x1c4)),this['isRunning']=![];}),this[_0x5d91c3(0x1d6)]['on']('consumer.crash',_0x2b4e0a=>{const _0x4e3b27=_0x5d91c3;console['error']('[KafkaConsumer]\x20Consumer\x20crashed:\x20'+_0x2b4e0a['payload'][_0x4e3b27(0x1c7)][_0x4e3b27(0x1e9)]),this['isRunning']=![];}),this['consumer']['on'](_0x5d91c3(0x1d5),()=>{console['log']('[KafkaConsumer]\x20Consumer\x20rebalancing...');});}async[a0_0x15617e(0x181)](_0x2c9418,_0x1cc87f=![]){const _0x80232=a0_0x15617e;if(!this['isConnected'])return console['error'](_0x80232(0x1ae)),![];try{const _0x4c7761=Array[_0x80232(0x1dc)](_0x2c9418)?_0x2c9418:[_0x2c9418];for(const _0x5844f7 of _0x4c7761){await this[_0x80232(0x1d6)][_0x80232(0x181)]({'topic':_0x5844f7,'fromBeginning':_0x1cc87f}),console[_0x80232(0x1d1)](_0x80232(0x1e4)+_0x5844f7+'\x20(fromBeginning:\x20'+_0x1cc87f+')');}return this[_0x80232(0x1fb)]=[...new Set([...this[_0x80232(0x1fb)],..._0x4c7761])],!![];}catch(_0x14eab6){return console[_0x80232(0x1c7)](_0x80232(0x194)+_0x14eab6['message']),![];}}async[a0_0x15617e(0x1df)](_0x3d394c,_0x142209={}){const _0x514ed4=a0_0x15617e,_0x99a5b4={'VUccK':function(_0x504421,_0x26f3f6){return _0x504421>_0x26f3f6;},'IRGmX':function(_0x53c96d){return _0x53c96d();},'kjRIZ':_0x514ed4(0x1e1),'HYfWp':function(_0x48dcb0,_0x409307){return _0x48dcb0!==_0x409307;}};if(!this['isConnected'])return console['error'](_0x99a5b4['kjRIZ']),![];if(this['isRunning'])return console['log'](_0x514ed4(0x1f2)),!![];const _0x1d07d2=this[_0x514ed4(0x1b8)]();this[_0x514ed4(0x189)]=_0x3d394c;try{return this['metrics'][_0x514ed4(0x1d8)]=new Date(),await this['consumer']['run']({'autoCommit':_0x99a5b4['HYfWp'](_0x142209[_0x514ed4(0x1a0)],undefined)?_0x142209[_0x514ed4(0x1a0)]:_0x1d07d2[_0x514ed4(0x1a0)],'autoCommitInterval':_0x1d07d2['autoCommitInterval'],'eachMessage':async({topic:_0x58f10d,partition:_0x4dfcca,message:_0x4ba9c4,heartbeat:_0x320fa7})=>{const _0x8b8946=_0x514ed4,_0x224683=Date[_0x8b8946(0x18b)]();this[_0x8b8946(0x1f6)][_0x8b8946(0x1b9)]++,this[_0x8b8946(0x1f6)]['lastMessageTime']=new Date();try{const _0x4f19af=_0x4ba9c4['value']?_0x4ba9c4['value'][_0x8b8946(0x197)]():null;let _0x2c0055=null;try{_0x2c0055=_0x4f19af?JSON['parse'](_0x4f19af):null;}catch(_0x4f3654){_0x2c0055=_0x4f19af;}const _0x106fac={'topic':_0x58f10d,'partition':_0x4dfcca,'offset':_0x4ba9c4['offset'],'key':_0x4ba9c4['key']?_0x4ba9c4[_0x8b8946(0x1db)]['toString']():null,'headers':this[_0x8b8946(0x19d)](_0x4ba9c4['headers']),'timestamp':_0x4ba9c4[_0x8b8946(0x180)],'value':_0x2c0055,'raw':_0x4f19af};this['messageHandler']&&await this['messageHandler'](_0x106fac);!_0x1d07d2['autoCommit']&&await this['consumer'][_0x8b8946(0x1f0)]([{'topic':_0x58f10d,'partition':_0x4dfcca,'offset':(parseInt(_0x4ba9c4[_0x8b8946(0x1b6)])+0x1)[_0x8b8946(0x197)]()}]);this['metrics'][_0x8b8946(0x1a3)]++;const _0x2350b1=Date['now']()-_0x224683;this['metrics'][_0x8b8946(0x1b4)][_0x8b8946(0x1a2)](_0x2350b1),_0x99a5b4[_0x8b8946(0x199)](this[_0x8b8946(0x1f6)][_0x8b8946(0x1b4)][_0x8b8946(0x1a7)],0x64)&&this[_0x8b8946(0x1f6)][_0x8b8946(0x1b4)]['shift'](),await _0x99a5b4['IRGmX'](_0x320fa7);}catch(_0x21b3e8){this[_0x8b8946(0x1f6)][_0x8b8946(0x1e2)]++,console['error']('[KafkaConsumer]\x20Message\x20processing\x20error:\x20'+_0x21b3e8['message']);throw _0x21b3e8;}}}),this[_0x514ed4(0x1cc)]=!![],console['log']('[KafkaConsumer]\x20Started\x20consuming\x20from\x20topics:\x20'+this['subscribedTopics']['join'](',\x20')),!![];}catch(_0x2af1b2){return console['error']('[KafkaConsumer]\x20Start\x20consuming\x20error:\x20'+_0x2af1b2['message']),![];}}['parseHeaders'](_0x2aa4e9){const _0x37dcd5=a0_0x15617e;if(!_0x2aa4e9)return{};const _0x34531f={};for(const [_0x350deb,_0x16f89c]of Object[_0x37dcd5(0x186)](_0x2aa4e9)){_0x34531f[_0x350deb]=_0x16f89c?_0x16f89c[_0x37dcd5(0x197)]():null;}return _0x34531f;}async['pause'](){const _0x101123=a0_0x15617e,_0x27c8d9={'ezdWS':_0x101123(0x1b0)};if(!this[_0x101123(0x18c)]||!this[_0x101123(0x1cc)])return console['log'](_0x27c8d9[_0x101123(0x1ce)]),![];if(this['isPaused'])return console[_0x101123(0x1d1)]('[KafkaConsumer]\x20Consumer\x20already\x20paused'),!![];try{const _0x52dc92=this[_0x101123(0x1fb)][_0x101123(0x17e)](_0x1028a1=>({'topic':_0x1028a1}));return this['consumer']['pause'](_0x52dc92),this['isPaused']=!![],console[_0x101123(0x1d1)](_0x101123(0x1d7)),!![];}catch(_0xb9b935){return console['error']('[KafkaConsumer]\x20Pause\x20error:\x20'+_0xb9b935[_0x101123(0x1e9)]),![];}}async['resume'](){const _0x5a470b=a0_0x15617e,_0x2aaf53={'pnDva':_0x5a470b(0x1a8)};if(!this['isConnected']||!this['isRunning'])return console[_0x5a470b(0x1d1)](_0x2aaf53[_0x5a470b(0x1be)]),![];if(!this[_0x5a470b(0x183)])return console[_0x5a470b(0x1d1)]('[KafkaConsumer]\x20Consumer\x20not\x20paused'),!![];try{const _0x300c5e=this[_0x5a470b(0x1fb)][_0x5a470b(0x17e)](_0x55eada=>({'topic':_0x55eada}));return this[_0x5a470b(0x1d6)]['resume'](_0x300c5e),this['isPaused']=![],console['log'](_0x5a470b(0x1a6)),!![];}catch(_0x2f1dce){return console[_0x5a470b(0x1c7)](_0x5a470b(0x1c0)+_0x2f1dce[_0x5a470b(0x1e9)]),![];}}async[a0_0x15617e(0x1b5)](){const _0x5cd519=a0_0x15617e,_0x85868b={'uZGdj':'[KafkaConsumer]\x20Consumer\x20not\x20connected','CHsmw':_0x5cd519(0x1e7),'wWyUV':_0x5cd519(0x1ac)};if(!this['isConnected'])return console[_0x5cd519(0x1d1)](_0x85868b['uZGdj']),!![];try{const _0x56bff4=_0x85868b[_0x5cd519(0x1f4)][_0x5cd519(0x1a5)]('|');let _0x56f3df=0x0;while(!![]){switch(_0x56bff4[_0x56f3df++]){case'0':this['consumer']&&(await this[_0x5cd519(0x1d6)]['stop'](),await this[_0x5cd519(0x1d6)]['disconnect']());continue;case'1':this['isRunning']=![];continue;case'2':this['isPaused']=![];continue;case'3':return!![];case'4':console['log'](_0x85868b['wWyUV']);continue;case'5':this['isConnected']=![];continue;}break;}}catch(_0x160e07){return console['error']('[KafkaConsumer]\x20Stop\x20error:\x20'+_0x160e07['message']),![];}}async['seekToOffset'](_0x2c9431,_0x1e3e60,_0x540c7b){const _0x9276e6=a0_0x15617e;if(!this['isConnected'])return console[_0x9276e6(0x1c7)]('[KafkaConsumer]\x20Cannot\x20seek\x20-\x20not\x20connected'),![];try{return this['consumer']['seek']({'topic':_0x2c9431,'partition':_0x1e3e60,'offset':_0x540c7b[_0x9276e6(0x197)]()}),console['log'](_0x9276e6(0x1ea)+_0x540c7b+'\x20on\x20'+_0x2c9431+':'+_0x1e3e60),!![];}catch(_0x354c1c){return console['error']('[KafkaConsumer]\x20Seek\x20error:\x20'+_0x354c1c['message']),![];}}[a0_0x15617e(0x1fa)](){const _0x5778d4=a0_0x15617e,_0x2c98d2=this['getConfig']();return{'enabled':_0x2c98d2[_0x5778d4(0x1f1)],'connected':this['isConnected'],'running':this['isRunning'],'paused':this[_0x5778d4(0x183)],'brokers':_0x2c98d2['brokers'],'clientId':_0x2c98d2['clientId'],'groupId':this['groupId'],'subscribedTopics':this['subscribedTopics']};}[a0_0x15617e(0x1f3)](){const _0x94adf=a0_0x15617e,_0x22c3aa={'iNKsR':function(_0x5e7ac6,_0x5c7371){return _0x5e7ac6/_0x5c7371;},'Kxrly':function(_0x53e0aa,_0xec32e9){return _0x53e0aa>_0xec32e9;},'pZzGi':function(_0x59c868,_0x48b9d7){return _0x59c868+_0x48b9d7;},'XmTfQ':function(_0x4f87c9,_0xbc4f94){return _0x4f87c9*_0xbc4f94;},'BaRtu':function(_0x3b69a8,_0x28df7d){return _0x3b69a8-_0x28df7d;},'SMrcp':function(_0x529d05,_0x317ba7){return _0x529d05+_0x317ba7;},'bXEry':function(_0x28b368,_0x3ad984){return _0x28b368+_0x3ad984;}},_0x11aa00=this[_0x94adf(0x1f6)]['processingTimes'][_0x94adf(0x1a7)]>0x0?_0x22c3aa[_0x94adf(0x1c2)](this[_0x94adf(0x1f6)][_0x94adf(0x1b4)][_0x94adf(0x17f)]((_0x545b80,_0x49d671)=>_0x545b80+_0x49d671,0x0),this['metrics'][_0x94adf(0x1b4)][_0x94adf(0x1a7)]):0x0,_0x3f7802=this['metrics']['processingTimes']['length']>0x0?Math[_0x94adf(0x1e3)](...this[_0x94adf(0x1f6)][_0x94adf(0x1b4)]):0x0,_0x85d3f3=this['metrics'][_0x94adf(0x1b4)]['length']>0x0?Math[_0x94adf(0x1bb)](...this[_0x94adf(0x1f6)][_0x94adf(0x1b4)]):0x0;return{'messagesReceived':this[_0x94adf(0x1f6)]['messagesReceived'],'messagesProcessed':this[_0x94adf(0x1f6)][_0x94adf(0x1a3)],'messagesFailed':this['metrics']['messagesFailed'],'successRate':_0x22c3aa['Kxrly'](this[_0x94adf(0x1f6)][_0x94adf(0x1b9)],0x0)?_0x22c3aa[_0x94adf(0x1bc)](_0x22c3aa[_0x94adf(0x18a)](_0x22c3aa[_0x94adf(0x1c2)](this['metrics'][_0x94adf(0x1a3)],this[_0x94adf(0x1f6)][_0x94adf(0x1b9)]),0x64)[_0x94adf(0x18d)](0x2),'%'):'0%','lastMessageTime':this['metrics'][_0x94adf(0x19a)],'startTime':this[_0x94adf(0x1f6)][_0x94adf(0x1d8)],'uptime':this['metrics'][_0x94adf(0x1d8)]?_0x22c3aa['pZzGi'](Math['floor'](_0x22c3aa[_0x94adf(0x18f)](Date['now'](),this[_0x94adf(0x1f6)]['startTime']['getTime']())/0x3e8),'s'):'0s','processingTime':{'avg':Math['round'](_0x11aa00)+'ms','min':_0x22c3aa['SMrcp'](_0x3f7802,'ms'),'max':_0x22c3aa[_0x94adf(0x1d4)](_0x85d3f3,'ms')}};}[a0_0x15617e(0x1bd)](){const _0x32e7b5=a0_0x15617e,_0x326bc9={'TYRGD':_0x32e7b5(0x1a4)};this[_0x32e7b5(0x1f6)]={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':this['isRunning']?new Date():null,'processingTimes':[]},console[_0x32e7b5(0x1d1)](_0x326bc9[_0x32e7b5(0x1f5)]);}async['close'](){await this['stop']();}}let instance=null;function getInstance(){return!instance&&(instance=new KafkaConsumerService()),instance;}function resetInstance(){const _0x547ce5=a0_0x15617e;instance&&(instance[_0x547ce5(0x19c)](),instance=null);}function a0_0x432e(){const _0x3fd567=['vfLsr0q','Bwv0CMLJCW','qvrSB3C','Dg9mB3DLCKnHC2u','y29UBMvJDgLVBLbYB21PC2u','z2v0u3rHDhvZ','C3vIC2nYAwjLzfrVCgLJCW','lwnVBNn1BwvYlwDYB3vW','BwfW','CMvKDwnL','DgLTzxn0yw1W','C3vIC2nYAwjL','su5gtW','AxnqyxvZzwq','zhHhqwK','mJG1ntG3mxLZtxvhBG','zw50CMLLCW','s0fgs0fFu0fttf9qqvntv09sra','Dhj1zq','BwvZC2fNzuHHBMrSzxi','wg1uzLe','BM93','AxndB25Uzwn0zwq','Dg9gAxHLza','C2v0DxbfDMvUDeHHBMrSzxjZ','qMfsDhu','s0fgs0fFq09otKvdveLptL9usu1ft1vu','CMv0CNLnyxHezwXHEq','s0fgs0fFqvvut19dt01nsvrFsu5urvjwquW','rgnby28','w0THzMTHq29UC3vTzxjDifn1yNnJCMLIzsbLCNjVCJOG','CMv0CNLezwXHEq','z2v0tg9Ntgv2zwW','Dg9tDhjPBMC','y2XPzw50swq','vLvJy0S','BgfZDe1LC3nHz2vuAw1L','mtm1mZe1nLfPB0zvBW','y2XVC2u','CgfYC2vizwfKzxjZ','A2fMA2e','v0fstG','yxv0B0nVBw1PDa','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','ChvZAa','BwvZC2fNzxnqCM9JzxnZzwq','w0THzMTHq29UC3vTzxjDie1LDhjPy3mGCMvZzxq','C3bSAxq','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihjLC3vTzwq','BgvUz3rO','w0THzMTHq29UC3vTzxjDienHBM5VDcbYzxn1BwuGlsbJB25ZDw1LCIbUB3qGCNvUBMLUzW','vgjOuwW','s0fgs0fFq0Xjru5ux0Le','mtaWma','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihn0B3bWzwqGyw5KigrPC2nVBM5Ly3rLza','nda0Eu1Uswr6','w0THzMTHq29UC3vTzxjDienHBM5VDcbZDwjZy3jPyMuGlsbUB3qGy29UBMvJDgvK','w0THzMTHq29UC3vTzxjDienVBNn1BwvYignVBM5Ly3rLzcb0BYbICM9RzxjZoIa','w0THzMTHq29UC3vTzxjDienHBM5VDcbWyxvZzsaTignVBNn1BwvYig5VDcbYDw5UAw5N','y29UBMvJDa','s0fgs0fFu0vtu0LptL9usu1ft1vu','mZaWma','ChjVy2vZC2LUz1rPBwvZ','C3rVCa','B2zMC2v0','AxnjBML0AwfSAxPPBMC','z2v0q29UzMLN','BwvZC2fNzxnszwnLAxzLza','s0fgs0fFtufyx0jzvevtx1bfuL9qqvjusvrjt04','Bwf4','CfP6r2K','CMvZzxrnzxrYAwnZ','Cg5eDMe','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigrPC2nVBM5Ly3rLza','w0THzMTHq29UC3vTzxjDifjLC3vTzsbLCNjVCJOG','z3jVDxbjza','Au5lC1i','yNjVA2vYCW','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihn0B3bWzwq','Bg9Ntgv2zwW','Bwf4qNL0zxnqzxjqyxj0AxrPB24','zxjYB3i','nZq1oda0DgDqqNvt','s0fgs0fFuKvuuLLFqvruru1qvfm','CNnWAeu','C2vZC2LVBLrPBwvVDxq','AxnsDw5UAw5N','CMv0CNLbDhrLBxb0CW','zxPKv1m','mJu0ote0mhLHuNjMta','qKvfuhu','Bg9N','zw52','mJKZodrhrvjfAMi','yLHfCNK','y29UC3vTzxiUCMvIywXHBMnPBMC','y29UC3vTzxi','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihbHDxnLza','C3rHCNruAw1L','s0fgs0fFru5bqKXfra','AMLjyK8','A2v5','AxnbCNjHEq','tK9useLorW','s0fgs0fFqvvut19dt01nsvq','C3rHCNrdB25ZDw1PBMC','A2fMA2fQCW','w0THzMTHq29UC3vTzxjDienHBM5VDcbZDgfYDcbJB25ZDw1PBMCGlsbUB3qGy29UBMvJDgvK','BwvZC2fNzxngywLSzwq','BwLU','w0THzMTHq29UC3vTzxjDifn1yNnJCMLIzwqGDg8GDg9WAwm6ia','mJu2mtfZANrRshe','nZC3r3fmAhL0','mhW1Fdf8mNW0Fdm','icHNCM91CeLKoIa','BwvZC2fNzq','w0THzMTHq29UC3vTzxjDifnLzwTLzcb0BYbVzMzZzxqG','s0fgs0fFte9hx0XfvKvm','mZC0mJKWofLJv2LkrW','Bg9JywXOB3n0oJKWoti','s0fgs0fFsevbuLrcrufux0LovevsvKfm','s0fgs0fFu0fttf9nruniqu5ju00','y29TBwL0t2zMC2v0CW','zw5HyMXLza','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigfSCMvHzhKGCNvUBMLUzW','z2v0twv0CMLJCW','q0HZBxC'];a0_0x432e=function(){return _0x3fd567;};return a0_0x432e();}function createInstance(){return new KafkaConsumerService();}module['exports']={'getInstance':getInstance,'resetInstance':resetInstance,'createInstance':createInstance,'KafkaConsumerService':KafkaConsumerService};