@restforgejs/platform 4.1.0 → 4.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (160) hide show
  1. package/LICENSE.md +5 -1
  2. package/README.md +30 -14
  3. package/build-info.json +2 -2
  4. package/cli/consumer-deploy.js +1 -1
  5. package/cli/consumer.js +1 -1
  6. package/integrity-manifest.json +8 -8
  7. package/package.json +4 -4
  8. package/scripts/check-install.js +45 -45
  9. package/scripts/verify-integrity.js +1 -1
  10. package/server.js +1 -1
  11. package/src/components/handlers/adjust_handler.js +1 -1
  12. package/src/components/handlers/audit_handler.js +1 -1
  13. package/src/components/handlers/delete_handler.js +1 -1
  14. package/src/components/handlers/export_handler.js +1 -1
  15. package/src/components/handlers/import_handler.js +1 -1
  16. package/src/components/handlers/insert_handler.js +1 -1
  17. package/src/components/handlers/update_handler.js +1 -1
  18. package/src/components/handlers/upload_handler.js +1 -1
  19. package/src/components/handlers/workflow_handler.js +1 -1
  20. package/src/components/integrations/webhook.js +1 -1
  21. package/src/consumers/baseConsumer.js +1 -1
  22. package/src/consumers/declarativeMapper.js +1 -1
  23. package/src/consumers/handlers/apiHandler.js +1 -1
  24. package/src/consumers/handlers/consoleHandler.js +1 -1
  25. package/src/consumers/handlers/databaseHandler.js +1 -1
  26. package/src/consumers/handlers/index.js +1 -1
  27. package/src/consumers/handlers/kafkaHandler.js +1 -1
  28. package/src/consumers/index.js +1 -1
  29. package/src/consumers/messageTransformer.js +1 -1
  30. package/src/consumers/validator.js +1 -1
  31. package/src/core/db/dialect/base-dialect.js +1 -1
  32. package/src/core/db/dialect/index.js +1 -1
  33. package/src/core/db/dialect/mysql-dialect.js +1 -1
  34. package/src/core/db/dialect/oracle-dialect.js +1 -1
  35. package/src/core/db/dialect/postgres-dialect.js +1 -1
  36. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  37. package/src/core/db/flatten-helper.js +1 -1
  38. package/src/core/db/query-builder-error.js +1 -1
  39. package/src/core/db/query-builder.js +1 -1
  40. package/src/core/db/relation-helper.js +1 -1
  41. package/src/core/handlers/delete_handler.js +1 -1
  42. package/src/core/handlers/insert_handler.js +1 -1
  43. package/src/core/handlers/update_handler.js +1 -1
  44. package/src/core/models/base-model.js +1 -1
  45. package/src/core/utils/cache-manager.js +1 -1
  46. package/src/core/utils/component-engine.js +1 -1
  47. package/src/core/utils/context-builder.js +1 -1
  48. package/src/core/utils/datetime-formatter.js +1 -1
  49. package/src/core/utils/datetime-parser.js +1 -1
  50. package/src/core/utils/db.js +1 -1
  51. package/src/core/utils/logger.js +1 -1
  52. package/src/core/utils/payload-loader.js +1 -1
  53. package/src/core/utils/security-checks.js +1 -1
  54. package/src/middleware/body-options.js +1 -1
  55. package/src/middleware/cors.js +1 -1
  56. package/src/middleware/idempotency.js +1 -1
  57. package/src/middleware/rate-limiter.js +1 -1
  58. package/src/middleware/request-logger.js +1 -1
  59. package/src/middleware/security-headers.js +1 -1
  60. package/src/models/base-model-mysql.js +1 -1
  61. package/src/models/base-model-oracle.js +1 -1
  62. package/src/models/base-model-sqlite.js +1 -1
  63. package/src/models/base-model.js +1 -1
  64. package/src/pro/caching/redis-client.js +1 -1
  65. package/src/pro/caching/redis-helper.js +1 -1
  66. package/src/pro/consumers/baseConsumer.js +1 -1
  67. package/src/pro/consumers/declarativeMapper.js +1 -1
  68. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  69. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  70. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  71. package/src/pro/consumers/handlers/index.js +1 -1
  72. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  73. package/src/pro/consumers/index.js +1 -1
  74. package/src/pro/consumers/messageTransformer.js +1 -1
  75. package/src/pro/consumers/validator.js +1 -1
  76. package/src/pro/database/base-model-mysql.js +1 -1
  77. package/src/pro/database/base-model-oracle.js +1 -1
  78. package/src/pro/database/base-model-sqlite.js +1 -1
  79. package/src/pro/database/db-mysql.js +1 -1
  80. package/src/pro/database/db-oracle.js +1 -1
  81. package/src/pro/database/db-sqlite.js +1 -1
  82. package/src/pro/excel/excel-generator.js +1 -1
  83. package/src/pro/excel/excel-parser.js +1 -1
  84. package/src/pro/excel/export-service.js +1 -1
  85. package/src/pro/excel/export_handler.js +1 -1
  86. package/src/pro/excel/import-service.js +1 -1
  87. package/src/pro/excel/import-validator.js +1 -1
  88. package/src/pro/excel/import_handler.js +1 -1
  89. package/src/pro/excel/upsert-builder.js +1 -1
  90. package/src/pro/idgen/idgen-routes.js +1 -1
  91. package/src/pro/integrations/lookup-resolver.js +1 -1
  92. package/src/pro/integrations/upload-handler-v2.js +1 -1
  93. package/src/pro/integrations/upload-handler.js +1 -1
  94. package/src/pro/integrations/webhook.js +1 -1
  95. package/src/pro/locking/lock-routes.js +1 -1
  96. package/src/pro/locking/resource-lock-manager.js +1 -1
  97. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  98. package/src/pro/messaging/kafkaService.js +1 -1
  99. package/src/pro/messaging/messagehubService.js +1 -1
  100. package/src/pro/messaging/rabbitmqService.js +1 -1
  101. package/src/pro/scheduler/job-manager.js +1 -1
  102. package/src/pro/scheduler/job-routes.js +1 -1
  103. package/src/pro/scheduler/job-validator.js +1 -1
  104. package/src/pro/storage/base-storage-provider.js +1 -1
  105. package/src/pro/storage/file-metadata-helper.js +1 -1
  106. package/src/pro/storage/index.js +1 -1
  107. package/src/pro/storage/local-storage-provider.js +1 -1
  108. package/src/pro/storage/s3-storage-provider.js +1 -1
  109. package/src/pro/storage/upload-cleanup-job.js +1 -1
  110. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  111. package/src/pro/storage/upload-pending-tracker.js +1 -1
  112. package/src/pro/websocket/broadcast-helper.js +1 -1
  113. package/src/pro/websocket/index.js +1 -1
  114. package/src/pro/websocket/livesync-server.js +1 -1
  115. package/src/pro/websocket/ws-broadcaster.js +1 -1
  116. package/src/services/export-service.js +1 -1
  117. package/src/services/import-service.js +1 -1
  118. package/src/services/kafkaConsumerService.js +1 -1
  119. package/src/services/kafkaService.js +1 -1
  120. package/src/services/messagehubService.js +1 -1
  121. package/src/services/rabbitmqService.js +1 -1
  122. package/src/utils/cache-invalidation-registry.js +1 -1
  123. package/src/utils/cache-manager.js +1 -1
  124. package/src/utils/component-engine.js +1 -1
  125. package/src/utils/config-extractor.js +1 -1
  126. package/src/utils/consumerLogger.js +1 -1
  127. package/src/utils/context-builder.js +1 -1
  128. package/src/utils/dashboard-helpers.js +1 -1
  129. package/src/utils/dateHelper.js +1 -1
  130. package/src/utils/datetime-formatter.js +1 -1
  131. package/src/utils/datetime-parser.js +1 -1
  132. package/src/utils/db-bootstrap.js +1 -1
  133. package/src/utils/db-mysql.js +1 -1
  134. package/src/utils/db-oracle.js +1 -1
  135. package/src/utils/db-sqlite.js +1 -1
  136. package/src/utils/db.js +1 -1
  137. package/src/utils/demo-generator.js +1 -1
  138. package/src/utils/excel-generator.js +1 -1
  139. package/src/utils/excel-parser.js +1 -1
  140. package/src/utils/file-watcher.js +1 -1
  141. package/src/utils/id-generator.js +1 -1
  142. package/src/utils/idempotency-manager.js +1 -1
  143. package/src/utils/import-validator.js +1 -1
  144. package/src/utils/license-client.js +1 -1
  145. package/src/utils/lock-manager.js +1 -1
  146. package/src/utils/logger.js +1 -1
  147. package/src/utils/lookup-resolver.js +1 -1
  148. package/src/utils/payload-loader.js +1 -1
  149. package/src/utils/processor-response.js +1 -1
  150. package/src/utils/rabbitmq.js +1 -1
  151. package/src/utils/redis-client.js +1 -1
  152. package/src/utils/redis-helper.js +1 -1
  153. package/src/utils/request-scope.js +1 -1
  154. package/src/utils/security-checks.js +1 -1
  155. package/src/utils/service-resolver.js +1 -1
  156. package/src/utils/shutdown-coordinator.js +1 -1
  157. package/src/utils/trusted-keys.js +1 -1
  158. package/src/utils/upload-handler.js +1 -1
  159. package/src/utils/upsert-builder.js +1 -1
  160. package/src/utils/workflow-hook-executor.js +1 -1
