@restforgejs/platform 5.1.16 → 5.1.21

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 (179) 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/catalog/dbschema.js +2 -1
  5. package/generators/cli/endpoint/list.js +264 -0
  6. package/generators/cli/fast-track.js +395 -37
  7. package/generators/cli/processor/create.js +7 -7
  8. package/generators/cli/processor/list.js +229 -0
  9. package/generators/lib/dbschema-kit/apply-executor.js +20 -0
  10. package/generators/lib/generators/dashboard-generator.js +5 -5
  11. package/generators/lib/generators/processor-validation-generator.js +4 -1
  12. package/generators/lib/migrate/field-type-resolver.js +23 -0
  13. package/generators/lib/payload/payload-runner.js +80 -3
  14. package/generators/lib/templates/dashboard-catalog.js +1 -1
  15. package/generators/lib/templates/db-connection-env.js +1 -1
  16. package/generators/lib/templates/dbschema-catalog.js +1 -1
  17. package/generators/lib/templates/field-validation-catalog.js +1 -1
  18. package/generators/lib/templates/mysql-template.js +1 -1
  19. package/generators/lib/templates/oracle-template.js +1 -1
  20. package/generators/lib/templates/postgres-template.js +1 -1
  21. package/generators/lib/templates/query-declarative-catalog.js +1 -1
  22. package/generators/lib/templates/sqlite-template.js +1 -1
  23. package/integrity-manifest.json +18 -18
  24. package/package.json +1 -1
  25. package/scripts/check-install.js +8 -8
  26. package/scripts/verify-integrity.js +1 -1
  27. package/server.js +1 -1
  28. package/src/components/handlers/adjust_handler.js +1 -1
  29. package/src/components/handlers/audit_handler.js +1 -1
  30. package/src/components/handlers/delete_handler.js +1 -1
  31. package/src/components/handlers/export_handler.js +1 -1
  32. package/src/components/handlers/import_handler.js +1 -1
  33. package/src/components/handlers/insert_handler.js +1 -1
  34. package/src/components/handlers/update_handler.js +1 -1
  35. package/src/components/handlers/upload_handler.js +1 -1
  36. package/src/components/handlers/workflow_handler.js +1 -1
  37. package/src/components/integrations/webhook.js +1 -1
  38. package/src/consumers/baseConsumer.js +1 -1
  39. package/src/consumers/declarativeMapper.js +1 -1
  40. package/src/consumers/handlers/apiHandler.js +1 -1
  41. package/src/consumers/handlers/consoleHandler.js +1 -1
  42. package/src/consumers/handlers/databaseHandler.js +1 -1
  43. package/src/consumers/handlers/index.js +1 -1
  44. package/src/consumers/handlers/kafkaHandler.js +1 -1
  45. package/src/consumers/index.js +1 -1
  46. package/src/consumers/messageTransformer.js +1 -1
  47. package/src/consumers/validator.js +1 -1
  48. package/src/core/db/dialect/base-dialect.js +1 -1
  49. package/src/core/db/dialect/index.js +1 -1
  50. package/src/core/db/dialect/mysql-dialect.js +1 -1
  51. package/src/core/db/dialect/oracle-dialect.js +1 -1
  52. package/src/core/db/dialect/postgres-dialect.js +1 -1
  53. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  54. package/src/core/db/flatten-helper.js +1 -1
  55. package/src/core/db/query-builder-error.js +1 -1
  56. package/src/core/db/query-builder.js +1 -1
  57. package/src/core/db/relation-helper.js +1 -1
  58. package/src/core/handlers/delete_handler.js +1 -1
  59. package/src/core/handlers/insert_handler.js +1 -1
  60. package/src/core/handlers/update_handler.js +1 -1
  61. package/src/core/models/base-model.js +1 -1
  62. package/src/core/utils/cache-manager.js +1 -1
  63. package/src/core/utils/component-engine.js +1 -1
  64. package/src/core/utils/context-builder.js +1 -1
  65. package/src/core/utils/datetime-formatter.js +1 -1
  66. package/src/core/utils/datetime-parser.js +1 -1
  67. package/src/core/utils/db.js +1 -1
  68. package/src/core/utils/logger.js +1 -1
  69. package/src/core/utils/payload-loader.js +1 -1
  70. package/src/core/utils/security-checks.js +1 -1
  71. package/src/middleware/body-options.js +1 -1
  72. package/src/middleware/cors.js +1 -1
  73. package/src/middleware/idempotency.js +1 -1
  74. package/src/middleware/rate-limiter.js +1 -1
  75. package/src/middleware/request-logger.js +1 -1
  76. package/src/middleware/security-headers.js +1 -1
  77. package/src/models/base-model-mysql.js +1 -1
  78. package/src/models/base-model-oracle.js +1 -1
  79. package/src/models/base-model-sqlite.js +1 -1
  80. package/src/models/base-model.js +1 -1
  81. package/src/pro/caching/redis-client.js +1 -1
  82. package/src/pro/caching/redis-helper.js +1 -1
  83. package/src/pro/consumers/baseConsumer.js +1 -1
  84. package/src/pro/consumers/declarativeMapper.js +1 -1
  85. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  86. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  87. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  88. package/src/pro/consumers/handlers/index.js +1 -1
  89. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  90. package/src/pro/consumers/index.js +1 -1
  91. package/src/pro/consumers/messageTransformer.js +1 -1
  92. package/src/pro/consumers/validator.js +1 -1
  93. package/src/pro/database/base-model-mysql.js +1 -1
  94. package/src/pro/database/base-model-oracle.js +1 -1
  95. package/src/pro/database/base-model-sqlite.js +1 -1
  96. package/src/pro/database/db-mysql.js +1 -1
  97. package/src/pro/database/db-oracle.js +1 -1
  98. package/src/pro/database/db-sqlite.js +1 -1
  99. package/src/pro/excel/excel-generator.js +1 -1
  100. package/src/pro/excel/excel-parser.js +1 -1
  101. package/src/pro/excel/export-service.js +1 -1
  102. package/src/pro/excel/export_handler.js +1 -1
  103. package/src/pro/excel/import-service.js +1 -1
  104. package/src/pro/excel/import-validator.js +1 -1
  105. package/src/pro/excel/import_handler.js +1 -1
  106. package/src/pro/excel/upsert-builder.js +1 -1
  107. package/src/pro/idgen/idgen-routes.js +1 -1
  108. package/src/pro/integrations/lookup-resolver.js +1 -1
  109. package/src/pro/integrations/upload-handler-v2.js +1 -1
  110. package/src/pro/integrations/upload-handler.js +1 -1
  111. package/src/pro/integrations/webhook.js +1 -1
  112. package/src/pro/locking/lock-routes.js +1 -1
  113. package/src/pro/locking/resource-lock-manager.js +1 -1
  114. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  115. package/src/pro/messaging/kafkaService.js +1 -1
  116. package/src/pro/messaging/messagehubService.js +1 -1
  117. package/src/pro/messaging/rabbitmqService.js +1 -1
  118. package/src/pro/scheduler/job-manager.js +1 -1
  119. package/src/pro/scheduler/job-routes.js +1 -1
  120. package/src/pro/scheduler/job-validator.js +1 -1
  121. package/src/pro/storage/base-storage-provider.js +1 -1
  122. package/src/pro/storage/file-metadata-helper.js +1 -1
  123. package/src/pro/storage/index.js +1 -1
  124. package/src/pro/storage/local-storage-provider.js +1 -1
  125. package/src/pro/storage/s3-storage-provider.js +1 -1
  126. package/src/pro/storage/upload-cleanup-job.js +1 -1
  127. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  128. package/src/pro/storage/upload-pending-tracker.js +1 -1
  129. package/src/pro/websocket/broadcast-helper.js +1 -1
  130. package/src/pro/websocket/index.js +1 -1
  131. package/src/pro/websocket/livesync-server.js +1 -1
  132. package/src/pro/websocket/ws-broadcaster.js +1 -1
  133. package/src/services/export-service.js +1 -1
  134. package/src/services/import-service.js +1 -1
  135. package/src/services/kafkaConsumerService.js +1 -1
  136. package/src/services/kafkaService.js +1 -1
  137. package/src/services/messagehubService.js +1 -1
  138. package/src/services/rabbitmqService.js +1 -1
  139. package/src/utils/cache-invalidation-registry.js +1 -1
  140. package/src/utils/cache-manager.js +1 -1
  141. package/src/utils/component-engine.js +1 -1
  142. package/src/utils/config-extractor.js +1 -1
  143. package/src/utils/consumerLogger.js +1 -1
  144. package/src/utils/context-builder.js +1 -1
  145. package/src/utils/dashboard-helpers.js +1 -1
  146. package/src/utils/dateHelper.js +1 -1
  147. package/src/utils/datetime-formatter.js +1 -1
  148. package/src/utils/datetime-parser.js +1 -1
  149. package/src/utils/db-bootstrap.js +1 -1
  150. package/src/utils/db-mysql.js +1 -1
  151. package/src/utils/db-oracle.js +1 -1
  152. package/src/utils/db-sqlite.js +1 -1
  153. package/src/utils/db.js +1 -1
  154. package/src/utils/demo-generator.js +1 -1
  155. package/src/utils/excel-generator.js +1 -1
  156. package/src/utils/excel-parser.js +1 -1
  157. package/src/utils/file-watcher.js +1 -1
  158. package/src/utils/id-generator.js +1 -1
  159. package/src/utils/idempotency-manager.js +1 -1
  160. package/src/utils/import-validator.js +1 -1
  161. package/src/utils/license-client.js +1 -1
  162. package/src/utils/lock-manager.js +1 -1
  163. package/src/utils/logger.js +1 -1
  164. package/src/utils/lookup-resolver.js +1 -1
  165. package/src/utils/payload-loader.js +1 -1
  166. package/src/utils/processor-response.js +1 -1
  167. package/src/utils/rabbitmq.js +1 -1
  168. package/src/utils/redis-client.js +1 -1
  169. package/src/utils/redis-helper.js +1 -1
  170. package/src/utils/request-scope.js +1 -1
  171. package/src/utils/security-checks.js +1 -1
  172. package/src/utils/service-resolver.js +1 -1
  173. package/src/utils/shutdown-coordinator.js +1 -1
  174. package/src/utils/soft-delete-dashboard-guard.js +1 -1
  175. package/src/utils/sql-table-extractor.js +1 -1
  176. package/src/utils/trusted-keys.js +1 -1
  177. package/src/utils/upload-handler.js +1 -1
  178. package/src/utils/upsert-builder.js +1 -1
  179. package/src/utils/workflow-hook-executor.js +1 -1
