@restforgejs/platform 5.2.13 → 5.2.16
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.
- package/bin/drift-check-linux +0 -0
- package/bin/sdf-tools-linux +0 -0
- package/bin/sdf-tools.exe +0 -0
- package/build-info.json +2 -2
- package/cli/consumer-deploy.js +1 -1
- package/cli/consumer.js +1 -1
- package/generators/cli/fast-track.js +4 -2
- package/generators/cli/project/auth.js +209 -0
- package/generators/lib/auth/component-generator.js +58 -0
- package/generators/lib/auth/dependency-checker.js +102 -0
- package/generators/lib/auth/env-injector.js +81 -0
- package/generators/lib/auth/migrate-runner.js +111 -0
- package/generators/lib/auth/prefix.js +22 -0
- package/generators/lib/auth/processor-generator.js +55 -0
- package/generators/lib/auth/sdf-generator.js +102 -0
- package/generators/lib/auth/template-renderer.js +29 -0
- package/generators/lib/auth/templates/processor/login.js.tmpl +152 -0
- package/generators/lib/auth/templates/processor/logout.js.tmpl +58 -0
- package/generators/lib/auth/templates/processor/me.js.tmpl +64 -0
- package/generators/lib/auth/templates/processor/refresh.js.tmpl +134 -0
- package/generators/lib/auth/templates/processor/register.js.tmpl +77 -0
- package/generators/lib/auth/templates/processor/reset-password.js.tmpl +106 -0
- package/generators/lib/auth/templates/rfx_auth-middleware.js.tmpl +79 -0
- package/generators/lib/auth/templates/rfx_auth.js.tmpl +104 -0
- package/generators/lib/dbschema-kit/schema-printer.js +10 -1
- package/generators/lib/templates/dashboard-catalog.js +1 -1
- package/generators/lib/templates/db-connection-env.js +1 -1
- package/generators/lib/templates/dbschema-catalog.js +1 -1
- package/generators/lib/templates/field-validation-catalog.js +1 -1
- package/generators/lib/templates/mysql-template.js +1 -1
- package/generators/lib/templates/oracle-template.js +1 -1
- package/generators/lib/templates/postgres-template.js +1 -1
- package/generators/lib/templates/query-declarative-catalog.js +1 -1
- package/generators/lib/templates/sqlite-template.js +1 -1
- package/integrity-manifest.json +18 -18
- package/package.json +1 -1
- package/scripts/verify-integrity.js +1 -1
- package/server.js +1 -1
- package/src/components/handlers/adjust_handler.js +1 -1
- package/src/components/handlers/audit_handler.js +1 -1
- package/src/components/handlers/delete_handler.js +1 -1
- package/src/components/handlers/export_handler.js +1 -1
- package/src/components/handlers/import_handler.js +1 -1
- package/src/components/handlers/insert_handler.js +1 -1
- package/src/components/handlers/update_handler.js +1 -1
- package/src/components/handlers/upload_handler.js +1 -1
- package/src/components/handlers/workflow_handler.js +1 -1
- package/src/components/integrations/webhook.js +1 -1
- package/src/consumers/baseConsumer.js +1 -1
- package/src/consumers/declarativeMapper.js +1 -1
- package/src/consumers/handlers/apiHandler.js +1 -1
- package/src/consumers/handlers/consoleHandler.js +1 -1
- package/src/consumers/handlers/databaseHandler.js +1 -1
- package/src/consumers/handlers/index.js +1 -1
- package/src/consumers/handlers/kafkaHandler.js +1 -1
- package/src/consumers/index.js +1 -1
- package/src/consumers/messageTransformer.js +1 -1
- package/src/consumers/validator.js +1 -1
- package/src/core/db/dialect/base-dialect.js +1 -1
- package/src/core/db/dialect/index.js +1 -1
- package/src/core/db/dialect/mysql-dialect.js +1 -1
- package/src/core/db/dialect/oracle-dialect.js +1 -1
- package/src/core/db/dialect/postgres-dialect.js +1 -1
- package/src/core/db/dialect/sqlite-dialect.js +1 -1
- package/src/core/db/flatten-helper.js +1 -1
- package/src/core/db/query-builder-error.js +1 -1
- package/src/core/db/query-builder.js +1 -1
- package/src/core/db/relation-helper.js +1 -1
- package/src/core/handlers/delete_handler.js +1 -1
- package/src/core/handlers/insert_handler.js +1 -1
- package/src/core/handlers/update_handler.js +1 -1
- package/src/core/models/base-model.js +1 -1
- package/src/core/utils/cache-manager.js +1 -1
- package/src/core/utils/component-engine.js +1 -1
- package/src/core/utils/context-builder.js +1 -1
- package/src/core/utils/datetime-formatter.js +1 -1
- package/src/core/utils/datetime-parser.js +1 -1
- package/src/core/utils/db.js +1 -1
- package/src/core/utils/logger.js +1 -1
- package/src/core/utils/payload-loader.js +1 -1
- package/src/core/utils/security-checks.js +1 -1
- package/src/middleware/body-options.js +1 -1
- package/src/middleware/cors.js +1 -1
- package/src/middleware/idempotency.js +1 -1
- package/src/middleware/rate-limiter.js +1 -1
- package/src/middleware/request-logger.js +1 -1
- package/src/middleware/security-headers.js +1 -1
- package/src/models/base-model-mysql.js +1 -1
- package/src/models/base-model-oracle.js +1 -1
- package/src/models/base-model-sqlite.js +1 -1
- package/src/models/base-model.js +1 -1
- package/src/pro/caching/redis-client.js +1 -1
- package/src/pro/caching/redis-helper.js +1 -1
- package/src/pro/consumers/baseConsumer.js +1 -1
- package/src/pro/consumers/declarativeMapper.js +1 -1
- package/src/pro/consumers/handlers/apiHandler.js +1 -1
- package/src/pro/consumers/handlers/consoleHandler.js +1 -1
- package/src/pro/consumers/handlers/databaseHandler.js +1 -1
- package/src/pro/consumers/handlers/index.js +1 -1
- package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
- package/src/pro/consumers/index.js +1 -1
- package/src/pro/consumers/messageTransformer.js +1 -1
- package/src/pro/consumers/validator.js +1 -1
- package/src/pro/database/base-model-mysql.js +1 -1
- package/src/pro/database/base-model-oracle.js +1 -1
- package/src/pro/database/base-model-sqlite.js +1 -1
- package/src/pro/database/db-mysql.js +1 -1
- package/src/pro/database/db-oracle.js +1 -1
- package/src/pro/database/db-sqlite.js +1 -1
- package/src/pro/excel/excel-generator.js +1 -1
- package/src/pro/excel/excel-parser.js +1 -1
- package/src/pro/excel/export-service.js +1 -1
- package/src/pro/excel/export_handler.js +1 -1
- package/src/pro/excel/import-service.js +1 -1
- package/src/pro/excel/import-validator.js +1 -1
- package/src/pro/excel/import_handler.js +1 -1
- package/src/pro/excel/upsert-builder.js +1 -1
- package/src/pro/idgen/idgen-routes.js +1 -1
- package/src/pro/integrations/lookup-resolver.js +1 -1
- package/src/pro/integrations/upload-handler-v2.js +1 -1
- package/src/pro/integrations/upload-handler.js +1 -1
- package/src/pro/integrations/webhook.js +1 -1
- package/src/pro/locking/lock-routes.js +1 -1
- package/src/pro/locking/resource-lock-manager.js +1 -1
- package/src/pro/messaging/kafkaConsumerService.js +1 -1
- package/src/pro/messaging/kafkaService.js +1 -1
- package/src/pro/messaging/messagehubService.js +1 -1
- package/src/pro/messaging/rabbitmqService.js +1 -1
- package/src/pro/scheduler/job-manager.js +1 -1
- package/src/pro/scheduler/job-routes.js +1 -1
- package/src/pro/scheduler/job-validator.js +1 -1
- package/src/pro/storage/base-storage-provider.js +1 -1
- package/src/pro/storage/file-metadata-helper.js +1 -1
- package/src/pro/storage/index.js +1 -1
- package/src/pro/storage/local-storage-provider.js +1 -1
- package/src/pro/storage/s3-storage-provider.js +1 -1
- package/src/pro/storage/upload-cleanup-job.js +1 -1
- package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
- package/src/pro/storage/upload-pending-tracker.js +1 -1
- package/src/pro/websocket/broadcast-helper.js +1 -1
- package/src/pro/websocket/index.js +1 -1
- package/src/pro/websocket/livesync-server.js +1 -1
- package/src/pro/websocket/ws-broadcaster.js +1 -1
- package/src/services/export-service.js +1 -1
- package/src/services/import-service.js +1 -1
- package/src/services/kafkaConsumerService.js +1 -1
- package/src/services/kafkaService.js +1 -1
- package/src/services/messagehubService.js +1 -1
- package/src/services/rabbitmqService.js +1 -1
- package/src/utils/cache-invalidation-registry.js +1 -1
- package/src/utils/cache-manager.js +1 -1
- package/src/utils/component-engine.js +1 -1
- package/src/utils/config-extractor.js +1 -1
- package/src/utils/consumerLogger.js +1 -1
- package/src/utils/context-builder.js +1 -1
- package/src/utils/dashboard-helpers.js +1 -1
- package/src/utils/dateHelper.js +1 -1
- package/src/utils/datetime-formatter.js +1 -1
- package/src/utils/datetime-parser.js +1 -1
- package/src/utils/db-bootstrap.js +1 -1
- package/src/utils/db-mysql.js +1 -1
- package/src/utils/db-oracle.js +1 -1
- package/src/utils/db-sqlite.js +1 -1
- package/src/utils/db.js +1 -1
- package/src/utils/demo-generator.js +1 -1
- package/src/utils/excel-generator.js +1 -1
- package/src/utils/excel-parser.js +1 -1
- package/src/utils/file-watcher.js +1 -1
- package/src/utils/id-generator.js +1 -1
- package/src/utils/idempotency-manager.js +1 -1
- package/src/utils/import-validator.js +1 -1
- package/src/utils/license-client.js +1 -1
- package/src/utils/lock-manager.js +1 -1
- package/src/utils/logger.js +1 -1
- package/src/utils/lookup-resolver.js +1 -1
- package/src/utils/payload-loader.js +1 -1
- package/src/utils/processor-response.js +1 -1
- package/src/utils/rabbitmq.js +1 -1
- package/src/utils/redis-client.js +1 -1
- package/src/utils/redis-helper.js +1 -1
- package/src/utils/request-scope.js +1 -1
- package/src/utils/security-checks.js +1 -1
- package/src/utils/service-resolver.js +1 -1
- package/src/utils/shutdown-coordinator.js +1 -1
- package/src/utils/soft-delete-dashboard-guard.js +1 -1
- package/src/utils/sql-table-extractor.js +1 -1
- package/src/utils/trusted-keys.js +1 -1
- package/src/utils/upload-handler.js +1 -1
- package/src/utils/upsert-builder.js +1 -1
- package/src/utils/workflow-hook-executor.js +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';const a0_0x52b64c=a0_0x3a91;(function(_0x4d7e80,_0x50ea7d){const _0xd2e88a=a0_0x3a91,_0x1cc772=_0x4d7e80();while(!![]){try{const _0x12bd5a=parseInt(_0xd2e88a(0x171))/0x1*(-parseInt(_0xd2e88a(0x183))/0x2)+-parseInt(_0xd2e88a(0x12a))/0x3*(parseInt(_0xd2e88a(0x162))/0x4)+parseInt(_0xd2e88a(0x152))/0x5+parseInt(_0xd2e88a(0x18f))/0x6+parseInt(_0xd2e88a(0x148))/0x7*(parseInt(_0xd2e88a(0x1aa))/0x8)+-parseInt(_0xd2e88a(0x184))/0x9*(parseInt(_0xd2e88a(0x158))/0xa)+parseInt(_0xd2e88a(0x199))/0xb*(parseInt(_0xd2e88a(0x13d))/0xc);if(_0x12bd5a===_0x50ea7d)break;else _0x1cc772['push'](_0x1cc772['shift']());}catch(_0x5516ca){_0x1cc772['push'](_0x1cc772['shift']());}}}(a0_0x25a1,0x3df0f));function a0_0x25a1(){const _0x5be011=['DhLWzq','tfzPuvy','ChvZAa','y2HHBM5LBhm','ywn0Aw9U','mtyXmZzKtNzUsxK','Aw5MBW','C3vIC2nYAwjLzenOyw5UzwXZ','ChvIBgLZAgvY','zgf0yv9JAgfUz2u','AMvbz0m','zxjYB3i','CMvXDwvZDeLK','u2vYDMvYihnODxr0Aw5NigrVD24','yKzuAhm','AxnbCNjHEq','z0X3Bg0','C3rHCNrZv2L0Aa','zw52','AxnbBgL2zq','nJG0owD2sM55sa','x3nLDhvWvxbNCMfKzuf1DgG','Ec1MB3j3yxjKzwqTzM9Y','C2L6zq','Ahr0CdOVlW','BgL2zxn5BMnFy2XPzw50x2nVBM5Ly3rLza','x3nLBMruB0nSAwvUDa','q2XPzw50ihn1yNnJCMLIzwqGDg86ia','C3rYAw5N','rMfPBgvKihrVihn1yNnJCMLIzsb0BYbszwrPCYbJAgfUBMvSoIa','mti3lJaUmc4X','uKvesvnFrei','uKvesvnFse9tva','tgL2zsbtEw5JihnLCNzLCIbPBML0AwfSAxPLzcbHDcaVD3mGkgHLyxj0yMvHDdOG','BgLZDgvUzxjZ','y29UBMvJDa','x2HHBMrSzvn1yNnJCMLIzq','y29UBMvJDgLVBG','BLrWBgW','mJq0mJbptgTsree','Aw5PDgLHBgL6zufZuhvIBgLZAgvY','s1veuK0','CxvPDa','x2HHBMrSzunVBM5Ly3rPB24','BgL2zxn5BMnFCMvKAxnFC3vIC2nYAwjLCL9MywLSzwq','ignSAwvUDcHZkq','zNvSBa','zw1PDa','rMfPBgvKihrVignVBM5Ly3qGuMvKAxmGChvIBgLZAgvYigzVCIbmAxzLifn5BMm','y2f0y2G','nZyZs3zhsxfr','zgvZDhjVEq','sfruuc8XlJeGndaXifvUyxv0Ag9YAxPLza0kdqO','z2HwthO','x2LUAxrPywXPEMvK','yxbPs2v5','z2v0q2XPzw50','x2HHBMrSzvvUC3vIC2nYAwjL','AgfZ','C01Ktgm','mtqXmdC1nuPtwLzrsG','DgvYBwLUyxrL','BgL2zxn5BMnFCMvKAxnFDw5HDMfPBgfIBgu','uMjzEwK','zejVEfq','x3DVCMTLCKLK','mZqYnduWzxbWuxHN','x3jLzgLZu3vIC2nYAwjLCG','BwvZC2fNzq','x2HHBMrSzunSAwvUDe1LC3nHz2u','zgf0yq','DxjS','x3nLDhvWuMvKAxm','C3bSAxq','y2XLyxi','CMvZDgzVCMDLoMXPDMvZEw5JoG','ntjHs3DKtfe','u09HAMu','DgHLBG','x2HLyxj0yMvHDfrPBwvY','sw52ywXPzcbku09oig1LC3nHz2u','z2v0','x2XVz2DLCG','wej3qNe','Dg9ju09tDhjPBMC','x3n0yxj0sgvHCNrIzwf0','ig9Uia','ihrVia','y2XVC2u','BgvUz3rO','Ag9ZDa','mZu1nZGZD0zMwvvu','BgL2zxn5BMnFD3nZx2vYCM9Y','lI4VlI4VDxrPBhmVCMvKAxmTy2XPzw50','z1zXEuC','Axz2A3y','BgL2zxn5BMnFC2H1DgrVD24','v2vIu29JA2v0ignSAwvUDcbLCNjVCJOG','C29JA2v0','x3jLBw92zunSAwvUDezYB21bBgXdAgfUBMvSCW','x3n1yNnJCMLWDgLVBNm','y2XPzw50CW','x29WDgLVBNm','z2juz0e','D09wz2G','CgfYC2u','zxHWB3j0CW','tgL2zsbtEw5JignSAwvUDcbKAxnJB25Uzwn0zwq6ia','CgLUzW','mKn6DevoDG','mte3Cg5rvgju','lI4VlI4VDxrPBhmVBg9Nz2vY','zgvIDwC','zKjrvxG','uKvesvnFueftu1DpuKq','zgvSzxrL','C3rYAw5NAwz5','Dg9tDhjPBMC','yNjVywrJyxn0','x3DZCW','AgvHzgvYCW','ndi5nde0u3Hprgnu','tgL2zsbtEw5JifjLzgLZihn1yNnJCMLIzxiGywn0AxzLigzVCIbJBhvZDgvYig1Vzgu','C3vIC2nYAwjL','C2vHCMnOugfYyw1Z','y1z6vNm','x3jLzgLZuhvIBgLZAgvY','quX5zxa','ywrK','Cgn2vvO','CMvHzhLtDgf0zq','mJC2muXVC1DitG','vvPuEeK','mxW0Fdb8nxWYFdz8mW','x3nLDhvWuMvKAxnqDwjSAxnOzxi','x21Vzgu','tgL2zsbtEw5Jihb1yMXPC2HLCIbPBML0AwfSAxPLzcaOuMvKAxmTB25SEsWGBM8Gv2vIu29JA2v0ihnLCNzLCIK','swf2DMy','AeHUAgu','Bg9Nz2vY','vfbHs2C','EeTcCei','Aw9YzwrPCW'];a0_0x25a1=function(){return _0x5be011;};return a0_0x25a1();}const {WebSocketServer}=require('ws'),{URL}=require(a0_0x52b64c(0x15d)),REDIS_CHANNEL_PREFIX=a0_0x52b64c(0x161);function a0_0x3a91(_0x546486,_0x19fda2){_0x546486=_0x546486-0x129;const _0x25a1c5=a0_0x25a1();let _0x3a91a9=_0x25a1c5[_0x546486];if(a0_0x3a91['YaUiMw']===undefined){var _0x5ca1f8=function(_0x879448){const _0x2dee06='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x46f30f='',_0x5bdf7e='';for(let _0x57a350=0x0,_0x2e50fd,_0x2036ce,_0x34a55e=0x0;_0x2036ce=_0x879448['charAt'](_0x34a55e++);~_0x2036ce&&(_0x2e50fd=_0x57a350%0x4?_0x2e50fd*0x40+_0x2036ce:_0x2036ce,_0x57a350++%0x4)?_0x46f30f+=String['fromCharCode'](0xff&_0x2e50fd>>(-0x2*_0x57a350&0x6)):0x0){_0x2036ce=_0x2dee06['indexOf'](_0x2036ce);}for(let _0xc9de81=0x0,_0x223e97=_0x46f30f['length'];_0xc9de81<_0x223e97;_0xc9de81++){_0x5bdf7e+='%'+('00'+_0x46f30f['charCodeAt'](_0xc9de81)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5bdf7e);};a0_0x3a91['Thzmjy']=_0x5ca1f8,a0_0x3a91['TlCzHl']={},a0_0x3a91['YaUiMw']=!![];}const _0x4fbf4a=_0x25a1c5[0x0],_0x1e7e2d=_0x546486+_0x4fbf4a,_0x155130=a0_0x3a91['TlCzHl'][_0x1e7e2d];return!_0x155130?(_0x3a91a9=a0_0x3a91['Thzmjy'](_0x3a91a9),a0_0x3a91['TlCzHl'][_0x1e7e2d]=_0x3a91a9):_0x3a91a9=_0x155130,_0x3a91a9;}class WebSocketBroadcaster{constructor(){const _0x37aac2=a0_0x52b64c;this[_0x37aac2(0x18d)]=null,this[_0x37aac2(0x14c)]=![],this[_0x37aac2(0x19d)]=null,this['_options']={},this[_0x37aac2(0x168)]=console,this['_subscriptions']=new Map(),this[_0x37aac2(0x165)]=null,this[_0x37aac2(0x194)]=null,this['_redisSubscriber']=null,this[_0x37aac2(0x157)]=process['pid'];}['initialize'](_0x462963,_0x110037={}){const _0x2ee10b=a0_0x52b64c,_0x2d85b1={'Iavvf':_0x2ee10b(0x172),'ZFTGD':function(_0x5a7af6,_0xca864f){return _0x5a7af6(_0xca864f);},'RqIsr':function(_0x10c270,_0x1dd012,_0x39a248){return _0x10c270(_0x1dd012,_0x39a248);},'xKBpB':'/ws','ERLAl':_0x2ee10b(0x13b),'gnyhq':'livesync_initialized','XBwBq':_0x2ee10b(0x144)};if(this['_initialized'])return;this['_options']=_0x110037,this[_0x2ee10b(0x19d)]=_0x2ee10b(0x144);try{this[_0x2ee10b(0x168)]=_0x2d85b1['ZFTGD'](require,'../../utils/logger')[_0x2ee10b(0x1a1)]||console;}catch(_0x53bba2){this['_logger']=console;}const _0x20d7f5=_0x2d85b1['RqIsr'](parseInt,process['env']['LIVE_SYNC_HEARTBEAT_INTERVAL'],0xa)||0x1e;this[_0x2ee10b(0x18d)]=new WebSocketServer({'server':_0x462963,'path':_0x2d85b1['xKBpB']}),this[_0x2ee10b(0x12b)](_0x462963),this[_0x2ee10b(0x18d)]['on'](_0x2d85b1['ERLAl'],(_0x280485,_0xe02acc)=>this[_0x2ee10b(0x141)](_0x280485,_0xe02acc)),this[_0x2ee10b(0x18d)]['on']('error',_0x2d76f3=>{const _0x5c6375=_0x2ee10b;this[_0x5c6375(0x168)][_0x5c6375(0x1b0)]({'event':_0x2d85b1[_0x5c6375(0x19f)],'error':_0x2d76f3['message']},'WebSocket\x20server\x20error:\x20'+_0x2d76f3['message']);}),this[_0x2ee10b(0x16b)](_0x20d7f5),this['_setupRedis'](),this['_initialized']=!![],this['_logger']['info']({'event':_0x2d85b1['gnyhq'],'mode':_0x2d85b1[_0x2ee10b(0x169)],'path':_0x2d85b1[_0x2ee10b(0x1a3)],'heartbeat':_0x20d7f5+'s'},_0x2ee10b(0x137)+_0x20d7f5+'s)');}[a0_0x52b64c(0x13e)](_0xb1f404={}){const _0x43111f=a0_0x52b64c,_0x4e85cb={'gbTgA':_0x43111f(0x19b),'YZjjz':'publisher','SaYnM':_0x43111f(0x185)},_0x11ef2c=_0x4e85cb[_0x43111f(0x17d)]['split']('|');let _0x9a9c75=0x0;while(!![]){switch(_0x11ef2c[_0x9a9c75++]){case'0':this['_mode']=_0x4e85cb['YZjjz'];continue;case'1':if(this[_0x43111f(0x14c)])return;continue;case'2':this['_setupRedisPublisher']();continue;case'3':this['_logger']['info']({'event':'livesync_publisher_initialized','mode':_0x43111f(0x1ad)},_0x43111f(0x19e));continue;case'4':this['_options']=_0xb1f404;continue;case'5':try{this['_logger']=require(_0x4e85cb['SaYnM'])[_0x43111f(0x1a1)]||console;}catch(_0x4e5552){this['_logger']=console;}continue;case'6':this[_0x43111f(0x14c)]=!![];continue;}break;}}['isInitialized'](){return this['_initialized'];}['broadcast'](_0xa9de0a,_0x249cfb){const _0x54607c=a0_0x52b64c,_0x40b2b8={'cVzVs':'publisher','TPaKg':function(_0x208f5d,_0x29a2c9){return _0x208f5d===_0x29a2c9;},'NDfZc':function(_0x134f3a,_0xf21ee){return _0x134f3a||_0xf21ee;}};if(!this[_0x54607c(0x14c)])return;if(this['_mode']===_0x40b2b8[_0x54607c(0x193)]){this['_publishToRedis'](_0xa9de0a,_0x249cfb);return;}const _0x1dcd97=JSON[_0x54607c(0x18a)]({'type':'data_change','channel':_0xa9de0a,'action':_0x249cfb['action'],'data':_0x249cfb[_0x54607c(0x15c)],'requestId':_0x249cfb[_0x54607c(0x1b1)]||null,'timestamp':new Date()[_0x54607c(0x16a)]()}),[_0x2ec684]=_0xa9de0a[_0x54607c(0x15f)](':');let _0x4105fc=0x0;for(const [_0x9e8251,_0x24a97d]of this['_subscriptions']){const _0x4aedee=_0x40b2b8[_0x54607c(0x1a2)](_0x9e8251,_0xa9de0a),_0x2c5e2e=_0x9e8251===_0x2ec684+':*';if(_0x40b2b8['NDfZc'](_0x4aedee,_0x2c5e2e))for(const _0x45571f of _0x24a97d){if(_0x45571f['readyState']===0x1)try{_0x45571f['send'](_0x1dcd97),_0x4105fc++;}catch(_0x1d0ca8){}}}_0x4105fc>0x0&&this['_logger'][_0x54607c(0x186)]({'event':'livesync_broadcast','channel':_0xa9de0a,'action':_0x249cfb[_0x54607c(0x1a9)],'clients':_0x4105fc},'Broadcast\x20'+_0x249cfb[_0x54607c(0x1a9)]+_0x54607c(0x16c)+_0xa9de0a+_0x54607c(0x16d)+_0x4105fc+_0x54607c(0x143));}['_publishToRedis'](_0x483625,_0x3e376f){const _0x5615b1=a0_0x52b64c;if(!this[_0x5615b1(0x194)])return;const _0x4dbabf=JSON['stringify']({'channel':_0x483625,'message':_0x3e376f,'workerId':this['_workerId']});this[_0x5615b1(0x194)]['publish'](REDIS_CHANNEL_PREFIX+'broadcast',_0x4dbabf)['catch'](()=>{});}['shutdown'](){const _0x2bdd03=a0_0x52b64c,_0x1350ed={'lAlYT':_0x2bdd03(0x1b2)};if(!this['_initialized'])return;this['_heartbeatTimer']&&(clearInterval(this[_0x2bdd03(0x165)]),this[_0x2bdd03(0x165)]=null);if(this[_0x2bdd03(0x18d)]){for(const _0x156ec0 of this['_wss']['clients']){try{_0x156ec0[_0x2bdd03(0x16e)](0x3e9,_0x1350ed['lAlYT']);}catch(_0x6c25c){}}this[_0x2bdd03(0x18d)][_0x2bdd03(0x16e)]();}if(this['_redisSubscriber'])try{this['_redisSubscriber']['unsubscribe'](),this[_0x2bdd03(0x159)]['quit']();}catch(_0x590ac0){}if(this['_ownPublisher']&&this['_redisPublisher'])try{this[_0x2bdd03(0x194)][_0x2bdd03(0x140)]();}catch(_0x4498cb){}this['_subscriptions'][_0x2bdd03(0x160)](),this['_initialized']=![],this['_logger']['info']({'event':_0x2bdd03(0x176),'mode':this['_mode']},'Live\x20Sync\x20'+this['_mode']+'\x20shut\x20down');}['_setupUpgradeAuth'](_0x14e2a2){const _0x12cb68=a0_0x52b64c,_0x7951f2={'SZMeE':'/ws','JwCAJ':'localhost','gLwlm':'x-api-key','nQPOs':function(_0x2c67db,_0x260e17){return _0x2c67db!==_0x260e17;},'GaIOP':_0x12cb68(0x14a),'NchjK':'upgrade'},_0x3697fe=_0x14e2a2[_0x12cb68(0x138)](_0x7951f2['NchjK'])['slice']();_0x14e2a2['removeAllListeners']('upgrade'),_0x14e2a2['on']('upgrade',(_0x5446b7,_0x3f703d,_0x12832e)=>{const _0x43d25c=_0x12cb68;if(!_0x5446b7[_0x43d25c(0x15d)]||!_0x5446b7['url'][_0x43d25c(0x1b6)](_0x7951f2['SZMeE'])){for(const _0x5b0987 of _0x3697fe){_0x5b0987['call'](_0x14e2a2,_0x5446b7,_0x3f703d,_0x12832e);}return;}if(this[_0x43d25c(0x17c)]['apiKey']){const _0x782548=new URL(_0x5446b7[_0x43d25c(0x15d)],_0x43d25c(0x12e)+(_0x5446b7[_0x43d25c(0x18e)][_0x43d25c(0x170)]||_0x7951f2['JwCAJ'])),_0x2757c8=_0x782548[_0x43d25c(0x192)]['get'](_0x7951f2[_0x43d25c(0x1b5)])||_0x5446b7['headers']['x-api-key'];if(!_0x2757c8||_0x7951f2['nQPOs'](_0x2757c8,this[_0x43d25c(0x17c)][_0x43d25c(0x14d)])){_0x3f703d['write'](_0x7951f2['GaIOP']),_0x3f703d[_0x43d25c(0x149)]();return;}}this['_wss']['handleUpgrade'](_0x5446b7,_0x3f703d,_0x12832e,_0x4f26c4=>{const _0xf87218=_0x43d25c;this[_0xf87218(0x18d)][_0xf87218(0x145)]('connection',_0x4f26c4,_0x5446b7);});});}['_handleConnection'](_0x588d9a,_0x2f4b16){const _0x1bfafd=a0_0x52b64c,_0x48c444={'fBQUx':_0x1bfafd(0x1b0),'LViQV':_0x1bfafd(0x166),'FCenS':'livesync_client_disconnected','ayenn':'livesync_client_error','sMdLc':'message'};_0x588d9a['isAlive']=!![],_0x588d9a['subscribedChannels']=new Set();const _0x93577f=_0x2f4b16[_0x1bfafd(0x18e)][_0x1bfafd(0x12c)]||_0x2f4b16[_0x1bfafd(0x178)]['remoteAddress'];this[_0x1bfafd(0x168)][_0x1bfafd(0x1ab)]({'event':_0x1bfafd(0x12f),'ip':_0x93577f},'Live\x20Sync\x20client\x20connected\x20from\x20'+_0x93577f),_0x588d9a['on']('pong',()=>{const _0x516783=_0x1bfafd;_0x588d9a[_0x516783(0x129)]=!![];}),_0x588d9a['on'](_0x48c444[_0x1bfafd(0x151)],_0x2ae0e2=>{const _0x37fba4=_0x1bfafd;try{const _0x53b517=JSON['parse'](_0x2ae0e2[_0x37fba4(0x18b)]());this[_0x37fba4(0x15b)](_0x588d9a,_0x53b517);}catch(_0x557544){this[_0x37fba4(0x130)](_0x588d9a,{'type':_0x48c444['fBQUx'],'message':_0x48c444[_0x37fba4(0x1a6)]});}}),_0x588d9a['on']('close',()=>{const _0x25904d=_0x1bfafd;this[_0x25904d(0x179)](_0x588d9a),this[_0x25904d(0x168)][_0x25904d(0x186)]({'event':_0x48c444['FCenS'],'ip':_0x93577f},_0x25904d(0x181)+_0x93577f);}),_0x588d9a['on'](_0x48c444[_0x1bfafd(0x187)],_0x2d6be5=>{const _0x4ee22d=_0x1bfafd;this[_0x4ee22d(0x168)]['warn']({'event':_0x48c444['ayenn'],'error':_0x2d6be5[_0x4ee22d(0x15a)]},_0x4ee22d(0x177)+_0x2d6be5['message']),this['_removeClientFromAllChannels'](_0x588d9a);});}['_handleClientMessage'](_0x4361eb,_0x42c2b8){const _0x50ff58=a0_0x52b64c,_0xef6614={'dBoxT':'unsubscribe','ivvkv':'pong','CVhJw':'error'};switch(_0x42c2b8[_0x50ff58(0x1a5)]){case _0x50ff58(0x191):this[_0x50ff58(0x13a)](_0x4361eb,_0x42c2b8[_0x50ff58(0x1a8)]);break;case _0xef6614[_0x50ff58(0x156)]:this[_0x50ff58(0x14f)](_0x4361eb,_0x42c2b8[_0x50ff58(0x1a8)]);break;case _0xef6614[_0x50ff58(0x175)]:_0x4361eb['isAlive']=!![];break;default:this['_sendToClient'](_0x4361eb,{'type':_0xef6614['CVhJw'],'message':'Unknown\x20message\x20type:\x20'+_0x42c2b8['type']});}}['_handleSubscribe'](_0x315f23,_0x59d1f5){const _0x338474=a0_0x52b64c,_0x5d26aa={'SOaje':'error','fybOe':'channels\x20must\x20be\x20a\x20non-empty\x20array','ZlgAf':function(_0xf6e4cd,_0x1264a7){return _0xf6e4cd!==_0x1264a7;},'hHnhe':_0x338474(0x132),'JLsKM':function(_0x2f3da6,_0x1b6a00){return _0x2f3da6>_0x1b6a00;},'LdQBm':'subscribed','kiSno':'livesync_subscribe'};if(!Array[_0x338474(0x1b4)](_0x59d1f5)||_0x59d1f5[_0x338474(0x16f)]===0x0){this[_0x338474(0x130)](_0x315f23,{'type':_0x5d26aa[_0x338474(0x163)],'message':_0x5d26aa['fybOe']});return;}const _0x502af5=[];for(const _0x4b64ea of _0x59d1f5){if(_0x5d26aa['ZlgAf'](typeof _0x4b64ea,_0x5d26aa[_0x338474(0x1a0)])||!_0x4b64ea['includes'](':'))continue;!this[_0x338474(0x17a)][_0x338474(0x150)](_0x4b64ea)&&this[_0x338474(0x17a)]['set'](_0x4b64ea,new Set()),this[_0x338474(0x17a)]['get'](_0x4b64ea)['add'](_0x315f23),_0x315f23[_0x338474(0x1ac)][_0x338474(0x196)](_0x4b64ea),_0x502af5['push'](_0x4b64ea);}_0x5d26aa['JLsKM'](_0x502af5[_0x338474(0x16f)],0x0)&&(this[_0x338474(0x130)](_0x315f23,{'type':_0x5d26aa['LdQBm'],'channels':_0x502af5,'timestamp':new Date()[_0x338474(0x16a)]()}),this['_logger'][_0x338474(0x186)]({'event':_0x5d26aa['kiSno'],'channels':_0x502af5},_0x338474(0x131)+_0x502af5['join'](',\x20')));}['_handleUnsubscribe'](_0x338f2c,_0x5976a9){const _0x2a4b06=a0_0x52b64c;if(!Array[_0x2a4b06(0x1b4)](_0x5976a9))return;const _0x155d0b=[];for(const _0x2dbccb of _0x5976a9){this[_0x2a4b06(0x17a)]['has'](_0x2dbccb)&&(this['_subscriptions'][_0x2a4b06(0x167)](_0x2dbccb)[_0x2a4b06(0x189)](_0x338f2c),this[_0x2a4b06(0x17a)]['get'](_0x2dbccb)['size']===0x0&&this[_0x2a4b06(0x17a)][_0x2a4b06(0x189)](_0x2dbccb)),_0x338f2c[_0x2a4b06(0x1ac)][_0x2a4b06(0x189)](_0x2dbccb),_0x155d0b[_0x2a4b06(0x1a7)](_0x2dbccb);}_0x155d0b[_0x2a4b06(0x16f)]>0x0&&this['_sendToClient'](_0x338f2c,{'type':'unsubscribed','channels':_0x155d0b,'timestamp':new Date()[_0x2a4b06(0x16a)]()});}[a0_0x52b64c(0x179)](_0x428cb8){const _0x14612d=a0_0x52b64c,_0x4bd481={'wOVgh':function(_0x4d893e,_0x4027a1){return _0x4d893e===_0x4027a1;}};if(!_0x428cb8['subscribedChannels'])return;for(const _0x5c35a2 of _0x428cb8['subscribedChannels']){this['_subscriptions'][_0x14612d(0x150)](_0x5c35a2)&&(this[_0x14612d(0x17a)]['get'](_0x5c35a2)['delete'](_0x428cb8),_0x4bd481[_0x14612d(0x17e)](this[_0x14612d(0x17a)]['get'](_0x5c35a2)[_0x14612d(0x12d)],0x0)&&this['_subscriptions']['delete'](_0x5c35a2));}_0x428cb8[_0x14612d(0x1ac)]['clear']();}[a0_0x52b64c(0x130)](_0x4d4ecd,_0x1dd5d6){const _0x68e2={'xNmuR':function(_0x156ac9,_0x3421fe){return _0x156ac9===_0x3421fe;}};if(_0x68e2['xNmuR'](_0x4d4ecd['readyState'],0x1))try{_0x4d4ecd['send'](JSON['stringify'](_0x1dd5d6));}catch(_0x5ed2d0){}}['_startHeartbeat'](_0x4fc822){const _0x4ff437=a0_0x52b64c,_0x2c2199={'RbYyi':function(_0x3642f8,_0x7535ed,_0x5e107e){return _0x3642f8(_0x7535ed,_0x5e107e);},'IVbGh':function(_0x510488,_0x5f2438){return _0x510488*_0x5f2438;}};this['_heartbeatTimer']=_0x2c2199[_0x4ff437(0x155)](setInterval,()=>{const _0x1d6791=_0x4ff437;if(!this['_wss'])return;for(const _0x2fdb75 of this[_0x1d6791(0x18d)][_0x1d6791(0x17b)]){if(!_0x2fdb75['isAlive']){this['_removeClientFromAllChannels'](_0x2fdb75),_0x2fdb75[_0x1d6791(0x153)]();continue;}_0x2fdb75['isAlive']=![],this['_sendToClient'](_0x2fdb75,{'type':_0x1d6791(0x182),'timestamp':new Date()[_0x1d6791(0x16a)]()});try{_0x2fdb75['ping']();}catch(_0x52f6f1){}}},_0x2c2199['IVbGh'](_0x4fc822,0x3e8));}[a0_0x52b64c(0x19c)](){const _0x368180=a0_0x52b64c,_0x2e29a2={'wPDkU':function(_0x10f068,_0x8deb16){return _0x10f068(_0x8deb16);},'LSgCr':_0x368180(0x173),'meKdj':function(_0x296273,_0x3dc9d9){return _0x296273(_0x3dc9d9);},'srSXs':_0x368180(0x134),'qYZvc':function(_0x103cba,_0x3121a6,_0xd2de1d){return _0x103cba(_0x3121a6,_0xd2de1d);},'UZTxI':_0x368180(0x154)};this['_ownPublisher']=![];try{try{const _0x83bb04=_0x2e29a2['wPDkU'](require,_0x2e29a2['LSgCr']);this['_redisPublisher']=_0x83bb04[_0x368180(0x14e)]?_0x83bb04['getClient']():null;}catch(_0x3be351){this['_redisPublisher']=null;}if(!this['_redisPublisher']){const _0x290f1b=_0x2e29a2['meKdj'](require,_0x368180(0x1a4)),_0x84eeaf={'host':process['env'][_0x368180(0x136)]||_0x2e29a2['srSXs'],'port':_0x2e29a2['qYZvc'](parseInt,process[_0x368180(0x1b7)]['REDIS_PORT'],0xa)||0x18eb,'password':process[_0x368180(0x1b7)]['REDIS_PASSWORD']||undefined,'db':parseInt(process[_0x368180(0x1b7)][_0x368180(0x135)],0xa)||0x0,'lazyConnect':!![]};this['_redisPublisher']=new _0x290f1b(_0x84eeaf),this['_ownPublisher']=!![],this[_0x368180(0x194)][_0x368180(0x139)]()[_0x368180(0x147)](()=>{this['_logger']['warn']({'event':'livesync_redis_publisher_failed'},'Failed\x20to\x20connect\x20Redis\x20publisher\x20for\x20Live\x20Sync'),this['_redisPublisher']=null;});}}catch(_0x7fc08e){this['_logger']['warn']({'event':_0x2e29a2[_0x368180(0x19a)],'error':_0x7fc08e[_0x368180(0x15a)]},'Redis\x20not\x20available\x20for\x20Live\x20Sync\x20publisher:\x20'+_0x7fc08e[_0x368180(0x15a)]);}}[a0_0x52b64c(0x15e)](){const _0xd6bb3c=a0_0x52b64c,_0x204069={'bFThs':_0xd6bb3c(0x146),'FEbql':'livesync_redis_subscribe_error','xczHN':'Failed\x20to\x20connect\x20Redis\x20subscriber\x20for\x20Live\x20Sync\x20cluster\x20mode','fwxvz':function(_0x349d29,_0x17767e){return _0x349d29(_0x17767e);},'nTpll':'ioredis'};this['_ownPublisher']=![];try{const _0x4f2793=_0x204069['fwxvz'](require,_0x204069[_0xd6bb3c(0x13c)]),_0x18eba7={'host':process['env']['REDIS_HOST']||'127.0.0.1','port':parseInt(process[_0xd6bb3c(0x1b7)]['REDIS_PORT'],0xa)||0x18eb,'password':process['env'][_0xd6bb3c(0x188)]||undefined,'db':parseInt(process['env'][_0xd6bb3c(0x135)],0xa)||0x0,'lazyConnect':!![]};try{const _0x3f7329=require(_0xd6bb3c(0x173));this['_redisPublisher']=_0x3f7329[_0xd6bb3c(0x14e)]?_0x3f7329['getClient']():null;}catch(_0x37f3fe){this['_redisPublisher']=null;}!this[_0xd6bb3c(0x194)]&&(this[_0xd6bb3c(0x194)]=new _0x4f2793(_0x18eba7),this['_ownPublisher']=!![],this['_redisPublisher'][_0xd6bb3c(0x139)]()[_0xd6bb3c(0x147)](()=>{const _0x4b0feb=_0xd6bb3c;this[_0x4b0feb(0x168)]['warn']({'event':'livesync_redis_publisher_failed'},_0x204069[_0x4b0feb(0x1b3)]),this['_redisPublisher']=null;})),this[_0xd6bb3c(0x159)]=new _0x4f2793(_0x18eba7),this['_redisSubscriber'][_0xd6bb3c(0x139)]()[_0xd6bb3c(0x164)](()=>{const _0x1b28f0=_0xd6bb3c,_0x26c2a1={'jeAgC':_0x204069['FEbql'],'ALyep':_0x1b28f0(0x190),'gVqyG':function(_0x226a28,_0x43e925){return _0x226a28===_0x43e925;}};this['_redisSubscriber'][_0x1b28f0(0x191)](REDIS_CHANNEL_PREFIX+_0x1b28f0(0x18c),_0x1b2bb1=>{const _0x503ef9=_0x1b28f0;if(_0x1b2bb1){this[_0x503ef9(0x168)][_0x503ef9(0x1b0)]({'event':_0x26c2a1[_0x503ef9(0x1af)],'error':_0x1b2bb1[_0x503ef9(0x15a)]},_0x503ef9(0x133)+_0x1b2bb1[_0x503ef9(0x15a)]);return;}this[_0x503ef9(0x168)][_0x503ef9(0x1ab)]({'event':'livesync_redis_subscribed'},_0x26c2a1[_0x503ef9(0x195)]);}),this[_0x1b28f0(0x159)]['on']('message',(_0x573245,_0x1e1734)=>{const _0x506635=_0x1b28f0;try{const _0x1c1fdd=JSON[_0x506635(0x17f)](_0x1e1734);if(_0x26c2a1[_0x506635(0x174)](_0x1c1fdd['workerId'],this[_0x506635(0x157)]))return;this['_broadcastLocal'](_0x1c1fdd['channel'],_0x1c1fdd['message']);}catch(_0x581de1){}});})['catch'](()=>{const _0x4c7a0=_0xd6bb3c;this['_logger']['warn']({'event':_0x4c7a0(0x142)},_0x204069['xczHN']),this['_redisSubscriber']=null;});}catch(_0xa45fbb){this['_logger']['warn']({'event':_0xd6bb3c(0x154),'error':_0xa45fbb['message']},'Redis\x20not\x20available\x20for\x20Live\x20Sync\x20cluster\x20mode:\x20'+_0xa45fbb['message']);}}['_broadcastLocal'](_0x5f15fa,_0x200e06){const _0xec47fc=a0_0x52b64c,_0x29d4e5={'ghVLz':function(_0x34c34f,_0x369190){return _0x34c34f===_0x369190;},'KUDRM':function(_0x2e820b,_0x5e6802){return _0x2e820b===_0x5e6802;},'pcvUZ':function(_0x144a5d,_0x1c41ae){return _0x144a5d===_0x1c41ae;}};if(!this['_wss'])return;const _0x423337=JSON['stringify']({'type':_0xec47fc(0x1ae),'channel':_0x5f15fa,'action':_0x200e06[_0xec47fc(0x1a9)],'data':_0x200e06[_0xec47fc(0x15c)],'requestId':_0x200e06[_0xec47fc(0x1b1)]||null,'timestamp':new Date()['toISOString']()}),[_0x5d65d4]=_0x5f15fa['split'](':');for(const [_0x5721bf,_0x24da5e]of this['_subscriptions']){const _0x2ae333=_0x29d4e5[_0xec47fc(0x14b)](_0x5721bf,_0x5f15fa),_0x3d3a1a=_0x29d4e5[_0xec47fc(0x13f)](_0x5721bf,_0x5d65d4+':*');if(_0x2ae333||_0x3d3a1a)for(const _0x211ca6 of _0x24da5e){if(_0x29d4e5[_0xec47fc(0x197)](_0x211ca6[_0xec47fc(0x198)],0x1))try{_0x211ca6['send'](_0x423337);}catch(_0x421a87){}}}}}module[a0_0x52b64c(0x180)]=WebSocketBroadcaster;
|
|
1
|
+
'use strict';const a0_0xf1034a=a0_0x113e;(function(_0x121f29,_0x8556cf){const _0x5911bb=a0_0x113e,_0x4683d6=_0x121f29();while(!![]){try{const _0x1835a5=-parseInt(_0x5911bb(0x1a2))/0x1+parseInt(_0x5911bb(0x1ad))/0x2*(parseInt(_0x5911bb(0x1c6))/0x3)+parseInt(_0x5911bb(0x1b3))/0x4*(-parseInt(_0x5911bb(0x1ef))/0x5)+parseInt(_0x5911bb(0x1ba))/0x6*(-parseInt(_0x5911bb(0x1d2))/0x7)+-parseInt(_0x5911bb(0x17d))/0x8+-parseInt(_0x5911bb(0x186))/0x9*(parseInt(_0x5911bb(0x19e))/0xa)+-parseInt(_0x5911bb(0x18d))/0xb*(-parseInt(_0x5911bb(0x176))/0xc);if(_0x1835a5===_0x8556cf)break;else _0x4683d6['push'](_0x4683d6['shift']());}catch(_0x564a5e){_0x4683d6['push'](_0x4683d6['shift']());}}}(a0_0x12c8,0x92b23));function a0_0x12c8(){const _0x515631=['x3DVCMTLCKLK','C2v0','Aw9YzwrPCW','z2v0q2XPzw50','mtaXn2Pmwfb6yq','ywfxyKG','sfruuc8XlJeGndaXifvUyxv0Ag9YAxPLza0kdqO','zxjYB3i','BvDNBu4','BgL2zxn5BMnFCMvKAxnFDw5HDMfPBgfIBgu','BKzxEfO','nZDHyufzu3q','rMfPBgvKihrVignVBM5Ly3qGuMvKAxmGC3vIC2nYAwjLCIbMB3iGtgL2zsbtEw5JignSDxn0zxiGBw9Kzq','uKvesvnFrei','rMfPBgvKihrVihn1yNnJCMLIzsb0BYbszwrPCYbJAgfUBMvSoIa','v2PXqw0','ChvIBgLZAa','tgL2zsbtEw5JignSAwvUDcbJB25Uzwn0zwqGzNjVBsa','Aw5JBhvKzxm','BgL2zxn5BMnFCMvKAxnFChvIBgLZAgvYx2zHAwXLza','uKvesvnFueftu1DpuKq','C3rYAw5NAwz5','sw52ywXPzcbku09oig1LC3nHz2u','AgvHzgvYCW','zw52','C29JA2v0','v2vIu29JA2v0ihnLCNzLCIbLCNjVCJOG','y2HHBM5LBa','ntK2otbRsgnHq2C','ignSAwvUDcHZkq','C3vIC2nYAwjL','Bg9Nz2vY','mtiWmty0ogXTvhncqW','AgfZ','uKvesvnFse9tva','CMvTB3rLqwrKCMvZCW','x2HLyxj0yMvHDfrPBwvY','uMvKAxmGBM90igf2ywLSywjSzsbMB3iGtgL2zsbtEw5Jihb1yMXPC2HLCJOG','C3bSAxq','y3bgExC','ig9Uia','zgvZDhjVEq','BgLZDgvUzxjZ','nJe4mdjeze5XrLi','z2v0','x3DZCW','DxbNCMfKzq','BgL2zxn5BMnFD3nZx2vYCM9Y','C2vHCMnOugfYyw1Z','nteYotjNsNfzwxG','DwLeBuC','x3jLzgLZu3vIC2nYAwjLCG','Dg9ju09tDhjPBMC','DMfWyum','BgL2zxn5BMnFy2XPzw50x2vYCM9Y','tgL2zsbtEw5Jia','nKXutMDqsq','CMvHzhLtDgf0zq','yNjVywrJyxn0','BgvUz3rO','y2f0y2G','C3vIC2nYAwjLzenOyw5UzwXZ','DhvTrhu','CgLUzW','ywroB1e','AxnbCNjHEq','Dg9tDhjPBMC','x3jLBw92zunSAwvUDezYB21bBgXdAgfUBMvSCW','ndv6sMrtu1i','y2XVC2u','y2HHBM5LBhm','x2LUAxrPywXPEMvK','zNvSBa','zgHuyve','y29UBMvJDa','tfrqAfK','x3nLDhvWuMvKAxnqDwjSAxnOzxi','zgvIDwC','ihnODxqGzg93BG','x29WDgLVBNm','ode4mdm5nLnfy2jQDW','q3rJEeu','CMvTB3zLqwXStgLZDgvUzxjZ','ueDPvvi','x3nLDhvWuMvKAxm','z1bMEhe','q1j3yLa','Aw5MBW','BgXnD00','BgL2zxn5BMnFy2XPzw50x2rPC2nVBM5Ly3rLza','DgHLBG','yNvlBxG','CxvPDa','BwvZC2fNzq','DgvYBwLUyxrL','mti3lJaUmc4X','x2HHBMrSzunVBM5Ly3rPB24','Ag9ZDa','CMvXDwvZDeLK','x3n1yNnJCMLWDgLVBNm','CMvZDgzVCMDLoMXPDMvZEw5JoG','x293BLb1yMXPC2HLCG','x3n0yxj0sgvHCNrIzwf0','BgL2zxn5BMnFAw5PDgLHBgL6zwq','uKvesvnFue9sva','AxnjBML0AwfSAxPLza','D3jPDgu','ywn0Aw9U','rhz1Beu','ndi1AvPpAeTK','CwDWC2q','teLwrv9twu5dx0HfqvjuqKvbvf9jtLrfuLzbta','C3rYAw5N','q2XPzw50ihn1yNnJCMLIzwqGDg86ia','BLP4BNK','BgL2zxn5BMnFChvIBgLZAgvYx2LUAxrPywXPEMvK','x3jLzgLZuhvIBgLZAgvY','m3W0Fdz8mNWXFdb8nq','DhLWzq','AxnbBgL2zq','whrwCLG','B0X0DMq','v2vIu29JA2v0ignSAwvUDcbLCNjVCJOG','DxjS','x2XVz2DLCG','x3nLBMruB0nSAwvUDa','zgf0yq','ChvIBgLZAgvY','n3WXFdH8m3W0Fdj8oxW1Fdb8nG','DgHoyMu','D2fYBG','qNjVywrJyxn0ia','zgvSzxrL','odu2ota5mMz0AxLZqq','y2XPzw50CW','uMvKAxmGBM90igf2ywLSywjSzsbMB3iGtgL2zsbtEw5JignSDxn0zxiGBw9KztOG','BMP1qK4','wxzbC1q','zgf0yv9JAgfUz2u','ChvZAa','ntGXmJq1nMXQwxnQrW','AM9PBG','y2HHBM5LBhmGBxvZDcbIzsbHig5VBI1LBxb0EsbHCNjHEq','x3nLDhvWvxbNCMfKzuf1DgG','x21Vzgu'];a0_0x12c8=function(){return _0x515631;};return a0_0x12c8();}function a0_0x113e(_0x389c0d,_0x23d3ba){_0x389c0d=_0x389c0d-0x16f;const _0x12c8cc=a0_0x12c8();let _0x113ea4=_0x12c8cc[_0x389c0d];if(a0_0x113e['NklGEo']===undefined){var _0x2162b3=function(_0x260ed5){const _0x5f227f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2ae12a='',_0x3f6d76='';for(let _0x15e9a5=0x0,_0x3dafdc,_0x524784,_0x836c15=0x0;_0x524784=_0x260ed5['charAt'](_0x836c15++);~_0x524784&&(_0x3dafdc=_0x15e9a5%0x4?_0x3dafdc*0x40+_0x524784:_0x524784,_0x15e9a5++%0x4)?_0x2ae12a+=String['fromCharCode'](0xff&_0x3dafdc>>(-0x2*_0x15e9a5&0x6)):0x0){_0x524784=_0x5f227f['indexOf'](_0x524784);}for(let _0x5422a9=0x0,_0x5883c4=_0x2ae12a['length'];_0x5422a9<_0x5883c4;_0x5422a9++){_0x3f6d76+='%'+('00'+_0x2ae12a['charCodeAt'](_0x5422a9)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3f6d76);};a0_0x113e['BXuyqn']=_0x2162b3,a0_0x113e['AuAWKq']={},a0_0x113e['NklGEo']=!![];}const _0x537902=_0x12c8cc[0x0],_0x27686d=_0x389c0d+_0x537902,_0x4e9a5e=a0_0x113e['AuAWKq'][_0x27686d];return!_0x4e9a5e?(_0x113ea4=a0_0x113e['BXuyqn'](_0x113ea4),a0_0x113e['AuAWKq'][_0x27686d]=_0x113ea4):_0x113ea4=_0x4e9a5e,_0x113ea4;}const {WebSocketServer}=require('ws'),{URL}=require('url'),REDIS_CHANNEL_PREFIX=a0_0xf1034a(0x1e6);class WebSocketBroadcaster{constructor(){const _0x3c32f3=a0_0xf1034a,_0x4bced2=_0x3c32f3(0x171)[_0x3c32f3(0x1a8)]('|');let _0x34160d=0x0;while(!![]){switch(_0x4bced2[_0x34160d++]){case'0':this[_0x3c32f3(0x1b5)]=null;continue;case'1':this['_initialized']=![];continue;case'2':this[_0x3c32f3(0x1e5)]=new Map();continue;case'3':this['_options']={};continue;case'4':this[_0x3c32f3(0x1fe)]=console;continue;case'5':this['_redisPublisher']=null;continue;case'6':this[_0x3c32f3(0x182)]=process['pid'];continue;case'7':this['_wss']=null;continue;case'8':this[_0x3c32f3(0x181)]=null;continue;case'9':this['_heartbeatTimer']=null;continue;}break;}}['initialize'](_0x349bbe,_0xb12fe5={}){const _0x46e67f=a0_0xf1034a,_0x2c55c5={'njuBN':_0x46e67f(0x1b1),'nxWDy':function(_0x39c542,_0x46a2ea,_0x2effb7){return _0x39c542(_0x46a2ea,_0x2effb7);},'vapaC':'/ws','vFryX':'connection','WjqAm':'error','gVfQy':_0x46e67f(0x1e9),'oLtvd':'full'};if(this['_initialized'])return;this[_0x46e67f(0x1d1)]=_0xb12fe5,this[_0x46e67f(0x181)]=_0x46e67f(0x1ca);try{this['_logger']=require('../../utils/logger')[_0x46e67f(0x1a1)]||console;}catch(_0x5de75c){this['_logger']=console;}const _0x30e548=_0x2c55c5['nxWDy'](parseInt,process['env'][_0x46e67f(0x1f1)],0xa)||0x1e;this[_0x46e67f(0x1af)]=new WebSocketServer({'server':_0x349bbe,'path':_0x2c55c5[_0x46e67f(0x1b7)]}),this['_setupUpgradeAuth'](_0x349bbe),this['_wss']['on'](_0x2c55c5['vFryX'],(_0x2227f2,_0x4aedc7)=>this['_handleConnection'](_0x2227f2,_0x4aedc7)),this[_0x46e67f(0x1af)]['on'](_0x2c55c5[_0x46e67f(0x191)],_0x4a4ae1=>{const _0x3c7126=_0x46e67f;this[_0x3c7126(0x1fe)]['error']({'event':_0x2c55c5[_0x3c7126(0x179)],'error':_0x4a4ae1['message']},_0x3c7126(0x19c)+_0x4a4ae1[_0x3c7126(0x1df)]);}),this[_0x46e67f(0x1e8)](_0x30e548),this[_0x46e67f(0x1d6)](),this['_initialized']=!![],this['_logger'][_0x46e67f(0x1d9)]({'event':_0x2c55c5['gVfQy'],'mode':_0x2c55c5[_0x46e67f(0x1fb)],'path':_0x2c55c5[_0x46e67f(0x1b7)],'heartbeat':_0x30e548+'s'},'Live\x20Sync\x20server\x20initialized\x20at\x20/ws\x20(heartbeat:\x20'+_0x30e548+'s)');}['initializeAsPublisher'](_0x35a1d5={}){const _0x26086f=a0_0xf1034a,_0x4859bd={'DvulE':_0x26086f(0x1f7),'QdfMK':function(_0x269489,_0x133063){return _0x269489(_0x133063);},'dhTaQ':_0x26086f(0x1f5),'dnzpj':_0x26086f(0x170)},_0xabbca2=_0x4859bd[_0x26086f(0x1ee)][_0x26086f(0x1a8)]('|');let _0xc2ce11=0x0;while(!![]){switch(_0xabbca2[_0xc2ce11++]){case'0':this[_0x26086f(0x1c9)]=!![];continue;case'1':this['_setupRedisPublisher']();continue;case'2':try{this[_0x26086f(0x1fe)]=_0x4859bd['QdfMK'](require,'../../utils/logger')['logger']||console;}catch(_0x3d4b76){this[_0x26086f(0x1fe)]=console;}continue;case'3':if(this['_initialized'])return;continue;case'4':this[_0x26086f(0x1d1)]=_0x35a1d5;continue;case'5':this['_logger']['info']({'event':_0x4859bd[_0x26086f(0x1cb)],'mode':_0x4859bd['dnzpj']},'Live\x20Sync\x20publisher\x20initialized\x20(Redis-only,\x20no\x20WebSocket\x20server)');continue;case'6':this['_mode']='publisher';continue;}break;}}[a0_0xf1034a(0x1eb)](){const _0x485d66=a0_0xf1034a;return this[_0x485d66(0x1c9)];}[a0_0xf1034a(0x1bc)](_0x89e856,_0x4a1629){const _0x15c316=a0_0xf1034a,_0x227b13={'LTPhY':'publisher','eOWGw':function(_0x2da485,_0x48787b){return _0x2da485===_0x48787b;},'ZaKyR':function(_0x4a4a96,_0x38fe0a){return _0x4a4a96||_0x38fe0a;},'vOzmw':function(_0x1fc842,_0x40d494){return _0x1fc842===_0x40d494;},'cHQAj':function(_0x2ca40a,_0x23b961){return _0x2ca40a>_0x23b961;},'YvAsT':'livesync_broadcast'};if(!this['_initialized'])return;if(this[_0x15c316(0x181)]===_0x227b13[_0x15c316(0x1cd)]){this['_publishToRedis'](_0x89e856,_0x4a1629);return;}const _0xe4c2d0=JSON['stringify']({'type':_0x15c316(0x17b),'channel':_0x89e856,'action':_0x4a1629[_0x15c316(0x1ed)],'data':_0x4a1629[_0x15c316(0x16f)],'requestId':_0x4a1629[_0x15c316(0x1e4)]||null,'timestamp':new Date()['toISOString']()}),[_0x51c48d]=_0x89e856[_0x15c316(0x1a8)](':');let _0x175790=0x0;for(const [_0x30cf64,_0x4aeecf]of this['_subscriptions']){const _0x35a4be=_0x227b13['eOWGw'](_0x30cf64,_0x89e856),_0x55759d=_0x30cf64===_0x51c48d+':*';if(_0x227b13['ZaKyR'](_0x35a4be,_0x55759d))for(const _0x5bd91f of _0x4aeecf){if(_0x227b13['vOzmw'](_0x5bd91f[_0x15c316(0x1bb)],0x1))try{_0x5bd91f['send'](_0xe4c2d0),_0x175790++;}catch(_0x260176){}}}_0x227b13['cHQAj'](_0x175790,0x0)&&this['_logger'][_0x15c316(0x1cf)]({'event':_0x227b13[_0x15c316(0x17a)],'channel':_0x89e856,'action':_0x4a1629[_0x15c316(0x1ed)],'clients':_0x175790},_0x15c316(0x174)+_0x4a1629[_0x15c316(0x1ed)]+_0x15c316(0x1aa)+_0x89e856+'\x20to\x20'+_0x175790+_0x15c316(0x19f));}['_publishToRedis'](_0x587ee8,_0xce4118){const _0x1db7da=a0_0xf1034a;if(!this['_redisPublisher'])return;const _0x1b792c=JSON['stringify']({'channel':_0x587ee8,'message':_0xce4118,'workerId':this[_0x1db7da(0x182)]});this[_0x1db7da(0x1f6)][_0x1db7da(0x192)](REDIS_CHANNEL_PREFIX+_0x1db7da(0x1bc),_0x1b792c)['catch'](()=>{});}['shutdown'](){const _0x15359c=a0_0xf1034a,_0x520a9b={'uiDmG':'Server\x20shutting\x20down'};if(!this[_0x15359c(0x1c9)])return;this[_0x15359c(0x1a6)]&&(clearInterval(this[_0x15359c(0x1a6)]),this['_heartbeatTimer']=null);if(this['_wss']){for(const _0x5333e8 of this[_0x15359c(0x1af)][_0x15359c(0x177)]){try{_0x5333e8[_0x15359c(0x1c7)](0x3e9,_0x520a9b[_0x15359c(0x1b4)]);}catch(_0x3e15b7){}}this[_0x15359c(0x1af)]['close']();}if(this['_redisSubscriber'])try{this[_0x15359c(0x1b5)]['unsubscribe'](),this['_redisSubscriber'][_0x15359c(0x1de)]();}catch(_0x37c96a){}if(this['_ownPublisher']&&this[_0x15359c(0x1f6)])try{this['_redisPublisher']['quit']();}catch(_0x260309){}this[_0x15359c(0x1e5)]['clear'](),this['_initialized']=![],this[_0x15359c(0x1fe)][_0x15359c(0x1d9)]({'event':'livesync_shutdown','mode':this[_0x15359c(0x181)]},_0x15359c(0x1b9)+this[_0x15359c(0x181)]+_0x15359c(0x1d0));}[a0_0xf1034a(0x180)](_0x1f8b7f){const _0x40c850=a0_0xf1034a,_0x1b9b6e={'TCOuH':'connection','hMkgC':'localhost','CRwbP':function(_0x169ff1,_0x272815){return _0x169ff1!==_0x272815;},'nZxny':_0x40c850(0x1b0)},_0x4e846d=_0x1f8b7f[_0x40c850(0x1ac)](_0x1b9b6e['nZxny'])['slice']();_0x1f8b7f[_0x40c850(0x1d4)](_0x1b9b6e[_0x40c850(0x1f4)]),_0x1f8b7f['on'](_0x40c850(0x1b0),(_0x3bb386,_0x5bbe80,_0x502cbc)=>{const _0x5647f3=_0x40c850;if(!_0x3bb386['url']||!_0x3bb386['url']['startsWith']('/ws')){for(const _0x2a28b7 of _0x4e846d){_0x2a28b7['call'](_0x1f8b7f,_0x3bb386,_0x5bbe80,_0x502cbc);}return;}if(this['_options']['apiKey']){const _0x2ed2db=new URL(_0x3bb386[_0x5647f3(0x1fd)],'http://'+(_0x3bb386['headers'][_0x5647f3(0x1e3)]||_0x1b9b6e['hMkgC'])),_0x292e17=_0x2ed2db[_0x5647f3(0x1b2)]['get']('x-api-key')||_0x3bb386[_0x5647f3(0x199)]['x-api-key'];if(!_0x292e17||_0x1b9b6e[_0x5647f3(0x1d8)](_0x292e17,this['_options']['apiKey'])){_0x5bbe80[_0x5647f3(0x1ec)](_0x5647f3(0x188)),_0x5bbe80[_0x5647f3(0x1ab)]();return;}}this[_0x5647f3(0x1af)]['handleUpgrade'](_0x3bb386,_0x5bbe80,_0x502cbc,_0x3ce7df=>{const _0x288a91=_0x5647f3;this[_0x288a91(0x1af)]['emit'](_0x1b9b6e['TCOuH'],_0x3ce7df,_0x3bb386);});});}[a0_0xf1034a(0x1e2)](_0x17e6d2,_0x1cece0){const _0x4d5360=a0_0xf1034a,_0x2e23b8={'cMszr':_0x4d5360(0x1db),'mmFOl':_0x4d5360(0x1b8),'adNoQ':'x-forwarded-for','nFWxZ':'livesync_client_connected','ttwOL':_0x4d5360(0x1df)};_0x17e6d2['isAlive']=!![],_0x17e6d2['subscribedChannels']=new Set();const _0x3bd396=_0x1cece0['headers'][_0x2e23b8[_0x4d5360(0x1c2)]]||_0x1cece0[_0x4d5360(0x19b)][_0x4d5360(0x1a5)];this['_logger']['info']({'event':_0x2e23b8[_0x4d5360(0x18c)],'ip':_0x3bd396},_0x4d5360(0x193)+_0x3bd396),_0x17e6d2['on']('pong',()=>{_0x17e6d2['isAlive']=!![];}),_0x17e6d2['on'](_0x2e23b8['ttwOL'],_0xa63ad8=>{const _0x405550=_0x4d5360;try{const _0x67fff1=JSON['parse'](_0xa63ad8[_0x405550(0x1c4)]());this['_handleClientMessage'](_0x17e6d2,_0x67fff1);}catch(_0x493041){this['_sendToClient'](_0x17e6d2,{'type':'error','message':_0x405550(0x198)});}}),_0x17e6d2['on']('close',()=>{const _0x402d47=_0x4d5360;this[_0x402d47(0x1c5)](_0x17e6d2),this['_logger'][_0x402d47(0x1cf)]({'event':_0x2e23b8['cMszr'],'ip':_0x3bd396},'Live\x20Sync\x20client\x20disconnected:\x20'+_0x3bd396);}),_0x17e6d2['on'](_0x4d5360(0x189),_0xa750e9=>{const _0x28b04d=_0x4d5360;this['_logger'][_0x28b04d(0x173)]({'event':_0x2e23b8['mmFOl'],'error':_0xa750e9['message']},_0x28b04d(0x1fc)+_0xa750e9['message']),this['_removeClientFromAllChannels'](_0x17e6d2);});}['_handleClientMessage'](_0x3caaa7,_0x3eb5e3){const _0x43c83f=a0_0xf1034a,_0x33cc3d={'jDVOk':_0x43c83f(0x1a0),'EqGXl':'unsubscribe','RWkil':'pong'};switch(_0x3eb5e3[_0x43c83f(0x1f8)]){case _0x33cc3d['jDVOk']:this['_handleSubscribe'](_0x3caaa7,_0x3eb5e3['channels']);break;case _0x33cc3d['EqGXl']:this['_handleUnsubscribe'](_0x3caaa7,_0x3eb5e3[_0x43c83f(0x1c8)]);break;case _0x33cc3d['RWkil']:_0x3caaa7[_0x43c83f(0x1f9)]=!![];break;default:this[_0x43c83f(0x1ff)](_0x3caaa7,{'type':'error','message':'Unknown\x20message\x20type:\x20'+_0x3eb5e3['type']});}}['_handleSubscribe'](_0x955654,_0x4e0cc1){const _0x2f2f9a=a0_0xf1034a,_0x457357={'fysXN':_0x2f2f9a(0x17f),'OFztl':function(_0x1a92c2,_0x5365e8){return _0x1a92c2>_0x5365e8;},'TjMsX':'subscribed'};if(!Array[_0x2f2f9a(0x1c3)](_0x4e0cc1)||_0x4e0cc1[_0x2f2f9a(0x1bd)]===0x0){this['_sendToClient'](_0x955654,{'type':'error','message':_0x457357['fysXN']});return;}const _0x1a014e=[];for(const _0xe20da6 of _0x4e0cc1){if(typeof _0xe20da6!==_0x2f2f9a(0x1f2)||!_0xe20da6[_0x2f2f9a(0x194)](':'))continue;!this[_0x2f2f9a(0x1e5)][_0x2f2f9a(0x1a3)](_0xe20da6)&&this[_0x2f2f9a(0x1e5)][_0x2f2f9a(0x183)](_0xe20da6,new Set()),this['_subscriptions']['get'](_0xe20da6)['add'](_0x955654),_0x955654[_0x2f2f9a(0x1bf)]['add'](_0xe20da6),_0x1a014e[_0x2f2f9a(0x17c)](_0xe20da6);}_0x457357['OFztl'](_0x1a014e['length'],0x0)&&(this[_0x2f2f9a(0x1ff)](_0x955654,{'type':_0x457357['TjMsX'],'channels':_0x1a014e,'timestamp':new Date()[_0x2f2f9a(0x1b6)]()}),this['_logger'][_0x2f2f9a(0x1cf)]({'event':'livesync_subscribe','channels':_0x1a014e},_0x2f2f9a(0x1f3)+_0x1a014e[_0x2f2f9a(0x17e)](',\x20')));}['_handleUnsubscribe'](_0x4a61d1,_0x4fe1a0){const _0x2968b2=a0_0xf1034a,_0x300d54={'yegbl':function(_0xe460ff,_0x13c3a0){return _0xe460ff===_0x13c3a0;},'buKmx':function(_0x2a82f4,_0x33e2a4){return _0x2a82f4>_0x33e2a4;}};if(!Array[_0x2968b2(0x1c3)](_0x4fe1a0))return;const _0x5c7854=[];for(const _0x32c8be of _0x4fe1a0){this['_subscriptions']['has'](_0x32c8be)&&(this['_subscriptions']['get'](_0x32c8be)[_0x2968b2(0x175)](_0x4a61d1),_0x300d54['yegbl'](this[_0x2968b2(0x1e5)]['get'](_0x32c8be)['size'],0x0)&&this['_subscriptions'][_0x2968b2(0x175)](_0x32c8be)),_0x4a61d1[_0x2968b2(0x1bf)][_0x2968b2(0x175)](_0x32c8be),_0x5c7854['push'](_0x32c8be);}_0x300d54[_0x2968b2(0x1dd)](_0x5c7854['length'],0x0)&&this['_sendToClient'](_0x4a61d1,{'type':'unsubscribed','channels':_0x5c7854,'timestamp':new Date()[_0x2968b2(0x1b6)]()});}['_removeClientFromAllChannels'](_0x506068){const _0x40072f=a0_0xf1034a,_0x292479={'cHBVI':function(_0x32c27c,_0x17e34a){return _0x32c27c===_0x17e34a;}};if(!_0x506068[_0x40072f(0x1bf)])return;for(const _0xf67394 of _0x506068['subscribedChannels']){this[_0x40072f(0x1e5)][_0x40072f(0x1a3)](_0xf67394)&&(this['_subscriptions'][_0x40072f(0x1ae)](_0xf67394)['delete'](_0x506068),_0x292479['cHBVI'](this[_0x40072f(0x1e5)]['get'](_0xf67394)['size'],0x0)&&this['_subscriptions']['delete'](_0xf67394));}_0x506068['subscribedChannels']['clear']();}['_sendToClient'](_0x366e8e,_0x296fd2){const _0x3402b8=a0_0xf1034a,_0x4d94a9={'cpFyw':function(_0x108d1d,_0x3ee531){return _0x108d1d===_0x3ee531;}};if(_0x4d94a9[_0x3402b8(0x1a9)](_0x366e8e['readyState'],0x1))try{_0x366e8e['send'](JSON[_0x3402b8(0x197)](_0x296fd2));}catch(_0x3a3a9c){}}['_startHeartbeat'](_0x3673b7){const _0x3c4c4b=a0_0xf1034a,_0x17e5df={'mWgmN':function(_0x269acd,_0x349c9e,_0x1e09f3){return _0x269acd(_0x349c9e,_0x1e09f3);},'wUnQm':function(_0x2ecd1f,_0x55fe5a){return _0x2ecd1f*_0x55fe5a;}};this['_heartbeatTimer']=_0x17e5df[_0x3c4c4b(0x18a)](setInterval,()=>{const _0x25d174=_0x3c4c4b;if(!this[_0x25d174(0x1af)])return;for(const _0x50a216 of this[_0x25d174(0x1af)][_0x25d174(0x177)]){if(!_0x50a216[_0x25d174(0x1f9)]){this[_0x25d174(0x1c5)](_0x50a216),_0x50a216[_0x25d174(0x1e0)]();continue;}_0x50a216['isAlive']=![],this['_sendToClient'](_0x50a216,{'type':_0x25d174(0x1c1),'timestamp':new Date()['toISOString']()});try{_0x50a216['ping']();}catch(_0x4c2be7){}}},_0x17e5df['wUnQm'](_0x3673b7,0x3e8));}[a0_0xf1034a(0x1ce)](){const _0x197fd4=a0_0xf1034a,_0x1925e0={'qgpsd':'Failed\x20to\x20connect\x20Redis\x20publisher\x20for\x20Live\x20Sync','oSeZB':function(_0x4dc9e4,_0x40b140){return _0x4dc9e4(_0x40b140);},'CtcxE':function(_0x4d745c,_0x6fa604,_0x4f10c3){return _0x4d745c(_0x6fa604,_0x4f10c3);},'PGiUR':function(_0xbfcc75,_0x57e8a0,_0x2c47e5){return _0xbfcc75(_0x57e8a0,_0x2c47e5);}};this[_0x197fd4(0x1e7)]=![];try{try{const _0x5918df=require('../../utils/redis-client');this['_redisPublisher']=_0x5918df['getClient']?_0x5918df[_0x197fd4(0x185)]():null;}catch(_0x51f228){this[_0x197fd4(0x1f6)]=null;}if(!this[_0x197fd4(0x1f6)]){const _0x46d988=_0x1925e0['oSeZB'](require,'ioredis'),_0x2ed8ee={'host':process['env'][_0x197fd4(0x1a4)]||'127.0.0.1','port':_0x1925e0[_0x197fd4(0x1d3)](parseInt,process[_0x197fd4(0x19a)][_0x197fd4(0x1ea)],0xa)||0x18eb,'password':process['env']['REDIS_PASSWORD']||undefined,'db':_0x1925e0[_0x197fd4(0x1d5)](parseInt,process['env']['REDIS_DB'],0xa)||0x0,'lazyConnect':!![]};this['_redisPublisher']=new _0x46d988(_0x2ed8ee),this['_ownPublisher']=!![],this['_redisPublisher']['connect']()['catch'](()=>{const _0x526632=_0x197fd4;this[_0x526632(0x1fe)][_0x526632(0x173)]({'event':_0x526632(0x195)},_0x1925e0[_0x526632(0x1f0)]),this[_0x526632(0x1f6)]=null;});}}catch(_0x2c604b){this[_0x197fd4(0x1fe)][_0x197fd4(0x173)]({'event':'livesync_redis_unavailable','error':_0x2c604b['message']},_0x197fd4(0x1a7)+_0x2c604b[_0x197fd4(0x1df)]);}}[a0_0xf1034a(0x1d6)](){const _0x508167=a0_0xf1034a,_0x30cf7b={'IePwR':'livesync_redis_publisher_failed','gPfxq':'livesync_redis_subscribed','XtVrX':'message','gJpdr':'livesync_redis_subscriber_failed','aaWbH':_0x508167(0x18e),'JExeC':function(_0x8cfbd1,_0x2845de){return _0x8cfbd1(_0x2845de);},'tumDu':_0x508167(0x1e1),'llMwM':function(_0x102c30,_0x38ad39,_0x16be26){return _0x102c30(_0x38ad39,_0x16be26);},'pHqvO':function(_0x1bac3d,_0x5b978c){return _0x1bac3d(_0x5b978c);}};this[_0x508167(0x1e7)]=![];try{const _0x57c2c8=_0x30cf7b['JExeC'](require,_0x508167(0x184)),_0x4abf54={'host':process[_0x508167(0x19a)]['REDIS_HOST']||_0x30cf7b[_0x508167(0x1c0)],'port':parseInt(process['env'][_0x508167(0x1ea)],0xa)||0x18eb,'password':process[_0x508167(0x19a)][_0x508167(0x196)]||undefined,'db':_0x30cf7b[_0x508167(0x1da)](parseInt,process['env'][_0x508167(0x18f)],0xa)||0x0,'lazyConnect':!![]};try{const _0x174210=_0x30cf7b['pHqvO'](require,'../../utils/redis-client');this[_0x508167(0x1f6)]=_0x174210[_0x508167(0x185)]?_0x174210['getClient']():null;}catch(_0x454b49){this[_0x508167(0x1f6)]=null;}!this['_redisPublisher']&&(this[_0x508167(0x1f6)]=new _0x57c2c8(_0x4abf54),this[_0x508167(0x1e7)]=!![],this['_redisPublisher'][_0x508167(0x1cc)]()['catch'](()=>{const _0x23721c=_0x508167;this[_0x23721c(0x1fe)][_0x23721c(0x173)]({'event':_0x30cf7b['IePwR']},'Failed\x20to\x20connect\x20Redis\x20publisher\x20for\x20Live\x20Sync'),this[_0x23721c(0x1f6)]=null;})),this['_redisSubscriber']=new _0x57c2c8(_0x4abf54),this['_redisSubscriber']['connect']()[_0x508167(0x1dc)](()=>{const _0x4c1e0d=_0x508167,_0x27c754={'Hzozd':function(_0x18f9a9,_0x34f215){return _0x18f9a9===_0x34f215;}};this['_redisSubscriber']['subscribe'](REDIS_CHANNEL_PREFIX+_0x4c1e0d(0x1bc),_0x594b50=>{const _0x416aa1=_0x4c1e0d;if(_0x594b50){this[_0x416aa1(0x1fe)]['error']({'event':'livesync_redis_subscribe_error','error':_0x594b50[_0x416aa1(0x1df)]},_0x416aa1(0x190)+_0x594b50[_0x416aa1(0x1df)]);return;}this['_logger'][_0x416aa1(0x1d9)]({'event':_0x30cf7b[_0x416aa1(0x1d7)]},'Live\x20Sync\x20Redis\x20subscriber\x20active\x20for\x20cluster\x20mode');}),this[_0x4c1e0d(0x1b5)]['on'](_0x30cf7b[_0x4c1e0d(0x1fa)],(_0x3d2932,_0x398342)=>{const _0x10d2c2=_0x4c1e0d;try{const _0x4d0cc5=JSON['parse'](_0x398342);if(_0x27c754['Hzozd'](_0x4d0cc5['workerId'],this[_0x10d2c2(0x182)]))return;this['_broadcastLocal'](_0x4d0cc5[_0x10d2c2(0x19d)],_0x4d0cc5['message']);}catch(_0x1a46cd){}});})[_0x508167(0x1be)](()=>{const _0x3e0ebc=_0x508167;this[_0x3e0ebc(0x1fe)]['warn']({'event':_0x30cf7b['gJpdr']},_0x30cf7b[_0x3e0ebc(0x187)]),this['_redisSubscriber']=null;});}catch(_0x173581){this['_logger'][_0x508167(0x173)]({'event':_0x508167(0x18b),'error':_0x173581[_0x508167(0x1df)]},_0x508167(0x178)+_0x173581[_0x508167(0x1df)]);}}['_broadcastLocal'](_0x467c05,_0x144848){const _0x2381ea=a0_0xf1034a,_0x194e6e={'thNbe':function(_0x596c2b,_0x3bb705){return _0x596c2b===_0x3bb705;}};if(!this[_0x2381ea(0x1af)])return;const _0x3cb5e1=JSON[_0x2381ea(0x197)]({'type':_0x2381ea(0x17b),'channel':_0x467c05,'action':_0x144848['action'],'data':_0x144848[_0x2381ea(0x16f)],'requestId':_0x144848[_0x2381ea(0x1e4)]||null,'timestamp':new Date()['toISOString']()}),[_0xbc0bca]=_0x467c05[_0x2381ea(0x1a8)](':');for(const [_0x46e6d7,_0x45dea3]of this['_subscriptions']){const _0x2bbdde=_0x46e6d7===_0x467c05,_0x48e056=_0x194e6e[_0x2381ea(0x172)](_0x46e6d7,_0xbc0bca+':*');if(_0x2bbdde||_0x48e056)for(const _0x3a1499 of _0x45dea3){if(_0x3a1499['readyState']===0x1)try{_0x3a1499['send'](_0x3cb5e1);}catch(_0x13e09b){}}}}}module['exports']=WebSocketBroadcaster;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function a0_0x1643(){const _0x3dbce7=['zxHWB3j0x2zPBgvFBM90x2zVDw5K','Aw5JBhvKzxm','rejFvfLqrq','zMLSztO','zxHJzwXFy29SDw1UC19MCM9Tx3f1zxj5x3jLC3vSDa','qvnd','C3rHCNrZv2L0Aa','nJC3mJeWvvjIywrO','y29TCgXLDgvK','A2v5CW','Cg9ZDgDYzxnXBa','mteYnev5CuHJvq','tMPzuK4','runKCgO','lNHSC3G','zgvMyxvSDa','vxnPBMCGyxv0BY1Nzw5LCMf0zwqGCxvLCNK','zxHWB3j0x3vZAw5Nx2n1C3rVBv9XDwvYEq','cK9srevsiejzia','AxnbCNjHEq','tNLHA0S','revtqW','rvHqt1jux0rjuG','y2f0y2G','BgvUz3rO','ieforca','zxHWB3j0x2nVBxbSzxrLza','iefticGkicaGifnftevdvca','yvDABgu','ignVBhvTBNmGzNjVBsbJB25MAwCGkg5VigrHDgeP','BxLZCwW','CMvZB2X2zq','lI4VDxrPBhmVBg9Nz2vY','ywDYq0y','CgryB1u','AM9PBG','Dw5RBM93BL9VCgvYyxrVCG','wuTuBhC','mJiWodGXnLDRBKnZrW','y3bHCvy','ngrMy3j6yq','CMvWBgfJzq','wgP6AeW','n2Tzy3nWrW','B3jHy2XL','C3rYAw5N','tw5jq0q','rxHWB3j0ignVBxbSzxrLzcbZDwnJzxnZzNvSBhK','BNHRzei','zxHWB3j0x3bYB2nLC3nFzxjYB3i','l2fWAs8','rxHWB3j0igzPBguGzgvSzxrLza','CgfYyw1Z','y29UzgL0Aw9UCW','z2vUzxjHDgu','C2fUAxrPEMvwywX1zq','BwTKAxjtEw5J','z2vUzxjHDgvfEgnLBa','zxHWB3j0x2nSzwfUDxbFC3rHCNq','ignVBhvTBNmGzNjVBsbYzxf1zxn0','zxHLy3v0zvf1zxj5','zMLSzw5HBwu','uhzSyu4','z2vUzxjHDgvkB2jjza','zw52','ie9sia','wKDVq2W','nZm0yvL5D0Xt','ugHHEwi','svmGtLvmta','EMnIAeG','ueris00','zxHWB3j0x2zPBgvFzgvSzxrLx2vYCM9Y','AgX1vMq','ven6uem','q1HctKq','svmGtK9uie5vteW','CMvZB2X2zuv4Cg9YDff1zxj5','y3jLyxrLsM9I','y3jLyxrLzf9HDa','zxHWB3j0x3f1zxj5x2zPBgvFCMvZB2X2zq','nZKWmJK5Dxb2rgvx','BwfW','uMvXDwvZDgvKignVBhvTBNmGBM90igzVDw5KigLUigrHDgeSihvZAw5NigfSBca','Dg9ju09tDhjPBMC','sM9Iig5VDcbMB3vUzcbVCIbLEhbPCMvK','zxHWB3j0x2nSzwfUDxbFy29TCgXLDgu','ChjVy2vZC2vKx3jVD3m','rMv0y2HPBMCGzgf0ysbMCM9TigrHDgfIyxnL','Dw5SAw5R','DxrMoa','uuzbvNe','z2v0rMLSzvbHDgG','zw5KCg9PBNroyw1L','zxjYB3i','DgfIBgvoyw1LigfUzcbJB2X1Bw5ZigfYzsbYzxf1AxjLza','rxHWB3j0igzHAwXLza','v0Lusca','AuPdt0G','CM91BMq','zg5Pz00','yvzJEuq','u2TPChbPBMCGAw52ywXPzcbJB25KAxrPB24','CMLZv2G','y2zRBeW','sw52ywXPzcbMAwXLoIbYzwzLCMvUy2uGlsbWyxrOigLZigvTChr5','cIaGicbguK9nia','zxHWB3j0x2zLDgnOx3n0yxj0','mta0nJbAuKLly0K','vxnPBMCG','cLnftevdvcaQiezst00G','DhjPBq','s2XYsxe','vxnPBMCGy3vZDg9Tigv4Cg9YDff1zxj5','z2TxtgO','teLlrq','zxHPC3rZu3LUyW','y29TCgXLDgvKx2f0','tK9uieXjs0u','BwvZC2fNzq','lI4VDxrPBhmVzgi','zxHWB3j0lq','zMLSzv9WyxrO','mtq1oti4ngPtEgrRBq','ignVBhvTBNmGkhDPBgrJyxjKihjLCxvLC3rLzcK','mJK3ota5AKf2vKvb','u3rHCNrPBMCGzxHWB3j0ignSzwfUDxa','Dg9vChbLCKnHC2u','x2v4Cg9YDerPCG','B0D1sNG','Dg90ywXFCM93CW','ndG3m0nktg9hAW','vw5RBM93BIbVCgvYyxrVCIWGDxnPBMCGpsbHCYbKzwzHDwX0','z2v0qwXSsM9ICW','yNvPBgrpCMrLCKj5q2XHDxnL','cIaGicaGicaG','zxHWB3j0x2PVyL9JCMvHDgvK','ChjVBwLZzxm','B1jKtum','lI4VlI4VzxHWB3j0CY8','wuLtDgm','zxHWB3j0x2zLDgnOx2vYCM9Y','DxbKyxrLsM9I','sePiBwK','ru5pru5u','zMLSDgvY','D2fYBG','C3rHDhvZ','Aw5MBW'];a0_0x1643=function(){return _0x3dbce7;};return a0_0x1643();}const a0_0x15bd1d=a0_0x47b0;(function(_0xa81207,_0x673842){const _0x659a0b=a0_0x47b0,_0x18d836=_0xa81207();while(!![]){try{const _0x35521f=parseInt(_0x659a0b(0x12f))/0x1*(-parseInt(_0x659a0b(0xf7))/0x2)+parseInt(_0x659a0b(0xa8))/0x3*(parseInt(_0x659a0b(0x114))/0x4)+-parseInt(_0x659a0b(0xf3))/0x5+parseInt(_0x659a0b(0xd2))/0x6*(-parseInt(_0x659a0b(0x117))/0x7)+parseInt(_0x659a0b(0x112))/0x8+parseInt(_0x659a0b(0xd4))/0x9+-parseInt(_0x659a0b(0xc3))/0xa*(-parseInt(_0x659a0b(0xda))/0xb);if(_0x35521f===_0x673842)break;else _0x18d836['push'](_0x18d836['shift']());}catch(_0x44acbe){_0x18d836['push'](_0x18d836['shift']());}}}(a0_0x1643,0x3bc72));const {v7:uuidv7}=require('uuid'),path=require('path'),fs=require('fs')[a0_0x15bd1d(0xe0)],fsSync=require('fs'),redisHelper=require('../utils/redis-helper'),{logger,logError}=require(a0_0x15bd1d(0x10c)),dbType=(process[a0_0x15bd1d(0x12c)][a0_0x15bd1d(0xee)]||a0_0x15bd1d(0xf6))['toLowerCase']();let executeQuery;function a0_0x47b0(_0x1817a9,_0x5ccc7f){_0x1817a9=_0x1817a9-0xa6;const _0x164395=a0_0x1643();let _0x47b017=_0x164395[_0x1817a9];if(a0_0x47b0['JoPDdW']===undefined){var _0x40113a=function(_0xdef354){const _0x41f52d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5bb6f0='',_0x374bd7='';for(let _0x2b6ab8=0x0,_0x4a9028,_0x5075fe,_0xe8d42e=0x0;_0x5075fe=_0xdef354['charAt'](_0xe8d42e++);~_0x5075fe&&(_0x4a9028=_0x2b6ab8%0x4?_0x4a9028*0x40+_0x5075fe:_0x5075fe,_0x2b6ab8++%0x4)?_0x5bb6f0+=String['fromCharCode'](0xff&_0x4a9028>>(-0x2*_0x2b6ab8&0x6)):0x0){_0x5075fe=_0x41f52d['indexOf'](_0x5075fe);}for(let _0x24de96=0x0,_0x590620=_0x5bb6f0['length'];_0x24de96<_0x590620;_0x24de96++){_0x374bd7+='%'+('00'+_0x5bb6f0['charCodeAt'](_0x24de96)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x374bd7);};a0_0x47b0['HWWtYO']=_0x40113a,a0_0x47b0['ertAQj']={},a0_0x47b0['JoPDdW']=!![];}const _0x1adfcc=_0x164395[0x0],_0x18cbd9=_0x1817a9+_0x1adfcc,_0x4b5054=a0_0x47b0['ertAQj'][_0x18cbd9];return!_0x4b5054?(_0x47b017=a0_0x47b0['HWWtYO'](_0x47b017),a0_0x47b0['ertAQj'][_0x18cbd9]=_0x47b017):_0x47b017=_0x4b5054,_0x47b017;}if(dbType==='oracle'){const oracleDb=require('../utils/db-oracle');executeQuery=(_0x2941da,_0x50737c)=>oracleDb['executeQuery'](_0x2941da,_0x50737c);}else{if(dbType===a0_0x15bd1d(0x10a)){const mysqlDb=require('../utils/db-mysql');executeQuery=(_0x308f2d,_0x16aa82)=>mysqlDb[a0_0x15bd1d(0x128)](_0x308f2d,_0x16aa82);}else executeQuery=require(a0_0x15bd1d(0xcf))[a0_0x15bd1d(0x128)];}class ExportService{constructor(){const _0x5dada8=a0_0x15bd1d;this[_0x5dada8(0xd7)]=null;}get['exportDir'](){const _0x40c99e=a0_0x15bd1d,_0x22199c={'uVWWQ':_0x40c99e(0xfb),'MnICD':function(_0x5891aa,_0x289918,_0xc094ef,_0x378008){return _0x5891aa(_0x289918,_0xc094ef,_0x378008);},'oRdMC':'Failed\x20to\x20initialize\x20export\x20service'};if(!this['_exportDir']){const _0x1dfe9d=process[_0x40c99e(0x12c)]['RESTFORGE_PROJECT_NAME']||_0x22199c['uVWWQ'];this['_exportDir']=process['env'][_0x40c99e(0x102)]||path[_0x40c99e(0x10f)](__dirname,_0x40c99e(0xe2)+_0x1dfe9d);try{!fsSync[_0x40c99e(0xcb)](this[_0x40c99e(0xd7)])&&fsSync[_0x40c99e(0x124)](this['_exportDir'],{'recursive':!![]}),logger['info']({'event':'export_service_init','dir':this[_0x40c99e(0xd7)]},'Export\x20service\x20initialized');}catch(_0x48bbc0){_0x22199c[_0x40c99e(0x11a)](logError,_0x48bbc0,{'event':'export_service_init_error'},_0x22199c[_0x40c99e(0xe1)]);}}return this['_exportDir'];}[a0_0x15bd1d(0x139)](_0x4c6732,_0x1e164a=null){const _0x367d6b=a0_0x15bd1d,_0x20b036={'nxkdB':'string','YdOWL':'payload','EOoSM':_0x367d6b(0xa7),'hluVd':function(_0x15e831,_0x93ef55){return _0x15e831===_0x93ef55;}};if(!_0x4c6732||typeof _0x4c6732!==_0x20b036[_0x367d6b(0x11c)])return _0x4c6732;const _0x2772a0=_0x4c6732['trim']();if(!_0x2772a0['startsWith'](_0x367d6b(0xef)))return _0x2772a0;const _0x291464=_0x2772a0[_0x367d6b(0x115)](/^file:/,'')[_0x367d6b(0xc6)]();if(!_0x291464)throw new Error(_0x367d6b(0xc0));const _0x1d9a72=_0x1e164a||path['join'](process['cwd'](),_0x20b036['YdOWL']),_0x5a4b67=path[_0x367d6b(0x10b)](_0x1d9a72,_0x291464);logger['info']({'event':_0x20b036['EOoSM'],'relativePath':_0x291464,'baseDir':_0x1d9a72,'absolutePath':_0x5a4b67},'Resolving\x20exportQuery\x20from\x20file:\x20'+_0x291464);if(!fsSync[_0x367d6b(0xcb)](_0x5a4b67))throw new Error('Export\x20query\x20file\x20not\x20found:\x20'+_0x5a4b67);try{const _0x2e4fb0=fsSync['readFileSync'](_0x5a4b67,_0x367d6b(0xb1));if(!_0x2e4fb0||!_0x2e4fb0['trim']())throw new Error('Export\x20query\x20file\x20is\x20empty:\x20'+_0x5a4b67);return logger[_0x367d6b(0xeb)]({'event':'export_query_file_loaded','file':_0x5a4b67,'queryLength':_0x2e4fb0['length']},'Loaded\x20SQL\x20query\x20from\x20file\x20('+_0x2e4fb0['length']+'\x20chars)'),_0x2e4fb0[_0x367d6b(0xc6)]();}catch(_0x516666){if(_0x20b036[_0x367d6b(0x135)](_0x516666['code'],_0x367d6b(0xe7)))throw new Error('Export\x20query\x20file\x20not\x20found:\x20'+_0x5a4b67);throw new Error('Failed\x20to\x20read\x20export\x20query\x20file:\x20'+_0x516666[_0x367d6b(0xce)]);}}[a0_0x15bd1d(0x12b)](){const _0x192c2d=a0_0x15bd1d,_0x2e3fbe={'dnigM':function(_0x2bf8b4,_0x77a9dd){return _0x2bf8b4-_0x77a9dd;},'jlofV':function(_0x4be9c9,_0x3e7d7e){return _0x4be9c9<_0x3e7d7e;}},_0x5ef363='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789',_0x1e1a73=Date['now']()['toString'](0x24),_0x6275c5=uuidv7()['replace'](/-/g,'')['substring'](0x0,_0x2e3fbe[_0x192c2d(0xbb)](0xc,_0x1e1a73[_0x192c2d(0x104)])),_0x2e1179=(_0x1e1a73+_0x6275c5)['substring'](0x0,0xc);let _0x27bf99='';for(let _0x3c7b7a=0x0;_0x2e3fbe['jlofV'](_0x3c7b7a,0xc);_0x3c7b7a++){_0x2e1179[_0x3c7b7a]?_0x27bf99+=_0x2e1179[_0x3c7b7a]:_0x27bf99+=_0x5ef363['charAt'](Math['floor'](Math['random']()*_0x5ef363['length']));}return _0x27bf99;}async[a0_0x15bd1d(0x13a)](_0x327231){const _0x2b5639=a0_0x15bd1d,_0xe7bcd8={'ZGoCl':_0x2b5639(0x11d),'ECdpj':'pending'},_0x253b11=this[_0x2b5639(0x12b)](),_0x131544={'job_id':_0x253b11,'status':'pending','progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x327231,'total_rows':0x0,'processed_rows':0x0};return await redisHelper['setJob'](_0x253b11,_0x131544),logger['info']({'event':_0x2b5639(0xdf),'jobId':_0x253b11,'params':_0x327231},'Export\x20job\x20created'),this['processJob'](_0x253b11,_0x327231)[_0x2b5639(0x103)](_0x433936=>{const _0x9d4674=_0x2b5639;logError(_0x433936,{'event':_0xe7bcd8[_0x9d4674(0x12e)],'jobId':_0x253b11},'Export\x20processing\x20failed');}),{'job_id':_0x253b11,'status':_0xe7bcd8[_0x2b5639(0xf9)]};}async['getJobStatus'](_0x2de1cd){const _0x499fc6=a0_0x15bd1d,_0x25d95f={'yNRGf':_0x499fc6(0xf4)},_0x32ccd3=await redisHelper['getJob'](_0x2de1cd);if(!_0x32ccd3)return{'success':![],'error':_0x499fc6(0xac)};return{'success':!![],'data':{'job_id':_0x32ccd3['job_id'],'status':_0x32ccd3[_0x499fc6(0xea)],'progress':_0x32ccd3['progress'],'total_rows':_0x32ccd3[_0x499fc6(0xd9)],'processed_rows':_0x32ccd3[_0x499fc6(0xae)],'file_url':_0x32ccd3['status']===_0x25d95f['yNRGf']?_0x499fc6(0x11e)+_0x32ccd3[_0x499fc6(0x120)]['moduleName']+'/'+_0x32ccd3['params'][_0x499fc6(0xb4)]+'/export-download?job_id='+_0x2de1cd:null,'error':_0x32ccd3[_0x499fc6(0xb5)]||null,'created_at':_0x32ccd3['created_at'],'completed_at':_0x32ccd3[_0x499fc6(0xcc)]||null}};}async['processJob'](_0x142d93,_0x5514f2){const _0x4cf1b7=a0_0x15bd1d,_0x286385={'tGGPW':_0x4cf1b7(0xf4),'NyakK':_0x4cf1b7(0x11b),'zLxaV':function(_0x26fee8,_0x4b4596,_0x20e5e3,_0xdaafca){return _0x26fee8(_0x4b4596,_0x20e5e3,_0xdaafca);},'vepyX':'export_failed','HJHmi':'failed'};try{await redisHelper[_0x4cf1b7(0xe5)](_0x142d93,{'status':'processing','started_at':new Date()['toISOString']()}),logger[_0x4cf1b7(0xeb)]({'event':'export_processing_start','jobId':_0x142d93},'Export\x20processing\x20started');const _0x135538=await this['fetchData'](_0x5514f2);await redisHelper['updateJob'](_0x142d93,{'total_rows':_0x135538[_0x4cf1b7(0x104)]});const _0x176fab=await this[_0x4cf1b7(0x125)](_0x142d93,_0x135538,_0x5514f2);await redisHelper[_0x4cf1b7(0xe5)](_0x142d93,{'status':_0x286385['tGGPW'],'progress':0x64,'file_path':_0x176fab,'completed_at':new Date()[_0x4cf1b7(0xab)]()}),logger[_0x4cf1b7(0xeb)]({'event':_0x4cf1b7(0x106),'jobId':_0x142d93,'rows':_0x135538['length']},_0x286385[_0x4cf1b7(0x100)]);}catch(_0x1d9512){_0x286385['zLxaV'](logError,_0x1d9512,{'event':_0x286385['vepyX'],'jobId':_0x142d93},_0x4cf1b7(0xb7)),await redisHelper[_0x4cf1b7(0xe5)](_0x142d93,{'status':_0x286385[_0x4cf1b7(0xe6)],'error':_0x1d9512[_0x4cf1b7(0xce)],'failed_at':new Date()[_0x4cf1b7(0xab)]()});}}async['fetchData'](_0x578cba){const _0x8253e9=a0_0x15bd1d,_0x534704={'NjYRN':function(_0x37d3fe,_0x4fcec2){return _0x37d3fe||_0x4fcec2;},'aWZle':function(_0x172e1e,_0xf1e592){return _0x172e1e===_0xf1e592;},'pqEOf':_0x8253e9(0xb6),'MpcYL':function(_0x2ef956,_0x21799c){return _0x2ef956+_0x21799c;},'ukkUw':function(_0x59f59d,_0x461a87){return _0x59f59d>_0x461a87;},'FTGLj':_0x8253e9(0xc2),'fHBDF':function(_0x19efff,_0x1ffa70){return _0x19efff(_0x1ffa70);},'ZBYMT':function(_0x5627c3,_0x29b2d4){return _0x5627c3===_0x29b2d4;},'oJngO':function(_0x57a69e,_0x4029ca){return _0x57a69e>_0x4029ca;},'OcLic':_0x8253e9(0xe4),'aVcyD':'Failed\x20to\x20fetch\x20data'};try{const {tableName:_0x47024c,columns:_0x1e2d84,exportQuery:_0x5c19f1,where:_0x1b7608,sort_columns:_0x484c51}=_0x578cba;if(_0x534704[_0x8253e9(0xf8)](!_0x47024c,!_0x1e2d84)||_0x534704[_0x8253e9(0x108)](_0x1e2d84[_0x8253e9(0x104)],0x0))throw new Error(_0x534704['pqEOf']);const _0x2b1fdb=_0x534704['MpcYL'](_0x47024c['replace'](/\./g,'_'),'_data');let _0x2b4ac0;if(_0x5c19f1&&_0x5c19f1['trim']()){let _0x412102=_0x5c19f1;_0x5c19f1[_0x8253e9(0xc6)]()[_0x8253e9(0xf2)]('file:')&&(_0x412102=this['resolveExportQuery'](_0x5c19f1)),_0x2b4ac0=_0x8253e9(0xb8)+_0x2b1fdb+'\x20AS\x20(\x0a\x20\x20\x20\x20'+_0x412102+'\x0a)',_0x2b4ac0+=_0x8253e9(0xc5)+_0x2b1fdb,logger['info']({'event':_0x8253e9(0xfd),'query':_0x412102['substring'](0x0,0x64)},_0x8253e9(0xc8));}else{const _0x4a38b6=_0x1e2d84[_0x8253e9(0xa9)](_0x443c07=>_0x8253e9(0xde)+_0x443c07)[_0x8253e9(0x10f)](',');_0x2b4ac0='WITH\x20'+_0x2b1fdb+_0x8253e9(0x107)+_0x4a38b6+_0x8253e9(0xc1)+_0x47024c+'\x0a)',_0x2b4ac0+='\x0aSELECT\x20*\x20FROM\x20'+_0x2b1fdb,logger['info']({'event':'export_using_auto_query','tableName':_0x47024c,'columnCount':_0x1e2d84[_0x8253e9(0x104)]},_0x8253e9(0xfc));}if(_0x1b7608){const _0x3940aa=this['buildWhereClause'](_0x1b7608);_0x3940aa&&(_0x2b4ac0+='\x0aWHERE\x20'+_0x3940aa);}if(_0x484c51&&_0x534704['ukkUw'](_0x484c51[_0x8253e9(0x104)],0x0)){const _0x25f350=this[_0x8253e9(0xdd)](_0x484c51);_0x25f350&&(_0x2b4ac0+=_0x8253e9(0xfe)+_0x25f350);}logger['info']({'event':_0x534704['FTGLj'],'query':_0x2b4ac0['substring'](0x0,0xc8)},_0x8253e9(0xaf));const _0x47a970=await _0x534704['fHBDF'](executeQuery,_0x2b4ac0);let _0x394c16=_0x47a970;return _0x534704['ZBYMT'](dbType,_0x8253e9(0x118))&&_0x47a970&&_0x534704['oJngO'](_0x47a970['length'],0x0)&&(_0x394c16=_0x47a970['map'](_0x3383ab=>{const _0x597f3f={};for(const [_0x3b1432,_0x23dbd5]of Object['entries'](_0x3383ab)){_0x597f3f[_0x3b1432['toLowerCase']()]=_0x23dbd5;}return _0x597f3f;})),logger[_0x8253e9(0xeb)]({'event':'export_fetch_complete','rows':_0x394c16[_0x8253e9(0x104)]},'Data\x20fetched\x20successfully'),_0x394c16;}catch(_0xdf6927){logError(_0xdf6927,{'event':_0x534704['OcLic']},_0x534704[_0x8253e9(0xbc)]);throw _0xdf6927;}}[a0_0x15bd1d(0x123)](_0x360da3){const _0x2882be=a0_0x15bd1d,_0x4337f3={'gkWLj':function(_0x5203bd,_0x36a8cc){return _0x5203bd===_0x36a8cc;}};if(_0x4337f3[_0x2882be(0xc9)](typeof _0x360da3,_0x2882be(0x119)))return _0x360da3[_0x2882be(0x115)](/[\u200B-\u200D\uFEFF\u2060\u00AD]/g,'')[_0x2882be(0xc6)]();else{if(Array[_0x2882be(0xff)](_0x360da3))return _0x360da3[_0x2882be(0xa9)](_0x24bf2d=>this[_0x2882be(0x123)](_0x24bf2d));}return _0x360da3;}['buildWhereClause'](_0x2a9532){const _0x4308d1=a0_0x15bd1d,_0x2bbb45={'cfklL':function(_0x33bfd0,_0x3c2f8e){return _0x33bfd0===_0x3c2f8e;},'pnVlO':'string','MjDxN':function(_0x2a708a,_0x30ad79){return _0x2a708a||_0x30ad79;},'QPqUn':function(_0x3eb774,_0x18059e){return _0x3eb774!==_0x18059e;},'PGxGh':_0x4308d1(0xca),'zcbhH':_0x4308d1(0xcd),'PLNna':_0x4308d1(0x138),'CBtuj':function(_0x3d4706,_0x2b9a78){return _0x3d4706===_0x2b9a78;},'YIStc':_0x4308d1(0x12d),'sjTby':_0x4308d1(0x105)};if(!_0x2a9532||!_0x2a9532[_0x4308d1(0x121)]||_0x2a9532[_0x4308d1(0x121)][_0x4308d1(0x104)]===0x0)return'';const {logic:_0x14f54a,conditions:_0x4a2b3f}=_0x2a9532,_0x2ae891=_0x14f54a&&_0x2bbb45['CBtuj'](_0x14f54a['toUpperCase'](),'OR')?_0x2bbb45[_0x4308d1(0xe3)]:_0x2bbb45['sjTby'],_0x38e314=_0x4a2b3f[_0x4308d1(0xa9)](_0x46a256=>{const _0xbdd997=_0x4308d1,_0x3f5261={'XjzhL':function(_0x3c07c8,_0x49bbf0){const _0x5e8c46=a0_0x47b0;return _0x2bbb45[_0x5e8c46(0xbf)](_0x3c07c8,_0x49bbf0);},'PvlaN':_0x2bbb45['pnVlO']},{key:_0x1b051e,operator:_0x328d50,value:_0x52d5eb,sensitive:_0x70cb8c}=_0x46a256;if(_0x2bbb45['MjDxN'](!_0x1b051e,!_0x328d50))return logger[_0xbdd997(0xe9)]({'event':'invalid_condition','condition':_0x46a256},_0xbdd997(0xbd)),null;const _0xea6c13=this['sanitizeValue'](_0x52d5eb),_0xdd22f=_0x2bbb45['QPqUn'](_0x70cb8c,undefined)?_0x70cb8c:!![];let _0x1a826b=_0x1b051e,_0x269a1e=_0xea6c13;!_0xdd22f&&(_0x1a826b='UPPER('+_0x1b051e+')',typeof _0x52d5eb==='string'&&(_0x269a1e=_0x52d5eb[_0xbdd997(0xd6)]()));const _0x288414=_0x2bbb45['cfklL'](typeof _0x269a1e,_0xbdd997(0x119))?'\x27'+_0x269a1e[_0xbdd997(0x115)](/'/g,'\x27\x27')+'\x27':_0x269a1e;switch(_0x328d50['toUpperCase']()){case'=':case'!=':case'<>':return _0x1a826b+'\x20'+_0x328d50+'\x20'+_0x288414;case'>':case'<':case'>=':case'<=':const _0x2a1384=typeof _0xea6c13==='string'?'\x27'+_0xea6c13['replace'](/'/g,'\x27\x27')+'\x27':_0xea6c13;return _0x1b051e+'\x20'+_0x328d50+'\x20'+_0x2a1384;case _0x2bbb45['PGxGh']:case _0x2bbb45[_0xbdd997(0x132)]:return _0x1a826b+'\x20'+_0x328d50+'\x20'+_0x288414;case'IN':if(Array[_0xbdd997(0xff)](_0xea6c13)){let _0x525262;return!_0xdd22f?_0x525262=_0xea6c13['map'](_0x589f43=>{const _0x567105=_0xbdd997,_0x53bfb8=_0x3f5261[_0x567105(0x116)](typeof _0x589f43,_0x3f5261[_0x567105(0x12a)])?_0x589f43[_0x567105(0xd6)]():_0x589f43;return _0x3f5261[_0x567105(0x116)](typeof _0x53bfb8,_0x3f5261['PvlaN'])?'\x27'+_0x53bfb8['replace'](/'/g,'\x27\x27')+'\x27':_0x53bfb8;})[_0xbdd997(0x10f)](',\x20'):_0x525262=_0xea6c13[_0xbdd997(0xa9)](_0x442772=>typeof _0x442772==='string'?'\x27'+_0x442772[_0xbdd997(0x115)](/'/g,'\x27\x27')+'\x27':_0x442772)[_0xbdd997(0x10f)](',\x20'),_0x1a826b+'\x20IN\x20('+_0x525262+')';}return _0x1a826b+'\x20IN\x20('+_0x288414+')';case _0xbdd997(0x131):return _0x1b051e+'\x20IS\x20NULL';case _0x2bbb45['PLNna']:return _0x1b051e+'\x20IS\x20NOT\x20NULL';default:logger['warn']({'event':_0xbdd997(0x110),'operator':_0x328d50},_0xbdd997(0xdb));return _0x1a826b+'\x20=\x20'+_0x288414;}})['filter'](_0x429ff6=>_0x429ff6!==null);if(_0x38e314['length']===0x0)return'';return _0x38e314[_0x4308d1(0x10f)](_0x2ae891);}['buildOrderByClause'](_0x3b8af0){const _0x1dd3d6=a0_0x15bd1d,_0x1ab25a={'Ueucc':'invalid_sort_column','cpaqV':function(_0x2ffdd7,_0x44205f){return _0x2ffdd7===_0x44205f;},'QFAVq':'DESC'};if(!_0x3b8af0||_0x3b8af0['length']===0x0)return'';const _0x843ed0=_0x3b8af0['map'](_0x42c671=>{const _0x572ab8=a0_0x47b0,{column:_0x46afe5,direction:_0x3b8a02}=_0x42c671;if(!_0x46afe5)return logger[_0x572ab8(0xe9)]({'event':_0x1ab25a['Ueucc'],'item':_0x42c671},'Skipping\x20invalid\x20sort\x20column'),null;const _0x4ea85a=_0x3b8a02&&_0x1ab25a[_0x572ab8(0x113)](_0x3b8a02['toUpperCase'](),_0x1ab25a[_0x572ab8(0xb2)])?_0x572ab8(0x101):_0x572ab8(0xf1);return _0x46afe5+'\x20'+_0x4ea85a;})['filter'](_0x183252=>_0x183252!==null);if(_0x1ab25a['cpaqV'](_0x843ed0[_0x1dd3d6(0x104)],0x0))return'';return _0x843ed0['join'](',\x20');}async[a0_0x15bd1d(0x125)](_0x30a7ac,_0x31232a,_0x5c5df0){const _0x1a1538=a0_0x15bd1d,_0x134ae8={'YKTlw':function(_0x4bb12f,_0x20f60d){return _0x4bb12f/_0x20f60d;},'SzdQA':function(_0x42c150,_0x6defc9){return _0x42c150(_0x6defc9);},'TIewK':function(_0x26ec0a,_0x39f228){return _0x26ec0a===_0x39f228;},'CXBND':'all','oGuJx':function(_0x4d5a72,_0x39d76f){return _0x4d5a72>_0x39d76f;},'KlrIq':'excel_columns_select_all','Phayb':function(_0x5ba426,_0xf609e2){return _0x5ba426>_0xf609e2;},'risWh':'excel_columns_from_request','evCLT':'excel_columns_from_config'},_0x44a5ce=_0x134ae8['SzdQA'](require,'../utils/excel-generator'),_0x463e2a=new _0x44a5ce(),_0x1d5c26=_0x5c5df0[_0x1a1538(0x129)]?_0x5c5df0[_0x1a1538(0x129)]+'-'+_0x30a7ac:_0x1a1538(0xd0)+_0x30a7ac,_0xce1ea5=path['join'](this['exportDir'],_0x1d5c26+_0x1a1538(0xfa));let _0x45758d=_0x5c5df0['columns'];const _0x42a511=_0x5c5df0['exportQuery']&&_0x5c5df0['exportQuery'][_0x1a1538(0xc6)](),_0x3a0614=_0x45758d&&_0x134ae8['TIewK'](_0x45758d['length'],0x1)&&(_0x45758d[0x0]==='*'||_0x45758d[0x0]['toLowerCase']()===_0x134ae8[_0x1a1538(0x137)]);if(_0x134ae8[_0x1a1538(0xd8)](_0x31232a[_0x1a1538(0x104)],0x0)){const _0x4faeef=Object[_0x1a1538(0xf5)](_0x31232a[0x0]);if(_0x42a511)_0x45758d=_0x4faeef,logger['info']({'event':'excel_columns_from_custom_query','columns':_0x45758d},'Using\x20'+_0x45758d['length']+'\x20columns\x20from\x20custom\x20exportQuery\x20result');else{if(_0x3a0614)_0x45758d=_0x4faeef,logger[_0x1a1538(0xeb)]({'event':_0x134ae8[_0x1a1538(0xc7)],'columns':_0x45758d},'Using\x20all\x20'+_0x45758d['length']+_0x1a1538(0xd3));else{if(_0x45758d&&_0x134ae8[_0x1a1538(0x130)](_0x45758d[_0x1a1538(0x104)],0x0)){const _0x43fb8a=_0x45758d[_0x1a1538(0xe8)](_0x35dfcb=>_0x4faeef[_0x1a1538(0xed)](_0x35dfcb));_0x134ae8[_0x1a1538(0xd8)](_0x43fb8a['length'],0x0)?(_0x45758d=_0x43fb8a,logger['info']({'event':_0x134ae8[_0x1a1538(0xbe)],'requestedColumns':_0x5c5df0['columns'],'validColumns':_0x45758d},'Using\x20'+_0x45758d['length']+_0x1a1538(0x127))):(_0x45758d=_0x4faeef,logger[_0x1a1538(0xe9)]({'event':'excel_columns_fallback','requestedColumns':_0x5c5df0['columns'],'availableColumns':_0x4faeef},_0x1a1538(0xaa)+_0x4faeef[_0x1a1538(0x104)]+'\x20columns'));}else _0x45758d=_0x4faeef,logger[_0x1a1538(0xeb)]({'event':_0x1a1538(0xf0),'columns':_0x45758d},_0x1a1538(0xc4)+_0x45758d[_0x1a1538(0x104)]+'\x20columns\x20from\x20query\x20result');}}}else logger[_0x1a1538(0xeb)]({'event':_0x134ae8['evCLT'],'columns':_0x45758d},_0x1a1538(0xc4)+(_0x45758d?.['length']||0x0)+_0x1a1538(0x109));return await _0x463e2a[_0x1a1538(0x122)]({'data':_0x31232a,'columns':_0x45758d,'columnFormats':_0x5c5df0['columnFormats']||null,'fieldLabels':_0x5c5df0['fieldLabels']||null,'filePath':_0xce1ea5,'onProgress':async _0x312f7a=>{const _0x3c2da3=_0x1a1538;await redisHelper['updateJob'](_0x30a7ac,{'progress':Math[_0x3c2da3(0xba)](_0x312f7a),'processed_rows':Math['round'](_0x134ae8[_0x3c2da3(0x111)](_0x312f7a,0x64)*_0x31232a[_0x3c2da3(0x104)])});}}),_0xce1ea5;}async[a0_0x15bd1d(0xb3)](_0x35c2e6){const _0xe6a049=a0_0x15bd1d,_0x4263c4={'PDHKM':function(_0x29bc8a,_0x50b169,_0x536c79,_0xdc0e68){return _0x29bc8a(_0x50b169,_0x536c79,_0xdc0e68);},'pdXoU':_0xe6a049(0xec)},_0x1d4df4=await redisHelper['getJob'](_0x35c2e6);if(!_0x1d4df4||_0x1d4df4[_0xe6a049(0xea)]!=='completed')return null;try{return await fs['access'](_0x1d4df4[_0xe6a049(0xd1)]),_0x1d4df4[_0xe6a049(0xd1)];}catch(_0x3014a0){return _0x4263c4[_0xe6a049(0x133)](logError,_0x3014a0,{'event':_0x4263c4[_0xe6a049(0x10e)],'jobId':_0x35c2e6,'path':_0x1d4df4['file_path']},'Export\x20file\x20not\x20found'),null;}}async['cleanup'](){const _0x213ad3=a0_0x15bd1d,_0x2949bd={'rOtuv':_0x213ad3(0x126),'TCzPC':function(_0x2a9e6a,_0xc8e11f){return _0x2a9e6a-_0xc8e11f;},'FltZT':function(_0x29e4cf,_0x37aa82){return _0x29e4cf*_0x37aa82;},'ENfnq':_0x213ad3(0x11f),'iJCOH':_0x213ad3(0x134),'agrCF':'Failed\x20to\x20delete\x20export\x20file','CKeeg':'Export\x20cleanup\x20completed'};logger[_0x213ad3(0xeb)]({'event':_0x2949bd['rOtuv']},_0x213ad3(0xd5));const _0x10b481=await redisHelper[_0x213ad3(0xdc)]();let _0x380597=0x0;for(const _0x2a2d3d of _0x10b481){const _0x3424ca=new Date(_0x2a2d3d[_0x213ad3(0xa6)]),_0x62c17b=new Date(),_0x2b5e11=_0x2949bd[_0x213ad3(0x136)](_0x62c17b,_0x3424ca)/_0x2949bd['FltZT'](0x3e8*0x3c,0x3c);if(_0x2b5e11>0x1){if(_0x2a2d3d[_0x213ad3(0xd1)])try{await fs[_0x213ad3(0xb0)](_0x2a2d3d[_0x213ad3(0xd1)]),logger[_0x213ad3(0xeb)]({'event':'export_file_deleted','path':_0x2a2d3d['file_path']},_0x2949bd['ENfnq']);}catch(_0x4ead12){logger['warn']({'event':_0x2949bd[_0x213ad3(0xb9)],'path':_0x2a2d3d[_0x213ad3(0xd1)],'error':_0x4ead12['message']},_0x2949bd[_0x213ad3(0x10d)]);}await redisHelper['deleteJob'](_0x2a2d3d['job_id']),_0x380597++;}}return logger['info']({'event':_0x213ad3(0xad),'deleted':_0x380597},_0x2949bd['CKeeg']),_0x380597;}}module['exports']=new ExportService();
|
|
1
|
+
function a0_0x2383(){const _0xb124a2=['CMvZB2X2zuv4Cg9YDff1zxj5','zxHWB3j0x2zLDgnOx2nVBxbSzxrL','rxHWB3j0ihf1zxj5igzPBguGAxmGzw1WDhK6ia','CMvHzezPBgvtEw5J','CMfUzg9T','BK5UDuu','thzqzg0','AwDfsue','rejFvfLqrq','u0XjuMC','mZG4mtaXmgHKu0XOBG','C3rHCNrZv2L0Aa','BxLZCwW','zxHJzwXFy29SDw1UC19MCM9Tx2nVBMzPzW','AM9PBG','ignVBhvTBNmGkhDPBgrJyxjKihjLCxvLC3rLzcK','rMfPBgvKihrVigrLBgv0zsbLEhbVCNqGzMLSzq','zMLSztO','u2TPChbPBMCGAw52ywXPzcbZB3j0ignVBhvTBG','v2HlrNq','zxjYB3i','zw5KCg9PBNroyw1L','rxHWB3j0igzPBguGBM90igzVDw5K','CMvWBgfJzq','rNPJv2G','D2vwEfO','vvbqrviO','DxrMoa','x2v4Cg9YDerPCG','ELHIqu4','CgfYyw1Z','y3DK','zxHWB3j0x2zPBgvFzgvSzxrLx2vYCM9Y','ieforca','CgvUzgLUzW','nJqZmduWA0Xbv09k','AM9Ix2LK','zw50CMLLCW','rMzIBfm','s3HjDNe','zxHJzwXFy29SDw1UC19MCM9Tx3f1zxj5x3jLC3vSDa','zxHWB3j0x3bYB2nLC3nPBMDFC3rHCNq','zxHJzwXFy29SDw1UC19MCM9Tx2n1C3rVBv9XDwvYEq','zxHLy3v0zvf1zxj5','y3jLyxrLzf9HDa','z2v0sM9Iu3rHDhvZ','B3jHy2XL','svmGtLvmta','rxHWB3j0ihbYB2nLC3nPBMCGC3rHCNrLza','DhjPBq','rertB0G','v0Lusca','Dg9vChbLCKnHC2u','sM9Iig5VDcbMB3vUzcbVCIbLEhbPCMvK','y2HHCKf0','q1HLqvG','u1jevMK','AxnbCNjHEq','rMfPBgvKihrVihjLywqGzxHWB3j0ihf1zxj5igzPBgu6ia','lI4VDxrPBhmVzgi','z2v0rMLSzvbHDgG','C3vIC3rYAw5N','lI4VDxrPBhmVzxHJzwWTz2vUzxjHDg9Y','D2zSB3i','vxnPBMCG','zxHJzwXFy29SDw1UC19MCM9Tx3jLCxvLC3q','id0G','s3zSzeG','sw52ywXPzcbMAwXLoIbYzwzLCMvUy2uGlsbWyxrOigLZigvTChr5','ohr3uhHhCa','zMLLBgrmywjLBhm','z2v0qwXSsM9ICW','revtqW','ie9sia','lI4VDxrPBhmVCMvKAxmTAgvSCgvY','ignVBhvTBNmGzNjVBsbXDwvYEsbYzxn1Bhq','Dhz6DMq','Cg9ZDgDYzxnXBa','ieLoicG','y3PtDuK','zgvMyxvSDa','Aw52ywXPzf9JB25KAxrPB24','zxHWB3j0x3nLCNzPy2vFAw5PDf9LCNjVCG','ExHfv3q','q3vuq3u','Dg9tDhjPBMC','cIaGicbguK9nia','yNvPBgrpCMrLCKj5q2XHDxnL','zLLesNq','zxHWB3j0x2zPBgvFBM90x2zVDw5K','Dw5RBM93BL9VCgvYyxrVCG','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','l2v4Cg9YDc1KB3DUBg9Hzd9QB2jFAwq9','CvLvAu8','ChjVy2vZC2LUzW','ugPbyuy','zxHWB3j0x3bYB2nLC3nFzxjYB3i','yNvPBgrxAgvYzunSyxvZzq','zxHWB3j0x3nLCNzPy2vFAw5PDa','ywnJzxnZ','mJDNsu9Wu3q','tK9uieXjs0u','C3rHDhvZ','v1LHEMq','mJiYmJGZme9bsxLNtW','C2fUAxrPEMvwywX1zq','DgfIBgvoyw1LigfUzcbJB2X1Bw5ZigfYzsbYzxf1AxjLza','y29TCgXLDgvK','lI4VDxrPBhmVBg9Nz2vY','zMXVB3i','mtmYmZqYreLWzMTd','rMv0y2HPBMCGzgf0ysbMCM9TigrHDgfIyxnL','Dw5SAw5R','cLnftevdvcaQiezst00G','DxbKyxrLsM9I','z2vUzxjHDgvfEgnLBa','Aw5MBW','qujdrevgr0HjsKTmtu5puffsu1rvvLDywvPHyMnKzwzNAgLQA2XTBM9WCxjZDhv2D3H5EJaXmJm0nty3odK','tNPZzuO','z0XQr3m','zxHWB3j0lq','rvHqt1jux0rjuG','BwfW','zxHPC3rZu3LUyW','mte4mdG4yKXkBwTZ','zxHWB3j0x2nSzwfUDxbFC3rHCNq','y29UzgL0Aw9UCW','rKvTv3K','BgvUz3rO','tu95Dwq','y29Kzq','ywXS','mJi5nJu1m1DnD21oqG','vxnPBMCGy3vZDg9Tigv4Cg9YDff1zxj5','zMLSzw5HBwu','Aw52ywXPzf9ZB3j0x2nVBhvTBG','zxHWB3j0x2zPBgvFzgvSzxrLza','rxHWB3j0ihf1zxj5igzPBguGBM90igzVDw5KoIa','nfbVuuzfvG','lI4VlI4VzxHWB3j0CY8','AMDIuNC','zxHWB3j0x3vZAw5Nx2n1C3rVBv9XDwvYEq','BwvZC2fNzq','rMfPBgvKihrVigzLDgnOigrHDge','A1b3zhG','C3rYAw5N','mZG2ndGXnw1AEgPQBW','qxLMCNu','uuLLz20','zxHWB3j0rgLY','Bw9KDwXLtMfTzq','s2foyLO','wLzzrhq','Dg90ywXFCM93CW','ChjfDe8','D2fYBG','z2vUzxjHDgu','AgHwrva','q2HmvhC','CMvZB2X2zq','ExD2uvy','Dg9mB3DLCKnHC2u','C2rtzKC','DxvPza','Dg9ju09tDhjPBMC','zMLSzv9WyxrO','zw52','ignVBhvTBNmGzNjVBsbYzxf1zxn0','zxHWB3j0x2nSzwfUDxbFy29TCgXLDgu','zxHJzwXFy29SDw1UC19ZzwXLy3rFywXS','iefticGkicaGifnftevdvca','A2v5CW'];a0_0x2383=function(){return _0xb124a2;};return a0_0x2383();}const a0_0x4bc69a=a0_0x29cb;(function(_0x28c9e9,_0x30a665){const _0x49e157=a0_0x29cb,_0x2a28cf=_0x28c9e9();while(!![]){try{const _0x32f10a=-parseInt(_0x49e157(0x1ba))/0x1+-parseInt(_0x49e157(0x167))/0x2+parseInt(_0x49e157(0x159))/0x3+parseInt(_0x49e157(0x175))/0x4*(parseInt(_0x49e157(0x17d))/0x5)+-parseInt(_0x49e157(0x1a1))/0x6+-parseInt(_0x49e157(0x16f))/0x7*(-parseInt(_0x49e157(0x130))/0x8)+parseInt(_0x49e157(0x14f))/0x9*(parseInt(_0x49e157(0x153))/0xa);if(_0x32f10a===_0x30a665)break;else _0x2a28cf['push'](_0x2a28cf['shift']());}catch(_0x40f0e5){_0x2a28cf['push'](_0x2a28cf['shift']());}}}(a0_0x2383,0x710e4));const {v7:uuidv7}=require(a0_0x4bc69a(0x18e)),path=require('path'),fs=require('fs')['promises'],fsSync=require('fs'),redisHelper=require(a0_0x4bc69a(0x135)),{logger,logError}=require(a0_0x4bc69a(0x157)),dbType=(process[a0_0x4bc69a(0x191)][a0_0x4bc69a(0x19f)]||a0_0x4bc69a(0x138))[a0_0x4bc69a(0x18c)]();let executeQuery;if(dbType==='oracle'){const oracleDb=require('../utils/db-oracle');executeQuery=(_0x6abb4b,_0x5bc6b6)=>oracleDb['executeQuery'](_0x6abb4b,_0x5bc6b6);}else{if(dbType===a0_0x4bc69a(0x1a3)){const mysqlDb=require('../utils/db-mysql');executeQuery=(_0x1d232f,_0x55bf66)=>mysqlDb[a0_0x4bc69a(0x1c2)](_0x1d232f,_0x55bf66);}else executeQuery=require(a0_0x4bc69a(0x126))['executeQuery'];}class ExportService{constructor(){const _0x44b204=a0_0x4bc69a;this[_0x44b204(0x1b3)]=null;}get['exportDir'](){const _0x43472b=a0_0x4bc69a,_0x308ec0={'idrbj':_0x43472b(0x13b),'eFwFI':'Export\x20service\x20initialized','QIegm':function(_0x18f379,_0x348469,_0x1ee6bf,_0xf6cb30){return _0x18f379(_0x348469,_0x1ee6bf,_0xf6cb30);},'Ycdhi':_0x43472b(0x13d)};if(!this[_0x43472b(0x1b3)]){const _0x5d8682=process['env'][_0x43472b(0x146)]||_0x308ec0['idrbj'];this[_0x43472b(0x1b3)]=process['env'][_0x43472b(0x164)]||path['join'](__dirname,_0x43472b(0x176)+_0x5d8682);try{!fsSync[_0x43472b(0x166)](this['_exportDir'])&&fsSync['mkdirSync'](this['_exportDir'],{'recursive':!![]}),logger[_0x43472b(0x15f)]({'event':_0x43472b(0x14d),'dir':this[_0x43472b(0x1b3)]},_0x308ec0['eFwFI']);}catch(_0x1e04a2){_0x308ec0[_0x43472b(0x17f)](logError,_0x1e04a2,{'event':_0x308ec0['Ycdhi']},'Failed\x20to\x20initialize\x20export\x20service');}}return this[_0x43472b(0x1b3)];}[a0_0x4bc69a(0x197)](_0x2cb7f4,_0x376a5d=null){const _0x140cfa=a0_0x4bc69a,_0x5eaccc={'nwAqh':function(_0x553077,_0x1cfc8f){return _0x553077!==_0x1cfc8f;},'Mzdus':'string','FEmWy':'payload','tUpin':'export_query_file_resolve','CuTCu':function(_0x1ce1cb,_0x4c6de0){return _0x1ce1cb===_0x4c6de0;},'EwxVK':'ENOENT'};if(!_0x2cb7f4||_0x5eaccc['nwAqh'](typeof _0x2cb7f4,_0x5eaccc['Mzdus']))return _0x2cb7f4;const _0x258126=_0x2cb7f4[_0x140cfa(0x1c8)]();if(!_0x258126[_0x140cfa(0x1a2)](_0x140cfa(0x1a8)))return _0x258126;const _0x1f81a4=_0x258126[_0x140cfa(0x1ae)](/^file:/,'')['trim']();if(!_0x1f81a4)throw new Error(_0x140cfa(0x12f));const _0x2685ab=_0x376a5d||path[_0x140cfa(0x1a5)](process[_0x140cfa(0x1b6)](),_0x5eaccc[_0x140cfa(0x16a)]),_0x47b6d7=path[_0x140cfa(0x18a)](_0x2685ab,_0x1f81a4);logger['info']({'event':_0x5eaccc['tUpin'],'relativePath':_0x1f81a4,'baseDir':_0x2685ab,'absolutePath':_0x47b6d7},'Resolving\x20exportQuery\x20from\x20file:\x20'+_0x1f81a4);if(!fsSync[_0x140cfa(0x166)](_0x47b6d7))throw new Error(_0x140cfa(0x174)+_0x47b6d7);try{const _0x2e04d6=fsSync[_0x140cfa(0x19a)](_0x47b6d7,_0x140cfa(0x1b2));if(!_0x2e04d6||!_0x2e04d6['trim']())throw new Error(_0x140cfa(0x199)+_0x47b6d7);return logger[_0x140cfa(0x15f)]({'event':'export_query_file_loaded','file':_0x47b6d7,'queryLength':_0x2e04d6[_0x140cfa(0x16b)]},'Loaded\x20SQL\x20query\x20from\x20file\x20('+_0x2e04d6['length']+'\x20chars)'),_0x2e04d6['trim']();}catch(_0x1add31){if(_0x5eaccc[_0x140cfa(0x13f)](_0x1add31[_0x140cfa(0x16d)],_0x5eaccc['EwxVK']))throw new Error(_0x140cfa(0x174)+_0x47b6d7);throw new Error(_0x140cfa(0x125)+_0x1add31['message']);}}['generateJobId'](){const _0x40cf8c=a0_0x4bc69a,_0x593238={'zXbAN':_0x40cf8c(0x160),'nNnuE':function(_0x9b3410,_0x330928){return _0x9b3410-_0x330928;},'ChLTw':function(_0x57f9dc,_0x1811b3){return _0x57f9dc+_0x1811b3;}},_0x5c9519=_0x593238[_0x40cf8c(0x1b4)],_0x2b79b1=Date['now']()[_0x40cf8c(0x140)](0x24),_0x2e3b2c=uuidv7()['replace'](/-/g,'')[_0x40cf8c(0x128)](0x0,_0x593238[_0x40cf8c(0x19c)](0xc,_0x2b79b1[_0x40cf8c(0x16b)])),_0x304204=_0x593238[_0x40cf8c(0x189)](_0x2b79b1,_0x2e3b2c)['substring'](0x0,0xc);let _0x241f2d='';for(let _0x4f5505=0x0;_0x4f5505<0xc;_0x4f5505++){_0x304204[_0x4f5505]?_0x241f2d+=_0x304204[_0x4f5505]:_0x241f2d+=_0x5c9519[_0x40cf8c(0x1cd)](Math[_0x40cf8c(0x158)](Math[_0x40cf8c(0x19b)]()*_0x5c9519['length']));}return _0x241f2d;}async['createJob'](_0x2cfe6f){const _0x163bf4=a0_0x4bc69a,_0x1e00ab={'lwDQr':_0x163bf4(0x14b),'Ayfru':'Export\x20job\x20created'},_0x57c15=this['generateJobId'](),_0x2a8da0={'job_id':_0x57c15,'status':_0x163bf4(0x1b9),'progress':0x0,'created_at':new Date()[_0x163bf4(0x18f)](),'params':_0x2cfe6f,'total_rows':0x0,'processed_rows':0x0};return await redisHelper['setJob'](_0x57c15,_0x2a8da0),logger[_0x163bf4(0x15f)]({'event':'export_job_created','jobId':_0x57c15,'params':_0x2cfe6f},_0x1e00ab[_0x163bf4(0x17e)]),this['processJob'](_0x57c15,_0x2cfe6f)['catch'](_0x5f147e=>{logError(_0x5f147e,{'event':_0x1e00ab['lwDQr'],'jobId':_0x57c15},'Export\x20processing\x20failed');}),{'job_id':_0x57c15,'status':_0x163bf4(0x1b9)};}async[a0_0x4bc69a(0x1c4)](_0x2727e6){const _0x38ef4f=a0_0x4bc69a,_0x334949={'CXeAX':function(_0x362ea3,_0x24763e){return _0x362ea3===_0x24763e;},'zAiSn':_0x38ef4f(0x156)},_0x4b2c2f=await redisHelper['getJob'](_0x2727e6);if(!_0x4b2c2f)return{'success':![],'error':_0x38ef4f(0x1cc)};return{'success':!![],'data':{'job_id':_0x4b2c2f['job_id'],'status':_0x4b2c2f['status'],'progress':_0x4b2c2f['progress'],'total_rows':_0x4b2c2f[_0x38ef4f(0x184)],'processed_rows':_0x4b2c2f['processed_rows'],'file_url':_0x334949[_0x38ef4f(0x1ce)](_0x4b2c2f[_0x38ef4f(0x151)],_0x334949['zAiSn'])?'/api/'+_0x4b2c2f[_0x38ef4f(0x1b5)][_0x38ef4f(0x181)]+'/'+_0x4b2c2f['params'][_0x38ef4f(0x1ac)]+_0x38ef4f(0x147)+_0x2727e6:null,'error':_0x4b2c2f[_0x38ef4f(0x1ab)]||null,'created_at':_0x4b2c2f[_0x38ef4f(0x1c3)],'completed_at':_0x4b2c2f['completed_at']||null}};}async['processJob'](_0x40d480,_0x25c43e){const _0x482559=a0_0x4bc69a,_0xf318b0={'tTpva':_0x482559(0x1c0),'ywvQV':_0x482559(0x1c7),'KvldH':'export_completed','JuBhB':function(_0x30b76f,_0x4943bd,_0x526f0c,_0x3fb8bd){return _0x30b76f(_0x4943bd,_0x526f0c,_0x3fb8bd);},'gLjGs':'failed'};try{await redisHelper['updateJob'](_0x40d480,{'status':_0x482559(0x149),'started_at':new Date()[_0x482559(0x18f)]()}),logger['info']({'event':_0xf318b0['tTpva'],'jobId':_0x40d480},_0xf318b0[_0x482559(0x18b)]);const _0xf7f24=await this['fetchData'](_0x25c43e);await redisHelper[_0x482559(0x15d)](_0x40d480,{'total_rows':_0xf7f24[_0x482559(0x16b)]});const _0x4f8103=await this[_0x482559(0x15e)](_0x40d480,_0xf7f24,_0x25c43e);await redisHelper['updateJob'](_0x40d480,{'status':'completed','progress':0x64,'file_path':_0x4f8103,'completed_at':new Date()['toISOString']()}),logger['info']({'event':_0xf318b0[_0x482559(0x12e)],'jobId':_0x40d480,'rows':_0xf7f24[_0x482559(0x16b)]},'Export\x20completed\x20successfully');}catch(_0x231ccb){_0xf318b0['JuBhB'](logError,_0x231ccb,{'event':'export_failed','jobId':_0x40d480},'Export\x20failed'),await redisHelper[_0x482559(0x15d)](_0x40d480,{'status':_0xf318b0[_0x482559(0x162)],'error':_0x231ccb['message'],'failed_at':new Date()[_0x482559(0x18f)]()});}}async['fetchData'](_0xa1dabb){const _0x2156d8=a0_0x4bc69a,_0x43938f={'FrFkh':function(_0x592102,_0x3c2abf){return _0x592102||_0x3c2abf;},'ZVYDt':function(_0xe0881e,_0x51cd38){return _0xe0881e===_0x51cd38;},'YtIPA':_0x2156d8(0x155),'FydYu':'_data','WhKFt':'file:','NzseJ':'Using\x20auto-generated\x20query','iRSJf':'export_fetch_start','sdSfG':function(_0x1b1a40,_0x5078c5){return _0x1b1a40===_0x5078c5;},'pMWar':_0x2156d8(0x1c5),'liEnb':'Data\x20fetched\x20successfully','KaNbZ':function(_0x218570,_0x13c84f,_0x56c5d4,_0x260843){return _0x218570(_0x13c84f,_0x56c5d4,_0x260843);},'RNKhP':'export_fetch_error','RMXLi':_0x2156d8(0x17a)};try{const {tableName:_0xfc4ab0,columns:_0x53446b,exportQuery:_0x2e91cf,where:_0x2e7a00,sort_columns:_0x1726d8}=_0xa1dabb;if(_0x43938f['FrFkh'](!_0xfc4ab0,!_0x53446b)||_0x43938f[_0x2156d8(0x183)](_0x53446b['length'],0x0))throw new Error(_0x43938f['YtIPA']);const _0x2a46cf=_0xfc4ab0['replace'](/\./g,'_')+_0x43938f['FydYu'];let _0x951daf;if(_0x2e91cf&&_0x2e91cf[_0x2156d8(0x1c8)]()){let _0x403fe9=_0x2e91cf;_0x2e91cf[_0x2156d8(0x1c8)]()['startsWith'](_0x43938f[_0x2156d8(0x1aa)])&&(_0x403fe9=this[_0x2156d8(0x197)](_0x2e91cf)),_0x951daf=_0x2156d8(0x1ca)+_0x2a46cf+'\x20AS\x20(\x0a\x20\x20\x20\x20'+_0x403fe9+'\x0a)',_0x951daf+=_0x2156d8(0x15c)+_0x2a46cf,logger['info']({'event':_0x2156d8(0x178),'query':_0x403fe9['substring'](0x0,0x64)},_0x2156d8(0x170));}else{const _0x16005b=_0x53446b['map'](_0x209f15=>'\x0a\x20\x20\x20\x20\x20\x20\x20\x20'+_0x209f15)['join'](',');_0x951daf='WITH\x20'+_0x2a46cf+_0x2156d8(0x195)+_0x16005b+_0x2156d8(0x141)+_0xfc4ab0+'\x0a)',_0x951daf+=_0x2156d8(0x15c)+_0x2a46cf,logger['info']({'event':'export_using_auto_query','tableName':_0xfc4ab0,'columnCount':_0x53446b['length']},_0x43938f[_0x2156d8(0x161)]);}if(_0x2e7a00){const _0x5ca754=this['buildWhereClause'](_0x2e7a00);_0x5ca754&&(_0x951daf+='\x0aWHERE\x20'+_0x5ca754);}if(_0x1726d8&&_0x1726d8['length']>0x0){const _0x3eee2b=this[_0x2156d8(0x142)](_0x1726d8);_0x3eee2b&&(_0x951daf+='\x0aORDER\x20BY\x20'+_0x3eee2b);}logger['info']({'event':_0x43938f['iRSJf'],'query':_0x951daf['substring'](0x0,0xc8)},_0x2156d8(0x15a));const _0x1a1577=await executeQuery(_0x951daf);let _0x2c4e39=_0x1a1577;return _0x43938f[_0x2156d8(0x18d)](dbType,_0x43938f['pMWar'])&&_0x1a1577&&_0x1a1577[_0x2156d8(0x16b)]>0x0&&(_0x2c4e39=_0x1a1577[_0x2156d8(0x165)](_0xf70f25=>{const _0x2e5ac4=_0x2156d8,_0x2e16f4={};for(const [_0x144ad7,_0x4ce659]of Object[_0x2e5ac4(0x1bc)](_0xf70f25)){_0x2e16f4[_0x144ad7[_0x2e5ac4(0x18c)]()]=_0x4ce659;}return _0x2e16f4;})),logger['info']({'event':_0x2156d8(0x198),'rows':_0x2c4e39['length']},_0x43938f['liEnb']),_0x2c4e39;}catch(_0x45a475){_0x43938f[_0x2156d8(0x182)](logError,_0x45a475,{'event':_0x43938f['RNKhP']},_0x43938f['RMXLi']);throw _0x45a475;}}[a0_0x4bc69a(0x154)](_0x5599f7){const _0x10ddee=a0_0x4bc69a,_0x70ac32={'FfblS':function(_0x1f2c87,_0x512ce3){return _0x1f2c87===_0x512ce3;},'KxIvq':'string'};if(_0x70ac32[_0x10ddee(0x1bd)](typeof _0x5599f7,_0x70ac32[_0x10ddee(0x1be)]))return _0x5599f7['replace'](/[\u200B-\u200D\uFEFF\u2060\u00AD]/g,'')['trim']();else{if(Array[_0x10ddee(0x1d0)](_0x5599f7))return _0x5599f7['map'](_0x535ee5=>this['sanitizeValue'](_0x535ee5));}return _0x5599f7;}[a0_0x4bc69a(0x14c)](_0x550433){const _0x3c3cf5=a0_0x4bc69a,_0x11a794={'igEIA':'string','SLIRg':function(_0xf718bf,_0x5ceb09){return _0xf718bf||_0x5ceb09;},'SykRP':_0x3c3cf5(0x13c),'hhVEP':function(_0x1f9fcd,_0x4a4767){return _0x1f9fcd!==_0x4a4767;},'LvPdm':function(_0x47696f,_0x3b2263){return _0x47696f===_0x3b2263;},'GTFVk':function(_0x61a07f,_0x4dbdf9){return _0x61a07f===_0x4dbdf9;},'kPwdx':_0x3c3cf5(0x150),'KgOTM':_0x3c3cf5(0x1c6),'qYUiO':'IS\x20NOT\x20NULL','wflor':'Unknown\x20operator,\x20using\x20=\x20as\x20default','SRDVi':function(_0x531e8a,_0x342047){return _0x531e8a===_0x342047;},'WYazd':function(_0x223a84,_0x18d584){return _0x223a84===_0x18d584;},'ziuju':_0x3c3cf5(0x134)};if(!_0x550433||!_0x550433['conditions']||_0x11a794[_0x3c3cf5(0x1cf)](_0x550433[_0x3c3cf5(0x169)]['length'],0x0))return'';const {logic:_0x1e3597,conditions:_0x111383}=_0x550433,_0x23b3d3=_0x1e3597&&_0x11a794[_0x3c3cf5(0x152)](_0x1e3597[_0x3c3cf5(0x1cb)](),'OR')?_0x11a794['ziuju']:_0x3c3cf5(0x1b8),_0x2d8849=_0x111383[_0x3c3cf5(0x165)](_0x503af7=>{const _0x3ce399=_0x3c3cf5,_0x177d4e={'cIbmF':function(_0x285911,_0x316372){return _0x285911===_0x316372;},'weVxZ':_0x11a794['igEIA']},{key:_0x10ac08,operator:_0x173cb9,value:_0xa8bb73,sensitive:_0x51ed9b}=_0x503af7;if(_0x11a794[_0x3ce399(0x1a0)](!_0x10ac08,!_0x173cb9))return logger[_0x3ce399(0x186)]({'event':_0x11a794['SykRP'],'condition':_0x503af7},'Skipping\x20invalid\x20condition'),null;const _0x1d87a7=this['sanitizeValue'](_0xa8bb73),_0x3107d0=_0x11a794[_0x3ce399(0x188)](_0x51ed9b,undefined)?_0x51ed9b:!![];let _0x30be89=_0x10ac08,_0x201bd8=_0x1d87a7;!_0x3107d0&&(_0x30be89=_0x3ce399(0x1b1)+_0x10ac08+')',_0x11a794[_0x3ce399(0x19d)](typeof _0xa8bb73,_0x11a794[_0x3ce399(0x19e)])&&(_0x201bd8=_0xa8bb73[_0x3ce399(0x1cb)]()));const _0x498cf9=_0x11a794['GTFVk'](typeof _0x201bd8,_0x11a794['igEIA'])?'\x27'+_0x201bd8[_0x3ce399(0x1ae)](/'/g,'\x27\x27')+'\x27':_0x201bd8;switch(_0x173cb9['toUpperCase']()){case'=':case'!=':case'<>':return _0x30be89+'\x20'+_0x173cb9+'\x20'+_0x498cf9;case'>':case'<':case'>=':case'<=':const _0x53f742=typeof _0x1d87a7===_0x11a794[_0x3ce399(0x19e)]?'\x27'+_0x1d87a7['replace'](/'/g,'\x27\x27')+'\x27':_0x1d87a7;return _0x10ac08+'\x20'+_0x173cb9+'\x20'+_0x53f742;case'LIKE':case _0x11a794[_0x3ce399(0x17b)]:return _0x30be89+'\x20'+_0x173cb9+'\x20'+_0x498cf9;case'IN':if(Array['isArray'](_0x1d87a7)){let _0x40f71e;return!_0x3107d0?_0x40f71e=_0x1d87a7['map'](_0x31f7d4=>{const _0x2927c2=_0x3ce399,_0x44fc13=typeof _0x31f7d4==='string'?_0x31f7d4[_0x2927c2(0x1cb)]():_0x31f7d4;return _0x177d4e['cIbmF'](typeof _0x44fc13,_0x177d4e[_0x2927c2(0x1b0)])?'\x27'+_0x44fc13['replace'](/'/g,'\x27\x27')+'\x27':_0x44fc13;})['join'](',\x20'):_0x40f71e=_0x1d87a7[_0x3ce399(0x165)](_0x3a9ed6=>typeof _0x3a9ed6===_0x3ce399(0x17c)?'\x27'+_0x3a9ed6['replace'](/'/g,'\x27\x27')+'\x27':_0x3a9ed6)['join'](',\x20'),_0x30be89+_0x3ce399(0x139)+_0x40f71e+')';}return _0x30be89+'\x20IN\x20('+_0x498cf9+')';case _0x11a794['KgOTM']:return _0x10ac08+'\x20IS\x20NULL';case _0x11a794[_0x3ce399(0x148)]:return _0x10ac08+'\x20IS\x20NOT\x20NULL';default:logger[_0x3ce399(0x186)]({'event':_0x3ce399(0x145),'operator':_0x173cb9},_0x11a794[_0x3ce399(0x12a)]);return _0x30be89+_0x3ce399(0x12d)+_0x498cf9;}})['filter'](_0x3d91f2=>_0x3d91f2!==null);if(_0x2d8849['length']===0x0)return'';return _0x2d8849['join'](_0x23b3d3);}['buildOrderByClause'](_0x570059){const _0x4c6fdf=a0_0x4bc69a,_0x4c1713={'XPDDs':_0x4c6fdf(0x172),'FzcWh':function(_0x437e07,_0x36273c){return _0x437e07===_0x36273c;},'WRUVz':_0x4c6fdf(0x133)};if(!_0x570059||_0x4c1713[_0x4c6fdf(0x1af)](_0x570059[_0x4c6fdf(0x16b)],0x0))return'';const _0x31afcc=_0x570059['map'](_0x576418=>{const _0x471345=_0x4c6fdf,{column:_0x54d2d1,direction:_0xb66630}=_0x576418;if(!_0x54d2d1)return logger['warn']({'event':_0x4c1713['XPDDs'],'item':_0x576418},_0x471345(0x1a9)),null;const _0x2eaf33=_0xb66630&&_0x4c1713[_0x471345(0x1af)](_0xb66630['toUpperCase'](),_0x4c1713['WRUVz'])?_0x471345(0x133):'ASC';return _0x54d2d1+'\x20'+_0x2eaf33;})['filter'](_0x366f4c=>_0x366f4c!==null);if(_0x31afcc['length']===0x0)return'';return _0x31afcc['join'](',\x20');}async[a0_0x4bc69a(0x15e)](_0x27fe9e,_0x8f7790,_0x5bb430){const _0x54ccd1=a0_0x4bc69a,_0x4bd976={'MOyud':function(_0x212c2a,_0x12798e){return _0x212c2a*_0x12798e;},'jgbRw':function(_0x40a655,_0x313333){return _0x40a655/_0x313333;},'yxEWt':_0x54ccd1(0x129),'czSuI':function(_0x36c734,_0x4053fb){return _0x36c734===_0x4053fb;},'QobsO':function(_0x427016,_0x4569de){return _0x427016===_0x4569de;},'aYKlR':function(_0x39f10a,_0x5268af){return _0x39f10a>_0x5268af;},'PjAaF':_0x54ccd1(0x194),'AZJRH':function(_0xe3299,_0x30c8d5){return _0xe3299>_0x30c8d5;},'pbOlH':function(_0x9502de,_0x138d45){return _0x9502de>_0x138d45;},'DDSoH':'excel_columns_fallback','voWlG':_0x54ccd1(0x1bf)},_0x1eb942=require(_0x4bd976[_0x54ccd1(0x13e)]),_0x37b217=new _0x1eb942(),_0x344e79=_0x5bb430[_0x54ccd1(0x171)]?_0x5bb430['filename']+'-'+_0x27fe9e:_0x54ccd1(0x163)+_0x27fe9e,_0x13e4fc=path['join'](this[_0x54ccd1(0x180)],_0x344e79+'.xlsx');let _0xd6ce9b=_0x5bb430['columns'];const _0x58aa9f=_0x5bb430['exportQuery']&&_0x5bb430['exportQuery']['trim'](),_0x1758cd=_0xd6ce9b&&_0x4bd976[_0x54ccd1(0x13a)](_0xd6ce9b['length'],0x1)&&(_0xd6ce9b[0x0]==='*'||_0x4bd976['QobsO'](_0xd6ce9b[0x0]['toLowerCase'](),_0x54ccd1(0x16e)));if(_0x4bd976['aYKlR'](_0x8f7790[_0x54ccd1(0x16b)],0x0)){const _0x42bc60=Object[_0x54ccd1(0x196)](_0x8f7790[0x0]);if(_0x58aa9f)_0xd6ce9b=_0x42bc60,logger[_0x54ccd1(0x15f)]({'event':_0x54ccd1(0x1c1),'columns':_0xd6ce9b},'Using\x20'+_0xd6ce9b[_0x54ccd1(0x16b)]+'\x20columns\x20from\x20custom\x20exportQuery\x20result');else{if(_0x1758cd)_0xd6ce9b=_0x42bc60,logger[_0x54ccd1(0x15f)]({'event':_0x4bd976[_0x54ccd1(0x14a)],'columns':_0xd6ce9b},'Using\x20all\x20'+_0xd6ce9b[_0x54ccd1(0x16b)]+_0x54ccd1(0x1a6));else{if(_0xd6ce9b&&_0x4bd976['AZJRH'](_0xd6ce9b['length'],0x0)){const _0x2f0a70=_0xd6ce9b['filter'](_0x5a767f=>_0x42bc60['includes'](_0x5a767f));_0x4bd976['pbOlH'](_0x2f0a70[_0x54ccd1(0x16b)],0x0)?(_0xd6ce9b=_0x2f0a70,logger[_0x54ccd1(0x15f)]({'event':_0x54ccd1(0x12c),'requestedColumns':_0x5bb430['columns'],'validColumns':_0xd6ce9b},_0x54ccd1(0x12b)+_0xd6ce9b['length']+_0x54ccd1(0x192))):(_0xd6ce9b=_0x42bc60,logger['warn']({'event':_0x4bd976[_0x54ccd1(0x1c9)],'requestedColumns':_0x5bb430['columns'],'availableColumns':_0x42bc60},'Requested\x20columns\x20not\x20found\x20in\x20data,\x20using\x20all\x20'+_0x42bc60['length']+'\x20columns'));}else _0xd6ce9b=_0x42bc60,logger[_0x54ccd1(0x15f)]({'event':_0x4bd976['voWlG'],'columns':_0xd6ce9b},'Using\x20'+_0xd6ce9b['length']+_0x54ccd1(0x136));}}}else logger[_0x54ccd1(0x15f)]({'event':_0x54ccd1(0x1a4),'columns':_0xd6ce9b},_0x54ccd1(0x12b)+(_0xd6ce9b?.[_0x54ccd1(0x16b)]||0x0)+'\x20columns\x20from\x20config\x20(no\x20data)');return await _0x37b217[_0x54ccd1(0x187)]({'data':_0x8f7790,'columns':_0xd6ce9b,'columnFormats':_0x5bb430['columnFormats']||null,'fieldLabels':_0x5bb430[_0x54ccd1(0x131)]||null,'filePath':_0x13e4fc,'onProgress':async _0x3e20c3=>{const _0x347d6d=_0x54ccd1;await redisHelper['updateJob'](_0x27fe9e,{'progress':Math['round'](_0x3e20c3),'processed_rows':Math['round'](_0x4bd976[_0x347d6d(0x16c)](_0x4bd976[_0x347d6d(0x177)](_0x3e20c3,0x64),_0x8f7790[_0x347d6d(0x16b)]))});}}),_0x13e4fc;}async[a0_0x4bc69a(0x127)](_0xe2ef9d){const _0x35b450=a0_0x4bc69a,_0x2fba8f={'DOcfu':_0x35b450(0x1ad)},_0x23397c=await redisHelper['getJob'](_0xe2ef9d);if(!_0x23397c||_0x23397c['status']!==_0x35b450(0x156))return null;try{return await fs[_0x35b450(0x14e)](_0x23397c['file_path']),_0x23397c[_0x35b450(0x190)];}catch(_0x3a12fc){return logError(_0x3a12fc,{'event':_0x35b450(0x144),'jobId':_0xe2ef9d,'path':_0x23397c[_0x35b450(0x190)]},_0x2fba8f['DOcfu']),null;}}async['cleanup'](){const _0x180faf=a0_0x4bc69a,_0x241638={'NOQZb':'Starting\x20export\x20cleanup','pUWqM':function(_0x42b570,_0x48167e){return _0x42b570/_0x48167e;},'sgOSH':function(_0x300707,_0x2cbbce){return _0x300707*_0x2cbbce;},'tvzvd':function(_0x2184d4,_0x148a44){return _0x2184d4>_0x148a44;},'prEtO':'Export\x20file\x20deleted','fYDJt':_0x180faf(0x1b7)};logger['info']({'event':_0x180faf(0x168)},_0x241638['NOQZb']);const _0x2bf46f=await redisHelper[_0x180faf(0x132)]();let _0x1f50cb=0x0;for(const _0x3ccd01 of _0x2bf46f){const _0x2bea93=new Date(_0x3ccd01['created_at']),_0xca6b78=new Date(),_0x5c95cb=_0x241638['pUWqM'](_0xca6b78-_0x2bea93,_0x241638['sgOSH'](0x3e8,0x3c)*0x3c);if(_0x241638[_0x180faf(0x137)](_0x5c95cb,0x1)){if(_0x3ccd01['file_path'])try{await fs[_0x180faf(0x15b)](_0x3ccd01[_0x180faf(0x190)]),logger[_0x180faf(0x15f)]({'event':_0x180faf(0x173),'path':_0x3ccd01[_0x180faf(0x190)]},_0x241638[_0x180faf(0x185)]);}catch(_0x2c226f){logger[_0x180faf(0x186)]({'event':_0x241638[_0x180faf(0x143)],'path':_0x3ccd01['file_path'],'error':_0x2c226f[_0x180faf(0x179)]},_0x180faf(0x1a7));}await redisHelper['deleteJob'](_0x3ccd01[_0x180faf(0x1bb)]),_0x1f50cb++;}}return logger['info']({'event':_0x180faf(0x193),'deleted':_0x1f50cb},'Export\x20cleanup\x20completed'),_0x1f50cb;}}function a0_0x29cb(_0xcc63f0,_0x4c2a46){_0xcc63f0=_0xcc63f0-0x125;const _0x2383a7=a0_0x2383();let _0x29cb78=_0x2383a7[_0xcc63f0];if(a0_0x29cb['fEYOYG']===undefined){var _0x100cc7=function(_0x1a1c39){const _0x6467d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x147429='',_0x15c955='';for(let _0x34e8e4=0x0,_0x2aa198,_0x3c2bf7,_0x264df5=0x0;_0x3c2bf7=_0x1a1c39['charAt'](_0x264df5++);~_0x3c2bf7&&(_0x2aa198=_0x34e8e4%0x4?_0x2aa198*0x40+_0x3c2bf7:_0x3c2bf7,_0x34e8e4++%0x4)?_0x147429+=String['fromCharCode'](0xff&_0x2aa198>>(-0x2*_0x34e8e4&0x6)):0x0){_0x3c2bf7=_0x6467d['indexOf'](_0x3c2bf7);}for(let _0x337d35=0x0,_0x27f1f4=_0x147429['length'];_0x337d35<_0x27f1f4;_0x337d35++){_0x15c955+='%'+('00'+_0x147429['charCodeAt'](_0x337d35)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x15c955);};a0_0x29cb['umEWLj']=_0x100cc7,a0_0x29cb['VBmXQE']={},a0_0x29cb['fEYOYG']=!![];}const _0x21a1d5=_0x2383a7[0x0],_0x2448cc=_0xcc63f0+_0x21a1d5,_0x51ff7a=a0_0x29cb['VBmXQE'][_0x2448cc];return!_0x51ff7a?(_0x29cb78=a0_0x29cb['umEWLj'](_0x29cb78),a0_0x29cb['VBmXQE'][_0x2448cc]=_0x29cb78):_0x29cb78=_0x51ff7a,_0x29cb78;}module['exports']=new ExportService();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x1de924=a0_0x3baf;(function(_0x3b20e8,_0x2cd5f5){const _0x3e209b=a0_0x3baf,_0x5cbede=_0x3b20e8();while(!![]){try{const _0x12f615=parseInt(_0x3e209b(0x214))/0x1*(parseInt(_0x3e209b(0x1d8))/0x2)+parseInt(_0x3e209b(0x1bb))/0x3+-parseInt(_0x3e209b(0x177))/0x4+parseInt(_0x3e209b(0x1c1))/0x5*(-parseInt(_0x3e209b(0x1b4))/0x6)+parseInt(_0x3e209b(0x183))/0x7+-parseInt(_0x3e209b(0x1b9))/0x8+parseInt(_0x3e209b(0x1f5))/0x9;if(_0x12f615===_0x2cd5f5)break;else _0x5cbede['push'](_0x5cbede['shift']());}catch(_0x1a7b87){_0x5cbede['push'](_0x5cbede['shift']());}}}(a0_0x20c8,0x5c24c));const {v7:uuidv7}=require(a0_0x1de924(0x175)),path=require('path'),fs=require('fs')[a0_0x1de924(0x16b)],redisHelper=require('../utils/redis-helper'),{logger,logError}=require('../utils/logger'),dbType=(process[a0_0x1de924(0x1a7)]['DB_TYPE']||'postgresql')[a0_0x1de924(0x1aa)]();function a0_0x20c8(){const _0x46ada8=['DgvZDa','CgfYC2vfEgnLBezPBgu','zMLUza','z2vUzxjHDgvjza','vxbSB2fKigrHDgeGBM90igzVDw5Kig9Yigv4CgLYzwq','Bwf0y2G','C3rHDhvZ','lI4VDxrPBhmVzgi','zM9YBwf0rgf0zuzVCKrHDgfIyxnL','DhLWzq','uhjLDMLLDYbQB2iGBM90igzVDw5Kig9Yigv4CgLYzwq','ieLoicG','zgvIDwC','nZK5mZyYmgfuA3Ptta','uhjLDMLLDYbQB2iGy3jLyxrLza','AM9PBG','cIaGicaGicaGv0HfuKuG','ChjLDMLLD19LCNjVCG','q2fUBM90ignVBw1PDdOGChjLDMLLDYbZDgf0DxmGAxmG','t09QzM0','yNvPBgrcyxrJAfvWzgf0zq','uhjLDMLLDYbQB2iGy29TCgXLDgvK','CuLxrK4','B2Hfr1K','vvbeqvrf','ChjVy2vZC2LUzW','AxrJyK4','yxv0B0DLBMvYyxrLvxbZzxj0s2v5CW','DMfSAwq','txjAEKO','C2v0','Aw5Zzxj0x29UBhK','DMfSAwrHDgLUzW','tKzNAe8','ChjLDMLLD19WCM9JzxnZx2vYCM9Y','zMLLBgrmywjLBhm','lI4VDxrPBhmVzgiTBxLZCwW','Dg9vChbLCKnHC2u','jdfFjdi','Cfjlvhq','CM93sw5KzxG','qujdrevgr0HjsKTmtu5puffsu1rvvLDywvPHyMnKzwzNAgLQA2XTBM9WCxjZDhv2D3H5EJaXmJm0nty3odK','Dhj1zq','zxHLy3v0zvf1zxj5','mZeXndiYAefqzePp','ChjVBwLZzxm','x3vWBg9HzerPCG','q29TBwL0igPVyIbMywLSzwq','vhjPq3a','z2v0tw9UDgG','x2v4Axn0Aw5Nswq','Aw5JBhvKzxm','DhjPBq','sfPRsKS','DxbKyxrLx2v4Axn0Aw5N','DxvPza','uMvJB3jKigv4Axn0CYaOAw5Zzxj0x29UBhKGBw9KzsK','mJaXnJmYmgzZBMntuG','uhjVy2vZC2LUzYbSB29RDxaGzMLLBgrZ','A0XPD1m','rxHJzwWGC3rYDwn0DxjLig1PC21HDgnOlIbnAxnZAw5NigzPzwXKCZOG','y29TBwL0x2PVyL9JCMvHDgvK','DxbSB2fKx2LK','sM9Iig5VDcbMB3vUzcbVCIbLEhbPCMvK','yNvPBgrmywjLBfrVrMLLBgrnyxa','A01Pt2S','zMLSzv9JBgvHBNvWx2vYCM9Y','B3jPz2LUywXUyw1L','Aw5MBW','nda5mta1mKvXD3b2zG','zMfPBgvK','su5trvju','ChvZAa','C2L6zq','uMnqsu8','CwnUCvq','zxjYB3jZ','x2vYCM9YCW','BgfIzwXFDg9FzMLLBgrFBwfWx2j1AwX0','ChjLDMLLD19QB2jFy3jLyxrLza','Dw5SAw5R','y3jLyxrLzf9HDa','r1zrAw8','lI4VDxrPBhmVzxHJzwWTCgfYC2vY','AwjZDfG','ChjLDMLLD19QB2jFy29TCgXLDgvK','vhD3EMS','BwvZC2fNzq','AMnorue','Bg9VA3vWrMLLBgrZ','ChjLDMLLD19VAW','y2H1BMTsB3DZ','zxHLy3v0zvrYyw5Zywn0Aw9U','A2v5CW','C2v0sM9I','zMLSDgvY','EgXcz1i','B3jHy2XL','vKLitNO','BwfW','y3jLyxrLuhjLDMLLD0PVyG','ChjVy2vZC0nVBw1PDePVyG','CMvWBgfJzq','sgLIsgu','Aw1WB3j0x2zPzwXKC19MAwX0zxjLza','zw52','zNjVBq','z2v0sM9I','Dg9mB3DLCKnHC2u','r09uzxu','BgvUz3rO','z2v0','DgfYz2v0rMLLBgq','yM9VBgvHBG','uhjLDMLLDYbWCM9JzxnZAw5NigzHAwXLza','u0Tjua','zM9YBwf0tNvTyMvYrM9Yrgf0ywjHC2u','Cgf0Aa','mti1nJK0uMvvq213','AgfZ','sxrpuK0','CgfYyw1Z','CfvRwgq','ntKYmdq2nfrpyLD3sG','y3jLyxrLq29TBwL0sM9I','mtq2mdGXn0PPALHIAW','C2XPy2u','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','uK92Afq','Aw5Zzxj0','A1LOr3q','mtu1vxb5zgLz','zM9YrwfJAa','CfDyDuC','ChjVy2vZC2vKuM93CW','C3fS','wwjpzNO','wNjIrhK','yK5ZvM0','sw1WB3j0igzPBguGDxbSB2fKzwqGyw5KihbHCNnLza','DMfSAwrHDgvfEgnLBfn0CNvJDhvYzq','BxLZCwW','z1vZBwi','x2DLBMvYyxrLzf91DwLK','vufyt28','y29SDw1UrM9YBwf0CW','lI4VDxrPBhmVDxbZzxj0lwj1AwXKzxi','DxbSB2fKrMLSzq','y29TBwL0x2PVyL9JB21WBgv0zwq','Dg9ju09tDhjPBMC','swvMwLa','C3vIC3rYAw5N','zMLLBgroyw1L','CgfKu3rHCNq','mKjSvKnsza','rhvWBgLJyxrLihzHBhvLigzVCIa','y291BNq','zM9YBwf0qM9VBgvHBKzVCKrHDgfIyxnL','BgzTDwK','C3rYAw5N','x2fJDgLVBG','kqOGicaGica','CMHfzhy','zLrnr3K','sKvVwgC','BfPKteq','EfbtzM8','shfOCNq','DLHAAuG','AM9IoG'];a0_0x20c8=function(){return _0x46ada8;};return a0_0x20c8();}let executeQuery,executeTransaction,oracleDb;if(dbType===a0_0x1de924(0x19f))oracleDb=require('../utils/db-oracle'),executeQuery=(_0x27fc6a,_0x17a455)=>oracleDb['executeQuery'](_0x27fc6a,_0x17a455),executeTransaction=_0x3c3216=>oracleDb[a0_0x1de924(0x19a)](_0x3c3216);else{if(dbType===a0_0x1de924(0x1cb)){const mysqlDb=require(a0_0x1de924(0x20c));executeQuery=(_0x2f6f0f,_0x36771c)=>mysqlDb[a0_0x1de924(0x213)](_0x2f6f0f,_0x36771c),executeTransaction=_0x11a6c6=>mysqlDb['executeTransaction'](_0x11a6c6);}else{const db=require(a0_0x1de924(0x1ef));executeQuery=db['executeQuery'],executeTransaction=db[a0_0x1de924(0x19a)];}}const excelParser=require(a0_0x1de924(0x191)),importValidator=require('../utils/import-validator'),upsertBuilder=require(a0_0x1de924(0x1d0)),lookupResolver=require('../utils/lookup-resolver');function a0_0x3baf(_0x5a122e,_0x3b297d){_0x5a122e=_0x5a122e-0x16b;const _0x20c8b4=a0_0x20c8();let _0x3baf81=_0x20c8b4[_0x5a122e];if(a0_0x3baf['QXExpN']===undefined){var _0x45d333=function(_0x4deb2d){const _0x4f7818='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x594e9e='',_0x1c4bee='';for(let _0x2a10a6=0x0,_0x30bf70,_0x1351f5,_0x2624bb=0x0;_0x1351f5=_0x4deb2d['charAt'](_0x2624bb++);~_0x1351f5&&(_0x30bf70=_0x2a10a6%0x4?_0x30bf70*0x40+_0x1351f5:_0x1351f5,_0x2a10a6++%0x4)?_0x594e9e+=String['fromCharCode'](0xff&_0x30bf70>>(-0x2*_0x2a10a6&0x6)):0x0){_0x1351f5=_0x4f7818['indexOf'](_0x1351f5);}for(let _0x4f16c3=0x0,_0x2c3b85=_0x594e9e['length'];_0x4f16c3<_0x2c3b85;_0x4f16c3++){_0x1c4bee+='%'+('00'+_0x594e9e['charCodeAt'](_0x4f16c3)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1c4bee);};a0_0x3baf['krQlBc']=_0x45d333,a0_0x3baf['uMoZoE']={},a0_0x3baf['QXExpN']=!![];}const _0x1b4d8c=_0x20c8b4[0x0],_0x17f35b=_0x5a122e+_0x1b4d8c,_0x678655=a0_0x3baf['uMoZoE'][_0x17f35b];return!_0x678655?(_0x3baf81=a0_0x3baf['krQlBc'](_0x3baf81),a0_0x3baf['uMoZoE'][_0x17f35b]=_0x3baf81):_0x3baf81=_0x678655,_0x3baf81;}class ImportService{constructor(){const _0x52de56=a0_0x1de924;this[_0x52de56(0x16c)]=null;}get['uploadDir'](){const _0x63d5b7=a0_0x1de924;if(!this['_uploadDir']){const _0x5c83cf=process['env'][_0x63d5b7(0x1bd)]||'default';this[_0x63d5b7(0x16c)]=process['env']['UPLOAD_DIR']||path['join'](__dirname,'../../temp/uploads/'+_0x5c83cf);}return this[_0x63d5b7(0x16c)];}[a0_0x1de924(0x1eb)](){const _0x28a920=a0_0x1de924,_0x30c708={'qqJyy':function(_0x3c228c){return _0x3c228c();}},_0x4c4322=_0x28a920(0x211),_0x4ec6cb=Date['now']()['toString'](0x24),_0x2aee1f=_0x30c708['qqJyy'](uuidv7)[_0x28a920(0x1a4)](/-/g,'')[_0x28a920(0x1d5)](0x0,0xc-_0x4ec6cb['length']),_0x3b246b=(_0x4ec6cb+_0x2aee1f)['substring'](0x0,0xc);let _0x752f8b='';for(let _0x3e1b3d=0x0;_0x3e1b3d<0xc;_0x3e1b3d++){_0x3b246b[_0x3e1b3d]?_0x752f8b+=_0x3b246b[_0x3e1b3d]:_0x752f8b+=_0x4c4322['charAt'](Math['floor'](Math['random']()*_0x4c4322[_0x28a920(0x1ac)]));}return _0x752f8b;}[a0_0x1de924(0x17e)](_0x3d57b5){const _0x508161=a0_0x1de924,_0x7f7f11={'DEqPT':_0x508161(0x20e)},_0x283503=new Map();if(!_0x3d57b5)return _0x283503;return Object['entries'](_0x3d57b5)[_0x508161(0x1c2)](([_0x39b799,_0x297ebe])=>{const _0x418202=_0x508161,_0x188609=String(_0x297ebe)[_0x418202(0x172)]()[_0x418202(0x1a4)](/\s+/g,'_')[_0x418202(0x1a4)](/([a-z])([A-Z])/g,'$1_$2')[_0x418202(0x1a4)](/([A-Z]+)([A-Z][a-z])/g,_0x7f7f11['DEqPT'])[_0x418202(0x1aa)]();_0x283503['set'](_0x188609,_0x39b799);}),logger[_0x508161(0x1f4)]({'event':_0x508161(0x18c),'mappingCount':_0x283503['size']},'Label\x20to\x20field\x20mapping\x20built'),_0x283503;}['applyColumnFormats'](_0x25e60e,_0x33415e){const _0x7cbb15=a0_0x1de924,_0x501ab0={'xlBgR':function(_0x346bdc,_0x2824cd){return _0x346bdc===_0x2824cd;},'ceeUf':'date','dsaZA':_0x7cbb15(0x1af),'qvTym':function(_0x1213c9,_0x269132){return _0x1213c9(_0x269132);}};if(!_0x33415e||Object[_0x7cbb15(0x19b)](_0x33415e)[_0x7cbb15(0x1ac)]===0x0)return _0x25e60e;return _0x25e60e[_0x7cbb15(0x1a1)](_0xd13857=>{const _0x3697dd=_0x7cbb15,_0xe715c3={..._0xd13857};for(const [_0x3c8ebf,_0x1dbed1]of Object['entries'](_0x33415e)){const _0x40ce8e=_0xe715c3[_0x3c8ebf];if(_0x501ab0['xlBgR'](_0x40ce8e,null)||_0x501ab0[_0x3697dd(0x19e)](_0x40ce8e,undefined)||_0x40ce8e===''){_0xe715c3[_0x3c8ebf]=null;continue;}switch(_0x1dbed1['type']){case _0x501ab0['ceeUf']:_0xe715c3[_0x3c8ebf]=this[_0x3697dd(0x1f0)](_0x40ce8e);break;case'number':_0xe715c3[_0x3c8ebf]=this['formatNumberForDatabase'](_0x40ce8e);break;case _0x501ab0['dsaZA']:_0xe715c3[_0x3c8ebf]=this['formatBooleanForDatabase'](_0x40ce8e);break;case'text':_0xe715c3[_0x3c8ebf]=_0x501ab0['qvTym'](String,_0x40ce8e);break;default:break;}}return _0xe715c3;});}['formatDateForDatabase'](_0x4d6c0f){const _0x3bac87=a0_0x1de924,_0x3a8dce={'fhgBL':function(_0x244dd4,_0x195af2){return _0x244dd4===_0x195af2;},'HZkJK':function(_0x381fe7,_0x2b0308){return _0x381fe7===_0x2b0308;},'kmfRZ':function(_0x412025,_0x56fb1b){return _0x412025 instanceof _0x56fb1b;},'sPvRe':function(_0xef4ca2,_0x63a626){return _0xef4ca2+_0x63a626;},'Zffpn':'string','rhEdv':function(_0x494d42,_0x2dee5a){return _0x494d42(_0x2dee5a);}};if(_0x3a8dce['fhgBL'](_0x4d6c0f,null)||_0x4d6c0f===undefined||_0x3a8dce[_0x3bac87(0x173)](_0x4d6c0f,''))return null;if(_0x3a8dce['fhgBL'](typeof _0x4d6c0f,'string')&&/^\d{4}-\d{2}-\d{2}$/[_0x3bac87(0x1e8)](_0x4d6c0f))return _0x4d6c0f;if(_0x3a8dce['kmfRZ'](_0x4d6c0f,Date)){if(isNaN(_0x4d6c0f['getTime']()))return null;const _0x2ffe1f=_0x4d6c0f['getFullYear'](),_0x47bdac=String(_0x3a8dce['sPvRe'](_0x4d6c0f[_0x3bac87(0x16f)](),0x1))[_0x3bac87(0x1d7)](0x2,'0'),_0x4a0c29=String(_0x4d6c0f['getDate']())[_0x3bac87(0x1d7)](0x2,'0');return _0x2ffe1f+'-'+_0x47bdac+'-'+_0x4a0c29;}if(_0x3a8dce['fhgBL'](typeof _0x4d6c0f,_0x3a8dce['Zffpn'])){const _0x49e5c3=_0x4d6c0f[_0x3bac87(0x1ed)](/^(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})$/);if(_0x49e5c3){const _0x5d7a20=_0x3a8dce[_0x3bac87(0x1e0)](String,_0x49e5c3[0x1])[_0x3bac87(0x1d7)](0x2,'0'),_0x1262b6=String(_0x49e5c3[0x2])[_0x3bac87(0x1d7)](0x2,'0'),_0x3da3ff=_0x49e5c3[0x3];return _0x3da3ff+'-'+_0x1262b6+'-'+_0x5d7a20;}const _0x1349bc=_0x4d6c0f[_0x3bac87(0x1ed)](/^(\d{4})[\/\-](\d{1,2})[\/\-](\d{1,2})$/);if(_0x1349bc){const _0x4b3c3e=_0x1349bc[0x1],_0x4994d5=_0x3a8dce['rhEdv'](String,_0x1349bc[0x2])['padStart'](0x2,'0'),_0x4b7ba7=_0x3a8dce[_0x3bac87(0x1e0)](String,_0x1349bc[0x3])['padStart'](0x2,'0');return _0x4b3c3e+'-'+_0x4994d5+'-'+_0x4b7ba7;}}return _0x4d6c0f;}[a0_0x1de924(0x1b2)](_0x117131){const _0x34b5d9=a0_0x1de924,_0x288478={'RcPIO':function(_0x2ed2ed,_0x4f95d4){return _0x2ed2ed===_0x4f95d4;},'umNnm':function(_0x3e0da4,_0x41d05e){return _0x3e0da4===_0x41d05e;}};if(_0x288478[_0x34b5d9(0x188)](_0x117131,null)||_0x288478['RcPIO'](_0x117131,undefined)||_0x117131==='')return null;if(_0x288478['umNnm'](typeof _0x117131,'number'))return isNaN(_0x117131)?null:_0x117131;if(typeof _0x117131==='string'){let _0x47d2cb=_0x117131[_0x34b5d9(0x172)]();const _0xad965f=/,\d{1,2}$/[_0x34b5d9(0x1e8)](_0x47d2cb)&&!/,\d{3}/['test'](_0x47d2cb);_0xad965f?_0x47d2cb=_0x47d2cb[_0x34b5d9(0x1a4)](/\./g,'')[_0x34b5d9(0x1a4)](',','.'):_0x47d2cb=_0x47d2cb[_0x34b5d9(0x1a4)](/,/g,'');const _0x220228=parseFloat(_0x47d2cb);return isNaN(_0x220228)?null:_0x220228;}return null;}[a0_0x1de924(0x1db)](_0x1e3c49){const _0x48174e=a0_0x1de924,_0x2f4b20={'lxpnp':'true','pUkXd':'false'};if(_0x1e3c49===null||_0x1e3c49===undefined||_0x1e3c49==='')return null;if(typeof _0x1e3c49==='boolean')return _0x1e3c49?_0x2f4b20['lxpnp']:_0x2f4b20[_0x48174e(0x1b8)];if(typeof _0x1e3c49===_0x48174e(0x1dd)){const _0x54b8a9=_0x1e3c49['trim']()['toLowerCase']();if([_0x48174e(0x212),'yes','y','1']['includes'](_0x54b8a9))return _0x2f4b20['lxpnp'];if(['false','no','n','0'][_0x48174e(0x171)](_0x54b8a9))return _0x2f4b20['pUkXd'];return null;}if(typeof _0x1e3c49==='number')return _0x1e3c49?_0x2f4b20['lxpnp']:'false';return null;}async[a0_0x1de924(0x1d1)](_0xa7f3fe,_0x343240){const _0x54da35=a0_0x1de924,_0x10b67f={'tivzM':'headers_mapped','qIWFN':'Excel\x20headers\x20mapped\x20to\x20field\x20names','oqkhc':'column_formats_applied','MrZzJ':'Column\x20formats\x20applied\x20to\x20rows','irgsP':'request_scope_applied','UAXOo':_0x54da35(0x1c9),'YWHlY':_0x54da35(0x180),'kLiwS':'Failed\x20to\x20cleanup\x20file'},_0x147d82=this[_0x54da35(0x1eb)]();try{let {headers:_0x573f14,rows:_0xa5f754,totalRows:_0x2cb968}=await excelParser[_0x54da35(0x1e9)](_0xa7f3fe[_0x54da35(0x1b3)]);const _0x228010=this[_0x54da35(0x17e)](_0x343240[_0x54da35(0x20b)]),_0x3842c5=_0x573f14[_0x54da35(0x1a1)](_0x541d64=>{const _0x299b32=_0x228010['get'](_0x541d64);return _0x299b32||_0x541d64;});_0xa5f754=_0xa5f754['map'](_0x3bcdbf=>{const _0x2b2ab4=_0x54da35,_0xb41999={};return _0x573f14[_0x2b2ab4(0x1c2)]((_0xeb6876,_0x453b55)=>{const _0x959366=_0x3842c5[_0x453b55];_0xb41999[_0x959366]=_0x3bcdbf[_0xeb6876];}),_0xb41999;}),_0x573f14=_0x3842c5,logger['debug']({'event':_0x10b67f['tivzM'],'original':_0x573f14['length'],'mapped':_0x3842c5[_0x54da35(0x19d)]((_0x511b62,_0x14668d)=>_0x511b62!==_0x573f14[_0x14668d])[_0x54da35(0x1ac)]},_0x10b67f[_0x54da35(0x1fe)]);_0x343240['columnFormats']&&Object['keys'](_0x343240['columnFormats'])[_0x54da35(0x1ac)]>0x0&&(_0xa5f754=this['applyColumnFormats'](_0xa5f754,_0x343240['columnFormats']),logger[_0x54da35(0x1f4)]({'event':_0x10b67f['oqkhc'],'formatCount':Object[_0x54da35(0x19b)](_0x343240[_0x54da35(0x1cf)])[_0x54da35(0x1ac)],'formats':Object['keys'](_0x343240[_0x54da35(0x1cf)])},_0x10b67f[_0x54da35(0x205)]));if(_0x343240['scopeOverride']&&_0x343240['scopeOverride']['column']){const {column:_0x28e127,value:_0x3aa879}=_0x343240['scopeOverride'];_0xa5f754=_0xa5f754[_0x54da35(0x1a1)](_0x579fe2=>({..._0x579fe2,[_0x28e127]:_0x3aa879})),logger['debug']({'event':_0x10b67f['irgsP'],'column':_0x28e127,'rowCount':_0xa5f754['length']},'Request\x20scope\x20override\x20applied\x20to\x20imported\x20rows');}const _0x249594=_0x343240['lookupFields']?Object['values'](_0x343240[_0x54da35(0x197)])['map'](_0x423f5c=>_0x423f5c[_0x54da35(0x1ae)]):[],_0x42ed7d=_0x343240[_0x54da35(0x1d6)]['filter'](_0x296857=>!_0x249594['includes'](_0x296857)),_0xee0a05=excelParser[_0x54da35(0x1ca)](_0x573f14,_0x42ed7d);if(!_0xee0a05[_0x54da35(0x204)]){await fs['unlink'](_0xa7f3fe[_0x54da35(0x1b3)]);throw new Error(_0x54da35(0x17a)+_0xee0a05['missingFields']['join'](',\x20'));}const _0x5ce136={'upload_id':_0x147d82,'filename':_0xa7f3fe[_0x54da35(0x181)],'total_rows':_0x2cb968,'headers':_0x573f14,'rows':_0xa5f754,'params':_0x343240,'created_at':new Date()[_0x54da35(0x1d3)]()};return await redisHelper['setJob']('upload:'+_0x147d82,_0x5ce136,0xe10),await fs[_0x54da35(0x18e)](_0xa7f3fe[_0x54da35(0x1b3)]),logger['info']({'event':'import_file_uploaded','uploadId':_0x147d82,'filename':_0xa7f3fe['originalname'],'totalRows':_0x2cb968},_0x10b67f[_0x54da35(0x1ce)]),{'upload_id':_0x147d82,'total_rows':_0x2cb968,'preview':_0xa5f754[_0x54da35(0x1bc)](0x0,0xa)};}catch(_0x44fb9f){try{await fs[_0x54da35(0x18e)](_0xa7f3fe['path']);}catch(_0x2d320b){logError(_0x2d320b,{'event':_0x10b67f['YWHlY']},_0x10b67f[_0x54da35(0x179)]);}throw _0x44fb9f;}}async[a0_0x1de924(0x1a2)](_0x53103d){const _0x2e00bc=a0_0x1de924,_0x376505={'VIHNz':function(_0x20476a,_0x4fa7d3,_0x20a985,_0x278123){return _0x20476a(_0x4fa7d3,_0x20a985,_0x278123);},'ZrbDy':'Upload\x20data\x20not\x20found\x20or\x20expired','ohEGY':_0x2e00bc(0x18d),'FppBW':_0x2e00bc(0x1f6)},_0xaecdf2=this[_0x2e00bc(0x1eb)](),_0x1b4e33=await redisHelper['getJob']('upload:'+_0x53103d);if(!_0x1b4e33)throw new Error(_0x376505[_0x2e00bc(0x1c7)]);const _0x36d0df={'job_id':_0xaecdf2,'upload_id':_0x53103d,'status':'validating','progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x1b4e33[_0x2e00bc(0x1b7)]};return await redisHelper[_0x2e00bc(0x19c)](_0x2e00bc(0x1e7)+_0xaecdf2,_0x36d0df,0xe10),logger[_0x2e00bc(0x182)]({'event':_0x376505[_0x2e00bc(0x1ff)],'jobId':_0xaecdf2,'uploadId':_0x53103d},_0x376505['FppBW']),this['processPreviewJob'](_0xaecdf2,_0x53103d,_0x1b4e33)['catch'](_0x57ce40=>{const _0x20c56c=_0x2e00bc;_0x376505[_0x20c56c(0x1a0)](logError,_0x57ce40,{'event':_0x20c56c(0x20a),'jobId':_0xaecdf2},_0x20c56c(0x1b0));}),{'job_id':_0xaecdf2,'status':_0x2e00bc(0x208)};}['autoGenerateUpsertKeys'](_0x3395a5,_0x395c3c){const _0xee63a8=a0_0x1de924,_0x3a5074={'HkRXp':function(_0xb3e815,_0x476ddb){return _0xb3e815===_0x476ddb;},'OOjfm':function(_0x53809a,_0x88a12f){return _0x53809a===_0x88a12f;},'GvUPr':function(_0x5bdb61){return _0x5bdb61();},'IefZP':function(_0x3d7b32,_0x31eea2){return _0x3d7b32+_0x31eea2;}};_0x3395a5[_0xee63a8(0x1c2)]((_0x358fd2,_0x1c98c2)=>{const _0x4bcd17=_0xee63a8,_0xf51418={'mmvUo':function(_0x38adee,_0x123455){return _0x3a5074['HkRXp'](_0x38adee,_0x123455);},'lfmui':function(_0x29862a,_0x5d585d){const _0x31a4ff=a0_0x3baf;return _0x3a5074[_0x31a4ff(0x1fb)](_0x29862a,_0x5d585d);},'ROvhT':function(_0x235545,_0x28ea0f){return _0x235545(_0x28ea0f);},'QyARD':function(_0x28eb0d){return _0x3a5074['GvUPr'](_0x28eb0d);},'SrnPH':function(_0x19fe0a,_0x23cc8d){const _0x37d6f4=a0_0x3baf;return _0x3a5074[_0x37d6f4(0x1d4)](_0x19fe0a,_0x23cc8d);}};_0x395c3c[_0x4bcd17(0x1c2)](_0x1557b6=>{const _0x13e955=_0x4bcd17,_0x4b1c87=_0x358fd2[_0x1557b6];if(_0x4b1c87===null||_0xf51418['mmvUo'](_0x4b1c87,undefined)||_0x4b1c87===''||_0xf51418[_0x13e955(0x1dc)](_0xf51418[_0x13e955(0x1be)](String,_0x4b1c87)[_0x13e955(0x172)](),'-')){const _0x21d169=_0xf51418['QyARD'](uuidv7);_0x358fd2[_0x1557b6]=_0x21d169,_0x358fd2['_generated_uuid']=_0x358fd2[_0x13e955(0x1cd)]||{},_0x358fd2['_generated_uuid'][_0x1557b6]=_0x21d169,logger['debug']({'event':'uuid_auto_generated','rowIndex':_0x1c98c2,'field':_0x1557b6,'uuid':_0x21d169},'Auto-generated\x20UUID\x20for\x20'+_0x1557b6+'\x20at\x20row\x20'+_0xf51418['SrnPH'](_0x1c98c2,0x2));}});});}async['processPreviewJob'](_0x30a87a,_0x3e256f,_0x385351){const _0x5b2010=a0_0x1de924,_0x36bf5c={'GSTRb':function(_0x1ae5ef,_0xb2defb){return _0x1ae5ef===_0xb2defb;},'vXZiH':function(_0x536c60,_0xbc2eab){return _0x536c60===_0xbc2eab;},'fTMGy':'UPDATE','bNsVm':_0x5b2010(0x1b1),'itcbN':function(_0x36af79,_0x22f2c6){return _0x36af79>_0x22f2c6;},'qcnqT':_0x5b2010(0x1f9),'VYQDS':_0x5b2010(0x193),'NHlJA':function(_0x2286fb,_0x2d21e3,_0x3726fc,_0x283ccb){return _0x2286fb(_0x2d21e3,_0x3726fc,_0x283ccb);},'YbOfz':'Preview\x20job\x20failed','HibHe':'failed'};try{let {rows:_0x20ffe4,params:_0x39a443}=_0x385351;const {requiredFields:_0xbe32e6,validations:_0x3557e6,upsertKeys:_0x5ef989,tableName:_0x74451b,primaryKey:_0x272021,fieldName:_0x359b47,upsertStrategy:_0x1e1ad3,lookupFields:_0x214be7}=_0x39a443;this[_0x5b2010(0x203)](_0x20ffe4,_0x5ef989);let _0x127f15=[];if(_0x214be7&&Object[_0x5b2010(0x19b)](_0x214be7)[_0x5b2010(0x1ac)]>0x0){logger['info']({'event':'processing_lookup_fields','jobId':_0x30a87a,'lookupFieldCount':Object[_0x5b2010(0x19b)](_0x214be7)[_0x5b2010(0x1ac)]},_0x5b2010(0x178));const _0xfc7c0=await lookupResolver['processLookupFields'](_0x20ffe4,_0x214be7);_0x20ffe4=_0xfc7c0[_0x5b2010(0x1c4)],_0x127f15=_0xfc7c0[_0x5b2010(0x18a)],_0x385351['rows']=_0x20ffe4;}const _0x50eec6=importValidator['batchValidateRows'](_0x20ffe4,_0xbe32e6||[],_0x3557e6||{});_0x127f15['forEach'](_0x3f0e98=>{const _0xd3e04e=_0x5b2010,_0x18bad4=_0x50eec6[_0xd3e04e(0x1ea)](_0x1c3ecf=>_0x1c3ecf['rowIndex']===_0x3f0e98['rowIndex']);_0x18bad4?_0x18bad4['errors']['push'](_0x3f0e98['message']):_0x50eec6['push']({'rowIndex':_0x3f0e98[_0xd3e04e(0x210)],'rowData':_0x20ffe4[_0x3f0e98['rowIndex']],'errors':[_0x3f0e98[_0xd3e04e(0x195)]]});});const _0x4088cb=importValidator['detectDuplicatesInFile'](_0x20ffe4,_0x5ef989);_0x4088cb[_0x5b2010(0x1c2)](_0x1712cd=>{const _0x9b64c=_0x5b2010,_0x4f757d=_0x50eec6['find'](_0x40a6af=>_0x40a6af[_0x9b64c(0x210)]===_0x1712cd['rowIndex']),_0x33d03d=_0x5ef989[_0x9b64c(0x1a1)](_0x1743df=>_0x1743df[_0x9b64c(0x20d)]())['join'](',\x20'),_0x5738ab=_0x9b64c(0x1d9)+_0x33d03d;_0x4f757d?_0x4f757d[_0x9b64c(0x18a)][_0x9b64c(0x186)](_0x5738ab):_0x50eec6['push']({'rowIndex':_0x1712cd[_0x9b64c(0x210)],'rowData':_0x20ffe4[_0x1712cd['rowIndex']],'errors':[_0x5738ab]});}),await this['detectDatabaseDuplicates'](_0x20ffe4,_0x5ef989,_0x74451b,_0x272021,_0x1e1ad3,_0x50eec6),_0x50eec6[_0x5b2010(0x1c2)](_0x26be44=>{const _0x420903=_0x5b2010,_0x3a54ac=_0x20ffe4[_0x26be44[_0x420903(0x210)]];_0x3a54ac&&(_0x3a54ac['_errors']=_0x26be44['errors']);});let _0x5a3752=0x0,_0xadee31=0x0,_0x3c99c5=0x0;_0x20ffe4['forEach'](_0xccc98c=>{const _0x5b6e64=_0x5b2010;if(_0x36bf5c['GSTRb'](_0xccc98c[_0x5b6e64(0x1de)],_0x5b6e64(0x185)))_0x5a3752++;else{if(_0x36bf5c[_0x5b6e64(0x1e6)](_0xccc98c['_action'],_0x36bf5c[_0x5b6e64(0x1e1)]))_0xadee31++;else _0xccc98c['_action']===_0x36bf5c[_0x5b6e64(0x1c8)]&&_0x3c99c5++;}});const _0x3dc4a4={'job_id':_0x30a87a,'upload_id':_0x3e256f,'status':_0x36bf5c[_0x5b2010(0x202)](_0x50eec6[_0x5b2010(0x1ac)],0x0)?_0x36bf5c[_0x5b2010(0x189)]:_0x5b2010(0x198),'progress':0x64,'created_at':_0x385351['created_at'],'completed_at':new Date()['toISOString'](),'preview':{'total_rows':_0x20ffe4['length'],'insert_count':_0x5a3752,'update_count':_0xadee31,'skip_count':_0x3c99c5,'error_count':_0x50eec6['length'],'errors':_0x50eec6,'data':_0x20ffe4,'sample_insert':_0x20ffe4[_0x5b2010(0x19d)](_0xffc3d8=>_0xffc3d8['_action']===_0x5b2010(0x185))[_0x5b2010(0x1bc)](0x0,0x5),'sample_update':_0x20ffe4[_0x5b2010(0x19d)](_0x290fda=>_0x290fda[_0x5b2010(0x1de)]==='UPDATE')[_0x5b2010(0x1bc)](0x0,0x5),'sample_skip':_0x20ffe4['filter'](_0x40bc9a=>_0x40bc9a[_0x5b2010(0x1de)]===_0x5b2010(0x1b1))['slice'](0x0,0x5)},'params':_0x39a443};await redisHelper[_0x5b2010(0x19c)]('job:'+_0x30a87a,_0x3dc4a4,0xe10),_0x385351['rows']=_0x20ffe4,await redisHelper[_0x5b2010(0x19c)]('upload:'+_0x3e256f,_0x385351,0xe10),logger[_0x5b2010(0x182)]({'event':_0x36bf5c['VYQDS'],'jobId':_0x30a87a,'status':_0x3dc4a4[_0x5b2010(0x1ee)],'insertCount':_0x5a3752,'updateCount':_0xadee31,'skipCount':_0x3c99c5,'errorCount':_0x50eec6[_0x5b2010(0x1ac)]},_0x5b2010(0x1fd));}catch(_0x53b67f){_0x36bf5c['NHlJA'](logError,_0x53b67f,{'event':'preview_job_failed','jobId':_0x30a87a},_0x36bf5c[_0x5b2010(0x1c6)]),await redisHelper['setJob']('job:'+_0x30a87a,{'job_id':_0x30a87a,'upload_id':_0x3e256f,'status':_0x36bf5c[_0x5b2010(0x1a5)],'progress':0x0,'error':_0x53b67f[_0x5b2010(0x195)],'created_at':new Date()['toISOString'](),'completed_at':new Date()['toISOString']()},0xe10);}}async['detectDatabaseDuplicates'](_0x203ff4,_0xd6832e,_0xb7f01e,_0x2165a3,_0x4c5612=a0_0x1de924(0x174),_0x4f7665=[]){const _0x2aff7c=a0_0x1de924,_0x2d916c={'NFghO':function(_0xb16237,_0x325db4){return _0xb16237===_0x325db4;},'srKBj':'NULL','Twwzk':'update_existing','WIFZU':function(_0x19c3b3,_0x11f239){return _0x19c3b3===_0x11f239;},'Hqhrt':_0x2aff7c(0x207),'ibstX':_0x2aff7c(0x1b1),'poJjO':function(_0x51329e,_0xca8359){return _0x51329e!==_0xca8359;},'TriCp':'skip_existing','GVQio':function(_0x2f1bdd,_0x58e9bb){return _0x2f1bdd===_0x58e9bb;},'PiXwk':function(_0xe3e068,_0x134be2){return _0xe3e068===_0x134be2;},'EvEOY':_0x2aff7c(0x185),'pWXuG':_0x2aff7c(0x19f),'kYhGt':function(_0x527846,_0x350ac1){return _0x527846>_0x350ac1;}},_0x5b34b8=upsertBuilder['chunkRows'](_0x203ff4,0x64);for(const _0x57d73d of _0x5b34b8){const _0x4192e9=_0x57d73d['map'](_0x14f8ef=>_0x14f8ef[_0xd6832e[0x0]]),_0x45577a=_0x4192e9['map'](_0x3e1f12=>{const _0x3a7d70=_0x2aff7c;if(_0x2d916c[_0x3a7d70(0x209)](_0x3e1f12,null)||_0x3e1f12===undefined)return _0x2d916c['srKBj'];return'\x27'+String(_0x3e1f12)[_0x3a7d70(0x1a4)](/'/g,'\x27\x27')+'\x27';}),_0x224fa5='\x0a\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20'+_0x2165a3+',\x20'+_0xd6832e[_0x2aff7c(0x1f7)](',\x20')+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20FROM\x20'+_0xb7f01e+_0x2aff7c(0x1f8)+_0xd6832e[0x0]+_0x2aff7c(0x1f3)+_0x45577a[_0x2aff7c(0x1f7)](',\x20')+_0x2aff7c(0x1df);let _0x73f0b2=await executeQuery(_0x224fa5);dbType===_0x2d916c[_0x2aff7c(0x1c3)]&&_0x73f0b2&&_0x2d916c[_0x2aff7c(0x1c0)](_0x73f0b2['length'],0x0)&&(_0x73f0b2=_0x73f0b2['map'](_0x26b2fd=>{const _0x5eb8df={};for(const [_0x38a433,_0x1b7c03]of Object['entries'](_0x26b2fd)){_0x5eb8df[_0x38a433['toLowerCase']()]=_0x1b7c03;}return _0x5eb8df;}));const _0x1f2736=new Map();_0x73f0b2['forEach'](_0x3f6539=>{const _0x46e31f=_0x2aff7c,_0x18aab9=_0x3f6539[_0xd6832e[0x0]];_0x1f2736[_0x46e31f(0x206)](_0x18aab9,_0x3f6539);}),_0x57d73d['forEach']((_0x5daa15,_0x2f165c)=>{const _0x49cb0e=_0x2aff7c,_0x2eb110=_0x5daa15[_0xd6832e[0x0]],_0x56f3ad=_0x1f2736[_0x49cb0e(0x1ad)](_0x2eb110);if(_0x56f3ad){if(_0x4c5612===_0x2d916c[_0x49cb0e(0x194)])_0x5daa15[_0x49cb0e(0x1de)]=_0x49cb0e(0x200),_0x5daa15[_0x49cb0e(0x170)]=_0x56f3ad[_0x2165a3];else{if(_0x2d916c['WIFZU'](_0x4c5612,_0x2d916c[_0x49cb0e(0x1e5)])){_0x5daa15[_0x49cb0e(0x1de)]=_0x2d916c[_0x49cb0e(0x192)],_0x5daa15['_errors']=_0x5daa15[_0x49cb0e(0x18b)]||[],_0x5daa15['_errors'][_0x49cb0e(0x186)]('Record\x20exists\x20(insert_only\x20mode)');const _0x171947=_0x203ff4['indexOf'](_0x5daa15);_0x2d916c['poJjO'](_0x171947,-0x1)&&_0x4f7665['push']({'rowIndex':_0x171947,'rowData':_0x5daa15,'errors':[_0x49cb0e(0x176)]});}else _0x2d916c['NFghO'](_0x4c5612,_0x2d916c[_0x49cb0e(0x16e)])&&(_0x5daa15[_0x49cb0e(0x1de)]=_0x2d916c['ibstX']);}}else{if(_0x4c5612===_0x2d916c['Twwzk'])_0x5daa15[_0x49cb0e(0x1de)]=_0x49cb0e(0x185);else(_0x2d916c[_0x49cb0e(0x190)](_0x4c5612,_0x49cb0e(0x207))||_0x2d916c['PiXwk'](_0x4c5612,_0x2d916c[_0x49cb0e(0x16e)]))&&(_0x5daa15[_0x49cb0e(0x1de)]=_0x2d916c['EvEOY']);}});}}async[a0_0x1de924(0x1ba)](_0x1c97da){const _0x5d7124=a0_0x1de924,_0x65f5ed={'lZdLD':function(_0x4cf28c,_0xaa586f,_0x24e5ef,_0x541eee){return _0x4cf28c(_0xaa586f,_0x24e5ef,_0x541eee);},'ONjoW':'commit_process_error','gWxNm':'Commit\x20processing\x20failed','ItORM':_0x5d7124(0x1f2),'LhNDY':_0x5d7124(0x17b),'pRKTt':'Commit\x20job\x20created','GOTeu':'processing'},_0xd6f25f=this[_0x5d7124(0x1eb)](),_0x4b12b0=await redisHelper[_0x5d7124(0x1a9)](_0x5d7124(0x1e7)+_0x1c97da);if(!_0x4b12b0)throw new Error(_0x65f5ed[_0x5d7124(0x1b6)]);if(_0x4b12b0['status']!==_0x5d7124(0x198))throw new Error(_0x5d7124(0x1fa)+_0x4b12b0['status']);const _0x274375={'job_id':_0xd6f25f,'upload_id':_0x4b12b0[_0x5d7124(0x17c)],'preview_job_id':_0x1c97da,'status':_0x5d7124(0x201),'progress':0x0,'created_at':new Date()[_0x5d7124(0x1d3)](),'params':_0x4b12b0['params']};return await redisHelper['setJob'](_0x5d7124(0x1e7)+_0xd6f25f,_0x274375,0xe10),logger['info']({'event':_0x65f5ed['LhNDY'],'jobId':_0xd6f25f,'previewJobId':_0x1c97da},_0x65f5ed[_0x5d7124(0x20f)]),this[_0x5d7124(0x1a3)](_0xd6f25f,_0x4b12b0)['catch'](_0x1ab9bc=>{const _0x3b9a32=_0x5d7124;_0x65f5ed[_0x3b9a32(0x1e3)](logError,_0x1ab9bc,{'event':_0x65f5ed['ONjoW'],'jobId':_0xd6f25f},_0x65f5ed['gWxNm']);}),{'job_id':_0xd6f25f,'status':_0x65f5ed[_0x5d7124(0x1ab)]};}async['processCommitJob'](_0x13088f,_0x4d42ab){const _0x582222=a0_0x1de924,_0x3507ff={'QcXsC':function(_0x1b8565,_0x3b2e19){return _0x1b8565===_0x3b2e19;},'Sstvy':_0x582222(0x1a6),'xPSfo':function(_0x5e6491,_0x5aab20){return _0x5e6491>_0x5aab20;},'qbMcG':_0x582222(0x1bf),'kMiOk':function(_0x1762ab,_0x273994){return _0x1762ab>_0x273994;},'XjmKg':function(_0x41ca3f,_0x46c0de){return _0x41ca3f(_0x46c0de);},'gUsmb':'completed','JEoXg':_0x582222(0x16d),'jcNEA':_0x582222(0x184)};try{const _0x307579=await redisHelper[_0x582222(0x1a9)]('upload:'+_0x4d42ab[_0x582222(0x17c)]);if(!_0x307579)throw new Error(_0x582222(0x1ec));const {rows:_0x33b6e2,params:_0x2811b0}=_0x307579,{tableName:_0x41056b,fieldName:_0x2baab0,primaryKey:_0x385851,upsertKeys:_0x2b4d51,excludeFromImport:_0x178088,lookupFields:_0x192d9e,columnFormats:_0x463d01}=_0x2811b0,_0x4cee49=_0x192d9e?Object[_0x582222(0x19b)](_0x192d9e):[],_0x3ab29b=new Set([..._0x178088||[],..._0x4cee49]);let _0x3befcb=_0x2baab0;_0x3ab29b[_0x582222(0x187)]>0x0&&(_0x3befcb=_0x2baab0['filter'](_0x508e8e=>!_0x3ab29b[_0x582222(0x1b5)](_0x508e8e)),logger[_0x582222(0x1f4)]({'event':_0x3507ff['Sstvy'],'originalCount':_0x2baab0[_0x582222(0x1ac)],'filteredCount':_0x3befcb[_0x582222(0x1ac)],'excludedFields':Array[_0x582222(0x1a8)](_0x3ab29b),'lookupSourceFields':_0x4cee49},'Import\x20fields\x20filtered\x20(excluded\x20lookup\x20source\x20columns)'));const _0x11680d=_0x33b6e2[_0x582222(0x19d)](_0x2602a3=>_0x2602a3['_action']===_0x582222(0x185)),_0x285a3c=_0x33b6e2[_0x582222(0x19d)](_0x103482=>_0x103482[_0x582222(0x1de)]==='UPDATE');let _0x55abbb=0x0,_0xcf6595=0x0;const _0xdce90e=[];if(_0x3507ff[_0x582222(0x1e4)](_0x11680d[_0x582222(0x1ac)],0x0)){const _0x2fe957=upsertBuilder['chunkRows'](_0x11680d,0x64);for(const _0x429e6f of _0x2fe957){const {query:_0x4fd73c}=upsertBuilder['buildBatchInsert'](_0x429e6f,_0x41056b,_0x3befcb,_0x463d01||{});_0x4fd73c&&_0xdce90e[_0x582222(0x186)]({'sql':_0x4fd73c,'count':_0x429e6f['length'],'type':_0x3507ff['qbMcG']});}}if(_0x285a3c['length']>0x0){const _0x51d05f=upsertBuilder[_0x582222(0x199)](_0x285a3c,0x64);for(const _0x2ca962 of _0x51d05f){const {query:_0x1621ae}=upsertBuilder[_0x582222(0x1fc)](_0x2ca962,_0x41056b,_0x3befcb,_0x385851,_0x2b4d51,_0x463d01||{});_0x1621ae&&_0xdce90e['push']({'sql':_0x1621ae,'count':_0x2ca962['length'],'type':'update'});}}_0x3507ff[_0x582222(0x17f)](_0xdce90e[_0x582222(0x1ac)],0x0)&&await _0x3507ff['XjmKg'](executeTransaction,_0xdce90e[_0x582222(0x1a1)](_0x6b1ed0=>({'sql':_0x6b1ed0[_0x582222(0x1c5)],'params':[]})));_0xdce90e['forEach'](_0x328de7=>{const _0x1aa010=_0x582222;if(_0x3507ff['QcXsC'](_0x328de7[_0x1aa010(0x1f1)],_0x1aa010(0x1bf)))_0x55abbb+=_0x328de7[_0x1aa010(0x1da)];else _0xcf6595+=_0x328de7['count'];});const _0x3830f8={'job_id':_0x13088f,'upload_id':_0x4d42ab[_0x582222(0x17c)],'preview_job_id':_0x4d42ab['job_id'],'status':_0x3507ff[_0x582222(0x1cc)],'progress':0x64,'created_at':_0x4d42ab[_0x582222(0x18f)],'started_at':new Date()[_0x582222(0x1d3)](),'completed_at':new Date()['toISOString'](),'result':{'total_rows':_0x33b6e2['length'],'inserted_rows':_0x55abbb,'updated_rows':_0xcf6595,'skipped_rows':0x0,'failed_rows':0x0,'errors':[]},'params':_0x2811b0};await redisHelper[_0x582222(0x19c)]('job:'+_0x13088f,_0x3830f8,0xe10),logger[_0x582222(0x182)]({'event':_0x582222(0x1d2),'jobId':_0x13088f,'insertedCount':_0x55abbb,'updatedCount':_0xcf6595},'Commit\x20job\x20completed');}catch(_0x4a40f8){logError(_0x4a40f8,{'event':'commit_job_failed','jobId':_0x13088f},_0x3507ff[_0x582222(0x1e2)]),await redisHelper['setJob'](_0x582222(0x1e7)+_0x13088f,{'job_id':_0x13088f,'upload_id':_0x4d42ab[_0x582222(0x17c)],'preview_job_id':_0x4d42ab['job_id'],'status':_0x3507ff[_0x582222(0x196)],'progress':0x0,'error':_0x4a40f8['message'],'created_at':_0x4d42ab['created_at'],'started_at':new Date()[_0x582222(0x1d3)](),'completed_at':new Date()['toISOString']()},0xe10);}}async['getJobStatus'](_0x5c6e8b){const _0x5ca2f6=a0_0x1de924,_0x3891eb=await redisHelper[_0x5ca2f6(0x1a9)](_0x5ca2f6(0x1e7)+_0x5c6e8b);if(!_0x3891eb)return{'success':![],'error':_0x5ca2f6(0x17d)};return{'success':!![],'data':_0x3891eb};}}module['exports']=new ImportService();
|
|
1
|
+
const a0_0x4d0a67=a0_0x191f;function a0_0x191f(_0x6e54be,_0x2e7327){_0x6e54be=_0x6e54be-0xf7;const _0x3257d7=a0_0x3257();let _0x191f87=_0x3257d7[_0x6e54be];if(a0_0x191f['lbFrLe']===undefined){var _0x29a00b=function(_0x4d472e){const _0x50675f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xcb18e8='',_0x3842a0='';for(let _0x150f4a=0x0,_0x221b97,_0x58691b,_0x16bb29=0x0;_0x58691b=_0x4d472e['charAt'](_0x16bb29++);~_0x58691b&&(_0x221b97=_0x150f4a%0x4?_0x221b97*0x40+_0x58691b:_0x58691b,_0x150f4a++%0x4)?_0xcb18e8+=String['fromCharCode'](0xff&_0x221b97>>(-0x2*_0x150f4a&0x6)):0x0){_0x58691b=_0x50675f['indexOf'](_0x58691b);}for(let _0x337168=0x0,_0x32a0b1=_0xcb18e8['length'];_0x337168<_0x32a0b1;_0x337168++){_0x3842a0+='%'+('00'+_0xcb18e8['charCodeAt'](_0x337168)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3842a0);};a0_0x191f['gARxwD']=_0x29a00b,a0_0x191f['JQXuay']={},a0_0x191f['lbFrLe']=!![];}const _0xc7ea3e=_0x3257d7[0x0],_0xf59e67=_0x6e54be+_0xc7ea3e,_0x53b529=a0_0x191f['JQXuay'][_0xf59e67];return!_0x53b529?(_0x191f87=a0_0x191f['gARxwD'](_0x191f87),a0_0x191f['JQXuay'][_0xf59e67]=_0x191f87):_0x191f87=_0x53b529,_0x191f87;}(function(_0x3871db,_0x5994a8){const _0x1e9b83=a0_0x191f,_0x2ed456=_0x3871db();while(!![]){try{const _0x4af365=parseInt(_0x1e9b83(0x15a))/0x1+-parseInt(_0x1e9b83(0x10f))/0x2*(parseInt(_0x1e9b83(0x11c))/0x3)+-parseInt(_0x1e9b83(0x12d))/0x4+parseInt(_0x1e9b83(0x104))/0x5+-parseInt(_0x1e9b83(0x145))/0x6+parseInt(_0x1e9b83(0x171))/0x7+-parseInt(_0x1e9b83(0x121))/0x8*(-parseInt(_0x1e9b83(0x1a0))/0x9);if(_0x4af365===_0x5994a8)break;else _0x2ed456['push'](_0x2ed456['shift']());}catch(_0x337ad1){_0x2ed456['push'](_0x2ed456['shift']());}}}(a0_0x3257,0xc738e));function a0_0x3257(){const _0x23400f=['zMXVB3i','yvnAA0G','lI4VDxrPBhmVCMvKAxmTAgvSCgvY','Bg9VA3vWrMLLBgrZ','ENPqBee','BvjotLC','BgvUz3rO','yxv0B0DLBMvYyxrLvxbZzxj0s2v5CW','yNPfr2u','uhjLDMLLDYbQB2iGy3jLyxrLza','y29SDw1Ux2zVCM1HDhnFyxbWBgLLza','mJi2mJKZBerez0LI','tuHQBNy','y29TBwL0x2PVyL9JB21WBgv0zwq','zgv0zwn0rhvWBgLJyxrLC0LUrMLSzq','zMLLBgrmywjLBhm','mZq2ngfPAhrJsa','zgvIDwC','CMfUzg9T','C2XPy2u','BwvZC2fNzq','B3ziywu','s0XbqK4','Dgv4Da','C2L6zq','y291BNq','twHmuLO','vxbSB2fKigrHDgeGBM90igzVDw5Kig9Yigv4CgLYzwq','mJu4odi4yurbwgXP','EhvnugW','DhjPBq','D2n0AuO','ru1mA20','Cgf0Aa','lI4VDxrPBhmVzgi','DMjXBva','sM9Iig5VDcbMB3vUzcbVCIbLEhbPCMvK','x2v4Axn0Aw5Nswq','rK5Qt08','rxviCgC','zMfPBgvK','zMLLBgroyw1L','C3rHDhvZ','y29SDw1UrM9YBwf0CW','EwvZ','x2DLBMvYyxrLzf91DwLK','AuzbwwW','x2vYCM9YCW','z2v0rgf0zq','zMLUza','Aw1WB3j0x2zPBgvFDxbSB2fKzwq','B3jPz2LUywXUyw1L','ode4nJi1nMLHv21xDG','rMfPBgvKihrVignSzwfUDxaGzMLSzq','s1jQrKq','AhHNqLG','Dhj1zq','z0zkswG','kqOGicaGica','zxHLy3v0zvf1zxj5','q2fUBM90ignVBw1PDdOGChjLDMLLDYbZDgf0DxmGAxmG','sw1WB3j0igzPzwXKCYbMAwX0zxjLzcaOzxHJBhvKzwqGBg9VA3vWihnVDxjJzsbJB2X1Bw5Zkq','A2v5CW','DgLVuu0','lI4VlI4VDgvTCc91CgXVywrZlW','su5trvju','vvbeqvrf','y2H1BMTsB3DZ','zw52','CM93CW','AgfZ','rxHJzwWGAgvHzgvYCYbTyxbWzwqGDg8GzMLLBgqGBMfTzxm','AM9IoG','mtaXndu3vMTZv1v2','t2fLsK8','ChjLDMLLD19QB2jFy3jLyxrLza','yNvPBgrcyxrJAeLUC2vYDa','z2v0sM9Iu3rHDhvZ','zLHXv1K','C1HfCwG','uhjLDMLLDYbWCM9JzxnZAw5NigzHAwXLza','z2v0sM9I','y29SDw1U','BM93','cIaGicaGicaGu0vmrunuia','BxLZsu0','CM93sw5KzxG','Dg9tDhjPBMC','zwTpy0e','Dg9ju09tDhjPBMC','CgfKu3rHCNq','AM9PBG','lI4VDxrPBhmVzxHJzwWTCgfYC2vY','EgzptuO','ChjLDMLLD19LCNjVCG','yNvPBgrmywjLBfrVrMLLBgrnyxa','nJGXmdK0nfL0wNz6ra','zNjVBq','cIaGicaGicaGv0HfuKuG','Aw5JBhvKzxm','sLDOuhm','x2fJDgLVBG','tLPOvKm','DLn2Cwe','zgf0zq','zMfSC2u','CLrmzM0','DgfYz2v0rMLLBgq','ChvZAa','DNbLvKG','DxbSB2fKoG','y29TBwL0x2PVyL9JCMvHDgvK','v0HNDxC','sw1WB3j0igzPBguGDxbSB2fKzwqGyw5KihbHCNnLza','C3fS','A1LUBxK','q29TBwL0igPVyIbMywLSzwq','C2nVCgvpDMvYCMLKzq','BNvTyMvY','q29TBwL0ihbYB2nLC3nPBMCGzMfPBgvK','zM9YBwf0tNvTyMvYrM9Yrgf0ywjHC2u','x3vWBg9HzerPCG','y3jLyxrLzf9HDa','zKDyAu0','z2vUzxjHDgvjza','ChjVy2vZC1bYzxzPzxDkB2i','zM9YrwfJAa','DgvZDa','BxLZCwW','Aw5Zzxj0x29UBhK','Aw5MBW','yxbWBhLdB2X1Bw5gB3jTyxrZ','Dw5SAw5R','zxHLy3v0zvrYyw5Zywn0Aw9U','C2v0sM9I','rgr2C0K','CvzYrva','Dg9mB3DLCKnHC2u','zMLSDgvY','ChjLDMLLD19QB2jFy29TCgXLDgvK','zw50CMLLCW','zM9YBwf0qM9VBgvHBKzVCKrHDgfIyxnL','Aw5KzxHpzG','nJu0m1rbzurbwa','zxHWB3j0CW','q29TBwL0igPVyIbJB21WBgv0zwq','uhjLDMLLDYbQB2iGy29TCgXLDgvK','zxjYB3jZ','BwfW','CMvWBgfJzq','DxvPza','z2v0','Cg9ZDgDYzxnXBa','AgvHzgvYC19TyxbWzwq','ChjLDMLLD19WCM9JzxnZx2vYCM9Y','yM9VBgvHBG','ChjLDMLLD19QB2jFzMfPBgvK','DhLWzq','Aw5Zzxj0','Bwf0y2G','u0Tjua','nJe2nta2mfruC1PNEG','DxbKyxrLx2v4Axn0Aw5N','C3rYAw5N','lI4VDxrPBhmVDxbZzxj0lwj1AwXKzxi','q29SDw1UigzVCM1HDhmGyxbWBgLLzcb0BYbYB3DZ','jdfFjdi','y29TBwL0x3bYB2nLC3nFzxjYB3i','qujdrevgr0HjsKTmtu5puffsu1rvvLDywvPHyMnKzwzNAgLQA2XTBM9WCxjZDhv2D3H5EJaXmJm0nty3odK','zLvTzey','DxbSB2fKrgLY','vLPzCxy','mtbvDeLQte0','ChjVy2vZC2vKuM93CW'];a0_0x3257=function(){return _0x23400f;};return a0_0x3257();}const {v7:uuidv7}=require(a0_0x4d0a67(0xf9)),path=require(a0_0x4d0a67(0x132)),fs=require('fs')['promises'],redisHelper=require(a0_0x4d0a67(0x113)),{logger,logError}=require('../utils/logger'),dbType=(process[a0_0x4d0a67(0x155)]['DB_TYPE']||a0_0x4d0a67(0xfb))['toLowerCase']();let executeQuery,executeTransaction,oracleDb;if(dbType==='oracle')oracleDb=require('../utils/db-oracle'),executeQuery=(_0x57ffa9,_0x3ad1f9)=>oracleDb['executeQuery'](_0x57ffa9,_0x3ad1f9),executeTransaction=_0x1c246b=>oracleDb[a0_0x4d0a67(0x196)](_0x1c246b);else{if(dbType===a0_0x4d0a67(0x191)){const mysqlDb=require('../utils/db-mysql');executeQuery=(_0x5fe506,_0x5232d7)=>mysqlDb['executeQuery'](_0x5fe506,_0x5232d7),executeTransaction=_0x532b31=>mysqlDb[a0_0x4d0a67(0x196)](_0x532b31);}else{const db=require(a0_0x4d0a67(0x133));executeQuery=db[a0_0x4d0a67(0x14c)],executeTransaction=db[a0_0x4d0a67(0x196)];}}const excelParser=require(a0_0x4d0a67(0x16d)),importValidator=require('../utils/import-validator'),upsertBuilder=require(a0_0x4d0a67(0x107)),lookupResolver=require('../utils/lookup-resolver');class ImportService{constructor(){const _0xf01b1d=a0_0x4d0a67;this[_0xf01b1d(0x18a)]=null;}get[a0_0x4d0a67(0x10d)](){const _0x128a83=a0_0x4d0a67;if(!this[_0x128a83(0x18a)]){const _0x3868b7=process[_0x128a83(0x155)]['RESTFORGE_PROJECT_NAME']||'default';this[_0x128a83(0x18a)]=process[_0x128a83(0x155)]['UPLOAD_DIR']||path[_0x128a83(0x16c)](__dirname,_0x128a83(0x151)+_0x3868b7);}return this[_0x128a83(0x18a)];}[a0_0x4d0a67(0x18d)](){const _0x19f102=a0_0x4d0a67,_0x26cb47={'QhxoC':_0x19f102(0x10b),'EMLkm':function(_0x12ad99,_0x19d1be){return _0x12ad99-_0x19d1be;}},_0x1aff57=_0x26cb47['QhxoC'],_0x3aebdc=Date[_0x19f102(0x164)]()[_0x19f102(0x168)](0x24),_0x46895f=uuidv7()[_0x19f102(0xf8)](/-/g,'')['substring'](0x0,_0x26cb47[_0x19f102(0x131)](0xc,_0x3aebdc['length'])),_0x1f4da5=(_0x3aebdc+_0x46895f)['substring'](0x0,0xc);let _0x5d417c='';for(let _0x5803b6=0x0;_0x5803b6<0xc;_0x5803b6++){_0x1f4da5[_0x5803b6]?_0x5d417c+=_0x1f4da5[_0x5803b6]:_0x5d417c+=_0x1aff57['charAt'](Math[_0x19f102(0x111)](Math[_0x19f102(0x123)]()*_0x1aff57[_0x19f102(0x117)]));}return _0x5d417c;}[a0_0x4d0a67(0x170)](_0x10a9e1){const _0x1e067c=a0_0x4d0a67,_0x521448={'BRDhy':_0x1e067c(0x109),'sXEqh':'Label\x20to\x20field\x20mapping\x20built'},_0x114913=new Map();if(!_0x10a9e1)return _0x114913;return Object['entries'](_0x10a9e1)[_0x1e067c(0x18f)](([_0x84c414,_0x1a5ce0])=>{const _0x30691c=_0x1e067c,_0x3db8e0=String(_0x1a5ce0)[_0x30691c(0x12f)]()[_0x30691c(0xf8)](/\s+/g,'_')[_0x30691c(0xf8)](/([a-z])([A-Z])/g,'$1_$2')[_0x30691c(0xf8)](/([A-Z]+)([A-Z][a-z])/g,_0x521448['BRDhy'])['toLowerCase']();_0x114913['set'](_0x3db8e0,_0x84c414);}),logger[_0x1e067c(0x122)]({'event':'label_to_field_map_built','mappingCount':_0x114913[_0x1e067c(0x129)]},_0x521448[_0x1e067c(0x160)]),_0x114913;}[a0_0x4d0a67(0x194)](_0x48a6d8,_0x4c9889){const _0x4ff1d3=a0_0x4d0a67,_0x4ebde7={'Gisgj':_0x4ff1d3(0x179),'yHyKe':_0x4ff1d3(0xfe),'cigDp':function(_0x5f54a0,_0x5844f9){return _0x5f54a0(_0x5844f9);}};if(!_0x4c9889||Object[_0x4ff1d3(0x14f)](_0x4c9889)[_0x4ff1d3(0x117)]===0x0)return _0x48a6d8;return _0x48a6d8[_0x4ff1d3(0xf7)](_0x103f4c=>{const _0x1fa8ba=_0x4ff1d3,_0x32f2d4={..._0x103f4c};for(const [_0x4cadac,_0x40fb16]of Object[_0x1fa8ba(0x19d)](_0x4c9889)){const _0x5b7b60=_0x32f2d4[_0x4cadac];if(_0x5b7b60===null||_0x5b7b60===undefined||_0x5b7b60===''){_0x32f2d4[_0x4cadac]=null;continue;}switch(_0x40fb16[_0x1fa8ba(0x100)]){case _0x4ebde7['Gisgj']:_0x32f2d4[_0x4cadac]=this['formatDateForDatabase'](_0x5b7b60);break;case _0x1fa8ba(0x187):_0x32f2d4[_0x4cadac]=this[_0x1fa8ba(0x189)](_0x5b7b60);break;case _0x4ebde7['yHyKe']:_0x32f2d4[_0x4cadac]=this[_0x1fa8ba(0x19e)](_0x5b7b60);break;case _0x1fa8ba(0x128):_0x32f2d4[_0x4cadac]=_0x4ebde7['cigDp'](String,_0x5b7b60);break;default:break;}}return _0x32f2d4;});}['formatDateForDatabase'](_0x24e97a){const _0x54e820=a0_0x4d0a67,_0x17eb55={'Zenum':_0x54e820(0x106),'bzEGe':function(_0x5563d8,_0x3601c1){return _0x5563d8 instanceof _0x3601c1;},'FNjOO':function(_0x190956,_0x4f3132){return _0x190956(_0x4f3132);},'NZhVC':function(_0x8c7c42,_0x48e1c9){return _0x8c7c42(_0x48e1c9);},'fXqWY':function(_0x5d68e7,_0x5e0727){return _0x5d68e7===_0x5e0727;},'bLSUS':function(_0x4e6041,_0x59e069){return _0x4e6041(_0x59e069);},'rGlOw':function(_0x378311,_0x4b72db){return _0x378311(_0x4b72db);}};if(_0x24e97a===null||_0x24e97a===undefined||_0x24e97a==='')return null;if(typeof _0x24e97a===_0x17eb55['Zenum']&&/^\d{4}-\d{2}-\d{2}$/['test'](_0x24e97a))return _0x24e97a;if(_0x17eb55[_0x54e820(0x119)](_0x24e97a,Date)){if(_0x17eb55[_0x54e820(0x137)](isNaN,_0x24e97a['getTime']()))return null;const _0x5b92e1=_0x24e97a['getFullYear'](),_0x2da3da=String(_0x24e97a['getMonth']()+0x1)[_0x54e820(0x16b)](0x2,'0'),_0x5bc8ec=_0x17eb55[_0x54e820(0x177)](String,_0x24e97a[_0x54e820(0x141)]())['padStart'](0x2,'0');return _0x5b92e1+'-'+_0x2da3da+'-'+_0x5bc8ec;}if(_0x17eb55[_0x54e820(0x15f)](typeof _0x24e97a,_0x54e820(0x106))){const _0x3dee82=_0x24e97a[_0x54e820(0x102)](/^(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})$/);if(_0x3dee82){const _0x31cf5a=_0x17eb55['bLSUS'](String,_0x3dee82[0x1])['padStart'](0x2,'0'),_0x12c023=String(_0x3dee82[0x2])[_0x54e820(0x16b)](0x2,'0'),_0x1bd72a=_0x3dee82[0x3];return _0x1bd72a+'-'+_0x12c023+'-'+_0x31cf5a;}const _0x372870=_0x24e97a[_0x54e820(0x102)](/^(\d{4})[\/\-](\d{1,2})[\/\-](\d{1,2})$/);if(_0x372870){const _0x440476=_0x372870[0x1],_0x8e4959=_0x17eb55['rGlOw'](String,_0x372870[0x2])[_0x54e820(0x16b)](0x2,'0'),_0x3b93a9=String(_0x372870[0x3])['padStart'](0x2,'0');return _0x440476+'-'+_0x8e4959+'-'+_0x3b93a9;}}return _0x24e97a;}[a0_0x4d0a67(0x189)](_0x258372){const _0x311474=a0_0x4d0a67,_0x396d57={'fUmdF':function(_0x4fd8af,_0x2123a2){return _0x4fd8af===_0x2123a2;},'wctiJ':function(_0xa8c7e8,_0xd7999c){return _0xa8c7e8===_0xd7999c;},'dzziE':_0x311474(0x187),'tWtoc':function(_0x5a7cc3,_0x4380b4){return _0x5a7cc3===_0x4380b4;},'XwDuG':'string','MhLRZ':function(_0x24b44c,_0x1f2527){return _0x24b44c(_0x1f2527);}};if(_0x258372===null||_0x396d57[_0x311474(0x10c)](_0x258372,undefined)||_0x258372==='')return null;if(_0x396d57[_0x311474(0x130)](typeof _0x258372,_0x396d57['dzziE']))return isNaN(_0x258372)?null:_0x258372;if(_0x396d57['tWtoc'](typeof _0x258372,_0x396d57['XwDuG'])){let _0x2d42e4=_0x258372['trim']();const _0x16370a=/,\d{1,2}$/[_0x311474(0x190)](_0x2d42e4)&&!/,\d{3}/[_0x311474(0x190)](_0x2d42e4);_0x16370a?_0x2d42e4=_0x2d42e4['replace'](/\./g,'')['replace'](',','.'):_0x2d42e4=_0x2d42e4['replace'](/,/g,'');const _0x457f72=parseFloat(_0x2d42e4);return _0x396d57[_0x311474(0x12b)](isNaN,_0x457f72)?null:_0x457f72;}return null;}['formatBooleanForDatabase'](_0x821163){const _0x3b35b6=a0_0x4d0a67,_0x28fed3={'NdjAw':function(_0x179e05,_0x529a55){return _0x179e05===_0x529a55;},'hxgBX':function(_0x483f9e,_0x2842e1){return _0x483f9e===_0x2842e1;},'vSvqa':function(_0x5910ec,_0x4adaae){return _0x5910ec===_0x4adaae;},'tioQM':'string','kYnmy':_0x3b35b6(0x149),'TLTmY':_0x3b35b6(0x17a),'VZYqv':function(_0x2ea589,_0x57b66c){return _0x2ea589===_0x57b66c;}};if(_0x28fed3['NdjAw'](_0x821163,null)||_0x28fed3['hxgBX'](_0x821163,undefined)||_0x28fed3[_0x3b35b6(0x148)](_0x821163,''))return null;if(_0x28fed3[_0x3b35b6(0x178)](typeof _0x821163,'boolean'))return _0x821163?'true':'false';if(_0x28fed3['NdjAw'](typeof _0x821163,_0x28fed3[_0x3b35b6(0x150)])){const _0x2babf5=_0x821163[_0x3b35b6(0x12f)]()[_0x3b35b6(0x19a)]();if([_0x28fed3[_0x3b35b6(0x184)],_0x3b35b6(0x13d),'y','1'][_0x3b35b6(0x174)](_0x2babf5))return _0x28fed3[_0x3b35b6(0x184)];if([_0x28fed3['TLTmY'],'no','n','0']['includes'](_0x2babf5))return _0x3b35b6(0x17a);return null;}if(_0x28fed3[_0x3b35b6(0x10e)](typeof _0x821163,'number'))return _0x821163?'true':_0x3b35b6(0x17a);return null;}async['uploadFile'](_0x498fab,_0x47abe1){const _0xd1da4c=a0_0x4d0a67,_0x3dac54={'xfOMJ':'request_scope_applied','IvCbC':'Request\x20scope\x20override\x20applied\x20to\x20imported\x20rows','TKBxA':_0xd1da4c(0x143),'vpeVH':function(_0x3d36db,_0x5f07ff,_0x3cd221,_0x426489){return _0x3d36db(_0x5f07ff,_0x3cd221,_0x426489);},'LJrdT':'file_cleanup_error','vbqmP':_0xd1da4c(0x146)},_0x432b73=this['generateId']();try{let {headers:_0x1f347b,rows:_0x3d9cee,totalRows:_0x204936}=await excelParser['parseExcelFile'](_0x498fab['path']);const _0x4caffe=this[_0xd1da4c(0x170)](_0x47abe1[_0xd1da4c(0x120)]),_0x9e8eb3=_0x1f347b['map'](_0x2a0d88=>{const _0x410a23=_0x4caffe['get'](_0x2a0d88);return _0x410a23||_0x2a0d88;});_0x3d9cee=_0x3d9cee['map'](_0xfb7823=>{const _0x48b76d=_0xd1da4c,_0x471311={};return _0x1f347b[_0x48b76d(0x18f)]((_0x3fba7d,_0x391609)=>{const _0x3927bf=_0x9e8eb3[_0x391609];_0x471311[_0x3927bf]=_0xfb7823[_0x3fba7d];}),_0x471311;}),_0x1f347b=_0x9e8eb3,logger['debug']({'event':_0xd1da4c(0xfc),'original':_0x1f347b['length'],'mapped':_0x9e8eb3[_0xd1da4c(0x19b)]((_0x58a545,_0x301e5f)=>_0x58a545!==_0x1f347b[_0x301e5f])[_0xd1da4c(0x117)]},_0xd1da4c(0x158));_0x47abe1['columnFormats']&&Object[_0xd1da4c(0x14f)](_0x47abe1['columnFormats'])[_0xd1da4c(0x117)]>0x0&&(_0x3d9cee=this['applyColumnFormats'](_0x3d9cee,_0x47abe1[_0xd1da4c(0x13c)]),logger[_0xd1da4c(0x122)]({'event':_0xd1da4c(0x11b),'formatCount':Object['keys'](_0x47abe1[_0xd1da4c(0x13c)])['length'],'formats':Object[_0xd1da4c(0x14f)](_0x47abe1['columnFormats'])},_0xd1da4c(0x108)));if(_0x47abe1[_0xd1da4c(0x186)]&&_0x47abe1[_0xd1da4c(0x186)][_0xd1da4c(0x163)]){const {column:_0x3814a1,value:_0x584e1c}=_0x47abe1[_0xd1da4c(0x186)];_0x3d9cee=_0x3d9cee[_0xd1da4c(0xf7)](_0x2c8b8e=>({..._0x2c8b8e,[_0x3814a1]:_0x584e1c})),logger[_0xd1da4c(0x122)]({'event':_0x3dac54[_0xd1da4c(0x16e)],'column':_0x3814a1,'rowCount':_0x3d9cee['length']},_0x3dac54['IvCbC']);}const _0x1d6d10=_0x47abe1['lookupFields']?Object['values'](_0x47abe1[_0xd1da4c(0x114)])[_0xd1da4c(0xf7)](_0x448140=>_0x448140[_0xd1da4c(0x17c)]):[],_0x51fb57=_0x47abe1[_0xd1da4c(0x13a)][_0xd1da4c(0x19b)](_0x1136c7=>!_0x1d6d10[_0xd1da4c(0x174)](_0x1136c7)),_0x3a0560=excelParser['validateExcelStructure'](_0x1f347b,_0x51fb57);if(!_0x3a0560['valid']){await fs[_0xd1da4c(0x195)](_0x498fab['path']);throw new Error('Excel\x20structure\x20mismatch.\x20Missing\x20fields:\x20'+_0x3a0560['missingFields']['join'](',\x20'));}const _0x3711f0={'upload_id':_0x432b73,'filename':_0x498fab[_0xd1da4c(0x144)],'total_rows':_0x204936,'headers':_0x1f347b,'rows':_0x3d9cee,'params':_0x47abe1,'created_at':new Date()['toISOString']()};return await redisHelper['setJob']('upload:'+_0x432b73,_0x3711f0,0xe10),await fs['unlink'](_0x498fab[_0xd1da4c(0x132)]),logger[_0xd1da4c(0x193)]({'event':_0x3dac54['TKBxA'],'uploadId':_0x432b73,'filename':_0x498fab[_0xd1da4c(0x144)],'totalRows':_0x204936},_0xd1da4c(0x182)),{'upload_id':_0x432b73,'total_rows':_0x204936,'preview':_0x3d9cee['slice'](0x0,0xa)};}catch(_0xac83bb){try{await fs[_0xd1da4c(0x195)](_0x498fab[_0xd1da4c(0x132)]);}catch(_0x4eddb8){_0x3dac54[_0xd1da4c(0x17e)](logError,_0x4eddb8,{'event':_0x3dac54['LJrdT']},_0x3dac54[_0xd1da4c(0x134)]);}throw _0xac83bb;}}async['createPreviewJob'](_0x202929){const _0x547dff=a0_0x4d0a67,_0x432643={'puyNb':'validating'},_0x6d3313=this[_0x547dff(0x18d)](),_0xfed275=await redisHelper[_0x547dff(0x162)](_0x547dff(0x17f)+_0x202929);if(!_0xfed275)throw new Error('Upload\x20data\x20not\x20found\x20or\x20expired');const _0xfcef80={'job_id':_0x6d3313,'upload_id':_0x202929,'status':_0x432643['puyNb'],'progress':0x0,'created_at':new Date()[_0x547dff(0x16a)](),'params':_0xfed275['params']};return await redisHelper['setJob']('job:'+_0x6d3313,_0xfcef80,0xe10),logger['info']({'event':_0x547dff(0x15c),'jobId':_0x6d3313,'uploadId':_0x202929},_0x547dff(0x11a)),this[_0x547dff(0x18e)](_0x6d3313,_0x202929,_0xfed275)['catch'](_0xe0f48e=>{const _0x170b50=_0x547dff;logError(_0xe0f48e,{'event':_0x170b50(0xfd),'jobId':_0x6d3313},_0x170b50(0x161));}),{'job_id':_0x6d3313,'status':_0x432643['puyNb']};}['autoGenerateUpsertKeys'](_0x3f89fe,_0x12f0f3){const _0x233ce2={'gFJIh':function(_0x126533,_0x5f0a0f){return _0x126533===_0x5f0a0f;},'EKGFE':function(_0x4e813c,_0x38c1e7){return _0x4e813c(_0x38c1e7);},'tmfET':'uuid_auto_generated','FoLlk':function(_0x3f86f4,_0xb60d69){return _0x3f86f4+_0xb60d69;}};_0x3f89fe['forEach']((_0x40226d,_0x48b4c3)=>{_0x12f0f3['forEach'](_0x241f7e=>{const _0x1b4df8=a0_0x191f,_0x26dc40=_0x40226d[_0x241f7e];if(_0x233ce2[_0x1b4df8(0x14a)](_0x26dc40,null)||_0x233ce2[_0x1b4df8(0x14a)](_0x26dc40,undefined)||_0x26dc40===''||_0x233ce2['EKGFE'](String,_0x26dc40)['trim']()==='-'){const _0x195928=uuidv7();_0x40226d[_0x241f7e]=_0x195928,_0x40226d[_0x1b4df8(0x13e)]=_0x40226d[_0x1b4df8(0x13e)]||{},_0x40226d['_generated_uuid'][_0x241f7e]=_0x195928,logger[_0x1b4df8(0x122)]({'event':_0x233ce2['tmfET'],'rowIndex':_0x48b4c3,'field':_0x241f7e,'uuid':_0x195928},'Auto-generated\x20UUID\x20for\x20'+_0x241f7e+'\x20at\x20row\x20'+_0x233ce2['FoLlk'](_0x48b4c3,0x2));}});});}async['processPreviewJob'](_0x2ad660,_0x138bb8,_0x3bca9e){const _0xa481b2=a0_0x4d0a67,_0x1a8523={'mRNNW':'UPDATE','PEftC':function(_0x2a9c7e,_0x3c26d5){return _0x2a9c7e===_0x3c26d5;},'UBoAu':_0xa481b2(0x103),'fDgUI':function(_0x1189e7,_0x989d2f){return _0x1189e7>_0x989d2f;},'JWhPs':'processing_lookup_fields','DdvsI':_0xa481b2(0x16f),'ESdqc':_0xa481b2(0x19c),'VgXVG':_0xa481b2(0xff),'fGXiM':'Preview\x20job\x20failed','MHjnv':_0xa481b2(0x139)};try{let {rows:_0x575892,params:_0xa04f01}=_0x3bca9e;const {requiredFields:_0x10ae23,validations:_0x4d9ce9,upsertKeys:_0x14061c,tableName:_0x1c96be,primaryKey:_0x310c48,fieldName:_0x3d5187,upsertStrategy:_0x4a377b,lookupFields:_0x47bf00}=_0xa04f01;this[_0xa481b2(0x118)](_0x575892,_0x14061c);let _0x5e713a=[];if(_0x47bf00&&_0x1a8523['fDgUI'](Object[_0xa481b2(0x14f)](_0x47bf00)[_0xa481b2(0x117)],0x0)){logger['info']({'event':_0x1a8523[_0xa481b2(0x175)],'jobId':_0x2ad660,'lookupFieldCount':Object[_0xa481b2(0x14f)](_0x47bf00)['length']},'Processing\x20lookup\x20fields');const _0x111cf9=await lookupResolver['processLookupFields'](_0x575892,_0x47bf00);_0x575892=_0x111cf9[_0xa481b2(0x110)],_0x5e713a=_0x111cf9['errors'],_0x3bca9e[_0xa481b2(0x156)]=_0x575892;}const _0x5d4f24=importValidator['batchValidateRows'](_0x575892,_0x10ae23||[],_0x4d9ce9||{});_0x5e713a[_0xa481b2(0x18f)](_0x3d8e5f=>{const _0x560e3e=_0xa481b2,_0xfb1fbd=_0x5d4f24['find'](_0x3bb6dc=>_0x3bb6dc['rowIndex']===_0x3d8e5f[_0x560e3e(0x167)]);_0xfb1fbd?_0xfb1fbd['errors']['push'](_0x3d8e5f[_0x560e3e(0x125)]):_0x5d4f24[_0x560e3e(0x17d)]({'rowIndex':_0x3d8e5f['rowIndex'],'rowData':_0x575892[_0x3d8e5f['rowIndex']],'errors':[_0x3d8e5f['message']]});});const _0x43740c=importValidator[_0xa481b2(0x11f)](_0x575892,_0x14061c);_0x43740c['forEach'](_0x47f34f=>{const _0x270944=_0xa481b2,_0x3a4664=_0x5d4f24[_0x270944(0x142)](_0x3d90a7=>_0x3d90a7['rowIndex']===_0x47f34f['rowIndex']),_0x4bc7fc=_0x14061c['map'](_0x8b60af=>_0x8b60af['toUpperCase']())[_0x270944(0x16c)](',\x20'),_0x38f712='Duplicate\x20value\x20for\x20'+_0x4bc7fc;_0x3a4664?_0x3a4664[_0x270944(0x1a4)][_0x270944(0x17d)](_0x38f712):_0x5d4f24['push']({'rowIndex':_0x47f34f['rowIndex'],'rowData':_0x575892[_0x47f34f['rowIndex']],'errors':[_0x38f712]});}),await this['detectDatabaseDuplicates'](_0x575892,_0x14061c,_0x1c96be,_0x310c48,_0x4a377b,_0x5d4f24),_0x5d4f24[_0xa481b2(0x18f)](_0xbb2491=>{const _0xdc9b25=_0xa481b2,_0x22ea4d=_0x575892[_0xbb2491['rowIndex']];_0x22ea4d&&(_0x22ea4d['_errors']=_0xbb2491[_0xdc9b25(0x1a4)]);});let _0x39575c=0x0,_0x109ee0=0x0,_0x1cb68c=0x0;_0x575892['forEach'](_0x14891d=>{const _0x48d225=_0xa481b2;if(_0x14891d[_0x48d225(0x176)]==='INSERT')_0x39575c++;else{if(_0x14891d['_action']===_0x1a8523[_0x48d225(0x116)])_0x109ee0++;else _0x1a8523['PEftC'](_0x14891d[_0x48d225(0x176)],_0x1a8523['UBoAu'])&&_0x1cb68c++;}});const _0x258e75={'job_id':_0x2ad660,'upload_id':_0x138bb8,'status':_0x5d4f24['length']>0x0?_0x1a8523[_0xa481b2(0x198)]:'preview_ok','progress':0x64,'created_at':_0x3bca9e['created_at'],'completed_at':new Date()[_0xa481b2(0x16a)](),'preview':{'total_rows':_0x575892['length'],'insert_count':_0x39575c,'update_count':_0x109ee0,'skip_count':_0x1cb68c,'error_count':_0x5d4f24['length'],'errors':_0x5d4f24,'data':_0x575892,'sample_insert':_0x575892[_0xa481b2(0x19b)](_0x529468=>_0x529468['_action']==='INSERT')[_0xa481b2(0x124)](0x0,0x5),'sample_update':_0x575892['filter'](_0x5d138f=>_0x5d138f[_0xa481b2(0x176)]===_0xa481b2(0x153))['slice'](0x0,0x5),'sample_skip':_0x575892['filter'](_0xd3176d=>_0xd3176d[_0xa481b2(0x176)]===_0xa481b2(0x103))[_0xa481b2(0x124)](0x0,0x5)},'params':_0xa04f01};await redisHelper[_0xa481b2(0x197)](_0xa481b2(0x159)+_0x2ad660,_0x258e75,0xe10),_0x3bca9e['rows']=_0x575892,await redisHelper['setJob'](_0xa481b2(0x17f)+_0x138bb8,_0x3bca9e,0xe10),logger[_0xa481b2(0x193)]({'event':_0x1a8523['ESdqc'],'jobId':_0x2ad660,'status':_0x258e75[_0xa481b2(0x13b)],'insertCount':_0x39575c,'updateCount':_0x109ee0,'skipCount':_0x1cb68c,'errorCount':_0x5d4f24[_0xa481b2(0x117)]},_0xa481b2(0x1a3));}catch(_0x22a501){logError(_0x22a501,{'event':_0x1a8523['VgXVG'],'jobId':_0x2ad660},_0x1a8523[_0xa481b2(0x18c)]),await redisHelper['setJob'](_0xa481b2(0x159)+_0x2ad660,{'job_id':_0x2ad660,'upload_id':_0x138bb8,'status':_0x1a8523[_0xa481b2(0x11d)],'progress':0x0,'error':_0x22a501[_0xa481b2(0x125)],'created_at':new Date()['toISOString'](),'completed_at':new Date()['toISOString']()},0xe10);}}async['detectDatabaseDuplicates'](_0x2125a8,_0xda6149,_0x18b1f9,_0x2fe21d,_0x323388='update_existing',_0x129272=[]){const _0x52f7d8=a0_0x4d0a67,_0x583147={'KLABN':function(_0x283d63,_0x99e811){return _0x283d63===_0x99e811;},'Gjjha':_0x52f7d8(0x192),'zzPlA':'SKIP','EuHpg':'skip_existing','mysIM':function(_0x436078,_0x415b84){return _0x436078===_0x415b84;},'KzTRQ':_0x52f7d8(0x105),'SQFzA':_0x52f7d8(0x152),'dpJWJ':function(_0x3efc79,_0x4f50c3){return _0x3efc79(_0x4f50c3);},'xuMPl':'oracle','rTLfm':function(_0x5c8a39,_0x4be43a){return _0x5c8a39>_0x4be43a;}},_0x2b4832=upsertBuilder[_0x52f7d8(0x154)](_0x2125a8,0x64);for(const _0x1c3fe5 of _0x2b4832){const _0x4b97ca=_0x1c3fe5[_0x52f7d8(0xf7)](_0x15b5ef=>_0x15b5ef[_0xda6149[0x0]]),_0x51053b=_0x4b97ca[_0x52f7d8(0xf7)](_0x7cb7f5=>{if(_0x7cb7f5===null||_0x7cb7f5===undefined)return'NULL';return'\x27'+String(_0x7cb7f5)['replace'](/'/g,'\x27\x27')+'\x27';}),_0xadbfa9=_0x52f7d8(0x165)+_0x2fe21d+',\x20'+_0xda6149[_0x52f7d8(0x16c)](',\x20')+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20FROM\x20'+_0x18b1f9+_0x52f7d8(0x173)+_0xda6149[0x0]+'\x20IN\x20('+_0x51053b[_0x52f7d8(0x16c)](',\x20')+_0x52f7d8(0x14b);let _0x15240e=await _0x583147['dpJWJ'](executeQuery,_0xadbfa9);dbType===_0x583147[_0x52f7d8(0x12e)]&&_0x15240e&&_0x583147[_0x52f7d8(0x17b)](_0x15240e[_0x52f7d8(0x117)],0x0)&&(_0x15240e=_0x15240e[_0x52f7d8(0xf7)](_0x516eae=>{const _0xd5053a=_0x52f7d8,_0x3f947e={};for(const [_0x16df52,_0x30e0fa]of Object[_0xd5053a(0x19d)](_0x516eae)){_0x3f947e[_0x16df52['toLowerCase']()]=_0x30e0fa;}return _0x3f947e;}));const _0x3edb25=new Map();_0x15240e[_0x52f7d8(0x18f)](_0x4f5e15=>{const _0x47c7e5=_0x4f5e15[_0xda6149[0x0]];_0x3edb25['set'](_0x47c7e5,_0x4f5e15);}),_0x1c3fe5[_0x52f7d8(0x18f)]((_0x58ff18,_0x5cf054)=>{const _0x2e99b3=_0x52f7d8,_0x335bf9=_0x58ff18[_0xda6149[0x0]],_0x1dc48d=_0x3edb25[_0x2e99b3(0xfa)](_0x335bf9);if(_0x1dc48d){if(_0x583147[_0x2e99b3(0x127)](_0x323388,_0x2e99b3(0x105)))_0x58ff18['_action']=_0x2e99b3(0x153),_0x58ff18[_0x2e99b3(0x136)]=_0x1dc48d[_0x2fe21d];else{if(_0x323388===_0x583147['Gjjha']){_0x58ff18['_action']=_0x583147[_0x2e99b3(0x115)],_0x58ff18[_0x2e99b3(0x140)]=_0x58ff18['_errors']||[],_0x58ff18[_0x2e99b3(0x140)][_0x2e99b3(0x17d)]('Record\x20exists\x20(insert_only\x20mode)');const _0x4b242a=_0x2125a8[_0x2e99b3(0x19f)](_0x58ff18);_0x4b242a!==-0x1&&_0x129272[_0x2e99b3(0x17d)]({'rowIndex':_0x4b242a,'rowData':_0x58ff18,'errors':['Record\x20exists\x20(insert_only\x20mode)']});}else _0x323388===_0x583147['EuHpg']&&(_0x58ff18[_0x2e99b3(0x176)]=_0x583147[_0x2e99b3(0x115)]);}}else{if(_0x583147[_0x2e99b3(0x166)](_0x323388,_0x583147['KzTRQ']))_0x58ff18[_0x2e99b3(0x176)]=_0x2e99b3(0x152);else(_0x583147[_0x2e99b3(0x166)](_0x323388,'insert_only')||_0x323388===_0x583147[_0x2e99b3(0x138)])&&(_0x58ff18['_action']=_0x583147['SQFzA']);}});}}async['createCommitJob'](_0x3bd65f){const _0x4c6878=a0_0x4d0a67,_0x213eca={'qVrEP':function(_0x1b9e05,_0x2d2384,_0x5eac1c,_0x4d93ed){return _0x1b9e05(_0x2d2384,_0x5eac1c,_0x4d93ed);},'aKvsZ':'Preview\x20job\x20not\x20found\x20or\x20expired','aSZkH':function(_0x2db98a,_0x1c5440){return _0x2db98a!==_0x1c5440;},'OaeJO':'preview_ok','ovHae':_0x4c6878(0x180),'AvFls':'processing'},_0x26fbf9=this[_0x4c6878(0x18d)](),_0x570e64=await redisHelper['getJob']('job:'+_0x3bd65f);if(!_0x570e64)throw new Error(_0x213eca['aKvsZ']);if(_0x213eca[_0x4c6878(0x112)](_0x570e64['status'],_0x213eca[_0x4c6878(0x15b)]))throw new Error(_0x4c6878(0x14d)+_0x570e64['status']);const _0x1a9c90={'job_id':_0x26fbf9,'upload_id':_0x570e64['upload_id'],'preview_job_id':_0x3bd65f,'status':'processing','progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x570e64['params']};return await redisHelper['setJob']('job:'+_0x26fbf9,_0x1a9c90,0xe10),logger[_0x4c6878(0x193)]({'event':_0x213eca[_0x4c6878(0x126)],'jobId':_0x26fbf9,'previewJobId':_0x3bd65f},'Commit\x20job\x20created'),this['processCommitJob'](_0x26fbf9,_0x570e64)['catch'](_0xd2b820=>{const _0x39db47=_0x4c6878;_0x213eca[_0x39db47(0x199)](logError,_0xd2b820,{'event':_0x39db47(0x10a),'jobId':_0x26fbf9},_0x39db47(0x188));}),{'job_id':_0x26fbf9,'status':_0x213eca['AvFls']};}async['processCommitJob'](_0x3609f7,_0x4166ad){const _0x35b810=a0_0x4d0a67,_0x2773a2={'iFAYl':function(_0x3826af,_0x1f1a8a){return _0x3826af===_0x1f1a8a;},'WHguw':function(_0x2a03e9,_0x530dfc){return _0x2a03e9>_0x530dfc;},'ekOcA':_0x35b810(0x14e),'sWtzo':_0x35b810(0x101),'KRjFD':_0x35b810(0x1a2),'zTqwj':function(_0x57d58b,_0x413b9d,_0x306059,_0x46e918){return _0x57d58b(_0x413b9d,_0x306059,_0x46e918);}};try{const _0x58fe7d=await redisHelper['getJob'](_0x35b810(0x17f)+_0x4166ad['upload_id']);if(!_0x58fe7d)throw new Error(_0x35b810(0x12c));const {rows:_0x53bf3e,params:_0x13d5de}=_0x58fe7d,{tableName:_0x461b31,fieldName:_0x441025,primaryKey:_0x1b812e,upsertKeys:_0x1d1a27,excludeFromImport:_0x276758,lookupFields:_0x5c2f87,columnFormats:_0x477cdd}=_0x13d5de,_0x40db7a=_0x5c2f87?Object[_0x35b810(0x14f)](_0x5c2f87):[],_0x1075cc=new Set([..._0x276758||[],..._0x40db7a]);let _0x168a78=_0x441025;_0x2773a2[_0x35b810(0x181)](_0x1075cc['size'],0x0)&&(_0x168a78=_0x441025['filter'](_0x4e88a4=>!_0x1075cc[_0x35b810(0x157)](_0x4e88a4)),logger['debug']({'event':'import_fields_filtered','originalCount':_0x441025[_0x35b810(0x117)],'filteredCount':_0x168a78[_0x35b810(0x117)],'excludedFields':Array[_0x35b810(0x172)](_0x1075cc),'lookupSourceFields':_0x40db7a},_0x2773a2[_0x35b810(0x169)]));const _0x3b0a6f=_0x53bf3e['filter'](_0x2f31f5=>_0x2f31f5['_action']===_0x35b810(0x152)),_0x1ecd6e=_0x53bf3e[_0x35b810(0x19b)](_0x2cacb0=>_0x2cacb0[_0x35b810(0x176)]==='UPDATE');let _0xab2801=0x0,_0x1359e0=0x0;const _0x5e09b4=[];if(_0x2773a2[_0x35b810(0x181)](_0x3b0a6f[_0x35b810(0x117)],0x0)){const _0x1760b3=upsertBuilder[_0x35b810(0x154)](_0x3b0a6f,0x64);for(const _0x3c793e of _0x1760b3){const {query:_0x114ccb}=upsertBuilder[_0x35b810(0x15d)](_0x3c793e,_0x461b31,_0x168a78,_0x477cdd||{});_0x114ccb&&_0x5e09b4[_0x35b810(0x17d)]({'sql':_0x114ccb,'count':_0x3c793e['length'],'type':_0x2773a2['sWtzo']});}}if(_0x1ecd6e[_0x35b810(0x117)]>0x0){const _0x23efa4=upsertBuilder['chunkRows'](_0x1ecd6e,0x64);for(const _0x4264e7 of _0x23efa4){const {query:_0x425f44}=upsertBuilder['buildBatchUpdate'](_0x4264e7,_0x461b31,_0x168a78,_0x1b812e,_0x1d1a27,_0x477cdd||{});_0x425f44&&_0x5e09b4[_0x35b810(0x17d)]({'sql':_0x425f44,'count':_0x4264e7[_0x35b810(0x117)],'type':'update'});}}_0x2773a2['WHguw'](_0x5e09b4['length'],0x0)&&await executeTransaction(_0x5e09b4['map'](_0x51e9f2=>({'sql':_0x51e9f2[_0x35b810(0x183)],'params':[]})));_0x5e09b4[_0x35b810(0x18f)](_0x8c3d5=>{const _0x1aa70f=_0x35b810;if(_0x2773a2[_0x1aa70f(0x13f)](_0x8c3d5['type'],'insert'))_0xab2801+=_0x8c3d5[_0x1aa70f(0x12a)];else _0x1359e0+=_0x8c3d5['count'];});const _0x5077f7={'job_id':_0x3609f7,'upload_id':_0x4166ad['upload_id'],'preview_job_id':_0x4166ad['job_id'],'status':'completed','progress':0x64,'created_at':_0x4166ad['created_at'],'started_at':new Date()[_0x35b810(0x16a)](),'completed_at':new Date()['toISOString'](),'result':{'total_rows':_0x53bf3e['length'],'inserted_rows':_0xab2801,'updated_rows':_0x1359e0,'skipped_rows':0x0,'failed_rows':0x0,'errors':[]},'params':_0x13d5de};await redisHelper[_0x35b810(0x197)](_0x35b810(0x159)+_0x3609f7,_0x5077f7,0xe10),logger[_0x35b810(0x193)]({'event':_0x35b810(0x11e),'jobId':_0x3609f7,'insertedCount':_0xab2801,'updatedCount':_0x1359e0},_0x2773a2[_0x35b810(0x147)]);}catch(_0x4db792){_0x2773a2['zTqwj'](logError,_0x4db792,{'event':'commit_job_failed','jobId':_0x3609f7},_0x35b810(0x185)),await redisHelper[_0x35b810(0x197)]('job:'+_0x3609f7,{'job_id':_0x3609f7,'upload_id':_0x4166ad['upload_id'],'preview_job_id':_0x4166ad['job_id'],'status':_0x35b810(0x139),'progress':0x0,'error':_0x4db792['message'],'created_at':_0x4166ad[_0x35b810(0x18b)],'started_at':new Date()[_0x35b810(0x16a)](),'completed_at':new Date()[_0x35b810(0x16a)]()},0xe10);}}async[a0_0x4d0a67(0x15e)](_0x197288){const _0x5943da=a0_0x4d0a67,_0x350fb7={'huvkl':_0x5943da(0x135)},_0xdb199a=await redisHelper['getJob']('job:'+_0x197288);if(!_0xdb199a)return{'success':![],'error':_0x350fb7['huvkl']};return{'success':!![],'data':_0xdb199a};}}module[a0_0x4d0a67(0x1a1)]=new ImportService();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x20a05b=a0_0x5d4f;(function(_0x324dde,_0x2674d8){const _0x7cfe87=a0_0x5d4f,_0x460134=_0x324dde();while(!![]){try{const _0x42474e=parseInt(_0x7cfe87(0x1eb))/0x1+-parseInt(_0x7cfe87(0x206))/0x2*(-parseInt(_0x7cfe87(0x1e9))/0x3)+parseInt(_0x7cfe87(0x233))/0x4+parseInt(_0x7cfe87(0x215))/0x5+-parseInt(_0x7cfe87(0x1f3))/0x6*(parseInt(_0x7cfe87(0x23c))/0x7)+parseInt(_0x7cfe87(0x22a))/0x8+-parseInt(_0x7cfe87(0x1da))/0x9*(parseInt(_0x7cfe87(0x205))/0xa);if(_0x42474e===_0x2674d8)break;else _0x460134['push'](_0x460134['shift']());}catch(_0x4bbe29){_0x460134['push'](_0x460134['shift']());}}}(a0_0x85b6,0x951a4));function a0_0x5d4f(_0x36ca9f,_0x2b1598){_0x36ca9f=_0x36ca9f-0x1cf;const _0x85b68a=a0_0x85b6();let _0x5d4fc8=_0x85b68a[_0x36ca9f];if(a0_0x5d4f['ofiZyX']===undefined){var _0x4ed59d=function(_0xddaa7a){const _0x410483='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x90816f='',_0x10851f='';for(let _0x4fbdb4=0x0,_0x5da195,_0x517018,_0x161fb8=0x0;_0x517018=_0xddaa7a['charAt'](_0x161fb8++);~_0x517018&&(_0x5da195=_0x4fbdb4%0x4?_0x5da195*0x40+_0x517018:_0x517018,_0x4fbdb4++%0x4)?_0x90816f+=String['fromCharCode'](0xff&_0x5da195>>(-0x2*_0x4fbdb4&0x6)):0x0){_0x517018=_0x410483['indexOf'](_0x517018);}for(let _0x1c92ea=0x0,_0x2d495a=_0x90816f['length'];_0x1c92ea<_0x2d495a;_0x1c92ea++){_0x10851f+='%'+('00'+_0x90816f['charCodeAt'](_0x1c92ea)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x10851f);};a0_0x5d4f['nSRuJe']=_0x4ed59d,a0_0x5d4f['oQSOoU']={},a0_0x5d4f['ofiZyX']=!![];}const _0x3594be=_0x85b68a[0x0],_0x28f2a4=_0x36ca9f+_0x3594be,_0x27726b=a0_0x5d4f['oQSOoU'][_0x28f2a4];return!_0x27726b?(_0x5d4fc8=a0_0x5d4f['nSRuJe'](_0x5d4fc8),a0_0x5d4f['oQSOoU'][_0x28f2a4]=_0x5d4fc8):_0x5d4fc8=_0x27726b,_0x5d4fc8;}const {Kafka,logLevel}=require(a0_0x20a05b(0x209)),{v7:uuidv7}=require(a0_0x20a05b(0x1e2));class KafkaConsumerService{constructor(){const _0x55eef7=a0_0x20a05b,_0x10c883='8|10|4|0|3|1|7|5|9|2|6'['split']('|');let _0x1ab5d5=0x0;while(!![]){switch(_0x10c883[_0x1ab5d5++]){case'0':this['isInitializing']=![];continue;case'1':this[_0x55eef7(0x235)]=![];continue;case'2':this[_0x55eef7(0x1ee)]=null;continue;case'3':this['isRunning']=![];continue;case'4':this['isConnected']=![];continue;case'5':this[_0x55eef7(0x23e)]=[];continue;case'6':this[_0x55eef7(0x1d6)]={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':null,'processingTimes':[]};continue;case'7':this['connectionPromise']=null;continue;case'8':this['kafka']=null;continue;case'9':this['groupId']=null;continue;case'10':this[_0x55eef7(0x1d8)]=null;continue;}break;}}[a0_0x20a05b(0x208)](){const _0x7e1929=a0_0x20a05b,_0x191a74={'sTfOe':_0x7e1929(0x1f4),'IOxPX':_0x7e1929(0x1f2),'bAegD':'default','HuBcG':function(_0x1384db,_0x129e4f){return _0x1384db(_0x129e4f);},'pOLNl':function(_0x1c079e,_0x289a4e){return _0x1c079e(_0x289a4e);},'rrRdC':'25000','FpAMw':'3000','BoSJK':'5000','HVYJE':_0x7e1929(0x211)};return{'enabled':process['env'][_0x7e1929(0x1f6)]===_0x191a74['sTfOe'],'brokers':(process['env']['KAFKA_BROKERS']||_0x191a74['IOxPX'])['split'](','),'clientId':process[_0x7e1929(0x1f9)]['KAFKA_CLIENT_ID']||'restforge-'+(process[_0x7e1929(0x1f9)][_0x7e1929(0x22f)]||_0x191a74[_0x7e1929(0x21c)])+_0x7e1929(0x241),'connectionTimeout':_0x191a74['HuBcG'](parseInt,process[_0x7e1929(0x1f9)]['KAFKA_CONNECTION_TIMEOUT']||_0x7e1929(0x228)),'requestTimeout':_0x191a74[_0x7e1929(0x1e1)](parseInt,process[_0x7e1929(0x1f9)][_0x7e1929(0x204)]||_0x191a74[_0x7e1929(0x21d)]),'sessionTimeout':parseInt(process['env'][_0x7e1929(0x219)]||'30000'),'heartbeatInterval':_0x191a74['HuBcG'](parseInt,process['env'][_0x7e1929(0x1dc)]||_0x191a74['FpAMw']),'maxBytesPerPartition':_0x191a74[_0x7e1929(0x1db)](parseInt,process[_0x7e1929(0x1f9)][_0x7e1929(0x20a)]||_0x7e1929(0x21b)),'autoCommit':process[_0x7e1929(0x1f9)][_0x7e1929(0x1ff)]==='true','autoCommitInterval':parseInt(process['env']['KAFKA_AUTO_COMMIT_INTERVAL']||_0x191a74[_0x7e1929(0x1d9)]),'retryAttempts':parseInt(process['env']['KAFKA_RETRY_ATTEMPTS']||'3'),'retryDelay':parseInt(process[_0x7e1929(0x1f9)][_0x7e1929(0x230)]||'1000'),'retryMaxDelay':_0x191a74['pOLNl'](parseInt,process['env']['KAFKA_RETRY_MAX_DELAY']||_0x191a74[_0x7e1929(0x216)]),'logLevel':process[_0x7e1929(0x1f9)][_0x7e1929(0x200)]||'warn'};}['getLogLevel'](_0x23612a){const _0x1ef573=a0_0x20a05b,_0x4dba87={'nothing':logLevel['NOTHING'],'error':logLevel[_0x1ef573(0x242)],'warn':logLevel[_0x1ef573(0x1d4)],'info':logLevel['INFO'],'debug':logLevel['DEBUG']};return _0x4dba87[_0x23612a['toLowerCase']()]||logLevel['WARN'];}async['initialize'](_0x296727={}){const _0x5250a1=a0_0x20a05b,_0x1a1f6b={'OcPHB':function(_0x264fd4,_0x9b9368){return _0x264fd4===_0x9b9368;},'NlEbR':function(_0x6e3d26,_0x2841c8){return _0x6e3d26(_0x2841c8);}},_0x21e116=this['getConfig']();if(!_0x21e116[_0x5250a1(0x20b)])return console[_0x5250a1(0x214)](_0x5250a1(0x210)),![];if(this['isConnected'])return!![];if(this['isInitializing']&&this[_0x5250a1(0x1df)])return this[_0x5250a1(0x1df)];return this[_0x5250a1(0x1de)]=!![],this[_0x5250a1(0x1df)]=new Promise(async _0x2f0765=>{const _0xdfbd90=_0x5250a1;try{let _0x9cc3c2=undefined;_0x1a1f6b[_0xdfbd90(0x223)](process['env'][_0xdfbd90(0x225)],'true')&&(_0x9cc3c2=!![]);let _0x3f9af7=undefined;process[_0xdfbd90(0x1f9)]['KAFKA_SASL_MECHANISM']&&(_0x3f9af7={'mechanism':process['env'][_0xdfbd90(0x220)],'username':process[_0xdfbd90(0x1f9)]['KAFKA_SASL_USERNAME']||'','password':process['env'][_0xdfbd90(0x227)]||''}),this['kafka']=new Kafka({'clientId':_0x296727[_0xdfbd90(0x1f1)]||_0x21e116['clientId'],'brokers':_0x21e116['brokers'],'connectionTimeout':_0x21e116['connectionTimeout'],'requestTimeout':_0x21e116['requestTimeout'],'logLevel':this['getLogLevel'](_0x21e116['logLevel']),'ssl':_0x9cc3c2,'sasl':_0x3f9af7,'retry':{'initialRetryTime':_0x21e116[_0xdfbd90(0x243)],'retries':_0x21e116[_0xdfbd90(0x22c)],'maxRetryTime':_0x21e116[_0xdfbd90(0x1d5)]}}),this['groupId']=_0x296727[_0xdfbd90(0x21a)]||'restforge-'+(process[_0xdfbd90(0x1f9)][_0xdfbd90(0x22f)]||_0xdfbd90(0x21f))+'-consumer-group',this[_0xdfbd90(0x1d8)]=this[_0xdfbd90(0x1d1)][_0xdfbd90(0x1d8)]({'groupId':this['groupId'],'sessionTimeout':_0x21e116['sessionTimeout'],'heartbeatInterval':_0x21e116['heartbeatInterval'],'maxBytesPerPartition':_0x21e116['maxBytesPerPartition'],'allowAutoTopicCreation':![]}),await this['consumer'][_0xdfbd90(0x212)](),this['isConnected']=!![],console[_0xdfbd90(0x214)](_0xdfbd90(0x202)+_0x21e116['brokers'][_0xdfbd90(0x1f8)](',\x20')+_0xdfbd90(0x1d0)+this['groupId']+')'),this[_0xdfbd90(0x1e5)](),_0x1a1f6b[_0xdfbd90(0x1d3)](_0x2f0765,!![]);}catch(_0x11c022){console['error']('[KafkaConsumer]\x20Connection\x20failed:\x20'+_0x11c022['message']),this['isConnected']=![],_0x1a1f6b['NlEbR'](_0x2f0765,![]);}finally{this[_0xdfbd90(0x1de)]=![];}}),this[_0x5250a1(0x1df)];}['setupEventHandlers'](){const _0x165c6c=a0_0x20a05b,_0x58b1ce={'HKJtU':_0x165c6c(0x1d7)},_0x41e858=_0x58b1ce['HKJtU']['split']('|');let _0x370f09=0x0;while(!![]){switch(_0x41e858[_0x370f09++]){case'0':this[_0x165c6c(0x1d8)]['on']('consumer.disconnect',()=>{const _0x355056=_0x165c6c;console[_0x355056(0x214)](_0x355056(0x1cf)),this[_0x355056(0x23d)]=![],this[_0x355056(0x1dd)]=![];});continue;case'1':this['consumer']['on']('consumer.stop',()=>{const _0x441b95=_0x165c6c;console[_0x441b95(0x214)](_0x441b95(0x217)),this[_0x441b95(0x1dd)]=![];});continue;case'2':this['consumer']['on'](_0x165c6c(0x23b),()=>{const _0x2daae8=_0x165c6c;console[_0x2daae8(0x214)]('[KafkaConsumer]\x20Consumer\x20rebalancing...');});continue;case'3':if(!this['consumer'])return;continue;case'4':this[_0x165c6c(0x1d8)]['on']('consumer.crash',_0x35d260=>{const _0x5929ac=_0x165c6c;console[_0x5929ac(0x1f5)]('[KafkaConsumer]\x20Consumer\x20crashed:\x20'+_0x35d260['payload'][_0x5929ac(0x1f5)]['message']),this[_0x5929ac(0x1dd)]=![];});continue;}break;}}async['subscribe'](_0x408088,_0x58b9a2=![]){const _0x1d75f9=a0_0x20a05b;if(!this['isConnected'])return console['error']('[KafkaConsumer]\x20Cannot\x20subscribe\x20-\x20not\x20connected'),![];try{const _0x2921d9=Array[_0x1d75f9(0x239)](_0x408088)?_0x408088:[_0x408088];for(const _0x13d9a8 of _0x2921d9){await this[_0x1d75f9(0x1d8)]['subscribe']({'topic':_0x13d9a8,'fromBeginning':_0x58b9a2}),console[_0x1d75f9(0x214)]('[KafkaConsumer]\x20Subscribed\x20to\x20topic:\x20'+_0x13d9a8+'\x20(fromBeginning:\x20'+_0x58b9a2+')');}return this[_0x1d75f9(0x23e)]=[...new Set([...this[_0x1d75f9(0x23e)],..._0x2921d9])],!![];}catch(_0x235b36){return console[_0x1d75f9(0x1f5)]('[KafkaConsumer]\x20Subscribe\x20error:\x20'+_0x235b36['message']),![];}}async['startConsuming'](_0x53b726,_0x331c69={}){const _0x40d734=a0_0x20a05b,_0x1b107a={'ljBui':function(_0x5d2d28,_0x3cec5c){return _0x5d2d28>_0x3cec5c;},'nUoYE':function(_0x55719d){return _0x55719d();},'YLKWd':_0x40d734(0x1ed),'LFbYR':function(_0x38d8c0,_0x3dd8ca){return _0x38d8c0!==_0x3dd8ca;}};if(!this['isConnected'])return console['error']('[KafkaConsumer]\x20Cannot\x20start\x20consuming\x20-\x20not\x20connected'),![];if(this['isRunning'])return console['log'](_0x1b107a['YLKWd']),!![];const _0x506861=this['getConfig']();this[_0x40d734(0x1ee)]=_0x53b726;try{return this['metrics'][_0x40d734(0x234)]=new Date(),await this['consumer']['run']({'autoCommit':_0x1b107a['LFbYR'](_0x331c69['autoCommit'],undefined)?_0x331c69[_0x40d734(0x1fc)]:_0x506861['autoCommit'],'autoCommitInterval':_0x506861['autoCommitInterval'],'eachMessage':async({topic:_0x26b0c9,partition:_0x29177a,message:_0x4a155e,heartbeat:_0x5bd3fd})=>{const _0x1b612a=_0x40d734,_0x5833d0=Date[_0x1b612a(0x207)]();this[_0x1b612a(0x1d6)][_0x1b612a(0x231)]++,this['metrics'][_0x1b612a(0x244)]=new Date();try{const _0x5ed882=_0x4a155e['value']?_0x4a155e[_0x1b612a(0x22e)]['toString']():null;let _0x43d073=null;try{_0x43d073=_0x5ed882?JSON['parse'](_0x5ed882):null;}catch(_0x23355d){_0x43d073=_0x5ed882;}const _0x391827={'topic':_0x26b0c9,'partition':_0x29177a,'offset':_0x4a155e[_0x1b612a(0x1e4)],'key':_0x4a155e[_0x1b612a(0x232)]?_0x4a155e['key'][_0x1b612a(0x226)]():null,'headers':this['parseHeaders'](_0x4a155e[_0x1b612a(0x224)]),'timestamp':_0x4a155e[_0x1b612a(0x1f7)],'value':_0x43d073,'raw':_0x5ed882};this[_0x1b612a(0x1ee)]&&await this[_0x1b612a(0x1ee)](_0x391827);!_0x506861[_0x1b612a(0x1fc)]&&await this[_0x1b612a(0x1d8)]['commitOffsets']([{'topic':_0x26b0c9,'partition':_0x29177a,'offset':(parseInt(_0x4a155e[_0x1b612a(0x1e4)])+0x1)[_0x1b612a(0x226)]()}]);this[_0x1b612a(0x1d6)][_0x1b612a(0x1fe)]++;const _0x558178=Date[_0x1b612a(0x207)]()-_0x5833d0;this['metrics'][_0x1b612a(0x23a)]['push'](_0x558178),_0x1b107a[_0x1b612a(0x1e7)](this[_0x1b612a(0x1d6)]['processingTimes']['length'],0x64)&&this['metrics'][_0x1b612a(0x23a)][_0x1b612a(0x1fa)](),await _0x1b107a['nUoYE'](_0x5bd3fd);}catch(_0x3f94fd){this[_0x1b612a(0x1d6)]['messagesFailed']++,console[_0x1b612a(0x1f5)](_0x1b612a(0x1fd)+_0x3f94fd['message']);throw _0x3f94fd;}}}),this['isRunning']=!![],console['log'](_0x40d734(0x229)+this[_0x40d734(0x23e)]['join'](',\x20')),!![];}catch(_0x1aade6){return console[_0x40d734(0x1f5)](_0x40d734(0x236)+_0x1aade6['message']),![];}}[a0_0x20a05b(0x1f0)](_0x69aa5f){const _0x1d5834=a0_0x20a05b;if(!_0x69aa5f)return{};const _0x1bb76c={};for(const [_0x57e8ae,_0xbac20]of Object['entries'](_0x69aa5f)){_0x1bb76c[_0x57e8ae]=_0xbac20?_0xbac20[_0x1d5834(0x226)]():null;}return _0x1bb76c;}async['pause'](){const _0x3dceea=a0_0x20a05b,_0x2a4641={'fFZKz':'[KafkaConsumer]\x20Cannot\x20pause\x20-\x20consumer\x20not\x20running','wuZxd':'[KafkaConsumer]\x20Consumer\x20already\x20paused','iPgTm':'[KafkaConsumer]\x20Consumer\x20paused'};if(!this[_0x3dceea(0x23d)]||!this['isRunning'])return console[_0x3dceea(0x214)](_0x2a4641[_0x3dceea(0x20c)]),![];if(this[_0x3dceea(0x235)])return console['log'](_0x2a4641['wuZxd']),!![];try{const _0x11edb7=this['subscribedTopics']['map'](_0x41edf2=>({'topic':_0x41edf2}));return this['consumer'][_0x3dceea(0x1fb)](_0x11edb7),this['isPaused']=!![],console['log'](_0x2a4641['iPgTm']),!![];}catch(_0x254b55){return console[_0x3dceea(0x1f5)]('[KafkaConsumer]\x20Pause\x20error:\x20'+_0x254b55[_0x3dceea(0x20d)]),![];}}async[a0_0x20a05b(0x201)](){const _0x777cd5=a0_0x20a05b,_0x170cdd={'lntah':'[KafkaConsumer]\x20Consumer\x20not\x20paused','VBMne':'[KafkaConsumer]\x20Consumer\x20resumed'};if(!this['isConnected']||!this[_0x777cd5(0x1dd)])return console['log']('[KafkaConsumer]\x20Cannot\x20resume\x20-\x20consumer\x20not\x20running'),![];if(!this['isPaused'])return console[_0x777cd5(0x214)](_0x170cdd['lntah']),!![];try{const _0x140f9c=this['subscribedTopics'][_0x777cd5(0x1ec)](_0x4fe8f6=>({'topic':_0x4fe8f6}));return this['consumer']['resume'](_0x140f9c),this[_0x777cd5(0x235)]=![],console[_0x777cd5(0x214)](_0x170cdd[_0x777cd5(0x1e0)]),!![];}catch(_0x148f6e){return console[_0x777cd5(0x1f5)]('[KafkaConsumer]\x20Resume\x20error:\x20'+_0x148f6e['message']),![];}}async['stop'](){const _0x15390a=a0_0x20a05b,_0x1472cb={'PipUc':'[KafkaConsumer]\x20Consumer\x20not\x20connected'};if(!this['isConnected'])return console[_0x15390a(0x214)](_0x1472cb['PipUc']),!![];try{const _0x26915f='0|4|2|5|3|1'['split']('|');let _0x2573e2=0x0;while(!![]){switch(_0x26915f[_0x2573e2++]){case'0':this['consumer']&&(await this['consumer']['stop'](),await this[_0x15390a(0x1d8)][_0x15390a(0x23f)]());continue;case'1':return!![];case'2':this['isRunning']=![];continue;case'3':console[_0x15390a(0x214)](_0x15390a(0x240));continue;case'4':this[_0x15390a(0x23d)]=![];continue;case'5':this[_0x15390a(0x235)]=![];continue;}break;}}catch(_0x193d41){return console['error'](_0x15390a(0x21e)+_0x193d41['message']),![];}}async[a0_0x20a05b(0x218)](_0x1b58d3,_0x3986fe,_0x30df56){const _0x56941b=a0_0x20a05b;if(!this['isConnected'])return console['error'](_0x56941b(0x1e8)),![];try{return this[_0x56941b(0x1d8)]['seek']({'topic':_0x1b58d3,'partition':_0x3986fe,'offset':_0x30df56[_0x56941b(0x226)]()}),console[_0x56941b(0x214)]('[KafkaConsumer]\x20Seeked\x20to\x20offset\x20'+_0x30df56+'\x20on\x20'+_0x1b58d3+':'+_0x3986fe),!![];}catch(_0x313bff){return console['error']('[KafkaConsumer]\x20Seek\x20error:\x20'+_0x313bff['message']),![];}}['getStatus'](){const _0x180d31=a0_0x20a05b,_0xfda539=this['getConfig']();return{'enabled':_0xfda539['enabled'],'connected':this[_0x180d31(0x23d)],'running':this['isRunning'],'paused':this['isPaused'],'brokers':_0xfda539[_0x180d31(0x20e)],'clientId':_0xfda539['clientId'],'groupId':this[_0x180d31(0x21a)],'subscribedTopics':this[_0x180d31(0x23e)]};}[a0_0x20a05b(0x1e3)](){const _0x442bfe=a0_0x20a05b,_0x35e363={'FIsPP':function(_0x32a530,_0x456a65){return _0x32a530/_0x456a65;},'buSQv':function(_0x2f9bd5,_0x2d8aab){return _0x2f9bd5>_0x2d8aab;},'UpmAt':function(_0x56dbbc,_0x41a48d){return _0x56dbbc+_0x41a48d;},'UsKYA':function(_0x99d2ea,_0x1db40b){return _0x99d2ea/_0x1db40b;},'uJkDw':function(_0x2d4b6d,_0x1797ec){return _0x2d4b6d+_0x1797ec;},'FddhV':function(_0x4c4bbf,_0x68c96b){return _0x4c4bbf-_0x68c96b;},'jalol':function(_0x446161,_0x483c59){return _0x446161+_0x483c59;}},_0x53c406=this['metrics'][_0x442bfe(0x23a)][_0x442bfe(0x22d)]>0x0?_0x35e363[_0x442bfe(0x237)](this['metrics']['processingTimes'][_0x442bfe(0x222)]((_0x5c4d83,_0x1c59e9)=>_0x5c4d83+_0x1c59e9,0x0),this[_0x442bfe(0x1d6)][_0x442bfe(0x23a)]['length']):0x0,_0x4fb7b0=this[_0x442bfe(0x1d6)]['processingTimes']['length']>0x0?Math['min'](...this[_0x442bfe(0x1d6)][_0x442bfe(0x23a)]):0x0,_0x9ed6dd=_0x35e363['buSQv'](this['metrics'][_0x442bfe(0x23a)]['length'],0x0)?Math[_0x442bfe(0x1ea)](...this[_0x442bfe(0x1d6)]['processingTimes']):0x0;return{'messagesReceived':this['metrics'][_0x442bfe(0x231)],'messagesProcessed':this['metrics']['messagesProcessed'],'messagesFailed':this[_0x442bfe(0x1d6)]['messagesFailed'],'successRate':this['metrics'][_0x442bfe(0x231)]>0x0?_0x35e363['UpmAt']((_0x35e363['UsKYA'](this[_0x442bfe(0x1d6)]['messagesProcessed'],this[_0x442bfe(0x1d6)][_0x442bfe(0x231)])*0x64)['toFixed'](0x2),'%'):'0%','lastMessageTime':this['metrics'][_0x442bfe(0x244)],'startTime':this['metrics'][_0x442bfe(0x234)],'uptime':this[_0x442bfe(0x1d6)][_0x442bfe(0x234)]?_0x35e363['uJkDw'](Math[_0x442bfe(0x22b)](_0x35e363[_0x442bfe(0x213)](_0x35e363[_0x442bfe(0x20f)](Date['now'](),this[_0x442bfe(0x1d6)]['startTime']['getTime']()),0x3e8)),'s'):'0s','processingTime':{'avg':Math['round'](_0x53c406)+'ms','min':_0x35e363[_0x442bfe(0x1d2)](_0x4fb7b0,'ms'),'max':_0x35e363[_0x442bfe(0x1ef)](_0x9ed6dd,'ms')}};}[a0_0x20a05b(0x238)](){const _0x12d65d=a0_0x20a05b;this[_0x12d65d(0x1d6)]={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':this['isRunning']?new Date():null,'processingTimes':[]},console['log']('[KafkaConsumer]\x20Metrics\x20reset');}async['close'](){const _0x50354f=a0_0x20a05b;await this[_0x50354f(0x1e6)]();}}let instance=null;function getInstance(){return!instance&&(instance=new KafkaConsumerService()),instance;}function resetInstance(){const _0x49521b=a0_0x20a05b;instance&&(instance[_0x49521b(0x203)](),instance=null);}function createInstance(){return new KafkaConsumerService();}function a0_0x85b6(){const _0x478391=['zw52','C2HPzNq','Cgf1C2u','yxv0B0nVBw1PDa','w0THzMTHq29UC3vTzxjDie1LC3nHz2uGChjVy2vZC2LUzYbLCNjVCJOG','BwvZC2fNzxnqCM9JzxnZzwq','s0fgs0fFqvvut19dt01nsvq','s0fgs0fFte9hx0XfvKvm','CMvZDw1L','w0THzMTHq29UC3vTzxjDienVBNn1BwvYignVBM5Ly3rLzcb0BYbICM9RzxjZoIa','y2XVC2u','s0fgs0fFuKvrvuvtvf9usu1ft1vu','mJq3otCWA3j4rNbM','nJyXmeLxzuvqtG','BM93','z2v0q29UzMLN','A2fMA2fQCW','s0fgs0fFtufyx0jzvevtx1bfuL9qqvjusvrjt04','zw5HyMXLza','zKzAs3O','BwvZC2fNzq','yNjVA2vYCW','rMrKAfy','w0THzMTHq29UC3vTzxjDieTHzMTHignVBNn1BwvYigLZigrPC2fIBgvKigLUignVBMzPz3vYyxrPB24','mZaWmda','y29UBMvJDa','vxnlwue','Bg9N','ndeXmde0mfryAuXnDq','sfzzsKu','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihn0B3bWzwq','C2vLA1rVt2zMC2v0','s0fgs0fFu0vtu0LptL9usu1ft1vu','z3jVDxbjza','mta0odu3nG','yKfLz0q','CNjszem','w0THzMTHq29UC3vTzxjDifn0B3aGzxjYB3i6ia','zgvMyxvSDa','s0fgs0fFu0fttf9nruniqu5ju00','zxHWB3j0CW','CMvKDwnL','t2nqsei','AgvHzgvYCW','s0fgs0fFu1nm','Dg9tDhjPBMC','s0fgs0fFu0fttf9qqvntv09sra','mZaWma','w0THzMTHq29UC3vTzxjDifn0yxj0zwqGy29UC3vTAw5NigzYB20GDg9WAwnZoIa','odG5mJq2nefuzejztq','zMXVB3i','CMv0CNLbDhrLBxb0CW','BgvUz3rO','DMfSDwu','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','s0fgs0fFuKvuuLLFrevmqvK','BwvZC2fNzxnszwnLAxzLza','A2v5','mJG3nJGXmNzms2fVta','C3rHCNruAw1L','AxnqyxvZzwq','w0THzMTHq29UC3vTzxjDifn0yxj0ignVBNn1BwLUzYbLCNjVCJOG','rKLZufa','CMvZzxrnzxrYAwnZ','AxnbCNjHEq','ChjVy2vZC2LUz1rPBwvZ','y29UC3vTzxiUCMvIywXHBMnPBMC','mJuXndy1ouHnD0LJta','AxndB25Uzwn0zwq','C3vIC2nYAwjLzfrVCgLJCW','zgLZy29UBMvJDa','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihn0B3bWzwqGyw5KigrPC2nVBM5Ly3rLza','lwnVBNn1BwvY','rvjst1i','CMv0CNLezwXHEq','BgfZDe1LC3nHz2vuAw1L','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigrPC2nVBM5Ly3rLza','icHNCM91CeLKoIa','A2fMA2e','DuPRrhC','tMXfyLi','v0fstG','CMv0CNLnyxHezwXHEq','Bwv0CMLJCW','m3WWFdf8nhWY','y29UC3vTzxi','qM9tsKS','ode5yxvTrMzj','shvcy0C','s0fgs0fFsevbuLrcrufux0LovevsvKfm','AxnsDw5UAw5N','AxnjBML0AwfSAxPPBMC','y29UBMvJDgLVBLbYB21PC2u','vKjnBMu','Ce9mtMW','DxvPza','z2v0twv0CMLJCW','B2zMC2v0','C2v0DxbfDMvUDeHHBMrSzxjZ','C3rVCa','BgPcDwK','w0THzMTHq29UC3vTzxjDienHBM5VDcbZzwvRic0GBM90ignVBM5Ly3rLza','mtiZseTqz2ff','Bwf4','nZK3ndmXvuzPvhz0','BwfW','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigfSCMvHzhKGCNvUBMLUzW','BwvZC2fNzuHHBMrSzxi','AMfSB2W','CgfYC2vizwfKzxjZ','y2XPzw50swq','Bg9JywXOB3n0oJKWoti','mtjNDvLes2q','Dhj1zq','zxjYB3i','s0fgs0fFru5bqKXfra','DgLTzxn0yw1W','AM9PBG'];a0_0x85b6=function(){return _0x478391;};return a0_0x85b6();}module[a0_0x20a05b(0x221)]={'getInstance':getInstance,'resetInstance':resetInstance,'createInstance':createInstance,'KafkaConsumerService':KafkaConsumerService};
|
|
1
|
+
const a0_0x37efee=a0_0x2fbd;(function(_0x14f966,_0x530e54){const _0x2ed7dd=a0_0x2fbd,_0x535771=_0x14f966();while(!![]){try{const _0x1a2c32=-parseInt(_0x2ed7dd(0x1df))/0x1*(parseInt(_0x2ed7dd(0x1dc))/0x2)+-parseInt(_0x2ed7dd(0x1e2))/0x3*(-parseInt(_0x2ed7dd(0x1f7))/0x4)+-parseInt(_0x2ed7dd(0x1da))/0x5*(parseInt(_0x2ed7dd(0x1a5))/0x6)+parseInt(_0x2ed7dd(0x1d0))/0x7*(parseInt(_0x2ed7dd(0x1e7))/0x8)+parseInt(_0x2ed7dd(0x20c))/0x9+-parseInt(_0x2ed7dd(0x1e6))/0xa+parseInt(_0x2ed7dd(0x1d1))/0xb;if(_0x1a2c32===_0x530e54)break;else _0x535771['push'](_0x535771['shift']());}catch(_0xea87fb){_0x535771['push'](_0x535771['shift']());}}}(a0_0x1804,0xe0fb4));const {Kafka,logLevel}=require(a0_0x37efee(0x1c5)),{v7:uuidv7}=require(a0_0x37efee(0x1ea));class KafkaConsumerService{constructor(){const _0x268fc2=a0_0x37efee;this['kafka']=null,this['consumer']=null,this['isConnected']=![],this[_0x268fc2(0x1e8)]=![],this[_0x268fc2(0x1c8)]=![],this[_0x268fc2(0x1cc)]=![],this[_0x268fc2(0x219)]=null,this['subscribedTopics']=[],this[_0x268fc2(0x1ab)]=null,this[_0x268fc2(0x1ce)]=null,this[_0x268fc2(0x1bf)]={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':null,'processingTimes':[]};}[a0_0x37efee(0x215)](){const _0x2b84be=a0_0x37efee,_0x150305={'VityP':function(_0x2dd874,_0x33ca18){return _0x2dd874===_0x33ca18;},'NdXth':'default','RWjkJ':_0x2b84be(0x1ae),'BXBQL':'3000','vifpY':_0x2b84be(0x1af),'lhqua':_0x2b84be(0x1d6),'cIWZk':function(_0x8989ff,_0x324862){return _0x8989ff(_0x324862);},'MsiyA':function(_0x5c0494,_0x47dbc6){return _0x5c0494(_0x47dbc6);},'gXhsN':_0x2b84be(0x213)};return{'enabled':_0x150305[_0x2b84be(0x1f2)](process[_0x2b84be(0x1d2)][_0x2b84be(0x1b8)],'true'),'brokers':(process['env']['KAFKA_BROKERS']||'localhost:9092')[_0x2b84be(0x218)](','),'clientId':process['env']['KAFKA_CLIENT_ID']||_0x2b84be(0x1fd)+(process['env']['RESTFORGE_PROJECT_NAME']||_0x150305[_0x2b84be(0x204)])+'-consumer','connectionTimeout':parseInt(process[_0x2b84be(0x1d2)][_0x2b84be(0x1c6)]||'3000'),'requestTimeout':parseInt(process[_0x2b84be(0x1d2)]['KAFKA_REQUEST_TIMEOUT']||_0x2b84be(0x1b5)),'sessionTimeout':parseInt(process[_0x2b84be(0x1d2)]['KAFKA_SESSION_TIMEOUT']||_0x150305[_0x2b84be(0x1b4)]),'heartbeatInterval':parseInt(process[_0x2b84be(0x1d2)][_0x2b84be(0x1f9)]||_0x150305['BXBQL']),'maxBytesPerPartition':parseInt(process[_0x2b84be(0x1d2)]['KAFKA_MAX_BYTES_PER_PARTITION']||_0x150305['vifpY']),'autoCommit':_0x150305[_0x2b84be(0x1f2)](process[_0x2b84be(0x1d2)]['KAFKA_AUTO_COMMIT'],_0x150305[_0x2b84be(0x1d5)]),'autoCommitInterval':_0x150305[_0x2b84be(0x1e3)](parseInt,process[_0x2b84be(0x1d2)][_0x2b84be(0x1c4)]||'5000'),'retryAttempts':_0x150305['MsiyA'](parseInt,process[_0x2b84be(0x1d2)]['KAFKA_RETRY_ATTEMPTS']||'3'),'retryDelay':parseInt(process[_0x2b84be(0x1d2)][_0x2b84be(0x209)]||_0x150305['gXhsN']),'retryMaxDelay':_0x150305['MsiyA'](parseInt,process['env'][_0x2b84be(0x1a4)]||_0x150305['RWjkJ']),'logLevel':process['env']['KAFKA_LOG_LEVEL']||_0x2b84be(0x1c7)};}[a0_0x37efee(0x20f)](_0x4d4866){const _0x1289c2=a0_0x37efee,_0x64c29c={'nothing':logLevel[_0x1289c2(0x216)],'error':logLevel[_0x1289c2(0x207)],'warn':logLevel['WARN'],'info':logLevel['INFO'],'debug':logLevel[_0x1289c2(0x1fe)]};return _0x64c29c[_0x4d4866['toLowerCase']()]||logLevel['WARN'];}async[a0_0x37efee(0x1bc)](_0x3322f1={}){const _0xa56ffc=a0_0x37efee,_0x3d4933={'WMwGK':function(_0x559348,_0x4cc316){return _0x559348===_0x4cc316;},'fonFt':function(_0x5c8d0f,_0x3931b4){return _0x5c8d0f(_0x3931b4);}},_0x10c0d2=this['getConfig']();if(!_0x10c0d2['enabled'])return console[_0xa56ffc(0x1c3)]('[KafkaConsumer]\x20Kafka\x20consumer\x20is\x20disabled\x20in\x20configuration'),![];if(this['isConnected'])return!![];if(this['isInitializing']&&this['connectionPromise'])return this[_0xa56ffc(0x219)];return this['isInitializing']=!![],this['connectionPromise']=new Promise(async _0x2858d6=>{const _0x1c4603=_0xa56ffc;try{let _0x32b882=undefined;_0x3d4933['WMwGK'](process[_0x1c4603(0x1d2)]['KAFKA_SSL'],_0x1c4603(0x1d6))&&(_0x32b882=!![]);let _0x428a82=undefined;process[_0x1c4603(0x1d2)]['KAFKA_SASL_MECHANISM']&&(_0x428a82={'mechanism':process['env']['KAFKA_SASL_MECHANISM'],'username':process['env'][_0x1c4603(0x211)]||'','password':process[_0x1c4603(0x1d2)]['KAFKA_SASL_PASSWORD']||''}),this['kafka']=new Kafka({'clientId':_0x3322f1['clientId']||_0x10c0d2['clientId'],'brokers':_0x10c0d2[_0x1c4603(0x205)],'connectionTimeout':_0x10c0d2['connectionTimeout'],'requestTimeout':_0x10c0d2['requestTimeout'],'logLevel':this['getLogLevel'](_0x10c0d2['logLevel']),'ssl':_0x32b882,'sasl':_0x428a82,'retry':{'initialRetryTime':_0x10c0d2[_0x1c4603(0x1db)],'retries':_0x10c0d2['retryAttempts'],'maxRetryTime':_0x10c0d2[_0x1c4603(0x1a0)]}}),this['groupId']=_0x3322f1[_0x1c4603(0x1ab)]||_0x1c4603(0x1fd)+(process[_0x1c4603(0x1d2)]['RESTFORGE_PROJECT_NAME']||_0x1c4603(0x1d3))+_0x1c4603(0x1eb),this[_0x1c4603(0x1ec)]=this[_0x1c4603(0x1be)]['consumer']({'groupId':this['groupId'],'sessionTimeout':_0x10c0d2['sessionTimeout'],'heartbeatInterval':_0x10c0d2[_0x1c4603(0x1ad)],'maxBytesPerPartition':_0x10c0d2['maxBytesPerPartition'],'allowAutoTopicCreation':![]}),await this['consumer']['connect'](),this[_0x1c4603(0x1e4)]=!![],console['log'](_0x1c4603(0x1cb)+_0x10c0d2[_0x1c4603(0x205)][_0x1c4603(0x1f4)](',\x20')+'\x20(groupId:\x20'+this['groupId']+')'),this[_0x1c4603(0x1aa)](),_0x3d4933['fonFt'](_0x2858d6,!![]);}catch(_0x2b9c1f){console['error'](_0x1c4603(0x1b9)+_0x2b9c1f[_0x1c4603(0x1f1)]),this[_0x1c4603(0x1e4)]=![],_0x3d4933['fonFt'](_0x2858d6,![]);}finally{this[_0x1c4603(0x1e8)]=![];}}),this['connectionPromise'];}[a0_0x37efee(0x1aa)](){const _0x241719=a0_0x37efee,_0x58bf47={'uObRE':_0x241719(0x1e5),'pSejr':'[KafkaConsumer]\x20Consumer\x20stopped','Mlkyo':_0x241719(0x1c2),'sYnSA':_0x241719(0x1f0),'NyrZY':'consumer.rebalancing'};if(!this['consumer'])return;this['consumer']['on'](_0x241719(0x1f8),()=>{const _0x34997f=_0x241719;console['log'](_0x58bf47[_0x34997f(0x20b)]),this[_0x34997f(0x1e4)]=![],this['isRunning']=![];}),this[_0x241719(0x1ec)]['on']('consumer.stop',()=>{const _0x49ee32=_0x241719;console[_0x49ee32(0x1c3)](_0x58bf47[_0x49ee32(0x1ca)]),this['isRunning']=![];}),this[_0x241719(0x1ec)]['on'](_0x58bf47['sYnSA'],_0x512566=>{const _0x5541bf=_0x241719;console['error'](_0x5541bf(0x1bd)+_0x512566['payload'][_0x5541bf(0x21b)]['message']),this[_0x5541bf(0x1c8)]=![];}),this['consumer']['on'](_0x58bf47[_0x241719(0x1ed)],()=>{console['log'](_0x58bf47['Mlkyo']);});}async['subscribe'](_0x210a74,_0x2d0500=![]){const _0x5b8891=a0_0x37efee,_0x282772={'hbjDo':_0x5b8891(0x1d9)};if(!this[_0x5b8891(0x1e4)])return console[_0x5b8891(0x21b)](_0x282772['hbjDo']),![];try{const _0x5dcae7=Array[_0x5b8891(0x1fc)](_0x210a74)?_0x210a74:[_0x210a74];for(const _0x58fc82 of _0x5dcae7){await this[_0x5b8891(0x1ec)]['subscribe']({'topic':_0x58fc82,'fromBeginning':_0x2d0500}),console[_0x5b8891(0x1c3)](_0x5b8891(0x1ac)+_0x58fc82+_0x5b8891(0x1f6)+_0x2d0500+')');}return this[_0x5b8891(0x1f3)]=[...new Set([...this[_0x5b8891(0x1f3)],..._0x5dcae7])],!![];}catch(_0x218b5b){return console[_0x5b8891(0x21b)](_0x5b8891(0x1c1)+_0x218b5b[_0x5b8891(0x1f1)]),![];}}async['startConsuming'](_0x2cfbfd,_0x18d8ea={}){const _0x1ef122=a0_0x37efee,_0xadc531={'hcpNy':function(_0x63116d,_0x3ea9d9){return _0x63116d+_0x3ea9d9;},'uXpxm':function(_0x2e7048,_0x1e01aa){return _0x2e7048(_0x1e01aa);},'ybmmd':function(_0x535458,_0x2cae12){return _0x535458>_0x2cae12;},'LfHNN':'[KafkaConsumer]\x20Cannot\x20start\x20consuming\x20-\x20not\x20connected'};if(!this['isConnected'])return console[_0x1ef122(0x21b)](_0xadc531[_0x1ef122(0x1ba)]),![];if(this['isRunning'])return console[_0x1ef122(0x1c3)](_0x1ef122(0x203)),!![];const _0x3ccb2c=this[_0x1ef122(0x215)]();this['messageHandler']=_0x2cfbfd;try{return this['metrics']['startTime']=new Date(),await this['consumer'][_0x1ef122(0x1d8)]({'autoCommit':_0x18d8ea['autoCommit']!==undefined?_0x18d8ea['autoCommit']:_0x3ccb2c['autoCommit'],'autoCommitInterval':_0x3ccb2c[_0x1ef122(0x1c0)],'eachMessage':async({topic:_0xeec148,partition:_0x9666b7,message:_0x514ec7,heartbeat:_0x42506e})=>{const _0x43b297=_0x1ef122,_0xa206a2=Date['now']();this[_0x43b297(0x1bf)]['messagesReceived']++,this['metrics'][_0x43b297(0x21a)]=new Date();try{const _0x45314b=_0x514ec7['value']?_0x514ec7['value']['toString']():null;let _0x4b7b77=null;try{_0x4b7b77=_0x45314b?JSON[_0x43b297(0x1bb)](_0x45314b):null;}catch(_0xf72c88){_0x4b7b77=_0x45314b;}const _0x3523e5={'topic':_0xeec148,'partition':_0x9666b7,'offset':_0x514ec7[_0x43b297(0x1a3)],'key':_0x514ec7[_0x43b297(0x1a7)]?_0x514ec7['key']['toString']():null,'headers':this[_0x43b297(0x1a9)](_0x514ec7[_0x43b297(0x214)]),'timestamp':_0x514ec7['timestamp'],'value':_0x4b7b77,'raw':_0x45314b};this[_0x43b297(0x1ce)]&&await this['messageHandler'](_0x3523e5);!_0x3ccb2c[_0x43b297(0x1de)]&&await this['consumer'][_0x43b297(0x212)]([{'topic':_0xeec148,'partition':_0x9666b7,'offset':_0xadc531[_0x43b297(0x20d)](_0xadc531[_0x43b297(0x20e)](parseInt,_0x514ec7[_0x43b297(0x1a3)]),0x1)['toString']()}]);this['metrics'][_0x43b297(0x1ee)]++;const _0x8f026e=Date[_0x43b297(0x1ef)]()-_0xa206a2;this[_0x43b297(0x1bf)][_0x43b297(0x1b6)]['push'](_0x8f026e),_0xadc531[_0x43b297(0x208)](this[_0x43b297(0x1bf)][_0x43b297(0x1b6)][_0x43b297(0x1b0)],0x64)&&this[_0x43b297(0x1bf)][_0x43b297(0x1b6)][_0x43b297(0x1fb)](),await _0x42506e();}catch(_0x52959b){this[_0x43b297(0x1bf)]['messagesFailed']++,console['error'](_0x43b297(0x200)+_0x52959b['message']);throw _0x52959b;}}}),this['isRunning']=!![],console['log'](_0x1ef122(0x1b1)+this[_0x1ef122(0x1f3)][_0x1ef122(0x1f4)](',\x20')),!![];}catch(_0x220d2a){return console[_0x1ef122(0x21b)]('[KafkaConsumer]\x20Start\x20consuming\x20error:\x20'+_0x220d2a[_0x1ef122(0x1f1)]),![];}}['parseHeaders'](_0x1dc6a8){const _0x568c5b=a0_0x37efee;if(!_0x1dc6a8)return{};const _0xf3d2a6={};for(const [_0x351089,_0x5ba566]of Object['entries'](_0x1dc6a8)){_0xf3d2a6[_0x351089]=_0x5ba566?_0x5ba566[_0x568c5b(0x201)]():null;}return _0xf3d2a6;}async['pause'](){const _0x3862d5=a0_0x37efee,_0x5151b2={'jiSZn':'[KafkaConsumer]\x20Cannot\x20pause\x20-\x20consumer\x20not\x20running'};if(!this['isConnected']||!this[_0x3862d5(0x1c8)])return console[_0x3862d5(0x1c3)](_0x5151b2['jiSZn']),![];if(this['isPaused'])return console[_0x3862d5(0x1c3)]('[KafkaConsumer]\x20Consumer\x20already\x20paused'),!![];try{const _0x4cad99=this['subscribedTopics'][_0x3862d5(0x1a2)](_0x32c115=>({'topic':_0x32c115}));return this[_0x3862d5(0x1ec)][_0x3862d5(0x1a8)](_0x4cad99),this[_0x3862d5(0x1cc)]=!![],console[_0x3862d5(0x1c3)](_0x3862d5(0x1d4)),!![];}catch(_0x518353){return console[_0x3862d5(0x21b)](_0x3862d5(0x1cf)+_0x518353['message']),![];}}async[a0_0x37efee(0x1e1)](){const _0x57e724=a0_0x37efee,_0x5a3fbf={'KXwvJ':_0x57e724(0x1e9)};if(!this[_0x57e724(0x1e4)]||!this[_0x57e724(0x1c8)])return console[_0x57e724(0x1c3)]('[KafkaConsumer]\x20Cannot\x20resume\x20-\x20consumer\x20not\x20running'),![];if(!this['isPaused'])return console['log']('[KafkaConsumer]\x20Consumer\x20not\x20paused'),!![];try{const _0x46cedd=this['subscribedTopics'][_0x57e724(0x1a2)](_0x5174c8=>({'topic':_0x5174c8}));return this[_0x57e724(0x1ec)][_0x57e724(0x1e1)](_0x46cedd),this['isPaused']=![],console[_0x57e724(0x1c3)](_0x5a3fbf[_0x57e724(0x20a)]),!![];}catch(_0x5ae695){return console[_0x57e724(0x21b)](_0x57e724(0x1fa)+_0x5ae695['message']),![];}}async[a0_0x37efee(0x206)](){const _0x3272aa=a0_0x37efee,_0x476fc5={'cZipy':'[KafkaConsumer]\x20Consumer\x20not\x20connected'};if(!this[_0x3272aa(0x1e4)])return console['log'](_0x476fc5[_0x3272aa(0x202)]),!![];try{const _0x373eed='2|3|0|4|1|5'[_0x3272aa(0x218)]('|');let _0x57e65d=0x0;while(!![]){switch(_0x373eed[_0x57e65d++]){case'0':this['isRunning']=![];continue;case'1':console['log'](_0x3272aa(0x1a1));continue;case'2':this[_0x3272aa(0x1ec)]&&(await this[_0x3272aa(0x1ec)]['stop'](),await this[_0x3272aa(0x1ec)]['disconnect']());continue;case'3':this['isConnected']=![];continue;case'4':this[_0x3272aa(0x1cc)]=![];continue;case'5':return!![];}break;}}catch(_0x540be8){return console[_0x3272aa(0x21b)](_0x3272aa(0x1b2)+_0x540be8[_0x3272aa(0x1f1)]),![];}}async['seekToOffset'](_0x332882,_0x12bf42,_0x4fcc19){const _0x1f85cf=a0_0x37efee,_0x432f54={'Aytly':'[KafkaConsumer]\x20Cannot\x20seek\x20-\x20not\x20connected'};if(!this['isConnected'])return console['error'](_0x432f54['Aytly']),![];try{return this[_0x1f85cf(0x1ec)]['seek']({'topic':_0x332882,'partition':_0x12bf42,'offset':_0x4fcc19['toString']()}),console[_0x1f85cf(0x1c3)]('[KafkaConsumer]\x20Seeked\x20to\x20offset\x20'+_0x4fcc19+_0x1f85cf(0x1ff)+_0x332882+':'+_0x12bf42),!![];}catch(_0x3211bd){return console['error']('[KafkaConsumer]\x20Seek\x20error:\x20'+_0x3211bd['message']),![];}}[a0_0x37efee(0x1f5)](){const _0x54427f=a0_0x37efee,_0x11d593=this[_0x54427f(0x215)]();return{'enabled':_0x11d593[_0x54427f(0x1dd)],'connected':this[_0x54427f(0x1e4)],'running':this[_0x54427f(0x1c8)],'paused':this[_0x54427f(0x1cc)],'brokers':_0x11d593['brokers'],'clientId':_0x11d593['clientId'],'groupId':this[_0x54427f(0x1ab)],'subscribedTopics':this['subscribedTopics']};}['getMetrics'](){const _0x2b503c=a0_0x37efee,_0x1f4278={'fKOSn':function(_0x10c61e,_0x1b5217){return _0x10c61e/_0x1b5217;},'zYhZd':function(_0x41b233,_0x3659ee){return _0x41b233>_0x3659ee;},'KDiBQ':function(_0xfc2ce7,_0x31e680){return _0xfc2ce7+_0x31e680;},'BXAsK':function(_0x408396,_0x44b2c2){return _0x408396*_0x44b2c2;},'QXJBW':function(_0x8a3f97,_0x2068e1){return _0x8a3f97-_0x2068e1;},'cGbGk':function(_0x562307,_0x3450f8){return _0x562307+_0x3450f8;}},_0x43010c=this['metrics'][_0x2b503c(0x1b6)][_0x2b503c(0x1b0)]>0x0?_0x1f4278['fKOSn'](this[_0x2b503c(0x1bf)]['processingTimes']['reduce']((_0x55c40f,_0x5bd0c9)=>_0x55c40f+_0x5bd0c9,0x0),this['metrics']['processingTimes']['length']):0x0,_0x34310c=this[_0x2b503c(0x1bf)]['processingTimes']['length']>0x0?Math[_0x2b503c(0x1cd)](...this['metrics'][_0x2b503c(0x1b6)]):0x0,_0x1ae80c=this[_0x2b503c(0x1bf)][_0x2b503c(0x1b6)][_0x2b503c(0x1b0)]>0x0?Math['max'](...this[_0x2b503c(0x1bf)][_0x2b503c(0x1b6)]):0x0;return{'messagesReceived':this[_0x2b503c(0x1bf)]['messagesReceived'],'messagesProcessed':this[_0x2b503c(0x1bf)]['messagesProcessed'],'messagesFailed':this['metrics'][_0x2b503c(0x1e0)],'successRate':_0x1f4278[_0x2b503c(0x217)](this[_0x2b503c(0x1bf)][_0x2b503c(0x1c9)],0x0)?_0x1f4278[_0x2b503c(0x210)](_0x1f4278['BXAsK'](this[_0x2b503c(0x1bf)][_0x2b503c(0x1ee)]/this['metrics'][_0x2b503c(0x1c9)],0x64)[_0x2b503c(0x1a6)](0x2),'%'):'0%','lastMessageTime':this[_0x2b503c(0x1bf)]['lastMessageTime'],'startTime':this['metrics']['startTime'],'uptime':this[_0x2b503c(0x1bf)]['startTime']?_0x1f4278[_0x2b503c(0x210)](Math[_0x2b503c(0x1b3)](_0x1f4278['fKOSn'](_0x1f4278['QXJBW'](Date['now'](),this['metrics'][_0x2b503c(0x1d7)]['getTime']()),0x3e8)),'s'):'0s','processingTime':{'avg':Math['round'](_0x43010c)+'ms','min':_0x1f4278['KDiBQ'](_0x34310c,'ms'),'max':_0x1f4278['cGbGk'](_0x1ae80c,'ms')}};}['resetMetrics'](){const _0x43bf2c=a0_0x37efee;this[_0x43bf2c(0x1bf)]={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':this[_0x43bf2c(0x1c8)]?new Date():null,'processingTimes':[]},console[_0x43bf2c(0x1c3)]('[KafkaConsumer]\x20Metrics\x20reset');}async['close'](){await this['stop']();}}let instance=null;function getInstance(){return!instance&&(instance=new KafkaConsumerService()),instance;}function resetInstance(){const _0x1403ea=a0_0x37efee;instance&&(instance[_0x1403ea(0x1b7)](),instance=null);}function a0_0x2fbd(_0x57ba43,_0x4f9a5a){_0x57ba43=_0x57ba43-0x1a0;const _0x180499=a0_0x1804();let _0x2fbdea=_0x180499[_0x57ba43];if(a0_0x2fbd['pPGzHj']===undefined){var _0x478a2a=function(_0x4355f3){const _0x4bd99f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x30b681='',_0x170739='';for(let _0x27ce44=0x0,_0x1198f7,_0x434930,_0x3d0434=0x0;_0x434930=_0x4355f3['charAt'](_0x3d0434++);~_0x434930&&(_0x1198f7=_0x27ce44%0x4?_0x1198f7*0x40+_0x434930:_0x434930,_0x27ce44++%0x4)?_0x30b681+=String['fromCharCode'](0xff&_0x1198f7>>(-0x2*_0x27ce44&0x6)):0x0){_0x434930=_0x4bd99f['indexOf'](_0x434930);}for(let _0x5e9e59=0x0,_0x5d7361=_0x30b681['length'];_0x5e9e59<_0x5d7361;_0x5e9e59++){_0x170739+='%'+('00'+_0x30b681['charCodeAt'](_0x5e9e59)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x170739);};a0_0x2fbd['CsxEWS']=_0x478a2a,a0_0x2fbd['SMdKHE']={},a0_0x2fbd['pPGzHj']=!![];}const _0x1fc07c=_0x180499[0x0],_0x16abe1=_0x57ba43+_0x1fc07c,_0x3f3c0a=a0_0x2fbd['SMdKHE'][_0x16abe1];return!_0x3f3c0a?(_0x2fbdea=a0_0x2fbd['CsxEWS'](_0x2fbdea),a0_0x2fbd['SMdKHE'][_0x16abe1]=_0x2fbdea):_0x2fbdea=_0x3f3c0a,_0x2fbdea;}function createInstance(){return new KafkaConsumerService();}module['exports']={'getInstance':getInstance,'resetInstance':resetInstance,'createInstance':createInstance,'KafkaConsumerService':KafkaConsumerService};function a0_0x1804(){const _0x2694fd=['s0fgs0fFuKvuuLLFtufyx0rftefz','mJG3nfHhrfDLrW','Dg9gAxHLza','A2v5','Cgf1C2u','CgfYC2vizwfKzxjZ','C2v0DxbfDMvUDeHHBMrSzxjZ','z3jVDxbjza','w0THzMTHq29UC3vTzxjDifn1yNnJCMLIzwqGDg8GDg9WAwm6ia','AgvHCNrIzwf0sw50zxj2ywW','mZaWmda','mta0odu3nG','BgvUz3rO','w0THzMTHq29UC3vTzxjDifn0yxj0zwqGy29UC3vTAw5NigzYB20GDg9WAwnZoIa','w0THzMTHq29UC3vTzxjDifn0B3aGzxjYB3i6ia','zMXVB3i','uLDQA0O','mJuWmda','ChjVy2vZC2LUz1rPBwvZ','y2XVC2u','s0fgs0fFru5bqKXfra','w0THzMTHq29UC3vTzxjDienVBM5Ly3rPB24GzMfPBgvKoIa','tgzitK4','CgfYC2u','Aw5PDgLHBgL6zq','w0THzMTHq29UC3vTzxjDienVBNn1BwvYignYyxnOzwq6ia','A2fMA2e','Bwv0CMLJCW','yxv0B0nVBw1PDeLUDgvYDMfS','w0THzMTHq29UC3vTzxjDifn1yNnJCMLIzsbLCNjVCJOG','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihjLyMfSyw5JAw5NlI4U','Bg9N','s0fgs0fFqvvut19dt01nsvrFsu5urvjwquW','A2fMA2fQCW','s0fgs0fFq09otKvdveLptL9usu1ft1vu','D2fYBG','AxnsDw5UAw5N','BwvZC2fNzxnszwnLAxzLza','CfnLANi','w0THzMTHq29UC3vTzxjDienVBNn1BwvYignVBM5Ly3rLzcb0BYbICM9RzxjZoIa','AxnqyxvZzwq','BwLU','BwvZC2fNzuHHBMrSzxi','w0THzMTHq29UC3vTzxjDifbHDxnLigvYCM9YoIa','mJK0otaZtevbD0Dx','mtKZmZu4ndr1BNvNzNy','zw52','zgvMyxvSDa','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihbHDxnLza','BgHXDwe','Dhj1zq','C3rHCNruAw1L','CNvU','w0THzMTHq29UC3vTzxjDienHBM5VDcbZDwjZy3jPyMuGlsbUB3qGy29UBMvJDgvK','nJuXnurKyLjNDa','CMv0CNLezwXHEq','mZi0nMH4BLrHzG','zw5HyMXLza','yxv0B0nVBw1PDa','mJKXCMPVBNzS','BwvZC2fNzxngywLSzwq','CMvZDw1L','oti1oevSyLPysa','y0LxwMS','AxndB25Uzwn0zwq','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigrPC2nVBM5Ly3rLza','mteYmtqZmZb1D1nHEg0','mtiWAMTgELjH','AxnjBML0AwfSAxPPBMC','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihjLC3vTzwq','DxvPza','lwnVBNn1BwvYlwDYB3vW','y29UC3vTzxi','tNLYwLK','BwvZC2fNzxnqCM9JzxnZzwq','BM93','y29UC3vTzxiUy3jHC2G','BwvZC2fNzq','vML0Eva','C3vIC2nYAwjLzfrVCgLJCW','AM9PBG','z2v0u3rHDhvZ','icHMCM9TqMvNAw5UAw5NoIa','nJu2rufzDgDA','y29UC3vTzxiUzgLZy29UBMvJDa','s0fgs0fFsevbuLrcrufux0LovevsvKfm','w0THzMTHq29UC3vTzxjDifjLC3vTzsbLCNjVCJOG','C2HPzNq','AxnbCNjHEq','CMvZDgzVCMDLlq','revcvuC','ig9Uia','w0THzMTHq29UC3vTzxjDie1LC3nHz2uGChjVy2vZC2LUzYbLCNjVCJOG','Dg9tDhjPBMC','y1PPChK','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigfSCMvHzhKGCNvUBMLUzW','tMryDgG','yNjVA2vYCW','C3rVCa','rvjst1i','EwjTBwq','s0fgs0fFuKvuuLLFrevmqvK','s1H3DKO','Du9IuKu','mJe5mtG5nK1Sq3Hrqq','AgnWtNK','DvHWEg0','z2v0tg9Ntgv2zwW','s0rPqLe','s0fgs0fFu0fttf9vu0vstKfnrq','y29TBwL0t2zMC2v0CW','mtaWma','AgvHzgvYCW','z2v0q29UzMLN','tK9useLorW','ELLOwMq','C3bSAxq','y29UBMvJDgLVBLbYB21PC2u','BgfZDe1LC3nHz2vuAw1L','zxjYB3i','CMv0CNLnyxHezwXHEq','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihn0B3bWzwqGyw5KigrPC2nVBM5Ly3rLza','BwfW','B2zMC2v0'];a0_0x1804=function(){return _0x2694fd;};return a0_0x1804();}
|