@restforgejs/platform 5.0.0 → 5.0.3

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 (175) 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 +244 -38
  11. package/generators/lib/migrate/naming.js +9 -0
  12. package/generators/lib/payload/payload-runner.js +20 -0
  13. package/generators/lib/templates/dashboard-catalog.js +1 -1
  14. package/generators/lib/templates/db-connection-env.js +1 -1
  15. package/generators/lib/templates/dbschema-catalog.js +1 -1
  16. package/generators/lib/templates/field-validation-catalog.js +1 -1
  17. package/generators/lib/templates/mysql-template.js +1 -1
  18. package/generators/lib/templates/oracle-template.js +1 -1
  19. package/generators/lib/templates/postgres-template.js +1 -1
  20. package/generators/lib/templates/query-declarative-catalog.js +1 -1
  21. package/generators/lib/templates/sqlite-template.js +1 -1
  22. package/integrity-manifest.json +18 -18
  23. package/package.json +1 -1
  24. package/scripts/verify-integrity.js +1 -1
  25. package/server.js +1 -1
  26. package/src/components/handlers/adjust_handler.js +1 -1
  27. package/src/components/handlers/audit_handler.js +1 -1
  28. package/src/components/handlers/delete_handler.js +1 -1
  29. package/src/components/handlers/export_handler.js +1 -1
  30. package/src/components/handlers/import_handler.js +1 -1
  31. package/src/components/handlers/insert_handler.js +1 -1
  32. package/src/components/handlers/update_handler.js +1 -1
  33. package/src/components/handlers/upload_handler.js +1 -1
  34. package/src/components/handlers/workflow_handler.js +1 -1
  35. package/src/components/integrations/webhook.js +1 -1
  36. package/src/consumers/baseConsumer.js +1 -1
  37. package/src/consumers/declarativeMapper.js +1 -1
  38. package/src/consumers/handlers/apiHandler.js +1 -1
  39. package/src/consumers/handlers/consoleHandler.js +1 -1
  40. package/src/consumers/handlers/databaseHandler.js +1 -1
  41. package/src/consumers/handlers/index.js +1 -1
  42. package/src/consumers/handlers/kafkaHandler.js +1 -1
  43. package/src/consumers/index.js +1 -1
  44. package/src/consumers/messageTransformer.js +1 -1
  45. package/src/consumers/validator.js +1 -1
  46. package/src/core/db/dialect/base-dialect.js +1 -1
  47. package/src/core/db/dialect/index.js +1 -1
  48. package/src/core/db/dialect/mysql-dialect.js +1 -1
  49. package/src/core/db/dialect/oracle-dialect.js +1 -1
  50. package/src/core/db/dialect/postgres-dialect.js +1 -1
  51. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  52. package/src/core/db/flatten-helper.js +1 -1
  53. package/src/core/db/query-builder-error.js +1 -1
  54. package/src/core/db/query-builder.js +1 -1
  55. package/src/core/db/relation-helper.js +1 -1
  56. package/src/core/handlers/delete_handler.js +1 -1
  57. package/src/core/handlers/insert_handler.js +1 -1
  58. package/src/core/handlers/update_handler.js +1 -1
  59. package/src/core/models/base-model.js +1 -1
  60. package/src/core/utils/cache-manager.js +1 -1
  61. package/src/core/utils/component-engine.js +1 -1
  62. package/src/core/utils/context-builder.js +1 -1
  63. package/src/core/utils/datetime-formatter.js +1 -1
  64. package/src/core/utils/datetime-parser.js +1 -1
  65. package/src/core/utils/db.js +1 -1
  66. package/src/core/utils/logger.js +1 -1
  67. package/src/core/utils/payload-loader.js +1 -1
  68. package/src/core/utils/security-checks.js +1 -1
  69. package/src/middleware/body-options.js +1 -1
  70. package/src/middleware/cors.js +1 -1
  71. package/src/middleware/idempotency.js +1 -1
  72. package/src/middleware/rate-limiter.js +1 -1
  73. package/src/middleware/request-logger.js +1 -1
  74. package/src/middleware/security-headers.js +1 -1
  75. package/src/models/base-model-mysql.js +1 -1
  76. package/src/models/base-model-oracle.js +1 -1
  77. package/src/models/base-model-sqlite.js +1 -1
  78. package/src/models/base-model.js +1 -1
  79. package/src/pro/caching/redis-client.js +1 -1
  80. package/src/pro/caching/redis-helper.js +1 -1
  81. package/src/pro/consumers/baseConsumer.js +1 -1
  82. package/src/pro/consumers/declarativeMapper.js +1 -1
  83. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  84. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  85. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  86. package/src/pro/consumers/handlers/index.js +1 -1
  87. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  88. package/src/pro/consumers/index.js +1 -1
  89. package/src/pro/consumers/messageTransformer.js +1 -1
  90. package/src/pro/consumers/validator.js +1 -1
  91. package/src/pro/database/base-model-mysql.js +1 -1
  92. package/src/pro/database/base-model-oracle.js +1 -1
  93. package/src/pro/database/base-model-sqlite.js +1 -1
  94. package/src/pro/database/db-mysql.js +1 -1
  95. package/src/pro/database/db-oracle.js +1 -1
  96. package/src/pro/database/db-sqlite.js +1 -1
  97. package/src/pro/excel/excel-generator.js +1 -1
  98. package/src/pro/excel/excel-parser.js +1 -1
  99. package/src/pro/excel/export-service.js +1 -1
  100. package/src/pro/excel/export_handler.js +1 -1
  101. package/src/pro/excel/import-service.js +1 -1
  102. package/src/pro/excel/import-validator.js +1 -1
  103. package/src/pro/excel/import_handler.js +1 -1
  104. package/src/pro/excel/upsert-builder.js +1 -1
  105. package/src/pro/idgen/idgen-routes.js +1 -1
  106. package/src/pro/integrations/lookup-resolver.js +1 -1
  107. package/src/pro/integrations/upload-handler-v2.js +1 -1
  108. package/src/pro/integrations/upload-handler.js +1 -1
  109. package/src/pro/integrations/webhook.js +1 -1
  110. package/src/pro/locking/lock-routes.js +1 -1
  111. package/src/pro/locking/resource-lock-manager.js +1 -1
  112. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  113. package/src/pro/messaging/kafkaService.js +1 -1
  114. package/src/pro/messaging/messagehubService.js +1 -1
  115. package/src/pro/messaging/rabbitmqService.js +1 -1
  116. package/src/pro/scheduler/job-manager.js +1 -1
  117. package/src/pro/scheduler/job-routes.js +1 -1
  118. package/src/pro/scheduler/job-validator.js +1 -1
  119. package/src/pro/storage/base-storage-provider.js +1 -1
  120. package/src/pro/storage/file-metadata-helper.js +1 -1
  121. package/src/pro/storage/index.js +1 -1
  122. package/src/pro/storage/local-storage-provider.js +1 -1
  123. package/src/pro/storage/s3-storage-provider.js +1 -1
  124. package/src/pro/storage/upload-cleanup-job.js +1 -1
  125. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  126. package/src/pro/storage/upload-pending-tracker.js +1 -1
  127. package/src/pro/websocket/broadcast-helper.js +1 -1
  128. package/src/pro/websocket/index.js +1 -1
  129. package/src/pro/websocket/livesync-server.js +1 -1
  130. package/src/pro/websocket/ws-broadcaster.js +1 -1
  131. package/src/services/export-service.js +1 -1
  132. package/src/services/import-service.js +1 -1
  133. package/src/services/kafkaConsumerService.js +1 -1
  134. package/src/services/kafkaService.js +1 -1
  135. package/src/services/messagehubService.js +1 -1
  136. package/src/services/rabbitmqService.js +1 -1
  137. package/src/utils/cache-invalidation-registry.js +1 -1
  138. package/src/utils/cache-manager.js +1 -1
  139. package/src/utils/component-engine.js +1 -1
  140. package/src/utils/config-extractor.js +1 -1
  141. package/src/utils/consumerLogger.js +1 -1
  142. package/src/utils/context-builder.js +1 -1
  143. package/src/utils/dashboard-helpers.js +1 -1
  144. package/src/utils/dateHelper.js +1 -1
  145. package/src/utils/datetime-formatter.js +1 -1
  146. package/src/utils/datetime-parser.js +1 -1
  147. package/src/utils/db-bootstrap.js +1 -1
  148. package/src/utils/db-mysql.js +1 -1
  149. package/src/utils/db-oracle.js +1 -1
  150. package/src/utils/db-sqlite.js +1 -1
  151. package/src/utils/db.js +1 -1
  152. package/src/utils/demo-generator.js +1 -1
  153. package/src/utils/excel-generator.js +1 -1
  154. package/src/utils/excel-parser.js +1 -1
  155. package/src/utils/file-watcher.js +1 -1
  156. package/src/utils/id-generator.js +1 -1
  157. package/src/utils/idempotency-manager.js +1 -1
  158. package/src/utils/import-validator.js +1 -1
  159. package/src/utils/license-client.js +1 -1
  160. package/src/utils/lock-manager.js +1 -1
  161. package/src/utils/logger.js +1 -1
  162. package/src/utils/lookup-resolver.js +1 -1
  163. package/src/utils/payload-loader.js +1 -1
  164. package/src/utils/processor-response.js +1 -1
  165. package/src/utils/rabbitmq.js +1 -1
  166. package/src/utils/redis-client.js +1 -1
  167. package/src/utils/redis-helper.js +1 -1
  168. package/src/utils/request-scope.js +1 -1
  169. package/src/utils/security-checks.js +1 -1
  170. package/src/utils/service-resolver.js +1 -1
  171. package/src/utils/shutdown-coordinator.js +1 -1
  172. package/src/utils/trusted-keys.js +1 -1
  173. package/src/utils/upload-handler.js +1 -1
  174. package/src/utils/upsert-builder.js +1 -1
  175. 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
