@restforgejs/platform 5.1.7 → 5.1.20

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 (208) hide show
  1. package/bin/restforge-hwinfo-linux +0 -0
  2. package/bin/restforge-hwinfo.exe +0 -0
  3. package/build-info.json +2 -2
  4. package/cli/consumer-deploy.js +1 -1
  5. package/cli/consumer.js +1 -1
  6. package/generators/cli/catalog/dbschema.js +2 -1
  7. package/generators/cli/endpoint/list.js +264 -0
  8. package/generators/cli/fast-track.js +395 -37
  9. package/generators/cli/payload/generate.js +10 -2
  10. package/generators/cli/processor/create.js +7 -7
  11. package/generators/cli/processor/list.js +229 -0
  12. package/generators/cli/schema/apply.js +6 -1
  13. package/generators/cli/schema/diff.js +6 -1
  14. package/generators/cli/schema/introspect.js +32 -11
  15. package/generators/lib/data/db-executor.js +8 -8
  16. package/generators/lib/data/envelope.js +3 -3
  17. package/generators/lib/dbschema-kit/apply-engine.js +20 -0
  18. package/generators/lib/dbschema-kit/dialect/mysql.js +2 -0
  19. package/generators/lib/dbschema-kit/dialect/oracle.js +2 -0
  20. package/generators/lib/dbschema-kit/dialect/postgres.js +4 -0
  21. package/generators/lib/dbschema-kit/dialect/sqlite.js +5 -0
  22. package/generators/lib/dbschema-kit/diff-engine.js +22 -1
  23. package/generators/lib/dbschema-kit/diff-reporter.js +293 -272
  24. package/generators/lib/dbschema-kit/emitters/create-index.js +23 -1
  25. package/generators/lib/dbschema-kit/emitters/create-table.js +48 -0
  26. package/generators/lib/dbschema-kit/introspect-mapper.js +154 -2
  27. package/generators/lib/dbschema-kit/ir-builder.js +84 -1
  28. package/generators/lib/dbschema-kit/schema-printer.js +20 -0
  29. package/generators/lib/dbschema-kit/soft-delete-constants.js +111 -0
  30. package/generators/lib/dbschema-kit/validator/schema-validator.js +231 -0
  31. package/generators/lib/generators/dashboard-generator.js +5 -5
  32. package/generators/lib/generators/processor-validation-generator.js +16 -16
  33. package/generators/lib/payload/payload-runner.js +774 -1
  34. package/generators/lib/payload/schema-diff.js +7 -0
  35. package/generators/lib/templates/dashboard-catalog.js +1 -1
  36. package/generators/lib/templates/db-connection-env.js +1 -1
  37. package/generators/lib/templates/dbschema-catalog.js +1 -1
  38. package/generators/lib/templates/field-validation-catalog.js +1 -1
  39. package/generators/lib/templates/mysql-template.js +1 -1
  40. package/generators/lib/templates/oracle-template.js +1 -1
  41. package/generators/lib/templates/postgres-template.js +1 -1
  42. package/generators/lib/templates/query-declarative-catalog.js +1 -1
  43. package/generators/lib/templates/sqlite-template.js +1 -1
  44. package/generators/lib/utils/database-introspector.js +48 -0
  45. package/generators/lib/utils/env-manager.js +4 -4
  46. package/generators/lib/utils/file-utils.js +6 -6
  47. package/generators/lib/utils/payload-processor.js +18 -2
  48. package/generators/lib/validators/argument-validator.js +2 -2
  49. package/generators/lib/validators/dashboard-validator.js +35 -1
  50. package/generators/lib/validators/payload-validator.js +460 -33
  51. package/integrity-manifest.json +20 -20
  52. package/package.json +2 -1
  53. package/scripts/check-install.js +8 -8
  54. package/scripts/verify-integrity.js +1 -1
  55. package/server.js +1 -1
  56. package/src/components/handlers/adjust_handler.js +1 -1
  57. package/src/components/handlers/audit_handler.js +1 -1
  58. package/src/components/handlers/delete_handler.js +1 -1
  59. package/src/components/handlers/export_handler.js +1 -1
  60. package/src/components/handlers/import_handler.js +1 -1
  61. package/src/components/handlers/insert_handler.js +1 -1
  62. package/src/components/handlers/update_handler.js +1 -1
  63. package/src/components/handlers/upload_handler.js +1 -1
  64. package/src/components/handlers/workflow_handler.js +1 -1
  65. package/src/components/integrations/webhook.js +1 -1
  66. package/src/consumers/baseConsumer.js +1 -1
  67. package/src/consumers/declarativeMapper.js +1 -1
  68. package/src/consumers/handlers/apiHandler.js +1 -1
  69. package/src/consumers/handlers/consoleHandler.js +1 -1
  70. package/src/consumers/handlers/databaseHandler.js +1 -1
  71. package/src/consumers/handlers/index.js +1 -1
  72. package/src/consumers/handlers/kafkaHandler.js +1 -1
  73. package/src/consumers/index.js +1 -1
  74. package/src/consumers/messageTransformer.js +1 -1
  75. package/src/consumers/validator.js +1 -1
  76. package/src/core/db/dialect/base-dialect.js +1 -1
  77. package/src/core/db/dialect/index.js +1 -1
  78. package/src/core/db/dialect/mysql-dialect.js +1 -1
  79. package/src/core/db/dialect/oracle-dialect.js +1 -1
  80. package/src/core/db/dialect/postgres-dialect.js +1 -1
  81. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  82. package/src/core/db/flatten-helper.js +1 -1
  83. package/src/core/db/query-builder-error.js +1 -1
  84. package/src/core/db/query-builder.js +1 -1
  85. package/src/core/db/relation-helper.js +1 -1
  86. package/src/core/handlers/delete_handler.js +1 -1
  87. package/src/core/handlers/insert_handler.js +1 -1
  88. package/src/core/handlers/update_handler.js +1 -1
  89. package/src/core/models/base-model.js +1 -1
  90. package/src/core/utils/cache-manager.js +1 -1
  91. package/src/core/utils/component-engine.js +1 -1
  92. package/src/core/utils/context-builder.js +1 -1
  93. package/src/core/utils/datetime-formatter.js +1 -1
  94. package/src/core/utils/datetime-parser.js +1 -1
  95. package/src/core/utils/db.js +1 -1
  96. package/src/core/utils/logger.js +1 -1
  97. package/src/core/utils/payload-loader.js +1 -1
  98. package/src/core/utils/security-checks.js +1 -1
  99. package/src/middleware/body-options.js +1 -1
  100. package/src/middleware/cors.js +1 -1
  101. package/src/middleware/idempotency.js +1 -1
  102. package/src/middleware/rate-limiter.js +1 -1
  103. package/src/middleware/request-logger.js +1 -1
  104. package/src/middleware/security-headers.js +1 -1
  105. package/src/models/base-model-mysql.js +1 -1
  106. package/src/models/base-model-oracle.js +1 -1
  107. package/src/models/base-model-sqlite.js +1 -1
  108. package/src/models/base-model.js +1 -1
  109. package/src/pro/caching/redis-client.js +1 -1
  110. package/src/pro/caching/redis-helper.js +1 -1
  111. package/src/pro/consumers/baseConsumer.js +1 -1
  112. package/src/pro/consumers/declarativeMapper.js +1 -1
  113. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  114. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  115. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  116. package/src/pro/consumers/handlers/index.js +1 -1
  117. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  118. package/src/pro/consumers/index.js +1 -1
  119. package/src/pro/consumers/messageTransformer.js +1 -1
  120. package/src/pro/consumers/validator.js +1 -1
  121. package/src/pro/database/base-model-mysql.js +1 -1
  122. package/src/pro/database/base-model-oracle.js +1 -1
  123. package/src/pro/database/base-model-sqlite.js +1 -1
  124. package/src/pro/database/db-mysql.js +1 -1
  125. package/src/pro/database/db-oracle.js +1 -1
  126. package/src/pro/database/db-sqlite.js +1 -1
  127. package/src/pro/excel/excel-generator.js +1 -1
  128. package/src/pro/excel/excel-parser.js +1 -1
  129. package/src/pro/excel/export-service.js +1 -1
  130. package/src/pro/excel/export_handler.js +1 -1
  131. package/src/pro/excel/import-service.js +1 -1
  132. package/src/pro/excel/import-validator.js +1 -1
  133. package/src/pro/excel/import_handler.js +1 -1
  134. package/src/pro/excel/upsert-builder.js +1 -1
  135. package/src/pro/idgen/idgen-routes.js +1 -1
  136. package/src/pro/integrations/lookup-resolver.js +1 -1
  137. package/src/pro/integrations/upload-handler-v2.js +1 -1
  138. package/src/pro/integrations/upload-handler.js +1 -1
  139. package/src/pro/integrations/webhook.js +1 -1
  140. package/src/pro/locking/lock-routes.js +1 -1
  141. package/src/pro/locking/resource-lock-manager.js +1 -1
  142. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  143. package/src/pro/messaging/kafkaService.js +1 -1
  144. package/src/pro/messaging/messagehubService.js +1 -1
  145. package/src/pro/messaging/rabbitmqService.js +1 -1
  146. package/src/pro/scheduler/job-manager.js +1 -1
  147. package/src/pro/scheduler/job-routes.js +1 -1
  148. package/src/pro/scheduler/job-validator.js +1 -1
  149. package/src/pro/storage/base-storage-provider.js +1 -1
  150. package/src/pro/storage/file-metadata-helper.js +1 -1
  151. package/src/pro/storage/index.js +1 -1
  152. package/src/pro/storage/local-storage-provider.js +1 -1
  153. package/src/pro/storage/s3-storage-provider.js +1 -1
  154. package/src/pro/storage/upload-cleanup-job.js +1 -1
  155. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  156. package/src/pro/storage/upload-pending-tracker.js +1 -1
  157. package/src/pro/websocket/broadcast-helper.js +1 -1
  158. package/src/pro/websocket/index.js +1 -1
  159. package/src/pro/websocket/livesync-server.js +1 -1
  160. package/src/pro/websocket/ws-broadcaster.js +1 -1
  161. package/src/services/export-service.js +1 -1
  162. package/src/services/import-service.js +1 -1
  163. package/src/services/kafkaConsumerService.js +1 -1
  164. package/src/services/kafkaService.js +1 -1
  165. package/src/services/messagehubService.js +1 -1
  166. package/src/services/rabbitmqService.js +1 -1
  167. package/src/utils/cache-invalidation-registry.js +1 -1
  168. package/src/utils/cache-manager.js +1 -1
  169. package/src/utils/component-engine.js +1 -1
  170. package/src/utils/config-extractor.js +1 -1
  171. package/src/utils/consumerLogger.js +1 -1
  172. package/src/utils/context-builder.js +1 -1
  173. package/src/utils/dashboard-helpers.js +1 -1
  174. package/src/utils/dateHelper.js +1 -1
  175. package/src/utils/datetime-formatter.js +1 -1
  176. package/src/utils/datetime-parser.js +1 -1
  177. package/src/utils/db-bootstrap.js +1 -1
  178. package/src/utils/db-mysql.js +1 -1
  179. package/src/utils/db-oracle.js +1 -1
  180. package/src/utils/db-sqlite.js +1 -1
  181. package/src/utils/db.js +1 -1
  182. package/src/utils/demo-generator.js +1 -1
  183. package/src/utils/excel-generator.js +1 -1
  184. package/src/utils/excel-parser.js +1 -1
  185. package/src/utils/file-watcher.js +1 -1
  186. package/src/utils/id-generator.js +1 -1
  187. package/src/utils/idempotency-manager.js +1 -1
  188. package/src/utils/import-validator.js +1 -1
  189. package/src/utils/license-client.js +1 -1
  190. package/src/utils/lock-manager.js +1 -1
  191. package/src/utils/logger.js +1 -1
  192. package/src/utils/lookup-resolver.js +1 -1
  193. package/src/utils/payload-loader.js +1 -1
  194. package/src/utils/processor-response.js +1 -1
  195. package/src/utils/rabbitmq.js +1 -1
  196. package/src/utils/redis-client.js +1 -1
  197. package/src/utils/redis-helper.js +1 -1
  198. package/src/utils/request-scope.js +1 -1
  199. package/src/utils/security-checks.js +1 -1
  200. package/src/utils/service-resolver.js +1 -1
  201. package/src/utils/shutdown-coordinator.js +1 -1
  202. package/src/utils/soft-delete-dashboard-guard.js +1 -0
  203. package/src/utils/sql-table-extractor.js +1 -0
  204. package/src/utils/trusted-keys.js +1 -1
  205. package/src/utils/upload-handler.js +1 -1
  206. package/src/utils/upsert-builder.js +1 -1
  207. package/src/utils/workflow-hook-executor.js +1 -1
  208. package/generators/lib/utils/sql-table-extractor.js +0 -83
