@restforgejs/platform 5.0.0 → 5.0.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 (174) hide show
  1. package/build-info.json +2 -2
  2. package/cli/consumer-deploy.js +1 -1
  3. package/cli/consumer.js +1 -1
  4. package/generators/cli/init.js +4 -104
  5. package/generators/cli/payload/migrate.js +1 -1
  6. package/generators/cli/schema/list.js +82 -18
  7. package/generators/cli/schema/migrate.js +23 -3
  8. package/generators/lib/dbschema-kit/diff-engine.js +715 -715
  9. package/generators/lib/migrate/field-type-resolver.js +9 -3
  10. package/generators/lib/migrate/migrate-runner.js +393 -187
  11. package/generators/lib/migrate/naming.js +9 -0
  12. package/generators/lib/templates/dashboard-catalog.js +1 -1
  13. package/generators/lib/templates/db-connection-env.js +1 -1
  14. package/generators/lib/templates/dbschema-catalog.js +1 -1
  15. package/generators/lib/templates/field-validation-catalog.js +1 -1
  16. package/generators/lib/templates/mysql-template.js +1 -1
  17. package/generators/lib/templates/oracle-template.js +1 -1
  18. package/generators/lib/templates/postgres-template.js +1 -1
  19. package/generators/lib/templates/query-declarative-catalog.js +1 -1
  20. package/generators/lib/templates/sqlite-template.js +1 -1
  21. package/integrity-manifest.json +18 -18
  22. package/package.json +1 -1
  23. package/scripts/verify-integrity.js +1 -1
  24. package/server.js +1 -1
  25. package/src/components/handlers/adjust_handler.js +1 -1
  26. package/src/components/handlers/audit_handler.js +1 -1
  27. package/src/components/handlers/delete_handler.js +1 -1
  28. package/src/components/handlers/export_handler.js +1 -1
  29. package/src/components/handlers/import_handler.js +1 -1
  30. package/src/components/handlers/insert_handler.js +1 -1
  31. package/src/components/handlers/update_handler.js +1 -1
  32. package/src/components/handlers/upload_handler.js +1 -1
  33. package/src/components/handlers/workflow_handler.js +1 -1
  34. package/src/components/integrations/webhook.js +1 -1
  35. package/src/consumers/baseConsumer.js +1 -1
  36. package/src/consumers/declarativeMapper.js +1 -1
  37. package/src/consumers/handlers/apiHandler.js +1 -1
  38. package/src/consumers/handlers/consoleHandler.js +1 -1
  39. package/src/consumers/handlers/databaseHandler.js +1 -1
  40. package/src/consumers/handlers/index.js +1 -1
  41. package/src/consumers/handlers/kafkaHandler.js +1 -1
  42. package/src/consumers/index.js +1 -1
  43. package/src/consumers/messageTransformer.js +1 -1
  44. package/src/consumers/validator.js +1 -1
  45. package/src/core/db/dialect/base-dialect.js +1 -1
  46. package/src/core/db/dialect/index.js +1 -1
  47. package/src/core/db/dialect/mysql-dialect.js +1 -1
  48. package/src/core/db/dialect/oracle-dialect.js +1 -1
  49. package/src/core/db/dialect/postgres-dialect.js +1 -1
  50. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  51. package/src/core/db/flatten-helper.js +1 -1
  52. package/src/core/db/query-builder-error.js +1 -1
  53. package/src/core/db/query-builder.js +1 -1
  54. package/src/core/db/relation-helper.js +1 -1
  55. package/src/core/handlers/delete_handler.js +1 -1
  56. package/src/core/handlers/insert_handler.js +1 -1
  57. package/src/core/handlers/update_handler.js +1 -1
  58. package/src/core/models/base-model.js +1 -1
  59. package/src/core/utils/cache-manager.js +1 -1
  60. package/src/core/utils/component-engine.js +1 -1
  61. package/src/core/utils/context-builder.js +1 -1
  62. package/src/core/utils/datetime-formatter.js +1 -1
  63. package/src/core/utils/datetime-parser.js +1 -1
  64. package/src/core/utils/db.js +1 -1
  65. package/src/core/utils/logger.js +1 -1
  66. package/src/core/utils/payload-loader.js +1 -1
  67. package/src/core/utils/security-checks.js +1 -1
  68. package/src/middleware/body-options.js +1 -1
  69. package/src/middleware/cors.js +1 -1
  70. package/src/middleware/idempotency.js +1 -1
  71. package/src/middleware/rate-limiter.js +1 -1
  72. package/src/middleware/request-logger.js +1 -1
  73. package/src/middleware/security-headers.js +1 -1
  74. package/src/models/base-model-mysql.js +1 -1
  75. package/src/models/base-model-oracle.js +1 -1
  76. package/src/models/base-model-sqlite.js +1 -1
  77. package/src/models/base-model.js +1 -1
  78. package/src/pro/caching/redis-client.js +1 -1
  79. package/src/pro/caching/redis-helper.js +1 -1
  80. package/src/pro/consumers/baseConsumer.js +1 -1
  81. package/src/pro/consumers/declarativeMapper.js +1 -1
  82. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  83. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  84. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  85. package/src/pro/consumers/handlers/index.js +1 -1
  86. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  87. package/src/pro/consumers/index.js +1 -1
  88. package/src/pro/consumers/messageTransformer.js +1 -1
  89. package/src/pro/consumers/validator.js +1 -1
  90. package/src/pro/database/base-model-mysql.js +1 -1
  91. package/src/pro/database/base-model-oracle.js +1 -1
  92. package/src/pro/database/base-model-sqlite.js +1 -1
  93. package/src/pro/database/db-mysql.js +1 -1
  94. package/src/pro/database/db-oracle.js +1 -1
  95. package/src/pro/database/db-sqlite.js +1 -1
  96. package/src/pro/excel/excel-generator.js +1 -1
  97. package/src/pro/excel/excel-parser.js +1 -1
  98. package/src/pro/excel/export-service.js +1 -1
  99. package/src/pro/excel/export_handler.js +1 -1
  100. package/src/pro/excel/import-service.js +1 -1
  101. package/src/pro/excel/import-validator.js +1 -1
  102. package/src/pro/excel/import_handler.js +1 -1
  103. package/src/pro/excel/upsert-builder.js +1 -1
  104. package/src/pro/idgen/idgen-routes.js +1 -1
  105. package/src/pro/integrations/lookup-resolver.js +1 -1
  106. package/src/pro/integrations/upload-handler-v2.js +1 -1
  107. package/src/pro/integrations/upload-handler.js +1 -1
  108. package/src/pro/integrations/webhook.js +1 -1
  109. package/src/pro/locking/lock-routes.js +1 -1
  110. package/src/pro/locking/resource-lock-manager.js +1 -1
  111. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  112. package/src/pro/messaging/kafkaService.js +1 -1
  113. package/src/pro/messaging/messagehubService.js +1 -1
  114. package/src/pro/messaging/rabbitmqService.js +1 -1
  115. package/src/pro/scheduler/job-manager.js +1 -1
  116. package/src/pro/scheduler/job-routes.js +1 -1
  117. package/src/pro/scheduler/job-validator.js +1 -1
  118. package/src/pro/storage/base-storage-provider.js +1 -1
  119. package/src/pro/storage/file-metadata-helper.js +1 -1
  120. package/src/pro/storage/index.js +1 -1
  121. package/src/pro/storage/local-storage-provider.js +1 -1
  122. package/src/pro/storage/s3-storage-provider.js +1 -1
  123. package/src/pro/storage/upload-cleanup-job.js +1 -1
  124. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  125. package/src/pro/storage/upload-pending-tracker.js +1 -1
  126. package/src/pro/websocket/broadcast-helper.js +1 -1
  127. package/src/pro/websocket/index.js +1 -1
  128. package/src/pro/websocket/livesync-server.js +1 -1
  129. package/src/pro/websocket/ws-broadcaster.js +1 -1
  130. package/src/services/export-service.js +1 -1
  131. package/src/services/import-service.js +1 -1
  132. package/src/services/kafkaConsumerService.js +1 -1
  133. package/src/services/kafkaService.js +1 -1
  134. package/src/services/messagehubService.js +1 -1
  135. package/src/services/rabbitmqService.js +1 -1
  136. package/src/utils/cache-invalidation-registry.js +1 -1
  137. package/src/utils/cache-manager.js +1 -1
  138. package/src/utils/component-engine.js +1 -1
  139. package/src/utils/config-extractor.js +1 -1
  140. package/src/utils/consumerLogger.js +1 -1
  141. package/src/utils/context-builder.js +1 -1
  142. package/src/utils/dashboard-helpers.js +1 -1
  143. package/src/utils/dateHelper.js +1 -1
  144. package/src/utils/datetime-formatter.js +1 -1
  145. package/src/utils/datetime-parser.js +1 -1
  146. package/src/utils/db-bootstrap.js +1 -1
  147. package/src/utils/db-mysql.js +1 -1
  148. package/src/utils/db-oracle.js +1 -1
  149. package/src/utils/db-sqlite.js +1 -1
  150. package/src/utils/db.js +1 -1
  151. package/src/utils/demo-generator.js +1 -1
  152. package/src/utils/excel-generator.js +1 -1
  153. package/src/utils/excel-parser.js +1 -1
  154. package/src/utils/file-watcher.js +1 -1
  155. package/src/utils/id-generator.js +1 -1
  156. package/src/utils/idempotency-manager.js +1 -1
  157. package/src/utils/import-validator.js +1 -1
  158. package/src/utils/license-client.js +1 -1
  159. package/src/utils/lock-manager.js +1 -1
  160. package/src/utils/logger.js +1 -1
  161. package/src/utils/lookup-resolver.js +1 -1
  162. package/src/utils/payload-loader.js +1 -1
  163. package/src/utils/processor-response.js +1 -1
  164. package/src/utils/rabbitmq.js +1 -1
  165. package/src/utils/redis-client.js +1 -1
  166. package/src/utils/redis-helper.js +1 -1
  167. package/src/utils/request-scope.js +1 -1
  168. package/src/utils/security-checks.js +1 -1
  169. package/src/utils/service-resolver.js +1 -1
  170. package/src/utils/shutdown-coordinator.js +1 -1
  171. package/src/utils/trusted-keys.js +1 -1
  172. package/src/utils/upload-handler.js +1 -1
  173. package/src/utils/upsert-builder.js +1 -1
  174. package/src/utils/workflow-hook-executor.js +1 -1