+ const a0_0x52964c=a0_0xab49;function a0_0x1263(){const _0x85a415=['zM9YBwf0vgLTzxn0yw1W','mtaZnZeWDNf1sKjT','mtm2ndC2meD0s2n4Da','C3bSAxq','CgfKu3rHCNq','mtG2mtC4m1zLswDMqq','z2v0sg91CNm','vMXVCMq','rxjYB3iGzM9YBwf0DgLUzYbKyxrLDgLTztOG','ntfWz2XhD3m','otu4mtuYmg1tCwjVEa','D2fYBG','mJK2nZCWngL5uxjNyG','mJa4mZy3thzZvK1r','zxHiqNi','z2v0rgf0zq','A1jozeu','zgf0zq','ntK0ndm4nwrfBeHmzW','wxnsv2u','zM9YBwf0','BwvZC2fNzq','zM9YBwf0rgf0zq','zM9YBwf0vgLTzq','sw52ywXPzcbKyxrLihzHBhvLoIa'];a0_0x1263=function(){return _0x85a415;};return a0_0x1263();}(function(_0x57cac8,_0xed1fb1){const _0x166127=a0_0xab49,_0x2f5da9=_0x57cac8();while(!![]){try{const _0x281a54=parseInt(_0x166127(0x171))/0x1+parseInt(_0x166127(0x165))/0x2*(parseInt(_0x166127(0x16d))/0x3)+-parseInt(_0x166127(0x166))/0x4+parseInt(_0x166127(0x176))/0x5+-parseInt(_0x166127(0x16e))/0x6+parseInt(_0x166127(0x169))/0x7+parseInt(_0x166127(0x170))/0x8;if(_0x281a54===_0xed1fb1)break;else _0x2f5da9['push'](_0x2f5da9['shift']());}catch(_0x5d5a7e){_0x2f5da9['push'](_0x2f5da9['shift']());}}}(a0_0x1263,0xeeac1));class DateTimeFormatter{static[a0_0x52964c(0x178)](_0x1399aa,_0x17b644,_0x520315){const _0xc6c254=a0_0x52964c,_0x45e795={'kRNdE':_0xc6c254(0x175),'YsRWe':'timestamp','aKCPC':'time'};if(!_0x1399aa)return null;try{if(_0x520315===_0x45e795[_0xc6c254(0x174)])return this[_0xc6c254(0x17a)](_0x1399aa,_0x17b644);else{if(_0x520315===_0x45e795[_0xc6c254(0x177)])return this['formatTimestamp'](_0x1399aa,_0x17b644);else{if(_0x520315===_0x45e795['aKCPC'])return this[_0xc6c254(0x17b)](_0x1399aa,_0x17b644);}}return _0x1399aa;}catch(_0x57f9b9){return console['error'](_0xc6c254(0x16c)+_0x57f9b9[_0xc6c254(0x179)]),_0x1399aa;}}static['formatDate'](_0x7f3502,_0x3e7ddd){const _0x4df1d4=a0_0x52964c,_0xc5a136={'TAEgX':function(_0x44578a,_0x4ebe76){return _0x44578a(_0x4ebe76);}},_0x3053cb=new Date(_0x7f3502);if(isNaN(_0x3053cb['getTime']()))return console['warn'](_0x4df1d4(0x17c)+_0x7f3502),_0x7f3502;const _0x57b01a=String(_0x3053cb['getDate']())[_0x4df1d4(0x168)](0x2,'0'),_0x23433c=_0xc5a136['TAEgX'](String,_0x3053cb['getMonth']()+0x1)[_0x4df1d4(0x168)](0x2,'0'),_0x2ea22c=_0x3053cb['getFullYear'](),_0x3013ba={'dd/MM/yyyy':_0x57b01a+'/'+_0x23433c+'/'+_0x2ea22c,'dd-MM-yyyy':_0x57b01a+'-'+_0x23433c+'-'+_0x2ea22c,'MM/dd/yyyy':_0x23433c+'/'+_0x57b01a+'/'+_0x2ea22c,'yyyy/MM/dd':_0x2ea22c+'/'+_0x23433c+'/'+_0x57b01a,'yyyy-MM-dd':_0x2ea22c+'-'+_0x23433c+'-'+_0x57b01a};return _0x3013ba[_0x3e7ddd]||_0x2ea22c+'-'+_0x23433c+'-'+_0x57b01a;}static[a0_0x52964c(0x17d)](_0x2dff6b,_0x41c5b9){const _0x4e5715=a0_0x52964c,_0x23a903={'Vlord':function(_0xc0375e,_0x4c4e5c){return _0xc0375e+_0x4c4e5c;},'qnKzo':function(_0x3b92e1,_0x1a60cc){return _0x3b92e1(_0x1a60cc);}},_0x3df2a7=new Date(_0x2dff6b);if(isNaN(_0x3df2a7['getTime']()))return console[_0x4e5715(0x16f)]('Invalid\x20timestamp\x20value:\x20'+_0x2dff6b),_0x2dff6b;const _0x44fbdf=String(_0x3df2a7[_0x4e5715(0x173)]())['padStart'](0x2,'0'),_0x19af6a=String(_0x23a903[_0x4e5715(0x16b)](_0x3df2a7['getMonth'](),0x1))['padStart'](0x2,'0'),_0x361d07=_0x3df2a7['getFullYear'](),_0x3b3dc5=String(_0x3df2a7[_0x4e5715(0x16a)]())['padStart'](0x2,'0'),_0x2bbe6c=_0x23a903['qnKzo'](String,_0x3df2a7['getMinutes']())[_0x4e5715(0x168)](0x2,'0'),_0x41e27e=String(_0x3df2a7['getSeconds']())[_0x4e5715(0x168)](0x2,'0'),_0x24f5fa=_0x41c5b9[_0x4e5715(0x167)]('\x20');if(_0x24f5fa['length']!==0x2)return _0x361d07+'-'+_0x19af6a+'-'+_0x44fbdf+'\x20'+_0x3b3dc5+':'+_0x2bbe6c+':'+_0x41e27e;const _0x452a9c=_0x24f5fa[0x0],_0x42b869=_0x24f5fa[0x1],_0x40a71c={'dd/MM/yyyy':_0x44fbdf+'/'+_0x19af6a+'/'+_0x361d07,'dd-MM-yyyy':_0x44fbdf+'-'+_0x19af6a+'-'+_0x361d07,'MM/dd/yyyy':_0x19af6a+'/'+_0x44fbdf+'/'+_0x361d07,'yyyy/MM/dd':_0x361d07+'/'+_0x19af6a+'/'+_0x44fbdf,'yyyy-MM-dd':_0x361d07+'-'+_0x19af6a+'-'+_0x44fbdf},_0x31dc36={'HH:mm':_0x3b3dc5+':'+_0x2bbe6c,'HH:mm:ss':_0x3b3dc5+':'+_0x2bbe6c+':'+_0x41e27e,'hh:mm':_0x3b3dc5+':'+_0x2bbe6c},_0x13754b=_0x40a71c[_0x452a9c]||_0x361d07+'-'+_0x19af6a+'-'+_0x44fbdf,_0x1ece46=_0x31dc36[_0x42b869]||_0x3b3dc5+':'+_0x2bbe6c+':'+_0x41e27e;return _0x13754b+'\x20'+_0x1ece46;}static[a0_0x52964c(0x17b)](_0x2ebebd,_0x188b39){const _0x4b5568=a0_0x52964c,_0x23acf2={'exHBr':function(_0x34188b,_0xc96565){return _0x34188b!==_0xc96565;}};if(_0x23acf2[_0x4b5568(0x172)](typeof _0x2ebebd,'string'))return _0x2ebebd;const _0xafd948=_0x2ebebd['split'](':');if(_0xafd948['length']<0x2)return console['warn']('Invalid\x20time\x20value:\x20'+_0x2ebebd),_0x2ebebd;const _0x471590=_0xafd948[0x0]['padStart'](0x2,'0'),_0x498f23=_0xafd948[0x1]['padStart'](0x2,'0'),_0x54c3d1=_0xafd948[0x2]?_0xafd948[0x2][_0x4b5568(0x167)]('.')[0x0][_0x4b5568(0x168)](0x2,'0'):'00',_0x202860={'HH:mm':_0x471590+':'+_0x498f23,'HH:mm:ss':_0x471590+':'+_0x498f23+':'+_0x54c3d1,'hh:mm':_0x471590+':'+_0x498f23};return _0x202860[_0x188b39]||_0x471590+':'+_0x498f23+':'+_0x54c3d1;}}function a0_0xab49(_0x46dbc5,_0x4d562a){_0x46dbc5=_0x46dbc5-0x165;const _0x126379=a0_0x1263();let _0xab498d=_0x126379[_0x46dbc5];if(a0_0xab49['MrKzXO']===undefined){var _0x4a8bfa=function(_0x273c8f){const _0x2b67e3='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1cf8d0='',_0x1ca44e='';for(let _0x1e82ee=0x0,_0xc1ebc2,_0x55fc3f,_0x1c1cf3=0x0;_0x55fc3f=_0x273c8f['charAt'](_0x1c1cf3++);~_0x55fc3f&&(_0xc1ebc2=_0x1e82ee%0x4?_0xc1ebc2*0x40+_0x55fc3f:_0x55fc3f,_0x1e82ee++%0x4)?_0x1cf8d0+=String['fromCharCode'](0xff&_0xc1ebc2>>(-0x2*_0x1e82ee&0x6)):0x0){_0x55fc3f=_0x2b67e3['indexOf'](_0x55fc3f);}for(let _0x186e3e=0x0,_0x22f52c=_0x1cf8d0['length'];_0x186e3e<_0x22f52c;_0x186e3e++){_0x1ca44e+='%'+('00'+_0x1cf8d0['charCodeAt'](_0x186e3e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1ca44e);};a0_0xab49['RDgAaj']=_0x4a8bfa,a0_0xab49['VlsUwR']={},a0_0xab49['MrKzXO']=!![];}const _0x4cb3cf=_0x126379[0x0],_0x260f7b=_0x46dbc5+_0x4cb3cf,_0x370dd3=a0_0xab49['VlsUwR'][_0x260f7b];return!_0x370dd3?(_0xab498d=a0_0xab49['RDgAaj'](_0xab498d),a0_0xab49['VlsUwR'][_0x260f7b]=_0xab498d):_0xab498d=_0x370dd3,_0xab498d;}module['exports']=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_0x38f031=a0_0x3af0;function a0_0x3af0(_0xacfa79,_0x2597ce){_0xacfa79=_0xacfa79-0x1d8;const _0x5d5f66=a0_0x5d5f();let _0x3af010=_0x5d5f66[_0xacfa79];if(a0_0x3af0['SQkukw']===undefined){var _0x310fd6=function(_0x251b6f){const _0x1182bc='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x373ed6='',_0xc334a8='';for(let _0x55c7bd=0x0,_0x38c31a,_0x27ca58,_0x424294=0x0;_0x27ca58=_0x251b6f['charAt'](_0x424294++);~_0x27ca58&&(_0x38c31a=_0x55c7bd%0x4?_0x38c31a*0x40+_0x27ca58:_0x27ca58,_0x55c7bd++%0x4)?_0x373ed6+=String['fromCharCode'](0xff&_0x38c31a>>(-0x2*_0x55c7bd&0x6)):0x0){_0x27ca58=_0x1182bc['indexOf'](_0x27ca58);}for(let _0x19503d=0x0,_0x41f45e=_0x373ed6['length'];_0x19503d<_0x41f45e;_0x19503d++){_0xc334a8+='%'+('00'+_0x373ed6['charCodeAt'](_0x19503d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xc334a8);};a0_0x3af0['rTvLqO']=_0x310fd6,a0_0x3af0['IQJxbj']={},a0_0x3af0['SQkukw']=!![];}const _0x3d81b6=_0x5d5f66[0x0],_0xb64673=_0xacfa79+_0x3d81b6,_0x242ff6=a0_0x3af0['IQJxbj'][_0xb64673];return!_0x242ff6?(_0x3af010=a0_0x3af0['rTvLqO'](_0x3af010),a0_0x3af0['IQJxbj'][_0xb64673]=_0x3af010):_0x3af010=_0x242ff6,_0x3af010;}(function(_0x2f10f9,_0x243915){const _0x5a3f50=a0_0x3af0,_0x2a9d41=_0x2f10f9();while(!![]){try{const _0x27d6c1=parseInt(_0x5a3f50(0x1d9))/0x1*(parseInt(_0x5a3f50(0x1ec))/0x2)+parseInt(_0x5a3f50(0x1dc))/0x3*(-parseInt(_0x5a3f50(0x1fb))/0x4)+parseInt(_0x5a3f50(0x1de))/0x5*(parseInt(_0x5a3f50(0x1e3))/0x6)+-parseInt(_0x5a3f50(0x1e1))/0x7+-parseInt(_0x5a3f50(0x1f2))/0x8*(parseInt(_0x5a3f50(0x1f5))/0x9)+parseInt(_0x5a3f50(0x1df))/0xa+parseInt(_0x5a3f50(0x1f0))/0xb*(parseInt(_0x5a3f50(0x1da))/0xc);if(_0x27d6c1===_0x243915)break;else _0x2a9d41['push'](_0x2a9d41['shift']());}catch(_0x135131){_0x2a9d41['push'](_0x2a9d41['shift']());}}}(a0_0x5d5f,0xa4cb4));function a0_0x5d5f(){const _0x55c593=['zxHWB3j0CW','mtmWnJCWzw5sA21Z','EwvHCG','yvrTvuS','vfzzDu8','nJe5mdi1mePOuKLdDW','ugDfueC','mJa4mtzkuNDnEuW','DgLTzxn0yw1W','D2fYBG','mZCZnxjmuujvza','CgfYC2veyxrL','rxjYB3iGCgfYC2LUzYbKyxrLDgLTztOG','zxjYB3i','s0nLwhO','CgfYC2u','mtuWntGXnKjfrgTvwq','Bw9UDgG','mvbnC1HNqW','ndH5y2jIzxq','C3bSAxq','m1rnsNn2wq','Bwf0y2G','nu1ZwKjZAW','ntK1odGXmhLXrKzmCa','seG6Bw06C3m','odqWodCWmwDdz2DbyG','seG6Bw0','mJuYmtG0mKHMB0DICq','oJaW','zM9YrwfJAa','uKT2C1C','zKfTB1m','yLbTrfO','Bu5XqNy','zgf5'];a0_0x5d5f=function(){return _0x55c593;};return a0_0x5d5f();}class DateTimeParser{static[a0_0x38f031(0x1fa)](_0x9f3b08,_0x24aa51,_0x233ffc){const _0xfcc570=a0_0x38f031,_0x4ffb30={'ridCR':function(_0x4e66c6,_0x31d4ca){return _0x4e66c6===_0x31d4ca;},'bPmDZ':_0xfcc570(0x1f3),'SDmoq':'time'};if(!_0x9f3b08||_0x9f3b08==='')return null;try{if(_0x233ffc==='date')return this[_0xfcc570(0x1f6)](_0x9f3b08,_0x24aa51);else{if(_0x4ffb30['ridCR'](_0x233ffc,_0x4ffb30[_0xfcc570(0x1e8)]))return this['parseTimestamp'](_0x9f3b08,_0x24aa51);else{if(_0x233ffc===_0x4ffb30['SDmoq'])return this['parseTime'](_0x9f3b08,_0x24aa51);}}return _0x9f3b08;}catch(_0x5dd329){return console[_0xfcc570(0x1f8)](_0xfcc570(0x1f7)+_0x5dd329['message']),null;}}static[a0_0x38f031(0x1f6)](_0x2e9118,_0x1cca88){const _0x41e318=a0_0x38f031,_0xd6fad2={'mNqBv':function(_0x2e048c,_0x5282d5){return _0x2e048c===_0x5282d5;},'SizED':'yyyy-MM-dd','TVYuO':'month','RKvsW':_0x41e318(0x1ed),'fAmoS':_0x41e318(0x1ea)};if(!_0x1cca88||_0xd6fad2[_0x41e318(0x1e9)](_0x1cca88,_0xd6fad2['SizED']))return _0x2e9118;const _0x1080ff={'dd/MM/yyyy':{'pattern':/^(\d{2})\/(\d{2})\/(\d{4})$/,'order':['day',_0xd6fad2[_0x41e318(0x1ef)],_0xd6fad2[_0x41e318(0x1e6)]]},'dd-MM-yyyy':{'pattern':/^(\d{2})-(\d{2})-(\d{4})$/,'order':['day',_0xd6fad2['TVYuO'],'year']},'MM/dd/yyyy':{'pattern':/^(\d{2})\/(\d{2})\/(\d{4})$/,'order':[_0xd6fad2['TVYuO'],_0xd6fad2[_0x41e318(0x1e7)],_0xd6fad2[_0x41e318(0x1e6)]]},'yyyy/MM/dd':{'pattern':/^(\d{4})\/(\d{2})\/(\d{2})$/,'order':[_0xd6fad2['RKvsW'],_0x41e318(0x1d8),'day']}},_0x511d76=_0x1080ff[_0x1cca88];if(!_0x511d76)return console['warn']('Unknown\x20date\x20format:\x20'+_0x1cca88+',\x20returning\x20null'),null;const _0x2d7e8b=_0x2e9118[_0x41e318(0x1dd)](_0x511d76['pattern']);if(!_0x2d7e8b)return console[_0x41e318(0x1f4)]('Date\x20value\x20\x22'+_0x2e9118+'\x22\x20doesn\x27t\x20match\x20format\x20\x22'+_0x1cca88+'\x22'),null;const _0x3fa4f7={'day':null,'month':null,'year':null};return _0x511d76['order'][_0x41e318(0x1e5)]((_0xe9d317,_0x10abe7)=>{_0x3fa4f7[_0xe9d317]=_0x2d7e8b[_0x10abe7+0x1];}),_0x3fa4f7[_0x41e318(0x1ed)]+'-'+_0x3fa4f7[_0x41e318(0x1d8)]+'-'+_0x3fa4f7['day'];}static['parseTimestamp'](_0x140857,_0x12c294){const _0x24e009=a0_0x38f031,_0x2f1be1={'PgEPG':function(_0x3f0c91,_0x4b49cf){return _0x3f0c91===_0x4b49cf;},'aTmUK':'yyyy-MM-dd\x20HH:mm:ss','Ppbto':function(_0x42e981,_0x3b04dd){return _0x42e981!==_0x3b04dd;}};if(!_0x12c294||_0x2f1be1[_0x24e009(0x1f1)](_0x12c294,_0x2f1be1[_0x24e009(0x1ee)]))return _0x140857;const _0x52d139=_0x140857['split']('\x20');if(_0x2f1be1['Ppbto'](_0x52d139['length'],0x2))return console[_0x24e009(0x1f4)]('Invalid\x20timestamp\x20format:\x20'+_0x140857),null;const [_0x3aa550,_0x46893c]=_0x52d139,_0x58df52=_0x12c294[_0x24e009(0x1db)]('\x20')[0x0],_0x460e82=this['parseDate'](_0x3aa550,_0x58df52);if(!_0x460e82)return null;const _0x1eccc8=_0x46893c['split'](':')['length']===0x2?_0x46893c+_0x24e009(0x1e4):_0x46893c;return _0x460e82+'\x20'+_0x1eccc8;}static['parseTime'](_0x5a981a,_0x15270b){const _0x27a490=a0_0x38f031,_0x1d4294={'KCeXz':function(_0x505cd5,_0x39a5d8){return _0x505cd5===_0x39a5d8;},'eYRkz':_0x27a490(0x1e2)};if(!_0x15270b||_0x15270b===_0x27a490(0x1e0))return _0x5a981a;if(_0x1d4294[_0x27a490(0x1f9)](_0x15270b,_0x1d4294['eYRkz'])){if(_0x5a981a[_0x27a490(0x1dd)](/^\d{2}:\d{2}$/))return _0x5a981a+':00';}return _0x5a981a;}}module[a0_0x38f031(0x1eb)]=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_0xcd4c75=a0_0x1305;function a0_0x5a8b(){const _0x1f4e01=['ndjqmde','ndm4mdy2DK1bzeDx','vhHltLO','mZu2mtmYvMvwq25u','BxmSia','q3jLyxrPBMCGBMv3igrHDgfIyxnLihbVB2WGkhbYzxzPB3vZihbVB2WGD2fZignSB3nLzcK','mteWnJq3nK9AuuHQyW','zg16suO','CM9SBgjHy2TFzxjYB3i','BMnwr3O','nda1mtq0AuHlwKPz','tM8Gzgf0ysbMB3vUzc4','CMvSzwfZzq','Cg9ZDgDYzxmXmJm0','BgvUz3rO','vefctevFtK9ux0zpvu5e','Ag9ZDa','zxHWB3j0CW','rxjYB3iGCM9SBgLUzYbIywnRihrYyw5Zywn0Aw9UoIa','qKvhsu4','y29Kzq','C3rHCNq','DKHKrwK','q09otKvdveLptL9fuLjpuG','rejFse9tva','zgjFCg9VBf9HBhjLywr5x2nSB3nLza','CgfYyw1Z','ihjVDW','rgf0ywjHC2uGCg9VBcb3yxmGywXYzwfKEsbJBg9Zzwq','qvvusevoveLdqvrjt05Frvjst1i','zxjYB3i','mJa2muPsy01ZyW','zvb6rLa','ntqZmG','DhjHBNnHy3rPB25Fy29TCgXLDgu','zgf0ywjHC2u','se9Pthe','C3LUDgf4igvYCM9Y','mJiWndyWB2T3qxnQ','uxvLCNKGCMv0DxjUzwqG','mZi2mZaWzwjIA1zr','v2joq2i','CM93q291BNq','mdGWmde','tMHYD0C','v3vWBfa','uK9mtejbq0S','q09ntuLu','DLLcqNm','DwrMvfe','CxvLCNK','rejFue9sva','ANvIu1q','mtC4nZjsA09mufa','CM93CW','C3fS','zgjFy29UBMvJDgLVBL9JAgvJA19LCNjVCG','zgjFCg9VBf9YzwnYzwf0zq','wePbreO','y29UBMvJDa','z21MCxu','rejFtKfnrq','mtvcDhbKvgO','BNDRyxa','zw52','Aw5JBhvKzxm','vhjHBNnHy3rPB24Gy29TBwL0DgvKicG','BwvZC2fNzq','uM9fru0','Cg9ZDgDYzxnXBa'];a0_0x5a8b=function(){return _0x1f4e01;};return a0_0x5a8b();}(function(_0x4f8af6,_0x56bf1f){const _0x3b825c=a0_0x1305,_0x4e8391=_0x4f8af6();while(!![]){try{const _0x1bca8c=-parseInt(_0x3b825c(0x127))/0x1+-parseInt(_0x3b825c(0x14a))/0x2+-parseInt(_0x3b825c(0x151))/0x3+parseInt(_0x3b825c(0x129))/0x4+parseInt(_0x3b825c(0x13f))/0x5*(parseInt(_0x3b825c(0x148))/0x6)+-parseInt(_0x3b825c(0x14d))/0x7+-parseInt(_0x3b825c(0x136))/0x8*(-parseInt(_0x3b825c(0x120))/0x9);if(_0x1bca8c===_0x56bf1f)break;else _0x4e8391['push'](_0x4e8391['shift']());}catch(_0x99936f){_0x4e8391['push'](_0x4e8391['shift']());}}}(a0_0x5a8b,0x1d6e8));const {Pool}=require('pg'),{logQuery,logTransaction,startQueryTimer,logDatabaseConfig,logger,logError}=require('./logger'),dbConfig={'host':process['env'][a0_0xcd4c75(0x119)]||'192.168.100.1','port':parseInt(process[a0_0xcd4c75(0x141)][a0_0xcd4c75(0x134)]||a0_0xcd4c75(0x122)),'user':process['env']['DB_USER']||'postgres','password':process['env']['DB_PASSWORD']||a0_0xcd4c75(0x154),'database':process['env'][a0_0xcd4c75(0x13e)]||'dbxa03'};logDatabaseConfig({'host':dbConfig[a0_0xcd4c75(0x111)],'port':dbConfig['port'],'database':dbConfig[a0_0xcd4c75(0x124)],'type':a0_0xcd4c75(0x146),'user':dbConfig['user']});let pool=new Pool(dbConfig),isPoolClosed=![];function a0_0x1305(_0x517d2a,_0x57f019){_0x517d2a=_0x517d2a-0x111;const _0x5a8b2d=a0_0x5a8b();let _0x1305e1=_0x5a8b2d[_0x517d2a];if(a0_0x1305['WuUOcq']===undefined){var _0xfeadb=function(_0x8c997a){const _0x4adaf7='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5e3ed2='',_0x3b4d42='';for(let _0x5a3e62=0x0,_0x1d7b97,_0x33d946,_0x30bec0=0x0;_0x33d946=_0x8c997a['charAt'](_0x30bec0++);~_0x33d946&&(_0x1d7b97=_0x5a3e62%0x4?_0x1d7b97*0x40+_0x33d946:_0x33d946,_0x5a3e62++%0x4)?_0x5e3ed2+=String['fromCharCode'](0xff&_0x1d7b97>>(-0x2*_0x5a3e62&0x6)):0x0){_0x33d946=_0x4adaf7['indexOf'](_0x33d946);}for(let _0x30d33f=0x0,_0x32ff24=_0x5e3ed2['length'];_0x30d33f<_0x32ff24;_0x30d33f++){_0x3b4d42+='%'+('00'+_0x5e3ed2['charCodeAt'](_0x30d33f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3b4d42);};a0_0x1305['nNstDP']=_0xfeadb,a0_0x1305['vuaRCn']={},a0_0x1305['WuUOcq']=!![];}const _0x5e7f00=_0x5a8b2d[0x0],_0x41c4c3=_0x517d2a+_0x5e7f00,_0x5ca747=a0_0x1305['vuaRCn'][_0x41c4c3];return!_0x5ca747?(_0x1305e1=a0_0x1305['nNstDP'](_0x1305e1),a0_0x1305['vuaRCn'][_0x41c4c3]=_0x1305e1):_0x1305e1=_0x5ca747,_0x1305e1;}function getPool(){const _0x599b48=a0_0xcd4c75,_0x2ac214={'dmzIJ':_0x599b48(0x13a),'WuplP':_0x599b48(0x14c)};return isPoolClosed&&(logger['info']({'event':_0x2ac214[_0x599b48(0x14e)]},_0x2ac214[_0x599b48(0x12e)]),pool=new Pool(dbConfig),isPoolClosed=![]),pool;}async function executeQuery(_0x5d6593,_0x5ce1ed=[]){const _0x11552b=a0_0xcd4c75,_0x2823e3={'ePzFP':_0x11552b(0x146),'mJuSu':function(_0x3a704d){return _0x3a704d();},'XJADJ':function(_0x26e7d7,_0x51c938,_0x4d76ee,_0x183797){return _0x26e7d7(_0x51c938,_0x4d76ee,_0x183797);},'TxKNZ':'sql_error'},_0x4d4d64=startQueryTimer();try{const _0x576421=getPool(),_0x3381a0=await _0x576421[_0x11552b(0x13c)]();try{const _0x18eae7=await _0x3381a0[_0x11552b(0x133)](_0x5d6593,_0x5ce1ed),_0x3633a2=_0x4d4d64();return logQuery(_0x5d6593,_0x5ce1ed,{'duration':_0x3633a2,'rowsAffected':_0x18eae7['rowCount'],'dbType':_0x2823e3[_0x11552b(0x121)]}),_0x18eae7[_0x11552b(0x137)];}finally{_0x3381a0[_0x11552b(0x153)]();}}catch(_0x59b122){const _0xf7e3c9=_0x2823e3['mJuSu'](_0x4d4d64);_0x2823e3[_0x11552b(0x13b)](logError,_0x59b122,{'event':_0x2823e3[_0x11552b(0x149)],'query':_0x5d6593['substring'](0x0,0x1f4),'paramCount':_0x5ce1ed['length'],'durationMs':_0xf7e3c9,'code':_0x59b122[_0x11552b(0x115)],'dbType':_0x2823e3[_0x11552b(0x121)]},'SQL\x20Error:\x20'+_0x59b122['message']);throw _0x59b122;}}function formatResponse(_0x4494cb,_0x66d3c3=null){const _0xef7608=a0_0xcd4c75,_0x37d6a6={'fBmNz':'UNKNOWN_ERROR','NhrwG':_0xef7608(0x126),'rYpcG':'SYNTAX_ERROR','JYTIH':function(_0x1ba541,_0x56875d){return _0x1ba541===_0x56875d;},'gfOci':_0xef7608(0x147),'maJfe':function(_0x315588,_0x2712a1){return _0x315588===_0x2712a1;},'AewyL':'08006','DHfKP':function(_0x5c67d2,_0x51a474){return _0x5c67d2===_0x51a474;},'ahbGS':function(_0x811fc3,_0x31841e){return _0x811fc3===_0x31841e;}};if(_0x66d3c3){let _0x537a75=_0x37d6a6['fBmNz'];if(_0x66d3c3['message'][_0xef7608(0x142)](_0x37d6a6[_0xef7608(0x12d)]))_0x537a75=_0x37d6a6['rYpcG'];else{if(_0x37d6a6['JYTIH'](_0x66d3c3[_0xef7608(0x115)],_0x37d6a6['gfOci']))_0x537a75=_0xef7608(0x156);else{if(_0x66d3c3['code']==='28P01')_0x537a75=_0xef7608(0x11e);else(_0x37d6a6['maJfe'](_0x66d3c3['code'],_0x37d6a6['AewyL'])||_0x37d6a6['maJfe'](_0x66d3c3[_0xef7608(0x115)],_0xef7608(0x12c)))&&(_0x537a75=_0xef7608(0x118));}}return{'success':![],'message':'Database\x20error:\x20'+_0x66d3c3[_0xef7608(0x144)],'count':-0x1,'error_code':_0x537a75};}else{if(!_0x4494cb||_0x37d6a6['DHfKP'](_0x4494cb[_0xef7608(0x155)],0x0))return{'success':!![],'message':_0xef7608(0x152),'count':0x0,'data':[]};return{'success':!![],'message':_0xef7608(0x128)+_0x4494cb['length']+_0xef7608(0x11c)+(_0x37d6a6['ahbGS'](_0x4494cb['length'],0x1)?'':'s')+'.','count':_0x4494cb['length'],'data':_0x4494cb};}}async function closePool(){const _0x39f586=a0_0xcd4c75,_0x1d438a={'jubST':'Database\x20pool\x20closed\x20successfully','udfTQ':'db_pool_close_error','ueWKm':_0x39f586(0x11a)};if(!isPoolClosed)try{isPoolClosed=!![],await pool['end'](),logger['info']({'event':'db_pool_closed'},_0x1d438a[_0x39f586(0x135)]);}catch(_0x3ee7fc){logError(_0x3ee7fc,{'event':_0x1d438a[_0x39f586(0x132)]},'Error\x20closing\x20database\x20pool:\x20'+_0x3ee7fc[_0x39f586(0x144)]);}else logger['debug']({'event':_0x1d438a['ueWKm']},_0x39f586(0x11d));}async function checkConnection(){const _0x159a96=a0_0xcd4c75,_0x465079={'WbNCb':function(_0x4f6f0d){return _0x4f6f0d();},'pjKiH':function(_0x4a54ad,_0x8f4823,_0x151f5b,_0x47af1d){return _0x4a54ad(_0x8f4823,_0x151f5b,_0x47af1d);}};try{const _0x517332=_0x465079[_0x159a96(0x12a)](getPool),_0x5ac96f=await _0x517332['connect']();try{return await _0x5ac96f['query']('SELECT\x201'),!![];}finally{_0x5ac96f[_0x159a96(0x153)]();}}catch(_0x1c3c4c){return _0x465079['pjKiH'](logError,_0x1c3c4c,{'event':_0x159a96(0x139)},'Error\x20checking\x20database\x20connection:\x20'+_0x1c3c4c[_0x159a96(0x144)]),![];}}async function executeTransaction(_0x200726){const _0x546465=a0_0xcd4c75,_0x7d88fa={'gmfqu':function(_0x3c8784,_0x22a407,_0x450f95){return _0x3c8784(_0x22a407,_0x450f95);},'nwkap':function(_0x30cc8a){return _0x30cc8a();},'pWIjN':_0x546465(0x130),'HOiLq':'commit','vHdEi':_0x546465(0x146),'nmMtv':function(_0x4c82cf,_0x1fc9bc,_0x31a6f4,_0x869b93){return _0x4c82cf(_0x1fc9bc,_0x31a6f4,_0x869b93);},'RoEEM':_0x546465(0x12f),'PdJcK':'rollback','vYBBs':function(_0x44595b,_0x2dd695,_0x9a5785,_0x317c8c){return _0x44595b(_0x2dd695,_0x9a5785,_0x317c8c);},'ncVGz':_0x546465(0x14f),'MyhlU':'client_release_error'};let _0x15432a;const _0x52deff=startQueryTimer();try{const _0x1c4f02=getPool();_0x15432a=await _0x1c4f02['connect'](),_0x7d88fa[_0x546465(0x13d)](logTransaction,_0x546465(0x116),_0x200726['length']),await _0x15432a['query'](_0x546465(0x114));const _0x23845c=[];for(const _0x1ff882 of _0x200726){const _0x47a940=_0x7d88fa[_0x546465(0x140)](startQueryTimer),_0x2f69cd=await _0x15432a['query'](_0x1ff882[_0x546465(0x138)],_0x1ff882['params']||[]),_0x3ad13e=_0x7d88fa['nwkap'](_0x47a940);logQuery(_0x1ff882['sql'],_0x1ff882[_0x546465(0x11b)]||[],{'duration':_0x3ad13e,'rowsAffected':_0x2f69cd[_0x546465(0x12b)],'dbType':_0x546465(0x146)}),_0x23845c['push'](_0x2f69cd['rows']);}await _0x15432a['query'](_0x7d88fa['pWIjN']);const _0x394162=_0x7d88fa['nwkap'](_0x52deff);return _0x7d88fa[_0x546465(0x13d)](logTransaction,_0x7d88fa[_0x546465(0x125)],_0x200726[_0x546465(0x155)]),logger['info']({'event':_0x546465(0x123),'queryCount':_0x200726[_0x546465(0x155)],'totalDurationMs':_0x394162,'dbType':_0x7d88fa[_0x546465(0x117)]},_0x546465(0x143)+_0x394162+_0x546465(0x14b)+_0x200726[_0x546465(0x155)]+'\x20queries)'),_0x23845c;}catch(_0x33ecd9){const _0x2b0574=_0x52deff();_0x7d88fa['nmMtv'](logError,_0x33ecd9,{'event':'transaction_error','queryCount':_0x200726['length'],'totalDurationMs':_0x2b0574,'code':_0x33ecd9[_0x546465(0x115)],'dbType':'postgresql'},'Transaction\x20failed:\x20'+_0x33ecd9['message']);if(_0x15432a)try{await _0x15432a[_0x546465(0x133)](_0x7d88fa[_0x546465(0x145)]),logTransaction(_0x7d88fa['PdJcK'],_0x200726[_0x546465(0x155)]);}catch(_0x53ed62){_0x7d88fa[_0x546465(0x131)](logError,_0x53ed62,{'event':_0x7d88fa[_0x546465(0x150)],'dbType':_0x7d88fa[_0x546465(0x117)]},_0x546465(0x113)+_0x53ed62[_0x546465(0x144)]);}throw _0x33ecd9;}finally{if(_0x15432a)try{_0x15432a['release']();}catch(_0x1ccb14){logger[_0x546465(0x11f)]({'event':_0x7d88fa['MyhlU'],'error':_0x1ccb14[_0x546465(0x144)],'dbType':_0x7d88fa['vHdEi']},'Error\x20releasing\x20transaction\x20client:\x20'+_0x1ccb14[_0x546465(0x144)]);}}}module[a0_0xcd4c75(0x112)]={'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_0x369009=a0_0x1705;(function(_0x5bf246,_0x48aa9a){const _0x3129dc=a0_0x1705,_0x42576d=_0x5bf246();while(!![]){try{const _0x45928d=-parseInt(_0x3129dc(0xda))/0x1*(-parseInt(_0x3129dc(0xdd))/0x2)+parseInt(_0x3129dc(0xc5))/0x3+-parseInt(_0x3129dc(0x151))/0x4*(parseInt(_0x3129dc(0x13a))/0x5)+parseInt(_0x3129dc(0xf3))/0x6*(-parseInt(_0x3129dc(0x147))/0x7)+-parseInt(_0x3129dc(0x12f))/0x8*(parseInt(_0x3129dc(0x12d))/0x9)+parseInt(_0x3129dc(0xf2))/0xa+parseInt(_0x3129dc(0x145))/0xb*(parseInt(_0x3129dc(0x160))/0xc);if(_0x45928d===_0x48aa9a)break;else _0x42576d['push'](_0x42576d['shift']());}catch(_0x4e803e){_0x42576d['push'](_0x42576d['shift']());}}}(a0_0x495a,0x5e340));const pino=require('pino'),fs=require('fs'),path=require(a0_0x369009(0x133));let logToFile=![],logDir=a0_0x369009(0x17e),serviceName=a0_0x369009(0x13c),sqlLogEnabled=![],sqlLogLevel=a0_0x369009(0x14f),sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':a0_0x369009(0xcf),'ignore':a0_0x369009(0x17b),'singleLine':![],'levelFirst':!![],'messageFormat':a0_0x369009(0x106),'customColors':'info:blue,warn:yellow,error:red,debug:gray','hideObject':!![]},isDevelopment=process[a0_0x369009(0x171)][a0_0x369009(0x14a)]!=='production',logLevel=process[a0_0x369009(0x171)]['LOG_LEVEL']||a0_0x369009(0x186);let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':'pino-pretty','options':prettyPrintOptions}:undefined,'base':{'service':'restforge','version':process[a0_0x369009(0x171)][a0_0x369009(0x138)]||a0_0x369009(0x120),'env':process[a0_0x369009(0x171)][a0_0x369009(0x14a)]||a0_0x369009(0xc7)},'timestamp':pino[a0_0x369009(0x10c)]['isoTime'],'redact':{'paths':['req.headers.authorization','req.headers[\x22x-api-key\x22]','password',a0_0x369009(0x153),a0_0x369009(0xc4),'DB_PASSWORD','JWT_SECRET'],'censor':'[REDACTED]'},'serializers':{'req':_0x2c3de6=>({'id':_0x2c3de6['id'],'method':_0x2c3de6[a0_0x369009(0x17f)],'url':_0x2c3de6['url'],'path':_0x2c3de6['path'],'remoteAddress':_0x2c3de6['ip']||_0x2c3de6[a0_0x369009(0xd8)]?.[a0_0x369009(0xfe)]}),'res':_0x3d988b=>({'statusCode':_0x3d988b['statusCode'],'headers':_0x3d988b['getHeaders']?.()}),'err':pino[a0_0x369009(0x183)]['err']}});function initFileLogging(){const _0x568ac5=a0_0x369009,_0x40a749={'DByje':function(_0x583c4b,_0x943d35){return _0x583c4b===_0x943d35;},'gWSTa':_0x568ac5(0x17e),'eeURZ':'restforge','fHCKW':'debug','zSdvi':_0x568ac5(0xeb),'cTMeM':'error.log','IpqRK':_0x568ac5(0x186)};if(fileLoggingInitialized)return;logToFile=_0x40a749[_0x568ac5(0x173)](process[_0x568ac5(0x171)][_0x568ac5(0xdf)],'true'),logDir=process[_0x568ac5(0x171)]['LOG_DIR']||_0x40a749[_0x568ac5(0x14e)],serviceName=process[_0x568ac5(0x171)][_0x568ac5(0x137)]||_0x40a749['eeURZ'],sqlLogEnabled=process[_0x568ac5(0x171)]['SQL_LOG_ENABLED']===_0x568ac5(0xcc),sqlLogLevel=process[_0x568ac5(0x171)][_0x568ac5(0x159)]||_0x40a749['fHCKW'],sqlLogParams=process[_0x568ac5(0x171)][_0x568ac5(0x14d)]!==_0x40a749['zSdvi'],sqlLogSlowThreshold=parseInt(process['env'][_0x568ac5(0x152)])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0xebb573=path[_0x568ac5(0x172)](process[_0x568ac5(0x144)](),logDir);try{!fs[_0x568ac5(0x11d)](_0xebb573)&&fs[_0x568ac5(0x16c)](_0xebb573,{'recursive':!![]});}catch(_0x2bf8c9){console[_0x568ac5(0x18a)](_0x568ac5(0x181)+_0xebb573+':',_0x2bf8c9[_0x568ac5(0xe9)]),fileLoggingInitialized=!![];return;}const _0x2d85cf=path['join'](_0xebb573,_0x568ac5(0x164)),_0x217779=path[_0x568ac5(0x178)](_0xebb573,_0x568ac5(0x161));try{appLogStream=fs[_0x568ac5(0xdc)](_0x2d85cf,{'flags':'a'}),errorLogStream=fs['createWriteStream'](_0x217779,{'flags':'a'}),fileLoggingInitialized=!![];const _0x4e75d9={'event':_0x568ac5(0xec),'logDir':_0xebb573,'files':['app.log',_0x40a749[_0x568ac5(0xe4)]]},_0x274558='File\x20logging\x20enabled:\x20'+_0xebb573;logger['info'](_0x4e75d9,_0x274558),writeToFileLog({..._0x4e75d9,'level':_0x40a749[_0x568ac5(0x100)],'msg':_0x274558,'time':new Date()['toISOString']()},_0x40a749[_0x568ac5(0x100)]);}catch(_0x5f4b19){console['error']('Failed\x20to\x20create\x20log\x20streams:',_0x5f4b19['message']),fileLoggingInitialized=!![];}}function writeToFileLog(_0x4d0d68,_0x506187){const _0x80d9c8=a0_0x369009,_0x4f927c={'UUkqz':function(_0x35f594,_0x8b8b1){return _0x35f594+_0x8b8b1;},'Luznv':function(_0x30d3a4,_0x472ec3){return _0x30d3a4===_0x472ec3;},'qiOkJ':'error','qOIft':_0x80d9c8(0x187)};if(!logToFile||!appLogStream)return;const _0x4f377d={'service':serviceName,..._0x4d0d68},_0x1ed5df=_0x4f927c[_0x80d9c8(0x101)](JSON[_0x80d9c8(0x12c)](_0x4f377d),'\x0a');appLogStream[_0x80d9c8(0x148)](_0x1ed5df),(_0x4f927c['Luznv'](_0x506187,_0x4f927c[_0x80d9c8(0xcd)])||_0x4f927c[_0x80d9c8(0x140)](_0x506187,_0x4f927c[_0x80d9c8(0x141)]))&&(errorLogStream&&errorLogStream['write'](_0x1ed5df));}function a0_0x495a(){const _0x40727d=['ntG3ndKWy1PizunT','qM1ZzNO','zgv2zwXVCg1LBNq','rermx0fmvevs','z2XVyMfSx2vYCM9Yx2HHBMrSzxjZx3nLDhvW','rermx0rst1a','Dg9mB3DLCKnHC2u','Dhj1zq','CwLpA0O','Cg9ZDgDYzxnXBa','u1LtoKHioK1noNnZ','D2fYBG','CgLU','BwfW','BxmP','AxnbCNjHEq','DxjS','CMvWBgfJzq','C3vIC3rYAw5N','y29UBMvJDgLVBG','tMLSr3m','mJmYnZa5C0rpz3zJ','r2XVyMfSigvYCM9YigHHBMrSzxjZigLUAxrPywXPEMvK','y3jLyxrLv3jPDgvtDhjLyw0','mMTWAwvtta','icdIHPiG','te9hx1rpx0zjteu','y2HPBgq','Ec1Yzxf1zxn0lwLK','BgvUz3rO','C2vYDMvYx3n0yxj0Aw5N','y1rnzu0','zgf0ywjHC2vFy29UzMLN','Dw5RBM93BG','wejrvvu','C3rHDhvZq29Kzq','BwvZC2fNzq','yxbPx2TLEq','zMfSC2u','zMLSzv9SB2DNAw5Nx2vUywjSzwq','C3nU','vwzSq1m','wvHpA0G','vfPrDNq','y3jLzgL0x2nHCMq','mJq3mdi5mezlqMnXwq','mJCWy1Hyuvfo','CMvMCMvZAf90B2TLBG','y3jLzgL0y2fYza','vvPYsfe','Ehj5ruS','ChjVAMvJDa','qKvhsu4','icbizwfSDgG6ia','rermx0nsrufurq','ChDK','CerYshi','CMvTB3rLqwrKCMvZCW','Dw5Oyw5KBgvKuMvQzwn0Aw9U','sxbXuKS','vvvRCxO','BLLPr3m','Cg9YDa','C3bSAxq','vu5ltK9xtG','E21Zz30','C3rYAw5N','DgvZDa','w1jfrefdvevexq','CgfZC3DVCMq','DxnLCI1Hz2vUDa','C3rKvgLTzuz1BMn0Aw9UCW','DKHLsLa','ChjPDMf0zv9RzxK','z1nADge','w1jfrefdveveoMHHC2HD','zvriuvy','DenYAKq','s3fzrfu','qMnztei','AgvHzgvYCW','tI9b','sfruuca','tM9Kzs5QCW','AxntBg93','rKfuquW6ia','yxbPA2v5','tev6q0C','zxHPC3rZu3LUyW','vfjbtLnbq1rjt05Fq09ntuLu','Ahr0Cf9Yzxf1zxn0','ms4WlJu','yxbPx3nLy3jLDa','vhjHBNnHy3rPB24G','Dxb0Aw1L','iokvKqRILzRILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILz0','iokvKqRILzeGifbVCNqGicaGicaGidOG','uK9mtejbq0S','t0nez1C','C2vJCMv0','DLzvuw4','zgjFCxvLCNK','reiGuxvLCNK','C3rYAw5NAwz5','ovnJwe9hCG','vvbeqvrf','nJaXnZuYmfDHyNH6uq','y3z2','A1PLque','qxnHD3O','Cgf0Aa','zhvYyxrPB25nCW','zgf0ywjHC2u','ic0G','u0vsvKLdrv9oqu1f','qvbqx1zfuLnjt04','B3rW','nJu0nJm1BgLMr3PS','uhjVy2vZCYbxyxjUAw5NoIa','CMvZDgzVCMDL','EM9pDwG','AgvHBhrOq2HLy2S','Ag9ZDa','thv6BNy','Cu9jzNq','Ahj0Aw1L','B2jQzwn0','y3DK','nde4otC5tLPLt1fL','Bw9KDwXL','mtG0mtDYAKD3rwS','D3jPDgu','w1jfrefdveveoNrVA2vUxq','tK9erv9ftLy','y0zgugm','C2vYDMvYx3jLywr5','u1fmx0Xpr19qqvjbtvm','z1Dtvge','zgvIDwC','sKHmrxO','mtzoANfIAe8','u1fmx0Xpr19tte9xx1riuKvtse9mra','Dg9Rzw4','tMHgDfG','ChjPDMf0zwTLEq','tLjyuKS','zxHPDa','u0vmrunu','u1fmx0Xpr19mrvzfta','C3rHy2S','C3rHCNrZv2L0Aa','y29Kzq','Aw56tMC','u2vYDMvYihn0yxj0Aw5NoIa','zw52AxjVBM1LBNq','mZq4vKj5B3LY','zxjYB3iUBg9N','wevgyKy','t1jOqwe','yxbWlMXVzW','Dw5JyxvNAhrfEgnLChrPB24','A2Litg8','C2vYDMLJzuLUzM8','rxjYB3i','Aw5JBhvKzxm','t2jzreS','vfjbtLnbq1rjt05FuK9mtejbq0S','BwTKAxjtEw5J','DhjPBq','CxvLCNK','quXurvi','C29Tzq','zw52','CMvZB2X2zq','rej5AMu','qunusvzf','Dg9ju09tDhjPBMC','v3r3t0C','Ahr0Cf9LCNjVCG','AM9PBG','Dg9vChbLCKnHC2u','rxjYB3i6ia','CgLKlgHVC3rUyw1LlhnLCNzPy2uSDMvYC2LVBIXLBNySzxzLBNqSBw9KDwXLlhbVCNqSy29UzMLNlgfWAuTLEuvUywjSzwqSCgf0AcX3B3jRAw5NrgLYlgLZugTNlgLZtM9KzvnJCMLWDcXMAwXLlgvTywLSlhr5CguSy29YCYXSB2DNAw5NlgfWAuTLEsXJB3vUDcXLBMrWB2LUDcXYB3v0zq','Bwf0y2G','y29UzMLNrMLSzq','lI9SB2DZ','Bwv0Ag9K','DwLMsM0','rMfPBgvKihrVignYzwf0zsbSB2CGzgLYzwn0B3j5ia','A2v5CW','C3rKu2vYAwfSAxPLCNm','CgfYyw1Z','ifTtte9xxq','Aw5MBW','zMf0ywW','rgvMyxvSDa','CgfKrw5K','zxjYB3i','iokvKqRILzeGiefqssblzxKGicaGidOG','r0n4q20','ChjVAMvJDf9SB2fKzwq','w09lxsbtzxj2zxiGCMvHzhKGB24GCg9YDca','su5trvju','yxbPs2v5'];a0_0x495a=function(){return _0x40727d;};return a0_0x495a();}function a0_0x1705(_0x374028,_0x43aa5d){_0x374028=_0x374028-0xbf;const _0x495ac6=a0_0x495a();let _0x1705b6=_0x495ac6[_0x374028];if(a0_0x1705['EBhJUY']===undefined){var _0x5f2450=function(_0xa269ad){const _0x4f5a0a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5ddcc3='',_0x45cff2='';for(let _0xce953b=0x0,_0x51dc30,_0x4e8520,_0x43c11f=0x0;_0x4e8520=_0xa269ad['charAt'](_0x43c11f++);~_0x4e8520&&(_0x51dc30=_0xce953b%0x4?_0x51dc30*0x40+_0x4e8520:_0x4e8520,_0xce953b++%0x4)?_0x5ddcc3+=String['fromCharCode'](0xff&_0x51dc30>>(-0x2*_0xce953b&0x6)):0x0){_0x4e8520=_0x4f5a0a['indexOf'](_0x4e8520);}for(let _0x10dab3=0x0,_0x588ab6=_0x5ddcc3['length'];_0x10dab3<_0x588ab6;_0x10dab3++){_0x45cff2+='%'+('00'+_0x5ddcc3['charCodeAt'](_0x10dab3)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x45cff2);};a0_0x1705['lplGHf']=_0x5f2450,a0_0x1705['OZYQoS']={},a0_0x1705['EBhJUY']=!![];}const _0x3006e7=_0x495ac6[0x0],_0x36804b=_0x374028+_0x3006e7,_0x1433e4=a0_0x1705['OZYQoS'][_0x36804b];return!_0x1433e4?(_0x1705b6=a0_0x1705['lplGHf'](_0x1705b6),a0_0x1705['OZYQoS'][_0x36804b]=_0x1705b6):_0x1705b6=_0x1433e4,_0x1705b6;}const createRequestLogger=(_0x256c4a={})=>{const _0x4d28e2=a0_0x369009;return logger[_0x4d28e2(0xe0)](_0x256c4a);},logServerStart=_0x53c3db=>{const _0x2de416=a0_0x369009,_0x404a94={'KArIo':_0x2de416(0x118),'ClXjh':_0x2de416(0x116),'kzqLf':_0x2de416(0x188),'inzNg':function(_0x4e57a8,_0x23f12d,_0x49708f){return _0x4e57a8(_0x23f12d,_0x49708f);},'Svgkh':'info'},_0x4de203='\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'+(_0x53c3db[_0x2de416(0x15f)]||_0x404a94['KArIo'])['padEnd'](0x26)+'\x20║\x0a║\x20\x20Project\x20\x20\x20\x20\x20:\x20'+(_0x53c3db[_0x2de416(0xf8)]||_0x404a94['ClXjh'])['padEnd'](0x26)+_0x2de416(0x125)+String(_0x53c3db[_0x2de416(0x103)]||0xbb8)['padEnd'](0x26)+'\x20║\x0a║\x20\x20Config\x20\x20\x20\x20\x20\x20:\x20'+(_0x53c3db[_0x2de416(0x17d)]||_0x404a94['kzqLf'])['padEnd'](0x26)+_0x2de416(0xbf)+(_0x53c3db[_0x2de416(0xc4)]?_0x2de416(0x174):'NOT\x20ACTIVE')[_0x2de416(0x189)](0x26)+_0x2de416(0x124);console['log'](_0x4de203);const _0x27129d={'event':_0x2de416(0xe3),'project':_0x53c3db[_0x2de416(0xf8)],'port':_0x53c3db['port'],'config':_0x53c3db['configFile'],'apiKeyEnabled':!!_0x53c3db[_0x2de416(0xc4)]};logger[_0x2de416(0x186)](_0x27129d),_0x404a94[_0x2de416(0x15d)](writeToFileLog,{..._0x27129d,'level':_0x2de416(0x186),'msg':_0x2de416(0x15e)+_0x53c3db['project']+'\x20on\x20port\x20'+_0x53c3db[_0x2de416(0x103)],'time':new Date()[_0x2de416(0x175)]()},_0x404a94['Svgkh']);},logServerReady=_0x5cead5=>{const _0x5c2737=a0_0x369009,_0x432a45={'event':_0x5c2737(0x14c),'port':_0x5cead5['port'],'module':_0x5cead5[_0x5c2737(0x146)],'healthCheck':_0x5cead5[_0x5c2737(0x13e)],'serviceInfo':_0x5cead5['serviceInfo'],'baseUrl':_0x5cead5['baseUrl']},_0x5f1ce1=_0x5c2737(0xc2)+_0x5cead5[_0x5c2737(0x103)];logger['info'](_0x432a45,_0x5f1ce1),writeToFileLog({..._0x432a45,'level':_0x5c2737(0x186),'msg':_0x5f1ce1,'time':new Date()[_0x5c2737(0x175)]()},'info'),_0x5cead5[_0x5c2737(0x13e)]&&logger[_0x5c2737(0x186)](_0x5c2737(0xfa)+_0x5cead5[_0x5c2737(0x13e)]),_0x5cead5['serviceInfo']&&logger['info']('\x20\x20Info:\x20\x20\x20'+_0x5cead5[_0x5c2737(0x167)]),_0x5cead5['baseUrl']&&logger['info']('\x20\x20URL:\x20\x20\x20\x20'+_0x5cead5['baseUrl']);},logProjectLoaded=(_0xf1126b,_0x31f54f)=>{const _0x18f967=a0_0x369009,_0x2ff274={'LGhtG':'info'},_0xc6cacf={'event':_0x18f967(0xc1),'project':_0xf1126b,'path':_0x31f54f},_0x11d398='[OK]\x20Project\x20loaded:\x20'+_0xf1126b;logger['info'](_0xc6cacf,_0x11d398),writeToFileLog({..._0xc6cacf,'level':_0x2ff274['LGhtG'],'msg':_0x11d398,'time':new Date()['toISOString']()},'info');},logEndpointRegistered=(_0x38ee0e,_0x49bc7f)=>{const _0x2144b9=a0_0x369009,_0x358eab={'WtwOG':_0x2144b9(0x14f)},_0x40c892={'event':'endpoint_registered','endpoint':_0x38ee0e,'route':_0x49bc7f},_0x2b6195=_0x2144b9(0xde)+_0x38ee0e+':\x20'+_0x49bc7f;logger[_0x2144b9(0x14f)](_0x40c892,_0x2b6195),writeToFileLog({..._0x40c892,'level':_0x358eab[_0x2144b9(0x176)],'msg':_0x2b6195,'time':new Date()[_0x2144b9(0x175)]()},_0x2144b9(0x14f));},logDatabaseConfig=_0x3a1cc6=>{const _0xab6fd8=a0_0x369009,_0x55afa4={'XbVeE':_0xab6fd8(0xe5),'qJSjc':function(_0x2232be,_0x5dc45b,_0x129c35){return _0x2232be(_0x5dc45b,_0x129c35);},'lDiUe':'debug'},_0x67063f={'event':_0x55afa4['XbVeE'],'host':_0x3a1cc6[_0xab6fd8(0x13f)],'port':_0x3a1cc6['port'],'database':_0x3a1cc6[_0xab6fd8(0x135)],'type':_0x3a1cc6['type'],'user':_0x3a1cc6['user']},_0x300b3b='Database:\x20'+_0x3a1cc6['type']+'://'+_0x3a1cc6[_0xab6fd8(0x13f)]+':'+_0x3a1cc6[_0xab6fd8(0x103)]+'/'+_0x3a1cc6['database'];logger['debug'](_0x67063f,_0x300b3b),_0x55afa4['qJSjc'](writeToFileLog,{..._0x67063f,'level':_0x55afa4['lDiUe'],'msg':_0x300b3b,'time':new Date()['toISOString']()},_0x55afa4['lDiUe']);},logRequest=(_0x33c3c9,_0x59119a,_0x4000bd)=>{const _0x495bad=a0_0x369009,_0x304de9={'XEFbF':_0x495bad(0x11f),'pDmtk':_0x495bad(0x186),'fUIwj':function(_0x5b31ff,_0x56df40){return _0x5b31ff>=_0x56df40;},'YXOkH':_0x495bad(0x18a),'AgqNr':_0x495bad(0xd0)},_0x2ef842={'event':_0x304de9[_0x495bad(0x162)],'method':_0x33c3c9[_0x495bad(0x17f)],'path':_0x33c3c9[_0x495bad(0x133)],'statusCode':_0x59119a[_0x495bad(0xe8)],'durationMs':_0x4000bd,'ip':_0x33c3c9['ip']},_0x2cd122=_0x33c3c9[_0x495bad(0x17f)]+'\x20'+_0x33c3c9[_0x495bad(0x133)]+_0x495bad(0x136)+_0x59119a[_0x495bad(0xe8)]+'\x20('+_0x4000bd+'ms)';let _0x3cee74=_0x304de9['pDmtk'];if(_0x304de9['fUIwj'](_0x59119a['statusCode'],0x1f4))_0x3cee74=_0x304de9[_0x495bad(0xef)],logger['error'](_0x2ef842,_0x2cd122);else _0x304de9['fUIwj'](_0x59119a[_0x495bad(0xe8)],0x190)?(_0x3cee74=_0x304de9['AgqNr'],logger['warn'](_0x2ef842,_0x2cd122)):logger['info'](_0x2ef842,_0x2cd122);writeToFileLog({..._0x2ef842,'level':_0x3cee74,'msg':_0x2cd122,'time':new Date()['toISOString']()},_0x3cee74);},SENSITIVE_PARAM_PATTERNS=[a0_0x369009(0x10a),'passwd',a0_0x369009(0xfc),'token','access_token',a0_0x369009(0xf4),a0_0x369009(0x128),a0_0x369009(0x121),a0_0x369009(0x11b),a0_0x369009(0xea),'credential','credentials',a0_0x369009(0xd1),a0_0x369009(0x139),'private_key',a0_0x369009(0x155)],redactSensitiveParams=(_0x987c3f,_0x421137)=>{const _0xf420bb=a0_0x369009,_0x16c641={'oLWhh':_0xf420bb(0x149),'NRXRK':function(_0x116816,_0x2812de){return _0x116816===_0x2812de;}};if(!_0x987c3f||_0x16c641[_0xf420bb(0x156)](_0x987c3f[_0xf420bb(0xe2)],0x0))return _0x987c3f;const _0x2eb4dd=_0x421137[_0xf420bb(0xcb)](),_0x462a07=_0x2eb4dd[_0xf420bb(0x17c)](/\(([^)]+)\)\s*values/i);let _0x5770a5=[];_0x462a07&&(_0x5770a5=_0x462a07[0x1][_0xf420bb(0x104)](',')['map'](_0xebac68=>_0xebac68['trim']()['toLowerCase']()));const _0x4ca6bb=_0x2eb4dd['match'](/set\s+(.+?)(?:\s+where|$)/i);if(_0x4ca6bb){const _0x2f28e2=_0x4ca6bb[0x1],_0x48ff79=_0x2f28e2[_0xf420bb(0x17c)](/(\w+)\s*=/g);_0x48ff79&&(_0x5770a5=_0x48ff79[_0xf420bb(0xd2)](_0x240cb6=>_0x240cb6[_0xf420bb(0xd6)](/\s*=/,'')[_0xf420bb(0x16d)]()['toLowerCase']()));}return _0x987c3f['map']((_0x47f61b,_0x220794)=>{const _0x6aff06=_0xf420bb;if(_0x5770a5[_0x220794]){const _0x2d2452=_0x5770a5[_0x220794],_0x55b97d=SENSITIVE_PARAM_PATTERNS['some'](_0x25c0cf=>_0x2d2452[_0x6aff06(0x169)](_0x25c0cf));if(_0x55b97d)return'[REDACTED]';}if(typeof _0x47f61b===_0x6aff06(0x107)&&_0x47f61b[_0x6aff06(0xe2)]>0x20){if(/^[a-zA-Z0-9+/=_.-]+$/['test'](_0x47f61b)&&_0x47f61b[_0x6aff06(0x169)]('.'))return _0x16c641['oLWhh'];if(/^[a-fA-F0-9]{32,}$/[_0x6aff06(0x108)](_0x47f61b))return _0x6aff06(0x110);}return _0x47f61b;});},parseQueryMetadata=_0x56d368=>{const _0x100b47=a0_0x369009,_0x42736a={'XBkcj':_0x100b47(0x105),'YRIaU':'SELECT','pDrHr':'INSERT','nYiGs':_0x100b47(0x12e),'QWcRM':'DELETE','TBwAj':'START\x20TRANSACTION','vVUQn':_0x100b47(0x126),'KqYDU':_0x100b47(0x16b),'FFVxJ':'CREATE','Asawz':_0x100b47(0xfb),'XUpfN':_0x100b47(0x16f),'OaNRz':_0x100b47(0xc8),'cnqyk':'DROP'},_0x11519e=_0x56d368['trim'](),_0xa47063=_0x11519e[_0x100b47(0x179)]();let _0x4f1140=_0x42736a['XBkcj'],_0x489153=null;if(_0xa47063[_0x100b47(0x15b)](_0x100b47(0x158))){_0x4f1140=_0x42736a['YRIaU'];const _0x50e162=_0x11519e['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x489153=_0x50e162?_0x50e162[0x1]:null;}else{if(_0xa47063['startsWith'](_0x42736a[_0x100b47(0xfd)])){_0x4f1140=_0x100b47(0xc3);const _0x331c3d=_0x11519e['match'](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x489153=_0x331c3d?_0x331c3d[0x1]:null;}else{if(_0xa47063['startsWith'](_0x42736a['nYiGs'])){_0x4f1140=_0x42736a[_0x100b47(0x102)];const _0x523ca7=_0x11519e[_0x100b47(0x17c)](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x489153=_0x523ca7?_0x523ca7[0x1]:null;}else{if(_0xa47063[_0x100b47(0x15b)](_0x42736a['QWcRM'])){_0x4f1140='DELETE';const _0x5dce35=_0x11519e[_0x100b47(0x17c)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x489153=_0x5dce35?_0x5dce35[0x1]:null;}else{if(_0xa47063['startsWith'](_0x100b47(0xf9))||_0xa47063[_0x100b47(0x15b)](_0x42736a['TBwAj']))_0x4f1140='TRANSACTION_BEGIN';else{if(_0xa47063['startsWith']('COMMIT'))_0x4f1140=_0x100b47(0x11e);else{if(_0xa47063[_0x100b47(0x15b)](_0x42736a[_0x100b47(0x129)]))_0x4f1140=_0x42736a[_0x100b47(0x113)];else{if(_0xa47063[_0x100b47(0x15b)](_0x42736a['FFVxJ']))_0x4f1140=_0x42736a[_0x100b47(0x132)];else{if(_0xa47063[_0x100b47(0x15b)](_0x42736a['XUpfN']))_0x4f1140=_0x42736a['OaNRz'];else _0xa47063[_0x100b47(0x15b)](_0x42736a['cnqyk'])&&(_0x4f1140=_0x100b47(0xca));}}}}}}}}return{'type':_0x4f1140,'table':_0x489153};},startQueryTimer=()=>{const _0x2d54ba=a0_0x369009,_0x53e1a5={'CcZqF':function(_0x278a27,_0x459b2a){return _0x278a27+_0x459b2a;},'mxYXp':function(_0x458095,_0x59ecd6){return _0x458095*_0x59ecd6;}},_0xa36a0a=process[_0x2d54ba(0x142)]();return()=>{const _0x291bcd=_0x2d54ba,[_0x2a34d2,_0x1e0a3f]=process[_0x291bcd(0x142)](_0xa36a0a);return parseFloat(_0x53e1a5['CcZqF'](_0x53e1a5['mxYXp'](_0x2a34d2,0x3e8),_0x1e0a3f/0xf4240)['toFixed'](0x2));};},logQuery=(_0x4c6317,_0x5754d0=[],_0x502b55={})=>{const _0xbe6938=a0_0x369009,_0x5dd37d={'GQzIT':_0xbe6938(0x12a),'UJHQN':_0xbe6938(0x12b),'UAHoX':function(_0x3a8dd1,_0x30e710,_0x947eef){return _0x3a8dd1(_0x30e710,_0x947eef);},'NhFtX':function(_0x250469,_0x4c3348){return _0x250469!==_0x4c3348;},'sVstJ':function(_0xcd8450,_0x2392fa){return _0xcd8450>_0x2392fa;},'TZQvt':function(_0x1c7953,_0x2166eb){return _0x1c7953!==_0x2166eb;},'SDfpe':function(_0x5b42ef,_0x36c7e9){return _0x5b42ef||_0x36c7e9;},'tCrjD':_0xbe6938(0xe6),'kZeAA':function(_0x3dc790,_0x2bc5c5){return _0x3dc790>_0x2bc5c5;},'vHeJP':'debug','HLYKC':'warn','ezVUo':_0xbe6938(0x186)};if(!sqlLogEnabled){logger[_0xbe6938(0x14f)]({'event':_0x5dd37d['GQzIT'],'query':_0x4c6317[_0xbe6938(0xd7)](0x0,0xc8),'paramCount':_0x5754d0[_0xbe6938(0xe2)]},_0x5dd37d['UJHQN']);return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0xbe6938(0xce)}=_0x502b55,{type:_0x3fea8e,table:_0xfe7ca0}=parseQueryMetadata(_0x4c6317),_0x24e7f9={'event':'sql_query','queryType':_0x3fea8e,'table':_0xfe7ca0,'query':_0x4c6317,'paramCount':_0x5754d0[_0xbe6938(0xe2)],'dbType':dbType};sqlLogParams&&_0x5754d0[_0xbe6938(0xe2)]>0x0&&(_0x24e7f9[_0xbe6938(0x184)]=_0x5dd37d['UAHoX'](redactSensitiveParams,_0x5754d0,_0x4c6317));_0x5dd37d[_0xbe6938(0x154)](duration,null)&&(_0x24e7f9[_0xbe6938(0x134)]=duration,_0x24e7f9[_0xbe6938(0x119)]=_0x5dd37d['sVstJ'](duration,sqlLogSlowThreshold));_0x5dd37d['TZQvt'](rowsAffected,null)&&(_0x24e7f9['rowsAffected']=rowsAffected);const _0x53518e=_0x5dd37d['SDfpe'](_0xfe7ca0,_0x5dd37d[_0xbe6938(0x112)]);let _0x346c63='['+_0x3fea8e+']\x20'+_0x53518e;duration!==null&&(_0x346c63+='\x20('+duration+_0xbe6938(0xd3));const _0x37a193=_0x5dd37d[_0xbe6938(0xf0)](duration,null)&&_0x5dd37d[_0xbe6938(0x131)](duration,sqlLogSlowThreshold);let _0x1864c9=_0x5dd37d[_0xbe6938(0x10d)];if(_0x37a193)_0x346c63+=_0xbe6938(0x185),_0x1864c9=_0x5dd37d['HLYKC'],logger[_0xbe6938(0xd0)](_0x24e7f9,_0x346c63);else sqlLogLevel===_0x5dd37d['ezVUo']?(_0x1864c9=_0x5dd37d['ezVUo'],logger[_0xbe6938(0x186)](_0x24e7f9,_0x346c63)):logger['debug'](_0x24e7f9,_0x346c63);writeToFileLog({..._0x24e7f9,'level':_0x1864c9,'msg':_0x346c63,'time':new Date()['toISOString']()},_0x1864c9);},logTransaction=(_0x5928f1,_0xa7e0cf)=>{const _0x5c8fd8=a0_0x369009,_0x1ef732={'rwJzF':_0x5c8fd8(0x14f)},_0x5b259c={'event':'db_transaction','status':_0x5928f1,'queryCount':_0xa7e0cf},_0x2118a7=_0x5c8fd8(0x122)+_0x5928f1;logger['debug'](_0x5b259c,_0x2118a7),writeToFileLog({..._0x5b259c,'level':_0x1ef732['rwJzF'],'msg':_0x2118a7,'time':new Date()['toISOString']()},_0x1ef732['rwJzF']);},redactObject=_0x2024fc=>{const _0x13b526=a0_0x369009,_0x3b517c={'zoOuh':function(_0x406a3b,_0x106b7c){return _0x406a3b!==_0x106b7c;},'cFFPc':_0x13b526(0x143),'UflCS':_0x13b526(0x10a),'Bmsfz':'passwd','kiHLo':'pwd','HcUaB':'secret','ORhAa':'api_key','rJJWU':_0x13b526(0xf5),'UZrHQ':_0x13b526(0xed),'zFxOC':_0x13b526(0x10e),'ObYDK':_0x13b526(0x155),'OCDgW':function(_0xac403d,_0x1a1be0){return _0xac403d!==_0x1a1be0;},'uifJm':function(_0x349d1d,_0x250cb5){return _0x349d1d(_0x250cb5);}};if(!_0x2024fc||_0x3b517c[_0x13b526(0x13d)](typeof _0x2024fc,_0x3b517c[_0x13b526(0x14b)]))return _0x2024fc;const _0xc732f=[_0x3b517c[_0x13b526(0xee)],_0x3b517c[_0x13b526(0xc6)],_0x3b517c[_0x13b526(0x166)],_0x13b526(0x153),_0x3b517c['HcUaB'],'apikey',_0x3b517c[_0x13b526(0x163)],'authorization',_0x3b517c['rJJWU'],_0x13b526(0xf1),_0x13b526(0x130),_0x3b517c[_0x13b526(0xf6)],_0x13b526(0xd1),_0x3b517c['zFxOC'],_0x3b517c[_0x13b526(0x16a)],'refresh_token','access_token'],_0x1ad266=Array[_0x13b526(0xd4)](_0x2024fc)?[..._0x2024fc]:{..._0x2024fc};for(const _0x427e10 of Object[_0x13b526(0x182)](_0x1ad266)){const _0x99cf77=_0x427e10[_0x13b526(0xcb)]();if(_0xc732f[_0x13b526(0x170)](_0x4bbcd8=>_0x99cf77['includes'](_0x4bbcd8)))_0x1ad266[_0x427e10]=_0x13b526(0x109);else typeof _0x1ad266[_0x427e10]===_0x3b517c['cFFPc']&&_0x3b517c[_0x13b526(0x127)](_0x1ad266[_0x427e10],null)&&(_0x1ad266[_0x427e10]=_0x3b517c[_0x13b526(0x180)](redactObject,_0x1ad266[_0x427e10]));}return _0x1ad266;},logError=(_0x2ad153,_0x2fbcca={},_0x32222c=null)=>{const _0x10dc38=a0_0x369009,_0x4f5c8f={'TTpVP':'error','BcYLB':_0x10dc38(0x168)},_0x391310={'event':_0x4f5c8f['TTpVP'],'errorName':_0x2ad153['name']||_0x4f5c8f[_0x10dc38(0x114)],'errorMessage':_0x2ad153['message'],'errorCode':_0x2ad153[_0x10dc38(0x15c)]||null,'stack':_0x2ad153[_0x10dc38(0x15a)],..._0x2fbcca},_0x1677c9=_0x32222c||_0x10dc38(0x17a)+_0x2ad153['message'];logger[_0x10dc38(0x18a)](_0x391310,_0x1677c9),writeToFileLog({..._0x391310,'level':_0x4f5c8f['TTpVP'],'msg':_0x1677c9,'time':new Date()[_0x10dc38(0x175)]()},_0x4f5c8f['TTpVP']);},logFatalError=(_0x3897a6,_0x3d4a9b={},_0x29c358=null)=>{const _0x43300a=a0_0x369009,_0x3e6fb4={'JHLEz':'fatal_error','vjZmc':'fatal'},_0x1b0d4f={'event':_0x3e6fb4[_0x43300a(0x150)],'errorName':_0x3897a6['name']||_0x43300a(0x168),'errorMessage':_0x3897a6[_0x43300a(0xe9)],'errorCode':_0x3897a6[_0x43300a(0x15c)]||null,'stack':_0x3897a6[_0x43300a(0x15a)],'severity':'CRITICAL',..._0x3d4a9b},_0x23fa90=_0x29c358||_0x43300a(0x11a)+_0x3897a6[_0x43300a(0xe9)];logger[_0x43300a(0x187)](_0x1b0d4f,_0x23fa90),writeToFileLog({..._0x1b0d4f,'level':_0x3e6fb4['vjZmc'],'msg':_0x23fa90,'time':new Date()['toISOString']()},'error');},logHttpError=(_0xb8bf85,_0x1cb9ec,_0x12e07d={})=>{const _0x19e4e4=a0_0x369009,_0x197a77={'nPBQI':_0x19e4e4(0x10b),'NilGs':function(_0x5d4306,_0x2daddd,_0x34f3e7){return _0x5d4306(_0x2daddd,_0x34f3e7);},'BeyHK':'warn','VGqRX':function(_0x4366e1,_0x1d67e9){return _0x4366e1>=_0x1d67e9;}},_0x2302da={'event':_0x19e4e4(0x177),'errorName':_0xb8bf85['name']||'Error','errorMessage':_0xb8bf85[_0x19e4e4(0xe9)],'errorCode':_0xb8bf85[_0x19e4e4(0x15c)]||_0xb8bf85[_0x19e4e4(0xe8)]||0x1f4,'stack':_0xb8bf85['stack'],'method':_0x1cb9ec?.[_0x19e4e4(0x17f)],'url':_0x1cb9ec?.[_0x19e4e4(0xd5)]||_0x1cb9ec?.['originalUrl'],'path':_0x1cb9ec?.['path'],'ip':_0x1cb9ec?.['ip']||_0x1cb9ec?.[_0x19e4e4(0xd8)]?.[_0x19e4e4(0xfe)],'userAgent':_0x1cb9ec?.['get']?.(_0x197a77['nPBQI']),'requestId':_0x1cb9ec?.['id']||_0x1cb9ec?.[_0x19e4e4(0x115)]?.[_0x19e4e4(0xe1)],'body':_0x1cb9ec?.['body']?redactObject(_0x1cb9ec['body']):undefined,'query':_0x1cb9ec?.[_0x19e4e4(0x16e)],..._0x12e07d},_0x471b81=_0xb8bf85[_0x19e4e4(0xe8)]||_0xb8bf85['status']||0x1f4,_0x2c356c=_0x19e4e4(0x117)+_0x471b81+':\x20'+_0xb8bf85[_0x19e4e4(0xe9)];_0x471b81>=0x1f4?logger['error'](_0x2302da,_0x2c356c):logger['warn'](_0x2302da,_0x2c356c),_0x197a77[_0x19e4e4(0xd9)](writeToFileLog,{..._0x2302da,'level':_0x471b81>=0x1f4?_0x19e4e4(0x18a):_0x197a77['BeyHK'],'msg':_0x2c356c,'time':new Date()[_0x19e4e4(0x175)]()},_0x197a77['VGqRX'](_0x471b81,0x1f4)?'error':_0x19e4e4(0xd0));},logUncaughtError=(_0x270408,_0x14857e)=>{const _0x3b05a5=a0_0x369009,_0x3eeffe={'xryEK':'Error','RZKRf':_0x3b05a5(0x18a)},_0x50c866={'event':_0x270408,'errorName':_0x14857e?.['name']||_0x3eeffe[_0x3b05a5(0xf7)],'errorMessage':_0x14857e?.['message']||String(_0x14857e),'errorCode':_0x14857e?.['code']||null,'stack':_0x14857e?.[_0x3b05a5(0x15a)],'severity':'CRITICAL','processId':process['pid'],'memoryUsage':process['memoryUsage'](),'uptime':process[_0x3b05a5(0x123)]()},_0x1d4e28='['+_0x270408[_0x3b05a5(0x179)]()+']\x20'+(_0x14857e?.['message']||_0x14857e);logger['fatal'](_0x50c866,_0x1d4e28),writeToFileLog({..._0x50c866,'level':_0x3b05a5(0x187),'msg':_0x1d4e28,'time':new Date()['toISOString']()},_0x3eeffe['RZKRf']);},setupGlobalErrorHandlers=()=>{const _0x5b224b=a0_0x369009,_0xeba495={'GCxCm':_0x5b224b(0x165),'LEzCG':function(_0x434a09,_0x4cdaa0,_0x4329f8){return _0x434a09(_0x4cdaa0,_0x4329f8);},'XBQUU':function(_0x141430,_0x439b31){return _0x141430(_0x439b31);},'eTHQV':_0x5b224b(0xff),'tyQTM':'process_warning','raMSB':'warning','gSZta':_0x5b224b(0xc9),'XUcGO':function(_0x7ca8fd,_0x351cf4,_0x3de4ae){return _0x7ca8fd(_0x351cf4,_0x3de4ae);},'jbQpm':_0x5b224b(0x186)};process['on'](_0xeba495[_0x5b224b(0xc0)],_0x49fa42=>{const _0x542ba1=_0x5b224b;logUncaughtError(_0xeba495[_0x542ba1(0xc0)],_0x49fa42),_0xeba495[_0x542ba1(0x11c)](setTimeout,()=>{const _0x27af99=_0x542ba1;process[_0x27af99(0x157)](0x1);},0x3e8);}),process['on'](_0x5b224b(0xff),(_0x328050,_0x9d9b47)=>{const _0x224552=_0x5b224b,_0x8752cf=_0x328050 instanceof Error?_0x328050:new Error(_0xeba495[_0x224552(0xe7)](String,_0x328050));_0xeba495[_0x224552(0x11c)](logUncaughtError,_0xeba495[_0x224552(0x111)],_0x8752cf);}),process['on'](_0xeba495['raMSB'],_0x2e716f=>{const _0x3acd85=_0x5b224b;logger[_0x3acd85(0xd0)]({'event':_0xeba495['tyQTM'],'name':_0x2e716f['name'],'message':_0x2e716f[_0x3acd85(0xe9)],'stack':_0x2e716f[_0x3acd85(0x15a)]},_0x3acd85(0x13b)+_0x2e716f[_0x3acd85(0xe9)]);});const _0x227ce2={'event':_0xeba495[_0x5b224b(0x10f)]},_0x253ccc=_0x5b224b(0xdb);logger[_0x5b224b(0x186)](_0x227ce2,_0x253ccc),_0xeba495['XUcGO'](writeToFileLog,{..._0x227ce2,'level':'info','msg':_0x253ccc,'time':new Date()['toISOString']()},_0xeba495['jbQpm']);},createErrorHandlerMiddleware=()=>{const _0x25e949={'DhIWg':function(_0x674766,_0x1de2b5,_0x15bdb8){return _0x674766(_0x1de2b5,_0x15bdb8);},'eyPMs':'Internal\x20server\x20error','Idvgg':'x-request-id'};return(_0x43d1d0,_0x4de5d9,_0x1e29a2,_0x2fac75)=>{const _0x291db6=a0_0x1705;_0x25e949['DhIWg'](logHttpError,_0x43d1d0,_0x4de5d9);const _0x4a21dd=_0x43d1d0[_0x291db6(0xe8)]||_0x43d1d0['status']||0x1f4;_0x1e29a2['status'](_0x4a21dd)['json']({'success':![],'error':_0x4a21dd>=0x1f4?_0x25e949['eyPMs']:_0x43d1d0[_0x291db6(0xe9)],'requestId':_0x4de5d9['id']||_0x4de5d9['headers']?.[_0x25e949['Idvgg']]||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_0x1c864a=a0_0x4b70;(function(_0x50ff09,_0x308988){const _0x271aca=a0_0x4b70,_0x5c1b80=_0x50ff09();while(!![]){try{const _0x4af46d=-parseInt(_0x271aca(0x15d))/0x1+-parseInt(_0x271aca(0x17c))/0x2*(-parseInt(_0x271aca(0x171))/0x3)+parseInt(_0x271aca(0x16c))/0x4+-parseInt(_0x271aca(0x17f))/0x5*(parseInt(_0x271aca(0x16e))/0x6)+parseInt(_0x271aca(0x167))/0x7*(-parseInt(_0x271aca(0x17d))/0x8)+parseInt(_0x271aca(0x16d))/0x9*(parseInt(_0x271aca(0x169))/0xa)+parseInt(_0x271aca(0x165))/0xb;if(_0x4af46d===_0x308988)break;else _0x5c1b80['push'](_0x5c1b80['shift']());}catch(_0xbea7c3){_0x5c1b80['push'](_0x5c1b80['shift']());}}}(a0_0x5c8c,0x622c2));const fs=require('fs')[a0_0x1c864a(0x16f)],path=require(a0_0x1c864a(0x160)),{logger}=require(a0_0x1c864a(0x180));function a0_0x5c8c(){const _0x14a0d9=['lMPZB24','nxzqz09vuG','lI9SB2DNzxi','CgfYC2u','Cgf5Bg9HzerPCG','z2v0','ndq4ota5Bg1uzhbw','Cgf5Bg9HzdO','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5igj5ig5HBwu','Cgf0Aa','y2fJAgu','rgn3t2q','Aw5MBW','AM9PBG','odK3nZuYoxfiuMfhAW','ugf5Bg9HzcbJywnOzsbJBgvHCMvK','mtrPqNbfq1G','y2XLyxi','nJa5mfvHs0fVqG','zxjYB3i','zMLLBgroyw1L','mtGZotG1mKn1B2Diuq','nJGYmKr6ugvHrq','mZKZnda1nLfZrNrPzq','ChjVBwLZzxm','zwfkwM8','mteXrvLKvfjn','AgfZ','DxrMoa','Axnby3rPB25fBMfIBgvK','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5','zgvIDwC','Cgf5Bg9Hzf9SB2fKzwq','zMLLBgrmywjLBhm','Cgf5Bg9Hzf9JywnOzv9JBgvHCMvK','ywn0Aw9U','rMfPBgvKihrVigXVywqGCgf5Bg9HzcbIEsbUyw1L','ntK1neXtA2zzEq','mtm2ndy5nK9jBeLpuG'];a0_0x5c8c=function(){return _0x14a0d9;};return a0_0x5c8c();}function a0_0x4b70(_0x2a0267,_0x4889ea){_0x2a0267=_0x2a0267-0x15b;const _0x5c8c5a=a0_0x5c8c();let _0x4b701d=_0x5c8c5a[_0x2a0267];if(a0_0x4b70['xjQGTG']===undefined){var _0x1fcde6=function(_0x528fb3){const _0x1fed75='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x446aba='',_0x270e31='';for(let _0x357aef=0x0,_0x101685,_0x5bd623,_0x16f9a1=0x0;_0x5bd623=_0x528fb3['charAt'](_0x16f9a1++);~_0x5bd623&&(_0x101685=_0x357aef%0x4?_0x101685*0x40+_0x5bd623:_0x5bd623,_0x357aef++%0x4)?_0x446aba+=String['fromCharCode'](0xff&_0x101685>>(-0x2*_0x357aef&0x6)):0x0){_0x5bd623=_0x1fed75['indexOf'](_0x5bd623);}for(let _0x14ebcc=0x0,_0x38bbbd=_0x446aba['length'];_0x14ebcc<_0x38bbbd;_0x14ebcc++){_0x270e31+='%'+('00'+_0x446aba['charCodeAt'](_0x14ebcc)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x270e31);};a0_0x4b70['lGZrEq']=_0x1fcde6,a0_0x4b70['UUiDrw']={},a0_0x4b70['xjQGTG']=!![];}const _0x2c6844=_0x5c8c5a[0x0],_0x32e831=_0x2a0267+_0x2c6844,_0x4a7980=a0_0x4b70['UUiDrw'][_0x32e831];return!_0x4a7980?(_0x4b701d=a0_0x4b70['lGZrEq'](_0x4b701d),a0_0x4b70['UUiDrw'][_0x32e831]=_0x4b701d):_0x4b701d=_0x4a7980,_0x4b701d;}class PayloadLoader{constructor(){const _0x15e2ef=a0_0x1c864a;this['payloadDir']=path[_0x15e2ef(0x164)](__dirname,'../../payload'),this['cache']=new Map();}async['loadPayload'](_0x37ac3b,_0x67da32){const _0x3eaae9=a0_0x1c864a,_0x190c7d={'fvuXA':_0x3eaae9(0x173),'eaJZo':_0x3eaae9(0x177)},_0x41ccd3=_0x37ac3b+':'+_0x67da32;if(this[_0x3eaae9(0x161)][_0x3eaae9(0x172)](_0x41ccd3))return this['cache'][_0x3eaae9(0x15c)](_0x41ccd3);const _0xb9b866=path['join'](this['payloadDir'],_0x37ac3b+'_'+_0x67da32+_0x3eaae9(0x17e));try{const _0x4aa148=await fs['readFile'](_0xb9b866,_0x190c7d['fvuXA']),_0xabfc1f=JSON['parse'](_0x4aa148);return this[_0x3eaae9(0x161)]['set'](_0x41ccd3,_0xabfc1f),logger[_0x3eaae9(0x176)]({'event':_0x190c7d[_0x3eaae9(0x170)],'project':_0x37ac3b,'resource':_0x67da32},_0x3eaae9(0x175)),_0xabfc1f;}catch(_0x5a2a28){logger['error']({'event':'payload_load_error','project':_0x37ac3b,'resource':_0x67da32,'error':_0x5a2a28['message']},'Failed\x20to\x20load\x20payload');throw new Error('Payload\x20not\x20found:\x20'+_0x37ac3b+'_'+_0x67da32);}}async['loadPayloadByName'](_0x1d4e70){const _0x138d7b=a0_0x1c864a,_0x538fbd={'QWTNg':_0x138d7b(0x173),'FDxOh':'payload_load_error','DcwOd':_0x138d7b(0x17b)},_0x4b2a08=_0x138d7b(0x15e)+_0x1d4e70;if(this[_0x138d7b(0x161)]['has'](_0x4b2a08))return this['cache'][_0x138d7b(0x15c)](_0x4b2a08);const _0x8175b5=path['join'](this[_0x138d7b(0x15b)],_0x1d4e70+_0x138d7b(0x17e));try{const _0x399d13=await fs['readFile'](_0x8175b5,_0x538fbd['QWTNg']),_0x23f835=JSON[_0x138d7b(0x181)](_0x399d13);return this['cache']['set'](_0x4b2a08,_0x23f835),logger['debug']({'event':_0x138d7b(0x177),'payloadName':_0x1d4e70},_0x138d7b(0x15f)),_0x23f835;}catch(_0x2fb3ad){logger[_0x138d7b(0x16a)]({'event':_0x538fbd['FDxOh'],'payloadName':_0x1d4e70,'error':_0x2fb3ad['message']},_0x538fbd[_0x138d7b(0x162)]);throw new Error('Payload\x20not\x20found:\x20'+_0x1d4e70);}}[a0_0x1c864a(0x174)](_0x547cba,_0x222004){const _0x1c7d1a=a0_0x1c864a;return _0x547cba['action']&&_0x547cba[_0x1c7d1a(0x17a)][_0x222004]===!![];}['getExportConfig'](_0x2bc627){const _0x596c80=a0_0x1c864a;return{'columns':_0x2bc627[_0x596c80(0x16b)]||[],'filename':_0x2bc627['tableName']['replace']('.','-')+'-export','datatablesQuery':_0x2bc627['datatablesQuery']||null,'columnFormats':_0x2bc627['columnFormats']||null,'fieldLabels':_0x2bc627[_0x596c80(0x178)]||null};}['clearCache'](){const _0x2fbd4c=a0_0x1c864a;this[_0x2fbd4c(0x161)][_0x2fbd4c(0x168)](),logger[_0x2fbd4c(0x163)]({'event':_0x2fbd4c(0x179)},_0x2fbd4c(0x166));}}module['exports']=new PayloadLoader();