@restforgejs/platform 4.3.8 → 5.0.0

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 (190) hide show
  1. package/bin/sdf-tools.exe +0 -0
  2. package/build-info.json +2 -2
  3. package/cli/consumer-deploy.js +1 -1
  4. package/cli/consumer.js +1 -1
  5. package/generators/cli/payload/migrate.js +96 -96
  6. package/generators/lib/dbschema-kit/apply-engine.js +211 -46
  7. package/generators/lib/dbschema-kit/diff-engine.js +14 -2
  8. package/generators/lib/dbschema-kit/emitters/alter-table.js +96 -2
  9. package/generators/lib/dbschema-kit/introspect-mapper.js +9 -0
  10. package/generators/lib/migrate/backend-payload-migrator.js +221 -221
  11. package/generators/lib/migrate/field-type-resolver.js +319 -319
  12. package/generators/lib/migrate/label-generator.js +38 -38
  13. package/generators/lib/migrate/migrate-runner.js +187 -187
  14. package/generators/lib/migrate/naming.js +43 -43
  15. package/generators/lib/migrate/sql-parser.js +124 -124
  16. package/generators/lib/templates/dashboard-catalog.js +1 -1
  17. package/generators/lib/templates/db-connection-env.js +1 -1
  18. package/generators/lib/templates/dbschema-catalog.js +1 -1
  19. package/generators/lib/templates/field-validation-catalog.js +1 -1
  20. package/generators/lib/templates/mysql-template.js +1 -1
  21. package/generators/lib/templates/oracle-template.js +1 -1
  22. package/generators/lib/templates/postgres-template.js +1 -1
  23. package/generators/lib/templates/query-declarative-catalog.js +1 -1
  24. package/generators/lib/templates/sqlite-template.js +1 -1
  25. package/integrity-manifest.json +18 -18
  26. package/node_modules/brace-expansion/index.js +1 -1
  27. package/node_modules/brace-expansion/package.json +1 -1
  28. package/node_modules/dayjs/CHANGELOG.md +7 -0
  29. package/node_modules/dayjs/README.md +12 -10
  30. package/node_modules/dayjs/dayjs.min.js +1 -1
  31. package/node_modules/dayjs/esm/constant.js +1 -1
  32. package/node_modules/dayjs/esm/plugin/duration/index.js +5 -4
  33. package/node_modules/dayjs/locale.json +1 -1
  34. package/node_modules/dayjs/package.json +2 -2
  35. package/node_modules/dayjs/plugin/duration.js +1 -1
  36. package/node_modules/tmp/lib/tmp.js +37 -7
  37. package/node_modules/tmp/package.json +4 -16
  38. package/package.json +1 -1
  39. package/scripts/verify-integrity.js +1 -1
  40. package/server.js +1 -1
  41. package/src/components/handlers/adjust_handler.js +1 -1
  42. package/src/components/handlers/audit_handler.js +1 -1
  43. package/src/components/handlers/delete_handler.js +1 -1
  44. package/src/components/handlers/export_handler.js +1 -1
  45. package/src/components/handlers/import_handler.js +1 -1
  46. package/src/components/handlers/insert_handler.js +1 -1
  47. package/src/components/handlers/update_handler.js +1 -1
  48. package/src/components/handlers/upload_handler.js +1 -1
  49. package/src/components/handlers/workflow_handler.js +1 -1
  50. package/src/components/integrations/webhook.js +1 -1
  51. package/src/consumers/baseConsumer.js +1 -1
  52. package/src/consumers/declarativeMapper.js +1 -1
  53. package/src/consumers/handlers/apiHandler.js +1 -1
  54. package/src/consumers/handlers/consoleHandler.js +1 -1
  55. package/src/consumers/handlers/databaseHandler.js +1 -1
  56. package/src/consumers/handlers/index.js +1 -1
  57. package/src/consumers/handlers/kafkaHandler.js +1 -1
  58. package/src/consumers/index.js +1 -1
  59. package/src/consumers/messageTransformer.js +1 -1
  60. package/src/consumers/validator.js +1 -1
  61. package/src/core/db/dialect/base-dialect.js +1 -1
  62. package/src/core/db/dialect/index.js +1 -1
  63. package/src/core/db/dialect/mysql-dialect.js +1 -1
  64. package/src/core/db/dialect/oracle-dialect.js +1 -1
  65. package/src/core/db/dialect/postgres-dialect.js +1 -1
  66. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  67. package/src/core/db/flatten-helper.js +1 -1
  68. package/src/core/db/query-builder-error.js +1 -1
  69. package/src/core/db/query-builder.js +1 -1
  70. package/src/core/db/relation-helper.js +1 -1
  71. package/src/core/handlers/delete_handler.js +1 -1
  72. package/src/core/handlers/insert_handler.js +1 -1
  73. package/src/core/handlers/update_handler.js +1 -1
  74. package/src/core/models/base-model.js +1 -1
  75. package/src/core/utils/cache-manager.js +1 -1
  76. package/src/core/utils/component-engine.js +1 -1
  77. package/src/core/utils/context-builder.js +1 -1
  78. package/src/core/utils/datetime-formatter.js +1 -1
  79. package/src/core/utils/datetime-parser.js +1 -1
  80. package/src/core/utils/db.js +1 -1
  81. package/src/core/utils/logger.js +1 -1
  82. package/src/core/utils/payload-loader.js +1 -1
  83. package/src/core/utils/security-checks.js +1 -1
  84. package/src/middleware/body-options.js +1 -1
  85. package/src/middleware/cors.js +1 -1
  86. package/src/middleware/idempotency.js +1 -1
  87. package/src/middleware/rate-limiter.js +1 -1
  88. package/src/middleware/request-logger.js +1 -1
  89. package/src/middleware/security-headers.js +1 -1
  90. package/src/models/base-model-mysql.js +1 -1
  91. package/src/models/base-model-oracle.js +1 -1
  92. package/src/models/base-model-sqlite.js +1 -1
  93. package/src/models/base-model.js +1 -1
  94. package/src/pro/caching/redis-client.js +1 -1
  95. package/src/pro/caching/redis-helper.js +1 -1
  96. package/src/pro/consumers/baseConsumer.js +1 -1
  97. package/src/pro/consumers/declarativeMapper.js +1 -1
  98. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  99. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  100. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  101. package/src/pro/consumers/handlers/index.js +1 -1
  102. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  103. package/src/pro/consumers/index.js +1 -1
  104. package/src/pro/consumers/messageTransformer.js +1 -1
  105. package/src/pro/consumers/validator.js +1 -1
  106. package/src/pro/database/base-model-mysql.js +1 -1
  107. package/src/pro/database/base-model-oracle.js +1 -1
  108. package/src/pro/database/base-model-sqlite.js +1 -1
  109. package/src/pro/database/db-mysql.js +1 -1
  110. package/src/pro/database/db-oracle.js +1 -1
  111. package/src/pro/database/db-sqlite.js +1 -1
  112. package/src/pro/excel/excel-generator.js +1 -1
  113. package/src/pro/excel/excel-parser.js +1 -1
  114. package/src/pro/excel/export-service.js +1 -1
  115. package/src/pro/excel/export_handler.js +1 -1
  116. package/src/pro/excel/import-service.js +1 -1
  117. package/src/pro/excel/import-validator.js +1 -1
  118. package/src/pro/excel/import_handler.js +1 -1
  119. package/src/pro/excel/upsert-builder.js +1 -1
  120. package/src/pro/idgen/idgen-routes.js +1 -1
  121. package/src/pro/integrations/lookup-resolver.js +1 -1
  122. package/src/pro/integrations/upload-handler-v2.js +1 -1
  123. package/src/pro/integrations/upload-handler.js +1 -1
  124. package/src/pro/integrations/webhook.js +1 -1
  125. package/src/pro/locking/lock-routes.js +1 -1
  126. package/src/pro/locking/resource-lock-manager.js +1 -1
  127. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  128. package/src/pro/messaging/kafkaService.js +1 -1
  129. package/src/pro/messaging/messagehubService.js +1 -1
  130. package/src/pro/messaging/rabbitmqService.js +1 -1
  131. package/src/pro/scheduler/job-manager.js +1 -1
  132. package/src/pro/scheduler/job-routes.js +1 -1
  133. package/src/pro/scheduler/job-validator.js +1 -1
  134. package/src/pro/storage/base-storage-provider.js +1 -1
  135. package/src/pro/storage/file-metadata-helper.js +1 -1
  136. package/src/pro/storage/index.js +1 -1
  137. package/src/pro/storage/local-storage-provider.js +1 -1
  138. package/src/pro/storage/s3-storage-provider.js +1 -1
  139. package/src/pro/storage/upload-cleanup-job.js +1 -1
  140. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  141. package/src/pro/storage/upload-pending-tracker.js +1 -1
  142. package/src/pro/websocket/broadcast-helper.js +1 -1
  143. package/src/pro/websocket/index.js +1 -1
  144. package/src/pro/websocket/livesync-server.js +1 -1
  145. package/src/pro/websocket/ws-broadcaster.js +1 -1
  146. package/src/services/export-service.js +1 -1
  147. package/src/services/import-service.js +1 -1
  148. package/src/services/kafkaConsumerService.js +1 -1
  149. package/src/services/kafkaService.js +1 -1
  150. package/src/services/messagehubService.js +1 -1
  151. package/src/services/rabbitmqService.js +1 -1
  152. package/src/utils/cache-invalidation-registry.js +1 -1
  153. package/src/utils/cache-manager.js +1 -1
  154. package/src/utils/component-engine.js +1 -1
  155. package/src/utils/config-extractor.js +1 -1
  156. package/src/utils/consumerLogger.js +1 -1
  157. package/src/utils/context-builder.js +1 -1
  158. package/src/utils/dashboard-helpers.js +1 -1
  159. package/src/utils/dateHelper.js +1 -1
  160. package/src/utils/datetime-formatter.js +1 -1
  161. package/src/utils/datetime-parser.js +1 -1
  162. package/src/utils/db-bootstrap.js +1 -1
  163. package/src/utils/db-mysql.js +1 -1
  164. package/src/utils/db-oracle.js +1 -1
  165. package/src/utils/db-sqlite.js +1 -1
  166. package/src/utils/db.js +1 -1
  167. package/src/utils/demo-generator.js +1 -1
  168. package/src/utils/excel-generator.js +1 -1
  169. package/src/utils/excel-parser.js +1 -1
  170. package/src/utils/file-watcher.js +1 -1
  171. package/src/utils/id-generator.js +1 -1
  172. package/src/utils/idempotency-manager.js +1 -1
  173. package/src/utils/import-validator.js +1 -1
  174. package/src/utils/license-client.js +1 -1
  175. package/src/utils/lock-manager.js +1 -1
  176. package/src/utils/logger.js +1 -1
  177. package/src/utils/lookup-resolver.js +1 -1
  178. package/src/utils/payload-loader.js +1 -1
  179. package/src/utils/processor-response.js +1 -1
  180. package/src/utils/rabbitmq.js +1 -1
  181. package/src/utils/redis-client.js +1 -1
  182. package/src/utils/redis-helper.js +1 -1
  183. package/src/utils/request-scope.js +1 -1
  184. package/src/utils/security-checks.js +1 -1
  185. package/src/utils/service-resolver.js +1 -1
  186. package/src/utils/shutdown-coordinator.js +1 -1
  187. package/src/utils/trusted-keys.js +1 -1
  188. package/src/utils/upload-handler.js +1 -1
  189. package/src/utils/upsert-builder.js +1 -1
  190. package/src/utils/workflow-hook-executor.js +1 -1