@@ -1 +1 @@
1
- const a0_0x48aaab=a0_0x4e09;function a0_0x4e09(_0x420bac,_0x3795fc){_0x420bac=_0x420bac-0x1b4;const _0x90a3b0=a0_0x90a3();let _0x4e093f=_0x90a3b0[_0x420bac];if(a0_0x4e09['DknaLL']===undefined){var _0xc6e70=function(_0x3a07c3){const _0x367ff1='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x36d95d='',_0x113ac8='';for(let _0x3bebe8=0x0,_0x1c46f4,_0x5cce55,_0x3b8bc4=0x0;_0x5cce55=_0x3a07c3['charAt'](_0x3b8bc4++);~_0x5cce55&&(_0x1c46f4=_0x3bebe8%0x4?_0x1c46f4*0x40+_0x5cce55:_0x5cce55,_0x3bebe8++%0x4)?_0x36d95d+=String['fromCharCode'](0xff&_0x1c46f4>>(-0x2*_0x3bebe8&0x6)):0x0){_0x5cce55=_0x367ff1['indexOf'](_0x5cce55);}for(let _0x5f3120=0x0,_0x19068b=_0x36d95d['length'];_0x5f3120<_0x19068b;_0x5f3120++){_0x113ac8+='%'+('00'+_0x36d95d['charCodeAt'](_0x5f3120)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x113ac8);};a0_0x4e09['OydSxh']=_0xc6e70,a0_0x4e09['kHWkCf']={},a0_0x4e09['DknaLL']=!![];}const _0x3145c2=_0x90a3b0[0x0],_0x4951c6=_0x420bac+_0x3145c2,_0x19bfdd=a0_0x4e09['kHWkCf'][_0x4951c6];return!_0x19bfdd?(_0x4e093f=a0_0x4e09['OydSxh'](_0x4e093f),a0_0x4e09['kHWkCf'][_0x4951c6]=_0x4e093f):_0x4e093f=_0x19bfdd,_0x4e093f;}(function(_0x510efa,_0x44fd18){const _0xa44ce=a0_0x4e09,_0x15ce09=_0x510efa();while(!![]){try{const _0xac35a3=parseInt(_0xa44ce(0x1b7))/0x1*(-parseInt(_0xa44ce(0x1bb))/0x2)+-parseInt(_0xa44ce(0x1b8))/0x3+-parseInt(_0xa44ce(0x1bc))/0x4+-parseInt(_0xa44ce(0x1c5))/0x5*(-parseInt(_0xa44ce(0x1d3))/0x6)+-parseInt(_0xa44ce(0x1ba))/0x7+parseInt(_0xa44ce(0x1c8))/0x8*(parseInt(_0xa44ce(0x1cd))/0x9)+parseInt(_0xa44ce(0x1c2))/0xa*(parseInt(_0xa44ce(0x1ce))/0xb);if(_0xac35a3===_0x44fd18)break;else _0x15ce09['push'](_0x15ce09['shift']());}catch(_0x39442f){_0x15ce09['push'](_0x15ce09['shift']());}}}(a0_0x90a3,0xb4388));class DateTimeFormatter{static['format'](_0x5f4a9e,_0x555990,_0x433fc0){const _0x2ac850=a0_0x4e09,_0x384c68={'iShlV':function(_0x296893,_0x2fd026){return _0x296893===_0x2fd026;},'gWDgv':'timestamp','aStet':function(_0x3d3c12,_0x18220c){return _0x3d3c12===_0x18220c;},'VbSfO':'time'};if(!_0x5f4a9e)return null;try{if(_0x433fc0===_0x2ac850(0x1d1))return this[_0x2ac850(0x1d6)](_0x5f4a9e,_0x555990);else{if(_0x384c68[_0x2ac850(0x1be)](_0x433fc0,_0x384c68[_0x2ac850(0x1c6)]))return this['formatTimestamp'](_0x5f4a9e,_0x555990);else{if(_0x384c68[_0x2ac850(0x1bf)](_0x433fc0,_0x384c68[_0x2ac850(0x1b4)]))return this[_0x2ac850(0x1c0)](_0x5f4a9e,_0x555990);}}return _0x5f4a9e;}catch(_0xf070dc){return console[_0x2ac850(0x1d2)](_0x2ac850(0x1cf)+_0xf070dc[_0x2ac850(0x1c1)]),_0x5f4a9e;}}static[a0_0x48aaab(0x1d6)](_0x1055b2,_0x3d8966){const _0x3dbf66=a0_0x48aaab,_0x3be358={'GowXg':function(_0x3c4a69,_0x1b0efe){return _0x3c4a69(_0x1b0efe);},'KywJr':function(_0x473055,_0x2adb25){return _0x473055(_0x2adb25);},'ojioP':function(_0x445222,_0x35cf78){return _0x445222+_0x35cf78;}},_0x56155f=new Date(_0x1055b2);if(_0x3be358[_0x3dbf66(0x1c7)](isNaN,_0x56155f[_0x3dbf66(0x1bd)]()))return console[_0x3dbf66(0x1c4)]('Invalid\x20date\x20value:\x20'+_0x1055b2),_0x1055b2;const _0x347caf=_0x3be358['GowXg'](String,_0x56155f[_0x3dbf66(0x1d4)]())[_0x3dbf66(0x1cc)](0x2,'0'),_0x3852d4=_0x3be358['KywJr'](String,_0x3be358['ojioP'](_0x56155f[_0x3dbf66(0x1ca)](),0x1))[_0x3dbf66(0x1cc)](0x2,'0'),_0x4e131e=_0x56155f['getFullYear'](),_0x304faa={'dd/MM/yyyy':_0x347caf+'/'+_0x3852d4+'/'+_0x4e131e,'dd-MM-yyyy':_0x347caf+'-'+_0x3852d4+'-'+_0x4e131e,'MM/dd/yyyy':_0x3852d4+'/'+_0x347caf+'/'+_0x4e131e,'yyyy/MM/dd':_0x4e131e+'/'+_0x3852d4+'/'+_0x347caf,'yyyy-MM-dd':_0x4e131e+'-'+_0x3852d4+'-'+_0x347caf};return _0x304faa[_0x3d8966]||_0x4e131e+'-'+_0x3852d4+'-'+_0x347caf;}static[a0_0x48aaab(0x1d5)](_0x13bc30,_0x5d4334){const _0xb397ed=a0_0x48aaab,_0x3ff204={'BQJHS':function(_0x111a9e,_0x44afe8){return _0x111a9e(_0x44afe8);},'dYgzt':function(_0x863317,_0x311702){return _0x863317!==_0x311702;}},_0x52321d=new Date(_0x13bc30);if(_0x3ff204['BQJHS'](isNaN,_0x52321d['getTime']()))return console[_0xb397ed(0x1c4)]('Invalid\x20timestamp\x20value:\x20'+_0x13bc30),_0x13bc30;const _0x3ccbe8=String(_0x52321d['getDate']())[_0xb397ed(0x1cc)](0x2,'0'),_0x46a35c=String(_0x52321d['getMonth']()+0x1)['padStart'](0x2,'0'),_0x2f8f23=_0x52321d['getFullYear'](),_0x572b44=_0x3ff204[_0xb397ed(0x1cb)](String,_0x52321d['getHours']())['padStart'](0x2,'0'),_0x4b3cd1=String(_0x52321d[_0xb397ed(0x1c9)]())[_0xb397ed(0x1cc)](0x2,'0'),_0x57ac9c=String(_0x52321d['getSeconds']())[_0xb397ed(0x1cc)](0x2,'0'),_0x148018=_0x5d4334['split']('\x20');if(_0x3ff204[_0xb397ed(0x1b5)](_0x148018[_0xb397ed(0x1d0)],0x2))return _0x2f8f23+'-'+_0x46a35c+'-'+_0x3ccbe8+'\x20'+_0x572b44+':'+_0x4b3cd1+':'+_0x57ac9c;const _0x44aed5=_0x148018[0x0],_0x146487=_0x148018[0x1],_0x339768={'dd/MM/yyyy':_0x3ccbe8+'/'+_0x46a35c+'/'+_0x2f8f23,'dd-MM-yyyy':_0x3ccbe8+'-'+_0x46a35c+'-'+_0x2f8f23,'MM/dd/yyyy':_0x46a35c+'/'+_0x3ccbe8+'/'+_0x2f8f23,'yyyy/MM/dd':_0x2f8f23+'/'+_0x46a35c+'/'+_0x3ccbe8,'yyyy-MM-dd':_0x2f8f23+'-'+_0x46a35c+'-'+_0x3ccbe8},_0x29e25a={'HH:mm':_0x572b44+':'+_0x4b3cd1,'HH:mm:ss':_0x572b44+':'+_0x4b3cd1+':'+_0x57ac9c,'hh:mm':_0x572b44+':'+_0x4b3cd1},_0x49d53b=_0x339768[_0x44aed5]||_0x2f8f23+'-'+_0x46a35c+'-'+_0x3ccbe8,_0x461c90=_0x29e25a[_0x146487]||_0x572b44+':'+_0x4b3cd1+':'+_0x57ac9c;return _0x49d53b+'\x20'+_0x461c90;}static['formatTime'](_0x38af08,_0x2901fa){const _0x3cc620=a0_0x48aaab,_0x3e977d={'txmfq':function(_0x27bb37,_0x3331cf){return _0x27bb37!==_0x3331cf;},'zWtIg':_0x3cc620(0x1b9),'dKifx':function(_0x16e8e4,_0x3eee77){return _0x16e8e4<_0x3eee77;}};if(_0x3e977d[_0x3cc620(0x1b6)](typeof _0x38af08,_0x3e977d['zWtIg']))return _0x38af08;const _0x19509a=_0x38af08['split'](':');if(_0x3e977d['dKifx'](_0x19509a['length'],0x2))return console[_0x3cc620(0x1c4)]('Invalid\x20time\x20value:\x20'+_0x38af08),_0x38af08;const _0xd0adf6=_0x19509a[0x0][_0x3cc620(0x1cc)](0x2,'0'),_0x4ee59c=_0x19509a[0x1]['padStart'](0x2,'0'),_0x4b8101=_0x19509a[0x2]?_0x19509a[0x2]['split']('.')[0x0][_0x3cc620(0x1cc)](0x2,'0'):'00',_0x4fcdd4={'HH:mm':_0xd0adf6+':'+_0x4ee59c,'HH:mm:ss':_0xd0adf6+':'+_0x4ee59c+':'+_0x4b8101,'hh:mm':_0xd0adf6+':'+_0x4ee59c};return _0x4fcdd4[_0x2901fa]||_0xd0adf6+':'+_0x4ee59c+':'+_0x4b8101;}}module[a0_0x48aaab(0x1c3)]=DateTimeFormatter;function a0_0x90a3(){const _0x1d0d61=['mLn6t0XOta','ndm5nJq0mfbcwvP4Ba','z2v0vgLTzq','AvnOBfy','yvn0zxq','zM9YBwf0vgLTzq','BwvZC2fNzq','mtbwrfHdz28','zxHWB3j0CW','D2fYBG','mJvgtKDjzfO','z1Dez3y','r293wgC','mtG5mtjLzhDABve','z2v0twLUDxrLCW','z2v0tw9UDgG','qLfksfm','CgfKu3rHCNq','nJnQDNbbzw4','ntaZmJGYnJDQB2PVCMi','rxjYB3iGzM9YBwf0DgLUzYbKyxrLDgLTztOG','BgvUz3rO','zgf0zq','zxjYB3i','mte2ndzduuvxr3q','z2v0rgf0zq','zM9YBwf0vgLTzxn0yw1W','zM9YBwf0rgf0zq','vMjtzK8','zfLNENq','DhHTzNe','mti0nda5mhfhv2jntq','mtGYmZy0oxb0vundAW','C3rYAw5N','nJm4ntK4mvfgufncza'];a0_0x90a3=function(){return _0x1d0d61;};return a0_0x90a3();}
1
+ function a0_0x263b(){const _0x1ad38a=['mJK2nZi0nLzdD2LyyG','zM9YBwf0vgLTzq','mJfguhv2CwC','ouDKrufWDW','sw52ywXPzcbKyxrLihzHBhvLoIa','mtuWmtjVqKr1qKO','tvjTDxy','zxjYB3i','z2v0vgLTzq','mtGWywLSqwfA','ndzAsfDQDLa','z2v0rgf0zq','Bhfdreu','CgfKu3rHCNq','ndaYmeHsyM5ksW','BgvUz3rO','nJyWnZDXvhfeAMq','mtiZotCZnuT5A09UzG','zM9YBwf0rgf0zq','mtyXmJu5mLvxEuzeEG','zgf0zq','rxjYB3iGzM9YBwf0DgLUzYbKyxrLDgLTztOG','odyXmta0u25es2Pd','zxHWB3j0CW','C3rYAw5N','vgrJqw8','Ew5twMi','C3bSAxq','ue1iy2u','DgLTzxn0yw1W','C1fLDva','z2v0rNvSBfLLyxi','D2fYBG','nJaXBNn3qxzg','zM9YBwf0vgLTzxn0yw1W'];a0_0x263b=function(){return _0x1ad38a;};return a0_0x263b();}const a0_0x5def15=a0_0x2288;(function(_0x40a395,_0x5b8f71){const _0x3da0d1=a0_0x2288,_0x5c35e3=_0x40a395();while(!![]){try{const _0x523c7f=-parseInt(_0x3da0d1(0x17b))/0x1*(parseInt(_0x3da0d1(0x187))/0x2)+-parseInt(_0x3da0d1(0x180))/0x3*(parseInt(_0x3da0d1(0x193))/0x4)+parseInt(_0x3da0d1(0x18e))/0x5+-parseInt(_0x3da0d1(0x17d))/0x6+parseInt(_0x3da0d1(0x17f))/0x7*(parseInt(_0x3da0d1(0x190))/0x8)+-parseInt(_0x3da0d1(0x182))/0x9*(-parseInt(_0x3da0d1(0x18b))/0xa)+parseInt(_0x3da0d1(0x18d))/0xb*(parseInt(_0x3da0d1(0x186))/0xc);if(_0x523c7f===_0x5b8f71)break;else _0x5c35e3['push'](_0x5c35e3['shift']());}catch(_0x10311b){_0x5c35e3['push'](_0x5c35e3['shift']());}}}(a0_0x263b,0x7016e));function a0_0x2288(_0x2842f4,_0x5719e4){_0x2842f4=_0x2842f4-0x17b;const _0x263bcb=a0_0x263b();let _0x228845=_0x263bcb[_0x2842f4];if(a0_0x2288['HKHBtX']===undefined){var _0x884bc=function(_0x44e379){const _0x3787be='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5c076a='',_0x5252f1='';for(let _0x35a61f=0x0,_0x4b82db,_0x116d23,_0x3be111=0x0;_0x116d23=_0x44e379['charAt'](_0x3be111++);~_0x116d23&&(_0x4b82db=_0x35a61f%0x4?_0x4b82db*0x40+_0x116d23:_0x116d23,_0x35a61f++%0x4)?_0x5c076a+=String['fromCharCode'](0xff&_0x4b82db>>(-0x2*_0x35a61f&0x6)):0x0){_0x116d23=_0x3787be['indexOf'](_0x116d23);}for(let _0x2f2df0=0x0,_0x118b07=_0x5c076a['length'];_0x2f2df0<_0x118b07;_0x2f2df0++){_0x5252f1+='%'+('00'+_0x5c076a['charCodeAt'](_0x2f2df0)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5252f1);};a0_0x2288['dFjFfZ']=_0x884bc,a0_0x2288['VhUfiQ']={},a0_0x2288['HKHBtX']=!![];}const _0x2a2c62=_0x263bcb[0x0],_0x2c3c8b=_0x2842f4+_0x2a2c62,_0x163259=a0_0x2288['VhUfiQ'][_0x2c3c8b];return!_0x163259?(_0x228845=a0_0x2288['dFjFfZ'](_0x228845),a0_0x2288['VhUfiQ'][_0x2c3c8b]=_0x228845):_0x228845=_0x163259,_0x228845;}class DateTimeFormatter{static['format'](_0x3f16b5,_0x228b2f,_0x19e957){const _0x274cf1=a0_0x2288,_0x3b64ba={'PMHce':function(_0x5b46e2,_0x469b40){return _0x5b46e2===_0x469b40;},'lqCDE':_0x274cf1(0x19a),'MRmuv':'time'};if(!_0x3f16b5)return null;try{if(_0x3b64ba['PMHce'](_0x19e957,_0x274cf1(0x191)))return this[_0x274cf1(0x18f)](_0x3f16b5,_0x228b2f);else{if(_0x3b64ba[_0x274cf1(0x199)](_0x19e957,_0x3b64ba[_0x274cf1(0x189)]))return this['formatTimestamp'](_0x3f16b5,_0x228b2f);else{if(_0x3b64ba['PMHce'](_0x19e957,_0x3b64ba[_0x274cf1(0x183)]))return this[_0x274cf1(0x17e)](_0x3f16b5,_0x228b2f);}}return _0x3f16b5;}catch(_0x283516){return console[_0x274cf1(0x184)](_0x274cf1(0x192)+_0x283516['message']),_0x3f16b5;}}static[a0_0x5def15(0x18f)](_0x3f83b2,_0x442b45){const _0x2aa6ea=a0_0x5def15,_0x3404e9={'ynSZb':function(_0x49c683,_0x388026){return _0x49c683(_0x388026);}},_0x3169ac=new Date(_0x3f83b2);if(_0x3404e9[_0x2aa6ea(0x197)](isNaN,_0x3169ac[_0x2aa6ea(0x185)]()))return console[_0x2aa6ea(0x19d)](_0x2aa6ea(0x181)+_0x3f83b2),_0x3f83b2;const _0x82c9c3=_0x3404e9[_0x2aa6ea(0x197)](String,_0x3169ac[_0x2aa6ea(0x188)]())[_0x2aa6ea(0x18a)](0x2,'0'),_0x1bd44c=String(_0x3169ac['getMonth']()+0x1)['padStart'](0x2,'0'),_0x1e929a=_0x3169ac[_0x2aa6ea(0x19c)](),_0x311236={'dd/MM/yyyy':_0x82c9c3+'/'+_0x1bd44c+'/'+_0x1e929a,'dd-MM-yyyy':_0x82c9c3+'-'+_0x1bd44c+'-'+_0x1e929a,'MM/dd/yyyy':_0x1bd44c+'/'+_0x82c9c3+'/'+_0x1e929a,'yyyy/MM/dd':_0x1e929a+'/'+_0x1bd44c+'/'+_0x82c9c3,'yyyy-MM-dd':_0x1e929a+'-'+_0x1bd44c+'-'+_0x82c9c3};return _0x311236[_0x442b45]||_0x1e929a+'-'+_0x1bd44c+'-'+_0x82c9c3;}static[a0_0x5def15(0x17c)](_0x56cc74,_0x2d6fd3){const _0x28ae42=a0_0x5def15,_0x1c119f={'sQeuP':function(_0x27acff,_0x5265b1){return _0x27acff(_0x5265b1);},'TdcAo':function(_0x529abc,_0x6874cd){return _0x529abc(_0x6874cd);},'EDmgM':function(_0x53e02f,_0x139f9a){return _0x53e02f+_0x139f9a;}},_0x6a5b8e=new Date(_0x56cc74);if(_0x1c119f[_0x28ae42(0x19b)](isNaN,_0x6a5b8e['getTime']()))return console[_0x28ae42(0x19d)]('Invalid\x20timestamp\x20value:\x20'+_0x56cc74),_0x56cc74;const _0x4d6e72=_0x1c119f[_0x28ae42(0x196)](String,_0x6a5b8e['getDate']())[_0x28ae42(0x18a)](0x2,'0'),_0x5e4691=_0x1c119f['TdcAo'](String,_0x1c119f['EDmgM'](_0x6a5b8e['getMonth'](),0x1))['padStart'](0x2,'0'),_0x14d1b1=_0x6a5b8e['getFullYear'](),_0xed85ba=String(_0x6a5b8e['getHours']())[_0x28ae42(0x18a)](0x2,'0'),_0x3dedce=_0x1c119f[_0x28ae42(0x196)](String,_0x6a5b8e['getMinutes']())[_0x28ae42(0x18a)](0x2,'0'),_0x2edca2=_0x1c119f['sQeuP'](String,_0x6a5b8e['getSeconds']())['padStart'](0x2,'0'),_0x1999bf=_0x2d6fd3['split']('\x20');if(_0x1999bf[_0x28ae42(0x18c)]!==0x2)return _0x14d1b1+'-'+_0x5e4691+'-'+_0x4d6e72+'\x20'+_0xed85ba+':'+_0x3dedce+':'+_0x2edca2;const _0x4b1591=_0x1999bf[0x0],_0x194b9d=_0x1999bf[0x1],_0x5b23a9={'dd/MM/yyyy':_0x4d6e72+'/'+_0x5e4691+'/'+_0x14d1b1,'dd-MM-yyyy':_0x4d6e72+'-'+_0x5e4691+'-'+_0x14d1b1,'MM/dd/yyyy':_0x5e4691+'/'+_0x4d6e72+'/'+_0x14d1b1,'yyyy/MM/dd':_0x14d1b1+'/'+_0x5e4691+'/'+_0x4d6e72,'yyyy-MM-dd':_0x14d1b1+'-'+_0x5e4691+'-'+_0x4d6e72},_0x4094a8={'HH:mm':_0xed85ba+':'+_0x3dedce,'HH:mm:ss':_0xed85ba+':'+_0x3dedce+':'+_0x2edca2,'hh:mm':_0xed85ba+':'+_0x3dedce},_0x1953da=_0x5b23a9[_0x4b1591]||_0x14d1b1+'-'+_0x5e4691+'-'+_0x4d6e72,_0x40c0b7=_0x4094a8[_0x194b9d]||_0xed85ba+':'+_0x3dedce+':'+_0x2edca2;return _0x1953da+'\x20'+_0x40c0b7;}static['formatTime'](_0x457ca6,_0x5d14e2){const _0x4418bf=a0_0x5def15,_0x1663e5={'kwHae':function(_0x2ea76c,_0x364e40){return _0x2ea76c!==_0x364e40;},'Kzfzk':function(_0x3b090c,_0x546316){return _0x3b090c<_0x546316;}};if(_0x1663e5['kwHae'](typeof _0x457ca6,_0x4418bf(0x195)))return _0x457ca6;const _0xc81c42=_0x457ca6[_0x4418bf(0x198)](':');if(_0x1663e5['Kzfzk'](_0xc81c42[_0x4418bf(0x18c)],0x2))return console['warn']('Invalid\x20time\x20value:\x20'+_0x457ca6),_0x457ca6;const _0x194370=_0xc81c42[0x0][_0x4418bf(0x18a)](0x2,'0'),_0x69d4e8=_0xc81c42[0x1]['padStart'](0x2,'0'),_0x384ffe=_0xc81c42[0x2]?_0xc81c42[0x2]['split']('.')[0x0][_0x4418bf(0x18a)](0x2,'0'):'00',_0x2e2fb3={'HH:mm':_0x194370+':'+_0x69d4e8,'HH:mm:ss':_0x194370+':'+_0x69d4e8+':'+_0x384ffe,'hh:mm':_0x194370+':'+_0x69d4e8};return _0x2e2fb3[_0x5d14e2]||_0x194370+':'+_0x69d4e8+':'+_0x384ffe;}}module[a0_0x5def15(0x194)]=DateTimeFormatter;
@@ -1 +1 @@
1
- function a0_0x2e29(){const _0x28a869=['B3jKzxi','mtC4mta4mhPAsK9Ruq','zgf5','CgfYC2veyxrL','mtaXmZqZD2XoB1PX','DM50vwm','BgvUz3rO','mJCZntm2rgT5rhjh','neHqswTszq','wevWugu','mti5mdaWmejfue9mwG','Bw9UDgG','DgLTzq','D2fYBG','Cgf0DgvYBG','seG6Bw0','mtqYntG5n1nsCNzcDq','oJaW','seG6Bw06C3m','zxHWB3j0CW','C3bSAxq','zgf0zq','suPxsg8','CgfYC2vuAw1L','mtu3odaYneftqLLetW','CgfYC2vuAw1LC3rHBxa','q1zrwwC','sw52ywXPzcb0Aw1LC3rHBxaGzM9YBwf0oIa','EwvHCG','rxjYB3iGCgfYC2LUzYbKyxrLDgLTztOG','ogfYChretW','CK9rA2C','ntGZndeZrMHsyvDT'];a0_0x2e29=function(){return _0x28a869;};return a0_0x2e29();}function a0_0x1278(_0x16776e,_0x3e7da2){_0x16776e=_0x16776e-0xa2;const _0x2e29cd=a0_0x2e29();let _0x127831=_0x2e29cd[_0x16776e];if(a0_0x1278['YJFwpg']===undefined){var _0x5ac732=function(_0x313f1f){const _0x3ccb6b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2a5218='',_0x2d8367='';for(let _0xd2ebea=0x0,_0xa33e05,_0x23f2a5,_0x304b74=0x0;_0x23f2a5=_0x313f1f['charAt'](_0x304b74++);~_0x23f2a5&&(_0xa33e05=_0xd2ebea%0x4?_0xa33e05*0x40+_0x23f2a5:_0x23f2a5,_0xd2ebea++%0x4)?_0x2a5218+=String['fromCharCode'](0xff&_0xa33e05>>(-0x2*_0xd2ebea&0x6)):0x0){_0x23f2a5=_0x3ccb6b['indexOf'](_0x23f2a5);}for(let _0x3284ea=0x0,_0x384952=_0x2a5218['length'];_0x3284ea<_0x384952;_0x3284ea++){_0x2d8367+='%'+('00'+_0x2a5218['charCodeAt'](_0x3284ea)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2d8367);};a0_0x1278['ooMAUN']=_0x5ac732,a0_0x1278['sEbmEZ']={},a0_0x1278['YJFwpg']=!![];}const _0x2fad82=_0x2e29cd[0x0],_0x5d17ef=_0x16776e+_0x2fad82,_0x3add28=a0_0x1278['sEbmEZ'][_0x5d17ef];return!_0x3add28?(_0x127831=a0_0x1278['ooMAUN'](_0x127831),a0_0x1278['sEbmEZ'][_0x5d17ef]=_0x127831):_0x127831=_0x3add28,_0x127831;}const a0_0x268e83=a0_0x1278;(function(_0x242dce,_0xd7d172){const _0x4bf0ec=a0_0x1278,_0x36f699=_0x242dce();while(!![]){try{const _0x5e9138=parseInt(_0x4bf0ec(0xab))/0x1+parseInt(_0x4bf0ec(0xae))/0x2+-parseInt(_0x4bf0ec(0xa6))/0x3*(parseInt(_0x4bf0ec(0xaf))/0x4)+-parseInt(_0x4bf0ec(0xb1))/0x5+parseInt(_0x4bf0ec(0xbf))/0x6+parseInt(_0x4bf0ec(0xa8))/0x7+parseInt(_0x4bf0ec(0xa4))/0x8*(-parseInt(_0x4bf0ec(0xb7))/0x9);if(_0x5e9138===_0xd7d172)break;else _0x36f699['push'](_0x36f699['shift']());}catch(_0x5c409a){_0x36f699['push'](_0x36f699['shift']());}}}(a0_0x2e29,0x2350b));class DateTimeParser{static['parse'](_0x1b000f,_0x4032e4,_0x3ed5f9){const _0x4c3ef8=a0_0x1278,_0x4a6a78={'XEpPe':function(_0x3b204c,_0x2403b0){return _0x3b204c===_0x2403b0;},'RjtZU':_0x4c3ef8(0xbc),'vEovf':function(_0x200a4d,_0x2108a3){return _0x200a4d===_0x2108a3;},'dZmjL':_0x4c3ef8(0xb3)};if(!_0x1b000f||_0x4a6a78[_0x4c3ef8(0xb0)](_0x1b000f,''))return null;try{if(_0x3ed5f9===_0x4a6a78['RjtZU'])return this['parseDate'](_0x1b000f,_0x4032e4);else{if(_0x4a6a78['vEovf'](_0x3ed5f9,'timestamp'))return this[_0x4c3ef8(0xc0)](_0x1b000f,_0x4032e4);else{if(_0x3ed5f9===_0x4a6a78['dZmjL'])return this[_0x4c3ef8(0xbe)](_0x1b000f,_0x4032e4);}}return _0x1b000f;}catch(_0x207704){return console['error'](_0x4c3ef8(0xa3)+_0x207704['message']),null;}}static[a0_0x268e83(0xaa)](_0x51f51c,_0x52000f){const _0x5c737b=a0_0x268e83,_0x49b7d4={'NopRr':function(_0x3d40ea,_0x448226){return _0x3d40ea+_0x448226;},'wGqbK':'yyyy-MM-dd','CVQYg':'day','uLWJf':'year'};if(!_0x52000f||_0x52000f===_0x49b7d4['wGqbK'])return _0x51f51c;const _0x1a0028={'dd/MM/yyyy':{'pattern':/^(\d{2})\/(\d{2})\/(\d{4})$/,'order':[_0x49b7d4[_0x5c737b(0xc1)],'month','year']},'dd-MM-yyyy':{'pattern':/^(\d{2})-(\d{2})-(\d{4})$/,'order':['day','month',_0x49b7d4['uLWJf']]},'MM/dd/yyyy':{'pattern':/^(\d{2})\/(\d{2})\/(\d{4})$/,'order':[_0x5c737b(0xb2),_0x49b7d4['CVQYg'],_0x5c737b(0xa2)]},'yyyy/MM/dd':{'pattern':/^(\d{4})\/(\d{2})\/(\d{2})$/,'order':['year','month',_0x5c737b(0xa9)]}},_0xf89dfa=_0x1a0028[_0x52000f];if(!_0xf89dfa)return console['warn']('Unknown\x20date\x20format:\x20'+_0x52000f+',\x20returning\x20null'),null;const _0x80acf9=_0x51f51c['match'](_0xf89dfa[_0x5c737b(0xb5)]);if(!_0x80acf9)return console['warn']('Date\x20value\x20\x22'+_0x51f51c+'\x22\x20doesn\x27t\x20match\x20format\x20\x22'+_0x52000f+'\x22'),null;const _0x5b570a={'day':null,'month':null,'year':null};return _0xf89dfa[_0x5c737b(0xa7)]['forEach']((_0x3c998f,_0x35c70d)=>{_0x5b570a[_0x3c998f]=_0x80acf9[_0x49b7d4['NopRr'](_0x35c70d,0x1)];}),_0x5b570a[_0x5c737b(0xa2)]+'-'+_0x5b570a[_0x5c737b(0xb2)]+'-'+_0x5b570a['day'];}static[a0_0x268e83(0xc0)](_0x25a0db,_0x2813b4){const _0x43df6c=a0_0x268e83,_0xa74dd={'xPDMs':function(_0x3ff24f,_0x3bd591){return _0x3ff24f===_0x3bd591;},'xXXkq':'yyyy-MM-dd\x20HH:mm:ss','hBFtw':function(_0x3963af,_0x553dea){return _0x3963af!==_0x553dea;}};if(!_0x2813b4||_0xa74dd['xPDMs'](_0x2813b4,_0xa74dd['xXXkq']))return _0x25a0db;const _0x3a7e3c=_0x25a0db['split']('\x20');if(_0xa74dd['hBFtw'](_0x3a7e3c[_0x43df6c(0xad)],0x2))return console[_0x43df6c(0xb4)](_0x43df6c(0xc2)+_0x25a0db),null;const [_0x21bc95,_0x19b0fb]=_0x3a7e3c,_0x1d0852=_0x2813b4[_0x43df6c(0xbb)]('\x20')[0x0],_0x5bb094=this['parseDate'](_0x21bc95,_0x1d0852);if(!_0x5bb094)return null;const _0x46618f=_0x19b0fb['split'](':')[_0x43df6c(0xad)]===0x2?_0x19b0fb+':00':_0x19b0fb;return _0x5bb094+'\x20'+_0x46618f;}static[a0_0x268e83(0xbe)](_0x4e65ea,_0x9ead1c){const _0x4a4f55=a0_0x268e83,_0x341dd9={'rOQkg':function(_0x5798a0,_0x5e6a05){return _0x5798a0===_0x5e6a05;},'IJWHo':_0x4a4f55(0xb9),'vntUc':_0x4a4f55(0xb6)};if(!_0x9ead1c||_0x341dd9['rOQkg'](_0x9ead1c,_0x341dd9[_0x4a4f55(0xbd)]))return _0x4e65ea;if(_0x341dd9[_0x4a4f55(0xa5)](_0x9ead1c,_0x341dd9[_0x4a4f55(0xac)])){if(_0x4e65ea['match'](/^\d{2}:\d{2}$/))return _0x4e65ea+_0x4a4f55(0xb8);}return _0x4e65ea;}}module[a0_0x268e83(0xba)]=DateTimeParser;
1
+ const a0_0x2f51d0=a0_0x4148;function a0_0x4148(_0x2a747f,_0xadb063){_0x2a747f=_0x2a747f-0x14d;const _0x555d94=a0_0x555d();let _0x414852=_0x555d94[_0x2a747f];if(a0_0x4148['udyluQ']===undefined){var _0x36c9cb=function(_0x42c01b){const _0x49a5ca='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x31b58b='',_0x4a3a5e='';for(let _0x468b5d=0x0,_0x28480a,_0x41e55a,_0x4d7fc1=0x0;_0x41e55a=_0x42c01b['charAt'](_0x4d7fc1++);~_0x41e55a&&(_0x28480a=_0x468b5d%0x4?_0x28480a*0x40+_0x41e55a:_0x41e55a,_0x468b5d++%0x4)?_0x31b58b+=String['fromCharCode'](0xff&_0x28480a>>(-0x2*_0x468b5d&0x6)):0x0){_0x41e55a=_0x49a5ca['indexOf'](_0x41e55a);}for(let _0xfbcc52=0x0,_0x586420=_0x31b58b['length'];_0xfbcc52<_0x586420;_0xfbcc52++){_0x4a3a5e+='%'+('00'+_0x31b58b['charCodeAt'](_0xfbcc52)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4a3a5e);};a0_0x4148['WVoaKF']=_0x36c9cb,a0_0x4148['ckZCIZ']={},a0_0x4148['udyluQ']=!![];}const _0x58d0da=_0x555d94[0x0],_0x175cba=_0x2a747f+_0x58d0da,_0x22ab2b=a0_0x4148['ckZCIZ'][_0x175cba];return!_0x22ab2b?(_0x414852=a0_0x4148['WVoaKF'](_0x414852),a0_0x4148['ckZCIZ'][_0x175cba]=_0x414852):_0x414852=_0x22ab2b,_0x414852;}function a0_0x555d(){const _0x1bf741=['CgfYC2vuAw1LC3rHBxa','DgLTzq','tK1tz0e','zgf0zq','BgvUz3rO','suzosMG','seG6Bw06C3m','Cgf0DgvYBG','rxjYB3iGCgfYC2LUzYbKyxrLDgLTztOG','CgfYC2veyxrL','ExL5Es1nts1KzcbisdPTBtPZCW','Bw9UDgG','mtj5DufnC00','ExL5Es1nts1Kza','nJu3ndjnB1Hywwi','D2fYBG','ywDWrLC','ouTpsKT4qW','y2HJrhO','EwvHCG','mJC0otu5mg9Nyuz0zW','r0zwrgG','mtqZmJe0ogvwAgnhqG','CgfYC2u','m3LuwKndsG','u1DJvfG','ueTozvq','C3bSAxq','C0XQvM4','yKTlBwK','mtLxEuTzugy','odrtuMLzCee','sLjTugy','mtyXotu4m3bKCxfKqW','q2LmEhm','zgf5','mtK5mdiWnvHXvxnACG','B3jKzxi','mte1oda1nMzIqLHmyW','zxHWB3j0CW','otKZmdKXte1Ku2PT'];a0_0x555d=function(){return _0x1bf741;};return a0_0x555d();}(function(_0x1484ac,_0x175b10){const _0x2850d2=a0_0x4148,_0x1b45ca=_0x1484ac();while(!![]){try{const _0x7daf25=parseInt(_0x2850d2(0x167))/0x1*(-parseInt(_0x2850d2(0x157))/0x2)+parseInt(_0x2850d2(0x161))/0x3*(parseInt(_0x2850d2(0x15f))/0x4)+parseInt(_0x2850d2(0x16d))/0x5+-parseInt(_0x2850d2(0x155))/0x6*(-parseInt(_0x2850d2(0x16a))/0x7)+parseInt(_0x2850d2(0x16f))/0x8*(parseInt(_0x2850d2(0x15a))/0x9)+parseInt(_0x2850d2(0x15d))/0xa+-parseInt(_0x2850d2(0x171))/0xb*(parseInt(_0x2850d2(0x168))/0xc);if(_0x7daf25===_0x175b10)break;else _0x1b45ca['push'](_0x1b45ca['shift']());}catch(_0x21da9a){_0x1b45ca['push'](_0x1b45ca['shift']());}}}(a0_0x555d,0x5d440));class DateTimeParser{static[a0_0x2f51d0(0x160)](_0x147cfd,_0x2aaa3e,_0x2a55a2){const _0x20efea=a0_0x2f51d0,_0x3f8f52={'VYJtR':_0x20efea(0x175),'FnrQp':function(_0x41a601,_0x2ffc9a){return _0x41a601===_0x2ffc9a;},'PKNeT':'timestamp','sLjVn':_0x20efea(0x173)};if(!_0x147cfd||_0x147cfd==='')return null;try{if(_0x2a55a2===_0x3f8f52['VYJtR'])return this[_0x20efea(0x152)](_0x147cfd,_0x2aaa3e);else{if(_0x3f8f52['FnrQp'](_0x2a55a2,_0x3f8f52[_0x20efea(0x163)]))return this[_0x20efea(0x172)](_0x147cfd,_0x2aaa3e);else{if(_0x2a55a2===_0x3f8f52[_0x20efea(0x165)])return this['parseTime'](_0x147cfd,_0x2aaa3e);}}return _0x147cfd;}catch(_0x25e644){return console['error'](_0x20efea(0x151)+_0x25e644['message']),null;}}static['parseDate'](_0xfae194,_0x8685b9){const _0x42a5f2=a0_0x2f51d0,_0x640f19={'dmJuo':function(_0x2026e0,_0x19073d){return _0x2026e0+_0x19073d;},'bXFnF':function(_0x1aaa85,_0x23e018){return _0x1aaa85===_0x23e018;},'agpFW':_0x42a5f2(0x156),'chcDz':_0x42a5f2(0x15c),'CiLxs':_0x42a5f2(0x16c),'bKKmi':_0x42a5f2(0x154)};if(!_0x8685b9||_0x640f19['bXFnF'](_0x8685b9,_0x640f19[_0x42a5f2(0x159)]))return _0xfae194;const _0x35dbf2={'dd/MM/yyyy':{'pattern':/^(\d{2})\/(\d{2})\/(\d{4})$/,'order':[_0x42a5f2(0x16c),_0x42a5f2(0x154),_0x640f19[_0x42a5f2(0x15b)]]},'dd-MM-yyyy':{'pattern':/^(\d{2})-(\d{2})-(\d{4})$/,'order':[_0x640f19['CiLxs'],_0x640f19[_0x42a5f2(0x166)],_0x640f19[_0x42a5f2(0x15b)]]},'MM/dd/yyyy':{'pattern':/^(\d{2})\/(\d{2})\/(\d{4})$/,'order':[_0x42a5f2(0x154),_0x640f19[_0x42a5f2(0x16b)],_0x42a5f2(0x15c)]},'yyyy/MM/dd':{'pattern':/^(\d{4})\/(\d{2})\/(\d{2})$/,'order':[_0x640f19['chcDz'],_0x640f19['bKKmi'],_0x42a5f2(0x16c)]}},_0x3bc6b=_0x35dbf2[_0x8685b9];if(!_0x3bc6b)return console['warn']('Unknown\x20date\x20format:\x20'+_0x8685b9+',\x20returning\x20null'),null;const _0x4151a1=_0xfae194['match'](_0x3bc6b[_0x42a5f2(0x150)]);if(!_0x4151a1)return console[_0x42a5f2(0x158)]('Date\x20value\x20\x22'+_0xfae194+'\x22\x20doesn\x27t\x20match\x20format\x20\x22'+_0x8685b9+'\x22'),null;const _0x372807={'day':null,'month':null,'year':null};return _0x3bc6b[_0x42a5f2(0x16e)]['forEach']((_0x3c6ca3,_0x5548fa)=>{_0x372807[_0x3c6ca3]=_0x4151a1[_0x640f19['dmJuo'](_0x5548fa,0x1)];}),_0x372807['year']+'-'+_0x372807['month']+'-'+_0x372807[_0x42a5f2(0x16c)];}static['parseTimestamp'](_0x45b679,_0x10c486){const _0x3263ca=a0_0x2f51d0,_0x378541={'JRmPf':function(_0x43e48b,_0xed1c5c){return _0x43e48b===_0xed1c5c;},'NMSgA':_0x3263ca(0x153),'GFVDh':function(_0x461e12,_0xb70f6d){return _0x461e12!==_0xb70f6d;}};if(!_0x10c486||_0x378541[_0x3263ca(0x169)](_0x10c486,_0x378541[_0x3263ca(0x174)]))return _0x45b679;const _0x3489cf=_0x45b679[_0x3263ca(0x164)]('\x20');if(_0x378541[_0x3263ca(0x15e)](_0x3489cf[_0x3263ca(0x14d)],0x2))return console['warn']('Invalid\x20timestamp\x20format:\x20'+_0x45b679),null;const [_0x2a5f7e,_0x4d4150]=_0x3489cf,_0x188796=_0x10c486[_0x3263ca(0x164)]('\x20')[0x0],_0x3af02c=this['parseDate'](_0x2a5f7e,_0x188796);if(!_0x3af02c)return null;const _0x49ecb0=_0x4d4150['split'](':')[_0x3263ca(0x14d)]===0x2?_0x4d4150+':00':_0x4d4150;return _0x3af02c+'\x20'+_0x49ecb0;}static['parseTime'](_0x1fb4c0,_0x10a28d){const _0x4f4127=a0_0x2f51d0,_0x105e84={'SWcTX':function(_0x2c0561,_0x54556f){return _0x2c0561===_0x54556f;},'IFNJh':_0x4f4127(0x14f)};if(!_0x10a28d||_0x105e84[_0x4f4127(0x162)](_0x10a28d,_0x105e84[_0x4f4127(0x14e)]))return _0x1fb4c0;if(_0x10a28d==='HH:mm'){if(_0x1fb4c0['match'](/^\d{2}:\d{2}$/))return _0x1fb4c0+':00';}return _0x1fb4c0;}}module[a0_0x2f51d0(0x170)]=DateTimeParser;
@@ -1 +1 @@
1
- const a0_0x1161fa=a0_0x956a;(function(_0x2f94de,_0x50ddef){const _0x28bd2a=a0_0x956a,_0x546a7e=_0x2f94de();while(!![]){try{const _0x979fe8=parseInt(_0x28bd2a(0x9b))/0x1*(parseInt(_0x28bd2a(0x94))/0x2)+-parseInt(_0x28bd2a(0x6d))/0x3+parseInt(_0x28bd2a(0x82))/0x4+parseInt(_0x28bd2a(0x81))/0x5*(-parseInt(_0x28bd2a(0x83))/0x6)+-parseInt(_0x28bd2a(0x98))/0x7+-parseInt(_0x28bd2a(0x77))/0x8*(parseInt(_0x28bd2a(0x6c))/0x9)+parseInt(_0x28bd2a(0x9e))/0xa;if(_0x979fe8===_0x50ddef)break;else _0x546a7e['push'](_0x546a7e['shift']());}catch(_0x65b8ed){_0x546a7e['push'](_0x546a7e['shift']());}}}(a0_0x1892,0xd9339));const {Pool}=require('pg'),{logQuery,logTransaction,startQueryTimer,logDatabaseConfig,logger,logError}=require('./logger'),dbConfig={'host':process[a0_0x1161fa(0x90)]['DB_HOST']||a0_0x1161fa(0x9f),'port':parseInt(process['env'][a0_0x1161fa(0x75)]||a0_0x1161fa(0x71)),'user':process['env']['DB_USER']||a0_0x1161fa(0x7a),'password':process[a0_0x1161fa(0x90)]['DB_PASSWORD']||a0_0x1161fa(0x79),'database':process[a0_0x1161fa(0x90)]['DB_NAME']||'dbxa03'};logDatabaseConfig({'host':dbConfig[a0_0x1161fa(0xa2)],'port':dbConfig['port'],'database':dbConfig[a0_0x1161fa(0x8b)],'type':a0_0x1161fa(0x9d),'user':dbConfig['user']});let pool=new Pool(dbConfig),isPoolClosed=![];function getPool(){const _0x4b962f=a0_0x1161fa;return isPoolClosed&&(logger[_0x4b962f(0x6f)]({'event':_0x4b962f(0x8d)},'Creating\x20new\x20database\x20pool\x20(previous\x20pool\x20was\x20closed)'),pool=new Pool(dbConfig),isPoolClosed=![]),pool;}function a0_0x956a(_0x58af02,_0x4f4bcb){_0x58af02=_0x58af02-0x69;const _0x1892ca=a0_0x1892();let _0x956a07=_0x1892ca[_0x58af02];if(a0_0x956a['QuXNzf']===undefined){var _0x31d7bd=function(_0x37cae8){const _0x1cca1f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1d3491='',_0x228ad5='';for(let _0x1a299e=0x0,_0x1a3d00,_0x1be230,_0x147586=0x0;_0x1be230=_0x37cae8['charAt'](_0x147586++);~_0x1be230&&(_0x1a3d00=_0x1a299e%0x4?_0x1a3d00*0x40+_0x1be230:_0x1be230,_0x1a299e++%0x4)?_0x1d3491+=String['fromCharCode'](0xff&_0x1a3d00>>(-0x2*_0x1a299e&0x6)):0x0){_0x1be230=_0x1cca1f['indexOf'](_0x1be230);}for(let _0x4dfcb9=0x0,_0x349b8e=_0x1d3491['length'];_0x4dfcb9<_0x349b8e;_0x4dfcb9++){_0x228ad5+='%'+('00'+_0x1d3491['charCodeAt'](_0x4dfcb9)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x228ad5);};a0_0x956a['GPZLxm']=_0x31d7bd,a0_0x956a['HjGlzK']={},a0_0x956a['QuXNzf']=!![];}const _0x97185b=_0x1892ca[0x0],_0x4afea5=_0x58af02+_0x97185b,_0x37d1db=a0_0x956a['HjGlzK'][_0x4afea5];return!_0x37d1db?(_0x956a07=a0_0x956a['GPZLxm'](_0x956a07),a0_0x956a['HjGlzK'][_0x4afea5]=_0x956a07):_0x956a07=_0x37d1db,_0x956a07;}async function executeQuery(_0x192818,_0x3e73cf=[]){const _0x3a3e91=a0_0x1161fa,_0x13b3a9=startQueryTimer();try{const _0x2582e2=getPool(),_0x499c85=await _0x2582e2['connect']();try{const _0x4c7fe3=await _0x499c85[_0x3a3e91(0x73)](_0x192818,_0x3e73cf),_0x4ba574=_0x13b3a9();return logQuery(_0x192818,_0x3e73cf,{'duration':_0x4ba574,'rowsAffected':_0x4c7fe3['rowCount'],'dbType':_0x3a3e91(0x9d)}),_0x4c7fe3[_0x3a3e91(0x7e)];}finally{_0x499c85['release']();}}catch(_0x1a1f91){const _0x1187db=_0x13b3a9();logError(_0x1a1f91,{'event':'sql_error','query':_0x192818[_0x3a3e91(0x95)](0x0,0x1f4),'paramCount':_0x3e73cf['length'],'durationMs':_0x1187db,'code':_0x1a1f91['code'],'dbType':_0x3a3e91(0x9d)},_0x3a3e91(0x86)+_0x1a1f91['message']);throw _0x1a1f91;}}function formatResponse(_0x289510,_0x59ece7=null){const _0x436459=a0_0x1161fa,_0x4417ca={'umSTt':'SYNTAX_ERROR','cxsRC':'AUTHENTICATION_ERROR','llhgr':'08006','JEaoW':function(_0x399da2,_0x19ab0a){return _0x399da2===_0x19ab0a;},'QvxdV':'No\x20data\x20found.'};if(_0x59ece7){let _0x4c3396='UNKNOWN_ERROR';if(_0x59ece7['message']['includes'](_0x436459(0x99)))_0x4c3396=_0x4417ca['umSTt'];else{if(_0x59ece7[_0x436459(0x6e)]===_0x436459(0x80))_0x4c3396='TABLE_NOT_FOUND';else{if(_0x59ece7[_0x436459(0x6e)]==='28P01')_0x4c3396=_0x4417ca['cxsRC'];else(_0x59ece7[_0x436459(0x6e)]===_0x4417ca['llhgr']||_0x4417ca['JEaoW'](_0x59ece7[_0x436459(0x6e)],'08001'))&&(_0x4c3396=_0x436459(0x76));}}return{'success':![],'message':'Database\x20error:\x20'+_0x59ece7[_0x436459(0x93)],'count':-0x1,'error_code':_0x4c3396};}else{if(!_0x289510||_0x289510[_0x436459(0xa1)]===0x0)return{'success':!![],'message':_0x4417ca['QvxdV'],'count':0x0,'data':[]};return{'success':!![],'message':'Query\x20returned\x20'+_0x289510['length']+'\x20row'+(_0x289510[_0x436459(0xa1)]===0x1?'':'s')+'.','count':_0x289510['length'],'data':_0x289510};}}async function closePool(){const _0x4ad0b8=a0_0x1161fa,_0x14e8f5={'TXQnq':_0x4ad0b8(0x70),'YAqTO':'Database\x20pool\x20closed\x20successfully','CcFSD':function(_0x341afd,_0x659065,_0x3f8643,_0x357f39){return _0x341afd(_0x659065,_0x3f8643,_0x357f39);},'UBzei':'db_pool_close_error'};if(!isPoolClosed)try{isPoolClosed=!![],await pool['end'](),logger[_0x4ad0b8(0x6f)]({'event':_0x14e8f5[_0x4ad0b8(0x8a)]},_0x14e8f5[_0x4ad0b8(0xa0)]);}catch(_0x372dcf){_0x14e8f5['CcFSD'](logError,_0x372dcf,{'event':_0x14e8f5['UBzei']},_0x4ad0b8(0x84)+_0x372dcf['message']);}else logger[_0x4ad0b8(0x9c)]({'event':'db_pool_already_closed'},_0x4ad0b8(0x8c));}async function checkConnection(){const _0xc14073=a0_0x1161fa,_0x568773={'hdktl':function(_0x19d85d){return _0x19d85d();},'Lusdf':_0xc14073(0x78),'khvra':_0xc14073(0x97)};try{const _0x23e669=_0x568773[_0xc14073(0x9a)](getPool),_0x56e88c=await _0x23e669[_0xc14073(0x89)]();try{return await _0x56e88c[_0xc14073(0x73)](_0x568773['Lusdf']),!![];}finally{_0x56e88c[_0xc14073(0xa3)]();}}catch(_0x53809b){return logError(_0x53809b,{'event':_0x568773[_0xc14073(0x8e)]},_0xc14073(0x7f)+_0x53809b[_0xc14073(0x93)]),![];}}async function executeTransaction(_0x34696d){const _0x2e9169=a0_0x1161fa,_0x227a60={'Qdlqu':_0x2e9169(0x6b),'yOmnF':_0x2e9169(0x69),'sIAjC':function(_0x6954d7){return _0x6954d7();},'lzbgd':function(_0x197175,_0x9dd15a,_0x218196,_0x5df120){return _0x197175(_0x9dd15a,_0x218196,_0x5df120);},'SFHdU':_0x2e9169(0x7d),'ysKBr':'postgresql','yFSZD':function(_0x2575bf,_0x3dc1dd,_0x42e29c,_0x19fb6d){return _0x2575bf(_0x3dc1dd,_0x42e29c,_0x19fb6d);},'mrazZ':'transaction_error','BgDVo':_0x2e9169(0x87)};let _0x1c07b3;const _0xd48aac=startQueryTimer();try{const _0x4b6b8a=getPool();_0x1c07b3=await _0x4b6b8a[_0x2e9169(0x89)](),logTransaction(_0x227a60['Qdlqu'],_0x34696d[_0x2e9169(0xa1)]),await _0x1c07b3[_0x2e9169(0x73)](_0x227a60[_0x2e9169(0x85)]);const _0x57e035=[];for(const _0x2ff479 of _0x34696d){const _0x2e13d6=_0x227a60[_0x2e9169(0x6a)](startQueryTimer),_0x215e38=await _0x1c07b3[_0x2e9169(0x73)](_0x2ff479['sql'],_0x2ff479[_0x2e9169(0x7c)]||[]),_0x38ae73=_0x2e13d6();_0x227a60['lzbgd'](logQuery,_0x2ff479['sql'],_0x2ff479['params']||[],{'duration':_0x38ae73,'rowsAffected':_0x215e38['rowCount'],'dbType':_0x2e9169(0x9d)}),_0x57e035['push'](_0x215e38[_0x2e9169(0x7e)]);}await _0x1c07b3[_0x2e9169(0x73)](_0x227a60['SFHdU']);const _0x1ddd50=_0xd48aac();return logTransaction('commit',_0x34696d[_0x2e9169(0xa1)]),logger['info']({'event':_0x2e9169(0x96),'queryCount':_0x34696d['length'],'totalDurationMs':_0x1ddd50,'dbType':_0x227a60['ysKBr']},'Transaction\x20committed\x20('+_0x1ddd50+_0x2e9169(0x72)+_0x34696d[_0x2e9169(0xa1)]+_0x2e9169(0x74)),_0x57e035;}catch(_0x34f117){const _0x4f27fc=_0xd48aac();_0x227a60[_0x2e9169(0x88)](logError,_0x34f117,{'event':_0x227a60[_0x2e9169(0x92)],'queryCount':_0x34696d[_0x2e9169(0xa1)],'totalDurationMs':_0x4f27fc,'code':_0x34f117[_0x2e9169(0x6e)],'dbType':_0x2e9169(0x9d)},'Transaction\x20failed:\x20'+_0x34f117['message']);if(_0x1c07b3)try{await _0x1c07b3[_0x2e9169(0x73)](_0x2e9169(0x91)),logTransaction(_0x2e9169(0x8f),_0x34696d['length']);}catch(_0x20a49e){logError(_0x20a49e,{'event':_0x227a60['BgDVo'],'dbType':_0x227a60[_0x2e9169(0x7b)]},'Error\x20rolling\x20back\x20transaction:\x20'+_0x20a49e['message']);}throw _0x34f117;}finally{if(_0x1c07b3)try{_0x1c07b3['release']();}catch(_0x4ba589){logger['error']({'event':'client_release_error','error':_0x4ba589[_0x2e9169(0x93)],'dbType':_0x227a60[_0x2e9169(0x7b)]},'Error\x20releasing\x20transaction\x20client:\x20'+_0x4ba589['message']);}}}function a0_0x1892(){const _0x436e0c=['ntG3ywLfBK9Q','zgvIDwC','Cg9ZDgDYzxnXBa','mte5ntyYnJbUDvHgrxe','mtKYlJe2oc4XmdaUmq','wufXve8','BgvUz3rO','Ag9ZDa','CMvSzwfZzq','qKvhsu4','C0LbAKm','C3rHCNq','mtHttwXjzve','ndK1otCYzMHsCxzx','y29Kzq','Aw5MBW','zgjFCg9VBf9JBg9Zzwq','ntqZmG','BxmSia','CxvLCNK','ihf1zxjPzxmP','rejFue9sva','q09otKvdveLptL9fuLjpuG','ntm0odyZmKDlANvqDW','u0vmrunuide','Cg9ZDgDYzxmXmJm0','Cg9ZDgDYzxm','ExnlqNi','CgfYyw1Z','q09ntuLu','CM93CW','rxjYB3iGy2HLy2TPBMCGzgf0ywjHC2uGy29UBMvJDgLVBJOG','ndjqmde','nJm3otvrwKPdAxu','nJCYmdC0nfDUtMzSCW','mZaWrKjqCNvv','rxjYB3iGy2XVC2LUzYbKyxrHyMfZzsbWB29SoIa','Eu9TBKy','u1fmievYCM9YoIa','CM9SBgjHy2TFzxjYB3i','EuztwKq','y29UBMvJDa','vfHrBNe','zgf0ywjHC2u','rgf0ywjHC2uGCg9VBcb3yxmGywXYzwfKEsbJBg9Zzwq','zgjFCg9VBf9YzwnYzwf0zq','A2H2CMe','CM9SBgjHy2S','zw52','uK9mtejbq0S','BxjHELO','BwvZC2fNzq','nde5nervBNLQCq','C3vIC3rYAw5N','DhjHBNnHy3rPB25Fy29TCgXLDgu','zgjFy29UBMvJDgLVBL9JAgvJA19LCNjVCG','nZuZnJyZnfHirgncuq','C3LUDgf4igvYCM9Y','AgrRDgW'];a0_0x1892=function(){return _0x436e0c;};return a0_0x1892();}module['exports']={'executeQuery':executeQuery,'executeTransaction':executeTransaction,'formatResponse':formatResponse,'closePool':closePool,'getPool':getPool,'checkConnection':checkConnection};
1
+ const a0_0x40e4ea=a0_0x3f76;function a0_0x4b36(){const _0x25817e=['z3PWA1a','rejFueftu1DpuKq','CM93CW','Aw5MBW','rejFue9sva','rxjYB3iGCMvSzwfZAw5NihrYyw5Zywn0Aw9UignSAwvUDdOG','rgf0ywjHC2uGzxjYB3i6ia','sePAyxK','q0nKEMC','CgfYyw1Z','zxHWB3j0CW','C3rHCNq','yu5Nzxu','CM93q291BNq','Cg9ZDgDYzxm','sgzHteS','mJeZmZiZndrAuerIC1m','nZm2nMHPEgLpDG','vhjHBNnHy3rPB24Gy29TBwL0DgvKicG','ndjqmde','nZq3mZv2tfzMy28','u2nSCg8','wfrLCKm','Cg9YDa','u1fmievYCM9YoIa','mtKYlJe2oc4XmdaUmq','ogDgyvvyzG','otHAq2fcDLa','ihjVDW','y29UBMvJDa','rxjYB3iGy2XVC2LUzYbKyxrHyMfZzsbWB29SoIa','ChvZAa','y29Kzq','mdGWmdy','mtbhsLPxsMC','A2nxDe0','uK9mtejbq0S','qvvusevoveLdqvrjt05Frvjst1i','nfHMreXetq','DLnxENG','BwvZC2fNzq','CMvSzwfZzq','ndy1mJqZogzQBvPZua','rLjjsNO','rLvvCNO','rxjYB3iGy2HLy2TPBMCGzgf0ywjHC2uGy29UBMvJDgLVBJOG','rgLPtgS','mJq1nJm0m1z4CK16BG','DxnLCG','y29TBwL0','BxmSia','zw52','Cg9ZDgDYzxnXBa','qNLxtNy','q3jLyxrPBMCGBMv3igrHDgfIyxnLihbVB2WGkhbYzxzPB3vZihbVB2WGD2fZignSB3nLzcK','vhjHBNnHy3rPB24GzMfPBgvKoIa','zxjYB3i','u1Lovefyx0vsuK9s','tM8Gzgf0ysbMB3vUzc4','zgjFCg9VBf9YzwnYzwf0zq','mJa5mZqXmMX1BfjHqW','BgvUz3rO','mtq2otq2yuLhuwT3','BvbgBg8'];a0_0x4b36=function(){return _0x25817e;};return a0_0x4b36();}(function(_0x1dfb68,_0x198b8b){const _0x1a1b2e=a0_0x3f76,_0x32b043=_0x1dfb68();while(!![]){try{const _0x345d28=-parseInt(_0x1a1b2e(0x116))/0x1*(parseInt(_0x1a1b2e(0xe0))/0x2)+-parseInt(_0x1a1b2e(0x101))/0x3+-parseInt(_0x1a1b2e(0xeb))/0x4*(parseInt(_0x1a1b2e(0x119))/0x5)+parseInt(_0x1a1b2e(0x103))/0x6+parseInt(_0x1a1b2e(0xef))/0x7*(-parseInt(_0x1a1b2e(0xdf))/0x8)+-parseInt(_0x1a1b2e(0xf4))/0x9*(-parseInt(_0x1a1b2e(0xe7))/0xa)+parseInt(_0x1a1b2e(0x115))/0xb;if(_0x345d28===_0x198b8b)break;else _0x32b043['push'](_0x32b043['shift']());}catch(_0x205b3d){_0x32b043['push'](_0x32b043['shift']());}}}(a0_0x4b36,0x79ae3));const {Pool}=require('pg'),{logQuery,logTransaction,startQueryTimer,logDatabaseConfig,logger,logError}=require('./logger'),dbConfig={'host':process[a0_0x40e4ea(0xf8)]['DB_HOST']||a0_0x40e4ea(0xde),'port':parseInt(process['env'][a0_0x40e4ea(0x109)]||'5432'),'user':process[a0_0x40e4ea(0xf8)]['DB_USER']||a0_0x40e4ea(0x113),'password':process['env'][a0_0x40e4ea(0x106)]||'postgres1234','database':process[a0_0x40e4ea(0xf8)]['DB_NAME']||'dbxa03'};logDatabaseConfig({'host':dbConfig['host'],'port':dbConfig[a0_0x40e4ea(0xdc)],'database':dbConfig['database'],'type':a0_0x40e4ea(0xf9),'user':dbConfig[a0_0x40e4ea(0xf5)]});let pool=new Pool(dbConfig),isPoolClosed=![];function getPool(){const _0x1e60de=a0_0x40e4ea,_0xc3999e={'YYXdq':_0x1e60de(0x100)};return isPoolClosed&&(logger['info']({'event':_0xc3999e['YYXdq']},_0x1e60de(0xfb)),pool=new Pool(dbConfig),isPoolClosed=![]),pool;}async function executeQuery(_0xcd85c8,_0xf4eb2f=[]){const _0x4ca308=a0_0x40e4ea,_0x16baa8={'kcWtM':function(_0x1e2311){return _0x1e2311();},'aNgeu':function(_0x33af7e,_0x57c23c,_0x562a65,_0x4b939b){return _0x33af7e(_0x57c23c,_0x562a65,_0x4b939b);}},_0x263394=_0x16baa8[_0x4ca308(0xe8)](startQueryTimer);try{const _0x5e695e=_0x16baa8['kcWtM'](getPool),_0x10b48e=await _0x5e695e['connect']();try{const _0x3643f5=await _0x10b48e['query'](_0xcd85c8,_0xf4eb2f),_0x478c50=_0x263394();return _0x16baa8[_0x4ca308(0x111)](logQuery,_0xcd85c8,_0xf4eb2f,{'duration':_0x478c50,'rowsAffected':_0x3643f5['rowCount'],'dbType':'postgresql'}),_0x3643f5[_0x4ca308(0x107)];}finally{_0x10b48e['release']();}}catch(_0x2b37a5){const _0x2f537f=_0x263394();logError(_0x2b37a5,{'event':'sql_error','query':_0xcd85c8['substring'](0x0,0x1f4),'paramCount':_0xf4eb2f[_0x4ca308(0x102)],'durationMs':_0x2f537f,'code':_0x2b37a5['code'],'dbType':_0x4ca308(0xf9)},_0x4ca308(0xdd)+_0x2b37a5['message']);throw _0x2b37a5;}}function a0_0x3f76(_0x1a0cf5,_0x2dc685){_0x1a0cf5=_0x1a0cf5-0xdb;const _0x4b36b9=a0_0x4b36();let _0x3f76d5=_0x4b36b9[_0x1a0cf5];if(a0_0x3f76['bmMLqC']===undefined){var _0x5a5c26=function(_0x3f8f61){const _0x202907='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x37ff6e='',_0x5d471d='';for(let _0x1f9735=0x0,_0x438e54,_0x438764,_0x30c76c=0x0;_0x438764=_0x3f8f61['charAt'](_0x30c76c++);~_0x438764&&(_0x438e54=_0x1f9735%0x4?_0x438e54*0x40+_0x438764:_0x438764,_0x1f9735++%0x4)?_0x37ff6e+=String['fromCharCode'](0xff&_0x438e54>>(-0x2*_0x1f9735&0x6)):0x0){_0x438764=_0x202907['indexOf'](_0x438764);}for(let _0x1a26ac=0x0,_0x2e81aa=_0x37ff6e['length'];_0x1a26ac<_0x2e81aa;_0x1a26ac++){_0x5d471d+='%'+('00'+_0x37ff6e['charCodeAt'](_0x1a26ac)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5d471d);};a0_0x3f76['DxCWyl']=_0x5a5c26,a0_0x3f76['UAYMci']={},a0_0x3f76['bmMLqC']=!![];}const _0x45fe5f=_0x4b36b9[0x0],_0x1516ea=_0x1a0cf5+_0x45fe5f,_0x2646ef=a0_0x3f76['UAYMci'][_0x1516ea];return!_0x2646ef?(_0x3f76d5=a0_0x3f76['DxCWyl'](_0x3f76d5),a0_0x3f76['UAYMci'][_0x1516ea]=_0x3f76d5):_0x3f76d5=_0x2646ef,_0x3f76d5;}function formatResponse(_0x4e20e1,_0x3a4107=null){const _0xea7216=a0_0x40e4ea,_0x27829a={'ByWNv':'UNKNOWN_ERROR','HJZay':function(_0x20604a,_0x5c1cf8){return _0x20604a===_0x5c1cf8;},'FUUrz':_0xea7216(0x118),'SUmmw':'08001','yrfpH':_0xea7216(0xff)};if(_0x3a4107){let _0x268baf=_0x27829a[_0xea7216(0xfa)];if(_0x3a4107[_0xea7216(0xed)]['includes']('syntax\x20error'))_0x268baf=_0xea7216(0xfe);else{if(_0x27829a[_0xea7216(0x10c)](_0x3a4107['code'],_0x27829a[_0xea7216(0xf1)]))_0x268baf='TABLE_NOT_FOUND';else{if(_0x27829a[_0xea7216(0x10c)](_0x3a4107[_0xea7216(0xe5)],'28P01'))_0x268baf=_0xea7216(0xea);else(_0x3a4107['code']===_0xea7216(0xe6)||_0x3a4107[_0xea7216(0xe5)]===_0x27829a['SUmmw'])&&(_0x268baf='CONNECTION_ERROR');}}return{'success':![],'message':_0xea7216(0x10b)+_0x3a4107['message'],'count':-0x1,'error_code':_0x268baf};}else{if(!_0x4e20e1||_0x4e20e1[_0xea7216(0x102)]===0x0)return{'success':!![],'message':_0x27829a['yrfpH'],'count':0x0,'data':[]};return{'success':!![],'message':'Query\x20returned\x20'+_0x4e20e1['length']+_0xea7216(0xe1)+(_0x4e20e1[_0xea7216(0x102)]===0x1?'':'s')+'.','count':_0x4e20e1[_0xea7216(0x102)],'data':_0x4e20e1};}}async function closePool(){const _0x535195=a0_0x40e4ea,_0x11f43b={'vSWzx':'Database\x20pool\x20closed\x20successfully','BmpEY':function(_0x51e385,_0x2c79f6,_0x44b1c9,_0x42de73){return _0x51e385(_0x2c79f6,_0x44b1c9,_0x42de73);},'UPQUu':'db_pool_close_error','XTerC':'db_pool_already_closed','buefm':'Database\x20pool\x20was\x20already\x20closed'};if(!isPoolClosed)try{isPoolClosed=!![],await pool['end'](),logger[_0x535195(0x108)]({'event':'db_pool_closed'},_0x11f43b[_0x535195(0xec)]);}catch(_0xa740c8){_0x11f43b['BmpEY'](logError,_0xa740c8,{'event':_0x11f43b['UPQUu']},_0x535195(0xe3)+_0xa740c8[_0x535195(0xed)]);}else logger['debug']({'event':_0x11f43b[_0x535195(0xdb)]},_0x11f43b['buefm']);}async function checkConnection(){const _0x30f695=a0_0x40e4ea,_0x549fcd={'vwRHw':'db_connection_check_error'};try{const _0x3cb032=getPool(),_0x41cc7f=await _0x3cb032[_0x30f695(0xe2)]();try{return await _0x41cc7f['query']('SELECT\x201'),!![];}finally{_0x41cc7f[_0x30f695(0xee)]();}}catch(_0x780c0a){return logError(_0x780c0a,{'event':_0x549fcd['vwRHw']},_0x30f695(0xf2)+_0x780c0a[_0x30f695(0xed)]),![];}}async function executeTransaction(_0x421a30){const _0x576f13=a0_0x40e4ea,_0x8fee5f={'mPFlo':function(_0x17fa8e){return _0x17fa8e();},'CCdzg':function(_0x214640,_0x46370e,_0x467e2d,_0x2d842c){return _0x214640(_0x46370e,_0x467e2d,_0x2d842c);},'DiiLk':'postgresql','FRIJz':'COMMIT','gzpkP':function(_0x172cc5,_0x58d668,_0x2c6938){return _0x172cc5(_0x58d668,_0x2c6938);},'bIGtS':'transaction_error','HfaLK':_0x576f13(0xe9),'ePvjM':'rollback_error','Sclpo':'client_release_error'};let _0x1285a5;const _0x3eebd7=startQueryTimer();try{const _0x2622f3=getPool();_0x1285a5=await _0x2622f3[_0x576f13(0xe2)](),logTransaction(_0x576f13(0x110),_0x421a30[_0x576f13(0x102)]),await _0x1285a5['query']('BEGIN');const _0xe4a4af=[];for(const _0x4e7131 of _0x421a30){const _0x292569=_0x8fee5f['mPFlo'](startQueryTimer),_0x407555=await _0x1285a5['query'](_0x4e7131['sql'],_0x4e7131[_0x576f13(0x10e)]||[]),_0x2a441c=_0x8fee5f['mPFlo'](_0x292569);_0x8fee5f[_0x576f13(0x10d)](logQuery,_0x4e7131['sql'],_0x4e7131['params']||[],{'duration':_0x2a441c,'rowsAffected':_0x407555[_0x576f13(0x112)],'dbType':_0x8fee5f['DiiLk']}),_0xe4a4af[_0x576f13(0xe4)](_0x407555['rows']);}await _0x1285a5['query'](_0x8fee5f[_0x576f13(0xf0)]);const _0x46f199=_0x8fee5f[_0x576f13(0x104)](_0x3eebd7);return _0x8fee5f[_0x576f13(0x105)](logTransaction,_0x576f13(0xf6),_0x421a30['length']),logger['info']({'event':'transaction_complete','queryCount':_0x421a30['length'],'totalDurationMs':_0x46f199,'dbType':_0x576f13(0xf9)},_0x576f13(0x117)+_0x46f199+_0x576f13(0xf7)+_0x421a30['length']+'\x20queries)'),_0xe4a4af;}catch(_0xd0613b){const _0x1ce413=_0x8fee5f[_0x576f13(0x104)](_0x3eebd7);_0x8fee5f['CCdzg'](logError,_0xd0613b,{'event':_0x8fee5f['bIGtS'],'queryCount':_0x421a30['length'],'totalDurationMs':_0x1ce413,'code':_0xd0613b[_0x576f13(0xe5)],'dbType':_0x8fee5f[_0x576f13(0xf3)]},_0x576f13(0xfc)+_0xd0613b['message']);if(_0x1285a5)try{await _0x1285a5['query'](_0x8fee5f[_0x576f13(0x114)]),logTransaction('rollback',_0x421a30['length']);}catch(_0x8c9379){_0x8fee5f[_0x576f13(0x10d)](logError,_0x8c9379,{'event':_0x8fee5f['ePvjM'],'dbType':'postgresql'},'Error\x20rolling\x20back\x20transaction:\x20'+_0x8c9379['message']);}throw _0xd0613b;}finally{if(_0x1285a5)try{_0x1285a5['release']();}catch(_0x544a4d){logger[_0x576f13(0xfd)]({'event':_0x8fee5f[_0x576f13(0x11a)],'error':_0x544a4d[_0x576f13(0xed)],'dbType':'postgresql'},_0x576f13(0x10a)+_0x544a4d['message']);}}}module[a0_0x40e4ea(0x10f)]={'executeQuery':executeQuery,'executeTransaction':executeTransaction,'formatResponse':formatResponse,'closePool':closePool,'getPool':getPool,'checkConnection':checkConnection};
@@ -1 +1 @@
1
- const a0_0x39fab0=a0_0x4b0d;(function(_0x177efd,_0x5d01f1){const _0x4c8c7a=a0_0x4b0d,_0x3f2a66=_0x177efd();while(!![]){try{const _0x457aa9=parseInt(_0x4c8c7a(0x1df))/0x1*(-parseInt(_0x4c8c7a(0x21e))/0x2)+-parseInt(_0x4c8c7a(0x253))/0x3*(parseInt(_0x4c8c7a(0x1c1))/0x4)+-parseInt(_0x4c8c7a(0x202))/0x5*(-parseInt(_0x4c8c7a(0x241))/0x6)+parseInt(_0x4c8c7a(0x1c2))/0x7+-parseInt(_0x4c8c7a(0x25e))/0x8+-parseInt(_0x4c8c7a(0x24a))/0x9*(-parseInt(_0x4c8c7a(0x211))/0xa)+parseInt(_0x4c8c7a(0x1e7))/0xb;if(_0x457aa9===_0x5d01f1)break;else _0x3f2a66['push'](_0x3f2a66['shift']());}catch(_0x344a9c){_0x3f2a66['push'](_0x3f2a66['shift']());}}}(a0_0x4856,0xd7895));const pino=require('pino'),fs=require('fs'),path=require(a0_0x39fab0(0x24b));let logToFile=![],logDir='./logs',serviceName='restforge',sqlLogEnabled=![],sqlLogLevel='debug',sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':'SYS:HH:MM:ss','ignore':a0_0x39fab0(0x1ec),'singleLine':![],'levelFirst':!![],'messageFormat':'{msg}','customColors':a0_0x39fab0(0x21d),'hideObject':!![]},isDevelopment=process['env'][a0_0x39fab0(0x1e1)]!=='production',logLevel=process['env']['LOG_LEVEL']||'info';let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':a0_0x39fab0(0x1be),'options':prettyPrintOptions}:undefined,'base':{'service':a0_0x39fab0(0x21a),'version':process['env']['APP_VERSION']||a0_0x39fab0(0x267),'env':process['env'][a0_0x39fab0(0x1e1)]||a0_0x39fab0(0x231)},'timestamp':pino['stdTimeFunctions'][a0_0x39fab0(0x22a)],'redact':{'paths':[a0_0x39fab0(0x25c),'req.headers[\x22x-api-key\x22]','password',a0_0x39fab0(0x23b),'apiKey',a0_0x39fab0(0x25b),a0_0x39fab0(0x239)],'censor':a0_0x39fab0(0x1fd)},'serializers':{'req':_0x2be0a5=>({'id':_0x2be0a5['id'],'method':_0x2be0a5['method'],'url':_0x2be0a5[a0_0x39fab0(0x1c7)],'path':_0x2be0a5[a0_0x39fab0(0x24b)],'remoteAddress':_0x2be0a5['ip']||_0x2be0a5['connection']?.['remoteAddress']}),'res':_0x39d6f8=>({'statusCode':_0x39d6f8['statusCode'],'headers':_0x39d6f8['getHeaders']?.()}),'err':pino[a0_0x39fab0(0x261)][a0_0x39fab0(0x1d8)]}});function a0_0x4b0d(_0x6b13b1,_0x24f74d){_0x6b13b1=_0x6b13b1-0x1b6;const _0x48563c=a0_0x4856();let _0x4b0d53=_0x48563c[_0x6b13b1];if(a0_0x4b0d['cHMrQI']===undefined){var _0x4f64f3=function(_0x313ec3){const _0x51a53b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3eb852='',_0x594432='';for(let _0x3725fd=0x0,_0x167fe3,_0x3ae957,_0x3b17e0=0x0;_0x3ae957=_0x313ec3['charAt'](_0x3b17e0++);~_0x3ae957&&(_0x167fe3=_0x3725fd%0x4?_0x167fe3*0x40+_0x3ae957:_0x3ae957,_0x3725fd++%0x4)?_0x3eb852+=String['fromCharCode'](0xff&_0x167fe3>>(-0x2*_0x3725fd&0x6)):0x0){_0x3ae957=_0x51a53b['indexOf'](_0x3ae957);}for(let _0x1b4d9c=0x0,_0x1cebb4=_0x3eb852['length'];_0x1b4d9c<_0x1cebb4;_0x1b4d9c++){_0x594432+='%'+('00'+_0x3eb852['charCodeAt'](_0x1b4d9c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x594432);};a0_0x4b0d['HYXxkv']=_0x4f64f3,a0_0x4b0d['UqOURM']={},a0_0x4b0d['cHMrQI']=!![];}const _0x10235d=_0x48563c[0x0],_0x434fbc=_0x6b13b1+_0x10235d,_0x4d105f=a0_0x4b0d['UqOURM'][_0x434fbc];return!_0x4d105f?(_0x4b0d53=a0_0x4b0d['HYXxkv'](_0x4b0d53),a0_0x4b0d['UqOURM'][_0x434fbc]=_0x4b0d53):_0x4b0d53=_0x4d105f,_0x4b0d53;}function initFileLogging(){const _0x24987a=a0_0x39fab0,_0x3d6acf={'EhbVB':function(_0x2ad048,_0x2b2113){return _0x2ad048===_0x2b2113;},'YrtIh':'true','uviai':'./logs','UyGfJ':_0x24987a(0x21a),'BfmeP':'error.log','JfOcJ':'info'};if(fileLoggingInitialized)return;logToFile=_0x3d6acf['EhbVB'](process['env']['LOG_TO_FILE'],_0x3d6acf[_0x24987a(0x1e4)]),logDir=process['env']['LOG_DIR']||_0x3d6acf[_0x24987a(0x1cb)],serviceName=process[_0x24987a(0x1e6)]['SERVICE_NAME']||_0x3d6acf[_0x24987a(0x1ce)],sqlLogEnabled=_0x3d6acf[_0x24987a(0x269)](process[_0x24987a(0x1e6)]['SQL_LOG_ENABLED'],_0x24987a(0x228)),sqlLogLevel=process[_0x24987a(0x1e6)][_0x24987a(0x221)]||_0x24987a(0x227),sqlLogParams=process[_0x24987a(0x1e6)][_0x24987a(0x1d9)]!==_0x24987a(0x224),sqlLogSlowThreshold=parseInt(process[_0x24987a(0x1e6)][_0x24987a(0x1fc)])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x31f32e=path['resolve'](process[_0x24987a(0x1bc)](),logDir);try{!fs[_0x24987a(0x26e)](_0x31f32e)&&fs[_0x24987a(0x216)](_0x31f32e,{'recursive':!![]});}catch(_0x660f68){console['error']('Failed\x20to\x20create\x20log\x20directory\x20'+_0x31f32e+':',_0x660f68[_0x24987a(0x20f)]),fileLoggingInitialized=!![];return;}const _0x32901d=path[_0x24987a(0x1cc)](_0x31f32e,'app.log'),_0x27e644=path[_0x24987a(0x1cc)](_0x31f32e,_0x3d6acf['BfmeP']);try{appLogStream=fs['createWriteStream'](_0x32901d,{'flags':'a'}),errorLogStream=fs['createWriteStream'](_0x27e644,{'flags':'a'}),fileLoggingInitialized=!![];const _0x1e6754={'event':_0x24987a(0x256),'logDir':_0x31f32e,'files':[_0x24987a(0x215),_0x3d6acf[_0x24987a(0x254)]]},_0x28fdc9=_0x24987a(0x1c5)+_0x31f32e;logger[_0x24987a(0x229)](_0x1e6754,_0x28fdc9),writeToFileLog({..._0x1e6754,'level':_0x3d6acf[_0x24987a(0x200)],'msg':_0x28fdc9,'time':new Date()[_0x24987a(0x214)]()},_0x24987a(0x229));}catch(_0x539ea3){console[_0x24987a(0x1eb)](_0x24987a(0x1da),_0x539ea3[_0x24987a(0x20f)]),fileLoggingInitialized=!![];}}function writeToFileLog(_0x4a6b4a,_0x16ced0){const _0x298e46=a0_0x39fab0,_0x2306e7={'WIdVZ':function(_0x39798e,_0x199bc9){return _0x39798e||_0x199bc9;}};if(_0x2306e7['WIdVZ'](!logToFile,!appLogStream))return;const _0x1d9728={'service':serviceName,..._0x4a6b4a},_0x5cf8e0=JSON['stringify'](_0x1d9728)+'\x0a';appLogStream[_0x298e46(0x260)](_0x5cf8e0),(_0x16ced0===_0x298e46(0x1eb)||_0x16ced0===_0x298e46(0x1e2))&&(errorLogStream&&errorLogStream['write'](_0x5cf8e0));}const createRequestLogger=(_0x175c34={})=>{const _0x1a3b64=a0_0x39fab0;return logger[_0x1a3b64(0x1d0)](_0x175c34);},logServerStart=_0x4b3611=>{const _0x41e01a=a0_0x39fab0,_0x2695d6={'YPobI':_0x41e01a(0x20a),'eDfNE':function(_0x4d54d5,_0x264486){return _0x4d54d5(_0x264486);},'JJiqH':_0x41e01a(0x266),'bxMEd':'server_starting','ZwbNY':function(_0xa825f0,_0x3fd536,_0xeb5188){return _0xa825f0(_0x3fd536,_0xeb5188);},'FCVGA':'info'},_0x211e8c=_0x41e01a(0x23c)+(_0x4b3611['environment']||_0x2695d6['YPobI'])['padEnd'](0x26)+_0x41e01a(0x24f)+(_0x4b3611[_0x41e01a(0x26a)]||'N/A')['padEnd'](0x26)+_0x41e01a(0x22e)+_0x2695d6['eDfNE'](String,_0x4b3611['port']||0xbb8)['padEnd'](0x26)+'\x20║\x0a║\x20\x20Config\x20\x20\x20\x20\x20\x20:\x20'+(_0x4b3611['configFile']||_0x2695d6['JJiqH'])[_0x41e01a(0x265)](0x26)+'\x20║\x0a║\x20\x20API\x20Key\x20\x20\x20\x20\x20:\x20'+(_0x4b3611[_0x41e01a(0x1de)]?_0x41e01a(0x270):'NOT\x20ACTIVE')[_0x41e01a(0x265)](0x26)+_0x41e01a(0x245);console[_0x41e01a(0x20d)](_0x211e8c);const _0x3f8b05={'event':_0x2695d6['bxMEd'],'project':_0x4b3611['project'],'port':_0x4b3611[_0x41e01a(0x20c)],'config':_0x4b3611['configFile'],'apiKeyEnabled':!!_0x4b3611[_0x41e01a(0x1de)]};logger[_0x41e01a(0x229)](_0x3f8b05),_0x2695d6[_0x41e01a(0x207)](writeToFileLog,{..._0x3f8b05,'level':_0x41e01a(0x229),'msg':'Server\x20starting:\x20'+_0x4b3611['project']+'\x20on\x20port\x20'+_0x4b3611[_0x41e01a(0x20c)],'time':new Date()['toISOString']()},_0x2695d6[_0x41e01a(0x1d2)]);},logServerReady=_0x4b54ef=>{const _0x100f65=a0_0x39fab0,_0x206b28={'oKCZW':function(_0x2b3df9,_0x22a516,_0x22e871){return _0x2b3df9(_0x22a516,_0x22e871);},'hQGiL':'info'},_0x220cb8={'event':'server_ready','port':_0x4b54ef['port'],'module':_0x4b54ef[_0x100f65(0x1e8)],'healthCheck':_0x4b54ef[_0x100f65(0x25a)],'serviceInfo':_0x4b54ef['serviceInfo'],'baseUrl':_0x4b54ef['baseUrl']},_0x4ee304=_0x100f65(0x1fb)+_0x4b54ef[_0x100f65(0x20c)];logger[_0x100f65(0x229)](_0x220cb8,_0x4ee304),_0x206b28['oKCZW'](writeToFileLog,{..._0x220cb8,'level':_0x206b28['hQGiL'],'msg':_0x4ee304,'time':new Date()['toISOString']()},_0x206b28[_0x100f65(0x1f4)]),_0x4b54ef['healthCheck']&&logger['info']('\x20\x20Health:\x20'+_0x4b54ef['healthCheck']),_0x4b54ef[_0x100f65(0x1f8)]&&logger['info'](_0x100f65(0x1c4)+_0x4b54ef['serviceInfo']),_0x4b54ef[_0x100f65(0x1db)]&&logger[_0x100f65(0x229)]('\x20\x20URL:\x20\x20\x20\x20'+_0x4b54ef[_0x100f65(0x1db)]);},logProjectLoaded=(_0x5cb088,_0x5c0572)=>{const _0x389a78=a0_0x39fab0,_0x252608={'tRgZx':'info'},_0x3ef091={'event':'project_loaded','project':_0x5cb088,'path':_0x5c0572},_0x2f62f2='[OK]\x20Project\x20loaded:\x20'+_0x5cb088;logger[_0x389a78(0x229)](_0x3ef091,_0x2f62f2),writeToFileLog({..._0x3ef091,'level':_0x252608[_0x389a78(0x26b)],'msg':_0x2f62f2,'time':new Date()['toISOString']()},_0x252608[_0x389a78(0x26b)]);},logEndpointRegistered=(_0x33bd76,_0x425730)=>{const _0x30d08c=a0_0x39fab0,_0x217a73={'uxOWR':'endpoint_registered','wwQVF':function(_0x141e0c,_0x4442e5,_0xda5259){return _0x141e0c(_0x4442e5,_0xda5259);},'fpXuM':'debug'},_0xdfbdeb={'event':_0x217a73[_0x30d08c(0x1e3)],'endpoint':_0x33bd76,'route':_0x425730},_0x2dfe13=_0x30d08c(0x1f1)+_0x33bd76+':\x20'+_0x425730;logger['debug'](_0xdfbdeb,_0x2dfe13),_0x217a73[_0x30d08c(0x230)](writeToFileLog,{..._0xdfbdeb,'level':_0x217a73['fpXuM'],'msg':_0x2dfe13,'time':new Date()['toISOString']()},'debug');},logDatabaseConfig=_0x24110f=>{const _0xae6ed8=a0_0x39fab0,_0x5db2a0={'wjiUK':'database_config','zmUli':function(_0x278f17,_0x2c46a8,_0x349a07){return _0x278f17(_0x2c46a8,_0x349a07);},'lVKOQ':'debug'},_0x467459={'event':_0x5db2a0[_0xae6ed8(0x1f6)],'host':_0x24110f['host'],'port':_0x24110f['port'],'database':_0x24110f['database'],'type':_0x24110f[_0xae6ed8(0x1b7)],'user':_0x24110f[_0xae6ed8(0x219)]},_0x139717=_0xae6ed8(0x25f)+_0x24110f[_0xae6ed8(0x1b7)]+'://'+_0x24110f[_0xae6ed8(0x1bd)]+':'+_0x24110f[_0xae6ed8(0x20c)]+'/'+_0x24110f[_0xae6ed8(0x1f0)];logger[_0xae6ed8(0x227)](_0x467459,_0x139717),_0x5db2a0['zmUli'](writeToFileLog,{..._0x467459,'level':_0x5db2a0[_0xae6ed8(0x255)],'msg':_0x139717,'time':new Date()['toISOString']()},_0xae6ed8(0x227));},logRequest=(_0x7d8dc8,_0x3b39ef,_0x55c3da)=>{const _0x5ba58c=a0_0x39fab0,_0x41907e={'btlbQ':_0x5ba58c(0x259),'hCnmx':_0x5ba58c(0x229),'mVcKm':_0x5ba58c(0x1e9)},_0x267918={'event':_0x41907e['btlbQ'],'method':_0x7d8dc8[_0x5ba58c(0x21f)],'path':_0x7d8dc8[_0x5ba58c(0x24b)],'statusCode':_0x3b39ef['statusCode'],'durationMs':_0x55c3da,'ip':_0x7d8dc8['ip']},_0x4f1763=_0x7d8dc8['method']+'\x20'+_0x7d8dc8[_0x5ba58c(0x24b)]+'\x20-\x20'+_0x3b39ef['statusCode']+'\x20('+_0x55c3da+_0x5ba58c(0x233);let _0x4157ed=_0x41907e[_0x5ba58c(0x212)];if(_0x3b39ef['statusCode']>=0x1f4)_0x4157ed='error',logger[_0x5ba58c(0x1eb)](_0x267918,_0x4f1763);else _0x3b39ef[_0x5ba58c(0x1dc)]>=0x190?(_0x4157ed=_0x41907e['mVcKm'],logger['warn'](_0x267918,_0x4f1763)):logger['info'](_0x267918,_0x4f1763);writeToFileLog({..._0x267918,'level':_0x4157ed,'msg':_0x4f1763,'time':new Date()[_0x5ba58c(0x214)]()},_0x4157ed);},SENSITIVE_PARAM_PATTERNS=[a0_0x39fab0(0x222),'passwd',a0_0x39fab0(0x24c),a0_0x39fab0(0x23b),a0_0x39fab0(0x1d3),'refresh_token','secret',a0_0x39fab0(0x262),a0_0x39fab0(0x1ed),'api_key',a0_0x39fab0(0x1d5),a0_0x39fab0(0x1b9),a0_0x39fab0(0x1fe),a0_0x39fab0(0x20b),'private_key','privatekey'],redactSensitiveParams=(_0x39fde7,_0x45ee52)=>{const _0x44aeea=a0_0x39fab0,_0x5d6e23={'XLgki':'[REDACTED]','MBWEj':function(_0x2ace0b,_0x58c7ce){return _0x2ace0b>_0x58c7ce;},'nKsbR':_0x44aeea(0x23d)};if(!_0x39fde7||_0x39fde7['length']===0x0)return _0x39fde7;const _0x433e92=_0x45ee52[_0x44aeea(0x1f5)](),_0x269ab6=_0x433e92['match'](/\(([^)]+)\)\s*values/i);let _0x1b6e32=[];_0x269ab6&&(_0x1b6e32=_0x269ab6[0x1]['split'](',')['map'](_0x3d7a93=>_0x3d7a93['trim']()[_0x44aeea(0x1f5)]()));const _0x5dedb4=_0x433e92[_0x44aeea(0x244)](/set\s+(.+?)(?:\s+where|$)/i);if(_0x5dedb4){const _0x4ca999=_0x5dedb4[0x1],_0x15321f=_0x4ca999['match'](/(\w+)\s*=/g);_0x15321f&&(_0x1b6e32=_0x15321f['map'](_0x3ec31b=>_0x3ec31b['replace'](/\s*=/,'')[_0x44aeea(0x1cd)]()[_0x44aeea(0x1f5)]()));}return _0x39fde7[_0x44aeea(0x1c0)]((_0x3ef875,_0x43bac8)=>{const _0x42d67a=_0x44aeea;if(_0x1b6e32[_0x43bac8]){const _0x481eeb=_0x1b6e32[_0x43bac8],_0x5c2491=SENSITIVE_PARAM_PATTERNS['some'](_0x4cfa02=>_0x481eeb['includes'](_0x4cfa02));if(_0x5c2491)return _0x5d6e23['XLgki'];}if(typeof _0x3ef875===_0x42d67a(0x252)&&_0x5d6e23[_0x42d67a(0x1d1)](_0x3ef875[_0x42d67a(0x1ea)],0x20)){if(/^[a-zA-Z0-9+/=_.-]+$/['test'](_0x3ef875)&&_0x3ef875['includes']('.'))return'[REDACTED:token]';if(/^[a-fA-F0-9]{32,}$/['test'](_0x3ef875))return _0x5d6e23['nKsbR'];}return _0x3ef875;});},parseQueryMetadata=_0x218938=>{const _0x5dea63=a0_0x39fab0,_0x4f4d48={'zZdYt':'SELECT','QpTxp':_0x5dea63(0x21c),'gjPDI':'DELETE','jaFSg':_0x5dea63(0x26d),'xrBWY':'DROP','brBeA':'DDL_DROP'},_0x4ca472=_0x218938[_0x5dea63(0x1cd)](),_0x5a5819=_0x4ca472['toUpperCase']();let _0x4be61a='UNKNOWN',_0x4d4867=null;if(_0x5a5819['startsWith'](_0x4f4d48['zZdYt'])){_0x4be61a=_0x5dea63(0x210);const _0x1668a4=_0x4ca472[_0x5dea63(0x244)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x4d4867=_0x1668a4?_0x1668a4[0x1]:null;}else{if(_0x5a5819['startsWith']('INSERT')){_0x4be61a='INSERT';const _0x22d338=_0x4ca472['match'](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x4d4867=_0x22d338?_0x22d338[0x1]:null;}else{if(_0x5a5819[_0x5dea63(0x1c6)]('UPDATE')){_0x4be61a=_0x4f4d48[_0x5dea63(0x268)];const _0x56b710=_0x4ca472[_0x5dea63(0x244)](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x4d4867=_0x56b710?_0x56b710[0x1]:null;}else{if(_0x5a5819['startsWith'](_0x4f4d48[_0x5dea63(0x258)])){_0x4be61a=_0x5dea63(0x206);const _0x25ba21=_0x4ca472['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x4d4867=_0x25ba21?_0x25ba21[0x1]:null;}else{if(_0x5a5819['startsWith'](_0x5dea63(0x23a))||_0x5a5819['startsWith'](_0x5dea63(0x23e)))_0x4be61a=_0x5dea63(0x1bb);else{if(_0x5a5819[_0x5dea63(0x1c6)](_0x5dea63(0x25d)))_0x4be61a=_0x5dea63(0x201);else{if(_0x5a5819[_0x5dea63(0x1c6)]('ROLLBACK'))_0x4be61a=_0x4f4d48['jaFSg'];else{if(_0x5a5819[_0x5dea63(0x1c6)](_0x5dea63(0x1d4)))_0x4be61a='DDL_CREATE';else{if(_0x5a5819[_0x5dea63(0x1c6)]('ALTER'))_0x4be61a='DDL_ALTER';else _0x5a5819['startsWith'](_0x4f4d48[_0x5dea63(0x237)])&&(_0x4be61a=_0x4f4d48[_0x5dea63(0x1d7)]);}}}}}}}}return{'type':_0x4be61a,'table':_0x4d4867};},startQueryTimer=()=>{const _0x4936ca=a0_0x39fab0,_0xcc135d={'nRccF':function(_0x578b91,_0x1445ea){return _0x578b91(_0x1445ea);},'MCUed':function(_0x59c211,_0x4001de){return _0x59c211*_0x4001de;},'NFKQM':function(_0x223b0e,_0x202deb){return _0x223b0e/_0x202deb;}},_0x2f73f8=process[_0x4936ca(0x217)]();return()=>{const _0x4c973f=_0x4936ca,[_0x2fa629,_0x11d670]=process[_0x4c973f(0x217)](_0x2f73f8);return _0xcc135d[_0x4c973f(0x1ef)](parseFloat,(_0xcc135d['MCUed'](_0x2fa629,0x3e8)+_0xcc135d[_0x4c973f(0x1f9)](_0x11d670,0xf4240))['toFixed'](0x2));};},logQuery=(_0x5d1328,_0x2d4c27=[],_0x4cf88d={})=>{const _0x164430=a0_0x39fab0,_0x3ddf45={'mWOTm':'db_query','cduUI':function(_0x4b1f6d,_0x2a3e8d){return _0x4b1f6d(_0x2a3e8d);},'elrZO':'sql_query','manyx':function(_0x2cb2f4,_0x5d09bb){return _0x2cb2f4!==_0x5d09bb;},'YlIGr':_0x164430(0x227),'fRAuw':_0x164430(0x1e9),'jnwZB':function(_0x1580cf,_0x5ab166){return _0x1580cf===_0x5ab166;},'xJloB':'info','PniaF':function(_0x483508,_0x59cff0,_0x5cfb33){return _0x483508(_0x59cff0,_0x5cfb33);}};if(!sqlLogEnabled){logger[_0x164430(0x227)]({'event':_0x3ddf45['mWOTm'],'query':_0x5d1328['substring'](0x0,0xc8),'paramCount':_0x2d4c27[_0x164430(0x1ea)]},_0x164430(0x234));return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType='postgresql'}=_0x4cf88d,{type:_0x27a095,table:_0x530fc9}=_0x3ddf45['cduUI'](parseQueryMetadata,_0x5d1328),_0x68acbc={'event':_0x3ddf45['elrZO'],'queryType':_0x27a095,'table':_0x530fc9,'query':_0x5d1328,'paramCount':_0x2d4c27[_0x164430(0x1ea)],'dbType':dbType};sqlLogParams&&_0x2d4c27[_0x164430(0x1ea)]>0x0&&(_0x68acbc['params']=redactSensitiveParams(_0x2d4c27,_0x5d1328));_0x3ddf45['manyx'](duration,null)&&(_0x68acbc[_0x164430(0x1ff)]=duration,_0x68acbc['isSlow']=duration>sqlLogSlowThreshold);rowsAffected!==null&&(_0x68acbc[_0x164430(0x242)]=rowsAffected);const _0xb73762=_0x530fc9||_0x164430(0x24e);let _0x14d742='['+_0x27a095+']\x20'+_0xb73762;duration!==null&&(_0x14d742+='\x20('+duration+_0x164430(0x233));const _0x22a052=duration!==null&&duration>sqlLogSlowThreshold;let _0x2379cd=_0x3ddf45['YlIGr'];if(_0x22a052)_0x14d742+='\x20[SLOW]',_0x2379cd=_0x3ddf45[_0x164430(0x1c9)],logger[_0x164430(0x1e9)](_0x68acbc,_0x14d742);else _0x3ddf45[_0x164430(0x1f2)](sqlLogLevel,_0x164430(0x229))?(_0x2379cd=_0x3ddf45[_0x164430(0x1fa)],logger[_0x164430(0x229)](_0x68acbc,_0x14d742)):logger['debug'](_0x68acbc,_0x14d742);_0x3ddf45['PniaF'](writeToFileLog,{..._0x68acbc,'level':_0x2379cd,'msg':_0x14d742,'time':new Date()['toISOString']()},_0x2379cd);},logTransaction=(_0x1f2df0,_0x216b43)=>{const _0x23656b=a0_0x39fab0,_0x210f63={'xcdcZ':function(_0x4287ae,_0x2c164e,_0x5f34f2){return _0x4287ae(_0x2c164e,_0x5f34f2);}},_0x429378={'event':'db_transaction','status':_0x1f2df0,'queryCount':_0x216b43},_0x1cd416=_0x23656b(0x226)+_0x1f2df0;logger['debug'](_0x429378,_0x1cd416),_0x210f63['xcdcZ'](writeToFileLog,{..._0x429378,'level':_0x23656b(0x227),'msg':_0x1cd416,'time':new Date()['toISOString']()},_0x23656b(0x227));},redactObject=_0x8edba0=>{const _0x3f44d3=a0_0x39fab0,_0x28ed81={'WXLCG':_0x3f44d3(0x21b),'dWZgP':'apikey','EFYXr':_0x3f44d3(0x225),'RvuXZ':_0x3f44d3(0x1cf),'gkJmP':_0x3f44d3(0x248),'pdKHv':_0x3f44d3(0x251),'zewuL':_0x3f44d3(0x1d3),'jfaGb':function(_0x36eff2,_0xfa2d6f){return _0x36eff2===_0xfa2d6f;}};if(!_0x8edba0||typeof _0x8edba0!==_0x28ed81[_0x3f44d3(0x1f3)])return _0x8edba0;const _0x54b88e=['password','passwd',_0x3f44d3(0x24c),'token','secret',_0x28ed81['dWZgP'],'api_key',_0x28ed81['EFYXr'],_0x3f44d3(0x249),_0x28ed81['RvuXZ'],_0x28ed81['gkJmP'],_0x28ed81[_0x3f44d3(0x26f)],'pin',_0x3f44d3(0x246),_0x3f44d3(0x264),_0x3f44d3(0x220),_0x28ed81['zewuL']],_0x37a3d9=Array[_0x3f44d3(0x238)](_0x8edba0)?[..._0x8edba0]:{..._0x8edba0};for(const _0x507ebe of Object['keys'](_0x37a3d9)){const _0x9e16c4=_0x507ebe[_0x3f44d3(0x1f5)]();if(_0x54b88e[_0x3f44d3(0x203)](_0x5456ae=>_0x9e16c4['includes'](_0x5456ae)))_0x37a3d9[_0x507ebe]='[REDACTED]';else _0x28ed81[_0x3f44d3(0x22d)](typeof _0x37a3d9[_0x507ebe],_0x28ed81[_0x3f44d3(0x1f3)])&&_0x37a3d9[_0x507ebe]!==null&&(_0x37a3d9[_0x507ebe]=redactObject(_0x37a3d9[_0x507ebe]));}return _0x37a3d9;},logError=(_0x25852f,_0x150a76={},_0x2571af=null)=>{const _0x187ebd=a0_0x39fab0,_0xb02924={'ycuhm':'error'},_0x56ad93={'event':_0xb02924['ycuhm'],'errorName':_0x25852f[_0x187ebd(0x23f)]||'Error','errorMessage':_0x25852f[_0x187ebd(0x20f)],'errorCode':_0x25852f['code']||null,'stack':_0x25852f['stack'],..._0x150a76},_0x23d814=_0x2571af||_0x187ebd(0x240)+_0x25852f[_0x187ebd(0x20f)];logger[_0x187ebd(0x1eb)](_0x56ad93,_0x23d814),writeToFileLog({..._0x56ad93,'level':_0x187ebd(0x1eb),'msg':_0x23d814,'time':new Date()[_0x187ebd(0x214)]()},_0xb02924[_0x187ebd(0x1b8)]);},logFatalError=(_0x2464d2,_0x4fc058={},_0x13339c=null)=>{const _0x272f4c=a0_0x39fab0,_0x14bb7c={'ByqGz':_0x272f4c(0x1bf),'QGBXz':_0x272f4c(0x213),'hyeif':function(_0x38b39e,_0x24676c,_0x578978){return _0x38b39e(_0x24676c,_0x578978);},'pfzww':'fatal'},_0x34f27c={'event':_0x14bb7c['ByqGz'],'errorName':_0x2464d2['name']||_0x272f4c(0x1d6),'errorMessage':_0x2464d2['message'],'errorCode':_0x2464d2[_0x272f4c(0x218)]||null,'stack':_0x2464d2['stack'],'severity':_0x14bb7c['QGBXz'],..._0x4fc058},_0x3739e6=_0x13339c||_0x272f4c(0x1ca)+_0x2464d2[_0x272f4c(0x20f)];logger['fatal'](_0x34f27c,_0x3739e6),_0x14bb7c['hyeif'](writeToFileLog,{..._0x34f27c,'level':_0x14bb7c['pfzww'],'msg':_0x3739e6,'time':new Date()[_0x272f4c(0x214)]()},_0x272f4c(0x1eb));},logHttpError=(_0x574538,_0x1b65f2,_0x528f46={})=>{const _0x19e544=a0_0x39fab0,_0x50c374={'rXSJg':'http_error','kRvWl':_0x19e544(0x1d6),'INKHI':_0x19e544(0x1dd),'mmEHc':function(_0x43af04,_0x38d9f6){return _0x43af04(_0x38d9f6);},'uVErS':function(_0x17bc88,_0x476d93){return _0x17bc88>=_0x476d93;},'RScgl':'error','gcsOk':_0x19e544(0x1e9),'ihEoN':function(_0x25a559,_0x320ef9){return _0x25a559>=_0x320ef9;}},_0x5e9185={'event':_0x50c374[_0x19e544(0x208)],'errorName':_0x574538[_0x19e544(0x23f)]||_0x50c374[_0x19e544(0x22f)],'errorMessage':_0x574538[_0x19e544(0x20f)],'errorCode':_0x574538[_0x19e544(0x218)]||_0x574538[_0x19e544(0x1dc)]||0x1f4,'stack':_0x574538['stack'],'method':_0x1b65f2?.[_0x19e544(0x21f)],'url':_0x1b65f2?.['url']||_0x1b65f2?.[_0x19e544(0x1ba)],'path':_0x1b65f2?.['path'],'ip':_0x1b65f2?.['ip']||_0x1b65f2?.['connection']?.[_0x19e544(0x257)],'userAgent':_0x1b65f2?.['get']?.(_0x19e544(0x236)),'requestId':_0x1b65f2?.['id']||_0x1b65f2?.[_0x19e544(0x1f7)]?.[_0x50c374[_0x19e544(0x1c3)]],'body':_0x1b65f2?.[_0x19e544(0x22c)]?_0x50c374['mmEHc'](redactObject,_0x1b65f2['body']):undefined,'query':_0x1b65f2?.['query'],..._0x528f46},_0x43f118=_0x574538[_0x19e544(0x1dc)]||_0x574538[_0x19e544(0x24d)]||0x1f4,_0x16e241='HTTP\x20'+_0x43f118+':\x20'+_0x574538[_0x19e544(0x20f)];_0x50c374[_0x19e544(0x235)](_0x43f118,0x1f4)?logger[_0x19e544(0x1eb)](_0x5e9185,_0x16e241):logger[_0x19e544(0x1e9)](_0x5e9185,_0x16e241),writeToFileLog({..._0x5e9185,'level':_0x43f118>=0x1f4?_0x50c374['RScgl']:_0x50c374[_0x19e544(0x232)],'msg':_0x16e241,'time':new Date()['toISOString']()},_0x50c374['ihEoN'](_0x43f118,0x1f4)?'error':'warn');},logUncaughtError=(_0x57cf97,_0x30d463)=>{const _0x4ec5bf=a0_0x39fab0,_0x408120={'HnllZ':_0x4ec5bf(0x1d6),'uZrie':'CRITICAL','omnXW':function(_0x4a1f14,_0x9ddacd,_0x2aa42a){return _0x4a1f14(_0x9ddacd,_0x2aa42a);}},_0xebefce={'event':_0x57cf97,'errorName':_0x30d463?.[_0x4ec5bf(0x23f)]||_0x408120[_0x4ec5bf(0x263)],'errorMessage':_0x30d463?.[_0x4ec5bf(0x20f)]||String(_0x30d463),'errorCode':_0x30d463?.[_0x4ec5bf(0x218)]||null,'stack':_0x30d463?.[_0x4ec5bf(0x209)],'severity':_0x408120[_0x4ec5bf(0x26c)],'processId':process['pid'],'memoryUsage':process[_0x4ec5bf(0x22b)](),'uptime':process['uptime']()},_0x660485='['+_0x57cf97[_0x4ec5bf(0x247)]()+']\x20'+(_0x30d463?.[_0x4ec5bf(0x20f)]||_0x30d463);logger['fatal'](_0xebefce,_0x660485),_0x408120['omnXW'](writeToFileLog,{..._0xebefce,'level':'fatal','msg':_0x660485,'time':new Date()['toISOString']()},'error');},setupGlobalErrorHandlers=()=>{const _0x250a07=a0_0x39fab0,_0x4894fc={'NwdmR':'uncaughtException','qKSXI':function(_0x1c92b7,_0x5433d5,_0x3d1cb2){return _0x1c92b7(_0x5433d5,_0x3d1cb2);},'RBVng':function(_0x37f212,_0x4fa7f1){return _0x37f212 instanceof _0x4fa7f1;},'lykOn':function(_0x2bcdea,_0x3e8355){return _0x2bcdea(_0x3e8355);},'UvapB':_0x250a07(0x20e),'iGavU':'warning','fVeSB':_0x250a07(0x205),'aSPDH':_0x250a07(0x229)};process['on'](_0x4894fc[_0x250a07(0x1e5)],_0x25b55b=>{logUncaughtError(_0x4894fc['NwdmR'],_0x25b55b),_0x4894fc['qKSXI'](setTimeout,()=>{const _0x10d139=a0_0x4b0d;process[_0x10d139(0x243)](0x1);},0x3e8);}),process['on'](_0x250a07(0x20e),(_0x209ec2,_0x539e41)=>{const _0x210782=_0x250a07,_0x284745=_0x4894fc['RBVng'](_0x209ec2,Error)?_0x209ec2:new Error(_0x4894fc['lykOn'](String,_0x209ec2));logUncaughtError(_0x4894fc[_0x210782(0x250)],_0x284745);}),process['on'](_0x4894fc['iGavU'],_0x1149ca=>{const _0x37a4af=_0x250a07;logger[_0x37a4af(0x1e9)]({'event':'process_warning','name':_0x1149ca[_0x37a4af(0x23f)],'message':_0x1149ca['message'],'stack':_0x1149ca['stack']},'Process\x20Warning:\x20'+_0x1149ca[_0x37a4af(0x20f)]);});const _0x2c2117={'event':_0x4894fc[_0x250a07(0x1c8)]},_0x343357='Global\x20error\x20handlers\x20initialized';logger[_0x250a07(0x229)](_0x2c2117,_0x343357),writeToFileLog({..._0x2c2117,'level':_0x4894fc[_0x250a07(0x204)],'msg':_0x343357,'time':new Date()['toISOString']()},_0x250a07(0x229));},createErrorHandlerMiddleware=()=>{const _0x5b3608=a0_0x39fab0,_0x530223={'YogZJ':function(_0x15d69f,_0x205729){return _0x15d69f>=_0x205729;},'MdEgR':_0x5b3608(0x1ee)};return(_0x2dbb9b,_0x4e2c5a,_0x1b15f0,_0x45a782)=>{const _0x3d4842=_0x5b3608;logHttpError(_0x2dbb9b,_0x4e2c5a);const _0x4c92ba=_0x2dbb9b['statusCode']||_0x2dbb9b[_0x3d4842(0x24d)]||0x1f4;_0x1b15f0['status'](_0x4c92ba)[_0x3d4842(0x1e0)]({'success':![],'error':_0x530223[_0x3d4842(0x223)](_0x4c92ba,0x1f4)?_0x530223[_0x3d4842(0x1b6)]:_0x2dbb9b[_0x3d4842(0x20f)],'requestId':_0x4e2c5a['id']||_0x4e2c5a['headers']?.[_0x3d4842(0x1dd)]||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}};function a0_0x4856(){const _0x46067c=['D3DrvKy','zgv2zwXVCg1LBNq','z2nZt2S','BxmP','reiGuxvLCNK','DvzfCLm','DxnLCI1Hz2vUDa','Ehjcv1K','AxnbCNjHEq','sLDux1nfq1jfva','qKvhsu4','Dg9Rzw4','cUkvLokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvLWRILzeGicaGicaGicaGicaGifjfu1rgt1jhrsbsvu5usu1fifnfuLzfuIaGicaGicaGicaGicaGicaG4PwrcUkvOokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvOWRILzeGievUDMLYB25Tzw50idOG','w1jfrefdveveoMHHC2HD','u1rbuLqGvfjbtLnbq1rjt04','BMfTzq','rxjYB3i6ia','nti5odzizM93DKC','CM93C0fMzMvJDgvK','zxHPDa','Bwf0y2G','iokvKqRILzRILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILz0','ChjPDMf0zv9RzxK','Dg9vChbLCKnHC2u','y3z2','y3jLzgL0y2fYza','mtu0ndKWntHiExDiy0i','Cgf0Aa','ChDK','C3rHDhvZ','Dw5RBM93BG','iokvKqRILzeGifbYB2PLy3qGicaGidOG','vxzHCei','C3nU','C3rYAw5N','nJG3ndG5EhDlsMvx','qMzTzva','Bfzlt1e','zMLSzv9SB2DNAw5Nx2vUywjSzwq','CMvTB3rLqwrKCMvZCW','z2PqreK','Ahr0Cf9Yzxf1zxn0','AgvHBhrOq2HLy2S','rejFueftu1DpuKq','CMvXlMHLywrLCNmUyxv0Ag9YAxPHDgLVBG','q09ntuLu','odqZnZa0ogTAqwDdBq','rgf0ywjHC2u6ia','D3jPDgu','C3rKu2vYAwfSAxPLCNm','yxbPx3nLy3jLDa','sg5SBfO','ChjPDMf0zwTLEq','CgfKrw5K','rgvMyxvSDa','ms4WlJu','uxbuEha','rwHIvKi','ChjVAMvJDa','DfjNwNG','DvPYAwu','vfjbtLnbq1rjt05FuK9mtejbq0S','zxHPC3rZu3LUyW','Cgrlshy','qunusvzf','twrfz1i','DhLWzq','Ewn1Ag0','y3jLzgvUDgLHBhm','B3jPz2LUywXvCMW','vfjbtLnbq1rjt05FqKvhsu4','y3DK','Ag9ZDa','CgLUBY1WCMv0DhK','zMf0ywXFzxjYB3i','BwfW','mJbsrgjtENO','mZyXmZe4m0HHAwXQzq','su5lseK','icbjBMzVoIaGia','rMLSzsbSB2DNAw5NigvUywjSzwq6ia','C3rHCNrZv2L0Aa','DxjS','zLzLu0i','zLjbDxC','rKfuquW6ia','DxzPywK','AM9PBG','DhjPBq','vxLhzKO','y3jLzgL0x2nHCMq','y2HPBgq','tujxrwO','rKnwr0e','ywnJzxnZx3rVA2vU','q1jfqvrf','y3jLzgvUDgLHBa','rxjYB3i','yNjczue','zxjY','u1fmx0Xpr19qqvjbtvm','rMfPBgvKihrVignYzwf0zsbSB2CGC3rYzwfTCZO','yMfZzvvYBa','C3rHDhvZq29Kzq','Ec1Yzxf1zxn0lwLK','yxbPs2v5','odGZntfQt0zssuS','ANnVBG','tK9erv9ftLy','zMf0ywW','DxHpv1i','wxj0swG','tNDKBvi','zw52','mZGYmZK5nLPQD0PQEa','Bw9KDwXL','D2fYBG','BgvUz3rO','zxjYB3i','CgLKlgHVC3rUyw1LlhnLCNzPy2uSDMvYC2LVBIXLBNySzxzLBNqSBw9KDwXLlhbVCNqSy29UzMLNlgfWAuTLEuvUywjSzwqSCgf0AcX3B3jRAw5NrgLYlgLZugTNlgLZtM9KzvnJCMLWDcXMAwXLlgvTywLSlhr5CguSy29YCYXSB2DNAw5NlgfWAuTLEsXJB3vUDcXLBMrWB2LUDcXYB3v0zq','yxbPA2v5','sw50zxjUywWGC2vYDMvYigvYCM9Y','BLjJy0y','zgf0ywjHC2u','icdIHPiG','AM53wKi','v1Hmq0C','AffhAuW','Dg9mB3DLCKnHC2u','D2PPvuS','AgvHzgvYCW','C2vYDMLJzuLUzM8','tKzluu0','EePSB0i','w09lxsbtzxj2zxiGCMvHzhKGB24GCg9YDca','u1fmx0Xpr19tte9xx1riuKvtse9mra','w1jfrefdvevexq','CgLU','zhvYyxrPB25nCW','sMzpy0O','vfjbtLnbq1rjt05Fq09ntuLu','odm1qwDAAMHj','C29Tzq','yvnqreG','z2XVyMfSx2vYCM9Yx2HHBMrSzxjZx3nLDhvW','revmrvrf','wNDItLK','CLHtsMC','C3rHy2S','tM9Kzs5QCW','B3rW','Cg9YDa','Bg9N','Dw5Oyw5KBgvKuMvQzwn0Aw9U','BwvZC2fNzq','u0vmrunu','mtbeseHkDLe','AenUBxG','q1jjveLdquW','Dg9ju09tDhjPBMC','yxbWlMXVzW','BwTKAxjtEw5J','Ahj0Aw1L','y29Kzq','DxnLCG','CMvZDgzVCMDL','B2jQzwn0','vvbeqvrf','Aw5MBZPIBhvLlhDHCM46EwvSBg93lgvYCM9YoNjLzcXKzwj1zZPNCMf5','mJjPuMDbC0m','Bwv0Ag9K','CMvMCMvZAf90B2TLBG','u1fmx0Xpr19mrvzfta','CgfZC3DVCMq','ww9NwKO','zMfSC2u','yxv0Ag9YAxPHDgLVBG','vhjHBNnHy3rPB24G','zgvIDwC','Dhj1zq','Aw5MBW','AxnVvgLTzq','BwvTB3j5vxnHz2u','yM9KEq','AMzHr2i','iokvKqRILzeGifbVCNqGicaGicaGidOG','A1j2v2W'];a0_0x4856=function(){return _0x46067c;};return a0_0x4856();}
1
+ const a0_0x5c80d2=a0_0x4f21;function a0_0x8952(){const _0x5bfc32=['zw52AxjVBM1LBNq','y3z2','ChjPDMf0zv9RzxK','Cg9YDa','oI8V','mtqWzvnSzfPN','Ag9ZDa','ChjVAMvJDf9SB2fKzwq','zLLez1K','Bwv0Ag9K','EKDRD2G','zMf0ywW','zhjjsem','zKz6ruS','tK9erv9ftLy','mtmYAw9gt0rQ','CgLK','D2fYBG','rgf0ywjHC2u6ia','ChjVAMvJDa','zxjYB3i','wLzAt2e','v21TChG','BMfTzq','mtiXodyWsfv5r3v3','Ahr0Cf9Yzxf1zxn0','Bwf0y2G','C2jvC04','q0nPAfa','re5fy2e','C0X0y3a','y3jLzgL0x2nHCMq','yxbPx2TLEq','rvLuDg8','C2vJCMv0','w1jfrefdvevexq','n3HLCwn3vW','y29UzMLNrMLSzq','zxjYB3iUBg9N','Bw9KDwXL','AgvHzgvYCW','DLnmte8','mJq3odaZvNH2wLPv','iokvKqRILzRILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILz0','DgvZDa','uePUzeW','zgv2zwXVCg1LBNq','rermx0fmvevs','Bg9N','ChjVy2vZC193yxjUAw5N','Aw5JBhvKzxm','D3jPDgu','rxjYB3i','CgLUBY1WCMv0DhK','rKfuquW6ia','y3jLyxrLv3jPDgvtDhjLyw0','C2vYDMvYx3jLywr5','q3f5sgm','te9hx1rpx0zjteu','Dw5JyxvNAhrfEgnLChrPB24','C3rHCNrZv2L0Aa','C3fSx3f1zxj5','yM9KEq','C3rHDhvZq29Kzq','B3jPz2LUywXvCMW','wNr5zuK','zw52','C29Tzq','E21Zz30','icbjBMzVoIaGia','C3bSAxq','sfDcsgO','rKrxDe0','mZa0mtCZEwPntgnz','rKrKCvG','CMXHELu','mJm0mdeYnKnltgvdEq','Aw1sB2e','sfruuca','icdIHPiG','u0vsvKLdrv9oqu1f','zxHPDa','DxnLCI1Hz2vUDa','suv1B2q','Aw5MBW','C3rYAw5NAwz5','ywnJzxnZx3rVA2vU','yMfZzvvYBa','zfnwuLi','iokvKqRILzeGifbVCNqGicaGicaGidOG','D2fYBMLUzW','CMvZDgzVCMDL','te9hx0rjuG','z2v0sgvHzgvYCW','t1L2DuS','yxbPx3nLy3jLDa','Dg9ju09tDhjPBMC','q1jjveLdquW','y2HPBgq','AxnVvgLTzq','lI9SB2DZ','r2PLEui','zgjFCxvLCNK','iokvKqRILzeGienVBMzPzYaGicaGidOG','icbizwfSDgG6ia','sgThseS','ufnfAK4','u1rbuLqGvfjbtLnbq1rjt04','ChDK','C3rYAw5N','r0LhAeO','v0TNwem','Dg9gAxHLza','uK9mtejbq0S','vfjbtLnbq1rjt05FqKvhsu4','u05kvNa','BLzgy28','zgvIDwC','ChjPDMf0zwTLEq','mJu4mdiWCvrrCu1w','ifTtte9xxq','mZe3otqYnezRDhvKuG','Dg9mB3DLCKnHC2u','A2v5CW','AeL2D0e','Cg9ZDgDYzxnXBa','u2vYDMvYihn0yxj0Aw5NoIa','r0HZywS','q09ntuLu','Ec1Yzxf1zxn0lwLK','B3rOuei','DxjS','ic0G','revmrvrf','wMfey1y','y3jLzgvUDgLHBhm','yKPWD1i','qunusvzf','C3rKvgLTzuz1BMn0Aw9UCW','zgf0ywjHC2u','BxmP','m2DUy3DmDW','w1jfrefdveveoMHHC2HD','Dg9Rzw4','zxDiENm','rgvMyxvSDa','w1jfrefdveveoNrVA2vUxq','tK9uiefdveLwrq','CMvXlMHLywrLCNmUyxv0Ag9YAxPHDgLVBG','y29Kzq','C3nU','yxv0Ag9YAxPHDgLVBG','icbvuKW6icaGia','C3rKu2vYAwfSAxPLCNm','DhjPBq','B3rW','zw5KCg9PBNrFCMvNAxn0zxjLza','CgLU','AKvRse0','BwvTB3j5vxnHz2u','zgf0ywjHC2vFy29UzMLN','vgfVBMO','u1fmx0Xpr19qqvjbtvm','DhLWzq','w09lxsbtzxj2zxiGCMvHzhKGB24GCg9YDca','s3H6vwe','C3rHDhvZ','ngrSAMLkwG','BwfW','CMvMCMvZAf90B2TLBG','BwvZC2fNzq','C3rHy2S','Cgf0Aa','z2XVyMfSx2vYCM9Yx2HHBMrSzxjZx3nLDhvW','CgfZC3DK','Dw5Oyw5KBgvKuMvQzwn0Aw9U','BwrZrxy','CgfKrw5K','mJmZmtK4vwnyANzS','DMjtDw4','zxHPC3rZu3LUyW','DNfAtw0'];a0_0x8952=function(){return _0x5bfc32;};return a0_0x8952();}(function(_0x8376e6,_0x53e99b){const _0x33334a=a0_0x4f21,_0x2ab90d=_0x8376e6();while(!![]){try{const _0x4db9d7=parseInt(_0x33334a(0x1ca))/0x1*(-parseInt(_0x33334a(0x1ef))/0x2)+-parseInt(_0x33334a(0x167))/0x3*(-parseInt(_0x33334a(0x1e4))/0x4)+-parseInt(_0x33334a(0x1b4))/0x5+parseInt(_0x33334a(0x189))/0x6*(parseInt(_0x33334a(0x161))/0x7)+-parseInt(_0x33334a(0x1b6))/0x8+-parseInt(_0x33334a(0x186))/0x9*(-parseInt(_0x33334a(0x1f8))/0xa)+parseInt(_0x33334a(0x14c))/0xb*(parseInt(_0x33334a(0x155))/0xc);if(_0x4db9d7===_0x53e99b)break;else _0x2ab90d['push'](_0x2ab90d['shift']());}catch(_0x3f5407){_0x2ab90d['push'](_0x2ab90d['shift']());}}}(a0_0x8952,0x41a0b));const pino=require('pino'),fs=require('fs'),path=require(a0_0x5c80d2(0x1e9));let logToFile=![],logDir='./logs',serviceName='restforge',sqlLogEnabled=![],sqlLogLevel='debug',sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':'SYS:HH:MM:ss','ignore':'pid,hostname,service,version,env,event,module,port,config,apiKeyEnabled,path,workingDir,isPkg,isNodeScript,file,email,type,cors,logging,apiKey,count,endpoint,route','singleLine':![],'levelFirst':!![],'messageFormat':a0_0x5c80d2(0x181),'customColors':'info:blue,warn:yellow,error:red,debug:gray','hideObject':!![]},isDevelopment=process[a0_0x5c80d2(0x17f)]['NODE_ENV']!=='production',logLevel=process['env']['LOG_LEVEL']||'info';let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':a0_0x5c80d2(0x172),'options':prettyPrintOptions}:undefined,'base':{'service':a0_0x5c80d2(0x198),'version':process['env']['APP_VERSION']||'1.0.5','env':process[a0_0x5c80d2(0x17f)][a0_0x5c80d2(0x201)]||a0_0x5c80d2(0x16b)},'timestamp':pino[a0_0x5c80d2(0x1c7)][a0_0x5c80d2(0x1a0)],'redact':{'paths':[a0_0x5c80d2(0x1d1),'req.headers[\x22x-api-key\x22]','password','token','apiKey','DB_PASSWORD','JWT_SECRET'],'censor':'[REDACTED]'},'serializers':{'req':_0x12c591=>({'id':_0x12c591['id'],'method':_0x12c591[a0_0x5c80d2(0x1fc)],'url':_0x12c591['url'],'path':_0x12c591[a0_0x5c80d2(0x1e9)],'remoteAddress':_0x12c591['ip']||_0x12c591['connection']?.['remoteAddress']}),'res':_0x33fa40=>({'statusCode':_0x33fa40[a0_0x5c80d2(0x17c)],'headers':_0x33fa40[a0_0x5c80d2(0x19a)]?.()}),'err':pino[a0_0x5c80d2(0x1d6)]['err']}});function initFileLogging(){const _0xcebd1a=a0_0x5c80d2,_0x4d9d55={'WKgXC':'true','IEuod':_0xcebd1a(0x1a1),'GIGhJ':_0xcebd1a(0x198),'DAtIO':'false','dSVRR':_0xcebd1a(0x163),'XkrKM':'file_logging_enabled','ZaDcV':'app.log'};if(fileLoggingInitialized)return;logToFile=process['env'][_0xcebd1a(0x177)]===_0x4d9d55[_0xcebd1a(0x1ac)],logDir=process[_0xcebd1a(0x17f)][_0xcebd1a(0x199)]||_0x4d9d55[_0xcebd1a(0x190)],serviceName=process[_0xcebd1a(0x17f)][_0xcebd1a(0x18d)]||_0x4d9d55[_0xcebd1a(0x1ab)],sqlLogEnabled=process['env']['SQL_LOG_ENABLED']===_0x4d9d55['WKgXC'],sqlLogLevel=process['env']['SQL_LOG_LEVEL']||'debug',sqlLogParams=process['env'][_0xcebd1a(0x1df)]!==_0x4d9d55['DAtIO'],sqlLogSlowThreshold=parseInt(process['env']['SQL_LOG_SLOW_THRESHOLD'])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x37d030=path['resolve'](process['cwd'](),logDir);try{!fs[_0xcebd1a(0x1f1)](_0x37d030)&&fs['mkdirSync'](_0x37d030,{'recursive':!![]});}catch(_0x2d1b1e){console['error']('Failed\x20to\x20create\x20log\x20directory\x20'+_0x37d030+':',_0x2d1b1e['message']),fileLoggingInitialized=!![];return;}const _0x24d546=path['join'](_0x37d030,'app.log'),_0x4106d6=path['join'](_0x37d030,_0x4d9d55[_0xcebd1a(0x195)]);try{appLogStream=fs[_0xcebd1a(0x174)](_0x24d546,{'flags':'a'}),errorLogStream=fs['createWriteStream'](_0x4106d6,{'flags':'a'}),fileLoggingInitialized=!![];const _0xb2a56d={'event':_0x4d9d55['XkrKM'],'logDir':_0x37d030,'files':[_0x4d9d55[_0xcebd1a(0x1c3)],_0x4d9d55['dSVRR']]},_0x53653d='File\x20logging\x20enabled:\x20'+_0x37d030;logger[_0xcebd1a(0x191)](_0xb2a56d,_0x53653d),writeToFileLog({..._0xb2a56d,'level':_0xcebd1a(0x191),'msg':_0x53653d,'time':new Date()['toISOString']()},_0xcebd1a(0x191));}catch(_0x1f56be){console['error']('Failed\x20to\x20create\x20log\x20streams:',_0x1f56be['message']),fileLoggingInitialized=!![];}}function a0_0x4f21(_0x38e102,_0x1743ab){_0x38e102=_0x38e102-0x14c;const _0x89526e=a0_0x8952();let _0x4f21d3=_0x89526e[_0x38e102];if(a0_0x4f21['lxiaWC']===undefined){var _0x91f11d=function(_0x129847){const _0x4eff57='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x29241b='',_0x40564d='';for(let _0x351d9f=0x0,_0x3379cc,_0x1ecef4,_0x5f304c=0x0;_0x1ecef4=_0x129847['charAt'](_0x5f304c++);~_0x1ecef4&&(_0x3379cc=_0x351d9f%0x4?_0x3379cc*0x40+_0x1ecef4:_0x1ecef4,_0x351d9f++%0x4)?_0x29241b+=String['fromCharCode'](0xff&_0x3379cc>>(-0x2*_0x351d9f&0x6)):0x0){_0x1ecef4=_0x4eff57['indexOf'](_0x1ecef4);}for(let _0x1f1cc8=0x0,_0x522d5c=_0x29241b['length'];_0x1f1cc8<_0x522d5c;_0x1f1cc8++){_0x40564d+='%'+('00'+_0x29241b['charCodeAt'](_0x1f1cc8)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x40564d);};a0_0x4f21['OgIZvk']=_0x91f11d,a0_0x4f21['HKMFBD']={},a0_0x4f21['lxiaWC']=!![];}const _0xd460a=_0x89526e[0x0],_0x12df88=_0x38e102+_0xd460a,_0x1033e2=a0_0x4f21['HKMFBD'][_0x12df88];return!_0x1033e2?(_0x4f21d3=a0_0x4f21['OgIZvk'](_0x4f21d3),a0_0x4f21['HKMFBD'][_0x12df88]=_0x4f21d3):_0x4f21d3=_0x1033e2,_0x4f21d3;}function writeToFileLog(_0xae237d,_0x1c5770){const _0x3cb687=a0_0x5c80d2,_0x881661={'Taonj':function(_0x5192c8,_0x2ab49d){return _0x5192c8===_0x2ab49d;}};if(!logToFile||!appLogStream)return;const _0x5bbe5f={'service':serviceName,..._0xae237d},_0x1a3411=JSON[_0x3cb687(0x192)](_0x5bbe5f)+'\x0a';appLogStream['write'](_0x1a3411),(_0x881661[_0x3cb687(0x1de)](_0x1c5770,_0x3cb687(0x151))||_0x881661['Taonj'](_0x1c5770,'fatal'))&&(errorLogStream&&errorLogStream[_0x3cb687(0x170)](_0x1a3411));}const createRequestLogger=(_0x42dfda={})=>{const _0x139bcf=a0_0x5c80d2;return logger[_0x139bcf(0x19f)](_0x42dfda);},logServerStart=_0x32a307=>{const _0x3e7b00=a0_0x5c80d2,_0x9670e2={'imRoa':'N/A','vbSun':'server_starting','YlGrj':'info'},_0x669570='\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'+(_0x32a307[_0x3e7b00(0x1f3)]||'Node.js')['padEnd'](0x26)+'\x20║\x0a║\x20\x20Project\x20\x20\x20\x20\x20:\x20'+(_0x32a307[_0x3e7b00(0x150)]||_0x9670e2[_0x3e7b00(0x18a)])[_0x3e7b00(0x1ee)](0x26)+_0x3e7b00(0x196)+String(_0x32a307[_0x3e7b00(0x1f6)]||0xbb8)['padEnd'](0x26)+_0x3e7b00(0x1a4)+(_0x32a307['configFile']||_0x3e7b00(0x1ce))['padEnd'](0x26)+'\x20║\x0a║\x20\x20API\x20Key\x20\x20\x20\x20\x20:\x20'+(_0x32a307['apiKey']?_0x3e7b00(0x1c6):_0x3e7b00(0x1d0))[_0x3e7b00(0x1ee)](0x26)+_0x3e7b00(0x168);console[_0x3e7b00(0x16d)](_0x669570);const _0xeeae2f={'event':_0x9670e2[_0x3e7b00(0x1f0)],'project':_0x32a307[_0x3e7b00(0x150)],'port':_0x32a307[_0x3e7b00(0x1f6)],'config':_0x32a307[_0x3e7b00(0x162)],'apiKeyEnabled':!!_0x32a307['apiKey']};logger['info'](_0xeeae2f),writeToFileLog({..._0xeeae2f,'level':_0x9670e2['YlGrj'],'msg':_0x3e7b00(0x1bb)+_0x32a307[_0x3e7b00(0x150)]+'\x20on\x20port\x20'+_0x32a307['port'],'time':new Date()[_0x3e7b00(0x19d)]()},'info');},logServerReady=_0x1eb962=>{const _0x2b9e04=a0_0x5c80d2,_0x8e80a0={'othPB':_0x2b9e04(0x175),'IWxIp':_0x2b9e04(0x191)},_0x7c6868={'event':_0x8e80a0[_0x2b9e04(0x1bf)],'port':_0x1eb962['port'],'module':_0x1eb962[_0x2b9e04(0x164)],'healthCheck':_0x1eb962['healthCheck'],'serviceInfo':_0x1eb962['serviceInfo'],'baseUrl':_0x1eb962['baseUrl']},_0xea5e44=_0x2b9e04(0x1e1)+_0x1eb962['port'];logger[_0x2b9e04(0x191)](_0x7c6868,_0xea5e44),writeToFileLog({..._0x7c6868,'level':_0x8e80a0['IWxIp'],'msg':_0xea5e44,'time':new Date()['toISOString']()},_0x8e80a0['IWxIp']),_0x1eb962['healthCheck']&&logger['info'](_0x2b9e04(0x1a5)+_0x1eb962['healthCheck']),_0x1eb962['serviceInfo']&&logger['info'](_0x2b9e04(0x182)+_0x1eb962['serviceInfo']),_0x1eb962[_0x2b9e04(0x194)]&&logger['info'](_0x2b9e04(0x1d5)+_0x1eb962[_0x2b9e04(0x194)]);},logProjectLoaded=(_0x3c43f7,_0x27ec56)=>{const _0x3bbcc4=a0_0x5c80d2,_0x2bad7f={'uBgTk':_0x3bbcc4(0x1fa)},_0x2fc0b5={'event':_0x2bad7f['uBgTk'],'project':_0x3c43f7,'path':_0x27ec56},_0x37c2b4='[OK]\x20Project\x20loaded:\x20'+_0x3c43f7;logger[_0x3bbcc4(0x191)](_0x2fc0b5,_0x37c2b4),writeToFileLog({..._0x2fc0b5,'level':'info','msg':_0x37c2b4,'time':new Date()[_0x3bbcc4(0x19d)]()},'info');},logEndpointRegistered=(_0x4fbbf3,_0x3f972e)=>{const _0x41761a=a0_0x5c80d2,_0x1fec3e={'abpLx':_0x41761a(0x1d9),'QIQDo':_0x41761a(0x1b2)},_0x51e1c1={'event':_0x1fec3e['abpLx'],'endpoint':_0x4fbbf3,'route':_0x3f972e},_0x2a8a54=_0x41761a(0x18c)+_0x4fbbf3+':\x20'+_0x3f972e;logger[_0x41761a(0x1b2)](_0x51e1c1,_0x2a8a54),writeToFileLog({..._0x51e1c1,'level':_0x41761a(0x1b2),'msg':_0x2a8a54,'time':new Date()['toISOString']()},_0x1fec3e['QIQDo']);},logDatabaseConfig=_0x46994c=>{const _0x49096f=a0_0x5c80d2,_0x1106fc={'kKVaO':function(_0x5cc1f2,_0xc50791,_0x3d5ec9){return _0x5cc1f2(_0xc50791,_0x3d5ec9);},'fYDgY':_0x49096f(0x1b2)},_0x316d2d={'event':_0x49096f(0x1dd),'host':_0x46994c[_0x49096f(0x1f9)],'port':_0x46994c[_0x49096f(0x1f6)],'database':_0x46994c[_0x49096f(0x1c8)],'type':_0x46994c[_0x49096f(0x1e0)],'user':_0x46994c['user']},_0x45b2f2=_0x49096f(0x14f)+_0x46994c['type']+_0x49096f(0x1f7)+_0x46994c['host']+':'+_0x46994c['port']+'/'+_0x46994c['database'];logger['debug'](_0x316d2d,_0x45b2f2),_0x1106fc['kKVaO'](writeToFileLog,{..._0x316d2d,'level':_0x1106fc[_0x49096f(0x1fb)],'msg':_0x45b2f2,'time':new Date()[_0x49096f(0x19d)]()},_0x1106fc['fYDgY']);},logRequest=(_0x33071a,_0x1342f4,_0x4c6cf1)=>{const _0x51628d=a0_0x5c80d2,_0x4c7baf={'IzonD':_0x51628d(0x156),'HxyCU':_0x51628d(0x191),'nVFco':function(_0x2261b7,_0x65a39b){return _0x2261b7>=_0x65a39b;},'xGGho':'error'},_0x16e77c={'event':_0x4c7baf['IzonD'],'method':_0x33071a['method'],'path':_0x33071a['path'],'statusCode':_0x1342f4[_0x51628d(0x17c)],'durationMs':_0x4c6cf1,'ip':_0x33071a['ip']},_0x3f44ff=_0x33071a[_0x51628d(0x1fc)]+'\x20'+_0x33071a['path']+_0x51628d(0x1c1)+_0x1342f4[_0x51628d(0x17c)]+'\x20('+_0x4c6cf1+_0x51628d(0x1c9);let _0x2fc300=_0x4c7baf['HxyCU'];if(_0x4c7baf[_0x51628d(0x1b1)](_0x1342f4['statusCode'],0x1f4))_0x2fc300=_0x4c7baf['xGGho'],logger['error'](_0x16e77c,_0x3f44ff);else _0x4c7baf['nVFco'](_0x1342f4[_0x51628d(0x17c)],0x190)?(_0x2fc300=_0x51628d(0x14e),logger['warn'](_0x16e77c,_0x3f44ff)):logger['info'](_0x16e77c,_0x3f44ff);writeToFileLog({..._0x16e77c,'level':_0x2fc300,'msg':_0x3f44ff,'time':new Date()[_0x51628d(0x19d)]()},_0x2fc300);},SENSITIVE_PARAM_PATTERNS=['password','passwd',a0_0x5c80d2(0x1a9),a0_0x5c80d2(0x1cc),a0_0x5c80d2(0x193),a0_0x5c80d2(0x1e6),a0_0x5c80d2(0x15f),a0_0x5c80d2(0x19c),'apikey','api_key','credential',a0_0x5c80d2(0x1c4),'pin',a0_0x5c80d2(0x1d8),a0_0x5c80d2(0x1f5),'privatekey'],redactSensitiveParams=(_0x4d3992,_0x2e44fa)=>{const _0x186b79=a0_0x5c80d2,_0x10a385={'JfsrC':function(_0x49744b,_0x4af835){return _0x49744b>_0x4af835;},'BXrrD':function(_0xa9e49a,_0x1302ab){return _0xa9e49a===_0x1302ab;}};if(!_0x4d3992||_0x10a385['BXrrD'](_0x4d3992['length'],0x0))return _0x4d3992;const _0x3bbbab=_0x2e44fa['toLowerCase'](),_0x4eafcc=_0x3bbbab['match'](/\(([^)]+)\)\s*values/i);let _0x389379=[];_0x4eafcc&&(_0x389379=_0x4eafcc[0x1][_0x186b79(0x183)](',')['map'](_0x398b3f=>_0x398b3f[_0x186b79(0x1d7)]()['toLowerCase']()));const _0x5767ac=_0x3bbbab[_0x186b79(0x157)](/set\s+(.+?)(?:\s+where|$)/i);if(_0x5767ac){const _0x21ce83=_0x5767ac[0x1],_0x3f4eb7=_0x21ce83['match'](/(\w+)\s*=/g);_0x3f4eb7&&(_0x389379=_0x3f4eb7[_0x186b79(0x1e5)](_0x56b325=>_0x56b325['replace'](/\s*=/,'')['trim']()['toLowerCase']()));}return _0x4d3992[_0x186b79(0x1e5)]((_0x19f9b1,_0x346052)=>{const _0x504751=_0x186b79;if(_0x389379[_0x346052]){const _0x2d4b0f=_0x389379[_0x346052],_0x4c5cc1=SENSITIVE_PARAM_PATTERNS[_0x504751(0x180)](_0x588054=>_0x2d4b0f['includes'](_0x588054));if(_0x4c5cc1)return _0x504751(0x160);}if(typeof _0x19f9b1===_0x504751(0x1aa)&&_0x10a385['JfsrC'](_0x19f9b1['length'],0x20)){if(/^[a-zA-Z0-9+/=_.-]+$/['test'](_0x19f9b1)&&_0x19f9b1['includes']('.'))return _0x504751(0x1cf);if(/^[a-fA-F0-9]{32,}$/[_0x504751(0x169)](_0x19f9b1))return _0x504751(0x1cb);}return _0x19f9b1;});},parseQueryMetadata=_0x60fb32=>{const _0x511f18=a0_0x5c80d2,_0x1abb7b={'YpQYB':'SELECT','FDWtM':'INSERT','HTWtY':'UPDATE','OYvuK':_0x511f18(0x1c2),'PSEjN':_0x511f18(0x1a8),'HkGHK':_0x511f18(0x1bd),'lGmqv':'TRANSACTION_COMMIT','zGkwh':_0x511f18(0x1ae),'fHorS':'TRANSACTION_ROLLBACK','gBnJZ':'CREATE','FDdqX':'DDL_CREATE','kLIJA':'ALTER','KYQDh':_0x511f18(0x16c),'yCrnI':'DROP','hkDeJ':'DDL_DROP'},_0x429fc4=_0x60fb32['trim'](),_0x183760=_0x429fc4['toUpperCase']();let _0x342cbd='UNKNOWN',_0x288bdb=null;if(_0x183760['startsWith'](_0x1abb7b['YpQYB'])){_0x342cbd='SELECT';const _0x5262cb=_0x429fc4[_0x511f18(0x157)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x288bdb=_0x5262cb?_0x5262cb[0x1]:null;}else{if(_0x183760['startsWith'](_0x1abb7b[_0x511f18(0x185)])){_0x342cbd='INSERT';const _0x31c4d2=_0x429fc4[_0x511f18(0x157)](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x288bdb=_0x31c4d2?_0x31c4d2[0x1]:null;}else{if(_0x183760['startsWith'](_0x1abb7b['HTWtY'])){_0x342cbd='UPDATE';const _0x18702d=_0x429fc4[_0x511f18(0x157)](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x288bdb=_0x18702d?_0x18702d[0x1]:null;}else{if(_0x183760[_0x511f18(0x179)](_0x1abb7b[_0x511f18(0x19b)])){_0x342cbd='DELETE';const _0x1cf883=_0x429fc4[_0x511f18(0x157)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x288bdb=_0x1cf883?_0x1cf883[0x1]:null;}else{if(_0x183760['startsWith']('BEGIN')||_0x183760['startsWith'](_0x1abb7b[_0x511f18(0x1a7)]))_0x342cbd=_0x511f18(0x1af);else{if(_0x183760[_0x511f18(0x179)](_0x1abb7b[_0x511f18(0x1a6)]))_0x342cbd=_0x1abb7b['lGmqv'];else{if(_0x183760[_0x511f18(0x179)](_0x1abb7b[_0x511f18(0x1fd)]))_0x342cbd=_0x1abb7b['fHorS'];else{if(_0x183760[_0x511f18(0x179)](_0x1abb7b['gBnJZ']))_0x342cbd=_0x1abb7b[_0x511f18(0x187)];else{if(_0x183760['startsWith'](_0x1abb7b['kLIJA']))_0x342cbd=_0x1abb7b['KYQDh'];else _0x183760[_0x511f18(0x179)](_0x1abb7b['yCrnI'])&&(_0x342cbd=_0x1abb7b['hkDeJ']);}}}}}}}}return{'type':_0x342cbd,'table':_0x288bdb};},startQueryTimer=()=>{const _0x4dfa09={'DNEca':function(_0x1de9af,_0x1b6def){return _0x1de9af(_0x1b6def);},'LRJjd':function(_0x3cd55b,_0x5a9849){return _0x3cd55b*_0x5a9849;}},_0x32013f=process['hrtime']();return()=>{const _0x350444=a0_0x4f21,[_0x374513,_0xda1530]=process['hrtime'](_0x32013f);return _0x4dfa09[_0x350444(0x15a)](parseFloat,(_0x4dfa09['LRJjd'](_0x374513,0x3e8)+_0xda1530/0xf4240)[_0x350444(0x1ad)](0x2));};},logQuery=(_0xfbf349,_0x41c48a=[],_0x4bc46f={})=>{const _0x88179c=a0_0x5c80d2,_0x2dcb9d={'hcVaP':_0x88179c(0x1a3),'sLtcp':_0x88179c(0x17a),'CCihP':function(_0x1bad5a,_0x423fce){return _0x1bad5a>_0x423fce;},'ZVZOa':function(_0x45ed52,_0x4faf40){return _0x45ed52!==_0x4faf40;},'vqZMm':_0x88179c(0x1b2),'VVUlT':_0x88179c(0x1b5),'GHsak':_0x88179c(0x14e),'HxGNY':function(_0x11974b,_0x14e66a){return _0x11974b===_0x14e66a;}};if(!sqlLogEnabled){logger[_0x88179c(0x1b2)]({'event':_0x2dcb9d['hcVaP'],'query':_0xfbf349['substring'](0x0,0xc8),'paramCount':_0x41c48a['length']},'DB\x20Query');return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x88179c(0x1ba)}=_0x4bc46f,{type:_0x2c1efc,table:_0x5eb457}=parseQueryMetadata(_0xfbf349),_0x31112b={'event':_0x2dcb9d[_0x88179c(0x15b)],'queryType':_0x2c1efc,'table':_0x5eb457,'query':_0xfbf349,'paramCount':_0x41c48a['length'],'dbType':dbType};sqlLogParams&&_0x2dcb9d[_0x88179c(0x159)](_0x41c48a['length'],0x0)&&(_0x31112b['params']=redactSensitiveParams(_0x41c48a,_0xfbf349));_0x2dcb9d[_0x88179c(0x152)](duration,null)&&(_0x31112b['durationMs']=duration,_0x31112b['isSlow']=duration>sqlLogSlowThreshold);_0x2dcb9d[_0x88179c(0x152)](rowsAffected,null)&&(_0x31112b['rowsAffected']=rowsAffected);const _0xf35dbb=_0x5eb457||'unknown';let _0x4a39fb='['+_0x2c1efc+']\x20'+_0xf35dbb;duration!==null&&(_0x4a39fb+='\x20('+duration+'ms)');const _0x584082=duration!==null&&duration>sqlLogSlowThreshold;let _0xec9daf=_0x2dcb9d[_0x88179c(0x1f2)];if(_0x584082)_0x4a39fb+=_0x2dcb9d['VVUlT'],_0xec9daf=_0x2dcb9d[_0x88179c(0x1bc)],logger['warn'](_0x31112b,_0x4a39fb);else _0x2dcb9d['HxGNY'](sqlLogLevel,'info')?(_0xec9daf=_0x88179c(0x191),logger[_0x88179c(0x191)](_0x31112b,_0x4a39fb)):logger['debug'](_0x31112b,_0x4a39fb);writeToFileLog({..._0x31112b,'level':_0xec9daf,'msg':_0x4a39fb,'time':new Date()['toISOString']()},_0xec9daf);},logTransaction=(_0x15a21d,_0x24c673)=>{const _0x252793=a0_0x5c80d2,_0x252e85={'CqyHc':_0x252793(0x1b2)},_0x11633e={'event':'db_transaction','status':_0x15a21d,'queryCount':_0x24c673},_0x4db31a='Transaction\x20'+_0x15a21d;logger[_0x252793(0x1b2)](_0x11633e,_0x4db31a),writeToFileLog({..._0x11633e,'level':_0x252e85[_0x252793(0x176)],'msg':_0x4db31a,'time':new Date()[_0x252793(0x19d)]()},'debug');},redactObject=_0xcbcfaa=>{const _0x4c7f43=a0_0x5c80d2,_0x315f5b={'drIHC':function(_0x526497,_0x278798){return _0x526497!==_0x278798;},'ewHzs':'object','dRFFr':'password','lPvOy':_0x4c7f43(0x1eb),'hIvwA':'secret','GjeyB':_0x4c7f43(0x15d),'jYsVy':_0x4c7f43(0x1d4),'bJpwR':_0x4c7f43(0x1d3),'JPZmx':'private_key','xtexP':_0x4c7f43(0x193),'mdsEv':function(_0x5cdbea,_0x21a598){return _0x5cdbea(_0x21a598);}};if(!_0xcbcfaa||_0x315f5b[_0x4c7f43(0x1ff)](typeof _0xcbcfaa,_0x315f5b[_0x4c7f43(0x1cd)]))return _0xcbcfaa;const _0x100c7c=[_0x315f5b['dRFFr'],_0x315f5b['lPvOy'],'pwd',_0x4c7f43(0x1cc),_0x315f5b[_0x4c7f43(0x1b9)],'apikey',_0x315f5b[_0x4c7f43(0x1a2)],_0x315f5b['jYsVy'],'creditcard',_0x4c7f43(0x15c),_0x4c7f43(0x1f4),_0x315f5b[_0x4c7f43(0x1c5)],_0x4c7f43(0x1da),_0x315f5b['JPZmx'],_0x4c7f43(0x1b3),_0x4c7f43(0x1e6),_0x315f5b['xtexP']],_0x28a867=Array['isArray'](_0xcbcfaa)?[..._0xcbcfaa]:{..._0xcbcfaa};for(const _0x19cff4 of Object[_0x4c7f43(0x1b8)](_0x28a867)){const _0x4b6d5c=_0x19cff4[_0x4c7f43(0x1b7)]();if(_0x100c7c[_0x4c7f43(0x180)](_0xc198cb=>_0x4b6d5c[_0x4c7f43(0x16f)](_0xc198cb)))_0x28a867[_0x19cff4]='[REDACTED]';else typeof _0x28a867[_0x19cff4]===_0x315f5b[_0x4c7f43(0x1cd)]&&_0x28a867[_0x19cff4]!==null&&(_0x28a867[_0x19cff4]=_0x315f5b[_0x4c7f43(0x1ed)](redactObject,_0x28a867[_0x19cff4]));}return _0x28a867;},logError=(_0x1486e7,_0x4bc54b={},_0x4e125a=null)=>{const _0x48b0c8=a0_0x5c80d2,_0x8c0184={'SNJVp':'error','vSLLO':function(_0x27ceed,_0x36559e,_0x1a9339){return _0x27ceed(_0x36559e,_0x1a9339);}},_0x1ae037={'event':_0x8c0184['SNJVp'],'errorName':_0x1486e7['name']||_0x48b0c8(0x171),'errorMessage':_0x1486e7['message'],'errorCode':_0x1486e7[_0x48b0c8(0x1d2)]||null,'stack':_0x1486e7[_0x48b0c8(0x1e8)],..._0x4bc54b},_0xb0ea1d=_0x4e125a||'Error:\x20'+_0x1486e7[_0x48b0c8(0x1e7)];logger[_0x48b0c8(0x151)](_0x1ae037,_0xb0ea1d),_0x8c0184[_0x48b0c8(0x166)](writeToFileLog,{..._0x1ae037,'level':_0x8c0184[_0x48b0c8(0x1b0)],'msg':_0xb0ea1d,'time':new Date()['toISOString']()},_0x8c0184[_0x48b0c8(0x1b0)]);},logFatalError=(_0x20b789,_0xeff10d={},_0x26e348=null)=>{const _0x51f721=a0_0x5c80d2,_0x43a89f={'MlqUc':'fatal_error','qBudH':_0x51f721(0x151)},_0x58e252={'event':_0x43a89f['MlqUc'],'errorName':_0x20b789['name']||'Error','errorMessage':_0x20b789[_0x51f721(0x1e7)],'errorCode':_0x20b789[_0x51f721(0x1d2)]||null,'stack':_0x20b789[_0x51f721(0x1e8)],'severity':_0x51f721(0x19e),..._0xeff10d},_0x122849=_0x26e348||_0x51f721(0x173)+_0x20b789['message'];logger['fatal'](_0x58e252,_0x122849),writeToFileLog({..._0x58e252,'level':_0x51f721(0x1fe),'msg':_0x122849,'time':new Date()['toISOString']()},_0x43a89f['qBudH']);},logHttpError=(_0x3c7ea1,_0x584dee,_0x5630e8={})=>{const _0x3ef2e9=a0_0x5c80d2,_0x433b9c={'EYTto':'Error','bnmFg':'x-request-id','LNaYb':function(_0x40bb0c,_0x2ffe82){return _0x40bb0c(_0x2ffe82);},'LbnfQ':function(_0x54cbe6,_0x5dfc0f){return _0x54cbe6>=_0x5dfc0f;},'Tzaui':_0x3ef2e9(0x14e),'Wmmpx':function(_0x40bbc4,_0x3a8272){return _0x40bbc4>=_0x3a8272;}},_0x52e0e1={'event':'http_error','errorName':_0x3c7ea1['name']||_0x433b9c[_0x3ef2e9(0x15e)],'errorMessage':_0x3c7ea1['message'],'errorCode':_0x3c7ea1['code']||_0x3c7ea1[_0x3ef2e9(0x17c)]||0x1f4,'stack':_0x3c7ea1['stack'],'method':_0x584dee?.[_0x3ef2e9(0x1fc)],'url':_0x584dee?.[_0x3ef2e9(0x1c0)]||_0x584dee?.[_0x3ef2e9(0x17d)],'path':_0x584dee?.['path'],'ip':_0x584dee?.['ip']||_0x584dee?.['connection']?.['remoteAddress'],'userAgent':_0x584dee?.['get']?.(_0x3ef2e9(0x18f)),'requestId':_0x584dee?.['id']||_0x584dee?.['headers']?.[_0x433b9c['bnmFg']],'body':_0x584dee?.['body']?_0x433b9c['LNaYb'](redactObject,_0x584dee[_0x3ef2e9(0x17b)]):undefined,'query':_0x584dee?.['query'],..._0x5630e8},_0x5a5016=_0x3c7ea1['statusCode']||_0x3c7ea1[_0x3ef2e9(0x1e3)]||0x1f4,_0x53e810=_0x3ef2e9(0x18b)+_0x5a5016+':\x20'+_0x3c7ea1[_0x3ef2e9(0x1e7)];_0x433b9c['LbnfQ'](_0x5a5016,0x1f4)?logger['error'](_0x52e0e1,_0x53e810):logger['warn'](_0x52e0e1,_0x53e810),writeToFileLog({..._0x52e0e1,'level':_0x5a5016>=0x1f4?_0x3ef2e9(0x151):_0x433b9c['Tzaui'],'msg':_0x53e810,'time':new Date()[_0x3ef2e9(0x19d)]()},_0x433b9c[_0x3ef2e9(0x153)](_0x5a5016,0x1f4)?_0x3ef2e9(0x151):_0x433b9c['Tzaui']);},logUncaughtError=(_0x4a6d49,_0x492362)=>{const _0xffe890=a0_0x5c80d2,_0x2880ab={'ZtyeI':'Error','fFzEK':function(_0x113fe5,_0x353df1){return _0x113fe5(_0x353df1);},'sbUsN':_0xffe890(0x19e),'jEkHM':function(_0x4c75e9,_0x5f3f1d,_0x414b9b){return _0x4c75e9(_0x5f3f1d,_0x414b9b);}},_0x4ed6f4={'event':_0x4a6d49,'errorName':_0x492362?.[_0xffe890(0x154)]||_0x2880ab[_0xffe890(0x17e)],'errorMessage':_0x492362?.[_0xffe890(0x1e7)]||_0x2880ab[_0xffe890(0x200)](String,_0x492362),'errorCode':_0x492362?.['code']||null,'stack':_0x492362?.[_0xffe890(0x1e8)],'severity':_0x2880ab[_0xffe890(0x158)],'processId':process[_0xffe890(0x14d)],'memoryUsage':process[_0xffe890(0x1dc)](),'uptime':process['uptime']()},_0x524d9b='['+_0x4a6d49['toUpperCase']()+']\x20'+(_0x492362?.['message']||_0x492362);logger[_0xffe890(0x1fe)](_0x4ed6f4,_0x524d9b),_0x2880ab[_0xffe890(0x1db)](writeToFileLog,{..._0x4ed6f4,'level':_0xffe890(0x1fe),'msg':_0x524d9b,'time':new Date()['toISOString']()},_0xffe890(0x151));},setupGlobalErrorHandlers=()=>{const _0x26038b=a0_0x5c80d2,_0x1226f7={'rlazU':function(_0x3dcb49,_0x352a18,_0x5d5895){return _0x3dcb49(_0x352a18,_0x5d5895);},'doXhx':_0x26038b(0x178),'HWBHj':_0x26038b(0x16e),'ZNJkI':_0x26038b(0x1ec),'iFsbo':_0x26038b(0x1ea),'SixaV':'Global\x20error\x20handlers\x20initialized'};process['on'](_0x1226f7['doXhx'],_0x1ded15=>{const _0x3d952e=_0x26038b;_0x1226f7[_0x3d952e(0x188)](logUncaughtError,_0x1226f7['doXhx'],_0x1ded15),_0x1226f7['rlazU'](setTimeout,()=>{const _0x3c20d2=_0x3d952e;process[_0x3c20d2(0x18e)](0x1);},0x3e8);}),process['on'](_0x1226f7['ZNJkI'],(_0x5f0cce,_0x32bfb1)=>{const _0x140df4=_0x26038b,_0x568a41=_0x5f0cce instanceof Error?_0x5f0cce:new Error(String(_0x5f0cce));logUncaughtError(_0x140df4(0x1ec),_0x568a41);}),process['on'](_0x26038b(0x197),_0x274527=>{const _0xbd7e55=_0x26038b;logger['warn']({'event':_0x1226f7[_0xbd7e55(0x184)],'name':_0x274527[_0xbd7e55(0x154)],'message':_0x274527['message'],'stack':_0x274527[_0xbd7e55(0x1e8)]},'Process\x20Warning:\x20'+_0x274527['message']);});const _0x4de866={'event':_0x1226f7['iFsbo']},_0x24931b=_0x1226f7['SixaV'];logger['info'](_0x4de866,_0x24931b),writeToFileLog({..._0x4de866,'level':_0x26038b(0x191),'msg':_0x24931b,'time':new Date()[_0x26038b(0x19d)]()},_0x26038b(0x191));},createErrorHandlerMiddleware=()=>{const _0xd4a4f2={'KxzUa':function(_0x16ae0e,_0x322fd9,_0x4d1169){return _0x16ae0e(_0x322fd9,_0x4d1169);},'PJndL':function(_0x55b8e,_0x528476){return _0x55b8e>=_0x528476;}};return(_0xb35aa0,_0x40d744,_0x40cbec,_0x1228f2)=>{const _0x6ee1cb=a0_0x4f21;_0xd4a4f2[_0x6ee1cb(0x1e2)](logHttpError,_0xb35aa0,_0x40d744);const _0x2d8286=_0xb35aa0[_0x6ee1cb(0x17c)]||_0xb35aa0[_0x6ee1cb(0x1e3)]||0x1f4;_0x40cbec[_0x6ee1cb(0x1e3)](_0x2d8286)['json']({'success':![],'error':_0xd4a4f2[_0x6ee1cb(0x16a)](_0x2d8286,0x1f4)?'Internal\x20server\x20error':_0xb35aa0['message'],'requestId':_0x40d744['id']||_0x40d744[_0x6ee1cb(0x165)]?.[_0x6ee1cb(0x1be)]||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_0x72dbf=a0_0x49cb;function a0_0x49cb(_0x404922,_0x1fad62){_0x404922=_0x404922-0x75;const _0x216e2a=a0_0x216e();let _0x49cb65=_0x216e2a[_0x404922];if(a0_0x49cb['LvJSMR']===undefined){var _0xa7cfd4=function(_0x324919){const _0x60f2af='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4b44e2='',_0x35d965='';for(let _0x45033e=0x0,_0x5db35c,_0x1de8c0,_0x2cd84a=0x0;_0x1de8c0=_0x324919['charAt'](_0x2cd84a++);~_0x1de8c0&&(_0x5db35c=_0x45033e%0x4?_0x5db35c*0x40+_0x1de8c0:_0x1de8c0,_0x45033e++%0x4)?_0x4b44e2+=String['fromCharCode'](0xff&_0x5db35c>>(-0x2*_0x45033e&0x6)):0x0){_0x1de8c0=_0x60f2af['indexOf'](_0x1de8c0);}for(let _0x225ab4=0x0,_0x5041d4=_0x4b44e2['length'];_0x225ab4<_0x5041d4;_0x225ab4++){_0x35d965+='%'+('00'+_0x4b44e2['charCodeAt'](_0x225ab4)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x35d965);};a0_0x49cb['iLSDKc']=_0xa7cfd4,a0_0x49cb['sjoNpC']={},a0_0x49cb['LvJSMR']=!![];}const _0x9892d6=_0x216e2a[0x0],_0x58bf30=_0x404922+_0x9892d6,_0x1c0ae4=a0_0x49cb['sjoNpC'][_0x58bf30];return!_0x1c0ae4?(_0x49cb65=a0_0x49cb['iLSDKc'](_0x49cb65),a0_0x49cb['sjoNpC'][_0x58bf30]=_0x49cb65):_0x49cb65=_0x1c0ae4,_0x49cb65;}(function(_0x206d9f,_0x1a796d){const _0x21be9b=a0_0x49cb,_0x5834b6=_0x206d9f();while(!![]){try{const _0x5001c0=parseInt(_0x21be9b(0x81))/0x1+parseInt(_0x21be9b(0x78))/0x2*(parseInt(_0x21be9b(0x9b))/0x3)+-parseInt(_0x21be9b(0x95))/0x4+-parseInt(_0x21be9b(0x85))/0x5*(parseInt(_0x21be9b(0x97))/0x6)+-parseInt(_0x21be9b(0x7b))/0x7*(parseInt(_0x21be9b(0x96))/0x8)+-parseInt(_0x21be9b(0x93))/0x9*(-parseInt(_0x21be9b(0x91))/0xa)+parseInt(_0x21be9b(0x7c))/0xb;if(_0x5001c0===_0x1a796d)break;else _0x5834b6['push'](_0x5834b6['shift']());}catch(_0x873088){_0x5834b6['push'](_0x5834b6['shift']());}}}(a0_0x216e,0xe62bf));function a0_0x216e(){const _0x26ed0a=['z2v0rxHWB3j0q29UzMLN','t25mzNG','nMvHAuHJrW','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5igj5ig5HBwu','Cgf5Bg9Hzf9SB2fKzwq','mJa2otLPt0TmvM4','mtqZota2ntfzrMPpvfa','CgfYC2u','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5','AgfZ','y2XLyxi','mtiWntK5nevmu0rOvq','CMvWBgfJzq','CMvHzezPBgu','lI4VlI4VCgf5Bg9Hza','mJa1ywfwEMDt','Cgf5Bg9HzdO','C2v0','ugf5Bg9HzcbUB3qGzM91BMq6ia','ywn0Aw9U','qKD6wMu','DgfIBgvoyw1L','rMfPBgvKihrVigXVywqGCgf5Bg9HzcbIEsbUyw1L','AM9PBG','ugf5Bg9HzcbJywnOzsbJBgvHCMvK','Cgf5Bg9Hzf9SB2fKx2vYCM9Y','y29SDw1UrM9YBwf0CW','mJiWuhrMAvP3','lI9SB2DNzxi','mtK3nZKZDM1rvxPV','zxjYB3i','mty2otq2oevfyNjXBa','mJG3mNnozxHYwa','mtq4nJaYwgXxBxjQ','Cgf0Aa','lMPZB24','y2fJAgu','ndm5ndmXrg1NC1PA','zgvIDwC','Cgf5Bg9HzerPCG'];a0_0x216e=function(){return _0x26ed0a;};return a0_0x216e();}const fs=require('fs')['promises'],path=require(a0_0x72dbf(0x98)),{logger}=require(a0_0x72dbf(0x92));class PayloadLoader{constructor(){const _0x14749c=a0_0x72dbf;this[_0x14749c(0x75)]=path[_0x14749c(0x8d)](__dirname,_0x14749c(0x84)),this[_0x14749c(0x9a)]=new Map();}async['loadPayload'](_0x410040,_0x1a94d9){const _0x35e647=a0_0x72dbf,_0x15cdaa={'BGzZe':'utf8'},_0x3d261b=_0x410040+':'+_0x1a94d9;if(this['cache']['has'](_0x3d261b))return this['cache']['get'](_0x3d261b);const _0x1ee2ae=path['join'](this['payloadDir'],_0x410040+'_'+_0x1a94d9+'.json');try{const _0x55ed9f=await fs['readFile'](_0x1ee2ae,_0x15cdaa[_0x35e647(0x8a)]),_0x2b5336=JSON['parse'](_0x55ed9f);return this[_0x35e647(0x9a)][_0x35e647(0x87)](_0x3d261b,_0x2b5336),logger[_0x35e647(0x9c)]({'event':_0x35e647(0x7a),'project':_0x410040,'resource':_0x1a94d9},_0x35e647(0x7e)),_0x2b5336;}catch(_0xa207d){logger[_0x35e647(0x94)]({'event':_0x35e647(0x8f),'project':_0x410040,'resource':_0x1a94d9,'error':_0xa207d['message']},'Failed\x20to\x20load\x20payload');throw new Error(_0x35e647(0x88)+_0x410040+'_'+_0x1a94d9);}}async['loadPayloadByName'](_0xa5c2d){const _0x4a9a6e=a0_0x72dbf,_0x2e25d9={'BHDMW':'utf8','RNmPH':'payload_loaded','MSKFs':_0x4a9a6e(0x8f),'OnLfx':_0x4a9a6e(0x8c)},_0x462032=_0x4a9a6e(0x86)+_0xa5c2d;if(this[_0x4a9a6e(0x9a)][_0x4a9a6e(0x7f)](_0x462032))return this[_0x4a9a6e(0x9a)]['get'](_0x462032);const _0x54cc63=path[_0x4a9a6e(0x8d)](this[_0x4a9a6e(0x75)],_0xa5c2d+_0x4a9a6e(0x99));try{const _0x3de166=await fs[_0x4a9a6e(0x83)](_0x54cc63,_0x2e25d9['BHDMW']),_0x495896=JSON[_0x4a9a6e(0x7d)](_0x3de166);return this[_0x4a9a6e(0x9a)]['set'](_0x462032,_0x495896),logger['debug']({'event':_0x2e25d9['RNmPH'],'payloadName':_0xa5c2d},_0x4a9a6e(0x79)),_0x495896;}catch(_0x205202){logger[_0x4a9a6e(0x94)]({'event':_0x2e25d9['MSKFs'],'payloadName':_0xa5c2d,'error':_0x205202['message']},_0x2e25d9[_0x4a9a6e(0x77)]);throw new Error('Payload\x20not\x20found:\x20'+_0xa5c2d);}}['isActionEnabled'](_0x5ad257,_0x1e42cf){const _0x2b2776=a0_0x72dbf;return _0x5ad257[_0x2b2776(0x89)]&&_0x5ad257[_0x2b2776(0x89)][_0x1e42cf]===!![];}[a0_0x72dbf(0x76)](_0x1af6c0){const _0x560a3c=a0_0x72dbf;return{'columns':_0x1af6c0['fieldName']||[],'filename':_0x1af6c0[_0x560a3c(0x8b)][_0x560a3c(0x82)]('.','-')+'-export','datatablesQuery':_0x1af6c0['datatablesQuery']||null,'columnFormats':_0x1af6c0[_0x560a3c(0x90)]||null,'fieldLabels':_0x1af6c0['fieldLabels']||null};}['clearCache'](){const _0xd527e6=a0_0x72dbf;this[_0xd527e6(0x9a)][_0xd527e6(0x80)](),logger['info']({'event':'payload_cache_cleared'},_0xd527e6(0x8e));}}module['exports']=new PayloadLoader();
1
+ const a0_0x3479b3=a0_0x401d;(function(_0x4cc9d9,_0x3d5521){const _0xce4f3a=a0_0x401d,_0x65226f=_0x4cc9d9();while(!![]){try{const _0x14def0=-parseInt(_0xce4f3a(0x1a2))/0x1*(parseInt(_0xce4f3a(0x184))/0x2)+parseInt(_0xce4f3a(0x183))/0x3*(parseInt(_0xce4f3a(0x187))/0x4)+parseInt(_0xce4f3a(0x18a))/0x5+parseInt(_0xce4f3a(0x1ad))/0x6*(-parseInt(_0xce4f3a(0x1a8))/0x7)+-parseInt(_0xce4f3a(0x191))/0x8*(-parseInt(_0xce4f3a(0x197))/0x9)+parseInt(_0xce4f3a(0x1ab))/0xa+parseInt(_0xce4f3a(0x194))/0xb*(-parseInt(_0xce4f3a(0x19c))/0xc);if(_0x14def0===_0x3d5521)break;else _0x65226f['push'](_0x65226f['shift']());}catch(_0x2f07be){_0x65226f['push'](_0x65226f['shift']());}}}(a0_0x3968,0xc392f));const fs=require('fs')['promises'],path=require(a0_0x3479b3(0x19a)),{logger}=require(a0_0x3479b3(0x1a5));class PayloadLoader{constructor(){const _0x1033ed=a0_0x3479b3;this[_0x1033ed(0x1aa)]=path[_0x1033ed(0x199)](__dirname,_0x1033ed(0x1ac)),this['cache']=new Map();}async[a0_0x3479b3(0x188)](_0x1588c2,_0x3208f5){const _0x3190bf=a0_0x3479b3,_0x1b0ddf={'JTqXX':_0x3190bf(0x1a3),'ZPXKZ':'payload_loaded','wrfau':_0x3190bf(0x18c),'WOLPE':_0x3190bf(0x186)},_0x104ce7=_0x1588c2+':'+_0x3208f5;if(this['cache'][_0x3190bf(0x18f)](_0x104ce7))return this[_0x3190bf(0x18b)][_0x3190bf(0x19d)](_0x104ce7);const _0x5cb77b=path[_0x3190bf(0x199)](this['payloadDir'],_0x1588c2+'_'+_0x3208f5+_0x3190bf(0x19b));try{const _0x4a3d67=await fs['readFile'](_0x5cb77b,_0x1b0ddf[_0x3190bf(0x1a7)]),_0x445f95=JSON[_0x3190bf(0x185)](_0x4a3d67);return this[_0x3190bf(0x18b)]['set'](_0x104ce7,_0x445f95),logger['debug']({'event':_0x1b0ddf[_0x3190bf(0x190)],'project':_0x1588c2,'resource':_0x3208f5},_0x1b0ddf[_0x3190bf(0x195)]),_0x445f95;}catch(_0x293feb){logger['error']({'event':_0x1b0ddf[_0x3190bf(0x1ae)],'project':_0x1588c2,'resource':_0x3208f5,'error':_0x293feb[_0x3190bf(0x18e)]},_0x3190bf(0x196));throw new Error(_0x3190bf(0x192)+_0x1588c2+'_'+_0x3208f5);}}async['loadPayloadByName'](_0x370a51){const _0x43b887=a0_0x3479b3,_0x16ef41={'nVvXA':_0x43b887(0x1a3),'zrjxu':_0x43b887(0x1a1),'mQbiG':'Failed\x20to\x20load\x20payload\x20by\x20name'},_0xcfd9da=_0x43b887(0x1a6)+_0x370a51;if(this['cache'][_0x43b887(0x18f)](_0xcfd9da))return this['cache'][_0x43b887(0x19d)](_0xcfd9da);const _0x2cd86b=path[_0x43b887(0x199)](this[_0x43b887(0x1aa)],_0x370a51+'.json');try{const _0x4837b4=await fs['readFile'](_0x2cd86b,_0x16ef41[_0x43b887(0x189)]),_0x9b80c=JSON[_0x43b887(0x185)](_0x4837b4);return this[_0x43b887(0x18b)][_0x43b887(0x193)](_0xcfd9da,_0x9b80c),logger[_0x43b887(0x1a4)]({'event':'payload_loaded','payloadName':_0x370a51},_0x16ef41[_0x43b887(0x19e)]),_0x9b80c;}catch(_0x2fa8cc){logger[_0x43b887(0x1a0)]({'event':_0x43b887(0x186),'payloadName':_0x370a51,'error':_0x2fa8cc['message']},_0x16ef41['mQbiG']);throw new Error('Payload\x20not\x20found:\x20'+_0x370a51);}}['isActionEnabled'](_0x188030,_0x3fc53f){return _0x188030['action']&&_0x188030['action'][_0x3fc53f]===!![];}['getExportConfig'](_0xd55630){const _0x43eebe=a0_0x3479b3;return{'columns':_0xd55630['fieldName']||[],'filename':_0xd55630['tableName']['replace']('.','-')+'-export','datatablesQuery':_0xd55630[_0x43eebe(0x198)]||null,'columnFormats':_0xd55630['columnFormats']||null,'fieldLabels':_0xd55630['fieldLabels']||null};}[a0_0x3479b3(0x1a9)](){const _0x5ef67b=a0_0x3479b3,_0x13298c={'HKrOH':'Payload\x20cache\x20cleared'};this['cache']['clear'](),logger['info']({'event':'payload_cache_cleared'},_0x13298c[_0x5ef67b(0x18d)]);}}function a0_0x3968(){const _0x3fb607=['mtq3twfVEKjK','y2XLyxjdywnOzq','Cgf5Bg9HzerPCG','mtu1nJG0odbUs3Htvve','lI4VlI4VCgf5Bg9Hza','mZG5mdC2swjiy3P6','v09mueu','mtuZmZLIrLrywMe','mJiZnZH2EgLAy3G','CgfYC2u','Cgf5Bg9Hzf9SB2fKx2vYCM9Y','ntK2zwTKt2Db','Bg9HzfbHEwXVywq','BLz2wee','nZKWodeXnuDmCKrZyq','y2fJAgu','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5','seTYt0G','BwvZC2fNzq','AgfZ','wLbys1O','mtzsBNrUBM4','ugf5Bg9HzcbUB3qGzM91BMq6ia','C2v0','mJG5ode3Chz3t0Tp','D3jMyxu','rMfPBgvKihrVigXVywqGCgf5Bg9Hza','ndG5mdi1ofHKz2Dyva','zgf0yxrHyMXLC1f1zxj5','AM9PBG','Cgf0Aa','lMPZB24','mte2nerzy0Xsvq','z2v0','ENjQEhu','zxHWB3j0CW','zxjYB3i','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5igj5ig5HBwu','mJrkzgH5wge','DxrMoa','zgvIDwC','lI9SB2DNzxi','Cgf5Bg9HzdO','sLrXwfG'];a0_0x3968=function(){return _0x3fb607;};return a0_0x3968();}function a0_0x401d(_0x43dc85,_0x160719){_0x43dc85=_0x43dc85-0x183;const _0x396811=a0_0x3968();let _0x401d87=_0x396811[_0x43dc85];if(a0_0x401d['KTQtBl']===undefined){var _0x47341f=function(_0x5173d8){const _0x1a9dc8='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x28f0bb='',_0x18715b='';for(let _0x244791=0x0,_0x5181af,_0x5b67b7,_0x1259fc=0x0;_0x5b67b7=_0x5173d8['charAt'](_0x1259fc++);~_0x5b67b7&&(_0x5181af=_0x244791%0x4?_0x5181af*0x40+_0x5b67b7:_0x5b67b7,_0x244791++%0x4)?_0x28f0bb+=String['fromCharCode'](0xff&_0x5181af>>(-0x2*_0x244791&0x6)):0x0){_0x5b67b7=_0x1a9dc8['indexOf'](_0x5b67b7);}for(let _0x354de0=0x0,_0x4c6b3f=_0x28f0bb['length'];_0x354de0<_0x4c6b3f;_0x354de0++){_0x18715b+='%'+('00'+_0x28f0bb['charCodeAt'](_0x354de0)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x18715b);};a0_0x401d['kWWtFe']=_0x47341f,a0_0x401d['PxbVsv']={},a0_0x401d['KTQtBl']=!![];}const _0x118d29=_0x396811[0x0],_0x11d012=_0x43dc85+_0x118d29,_0x417ce1=a0_0x401d['PxbVsv'][_0x11d012];return!_0x417ce1?(_0x401d87=a0_0x401d['kWWtFe'](_0x401d87),a0_0x401d['PxbVsv'][_0x11d012]=_0x401d87):_0x401d87=_0x417ce1,_0x401d87;}module[a0_0x3479b3(0x19f)]=new PayloadLoader();