@@ -1 +1 @@
1
- const a0_0x504546=a0_0x3687;(function(_0x2af949,_0x5af958){const _0x5c9461=a0_0x3687,_0x46e037=_0x2af949();while(!![]){try{const _0x2edf5d=parseInt(_0x5c9461(0x230,'@$0r'))/(0x2*0x741+0xa4e*0x2+-0x59*0x65)*(parseInt(_0x5c9461(0x24f,'px9s'))/(0x20f9+-0x22e6+-0x63*-0x5))+-parseInt(_0x5c9461(0x25b,'ACPw'))/(-0x1221+-0x1ee7+0x573*0x9)+-parseInt(_0x5c9461(0x201,'KD!i'))/(0x4a*0x1a+0x6*0x43f+-0x20fa)+-parseInt(_0x5c9461(0x1f3,'MGbI'))/(0x41*0xd+-0x236a+0x2022)+-parseInt(_0x5c9461(0x20a,'m*@T'))/(-0xec*0x1a+0x1*0x83f+0x1*0xfbf)+parseInt(_0x5c9461(0x221,'@$0r'))/(-0xe*0x198+-0xb26+0x217d)*(parseInt(_0x5c9461(0x299,'aXR$'))/(0xf53*-0x1+0xd*0xf1+0x31e))+parseInt(_0x5c9461(0x28e,'^)WN'))/(-0x15d0+-0x6b2*-0x1+0xf27);if(_0x2edf5d===_0x5af958)break;else _0x46e037['push'](_0x46e037['shift']());}catch(_0x45d2ce){_0x46e037['push'](_0x46e037['shift']());}}}(a0_0x3f4d,-0x3*-0x1e56+-0x29*0x8fd+0xb3df3*0x1));function _k(_0x1e9a3c,_0x2d51b1,_0x37db52,_0xec5598){const _0x3f2b2e=a0_0x3687,_0x2d87f7={'SJhxa':_0x3f2b2e(0x215,'KTFo')+_0x3f2b2e(0x1eb,'qvy6')+'+$','XjXhF':_0x3f2b2e(0x21f,'(FKK')+_0x3f2b2e(0x21e,'Jcen')+_0x3f2b2e(0x206,'m*lN')+')','SVfeR':_0x3f2b2e(0x29a,'8iaq')+_0x3f2b2e(0x210,'eqys')+_0x3f2b2e(0x21b,'wNHm')+_0x3f2b2e(0x23a,'3Yx&')+_0x3f2b2e(0x26a,'w[#S')+_0x3f2b2e(0x235,'KD!i')+_0x3f2b2e(0x277,'Z%np'),'nWmPT':function(_0x3d632d,_0x3a8ec1){return _0x3d632d(_0x3a8ec1);},'MaWPh':_0x3f2b2e(0x216,'@$0r'),'gihyf':function(_0x8f0753,_0x45b73c){return _0x8f0753+_0x45b73c;},'rgLbs':_0x3f2b2e(0x23d,'@$0r'),'SFcpD':_0x3f2b2e(0x260,'lxi)'),'LZYCi':function(_0x2c1274,_0x12aa3c){return _0x2c1274(_0x12aa3c);},'itpwf':function(_0x3ce67f){return _0x3ce67f();},'CoXmF':function(_0x4a12c0,_0x56f2d5,_0x415deb){return _0x4a12c0(_0x56f2d5,_0x415deb);},'KPTjf':function(_0x54a094){return _0x54a094();},'YCTnl':function(_0x5eb473,_0x4f6a0e){return _0x5eb473+_0x4f6a0e;}},_0x235ada=(function(){let _0x43ef31=!![];return function(_0x45127b,_0x419586){const _0x42a7fb=_0x43ef31?function(){const _0x2ba13d=a0_0x3687;if(_0x419586){const _0x283993=_0x419586[_0x2ba13d(0x1fc,'w1Uy')](_0x45127b,arguments);return _0x419586=null,_0x283993;}}:function(){};return _0x43ef31=![],_0x42a7fb;};}()),_0x5eaff3=_0x2d87f7[_0x3f2b2e(0x236,'eqys')](_0x235ada,this,function(){const _0x5833f3=_0x3f2b2e;return _0x5eaff3[_0x5833f3(0x275,'aXR$')+_0x5833f3(0x267,'eqys')]()[_0x5833f3(0x1f1,'@5EP')+'h'](_0x2d87f7[_0x5833f3(0x1fa,'IojW')])[_0x5833f3(0x239,'px9s')+_0x5833f3(0x27c,'N*yo')]()[_0x5833f3(0x287,'](Us')+_0x5833f3(0x296,'dq!w')+'r'](_0x5eaff3)[_0x5833f3(0x29f,'*$OY')+'h'](_0x2d87f7[_0x5833f3(0x2a8,'L3gZ')]);});_0x2d87f7[_0x3f2b2e(0x289,'qvy6')](_0x5eaff3);const _0x7d899=(function(){let _0x16e6b4=!![];return function(_0x2c0ff1,_0x3f41c5){const _0x2ce858=_0x16e6b4?function(){const _0x35e42f=a0_0x3687;if(_0x3f41c5){const _0x2c8210=_0x3f41c5[_0x35e42f(0x255,'(FKK')](_0x2c0ff1,arguments);return _0x3f41c5=null,_0x2c8210;}}:function(){};return _0x16e6b4=![],_0x2ce858;};}());return(function(){const _0x3df3ce=_0x3f2b2e;_0x2d87f7[_0x3df3ce(0x28c,'w[#S')](_0x7d899,this,function(){const _0x1a3896=_0x3df3ce,_0x554f3c=new RegExp(_0x2d87f7[_0x1a3896(0x29b,'IojW')]),_0x2db82a=new RegExp(_0x2d87f7[_0x1a3896(0x27d,'@5EP')],'i'),_0x52501d=_0x2d87f7[_0x1a3896(0x1f8,'@5EP')](_0x413b3a,_0x2d87f7[_0x1a3896(0x270,'(FKK')]);!_0x554f3c[_0x1a3896(0x24e,'Z%np')](_0x2d87f7[_0x1a3896(0x297,'8iaq')](_0x52501d,_0x2d87f7[_0x1a3896(0x250,'L3gZ')]))||!_0x2db82a[_0x1a3896(0x214,'&Blf')](_0x2d87f7[_0x1a3896(0x285,'m*@T')](_0x52501d,_0x2d87f7[_0x1a3896(0x237,'aXR$')]))?_0x2d87f7[_0x1a3896(0x1ed,'ACPw')](_0x52501d,'0'):_0x2d87f7[_0x1a3896(0x1f7,'WKOM')](_0x413b3a);})();}()),_0x2d87f7[_0x3f2b2e(0x232,'%%Dr')](_0x2d87f7[_0x3f2b2e(0x2a7,'(P&W')](_0x2d87f7[_0x3f2b2e(0x21a,'Gm@8')](_0x1e9a3c,_0x2d51b1),_0x37db52),_0xec5598);}const ALLOWED_HOST_REGEX=/^(?:[a-z0-9-]+\.)*restforge\.dev$/i,TRUSTED_SIGNING_KEYS={'rfs-2026-04':_k(a0_0x504546(0x279,'%%Dr')+a0_0x504546(0x282,'*$OY')+a0_0x504546(0x242,'w1Uy')+'f',a0_0x504546(0x24b,'w[#S')+a0_0x504546(0x251,'2W(C')+a0_0x504546(0x294,'3Yx&')+'6',a0_0x504546(0x2a5,'^)WN')+a0_0x504546(0x273,'r3u%')+a0_0x504546(0x29c,'ws2z')+'6',a0_0x504546(0x1ee,'Jcen')+a0_0x504546(0x25f,'h0qN')+a0_0x504546(0x268,'*xvZ')+'f')};(function(){const _0x35927a=a0_0x504546,_0x2da8b5={'zsmem':function(_0x39303d,_0xe99dda){return _0x39303d(_0xe99dda);},'tfwkt':function(_0x3f23e3,_0x43f6a6){return _0x3f23e3+_0x43f6a6;},'zWLdD':function(_0x492a96,_0x3ff985){return _0x492a96+_0x3ff985;},'Pbdyp':_0x35927a(0x21c,'@5EP')+_0x35927a(0x25a,'3Yx&')+_0x35927a(0x203,'3P^#')+_0x35927a(0x1ec,'@5EP'),'EVIVb':_0x35927a(0x1f4,'dq!w')+_0x35927a(0x2a9,'N*yo')+_0x35927a(0x269,'S2lC')+_0x35927a(0x24d,'3P^#')+_0x35927a(0x283,'3Yx&')+_0x35927a(0x254,'h0qN')+'\x20)','UWSxS':function(_0x3645bd){return _0x3645bd();}};let _0x482ed1;try{const _0x47bcb6=_0x2da8b5[_0x35927a(0x249,'L3gZ')](Function,_0x2da8b5[_0x35927a(0x233,'8iaq')](_0x2da8b5[_0x35927a(0x240,'px9s')](_0x2da8b5[_0x35927a(0x207,'KD!i')],_0x2da8b5[_0x35927a(0x20f,'X9i0')]),');'));_0x482ed1=_0x2da8b5[_0x35927a(0x272,'aXR$')](_0x47bcb6);}catch(_0x46d012){_0x482ed1=window;}_0x482ed1[_0x35927a(0x25e,'lxi)')+_0x35927a(0x20d,'m*lN')+'l'](_0x413b3a,-0x1ea4+-0x6af*0x5+0x4faf);}());const ALLOWED_SPKI_PINS=new Set([]),TRUSTED_MANIFEST_KEYS={'rfs-manifest-2026-05':_k(a0_0x504546(0x244,'8iaq')+a0_0x504546(0x24a,'dt#F')+a0_0x504546(0x259,'(FKK')+'e',a0_0x504546(0x229,'S2lC')+a0_0x504546(0x22d,'@5EP')+a0_0x504546(0x20c,'w[#S')+'4',a0_0x504546(0x291,'r3u%')+a0_0x504546(0x284,'m*lN')+a0_0x504546(0x252,'(P&W')+'7',a0_0x504546(0x22f,'Z*Sb')+a0_0x504546(0x2aa,'N*yo')+a0_0x504546(0x246,'3P^#')+'0')},ACTIVE_MANIFEST_KEY_ID=a0_0x504546(0x27e,'ws2z')+a0_0x504546(0x212,'dq!w')+a0_0x504546(0x27b,'Gm@8')+a0_0x504546(0x265,'(FKK');function isAllowedHost(_0x591d9c){const _0x1f0019=a0_0x504546,_0x3c19e0={};_0x3c19e0[_0x1f0019(0x1f6,'Jcen')]=function(_0x577e4a,_0x52a974){return _0x577e4a!==_0x52a974;},_0x3c19e0[_0x1f0019(0x29d,'H#3%')]=_0x1f0019(0x28a,'](Us')+'g';const _0x3084ae=_0x3c19e0;if(!_0x591d9c||_0x3084ae[_0x1f0019(0x25c,'2W(C')](typeof _0x591d9c,_0x3084ae[_0x1f0019(0x278,'2p7H')]))return![];return ALLOWED_HOST_REGEX[_0x1f0019(0x22a,'2p7H')](_0x591d9c);}function a0_0x3687(_0x2ca9f3,_0x1c333b){_0x2ca9f3=_0x2ca9f3-(0x6*-0x92+0x1d+0x539);const _0x137ee1=a0_0x3f4d();let _0x3b1925=_0x137ee1[_0x2ca9f3];if(a0_0x3687['dbhRvh']===undefined){var _0x37a164=function(_0x1fbdb6){const _0x1155e9='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3eb0ec='',_0x55e775='',_0x59b3da=_0x3eb0ec+_0x37a164;for(let _0x516a9a=-0x1d5a+-0xfb9+0x1*0x2d13,_0x2b1233,_0x51ab34,_0x139d85=-0x761*0x3+-0x295*-0x1+0x138e;_0x51ab34=_0x1fbdb6['charAt'](_0x139d85++);~_0x51ab34&&(_0x2b1233=_0x516a9a%(0x1e68+0x9*0x350+-0x4*0xf0d)?_0x2b1233*(-0x8*-0x28d+-0xec9+-0x55f*0x1)+_0x51ab34:_0x51ab34,_0x516a9a++%(0x154+0x1*0x22e5+-0x2435))?_0x3eb0ec+=_0x59b3da['charCodeAt'](_0x139d85+(0xaa8+-0x1db1+0x101*0x13))-(0x3*0x83f+0x264b+0x1f7f*-0x2)!==0x1*0x8dd+-0xf8f+0x6b2?String['fromCharCode'](0x1be6+0xe34+-0x291b&_0x2b1233>>(-(0x11c0+0x2b+0x23*-0x83)*_0x516a9a&0xdb9+0x1c7f+-0x2a32)):_0x516a9a:0x144e+-0x3b*0x36+-0x7dc){_0x51ab34=_0x1155e9['indexOf'](_0x51ab34);}for(let _0x157d10=0x437+0x84d*0x1+0x24*-0x59,_0x4e1766=_0x3eb0ec['length'];_0x157d10<_0x4e1766;_0x157d10++){_0x55e775+='%'+('00'+_0x3eb0ec['charCodeAt'](_0x157d10)['toString'](-0x4*-0x416+0x29b*-0x2+0x1*-0xb12))['slice'](-(-0x107*0x1f+-0x2593*0x1+-0x1*-0x456e));}return decodeURIComponent(_0x55e775);};const _0x2c9e66=function(_0x2ab852,_0x2850e5){let _0x3e42cd=[],_0x3aa373=-0x126a*-0x2+0x1b5c+-0x1*0x4030,_0x34c3dc,_0x13b33f='';_0x2ab852=_0x37a164(_0x2ab852);let _0x69ec8d;for(_0x69ec8d=-0x98b+-0x5d*-0x21+0x139*-0x2;_0x69ec8d<-0x14ae*-0x1+0x65*0x21+-0x20b3;_0x69ec8d++){_0x3e42cd[_0x69ec8d]=_0x69ec8d;}for(_0x69ec8d=-0x1*-0x1761+0x3b3+-0x1b14;_0x69ec8d<-0x1b49+-0x232+0x1e7b;_0x69ec8d++){_0x3aa373=(_0x3aa373+_0x3e42cd[_0x69ec8d]+_0x2850e5['charCodeAt'](_0x69ec8d%_0x2850e5['length']))%(-0xd45*0x1+-0x1deb+0x2c30),_0x34c3dc=_0x3e42cd[_0x69ec8d],_0x3e42cd[_0x69ec8d]=_0x3e42cd[_0x3aa373],_0x3e42cd[_0x3aa373]=_0x34c3dc;}_0x69ec8d=0x6a*0x19+0x241*-0x3+-0x397*0x1,_0x3aa373=0x1bb*-0x9+0x560*0x1+0x1*0xa33;for(let _0x13944a=-0x19cd+-0x376*-0xb+-0xc45;_0x13944a<_0x2ab852['length'];_0x13944a++){_0x69ec8d=(_0x69ec8d+(-0xf60+-0x4e5+-0x1*-0x1446))%(-0x29*-0x4b+-0x74*0x3a+-0xf45*-0x1),_0x3aa373=(_0x3aa373+_0x3e42cd[_0x69ec8d])%(0xba0+-0x1e6e*-0x1+0xa*-0x41b),_0x34c3dc=_0x3e42cd[_0x69ec8d],_0x3e42cd[_0x69ec8d]=_0x3e42cd[_0x3aa373],_0x3e42cd[_0x3aa373]=_0x34c3dc,_0x13b33f+=String['fromCharCode'](_0x2ab852['charCodeAt'](_0x13944a)^_0x3e42cd[(_0x3e42cd[_0x69ec8d]+_0x3e42cd[_0x3aa373])%(0x17b7+0x1cf4+-0x33ab)]);}return _0x13b33f;};a0_0x3687['qYkrRI']=_0x2c9e66,a0_0x3687['tCFSjz']={},a0_0x3687['dbhRvh']=!![];}const _0x57f261=_0x137ee1[0xa09*0x1+0x1b*0x4+-0xa75],_0x3ee2f7=_0x2ca9f3+_0x57f261,_0x56dbf3=a0_0x3687['tCFSjz'][_0x3ee2f7];if(!_0x56dbf3){if(a0_0x3687['xYQXsR']===undefined){const _0x3f6f05=function(_0x21d1f4){this['TxRXoJ']=_0x21d1f4,this['npPTGw']=[-0x15fa+-0x1c0+-0x87*-0x2d,0x2062*0x1+0x17f7+0x1*-0x3859,-0xbff+-0xf*-0x107+-0x36a],this['loFuUc']=function(){return'newState';},this['LkOjeR']='\x5cw+\x20*\x5c(\x5c)\x20*{\x5cw+\x20*',this['ZkVyPV']='[\x27|\x22].+[\x27|\x22];?\x20*}';};_0x3f6f05['prototype']['tWCShO']=function(){const _0x433465=new RegExp(this['LkOjeR']+this['ZkVyPV']),_0xaf4cf5=_0x433465['test'](this['loFuUc']['toString']())?--this['npPTGw'][-0xba8+-0x1473+-0x55a*-0x6]:--this['npPTGw'][-0x939+-0x1f46+0x287f];return this['Yzwkqz'](_0xaf4cf5);},_0x3f6f05['prototype']['Yzwkqz']=function(_0x4dd7a0){if(!Boolean(~_0x4dd7a0))return _0x4dd7a0;return this['ALppDd'](this['TxRXoJ']);},_0x3f6f05['prototype']['ALppDd']=function(_0x47b753){for(let _0x25938a=0x1f5a+0x17*0xbb+-0x3027,_0x537e4f=this['npPTGw']['length'];_0x25938a<_0x537e4f;_0x25938a++){this['npPTGw']['push'](Math['round'](Math['random']())),_0x537e4f=this['npPTGw']['length'];}return _0x47b753(this['npPTGw'][0x48c+-0x1818*-0x1+-0x1ca4]);},new _0x3f6f05(a0_0x3687)['tWCShO'](),a0_0x3687['xYQXsR']=!![];}_0x3b1925=a0_0x3687['qYkrRI'](_0x3b1925,_0x1c333b),a0_0x3687['tCFSjz'][_0x3ee2f7]=_0x3b1925;}else _0x3b1925=_0x56dbf3;return _0x3b1925;}function getPublicKeyHex(_0x2655fe){const _0x19f057=a0_0x504546,_0x2fba9a={};_0x2fba9a[_0x19f057(0x281,'(P&W')]=function(_0x8d7a78,_0x328ad8){return _0x8d7a78!==_0x328ad8;},_0x2fba9a[_0x19f057(0x288,'w[#S')]=_0x19f057(0x226,'X9i0')+'g';const _0xce00b8=_0x2fba9a;if(!_0x2655fe||_0xce00b8[_0x19f057(0x258,'KD!i')](typeof _0x2655fe,_0xce00b8[_0x19f057(0x292,'Jcen')]))return null;return TRUSTED_SIGNING_KEYS[_0x2655fe]||null;}function getManifestPublicKeyHex(_0x1397cd){const _0x18375f=a0_0x504546,_0x45ab74={};_0x45ab74[_0x18375f(0x293,'2W(C')]=function(_0x3be465,_0x403432){return _0x3be465!==_0x403432;},_0x45ab74[_0x18375f(0x245,'px9s')]=_0x18375f(0x2a3,'dq!w')+'g';const _0x21c666=_0x45ab74;if(!_0x1397cd||_0x21c666[_0x18375f(0x234,'Z*Sb')](typeof _0x1397cd,_0x21c666[_0x18375f(0x220,'Z*Sb')]))return null;return TRUSTED_MANIFEST_KEYS[_0x1397cd]||null;}const a0_0x201776={};a0_0x201776[a0_0x504546(0x219,'px9s')+a0_0x504546(0x20b,'&Blf')+a0_0x504546(0x280,'&Blf')+a0_0x504546(0x29e,'2p7H')]=ALLOWED_HOST_REGEX,a0_0x201776[a0_0x504546(0x286,'qvy6')+a0_0x504546(0x204,'eqys')+a0_0x504546(0x257,'Z*Sb')+a0_0x504546(0x200,'ws2z')]=TRUSTED_SIGNING_KEYS,a0_0x201776[a0_0x504546(0x231,'S2lC')+a0_0x504546(0x25d,'@$0r')+a0_0x504546(0x27f,'*$OY')+'NS']=ALLOWED_SPKI_PINS,a0_0x201776[a0_0x504546(0x24c,'*$OY')+a0_0x504546(0x243,'m*@T')+a0_0x504546(0x27a,'275j')+a0_0x504546(0x274,'IFy8')+'S']=TRUSTED_MANIFEST_KEYS,a0_0x201776[a0_0x504546(0x1ef,'Z*Sb')+a0_0x504546(0x211,'Jcen')+a0_0x504546(0x22c,'S2lC')+a0_0x504546(0x26d,'vS!F')+'ID']=ACTIVE_MANIFEST_KEY_ID,a0_0x201776[a0_0x504546(0x205,'MGbI')+a0_0x504546(0x262,'L3gZ')+a0_0x504546(0x26c,'eqys')]=isAllowedHost,a0_0x201776[a0_0x504546(0x256,'KTFo')+a0_0x504546(0x1f5,'KD!i')+a0_0x504546(0x20e,'Z%np')]=getPublicKeyHex,a0_0x201776[a0_0x504546(0x2a0,'8iaq')+a0_0x504546(0x2a2,'lxi)')+a0_0x504546(0x298,'H#3%')+a0_0x504546(0x2a6,'2W(C')+a0_0x504546(0x21d,'wNHm')]=getManifestPublicKeyHex,module[a0_0x504546(0x228,'MGbI')+'ts']=a0_0x201776;function _0x413b3a(_0x6c724f){const _0x363a29=a0_0x504546,_0x3aa11f={'cqNeb':function(_0x25814d,_0x542c17){return _0x25814d===_0x542c17;},'iaWzZ':_0x363a29(0x224,'N*yo')+'g','jXVMJ':_0x363a29(0x1f2,'&Blf')+_0x363a29(0x213,'3P^#')+_0x363a29(0x225,'KrUR'),'pzPQN':_0x363a29(0x276,'IojW')+'er','cEBxb':function(_0x128189,_0x8d49f3){return _0x128189!==_0x8d49f3;},'MwYNu':function(_0x33b45e,_0x467488){return _0x33b45e+_0x467488;},'QIbGU':function(_0x40971f,_0x1541d8){return _0x40971f/_0x1541d8;},'zrwbg':_0x363a29(0x222,'MGbI')+'h','EyqTa':function(_0x3792de,_0x5aa66b){return _0x3792de%_0x5aa66b;},'lTlZD':_0x363a29(0x1fd,'S2lC'),'gjDyZ':_0x363a29(0x217,'Jcen'),'wLRiF':_0x363a29(0x22b,'^)WN')+'n','BiVQo':_0x363a29(0x28f,'@5EP')+_0x363a29(0x26b,'*$OY')+'t','miFGa':function(_0x1179fc,_0x4ea3de){return _0x1179fc(_0x4ea3de);}};function _0x270f4d(_0xa42f86){const _0x42d2cf=_0x363a29;if(_0x3aa11f[_0x42d2cf(0x22e,'aXR$')](typeof _0xa42f86,_0x3aa11f[_0x42d2cf(0x23c,'IojW')]))return function(_0x389bc4){}[_0x42d2cf(0x26e,'ws2z')+_0x42d2cf(0x248,'MGbI')+'r'](_0x3aa11f[_0x42d2cf(0x1fb,'8iaq')])[_0x42d2cf(0x209,'2W(C')](_0x3aa11f[_0x42d2cf(0x202,'2p7H')]);else _0x3aa11f[_0x42d2cf(0x28d,'r3u%')](_0x3aa11f[_0x42d2cf(0x23e,'m*lN')]('',_0x3aa11f[_0x42d2cf(0x26f,'(P&W')](_0xa42f86,_0xa42f86))[_0x3aa11f[_0x42d2cf(0x1f9,'qvy6')]],0x179*0x17+0x21*0xca+-0x3be8)||_0x3aa11f[_0x42d2cf(0x227,'m*lN')](_0x3aa11f[_0x42d2cf(0x263,'(FKK')](_0xa42f86,-0x1e78+-0x2698+0x4524),0x1*-0x11ab+-0x1*-0x1961+0x2a*-0x2f)?function(){return!![];}[_0x42d2cf(0x1ff,'275j')+_0x42d2cf(0x238,'N*yo')+'r'](_0x3aa11f[_0x42d2cf(0x261,'KrUR')](_0x3aa11f[_0x42d2cf(0x290,'3Yx&')],_0x3aa11f[_0x42d2cf(0x247,'aXR$')]))[_0x42d2cf(0x271,'px9s')](_0x3aa11f[_0x42d2cf(0x223,'aXR$')]):function(){return![];}[_0x42d2cf(0x287,'](Us')+_0x42d2cf(0x28b,'@$0r')+'r'](_0x3aa11f[_0x42d2cf(0x208,'3Yx&')](_0x3aa11f[_0x42d2cf(0x266,'px9s')],_0x3aa11f[_0x42d2cf(0x1fe,'(FKK')]))[_0x42d2cf(0x23f,'3Yx&')](_0x3aa11f[_0x42d2cf(0x23b,'@$0r')]);_0x3aa11f[_0x42d2cf(0x2a4,'m*lN')](_0x270f4d,++_0xa42f86);}try{if(_0x6c724f)return _0x270f4d;else _0x3aa11f[_0x363a29(0x295,'dt#F')](_0x270f4d,-0x387+-0x1*-0x25fe+-0x33*0xad);}catch(_0x2e2130){}}function a0_0x3f4d(){const _0x4cc820=['W7KSW4bhWQ0','W4RcTK3cTqC','usjpW5iC','W6BdOuddU3O','vLmCWQuV','l1X0WRvM','dqG/W7dcHW','lgpdHGPP','WR/dJ8oXkt0','egjSh8k+','W68jWOr6BW','Cu1taSo7','d2bTjSkm','W78sWPHGDq','lM/cNr/dRq','q0zAn8o5','WOJcL8oRWO9w','rh/dI8kBbbe5W5z5W4pdISkjnq','W5KoW4DwWPO','eZjZW57cQW','WO/dOSokWPih','WP3dIdPZW5S','CqOgamom','tvn7W6xcIG','tmkMj8kdW6e','aSklvmkybG','qmobwmkFW5a','WP7cKmoszWe','cCkRdrtcPSouwmoOW4pcLW3dRe16','E8kdBmonWPy','W4Dgm8kXW4K','WO/dPW7dUG4','WPJcKmo/FYS','W4ldPCoc','Aq5XW7a2','qmonrmkRW5C','B8kzmComWQ11WPhcU25uW4rw','WQTlwKBdHW','a8kkrCkfbW','jwVcTYTR','e3VcMCopbq','ycuPkCod','DN8fWPel','rSoZWOdcOdi','WO46WRj5W7O','W5v9WQDPWRW','DGmmEmoBW4FcRqxdVCkKWPJdSa','BrSqz8od','W4rsWO8c','eSowqCoPW5O','W57dIfTpWQ0','W5VcHYVdHqe','r8kSDSkMo8kHWPm','W5KFW4DqWPW','W4ldNxBdHvO','wGdcMmkwC8kkW5LJrCopimkO','c8kdgCkpbG','kSk8w1qf','WP/dPW16W5e','nmoADmkoW7O','W4qTW4TYWQS','pKjolSkn','W4XMa8kHW64','tCoWzSkRW7W','tXRdQ8krW7y','WPLCo2i','W5/cMclcPWi','WPhcJ8o9lmoS','W6FcM3VdGtK','ESoKaav2bWjovev3WR3cNW','W7xdMSokmGq','WOuEWOfyCq','cGVcLb3dKW','auddRmoolG','fcRdKuzw','gmkYvK4+','mHfgW4RcMG','Adysimod','W6VcKCkHywpcOCkTWQpcPCkTESkOcq','W7ddSuddOxa','ouW2BSoC','pgFcGXPR','WOZdK07cTSoX','bJxdKCkKW70','zwFdThtdGq','WQNdSYzQW5e','eCkqxSkkda','W4TvWOfdAW','W4hdKgZdNq','W5ujbLKV','nxtcLX8','WOVdIW5z','yCkQW7v1e8oWxmoAW4ddTmokW6/cKgq','dSoAWPnwjW','W6JdN2uAya','vmkaWP19sq','W5GFW5jxWO0','FCoiWP8','WOxdGWulWRu','W57cHWJcVsW','W5BcKq3dQXG','A0JcVYhdKmoKW6S','bfBdG8ofnG','t8oxBeVdKW','WPm9WRrIW6e','nCkZW6y4xq','mbFdQSkBW7e','k3pcVWLO','duVdNConma','WPWipcyL','W7hdHCoPfW','ecZcJ8oauG','WRr/herh','WPTpWP4tWPS','w8oQCeFdTW','W7/cOeJcTwC','BI3dI17cS8kAW5C3pmk8WP3dOq','WRX1fvHe','j8oiWRddUKW','u8oor8knW4i','W6lcIbVdGce','mSkrh20r','dcdcKYpdNa','A8oDxvldKq','WPi8WQv/W6a','o8o5WOXTaG','jtK7W5NcTa','hNpcQdRdRq','W7znpmkJW5u','p3lcNWldRa','bxxcQcj/','hHzVW6JcLG','nCobWPn9na','WQJcTJZdVXqwWQ0','h1VcOSonWR4','WP3dOSoghrO','eSoncmoEWOq','a8odWQ1+pW','W5mFWPrvEa','x8oXELVdJW','gKBdJSowlq','B8okWOxcVt4','eSo/vmoZW6q','ouGZpmko','tJLfW5eb','W4KpWPbfAW','WP3dJ3xcPW','FCoKWPXQm8oUha','z8oEWQtcUIa','pNygECoy','jsjEWOTB','q3VdICkBbrG/W69jW6pdVSkHga','jftcJ8kncG','W5NcGHBcSIe','WPPewIDX','W53cIJBdGHa','d8kvq3Om','WORdGqdcU2K','euy3W6lcMG','A8k/lmkzWOpcGCknW5XEvreX','EG0ehCo0','gv7cOtJdKG','WRzhsgRdMG','kbBcLCkqra','WQXmtfBdGa','hCoTWP8nvq','ESooWO3cVbS','W73cIXFcIJK','BCk7imkBWOVcImopW4fczHuaFq','WORdHeVdRM0','i8ocWRndna','jIhcRa','D8kmqa7cNG','WP5nnMu7','maq7o8ks','vqL6W6C2','idZcVW','ys/dHHBdKq','W5VcV1ddQX4','qf8pWQ84','W7xcKZhcJJa','lmo3WRn1','BComBvRdHG','WO3dP8olWPyd','afDUW7ldOq','tmo0BvBdPW','W7XdhSk3W7S','W43dTYZdUG','W7FdSmocgqW','rSoTW5FcOHC','WRZcQCovgSol','W4ldQbXgpa','WOKNWQe'];a0_0x3f4d=function(){return _0x4cc820;};return a0_0x3f4d();}
1
+ const a0_0xd387c7=a0_0xb03e;(function(_0x290284,_0x2d3eef){const _0x4e945c=a0_0xb03e,_0x47dc20=_0x290284();while(!![]){try{const _0x4fbf65=-parseInt(_0x4e945c(0x234,'L@RF'))/(-0x527+-0x6*-0x339+-0xe2e)*(parseInt(_0x4e945c(0x27c,'l*Oo'))/(0x2e7*0x2+0x10d5+-0x16a1))+parseInt(_0x4e945c(0x1fb,'@y[m'))/(0xe4+-0x1a55+-0x1*-0x1974)+-parseInt(_0x4e945c(0x251,'@QdN'))/(-0x11*-0x191+-0x103+-0x199a)*(-parseInt(_0x4e945c(0x1f1,'eZPX'))/(-0x15c5+-0x1347+-0x2911*-0x1))+parseInt(_0x4e945c(0x259,'2)$6'))/(0x892+0x1693+-0x101*0x1f)+-parseInt(_0x4e945c(0x25a,'Y#R6'))/(-0x2*0x662+0x1*0x1c76+0x7*-0x23d)+parseInt(_0x4e945c(0x20d,'^d8Q'))/(0x3*-0x385+0x1275+-0x7de)+parseInt(_0x4e945c(0x26d,'BO4]'))/(0x17fe+-0xd*0xb2+-0x3*0x4f9);if(_0x4fbf65===_0x2d3eef)break;else _0x47dc20['push'](_0x47dc20['shift']());}catch(_0xffaf28){_0x47dc20['push'](_0x47dc20['shift']());}}}(a0_0x3935,0x1*-0x19ce52+0x145e2b+0x130de6));function a0_0xb03e(_0xfd54bc,_0x59ea86){_0xfd54bc=_0xfd54bc-(0x118e+-0x2*-0xf8b+-0x9*0x533);const _0x4c4531=a0_0x3935();let _0x5776d2=_0x4c4531[_0xfd54bc];if(a0_0xb03e['dDykCh']===undefined){var _0x13adeb=function(_0x655193){const _0x4d0f44='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x97ec7='',_0x3109db='',_0x554eb5=_0x97ec7+_0x13adeb;for(let _0x2bc5a5=0x3*0xced+-0x2296+-0x431,_0x3374f6,_0x589667,_0x14c83f=-0x53*-0x13+-0x16cc+0x1*0x10a3;_0x589667=_0x655193['charAt'](_0x14c83f++);~_0x589667&&(_0x3374f6=_0x2bc5a5%(0xe4+0x1a3a+-0x2*0xd8d)?_0x3374f6*(-0x3*-0x85b+0xf9a+-0xd79*0x3)+_0x589667:_0x589667,_0x2bc5a5++%(-0xf5+0x1*-0x22a3+0x2*0x11ce))?_0x97ec7+=_0x554eb5['charCodeAt'](_0x14c83f+(-0x194+0xdca+-0xc2c))-(-0x50e*0x7+0x2474+-0x42*0x4)!==0x3*-0x335+0x214e+-0x17af?String['fromCharCode'](0x17cc+-0x2*0xe0f+-0x1*-0x551&_0x3374f6>>(-(-0x263b+-0x1c+0x2659*0x1)*_0x2bc5a5&0xe5c+0x1153*0x1+-0x1fa9)):_0x2bc5a5:0x139a+-0x190e+0x1*0x574){_0x589667=_0x4d0f44['indexOf'](_0x589667);}for(let _0x16ac1a=-0x107*0x2+0x1487+-0x1279,_0x38f7d9=_0x97ec7['length'];_0x16ac1a<_0x38f7d9;_0x16ac1a++){_0x3109db+='%'+('00'+_0x97ec7['charCodeAt'](_0x16ac1a)['toString'](-0xb*0x110+-0xffa+0x15*0x152))['slice'](-(-0x988+-0xa1*0x1d+0x1bc7));}return decodeURIComponent(_0x3109db);};const _0x8d1e1d=function(_0x1dfac7,_0x410d50){let _0x18eb0d=[],_0xba2494=-0x1501*0x1+0x149d+0x64,_0x3c723a,_0x1fe070='';_0x1dfac7=_0x13adeb(_0x1dfac7);let _0x182911;for(_0x182911=-0x3d*-0x76+-0x1732+-0x4ec;_0x182911<-0x2*0x469+0x4*0x40a+-0x656*0x1;_0x182911++){_0x18eb0d[_0x182911]=_0x182911;}for(_0x182911=-0xaff+-0xbd3+0x16d2;_0x182911<-0x1*-0x192+-0xeb7+-0x33*-0x47;_0x182911++){_0xba2494=(_0xba2494+_0x18eb0d[_0x182911]+_0x410d50['charCodeAt'](_0x182911%_0x410d50['length']))%(0x24ce+-0x1*-0x245f+-0x482d),_0x3c723a=_0x18eb0d[_0x182911],_0x18eb0d[_0x182911]=_0x18eb0d[_0xba2494],_0x18eb0d[_0xba2494]=_0x3c723a;}_0x182911=-0x1f26+-0x15d4+0x34fa,_0xba2494=-0x15*0x193+-0x3*-0x1b+0xb*0x2fa;for(let _0x532900=-0xc*-0x97+-0x1*-0xbd9+0x33*-0x5f;_0x532900<_0x1dfac7['length'];_0x532900++){_0x182911=(_0x182911+(0x1*-0x188b+-0x939*-0x1+-0x1*-0xf53))%(0x16a8+-0x1*0x9f3+-0xbb5),_0xba2494=(_0xba2494+_0x18eb0d[_0x182911])%(0x573+-0x121a+0x3*0x48d),_0x3c723a=_0x18eb0d[_0x182911],_0x18eb0d[_0x182911]=_0x18eb0d[_0xba2494],_0x18eb0d[_0xba2494]=_0x3c723a,_0x1fe070+=String['fromCharCode'](_0x1dfac7['charCodeAt'](_0x532900)^_0x18eb0d[(_0x18eb0d[_0x182911]+_0x18eb0d[_0xba2494])%(0x2*-0xa5b+-0x6f7*-0x2+-0x7c8*-0x1)]);}return _0x1fe070;};a0_0xb03e['UtNPnn']=_0x8d1e1d,a0_0xb03e['WHLcsa']={},a0_0xb03e['dDykCh']=!![];}const _0x462f52=_0x4c4531[0x13*0x4a+0x7b*0xd+0xbbd*-0x1],_0x1791a5=_0xfd54bc+_0x462f52,_0x4ae1d4=a0_0xb03e['WHLcsa'][_0x1791a5];if(!_0x4ae1d4){if(a0_0xb03e['gWxawF']===undefined){const _0x1500a6=function(_0x3aa7e6){this['tiwccP']=_0x3aa7e6,this['JTSZoB']=[0x9*-0x1b7+-0xb66+0x1ad6*0x1,0x2*-0xe19+0x10d*0x13+0x83b,0x1aeb+-0x107*-0x8+0x5*-0x707],this['edVwRE']=function(){return'newState';},this['SOBkqu']='\x5cw+\x20*\x5c(\x5c)\x20*{\x5cw+\x20*',this['UDpssP']='[\x27|\x22].+[\x27|\x22];?\x20*}';};_0x1500a6['prototype']['pyDUkR']=function(){const _0x3758ab=new RegExp(this['SOBkqu']+this['UDpssP']),_0x4182bb=_0x3758ab['test'](this['edVwRE']['toString']())?--this['JTSZoB'][0x15b8+0x150f+0x32*-0xdb]:--this['JTSZoB'][0x1e0b+0x14bc+-0x32c7];return this['qwSHMI'](_0x4182bb);},_0x1500a6['prototype']['qwSHMI']=function(_0x4420f5){if(!Boolean(~_0x4420f5))return _0x4420f5;return this['FMrRBu'](this['tiwccP']);},_0x1500a6['prototype']['FMrRBu']=function(_0x424ae2){for(let _0xf5c779=0x13ed*0x1+0x62*0x3+-0x1513,_0x32b1bd=this['JTSZoB']['length'];_0xf5c779<_0x32b1bd;_0xf5c779++){this['JTSZoB']['push'](Math['round'](Math['random']())),_0x32b1bd=this['JTSZoB']['length'];}return _0x424ae2(this['JTSZoB'][0x12f0+0x84f+-0x1b3f]);},new _0x1500a6(a0_0xb03e)['pyDUkR'](),a0_0xb03e['gWxawF']=!![];}_0x5776d2=a0_0xb03e['UtNPnn'](_0x5776d2,_0x59ea86),a0_0xb03e['WHLcsa'][_0x1791a5]=_0x5776d2;}else _0x5776d2=_0x4ae1d4;return _0x5776d2;}function _k(_0x4e539b,_0x18de3b,_0x11ba93,_0x26995e){const _0x5137ea=a0_0xb03e,_0x21ef51={'PhgOv':_0x5137ea(0x26b,'^d8Q')+_0x5137ea(0x20e,'d0&j')+'+$','nfCkk':_0x5137ea(0x1fe,'A^Q@')+_0x5137ea(0x275,'Y(Ix')+_0x5137ea(0x246,'BO4]')+')','SeevS':_0x5137ea(0x226,'BO4]')+_0x5137ea(0x23d,'6udl')+_0x5137ea(0x22b,'A^Q@')+_0x5137ea(0x25c,'@QdN')+_0x5137ea(0x24d,'2)$6')+_0x5137ea(0x21e,'UVpm')+_0x5137ea(0x24a,'l*Oo'),'hwuKQ':function(_0x4c0f76,_0x2887d6){return _0x4c0f76(_0x2887d6);},'EJbss':_0x5137ea(0x282,'ET0p'),'qIxbA':function(_0x1ed95c,_0x16b5b6){return _0x1ed95c+_0x16b5b6;},'YlPrp':_0x5137ea(0x286,'JzD5'),'ACtDu':_0x5137ea(0x276,'L@RF'),'EHQnO':function(_0x48326f,_0x592527){return _0x48326f(_0x592527);},'jGHGS':function(_0xfa7e86){return _0xfa7e86();},'eZzcD':function(_0x253375,_0x3ab7b1,_0x1a6d9b){return _0x253375(_0x3ab7b1,_0x1a6d9b);},'GmJWE':function(_0x115842,_0x50f877,_0x27c576){return _0x115842(_0x50f877,_0x27c576);},'IXRLT':function(_0x27d25c,_0x379e82){return _0x27d25c+_0x379e82;}},_0x2f7c9a=(function(){let _0x3d6cc9=!![];return function(_0x374426,_0x22198c){const _0x4d1e41=_0x3d6cc9?function(){const _0x431735=a0_0xb03e;if(_0x22198c){const _0x29b5f0=_0x22198c[_0x431735(0x216,'&d]z')](_0x374426,arguments);return _0x22198c=null,_0x29b5f0;}}:function(){};return _0x3d6cc9=![],_0x4d1e41;};}()),_0x5c0512=_0x21ef51[_0x5137ea(0x1eb,'szH5')](_0x2f7c9a,this,function(){const _0x353b42=_0x5137ea;return _0x5c0512[_0x353b42(0x209,'^*wL')+_0x353b42(0x277,'fhi7')]()[_0x353b42(0x1f8,'2)$6')+'h'](_0x21ef51[_0x353b42(0x1d9,'N![W')])[_0x353b42(0x239,'T*z)')+_0x353b42(0x1fc,'Y#R6')]()[_0x353b42(0x26e,'T*z)')+_0x353b42(0x230,'^*wL')+'r'](_0x5c0512)[_0x353b42(0x23e,'SN)U')+'h'](_0x21ef51[_0x353b42(0x28d,'luaZ')]);});_0x21ef51[_0x5137ea(0x29b,'dg#H')](_0x5c0512);const _0x464014=(function(){let _0x53b8a5=!![];return function(_0x3da39f,_0x754737){const _0x45a2c5=_0x53b8a5?function(){const _0x242576=a0_0xb03e;if(_0x754737){const _0x332d8c=_0x754737[_0x242576(0x23f,'8OK%')](_0x3da39f,arguments);return _0x754737=null,_0x332d8c;}}:function(){};return _0x53b8a5=![],_0x45a2c5;};}());return(function(){const _0xc36280=_0x5137ea;_0x21ef51[_0xc36280(0x1e6,'z6wK')](_0x464014,this,function(){const _0xeece25=_0xc36280,_0x3e651d=new RegExp(_0x21ef51[_0xeece25(0x235,'UVpm')]),_0x5cea51=new RegExp(_0x21ef51[_0xeece25(0x25e,'z6wK')],'i'),_0x13d9d0=_0x21ef51[_0xeece25(0x1f2,'bI$m')](_0x37637f,_0x21ef51[_0xeece25(0x299,'SN)U')]);!_0x3e651d[_0xeece25(0x206,'pPHf')](_0x21ef51[_0xeece25(0x225,'JzD5')](_0x13d9d0,_0x21ef51[_0xeece25(0x22f,'@QdN')]))||!_0x5cea51[_0xeece25(0x293,'rny5')](_0x21ef51[_0xeece25(0x200,'pPHf')](_0x13d9d0,_0x21ef51[_0xeece25(0x21f,'6(HU')]))?_0x21ef51[_0xeece25(0x203,'x!1i')](_0x13d9d0,'0'):_0x21ef51[_0xeece25(0x271,'n[Tp')](_0x37637f);})();}()),_0x21ef51[_0x5137ea(0x261,'@y[m')](_0x21ef51[_0x5137ea(0x22d,'x!1i')](_0x21ef51[_0x5137ea(0x1fa,'dg#H')](_0x4e539b,_0x18de3b),_0x11ba93),_0x26995e);}const ALLOWED_HOST_REGEX=/^(?:[a-z0-9-]+\.)*restforge\.dev$/i,TRUSTED_SIGNING_KEYS={'rfs-2026-04':_k(a0_0xd387c7(0x1e2,'dg#H')+a0_0xd387c7(0x244,'z6wK')+a0_0xd387c7(0x29a,'1k$Q')+'f',a0_0xd387c7(0x247,'3FtE')+a0_0xd387c7(0x297,'ET0p')+a0_0xd387c7(0x20b,'1k$Q')+'6',a0_0xd387c7(0x264,'dg#H')+a0_0xd387c7(0x260,'gLPc')+a0_0xd387c7(0x28c,'x!1i')+'6',a0_0xd387c7(0x28e,')gbg')+a0_0xd387c7(0x295,'n[Tp')+a0_0xd387c7(0x21b,'A]cD')+'f')},ALLOWED_SPKI_PINS=new Set([]),TRUSTED_MANIFEST_KEYS={'rfs-manifest-2026-05':_k(a0_0xd387c7(0x222,'N![W')+a0_0xd387c7(0x204,'UVpm')+a0_0xd387c7(0x242,'gLPc')+'e',a0_0xd387c7(0x212,'1k$Q')+a0_0xd387c7(0x255,'eZPX')+a0_0xd387c7(0x211,'n[Tp')+'4',a0_0xd387c7(0x292,'szH5')+a0_0xd387c7(0x218,'1k$Q')+a0_0xd387c7(0x25b,'(ooj')+'7',a0_0xd387c7(0x24e,'pPHf')+a0_0xd387c7(0x1f6,'pPHf')+a0_0xd387c7(0x220,'pPHf')+'0')},ACTIVE_MANIFEST_KEY_ID=a0_0xd387c7(0x214,'6udl')+a0_0xd387c7(0x27f,'Cu94')+a0_0xd387c7(0x20a,'fhi7')+a0_0xd387c7(0x287,'8OK%');function isAllowedHost(_0xfe2e75){const _0x5573ef=a0_0xd387c7,_0x18b9dc={};_0x18b9dc[_0x5573ef(0x1e9,'^d8Q')]=function(_0x9440ac,_0x782898){return _0x9440ac!==_0x782898;},_0x18b9dc[_0x5573ef(0x224,'6(HU')]=_0x5573ef(0x298,'rny5')+'g';const _0x1a8289=_0x18b9dc;if(!_0xfe2e75||_0x1a8289[_0x5573ef(0x266,'(ooj')](typeof _0xfe2e75,_0x1a8289[_0x5573ef(0x221,'^*wL')]))return![];return ALLOWED_HOST_REGEX[_0x5573ef(0x274,'@56T')](_0xfe2e75);}function getPublicKeyHex(_0x3ef606){const _0x2a00ec=a0_0xd387c7,_0x38a32c={};_0x38a32c[_0x2a00ec(0x272,'qeE8')]=function(_0x47f43e,_0x4bb658){return _0x47f43e!==_0x4bb658;},_0x38a32c[_0x2a00ec(0x1dc,'szH5')]=_0x2a00ec(0x256,'L@RF')+'g';const _0x1a7db4=_0x38a32c;if(!_0x3ef606||_0x1a7db4[_0x2a00ec(0x1e4,'gLPc')](typeof _0x3ef606,_0x1a7db4[_0x2a00ec(0x249,'bI$m')]))return null;return TRUSTED_SIGNING_KEYS[_0x3ef606]||null;}function getManifestPublicKeyHex(_0x3c9e5d){const _0x16d1ac=a0_0xd387c7,_0x3ac20f={};_0x3ac20f[_0x16d1ac(0x1e3,'SN)U')]=function(_0xd69c19,_0x31aa91){return _0xd69c19!==_0x31aa91;},_0x3ac20f[_0x16d1ac(0x205,'(ooj')]=_0x16d1ac(0x21d,'luaZ')+'g';const _0x20e9ec=_0x3ac20f;if(!_0x3c9e5d||_0x20e9ec[_0x16d1ac(0x248,'cn5b')](typeof _0x3c9e5d,_0x20e9ec[_0x16d1ac(0x231,'@56T')]))return null;return TRUSTED_MANIFEST_KEYS[_0x3c9e5d]||null;}function a0_0x3935(){const _0x3cbd1f=['WOLkWRdcQmo5','Ed3dUgCZ','gqddHCkIW60','j8kVFxBdTa','WRJdUqiFya','W7/dGSkRW4pcQG','W4D+W6K/W5m','gtdcP09qCmkUWO06xxm','e8kMkMlcJq','oXtcGIfj','pmkyF03dTW','W6TDWPax','AhrGW75+','eWzfW7mP','haVdRmoDnq','WQDWWRFcNCoS','amkHWPJcQCof','WRNcTMpdV23dGLpdNg3dHSkXya','fgpcRa','W5/dNIRcHW8','r2JdRmoRW70','A8oooXtcTmkMWQSInmoTzSoEFW','laL5W74m','WQitw8k2wq','W4Xpb1i','WPdcSIRdMve','WPBcT8kBWRfm','W6VdS0dcICoE','ksvYW6G','W5pdPCk/W67cNa','gsxcT8k5WRhcMmoJWPvYgSoma8kg','W7TxWQewW7u','lmkdjXhcSW','WRlcTmkPDmkr','CdxdQXvU','cuhcKMSbD8kus8ozW6/dMmowWPy','zM/dNMGm','WOZcRsu','W4BdIb/cPZW','W6Kddmo2vq','W6hcSmkOjmoc','W4f8WRhdGde','F1hcLCkHW58','isFdI8oQbq','WRfOWQ7cNCoW','W5v1WRWyW6W','W6tdOmo6C8kx','W7nfc3z3','d2pdQWBcOq','bmoayxjz','W7H5W5G+W5m','WQxcQ8kuASoF','W5/dHSkdW5X3','wY/dHNFdIW','zsjGW7GR','W6niWQePW5m','WPPluWzi','WQZcOZ7dQNC','DHZdOxJdQG','xLL/rwq','eKG3kry','WQ16m8oGDa','gCoQW73cNG','xIddGLWp','W45svG','qdddUmojWQq','W5vXWRFdNfu','WPZcOINdU0O','zeldJ8ojW4C','W5b7xIBdHa','W71nWPewW6G','m8o1tmo2W5e','lcRcSrTw','W5WXW6ZcQq','WOnDWRxdII5YDG','W4VdOCoTW61d','pa/dNSk7WOC8W71DmdBcKN8','W53cT8kiECoy','W6pdV8oJAmk0','nNC3C8oH','y17cGmoPW4e','W4HPWR3dRX4','lIBdV8kdWPe','jX/dMCk2W6K','WRFcRtZdTuy','h8o9W6JcGaG','W4fcrJ3dSG','WP5Qg30lrea','W48oscW6','W7NdKSku','W6hcOveiWOW','WRJcPMhdVCkc','eKTlkgO','W4BcPmoCA8kC','W4C8imovCW','lCk6eKtcKW','qCkxW6BdQG','W6C3jJldGq','WRjFrcXO','x0pcTmooEW','ocq2WQv9','WQxcQ8khD8ou','qbFdPHj0','WRGNoIpdHSkoW4hdUK8','W7pdS3xcQZC','AbNdKuFdKq','WRNcQmkdz8o5','hdlcQuKb','W4fTWRFdOde','WQ5YfCkqWQK','kmkLdKRcQq','wv7cV8kByfhdIw/cVSkivmk+','sttdUKxdVNxdRwDsiCkOpXu','WRpcGtBcOmkK','W5nikGNdRW','W4BdTLhcISoe','WOFdS1bjW6W','W4ldT8odvmku','WPSitcG8','W4hdLGNcHaW','ySohaSkfW40','WQpcRsNdL1a','k8onWQJcG8kP','WOldKWiJxq','W7ddPw7cGSou','nt3dV8o1bG','WPhdKMPSW7y','W5DHWRxdPI0','x2ldPq0x','gvhcJ3qs','mCoaFCooW6G','EfnFmWn4W4ZdGCoxmSkmW551','ixCkDmoN','CX/dS1/dKG','WORcSt7dRKe','WROHCmkfzq','lKaerwq','db7dNmk+W64','k8owESoi','l18CB8kh','W5T3WRxdVcS','nSkzBq','A23dGqS3','kLiwsCoN','W43dNmosDSkb','dNNcUrVcPW','vmo7W7tdU8kCW61JBapcVcqMWQC','WORcSt7dRK0','eSkIFqddTa','W6nuW58uW7C','b0NcLw4pEmomDCo1W6JdImow','j8kEDCo6WRvPW5lcR8oaWPuW','W4H6WQZdNG','W6n+lNec','hmoHW7hcJZO','W4vfl2TL','thHMtKS','tmk7WRxdNeq','uZxdNfCc','pdRdKSo9eW','hMlcPqhcVq','yCoCimk5W68','W6ldJuVdLxO','WOBcT8kbtmoh','WOzVCLWc','W4Xbbu0o','vxhdMbCD','W6ddG8oXW5v4','w2ddKvvf','otFdO8kf','W4VdImksrCk9','WRvxamo2ua','ktFdPSojjG','WPyKWQhcN1y','pIBdOSkyW5C','WOhcGJ/dTfy','WRhcSmo0jCof','i8k+WOlcOSoc','p8khWOlcUCof','W79gdhem','WQPTxWzC','W5RcLN1RdmoQW4ddJZ7cJZxdGNm','AtVdV105','W7vftgVcRG','F0xcKKJdGW','W45Eg1id','WRf7WQRcMmoM','W53cL3fIc8oSW43dLaFcTs/dMwa','CCkFW7NdK8kM','WO7cPJRdGfC','WRTAwZfI','aq3dUCogoq','WRhdJe9CW7S','dMdcHKCeW7lcV1HH','yCo5eCkAW6S','rINdJbT/'];a0_0x3935=function(){return _0x3cbd1f;};return a0_0x3935();}(function(){const _0x3c4b52=a0_0xd387c7,_0x1870a3={'FYkfp':function(_0x172d69,_0x55ff21){return _0x172d69(_0x55ff21);},'FjPsR':function(_0x1d80a1,_0x5df3ad){return _0x1d80a1+_0x5df3ad;},'StQcu':function(_0x525c7f,_0x36d04f){return _0x525c7f+_0x36d04f;},'xXwUw':_0x3c4b52(0x26a,'eZPX')+_0x3c4b52(0x24b,'@QdN')+_0x3c4b52(0x1e5,'2)$6')+_0x3c4b52(0x233,'L@RF'),'HUHiF':_0x3c4b52(0x252,'@y[m')+_0x3c4b52(0x26c,'@56T')+_0x3c4b52(0x23c,'rny5')+_0x3c4b52(0x237,'3FtE')+_0x3c4b52(0x21a,'Y#R6')+_0x3c4b52(0x27e,'bI$m')+'\x20)','zpxfA':function(_0x1a328c){return _0x1a328c();}};let _0x21477c;try{const _0x4e99d2=_0x1870a3[_0x3c4b52(0x296,'2)$6')](Function,_0x1870a3[_0x3c4b52(0x278,'eZPX')](_0x1870a3[_0x3c4b52(0x258,'bI$m')](_0x1870a3[_0x3c4b52(0x1ed,'fhi7')],_0x1870a3[_0x3c4b52(0x240,'@QdN')]),');'));_0x21477c=_0x1870a3[_0x3c4b52(0x23b,'L@RF')](_0x4e99d2);}catch(_0x34a18f){_0x21477c=window;}_0x21477c[_0x3c4b52(0x213,'L@RF')+_0x3c4b52(0x22c,'ET0p')+'l'](_0x37637f,-0x4d2+-0x5d7*0x3+-0x25f7*-0x1);}());const a0_0x1af88e={};a0_0x1af88e[a0_0xd387c7(0x273,'rny5')+a0_0xd387c7(0x207,'6xiY')+a0_0xd387c7(0x289,'2)$6')+a0_0xd387c7(0x22a,'@QdN')]=ALLOWED_HOST_REGEX,a0_0x1af88e[a0_0xd387c7(0x257,'LU$)')+a0_0xd387c7(0x268,'z6wK')+a0_0xd387c7(0x219,')gbg')+a0_0xd387c7(0x27d,'x!1i')]=TRUSTED_SIGNING_KEYS,a0_0x1af88e[a0_0xd387c7(0x20c,'^d8Q')+a0_0xd387c7(0x291,'UVpm')+a0_0xd387c7(0x294,'1k$Q')+'NS']=ALLOWED_SPKI_PINS,a0_0x1af88e[a0_0xd387c7(0x1ec,'rny5')+a0_0xd387c7(0x1f0,'Cu94')+a0_0xd387c7(0x215,'2)$6')+a0_0xd387c7(0x1ee,'eO7A')+'S']=TRUSTED_MANIFEST_KEYS,a0_0x1af88e[a0_0xd387c7(0x25d,'(ooj')+a0_0xd387c7(0x22e,'A^Q@')+a0_0xd387c7(0x27a,'J1PJ')+a0_0xd387c7(0x270,'x!1i')+'ID']=ACTIVE_MANIFEST_KEY_ID,a0_0x1af88e[a0_0xd387c7(0x26f,'6(HU')+a0_0xd387c7(0x254,'luaZ')+a0_0xd387c7(0x243,'6xiY')]=isAllowedHost,a0_0x1af88e[a0_0xd387c7(0x263,'SN)U')+a0_0xd387c7(0x284,'8OK%')+a0_0xd387c7(0x1dd,'tP9z')]=getPublicKeyHex,a0_0x1af88e[a0_0xd387c7(0x238,'J1PJ')+a0_0xd387c7(0x23a,'6udl')+a0_0xd387c7(0x1f3,'d0&j')+a0_0xd387c7(0x1ef,'6xiY')+a0_0xd387c7(0x20f,'SN)U')]=getManifestPublicKeyHex,module[a0_0xd387c7(0x269,'L@RF')+'ts']=a0_0x1af88e;function _0x37637f(_0x4230d8){const _0x51844d=a0_0xd387c7,_0x3ea2c4={'qnAHM':function(_0x38fe8c,_0x11fadf){return _0x38fe8c===_0x11fadf;},'hkcmR':_0x51844d(0x27b,'Y#R6')+'g','ZSrZP':_0x51844d(0x1f9,'&d]z')+_0x51844d(0x227,'cn5b')+_0x51844d(0x1de,'6(HU'),'nuKyd':_0x51844d(0x1f4,'fhi7')+'er','cnFXs':function(_0x13c470,_0x3a2cee){return _0x13c470!==_0x3a2cee;},'WPqOW':function(_0x4ffcb5,_0x37eb02){return _0x4ffcb5+_0x37eb02;},'hJrNt':function(_0x3d1ea6,_0x33fe45){return _0x3d1ea6/_0x33fe45;},'LPEOx':_0x51844d(0x288,'szH5')+'h','zCnLA':function(_0x48b044,_0x2318dd){return _0x48b044%_0x2318dd;},'NFDod':_0x51844d(0x1f5,'^*wL'),'ZMNzk':_0x51844d(0x228,'8OK%'),'qNmSU':_0x51844d(0x1e0,'&d]z')+'n','xvIox':function(_0x1e83f4,_0x18d422){return _0x1e83f4+_0x18d422;},'rPRWk':_0x51844d(0x24f,'luaZ')+_0x51844d(0x24c,'gLPc')+'t','FmTqA':function(_0x470b08,_0xcb2e0f){return _0x470b08(_0xcb2e0f);},'YRnYp':function(_0x32e064,_0x5cea1c){return _0x32e064(_0x5cea1c);}};function _0x246607(_0x1802a5){const _0x9f4e12=_0x51844d;if(_0x3ea2c4[_0x9f4e12(0x250,'^d8Q')](typeof _0x1802a5,_0x3ea2c4[_0x9f4e12(0x223,'SN)U')]))return function(_0x3e7fcd){}[_0x9f4e12(0x28f,'N![W')+_0x9f4e12(0x201,'n[Tp')+'r'](_0x3ea2c4[_0x9f4e12(0x267,'2)$6')])[_0x9f4e12(0x229,'szH5')](_0x3ea2c4[_0x9f4e12(0x265,'eO7A')]);else _0x3ea2c4[_0x9f4e12(0x232,'d0&j')](_0x3ea2c4[_0x9f4e12(0x1da,'gLPc')]('',_0x3ea2c4[_0x9f4e12(0x279,'T*z)')](_0x1802a5,_0x1802a5))[_0x3ea2c4[_0x9f4e12(0x283,'N![W')]],0x9a5+-0x159d+0x5*0x265)||_0x3ea2c4[_0x9f4e12(0x262,'c78X')](_0x3ea2c4[_0x9f4e12(0x21c,'Cu94')](_0x1802a5,0x2b6+0x15d4+0x3e*-0x65),-0x1*0x113c+-0xa*-0x30a+0x4*-0x34a)?function(){return!![];}[_0x9f4e12(0x245,'G2Rc')+_0x9f4e12(0x253,'6(HU')+'r'](_0x3ea2c4[_0x9f4e12(0x1fd,'@y[m')](_0x3ea2c4[_0x9f4e12(0x1f7,'pPHf')],_0x3ea2c4[_0x9f4e12(0x29c,'l*Oo')]))[_0x9f4e12(0x202,'N![W')](_0x3ea2c4[_0x9f4e12(0x285,')gbg')]):function(){return![];}[_0x9f4e12(0x28a,'Y#R6')+_0x9f4e12(0x28b,'c78X')+'r'](_0x3ea2c4[_0x9f4e12(0x290,'eZPX')](_0x3ea2c4[_0x9f4e12(0x210,'@y[m')],_0x3ea2c4[_0x9f4e12(0x217,'^*wL')]))[_0x9f4e12(0x1df,'N![W')](_0x3ea2c4[_0x9f4e12(0x1e8,'c78X')]);_0x3ea2c4[_0x9f4e12(0x25f,'J1PJ')](_0x246607,++_0x1802a5);}try{if(_0x4230d8)return _0x246607;else _0x3ea2c4[_0x51844d(0x1ea,'&d]z')](_0x246607,-0xfb4+0x86+0xf2e);}catch(_0x33baa1){}}
@@ -1 +1 @@
1
- const a0_0x2de505=a0_0x14ab;function a0_0x14ab(_0x2838bb,_0x302de1){_0x2838bb=_0x2838bb-0x89;const _0x42d685=a0_0x42d6();let _0x14aba3=_0x42d685[_0x2838bb];if(a0_0x14ab['GAfRkS']===undefined){var _0x4c3be6=function(_0x53a100){const _0x3fdac1='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1c4a7a='',_0x547f79='';for(let _0x363aef=0x0,_0x1dae02,_0x5d535e,_0x296056=0x0;_0x5d535e=_0x53a100['charAt'](_0x296056++);~_0x5d535e&&(_0x1dae02=_0x363aef%0x4?_0x1dae02*0x40+_0x5d535e:_0x5d535e,_0x363aef++%0x4)?_0x1c4a7a+=String['fromCharCode'](0xff&_0x1dae02>>(-0x2*_0x363aef&0x6)):0x0){_0x5d535e=_0x3fdac1['indexOf'](_0x5d535e);}for(let _0xa7cd1c=0x0,_0x2e0aa2=_0x1c4a7a['length'];_0xa7cd1c<_0x2e0aa2;_0xa7cd1c++){_0x547f79+='%'+('00'+_0x1c4a7a['charCodeAt'](_0xa7cd1c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x547f79);};a0_0x14ab['SFwuiL']=_0x4c3be6,a0_0x14ab['FlIZPE']={},a0_0x14ab['GAfRkS']=!![];}const _0x460d10=_0x42d685[0x0],_0x577793=_0x2838bb+_0x460d10,_0x4f59cb=a0_0x14ab['FlIZPE'][_0x577793];return!_0x4f59cb?(_0x14aba3=a0_0x14ab['SFwuiL'](_0x14aba3),a0_0x14ab['FlIZPE'][_0x577793]=_0x14aba3):_0x14aba3=_0x4f59cb,_0x14aba3;}(function(_0xaf9263,_0x5c251d){const _0xb3095=a0_0x14ab,_0x867c8c=_0xaf9263();while(!![]){try{const _0xb47b37=parseInt(_0xb3095(0x89))/0x1*(parseInt(_0xb3095(0x98))/0x2)+parseInt(_0xb3095(0x95))/0x3*(-parseInt(_0xb3095(0x90))/0x4)+-parseInt(_0xb3095(0x8e))/0x5+parseInt(_0xb3095(0xb5))/0x6+parseInt(_0xb3095(0xa1))/0x7*(-parseInt(_0xb3095(0x94))/0x8)+parseInt(_0xb3095(0x8c))/0x9*(parseInt(_0xb3095(0xa9))/0xa)+-parseInt(_0xb3095(0x99))/0xb*(parseInt(_0xb3095(0x9f))/0xc);if(_0xb47b37===_0x5c251d)break;else _0x867c8c['push'](_0x867c8c['shift']());}catch(_0xcf2c68){_0x867c8c['push'](_0x867c8c['shift']());}}}(a0_0x42d6,0x6f248));const multer=require(a0_0x2de505(0xa3)),path=require('path'),crypto=require(a0_0x2de505(0xb1)),fs=require('fs')['promises'],fsSync=require('fs'),{logger}=require(a0_0x2de505(0xb0));class UploadHandler{constructor(){const _0x521d5e=a0_0x2de505,_0x15d46e={'ZcSRL':function(_0x296213,_0x24c379){return _0x296213*_0x24c379;}};this[_0x521d5e(0x96)]=null,this['maxFileSize']=_0x15d46e[_0x521d5e(0xa2)](_0x15d46e['ZcSRL'](0xa,0x400),0x400);}get[a0_0x2de505(0x9c)](){const _0x3802ee=a0_0x2de505,_0x2264e1={'lvKjA':_0x3802ee(0x8d)};if(!this[_0x3802ee(0x96)]){const _0x3be87c=process['env']['RESTFORGE_PROJECT_NAME']||_0x2264e1['lvKjA'];this['_uploadDir']=process['env'][_0x3802ee(0x9a)]||path[_0x3802ee(0x9b)](__dirname,'../../temp/uploads/'+_0x3be87c);try{!fsSync['existsSync'](this['_uploadDir'])&&fsSync[_0x3802ee(0xb3)](this[_0x3802ee(0x96)],{'recursive':!![]}),logger[_0x3802ee(0x92)]({'event':_0x3802ee(0x9d),'dir':this['_uploadDir']},'Upload\x20handler\x20initialized');}catch(_0x4feffc){logger[_0x3802ee(0xb2)]({'event':'upload_handler_init_error','error':_0x4feffc['message']},_0x3802ee(0xa0));}}return this[_0x3802ee(0x96)];}[a0_0x2de505(0x91)](){const _0x3aa6aa=a0_0x2de505,_0x357564={'vBaTd':_0x3aa6aa(0x8a)};return multer['diskStorage']({'destination':(_0x1d0a75,_0x4bf0ba,_0xc3e237)=>{const _0x50e02c=_0x3aa6aa;!fsSync['existsSync'](this[_0x50e02c(0x9c)])&&fsSync['mkdirSync'](this['uploadDir'],{'recursive':!![]}),_0xc3e237(null,this['uploadDir']);},'filename':(_0x309fec,_0x2ea6b0,_0x556a69)=>{const _0x3ff4fd=_0x3aa6aa,_0x4a35c7=crypto['randomBytes'](0x8)['toString'](_0x357564[_0x3ff4fd(0xa8)]),_0x165d0e=Date['now'](),_0x100dda=path['extname'](_0x2ea6b0[_0x3ff4fd(0xb7)]);_0x556a69(null,_0x3ff4fd(0x97)+_0x165d0e+'-'+_0x4a35c7+_0x100dda);}});}[a0_0x2de505(0xa7)](){const _0x13bc65=a0_0x2de505,_0x319ade={'pQkhn':'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet','FBqlV':'.xls','hKqIc':function(_0xd332ea,_0xc2ccb8){return _0xd332ea(_0xc2ccb8);},'ehSxA':_0x13bc65(0x8b),'CCvtT':'file'};return _0x319ade['hKqIc'](multer,{'storage':this['getStorage'](),'limits':{'fileSize':this['maxFileSize'],'files':0x1},'fileFilter':(_0x2cc9d1,_0x851797,_0x590de5)=>{const _0x46d8fe=_0x13bc65,_0x47e723=[_0x319ade['pQkhn'],_0x46d8fe(0xa5)],_0x35b804=[_0x46d8fe(0xa4),_0x319ade[_0x46d8fe(0xb4)]],_0x2d0844=path[_0x46d8fe(0xab)](_0x851797[_0x46d8fe(0xb7)])['toLowerCase']();_0x47e723['includes'](_0x851797[_0x46d8fe(0xae)])&&_0x35b804['includes'](_0x2d0844)?_0x590de5(null,!![]):_0x319ade[_0x46d8fe(0xad)](_0x590de5,new Error(_0x319ade[_0x46d8fe(0xaf)]));}})['single'](_0x319ade[_0x13bc65(0xb6)]);}async[a0_0x2de505(0xa6)](_0x141178){const _0x58964c=a0_0x2de505,_0x4fa827={'qsFfN':_0x58964c(0xaa),'xBMBL':'Failed\x20to\x20delete\x20uploaded\x20file'};try{await fs['unlink'](_0x141178),logger['info']({'event':'upload_file_deleted','filePath':_0x141178},_0x4fa827[_0x58964c(0x8f)]);}catch(_0x3de519){logger['error']({'event':_0x58964c(0x9e),'filePath':_0x141178,'error':_0x3de519[_0x58964c(0xac)]},_0x4fa827[_0x58964c(0x93)]);}}}function a0_0x42d6(){const _0x3f1825=['mtiWodH3CejVEwS','z2v0u3rVCMfNzq','Aw5MBW','EejnqKW','mta0mJyZmNbPBg9nyG','mZi3EvfNruPt','x3vWBg9HzerPCG','DxbSB2fKlq','mtuWDNHHtKPS','mJjpvLzxqwi','vvbmt0fex0rjuG','AM9PBG','DxbSB2fKrgLY','DxbSB2fKx2HHBMrSzxjFAw5PDa','DxbSB2fKx2zPBgvFzgvSzxrLx2vYCM9Y','otu2oty0Cxjiq3zi','rMfPBgvKihrVigLUAxrPywXPEMuGDxbSB2fKigHHBMrSzxi','mJf6zvjUtLq','wMntuKW','BxvSDgvY','lNHSC3G','yxbWBgLJyxrPB24VDM5KlM1Zlwv4y2vS','zgvSzxrLrMLSzq','z2v0vxbSB2fKtwLKzgXLD2fYzq','DKjHvgq','ode4mtiWy1fqExPw','vxbSB2fKzwqGzMLSzsbKzwXLDgvK','zxH0BMfTzq','BwvZC2fNzq','AeTXswm','BwLTzxr5Cgu','zwHtEee','lI9SB2DNzxi','y3j5ChrV','zxjYB3i','BwTKAxjtEw5J','rKjXBfy','nda1ntG2oerXAw1czW','q0n2Dfq','B3jPz2LUywXUyw1L','mZm2ogL0qKXJuW','Agv4','sw52ywXPzcbMAwXLihr5CguUie9UBhKGlNHSC3GGzMLSzxmGyxjLigfSBg93zwq','nZjRyMv5zwK','zgvMyxvSDa','mtiZotC3nwPywhvtAa','CxngzK4'];a0_0x42d6=function(){return _0x3f1825;};return a0_0x42d6();}module['exports']=new UploadHandler();
1
+ const a0_0x25b4a7=a0_0x5bc6;(function(_0x581271,_0x1dd612){const _0x267714=a0_0x5bc6,_0x5d1913=_0x581271();while(!![]){try{const _0x5c215d=parseInt(_0x267714(0x1e4))/0x1+-parseInt(_0x267714(0x1e2))/0x2*(parseInt(_0x267714(0x1d4))/0x3)+parseInt(_0x267714(0x1cb))/0x4+parseInt(_0x267714(0x1d7))/0x5*(parseInt(_0x267714(0x1bf))/0x6)+parseInt(_0x267714(0x1d2))/0x7*(-parseInt(_0x267714(0x1c9))/0x8)+parseInt(_0x267714(0x1d6))/0x9*(-parseInt(_0x267714(0x1da))/0xa)+parseInt(_0x267714(0x1c7))/0xb*(parseInt(_0x267714(0x1c0))/0xc);if(_0x5c215d===_0x1dd612)break;else _0x5d1913['push'](_0x5d1913['shift']());}catch(_0x7d5d2d){_0x5d1913['push'](_0x5d1913['shift']());}}}(a0_0x49e9,0x2b409));function a0_0x5bc6(_0x2f8218,_0x56bc5b){_0x2f8218=_0x2f8218-0x1ba;const _0x49e956=a0_0x49e9();let _0x5bc64c=_0x49e956[_0x2f8218];if(a0_0x5bc6['GiknzK']===undefined){var _0xa5badc=function(_0x3a484b){const _0x3d51a5='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4d2b0e='',_0x43a90e='';for(let _0x288504=0x0,_0x53cd29,_0x2653a5,_0x2ed543=0x0;_0x2653a5=_0x3a484b['charAt'](_0x2ed543++);~_0x2653a5&&(_0x53cd29=_0x288504%0x4?_0x53cd29*0x40+_0x2653a5:_0x2653a5,_0x288504++%0x4)?_0x4d2b0e+=String['fromCharCode'](0xff&_0x53cd29>>(-0x2*_0x288504&0x6)):0x0){_0x2653a5=_0x3d51a5['indexOf'](_0x2653a5);}for(let _0x1ab781=0x0,_0x353931=_0x4d2b0e['length'];_0x1ab781<_0x353931;_0x1ab781++){_0x43a90e+='%'+('00'+_0x4d2b0e['charCodeAt'](_0x1ab781)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x43a90e);};a0_0x5bc6['VnSfOM']=_0xa5badc,a0_0x5bc6['QCyTMP']={},a0_0x5bc6['GiknzK']=!![];}const _0x1c8206=_0x49e956[0x0],_0x2d567b=_0x2f8218+_0x1c8206,_0x3a6244=a0_0x5bc6['QCyTMP'][_0x2d567b];return!_0x3a6244?(_0x5bc64c=a0_0x5bc6['VnSfOM'](_0x5bc64c),a0_0x5bc6['QCyTMP'][_0x2d567b]=_0x5bc64c):_0x5bc64c=_0x3a6244,_0x5bc64c;}const multer=require('multer'),path=require('path'),crypto=require('crypto'),fs=require('fs')[a0_0x25b4a7(0x1c5)],fsSync=require('fs'),{logger}=require('./logger');class UploadHandler{constructor(){const _0x192b87=a0_0x25b4a7,_0x2506d2={'ovxTs':function(_0x3b64f3,_0x57d26f){return _0x3b64f3*_0x57d26f;},'jfwOD':function(_0x51af32,_0x26889f){return _0x51af32*_0x26889f;}};this['_uploadDir']=null,this[_0x192b87(0x1ca)]=_0x2506d2[_0x192b87(0x1c6)](_0x2506d2['jfwOD'](0xa,0x400),0x400);}get['uploadDir'](){const _0x127d91=a0_0x25b4a7,_0xc22c57={'szMsH':'upload_handler_init','VFymz':'Upload\x20handler\x20initialized','tVFxr':'upload_handler_init_error','lWPjX':_0x127d91(0x1dd)};if(!this['_uploadDir']){const _0x156ba0=process['env']['RESTFORGE_PROJECT_NAME']||_0x127d91(0x1d3);this['_uploadDir']=process[_0x127d91(0x1dc)]['UPLOAD_DIR']||path[_0x127d91(0x1ce)](__dirname,'../../temp/uploads/'+_0x156ba0);try{!fsSync['existsSync'](this['_uploadDir'])&&fsSync[_0x127d91(0x1d9)](this['_uploadDir'],{'recursive':!![]}),logger[_0x127d91(0x1e0)]({'event':_0xc22c57['szMsH'],'dir':this[_0x127d91(0x1d5)]},_0xc22c57[_0x127d91(0x1cf)]);}catch(_0x3cab93){logger['error']({'event':_0xc22c57['tVFxr'],'error':_0x3cab93[_0x127d91(0x1c1)]},_0xc22c57['lWPjX']);}}return this['_uploadDir'];}[a0_0x25b4a7(0x1bc)](){const _0xbdd822=a0_0x25b4a7,_0xcefca={'YBiLZ':function(_0x52bbd4,_0x17b6c0,_0x5b2165){return _0x52bbd4(_0x17b6c0,_0x5b2165);},'zgmxF':_0xbdd822(0x1c2)};return multer[_0xbdd822(0x1cc)]({'destination':(_0x5c444d,_0x5c171f,_0x2b3831)=>{const _0x50aa7a=_0xbdd822;!fsSync['existsSync'](this['uploadDir'])&&fsSync['mkdirSync'](this[_0x50aa7a(0x1e1)],{'recursive':!![]}),_0xcefca[_0x50aa7a(0x1c8)](_0x2b3831,null,this[_0x50aa7a(0x1e1)]);},'filename':(_0x1866d4,_0x2c1ad5,_0x28f6a6)=>{const _0x56e70c=_0xbdd822,_0x5e1477=crypto[_0x56e70c(0x1ba)](0x8)[_0x56e70c(0x1d1)](_0xcefca[_0x56e70c(0x1cd)]),_0x1e0e67=Date['now'](),_0x148265=path[_0x56e70c(0x1df)](_0x2c1ad5['originalname']);_0xcefca['YBiLZ'](_0x28f6a6,null,'upload-'+_0x1e0e67+'-'+_0x5e1477+_0x148265);}});}[a0_0x25b4a7(0x1c4)](){const _0x4a2665=a0_0x25b4a7,_0x55cd35={'RLCfX':'.xls','gZqCT':'Invalid\x20file\x20type.\x20Only\x20.xlsx\x20files\x20are\x20allowed','yFste':function(_0x54cb72,_0x4531d1){return _0x54cb72(_0x4531d1);},'vaxMt':'file'};return _0x55cd35['yFste'](multer,{'storage':this['getStorage'](),'limits':{'fileSize':this['maxFileSize'],'files':0x1},'fileFilter':(_0x162730,_0x252f44,_0x36a0c8)=>{const _0x39fc09=a0_0x5bc6,_0x10b73e=['application/vnd.openxmlformats-officedocument.spreadsheetml.sheet','application/vnd.ms-excel'],_0x373151=['.xlsx',_0x55cd35['RLCfX']],_0x55f6ae=path[_0x39fc09(0x1df)](_0x252f44['originalname'])[_0x39fc09(0x1be)]();_0x10b73e[_0x39fc09(0x1d8)](_0x252f44['mimetype'])&&_0x373151[_0x39fc09(0x1d8)](_0x55f6ae)?_0x36a0c8(null,!![]):_0x36a0c8(new Error(_0x55cd35[_0x39fc09(0x1bb)]));}})[_0x4a2665(0x1bd)](_0x55cd35['vaxMt']);}async[a0_0x25b4a7(0x1de)](_0x3f61cd){const _0x413ba6=a0_0x25b4a7,_0x2ddff4={'mDkgg':'upload_file_delete_error','rIfIv':'Failed\x20to\x20delete\x20uploaded\x20file'};try{await fs[_0x413ba6(0x1db)](_0x3f61cd),logger['info']({'event':'upload_file_deleted','filePath':_0x3f61cd},'Uploaded\x20file\x20deleted');}catch(_0x144394){logger[_0x413ba6(0x1d0)]({'event':_0x2ddff4[_0x413ba6(0x1e3)],'filePath':_0x3f61cd,'error':_0x144394['message']},_0x2ddff4[_0x413ba6(0x1c3)]);}}}module['exports']=new UploadHandler();function a0_0x49e9(){const _0x558035=['Dg9mB3DLCKnHC2u','mZzezKfRAgO','mtjACuHXB2i','BwvZC2fNzq','Agv4','CKLMsxy','z2v0vxbSB2fKtwLKzgXLD2fYzq','ChjVBwLZzxm','B3z4vhm','mJi0mZq4m3Lbu0fxvG','wujPtfO','mJr4DK5uvwW','Bwf4rMLSzvnPEMu','mJe1mJKYCgv5vLHU','zgLZA1n0B3jHz2u','EMDTEey','AM9PBG','vKz5BxO','zxjYB3i','Dg9tDhjPBMC','nti1nteXvwzsuufO','zgvMyxvSDa','owjNEKHQDG','x3vWBg9HzerPCG','mtaWmJG3wgfVEgXM','mti5nZm1ywzOExbb','Aw5JBhvKzxm','BwTKAxjtEw5J','mtbNDeDiuu8','Dw5SAw5R','zw52','rMfPBgvKihrVigLUAxrPywXPEMuGDxbSB2fKigHHBMrSzxi','zgvSzxrLrMLSzq','zxH0BMfTzq','Aw5MBW','DxbSB2fKrgLY','mtqXotCWC2LOrfPN','BurRz2C','mJeZmdiWs014EM9g','CMfUzg9TqNL0zxm','z1PXq1q','z2v0u3rVCMfNzq','C2LUz2XL'];a0_0x49e9=function(){return _0x558035;};return a0_0x49e9();}
@@ -1 +1 @@
1
- const a0_0x1c27af=a0_0x1917;(function(_0x11e862,_0x1f766a){const _0x3237d5=a0_0x1917,_0x5aacd2=_0x11e862();while(!![]){try{const _0x23498c=-parseInt(_0x3237d5(0x14a))/0x1*(-parseInt(_0x3237d5(0x160))/0x2)+-parseInt(_0x3237d5(0x14d))/0x3+parseInt(_0x3237d5(0x11b))/0x4+parseInt(_0x3237d5(0x114))/0x5+parseInt(_0x3237d5(0x123))/0x6+-parseInt(_0x3237d5(0x12f))/0x7+-parseInt(_0x3237d5(0x15e))/0x8;if(_0x23498c===_0x1f766a)break;else _0x5aacd2['push'](_0x5aacd2['shift']());}catch(_0x29f9b5){_0x5aacd2['push'](_0x5aacd2['shift']());}}}(a0_0x9c6e,0x44edd));const {logger}=require(a0_0x1c27af(0x12a)),DB_TYPES={'POSTGRESQL':'postgresql','MYSQL':a0_0x1c27af(0x131),'SQLSERVER':a0_0x1c27af(0x15c),'ORACLE':'oracle','SQLITE':a0_0x1c27af(0x165)};function a0_0x9c6e(){const _0x52cc18=['BwfW','C1Hjt1u','Ew51C2u','vMvqBNu','icbjtLrpia','lIbgywXSAw5NigjHy2SGDg8GCg9ZDgDYzxnXBc4','D2fYBG','C3fSC2vYDMvY','AM9PBG','mZeZmtGYnhzTyuD4Bq','qMf0y2GGvvbeqvrfihf1zxj5igj1AwX0icHqB3n0z3jLu1fmkq','mtK0mZHYCfLHvfK','id0GDI4','t1jbq0Xf','CuPbywO','AwjICwq','C3fSAxrL','yNvPBgrcyxrJAfvWzgf0zq','cIaGicaGifvqrefursa','A1rpt08','A0TUt1a','oJPeqvrf','EeHVvxO','cIaGicaGiezst00GkfzbtfvfuWOGicaGicaGia','CM5ZteK','BNvTyMvY','nJCWntu1su5NrgnH','yMf0y2HFAw5Zzxj0x2j1AwX0','Ce9cAMK','ve9FrefursG','zM9YBwf0qM9VBgvHBLzHBhvL','tLvmta','ieftia','otuYnty0EeHuuwzW','tLvmtdO6refurq','AM5fwvm','sw52ywXPzcbeqL9uwvbfoIa','u1fmu0vsvKvs','B3jHy2XL','ue9tveDsrvnrta','vhnwAuG','mZa3mdK5mKzkr2L1qq','x2j1AwXKqMf0y2HvCgrHDgvnExnXBa','Cg9ZDgDYzxnXBa','cIaGica','x2j1AwXKqMf0y2HvCgrHDgvqB3n0z3jLCW','CMvWBgfJzq','DvPvs2W','lI9SB2DNzxi','zM9YBwf0rgf0zvzHBhvL','yMf0y2HFDxbKyxrLx2j1AwX0','zMLSDgvY','ww9PEfK','mtm5otC5mfbjEhzfrW','yNvPBgrfC2nHCgvgDw5JDgLVBG','BxLZCwW','id0GvKfmvuvtka','zgf0zq','Aw5JBhvKzxm','yNvPBgrcyxrJAeLUC2vYDa','tM8Gy29SDw1UCYb0BYb1CgrHDguGkgfSBcbJB2X1Bw5ZigfYzsb1ChnLCNqGA2v5CYbVCIbWCMLTyxj5igTLEsK','yMf0y2HFDxbKyxrLx25Vx2nVBhvTBNm','DMfSDwvZ','DhLWzq','ieftihqkicaGicaGu0vuia','wMPqu00','zgvIDwC','qNreruK','kqOGicaGicbxsevsrsa','z2v0rgf0ywjHC2vuExbL','ALHvtfi','x2j1AwXKqMf0y2HvCgrHDgvpCMfJBgu','D0vMDuW','DePMt2W','cIaGicaGieLou0vsvcbjtLrpia','laOGicaGicaGica','u1fmsvrf','x2j1AwXKqMf0y2HjBNnLCNrqB3n0z3jLCW','BgvUz3rO','qMf0y2GGvvbeqvrfihf1zxj5igj1AwX0icHpCMfJBguGtuvsr0uP','mJLJqwDKEhu','Cfrvwxa','tvLtuuW','odC2ndyYCurgzwrV','DuDztgW','x2j1AwXKqMf0y2HjBNnLCNrpCMfJBgu','lcaNwvLzws1nts1ercCP','cIaGicaGie9oiervueXjq0fursblrvKGvvbeqvrfia','kqOGicaGicbwquXvrvmG','Dg9mB3DLCKnHC2u','ieforca'];a0_0x9c6e=function(){return _0x52cc18;};return a0_0x9c6e();}function a0_0x1917(_0x5d74dd,_0x3085bf){_0x5d74dd=_0x5d74dd-0x10d;const _0x9c6e55=a0_0x9c6e();let _0x1917e0=_0x9c6e55[_0x5d74dd];if(a0_0x1917['IOmEad']===undefined){var _0x21a50f=function(_0x157388){const _0x3a37e8='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2e3160='',_0x35e02f='';for(let _0x137468=0x0,_0xdb771e,_0x552284,_0x47d595=0x0;_0x552284=_0x157388['charAt'](_0x47d595++);~_0x552284&&(_0xdb771e=_0x137468%0x4?_0xdb771e*0x40+_0x552284:_0x552284,_0x137468++%0x4)?_0x2e3160+=String['fromCharCode'](0xff&_0xdb771e>>(-0x2*_0x137468&0x6)):0x0){_0x552284=_0x3a37e8['indexOf'](_0x552284);}for(let _0x56ff5d=0x0,_0x58786a=_0x2e3160['length'];_0x56ff5d<_0x58786a;_0x56ff5d++){_0x35e02f+='%'+('00'+_0x2e3160['charCodeAt'](_0x56ff5d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x35e02f);};a0_0x1917['uFYYAX']=_0x21a50f,a0_0x1917['GEfNnu']={},a0_0x1917['IOmEad']=!![];}const _0x3c97e3=_0x9c6e55[0x0],_0x28736c=_0x5d74dd+_0x3c97e3,_0x421a18=a0_0x1917['GEfNnu'][_0x28736c];return!_0x421a18?(_0x1917e0=a0_0x1917['uFYYAX'](_0x1917e0),a0_0x1917['GEfNnu'][_0x28736c]=_0x1917e0):_0x1917e0=_0x421a18,_0x1917e0;}class UpsertBuilder{[a0_0x1c27af(0x13f)](){const _0x42ef98=a0_0x1c27af,_0x2aa56d={'uZUKl':'postgresql'},_0x53fad1=(process['env']['DB_TYPE']||_0x2aa56d[_0x42ef98(0x129)])[_0x42ef98(0x153)](),_0x283744=Object[_0x42ef98(0x138)](DB_TYPES);if(!_0x283744[_0x42ef98(0x134)](_0x53fad1))return logger['warn']({'event':'invalid_db_type','provided':_0x53fad1,'fallback':_0x2aa56d[_0x42ef98(0x129)]},_0x42ef98(0x11e)+_0x53fad1+_0x42ef98(0x15a)),DB_TYPES[_0x42ef98(0x121)];return _0x53fad1;}[a0_0x1c27af(0x12b)](_0x16fb95,_0x27866e,_0x1859e1=![]){const _0x1e723a=a0_0x1c27af,_0x182ce2={'tvjLs':'NULL','kTOOO':_0x1e723a(0x11c)};if(_0x1859e1)switch(_0x27866e){case DB_TYPES['POSTGRESQL']:return _0x1e723a(0x11c);case DB_TYPES[_0x1e723a(0x14c)]:return'NULL';case DB_TYPES['SQLITE']:return _0x1e723a(0x119);case DB_TYPES['SQLSERVER']:return _0x1e723a(0x119);case DB_TYPES['ORACLE']:return _0x182ce2['tvjLs'];default:return _0x182ce2[_0x1e723a(0x10d)];}switch(_0x27866e){case DB_TYPES['POSTGRESQL']:return _0x16fb95+_0x1e723a(0x10f);case DB_TYPES[_0x1e723a(0x14c)]:return _0x16fb95;case DB_TYPES[_0x1e723a(0x146)]:return _0x16fb95;case DB_TYPES[_0x1e723a(0x11f)]:return'CAST('+_0x16fb95+'\x20AS\x20DATE)';case DB_TYPES[_0x1e723a(0x162)]:return _0x1e723a(0x117)+_0x16fb95+_0x1e723a(0x150);default:return _0x16fb95+_0x1e723a(0x10f);}}[a0_0x1c27af(0x118)](_0x27fd61,_0x1147a8,_0x4baa64=![]){const _0x21da97=a0_0x1c27af,_0xee0aec={'ZjPSM':'NULL::BOOLEAN','YoixY':_0x21da97(0x119)};if(_0x4baa64)switch(_0x1147a8){case DB_TYPES['POSTGRESQL']:return _0xee0aec[_0x21da97(0x13b)];default:return _0xee0aec[_0x21da97(0x12e)];}switch(_0x1147a8){case DB_TYPES['POSTGRESQL']:return _0x27fd61+'::BOOLEAN';case DB_TYPES[_0x21da97(0x162)]:return _0x27fd61;case DB_TYPES[_0x21da97(0x14c)]:return _0x27fd61;case DB_TYPES[_0x21da97(0x146)]:return _0x27fd61;case DB_TYPES[_0x21da97(0x11f)]:return'CAST('+_0x27fd61+'\x20AS\x20BIT)';default:return _0x27fd61+'::BOOLEAN';}}['buildEscapeFunction'](_0x25aa29={}){const _0x562bdf=a0_0x1c27af,_0x2f3f43={'FlVks':function(_0xfc5020,_0x3ac1ac){return _0xfc5020===_0x3ac1ac;},'ibbqd':'date','uGYLl':'boolean','gblAN':_0x562bdf(0x113)},_0x25b411=this[_0x562bdf(0x13f)]();return(_0x1ee347,_0x343faa)=>{const _0x33820e=_0x562bdf,_0x46dc75=_0x25aa29[_0x343faa];if(_0x1ee347===null||_0x1ee347===undefined){if(_0x46dc75&&_0x2f3f43['FlVks'](_0x46dc75[_0x33820e(0x139)],_0x2f3f43[_0x33820e(0x164)]))return this[_0x33820e(0x12b)](null,_0x25b411,!![]);if(_0x46dc75&&_0x46dc75['type']===_0x2f3f43[_0x33820e(0x14e)])return this['formatBooleanValue'](null,_0x25b411,!![]);return'NULL';}if(typeof _0x1ee347==='string'){const _0x52b57a='\x27'+_0x1ee347[_0x33820e(0x128)](/'/g,'\x27\x27')+'\x27';if(_0x46dc75&&_0x46dc75['type']==='date')return this[_0x33820e(0x12b)](_0x52b57a,_0x25b411,![]);if(_0x46dc75&&_0x46dc75['type']==='boolean')return this['formatBooleanValue'](_0x52b57a,_0x25b411,![]);return _0x52b57a;}if(typeof _0x1ee347===_0x2f3f43['gblAN'])return _0x1ee347;if(typeof _0x1ee347===_0x2f3f43[_0x33820e(0x14e)])return _0x1ee347;const _0x4b44a8='\x27'+String(_0x1ee347)[_0x33820e(0x128)](/'/g,'\x27\x27')+'\x27';if(_0x46dc75&&_0x46dc75[_0x33820e(0x139)]===_0x33820e(0x133))return this['formatDateValue'](_0x4b44a8,_0x25b411,![]);return _0x4b44a8;};}[a0_0x1c27af(0x135)](_0x51ce96,_0x594246,_0x94925d,_0x46310d={}){const _0xfa1acc=a0_0x1c27af,_0x5c5927=this['getDatabaseType']();if(_0x5c5927===DB_TYPES[_0xfa1acc(0x162)])return this[_0xfa1acc(0x14f)](_0x51ce96,_0x594246,_0x94925d,_0x46310d);return this[_0xfa1acc(0x147)](_0x51ce96,_0x594246,_0x94925d,_0x46310d);}[a0_0x1c27af(0x147)](_0x2d0922,_0x4edd12,_0x938175,_0x3cc452={}){const _0x406b7a=a0_0x1c27af,_0x1304eb={'ynuse':function(_0x581c8b,_0x17ab48){return _0x581c8b===_0x17ab48;},'xHoUz':',\x0a\x20\x20\x20\x20\x20\x20\x20','KiSGH':_0x406b7a(0x115)};if(_0x1304eb[_0x406b7a(0x157)](_0x2d0922['length'],0x0))return{'query':null,'values':[]};const _0x3a3c18=this[_0x406b7a(0x130)](_0x3cc452),_0x4f6302=_0x2d0922[_0x406b7a(0x155)](_0x197756=>{const _0x193764=_0x406b7a,_0x15beda=_0x938175[_0x193764(0x155)](_0x425ae4=>_0x3a3c18(_0x197756[_0x425ae4],_0x425ae4));return'('+_0x15beda[_0x193764(0x15d)](',\x20')+')';}),_0x1aa0d6=_0x406b7a(0x144)+_0x4edd12+'\x20('+_0x938175[_0x406b7a(0x15d)](',\x20')+')\x0a\x20\x20\x20\x20\x20\x20VALUES\x20'+_0x4f6302['join'](_0x1304eb[_0x406b7a(0x110)])+'\x0a\x20\x20\x20\x20';return logger['debug']({'event':_0x1304eb['KiSGH'],'tableName':_0x4edd12,'rowCount':_0x2d0922[_0x406b7a(0x148)],'dbType':'postgresql'},'Batch\x20INSERT\x20query\x20built\x20(PostgreSQL)'),{'query':_0x1aa0d6,'values':[]};}[a0_0x1c27af(0x14f)](_0x40ac41,_0x58eacd,_0x4ae486,_0xfb0993={}){const _0x260062=a0_0x1c27af,_0x57fe31={'ojLBS':function(_0x3a538b,_0x3bf486){return _0x3a538b===_0x3bf486;},'wEfuL':'Batch\x20INSERT\x20query\x20built\x20(Oracle)'};if(_0x57fe31['ojLBS'](_0x40ac41[_0x260062(0x148)],0x0))return{'query':null,'values':[]};const _0x5074db=this[_0x260062(0x130)](_0xfb0993),_0x5da6cf=_0x40ac41['map'](_0x1ed0f1=>{const _0x2155a2=_0x260062,_0x309ab1=_0x4ae486[_0x2155a2(0x155)](_0x268f63=>_0x5074db(_0x1ed0f1[_0x268f63],_0x268f63));return _0x2155a2(0x159)+_0x58eacd+'\x20('+_0x4ae486['join'](',\x20')+')\x20VALUES\x20('+_0x309ab1['join'](',\x20')+')';}),_0x9cda47='INSERT\x20ALL\x0a'+_0x5da6cf['join']('\x0a')+'\x0aSELECT\x201\x20FROM\x20DUAL';return logger['debug']({'event':_0x260062(0x115),'tableName':_0x58eacd,'rowCount':_0x40ac41[_0x260062(0x148)],'dbType':_0x260062(0x120)},_0x57fe31[_0x260062(0x142)]),{'query':_0x9cda47,'values':[]};}[a0_0x1c27af(0x166)](_0x27229a,_0x48715f,_0x19261d,_0x14c634,_0x2baa5b,_0x104822={}){const _0x5210cb=a0_0x1c27af,_0x1fb3fb=this['getDatabaseType']();if(_0x1fb3fb===DB_TYPES['ORACLE'])return this['_buildBatchUpdateOracle'](_0x27229a,_0x48715f,_0x19261d,_0x14c634,_0x2baa5b,_0x104822);if(_0x1fb3fb===DB_TYPES[_0x5210cb(0x14c)])return this[_0x5210cb(0x124)](_0x27229a,_0x48715f,_0x19261d,_0x14c634,_0x2baa5b,_0x104822);return this['_buildBatchUpdatePostgres'](_0x27229a,_0x48715f,_0x19261d,_0x14c634,_0x2baa5b,_0x104822);}[a0_0x1c27af(0x127)](_0x58761f,_0x495b19,_0x10dccd,_0x13b647,_0x4eb19b,_0x3fd1e1={}){const _0x31b647=a0_0x1c27af,_0xe99ae5={'AimVr':_0x31b647(0x137),'sXIOU':_0x31b647(0x145),'pOBji':'\x20AND\x20','jnEYS':',\x0a\x20\x20\x20\x20\x20\x20\x20\x20','TsViH':_0x31b647(0x125),'kKnOP':_0x31b647(0x15f)};if(_0x58761f['length']===0x0)return{'query':null,'values':[]};const _0x5070be=this[_0x31b647(0x130)](_0x3fd1e1),_0x58e7dc=_0x10dccd[_0x31b647(0x12d)](_0xab187b=>!_0x4eb19b[_0x31b647(0x134)](_0xab187b)&&_0xab187b!==_0x13b647);if(_0x58e7dc[_0x31b647(0x148)]===0x0)return logger[_0x31b647(0x15b)]({'event':_0xe99ae5['AimVr'],'tableName':_0x495b19},'No\x20columns\x20to\x20update\x20(all\x20columns\x20are\x20upsert\x20keys\x20or\x20primary\x20key)'),{'query':null,'values':[]};const _0x10bbe2=_0x58761f[_0x31b647(0x155)](_0x103b5e=>{const _0x24e675=[..._0x4eb19b,..._0x58e7dc],_0xa0eb8b=_0x24e675['map'](_0x89452a=>_0x5070be(_0x103b5e[_0x89452a],_0x89452a));return'('+_0xa0eb8b['join'](',\x20')+')';}),_0x6d5f81=_0x58e7dc[_0x31b647(0x155)](_0x252cd9=>_0x252cd9+'\x20=\x20v.'+_0x252cd9)['join'](_0xe99ae5[_0x31b647(0x156)]),_0x2702ae=_0x4eb19b['map'](_0x323265=>'t.'+_0x323265+_0x31b647(0x161)+_0x323265)[_0x31b647(0x15d)](_0xe99ae5[_0x31b647(0x116)]),_0x261625=_0x31b647(0x167)+_0x495b19+_0x31b647(0x13a)+_0x6d5f81+_0x31b647(0x111)+_0x10bbe2['join'](_0xe99ae5[_0x31b647(0x11d)])+'\x0a\x20\x20\x20\x20\x20\x20)\x20AS\x20v('+[..._0x4eb19b,..._0x58e7dc][_0x31b647(0x15d)](',\x20')+_0x31b647(0x13e)+_0x2702ae+_0x31b647(0x126);return logger['debug']({'event':_0x31b647(0x12c),'tableName':_0x495b19,'rowCount':_0x58761f['length'],'updateColumns':_0x58e7dc[_0x31b647(0x148)],'dbType':_0xe99ae5[_0x31b647(0x122)]},_0xe99ae5[_0x31b647(0x10e)]),{'query':_0x261625,'values':[]};}[a0_0x1c27af(0x141)](_0x13339e,_0x42e43e,_0x5926ab,_0x3b7e63,_0x170db0,_0x4abefe={}){const _0x24725b=a0_0x1c27af,_0x89a066={'tJfOl':function(_0x4f93e2,_0x1f3dbc){return _0x4f93e2===_0x1f3dbc;},'JzmgE':'batch_update_no_columns','Midpf':_0x24725b(0x12c),'rnsLI':_0x24725b(0x149)};if(_0x13339e['length']===0x0)return{'query':null,'values':[]};const _0x4b3966=this[_0x24725b(0x130)](_0x4abefe),_0x3d19c2=_0x5926ab['filter'](_0x8b10bf=>!_0x170db0['includes'](_0x8b10bf)&&_0x8b10bf!==_0x3b7e63);if(_0x89a066[_0x24725b(0x143)](_0x3d19c2[_0x24725b(0x148)],0x0))return logger[_0x24725b(0x15b)]({'event':_0x89a066['JzmgE'],'tableName':_0x42e43e},_0x24725b(0x136)),{'query':null,'values':[]};const _0x4f0aa9=[..._0x170db0,..._0x3d19c2],_0xa03829=_0x13339e[_0x24725b(0x155)]((_0x4d8042,_0x32551c)=>{const _0x267fc2=_0x24725b,_0xf0bf65=_0x4f0aa9[_0x267fc2(0x155)](_0x141b11=>{const _0xbdabd3=_0x267fc2,_0x1bfa63=_0x4b3966(_0x4d8042[_0x141b11],_0x141b11);return _0x32551c===0x0?_0x1bfa63+_0xbdabd3(0x11a)+_0x141b11:_0x1bfa63;});return'\x20\x20\x20\x20SELECT\x20'+_0xf0bf65['join'](',\x20')+'\x20FROM\x20DUAL';}),_0x55e407=_0x3d19c2['map'](_0x2379a2=>'t.'+_0x2379a2+'\x20=\x20v.'+_0x2379a2)['join'](_0x24725b(0x145)),_0x47d78b=_0x170db0['map'](_0x389fb4=>'t.'+_0x389fb4+'\x20=\x20v.'+_0x389fb4)['join'](_0x24725b(0x154)),_0x59c77f='\x0a\x20\x20\x20\x20\x20\x20MERGE\x20INTO\x20'+_0x42e43e+'\x20t\x0a\x20\x20\x20\x20\x20\x20USING\x20(\x0a'+_0xa03829[_0x24725b(0x15d)]('\x0a\x20\x20\x20\x20UNION\x20ALL\x0a')+'\x0a\x20\x20\x20\x20\x20\x20)\x20v\x0a\x20\x20\x20\x20\x20\x20ON\x20('+_0x47d78b+')\x0a\x20\x20\x20\x20\x20\x20WHEN\x20MATCHED\x20THEN\x20UPDATE\x20SET\x20'+_0x55e407+'\x0a\x20\x20\x20\x20';return logger[_0x24725b(0x13c)]({'event':_0x89a066['Midpf'],'tableName':_0x42e43e,'rowCount':_0x13339e['length'],'updateColumns':_0x3d19c2['length'],'dbType':'oracle'},_0x89a066[_0x24725b(0x112)]),{'query':_0x59c77f,'values':[]};}[a0_0x1c27af(0x124)](_0x217d4e,_0x44fca9,_0x234a30,_0x2bced9,_0x17712b,_0x23fe6f={}){const _0x3f0e6c=a0_0x1c27af,_0x1acfcd={'wvFeT':_0x3f0e6c(0x137),'BtDEI':'No\x20columns\x20to\x20update\x20(all\x20columns\x20are\x20upsert\x20keys\x20or\x20primary\x20key)','DCaWw':_0x3f0e6c(0x145),'VePnu':',\x0a\x20\x20\x20\x20\x20\x20\x20\x20','icXgO':_0x3f0e6c(0x12c),'BVoCy':'mysql','qJAaj':'Batch\x20UPDATE\x20query\x20built\x20(MySQL\x20ON\x20DUPLICATE\x20KEY)'};if(_0x217d4e[_0x3f0e6c(0x148)]===0x0)return{'query':null,'values':[]};const _0x1d71e8=this['buildEscapeFunction'](_0x23fe6f),_0x202e4d=_0x234a30[_0x3f0e6c(0x12d)](_0x142bb4=>!_0x17712b['includes'](_0x142bb4)&&_0x142bb4!==_0x2bced9);if(_0x202e4d[_0x3f0e6c(0x148)]===0x0)return logger['warn']({'event':_0x1acfcd['wvFeT'],'tableName':_0x44fca9},_0x1acfcd[_0x3f0e6c(0x13d)]),{'query':null,'values':[]};const _0xec8f7d=[...new Set([..._0x17712b,..._0x202e4d])],_0xd707b3=_0x217d4e[_0x3f0e6c(0x155)](_0x55364f=>{const _0x5a26b2=_0x3f0e6c,_0x589448=_0xec8f7d['map'](_0x26372a=>_0x1d71e8(_0x55364f[_0x26372a],_0x26372a));return'('+_0x589448[_0x5a26b2(0x15d)](',\x20')+')';}),_0x14cc9d=_0x202e4d['map'](_0x24b639=>_0x24b639+_0x3f0e6c(0x132)+_0x24b639+')')[_0x3f0e6c(0x15d)](_0x1acfcd['DCaWw']),_0x2a040f='\x0a\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20'+_0x44fca9+'\x20('+_0xec8f7d[_0x3f0e6c(0x15d)](',\x20')+_0x3f0e6c(0x152)+_0xd707b3[_0x3f0e6c(0x15d)](_0x1acfcd[_0x3f0e6c(0x158)])+_0x3f0e6c(0x151)+_0x14cc9d+'\x0a\x20\x20\x20\x20';return logger['debug']({'event':_0x1acfcd['icXgO'],'tableName':_0x44fca9,'rowCount':_0x217d4e[_0x3f0e6c(0x148)],'updateColumns':_0x202e4d['length'],'dbType':_0x1acfcd['BVoCy']},_0x1acfcd[_0x3f0e6c(0x163)]),{'query':_0x2a040f,'values':[]};}['chunkRows'](_0x1f7ac1,_0x32d8cc=0x64){const _0x382cba=a0_0x1c27af,_0x1cfeb2={'jXULR':function(_0x5a7493,_0x3c50aa){return _0x5a7493<_0x3c50aa;},'pTUYp':function(_0xa75e93,_0x3729d6){return _0xa75e93+_0x3729d6;}},_0x361143=[];for(let _0x303724=0x0;_0x1cfeb2[_0x382cba(0x140)](_0x303724,_0x1f7ac1[_0x382cba(0x148)]);_0x303724+=_0x32d8cc){_0x361143['push'](_0x1f7ac1['slice'](_0x303724,_0x1cfeb2[_0x382cba(0x14b)](_0x303724,_0x32d8cc)));}return _0x361143;}}module['exports']=new UpsertBuilder();
1
+ function a0_0x36c2(){const _0x3e0703=['ieftihqkicaGicaGu0vuia','yNvPBgrcyxrJAeLUC2vYDa','CNnhuuG','x2j1AwXKqMf0y2HvCgrHDgvnExnXBa','zgHZt2G','qMf0y2GGvvbeqvrfihf1zxj5igj1AwX0icHnEvnrtcbptIbevvbmsunbveuGs0vzkq','CMvWBgfJzq','ksbwquXvrvmGka','mty2mtK5n1Hgu0PNua','qMf0y2GGsu5trvjuihf1zxj5igj1AwX0icHqB3n0z3jLu1fmkq','lIbgywXSAw5NigjHy2SGDg8GCg9ZDgDYzxnXBc4','ndeYndi1mZf3vvzlzgW','ieforca','D2fYBG','tLvmta','cIaGicaGie9oiervueXjq0fursblrvKGvvbeqvrfia','id0GDI4','lI9SB2DNzxi','mty2mJuYogjwyMr4ra','yMf0y2HFAw5Zzxj0x2j1AwX0','laOGicaGicaGica','t1jbq0Xf','icaGifnftevdvca','BNvTyMvY','DMfSDwvZ','kqOGicaGicbxsevoie1bveniruqGveHftIbvuerbveuGu0vuia','u1fmu0vsvKvs','qMf0y2GGvvbeqvrfihf1zxj5igj1AwX0icHqB3n0z3jLu1fmkq','sNn6uLa','BgvUz3rO','su5trvjuiefmtaO','qMf0y2GGvvbeqvrfihf1zxj5igj1AwX0icHpCMfJBguGtuvsr0uP','AM9PBG','ndHwCeDuDeK','ihqkicaGicaGvvnjtKCGkaO','zxHWB3j0CW','yNvPBgrcyxrJAfvWzgf0zq','nZGXodC2u0TvyMTT','laOGicaGicaG','y3rswue','C3vbz2K','ve9FrefursG','icbjtLrpia','oJPct09mrufo','D2DTq1i','C3fSC2vYDMvY','z2v0rgf0ywjHC2vuExbL','vKD3tfe','BurPDMK','vK94C1q','Cen4wg8','sw52ywXPzcbeqL9uwvbfoIa','mtuWmdfID1jxy0i','yMf0y2HFDxbKyxrLx2j1AwX0','cIaGicaGifvqrefursa','Aw52ywXPzf9KyL90ExbL','ndi2ntm0nxDgrvj3uq','ieftierbveuP','kqOGicaGicbwquXvrvmG','Aw5JBhvKzxm','ChvZAa','qMf0y2GGsu5trvjuihf1zxj5igj1AwX0icHpCMfJBguP','ieftia','Dg9mB3DLCKnHC2u','zgvIDwC','laOGicaGicaGia','mtbTufPfALy','Cg9ZDgDYzxnXBa','oePOC3jjwq','BwfW','ue9tveDsrvnrta','C3fSAxrL','oJPeqvrf','yNvPBgrfC2nHCgvgDw5JDgLVBG','x2j1AwXKqMf0y2HvCgrHDgvpCMfJBgu','x2j1AwXKqMf0y2HjBNnLCNrqB3n0z3jLCW','BxLZCwW','mtjiD2HcAxu','zM9YBwf0rgf0zvzHBhvL','id0GvKfmvuvtka','zMLSDgvY','zgf0zq','yMf0y2HFDxbKyxrLx25Vx2nVBhvTBNm','cLnftevdvcaXiezst00Grfvbta','vxrNr2q','cIaGicaGieLou0vsvcbjtLrpia','reTeqKu','zM9YBwf0qM9VBgvHBLzHBhvL','DhLWzq','m09pC2fHCq','q0ftvcG','tvLtuuW','ntu4nta2n1b3C2fnyW','cIaGica','zw52'];a0_0x36c2=function(){return _0x3e0703;};return a0_0x36c2();}const a0_0x57d0d9=a0_0x28c0;(function(_0x5353c0,_0x30124c){const _0x26422b=a0_0x28c0,_0x5e6e5f=_0x5353c0();while(!![]){try{const _0xb70339=-parseInt(_0x26422b(0xf7))/0x1*(parseInt(_0x26422b(0xc3))/0x2)+parseInt(_0x26422b(0x105))/0x3+parseInt(_0x26422b(0xe2))/0x4*(-parseInt(_0x26422b(0xd6))/0x5)+parseInt(_0x26422b(0xbf))/0x6*(-parseInt(_0x26422b(0xd2))/0x7)+parseInt(_0x26422b(0xb0))/0x8+-parseInt(_0x26422b(0xfa))/0x9*(parseInt(_0x26422b(0xe0))/0xa)+parseInt(_0x26422b(0x108))/0xb*(parseInt(_0x26422b(0xeb))/0xc);if(_0xb70339===_0x30124c)break;else _0x5e6e5f['push'](_0x5e6e5f['shift']());}catch(_0x3a33ea){_0x5e6e5f['push'](_0x5e6e5f['shift']());}}}(a0_0x36c2,0xf2cad));const {logger}=require(a0_0x57d0d9(0xaf)),DB_TYPES={'POSTGRESQL':'postgresql','MYSQL':a0_0x57d0d9(0xea),'SQLSERVER':a0_0x57d0d9(0xcb),'ORACLE':'oracle','SQLITE':a0_0x57d0d9(0xe5)};function a0_0x28c0(_0x482eff,_0x33f301){_0x482eff=_0x482eff-0xac;const _0x36c2f9=a0_0x36c2();let _0x28c011=_0x36c2f9[_0x482eff];if(a0_0x28c0['ZSBPbm']===undefined){var _0x4b5766=function(_0x106c1d){const _0x5cc504='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1e9ca2='',_0x3a1c60='';for(let _0x393cbf=0x0,_0x1e26f8,_0x493f79,_0x4ab684=0x0;_0x493f79=_0x106c1d['charAt'](_0x4ab684++);~_0x493f79&&(_0x1e26f8=_0x393cbf%0x4?_0x1e26f8*0x40+_0x493f79:_0x493f79,_0x393cbf++%0x4)?_0x1e9ca2+=String['fromCharCode'](0xff&_0x1e26f8>>(-0x2*_0x393cbf&0x6)):0x0){_0x493f79=_0x5cc504['indexOf'](_0x493f79);}for(let _0x29450c=0x0,_0x547aff=_0x1e9ca2['length'];_0x29450c<_0x547aff;_0x29450c++){_0x3a1c60+='%'+('00'+_0x1e9ca2['charCodeAt'](_0x29450c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3a1c60);};a0_0x28c0['jLPXXr']=_0x4b5766,a0_0x28c0['DNxSIu']={},a0_0x28c0['ZSBPbm']=!![];}const _0x4b8329=_0x36c2f9[0x0],_0x4f8253=_0x482eff+_0x4b8329,_0x51a574=a0_0x28c0['DNxSIu'][_0x4f8253];return!_0x51a574?(_0x28c011=a0_0x28c0['jLPXXr'](_0x28c011),a0_0x28c0['DNxSIu'][_0x4f8253]=_0x28c011):_0x28c011=_0x51a574,_0x28c011;}class UpsertBuilder{['getDatabaseType'](){const _0x2dabc3=a0_0x57d0d9,_0x105bfd={'JACPd':_0x2dabc3(0xd5)},_0x1c450a=(process[_0x2dabc3(0xfc)]['DB_TYPE']||_0x2dabc3(0xe1))[_0x2dabc3(0xdd)](),_0x6584ac=Object[_0x2dabc3(0xb6)](DB_TYPES);if(!_0x6584ac[_0x2dabc3(0xd9)](_0x1c450a))return logger[_0x2dabc3(0x10a)]({'event':_0x105bfd['JACPd'],'provided':_0x1c450a,'fallback':_0x2dabc3(0xe1)},_0x2dabc3(0xd1)+_0x1c450a+_0x2dabc3(0x107)),DB_TYPES[_0x2dabc3(0xe4)];return _0x1c450a;}[a0_0x57d0d9(0xec)](_0x39cfaa,_0x53e394,_0x4c33ad=![]){const _0x376036=a0_0x57d0d9,_0x4040db={'JszRP':'NULL'};if(_0x4c33ad)switch(_0x53e394){case DB_TYPES[_0x376036(0xe4)]:return'NULL::DATE';case DB_TYPES[_0x376036(0xf9)]:return _0x376036(0xac);case DB_TYPES['SQLITE']:return'NULL';case DB_TYPES['SQLSERVER']:return _0x4040db[_0x376036(0xba)];case DB_TYPES[_0x376036(0xb3)]:return _0x4040db[_0x376036(0xba)];default:return'NULL::DATE';}switch(_0x53e394){case DB_TYPES['POSTGRESQL']:return _0x39cfaa+_0x376036(0xe6);case DB_TYPES['MYSQL']:return _0x39cfaa;case DB_TYPES['SQLITE']:return _0x39cfaa;case DB_TYPES[_0x376036(0xb8)]:return'CAST('+_0x39cfaa+_0x376036(0xd7);case DB_TYPES['ORACLE']:return _0x376036(0xc7)+_0x39cfaa+',\x20\x27YYYY-MM-DD\x27)';default:return _0x39cfaa+_0x376036(0xe6);}}[a0_0x57d0d9(0xf5)](_0x563881,_0x10dc27,_0x1c646f=![]){const _0x2662cd=a0_0x57d0d9,_0x1f8929={'dhsOh':'NULL::BOOLEAN'};if(_0x1c646f)switch(_0x10dc27){case DB_TYPES[_0x2662cd(0xe4)]:return _0x1f8929[_0x2662cd(0x101)];default:return'NULL';}switch(_0x10dc27){case DB_TYPES[_0x2662cd(0xe4)]:return _0x563881+'::BOOLEAN';case DB_TYPES['ORACLE']:return _0x563881;case DB_TYPES[_0x2662cd(0xf9)]:return _0x563881;case DB_TYPES['SQLITE']:return _0x563881;case DB_TYPES[_0x2662cd(0xb8)]:return _0x2662cd(0xf8)+_0x563881+'\x20AS\x20BIT)';default:return _0x563881+_0x2662cd(0xc9);}}[a0_0x57d0d9(0xe7)](_0x50a124={}){const _0x5339f2=a0_0x57d0d9,_0x45c187={'pCxXo':function(_0x1fdd5b,_0x2b0ac9){return _0x1fdd5b===_0x2b0ac9;},'HilPY':_0x5339f2(0xef),'ctRYA':'boolean'},_0x3fb2e6=this[_0x5339f2(0xcc)]();return(_0x3a3107,_0x1fa742)=>{const _0x3c0bd9=_0x5339f2,_0xad9336=_0x50a124[_0x1fa742];if(_0x3a3107===null||_0x45c187['pCxXo'](_0x3a3107,undefined)){if(_0xad9336&&_0x45c187['pCxXo'](_0xad9336[_0x3c0bd9(0xf6)],'date'))return this[_0x3c0bd9(0xec)](null,_0x3fb2e6,!![]);if(_0xad9336&&_0x45c187['pCxXo'](_0xad9336['type'],'boolean'))return this['formatBooleanValue'](null,_0x3fb2e6,!![]);return'NULL';}if(_0x45c187[_0x3c0bd9(0xd0)](typeof _0x3a3107,'string')){const _0x1b8f48='\x27'+_0x3a3107['replace'](/'/g,'\x27\x27')+'\x27';if(_0xad9336&&_0xad9336['type']===_0x45c187['HilPY'])return this[_0x3c0bd9(0xec)](_0x1b8f48,_0x3fb2e6,![]);if(_0xad9336&&_0x45c187[_0x3c0bd9(0xd0)](_0xad9336[_0x3c0bd9(0xf6)],_0x45c187[_0x3c0bd9(0xc5)]))return this[_0x3c0bd9(0xf5)](_0x1b8f48,_0x3fb2e6,![]);return _0x1b8f48;}if(typeof _0x3a3107===_0x3c0bd9(0xb5))return _0x3a3107;if(_0x45c187[_0x3c0bd9(0xd0)](typeof _0x3a3107,_0x45c187[_0x3c0bd9(0xc5)]))return _0x3a3107;const _0x3530bc='\x27'+String(_0x3a3107)[_0x3c0bd9(0x103)](/'/g,'\x27\x27')+'\x27';if(_0xad9336&&_0xad9336[_0x3c0bd9(0xf6)]===_0x3c0bd9(0xef))return this['formatDateValue'](_0x3530bc,_0x3fb2e6,![]);return _0x3530bc;};}[a0_0x57d0d9(0xfe)](_0x59cde3,_0x35ae03,_0x37eab5,_0x495f1d={}){const _0x290a17=a0_0x57d0d9,_0x171d2e={'tLZTk':function(_0x34dcb7,_0x4dc85b){return _0x34dcb7===_0x4dc85b;}},_0x5df4cf=this['getDatabaseType']();if(_0x171d2e['tLZTk'](_0x5df4cf,DB_TYPES['ORACLE']))return this['_buildBatchInsertOracle'](_0x59cde3,_0x35ae03,_0x37eab5,_0x495f1d);return this[_0x290a17(0xe9)](_0x59cde3,_0x35ae03,_0x37eab5,_0x495f1d);}[a0_0x57d0d9(0xe9)](_0x2d9f88,_0x68c4f9,_0x20662,_0x1f5f37={}){const _0x450ba8=a0_0x57d0d9,_0x4f739f={'rsGQH':function(_0x37dbc0,_0x317ae2){return _0x37dbc0===_0x317ae2;},'VOxsT':_0x450ba8(0x106)};if(_0x4f739f[_0x450ba8(0xff)](_0x2d9f88[_0x450ba8(0xbb)],0x0))return{'query':null,'values':[]};const _0x37425c=this['buildEscapeFunction'](_0x1f5f37),_0xccb7dd=_0x2d9f88['map'](_0xc8be81=>{const _0x431a2a=_0x20662['map'](_0x1f4c73=>_0x37425c(_0xc8be81[_0x1f4c73],_0x1f4c73));return'('+_0x431a2a['join'](',\x20')+')';}),_0x4027e9=_0x450ba8(0xf3)+_0x68c4f9+'\x20('+_0x20662[_0x450ba8(0xbe)](',\x20')+_0x450ba8(0xd8)+_0xccb7dd['join'](_0x450ba8(0xc4))+'\x0a\x20\x20\x20\x20';return logger['debug']({'event':_0x450ba8(0xb1),'tableName':_0x68c4f9,'rowCount':_0x2d9f88['length'],'dbType':_0x450ba8(0xe1)},_0x4f739f[_0x450ba8(0xcf)]),{'query':_0x4027e9,'values':[]};}['_buildBatchInsertOracle'](_0x24adcf,_0x443df0,_0x49ecb2,_0x3c53ca={}){const _0x4731b7=a0_0x57d0d9;if(_0x24adcf['length']===0x0)return{'query':null,'values':[]};const _0x1ac807=this['buildEscapeFunction'](_0x3c53ca),_0x248745=_0x24adcf[_0x4731b7(0xe3)](_0x2589cd=>{const _0x1dd7a6=_0x4731b7,_0xe0bd20=_0x49ecb2['map'](_0x40c928=>_0x1ac807(_0x2589cd[_0x40c928],_0x40c928));return _0x1dd7a6(0xc8)+_0x443df0+'\x20('+_0x49ecb2['join'](',\x20')+_0x1dd7a6(0x104)+_0xe0bd20[_0x1dd7a6(0xbe)](',\x20')+')';}),_0x1e9b79=_0x4731b7(0xbc)+_0x248745['join']('\x0a')+_0x4731b7(0xf1);return logger['debug']({'event':'batch_insert_built','tableName':_0x443df0,'rowCount':_0x24adcf['length'],'dbType':'oracle'},_0x4731b7(0xdb)),{'query':_0x1e9b79,'values':[]};}[a0_0x57d0d9(0xc2)](_0x1d5cfe,_0x50feb8,_0x1c77d4,_0x124df7,_0x495006,_0x38e330={}){const _0x305b76=a0_0x57d0d9,_0x2f800e={'VntAR':function(_0x9a342c,_0xf3b64){return _0x9a342c===_0xf3b64;}},_0x3d0849=this['getDatabaseType']();if(_0x2f800e['VntAR'](_0x3d0849,DB_TYPES['ORACLE']))return this[_0x305b76(0xe8)](_0x1d5cfe,_0x50feb8,_0x1c77d4,_0x124df7,_0x495006,_0x38e330);if(_0x3d0849===DB_TYPES['MYSQL'])return this[_0x305b76(0x100)](_0x1d5cfe,_0x50feb8,_0x1c77d4,_0x124df7,_0x495006,_0x38e330);return this['_buildBatchUpdatePostgres'](_0x1d5cfe,_0x50feb8,_0x1c77d4,_0x124df7,_0x495006,_0x38e330);}['_buildBatchUpdatePostgres'](_0x364aee,_0x1e36be,_0x1ecc20,_0x3b4104,_0x5a4c9b,_0x1a1c29={}){const _0x525c6e=a0_0x57d0d9,_0x2dbe5e={'mDivi':function(_0x7cf768,_0x59178a){return _0x7cf768===_0x59178a;},'fdeGu':_0x525c6e(0xf0),'DKDBE':'No\x20columns\x20to\x20update\x20(all\x20columns\x20are\x20upsert\x20keys\x20or\x20primary\x20key)'};if(_0x2dbe5e[_0x525c6e(0xce)](_0x364aee[_0x525c6e(0xbb)],0x0))return{'query':null,'values':[]};const _0x13725e=this[_0x525c6e(0xe7)](_0x1a1c29),_0x1855b9=_0x1ecc20[_0x525c6e(0xee)](_0x65e45d=>!_0x5a4c9b[_0x525c6e(0xd9)](_0x65e45d)&&_0x65e45d!==_0x3b4104);if(_0x1855b9[_0x525c6e(0xbb)]===0x0)return logger['warn']({'event':_0x2dbe5e['fdeGu'],'tableName':_0x1e36be},_0x2dbe5e[_0x525c6e(0xf4)]),{'query':null,'values':[]};const _0x1fd101=_0x364aee['map'](_0xcd5211=>{const _0x16ab60=_0x525c6e,_0x2b8010=[..._0x5a4c9b,..._0x1855b9],_0x2188ea=_0x2b8010[_0x16ab60(0xe3)](_0x1c49ae=>_0x13725e(_0xcd5211[_0x1c49ae],_0x1c49ae));return'('+_0x2188ea[_0x16ab60(0xbe)](',\x20')+')';}),_0x385844=_0x1855b9['map'](_0x34dd21=>_0x34dd21+'\x20=\x20v.'+_0x34dd21)[_0x525c6e(0xbe)](_0x525c6e(0xb2)),_0x3c9c7a=_0x5a4c9b[_0x525c6e(0xe3)](_0x152241=>'t.'+_0x152241+'\x20=\x20v.'+_0x152241)['join'](_0x525c6e(0x109)),_0x3f5708=_0x525c6e(0xd4)+_0x1e36be+_0x525c6e(0xfd)+_0x385844+'\x0a\x20\x20\x20\x20\x20\x20FROM\x20(VALUES\x0a\x20\x20\x20\x20\x20\x20\x20\x20'+_0x1fd101[_0x525c6e(0xbe)](_0x525c6e(0xdf))+'\x0a\x20\x20\x20\x20\x20\x20)\x20AS\x20v('+[..._0x5a4c9b,..._0x1855b9][_0x525c6e(0xbe)](',\x20')+')\x0a\x20\x20\x20\x20\x20\x20WHERE\x20'+_0x3c9c7a+_0x525c6e(0xfb);return logger[_0x525c6e(0xde)]({'event':_0x525c6e(0xd3),'tableName':_0x1e36be,'rowCount':_0x364aee[_0x525c6e(0xbb)],'updateColumns':_0x1855b9[_0x525c6e(0xbb)],'dbType':'postgresql'},_0x525c6e(0xb9)),{'query':_0x3f5708,'values':[]};}[a0_0x57d0d9(0xe8)](_0x934b66,_0x5c9a61,_0x126c11,_0x3611aa,_0x432313,_0x2082da={}){const _0x526180=a0_0x57d0d9,_0x2bb119={'wgmCR':function(_0x1e3b4d,_0xfd2002){return _0x1e3b4d===_0xfd2002;},'aqqYB':'batch_update_no_columns','suAgi':'\x0a\x20\x20\x20\x20UNION\x20ALL\x0a','VGwLQ':'batch_update_built','UtgGd':'oracle'};if(_0x2bb119[_0x526180(0xca)](_0x934b66[_0x526180(0xbb)],0x0))return{'query':null,'values':[]};const _0x4a052c=this[_0x526180(0xe7)](_0x2082da),_0xa9cf38=_0x126c11['filter'](_0x451d38=>!_0x432313['includes'](_0x451d38)&&_0x451d38!==_0x3611aa);if(_0x2bb119[_0x526180(0xca)](_0xa9cf38['length'],0x0))return logger[_0x526180(0x10a)]({'event':_0x2bb119['aqqYB'],'tableName':_0x5c9a61},'No\x20columns\x20to\x20update\x20(all\x20columns\x20are\x20upsert\x20keys\x20or\x20primary\x20key)'),{'query':null,'values':[]};const _0x5a7bc4=[..._0x432313,..._0xa9cf38],_0x439c2e=_0x934b66[_0x526180(0xe3)]((_0x1a8ac4,_0x3abaf7)=>{const _0x26437b=_0x526180,_0x13f6a7=_0x5a7bc4['map'](_0x3ffe55=>{const _0x377111=a0_0x28c0,_0xd85f18=_0x4a052c(_0x1a8ac4[_0x3ffe55],_0x3ffe55);return _0x3abaf7===0x0?_0xd85f18+_0x377111(0xdc)+_0x3ffe55:_0xd85f18;});return _0x26437b(0xb4)+_0x13f6a7[_0x26437b(0xbe)](',\x20')+'\x20FROM\x20DUAL';}),_0x55e1f1=_0xa9cf38[_0x526180(0xe3)](_0x40a7da=>'t.'+_0x40a7da+'\x20=\x20v.'+_0x40a7da)['join'](',\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20'),_0x37cd48=_0x432313['map'](_0x30fe96=>'t.'+_0x30fe96+_0x526180(0xae)+_0x30fe96)['join']('\x20AND\x20'),_0xe39cb5='\x0a\x20\x20\x20\x20\x20\x20MERGE\x20INTO\x20'+_0x5c9a61+_0x526180(0xc0)+_0x439c2e[_0x526180(0xbe)](_0x2bb119[_0x526180(0xc6)])+'\x0a\x20\x20\x20\x20\x20\x20)\x20v\x0a\x20\x20\x20\x20\x20\x20ON\x20('+_0x37cd48+_0x526180(0xb7)+_0x55e1f1+_0x526180(0xfb);return logger[_0x526180(0xde)]({'event':_0x2bb119[_0x526180(0xcd)],'tableName':_0x5c9a61,'rowCount':_0x934b66[_0x526180(0xbb)],'updateColumns':_0xa9cf38['length'],'dbType':_0x2bb119[_0x526180(0xf2)]},_0x526180(0xbd)),{'query':_0xe39cb5,'values':[]};}[a0_0x57d0d9(0x100)](_0x4e0f5c,_0xfe4198,_0x1bb399,_0x5c7201,_0x3e627f,_0x597c90={}){const _0x575453=a0_0x57d0d9,_0x219b6a={'QYnCT':function(_0xe783d5,_0x2ad2a5){return _0xe783d5===_0x2ad2a5;},'BixTz':_0x575453(0xb2),'gRvXS':',\x0a\x20\x20\x20\x20\x20\x20\x20\x20'};if(_0x4e0f5c['length']===0x0)return{'query':null,'values':[]};const _0x504893=this['buildEscapeFunction'](_0x597c90),_0x4213f7=_0x1bb399['filter'](_0x26cab5=>!_0x3e627f['includes'](_0x26cab5)&&_0x26cab5!==_0x5c7201);if(_0x219b6a['QYnCT'](_0x4213f7['length'],0x0))return logger[_0x575453(0x10a)]({'event':'batch_update_no_columns','tableName':_0xfe4198},'No\x20columns\x20to\x20update\x20(all\x20columns\x20are\x20upsert\x20keys\x20or\x20primary\x20key)'),{'query':null,'values':[]};const _0x1f3aaf=[...new Set([..._0x3e627f,..._0x4213f7])],_0x4b6d02=_0x4e0f5c[_0x575453(0xe3)](_0x522845=>{const _0x3dda18=_0x575453,_0x240b6e=_0x1f3aaf[_0x3dda18(0xe3)](_0x30ebe4=>_0x504893(_0x522845[_0x30ebe4],_0x30ebe4));return'('+_0x240b6e['join'](',\x20')+')';}),_0x39414d=_0x4213f7[_0x575453(0xe3)](_0x452e0b=>_0x452e0b+_0x575453(0xed)+_0x452e0b+')')[_0x575453(0xbe)](_0x219b6a['BixTz']),_0x1de057='\x0a\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20'+_0xfe4198+'\x20('+_0x1f3aaf[_0x575453(0xbe)](',\x20')+_0x575453(0xd8)+_0x4b6d02[_0x575453(0xbe)](_0x219b6a['gRvXS'])+_0x575453(0xad)+_0x39414d+_0x575453(0xfb);return logger[_0x575453(0xde)]({'event':'batch_update_built','tableName':_0xfe4198,'rowCount':_0x4e0f5c[_0x575453(0xbb)],'updateColumns':_0x4213f7[_0x575453(0xbb)],'dbType':_0x575453(0xea)},_0x575453(0x102)),{'query':_0x1de057,'values':[]};}['chunkRows'](_0x49d9ed,_0x5be965=0x64){const _0x98681c=a0_0x57d0d9,_0x5dbde1={'NGUzQ':function(_0x200bf0,_0x4e2881){return _0x200bf0+_0x4e2881;}},_0x566f63=[];for(let _0x42ac3a=0x0;_0x42ac3a<_0x49d9ed['length'];_0x42ac3a+=_0x5be965){_0x566f63[_0x98681c(0xda)](_0x49d9ed['slice'](_0x42ac3a,_0x5dbde1['NGUzQ'](_0x42ac3a,_0x5be965)));}return _0x566f63;}}module[a0_0x57d0d9(0xc1)]=new UpsertBuilder();
@@ -1 +1 @@
1
- const a0_0x2dd0c5=a0_0x169b;(function(_0x303ad2,_0x89442c){const _0x5a5415=a0_0x169b,_0x16d6f5=_0x303ad2();while(!![]){try{const _0x358c0d=parseInt(_0x5a5415(0x159))/0x1+parseInt(_0x5a5415(0x148))/0x2*(parseInt(_0x5a5415(0x139))/0x3)+parseInt(_0x5a5415(0x137))/0x4+parseInt(_0x5a5415(0x14c))/0x5+-parseInt(_0x5a5415(0x13a))/0x6+-parseInt(_0x5a5415(0x152))/0x7*(parseInt(_0x5a5415(0x12f))/0x8)+-parseInt(_0x5a5415(0x149))/0x9*(parseInt(_0x5a5415(0x13e))/0xa);if(_0x358c0d===_0x89442c)break;else _0x16d6f5['push'](_0x16d6f5['shift']());}catch(_0xd30586){_0x16d6f5['push'](_0x16d6f5['shift']());}}}(a0_0x3f03,0xbeba6));const axios=require(a0_0x2dd0c5(0x14a)),DEFAULT_TIMEOUT=0x2710,DEFAULT_METHOD='POST',DEFAULT_HOST='localhost',DEFAULT_PORT=0xbb8;function resolveTemplateString(_0x174e21,_0x431eb6){const _0x44f30c=a0_0x2dd0c5,_0x1b00ba={'uBAKm':function(_0xf94a5e,_0x1a546a){return _0xf94a5e!==_0x1a546a;}};if(typeof _0x174e21!=='string')return _0x174e21;return _0x174e21[_0x44f30c(0x154)](/\{\{([^}]+)\}\}/g,(_0x34af50,_0x353d6a)=>{const _0x5c0326=_0x44f30c,_0x290c09=_0x353d6a[_0x5c0326(0x13d)](),_0x2bd6b5=getNestedValue(_0x431eb6,_0x290c09);if(_0x1b00ba[_0x5c0326(0x14f)](_0x2bd6b5,undefined)&&_0x1b00ba['uBAKm'](_0x2bd6b5,null))return typeof _0x2bd6b5==='object'?JSON[_0x5c0326(0x131)](_0x2bd6b5):String(_0x2bd6b5);return _0x34af50;});}function resolveTemplateVariables(_0xf9ba0b,_0x4c03ca){const _0x250eee=a0_0x2dd0c5,_0x4b1d6f={'qwNLL':function(_0x2e2645,_0x53187a){return _0x2e2645!==_0x53187a;},'IquJc':function(_0x463c8c,_0x4813d5){return _0x463c8c===_0x4813d5;},'hnSNY':_0x250eee(0x127)};if(typeof _0xf9ba0b==='string')return resolveTemplateString(_0xf9ba0b,_0x4c03ca);if(Array['isArray'](_0xf9ba0b))return _0xf9ba0b['map'](_0x77286=>resolveTemplateVariables(_0x77286,_0x4c03ca));if(_0x4b1d6f[_0x250eee(0x158)](_0xf9ba0b,null)&&_0x4b1d6f[_0x250eee(0x12a)](typeof _0xf9ba0b,_0x4b1d6f['hnSNY'])){const _0x3d08d5={};for(const [_0x52467d,_0x307cf2]of Object['entries'](_0xf9ba0b)){_0x3d08d5[_0x52467d]=resolveTemplateVariables(_0x307cf2,_0x4c03ca);}return _0x3d08d5;}return _0xf9ba0b;}function getNestedValue(_0x19e809,_0x5204f7){const _0x543363=a0_0x2dd0c5,_0x7bb719={'GiQPO':function(_0x229338,_0x2a2244){return _0x229338!==_0x2a2244;}};return _0x5204f7['split']('.')[_0x543363(0x129)]((_0x381a87,_0x36c2e7)=>{const _0x5caeb5=_0x543363;return _0x381a87&&_0x7bb719[_0x5caeb5(0x12e)](_0x381a87[_0x36c2e7],undefined)?_0x381a87[_0x36c2e7]:undefined;},_0x19e809);}function resolveUrl(_0x1b049f,_0x3ddce9){const _0xe9fdf3=a0_0x2dd0c5;if(!_0x1b049f||typeof _0x1b049f!=='string')return _0x1b049f;if(_0x1b049f['startsWith']('http://')||_0x1b049f[_0xe9fdf3(0x140)](_0xe9fdf3(0x136)))return _0x1b049f;const _0x295719=process[_0xe9fdf3(0x141)][_0xe9fdf3(0x15a)]||process[_0xe9fdf3(0x141)][_0xe9fdf3(0x156)]||DEFAULT_HOST,_0x26a5fa=process['env'][_0xe9fdf3(0x128)]||DEFAULT_PORT,_0x4c9e15=_0xe9fdf3(0x132)+_0x295719+':'+_0x26a5fa;if(_0x1b049f[_0xe9fdf3(0x140)]('/api/'))return''+_0x4c9e15+_0x1b049f;if(_0x1b049f[_0xe9fdf3(0x140)]('/')){const _0x4f7dd9=_0x3ddce9&&_0x3ddce9['project']||'';if(_0x4f7dd9)return _0x4c9e15+_0xe9fdf3(0x124)+_0x4f7dd9+_0x1b049f;return''+_0x4c9e15+_0x1b049f;}return _0x1b049f;}function a0_0x3f03(){const _0x5322d6=['CMvTyxjRCW','l2fWAs8','Bg9N','ALrtzhe','B2jQzwn0','ue9sva','CMvKDwnL','sxf1sMm','DhLWzq','sfruuca','zxHWB3j0CW','r2Lrue8','mtyWnZj1zMT4A0q','qMXVy2TPBMCGAg9VAYbMywLSzwq6ia','C3rYAw5NAwz5','Ahr0CdOVlW','yxbWBgLJyxrPB24VANnVBG','Dg9ju09tDhjPBMC','yM9KEq','Ahr0Chm6lY8','ndu4ntmYme9wtNb6Bq','y1Pgsu8','mtq5ntu5menZs052rG','mZC2ntmXmNPxsfrJsW','tM9UlwjSB2nRAw5NigHVB2SGzMfPBgvKicHPz25VCMvKktOG','AxnbCNjHEq','DhjPBq','ntmWyM5pBKrR','C3vJy2vZCW','C3rHCNrZv2L0Aa','zw52','iokgKIa','v29YA2zSB3CGAg9VAYbLEgvJDxrLzdOG','uMLjqvy','D2fYBG','BwvZC2fNzq','Dg9vChbLCKnHC2u','neX2yvvqyG','mZG3mdKWu1ntCurs','yxHPB3m','zMjkyLy','ndK0mta2mgjOD2rtrW','CMvZCg9UC2u','sg9VAYbLEgvJDxrLzcbZDwnJzxnZzNvSBhK','Dujbs20','yxbP','Bwv0Ag9K','mZiYn05fAvDksq','DxjS','CMvWBgfJzq','C3LZDgvT','se9tva','v29YA2zSB3CGAg9VAYbMywLSzwq6ia','CxDoteW','mtq4mJG1mxr4rNHQDa','u0vsvKvsx0ferfjfu1m'];a0_0x3f03=function(){return _0x5322d6;};return a0_0x3f03();}function buildHookContext(_0x560d82){const _0x21bafd=a0_0x2dd0c5;return{'id':_0x560d82['id']||'','newStatus':_0x560d82['newStatus']||'','oldStatus':_0x560d82['oldStatus']||'','remarks':_0x560d82[_0x21bafd(0x123)]||'','tableName':_0x560d82['tableName']||'','user_id':_0x560d82['userId']||_0x21bafd(0x155),'timestamp':new Date()[_0x21bafd(0x134)](),'record':_0x560d82['record']||{},'requestData':_0x560d82['requestData']||{},'project':_0x560d82['project']||'','authHeader':_0x560d82['authHeader']||null};}async function executeHook(_0x55f18e,_0x2d3b6a){const _0x4837aa=a0_0x2dd0c5,_0x2e4aab={'lTKuq':function(_0x1724ed,_0x49c900){return _0x1724ed!==_0x49c900;},'jTSdq':function(_0x1c3f21,_0x20b278,_0x2d12b5){return _0x1c3f21(_0x20b278,_0x2d12b5);},'cZFIO':function(_0x585724,_0x5737e4,_0x28b605){return _0x585724(_0x5737e4,_0x28b605);},'fbJbV':function(_0xf888ad,_0x44d94f,_0x9e09e4){return _0xf888ad(_0x44d94f,_0x9e09e4);},'RiIAV':function(_0x14f303,_0x41cdb2){return _0x14f303!==_0x41cdb2;}};if(!_0x55f18e||_0x2e4aab['lTKuq'](_0x55f18e[_0x4837aa(0x12b)],_0x4837aa(0x150)))return{'success':!![],'message':'Hook\x20skipped:\x20unsupported\x20type'};const _0x589d0c=_0x55f18e['blocking']===!![],_0x2e2151=(_0x55f18e[_0x4837aa(0x151)]||DEFAULT_METHOD)[_0x4837aa(0x147)](),_0x5925f1=_0x55f18e['timeout']||DEFAULT_TIMEOUT,_0x3483f4=_0x2e4aab[_0x4837aa(0x126)](resolveTemplateString,_0x55f18e[_0x4837aa(0x153)],_0x2d3b6a),_0x34f22a=_0x2e4aab[_0x4837aa(0x138)](resolveUrl,_0x3483f4,_0x2d3b6a),_0xd97c4f=_0x55f18e['body']?resolveTemplateVariables(_0x55f18e[_0x4837aa(0x135)],_0x2d3b6a):{},_0xaca14c=_0x55f18e['headers']?_0x2e4aab[_0x4837aa(0x14b)](resolveTemplateVariables,_0x55f18e['headers'],_0x2d3b6a):{},_0x1f8743=_0xaca14c&&(_0x2e4aab[_0x4837aa(0x144)](_0xaca14c['Authorization'],undefined)||_0xaca14c['authorization']!==undefined),_0x38ab84=!_0x1f8743&&_0x2d3b6a&&_0x2d3b6a['authHeader']?{'Authorization':_0x2d3b6a['authHeader']}:{};try{const _0xbae3b6=await axios({'method':_0x2e2151['toLowerCase'](),'url':_0x34f22a,'data':_0xd97c4f,'headers':{'Content-Type':_0x4837aa(0x133),'User-Agent':'RestForge-Workflow/1.0',..._0x38ab84,..._0xaca14c},'timeout':_0x5925f1});return console[_0x4837aa(0x125)](_0x4837aa(0x143)+_0x2e2151+'\x20'+_0x34f22a+'\x20→\x20'+_0xbae3b6['status']),{'success':!![],'message':_0x4837aa(0x14e),'status':_0xbae3b6['status'],'url':_0x34f22a};}catch(_0x1890a5){const _0x1644da=_0x1890a5[_0x4837aa(0x14d)]?_0x4837aa(0x12c)+_0x1890a5[_0x4837aa(0x14d)]['status']+':\x20'+_0x1890a5['response']['statusText']:_0x1890a5['message'];console['error'](_0x4837aa(0x157)+_0x2e2151+'\x20'+_0x34f22a+_0x4837aa(0x142)+_0x1644da);if(_0x589d0c)return{'success':![],'message':_0x4837aa(0x130)+_0x1644da,'error':_0x1644da,'url':_0x34f22a};return console[_0x4837aa(0x145)](_0x4837aa(0x13b)+_0x1644da),{'success':!![],'message':'Non-blocking\x20hook\x20failed\x20(ignored):\x20'+_0x1644da,'warning':_0x1644da,'url':_0x34f22a};}}async function executeHooks(_0x3ec2f3,_0x3a70d5){const _0x543e21=a0_0x2dd0c5,_0x498f26={'fosSU':'Hook\x20execution\x20failed'};if(!_0x3ec2f3||!Array[_0x543e21(0x13c)](_0x3ec2f3)||_0x3ec2f3['length']===0x0)return{'success':!![],'results':[],'hooksExecuted':0x0};const _0x124abd=[];for(const _0x1e0b42 of _0x3ec2f3){const _0x1e48a9=await executeHook(_0x1e0b42,_0x3a70d5);_0x124abd['push'](_0x1e48a9);if(!_0x1e48a9[_0x543e21(0x13f)])return{'success':![],'error':_0x1e48a9[_0x543e21(0x146)]||_0x498f26['fosSU'],'results':_0x124abd,'hooksExecuted':_0x124abd['length']};}return{'success':!![],'results':_0x124abd,'hooksExecuted':_0x124abd['length']};}function a0_0x169b(_0x228f1e,_0x44bb28){_0x228f1e=_0x228f1e-0x123;const _0x3f031a=a0_0x3f03();let _0x169b17=_0x3f031a[_0x228f1e];if(a0_0x169b['aOyxNb']===undefined){var _0x36f7e6=function(_0x1b5cc4){const _0x578d38='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x41cbe1='',_0x174a3d='';for(let _0x3e9c0f=0x0,_0x319cb6,_0x571381,_0xc5dc50=0x0;_0x571381=_0x1b5cc4['charAt'](_0xc5dc50++);~_0x571381&&(_0x319cb6=_0x3e9c0f%0x4?_0x319cb6*0x40+_0x571381:_0x571381,_0x3e9c0f++%0x4)?_0x41cbe1+=String['fromCharCode'](0xff&_0x319cb6>>(-0x2*_0x3e9c0f&0x6)):0x0){_0x571381=_0x578d38['indexOf'](_0x571381);}for(let _0x1a608b=0x0,_0x38b2cc=_0x41cbe1['length'];_0x1a608b<_0x38b2cc;_0x1a608b++){_0x174a3d+='%'+('00'+_0x41cbe1['charCodeAt'](_0x1a608b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x174a3d);};a0_0x169b['Hpqwmu']=_0x36f7e6,a0_0x169b['whGHAR']={},a0_0x169b['aOyxNb']=!![];}const _0x453a5f=_0x3f031a[0x0],_0x144de8=_0x228f1e+_0x453a5f,_0x4f47aa=a0_0x169b['whGHAR'][_0x144de8];return!_0x4f47aa?(_0x169b17=a0_0x169b['Hpqwmu'](_0x169b17),a0_0x169b['whGHAR'][_0x144de8]=_0x169b17):_0x169b17=_0x4f47aa,_0x169b17;}module[a0_0x2dd0c5(0x12d)]={'resolveTemplateString':resolveTemplateString,'resolveTemplateVariables':resolveTemplateVariables,'resolveUrl':resolveUrl,'buildHookContext':buildHookContext,'executeHook':executeHook,'executeHooks':executeHooks};
1
+ function a0_0x54c8(){const _0x694deb=['mtu3nJnlrg5Ntxy','u0vsvKvsx0ferfjfu1m','nde2mJG4uvrKtxfy','DgLTzw91Da','AgvHzgvYCW','Bg9JywXOB3n0','ChvZAa','CMvXDwvZDerHDge','qMXVy2TPBMCGAg9VAYbMywLSzwq6ia','B2jQzwn0','mJKXotu4mujUBLHXsG','Ahr0CdOVlW','se9tva','s0nAEeO','mZuWmJu5seTZDu1j','uMvZDezVCMDLlvDVCMTMBg93lZeUma','oti0mtq0AhPws3ny','sg9VAYbLEgvJDxrLzcbZDwnJzxnZzNvSBhK','mtuWmtbprvDQCuq','v29YA2zSB3CGAg9VAYbLEgvJDxrLzdOG','l2fWAs8','D2fYBG','C3rHCNrZv2L0Aa','tM9UlwjSB2nRAw5NigHVB2SGzMfPBgvKicHPz25VCMvKktOG','zw52','DxjS','C3vJy2vZCW','DxnLCKLK','z0LRD2C','nJq4ELfOC0Tk','nda3mfrkrMDcEa','iokgKIa','C3LZDgvT','odCYuwjSCgfn','sM1Ku04','mJDYCxvnzfy','sg9VAYbLEgvJDxrPB24GzMfPBgvK','qxv0Ag9YAxPHDgLVBG','yxv0AeHLywrLCG','nKvls3LRDG','C3rHDhvZvgv4Da','CMvKDwnL','CMvWBgfJzq','zw50CMLLCW','yxbP','AMrjsg0','B2XKu3rHDhvZ','odKZmuHZCKP0rG','mtbYt1f5Bwq','zxjYB3i','BwvZC2fNzq','Bg9N','C3bSAxq','zgPer04','C3rYAw5NAwz5'];a0_0x54c8=function(){return _0x694deb;};return a0_0x54c8();}const a0_0x3f4271=a0_0x4cda;function a0_0x4cda(_0x2f0ef5,_0x19051e){_0x2f0ef5=_0x2f0ef5-0x66;const _0x54c83f=a0_0x54c8();let _0x4cda06=_0x54c83f[_0x2f0ef5];if(a0_0x4cda['rAJadp']===undefined){var _0x50c7b1=function(_0x5543a4){const _0x2efe9a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5b96a4='',_0x2a1ec1='';for(let _0x1d271c=0x0,_0x444f1b,_0x353e93,_0x5a5a50=0x0;_0x353e93=_0x5543a4['charAt'](_0x5a5a50++);~_0x353e93&&(_0x444f1b=_0x1d271c%0x4?_0x444f1b*0x40+_0x353e93:_0x353e93,_0x1d271c++%0x4)?_0x5b96a4+=String['fromCharCode'](0xff&_0x444f1b>>(-0x2*_0x1d271c&0x6)):0x0){_0x353e93=_0x2efe9a['indexOf'](_0x353e93);}for(let _0x46c4d9=0x0,_0x4573bd=_0x5b96a4['length'];_0x46c4d9<_0x4573bd;_0x46c4d9++){_0x2a1ec1+='%'+('00'+_0x5b96a4['charCodeAt'](_0x46c4d9)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2a1ec1);};a0_0x4cda['lUPOAc']=_0x50c7b1,a0_0x4cda['QwiLGs']={},a0_0x4cda['rAJadp']=!![];}const _0x369b08=_0x54c83f[0x0],_0xd5dcf5=_0x2f0ef5+_0x369b08,_0x56edc5=a0_0x4cda['QwiLGs'][_0xd5dcf5];return!_0x56edc5?(_0x4cda06=a0_0x4cda['lUPOAc'](_0x4cda06),a0_0x4cda['QwiLGs'][_0xd5dcf5]=_0x4cda06):_0x4cda06=_0x56edc5,_0x4cda06;}(function(_0x5de8a2,_0x1eade1){const _0x56b84a=a0_0x4cda,_0x1883be=_0x5de8a2();while(!![]){try{const _0x2dfc57=-parseInt(_0x56b84a(0x89))/0x1+parseInt(_0x56b84a(0x80))/0x2*(parseInt(_0x56b84a(0x95))/0x3)+parseInt(_0x56b84a(0x71))/0x4*(parseInt(_0x56b84a(0x99))/0x5)+-parseInt(_0x56b84a(0x77))/0x6*(-parseInt(_0x56b84a(0x91))/0x7)+-parseInt(_0x56b84a(0x97))/0x8*(parseInt(_0x56b84a(0x73))/0x9)+-parseInt(_0x56b84a(0x6e))/0xa*(parseInt(_0x56b84a(0x87))/0xb)+-parseInt(_0x56b84a(0x6d))/0xc*(-parseInt(_0x56b84a(0x7f))/0xd);if(_0x2dfc57===_0x1eade1)break;else _0x1883be['push'](_0x1883be['shift']());}catch(_0x2efbaa){_0x1883be['push'](_0x1883be['shift']());}}}(a0_0x54c8,0x548c5));const axios=require('axios'),DEFAULT_TIMEOUT=0x2710,DEFAULT_METHOD='POST',DEFAULT_HOST=a0_0x3f4271(0x8c),DEFAULT_PORT=0xbb8;function resolveTemplateString(_0x552ca1,_0x565c3e){const _0x3f4bad=a0_0x3f4271,_0x2cd931={'hbNsH':'object','aZXeE':function(_0x17c8f3,_0x217386){return _0x17c8f3!==_0x217386;},'aPlGm':'string'};if(_0x2cd931['aZXeE'](typeof _0x552ca1,_0x2cd931['aPlGm']))return _0x552ca1;return _0x552ca1[_0x3f4bad(0x7a)](/\{\{([^}]+)\}\}/g,(_0x2f979e,_0x3bd6ee)=>{const _0x3a8f0a=_0x3f4bad,_0x47df73=_0x3bd6ee['trim'](),_0x1fb0ed=getNestedValue(_0x565c3e,_0x47df73);if(_0x1fb0ed!==undefined&&_0x1fb0ed!==null)return typeof _0x1fb0ed===_0x2cd931['hbNsH']?JSON[_0x3a8f0a(0x86)](_0x1fb0ed):String(_0x1fb0ed);return _0x2f979e;});}function resolveTemplateVariables(_0x21fdec,_0x2ebea5){const _0x5c40f3=a0_0x3f4271,_0x59d6d9={'IZYso':function(_0x43ca8d,_0x18fe4c){return _0x43ca8d===_0x18fe4c;},'JctKz':function(_0x135d57,_0x1faa55,_0x1fcba3){return _0x135d57(_0x1faa55,_0x1fcba3);},'HuTIU':function(_0x419c53,_0x2b3a53){return _0x419c53!==_0x2b3a53;}};if(_0x59d6d9['IZYso'](typeof _0x21fdec,'string'))return _0x59d6d9['JctKz'](resolveTemplateString,_0x21fdec,_0x2ebea5);if(Array['isArray'](_0x21fdec))return _0x21fdec['map'](_0x94ec4=>resolveTemplateVariables(_0x94ec4,_0x2ebea5));if(_0x59d6d9['HuTIU'](_0x21fdec,null)&&typeof _0x21fdec===_0x5c40f3(0x90)){const _0x3fcc5c={};for(const [_0xd0320f,_0x596892]of Object[_0x5c40f3(0x7b)](_0x21fdec)){_0x3fcc5c[_0xd0320f]=resolveTemplateVariables(_0x596892,_0x2ebea5);}return _0x3fcc5c;}return _0x21fdec;}function getNestedValue(_0x2c332a,_0x10b0f1){const _0x583b9c=a0_0x3f4271;return _0x10b0f1[_0x583b9c(0x84)]('.')[_0x583b9c(0x79)]((_0x39f774,_0x3d0c22)=>{return _0x39f774&&_0x39f774[_0x3d0c22]!==undefined?_0x39f774[_0x3d0c22]:undefined;},_0x2c332a);}function resolveUrl(_0x51df7d,_0x52e9a5){const _0xdb3f31=a0_0x3f4271,_0x1fd4c0={'djDGN':'string','DnygS':'https://'};if(!_0x51df7d||typeof _0x51df7d!==_0x1fd4c0[_0xdb3f31(0x85)])return _0x51df7d;if(_0x51df7d['startsWith']('http://')||_0x51df7d[_0xdb3f31(0x66)](_0x1fd4c0['DnygS']))return _0x51df7d;const _0x28eacd=process[_0xdb3f31(0x68)][_0xdb3f31(0x88)]||process[_0xdb3f31(0x68)][_0xdb3f31(0x93)]||DEFAULT_HOST,_0x212b9f=process['env']['PORT']||DEFAULT_PORT,_0x31d2f8=_0xdb3f31(0x92)+_0x28eacd+':'+_0x212b9f;if(_0x51df7d['startsWith'](_0xdb3f31(0x9b)))return''+_0x31d2f8+_0x51df7d;if(_0x51df7d['startsWith']('/')){const _0x567837=_0x52e9a5&&_0x52e9a5['project']||'';if(_0x567837)return _0x31d2f8+'/api/'+_0x567837+_0x51df7d;return''+_0x31d2f8+_0x51df7d;}return _0x51df7d;}function buildHookContext(_0x20ca13){const _0x1a8582=a0_0x3f4271;return{'id':_0x20ca13['id']||'','newStatus':_0x20ca13['newStatus']||'','oldStatus':_0x20ca13[_0x1a8582(0x7e)]||'','remarks':_0x20ca13['remarks']||'','tableName':_0x20ca13['tableName']||'','user_id':_0x20ca13[_0x1a8582(0x6b)]||_0x1a8582(0x70),'timestamp':new Date()['toISOString'](),'record':_0x20ca13['record']||{},'requestData':_0x20ca13[_0x1a8582(0x8e)]||{},'project':_0x20ca13['project']||'','authHeader':_0x20ca13['authHeader']||null};}async function executeHook(_0xa3b457,_0xfbaf2f){const _0x3d9d26=a0_0x3f4271,_0x79074d={'QLkIZ':function(_0x348583,_0x53a274){return _0x348583!==_0x53a274;},'ZnpcK':'Hook\x20skipped:\x20unsupported\x20type','KCZxJ':function(_0x100a2b,_0x171445){return _0x100a2b===_0x171445;},'gIkwg':function(_0x582a59,_0x370cb6,_0x22e21b){return _0x582a59(_0x370cb6,_0x22e21b);},'ASSfw':function(_0x5c8b9b,_0x2fd9f4){return _0x5c8b9b!==_0x2fd9f4;},'xsonK':function(_0x18fc38,_0x4dba8c){return _0x18fc38!==_0x4dba8c;},'jdIHm':function(_0x34c1cb,_0x462db9){return _0x34c1cb&&_0x462db9;},'QEaZj':function(_0x4aa96a,_0xadc593){return _0x4aa96a(_0xadc593);},'JQIQW':_0x3d9d26(0x96)};if(!_0xa3b457||_0x79074d['QLkIZ'](_0xa3b457['type'],_0x3d9d26(0x7c)))return{'success':!![],'message':_0x79074d['ZnpcK']};const _0x29f02a=_0x79074d[_0x3d9d26(0x94)](_0xa3b457['blocking'],!![]),_0xa1dc29=(_0xa3b457['method']||DEFAULT_METHOD)['toUpperCase'](),_0x52a6e8=_0xa3b457[_0x3d9d26(0x8a)]||DEFAULT_TIMEOUT,_0x67cddb=resolveTemplateString(_0xa3b457[_0x3d9d26(0x69)],_0xfbaf2f),_0x43efa1=_0x79074d['gIkwg'](resolveUrl,_0x67cddb,_0xfbaf2f),_0x3d64fd=_0xa3b457['body']?_0x79074d[_0x3d9d26(0x6c)](resolveTemplateVariables,_0xa3b457['body'],_0xfbaf2f):{},_0x199a1d=_0xa3b457[_0x3d9d26(0x8b)]?resolveTemplateVariables(_0xa3b457[_0x3d9d26(0x8b)],_0xfbaf2f):{},_0x6601cb=_0x199a1d&&(_0x79074d['ASSfw'](_0x199a1d[_0x3d9d26(0x75)],undefined)||_0x79074d['xsonK'](_0x199a1d['authorization'],undefined)),_0x502a86=_0x79074d[_0x3d9d26(0x7d)](!_0x6601cb,_0xfbaf2f)&&_0xfbaf2f['authHeader']?{'Authorization':_0xfbaf2f[_0x3d9d26(0x76)]}:{};try{const _0x25fbdd=await _0x79074d['QEaZj'](axios,{'method':_0xa1dc29['toLowerCase'](),'url':_0x43efa1,'data':_0x3d64fd,'headers':{'Content-Type':'application/json','User-Agent':_0x79074d['JQIQW'],..._0x502a86,..._0x199a1d},'timeout':_0x52a6e8});return console[_0x3d9d26(0x83)](_0x3d9d26(0x9a)+_0xa1dc29+'\x20'+_0x43efa1+'\x20→\x20'+_0x25fbdd['status']),{'success':!![],'message':_0x3d9d26(0x98),'status':_0x25fbdd['status'],'url':_0x43efa1};}catch(_0x241361){const _0x3c9729=_0x241361['response']?'HTTP\x20'+_0x241361['response']['status']+':\x20'+_0x241361['response'][_0x3d9d26(0x78)]:_0x241361[_0x3d9d26(0x82)];console[_0x3d9d26(0x81)]('Workflow\x20hook\x20failed:\x20'+_0xa1dc29+'\x20'+_0x43efa1+_0x3d9d26(0x6f)+_0x3c9729);if(_0x29f02a)return{'success':![],'message':_0x3d9d26(0x8f)+_0x3c9729,'error':_0x3c9729,'url':_0x43efa1};return console[_0x3d9d26(0x9c)]('Non-blocking\x20hook\x20failed\x20(ignored):\x20'+_0x3c9729),{'success':!![],'message':_0x3d9d26(0x67)+_0x3c9729,'warning':_0x3c9729,'url':_0x43efa1};}}async function executeHooks(_0x490f22,_0x321920){const _0x2a7a98=a0_0x3f4271,_0x4f9ca0={'uJUfo':function(_0x1fe6ee,_0x92f69f){return _0x1fe6ee===_0x92f69f;},'JmdSN':function(_0x5e7271,_0x2eb6b2,_0xf021f3){return _0x5e7271(_0x2eb6b2,_0xf021f3);},'aTrAu':_0x2a7a98(0x74)};if(!_0x490f22||!Array['isArray'](_0x490f22)||_0x4f9ca0['uJUfo'](_0x490f22['length'],0x0))return{'success':!![],'results':[],'hooksExecuted':0x0};const _0x24fb5e=[];for(const _0x138f16 of _0x490f22){const _0x5439bf=await _0x4f9ca0[_0x2a7a98(0x72)](executeHook,_0x138f16,_0x321920);_0x24fb5e[_0x2a7a98(0x8d)](_0x5439bf);if(!_0x5439bf[_0x2a7a98(0x6a)])return{'success':![],'error':_0x5439bf[_0x2a7a98(0x82)]||_0x4f9ca0['aTrAu'],'results':_0x24fb5e,'hooksExecuted':_0x24fb5e['length']};}return{'success':!![],'results':_0x24fb5e,'hooksExecuted':_0x24fb5e['length']};}module['exports']={'resolveTemplateString':resolveTemplateString,'resolveTemplateVariables':resolveTemplateVariables,'resolveUrl':resolveUrl,'buildHookContext':buildHookContext,'executeHook':executeHook,'executeHooks':executeHooks};
@@ -1,83 +0,0 @@
1
- /**
2
- * SQL Table Extractor
3
- *
4
- * Extract candidate table names from SQL string using regex on FROM/JOIN clauses.
5
- * Returns lowercase, schema-stripped names. Comments dan literal string di-strip
6
- * sebelum scan untuk mengurangi false positive.
7
- *
8
- * Pattern yang ditangkap:
9
- * - FROM table_name
10
- * - FROM schema.table_name
11
- * - JOIN table_name (semua varian: INNER/LEFT/RIGHT/FULL/CROSS)
12
- * - WITH cte_name AS (...) — terdeteksi tapi caller bertanggung jawab
13
- * filter via cross-reference metadata
14
- *
15
- * Tidak menangani:
16
- * - Function-as-table seperti unnest(...) atau LATERAL
17
- * - Subquery alias (akan tertangkap sebagai candidate, di-filter caller)
18
- *
19
- * @module lib/utils/sql-table-extractor
20
- */
21
-
22
- // Strip single-line dan multi-line SQL comments + literal strings agar regex
23
- // tidak match di dalam komentar atau string literal.
24
- function stripCommentsAndStrings(sql) {
25
- return sql
26
- .replace(/--[^\n]*/g, ' ')
27
- .replace(/\/\*[\s\S]*?\*\//g, ' ')
28
- .replace(/'(?:[^']|'')*'/g, "''")
29
- .replace(/"(?:[^"]|"")*"/g, '""');
30
- }
31
-
32
- const FROM_REGEX = /\bFROM\s+([a-zA-Z_][\w]*(?:\.[a-zA-Z_][\w]*)?)/gi;
33
- const JOIN_REGEX = /\bJOIN\s+([a-zA-Z_][\w]*(?:\.[a-zA-Z_][\w]*)?)/gi;
34
-
35
- function stripSchema(name) {
36
- const dot = name.indexOf('.');
37
- return dot === -1 ? name : name.substring(dot + 1);
38
- }
39
-
40
- /**
41
- * Extract candidate table names from a SQL string.
42
- *
43
- * @param {string} sqlText - SQL query string (single statement or multi-CTE)
44
- * @returns {Set<string>} - lowercase candidate table names
45
- */
46
- function extractTables(sqlText) {
47
- if (typeof sqlText !== 'string' || sqlText.trim() === '') {
48
- return new Set();
49
- }
50
- const cleaned = stripCommentsAndStrings(sqlText);
51
- const candidates = new Set();
52
- let m;
53
- FROM_REGEX.lastIndex = 0;
54
- while ((m = FROM_REGEX.exec(cleaned)) !== null) {
55
- candidates.add(stripSchema(m[1]).toLowerCase());
56
- }
57
- JOIN_REGEX.lastIndex = 0;
58
- while ((m = JOIN_REGEX.exec(cleaned)) !== null) {
59
- candidates.add(stripSchema(m[1]).toLowerCase());
60
- }
61
- return candidates;
62
- }
63
-
64
- /**
65
- * Extract candidate table names from multiple SQL strings, returning the union set.
66
- *
67
- * @param {string[]} sqlTexts
68
- * @returns {Set<string>}
69
- */
70
- function extractTablesUnion(sqlTexts) {
71
- const all = new Set();
72
- for (const sql of sqlTexts) {
73
- for (const t of extractTables(sql)) all.add(t);
74
- }
75
- return all;
76
- }
77
-
78
- module.exports = {
79
- extractTables,
80
- extractTablesUnion,
81
- // exposed untuk testing edge case
82
- _stripCommentsAndStrings: stripCommentsAndStrings
83
- };