@@ -1 +1 @@
1
- 'use strict';const a0_0x4dc06d=a0_0x4ac6;(function(_0x5a2943,_0x25cd36){const _0x4e48f8=a0_0x4ac6,_0x1ef6a5=_0x5a2943();while(!![]){try{const _0x3c26bb=-parseInt(_0x4e48f8(0xe4))/0x1*(-parseInt(_0x4e48f8(0x119))/0x2)+-parseInt(_0x4e48f8(0x103))/0x3+parseInt(_0x4e48f8(0xd2))/0x4*(-parseInt(_0x4e48f8(0xab))/0x5)+-parseInt(_0x4e48f8(0xf7))/0x6*(-parseInt(_0x4e48f8(0x188))/0x7)+-parseInt(_0x4e48f8(0x142))/0x8*(parseInt(_0x4e48f8(0xe2))/0x9)+parseInt(_0x4e48f8(0xfb))/0xa*(parseInt(_0x4e48f8(0x17c))/0xb)+-parseInt(_0x4e48f8(0xaf))/0xc*(-parseInt(_0x4e48f8(0xc3))/0xd);if(_0x3c26bb===_0x25cd36)break;else _0x1ef6a5['push'](_0x1ef6a5['shift']());}catch(_0x2af77f){_0x1ef6a5['push'](_0x1ef6a5['shift']());}}}(a0_0x1077,0xaef98));function a0_0x4ac6(_0x5b2ac9,_0x4f3362){_0x5b2ac9=_0x5b2ac9-0x9c;const _0x1077bc=a0_0x1077();let _0x4ac61c=_0x1077bc[_0x5b2ac9];if(a0_0x4ac6['NlrRlz']===undefined){var _0x277257=function(_0x1e3741){const _0x321eeb='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1fe9ef='',_0x2491ed='';for(let _0x1528de=0x0,_0x4aadaa,_0x5bda50,_0x18fa12=0x0;_0x5bda50=_0x1e3741['charAt'](_0x18fa12++);~_0x5bda50&&(_0x4aadaa=_0x1528de%0x4?_0x4aadaa*0x40+_0x5bda50:_0x5bda50,_0x1528de++%0x4)?_0x1fe9ef+=String['fromCharCode'](0xff&_0x4aadaa>>(-0x2*_0x1528de&0x6)):0x0){_0x5bda50=_0x321eeb['indexOf'](_0x5bda50);}for(let _0x5915b1=0x0,_0x1c2659=_0x1fe9ef['length'];_0x5915b1<_0x1c2659;_0x5915b1++){_0x2491ed+='%'+('00'+_0x1fe9ef['charCodeAt'](_0x5915b1)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2491ed);};a0_0x4ac6['fBsxTh']=_0x277257,a0_0x4ac6['cwpoLH']={},a0_0x4ac6['NlrRlz']=!![];}const _0x23ea36=_0x1077bc[0x0],_0x503598=_0x5b2ac9+_0x23ea36,_0xf1cd6f=a0_0x4ac6['cwpoLH'][_0x503598];return!_0xf1cd6f?(_0x4ac61c=a0_0x4ac6['fBsxTh'](_0x4ac61c),a0_0x4ac6['cwpoLH'][_0x503598]=_0x4ac61c):_0x4ac61c=_0xf1cd6f,_0x4ac61c;}function a0_0x1077(){const _0x5e23ab=['sw52ywXPzcbMB3jTyxq6ia','x3zHBgLKyxrLtwf4uMv0CNK','sw52ywXPzcbWyxr0zxjUoIbTDxn0igjLihn0CMLUzYaXlq','x2j1AwXKsxnZDwvKs2v5','CMPIz3q','C2vX','suqGr2vUzxjHDg9YihjLC2vYDMf0Aw9UignHBMnLBgXLzdOG','AwrNzw5FCMvZzxq','nMvItw9vua','surhru5Fru5bqKXfra','x2LKzw1uveW','x3rLEhq','mta3mfLRz2HTCa','y3jLyxrLzef0','DwzRr1m','igrPz2L0CYaOz290oIa','x2fSBg93uMvZzxq','BNLuv2K','AgfZ','x2j1AwXKuMv1C2vlzxK','mZiYndyYnuH5CfvHva','Chr0Ba','DhrS','CMXxtuW','EMjfuey','C2rfDKW','zw5ZDxjLvw5PCxvL','zuzcz1u','sw52ywXPzcbYzxnVDxjJztOGBxvZDcbTyxrJAca','ihbHCNrZkq','y291BNrLCKLUDa','Bwf0y2G','A2v5uhjLzML4','u0vuie5yigzHAwXLzcbIDxqGy2fJAguGr0vuihjLDhvYBMvKigvTChr5iokaLcbMywXSAw5NigjHy2SGDg8GB3DUihjLC3vSDa','C3rYAw5NAwz5','z21IwLu','AwrNzw5FCMvZzxj2yxrPB25Fy29UzMLYBwvK','BLz6s2S','x2j1AwXKuMvZzxj2yxrPB25jBMrLEeTLEq','x2j1AwXKuMvZzxj2yxrPB25lzxK','C2vWyxjHDg9Y','x2zVCM1HDe51BwjLCG','otH1B0nYBg4','x2j1AwXKu2vXs2v5','surhru5Fsu5wquXjrf9qqvrurvjo','CMvZzxj2zu1HEfruta','y291BNrLCG','Dg9mB3DLCKnHC2u','CLfHrhO','Dgv4Da','AwrNzw5FAwrLBv9ZDg9Yzv9LCNjVCG','surhru5Fsu5wquXjrf9ovu1crvi','cMLMiefsr1zBmv0Gpt0GjZeNihrOzw4kicbSB2nHBcbYzxvZzwqGpsbYzwrPCY5JywXSkcDAue9qtuLojYWGs0vzu1SYxsWGmsKkicbPzIaJCMv1C2vKid4Gmcb0AgvUcIaGicbYzxr1CM4GE3rVBNvTyMvYkhjLDxnLzfSXxsKSidf9cIaGzw5KcMvUzaPSB2nHBcbUid0GCMvKAxmUy2fSBcGNsu5duICSieTfwvnBmv0PcMXVy2fSihr0Bca9ihrVBNvTyMvYkefsr1zBmL0PcMLMihr0Bca+idaGyw5Kig4Gpt0Gmsb0AgvUcIaGCMvKAxmUy2fSBcGNrvHqsvjfjYWGs0vzu1SXxsWGDhrSkqPLBMqkCMv0DxjUihTUlcaWFqO','Bwf4uMv0CNK','suqGr2vUzxjHDg9Yig51BwjLCIbYzwXLyxnLzdOG','zxHWB3j0CW','yNvPBgrezxrLCM1PBMLZDgLJs2v5','zgvMyxvSDfnLCMLHBfbHDhrLCM4','vw5RBM93BIbMB3jTyxq6ia','tLHIs2y','surhru5FuKvtrvjwqvrjt05FtK9ux0zpvu5e','ywn0AxzLoG','D2vrB00','zxHWAxjL','Dg9Rzw4','x2vUC3vYzuLUAxrPywXPEMvK','sw52ywXPzcbWCMvMAxG6ig11C3qGBwf0y2GG','C3jLBq','sw52ywXPzcbKAwDPDhm6ig11C3qGyMuGAw50zwDLCIa','CMjTqLi','yM9VBgvHBG','rMfPBgvKihrVignHBMnLBcbYzxnLCNzHDgLVBIbMB3iGAwrLBxbVDgvUy3KGBg9Zzxi','CNn2swr4s2v5','zgvMyxvSDenVzgvqyxr0zxjU','zK1Xuey','BNvTrgLNAxrZ','zgvS','zM9YBwf0s2v5igLZihjLCxvPCMvKigLUigXVDY1SzxzLBcbYzwXLyxnL','zfzgseC','x2rLzMf1BhrtzxjPywXqyxr0zxjU','surhru5Fsu5wquXjrf9uveW','AwrNzw5FCMfUzg9Tx2DLBMvYyxrLza','surhru5Fq09vtLrfuL9uveXFrefjtfK','nJiXmZq0ofPVzLbosq','qu1RCwO','DvPms0G','x2rLzMf1BhrdB2rLugf0DgvYBG','swrhzw5LCMf0B3jfCNjVCG','CMfUzg9Tsw50','sw52ywXPzcbYzxvZzurLBgv0ztOGBxvZDcbIzsbIB29SzwfUicHNB3q6ia','AwrNzw5Fy29UC3vTzwq','AwrNzw5FBNvTyMvYx3jLBgvHC2vK','z2v0','ExL5Ew1Tzgq','ENjHBMDL','surhru5Fsu5wquXjrf9esuDjvfm','EhPHBxu','icHNB3q6ia','qu1xtwm','sw52ywXPzcbYzxnLCNzHDgLVBIb0DgW6ig11C3qGyMuGAw50zwDLCIa','B2f6vLG','Be9hzgq','suqGr2vUzxjHDg9YihjHBMrVBsbPzgvTihjHy2uGBg9ZDcWGCMv0DxjUAw5NihDPBM5LCIbLBNzLBg9Wzq','Dhj1zq','DMfSDwu','x3zHBgLKyxrLvfrm','CvLTq0O','BMfTzq','D2fYBG','C2nHCMq','x2DLDfjLC2vYDMf0Aw9Uq29UDgv4Da','x2LUAxrPywXPEMvK','zxHLyW','wfHywc1ywfHylvHywfGTwfHywa','x3zHBgLKyxrLtNvTyMvYugfYyw1Z','x2j1AwXKtwv0yuTLEq','zM9YBwf0s2v5','yNzMAuC','y2fUy2vSuMvZzxj2yxrPB24','se5JCvG','xLXKEW','CMfUzg9T','x3zHBgLKyxrLuMvZB3vYy2u','De5NCeS','yLnUuNa','sw52ywXPzcbYzxnLCNzHDgLVBIb0B2TLBJOGBxvZDcbIzsbHihzHBgLKifvvsuqGzM9YBwf0icHNB3q6ia','CML4q2W','surhru5Fvu5juvvfx1jfvfjzx0vysefvu1rfra','AwrNzw5FBNvTyMvYx2DLBMvYyxrLza','BNvTyMvY','uK91Eee','x2DLBMvYyxrLrNjVBvbHDhrLCM4','t09ivgm','re5KrfG','CNn2oG','yKXjt3G','BgvUz3rO','suqGr2vUzxjHDg9YigLZigrPC2fIBgvK','zMrhvhe','u01twxK','cNjLzgLZlMnHBgWOj1PbreqNlcblrvLtwZfDlcbbuKDwwZfDlcbbuKDwwZfDkqPSB2nHBcb0DgWGpsb0B251BwjLCIHbuKDwwZjDkqPPzIb0DgWGpIaWihrOzw4kicbYzwrPCY5JywXSkcDfwfbjuKuNlcblrvLtwZfDlcb0DgWPcMvUzaPYzxr1CM4GmqO','mta5mJe5Eu9bs1vb','zxzHBa','suvZuwW','D2v1EKC','z2vUzxjHDgvKqxq','x3bHzdi','CgvLAW','ywzfEg4','BxDJrLi','CgfKu3rHCNq','werOAKm','x2j1AwXKqwn0AxzLs2v5','ndG5mZGZm2PmDvjKDq','z2v0uMvZzxj2yxrPB24','y29Kzq','zgf0zvbYzwzPEa','BvnIuLa','DMTIyva','CvDkD2i','x2j1AwXKrM9YBwf0s2v5','AwrLBxbVDgvUy3LlzxK','De5KCgy','AxnjBNrLz2vY','AxnszxvZzwq','uhb1AhK','CgfYC2u','qujdrevgr0HjsKTmtu5puffsu1rvvLDywvO','tNvTyMvYignVDw50zxiGCgfYDcbTDxn0igjLigv4ywn0BhKG','uwXOEMG','wKDKtMS','AwrNzw4','x2rLzMf1BhrnyxHszxrYEq','CMvWzwf0','swrLBxbVDgvUy3KGC3rVCMuGzxjYB3i','x3vWzgf0zu1LDge','x3jLDhjPzxzLswrLBunHy2HL','C2v0','q291BgqGBM90igDLBMvYyxrLihvUAxf1zsb2ywX1zsbHzNrLCIa','D2LUBMvYuMvZDwX0','CMvSzwfZzwrbDa','y3j5ChrV','x3zHBgLKyxrLswrLBxbVDgvUy3LlzxK','C3rYAw5N','C2v0zxG','CMvZB3vYy2u','Dg9ju09tDhjPBMC','sw52ywXPzcbMB3jTyxq6ig11C3qGyMuGB25Lig9Mia','z2v0rgf0zq','x3n0B3jLswrLBunHy2HL','CMv1C2u','y2XVq3C','CMvSzwfZzu51BwjLCG','tNvTyMvYigrVzxmGBM90ig1HDgnOigv4CgvJDgvKihrLEhqGzM9YBwf0icHNB3q6ia','lcbNB3qG','ihnLy29UzhmGkgDVDdOG','lwrPz2L0ignHCgfJAxr5icG','x2j1AwXKswrLBuTLEq','zgvMyxvSDfbPBKrPz2L0CW','sw52ywXPzcbUDw1eAwDPDhm6ig11C3qGyMuGAw50zwDLCIa','x2LUAxrdB25MAwC','v2zoyMe','tvnWqLi','DMfSDwuGAxmGCMvXDwLYzwq','igf0DgvTChrZlIbjBMnYzwfZzsbWyxr0zxjUigXLBMD0AcbVCIbTyxHszxrYEs4','CMvZzxj2zv9JB25MAxjT','CML0B0u','sw52ywXPzcbTyxHszxrYEtOGBxvZDcbIzsbPBNrLz2vYideT','qK1mq0C','surhru5Fsu5wquXjrf9gt1jnqvq','sw52ywXPzcb0DgW6ig11C3qGyMuGAw50zwDLCIaXlq','AgDLDgfSBa','rMfPBgvKihrVihjLBgvHC2uGy291BNrLCIbMB3iGAwrLBxbVDgvUy3KGBg9Zzxi','y29UC3vTzq','x3n0B3jLswrLBunHy2HLtLG','uMvZzxj2yxrPB24GBM90igzVDw5Kig9YigfSCMvHzhKGy29UC3vTzwq6ia','suqGr2vUzxjHDg9Yig51BwjLCIbYzxnLCNzLzdOG','mta0odGWnxvsCen4Bq','suqGr2vUzxjHDg9Yig51BwjLCJOG','suqGr2vUzxjHDg9YignVBMzPzYbPBML0AwfSAxPLzcaTigvUywjSzwq6ia','surhru5Fsu5wquXjrf9ovu1FreLhsvrt','mZmYnfb1txD6Aa','zM9YBwf0','yxLSwLG','u1LZCK0','surhru5FuKvtrvrFtK9ux0fmte9xruq','z2f5yLy','mdeYmZq1nJC4oq','AuXbvM4','AxnfBMfIBgvK','AhnLDa','icH0B2TLBJ0','x3jLC2vYDMvnyxHuveW','z2v0rNvSBfLLyxi','wNr1suC','z2v0q2XPzw50','ywXS','AwrNzw5FBNvTyMvYx2LKzw1FBg9Zzxi','ChvZAa','ExL5Ew1T','qKrQqKq','nduWmtLlv0n4qwS','surhru5Fq09vtLrfuL9pvKvsrKXpvW','otK5os05otK5','x3zHBgLKyxrLuMvZzxj2zvruta','x2nVDw50zxjuveXnyxa','surhru5Frevgqvvmvf9dt0rfx1bbvfrfuK4','x3jLC2vYDMvezwzHDwX0vfrm','zw5HyMXLza','Aw5MBW','C3rVCMvK','DNnfr2O','Cvrwwe4','zgrJqxK','sgzLzfG','BwvZC2fNzq','ohrvu3bbrW','AxnZDwvK','surhru5FreLtqujmruq','suqGr2vUzxjHDg9YignVBNn1BwvKoIa','C2fKza','x2rLzMf1BhrqAw5eAwDPDhm','BLrhBvm','CgLWzwXPBMu','AwrNzw5FAwrLBv9ZDg9Yzw54x2vYCM9Y','zgv0ywLSCW','lI9YzwrPCY1JBgLLBNq','zgHIq1i','zMrzrfK','rxPHsuS','C3bSAxq','Bw9Kzq','oxvQDujbBW','x2TLEvbYzwzPEa','ntq0owjis2L2qG','CMXuDM8','sw52ywXPzcbWyxr0zxjUoIbTDxn0ignVBNrHAw4GyxqGBgvHC3qGB25LihbSywnLAg9SzgvYignOyxjHy3rLCIaOos9ol0eVys9ml1GVEc9il2GP','x2DLDenVDw50zxjuveW','t0v5rM4','Eu1yv0m','x2vUywjSzwq','suqGr2vUzxjHDg9YigLZigrPC2fIBgvKicHZzxqGsurhru5Fru5bqKXfrd10CNvLkq','x3zHBgLKyxrLuMvZzxj2yxrPB25uB2TLBG','zw52','DgvZDa'];a0_0x1077=function(){return _0x5e23ab;};return a0_0x1077();}const crypto=require(a0_0x4dc06d(0x1a4)),redisClient=require(a0_0x4dc06d(0xdc)),{logger}=require('./logger'),idempotencyManager=require('./idempotency-manager'),ALLOWED_FORMATS=new Set(['text','yyyy',a0_0x4dc06d(0xc1),a0_0x4dc06d(0x14c)]),RESOURCE_REGEX=/^[A-Za-z0-9_-]{1,64}$/,PREFIX_REGEX=/^[A-Za-z0-9_-]{0,32}$/,SEPARATOR_FORBIDDEN=/:/,MAX_NUM_DIGITS=0xc,MIN_NUM_DIGITS=0x1,MAX_PIN_DIGITS=0xc,MIN_PIN_DIGITS=0x4,MAX_PATTERN_LENGTH=0x100,MAX_TTL=0x278d00,MAX_RETRY_LIMIT=0x64,MAX_IDEMPOTENCY_KEY_LENGTH=0x80,RESERVATION_TOKEN_REGEX=/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i,MIN_RESERVE_TTL=0xa,MAX_RESERVE_TTL=0x15180,DEFAULT_RESERVE_TTL=0x258,RESERVE_REAP_BATCH=0x40,CHARSET_DIGIT=a0_0x4dc06d(0xb5),CHARSET_UPPER=a0_0x4dc06d(0x196),CHARSET_LOWER='abcdefghijklmnopqrstuvwxyz',CHARSET_LETTERS=CHARSET_UPPER+CHARSET_LOWER,CHARSET_UPPER_ALNUM=CHARSET_UPPER+CHARSET_DIGIT,CHARSET_MIXED_ALNUM=CHARSET_UPPER+CHARSET_LOWER+CHARSET_DIGIT,CHARSET_HEX_UPPER='0123456789ABCDEF',CHARSET_HEX_LOWER='0123456789abcdef',PLACEHOLDER_MAP={'9':CHARSET_DIGIT,'N':CHARSET_DIGIT,'A':CHARSET_UPPER,'a':CHARSET_LOWER,'L':CHARSET_LETTERS,'X':CHARSET_UPPER_ALNUM,'x':CHARSET_MIXED_ALNUM,'H':CHARSET_HEX_UPPER,'h':CHARSET_HEX_LOWER},LUA_GENERATE_NUMBER=a0_0x4dc06d(0x123),LUA_RELEASE_NUMBER=a0_0x4dc06d(0x17b),LUA_RESERVE_NUMBER='\x0alocal\x20unpk\x20=\x20unpack\x20or\x20table.unpack\x0a\x0a--\x20Step\x201:\x20lazy\x20reap\x20expired\x20reservations\x20(cap\x20RESERVE_REAP_BATCH)\x0alocal\x20reaped\x20=\x200\x0alocal\x20nowMs\x20=\x20ARGV[7]\x0alocal\x20rsvPrefix\x20=\x20ARGV[8]\x0alocal\x20expired\x20=\x20redis.call(\x27ZRANGEBYSCORE\x27,\x20KEYS[3],\x20\x27-inf\x27,\x20\x27(\x27\x20..\x20nowMs,\x20\x27LIMIT\x27,\x200,\x2064)\x0afor\x20i\x20=\x201,\x20#expired\x20do\x0a\x20\x20local\x20expToken\x20=\x20expired[i]\x0a\x20\x20local\x20expRsvKey\x20=\x20rsvPrefix\x20..\x20expToken\x0a\x20\x20local\x20expCounter\x20=\x20redis.call(\x27HGET\x27,\x20expRsvKey,\x20\x27counter\x27)\x0a\x20\x20if\x20expCounter\x20then\x0a\x20\x20\x20\x20redis.call(\x27ZADD\x27,\x20KEYS[2],\x20expCounter,\x20expCounter)\x0a\x20\x20end\x0a\x20\x20redis.call(\x27DEL\x27,\x20expRsvKey)\x0a\x20\x20redis.call(\x27ZREM\x27,\x20KEYS[3],\x20expToken)\x0a\x20\x20reaped\x20=\x20reaped\x20+\x201\x0aend\x0a\x0a--\x20Step\x202:\x20allocate\x20counter\x20(ZPOPMIN\x20reuse\x20atau\x20INCR\x20seq)\x0alocal\x20counterInt\x0alocal\x20isReused\x20=\x200\x0aif\x20ARGV[1]\x20==\x20\x271\x27\x20then\x0a\x20\x20local\x20r\x20=\x20redis.call(\x27ZPOPMIN\x27,\x20KEYS[2],\x201)\x0a\x20\x20if\x20#r\x20>\x200\x20then\x0a\x20\x20\x20\x20counterInt\x20=\x20tonumber(r[1])\x0a\x20\x20\x20\x20isReused\x20=\x201\x0a\x20\x20end\x0aend\x0aif\x20not\x20counterInt\x20then\x0a\x20\x20counterInt\x20=\x20redis.call(\x27INCR\x27,\x20KEYS[1])\x0a\x20\x20local\x20cttl\x20=\x20tonumber(ARGV[2])\x0a\x20\x20if\x20cttl\x20>\x200\x20and\x20counterInt\x20==\x201\x20then\x0a\x20\x20\x20\x20redis.call(\x27EXPIRE\x27,\x20KEYS[1],\x20cttl)\x0a\x20\x20end\x0aend\x0a\x0a--\x20Step\x203:\x20write\x20reservation\x20hash\x20+\x20index\x20+\x20TTL\x0alocal\x20rsvKey\x20=\x20ARGV[4]\x0alocal\x20rsvTtlMs\x20=\x20tonumber(ARGV[5])\x0alocal\x20expiresAtMs\x20=\x20tonumber(ARGV[6])\x0alocal\x20nargs\x20=\x20#ARGV\x0alocal\x20fields\x20=\x20{}\x0afor\x20i\x20=\x209,\x20nargs\x20do\x0a\x20\x20fields[#fields\x20+\x201]\x20=\x20ARGV[i]\x0aend\x0aredis.call(\x27HSET\x27,\x20rsvKey,\x20\x27counter\x27,\x20counterInt,\x20\x27isReused\x27,\x20isReused,\x20unpk(fields))\x0aredis.call(\x27PEXPIRE\x27,\x20rsvKey,\x20rsvTtlMs)\x0aredis.call(\x27ZADD\x27,\x20KEYS[3],\x20expiresAtMs,\x20ARGV[3])\x0aredis.call(\x27EXPIRE\x27,\x20KEYS[3],\x20math.floor(rsvTtlMs\x20/\x201000)\x20+\x2060)\x0a\x0areturn\x20{\x20counterInt,\x20isReused,\x20reaped\x20}\x0a',LUA_CONFIRM_RESERVATION='\x0aif\x20redis.call(\x27EXISTS\x27,\x20KEYS[1])\x20==\x200\x20then\x0a\x20\x20redis.call(\x27ZREM\x27,\x20KEYS[2],\x20ARGV[1])\x0a\x20\x20return\x20{\x200\x20}\x0aend\x0alocal\x20h\x20=\x20redis.call(\x27HMGET\x27,\x20KEYS[1],\x20\x27counter\x27,\x20\x27value\x27,\x20\x27formatKey\x27,\x20\x27isReused\x27,\x20\x27createdAt\x27,\x20\x27expiresAt\x27)\x0aredis.call(\x27DEL\x27,\x20KEYS[1])\x0aredis.call(\x27ZREM\x27,\x20KEYS[2],\x20ARGV[1])\x0areturn\x20{\x201,\x20h[1],\x20h[2],\x20h[3],\x20h[4],\x20h[5],\x20h[6]\x20}\x0a',LUA_CANCEL_RESERVATION='\x0aif\x20redis.call(\x27EXISTS\x27,\x20KEYS[1])\x20==\x200\x20then\x0a\x20\x20redis.call(\x27ZREM\x27,\x20KEYS[2],\x20ARGV[1])\x0a\x20\x20return\x20{\x200\x20}\x0aend\x0alocal\x20h\x20=\x20redis.call(\x27HMGET\x27,\x20KEYS[1],\x20\x27counter\x27,\x20\x27value\x27,\x20\x27formatKey\x27)\x0alocal\x20counter\x20=\x20h[1]\x0aif\x20counter\x20then\x0a\x20\x20redis.call(\x27ZADD\x27,\x20KEYS[3],\x20counter,\x20counter)\x0a\x20\x20local\x20ttl\x20=\x20tonumber(ARGV[2])\x0a\x20\x20if\x20ttl\x20>\x200\x20then\x0a\x20\x20\x20\x20redis.call(\x27EXPIRE\x27,\x20KEYS[3],\x20ttl)\x0a\x20\x20end\x0aend\x0aredis.call(\x27DEL\x27,\x20KEYS[1])\x0aredis.call(\x27ZREM\x27,\x20KEYS[2],\x20ARGV[1])\x0areturn\x20{\x201,\x20counter,\x20h[2],\x20h[3]\x20}\x0a',LUA_EXTEND_RESERVATION='\x0aif\x20redis.call(\x27EXISTS\x27,\x20KEYS[1])\x20==\x200\x20then\x0a\x20\x20redis.call(\x27ZREM\x27,\x20KEYS[2],\x20ARGV[1])\x0a\x20\x20return\x20{\x200\x20}\x0aend\x0alocal\x20h\x20=\x20redis.call(\x27HMGET\x27,\x20KEYS[1],\x20\x27expiresAt\x27,\x20\x27counter\x27,\x20\x27value\x27,\x20\x27formatKey\x27,\x20\x27isReused\x27,\x20\x27createdAt\x27)\x0alocal\x20prevExpiresAt\x20=\x20h[1]\x0alocal\x20newTtlMs\x20=\x20tonumber(ARGV[2])\x0alocal\x20newExpMs\x20=\x20tonumber(ARGV[3])\x0aredis.call(\x27PEXPIRE\x27,\x20KEYS[1],\x20newTtlMs)\x0aredis.call(\x27HSET\x27,\x20KEYS[1],\x20\x27expiresAt\x27,\x20ARGV[4])\x0aredis.call(\x27ZADD\x27,\x20KEYS[2],\x20newExpMs,\x20ARGV[1])\x0aredis.call(\x27EXPIRE\x27,\x20KEYS[2],\x20math.floor(newTtlMs\x20/\x201000)\x20+\x2060)\x0areturn\x20{\x201,\x20prevExpiresAt,\x20h[2],\x20h[3],\x20h[4],\x20h[5],\x20h[6]\x20}\x0a';class IdGeneratorError extends Error{constructor(_0xaab07a,_0xbe1250,_0x20414f=null){const _0x4a824b=a0_0x4dc06d;super(_0xbe1250||_0xaab07a),this[_0x4a824b(0x15a)]='IdGeneratorError',this[_0x4a824b(0x18a)]=_0xaab07a,this[_0x4a824b(0xdb)]=_0x20414f;}}class IdGenerator{constructor(){const _0xa5c0f9=a0_0x4dc06d;this[_0xa5c0f9(0x15e)]=![],this[_0xa5c0f9(0xea)]=null,this['_keyPrefix']=null,this['_idemTTL']=null,this[_0xa5c0f9(0xff)]=null,this['_defaultMaxRetry']=null,this['_defaultPinDigits']=null,this['_defaultSerialPattern']=null,this['_defaultCodePattern']=null,this[_0xa5c0f9(0xc7)]=null,this['_reserveDefaultTTL']=null,this['_reserveMaxTTL']=null;}[a0_0x4dc06d(0x1b7)](){const _0x15e3f3=a0_0x4dc06d,_0x1d83dd={'KwUAU':'rf:idgen:','KlePy':function(_0xff8535,_0x2e2b0e){return _0xff8535===_0x2e2b0e;},'fOGrR':function(_0x9595db,_0xb4b1c5,_0x86551a){return _0x9595db(_0xb4b1c5,_0x86551a);},'dhbCR':_0x15e3f3(0xc5),'yMXWC':function(_0x2c6d31,_0x4b421b,_0xbec4c6){return _0x2c6d31(_0x4b421b,_0xbec4c6);}};this[_0x15e3f3(0xe3)]=_0x1d83dd['KwUAU'],this['_enabled']=_0x1d83dd['KlePy'](process['env'][_0x15e3f3(0xf8)],_0x15e3f3(0x156)),this[_0x15e3f3(0xf9)]=_0x1d83dd['fOGrR'](parseInt,process['env']['IDGEN_IDEM_TTL'],0xa)||0x258,this['_allowReset']=process['env']['IDGEN_ALLOW_RESET']==='true',this[_0x15e3f3(0x19b)]=parseInt(process['env']['IDGEN_DEFAULT_MAX_RETRY'],0xa)||0xa,this[_0x15e3f3(0xd7)]=parseInt(process['env']['IDGEN_DEFAULT_PIN_DIGITS'],0xa)||0x6,this[_0x15e3f3(0x13e)]=process[_0x15e3f3(0xed)]['IDGEN_DEFAULT_SERIAL_PATTERN']||_0x15e3f3(0x160),this['_defaultCodePattern']=process['env'][_0x15e3f3(0xc8)]||_0x1d83dd[_0x15e3f3(0xdd)],this[_0x15e3f3(0xc7)]={'yyyymm':_0x1d83dd[_0x15e3f3(0xe9)](parseInt,process[_0x15e3f3(0xed)]['IDGEN_COUNTER_TTL_MONTHLY'],0xa)||0x2a3000,'yyyymmdd':parseInt(process[_0x15e3f3(0xed)][_0x15e3f3(0x141)],0xa)||0x2a300},this['_reserveDefaultTTL']=parseInt(process[_0x15e3f3(0xed)]['IDGEN_RESERVE_DEFAULT_TTL'],0xa)||DEFAULT_RESERVE_TTL,this[_0x15e3f3(0xba)]=parseInt(process['env']['IDGEN_RESERVE_MAX_TTL'],0xa)||MAX_RESERVE_TTL,this[_0x15e3f3(0x15e)]=!![],logger[_0x15e3f3(0xcb)]({'event':'idgen_config_init','enabled':this[_0x15e3f3(0xea)],'idemTTL':this['_idemTTL'],'allowReset':this['_allowReset'],'defaultMaxRetry':this['_defaultMaxRetry'],'defaultPinDigits':this[_0x15e3f3(0xd7)],'reserveDefaultTTL':this[_0x15e3f3(0xc9)],'reserveMaxTTL':this[_0x15e3f3(0xba)]},_0x15e3f3(0xad)+this[_0x15e3f3(0xea)]);}[a0_0x4dc06d(0x130)](){const _0x525747=a0_0x4dc06d;if(!this[_0x525747(0x15e)])this[_0x525747(0x1b7)]();}get['enabled'](){const _0x18e5fb=a0_0x4dc06d;return this[_0x18e5fb(0x130)](),this['_enabled'];}get['keyPrefix'](){const _0x179dda=a0_0x4dc06d;return this[_0x179dda(0x130)](),this[_0x179dda(0xe3)];}get['idemTTL'](){const _0x515e1c=a0_0x4dc06d;return this[_0x515e1c(0x130)](),this['_idemTTL'];}get['allowReset'](){return this['_ensureInitialized'](),this['_allowReset'];}get['defaultMaxRetry'](){const _0x3e35af=a0_0x4dc06d;return this[_0x3e35af(0x130)](),this[_0x3e35af(0x19b)];}get[a0_0x4dc06d(0x1b5)](){const _0x224dd3=a0_0x4dc06d;return this[_0x224dd3(0x130)](),this[_0x224dd3(0xd7)];}get[a0_0x4dc06d(0x128)](){return this['_ensureInitialized'](),this['_defaultSerialPattern'];}get[a0_0x4dc06d(0x138)](){const _0x8c173f=a0_0x4dc06d;return this['_ensureInitialized'](),this[_0x8c173f(0x145)];}get['reserveDefaultTTL'](){const _0x2f8411=a0_0x4dc06d;return this[_0x2f8411(0x130)](),this[_0x2f8411(0xc9)];}get[a0_0x4dc06d(0x11c)](){const _0x4d2670=a0_0x4dc06d;return this['_ensureInitialized'](),this[_0x4d2670(0xba)];}[a0_0x4dc06d(0xb7)](){return this['enabled'];}[a0_0x4dc06d(0x169)](_0x211534){const _0x24f7d4=a0_0x4dc06d,_0x414740={'oazVX':function(_0x5f4189,_0xa52b8f){return _0x5f4189!==_0xa52b8f;},'qTVXN':'IDGEN_INVALID_RESOURCE'};if(_0x414740[_0x24f7d4(0x153)](typeof _0x211534,'string')||!RESOURCE_REGEX[_0x24f7d4(0xee)](_0x211534))throw new IdGeneratorError(_0x414740[_0x24f7d4(0xce)],_0x24f7d4(0x10b)+RESOURCE_REGEX+_0x24f7d4(0x150)+JSON[_0x24f7d4(0x111)](_0x211534)+')');}[a0_0x4dc06d(0x161)](_0x198bd3){const _0x369e9b=a0_0x4dc06d,_0x2e85a8={'gaybV':function(_0x2d66f1,_0x43a63a){return _0x2d66f1===_0x43a63a;},'weQoM':function(_0x2a0330,_0x5a8976){return _0x2a0330>_0x5a8976;},'tNdpf':function(_0x2b00ce,_0x17775c){return _0x2b00ce==_0x17775c;},'rjbgt':function(_0x2ad28c,_0x369d21){return _0x2ad28c!==_0x369d21;},'SbhUl':'IDGEN_INVALID_PREFIX','xJnnc':'IDGEN_INVALID_SEPARATOR','weuzG':function(_0xbaf406,_0xda475){return _0xbaf406!=_0xda475;},'wuTdL':function(_0xccf4ea,_0x4d1943){return _0xccf4ea!==_0x4d1943;},'mwcFR':_0x369e9b(0x135),'OOHTc':'IDGEN_INVALID_RESOURCE'},{resource:_0x1fd444,format:_0x1790da,prefix:_0x25e509,separator:_0x2f99e8,numDigits:_0x556480,reuseDelete:_0x327051}=_0x198bd3;this['_validateResource'](_0x1fd444);const _0xf1585f=_0x2e85a8[_0x369e9b(0xb4)](typeof _0x1790da,_0x369e9b(0x1a6))?_0x1790da['toLowerCase']():'';if(!ALLOWED_FORMATS[_0x369e9b(0x101)](_0xf1585f))throw new IdGeneratorError('IDGEN_INVALID_FORMAT',_0x369e9b(0x1aa)+[...ALLOWED_FORMATS]['join'](',\x20')+_0x369e9b(0x150)+_0x1790da+')');if(!Number['isInteger'](_0x556480)||_0x556480<MIN_NUM_DIGITS||_0x2e85a8[_0x369e9b(0x12d)](_0x556480,MAX_NUM_DIGITS))throw new IdGeneratorError(_0x369e9b(0xae),_0x369e9b(0x1b6)+MIN_NUM_DIGITS+'-'+MAX_NUM_DIGITS+_0x369e9b(0x150)+_0x556480+')');const _0x4bd61d=_0x2e85a8[_0x369e9b(0x191)](_0x25e509,null)?'':_0x25e509;if(_0x2e85a8[_0x369e9b(0xf3)](typeof _0x4bd61d,_0x369e9b(0x1a6))||!PREFIX_REGEX['test'](_0x4bd61d))throw new IdGeneratorError(_0x2e85a8['SbhUl'],_0x369e9b(0x131)+PREFIX_REGEX+_0x369e9b(0x150)+JSON[_0x369e9b(0x111)](_0x25e509)+')');const _0x57379c=_0x2f99e8==null?'':_0x2f99e8;if(typeof _0x57379c!=='string'||_0x57379c[_0x369e9b(0x177)]>0x3||SEPARATOR_FORBIDDEN[_0x369e9b(0xee)](_0x57379c))throw new IdGeneratorError(_0x2e85a8['xJnnc'],'Invalid\x20separator:\x20max\x203\x20char,\x20must\x20not\x20contain\x20\x27:\x27\x20(got:\x20'+JSON['stringify'](_0x2f99e8)+')');if(_0x2e85a8[_0x369e9b(0x17f)](_0x327051,null)&&_0x2e85a8['wuTdL'](typeof _0x327051,_0x2e85a8[_0x369e9b(0x184)]))throw new IdGeneratorError(_0x2e85a8[_0x369e9b(0x173)],_0x369e9b(0x148)+typeof _0x327051+')');return{'resource':_0x1fd444,'format':_0xf1585f,'prefix':_0x4bd61d,'separator':_0x57379c,'numDigits':_0x556480,'reuseDelete':_0x327051===!![]};}['_validatePattern'](_0x16a119){const _0x2343c6=a0_0x4dc06d,_0x5da05c={'UpnCz':function(_0x215a51,_0x3c9ee4){return _0x215a51!==_0x3c9ee4;},'AMWMc':function(_0x5b69d0,_0x35eb77){return _0x5b69d0===_0x35eb77;},'SrGGi':_0x2343c6(0x11b)};if(_0x5da05c['UpnCz'](typeof _0x16a119,'string')||_0x5da05c[_0x2343c6(0x151)](_0x16a119[_0x2343c6(0x177)],0x0)||_0x16a119[_0x2343c6(0x177)]>MAX_PATTERN_LENGTH)throw new IdGeneratorError(_0x5da05c['SrGGi'],_0x2343c6(0xf1)+MAX_PATTERN_LENGTH+'\x20chars\x20(got\x20length:\x20'+(_0x16a119&&_0x16a119[_0x2343c6(0x177)])+')');let _0x5e3d1d=![];for(const _0xc5e097 of _0x16a119){if(PLACEHOLDER_MAP[_0xc5e097]){_0x5e3d1d=!![];break;}}if(!_0x5e3d1d)throw new IdGeneratorError('IDGEN_INVALID_PATTERN',_0x2343c6(0xe6));}[a0_0x4dc06d(0x158)](_0x3ca9b5){const _0x3915da=a0_0x4dc06d,_0x438ddb={'IEsQl':function(_0x4fc12b,_0x454069){return _0x4fc12b==_0x454069;}};if(_0x438ddb[_0x3915da(0x17e)](_0x3ca9b5,null))return undefined;if(!Number['isInteger'](_0x3ca9b5)||_0x3ca9b5<0x1||_0x3ca9b5>MAX_TTL)throw new IdGeneratorError(_0x3915da(0x13f),_0x3915da(0xa4)+MAX_TTL+_0x3915da(0x1b2)+_0x3ca9b5+')');return _0x3ca9b5;}['_validateMaxRetry'](_0x1a3b28){const _0xdf6b66=a0_0x4dc06d,_0x600adb={'uZLKH':function(_0x70d2bd,_0x5bac80){return _0x70d2bd==_0x5bac80;},'TbamP':function(_0x5058f8,_0x228ced){return _0x5058f8>_0x228ced;},'zLZbU':'IDGEN_INVALID_MAX_RETRY'};if(_0x600adb[_0xdf6b66(0x144)](_0x1a3b28,null))return this['defaultMaxRetry'];if(!Number['isInteger'](_0x1a3b28)||_0x1a3b28<0x1||_0x600adb['TbamP'](_0x1a3b28,MAX_RETRY_LIMIT))throw new IdGeneratorError(_0x600adb['zLZbU'],_0xdf6b66(0xa1)+MAX_RETRY_LIMIT+_0xdf6b66(0x150)+_0x1a3b28+')');return _0x1a3b28;}['_validateIdempotencyKey'](_0x122f5d){const _0x53d022=a0_0x4dc06d,_0x648193={'qYmCJ':function(_0x5cc8a8,_0x2dd4b8){return _0x5cc8a8!==_0x2dd4b8;},'pfHHC':'IDGEN_INVALID_RESOURCE'};if(_0x122f5d==null)return undefined;if(_0x648193[_0x53d022(0x159)](typeof _0x122f5d,'string')||_0x122f5d[_0x53d022(0x177)]===0x0||_0x122f5d['length']>MAX_IDEMPOTENCY_KEY_LENGTH)throw new IdGeneratorError(_0x648193['pfHHC'],'Invalid\x20idempotencyKey:\x20must\x20be\x20string\x201-'+MAX_IDEMPOTENCY_KEY_LENGTH+'\x20chars');return _0x122f5d;}[a0_0x4dc06d(0xc6)](_0x2fe3c8){const _0x525366=a0_0x4dc06d,_0x52517c={'ritoE':'IDGEN_INVALID_RESERVE_TTL'};if(_0x2fe3c8==null)return this['reserveDefaultTTL'];if(!Number[_0x525366(0x192)](_0x2fe3c8)||_0x2fe3c8<MIN_RESERVE_TTL||_0x2fe3c8>this['reserveMaxTTL'])throw new IdGeneratorError(_0x52517c[_0x525366(0xa0)],_0x525366(0x152)+MIN_RESERVE_TTL+'-'+this[_0x525366(0x11c)]+_0x525366(0x1b2)+_0x2fe3c8+')');return _0x2fe3c8;}[a0_0x4dc06d(0xec)](_0x18a32e){const _0x5724be=a0_0x4dc06d;if(typeof _0x18a32e!=='string'||!RESERVATION_TOKEN_REGEX['test'](_0x18a32e))throw new IdGeneratorError('IDGEN_INVALID_TOKEN',_0x5724be(0x16c)+JSON['stringify'](_0x18a32e)+')');return _0x18a32e;}['_pad2'](_0x3c4605){const _0x48023c=a0_0x4dc06d;return String(_0x3c4605)[_0x48023c(0x185)](0x2,'0');}['_buildFormatKey'](_0x2f0a5e,_0xd0bfab,_0x247e58=new Date()){const _0x487985=a0_0x4dc06d,_0x4ebbbe={'vsEGj':function(_0x4c50d0,_0x3a7f25){return _0x4c50d0||_0x3a7f25;},'qcKdS':'yyyymm'},_0x1356e6=_0x247e58[_0x487985(0xbb)](),_0x322475=this[_0x487985(0x181)](_0x247e58['getMonth']()+0x1),_0x10326c=this['_pad2'](_0x247e58[_0x487985(0x1ab)]()),_0x59e757=_0x4ebbbe[_0x487985(0xcd)](_0xd0bfab,'_');let _0x4d7bbe,_0x2e736c='';switch(_0x2f0a5e){case _0x487985(0x120):_0x4d7bbe=_0x59e757+'_text';break;case'yyyy':_0x2e736c=''+_0x1356e6,_0x4d7bbe=_0x59e757+'_yyyy_'+_0x2e736c;break;case _0x4ebbbe['qcKdS']:_0x2e736c=''+_0x1356e6+_0x322475,_0x4d7bbe=_0x59e757+'_yyyymm_'+_0x2e736c;break;case _0x487985(0x14c):_0x2e736c=''+_0x1356e6+_0x322475+_0x10326c,_0x4d7bbe=_0x59e757+'_yyyymmdd_'+_0x2e736c;break;default:throw new IdGeneratorError(_0x487985(0xa3),_0x487985(0x129)+_0x2f0a5e);}return{'formatKey':_0x4d7bbe,'datePrefix':_0x2e736c};}[a0_0x4dc06d(0x11a)](_0x20fc8a,_0x4ba78d){const _0xb32149=a0_0x4dc06d;return this[_0xb32149(0x10f)]+'seq:'+_0x20fc8a+':'+_0x4ba78d;}['_buildReuseKey'](_0x56ebac,_0x3aeac0){return this['keyPrefix']+'reuse:'+_0x56ebac+':'+_0x3aeac0;}['_buildMetaKey'](_0xdc29af,_0x2f1ce3){return this['keyPrefix']+'meta:'+_0xdc29af+':'+_0x2f1ce3;}[a0_0x4dc06d(0xf2)](_0x291e17){const _0x27b128=a0_0x4dc06d;return this[_0x27b128(0x10f)]+'issued:'+_0x291e17;}[a0_0x4dc06d(0x187)](_0x147beb,_0x1cd055){const _0x2c3d70=a0_0x4dc06d;return this['keyPrefix']+_0x2c3d70(0x12c)+_0x147beb+':'+_0x1cd055;}['_buildReservationKey'](_0xc3a361){const _0x290000=a0_0x4dc06d;return this['keyPrefix']+_0x290000(0x175)+_0xc3a361;}['_buildReservationIndexKey'](_0x544f11,_0x12827f){return this['keyPrefix']+'rsv_idx:'+_0x544f11+':'+_0x12827f;}['_buildReservationKeyPrefix'](){const _0x3f00ff=a0_0x4dc06d;return this[_0x3f00ff(0x10f)]+'rsv:';}['_buildIdemKey'](_0x116f6e,_0x30085e,_0x9f00f,_0x396a8e){const _0x566197=a0_0x4dc06d,_0x17602c={'SMSYy':'idgen'};if(_0x9f00f)return idempotencyManager[_0x566197(0x127)](_0x17602c[_0x566197(0x17a)],_0x116f6e,_0x30085e+':'+_0x9f00f+':'+_0x396a8e);return idempotencyManager['buildDeterministicKey']('idgen',_0x116f6e,_0x30085e+':'+_0x396a8e);}['_getCounterTTL'](_0x113739){return this['_counterTTLMap'][_0x113739]||0x0;}['_formatNumber']({format:_0x180364,prefix:_0x5ed08b,datePrefix:_0x2ac13b,separator:_0x2aa56f,numDigits:_0x4ec086,counterInt:_0x4af997}){const _0x4d214e=a0_0x4dc06d,_0x426fdd={'rQaDz':function(_0x4995cc,_0x35906d){return _0x4995cc-_0x35906d;},'tNgpK':_0x4d214e(0xc4)},_0x432c22=_0x426fdd[_0x4d214e(0x11f)](Math['pow'](0xa,_0x4ec086),0x1);if(_0x4af997>_0x432c22)throw new IdGeneratorError(_0x426fdd[_0x4d214e(0x16a)],'Counter\x20overflow:\x20'+_0x4af997+'\x20exceeds\x20'+_0x4ec086+_0x4d214e(0x1b3)+_0x432c22+').\x20Increase\x20numDigits.',{'counterInt':_0x4af997,'numDigits':_0x4ec086,'max':_0x432c22});const _0x2fbc7a=String(_0x4af997)[_0x4d214e(0x185)](_0x4ec086,'0');if(_0x180364===_0x4d214e(0x120))return _0x5ed08b?''+_0x5ed08b+_0x2aa56f+_0x2fbc7a:_0x2fbc7a;return _0x5ed08b?''+_0x5ed08b+_0x2aa56f+_0x2ac13b+_0x2aa56f+_0x2fbc7a:''+_0x2ac13b+_0x2aa56f+_0x2fbc7a;}['_parseNumber']({format:_0x28ae53,prefix:_0x58dc88,separator:_0x334f39,numDigits:_0x46252b,number:_0x5f5bde}){const _0x1487db=a0_0x4dc06d,_0x5b3676={'xzamu':function(_0x1e4f19,_0x38c816){return _0x1e4f19===_0x38c816;},'TLlNi':function(_0x5b74d6,_0x4978d2){return _0x5b74d6!==_0x4978d2;},'vuWZj':function(_0x4c90b8,_0x311d92){return _0x4c90b8!==_0x311d92;},'bLIOx':'IDGEN_INVALID_NUMBER','TzAtA':function(_0x26171d,_0x59b5d1){return _0x26171d!==_0x59b5d1;},'WfNba':function(_0x358f38,_0x25de5c){return _0x358f38===_0x25de5c;},'JYhob':'yyyy','PsDHS':function(_0x3a9ee3,_0x26c40c,_0x2188bb){return _0x3a9ee3(_0x26c40c,_0x2188bb);},'uRXUK':_0x1487db(0x120)};if(typeof _0x5f5bde!==_0x1487db(0x1a6)||_0x5b3676['xzamu'](_0x5f5bde['length'],0x0))throw new IdGeneratorError(_0x1487db(0x122),'Invalid\x20number:\x20must\x20be\x20non-empty\x20string');const _0xe42409=_0x334f39||'',_0x3ca1f1=_0x5b3676[_0x1487db(0x14f)](_0xe42409,'')?[_0x5f5bde]:_0x5f5bde[_0x1487db(0xe0)](_0xe42409);let _0x2bcdea='',_0x216f3c;if(_0x28ae53==='text'){if(_0x58dc88){if(_0x5b3676['TLlNi'](_0x3ca1f1['length'],0x2)||_0x5b3676['vuWZj'](_0x3ca1f1[0x0],_0x58dc88))throw new IdGeneratorError(_0x5b3676[_0x1487db(0x176)],'Number\x20does\x20not\x20match\x20expected\x20format\x20prefix'+_0xe42409+'padded\x20(got:\x20'+_0x5f5bde+')');_0x216f3c=_0x3ca1f1[0x1];}else{if(_0x5b3676['TzAtA'](_0x3ca1f1['length'],0x1))throw new IdGeneratorError(_0x5b3676[_0x1487db(0x176)],_0x1487db(0x1b0)+_0x5f5bde+')');_0x216f3c=_0x3ca1f1[0x0];}}else{const _0x54147f=_0x58dc88?0x3:0x2;if(_0x3ca1f1[_0x1487db(0x177)]!==_0x54147f)throw new IdGeneratorError(_0x5b3676['bLIOx'],'Number\x20does\x20not\x20match\x20expected\x20format\x20(got:\x20'+_0x5f5bde+',\x20expected\x20'+_0x54147f+_0x1487db(0x10c));let _0x280fce=0x0;if(_0x58dc88){if(_0x3ca1f1[_0x280fce]!==_0x58dc88)throw new IdGeneratorError(_0x1487db(0x122),'Number\x20prefix\x20mismatch:\x20expected\x20'+_0x58dc88+_0x1487db(0x1b1)+_0x3ca1f1[_0x280fce]);_0x280fce++;}_0x2bcdea=_0x3ca1f1[_0x280fce++];const _0x889129=_0x5b3676[_0x1487db(0x1b8)](_0x28ae53,_0x5b3676['JYhob'])?/^\d{4}$/:_0x28ae53===_0x1487db(0xc1)?/^\d{6}$/:/^\d{8}$/;if(!_0x889129[_0x1487db(0xee)](_0x2bcdea))throw new IdGeneratorError(_0x1487db(0x122),'Number\x20datePrefix\x20invalid\x20for\x20format\x20'+_0x28ae53+':\x20'+_0x2bcdea);_0x216f3c=_0x3ca1f1[_0x280fce];}if(!new RegExp(_0x1487db(0x167)+_0x46252b+'}$')['test'](_0x216f3c))throw new IdGeneratorError(_0x1487db(0x122),_0x1487db(0x197)+_0x46252b+_0x1487db(0xfe)+_0x216f3c+')');const _0x427294=_0x5b3676['PsDHS'](parseInt,_0x216f3c,0xa),_0x2a07b2=_0x58dc88||'_';let _0x590b65;return _0x28ae53===_0x5b3676['uRXUK']?_0x590b65=_0x2a07b2+_0x1487db(0xfa):_0x590b65=_0x2a07b2+'_'+_0x28ae53+'_'+_0x2bcdea,{'formatKey':_0x590b65,'counterInt':_0x427294,'datePrefix':_0x2bcdea};}['_generateFromPattern'](_0x51e69c){const _0x7acbfb=a0_0x4dc06d;let _0x233c68='';for(const _0xcaba32 of _0x51e69c){const _0x5a31b2=PLACEHOLDER_MAP[_0xcaba32];if(_0x5a31b2){const _0x3cb29f=crypto[_0x7acbfb(0x147)](0x0,_0x5a31b2['length']);_0x233c68+=_0x5a31b2[_0x3cb29f];}else _0x233c68+=_0xcaba32;}return _0x233c68;}async[a0_0x4dc06d(0x19f)](_0x1a216c){const _0x42dc94=a0_0x4dc06d,_0x18126e={'eHzln':'idgen_idem_hit','nVzKk':'Idempotency\x20retrieve\x20error'};if(!_0x1a216c)return null;try{const _0x513797=redisClient['getClient'](),_0x1ffa9a=await _0x513797['get'](_0x1a216c);if(_0x1ffa9a)return logger[_0x42dc94(0xcb)]({'event':_0x18126e['eHzln'],'key':_0x1a216c},'Idempotency\x20cache\x20HIT'),JSON[_0x42dc94(0x195)](_0x1ffa9a);return null;}catch(_0x123972){return logger['warn']({'event':'idgen_idem_retrieve_error','error':_0x123972['message']},_0x18126e[_0x42dc94(0x114)]),null;}}async[a0_0x4dc06d(0x1ac)](_0x41f637,_0x133a70){const _0xaef46c=a0_0x4dc06d;if(!_0x41f637)return;try{const _0x5b262e=redisClient['getClient']();await _0x5b262e[_0xaef46c(0x1a7)](_0x41f637,this['idemTTL'],JSON['stringify'](_0x133a70));}catch(_0x1fb36b){logger['warn']({'event':_0xaef46c(0x121),'error':_0x1fb36b['message']},_0xaef46c(0x19d));}}async[a0_0x4dc06d(0xa8)](_0x36a6a5,_0x44b639){const _0x16141e=a0_0x4dc06d,_0x39e3d8={'qLEad':function(_0x46afa5,_0x274781){return _0x46afa5===_0x274781;},'EpOsQ':_0x16141e(0x110),'JpvWD':'Idempotency\x20SET\x20NX\x20error'};if(!_0x36a6a5)return{'stored':!![],'winnerResult':null};try{const _0x5d0e26=redisClient[_0x16141e(0xbd)](),_0x398034=JSON[_0x16141e(0x111)](_0x44b639),_0x35c107=await _0x5d0e26[_0x16141e(0x1a0)](_0x36a6a5,_0x398034,'EX',this['idemTTL'],'NX');if(_0x39e3d8['qLEad'](_0x35c107,'OK'))return{'stored':!![],'winnerResult':null};const _0x5cbc76=await _0x5d0e26[_0x16141e(0x14b)](_0x36a6a5);if(_0x5cbc76)return{'stored':![],'winnerResult':JSON['parse'](_0x5cbc76)};return logger['warn']({'event':'idgen_idem_nx_race_lost_but_empty','key':_0x36a6a5},_0x39e3d8['EpOsQ']),{'stored':!![],'winnerResult':null};}catch(_0xd822dc){return logger[_0x16141e(0x15b)]({'event':_0x16141e(0xda),'error':_0xd822dc[_0x16141e(0xd1)]},_0x39e3d8['JpvWD']),{'stored':!![],'winnerResult':null};}}async['_undoRandomReservation'](_0x500ec0,_0x37b7b0,_0x16cb70){const _0x1ca067=a0_0x4dc06d,_0x7f3eab={'szyIj':'idgen_random_undo_error','yukfo':'Random\x20reservation\x20undo\x20error\x20(orphan\x20slot\x20may\x20remain)'};try{const _0x16c94b=redisClient[_0x1ca067(0xbd)]();if(_0x16cb70){const _0x18fe1e=this['_buildActiveKey'](_0x500ec0,_0x37b7b0);await _0x16c94b['del'](_0x18fe1e);}else{const _0x5d26f9=this[_0x1ca067(0xf2)](_0x500ec0);await _0x16c94b[_0x1ca067(0x132)](_0x5d26f9,_0x37b7b0);}}catch(_0x2b2c90){logger['warn']({'event':_0x7f3eab['szyIj'],'error':_0x2b2c90['message']},_0x7f3eab['yukfo']);}}async[a0_0x4dc06d(0x19e)](_0x1d9bdb,_0x149153,_0x44a909,_0x2911fb=0x0){const _0x10b1e1=a0_0x4dc06d,_0x2f9645={'rlTvo':function(_0xede001,_0x3c185e){return _0xede001>_0x3c185e;},'MYOya':'idgen_meta_update_error','ITWPJ':'Meta\x20update\x20error'};try{const _0x5dcc96=redisClient[_0x10b1e1(0xbd)](),_0x1031a1=this[_0x10b1e1(0x162)](_0x1d9bdb,_0x149153),_0x2bf2ef=[];for(const [_0x142e05,_0x165b73]of Object['entries'](_0x44a909)){_0x2bf2ef[_0x10b1e1(0xc0)](_0x142e05,String(_0x165b73));}if(_0x2bf2ef['length']>0x0){await _0x5dcc96[_0x10b1e1(0xb8)](_0x1031a1,..._0x2bf2ef);if(_0x2f9645[_0x10b1e1(0xe5)](_0x2911fb,0x0))await _0x5dcc96[_0x10b1e1(0x12e)](_0x1031a1,_0x2911fb);}}catch(_0x19d221){logger['warn']({'event':_0x2f9645['MYOya'],'error':_0x19d221[_0x10b1e1(0xd1)]},_0x2f9645['ITWPJ']);}}async['number'](_0x2eba5d){const _0x1bfce2=a0_0x4dc06d,_0x50391a={'sOUMu':_0x1bfce2(0xd4),'XQnAG':function(_0x3767bd,_0x15187a){return _0x3767bd(_0x15187a);},'XDhjC':function(_0x434720,_0x4ce543){return _0x434720(_0x4ce543);},'HfedX':function(_0x445eeb,_0x59267b){return _0x445eeb(_0x59267b);},'bvfiG':_0x1bfce2(0xa6),'OZDWZ':_0x1bfce2(0xbf)};if(!this['enabled'])throw new IdGeneratorError(_0x50391a['sOUMu'],_0x1bfce2(0xeb));const _0x56a9ea=this[_0x1bfce2(0x161)](_0x2eba5d),_0x43c3ae=this['_validateIdempotencyKey'](_0x2eba5d['idempotencyKey']),{resource:_0x16460c,format:_0x40a8cf,prefix:_0x2d0927,separator:_0x412a9d,numDigits:_0x1a7f3e,reuseDelete:_0x262634}=_0x56a9ea,{formatKey:_0x16ae54,datePrefix:_0x184dcd}=this['_buildFormatKey'](_0x40a8cf,_0x2d0927),_0x4ae8ce=this[_0x1bfce2(0x11a)](_0x16460c,_0x16ae54),_0x7c571d=this['_buildReuseKey'](_0x16460c,_0x16ae54),_0x5a0fad=this['_getCounterTTL'](_0x40a8cf);let _0x47d9d9=null;if(_0x43c3ae){_0x47d9d9=this['_buildIdemKey'](_0x1bfce2(0x170),_0x16460c,_0x16ae54,_0x43c3ae);const _0x4f56cc=await this[_0x1bfce2(0x19f)](_0x47d9d9);if(_0x4f56cc)return _0x4f56cc;}const _0x408400=redisClient[_0x1bfce2(0xbd)](),_0x47ce65=await _0x408400['eval'](LUA_GENERATE_NUMBER,0x2,_0x4ae8ce,_0x7c571d,_0x262634?'1':'0',_0x50391a['XQnAG'](String,_0x5a0fad)),_0x378722=_0x47ce65[0x0],_0x322dc2=_0x47ce65[0x1]===0x1,_0x1484d6=this['_formatNumber']({'format':_0x40a8cf,'prefix':_0x2d0927,'datePrefix':_0x184dcd,'separator':_0x412a9d,'numDigits':_0x1a7f3e,'counterInt':_0x378722}),_0x43eb3b={'value':_0x1484d6,'counter':_0x378722,'resource':_0x16460c,'formatKey':_0x16ae54,'isReused':_0x322dc2,'generatedAt':new Date()[_0x1bfce2(0x1a9)]()},_0x5db52e=await this[_0x1bfce2(0xa8)](_0x47d9d9,_0x43eb3b);if(!_0x5db52e['stored']){try{await _0x408400[_0x1bfce2(0x17d)](LUA_RELEASE_NUMBER,0x1,_0x7c571d,_0x50391a[_0x1bfce2(0x186)](String,_0x378722),_0x50391a[_0x1bfce2(0xd0)](String,_0x5a0fad));}catch(_0x3a42a9){logger[_0x1bfce2(0x15b)]({'event':'idgen_idem_loser_release_error','error':_0x3a42a9['message'],'resource':_0x16460c,'formatKey':_0x16ae54,'counterInt':_0x378722},_0x50391a[_0x1bfce2(0x164)]);}return logger['info']({'event':_0x50391a['OZDWZ'],'resource':_0x16460c,'formatKey':_0x16ae54,'counter':_0x378722},'ID\x20Generator\x20number\x20idem\x20race\x20lost,\x20returning\x20winner\x20envelope'),_0x5db52e['winnerResult'];}return this[_0x1bfce2(0x19e)](_0x16460c,_0x16ae54,{'lastValue':_0x1484d6,'lastCounter':_0x378722,'lastIsReused':_0x322dc2,'lastGeneratedAt':_0x43eb3b[_0x1bfce2(0x180)]},_0x5a0fad),logger['info']({'event':_0x1bfce2(0x16f),'resource':_0x16460c,'formatKey':_0x16ae54,'counter':_0x378722,'isReused':_0x322dc2},_0x1bfce2(0xac)+_0x1484d6),_0x43eb3b;}async[a0_0x4dc06d(0x1af)](_0x18fa55){const _0xcfb9c=a0_0x4dc06d,_0xe06fea={'CqYAy':_0xcfb9c(0xd4),'AMkqj':_0xcfb9c(0x178),'OFJJj':function(_0xec7d44,_0x44f580){return _0xec7d44!==_0x44f580;},'afExn':function(_0x3a874a,_0x54a451){return _0x3a874a!==_0x54a451;},'hOgaJ':_0xcfb9c(0x1a6),'bulas':_0xcfb9c(0x122),'iLAVn':'release','cloCw':function(_0x146a92,_0x235b3c){return _0x146a92(_0x235b3c);},'GHpfF':function(_0x3d269a,_0x3ff62f){return _0x3d269a(_0x3ff62f);},'vkbaP':_0xcfb9c(0x14a)};if(!this['enabled'])throw new IdGeneratorError(_0xe06fea['CqYAy'],_0xe06fea[_0xcfb9c(0x143)]);let _0x1ecc0,_0xa3fc15,_0x51f066,_0x11d2ae;const _0x3ad83d=this['_validateIdempotencyKey'](_0x18fa55[_0xcfb9c(0x190)]);if(_0xe06fea['OFJJj'](_0x18fa55['counterInt'],undefined)&&_0xe06fea[_0xcfb9c(0x183)](_0x18fa55[_0xcfb9c(0x10d)],null)){this['_validateResource'](_0x18fa55['resource']),_0x1ecc0=_0x18fa55[_0xcfb9c(0x1a8)];if(typeof _0x18fa55['formatKey']!==_0xe06fea['hOgaJ']||_0x18fa55[_0xcfb9c(0x163)][_0xcfb9c(0x177)]===0x0)throw new IdGeneratorError(_0xe06fea['bulas'],_0xcfb9c(0x13c));_0xa3fc15=_0x18fa55[_0xcfb9c(0x163)];if(!Number[_0xcfb9c(0x192)](_0x18fa55[_0xcfb9c(0x10d)])||_0x18fa55['counterInt']<0x1)throw new IdGeneratorError(_0xe06fea['bulas'],'counterInt\x20must\x20be\x20positive\x20integer\x20(got:\x20'+_0x18fa55['counterInt']+')');_0x51f066=_0x18fa55['counterInt'];const _0xfc5665=_0xa3fc15['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/);_0x11d2ae=_0xfc5665?_0xfc5665[0x1]:_0xcfb9c(0x120);}else{const _0x3dc464=this['_validateNumberParams'](_0x18fa55),_0x26acb1=this['_parseNumber']({'format':_0x3dc464['format'],'prefix':_0x3dc464['prefix'],'separator':_0x3dc464[_0xcfb9c(0x117)],'numDigits':_0x3dc464[_0xcfb9c(0x13a)],'number':_0x18fa55['number']});_0x1ecc0=_0x3dc464[_0xcfb9c(0x1a8)],_0xa3fc15=_0x26acb1[_0xcfb9c(0x163)],_0x51f066=_0x26acb1['counterInt'],_0x11d2ae=_0x3dc464[_0xcfb9c(0xb0)];}const _0x4b11e9=this['_buildReuseKey'](_0x1ecc0,_0xa3fc15),_0x2da0bb=this[_0xcfb9c(0xe7)](_0x11d2ae);let _0x823108=null;if(_0x3ad83d){_0x823108=this['_buildIdemKey'](_0xe06fea[_0xcfb9c(0xb6)],_0x1ecc0,_0xa3fc15,_0x3ad83d);const _0x1d4566=await this[_0xcfb9c(0x19f)](_0x823108);if(_0x1d4566)return _0x1d4566;}const _0x147145=redisClient['getClient']();await _0x147145[_0xcfb9c(0x17d)](LUA_RELEASE_NUMBER,0x1,_0x4b11e9,_0xe06fea[_0xcfb9c(0x1ae)](String,_0x51f066),_0xe06fea['GHpfF'](String,_0x2da0bb));const _0x41f9d8={'released':!![],'resource':_0x1ecc0,'formatKey':_0xa3fc15,'counter':_0x51f066,'releasedAt':new Date()['toISOString']()};return await this['_storeIdemCache'](_0x823108,_0x41f9d8),this[_0xcfb9c(0x19e)](_0x1ecc0,_0xa3fc15,{'lastReleasedCounter':_0x51f066,'lastReleasedAt':_0x41f9d8[_0xcfb9c(0x1a3)]},_0x2da0bb),logger['info']({'event':_0xe06fea[_0xcfb9c(0x18d)],'resource':_0x1ecc0,'formatKey':_0xa3fc15,'counter':_0x51f066},_0xcfb9c(0x125)+_0x51f066),_0x41f9d8;}async['reserveNumber'](_0x443564){const _0xdaaa7d=a0_0x4dc06d,_0x22225e={'ahDPT':'reserve','rbmBR':function(_0x1cc8ce,_0x234f1e){return _0x1cc8ce*_0x234f1e;},'Qlhzh':function(_0x3e76e4,_0x3d20a7){return _0x3e76e4*_0x3d20a7;},'BDjBD':_0xdaaa7d(0x1a8),'DtXwd':'prefix','fMqPF':_0xdaaa7d(0x117),'DNdDX':'numDigits','nyTWi':function(_0x58bb80,_0x158427){return _0x58bb80(_0x158427);},'mSbRP':function(_0x30058c,_0x144548){return _0x30058c||_0x144548;},'fdYDY':_0xdaaa7d(0xfc),'ROuxA':'idemKey','ddcAy':function(_0x2e17f7,_0x887085){return _0x2e17f7===_0x887085;},'jYXFm':function(_0x43e070,_0x5b3df3){return _0x43e070(_0x5b3df3);},'OjWqI':'idgen_reserve_overflow_compensation_error','fdGTq':'Failed\x20to\x20compensate\x20reservation\x20after\x20counter\x20overflow','dVFHG':'value','FGfWo':'Failed\x20to\x20persist\x20formatted\x20value\x20to\x20reservation\x20hash','XRGsz':'idgen_reserve_idem_loser_cancel_error','HNcqX':_0xdaaa7d(0x136),'WQZHC':'idgen_reserve_idem_loser'};if(!this['enabled'])throw new IdGeneratorError('IDGEN_DISABLED',_0xdaaa7d(0xeb));const _0x23dbfa=this[_0xdaaa7d(0x161)](_0x443564),_0x1a8a70=this[_0xdaaa7d(0xc6)](_0x443564[_0xdaaa7d(0x105)]),_0x4570ea=this['_validateIdempotencyKey'](_0x443564[_0xdaaa7d(0x190)]),{resource:_0x47a96f,format:_0x50dac4,prefix:_0x2e5e18,separator:_0x513901,numDigits:_0x16b232,reuseDelete:_0x408fc1}=_0x23dbfa,{formatKey:_0x40fda7,datePrefix:_0x6f0cc6}=this['_buildFormatKey'](_0x50dac4,_0x2e5e18),_0x163bb1=this['_buildSeqKey'](_0x47a96f,_0x40fda7),_0x1b8cb5=this['_buildReuseKey'](_0x47a96f,_0x40fda7),_0x1b57ce=this[_0xdaaa7d(0x115)](_0x47a96f,_0x40fda7),_0x1f3ba6=this['_getCounterTTL'](_0x50dac4);let _0x2640d8=null;if(_0x4570ea){_0x2640d8=this['_buildIdemKey'](_0x22225e['ahDPT'],_0x47a96f,_0x40fda7,_0x4570ea);const _0xe33071=await this[_0xdaaa7d(0x19f)](_0x2640d8);if(_0xe33071)return _0xe33071;}const _0x2eac62=crypto['randomUUID'](),_0x5006ff=this[_0xdaaa7d(0x116)](_0x2eac62),_0xa7c259=this['_buildReservationKeyPrefix'](),_0x16174f=Date['now'](),_0x5d0e18=_0x16174f+_0x22225e[_0xdaaa7d(0x134)](_0x1a8a70,0x3e8),_0x2ec7b8=_0x22225e[_0xdaaa7d(0x198)](_0x1a8a70,0x3e8),_0x215cb8=new Date(_0x16174f)[_0xdaaa7d(0x1a9)](),_0x21d12c=new Date(_0x5d0e18)['toISOString'](),_0x352e68=[_0x22225e[_0xdaaa7d(0xc2)],_0x47a96f,'formatKey',_0x40fda7,_0xdaaa7d(0xb0),_0x50dac4,_0x22225e['DtXwd'],_0x2e5e18,_0x22225e[_0xdaaa7d(0x139)],_0x513901,_0x22225e[_0xdaaa7d(0x174)],_0x22225e[_0xdaaa7d(0x100)](String,_0x16b232),_0xdaaa7d(0x18b),_0x22225e[_0xdaaa7d(0x18c)](_0x6f0cc6,''),_0x22225e[_0xdaaa7d(0xde)],_0x215cb8,'expiresAt',_0x21d12c,'ttlMs',String(_0x2ec7b8)];_0x4570ea&&_0x352e68[_0xdaaa7d(0xc0)](_0x22225e[_0xdaaa7d(0x171)],_0x4570ea);const _0x4c19f8=redisClient[_0xdaaa7d(0xbd)](),_0x491575=await _0x4c19f8[_0xdaaa7d(0x17d)](LUA_RESERVE_NUMBER,0x3,_0x163bb1,_0x1b8cb5,_0x1b57ce,_0x408fc1?'1':'0',_0x22225e[_0xdaaa7d(0x100)](String,_0x1f3ba6),_0x2eac62,_0x5006ff,String(_0x2ec7b8),_0x22225e[_0xdaaa7d(0x100)](String,_0x5d0e18),_0x22225e['nyTWi'](String,_0x16174f),_0xa7c259,..._0x352e68),_0x5a1817=_0x491575[0x0],_0x55ca7d=_0x22225e[_0xdaaa7d(0xcf)](_0x491575[0x1],0x1),_0x208c1d=_0x491575[0x2]||0x0;let _0x13f3d0;try{_0x13f3d0=this[_0xdaaa7d(0x118)]({'format':_0x50dac4,'prefix':_0x2e5e18,'datePrefix':_0x6f0cc6,'separator':_0x513901,'numDigits':_0x16b232,'counterInt':_0x5a1817});}catch(_0x5c26ba){try{await _0x4c19f8['eval'](LUA_CANCEL_RESERVATION,0x3,_0x5006ff,_0x1b57ce,_0x1b8cb5,_0x2eac62,_0x22225e['jYXFm'](String,_0x1f3ba6));}catch(_0x13e678){logger['warn']({'event':_0x22225e['OjWqI'],'error':_0x13e678['message'],'resource':_0x47a96f,'formatKey':_0x40fda7,'counterInt':_0x5a1817,'token':_0x2eac62},_0x22225e[_0xdaaa7d(0x179)]);}throw _0x5c26ba;}try{await _0x4c19f8['hset'](_0x5006ff,_0x22225e[_0xdaaa7d(0x13d)],_0x13f3d0);}catch(_0x51e4c1){logger['warn']({'event':'idgen_reserve_value_persist_error','error':_0x51e4c1[_0xdaaa7d(0xd1)],'resource':_0x47a96f,'formatKey':_0x40fda7,'counterInt':_0x5a1817,'token':_0x2eac62},_0x22225e['FGfWo']);}const _0x59a9ed={'token':_0x2eac62,'value':_0x13f3d0,'counter':_0x5a1817,'resource':_0x47a96f,'formatKey':_0x40fda7,'isReused':_0x55ca7d,'createdAt':_0x215cb8,'expiresAt':_0x21d12c,'reapedCount':_0x208c1d},_0x48bb64=await this[_0xdaaa7d(0xa8)](_0x2640d8,_0x59a9ed);if(!_0x48bb64['stored']){try{await _0x4c19f8[_0xdaaa7d(0x17d)](LUA_CANCEL_RESERVATION,0x3,_0x5006ff,_0x1b57ce,_0x1b8cb5,_0x2eac62,String(_0x1f3ba6));}catch(_0x3d3d17){logger['warn']({'event':_0x22225e['XRGsz'],'error':_0x3d3d17[_0xdaaa7d(0xd1)],'resource':_0x47a96f,'formatKey':_0x40fda7,'counterInt':_0x5a1817,'token':_0x2eac62},_0x22225e[_0xdaaa7d(0x166)]);}return logger['info']({'event':_0x22225e['WQZHC'],'resource':_0x47a96f,'formatKey':_0x40fda7,'counter':_0x5a1817,'token':_0x2eac62},'ID\x20Generator\x20reserve\x20idem\x20race\x20lost,\x20returning\x20winner\x20envelope'),_0x48bb64['winnerResult'];}return this[_0xdaaa7d(0x19e)](_0x47a96f,_0x40fda7,{'lastReservedCounter':_0x5a1817,'lastReservedAt':_0x215cb8,'lastReapedCount':_0x208c1d},_0x1f3ba6),logger['info']({'event':'idgen_number_reserved','resource':_0x47a96f,'formatKey':_0x40fda7,'counter':_0x5a1817,'isReused':_0x55ca7d,'token':_0x2eac62,'ttl':_0x1a8a70,'reapedCount':_0x208c1d},_0xdaaa7d(0xaa)+_0x13f3d0+_0xdaaa7d(0xb9)+_0x2eac62+')'),_0x59a9ed;}async['confirmReservation'](_0x355c88){const _0x2b2943=a0_0x4dc06d,_0x347982={'vbvwT':'IDGEN_DISABLED','sSnrW':function(_0x59bc64,_0x3daba1,_0x4f1f18){return _0x59bc64(_0x3daba1,_0x4f1f18);}};if(!this[_0x2b2943(0xca)])throw new IdGeneratorError(_0x347982['vbvwT'],'ID\x20Generator\x20is\x20disabled');const _0x3911a3=this[_0x2b2943(0xec)](_0x355c88&&_0x355c88[_0x2b2943(0x12f)]),_0x36a168=this['_validateIdempotencyKey'](_0x355c88&&_0x355c88[_0x2b2943(0x190)]);let _0x32b4f6=null;if(_0x36a168){_0x32b4f6=idempotencyManager[_0x2b2943(0x127)](_0x2b2943(0x19a),_0x2b2943(0x9f),_0x3911a3+':'+_0x36a168);const _0x1db1c3=await this[_0x2b2943(0x19f)](_0x32b4f6);if(_0x1db1c3)return _0x1db1c3;}const _0x19e4ec=await this[_0x2b2943(0x15d)](_0x3911a3),_0x10c5d6=redisClient['getClient'](),_0x2ffb28=await _0x10c5d6[_0x2b2943(0x17d)](LUA_CONFIRM_RESERVATION,0x2,_0x19e4ec['rsvKey'],_0x19e4ec[_0x2b2943(0x137)],_0x3911a3);if(!_0x2ffb28||_0x2ffb28[0x0]!==0x1)throw new IdGeneratorError('IDGEN_RESERVATION_NOT_FOUND',_0x2b2943(0xa9)+_0x3911a3,{'token':_0x3911a3});const _0x33fb84=_0x347982['sSnrW'](parseInt,_0x2ffb28[0x1],0xa),_0x286167=_0x2ffb28[0x2],_0x23f196=_0x2ffb28[0x3],_0xef9813=new Date()['toISOString'](),_0x35cebb={'confirmed':!![],'token':_0x3911a3,'value':_0x286167,'counter':_0x33fb84,'resource':_0x19e4ec['resource'],'formatKey':_0x23f196,'confirmedAt':_0xef9813};await this[_0x2b2943(0x1ac)](_0x32b4f6,_0x35cebb);const _0x411a3b=_0x23f196['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x48a73b=_0x411a3b?_0x411a3b[0x1]:_0x2b2943(0x120),_0x2979f0=this[_0x2b2943(0xe7)](_0x48a73b);return this['_updateMeta'](_0x19e4ec['resource'],_0x23f196,{'lastConfirmedCounter':_0x33fb84,'lastConfirmedAt':_0xef9813},_0x2979f0),logger['info']({'event':_0x2b2943(0x113),'resource':_0x19e4ec[_0x2b2943(0x1a8)],'formatKey':_0x23f196,'counter':_0x33fb84,'token':_0x3911a3},'ID\x20Generator\x20reservation\x20confirmed:\x20'+_0x286167+'\x20(token='+_0x3911a3+')'),_0x35cebb;}async[a0_0x4dc06d(0x165)](_0x48f20f){const _0x46c546=a0_0x4dc06d,_0x1cfdef={'Opahb':'IDGEN_DISABLED','EzaIK':_0x46c546(0x19a),'uUgDF':function(_0x41ebc6,_0x5c2c41){return _0x41ebc6(_0x5c2c41);},'rixCl':function(_0x4db259,_0xced456){return _0x4db259!==_0xced456;},'AgKfv':_0x46c546(0x12b),'ZgjIN':function(_0x4315c0,_0x1aafb6,_0xc115bf){return _0x4315c0(_0x1aafb6,_0xc115bf);}};if(!this['enabled'])throw new IdGeneratorError(_0x1cfdef['Opahb'],'ID\x20Generator\x20is\x20disabled');const _0x207c6d=this['_validateReservationToken'](_0x48f20f&&_0x48f20f[_0x46c546(0x12f)]),_0x59e3d6=this['_validateIdempotencyKey'](_0x48f20f&&_0x48f20f['idempotencyKey']);let _0x30d368=null;if(_0x59e3d6){_0x30d368=idempotencyManager[_0x46c546(0x127)](_0x1cfdef[_0x46c546(0xdf)],'reserve_cancel',_0x207c6d+':'+_0x59e3d6);const _0x3babd4=await this[_0x46c546(0x19f)](_0x30d368);if(_0x3babd4)return _0x3babd4;}const _0x443d89=await this['_getReservationContext'](_0x207c6d),_0x7cda93=this['_buildReuseKey'](_0x443d89[_0x46c546(0x1a8)],_0x443d89['formatKey']),_0x9703b3=_0x443d89[_0x46c546(0x163)]['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x422653=_0x9703b3?_0x9703b3[0x1]:'text',_0x4b5e3d=this['_getCounterTTL'](_0x422653),_0x342bd4=redisClient['getClient'](),_0x2da410=await _0x342bd4['eval'](LUA_CANCEL_RESERVATION,0x3,_0x443d89['rsvKey'],_0x443d89['rsvIdxKey'],_0x7cda93,_0x207c6d,_0x1cfdef['uUgDF'](String,_0x4b5e3d));if(!_0x2da410||_0x1cfdef[_0x46c546(0x16d)](_0x2da410[0x0],0x1))throw new IdGeneratorError(_0x1cfdef['AgKfv'],'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x207c6d,{'token':_0x207c6d});const _0x1c9d1d=_0x1cfdef['ZgjIN'](parseInt,_0x2da410[0x1],0xa),_0x305340=_0x2da410[0x2],_0x1d5b1d=_0x2da410[0x3],_0x2784cc=new Date()[_0x46c546(0x1a9)](),_0x10bf79={'cancelled':!![],'token':_0x207c6d,'value':_0x305340,'counter':_0x1c9d1d,'resource':_0x443d89['resource'],'formatKey':_0x1d5b1d,'releasedToReuse':!![],'cancelledAt':_0x2784cc};return await this['_storeIdemCache'](_0x30d368,_0x10bf79),this[_0x46c546(0x19e)](_0x443d89['resource'],_0x1d5b1d,{'lastCancelledCounter':_0x1c9d1d,'lastCancelledAt':_0x2784cc},_0x4b5e3d),logger['info']({'event':'idgen_reservation_cancelled','resource':_0x443d89[_0x46c546(0x1a8)],'formatKey':_0x1d5b1d,'counter':_0x1c9d1d,'token':_0x207c6d},_0x46c546(0xf5)+_0x305340+'\x20(token='+_0x207c6d+')'),_0x10bf79;}async['extendReservation'](_0x463528){const _0xc1e60b=a0_0x4dc06d,_0x359acd={'ioZwL':'reserve_extend','BMLCG':function(_0x30b406,_0x2f7e14){return _0x30b406*_0x2f7e14;},'WDOnS':'text'};if(!this[_0xc1e60b(0xca)])throw new IdGeneratorError('IDGEN_DISABLED','ID\x20Generator\x20is\x20disabled');const _0x16eb50=this[_0xc1e60b(0xec)](_0x463528&&_0x463528[_0xc1e60b(0x12f)]),_0x49fe9a=this[_0xc1e60b(0xc6)](_0x463528&&_0x463528[_0xc1e60b(0x105)]),_0x21175d=this[_0xc1e60b(0x1a5)](_0x463528&&_0x463528['idempotencyKey']);let _0x303351=null;if(_0x21175d){_0x303351=idempotencyManager[_0xc1e60b(0x127)](_0xc1e60b(0x19a),_0x359acd['ioZwL'],_0x16eb50+':'+_0x21175d);const _0x53a1ce=await this[_0xc1e60b(0x19f)](_0x303351);if(_0x53a1ce)return _0x53a1ce;}const _0x45795d=await this[_0xc1e60b(0x15d)](_0x16eb50),_0x11e35a=Date['now'](),_0x50343e=_0x11e35a+_0x359acd[_0xc1e60b(0xa2)](_0x49fe9a,0x3e8),_0x44ca2e=_0x49fe9a*0x3e8,_0x475afa=new Date(_0x50343e)['toISOString'](),_0x1a1759=redisClient[_0xc1e60b(0xbd)](),_0x5e81ca=await _0x1a1759[_0xc1e60b(0x17d)](LUA_EXTEND_RESERVATION,0x2,_0x45795d['rsvKey'],_0x45795d[_0xc1e60b(0x137)],_0x16eb50,String(_0x44ca2e),String(_0x50343e),_0x475afa);if(!_0x5e81ca||_0x5e81ca[0x0]!==0x1)throw new IdGeneratorError(_0xc1e60b(0x12b),'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x16eb50,{'token':_0x16eb50});const _0x18b282=_0x5e81ca[0x1],_0x12f8d2=parseInt(_0x5e81ca[0x2],0xa),_0x1581d0=_0x5e81ca[0x3],_0x3bd756=_0x5e81ca[0x4],_0xb75700=new Date(_0x11e35a)[_0xc1e60b(0x1a9)](),_0x529518={'extended':!![],'token':_0x16eb50,'previousExpiresAt':_0x18b282,'expiresAt':_0x475afa,'ttlMs':_0x44ca2e,'resource':_0x45795d[_0xc1e60b(0x1a8)],'formatKey':_0x3bd756,'counter':_0x12f8d2,'value':_0x1581d0,'extendedAt':_0xb75700};await this[_0xc1e60b(0x1ac)](_0x303351,_0x529518);const _0x489e87=_0x3bd756[_0xc1e60b(0x10e)](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x2bc83e=_0x489e87?_0x489e87[0x1]:_0x359acd['WDOnS'],_0x3649a2=this[_0xc1e60b(0xe7)](_0x2bc83e);return this[_0xc1e60b(0x19e)](_0x45795d[_0xc1e60b(0x1a8)],_0x3bd756,{'lastExtendedCounter':_0x12f8d2,'lastExtendedAt':_0xb75700},_0x3649a2),logger['info']({'event':'idgen_reservation_extended','resource':_0x45795d['resource'],'formatKey':_0x3bd756,'counter':_0x12f8d2,'token':_0x16eb50,'ttl':_0x49fe9a},'ID\x20Generator\x20reservation\x20extended:\x20'+_0x1581d0+'\x20(token='+_0x16eb50+',\x20+'+_0x49fe9a+'s)'),_0x529518;}async[a0_0x4dc06d(0x189)](_0x5da9fb){const _0x4f2356=a0_0x4dc06d,_0x473803={'sdEvL':'IDGEN_DISABLED','Vczop':'IDGEN_RESERVATION_NOT_FOUND','eFBgU':function(_0x274057,_0x40eec1){return _0x274057===_0x40eec1;},'ufkGS':_0x4f2356(0x170),'gEFOB':function(_0xc2dea6,_0x482095){return _0xc2dea6>=_0x482095;}};if(!this[_0x4f2356(0xca)])throw new IdGeneratorError(_0x473803[_0x4f2356(0x108)],'ID\x20Generator\x20is\x20disabled');const _0x4aaa68=this['_validateReservationToken'](_0x5da9fb&&_0x5da9fb['token']),_0x2370c5=this['_buildReservationKey'](_0x4aaa68),_0x5761e4=redisClient['getClient'](),_0x4276d3=_0x5761e4[_0x4f2356(0xd9)]();_0x4276d3[_0x4f2356(0xa5)](_0x2370c5),_0x4276d3[_0x4f2356(0x104)](_0x2370c5);const _0xb1e9ab=await _0x4276d3[_0x4f2356(0x15f)](),_0x1f5684=_0xb1e9ab&&_0xb1e9ab[0x0]&&_0xb1e9ab[0x0][0x1],_0x333d29=_0xb1e9ab&&_0xb1e9ab[0x1]&&_0xb1e9ab[0x1][0x1];if(!_0x1f5684||Object['keys'](_0x1f5684)[_0x4f2356(0x177)]===0x0)throw new IdGeneratorError(_0x473803['Vczop'],_0x4f2356(0xa9)+_0x4aaa68,{'token':_0x4aaa68});return{'token':_0x4aaa68,'resource':_0x1f5684['resource']||null,'formatKey':_0x1f5684['formatKey']||null,'format':_0x1f5684['format']||null,'prefix':_0x1f5684['prefix']||'','separator':_0x1f5684['separator']||'','numDigits':_0x1f5684['numDigits']?parseInt(_0x1f5684[_0x4f2356(0x13a)],0xa):null,'datePrefix':_0x1f5684[_0x4f2356(0x18b)]||'','counter':_0x1f5684[_0x4f2356(0x11d)]?parseInt(_0x1f5684[_0x4f2356(0x11d)],0xa):null,'value':_0x1f5684[_0x4f2356(0x157)]||null,'isReused':_0x473803[_0x4f2356(0x10a)](_0x1f5684[_0x4f2356(0x193)],'1')||_0x1f5684['isReused']===0x1,'createdAt':_0x1f5684['createdAt']||null,'expiresAt':_0x1f5684['expiresAt']||null,'ttlRemainingMs':typeof _0x333d29===_0x473803[_0x4f2356(0xfd)]&&_0x473803['gEFOB'](_0x333d29,0x0)?_0x333d29:null};}async['_getReservationContext'](_0x1b8256){const _0x504a66=a0_0x4dc06d,_0x2cedf2=this['_buildReservationKey'](_0x1b8256),_0x5e5987=redisClient[_0x504a66(0xbd)](),_0x46b656=await _0x5e5987['hmget'](_0x2cedf2,'resource',_0x504a66(0x163)),_0x2fb36e=_0x46b656&&_0x46b656[0x0],_0x391ede=_0x46b656&&_0x46b656[0x1];if(!_0x2fb36e||!_0x391ede)throw new IdGeneratorError(_0x504a66(0x12b),'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x1b8256,{'token':_0x1b8256});return{'resource':_0x2fb36e,'formatKey':_0x391ede,'rsvKey':_0x2cedf2,'rsvIdxKey':this[_0x504a66(0x115)](_0x2fb36e,_0x391ede)};}async[a0_0x4dc06d(0x168)](_0x1f2c87){const _0x3128eb=a0_0x4dc06d,_0x32d46d={'EQGNE':'IDGEN_DISABLED','gmbZU':'random','hEFaD':function(_0x1f1536,_0x556e28){return _0x1f1536<_0x556e28;},'rFoLb':function(_0x568b82,_0x34a1da){return _0x568b82===_0x34a1da;},'nTGmS':_0x3128eb(0x16e),'qWJwb':function(_0x4629ec,_0x218de6){return _0x4629ec*_0x218de6;},'oLaUZ':function(_0x5e7709,_0x5af815){return _0x5e7709||_0x5af815;}};if(!this['enabled'])throw new IdGeneratorError(_0x32d46d['EQGNE'],_0x3128eb(0x178));this[_0x3128eb(0x169)](_0x1f2c87[_0x3128eb(0x1a8)]),this['_validatePattern'](_0x1f2c87['pattern']);const _0x3e8a32=this[_0x3128eb(0x158)](_0x1f2c87[_0x3128eb(0x105)]),_0x29c465=this[_0x3128eb(0xf0)](_0x1f2c87[_0x3128eb(0x124)]),_0x145ab4=this[_0x3128eb(0x1a5)](_0x1f2c87[_0x3128eb(0x190)]),_0x439bdf=_0x1f2c87[_0x3128eb(0x109)]===!![],{resource:_0x4a4b53,pattern:_0x4a3d3c}=_0x1f2c87;let _0x572f0a=null;if(_0x145ab4){_0x572f0a=this[_0x3128eb(0x1b4)](_0x32d46d[_0x3128eb(0x112)],_0x4a4b53,null,_0x145ab4);const _0x4ed27c=await this[_0x3128eb(0x19f)](_0x572f0a);if(_0x4ed27c)return _0x4ed27c;}const _0x1547d5=redisClient['getClient']();let _0x42020b=null,_0x3d6c36=0x0;if(!_0x439bdf)_0x42020b=this[_0x3128eb(0x172)](_0x4a3d3c),_0x3d6c36=0x1;else{for(let _0x2bddee=0x0;_0x32d46d['hEFaD'](_0x2bddee,_0x29c465);_0x2bddee++){_0x3d6c36++;const _0x4b9892=this['_generateFromPattern'](_0x4a3d3c);if(_0x3e8a32){const _0x47966c=this['_buildActiveKey'](_0x4a4b53,_0x4b9892),_0x2f706a=await _0x1547d5[_0x3128eb(0x1a0)](_0x47966c,'1','EX',_0x3e8a32,'NX');if(_0x2f706a==='OK'){_0x42020b=_0x4b9892;break;}}else{const _0x17e6d6=this['_buildIssuedKey'](_0x4a4b53),_0x2c2dab=await _0x1547d5[_0x3128eb(0xd6)](_0x17e6d6,_0x4b9892);if(_0x2c2dab===0x1){_0x42020b=_0x4b9892;break;}}}if(_0x32d46d['rFoLb'](_0x42020b,null))throw new IdGeneratorError(_0x32d46d[_0x3128eb(0xd8)],_0x3128eb(0x1a1)+_0x29c465+_0x3128eb(0x9e),{'resource':_0x4a4b53,'pattern':_0x4a3d3c,'maxRetry':_0x29c465});}const _0x477d15={'value':_0x42020b,'resource':_0x4a4b53,'pattern':_0x4a3d3c,'attemptCount':_0x3d6c36,'generatedAt':new Date()[_0x3128eb(0x1a9)]()};_0x3e8a32&&_0x439bdf&&(_0x477d15['expiresAt']=new Date(Date['now']()+_0x32d46d[_0x3128eb(0x18e)](_0x3e8a32,0x3e8))[_0x3128eb(0x1a9)]());const _0x447adc=await this['_storeIdemCacheNX'](_0x572f0a,_0x477d15);if(!_0x447adc[_0x3128eb(0xcc)])return _0x439bdf&&await this['_undoRandomReservation'](_0x4a4b53,_0x42020b,_0x3e8a32),logger['info']({'event':'idgen_random_idem_loser','resource':_0x4a4b53,'pattern':_0x4a3d3c,'value':_0x42020b},_0x3128eb(0x155)),_0x447adc[_0x3128eb(0x1a2)];return logger['info']({'event':_0x3128eb(0x140),'resource':_0x4a4b53,'pattern':_0x4a3d3c,'attemptCount':_0x3d6c36,'ensureUnique':_0x439bdf,'ttl':_0x32d46d['oLaUZ'](_0x3e8a32,0x0)},'ID\x20Generator\x20random:\x20'+_0x42020b),_0x477d15;}async['pin'](_0x2ec5ad){const _0x1acf9f=a0_0x4dc06d,_0x5172e4={'BGEFc':function(_0x1734ee,_0x35a625){return _0x1734ee<_0x35a625;},'sJYje':function(_0x531a3d,_0x71140c){return _0x531a3d>_0x71140c;},'ZGdNk':_0x1acf9f(0x14e),'rlWML':function(_0x5037ed,_0x8eddc1){return _0x5037ed===_0x8eddc1;}},_0xca75=_0x2ec5ad['digits']==null?this[_0x1acf9f(0x1b5)]:_0x2ec5ad['digits'];if(!Number['isInteger'](_0xca75)||_0x5172e4['BGEFc'](_0xca75,MIN_PIN_DIGITS)||_0x5172e4['sJYje'](_0xca75,MAX_PIN_DIGITS))throw new IdGeneratorError(_0x5172e4[_0x1acf9f(0x199)],_0x1acf9f(0x133)+MIN_PIN_DIGITS+'-'+MAX_PIN_DIGITS+'\x20(got:\x20'+_0xca75+')');const _0x255889='9'[_0x1acf9f(0x19c)](_0xca75);return this[_0x1acf9f(0x168)]({'resource':_0x2ec5ad['resource'],'pattern':_0x255889,'ensureUnique':_0x5172e4[_0x1acf9f(0x106)](_0x2ec5ad[_0x1acf9f(0x109)],!![]),'ttl':_0x2ec5ad['ttl'],'maxRetry':_0x2ec5ad['maxRetry'],'idempotencyKey':_0x2ec5ad[_0x1acf9f(0x190)]});}async['serial'](_0x5d8533){const _0x5c6d62=a0_0x4dc06d,_0x43afe6=_0x5d8533['pattern']||this['defaultSerialPattern'];return this['random']({'resource':_0x5d8533['resource'],'pattern':_0x43afe6,'ensureUnique':_0x5d8533[_0x5c6d62(0x109)]!==![],'ttl':_0x5d8533[_0x5c6d62(0x105)],'maxRetry':_0x5d8533['maxRetry'],'idempotencyKey':_0x5d8533['idempotencyKey']});}async['code'](_0x309fcf){const _0x1f475a=a0_0x4dc06d,_0x2dac26=_0x309fcf['pattern']||this[_0x1f475a(0x138)];return this[_0x1f475a(0x168)]({'resource':_0x309fcf[_0x1f475a(0x1a8)],'pattern':_0x2dac26,'ensureUnique':_0x309fcf[_0x1f475a(0x109)]!==![],'ttl':_0x309fcf['ttl'],'maxRetry':_0x309fcf['maxRetry'],'idempotencyKey':_0x309fcf[_0x1f475a(0x190)]});}async[a0_0x4dc06d(0xa7)](_0x205779){const _0x58ab6f=a0_0x4dc06d,_0x358f75={'DpiNi':'ID\x20Generator\x20is\x20disabled','UxkMA':'string','hVsUF':function(_0x5c03ea,_0x22c340){return _0x5c03ea===_0x22c340;},'vXhZr':_0x58ab6f(0x122),'SYsrM':_0x58ab6f(0x9d),'qJoxR':_0x58ab6f(0x149)};if(!this['enabled'])throw new IdGeneratorError(_0x58ab6f(0xd4),_0x358f75['DpiNi']);this[_0x58ab6f(0x169)](_0x205779[_0x58ab6f(0x1a8)]);if(typeof _0x205779['value']!==_0x358f75['UxkMA']||_0x358f75['hVsUF'](_0x205779['value'][_0x58ab6f(0x177)],0x0))throw new IdGeneratorError(_0x358f75['vXhZr'],_0x358f75[_0x58ab6f(0xb2)]);const {resource:_0x4a9f25,value:_0x26cffd}=_0x205779,_0x4cb4d0=redisClient['getClient'](),_0xde13d4=this['_buildActiveKey'](_0x4a9f25,_0x26cffd),_0x21ce3f=this[_0x58ab6f(0xf2)](_0x4a9f25),[_0x306dc7,_0x239157]=await Promise[_0x58ab6f(0xbe)]([_0x4cb4d0['del'](_0xde13d4),_0x4cb4d0[_0x58ab6f(0x132)](_0x21ce3f,_0x26cffd)]),_0x33c68d=_0x306dc7+_0x239157>0x0;return logger[_0x58ab6f(0xcb)]({'event':_0x358f75['qJoxR'],'resource':_0x4a9f25,'value':_0x26cffd,'consumed':_0x33c68d},_0x58ab6f(0xd5)+_0x26cffd),{'consumed':_0x33c68d,'resource':_0x4a9f25,'value':_0x26cffd,'consumedAt':new Date()['toISOString']()};}async['peek'](_0x51c05d){const _0x1e809c=a0_0x4dc06d,_0x5d93ce={'zQrQO':'ID\x20Generator\x20is\x20disabled','OEyFn':_0x1e809c(0x170),'kJSXb':'text','lOGdd':function(_0x742dad,_0x2df82c,_0x34425a){return _0x742dad(_0x2df82c,_0x34425a);},'FnceR':function(_0x18c46a,_0x3f8f6e){return _0x18c46a||_0x3f8f6e;},'Ppuhy':'random'};if(!this[_0x1e809c(0xca)])throw new IdGeneratorError(_0x1e809c(0xd4),_0x5d93ce['zQrQO']);this[_0x1e809c(0x169)](_0x51c05d['resource']);const _0x16af5d=_0x51c05d[_0x1e809c(0xe1)]||_0x5d93ce[_0x1e809c(0xe8)],_0x360785=redisClient[_0x1e809c(0xbd)]();if(_0x16af5d===_0x5d93ce[_0x1e809c(0xe8)]){const _0x21eb75=(_0x51c05d[_0x1e809c(0xb0)]||_0x5d93ce['kJSXb'])[_0x1e809c(0x11e)]();if(!ALLOWED_FORMATS[_0x1e809c(0x101)](_0x21eb75))throw new IdGeneratorError('IDGEN_INVALID_FORMAT',_0x1e809c(0xef)+_0x51c05d['format']);const {formatKey:_0x12292e}=this[_0x1e809c(0x18f)](_0x21eb75,_0x51c05d['prefix']||''),_0x3e2bb7=this['_buildSeqKey'](_0x51c05d['resource'],_0x12292e),_0x4a8c9b=this[_0x1e809c(0x102)](_0x51c05d['resource'],_0x12292e),[_0x45f84c,_0x146630]=await Promise[_0x1e809c(0xbe)]([_0x360785[_0x1e809c(0x14b)](_0x3e2bb7),_0x360785['zcard'](_0x4a8c9b)]);return{'resource':_0x51c05d['resource'],'mode':_0x5d93ce['OEyFn'],'formatKey':_0x12292e,'currentCounter':_0x5d93ce[_0x1e809c(0x154)](parseInt,_0x45f84c,0xa)||0x0,'reusePoolSize':_0x5d93ce['FnceR'](_0x146630,0x0)};}if(_0x16af5d==='random'){const _0x550a6e=this[_0x1e809c(0xf2)](_0x51c05d[_0x1e809c(0x1a8)]),_0xba0660=await _0x360785[_0x1e809c(0x15c)](_0x550a6e);return{'resource':_0x51c05d[_0x1e809c(0x1a8)],'mode':_0x5d93ce[_0x1e809c(0x194)],'issuedCount':_0xba0660||0x0};}throw new IdGeneratorError('IDGEN_INVALID_MODE','Unknown\x20mode:\x20'+_0x16af5d);}async['getInfo'](_0x5a86e4){const _0x1b4345=a0_0x4dc06d,_0x13553c={'ZXxVp':function(_0xc40550,_0x447b39){return _0xc40550===_0x447b39;},'zbEPF':'number'},_0x3fa879=await this[_0x1b4345(0x182)](_0x5a86e4);if(_0x13553c['ZXxVp'](_0x3fa879['mode'],_0x13553c[_0x1b4345(0x107)])){const _0x4aac01=redisClient['getClient'](),_0x1cf83c=this[_0x1b4345(0x162)](_0x5a86e4[_0x1b4345(0x1a8)],_0x3fa879[_0x1b4345(0x163)]),_0xcf860e=this['_buildReuseKey'](_0x5a86e4[_0x1b4345(0x1a8)],_0x3fa879['formatKey']),[_0x3177aa,_0x5ddb84]=await Promise['all']([_0x4aac01[_0x1b4345(0xa5)](_0x1cf83c),_0x4aac01[_0x1b4345(0x14d)](_0xcf860e,0x0,-0x1)]);return{..._0x3fa879,'reusePoolValues':_0x5ddb84['map'](_0x301165=>parseInt(_0x301165,0xa)),'meta':_0x3177aa&&Object['keys'](_0x3177aa)[_0x1b4345(0x177)]>0x0?_0x3177aa:null};}return _0x3fa879;}async['reset'](_0xbd714e){const _0x5e18c3=a0_0x4dc06d,_0x476e64={'ZtuIG':'ID\x20Generator\x20is\x20disabled','YUVFR':function(_0x2bc06d,_0x5ce7ba){return _0x2bc06d===_0x5ce7ba;},'QWRcd':'number','bSnRp':'IDGEN_INVALID_FORMAT','MSpBR':_0x5e18c3(0xf6),'NXbKf':'meta','QiCZx':_0x5e18c3(0x168),'aylZX':'IDGEN_INVALID_MODE'};if(!this['enabled'])throw new IdGeneratorError(_0x5e18c3(0xd4),_0x476e64[_0x5e18c3(0xbc)]);if(!this['allowReset'])throw new IdGeneratorError(_0x5e18c3(0xb3),'Reset\x20operation\x20not\x20allowed\x20(set\x20IDGEN_ALLOW_RESET=true\x20to\x20enable)');this[_0x5e18c3(0x169)](_0xbd714e[_0x5e18c3(0x1a8)]);const _0x311c42=_0xbd714e[_0x5e18c3(0xe1)]||'number',_0x628013=redisClient['getClient']();if(_0x476e64['YUVFR'](_0x311c42,_0x476e64['QWRcd'])){const _0x44338a=(_0xbd714e[_0x5e18c3(0xb0)]||_0x5e18c3(0x120))[_0x5e18c3(0x11e)]();if(!ALLOWED_FORMATS[_0x5e18c3(0x101)](_0x44338a))throw new IdGeneratorError(_0x476e64[_0x5e18c3(0x16b)],_0x5e18c3(0xef)+_0xbd714e[_0x5e18c3(0xb0)]);const {formatKey:_0x33753d}=this[_0x5e18c3(0x18f)](_0x44338a,_0xbd714e['prefix']||''),_0x2529c9=this['_buildSeqKey'](_0xbd714e['resource'],_0x33753d),_0x42573e=this['_buildReuseKey'](_0xbd714e['resource'],_0x33753d),_0x4c012c=this['_buildMetaKey'](_0xbd714e['resource'],_0x33753d);return await _0x628013[_0x5e18c3(0x13b)](_0x2529c9,_0x42573e,_0x4c012c),logger[_0x5e18c3(0x15b)]({'event':_0x476e64[_0x5e18c3(0x9c)],'resource':_0xbd714e[_0x5e18c3(0x1a8)],'mode':_0x5e18c3(0x170),'formatKey':_0x33753d},'ID\x20Generator\x20reset:\x20'+_0xbd714e['resource']+':'+_0x33753d),{'reset':!![],'resource':_0xbd714e['resource'],'mode':'number','formatKey':_0x33753d,'deletedKeys':[_0x5e18c3(0xf4),_0x5e18c3(0x1ad),_0x476e64[_0x5e18c3(0x12a)]]};}if(_0x311c42==='random'){const _0x2e6983=this[_0x5e18c3(0xf2)](_0xbd714e['resource']);return await _0x628013['del'](_0x2e6983),logger['warn']({'event':'idgen_reset','resource':_0xbd714e['resource'],'mode':_0x476e64['QiCZx']},'ID\x20Generator\x20reset:\x20random:'+_0xbd714e['resource']),{'reset':!![],'resource':_0xbd714e['resource'],'mode':_0x5e18c3(0x168),'deletedKeys':[_0x5e18c3(0xd3)]};}throw new IdGeneratorError(_0x476e64[_0x5e18c3(0xb1)],'Unknown\x20mode:\x20'+_0x311c42);}}const instance=new IdGenerator();instance[a0_0x4dc06d(0x146)]=IdGeneratorError,module['exports']=instance,module[a0_0x4dc06d(0x126)][a0_0x4dc06d(0x146)]=IdGeneratorError;
1
+ 'use strict';const a0_0x3c2e55=a0_0x1c3a;(function(_0x3eaeab,_0x56145e){const _0x515873=a0_0x1c3a,_0x20df8a=_0x3eaeab();while(!![]){try{const _0x48b588=parseInt(_0x515873(0x1e2))/0x1+parseInt(_0x515873(0x1f4))/0x2*(parseInt(_0x515873(0x192))/0x3)+-parseInt(_0x515873(0x1c2))/0x4+-parseInt(_0x515873(0x210))/0x5+-parseInt(_0x515873(0x20b))/0x6+-parseInt(_0x515873(0x15c))/0x7*(parseInt(_0x515873(0x21a))/0x8)+parseInt(_0x515873(0x18d))/0x9*(parseInt(_0x515873(0x254))/0xa);if(_0x48b588===_0x56145e)break;else _0x20df8a['push'](_0x20df8a['shift']());}catch(_0xb713b1){_0x20df8a['push'](_0x20df8a['shift']());}}}(a0_0x4560,0x6a061));function a0_0x1c3a(_0x55a3d9,_0x54e37d){_0x55a3d9=_0x55a3d9-0x156;const _0x456022=a0_0x4560();let _0x1c3a96=_0x456022[_0x55a3d9];if(a0_0x1c3a['rnKpeM']===undefined){var _0x8d85ae=function(_0xb56bb4){const _0x4330a5='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x20c672='',_0x36b7a4='';for(let _0x4e03af=0x0,_0x5a81b1,_0x3cac48,_0x1b8ee7=0x0;_0x3cac48=_0xb56bb4['charAt'](_0x1b8ee7++);~_0x3cac48&&(_0x5a81b1=_0x4e03af%0x4?_0x5a81b1*0x40+_0x3cac48:_0x3cac48,_0x4e03af++%0x4)?_0x20c672+=String['fromCharCode'](0xff&_0x5a81b1>>(-0x2*_0x4e03af&0x6)):0x0){_0x3cac48=_0x4330a5['indexOf'](_0x3cac48);}for(let _0x3a032a=0x0,_0x2762c1=_0x20c672['length'];_0x3a032a<_0x2762c1;_0x3a032a++){_0x36b7a4+='%'+('00'+_0x20c672['charCodeAt'](_0x3a032a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x36b7a4);};a0_0x1c3a['ExJTIj']=_0x8d85ae,a0_0x1c3a['GaYwvS']={},a0_0x1c3a['rnKpeM']=!![];}const _0x5e57bb=_0x456022[0x0],_0x5b0b07=_0x55a3d9+_0x5e57bb,_0x4adf9b=a0_0x1c3a['GaYwvS'][_0x5b0b07];return!_0x4adf9b?(_0x1c3a96=a0_0x1c3a['ExJTIj'](_0x1c3a96),a0_0x1c3a['GaYwvS'][_0x5b0b07]=_0x1c3a96):_0x1c3a96=_0x4adf9b,_0x1c3a96;}const crypto=require(a0_0x3c2e55(0x1d6)),redisClient=require(a0_0x3c2e55(0x1e8)),{logger}=require('./logger'),idempotencyManager=require(a0_0x3c2e55(0x197)),ALLOWED_FORMATS=new Set(['text','yyyy',a0_0x3c2e55(0x260),a0_0x3c2e55(0x26c)]),RESOURCE_REGEX=/^[A-Za-z0-9_-]{1,64}$/,PREFIX_REGEX=/^[A-Za-z0-9_-]{0,32}$/,SEPARATOR_FORBIDDEN=/:/,MAX_NUM_DIGITS=0xc,MIN_NUM_DIGITS=0x1,MAX_PIN_DIGITS=0xc,MIN_PIN_DIGITS=0x4,MAX_PATTERN_LENGTH=0x100,MAX_TTL=0x278d00,MAX_RETRY_LIMIT=0x64,MAX_IDEMPOTENCY_KEY_LENGTH=0x80,RESERVATION_TOKEN_REGEX=/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i,MIN_RESERVE_TTL=0xa,MAX_RESERVE_TTL=0x15180,DEFAULT_RESERVE_TTL=0x258,RESERVE_REAP_BATCH=0x40,CHARSET_DIGIT=a0_0x3c2e55(0x18a),CHARSET_UPPER='ABCDEFGHIJKLMNOPQRSTUVWXYZ',CHARSET_LOWER='abcdefghijklmnopqrstuvwxyz',CHARSET_LETTERS=CHARSET_UPPER+CHARSET_LOWER,CHARSET_UPPER_ALNUM=CHARSET_UPPER+CHARSET_DIGIT,CHARSET_MIXED_ALNUM=CHARSET_UPPER+CHARSET_LOWER+CHARSET_DIGIT,CHARSET_HEX_UPPER='0123456789ABCDEF',CHARSET_HEX_LOWER='0123456789abcdef',PLACEHOLDER_MAP={'9':CHARSET_DIGIT,'N':CHARSET_DIGIT,'A':CHARSET_UPPER,'a':CHARSET_LOWER,'L':CHARSET_LETTERS,'X':CHARSET_UPPER_ALNUM,'x':CHARSET_MIXED_ALNUM,'H':CHARSET_HEX_UPPER,'h':CHARSET_HEX_LOWER},LUA_GENERATE_NUMBER=a0_0x3c2e55(0x19b),LUA_RELEASE_NUMBER=a0_0x3c2e55(0x1af),LUA_RESERVE_NUMBER='\x0alocal\x20unpk\x20=\x20unpack\x20or\x20table.unpack\x0a\x0a--\x20Step\x201:\x20lazy\x20reap\x20expired\x20reservations\x20(cap\x20RESERVE_REAP_BATCH)\x0alocal\x20reaped\x20=\x200\x0alocal\x20nowMs\x20=\x20ARGV[7]\x0alocal\x20rsvPrefix\x20=\x20ARGV[8]\x0alocal\x20expired\x20=\x20redis.call(\x27ZRANGEBYSCORE\x27,\x20KEYS[3],\x20\x27-inf\x27,\x20\x27(\x27\x20..\x20nowMs,\x20\x27LIMIT\x27,\x200,\x2064)\x0afor\x20i\x20=\x201,\x20#expired\x20do\x0a\x20\x20local\x20expToken\x20=\x20expired[i]\x0a\x20\x20local\x20expRsvKey\x20=\x20rsvPrefix\x20..\x20expToken\x0a\x20\x20local\x20expCounter\x20=\x20redis.call(\x27HGET\x27,\x20expRsvKey,\x20\x27counter\x27)\x0a\x20\x20if\x20expCounter\x20then\x0a\x20\x20\x20\x20redis.call(\x27ZADD\x27,\x20KEYS[2],\x20expCounter,\x20expCounter)\x0a\x20\x20end\x0a\x20\x20redis.call(\x27DEL\x27,\x20expRsvKey)\x0a\x20\x20redis.call(\x27ZREM\x27,\x20KEYS[3],\x20expToken)\x0a\x20\x20reaped\x20=\x20reaped\x20+\x201\x0aend\x0a\x0a--\x20Step\x202:\x20allocate\x20counter\x20(ZPOPMIN\x20reuse\x20atau\x20INCR\x20seq)\x0alocal\x20counterInt\x0alocal\x20isReused\x20=\x200\x0aif\x20ARGV[1]\x20==\x20\x271\x27\x20then\x0a\x20\x20local\x20r\x20=\x20redis.call(\x27ZPOPMIN\x27,\x20KEYS[2],\x201)\x0a\x20\x20if\x20#r\x20>\x200\x20then\x0a\x20\x20\x20\x20counterInt\x20=\x20tonumber(r[1])\x0a\x20\x20\x20\x20isReused\x20=\x201\x0a\x20\x20end\x0aend\x0aif\x20not\x20counterInt\x20then\x0a\x20\x20counterInt\x20=\x20redis.call(\x27INCR\x27,\x20KEYS[1])\x0a\x20\x20local\x20cttl\x20=\x20tonumber(ARGV[2])\x0a\x20\x20if\x20cttl\x20>\x200\x20and\x20counterInt\x20==\x201\x20then\x0a\x20\x20\x20\x20redis.call(\x27EXPIRE\x27,\x20KEYS[1],\x20cttl)\x0a\x20\x20end\x0aend\x0a\x0a--\x20Step\x203:\x20write\x20reservation\x20hash\x20+\x20index\x20+\x20TTL\x0alocal\x20rsvKey\x20=\x20ARGV[4]\x0alocal\x20rsvTtlMs\x20=\x20tonumber(ARGV[5])\x0alocal\x20expiresAtMs\x20=\x20tonumber(ARGV[6])\x0alocal\x20nargs\x20=\x20#ARGV\x0alocal\x20fields\x20=\x20{}\x0afor\x20i\x20=\x209,\x20nargs\x20do\x0a\x20\x20fields[#fields\x20+\x201]\x20=\x20ARGV[i]\x0aend\x0aredis.call(\x27HSET\x27,\x20rsvKey,\x20\x27counter\x27,\x20counterInt,\x20\x27isReused\x27,\x20isReused,\x20unpk(fields))\x0aredis.call(\x27PEXPIRE\x27,\x20rsvKey,\x20rsvTtlMs)\x0aredis.call(\x27ZADD\x27,\x20KEYS[3],\x20expiresAtMs,\x20ARGV[3])\x0aredis.call(\x27EXPIRE\x27,\x20KEYS[3],\x20math.floor(rsvTtlMs\x20/\x201000)\x20+\x2060)\x0a\x0areturn\x20{\x20counterInt,\x20isReused,\x20reaped\x20}\x0a',LUA_CONFIRM_RESERVATION='\x0aif\x20redis.call(\x27EXISTS\x27,\x20KEYS[1])\x20==\x200\x20then\x0a\x20\x20redis.call(\x27ZREM\x27,\x20KEYS[2],\x20ARGV[1])\x0a\x20\x20return\x20{\x200\x20}\x0aend\x0alocal\x20h\x20=\x20redis.call(\x27HMGET\x27,\x20KEYS[1],\x20\x27counter\x27,\x20\x27value\x27,\x20\x27formatKey\x27,\x20\x27isReused\x27,\x20\x27createdAt\x27,\x20\x27expiresAt\x27)\x0aredis.call(\x27DEL\x27,\x20KEYS[1])\x0aredis.call(\x27ZREM\x27,\x20KEYS[2],\x20ARGV[1])\x0areturn\x20{\x201,\x20h[1],\x20h[2],\x20h[3],\x20h[4],\x20h[5],\x20h[6]\x20}\x0a',LUA_CANCEL_RESERVATION='\x0aif\x20redis.call(\x27EXISTS\x27,\x20KEYS[1])\x20==\x200\x20then\x0a\x20\x20redis.call(\x27ZREM\x27,\x20KEYS[2],\x20ARGV[1])\x0a\x20\x20return\x20{\x200\x20}\x0aend\x0alocal\x20h\x20=\x20redis.call(\x27HMGET\x27,\x20KEYS[1],\x20\x27counter\x27,\x20\x27value\x27,\x20\x27formatKey\x27)\x0alocal\x20counter\x20=\x20h[1]\x0aif\x20counter\x20then\x0a\x20\x20redis.call(\x27ZADD\x27,\x20KEYS[3],\x20counter,\x20counter)\x0a\x20\x20local\x20ttl\x20=\x20tonumber(ARGV[2])\x0a\x20\x20if\x20ttl\x20>\x200\x20then\x0a\x20\x20\x20\x20redis.call(\x27EXPIRE\x27,\x20KEYS[3],\x20ttl)\x0a\x20\x20end\x0aend\x0aredis.call(\x27DEL\x27,\x20KEYS[1])\x0aredis.call(\x27ZREM\x27,\x20KEYS[2],\x20ARGV[1])\x0areturn\x20{\x201,\x20counter,\x20h[2],\x20h[3]\x20}\x0a',LUA_EXTEND_RESERVATION=a0_0x3c2e55(0x24b);class IdGeneratorError extends Error{constructor(_0x3b5006,_0x47ddb8,_0x391ea9=null){const _0x395d09=a0_0x3c2e55,_0x372178={'okvKs':function(_0xaf98db,_0x2cb755){return _0xaf98db||_0x2cb755;}};super(_0x372178['okvKs'](_0x47ddb8,_0x3b5006)),this['name']=_0x395d09(0x24d),this['code']=_0x3b5006,this[_0x395d09(0x169)]=_0x391ea9;}}class IdGenerator{constructor(){const _0x549adb=a0_0x3c2e55;this['_initialized']=![],this['_enabled']=null,this[_0x549adb(0x1e6)]=null,this[_0x549adb(0x1e7)]=null,this['_allowReset']=null,this['_defaultMaxRetry']=null,this[_0x549adb(0x1e9)]=null,this['_defaultSerialPattern']=null,this['_defaultCodePattern']=null,this[_0x549adb(0x178)]=null,this['_reserveDefaultTTL']=null,this['_reserveMaxTTL']=null;}['_initConfig'](){const _0x59ef5d=a0_0x3c2e55,_0x13a102={'aRDXC':'rf:idgen:','HPbJn':_0x59ef5d(0x20e),'XRpJq':function(_0x1c646a,_0x528d3c,_0x5789e0){return _0x1c646a(_0x528d3c,_0x5789e0);},'tlqHE':function(_0xba9f9c,_0x2d0c0a){return _0xba9f9c===_0x2d0c0a;},'AOnWn':_0x59ef5d(0x223),'BIJQN':_0x59ef5d(0x172),'PGlrs':function(_0x3e74b1,_0x2b40be,_0x3a4357){return _0x3e74b1(_0x2b40be,_0x3a4357);},'CwwRm':function(_0x586e51,_0x326c06,_0x4d707b){return _0x586e51(_0x326c06,_0x4d707b);},'ouFyi':function(_0x75f10e,_0x353434,_0x20c538){return _0x75f10e(_0x353434,_0x20c538);},'ZmTcU':_0x59ef5d(0x1cb)};this[_0x59ef5d(0x1e6)]=_0x13a102[_0x59ef5d(0x1f3)],this['_enabled']=process['env']['IDGEN_ENABLED']===_0x13a102['HPbJn'],this[_0x59ef5d(0x1e7)]=_0x13a102['XRpJq'](parseInt,process[_0x59ef5d(0x255)][_0x59ef5d(0x167)],0xa)||0x258,this[_0x59ef5d(0x202)]=_0x13a102['tlqHE'](process['env']['IDGEN_ALLOW_RESET'],'true'),this[_0x59ef5d(0x23d)]=_0x13a102[_0x59ef5d(0x24f)](parseInt,process['env']['IDGEN_DEFAULT_MAX_RETRY'],0xa)||0xa,this['_defaultPinDigits']=parseInt(process['env'][_0x59ef5d(0x188)],0xa)||0x6,this[_0x59ef5d(0x22d)]=process['env'][_0x59ef5d(0x25b)]||_0x13a102['AOnWn'],this[_0x59ef5d(0x1f2)]=process[_0x59ef5d(0x255)]['IDGEN_DEFAULT_CODE_PATTERN']||_0x13a102['BIJQN'],this[_0x59ef5d(0x178)]={'yyyymm':_0x13a102['PGlrs'](parseInt,process['env']['IDGEN_COUNTER_TTL_MONTHLY'],0xa)||0x2a3000,'yyyymmdd':_0x13a102[_0x59ef5d(0x24f)](parseInt,process[_0x59ef5d(0x255)][_0x59ef5d(0x1c1)],0xa)||0x2a300},this['_reserveDefaultTTL']=_0x13a102['CwwRm'](parseInt,process['env']['IDGEN_RESERVE_DEFAULT_TTL'],0xa)||DEFAULT_RESERVE_TTL,this[_0x59ef5d(0x25c)]=_0x13a102['ouFyi'](parseInt,process['env']['IDGEN_RESERVE_MAX_TTL'],0xa)||MAX_RESERVE_TTL,this['_initialized']=!![],logger['info']({'event':_0x13a102['ZmTcU'],'enabled':this[_0x59ef5d(0x18f)],'idemTTL':this[_0x59ef5d(0x1e7)],'allowReset':this[_0x59ef5d(0x202)],'defaultMaxRetry':this['_defaultMaxRetry'],'defaultPinDigits':this['_defaultPinDigits'],'reserveDefaultTTL':this['_reserveDefaultTTL'],'reserveMaxTTL':this['_reserveMaxTTL']},_0x59ef5d(0x214)+this['_enabled']);}[a0_0x3c2e55(0x22a)](){const _0x2a107f=a0_0x3c2e55;if(!this[_0x2a107f(0x18b)])this['_initConfig']();}get['enabled'](){return this['_ensureInitialized'](),this['_enabled'];}get['keyPrefix'](){const _0x517944=a0_0x3c2e55;return this[_0x517944(0x22a)](),this['_keyPrefix'];}get['idemTTL'](){return this['_ensureInitialized'](),this['_idemTTL'];}get[a0_0x3c2e55(0x225)](){const _0xf7b3a5=a0_0x3c2e55;return this[_0xf7b3a5(0x22a)](),this[_0xf7b3a5(0x202)];}get[a0_0x3c2e55(0x177)](){const _0x545806=a0_0x3c2e55;return this['_ensureInitialized'](),this[_0x545806(0x23d)];}get['defaultPinDigits'](){return this['_ensureInitialized'](),this['_defaultPinDigits'];}get[a0_0x3c2e55(0x165)](){const _0x5f5c13=a0_0x3c2e55;return this['_ensureInitialized'](),this[_0x5f5c13(0x22d)];}get[a0_0x3c2e55(0x252)](){const _0x55727e=a0_0x3c2e55;return this['_ensureInitialized'](),this[_0x55727e(0x1f2)];}get['reserveDefaultTTL'](){const _0x1cb37b=a0_0x3c2e55;return this[_0x1cb37b(0x22a)](),this[_0x1cb37b(0x20d)];}get[a0_0x3c2e55(0x16f)](){const _0xf51ad1=a0_0x3c2e55;return this['_ensureInitialized'](),this[_0xf51ad1(0x25c)];}['isEnabled'](){return this['enabled'];}['_validateResource'](_0x4fd941){const _0xcc8823=a0_0x3c2e55,_0x33c58f={'catfc':function(_0x153303,_0x267e8b){return _0x153303!==_0x267e8b;},'DjKJN':_0xcc8823(0x15e)};if(_0x33c58f['catfc'](typeof _0x4fd941,_0x33c58f[_0xcc8823(0x1dc)])||!RESOURCE_REGEX[_0xcc8823(0x248)](_0x4fd941))throw new IdGeneratorError(_0xcc8823(0x1f9),'Invalid\x20resource:\x20must\x20match\x20'+RESOURCE_REGEX+_0xcc8823(0x1fe)+JSON[_0xcc8823(0x1ac)](_0x4fd941)+')');}['_validateNumberParams'](_0x2258a9){const _0xa5768=a0_0x3c2e55,_0x55500e={'DwrIq':_0xa5768(0x15e),'koJFJ':function(_0x5f1ad8,_0x2c30e4){return _0x5f1ad8<_0x2c30e4;},'zcfBO':function(_0x291eec,_0x1ed8ef){return _0x291eec>_0x1ed8ef;},'foVWK':'IDGEN_INVALID_NUM_DIGITS','TnKXC':function(_0xd7121e,_0x4c30ff){return _0xd7121e==_0x4c30ff;},'pUbSV':'IDGEN_INVALID_SEPARATOR','jAyQG':'boolean','EhjoE':function(_0xbfc460,_0xa0e61){return _0xbfc460===_0xa0e61;}},{resource:_0x18d543,format:_0x15f723,prefix:_0x1bbdac,separator:_0x188fde,numDigits:_0x21441d,reuseDelete:_0x3cd9c7}=_0x2258a9;this[_0xa5768(0x1a2)](_0x18d543);const _0x1b42e8=typeof _0x15f723===_0x55500e['DwrIq']?_0x15f723['toLowerCase']():'';if(!ALLOWED_FORMATS['has'](_0x1b42e8))throw new IdGeneratorError('IDGEN_INVALID_FORMAT','Invalid\x20format:\x20must\x20be\x20one\x20of\x20'+[...ALLOWED_FORMATS]['join'](',\x20')+'\x20(got:\x20'+_0x15f723+')');if(!Number[_0xa5768(0x211)](_0x21441d)||_0x55500e[_0xa5768(0x229)](_0x21441d,MIN_NUM_DIGITS)||_0x55500e['zcfBO'](_0x21441d,MAX_NUM_DIGITS))throw new IdGeneratorError(_0x55500e['foVWK'],_0xa5768(0x1da)+MIN_NUM_DIGITS+'-'+MAX_NUM_DIGITS+_0xa5768(0x1fe)+_0x21441d+')');const _0x57c018=_0x1bbdac==null?'':_0x1bbdac;if(typeof _0x57c018!==_0xa5768(0x15e)||!PREFIX_REGEX['test'](_0x57c018))throw new IdGeneratorError('IDGEN_INVALID_PREFIX','Invalid\x20prefix:\x20must\x20match\x20'+PREFIX_REGEX+_0xa5768(0x1fe)+JSON['stringify'](_0x1bbdac)+')');const _0x35845c=_0x55500e['TnKXC'](_0x188fde,null)?'':_0x188fde;if(typeof _0x35845c!=='string'||_0x55500e['zcfBO'](_0x35845c[_0xa5768(0x166)],0x3)||SEPARATOR_FORBIDDEN['test'](_0x35845c))throw new IdGeneratorError(_0x55500e['pUbSV'],_0xa5768(0x278)+JSON[_0xa5768(0x1ac)](_0x188fde)+')');if(_0x3cd9c7!=null&&typeof _0x3cd9c7!==_0x55500e['jAyQG'])throw new IdGeneratorError(_0xa5768(0x1f9),_0xa5768(0x200)+typeof _0x3cd9c7+')');return{'resource':_0x18d543,'format':_0x1b42e8,'prefix':_0x57c018,'separator':_0x35845c,'numDigits':_0x21441d,'reuseDelete':_0x55500e['EhjoE'](_0x3cd9c7,!![])};}['_validatePattern'](_0xc5c7e1){const _0x23a3fd=a0_0x3c2e55,_0x25c640={'TlXUx':function(_0x54f1f2,_0x5a8bc3){return _0x54f1f2===_0x5a8bc3;},'Hfqcx':function(_0x4e04c8,_0x5e2da1){return _0x4e04c8>_0x5e2da1;},'iEHRX':'IDGEN_INVALID_PATTERN'};if(typeof _0xc5c7e1!=='string'||_0x25c640['TlXUx'](_0xc5c7e1['length'],0x0)||_0x25c640[_0x23a3fd(0x1a0)](_0xc5c7e1[_0x23a3fd(0x166)],MAX_PATTERN_LENGTH))throw new IdGeneratorError(_0x25c640['iEHRX'],'Invalid\x20pattern:\x20must\x20be\x20string\x201-'+MAX_PATTERN_LENGTH+'\x20chars\x20(got\x20length:\x20'+(_0xc5c7e1&&_0xc5c7e1[_0x23a3fd(0x166)])+')');let _0x575e04=![];for(const _0x579e3c of _0xc5c7e1){if(PLACEHOLDER_MAP[_0x579e3c]){_0x575e04=!![];break;}}if(!_0x575e04)throw new IdGeneratorError('IDGEN_INVALID_PATTERN','Invalid\x20pattern:\x20must\x20contain\x20at\x20least\x20one\x20placeholder\x20character\x20(9/N/A/a/L/X/x/H/h)');}['_validateTTL'](_0x5b3490){const _0x58e64f=a0_0x3c2e55,_0xcc2101={'BYdax':function(_0x48232e,_0x5387b6){return _0x48232e<_0x5387b6;},'FAqvR':function(_0x21b12b,_0x1dd1de){return _0x21b12b>_0x1dd1de;}};if(_0x5b3490==null)return undefined;if(!Number['isInteger'](_0x5b3490)||_0xcc2101[_0x58e64f(0x250)](_0x5b3490,0x1)||_0xcc2101[_0x58e64f(0x1cc)](_0x5b3490,MAX_TTL))throw new IdGeneratorError(_0x58e64f(0x15d),_0x58e64f(0x1f0)+MAX_TTL+_0x58e64f(0x158)+_0x5b3490+')');return _0x5b3490;}[a0_0x3c2e55(0x20f)](_0x1023d4){const _0x261f64=a0_0x3c2e55,_0x3aa9c3={'wzdPG':function(_0x2bce64,_0x1e771e){return _0x2bce64==_0x1e771e;},'AxAmK':function(_0x2795bb,_0x5583d7){return _0x2795bb>_0x5583d7;}};if(_0x3aa9c3[_0x261f64(0x234)](_0x1023d4,null))return this['defaultMaxRetry'];if(!Number['isInteger'](_0x1023d4)||_0x1023d4<0x1||_0x3aa9c3[_0x261f64(0x244)](_0x1023d4,MAX_RETRY_LIMIT))throw new IdGeneratorError('IDGEN_INVALID_MAX_RETRY','Invalid\x20maxRetry:\x20must\x20be\x20integer\x201-'+MAX_RETRY_LIMIT+_0x261f64(0x1fe)+_0x1023d4+')');return _0x1023d4;}[a0_0x3c2e55(0x204)](_0x28e3db){const _0x569937=a0_0x3c2e55,_0x4f2e11={'zVaar':function(_0xdca93,_0x28d33b){return _0xdca93!==_0x28d33b;},'vZPmB':'string','bxLjK':'IDGEN_INVALID_RESOURCE'};if(_0x28e3db==null)return undefined;if(_0x4f2e11[_0x569937(0x18c)](typeof _0x28e3db,_0x4f2e11['vZPmB'])||_0x28e3db['length']===0x0||_0x28e3db[_0x569937(0x166)]>MAX_IDEMPOTENCY_KEY_LENGTH)throw new IdGeneratorError(_0x4f2e11[_0x569937(0x23a)],'Invalid\x20idempotencyKey:\x20must\x20be\x20string\x201-'+MAX_IDEMPOTENCY_KEY_LENGTH+'\x20chars');return _0x28e3db;}['_validateReserveTTL'](_0x276c08){const _0xac7cfe=a0_0x3c2e55,_0xe34cfb={'uZjxb':function(_0x1b56fa,_0x51e71c){return _0x1b56fa==_0x51e71c;}};if(_0xe34cfb['uZjxb'](_0x276c08,null))return this[_0xac7cfe(0x1b7)];if(!Number['isInteger'](_0x276c08)||_0x276c08<MIN_RESERVE_TTL||_0x276c08>this['reserveMaxTTL'])throw new IdGeneratorError(_0xac7cfe(0x180),_0xac7cfe(0x1ab)+MIN_RESERVE_TTL+'-'+this['reserveMaxTTL']+_0xac7cfe(0x158)+_0x276c08+')');return _0x276c08;}['_validateReservationToken'](_0x40794e){const _0x21b331=a0_0x3c2e55,_0x518514={'RKLuI':_0x21b331(0x15e),'cgpEI':_0x21b331(0x15b)};if(typeof _0x40794e!==_0x518514[_0x21b331(0x25f)]||!RESERVATION_TOKEN_REGEX[_0x21b331(0x248)](_0x40794e))throw new IdGeneratorError(_0x518514['cgpEI'],'Invalid\x20reservation\x20token:\x20must\x20be\x20a\x20valid\x20UUID\x20format\x20(got:\x20'+JSON['stringify'](_0x40794e)+')');return _0x40794e;}[a0_0x3c2e55(0x272)](_0x390e60){const _0x33feee=a0_0x3c2e55,_0x39cf82={'TtMgN':function(_0x571284,_0x37168b){return _0x571284(_0x37168b);}};return _0x39cf82[_0x33feee(0x16a)](String,_0x390e60)[_0x33feee(0x206)](0x2,'0');}['_buildFormatKey'](_0x10e785,_0x43ed32,_0x3e6120=new Date()){const _0x4e742e=a0_0x3c2e55,_0x5f504f={'gEXJL':function(_0x4aa53c,_0x2059ed){return _0x4aa53c+_0x2059ed;},'EvNRr':function(_0x3e99d3,_0x4c0cf6){return _0x3e99d3||_0x4c0cf6;},'EXsSc':'text','fudcN':'yyyy','GtJbp':'IDGEN_INVALID_FORMAT'},_0xbbe618=_0x3e6120['getFullYear'](),_0x471f4f=this[_0x4e742e(0x272)](_0x5f504f[_0x4e742e(0x238)](_0x3e6120[_0x4e742e(0x22c)](),0x1)),_0x3cbfde=this['_pad2'](_0x3e6120[_0x4e742e(0x1e4)]()),_0x18b063=_0x5f504f['EvNRr'](_0x43ed32,'_');let _0x2a8e9e,_0x594353='';switch(_0x10e785){case _0x5f504f['EXsSc']:_0x2a8e9e=_0x18b063+_0x4e742e(0x243);break;case _0x5f504f['fudcN']:_0x594353=''+_0xbbe618,_0x2a8e9e=_0x18b063+'_yyyy_'+_0x594353;break;case'yyyymm':_0x594353=''+_0xbbe618+_0x471f4f,_0x2a8e9e=_0x18b063+_0x4e742e(0x26b)+_0x594353;break;case _0x4e742e(0x26c):_0x594353=''+_0xbbe618+_0x471f4f+_0x3cbfde,_0x2a8e9e=_0x18b063+_0x4e742e(0x1a3)+_0x594353;break;default:throw new IdGeneratorError(_0x5f504f[_0x4e742e(0x156)],_0x4e742e(0x1f7)+_0x10e785);}return{'formatKey':_0x2a8e9e,'datePrefix':_0x594353};}[a0_0x3c2e55(0x17b)](_0x1ebb36,_0x1dd8a2){const _0x532b96=a0_0x3c2e55;return this[_0x532b96(0x1e1)]+'seq:'+_0x1ebb36+':'+_0x1dd8a2;}['_buildReuseKey'](_0x1d4a95,_0x4093a0){const _0x40af72=a0_0x3c2e55;return this[_0x40af72(0x1e1)]+'reuse:'+_0x1d4a95+':'+_0x4093a0;}['_buildMetaKey'](_0x2b6a92,_0x1d96e3){const _0x367b78=a0_0x3c2e55;return this[_0x367b78(0x1e1)]+_0x367b78(0x1eb)+_0x2b6a92+':'+_0x1d96e3;}[a0_0x3c2e55(0x1ae)](_0x34914e){const _0x1277b=a0_0x3c2e55;return this['keyPrefix']+_0x1277b(0x1e5)+_0x34914e;}['_buildActiveKey'](_0x227591,_0x2e397b){const _0x548e32=a0_0x3c2e55;return this[_0x548e32(0x1e1)]+'active:'+_0x227591+':'+_0x2e397b;}[a0_0x3c2e55(0x1fa)](_0x1a26d7){const _0x3de4da=a0_0x3c2e55;return this[_0x3de4da(0x1e1)]+_0x3de4da(0x27b)+_0x1a26d7;}['_buildReservationIndexKey'](_0x2c06fa,_0x546a9c){const _0x4238e3=a0_0x3c2e55;return this['keyPrefix']+_0x4238e3(0x201)+_0x2c06fa+':'+_0x546a9c;}['_buildReservationKeyPrefix'](){const _0x3d2a5e=a0_0x3c2e55;return this[_0x3d2a5e(0x1e1)]+'rsv:';}[a0_0x3c2e55(0x189)](_0x528b55,_0x3d40be,_0x2d53bd,_0x467421){const _0x34643e=a0_0x3c2e55;if(_0x2d53bd)return idempotencyManager['buildDeterministicKey'](_0x34643e(0x1d2),_0x528b55,_0x3d40be+':'+_0x2d53bd+':'+_0x467421);return idempotencyManager['buildDeterministicKey']('idgen',_0x528b55,_0x3d40be+':'+_0x467421);}['_getCounterTTL'](_0x5e6dea){const _0x380e5c=a0_0x3c2e55;return this[_0x380e5c(0x178)][_0x5e6dea]||0x0;}[a0_0x3c2e55(0x218)]({format:_0x1926f5,prefix:_0x318b6f,datePrefix:_0x180d81,separator:_0x1c9725,numDigits:_0x86dc8a,counterInt:_0x21a400}){const _0x21ede4=a0_0x3c2e55,_0x436f79={'KPcwK':_0x21ede4(0x1df),'LGqeX':'text'},_0x12af61=Math['pow'](0xa,_0x86dc8a)-0x1;if(_0x21a400>_0x12af61)throw new IdGeneratorError(_0x436f79['KPcwK'],_0x21ede4(0x15f)+_0x21a400+'\x20exceeds\x20'+_0x86dc8a+_0x21ede4(0x1d5)+_0x12af61+_0x21ede4(0x219),{'counterInt':_0x21a400,'numDigits':_0x86dc8a,'max':_0x12af61});const _0x132609=String(_0x21a400)[_0x21ede4(0x206)](_0x86dc8a,'0');if(_0x1926f5===_0x436f79['LGqeX'])return _0x318b6f?''+_0x318b6f+_0x1c9725+_0x132609:_0x132609;return _0x318b6f?''+_0x318b6f+_0x1c9725+_0x180d81+_0x1c9725+_0x132609:''+_0x180d81+_0x1c9725+_0x132609;}['_parseNumber']({format:_0xf7c482,prefix:_0x4c2da9,separator:_0x3a8db9,numDigits:_0xa957f9,number:_0x3bbdbf}){const _0x4e237c=a0_0x3c2e55,_0x525172={'boNJy':function(_0x58f0a7,_0x12c869){return _0x58f0a7!==_0x12c869;},'lvuzJ':_0x4e237c(0x15e),'trGQK':function(_0x9d95cc,_0x1fb534){return _0x9d95cc===_0x1fb534;},'EcmZN':_0x4e237c(0x261),'KSfyw':function(_0x5e2b59,_0x4b7a19){return _0x5e2b59===_0x4b7a19;},'zPBNe':'text','Tdwnh':function(_0x4f6ba1,_0x44add5){return _0x4f6ba1!==_0x44add5;},'mncer':function(_0x575622,_0x557e02){return _0x575622!==_0x557e02;},'VUZsJ':function(_0x2d577f,_0x1b4518){return _0x2d577f!==_0x1b4518;},'MfwwE':function(_0x2f8dc9,_0x55f39b){return _0x2f8dc9!==_0x55f39b;},'hhbvq':function(_0x1f938b,_0x459c72){return _0x1f938b===_0x459c72;},'skzTj':function(_0x3c14a4,_0x25a6d5){return _0x3c14a4||_0x25a6d5;}};if(_0x525172['boNJy'](typeof _0x3bbdbf,_0x525172[_0x4e237c(0x265)])||_0x525172[_0x4e237c(0x1d0)](_0x3bbdbf[_0x4e237c(0x166)],0x0))throw new IdGeneratorError(_0x525172['EcmZN'],_0x4e237c(0x276));const _0x3b2e94=_0x3a8db9||'',_0x487109=_0x3b2e94===''?[_0x3bbdbf]:_0x3bbdbf[_0x4e237c(0x157)](_0x3b2e94);let _0x2ba97b='',_0x3fd512;if(_0x525172[_0x4e237c(0x249)](_0xf7c482,_0x525172[_0x4e237c(0x226)])){if(_0x4c2da9){if(_0x487109[_0x4e237c(0x166)]!==0x2||_0x525172['Tdwnh'](_0x487109[0x0],_0x4c2da9))throw new IdGeneratorError(_0x4e237c(0x261),_0x4e237c(0x205)+_0x3b2e94+'padded\x20(got:\x20'+_0x3bbdbf+')');_0x3fd512=_0x487109[0x1];}else{if(_0x525172[_0x4e237c(0x27d)](_0x487109['length'],0x1))throw new IdGeneratorError(_0x525172['EcmZN'],'Number\x20does\x20not\x20match\x20expected\x20text\x20format\x20(got:\x20'+_0x3bbdbf+')');_0x3fd512=_0x487109[0x0];}}else{const _0x2e100e=_0x4c2da9?0x3:0x2;if(_0x525172['VUZsJ'](_0x487109['length'],_0x2e100e))throw new IdGeneratorError(_0x525172[_0x4e237c(0x267)],'Number\x20does\x20not\x20match\x20expected\x20format\x20(got:\x20'+_0x3bbdbf+_0x4e237c(0x168)+_0x2e100e+_0x4e237c(0x212));let _0x5377a2=0x0;if(_0x4c2da9){if(_0x525172[_0x4e237c(0x181)](_0x487109[_0x5377a2],_0x4c2da9))throw new IdGeneratorError(_0x525172[_0x4e237c(0x267)],_0x4e237c(0x22f)+_0x4c2da9+',\x20got\x20'+_0x487109[_0x5377a2]);_0x5377a2++;}_0x2ba97b=_0x487109[_0x5377a2++];const _0x1fa349=_0x525172[_0x4e237c(0x203)](_0xf7c482,'yyyy')?/^\d{4}$/:_0xf7c482===_0x4e237c(0x260)?/^\d{6}$/:/^\d{8}$/;if(!_0x1fa349[_0x4e237c(0x248)](_0x2ba97b))throw new IdGeneratorError('IDGEN_INVALID_NUMBER',_0x4e237c(0x1ed)+_0xf7c482+':\x20'+_0x2ba97b);_0x3fd512=_0x487109[_0x5377a2];}if(!new RegExp('^\x5cd{'+_0xa957f9+'}$')[_0x4e237c(0x248)](_0x3fd512))throw new IdGeneratorError(_0x4e237c(0x261),_0x4e237c(0x1f6)+_0xa957f9+_0x4e237c(0x183)+_0x3fd512+')');const _0x351249=parseInt(_0x3fd512,0xa),_0x3f8a25=_0x525172[_0x4e237c(0x21e)](_0x4c2da9,'_');let _0x365743;return _0xf7c482===_0x525172[_0x4e237c(0x226)]?_0x365743=_0x3f8a25+'_text':_0x365743=_0x3f8a25+'_'+_0xf7c482+'_'+_0x2ba97b,{'formatKey':_0x365743,'counterInt':_0x351249,'datePrefix':_0x2ba97b};}['_generateFromPattern'](_0x50d29d){const _0x58bfad=a0_0x3c2e55;let _0x5d08f8='';for(const _0x52175b of _0x50d29d){const _0x3f3674=PLACEHOLDER_MAP[_0x52175b];if(_0x3f3674){const _0x2db6d5=crypto[_0x58bfad(0x215)](0x0,_0x3f3674[_0x58bfad(0x166)]);_0x5d08f8+=_0x3f3674[_0x2db6d5];}else _0x5d08f8+=_0x52175b;}return _0x5d08f8;}async[a0_0x3c2e55(0x1be)](_0xa31fc8){const _0x2c5ec3=a0_0x3c2e55,_0x549030={'TNsfL':'idgen_idem_retrieve_error','jBpuJ':_0x2c5ec3(0x191)};if(!_0xa31fc8)return null;try{const _0x30a4e3=redisClient[_0x2c5ec3(0x257)](),_0x498258=await _0x30a4e3[_0x2c5ec3(0x1fb)](_0xa31fc8);if(_0x498258)return logger[_0x2c5ec3(0x25d)]({'event':_0x2c5ec3(0x17d),'key':_0xa31fc8},_0x2c5ec3(0x1ca)),JSON[_0x2c5ec3(0x175)](_0x498258);return null;}catch(_0x487c70){return logger['warn']({'event':_0x549030[_0x2c5ec3(0x258)],'error':_0x487c70[_0x2c5ec3(0x195)]},_0x549030[_0x2c5ec3(0x227)]),null;}}async[a0_0x3c2e55(0x1d4)](_0x5f2c82,_0x4f15c9){const _0x55b031=a0_0x3c2e55,_0x455731={'guXuY':_0x55b031(0x279),'iSVlC':'Idempotency\x20store\x20error'};if(!_0x5f2c82)return;try{const _0x5235e4=redisClient['getClient']();await _0x5235e4[_0x55b031(0x1a5)](_0x5f2c82,this['idemTTL'],JSON['stringify'](_0x4f15c9));}catch(_0x144798){logger[_0x55b031(0x239)]({'event':_0x455731['guXuY'],'error':_0x144798[_0x55b031(0x195)]},_0x455731[_0x55b031(0x224)]);}}async['_storeIdemCacheNX'](_0x248765,_0x52a2ea){const _0x470f7b=a0_0x3c2e55,_0x44a499={'qOfYv':function(_0x30e52c,_0x50703f){return _0x30e52c===_0x50703f;},'XRcWz':_0x470f7b(0x1c4)};if(!_0x248765)return{'stored':!![],'winnerResult':null};try{const _0x321047=redisClient[_0x470f7b(0x257)](),_0x2a03df=JSON['stringify'](_0x52a2ea),_0x137a73=await _0x321047[_0x470f7b(0x20a)](_0x248765,_0x2a03df,'EX',this[_0x470f7b(0x24a)],'NX');if(_0x44a499[_0x470f7b(0x1ea)](_0x137a73,'OK'))return{'stored':!![],'winnerResult':null};const _0x35af77=await _0x321047[_0x470f7b(0x1fb)](_0x248765);if(_0x35af77)return{'stored':![],'winnerResult':JSON['parse'](_0x35af77)};return logger[_0x470f7b(0x239)]({'event':_0x470f7b(0x1c6),'key':_0x248765},_0x470f7b(0x1a6)),{'stored':!![],'winnerResult':null};}catch(_0x2e210b){return logger[_0x470f7b(0x239)]({'event':_0x44a499['XRcWz'],'error':_0x2e210b[_0x470f7b(0x195)]},_0x470f7b(0x19d)),{'stored':!![],'winnerResult':null};}}async['_undoRandomReservation'](_0x569083,_0x433e33,_0x23dcee){const _0xc36e16=a0_0x3c2e55,_0x4e5c94={'yhDyF':_0xc36e16(0x273)};try{const _0x12287d=redisClient['getClient']();if(_0x23dcee){const _0x2d38ca=this['_buildActiveKey'](_0x569083,_0x433e33);await _0x12287d['del'](_0x2d38ca);}else{const _0x1a103e=this[_0xc36e16(0x1ae)](_0x569083);await _0x12287d['srem'](_0x1a103e,_0x433e33);}}catch(_0x4db6be){logger['warn']({'event':_0xc36e16(0x1b8),'error':_0x4db6be[_0xc36e16(0x195)]},_0x4e5c94[_0xc36e16(0x268)]);}}async[a0_0x3c2e55(0x228)](_0x195b16,_0xb3840e,_0x3d3657,_0x18fe49=0x0){const _0xd3cd4=a0_0x3c2e55,_0x34eb37={'oWEuz':function(_0x14554b,_0x40948f){return _0x14554b(_0x40948f);}};try{const _0x17cfac=redisClient['getClient'](),_0x5ce013=this['_buildMetaKey'](_0x195b16,_0xb3840e),_0x4155de=[];for(const [_0x4dcbc8,_0x743de8]of Object['entries'](_0x3d3657)){_0x4155de['push'](_0x4dcbc8,_0x34eb37[_0xd3cd4(0x237)](String,_0x743de8));}if(_0x4155de['length']>0x0){await _0x17cfac[_0xd3cd4(0x277)](_0x5ce013,..._0x4155de);if(_0x18fe49>0x0)await _0x17cfac['expire'](_0x5ce013,_0x18fe49);}}catch(_0x3982f8){logger['warn']({'event':_0xd3cd4(0x1c3),'error':_0x3982f8['message']},_0xd3cd4(0x1bf));}}async[a0_0x3c2e55(0x25e)](_0x30616c){const _0xe498ae=a0_0x3c2e55,_0xa1c19d={'sNnHe':_0xe498ae(0x230),'WsewB':_0xe498ae(0x1b2),'TANah':_0xe498ae(0x25e),'DKdpv':function(_0x3c7b0a,_0x41360c){return _0x3c7b0a(_0x41360c);},'FIBjI':function(_0x2a75ae,_0x2b2cbf){return _0x2a75ae===_0x2b2cbf;},'bTFWc':_0xe498ae(0x231)};if(!this['enabled'])throw new IdGeneratorError(_0xa1c19d[_0xe498ae(0x1c8)],_0xa1c19d['WsewB']);const _0x344435=this['_validateNumberParams'](_0x30616c),_0xa24ca=this['_validateIdempotencyKey'](_0x30616c[_0xe498ae(0x245)]),{resource:_0x80dbf8,format:_0x5d235f,prefix:_0x5130ef,separator:_0x27d51c,numDigits:_0x145150,reuseDelete:_0x6c7df5}=_0x344435,{formatKey:_0x1c4478,datePrefix:_0xb9b4fa}=this[_0xe498ae(0x216)](_0x5d235f,_0x5130ef),_0x4d2d00=this['_buildSeqKey'](_0x80dbf8,_0x1c4478),_0x38083a=this['_buildReuseKey'](_0x80dbf8,_0x1c4478),_0x2c2ce1=this[_0xe498ae(0x220)](_0x5d235f);let _0x128b3d=null;if(_0xa24ca){_0x128b3d=this[_0xe498ae(0x189)](_0xa1c19d[_0xe498ae(0x19f)],_0x80dbf8,_0x1c4478,_0xa24ca);const _0x3e6d61=await this['_retrieveIdemCache'](_0x128b3d);if(_0x3e6d61)return _0x3e6d61;}const _0x3fb7a4=redisClient['getClient'](),_0x15ea5d=await _0x3fb7a4['eval'](LUA_GENERATE_NUMBER,0x2,_0x4d2d00,_0x38083a,_0x6c7df5?'1':'0',_0xa1c19d['DKdpv'](String,_0x2c2ce1)),_0x32f7a5=_0x15ea5d[0x0],_0x4ce694=_0xa1c19d[_0xe498ae(0x1a8)](_0x15ea5d[0x1],0x1),_0x3ab867=this['_formatNumber']({'format':_0x5d235f,'prefix':_0x5130ef,'datePrefix':_0xb9b4fa,'separator':_0x27d51c,'numDigits':_0x145150,'counterInt':_0x32f7a5}),_0x307293={'value':_0x3ab867,'counter':_0x32f7a5,'resource':_0x80dbf8,'formatKey':_0x1c4478,'isReused':_0x4ce694,'generatedAt':new Date()['toISOString']()},_0x5eccac=await this[_0xe498ae(0x1f1)](_0x128b3d,_0x307293);if(!_0x5eccac['stored']){try{await _0x3fb7a4[_0xe498ae(0x164)](LUA_RELEASE_NUMBER,0x1,_0x38083a,String(_0x32f7a5),String(_0x2c2ce1));}catch(_0x20415a){logger['warn']({'event':_0xe498ae(0x196),'error':_0x20415a[_0xe498ae(0x195)],'resource':_0x80dbf8,'formatKey':_0x1c4478,'counterInt':_0x32f7a5},'Failed\x20to\x20release\x20counter\x20for\x20idempotency\x20loser');}return logger[_0xe498ae(0x25d)]({'event':'idgen_number_idem_loser','resource':_0x80dbf8,'formatKey':_0x1c4478,'counter':_0x32f7a5},_0xe498ae(0x20c)),_0x5eccac[_0xe498ae(0x19c)];}return this['_updateMeta'](_0x80dbf8,_0x1c4478,{'lastValue':_0x3ab867,'lastCounter':_0x32f7a5,'lastIsReused':_0x4ce694,'lastGeneratedAt':_0x307293[_0xe498ae(0x1a1)]},_0x2c2ce1),logger['info']({'event':_0xa1c19d[_0xe498ae(0x23f)],'resource':_0x80dbf8,'formatKey':_0x1c4478,'counter':_0x32f7a5,'isReused':_0x4ce694},'ID\x20Generator\x20number:\x20'+_0x3ab867),_0x307293;}async[a0_0x3c2e55(0x1bd)](_0x10c658){const _0x517299=a0_0x3c2e55,_0x41e7ca={'otges':_0x517299(0x26f),'YbYML':function(_0x3f35de,_0x23220a){return _0x3f35de!==_0x23220a;},'NkFBI':function(_0x2676f6,_0x308172){return _0x2676f6!==_0x308172;},'CsHCG':'string','SdBdg':function(_0x29fffb,_0x4427f6){return _0x29fffb===_0x4427f6;},'KfTwI':_0x517299(0x264),'oCwxF':_0x517299(0x1d8),'XBHXK':function(_0x4c1bab,_0x1327be){return _0x4c1bab(_0x1327be);}};if(!this[_0x517299(0x209)])throw new IdGeneratorError(_0x517299(0x230),_0x41e7ca['otges']);let _0x5b45a2,_0x570af1,_0x11875d,_0x47512e;const _0x4c01b4=this['_validateIdempotencyKey'](_0x10c658[_0x517299(0x245)]);if(_0x41e7ca['YbYML'](_0x10c658['counterInt'],undefined)&&_0x41e7ca['YbYML'](_0x10c658[_0x517299(0x22b)],null)){this[_0x517299(0x1a2)](_0x10c658['resource']),_0x5b45a2=_0x10c658['resource'];if(_0x41e7ca[_0x517299(0x269)](typeof _0x10c658['formatKey'],_0x41e7ca[_0x517299(0x1ee)])||_0x41e7ca['SdBdg'](_0x10c658[_0x517299(0x1d9)]['length'],0x0))throw new IdGeneratorError(_0x517299(0x261),_0x41e7ca[_0x517299(0x1b3)]);_0x570af1=_0x10c658[_0x517299(0x1d9)];if(!Number[_0x517299(0x211)](_0x10c658[_0x517299(0x22b)])||_0x10c658[_0x517299(0x22b)]<0x1)throw new IdGeneratorError('IDGEN_INVALID_NUMBER','counterInt\x20must\x20be\x20positive\x20integer\x20(got:\x20'+_0x10c658[_0x517299(0x22b)]+')');_0x11875d=_0x10c658[_0x517299(0x22b)];const _0x28fae0=_0x570af1['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/);_0x47512e=_0x28fae0?_0x28fae0[0x1]:_0x41e7ca['oCwxF'];}else{const _0x3a9b09=this['_validateNumberParams'](_0x10c658),_0x52f2ca=this['_parseNumber']({'format':_0x3a9b09[_0x517299(0x187)],'prefix':_0x3a9b09['prefix'],'separator':_0x3a9b09['separator'],'numDigits':_0x3a9b09['numDigits'],'number':_0x10c658['number']});_0x5b45a2=_0x3a9b09[_0x517299(0x236)],_0x570af1=_0x52f2ca['formatKey'],_0x11875d=_0x52f2ca['counterInt'],_0x47512e=_0x3a9b09['format'];}const _0x47e41c=this['_buildReuseKey'](_0x5b45a2,_0x570af1),_0x5edbf5=this['_getCounterTTL'](_0x47512e);let _0x722302=null;if(_0x4c01b4){_0x722302=this['_buildIdemKey'](_0x517299(0x1c9),_0x5b45a2,_0x570af1,_0x4c01b4);const _0x1ac663=await this['_retrieveIdemCache'](_0x722302);if(_0x1ac663)return _0x1ac663;}const _0x55bf31=redisClient[_0x517299(0x257)]();await _0x55bf31['eval'](LUA_RELEASE_NUMBER,0x1,_0x47e41c,_0x41e7ca[_0x517299(0x21d)](String,_0x11875d),String(_0x5edbf5));const _0x3d9949={'released':!![],'resource':_0x5b45a2,'formatKey':_0x570af1,'counter':_0x11875d,'releasedAt':new Date()['toISOString']()};return await this[_0x517299(0x1d4)](_0x722302,_0x3d9949),this['_updateMeta'](_0x5b45a2,_0x570af1,{'lastReleasedCounter':_0x11875d,'lastReleasedAt':_0x3d9949[_0x517299(0x270)]},_0x5edbf5),logger[_0x517299(0x25d)]({'event':'idgen_number_released','resource':_0x5b45a2,'formatKey':_0x570af1,'counter':_0x11875d},_0x517299(0x1fd)+_0x11875d),_0x3d9949;}async['reserveNumber'](_0x4d9752){const _0x2dc53d=a0_0x3c2e55,_0x566a05={'HHDjK':'ID\x20Generator\x20is\x20disabled\x20(set\x20IDGEN_ENABLED=true)','jyEOm':_0x2dc53d(0x222),'BgjhR':function(_0xd38b7,_0x1e6798){return _0xd38b7*_0x1e6798;},'rULKV':'formatKey','ffEei':'format','oRNmb':_0x2dc53d(0x262),'Pgazy':'numDigits','ZKBam':'datePrefix','IwTIq':function(_0x406063,_0x51c3ed){return _0x406063(_0x51c3ed);},'Pmesy':_0x2dc53d(0x19e),'VKKMe':function(_0x2a0329,_0x45c8a6){return _0x2a0329(_0x45c8a6);},'diewA':_0x2dc53d(0x263),'bVzCZ':'idgen_reserve_value_persist_error','swmLd':'Failed\x20to\x20cancel\x20reservation\x20for\x20idempotency\x20loser'};if(!this[_0x2dc53d(0x209)])throw new IdGeneratorError(_0x2dc53d(0x230),_0x566a05[_0x2dc53d(0x208)]);const _0x40b0c7=this[_0x2dc53d(0x162)](_0x4d9752),_0x337242=this[_0x2dc53d(0x176)](_0x4d9752[_0x2dc53d(0x1a9)]),_0x56766d=this[_0x2dc53d(0x204)](_0x4d9752[_0x2dc53d(0x245)]),{resource:_0x275af,format:_0x1cd0d1,prefix:_0x48eb3a,separator:_0x403303,numDigits:_0x56d0f9,reuseDelete:_0x4c268a}=_0x40b0c7,{formatKey:_0x4bb17d,datePrefix:_0x4c9810}=this[_0x2dc53d(0x216)](_0x1cd0d1,_0x48eb3a),_0x3340a9=this[_0x2dc53d(0x17b)](_0x275af,_0x4bb17d),_0x3f2bf0=this[_0x2dc53d(0x247)](_0x275af,_0x4bb17d),_0x42fd89=this['_buildReservationIndexKey'](_0x275af,_0x4bb17d),_0x34fc47=this[_0x2dc53d(0x220)](_0x1cd0d1);let _0x54b962=null;if(_0x56766d){_0x54b962=this['_buildIdemKey'](_0x566a05['jyEOm'],_0x275af,_0x4bb17d,_0x56766d);const _0x30e3b7=await this['_retrieveIdemCache'](_0x54b962);if(_0x30e3b7)return _0x30e3b7;}const _0x4b3368=crypto[_0x2dc53d(0x170)](),_0x3782bb=this['_buildReservationKey'](_0x4b3368),_0x522087=this['_buildReservationKeyPrefix'](),_0x4b28a6=Date['now'](),_0x5a8324=_0x4b28a6+_0x337242*0x3e8,_0x1d08ca=_0x566a05[_0x2dc53d(0x16d)](_0x337242,0x3e8),_0xa2a66e=new Date(_0x4b28a6)[_0x2dc53d(0x1ce)](),_0x1d1c48=new Date(_0x5a8324)['toISOString'](),_0x1fa49d=['resource',_0x275af,_0x566a05['rULKV'],_0x4bb17d,_0x566a05['ffEei'],_0x1cd0d1,'prefix',_0x48eb3a,_0x566a05['oRNmb'],_0x403303,_0x566a05[_0x2dc53d(0x21c)],String(_0x56d0f9),_0x566a05['ZKBam'],_0x4c9810||'','createdAt',_0xa2a66e,_0x2dc53d(0x1db),_0x1d1c48,'ttlMs',_0x566a05[_0x2dc53d(0x171)](String,_0x1d08ca)];_0x56766d&&_0x1fa49d['push'](_0x566a05['Pmesy'],_0x56766d);const _0x2f50fa=redisClient['getClient'](),_0x2880d5=await _0x2f50fa['eval'](LUA_RESERVE_NUMBER,0x3,_0x3340a9,_0x3f2bf0,_0x42fd89,_0x4c268a?'1':'0',String(_0x34fc47),_0x4b3368,_0x3782bb,String(_0x1d08ca),String(_0x5a8324),_0x566a05['VKKMe'](String,_0x4b28a6),_0x522087,..._0x1fa49d),_0xf124e9=_0x2880d5[0x0],_0x27c341=_0x2880d5[0x1]===0x1,_0x1be9d9=_0x2880d5[0x2]||0x0;let _0x5ec2ef;try{_0x5ec2ef=this['_formatNumber']({'format':_0x1cd0d1,'prefix':_0x48eb3a,'datePrefix':_0x4c9810,'separator':_0x403303,'numDigits':_0x56d0f9,'counterInt':_0xf124e9});}catch(_0x4ff031){try{await _0x2f50fa['eval'](LUA_CANCEL_RESERVATION,0x3,_0x3782bb,_0x42fd89,_0x3f2bf0,_0x4b3368,String(_0x34fc47));}catch(_0x2dc690){logger['warn']({'event':_0x2dc53d(0x186),'error':_0x2dc690['message'],'resource':_0x275af,'formatKey':_0x4bb17d,'counterInt':_0xf124e9,'token':_0x4b3368},'Failed\x20to\x20compensate\x20reservation\x20after\x20counter\x20overflow');}throw _0x4ff031;}try{await _0x2f50fa[_0x2dc53d(0x277)](_0x3782bb,_0x566a05['diewA'],_0x5ec2ef);}catch(_0x3df433){logger['warn']({'event':_0x566a05['bVzCZ'],'error':_0x3df433[_0x2dc53d(0x195)],'resource':_0x275af,'formatKey':_0x4bb17d,'counterInt':_0xf124e9,'token':_0x4b3368},_0x2dc53d(0x23e));}const _0x5ecdf9={'token':_0x4b3368,'value':_0x5ec2ef,'counter':_0xf124e9,'resource':_0x275af,'formatKey':_0x4bb17d,'isReused':_0x27c341,'createdAt':_0xa2a66e,'expiresAt':_0x1d1c48,'reapedCount':_0x1be9d9},_0x5b7f76=await this['_storeIdemCacheNX'](_0x54b962,_0x5ecdf9);if(!_0x5b7f76[_0x2dc53d(0x17e)]){try{await _0x2f50fa[_0x2dc53d(0x164)](LUA_CANCEL_RESERVATION,0x3,_0x3782bb,_0x42fd89,_0x3f2bf0,_0x4b3368,_0x566a05[_0x2dc53d(0x171)](String,_0x34fc47));}catch(_0x37fb69){logger['warn']({'event':_0x2dc53d(0x25a),'error':_0x37fb69['message'],'resource':_0x275af,'formatKey':_0x4bb17d,'counterInt':_0xf124e9,'token':_0x4b3368},_0x566a05[_0x2dc53d(0x1ad)]);}return logger[_0x2dc53d(0x25d)]({'event':'idgen_reserve_idem_loser','resource':_0x275af,'formatKey':_0x4bb17d,'counter':_0xf124e9,'token':_0x4b3368},'ID\x20Generator\x20reserve\x20idem\x20race\x20lost,\x20returning\x20winner\x20envelope'),_0x5b7f76[_0x2dc53d(0x19c)];}return this['_updateMeta'](_0x275af,_0x4bb17d,{'lastReservedCounter':_0xf124e9,'lastReservedAt':_0xa2a66e,'lastReapedCount':_0x1be9d9},_0x34fc47),logger[_0x2dc53d(0x25d)]({'event':_0x2dc53d(0x26a),'resource':_0x275af,'formatKey':_0x4bb17d,'counter':_0xf124e9,'isReused':_0x27c341,'token':_0x4b3368,'ttl':_0x337242,'reapedCount':_0x1be9d9},'ID\x20Generator\x20number\x20reserved:\x20'+_0x5ec2ef+'\x20(token='+_0x4b3368+')'),_0x5ecdf9;}async['confirmReservation'](_0x3299bf){const _0x378fbd=a0_0x3c2e55,_0x38731f={'JCvTS':'idgen'};if(!this[_0x378fbd(0x209)])throw new IdGeneratorError('IDGEN_DISABLED',_0x378fbd(0x26f));const _0x275958=this[_0x378fbd(0x24c)](_0x3299bf&&_0x3299bf[_0x378fbd(0x182)]),_0x594705=this[_0x378fbd(0x204)](_0x3299bf&&_0x3299bf['idempotencyKey']);let _0x19af97=null;if(_0x594705){_0x19af97=idempotencyManager['buildDeterministicKey'](_0x38731f[_0x378fbd(0x27c)],_0x378fbd(0x1ef),_0x275958+':'+_0x594705);const _0xd8d755=await this[_0x378fbd(0x1be)](_0x19af97);if(_0xd8d755)return _0xd8d755;}const _0x4dcd42=await this['_getReservationContext'](_0x275958),_0x9cabdc=redisClient['getClient'](),_0x2c3f51=await _0x9cabdc[_0x378fbd(0x164)](LUA_CONFIRM_RESERVATION,0x2,_0x4dcd42['rsvKey'],_0x4dcd42[_0x378fbd(0x19a)],_0x275958);if(!_0x2c3f51||_0x2c3f51[0x0]!==0x1)throw new IdGeneratorError(_0x378fbd(0x1c7),_0x378fbd(0x1a4)+_0x275958,{'token':_0x275958});const _0x3cb49c=parseInt(_0x2c3f51[0x1],0xa),_0x3cff92=_0x2c3f51[0x2],_0x48ba0e=_0x2c3f51[0x3],_0x4aca89=new Date()['toISOString'](),_0x315d67={'confirmed':!![],'token':_0x275958,'value':_0x3cff92,'counter':_0x3cb49c,'resource':_0x4dcd42[_0x378fbd(0x236)],'formatKey':_0x48ba0e,'confirmedAt':_0x4aca89};await this[_0x378fbd(0x1d4)](_0x19af97,_0x315d67);const _0x42ce29=_0x48ba0e[_0x378fbd(0x199)](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x3af342=_0x42ce29?_0x42ce29[0x1]:_0x378fbd(0x1d8),_0x5b27bb=this[_0x378fbd(0x220)](_0x3af342);return this['_updateMeta'](_0x4dcd42[_0x378fbd(0x236)],_0x48ba0e,{'lastConfirmedCounter':_0x3cb49c,'lastConfirmedAt':_0x4aca89},_0x5b27bb),logger[_0x378fbd(0x25d)]({'event':_0x378fbd(0x21f),'resource':_0x4dcd42['resource'],'formatKey':_0x48ba0e,'counter':_0x3cb49c,'token':_0x275958},_0x378fbd(0x1b5)+_0x3cff92+'\x20(token='+_0x275958+')'),_0x315d67;}async[a0_0x3c2e55(0x242)](_0x2e79c9){const _0x347850=a0_0x3c2e55,_0x5415c2={'NGLYQ':'IDGEN_DISABLED','Ulpkq':_0x347850(0x26f),'tJPJR':_0x347850(0x1d2)};if(!this['enabled'])throw new IdGeneratorError(_0x5415c2[_0x347850(0x1ba)],_0x5415c2[_0x347850(0x21b)]);const _0x169de5=this['_validateReservationToken'](_0x2e79c9&&_0x2e79c9[_0x347850(0x182)]),_0x163561=this['_validateIdempotencyKey'](_0x2e79c9&&_0x2e79c9[_0x347850(0x245)]);let _0x36279a=null;if(_0x163561){_0x36279a=idempotencyManager[_0x347850(0x194)](_0x5415c2[_0x347850(0x17f)],'reserve_cancel',_0x169de5+':'+_0x163561);const _0x52cb55=await this[_0x347850(0x1be)](_0x36279a);if(_0x52cb55)return _0x52cb55;}const _0x3be619=await this[_0x347850(0x1fc)](_0x169de5),_0x612996=this[_0x347850(0x247)](_0x3be619['resource'],_0x3be619['formatKey']),_0x3a62c6=_0x3be619[_0x347850(0x1d9)]['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x4b05cb=_0x3a62c6?_0x3a62c6[0x1]:'text',_0x1557b4=this[_0x347850(0x220)](_0x4b05cb),_0x5c8c2f=redisClient['getClient'](),_0x468857=await _0x5c8c2f[_0x347850(0x164)](LUA_CANCEL_RESERVATION,0x3,_0x3be619[_0x347850(0x1d3)],_0x3be619['rsvIdxKey'],_0x612996,_0x169de5,String(_0x1557b4));if(!_0x468857||_0x468857[0x0]!==0x1)throw new IdGeneratorError('IDGEN_RESERVATION_NOT_FOUND',_0x347850(0x1a4)+_0x169de5,{'token':_0x169de5});const _0x2fb578=parseInt(_0x468857[0x1],0xa),_0x5e701e=_0x468857[0x2],_0x34dad6=_0x468857[0x3],_0x1700ed=new Date()['toISOString'](),_0x5b865b={'cancelled':!![],'token':_0x169de5,'value':_0x5e701e,'counter':_0x2fb578,'resource':_0x3be619['resource'],'formatKey':_0x34dad6,'releasedToReuse':!![],'cancelledAt':_0x1700ed};return await this['_storeIdemCache'](_0x36279a,_0x5b865b),this['_updateMeta'](_0x3be619[_0x347850(0x236)],_0x34dad6,{'lastCancelledCounter':_0x2fb578,'lastCancelledAt':_0x1700ed},_0x1557b4),logger['info']({'event':_0x347850(0x1a7),'resource':_0x3be619[_0x347850(0x236)],'formatKey':_0x34dad6,'counter':_0x2fb578,'token':_0x169de5},'ID\x20Generator\x20reservation\x20cancelled:\x20'+_0x5e701e+_0x347850(0x1ec)+_0x169de5+')'),_0x5b865b;}async['extendReservation'](_0x5df918){const _0x2f34e2=a0_0x3c2e55,_0x1ac647={'VRYel':'idgen','WjYzQ':'reserve_extend','kuWXc':function(_0x436229,_0x583e18){return _0x436229*_0x583e18;},'zVOrP':function(_0x40acbb,_0x59e39d){return _0x40acbb*_0x59e39d;},'Xlmsd':_0x2f34e2(0x1d8),'uSQcf':_0x2f34e2(0x17a)};if(!this['enabled'])throw new IdGeneratorError(_0x2f34e2(0x230),_0x2f34e2(0x26f));const _0x5e1fb6=this[_0x2f34e2(0x24c)](_0x5df918&&_0x5df918[_0x2f34e2(0x182)]),_0x15a80e=this['_validateReserveTTL'](_0x5df918&&_0x5df918[_0x2f34e2(0x1a9)]),_0xa12f0=this[_0x2f34e2(0x204)](_0x5df918&&_0x5df918[_0x2f34e2(0x245)]);let _0x550266=null;if(_0xa12f0){_0x550266=idempotencyManager[_0x2f34e2(0x194)](_0x1ac647['VRYel'],_0x1ac647['WjYzQ'],_0x5e1fb6+':'+_0xa12f0);const _0x5a8b8a=await this[_0x2f34e2(0x1be)](_0x550266);if(_0x5a8b8a)return _0x5a8b8a;}const _0x413b81=await this[_0x2f34e2(0x1fc)](_0x5e1fb6),_0x1383e1=Date[_0x2f34e2(0x1ff)](),_0x3590d1=_0x1383e1+_0x1ac647['kuWXc'](_0x15a80e,0x3e8),_0x4518ea=_0x1ac647['zVOrP'](_0x15a80e,0x3e8),_0xf557fa=new Date(_0x3590d1)[_0x2f34e2(0x1ce)](),_0x35f27a=redisClient[_0x2f34e2(0x257)](),_0x218e36=await _0x35f27a[_0x2f34e2(0x164)](LUA_EXTEND_RESERVATION,0x2,_0x413b81['rsvKey'],_0x413b81['rsvIdxKey'],_0x5e1fb6,String(_0x4518ea),String(_0x3590d1),_0xf557fa);if(!_0x218e36||_0x218e36[0x0]!==0x1)throw new IdGeneratorError('IDGEN_RESERVATION_NOT_FOUND','Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x5e1fb6,{'token':_0x5e1fb6});const _0x7090fb=_0x218e36[0x1],_0x3e4765=parseInt(_0x218e36[0x2],0xa),_0x41be19=_0x218e36[0x3],_0x587789=_0x218e36[0x4],_0x475b92=new Date(_0x1383e1)['toISOString'](),_0x166de0={'extended':!![],'token':_0x5e1fb6,'previousExpiresAt':_0x7090fb,'expiresAt':_0xf557fa,'ttlMs':_0x4518ea,'resource':_0x413b81['resource'],'formatKey':_0x587789,'counter':_0x3e4765,'value':_0x41be19,'extendedAt':_0x475b92};await this[_0x2f34e2(0x1d4)](_0x550266,_0x166de0);const _0x400413=_0x587789['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x399b60=_0x400413?_0x400413[0x1]:_0x1ac647['Xlmsd'],_0x4e9224=this['_getCounterTTL'](_0x399b60);return this[_0x2f34e2(0x228)](_0x413b81[_0x2f34e2(0x236)],_0x587789,{'lastExtendedCounter':_0x3e4765,'lastExtendedAt':_0x475b92},_0x4e9224),logger['info']({'event':_0x1ac647[_0x2f34e2(0x16c)],'resource':_0x413b81[_0x2f34e2(0x236)],'formatKey':_0x587789,'counter':_0x3e4765,'token':_0x5e1fb6,'ttl':_0x15a80e},_0x2f34e2(0x233)+_0x41be19+'\x20(token='+_0x5e1fb6+',\x20+'+_0x15a80e+'s)'),_0x166de0;}async[a0_0x3c2e55(0x266)](_0x1abb94){const _0x598e6d=a0_0x3c2e55,_0x30ccf9={'OfHBA':_0x598e6d(0x230),'eMrfv':function(_0x428568,_0x903d8a){return _0x428568===_0x903d8a;},'cmcdI':function(_0x4bce51,_0x9ea045){return _0x4bce51===_0x9ea045;},'TQeuK':function(_0x2783bd,_0x5c7efc){return _0x2783bd===_0x5c7efc;},'cAfjl':_0x598e6d(0x25e)};if(!this[_0x598e6d(0x209)])throw new IdGeneratorError(_0x30ccf9['OfHBA'],_0x598e6d(0x26f));const _0x2e6332=this['_validateReservationToken'](_0x1abb94&&_0x1abb94[_0x598e6d(0x182)]),_0x4e96fa=this[_0x598e6d(0x1fa)](_0x2e6332),_0x517088=redisClient['getClient'](),_0x2ab3c0=_0x517088['pipeline']();_0x2ab3c0[_0x598e6d(0x1b0)](_0x4e96fa),_0x2ab3c0[_0x598e6d(0x240)](_0x4e96fa);const _0x4f76db=await _0x2ab3c0['exec'](),_0x1f851c=_0x4f76db&&_0x4f76db[0x0]&&_0x4f76db[0x0][0x1],_0x3c2b43=_0x4f76db&&_0x4f76db[0x1]&&_0x4f76db[0x1][0x1];if(!_0x1f851c||Object['keys'](_0x1f851c)[_0x598e6d(0x166)]===0x0)throw new IdGeneratorError('IDGEN_RESERVATION_NOT_FOUND','Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x2e6332,{'token':_0x2e6332});return{'token':_0x2e6332,'resource':_0x1f851c['resource']||null,'formatKey':_0x1f851c['formatKey']||null,'format':_0x1f851c['format']||null,'prefix':_0x1f851c[_0x598e6d(0x259)]||'','separator':_0x1f851c['separator']||'','numDigits':_0x1f851c['numDigits']?parseInt(_0x1f851c['numDigits'],0xa):null,'datePrefix':_0x1f851c[_0x598e6d(0x235)]||'','counter':_0x1f851c[_0x598e6d(0x1bb)]?parseInt(_0x1f851c[_0x598e6d(0x1bb)],0xa):null,'value':_0x1f851c['value']||null,'isReused':_0x30ccf9['eMrfv'](_0x1f851c['isReused'],'1')||_0x30ccf9['cmcdI'](_0x1f851c[_0x598e6d(0x1e3)],0x1),'createdAt':_0x1f851c[_0x598e6d(0x173)]||null,'expiresAt':_0x1f851c[_0x598e6d(0x1db)]||null,'ttlRemainingMs':_0x30ccf9[_0x598e6d(0x184)](typeof _0x3c2b43,_0x30ccf9[_0x598e6d(0x185)])&&_0x3c2b43>=0x0?_0x3c2b43:null};}async['_getReservationContext'](_0x9085f8){const _0xd49393=a0_0x3c2e55,_0x38d039={'XDaYy':_0xd49393(0x1d9),'jqUIR':function(_0x2a6b01,_0x1b3e7b){return _0x2a6b01||_0x1b3e7b;}},_0x2c9b38=this['_buildReservationKey'](_0x9085f8),_0x371abd=redisClient['getClient'](),_0x6208e9=await _0x371abd[_0xd49393(0x251)](_0x2c9b38,_0xd49393(0x236),_0x38d039['XDaYy']),_0x3a09c1=_0x6208e9&&_0x6208e9[0x0],_0x347ba4=_0x6208e9&&_0x6208e9[0x1];if(_0x38d039[_0xd49393(0x27a)](!_0x3a09c1,!_0x347ba4))throw new IdGeneratorError(_0xd49393(0x1c7),_0xd49393(0x1a4)+_0x9085f8,{'token':_0x9085f8});return{'resource':_0x3a09c1,'formatKey':_0x347ba4,'rsvKey':_0x2c9b38,'rsvIdxKey':this['_buildReservationIndexKey'](_0x3a09c1,_0x347ba4)};}async['random'](_0x21f791){const _0x570f8f=a0_0x3c2e55,_0x418de9={'Clbiq':function(_0x54ef54,_0x2d3f67){return _0x54ef54===_0x2d3f67;},'XNkrL':function(_0xb4c987,_0x2ade0c){return _0xb4c987===_0x2ade0c;},'RfhqZ':function(_0xad2753,_0x32f156){return _0xad2753===_0x32f156;},'QShFU':'IDGEN_UNIQUE_RETRY_EXHAUSTED','OZYBE':function(_0x58730c,_0x108b53){return _0x58730c&&_0x108b53;},'hDJBu':function(_0x135de3,_0x400a1b){return _0x135de3*_0x400a1b;},'EOJCP':function(_0x3d9988,_0x3d1c5d){return _0x3d9988||_0x3d1c5d;}};if(!this['enabled'])throw new IdGeneratorError(_0x570f8f(0x230),'ID\x20Generator\x20is\x20disabled');this[_0x570f8f(0x1a2)](_0x21f791['resource']),this[_0x570f8f(0x22e)](_0x21f791[_0x570f8f(0x217)]);const _0x553274=this['_validateTTL'](_0x21f791['ttl']),_0x77ff23=this['_validateMaxRetry'](_0x21f791['maxRetry']),_0x4e45a0=this['_validateIdempotencyKey'](_0x21f791['idempotencyKey']),_0x4bdac7=_0x418de9[_0x570f8f(0x1f5)](_0x21f791[_0x570f8f(0x1b4)],!![]),{resource:_0x5a6332,pattern:_0x1324b3}=_0x21f791;let _0x3a37a4=null;if(_0x4e45a0){_0x3a37a4=this['_buildIdemKey'](_0x570f8f(0x275),_0x5a6332,null,_0x4e45a0);const _0x2cddfc=await this[_0x570f8f(0x1be)](_0x3a37a4);if(_0x2cddfc)return _0x2cddfc;}const _0x4d2421=redisClient['getClient']();let _0x5f2504=null,_0x5df9e8=0x0;if(!_0x4bdac7)_0x5f2504=this['_generateFromPattern'](_0x1324b3),_0x5df9e8=0x1;else{for(let _0x8f9484=0x0;_0x8f9484<_0x77ff23;_0x8f9484++){_0x5df9e8++;const _0x1604f8=this[_0x570f8f(0x241)](_0x1324b3);if(_0x553274){const _0x362d65=this['_buildActiveKey'](_0x5a6332,_0x1604f8),_0x32ea25=await _0x4d2421[_0x570f8f(0x20a)](_0x362d65,'1','EX',_0x553274,'NX');if(_0x418de9[_0x570f8f(0x1d7)](_0x32ea25,'OK')){_0x5f2504=_0x1604f8;break;}}else{const _0x21fa04=this[_0x570f8f(0x1ae)](_0x5a6332),_0x4bbc0a=await _0x4d2421[_0x570f8f(0x207)](_0x21fa04,_0x1604f8);if(_0x4bbc0a===0x1){_0x5f2504=_0x1604f8;break;}}}if(_0x418de9['RfhqZ'](_0x5f2504,null))throw new IdGeneratorError(_0x418de9['QShFU'],'Could\x20not\x20generate\x20unique\x20value\x20after\x20'+_0x77ff23+_0x570f8f(0x232),{'resource':_0x5a6332,'pattern':_0x1324b3,'maxRetry':_0x77ff23});}const _0x21bc7e={'value':_0x5f2504,'resource':_0x5a6332,'pattern':_0x1324b3,'attemptCount':_0x5df9e8,'generatedAt':new Date()['toISOString']()};_0x418de9['OZYBE'](_0x553274,_0x4bdac7)&&(_0x21bc7e[_0x570f8f(0x1db)]=new Date(Date[_0x570f8f(0x1ff)]()+_0x418de9[_0x570f8f(0x1f8)](_0x553274,0x3e8))[_0x570f8f(0x1ce)]());const _0x3c43a0=await this[_0x570f8f(0x1f1)](_0x3a37a4,_0x21bc7e);if(!_0x3c43a0[_0x570f8f(0x17e)])return _0x4bdac7&&await this[_0x570f8f(0x1b1)](_0x5a6332,_0x5f2504,_0x553274),logger[_0x570f8f(0x25d)]({'event':'idgen_random_idem_loser','resource':_0x5a6332,'pattern':_0x1324b3,'value':_0x5f2504},'ID\x20Generator\x20random\x20idem\x20race\x20lost,\x20returning\x20winner\x20envelope'),_0x3c43a0[_0x570f8f(0x19c)];return logger['info']({'event':'idgen_random_generated','resource':_0x5a6332,'pattern':_0x1324b3,'attemptCount':_0x5df9e8,'ensureUnique':_0x4bdac7,'ttl':_0x418de9['EOJCP'](_0x553274,0x0)},'ID\x20Generator\x20random:\x20'+_0x5f2504),_0x21bc7e;}async['pin'](_0x4155fb){const _0x37064f=a0_0x3c2e55,_0x493125={'XypQN':function(_0x45cb73,_0x19bd15){return _0x45cb73==_0x19bd15;},'kuSms':function(_0x37effb,_0x152e85){return _0x37effb<_0x152e85;},'iuxdU':'IDGEN_INVALID_DIGITS'},_0x419caa=_0x493125[_0x37064f(0x16b)](_0x4155fb[_0x37064f(0x198)],null)?this[_0x37064f(0x179)]:_0x4155fb[_0x37064f(0x198)];if(!Number['isInteger'](_0x419caa)||_0x493125[_0x37064f(0x271)](_0x419caa,MIN_PIN_DIGITS)||_0x419caa>MAX_PIN_DIGITS)throw new IdGeneratorError(_0x493125['iuxdU'],'Invalid\x20digits:\x20must\x20be\x20integer\x20'+MIN_PIN_DIGITS+'-'+MAX_PIN_DIGITS+_0x37064f(0x1fe)+_0x419caa+')');const _0x56c8fc='9'['repeat'](_0x419caa);return this['random']({'resource':_0x4155fb[_0x37064f(0x236)],'pattern':_0x56c8fc,'ensureUnique':_0x4155fb[_0x37064f(0x1b4)]===!![],'ttl':_0x4155fb['ttl'],'maxRetry':_0x4155fb['maxRetry'],'idempotencyKey':_0x4155fb[_0x37064f(0x245)]});}async['serial'](_0x4e9138){const _0xcfc635=a0_0x3c2e55,_0x3d4fed={'sjHeH':function(_0x2ec7a6,_0x4fed5f){return _0x2ec7a6!==_0x4fed5f;}},_0x1bbf25=_0x4e9138['pattern']||this['defaultSerialPattern'];return this[_0xcfc635(0x275)]({'resource':_0x4e9138[_0xcfc635(0x236)],'pattern':_0x1bbf25,'ensureUnique':_0x3d4fed['sjHeH'](_0x4e9138[_0xcfc635(0x1b4)],![]),'ttl':_0x4e9138[_0xcfc635(0x1a9)],'maxRetry':_0x4e9138['maxRetry'],'idempotencyKey':_0x4e9138[_0xcfc635(0x245)]});}async['code'](_0x434d9e){const _0x5f5382=a0_0x3c2e55,_0x309640={'OYZcj':function(_0x524bf9,_0x12d883){return _0x524bf9!==_0x12d883;}},_0x3a6464=_0x434d9e['pattern']||this[_0x5f5382(0x252)];return this['random']({'resource':_0x434d9e['resource'],'pattern':_0x3a6464,'ensureUnique':_0x309640['OYZcj'](_0x434d9e['ensureUnique'],![]),'ttl':_0x434d9e['ttl'],'maxRetry':_0x434d9e[_0x5f5382(0x213)],'idempotencyKey':_0x434d9e['idempotencyKey']});}async['consume'](_0x3dbd49){const _0x189b71=a0_0x3c2e55,_0x4ca6ea={'TMVdr':'IDGEN_DISABLED','dxNbZ':_0x189b71(0x26f),'VXVub':function(_0x9d08cc,_0x35eaf3){return _0x9d08cc!==_0x35eaf3;},'WUkgR':_0x189b71(0x1aa),'wysro':function(_0x527676,_0x5b432f){return _0x527676>_0x5b432f;},'aiNXC':function(_0x48f534,_0x2af1e1){return _0x48f534+_0x2af1e1;},'LqJdH':_0x189b71(0x274)};if(!this['enabled'])throw new IdGeneratorError(_0x4ca6ea[_0x189b71(0x1d1)],_0x4ca6ea['dxNbZ']);this[_0x189b71(0x1a2)](_0x3dbd49[_0x189b71(0x236)]);if(_0x4ca6ea['VXVub'](typeof _0x3dbd49[_0x189b71(0x263)],_0x189b71(0x15e))||_0x3dbd49['value'][_0x189b71(0x166)]===0x0)throw new IdGeneratorError(_0x189b71(0x261),_0x4ca6ea['WUkgR']);const {resource:_0x957a88,value:_0x2a45b1}=_0x3dbd49,_0x2abf0c=redisClient[_0x189b71(0x257)](),_0x503ffc=this[_0x189b71(0x163)](_0x957a88,_0x2a45b1),_0x46a585=this[_0x189b71(0x1ae)](_0x957a88),[_0x90e89f,_0x229d46]=await Promise[_0x189b71(0x27e)]([_0x2abf0c['del'](_0x503ffc),_0x2abf0c['srem'](_0x46a585,_0x2a45b1)]),_0x68de1c=_0x4ca6ea['wysro'](_0x4ca6ea['aiNXC'](_0x90e89f,_0x229d46),0x0);return logger[_0x189b71(0x25d)]({'event':_0x4ca6ea[_0x189b71(0x15a)],'resource':_0x957a88,'value':_0x2a45b1,'consumed':_0x68de1c},_0x189b71(0x253)+_0x2a45b1),{'consumed':_0x68de1c,'resource':_0x957a88,'value':_0x2a45b1,'consumedAt':new Date()['toISOString']()};}async[a0_0x3c2e55(0x159)](_0x2c7ac2){const _0x13c692=a0_0x3c2e55,_0x3cd615={'ZrRPT':_0x13c692(0x25e),'qJMxq':_0x13c692(0x1d8),'sBFHg':'IDGEN_INVALID_FORMAT','UjzuE':function(_0x30ba99,_0x33ba26,_0x18d0a6){return _0x30ba99(_0x33ba26,_0x18d0a6);},'hsmdL':_0x13c692(0x275)};if(!this[_0x13c692(0x209)])throw new IdGeneratorError(_0x13c692(0x230),'ID\x20Generator\x20is\x20disabled');this['_validateResource'](_0x2c7ac2[_0x13c692(0x236)]);const _0x325e55=_0x2c7ac2['mode']||_0x3cd615[_0x13c692(0x1c5)],_0xa0e0c2=redisClient['getClient']();if(_0x325e55==='number'){const _0x209f79=(_0x2c7ac2['format']||_0x3cd615['qJMxq'])['toLowerCase']();if(!ALLOWED_FORMATS['has'](_0x209f79))throw new IdGeneratorError(_0x3cd615[_0x13c692(0x23c)],_0x13c692(0x1de)+_0x2c7ac2['format']);const {formatKey:_0x1a8f37}=this['_buildFormatKey'](_0x209f79,_0x2c7ac2[_0x13c692(0x259)]||''),_0x55a411=this['_buildSeqKey'](_0x2c7ac2['resource'],_0x1a8f37),_0x4e1ffd=this[_0x13c692(0x247)](_0x2c7ac2[_0x13c692(0x236)],_0x1a8f37),[_0x57dc54,_0x3f6422]=await Promise[_0x13c692(0x27e)]([_0xa0e0c2[_0x13c692(0x1fb)](_0x55a411),_0xa0e0c2[_0x13c692(0x26d)](_0x4e1ffd)]);return{'resource':_0x2c7ac2[_0x13c692(0x236)],'mode':'number','formatKey':_0x1a8f37,'currentCounter':_0x3cd615[_0x13c692(0x17c)](parseInt,_0x57dc54,0xa)||0x0,'reusePoolSize':_0x3f6422||0x0};}if(_0x325e55===_0x3cd615[_0x13c692(0x1c0)]){const _0x264072=this[_0x13c692(0x1ae)](_0x2c7ac2['resource']),_0x6fc09d=await _0xa0e0c2[_0x13c692(0x24e)](_0x264072);return{'resource':_0x2c7ac2['resource'],'mode':_0x3cd615[_0x13c692(0x1c0)],'issuedCount':_0x6fc09d||0x0};}throw new IdGeneratorError(_0x13c692(0x1bc),'Unknown\x20mode:\x20'+_0x325e55);}async[a0_0x3c2e55(0x161)](_0x4172c1){const _0x3997dc=a0_0x3c2e55,_0x263525={'FZjQE':function(_0x531392,_0x4b06be){return _0x531392===_0x4b06be;}},_0x55b038=await this[_0x3997dc(0x159)](_0x4172c1);if(_0x263525['FZjQE'](_0x55b038['mode'],'number')){const _0x3fa956=redisClient[_0x3997dc(0x257)](),_0x27940d=this[_0x3997dc(0x174)](_0x4172c1['resource'],_0x55b038['formatKey']),_0x5c46f3=this['_buildReuseKey'](_0x4172c1[_0x3997dc(0x236)],_0x55b038[_0x3997dc(0x1d9)]),[_0x2732ec,_0x4379d8]=await Promise['all']([_0x3fa956['hgetall'](_0x27940d),_0x3fa956['zrange'](_0x5c46f3,0x0,-0x1)]);return{..._0x55b038,'reusePoolValues':_0x4379d8['map'](_0x14cc7a=>parseInt(_0x14cc7a,0xa)),'meta':_0x2732ec&&Object[_0x3997dc(0x18e)](_0x2732ec)['length']>0x0?_0x2732ec:null};}return _0x55b038;}async['reset'](_0x313c5c){const _0x1ba354=a0_0x3c2e55,_0x48be0e={'NPyVp':_0x1ba354(0x230),'rudtB':'ID\x20Generator\x20is\x20disabled','PNCSi':_0x1ba354(0x1cd),'xDpNq':function(_0x3cc3e7,_0xf1858a){return _0x3cc3e7===_0xf1858a;},'whALS':'number','adSEj':_0x1ba354(0x190),'gDUKw':_0x1ba354(0x246),'yMOhD':_0x1ba354(0x1e0),'VnSMK':_0x1ba354(0x23b),'dxKkq':_0x1ba354(0x275),'DmYIU':_0x1ba354(0x16e)};if(!this[_0x1ba354(0x209)])throw new IdGeneratorError(_0x48be0e['NPyVp'],_0x48be0e[_0x1ba354(0x26e)]);if(!this['allowReset'])throw new IdGeneratorError(_0x1ba354(0x193),_0x48be0e[_0x1ba354(0x221)]);this[_0x1ba354(0x1a2)](_0x313c5c[_0x1ba354(0x236)]);const _0x5969aa=_0x313c5c[_0x1ba354(0x1b9)]||_0x1ba354(0x25e),_0x31219a=redisClient[_0x1ba354(0x257)]();if(_0x48be0e['xDpNq'](_0x5969aa,_0x48be0e['whALS'])){const _0x5e7ba0=(_0x313c5c[_0x1ba354(0x187)]||_0x1ba354(0x1d8))['toLowerCase']();if(!ALLOWED_FORMATS['has'](_0x5e7ba0))throw new IdGeneratorError(_0x48be0e[_0x1ba354(0x1cf)],'Invalid\x20format:\x20'+_0x313c5c[_0x1ba354(0x187)]);const {formatKey:_0x325d57}=this['_buildFormatKey'](_0x5e7ba0,_0x313c5c[_0x1ba354(0x259)]||''),_0xfe8a0e=this[_0x1ba354(0x17b)](_0x313c5c['resource'],_0x325d57),_0x3b02ce=this['_buildReuseKey'](_0x313c5c['resource'],_0x325d57),_0x397ab4=this['_buildMetaKey'](_0x313c5c['resource'],_0x325d57);return await _0x31219a['del'](_0xfe8a0e,_0x3b02ce,_0x397ab4),logger['warn']({'event':_0x48be0e['gDUKw'],'resource':_0x313c5c[_0x1ba354(0x236)],'mode':_0x48be0e['whALS'],'formatKey':_0x325d57},_0x1ba354(0x1dd)+_0x313c5c[_0x1ba354(0x236)]+':'+_0x325d57),{'reset':!![],'resource':_0x313c5c['resource'],'mode':_0x1ba354(0x25e),'formatKey':_0x325d57,'deletedKeys':[_0x48be0e['yMOhD'],_0x48be0e[_0x1ba354(0x1b6)],'meta']};}if(_0x48be0e['xDpNq'](_0x5969aa,_0x48be0e['dxKkq'])){const _0xbb807f=this[_0x1ba354(0x1ae)](_0x313c5c[_0x1ba354(0x236)]);return await _0x31219a['del'](_0xbb807f),logger[_0x1ba354(0x239)]({'event':_0x48be0e['gDUKw'],'resource':_0x313c5c[_0x1ba354(0x236)],'mode':_0x48be0e['dxKkq']},'ID\x20Generator\x20reset:\x20random:'+_0x313c5c['resource']),{'reset':!![],'resource':_0x313c5c[_0x1ba354(0x236)],'mode':'random','deletedKeys':[_0x48be0e[_0x1ba354(0x256)]]};}throw new IdGeneratorError(_0x1ba354(0x1bc),'Unknown\x20mode:\x20'+_0x5969aa);}}const instance=new IdGenerator();function a0_0x4560(){const _0xa81cb=['zM9YBwf0s2v5','sw52ywXPzcbUDw1eAwDPDhm6ig11C3qGyMuGAw50zwDLCIa','zxHWAxjLC0f0','rgPlsK4','suqGr2vUzxjHDg9YihjLC2v0oIa','sw52ywXPzcbMB3jTyxq6ia','surhru5Fq09vtLrfuL9pvKvsrKXpvW','C2vX','A2v5uhjLzML4','ndy1odKYvvLpDxDN','AxnszxvZzwq','z2v0rgf0zq','AxnZDwvKoG','x2TLEvbYzwzPEa','x2LKzw1uveW','lI9YzwrPCY1JBgLLBNq','x2rLzMf1BhrqAw5eAwDPDhm','Cu9Mwxy','Bwv0ytO','icH0B2TLBJ0','tNvTyMvYigrHDgvqCMvMAxGGAw52ywXPzcbMB3iGzM9YBwf0ia','q3niq0C','CMvZzxj2zv9JB25MAxjT','sw52ywXPzcb0DgW6ig11C3qGyMuGAw50zwDLCIaXlq','x3n0B3jLswrLBunHy2HLtLG','x2rLzMf1BhrdB2rLugf0DgvYBG','yvjewem','mLbQs0fitq','q2XIAxe','tNvTyMvYignVDw50zxiGCgfYDcbTDxn0igjLigv4ywn0BhKG','vw5RBM93BIbMB3jTyxq6ia','AerkqNu','surhru5Fsu5wquXjrf9srvnpvvjdrq','x2j1AwXKuMvZzxj2yxrPB25lzxK','z2v0','x2DLDfjLC2vYDMf0Aw9Uq29UDgv4Da','suqGr2vUzxjHDg9Yig51BwjLCIbYzwXLyxnLzdOG','icHNB3q6ia','BM93','sw52ywXPzcbYzxvZzurLBgv0ztOGBxvZDcbIzsbIB29SzwfUicHNB3q6ia','CNn2x2LKEdO','x2fSBg93uMvZzxq','AgHIDNe','x3zHBgLKyxrLswrLBxbVDgvUy3LlzxK','tNvTyMvYigrVzxmGBM90ig1HDgnOigv4CgvJDgvKigzVCM1HDcbWCMvMAxG','CgfKu3rHCNq','C2fKza','seHeAKS','zw5HyMXLza','C2v0','mJaYnda4oenbtuXKBq','suqGr2vUzxjHDg9Yig51BwjLCIbPzgvTihjHy2uGBg9ZDcWGCMv0DxjUAw5NihDPBM5LCIbLBNzLBg9Wzq','x3jLC2vYDMvezwzHDwX0vfrm','Dhj1zq','x3zHBgLKyxrLtwf4uMv0CNK','mtGYnti2mffgu3Hquq','AxnjBNrLz2vY','ihbHCNrZkq','Bwf4uMv0CNK','suqGr2vUzxjHDg9YignVBMzPzYbPBML0AwfSAxPLzcaTigvUywjSzwq6ia','CMfUzg9Tsw50','x2j1AwXKrM9YBwf0s2v5','Cgf0DgvYBG','x2zVCM1HDe51BwjLCG','ks4Gsw5JCMvHC2uGBNvTrgLNAxrZlG','ofbnBuTXDW','vwXWA3e','ugDHENK','wejiweS','C2T6vgO','AwrNzw5FCMvZzxj2yxrPB25Fy29UzMLYBwvK','x2DLDenVDw50zxjuveW','ue5du2K','CMvZzxj2zq','wfHywc1ywfHylvHywfGTwfHywa','AvnwBem','ywXSB3DszxnLDa','ELbctMu','AKjWDuO','x3vWzgf0zu1LDge','A29krKO','x2vUC3vYzuLUAxrPywXPEMvK','y291BNrLCKLUDa','z2v0tw9UDgG','x2rLzMf1BhrtzxjPywXqyxr0zxjU','x3zHBgLKyxrLugf0DgvYBG','tNvTyMvYihbYzwzPEcbTAxnTyxrJAdOGzxHWzwn0zwqG','surhru5FreLtqujmruq','AwrNzw5FBNvTyMvYx2DLBMvYyxrLza','igf0DgvTChrZlIbjBMnYzwfZzsbWyxr0zxjUigXLBMD0AcbVCIbTyxHszxrYEs4','suqGr2vUzxjHDg9YihjLC2vYDMf0Aw9Uigv4DgvUzgvKoIa','D3PKueC','zgf0zvbYzwzPEa','CMvZB3vYy2u','B1DfDxO','z0vysKW','D2fYBG','yNHmAKS','CMv1C2u','C0jgsgC','x2rLzMf1BhrnyxHszxrYEq','rMfPBgvKihrVihbLCNnPC3qGzM9YBwf0DgvKihzHBhvLihrVihjLC2vYDMf0Aw9UigHHC2G','yLrgv2m','Chr0Ba','x2DLBMvYyxrLrNjVBvbHDhrLCM4','y2fUy2vSuMvZzxj2yxrPB24','x3rLEhq','qxHbBuS','AwrLBxbVDgvUy3LlzxK','AwrNzw5FCMvZzxq','x2j1AwXKuMv1C2vlzxK','DgvZDa','s1nMExC','AwrLBvruta','cMLMihjLzgLZlMnHBgWOj0vysvnuuYCSieTfwvnBmv0Pid09idaGDgHLBGOGihjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqOGihjLDhvYBIb7idaGFqPLBMqkBg9JywWGAca9ihjLzgLZlMnHBgWOj0Hnr0vujYWGs0vzu1SXxsWGj2v4CgLYzxnbDcCSicDJB3vUDgvYjYWGj3zHBhvLjYWGj2zVCM1HDeTLEsCSicDPC1jLDxnLzcCSicDJCMvHDgvKqxqNkqPSB2nHBcbWCMv2rxHWAxjLC0f0id0GAfSXxqPSB2nHBcbUzxDuDgXnCYa9ihrVBNvTyMvYkefsr1zBmL0PcMXVy2fSig5LD0v4Ce1Zid0GDg9UDw1IzxiOqvjhvLSZxsKkCMvKAxmUy2fSBcGNuevyueLsrsCSieTfwvnBmv0Sig5LD1r0Be1ZkqPYzwrPCY5JywXSkcDiu0vujYWGs0vzu1SXxsWGj2v4CgLYzxnbDcCSiefsr1zBnf0PcNjLzgLZlMnHBgWOj1PbreqNlcblrvLtwZjDlcbUzxDfEhbnCYWGqvjhvLSXxsKkCMvKAxmUy2fSBcGNrvHqsvjfjYWGs0vzu1SYxsWGBwf0Ac5MBg9VCIHUzxDuDgXnCYaVideWmdaPicSGnJaPcNjLDhvYBIb7ideSihbYzxzfEhbPCMvZqxqSigHBmL0SigHBm10SigHBnf0SigHBnv0SigHBnL0GFqO','x3zHBgLKyxrLuMvZzxj2yxrPB25uB2TLBG','swrhzw5LCMf0B3jfCNjVCG','C2nHCMq','wfjWsNe','qLLKyxG','Ag1Nzxq','zgvMyxvSDenVzgvqyxr0zxjU','suqGr2vUzxjHDg9YignVBNn1BwvKoIa','ndbIDNz1s1u','zw52','rg1zsvu','z2v0q2XPzw50','ve5ZzKW','ChjLzML4','AwrNzw5FCMvZzxj2zv9PzgvTx2XVC2vYx2nHBMnLBf9LCNjVCG','surhru5Frevgqvvmvf9trvjjquXFuefuvevstG','x3jLC2vYDMvnyxHuveW','Aw5MBW','BNvTyMvY','uKTmDuK','ExL5Ew1T','surhru5Fsu5wquXjrf9ovu1crvi','C2vWyxjHDg9Y','DMfSDwu','zM9YBwf0s2v5igLZihjLCxvPCMvKigLUigXVDY1SzxzLBcbYzwXLyxnL','Bhz1EKO','z2v0uMvZzxj2yxrPB24','rwnTwK4','EwHeEuy','tMTgqKK','AwrNzw5FBNvTyMvYx3jLC2vYDMvK','x3L5ExLTBv8','ExL5Ew1Tzgq','EMnHCMq','CNvKDei','suqGr2vUzxjHDg9YigLZigrPC2fIBgvK','CMvSzwfZzwrbDa','A3vtBxm','x3bHzdi','uMfUzg9TihjLC2vYDMf0Aw9UihvUzg8GzxjYB3iGkg9YCgHHBIbZBg90ig1HEsbYzw1HAw4P','AwrNzw5Fy29UC3vTzwq','CMfUzg9T','sw52ywXPzcbUDw1Izxi6ig11C3qGyMuGBM9UlwvTChr5ihn0CMLUzW','AhnLDa','sw52ywXPzcbZzxbHCMf0B3i6ig1HEcaZignOyxiSig11C3qGBM90ignVBNrHAw4GjZONicHNB3q6ia','AwrNzw5FAwrLBv9ZDg9Yzv9LCNjVCG','ANfvsvi','CNn2oG','sKn2vfm','Bw5Jzxi','ywXS','r3rkyNa','C3bSAxq','ihnLy29UzhmGkgDVDdOG','CgvLAW','thfkzeG','surhru5Fsu5wquXjrf9ut0TftG','ndq3nda5owTSEMzHBW','surhru5Fsu5wquXjrf9uveW','C3rYAw5N','q291BNrLCIbVDMvYzMXVDZOG','zxHWB3j0CW','z2v0sw5MBW','x3zHBgLKyxrLtNvTyMvYugfYyw1Z','x2j1AwXKqwn0AxzLs2v5','zxzHBa','zgvMyxvSDfnLCMLHBfbHDhrLCM4','BgvUz3rO','surhru5Fsurftv9uveW','lcbLEhbLy3rLzca','zgv0ywLSCW','vhrnz04','whLWuu4','Dvnry2y','qMDQAfi','AxnZDwvK','CMvZzxj2zu1HEfruta','CMfUzg9Tvvvjra','sxDusxe','otK5os05otK5','y3jLyxrLzef0','x2j1AwXKtwv0yuTLEq','CgfYC2u','x3zHBgLKyxrLuMvZzxj2zvruta','zgvMyxvSDe1HEfjLDhj5','x2nVDw50zxjuveXnyxa','zgvMyxvSDfbPBKrPz2L0CW','AwrNzw5FCMvZzxj2yxrPB25FzxH0zw5Kzwq','x2j1AwXKu2vXs2v5','vwP6Duu','AwrNzw5FAwrLBv9OAxq','C3rVCMvK','DePqsLi','surhru5Fsu5wquXjrf9srvnfuLzfx1ruta','twz3D0u','Dg9Rzw4','igrPz2L0CYaOz290oIa','vffLDuS','y0fMAMW','AwrNzw5FCMvZzxj2zv9VDMvYzMXVD19JB21Wzw5ZyxrPB25FzxjYB3i','zM9YBwf0','surhru5Frevgqvvmvf9qsu5FreLhsvrt','x2j1AwXKswrLBuTLEq','mdeYmZq1nJC4oq','x2LUAxrPywXPEMvK','ELzHyxi','mtG2odmXmfvrA215sG','A2v5CW','x2vUywjSzwq','surhru5Fsu5wquXjrf9gt1jnqvq','swrLBxbVDgvUy3KGCMv0CMLLDMuGzxjYB3i','mtGXodq0mvbYrhbLua','surhru5FuKvtrvrFtK9ux0fmte9xruq','yNvPBgrezxrLCM1PBMLZDgLJs2v5','BwvZC2fNzq','AwrNzw5FAwrLBv9SB3nLCL9YzwXLyxnLx2vYCM9Y','lI9PzgvTCg90zw5JEs1Tyw5Hz2vY','zgLNAxrZ','Bwf0y2G','CNn2swr4s2v5','cMLMiefsr1zBmv0Gpt0GjZeNihrOzw4kicbSB2nHBcbYzxvZzwqGpsbYzwrPCY5JywXSkcDAue9qtuLojYWGs0vzu1SYxsWGmsKkicbPzIaJCMv1C2vKid4Gmcb0AgvUcIaGicbYzxr1CM4GE3rVBNvTyMvYkhjLDxnLzfSXxsKSidf9cIaGzw5KcMvUzaPSB2nHBcbUid0GCMvKAxmUy2fSBcGNsu5duICSieTfwvnBmv0PcMXVy2fSihr0Bca9ihrVBNvTyMvYkefsr1zBmL0PcMLMihr0Bca+idaGyw5Kig4Gpt0Gmsb0AgvUcIaGCMvKAxmUy2fSBcGNrvHqsvjfjYWGs0vzu1SXxsWGDhrSkqPLBMqkCMv0DxjUihTUlcaWFqO','D2LUBMvYuMvZDwX0','swrLBxbVDgvUy3KGu0vuie5yigvYCM9Y','AwrLBuTLEq','vefoywG','sgzXy3G','z2vUzxjHDgvKqxq','x3zHBgLKyxrLuMvZB3vYy2u','x3L5ExLTBwrKxW','uMvZzxj2yxrPB24GBM90igzVDw5Kig9YigfSCMvHzhKGy29UC3vTzwq6ia','C2v0zxG','u0vuie5yigzHAwXLzcbIDxqGy2fJAguGr0vuihjLDhvYBMvKigvTChr5iokaLcbMywXSAw5NigjHy2SGDg8GB3DUihjLC3vSDa','AwrNzw5FCMvZzxj2yxrPB25Fy2fUy2vSBgvK','rKLcAKK','DhrS','DMfSDwuGAxmGCMvXDwLYzwq','sw52ywXPzcbYzxnLCNzHDgLVBIb0DgW6ig11C3qGyMuGAw50zwDLCIa','C3rYAw5NAwz5','C3DTtgq','x2j1AwXKsxnZDwvKs2v5','cNjLzgLZlMnHBgWOj1PbreqNlcblrvLtwZfDlcbbuKDwwZfDlcbbuKDwwZfDkqPSB2nHBcb0DgWGpsb0B251BwjLCIHbuKDwwZjDkqPPzIb0DgWGpIaWihrOzw4kicbYzwrPCY5JywXSkcDfwfbjuKuNlcblrvLtwZfDlcb0DgWPcMvUzaPYzxr1CM4GmqO','AgDLDgfSBa','x3vUzg9syw5KB21szxnLCNzHDgLVBG','suqGr2vUzxjHDg9YigLZigrPC2fIBgvKicHZzxqGsurhru5Fru5bqKXfrd10CNvLkq','s2zuD0K','zw5ZDxjLvw5PCxvL','suqGr2vUzxjHDg9YihjLC2vYDMf0Aw9UignVBMzPCM1LzdOG','vM5ttuS','CMvZzxj2zurLzMf1BhruveW','AwrNzw5FCMfUzg9Tx3vUzg9FzxjYB3i','Bw9Kzq','tKDmwve','y291BNrLCG','surhru5Fsu5wquXjrf9nt0rf','CMvSzwfZzu51BwjLCG','x3jLDhjPzxzLswrLBunHy2HL','twv0ysb1CgrHDguGzxjYB3i','AhnTzeW','surhru5Fq09vtLrfuL9uveXFrefjtfK','nta2mJC2s1PxBxHn','AwrNzw5FBwv0yv91CgrHDgvFzxjYB3i','AwrNzw5FAwrLBv9ZDg9Yzw54x2vYCM9Y','wNjsufq','AwrNzw5FAwrLBv9UEf9YywnLx2XVC3rFyNv0x2vTChr5','surhru5FuKvtrvjwqvrjt05FtK9ux0zpvu5e','C05Usgu','CMvSzwfZzq','swrLBxbVDgvUy3KGy2fJAguGseLu','AwrNzw5Fy29UzMLNx2LUAxq','rKfXDLi','uMvZzxqGB3bLCMf0Aw9Uig5VDcbHBgXVD2vKicHZzxqGsurhru5FquXmt1DFuKvtrvq9Dhj1zsb0BYbLBMfIBguP','Dg9ju09tDhjPBMC','ywrtrwO','DhjhuuS','ve1wzhi','AwrNzw4','CNn2s2v5','x3n0B3jLswrLBunHy2HL','lwrPz2L0ignHCgfJAxr5icG','y3j5ChrV','we5RCKW','Dgv4Da'];a0_0x4560=function(){return _0xa81cb;};return a0_0x4560();}instance[a0_0x3c2e55(0x24d)]=IdGeneratorError,module['exports']=instance,module[a0_0x3c2e55(0x160)]['IdGeneratorError']=IdGeneratorError;
@@ -1 +1 @@
1
- 'use strict';const a0_0x1310c3=a0_0x555c;(function(_0x9cea52,_0x49b35d){const _0x34be8e=a0_0x555c,_0xd45ff7=_0x9cea52();while(!![]){try{const _0x3e43e3=-parseInt(_0x34be8e(0x124))/0x1+-parseInt(_0x34be8e(0x10e))/0x2*(parseInt(_0x34be8e(0x10d))/0x3)+parseInt(_0x34be8e(0x112))/0x4*(-parseInt(_0x34be8e(0xfe))/0x5)+-parseInt(_0x34be8e(0x11c))/0x6*(parseInt(_0x34be8e(0x11d))/0x7)+parseInt(_0x34be8e(0x127))/0x8*(-parseInt(_0x34be8e(0x11e))/0x9)+-parseInt(_0x34be8e(0x126))/0xa+parseInt(_0x34be8e(0x104))/0xb*(parseInt(_0x34be8e(0x107))/0xc);if(_0x3e43e3===_0x49b35d)break;else _0xd45ff7['push'](_0xd45ff7['shift']());}catch(_0x2cc6c6){_0xd45ff7['push'](_0xd45ff7['shift']());}}}(a0_0x4ce1,0xb3877));function a0_0x555c(_0x222966,_0x3f3d93){_0x222966=_0x222966-0xfe;const _0x4ce123=a0_0x4ce1();let _0x555cbe=_0x4ce123[_0x222966];if(a0_0x555c['QjtvOJ']===undefined){var _0x1157c9=function(_0x4c003a){const _0x5b0522='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4438b7='',_0x523fb5='';for(let _0x3ce13a=0x0,_0xf773f6,_0x3f3647,_0x4d0b9b=0x0;_0x3f3647=_0x4c003a['charAt'](_0x4d0b9b++);~_0x3f3647&&(_0xf773f6=_0x3ce13a%0x4?_0xf773f6*0x40+_0x3f3647:_0x3f3647,_0x3ce13a++%0x4)?_0x4438b7+=String['fromCharCode'](0xff&_0xf773f6>>(-0x2*_0x3ce13a&0x6)):0x0){_0x3f3647=_0x5b0522['indexOf'](_0x3f3647);}for(let _0x5331c1=0x0,_0x1261d0=_0x4438b7['length'];_0x5331c1<_0x1261d0;_0x5331c1++){_0x523fb5+='%'+('00'+_0x4438b7['charCodeAt'](_0x5331c1)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x523fb5);};a0_0x555c['fnnTBO']=_0x1157c9,a0_0x555c['EDMzcp']={},a0_0x555c['QjtvOJ']=!![];}const _0x2c618d=_0x4ce123[0x0],_0x255c60=_0x222966+_0x2c618d,_0x364542=a0_0x555c['EDMzcp'][_0x255c60];return!_0x364542?(_0x555cbe=a0_0x555c['fnnTBO'](_0x555cbe),a0_0x555c['EDMzcp'][_0x255c60]=_0x555cbe):_0x555cbe=_0x364542,_0x555cbe;}function a0_0x4ce1(){const _0x4ccd26=['zgvMyxvSDa','x3r0Ba','CMv0CMLLDMu','Aw5MBW','AwrLBxbVDgvUy3LFBwLZCW','C3rHDhvZq29Kzq','mZmXmdGYnfbbwLDgDG','n2LAB3brtW','oxfSs21Jvq','DhrS','swrLBxbVDgvUy3KGC3rVCMuGzxjYB3i6ia','C2v0zxG','Cgf0Aa','BwvZC2fNzq','nJi1ndGXze13EurY','yNvPBgrlzxK','oda3nZC1mfHrBxb5uW','nZeZmty4mhHdD2fyyG','nwHfEgnVrG','A3f4rM0','swrLBxbVDgvUy3KGy29UzMLNDxjHDgLVBIbPBML0AwfSAxPLzcaTigvUywjSzwq6ia','x2LUAxrPywXPEMvK','lcbuveW6ia','swrLBxbVDgvUy3KGy2fJAguGseLu','nJa4mdKYodDtuKXIsMC','lI9SB2DNzxi','CMfUzg9Tvvvjra','mtjYyMDqrKm','C3bSAxq','x2vUC3vYzuLUAxrPywXPEMvK','zxHWB3j0CW','zw52','z2vUzxjHDgvlzxK','mta2nti4mM5Zte9ZqG','nfvbrwzxBG','Dw5RBM93BG','EKvhDMK','zxjYB3i','ndGYndiZmKrvu2fNvW','zw5HyMXLza','Bffgz0O','x2vUywjSzwq'];a0_0x4ce1=function(){return _0x4ccd26;};return a0_0x4ce1();}const redisClient=require('./redis-client'),{logger}=require(a0_0x1310c3(0x105)),crypto=require('crypto');class IdempotencyManager{constructor(){const _0x1b75f2=a0_0x1310c3;this[_0x1b75f2(0x115)]=null,this['_ttl']=null,this['_initialized']=![];}['_initConfig'](){const _0x35e833=a0_0x1310c3,_0x54d6a9={'lQFgJ':function(_0x4a2293,_0x578a9a){return _0x4a2293===_0x578a9a;},'kIVwI':'true','FkJnE':function(_0x574f7b,_0x34f95e,_0xe1aa45){return _0x574f7b(_0x34f95e,_0xe1aa45);}};this['_enabled']=_0x54d6a9[_0x35e833(0x114)](process[_0x35e833(0x10b)]['IDEMPOTENCY_ENABLED'],_0x54d6a9['kIVwI']),this['_ttl']=_0x54d6a9['FkJnE'](parseInt,process[_0x35e833(0x10b)]['IDEMPOTENCY_TTL'],0xa)||0x12c,this['_initialized']=!![],logger[_0x35e833(0x119)]({'event':'idempotency_config_init','enabled':this['_enabled'],'ttl':this['_ttl']},_0x35e833(0x100)+this[_0x35e833(0x115)]+_0x35e833(0x102)+this[_0x35e833(0x117)]+'s');}[a0_0x1310c3(0x109)](){const _0x3c5386=a0_0x1310c3;!this[_0x3c5386(0x101)]&&this['_initConfig']();}get[a0_0x1310c3(0x113)](){const _0x31f6bc=a0_0x1310c3;return this['_ensureInitialized'](),this[_0x31f6bc(0x115)];}get[a0_0x1310c3(0x11f)](){const _0x2486e7=a0_0x1310c3;return this[_0x2486e7(0x109)](),this[_0x2486e7(0x117)];}['isEnabled'](){return this['enabled'];}[a0_0x1310c3(0x125)](_0x57214c,_0x47d679){const _0x48ae48=a0_0x1310c3,_0x4dd14f={'crkuz':_0x48ae48(0x116),'MPgXP':_0x48ae48(0x10f)},_0xf7563b=_0x47d679[_0x48ae48(0x122)][_0x48ae48(0x108)]('/')['filter'](Boolean),_0x536416=_0xf7563b[0x0]||_0x4dd14f['crkuz'],_0x2b6d15=_0xf7563b[0x1]||'unknown',_0x1e378e=_0xf7563b[0x2]||_0x4dd14f['MPgXP'];return'rf:idem:'+_0x536416+':'+_0x2b6d15+':'+_0x1e378e+':'+_0x57214c;}async['store'](_0x40c92a,_0x1ef9de){const _0x349142=a0_0x1310c3,_0x18b4ae={'kqxFm':'idempotency_store_error'};if(!this[_0x349142(0x113)])return![];try{const _0x33aebb=redisClient['getClient']();return await _0x33aebb[_0x349142(0x121)](_0x40c92a,this[_0x349142(0x11f)],JSON['stringify'](_0x1ef9de)),logger['debug']({'event':'idempotency_store','key':_0x40c92a,'ttl':this[_0x349142(0x11f)],'statusCode':_0x1ef9de[_0x349142(0x11b)]},'Idempotency\x20response\x20stored'),!![];}catch(_0x419a60){return logger[_0x349142(0x111)]({'event':_0x18b4ae[_0x349142(0xff)],'key':_0x40c92a,'error':_0x419a60['message']},_0x349142(0x120)+_0x419a60['message']),![];}}async[a0_0x1310c3(0x118)](_0x2e355e){const _0x1551fc=a0_0x1310c3,_0x273356={'fugiI':'idempotency_hit','hYGjJ':_0x1551fc(0x103),'zEGvi':_0x1551fc(0x11a)};if(!this['enabled'])return null;try{const _0x51faa8=redisClient['getClient'](),_0x5d88cc=await _0x51faa8['get'](_0x2e355e);if(_0x5d88cc)return logger[_0x1551fc(0x119)]({'event':_0x273356['fugiI'],'key':_0x2e355e},_0x273356['hYGjJ']),JSON['parse'](_0x5d88cc);return logger['debug']({'event':_0x273356[_0x1551fc(0x110)],'key':_0x2e355e},'Idempotency\x20cache\x20MISS'),null;}catch(_0x1661e8){return logger['error']({'event':'idempotency_retrieve_error','key':_0x2e355e,'error':_0x1661e8['message']},'Idempotency\x20retrieve\x20error:\x20'+_0x1661e8[_0x1551fc(0x123)]),null;}}[a0_0x1310c3(0x10c)](_0x37f095='req'){const _0x1a7740=a0_0x1310c3;return _0x37f095+'_'+crypto[_0x1a7740(0x106)]();}['buildDeterministicKey'](_0x2b806e,_0x197c84,_0x37dc88){return _0x2b806e+':'+_0x197c84+':'+_0x37dc88;}}module[a0_0x1310c3(0x10a)]=new IdempotencyManager();
1
+ 'use strict';function a0_0x12a6(_0xe59783,_0x313297){_0xe59783=_0xe59783-0x11d;const _0x8c112c=a0_0x8c11();let _0x12a6b1=_0x8c112c[_0xe59783];if(a0_0x12a6['AVjkKk']===undefined){var _0x3845f5=function(_0x48b6ae){const _0x98a637='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x41a0b3='',_0xc801d6='';for(let _0xdb5cac=0x0,_0x40a3c6,_0x9a06f8,_0x38c92b=0x0;_0x9a06f8=_0x48b6ae['charAt'](_0x38c92b++);~_0x9a06f8&&(_0x40a3c6=_0xdb5cac%0x4?_0x40a3c6*0x40+_0x9a06f8:_0x9a06f8,_0xdb5cac++%0x4)?_0x41a0b3+=String['fromCharCode'](0xff&_0x40a3c6>>(-0x2*_0xdb5cac&0x6)):0x0){_0x9a06f8=_0x98a637['indexOf'](_0x9a06f8);}for(let _0xfa0b95=0x0,_0x1dbc38=_0x41a0b3['length'];_0xfa0b95<_0x1dbc38;_0xfa0b95++){_0xc801d6+='%'+('00'+_0x41a0b3['charCodeAt'](_0xfa0b95)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xc801d6);};a0_0x12a6['NQtyCN']=_0x3845f5,a0_0x12a6['XvHXKs']={},a0_0x12a6['AVjkKk']=!![];}const _0x216e30=_0x8c112c[0x0],_0x5406f1=_0xe59783+_0x216e30,_0x4466ae=a0_0x12a6['XvHXKs'][_0x5406f1];return!_0x4466ae?(_0x12a6b1=a0_0x12a6['NQtyCN'](_0x12a6b1),a0_0x12a6['XvHXKs'][_0x5406f1]=_0x12a6b1):_0x12a6b1=_0x4466ae,_0x12a6b1;}const a0_0x49b5f4=a0_0x12a6;(function(_0xb86dea,_0x4d62ac){const _0x4c4f4b=a0_0x12a6,_0x26fce1=_0xb86dea();while(!![]){try{const _0x3c5566=-parseInt(_0x4c4f4b(0x121))/0x1*(-parseInt(_0x4c4f4b(0x127))/0x2)+parseInt(_0x4c4f4b(0x137))/0x3*(parseInt(_0x4c4f4b(0x138))/0x4)+-parseInt(_0x4c4f4b(0x12b))/0x5+parseInt(_0x4c4f4b(0x147))/0x6+-parseInt(_0x4c4f4b(0x139))/0x7+parseInt(_0x4c4f4b(0x123))/0x8*(parseInt(_0x4c4f4b(0x128))/0x9)+-parseInt(_0x4c4f4b(0x11e))/0xa;if(_0x3c5566===_0x4d62ac)break;else _0x26fce1['push'](_0x26fce1['shift']());}catch(_0x57e391){_0x26fce1['push'](_0x26fce1['shift']());}}}(a0_0x8c11,0xf3b2d));const redisClient=require('./redis-client'),{logger}=require('./logger'),crypto=require(a0_0x49b5f4(0x12a));class IdempotencyManager{constructor(){const _0x3ecd67=a0_0x49b5f4;this['_enabled']=null,this[_0x3ecd67(0x122)]=null,this[_0x3ecd67(0x133)]=![];}['_initConfig'](){const _0x4dd5ed=a0_0x49b5f4,_0x138156={'WVJyR':function(_0x30bf3c,_0x363886,_0x4ad4c9){return _0x30bf3c(_0x363886,_0x4ad4c9);},'QaQvI':'idempotency_config_init'};this['_enabled']=process[_0x4dd5ed(0x13b)]['IDEMPOTENCY_ENABLED']==='true',this['_ttl']=_0x138156[_0x4dd5ed(0x135)](parseInt,process[_0x4dd5ed(0x13b)]['IDEMPOTENCY_TTL'],0xa)||0x12c,this['_initialized']=!![],logger['info']({'event':_0x138156['QaQvI'],'enabled':this['_enabled'],'ttl':this[_0x4dd5ed(0x122)]},_0x4dd5ed(0x136)+this['_enabled']+_0x4dd5ed(0x11d)+this['_ttl']+'s');}[a0_0x49b5f4(0x129)](){const _0x4d3f71=a0_0x49b5f4;!this[_0x4d3f71(0x133)]&&this[_0x4d3f71(0x13a)]();}get['enabled'](){const _0x58921a=a0_0x49b5f4;return this[_0x58921a(0x129)](),this['_enabled'];}get['ttl'](){const _0x20fa15=a0_0x49b5f4;return this['_ensureInitialized'](),this[_0x20fa15(0x122)];}['isEnabled'](){return this['enabled'];}['buildKey'](_0x2853db,_0x151dc7){const _0x5106f4=a0_0x49b5f4,_0x44cde7={'uQlIN':_0x5106f4(0x140)},_0x56861f=_0x151dc7['path'][_0x5106f4(0x12f)]('/')[_0x5106f4(0x142)](Boolean),_0x4fc6ea=_0x56861f[0x0]||'default',_0x52feb4=_0x56861f[0x1]||_0x44cde7['uQlIN'],_0x2a8d5f=_0x56861f[0x2]||'unknown';return'rf:idem:'+_0x4fc6ea+':'+_0x52feb4+':'+_0x2a8d5f+':'+_0x2853db;}async['store'](_0x5c8ffe,_0x4642bc){const _0x24a56c=a0_0x49b5f4,_0x5f1976={'Gzbij':_0x24a56c(0x126)};if(!this[_0x24a56c(0x124)])return![];try{const _0x129481=redisClient['getClient']();return await _0x129481[_0x24a56c(0x132)](_0x5c8ffe,this[_0x24a56c(0x146)],JSON[_0x24a56c(0x130)](_0x4642bc)),logger[_0x24a56c(0x13f)]({'event':_0x5f1976[_0x24a56c(0x134)],'key':_0x5c8ffe,'ttl':this['ttl'],'statusCode':_0x4642bc['statusCode']},_0x24a56c(0x144)),!![];}catch(_0x5d6486){return logger['error']({'event':'idempotency_store_error','key':_0x5c8ffe,'error':_0x5d6486[_0x24a56c(0x13d)]},_0x24a56c(0x13e)+_0x5d6486[_0x24a56c(0x13d)]),![];}}async[a0_0x49b5f4(0x141)](_0x36d31a){const _0x1c5d60=a0_0x49b5f4,_0x48e3a8={'VNDNB':'idempotency_hit','FjigO':_0x1c5d60(0x13c)};if(!this[_0x1c5d60(0x124)])return null;try{const _0x28dfdb=redisClient[_0x1c5d60(0x12d)](),_0x4cf526=await _0x28dfdb['get'](_0x36d31a);if(_0x4cf526)return logger[_0x1c5d60(0x131)]({'event':_0x48e3a8['VNDNB'],'key':_0x36d31a},_0x1c5d60(0x120)),JSON[_0x1c5d60(0x143)](_0x4cf526);return logger['debug']({'event':'idempotency_miss','key':_0x36d31a},'Idempotency\x20cache\x20MISS'),null;}catch(_0x204489){return logger[_0x1c5d60(0x12e)]({'event':_0x48e3a8[_0x1c5d60(0x12c)],'key':_0x36d31a,'error':_0x204489[_0x1c5d60(0x13d)]},_0x1c5d60(0x145)+_0x204489[_0x1c5d60(0x13d)]),null;}}['generateKey'](_0xf9067b=a0_0x49b5f4(0x11f)){const _0x203485=a0_0x49b5f4;return _0xf9067b+'_'+crypto[_0x203485(0x125)]();}['buildDeterministicKey'](_0x12b6f8,_0x3055e5,_0x954e99){return _0x12b6f8+':'+_0x3055e5+':'+_0x954e99;}}module['exports']=new IdempotencyManager();function a0_0x8c11(){const _0x350c19=['CMvX','swrLBxbVDgvUy3KGy2fJAguGseLu','mtu0nZe5muTbwe1vwq','x3r0Ba','mtq4mePhA0L2Ba','zw5HyMXLza','CMfUzg9Tvvvjra','AwrLBxbVDgvUy3LFC3rVCMu','mMDrzujHta','mJK0m2DTEff0sG','x2vUC3vYzuLUAxrPywXPEMvK','y3j5ChrV','mtGZntGYnuveug1XzW','rMPPz08','z2v0q2XPzw50','zxjYB3i','C3bSAxq','C3rYAw5NAwz5','Aw5MBW','C2v0zxG','x2LUAxrPywXPEMvK','r3PIAwO','v1zkEvi','swrLBxbVDgvUy3KGy29UzMLNDxjHDgLVBIbPBML0AwfSAxPLzcaTigvUywjSzwq6ia','mJG4odfYqNLgshu','nZm2Cu9MsxjX','nZa5mtq2owPyCgDqyG','x2LUAxrdB25MAwC','zw52','AwrLBxbVDgvUy3LFCMv0CMLLDMvFzxjYB3i','BwvZC2fNzq','swrLBxbVDgvUy3KGC3rVCMuGzxjYB3i6ia','zgvIDwC','Dw5RBM93BG','CMv0CMLLDMu','zMLSDgvY','CgfYC2u','swrLBxbVDgvUy3KGCMvZCg9UC2uGC3rVCMvK','swrLBxbVDgvUy3KGCMv0CMLLDMuGzxjYB3i6ia','DhrS','ntKWnZK5nMfVufHPrG','lcbuveW6ia','mtK4nti5otb3z1PfEKG'];a0_0x8c11=function(){return _0x350c19;};return a0_0x8c11();}
@@ -1 +1 @@
1
- const a0_0x289465=a0_0x1a3d;function a0_0x559d(){const _0x31be66=['DMfSAwrHDgvsB3C','BNvTyMvY','ChvZAa','zLnSEwS','CMvXDwLYzwq','suT5C3m','s3HerhO','DgvZDa','ndqZofHfyLjYBW','D1DfwMC','uxvssuS','mZmZmJi5mKPotMLXCa','AgfZ','DMfSAwrHDgvqAg9Uzq','zxHWB3j0CW','mJyZrNn5Bgrj','A2v5CW','DMfSAwrHDgvvCMW','mtiXotvtwwHYBgC','BgvUz3rO','BM9VCve','sw52ywXPzcbUDw1IzxiGzM9YBwf0','ntbfsvPjuNq','zM9YrwfJAa','nZaWoenhtg9XqW','mti2mZKZz0LpDxvS','ndi0ugrqCgH1','mJC0otm1mvvgEKrltG','yMf0y2HFDMfSAwrHDgLVBL9JB21WBgv0zq','yMf0y2HwywXPzgf0zvjVD3m','lI9SB2DNzxi','nJG4nJqWnezbyxDKCG','ndbKuLzisw8','zM9YBwf0','C2v0','q1n6Bge','DMvvrMK','BwfW'];a0_0x559d=function(){return _0x31be66;};return a0_0x559d();}(function(_0x537538,_0x43c61c){const _0x59cf82=a0_0x1a3d,_0x54af5d=_0x537538();while(!![]){try{const _0x141f0a=-parseInt(_0x59cf82(0xc5))/0x1*(parseInt(_0x59cf82(0xa8))/0x2)+-parseInt(_0x59cf82(0xa9))/0x3+-parseInt(_0x59cf82(0xb0))/0x4*(parseInt(_0x59cf82(0xc8))/0x5)+-parseInt(_0x59cf82(0xc1))/0x6+-parseInt(_0x59cf82(0xbe))/0x7*(-parseInt(_0x59cf82(0xaa))/0x8)+parseInt(_0x59cf82(0xaf))/0x9+-parseInt(_0x59cf82(0xa6))/0xa*(-parseInt(_0x59cf82(0xab))/0xb);if(_0x141f0a===_0x43c61c)break;else _0x54af5d['push'](_0x54af5d['shift']());}catch(_0x41b471){_0x54af5d['push'](_0x54af5d['shift']());}}}(a0_0x559d,0x7b4b0));const {logger}=require(a0_0x289465(0xae));function a0_0x1a3d(_0x22811c,_0xfa3e7c){_0x22811c=_0x22811c-0xa4;const _0x559d6e=a0_0x559d();let _0x1a3d00=_0x559d6e[_0x22811c];if(a0_0x1a3d['OzwlpD']===undefined){var _0x1c4d11=function(_0x4a1223){const _0x1afbcc='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xcc141c='',_0x4f39f8='';for(let _0x115f74=0x0,_0x231489,_0x55fea3,_0x3bb4cf=0x0;_0x55fea3=_0x4a1223['charAt'](_0x3bb4cf++);~_0x55fea3&&(_0x231489=_0x115f74%0x4?_0x231489*0x40+_0x55fea3:_0x55fea3,_0x115f74++%0x4)?_0xcc141c+=String['fromCharCode'](0xff&_0x231489>>(-0x2*_0x115f74&0x6)):0x0){_0x55fea3=_0x1afbcc['indexOf'](_0x55fea3);}for(let _0x555614=0x0,_0x5b72f9=_0xcc141c['length'];_0x555614<_0x5b72f9;_0x555614++){_0x4f39f8+='%'+('00'+_0xcc141c['charCodeAt'](_0x555614)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4f39f8);};a0_0x1a3d['NhrVQT']=_0x1c4d11,a0_0x1a3d['aOvxQc']={},a0_0x1a3d['OzwlpD']=!![];}const _0x226e43=_0x559d6e[0x0],_0x2c4be2=_0x22811c+_0x226e43,_0x53558f=a0_0x1a3d['aOvxQc'][_0x2c4be2];return!_0x53558f?(_0x1a3d00=a0_0x1a3d['NhrVQT'](_0x1a3d00),a0_0x1a3d['aOvxQc'][_0x2c4be2]=_0x1a3d00):_0x1a3d00=_0x53558f,_0x1a3d00;}class ImportValidator{[a0_0x289465(0xb6)](_0x120954,_0x4a9bf6=[],_0x2caefc={}){const _0x3f1fab=a0_0x289465,_0x3957fc={'veUFi':function(_0x854340,_0x683b75){return _0x854340===_0x683b75;},'QPnLT':function(_0x506d08,_0x4f5fa1){return _0x506d08===_0x4f5fa1;}},_0x19a5ef=[];return _0x4a9bf6[_0x3f1fab(0xa7)](_0xb8e827=>{const _0x1b77f3=_0x3f1fab,_0x5c095c=_0x120954[_0xb8e827];(_0x5c095c===null||_0x3957fc['veUFi'](_0x5c095c,undefined)||_0x3957fc['QPnLT'](_0x5c095c,''))&&_0x19a5ef[_0x1b77f3(0xb8)]({'field':_0xb8e827,'type':_0x1b77f3(0xba),'message':'Required\x20field\x20is\x20empty'});}),Object[_0x3f1fab(0xc6)](_0x2caefc)['forEach'](_0xb227bb=>{const _0x41b786=_0x3f1fab,_0x34cded=_0x120954[_0xb227bb],_0x2a7cc1=_0x2caefc[_0xb227bb];if(_0x3957fc[_0x41b786(0xb4)](_0x34cded,null)||_0x3957fc[_0x41b786(0xb4)](_0x34cded,undefined)||_0x3957fc['QPnLT'](_0x34cded,''))return;const _0x15665e=this['validateFieldFormat'](_0xb227bb,_0x34cded,_0x2a7cc1);_0x15665e&&_0x19a5ef['push'](_0x15665e);}),_0x19a5ef;}['validateFieldFormat'](_0x5864d4,_0x26ab9e,_0x1599e1){const _0x5ea2f1=a0_0x289465,_0x5925be={'KxDDz':'email','CSzla':_0x5ea2f1(0xb7)};switch(_0x1599e1){case _0x5925be[_0x5ea2f1(0xbc)]:return this['validateEmail'](_0x5864d4,_0x26ab9e);case'phone':return this[_0x5ea2f1(0xc3)](_0x5864d4,_0x26ab9e);case'url':return this[_0x5ea2f1(0xc7)](_0x5864d4,_0x26ab9e);case _0x5925be[_0x5ea2f1(0xb3)]:return this['validateNumber'](_0x5864d4,_0x26ab9e);default:return null;}}['validateEmail'](_0x365d74,_0x48a42a){const _0x4c9b51=a0_0x289465,_0x1c5b37={'fSlyk':'Invalid\x20email\x20format'},_0x2ea1ce=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;if(!_0x2ea1ce['test'](String(_0x48a42a)))return{'field':_0x365d74,'type':_0x4c9b51(0xb1),'message':_0x1c5b37[_0x4c9b51(0xb9)]};return null;}['validatePhone'](_0xa994a4,_0x5e43d2){const _0x51a48e=a0_0x289465,_0x35d90c={'wWEZg':function(_0xb2cff1,_0x329da7){return _0xb2cff1<_0x329da7;},'IKyss':'Invalid\x20phone\x20format'},_0x51fc82=String(_0x5e43d2)['replace'](/\s+/g,''),_0x3748ed=/^[\d\+\-\(\)]+$/;if(!_0x3748ed[_0x51a48e(0xbd)](_0x51fc82)||_0x35d90c[_0x51a48e(0xbf)](_0x51fc82['length'],0x8))return{'field':_0xa994a4,'type':'format','message':_0x35d90c[_0x51a48e(0xbb)]};return null;}['validateUrl'](_0x253cc1,_0x3fb747){const _0x9f9e73=a0_0x289465;try{return new URL(String(_0x3fb747)),null;}catch(_0xd81d1a){return{'field':_0x253cc1,'type':_0x9f9e73(0xb1),'message':'Invalid\x20URL\x20format'};}}['validateNumber'](_0x152be6,_0x358c17){const _0x4bcd0d=a0_0x289465,_0x3577c4={'QuRIK':_0x4bcd0d(0xb1),'nooqQ':_0x4bcd0d(0xa5)};if(isNaN(_0x358c17))return{'field':_0x152be6,'type':_0x3577c4[_0x4bcd0d(0xc0)],'message':_0x3577c4[_0x4bcd0d(0xa4)]};return null;}['detectDuplicatesInFile'](_0x300c9e,_0x24bc7c){const _0x4a375a=new Map(),_0x4aafe6=[];return _0x300c9e['forEach']((_0x1e8153,_0x27bd32)=>{const _0xc7ffbe=a0_0x1a3d,_0x342b12=_0x24bc7c[_0xc7ffbe(0xb5)](_0x18cba1=>_0x1e8153[_0x18cba1])['join']('|');_0x4a375a[_0xc7ffbe(0xc2)](_0x342b12)?_0x4aafe6['push']({'rowIndex':_0x27bd32,'duplicateOf':_0x4a375a['get'](_0x342b12),'key':_0x342b12}):_0x4a375a[_0xc7ffbe(0xb2)](_0x342b12,_0x27bd32);}),_0x4aafe6;}[a0_0x289465(0xad)](_0x2ddf46,_0x5c86be,_0x389d11){const _0x213dde=a0_0x289465,_0x51c7cf={'gQgEy':_0x213dde(0xac)},_0x4fe1e5=[];return _0x2ddf46['forEach']((_0x1404df,_0xa3a253)=>{const _0x11feec=_0x213dde,_0x366933=this[_0x11feec(0xb6)](_0x1404df,_0x5c86be,_0x389d11);_0x366933[_0x11feec(0xc9)]>0x0&&_0x4fe1e5[_0x11feec(0xb8)]({'rowIndex':_0xa3a253,'rowData':_0x1404df,'errors':_0x366933});}),logger['info']({'event':_0x51c7cf['gQgEy'],'totalRows':_0x2ddf46[_0x213dde(0xc9)],'errorCount':_0x4fe1e5['length']},'Batch\x20validation\x20completed'),_0x4fe1e5;}}module[a0_0x289465(0xc4)]=new ImportValidator();
1
+ const a0_0x543de7=a0_0xca7e;(function(_0x58f6b1,_0x3f5073){const _0x136d79=a0_0xca7e,_0x4ce4c1=_0x58f6b1();while(!![]){try{const _0x4a544e=parseInt(_0x136d79(0xca))/0x1+-parseInt(_0x136d79(0xc1))/0x2*(-parseInt(_0x136d79(0xd5))/0x3)+-parseInt(_0x136d79(0xe2))/0x4+parseInt(_0x136d79(0xc7))/0x5*(parseInt(_0x136d79(0xcb))/0x6)+parseInt(_0x136d79(0xdc))/0x7+-parseInt(_0x136d79(0xd4))/0x8*(parseInt(_0x136d79(0xe0))/0x9)+parseInt(_0x136d79(0xc0))/0xa*(-parseInt(_0x136d79(0xd9))/0xb);if(_0x4a544e===_0x3f5073)break;else _0x4ce4c1['push'](_0x4ce4c1['shift']());}catch(_0x457b1c){_0x4ce4c1['push'](_0x4ce4c1['shift']());}}}(a0_0x3fa1,0xf17f1));const {logger}=require('./logger');function a0_0x3fa1(){const _0x2232ba=['mta3mvrtyLnOAG','DgvZDa','mZeYmdG0ohjrzu54CW','sw52ywXPzcbvuKWGzM9YBwf0','DMfSAwrHDgvqAg9Uzq','zxHWB3j0CW','zvrdtha','mJq4ntmZmhPzufP4qq','nti3ng1yzfzcwG','wfj3zgS','DMfSAwrHDgvoDw1Izxi','z2v0','D2HrwvO','A09HB2S','nJm0mtbgDLfjweO','zM9YBwf0','DMfSAwrHDgvfBwfPBa','mta1mdmXnxD6wLv2tG','mtHJExD6vLi','uxLttuO','DMfSAwrHDgvvCMW','CgHVBMu','Aw5MBW','CMvWBgfJzq','AgfZ','zM9YrwfJAa','rMTftvu','mta0ntG0BhjYyurc','mtK2mKLitfHkzW','CMvXDwLYzwq','uMvXDwLYzwqGzMLLBgqGAxmGzw1WDhK','BhzRAfe','mtf1Ae9YAxa','sw52ywXPzcbWAg9UzsbMB3jTyxq','yMf0y2HFDMfSAwrHDgLVBL9JB21WBgv0zq','ntmYndq5nfjWwxzVyW','C2v0','DxjS','ChvZAa'];a0_0x3fa1=function(){return _0x2232ba;};return a0_0x3fa1();}function a0_0xca7e(_0x48cee6,_0x407549){_0x48cee6=_0x48cee6-0xbd;const _0x3fa164=a0_0x3fa1();let _0xca7ef1=_0x3fa164[_0x48cee6];if(a0_0xca7e['xBtVsg']===undefined){var _0x5a584c=function(_0x8c55f8){const _0x11fd57='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3ec42f='',_0x24aa75='';for(let _0x15d831=0x0,_0x16c345,_0xe7c162,_0x4da577=0x0;_0xe7c162=_0x8c55f8['charAt'](_0x4da577++);~_0xe7c162&&(_0x16c345=_0x15d831%0x4?_0x16c345*0x40+_0xe7c162:_0xe7c162,_0x15d831++%0x4)?_0x3ec42f+=String['fromCharCode'](0xff&_0x16c345>>(-0x2*_0x15d831&0x6)):0x0){_0xe7c162=_0x11fd57['indexOf'](_0xe7c162);}for(let _0x1cc122=0x0,_0x2b25c3=_0x3ec42f['length'];_0x1cc122<_0x2b25c3;_0x1cc122++){_0x24aa75+='%'+('00'+_0x3ec42f['charCodeAt'](_0x1cc122)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x24aa75);};a0_0xca7e['wAoRdB']=_0x5a584c,a0_0xca7e['yXqUUW']={},a0_0xca7e['xBtVsg']=!![];}const _0x3ded8b=_0x3fa164[0x0],_0x3dd387=_0x48cee6+_0x3ded8b,_0x4f43ff=a0_0xca7e['yXqUUW'][_0x3dd387];return!_0x4f43ff?(_0xca7ef1=a0_0xca7e['wAoRdB'](_0xca7ef1),a0_0xca7e['yXqUUW'][_0x3dd387]=_0xca7ef1):_0xca7ef1=_0x4f43ff,_0xca7ef1;}class ImportValidator{['validateRow'](_0x57a299,_0xeff2ef=[],_0x3cd922={}){const _0x59d841=a0_0xca7e,_0x4c3855={'kOaok':function(_0x330c75,_0x421c00){return _0x330c75===_0x421c00;},'yOYWz':function(_0x45c2e7,_0x15aef7){return _0x45c2e7===_0x15aef7;},'FkEMU':function(_0x20a8be,_0x111b04){return _0x20a8be===_0x111b04;}},_0x5def86=[];return _0xeff2ef[_0x59d841(0xd2)](_0x582248=>{const _0x100499=_0x59d841,_0x83535c=_0x57a299[_0x582248];(_0x4c3855[_0x100499(0xc6)](_0x83535c,null)||_0x83535c===undefined||_0x83535c==='')&&_0x5def86[_0x100499(0xdf)]({'field':_0x582248,'type':_0x100499(0xd6),'message':_0x100499(0xd7)});}),Object['keys'](_0x3cd922)['forEach'](_0x4c5fc2=>{const _0x400092=_0x59d841,_0x421aa8=_0x57a299[_0x4c5fc2],_0x4985bd=_0x3cd922[_0x4c5fc2];if(_0x4c3855['yOYWz'](_0x421aa8,null)||_0x4c3855[_0x400092(0xd3)](_0x421aa8,undefined)||_0x421aa8==='')return;const _0x394d33=this['validateFieldFormat'](_0x4c5fc2,_0x421aa8,_0x4985bd);_0x394d33&&_0x5def86['push'](_0x394d33);}),_0x5def86;}['validateFieldFormat'](_0x31d7f7,_0xe4985b,_0xb92e3f){const _0x31747b=a0_0xca7e,_0x26d609={'eTCLp':'email','lvkhQ':_0x31747b(0xde)};switch(_0xb92e3f){case _0x26d609[_0x31747b(0xbf)]:return this[_0x31747b(0xc9)](_0x31d7f7,_0xe4985b);case _0x31747b(0xce):return this[_0x31747b(0xbd)](_0x31d7f7,_0xe4985b);case _0x26d609[_0x31747b(0xd8)]:return this[_0x31747b(0xcd)](_0x31d7f7,_0xe4985b);case'number':return this[_0x31747b(0xc3)](_0x31d7f7,_0xe4985b);default:return null;}}['validateEmail'](_0x5da05c,_0x4ec9dc){const _0x1a1620=a0_0xca7e,_0x4e6fbd=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;if(!_0x4e6fbd[_0x1a1620(0xe1)](String(_0x4ec9dc)))return{'field':_0x5da05c,'type':'format','message':'Invalid\x20email\x20format'};return null;}[a0_0x543de7(0xbd)](_0x4222ff,_0x4aa4b0){const _0x1f6c2b=a0_0x543de7,_0x1099db={'UnRnX':function(_0x223d54,_0x2105ea){return _0x223d54(_0x2105ea);},'XRwdk':function(_0x1630b0,_0x52f9ed){return _0x1630b0<_0x52f9ed;},'AioLf':_0x1f6c2b(0xda)},_0x52b1b3=_0x1099db['UnRnX'](String,_0x4aa4b0)[_0x1f6c2b(0xd0)](/\s+/g,''),_0x1ba18e=/^[\d\+\-\(\)]+$/;if(!_0x1ba18e[_0x1f6c2b(0xe1)](_0x52b1b3)||_0x1099db[_0x1f6c2b(0xc2)](_0x52b1b3['length'],0x8))return{'field':_0x4222ff,'type':_0x1f6c2b(0xc8),'message':_0x1099db['AioLf']};return null;}['validateUrl'](_0x325108,_0x4a1b0f){const _0x16dd4c=a0_0x543de7,_0x202c4e={'ZXGzb':function(_0x31ff16,_0x4988cf){return _0x31ff16(_0x4988cf);}};try{return new URL(_0x202c4e['ZXGzb'](String,_0x4a1b0f)),null;}catch(_0x402852){return{'field':_0x325108,'type':_0x16dd4c(0xc8),'message':_0x16dd4c(0xe3)};}}[a0_0x543de7(0xc3)](_0x18348b,_0x642d9b){const _0x55a779=a0_0x543de7,_0xc25e8f={'whQYZ':'Invalid\x20number\x20format'};if(isNaN(_0x642d9b))return{'field':_0x18348b,'type':_0x55a779(0xc8),'message':_0xc25e8f[_0x55a779(0xc5)]};return null;}['detectDuplicatesInFile'](_0x201450,_0x457d1f){const _0x47a11c=new Map(),_0x2269af=[];return _0x201450['forEach']((_0xa90894,_0x93670c)=>{const _0x22eec4=a0_0xca7e,_0x112f3f=_0x457d1f['map'](_0x243bfc=>_0xa90894[_0x243bfc])['join']('|');_0x47a11c[_0x22eec4(0xd1)](_0x112f3f)?_0x2269af['push']({'rowIndex':_0x93670c,'duplicateOf':_0x47a11c[_0x22eec4(0xc4)](_0x112f3f),'key':_0x112f3f}):_0x47a11c[_0x22eec4(0xdd)](_0x112f3f,_0x93670c);}),_0x2269af;}['batchValidateRows'](_0x4760cf,_0x3546b9,_0x3d15c2){const _0x21368b=a0_0x543de7,_0xeacff8={'cfeFO':_0x21368b(0xdb),'QySMJ':'Batch\x20validation\x20completed'},_0x4574fc=[];return _0x4760cf[_0x21368b(0xd2)]((_0xcb8ffe,_0x46aba1)=>{const _0x1aaf36=this['validateRow'](_0xcb8ffe,_0x3546b9,_0x3d15c2);_0x1aaf36['length']>0x0&&_0x4574fc['push']({'rowIndex':_0x46aba1,'rowData':_0xcb8ffe,'errors':_0x1aaf36});}),logger[_0x21368b(0xcf)]({'event':_0xeacff8['cfeFO'],'totalRows':_0x4760cf['length'],'errorCount':_0x4574fc['length']},_0xeacff8[_0x21368b(0xcc)]),_0x4574fc;}}module[a0_0x543de7(0xbe)]=new ImportValidator();