@@ -1 +1 @@
1
- const a0_0x52bbcc=a0_0xb864;function a0_0x301d(){const _0x1edb2b=['BwvZC2fNzq','mZe0nJy5vxjIzujI','zM9YBwf0vgLTzxn0yw1W','CLrdD0e','sw52ywXPzcbKyxrLihzHBhvLoIa','CgfKu3rHCNq','z2v0tw9UDgG','DgLTzq','mJi5nJy2nvnTzhrHDW','zxjYB3i','BgvUz3rO','z2v0rNvSBfLLyxi','z2v0vgLTzq','z2v0rgf0zq','vursr04','sw52ywXPzcb0Aw1LC3rHBxaGDMfSDwu6ia','D2fYBG','nZuXntjVyxnQsNC','zNDjrxu','zM9YBwf0vgLTzq','qxzOuMy','mJHYy2nLvKG','nde0nJnHwK9pqKy','vvPOtwS','mJC2mdfwtxDTAwm','C3bSAxq','mJe3mLbRALbIBW','mJq2nujYCNvLvq','ntm2rvjNuejk','z2v0u2vJB25KCW','z2v0sg91CNm','nZeYodm3mgfMtuvhAq'];a0_0x301d=function(){return _0x1edb2b;};return a0_0x301d();}(function(_0x3f06a2,_0x3bac5e){const _0xd2476b=a0_0xb864,_0x30a4d=_0x3f06a2();while(!![]){try{const _0x3ecd07=-parseInt(_0xd2476b(0x138))/0x1+parseInt(_0xd2476b(0x128))/0x2+-parseInt(_0xd2476b(0x12d))/0x3*(parseInt(_0xd2476b(0x12c))/0x4)+-parseInt(_0xd2476b(0x132))/0x5*(parseInt(_0xd2476b(0x131))/0x6)+parseInt(_0xd2476b(0x12f))/0x7*(parseInt(_0xd2476b(0x133))/0x8)+-parseInt(_0xd2476b(0x11f))/0x9+parseInt(_0xd2476b(0x136))/0xa;if(_0x3ecd07===_0x3bac5e)break;else _0x30a4d['push'](_0x30a4d['shift']());}catch(_0xdc18fb){_0x30a4d['push'](_0x30a4d['shift']());}}}(a0_0x301d,0x29637));class DateTimeFormatter{static['format'](_0x5ef2a3,_0x47b510,_0x1f4771){const _0x3ed1a0=a0_0xb864,_0x53a402={'QilGa':function(_0x354635,_0x1072fc){return _0x354635===_0x1072fc;},'UZhMk':'date'};if(!_0x5ef2a3)return null;try{if(_0x53a402['QilGa'](_0x1f4771,_0x53a402[_0x3ed1a0(0x12e)]))return this['formatDate'](_0x5ef2a3,_0x47b510);else{if(_0x1f4771==='timestamp')return this['formatTimestamp'](_0x5ef2a3,_0x47b510);else{if(_0x1f4771===_0x3ed1a0(0x11e))return this[_0x3ed1a0(0x12a)](_0x5ef2a3,_0x47b510);}}return _0x5ef2a3;}catch(_0x1c2393){return console[_0x3ed1a0(0x120)]('Error\x20formatting\x20datetime:\x20'+_0x1c2393[_0x3ed1a0(0x137)]),_0x5ef2a3;}}static['formatDate'](_0x3cc9c2,_0x26ce61){const _0x38605d=a0_0xb864,_0x60b735={'fwIEu':function(_0x122f07,_0x4b157a){return _0x122f07(_0x4b157a);}},_0x24cb16=new Date(_0x3cc9c2);if(isNaN(_0x24cb16[_0x38605d(0x123)]()))return console[_0x38605d(0x127)](_0x38605d(0x13b)+_0x3cc9c2),_0x3cc9c2;const _0x171c76=String(_0x24cb16[_0x38605d(0x124)]())[_0x38605d(0x13c)](0x2,'0'),_0x35169a=_0x60b735[_0x38605d(0x129)](String,_0x24cb16['getMonth']()+0x1)[_0x38605d(0x13c)](0x2,'0'),_0x566940=_0x24cb16[_0x38605d(0x122)](),_0x1f4383={'dd/MM/yyyy':_0x171c76+'/'+_0x35169a+'/'+_0x566940,'dd-MM-yyyy':_0x171c76+'-'+_0x35169a+'-'+_0x566940,'MM/dd/yyyy':_0x35169a+'/'+_0x171c76+'/'+_0x566940,'yyyy/MM/dd':_0x566940+'/'+_0x35169a+'/'+_0x171c76,'yyyy-MM-dd':_0x566940+'-'+_0x35169a+'-'+_0x171c76};return _0x1f4383[_0x26ce61]||_0x566940+'-'+_0x35169a+'-'+_0x171c76;}static[a0_0x52bbcc(0x139)](_0x4a030e,_0x37a6e7){const _0x1392c3=a0_0x52bbcc,_0x56cfaf={'cSPkd':function(_0x2b821b,_0x50a85c){return _0x2b821b(_0x50a85c);},'rTCwA':function(_0xd61846,_0x30bdb9){return _0xd61846+_0x30bdb9;},'AvhRf':function(_0x3fc6ac,_0x830a04){return _0x3fc6ac(_0x830a04);},'UDRGN':function(_0x56375d,_0x43a68d){return _0x56375d!==_0x43a68d;}},_0x4547d3=new Date(_0x4a030e);if(isNaN(_0x4547d3['getTime']()))return console['warn'](_0x1392c3(0x126)+_0x4a030e),_0x4a030e;const _0x39c2a2=String(_0x4547d3['getDate']())[_0x1392c3(0x13c)](0x2,'0'),_0x5b2db2=_0x56cfaf['cSPkd'](String,_0x56cfaf[_0x1392c3(0x13a)](_0x4547d3[_0x1392c3(0x13d)](),0x1))['padStart'](0x2,'0'),_0x3e99c2=_0x4547d3[_0x1392c3(0x122)](),_0x520eab=_0x56cfaf[_0x1392c3(0x12b)](String,_0x4547d3[_0x1392c3(0x135)]())['padStart'](0x2,'0'),_0x52b9e9=String(_0x4547d3['getMinutes']())[_0x1392c3(0x13c)](0x2,'0'),_0x3cd698=String(_0x4547d3[_0x1392c3(0x134)]())['padStart'](0x2,'0'),_0x55e62d=_0x37a6e7['split']('\x20');if(_0x56cfaf[_0x1392c3(0x125)](_0x55e62d[_0x1392c3(0x121)],0x2))return _0x3e99c2+'-'+_0x5b2db2+'-'+_0x39c2a2+'\x20'+_0x520eab+':'+_0x52b9e9+':'+_0x3cd698;const _0x46a417=_0x55e62d[0x0],_0x10ab6e=_0x55e62d[0x1],_0x44282d={'dd/MM/yyyy':_0x39c2a2+'/'+_0x5b2db2+'/'+_0x3e99c2,'dd-MM-yyyy':_0x39c2a2+'-'+_0x5b2db2+'-'+_0x3e99c2,'MM/dd/yyyy':_0x5b2db2+'/'+_0x39c2a2+'/'+_0x3e99c2,'yyyy/MM/dd':_0x3e99c2+'/'+_0x5b2db2+'/'+_0x39c2a2,'yyyy-MM-dd':_0x3e99c2+'-'+_0x5b2db2+'-'+_0x39c2a2},_0x152240={'HH:mm':_0x520eab+':'+_0x52b9e9,'HH:mm:ss':_0x520eab+':'+_0x52b9e9+':'+_0x3cd698,'hh:mm':_0x520eab+':'+_0x52b9e9},_0x4ab4ad=_0x44282d[_0x46a417]||_0x3e99c2+'-'+_0x5b2db2+'-'+_0x39c2a2,_0x3559c4=_0x152240[_0x10ab6e]||_0x520eab+':'+_0x52b9e9+':'+_0x3cd698;return _0x4ab4ad+'\x20'+_0x3559c4;}static['formatTime'](_0x22a83e,_0x1635b1){const _0x167436=a0_0x52bbcc,_0x169640={'xuhLu':function(_0x41e835,_0x5a789d){return _0x41e835<_0x5a789d;}};if(typeof _0x22a83e!=='string')return _0x22a83e;const _0x59367b=_0x22a83e[_0x167436(0x130)](':');if(_0x169640['xuhLu'](_0x59367b['length'],0x2))return console['warn']('Invalid\x20time\x20value:\x20'+_0x22a83e),_0x22a83e;const _0xb88975=_0x59367b[0x0][_0x167436(0x13c)](0x2,'0'),_0x51307b=_0x59367b[0x1][_0x167436(0x13c)](0x2,'0'),_0xcd870e=_0x59367b[0x2]?_0x59367b[0x2][_0x167436(0x130)]('.')[0x0][_0x167436(0x13c)](0x2,'0'):'00',_0x4db28e={'HH:mm':_0xb88975+':'+_0x51307b,'HH:mm:ss':_0xb88975+':'+_0x51307b+':'+_0xcd870e,'hh:mm':_0xb88975+':'+_0x51307b};return _0x4db28e[_0x1635b1]||_0xb88975+':'+_0x51307b+':'+_0xcd870e;}}function a0_0xb864(_0x895e81,_0xbbc8a){_0x895e81=_0x895e81-0x11e;const _0x301d93=a0_0x301d();let _0xb864d1=_0x301d93[_0x895e81];if(a0_0xb864['HDmEZw']===undefined){var _0x3718ad=function(_0x10e6e9){const _0x2a39a5='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4770f5='',_0x1f6524='';for(let _0x13af9b=0x0,_0x175caa,_0x5554de,_0x600c56=0x0;_0x5554de=_0x10e6e9['charAt'](_0x600c56++);~_0x5554de&&(_0x175caa=_0x13af9b%0x4?_0x175caa*0x40+_0x5554de:_0x5554de,_0x13af9b++%0x4)?_0x4770f5+=String['fromCharCode'](0xff&_0x175caa>>(-0x2*_0x13af9b&0x6)):0x0){_0x5554de=_0x2a39a5['indexOf'](_0x5554de);}for(let _0x42193f=0x0,_0x33e618=_0x4770f5['length'];_0x42193f<_0x33e618;_0x42193f++){_0x1f6524+='%'+('00'+_0x4770f5['charCodeAt'](_0x42193f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1f6524);};a0_0xb864['vzvKwt']=_0x3718ad,a0_0xb864['OqVZgw']={},a0_0xb864['HDmEZw']=!![];}const _0x474b1f=_0x301d93[0x0],_0x296077=_0x895e81+_0x474b1f,_0x310e9b=a0_0xb864['OqVZgw'][_0x296077];return!_0x310e9b?(_0xb864d1=a0_0xb864['vzvKwt'](_0xb864d1),a0_0xb864['OqVZgw'][_0x296077]=_0xb864d1):_0xb864d1=_0x310e9b,_0xb864d1;}module['exports']=DateTimeFormatter;
1
+ const a0_0xf05623=a0_0x4a44;function a0_0x4a44(_0xc0823d,_0x1cd95f){_0xc0823d=_0xc0823d-0xe7;const _0x1b68ea=a0_0x1b68();let _0x4a4490=_0x1b68ea[_0xc0823d];if(a0_0x4a44['SqlFpB']===undefined){var _0x43e76e=function(_0xcbf24f){const _0x3790c4='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x232118='',_0x41786c='';for(let _0x5c7f7a=0x0,_0x4cb669,_0x283058,_0x3d8ac9=0x0;_0x283058=_0xcbf24f['charAt'](_0x3d8ac9++);~_0x283058&&(_0x4cb669=_0x5c7f7a%0x4?_0x4cb669*0x40+_0x283058:_0x283058,_0x5c7f7a++%0x4)?_0x232118+=String['fromCharCode'](0xff&_0x4cb669>>(-0x2*_0x5c7f7a&0x6)):0x0){_0x283058=_0x3790c4['indexOf'](_0x283058);}for(let _0x3d9433=0x0,_0xa5015d=_0x232118['length'];_0x3d9433<_0xa5015d;_0x3d9433++){_0x41786c+='%'+('00'+_0x232118['charCodeAt'](_0x3d9433)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x41786c);};a0_0x4a44['lHjZNh']=_0x43e76e,a0_0x4a44['wYqglK']={},a0_0x4a44['SqlFpB']=!![];}const _0x394d0a=_0x1b68ea[0x0],_0x422c9a=_0xc0823d+_0x394d0a,_0x26236a=a0_0x4a44['wYqglK'][_0x422c9a];return!_0x26236a?(_0x4a4490=a0_0x4a44['lHjZNh'](_0x4a4490),a0_0x4a44['wYqglK'][_0x422c9a]=_0x4a4490):_0x4a4490=_0x26236a,_0x4a4490;}(function(_0x421abc,_0x3dccdd){const _0x55681c=a0_0x4a44,_0x527c1f=_0x421abc();while(!![]){try{const _0x32886a=-parseInt(_0x55681c(0xea))/0x1*(parseInt(_0x55681c(0xf5))/0x2)+parseInt(_0x55681c(0xf6))/0x3+parseInt(_0x55681c(0xfa))/0x4*(-parseInt(_0x55681c(0xe8))/0x5)+parseInt(_0x55681c(0xfd))/0x6+parseInt(_0x55681c(0x102))/0x7*(-parseInt(_0x55681c(0x103))/0x8)+-parseInt(_0x55681c(0xff))/0x9+parseInt(_0x55681c(0xef))/0xa*(parseInt(_0x55681c(0xfe))/0xb);if(_0x32886a===_0x3dccdd)break;else _0x527c1f['push'](_0x527c1f['shift']());}catch(_0x423554){_0x527c1f['push'](_0x527c1f['shift']());}}}(a0_0x1b68,0x3dccb));function a0_0x1b68(){const _0x3e1904=['mJi0nJaWogLvzfbtwG','z2v0u2vJB25KCW','sM9fBhy','C3rYAw5N','ndbOz0Pwsfm','sw52ywXPzcb0Aw1LihzHBhvLoIa','nZzVB0nirwe','zgf0zq','CgfKu3rHCNq','sw52ywXPzcb0Aw1LC3rHBxaGDMfSDwu6ia','D2fYBG','ntC5mdG3mhzVvhrzBW','zM9YBwf0vgLTzxn0yw1W','z2v0rNvSBfLLyxi','sxDNtwi','z2v0twLUDxrLCW','uejuv0e','ndCZmK9ZyK9Rwa','nJeYndm4tgTVEKn0','z2v0tw9UDgG','rxjYB3iGzM9YBwf0DgLUzYbKyxrLDgLTztOG','C3bSAxq','mtG5odm2EwDRBwPb','zM9YBwf0vgLTzq','wwLrruO','mtCXmZCYt1HtvNz6','mJjHCMzKse4','mJy3nZyWofLZz0rAvq','DgLTzq','BgvUz3rO','n2XUtunyzG'];a0_0x1b68=function(){return _0x3e1904;};return a0_0x1b68();}class DateTimeFormatter{static['format'](_0x2a787d,_0x42c0e6,_0x2348c2){const _0xbbfb1=a0_0x4a44,_0x142388={'YiQEJ':function(_0x5ecf16,_0x15609c){return _0x5ecf16===_0x15609c;}};if(!_0x2a787d)return null;try{if(_0x142388[_0xbbfb1(0xfc)](_0x2348c2,_0xbbfb1(0xeb)))return this['formatDate'](_0x2a787d,_0x42c0e6);else{if(_0x2348c2==='timestamp')return this[_0xbbfb1(0xf0)](_0x2a787d,_0x42c0e6);else{if(_0x2348c2===_0xbbfb1(0x100))return this[_0xbbfb1(0xfb)](_0x2a787d,_0x42c0e6);}}return _0x2a787d;}catch(_0x3d0be6){return console['error'](_0xbbfb1(0xf8)+_0x3d0be6['message']),_0x2a787d;}}static['formatDate'](_0x2a37a6,_0x19cdbd){const _0x293917=a0_0x4a44,_0xb708e9={'JoElv':function(_0x142d14,_0x4132e8){return _0x142d14+_0x4132e8;}},_0x58d2cb=new Date(_0x2a37a6);if(isNaN(_0x58d2cb['getTime']()))return console['warn']('Invalid\x20date\x20value:\x20'+_0x2a37a6),_0x2a37a6;const _0x30b10c=String(_0x58d2cb['getDate']())['padStart'](0x2,'0'),_0x2ba281=String(_0xb708e9[_0x293917(0x105)](_0x58d2cb['getMonth'](),0x1))['padStart'](0x2,'0'),_0x5831f8=_0x58d2cb[_0x293917(0xf1)](),_0x558fe4={'dd/MM/yyyy':_0x30b10c+'/'+_0x2ba281+'/'+_0x5831f8,'dd-MM-yyyy':_0x30b10c+'-'+_0x2ba281+'-'+_0x5831f8,'MM/dd/yyyy':_0x2ba281+'/'+_0x30b10c+'/'+_0x5831f8,'yyyy/MM/dd':_0x5831f8+'/'+_0x2ba281+'/'+_0x30b10c,'yyyy-MM-dd':_0x5831f8+'-'+_0x2ba281+'-'+_0x30b10c};return _0x558fe4[_0x19cdbd]||_0x5831f8+'-'+_0x2ba281+'-'+_0x30b10c;}static['formatTimestamp'](_0x5f1aed,_0x4e745d){const _0x5b4b26=a0_0x4a44,_0xa9330f={'IwgMb':function(_0xd3b8fb,_0x377404){return _0xd3b8fb(_0x377404);},'PBTWA':function(_0x20ce64,_0x134d0e){return _0x20ce64+_0x134d0e;}},_0x374fe3=new Date(_0x5f1aed);if(isNaN(_0x374fe3['getTime']()))return console[_0x5b4b26(0xee)](_0x5b4b26(0xed)+_0x5f1aed),_0x5f1aed;const _0x1fdb55=String(_0x374fe3['getDate']())['padStart'](0x2,'0'),_0x158257=_0xa9330f[_0x5b4b26(0xf2)](String,_0xa9330f[_0x5b4b26(0xf4)](_0x374fe3[_0x5b4b26(0xf7)](),0x1))[_0x5b4b26(0xec)](0x2,'0'),_0x4fd72c=_0x374fe3['getFullYear'](),_0x160464=_0xa9330f[_0x5b4b26(0xf2)](String,_0x374fe3['getHours']())['padStart'](0x2,'0'),_0x21980a=String(_0x374fe3[_0x5b4b26(0xf3)]())[_0x5b4b26(0xec)](0x2,'0'),_0x5d3529=_0xa9330f['IwgMb'](String,_0x374fe3[_0x5b4b26(0x104)]())[_0x5b4b26(0xec)](0x2,'0'),_0x403ebf=_0x4e745d['split']('\x20');if(_0x403ebf[_0x5b4b26(0x101)]!==0x2)return _0x4fd72c+'-'+_0x158257+'-'+_0x1fdb55+'\x20'+_0x160464+':'+_0x21980a+':'+_0x5d3529;const _0x1396ee=_0x403ebf[0x0],_0x727856=_0x403ebf[0x1],_0x3824a0={'dd/MM/yyyy':_0x1fdb55+'/'+_0x158257+'/'+_0x4fd72c,'dd-MM-yyyy':_0x1fdb55+'-'+_0x158257+'-'+_0x4fd72c,'MM/dd/yyyy':_0x158257+'/'+_0x1fdb55+'/'+_0x4fd72c,'yyyy/MM/dd':_0x4fd72c+'/'+_0x158257+'/'+_0x1fdb55,'yyyy-MM-dd':_0x4fd72c+'-'+_0x158257+'-'+_0x1fdb55},_0x43fb8f={'HH:mm':_0x160464+':'+_0x21980a,'HH:mm:ss':_0x160464+':'+_0x21980a+':'+_0x5d3529,'hh:mm':_0x160464+':'+_0x21980a},_0x2159c4=_0x3824a0[_0x1396ee]||_0x4fd72c+'-'+_0x158257+'-'+_0x1fdb55,_0x460b12=_0x43fb8f[_0x727856]||_0x160464+':'+_0x21980a+':'+_0x5d3529;return _0x2159c4+'\x20'+_0x460b12;}static[a0_0xf05623(0xfb)](_0x217964,_0x4e352c){const _0x52833e=a0_0xf05623;if(typeof _0x217964!==_0x52833e(0xe7))return _0x217964;const _0x5615c0=_0x217964['split'](':');if(_0x5615c0['length']<0x2)return console['warn'](_0x52833e(0xe9)+_0x217964),_0x217964;const _0x928402=_0x5615c0[0x0]['padStart'](0x2,'0'),_0x43990d=_0x5615c0[0x1]['padStart'](0x2,'0'),_0x14dd25=_0x5615c0[0x2]?_0x5615c0[0x2][_0x52833e(0xf9)]('.')[0x0][_0x52833e(0xec)](0x2,'0'):'00',_0x4fb3fc={'HH:mm':_0x928402+':'+_0x43990d,'HH:mm:ss':_0x928402+':'+_0x43990d+':'+_0x14dd25,'hh:mm':_0x928402+':'+_0x43990d};return _0x4fb3fc[_0x4e352c]||_0x928402+':'+_0x43990d+':'+_0x14dd25;}}module['exports']=DateTimeFormatter;
@@ -1 +1 @@
1
- const a0_0x37db80=a0_0x5c9b;(function(_0x47872a,_0x3a693f){const _0x2e3f10=a0_0x5c9b,_0xa903d2=_0x47872a();while(!![]){try{const _0x3ced80=-parseInt(_0x2e3f10(0x17e))/0x1*(-parseInt(_0x2e3f10(0x185))/0x2)+parseInt(_0x2e3f10(0x176))/0x3+parseInt(_0x2e3f10(0x16e))/0x4*(parseInt(_0x2e3f10(0x169))/0x5)+parseInt(_0x2e3f10(0x168))/0x6+parseInt(_0x2e3f10(0x17b))/0x7+parseInt(_0x2e3f10(0x16c))/0x8*(parseInt(_0x2e3f10(0x182))/0x9)+-parseInt(_0x2e3f10(0x17c))/0xa*(parseInt(_0x2e3f10(0x172))/0xb);if(_0x3ced80===_0x3a693f)break;else _0xa903d2['push'](_0xa903d2['shift']());}catch(_0x17d2d9){_0xa903d2['push'](_0xa903d2['shift']());}}}(a0_0x359f,0x36538));class DateTimeParser{static['parse'](_0x10cfc6,_0x4641e7,_0x48b6d9){const _0x181139=a0_0x5c9b,_0x5992a3={'Werqx':function(_0x26c8c2,_0x166cab){return _0x26c8c2===_0x166cab;}};if(!_0x10cfc6||_0x10cfc6==='')return null;try{if(_0x5992a3['Werqx'](_0x48b6d9,_0x181139(0x181)))return this['parseDate'](_0x10cfc6,_0x4641e7);else{if(_0x48b6d9==='timestamp')return this[_0x181139(0x174)](_0x10cfc6,_0x4641e7);else{if(_0x48b6d9==='time')return this[_0x181139(0x17f)](_0x10cfc6,_0x4641e7);}}return _0x10cfc6;}catch(_0xc97cdc){return console['error'](_0x181139(0x171)+_0xc97cdc[_0x181139(0x163)]),null;}}static[a0_0x37db80(0x17d)](_0x2a5e39,_0x2bffee){const _0x5b53b6=a0_0x37db80,_0x55e4db={'qTqVS':_0x5b53b6(0x16b),'lojvv':'month','eDoEu':_0x5b53b6(0x173),'lIHle':_0x5b53b6(0x16f)};if(!_0x2bffee||_0x2bffee===_0x55e4db['qTqVS'])return _0x2a5e39;const _0x230c15={'dd/MM/yyyy':{'pattern':/^(\d{2})\/(\d{2})\/(\d{4})$/,'order':[_0x5b53b6(0x16f),_0x55e4db[_0x5b53b6(0x177)],_0x55e4db[_0x5b53b6(0x16a)]]},'dd-MM-yyyy':{'pattern':/^(\d{2})-(\d{2})-(\d{4})$/,'order':['day',_0x55e4db[_0x5b53b6(0x177)],'year']},'MM/dd/yyyy':{'pattern':/^(\d{2})\/(\d{2})\/(\d{4})$/,'order':['month',_0x55e4db['lIHle'],_0x5b53b6(0x173)]},'yyyy/MM/dd':{'pattern':/^(\d{4})\/(\d{2})\/(\d{2})$/,'order':['year',_0x5b53b6(0x178),_0x5b53b6(0x16f)]}},_0x21ed8f=_0x230c15[_0x2bffee];if(!_0x21ed8f)return console['warn'](_0x5b53b6(0x186)+_0x2bffee+',\x20returning\x20null'),null;const _0xc36c31=_0x2a5e39[_0x5b53b6(0x183)](_0x21ed8f[_0x5b53b6(0x167)]);if(!_0xc36c31)return console[_0x5b53b6(0x170)]('Date\x20value\x20\x22'+_0x2a5e39+_0x5b53b6(0x179)+_0x2bffee+'\x22'),null;const _0x2bee2={'day':null,'month':null,'year':null};return _0x21ed8f[_0x5b53b6(0x17a)]['forEach']((_0x282d3a,_0x2ce609)=>{_0x2bee2[_0x282d3a]=_0xc36c31[_0x2ce609+0x1];}),_0x2bee2[_0x5b53b6(0x173)]+'-'+_0x2bee2[_0x5b53b6(0x178)]+'-'+_0x2bee2['day'];}static['parseTimestamp'](_0x5f6e6d,_0x5c4a4e){const _0x524c94=a0_0x37db80,_0x1088c2={'oROsE':function(_0x249b7d,_0x1eec28){return _0x249b7d===_0x1eec28;},'qqhcO':function(_0x1f2ea1,_0x4fe43e){return _0x1f2ea1===_0x4fe43e;}};if(!_0x5c4a4e||_0x1088c2['oROsE'](_0x5c4a4e,'yyyy-MM-dd\x20HH:mm:ss'))return _0x5f6e6d;const _0x25a3cf=_0x5f6e6d[_0x524c94(0x184)]('\x20');if(_0x25a3cf[_0x524c94(0x16d)]!==0x2)return console[_0x524c94(0x170)]('Invalid\x20timestamp\x20format:\x20'+_0x5f6e6d),null;const [_0xff1866,_0x7c1e36]=_0x25a3cf,_0x26ce71=_0x5c4a4e[_0x524c94(0x184)]('\x20')[0x0],_0x48420f=this['parseDate'](_0xff1866,_0x26ce71);if(!_0x48420f)return null;const _0x1a4b11=_0x1088c2[_0x524c94(0x165)](_0x7c1e36[_0x524c94(0x184)](':')[_0x524c94(0x16d)],0x2)?_0x7c1e36+_0x524c94(0x166):_0x7c1e36;return _0x48420f+'\x20'+_0x1a4b11;}static['parseTime'](_0x37acfd,_0x3eeb9d){const _0x68cdae=a0_0x37db80,_0x58dd52={'PdQFz':'HH:mm:ss','eluTX':function(_0x9ebae,_0x1809da){return _0x9ebae===_0x1809da;}};if(!_0x3eeb9d||_0x3eeb9d===_0x58dd52[_0x68cdae(0x175)])return _0x37acfd;if(_0x58dd52[_0x68cdae(0x164)](_0x3eeb9d,_0x68cdae(0x180))){if(_0x37acfd['match'](/^\d{2}:\d{2}$/))return _0x37acfd+':00';}return _0x37acfd;}}function a0_0x5c9b(_0x117ad9,_0x49613c){_0x117ad9=_0x117ad9-0x163;const _0x359f28=a0_0x359f();let _0x5c9b91=_0x359f28[_0x117ad9];if(a0_0x5c9b['znZJUx']===undefined){var _0x571130=function(_0x1a9c31){const _0x4e2c8b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x56013f='',_0x509811='';for(let _0x305e2c=0x0,_0x48320,_0x22e6f2,_0xeb33b0=0x0;_0x22e6f2=_0x1a9c31['charAt'](_0xeb33b0++);~_0x22e6f2&&(_0x48320=_0x305e2c%0x4?_0x48320*0x40+_0x22e6f2:_0x22e6f2,_0x305e2c++%0x4)?_0x56013f+=String['fromCharCode'](0xff&_0x48320>>(-0x2*_0x305e2c&0x6)):0x0){_0x22e6f2=_0x4e2c8b['indexOf'](_0x22e6f2);}for(let _0x4d3ef6=0x0,_0x37ea26=_0x56013f['length'];_0x4d3ef6<_0x37ea26;_0x4d3ef6++){_0x509811+='%'+('00'+_0x56013f['charCodeAt'](_0x4d3ef6)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x509811);};a0_0x5c9b['cSqMdt']=_0x571130,a0_0x5c9b['VVZHZQ']={},a0_0x5c9b['znZJUx']=!![];}const _0x32c691=_0x359f28[0x0],_0x1b6fa8=_0x117ad9+_0x32c691,_0x373188=a0_0x5c9b['VVZHZQ'][_0x1b6fa8];return!_0x373188?(_0x5c9b91=a0_0x5c9b['cSqMdt'](_0x5c9b91),a0_0x5c9b['VVZHZQ'][_0x1b6fa8]=_0x5c9b91):_0x5c9b91=_0x373188,_0x5c9b91;}module['exports']=DateTimeParser;function a0_0x359f(){const _0x510151=['Cgf0DgvYBG','mtK3mtmZmhPKu2HsyG','nwzMC2DAvW','zurVrxu','ExL5Es1nts1Kza','mte0nhzABLb2rq','BgvUz3rO','mtq5ntzOrNDOsgm','zgf5','D2fYBG','rxjYB3iGCgfYC2LUzYbKyxrLDgLTztOG','mtfZsKHjzKm','EwvHCG','CgfYC2vuAw1LC3rHBxa','ugrrrNO','nZi2nJCYrMjNsfzW','Bg9QDNy','Bw9UDgG','iIbKB2vZBID0ig1HDgnOigzVCM1HDcaI','B3jKzxi','mtGYnZu4ohDnCNPdwq','mte2mtm3mJbnBxvrCxK','CgfYC2veyxrL','mZzHDxHUCeO','CgfYC2vuAw1L','seG6Bw0','zgf0zq','mtmXotrOs2vUsNO','Bwf0y2G','C3bSAxq','mtG4mtrJAKPXvwO','vw5RBM93BIbKyxrLigzVCM1HDdOG','BwvZC2fNzq','zwX1vfG','CxfOy08','oJaW'];a0_0x359f=function(){return _0x510151;};return a0_0x359f();}
1
+ const a0_0x1fd0c0=a0_0x2ec4;function a0_0x2ec4(_0x2be512,_0x247a84){_0x2be512=_0x2be512-0xf8;const _0x2d7841=a0_0x2d78();let _0x2ec428=_0x2d7841[_0x2be512];if(a0_0x2ec4['IPPXyt']===undefined){var _0x20e305=function(_0x477edb){const _0x4aa2e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x169962='',_0x431b83='';for(let _0x1458b8=0x0,_0x227f10,_0x1df756,_0x1c2c40=0x0;_0x1df756=_0x477edb['charAt'](_0x1c2c40++);~_0x1df756&&(_0x227f10=_0x1458b8%0x4?_0x227f10*0x40+_0x1df756:_0x1df756,_0x1458b8++%0x4)?_0x169962+=String['fromCharCode'](0xff&_0x227f10>>(-0x2*_0x1458b8&0x6)):0x0){_0x1df756=_0x4aa2e['indexOf'](_0x1df756);}for(let _0x2a8d00=0x0,_0x702ce3=_0x169962['length'];_0x2a8d00<_0x702ce3;_0x2a8d00++){_0x431b83+='%'+('00'+_0x169962['charCodeAt'](_0x2a8d00)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x431b83);};a0_0x2ec4['ujkARx']=_0x20e305,a0_0x2ec4['cQkmws']={},a0_0x2ec4['IPPXyt']=!![];}const _0x418929=_0x2d7841[0x0],_0x125b30=_0x2be512+_0x418929,_0x512085=a0_0x2ec4['cQkmws'][_0x125b30];return!_0x512085?(_0x2ec428=a0_0x2ec4['ujkARx'](_0x2ec428),a0_0x2ec4['cQkmws'][_0x125b30]=_0x2ec428):_0x2ec428=_0x512085,_0x2ec428;}(function(_0x29bce6,_0x13d9a9){const _0x9b2bb0=a0_0x2ec4,_0x32fde1=_0x29bce6();while(!![]){try{const _0x2e2159=-parseInt(_0x9b2bb0(0x111))/0x1*(-parseInt(_0x9b2bb0(0x10d))/0x2)+parseInt(_0x9b2bb0(0xfb))/0x3*(-parseInt(_0x9b2bb0(0x101))/0x4)+parseInt(_0x9b2bb0(0x119))/0x5*(-parseInt(_0x9b2bb0(0xfd))/0x6)+-parseInt(_0x9b2bb0(0x118))/0x7*(parseInt(_0x9b2bb0(0x10c))/0x8)+-parseInt(_0x9b2bb0(0x107))/0x9+-parseInt(_0x9b2bb0(0x10f))/0xa*(-parseInt(_0x9b2bb0(0xfc))/0xb)+-parseInt(_0x9b2bb0(0x10a))/0xc*(-parseInt(_0x9b2bb0(0x105))/0xd);if(_0x2e2159===_0x13d9a9)break;else _0x32fde1['push'](_0x32fde1['shift']());}catch(_0x2f2bdc){_0x32fde1['push'](_0x32fde1['shift']());}}}(a0_0x2d78,0x9b1c0));class DateTimeParser{static['parse'](_0x382ef6,_0x329ee0,_0x46a34c){const _0x4831da=a0_0x2ec4,_0x4376a7={'jcLzs':function(_0xc0a5fb,_0x417552){return _0xc0a5fb===_0x417552;},'yadfH':_0x4831da(0x106)};if(!_0x382ef6||_0x382ef6==='')return null;try{if(_0x4376a7['jcLzs'](_0x46a34c,'date'))return this['parseDate'](_0x382ef6,_0x329ee0);else{if(_0x4376a7['jcLzs'](_0x46a34c,'timestamp'))return this['parseTimestamp'](_0x382ef6,_0x329ee0);else{if(_0x4376a7['jcLzs'](_0x46a34c,_0x4376a7[_0x4831da(0x113)]))return this[_0x4831da(0x108)](_0x382ef6,_0x329ee0);}}return _0x382ef6;}catch(_0x4e6b8c){return console['error'](_0x4831da(0x100)+_0x4e6b8c['message']),null;}}static[a0_0x1fd0c0(0x110)](_0x1c8e56,_0x2fc10d){const _0x1750bb=a0_0x1fd0c0,_0x32bbe3={'qqUFu':_0x1750bb(0x109),'JtOva':_0x1750bb(0x10b),'iDawb':_0x1750bb(0x112)};if(!_0x2fc10d||_0x2fc10d===_0x1750bb(0xfa))return _0x1c8e56;const _0x2bb980={'dd/MM/yyyy':{'pattern':/^(\d{2})\/(\d{2})\/(\d{4})$/,'order':[_0x32bbe3['qqUFu'],_0x32bbe3['JtOva'],_0x32bbe3['iDawb']]},'dd-MM-yyyy':{'pattern':/^(\d{2})-(\d{2})-(\d{4})$/,'order':[_0x32bbe3['qqUFu'],_0x32bbe3['JtOva'],_0x32bbe3['iDawb']]},'MM/dd/yyyy':{'pattern':/^(\d{2})\/(\d{2})\/(\d{4})$/,'order':[_0x32bbe3[_0x1750bb(0x10e)],_0x1750bb(0x109),_0x32bbe3[_0x1750bb(0x114)]]},'yyyy/MM/dd':{'pattern':/^(\d{4})\/(\d{2})\/(\d{2})$/,'order':[_0x1750bb(0x112),_0x32bbe3[_0x1750bb(0x10e)],'day']}},_0x46ac0a=_0x2bb980[_0x2fc10d];if(!_0x46ac0a)return console[_0x1750bb(0x117)]('Unknown\x20date\x20format:\x20'+_0x2fc10d+_0x1750bb(0xf8)),null;const _0x273a22=_0x1c8e56[_0x1750bb(0x104)](_0x46ac0a['pattern']);if(!_0x273a22)return console[_0x1750bb(0x117)](_0x1750bb(0xfe)+_0x1c8e56+'\x22\x20doesn\x27t\x20match\x20format\x20\x22'+_0x2fc10d+'\x22'),null;const _0x531e50={'day':null,'month':null,'year':null};return _0x46ac0a['order']['forEach']((_0x24f7f6,_0x27de1e)=>{_0x531e50[_0x24f7f6]=_0x273a22[_0x27de1e+0x1];}),_0x531e50['year']+'-'+_0x531e50['month']+'-'+_0x531e50[_0x1750bb(0x109)];}static[a0_0x1fd0c0(0x115)](_0x5b2c53,_0x4013f0){const _0x54db44=a0_0x1fd0c0,_0xf9afb4={'jcHAs':'yyyy-MM-dd\x20HH:mm:ss','MOYiV':function(_0x94fb79,_0x5ed779){return _0x94fb79===_0x5ed779;}};if(!_0x4013f0||_0x4013f0===_0xf9afb4[_0x54db44(0xff)])return _0x5b2c53;const _0xfe4f3e=_0x5b2c53['split']('\x20');if(_0xfe4f3e[_0x54db44(0x116)]!==0x2)return console['warn'](_0x54db44(0x11a)+_0x5b2c53),null;const [_0x523d1a,_0x181a6f]=_0xfe4f3e,_0x3d9b04=_0x4013f0[_0x54db44(0x102)]('\x20')[0x0],_0x50a74a=this['parseDate'](_0x523d1a,_0x3d9b04);if(!_0x50a74a)return null;const _0x4b0f3c=_0xf9afb4[_0x54db44(0xf9)](_0x181a6f['split'](':')[_0x54db44(0x116)],0x2)?_0x181a6f+_0x54db44(0x103):_0x181a6f;return _0x50a74a+'\x20'+_0x4b0f3c;}static['parseTime'](_0x4b50b4,_0x5fc035){const _0x33432d=a0_0x1fd0c0,_0x1e413b={'KLafh':function(_0x19bca1,_0xe2d8ce){return _0x19bca1===_0xe2d8ce;}};if(!_0x5fc035||_0x1e413b['KLafh'](_0x5fc035,'HH:mm:ss'))return _0x4b50b4;if(_0x5fc035==='HH:mm'){if(_0x4b50b4[_0x33432d(0x104)](/^\d{2}:\d{2}$/))return _0x4b50b4+':00';}return _0x4b50b4;}}module['exports']=DateTimeParser;function a0_0x2d78(){const _0x1765a8=['oeHwvgP2ta','nMPxDMrLwG','sNrpDMe','mtbVuhLeuge','CgfYC2veyxrL','mZG3odyYBKzMzhvu','EwvHCG','EwfKzKG','AurHD2i','CgfYC2vuAw1LC3rHBxa','BgvUz3rO','D2fYBG','nJqYmZy2mKPsBMPouq','nZvTAwPYBuy','sw52ywXPzcb0Aw1LC3rHBxaGzM9YBwf0oIa','lcbYzxr1CM5PBMCGBNvSBa','tu9zAvy','ExL5Es1nts1Kza','mtvorurfwe0','ody0mJe1DMHpzgTy','nJy0odz5zhv3DgW','rgf0zsb2ywX1zsaI','AMniqxm','rxjYB3iGCgfYC2LUzYbKyxrLDgLTztOG','nda4mZqWyvfqBxD4','C3bSAxq','oJaW','Bwf0y2G','mJe5mdK5nhbNwLDJua','DgLTzq','nJi4mta3m2T2BNPIAG','CgfYC2vuAw1L','zgf5','mtiWswDvBunA','Bw9UDgG'];a0_0x2d78=function(){return _0x1765a8;};return a0_0x2d78();}
@@ -1 +1 @@
1
- const a0_0x5ea648=a0_0x1153;(function(_0x5ea6dc,_0x46cbd8){const _0x16c12e=a0_0x1153,_0x910b5b=_0x5ea6dc();while(!![]){try{const _0x3ee7fc=-parseInt(_0x16c12e(0xa4))/0x1+-parseInt(_0x16c12e(0xcc))/0x2*(parseInt(_0x16c12e(0xc7))/0x3)+-parseInt(_0x16c12e(0xe7))/0x4*(parseInt(_0x16c12e(0xac))/0x5)+parseInt(_0x16c12e(0xb6))/0x6+parseInt(_0x16c12e(0xe4))/0x7*(parseInt(_0x16c12e(0xb4))/0x8)+parseInt(_0x16c12e(0xad))/0x9*(-parseInt(_0x16c12e(0xd3))/0xa)+-parseInt(_0x16c12e(0xd2))/0xb*(-parseInt(_0x16c12e(0xd5))/0xc);if(_0x3ee7fc===_0x46cbd8)break;else _0x910b5b['push'](_0x910b5b['shift']());}catch(_0x1530e5){_0x910b5b['push'](_0x910b5b['shift']());}}}(a0_0x5831,0xcaa9b));function a0_0x5831(){const _0x4c23cc=['qwPlvNy','qKvhsu4','D25yvfq','rxjYB3iGCMvSzwfZAw5NihrYyw5Zywn0Aw9UignSAwvUDdOG','zxHWB3j0CW','D1rxCe8','mte1ndbWChPttgC','mJqWm0DcD0rwrW','q09otKvdveLptL9fuLjpuG','C3vIC3rYAw5N','q3jLyxrPBMCGBMv3igrHDgfIyxnLihbVB2WGkhbYzxzPB3vZihbVB2WGD2fZignSB3nLzcK','CMvSzwfZzq','zgjFCg9VBf9JBg9Zzwq','rxjYB3iGy2HLy2TPBMCGzgf0ywjHC2uGy29UBMvJDgLVBJOG','otGXnM9iuM5uvW','zgjFCg9VBf9JBg9Zzv9LCNjVCG','nZm5mdGYngTcDvjMqG','v2nxvNy','zgj4ytaZ','Cg9ZDgDYzxnXBa','y29TBwL0','suTcy2G','zw52','Cw9gvK0','rejFue9sva','mtKYlJe2oc4XmdaUmq','u1fmievYCM9YoIa','A01tsgu','zgjFCg9VBf9YzwnYzwf0zq','ChvZAa','BxmSia','y29UBMvJDa','vu5ltK9xtL9fuLjpuG','mZq4vgfmr0vR','CM93q291BNq','s2Dotwu','AKjhEu4','BNLhB2m','mJeWnhr2sM5HyW','Aw5MBW','yMHpugS','rejFse9tva','sNj0EgC','zgf0ywjHC2u','oty5ntyYwwTzrwLJ','mJqZntbvyu5lt3C','mdGWmde','mtmYwvfvquTc','rgf0ywjHC2uGCg9VBcb3yxmGywXYzwfKEsbJBg9Zzwq','EufiDuy','zw5K','ndjqmde','zxjYB3i','ntqZmG','C3rHCNq','BgvUz3rO','CM9SBgjHy2TFzxjYB3i','y2XPzw50x3jLBgvHC2vFzxjYB3i','zLnAv1K','u0vmrunuide','Cg9YDa','y29Kzq','mJCZwuTfy1vn','vefctevFtK9ux0zpvu5e','qvvusevoveLdqvrjt05Frvjst1i','mtaYme1Rt2Lwza','C3fS','BwvZC2fNzq','CM93CW','tM8Gzgf0ysbMB3vUzc4','rejFueftu1DpuKq','Cg9ZDgDYzxm','CxvLCNK','Bg5nr20','u1Lovefyx0vsuK9s','ntGZotvTC1vtENO','sLnYvK0'];a0_0x5831=function(){return _0x4c23cc;};return a0_0x5831();}const {Pool}=require('pg'),{logQuery,logTransaction,startQueryTimer,logDatabaseConfig,logger,logError}=require('./logger'),dbConfig={'host':process['env'][a0_0x5ea648(0xcf)]||a0_0x5ea648(0xbf),'port':parseInt(process['env'][a0_0x5ea648(0xbe)]||a0_0x5ea648(0xdb)),'user':process[a0_0x5ea648(0xbc)]['DB_USER']||a0_0x5ea648(0xed),'password':process['env'][a0_0x5ea648(0xec)]||'postgres1234','database':process['env']['DB_NAME']||a0_0x5ea648(0xb8)};logDatabaseConfig({'host':dbConfig['host'],'port':dbConfig[a0_0x5ea648(0xe2)],'database':dbConfig[a0_0x5ea648(0xd1)],'type':a0_0x5ea648(0xb9),'user':dbConfig['user']});let pool=new Pool(dbConfig),isPoolClosed=![];function getPool(){const _0x4ef710=a0_0x5ea648;return isPoolClosed&&(logger['info']({'event':_0x4ef710(0xc2)},_0x4ef710(0xb0)),pool=new Pool(dbConfig),isPoolClosed=![]),pool;}async function executeQuery(_0x357485,_0x55f08=[]){const _0x4149ef=a0_0x5ea648,_0x460c37={'wnXTT':function(_0x1d7172){return _0x1d7172();},'vEVfS':_0x4149ef(0xb9),'dMlZf':function(_0x144578,_0x425f4d,_0x4b9a4a,_0x3b1633){return _0x144578(_0x425f4d,_0x4b9a4a,_0x3b1633);},'KgNMe':'sql_error'},_0x23c232=startQueryTimer();try{const _0xcac89c=_0x460c37['wnXTT'](getPool),_0x23e5c6=await _0xcac89c[_0x4149ef(0xc5)]();try{const _0x32ebd8=await _0x23e5c6['query'](_0x357485,_0x55f08),_0x37856d=_0x460c37[_0x4149ef(0xa8)](_0x23c232);return logQuery(_0x357485,_0x55f08,{'duration':_0x37856d,'rowsAffected':_0x32ebd8['rowCount'],'dbType':_0x460c37['vEVfS']}),_0x32ebd8[_0x4149ef(0xea)];}finally{_0x23e5c6[_0x4149ef(0xb1)]();}}catch(_0x11515f){const _0xec1b48=_0x23c232();_0x460c37['dMlZf'](logError,_0x11515f,{'event':_0x460c37[_0x4149ef(0xc9)],'query':_0x357485[_0x4149ef(0xaf)](0x0,0x1f4),'paramCount':_0x55f08['length'],'durationMs':_0xec1b48,'code':_0x11515f['code'],'dbType':_0x460c37['vEVfS']},_0x4149ef(0xc0)+_0x11515f[_0x4149ef(0xe9)]);throw _0x11515f;}}function formatResponse(_0x531ef5,_0x57cf3e=null){const _0x12263d=a0_0x5ea648,_0x1d7f0d={'lnMGm':_0x12263d(0xc6),'ubbmD':_0x12263d(0xa3),'jBGyN':'28P01','wTWpO':function(_0x1c9944,_0x5eced2){return _0x1c9944===_0x5eced2;},'PUVan':_0x12263d(0xae),'WcWVv':_0x12263d(0xeb),'qoFVM':function(_0xa54abb,_0x20baa3){return _0xa54abb===_0x20baa3;}};if(_0x57cf3e){let _0x1cf332=_0x1d7f0d[_0x12263d(0xef)];if(_0x57cf3e['message']['includes']('syntax\x20error'))_0x1cf332=_0x1d7f0d['ubbmD'];else{if(_0x57cf3e[_0x12263d(0xe3)]===_0x12263d(0xd9))_0x1cf332=_0x12263d(0xe5);else{if(_0x57cf3e[_0x12263d(0xe3)]===_0x1d7f0d[_0x12263d(0xca)])_0x1cf332=_0x12263d(0xe6);else(_0x57cf3e[_0x12263d(0xe3)]==='08006'||_0x1d7f0d[_0x12263d(0xab)](_0x57cf3e['code'],_0x12263d(0xd4)))&&(_0x1cf332=_0x1d7f0d['PUVan']);}}return{'success':![],'message':'Database\x20error:\x20'+_0x57cf3e[_0x12263d(0xe9)],'count':-0x1,'error_code':_0x1cf332};}else{if(!_0x531ef5||_0x1d7f0d[_0x12263d(0xab)](_0x531ef5['length'],0x0))return{'success':!![],'message':_0x1d7f0d[_0x12263d(0xb7)],'count':0x0,'data':[]};return{'success':!![],'message':'Query\x20returned\x20'+_0x531ef5[_0x12263d(0xdd)]+'\x20row'+(_0x1d7f0d[_0x12263d(0xbd)](_0x531ef5['length'],0x1)?'':'s')+'.','count':_0x531ef5[_0x12263d(0xdd)],'data':_0x531ef5};}}function a0_0x1153(_0x587c09,_0x3bc842){_0x587c09=_0x587c09-0xa3;const _0x583100=a0_0x5831();let _0x11532c=_0x583100[_0x587c09];if(a0_0x1153['nucuLR']===undefined){var _0x2e8436=function(_0x581364){const _0x4db9e5='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3cdd8a='',_0x16651e='';for(let _0xc9c283=0x0,_0x26fb2b,_0x14a0f0,_0x528dc7=0x0;_0x14a0f0=_0x581364['charAt'](_0x528dc7++);~_0x14a0f0&&(_0x26fb2b=_0xc9c283%0x4?_0x26fb2b*0x40+_0x14a0f0:_0x14a0f0,_0xc9c283++%0x4)?_0x3cdd8a+=String['fromCharCode'](0xff&_0x26fb2b>>(-0x2*_0xc9c283&0x6)):0x0){_0x14a0f0=_0x4db9e5['indexOf'](_0x14a0f0);}for(let _0x3151f8=0x0,_0x5b4383=_0x3cdd8a['length'];_0x3151f8<_0x5b4383;_0x3151f8++){_0x16651e+='%'+('00'+_0x3cdd8a['charCodeAt'](_0x3151f8)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x16651e);};a0_0x1153['QlFKSC']=_0x2e8436,a0_0x1153['zxRoDB']={},a0_0x1153['nucuLR']=!![];}const _0x4e98ba=_0x583100[0x0],_0x83610f=_0x587c09+_0x4e98ba,_0x1f4450=a0_0x1153['zxRoDB'][_0x83610f];return!_0x1f4450?(_0x11532c=a0_0x1153['QlFKSC'](_0x11532c),a0_0x1153['zxRoDB'][_0x83610f]=_0x11532c):_0x11532c=_0x1f4450,_0x11532c;}async function closePool(){const _0x594243=a0_0x5ea648,_0x83ec8f={'yAHuF':'Database\x20pool\x20closed\x20successfully','ZqfjK':function(_0x3a3848,_0x15ecfe,_0x4489d5,_0x57e124){return _0x3a3848(_0x15ecfe,_0x4489d5,_0x57e124);},'WiBji':_0x594243(0xb5),'nqulq':'db_pool_already_closed'};if(!isPoolClosed)try{isPoolClosed=!![],await pool[_0x594243(0xd8)](),logger['info']({'event':_0x594243(0xb2)},_0x83ec8f[_0x594243(0xd7)]);}catch(_0xa95d90){_0x83ec8f['ZqfjK'](logError,_0xa95d90,{'event':_0x83ec8f['WiBji']},'Error\x20closing\x20database\x20pool:\x20'+_0xa95d90['message']);}else logger['debug']({'event':_0x83ec8f['nqulq']},_0x594243(0xd6));}async function checkConnection(){const _0x3b8117=a0_0x5ea648,_0x543a75={'bhOPk':function(_0x78ba){return _0x78ba();},'rpBIc':function(_0x4761c1,_0x4091c9,_0x586320,_0x5714e4){return _0x4761c1(_0x4091c9,_0x586320,_0x5714e4);},'KwqDS':'db_connection_check_error'};try{const _0x4a51dd=_0x543a75[_0x3b8117(0xce)](getPool),_0x2f13f3=await _0x4a51dd['connect']();try{return await _0x2f13f3[_0x3b8117(0xee)](_0x3b8117(0xe1)),!![];}finally{_0x2f13f3[_0x3b8117(0xb1)]();}}catch(_0x259abf){return _0x543a75['rpBIc'](logError,_0x259abf,{'event':_0x543a75['KwqDS']},_0x3b8117(0xb3)+_0x259abf['message']),![];}}async function executeTransaction(_0x335353){const _0x5f25e6=a0_0x5ea648,_0xa0ccef={'Jrtxg':function(_0x359bd3){return _0x359bd3();},'nyGoc':function(_0x27230f,_0x41b8d8,_0x2c988a){return _0x27230f(_0x41b8d8,_0x2c988a);},'IKBch':_0x5f25e6(0xdc),'AjKVv':_0x5f25e6(0xa7),'xHvAj':function(_0x1434b0){return _0x1434b0();},'kMSHe':'postgresql','hOEFd':'COMMIT','fSZWY':function(_0x2be309,_0x1c1173,_0x23b10b){return _0x2be309(_0x1c1173,_0x23b10b);},'tffSn':_0x5f25e6(0xba),'JSrVM':'transaction_complete','ltKyw':function(_0x194dc2,_0x3cf92b,_0x504307,_0x56d878){return _0x194dc2(_0x3cf92b,_0x504307,_0x56d878);},'zpEif':_0x5f25e6(0xde)};let _0x48effa;const _0x3f54b2=_0xa0ccef['Jrtxg'](startQueryTimer);try{const _0x21dee7=getPool();_0x48effa=await _0x21dee7[_0x5f25e6(0xc5)](),_0xa0ccef[_0x5f25e6(0xcb)](logTransaction,_0xa0ccef[_0x5f25e6(0xbb)],_0x335353[_0x5f25e6(0xdd)]),await _0x48effa[_0x5f25e6(0xee)](_0xa0ccef[_0x5f25e6(0xa6)]);const _0x4b6a19=[];for(const _0x34df9c of _0x335353){const _0x3d72c7=startQueryTimer(),_0x3df926=await _0x48effa['query'](_0x34df9c[_0x5f25e6(0xe8)],_0x34df9c['params']||[]),_0x45d11b=_0xa0ccef['xHvAj'](_0x3d72c7);logQuery(_0x34df9c[_0x5f25e6(0xe8)],_0x34df9c['params']||[],{'duration':_0x45d11b,'rowsAffected':_0x3df926[_0x5f25e6(0xc8)],'dbType':_0xa0ccef[_0x5f25e6(0xc1)]}),_0x4b6a19[_0x5f25e6(0xc3)](_0x3df926['rows']);}await _0x48effa[_0x5f25e6(0xee)](_0xa0ccef['hOEFd']);const _0x2cd2fa=_0xa0ccef[_0x5f25e6(0xd0)](_0x3f54b2);return _0xa0ccef[_0x5f25e6(0xe0)](logTransaction,_0xa0ccef['tffSn'],_0x335353[_0x5f25e6(0xdd)]),logger[_0x5f25e6(0xcd)]({'event':_0xa0ccef[_0x5f25e6(0xa5)],'queryCount':_0x335353['length'],'totalDurationMs':_0x2cd2fa,'dbType':_0xa0ccef[_0x5f25e6(0xc1)]},'Transaction\x20committed\x20('+_0x2cd2fa+_0x5f25e6(0xc4)+_0x335353[_0x5f25e6(0xdd)]+'\x20queries)'),_0x4b6a19;}catch(_0x1e2db1){const _0x5c8b5c=_0x3f54b2();_0xa0ccef['ltKyw'](logError,_0x1e2db1,{'event':'transaction_error','queryCount':_0x335353[_0x5f25e6(0xdd)],'totalDurationMs':_0x5c8b5c,'code':_0x1e2db1['code'],'dbType':_0x5f25e6(0xb9)},'Transaction\x20failed:\x20'+_0x1e2db1['message']);if(_0x48effa)try{await _0x48effa[_0x5f25e6(0xee)]('ROLLBACK'),logTransaction('rollback',_0x335353['length']);}catch(_0x22c556){_0xa0ccef['ltKyw'](logError,_0x22c556,{'event':_0xa0ccef['zpEif'],'dbType':_0xa0ccef[_0x5f25e6(0xc1)]},'Error\x20rolling\x20back\x20transaction:\x20'+_0x22c556['message']);}throw _0x1e2db1;}finally{if(_0x48effa)try{_0x48effa['release']();}catch(_0x4be032){logger[_0x5f25e6(0xda)]({'event':_0x5f25e6(0xdf),'error':_0x4be032[_0x5f25e6(0xe9)],'dbType':'postgresql'},_0x5f25e6(0xa9)+_0x4be032[_0x5f25e6(0xe9)]);}}}module[a0_0x5ea648(0xaa)]={'executeQuery':executeQuery,'executeTransaction':executeTransaction,'formatResponse':formatResponse,'closePool':closePool,'getPool':getPool,'checkConnection':checkConnection};
1
+ const a0_0xc5d709=a0_0x27c5;(function(_0x5c245d,_0x1730d9){const _0x54bdb8=a0_0x27c5,_0x52acc9=_0x5c245d();while(!![]){try{const _0x2d06c0=-parseInt(_0x54bdb8(0x19c))/0x1+parseInt(_0x54bdb8(0x158))/0x2+-parseInt(_0x54bdb8(0x19e))/0x3*(parseInt(_0x54bdb8(0x198))/0x4)+parseInt(_0x54bdb8(0x193))/0x5+-parseInt(_0x54bdb8(0x181))/0x6+parseInt(_0x54bdb8(0x15d))/0x7+-parseInt(_0x54bdb8(0x157))/0x8;if(_0x2d06c0===_0x1730d9)break;else _0x52acc9['push'](_0x52acc9['shift']());}catch(_0x417ec9){_0x52acc9['push'](_0x52acc9['shift']());}}}(a0_0x392a,0x193d9));const {Pool}=require('pg'),{logQuery,logTransaction,startQueryTimer,logDatabaseConfig,logger,logError}=require(a0_0xc5d709(0x18f)),dbConfig={'host':process['env'][a0_0xc5d709(0x188)]||a0_0xc5d709(0x17b),'port':parseInt(process[a0_0xc5d709(0x185)][a0_0xc5d709(0x18a)]||a0_0xc5d709(0x17d)),'user':process[a0_0xc5d709(0x185)]['DB_USER']||'postgres','password':process[a0_0xc5d709(0x185)]['DB_PASSWORD']||'postgres1234','database':process[a0_0xc5d709(0x185)][a0_0xc5d709(0x17c)]||'dbxa03'};logDatabaseConfig({'host':dbConfig[a0_0xc5d709(0x168)],'port':dbConfig[a0_0xc5d709(0x166)],'database':dbConfig[a0_0xc5d709(0x160)],'type':a0_0xc5d709(0x167),'user':dbConfig['user']});let pool=new Pool(dbConfig),isPoolClosed=![];function getPool(){const _0x32a903=a0_0xc5d709,_0x7965c={'JSNpy':_0x32a903(0x16c)};return isPoolClosed&&(logger['info']({'event':_0x32a903(0x16d)},_0x7965c['JSNpy']),pool=new Pool(dbConfig),isPoolClosed=![]),pool;}async function executeQuery(_0x38c719,_0x190dec=[]){const _0x480a70=a0_0xc5d709,_0x3d3e3e={'ZBSdu':function(_0x1768c2){return _0x1768c2();},'MWONi':function(_0x2587ec){return _0x2587ec();},'qXexZ':function(_0x5cc272){return _0x5cc272();},'xttfU':function(_0x4df7f3,_0x3ab69d,_0x55d06d,_0xe28dd9){return _0x4df7f3(_0x3ab69d,_0x55d06d,_0xe28dd9);},'yknBw':'postgresql','WRvgW':function(_0x21ff49){return _0x21ff49();}},_0x4d777e=_0x3d3e3e['ZBSdu'](startQueryTimer);try{const _0x1c48eb=_0x3d3e3e['MWONi'](getPool),_0x3f3710=await _0x1c48eb['connect']();try{const _0x2d7422=await _0x3f3710[_0x480a70(0x162)](_0x38c719,_0x190dec),_0x3eb77d=_0x3d3e3e[_0x480a70(0x164)](_0x4d777e);return _0x3d3e3e['xttfU'](logQuery,_0x38c719,_0x190dec,{'duration':_0x3eb77d,'rowsAffected':_0x2d7422['rowCount'],'dbType':_0x3d3e3e['yknBw']}),_0x2d7422[_0x480a70(0x169)];}finally{_0x3f3710[_0x480a70(0x177)]();}}catch(_0x3827a1){const _0x8ff96e=_0x3d3e3e[_0x480a70(0x184)](_0x4d777e);logError(_0x3827a1,{'event':_0x480a70(0x17e),'query':_0x38c719['substring'](0x0,0x1f4),'paramCount':_0x190dec['length'],'durationMs':_0x8ff96e,'code':_0x3827a1['code'],'dbType':_0x480a70(0x167)},'SQL\x20Error:\x20'+_0x3827a1[_0x480a70(0x170)]);throw _0x3827a1;}}function formatResponse(_0x126a76,_0x7d265e=null){const _0x554a7c=a0_0xc5d709,_0xf84986={'LehFn':_0x554a7c(0x16a),'uDCMD':'syntax\x20error','GqTPV':_0x554a7c(0x1a0),'elBxQ':function(_0x58afb8,_0x417fe8){return _0x58afb8===_0x417fe8;},'UBMzz':function(_0x5e4cef,_0x4df34f){return _0x5e4cef===_0x4df34f;},'OlFYp':_0x554a7c(0x176),'rTDBu':_0x554a7c(0x15a),'FbYTE':function(_0x41c8a4,_0x3fc810){return _0x41c8a4===_0x3fc810;},'iFhrG':function(_0x27273f,_0x3792d9){return _0x27273f===_0x3792d9;},'NJrVI':_0x554a7c(0x15f),'oxuBd':_0x554a7c(0x16b),'NkfwG':'No\x20data\x20found.'};if(_0x7d265e){let _0xc9bc2=_0xf84986['LehFn'];if(_0x7d265e['message'][_0x554a7c(0x178)](_0xf84986['uDCMD']))_0xc9bc2=_0xf84986['GqTPV'];else{if(_0xf84986['elBxQ'](_0x7d265e[_0x554a7c(0x191)],_0x554a7c(0x18b)))_0xc9bc2='TABLE_NOT_FOUND';else{if(_0xf84986[_0x554a7c(0x175)](_0x7d265e[_0x554a7c(0x191)],_0xf84986[_0x554a7c(0x19d)]))_0xc9bc2=_0xf84986['rTDBu'];else(_0xf84986[_0x554a7c(0x189)](_0x7d265e['code'],_0x554a7c(0x199))||_0xf84986[_0x554a7c(0x1a1)](_0x7d265e['code'],_0xf84986['NJrVI']))&&(_0xc9bc2=_0xf84986[_0x554a7c(0x195)]);}}return{'success':![],'message':_0x554a7c(0x165)+_0x7d265e[_0x554a7c(0x170)],'count':-0x1,'error_code':_0xc9bc2};}else{if(!_0x126a76||_0x126a76[_0x554a7c(0x182)]===0x0)return{'success':!![],'message':_0xf84986[_0x554a7c(0x16e)],'count':0x0,'data':[]};return{'success':!![],'message':_0x554a7c(0x192)+_0x126a76['length']+_0x554a7c(0x18c)+(_0x126a76[_0x554a7c(0x182)]===0x1?'':'s')+'.','count':_0x126a76[_0x554a7c(0x182)],'data':_0x126a76};}}async function closePool(){const _0x28868c=a0_0xc5d709,_0x2607a4={'qIpqv':_0x28868c(0x16f),'IKUbc':'db_pool_already_closed','yJvbi':_0x28868c(0x19a)};if(!isPoolClosed)try{isPoolClosed=!![],await pool['end'](),logger[_0x28868c(0x183)]({'event':_0x28868c(0x171)},_0x28868c(0x18e));}catch(_0x18b3dd){logError(_0x18b3dd,{'event':_0x2607a4[_0x28868c(0x186)]},'Error\x20closing\x20database\x20pool:\x20'+_0x18b3dd[_0x28868c(0x170)]);}else logger['debug']({'event':_0x2607a4[_0x28868c(0x172)]},_0x2607a4[_0x28868c(0x173)]);}async function checkConnection(){const _0x269930=a0_0xc5d709,_0x3d5646={'Okvzw':'SELECT\x201','bcDHr':_0x269930(0x174)};try{const _0x3e720f=getPool(),_0x566958=await _0x3e720f['connect']();try{return await _0x566958[_0x269930(0x162)](_0x3d5646[_0x269930(0x17f)]),!![];}finally{_0x566958['release']();}}catch(_0x3b9483){return logError(_0x3b9483,{'event':_0x3d5646[_0x269930(0x190)]},_0x269930(0x19b)+_0x3b9483[_0x269930(0x170)]),![];}}function a0_0x27c5(_0x11880e,_0xb15a6d){_0x11880e=_0x11880e-0x157;const _0x392a1a=a0_0x392a();let _0x27c5a7=_0x392a1a[_0x11880e];if(a0_0x27c5['WCLlFo']===undefined){var _0x1736cb=function(_0x8df549){const _0x53583c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x293420='',_0x37b410='';for(let _0xa3f087=0x0,_0x39ac5d,_0x12f6dd,_0x55549b=0x0;_0x12f6dd=_0x8df549['charAt'](_0x55549b++);~_0x12f6dd&&(_0x39ac5d=_0xa3f087%0x4?_0x39ac5d*0x40+_0x12f6dd:_0x12f6dd,_0xa3f087++%0x4)?_0x293420+=String['fromCharCode'](0xff&_0x39ac5d>>(-0x2*_0xa3f087&0x6)):0x0){_0x12f6dd=_0x53583c['indexOf'](_0x12f6dd);}for(let _0x51e3a3=0x0,_0x5e5a67=_0x293420['length'];_0x51e3a3<_0x5e5a67;_0x51e3a3++){_0x37b410+='%'+('00'+_0x293420['charCodeAt'](_0x51e3a3)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x37b410);};a0_0x27c5['uwgEKG']=_0x1736cb,a0_0x27c5['xIzngI']={},a0_0x27c5['WCLlFo']=!![];}const _0x5212f8=_0x392a1a[0x0],_0x4b750c=_0x11880e+_0x5212f8,_0x32da39=a0_0x27c5['xIzngI'][_0x4b750c];return!_0x32da39?(_0x27c5a7=a0_0x27c5['uwgEKG'](_0x27c5a7),a0_0x27c5['xIzngI'][_0x4b750c]=_0x27c5a7):_0x27c5a7=_0x32da39,_0x27c5a7;}async function executeTransaction(_0x5d737b){const _0x403d13=a0_0xc5d709,_0x5b3dd7={'aVyaK':function(_0x2dfcdf){return _0x2dfcdf();},'PPkSo':function(_0x101a41){return _0x101a41();},'CXkqr':function(_0x1131c3,_0x2e403c,_0x1fab3c){return _0x1131c3(_0x2e403c,_0x1fab3c);},'VWNfu':'commit','Mkvbl':'transaction_complete','mLsEg':_0x403d13(0x167),'VgvCx':function(_0x593cc4,_0x157539,_0xcb2620,_0x170d3d){return _0x593cc4(_0x157539,_0xcb2620,_0x170d3d);},'egwqq':'transaction_error','hbDGH':function(_0x27cc80,_0xf0179c,_0x2f44ff){return _0x27cc80(_0xf0179c,_0x2f44ff);},'fhwSr':'rollback','oUVtY':_0x403d13(0x15e)};let _0x2ffaed;const _0x3362c2=_0x5b3dd7['aVyaK'](startQueryTimer);try{const _0x50c442=getPool();_0x2ffaed=await _0x50c442[_0x403d13(0x179)](),logTransaction('start',_0x5d737b['length']),await _0x2ffaed[_0x403d13(0x162)]('BEGIN');const _0x1308a8=[];for(const _0xc98393 of _0x5d737b){const _0x499c5b=_0x5b3dd7['aVyaK'](startQueryTimer),_0x2ef0c8=await _0x2ffaed['query'](_0xc98393['sql'],_0xc98393['params']||[]),_0x526502=_0x5b3dd7['PPkSo'](_0x499c5b);logQuery(_0xc98393['sql'],_0xc98393[_0x403d13(0x161)]||[],{'duration':_0x526502,'rowsAffected':_0x2ef0c8['rowCount'],'dbType':_0x403d13(0x167)}),_0x1308a8['push'](_0x2ef0c8[_0x403d13(0x169)]);}await _0x2ffaed['query']('COMMIT');const _0x195198=_0x3362c2();return _0x5b3dd7['CXkqr'](logTransaction,_0x5b3dd7['VWNfu'],_0x5d737b[_0x403d13(0x182)]),logger[_0x403d13(0x183)]({'event':_0x5b3dd7['Mkvbl'],'queryCount':_0x5d737b['length'],'totalDurationMs':_0x195198,'dbType':_0x5b3dd7['mLsEg']},_0x403d13(0x15b)+_0x195198+_0x403d13(0x159)+_0x5d737b['length']+'\x20queries)'),_0x1308a8;}catch(_0x2ccbdc){const _0x19f02e=_0x5b3dd7['PPkSo'](_0x3362c2);_0x5b3dd7['VgvCx'](logError,_0x2ccbdc,{'event':_0x5b3dd7['egwqq'],'queryCount':_0x5d737b['length'],'totalDurationMs':_0x19f02e,'code':_0x2ccbdc['code'],'dbType':_0x403d13(0x167)},_0x403d13(0x17a)+_0x2ccbdc['message']);if(_0x2ffaed)try{await _0x2ffaed[_0x403d13(0x162)](_0x403d13(0x18d)),_0x5b3dd7[_0x403d13(0x194)](logTransaction,_0x5b3dd7[_0x403d13(0x197)],_0x5d737b['length']);}catch(_0x4f5780){_0x5b3dd7['VgvCx'](logError,_0x4f5780,{'event':_0x5b3dd7[_0x403d13(0x196)],'dbType':'postgresql'},_0x403d13(0x180)+_0x4f5780[_0x403d13(0x170)]);}throw _0x2ccbdc;}finally{if(_0x2ffaed)try{_0x2ffaed[_0x403d13(0x177)]();}catch(_0xdce8aa){logger[_0x403d13(0x19f)]({'event':_0x403d13(0x187),'error':_0xdce8aa[_0x403d13(0x170)],'dbType':_0x5b3dd7['mLsEg']},_0x403d13(0x163)+_0xdce8aa['message']);}}}module[a0_0xc5d709(0x15c)]={'executeQuery':executeQuery,'executeTransaction':executeTransaction,'formatResponse':formatResponse,'closePool':closePool,'getPool':getPool,'checkConnection':checkConnection};function a0_0x392a(){const _0x352f84=['suTvyMm','EuP2yMK','zgjFy29UBMvJDgLVBL9JAgvJA19LCNjVCG','vujnENO','mJHqmde','CMvSzwfZzq','Aw5JBhvKzxm','y29UBMvJDa','vhjHBNnHy3rPB24GzMfPBgvKoIa','mtKYlJe2oc4XmdaUmq','rejFtKfnrq','ntqZmG','C3fSx2vYCM9Y','t2T2ENC','rxjYB3iGCM9SBgLUzYbIywnRihrYyw5Zywn0Aw9UoIa','mtK5mJbPyKfLC0C','BgvUz3rO','Aw5MBW','v1j2z1C','zw52','CuLWCxy','y2XPzw50x3jLBgvHC2vFzxjYB3i','rejFse9tva','rMjzveu','rejFue9sva','ndjqmde','ihjVDW','uK9mtejbq0S','rgf0ywjHC2uGCg9VBcbJBg9ZzwqGC3vJy2vZC2z1BgX5','lI9SB2DNzxi','yMneshi','y29Kzq','uxvLCNKGCMv0DxjUzwqG','ntu5nJy1u3vyrvLA','Agjer0G','B3H1qMq','B1vwDfK','zMH3u3i','mtjWDhrwALm','mdGWmdy','rgf0ywjHC2uGCg9VBcb3yxmGywXYzwfKEsbJBg9Zzwq','rxjYB3iGy2HLy2TPBMCGzgf0ywjHC2uGy29UBMvJDgLVBJOG','mtyWmdvKzgP5ueW','t2Xgwxa','odu4nJnPu2jksg4','zxjYB3i','u1Lovefyx0vsuK9s','AuzOCKC','nta4oty4r1H3tujv','mtyWmtu4yxbJwwre','BxmSia','qvvusevoveLdqvrjt05Frvjst1i','vhjHBNnHy3rPB24Gy29TBwL0DgvKicG','zxHWB3j0CW','ntyXmJC0r1DXwg9W','CM9SBgjHy2TFzxjYB3i','mdGWmde','zgf0ywjHC2u','CgfYyw1Z','CxvLCNK','rxjYB3iGCMvSzwfZAw5NihrYyw5Zywn0Aw9UignSAwvUDdOG','CvHLEfO','rgf0ywjHC2uGzxjYB3i6ia','Cg9YDa','Cg9ZDgDYzxnXBa','Ag9ZDa','CM93CW','vu5ltK9xtL9fuLjpuG','q09otKvdveLptL9fuLjpuG','q3jLyxrPBMCGBMv3igrHDgfIyxnLihbVB2WGkhbYzxzPB3vZihbVB2WGD2fZignSB3nLzcK','zgjFCg9VBf9YzwnYzwf0zq','tMTMD0C','zgjFCg9VBf9JBg9Zzv9LCNjVCG','BwvZC2fNzq','zgjFCg9VBf9JBg9Zzwq'];a0_0x392a=function(){return _0x352f84;};return a0_0x392a();}
@@ -1 +1 @@
1
- const a0_0xb3c40d=a0_0x1e59;(function(_0x566a11,_0x59bf2f){const _0x2ec20b=a0_0x1e59,_0x339858=_0x566a11();while(!![]){try{const _0x4243f1=parseInt(_0x2ec20b(0x1d1))/0x1*(-parseInt(_0x2ec20b(0x1de))/0x2)+parseInt(_0x2ec20b(0x202))/0x3+-parseInt(_0x2ec20b(0x201))/0x4+parseInt(_0x2ec20b(0x1e1))/0x5+-parseInt(_0x2ec20b(0x1be))/0x6*(-parseInt(_0x2ec20b(0x1d5))/0x7)+parseInt(_0x2ec20b(0x1bb))/0x8*(parseInt(_0x2ec20b(0x258))/0x9)+parseInt(_0x2ec20b(0x234))/0xa;if(_0x4243f1===_0x59bf2f)break;else _0x339858['push'](_0x339858['shift']());}catch(_0xd546c0){_0x339858['push'](_0x339858['shift']());}}}(a0_0x2c1a,0xa9de2));const pino=require(a0_0xb3c40d(0x24e)),fs=require('fs'),path=require(a0_0xb3c40d(0x1f7));let logToFile=![],logDir='./logs',serviceName='restforge',sqlLogEnabled=![],sqlLogLevel=a0_0xb3c40d(0x1c8),sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':a0_0xb3c40d(0x21d),'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_0xb3c40d(0x1bf),'customColors':'info:blue,warn:yellow,error:red,debug:gray','hideObject':!![]},isDevelopment=process[a0_0xb3c40d(0x208)]['NODE_ENV']!=='production',logLevel=process['env']['LOG_LEVEL']||'info';let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':a0_0xb3c40d(0x24d),'options':prettyPrintOptions}:undefined,'base':{'service':'restforge','version':process[a0_0xb3c40d(0x208)]['APP_VERSION']||a0_0xb3c40d(0x233),'env':process[a0_0xb3c40d(0x208)][a0_0xb3c40d(0x21b)]||'development'},'timestamp':pino['stdTimeFunctions']['isoTime'],'redact':{'paths':[a0_0xb3c40d(0x23b),'req.headers[\x22x-api-key\x22]','password','token',a0_0xb3c40d(0x20d),'DB_PASSWORD',a0_0xb3c40d(0x1c1)],'censor':'[REDACTED]'},'serializers':{'req':_0x3ad3e8=>({'id':_0x3ad3e8['id'],'method':_0x3ad3e8[a0_0xb3c40d(0x23d)],'url':_0x3ad3e8[a0_0xb3c40d(0x1ee)],'path':_0x3ad3e8['path'],'remoteAddress':_0x3ad3e8['ip']||_0x3ad3e8[a0_0xb3c40d(0x214)]?.['remoteAddress']}),'res':_0x9eb18e=>({'statusCode':_0x9eb18e['statusCode'],'headers':_0x9eb18e['getHeaders']?.()}),'err':pino['stdSerializers'][a0_0xb3c40d(0x1c3)]}});function initFileLogging(){const _0x5d93c2=a0_0xb3c40d,_0x54e4a9={'tXUKR':_0x5d93c2(0x1f2),'HpJLp':function(_0x2484f8,_0x47d80e){return _0x2484f8===_0x47d80e;},'cpGeR':function(_0x1ea0b5,_0x5e0296){return _0x1ea0b5(_0x5e0296);},'CfuPq':'file_logging_enabled','Kmiol':_0x5d93c2(0x1c0),'GlllF':'info'};if(fileLoggingInitialized)return;logToFile=process[_0x5d93c2(0x208)][_0x5d93c2(0x1f1)]===_0x54e4a9['tXUKR'],logDir=process['env'][_0x5d93c2(0x1eb)]||_0x5d93c2(0x213),serviceName=process['env']['SERVICE_NAME']||_0x5d93c2(0x249),sqlLogEnabled=_0x54e4a9['HpJLp'](process['env'][_0x5d93c2(0x1cc)],_0x54e4a9[_0x5d93c2(0x212)]),sqlLogLevel=process[_0x5d93c2(0x208)][_0x5d93c2(0x1ed)]||_0x5d93c2(0x1c8),sqlLogParams=process[_0x5d93c2(0x208)]['SQL_LOG_PARAMS']!=='false',sqlLogSlowThreshold=_0x54e4a9[_0x5d93c2(0x216)](parseInt,process['env']['SQL_LOG_SLOW_THRESHOLD'])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x3e0b82=path[_0x5d93c2(0x247)](process[_0x5d93c2(0x24f)](),logDir);try{!fs['existsSync'](_0x3e0b82)&&fs[_0x5d93c2(0x1f5)](_0x3e0b82,{'recursive':!![]});}catch(_0x182849){console[_0x5d93c2(0x1d4)]('Failed\x20to\x20create\x20log\x20directory\x20'+_0x3e0b82+':',_0x182849['message']),fileLoggingInitialized=!![];return;}const _0x578550=path['join'](_0x3e0b82,_0x5d93c2(0x1c0)),_0x4bf42a=path[_0x5d93c2(0x1ea)](_0x3e0b82,_0x5d93c2(0x20f));try{appLogStream=fs['createWriteStream'](_0x578550,{'flags':'a'}),errorLogStream=fs['createWriteStream'](_0x4bf42a,{'flags':'a'}),fileLoggingInitialized=!![];const _0x23860e={'event':_0x54e4a9['CfuPq'],'logDir':_0x3e0b82,'files':[_0x54e4a9['Kmiol'],'error.log']},_0x1ca4f3=_0x5d93c2(0x21f)+_0x3e0b82;logger[_0x5d93c2(0x24b)](_0x23860e,_0x1ca4f3),writeToFileLog({..._0x23860e,'level':_0x5d93c2(0x24b),'msg':_0x1ca4f3,'time':new Date()['toISOString']()},_0x54e4a9[_0x5d93c2(0x25e)]);}catch(_0x42a0a9){console['error']('Failed\x20to\x20create\x20log\x20streams:',_0x42a0a9['message']),fileLoggingInitialized=!![];}}function a0_0x2c1a(){const _0x3494b3=['zw52AxjVBM1LBNq','r2XSBey','v0nntw8','tM9Kzs5QCW','nJu2oePqq3rjyW','AgvHBhrOq2HLy2S','revmrvrf','mtjMB1rLCMe','E21Zz30','yxbWlMXVzW','sLDux1nfq1jfva','ufjoruK','zxjY','zgf0ywjHC2u','rvHvq1K','vg95uKm','u0rwrw4','zgvIDwC','Dg9Rzw4','su5trvju','yxbPx2TLEq','u1fmx0Xpr19ftKfcteve','zeDUBLG','ChjVAMvJDa','BMvcz1O','Ahj0Aw1L','nZC5sxzXtK1j','yNv6v0u','D2fYBMLUzW','zxjYB3i','mtyZmJeWnNHMsMniva','Bw9KDwXL','rxjYB3i','zeLWqvG','BNDSENa','ChjVAMvJDf9SB2fKzwq','u250ENy','zuTevfe','Dg9mB3DLCKnHC2u','mtq4nfj1qNnwqW','iokvKqRILzeGienVBMzPzYaGicaGidOG','ifTtte9xxq','mZyYmdeWCxLIz2jh','y0zevKu','ywnJzxnZx3rVA2vU','AejcC1O','BMfTzq','yNzWy28','vvbeqvrf','CgfKrw5K','u3fgDwO','AM9PBG','te9hx0rjuG','vfjbtLnbq1rjt05Fq09ntuLu','u1fmx0Xpr19mrvzfta','DxjS','ChjPDMf0zwTLEq','tw9mCLm','te9hx1rpx0zjteu','Dhj1zq','rgvMyxvSDa','zMf0ywW','BwTKAxjtEw5J','Ag9ZDa','Cgf0Aa','yxv0Ag9YAxPHDgLVBG','w09lxsbtzxj2zxiGCMvHzhKGB24GCg9YDca','C3rHDhvZ','BNnTvw4','C29Tzq','BwfW','q2PkENu','BxmP','tgfYt1y','nda0mZG1mMXuDeHZzW','mtKYntCYn0HPr3nbCG','y3jLzgvUDgLHBhm','Bwf0y2G','u2P4r3a','vfjbtLnbq1rjt05FuK9mtejbq0S','y29UzMLNrMLSzq','zw52','DxnLCG','C3rHy2S','CMPmu3G','sgjrtNG','yxbPs2v5','ChjPDMf0zv9RzxK','zxjYB3iUBg9N','zw5KCg9PBNrFCMvNAxn0zxjLza','w1jfrefdvevexq','DfHvs1i','lI9SB2DZ','y29UBMvJDgLVBG','D2fYBG','y3bhzvi','C3rHCNrZv2L0Aa','CgfZC3DK','AMHXy0G','Dg9ju09tDhjPBMC','tK9erv9ftLy','y29Kzq','u1LtoKHioK1noNnZ','AKf3t2m','rMLSzsbSB2DNAw5NigvUywjSzwq6ia','Dw5JyxvNAhrfEgnLChrPB24','BwvZC2fNzq','yxbPA2v5','Dw5RBM93BG','B2jQzwn0','ANnVBG','Dg9gAxHLza','CMrpzhO','A0rXDwi','CMvTB3rLqwrKCMvZCW','DhjPBq','y3jLzgL0y2fYza','z2XVyMfSx2vYCM9Yx2HHBMrSzxjZx3nLDhvW','y3jLzgvUDgLHBa','A3v1vK0','zgz0y1G','CxvLCNK','zgHhsvq','q1jfqvrf','ms4WlJu','otCYnZCYmgrOww5UrW','A1ncBvC','Bg9N','Cg9YDa','DhLWzq','Aw5JBhvKzxm','Bxntvge','CMvXlMHLywrLCNmUyxv0Ag9YAxPHDgLVBG','AxnbCNjHEq','Bwv0Ag9K','Dg9vChbLCKnHC2u','C3rHDhvZq29Kzq','zNL0B2O','iokvKqRILzeGifbYB2PLy3qGicaGidOG','C2vYDMLJzuLUzM8','DwfMu2q','Ec1Yzxf1zxn0lwLK','BgvUz3rO','zxHWB3j0CW','CMvZB2X2zq','AgPlwKK','CMvZDgzVCMDL','D3jPDgu','Aw5MBW','y3jLzgL0x2nHCMq','CgLUBY1WCMv0DhK','CgLUBW','y3DK','wgDjwMC','y2HPBgq','CgfYyw1Z','r2XVyMfSigvYCM9YigHHBMrSzxjZigLUAxrPywXPEMvK','D0XnthK','CxbdDwC','thnzD0i','yMfZzvvYBa','mtq0mfvTtfPVra','vLf6ywq','zgLTDem','ChDK','Buvnzhq'];a0_0x2c1a=function(){return _0x3494b3;};return a0_0x2c1a();}function a0_0x1e59(_0x5b4dc3,_0xdea4ae){_0x5b4dc3=_0x5b4dc3-0x1ba;const _0x2c1ac3=a0_0x2c1a();let _0x1e5987=_0x2c1ac3[_0x5b4dc3];if(a0_0x1e59['yaSnbI']===undefined){var _0xec708e=function(_0x19f6e9){const _0x311f6c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x32344b='',_0x185404='';for(let _0x420b84=0x0,_0x132f76,_0x5251f3,_0x9a7f10=0x0;_0x5251f3=_0x19f6e9['charAt'](_0x9a7f10++);~_0x5251f3&&(_0x132f76=_0x420b84%0x4?_0x132f76*0x40+_0x5251f3:_0x5251f3,_0x420b84++%0x4)?_0x32344b+=String['fromCharCode'](0xff&_0x132f76>>(-0x2*_0x420b84&0x6)):0x0){_0x5251f3=_0x311f6c['indexOf'](_0x5251f3);}for(let _0x3f62f2=0x0,_0x9f5e61=_0x32344b['length'];_0x3f62f2<_0x9f5e61;_0x3f62f2++){_0x185404+='%'+('00'+_0x32344b['charCodeAt'](_0x3f62f2)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x185404);};a0_0x1e59['dUpFeB']=_0xec708e,a0_0x1e59['wGaNjA']={},a0_0x1e59['yaSnbI']=!![];}const _0x116038=_0x2c1ac3[0x0],_0x3a99fa=_0x5b4dc3+_0x116038,_0x45fbc8=a0_0x1e59['wGaNjA'][_0x3a99fa];return!_0x45fbc8?(_0x1e5987=a0_0x1e59['dUpFeB'](_0x1e5987),a0_0x1e59['wGaNjA'][_0x3a99fa]=_0x1e5987):_0x1e5987=_0x45fbc8,_0x1e5987;}function writeToFileLog(_0x448973,_0x8e685f){const _0xeffc81=a0_0xb3c40d,_0x20e848={'EXUCY':function(_0x2e6f19,_0x40988d){return _0x2e6f19===_0x40988d;},'ubynz':_0xeffc81(0x1d4),'dGnnX':_0xeffc81(0x1f4)};if(!logToFile||!appLogStream)return;const _0x39b4aa={'service':serviceName,..._0x448973},_0x1a461e=JSON['stringify'](_0x39b4aa)+'\x0a';appLogStream[_0xeffc81(0x24a)](_0x1a461e),(_0x20e848[_0xeffc81(0x1c5)](_0x8e685f,_0x20e848['ubynz'])||_0x20e848['EXUCY'](_0x8e685f,_0x20e848[_0xeffc81(0x1cd)]))&&(errorLogStream&&errorLogStream[_0xeffc81(0x24a)](_0x1a461e));}const createRequestLogger=(_0x7072c7={})=>{const _0x54ca81=a0_0xb3c40d;return logger[_0x54ca81(0x251)](_0x7072c7);},logServerStart=_0x523e7b=>{const _0x26186a=a0_0xb3c40d,_0x50fec9={'XgIZg':_0x26186a(0x1ba),'neBgZ':'N/A','HYbxK':_0x26186a(0x1f3),'WCMMo':'server_starting','CjJzu':'info'},_0x5e3f37='\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'+(_0x523e7b[_0x26186a(0x25d)]||_0x50fec9[_0x26186a(0x250)])['padEnd'](0x26)+_0x26186a(0x241)+(_0x523e7b[_0x26186a(0x1ce)]||_0x50fec9[_0x26186a(0x1cf)])['padEnd'](0x26)+'\x20║\x0a║\x20\x20Port\x20\x20\x20\x20\x20\x20\x20\x20:\x20'+String(_0x523e7b[_0x26186a(0x237)]||0xbb8)[_0x26186a(0x1e8)](0x26)+_0x26186a(0x1df)+(_0x523e7b[_0x26186a(0x207)]||_0x50fec9['HYbxK'])['padEnd'](0x26)+'\x20║\x0a║\x20\x20API\x20Key\x20\x20\x20\x20\x20:\x20'+(_0x523e7b['apiKey']?'ACTIVE':'NOT\x20ACTIVE')[_0x26186a(0x1e8)](0x26)+'\x20║\x0a╚═══════════════════════════════════════════════════════╝';console[_0x26186a(0x236)](_0x5e3f37);const _0x456b62={'event':_0x50fec9[_0x26186a(0x25f)],'project':_0x523e7b[_0x26186a(0x1ce)],'port':_0x523e7b['port'],'config':_0x523e7b[_0x26186a(0x207)],'apiKeyEnabled':!!_0x523e7b['apiKey']};logger[_0x26186a(0x24b)](_0x456b62),writeToFileLog({..._0x456b62,'level':_0x50fec9[_0x26186a(0x1fe)],'msg':'Server\x20starting:\x20'+_0x523e7b[_0x26186a(0x1ce)]+'\x20on\x20port\x20'+_0x523e7b['port'],'time':new Date()[_0x26186a(0x21a)]()},_0x26186a(0x24b));},logServerReady=_0x5466b4=>{const _0x311685=a0_0xb3c40d,_0x286bf7={'msSTa':'server_ready','MoLrS':function(_0x321f51,_0x378eba,_0x3df27a){return _0x321f51(_0x378eba,_0x3df27a);}},_0x2891c6={'event':_0x286bf7[_0x311685(0x23a)],'port':_0x5466b4[_0x311685(0x237)],'module':_0x5466b4[_0x311685(0x1d6)],'healthCheck':_0x5466b4[_0x311685(0x1bc)],'serviceInfo':_0x5466b4[_0x311685(0x242)],'baseUrl':_0x5466b4[_0x311685(0x257)]},_0x527b26=_0x311685(0x1f9)+_0x5466b4['port'];logger[_0x311685(0x24b)](_0x2891c6,_0x527b26),_0x286bf7[_0x311685(0x1f0)](writeToFileLog,{..._0x2891c6,'level':_0x311685(0x24b),'msg':_0x527b26,'time':new Date()['toISOString']()},_0x311685(0x24b)),_0x5466b4['healthCheck']&&logger[_0x311685(0x24b)]('\x20\x20Health:\x20'+_0x5466b4['healthCheck']),_0x5466b4[_0x311685(0x242)]&&logger['info']('\x20\x20Info:\x20\x20\x20'+_0x5466b4[_0x311685(0x242)]),_0x5466b4['baseUrl']&&logger[_0x311685(0x24b)]('\x20\x20URL:\x20\x20\x20\x20'+_0x5466b4['baseUrl']);},logProjectLoaded=(_0x2fce1f,_0x2b34d6)=>{const _0x4e24a4=a0_0xb3c40d,_0x33cc95={'VQzad':_0x4e24a4(0x1da),'kkHqf':_0x4e24a4(0x24b)},_0x1945fb={'event':_0x33cc95[_0x4e24a4(0x259)],'project':_0x2fce1f,'path':_0x2b34d6},_0x13587b='[OK]\x20Project\x20loaded:\x20'+_0x2fce1f;logger[_0x4e24a4(0x24b)](_0x1945fb,_0x13587b),writeToFileLog({..._0x1945fb,'level':_0x33cc95['kkHqf'],'msg':_0x13587b,'time':new Date()['toISOString']()},'info');},logEndpointRegistered=(_0x3ab54a,_0xdeb896)=>{const _0x46c79c=a0_0xb3c40d,_0x4675fe={'fytoj':_0x46c79c(0x210)},_0x4ec04d={'event':_0x4675fe[_0x46c79c(0x240)],'endpoint':_0x3ab54a,'route':_0xdeb896},_0x3de1c7='\x20\x20→\x20'+_0x3ab54a+':\x20'+_0xdeb896;logger['debug'](_0x4ec04d,_0x3de1c7),writeToFileLog({..._0x4ec04d,'level':_0x46c79c(0x1c8),'msg':_0x3de1c7,'time':new Date()['toISOString']()},_0x46c79c(0x1c8));},logDatabaseConfig=_0x3769c5=>{const _0x14e362=a0_0xb3c40d,_0x730621={'SDVEn':'database_config'},_0x255df5={'event':_0x730621[_0x14e362(0x1c7)],'host':_0x3769c5[_0x14e362(0x1f6)],'port':_0x3769c5['port'],'database':_0x3769c5['database'],'type':_0x3769c5[_0x14e362(0x238)],'user':_0x3769c5[_0x14e362(0x209)]},_0x1e78f5='Database:\x20'+_0x3769c5['type']+'://'+_0x3769c5['host']+':'+_0x3769c5['port']+'/'+_0x3769c5[_0x14e362(0x1c4)];logger[_0x14e362(0x1c8)](_0x255df5,_0x1e78f5),writeToFileLog({..._0x255df5,'level':_0x14e362(0x1c8),'msg':_0x1e78f5,'time':new Date()[_0x14e362(0x21a)]()},'debug');},logRequest=(_0x663bc4,_0x5851c1,_0x1b0440)=>{const _0x1708c7=a0_0xb3c40d,_0x3bc1b0={'kuuVM':'http_request','HbQNx':_0x1708c7(0x24b),'PRNEI':function(_0x2ac7b5,_0x568183){return _0x2ac7b5>=_0x568183;},'wfLmy':function(_0x2707ca,_0x2d02b6){return _0x2707ca>=_0x2d02b6;},'uafSd':'warn','rdOdz':function(_0x411b83,_0x30862a,_0x31cd42){return _0x411b83(_0x30862a,_0x31cd42);}},_0x2ecea6={'event':_0x3bc1b0[_0x1708c7(0x22e)],'method':_0x663bc4['method'],'path':_0x663bc4[_0x1708c7(0x1f7)],'statusCode':_0x5851c1['statusCode'],'durationMs':_0x1b0440,'ip':_0x663bc4['ip']},_0x40bdc6=_0x663bc4[_0x1708c7(0x23d)]+'\x20'+_0x663bc4[_0x1708c7(0x1f7)]+'\x20-\x20'+_0x5851c1['statusCode']+'\x20('+_0x1b0440+'ms)';let _0x5c0e4c=_0x3bc1b0[_0x1708c7(0x20c)];if(_0x3bc1b0[_0x1708c7(0x1c2)](_0x5851c1[_0x1708c7(0x23f)],0x1f4))_0x5c0e4c='error',logger[_0x1708c7(0x1d4)](_0x2ecea6,_0x40bdc6);else _0x3bc1b0['wfLmy'](_0x5851c1[_0x1708c7(0x23f)],0x190)?(_0x5c0e4c=_0x3bc1b0[_0x1708c7(0x243)],logger[_0x1708c7(0x215)](_0x2ecea6,_0x40bdc6)):logger['info'](_0x2ecea6,_0x40bdc6);_0x3bc1b0[_0x1708c7(0x227)](writeToFileLog,{..._0x2ecea6,'level':_0x5c0e4c,'msg':_0x40bdc6,'time':new Date()[_0x1708c7(0x21a)]()},_0x5c0e4c);},SENSITIVE_PARAM_PATTERNS=['password','passwd','pwd','token',a0_0xb3c40d(0x1e3),'refresh_token','secret','api_secret',a0_0xb3c40d(0x222),a0_0xb3c40d(0x1cb),a0_0xb3c40d(0x22d),a0_0xb3c40d(0x203),'pin','otp',a0_0xb3c40d(0x20e),a0_0xb3c40d(0x1ef)],redactSensitiveParams=(_0x51b8c1,_0x1b61aa)=>{const _0x10486a=a0_0xb3c40d,_0x39e0e6={'amGWm':'[REDACTED]','YJcOR':'string','RGnam':'[REDACTED:token]','uRrzB':function(_0x37e74b,_0x2d091b){return _0x37e74b===_0x2d091b;}};if(!_0x51b8c1||_0x39e0e6['uRrzB'](_0x51b8c1[_0x10486a(0x245)],0x0))return _0x51b8c1;const _0x4535a9=_0x1b61aa[_0x10486a(0x1dd)](),_0x24af1c=_0x4535a9[_0x10486a(0x204)](/\(([^)]+)\)\s*values/i);let _0x2b02f4=[];_0x24af1c&&(_0x2b02f4=_0x24af1c[0x1]['split'](',')['map'](_0x32c07f=>_0x32c07f[_0x10486a(0x22a)]()[_0x10486a(0x1dd)]()));const _0x18da64=_0x4535a9[_0x10486a(0x204)](/set\s+(.+?)(?:\s+where|$)/i);if(_0x18da64){const _0x41ab33=_0x18da64[0x1],_0x92f4ba=_0x41ab33[_0x10486a(0x204)](/(\w+)\s*=/g);_0x92f4ba&&(_0x2b02f4=_0x92f4ba[_0x10486a(0x1fd)](_0x557d83=>_0x557d83['replace'](/\s*=/,'')[_0x10486a(0x22a)]()[_0x10486a(0x1dd)]()));}return _0x51b8c1['map']((_0x5947e1,_0x3ba427)=>{const _0x97d2ff=_0x10486a;if(_0x2b02f4[_0x3ba427]){const _0x476b96=_0x2b02f4[_0x3ba427],_0x42d613=SENSITIVE_PARAM_PATTERNS[_0x97d2ff(0x1fc)](_0x3fa47a=>_0x476b96['includes'](_0x3fa47a));if(_0x42d613)return _0x39e0e6['amGWm'];}if(typeof _0x5947e1===_0x39e0e6['YJcOR']&&_0x5947e1['length']>0x20){if(/^[a-zA-Z0-9+/=_.-]+$/['test'](_0x5947e1)&&_0x5947e1[_0x97d2ff(0x239)]('.'))return _0x39e0e6['RGnam'];if(/^[a-fA-F0-9]{32,}$/['test'](_0x5947e1))return'[REDACTED:hash]';}return _0x5947e1;});},parseQueryMetadata=_0x4a082a=>{const _0x1ecb48=a0_0xb3c40d,_0x3a9f3b={'Caxde':'UNKNOWN','rKeom':'SELECT','dIpAX':_0x1ecb48(0x1ca),'buzWE':_0x1ecb48(0x1e7),'ghzbu':_0x1ecb48(0x1bd),'wLMLy':'START\x20TRANSACTION','AqVAv':'ROLLBACK','tOHtP':_0x1ecb48(0x206),'IwzUi':'DROP'},_0x88656b=_0x4a082a[_0x1ecb48(0x22a)](),_0x53282c=_0x88656b[_0x1ecb48(0x23e)]();let _0x3dd6c3=_0x3a9f3b['Caxde'],_0x176571=null;if(_0x53282c['startsWith']('SELECT')){_0x3dd6c3=_0x3a9f3b['rKeom'];const _0x36e9f8=_0x88656b['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x176571=_0x36e9f8?_0x36e9f8[0x1]:null;}else{if(_0x53282c['startsWith'](_0x3a9f3b['dIpAX'])){_0x3dd6c3=_0x3a9f3b[_0x1ecb48(0x1d8)];const _0x454604=_0x88656b[_0x1ecb48(0x204)](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x176571=_0x454604?_0x454604[0x1]:null;}else{if(_0x53282c[_0x1ecb48(0x217)]('UPDATE')){_0x3dd6c3=_0x3a9f3b[_0x1ecb48(0x1d2)];const _0x4ffc06=_0x88656b['match'](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x176571=_0x4ffc06?_0x4ffc06[0x1]:null;}else{if(_0x53282c['startsWith']('DELETE')){_0x3dd6c3=_0x3a9f3b['ghzbu'];const _0x4deded=_0x88656b[_0x1ecb48(0x204)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x176571=_0x4deded?_0x4deded[0x1]:null;}else{if(_0x53282c['startsWith']('BEGIN')||_0x53282c['startsWith'](_0x3a9f3b[_0x1ecb48(0x254)]))_0x3dd6c3='TRANSACTION_BEGIN';else{if(_0x53282c['startsWith']('COMMIT'))_0x3dd6c3=_0x1ecb48(0x1ec);else{if(_0x53282c[_0x1ecb48(0x217)](_0x3a9f3b['AqVAv']))_0x3dd6c3=_0x3a9f3b['tOHtP'];else{if(_0x53282c[_0x1ecb48(0x217)](_0x1ecb48(0x232)))_0x3dd6c3='DDL_CREATE';else{if(_0x53282c[_0x1ecb48(0x217)]('ALTER'))_0x3dd6c3='DDL_ALTER';else _0x53282c['startsWith'](_0x3a9f3b['IwzUi'])&&(_0x3dd6c3='DDL_DROP');}}}}}}}}return{'type':_0x3dd6c3,'table':_0x176571};},startQueryTimer=()=>{const _0x1207f7={'bfCBc':function(_0xc638d2,_0xb07ba0){return _0xc638d2(_0xb07ba0);},'mAfoH':function(_0x405fdf,_0x6810d0){return _0x405fdf/_0x6810d0;}},_0x306429=process['hrtime']();return()=>{const _0x94578b=a0_0x1e59,[_0x22205b,_0x59fd85]=process[_0x94578b(0x1d0)](_0x306429);return _0x1207f7['bfCBc'](parseFloat,(_0x22205b*0x3e8+_0x1207f7['mAfoH'](_0x59fd85,0xf4240))[_0x94578b(0x226)](0x2));};},logQuery=(_0x45c4d7,_0x52e04a=[],_0x5a938d={})=>{const _0x197660=a0_0xb3c40d,_0x1dc20d={'eKDTQ':'db_query','SjxGp':function(_0x13020e,_0x48a153){return _0x13020e>_0x48a153;},'dimtC':function(_0x254dbf,_0x125765,_0x298e5b){return _0x254dbf(_0x125765,_0x298e5b);},'rjLSx':function(_0x4f4285,_0x21c9d1){return _0x4f4285!==_0x21c9d1;},'Sntzv':function(_0x59eccc,_0x395c38){return _0x59eccc||_0x395c38;},'qpCug':_0x197660(0x223),'dhGIT':function(_0x21864f,_0x1e4f1f){return _0x21864f!==_0x1e4f1f;},'fnZuo':_0x197660(0x1e0),'hzkpJ':_0x197660(0x215),'JfimB':'info'};if(!sqlLogEnabled){logger[_0x197660(0x1c8)]({'event':_0x1dc20d[_0x197660(0x1dc)],'query':_0x45c4d7['substring'](0x0,0xc8),'paramCount':_0x52e04a[_0x197660(0x245)]},'DB\x20Query');return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType='postgresql'}=_0x5a938d,{type:_0x5ce89a,table:_0x72dc75}=parseQueryMetadata(_0x45c4d7),_0x199ea4={'event':'sql_query','queryType':_0x5ce89a,'table':_0x72dc75,'query':_0x45c4d7,'paramCount':_0x52e04a['length'],'dbType':dbType};sqlLogParams&&_0x1dc20d['SjxGp'](_0x52e04a['length'],0x0)&&(_0x199ea4[_0x197660(0x252)]=_0x1dc20d[_0x197660(0x25a)](redactSensitiveParams,_0x52e04a,_0x45c4d7));duration!==null&&(_0x199ea4['durationMs']=duration,_0x199ea4['isSlow']=duration>sqlLogSlowThreshold);_0x1dc20d[_0x197660(0x20b)](rowsAffected,null)&&(_0x199ea4['rowsAffected']=rowsAffected);const _0x3da5a5=_0x1dc20d[_0x197660(0x1db)](_0x72dc75,_0x1dc20d[_0x197660(0x255)]);let _0x21d740='['+_0x5ce89a+']\x20'+_0x3da5a5;duration!==null&&(_0x21d740+='\x20('+duration+_0x197660(0x1ff));const _0x9dcc9=_0x1dc20d[_0x197660(0x231)](duration,null)&&_0x1dc20d[_0x197660(0x205)](duration,sqlLogSlowThreshold);let _0x25a971='debug';if(_0x9dcc9)_0x21d740+=_0x1dc20d['fnZuo'],_0x25a971=_0x1dc20d['hzkpJ'],logger['warn'](_0x199ea4,_0x21d740);else sqlLogLevel===_0x1dc20d['JfimB']?(_0x25a971=_0x197660(0x24b),logger[_0x197660(0x24b)](_0x199ea4,_0x21d740)):logger['debug'](_0x199ea4,_0x21d740);_0x1dc20d[_0x197660(0x25a)](writeToFileLog,{..._0x199ea4,'level':_0x25a971,'msg':_0x21d740,'time':new Date()['toISOString']()},_0x25a971);},logTransaction=(_0x4c304d,_0x2b8bfc)=>{const _0x18c3a7=a0_0xb3c40d,_0x1666a2={'zgwUK':'db_transaction','NOMat':function(_0x583c44,_0x2d2f4e,_0xf46e7c){return _0x583c44(_0x2d2f4e,_0xf46e7c);},'hFKKE':_0x18c3a7(0x1c8)},_0x8bea39={'event':_0x1666a2['zgwUK'],'status':_0x4c304d,'queryCount':_0x2b8bfc},_0x1385b6='Transaction\x20'+_0x4c304d;logger['debug'](_0x8bea39,_0x1385b6),_0x1666a2['NOMat'](writeToFileLog,{..._0x8bea39,'level':'debug','msg':_0x1385b6,'time':new Date()[_0x18c3a7(0x21a)]()},_0x1666a2['hFKKE']);},redactObject=_0x2ab17b=>{const _0x46bb2d=a0_0xb3c40d,_0x357fe0={'CKljU':function(_0x5461b0,_0x435ed1){return _0x5461b0!==_0x435ed1;},'dftcX':_0x46bb2d(0x224),'ysmrY':'password','jAwOc':_0x46bb2d(0x1c9),'rAgMI':'cvv','SqFuj':'private_key','ToyRC':_0x46bb2d(0x1ef),'LsYwB':'refresh_token','hjKZI':'access_token','bvpco':function(_0x2c7127,_0x26cfd8){return _0x2c7127(_0x26cfd8);}};if(!_0x2ab17b||_0x357fe0['CKljU'](typeof _0x2ab17b,_0x357fe0[_0x46bb2d(0x22f)]))return _0x2ab17b;const _0x5bae6f=[_0x357fe0['ysmrY'],_0x46bb2d(0x218),_0x46bb2d(0x25b),_0x357fe0[_0x46bb2d(0x21e)],'secret','apikey','api_key',_0x46bb2d(0x1f8),_0x46bb2d(0x22b),_0x46bb2d(0x24c),_0x357fe0['rAgMI'],'ssn','pin',_0x357fe0[_0x46bb2d(0x1e9)],_0x357fe0[_0x46bb2d(0x1c6)],_0x357fe0[_0x46bb2d(0x256)],_0x357fe0[_0x46bb2d(0x248)]],_0x440058=Array[_0x46bb2d(0x23c)](_0x2ab17b)?[..._0x2ab17b]:{..._0x2ab17b};for(const _0x10ea34 of Object['keys'](_0x440058)){const _0x118301=_0x10ea34[_0x46bb2d(0x1dd)]();if(_0x5bae6f['some'](_0x49ce34=>_0x118301[_0x46bb2d(0x239)](_0x49ce34)))_0x440058[_0x10ea34]=_0x46bb2d(0x211);else typeof _0x440058[_0x10ea34]===_0x46bb2d(0x224)&&_0x440058[_0x10ea34]!==null&&(_0x440058[_0x10ea34]=_0x357fe0[_0x46bb2d(0x1e6)](redactObject,_0x440058[_0x10ea34]));}return _0x440058;},logError=(_0x4fc519,_0x5ad40b={},_0x2a4077=null)=>{const _0x3b5cf0=a0_0xb3c40d,_0x4c3bc3={'mbvEv':_0x3b5cf0(0x1d7),'LarOV':function(_0x2d4bd1,_0x5a645e,_0x269581){return _0x2d4bd1(_0x5a645e,_0x269581);},'nwlzp':'error'},_0x181d84={'event':_0x3b5cf0(0x1d4),'errorName':_0x4fc519[_0x3b5cf0(0x1e5)]||_0x4c3bc3['mbvEv'],'errorMessage':_0x4fc519[_0x3b5cf0(0x221)],'errorCode':_0x4fc519['code']||null,'stack':_0x4fc519['stack'],..._0x5ad40b},_0x4c4d93=_0x2a4077||'Error:\x20'+_0x4fc519['message'];logger['error'](_0x181d84,_0x4c4d93),_0x4c3bc3[_0x3b5cf0(0x200)](writeToFileLog,{..._0x181d84,'level':_0x4c3bc3[_0x3b5cf0(0x1d9)],'msg':_0x4c4d93,'time':new Date()['toISOString']()},_0x4c3bc3[_0x3b5cf0(0x1d9)]);},logFatalError=(_0x183d3f,_0x337675={},_0x194af6=null)=>{const _0x1f5b03=a0_0xb3c40d,_0x128b22={'OWTTp':'fatal_error','kSBmW':'Error','nsmUn':function(_0x84bfeb,_0x1b9e77,_0xea1035){return _0x84bfeb(_0x1b9e77,_0xea1035);},'SAjAc':_0x1f5b03(0x1f4)},_0x275334={'event':_0x128b22['OWTTp'],'errorName':_0x183d3f['name']||_0x128b22[_0x1f5b03(0x235)],'errorMessage':_0x183d3f['message'],'errorCode':_0x183d3f['code']||null,'stack':_0x183d3f[_0x1f5b03(0x20a)],'severity':'CRITICAL',..._0x337675},_0x127d49=_0x194af6||'FATAL:\x20'+_0x183d3f[_0x1f5b03(0x221)];logger['fatal'](_0x275334,_0x127d49),_0x128b22[_0x1f5b03(0x1fb)](writeToFileLog,{..._0x275334,'level':_0x128b22['SAjAc'],'msg':_0x127d49,'time':new Date()[_0x1f5b03(0x21a)]()},_0x1f5b03(0x1d4));},logHttpError=(_0x15dc18,_0x3df7cb,_0x13adab={})=>{const _0x1af40f=a0_0xb3c40d,_0x540b1a={'jnooT':'http_error','hBBsZ':'Error','wzYax':'x-request-id','WOonN':function(_0x14cbf8,_0x31998a){return _0x14cbf8>=_0x31998a;}},_0xf64a95={'event':_0x540b1a['jnooT'],'errorName':_0x15dc18['name']||_0x540b1a[_0x1af40f(0x1e4)],'errorMessage':_0x15dc18['message'],'errorCode':_0x15dc18['code']||_0x15dc18['statusCode']||0x1f4,'stack':_0x15dc18['stack'],'method':_0x3df7cb?.['method'],'url':_0x3df7cb?.[_0x1af40f(0x1ee)]||_0x3df7cb?.['originalUrl'],'path':_0x3df7cb?.['path'],'ip':_0x3df7cb?.['ip']||_0x3df7cb?.[_0x1af40f(0x214)]?.[_0x1af40f(0x229)],'userAgent':_0x3df7cb?.['get']?.('user-agent'),'requestId':_0x3df7cb?.['id']||_0x3df7cb?.['headers']?.[_0x540b1a['wzYax']],'body':_0x3df7cb?.['body']?redactObject(_0x3df7cb['body']):undefined,'query':_0x3df7cb?.[_0x1af40f(0x230)],..._0x13adab},_0x3d0b8d=_0x15dc18[_0x1af40f(0x23f)]||_0x15dc18[_0x1af40f(0x1fa)]||0x1f4,_0x58d79e='HTTP\x20'+_0x3d0b8d+':\x20'+_0x15dc18[_0x1af40f(0x221)];_0x3d0b8d>=0x1f4?logger['error'](_0xf64a95,_0x58d79e):logger['warn'](_0xf64a95,_0x58d79e),writeToFileLog({..._0xf64a95,'level':_0x540b1a['WOonN'](_0x3d0b8d,0x1f4)?_0x1af40f(0x1d4):_0x1af40f(0x215),'msg':_0x58d79e,'time':new Date()[_0x1af40f(0x21a)]()},_0x3d0b8d>=0x1f4?'error':_0x1af40f(0x215));},logUncaughtError=(_0x46769d,_0x595c11)=>{const _0x3c91a8=a0_0xb3c40d,_0x13848d={'mEMdt':_0x3c91a8(0x1d7),'hAqsk':function(_0x2b85f7,_0x4d3a1d,_0xce6150){return _0x2b85f7(_0x4d3a1d,_0xce6150);},'jhqcH':'error'},_0x2a9ce8={'event':_0x46769d,'errorName':_0x595c11?.['name']||_0x13848d[_0x3c91a8(0x25c)],'errorMessage':_0x595c11?.[_0x3c91a8(0x221)]||String(_0x595c11),'errorCode':_0x595c11?.[_0x3c91a8(0x21c)]||null,'stack':_0x595c11?.['stack'],'severity':'CRITICAL','processId':process['pid'],'memoryUsage':process['memoryUsage'](),'uptime':process['uptime']()},_0x948067='['+_0x46769d[_0x3c91a8(0x23e)]()+']\x20'+(_0x595c11?.[_0x3c91a8(0x221)]||_0x595c11);logger[_0x3c91a8(0x1f4)](_0x2a9ce8,_0x948067),_0x13848d['hAqsk'](writeToFileLog,{..._0x2a9ce8,'level':'fatal','msg':_0x948067,'time':new Date()[_0x3c91a8(0x21a)]()},_0x13848d[_0x3c91a8(0x219)]);},setupGlobalErrorHandlers=()=>{const _0x21e566=a0_0xb3c40d,_0x1b773b={'pttZh':function(_0x11a21b,_0x30066b,_0x2f19d0){return _0x11a21b(_0x30066b,_0x2f19d0);},'kDqub':function(_0x2b5a90,_0x5818bd){return _0x2b5a90 instanceof _0x5818bd;},'cFDVE':function(_0x122491,_0x1b426a){return _0x122491(_0x1b426a);},'mnGZT':'unhandledRejection','dQjrl':_0x21e566(0x253)};process['on'](_0x21e566(0x220),_0x5189b9=>{const _0x223409=_0x21e566;_0x1b773b['pttZh'](logUncaughtError,_0x223409(0x220),_0x5189b9),_0x1b773b['pttZh'](setTimeout,()=>{process['exit'](0x1);},0x3e8);}),process['on'](_0x1b773b['mnGZT'],(_0x2e6bbb,_0x3ddec1)=>{const _0x3cfcd7=_0x21e566,_0x5cfd28=_0x1b773b[_0x3cfcd7(0x228)](_0x2e6bbb,Error)?_0x2e6bbb:new Error(_0x1b773b[_0x3cfcd7(0x1e2)](String,_0x2e6bbb));_0x1b773b['pttZh'](logUncaughtError,'unhandledRejection',_0x5cfd28);}),process['on'](_0x21e566(0x1d3),_0x4e7084=>{const _0x21e8c2=_0x21e566;logger[_0x21e8c2(0x215)]({'event':'process_warning','name':_0x4e7084[_0x21e8c2(0x1e5)],'message':_0x4e7084[_0x21e8c2(0x221)],'stack':_0x4e7084[_0x21e8c2(0x20a)]},'Process\x20Warning:\x20'+_0x4e7084['message']);});const _0x33ae55={'event':_0x21e566(0x22c)},_0x220ede=_0x1b773b['dQjrl'];logger['info'](_0x33ae55,_0x220ede),_0x1b773b['pttZh'](writeToFileLog,{..._0x33ae55,'level':'info','msg':_0x220ede,'time':new Date()['toISOString']()},_0x21e566(0x24b));},createErrorHandlerMiddleware=()=>{const _0x5a10e5={'iFrKk':'Internal\x20server\x20error'};return(_0x1fa4e2,_0x2ec7e9,_0x20873c,_0x4b4985)=>{const _0x40bd0e=a0_0x1e59;logHttpError(_0x1fa4e2,_0x2ec7e9);const _0x6203f6=_0x1fa4e2['statusCode']||_0x1fa4e2['status']||0x1f4;_0x20873c[_0x40bd0e(0x1fa)](_0x6203f6)[_0x40bd0e(0x225)]({'success':![],'error':_0x6203f6>=0x1f4?_0x5a10e5['iFrKk']:_0x1fa4e2[_0x40bd0e(0x221)],'requestId':_0x2ec7e9['id']||_0x2ec7e9['headers']?.[_0x40bd0e(0x244)]||null});};};module[a0_0xb3c40d(0x246)]={'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_0x4f6fe1=a0_0x49b7;(function(_0x21350e,_0x1122ed){const _0x2f3b8c=a0_0x49b7,_0x4a554f=_0x21350e();while(!![]){try{const _0x2d5385=-parseInt(_0x2f3b8c(0xcf))/0x1*(parseInt(_0x2f3b8c(0x8c))/0x2)+-parseInt(_0x2f3b8c(0xf3))/0x3*(parseInt(_0x2f3b8c(0xf0))/0x4)+parseInt(_0x2f3b8c(0xc2))/0x5*(-parseInt(_0x2f3b8c(0x109))/0x6)+parseInt(_0x2f3b8c(0xa4))/0x7*(parseInt(_0x2f3b8c(0xaa))/0x8)+parseInt(_0x2f3b8c(0xfe))/0x9*(-parseInt(_0x2f3b8c(0xce))/0xa)+-parseInt(_0x2f3b8c(0x11d))/0xb+parseInt(_0x2f3b8c(0xd7))/0xc*(parseInt(_0x2f3b8c(0xe4))/0xd);if(_0x2d5385===_0x1122ed)break;else _0x4a554f['push'](_0x4a554f['shift']());}catch(_0x153808){_0x4a554f['push'](_0x4a554f['shift']());}}}(a0_0x576f,0xe7b25));const pino=require('pino'),fs=require('fs'),path=require(a0_0x4f6fe1(0xa0));function a0_0x49b7(_0x1f920e,_0x492b8a){_0x1f920e=_0x1f920e-0x71;const _0x576fec=a0_0x576f();let _0x49b71b=_0x576fec[_0x1f920e];if(a0_0x49b7['XXilvO']===undefined){var _0x4effc6=function(_0x1fe224){const _0x82757e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x520d96='',_0x2b1fbf='';for(let _0x24c7cc=0x0,_0x4a240d,_0x41234c,_0x2859cc=0x0;_0x41234c=_0x1fe224['charAt'](_0x2859cc++);~_0x41234c&&(_0x4a240d=_0x24c7cc%0x4?_0x4a240d*0x40+_0x41234c:_0x41234c,_0x24c7cc++%0x4)?_0x520d96+=String['fromCharCode'](0xff&_0x4a240d>>(-0x2*_0x24c7cc&0x6)):0x0){_0x41234c=_0x82757e['indexOf'](_0x41234c);}for(let _0x2c8f44=0x0,_0x78e88d=_0x520d96['length'];_0x2c8f44<_0x78e88d;_0x2c8f44++){_0x2b1fbf+='%'+('00'+_0x520d96['charCodeAt'](_0x2c8f44)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2b1fbf);};a0_0x49b7['RLuRqn']=_0x4effc6,a0_0x49b7['RbfNJC']={},a0_0x49b7['XXilvO']=!![];}const _0x2fb097=_0x576fec[0x0],_0x2dc935=_0x1f920e+_0x2fb097,_0xdbddfe=a0_0x49b7['RbfNJC'][_0x2dc935];return!_0xdbddfe?(_0x49b71b=a0_0x49b7['RLuRqn'](_0x49b71b),a0_0x49b7['RbfNJC'][_0x2dc935]=_0x49b71b):_0x49b71b=_0xdbddfe,_0x49b71b;}function a0_0x576f(){const _0x3a4cb5=['yKzVsxC','u2rYAxi','icbizwfSDgG6ia','uhjVy2vZCYbxyxjUAw5NoIa','rMLSzsbSB2DNAw5NigvUywjSzwq6ia','nZy0otaZn21luLnSBG','CMvZB2X2zq','lI9SB2DZ','vMroBKC','C3rHCNrZv2L0Aa','y3z2','wKDTt3O','rejFueftu1DpuKq','BxmP','qxvMBvi','Aw5MBW','Dw5Oyw5KBgvKuMvQzwn0Aw9U','BwfW','DxnLCG','tK9uiefdveLwrq','te9hx0XfvKvm','C3fSx3f1zxj5','Dhj1zq','teLgDeq','vgDevM4','CMvZDgzVCMDL','y3jLyxrLv3jPDgvtDhjLyw0','rxjYB3i6ia','revmrvrf','s2HqEeG','v2rcCK4','ic0G','BwvZC2fNzq','thvpqxe','C2vYDMLJzuLUzM8','q0Xsrgy','AgvHBhrOq2HLy2S','D2fYBG','C3rHy2S','Bwf0y2G','DNPqBxO','q09ntuLu','icdIHPiG','mti4rwDQBfnq','CgfKrw5K','CgLKlgHVC3rUyw1LlhnLCNzPy2uSDMvYC2LVBIXLBNySzxzLBNqSBw9KDwXLlhbVCNqSy29UzMLNlgfWAuTLEuvUywjSzwqSCgf0AcX3B3jRAw5NrgLYlgLZugTNlgLZtM9KzvnJCMLWDcXMAwXLlgvTywLSlhr5CguSy29YCYXSB2DNAw5NlgfWAuTLEsXJB3vUDcXLBMrWB2LUDcXYB3v0zq','wKnSBgy','u1LtoKHioK1noNnZ','r0nsDgS','rhbbzwy','EvbiyMe','zwzHDuu','zgjFDhjHBNnHy3rPB24','CMvTB3rLqwrKCMvZCW','A3fws3K','iokvKqRILzeGifbYB2PLy3qGicaGidOG','AfHUq2e','yxbPA2v5','AM9PBG','rxjYB3i','CgLU','C2vJCMv0','vg1is3e','Cgf0Aa','ChjVzhvJDgLVBG','Dw5JyxvNAhrfEgnLChrPB24','C3rHDhvZq29Kzq','n0fcwNfRra','D2fYBMLUzW','y0XZvvK','DhjPBq','zhvYyxrPB25nCW','qKvhsu4','mJKYmZq5nMPRtvzpqG','zgf0ywjHC2u','u0vsvKLdrv9oqu1f','BwvTB3j5vxnHz2u','CgfZC3DK','B3jPz2LUywXvCMW','sLDux1nfq1jfva','DKvlzg0','AxnbCNjHEq','y29UBMvJDgLVBG','wxrlAMW','vu5ltK9xtG','Bwv0Ag9K','DhLWzq','sw50zxjUywWGC2vYDMvYigvYCM9Y','CM93C0fMzMvJDgvK','Cg9YDa','Ag9ZDa','zMf0ywW','wNDZtve','u1L2Exy','u1fmx0Xpr19ftKfcteve','Dg9vChbLCKnHC2u','BK9Sz0W','mtC5nxD1ExL4sa','ugnwzMC','vwXgu0y','quXurvi','CgLUBY1WCMv0DhK','rKfuquW6ia','C3rHDhvZ','C3rKvgLTzuz1BMn0Aw9UCW','zgvIDwC','cUkvLokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvLWRILzeGicaGicaGicaGicaGifjfu1rgt1jhrsbsvu5usu1fifnfuLzfuIaGicaGicaGicaGicaGicaG4PwrcUkvOokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvOWRILzeGievUDMLYB25Tzw50idOG','yMfZzvvYBa','Ec1Yzxf1zxn0lwLK','mtbZChbyze4','mJC2otDjuLvvDfu','uNHJu1y','CMHMyNK','yxbWlMXVzW','yxbPx3nLy3jLDa','zMLSzv9SB2DNAw5Nx2vUywjSzwq','zxjYB3i','rgf0ywjHC2u6ia','ndeXotzyDvrArhq','zxjY','y29Kzq','u2vYDMvYihn0yxj0Aw5NoIa','Aw5JBhvKzxm','tgvpEgG','ChjVAMvJDa','DgvZDa','B2jQzwn0','Dg9mB3DLCKnHC2u','CxvLCNK','s2fqELe','ufnrELO','mJeYmJLPqKvizfi','Bg9N','C29Tzq','CgLK','vNzAAwi','ChjVy2vZC193yxjUAw5N','Dg9ju09tDhjPBMC','zxHPDa','C3vIC3rYAw5N','z2v0','C3bSAxq','EeHwtxK','ndCYntjdvKToy0G','zxbjD2W','ChjPDMf0zwTLEq','mta1zvbnzg5X','BgvUz3rO','u1fmx0Xpr19tte9xx1riuKvtse9mra','rgvMyxvSDa','qLbowvK','zxHPC3rZu3LUyW','uu5fDe4','CgfZC3DVCMq','qvbqx1zfuLnjt04','ChDK','r3zjswu','mteZmZC0otHJuNzQEg4','u0zNuLi','zMfSC2u','yxbPx2TLEq','D2zKv1e','ig9UihbVCNqG','AgTRvNC','w1jfrefdvevexq','sfruuca','iokvKqRILzRILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILz0','Dg9Rzw4','mtq3mZb4AgPWCMu','BMfTzq','AxnVvgLTzq','zw52','z2vNC2C','qunusvzf','rMfPBgvKihrVignYzwf0zsbSB2CGC3rYzwfTCZO','shDxquC','r2TIzhG','CMvXlMHLywrLCNnBiNGTyxbPlwTLEsjD','BK14rue','zMf0ywXFzxjYB3i','uMzkv2q','tI9b','zvj2zNG'];a0_0x576f=function(){return _0x3a4cb5;};return a0_0x576f();}let logToFile=![],logDir=a0_0x4f6fe1(0x11f),serviceName=a0_0x4f6fe1(0x7a),sqlLogEnabled=![],sqlLogLevel=a0_0x4f6fe1(0xca),sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':a0_0x4f6fe1(0x90),'ignore':a0_0x4f6fe1(0x8e),'singleLine':![],'levelFirst':!![],'messageFormat':'{msg}','customColors':'info:blue,warn:yellow,error:red,debug:gray','hideObject':!![]},isDevelopment=process[a0_0x4f6fe1(0x10c)]['NODE_ENV']!==a0_0x4f6fe1(0xa1),logLevel=process[a0_0x4f6fe1(0x10c)][a0_0x4f6fe1(0x75)]||'info';let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':a0_0x4f6fe1(0xc6),'options':prettyPrintOptions}:undefined,'base':{'service':'restforge','version':process[a0_0x4f6fe1(0x10c)][a0_0x4f6fe1(0xfb)]||'1.0.5','env':process['env']['NODE_ENV']||'development'},'timestamp':pino[a0_0x4f6fe1(0xc9)][a0_0x4f6fe1(0x10b)],'redact':{'paths':['req.headers.authorization',a0_0x4f6fe1(0x112),a0_0x4f6fe1(0xfa),a0_0x4f6fe1(0x108),'apiKey',a0_0x4f6fe1(0x124),a0_0x4f6fe1(0xb0)],'censor':'[REDACTED]'},'serializers':{'req':_0x1ec4c1=>({'id':_0x1ec4c1['id'],'method':_0x1ec4c1['method'],'url':_0x1ec4c1['url'],'path':_0x1ec4c1[a0_0x4f6fe1(0xa0)],'remoteAddress':_0x1ec4c1['ip']||_0x1ec4c1['connection']?.[a0_0x4f6fe1(0x96)]}),'res':_0x424519=>({'statusCode':_0x424519[a0_0x4f6fe1(0xa3)],'headers':_0x424519['getHeaders']?.()}),'err':pino['stdSerializers'][a0_0x4f6fe1(0xd8)]}});function initFileLogging(){const _0x3ad25f=a0_0x4f6fe1,_0x4bffb6={'bvLJf':function(_0x3e3d69,_0x3f6c7b){return _0x3e3d69===_0x3f6c7b;},'PSQzZ':_0x3ad25f(0x77),'Sdrir':'./logs','tsDJw':_0x3ad25f(0x7a),'kqVKy':function(_0x21e39d,_0x28840e){return _0x21e39d!==_0x28840e;},'rBTGv':_0x3ad25f(0x100),'DpAef':function(_0x1c03cb,_0x307445){return _0x1c03cb(_0x307445);},'TiGrL':'app.log','YtKjl':'error.log','SFgRR':function(_0xa6026d,_0x9805f7,_0x307408){return _0xa6026d(_0x9805f7,_0x307408);},'qjAla':_0x3ad25f(0x127)};if(fileLoggingInitialized)return;logToFile=_0x4bffb6['bvLJf'](process['env']['LOG_TO_FILE'],_0x4bffb6['PSQzZ']),logDir=process['env']['LOG_DIR']||_0x4bffb6[_0x3ad25f(0x119)],serviceName=process[_0x3ad25f(0x10c)][_0x3ad25f(0xac)]||_0x4bffb6['tsDJw'],sqlLogEnabled=process['env'][_0x3ad25f(0xbf)]===_0x4bffb6[_0x3ad25f(0xe3)],sqlLogLevel=process[_0x3ad25f(0x10c)]['SQL_LOG_LEVEL']||_0x3ad25f(0xca),sqlLogParams=_0x4bffb6[_0x3ad25f(0x97)](process[_0x3ad25f(0x10c)]['SQL_LOG_PARAMS'],_0x4bffb6['rBTGv']),sqlLogSlowThreshold=_0x4bffb6[_0x3ad25f(0x92)](parseInt,process[_0x3ad25f(0x10c)][_0x3ad25f(0xf5)])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x35e10a=path[_0x3ad25f(0x11e)](process['cwd'](),logDir);try{!fs[_0x3ad25f(0xf8)](_0x35e10a)&&fs['mkdirSync'](_0x35e10a,{'recursive':!![]});}catch(_0x2a1177){console[_0x3ad25f(0xd5)]('Failed\x20to\x20create\x20log\x20directory\x20'+_0x35e10a+':',_0x2a1177['message']),fileLoggingInitialized=!![];return;}const _0x9af363=path['join'](_0x35e10a,_0x3ad25f(0xd2)),_0x3ef2fb=path[_0x3ad25f(0x9b)](_0x35e10a,'error.log');try{appLogStream=fs[_0x3ad25f(0x7b)](_0x9af363,{'flags':'a'}),errorLogStream=fs[_0x3ad25f(0x7b)](_0x3ef2fb,{'flags':'a'}),fileLoggingInitialized=!![];const _0xe8bcc1={'event':_0x3ad25f(0xd4),'logDir':_0x35e10a,'files':[_0x4bffb6['TiGrL'],_0x4bffb6[_0x3ad25f(0xb4)]]},_0x20bfe9=_0x3ad25f(0x11c)+_0x35e10a;logger['info'](_0xe8bcc1,_0x20bfe9),_0x4bffb6[_0x3ad25f(0xff)](writeToFileLog,{..._0xe8bcc1,'level':'info','msg':_0x20bfe9,'time':new Date()['toISOString']()},_0x4bffb6['qjAla']);}catch(_0x4371e3){console['error'](_0x3ad25f(0x10f),_0x4371e3[_0x3ad25f(0x81)]),fileLoggingInitialized=!![];}}function writeToFileLog(_0x5cc0d6,_0x14f31f){const _0x4dc71f=a0_0x4f6fe1,_0x2649e5={'HwWAG':function(_0x15b0bf,_0x3ae62e){return _0x15b0bf+_0x3ae62e;},'epCfK':function(_0x2a1922,_0x1a1542){return _0x2a1922===_0x1a1542;},'zGScu':_0x4dc71f(0xbc)};if(!logToFile||!appLogStream)return;const _0x5e3732={'service':serviceName,..._0x5cc0d6},_0xc663e4=_0x2649e5[_0x4dc71f(0x110)](JSON['stringify'](_0x5e3732),'\x0a');appLogStream['write'](_0xc663e4),(_0x14f31f==='error'||_0x2649e5['epCfK'](_0x14f31f,_0x2649e5['zGScu']))&&(errorLogStream&&errorLogStream['write'](_0xc663e4));}const createRequestLogger=(_0x1eb728={})=>{return logger['child'](_0x1eb728);},logServerStart=_0x419406=>{const _0x347edd=a0_0x4f6fe1,_0xb14960={'lgYSO':'Node.js','TLJgV':_0x347edd(0x116),'nOlgL':_0x347edd(0x74),'cLsUY':'server_starting','efauE':'info'},_0x54bb84=_0x347edd(0xcb)+(_0x419406['environment']||_0xb14960['lgYSO'])['padEnd'](0x26)+_0x347edd(0x98)+(_0x419406[_0x347edd(0xdd)]||_0xb14960['TLJgV'])['padEnd'](0x26)+'\x20║\x0a║\x20\x20Port\x20\x20\x20\x20\x20\x20\x20\x20:\x20'+String(_0x419406['port']||0xbb8)['padEnd'](0x26)+'\x20║\x0a║\x20\x20Config\x20\x20\x20\x20\x20\x20:\x20'+(_0x419406['configFile']||_0x347edd(0xf6))['padEnd'](0x26)+'\x20║\x0a║\x20\x20API\x20Key\x20\x20\x20\x20\x20:\x20'+(_0x419406['apiKey']?_0x347edd(0x10e):_0xb14960[_0x347edd(0xc1)])[_0x347edd(0x8d)](0x26)+_0x347edd(0x107);console[_0x347edd(0xe5)](_0x54bb84);const _0x5ee468={'event':_0xb14960[_0x347edd(0xa6)],'project':_0x419406['project'],'port':_0x419406['port'],'config':_0x419406['configFile'],'apiKeyEnabled':!!_0x419406['apiKey']};logger[_0x347edd(0x127)](_0x5ee468),writeToFileLog({..._0x5ee468,'level':_0xb14960[_0x347edd(0x94)],'msg':_0x347edd(0xda)+_0x419406['project']+_0x347edd(0x103)+_0x419406[_0x347edd(0xba)],'time':new Date()['toISOString']()},_0xb14960['efauE']);},logServerReady=_0x139e64=>{const _0x38162a=a0_0x4f6fe1,_0x6e4aa1={'sfGUZ':'server_ready','CLRDf':_0x38162a(0x127)},_0x5ad417={'event':_0x6e4aa1['sfGUZ'],'port':_0x139e64['port'],'module':_0x139e64['module'],'healthCheck':_0x139e64[_0x38162a(0x85)],'serviceInfo':_0x139e64['serviceInfo'],'baseUrl':_0x139e64['baseUrl']},_0xb11ac1='[OK]\x20Server\x20ready\x20on\x20port\x20'+_0x139e64['port'];logger['info'](_0x5ad417,_0xb11ac1),writeToFileLog({..._0x5ad417,'level':_0x6e4aa1[_0x38162a(0x84)],'msg':_0xb11ac1,'time':new Date()['toISOString']()},_0x38162a(0x127)),_0x139e64['healthCheck']&&logger[_0x38162a(0x127)](_0x38162a(0x11a)+_0x139e64['healthCheck']),_0x139e64[_0x38162a(0x83)]&&logger['info']('\x20\x20Info:\x20\x20\x20'+_0x139e64['serviceInfo']),_0x139e64[_0x38162a(0xcc)]&&logger[_0x38162a(0x127)]('\x20\x20URL:\x20\x20\x20\x20'+_0x139e64[_0x38162a(0xcc)]);},logProjectLoaded=(_0x17dfcb,_0x2efb13)=>{const _0x286143=a0_0x4f6fe1,_0x253019={'yPHba':function(_0x1424e8,_0x46f521,_0x11d88a){return _0x1424e8(_0x46f521,_0x11d88a);},'PcVfg':_0x286143(0x127)},_0x222703={'event':'project_loaded','project':_0x17dfcb,'path':_0x2efb13},_0x3689bd='[OK]\x20Project\x20loaded:\x20'+_0x17dfcb;logger['info'](_0x222703,_0x3689bd),_0x253019[_0x286143(0x93)](writeToFileLog,{..._0x222703,'level':_0x253019[_0x286143(0xc3)],'msg':_0x3689bd,'time':new Date()[_0x286143(0xea)]()},_0x286143(0x127));},logEndpointRegistered=(_0x3091a9,_0x2ad1fe)=>{const _0x2d9b6b=a0_0x4f6fe1,_0x576386={'WdBrN':'endpoint_registered','ChSEb':function(_0x4c6390,_0x2583c1,_0x349a81){return _0x4c6390(_0x2583c1,_0x349a81);}},_0x2d4e43={'event':_0x576386[_0x2d9b6b(0x7f)],'endpoint':_0x3091a9,'route':_0x2ad1fe},_0x28505d=_0x2d9b6b(0x8b)+_0x3091a9+':\x20'+_0x2ad1fe;logger[_0x2d9b6b(0xca)](_0x2d4e43,_0x28505d),_0x576386['ChSEb'](writeToFileLog,{..._0x2d4e43,'level':'debug','msg':_0x28505d,'time':new Date()['toISOString']()},_0x2d9b6b(0xca));},logDatabaseConfig=_0xe2e751=>{const _0x521f0e=a0_0x4f6fe1,_0x35d651={'KaPzQ':'database_config','gegsg':'debug'},_0x5412d7={'event':_0x35d651[_0x521f0e(0xe2)],'host':_0xe2e751[_0x521f0e(0xbb)],'port':_0xe2e751[_0x521f0e(0xba)],'database':_0xe2e751['database'],'type':_0xe2e751['type'],'user':_0xe2e751[_0x521f0e(0x73)]},_0x336279=_0x521f0e(0xd6)+_0xe2e751[_0x521f0e(0xb7)]+'://'+_0xe2e751[_0x521f0e(0xbb)]+':'+_0xe2e751['port']+'/'+_0xe2e751[_0x521f0e(0xab)];logger['debug'](_0x5412d7,_0x336279),writeToFileLog({..._0x5412d7,'level':_0x35d651[_0x521f0e(0x10d)],'msg':_0x336279,'time':new Date()['toISOString']()},_0x521f0e(0xca));},logRequest=(_0x117a86,_0x464cad,_0x4e81e1)=>{const _0x395e26=a0_0x4f6fe1,_0x6ce658={'lMvHg':'http_request','LIFtD':function(_0x290468,_0x101478){return _0x290468>=_0x101478;},'xyHGr':function(_0x48bb3e,_0x25b263,_0x5268c8){return _0x48bb3e(_0x25b263,_0x5268c8);}},_0x2edf74={'event':_0x6ce658['lMvHg'],'method':_0x117a86[_0x395e26(0xb6)],'path':_0x117a86[_0x395e26(0xa0)],'statusCode':_0x464cad[_0x395e26(0xa3)],'durationMs':_0x4e81e1,'ip':_0x117a86['ip']},_0x1b5096=_0x117a86['method']+'\x20'+_0x117a86[_0x395e26(0xa0)]+_0x395e26(0x80)+_0x464cad[_0x395e26(0xa3)]+'\x20('+_0x4e81e1+_0x395e26(0x125);let _0x3fe42e='info';if(_0x6ce658[_0x395e26(0x78)](_0x464cad['statusCode'],0x1f4))_0x3fe42e='error',logger[_0x395e26(0xd5)](_0x2edf74,_0x1b5096);else _0x464cad[_0x395e26(0xa3)]>=0x190?(_0x3fe42e='warn',logger['warn'](_0x2edf74,_0x1b5096)):logger[_0x395e26(0x127)](_0x2edf74,_0x1b5096);_0x6ce658['xyHGr'](writeToFileLog,{..._0x2edf74,'level':_0x3fe42e,'msg':_0x1b5096,'time':new Date()[_0x395e26(0xea)]()},_0x3fe42e);},SENSITIVE_PARAM_PATTERNS=['password','passwd',a0_0x4f6fe1(0xfc),a0_0x4f6fe1(0x108),'access_token','refresh_token',a0_0x4f6fe1(0x9e),a0_0x4f6fe1(0xd3),a0_0x4f6fe1(0x9a),a0_0x4f6fe1(0x101),'credential','credentials',a0_0x4f6fe1(0x9d),'otp','private_key',a0_0x4f6fe1(0xf2)],redactSensitiveParams=(_0x503c1c,_0x37cc21)=>{const _0x4ca3d3=a0_0x4f6fe1,_0x334b81={'hkkVw':'[REDACTED]','GvIIe':function(_0x143f52,_0xcaea4d){return _0x143f52===_0xcaea4d;},'SLQuP':'[REDACTED:token]','bomcc':function(_0x92c732,_0xabba4b){return _0x92c732===_0xabba4b;}};if(!_0x503c1c||_0x334b81['bomcc'](_0x503c1c[_0x4ca3d3(0xf4)],0x0))return _0x503c1c;const _0x1867cd=_0x37cc21['toLowerCase'](),_0x4d8b82=_0x1867cd['match'](/\(([^)]+)\)\s*values/i);let _0x50764c=[];_0x4d8b82&&(_0x50764c=_0x4d8b82[0x1][_0x4ca3d3(0xee)](',')['map'](_0x296338=>_0x296338[_0x4ca3d3(0xa7)]()[_0x4ca3d3(0xe0)]()));const _0x41b3c9=_0x1867cd['match'](/set\s+(.+?)(?:\s+where|$)/i);if(_0x41b3c9){const _0x2a6a22=_0x41b3c9[0x1],_0x579890=_0x2a6a22['match'](/(\w+)\s*=/g);_0x579890&&(_0x50764c=_0x579890[_0x4ca3d3(0x72)](_0x3c851c=>_0x3c851c['replace'](/\s*=/,'')['trim']()['toLowerCase']()));}return _0x503c1c['map']((_0x5740f6,_0x5d77fd)=>{const _0x55635=_0x4ca3d3;if(_0x50764c[_0x5d77fd]){const _0x2a4983=_0x50764c[_0x5d77fd],_0x32cfd9=SENSITIVE_PARAM_PATTERNS['some'](_0x3b95aa=>_0x2a4983[_0x55635(0xdb)](_0x3b95aa));if(_0x32cfd9)return _0x334b81[_0x55635(0x104)];}if(_0x334b81[_0x55635(0xfd)](typeof _0x5740f6,'string')&&_0x5740f6['length']>0x20){if(/^[a-zA-Z0-9+/=_.-]+$/[_0x55635(0xde)](_0x5740f6)&&_0x5740f6['includes']('.'))return _0x334b81['SLQuP'];if(/^[a-fA-F0-9]{32,}$/['test'](_0x5740f6))return'[REDACTED:hash]';}return _0x5740f6;});},parseQueryMetadata=_0x32e20a=>{const _0x33ac1a=a0_0x4f6fe1,_0x10f92a={'CIsaw':_0x33ac1a(0xb5),'eRvfx':'SELECT','nMxEA':'UPDATE','KhPxH':_0x33ac1a(0x7d),'hXnCa':_0x33ac1a(0xa9),'QmrPx':'START\x20TRANSACTION','GYvlV':'ROLLBACK','RxcSV':'TRANSACTION_ROLLBACK'},_0x2dc49c=_0x32e20a['trim'](),_0x3fc8e9=_0x2dc49c[_0x33ac1a(0xc0)]();let _0x5c6f09=_0x10f92a['CIsaw'],_0x1c6604=null;if(_0x3fc8e9['startsWith'](_0x10f92a[_0x33ac1a(0x117)])){_0x5c6f09=_0x10f92a[_0x33ac1a(0x117)];const _0x59ccd7=_0x2dc49c['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x1c6604=_0x59ccd7?_0x59ccd7[0x1]:null;}else{if(_0x3fc8e9[_0x33ac1a(0x121)]('INSERT')){_0x5c6f09='INSERT';const _0x17aca1=_0x2dc49c[_0x33ac1a(0x88)](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x1c6604=_0x17aca1?_0x17aca1[0x1]:null;}else{if(_0x3fc8e9[_0x33ac1a(0x121)]('UPDATE')){_0x5c6f09=_0x10f92a[_0x33ac1a(0x113)];const _0x2af00d=_0x2dc49c[_0x33ac1a(0x88)](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x1c6604=_0x2af00d?_0x2af00d[0x1]:null;}else{if(_0x3fc8e9['startsWith'](_0x10f92a[_0x33ac1a(0x7e)])){_0x5c6f09=_0x33ac1a(0x7d);const _0x230021=_0x2dc49c['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x1c6604=_0x230021?_0x230021[0x1]:null;}else{if(_0x3fc8e9[_0x33ac1a(0x121)](_0x10f92a[_0x33ac1a(0x99)])||_0x3fc8e9['startsWith'](_0x10f92a['QmrPx']))_0x5c6f09='TRANSACTION_BEGIN';else{if(_0x3fc8e9['startsWith'](_0x33ac1a(0x8a)))_0x5c6f09='TRANSACTION_COMMIT';else{if(_0x3fc8e9['startsWith'](_0x10f92a['GYvlV']))_0x5c6f09=_0x10f92a[_0x33ac1a(0xd0)];else{if(_0x3fc8e9[_0x33ac1a(0x121)]('CREATE'))_0x5c6f09='DDL_CREATE';else{if(_0x3fc8e9['startsWith'](_0x33ac1a(0xc5)))_0x5c6f09='DDL_ALTER';else _0x3fc8e9[_0x33ac1a(0x121)]('DROP')&&(_0x5c6f09='DDL_DROP');}}}}}}}}return{'type':_0x5c6f09,'table':_0x1c6604};},startQueryTimer=()=>{const _0x22d3dc={'RYUbK':function(_0x58674a,_0x315976){return _0x58674a/_0x315976;}},_0x2725b0=process['hrtime']();return()=>{const [_0x157191,_0x5c598f]=process['hrtime'](_0x2725b0);return parseFloat((_0x157191*0x3e8+_0x22d3dc['RYUbK'](_0x5c598f,0xf4240))['toFixed'](0x2));};},logQuery=(_0x5df14f,_0x347b3b=[],_0xf73ec0={})=>{const _0x589bcb=a0_0x4f6fe1,_0x81366e={'GCRtk':'db_query','epIwl':'postgresql','BPNYY':function(_0x53fbca,_0x4fe4a6){return _0x53fbca>_0x4fe4a6;},'NIoXN':function(_0x24dd68,_0xd3207e){return _0x24dd68!==_0xd3207e;},'TmHKq':function(_0x1a9f24,_0x137a32){return _0x1a9f24>_0x137a32;},'UlFSF':function(_0x1df141,_0x3d79d0){return _0x1df141!==_0x3d79d0;},'YWDwR':'unknown','tCWWW':'debug','haDwZ':'\x20[SLOW]','tJZQx':_0x589bcb(0x127)};if(!sqlLogEnabled){logger[_0x589bcb(0xca)]({'event':_0x81366e[_0x589bcb(0x91)],'query':_0x5df14f[_0x589bcb(0xec)](0x0,0xc8),'paramCount':_0x347b3b[_0x589bcb(0xf4)]},'DB\x20Query');return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x81366e[_0x589bcb(0xf1)]}=_0xf73ec0,{type:_0x5f4e23,table:_0x47ed3a}=parseQueryMetadata(_0x5df14f),_0x14b547={'event':_0x589bcb(0x76),'queryType':_0x5f4e23,'table':_0x47ed3a,'query':_0x5df14f,'paramCount':_0x347b3b[_0x589bcb(0xf4)],'dbType':dbType};sqlLogParams&&_0x81366e[_0x589bcb(0xf7)](_0x347b3b['length'],0x0)&&(_0x14b547['params']=redactSensitiveParams(_0x347b3b,_0x5df14f));_0x81366e['NIoXN'](duration,null)&&(_0x14b547[_0x589bcb(0xa8)]=duration,_0x14b547['isSlow']=_0x81366e[_0x589bcb(0x9f)](duration,sqlLogSlowThreshold));_0x81366e['UlFSF'](rowsAffected,null)&&(_0x14b547[_0x589bcb(0xb9)]=rowsAffected);const _0x11bb17=_0x47ed3a||_0x81366e['YWDwR'];let _0x462520='['+_0x5f4e23+']\x20'+_0x11bb17;_0x81366e[_0x589bcb(0xc4)](duration,null)&&(_0x462520+='\x20('+duration+'ms)');const _0x2faa95=_0x81366e[_0x589bcb(0xc4)](duration,null)&&_0x81366e[_0x589bcb(0x9f)](duration,sqlLogSlowThreshold);let _0x5b084f=_0x81366e['tCWWW'];if(_0x2faa95)_0x462520+=_0x81366e['haDwZ'],_0x5b084f='warn',logger['warn'](_0x14b547,_0x462520);else sqlLogLevel===_0x81366e['tJZQx']?(_0x5b084f=_0x81366e['tJZQx'],logger[_0x589bcb(0x127)](_0x14b547,_0x462520)):logger['debug'](_0x14b547,_0x462520);writeToFileLog({..._0x14b547,'level':_0x5b084f,'msg':_0x462520,'time':new Date()[_0x589bcb(0xea)]()},_0x5b084f);},logTransaction=(_0x419862,_0x3ae060)=>{const _0x2cd52b=a0_0x4f6fe1,_0x385df3={'QXrgq':_0x2cd52b(0x95),'uHrCS':function(_0x18bf86,_0x421625,_0x2a3a28){return _0x18bf86(_0x421625,_0x2a3a28);}},_0x165b19={'event':_0x385df3['QXrgq'],'status':_0x419862,'queryCount':_0x3ae060},_0x14bd83='Transaction\x20'+_0x419862;logger['debug'](_0x165b19,_0x14bd83),_0x385df3['uHrCS'](writeToFileLog,{..._0x165b19,'level':'debug','msg':_0x14bd83,'time':new Date()['toISOString']()},_0x2cd52b(0xca));},redactObject=_0x132487=>{const _0x37e0fd=a0_0x4f6fe1,_0x30dd9b={'bFoIw':_0x37e0fd(0xdf),'vEKdm':'pwd','ciOTT':_0x37e0fd(0x9a),'Tjnbj':_0x37e0fd(0x101),'VdNnG':'authorization','Gkbdx':'creditcard','OywfR':_0x37e0fd(0x122),'RfJWd':'refresh_token','QNEtN':'access_token','IKiLX':function(_0x310c58,_0x4a9603){return _0x310c58!==_0x4a9603;},'VvZib':function(_0x187ed4,_0x2e31c5){return _0x187ed4(_0x2e31c5);}};if(!_0x132487||typeof _0x132487!==_0x30dd9b[_0x37e0fd(0x118)])return _0x132487;const _0x2cff5a=[_0x37e0fd(0xfa),_0x37e0fd(0xae),_0x30dd9b[_0x37e0fd(0xb1)],_0x37e0fd(0x108),'secret',_0x30dd9b['ciOTT'],_0x30dd9b['Tjnbj'],_0x30dd9b[_0x37e0fd(0x120)],_0x30dd9b[_0x37e0fd(0x111)],'credit_card',_0x30dd9b['OywfR'],'ssn',_0x37e0fd(0x9d),'private_key','privatekey',_0x30dd9b[_0x37e0fd(0x115)],_0x30dd9b[_0x37e0fd(0xf9)]],_0x369ad3=Array[_0x37e0fd(0xb2)](_0x132487)?[..._0x132487]:{..._0x132487};for(const _0x46aac8 of Object['keys'](_0x369ad3)){const _0x5a8aea=_0x46aac8['toLowerCase']();if(_0x2cff5a[_0x37e0fd(0xe6)](_0x4f7673=>_0x5a8aea['includes'](_0x4f7673)))_0x369ad3[_0x46aac8]=_0x37e0fd(0x105);else typeof _0x369ad3[_0x46aac8]===_0x37e0fd(0xdf)&&_0x30dd9b['IKiLX'](_0x369ad3[_0x46aac8],null)&&(_0x369ad3[_0x46aac8]=_0x30dd9b[_0x37e0fd(0xe8)](redactObject,_0x369ad3[_0x46aac8]));}return _0x369ad3;},logError=(_0xb41f2d,_0x392fcf={},_0x2100eb=null)=>{const _0x1aaa42=a0_0x4f6fe1,_0x1788de={'IkPtD':_0x1aaa42(0xd5)},_0x47a2d9={'event':_0x1aaa42(0xd5),'errorName':_0xb41f2d['name']||'Error','errorMessage':_0xb41f2d[_0x1aaa42(0x81)],'errorCode':_0xb41f2d['code']||null,'stack':_0xb41f2d[_0x1aaa42(0x87)],..._0x392fcf},_0xf13a4c=_0x2100eb||_0x1aaa42(0x7c)+_0xb41f2d['message'];logger[_0x1aaa42(0xd5)](_0x47a2d9,_0xf13a4c),writeToFileLog({..._0x47a2d9,'level':_0x1788de['IkPtD'],'msg':_0xf13a4c,'time':new Date()['toISOString']()},_0x1aaa42(0xd5));},logFatalError=(_0x148cb2,_0x2c5cb1={},_0x57a408=null)=>{const _0x1b1d5b=a0_0x4f6fe1,_0x2fc2ab={'Kcvwo':'CRITICAL','ZwsMQ':function(_0x4cb09b,_0xd03cab,_0x2e17d3){return _0x4cb09b(_0xd03cab,_0x2e17d3);},'TjHyN':'fatal','vzPmz':_0x1b1d5b(0xd5)},_0x16b461={'event':_0x1b1d5b(0x114),'errorName':_0x148cb2[_0x1b1d5b(0x10a)]||_0x1b1d5b(0x9c),'errorMessage':_0x148cb2[_0x1b1d5b(0x81)],'errorCode':_0x148cb2['code']||null,'stack':_0x148cb2[_0x1b1d5b(0x87)],'severity':_0x2fc2ab['Kcvwo'],..._0x2c5cb1},_0x21bb07=_0x57a408||_0x1b1d5b(0xc7)+_0x148cb2['message'];logger['fatal'](_0x16b461,_0x21bb07),_0x2fc2ab[_0x1b1d5b(0xbd)](writeToFileLog,{..._0x16b461,'level':_0x2fc2ab['TjHyN'],'msg':_0x21bb07,'time':new Date()[_0x1b1d5b(0xea)]()},_0x2fc2ab[_0x1b1d5b(0x89)]);},logHttpError=(_0x330d01,_0x3e93f5,_0x245cf3={})=>{const _0x54a775=a0_0x4f6fe1,_0x21d394={'LeOxh':'http_error','LuOAq':_0x54a775(0xcd),'rhfby':function(_0x285eb4,_0x373955){return _0x285eb4(_0x373955);},'ghdoz':function(_0x3bf533,_0x508eaa,_0x3b2e0e){return _0x3bf533(_0x508eaa,_0x3b2e0e);},'SYvyv':function(_0x22a0ad,_0x5993ca){return _0x22a0ad>=_0x5993ca;},'AufmR':'warn'},_0x1d3f54={'event':_0x21d394[_0x54a775(0xdc)],'errorName':_0x330d01['name']||'Error','errorMessage':_0x330d01[_0x54a775(0x81)],'errorCode':_0x330d01[_0x54a775(0xd9)]||_0x330d01['statusCode']||0x1f4,'stack':_0x330d01['stack'],'method':_0x3e93f5?.['method'],'url':_0x3e93f5?.['url']||_0x3e93f5?.[_0x54a775(0xaf)],'path':_0x3e93f5?.[_0x54a775(0xa0)],'ip':_0x3e93f5?.['ip']||_0x3e93f5?.[_0x54a775(0xb3)]?.[_0x54a775(0x96)],'userAgent':_0x3e93f5?.[_0x54a775(0xed)]?.('user-agent'),'requestId':_0x3e93f5?.['id']||_0x3e93f5?.['headers']?.[_0x21d394[_0x54a775(0x82)]],'body':_0x3e93f5?.['body']?_0x21d394[_0x54a775(0xd1)](redactObject,_0x3e93f5['body']):undefined,'query':_0x3e93f5?.[_0x54a775(0xe1)],..._0x245cf3},_0x4d0db2=_0x330d01[_0x54a775(0xa3)]||_0x330d01[_0x54a775(0xc8)]||0x1f4,_0x3637f9=_0x54a775(0x106)+_0x4d0db2+':\x20'+_0x330d01['message'];_0x4d0db2>=0x1f4?logger['error'](_0x1d3f54,_0x3637f9):logger['warn'](_0x1d3f54,_0x3637f9),_0x21d394['ghdoz'](writeToFileLog,{..._0x1d3f54,'level':_0x4d0db2>=0x1f4?'error':_0x54a775(0x86),'msg':_0x3637f9,'time':new Date()[_0x54a775(0xea)]()},_0x21d394[_0x54a775(0xbe)](_0x4d0db2,0x1f4)?_0x54a775(0xd5):_0x21d394[_0x54a775(0x126)]);},logUncaughtError=(_0x9ab942,_0xd3e9d2)=>{const _0x2de371=a0_0x4f6fe1,_0x40bace={'xHVMy':_0x2de371(0x9c),'JKDIB':function(_0x11a821,_0x4a864d){return _0x11a821(_0x4a864d);},'xOKXA':function(_0x5bdc46,_0x3f4044,_0x4d0188){return _0x5bdc46(_0x3f4044,_0x4d0188);}},_0x5edbd6={'event':_0x9ab942,'errorName':_0xd3e9d2?.[_0x2de371(0x10a)]||_0x40bace[_0x2de371(0xef)],'errorMessage':_0xd3e9d2?.[_0x2de371(0x81)]||_0x40bace['JKDIB'](String,_0xd3e9d2),'errorCode':_0xd3e9d2?.['code']||null,'stack':_0xd3e9d2?.['stack'],'severity':'CRITICAL','processId':process[_0x2de371(0xe7)],'memoryUsage':process[_0x2de371(0xad)](),'uptime':process['uptime']()},_0x1be250='['+_0x9ab942[_0x2de371(0xc0)]()+']\x20'+(_0xd3e9d2?.['message']||_0xd3e9d2);logger[_0x2de371(0xbc)](_0x5edbd6,_0x1be250),_0x40bace['xOKXA'](writeToFileLog,{..._0x5edbd6,'level':'fatal','msg':_0x1be250,'time':new Date()[_0x2de371(0xea)]()},'error');},setupGlobalErrorHandlers=()=>{const _0x3c4a9e=a0_0x4f6fe1,_0x560b13={'ZGmOz':function(_0x357a8b,_0x2f259e,_0xb2cab0){return _0x357a8b(_0x2f259e,_0xb2cab0);},'XLwFb':_0x3c4a9e(0xa2),'IXkOs':function(_0x1c224a,_0x1902cb){return _0x1c224a(_0x1902cb);},'gTEmb':_0x3c4a9e(0x127)};process['on']('uncaughtException',_0x1c5218=>{const _0x4c5b4b=_0x3c4a9e;_0x560b13[_0x4c5b4b(0x123)](logUncaughtError,_0x560b13['XLwFb'],_0x1c5218),setTimeout(()=>{const _0x14714d=_0x4c5b4b;process[_0x14714d(0xeb)](0x1);},0x3e8);}),process['on']('unhandledRejection',(_0x574d01,_0x3cee39)=>{const _0x2a08dd=_0x3c4a9e,_0x299d3e=_0x574d01 instanceof Error?_0x574d01:new Error(_0x560b13['IXkOs'](String,_0x574d01));_0x560b13[_0x2a08dd(0x123)](logUncaughtError,_0x2a08dd(0x71),_0x299d3e);}),process['on'](_0x3c4a9e(0xa5),_0x2e8020=>{const _0x1a6024=_0x3c4a9e;logger['warn']({'event':_0x1a6024(0xe9),'name':_0x2e8020['name'],'message':_0x2e8020['message'],'stack':_0x2e8020['stack']},_0x1a6024(0x11b)+_0x2e8020[_0x1a6024(0x81)]);});const _0x2bf556={'event':'global_error_handlers_setup'},_0xc42b24='Global\x20error\x20handlers\x20initialized';logger[_0x3c4a9e(0x127)](_0x2bf556,_0xc42b24),_0x560b13['ZGmOz'](writeToFileLog,{..._0x2bf556,'level':_0x560b13['gTEmb'],'msg':_0xc42b24,'time':new Date()[_0x3c4a9e(0xea)]()},_0x560b13['gTEmb']);},createErrorHandlerMiddleware=()=>{const _0x5232ad=a0_0x4f6fe1,_0x1b7bac={'ZCllf':function(_0x2fe529,_0x210ba1,_0x4e2e5a){return _0x2fe529(_0x210ba1,_0x4e2e5a);},'gMtwh':function(_0x506549,_0xd2589f){return _0x506549>=_0xd2589f;},'wfdWQ':_0x5232ad(0xb8),'TgDVn':'x-request-id'};return(_0x285ef8,_0x425c9f,_0x2401a6,_0xa99df2)=>{const _0x4617a3=_0x5232ad;_0x1b7bac[_0x4617a3(0x8f)](logHttpError,_0x285ef8,_0x425c9f);const _0x5c65fc=_0x285ef8['statusCode']||_0x285ef8[_0x4617a3(0xc8)]||0x1f4;_0x2401a6[_0x4617a3(0xc8)](_0x5c65fc)['json']({'success':![],'error':_0x1b7bac['gMtwh'](_0x5c65fc,0x1f4)?_0x1b7bac[_0x4617a3(0x102)]:_0x285ef8[_0x4617a3(0x81)],'requestId':_0x425c9f['id']||_0x425c9f['headers']?.[_0x1b7bac[_0x4617a3(0x79)]]||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 +1 @@
1
- const a0_0x3d3a94=a0_0x7fd7;(function(_0x5a34ec,_0x3317dc){const _0x377f3d=a0_0x7fd7,_0x41990e=_0x5a34ec();while(!![]){try{const _0xd82f86=parseInt(_0x377f3d(0x196))/0x1*(parseInt(_0x377f3d(0x1ad))/0x2)+-parseInt(_0x377f3d(0x19b))/0x3+parseInt(_0x377f3d(0x1a2))/0x4+-parseInt(_0x377f3d(0x195))/0x5+parseInt(_0x377f3d(0x1a3))/0x6+-parseInt(_0x377f3d(0x1a5))/0x7+parseInt(_0x377f3d(0x194))/0x8;if(_0xd82f86===_0x3317dc)break;else _0x41990e['push'](_0x41990e['shift']());}catch(_0x364163){_0x41990e['push'](_0x41990e['shift']());}}}(a0_0x3efb,0xd9aa0));const fs=require('fs')[a0_0x3d3a94(0x1b7)],path=require(a0_0x3d3a94(0x1a0)),{logger}=require('./logger');function a0_0x3efb(){const _0x442d41=['mtq4mdK1mtjgwuTNAuO','mJeYnde2nujNz2PfuG','mNzvrMvSva','r0zXC0e','uwnpC2O','Cgf5Bg9HzdO','Cgf5Bg9Hzf9SB2fKzwq','ndm2mZu0ofP0wwfota','z2v0','Axnby3rPB25fBMfIBgvK','Bg9HzfbHEwXVywq','zuvxBvG','Cgf0Aa','zMLLBgrmywjLBhm','ndKZotGZmMrMtvDuCa','mtC5odu2nNnosffYrq','zgvIDwC','nduXmte3mxfduNDyAG','C2v0','ugf5Bg9HzcbUB3qGzM91BMq6ia','z2v0rxHWB3j0q29UzMLN','Cgf5Bg9HzerPCG','CMvHzezPBgu','DxrMoa','AgfZ','mJK0ndzwthnuDhO','z0TWAfC','qxDTu3C','lwv4Cg9YDa','zxHWB3j0CW','zxjYB3i','u3z5Cva','Cgf5Bg9Hzf9SB2fKx2vYCM9Y','BwvZC2fNzq','y29SDw1UrM9YBwf0CW','ChjVBwLZzxm','CgfYC2u','CMvWBgfJzq','lI4VlI4VCgf5Bg9Hza','y2fJAgu'];a0_0x3efb=function(){return _0x442d41;};return a0_0x3efb();}class PayloadLoader{constructor(){const _0x45afa9=a0_0x3d3a94;this['payloadDir']=path['join'](__dirname,_0x45afa9(0x1ba)),this['cache']=new Map();}async[a0_0x3d3a94(0x19e)](_0x206d1c,_0x277976){const _0x11882f=a0_0x3d3a94,_0x567fa9={'QcOsj':_0x11882f(0x19a),'eEWmX':'Payload\x20loaded\x20successfully','AwmSw':_0x11882f(0x1b4)},_0x45d36e=_0x206d1c+':'+_0x277976;if(this[_0x11882f(0x1bb)]['has'](_0x45d36e))return this[_0x11882f(0x1bb)][_0x11882f(0x19c)](_0x45d36e);const _0x29ab3d=path['join'](this['payloadDir'],_0x206d1c+'_'+_0x277976+'.json');try{const _0x4fb690=await fs['readFile'](_0x29ab3d,_0x11882f(0x1ab)),_0x496a7a=JSON['parse'](_0x4fb690);return this[_0x11882f(0x1bb)][_0x11882f(0x1a6)](_0x45d36e,_0x496a7a),logger['debug']({'event':_0x567fa9[_0x11882f(0x198)],'project':_0x206d1c,'resource':_0x277976},_0x567fa9[_0x11882f(0x19f)]),_0x496a7a;}catch(_0x18a737){logger[_0x11882f(0x1b2)]({'event':_0x567fa9[_0x11882f(0x1af)],'project':_0x206d1c,'resource':_0x277976,'error':_0x18a737[_0x11882f(0x1b5)]},'Failed\x20to\x20load\x20payload');throw new Error(_0x11882f(0x1a7)+_0x206d1c+'_'+_0x277976);}}async['loadPayloadByName'](_0x10da57){const _0x25c05b=a0_0x3d3a94,_0x2dd65a={'sDKTs':_0x25c05b(0x1ab),'byZsT':'Payload\x20loaded\x20successfully\x20by\x20name'},_0x17afbc=_0x25c05b(0x199)+_0x10da57;if(this['cache'][_0x25c05b(0x1ac)](_0x17afbc))return this[_0x25c05b(0x1bb)][_0x25c05b(0x19c)](_0x17afbc);const _0x4d2fe3=path['join'](this[_0x25c05b(0x1a9)],_0x10da57+'.json');try{const _0x3da7ef=await fs[_0x25c05b(0x1aa)](_0x4d2fe3,_0x2dd65a['sDKTs']),_0x586d4f=JSON[_0x25c05b(0x1b8)](_0x3da7ef);return this[_0x25c05b(0x1bb)][_0x25c05b(0x1a6)](_0x17afbc,_0x586d4f),logger[_0x25c05b(0x1a4)]({'event':'payload_loaded','payloadName':_0x10da57},_0x2dd65a['byZsT']),_0x586d4f;}catch(_0x38e8a9){logger[_0x25c05b(0x1b2)]({'event':_0x25c05b(0x1b4),'payloadName':_0x10da57,'error':_0x38e8a9[_0x25c05b(0x1b5)]},'Failed\x20to\x20load\x20payload\x20by\x20name');throw new Error(_0x25c05b(0x1a7)+_0x10da57);}}[a0_0x3d3a94(0x19d)](_0x3271ac,_0x9fcb98){const _0x136460=a0_0x3d3a94,_0x15220f={'SvyqP':function(_0x2eba46,_0x2d264f){return _0x2eba46===_0x2d264f;}};return _0x3271ac['action']&&_0x15220f[_0x136460(0x1b3)](_0x3271ac['action'][_0x9fcb98],!![]);}[a0_0x3d3a94(0x1a8)](_0xbeb103){const _0x4de258=a0_0x3d3a94;return{'columns':_0xbeb103['fieldName']||[],'filename':_0xbeb103['tableName'][_0x4de258(0x1b9)]('.','-')+_0x4de258(0x1b0),'datatablesQuery':_0xbeb103['datatablesQuery']||null,'columnFormats':_0xbeb103[_0x4de258(0x1b6)]||null,'fieldLabels':_0xbeb103[_0x4de258(0x1a1)]||null};}['clearCache'](){const _0x11d53e=a0_0x3d3a94,_0x5aef87={'gKphW':'payload_cache_cleared','GFqsA':'Payload\x20cache\x20cleared'};this[_0x11d53e(0x1bb)]['clear'](),logger['info']({'event':_0x5aef87[_0x11d53e(0x1ae)]},_0x5aef87[_0x11d53e(0x197)]);}}function a0_0x7fd7(_0x158ba3,_0xef026c){_0x158ba3=_0x158ba3-0x194;const _0x3efb69=a0_0x3efb();let _0x7fd7b0=_0x3efb69[_0x158ba3];if(a0_0x7fd7['mywTqp']===undefined){var _0x30f110=function(_0x4c8b99){const _0x50a4f5='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5f21cd='',_0x1eb98a='';for(let _0x3d5db3=0x0,_0x131b6e,_0x3fcb42,_0x3785d3=0x0;_0x3fcb42=_0x4c8b99['charAt'](_0x3785d3++);~_0x3fcb42&&(_0x131b6e=_0x3d5db3%0x4?_0x131b6e*0x40+_0x3fcb42:_0x3fcb42,_0x3d5db3++%0x4)?_0x5f21cd+=String['fromCharCode'](0xff&_0x131b6e>>(-0x2*_0x3d5db3&0x6)):0x0){_0x3fcb42=_0x50a4f5['indexOf'](_0x3fcb42);}for(let _0x3efabb=0x0,_0x176a08=_0x5f21cd['length'];_0x3efabb<_0x176a08;_0x3efabb++){_0x1eb98a+='%'+('00'+_0x5f21cd['charCodeAt'](_0x3efabb)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1eb98a);};a0_0x7fd7['WaMRmn']=_0x30f110,a0_0x7fd7['iVTDVk']={},a0_0x7fd7['mywTqp']=!![];}const _0x465000=_0x3efb69[0x0],_0x335669=_0x158ba3+_0x465000,_0x7da6a4=a0_0x7fd7['iVTDVk'][_0x335669];return!_0x7da6a4?(_0x7fd7b0=a0_0x7fd7['WaMRmn'](_0x7fd7b0),a0_0x7fd7['iVTDVk'][_0x335669]=_0x7fd7b0):_0x7fd7b0=_0x7da6a4,_0x7fd7b0;}module[a0_0x3d3a94(0x1b1)]=new PayloadLoader();
1
+ const a0_0x3f940d=a0_0x4507;function a0_0x455a(){const _0x16673f=['y2XLyxjdywnOzq','lI4VlI4VCgf5Bg9Hza','uKLHt2y','ugf5Bg9HzcbUB3qGzM91BMq6ia','AgfZ','mti5mZG1ogjHsvzstG','mtGWnJy1nJbiy3rSrhm','CgfYC2u','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5igj5ig5HBwu','zxjYB3i','Ahbhquq','r2TjEMq','rMfPBgvKihrVigXVywqGCgf5Bg9Hza','Cgf5Bg9HzdO','nde2otCYmfLirMrKDG','ndKWmtmYnxLUAeHwCW','DxrMoa','ywn0Aw9U','Aw5MBW','z2v0','zgvIDwC','Cgf5Bg9HzerPCG','zgf0yxrHyMXLC1f1zxj5','ndK3mJe0mhD4DwTbAG','zMLLBgroyw1L','tgncr3i','y2fJAgu','DgfIBgvoyw1L','vKjRuhm','vhv4BNq','Axnby3rPB25fBMfIBgvK','rhbzDMS','C2v0','CMvHzezPBgu','Cgf5Bg9Hzf9SB2fKzwq','nJmWmZq1oeLNCNPOzq','otaYmdKXqLb3rffT','Cgf5Bg9Hzf9SB2fKx2vYCM9Y','y29SDw1UrM9YBwf0CW','mwLhsNb3Ba','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5'];a0_0x455a=function(){return _0x16673f;};return a0_0x455a();}(function(_0x31d2e2,_0x2fd0bd){const _0x435f48=a0_0x4507,_0x4e8264=_0x31d2e2();while(!![]){try{const _0x294f87=-parseInt(_0x435f48(0x18f))/0x1*(-parseInt(_0x435f48(0x196))/0x2)+parseInt(_0x435f48(0x18c))/0x3+parseInt(_0x435f48(0x19f))/0x4+parseInt(_0x435f48(0x1a0))/0x5+-parseInt(_0x435f48(0x17f))/0x6+parseInt(_0x435f48(0x18b))/0x7+-parseInt(_0x435f48(0x197))/0x8;if(_0x294f87===_0x2fd0bd)break;else _0x4e8264['push'](_0x4e8264['shift']());}catch(_0x5d3d47){_0x4e8264['push'](_0x4e8264['shift']());}}}(a0_0x455a,0xbf5bd));const fs=require('fs')['promises'],path=require('path'),{logger}=require('./logger');class PayloadLoader{constructor(){const _0x55b1ee=a0_0x4507;this['payloadDir']=path['join'](__dirname,_0x55b1ee(0x192)),this['cache']=new Map();}async['loadPayload'](_0xd2bd70,_0x181e8c){const _0x5b8b33=a0_0x4507,_0x8ff09e={'RIaOf':_0x5b8b33(0x18a),'GkIzd':_0x5b8b33(0x190),'yGybQ':_0x5b8b33(0x18d)},_0x349447=_0xd2bd70+':'+_0x181e8c;if(this['cache']['has'](_0x349447))return this[_0x5b8b33(0x182)][_0x5b8b33(0x1a4)](_0x349447);const _0x3e9cee=path['join'](this[_0x5b8b33(0x17d)],_0xd2bd70+'_'+_0x181e8c+'.json');try{const _0x5e3f6b=await fs[_0x5b8b33(0x189)](_0x3e9cee,_0x5b8b33(0x1a1)),_0x3aea18=JSON['parse'](_0x5e3f6b);return this['cache'][_0x5b8b33(0x188)](_0x349447,_0x3aea18),logger['debug']({'event':_0x8ff09e[_0x5b8b33(0x193)],'project':_0xd2bd70,'resource':_0x181e8c},_0x8ff09e[_0x5b8b33(0x19c)]),_0x3aea18;}catch(_0x2cc86e){logger[_0x5b8b33(0x19a)]({'event':_0x8ff09e['yGybQ'],'project':_0xd2bd70,'resource':_0x181e8c,'error':_0x2cc86e['message']},_0x5b8b33(0x19d));throw new Error(_0x5b8b33(0x194)+_0xd2bd70+'_'+_0x181e8c);}}async['loadPayloadByName'](_0x89a76b){const _0x5690ac=a0_0x4507,_0x31edb4={'LcBGr':_0x5690ac(0x18a),'DpYvk':_0x5690ac(0x199),'LuLQK':_0x5690ac(0x18d)},_0x36c353=_0x5690ac(0x19e)+_0x89a76b;if(this[_0x5690ac(0x182)][_0x5690ac(0x195)](_0x36c353))return this[_0x5690ac(0x182)][_0x5690ac(0x1a4)](_0x36c353);const _0x20e9c5=path['join'](this['payloadDir'],_0x89a76b+'.json');try{const _0x4b03cb=await fs['readFile'](_0x20e9c5,_0x5690ac(0x1a1)),_0xdc0255=JSON[_0x5690ac(0x198)](_0x4b03cb);return this[_0x5690ac(0x182)]['set'](_0x36c353,_0xdc0255),logger[_0x5690ac(0x1a5)]({'event':_0x31edb4[_0x5690ac(0x181)],'payloadName':_0x89a76b},_0x31edb4[_0x5690ac(0x187)]),_0xdc0255;}catch(_0x3e6c37){logger[_0x5690ac(0x19a)]({'event':_0x31edb4['LuLQK'],'payloadName':_0x89a76b,'error':_0x3e6c37['message']},'Failed\x20to\x20load\x20payload\x20by\x20name');throw new Error('Payload\x20not\x20found:\x20'+_0x89a76b);}}[a0_0x3f940d(0x186)](_0x5831e0,_0xe56389){const _0x2fa86e=a0_0x3f940d,_0x4a7ef5={'VBkPs':function(_0x22ef18,_0x18e2cf){return _0x22ef18===_0x18e2cf;}};return _0x5831e0['action']&&_0x4a7ef5[_0x2fa86e(0x184)](_0x5831e0[_0x2fa86e(0x1a2)][_0xe56389],!![]);}['getExportConfig'](_0x1aabcd){const _0x30b9d9=a0_0x3f940d;return{'columns':_0x1aabcd[_0x30b9d9(0x180)]||[],'filename':_0x1aabcd[_0x30b9d9(0x183)]['replace']('.','-')+'-export','datatablesQuery':_0x1aabcd[_0x30b9d9(0x17e)]||null,'columnFormats':_0x1aabcd[_0x30b9d9(0x18e)]||null,'fieldLabels':_0x1aabcd['fieldLabels']||null};}[a0_0x3f940d(0x191)](){const _0x4cdec6=a0_0x3f940d,_0x9d2830={'Tuxnt':'payload_cache_cleared','hpGAD':'Payload\x20cache\x20cleared'};this[_0x4cdec6(0x182)]['clear'](),logger[_0x4cdec6(0x1a3)]({'event':_0x9d2830[_0x4cdec6(0x185)]},_0x9d2830[_0x4cdec6(0x19b)]);}}function a0_0x4507(_0x5057c0,_0x37ce65){_0x5057c0=_0x5057c0-0x17d;const _0x455ac2=a0_0x455a();let _0x450721=_0x455ac2[_0x5057c0];if(a0_0x4507['EOzDup']===undefined){var _0x2e14a4=function(_0x45d34a){const _0x2aab6b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4031e7='',_0x4cd2f6='';for(let _0xfc9e9=0x0,_0x7a1847,_0x492c5c,_0x505cb1=0x0;_0x492c5c=_0x45d34a['charAt'](_0x505cb1++);~_0x492c5c&&(_0x7a1847=_0xfc9e9%0x4?_0x7a1847*0x40+_0x492c5c:_0x492c5c,_0xfc9e9++%0x4)?_0x4031e7+=String['fromCharCode'](0xff&_0x7a1847>>(-0x2*_0xfc9e9&0x6)):0x0){_0x492c5c=_0x2aab6b['indexOf'](_0x492c5c);}for(let _0xbfd3f4=0x0,_0x26dbe6=_0x4031e7['length'];_0xbfd3f4<_0x26dbe6;_0xbfd3f4++){_0x4cd2f6+='%'+('00'+_0x4031e7['charCodeAt'](_0xbfd3f4)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4cd2f6);};a0_0x4507['hyWIWD']=_0x2e14a4,a0_0x4507['JGbeRE']={},a0_0x4507['EOzDup']=!![];}const _0x52e23a=_0x455ac2[0x0],_0x3f08ea=_0x5057c0+_0x52e23a,_0xf50d4d=a0_0x4507['JGbeRE'][_0x3f08ea];return!_0xf50d4d?(_0x450721=a0_0x4507['hyWIWD'](_0x450721),a0_0x4507['JGbeRE'][_0x3f08ea]=_0x450721):_0x450721=_0xf50d4d,_0x450721;}module['exports']=new PayloadLoader();