@@ -1 +1 @@
1
- const a0_0x13d89c=a0_0x4e83;(function(_0x414273,_0x25da4f){const _0x2bfbc4=a0_0x4e83,_0x2eb36f=_0x414273();while(!![]){try{const _0x2b0ccd=parseInt(_0x2bfbc4(0x16f))/0x1*(parseInt(_0x2bfbc4(0x168))/0x2)+-parseInt(_0x2bfbc4(0x17a))/0x3*(-parseInt(_0x2bfbc4(0x177))/0x4)+parseInt(_0x2bfbc4(0x181))/0x5*(parseInt(_0x2bfbc4(0x179))/0x6)+-parseInt(_0x2bfbc4(0x17c))/0x7*(parseInt(_0x2bfbc4(0x170))/0x8)+-parseInt(_0x2bfbc4(0x16c))/0x9+parseInt(_0x2bfbc4(0x16e))/0xa+parseInt(_0x2bfbc4(0x173))/0xb;if(_0x2b0ccd===_0x25da4f)break;else _0x2eb36f['push'](_0x2eb36f['shift']());}catch(_0x60ce2b){_0x2eb36f['push'](_0x2eb36f['shift']());}}}(a0_0x28b0,0x872ed));function a0_0x4e83(_0x501ee4,_0x26e27a){_0x501ee4=_0x501ee4-0x167;const _0x28b02f=a0_0x28b0();let _0x4e8303=_0x28b02f[_0x501ee4];if(a0_0x4e83['RKpaUP']===undefined){var _0x30d482=function(_0x29e7a1){const _0x15e2be='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4e6f1e='',_0x3270d3='';for(let _0x1a4854=0x0,_0x5c8d0f,_0x4b4fd1,_0x2e051a=0x0;_0x4b4fd1=_0x29e7a1['charAt'](_0x2e051a++);~_0x4b4fd1&&(_0x5c8d0f=_0x1a4854%0x4?_0x5c8d0f*0x40+_0x4b4fd1:_0x4b4fd1,_0x1a4854++%0x4)?_0x4e6f1e+=String['fromCharCode'](0xff&_0x5c8d0f>>(-0x2*_0x1a4854&0x6)):0x0){_0x4b4fd1=_0x15e2be['indexOf'](_0x4b4fd1);}for(let _0x2ea9db=0x0,_0x3d34d7=_0x4e6f1e['length'];_0x2ea9db<_0x3d34d7;_0x2ea9db++){_0x3270d3+='%'+('00'+_0x4e6f1e['charCodeAt'](_0x2ea9db)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3270d3);};a0_0x4e83['IJtTjR']=_0x30d482,a0_0x4e83['oGRRmQ']={},a0_0x4e83['RKpaUP']=!![];}const _0x497972=_0x28b02f[0x0],_0x3b0693=_0x501ee4+_0x497972,_0x3e1679=a0_0x4e83['oGRRmQ'][_0x3b0693];return!_0x3e1679?(_0x4e8303=a0_0x4e83['IJtTjR'](_0x4e8303),a0_0x4e83['oGRRmQ'][_0x3b0693]=_0x4e8303):_0x4e8303=_0x3e1679,_0x4e8303;}class DateTimeFormatter{static['format'](_0x55a0c9,_0x4b01f4,_0x618631){const _0x2fef36=a0_0x4e83,_0x2b1c73={'FtQiB':function(_0x5790c1,_0x947dc7){return _0x5790c1===_0x947dc7;},'yzBCb':'timestamp','xLieS':'time'};if(!_0x55a0c9)return null;try{if(_0x2b1c73['FtQiB'](_0x618631,_0x2fef36(0x16a)))return this['formatDate'](_0x55a0c9,_0x4b01f4);else{if(_0x618631===_0x2b1c73['yzBCb'])return this['formatTimestamp'](_0x55a0c9,_0x4b01f4);else{if(_0x618631===_0x2b1c73[_0x2fef36(0x17f)])return this['formatTime'](_0x55a0c9,_0x4b01f4);}}return _0x55a0c9;}catch(_0x4d501e){return console[_0x2fef36(0x180)](_0x2fef36(0x182)+_0x4d501e[_0x2fef36(0x175)]),_0x55a0c9;}}static[a0_0x13d89c(0x16d)](_0x41b565,_0x4795f4){const _0x49f58c=a0_0x13d89c,_0x2e0115={'CRqNa':function(_0x31eb3e,_0x1c04c7){return _0x31eb3e(_0x1c04c7);},'bXtxm':function(_0x3eb449,_0x15253b){return _0x3eb449+_0x15253b;}},_0x2305c2=new Date(_0x41b565);if(isNaN(_0x2305c2['getTime']()))return console[_0x49f58c(0x171)]('Invalid\x20date\x20value:\x20'+_0x41b565),_0x41b565;const _0x173b9c=_0x2e0115['CRqNa'](String,_0x2305c2[_0x49f58c(0x174)]())['padStart'](0x2,'0'),_0x64203=_0x2e0115['CRqNa'](String,_0x2e0115['bXtxm'](_0x2305c2[_0x49f58c(0x17e)](),0x1))[_0x49f58c(0x169)](0x2,'0'),_0x158e82=_0x2305c2[_0x49f58c(0x16b)](),_0x20c32c={'dd/MM/yyyy':_0x173b9c+'/'+_0x64203+'/'+_0x158e82,'dd-MM-yyyy':_0x173b9c+'-'+_0x64203+'-'+_0x158e82,'MM/dd/yyyy':_0x64203+'/'+_0x173b9c+'/'+_0x158e82,'yyyy/MM/dd':_0x158e82+'/'+_0x64203+'/'+_0x173b9c,'yyyy-MM-dd':_0x158e82+'-'+_0x64203+'-'+_0x173b9c};return _0x20c32c[_0x4795f4]||_0x158e82+'-'+_0x64203+'-'+_0x173b9c;}static[a0_0x13d89c(0x17d)](_0x5d3f7d,_0x181fde){const _0x313887=a0_0x13d89c,_0x23ae41={'NCRbl':function(_0xc920c1,_0x2ccf82){return _0xc920c1(_0x2ccf82);}},_0x1532ae=new Date(_0x5d3f7d);if(isNaN(_0x1532ae[_0x313887(0x172)]()))return console[_0x313887(0x171)]('Invalid\x20timestamp\x20value:\x20'+_0x5d3f7d),_0x5d3f7d;const _0x361b7e=String(_0x1532ae['getDate']())['padStart'](0x2,'0'),_0x44d348=_0x23ae41['NCRbl'](String,_0x1532ae[_0x313887(0x17e)]()+0x1)[_0x313887(0x169)](0x2,'0'),_0x528451=_0x1532ae[_0x313887(0x16b)](),_0x19cdd7=String(_0x1532ae['getHours']())[_0x313887(0x169)](0x2,'0'),_0xfc2a71=String(_0x1532ae['getMinutes']())[_0x313887(0x169)](0x2,'0'),_0x17dc88=_0x23ae41['NCRbl'](String,_0x1532ae[_0x313887(0x17b)]())[_0x313887(0x169)](0x2,'0'),_0x3ea633=_0x181fde[_0x313887(0x178)]('\x20');if(_0x3ea633['length']!==0x2)return _0x528451+'-'+_0x44d348+'-'+_0x361b7e+'\x20'+_0x19cdd7+':'+_0xfc2a71+':'+_0x17dc88;const _0x2484e8=_0x3ea633[0x0],_0x4515e9=_0x3ea633[0x1],_0x38addd={'dd/MM/yyyy':_0x361b7e+'/'+_0x44d348+'/'+_0x528451,'dd-MM-yyyy':_0x361b7e+'-'+_0x44d348+'-'+_0x528451,'MM/dd/yyyy':_0x44d348+'/'+_0x361b7e+'/'+_0x528451,'yyyy/MM/dd':_0x528451+'/'+_0x44d348+'/'+_0x361b7e,'yyyy-MM-dd':_0x528451+'-'+_0x44d348+'-'+_0x361b7e},_0xb13cf7={'HH:mm':_0x19cdd7+':'+_0xfc2a71,'HH:mm:ss':_0x19cdd7+':'+_0xfc2a71+':'+_0x17dc88,'hh:mm':_0x19cdd7+':'+_0xfc2a71},_0x13a8be=_0x38addd[_0x2484e8]||_0x528451+'-'+_0x44d348+'-'+_0x361b7e,_0xf1a1c4=_0xb13cf7[_0x4515e9]||_0x19cdd7+':'+_0xfc2a71+':'+_0x17dc88;return _0x13a8be+'\x20'+_0xf1a1c4;}static['formatTime'](_0x55c5b8,_0x4f6524){const _0x4c15e3=a0_0x13d89c,_0x3a3b8f={'PyHCz':function(_0x1b8292,_0x355c97){return _0x1b8292!==_0x355c97;},'AuOFW':'string','tTazD':function(_0x27ca89,_0x44c8f8){return _0x27ca89<_0x44c8f8;}};if(_0x3a3b8f['PyHCz'](typeof _0x55c5b8,_0x3a3b8f[_0x4c15e3(0x176)]))return _0x55c5b8;const _0x83300f=_0x55c5b8[_0x4c15e3(0x178)](':');if(_0x3a3b8f['tTazD'](_0x83300f['length'],0x2))return console[_0x4c15e3(0x171)](_0x4c15e3(0x167)+_0x55c5b8),_0x55c5b8;const _0x50483c=_0x83300f[0x0][_0x4c15e3(0x169)](0x2,'0'),_0x39fa8d=_0x83300f[0x1]['padStart'](0x2,'0'),_0x2468f7=_0x83300f[0x2]?_0x83300f[0x2]['split']('.')[0x0][_0x4c15e3(0x169)](0x2,'0'):'00',_0x53895f={'HH:mm':_0x50483c+':'+_0x39fa8d,'HH:mm:ss':_0x50483c+':'+_0x39fa8d+':'+_0x2468f7,'hh:mm':_0x50483c+':'+_0x39fa8d};return _0x53895f[_0x4f6524]||_0x50483c+':'+_0x39fa8d+':'+_0x2468f7;}}module['exports']=DateTimeFormatter;function a0_0x28b0(){const _0x54fb6f=['zM9YBwf0rgf0zq','mtKWntqWmgnUsg5WBW','ntGYmMPdwNnWzW','mZaZnJb4y2nevgy','D2fYBG','z2v0vgLTzq','nZC0nJu5nKXJvhP5rG','z2v0rgf0zq','BwvZC2fNzq','qxvprLC','mta1nZCZnNbjAfbQEG','C3bSAxq','nNLkvfPlqG','m2nYvMLAua','z2v0u2vJB25KCW','mtq3t051sMfn','zM9YBwf0vgLTzxn0yw1W','z2v0tw9UDgG','EeXPzvm','zxjYB3i','mtu5nti0mefjqwD6CG','rxjYB3iGzM9YBwf0DgLUzYbKyxrLDgLTztOG','sw52ywXPzcb0Aw1LihzHBhvLoIa','nK1mC0TZva','CgfKu3rHCNq','zgf0zq','z2v0rNvSBfLLyxi','nZC2mdG4mhvwDwPkyW'];a0_0x28b0=function(){return _0x54fb6f;};return a0_0x28b0();}
1
+ function a0_0x303b(){const _0x5df635=['z2v0vgLTzq','zM9YBwf0vgLTzxn0yw1W','zM9YBwf0vgLTzq','mtC0tK9ZvenW','DgLTzxn0yw1W','z2v0sg91CNm','mZKWotC5rwTyqNnJ','BwvZC2fNzq','DgLTzq','mJaYntCZtu1sCNjh','z2v0rNvSBfLLyxi','sw52ywXPzcb0Aw1LihzHBhvLoIa','mta3mda3mNzfELrAuG','CgfKu3rHCNq','zxjYB3i','zM9YBwf0rgf0zq','C3rYAw5N','mtmWnte2nuHwq0XfzG','BgvUz3rO','r3PvDuO','z2v0rgf0zq','r0XpDxe','qwrSsKm','sw52ywXPzcbKyxrLihzHBhvLoIa','AMrjCMO','ngnQq1nSsW','wLnmzwO','mty0nZG5nefbwgvvEq','z2v0tw9UDgG','nJu5mJe5mLnwAur5zW','mtq3nJC5nJvyBwvJr28'];a0_0x303b=function(){return _0x5df635;};return a0_0x303b();}const a0_0x445afa=a0_0x51f2;(function(_0x8a4c54,_0x51e77c){const _0x28bcb8=a0_0x51f2,_0x287007=_0x8a4c54();while(!![]){try{const _0xc1a457=-parseInt(_0x28bcb8(0x172))/0x1+-parseInt(_0x28bcb8(0x159))/0x2+-parseInt(_0x28bcb8(0x168))/0x3*(parseInt(_0x28bcb8(0x166))/0x4)+parseInt(_0x28bcb8(0x15e))/0x5+parseInt(_0x28bcb8(0x16f))/0x6*(parseInt(_0x28bcb8(0x156))/0x7)+-parseInt(_0x28bcb8(0x16a))/0x8+parseInt(_0x28bcb8(0x16b))/0x9;if(_0xc1a457===_0x51e77c)break;else _0x287007['push'](_0x287007['shift']());}catch(_0x5d9d7d){_0x287007['push'](_0x287007['shift']());}}}(a0_0x303b,0x6bdd4));class DateTimeFormatter{static['format'](_0x205b7a,_0x16f59d,_0x1c9339){const _0x3efe34=a0_0x51f2,_0x2590dc={'LYMtI':'date','ZSLej':function(_0x77df5,_0x531d62){return _0x77df5===_0x531d62;},'Etbte':_0x3efe34(0x170)};if(!_0x205b7a)return null;try{if(_0x1c9339===_0x2590dc['LYMtI'])return this[_0x3efe34(0x15c)](_0x205b7a,_0x16f59d);else{if(_0x2590dc[_0x3efe34(0x167)](_0x1c9339,_0x2590dc['Etbte']))return this[_0x3efe34(0x16d)](_0x205b7a,_0x16f59d);else{if(_0x1c9339===_0x3efe34(0x155))return this[_0x3efe34(0x16e)](_0x205b7a,_0x16f59d);}}return _0x205b7a;}catch(_0x34fcd1){return console[_0x3efe34(0x15b)]('Error\x20formatting\x20datetime:\x20'+_0x34fcd1[_0x3efe34(0x154)]),_0x205b7a;}}static['formatDate'](_0x272c59,_0x4dc80a){const _0x46fd9d=a0_0x51f2,_0x17dda6={'GzUuJ':function(_0x3753c5,_0x5c75da){return _0x3753c5(_0x5c75da);},'AdlJC':function(_0x2165e2,_0x1d17fa){return _0x2165e2+_0x1d17fa;}},_0x34c50c=new Date(_0x272c59);if(_0x17dda6[_0x46fd9d(0x160)](isNaN,_0x34c50c[_0x46fd9d(0x16c)]()))return console['warn'](_0x46fd9d(0x164)+_0x272c59),_0x272c59;const _0x1e249b=_0x17dda6['GzUuJ'](String,_0x34c50c[_0x46fd9d(0x161)]())['padStart'](0x2,'0'),_0x19488a=String(_0x17dda6[_0x46fd9d(0x163)](_0x34c50c[_0x46fd9d(0x169)](),0x1))['padStart'](0x2,'0'),_0x683fa6=_0x34c50c[_0x46fd9d(0x157)](),_0x2c809b={'dd/MM/yyyy':_0x1e249b+'/'+_0x19488a+'/'+_0x683fa6,'dd-MM-yyyy':_0x1e249b+'-'+_0x19488a+'-'+_0x683fa6,'MM/dd/yyyy':_0x19488a+'/'+_0x1e249b+'/'+_0x683fa6,'yyyy/MM/dd':_0x683fa6+'/'+_0x19488a+'/'+_0x1e249b,'yyyy-MM-dd':_0x683fa6+'-'+_0x19488a+'-'+_0x1e249b};return _0x2c809b[_0x4dc80a]||_0x683fa6+'-'+_0x19488a+'-'+_0x1e249b;}static['formatTimestamp'](_0x357068,_0x40beb8){const _0x4aa993=a0_0x51f2,_0x147899={'YXgBi':function(_0x12277e,_0x187416){return _0x12277e(_0x187416);},'jdIrj':function(_0x60d5b9,_0x3a17a3){return _0x60d5b9(_0x3a17a3);},'eYOlq':function(_0x1afdac,_0x49a6f3){return _0x1afdac+_0x49a6f3;},'nFUSS':function(_0x55b42c,_0x4d8990){return _0x55b42c(_0x4d8990);}},_0x558aad=new Date(_0x357068);if(_0x147899['YXgBi'](isNaN,_0x558aad[_0x4aa993(0x16c)]()))return console['warn']('Invalid\x20timestamp\x20value:\x20'+_0x357068),_0x357068;const _0xc67fa3=_0x147899[_0x4aa993(0x165)](String,_0x558aad['getDate']())[_0x4aa993(0x15a)](0x2,'0'),_0x1add52=_0x147899[_0x4aa993(0x165)](String,_0x147899['eYOlq'](_0x558aad[_0x4aa993(0x169)](),0x1))['padStart'](0x2,'0'),_0x2f756d=_0x558aad['getFullYear'](),_0x1914cc=String(_0x558aad[_0x4aa993(0x171)]())['padStart'](0x2,'0'),_0x2fbfba=_0x147899['nFUSS'](String,_0x558aad['getMinutes']())['padStart'](0x2,'0'),_0x20e17a=_0x147899['YXgBi'](String,_0x558aad['getSeconds']())[_0x4aa993(0x15a)](0x2,'0'),_0x4533b8=_0x40beb8['split']('\x20');if(_0x4533b8['length']!==0x2)return _0x2f756d+'-'+_0x1add52+'-'+_0xc67fa3+'\x20'+_0x1914cc+':'+_0x2fbfba+':'+_0x20e17a;const _0x4be1de=_0x4533b8[0x0],_0x4e61e7=_0x4533b8[0x1],_0x2ccc5f={'dd/MM/yyyy':_0xc67fa3+'/'+_0x1add52+'/'+_0x2f756d,'dd-MM-yyyy':_0xc67fa3+'-'+_0x1add52+'-'+_0x2f756d,'MM/dd/yyyy':_0x1add52+'/'+_0xc67fa3+'/'+_0x2f756d,'yyyy/MM/dd':_0x2f756d+'/'+_0x1add52+'/'+_0xc67fa3,'yyyy-MM-dd':_0x2f756d+'-'+_0x1add52+'-'+_0xc67fa3},_0xd0dc6a={'HH:mm':_0x1914cc+':'+_0x2fbfba,'HH:mm:ss':_0x1914cc+':'+_0x2fbfba+':'+_0x20e17a,'hh:mm':_0x1914cc+':'+_0x2fbfba},_0x4cd4a2=_0x2ccc5f[_0x4be1de]||_0x2f756d+'-'+_0x1add52+'-'+_0xc67fa3,_0x553259=_0xd0dc6a[_0x4e61e7]||_0x1914cc+':'+_0x2fbfba+':'+_0x20e17a;return _0x4cd4a2+'\x20'+_0x553259;}static[a0_0x445afa(0x16e)](_0x2da99e,_0x46921a){const _0x1516ff=a0_0x445afa,_0x7af2f4={'GLOuq':function(_0x4e8407,_0x4a4649){return _0x4e8407!==_0x4a4649;}};if(_0x7af2f4[_0x1516ff(0x162)](typeof _0x2da99e,_0x1516ff(0x15d)))return _0x2da99e;const _0x7537e7=_0x2da99e['split'](':');if(_0x7537e7[_0x1516ff(0x15f)]<0x2)return console['warn'](_0x1516ff(0x158)+_0x2da99e),_0x2da99e;const _0x4bdd0a=_0x7537e7[0x0]['padStart'](0x2,'0'),_0x487545=_0x7537e7[0x1]['padStart'](0x2,'0'),_0x1d0959=_0x7537e7[0x2]?_0x7537e7[0x2]['split']('.')[0x0]['padStart'](0x2,'0'):'00',_0x2ce5b5={'HH:mm':_0x4bdd0a+':'+_0x487545,'HH:mm:ss':_0x4bdd0a+':'+_0x487545+':'+_0x1d0959,'hh:mm':_0x4bdd0a+':'+_0x487545};return _0x2ce5b5[_0x46921a]||_0x4bdd0a+':'+_0x487545+':'+_0x1d0959;}}function a0_0x51f2(_0x2bfccc,_0x596cf0){_0x2bfccc=_0x2bfccc-0x154;const _0x303b21=a0_0x303b();let _0x51f28e=_0x303b21[_0x2bfccc];if(a0_0x51f2['rUTVmX']===undefined){var _0x2b41fc=function(_0xc04468){const _0x2db7ed='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2238e6='',_0x2806e7='';for(let _0x103583=0x0,_0x57d16a,_0x49b171,_0x919373=0x0;_0x49b171=_0xc04468['charAt'](_0x919373++);~_0x49b171&&(_0x57d16a=_0x103583%0x4?_0x57d16a*0x40+_0x49b171:_0x49b171,_0x103583++%0x4)?_0x2238e6+=String['fromCharCode'](0xff&_0x57d16a>>(-0x2*_0x103583&0x6)):0x0){_0x49b171=_0x2db7ed['indexOf'](_0x49b171);}for(let _0x322174=0x0,_0x2a1604=_0x2238e6['length'];_0x322174<_0x2a1604;_0x322174++){_0x2806e7+='%'+('00'+_0x2238e6['charCodeAt'](_0x322174)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2806e7);};a0_0x51f2['LHtMar']=_0x2b41fc,a0_0x51f2['ggMRGY']={},a0_0x51f2['rUTVmX']=!![];}const _0x499778=_0x303b21[0x0],_0x54793e=_0x2bfccc+_0x499778,_0x4cd728=a0_0x51f2['ggMRGY'][_0x54793e];return!_0x4cd728?(_0x51f28e=a0_0x51f2['LHtMar'](_0x51f28e),a0_0x51f2['ggMRGY'][_0x54793e]=_0x51f28e):_0x51f28e=_0x4cd728,_0x51f28e;}module['exports']=DateTimeFormatter;
@@ -1 +1 @@
1
- const a0_0x57c1ed=a0_0x1840;function a0_0x1840(_0x46c0b3,_0x58596c){_0x46c0b3=_0x46c0b3-0x110;const _0x52651a=a0_0x5265();let _0x18408a=_0x52651a[_0x46c0b3];if(a0_0x1840['CSBSgy']===undefined){var _0x321bb1=function(_0x2f9623){const _0x577180='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4ef4c8='',_0xdac21='';for(let _0x46805e=0x0,_0x17080e,_0x197bbb,_0x3589ed=0x0;_0x197bbb=_0x2f9623['charAt'](_0x3589ed++);~_0x197bbb&&(_0x17080e=_0x46805e%0x4?_0x17080e*0x40+_0x197bbb:_0x197bbb,_0x46805e++%0x4)?_0x4ef4c8+=String['fromCharCode'](0xff&_0x17080e>>(-0x2*_0x46805e&0x6)):0x0){_0x197bbb=_0x577180['indexOf'](_0x197bbb);}for(let _0x1f924d=0x0,_0x2c591e=_0x4ef4c8['length'];_0x1f924d<_0x2c591e;_0x1f924d++){_0xdac21+='%'+('00'+_0x4ef4c8['charCodeAt'](_0x1f924d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xdac21);};a0_0x1840['kdDZVU']=_0x321bb1,a0_0x1840['FkDEvX']={},a0_0x1840['CSBSgy']=!![];}const _0xd4495d=_0x52651a[0x0],_0x3f5be7=_0x46c0b3+_0xd4495d,_0x4ebb59=a0_0x1840['FkDEvX'][_0x3f5be7];return!_0x4ebb59?(_0x18408a=a0_0x1840['kdDZVU'](_0x18408a),a0_0x1840['FkDEvX'][_0x3f5be7]=_0x18408a):_0x18408a=_0x4ebb59,_0x18408a;}(function(_0x48bc12,_0x4c36f3){const _0x508869=a0_0x1840,_0x4e8ffc=_0x48bc12();while(!![]){try{const _0xfc07d5=parseInt(_0x508869(0x112))/0x1+parseInt(_0x508869(0x130))/0x2+parseInt(_0x508869(0x11a))/0x3*(-parseInt(_0x508869(0x131))/0x4)+-parseInt(_0x508869(0x120))/0x5+parseInt(_0x508869(0x116))/0x6*(parseInt(_0x508869(0x129))/0x7)+-parseInt(_0x508869(0x11f))/0x8*(parseInt(_0x508869(0x113))/0x9)+parseInt(_0x508869(0x117))/0xa*(parseInt(_0x508869(0x119))/0xb);if(_0xfc07d5===_0x4c36f3)break;else _0x4e8ffc['push'](_0x4e8ffc['shift']());}catch(_0x598a28){_0x4e8ffc['push'](_0x4e8ffc['shift']());}}}(a0_0x5265,0x24501));class DateTimeParser{static['parse'](_0x22fe3a,_0x50169f,_0x23980b){const _0x33ec9c=a0_0x1840,_0x72fc91={'BxqSr':function(_0x5adfcd,_0x377a97){return _0x5adfcd===_0x377a97;},'NzJSl':_0x33ec9c(0x11d),'gMdCs':'timestamp','YzAQT':function(_0x39848d,_0x198d61){return _0x39848d===_0x198d61;}};if(!_0x22fe3a||_0x22fe3a==='')return null;try{if(_0x72fc91['BxqSr'](_0x23980b,_0x72fc91[_0x33ec9c(0x12e)]))return this[_0x33ec9c(0x11b)](_0x22fe3a,_0x50169f);else{if(_0x72fc91[_0x33ec9c(0x122)](_0x23980b,_0x72fc91[_0x33ec9c(0x127)]))return this[_0x33ec9c(0x115)](_0x22fe3a,_0x50169f);else{if(_0x72fc91['YzAQT'](_0x23980b,_0x33ec9c(0x110)))return this[_0x33ec9c(0x111)](_0x22fe3a,_0x50169f);}}return _0x22fe3a;}catch(_0x11119c){return console[_0x33ec9c(0x123)](_0x33ec9c(0x125)+_0x11119c['message']),null;}}static['parseDate'](_0x37b17a,_0x35323c){const _0x251284=a0_0x1840,_0x1bc610={'LuLPM':_0x251284(0x124),'AOxaY':_0x251284(0x132),'mCHOH':'month'};if(!_0x35323c||_0x35323c===_0x251284(0x12c))return _0x37b17a;const _0x2cad0b={'dd/MM/yyyy':{'pattern':/^(\d{2})\/(\d{2})\/(\d{4})$/,'order':[_0x1bc610[_0x251284(0x121)],_0x251284(0x12b),_0x251284(0x132)]},'dd-MM-yyyy':{'pattern':/^(\d{2})-(\d{2})-(\d{4})$/,'order':[_0x251284(0x124),_0x251284(0x12b),'year']},'MM/dd/yyyy':{'pattern':/^(\d{2})\/(\d{2})\/(\d{4})$/,'order':['month',_0x251284(0x124),_0x251284(0x132)]},'yyyy/MM/dd':{'pattern':/^(\d{4})\/(\d{2})\/(\d{2})$/,'order':[_0x1bc610['AOxaY'],_0x1bc610['mCHOH'],_0x1bc610[_0x251284(0x121)]]}},_0x5a94bd=_0x2cad0b[_0x35323c];if(!_0x5a94bd)return console['warn'](_0x251284(0x114)+_0x35323c+',\x20returning\x20null'),null;const _0x1beaf2=_0x37b17a['match'](_0x5a94bd['pattern']);if(!_0x1beaf2)return console[_0x251284(0x133)]('Date\x20value\x20\x22'+_0x37b17a+'\x22\x20doesn\x27t\x20match\x20format\x20\x22'+_0x35323c+'\x22'),null;const _0x59a770={'day':null,'month':null,'year':null};return _0x5a94bd['order'][_0x251284(0x118)]((_0x1b9f9c,_0x52c4b9)=>{_0x59a770[_0x1b9f9c]=_0x1beaf2[_0x52c4b9+0x1];}),_0x59a770['year']+'-'+_0x59a770[_0x251284(0x12b)]+'-'+_0x59a770['day'];}static['parseTimestamp'](_0x33a893,_0x4536a0){const _0x3e59d9=a0_0x1840,_0x2bffc8={'JNUbT':function(_0x3a76bc,_0x393bee){return _0x3a76bc!==_0x393bee;},'lalKw':function(_0x96a4b8,_0x1370b1){return _0x96a4b8===_0x1370b1;}};if(!_0x4536a0||_0x4536a0===_0x3e59d9(0x11e))return _0x33a893;const _0x49c7c5=_0x33a893['split']('\x20');if(_0x2bffc8['JNUbT'](_0x49c7c5['length'],0x2))return console['warn'](_0x3e59d9(0x12d)+_0x33a893),null;const [_0x2f469d,_0x3d52f5]=_0x49c7c5,_0x457657=_0x4536a0['split']('\x20')[0x0],_0x1ad249=this[_0x3e59d9(0x11b)](_0x2f469d,_0x457657);if(!_0x1ad249)return null;const _0x3c72a0=_0x2bffc8[_0x3e59d9(0x126)](_0x3d52f5[_0x3e59d9(0x134)](':')[_0x3e59d9(0x11c)],0x2)?_0x3d52f5+':00':_0x3d52f5;return _0x1ad249+'\x20'+_0x3c72a0;}static['parseTime'](_0x1a1148,_0x98c601){const _0x2fc078=a0_0x1840,_0x266ac1={'ciUzN':_0x2fc078(0x12f)};if(!_0x98c601||_0x98c601===_0x266ac1['ciUzN'])return _0x1a1148;if(_0x98c601===_0x2fc078(0x128)){if(_0x1a1148['match'](/^\d{2}:\d{2}$/))return _0x1a1148+':00';}return _0x1a1148;}}module[a0_0x57c1ed(0x12a)]=DateTimeParser;function a0_0x5265(){const _0x229437=['ExL5Es1nts1KzcbisdPTBtPZCW','ogrQEffhAW','mteZmdm5mfbSsLrwCa','thvmue0','qNHXu3i','zxjYB3i','zgf5','rxjYB3iGCgfYC2LUzYbKyxrLDgLTztOG','BgfSs3C','z01Kq3m','seG6Bw0','mta1zg5gzhLm','zxHWB3j0CW','Bw9UDgG','ExL5Es1nts1Kza','sw52ywXPzcb0Aw1LC3rHBxaGzM9YBwf0oIa','tNPku2W','seG6Bw06C3m','mZuXnZCWqNHnwNPJ','mJHUwhDpwNG','EwvHCG','D2fYBG','C3bSAxq','DgLTzq','CgfYC2vuAw1L','nZGXntbrq29hCfG','mZy0ndm3C05Sq2fW','vw5RBM93BIbKyxrLigzVCM1HDdOG','CgfYC2vuAw1LC3rHBxa','mtaZmZG2zvvVCwL0','mZa1ndCWt1vJywrH','zM9YrwfJAa','ndrozvHHzKi','otqWmJburezbAMK','CgfYC2veyxrL','BgvUz3rO','zgf0zq'];a0_0x5265=function(){return _0x229437;};return a0_0x5265();}
1
+ const a0_0x52a819=a0_0x28c9;(function(_0x6f6758,_0x5428d8){const _0x425c27=a0_0x28c9,_0x31e3a3=_0x6f6758();while(!![]){try{const _0x4e3555=parseInt(_0x425c27(0xa7))/0x1+-parseInt(_0x425c27(0x91))/0x2+parseInt(_0x425c27(0xa4))/0x3*(-parseInt(_0x425c27(0xaf))/0x4)+parseInt(_0x425c27(0x9b))/0x5+-parseInt(_0x425c27(0x8e))/0x6+-parseInt(_0x425c27(0xae))/0x7*(parseInt(_0x425c27(0xad))/0x8)+parseInt(_0x425c27(0x8d))/0x9;if(_0x4e3555===_0x5428d8)break;else _0x31e3a3['push'](_0x31e3a3['shift']());}catch(_0x537f3b){_0x31e3a3['push'](_0x31e3a3['shift']());}}}(a0_0xa787,0x3be4e));function a0_0x28c9(_0x3cb832,_0x544bc8){_0x3cb832=_0x3cb832-0x8b;const _0xa787a1=a0_0xa787();let _0x28c950=_0xa787a1[_0x3cb832];if(a0_0x28c9['SPXQFn']===undefined){var _0x357faa=function(_0x480092){const _0x5f1eba='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x51352c='',_0x4c3534='';for(let _0x225124=0x0,_0x3d6198,_0x4bf8e6,_0x589504=0x0;_0x4bf8e6=_0x480092['charAt'](_0x589504++);~_0x4bf8e6&&(_0x3d6198=_0x225124%0x4?_0x3d6198*0x40+_0x4bf8e6:_0x4bf8e6,_0x225124++%0x4)?_0x51352c+=String['fromCharCode'](0xff&_0x3d6198>>(-0x2*_0x225124&0x6)):0x0){_0x4bf8e6=_0x5f1eba['indexOf'](_0x4bf8e6);}for(let _0x88fd=0x0,_0x36204f=_0x51352c['length'];_0x88fd<_0x36204f;_0x88fd++){_0x4c3534+='%'+('00'+_0x51352c['charCodeAt'](_0x88fd)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4c3534);};a0_0x28c9['OpXcWh']=_0x357faa,a0_0x28c9['sAEZAZ']={},a0_0x28c9['SPXQFn']=!![];}const _0x4fd650=_0xa787a1[0x0],_0x178335=_0x3cb832+_0x4fd650,_0xe76e7f=a0_0x28c9['sAEZAZ'][_0x178335];return!_0xe76e7f?(_0x28c950=a0_0x28c9['OpXcWh'](_0x28c950),a0_0x28c9['sAEZAZ'][_0x178335]=_0x28c950):_0x28c950=_0xe76e7f,_0x28c950;}class DateTimeParser{static['parse'](_0x1a4dec,_0x5c7932,_0x15f6b5){const _0x120f17=a0_0x28c9,_0x4bbcfa={'vqRcL':function(_0x40e35e,_0x2ed4ca){return _0x40e35e===_0x2ed4ca;},'MMAWC':_0x120f17(0xb2),'hupjR':_0x120f17(0x8c),'VYeGv':function(_0x45912d,_0x2e1286){return _0x45912d===_0x2e1286;},'PuFxl':_0x120f17(0x99)};if(!_0x1a4dec||_0x1a4dec==='')return null;try{if(_0x4bbcfa['vqRcL'](_0x15f6b5,_0x4bbcfa[_0x120f17(0x98)]))return this[_0x120f17(0x8b)](_0x1a4dec,_0x5c7932);else{if(_0x15f6b5===_0x4bbcfa['hupjR'])return this[_0x120f17(0xab)](_0x1a4dec,_0x5c7932);else{if(_0x4bbcfa[_0x120f17(0xb0)](_0x15f6b5,_0x4bbcfa['PuFxl']))return this['parseTime'](_0x1a4dec,_0x5c7932);}}return _0x1a4dec;}catch(_0x216962){return console[_0x120f17(0x97)](_0x120f17(0x94)+_0x216962[_0x120f17(0xa9)]),null;}}static['parseDate'](_0x2d775c,_0x183696){const _0x4c615b=a0_0x28c9,_0x5e9b2c={'YIBsh':function(_0x3c493f,_0x2dc95e){return _0x3c493f+_0x2dc95e;},'oXlUY':_0x4c615b(0xa6),'clgEC':_0x4c615b(0xaa),'ZaZlO':_0x4c615b(0x92)};if(!_0x183696||_0x183696===_0x4c615b(0x96))return _0x2d775c;const _0x2b6413={'dd/MM/yyyy':{'pattern':/^(\d{2})\/(\d{2})\/(\d{4})$/,'order':[_0x5e9b2c['oXlUY'],_0x5e9b2c['clgEC'],'year']},'dd-MM-yyyy':{'pattern':/^(\d{2})-(\d{2})-(\d{4})$/,'order':[_0x4c615b(0xa6),_0x5e9b2c[_0x4c615b(0xb1)],_0x5e9b2c[_0x4c615b(0x9e)]]},'MM/dd/yyyy':{'pattern':/^(\d{2})\/(\d{2})\/(\d{4})$/,'order':[_0x4c615b(0xaa),'day',_0x5e9b2c['ZaZlO']]},'yyyy/MM/dd':{'pattern':/^(\d{4})\/(\d{2})\/(\d{2})$/,'order':[_0x4c615b(0x92),_0x4c615b(0xaa),_0x5e9b2c[_0x4c615b(0xac)]]}},_0x53b0d2=_0x2b6413[_0x183696];if(!_0x53b0d2)return console[_0x4c615b(0x90)]('Unknown\x20date\x20format:\x20'+_0x183696+_0x4c615b(0x9f)),null;const _0x4de2f0=_0x2d775c[_0x4c615b(0x9a)](_0x53b0d2['pattern']);if(!_0x4de2f0)return console['warn']('Date\x20value\x20\x22'+_0x2d775c+_0x4c615b(0xa2)+_0x183696+'\x22'),null;const _0x1ee079={'day':null,'month':null,'year':null};return _0x53b0d2[_0x4c615b(0x9d)]['forEach']((_0x52bd7b,_0x411d8b)=>{_0x1ee079[_0x52bd7b]=_0x4de2f0[_0x5e9b2c['YIBsh'](_0x411d8b,0x1)];}),_0x1ee079['year']+'-'+_0x1ee079[_0x4c615b(0xaa)]+'-'+_0x1ee079['day'];}static[a0_0x52a819(0xab)](_0x14f382,_0x352885){const _0x24df99=a0_0x52a819,_0xd95c16={'gwBsQ':_0x24df99(0xa8)};if(!_0x352885||_0x352885===_0xd95c16[_0x24df99(0x9c)])return _0x14f382;const _0x4f58f6=_0x14f382[_0x24df99(0x93)]('\x20');if(_0x4f58f6[_0x24df99(0xa3)]!==0x2)return console[_0x24df99(0x90)](_0x24df99(0xa5)+_0x14f382),null;const [_0x29e436,_0x30cb56]=_0x4f58f6,_0x338f7c=_0x352885[_0x24df99(0x93)]('\x20')[0x0],_0x2cfc27=this['parseDate'](_0x29e436,_0x338f7c);if(!_0x2cfc27)return null;const _0x486360=_0x30cb56['split'](':')['length']===0x2?_0x30cb56+':00':_0x30cb56;return _0x2cfc27+'\x20'+_0x486360;}static['parseTime'](_0x2df3f7,_0x537a0f){const _0x5ce240=a0_0x52a819,_0x1ba5fa={'mFyLi':_0x5ce240(0x8f),'eoMWd':function(_0x282e13,_0x32553f){return _0x282e13===_0x32553f;},'ShLhm':'HH:mm'};if(!_0x537a0f||_0x537a0f===_0x1ba5fa['mFyLi'])return _0x2df3f7;if(_0x1ba5fa[_0x5ce240(0xa1)](_0x537a0f,_0x1ba5fa['ShLhm'])){if(_0x2df3f7[_0x5ce240(0x9a)](/^\d{2}:\d{2}$/))return _0x2df3f7+_0x5ce240(0x95);}return _0x2df3f7;}}module[a0_0x52a819(0xa0)]=DateTimeParser;function a0_0xa787(){const _0x22d398=['EwvHCG','C3bSAxq','rxjYB3iGCgfYC2LUzYbKyxrLDgLTztOG','oJaW','ExL5Es1nts1Kza','zxjYB3i','tu1bv0m','DgLTzq','Bwf0y2G','mZG5nty1ELzsvKnj','z3DcC1e','B3jKzxi','wMfABe8','lcbYzxr1CM5PBMCGBNvSBa','zxHWB3j0CW','zw9nv2q','iIbKB2vZBID0ig1HDgnOigzVCM1HDcaI','BgvUz3rO','nK1fqvbKua','sw52ywXPzcb0Aw1LC3rHBxaGzM9YBwf0oIa','zgf5','mti3mZuYuvjLyKzM','ExL5Es1nts1KzcbisdPTBtPZCW','BwvZC2fNzq','Bw9UDgG','CgfYC2vuAw1LC3rHBxa','B1HSvvK','mZjkDxbptxK','mZa4nJa5zvHyAfHx','otuZnta0Dhbyz2Dw','vLLLr3y','y2XNrum','zgf0zq','CgfYC2veyxrL','DgLTzxn0yw1W','mta3mdyXmtjvsgjYA0G','mJKYmdiWmfjirhL3qq','seG6Bw06C3m','D2fYBG','mtK0mtrHAvnzzMS'];a0_0xa787=function(){return _0x22d398;};return a0_0xa787();}
@@ -1 +1 @@
1
- const a0_0x19ec3e=a0_0x5837;(function(_0x3367fa,_0x550ca7){const _0x513e07=a0_0x5837,_0x3068e6=_0x3367fa();while(!![]){try{const _0x3dc3fa=parseInt(_0x513e07(0x74))/0x1+parseInt(_0x513e07(0xa3))/0x2+parseInt(_0x513e07(0x81))/0x3+-parseInt(_0x513e07(0x98))/0x4*(-parseInt(_0x513e07(0x7d))/0x5)+-parseInt(_0x513e07(0x90))/0x6*(parseInt(_0x513e07(0x75))/0x7)+-parseInt(_0x513e07(0x97))/0x8+-parseInt(_0x513e07(0x8b))/0x9;if(_0x3dc3fa===_0x550ca7)break;else _0x3068e6['push'](_0x3068e6['shift']());}catch(_0x164bb8){_0x3068e6['push'](_0x3068e6['shift']());}}}(a0_0x206f,0xa85fd));const {Pool}=require('pg'),{logQuery,logTransaction,startQueryTimer,logDatabaseConfig,logger,logError}=require('./logger'),dbConfig={'host':process[a0_0x19ec3e(0x8a)]['DB_HOST']||a0_0x19ec3e(0x9e),'port':parseInt(process[a0_0x19ec3e(0x8a)]['DB_PORT']||a0_0x19ec3e(0x7c)),'user':process[a0_0x19ec3e(0x8a)]['DB_USER']||'postgres','password':process[a0_0x19ec3e(0x8a)][a0_0x19ec3e(0xab)]||a0_0x19ec3e(0xa5),'database':process[a0_0x19ec3e(0x8a)][a0_0x19ec3e(0x99)]||a0_0x19ec3e(0x78)};logDatabaseConfig({'host':dbConfig[a0_0x19ec3e(0x95)],'port':dbConfig[a0_0x19ec3e(0xa4)],'database':dbConfig['database'],'type':'postgresql','user':dbConfig[a0_0x19ec3e(0x89)]});let pool=new Pool(dbConfig),isPoolClosed=![];function getPool(){const _0x28d6ba={'oxKRW':'Creating\x20new\x20database\x20pool\x20(previous\x20pool\x20was\x20closed)'};return isPoolClosed&&(logger['info']({'event':'db_pool_recreate'},_0x28d6ba['oxKRW']),pool=new Pool(dbConfig),isPoolClosed=![]),pool;}async function executeQuery(_0x710562,_0x3987e9=[]){const _0x18c2e2=a0_0x19ec3e,_0xed1835={'tPDAV':function(_0x5efa92){return _0x5efa92();},'kdgwh':function(_0x37682d){return _0x37682d();},'XmdFx':function(_0x2e8cec,_0x5bd54d,_0x41b318,_0x33730d){return _0x2e8cec(_0x5bd54d,_0x41b318,_0x33730d);},'nluxh':function(_0x47380b){return _0x47380b();}},_0x437259=startQueryTimer();try{const _0xa3f587=_0xed1835['tPDAV'](getPool),_0x2b1a7b=await _0xa3f587['connect']();try{const _0xd61e3=await _0x2b1a7b[_0x18c2e2(0x7b)](_0x710562,_0x3987e9),_0x45cd7c=_0xed1835[_0x18c2e2(0x9d)](_0x437259);return _0xed1835[_0x18c2e2(0x94)](logQuery,_0x710562,_0x3987e9,{'duration':_0x45cd7c,'rowsAffected':_0xd61e3[_0x18c2e2(0x70)],'dbType':'postgresql'}),_0xd61e3['rows'];}finally{_0x2b1a7b[_0x18c2e2(0x8c)]();}}catch(_0x33b063){const _0x34901a=_0xed1835[_0x18c2e2(0x8f)](_0x437259);logError(_0x33b063,{'event':'sql_error','query':_0x710562[_0x18c2e2(0x6f)](0x0,0x1f4),'paramCount':_0x3987e9[_0x18c2e2(0x88)],'durationMs':_0x34901a,'code':_0x33b063['code'],'dbType':'postgresql'},_0x18c2e2(0xa8)+_0x33b063[_0x18c2e2(0x85)]);throw _0x33b063;}}function formatResponse(_0x27de41,_0x240944=null){const _0x5e64fa=a0_0x19ec3e,_0x30ec6b={'uVuqm':'UNKNOWN_ERROR','aWXql':_0x5e64fa(0x80),'IApmX':function(_0x493219,_0x18bc88){return _0x493219===_0x18bc88;},'qOaih':'TABLE_NOT_FOUND','SFnvh':'AUTHENTICATION_ERROR','BQsKm':_0x5e64fa(0xa2),'Rjfby':'08001','lLeWR':function(_0x27a7c9,_0x24e08b){return _0x27a7c9===_0x24e08b;}};if(_0x240944){let _0x42377a=_0x30ec6b['uVuqm'];if(_0x240944['message']['includes'](_0x30ec6b['aWXql']))_0x42377a='SYNTAX_ERROR';else{if(_0x30ec6b[_0x5e64fa(0xa9)](_0x240944[_0x5e64fa(0x9c)],_0x5e64fa(0x7a)))_0x42377a=_0x30ec6b[_0x5e64fa(0x9b)];else{if(_0x240944[_0x5e64fa(0x9c)]===_0x5e64fa(0x79))_0x42377a=_0x30ec6b['SFnvh'];else(_0x240944[_0x5e64fa(0x9c)]===_0x30ec6b[_0x5e64fa(0x76)]||_0x30ec6b['IApmX'](_0x240944['code'],_0x30ec6b['Rjfby']))&&(_0x42377a=_0x5e64fa(0x91));}}return{'success':![],'message':'Database\x20error:\x20'+_0x240944[_0x5e64fa(0x85)],'count':-0x1,'error_code':_0x42377a};}else{if(!_0x27de41||_0x27de41[_0x5e64fa(0x88)]===0x0)return{'success':!![],'message':'No\x20data\x20found.','count':0x0,'data':[]};return{'success':!![],'message':_0x5e64fa(0x71)+_0x27de41['length']+'\x20row'+(_0x30ec6b['lLeWR'](_0x27de41[_0x5e64fa(0x88)],0x1)?'':'s')+'.','count':_0x27de41[_0x5e64fa(0x88)],'data':_0x27de41};}}function a0_0x5837(_0x1bd589,_0x72bf5b){_0x1bd589=_0x1bd589-0x6e;const _0x206f63=a0_0x206f();let _0x583726=_0x206f63[_0x1bd589];if(a0_0x5837['uNWezi']===undefined){var _0x572d2a=function(_0x4613c0){const _0x37afda='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x224420='',_0x2968d1='';for(let _0x87b764=0x0,_0x515002,_0x2637a6,_0x58e18f=0x0;_0x2637a6=_0x4613c0['charAt'](_0x58e18f++);~_0x2637a6&&(_0x515002=_0x87b764%0x4?_0x515002*0x40+_0x2637a6:_0x2637a6,_0x87b764++%0x4)?_0x224420+=String['fromCharCode'](0xff&_0x515002>>(-0x2*_0x87b764&0x6)):0x0){_0x2637a6=_0x37afda['indexOf'](_0x2637a6);}for(let _0x2159f2=0x0,_0x133124=_0x224420['length'];_0x2159f2<_0x133124;_0x2159f2++){_0x2968d1+='%'+('00'+_0x224420['charCodeAt'](_0x2159f2)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2968d1);};a0_0x5837['CFRfTZ']=_0x572d2a,a0_0x5837['fLeFRM']={},a0_0x5837['uNWezi']=!![];}const _0x212041=_0x206f63[0x0],_0x4c38e0=_0x1bd589+_0x212041,_0x15abb5=a0_0x5837['fLeFRM'][_0x4c38e0];return!_0x15abb5?(_0x583726=a0_0x5837['CFRfTZ'](_0x583726),a0_0x5837['fLeFRM'][_0x4c38e0]=_0x583726):_0x583726=_0x15abb5,_0x583726;}async function closePool(){const _0x4f3536=a0_0x19ec3e,_0xa69219={'fWcth':function(_0x2f76db,_0x4fea68,_0x1948dc,_0xb19db5){return _0x2f76db(_0x4fea68,_0x1948dc,_0xb19db5);},'UHQzq':'db_pool_already_closed'};if(!isPoolClosed)try{isPoolClosed=!![],await pool['end'](),logger['info']({'event':'db_pool_closed'},'Database\x20pool\x20closed\x20successfully');}catch(_0x31770e){_0xa69219[_0x4f3536(0x87)](logError,_0x31770e,{'event':'db_pool_close_error'},_0x4f3536(0x7e)+_0x31770e['message']);}else logger['debug']({'event':_0xa69219['UHQzq']},_0x4f3536(0x83));}async function checkConnection(){const _0x9ca9e=a0_0x19ec3e,_0x1584bd={'IqRvq':_0x9ca9e(0x77),'ZWcZr':function(_0x5e08e6,_0x9e8cee,_0x3bf2ca,_0x82af){return _0x5e08e6(_0x9e8cee,_0x3bf2ca,_0x82af);},'DPlTB':'db_connection_check_error'};try{const _0x26d2de=getPool(),_0x2a9ae6=await _0x26d2de[_0x9ca9e(0x73)]();try{return await _0x2a9ae6[_0x9ca9e(0x7b)](_0x1584bd['IqRvq']),!![];}finally{_0x2a9ae6['release']();}}catch(_0x1e5c78){return _0x1584bd[_0x9ca9e(0x82)](logError,_0x1e5c78,{'event':_0x1584bd['DPlTB']},_0x9ca9e(0xa7)+_0x1e5c78['message']),![];}}async function executeTransaction(_0x704fd1){const _0x1320b7=a0_0x19ec3e,_0x53ac68={'oLAyg':function(_0x482833){return _0x482833();},'Bzwgo':function(_0x1c43ff){return _0x1c43ff();},'RGjXr':function(_0xe59274,_0xfe129d,_0x43316c){return _0xe59274(_0xfe129d,_0x43316c);},'DHTOT':_0x1320b7(0xaa),'pkgdI':'COMMIT','Xvseg':function(_0xe18a59,_0x54bf23,_0xbf1912){return _0xe18a59(_0x54bf23,_0xbf1912);},'HuZwM':'postgresql','mCyWn':function(_0x44ea10,_0x1ab969,_0x2589d5,_0x3b6d98){return _0x44ea10(_0x1ab969,_0x2589d5,_0x3b6d98);},'AXifC':function(_0x48d3a2,_0x2cff98,_0x5b9124,_0x2edf5c){return _0x48d3a2(_0x2cff98,_0x5b9124,_0x2edf5c);}};let _0x25a81f;const _0x202154=_0x53ac68['oLAyg'](startQueryTimer);try{const _0x3acef=_0x53ac68[_0x1320b7(0x92)](getPool);_0x25a81f=await _0x3acef['connect'](),_0x53ac68['RGjXr'](logTransaction,_0x53ac68['DHTOT'],_0x704fd1[_0x1320b7(0x88)]),await _0x25a81f['query']('BEGIN');const _0x232a36=[];for(const _0x771027 of _0x704fd1){const _0x3069e5=startQueryTimer(),_0x2a6deb=await _0x25a81f['query'](_0x771027[_0x1320b7(0x86)],_0x771027['params']||[]),_0x24ddcc=_0x3069e5();logQuery(_0x771027[_0x1320b7(0x86)],_0x771027['params']||[],{'duration':_0x24ddcc,'rowsAffected':_0x2a6deb['rowCount'],'dbType':_0x1320b7(0xa1)}),_0x232a36['push'](_0x2a6deb[_0x1320b7(0x8d)]);}await _0x25a81f[_0x1320b7(0x7b)](_0x53ac68[_0x1320b7(0x84)]);const _0x3151eb=_0x202154();return _0x53ac68[_0x1320b7(0x9a)](logTransaction,'commit',_0x704fd1[_0x1320b7(0x88)]),logger[_0x1320b7(0xa6)]({'event':_0x1320b7(0x6e),'queryCount':_0x704fd1['length'],'totalDurationMs':_0x3151eb,'dbType':_0x53ac68[_0x1320b7(0x9f)]},'Transaction\x20committed\x20('+_0x3151eb+_0x1320b7(0xa0)+_0x704fd1['length']+'\x20queries)'),_0x232a36;}catch(_0xcca9c3){const _0x4d9ad4=_0x202154();_0x53ac68[_0x1320b7(0x93)](logError,_0xcca9c3,{'event':'transaction_error','queryCount':_0x704fd1[_0x1320b7(0x88)],'totalDurationMs':_0x4d9ad4,'code':_0xcca9c3[_0x1320b7(0x9c)],'dbType':_0x1320b7(0xa1)},_0x1320b7(0x8e)+_0xcca9c3['message']);if(_0x25a81f)try{await _0x25a81f['query']('ROLLBACK'),logTransaction('rollback',_0x704fd1[_0x1320b7(0x88)]);}catch(_0x598078){_0x53ac68[_0x1320b7(0x7f)](logError,_0x598078,{'event':_0x1320b7(0x96),'dbType':_0x53ac68[_0x1320b7(0x9f)]},'Error\x20rolling\x20back\x20transaction:\x20'+_0x598078[_0x1320b7(0x85)]);}throw _0xcca9c3;}finally{if(_0x25a81f)try{_0x25a81f['release']();}catch(_0x513fec){logger[_0x1320b7(0x72)]({'event':'client_release_error','error':_0x513fec[_0x1320b7(0x85)],'dbType':'postgresql'},'Error\x20releasing\x20transaction\x20client:\x20'+_0x513fec['message']);}}}module['exports']={'executeQuery':executeQuery,'executeTransaction':executeTransaction,'formatResponse':formatResponse,'closePool':closePool,'getPool':getPool,'checkConnection':checkConnection};function a0_0x206f(){const _0x248211=['wLDJwNi','rgf0ywjHC2uGCg9VBcb3yxmGywXYzwfKEsbJBg9Zzwq','CgTNzeK','BwvZC2fNzq','C3fS','zLDJDgG','BgvUz3rO','DxnLCG','zw52','mtqZnZaZodfQB2f3u0G','CMvSzwfZzq','CM93CW','vhjHBNnHy3rPB24GzMfPBgvKoIa','BMX1EgG','odC1ndziAxnsEgS','q09otKvdveLptL9fuLjpuG','qNP3z28','Bun5v24','wg1KrNG','Ag9ZDa','CM9SBgjHy2TFzxjYB3i','ndaXntu2mhrQAMjpqq','mti5mdrks2DcAhm','rejFtKfnrq','whzZzwC','Cu9HAwG','y29Kzq','A2rND2G','mtKYlJe2oc4XmdaUmq','shvAD00','BxmSia','Cg9ZDgDYzxnXBa','mdGWmdy','mJuYnJm0nNDHB2D4ta','Cg9YDa','Cg9ZDgDYzxmXmJm0','Aw5MBW','rxjYB3iGy2HLy2TPBMCGzgf0ywjHC2uGy29UBMvJDgLVBJOG','u1fmievYCM9YoIa','sufWBvG','C3rHCNq','rejFueftu1DpuKq','DhjHBNnHy3rPB25Fy29TCgXLDgu','C3vIC3rYAw5N','CM93q291BNq','uxvLCNKGCMv0DxjUzwqG','zxjYB3i','y29UBMvJDa','nJGZmZm1CNrOsNbv','mZvdvxLtCwK','qLfZs20','u0vmrunuide','zgj4ytaZ','mJHqmde','ndjqmde','CxvLCNK','ntqZmG','mZm1whzND0rt','rxjYB3iGy2XVC2LUzYbKyxrHyMfZzsbWB29SoIa','qvHPzKm','C3LUDgf4igvYCM9Y','mJa5ntG2mfbzzMv4rW'];a0_0x206f=function(){return _0x248211;};return a0_0x206f();}
1
+ const a0_0x54eb99=a0_0x5584;(function(_0x55c09c,_0x4354da){const _0x406432=a0_0x5584,_0x437a7e=_0x55c09c();while(!![]){try{const _0x21a507=-parseInt(_0x406432(0x10c))/0x1+-parseInt(_0x406432(0x104))/0x2*(-parseInt(_0x406432(0x118))/0x3)+-parseInt(_0x406432(0x117))/0x4*(-parseInt(_0x406432(0xeb))/0x5)+-parseInt(_0x406432(0xf2))/0x6*(parseInt(_0x406432(0xec))/0x7)+-parseInt(_0x406432(0xef))/0x8+-parseInt(_0x406432(0x112))/0x9*(parseInt(_0x406432(0xff))/0xa)+parseInt(_0x406432(0x111))/0xb*(parseInt(_0x406432(0x108))/0xc);if(_0x21a507===_0x4354da)break;else _0x437a7e['push'](_0x437a7e['shift']());}catch(_0xb6e5d5){_0x437a7e['push'](_0x437a7e['shift']());}}}(a0_0x3e90,0x64ea8));const {Pool}=require('pg'),{logQuery,logTransaction,startQueryTimer,logDatabaseConfig,logger,logError}=require(a0_0x54eb99(0xe5)),dbConfig={'host':process[a0_0x54eb99(0xf4)][a0_0x54eb99(0x11d)]||a0_0x54eb99(0x110),'port':parseInt(process['env'][a0_0x54eb99(0x101)]||'5432'),'user':process[a0_0x54eb99(0xf4)]['DB_USER']||'postgres','password':process['env']['DB_PASSWORD']||a0_0x54eb99(0x115),'database':process['env']['DB_NAME']||'dbxa03'};logDatabaseConfig({'host':dbConfig[a0_0x54eb99(0x11e)],'port':dbConfig['port'],'database':dbConfig['database'],'type':'postgresql','user':dbConfig[a0_0x54eb99(0x11f)]});let pool=new Pool(dbConfig),isPoolClosed=![];function getPool(){const _0x4b33ba=a0_0x54eb99,_0x1334b6={'sWiMn':_0x4b33ba(0xf1)};return isPoolClosed&&(logger['info']({'event':_0x1334b6['sWiMn']},'Creating\x20new\x20database\x20pool\x20(previous\x20pool\x20was\x20closed)'),pool=new Pool(dbConfig),isPoolClosed=![]),pool;}function a0_0x3e90(){const _0x5297ed=['uuf3seu','u0vmrunuide','mJC1nZyWrhzKtLDn','mtGZnZqWovjmuKnYyW','q09otKvdveLptL9fuLjpuG','uhHMrwW','ndmYmtC2A05eEvre','tM8Gzgf0ysbMB3vUzc4','zgjFCg9VBf9YzwnYzwf0zq','nK14rhrYrW','CMvSzwfZzq','zw52','C21PvNa','C3fS','Cg9ZDgDYzxnXBa','q09ntuLu','y2XPzw50x3jLBgvHC2vFzxjYB3i','rvLnt1q','DhjHBNnHy3rPB25FzxjYB3i','CxvLCNK','rxjYB3iGy2HLy2TPBMCGzgf0ywjHC2uGy29UBMvJDgLVBJOG','zgvIDwC','ndmZmJG0mfnsAvDbDq','BwvZC2fNzq','rejFue9sva','rxjYB3iGy2XVC2LUzYbKyxrHyMfZzsbWB29SoIa','DNDSrLC','mKTJBfj2rW','DeTWyMG','zgjFCg9VBf9HBhjLywr5x2nSB3nLza','y2Puzxq','mtjXCxjpBLG','mdGWmdy','zxHWB3j0CW','CM93CW','mJq2nJu5zMnPqwvr','vhfqDxO','u1fmievYCM9YoIa','C3vIC3rYAw5N','mtKYlJe2oc4XmdaUmq','nZK2mti2mxjeuxbjBW','oxDLC3f4vG','vu5ltK9xtL9fuLjpuG','Axz2A1C','Cg9ZDgDYzxmXmJm0','C3rHCNq','ndHwrfHlAKS','nZi2odDWq0vgte0','BgvUz3rO','zxjYB3i','uxvLCNKGCMv0DxjUzwqG','mJHqmde','rejFse9tva','Ag9ZDa','DxnLCG','Aw5JBhvKzxm','y29Kzq','zhD5Axa','rgf0ywjHC2uGzxjYB3i6ia','B1rfyuO','lI9SB2DNzxi','CM93q291BNq','z3H1twu','DhjHBNnHy3rPB25Fy29TCgXLDgu'];a0_0x3e90=function(){return _0x5297ed;};return a0_0x3e90();}async function executeQuery(_0x34f59e,_0x551278=[]){const _0x242b22=a0_0x54eb99,_0x171fae={'tKpbh':function(_0x4df09b){return _0x4df09b();},'smiVp':function(_0x237bc1,_0x4f0627,_0x286b57,_0x35183d){return _0x237bc1(_0x4f0627,_0x286b57,_0x35183d);}},_0x1d6bdd=_0x171fae[_0x242b22(0x105)](startQueryTimer);try{const _0x3dc75c=getPool(),_0x11d9a0=await _0x3dc75c['connect']();try{const _0x174c8b=await _0x11d9a0['query'](_0x34f59e,_0x551278),_0x3234c9=_0x1d6bdd();return logQuery(_0x34f59e,_0x551278,{'duration':_0x3234c9,'rowsAffected':_0x174c8b[_0x242b22(0xe6)],'dbType':'postgresql'}),_0x174c8b[_0x242b22(0x10b)];}finally{_0x11d9a0['release']();}}catch(_0xc3f8a2){const _0x262662=_0x1d6bdd();_0x171fae[_0x242b22(0xf5)](logError,_0xc3f8a2,{'event':'sql_error','query':_0x34f59e[_0x242b22(0x10f)](0x0,0x1f4),'paramCount':_0x551278[_0x242b22(0x119)],'durationMs':_0x262662,'code':_0xc3f8a2[_0x242b22(0x121)],'dbType':_0x242b22(0xf7)},_0x242b22(0x10e)+_0xc3f8a2['message']);throw _0xc3f8a2;}}function formatResponse(_0x4da6e6,_0x3a3ada=null){const _0x187ec4=a0_0x54eb99,_0x1716bf={'kqtMB':_0x187ec4(0x113),'dwyip':function(_0x7f7470,_0x8ac60){return _0x7f7470===_0x8ac60;},'cjTet':'42P01','ZRIas':'TABLE_NOT_FOUND','SZcek':_0x187ec4(0x109),'jYThO':_0x187ec4(0xed)};if(_0x3a3ada){let _0x2822c2=_0x1716bf['kqtMB'];if(_0x3a3ada['message'][_0x187ec4(0x120)]('syntax\x20error'))_0x2822c2='SYNTAX_ERROR';else{if(_0x1716bf[_0x187ec4(0x122)](_0x3a3ada[_0x187ec4(0x121)],_0x1716bf[_0x187ec4(0x107)]))_0x2822c2=_0x1716bf['ZRIas'];else{if(_0x1716bf[_0x187ec4(0x122)](_0x3a3ada['code'],_0x187ec4(0x11c)))_0x2822c2='AUTHENTICATION_ERROR';else(_0x3a3ada[_0x187ec4(0x121)]===_0x1716bf['SZcek']||_0x3a3ada['code']==='08001')&&(_0x2822c2=_0x1716bf['jYThO']);}}return{'success':![],'message':_0x187ec4(0xe3)+_0x3a3ada['message'],'count':-0x1,'error_code':_0x2822c2};}else{if(!_0x4da6e6||_0x4da6e6['length']===0x0)return{'success':!![],'message':_0x187ec4(0xf0),'count':0x0,'data':[]};return{'success':!![],'message':_0x187ec4(0x11b)+_0x4da6e6[_0x187ec4(0x119)]+'\x20row'+(_0x4da6e6['length']===0x1?'':'s')+'.','count':_0x4da6e6['length'],'data':_0x4da6e6};}}function a0_0x5584(_0x3dc9d5,_0x55c473){_0x3dc9d5=_0x3dc9d5-0xe3;const _0x3e90aa=a0_0x3e90();let _0x558420=_0x3e90aa[_0x3dc9d5];if(a0_0x5584['hELuhd']===undefined){var _0x16e430=function(_0x55c89d){const _0xd72515='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2c0875='',_0xeffe38='';for(let _0x5584b6=0x0,_0x11b8af,_0x356976,_0x43c4ec=0x0;_0x356976=_0x55c89d['charAt'](_0x43c4ec++);~_0x356976&&(_0x11b8af=_0x5584b6%0x4?_0x11b8af*0x40+_0x356976:_0x356976,_0x5584b6++%0x4)?_0x2c0875+=String['fromCharCode'](0xff&_0x11b8af>>(-0x2*_0x5584b6&0x6)):0x0){_0x356976=_0xd72515['indexOf'](_0x356976);}for(let _0x20f22b=0x0,_0x1111e3=_0x2c0875['length'];_0x20f22b<_0x1111e3;_0x20f22b++){_0xeffe38+='%'+('00'+_0x2c0875['charCodeAt'](_0x20f22b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xeffe38);};a0_0x5584['rvNpeS']=_0x16e430,a0_0x5584['NbiWrx']={},a0_0x5584['hELuhd']=!![];}const _0x5a4e91=_0x3e90aa[0x0],_0x34d98e=_0x3dc9d5+_0x5a4e91,_0x43e47f=a0_0x5584['NbiWrx'][_0x34d98e];return!_0x43e47f?(_0x558420=a0_0x5584['rvNpeS'](_0x558420),a0_0x5584['NbiWrx'][_0x34d98e]=_0x558420):_0x558420=_0x43e47f,_0x558420;}async function closePool(){const _0x5a7710=a0_0x54eb99,_0x56e3f1={'vfCmm':'Database\x20pool\x20closed\x20successfully','ulqQP':function(_0x292a27,_0x42f33f,_0x3430ee,_0x474689){return _0x292a27(_0x42f33f,_0x3430ee,_0x474689);},'vwlFW':_0x5a7710(0x106)};if(!isPoolClosed)try{isPoolClosed=!![],await pool['end'](),logger['info']({'event':'db_pool_closed'},_0x56e3f1['vfCmm']);}catch(_0x30349a){_0x56e3f1['ulqQP'](logError,_0x30349a,{'event':'db_pool_close_error'},_0x5a7710(0x102)+_0x30349a[_0x5a7710(0x100)]);}else logger[_0x5a7710(0xfe)]({'event':_0x56e3f1[_0x5a7710(0x103)]},'Database\x20pool\x20was\x20already\x20closed');}async function checkConnection(){const _0x548509=a0_0x54eb99,_0x325452={'qIpOK':function(_0x497650){return _0x497650();},'EYMOT':_0x548509(0xea),'njbdr':function(_0x2f7516,_0x51a55a,_0x12f950,_0x5916f0){return _0x2f7516(_0x51a55a,_0x12f950,_0x5916f0);},'PxfEl':'db_connection_check_error'};try{const _0x412b7f=_0x325452['qIpOK'](getPool),_0x445c11=await _0x412b7f['connect']();try{return await _0x445c11[_0x548509(0xfc)](_0x325452[_0x548509(0xfa)]),!![];}finally{_0x445c11[_0x548509(0xf3)]();}}catch(_0x2a49e2){return _0x325452['njbdr'](logError,_0x2a49e2,{'event':_0x325452[_0x548509(0xee)]},_0x548509(0xfd)+_0x2a49e2['message']),![];}}async function executeTransaction(_0x29a544){const _0x3b0b53=a0_0x54eb99,_0x329c5c={'TqPuz':function(_0x2a80de){return _0x2a80de();},'oTEaJ':_0x3b0b53(0x116),'gxuMe':'BEGIN','dxKeD':_0x3b0b53(0xf8),'lZELU':'commit','ivvkW':'postgresql','LAWWc':function(_0x46abb6){return _0x46abb6();},'QAwHE':'rollback_error','uqmaH':_0x3b0b53(0xf9)};let _0x5cf404;const _0x2ea40d=_0x329c5c['TqPuz'](startQueryTimer);try{const _0x33add9=getPool();_0x5cf404=await _0x33add9['connect'](),logTransaction(_0x329c5c[_0x3b0b53(0xe4)],_0x29a544['length']),await _0x5cf404[_0x3b0b53(0xfc)](_0x329c5c[_0x3b0b53(0xe7)]);const _0x25b7d2=[];for(const _0x1e4e1d of _0x29a544){const _0x140f57=startQueryTimer(),_0x3a62e5=await _0x5cf404['query'](_0x1e4e1d[_0x3b0b53(0xf6)],_0x1e4e1d['params']||[]),_0x185e99=_0x329c5c[_0x3b0b53(0x10d)](_0x140f57);logQuery(_0x1e4e1d[_0x3b0b53(0xf6)],_0x1e4e1d['params']||[],{'duration':_0x185e99,'rowsAffected':_0x3a62e5[_0x3b0b53(0xe6)],'dbType':'postgresql'}),_0x25b7d2['push'](_0x3a62e5['rows']);}await _0x5cf404['query'](_0x329c5c['dxKeD']);const _0x3ff6cc=_0x2ea40d();return logTransaction(_0x329c5c['lZELU'],_0x29a544['length']),logger['info']({'event':_0x3b0b53(0xe8),'queryCount':_0x29a544[_0x3b0b53(0x119)],'totalDurationMs':_0x3ff6cc,'dbType':_0x329c5c[_0x3b0b53(0x114)]},'Transaction\x20committed\x20('+_0x3ff6cc+'ms,\x20'+_0x29a544['length']+'\x20queries)'),_0x25b7d2;}catch(_0x504432){const _0x2a9b5c=_0x329c5c['LAWWc'](_0x2ea40d);logError(_0x504432,{'event':_0x3b0b53(0xfb),'queryCount':_0x29a544[_0x3b0b53(0x119)],'totalDurationMs':_0x2a9b5c,'code':_0x504432[_0x3b0b53(0x121)],'dbType':_0x329c5c['ivvkW']},'Transaction\x20failed:\x20'+_0x504432['message']);if(_0x5cf404)try{await _0x5cf404['query']('ROLLBACK'),logTransaction('rollback',_0x29a544[_0x3b0b53(0x119)]);}catch(_0x18638){logError(_0x18638,{'event':_0x329c5c[_0x3b0b53(0xe9)],'dbType':_0x329c5c['ivvkW']},'Error\x20rolling\x20back\x20transaction:\x20'+_0x18638[_0x3b0b53(0x100)]);}throw _0x504432;}finally{if(_0x5cf404)try{_0x5cf404['release']();}catch(_0x2587c1){logger[_0x3b0b53(0x11a)]({'event':_0x329c5c['uqmaH'],'error':_0x2587c1[_0x3b0b53(0x100)],'dbType':_0x3b0b53(0xf7)},'Error\x20releasing\x20transaction\x20client:\x20'+_0x2587c1[_0x3b0b53(0x100)]);}}}module[a0_0x54eb99(0x10a)]={'executeQuery':executeQuery,'executeTransaction':executeTransaction,'formatResponse':formatResponse,'closePool':closePool,'getPool':getPool,'checkConnection':checkConnection};
@@ -1 +1 @@
1
- const a0_0x1f7e7c=a0_0x3736;(function(_0x2ca2d8,_0x4dc6bf){const _0x586b6e=a0_0x3736,_0x15cb27=_0x2ca2d8();while(!![]){try{const _0x3932fa=parseInt(_0x586b6e(0xda))/0x1+-parseInt(_0x586b6e(0x13a))/0x2*(-parseInt(_0x586b6e(0xd1))/0x3)+-parseInt(_0x586b6e(0x107))/0x4+-parseInt(_0x586b6e(0x113))/0x5+-parseInt(_0x586b6e(0xdc))/0x6*(-parseInt(_0x586b6e(0x15f))/0x7)+-parseInt(_0x586b6e(0x136))/0x8*(parseInt(_0x586b6e(0xd0))/0x9)+parseInt(_0x586b6e(0x142))/0xa;if(_0x3932fa===_0x4dc6bf)break;else _0x15cb27['push'](_0x15cb27['shift']());}catch(_0x50d896){_0x15cb27['push'](_0x15cb27['shift']());}}}(a0_0x1266,0xb7177));const pino=require(a0_0x1f7e7c(0x143)),fs=require('fs'),path=require(a0_0x1f7e7c(0x174));function a0_0x3736(_0x6f716f,_0x46d07e){_0x6f716f=_0x6f716f-0xc3;const _0x12661b=a0_0x1266();let _0x37369a=_0x12661b[_0x6f716f];if(a0_0x3736['LSsYZs']===undefined){var _0x5e78ca=function(_0x25d2ea){const _0x52e235='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x237f41='',_0x278f4c='';for(let _0x4f4ae5=0x0,_0x1a8d50,_0x33faa2,_0x596261=0x0;_0x33faa2=_0x25d2ea['charAt'](_0x596261++);~_0x33faa2&&(_0x1a8d50=_0x4f4ae5%0x4?_0x1a8d50*0x40+_0x33faa2:_0x33faa2,_0x4f4ae5++%0x4)?_0x237f41+=String['fromCharCode'](0xff&_0x1a8d50>>(-0x2*_0x4f4ae5&0x6)):0x0){_0x33faa2=_0x52e235['indexOf'](_0x33faa2);}for(let _0x5967dc=0x0,_0x136508=_0x237f41['length'];_0x5967dc<_0x136508;_0x5967dc++){_0x278f4c+='%'+('00'+_0x237f41['charCodeAt'](_0x5967dc)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x278f4c);};a0_0x3736['yezIDQ']=_0x5e78ca,a0_0x3736['YswFRO']={},a0_0x3736['LSsYZs']=!![];}const _0x12a728=_0x12661b[0x0],_0x2912e1=_0x6f716f+_0x12a728,_0x504912=a0_0x3736['YswFRO'][_0x2912e1];return!_0x504912?(_0x37369a=a0_0x3736['yezIDQ'](_0x37369a),a0_0x3736['YswFRO'][_0x2912e1]=_0x37369a):_0x37369a=_0x504912,_0x37369a;}let logToFile=![],logDir=a0_0x1f7e7c(0xe3),serviceName=a0_0x1f7e7c(0xf9),sqlLogEnabled=![],sqlLogLevel='debug',sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':'SYS:HH:MM:ss','ignore':'pid,hostname,service,version,env,event,module,port,config,apiKeyEnabled,path,workingDir,isPkg,isNodeScript,file,email,type,cors,logging,apiKey,count,endpoint,route','singleLine':![],'levelFirst':!![],'messageFormat':a0_0x1f7e7c(0xea),'customColors':'info:blue,warn:yellow,error:red,debug:gray','hideObject':!![]},isDevelopment=process['env']['NODE_ENV']!==a0_0x1f7e7c(0x12c),logLevel=process['env'][a0_0x1f7e7c(0x153)]||'info';function a0_0x1266(){const _0x400d65=['B2jQzwn0','B3jPz2LUywXvCMW','BNnVq0e','zxHPC3rZu3LUyW','te9hx0XfvKvm','C3rHCNrZv2L0Aa','sLDux1nfq1jfva','CgfZC3DVCMq','CgLUBY1WCMv0DhK','ALfLDMe','w09lxsbtzxj2zxiGCMvHzhKGB24GCg9YDca','zgv2zwXVCg1LBNq','qunusvzf','r2XVyMfSigvYCM9YigHHBMrSzxjZigLUAxrPywXPEMvK','C3Lnt2C','ug14wgS','nZiXCMTICeXW','zfL6Ewu','BwvZC2fNzq','C0zlDve','q1jfqvrf','BwfW','C3rHy2S','rvLXu1K','Ec1Yzxf1zxn0lwLK','w1jfrefdveveoMHHC2HD','CMvXlMHLywrLCNmUyxv0Ag9YAxPHDgLVBG','wuLTrfq','vhjHBNnHy3rPB24G','u0vmrunu','zMf0ywW','BurNufK','vfjbtLnbq1rjt05FqKvhsu4','q1jjveLdquW','Ahj0Aw1L','rMLSzsbSB2DNAw5NigvUywjSzwq6ia','CMvXlMHLywrLCNnBiNGTyxbPlwTLEsjD','Cgf0Aa','D3jPDgu','DxnLCI1Hz2vUDa','CMvTB3rLqwrKCMvZCW','zhf6rgy','z2zABvy','rxjYB3i6ia','Bwv0Ag9K','t3HcEuO','w1jfrefdvevexq','Dg9ju09tDhjPBMC','Dg9vChbLCKnHC2u','A2jSEum','C2vYDMvYx3jLywr5','C2vJCMv0','C3rKvgLTzuz1BMn0Aw9UCW','Dxb0Aw1L','u3DtzfK','D2fYBG','C2vYDMLJzuLUzM8','CvrQEey','w09lxsbqCM9Qzwn0igXVywrLzdOG','zgvIDwC','nda0ntC3r2rprxLv','nti0mda3EMr2uKTm','wvjuEfm','y0Pwvfy','q2PYz1e','y3jLzgL0x2nHCMq','BKjhBe4','ic0G','CxzOAw4','ywnJzxnZx3rVA2vU','mJq2nJaWBgHzvKjf','zhvfrwu','ntm2odHetfnvA20','Cg9YDa','uK9mtejbq0S','qMTuwNy','wLjHufy','ChjVy2vZC193yxjUAw5N','tLDMu0m','lI9SB2DZ','ChjPDMf0zv9RzxK','wLrutLe','te9hx1rpx0zjteu','zw52','Ag9ZDa','Aw5JBhvKzxm','E21Zz30','su5trvju','BwTKAxjtEw5J','zxjY','Dw5Oyw5KBgvKuMvQzwn0Aw9U','AgvHBhrOq2HLy2S','zMfSC2u','rejFueftu1DpuKq','sg5Vve4','Bg9N','Bwf0y2G','y3DK','zgf0ywjHC2vFy29UzMLN','Ahr0Cf9Yzxf1zxn0','rermx0nsrufurq','CMvZDgzVCMDL','iokvKqRILzRILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILz0','Dg9mB3DLCKnHC2u','yxv0Ag9YAxPHDgLVBG','ChDK','wgP3Dem','Cwfnvve','y3jLzgvUDgLHBa','BMXwywi','cUkvLokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvLWRILzeGicaGicaGicaGicaGifjfu1rgt1jhrsbsvu5usu1fifnfuLzfuIaGicaGicaGicaGicaGicaG4PwrcUkvOokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvOWRILzeGievUDMLYB25Tzw50idOG','vxv5zw8','yxbWlMXVzW','tK9erv9ftLy','t3DPzfC','nteYnZyYmfr5DfPXzq','Dw5JyxvNAhrfEgnLChrPB24','C3rHDhvZ','rermx0fmvevs','yK1dy0q','BeTPsLK','zxjYB3i','yxbPs2v5','zMf0ywXFzxjYB3i','vuPhz08','CgfZC3DK','CM93C0fMzMvJDgvK','nJuXodKWnxDWAgnAtq','y3jLzgvUDgLHBhm','BMfTzq','ChjVAMvJDf9SB2fKzwq','iokvKqRILzeGifbVCNqGicaGicaGidOG','rMfPBgvKihrVignYzwf0zsbSB2CGC3rYzwfTCZO','zxHWB3j0CW','uhjVy2vZCYbxyxjUAw5NoIa','vvbeqvrf','rfjpua','vfjbtLnbq1rjt05Fq09ntuLu','DKT0zuG','t0ftsgS','iokvKqRILzeGiefqssblzxKGicaGidOG','Ahr0Cf9LCNjVCG','iokvKqRILzeGienVBMzPzYaGicaGidOG','A2v5CW','reL0q2W','y3jLyxrLv3jPDgvtDhjLyw0','yMfZzvvYBa','BgvUz3rO','CgLU','zgf0ywjHC2u','tI9b','y29UzMLNrMLSzq','ChjVzhvJDgLVBG','u1fmx0Xpr19mrvzfta','CgfKrw5K','DgvZDa','y29Kzq','DxnLCG','Dg9gAxHLza','C3nU','BxmP','Aw5MBW','ofzRwKTdBW','q21Avgm','vuPoww8','rxjYB3i','mtbTEuPrDfe','revmrvrf','uvHhDhq','C29Tzq','reiGuxvLCNK','C3rHDhvZq29Kzq','tLrpruW','CMvWBgfJzq','mtmZodK5mZbbDe5xrxG','CgLUBW','CgfYyw1Z','DhjPBq','zgjFCxvLCNK','C3rKu2vYAwfSAxPLCNm','tK9uiefdveLwrq','ifTtte9xxq','z2v0sgvHzgvYCW','ChjVAMvJDa','ChjPDMf0zwTLEq','CMvMCMvZAf90B2TLBG','icdIHPiG'];a0_0x1266=function(){return _0x400d65;};return a0_0x1266();}let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':a0_0x1f7e7c(0x157),'options':prettyPrintOptions}:undefined,'base':{'service':'restforge','version':process['env']['APP_VERSION']||'1.0.5','env':process[a0_0x1f7e7c(0xe7)][a0_0x1f7e7c(0x105)]||a0_0x1f7e7c(0x15a)},'timestamp':pino[a0_0x1f7e7c(0xc8)]['isoTime'],'redact':{'paths':[a0_0x1f7e7c(0x169),a0_0x1f7e7c(0x173),'password','token',a0_0x1f7e7c(0x10e),a0_0x1f7e7c(0xf1),a0_0x1f7e7c(0x155)],'censor':'[REDACTED]'},'serializers':{'req':_0x12779f=>({'id':_0x12779f['id'],'method':_0x12779f['method'],'url':_0x12779f['url'],'path':_0x12779f[a0_0x1f7e7c(0x174)],'remoteAddress':_0x12779f['ip']||_0x12779f['connection']?.['remoteAddress']}),'res':_0x5016d9=>({'statusCode':_0x5016d9[a0_0x1f7e7c(0x13f)],'headers':_0x5016d9[a0_0x1f7e7c(0x14a)]?.()}),'err':pino[a0_0x1f7e7c(0x147)][a0_0x1f7e7c(0xed)]}});function initFileLogging(){const _0x1cf8b6=a0_0x1f7e7c,_0x52e5d2={'YbKHP':_0x1cf8b6(0xe3),'UJNYo':'restforge','faFcR':function(_0x408868,_0x1e81b1){return _0x408868===_0x1e81b1;},'UJGgO':'debug','jQeva':'error.log','gfZmV':function(_0x54bffb,_0x4c6d69,_0x3d3bda){return _0x54bffb(_0x4c6d69,_0x3d3bda);}};if(fileLoggingInitialized)return;logToFile=process['env'][_0x1cf8b6(0xe6)]==='true',logDir=process[_0x1cf8b6(0xe7)]['LOG_DIR']||_0x52e5d2['YbKHP'],serviceName=process['env']['SERVICE_NAME']||_0x52e5d2[_0x1cf8b6(0x138)],sqlLogEnabled=_0x52e5d2['faFcR'](process['env']['SQL_LOG_ENABLED'],'true'),sqlLogLevel=process[_0x1cf8b6(0xe7)][_0x1cf8b6(0x12d)]||_0x52e5d2[_0x1cf8b6(0x110)],sqlLogParams=process[_0x1cf8b6(0xe7)]['SQL_LOG_PARAMS']!==_0x1cf8b6(0xf0),sqlLogSlowThreshold=parseInt(process['env']['SQL_LOG_SLOW_THRESHOLD'])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x3a6684=path['resolve'](process[_0x1cf8b6(0xf5)](),logDir);try{!fs[_0x1cf8b6(0x152)](_0x3a6684)&&fs[_0x1cf8b6(0xec)](_0x3a6684,{'recursive':!![]});}catch(_0x37a152){console[_0x1cf8b6(0x10d)]('Failed\x20to\x20create\x20log\x20directory\x20'+_0x3a6684+':',_0x37a152[_0x1cf8b6(0x161)]),fileLoggingInitialized=!![];return;}const _0x4cc07e=path['join'](_0x3a6684,_0x1cf8b6(0x104)),_0x1565e9=path['join'](_0x3a6684,_0x52e5d2[_0x1cf8b6(0x158)]);try{appLogStream=fs[_0x1cf8b6(0x125)](_0x4cc07e,{'flags':'a'}),errorLogStream=fs['createWriteStream'](_0x1565e9,{'flags':'a'}),fileLoggingInitialized=!![];const _0x8e2301={'event':'file_logging_enabled','logDir':_0x3a6684,'files':[_0x1cf8b6(0x104),'error.log']},_0x500d85=_0x1cf8b6(0x172)+_0x3a6684;logger['info'](_0x8e2301,_0x500d85),_0x52e5d2[_0x1cf8b6(0x179)](writeToFileLog,{..._0x8e2301,'level':'info','msg':_0x500d85,'time':new Date()[_0x1cf8b6(0xc3)]()},'info');}catch(_0x249e6c){console[_0x1cf8b6(0x10d)](_0x1cf8b6(0x118),_0x249e6c[_0x1cf8b6(0x161)]),fileLoggingInitialized=!![];}}function writeToFileLog(_0x3b698a,_0x7618ae){const _0x4ab201=a0_0x1f7e7c,_0x50c51a={'ipoeF':'error','syMOg':_0x4ab201(0x16d)};if(!logToFile||!appLogStream)return;const _0x4f6ed0={'service':serviceName,..._0x3b698a},_0x53a959=JSON['stringify'](_0x4f6ed0)+'\x0a';appLogStream[_0x4ab201(0x175)](_0x53a959),(_0x7618ae===_0x50c51a['ipoeF']||_0x7618ae===_0x50c51a[_0x4ab201(0x15d)])&&(errorLogStream&&errorLogStream['write'](_0x53a959));}const createRequestLogger=(_0x5f1b8d={})=>{return logger['child'](_0x5f1b8d);},logServerStart=_0x3d5234=>{const _0x29ffda=a0_0x1f7e7c,_0x2fd62a={'SZgIn':'Node.js','Shibd':'Default','bBLdI':_0x29ffda(0x15b),'LVDZY':_0x29ffda(0x148),'cJVTV':function(_0x44ff1f,_0x1f7251,_0x27a725){return _0x44ff1f(_0x1f7251,_0x27a725);},'NxXLD':'info'},_0x26e676=_0x29ffda(0x102)+(_0x3d5234['environment']||_0x2fd62a['SZgIn'])['padEnd'](0x26)+'\x20║\x0a║\x20\x20Project\x20\x20\x20\x20\x20:\x20'+(_0x3d5234['project']||_0x29ffda(0x12a))['padEnd'](0x26)+_0x29ffda(0x117)+String(_0x3d5234['port']||0xbb8)[_0x29ffda(0x12e)](0x26)+_0x29ffda(0x122)+(_0x3d5234[_0x29ffda(0x12b)]||_0x2fd62a['Shibd'])[_0x29ffda(0x12e)](0x26)+_0x29ffda(0x120)+(_0x3d5234['apiKey']?_0x2fd62a['bBLdI']:_0x2fd62a['LVDZY'])[_0x29ffda(0x12e)](0x26)+_0x29ffda(0xfa);console[_0x29ffda(0xf3)](_0x26e676);const _0x2f2449={'event':'server_starting','project':_0x3d5234['project'],'port':_0x3d5234[_0x29ffda(0xdd)],'config':_0x3d5234['configFile'],'apiKeyEnabled':!!_0x3d5234[_0x29ffda(0x10e)]};logger['info'](_0x2f2449),_0x2fd62a[_0x29ffda(0xd3)](writeToFileLog,{..._0x2f2449,'level':'info','msg':'Server\x20starting:\x20'+_0x3d5234[_0x29ffda(0x14b)]+'\x20on\x20port\x20'+_0x3d5234[_0x29ffda(0xdd)],'time':new Date()[_0x29ffda(0xc3)]()},_0x2fd62a['NxXLD']);},logServerReady=_0x2a1aa0=>{const _0x209d1c=a0_0x1f7e7c,_0x1284e5={'UFVEF':_0x209d1c(0xc6),'IKYjF':function(_0x449799,_0x4c4434,_0x484bdf){return _0x449799(_0x4c4434,_0x484bdf);},'CmZTc':_0x209d1c(0x135)},_0x372b05={'event':_0x1284e5['UFVEF'],'port':_0x2a1aa0['port'],'module':_0x2a1aa0['module'],'healthCheck':_0x2a1aa0['healthCheck'],'serviceInfo':_0x2a1aa0['serviceInfo'],'baseUrl':_0x2a1aa0[_0x209d1c(0x126)]},_0x1eeaaf=_0x209d1c(0x159)+_0x2a1aa0['port'];logger['info'](_0x372b05,_0x1eeaaf),_0x1284e5['IKYjF'](writeToFileLog,{..._0x372b05,'level':_0x1284e5['CmZTc'],'msg':_0x1eeaaf,'time':new Date()[_0x209d1c(0xc3)]()},_0x1284e5[_0x209d1c(0x137)]),_0x2a1aa0[_0x209d1c(0xef)]&&logger['info']('\x20\x20Health:\x20'+_0x2a1aa0[_0x209d1c(0xef)]),_0x2a1aa0[_0x209d1c(0xcc)]&&logger[_0x209d1c(0x135)]('\x20\x20Info:\x20\x20\x20'+_0x2a1aa0[_0x209d1c(0xcc)]),_0x2a1aa0[_0x209d1c(0x126)]&&logger[_0x209d1c(0x135)]('\x20\x20URL:\x20\x20\x20\x20'+_0x2a1aa0['baseUrl']);},logProjectLoaded=(_0x76b0b6,_0x4196c5)=>{const _0x23d668=a0_0x1f7e7c,_0x1e4ea8={'YImDT':function(_0x1759f1,_0x343fab,_0xb0c954){return _0x1759f1(_0x343fab,_0xb0c954);},'HnoTN':'info'},_0x339fe2={'event':_0x23d668(0x116),'project':_0x76b0b6,'path':_0x4196c5},_0x4b7c5c=_0x23d668(0xce)+_0x76b0b6;logger['info'](_0x339fe2,_0x4b7c5c),_0x1e4ea8[_0x23d668(0x16a)](writeToFileLog,{..._0x339fe2,'level':_0x1e4ea8['HnoTN'],'msg':_0x4b7c5c,'time':new Date()[_0x23d668(0xc3)]()},_0x1e4ea8[_0x23d668(0xf2)]);},logEndpointRegistered=(_0xf94904,_0x474fc6)=>{const _0x58d7d4=a0_0x1f7e7c,_0x27f077={'event':'endpoint_registered','endpoint':_0xf94904,'route':_0x474fc6},_0x581c81=_0x58d7d4(0x14e)+_0xf94904+':\x20'+_0x474fc6;logger['debug'](_0x27f077,_0x581c81),writeToFileLog({..._0x27f077,'level':_0x58d7d4(0xcf),'msg':_0x581c81,'time':new Date()[_0x58d7d4(0xc3)]()},_0x58d7d4(0xcf));},logDatabaseConfig=_0x15a342=>{const _0x361554=a0_0x1f7e7c,_0x158eb5={'qyYYQ':function(_0x1042ca,_0x1e5f4c,_0x5d3fd8){return _0x1042ca(_0x1e5f4c,_0x5d3fd8);},'ktdQs':'debug'},_0x133e25={'event':_0x361554(0xf6),'host':_0x15a342['host'],'port':_0x15a342[_0x361554(0xdd)],'database':_0x15a342[_0x361554(0x129)],'type':_0x15a342['type'],'user':_0x15a342[_0x361554(0x131)]},_0x34e136='Database:\x20'+_0x15a342['type']+'://'+_0x15a342[_0x361554(0xe8)]+':'+_0x15a342[_0x361554(0xdd)]+'/'+_0x15a342[_0x361554(0x129)];logger['debug'](_0x133e25,_0x34e136),_0x158eb5['qyYYQ'](writeToFileLog,{..._0x133e25,'level':_0x158eb5['ktdQs'],'msg':_0x34e136,'time':new Date()['toISOString']()},_0x158eb5['ktdQs']);},logRequest=(_0x324938,_0x4c6a5c,_0x514f95)=>{const _0x7c21ee=a0_0x1f7e7c,_0x3a8fe0={'rNKmz':_0x7c21ee(0xf7),'OeePu':_0x7c21ee(0x135),'NTOEL':function(_0x5d60ed,_0x1a3cbd){return _0x5d60ed>=_0x1a3cbd;},'MFqUh':function(_0xcb2792,_0x37b7b7){return _0xcb2792>=_0x37b7b7;},'OxByJ':_0x7c21ee(0xcb),'ZTTNQ':function(_0x5e9ee0,_0x36bc20,_0x253026){return _0x5e9ee0(_0x36bc20,_0x253026);}},_0x48415b={'event':_0x3a8fe0['rNKmz'],'method':_0x324938['method'],'path':_0x324938[_0x7c21ee(0x174)],'statusCode':_0x4c6a5c[_0x7c21ee(0x13f)],'durationMs':_0x514f95,'ip':_0x324938['ip']},_0x28eef5=_0x324938[_0x7c21ee(0x17b)]+'\x20'+_0x324938['path']+_0x7c21ee(0xd7)+_0x4c6a5c[_0x7c21ee(0x13f)]+'\x20('+_0x514f95+'ms)';let _0x1d8bdb=_0x3a8fe0['OeePu'];if(_0x3a8fe0[_0x7c21ee(0x140)](_0x4c6a5c['statusCode'],0x1f4))_0x1d8bdb='error',logger['error'](_0x48415b,_0x28eef5);else _0x3a8fe0['MFqUh'](_0x4c6a5c[_0x7c21ee(0x13f)],0x190)?(_0x1d8bdb=_0x3a8fe0[_0x7c21ee(0x17c)],logger[_0x7c21ee(0xcb)](_0x48415b,_0x28eef5)):logger[_0x7c21ee(0x135)](_0x48415b,_0x28eef5);_0x3a8fe0[_0x7c21ee(0xe5)](writeToFileLog,{..._0x48415b,'level':_0x1d8bdb,'msg':_0x28eef5,'time':new Date()[_0x7c21ee(0xc3)]()},_0x1d8bdb);},SENSITIVE_PARAM_PATTERNS=[a0_0x1f7e7c(0x156),a0_0x1f7e7c(0x111),a0_0x1f7e7c(0xfd),'token',a0_0x1f7e7c(0xd9),'refresh_token',a0_0x1f7e7c(0xc7),'api_secret','apikey','api_key',a0_0x1f7e7c(0x100),a0_0x1f7e7c(0x114),'pin','otp','private_key',a0_0x1f7e7c(0x14c)],redactSensitiveParams=(_0x2c0535,_0x3df95b)=>{const _0x205891=a0_0x1f7e7c,_0x4a1601={'mDgPY':_0x205891(0x17d),'ZUGCm':function(_0x1b2cfa,_0x31eb99){return _0x1b2cfa===_0x31eb99;},'DItCl':function(_0x119a6d,_0x3f039f){return _0x119a6d>_0x3f039f;},'wHgjz':'[REDACTED:token]','BkTZv':_0x205891(0x168)};if(!_0x2c0535||_0x2c0535[_0x205891(0x127)]===0x0)return _0x2c0535;const _0x4a0254=_0x3df95b['toLowerCase'](),_0x4b520b=_0x4a0254['match'](/\(([^)]+)\)\s*values/i);let _0x53b92f=[];_0x4b520b&&(_0x53b92f=_0x4b520b[0x1]['split'](',')['map'](_0x4cb9fd=>_0x4cb9fd['trim']()[_0x205891(0xfb)]()));const _0x23d4be=_0x4a0254['match'](/set\s+(.+?)(?:\s+where|$)/i);if(_0x23d4be){const _0x3e1ccb=_0x23d4be[0x1],_0x3937a9=_0x3e1ccb['match'](/(\w+)\s*=/g);_0x3937a9&&(_0x53b92f=_0x3937a9['map'](_0x323eca=>_0x323eca[_0x205891(0x141)](/\s*=/,'')[_0x205891(0x145)]()[_0x205891(0xfb)]()));}return _0x2c0535[_0x205891(0x164)]((_0x23731f,_0x2d2d06)=>{const _0x3a9e2b=_0x205891;if(_0x53b92f[_0x2d2d06]){const _0x2c294e=_0x53b92f[_0x2d2d06],_0x3ab83f=SENSITIVE_PARAM_PATTERNS['some'](_0x1c3ce7=>_0x2c294e['includes'](_0x1c3ce7));if(_0x3ab83f)return _0x4a1601[_0x3a9e2b(0x16e)];}if(_0x4a1601['ZUGCm'](typeof _0x23731f,'string')&&_0x4a1601[_0x3a9e2b(0x124)](_0x23731f[_0x3a9e2b(0x127)],0x20)){if(/^[a-zA-Z0-9+/=_.-]+$/[_0x3a9e2b(0x12f)](_0x23731f)&&_0x23731f[_0x3a9e2b(0xe9)]('.'))return _0x4a1601['wHgjz'];if(/^[a-fA-F0-9]{32,}$/[_0x3a9e2b(0x12f)](_0x23731f))return _0x4a1601[_0x3a9e2b(0xdf)];}return _0x23731f;});},parseQueryMetadata=_0xedd75e=>{const _0x2f1e88=a0_0x1f7e7c,_0x4cb1b7={'lzcDo':'UNKNOWN','YfbiK':_0x2f1e88(0x16c),'bMCcD':'UPDATE','YRTxS':_0x2f1e88(0x13b),'mzwyl':_0x2f1e88(0x16f),'CjrgQ':'COMMIT','dqzDf':_0x2f1e88(0x163),'PmxXk':'ALTER','TYgeC':_0x2f1e88(0x11c),'kblyC':'DDL_DROP'},_0x3efad7=_0xedd75e['trim'](),_0x17acb2=_0x3efad7[_0x2f1e88(0xc4)]();let _0x2defa2=_0x4cb1b7['lzcDo'],_0x1ae1cf=null;if(_0x17acb2['startsWith'](_0x4cb1b7['YfbiK'])){_0x2defa2=_0x2f1e88(0x16c);const _0x56dfaa=_0x3efad7['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x1ae1cf=_0x56dfaa?_0x56dfaa[0x1]:null;}else{if(_0x17acb2[_0x2f1e88(0x154)](_0x2f1e88(0xeb))){_0x2defa2=_0x2f1e88(0xeb);const _0x225113=_0x3efad7[_0x2f1e88(0xf4)](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x1ae1cf=_0x225113?_0x225113[0x1]:null;}else{if(_0x17acb2['startsWith'](_0x4cb1b7[_0x2f1e88(0x10b)])){_0x2defa2=_0x2f1e88(0x11b);const _0x545b83=_0x3efad7['match'](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x1ae1cf=_0x545b83?_0x545b83[0x1]:null;}else{if(_0x17acb2['startsWith'](_0x2f1e88(0x13b))){_0x2defa2=_0x4cb1b7[_0x2f1e88(0xd2)];const _0x40b015=_0x3efad7[_0x2f1e88(0xf4)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x1ae1cf=_0x40b015?_0x40b015[0x1]:null;}else{if(_0x17acb2['startsWith']('BEGIN')||_0x17acb2[_0x2f1e88(0x154)]('START\x20TRANSACTION'))_0x2defa2=_0x4cb1b7['mzwyl'];else{if(_0x17acb2[_0x2f1e88(0x154)](_0x4cb1b7[_0x2f1e88(0xd4)]))_0x2defa2=_0x2f1e88(0x11d);else{if(_0x17acb2[_0x2f1e88(0x154)](_0x2f1e88(0xde)))_0x2defa2='TRANSACTION_ROLLBACK';else{if(_0x17acb2[_0x2f1e88(0x154)](_0x4cb1b7[_0x2f1e88(0x178)]))_0x2defa2=_0x2f1e88(0xf8);else{if(_0x17acb2['startsWith'](_0x4cb1b7[_0x2f1e88(0x15e)]))_0x2defa2=_0x2f1e88(0x10a);else _0x17acb2[_0x2f1e88(0x154)](_0x4cb1b7['TYgeC'])&&(_0x2defa2=_0x4cb1b7[_0x2f1e88(0xc5)]);}}}}}}}}return{'type':_0x2defa2,'table':_0x1ae1cf};},startQueryTimer=()=>{const _0x4e5e60=a0_0x1f7e7c,_0xb98da8={'OrFoK':function(_0x325231,_0x2404a0){return _0x325231+_0x2404a0;}},_0x51db79=process[_0x4e5e60(0x171)]();return()=>{const _0x538d7d=_0x4e5e60,[_0x5bb863,_0x26de9]=process['hrtime'](_0x51db79);return parseFloat(_0xb98da8['OrFoK'](_0x5bb863*0x3e8,_0x26de9/0xf4240)[_0x538d7d(0x132)](0x2));};},logQuery=(_0x192c4c,_0x4096b2=[],_0x4575b0={})=>{const _0x2e30db=a0_0x1f7e7c,_0xe75022={'qaMUQ':_0x2e30db(0x146),'EYqSY':function(_0x14a981,_0xa814c7){return _0x14a981!==_0xa814c7;},'TdLgS':function(_0x5304fe,_0x10ebdf){return _0x5304fe||_0x10ebdf;},'NWfSC':'unknown','qTjxF':function(_0x140535,_0x557b2b){return _0x140535!==_0x557b2b;},'CtjhA':_0x2e30db(0x149),'pSzwL':_0x2e30db(0xcb)};if(!sqlLogEnabled){logger['debug']({'event':_0xe75022[_0x2e30db(0xff)],'query':_0x192c4c['substring'](0x0,0xc8),'paramCount':_0x4096b2['length']},_0x2e30db(0x13e));return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType='postgresql'}=_0x4575b0,{type:_0x24adfa,table:_0x2bad19}=parseQueryMetadata(_0x192c4c),_0x50f234={'event':'sql_query','queryType':_0x24adfa,'table':_0x2bad19,'query':_0x192c4c,'paramCount':_0x4096b2['length'],'dbType':dbType};sqlLogParams&&_0x4096b2[_0x2e30db(0x127)]>0x0&&(_0x50f234[_0x2e30db(0x144)]=redactSensitiveParams(_0x4096b2,_0x192c4c));_0xe75022[_0x2e30db(0x166)](duration,null)&&(_0x50f234['durationMs']=duration,_0x50f234['isSlow']=duration>sqlLogSlowThreshold);_0xe75022['EYqSY'](rowsAffected,null)&&(_0x50f234[_0x2e30db(0x112)]=rowsAffected);const _0x167615=_0xe75022['TdLgS'](_0x2bad19,_0xe75022[_0x2e30db(0xe2)]);let _0x260d35='['+_0x24adfa+']\x20'+_0x167615;_0xe75022['EYqSY'](duration,null)&&(_0x260d35+='\x20('+duration+_0x2e30db(0x134));const _0x25ed06=_0xe75022[_0x2e30db(0xcd)](duration,null)&&duration>sqlLogSlowThreshold;let _0x3e9c72='debug';if(_0x25ed06)_0x260d35+=_0xe75022['CtjhA'],_0x3e9c72=_0xe75022['pSzwL'],logger['warn'](_0x50f234,_0x260d35);else sqlLogLevel===_0x2e30db(0x135)?(_0x3e9c72='info',logger[_0x2e30db(0x135)](_0x50f234,_0x260d35)):logger[_0x2e30db(0xcf)](_0x50f234,_0x260d35);writeToFileLog({..._0x50f234,'level':_0x3e9c72,'msg':_0x260d35,'time':new Date()[_0x2e30db(0xc3)]()},_0x3e9c72);},logTransaction=(_0x14728e,_0x219168)=>{const _0x20ba31=a0_0x1f7e7c,_0x5516ef={'duEEe':'db_transaction','OASHk':'debug'},_0x10f2e5={'event':_0x5516ef[_0x20ba31(0xdb)],'status':_0x14728e,'queryCount':_0x219168},_0x38cf6c=_0x20ba31(0x16b)+_0x14728e;logger[_0x20ba31(0xcf)](_0x10f2e5,_0x38cf6c),writeToFileLog({..._0x10f2e5,'level':'debug','msg':_0x38cf6c,'time':new Date()[_0x20ba31(0xc3)]()},_0x5516ef[_0x20ba31(0x11f)]);},redactObject=_0x509a08=>{const _0x150ff4=a0_0x1f7e7c,_0x4b1da7={'ZRaPV':function(_0x3e5f07,_0x585ed6){return _0x3e5f07!==_0x585ed6;},'nquCu':'object','sFKuQ':'password','fspwa':_0x150ff4(0x111),'DkTMF':'apikey','vKteH':_0x150ff4(0xfc),'VThDe':_0x150ff4(0x128),'nBGlN':_0x150ff4(0xe4),'PSckb':_0x150ff4(0x14d),'nsoCA':'[REDACTED]'};if(!_0x509a08||_0x4b1da7[_0x150ff4(0xe0)](typeof _0x509a08,_0x4b1da7['nquCu']))return _0x509a08;const _0x1db41e=[_0x4b1da7[_0x150ff4(0x162)],_0x4b1da7['fspwa'],_0x150ff4(0xfd),'token','secret',_0x4b1da7['DkTMF'],'api_key',_0x4b1da7[_0x150ff4(0x11e)],'creditcard',_0x150ff4(0xd5),'cvv',_0x150ff4(0x133),_0x4b1da7['VThDe'],_0x4b1da7[_0x150ff4(0xd6)],'privatekey',_0x4b1da7['PSckb'],_0x150ff4(0xd9)],_0x1f04d1=Array['isArray'](_0x509a08)?[..._0x509a08]:{..._0x509a08};for(const _0x5318d9 of Object[_0x150ff4(0x123)](_0x1f04d1)){const _0x1e2164=_0x5318d9['toLowerCase']();if(_0x1db41e[_0x150ff4(0x13d)](_0x1036d9=>_0x1e2164['includes'](_0x1036d9)))_0x1f04d1[_0x5318d9]=_0x4b1da7[_0x150ff4(0x151)];else typeof _0x1f04d1[_0x5318d9]===_0x150ff4(0x14f)&&_0x1f04d1[_0x5318d9]!==null&&(_0x1f04d1[_0x5318d9]=redactObject(_0x1f04d1[_0x5318d9]));}return _0x1f04d1;},logError=(_0x191cc7,_0xef8d72={},_0x26ad45=null)=>{const _0x27e47e=a0_0x1f7e7c,_0x486ad9={'Uuyeo':_0x27e47e(0x10d)},_0x52ff60={'event':_0x486ad9[_0x27e47e(0x103)],'errorName':_0x191cc7[_0x27e47e(0x115)]||'Error','errorMessage':_0x191cc7['message'],'errorCode':_0x191cc7[_0x27e47e(0x130)]||null,'stack':_0x191cc7[_0x27e47e(0x165)],..._0xef8d72},_0x4a726e=_0x26ad45||_0x27e47e(0x17a)+_0x191cc7[_0x27e47e(0x161)];logger['error'](_0x52ff60,_0x4a726e),writeToFileLog({..._0x52ff60,'level':_0x27e47e(0x10d),'msg':_0x4a726e,'time':new Date()['toISOString']()},_0x27e47e(0x10d));},logFatalError=(_0x166dc4,_0x3622fe={},_0x32518b=null)=>{const _0x512878=a0_0x1f7e7c,_0x55f2a9={'KDqbX':_0x512878(0x10f),'lKiJY':'fatal'},_0x4dd32a={'event':_0x55f2a9['KDqbX'],'errorName':_0x166dc4[_0x512878(0x115)]||_0x512878(0x139),'errorMessage':_0x166dc4['message'],'errorCode':_0x166dc4['code']||null,'stack':_0x166dc4['stack'],'severity':_0x512878(0x170),..._0x3622fe},_0x49d54c=_0x32518b||'FATAL:\x20'+_0x166dc4['message'];logger[_0x512878(0x16d)](_0x4dd32a,_0x49d54c),writeToFileLog({..._0x4dd32a,'level':_0x55f2a9[_0x512878(0x10c)],'msg':_0x49d54c,'time':new Date()['toISOString']()},'error');},logHttpError=(_0x83dd53,_0x2acbc4,_0x6b926c={})=>{const _0x1181c5=a0_0x1f7e7c,_0x5bb4e9={'QXGtt':_0x1181c5(0x121),'ZkZhl':_0x1181c5(0x139),'XjwtC':_0x1181c5(0x176),'DxsMW':function(_0x58c0f3,_0x1c272d){return _0x58c0f3(_0x1c272d);},'Penaq':'error','EIQpi':'warn','dYzye':function(_0x4f7440,_0x19f48a){return _0x4f7440>=_0x19f48a;}},_0x455e0d={'event':_0x5bb4e9[_0x1181c5(0x13c)],'errorName':_0x83dd53[_0x1181c5(0x115)]||_0x5bb4e9['ZkZhl'],'errorMessage':_0x83dd53[_0x1181c5(0x161)],'errorCode':_0x83dd53['code']||_0x83dd53[_0x1181c5(0x13f)]||0x1f4,'stack':_0x83dd53[_0x1181c5(0x165)],'method':_0x2acbc4?.[_0x1181c5(0x17b)],'url':_0x2acbc4?.['url']||_0x2acbc4?.[_0x1181c5(0x150)],'path':_0x2acbc4?.['path'],'ip':_0x2acbc4?.['ip']||_0x2acbc4?.['connection']?.[_0x1181c5(0x177)],'userAgent':_0x2acbc4?.['get']?.(_0x5bb4e9[_0x1181c5(0xfe)]),'requestId':_0x2acbc4?.['id']||_0x2acbc4?.['headers']?.[_0x1181c5(0x167)],'body':_0x2acbc4?.['body']?_0x5bb4e9['DxsMW'](redactObject,_0x2acbc4['body']):undefined,'query':_0x2acbc4?.['query'],..._0x6b926c},_0x151b58=_0x83dd53[_0x1181c5(0x13f)]||_0x83dd53[_0x1181c5(0x109)]||0x1f4,_0x179a2e='HTTP\x20'+_0x151b58+':\x20'+_0x83dd53[_0x1181c5(0x161)];_0x151b58>=0x1f4?logger['error'](_0x455e0d,_0x179a2e):logger['warn'](_0x455e0d,_0x179a2e),writeToFileLog({..._0x455e0d,'level':_0x151b58>=0x1f4?_0x5bb4e9['Penaq']:_0x5bb4e9['EIQpi'],'msg':_0x179a2e,'time':new Date()[_0x1181c5(0xc3)]()},_0x5bb4e9[_0x1181c5(0x160)](_0x151b58,0x1f4)?_0x5bb4e9['Penaq']:_0x5bb4e9['EIQpi']);},logUncaughtError=(_0x75676b,_0x53ea58)=>{const _0x55c9c5=a0_0x1f7e7c,_0x4aab86={'OwidW':function(_0x27cf6f,_0x30ad32,_0x344e2f){return _0x27cf6f(_0x30ad32,_0x344e2f);},'LLnxj':'fatal','nlVab':_0x55c9c5(0x10d)},_0x4e32ea={'event':_0x75676b,'errorName':_0x53ea58?.[_0x55c9c5(0x115)]||'Error','errorMessage':_0x53ea58?.['message']||String(_0x53ea58),'errorCode':_0x53ea58?.['code']||null,'stack':_0x53ea58?.['stack'],'severity':'CRITICAL','processId':process['pid'],'memoryUsage':process['memoryUsage'](),'uptime':process[_0x55c9c5(0xc9)]()},_0xe40012='['+_0x75676b['toUpperCase']()+']\x20'+(_0x53ea58?.[_0x55c9c5(0x161)]||_0x53ea58);logger['fatal'](_0x4e32ea,_0xe40012),_0x4aab86[_0x55c9c5(0x106)](writeToFileLog,{..._0x4e32ea,'level':_0x4aab86['LLnxj'],'msg':_0xe40012,'time':new Date()[_0x55c9c5(0xc3)]()},_0x4aab86[_0x55c9c5(0x101)]);},setupGlobalErrorHandlers=()=>{const _0x294a8e=a0_0x1f7e7c,_0xc01f0d={'ksAcb':function(_0x396c1a,_0x30fd8c){return _0x396c1a(_0x30fd8c);},'SwSdY':_0x294a8e(0xee),'KKehU':_0x294a8e(0xe1),'NjeQT':_0x294a8e(0x15c),'ErTuW':_0x294a8e(0x135)};process['on'](_0x294a8e(0x108),_0x83307f=>{const _0x4e7081=_0x294a8e;logUncaughtError(_0x4e7081(0x108),_0x83307f),setTimeout(()=>{process['exit'](0x1);},0x3e8);}),process['on'](_0xc01f0d[_0x294a8e(0xca)],(_0x3ba31b,_0x2d4cbc)=>{const _0x2bd156=_0x3ba31b instanceof Error?_0x3ba31b:new Error(_0xc01f0d['ksAcb'](String,_0x3ba31b));logUncaughtError(_0xc01f0d['SwSdY'],_0x2bd156);}),process['on']('warning',_0x55ca25=>{const _0x4837f5=_0x294a8e;logger[_0x4837f5(0xcb)]({'event':_0xc01f0d['KKehU'],'name':_0x55ca25['name'],'message':_0x55ca25[_0x4837f5(0x161)],'stack':_0x55ca25[_0x4837f5(0x165)]},_0x4837f5(0x11a)+_0x55ca25[_0x4837f5(0x161)]);});const _0x17c824={'event':'global_error_handlers_setup'},_0xd01d05=_0xc01f0d['NjeQT'];logger['info'](_0x17c824,_0xd01d05),writeToFileLog({..._0x17c824,'level':_0x294a8e(0x135),'msg':_0xd01d05,'time':new Date()['toISOString']()},_0xc01f0d['ErTuW']);},createErrorHandlerMiddleware=()=>{const _0x5311f1={'qvhin':'x-request-id'};return(_0x920751,_0x192584,_0x2ee7a0,_0x21fb28)=>{const _0x45cc10=a0_0x3736;logHttpError(_0x920751,_0x192584);const _0x1a6779=_0x920751['statusCode']||_0x920751[_0x45cc10(0x109)]||0x1f4;_0x2ee7a0[_0x45cc10(0x109)](_0x1a6779)['json']({'success':![],'error':_0x1a6779>=0x1f4?'Internal\x20server\x20error':_0x920751['message'],'requestId':_0x192584['id']||_0x192584['headers']?.[_0x5311f1[_0x45cc10(0xd8)]]||null});};};module[a0_0x1f7e7c(0x119)]={'logger':logger,'createRequestLogger':createRequestLogger,'logServerStart':logServerStart,'logServerReady':logServerReady,'logProjectLoaded':logProjectLoaded,'logEndpointRegistered':logEndpointRegistered,'logDatabaseConfig':logDatabaseConfig,'logRequest':logRequest,'logQuery':logQuery,'logTransaction':logTransaction,'startQueryTimer':startQueryTimer,'parseQueryMetadata':parseQueryMetadata,'redactSensitiveParams':redactSensitiveParams,'initFileLogging':initFileLogging,'logError':logError,'logFatalError':logFatalError,'logHttpError':logHttpError,'logUncaughtError':logUncaughtError,'setupGlobalErrorHandlers':setupGlobalErrorHandlers,'createErrorHandlerMiddleware':createErrorHandlerMiddleware,'redactObject':redactObject,'SQL_LOG_CONFIG':{'enabled':sqlLogEnabled,'level':sqlLogLevel,'logParams':sqlLogParams,'slowThreshold':sqlLogSlowThreshold},'FILE_LOG_CONFIG':{'enabled':logToFile,'directory':logDir,'serviceName':serviceName}};
1
+ const a0_0x5b8908=a0_0x36e2;(function(_0xe435a3,_0x302d6e){const _0x3808b7=a0_0x36e2,_0x191614=_0xe435a3();while(!![]){try{const _0x2bc9d5=-parseInt(_0x3808b7(0x1ed))/0x1*(parseInt(_0x3808b7(0x23f))/0x2)+parseInt(_0x3808b7(0x217))/0x3+-parseInt(_0x3808b7(0x1f4))/0x4*(-parseInt(_0x3808b7(0x244))/0x5)+parseInt(_0x3808b7(0x26f))/0x6+parseInt(_0x3808b7(0x26e))/0x7*(-parseInt(_0x3808b7(0x286))/0x8)+parseInt(_0x3808b7(0x1da))/0x9+parseInt(_0x3808b7(0x1f3))/0xa*(parseInt(_0x3808b7(0x23e))/0xb);if(_0x2bc9d5===_0x302d6e)break;else _0x191614['push'](_0x191614['shift']());}catch(_0x462277){_0x191614['push'](_0x191614['shift']());}}}(a0_0x1a38,0x402ad));function a0_0x1a38(){const _0x128ee4=['rKn0z1K','Bwv0Ag9K','C3rHDhvZ','Bw9KDwXL','rgHjA2O','vuj5vgy','rKfuquW6ia','Aw5JBhvKzxm','C2vYDMvYx3n0yxj0Aw5N','y29UBMvJDgLVBG','zgv2zwXVCg1LBNq','q05Pvhe','ms4WlJu','yM9KEq','uLv5DfG','vuLYuvm','te9hx1rpx0zjteu','mteXmda2AuLfswPX','zgf0ywjHC2u','Ahj0Aw1L','te9hx0XfvKvm','Cgf0Aa','D2XeEMW','zhvYyxrPB25nCW','ELL1AK4','yxbPx3nLy3jLDa','Dw5JyxvNAhrfEgnLChrPB24','rxjYB3i','y3z2','qNzewuu','AKHyD1q','B2jQzwn0','u0D2ufu','ChjVAMvJDa','qunusvzf','BMfTzq','B3rW','C29Tzq','yxbPs2v5','wfjIug4','CMvZDgzVCMDL','E21Zz30','u1fmx0Xpr19qqvjbtvm','B0LvtKq','cUkvLokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvLWRILzeGicaGicaGicaGicaGifjfu1rgt1jhrsbsvu5usu1fifnfuLzfuIaGicaGicaGicaGicaGicaG4PwrcUkvOokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvOWRILzeGievUDMLYB25Tzw50idOG','yxbPA2v5','yMfZzvvYBa','zxHPC3rZu3LUyW','vu5ltK9xtG','zw52','BxmP','C3vIC3rYAw5N','CgLKlgHVC3rUyw1LlhnLCNzPy2uSDMvYC2LVBIXLBNySzxzLBNqSBw9KDwXLlhbVCNqSy29UzMLNlgfWAuTLEuvUywjSzwqSCgf0AcX3B3jRAw5NrgLYlgLZugTNlgLZtM9KzvnJCMLWDcXMAwXLlgvTywLSlhr5CguSy29YCYXSB2DNAw5NlgfWAuTLEsXJB3vUDcXLBMrWB2LUDcXYB3v0zq','Aw5MBZPIBhvLlhDHCM46EwvSBg93lgvYCM9YoNjLzcXKzwj1zZPNCMf5','vhjHBNnHy3rPB24G','D2fYBMLUzW','ndC3nZmZm2zoEffwCq','mJi1og5Asg9ltG','Dg9ju09tDhjPBMC','uKXNz08','ig9UihbVCNqG','C3rHy2S','ndeWmJbNtfDSsKC','C2vJCMv0','rMfPBgvKihrVignYzwf0zsbSB2CGzgLYzwn0B3j5ia','z3LTug4','te9hx0rjuG','C3nU','yxbWlMXVzW','zxjYB3i','ifTtte9xxq','BwvTB3j5vxnHz2u','C3rYAw5N','zgjFDhjHBNnHy3rPB24','ChjVzhvJDgLVBG','C2vYDMLJzuLUzM8','u1fmx0Xpr19ftKfcteve','zMf0ywW','zxzuvfy','icbizwfSDgG6ia','Dg9mB3DLCKnHC2u','r3rwqu4','r2XVyMfSigvYCM9YigHHBMrSzxjZigLUAxrPywXPEMvK','iokvKqRILzeGifbYB2PLy3qGicaGidOG','yvbRD1m','tK9erv9ftLy','D2fYBG','sw50zxjUywWGC2vYDMvYigvYCM9Y','rfjpua','zgTYvfa','Cg9IEui','Ag9ZDa','BwvZC2fNzq','C3rHDhvZq29Kzq','u0vmrunu','ic0G','rermx0fmvevs','rMLSzsbSB2DNAw5NigvUywjSzwq6ia','ChjPDMf0zv9RzxK','w1jfrefdvevexq','AgvHBhrOq2HLy2S','zgvIDwC','rgDJDwe','Ec1Yzxf1zxn0lwLK','mta1u25qqKTJ','nZC1mda4B3LlDxbN','B3jPz2LUywXvCMW','zxvzuhG','Cg9YDa','A2v5CW','DhLWzq','Dw5Oyw5KBgvKuMvQzwn0Aw9U','w09lxsbtzxj2zxiGCMvHzhKGB24GCg9YDca','DgvZDa','CgfZC3DK','CgLUBY1WCMv0DhK','icbjBMzVoIaGia','ENnuENe','vfjbtLnbq1rjt05FqKvhsu4','AxntBg93','zw5KCg9PBNrFCMvNAxn0zxjLza','CMvZB2X2zq','C3LfCw8','zxjYB3iUBg9N','ALD4Dha','reiGuxvLCNK','D2vuB2O','zw52AxjVBM1LBNq','mtyZotm2tejfCKv5','quXurvi','su5trvju','v2LdBuq','q1jjveLdquW','Dxb0Aw1L','r0jiu24','u1fmx0Xpr19mrvzfta','ENH4zfm','uKTcswK','ywnJzxnZx3rVA2vU','y29Kzq','wgHUyxO','uMPgDu0','w1jfrefdveveoNrVA2vUxq','lI9SB2DZ','Eu1JEhG','nJCXotqWEMj4DNrz','u2vYDMvYihn0yxj0Aw5NoIa','DevZvu4','ChjVy2vZC193yxjUAw5N','D3jPDgu','rejFueftu1DpuKq','DxjS','tI9b','C3rHCNrZv2L0Aa','Bwf0y2G','DNvkB1m','AgvHzgvYCW','sLrUzMi','C3rKu2vYAwfSAxPLCNm','CgfKrw5K','C2vYDMvYx3jLywr5','yxbPx2TLEq','ChjVAMvJDf9SB2fKzwq','yxv0Ag9YAxPHDgLVBG','mZqWr0HisgfQ','zgf0ywjHC2vFy29UzMLN','C3bSAxq','AxnbCNjHEq','wwjcqMm','wxPMwvO','mtbmAff6qKm','mtm2DeXVvuj4','Aw5MBW','BgvUz3rO','BfPJD1O','zfbyAxy','CNbQu0i','CgfZC3DVCMq','Dg9Rzw4','EhbREfK','iokvKqRILzeGiefqssblzxKGicaGidOG','u01QwuW','ChDK','Ahr0Cf9LCNjVCG','A1rMyxK','rermx0nsrufurq','CM93C0fMzMvJDgvK','Ew5Su0K','zxjY'];a0_0x1a38=function(){return _0x128ee4;};return a0_0x1a38();}const pino=require('pino'),fs=require('fs'),path=require(a0_0x5b8908(0x21b));let logToFile=![],logDir='./logs',serviceName=a0_0x5b8908(0x22e),sqlLogEnabled=![],sqlLogLevel='debug',sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;function a0_0x36e2(_0x3aaeb4,_0x5c2bf3){_0x3aaeb4=_0x3aaeb4-0x1cb;const _0x1a3810=a0_0x1a38();let _0x36e2db=_0x1a3810[_0x3aaeb4];if(a0_0x36e2['eAtxyh']===undefined){var _0x536fec=function(_0x174424){const _0x7f492d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3e4aa9='',_0x3e072e='';for(let _0x3eb855=0x0,_0x332b2f,_0x1a7b4f,_0x2a6ba1=0x0;_0x1a7b4f=_0x174424['charAt'](_0x2a6ba1++);~_0x1a7b4f&&(_0x332b2f=_0x3eb855%0x4?_0x332b2f*0x40+_0x1a7b4f:_0x1a7b4f,_0x3eb855++%0x4)?_0x3e4aa9+=String['fromCharCode'](0xff&_0x332b2f>>(-0x2*_0x3eb855&0x6)):0x0){_0x1a7b4f=_0x7f492d['indexOf'](_0x1a7b4f);}for(let _0x3b8027=0x0,_0x36d43a=_0x3e4aa9['length'];_0x3b8027<_0x36d43a;_0x3b8027++){_0x3e072e+='%'+('00'+_0x3e4aa9['charCodeAt'](_0x3b8027)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3e072e);};a0_0x36e2['ppSBzc']=_0x536fec,a0_0x36e2['YhnpBe']={},a0_0x36e2['eAtxyh']=!![];}const _0x164b91=_0x1a3810[0x0],_0x47f92b=_0x3aaeb4+_0x164b91,_0x388a45=a0_0x36e2['YhnpBe'][_0x47f92b];return!_0x388a45?(_0x36e2db=a0_0x36e2['ppSBzc'](_0x36e2db),a0_0x36e2['YhnpBe'][_0x47f92b]=_0x36e2db):_0x36e2db=_0x388a45,_0x36e2db;}const prettyPrintOptions={'colorize':!![],'translateTime':'SYS:HH:MM:ss','ignore':a0_0x5b8908(0x23a),'singleLine':![],'levelFirst':!![],'messageFormat':a0_0x5b8908(0x22f),'customColors':a0_0x5b8908(0x23b),'hideObject':!![]},isDevelopment=process[a0_0x5b8908(0x237)][a0_0x5b8908(0x25b)]!==a0_0x5b8908(0x250),logLevel=process['env'][a0_0x5b8908(0x21a)]||'info';let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':a0_0x5b8908(0x279),'options':prettyPrintOptions}:undefined,'base':{'service':'restforge','version':process['env']['APP_VERSION']||a0_0x5b8908(0x212),'env':process['env']['NODE_ENV']||a0_0x5b8908(0x210)},'timestamp':pino['stdTimeFunctions']['isoTime'],'redact':{'paths':['req.headers.authorization','req.headers[\x22x-api-key\x22]','password',a0_0x5b8908(0x1fb),'apiKey',a0_0x5b8908(0x1df),'JWT_SECRET'],'censor':a0_0x5b8908(0x269)},'serializers':{'req':_0x5a889c=>({'id':_0x5a889c['id'],'method':_0x5a889c[a0_0x5b8908(0x207)],'url':_0x5a889c['url'],'path':_0x5a889c[a0_0x5b8908(0x21b)],'remoteAddress':_0x5a889c['ip']||_0x5a889c['connection']?.['remoteAddress']}),'res':_0x266f97=>({'statusCode':_0x266f97[a0_0x5b8908(0x263)],'headers':_0x266f97['getHeaders']?.()}),'err':pino[a0_0x5b8908(0x1e7)][a0_0x5b8908(0x205)]}});function initFileLogging(){const _0x5d4bee=a0_0x5b8908,_0x1d0b23={'jHXwT':'true','PnMvM':'restforge','dkrTP':function(_0x118c62,_0x1bc4c3){return _0x118c62===_0x1bc4c3;},'uGRwZ':_0x5d4bee(0x26b),'GBHSn':function(_0x302d54,_0x2a0b6f){return _0x302d54!==_0x2a0b6f;},'okpPp':'false','zYujN':function(_0x1cb54f,_0x1778da){return _0x1cb54f(_0x1778da);},'ynlSI':_0x5d4bee(0x281),'qWUoO':'file_logging_enabled'};if(fileLoggingInitialized)return;logToFile=process[_0x5d4bee(0x237)][_0x5d4bee(0x216)]===_0x1d0b23[_0x5d4bee(0x224)],logDir=process['env'][_0x5d4bee(0x248)]||_0x5d4bee(0x1d8),serviceName=process[_0x5d4bee(0x237)]['SERVICE_NAME']||_0x1d0b23['PnMvM'],sqlLogEnabled=_0x1d0b23[_0x5d4bee(0x25f)](process['env'][_0x5d4bee(0x252)],'true'),sqlLogLevel=process['env'][_0x5d4bee(0x1d0)]||_0x1d0b23['uGRwZ'],sqlLogParams=_0x1d0b23[_0x5d4bee(0x1cf)](process['env'][_0x5d4bee(0x230)],_0x1d0b23['okpPp']),sqlLogSlowThreshold=_0x1d0b23[_0x5d4bee(0x21e)](parseInt,process['env']['SQL_LOG_SLOW_THRESHOLD'])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x58eb1c=path[_0x5d4bee(0x27f)](process['cwd'](),logDir);try{!fs[_0x5d4bee(0x235)](_0x58eb1c)&&fs['mkdirSync'](_0x58eb1c,{'recursive':!![]});}catch(_0x52b2d1){console[_0x5d4bee(0x24b)](_0x5d4bee(0x246)+_0x58eb1c+':',_0x52b2d1[_0x5d4bee(0x262)]),fileLoggingInitialized=!![];return;}const _0x204180=path['join'](_0x58eb1c,'app.log'),_0x537687=path['join'](_0x58eb1c,_0x1d0b23[_0x5d4bee(0x204)]);try{appLogStream=fs['createWriteStream'](_0x204180,{'flags':'a'}),errorLogStream=fs['createWriteStream'](_0x537687,{'flags':'a'}),fileLoggingInitialized=!![];const _0x34b719={'event':_0x1d0b23['qWUoO'],'logDir':_0x58eb1c,'files':[_0x5d4bee(0x24a),_0x1d0b23[_0x5d4bee(0x204)]]},_0x21a12a=_0x5d4bee(0x267)+_0x58eb1c;logger['info'](_0x34b719,_0x21a12a),writeToFileLog({..._0x34b719,'level':_0x5d4bee(0x1f5),'msg':_0x21a12a,'time':new Date()['toISOString']()},'info');}catch(_0xdcb7a0){console[_0x5d4bee(0x24b)]('Failed\x20to\x20create\x20log\x20streams:',_0xdcb7a0[_0x5d4bee(0x262)]),fileLoggingInitialized=!![];}}function writeToFileLog(_0x444b74,_0x4c5f08){const _0xcac000=a0_0x5b8908,_0x551dc2={'WiCmD':_0xcac000(0x24b),'XRbPn':'fatal'};if(!logToFile||!appLogStream)return;const _0x112a60={'service':serviceName,..._0x444b74},_0x5ba1b1=JSON['stringify'](_0x112a60)+'\x0a';appLogStream['write'](_0x5ba1b1),(_0x4c5f08===_0x551dc2[_0xcac000(0x1cc)]||_0x4c5f08===_0x551dc2[_0xcac000(0x22d)])&&(errorLogStream&&errorLogStream[_0xcac000(0x1de)](_0x5ba1b1));}const createRequestLogger=(_0x2e98da={})=>{return logger['child'](_0x2e98da);},logServerStart=_0x256d12=>{const _0x11b9d7=a0_0x5b8908,_0xbeb21d={'Ekrve':'Node.js','rpjSB':_0x11b9d7(0x1e1),'kTfay':'Default','taxdN':_0x11b9d7(0x228),'WAPlQ':'NOT\x20ACTIVE','sTwwF':'info'},_0x4bee35=_0x11b9d7(0x232)+(_0x256d12[_0x11b9d7(0x285)]||_0xbeb21d['Ekrve'])['padEnd'](0x26)+_0x11b9d7(0x259)+(_0x256d12['project']||_0xbeb21d[_0x11b9d7(0x1f9)])[_0x11b9d7(0x1e8)](0x26)+'\x20║\x0a║\x20\x20Port\x20\x20\x20\x20\x20\x20\x20\x20:\x20'+String(_0x256d12['port']||0xbb8)['padEnd'](0x26)+'\x20║\x0a║\x20\x20Config\x20\x20\x20\x20\x20\x20:\x20'+(_0x256d12['configFile']||_0xbeb21d[_0x11b9d7(0x201)])['padEnd'](0x26)+_0x11b9d7(0x1fd)+(_0x256d12[_0x11b9d7(0x22c)]?_0xbeb21d['taxdN']:_0xbeb21d['WAPlQ'])['padEnd'](0x26)+'\x20║\x0a╚═══════════════════════════════════════════════════════╝';console['log'](_0x4bee35);const _0x21c045={'event':_0x11b9d7(0x20e),'project':_0x256d12[_0x11b9d7(0x227)],'port':_0x256d12['port'],'config':_0x256d12['configFile'],'apiKeyEnabled':!!_0x256d12[_0x11b9d7(0x22c)]};logger['info'](_0x21c045),writeToFileLog({..._0x21c045,'level':'info','msg':_0x11b9d7(0x1db)+_0x256d12['project']+_0x11b9d7(0x242)+_0x256d12['port'],'time':new Date()['toISOString']()},_0xbeb21d['sTwwF']);},logServerReady=_0x5414cb=>{const _0x1891ab=a0_0x5b8908,_0x33f834={'TdzoN':_0x1891ab(0x1e9),'ODDqU':function(_0x512725,_0x5546bc,_0x1aa724){return _0x512725(_0x5546bc,_0x1aa724);},'zsTzq':_0x1891ab(0x1f5)},_0x2f65b3={'event':_0x33f834['TdzoN'],'port':_0x5414cb['port'],'module':_0x5414cb[_0x1891ab(0x209)],'healthCheck':_0x5414cb['healthCheck'],'serviceInfo':_0x5414cb[_0x1891ab(0x251)],'baseUrl':_0x5414cb[_0x1891ab(0x234)]},_0xab5501=_0x1891ab(0x276)+_0x5414cb['port'];logger[_0x1891ab(0x1f5)](_0x2f65b3,_0xab5501),_0x33f834['ODDqU'](writeToFileLog,{..._0x2f65b3,'level':_0x33f834[_0x1891ab(0x27b)],'msg':_0xab5501,'time':new Date()[_0x1891ab(0x240)]()},_0x33f834[_0x1891ab(0x27b)]),_0x5414cb['healthCheck']&&logger[_0x1891ab(0x1f5)](_0x1891ab(0x255)+_0x5414cb[_0x1891ab(0x26a)]),_0x5414cb['serviceInfo']&&logger['info'](_0x1891ab(0x27a)+_0x5414cb['serviceInfo']),_0x5414cb['baseUrl']&&logger['info']('\x20\x20URL:\x20\x20\x20\x20'+_0x5414cb[_0x1891ab(0x234)]);},logProjectLoaded=(_0x504add,_0xde0246)=>{const _0x21a9cb=a0_0x5b8908,_0xcfb1e2={'uOrrB':_0x21a9cb(0x1eb),'Mzfxv':function(_0x3fd868,_0xfee8ad,_0x70036){return _0x3fd868(_0xfee8ad,_0x70036);}},_0x2cb09c={'event':_0xcfb1e2['uOrrB'],'project':_0x504add,'path':_0xde0246},_0x302ba5='[OK]\x20Project\x20loaded:\x20'+_0x504add;logger['info'](_0x2cb09c,_0x302ba5),_0xcfb1e2['Mzfxv'](writeToFileLog,{..._0x2cb09c,'level':_0x21a9cb(0x1f5),'msg':_0x302ba5,'time':new Date()[_0x21a9cb(0x240)]()},_0x21a9cb(0x1f5));},logEndpointRegistered=(_0x483479,_0x276d04)=>{const _0x1eec75=a0_0x5b8908,_0x525531={'oIUND':function(_0x2b777c,_0x31f2de,_0x50764b){return _0x2b777c(_0x31f2de,_0x50764b);},'BIUJX':_0x1eec75(0x26b)},_0x258268={'event':_0x1eec75(0x27e),'endpoint':_0x483479,'route':_0x276d04},_0x4edfc8='\x20\x20→\x20'+_0x483479+':\x20'+_0x276d04;logger[_0x1eec75(0x26b)](_0x258268,_0x4edfc8),_0x525531[_0x1eec75(0x231)](writeToFileLog,{..._0x258268,'level':_0x1eec75(0x26b),'msg':_0x4edfc8,'time':new Date()[_0x1eec75(0x240)]()},_0x525531['BIUJX']);},logDatabaseConfig=_0x3b88b4=>{const _0x131c99=a0_0x5b8908,_0xa3deec={'ECTps':_0x131c99(0x26b)},_0x5c5426={'event':_0x131c99(0x1ee),'host':_0x3b88b4[_0x131c99(0x261)],'port':_0x3b88b4[_0x131c99(0x272)],'database':_0x3b88b4[_0x131c99(0x218)],'type':_0x3b88b4[_0x131c99(0x274)],'user':_0x3b88b4['user']},_0x3e2783='Database:\x20'+_0x3b88b4['type']+'://'+_0x3b88b4[_0x131c99(0x261)]+':'+_0x3b88b4['port']+'/'+_0x3b88b4['database'];logger[_0x131c99(0x26b)](_0x5c5426,_0x3e2783),writeToFileLog({..._0x5c5426,'level':_0xa3deec['ECTps'],'msg':_0x3e2783,'time':new Date()['toISOString']()},_0x131c99(0x26b));},logRequest=(_0x1df557,_0x3420e4,_0x2b5e1d)=>{const _0x2d4eb0=a0_0x5b8908,_0x10728a={'bYGkt':'http_request','bPCgT':'info','CNiTq':function(_0x22b073,_0x53925c){return _0x22b073>=_0x53925c;}},_0x3ddceb={'event':_0x10728a['bYGkt'],'method':_0x1df557[_0x2d4eb0(0x207)],'path':_0x1df557[_0x2d4eb0(0x21b)],'statusCode':_0x3420e4['statusCode'],'durationMs':_0x2b5e1d,'ip':_0x1df557['ip']},_0x24eb8c=_0x1df557['method']+'\x20'+_0x1df557['path']+_0x2d4eb0(0x265)+_0x3420e4['statusCode']+'\x20('+_0x2b5e1d+_0x2d4eb0(0x238);let _0x145e37=_0x10728a['bPCgT'];if(_0x10728a[_0x2d4eb0(0x211)](_0x3420e4[_0x2d4eb0(0x263)],0x1f4))_0x145e37='error',logger['error'](_0x3ddceb,_0x24eb8c);else _0x10728a['CNiTq'](_0x3420e4[_0x2d4eb0(0x263)],0x190)?(_0x145e37=_0x2d4eb0(0x25c),logger[_0x2d4eb0(0x25c)](_0x3ddceb,_0x24eb8c)):logger[_0x2d4eb0(0x1f5)](_0x3ddceb,_0x24eb8c);writeToFileLog({..._0x3ddceb,'level':_0x145e37,'msg':_0x24eb8c,'time':new Date()[_0x2d4eb0(0x240)]()},_0x145e37);},SENSITIVE_PARAM_PATTERNS=['password',a0_0x5b8908(0x278),a0_0x5b8908(0x1ff),a0_0x5b8908(0x1fb),'access_token','refresh_token',a0_0x5b8908(0x245),a0_0x5b8908(0x21f),a0_0x5b8908(0x233),a0_0x5b8908(0x1ea),'credential','credentials','pin',a0_0x5b8908(0x22a),a0_0x5b8908(0x268),'privatekey'],redactSensitiveParams=(_0x571464,_0x29df07)=>{const _0x56b838=a0_0x5b8908;if(!_0x571464||_0x571464[_0x56b838(0x1f6)]===0x0)return _0x571464;const _0x29db8e=_0x29df07[_0x56b838(0x256)](),_0x13ac34=_0x29db8e[_0x56b838(0x1e3)](/\(([^)]+)\)\s*values/i);let _0xd42bb=[];_0x13ac34&&(_0xd42bb=_0x13ac34[0x1][_0x56b838(0x1ef)](',')['map'](_0x3abcc0=>_0x3abcc0['trim']()[_0x56b838(0x256)]()));const _0x17c976=_0x29db8e[_0x56b838(0x1e3)](/set\s+(.+?)(?:\s+where|$)/i);if(_0x17c976){const _0x7a77a9=_0x17c976[0x1],_0x14e21d=_0x7a77a9['match'](/(\w+)\s*=/g);_0x14e21d&&(_0xd42bb=_0x14e21d['map'](_0x42c135=>_0x42c135['replace'](/\s*=/,'')['trim']()['toLowerCase']()));}return _0x571464['map']((_0x31d3be,_0x15a562)=>{const _0x2bf435=_0x56b838;if(_0xd42bb[_0x15a562]){const _0x5c1ede=_0xd42bb[_0x15a562],_0x5ba03d=SENSITIVE_PARAM_PATTERNS['some'](_0x7a149f=>_0x5c1ede['includes'](_0x7a149f));if(_0x5ba03d)return'[REDACTED]';}if(typeof _0x31d3be===_0x2bf435(0x24e)&&_0x31d3be[_0x2bf435(0x1f6)]>0x20){if(/^[a-zA-Z0-9+/=_.-]+$/['test'](_0x31d3be)&&_0x31d3be['includes']('.'))return _0x2bf435(0x1d7);if(/^[a-fA-F0-9]{32,}$/[_0x2bf435(0x277)](_0x31d3be))return'[REDACTED:hash]';}return _0x31d3be;});},parseQueryMetadata=_0x28072a=>{const _0x423824=a0_0x5b8908,_0x14cec7={'GtVAN':_0x423824(0x236),'yMcxx':_0x423824(0x1cb),'UByTf':'UPDATE','sMdMl':'DELETE','UIrQS':'BEGIN','Xhnaz':'COMMIT','QkyiR':'TRANSACTION_COMMIT','HdHHk':_0x423824(0x287),'pobyB':_0x423824(0x266),'euYPx':_0x423824(0x25e),'aPkwS':'DDL_DROP'},_0x2580fa=_0x28072a['trim'](),_0x1aedd6=_0x2580fa['toUpperCase']();let _0x161d00=_0x14cec7[_0x423824(0x257)],_0x30558d=null;if(_0x1aedd6[_0x423824(0x1e2)](_0x423824(0x264))){_0x161d00='SELECT';const _0xc679cb=_0x2580fa[_0x423824(0x1e3)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x30558d=_0xc679cb?_0xc679cb[0x1]:null;}else{if(_0x1aedd6[_0x423824(0x1e2)](_0x14cec7[_0x423824(0x1d9)])){_0x161d00=_0x14cec7[_0x423824(0x1d9)];const _0x4b1367=_0x2580fa['match'](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x30558d=_0x4b1367?_0x4b1367[0x1]:null;}else{if(_0x1aedd6[_0x423824(0x1e2)]('UPDATE')){_0x161d00=_0x14cec7[_0x423824(0x20b)];const _0x141c62=_0x2580fa[_0x423824(0x1e3)](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x30558d=_0x141c62?_0x141c62[0x1]:null;}else{if(_0x1aedd6['startsWith']('DELETE')){_0x161d00=_0x14cec7['sMdMl'];const _0x5c745d=_0x2580fa['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x30558d=_0x5c745d?_0x5c745d[0x1]:null;}else{if(_0x1aedd6['startsWith'](_0x14cec7[_0x423824(0x215)])||_0x1aedd6[_0x423824(0x1e2)]('START\x20TRANSACTION'))_0x161d00=_0x423824(0x27c);else{if(_0x1aedd6['startsWith'](_0x14cec7[_0x423824(0x1d5)]))_0x161d00=_0x14cec7['QkyiR'];else{if(_0x1aedd6[_0x423824(0x1e2)]('ROLLBACK'))_0x161d00='TRANSACTION_ROLLBACK';else{if(_0x1aedd6[_0x423824(0x1e2)]('CREATE'))_0x161d00=_0x423824(0x202);else{if(_0x1aedd6[_0x423824(0x1e2)](_0x14cec7['HdHHk']))_0x161d00=_0x14cec7[_0x423824(0x260)];else _0x1aedd6[_0x423824(0x1e2)](_0x14cec7[_0x423824(0x271)])&&(_0x161d00=_0x14cec7[_0x423824(0x25a)]);}}}}}}}}return{'type':_0x161d00,'table':_0x30558d};},startQueryTimer=()=>{const _0x288196=a0_0x5b8908,_0x44093a={'dPXiv':function(_0x58aab8,_0x300eab){return _0x58aab8+_0x300eab;},'gLcxL':function(_0x33f465,_0x22256f){return _0x33f465*_0x22256f;}},_0x39b866=process[_0x288196(0x219)]();return()=>{const _0xc133d1=_0x288196,[_0xf8d2ae,_0x3c3dad]=process['hrtime'](_0x39b866);return parseFloat(_0x44093a[_0xc133d1(0x1f8)](_0x44093a['gLcxL'](_0xf8d2ae,0x3e8),_0x3c3dad/0xf4240)['toFixed'](0x2));};},logQuery=(_0x145e6a,_0x1c2133=[],_0x18a42e={})=>{const _0xb20b45=a0_0x5b8908,_0x1f1f32={'kWhzM':function(_0x3ed3c3,_0x285970){return _0x3ed3c3(_0x285970);},'evTTV':'sql_query','pdwQw':function(_0x28a8c6,_0x577ff1,_0x1683be){return _0x28a8c6(_0x577ff1,_0x1683be);},'BvDYE':function(_0x42ef3b,_0x4d9497){return _0x42ef3b!==_0x4d9497;},'JTnfb':function(_0x3b5ac2,_0x5c0451){return _0x3b5ac2>_0x5c0451;},'gymPn':'debug','RLggO':_0xb20b45(0x25c)};if(!sqlLogEnabled){logger[_0xb20b45(0x26b)]({'event':'db_query','query':_0x145e6a[_0xb20b45(0x239)](0x0,0xc8),'paramCount':_0x1c2133[_0xb20b45(0x1f6)]},_0xb20b45(0x283));return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType='postgresql'}=_0x18a42e,{type:_0x3443b4,table:_0x35811b}=_0x1f1f32['kWhzM'](parseQueryMetadata,_0x145e6a),_0x206fe9={'event':_0x1f1f32[_0xb20b45(0x254)],'queryType':_0x3443b4,'table':_0x35811b,'query':_0x145e6a,'paramCount':_0x1c2133[_0xb20b45(0x1f6)],'dbType':dbType};sqlLogParams&&_0x1c2133[_0xb20b45(0x1f6)]>0x0&&(_0x206fe9['params']=_0x1f1f32['pdwQw'](redactSensitiveParams,_0x1c2133,_0x145e6a));_0x1f1f32[_0xb20b45(0x223)](duration,null)&&(_0x206fe9[_0xb20b45(0x21d)]=duration,_0x206fe9[_0xb20b45(0x27d)]=_0x1f1f32[_0xb20b45(0x1e6)](duration,sqlLogSlowThreshold));rowsAffected!==null&&(_0x206fe9[_0xb20b45(0x203)]=rowsAffected);const _0x4db4ed=_0x35811b||'unknown';let _0x3c3803='['+_0x3443b4+']\x20'+_0x4db4ed;duration!==null&&(_0x3c3803+='\x20('+duration+'ms)');const _0x522f60=duration!==null&&_0x1f1f32['JTnfb'](duration,sqlLogSlowThreshold);let _0x26316a=_0x1f1f32[_0xb20b45(0x247)];if(_0x522f60)_0x3c3803+=_0xb20b45(0x24c),_0x26316a=_0x1f1f32[_0xb20b45(0x241)],logger['warn'](_0x206fe9,_0x3c3803);else sqlLogLevel==='info'?(_0x26316a=_0xb20b45(0x1f5),logger[_0xb20b45(0x1f5)](_0x206fe9,_0x3c3803)):logger[_0xb20b45(0x26b)](_0x206fe9,_0x3c3803);_0x1f1f32['pdwQw'](writeToFileLog,{..._0x206fe9,'level':_0x26316a,'msg':_0x3c3803,'time':new Date()[_0xb20b45(0x240)]()},_0x26316a);},logTransaction=(_0x3e9c97,_0x20d418)=>{const _0x1c119d=a0_0x5b8908,_0x45401e={'gNCLv':function(_0x1777f3,_0x581c3a,_0x3a5bcf){return _0x1777f3(_0x581c3a,_0x3a5bcf);},'YbBBc':_0x1c119d(0x26b)},_0x5a27d9={'event':_0x1c119d(0x24f),'status':_0x3e9c97,'queryCount':_0x20d418},_0x83bd90=_0x1c119d(0x23c)+_0x3e9c97;logger['debug'](_0x5a27d9,_0x83bd90),_0x45401e['gNCLv'](writeToFileLog,{..._0x5a27d9,'level':_0x45401e['YbBBc'],'msg':_0x83bd90,'time':new Date()['toISOString']()},_0x45401e[_0x1c119d(0x1f1)]);},redactObject=_0x399c50=>{const _0x220087=a0_0x5b8908,_0x1dcb1c={'RdlxR':_0x220087(0x1fa),'syEqo':'pwd','wlDzl':'token','RjFuM':_0x220087(0x1ea),'vuJoS':_0x220087(0x1ec),'SGvPU':_0x220087(0x249),'FCtgY':'pin','RKBIi':function(_0x169208,_0x6c669e){return _0x169208===_0x6c669e;},'YzfYZ':function(_0x204daf,_0x2e9a64){return _0x204daf(_0x2e9a64);}};if(!_0x399c50||typeof _0x399c50!==_0x220087(0x225))return _0x399c50;const _0x5aa704=[_0x1dcb1c['RdlxR'],_0x220087(0x278),_0x1dcb1c[_0x220087(0x280)],_0x1dcb1c[_0x220087(0x21c)],_0x220087(0x245),'apikey',_0x1dcb1c[_0x220087(0x1d6)],_0x1dcb1c[_0x220087(0x1e4)],'creditcard','credit_card',_0x220087(0x222),_0x1dcb1c[_0x220087(0x226)],_0x1dcb1c[_0x220087(0x206)],_0x220087(0x268),'privatekey','refresh_token',_0x220087(0x1d3)],_0x219e3e=Array[_0x220087(0x1f0)](_0x399c50)?[..._0x399c50]:{..._0x399c50};for(const _0x20f09e of Object[_0x220087(0x273)](_0x219e3e)){const _0x1ba3e5=_0x20f09e[_0x220087(0x256)]();if(_0x5aa704[_0x220087(0x22b)](_0x5613b8=>_0x1ba3e5[_0x220087(0x20d)](_0x5613b8)))_0x219e3e[_0x20f09e]=_0x220087(0x269);else _0x1dcb1c[_0x220087(0x1d2)](typeof _0x219e3e[_0x20f09e],_0x220087(0x225))&&_0x219e3e[_0x20f09e]!==null&&(_0x219e3e[_0x20f09e]=_0x1dcb1c[_0x220087(0x1f2)](redactObject,_0x219e3e[_0x20f09e]));}return _0x219e3e;},logError=(_0x101a97,_0x108e5e={},_0x14dbd0=null)=>{const _0x4e7376=a0_0x5b8908,_0x17e133={'xpkxY':_0x4e7376(0x24b),'tEsUN':_0x4e7376(0x221)},_0x4669bb={'event':_0x17e133['xpkxY'],'errorName':_0x101a97['name']||_0x17e133[_0x4e7376(0x1dc)],'errorMessage':_0x101a97['message'],'errorCode':_0x101a97[_0x4e7376(0x1d4)]||null,'stack':_0x101a97[_0x4e7376(0x243)],..._0x108e5e},_0xbf4f23=_0x14dbd0||'Error:\x20'+_0x101a97[_0x4e7376(0x262)];logger['error'](_0x4669bb,_0xbf4f23),writeToFileLog({..._0x4669bb,'level':_0x4e7376(0x24b),'msg':_0xbf4f23,'time':new Date()['toISOString']()},_0x17e133[_0x4e7376(0x1fc)]);},logFatalError=(_0x10af65,_0x1875d7={},_0x31c16f=null)=>{const _0xb39d04=a0_0x5b8908,_0x1aa26={'lZjcQ':_0xb39d04(0x253),'zxxdS':'error'},_0x3637da={'event':'fatal_error','errorName':_0x10af65[_0xb39d04(0x229)]||'Error','errorMessage':_0x10af65[_0xb39d04(0x262)],'errorCode':_0x10af65[_0xb39d04(0x1d4)]||null,'stack':_0x10af65[_0xb39d04(0x243)],'severity':'CRITICAL',..._0x1875d7},_0x4791b4=_0x31c16f||_0xb39d04(0x20c)+_0x10af65[_0xb39d04(0x262)];logger['fatal'](_0x3637da,_0x4791b4),writeToFileLog({..._0x3637da,'level':_0x1aa26['lZjcQ'],'msg':_0x4791b4,'time':new Date()[_0xb39d04(0x240)]()},_0x1aa26[_0xb39d04(0x1d1)]);},logHttpError=(_0x5d3f0e,_0x18d1ba,_0x41f101={})=>{const _0x43db3a=a0_0x5b8908,_0x121194={'QyJqP':_0x43db3a(0x200),'LsXOW':_0x43db3a(0x26d),'lZcwZ':function(_0x20b4c0,_0x2c62ff){return _0x20b4c0>=_0x2c62ff;},'ByIDr':function(_0x51e13d,_0x5bdc72,_0x50b5a6){return _0x51e13d(_0x5bdc72,_0x50b5a6);},'xzQev':_0x43db3a(0x25c)},_0x205ecf={'event':_0x121194['QyJqP'],'errorName':_0x5d3f0e[_0x43db3a(0x229)]||'Error','errorMessage':_0x5d3f0e[_0x43db3a(0x262)],'errorCode':_0x5d3f0e[_0x43db3a(0x1d4)]||_0x5d3f0e[_0x43db3a(0x263)]||0x1f4,'stack':_0x5d3f0e[_0x43db3a(0x243)],'method':_0x18d1ba?.[_0x43db3a(0x207)],'url':_0x18d1ba?.[_0x43db3a(0x1e0)]||_0x18d1ba?.[_0x43db3a(0x270)],'path':_0x18d1ba?.['path'],'ip':_0x18d1ba?.['ip']||_0x18d1ba?.[_0x43db3a(0x20f)]?.['remoteAddress'],'userAgent':_0x18d1ba?.['get']?.('user-agent'),'requestId':_0x18d1ba?.['id']||_0x18d1ba?.[_0x43db3a(0x1e5)]?.[_0x121194['LsXOW']],'body':_0x18d1ba?.[_0x43db3a(0x213)]?redactObject(_0x18d1ba[_0x43db3a(0x213)]):undefined,'query':_0x18d1ba?.['query'],..._0x41f101},_0x1e4590=_0x5d3f0e[_0x43db3a(0x263)]||_0x5d3f0e[_0x43db3a(0x208)]||0x1f4,_0x8c8b8c='HTTP\x20'+_0x1e4590+':\x20'+_0x5d3f0e['message'];_0x121194['lZcwZ'](_0x1e4590,0x1f4)?logger['error'](_0x205ecf,_0x8c8b8c):logger['warn'](_0x205ecf,_0x8c8b8c),_0x121194['ByIDr'](writeToFileLog,{..._0x205ecf,'level':_0x121194[_0x43db3a(0x1f7)](_0x1e4590,0x1f4)?'error':_0x121194['xzQev'],'msg':_0x8c8b8c,'time':new Date()[_0x43db3a(0x240)]()},_0x121194[_0x43db3a(0x1f7)](_0x1e4590,0x1f4)?'error':_0x43db3a(0x25c));},logUncaughtError=(_0x4d2d80,_0x366beb)=>{const _0x2c6217=a0_0x5b8908,_0x347fc9={'Dgcua':'error'},_0x2fa369={'event':_0x4d2d80,'errorName':_0x366beb?.['name']||'Error','errorMessage':_0x366beb?.[_0x2c6217(0x262)]||String(_0x366beb),'errorCode':_0x366beb?.[_0x2c6217(0x1d4)]||null,'stack':_0x366beb?.['stack'],'severity':_0x2c6217(0x1cd),'processId':process['pid'],'memoryUsage':process[_0x2c6217(0x24d)](),'uptime':process[_0x2c6217(0x1ce)]()},_0x32670f='['+_0x4d2d80['toUpperCase']()+']\x20'+(_0x366beb?.[_0x2c6217(0x262)]||_0x366beb);logger['fatal'](_0x2fa369,_0x32670f),writeToFileLog({..._0x2fa369,'level':'fatal','msg':_0x32670f,'time':new Date()[_0x2c6217(0x240)]()},_0x347fc9[_0x2c6217(0x26c)]);},setupGlobalErrorHandlers=()=>{const _0x444725=a0_0x5b8908,_0x56a5b5={'weToj':function(_0xda7366,_0x89fe76,_0x491b19){return _0xda7366(_0x89fe76,_0x491b19);},'WioAG':function(_0x2debb0,_0x4038a7){return _0x2debb0 instanceof _0x4038a7;},'SMjYL':function(_0x1518bc,_0x12e2c3){return _0x1518bc(_0x12e2c3);},'RUytX':'unhandledRejection','KWYXx':'global_error_handlers_setup','jWxtp':_0x444725(0x258),'DhIkj':'info'};process['on'](_0x444725(0x220),_0x1b4bd2=>{const _0x4135a9=_0x444725;_0x56a5b5[_0x4135a9(0x284)](logUncaughtError,'uncaughtException',_0x1b4bd2),setTimeout(()=>{process['exit'](0x1);},0x3e8);}),process['on'](_0x444725(0x275),(_0x198062,_0x562edc)=>{const _0x4834bd=_0x444725,_0x122a0d=_0x56a5b5['WioAG'](_0x198062,Error)?_0x198062:new Error(_0x56a5b5[_0x4834bd(0x1fe)](String,_0x198062));logUncaughtError(_0x56a5b5[_0x4834bd(0x214)],_0x122a0d);}),process['on'](_0x444725(0x23d),_0x4d5a32=>{const _0x48cde6=_0x444725;logger['warn']({'event':_0x48cde6(0x1dd),'name':_0x4d5a32['name'],'message':_0x4d5a32[_0x48cde6(0x262)],'stack':_0x4d5a32['stack']},'Process\x20Warning:\x20'+_0x4d5a32[_0x48cde6(0x262)]);});const _0x427978={'event':_0x56a5b5['KWYXx']},_0x448b39=_0x56a5b5[_0x444725(0x282)];logger['info'](_0x427978,_0x448b39),writeToFileLog({..._0x427978,'level':_0x56a5b5[_0x444725(0x20a)],'msg':_0x448b39,'time':new Date()['toISOString']()},_0x56a5b5[_0x444725(0x20a)]);},createErrorHandlerMiddleware=()=>{return(_0x4bd9d9,_0x185228,_0x28fc04,_0x34f4af)=>{const _0x4848bf=a0_0x36e2;logHttpError(_0x4bd9d9,_0x185228);const _0x4ff06e=_0x4bd9d9[_0x4848bf(0x263)]||_0x4bd9d9[_0x4848bf(0x208)]||0x1f4;_0x28fc04['status'](_0x4ff06e)['json']({'success':![],'error':_0x4ff06e>=0x1f4?_0x4848bf(0x25d):_0x4bd9d9['message'],'requestId':_0x185228['id']||_0x185228['headers']?.['x-request-id']||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
- function a0_0x263e(_0x8d74d3,_0xe99cc4){_0x8d74d3=_0x8d74d3-0xfc;const _0x70160e=a0_0x7016();let _0x263e03=_0x70160e[_0x8d74d3];if(a0_0x263e['zvEUEw']===undefined){var _0x4d4b4c=function(_0x12adf2){const _0x1e3a84='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x24352e='',_0x2db3e5='';for(let _0x35a387=0x0,_0xe0e75e,_0x1e34c7,_0x1fc273=0x0;_0x1e34c7=_0x12adf2['charAt'](_0x1fc273++);~_0x1e34c7&&(_0xe0e75e=_0x35a387%0x4?_0xe0e75e*0x40+_0x1e34c7:_0x1e34c7,_0x35a387++%0x4)?_0x24352e+=String['fromCharCode'](0xff&_0xe0e75e>>(-0x2*_0x35a387&0x6)):0x0){_0x1e34c7=_0x1e3a84['indexOf'](_0x1e34c7);}for(let _0x2e2844=0x0,_0xacdb8c=_0x24352e['length'];_0x2e2844<_0xacdb8c;_0x2e2844++){_0x2db3e5+='%'+('00'+_0x24352e['charCodeAt'](_0x2e2844)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2db3e5);};a0_0x263e['SJJHPD']=_0x4d4b4c,a0_0x263e['VMvVso']={},a0_0x263e['zvEUEw']=!![];}const _0x148395=_0x70160e[0x0],_0x589945=_0x8d74d3+_0x148395,_0x5674d9=a0_0x263e['VMvVso'][_0x589945];return!_0x5674d9?(_0x263e03=a0_0x263e['SJJHPD'](_0x263e03),a0_0x263e['VMvVso'][_0x589945]=_0x263e03):_0x263e03=_0x5674d9,_0x263e03;}const a0_0x4e07f3=a0_0x263e;(function(_0x58adfc,_0x318754){const _0x8f4a9e=a0_0x263e,_0x55cc1d=_0x58adfc();while(!![]){try{const _0x526a9f=-parseInt(_0x8f4a9e(0x11f))/0x1*(-parseInt(_0x8f4a9e(0x11a))/0x2)+-parseInt(_0x8f4a9e(0x118))/0x3*(parseInt(_0x8f4a9e(0x117))/0x4)+-parseInt(_0x8f4a9e(0x107))/0x5*(parseInt(_0x8f4a9e(0x11c))/0x6)+parseInt(_0x8f4a9e(0xfe))/0x7*(parseInt(_0x8f4a9e(0x10d))/0x8)+parseInt(_0x8f4a9e(0x10a))/0x9*(parseInt(_0x8f4a9e(0x11d))/0xa)+-parseInt(_0x8f4a9e(0x121))/0xb*(parseInt(_0x8f4a9e(0x103))/0xc)+-parseInt(_0x8f4a9e(0x110))/0xd*(-parseInt(_0x8f4a9e(0x10e))/0xe);if(_0x526a9f===_0x318754)break;else _0x55cc1d['push'](_0x55cc1d['shift']());}catch(_0x44371d){_0x55cc1d['push'](_0x55cc1d['shift']());}}}(a0_0x7016,0x6f937));function a0_0x7016(){const _0x4561fc=['BwvZC2fNzq','ndq0nLjoA2TRzq','rMfPBgvKihrVigXVywqGCgf5Bg9HzcbIEsbUyw1L','zgvIDwC','Cgf5Bg9Hzf9JywnOzv9JBgvHCMvK','Cgf5Bg9HzerPCG','vKfnBLO','lI4VlI4VCgf5Bg9Hza','ohvnrvziDq','otu4odnuwM10rNK','AgfZ','mZqXnZmYzhHezhzx','AM9PBG','nK1PwM5AuG','nZmZmgr3Bg5Iuq','zMLLBgroyw1L','mvDRA2T3Aa','z2v0','mJKYnZyXn29LB1DoDG','zMLLBgrmywjLBhm','quPTvwC','ndq2mZqXn3fYDxzHza','C2v0','zgf0yxrHyMXLC1f1zxj5','zxjYB3i','Cgf5Bg9Hzf9SB2fKx2vYCM9Y','mZzhDwjNrg8','z2v0rxHWB3j0q29UzMLN','DxrMoa','CMvHzezPBgu','mtC1nJmWnwvMBfvbrW','ywn0Aw9U','lI9SB2DNzxi','mZyZnMPMyw5RAq','y2fJAgu','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5igj5ig5HBwu','ohHtquHiuq','mJmXnZbst09OEeu'];a0_0x7016=function(){return _0x4561fc;};return a0_0x7016();}const fs=require('fs')['promises'],path=require('path'),{logger}=require(a0_0x4e07f3(0x109));class PayloadLoader{constructor(){const _0x84fba1=a0_0x4e07f3,_0x127e4={'AJmUg':_0x84fba1(0x116)};this['payloadDir']=path[_0x84fba1(0x11b)](__dirname,_0x127e4[_0x84fba1(0xfd)]),this[_0x84fba1(0x10b)]=new Map();}async['loadPayload'](_0x290c08,_0x33955c){const _0x456f58=a0_0x4e07f3,_0x392902={'hXDqN':'Payload\x20loaded\x20successfully'},_0x434dba=_0x290c08+':'+_0x33955c;if(this[_0x456f58(0x10b)]['has'](_0x434dba))return this[_0x456f58(0x10b)]['get'](_0x434dba);const _0x1df6f8=path[_0x456f58(0x11b)](this[_0x456f58(0x114)],_0x290c08+'_'+_0x33955c+'.json');try{const _0x1fc5a6=await fs[_0x456f58(0x106)](_0x1df6f8,'utf8'),_0x86f8a4=JSON['parse'](_0x1fc5a6);return this['cache']['set'](_0x434dba,_0x86f8a4),logger[_0x456f58(0x112)]({'event':'payload_loaded','project':_0x290c08,'resource':_0x33955c},_0x392902['hXDqN']),_0x86f8a4;}catch(_0x42c12a){logger['error']({'event':'payload_load_error','project':_0x290c08,'resource':_0x33955c,'error':_0x42c12a['message']},'Failed\x20to\x20load\x20payload');throw new Error('Payload\x20not\x20found:\x20'+_0x290c08+'_'+_0x33955c);}}async['loadPayloadByName'](_0x10cbb7){const _0x2550f2=a0_0x4e07f3,_0x419d24={'VAMnZ':'payload_loaded'},_0x2d3ead='payload:'+_0x10cbb7;if(this[_0x2550f2(0x10b)][_0x2550f2(0x119)](_0x2d3ead))return this[_0x2550f2(0x10b)][_0x2550f2(0x120)](_0x2d3ead);const _0x24f649=path[_0x2550f2(0x11b)](this[_0x2550f2(0x114)],_0x10cbb7+'.json');try{const _0x53e7cf=await fs[_0x2550f2(0x106)](_0x24f649,_0x2550f2(0x105)),_0x1b8016=JSON['parse'](_0x53e7cf);return this['cache'][_0x2550f2(0xff)](_0x2d3ead,_0x1b8016),logger['debug']({'event':_0x419d24[_0x2550f2(0x115)],'payloadName':_0x10cbb7},_0x2550f2(0x10c)),_0x1b8016;}catch(_0x2966d8){logger[_0x2550f2(0x101)]({'event':_0x2550f2(0x102),'payloadName':_0x10cbb7,'error':_0x2966d8[_0x2550f2(0x10f)]},_0x2550f2(0x111));throw new Error('Payload\x20not\x20found:\x20'+_0x10cbb7);}}['isActionEnabled'](_0x3fdd0a,_0x29f121){const _0x51b5e5=a0_0x4e07f3;return _0x3fdd0a[_0x51b5e5(0x108)]&&_0x3fdd0a['action'][_0x29f121]===!![];}[a0_0x4e07f3(0x104)](_0x191525){const _0x4db9b2=a0_0x4e07f3;return{'columns':_0x191525[_0x4db9b2(0x11e)]||[],'filename':_0x191525['tableName']['replace']('.','-')+'-export','datatablesQuery':_0x191525[_0x4db9b2(0x100)]||null,'columnFormats':_0x191525['columnFormats']||null,'fieldLabels':_0x191525[_0x4db9b2(0xfc)]||null};}['clearCache'](){const _0x450045=a0_0x4e07f3;this['cache']['clear'](),logger['info']({'event':_0x450045(0x113)},'Payload\x20cache\x20cleared');}}module['exports']=new PayloadLoader();
1
+ function a0_0x4a2d(){const _0x15bf0c=['ChjVBwLZzxm','Axnby3rPB25fBMfIBgvK','Cgf5Bg9Hzf9SB2fKzwq','mtj0Aunor0S','DgfIBgvoyw1L','Bg9HzfbHEwXVywrcEu5HBwu','lI4VlI4VCgf5Bg9Hza','ugf5Bg9HzcbJywnOzsbJBgvHCMvK','AgfZ','ouD6r0zIwG','D2rXwMO','rMfPBgvKihrVigXVywqGCgf5Bg9Hza','mtuXmJy1EKfNALbN','mJi3nte0muH6DLn6yG','zgvIDwC','Aw5MBW','BwvZC2fNzq','C2v0','AM9PBG','nde1ndyZmhD6r21qEa','mtjbCKHtzee','mJCXote2ohLsrefowG','ywn0Aw9U','y2XLyxjdywnOzq','CgfYC2u','mJeXodi4ne11uuv3sq','y2fJAgu','CNHmvK8','mJi0mtm5sfb3Bfr2','Cgf5Bg9Hzf9SB2fKx2vYCM9Y','ntq3mJLyrhvwC2q','lI9SB2DNzxi','wKzSDhe','lwv4Cg9YDa','nZHgu01QuKu','Cgf5Bg9HzerPCG','zMLLBgrmywjLBhm','DxrMoa'];a0_0x4a2d=function(){return _0x15bf0c;};return a0_0x4a2d();}const a0_0x3241a4=a0_0x2fdf;(function(_0x3b3c1e,_0x118d2f){const _0xf40574=a0_0x2fdf,_0x3b94f7=_0x3b3c1e();while(!![]){try{const _0x3191a0=parseInt(_0xf40574(0x1b8))/0x1+parseInt(_0xf40574(0x1be))/0x2*(parseInt(_0xf40574(0x1ba))/0x3)+parseInt(_0xf40574(0x19f))/0x4*(-parseInt(_0xf40574(0x1a8))/0x5)+-parseInt(_0xf40574(0x1b0))/0x6*(parseInt(_0xf40574(0x1b5))/0x7)+parseInt(_0xf40574(0x1b1))/0x8*(parseInt(_0xf40574(0x1a5))/0x9)+-parseInt(_0xf40574(0x1af))/0xa+parseInt(_0xf40574(0x1a9))/0xb;if(_0x3191a0===_0x118d2f)break;else _0x3b94f7['push'](_0x3b94f7['shift']());}catch(_0x4e0f9c){_0x3b94f7['push'](_0x3b94f7['shift']());}}}(a0_0x4a2d,0x5a8d1));function a0_0x2fdf(_0x2f69f5,_0x45ac50){_0x2f69f5=_0x2f69f5-0x19f;const _0x4a2deb=a0_0x4a2d();let _0x2fdf13=_0x4a2deb[_0x2f69f5];if(a0_0x2fdf['zPbXVE']===undefined){var _0x489bbe=function(_0x312873){const _0x21e496='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x37670b='',_0x184771='';for(let _0x329f40=0x0,_0x53a5aa,_0x1be50e,_0xb26ad6=0x0;_0x1be50e=_0x312873['charAt'](_0xb26ad6++);~_0x1be50e&&(_0x53a5aa=_0x329f40%0x4?_0x53a5aa*0x40+_0x1be50e:_0x1be50e,_0x329f40++%0x4)?_0x37670b+=String['fromCharCode'](0xff&_0x53a5aa>>(-0x2*_0x329f40&0x6)):0x0){_0x1be50e=_0x21e496['indexOf'](_0x1be50e);}for(let _0x17b362=0x0,_0x9187bb=_0x37670b['length'];_0x17b362<_0x9187bb;_0x17b362++){_0x184771+='%'+('00'+_0x37670b['charCodeAt'](_0x17b362)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x184771);};a0_0x2fdf['rvpsgy']=_0x489bbe,a0_0x2fdf['LZkjEJ']={},a0_0x2fdf['zPbXVE']=!![];}const _0x341b89=_0x4a2deb[0x0],_0x4e185f=_0x2f69f5+_0x341b89,_0x3dc495=a0_0x2fdf['LZkjEJ'][_0x4e185f];return!_0x3dc495?(_0x2fdf13=a0_0x2fdf['rvpsgy'](_0x2fdf13),a0_0x2fdf['LZkjEJ'][_0x4e185f]=_0x2fdf13):_0x2fdf13=_0x3dc495,_0x2fdf13;}const fs=require('fs')[a0_0x3241a4(0x1c2)],path=require('path'),{logger}=require(a0_0x3241a4(0x1bb));class PayloadLoader{constructor(){const _0x295cc4=a0_0x3241a4;this[_0x295cc4(0x1bf)]=path['join'](__dirname,_0x295cc4(0x1a2)),this['cache']=new Map();}async['loadPayload'](_0x1dd387,_0x3d4fa7){const _0x2c1166=a0_0x3241a4,_0xd614b3={'FCYHN':'utf8','ZFltq':'payload_loaded','SECpZ':'Payload\x20loaded\x20successfully','wdqZj':_0x2c1166(0x1a7)},_0x4754e5=_0x1dd387+':'+_0x3d4fa7;if(this['cache'][_0x2c1166(0x1a4)](_0x4754e5))return this[_0x2c1166(0x1b6)]['get'](_0x4754e5);const _0xa30ccf=path[_0x2c1166(0x1ae)](this['payloadDir'],_0x1dd387+'_'+_0x3d4fa7+'.json');try{const _0x447091=await fs['readFile'](_0xa30ccf,_0xd614b3['FCYHN']),_0x4e2595=JSON[_0x2c1166(0x1b4)](_0x447091);return this['cache'][_0x2c1166(0x1ad)](_0x4754e5,_0x4e2595),logger[_0x2c1166(0x1aa)]({'event':_0xd614b3[_0x2c1166(0x1bc)],'project':_0x1dd387,'resource':_0x3d4fa7},_0xd614b3['SECpZ']),_0x4e2595;}catch(_0x13bcf5){logger['error']({'event':_0x2c1166(0x1b9),'project':_0x1dd387,'resource':_0x3d4fa7,'error':_0x13bcf5[_0x2c1166(0x1ac)]},_0xd614b3[_0x2c1166(0x1a6)]);throw new Error('Payload\x20not\x20found:\x20'+_0x1dd387+'_'+_0x3d4fa7);}}async[a0_0x3241a4(0x1a1)](_0x544064){const _0x56bf23=a0_0x3241a4,_0x2be8b1={'rxLVO':_0x56bf23(0x1c1)},_0x5a9c96='payload:'+_0x544064;if(this[_0x56bf23(0x1b6)][_0x56bf23(0x1a4)](_0x5a9c96))return this['cache']['get'](_0x5a9c96);const _0x3796af=path['join'](this[_0x56bf23(0x1bf)],_0x544064+'.json');try{const _0x119b8c=await fs['readFile'](_0x3796af,_0x2be8b1[_0x56bf23(0x1b7)]),_0x5165fe=JSON[_0x56bf23(0x1b4)](_0x119b8c);return this[_0x56bf23(0x1b6)]['set'](_0x5a9c96,_0x5165fe),logger[_0x56bf23(0x1aa)]({'event':_0x56bf23(0x1c4),'payloadName':_0x544064},'Payload\x20loaded\x20successfully\x20by\x20name'),_0x5165fe;}catch(_0x579427){logger['error']({'event':_0x56bf23(0x1b9),'payloadName':_0x544064,'error':_0x579427[_0x56bf23(0x1ac)]},'Failed\x20to\x20load\x20payload\x20by\x20name');throw new Error('Payload\x20not\x20found:\x20'+_0x544064);}}[a0_0x3241a4(0x1c3)](_0x441f3b,_0x397993){const _0x411c47=a0_0x3241a4,_0x35053f={'YKTAi':function(_0x54baf1,_0x4d4106){return _0x54baf1===_0x4d4106;}};return _0x441f3b['action']&&_0x35053f['YKTAi'](_0x441f3b[_0x411c47(0x1b2)][_0x397993],!![]);}['getExportConfig'](_0xf18e9e){const _0x1a4dbd=a0_0x3241a4;return{'columns':_0xf18e9e['fieldName']||[],'filename':_0xf18e9e[_0x1a4dbd(0x1a0)]['replace']('.','-')+_0x1a4dbd(0x1bd),'datatablesQuery':_0xf18e9e['datatablesQuery']||null,'columnFormats':_0xf18e9e['columnFormats']||null,'fieldLabels':_0xf18e9e[_0x1a4dbd(0x1c0)]||null};}[a0_0x3241a4(0x1b3)](){const _0x460402=a0_0x3241a4,_0x8c052f={'ZpKrp':_0x460402(0x1a3)};this[_0x460402(0x1b6)]['clear'](),logger[_0x460402(0x1ab)]({'event':'payload_cache_cleared'},_0x8c052f['ZpKrp']);}}module['exports']=new PayloadLoader();