@restforgejs/platform 5.2.11 → 5.2.13
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/build-info.json +2 -2
- package/cli/consumer-deploy.js +1 -1
- package/cli/consumer.js +1 -1
- package/generators/cli/fast-track.js +151 -34
- 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
|
-
const
|
|
1
|
+
function a0_0x2cf8(_0x5056cf,_0x37c8ba){_0x5056cf=_0x5056cf-0x7f;const _0x5a3b8b=a0_0x5a3b();let _0x2cf8a0=_0x5a3b8b[_0x5056cf];if(a0_0x2cf8['pcpIKU']===undefined){var _0x25edfc=function(_0x7cc907){const _0x314764='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x291caf='',_0x21ccf9='';for(let _0x2c49a6=0x0,_0x23ecb4,_0x2f0eed,_0x1f56fc=0x0;_0x2f0eed=_0x7cc907['charAt'](_0x1f56fc++);~_0x2f0eed&&(_0x23ecb4=_0x2c49a6%0x4?_0x23ecb4*0x40+_0x2f0eed:_0x2f0eed,_0x2c49a6++%0x4)?_0x291caf+=String['fromCharCode'](0xff&_0x23ecb4>>(-0x2*_0x2c49a6&0x6)):0x0){_0x2f0eed=_0x314764['indexOf'](_0x2f0eed);}for(let _0x1ba33d=0x0,_0x171048=_0x291caf['length'];_0x1ba33d<_0x171048;_0x1ba33d++){_0x21ccf9+='%'+('00'+_0x291caf['charCodeAt'](_0x1ba33d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x21ccf9);};a0_0x2cf8['xmkUhz']=_0x25edfc,a0_0x2cf8['qmYvnh']={},a0_0x2cf8['pcpIKU']=!![];}const _0x4b2f32=_0x5a3b8b[0x0],_0x1a3a65=_0x5056cf+_0x4b2f32,_0x4f7bdd=a0_0x2cf8['qmYvnh'][_0x1a3a65];return!_0x4f7bdd?(_0x2cf8a0=a0_0x2cf8['xmkUhz'](_0x2cf8a0),a0_0x2cf8['qmYvnh'][_0x1a3a65]=_0x2cf8a0):_0x2cf8a0=_0x4f7bdd,_0x2cf8a0;}const a0_0x1c1c97=a0_0x2cf8;(function(_0x29946c,_0x58795a){const _0x5a1783=a0_0x2cf8,_0x565863=_0x29946c();while(!![]){try{const _0x771425=-parseInt(_0x5a1783(0x99))/0x1*(parseInt(_0x5a1783(0x9e))/0x2)+-parseInt(_0x5a1783(0x9c))/0x3+-parseInt(_0x5a1783(0x9d))/0x4*(-parseInt(_0x5a1783(0x87))/0x5)+parseInt(_0x5a1783(0x86))/0x6+-parseInt(_0x5a1783(0x93))/0x7+parseInt(_0x5a1783(0x9f))/0x8+parseInt(_0x5a1783(0x9a))/0x9;if(_0x771425===_0x58795a)break;else _0x565863['push'](_0x565863['shift']());}catch(_0xca28ac){_0x565863['push'](_0x565863['shift']());}}}(a0_0x5a3b,0x49883));class DateTimeFormatter{static[a0_0x1c1c97(0x98)](_0x3c40bc,_0x4ac989,_0x497f42){const _0x4c4b67=a0_0x1c1c97,_0x1cdbc2={'wGAZQ':function(_0x20b0c9,_0x2f2e18){return _0x20b0c9===_0x2f2e18;},'EKbnA':'date','QDjyr':_0x4c4b67(0x90),'sCAdV':_0x4c4b67(0x7f)};if(!_0x3c40bc)return null;try{if(_0x1cdbc2['wGAZQ'](_0x497f42,_0x1cdbc2['EKbnA']))return this[_0x4c4b67(0x88)](_0x3c40bc,_0x4ac989);else{if(_0x497f42===_0x1cdbc2['QDjyr'])return this[_0x4c4b67(0x82)](_0x3c40bc,_0x4ac989);else{if(_0x497f42===_0x1cdbc2['sCAdV'])return this[_0x4c4b67(0x80)](_0x3c40bc,_0x4ac989);}}return _0x3c40bc;}catch(_0x4894aa){return console[_0x4c4b67(0x96)]('Error\x20formatting\x20datetime:\x20'+_0x4894aa['message']),_0x3c40bc;}}static['formatDate'](_0x48cb9d,_0x2c8c61){const _0x1f2ae5=a0_0x1c1c97,_0x53e60f={'bFcFK':function(_0x9ef7d5,_0x55d58b){return _0x9ef7d5(_0x55d58b);},'DMYwc':function(_0x123008,_0x704850){return _0x123008+_0x704850;}},_0x11bfbd=new Date(_0x48cb9d);if(isNaN(_0x11bfbd['getTime']()))return console['warn'](_0x1f2ae5(0x8a)+_0x48cb9d),_0x48cb9d;const _0x38049b=String(_0x11bfbd[_0x1f2ae5(0x85)]())['padStart'](0x2,'0'),_0x474092=_0x53e60f[_0x1f2ae5(0x92)](String,_0x53e60f['DMYwc'](_0x11bfbd['getMonth'](),0x1))['padStart'](0x2,'0'),_0x99dcad=_0x11bfbd['getFullYear'](),_0x3a27de={'dd/MM/yyyy':_0x38049b+'/'+_0x474092+'/'+_0x99dcad,'dd-MM-yyyy':_0x38049b+'-'+_0x474092+'-'+_0x99dcad,'MM/dd/yyyy':_0x474092+'/'+_0x38049b+'/'+_0x99dcad,'yyyy/MM/dd':_0x99dcad+'/'+_0x474092+'/'+_0x38049b,'yyyy-MM-dd':_0x99dcad+'-'+_0x474092+'-'+_0x38049b};return _0x3a27de[_0x2c8c61]||_0x99dcad+'-'+_0x474092+'-'+_0x38049b;}static['formatTimestamp'](_0x6fdbc9,_0x57746b){const _0x37bb6b=a0_0x1c1c97,_0x364fb1={'Qnwft':function(_0x299a37,_0x2631f1){return _0x299a37(_0x2631f1);},'ynpFM':function(_0x246959,_0x242b37){return _0x246959+_0x242b37;},'xteTr':function(_0x598a6c,_0x3bad60){return _0x598a6c(_0x3bad60);}},_0x5233f5=new Date(_0x6fdbc9);if(_0x364fb1['Qnwft'](isNaN,_0x5233f5[_0x37bb6b(0x81)]()))return console['warn'](_0x37bb6b(0x83)+_0x6fdbc9),_0x6fdbc9;const _0x1fdceb=String(_0x5233f5['getDate']())['padStart'](0x2,'0'),_0x2a54f3=String(_0x364fb1['ynpFM'](_0x5233f5[_0x37bb6b(0x8c)](),0x1))[_0x37bb6b(0x95)](0x2,'0'),_0x2d7785=_0x5233f5[_0x37bb6b(0x97)](),_0x1a35ed=_0x364fb1[_0x37bb6b(0x8e)](String,_0x5233f5[_0x37bb6b(0x84)]())['padStart'](0x2,'0'),_0x3084e8=String(_0x5233f5[_0x37bb6b(0x9b)]())[_0x37bb6b(0x95)](0x2,'0'),_0x2989e6=_0x364fb1[_0x37bb6b(0x8e)](String,_0x5233f5[_0x37bb6b(0x8b)]())['padStart'](0x2,'0'),_0x5e9a39=_0x57746b[_0x37bb6b(0x8d)]('\x20');if(_0x5e9a39[_0x37bb6b(0x91)]!==0x2)return _0x2d7785+'-'+_0x2a54f3+'-'+_0x1fdceb+'\x20'+_0x1a35ed+':'+_0x3084e8+':'+_0x2989e6;const _0x13280f=_0x5e9a39[0x0],_0x537aa1=_0x5e9a39[0x1],_0x1cf00b={'dd/MM/yyyy':_0x1fdceb+'/'+_0x2a54f3+'/'+_0x2d7785,'dd-MM-yyyy':_0x1fdceb+'-'+_0x2a54f3+'-'+_0x2d7785,'MM/dd/yyyy':_0x2a54f3+'/'+_0x1fdceb+'/'+_0x2d7785,'yyyy/MM/dd':_0x2d7785+'/'+_0x2a54f3+'/'+_0x1fdceb,'yyyy-MM-dd':_0x2d7785+'-'+_0x2a54f3+'-'+_0x1fdceb},_0x42152e={'HH:mm':_0x1a35ed+':'+_0x3084e8,'HH:mm:ss':_0x1a35ed+':'+_0x3084e8+':'+_0x2989e6,'hh:mm':_0x1a35ed+':'+_0x3084e8},_0xa998e1=_0x1cf00b[_0x13280f]||_0x2d7785+'-'+_0x2a54f3+'-'+_0x1fdceb,_0x4fa1b0=_0x42152e[_0x537aa1]||_0x1a35ed+':'+_0x3084e8+':'+_0x2989e6;return _0xa998e1+'\x20'+_0x4fa1b0;}static[a0_0x1c1c97(0x80)](_0x105edb,_0x187901){const _0x5590af=a0_0x1c1c97,_0x2f861a={'QocnD':function(_0x26f488,_0x4e5050){return _0x26f488<_0x4e5050;}};if(typeof _0x105edb!=='string')return _0x105edb;const _0x373e39=_0x105edb['split'](':');if(_0x2f861a['QocnD'](_0x373e39[_0x5590af(0x91)],0x2))return console[_0x5590af(0x8f)](_0x5590af(0x89)+_0x105edb),_0x105edb;const _0x4e1b5c=_0x373e39[0x0]['padStart'](0x2,'0'),_0x2b7b00=_0x373e39[0x1]['padStart'](0x2,'0'),_0x3c49db=_0x373e39[0x2]?_0x373e39[0x2]['split']('.')[0x0]['padStart'](0x2,'0'):'00',_0x56db35={'HH:mm':_0x4e1b5c+':'+_0x2b7b00,'HH:mm:ss':_0x4e1b5c+':'+_0x2b7b00+':'+_0x3c49db,'hh:mm':_0x4e1b5c+':'+_0x2b7b00};return _0x56db35[_0x187901]||_0x4e1b5c+':'+_0x2b7b00+':'+_0x3c49db;}}module[a0_0x1c1c97(0x94)]=DateTimeFormatter;function a0_0x5a3b(){const _0x36c63a=['sw52ywXPzcb0Aw1LC3rHBxaGDMfSDwu6ia','z2v0sg91CNm','z2v0rgf0zq','mtm3mtqYAgfjswHv','mtyWmJvwruvYEKW','zM9YBwf0rgf0zq','sw52ywXPzcb0Aw1LihzHBhvLoIa','sw52ywXPzcbKyxrLihzHBhvLoIa','z2v0u2vJB25KCW','z2v0tw9UDgG','C3bSAxq','EhrLvhi','D2fYBG','DgLTzxn0yw1W','BgvUz3rO','yKzJrKS','mtiYndi1ogf0BgrJtG','zxHWB3j0CW','CgfKu3rHCNq','zxjYB3i','z2v0rNvSBfLLyxi','zM9YBwf0','mJm0n21OAhLMvG','odCZmJqZBKr5vMHz','z2v0twLUDxrLCW','ndGYnZbhwvPMr08','nJG0uwDkEK5q','mJaYB1HjBgrW','ndKWmJmYCgrZz0Xp','DgLTzq','zM9YBwf0vgLTzq','z2v0vgLTzq','zM9YBwf0vgLTzxn0yw1W'];a0_0x5a3b=function(){return _0x36c63a;};return a0_0x5a3b();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x481ab6=a0_0x378e;function a0_0x18b0(){const _0x1ee2cb=['nZaXmJy4mhberfHLwa','zgf5','AM9fz2C','ndjpwunhuLK','DuTWwMm','zfz6yui','ExL5Es1nts1Kza','wuLXAMm','seG6Bw06C3m','mtK5ndm1BMnWyuTv','CgfYC2vuAw1L','rxjYB3iGCgfYC2LUzYbKyxrLDgLTztOG','sujRELK','mJu0nZi2rKT2ugPj','ne9dy0rlAa','Bw9UDgG','Cgf0DgvYBG','ExL5Es1nts1KzcbisdPTBtPZCW','z1Hbthi','otq2mZG5rMr6wu15','mJbQC0XUBuq','C3bSAxq','mti4mduXC3r1sM5p','B3jKzxi','A0Dju1i','mJGZmdCYsfrtBLzu','lcbYzxr1CM5PBMCGBNvSBa','CgfYC2u','ndC3odu1q2HltfzR','ENzps00','D2fYBG','oJaW','zxHWB3j0CW','sw52ywXPzcb0Aw1LC3rHBxaGzM9YBwf0oIa','CgfYC2veyxrL','CgfYC2vuAw1LC3rHBxa','EwvHCG','DgLTzxn0yw1W','EeTdA2y'];a0_0x18b0=function(){return _0x1ee2cb;};return a0_0x18b0();}function a0_0x378e(_0xc78a9b,_0x3b1a97){_0xc78a9b=_0xc78a9b-0x182;const _0x18b071=a0_0x18b0();let _0x378eab=_0x18b071[_0xc78a9b];if(a0_0x378e['MhJWUS']===undefined){var _0x4300a6=function(_0x1ffa0c){const _0x358a9c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x18d16e='',_0x15951b='';for(let _0x3b7480=0x0,_0x367019,_0x56bbb0,_0x555b29=0x0;_0x56bbb0=_0x1ffa0c['charAt'](_0x555b29++);~_0x56bbb0&&(_0x367019=_0x3b7480%0x4?_0x367019*0x40+_0x56bbb0:_0x56bbb0,_0x3b7480++%0x4)?_0x18d16e+=String['fromCharCode'](0xff&_0x367019>>(-0x2*_0x3b7480&0x6)):0x0){_0x56bbb0=_0x358a9c['indexOf'](_0x56bbb0);}for(let _0x298e83=0x0,_0x1a7ded=_0x18d16e['length'];_0x298e83<_0x1a7ded;_0x298e83++){_0x15951b+='%'+('00'+_0x18d16e['charCodeAt'](_0x298e83)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x15951b);};a0_0x378e['UYBCFJ']=_0x4300a6,a0_0x378e['iHRiqs']={},a0_0x378e['MhJWUS']=!![];}const _0x5cf2cf=_0x18b071[0x0],_0x8a4c87=_0xc78a9b+_0x5cf2cf,_0x31038e=a0_0x378e['iHRiqs'][_0x8a4c87];return!_0x31038e?(_0x378eab=a0_0x378e['UYBCFJ'](_0x378eab),a0_0x378e['iHRiqs'][_0x8a4c87]=_0x378eab):_0x378eab=_0x31038e,_0x378eab;}(function(_0x461d67,_0x5da50d){const _0x1575bd=a0_0x378e,_0x1313e0=_0x461d67();while(!![]){try{const _0x120a9b=parseInt(_0x1575bd(0x191))/0x1*(-parseInt(_0x1575bd(0x192))/0x2)+parseInt(_0x1575bd(0x197))/0x3+parseInt(_0x1575bd(0x198))/0x4*(-parseInt(_0x1575bd(0x18d))/0x5)+-parseInt(_0x1575bd(0x187))/0x6*(parseInt(_0x1575bd(0x19a))/0x7)+parseInt(_0x1575bd(0x19d))/0x8+parseInt(_0x1575bd(0x1a0))/0x9+parseInt(_0x1575bd(0x184))/0xa;if(_0x120a9b===_0x5da50d)break;else _0x1313e0['push'](_0x1313e0['shift']());}catch(_0x1dabc9){_0x1313e0['push'](_0x1313e0['shift']());}}}(a0_0x18b0,0x417f0));class DateTimeParser{static[a0_0x481ab6(0x19f)](_0x1cd325,_0x5c3be5,_0x53ca26){const _0xfa6683=a0_0x481ab6,_0x80a49f={'leiXq':function(_0x188bfa,_0x57c393){return _0x188bfa===_0x57c393;},'zvOKM':'date','kGISR':'time'};if(!_0x1cd325||_0x80a49f['leiXq'](_0x1cd325,''))return null;try{if(_0x53ca26===_0x80a49f[_0xfa6683(0x1a1)])return this['parseDate'](_0x1cd325,_0x5c3be5);else{if(_0x80a49f['leiXq'](_0x53ca26,_0xfa6683(0x182)))return this[_0xfa6683(0x1a7)](_0x1cd325,_0x5c3be5);else{if(_0x53ca26===_0x80a49f[_0xfa6683(0x19c)])return this[_0xfa6683(0x18e)](_0x1cd325,_0x5c3be5);}}return _0x1cd325;}catch(_0x9177d1){return console['error'](_0xfa6683(0x18f)+_0x9177d1['message']),null;}}static[a0_0x481ab6(0x1a6)](_0x4a1fa9,_0x4244ee){const _0x56deca=a0_0x481ab6,_0x4851ff={'joEgg':function(_0x444865,_0x3b74b2){return _0x444865+_0x3b74b2;},'stCGn':_0x56deca(0x18a),'dVzaB':_0x56deca(0x193),'uKpZc':'year','gXALr':_0x56deca(0x185)};if(!_0x4244ee||_0x4244ee===_0x4851ff['stCGn'])return _0x4a1fa9;const _0x4e80e2={'dd/MM/yyyy':{'pattern':/^(\d{2})\/(\d{2})\/(\d{4})$/,'order':['day',_0x4851ff[_0x56deca(0x189)],_0x4851ff[_0x56deca(0x188)]]},'dd-MM-yyyy':{'pattern':/^(\d{2})-(\d{2})-(\d{4})$/,'order':[_0x4851ff['gXALr'],_0x4851ff[_0x56deca(0x189)],_0x56deca(0x1a8)]},'MM/dd/yyyy':{'pattern':/^(\d{2})\/(\d{2})\/(\d{4})$/,'order':[_0x56deca(0x193),_0x4851ff[_0x56deca(0x196)],_0x56deca(0x1a8)]},'yyyy/MM/dd':{'pattern':/^(\d{4})\/(\d{2})\/(\d{2})$/,'order':[_0x4851ff['uKpZc'],_0x4851ff[_0x56deca(0x189)],_0x56deca(0x185)]}},_0x44d967=_0x4e80e2[_0x4244ee];if(!_0x44d967)return console[_0x56deca(0x1a2)]('Unknown\x20date\x20format:\x20'+_0x4244ee+_0x56deca(0x19e)),null;const _0x202cfb=_0x4a1fa9['match'](_0x44d967[_0x56deca(0x194)]);if(!_0x202cfb)return console[_0x56deca(0x1a2)]('Date\x20value\x20\x22'+_0x4a1fa9+'\x22\x20doesn\x27t\x20match\x20format\x20\x22'+_0x4244ee+'\x22'),null;const _0x460e51={'day':null,'month':null,'year':null};return _0x44d967[_0x56deca(0x19b)]['forEach']((_0x44e4d4,_0x1e8516)=>{const _0x52fb66=_0x56deca;_0x460e51[_0x44e4d4]=_0x202cfb[_0x4851ff[_0x52fb66(0x186)](_0x1e8516,0x1)];}),_0x460e51[_0x56deca(0x1a8)]+'-'+_0x460e51['month']+'-'+_0x460e51['day'];}static[a0_0x481ab6(0x1a7)](_0xe662ca,_0x4ea272){const _0x16f0c5=a0_0x481ab6,_0x38fcc={'trrgR':function(_0x2991c9,_0x4abb9e){return _0x2991c9===_0x4abb9e;},'xKCkf':_0x16f0c5(0x195)};if(!_0x4ea272||_0x38fcc['trrgR'](_0x4ea272,_0x38fcc[_0x16f0c5(0x183)]))return _0xe662ca;const _0x4cbec1=_0xe662ca[_0x16f0c5(0x199)]('\x20');if(_0x4cbec1['length']!==0x2)return console[_0x16f0c5(0x1a2)](_0x16f0c5(0x1a5)+_0xe662ca),null;const [_0x3a4921,_0x4c85f4]=_0x4cbec1,_0x18ee87=_0x4ea272[_0x16f0c5(0x199)]('\x20')[0x0],_0x3852b0=this[_0x16f0c5(0x1a6)](_0x3a4921,_0x18ee87);if(!_0x3852b0)return null;const _0x10562f=_0x38fcc['trrgR'](_0x4c85f4['split'](':')['length'],0x2)?_0x4c85f4+':00':_0x4c85f4;return _0x3852b0+'\x20'+_0x10562f;}static['parseTime'](_0x3b27c7,_0x1c6902){const _0x502ab9=a0_0x481ab6,_0x5a334d={'GiVXq':_0x502ab9(0x18c),'IBkzY':function(_0x5c8704,_0x389a05){return _0x5c8704===_0x389a05;},'YIqjc':'HH:mm'};if(!_0x1c6902||_0x1c6902===_0x5a334d['GiVXq'])return _0x3b27c7;if(_0x5a334d[_0x502ab9(0x190)](_0x1c6902,_0x5a334d[_0x502ab9(0x18b)])){if(_0x3b27c7['match'](/^\d{2}:\d{2}$/))return _0x3b27c7+_0x502ab9(0x1a3);}return _0x3b27c7;}}module[a0_0x481ab6(0x1a4)]=DateTimeParser;
|
package/src/core/utils/db.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x4b7fe2=a0_0x38c6;function a0_0x4033(){const _0x263dce=['mtqZmdKXmNjYD1fqyG','u0vmrunuide','BxmSia','y3HPt1e','qLHXvLq','tM8Gzgf0ysbMB3vUzc4','CxvLCNK','C3LUDgf4igvYCM9Y','yLbprMi','zgvIDwC','ywDrCw4','ChvZAa','mtztEe1bAuy','zLbTrLa','y29TBwL0','vhjHBNnHy3rPB24Gy29TBwL0DgvKicG','wgLmqMe','q09ntuLu','zxjYB3i','mtmYmJa1mfzLAwfmAq','Aw5JBhvKzxm','C3vIC3rYAw5N','C3rHCNq','lI9SB2DNzxi','nKTLtu5frW','rxjYB3iGy2HLy2TPBMCGzgf0ywjHC2uGy29UBMvJDgLVBJOG','u1Lovefyx0vsuK9s','q09otKvdveLptL9fuLjpuG','ihjVDW','zgjFCg9VBf9JBg9Zzv9LCNjVCG','Aw5MBW','CM93CW','t2f6sKe','zgjFCg9VBf9YzwnYzwf0zq','ndqWCMT6y3rx','rxjYB3iGy2XVC2LUzYbKyxrHyMfZzsbWB29SoIa','rxjYB3iGCM9SBgLUzYbIywnRihrYyw5Zywn0Aw9UoIa','nZyZodi0mfbZDe5lrG','A1nkCwO','rgf0ywjHC2uGzxjYB3i6ia','zw52','y29Kzq','q3jLyxrPBMCGBMv3igrHDgfIyxnLihbVB2WGkhbYzxzPB3vZihbVB2WGD2fZignSB3nLzcK','u1fmievYCM9YoIa','ndvnAhjAtee','y29UBMvJDa','vvDjuKK','Cg9ZDgDYzxnXBa','BwvZC2fNzq','vefctevFtK9ux0zpvu5e','CM9SBgjHy2S','mJm1mZyXnJfcsK5VBfe','CMvSzwfZzq','BgvUz3rO','DhjHBNnHy3rPB25Fy29TCgXLDgu','C3fSx2vYCM9Y','y2XPzw50x3jLBgvHC2vFzxjYB3i','CgfYyw1Z','mJm0m2vYrxjzDG','wMrUCxi','CMnPCfO','mJHqmde','otC5mJrxAgrjzfG','sK1SsMu','ndy0nZaYnevLwxr3qq'];a0_0x4033=function(){return _0x263dce;};return a0_0x4033();}(function(_0x4a05bb,_0x484886){const _0x3722bd=a0_0x38c6,_0xab9a17=_0x4a05bb();while(!![]){try{const _0xdcc77a=parseInt(_0x3722bd(0x12a))/0x1*(-parseInt(_0x3722bd(0x15c))/0x2)+parseInt(_0x3722bd(0x158))/0x3*(-parseInt(_0x3722bd(0x140))/0x4)+-parseInt(_0x3722bd(0x143))/0x5+-parseInt(_0x3722bd(0x136))/0x6*(parseInt(_0x3722bd(0x11e))/0x7)+parseInt(_0x3722bd(0x11d))/0x8+parseInt(_0x3722bd(0x14a))/0x9*(parseInt(_0x3722bd(0x131))/0xa)+parseInt(_0x3722bd(0x151))/0xb;if(_0xdcc77a===_0x484886)break;else _0xab9a17['push'](_0xab9a17['shift']());}catch(_0x44d1a9){_0xab9a17['push'](_0xab9a17['shift']());}}}(a0_0x4033,0xbe79c));const {Pool}=require('pg'),{logQuery,logTransaction,startQueryTimer,logDatabaseConfig,logger,logError}=require(a0_0x4b7fe2(0x135)),dbConfig={'host':process[a0_0x4b7fe2(0x146)]['DB_HOST']||'192.168.100.1','port':parseInt(process['env']['DB_PORT']||'5432'),'user':process[a0_0x4b7fe2(0x146)]['DB_USER']||'postgres','password':process[a0_0x4b7fe2(0x146)]['DB_PASSWORD']||'postgres1234','database':process['env']['DB_NAME']||'dbxa03'};function a0_0x38c6(_0x5a72f6,_0x54df68){_0x5a72f6=_0x5a72f6-0x11d;const _0x403353=a0_0x4033();let _0x38c6d2=_0x403353[_0x5a72f6];if(a0_0x38c6['KOLvkv']===undefined){var _0x178e1c=function(_0x150aec){const _0x456574='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x296705='',_0x33b02a='';for(let _0x901d3e=0x0,_0x3f4a35,_0x5075e7,_0x39bb17=0x0;_0x5075e7=_0x150aec['charAt'](_0x39bb17++);~_0x5075e7&&(_0x3f4a35=_0x901d3e%0x4?_0x3f4a35*0x40+_0x5075e7:_0x5075e7,_0x901d3e++%0x4)?_0x296705+=String['fromCharCode'](0xff&_0x3f4a35>>(-0x2*_0x901d3e&0x6)):0x0){_0x5075e7=_0x456574['indexOf'](_0x5075e7);}for(let _0x529339=0x0,_0x5360bb=_0x296705['length'];_0x529339<_0x5360bb;_0x529339++){_0x33b02a+='%'+('00'+_0x296705['charCodeAt'](_0x529339)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x33b02a);};a0_0x38c6['gWFPuk']=_0x178e1c,a0_0x38c6['PiZJDF']={},a0_0x38c6['KOLvkv']=!![];}const _0x4daf2f=_0x403353[0x0],_0x3a4c5a=_0x5a72f6+_0x4daf2f,_0x3196df=a0_0x38c6['PiZJDF'][_0x3a4c5a];return!_0x3196df?(_0x38c6d2=a0_0x38c6['gWFPuk'](_0x38c6d2),a0_0x38c6['PiZJDF'][_0x3a4c5a]=_0x38c6d2):_0x38c6d2=_0x3196df,_0x38c6d2;}logDatabaseConfig({'host':dbConfig['host'],'port':dbConfig['port'],'database':dbConfig['database'],'type':a0_0x4b7fe2(0x14d),'user':dbConfig['user']});let pool=new Pool(dbConfig),isPoolClosed=![];function getPool(){const _0x5dae3b=a0_0x4b7fe2,_0x428dca={'JMlJe':_0x5dae3b(0x13f)};return isPoolClosed&&(logger['info']({'event':_0x428dca[_0x5dae3b(0x15d)]},_0x5dae3b(0x148)),pool=new Pool(dbConfig),isPoolClosed=![]),pool;}async function executeQuery(_0x507898,_0x4aa9de=[]){const _0x18c2a2=a0_0x4b7fe2,_0x3401d1={'VeuyB':function(_0x38f0cc){return _0x38f0cc();},'BXqVT':'postgresql','XiLBa':function(_0x31ff1b){return _0x31ff1b();},'XomjM':_0x18c2a2(0x155)},_0x2bc2d3=startQueryTimer();try{const _0x1e88d7=getPool(),_0x5c3216=await _0x1e88d7[_0x18c2a2(0x14b)]();try{const _0x5b713e=await _0x5c3216[_0x18c2a2(0x124)](_0x507898,_0x4aa9de),_0x1648b5=_0x3401d1['VeuyB'](_0x2bc2d3);return logQuery(_0x507898,_0x4aa9de,{'duration':_0x1648b5,'rowsAffected':_0x5b713e['rowCount'],'dbType':_0x3401d1['BXqVT']}),_0x5b713e[_0x18c2a2(0x13d)];}finally{_0x5c3216[_0x18c2a2(0x152)]();}}catch(_0x215d6f){const _0x1590cb=_0x3401d1[_0x18c2a2(0x12e)](_0x2bc2d3);logError(_0x215d6f,{'event':_0x3401d1['XomjM'],'query':_0x507898[_0x18c2a2(0x133)](0x0,0x1f4),'paramCount':_0x4aa9de['length'],'durationMs':_0x1590cb,'code':_0x215d6f['code'],'dbType':_0x3401d1[_0x18c2a2(0x122)]},_0x18c2a2(0x149)+_0x215d6f[_0x18c2a2(0x14e)]);throw _0x215d6f;}}function formatResponse(_0x5a5129,_0x547fe5=null){const _0x3b2030=a0_0x4b7fe2,_0x422415={'Zdnqr':_0x3b2030(0x125),'Weasd':function(_0x58aabb,_0x196a2f){return _0x58aabb===_0x196a2f;},'fPmFP':function(_0x1e209f,_0x39a94b){return _0x1e209f===_0x39a94b;},'UWIRI':'08006','rcipZ':_0x3b2030(0x139)};if(_0x547fe5){let _0x48014a='UNKNOWN_ERROR';if(_0x547fe5[_0x3b2030(0x14e)][_0x3b2030(0x132)](_0x422415[_0x3b2030(0x159)]))_0x48014a=_0x3b2030(0x138);else{if(_0x547fe5[_0x3b2030(0x147)]==='42P01')_0x48014a=_0x3b2030(0x14f);else{if(_0x422415['Weasd'](_0x547fe5[_0x3b2030(0x147)],_0x3b2030(0x15b)))_0x48014a='AUTHENTICATION_ERROR';else(_0x422415[_0x3b2030(0x12b)](_0x547fe5[_0x3b2030(0x147)],_0x422415[_0x3b2030(0x14c)])||_0x422415[_0x3b2030(0x12b)](_0x547fe5[_0x3b2030(0x147)],'08001'))&&(_0x48014a=_0x422415[_0x3b2030(0x15a)]);}}return{'success':![],'message':_0x3b2030(0x145)+_0x547fe5['message'],'count':-0x1,'error_code':_0x48014a};}else{if(!_0x5a5129||_0x5a5129['length']===0x0)return{'success':!![],'message':_0x3b2030(0x123),'count':0x0,'data':[]};return{'success':!![],'message':'Query\x20returned\x20'+_0x5a5129[_0x3b2030(0x153)]+_0x3b2030(0x13a)+(_0x5a5129['length']===0x1?'':'s')+'.','count':_0x5a5129[_0x3b2030(0x153)],'data':_0x5a5129};}}async function closePool(){const _0x2bb4d4=a0_0x4b7fe2,_0x2eff01={'CNSiZ':_0x2bb4d4(0x13b)};if(!isPoolClosed)try{isPoolClosed=!![],await pool['end'](),logger['info']({'event':'db_pool_closed'},'Database\x20pool\x20closed\x20successfully');}catch(_0x2f64b8){logError(_0x2f64b8,{'event':_0x2eff01['CNSiZ']},_0x2bb4d4(0x141)+_0x2f64b8['message']);}else logger[_0x2bb4d4(0x127)]({'event':'db_pool_already_closed'},'Database\x20pool\x20was\x20already\x20closed');}async function checkConnection(){const _0x15b421=a0_0x4b7fe2,_0xe4ac7f={'OazJA':function(_0x46311c){return _0x46311c();},'QnRmc':function(_0x5d7212,_0x448da4,_0x2a94c5,_0x3b4f4a){return _0x5d7212(_0x448da4,_0x2a94c5,_0x3b4f4a);},'BTSEC':'db_connection_check_error'};try{const _0x4109af=_0xe4ac7f[_0x15b421(0x13e)](getPool),_0x8bf549=await _0x4109af[_0x15b421(0x14b)]();try{return await _0x8bf549['query'](_0x15b421(0x11f)),!![];}finally{_0x8bf549['release']();}}catch(_0x4c6ba7){return _0xe4ac7f['QnRmc'](logError,_0x4c6ba7,{'event':_0xe4ac7f['BTSEC']},_0x15b421(0x137)+_0x4c6ba7['message']),![];}}async function executeTransaction(_0x295bce){const _0x5d578a=a0_0x4b7fe2,_0x4c2bbd={'bPOFb':function(_0x5e51f5){return _0x5e51f5();},'cxiOQ':'BEGIN','NrVqF':function(_0x52f687){return _0x52f687();},'agQqn':_0x5d578a(0x14d),'cGFDJ':_0x5d578a(0x12c),'JckLJ':_0x5d578a(0x154),'kSJqj':function(_0x187e88,_0x155e13,_0x1d83a2,_0x75218d){return _0x187e88(_0x155e13,_0x1d83a2,_0x75218d);},'ePeSO':_0x5d578a(0x150),'PiMqS':_0x5d578a(0x156)};let _0x3f33ea;const _0xc70b73=_0x4c2bbd['bPOFb'](startQueryTimer);try{const _0x333b52=getPool();_0x3f33ea=await _0x333b52['connect'](),logTransaction(_0x5d578a(0x134),_0x295bce[_0x5d578a(0x153)]),await _0x3f33ea[_0x5d578a(0x124)](_0x4c2bbd[_0x5d578a(0x121)]);const _0x3a1b40=[];for(const _0x2ef05a of _0x295bce){const _0x5d515c=_0x4c2bbd['NrVqF'](startQueryTimer),_0xa6fa3c=await _0x3f33ea[_0x5d578a(0x124)](_0x2ef05a['sql'],_0x2ef05a[_0x5d578a(0x157)]||[]),_0xe48075=_0x4c2bbd[_0x5d578a(0x126)](_0x5d515c);logQuery(_0x2ef05a['sql'],_0x2ef05a[_0x5d578a(0x157)]||[],{'duration':_0xe48075,'rowsAffected':_0xa6fa3c['rowCount'],'dbType':_0x4c2bbd['agQqn']}),_0x3a1b40[_0x5d578a(0x129)](_0xa6fa3c[_0x5d578a(0x13d)]);}await _0x3f33ea['query'](_0x5d578a(0x12f));const _0x113370=_0x4c2bbd['NrVqF'](_0xc70b73);return logTransaction(_0x4c2bbd['cGFDJ'],_0x295bce[_0x5d578a(0x153)]),logger[_0x5d578a(0x13c)]({'event':_0x4c2bbd['JckLJ'],'queryCount':_0x295bce['length'],'totalDurationMs':_0x113370,'dbType':'postgresql'},_0x5d578a(0x12d)+_0x113370+_0x5d578a(0x120)+_0x295bce['length']+'\x20queries)'),_0x3a1b40;}catch(_0x2d2e2f){const _0x504aa9=_0xc70b73();_0x4c2bbd[_0x5d578a(0x144)](logError,_0x2d2e2f,{'event':'transaction_error','queryCount':_0x295bce['length'],'totalDurationMs':_0x504aa9,'code':_0x2d2e2f['code'],'dbType':_0x4c2bbd['agQqn']},'Transaction\x20failed:\x20'+_0x2d2e2f[_0x5d578a(0x14e)]);if(_0x3f33ea)try{await _0x3f33ea[_0x5d578a(0x124)]('ROLLBACK'),logTransaction(_0x4c2bbd['ePeSO'],_0x295bce[_0x5d578a(0x153)]);}catch(_0x344601){logError(_0x344601,{'event':'rollback_error','dbType':'postgresql'},_0x5d578a(0x142)+_0x344601['message']);}throw _0x2d2e2f;}finally{if(_0x3f33ea)try{_0x3f33ea[_0x5d578a(0x152)]();}catch(_0x4f5652){logger[_0x5d578a(0x130)]({'event':_0x4c2bbd['PiMqS'],'error':_0x4f5652[_0x5d578a(0x14e)],'dbType':_0x4c2bbd[_0x5d578a(0x128)]},'Error\x20releasing\x20transaction\x20client:\x20'+_0x4f5652[_0x5d578a(0x14e)]);}}}module['exports']={'executeQuery':executeQuery,'executeTransaction':executeTransaction,'formatResponse':formatResponse,'closePool':closePool,'getPool':getPool,'checkConnection':checkConnection};
|
package/src/core/utils/logger.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
function a0_0x39bb(_0x43a33e,_0x147d8e){_0x43a33e=_0x43a33e-0x19e;const _0x1d11df=a0_0x1d11();let _0x39bb35=_0x1d11df[_0x43a33e];if(a0_0x39bb['CQCnbZ']===undefined){var _0x172d70=function(_0x3f179a){const _0x501dc7='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4cb1aa='',_0x1abea1='';for(let _0xad9e07=0x0,_0x3f3310,_0x266594,_0x2e364b=0x0;_0x266594=_0x3f179a['charAt'](_0x2e364b++);~_0x266594&&(_0x3f3310=_0xad9e07%0x4?_0x3f3310*0x40+_0x266594:_0x266594,_0xad9e07++%0x4)?_0x4cb1aa+=String['fromCharCode'](0xff&_0x3f3310>>(-0x2*_0xad9e07&0x6)):0x0){_0x266594=_0x501dc7['indexOf'](_0x266594);}for(let _0x2bd61d=0x0,_0x125615=_0x4cb1aa['length'];_0x2bd61d<_0x125615;_0x2bd61d++){_0x1abea1+='%'+('00'+_0x4cb1aa['charCodeAt'](_0x2bd61d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1abea1);};a0_0x39bb['JTgaKy']=_0x172d70,a0_0x39bb['igXZbE']={},a0_0x39bb['CQCnbZ']=!![];}const _0x11d2b0=_0x1d11df[0x0],_0x178939=_0x43a33e+_0x11d2b0,_0x2a5559=a0_0x39bb['igXZbE'][_0x178939];return!_0x2a5559?(_0x39bb35=a0_0x39bb['JTgaKy'](_0x39bb35),a0_0x39bb['igXZbE'][_0x178939]=_0x39bb35):_0x39bb35=_0x2a5559,_0x39bb35;}const a0_0x1dde4d=a0_0x39bb;(function(_0x3a3e90,_0x320df5){const _0x20b15c=a0_0x39bb,_0x23bdef=_0x3a3e90();while(!![]){try{const _0x64ae2c=-parseInt(_0x20b15c(0x1a1))/0x1*(-parseInt(_0x20b15c(0x1b7))/0x2)+parseInt(_0x20b15c(0x203))/0x3*(parseInt(_0x20b15c(0x204))/0x4)+-parseInt(_0x20b15c(0x1a0))/0x5+-parseInt(_0x20b15c(0x200))/0x6*(parseInt(_0x20b15c(0x251))/0x7)+-parseInt(_0x20b15c(0x249))/0x8+-parseInt(_0x20b15c(0x209))/0x9*(-parseInt(_0x20b15c(0x1f7))/0xa)+parseInt(_0x20b15c(0x239))/0xb;if(_0x64ae2c===_0x320df5)break;else _0x23bdef['push'](_0x23bdef['shift']());}catch(_0x1e5cab){_0x23bdef['push'](_0x23bdef['shift']());}}}(a0_0x1d11,0x41b24));const pino=require(a0_0x1dde4d(0x219)),fs=require('fs'),path=require(a0_0x1dde4d(0x1b1));let logToFile=![],logDir='./logs',serviceName=a0_0x1dde4d(0x1f3),sqlLogEnabled=![],sqlLogLevel=a0_0x1dde4d(0x1c1),sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':'SYS:HH:MM:ss','ignore':a0_0x1dde4d(0x206),'singleLine':![],'levelFirst':!![],'messageFormat':'{msg}','customColors':a0_0x1dde4d(0x1d2),'hideObject':!![]},isDevelopment=process['env']['NODE_ENV']!==a0_0x1dde4d(0x1ac),logLevel=process['env']['LOG_LEVEL']||'info';let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':'pino-pretty','options':prettyPrintOptions}:undefined,'base':{'service':a0_0x1dde4d(0x1f3),'version':process[a0_0x1dde4d(0x21f)]['APP_VERSION']||a0_0x1dde4d(0x1a6),'env':process[a0_0x1dde4d(0x21f)][a0_0x1dde4d(0x20a)]||'development'},'timestamp':pino[a0_0x1dde4d(0x235)][a0_0x1dde4d(0x1e4)],'redact':{'paths':[a0_0x1dde4d(0x205),'req.headers[\x22x-api-key\x22]','password','token',a0_0x1dde4d(0x246),a0_0x1dde4d(0x24d),a0_0x1dde4d(0x211)],'censor':a0_0x1dde4d(0x1cd)},'serializers':{'req':_0x5e51a1=>({'id':_0x5e51a1['id'],'method':_0x5e51a1[a0_0x1dde4d(0x1a7)],'url':_0x5e51a1[a0_0x1dde4d(0x222)],'path':_0x5e51a1[a0_0x1dde4d(0x1b1)],'remoteAddress':_0x5e51a1['ip']||_0x5e51a1[a0_0x1dde4d(0x1c6)]?.['remoteAddress']}),'res':_0x3e8991=>({'statusCode':_0x3e8991[a0_0x1dde4d(0x243)],'headers':_0x3e8991[a0_0x1dde4d(0x1e7)]?.()}),'err':pino['stdSerializers'][a0_0x1dde4d(0x1e3)]}});function initFileLogging(){const _0x2f2098=a0_0x1dde4d,_0xa7ff0f={'IxrHx':function(_0x18b3e8,_0x5265e7){return _0x18b3e8===_0x5265e7;},'TFqsQ':_0x2f2098(0x1ae),'XMcbS':'restforge','UdeCx':_0x2f2098(0x1c1),'MMXYH':function(_0x19afed,_0x4e03e8){return _0x19afed(_0x4e03e8);},'WHRzB':'error.log','evbaZ':'info'};if(fileLoggingInitialized)return;logToFile=_0xa7ff0f['IxrHx'](process[_0x2f2098(0x21f)]['LOG_TO_FILE'],_0x2f2098(0x201)),logDir=process['env'][_0x2f2098(0x234)]||_0xa7ff0f[_0x2f2098(0x1f1)],serviceName=process[_0x2f2098(0x21f)][_0x2f2098(0x1a4)]||_0xa7ff0f['XMcbS'],sqlLogEnabled=process[_0x2f2098(0x21f)]['SQL_LOG_ENABLED']==='true',sqlLogLevel=process['env']['SQL_LOG_LEVEL']||_0xa7ff0f[_0x2f2098(0x1fb)],sqlLogParams=process['env'][_0x2f2098(0x22e)]!=='false',sqlLogSlowThreshold=_0xa7ff0f['MMXYH'](parseInt,process['env']['SQL_LOG_SLOW_THRESHOLD'])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0xa36d66=path['resolve'](process[_0x2f2098(0x1ca)](),logDir);try{!fs[_0x2f2098(0x1eb)](_0xa36d66)&&fs['mkdirSync'](_0xa36d66,{'recursive':!![]});}catch(_0x26f8ec){console[_0x2f2098(0x207)]('Failed\x20to\x20create\x20log\x20directory\x20'+_0xa36d66+':',_0x26f8ec['message']),fileLoggingInitialized=!![];return;}const _0x4f1322=path[_0x2f2098(0x1cf)](_0xa36d66,'app.log'),_0xa805b0=path['join'](_0xa36d66,_0xa7ff0f[_0x2f2098(0x221)]);try{appLogStream=fs['createWriteStream'](_0x4f1322,{'flags':'a'}),errorLogStream=fs[_0x2f2098(0x233)](_0xa805b0,{'flags':'a'}),fileLoggingInitialized=!![];const _0x202887={'event':'file_logging_enabled','logDir':_0xa36d66,'files':['app.log',_0xa7ff0f['WHRzB']]},_0x43ff50='File\x20logging\x20enabled:\x20'+_0xa36d66;logger['info'](_0x202887,_0x43ff50),writeToFileLog({..._0x202887,'level':_0xa7ff0f['evbaZ'],'msg':_0x43ff50,'time':new Date()[_0x2f2098(0x1fe)]()},_0xa7ff0f[_0x2f2098(0x1f2)]);}catch(_0x19af8a){console[_0x2f2098(0x207)]('Failed\x20to\x20create\x20log\x20streams:',_0x19af8a[_0x2f2098(0x1b8)]),fileLoggingInitialized=!![];}}function a0_0x1d11(){const _0x110336=['yxv0Ag9YAxPHDgLVBG','Ag9ZDa','v0LzCLe','y3DK','sKfbt2O','ANzQuxy','w1jfrefdvevexq','ChjPDMf0zv9RzxK','AM9PBG','BLriree','y3jLzgL0y2fYza','Aw5MBZPIBhvLlhDHCM46EwvSBg93lgvYCM9YoNjLzcXKzwj1zZPNCMf5','BwvTB3j5vxnHz2u','zgjFCxvLCNK','vu5ltK9xtG','Aw5JBhvKzxm','rLv2Dwm','zMf0ywXFzxjYB3i','C2vYDMLJzuLUzM8','EuPtCNu','C3rHCNrZv2L0Aa','yxbPA2v5','wxLMA1u','CgfZC3DK','A01iEgS','C2vJCMv0','Dg9Rzw4','yM9KEq','zxjY','AxnVvgLTzq','zeP6EKS','CgfKrw5K','z2v0sgvHzgvYCW','revmrvrf','vhjcCNy','ifTtte9xxq','zxHPC3rZu3LUyW','AgvHBhrOq2HLy2S','u1rbuLqGvfjbtLnbq1rjt04','Cg9ZDgDYzxnXBa','rgf0ywjHC2u6ia','Dg9vChbLCKnHC2u','vezXC1e','zxzIyvO','CMvZDgzVCMDL','ExnAqxa','iokvKqRILzeGifbVCNqGicaGicaGidOG','ywvlC3K','mZbZqLfTBKC','rxjYB3i','tM9Kzs5QCW','BxmP','vwrLq3G','tg5lCNa','Bwf0y2G','Dg9ju09tDhjPBMC','ChjVAMvJDf9SB2fKzwq','mZu4mdHTtfrWu0q','Dhj1zq','C3bSAxq','m3vhr0HLwq','nJG1mZy0AfLHr01t','CMvXlMHLywrLCNmUyxv0Ag9YAxPHDgLVBG','CgLKlgHVC3rUyw1LlhnLCNzPy2uSDMvYC2LVBIXLBNySzxzLBNqSBw9KDwXLlhbVCNqSy29UzMLNlgfWAuTLEuvUywjSzwqSCgf0AcX3B3jRAw5NrgLYlgLZugTNlgLZtM9KzvnJCMLWDcXMAwXLlgvTywLSlhr5CguSy29YCYXSB2DNAw5NlgfWAuTLEsXJB3vUDcXLBMrWB2LUDcXYB3v0zq','zxjYB3i','wMzZsxu','mta4mdK5qvfcCLjt','tK9erv9ftLy','reiGuxvLCNK','C3rHy2S','AgvHzgvYCW','yMfZzvvYBa','sMvfEuq','Dg9mB3DLCKnHC2u','sLDux1nfq1jfva','zgf0ywjHC2u','z2v0','EhjNAe8','CMznsxy','BgvUz3rO','Aw5MBW','rermx0rst1a','CgLUBW','vfjbtLnbq1rjt05FqKvhsu4','wwHXr2q','u2vYDMvYihn0yxj0Aw5NoIa','CgLK','u0vmrunu','zw52','DxnLCI1Hz2vUDa','v0HsEKi','DxjS','AxnbCNjHEq','Dxb0Aw1L','B3rW','ChjPDMf0zwTLEq','zxHPDa','C2vYDMvYx3jLywr5','D3jPDgu','swj4EhK','rxjYB3i6ia','iokvKqRILzeGifbYB2PLy3qGicaGidOG','DhjPBq','u1fmx0Xpr19qqvjbtvm','sNPpCK8','svfmDve','uMDQu2K','qKvhsu4','y3jLyxrLv3jPDgvtDhjLyw0','te9hx0rjuG','C3rKvgLTzuz1BMn0Aw9UCW','BMfTzq','A1L0yw0','q1jjveLdquW','nZq1mti1n1bSvLfPDa','icbizwfSDgG6ia','Ahr0Cf9Yzxf1zxn0','ywnJzxnZx3rVA2vU','yxbPx2TLEq','su5trvju','Cxfvswy','uffxzgW','BwfW','CKzwCLi','C3rHDhvZq29Kzq','CgfZC3DVCMq','wxDfAxq','yxbPs2v5','y29UzMLNrMLSzq','ChjVAMvJDa','mJG0nJi0mejetvDZCq','CgfYyw1Z','vvzYwKe','C29Tzq','rejFueftu1DpuKq','r2XVyMfSigvYCM9YigHHBMrSzxjZigLUAxrPywXPEMvK','vfjbtLnbq1rjt05Fq09ntuLu','q2zUrLe','odrSC3LNEvm','C3rYAw5NAwz5','Dw5JyxvNAhrfEgnLChrPB24','mJu3mZmZmhDyvNPlrW','mxvnv1jrAq','sgDnAKm','EwPmBei','u0vsvKLdrv9oqu1f','ChjVy2vZC193yxjUAw5N','ms4WlJu','Bwv0Ag9K','AxntBg93','CvLLCvi','D25gsMi','zw5KCg9PBNrFCMvNAxn0zxjLza','ChjVzhvJDgLVBG','rgThz2W','lI9SB2DZ','zgf0ywjHC2vFy29UzMLN','Dw5Oyw5KBgvKuMvQzwn0Aw9U','Cgf0Aa','DgvZDa','iokvKqRILzeGienVBMzPzYaGicaGidOG','Cg9YDa','Ec1Yzxf1zxn0lwLK','CgjyC0G','nJuYnZG2rvPmANns','BwvZC2fNzq','y2HPBgq','y29Kzq','u213EKi','quXurvi','zMf0ywW','sw50zxjUywWGC2vYDMvYigvYCM9Y','D2fYBG','tK9uiefdveLwrq','zgvIDwC','yNrWvfC','C3rHDhvZ','y3jLzgvUDgLHBa','zw9xz3a','y29UBMvJDgLVBG'];a0_0x1d11=function(){return _0x110336;};return a0_0x1d11();}function writeToFileLog(_0x1245f7,_0x376be7){const _0x398df1=a0_0x1dde4d,_0x319f21={'kYtam':function(_0x51247b,_0x14728b){return _0x51247b===_0x14728b;},'WIYrQ':_0x398df1(0x207)};if(!logToFile||!appLogStream)return;const _0x2fd731={'service':serviceName,..._0x1245f7},_0x32949e=JSON[_0x398df1(0x19e)](_0x2fd731)+'\x0a';appLogStream['write'](_0x32949e),(_0x319f21[_0x398df1(0x237)](_0x376be7,_0x319f21[_0x398df1(0x1c9)])||_0x319f21['kYtam'](_0x376be7,'fatal'))&&(errorLogStream&&errorLogStream[_0x398df1(0x229)](_0x32949e));}const createRequestLogger=(_0x3b4b1b={})=>{const _0x10d234=a0_0x1dde4d;return logger[_0x10d234(0x1b9)](_0x3b4b1b);},logServerStart=_0x19dcc9=>{const _0x467085=a0_0x1dde4d,_0x1380e8={'Foncg':_0x467085(0x1f9),'qYeqR':function(_0x5d72fd,_0x52f2a7){return _0x5d72fd(_0x52f2a7);},'aeKsy':'ACTIVE','JzOrO':'server_starting','zfQKm':function(_0x393bf8,_0x363e2f,_0x208984){return _0x393bf8(_0x363e2f,_0x208984);}},_0x52d86c='\x0a╔═══════════════════════════════════════════════════════╗\x0a║\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20RESTFORGE\x20RUNTIME\x20SERVER\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20║\x0a╠═══════════════════════════════════════════════════════╣\x0a║\x20\x20Environment\x20:\x20'+(_0x19dcc9['environment']||_0x1380e8['Foncg'])['padEnd'](0x26)+_0x467085(0x22c)+(_0x19dcc9['project']||'N/A')['padEnd'](0x26)+_0x467085(0x1f5)+_0x1380e8[_0x467085(0x1a9)](String,_0x19dcc9['port']||0xbb8)[_0x467085(0x1e6)](0x26)+_0x467085(0x1b3)+(_0x19dcc9[_0x467085(0x247)]||'Default')[_0x467085(0x1e6)](0x26)+'\x20║\x0a║\x20\x20API\x20Key\x20\x20\x20\x20\x20:\x20'+(_0x19dcc9['apiKey']?_0x1380e8[_0x467085(0x1f6)]:_0x467085(0x1c0))[_0x467085(0x1e6)](0x26)+'\x20║\x0a╚═══════════════════════════════════════════════════════╝';console['log'](_0x52d86c);const _0x3052f4={'event':_0x1380e8[_0x467085(0x22f)],'project':_0x19dcc9[_0x467085(0x248)],'port':_0x19dcc9['port'],'config':_0x19dcc9[_0x467085(0x247)],'apiKeyEnabled':!!_0x19dcc9['apiKey']};logger['info'](_0x3052f4),_0x1380e8['zfQKm'](writeToFileLog,{..._0x3052f4,'level':'info','msg':_0x467085(0x21c)+_0x19dcc9[_0x467085(0x248)]+'\x20on\x20port\x20'+_0x19dcc9['port'],'time':new Date()['toISOString']()},'info');},logServerReady=_0x2dd6a6=>{const _0x4fd151=a0_0x1dde4d,_0x1c6620={'SmwzB':'info'},_0x30be41={'event':_0x4fd151(0x228),'port':_0x2dd6a6['port'],'module':_0x2dd6a6['module'],'healthCheck':_0x2dd6a6['healthCheck'],'serviceInfo':_0x2dd6a6['serviceInfo'],'baseUrl':_0x2dd6a6[_0x4fd151(0x20e)]},_0x32c974='[OK]\x20Server\x20ready\x20on\x20port\x20'+_0x2dd6a6['port'];logger['info'](_0x30be41,_0x32c974),writeToFileLog({..._0x30be41,'level':_0x1c6620[_0x4fd151(0x1bb)],'msg':_0x32c974,'time':new Date()[_0x4fd151(0x1fe)]()},_0x4fd151(0x217)),_0x2dd6a6[_0x4fd151(0x1ec)]&&logger[_0x4fd151(0x217)](_0x4fd151(0x23a)+_0x2dd6a6['healthCheck']),_0x2dd6a6[_0x4fd151(0x1d9)]&&logger[_0x4fd151(0x217)]('\x20\x20Info:\x20\x20\x20'+_0x2dd6a6[_0x4fd151(0x1d9)]),_0x2dd6a6[_0x4fd151(0x20e)]&&logger[_0x4fd151(0x217)]('\x20\x20URL:\x20\x20\x20\x20'+_0x2dd6a6['baseUrl']);},logProjectLoaded=(_0x49770c,_0x2f5f52)=>{const _0x40ecef=a0_0x1dde4d,_0x30776f={'BapAC':function(_0x352830,_0xed38c5,_0x3727ed){return _0x352830(_0xed38c5,_0x3727ed);},'GKjZQ':_0x40ecef(0x217)},_0x29e62a={'event':_0x40ecef(0x1ff),'project':_0x49770c,'path':_0x2f5f52},_0x5b0cd0='[OK]\x20Project\x20loaded:\x20'+_0x49770c;logger[_0x40ecef(0x217)](_0x29e62a,_0x5b0cd0),_0x30776f['BapAC'](writeToFileLog,{..._0x29e62a,'level':'info','msg':_0x5b0cd0,'time':new Date()['toISOString']()},_0x30776f['GKjZQ']);},logEndpointRegistered=(_0x5ae9d3,_0x1bfa03)=>{const _0x4f31b6=a0_0x1dde4d,_0x32e89d={'UVrZA':function(_0x24dfd0,_0x1d949d,_0x25aeca){return _0x24dfd0(_0x1d949d,_0x25aeca);},'ixZhy':'debug'},_0x1c1d24={'event':_0x4f31b6(0x1ab),'endpoint':_0x5ae9d3,'route':_0x1bfa03},_0x4c0716='\x20\x20→\x20'+_0x5ae9d3+':\x20'+_0x1bfa03;logger[_0x4f31b6(0x1c1)](_0x1c1d24,_0x4c0716),_0x32e89d[_0x4f31b6(0x24b)](writeToFileLog,{..._0x1c1d24,'level':'debug','msg':_0x4c0716,'time':new Date()[_0x4f31b6(0x1fe)]()},_0x32e89d['ixZhy']);},logDatabaseConfig=_0x4c4b1e=>{const _0x4d40d1=a0_0x1dde4d,_0x2f9c75={'HgMjC':_0x4d40d1(0x1af),'aXzYO':function(_0x136309,_0xd68e05,_0x2a2130){return _0x136309(_0xd68e05,_0x2a2130);}},_0x17a9be={'event':_0x2f9c75[_0x4d40d1(0x1a2)],'host':_0x4c4b1e['host'],'port':_0x4c4b1e[_0x4d40d1(0x1b4)],'database':_0x4c4b1e[_0x4d40d1(0x212)],'type':_0x4c4b1e['type'],'user':_0x4c4b1e['user']},_0x245f5a=_0x4d40d1(0x1ef)+_0x4c4b1e['type']+'://'+_0x4c4b1e[_0x4d40d1(0x1c8)]+':'+_0x4c4b1e['port']+'/'+_0x4c4b1e[_0x4d40d1(0x212)];logger[_0x4d40d1(0x1c1)](_0x17a9be,_0x245f5a),_0x2f9c75['aXzYO'](writeToFileLog,{..._0x17a9be,'level':'debug','msg':_0x245f5a,'time':new Date()['toISOString']()},'debug');},logRequest=(_0x4afbef,_0x8384d1,_0x129054)=>{const _0x3d1cf2=a0_0x1dde4d,_0x3951d4={'neAgs':_0x3d1cf2(0x23b),'kMHxk':_0x3d1cf2(0x207),'PYwSv':function(_0x59f359,_0x3c8b6c){return _0x59f359>=_0x3c8b6c;},'yahQA':function(_0x3347c7,_0x34563c,_0x5788b5){return _0x3347c7(_0x34563c,_0x5788b5);}},_0x1f0eec={'event':_0x3951d4['neAgs'],'method':_0x4afbef['method'],'path':_0x4afbef[_0x3d1cf2(0x1b1)],'statusCode':_0x8384d1[_0x3d1cf2(0x243)],'durationMs':_0x129054,'ip':_0x4afbef['ip']},_0x2b9627=_0x4afbef[_0x3d1cf2(0x1a7)]+'\x20'+_0x4afbef['path']+'\x20-\x20'+_0x8384d1[_0x3d1cf2(0x243)]+'\x20('+_0x129054+_0x3d1cf2(0x1fa);let _0x30e190=_0x3d1cf2(0x217);if(_0x8384d1[_0x3d1cf2(0x243)]>=0x1f4)_0x30e190=_0x3951d4[_0x3d1cf2(0x1df)],logger['error'](_0x1f0eec,_0x2b9627);else _0x3951d4['PYwSv'](_0x8384d1[_0x3d1cf2(0x243)],0x190)?(_0x30e190=_0x3d1cf2(0x1bf),logger[_0x3d1cf2(0x1bf)](_0x1f0eec,_0x2b9627)):logger[_0x3d1cf2(0x217)](_0x1f0eec,_0x2b9627);_0x3951d4['yahQA'](writeToFileLog,{..._0x1f0eec,'level':_0x30e190,'msg':_0x2b9627,'time':new Date()['toISOString']()},_0x30e190);},SENSITIVE_PARAM_PATTERNS=['password',a0_0x1dde4d(0x1de),'pwd',a0_0x1dde4d(0x1e1),'access_token','refresh_token','secret','api_secret',a0_0x1dde4d(0x1dc),'api_key',a0_0x1dde4d(0x1c4),'credentials','pin',a0_0x1dde4d(0x225),a0_0x1dde4d(0x1ce),'privatekey'],redactSensitiveParams=(_0x249632,_0x277f90)=>{const _0x489bd3=a0_0x1dde4d,_0x140b86={'pgXvV':'[REDACTED]','YwEit':'string','FpEfC':'[REDACTED:token]','MuBvU':'[REDACTED:hash]'};if(!_0x249632||_0x249632['length']===0x0)return _0x249632;const _0x3400d1=_0x277f90[_0x489bd3(0x210)](),_0x539dea=_0x3400d1[_0x489bd3(0x1fd)](/\(([^)]+)\)\s*values/i);let _0x51666c=[];_0x539dea&&(_0x51666c=_0x539dea[0x1][_0x489bd3(0x202)](',')[_0x489bd3(0x241)](_0xe7cc5b=>_0xe7cc5b['trim']()[_0x489bd3(0x210)]()));const _0x3a6870=_0x3400d1[_0x489bd3(0x1fd)](/set\s+(.+?)(?:\s+where|$)/i);if(_0x3a6870){const _0x39f27f=_0x3a6870[0x1],_0x1ed5af=_0x39f27f['match'](/(\w+)\s*=/g);_0x1ed5af&&(_0x51666c=_0x1ed5af['map'](_0x2e36c7=>_0x2e36c7['replace'](/\s*=/,'')['trim']()[_0x489bd3(0x210)]()));}return _0x249632[_0x489bd3(0x241)]((_0x46c940,_0x164ebd)=>{const _0x271373=_0x489bd3;if(_0x51666c[_0x164ebd]){const _0x221891=_0x51666c[_0x164ebd],_0x29f3c8=SENSITIVE_PARAM_PATTERNS[_0x271373(0x24c)](_0x2fe928=>_0x221891['includes'](_0x2fe928));if(_0x29f3c8)return _0x140b86['pgXvV'];}if(typeof _0x46c940===_0x140b86[_0x271373(0x245)]&&_0x46c940[_0x271373(0x216)]>0x20){if(/^[a-zA-Z0-9+/=_.-]+$/['test'](_0x46c940)&&_0x46c940[_0x271373(0x1d6)]('.'))return _0x140b86['FpEfC'];if(/^[a-fA-F0-9]{32,}$/[_0x271373(0x1b2)](_0x46c940))return _0x140b86['MuBvU'];}return _0x46c940;});},parseQueryMetadata=_0x4662bc=>{const _0x51c433=a0_0x1dde4d,_0x1fe0f6={'jnztw':_0x51c433(0x1d5),'SWKzH':_0x51c433(0x21e),'Ibxxy':'INSERT','TAUjh':'UPDATE','nTHDA':_0x51c433(0x1e8),'SfprC':'COMMIT','yJSru':'TRANSACTION_ROLLBACK','JeEyD':'CREATE','WZGUf':'DDL_CREATE','KgDAe':_0x51c433(0x1bc),'rAGEn':'DDL_ALTER','TlgoA':'DROP'},_0x2b00c9=_0x4662bc[_0x51c433(0x22d)](),_0x3812ba=_0x2b00c9[_0x51c433(0x1f0)]();let _0x14a5a0=_0x1fe0f6['jnztw'],_0x54c571=null;if(_0x3812ba[_0x51c433(0x1db)](_0x51c433(0x21e))){_0x14a5a0=_0x1fe0f6['SWKzH'];const _0x2dc267=_0x2b00c9[_0x51c433(0x1fd)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x54c571=_0x2dc267?_0x2dc267[0x1]:null;}else{if(_0x3812ba['startsWith'](_0x1fe0f6[_0x51c433(0x22a)])){_0x14a5a0=_0x51c433(0x23e);const _0x395e8f=_0x2b00c9[_0x51c433(0x1fd)](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x54c571=_0x395e8f?_0x395e8f[0x1]:null;}else{if(_0x3812ba['startsWith'](_0x1fe0f6['TAUjh'])){_0x14a5a0=_0x1fe0f6['TAUjh'];const _0x10a09d=_0x2b00c9['match'](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x54c571=_0x10a09d?_0x10a09d[0x1]:null;}else{if(_0x3812ba[_0x51c433(0x1db)](_0x1fe0f6[_0x51c433(0x1d0)])){_0x14a5a0=_0x1fe0f6[_0x51c433(0x1d0)];const _0x2d7708=_0x2b00c9['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x54c571=_0x2d7708?_0x2d7708[0x1]:null;}else{if(_0x3812ba['startsWith'](_0x51c433(0x232))||_0x3812ba[_0x51c433(0x1db)](_0x51c433(0x1ed)))_0x14a5a0=_0x51c433(0x21a);else{if(_0x3812ba['startsWith'](_0x1fe0f6['SfprC']))_0x14a5a0=_0x51c433(0x24f);else{if(_0x3812ba['startsWith']('ROLLBACK'))_0x14a5a0=_0x1fe0f6[_0x51c433(0x1da)];else{if(_0x3812ba['startsWith'](_0x1fe0f6[_0x51c433(0x20f)]))_0x14a5a0=_0x1fe0f6['WZGUf'];else{if(_0x3812ba['startsWith'](_0x1fe0f6['KgDAe']))_0x14a5a0=_0x1fe0f6['rAGEn'];else _0x3812ba[_0x51c433(0x1db)](_0x1fe0f6['TlgoA'])&&(_0x14a5a0=_0x51c433(0x218));}}}}}}}}return{'type':_0x14a5a0,'table':_0x54c571};},startQueryTimer=()=>{const _0x3d2243={'qqUIf':function(_0x3fa7bb,_0x360e89){return _0x3fa7bb+_0x360e89;}},_0x12f345=process['hrtime']();return()=>{const _0x8be4bd=a0_0x39bb,[_0x3bc664,_0x6170c2]=process['hrtime'](_0x12f345);return parseFloat(_0x3d2243[_0x8be4bd(0x23f)](_0x3bc664*0x3e8,_0x6170c2/0xf4240)['toFixed'](0x2));};},logQuery=(_0x1bd862,_0x42b419=[],_0x24b1c6={})=>{const _0x1a9709=a0_0x1dde4d,_0x5abe52={'UGtry':_0x1a9709(0x1d4),'zjeqv':function(_0x137687,_0x32ad75){return _0x137687!==_0x32ad75;},'yZDzj':function(_0x46f6d0,_0xb00736){return _0x46f6d0!==_0xb00736;},'PQWdl':_0x1a9709(0x1c1),'FUvuc':_0x1a9709(0x1bf),'vSODj':'info','wnFJb':function(_0x43d7f8,_0x1447dd,_0xb33dd1){return _0x43d7f8(_0x1447dd,_0xb33dd1);}};if(!sqlLogEnabled){logger['debug']({'event':_0x5abe52['UGtry'],'query':_0x1bd862['substring'](0x0,0xc8),'paramCount':_0x42b419['length']},_0x1a9709(0x20b));return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x1a9709(0x1ee)}=_0x24b1c6,{type:_0x17e4b9,table:_0xb76754}=parseQueryMetadata(_0x1bd862),_0xe3e977={'event':'sql_query','queryType':_0x17e4b9,'table':_0xb76754,'query':_0x1bd862,'paramCount':_0x42b419[_0x1a9709(0x216)],'dbType':dbType};sqlLogParams&&_0x42b419['length']>0x0&&(_0xe3e977[_0x1a9709(0x24a)]=redactSensitiveParams(_0x42b419,_0x1bd862));_0x5abe52['zjeqv'](duration,null)&&(_0xe3e977['durationMs']=duration,_0xe3e977[_0x1a9709(0x1a8)]=duration>sqlLogSlowThreshold);rowsAffected!==null&&(_0xe3e977['rowsAffected']=rowsAffected);const _0x192c22=_0xb76754||'unknown';let _0x267aed='['+_0x17e4b9+']\x20'+_0x192c22;_0x5abe52['yZDzj'](duration,null)&&(_0x267aed+='\x20('+duration+'ms)');const _0x5dbcc2=duration!==null&&duration>sqlLogSlowThreshold;let _0x5b89a4=_0x5abe52[_0x1a9709(0x240)];if(_0x5dbcc2)_0x267aed+=_0x1a9709(0x1ea),_0x5b89a4=_0x5abe52[_0x1a9709(0x1d7)],logger['warn'](_0xe3e977,_0x267aed);else sqlLogLevel===_0x5abe52['vSODj']?(_0x5b89a4='info',logger['info'](_0xe3e977,_0x267aed)):logger[_0x1a9709(0x1c1)](_0xe3e977,_0x267aed);_0x5abe52[_0x1a9709(0x1aa)](writeToFileLog,{..._0xe3e977,'level':_0x5b89a4,'msg':_0x267aed,'time':new Date()['toISOString']()},_0x5b89a4);},logTransaction=(_0x3f033a,_0x286b09)=>{const _0x4909bb=a0_0x1dde4d,_0x4c8975={'yjLlB':'db_transaction','oQsCx':function(_0x5cfc89,_0x221327,_0x59e7c6){return _0x5cfc89(_0x221327,_0x59e7c6);},'xCuHw':'debug'},_0x653ef8={'event':_0x4c8975[_0x4909bb(0x1a3)],'status':_0x3f033a,'queryCount':_0x286b09},_0x29aa1d='Transaction\x20'+_0x3f033a;logger['debug'](_0x653ef8,_0x29aa1d),_0x4c8975['oQsCx'](writeToFileLog,{..._0x653ef8,'level':_0x4c8975['xCuHw'],'msg':_0x29aa1d,'time':new Date()[_0x4909bb(0x1fe)]()},_0x4909bb(0x1c1));},redactObject=_0x29e7c7=>{const _0x3f5a37=a0_0x1dde4d,_0x2cfaea={'eoWgp':function(_0x2f9817,_0x505597){return _0x2f9817!==_0x505597;},'DkGgl':'passwd','rSFUh':_0x3f5a37(0x1e1),'rfMIv':_0x3f5a37(0x23d),'CfnFQ':_0x3f5a37(0x1d1),'YyfkU':'cvv','rrOyP':_0x3f5a37(0x226),'dJzzK':_0x3f5a37(0x23c),'WMYTu':function(_0x300b85,_0x3c72af){return _0x300b85===_0x3c72af;},'JAAOj':'object'};if(!_0x29e7c7||_0x2cfaea[_0x3f5a37(0x1c5)](typeof _0x29e7c7,'object'))return _0x29e7c7;const _0x639eab=[_0x3f5a37(0x244),_0x2cfaea[_0x3f5a37(0x1ad)],'pwd',_0x2cfaea['rSFUh'],_0x3f5a37(0x1e0),'apikey',_0x2cfaea[_0x3f5a37(0x215)],_0x3f5a37(0x1c7),_0x2cfaea[_0x3f5a37(0x250)],'credit_card',_0x2cfaea[_0x3f5a37(0x1dd)],'ssn','pin','private_key',_0x2cfaea['rrOyP'],'refresh_token',_0x2cfaea[_0x3f5a37(0x1e5)]],_0x4398bc=Array[_0x3f5a37(0x223)](_0x29e7c7)?[..._0x29e7c7]:{..._0x29e7c7};for(const _0x34acab of Object['keys'](_0x4398bc)){const _0x5d5132=_0x34acab['toLowerCase']();if(_0x639eab['some'](_0x232acb=>_0x5d5132[_0x3f5a37(0x1d6)](_0x232acb)))_0x4398bc[_0x34acab]=_0x3f5a37(0x1cd);else _0x2cfaea['WMYTu'](typeof _0x4398bc[_0x34acab],_0x2cfaea[_0x3f5a37(0x1cb)])&&_0x2cfaea['eoWgp'](_0x4398bc[_0x34acab],null)&&(_0x4398bc[_0x34acab]=redactObject(_0x4398bc[_0x34acab]));}return _0x4398bc;},logError=(_0x51f879,_0x5a4537={},_0x762d52=null)=>{const _0x424ff2=a0_0x1dde4d,_0x369a0a={'YhqGd':_0x424ff2(0x207),'btpTW':_0x424ff2(0x1f8)},_0x4b3bf0={'event':_0x369a0a[_0x424ff2(0x21b)],'errorName':_0x51f879[_0x424ff2(0x236)]||_0x369a0a[_0x424ff2(0x1c2)],'errorMessage':_0x51f879[_0x424ff2(0x1b8)],'errorCode':_0x51f879['code']||null,'stack':_0x51f879[_0x424ff2(0x20c)],..._0x5a4537},_0x188730=_0x762d52||_0x424ff2(0x22b)+_0x51f879['message'];logger['error'](_0x4b3bf0,_0x188730),writeToFileLog({..._0x4b3bf0,'level':'error','msg':_0x188730,'time':new Date()[_0x424ff2(0x1fe)]()},_0x369a0a['YhqGd']);},logFatalError=(_0x1ce0c3,_0x2a947b={},_0x3b3c9f=null)=>{const _0x567c60=a0_0x1dde4d,_0x40a29b={'WzvVI':_0x567c60(0x1f8),'gHJEs':_0x567c60(0x238),'ZfsIu':function(_0x5331b9,_0x27cb92,_0x3cd80d){return _0x5331b9(_0x27cb92,_0x3cd80d);}},_0x54f606={'event':_0x567c60(0x1d8),'errorName':_0x1ce0c3[_0x567c60(0x236)]||_0x40a29b['WzvVI'],'errorMessage':_0x1ce0c3[_0x567c60(0x1b8)],'errorCode':_0x1ce0c3[_0x567c60(0x1ba)]||null,'stack':_0x1ce0c3['stack'],'severity':_0x40a29b['gHJEs'],..._0x2a947b},_0x3db052=_0x3b3c9f||'FATAL:\x20'+_0x1ce0c3[_0x567c60(0x1b8)];logger[_0x567c60(0x1bd)](_0x54f606,_0x3db052),_0x40a29b[_0x567c60(0x208)](writeToFileLog,{..._0x54f606,'level':_0x567c60(0x1bd),'msg':_0x3db052,'time':new Date()['toISOString']()},'error');},logHttpError=(_0xd3a057,_0x26bbf9,_0x38415a={})=>{const _0x2ba1ac=a0_0x1dde4d,_0x39055c={'pbXsH':'Error','rMaZy':_0x2ba1ac(0x220),'ysZAp':_0x2ba1ac(0x207),'xrghO':'warn','vOJLh':function(_0x2a0a1d,_0x272c30){return _0x2a0a1d>=_0x272c30;}},_0x5a1c56={'event':'http_error','errorName':_0xd3a057[_0x2ba1ac(0x236)]||_0x39055c[_0x2ba1ac(0x1b6)],'errorMessage':_0xd3a057['message'],'errorCode':_0xd3a057['code']||_0xd3a057[_0x2ba1ac(0x243)]||0x1f4,'stack':_0xd3a057['stack'],'method':_0x26bbf9?.[_0x2ba1ac(0x1a7)],'url':_0x26bbf9?.['url']||_0x26bbf9?.['originalUrl'],'path':_0x26bbf9?.[_0x2ba1ac(0x1b1)],'ip':_0x26bbf9?.['ip']||_0x26bbf9?.[_0x2ba1ac(0x1c6)]?.['remoteAddress'],'userAgent':_0x26bbf9?.[_0x2ba1ac(0x213)]?.(_0x39055c['rMaZy']),'requestId':_0x26bbf9?.['id']||_0x26bbf9?.['headers']?.[_0x2ba1ac(0x1b5)],'body':_0x26bbf9?.[_0x2ba1ac(0x1e2)]?redactObject(_0x26bbf9[_0x2ba1ac(0x1e2)]):undefined,'query':_0x26bbf9?.['query'],..._0x38415a},_0xb57c8=_0xd3a057[_0x2ba1ac(0x243)]||_0xd3a057['status']||0x1f4,_0x3ddf5b='HTTP\x20'+_0xb57c8+':\x20'+_0xd3a057['message'];_0xb57c8>=0x1f4?logger[_0x2ba1ac(0x207)](_0x5a1c56,_0x3ddf5b):logger['warn'](_0x5a1c56,_0x3ddf5b),writeToFileLog({..._0x5a1c56,'level':_0xb57c8>=0x1f4?_0x39055c[_0x2ba1ac(0x1f4)]:_0x39055c[_0x2ba1ac(0x214)],'msg':_0x3ddf5b,'time':new Date()[_0x2ba1ac(0x1fe)]()},_0x39055c['vOJLh'](_0xb57c8,0x1f4)?_0x39055c['ysZAp']:_0x39055c['xrghO']);},logUncaughtError=(_0x2a779e,_0x39934c)=>{const _0x2d223a=a0_0x1dde4d,_0x4867e9={'RgjSi':'Error','RExnu':function(_0x3689f8,_0x3678a1){return _0x3689f8(_0x3678a1);},'tVXpK':'CRITICAL'},_0x338109={'event':_0x2a779e,'errorName':_0x39934c?.[_0x2d223a(0x236)]||_0x4867e9[_0x2d223a(0x231)],'errorMessage':_0x39934c?.['message']||_0x4867e9['RExnu'](String,_0x39934c),'errorCode':_0x39934c?.['code']||null,'stack':_0x39934c?.['stack'],'severity':_0x4867e9['tVXpK'],'processId':process[_0x2d223a(0x21d)],'memoryUsage':process[_0x2d223a(0x1d3)](),'uptime':process[_0x2d223a(0x224)]()},_0x256dc6='['+_0x2a779e[_0x2d223a(0x1f0)]()+']\x20'+(_0x39934c?.['message']||_0x39934c);logger['fatal'](_0x338109,_0x256dc6),writeToFileLog({..._0x338109,'level':_0x2d223a(0x1bd),'msg':_0x256dc6,'time':new Date()[_0x2d223a(0x1fe)]()},'error');},setupGlobalErrorHandlers=()=>{const _0x558b0a=a0_0x1dde4d,_0x2e661d={'jvjQv':function(_0x3cd06c,_0x135e67,_0x14d161){return _0x3cd06c(_0x135e67,_0x14d161);},'LnKrp':function(_0x1b6694,_0x4f88e6){return _0x1b6694 instanceof _0x4f88e6;},'IQLuQ':function(_0x67d85f,_0x225c09){return _0x67d85f(_0x225c09);},'TrBrv':_0x558b0a(0x1a5),'lEfMv':_0x558b0a(0x1b0),'tlqqY':'global_error_handlers_setup','NQILa':_0x558b0a(0x24e),'ixPwj':_0x558b0a(0x217)};process['on'](_0x558b0a(0x19f),_0x5c56ec=>{const _0x162b4f=_0x558b0a;_0x2e661d[_0x162b4f(0x1cc)](logUncaughtError,'uncaughtException',_0x5c56ec),setTimeout(()=>{const _0x826bef=_0x162b4f;process[_0x826bef(0x227)](0x1);},0x3e8);}),process['on'](_0x2e661d['lEfMv'],(_0x42796e,_0x2a076b)=>{const _0x146c17=_0x558b0a,_0x330d93=_0x2e661d[_0x146c17(0x1fc)](_0x42796e,Error)?_0x42796e:new Error(_0x2e661d[_0x146c17(0x230)](String,_0x42796e));logUncaughtError(_0x146c17(0x1b0),_0x330d93);}),process['on']('warning',_0x299aeb=>{const _0x4a8fed=_0x558b0a;logger[_0x4a8fed(0x1bf)]({'event':_0x2e661d[_0x4a8fed(0x1e9)],'name':_0x299aeb['name'],'message':_0x299aeb['message'],'stack':_0x299aeb[_0x4a8fed(0x20c)]},'Process\x20Warning:\x20'+_0x299aeb['message']);});const _0x100119={'event':_0x2e661d['tlqqY']},_0x4fe39e=_0x2e661d['NQILa'];logger[_0x558b0a(0x217)](_0x100119,_0x4fe39e),writeToFileLog({..._0x100119,'level':_0x2e661d['ixPwj'],'msg':_0x4fe39e,'time':new Date()['toISOString']()},'info');},createErrorHandlerMiddleware=()=>{const _0x45fd08=a0_0x1dde4d,_0x2d3ad4={'rFVrR':_0x45fd08(0x1b5)};return(_0x5a3c53,_0x39e6c1,_0x363a5a,_0x44d2ef)=>{const _0x572c69=_0x45fd08;logHttpError(_0x5a3c53,_0x39e6c1);const _0x1ae983=_0x5a3c53[_0x572c69(0x243)]||_0x5a3c53['status']||0x1f4;_0x363a5a[_0x572c69(0x1c3)](_0x1ae983)['json']({'success':![],'error':_0x1ae983>=0x1f4?_0x572c69(0x1be):_0x5a3c53['message'],'requestId':_0x39e6c1['id']||_0x39e6c1[_0x572c69(0x20d)]?.[_0x2d3ad4[_0x572c69(0x242)]]||null});};};module['exports']={'logger':logger,'createRequestLogger':createRequestLogger,'logServerStart':logServerStart,'logServerReady':logServerReady,'logProjectLoaded':logProjectLoaded,'logEndpointRegistered':logEndpointRegistered,'logDatabaseConfig':logDatabaseConfig,'logRequest':logRequest,'logQuery':logQuery,'logTransaction':logTransaction,'startQueryTimer':startQueryTimer,'parseQueryMetadata':parseQueryMetadata,'redactSensitiveParams':redactSensitiveParams,'initFileLogging':initFileLogging,'logError':logError,'logFatalError':logFatalError,'logHttpError':logHttpError,'logUncaughtError':logUncaughtError,'setupGlobalErrorHandlers':setupGlobalErrorHandlers,'createErrorHandlerMiddleware':createErrorHandlerMiddleware,'redactObject':redactObject,'SQL_LOG_CONFIG':{'enabled':sqlLogEnabled,'level':sqlLogLevel,'logParams':sqlLogParams,'slowThreshold':sqlLogSlowThreshold},'FILE_LOG_CONFIG':{'enabled':logToFile,'directory':logDir,'serviceName':serviceName}};
|
|
1
|
+
const a0_0xcffcab=a0_0x36ad;(function(_0x40d9ca,_0x26dde2){const _0x263898=a0_0x36ad,_0x40dcc4=_0x40d9ca();while(!![]){try{const _0x4348da=parseInt(_0x263898(0x199))/0x1+-parseInt(_0x263898(0x1b8))/0x2+parseInt(_0x263898(0x13d))/0x3+-parseInt(_0x263898(0x171))/0x4+-parseInt(_0x263898(0x1a3))/0x5+-parseInt(_0x263898(0x1d6))/0x6+parseInt(_0x263898(0x14d))/0x7*(parseInt(_0x263898(0x167))/0x8);if(_0x4348da===_0x26dde2)break;else _0x40dcc4['push'](_0x40dcc4['shift']());}catch(_0x19c1e2){_0x40dcc4['push'](_0x40dcc4['shift']());}}}(a0_0x2484,0x75f08));const pino=require('pino'),fs=require('fs'),path=require('path');let logToFile=![],logDir='./logs',serviceName=a0_0xcffcab(0x182),sqlLogEnabled=![],sqlLogLevel='debug',sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':'SYS:HH:MM:ss','ignore':'pid,hostname,service,version,env,event,module,port,config,apiKeyEnabled,path,workingDir,isPkg,isNodeScript,file,email,type,cors,logging,apiKey,count,endpoint,route','singleLine':![],'levelFirst':!![],'messageFormat':a0_0xcffcab(0x18e),'customColors':'info:blue,warn:yellow,error:red,debug:gray','hideObject':!![]},isDevelopment=process[a0_0xcffcab(0x161)][a0_0xcffcab(0x1dc)]!=='production',logLevel=process[a0_0xcffcab(0x161)][a0_0xcffcab(0x1a7)]||a0_0xcffcab(0x1b0);let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':'pino-pretty','options':prettyPrintOptions}:undefined,'base':{'service':'restforge','version':process['env'][a0_0xcffcab(0x1c7)]||a0_0xcffcab(0x134),'env':process[a0_0xcffcab(0x161)]['NODE_ENV']||'development'},'timestamp':pino[a0_0xcffcab(0x1ac)][a0_0xcffcab(0x1af)],'redact':{'paths':['req.headers.authorization','req.headers[\x22x-api-key\x22]','password',a0_0xcffcab(0x1d0),a0_0xcffcab(0x145),a0_0xcffcab(0x1ad),a0_0xcffcab(0x13e)],'censor':a0_0xcffcab(0x1d9)},'serializers':{'req':_0x40228c=>({'id':_0x40228c['id'],'method':_0x40228c['method'],'url':_0x40228c['url'],'path':_0x40228c['path'],'remoteAddress':_0x40228c['ip']||_0x40228c[a0_0xcffcab(0x1ca)]?.[a0_0xcffcab(0x162)]}),'res':_0x4dd311=>({'statusCode':_0x4dd311[a0_0xcffcab(0x1b2)],'headers':_0x4dd311[a0_0xcffcab(0x1dd)]?.()}),'err':pino['stdSerializers']['err']}});function initFileLogging(){const _0x4d2d2c=a0_0xcffcab,_0x4e28d4={'okrBO':_0x4d2d2c(0x17a),'uRMIR':function(_0x30a751,_0x59a786){return _0x30a751===_0x59a786;},'NDWkC':'false','PDKLn':_0x4d2d2c(0x1bb),'YPwff':_0x4d2d2c(0x19b),'aSRLA':function(_0x5046f0,_0x20c8a3,_0x369931){return _0x5046f0(_0x20c8a3,_0x369931);},'CTDIp':_0x4d2d2c(0x1b0)};if(fileLoggingInitialized)return;logToFile=process['env']['LOG_TO_FILE']===_0x4e28d4['okrBO'],logDir=process[_0x4d2d2c(0x161)]['LOG_DIR']||_0x4d2d2c(0x1e4),serviceName=process[_0x4d2d2c(0x161)][_0x4d2d2c(0x1bd)]||'restforge',sqlLogEnabled=_0x4e28d4['uRMIR'](process[_0x4d2d2c(0x161)]['SQL_LOG_ENABLED'],_0x4e28d4[_0x4d2d2c(0x17e)]),sqlLogLevel=process[_0x4d2d2c(0x161)]['SQL_LOG_LEVEL']||'debug',sqlLogParams=process['env'][_0x4d2d2c(0x1d1)]!==_0x4e28d4[_0x4d2d2c(0x1b7)],sqlLogSlowThreshold=parseInt(process[_0x4d2d2c(0x161)][_0x4d2d2c(0x1df)])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x33f5b6=path['resolve'](process[_0x4d2d2c(0x1b1)](),logDir);try{!fs[_0x4d2d2c(0x12c)](_0x33f5b6)&&fs['mkdirSync'](_0x33f5b6,{'recursive':!![]});}catch(_0x184d21){console[_0x4d2d2c(0x190)]('Failed\x20to\x20create\x20log\x20directory\x20'+_0x33f5b6+':',_0x184d21[_0x4d2d2c(0x1c1)]),fileLoggingInitialized=!![];return;}const _0x28bb0c=path['join'](_0x33f5b6,_0x4e28d4[_0x4d2d2c(0x1ab)]),_0x3283ea=path[_0x4d2d2c(0x1d7)](_0x33f5b6,_0x4e28d4[_0x4d2d2c(0x1a4)]);try{appLogStream=fs[_0x4d2d2c(0x1aa)](_0x28bb0c,{'flags':'a'}),errorLogStream=fs[_0x4d2d2c(0x1aa)](_0x3283ea,{'flags':'a'}),fileLoggingInitialized=!![];const _0x407bc5={'event':_0x4d2d2c(0x1bf),'logDir':_0x33f5b6,'files':['app.log',_0x4d2d2c(0x19b)]},_0x4027fd='File\x20logging\x20enabled:\x20'+_0x33f5b6;logger['info'](_0x407bc5,_0x4027fd),_0x4e28d4['aSRLA'](writeToFileLog,{..._0x407bc5,'level':_0x4e28d4[_0x4d2d2c(0x156)],'msg':_0x4027fd,'time':new Date()['toISOString']()},_0x4e28d4[_0x4d2d2c(0x156)]);}catch(_0x587e04){console['error']('Failed\x20to\x20create\x20log\x20streams:',_0x587e04['message']),fileLoggingInitialized=!![];}}function writeToFileLog(_0x348afb,_0x5d2a71){const _0x33a271=a0_0xcffcab,_0x720310={'ESIRP':function(_0x12edac,_0x508699){return _0x12edac||_0x508699;},'CJrYq':function(_0x2da504,_0x522e5f){return _0x2da504+_0x522e5f;},'CeFHI':'fatal'};if(_0x720310['ESIRP'](!logToFile,!appLogStream))return;const _0x5e4d3b={'service':serviceName,..._0x348afb},_0x5d82d6=_0x720310[_0x33a271(0x1c5)](JSON['stringify'](_0x5e4d3b),'\x0a');appLogStream[_0x33a271(0x191)](_0x5d82d6),(_0x5d2a71===_0x33a271(0x190)||_0x5d2a71===_0x720310['CeFHI'])&&(errorLogStream&&errorLogStream['write'](_0x5d82d6));}const createRequestLogger=(_0x3eface={})=>{const _0x9dcd30=a0_0xcffcab;return logger[_0x9dcd30(0x160)](_0x3eface);},logServerStart=_0x179621=>{const _0x33bbb0=a0_0xcffcab,_0x4893c5={'ibQqI':_0x33bbb0(0x153),'XYwUi':function(_0xf752eb,_0x313982){return _0xf752eb(_0x313982);},'WMMRL':'Default','hjgUy':function(_0x1d0489,_0x298a86,_0x56561a){return _0x1d0489(_0x298a86,_0x56561a);},'JyWfv':_0x33bbb0(0x1b0)},_0x5657c8='\x0a╔═══════════════════════════════════════════════════════╗\x0a║\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20RESTFORGE\x20RUNTIME\x20SERVER\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20║\x0a╠═══════════════════════════════════════════════════════╣\x0a║\x20\x20Environment\x20:\x20'+(_0x179621['environment']||_0x33bbb0(0x173))[_0x33bbb0(0x16f)](0x26)+_0x33bbb0(0x12d)+(_0x179621['project']||_0x4893c5[_0x33bbb0(0x149)])[_0x33bbb0(0x16f)](0x26)+_0x33bbb0(0x148)+_0x4893c5[_0x33bbb0(0x18f)](String,_0x179621[_0x33bbb0(0x1ae)]||0xbb8)[_0x33bbb0(0x16f)](0x26)+_0x33bbb0(0x1a0)+(_0x179621[_0x33bbb0(0x1a8)]||_0x4893c5[_0x33bbb0(0x12b)])['padEnd'](0x26)+_0x33bbb0(0x17c)+(_0x179621[_0x33bbb0(0x145)]?_0x33bbb0(0x180):'NOT\x20ACTIVE')[_0x33bbb0(0x16f)](0x26)+'\x20║\x0a╚═══════════════════════════════════════════════════════╝';console['log'](_0x5657c8);const _0x28dbba={'event':_0x33bbb0(0x12e),'project':_0x179621[_0x33bbb0(0x1bc)],'port':_0x179621[_0x33bbb0(0x1ae)],'config':_0x179621['configFile'],'apiKeyEnabled':!!_0x179621['apiKey']};logger[_0x33bbb0(0x1b0)](_0x28dbba),_0x4893c5[_0x33bbb0(0x193)](writeToFileLog,{..._0x28dbba,'level':_0x4893c5[_0x33bbb0(0x18a)],'msg':_0x33bbb0(0x17f)+_0x179621['project']+'\x20on\x20port\x20'+_0x179621['port'],'time':new Date()[_0x33bbb0(0x169)]()},_0x33bbb0(0x1b0));},logServerReady=_0x5bc2cd=>{const _0x47b2ba=a0_0xcffcab,_0x10c165={'MMBQB':function(_0x1c069f,_0x219081,_0x2a37c8){return _0x1c069f(_0x219081,_0x2a37c8);},'Gqnge':_0x47b2ba(0x1b0)},_0x11de54={'event':_0x47b2ba(0x159),'port':_0x5bc2cd[_0x47b2ba(0x1ae)],'module':_0x5bc2cd['module'],'healthCheck':_0x5bc2cd['healthCheck'],'serviceInfo':_0x5bc2cd['serviceInfo'],'baseUrl':_0x5bc2cd[_0x47b2ba(0x1b6)]},_0x7d3be4=_0x47b2ba(0x165)+_0x5bc2cd['port'];logger[_0x47b2ba(0x1b0)](_0x11de54,_0x7d3be4),_0x10c165['MMBQB'](writeToFileLog,{..._0x11de54,'level':'info','msg':_0x7d3be4,'time':new Date()['toISOString']()},_0x10c165[_0x47b2ba(0x17d)]),_0x5bc2cd['healthCheck']&&logger['info'](_0x47b2ba(0x152)+_0x5bc2cd['healthCheck']),_0x5bc2cd[_0x47b2ba(0x178)]&&logger[_0x47b2ba(0x1b0)](_0x47b2ba(0x133)+_0x5bc2cd['serviceInfo']),_0x5bc2cd['baseUrl']&&logger[_0x47b2ba(0x1b0)]('\x20\x20URL:\x20\x20\x20\x20'+_0x5bc2cd['baseUrl']);},logProjectLoaded=(_0x338377,_0x168acd)=>{const _0x286dcd=a0_0xcffcab,_0x3c5ec1={'lxPdY':'project_loaded','OIgRi':_0x286dcd(0x1b0)},_0x49dcbf={'event':_0x3c5ec1['lxPdY'],'project':_0x338377,'path':_0x168acd},_0x971d42='[OK]\x20Project\x20loaded:\x20'+_0x338377;logger[_0x286dcd(0x1b0)](_0x49dcbf,_0x971d42),writeToFileLog({..._0x49dcbf,'level':_0x3c5ec1[_0x286dcd(0x189)],'msg':_0x971d42,'time':new Date()['toISOString']()},'info');},logEndpointRegistered=(_0x37ebf3,_0x216890)=>{const _0x732504=a0_0xcffcab,_0x5ea36a={'yIFWX':'endpoint_registered','UKBaf':function(_0x1bf9fa,_0x5eacff,_0x56bb1d){return _0x1bf9fa(_0x5eacff,_0x56bb1d);},'IdOQu':_0x732504(0x163)},_0x49faab={'event':_0x5ea36a[_0x732504(0x1c4)],'endpoint':_0x37ebf3,'route':_0x216890},_0x127415='\x20\x20→\x20'+_0x37ebf3+':\x20'+_0x216890;logger['debug'](_0x49faab,_0x127415),_0x5ea36a['UKBaf'](writeToFileLog,{..._0x49faab,'level':_0x5ea36a[_0x732504(0x146)],'msg':_0x127415,'time':new Date()['toISOString']()},_0x732504(0x163));},logDatabaseConfig=_0x5aef3e=>{const _0x31d36c=a0_0xcffcab,_0x24b793={'MZbRD':_0x31d36c(0x163)},_0xc2b76e={'event':_0x31d36c(0x185),'host':_0x5aef3e['host'],'port':_0x5aef3e['port'],'database':_0x5aef3e['database'],'type':_0x5aef3e[_0x31d36c(0x142)],'user':_0x5aef3e['user']},_0x114cae='Database:\x20'+_0x5aef3e['type']+_0x31d36c(0x1ba)+_0x5aef3e[_0x31d36c(0x1db)]+':'+_0x5aef3e[_0x31d36c(0x1ae)]+'/'+_0x5aef3e[_0x31d36c(0x16d)];logger['debug'](_0xc2b76e,_0x114cae),writeToFileLog({..._0xc2b76e,'level':_0x24b793[_0x31d36c(0x131)],'msg':_0x114cae,'time':new Date()[_0x31d36c(0x169)]()},'debug');},logRequest=(_0x5cf858,_0x311caa,_0x42c214)=>{const _0x59996a=a0_0xcffcab,_0x1b127b={'AmvRA':'http_request','hulXG':function(_0x964a38,_0x2b7b1c){return _0x964a38>=_0x2b7b1c;},'UEWCy':'warn','UnhOO':function(_0x38e024,_0x1bd4a9,_0x5db8af){return _0x38e024(_0x1bd4a9,_0x5db8af);}},_0x4dec39={'event':_0x1b127b[_0x59996a(0x1a6)],'method':_0x5cf858[_0x59996a(0x147)],'path':_0x5cf858['path'],'statusCode':_0x311caa['statusCode'],'durationMs':_0x42c214,'ip':_0x5cf858['ip']},_0x56062d=_0x5cf858['method']+'\x20'+_0x5cf858['path']+'\x20-\x20'+_0x311caa['statusCode']+'\x20('+_0x42c214+_0x59996a(0x150);let _0x1cff54='info';if(_0x1b127b[_0x59996a(0x1be)](_0x311caa['statusCode'],0x1f4))_0x1cff54=_0x59996a(0x190),logger['error'](_0x4dec39,_0x56062d);else _0x311caa['statusCode']>=0x190?(_0x1cff54=_0x1b127b[_0x59996a(0x1d4)],logger[_0x59996a(0x1de)](_0x4dec39,_0x56062d)):logger[_0x59996a(0x1b0)](_0x4dec39,_0x56062d);_0x1b127b[_0x59996a(0x14f)](writeToFileLog,{..._0x4dec39,'level':_0x1cff54,'msg':_0x56062d,'time':new Date()[_0x59996a(0x169)]()},_0x1cff54);},SENSITIVE_PARAM_PATTERNS=[a0_0xcffcab(0x1cb),'passwd','pwd',a0_0xcffcab(0x1d0),a0_0xcffcab(0x1d2),'refresh_token','secret',a0_0xcffcab(0x1c8),a0_0xcffcab(0x13c),'api_key',a0_0xcffcab(0x19a),a0_0xcffcab(0x155),a0_0xcffcab(0x18d),a0_0xcffcab(0x151),a0_0xcffcab(0x172),a0_0xcffcab(0x1c3)],redactSensitiveParams=(_0x5d1af7,_0x11ddcd)=>{const _0x1de6f3=a0_0xcffcab,_0x4e0784={'cptqN':_0x1de6f3(0x196),'fXZyM':function(_0x2776de,_0x3e4729){return _0x2776de===_0x3e4729;}};if(!_0x5d1af7||_0x4e0784['fXZyM'](_0x5d1af7[_0x1de6f3(0x1d3)],0x0))return _0x5d1af7;const _0x5d82f8=_0x11ddcd['toLowerCase'](),_0x5eb8f1=_0x5d82f8[_0x1de6f3(0x1da)](/\(([^)]+)\)\s*values/i);let _0x4d000f=[];_0x5eb8f1&&(_0x4d000f=_0x5eb8f1[0x1][_0x1de6f3(0x16b)](',')[_0x1de6f3(0x168)](_0x1c0814=>_0x1c0814[_0x1de6f3(0x14a)]()['toLowerCase']()));const _0x18be3f=_0x5d82f8['match'](/set\s+(.+?)(?:\s+where|$)/i);if(_0x18be3f){const _0x463438=_0x18be3f[0x1],_0x5dba5c=_0x463438[_0x1de6f3(0x1da)](/(\w+)\s*=/g);_0x5dba5c&&(_0x4d000f=_0x5dba5c[_0x1de6f3(0x168)](_0xa8f9be=>_0xa8f9be['replace'](/\s*=/,'')[_0x1de6f3(0x14a)]()['toLowerCase']()));}return _0x5d1af7[_0x1de6f3(0x168)]((_0xdaf6be,_0x24c6d5)=>{const _0x3a05ea=_0x1de6f3;if(_0x4d000f[_0x24c6d5]){const _0x1c579a=_0x4d000f[_0x24c6d5],_0x3da52b=SENSITIVE_PARAM_PATTERNS[_0x3a05ea(0x14c)](_0xd68130=>_0x1c579a[_0x3a05ea(0x1a1)](_0xd68130));if(_0x3da52b)return _0x3a05ea(0x1d9);}if(typeof _0xdaf6be==='string'&&_0xdaf6be[_0x3a05ea(0x1d3)]>0x20){if(/^[a-zA-Z0-9+/=_.-]+$/[_0x3a05ea(0x1b5)](_0xdaf6be)&&_0xdaf6be[_0x3a05ea(0x1a1)]('.'))return _0x4e0784[_0x3a05ea(0x174)];if(/^[a-fA-F0-9]{32,}$/[_0x3a05ea(0x1b5)](_0xdaf6be))return'[REDACTED:hash]';}return _0xdaf6be;});},parseQueryMetadata=_0x408f07=>{const _0x41b9c2=a0_0xcffcab,_0x147fc9={'TctSR':_0x41b9c2(0x181),'dSRzT':_0x41b9c2(0x15d),'fjcPV':_0x41b9c2(0x175),'FHhzT':'DELETE','yAcxw':_0x41b9c2(0x1cf),'suGiA':_0x41b9c2(0x187),'LCEyX':_0x41b9c2(0x186),'iABCG':'ALTER','bLomF':'DDL_ALTER','bBauu':_0x41b9c2(0x132)},_0x968d45=_0x408f07[_0x41b9c2(0x14a)](),_0x4e1a5d=_0x968d45['toUpperCase']();let _0x273c85=_0x147fc9[_0x41b9c2(0x1d8)],_0xa97451=null;if(_0x4e1a5d['startsWith'](_0x147fc9[_0x41b9c2(0x1e3)])){_0x273c85='SELECT';const _0x5cdb0d=_0x968d45['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0xa97451=_0x5cdb0d?_0x5cdb0d[0x1]:null;}else{if(_0x4e1a5d['startsWith'](_0x41b9c2(0x175))){_0x273c85=_0x147fc9[_0x41b9c2(0x1e2)];const _0x1debf5=_0x968d45['match'](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0xa97451=_0x1debf5?_0x1debf5[0x1]:null;}else{if(_0x4e1a5d[_0x41b9c2(0x184)](_0x41b9c2(0x154))){_0x273c85='UPDATE';const _0x54bb93=_0x968d45['match'](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0xa97451=_0x54bb93?_0x54bb93[0x1]:null;}else{if(_0x4e1a5d['startsWith'](_0x147fc9['FHhzT'])){_0x273c85=_0x41b9c2(0x13f);const _0x25c7c2=_0x968d45['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0xa97451=_0x25c7c2?_0x25c7c2[0x1]:null;}else{if(_0x4e1a5d['startsWith'](_0x147fc9['yAcxw'])||_0x4e1a5d['startsWith'](_0x41b9c2(0x14e)))_0x273c85=_0x41b9c2(0x170);else{if(_0x4e1a5d['startsWith'](_0x41b9c2(0x198)))_0x273c85='TRANSACTION_COMMIT';else{if(_0x4e1a5d['startsWith']('ROLLBACK'))_0x273c85=_0x147fc9[_0x41b9c2(0x1c6)];else{if(_0x4e1a5d[_0x41b9c2(0x184)](_0x41b9c2(0x1b3)))_0x273c85=_0x147fc9[_0x41b9c2(0x1c0)];else{if(_0x4e1a5d['startsWith'](_0x147fc9['iABCG']))_0x273c85=_0x147fc9[_0x41b9c2(0x1cc)];else _0x4e1a5d[_0x41b9c2(0x184)](_0x41b9c2(0x1ce))&&(_0x273c85=_0x147fc9[_0x41b9c2(0x1c2)]);}}}}}}}}return{'type':_0x273c85,'table':_0xa97451};},startQueryTimer=()=>{const _0x1f78d8={'GhRPr':function(_0x1174f6,_0x200234){return _0x1174f6(_0x200234);},'tnrXf':function(_0x3e3d25,_0xac32a3){return _0x3e3d25*_0xac32a3;},'ETkwi':function(_0x43a728,_0x557706){return _0x43a728/_0x557706;}},_0x5d5be2=process['hrtime']();return()=>{const [_0xc7d57e,_0x2652d8]=process['hrtime'](_0x5d5be2);return _0x1f78d8['GhRPr'](parseFloat,(_0x1f78d8['tnrXf'](_0xc7d57e,0x3e8)+_0x1f78d8['ETkwi'](_0x2652d8,0xf4240))['toFixed'](0x2));};},logQuery=(_0x19383e,_0x1ee079=[],_0x51ea09={})=>{const _0x33ae00=a0_0xcffcab,_0x2f725c={'sIXjz':_0x33ae00(0x135),'FuikA':'postgresql','dqVRS':function(_0x996393,_0x4bf027){return _0x996393(_0x4bf027);},'JHhpb':function(_0x4cfa31,_0x444195){return _0x4cfa31>_0x444195;},'tRqFP':function(_0x4705f4,_0x480634){return _0x4705f4!==_0x480634;},'SJpGX':function(_0x234e30,_0x315395){return _0x234e30||_0x315395;},'tlQzN':_0x33ae00(0x137),'PxYpZ':'\x20[SLOW]','bZAhg':'warn','rsqxU':'info','TKyJp':function(_0x1ab902,_0x3874b3,_0x586a19){return _0x1ab902(_0x3874b3,_0x586a19);}};if(!sqlLogEnabled){logger['debug']({'event':'db_query','query':_0x19383e['substring'](0x0,0xc8),'paramCount':_0x1ee079['length']},_0x2f725c[_0x33ae00(0x188)]);return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x2f725c[_0x33ae00(0x19e)]}=_0x51ea09,{type:_0x1bca10,table:_0x31ec4e}=_0x2f725c['dqVRS'](parseQueryMetadata,_0x19383e),_0xaab0f7={'event':'sql_query','queryType':_0x1bca10,'table':_0x31ec4e,'query':_0x19383e,'paramCount':_0x1ee079[_0x33ae00(0x1d3)],'dbType':dbType};sqlLogParams&&_0x2f725c['JHhpb'](_0x1ee079['length'],0x0)&&(_0xaab0f7[_0x33ae00(0x176)]=redactSensitiveParams(_0x1ee079,_0x19383e));duration!==null&&(_0xaab0f7[_0x33ae00(0x15c)]=duration,_0xaab0f7[_0x33ae00(0x139)]=_0x2f725c['JHhpb'](duration,sqlLogSlowThreshold));_0x2f725c[_0x33ae00(0x15b)](rowsAffected,null)&&(_0xaab0f7['rowsAffected']=rowsAffected);const _0x44b5f0=_0x2f725c['SJpGX'](_0x31ec4e,_0x2f725c[_0x33ae00(0x197)]);let _0x46e0cd='['+_0x1bca10+']\x20'+_0x44b5f0;duration!==null&&(_0x46e0cd+='\x20('+duration+_0x33ae00(0x150));const _0x572647=_0x2f725c['tRqFP'](duration,null)&&duration>sqlLogSlowThreshold;let _0xe5fff2=_0x33ae00(0x163);if(_0x572647)_0x46e0cd+=_0x2f725c['PxYpZ'],_0xe5fff2=_0x2f725c[_0x33ae00(0x16c)],logger[_0x33ae00(0x1de)](_0xaab0f7,_0x46e0cd);else sqlLogLevel===_0x33ae00(0x1b0)?(_0xe5fff2=_0x2f725c['rsqxU'],logger[_0x33ae00(0x1b0)](_0xaab0f7,_0x46e0cd)):logger['debug'](_0xaab0f7,_0x46e0cd);_0x2f725c['TKyJp'](writeToFileLog,{..._0xaab0f7,'level':_0xe5fff2,'msg':_0x46e0cd,'time':new Date()['toISOString']()},_0xe5fff2);},logTransaction=(_0x3851f2,_0x100eda)=>{const _0x364570=a0_0xcffcab,_0x51d1e8={'bDWob':function(_0x3abcc5,_0x4d876e,_0x218446){return _0x3abcc5(_0x4d876e,_0x218446);}},_0xc82ca8={'event':'db_transaction','status':_0x3851f2,'queryCount':_0x100eda},_0x99e026=_0x364570(0x192)+_0x3851f2;logger['debug'](_0xc82ca8,_0x99e026),_0x51d1e8[_0x364570(0x19d)](writeToFileLog,{..._0xc82ca8,'level':_0x364570(0x163),'msg':_0x99e026,'time':new Date()['toISOString']()},'debug');},redactObject=_0x523213=>{const _0x1f0052=a0_0xcffcab,_0x2cec72={'CalyQ':function(_0x4af39b,_0x5648ac){return _0x4af39b!==_0x5648ac;},'LTpUp':'object','exHFv':_0x1f0052(0x17b),'kZdPb':'token','VzWaB':_0x1f0052(0x13a),'pZQFx':_0x1f0052(0x1c3)};if(!_0x523213||_0x2cec72[_0x1f0052(0x164)](typeof _0x523213,_0x2cec72[_0x1f0052(0x136)]))return _0x523213;const _0x135430=['password',_0x1f0052(0x1e0),_0x2cec72['exHFv'],_0x2cec72['kZdPb'],'secret',_0x1f0052(0x13c),_0x1f0052(0x1c9),'authorization','creditcard','credit_card',_0x1f0052(0x183),_0x2cec72[_0x1f0052(0x143)],'pin',_0x1f0052(0x172),_0x2cec72['pZQFx'],'refresh_token','access_token'],_0x2d9105=Array['isArray'](_0x523213)?[..._0x523213]:{..._0x523213};for(const _0x2898c5 of Object[_0x1f0052(0x177)](_0x2d9105)){const _0x2ab891=_0x2898c5[_0x1f0052(0x141)]();if(_0x135430[_0x1f0052(0x14c)](_0x1f7181=>_0x2ab891[_0x1f0052(0x1a1)](_0x1f7181)))_0x2d9105[_0x2898c5]=_0x1f0052(0x1d9);else typeof _0x2d9105[_0x2898c5]==='object'&&_0x2cec72['CalyQ'](_0x2d9105[_0x2898c5],null)&&(_0x2d9105[_0x2898c5]=redactObject(_0x2d9105[_0x2898c5]));}return _0x2d9105;},logError=(_0x3b43a4,_0x8c600d={},_0x512ccc=null)=>{const _0x33cca4=a0_0xcffcab,_0x49783f={'LCKIl':_0x33cca4(0x190)},_0x1947f0={'event':_0x49783f['LCKIl'],'errorName':_0x3b43a4[_0x33cca4(0x19f)]||'Error','errorMessage':_0x3b43a4['message'],'errorCode':_0x3b43a4['code']||null,'stack':_0x3b43a4[_0x33cca4(0x1a9)],..._0x8c600d},_0x1d11f4=_0x512ccc||'Error:\x20'+_0x3b43a4[_0x33cca4(0x1c1)];logger['error'](_0x1947f0,_0x1d11f4),writeToFileLog({..._0x1947f0,'level':_0x49783f[_0x33cca4(0x138)],'msg':_0x1d11f4,'time':new Date()[_0x33cca4(0x169)]()},_0x33cca4(0x190));},logFatalError=(_0x25e8d2,_0x3c422f={},_0x42f341=null)=>{const _0x3805db=a0_0xcffcab,_0x1394eb={'shyhe':_0x3805db(0x19c),'LvTGM':_0x3805db(0x195),'fYunz':function(_0x3f0a95,_0x1d1992,_0x37a064){return _0x3f0a95(_0x1d1992,_0x37a064);},'WffiS':'fatal'},_0x540dc4={'event':_0x1394eb[_0x3805db(0x194)],'errorName':_0x25e8d2[_0x3805db(0x19f)]||_0x3805db(0x16e),'errorMessage':_0x25e8d2[_0x3805db(0x1c1)],'errorCode':_0x25e8d2['code']||null,'stack':_0x25e8d2['stack'],'severity':_0x1394eb[_0x3805db(0x13b)],..._0x3c422f},_0x110fb7=_0x42f341||'FATAL:\x20'+_0x25e8d2['message'];logger[_0x3805db(0x1cd)](_0x540dc4,_0x110fb7),_0x1394eb['fYunz'](writeToFileLog,{..._0x540dc4,'level':_0x1394eb['WffiS'],'msg':_0x110fb7,'time':new Date()['toISOString']()},'error');},logHttpError=(_0x51470b,_0x574817,_0x26a58c={})=>{const _0x515c9b=a0_0xcffcab,_0xc2a144={'OFmOb':'http_error','sLgYZ':'user-agent','wuDWw':'x-request-id','XnoGH':function(_0x2efbcf,_0x5d4e5c){return _0x2efbcf(_0x5d4e5c);},'DnOaw':function(_0x4ff5a1,_0xd1391e,_0x4fce16){return _0x4ff5a1(_0xd1391e,_0x4fce16);},'pWTFS':'error','jfThD':_0x515c9b(0x1de)},_0x2b8bdb={'event':_0xc2a144['OFmOb'],'errorName':_0x51470b[_0x515c9b(0x19f)]||'Error','errorMessage':_0x51470b[_0x515c9b(0x1c1)],'errorCode':_0x51470b['code']||_0x51470b[_0x515c9b(0x1b2)]||0x1f4,'stack':_0x51470b[_0x515c9b(0x1a9)],'method':_0x574817?.[_0x515c9b(0x147)],'url':_0x574817?.[_0x515c9b(0x1d5)]||_0x574817?.[_0x515c9b(0x15a)],'path':_0x574817?.[_0x515c9b(0x144)],'ip':_0x574817?.['ip']||_0x574817?.[_0x515c9b(0x1ca)]?.['remoteAddress'],'userAgent':_0x574817?.['get']?.(_0xc2a144[_0x515c9b(0x157)]),'requestId':_0x574817?.['id']||_0x574817?.[_0x515c9b(0x14b)]?.[_0xc2a144['wuDWw']],'body':_0x574817?.[_0x515c9b(0x129)]?_0xc2a144['XnoGH'](redactObject,_0x574817['body']):undefined,'query':_0x574817?.[_0x515c9b(0x12a)],..._0x26a58c},_0x9f8141=_0x51470b['statusCode']||_0x51470b['status']||0x1f4,_0x411c67=_0x515c9b(0x1b4)+_0x9f8141+':\x20'+_0x51470b['message'];_0x9f8141>=0x1f4?logger[_0x515c9b(0x190)](_0x2b8bdb,_0x411c67):logger[_0x515c9b(0x1de)](_0x2b8bdb,_0x411c67),_0xc2a144[_0x515c9b(0x1b9)](writeToFileLog,{..._0x2b8bdb,'level':_0x9f8141>=0x1f4?_0xc2a144['pWTFS']:_0xc2a144['jfThD'],'msg':_0x411c67,'time':new Date()[_0x515c9b(0x169)]()},_0x9f8141>=0x1f4?_0x515c9b(0x190):_0xc2a144[_0x515c9b(0x158)]);},logUncaughtError=(_0x4ffb9e,_0x1258cb)=>{const _0x5b5f74=a0_0xcffcab,_0x2279db={'CXPLw':'Error','qFcKK':'fatal','CZbSJ':'error'},_0x368bbb={'event':_0x4ffb9e,'errorName':_0x1258cb?.['name']||_0x2279db[_0x5b5f74(0x179)],'errorMessage':_0x1258cb?.[_0x5b5f74(0x1c1)]||String(_0x1258cb),'errorCode':_0x1258cb?.['code']||null,'stack':_0x1258cb?.[_0x5b5f74(0x1a9)],'severity':'CRITICAL','processId':process['pid'],'memoryUsage':process['memoryUsage'](),'uptime':process['uptime']()},_0x4e0556='['+_0x4ffb9e['toUpperCase']()+']\x20'+(_0x1258cb?.['message']||_0x1258cb);logger[_0x5b5f74(0x1cd)](_0x368bbb,_0x4e0556),writeToFileLog({..._0x368bbb,'level':_0x2279db['qFcKK'],'msg':_0x4e0556,'time':new Date()['toISOString']()},_0x2279db['CZbSJ']);},setupGlobalErrorHandlers=()=>{const _0x360d81=a0_0xcffcab,_0x477700={'UNTPC':function(_0x1c5ba2,_0x503fcc,_0x341c4c){return _0x1c5ba2(_0x503fcc,_0x341c4c);},'sbVfh':function(_0x27f12c,_0x588f5c){return _0x27f12c instanceof _0x588f5c;},'lVRiF':'process_warning','wzkQi':'uncaughtException','VQQhF':_0x360d81(0x18c),'zTHdB':_0x360d81(0x1b0)};process['on'](_0x477700['wzkQi'],_0x390b4a=>{const _0x518459=_0x360d81;_0x477700[_0x518459(0x18b)](logUncaughtError,_0x518459(0x12f),_0x390b4a),_0x477700['UNTPC'](setTimeout,()=>{process['exit'](0x1);},0x3e8);}),process['on'](_0x360d81(0x140),(_0x5460ac,_0x503516)=>{const _0x46344d=_0x360d81,_0x28ad45=_0x477700[_0x46344d(0x1a5)](_0x5460ac,Error)?_0x5460ac:new Error(String(_0x5460ac));_0x477700['UNTPC'](logUncaughtError,'unhandledRejection',_0x28ad45);}),process['on'](_0x477700['VQQhF'],_0x2dad7b=>{const _0x33f92d=_0x360d81;logger[_0x33f92d(0x1de)]({'event':_0x477700[_0x33f92d(0x15f)],'name':_0x2dad7b[_0x33f92d(0x19f)],'message':_0x2dad7b['message'],'stack':_0x2dad7b['stack']},_0x33f92d(0x1e1)+_0x2dad7b['message']);});const _0x38a3fd={'event':_0x360d81(0x16a)},_0xe1099e=_0x360d81(0x15e);logger['info'](_0x38a3fd,_0xe1099e),writeToFileLog({..._0x38a3fd,'level':_0x360d81(0x1b0),'msg':_0xe1099e,'time':new Date()['toISOString']()},_0x477700['zTHdB']);},createErrorHandlerMiddleware=()=>{const _0x4ffa63=a0_0xcffcab,_0x534ac2={'faxJn':function(_0x1fe9b0,_0x29316c,_0x23f91d){return _0x1fe9b0(_0x29316c,_0x23f91d);},'wtZcl':_0x4ffa63(0x166)};return(_0x3aa9fd,_0x5a52f2,_0x238011,_0x1e7f9a)=>{const _0x9aa65e=_0x4ffa63;_0x534ac2[_0x9aa65e(0x1a2)](logHttpError,_0x3aa9fd,_0x5a52f2);const _0x22eebd=_0x3aa9fd[_0x9aa65e(0x1b2)]||_0x3aa9fd['status']||0x1f4;_0x238011['status'](_0x22eebd)['json']({'success':![],'error':_0x22eebd>=0x1f4?_0x534ac2['wtZcl']:_0x3aa9fd[_0x9aa65e(0x1c1)],'requestId':_0x5a52f2['id']||_0x5a52f2[_0x9aa65e(0x14b)]?.[_0x9aa65e(0x130)]||null});};};function a0_0x36ad(_0xeec237,_0xa44be3){_0xeec237=_0xeec237-0x129;const _0x248499=a0_0x2484();let _0x36ad4b=_0x248499[_0xeec237];if(a0_0x36ad['KecehF']===undefined){var _0x1a55fa=function(_0x392753){const _0x6aa31='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4d51c5='',_0x8c9cca='';for(let _0x4e99c5=0x0,_0x34ecdc,_0x39fbcb,_0x4b4dbc=0x0;_0x39fbcb=_0x392753['charAt'](_0x4b4dbc++);~_0x39fbcb&&(_0x34ecdc=_0x4e99c5%0x4?_0x34ecdc*0x40+_0x39fbcb:_0x39fbcb,_0x4e99c5++%0x4)?_0x4d51c5+=String['fromCharCode'](0xff&_0x34ecdc>>(-0x2*_0x4e99c5&0x6)):0x0){_0x39fbcb=_0x6aa31['indexOf'](_0x39fbcb);}for(let _0x44758e=0x0,_0x2fbf6b=_0x4d51c5['length'];_0x44758e<_0x2fbf6b;_0x44758e++){_0x8c9cca+='%'+('00'+_0x4d51c5['charCodeAt'](_0x44758e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x8c9cca);};a0_0x36ad['mFLUlP']=_0x1a55fa,a0_0x36ad['PMalHX']={},a0_0x36ad['KecehF']=!![];}const _0x4087fe=_0x248499[0x0],_0x22742c=_0xeec237+_0x4087fe,_0x1f5779=a0_0x36ad['PMalHX'][_0x22742c];return!_0x1f5779?(_0x36ad4b=a0_0x36ad['mFLUlP'](_0x36ad4b),a0_0x36ad['PMalHX'][_0x22742c]=_0x36ad4b):_0x36ad4b=_0x1f5779,_0x36ad4b;}module['exports']={'logger':logger,'createRequestLogger':createRequestLogger,'logServerStart':logServerStart,'logServerReady':logServerReady,'logProjectLoaded':logProjectLoaded,'logEndpointRegistered':logEndpointRegistered,'logDatabaseConfig':logDatabaseConfig,'logRequest':logRequest,'logQuery':logQuery,'logTransaction':logTransaction,'startQueryTimer':startQueryTimer,'parseQueryMetadata':parseQueryMetadata,'redactSensitiveParams':redactSensitiveParams,'initFileLogging':initFileLogging,'logError':logError,'logFatalError':logFatalError,'logHttpError':logHttpError,'logUncaughtError':logUncaughtError,'setupGlobalErrorHandlers':setupGlobalErrorHandlers,'createErrorHandlerMiddleware':createErrorHandlerMiddleware,'redactObject':redactObject,'SQL_LOG_CONFIG':{'enabled':sqlLogEnabled,'level':sqlLogLevel,'logParams':sqlLogParams,'slowThreshold':sqlLogSlowThreshold},'FILE_LOG_CONFIG':{'enabled':logToFile,'directory':logDir,'serviceName':serviceName}};function a0_0x2484(){const _0x3e8ae2=['C3nU','thzur00','yxbPA2v5','mJuZodeXmwrTC1rZzG','sLDux1nfq1jfva','revmrvrf','Dw5Oyw5KBgvKuMvQzwn0Aw9U','Dg9mB3DLCKnHC2u','DhLWzq','vNPxyui','Cgf0Aa','yxbPs2v5','swrpuxu','Bwv0Ag9K','iokvKqRILzeGifbVCNqGicaGicaGidOG','AwjrCuK','DhjPBq','AgvHzgvYCW','C29Tzq','nJG0nLbXyxnzyG','u1rbuLqGvfjbtLnbq1rjt04','vw5Ot08','BxmP','B3rW','icbizwfSDgG6ia','tI9b','vvbeqvrf','y3jLzgvUDgLHBhm','q1resxa','C0XNwvO','AMzuAeq','C2vYDMvYx3jLywr5','B3jPz2LUywXvCMW','DfjXrLa','zhvYyxrPB25nCW','u0vmrunu','r2XVyMfSigvYCM9YigHHBMrSzxjZigLUAxrPywXPEMvK','BfzsAuy','y2HPBgq','zw52','CMvTB3rLqwrKCMvZCW','zgvIDwC','q2fSEve','w09lxsbtzxj2zxiGCMvHzhKGB24GCg9YDca','sw50zxjUywWGC2vYDMvYigvYCM9Y','mti4otzpAhPdqvy','BwfW','Dg9ju09tDhjPBMC','z2XVyMfSx2vYCM9Yx2HHBMrSzxjZx3nLDhvW','C3bSAxq','yLPbAgC','zgf0ywjHC2u','rxjYB3i','CgfKrw5K','vfjbtLnbq1rjt05FqKvhsu4','mZeZmJuZmNLQEezyEa','ChjPDMf0zv9RzxK','tM9Kzs5QCW','y3b0Cu4','su5trvju','CgfYyw1Z','A2v5CW','C2vYDMLJzuLUzM8','q1HqthC','Dhj1zq','ChDK','iokvKqRILzeGiefqssblzxKGicaGidOG','r3fUz2u','B2TYqK8','u2vYDMvYihn0yxj0Aw5NoIa','qunusvzf','vu5ltK9xtG','CMvZDgzVCMDL','y3z2','C3rHCNrZv2L0Aa','zgf0ywjHC2vFy29UzMLN','rermx0nsrufurq','vfjbtLnbq1rjt05FuK9mtejbq0S','C0LyANO','t0LNuMK','sNLxzNy','vu5uuem','D2fYBMLUzW','CgLU','E21Zz30','wfL3vwK','zxjYB3i','D3jPDgu','vhjHBNnHy3rPB24G','AgPNvxK','C2H5Agu','q1jjveLdquW','w1jfrefdveveoNrVA2vUxq','DgXrEK4','q09ntuLu','ndK5odq1rvrct0Ly','y3jLzgvUDgLHBa','zxjYB3iUBg9N','zMf0ywXFzxjYB3i','yKrxB2i','rNvPA0e','BMfTzq','iokvKqRILzeGienVBMzPzYaGicaGidOG','Aw5JBhvKzxm','zMf4sM4','mte5mJa2meXHAefkuW','wvb3zMy','C2jwzMG','qw12uKe','te9hx0XfvKvm','y29UzMLNrMLSzq','C3rHy2S','y3jLyxrLv3jPDgvtDhjLyw0','uerltg4','C3rKvgLTzuz1BMn0Aw9UCW','rejFueftu1DpuKq','Cg9YDa','AxnVvgLTzq','Aw5MBW','y3DK','C3rHDhvZq29Kzq','q1jfqvrf','sfruuca','DgvZDa','yMfZzvvYBa','tKrxA0m','mtq1ndq5nfHwwejoDa','rg5pyxC','oI8V','yxbWlMXVzW','ChjVAMvJDa','u0vsvKLdrv9oqu1f','AhvSweC','zMLSzv9SB2DNAw5Nx2vUywjSzwq','tenfEvG','BwvZC2fNzq','yKjHDxu','ChjPDMf0zwTLEq','EuLgv1G','q0PYwxe','C3vhAue','qvbqx1zfuLnjt04','yxbPx3nLy3jLDa','yxbPx2TLEq','y29UBMvJDgLVBG','CgfZC3DVCMq','yKXVBuy','zMf0ywW','rfjpua','qKvhsu4','Dg9Rzw4','u1fmx0Xpr19qqvjbtvm','ywnJzxnZx3rVA2vU','BgvUz3rO','vuvxq3K','DxjS','nde0mZi3nKfju1j2vG','AM9PBG','vgn0u1i','w1jfrefdvevexq','Bwf0y2G','Ag9ZDa','tK9erv9ftLy','z2v0sgvHzgvYCW','D2fYBG','u1fmx0Xpr19tte9xx1riuKvtse9mra','CgfZC3DK','uhjVy2vZCYbxyxjUAw5NoIa','zMPJufy','zfnsELq','lI9SB2DZ','yM9KEq','CxvLCNK','v01nuKW','zxHPC3rZu3LUyW','iokvKqRILzeGifbYB2PLy3qGicaGidOG','C2vYDMvYx3n0yxj0Aw5N','Dw5JyxvNAhrfEgnLChrPB24','Ec1Yzxf1zxn0lwLK','tvPIuKq','rermx0rst1a','icbjBMzVoIaGia','ms4WlJu','reiGuxvLCNK','tfrWvxa','Dw5RBM93BG','tenlswW','AxntBg93'];a0_0x2484=function(){return _0x3e8ae2;};return a0_0x2484();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x5e8c24=a0_0x23ab;(function(_0x28dcc2,_0xa4510f){const _0x724891=a0_0x23ab,_0x357dbe=_0x28dcc2();while(!![]){try{const _0x50c6c7=-parseInt(_0x724891(0x16d))/0x1*(-parseInt(_0x724891(0x171))/0x2)+parseInt(_0x724891(0x178))/0x3*(parseInt(_0x724891(0x182))/0x4)+parseInt(_0x724891(0x177))/0x5+-parseInt(_0x724891(0x18b))/0x6+-parseInt(_0x724891(0x184))/0x7+parseInt(_0x724891(0x16b))/0x8+parseInt(_0x724891(0x188))/0x9;if(_0x50c6c7===_0xa4510f)break;else _0x357dbe['push'](_0x357dbe['shift']());}catch(_0x37a689){_0x357dbe['push'](_0x357dbe['shift']());}}}(a0_0x11ec,0xbb8bc));const fs=require('fs')[a0_0x5e8c24(0x16c)],path=require(a0_0x5e8c24(0x16e)),{logger}=require(a0_0x5e8c24(0x16a));class PayloadLoader{constructor(){const _0x33d0dd=a0_0x5e8c24,_0x52c636={'auDSm':'../../payload'};this[_0x33d0dd(0x18d)]=path['join'](__dirname,_0x52c636[_0x33d0dd(0x185)]),this['cache']=new Map();}async['loadPayload'](_0x2c4228,_0x1a95be){const _0x1ef861=a0_0x5e8c24,_0x1e42b9={'VrNSb':'utf8','YoAvE':'Failed\x20to\x20load\x20payload'},_0x15f9b0=_0x2c4228+':'+_0x1a95be;if(this[_0x1ef861(0x17a)][_0x1ef861(0x17e)](_0x15f9b0))return this[_0x1ef861(0x17a)][_0x1ef861(0x16f)](_0x15f9b0);const _0x38d38d=path[_0x1ef861(0x17f)](this['payloadDir'],_0x2c4228+'_'+_0x1a95be+'.json');try{const _0x4f720b=await fs['readFile'](_0x38d38d,_0x1e42b9[_0x1ef861(0x183)]),_0x26fc45=JSON[_0x1ef861(0x18c)](_0x4f720b);return this[_0x1ef861(0x17a)][_0x1ef861(0x187)](_0x15f9b0,_0x26fc45),logger[_0x1ef861(0x168)]({'event':_0x1ef861(0x189),'project':_0x2c4228,'resource':_0x1a95be},'Payload\x20loaded\x20successfully'),_0x26fc45;}catch(_0x467fd3){logger['error']({'event':'payload_load_error','project':_0x2c4228,'resource':_0x1a95be,'error':_0x467fd3[_0x1ef861(0x186)]},_0x1e42b9[_0x1ef861(0x180)]);throw new Error(_0x1ef861(0x179)+_0x2c4228+'_'+_0x1a95be);}}async[a0_0x5e8c24(0x172)](_0x32b133){const _0x1e9f35=a0_0x5e8c24,_0xe94611={'JlSvr':_0x1e9f35(0x189),'sHVLo':_0x1e9f35(0x174)},_0x482ab7='payload:'+_0x32b133;if(this['cache'][_0x1e9f35(0x17e)](_0x482ab7))return this[_0x1e9f35(0x17a)]['get'](_0x482ab7);const _0x2d36c5=path['join'](this[_0x1e9f35(0x18d)],_0x32b133+_0x1e9f35(0x18a));try{const _0x41caa0=await fs['readFile'](_0x2d36c5,_0x1e9f35(0x169)),_0x116943=JSON['parse'](_0x41caa0);return this[_0x1e9f35(0x17a)]['set'](_0x482ab7,_0x116943),logger['debug']({'event':_0xe94611['JlSvr'],'payloadName':_0x32b133},_0x1e9f35(0x173)),_0x116943;}catch(_0xfa5b90){logger['error']({'event':'payload_load_error','payloadName':_0x32b133,'error':_0xfa5b90[_0x1e9f35(0x186)]},_0xe94611['sHVLo']);throw new Error('Payload\x20not\x20found:\x20'+_0x32b133);}}['isActionEnabled'](_0xa744b7,_0x224d14){const _0x7cb473={'UxsPh':function(_0x3c4a8a,_0x508dc7){return _0x3c4a8a===_0x508dc7;}};return _0xa744b7['action']&&_0x7cb473['UxsPh'](_0xa744b7['action'][_0x224d14],!![]);}['getExportConfig'](_0x55737a){const _0xb8ac30=a0_0x5e8c24;return{'columns':_0x55737a['fieldName']||[],'filename':_0x55737a['tableName'][_0xb8ac30(0x176)]('.','-')+'-export','datatablesQuery':_0x55737a[_0xb8ac30(0x17d)]||null,'columnFormats':_0x55737a[_0xb8ac30(0x18e)]||null,'fieldLabels':_0x55737a['fieldLabels']||null};}[a0_0x5e8c24(0x17b)](){const _0x43b713=a0_0x5e8c24;this[_0x43b713(0x17a)][_0x43b713(0x175)](),logger[_0x43b713(0x170)]({'event':_0x43b713(0x17c)},_0x43b713(0x167));}}function a0_0x23ab(_0x591936,_0x19c49f){_0x591936=_0x591936-0x167;const _0x11ecba=a0_0x11ec();let _0x23ab14=_0x11ecba[_0x591936];if(a0_0x23ab['unvAIw']===undefined){var _0x4e7700=function(_0x10852a){const _0x4d7d16='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4f852a='',_0x8f8697='';for(let _0xa2fd70=0x0,_0x3ca278,_0x23edf9,_0x5afa78=0x0;_0x23edf9=_0x10852a['charAt'](_0x5afa78++);~_0x23edf9&&(_0x3ca278=_0xa2fd70%0x4?_0x3ca278*0x40+_0x23edf9:_0x23edf9,_0xa2fd70++%0x4)?_0x4f852a+=String['fromCharCode'](0xff&_0x3ca278>>(-0x2*_0xa2fd70&0x6)):0x0){_0x23edf9=_0x4d7d16['indexOf'](_0x23edf9);}for(let _0x2a25b6=0x0,_0x3f1bf4=_0x4f852a['length'];_0x2a25b6<_0x3f1bf4;_0x2a25b6++){_0x8f8697+='%'+('00'+_0x4f852a['charCodeAt'](_0x2a25b6)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x8f8697);};a0_0x23ab['SehdYc']=_0x4e7700,a0_0x23ab['qBErxD']={},a0_0x23ab['unvAIw']=!![];}const _0x3208cf=_0x11ecba[0x0],_0x5722b4=_0x591936+_0x3208cf,_0x3ee3d0=a0_0x23ab['qBErxD'][_0x5722b4];return!_0x3ee3d0?(_0x23ab14=a0_0x23ab['SehdYc'](_0x23ab14),a0_0x23ab['qBErxD'][_0x5722b4]=_0x23ab14):_0x23ab14=_0x3ee3d0,_0x23ab14;}module[a0_0x5e8c24(0x181)]=new PayloadLoader();function a0_0x11ec(){const _0x3c8916=['C2v0','nti1ndiXogz3qwfora','Cgf5Bg9Hzf9SB2fKzwq','lMPZB24','mJKWnZi0nKjVv2XWBG','CgfYC2u','Cgf5Bg9HzerPCG','y29SDw1UrM9YBwf0CW','ugf5Bg9HzcbJywnOzsbJBgvHCMvK','zgvIDwC','DxrMoa','lI9SB2DNzxi','ndq3mdi4ohHbsLDJqW','ChjVBwLZzxm','nJq3otvIDhber2i','Cgf0Aa','z2v0','Aw5MBW','ofrjzKfJDa','Bg9HzfbHEwXVywrcEu5HBwu','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5igj5ig5HBwu','rMfPBgvKihrVigXVywqGCgf5Bg9HzcbIEsbUyw1L','y2XLyxi','CMvWBgfJzq','mJCYodyYnuvqtgDhvG','mZa0odLkt3vorKy','ugf5Bg9HzcbUB3qGzM91BMq6ia','y2fJAgu','y2XLyxjdywnOzq','Cgf5Bg9Hzf9JywnOzv9JBgvHCMvK','zgf0yxrHyMXLC1f1zxj5','AgfZ','AM9PBG','ww9bDKu','zxHWB3j0CW','mteYs3DoC01l','vNjou2i','nJG1nti5nM5LwhfvAa','yxveu20','BwvZC2fNzq'];a0_0x11ec=function(){return _0x3c8916;};return a0_0x11ec();}
|