@restforgejs/platform 5.2.12 → 5.2.16

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/drift-check-linux +0 -0
  2. package/bin/sdf-tools-linux +0 -0
  3. package/bin/sdf-tools.exe +0 -0
  4. package/build-info.json +2 -2
  5. package/cli/consumer-deploy.js +1 -1
  6. package/cli/consumer.js +1 -1
  7. package/generators/cli/fast-track.js +8 -9
  8. package/generators/cli/project/auth.js +209 -0
  9. package/generators/lib/auth/component-generator.js +58 -0
  10. package/generators/lib/auth/dependency-checker.js +102 -0
  11. package/generators/lib/auth/env-injector.js +81 -0
  12. package/generators/lib/auth/migrate-runner.js +111 -0
  13. package/generators/lib/auth/prefix.js +22 -0
  14. package/generators/lib/auth/processor-generator.js +55 -0
  15. package/generators/lib/auth/sdf-generator.js +102 -0
  16. package/generators/lib/auth/template-renderer.js +29 -0
  17. package/generators/lib/auth/templates/processor/login.js.tmpl +152 -0
  18. package/generators/lib/auth/templates/processor/logout.js.tmpl +58 -0
  19. package/generators/lib/auth/templates/processor/me.js.tmpl +64 -0
  20. package/generators/lib/auth/templates/processor/refresh.js.tmpl +134 -0
  21. package/generators/lib/auth/templates/processor/register.js.tmpl +77 -0
  22. package/generators/lib/auth/templates/processor/reset-password.js.tmpl +106 -0
  23. package/generators/lib/auth/templates/rfx_auth-middleware.js.tmpl +79 -0
  24. package/generators/lib/auth/templates/rfx_auth.js.tmpl +104 -0
  25. package/generators/lib/dbschema-kit/schema-printer.js +10 -1
  26. package/generators/lib/templates/dashboard-catalog.js +1 -1
  27. package/generators/lib/templates/db-connection-env.js +1 -1
  28. package/generators/lib/templates/dbschema-catalog.js +1 -1
  29. package/generators/lib/templates/field-validation-catalog.js +1 -1
  30. package/generators/lib/templates/mysql-template.js +1 -1
  31. package/generators/lib/templates/oracle-template.js +1 -1
  32. package/generators/lib/templates/postgres-template.js +1 -1
  33. package/generators/lib/templates/query-declarative-catalog.js +1 -1
  34. package/generators/lib/templates/sqlite-template.js +1 -1
  35. package/integrity-manifest.json +18 -18
  36. package/package.json +1 -1
  37. package/scripts/verify-integrity.js +1 -1
  38. package/server.js +1 -1
  39. package/src/components/handlers/adjust_handler.js +1 -1
  40. package/src/components/handlers/audit_handler.js +1 -1
  41. package/src/components/handlers/delete_handler.js +1 -1
  42. package/src/components/handlers/export_handler.js +1 -1
  43. package/src/components/handlers/import_handler.js +1 -1
  44. package/src/components/handlers/insert_handler.js +1 -1
  45. package/src/components/handlers/update_handler.js +1 -1
  46. package/src/components/handlers/upload_handler.js +1 -1
  47. package/src/components/handlers/workflow_handler.js +1 -1
  48. package/src/components/integrations/webhook.js +1 -1
  49. package/src/consumers/baseConsumer.js +1 -1
  50. package/src/consumers/declarativeMapper.js +1 -1
  51. package/src/consumers/handlers/apiHandler.js +1 -1
  52. package/src/consumers/handlers/consoleHandler.js +1 -1
  53. package/src/consumers/handlers/databaseHandler.js +1 -1
  54. package/src/consumers/handlers/index.js +1 -1
  55. package/src/consumers/handlers/kafkaHandler.js +1 -1
  56. package/src/consumers/index.js +1 -1
  57. package/src/consumers/messageTransformer.js +1 -1
  58. package/src/consumers/validator.js +1 -1
  59. package/src/core/db/dialect/base-dialect.js +1 -1
  60. package/src/core/db/dialect/index.js +1 -1
  61. package/src/core/db/dialect/mysql-dialect.js +1 -1
  62. package/src/core/db/dialect/oracle-dialect.js +1 -1
  63. package/src/core/db/dialect/postgres-dialect.js +1 -1
  64. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  65. package/src/core/db/flatten-helper.js +1 -1
  66. package/src/core/db/query-builder-error.js +1 -1
  67. package/src/core/db/query-builder.js +1 -1
  68. package/src/core/db/relation-helper.js +1 -1
  69. package/src/core/handlers/delete_handler.js +1 -1
  70. package/src/core/handlers/insert_handler.js +1 -1
  71. package/src/core/handlers/update_handler.js +1 -1
  72. package/src/core/models/base-model.js +1 -1
  73. package/src/core/utils/cache-manager.js +1 -1
  74. package/src/core/utils/component-engine.js +1 -1
  75. package/src/core/utils/context-builder.js +1 -1
  76. package/src/core/utils/datetime-formatter.js +1 -1
  77. package/src/core/utils/datetime-parser.js +1 -1
  78. package/src/core/utils/db.js +1 -1
  79. package/src/core/utils/logger.js +1 -1
  80. package/src/core/utils/payload-loader.js +1 -1
  81. package/src/core/utils/security-checks.js +1 -1
  82. package/src/middleware/body-options.js +1 -1
  83. package/src/middleware/cors.js +1 -1
  84. package/src/middleware/idempotency.js +1 -1
  85. package/src/middleware/rate-limiter.js +1 -1
  86. package/src/middleware/request-logger.js +1 -1
  87. package/src/middleware/security-headers.js +1 -1
  88. package/src/models/base-model-mysql.js +1 -1
  89. package/src/models/base-model-oracle.js +1 -1
  90. package/src/models/base-model-sqlite.js +1 -1
  91. package/src/models/base-model.js +1 -1
  92. package/src/pro/caching/redis-client.js +1 -1
  93. package/src/pro/caching/redis-helper.js +1 -1
  94. package/src/pro/consumers/baseConsumer.js +1 -1
  95. package/src/pro/consumers/declarativeMapper.js +1 -1
  96. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  97. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  98. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  99. package/src/pro/consumers/handlers/index.js +1 -1
  100. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  101. package/src/pro/consumers/index.js +1 -1
  102. package/src/pro/consumers/messageTransformer.js +1 -1
  103. package/src/pro/consumers/validator.js +1 -1
  104. package/src/pro/database/base-model-mysql.js +1 -1
  105. package/src/pro/database/base-model-oracle.js +1 -1
  106. package/src/pro/database/base-model-sqlite.js +1 -1
  107. package/src/pro/database/db-mysql.js +1 -1
  108. package/src/pro/database/db-oracle.js +1 -1
  109. package/src/pro/database/db-sqlite.js +1 -1
  110. package/src/pro/excel/excel-generator.js +1 -1
  111. package/src/pro/excel/excel-parser.js +1 -1
  112. package/src/pro/excel/export-service.js +1 -1
  113. package/src/pro/excel/export_handler.js +1 -1
  114. package/src/pro/excel/import-service.js +1 -1
  115. package/src/pro/excel/import-validator.js +1 -1
  116. package/src/pro/excel/import_handler.js +1 -1
  117. package/src/pro/excel/upsert-builder.js +1 -1
  118. package/src/pro/idgen/idgen-routes.js +1 -1
  119. package/src/pro/integrations/lookup-resolver.js +1 -1
  120. package/src/pro/integrations/upload-handler-v2.js +1 -1
  121. package/src/pro/integrations/upload-handler.js +1 -1
  122. package/src/pro/integrations/webhook.js +1 -1
  123. package/src/pro/locking/lock-routes.js +1 -1
  124. package/src/pro/locking/resource-lock-manager.js +1 -1
  125. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  126. package/src/pro/messaging/kafkaService.js +1 -1
  127. package/src/pro/messaging/messagehubService.js +1 -1
  128. package/src/pro/messaging/rabbitmqService.js +1 -1
  129. package/src/pro/scheduler/job-manager.js +1 -1
  130. package/src/pro/scheduler/job-routes.js +1 -1
  131. package/src/pro/scheduler/job-validator.js +1 -1
  132. package/src/pro/storage/base-storage-provider.js +1 -1
  133. package/src/pro/storage/file-metadata-helper.js +1 -1
  134. package/src/pro/storage/index.js +1 -1
  135. package/src/pro/storage/local-storage-provider.js +1 -1
  136. package/src/pro/storage/s3-storage-provider.js +1 -1
  137. package/src/pro/storage/upload-cleanup-job.js +1 -1
  138. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  139. package/src/pro/storage/upload-pending-tracker.js +1 -1
  140. package/src/pro/websocket/broadcast-helper.js +1 -1
  141. package/src/pro/websocket/index.js +1 -1
  142. package/src/pro/websocket/livesync-server.js +1 -1
  143. package/src/pro/websocket/ws-broadcaster.js +1 -1
  144. package/src/services/export-service.js +1 -1
  145. package/src/services/import-service.js +1 -1
  146. package/src/services/kafkaConsumerService.js +1 -1
  147. package/src/services/kafkaService.js +1 -1
  148. package/src/services/messagehubService.js +1 -1
  149. package/src/services/rabbitmqService.js +1 -1
  150. package/src/utils/cache-invalidation-registry.js +1 -1
  151. package/src/utils/cache-manager.js +1 -1
  152. package/src/utils/component-engine.js +1 -1
  153. package/src/utils/config-extractor.js +1 -1
  154. package/src/utils/consumerLogger.js +1 -1
  155. package/src/utils/context-builder.js +1 -1
  156. package/src/utils/dashboard-helpers.js +1 -1
  157. package/src/utils/dateHelper.js +1 -1
  158. package/src/utils/datetime-formatter.js +1 -1
  159. package/src/utils/datetime-parser.js +1 -1
  160. package/src/utils/db-bootstrap.js +1 -1
  161. package/src/utils/db-mysql.js +1 -1
  162. package/src/utils/db-oracle.js +1 -1
  163. package/src/utils/db-sqlite.js +1 -1
  164. package/src/utils/db.js +1 -1
  165. package/src/utils/demo-generator.js +1 -1
  166. package/src/utils/excel-generator.js +1 -1
  167. package/src/utils/excel-parser.js +1 -1
  168. package/src/utils/file-watcher.js +1 -1
  169. package/src/utils/id-generator.js +1 -1
  170. package/src/utils/idempotency-manager.js +1 -1
  171. package/src/utils/import-validator.js +1 -1
  172. package/src/utils/license-client.js +1 -1
  173. package/src/utils/lock-manager.js +1 -1
  174. package/src/utils/logger.js +1 -1
  175. package/src/utils/lookup-resolver.js +1 -1
  176. package/src/utils/payload-loader.js +1 -1
  177. package/src/utils/processor-response.js +1 -1
  178. package/src/utils/rabbitmq.js +1 -1
  179. package/src/utils/redis-client.js +1 -1
  180. package/src/utils/redis-helper.js +1 -1
  181. package/src/utils/request-scope.js +1 -1
  182. package/src/utils/security-checks.js +1 -1
  183. package/src/utils/service-resolver.js +1 -1
  184. package/src/utils/shutdown-coordinator.js +1 -1
  185. package/src/utils/soft-delete-dashboard-guard.js +1 -1
  186. package/src/utils/sql-table-extractor.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';function a0_0x5440(){const _0x27d5a4=['mtG4AhbyELrn','x2rLyM91BMnL','B25dAgfUz2u','v3jlvuW','zKnQuLa','lMPZB24','odyXnuDhvevctq','nZjOqK1ABKy','mtyYmZyXnvPwv3jgvG','zgLYzwn0B3jPzxm','y3DK','Bg9N','zgvIB3vUy2vnCW','ndK1mJqZBwryuujr','zgvIB3vUy2vuAw1LCG','icbBv0fuq0HDifDHCM5PBMC6iezHAwXLzcb0BYbZzxr1Ccb3yxrJAgvYigzVCIa','Cgf0Aa','mZm4mZa5uuLJtxn4','icbBv0fuq0HDifDHDgnOAw5NoIa','BwvZC2fNzq','CMvSyxrPDMu','lMPZ','C3rHCNq','Aw5JBhvKzxm','zxjYB3i','ChvZAa','zxHPC3rZu3LUyW','lYaOCMvJDxjZAxzLkq','rMHLtLm','mti5nJu3mtb5C1Drquy','ntGZnde2r2T6B1fO','mZqXmwXICfLtua','mJCXmKHYr3DhyW','zxH0zw5ZAw9UCW'];a0_0x5440=function(){return _0x27d5a4;};return a0_0x5440();}const a0_0x350000=a0_0x17d8;(function(_0x5e7695,_0x92d95a){const _0x50c667=a0_0x17d8,_0x2a08c7=_0x5e7695();while(!![]){try{const _0xe18b01=parseInt(_0x50c667(0xe2))/0x1+parseInt(_0x50c667(0xef))/0x2+parseInt(_0x50c667(0xfb))/0x3+-parseInt(_0x50c667(0xf3))/0x4*(parseInt(_0x50c667(0xf9))/0x5)+parseInt(_0x50c667(0xfa))/0x6*(parseInt(_0x50c667(0x100))/0x7)+parseInt(_0x50c667(0xf1))/0x8*(-parseInt(_0x50c667(0xf0))/0x9)+-parseInt(_0x50c667(0xee))/0xa;if(_0xe18b01===_0x92d95a)break;else _0x2a08c7['push'](_0x2a08c7['shift']());}catch(_0x2e7dab){_0x2a08c7['push'](_0x2a08c7['shift']());}}}(a0_0x5440,0x7d881));const fs=require('fs'),path=require(a0_0x350000(0xe1));function a0_0x17d8(_0x35bd74,_0x238b64){_0x35bd74=_0x35bd74-0xe0;const _0x54402f=a0_0x5440();let _0x17d8a5=_0x54402f[_0x35bd74];if(a0_0x17d8['ZPPEKO']===undefined){var _0x1ad524=function(_0x54b9cc){const _0x49c075='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x40c579='',_0x57fb72='';for(let _0x569959=0x0,_0x3a20ab,_0x1fddef,_0x28fc1c=0x0;_0x1fddef=_0x54b9cc['charAt'](_0x28fc1c++);~_0x1fddef&&(_0x3a20ab=_0x569959%0x4?_0x3a20ab*0x40+_0x1fddef:_0x1fddef,_0x569959++%0x4)?_0x40c579+=String['fromCharCode'](0xff&_0x3a20ab>>(-0x2*_0x569959&0x6)):0x0){_0x1fddef=_0x49c075['indexOf'](_0x1fddef);}for(let _0x1f59fa=0x0,_0x4fabe1=_0x40c579['length'];_0x1f59fa<_0x4fabe1;_0x1f59fa++){_0x57fb72+='%'+('00'+_0x40c579['charCodeAt'](_0x1f59fa)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x57fb72);};a0_0x17d8['Ziaddv']=_0x1ad524,a0_0x17d8['FaHUPT']={},a0_0x17d8['ZPPEKO']=!![];}const _0x1f72d6=_0x54402f[0x0],_0x39d0ae=_0x35bd74+_0x1f72d6,_0x41f42a=a0_0x17d8['FaHUPT'][_0x39d0ae];return!_0x41f42a?(_0x17d8a5=a0_0x17d8['Ziaddv'](_0x17d8a5),a0_0x17d8['FaHUPT'][_0x39d0ae]=_0x17d8a5):_0x17d8a5=_0x41f42a,_0x17d8a5;}class FileWatcher{constructor(_0x42be0d={}){const _0xbf038b=a0_0x350000,_0x1e60b8={'FheNS':_0xbf038b(0xe6),'fCjRP':_0xbf038b(0xf8)};this['directories']=_0x42be0d[_0xbf038b(0xfc)]||[],this['extensions']=_0x42be0d[_0xbf038b(0xf2)]||[_0x1e60b8[_0xbf038b(0xed)],_0x1e60b8[_0xbf038b(0xf7)]],this['debounceMs']=_0x42be0d['debounceMs']||0x1f4,this[_0xbf038b(0xf5)]=_0x42be0d[_0xbf038b(0xf5)]||(()=>{}),this['watchers']=[],this[_0xbf038b(0x101)]=null;}[a0_0x350000(0xe7)](){const _0x4ea8c1=a0_0x350000;for(const _0x7e90d9 of this[_0x4ea8c1(0xfc)]){if(!fs[_0x4ea8c1(0xeb)](_0x7e90d9)){console['log']('\x20\x20[WATCH]\x20Warning:\x20Directory\x20not\x20found,\x20skipping:\x20'+(path['relative'](process['cwd'](),_0x7e90d9)||_0x7e90d9));continue;}try{const _0xf84a67=fs['watch'](_0x7e90d9,{'recursive':!![]},(_0xed3da8,_0x10a51e)=>{const _0x1d4af4=_0x4ea8c1;if(!_0x10a51e)return;const _0x1ac4df=path['extname'](_0x10a51e)['toLowerCase']();if(!this[_0x1d4af4(0xf2)][_0x1d4af4(0xe8)](_0x1ac4df))return;this['_debounce'](_0x10a51e);});_0xf84a67['on'](_0x4ea8c1(0xe9),_0x50860a=>{const _0x288bd0=_0x4ea8c1;console[_0x288bd0(0xfe)]('\x20\x20[WATCH]\x20Warning:\x20Watcher\x20error\x20on\x20'+path['relative'](process[_0x288bd0(0xfd)](),_0x7e90d9)+':\x20'+_0x50860a[_0x288bd0(0xe4)]);}),this['watchers'][_0x4ea8c1(0xea)](_0xf84a67);const _0x32c475=path[_0x4ea8c1(0xe5)](process['cwd'](),_0x7e90d9)||_0x7e90d9;console[_0x4ea8c1(0xfe)](_0x4ea8c1(0xe3)+_0x32c475+_0x4ea8c1(0xec));}catch(_0x4fede5){console['log'](_0x4ea8c1(0xe0)+path['relative'](process['cwd'](),_0x7e90d9)+':\x20'+_0x4fede5['message']);}}}['stop'](){const _0x16ffc7=a0_0x350000;for(const _0x51e937 of this['watchers']){try{_0x51e937['close']();}catch(_0x2f7b4a){}}this['watchers']=[],this['debounceTimer']&&(clearTimeout(this[_0x16ffc7(0x101)]),this[_0x16ffc7(0x101)]=null);}[a0_0x350000(0xf4)](_0x53f936){const _0x249ca3=a0_0x350000,_0x1f6301={'bzYJo':function(_0x330c94,_0x35c0f5){return _0x330c94(_0x35c0f5);},'WrKUL':function(_0xc30f44,_0x2dfd65,_0x50587c){return _0xc30f44(_0x2dfd65,_0x50587c);}};this['debounceTimer']&&_0x1f6301['bzYJo'](clearTimeout,this[_0x249ca3(0x101)]),this[_0x249ca3(0x101)]=_0x1f6301[_0x249ca3(0xf6)](setTimeout,()=>{const _0x2133c5=_0x249ca3;this[_0x2133c5(0x101)]=null,this[_0x2133c5(0xf5)](_0x53f936);},this[_0x249ca3(0xff)]);}}module['exports']=FileWatcher;
1
+ 'use strict';const a0_0x25dbf3=a0_0x1768;(function(_0x626728,_0x168252){const _0x479eba=a0_0x1768,_0x29dffe=_0x626728();while(!![]){try{const _0x1dbf19=parseInt(_0x479eba(0x1db))/0x1*(-parseInt(_0x479eba(0x1de))/0x2)+parseInt(_0x479eba(0x1f0))/0x3*(-parseInt(_0x479eba(0x1e9))/0x4)+parseInt(_0x479eba(0x1e2))/0x5+parseInt(_0x479eba(0x1d8))/0x6*(parseInt(_0x479eba(0x1ee))/0x7)+-parseInt(_0x479eba(0x1f2))/0x8*(-parseInt(_0x479eba(0x1da))/0x9)+-parseInt(_0x479eba(0x1df))/0xa*(-parseInt(_0x479eba(0x1d5))/0xb)+-parseInt(_0x479eba(0x1d3))/0xc*(parseInt(_0x479eba(0x1ed))/0xd);if(_0x1dbf19===_0x168252)break;else _0x29dffe['push'](_0x29dffe['shift']());}catch(_0x448274){_0x29dffe['push'](_0x29dffe['shift']());}}}(a0_0x5198,0x193c6));function a0_0x5198(){const _0x26ee17=['mti4mdyYDgrmEhHz','lMPZ','B25dAgfUz2u','odeWnLfbtg5fBG','Cgf0Aa','odi0ng91rfHzsG','mJzPwK9QzwK','zgvIB3vUy2vuAw1LCG','CMvSyxrPDMu','odi0ohD4y01VyW','mZbPuLnlr3y','C3rHCNq','zgvIB3vUy2vnCW','odi3nZu1ALfLv0fs','BMDYs3m','zgLYzwn0B3jPzxm','D2f0y2HLCNm','lYaOCMvJDxjZAxzLkq','werbvMi','zxjYB3i','mtuWnJH5CfjRDMq','BwvZC2fNzq','Bg9N','Dg9mB3DLCKnHC2u','mtq3mJLlEMLOqwu','nZC3BeTtv1jX','x2rLyM91BMnL','ndvywhD2yMu','zxH0zw5ZAw9UCW','mtm2mefYzLfpsa','y2XVC2u','D2f0y2G','su1UzeG','mJuZmMjxrfzezG','zxHPC3rZu3LUyW'];a0_0x5198=function(){return _0x26ee17;};return a0_0x5198();}const fs=require('fs'),path=require(a0_0x25dbf3(0x1d9));function a0_0x1768(_0x27f704,_0xab9497){_0x27f704=_0x27f704-0x1d1;const _0x51985f=a0_0x5198();let _0x176880=_0x51985f[_0x27f704];if(a0_0x1768['NYlJYb']===undefined){var _0xb704ae=function(_0x3ec562){const _0x2a1290='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x73f041='',_0x554631='';for(let _0x41e80a=0x0,_0x506257,_0x15fc38,_0x56b75b=0x0;_0x15fc38=_0x3ec562['charAt'](_0x56b75b++);~_0x15fc38&&(_0x506257=_0x41e80a%0x4?_0x506257*0x40+_0x15fc38:_0x15fc38,_0x41e80a++%0x4)?_0x73f041+=String['fromCharCode'](0xff&_0x506257>>(-0x2*_0x41e80a&0x6)):0x0){_0x15fc38=_0x2a1290['indexOf'](_0x15fc38);}for(let _0x12f4cc=0x0,_0x2d4b23=_0x73f041['length'];_0x12f4cc<_0x2d4b23;_0x12f4cc++){_0x554631+='%'+('00'+_0x73f041['charCodeAt'](_0x12f4cc)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x554631);};a0_0x1768['vRvVyR']=_0xb704ae,a0_0x1768['GkofZX']={},a0_0x1768['NYlJYb']=!![];}const _0xfc9a8c=_0x51985f[0x0],_0x4410a2=_0x27f704+_0xfc9a8c,_0x9e24c1=a0_0x1768['GkofZX'][_0x4410a2];return!_0x9e24c1?(_0x176880=a0_0x1768['vRvVyR'](_0x176880),a0_0x1768['GkofZX'][_0x4410a2]=_0x176880):_0x176880=_0x9e24c1,_0x176880;}class FileWatcher{constructor(_0xdca0eb={}){const _0x190990=a0_0x25dbf3,_0x2d3c4a={'XDAVb':_0x190990(0x1d6)};this[_0x190990(0x1e4)]=_0xdca0eb['directories']||[],this[_0x190990(0x1f1)]=_0xdca0eb['extensions']||[_0x2d3c4a[_0x190990(0x1e7)],'.json'],this[_0x190990(0x1e1)]=_0xdca0eb['debounceMs']||0x1f4,this[_0x190990(0x1d7)]=_0xdca0eb['onChange']||(()=>{}),this[_0x190990(0x1e5)]=[],this['debounceTimer']=null;}[a0_0x25dbf3(0x1e0)](){const _0x5551ec=a0_0x25dbf3;for(const _0x460d80 of this[_0x5551ec(0x1e4)]){if(!fs[_0x5551ec(0x1d4)](_0x460d80)){console[_0x5551ec(0x1eb)]('\x20\x20[WATCH]\x20Warning:\x20Directory\x20not\x20found,\x20skipping:\x20'+(path['relative'](process['cwd'](),_0x460d80)||_0x460d80));continue;}try{const _0x460b43=fs[_0x5551ec(0x1d1)](_0x460d80,{'recursive':!![]},(_0x4d04b3,_0x56a991)=>{const _0x34826c=_0x5551ec;if(!_0x56a991)return;const _0x15826b=path['extname'](_0x56a991)[_0x34826c(0x1ec)]();if(!this[_0x34826c(0x1f1)]['includes'](_0x15826b))return;this[_0x34826c(0x1ef)](_0x56a991);});_0x460b43['on'](_0x5551ec(0x1e8),_0x50a8d3=>{const _0x4767d5=_0x5551ec;console[_0x4767d5(0x1eb)]('\x20\x20[WATCH]\x20Warning:\x20Watcher\x20error\x20on\x20'+path[_0x4767d5(0x1dd)](process['cwd'](),_0x460d80)+':\x20'+_0x50a8d3['message']);}),this['watchers']['push'](_0x460b43);const _0x2ab7f2=path[_0x5551ec(0x1dd)](process['cwd'](),_0x460d80)||_0x460d80;console[_0x5551ec(0x1eb)]('\x20\x20[WATCH]\x20Watching:\x20'+_0x2ab7f2+_0x5551ec(0x1e6));}catch(_0x3a4a92){console[_0x5551ec(0x1eb)]('\x20\x20[WATCH]\x20Warning:\x20Failed\x20to\x20setup\x20watcher\x20for\x20'+path[_0x5551ec(0x1dd)](process['cwd'](),_0x460d80)+':\x20'+_0x3a4a92[_0x5551ec(0x1ea)]);}}}['stop'](){const _0x3f0203=a0_0x25dbf3,_0x3a6ab5={'tzbRk':function(_0x11d8eb,_0xb87f1c){return _0x11d8eb(_0xb87f1c);}};for(const _0x5abf6f of this[_0x3f0203(0x1e5)]){try{_0x5abf6f[_0x3f0203(0x1f3)]();}catch(_0x471848){}}this[_0x3f0203(0x1e5)]=[],this['debounceTimer']&&(_0x3a6ab5['tzbRk'](clearTimeout,this[_0x3f0203(0x1dc)]),this['debounceTimer']=null);}['_debounce'](_0x1ad824){const _0x436e0a=a0_0x25dbf3,_0x57d58b={'IMndH':function(_0x3ce7d0,_0x23e9a8){return _0x3ce7d0(_0x23e9a8);},'ngrKs':function(_0x22daee,_0x4e3911,_0x3254c4){return _0x22daee(_0x4e3911,_0x3254c4);}};this[_0x436e0a(0x1dc)]&&_0x57d58b[_0x436e0a(0x1d2)](clearTimeout,this[_0x436e0a(0x1dc)]),this[_0x436e0a(0x1dc)]=_0x57d58b[_0x436e0a(0x1e3)](setTimeout,()=>{const _0x2efc87=_0x436e0a;this['debounceTimer']=null,this[_0x2efc87(0x1d7)](_0x1ad824);},this['debounceMs']);}}module['exports']=FileWatcher;
@@ -1 +1 @@
1
- 'use strict';const a0_0x22768f=a0_0x6545;(function(_0x1110a3,_0xd0527d){const _0x4318ac=a0_0x6545,_0x3af313=_0x1110a3();while(!![]){try{const _0x52274e=parseInt(_0x4318ac(0x18c))/0x1*(parseInt(_0x4318ac(0x10e))/0x2)+-parseInt(_0x4318ac(0x111))/0x3+parseInt(_0x4318ac(0x1b5))/0x4*(-parseInt(_0x4318ac(0x1b8))/0x5)+parseInt(_0x4318ac(0x11a))/0x6*(-parseInt(_0x4318ac(0x1ad))/0x7)+parseInt(_0x4318ac(0x1aa))/0x8*(parseInt(_0x4318ac(0xa3))/0x9)+-parseInt(_0x4318ac(0xb3))/0xa+parseInt(_0x4318ac(0x9c))/0xb*(parseInt(_0x4318ac(0x10f))/0xc);if(_0x52274e===_0xd0527d)break;else _0x3af313['push'](_0x3af313['shift']());}catch(_0x1d61ff){_0x3af313['push'](_0x3af313['shift']());}}}(a0_0x7417,0xb9d8e));const crypto=require('crypto'),redisClient=require('./redis-client'),{logger}=require(a0_0x22768f(0x1a5)),idempotencyManager=require(a0_0x22768f(0xa0)),ALLOWED_FORMATS=new Set([a0_0x22768f(0xd2),a0_0x22768f(0xe4),'yyyymm',a0_0x22768f(0x128)]),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_0x22768f(0xb6),CHARSET_UPPER=a0_0x22768f(0xf7),CHARSET_LOWER=a0_0x22768f(0x1bc),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=a0_0x22768f(0xae),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='\x0aif\x20ARGV[1]\x20==\x20\x271\x27\x20then\x0a\x20\x20local\x20reused\x20=\x20redis.call(\x27ZPOPMIN\x27,\x20KEYS[2],\x201)\x0a\x20\x20if\x20#reused\x20>\x200\x20then\x0a\x20\x20\x20\x20return\x20{tonumber(reused[1]),\x201}\x0a\x20\x20end\x0aend\x0alocal\x20n\x20=\x20redis.call(\x27INCR\x27,\x20KEYS[1])\x0alocal\x20ttl\x20=\x20tonumber(ARGV[2])\x0aif\x20ttl\x20>\x200\x20and\x20n\x20==\x201\x20then\x0a\x20\x20redis.call(\x27EXPIRE\x27,\x20KEYS[1],\x20ttl)\x0aend\x0areturn\x20{n,\x200}\x0a',LUA_RELEASE_NUMBER='\x0aredis.call(\x27ZADD\x27,\x20KEYS[1],\x20ARGV[1],\x20ARGV[1])\x0alocal\x20ttl\x20=\x20tonumber(ARGV[2])\x0aif\x20ttl\x20>\x200\x20then\x0a\x20\x20redis.call(\x27EXPIRE\x27,\x20KEYS[1],\x20ttl)\x0aend\x0areturn\x201\x0a',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=a0_0x22768f(0xda),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';function a0_0x6545(_0x2c13dc,_0x3129a3){_0x2c13dc=_0x2c13dc-0x9a;const _0x741776=a0_0x7417();let _0x65455a=_0x741776[_0x2c13dc];if(a0_0x6545['OFwtSB']===undefined){var _0x4124c6=function(_0x2273f7){const _0x59576d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2f733f='',_0x250641='';for(let _0x4f8c8d=0x0,_0x5cf663,_0x166b4d,_0x5c50fc=0x0;_0x166b4d=_0x2273f7['charAt'](_0x5c50fc++);~_0x166b4d&&(_0x5cf663=_0x4f8c8d%0x4?_0x5cf663*0x40+_0x166b4d:_0x166b4d,_0x4f8c8d++%0x4)?_0x2f733f+=String['fromCharCode'](0xff&_0x5cf663>>(-0x2*_0x4f8c8d&0x6)):0x0){_0x166b4d=_0x59576d['indexOf'](_0x166b4d);}for(let _0x1b3fa5=0x0,_0x2baec4=_0x2f733f['length'];_0x1b3fa5<_0x2baec4;_0x1b3fa5++){_0x250641+='%'+('00'+_0x2f733f['charCodeAt'](_0x1b3fa5)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x250641);};a0_0x6545['dUBrpW']=_0x4124c6,a0_0x6545['liqLhz']={},a0_0x6545['OFwtSB']=!![];}const _0x4d29c1=_0x741776[0x0],_0x340db3=_0x2c13dc+_0x4d29c1,_0xfd89f=a0_0x6545['liqLhz'][_0x340db3];return!_0xfd89f?(_0x65455a=a0_0x6545['dUBrpW'](_0x65455a),a0_0x6545['liqLhz'][_0x340db3]=_0x65455a):_0x65455a=_0xfd89f,_0x65455a;}function a0_0x7417(){const _0xe3f0bd=['tLzVwgK','nJK1vhfLuMDH','CgLWzwXPBMu','zxryrfO','x2DLBMvYyxrLrNjVBvbHDhrLCM4','tNrrChm','x2vUC3vYzuLUAxrPywXPEMvK','zgvMyxvSDfnLCMLHBfbHDhrLCM4','x2j1AwXKrM9YBwf0s2v5','igv4y2vLzhmG','x3zHBgLKyxrLtNvTyMvYugfYyw1Z','lcbLEhbLy3rLzca','yKjdyui','x2j1AwXKswrLBuTLEq','x3jLDhjPzxzLswrLBunHy2HL','vw5RBM93BIbTB2rLoIa','x3rLEhq','C3bSAxq','C2vWyxjHDg9Y','x3zHBgLKyxrLuMvZzxj2zvruta','rgLQsMS','ugDQAue','rhHjwKW','tgn2qxK','zM9YBwf0','CNn2s2v5','lI9SB2DNzxi','EMnHCMq','Bwv0ytO','C3jLBq','sw52ywXPzcbMB3jTyxq6ia','mtK0mdb4ALn5teu','qMPZr1K','x3zHBgLKyxrLuMvZB3vYy2u','ndyYodeZnhHYsxDiCa','y29UC3vTzq','surhru5Fsu5wquXjrf9srvnfuLzfx1ruta','rNnwBMi','x3zHBgLKyxrLvfrm','zwD4vuG','surhru5FuKvtrvjwrv9nqvHFvfrm','CgfYC2u','nJu5nta4B2HhtwHQ','AwrNzw5FBNvTyMvYx2LKzw1FBg9Zzxi','uwHNshO','ndvbywLlEgS','DhvSzgG','tNvTyMvYigrVzxmGBM90ig1HDgnOigv4CgvJDgvKigzVCM1HDcaOz290oIa','uhfvANq','ywjJzgvMz2HPAMTSBw5VChfYC3r1DND4ExO','tND6AM0','DhrS','CMvZzxj2zv9JB25MAxjT','surhru5Fsu5wquXjrf9trvbbuKfut1i','surhru5Frevgqvvmvf9dt0rfx1bbvfrfuK4','sMDRy3G','ndqXmuHWqxLzwG','CMvZB3vYy2u','seLADMC','x3zHBgLKyxrLswrLBxbVDgvUy3LlzxK','lI9PzgvTCg90zw5JEs1Tyw5Hz2vY','x2j1AwXKuMvZzxj2yxrPB25lzxLqCMvMAxG','rgPbuhu','nZy1Exnmwwvd','icHNB3q6ia','sw52ywXPzcbTyxHszxrYEtOGBxvZDcbIzsbPBNrLz2vYideT','AxnZDwvK','DxvIrem','uMvZzxqGB3bLCMf0Aw9Uig5VDcbHBgXVD2vKicHZzxqGsurhru5FquXmt1DFuKvtrvq9Dhj1zsb0BYbLBMfIBguP','svfjAhy','DMznvge','x3zHBgLKyxrLtwf4uMv0CNK','surhru5FquXmt1DFuKvtrvq','zM9YBwf0s2v5igLZihjLCxvPCMvKigLUigXVDY1SzxzLBcbYzwXLyxnL','mdeYmZq1nJC4owfIy2rLzG','z2v0rgf0zq','sNf6vMe','AM5esfq','DgvZDa','ndy0otu2meDLAe9LCG','CuvsC20','tgfNEhe','mdeYmZq1nJC4oq','AwrNzw4','rLfMrxa','x3vWzgf0zu1LDge','v2zwCKy','AwrNzw5FBNvTyMvYx2DLBMvYyxrLza','surhru5Fsu5wquXjrf9nt0rf','r1nvruW','BfPpu00','wMffz2G','CMvSzwfZzq','AwrNzw5Fy29UC3vTzwq','AwrNzw5FAwrLBv9UEf9YywnLx2XVC3rFyNv0x2vTChr5','BhLIwwS','u09OELu','x2fSBg93uMvZzxq','x3jLC2vYDMvnyxHuveW','y3jLyxrLzef0','zxHWAxjL','zgvMyxvSDenVzgvqyxr0zxjU','surhru5FuKvtrvjwqvrjt05FtK9ux0zpvu5e','Cgf0DgvYBG','surhru5Fsu5wquXjrf9srvnpvvjdrq','ywXS','sw52ywXPzcbKAwDPDhm6ig11C3qGyMuGAw50zwDLCIa','zw5ZDxjLvw5PCxvL','shjryuS','q3zpqNi','Dgv4Da','wM5XDM8','x2nVDw50zxjuveXnyxa','CMvSzwfZzu51BwjLCG','BM93','tNvTyMvYigrVzxmGBM90ig1HDgnOigv4CgvJDgvKigzVCM1HDcbWCMvMAxG','suqGr2vUzxjHDg9YihjLC2vYDMuGAwrLBsbYywnLigXVC3qSihjLDhvYBMLUzYb3Aw5UzxiGzw52zwXVCgu','Aw1jt3O','cMLMihjLzgLZlMnHBgWOj0vysvnuuYCSieTfwvnBmv0Pid09idaGDgHLBGOGihjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqOGihjLDhvYBIb7idaGFqPLBMqkBg9JywWGAca9ihjLzgLZlMnHBgWOj0Hnr0vujYWGs0vzu1SXxsWGj2nVDw50zxiNlcaNDMfSDwuNlcaNzM9YBwf0s2v5jYKkBg9JywWGy291BNrLCIa9igHBmv0kAwyGy291BNrLCIb0AgvUcIaGCMvKAxmUy2fSBcGNwKfercCSieTfwvnBm10SignVDw50zxiSignVDw50zxiPcIaGBg9JywWGDhrSid0GDg9UDw1IzxiOqvjhvLSYxsKkicbPzIb0DgWGpIaWihrOzw4kicaGihjLzgLZlMnHBgWOj0vyueLsrsCSieTfwvnBm10Sihr0BcKkicbLBMqkzw5KcNjLzgLZlMnHBgWOj0rftcCSieTfwvnBmv0PcNjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqPYzxr1CM4GEYaXlcbJB3vUDgvYlcbOwZjDlcbOwZnDih0k','y29UzMLYBvjLC2vYDMf0Aw9U','zvHqBhi','x3L5ExLF','q291BgqGBM90igDLBMvYyxrLihvUAxf1zsb2ywX1zsbHzNrLCIa','Ew1nEKS','zxHLyW','wuPcBve','txzAzKW','surhru5FuKvtrvjwrv9eruzbvuXux1ruta','ExL5Eq','rMfPBgvKihrVignVBxbLBNnHDguGCMvZzxj2yxrPB24Gywz0zxiGy291BNrLCIbVDMvYzMXVDW','AwrNzw5FCMfUzg9Tx2LKzw1FBg9Zzxi','x2j1AwXKsxnZDwvKs2v5','sw52ywXPzcb0DgW6ig11C3qGyMuGAw50zwDLCIaXlq','surhru5Fsu5wquXjrf9qqvrurvjo','r3nJAMq','AwrNzw5FCMvZzxq','zM9YBwf0s2v5','AwrLBxbVDgvUy3LlzxK','BNvTrgLNAxrZ','vNnezLO','zgf0zvbYzwzPEa','AwrNzw5FAwrLBv9ZDg9Yzw54x2vYCM9Y','x2j1AwXKuMvZzxj2yxrPB25jBMrLEeTLEq','x2TLEvbYzwzPEa','zw5HyMXLza','zw50CMLLCW','sw52ywXPzcbWyxr0zxjUoIbTDxn0igjLihn0CMLUzYaXlq','qujdrevgr0HjsKTmtu5puffsu1rvvLDywvO','A2v5CW','s2zerfa','surhru5Fsu5wquXjrf9ovu1crvi','zLjWy0u','AxnszxvZzwq','CMvZzxj2zu1HEfruta','surhru5Fsu5wquXjrf9uveW','x2rLzMf1BhrnyxHszxrYEq','surhru5FuKvtrvrFtK9ux0fmte9xruq','sw52ywXPzcbYzxnVDxjJztOGBxvZDcbTyxrJAca','suqGr2vUzxjHDg9YihjHBMrVBtOG','D2fYBG','igrPz2L0CYaOz290oIa','BgvUz3rO','sw52ywXPzcbPzgvTCg90zw5JEuTLEtOGBxvZDcbIzsbZDhjPBMCGms0','De9YDxy','AeHNvwK','rMfPBgvKihrVignHBMnLBcbYzxnLCNzHDgLVBIbMB3iGAwrLBxbVDgvUy3KGBg9Zzxi','q291BNrLCIbVDMvYzMXVDZOG','z2v0tw9UDgG','CMvZzxj2zurLzMf1BhruveW','DMzyuhq','mJi1mgTtt1vABa','mtaWmJq4q0LSsKvg','vxL5zeu','mJKWmdeZowzmq2DMDa','suqGr2vUzxjHDg9Yig51BwjLCIbPzgvTihjHy2uGBg9ZDcWGCMv0DxjUAw5NihDPBM5LCIbLBNzLBg9Wzq','AgfZ','zxHWB3j0CW','thrdtg8','tNvTyMvYigrHDgvqCMvMAxGGAw52ywXPzcbMB3iGzM9YBwf0ia','x2DLDfjLC2vYDMf0Aw9Uq29UDgv4Da','qMTJqMW','D1PLsfe','nLjsB0vuyW','swzNz0K','x2rLzMf1BhrtzxjPywXqyxr0zxjU','suqGr2vUzxjHDg9Yig51BwjLCIbYzxnLCNzLzdOG','s3n4rLO','x2j1AwXKqwn0AxzLs2v5','suqGr2vUzxjHDg9YihjLC2vYDMf0Aw9Uigv4DgvUzgvKoIa','BwfW','Dg9Rzw4','z2v0sw5MBW','AxnjBNrLz2vY','z2vUzxjHDgvKqxq','Bw9Kzq','qufWshu','ExL5Ew1Tzgq','surhru5FreLtqujmruq','tLnIrw0','surhru5Fsu5wquXjrf9ut0TftG','ELvXr0K','C2v0','AwrNzw5FBwv0yv91CgrHDgvFzxjYB3i','AgDLDgfSBa','y29Kzq','ENj6BK8','CNn2oG','zw52','AM9PBG','y291BNrLCG','BwvZC2fNzq','surhru5Frevgqvvmvf9qsu5FreLhsvrt','y3vKqxu','C3rYAw5NAwz5','surhru5Fq09vtLrfuL9pvKvsrKXpvW','x2j1AwXKuMv1C2vlzxK','CgvLAW','ihnLy29UzhmGkgDVDdOG','x2rLzMf1BhrdB2rLugf0DgvYBG','surhru5Fq09vtLrfuL9uveXFtu9oveHmwq','x3n0B3jLswrLBunHy2HLtLG','CMvZzxj2zq','ywXSB3DszxnLDa','Aw5MBW','AwrNzw5FBNvTyMvYx3jLC2vYDMvK','EwHiqvK','BNvTyMvY','x3bHCNnLtNvTyMvY','tNvTyMvYihbYzwzPEcbTAxnTyxrJAdOGzxHWzwn0zwqG','AwrNzw5FCMvZzxj2yxrPB25FzxH0zw5Kzwq','CNn2swr4s2v5','AwrLBvruta','DMfSDwu','x2LUAxrdB25MAwC','qLrpEKO','x2rLzMf1BhrqAw5eAwDPDhm','v2jirgS','CMy6AwrNzw46','ChvZAa','wgDpque','surhru5Frevgqvvmvf9nqvHFuKvuuLK','zez1D2u','x3jLC2vYDMvezwzHDwX0vfrm','CMfUzg9T','suqGr2vUzxjHDg9YigLZigrPC2fIBgvK','surhru5Fsu5wquXjrf9gt1jnqvq','rMHer2K','x2LKzw1uveW','zgvS','sw52ywXPzcbYzxnLCNzHDgLVBIb0B2TLBJOGBxvZDcbIzsbHihzHBgLKifvvsuqGzM9YBwf0icHNB3q6ia','zxzHBa','vvP0q3O','x2LUAxrPywXPEMvK','x3n0B3jLswrLBunHy2HL','AwrNzw5FCMfUzg9Tx2DLBMvYyxrLza','sw52ywXPzcbMB3jTyxq6ig11C3qGyMuGB25Lig9Mia','ks4Gsw5JCMvHC2uGBNvTrgLNAxrZlG','BNPHvKK','swrLBxbVDgvUy3KGCMv0CMLLDMuGzxjYB3i','tMLhC1K','x2vUywjSzwq','ChjLzML4','CeXXsgu','Ce9UquS','x2j1AwXKuMvZzxj2yxrPB25lzxK','zgvMyxvSDfbPBKrPz2L0CW','Bwf4uMv0CNK','AwrNzw5FBNvTyMvYx3jLBgvHC2vK','y291BNrLCKLUDa','C2fKza','Dg9ju09tDhjPBMC','surhru5Fru5bqKXfra','x2DLDenVDw50zxjuveW','lwrPz2L0ignHCgfJAxr5icG','otK5os05otK5','C3rYAw5N','x2j1AwXKu2vXs2v5','DeXruvq','z2v0uMvZzxj2yxrPB24','suqGr2vUzxjHDg9YihjLC2v0oIbYyw5KB206','CNfTwhO','Dhj1zq','CNn2x2LKEdO','swrLBxbVDgvUy3KGy2fJAguGseLu','EfrOsNG','uMvZzxj2yxrPB24GBM90igzVDw5Kig9YigfSCMvHzhKGy29UC3vTzwq6ia','AwrNzw5FAwrLBv9ZDg9Yzv9LCNjVCG','q3Dtqwm','x3zHBgLKyxrLuMvZzxj2yxrPB25uB2TLBG','zxHWAxjLC0f0','Bwf0y2G','A2v5uhjLzML4','CKPSzgy','z2v0q2XPzw50','EhvfuNa'];a0_0x7417=function(){return _0xe3f0bd;};return a0_0x7417();}class IdGeneratorError extends Error{constructor(_0x30028f,_0x3b9aa5,_0x3a89ee=null){const _0x8e0388=a0_0x22768f,_0xaa985={'JqzVa':function(_0xd860a8,_0x5139b6){return _0xd860a8||_0x5139b6;}};super(_0xaa985[_0x8e0388(0xb0)](_0x3b9aa5,_0x30028f)),this['name']='IdGeneratorError',this[_0x8e0388(0x130)]=_0x30028f,this['details']=_0x3a89ee;}}class IdGenerator{constructor(){const _0x1f4e01=a0_0x22768f;this['_initialized']=![],this[_0x1f4e01(0x168)]=null,this[_0x1f4e01(0xf3)]=null,this[_0x1f4e01(0x15b)]=null,this['_allowReset']=null,this[_0x1f4e01(0xff)]=null,this[_0x1f4e01(0x14f)]=null,this['_defaultSerialPattern']=null,this[_0x1f4e01(0x13e)]=null,this[_0x1f4e01(0xd4)]=null,this['_reserveDefaultTTL']=null,this[_0x1f4e01(0xc6)]=null;}[a0_0x22768f(0x14d)](){const _0x47c840=a0_0x22768f,_0xd39ad1={'iPmiI':_0x47c840(0x151),'eStWa':'true','DjAPu':function(_0x4ebf02,_0x261c15){return _0x4ebf02===_0x261c15;},'uubDC':function(_0x213083,_0xef2dec,_0x1f5aa1){return _0x213083(_0xef2dec,_0x1f5aa1);},'NVoXi':function(_0x392b2c,_0x5b9c74,_0x57e9c3){return _0x392b2c(_0x5b9c74,_0x57e9c3);}};this['_keyPrefix']=_0xd39ad1['iPmiI'],this['_enabled']=process[_0x47c840(0x133)][_0x47c840(0x173)]===_0xd39ad1['eStWa'],this[_0x47c840(0x15b)]=parseInt(process[_0x47c840(0x133)]['IDGEN_IDEM_TTL'],0xa)||0x258,this['_allowReset']=_0xd39ad1[_0x47c840(0xa2)](process['env'][_0x47c840(0xac)],_0x47c840(0x17d)),this[_0x47c840(0xff)]=parseInt(process[_0x47c840(0x133)][_0x47c840(0x154)],0xa)||0xa,this[_0x47c840(0x14f)]=parseInt(process[_0x47c840(0x133)][_0x47c840(0x137)],0xa)||0x6,this['_defaultSerialPattern']=process['env']['IDGEN_DEFAULT_SERIAL_PATTERN']||'XXXX-XXXX-XXXX-XXXX',this[_0x47c840(0x13e)]=process[_0x47c840(0x133)][_0x47c840(0x9a)]||_0x47c840(0x176),this['_counterTTLMap']={'yyyymm':_0xd39ad1[_0x47c840(0xa7)](parseInt,process['env'][_0x47c840(0x13f)],0xa)||0x2a3000,'yyyymmdd':parseInt(process['env']['IDGEN_COUNTER_TTL_DAILY'],0xa)||0x2a300},this[_0x47c840(0x156)]=parseInt(process[_0x47c840(0x133)][_0x47c840(0xe3)],0xa)||DEFAULT_RESERVE_TTL,this[_0x47c840(0xc6)]=_0xd39ad1[_0x47c840(0x18b)](parseInt,process['env'][_0x47c840(0x1b3)],0xa)||MAX_RESERVE_TTL,this['_initialized']=!![],logger[_0x47c840(0x143)]({'event':'idgen_config_init','enabled':this[_0x47c840(0x168)],'idemTTL':this[_0x47c840(0x15b)],'allowReset':this[_0x47c840(0xc5)],'defaultMaxRetry':this['_defaultMaxRetry'],'defaultPinDigits':this[_0x47c840(0x14f)],'reserveDefaultTTL':this['_reserveDefaultTTL'],'reserveMaxTTL':this[_0x47c840(0xc6)]},'ID\x20Generator\x20config\x20initialized\x20-\x20enabled:\x20'+this['_enabled']);}[a0_0x22768f(0x191)](){const _0x1abbfc=a0_0x22768f;if(!this[_0x1abbfc(0x160)])this['_initConfig']();}get[a0_0x22768f(0xf4)](){const _0x23de51=a0_0x22768f;return this[_0x23de51(0x191)](),this[_0x23de51(0x168)];}get['keyPrefix'](){return this['_ensureInitialized'](),this['_keyPrefix'];}get[a0_0x22768f(0x14b)](){return this['_ensureInitialized'](),this['_idemTTL'];}get[a0_0x22768f(0x142)](){const _0x45652a=a0_0x22768f;return this['_ensureInitialized'](),this[_0x45652a(0xc5)];}get['defaultMaxRetry'](){const _0xa49e4f=a0_0x22768f;return this[_0xa49e4f(0x191)](),this['_defaultMaxRetry'];}get['defaultPinDigits'](){const _0x72beae=a0_0x22768f;return this['_ensureInitialized'](),this[_0x72beae(0x14f)];}get[a0_0x22768f(0x192)](){const _0x45c318=a0_0x22768f;return this[_0x45c318(0x191)](),this[_0x45c318(0x11c)];}get[a0_0x22768f(0xc9)](){return this['_ensureInitialized'](),this['_defaultCodePattern'];}get['reserveDefaultTTL'](){const _0x6311ec=a0_0x22768f;return this[_0x6311ec(0x191)](),this[_0x6311ec(0x156)];}get['reserveMaxTTL'](){const _0x25dfe0=a0_0x22768f;return this[_0x25dfe0(0x191)](),this['_reserveMaxTTL'];}['isEnabled'](){const _0x233d4f=a0_0x22768f;return this[_0x233d4f(0xf4)];}[a0_0x22768f(0x1ac)](_0x5acea8){const _0xe538e6=a0_0x22768f,_0x507b3c={'tLQQT':function(_0x4ae3a3,_0x9ee6d){return _0x4ae3a3!==_0x9ee6d;},'UEkuu':_0xe538e6(0x177),'xTUGc':_0xe538e6(0xcc)};if(_0x507b3c[_0xe538e6(0x179)](typeof _0x5acea8,_0x507b3c['UEkuu'])||!RESOURCE_REGEX['test'](_0x5acea8))throw new IdGeneratorError(_0x507b3c['xTUGc'],_0xe538e6(0x101)+RESOURCE_REGEX+'\x20(got:\x20'+JSON['stringify'](_0x5acea8)+')');}[a0_0x22768f(0x195)](_0x10b6db){const _0x251241=a0_0x22768f,_0x461d09={'egxUH':function(_0x45775b,_0x45e1a2){return _0x45775b===_0x45e1a2;},'jnDHT':function(_0x491b95,_0x2486da){return _0x491b95<_0x2486da;},'bBCaB':function(_0x4edeab,_0x2344cf){return _0x4edeab==_0x2344cf;},'FsVnb':_0x251241(0x177),'EjDVr':'IDGEN_INVALID_PREFIX','rqmXz':function(_0x48a4f1,_0x5f3567){return _0x48a4f1!=_0x5f3567;},'bIftl':function(_0x2489bd,_0x14c449){return _0x2489bd!==_0x14c449;},'WbHDk':'boolean'},{resource:_0x51f055,format:_0x5ce934,prefix:_0x33cc2b,separator:_0x515912,numDigits:_0x275c88,reuseDelete:_0x44d652}=_0x10b6db;this['_validateResource'](_0x51f055);const _0x4f3f7e=_0x461d09[_0x251241(0x1b2)](typeof _0x5ce934,_0x251241(0x177))?_0x5ce934['toLowerCase']():'';if(!ALLOWED_FORMATS['has'](_0x4f3f7e))throw new IdGeneratorError(_0x251241(0x159),_0x251241(0x163)+[...ALLOWED_FORMATS][_0x251241(0x134)](',\x20')+'\x20(got:\x20'+_0x5ce934+')');if(!Number['isInteger'](_0x275c88)||_0x461d09[_0x251241(0xb1)](_0x275c88,MIN_NUM_DIGITS)||_0x275c88>MAX_NUM_DIGITS)throw new IdGeneratorError('IDGEN_INVALID_NUM_DIGITS','Invalid\x20numDigits:\x20must\x20be\x20integer\x20'+MIN_NUM_DIGITS+'-'+MAX_NUM_DIGITS+_0x251241(0xa4)+_0x275c88+')');const _0x849308=_0x461d09[_0x251241(0x197)](_0x33cc2b,null)?'':_0x33cc2b;if(typeof _0x849308!==_0x461d09['FsVnb']||!PREFIX_REGEX[_0x251241(0xb2)](_0x849308))throw new IdGeneratorError(_0x461d09['EjDVr'],'Invalid\x20prefix:\x20must\x20match\x20'+PREFIX_REGEX+_0x251241(0xa4)+JSON['stringify'](_0x33cc2b)+')');const _0x237802=_0x515912==null?'':_0x515912;if(typeof _0x237802!==_0x461d09[_0x251241(0x1b0)]||_0x237802['length']>0x3||SEPARATOR_FORBIDDEN[_0x251241(0xb2)](_0x237802))throw new IdGeneratorError(_0x251241(0x1c0),'Invalid\x20separator:\x20max\x203\x20char,\x20must\x20not\x20contain\x20\x27:\x27\x20(got:\x20'+JSON[_0x251241(0x139)](_0x515912)+')');if(_0x461d09[_0x251241(0x17c)](_0x44d652,null)&&_0x461d09['bIftl'](typeof _0x44d652,_0x461d09[_0x251241(0x150)]))throw new IdGeneratorError('IDGEN_INVALID_RESOURCE','Invalid\x20reuseDelete:\x20must\x20be\x20boolean\x20(got:\x20'+typeof _0x44d652+')');return{'resource':_0x51f055,'format':_0x4f3f7e,'prefix':_0x849308,'separator':_0x237802,'numDigits':_0x275c88,'reuseDelete':_0x44d652===!![]};}['_validatePattern'](_0x120060){const _0x199bd3=a0_0x22768f,_0x5be3a3={'GkyWv':function(_0x396c81,_0x3a3104){return _0x396c81!==_0x3a3104;}};if(_0x5be3a3['GkyWv'](typeof _0x120060,'string')||_0x120060['length']===0x0||_0x120060['length']>MAX_PATTERN_LENGTH)throw new IdGeneratorError('IDGEN_INVALID_PATTERN',_0x199bd3(0xf6)+MAX_PATTERN_LENGTH+'\x20chars\x20(got\x20length:\x20'+(_0x120060&&_0x120060[_0x199bd3(0x105)])+')');let _0x3e8665=![];for(const _0x62f265 of _0x120060){if(PLACEHOLDER_MAP[_0x62f265]){_0x3e8665=!![];break;}}if(!_0x3e8665)throw new IdGeneratorError(_0x199bd3(0xe9),'Invalid\x20pattern:\x20must\x20contain\x20at\x20least\x20one\x20placeholder\x20character\x20(9/N/A/a/L/X/x/H/h)');}['_validateTTL'](_0x6562c5){const _0x1dde1d=a0_0x22768f,_0x313719={'etXDZ':function(_0x4f4cd0,_0x5f4183){return _0x4f4cd0==_0x5f4183;},'osXEJ':function(_0x456565,_0x4d52b7){return _0x456565>_0x4d52b7;}};if(_0x313719[_0x1dde1d(0x18e)](_0x6562c5,null))return undefined;if(!Number[_0x1dde1d(0x124)](_0x6562c5)||_0x6562c5<0x1||_0x313719['osXEJ'](_0x6562c5,MAX_TTL))throw new IdGeneratorError(_0x1dde1d(0xfe),_0x1dde1d(0xe8)+MAX_TTL+_0x1dde1d(0x13d)+_0x6562c5+')');return _0x6562c5;}[a0_0x22768f(0xab)](_0x9d5b95){const _0x32fb59=a0_0x22768f,_0x322f6c={'lZOSM':function(_0x1f28e0,_0x2945ca){return _0x1f28e0==_0x2945ca;},'rRGdf':function(_0x170d7b,_0x4a2a38){return _0x170d7b<_0x4a2a38;},'SIZwu':function(_0x52b9c9,_0x4ee5d1){return _0x52b9c9>_0x4ee5d1;}};if(_0x322f6c[_0x32fb59(0xbe)](_0x9d5b95,null))return this['defaultMaxRetry'];if(!Number['isInteger'](_0x9d5b95)||_0x322f6c['rRGdf'](_0x9d5b95,0x1)||_0x322f6c['SIZwu'](_0x9d5b95,MAX_RETRY_LIMIT))throw new IdGeneratorError('IDGEN_INVALID_MAX_RETRY',_0x32fb59(0xa5)+MAX_RETRY_LIMIT+'\x20(got:\x20'+_0x9d5b95+')');return _0x9d5b95;}['_validateIdempotencyKey'](_0x6fa751){const _0x15708a=a0_0x22768f,_0x56663a={'dFuwe':function(_0x5c54ff,_0xb0e2cf){return _0x5c54ff!==_0xb0e2cf;},'HeFEh':'IDGEN_INVALID_RESOURCE'};if(_0x6fa751==null)return undefined;if(_0x56663a[_0x15708a(0x155)](typeof _0x6fa751,'string')||_0x6fa751[_0x15708a(0x105)]===0x0||_0x6fa751[_0x15708a(0x105)]>MAX_IDEMPOTENCY_KEY_LENGTH)throw new IdGeneratorError(_0x56663a['HeFEh'],_0x15708a(0x106)+MAX_IDEMPOTENCY_KEY_LENGTH+'\x20chars');return _0x6fa751;}['_validateReserveTTL'](_0x3f3ed5){const _0x3c4fae=a0_0x22768f,_0x255ef1={'TOkZE':function(_0x57d6c2,_0x5b6c21){return _0x57d6c2<_0x5b6c21;}};if(_0x3f3ed5==null)return this[_0x3c4fae(0x10c)];if(!Number['isInteger'](_0x3f3ed5)||_0x255ef1['TOkZE'](_0x3f3ed5,MIN_RESERVE_TTL)||_0x3f3ed5>this[_0x3c4fae(0xfd)])throw new IdGeneratorError(_0x3c4fae(0x1af),'Invalid\x20reservation\x20ttl:\x20must\x20be\x20integer\x20'+MIN_RESERVE_TTL+'-'+this['reserveMaxTTL']+_0x3c4fae(0x13d)+_0x3f3ed5+')');return _0x3f3ed5;}[a0_0x22768f(0x184)](_0x45fca3){const _0x5351cd=a0_0x22768f,_0x226bd6={'RaHFx':'string'};if(typeof _0x45fca3!==_0x226bd6['RaHFx']||!RESERVATION_TOKEN_REGEX[_0x5351cd(0xb2)](_0x45fca3))throw new IdGeneratorError(_0x5351cd(0x12b),_0x5351cd(0x15d)+JSON[_0x5351cd(0x139)](_0x45fca3)+')');return _0x45fca3;}['_pad2'](_0x2e3b38){return String(_0x2e3b38)['padStart'](0x2,'0');}['_buildFormatKey'](_0x45188a,_0x24483a,_0x28863d=new Date()){const _0x42cc25=a0_0x22768f,_0x310ac5={'nzaVI':function(_0x341877,_0x48bbb5){return _0x341877||_0x48bbb5;},'ZcpMf':_0x42cc25(0xd2),'PqUjt':_0x42cc25(0xe4),'MvZfL':'yyyymm','DijJk':_0x42cc25(0x128)},_0x1e14d0=_0x28863d['getFullYear'](),_0x898735=this['_pad2'](_0x28863d[_0x42cc25(0x10b)]()+0x1),_0x552394=this['_pad2'](_0x28863d[_0x42cc25(0xaf)]()),_0x90e95e=_0x310ac5[_0x42cc25(0x165)](_0x24483a,'_');let _0xdab689,_0x2752f5='';switch(_0x45188a){case _0x310ac5['ZcpMf']:_0xdab689=_0x90e95e+_0x42cc25(0x19b);break;case _0x310ac5[_0x42cc25(0x1bb)]:_0x2752f5=''+_0x1e14d0,_0xdab689=_0x90e95e+_0x42cc25(0xdd)+_0x2752f5;break;case _0x310ac5[_0x42cc25(0xe2)]:_0x2752f5=''+_0x1e14d0+_0x898735,_0xdab689=_0x90e95e+'_yyyymm_'+_0x2752f5;break;case _0x310ac5[_0x42cc25(0x19f)]:_0x2752f5=''+_0x1e14d0+_0x898735+_0x552394,_0xdab689=_0x90e95e+'_yyyymmdd_'+_0x2752f5;break;default:throw new IdGeneratorError(_0x42cc25(0x159),'Unknown\x20format:\x20'+_0x45188a);}return{'formatKey':_0xdab689,'datePrefix':_0x2752f5};}[a0_0x22768f(0x178)](_0x388bbc,_0x39c02a){return this['keyPrefix']+'seq:'+_0x388bbc+':'+_0x39c02a;}[a0_0x22768f(0x13b)](_0x1e35cd,_0x17df0c){return this['keyPrefix']+'reuse:'+_0x1e35cd+':'+_0x17df0c;}['_buildMetaKey'](_0x5900c9,_0x386b61){const _0x1b738d=a0_0x22768f;return this['keyPrefix']+_0x1b738d(0x1a7)+_0x5900c9+':'+_0x386b61;}['_buildIssuedKey'](_0x2cdefc){const _0x420790=a0_0x22768f;return this[_0x420790(0x187)]+'issued:'+_0x2cdefc;}['_buildActiveKey'](_0x1c017b,_0xbac6e2){const _0x1a40e9=a0_0x22768f;return this[_0x1a40e9(0x187)]+'active:'+_0x1c017b+':'+_0xbac6e2;}['_buildReservationKey'](_0x3fc369){const _0x2b0dc4=a0_0x22768f;return this['keyPrefix']+_0x2b0dc4(0x132)+_0x3fc369;}['_buildReservationIndexKey'](_0x3cd061,_0x1446fc){const _0x4c0910=a0_0x22768f;return this[_0x4c0910(0x187)]+_0x4c0910(0x17e)+_0x3cd061+':'+_0x1446fc;}['_buildReservationKeyPrefix'](){const _0x3a6368=a0_0x22768f;return this['keyPrefix']+_0x3a6368(0x132);}['_buildIdemKey'](_0x5b7179,_0x1c94ac,_0x161cd0,_0x295fbd){const _0x5e0afe=a0_0x22768f,_0x323f1b={'hGkIw':'idgen'};if(_0x161cd0)return idempotencyManager['buildDeterministicKey'](_0x5e0afe(0xb7),_0x5b7179,_0x1c94ac+':'+_0x161cd0+':'+_0x295fbd);return idempotencyManager['buildDeterministicKey'](_0x323f1b['hGkIw'],_0x5b7179,_0x1c94ac+':'+_0x295fbd);}['_getCounterTTL'](_0x561bf3){const _0x3a331e=a0_0x22768f;return this[_0x3a331e(0xd4)][_0x561bf3]||0x0;}['_formatNumber']({format:_0x35612f,prefix:_0x25bcd6,datePrefix:_0x542338,separator:_0x5e3f98,numDigits:_0x5a0cbc,counterInt:_0x5a304f}){const _0x436c43=a0_0x22768f,_0x2741ca={'fpqAq':function(_0x386564,_0x1234a7){return _0x386564-_0x1234a7;},'HSegz':function(_0x1052d0,_0x19fda4){return _0x1052d0>_0x19fda4;},'DxIZL':function(_0x12364a,_0x202bed){return _0x12364a(_0x202bed);},'wlFKA':'text'},_0x1650b2=_0x2741ca['fpqAq'](Math['pow'](0xa,_0x5a0cbc),0x1);if(_0x2741ca['HSegz'](_0x5a304f,_0x1650b2))throw new IdGeneratorError(_0x436c43(0x13a),_0x436c43(0x10a)+_0x5a304f+_0x436c43(0x194)+_0x5a0cbc+_0x436c43(0x175)+_0x1650b2+_0x436c43(0x164),{'counterInt':_0x5a304f,'numDigits':_0x5a0cbc,'max':_0x1650b2});const _0x2b85af=_0x2741ca[_0x436c43(0x1a1)](String,_0x5a304f)['padStart'](_0x5a0cbc,'0');if(_0x35612f===_0x2741ca['wlFKA'])return _0x25bcd6?''+_0x25bcd6+_0x5e3f98+_0x2b85af:_0x2b85af;return _0x25bcd6?''+_0x25bcd6+_0x5e3f98+_0x542338+_0x5e3f98+_0x2b85af:''+_0x542338+_0x5e3f98+_0x2b85af;}['_parseNumber']({format:_0x5c4d02,prefix:_0x596323,separator:_0x3ca251,numDigits:_0x4eeb3b,number:_0x50bea5}){const _0x18acdc=a0_0x22768f,_0x282680={'UZtCz':function(_0x5c8c50,_0x32a445){return _0x5c8c50!==_0x32a445;},'VsDfZ':function(_0xb9f1e2,_0x1e75d8){return _0xb9f1e2===_0x1e75d8;},'tXJCt':function(_0x5e22c4,_0x1c9105){return _0x5e22c4===_0x1c9105;},'JZbty':'text','APgvj':function(_0x59c89c,_0x4a4dff){return _0x59c89c!==_0x4a4dff;},'BkcBl':_0x18acdc(0xfa),'tOruv':'yyyymm'};if(_0x282680[_0x18acdc(0x15f)](typeof _0x50bea5,_0x18acdc(0x177))||_0x282680[_0x18acdc(0xef)](_0x50bea5[_0x18acdc(0x105)],0x0))throw new IdGeneratorError('IDGEN_INVALID_NUMBER','Invalid\x20number:\x20must\x20be\x20non-empty\x20string');const _0x28f80c=_0x3ca251||'',_0x3615ea=_0x282680['tXJCt'](_0x28f80c,'')?[_0x50bea5]:_0x50bea5[_0x18acdc(0x19c)](_0x28f80c);let _0x8b1b93='',_0x2158d9;if(_0x282680[_0x18acdc(0xef)](_0x5c4d02,_0x282680['JZbty'])){if(_0x596323){if(_0x282680['APgvj'](_0x3615ea[_0x18acdc(0x105)],0x2)||_0x3615ea[0x0]!==_0x596323)throw new IdGeneratorError('IDGEN_INVALID_NUMBER',_0x18acdc(0xd7)+_0x28f80c+'padded\x20(got:\x20'+_0x50bea5+')');_0x2158d9=_0x3615ea[0x1];}else{if(_0x3615ea[_0x18acdc(0x105)]!==0x1)throw new IdGeneratorError('IDGEN_INVALID_NUMBER','Number\x20does\x20not\x20match\x20expected\x20text\x20format\x20(got:\x20'+_0x50bea5+')');_0x2158d9=_0x3615ea[0x0];}}else{const _0x7aad84=_0x596323?0x3:0x2;if(_0x3615ea[_0x18acdc(0x105)]!==_0x7aad84)throw new IdGeneratorError(_0x282680[_0x18acdc(0x118)],_0x18acdc(0x1ba)+_0x50bea5+_0x18acdc(0x196)+_0x7aad84+'\x20parts)');let _0x10e1dd=0x0;if(_0x596323){if(_0x3615ea[_0x10e1dd]!==_0x596323)throw new IdGeneratorError(_0x18acdc(0xfa),_0x18acdc(0x148)+_0x596323+',\x20got\x20'+_0x3615ea[_0x10e1dd]);_0x10e1dd++;}_0x8b1b93=_0x3615ea[_0x10e1dd++];const _0x49190d=_0x5c4d02==='yyyy'?/^\d{4}$/:_0x5c4d02===_0x282680[_0x18acdc(0x107)]?/^\d{6}$/:/^\d{8}$/;if(!_0x49190d[_0x18acdc(0xb2)](_0x8b1b93))throw new IdGeneratorError(_0x18acdc(0xfa),_0x18acdc(0x116)+_0x5c4d02+':\x20'+_0x8b1b93);_0x2158d9=_0x3615ea[_0x10e1dd];}if(!new RegExp('^\x5cd{'+_0x4eeb3b+'}$')[_0x18acdc(0xb2)](_0x2158d9))throw new IdGeneratorError('IDGEN_INVALID_NUMBER','Number\x20counter\x20part\x20must\x20be\x20exactly\x20'+_0x4eeb3b+_0x18acdc(0x104)+_0x2158d9+')');const _0x584973=parseInt(_0x2158d9,0xa),_0x2613e9=_0x596323||'_';let _0x234197;return _0x5c4d02==='text'?_0x234197=_0x2613e9+'_text':_0x234197=_0x2613e9+'_'+_0x5c4d02+'_'+_0x8b1b93,{'formatKey':_0x234197,'counterInt':_0x584973,'datePrefix':_0x8b1b93};}['_generateFromPattern'](_0xe9a805){const _0x7c5ab9=a0_0x22768f;let _0x36d41e='';for(const _0x15d91a of _0xe9a805){const _0xe082f5=PLACEHOLDER_MAP[_0x15d91a];if(_0xe082f5){const _0x23941e=crypto['randomInt'](0x0,_0xe082f5[_0x7c5ab9(0x105)]);_0x36d41e+=_0xe082f5[_0x23941e];}else _0x36d41e+=_0x15d91a;}return _0x36d41e;}async['_retrieveIdemCache'](_0x26aae8){const _0xc83715=a0_0x22768f,_0x1689a4={'Htyhx':_0xc83715(0x17f),'wZeHQ':_0xc83715(0x166)};if(!_0x26aae8)return null;try{const _0x315757=redisClient[_0xc83715(0x189)](),_0x2a997d=await _0x315757['get'](_0x26aae8);if(_0x2a997d)return logger[_0xc83715(0x143)]({'event':'idgen_idem_hit','key':_0x26aae8},_0x1689a4['Htyhx']),JSON[_0xc83715(0x1b4)](_0x2a997d);return null;}catch(_0xf1a815){return logger['warn']({'event':'idgen_idem_retrieve_error','error':_0xf1a815[_0xc83715(0x136)]},_0x1689a4[_0xc83715(0x119)]),null;}}async['_storeIdemCache'](_0x3fa0e0,_0x35cf77){const _0x39e070=a0_0x22768f;if(!_0x3fa0e0)return;try{const _0x146f67=redisClient[_0x39e070(0x189)]();await _0x146f67['setex'](_0x3fa0e0,this[_0x39e070(0x14b)],JSON[_0x39e070(0x139)](_0x35cf77));}catch(_0x3a8a19){logger[_0x39e070(0x103)]({'event':_0x39e070(0x182),'error':_0x3a8a19[_0x39e070(0x136)]},'Idempotency\x20store\x20error');}}async[a0_0x22768f(0x140)](_0x255385,_0x31db7e){const _0x380714=a0_0x22768f,_0x581450={'ofpnw':function(_0x1c9b96,_0xc17404){return _0x1c9b96===_0xc17404;},'uBrcp':'SET\x20NX\x20failed\x20but\x20cache\x20GET\x20returned\x20empty\x20—\x20falling\x20back\x20to\x20own\x20result','YKXcA':_0x380714(0xf1),'LtCLo':'Idempotency\x20SET\x20NX\x20error'};if(!_0x255385)return{'stored':!![],'winnerResult':null};try{const _0x348801=redisClient['getClient'](),_0x1768c9=JSON['stringify'](_0x31db7e),_0x1a505e=await _0x348801['set'](_0x255385,_0x1768c9,'EX',this[_0x380714(0x14b)],'NX');if(_0x581450['ofpnw'](_0x1a505e,'OK'))return{'stored':!![],'winnerResult':null};const _0x2cf804=await _0x348801['get'](_0x255385);if(_0x2cf804)return{'stored':![],'winnerResult':JSON['parse'](_0x2cf804)};return logger[_0x380714(0x103)]({'event':_0x380714(0xc2),'key':_0x255385},_0x581450['uBrcp']),{'stored':!![],'winnerResult':null};}catch(_0x15d600){return logger['warn']({'event':_0x581450['YKXcA'],'error':_0x15d600[_0x380714(0x136)]},_0x581450[_0x380714(0x115)]),{'stored':!![],'winnerResult':null};}}async['_undoRandomReservation'](_0x458c87,_0x22ec0b,_0xa6b2da){const _0x253250=a0_0x22768f;try{const _0x27a132=redisClient[_0x253250(0x189)]();if(_0xa6b2da){const _0x5da0e9=this['_buildActiveKey'](_0x458c87,_0x22ec0b);await _0x27a132['del'](_0x5da0e9);}else{const _0x5b46c5=this['_buildIssuedKey'](_0x458c87);await _0x27a132['srem'](_0x5b46c5,_0x22ec0b);}}catch(_0x2fac54){logger[_0x253250(0x103)]({'event':'idgen_random_undo_error','error':_0x2fac54['message']},'Random\x20reservation\x20undo\x20error\x20(orphan\x20slot\x20may\x20remain)');}}async[a0_0x22768f(0xb9)](_0x320376,_0x1e987e,_0x141d27,_0xc70c83=0x0){const _0x598351=a0_0x22768f,_0x1a16e2={'pLqHe':function(_0x26ac7a,_0x50124c){return _0x26ac7a(_0x50124c);},'FhDGi':function(_0x364311,_0x5c5ad2){return _0x364311>_0x5c5ad2;},'yAxjS':'Meta\x20update\x20error'};try{const _0x4dbc77=redisClient[_0x598351(0x189)](),_0x15ee3d=this['_buildMetaKey'](_0x320376,_0x1e987e),_0x399b85=[];for(const [_0xfc0ce7,_0x48ccc8]of Object[_0x598351(0xf5)](_0x141d27)){_0x399b85[_0x598351(0x152)](_0xfc0ce7,_0x1a16e2[_0x598351(0x16a)](String,_0x48ccc8));}if(_0x1a16e2[_0x598351(0x15a)](_0x399b85[_0x598351(0x105)],0x0)){await _0x4dbc77['hset'](_0x15ee3d,..._0x399b85);if(_0x1a16e2[_0x598351(0x15a)](_0xc70c83,0x0))await _0x4dbc77[_0x598351(0xc8)](_0x15ee3d,_0xc70c83);}}catch(_0x50f066){logger[_0x598351(0x103)]({'event':_0x598351(0x12e),'error':_0x50f066['message']},_0x1a16e2['yAxjS']);}}async[a0_0x22768f(0x146)](_0x69d468){const _0x410e88=a0_0x22768f,_0x2d847f={'IfggI':'IDGEN_DISABLED','PgjiA':_0x410e88(0x146),'xThJx':_0x410e88(0x1b6),'URUir':_0x410e88(0xbb)};if(!this[_0x410e88(0xf4)])throw new IdGeneratorError(_0x2d847f[_0x410e88(0x11b)],'ID\x20Generator\x20is\x20disabled\x20(set\x20IDGEN_ENABLED=true)');const _0x1fd9e7=this['_validateNumberParams'](_0x69d468),_0x5eb935=this[_0x410e88(0x9f)](_0x69d468[_0x410e88(0xed)]),{resource:_0x2c33c0,format:_0x3facc2,prefix:_0x50d61c,separator:_0x33619f,numDigits:_0x5bd6a7,reuseDelete:_0x2a25e0}=_0x1fd9e7,{formatKey:_0xb0dbc4,datePrefix:_0x502675}=this[_0x410e88(0x193)](_0x3facc2,_0x50d61c),_0x302343=this['_buildSeqKey'](_0x2c33c0,_0xb0dbc4),_0x2e9e6d=this['_buildReuseKey'](_0x2c33c0,_0xb0dbc4),_0x2bbf93=this[_0x410e88(0x174)](_0x3facc2);let _0x33141b=null;if(_0x5eb935){_0x33141b=this['_buildIdemKey'](_0x2d847f[_0x410e88(0x1a0)],_0x2c33c0,_0xb0dbc4,_0x5eb935);const _0x31f908=await this['_retrieveIdemCache'](_0x33141b);if(_0x31f908)return _0x31f908;}const _0x12a390=redisClient['getClient'](),_0xa24643=await _0x12a390['eval'](LUA_GENERATE_NUMBER,0x2,_0x302343,_0x2e9e6d,_0x2a25e0?'1':'0',String(_0x2bbf93)),_0x44dce6=_0xa24643[0x0],_0x4b0fcf=_0xa24643[0x1]===0x1,_0x4be9e0=this['_formatNumber']({'format':_0x3facc2,'prefix':_0x50d61c,'datePrefix':_0x502675,'separator':_0x33619f,'numDigits':_0x5bd6a7,'counterInt':_0x44dce6}),_0x294afb={'value':_0x4be9e0,'counter':_0x44dce6,'resource':_0x2c33c0,'formatKey':_0xb0dbc4,'isReused':_0x4b0fcf,'generatedAt':new Date()[_0x410e88(0x172)]()},_0x3afa76=await this[_0x410e88(0x140)](_0x33141b,_0x294afb);if(!_0x3afa76['stored']){try{await _0x12a390[_0x410e88(0x15e)](LUA_RELEASE_NUMBER,0x1,_0x2e9e6d,String(_0x44dce6),String(_0x2bbf93));}catch(_0x5e405d){logger['warn']({'event':'idgen_idem_loser_release_error','error':_0x5e405d[_0x410e88(0x136)],'resource':_0x2c33c0,'formatKey':_0xb0dbc4,'counterInt':_0x44dce6},'Failed\x20to\x20release\x20counter\x20for\x20idempotency\x20loser');}return logger['info']({'event':_0x2d847f[_0x410e88(0x180)],'resource':_0x2c33c0,'formatKey':_0xb0dbc4,'counter':_0x44dce6},_0x410e88(0x112)),_0x3afa76['winnerResult'];}return this[_0x410e88(0xb9)](_0x2c33c0,_0xb0dbc4,{'lastValue':_0x4be9e0,'lastCounter':_0x44dce6,'lastIsReused':_0x4b0fcf,'lastGeneratedAt':_0x294afb[_0x410e88(0x125)]},_0x2bbf93),logger[_0x410e88(0x143)]({'event':_0x2d847f['URUir'],'resource':_0x2c33c0,'formatKey':_0xb0dbc4,'counter':_0x44dce6,'isReused':_0x4b0fcf},'ID\x20Generator\x20number:\x20'+_0x4be9e0),_0x294afb;}async[a0_0x22768f(0xd5)](_0x16c688){const _0x3ba1b3=a0_0x22768f,_0x4fc403={'KtrES':'IDGEN_DISABLED','MUhmZ':_0x3ba1b3(0x158),'xOXUu':function(_0x5c1307,_0x237169){return _0x5c1307!==_0x237169;},'WfVrF':'string','BTOzJ':function(_0x5258a3,_0x38e196){return _0x5258a3===_0x38e196;},'CwSAc':'IDGEN_INVALID_NUMBER','Znqvo':'text','LcvAy':_0x3ba1b3(0xc0),'UyydE':function(_0x249704,_0x1b0d94){return _0x249704(_0x1b0d94);},'rJldf':_0x3ba1b3(0x16f)};if(!this[_0x3ba1b3(0xf4)])throw new IdGeneratorError(_0x4fc403['KtrES'],_0x4fc403['MUhmZ']);let _0x427ebb,_0x382b2f,_0x359862,_0x4fe34b;const _0x5eb2dc=this['_validateIdempotencyKey'](_0x16c688['idempotencyKey']);if(_0x16c688[_0x3ba1b3(0x170)]!==undefined&&_0x16c688[_0x3ba1b3(0x170)]!==null){this['_validateResource'](_0x16c688['resource']),_0x427ebb=_0x16c688['resource'];if(_0x4fc403['xOXUu'](typeof _0x16c688[_0x3ba1b3(0xec)],_0x4fc403[_0x3ba1b3(0xba)])||_0x4fc403[_0x3ba1b3(0x14e)](_0x16c688['formatKey']['length'],0x0))throw new IdGeneratorError(_0x4fc403[_0x3ba1b3(0x183)],_0x3ba1b3(0xad));_0x382b2f=_0x16c688[_0x3ba1b3(0xec)];if(!Number[_0x3ba1b3(0x124)](_0x16c688['counterInt'])||_0x16c688['counterInt']<0x1)throw new IdGeneratorError('IDGEN_INVALID_NUMBER','counterInt\x20must\x20be\x20positive\x20integer\x20(got:\x20'+_0x16c688[_0x3ba1b3(0x170)]+')');_0x359862=_0x16c688[_0x3ba1b3(0x170)];const _0x157089=_0x382b2f['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/);_0x4fe34b=_0x157089?_0x157089[0x1]:_0x4fc403[_0x3ba1b3(0xd3)];}else{const _0x77f06c=this[_0x3ba1b3(0x195)](_0x16c688),_0x2c1e4a=this[_0x3ba1b3(0x147)]({'format':_0x77f06c[_0x3ba1b3(0x1a3)],'prefix':_0x77f06c[_0x3ba1b3(0x169)],'separator':_0x77f06c[_0x3ba1b3(0x19d)],'numDigits':_0x77f06c[_0x3ba1b3(0xee)],'number':_0x16c688[_0x3ba1b3(0x146)]});_0x427ebb=_0x77f06c[_0x3ba1b3(0x9d)],_0x382b2f=_0x2c1e4a['formatKey'],_0x359862=_0x2c1e4a['counterInt'],_0x4fe34b=_0x77f06c[_0x3ba1b3(0x1a3)];}const _0x56afdc=this[_0x3ba1b3(0x13b)](_0x427ebb,_0x382b2f),_0x734930=this[_0x3ba1b3(0x174)](_0x4fe34b);let _0x562fed=null;if(_0x5eb2dc){_0x562fed=this[_0x3ba1b3(0x198)](_0x4fc403[_0x3ba1b3(0x1a2)],_0x427ebb,_0x382b2f,_0x5eb2dc);const _0x2b9b11=await this['_retrieveIdemCache'](_0x562fed);if(_0x2b9b11)return _0x2b9b11;}const _0x311f81=redisClient['getClient']();await _0x311f81['eval'](LUA_RELEASE_NUMBER,0x1,_0x56afdc,_0x4fc403[_0x3ba1b3(0x110)](String,_0x359862),String(_0x734930));const _0x58aadf={'released':!![],'resource':_0x427ebb,'formatKey':_0x382b2f,'counter':_0x359862,'releasedAt':new Date()[_0x3ba1b3(0x172)]()};return await this['_storeIdemCache'](_0x562fed,_0x58aadf),this[_0x3ba1b3(0xb9)](_0x427ebb,_0x382b2f,{'lastReleasedCounter':_0x359862,'lastReleasedAt':_0x58aadf['releasedAt']},_0x734930),logger[_0x3ba1b3(0x143)]({'event':_0x4fc403[_0x3ba1b3(0x188)],'resource':_0x427ebb,'formatKey':_0x382b2f,'counter':_0x359862},'ID\x20Generator\x20number\x20released:\x20'+_0x359862),_0x58aadf;}async['reserveNumber'](_0x45372b){const _0x2d5ab9=a0_0x22768f,_0x3b4c89={'wPgtI':'ID\x20Generator\x20is\x20disabled\x20(set\x20IDGEN_ENABLED=true)','KsxFZ':function(_0x5f2b8f,_0x18fc09){return _0x5f2b8f+_0x18fc09;},'qERsm':function(_0x24670a,_0x4786e0){return _0x24670a*_0x4786e0;},'VFgTh':_0x2d5ab9(0x9d),'MQXnP':_0x2d5ab9(0xec),'ZaEgh':_0x2d5ab9(0x1a3),'miKMV':_0x2d5ab9(0xee),'HtJxf':function(_0x23918a,_0x321d8f){return _0x23918a||_0x321d8f;},'diIWA':'ttlMs','zrznO':function(_0x3497bb,_0x16d22c){return _0x3497bb(_0x16d22c);},'NtQps':'idemKey','eQyqh':function(_0xb6b7b5,_0x3c6cda){return _0xb6b7b5(_0x3c6cda);},'NiGsY':'idgen_reserve_overflow_compensation_error','zUqGI':function(_0x3873f9,_0x4f4477){return _0x3873f9(_0x4f4477);},'BjsGY':'idgen_reserve_idem_loser'};if(!this[_0x2d5ab9(0xf4)])throw new IdGeneratorError('IDGEN_DISABLED',_0x3b4c89['wPgtI']);const _0x13dc0d=this[_0x2d5ab9(0x195)](_0x45372b),_0x4d4232=this[_0x2d5ab9(0x19e)](_0x45372b[_0x2d5ab9(0x1be)]),_0x5d80a5=this[_0x2d5ab9(0x9f)](_0x45372b[_0x2d5ab9(0xed)]),{resource:_0x4a4cb4,format:_0x3eae69,prefix:_0x50d51f,separator:_0xfa0a40,numDigits:_0x3d5021,reuseDelete:_0x447247}=_0x13dc0d,{formatKey:_0x5c3534,datePrefix:_0x11cf73}=this['_buildFormatKey'](_0x3eae69,_0x50d51f),_0x3950c1=this[_0x2d5ab9(0x178)](_0x4a4cb4,_0x5c3534),_0xbbf614=this[_0x2d5ab9(0x13b)](_0x4a4cb4,_0x5c3534),_0x5d3267=this[_0x2d5ab9(0xf2)](_0x4a4cb4,_0x5c3534),_0x105d4e=this['_getCounterTTL'](_0x3eae69);let _0x176a0c=null;if(_0x5d80a5){_0x176a0c=this['_buildIdemKey'](_0x2d5ab9(0x141),_0x4a4cb4,_0x5c3534,_0x5d80a5);const _0x14edff=await this['_retrieveIdemCache'](_0x176a0c);if(_0x14edff)return _0x14edff;}const _0x369b18=crypto['randomUUID'](),_0x220288=this[_0x2d5ab9(0x16c)](_0x369b18),_0x26f6d9=this[_0x2d5ab9(0xa1)](),_0x43682d=Date['now'](),_0x451fe0=_0x3b4c89[_0x2d5ab9(0x11e)](_0x43682d,_0x3b4c89[_0x2d5ab9(0xb4)](_0x4d4232,0x3e8)),_0x361637=_0x3b4c89['qERsm'](_0x4d4232,0x3e8),_0x197ef6=new Date(_0x43682d)[_0x2d5ab9(0x172)](),_0x152a77=new Date(_0x451fe0)[_0x2d5ab9(0x172)](),_0x2356cb=[_0x3b4c89['VFgTh'],_0x4a4cb4,_0x3b4c89['MQXnP'],_0x5c3534,_0x3b4c89[_0x2d5ab9(0xbf)],_0x3eae69,'prefix',_0x50d51f,'separator',_0xfa0a40,_0x3b4c89['miKMV'],String(_0x3d5021),_0x2d5ab9(0xf0),_0x3b4c89['HtJxf'](_0x11cf73,''),'createdAt',_0x197ef6,_0x2d5ab9(0x185),_0x152a77,_0x3b4c89['diIWA'],_0x3b4c89[_0x2d5ab9(0x131)](String,_0x361637)];_0x5d80a5&&_0x2356cb[_0x2d5ab9(0x152)](_0x3b4c89[_0x2d5ab9(0x190)],_0x5d80a5);const _0x44c567=redisClient['getClient'](),_0x130eff=await _0x44c567[_0x2d5ab9(0x15e)](LUA_RESERVE_NUMBER,0x3,_0x3950c1,_0xbbf614,_0x5d3267,_0x447247?'1':'0',_0x3b4c89['zrznO'](String,_0x105d4e),_0x369b18,_0x220288,String(_0x361637),_0x3b4c89['eQyqh'](String,_0x451fe0),_0x3b4c89['zrznO'](String,_0x43682d),_0x26f6d9,..._0x2356cb),_0x2b8d3c=_0x130eff[0x0],_0x4184fe=_0x130eff[0x1]===0x1,_0x471c50=_0x130eff[0x2]||0x0;let _0x1dbc54;try{_0x1dbc54=this['_formatNumber']({'format':_0x3eae69,'prefix':_0x50d51f,'datePrefix':_0x11cf73,'separator':_0xfa0a40,'numDigits':_0x3d5021,'counterInt':_0x2b8d3c});}catch(_0x597271){try{await _0x44c567['eval'](LUA_CANCEL_RESERVATION,0x3,_0x220288,_0x5d3267,_0xbbf614,_0x369b18,String(_0x105d4e));}catch(_0x16dc2b){logger['warn']({'event':_0x3b4c89[_0x2d5ab9(0x167)],'error':_0x16dc2b[_0x2d5ab9(0x136)],'resource':_0x4a4cb4,'formatKey':_0x5c3534,'counterInt':_0x2b8d3c,'token':_0x369b18},_0x2d5ab9(0xe5));}throw _0x597271;}try{await _0x44c567['hset'](_0x220288,_0x2d5ab9(0x14c),_0x1dbc54);}catch(_0x1f5926){logger['warn']({'event':'idgen_reserve_value_persist_error','error':_0x1f5926[_0x2d5ab9(0x136)],'resource':_0x4a4cb4,'formatKey':_0x5c3534,'counterInt':_0x2b8d3c,'token':_0x369b18},'Failed\x20to\x20persist\x20formatted\x20value\x20to\x20reservation\x20hash');}const _0x28f893={'token':_0x369b18,'value':_0x1dbc54,'counter':_0x2b8d3c,'resource':_0x4a4cb4,'formatKey':_0x5c3534,'isReused':_0x4184fe,'createdAt':_0x197ef6,'expiresAt':_0x152a77,'reapedCount':_0x471c50},_0x4c72fb=await this['_storeIdemCacheNX'](_0x176a0c,_0x28f893);if(!_0x4c72fb['stored']){try{await _0x44c567[_0x2d5ab9(0x15e)](LUA_CANCEL_RESERVATION,0x3,_0x220288,_0x5d3267,_0xbbf614,_0x369b18,_0x3b4c89[_0x2d5ab9(0x12c)](String,_0x105d4e));}catch(_0x171967){logger[_0x2d5ab9(0x103)]({'event':'idgen_reserve_idem_loser_cancel_error','error':_0x171967['message'],'resource':_0x4a4cb4,'formatKey':_0x5c3534,'counterInt':_0x2b8d3c,'token':_0x369b18},_0x2d5ab9(0x109));}return logger[_0x2d5ab9(0x143)]({'event':_0x3b4c89[_0x2d5ab9(0x1ab)],'resource':_0x4a4cb4,'formatKey':_0x5c3534,'counter':_0x2b8d3c,'token':_0x369b18},_0x2d5ab9(0xd8)),_0x4c72fb['winnerResult'];}return this['_updateMeta'](_0x4a4cb4,_0x5c3534,{'lastReservedCounter':_0x2b8d3c,'lastReservedAt':_0x197ef6,'lastReapedCount':_0x471c50},_0x105d4e),logger['info']({'event':_0x2d5ab9(0x144),'resource':_0x4a4cb4,'formatKey':_0x5c3534,'counter':_0x2b8d3c,'isReused':_0x4184fe,'token':_0x369b18,'ttl':_0x4d4232,'reapedCount':_0x471c50},_0x2d5ab9(0x11d)+_0x1dbc54+'\x20(token='+_0x369b18+')'),_0x28f893;}async[a0_0x22768f(0xdb)](_0x5b432f){const _0x5a1337=a0_0x22768f,_0x56830c={'SOhzU':'idgen','xuERp':_0x5a1337(0x1bf),'WOwjW':function(_0x2f101a,_0x1b417d){return _0x2f101a!==_0x1b417d;},'pOnAK':_0x5a1337(0xca),'bQKwh':function(_0x1ecfc0,_0x5b061c,_0x84585f){return _0x1ecfc0(_0x5b061c,_0x84585f);},'HOLiz':_0x5a1337(0xd2)};if(!this['enabled'])throw new IdGeneratorError('IDGEN_DISABLED','ID\x20Generator\x20is\x20disabled');const _0x485ca4=this[_0x5a1337(0x184)](_0x5b432f&&_0x5b432f[_0x5a1337(0x122)]),_0xbbda0e=this[_0x5a1337(0x9f)](_0x5b432f&&_0x5b432f['idempotencyKey']);let _0x1f5cf1=null;if(_0xbbda0e){_0x1f5cf1=idempotencyManager['buildDeterministicKey'](_0x56830c[_0x5a1337(0xc4)],_0x56830c[_0x5a1337(0x18a)],_0x485ca4+':'+_0xbbda0e);const _0x393f73=await this['_retrieveIdemCache'](_0x1f5cf1);if(_0x393f73)return _0x393f73;}const _0x3212dd=await this['_getReservationContext'](_0x485ca4),_0x171c72=redisClient['getClient'](),_0x3cd026=await _0x171c72[_0x5a1337(0x15e)](LUA_CONFIRM_RESERVATION,0x2,_0x3212dd['rsvKey'],_0x3212dd['rsvIdxKey'],_0x485ca4);if(!_0x3cd026||_0x56830c['WOwjW'](_0x3cd026[0x0],0x1))throw new IdGeneratorError(_0x56830c[_0x5a1337(0x16b)],'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x485ca4,{'token':_0x485ca4});const _0x1b4bc9=_0x56830c['bQKwh'](parseInt,_0x3cd026[0x1],0xa),_0x3e4fdf=_0x3cd026[0x2],_0x550ecf=_0x3cd026[0x3],_0x513f14=new Date()[_0x5a1337(0x172)](),_0x4fe597={'confirmed':!![],'token':_0x485ca4,'value':_0x3e4fdf,'counter':_0x1b4bc9,'resource':_0x3212dd[_0x5a1337(0x9d)],'formatKey':_0x550ecf,'confirmedAt':_0x513f14};await this['_storeIdemCache'](_0x1f5cf1,_0x4fe597);const _0x18aa13=_0x550ecf[_0x5a1337(0x186)](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x2a9ffa=_0x18aa13?_0x18aa13[0x1]:_0x56830c['HOLiz'],_0x257a18=this[_0x5a1337(0x174)](_0x2a9ffa);return this[_0x5a1337(0xb9)](_0x3212dd[_0x5a1337(0x9d)],_0x550ecf,{'lastConfirmedCounter':_0x1b4bc9,'lastConfirmedAt':_0x513f14},_0x257a18),logger['info']({'event':'idgen_reservation_confirmed','resource':_0x3212dd[_0x5a1337(0x9d)],'formatKey':_0x550ecf,'counter':_0x1b4bc9,'token':_0x485ca4},'ID\x20Generator\x20reservation\x20confirmed:\x20'+_0x3e4fdf+'\x20(token='+_0x485ca4+')'),_0x4fe597;}async['cancelReservation'](_0x34e2bb){const _0x201d24=a0_0x22768f,_0xa3b581={'yhHAY':_0x201d24(0x129),'KfDDP':'reserve_cancel','XgOAA':function(_0x235854,_0x408858){return _0x235854(_0x408858);}};if(!this['enabled'])throw new IdGeneratorError(_0xa3b581[_0x201d24(0x145)],_0x201d24(0x158));const _0x23923c=this[_0x201d24(0x184)](_0x34e2bb&&_0x34e2bb['token']),_0x4dab2f=this['_validateIdempotencyKey'](_0x34e2bb&&_0x34e2bb[_0x201d24(0xed)]);let _0x2da8b1=null;if(_0x4dab2f){_0x2da8b1=idempotencyManager['buildDeterministicKey'](_0x201d24(0xb7),_0xa3b581[_0x201d24(0xf9)],_0x23923c+':'+_0x4dab2f);const _0xb51b6b=await this[_0x201d24(0x199)](_0x2da8b1);if(_0xb51b6b)return _0xb51b6b;}const _0x4a2f80=await this[_0x201d24(0x117)](_0x23923c),_0x2f0bad=this['_buildReuseKey'](_0x4a2f80[_0x201d24(0x9d)],_0x4a2f80['formatKey']),_0x12b277=_0x4a2f80['formatKey'][_0x201d24(0x186)](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x579ab3=_0x12b277?_0x12b277[0x1]:_0x201d24(0xd2),_0x3a44f7=this['_getCounterTTL'](_0x579ab3),_0x58d6c3=redisClient[_0x201d24(0x189)](),_0x2d92e7=await _0x58d6c3[_0x201d24(0x15e)](LUA_CANCEL_RESERVATION,0x3,_0x4a2f80['rsvKey'],_0x4a2f80[_0x201d24(0x14a)],_0x2f0bad,_0x23923c,_0xa3b581[_0x201d24(0x153)](String,_0x3a44f7));if(!_0x2d92e7||_0x2d92e7[0x0]!==0x1)throw new IdGeneratorError('IDGEN_RESERVATION_NOT_FOUND','Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x23923c,{'token':_0x23923c});const _0x14f407=parseInt(_0x2d92e7[0x1],0xa),_0x662894=_0x2d92e7[0x2],_0x12c9b0=_0x2d92e7[0x3],_0x555228=new Date()['toISOString'](),_0x22093b={'cancelled':!![],'token':_0x23923c,'value':_0x662894,'counter':_0x14f407,'resource':_0x4a2f80[_0x201d24(0x9d)],'formatKey':_0x12c9b0,'releasedToReuse':!![],'cancelledAt':_0x555228};return await this[_0x201d24(0x161)](_0x2da8b1,_0x22093b),this[_0x201d24(0xb9)](_0x4a2f80['resource'],_0x12c9b0,{'lastCancelledCounter':_0x14f407,'lastCancelledAt':_0x555228},_0x3a44f7),logger['info']({'event':'idgen_reservation_cancelled','resource':_0x4a2f80['resource'],'formatKey':_0x12c9b0,'counter':_0x14f407,'token':_0x23923c},'ID\x20Generator\x20reservation\x20cancelled:\x20'+_0x662894+'\x20(token='+_0x23923c+')'),_0x22093b;}async['extendReservation'](_0x55bf90){const _0x2c8202=a0_0x22768f,_0xde889f={'IQIhv':'IDGEN_DISABLED','QhgHz':_0x2c8202(0x158),'imIOz':'idgen','gxrwv':function(_0x1b0fe7,_0x5f47e9){return _0x1b0fe7+_0x5f47e9;},'GSUEL':'text'};if(!this['enabled'])throw new IdGeneratorError(_0xde889f[_0x2c8202(0xa9)],_0xde889f[_0x2c8202(0x1b7)]);const _0x56a0ef=this['_validateReservationToken'](_0x55bf90&&_0x55bf90['token']),_0x162f38=this['_validateReserveTTL'](_0x55bf90&&_0x55bf90[_0x2c8202(0x1be)]),_0x52831f=this['_validateIdempotencyKey'](_0x55bf90&&_0x55bf90[_0x2c8202(0xed)]);let _0x18a359=null;if(_0x52831f){_0x18a359=idempotencyManager['buildDeterministicKey'](_0xde889f[_0x2c8202(0xd9)],'reserve_extend',_0x56a0ef+':'+_0x52831f);const _0x407315=await this[_0x2c8202(0x199)](_0x18a359);if(_0x407315)return _0x407315;}const _0x4e9a86=await this[_0x2c8202(0x117)](_0x56a0ef),_0x250964=Date[_0x2c8202(0xd6)](),_0x3cfbd1=_0xde889f['gxrwv'](_0x250964,_0x162f38*0x3e8),_0x4af4fb=_0x162f38*0x3e8,_0x4014d1=new Date(_0x3cfbd1)[_0x2c8202(0x172)](),_0x10707d=redisClient['getClient'](),_0x17b7ee=await _0x10707d['eval'](LUA_EXTEND_RESERVATION,0x2,_0x4e9a86[_0x2c8202(0x1a4)],_0x4e9a86['rsvIdxKey'],_0x56a0ef,String(_0x4af4fb),String(_0x3cfbd1),_0x4014d1);if(!_0x17b7ee||_0x17b7ee[0x0]!==0x1)throw new IdGeneratorError(_0x2c8202(0xca),'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x56a0ef,{'token':_0x56a0ef});const _0x1bb077=_0x17b7ee[0x1],_0x31b4fe=parseInt(_0x17b7ee[0x2],0xa),_0x20b5ba=_0x17b7ee[0x3],_0x7996f4=_0x17b7ee[0x4],_0x2ab801=new Date(_0x250964)['toISOString'](),_0x28c32b={'extended':!![],'token':_0x56a0ef,'previousExpiresAt':_0x1bb077,'expiresAt':_0x4014d1,'ttlMs':_0x4af4fb,'resource':_0x4e9a86[_0x2c8202(0x9d)],'formatKey':_0x7996f4,'counter':_0x31b4fe,'value':_0x20b5ba,'extendedAt':_0x2ab801};await this[_0x2c8202(0x161)](_0x18a359,_0x28c32b);const _0x267643=_0x7996f4['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x5e732f=_0x267643?_0x267643[0x1]:_0xde889f[_0x2c8202(0xbd)],_0x14a3ce=this['_getCounterTTL'](_0x5e732f);return this['_updateMeta'](_0x4e9a86[_0x2c8202(0x9d)],_0x7996f4,{'lastExtendedCounter':_0x31b4fe,'lastExtendedAt':_0x2ab801},_0x14a3ce),logger[_0x2c8202(0x143)]({'event':_0x2c8202(0x149),'resource':_0x4e9a86[_0x2c8202(0x9d)],'formatKey':_0x7996f4,'counter':_0x31b4fe,'token':_0x56a0ef,'ttl':_0x162f38},_0x2c8202(0x120)+_0x20b5ba+'\x20(token='+_0x56a0ef+',\x20+'+_0x162f38+'s)'),_0x28c32b;}async[a0_0x22768f(0x17a)](_0x32f5ae){const _0x5b1f42=a0_0x22768f,_0x2957a6={'iupmP':'ID\x20Generator\x20is\x20disabled','CvOBr':function(_0x1acaba,_0x474462,_0x3f798b){return _0x1acaba(_0x474462,_0x3f798b);},'FQfEp':function(_0x52ac0d,_0x12a0d7){return _0x52ac0d>=_0x12a0d7;}};if(!this[_0x5b1f42(0xf4)])throw new IdGeneratorError('IDGEN_DISABLED',_0x2957a6['iupmP']);const _0x11d5ec=this[_0x5b1f42(0x184)](_0x32f5ae&&_0x32f5ae[_0x5b1f42(0x122)]),_0x20f6b4=this[_0x5b1f42(0x16c)](_0x11d5ec),_0x36b5f8=redisClient[_0x5b1f42(0x189)](),_0x20681f=_0x36b5f8[_0x5b1f42(0x18d)]();_0x20681f[_0x5b1f42(0x12f)](_0x20f6b4),_0x20681f['pttl'](_0x20f6b4);const _0x31817e=await _0x20681f[_0x5b1f42(0xe0)](),_0x4dbdbc=_0x31817e&&_0x31817e[0x0]&&_0x31817e[0x0][0x1],_0x5587ca=_0x31817e&&_0x31817e[0x1]&&_0x31817e[0x1][0x1];if(!_0x4dbdbc||Object[_0x5b1f42(0xf8)](_0x4dbdbc)['length']===0x0)throw new IdGeneratorError(_0x5b1f42(0xca),'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x11d5ec,{'token':_0x11d5ec});return{'token':_0x11d5ec,'resource':_0x4dbdbc[_0x5b1f42(0x9d)]||null,'formatKey':_0x4dbdbc[_0x5b1f42(0xec)]||null,'format':_0x4dbdbc['format']||null,'prefix':_0x4dbdbc['prefix']||'','separator':_0x4dbdbc[_0x5b1f42(0x19d)]||'','numDigits':_0x4dbdbc[_0x5b1f42(0xee)]?_0x2957a6[_0x5b1f42(0xd1)](parseInt,_0x4dbdbc['numDigits'],0xa):null,'datePrefix':_0x4dbdbc[_0x5b1f42(0xf0)]||'','counter':_0x4dbdbc[_0x5b1f42(0x135)]?parseInt(_0x4dbdbc['counter'],0xa):null,'value':_0x4dbdbc[_0x5b1f42(0x14c)]||null,'isReused':_0x4dbdbc[_0x5b1f42(0xfc)]==='1'||_0x4dbdbc[_0x5b1f42(0xfc)]===0x1,'createdAt':_0x4dbdbc[_0x5b1f42(0xc7)]||null,'expiresAt':_0x4dbdbc['expiresAt']||null,'ttlRemainingMs':typeof _0x5587ca==='number'&&_0x2957a6[_0x5b1f42(0xb8)](_0x5587ca,0x0)?_0x5587ca:null};}async['_getReservationContext'](_0x707e19){const _0xec6f2a=a0_0x22768f,_0xf79ba7={'YJwDC':function(_0x3c1499,_0x763da){return _0x3c1499||_0x763da;},'xZKBG':_0xec6f2a(0xca)},_0x2f2e9d=this['_buildReservationKey'](_0x707e19),_0x5fcd46=redisClient['getClient'](),_0x593ec4=await _0x5fcd46['hmget'](_0x2f2e9d,'resource','formatKey'),_0x119171=_0x593ec4&&_0x593ec4[0x0],_0x237b83=_0x593ec4&&_0x593ec4[0x1];if(_0xf79ba7['YJwDC'](!_0x119171,!_0x237b83))throw new IdGeneratorError(_0xf79ba7['xZKBG'],_0xec6f2a(0x181)+_0x707e19,{'token':_0x707e19});return{'resource':_0x119171,'formatKey':_0x237b83,'rsvKey':_0x2f2e9d,'rsvIdxKey':this['_buildReservationIndexKey'](_0x119171,_0x237b83)};}async['random'](_0x9101ae){const _0x3863e2=a0_0x22768f,_0x174092={'cudAu':_0x3863e2(0x129),'pwinF':_0x3863e2(0x158),'VRrHs':function(_0x583749,_0xd5b56b){return _0x583749<_0xd5b56b;},'HIZvg':function(_0x2a21a6,_0x1f6e34){return _0x2a21a6===_0x1f6e34;},'hHbPS':function(_0x201c05,_0x3f74f1){return _0x201c05===_0x3f74f1;},'eXPlr':function(_0x222b0a,_0x5cd28a){return _0x222b0a&&_0x5cd28a;},'rqeCQ':function(_0x427d75,_0x4a0950){return _0x427d75*_0x4a0950;},'iFLzd':_0x3863e2(0xe6),'hHgUi':_0x3863e2(0x162),'AApHu':function(_0x3a0cd0,_0x909cf2){return _0x3a0cd0||_0x909cf2;}};if(!this[_0x3863e2(0xf4)])throw new IdGeneratorError(_0x174092[_0x3863e2(0x138)],_0x174092['pwinF']);this['_validateResource'](_0x9101ae[_0x3863e2(0x9d)]),this['_validatePattern'](_0x9101ae['pattern']);const _0x382f73=this[_0x3863e2(0x1b1)](_0x9101ae[_0x3863e2(0x1be)]),_0x2407e9=this['_validateMaxRetry'](_0x9101ae[_0x3863e2(0x16e)]),_0x2651cb=this[_0x3863e2(0x9f)](_0x9101ae[_0x3863e2(0xed)]),_0x1a9695=_0x9101ae['ensureUnique']===!![],{resource:_0x371b24,pattern:_0x4351c9}=_0x9101ae;let _0x5e7998=null;if(_0x2651cb){_0x5e7998=this[_0x3863e2(0x198)]('random',_0x371b24,null,_0x2651cb);const _0x581bfd=await this['_retrieveIdemCache'](_0x5e7998);if(_0x581bfd)return _0x581bfd;}const _0x102ac7=redisClient[_0x3863e2(0x189)]();let _0x52a3b7=null,_0x51776c=0x0;if(!_0x1a9695)_0x52a3b7=this['_generateFromPattern'](_0x4351c9),_0x51776c=0x1;else{for(let _0x4b0847=0x0;_0x174092['VRrHs'](_0x4b0847,_0x2407e9);_0x4b0847++){_0x51776c++;const _0x514a1f=this[_0x3863e2(0x18f)](_0x4351c9);if(_0x382f73){const _0x15e4a9=this[_0x3863e2(0x11f)](_0x371b24,_0x514a1f),_0x309ef7=await _0x102ac7[_0x3863e2(0x12d)](_0x15e4a9,'1','EX',_0x382f73,'NX');if(_0x174092[_0x3863e2(0x9e)](_0x309ef7,'OK')){_0x52a3b7=_0x514a1f;break;}}else{const _0x57edbe=this[_0x3863e2(0xe7)](_0x371b24),_0x321a30=await _0x102ac7[_0x3863e2(0x171)](_0x57edbe,_0x514a1f);if(_0x321a30===0x1){_0x52a3b7=_0x514a1f;break;}}}if(_0x174092['hHbPS'](_0x52a3b7,null))throw new IdGeneratorError('IDGEN_UNIQUE_RETRY_EXHAUSTED',_0x3863e2(0xde)+_0x2407e9+'\x20attempts.\x20Increase\x20pattern\x20length\x20or\x20maxRetry.',{'resource':_0x371b24,'pattern':_0x4351c9,'maxRetry':_0x2407e9});}const _0x19dc3d={'value':_0x52a3b7,'resource':_0x371b24,'pattern':_0x4351c9,'attemptCount':_0x51776c,'generatedAt':new Date()['toISOString']()};_0x174092[_0x3863e2(0xdc)](_0x382f73,_0x1a9695)&&(_0x19dc3d[_0x3863e2(0x185)]=new Date(Date['now']()+_0x174092['rqeCQ'](_0x382f73,0x3e8))['toISOString']());const _0x1a4dc0=await this[_0x3863e2(0x140)](_0x5e7998,_0x19dc3d);if(!_0x1a4dc0['stored'])return _0x1a9695&&await this['_undoRandomReservation'](_0x371b24,_0x52a3b7,_0x382f73),logger[_0x3863e2(0x143)]({'event':_0x174092['iFLzd'],'resource':_0x371b24,'pattern':_0x4351c9,'value':_0x52a3b7},'ID\x20Generator\x20random\x20idem\x20race\x20lost,\x20returning\x20winner\x20envelope'),_0x1a4dc0['winnerResult'];return logger['info']({'event':_0x174092[_0x3863e2(0x108)],'resource':_0x371b24,'pattern':_0x4351c9,'attemptCount':_0x51776c,'ensureUnique':_0x1a9695,'ttl':_0x174092[_0x3863e2(0x127)](_0x382f73,0x0)},_0x3863e2(0x102)+_0x52a3b7),_0x19dc3d;}async['pin'](_0x4b1f1c){const _0x161012=a0_0x22768f,_0x3c6e4a={'HKvpV':function(_0x592298,_0x18a95c){return _0x592298==_0x18a95c;},'pEtij':'IDGEN_INVALID_DIGITS'},_0x504e3f=_0x3c6e4a['HKvpV'](_0x4b1f1c['digits'],null)?this[_0x161012(0x16d)]:_0x4b1f1c['digits'];if(!Number[_0x161012(0x124)](_0x504e3f)||_0x504e3f<MIN_PIN_DIGITS||_0x504e3f>MAX_PIN_DIGITS)throw new IdGeneratorError(_0x3c6e4a['pEtij'],_0x161012(0xce)+MIN_PIN_DIGITS+'-'+MAX_PIN_DIGITS+'\x20(got:\x20'+_0x504e3f+')');const _0x4ae436='9'['repeat'](_0x504e3f);return this[_0x161012(0x157)]({'resource':_0x4b1f1c['resource'],'pattern':_0x4ae436,'ensureUnique':_0x4b1f1c['ensureUnique']===!![],'ttl':_0x4b1f1c[_0x161012(0x1be)],'maxRetry':_0x4b1f1c['maxRetry'],'idempotencyKey':_0x4b1f1c[_0x161012(0xed)]});}async['serial'](_0x5f4c7b){const _0x29c887=a0_0x22768f,_0x4707a9={'tuldh':function(_0x431c79,_0x5e72a4){return _0x431c79!==_0x5e72a4;}},_0x101b2c=_0x5f4c7b['pattern']||this['defaultSerialPattern'];return this[_0x29c887(0x157)]({'resource':_0x5f4c7b[_0x29c887(0x9d)],'pattern':_0x101b2c,'ensureUnique':_0x4707a9[_0x29c887(0x1b9)](_0x5f4c7b[_0x29c887(0xcf)],![]),'ttl':_0x5f4c7b['ttl'],'maxRetry':_0x5f4c7b[_0x29c887(0x16e)],'idempotencyKey':_0x5f4c7b[_0x29c887(0xed)]});}async['code'](_0x1b36d6){const _0x44fe49=a0_0x22768f,_0x8d6f59=_0x1b36d6[_0x44fe49(0xcb)]||this[_0x44fe49(0xc9)];return this['random']({'resource':_0x1b36d6['resource'],'pattern':_0x8d6f59,'ensureUnique':_0x1b36d6['ensureUnique']!==![],'ttl':_0x1b36d6[_0x44fe49(0x1be)],'maxRetry':_0x1b36d6[_0x44fe49(0x16e)],'idempotencyKey':_0x1b36d6['idempotencyKey']});}async[a0_0x22768f(0x1ae)](_0xe754d2){const _0x2bf31e=a0_0x22768f,_0x32add4={'TLxOv':function(_0x28b82d,_0x3c07af){return _0x28b82d===_0x3c07af;},'YJBmQ':'value\x20is\x20required','NSbEm':function(_0x1c3267,_0x15c3a2){return _0x1c3267+_0x15c3a2;},'GJKru':_0x2bf31e(0xc1)};if(!this['enabled'])throw new IdGeneratorError(_0x2bf31e(0x129),'ID\x20Generator\x20is\x20disabled');this['_validateResource'](_0xe754d2['resource']);if(typeof _0xe754d2[_0x2bf31e(0x14c)]!==_0x2bf31e(0x177)||_0x32add4['TLxOv'](_0xe754d2['value'][_0x2bf31e(0x105)],0x0))throw new IdGeneratorError(_0x2bf31e(0xfa),_0x32add4[_0x2bf31e(0xe1)]);const {resource:_0x8fd47c,value:_0x2fe9f1}=_0xe754d2,_0x266eb0=redisClient['getClient'](),_0x5d4bf2=this[_0x2bf31e(0x11f)](_0x8fd47c,_0x2fe9f1),_0x448f16=this[_0x2bf31e(0xe7)](_0x8fd47c),[_0x1ad23c,_0x5682d4]=await Promise[_0x2bf31e(0xcd)]([_0x266eb0[_0x2bf31e(0x15c)](_0x5d4bf2),_0x266eb0[_0x2bf31e(0x1a8)](_0x448f16,_0x2fe9f1)]),_0x45761d=_0x32add4[_0x2bf31e(0x12a)](_0x1ad23c,_0x5682d4)>0x0;return logger[_0x2bf31e(0x143)]({'event':_0x32add4['GJKru'],'resource':_0x8fd47c,'value':_0x2fe9f1,'consumed':_0x45761d},'ID\x20Generator\x20consumed:\x20'+_0x2fe9f1),{'consumed':_0x45761d,'resource':_0x8fd47c,'value':_0x2fe9f1,'consumedAt':new Date()['toISOString']()};}async['peek'](_0x1a3bde){const _0x8e7448=a0_0x22768f,_0x2f7678={'HrQaK':_0x8e7448(0x129),'uoKml':'ID\x20Generator\x20is\x20disabled','aNoIE':'number','lybYk':'text','FUxbu':'IDGEN_INVALID_FORMAT','ymMzK':function(_0x21d43f,_0x259865,_0x43341b){return _0x21d43f(_0x259865,_0x43341b);},'Mbfnu':function(_0x33ce6d,_0x200de5){return _0x33ce6d||_0x200de5;},'Gscjd':function(_0x21ade5,_0x1a333a){return _0x21ade5===_0x1a333a;},'Nwzjm':_0x8e7448(0x157),'vfXPt':'IDGEN_INVALID_MODE'};if(!this['enabled'])throw new IdGeneratorError(_0x2f7678[_0x8e7448(0xd0)],_0x2f7678['uoKml']);this['_validateResource'](_0x1a3bde[_0x8e7448(0x9d)]);const _0x5c5d2c=_0x1a3bde[_0x8e7448(0x126)]||_0x8e7448(0x146),_0x2d5c7b=redisClient['getClient']();if(_0x5c5d2c===_0x2f7678['aNoIE']){const _0x49522f=(_0x1a3bde[_0x8e7448(0x1a3)]||_0x2f7678[_0x8e7448(0xc3)])['toLowerCase']();if(!ALLOWED_FORMATS['has'](_0x49522f))throw new IdGeneratorError(_0x2f7678['FUxbu'],'Invalid\x20format:\x20'+_0x1a3bde[_0x8e7448(0x1a3)]);const {formatKey:_0x4ec3a2}=this[_0x8e7448(0x193)](_0x49522f,_0x1a3bde['prefix']||''),_0x176cfd=this[_0x8e7448(0x178)](_0x1a3bde['resource'],_0x4ec3a2),_0x59329e=this['_buildReuseKey'](_0x1a3bde[_0x8e7448(0x9d)],_0x4ec3a2),[_0x306653,_0x2c5299]=await Promise[_0x8e7448(0xcd)]([_0x2d5c7b['get'](_0x176cfd),_0x2d5c7b[_0x8e7448(0x1a6)](_0x59329e)]);return{'resource':_0x1a3bde['resource'],'mode':_0x8e7448(0x146),'formatKey':_0x4ec3a2,'currentCounter':_0x2f7678[_0x8e7448(0xdf)](parseInt,_0x306653,0xa)||0x0,'reusePoolSize':_0x2f7678['Mbfnu'](_0x2c5299,0x0)};}if(_0x2f7678[_0x8e7448(0xea)](_0x5c5d2c,_0x8e7448(0x157))){const _0x5d3eb7=this['_buildIssuedKey'](_0x1a3bde[_0x8e7448(0x9d)]),_0x9ed49d=await _0x2d5c7b['scard'](_0x5d3eb7);return{'resource':_0x1a3bde['resource'],'mode':_0x2f7678[_0x8e7448(0x1bd)],'issuedCount':_0x9ed49d||0x0};}throw new IdGeneratorError(_0x2f7678[_0x8e7448(0x10d)],_0x8e7448(0x19a)+_0x5c5d2c);}async[a0_0x22768f(0x123)](_0x30cabc){const _0x90647a=a0_0x22768f,_0xb6d4a8={'cbgJI':function(_0x489567,_0x170d74){return _0x489567===_0x170d74;}},_0x263539=await this[_0x90647a(0x13c)](_0x30cabc);if(_0xb6d4a8['cbgJI'](_0x263539[_0x90647a(0x126)],'number')){const _0x9c7a20=redisClient[_0x90647a(0x189)](),_0x13abbe=this['_buildMetaKey'](_0x30cabc[_0x90647a(0x9d)],_0x263539[_0x90647a(0xec)]),_0x7dd08c=this[_0x90647a(0x13b)](_0x30cabc['resource'],_0x263539['formatKey']),[_0x6ee048,_0xee21cf]=await Promise['all']([_0x9c7a20['hgetall'](_0x13abbe),_0x9c7a20['zrange'](_0x7dd08c,0x0,-0x1)]);return{..._0x263539,'reusePoolValues':_0xee21cf[_0x90647a(0x121)](_0x4ec93c=>parseInt(_0x4ec93c,0xa)),'meta':_0x6ee048&&Object[_0x90647a(0xf8)](_0x6ee048)['length']>0x0?_0x6ee048:null};}return _0x263539;}async['reset'](_0x4b9189){const _0x7394a7=a0_0x22768f,_0x2b7d78={'ecyJb':'IDGEN_DISABLED','mpvxb':_0x7394a7(0x100),'zqTMz':_0x7394a7(0xa8),'Lagxq':function(_0xce0dec,_0x36318a){return _0xce0dec===_0x36318a;},'fRpcE':'number','vfMTa':'meta','CTrtq':_0x7394a7(0xeb),'Jgkcx':_0x7394a7(0xbc)};if(!this['enabled'])throw new IdGeneratorError(_0x2b7d78['ecyJb'],'ID\x20Generator\x20is\x20disabled');if(!this['allowReset'])throw new IdGeneratorError(_0x2b7d78['mpvxb'],_0x2b7d78['zqTMz']);this['_validateResource'](_0x4b9189['resource']);const _0x4e7665=_0x4b9189['mode']||'number',_0x2dafff=redisClient[_0x7394a7(0x189)]();if(_0x2b7d78[_0x7394a7(0xb5)](_0x4e7665,'number')){const _0x4c3829=(_0x4b9189['format']||_0x7394a7(0xd2))['toLowerCase']();if(!ALLOWED_FORMATS[_0x7394a7(0x113)](_0x4c3829))throw new IdGeneratorError(_0x7394a7(0x159),_0x7394a7(0x1a9)+_0x4b9189[_0x7394a7(0x1a3)]);const {formatKey:_0x268047}=this['_buildFormatKey'](_0x4c3829,_0x4b9189['prefix']||''),_0x53ff85=this[_0x7394a7(0x178)](_0x4b9189[_0x7394a7(0x9d)],_0x268047),_0x2253aa=this[_0x7394a7(0x13b)](_0x4b9189['resource'],_0x268047),_0x5b931c=this['_buildMetaKey'](_0x4b9189['resource'],_0x268047);return await _0x2dafff['del'](_0x53ff85,_0x2253aa,_0x5b931c),logger[_0x7394a7(0x103)]({'event':'idgen_reset','resource':_0x4b9189['resource'],'mode':_0x7394a7(0x146),'formatKey':_0x268047},'ID\x20Generator\x20reset:\x20'+_0x4b9189[_0x7394a7(0x9d)]+':'+_0x268047),{'reset':!![],'resource':_0x4b9189['resource'],'mode':_0x2b7d78[_0x7394a7(0xfb)],'formatKey':_0x268047,'deletedKeys':['seq','reuse',_0x2b7d78[_0x7394a7(0xaa)]]};}if(_0x2b7d78['Lagxq'](_0x4e7665,_0x7394a7(0x157))){const _0x4fa964=this[_0x7394a7(0xe7)](_0x4b9189[_0x7394a7(0x9d)]);return await _0x2dafff['del'](_0x4fa964),logger['warn']({'event':_0x2b7d78['CTrtq'],'resource':_0x4b9189['resource'],'mode':_0x7394a7(0x157)},_0x7394a7(0x17b)+_0x4b9189['resource']),{'reset':!![],'resource':_0x4b9189[_0x7394a7(0x9d)],'mode':_0x7394a7(0x157),'deletedKeys':[_0x7394a7(0xa6)]};}throw new IdGeneratorError(_0x2b7d78[_0x7394a7(0x9b)],_0x7394a7(0x19a)+_0x4e7665);}}const instance=new IdGenerator();instance['IdGeneratorError']=IdGeneratorError,module[a0_0x22768f(0x114)]=instance,module[a0_0x22768f(0x114)]['IdGeneratorError']=IdGeneratorError;
1
+ 'use strict';const a0_0x35aca2=a0_0x5e69;(function(_0xdff3d6,_0x2a1612){const _0x5064f3=a0_0x5e69,_0x5edbb1=_0xdff3d6();while(!![]){try{const _0x3e8d9d=-parseInt(_0x5064f3(0x225))/0x1+-parseInt(_0x5064f3(0x1d8))/0x2+-parseInt(_0x5064f3(0x228))/0x3*(parseInt(_0x5064f3(0x214))/0x4)+parseInt(_0x5064f3(0x29e))/0x5+parseInt(_0x5064f3(0x249))/0x6+-parseInt(_0x5064f3(0x237))/0x7+parseInt(_0x5064f3(0x28e))/0x8*(parseInt(_0x5064f3(0x272))/0x9);if(_0x3e8d9d===_0x2a1612)break;else _0x5edbb1['push'](_0x5edbb1['shift']());}catch(_0x8b661f){_0x5edbb1['push'](_0x5edbb1['shift']());}}}(a0_0x1694,0xcb520));function a0_0x5e69(_0x3b4b84,_0x24f6a1){_0x3b4b84=_0x3b4b84-0x1d2;const _0x169433=a0_0x1694();let _0x5e69d3=_0x169433[_0x3b4b84];if(a0_0x5e69['cbfVvM']===undefined){var _0x2b62d1=function(_0x4388e3){const _0x3f3c32='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x46d1a6='',_0x49a408='';for(let _0x9943f7=0x0,_0x319ba5,_0x3140a0,_0x125721=0x0;_0x3140a0=_0x4388e3['charAt'](_0x125721++);~_0x3140a0&&(_0x319ba5=_0x9943f7%0x4?_0x319ba5*0x40+_0x3140a0:_0x3140a0,_0x9943f7++%0x4)?_0x46d1a6+=String['fromCharCode'](0xff&_0x319ba5>>(-0x2*_0x9943f7&0x6)):0x0){_0x3140a0=_0x3f3c32['indexOf'](_0x3140a0);}for(let _0x14bd1e=0x0,_0x53e1c8=_0x46d1a6['length'];_0x14bd1e<_0x53e1c8;_0x14bd1e++){_0x49a408+='%'+('00'+_0x46d1a6['charCodeAt'](_0x14bd1e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x49a408);};a0_0x5e69['aOILHT']=_0x2b62d1,a0_0x5e69['BHKGTN']={},a0_0x5e69['cbfVvM']=!![];}const _0x8f83ea=_0x169433[0x0],_0xd60b73=_0x3b4b84+_0x8f83ea,_0x348f17=a0_0x5e69['BHKGTN'][_0xd60b73];return!_0x348f17?(_0x5e69d3=a0_0x5e69['aOILHT'](_0x5e69d3),a0_0x5e69['BHKGTN'][_0xd60b73]=_0x5e69d3):_0x5e69d3=_0x348f17,_0x5e69d3;}const crypto=require('crypto'),redisClient=require('./redis-client'),{logger}=require('./logger'),idempotencyManager=require('./idempotency-manager'),ALLOWED_FORMATS=new Set(['text','yyyy',a0_0x35aca2(0x2c8),a0_0x35aca2(0x2e3)]),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='0123456789',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=a0_0x35aca2(0x2b9),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='\x0aif\x20ARGV[1]\x20==\x20\x271\x27\x20then\x0a\x20\x20local\x20reused\x20=\x20redis.call(\x27ZPOPMIN\x27,\x20KEYS[2],\x201)\x0a\x20\x20if\x20#reused\x20>\x200\x20then\x0a\x20\x20\x20\x20return\x20{tonumber(reused[1]),\x201}\x0a\x20\x20end\x0aend\x0alocal\x20n\x20=\x20redis.call(\x27INCR\x27,\x20KEYS[1])\x0alocal\x20ttl\x20=\x20tonumber(ARGV[2])\x0aif\x20ttl\x20>\x200\x20and\x20n\x20==\x201\x20then\x0a\x20\x20redis.call(\x27EXPIRE\x27,\x20KEYS[1],\x20ttl)\x0aend\x0areturn\x20{n,\x200}\x0a',LUA_RELEASE_NUMBER=a0_0x35aca2(0x298),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(_0x48886a,_0x41283a,_0x5ec763=null){const _0x2d2311=a0_0x35aca2,_0x388f69={'IgUXZ':function(_0x50b195,_0x2c85f4){return _0x50b195||_0x2c85f4;},'hHAoK':_0x2d2311(0x265)};super(_0x388f69[_0x2d2311(0x21d)](_0x41283a,_0x48886a)),this[_0x2d2311(0x1fd)]=_0x388f69[_0x2d2311(0x255)],this[_0x2d2311(0x2fc)]=_0x48886a,this['details']=_0x5ec763;}}class IdGenerator{constructor(){const _0x44c58c=a0_0x35aca2,_0x3233e3=_0x44c58c(0x22f)['split']('|');let _0x26fa3a=0x0;while(!![]){switch(_0x3233e3[_0x26fa3a++]){case'0':this[_0x44c58c(0x2be)]=null;continue;case'1':this[_0x44c58c(0x1ff)]=null;continue;case'2':this['_defaultMaxRetry']=null;continue;case'3':this['_reserveMaxTTL']=null;continue;case'4':this['_reserveDefaultTTL']=null;continue;case'5':this['_defaultSerialPattern']=null;continue;case'6':this[_0x44c58c(0x2cf)]=![];continue;case'7':this[_0x44c58c(0x282)]=null;continue;case'8':this['_idemTTL']=null;continue;case'9':this['_allowReset']=null;continue;case'10':this[_0x44c58c(0x29a)]=null;continue;case'11':this[_0x44c58c(0x1d9)]=null;continue;}break;}}[a0_0x35aca2(0x2e5)](){const _0x33cf18=a0_0x35aca2,_0x391e45={'VuoRg':'6|12|3|10|8|7|0|2|11|9|4|5|1','vxGXm':'idgen_config_init','eeqUn':_0x33cf18(0x290),'LYJuw':function(_0x563989,_0x2cbbc9,_0x23b852){return _0x563989(_0x2cbbc9,_0x23b852);},'JIZqG':_0x33cf18(0x213)},_0xdda94d=_0x391e45[_0x33cf18(0x27e)]['split']('|');let _0x45cb06=0x0;while(!![]){switch(_0xdda94d[_0x45cb06++]){case'0':this['_defaultSerialPattern']=process['env'][_0x33cf18(0x269)]||_0x33cf18(0x23d);continue;case'1':logger['info']({'event':_0x391e45['vxGXm'],'enabled':this['_enabled'],'idemTTL':this[_0x33cf18(0x259)],'allowReset':this[_0x33cf18(0x1db)],'defaultMaxRetry':this['_defaultMaxRetry'],'defaultPinDigits':this[_0x33cf18(0x282)],'reserveDefaultTTL':this['_reserveDefaultTTL'],'reserveMaxTTL':this[_0x33cf18(0x2bc)]},_0x33cf18(0x2d3)+this[_0x33cf18(0x1ff)]);continue;case'2':this[_0x33cf18(0x2be)]=process['env']['IDGEN_DEFAULT_CODE_PATTERN']||'9999-9999';continue;case'3':this['_idemTTL']=parseInt(process['env'][_0x33cf18(0x2c5)],0xa)||0x258;continue;case'4':this[_0x33cf18(0x2bc)]=parseInt(process[_0x33cf18(0x2e6)][_0x33cf18(0x241)],0xa)||MAX_RESERVE_TTL;continue;case'5':this['_initialized']=!![];continue;case'6':this[_0x33cf18(0x29a)]=_0x391e45['eeqUn'];continue;case'7':this['_defaultPinDigits']=_0x391e45[_0x33cf18(0x1f4)](parseInt,process[_0x33cf18(0x2e6)]['IDGEN_DEFAULT_PIN_DIGITS'],0xa)||0x6;continue;case'8':this[_0x33cf18(0x1e3)]=parseInt(process['env'][_0x33cf18(0x1ea)],0xa)||0xa;continue;case'9':this[_0x33cf18(0x2a9)]=parseInt(process[_0x33cf18(0x2e6)][_0x33cf18(0x2c3)],0xa)||DEFAULT_RESERVE_TTL;continue;case'10':this[_0x33cf18(0x1db)]=process[_0x33cf18(0x2e6)][_0x33cf18(0x1ed)]==='true';continue;case'11':this[_0x33cf18(0x1d9)]={'yyyymm':_0x391e45[_0x33cf18(0x1f4)](parseInt,process['env']['IDGEN_COUNTER_TTL_MONTHLY'],0xa)||0x2a3000,'yyyymmdd':parseInt(process['env']['IDGEN_COUNTER_TTL_DAILY'],0xa)||0x2a300};continue;case'12':this['_enabled']=process[_0x33cf18(0x2e6)][_0x33cf18(0x204)]===_0x391e45['JIZqG'];continue;}break;}}['_ensureInitialized'](){const _0x472f42=a0_0x35aca2;if(!this[_0x472f42(0x2cf)])this[_0x472f42(0x2e5)]();}get[a0_0x35aca2(0x291)](){const _0x350681=a0_0x35aca2;return this['_ensureInitialized'](),this[_0x350681(0x1ff)];}get[a0_0x35aca2(0x261)](){const _0x538c82=a0_0x35aca2;return this[_0x538c82(0x28c)](),this[_0x538c82(0x29a)];}get['idemTTL'](){return this['_ensureInitialized'](),this['_idemTTL'];}get['allowReset'](){return this['_ensureInitialized'](),this['_allowReset'];}get[a0_0x35aca2(0x2a5)](){const _0x560f67=a0_0x35aca2;return this['_ensureInitialized'](),this[_0x560f67(0x1e3)];}get[a0_0x35aca2(0x234)](){const _0x2f8718=a0_0x35aca2;return this[_0x2f8718(0x28c)](),this[_0x2f8718(0x282)];}get[a0_0x35aca2(0x253)](){const _0x315187=a0_0x35aca2;return this[_0x315187(0x28c)](),this[_0x315187(0x2af)];}get['defaultCodePattern'](){return this['_ensureInitialized'](),this['_defaultCodePattern'];}get['reserveDefaultTTL'](){const _0x273ce6=a0_0x35aca2;return this['_ensureInitialized'](),this[_0x273ce6(0x2a9)];}get[a0_0x35aca2(0x1e1)](){return this['_ensureInitialized'](),this['_reserveMaxTTL'];}['isEnabled'](){return this['enabled'];}[a0_0x35aca2(0x268)](_0x42f906){const _0x3e8fd6=a0_0x35aca2,_0x19332e={'kgXzg':'IDGEN_INVALID_RESOURCE'};if(typeof _0x42f906!=='string'||!RESOURCE_REGEX[_0x3e8fd6(0x1eb)](_0x42f906))throw new IdGeneratorError(_0x19332e['kgXzg'],_0x3e8fd6(0x256)+RESOURCE_REGEX+_0x3e8fd6(0x24f)+JSON['stringify'](_0x42f906)+')');}[a0_0x35aca2(0x2ab)](_0x4a70bd){const _0x5b3fc4=a0_0x35aca2,_0x7e6112={'Xdrmt':'string','irmRk':'IDGEN_INVALID_FORMAT','lwRte':function(_0x553eb3,_0x52bf31){return _0x553eb3==_0x52bf31;},'oqKol':function(_0x24ee0a,_0x320da9){return _0x24ee0a!==_0x320da9;},'bMTLm':function(_0x467a9f,_0x42f3d5){return _0x467a9f==_0x42f3d5;}},{resource:_0x481cc2,format:_0x1b2e49,prefix:_0x31c3ee,separator:_0x3ed610,numDigits:_0x24c501,reuseDelete:_0x2ab912}=_0x4a70bd;this['_validateResource'](_0x481cc2);const _0x5bad86=typeof _0x1b2e49===_0x7e6112[_0x5b3fc4(0x24c)]?_0x1b2e49[_0x5b3fc4(0x2ed)]():'';if(!ALLOWED_FORMATS[_0x5b3fc4(0x221)](_0x5bad86))throw new IdGeneratorError(_0x7e6112[_0x5b3fc4(0x25f)],'Invalid\x20format:\x20must\x20be\x20one\x20of\x20'+[...ALLOWED_FORMATS][_0x5b3fc4(0x26d)](',\x20')+'\x20(got:\x20'+_0x1b2e49+')');if(!Number['isInteger'](_0x24c501)||_0x24c501<MIN_NUM_DIGITS||_0x24c501>MAX_NUM_DIGITS)throw new IdGeneratorError('IDGEN_INVALID_NUM_DIGITS',_0x5b3fc4(0x23a)+MIN_NUM_DIGITS+'-'+MAX_NUM_DIGITS+_0x5b3fc4(0x24f)+_0x24c501+')');const _0x45b1fa=_0x7e6112[_0x5b3fc4(0x236)](_0x31c3ee,null)?'':_0x31c3ee;if(_0x7e6112['oqKol'](typeof _0x45b1fa,_0x7e6112[_0x5b3fc4(0x24c)])||!PREFIX_REGEX[_0x5b3fc4(0x1eb)](_0x45b1fa))throw new IdGeneratorError(_0x5b3fc4(0x279),_0x5b3fc4(0x230)+PREFIX_REGEX+'\x20(got:\x20'+JSON['stringify'](_0x31c3ee)+')');const _0x2e8162=_0x7e6112['bMTLm'](_0x3ed610,null)?'':_0x3ed610;if(typeof _0x2e8162!==_0x5b3fc4(0x2dc)||_0x2e8162[_0x5b3fc4(0x288)]>0x3||SEPARATOR_FORBIDDEN['test'](_0x2e8162))throw new IdGeneratorError(_0x5b3fc4(0x281),_0x5b3fc4(0x2c1)+JSON['stringify'](_0x3ed610)+')');if(_0x2ab912!=null&&typeof _0x2ab912!=='boolean')throw new IdGeneratorError(_0x5b3fc4(0x1f2),'Invalid\x20reuseDelete:\x20must\x20be\x20boolean\x20(got:\x20'+typeof _0x2ab912+')');return{'resource':_0x481cc2,'format':_0x5bad86,'prefix':_0x45b1fa,'separator':_0x2e8162,'numDigits':_0x24c501,'reuseDelete':_0x2ab912===!![]};}[a0_0x35aca2(0x26b)](_0x267bcd){const _0x470879=a0_0x35aca2,_0x314393={'iNOgG':_0x470879(0x227)};if(typeof _0x267bcd!=='string'||_0x267bcd[_0x470879(0x288)]===0x0||_0x267bcd[_0x470879(0x288)]>MAX_PATTERN_LENGTH)throw new IdGeneratorError('IDGEN_INVALID_PATTERN',_0x470879(0x250)+MAX_PATTERN_LENGTH+'\x20chars\x20(got\x20length:\x20'+(_0x267bcd&&_0x267bcd[_0x470879(0x288)])+')');let _0x1212b9=![];for(const _0x339512 of _0x267bcd){if(PLACEHOLDER_MAP[_0x339512]){_0x1212b9=!![];break;}}if(!_0x1212b9)throw new IdGeneratorError(_0x314393['iNOgG'],_0x470879(0x24e));}['_validateTTL'](_0x2decf0){const _0x22ac97=a0_0x35aca2,_0x132fbf={'EybqO':function(_0x13c1c4,_0x509a20){return _0x13c1c4==_0x509a20;}};if(_0x132fbf[_0x22ac97(0x21c)](_0x2decf0,null))return undefined;if(!Number[_0x22ac97(0x1ec)](_0x2decf0)||_0x2decf0<0x1||_0x2decf0>MAX_TTL)throw new IdGeneratorError(_0x22ac97(0x1dc),_0x22ac97(0x21a)+MAX_TTL+_0x22ac97(0x264)+_0x2decf0+')');return _0x2decf0;}[a0_0x35aca2(0x29d)](_0x54760b){const _0x381fe3=a0_0x35aca2,_0x4d124d={'giCGK':function(_0xd3f455,_0x1728fd){return _0xd3f455>_0x1728fd;},'QFffL':_0x381fe3(0x224)};if(_0x54760b==null)return this['defaultMaxRetry'];if(!Number['isInteger'](_0x54760b)||_0x54760b<0x1||_0x4d124d[_0x381fe3(0x2f1)](_0x54760b,MAX_RETRY_LIMIT))throw new IdGeneratorError(_0x4d124d['QFffL'],_0x381fe3(0x2e7)+MAX_RETRY_LIMIT+'\x20(got:\x20'+_0x54760b+')');return _0x54760b;}[a0_0x35aca2(0x232)](_0x1fc5c6){const _0xe660a1=a0_0x35aca2,_0x4d930e={'Vilqp':function(_0x37619d,_0x163658){return _0x37619d==_0x163658;},'nHiIN':function(_0x13fde3,_0x41e118){return _0x13fde3!==_0x41e118;},'oLveS':function(_0x526830,_0x45332a){return _0x526830===_0x45332a;},'JZKNr':function(_0x1dbf1f,_0x14ef52){return _0x1dbf1f>_0x14ef52;},'DYRXj':_0xe660a1(0x1f2)};if(_0x4d930e['Vilqp'](_0x1fc5c6,null))return undefined;if(_0x4d930e[_0xe660a1(0x275)](typeof _0x1fc5c6,_0xe660a1(0x2dc))||_0x4d930e[_0xe660a1(0x2a7)](_0x1fc5c6[_0xe660a1(0x288)],0x0)||_0x4d930e[_0xe660a1(0x2d1)](_0x1fc5c6[_0xe660a1(0x288)],MAX_IDEMPOTENCY_KEY_LENGTH))throw new IdGeneratorError(_0x4d930e['DYRXj'],_0xe660a1(0x28f)+MAX_IDEMPOTENCY_KEY_LENGTH+_0xe660a1(0x29b));return _0x1fc5c6;}['_validateReserveTTL'](_0x211e38){const _0x2ee039=a0_0x35aca2,_0x3a063d={'ZXpGd':function(_0x1c3416,_0x4a612c){return _0x1c3416==_0x4a612c;}};if(_0x3a063d['ZXpGd'](_0x211e38,null))return this[_0x2ee039(0x252)];if(!Number[_0x2ee039(0x1ec)](_0x211e38)||_0x211e38<MIN_RESERVE_TTL||_0x211e38>this['reserveMaxTTL'])throw new IdGeneratorError(_0x2ee039(0x278),_0x2ee039(0x2fe)+MIN_RESERVE_TTL+'-'+this['reserveMaxTTL']+'\x20seconds\x20(got:\x20'+_0x211e38+')');return _0x211e38;}['_validateReservationToken'](_0x2acf85){const _0x12b459=a0_0x35aca2,_0xa484b5={'ZLunI':function(_0x187e77,_0xccc6b8){return _0x187e77!==_0xccc6b8;},'DttUL':'IDGEN_INVALID_TOKEN'};if(_0xa484b5['ZLunI'](typeof _0x2acf85,'string')||!RESERVATION_TOKEN_REGEX[_0x12b459(0x1eb)](_0x2acf85))throw new IdGeneratorError(_0xa484b5[_0x12b459(0x2c2)],'Invalid\x20reservation\x20token:\x20must\x20be\x20a\x20valid\x20UUID\x20format\x20(got:\x20'+JSON['stringify'](_0x2acf85)+')');return _0x2acf85;}['_pad2'](_0xe2e9d){return String(_0xe2e9d)['padStart'](0x2,'0');}['_buildFormatKey'](_0xffb174,_0x48b339,_0x22732f=new Date()){const _0x5ef458=a0_0x35aca2,_0xcb606f={'QIekq':function(_0x53214d,_0x39b47d){return _0x53214d+_0x39b47d;},'gIudC':function(_0x2ba93e,_0x1f0801){return _0x2ba93e||_0x1f0801;},'LHbqx':_0x5ef458(0x2d4)},_0x27c1ed=_0x22732f[_0x5ef458(0x24a)](),_0x4358ee=this['_pad2'](_0xcb606f[_0x5ef458(0x208)](_0x22732f['getMonth'](),0x1)),_0x23f741=this[_0x5ef458(0x2fb)](_0x22732f[_0x5ef458(0x293)]()),_0x4f7abe=_0xcb606f['gIudC'](_0x48b339,'_');let _0x2393db,_0x354b58='';switch(_0xffb174){case'text':_0x2393db=_0x4f7abe+'_text';break;case _0xcb606f[_0x5ef458(0x2cb)]:_0x354b58=''+_0x27c1ed,_0x2393db=_0x4f7abe+'_yyyy_'+_0x354b58;break;case'yyyymm':_0x354b58=''+_0x27c1ed+_0x4358ee,_0x2393db=_0x4f7abe+_0x5ef458(0x286)+_0x354b58;break;case'yyyymmdd':_0x354b58=''+_0x27c1ed+_0x4358ee+_0x23f741,_0x2393db=_0x4f7abe+_0x5ef458(0x258)+_0x354b58;break;default:throw new IdGeneratorError('IDGEN_INVALID_FORMAT',_0x5ef458(0x1fe)+_0xffb174);}return{'formatKey':_0x2393db,'datePrefix':_0x354b58};}['_buildSeqKey'](_0x2e076a,_0x5d511c){const _0x32d9f4=a0_0x35aca2;return this[_0x32d9f4(0x261)]+'seq:'+_0x2e076a+':'+_0x5d511c;}['_buildReuseKey'](_0x49edb0,_0x3d0783){return this['keyPrefix']+'reuse:'+_0x49edb0+':'+_0x3d0783;}['_buildMetaKey'](_0x59e1d6,_0xe085ff){const _0x5f2262=a0_0x35aca2;return this[_0x5f2262(0x261)]+'meta:'+_0x59e1d6+':'+_0xe085ff;}[a0_0x35aca2(0x219)](_0x5c98da){return this['keyPrefix']+'issued:'+_0x5c98da;}[a0_0x35aca2(0x27a)](_0x1f2298,_0x4bff1e){const _0x9c9e1f=a0_0x35aca2;return this[_0x9c9e1f(0x261)]+_0x9c9e1f(0x23f)+_0x1f2298+':'+_0x4bff1e;}['_buildReservationKey'](_0x41f914){return this['keyPrefix']+'rsv:'+_0x41f914;}['_buildReservationIndexKey'](_0x1cf72e,_0x210455){const _0x448d16=a0_0x35aca2;return this[_0x448d16(0x261)]+'rsv_idx:'+_0x1cf72e+':'+_0x210455;}['_buildReservationKeyPrefix'](){const _0x283837=a0_0x35aca2;return this['keyPrefix']+_0x283837(0x2d7);}['_buildIdemKey'](_0x2f4c88,_0x5ce57b,_0x2ea96d,_0x52cc94){const _0x43866c=a0_0x35aca2,_0x589bd3={'MZDfk':'idgen'};if(_0x2ea96d)return idempotencyManager['buildDeterministicKey'](_0x43866c(0x2b3),_0x2f4c88,_0x5ce57b+':'+_0x2ea96d+':'+_0x52cc94);return idempotencyManager['buildDeterministicKey'](_0x589bd3[_0x43866c(0x206)],_0x2f4c88,_0x5ce57b+':'+_0x52cc94);}['_getCounterTTL'](_0x3e6ab8){const _0x1006c9=a0_0x35aca2;return this[_0x1006c9(0x1d9)][_0x3e6ab8]||0x0;}[a0_0x35aca2(0x217)]({format:_0x249048,prefix:_0x556c7b,datePrefix:_0x4c247d,separator:_0xfef913,numDigits:_0x2536b6,counterInt:_0x226fcf}){const _0x37ef68=a0_0x35aca2,_0x3c74a4={'jvzTF':function(_0x497aee,_0x537f67){return _0x497aee-_0x537f67;},'kWdjS':_0x37ef68(0x277),'TcPlI':function(_0x47c25f,_0x5ebe59){return _0x47c25f(_0x5ebe59);},'PCsEI':_0x37ef68(0x20b)},_0x3a8662=_0x3c74a4['jvzTF'](Math['pow'](0xa,_0x2536b6),0x1);if(_0x226fcf>_0x3a8662)throw new IdGeneratorError(_0x3c74a4['kWdjS'],_0x37ef68(0x2e0)+_0x226fcf+_0x37ef68(0x25e)+_0x2536b6+_0x37ef68(0x235)+_0x3a8662+').\x20Increase\x20numDigits.',{'counterInt':_0x226fcf,'numDigits':_0x2536b6,'max':_0x3a8662});const _0x481b61=_0x3c74a4['TcPlI'](String,_0x226fcf)['padStart'](_0x2536b6,'0');if(_0x249048===_0x3c74a4[_0x37ef68(0x1d2)])return _0x556c7b?''+_0x556c7b+_0xfef913+_0x481b61:_0x481b61;return _0x556c7b?''+_0x556c7b+_0xfef913+_0x4c247d+_0xfef913+_0x481b61:''+_0x4c247d+_0xfef913+_0x481b61;}['_parseNumber']({format:_0x4198af,prefix:_0x3ef003,separator:_0x5d4e00,numDigits:_0x17adfa,number:_0x5ecf0a}){const _0x12580f=a0_0x35aca2,_0x113e45={'fzbYE':_0x12580f(0x2dc),'GahOx':function(_0xf9a15b,_0x55c62a){return _0xf9a15b===_0x55c62a;},'ZzJAJ':'text','kfuax':function(_0x4d53af,_0x56fb4c){return _0x4d53af!==_0x56fb4c;},'YzosE':function(_0x584b74,_0x3ff8cb){return _0x584b74!==_0x3ff8cb;},'fiJyd':function(_0x1c4345,_0x150f94){return _0x1c4345===_0x150f94;},'Lywnd':'IDGEN_INVALID_NUMBER','iBxZv':function(_0x31efb4,_0x2b1463,_0x120542){return _0x31efb4(_0x2b1463,_0x120542);},'BBlBY':function(_0x49f854,_0x21ed04){return _0x49f854||_0x21ed04;}};if(typeof _0x5ecf0a!==_0x113e45[_0x12580f(0x2ca)]||_0x5ecf0a['length']===0x0)throw new IdGeneratorError('IDGEN_INVALID_NUMBER',_0x12580f(0x296));const _0xa645a3=_0x5d4e00||'',_0x20b7f2=_0x113e45['GahOx'](_0xa645a3,'')?[_0x5ecf0a]:_0x5ecf0a['split'](_0xa645a3);let _0x1d5409='',_0x336867;if(_0x113e45['GahOx'](_0x4198af,_0x113e45[_0x12580f(0x2ee)])){if(_0x3ef003){if(_0x20b7f2['length']!==0x2||_0x20b7f2[0x0]!==_0x3ef003)throw new IdGeneratorError('IDGEN_INVALID_NUMBER','Number\x20does\x20not\x20match\x20expected\x20format\x20prefix'+_0xa645a3+_0x12580f(0x2ea)+_0x5ecf0a+')');_0x336867=_0x20b7f2[0x1];}else{if(_0x113e45[_0x12580f(0x2b0)](_0x20b7f2['length'],0x1))throw new IdGeneratorError(_0x12580f(0x2de),_0x12580f(0x1de)+_0x5ecf0a+')');_0x336867=_0x20b7f2[0x0];}}else{const _0x5a9b48=_0x3ef003?0x3:0x2;if(_0x113e45['YzosE'](_0x20b7f2['length'],_0x5a9b48))throw new IdGeneratorError('IDGEN_INVALID_NUMBER',_0x12580f(0x2f3)+_0x5ecf0a+',\x20expected\x20'+_0x5a9b48+'\x20parts)');let _0x378d8e=0x0;if(_0x3ef003){if(_0x20b7f2[_0x378d8e]!==_0x3ef003)throw new IdGeneratorError(_0x12580f(0x2de),_0x12580f(0x23b)+_0x3ef003+_0x12580f(0x1f5)+_0x20b7f2[_0x378d8e]);_0x378d8e++;}_0x1d5409=_0x20b7f2[_0x378d8e++];const _0xbc42de=_0x113e45[_0x12580f(0x26e)](_0x4198af,'yyyy')?/^\d{4}$/:_0x113e45['GahOx'](_0x4198af,'yyyymm')?/^\d{6}$/:/^\d{8}$/;if(!_0xbc42de[_0x12580f(0x1eb)](_0x1d5409))throw new IdGeneratorError(_0x12580f(0x2de),'Number\x20datePrefix\x20invalid\x20for\x20format\x20'+_0x4198af+':\x20'+_0x1d5409);_0x336867=_0x20b7f2[_0x378d8e];}if(!new RegExp('^\x5cd{'+_0x17adfa+'}$')[_0x12580f(0x1eb)](_0x336867))throw new IdGeneratorError(_0x113e45[_0x12580f(0x24b)],'Number\x20counter\x20part\x20must\x20be\x20exactly\x20'+_0x17adfa+_0x12580f(0x22e)+_0x336867+')');const _0x231a27=_0x113e45[_0x12580f(0x2ff)](parseInt,_0x336867,0xa),_0x37c7c0=_0x113e45[_0x12580f(0x2ba)](_0x3ef003,'_');let _0x24c6f2;return _0x4198af===_0x12580f(0x20b)?_0x24c6f2=_0x37c7c0+'_text':_0x24c6f2=_0x37c7c0+'_'+_0x4198af+'_'+_0x1d5409,{'formatKey':_0x24c6f2,'counterInt':_0x231a27,'datePrefix':_0x1d5409};}['_generateFromPattern'](_0x3efd3b){const _0x4dc4cc=a0_0x35aca2;let _0x1d5402='';for(const _0x438856 of _0x3efd3b){const _0x534e41=PLACEHOLDER_MAP[_0x438856];if(_0x534e41){const _0x407ba7=crypto[_0x4dc4cc(0x2d6)](0x0,_0x534e41['length']);_0x1d5402+=_0x534e41[_0x407ba7];}else _0x1d5402+=_0x438856;}return _0x1d5402;}async[a0_0x35aca2(0x1dd)](_0x42612c){const _0x1b6aa4=a0_0x35aca2,_0x2a5536={'mLOCR':'idgen_idem_hit','rQToz':'Idempotency\x20cache\x20HIT'};if(!_0x42612c)return null;try{const _0x5036f0=redisClient['getClient'](),_0x207e7b=await _0x5036f0['get'](_0x42612c);if(_0x207e7b)return logger['info']({'event':_0x2a5536['mLOCR'],'key':_0x42612c},_0x2a5536['rQToz']),JSON[_0x1b6aa4(0x222)](_0x207e7b);return null;}catch(_0x375abf){return logger[_0x1b6aa4(0x2e9)]({'event':_0x1b6aa4(0x1da),'error':_0x375abf[_0x1b6aa4(0x26a)]},'Idempotency\x20retrieve\x20error'),null;}}async[a0_0x35aca2(0x1d7)](_0x238ec3,_0x120ea1){const _0x1803d3=a0_0x35aca2,_0x478163={'qPBCS':'Idempotency\x20store\x20error'};if(!_0x238ec3)return;try{const _0x32e5a9=redisClient[_0x1803d3(0x2bd)]();await _0x32e5a9['setex'](_0x238ec3,this['idemTTL'],JSON[_0x1803d3(0x1f0)](_0x120ea1));}catch(_0x48ecf4){logger['warn']({'event':_0x1803d3(0x202),'error':_0x48ecf4['message']},_0x478163['qPBCS']);}}async[a0_0x35aca2(0x2da)](_0x3e9a95,_0x141b21){const _0x1b4157=a0_0x35aca2,_0x5db03a={'ggAPX':function(_0x51581c,_0x6eea47){return _0x51581c===_0x6eea47;},'voPgS':_0x1b4157(0x2f6)};if(!_0x3e9a95)return{'stored':!![],'winnerResult':null};try{const _0x3367a3=redisClient['getClient'](),_0x54c903=JSON['stringify'](_0x141b21),_0xe0e274=await _0x3367a3[_0x1b4157(0x209)](_0x3e9a95,_0x54c903,'EX',this['idemTTL'],'NX');if(_0x5db03a['ggAPX'](_0xe0e274,'OK'))return{'stored':!![],'winnerResult':null};const _0x10944d=await _0x3367a3['get'](_0x3e9a95);if(_0x10944d)return{'stored':![],'winnerResult':JSON['parse'](_0x10944d)};return logger['warn']({'event':_0x5db03a['voPgS'],'key':_0x3e9a95},'SET\x20NX\x20failed\x20but\x20cache\x20GET\x20returned\x20empty\x20—\x20falling\x20back\x20to\x20own\x20result'),{'stored':!![],'winnerResult':null};}catch(_0x41754d){return logger['warn']({'event':_0x1b4157(0x203),'error':_0x41754d[_0x1b4157(0x26a)]},_0x1b4157(0x2b1)),{'stored':!![],'winnerResult':null};}}async[a0_0x35aca2(0x2a0)](_0x4640e7,_0x42e2c0,_0x21b486){const _0x178354=a0_0x35aca2;try{const _0x2552ff=redisClient[_0x178354(0x2bd)]();if(_0x21b486){const _0x36b3ad=this[_0x178354(0x27a)](_0x4640e7,_0x42e2c0);await _0x2552ff['del'](_0x36b3ad);}else{const _0x2052f6=this['_buildIssuedKey'](_0x4640e7);await _0x2552ff[_0x178354(0x276)](_0x2052f6,_0x42e2c0);}}catch(_0x5592cc){logger[_0x178354(0x2e9)]({'event':_0x178354(0x2d9),'error':_0x5592cc['message']},_0x178354(0x21f));}}async[a0_0x35aca2(0x22b)](_0x45ad49,_0x399493,_0x2a2ef1,_0x1cb645=0x0){const _0x3b3f72=a0_0x35aca2,_0x186292={'kGObQ':_0x3b3f72(0x218),'MRvVA':_0x3b3f72(0x22d)};try{const _0x161c16=redisClient[_0x3b3f72(0x2bd)](),_0xae2120=this['_buildMetaKey'](_0x45ad49,_0x399493),_0x3fc235=[];for(const [_0x427b14,_0x44daf6]of Object['entries'](_0x2a2ef1)){_0x3fc235['push'](_0x427b14,String(_0x44daf6));}if(_0x3fc235['length']>0x0){await _0x161c16['hset'](_0xae2120,..._0x3fc235);if(_0x1cb645>0x0)await _0x161c16[_0x3b3f72(0x2f8)](_0xae2120,_0x1cb645);}}catch(_0x10a3f0){logger['warn']({'event':_0x186292['kGObQ'],'error':_0x10a3f0[_0x3b3f72(0x26a)]},_0x186292['MRvVA']);}}async['number'](_0x5725b6){const _0x4ec81f=a0_0x35aca2,_0x4b5c2c={'BCRHS':'IDGEN_DISABLED','GSxjF':function(_0x31602a,_0x5a34a9){return _0x31602a(_0x5a34a9);}};if(!this[_0x4ec81f(0x291)])throw new IdGeneratorError(_0x4b5c2c['BCRHS'],_0x4ec81f(0x248));const _0x482b08=this['_validateNumberParams'](_0x5725b6),_0x1896f3=this['_validateIdempotencyKey'](_0x5725b6['idempotencyKey']),{resource:_0x177651,format:_0x49e6fb,prefix:_0x57e388,separator:_0x18e0af,numDigits:_0x55d196,reuseDelete:_0x4c5769}=_0x482b08,{formatKey:_0x35ca55,datePrefix:_0x510eb2}=this[_0x4ec81f(0x2ae)](_0x49e6fb,_0x57e388),_0x57b3a2=this['_buildSeqKey'](_0x177651,_0x35ca55),_0x5bf5ac=this['_buildReuseKey'](_0x177651,_0x35ca55),_0x1a6dfc=this[_0x4ec81f(0x285)](_0x49e6fb);let _0x5ae054=null;if(_0x1896f3){_0x5ae054=this['_buildIdemKey']('number',_0x177651,_0x35ca55,_0x1896f3);const _0x4a0c49=await this['_retrieveIdemCache'](_0x5ae054);if(_0x4a0c49)return _0x4a0c49;}const _0x3b2410=redisClient['getClient'](),_0x582b30=await _0x3b2410[_0x4ec81f(0x1e2)](LUA_GENERATE_NUMBER,0x2,_0x57b3a2,_0x5bf5ac,_0x4c5769?'1':'0',_0x4b5c2c[_0x4ec81f(0x27f)](String,_0x1a6dfc)),_0x5953b8=_0x582b30[0x0],_0x589f5d=_0x582b30[0x1]===0x1,_0x5365bf=this[_0x4ec81f(0x217)]({'format':_0x49e6fb,'prefix':_0x57e388,'datePrefix':_0x510eb2,'separator':_0x18e0af,'numDigits':_0x55d196,'counterInt':_0x5953b8}),_0x4df286={'value':_0x5365bf,'counter':_0x5953b8,'resource':_0x177651,'formatKey':_0x35ca55,'isReused':_0x589f5d,'generatedAt':new Date()['toISOString']()},_0x38b7b1=await this[_0x4ec81f(0x2da)](_0x5ae054,_0x4df286);if(!_0x38b7b1['stored']){try{await _0x3b2410['eval'](LUA_RELEASE_NUMBER,0x1,_0x5bf5ac,_0x4b5c2c['GSxjF'](String,_0x5953b8),String(_0x1a6dfc));}catch(_0x20e4b){logger[_0x4ec81f(0x2e9)]({'event':_0x4ec81f(0x2b7),'error':_0x20e4b['message'],'resource':_0x177651,'formatKey':_0x35ca55,'counterInt':_0x5953b8},'Failed\x20to\x20release\x20counter\x20for\x20idempotency\x20loser');}return logger['info']({'event':_0x4ec81f(0x1e8),'resource':_0x177651,'formatKey':_0x35ca55,'counter':_0x5953b8},_0x4ec81f(0x2b4)),_0x38b7b1[_0x4ec81f(0x243)];}return this[_0x4ec81f(0x22b)](_0x177651,_0x35ca55,{'lastValue':_0x5365bf,'lastCounter':_0x5953b8,'lastIsReused':_0x589f5d,'lastGeneratedAt':_0x4df286[_0x4ec81f(0x28d)]},_0x1a6dfc),logger['info']({'event':_0x4ec81f(0x2a1),'resource':_0x177651,'formatKey':_0x35ca55,'counter':_0x5953b8,'isReused':_0x589f5d},_0x4ec81f(0x207)+_0x5365bf),_0x4df286;}async['releaseNumber'](_0x21f1e8){const _0x34424f=a0_0x35aca2,_0x28ae8d={'WjmiG':function(_0x3467be,_0x48b72a){return _0x3467be!==_0x48b72a;},'oheEN':_0x34424f(0x2dc),'NmBVp':function(_0x528c5d,_0xb7b8eb){return _0x528c5d===_0xb7b8eb;},'cJpyT':'text','FWHnh':_0x34424f(0x20e),'sSDAV':function(_0x454a75,_0x143545){return _0x454a75(_0x143545);},'wshmN':_0x34424f(0x1e4)};if(!this['enabled'])throw new IdGeneratorError(_0x34424f(0x20f),_0x34424f(0x1e7));let _0x1c3e65,_0x56b891,_0x10938f,_0x3faf7c;const _0x1be39a=this[_0x34424f(0x232)](_0x21f1e8[_0x34424f(0x2fa)]);if(_0x21f1e8[_0x34424f(0x1ef)]!==undefined&&_0x21f1e8['counterInt']!==null){this['_validateResource'](_0x21f1e8['resource']),_0x1c3e65=_0x21f1e8['resource'];if(_0x28ae8d[_0x34424f(0x2dd)](typeof _0x21f1e8[_0x34424f(0x231)],_0x28ae8d[_0x34424f(0x273)])||_0x28ae8d['NmBVp'](_0x21f1e8[_0x34424f(0x231)]['length'],0x0))throw new IdGeneratorError('IDGEN_INVALID_NUMBER','formatKey\x20is\x20required\x20in\x20low-level\x20release');_0x56b891=_0x21f1e8[_0x34424f(0x231)];if(!Number['isInteger'](_0x21f1e8['counterInt'])||_0x21f1e8[_0x34424f(0x1ef)]<0x1)throw new IdGeneratorError('IDGEN_INVALID_NUMBER',_0x34424f(0x280)+_0x21f1e8[_0x34424f(0x1ef)]+')');_0x10938f=_0x21f1e8['counterInt'];const _0x1aab14=_0x56b891['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/);_0x3faf7c=_0x1aab14?_0x1aab14[0x1]:_0x28ae8d[_0x34424f(0x23e)];}else{const _0x5e6ea9=this[_0x34424f(0x2ab)](_0x21f1e8),_0x37e222=this['_parseNumber']({'format':_0x5e6ea9[_0x34424f(0x25c)],'prefix':_0x5e6ea9[_0x34424f(0x29f)],'separator':_0x5e6ea9[_0x34424f(0x21b)],'numDigits':_0x5e6ea9['numDigits'],'number':_0x21f1e8[_0x34424f(0x2ac)]});_0x1c3e65=_0x5e6ea9[_0x34424f(0x1f7)],_0x56b891=_0x37e222[_0x34424f(0x231)],_0x10938f=_0x37e222[_0x34424f(0x1ef)],_0x3faf7c=_0x5e6ea9[_0x34424f(0x25c)];}const _0x1eacd9=this['_buildReuseKey'](_0x1c3e65,_0x56b891),_0x141b58=this[_0x34424f(0x285)](_0x3faf7c);let _0x6b8611=null;if(_0x1be39a){_0x6b8611=this['_buildIdemKey'](_0x28ae8d[_0x34424f(0x1fb)],_0x1c3e65,_0x56b891,_0x1be39a);const _0x3a78e7=await this['_retrieveIdemCache'](_0x6b8611);if(_0x3a78e7)return _0x3a78e7;}const _0x346e52=redisClient[_0x34424f(0x2bd)]();await _0x346e52['eval'](LUA_RELEASE_NUMBER,0x1,_0x1eacd9,_0x28ae8d[_0x34424f(0x2c4)](String,_0x10938f),_0x28ae8d['sSDAV'](String,_0x141b58));const _0xf32f3a={'released':!![],'resource':_0x1c3e65,'formatKey':_0x56b891,'counter':_0x10938f,'releasedAt':new Date()[_0x34424f(0x2a4)]()};return await this[_0x34424f(0x1d7)](_0x6b8611,_0xf32f3a),this[_0x34424f(0x22b)](_0x1c3e65,_0x56b891,{'lastReleasedCounter':_0x10938f,'lastReleasedAt':_0xf32f3a[_0x34424f(0x22a)]},_0x141b58),logger['info']({'event':_0x28ae8d[_0x34424f(0x223)],'resource':_0x1c3e65,'formatKey':_0x56b891,'counter':_0x10938f},'ID\x20Generator\x20number\x20released:\x20'+_0x10938f),_0xf32f3a;}async[a0_0x35aca2(0x1fc)](_0x5ee2fc){const _0x3bfc41=a0_0x35aca2,_0x1f837a={'ZbXxk':'IDGEN_DISABLED','bpLOX':'ID\x20Generator\x20is\x20disabled\x20(set\x20IDGEN_ENABLED=true)','cpKvu':function(_0x3a3b6b,_0x47b738){return _0x3a3b6b*_0x47b738;},'fnJwa':'formatKey','NdYSu':_0x3bfc41(0x25c),'zvzWk':'prefix','bTLcY':'separator','kaMPA':'numDigits','XenUJ':function(_0x45d9b4,_0x3b2e43){return _0x45d9b4(_0x3b2e43);},'gHrge':'createdAt','iEhlc':'expiresAt','fBpmy':'ttlMs','BnHMw':_0x3bfc41(0x240),'lzFcD':function(_0x29be69,_0xe254bb){return _0x29be69===_0xe254bb;},'Ekdvi':'idgen_reserve_overflow_compensation_error','zgJvX':_0x3bfc41(0x1df),'YcfiS':'Failed\x20to\x20persist\x20formatted\x20value\x20to\x20reservation\x20hash','TEjNo':_0x3bfc41(0x2a2),'EZkvP':'Failed\x20to\x20cancel\x20reservation\x20for\x20idempotency\x20loser','pyMlU':_0x3bfc41(0x27c),'YGybA':_0x3bfc41(0x2b5)};if(!this['enabled'])throw new IdGeneratorError(_0x1f837a['ZbXxk'],_0x1f837a['bpLOX']);const _0x85a696=this[_0x3bfc41(0x2ab)](_0x5ee2fc),_0x57b997=this['_validateReserveTTL'](_0x5ee2fc[_0x3bfc41(0x28b)]),_0x2f6f5b=this['_validateIdempotencyKey'](_0x5ee2fc['idempotencyKey']),{resource:_0x1d164f,format:_0x180278,prefix:_0x18c7c0,separator:_0x4a0e41,numDigits:_0x409c27,reuseDelete:_0x405acd}=_0x85a696,{formatKey:_0x50ac96,datePrefix:_0x1c0d27}=this['_buildFormatKey'](_0x180278,_0x18c7c0),_0x228f22=this['_buildSeqKey'](_0x1d164f,_0x50ac96),_0x4fef80=this[_0x3bfc41(0x260)](_0x1d164f,_0x50ac96),_0x1678ec=this[_0x3bfc41(0x2aa)](_0x1d164f,_0x50ac96),_0x1d5ecf=this['_getCounterTTL'](_0x180278);let _0x373046=null;if(_0x2f6f5b){_0x373046=this['_buildIdemKey'](_0x3bfc41(0x289),_0x1d164f,_0x50ac96,_0x2f6f5b);const _0x39080b=await this[_0x3bfc41(0x1dd)](_0x373046);if(_0x39080b)return _0x39080b;}const _0x57847b=crypto[_0x3bfc41(0x2c6)](),_0x8ff739=this[_0x3bfc41(0x295)](_0x57847b),_0x1f14ce=this[_0x3bfc41(0x28a)](),_0x31457f=Date['now'](),_0x46e2d2=_0x31457f+_0x1f837a['cpKvu'](_0x57b997,0x3e8),_0x251ad3=_0x1f837a[_0x3bfc41(0x2cd)](_0x57b997,0x3e8),_0x56cbf4=new Date(_0x31457f)['toISOString'](),_0x4c5104=new Date(_0x46e2d2)['toISOString'](),_0x2056e9=['resource',_0x1d164f,_0x1f837a['fnJwa'],_0x50ac96,_0x1f837a['NdYSu'],_0x180278,_0x1f837a[_0x3bfc41(0x297)],_0x18c7c0,_0x1f837a[_0x3bfc41(0x263)],_0x4a0e41,_0x1f837a[_0x3bfc41(0x2e2)],_0x1f837a[_0x3bfc41(0x292)](String,_0x409c27),_0x3bfc41(0x27d),_0x1c0d27||'',_0x1f837a['gHrge'],_0x56cbf4,_0x1f837a['iEhlc'],_0x4c5104,_0x1f837a[_0x3bfc41(0x242)],String(_0x251ad3)];_0x2f6f5b&&_0x2056e9[_0x3bfc41(0x2db)](_0x1f837a['BnHMw'],_0x2f6f5b);const _0x55b2a1=redisClient[_0x3bfc41(0x2bd)](),_0x450929=await _0x55b2a1['eval'](LUA_RESERVE_NUMBER,0x3,_0x228f22,_0x4fef80,_0x1678ec,_0x405acd?'1':'0',String(_0x1d5ecf),_0x57847b,_0x8ff739,String(_0x251ad3),String(_0x46e2d2),String(_0x31457f),_0x1f14ce,..._0x2056e9),_0x3523f8=_0x450929[0x0],_0x40a2d2=_0x1f837a[_0x3bfc41(0x1fa)](_0x450929[0x1],0x1),_0x20167c=_0x450929[0x2]||0x0;let _0x12538d;try{_0x12538d=this[_0x3bfc41(0x217)]({'format':_0x180278,'prefix':_0x18c7c0,'datePrefix':_0x1c0d27,'separator':_0x4a0e41,'numDigits':_0x409c27,'counterInt':_0x3523f8});}catch(_0x8e091e){try{await _0x55b2a1['eval'](LUA_CANCEL_RESERVATION,0x3,_0x8ff739,_0x1678ec,_0x4fef80,_0x57847b,String(_0x1d5ecf));}catch(_0x1b8805){logger[_0x3bfc41(0x2e9)]({'event':_0x1f837a[_0x3bfc41(0x1f1)],'error':_0x1b8805[_0x3bfc41(0x26a)],'resource':_0x1d164f,'formatKey':_0x50ac96,'counterInt':_0x3523f8,'token':_0x57847b},_0x1f837a['zgJvX']);}throw _0x8e091e;}try{await _0x55b2a1['hset'](_0x8ff739,'value',_0x12538d);}catch(_0x9b29e0){logger[_0x3bfc41(0x2e9)]({'event':_0x3bfc41(0x2f9),'error':_0x9b29e0[_0x3bfc41(0x26a)],'resource':_0x1d164f,'formatKey':_0x50ac96,'counterInt':_0x3523f8,'token':_0x57847b},_0x1f837a[_0x3bfc41(0x251)]);}const _0x3a2cc8={'token':_0x57847b,'value':_0x12538d,'counter':_0x3523f8,'resource':_0x1d164f,'formatKey':_0x50ac96,'isReused':_0x40a2d2,'createdAt':_0x56cbf4,'expiresAt':_0x4c5104,'reapedCount':_0x20167c},_0x1a2120=await this['_storeIdemCacheNX'](_0x373046,_0x3a2cc8);if(!_0x1a2120['stored']){try{await _0x55b2a1['eval'](LUA_CANCEL_RESERVATION,0x3,_0x8ff739,_0x1678ec,_0x4fef80,_0x57847b,String(_0x1d5ecf));}catch(_0x2de2a6){logger[_0x3bfc41(0x2e9)]({'event':_0x1f837a['TEjNo'],'error':_0x2de2a6['message'],'resource':_0x1d164f,'formatKey':_0x50ac96,'counterInt':_0x3523f8,'token':_0x57847b},_0x1f837a['EZkvP']);}return logger['info']({'event':_0x1f837a['pyMlU'],'resource':_0x1d164f,'formatKey':_0x50ac96,'counter':_0x3523f8,'token':_0x57847b},'ID\x20Generator\x20reserve\x20idem\x20race\x20lost,\x20returning\x20winner\x20envelope'),_0x1a2120['winnerResult'];}return this['_updateMeta'](_0x1d164f,_0x50ac96,{'lastReservedCounter':_0x3523f8,'lastReservedAt':_0x56cbf4,'lastReapedCount':_0x20167c},_0x1d5ecf),logger['info']({'event':_0x1f837a['YGybA'],'resource':_0x1d164f,'formatKey':_0x50ac96,'counter':_0x3523f8,'isReused':_0x40a2d2,'token':_0x57847b,'ttl':_0x57b997,'reapedCount':_0x20167c},_0x3bfc41(0x2ad)+_0x12538d+_0x3bfc41(0x1e6)+_0x57847b+')'),_0x3a2cc8;}async[a0_0x35aca2(0x205)](_0x2c4532){const _0x17ef59=a0_0x35aca2,_0x8d14f0={'kwYyw':_0x17ef59(0x20f),'RiFFO':'ID\x20Generator\x20is\x20disabled','Qbjto':'idgen','MmwRh':_0x17ef59(0x22c),'dSvxx':function(_0x2b4109,_0x511438){return _0x2b4109!==_0x511438;},'TaltD':_0x17ef59(0x287)};if(!this['enabled'])throw new IdGeneratorError(_0x8d14f0['kwYyw'],_0x8d14f0['RiFFO']);const _0x21a5cd=this['_validateReservationToken'](_0x2c4532&&_0x2c4532[_0x17ef59(0x1ee)]),_0x346a72=this['_validateIdempotencyKey'](_0x2c4532&&_0x2c4532[_0x17ef59(0x2fa)]);let _0x1cb891=null;if(_0x346a72){_0x1cb891=idempotencyManager['buildDeterministicKey'](_0x8d14f0['Qbjto'],_0x8d14f0['MmwRh'],_0x21a5cd+':'+_0x346a72);const _0x4b5176=await this['_retrieveIdemCache'](_0x1cb891);if(_0x4b5176)return _0x4b5176;}const _0x56bdd2=await this[_0x17ef59(0x2cc)](_0x21a5cd),_0x54b799=redisClient[_0x17ef59(0x2bd)](),_0x59a8b5=await _0x54b799['eval'](LUA_CONFIRM_RESERVATION,0x2,_0x56bdd2['rsvKey'],_0x56bdd2[_0x17ef59(0x2bf)],_0x21a5cd);if(!_0x59a8b5||_0x8d14f0['dSvxx'](_0x59a8b5[0x0],0x1))throw new IdGeneratorError('IDGEN_RESERVATION_NOT_FOUND',_0x17ef59(0x2b2)+_0x21a5cd,{'token':_0x21a5cd});const _0x4c99bb=parseInt(_0x59a8b5[0x1],0xa),_0x142e5b=_0x59a8b5[0x2],_0x1eec1d=_0x59a8b5[0x3],_0x48156b=new Date()['toISOString'](),_0x353b5b={'confirmed':!![],'token':_0x21a5cd,'value':_0x142e5b,'counter':_0x4c99bb,'resource':_0x56bdd2[_0x17ef59(0x1f7)],'formatKey':_0x1eec1d,'confirmedAt':_0x48156b};await this[_0x17ef59(0x1d7)](_0x1cb891,_0x353b5b);const _0x4f7c18=_0x1eec1d[_0x17ef59(0x210)](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x105617=_0x4f7c18?_0x4f7c18[0x1]:_0x17ef59(0x20b),_0x5288e6=this[_0x17ef59(0x285)](_0x105617);return this[_0x17ef59(0x22b)](_0x56bdd2[_0x17ef59(0x1f7)],_0x1eec1d,{'lastConfirmedCounter':_0x4c99bb,'lastConfirmedAt':_0x48156b},_0x5288e6),logger[_0x17ef59(0x2e8)]({'event':_0x8d14f0['TaltD'],'resource':_0x56bdd2[_0x17ef59(0x1f7)],'formatKey':_0x1eec1d,'counter':_0x4c99bb,'token':_0x21a5cd},_0x17ef59(0x270)+_0x142e5b+_0x17ef59(0x1e6)+_0x21a5cd+')'),_0x353b5b;}async['cancelReservation'](_0x2d4226){const _0x44a51e=a0_0x35aca2,_0x17cd2c={'EBEag':function(_0x340b0a,_0x56d0c5){return _0x340b0a(_0x56d0c5);},'kThPu':function(_0x1f4841,_0x46ee4c){return _0x1f4841!==_0x46ee4c;},'CytrL':'IDGEN_RESERVATION_NOT_FOUND','nUkBz':function(_0x161b5b,_0x4288cc,_0x3b7738){return _0x161b5b(_0x4288cc,_0x3b7738);},'FKEfx':'idgen_reservation_cancelled'};if(!this[_0x44a51e(0x291)])throw new IdGeneratorError(_0x44a51e(0x20f),'ID\x20Generator\x20is\x20disabled');const _0x135381=this[_0x44a51e(0x2c7)](_0x2d4226&&_0x2d4226['token']),_0x5dc739=this['_validateIdempotencyKey'](_0x2d4226&&_0x2d4226[_0x44a51e(0x2fa)]);let _0x546604=null;if(_0x5dc739){_0x546604=idempotencyManager[_0x44a51e(0x1f6)](_0x44a51e(0x2b3),_0x44a51e(0x215),_0x135381+':'+_0x5dc739);const _0x5c5775=await this[_0x44a51e(0x1dd)](_0x546604);if(_0x5c5775)return _0x5c5775;}const _0x4c86c8=await this[_0x44a51e(0x2cc)](_0x135381),_0x40d0c9=this['_buildReuseKey'](_0x4c86c8[_0x44a51e(0x1f7)],_0x4c86c8['formatKey']),_0x3fd956=_0x4c86c8[_0x44a51e(0x231)][_0x44a51e(0x210)](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x33ba8f=_0x3fd956?_0x3fd956[0x1]:'text',_0x465388=this['_getCounterTTL'](_0x33ba8f),_0x59052e=redisClient[_0x44a51e(0x2bd)](),_0x43ea07=await _0x59052e[_0x44a51e(0x1e2)](LUA_CANCEL_RESERVATION,0x3,_0x4c86c8[_0x44a51e(0x2a3)],_0x4c86c8['rsvIdxKey'],_0x40d0c9,_0x135381,_0x17cd2c[_0x44a51e(0x21e)](String,_0x465388));if(!_0x43ea07||_0x17cd2c[_0x44a51e(0x266)](_0x43ea07[0x0],0x1))throw new IdGeneratorError(_0x17cd2c['CytrL'],'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x135381,{'token':_0x135381});const _0x3f5441=_0x17cd2c['nUkBz'](parseInt,_0x43ea07[0x1],0xa),_0x19a8f2=_0x43ea07[0x2],_0x194a7e=_0x43ea07[0x3],_0x435c1b=new Date()['toISOString'](),_0x551690={'cancelled':!![],'token':_0x135381,'value':_0x19a8f2,'counter':_0x3f5441,'resource':_0x4c86c8[_0x44a51e(0x1f7)],'formatKey':_0x194a7e,'releasedToReuse':!![],'cancelledAt':_0x435c1b};return await this['_storeIdemCache'](_0x546604,_0x551690),this[_0x44a51e(0x22b)](_0x4c86c8[_0x44a51e(0x1f7)],_0x194a7e,{'lastCancelledCounter':_0x3f5441,'lastCancelledAt':_0x435c1b},_0x465388),logger['info']({'event':_0x17cd2c[_0x44a51e(0x1d5)],'resource':_0x4c86c8['resource'],'formatKey':_0x194a7e,'counter':_0x3f5441,'token':_0x135381},'ID\x20Generator\x20reservation\x20cancelled:\x20'+_0x19a8f2+'\x20(token='+_0x135381+')'),_0x551690;}async['extendReservation'](_0x31cb67){const _0x5912ec=a0_0x35aca2,_0xf93253={'HXcqD':'IDGEN_DISABLED','DAsdH':_0x5912ec(0x2b3),'RFgkj':_0x5912ec(0x2d5),'axrvb':function(_0x4e81f4,_0x546ae8){return _0x4e81f4*_0x546ae8;},'HPviW':function(_0x153b22,_0x293f5a){return _0x153b22*_0x293f5a;},'QDpYv':function(_0x527dbb,_0x4f5197){return _0x527dbb(_0x4f5197);},'RyJbO':function(_0x4320d8,_0x42069a){return _0x4320d8!==_0x42069a;},'xXEUr':'text'};if(!this[_0x5912ec(0x291)])throw new IdGeneratorError(_0xf93253[_0x5912ec(0x2bb)],_0x5912ec(0x1e7));const _0x360e1c=this['_validateReservationToken'](_0x31cb67&&_0x31cb67['token']),_0xef6de3=this[_0x5912ec(0x25a)](_0x31cb67&&_0x31cb67[_0x5912ec(0x28b)]),_0xff2e90=this['_validateIdempotencyKey'](_0x31cb67&&_0x31cb67['idempotencyKey']);let _0x55911e=null;if(_0xff2e90){_0x55911e=idempotencyManager['buildDeterministicKey'](_0xf93253[_0x5912ec(0x233)],_0xf93253[_0x5912ec(0x2ce)],_0x360e1c+':'+_0xff2e90);const _0x37423f=await this[_0x5912ec(0x1dd)](_0x55911e);if(_0x37423f)return _0x37423f;}const _0x1c46c0=await this[_0x5912ec(0x2cc)](_0x360e1c),_0x106155=Date[_0x5912ec(0x220)](),_0x25e24a=_0x106155+_0xf93253[_0x5912ec(0x26c)](_0xef6de3,0x3e8),_0x3fdd4d=_0xf93253[_0x5912ec(0x246)](_0xef6de3,0x3e8),_0x447a0f=new Date(_0x25e24a)['toISOString'](),_0x19f1d7=redisClient[_0x5912ec(0x2bd)](),_0x516e60=await _0x19f1d7['eval'](LUA_EXTEND_RESERVATION,0x2,_0x1c46c0[_0x5912ec(0x2a3)],_0x1c46c0[_0x5912ec(0x2bf)],_0x360e1c,String(_0x3fdd4d),_0xf93253[_0x5912ec(0x294)](String,_0x25e24a),_0x447a0f);if(!_0x516e60||_0xf93253['RyJbO'](_0x516e60[0x0],0x1))throw new IdGeneratorError(_0x5912ec(0x2d0),'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x360e1c,{'token':_0x360e1c});const _0x1c463a=_0x516e60[0x1],_0xed1a58=parseInt(_0x516e60[0x2],0xa),_0x837cb2=_0x516e60[0x3],_0x4861a3=_0x516e60[0x4],_0x1c68ff=new Date(_0x106155)['toISOString'](),_0x2677ba={'extended':!![],'token':_0x360e1c,'previousExpiresAt':_0x1c463a,'expiresAt':_0x447a0f,'ttlMs':_0x3fdd4d,'resource':_0x1c46c0[_0x5912ec(0x1f7)],'formatKey':_0x4861a3,'counter':_0xed1a58,'value':_0x837cb2,'extendedAt':_0x1c68ff};await this['_storeIdemCache'](_0x55911e,_0x2677ba);const _0x234ddd=_0x4861a3['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x5c7469=_0x234ddd?_0x234ddd[0x1]:_0xf93253[_0x5912ec(0x245)],_0x193331=this['_getCounterTTL'](_0x5c7469);return this['_updateMeta'](_0x1c46c0['resource'],_0x4861a3,{'lastExtendedCounter':_0xed1a58,'lastExtendedAt':_0x1c68ff},_0x193331),logger['info']({'event':'idgen_reservation_extended','resource':_0x1c46c0['resource'],'formatKey':_0x4861a3,'counter':_0xed1a58,'token':_0x360e1c,'ttl':_0xef6de3},'ID\x20Generator\x20reservation\x20extended:\x20'+_0x837cb2+'\x20(token='+_0x360e1c+_0x5912ec(0x247)+_0xef6de3+'s)'),_0x2677ba;}async['getReservation'](_0x1b51b4){const _0x19aaf8=a0_0x35aca2,_0x5cea23={'tDSWt':_0x19aaf8(0x20f),'OiqTM':function(_0x3a019e,_0x51eedc){return _0x3a019e===_0x51eedc;},'jqzQi':_0x19aaf8(0x2ac),'ZYQgi':function(_0x4778ec,_0x4081af){return _0x4778ec>=_0x4081af;}};if(!this[_0x19aaf8(0x291)])throw new IdGeneratorError(_0x5cea23['tDSWt'],_0x19aaf8(0x1e7));const _0x95d462=this[_0x19aaf8(0x2c7)](_0x1b51b4&&_0x1b51b4[_0x19aaf8(0x1ee)]),_0x47bc2b=this[_0x19aaf8(0x295)](_0x95d462),_0x5bed2d=redisClient[_0x19aaf8(0x2bd)](),_0xf524f3=_0x5bed2d['pipeline']();_0xf524f3[_0x19aaf8(0x2c9)](_0x47bc2b),_0xf524f3[_0x19aaf8(0x2a6)](_0x47bc2b);const _0x453d67=await _0xf524f3[_0x19aaf8(0x2df)](),_0x2073b6=_0x453d67&&_0x453d67[0x0]&&_0x453d67[0x0][0x1],_0x1a26f8=_0x453d67&&_0x453d67[0x1]&&_0x453d67[0x1][0x1];if(!_0x2073b6||Object[_0x19aaf8(0x20c)](_0x2073b6)['length']===0x0)throw new IdGeneratorError('IDGEN_RESERVATION_NOT_FOUND',_0x19aaf8(0x2b2)+_0x95d462,{'token':_0x95d462});return{'token':_0x95d462,'resource':_0x2073b6['resource']||null,'formatKey':_0x2073b6['formatKey']||null,'format':_0x2073b6[_0x19aaf8(0x25c)]||null,'prefix':_0x2073b6['prefix']||'','separator':_0x2073b6['separator']||'','numDigits':_0x2073b6[_0x19aaf8(0x1f8)]?parseInt(_0x2073b6[_0x19aaf8(0x1f8)],0xa):null,'datePrefix':_0x2073b6[_0x19aaf8(0x27d)]||'','counter':_0x2073b6['counter']?parseInt(_0x2073b6[_0x19aaf8(0x239)],0xa):null,'value':_0x2073b6[_0x19aaf8(0x2f5)]||null,'isReused':_0x2073b6[_0x19aaf8(0x299)]==='1'||_0x2073b6[_0x19aaf8(0x299)]===0x1,'createdAt':_0x2073b6['createdAt']||null,'expiresAt':_0x2073b6[_0x19aaf8(0x29c)]||null,'ttlRemainingMs':_0x5cea23[_0x19aaf8(0x1d4)](typeof _0x1a26f8,_0x5cea23[_0x19aaf8(0x271)])&&_0x5cea23['ZYQgi'](_0x1a26f8,0x0)?_0x1a26f8:null};}async[a0_0x35aca2(0x2cc)](_0x3a62c0){const _0x529768=a0_0x35aca2,_0x55d744=this[_0x529768(0x295)](_0x3a62c0),_0x17bb22=redisClient['getClient'](),_0x48d95e=await _0x17bb22['hmget'](_0x55d744,_0x529768(0x1f7),_0x529768(0x231)),_0x27a7e9=_0x48d95e&&_0x48d95e[0x0],_0x5c423f=_0x48d95e&&_0x48d95e[0x1];if(!_0x27a7e9||!_0x5c423f)throw new IdGeneratorError(_0x529768(0x2d0),_0x529768(0x2b2)+_0x3a62c0,{'token':_0x3a62c0});return{'resource':_0x27a7e9,'formatKey':_0x5c423f,'rsvKey':_0x55d744,'rsvIdxKey':this['_buildReservationIndexKey'](_0x27a7e9,_0x5c423f)};}async['random'](_0x2c29bf){const _0x470d8a=a0_0x35aca2,_0x25fd7b={'BtTmU':'IDGEN_DISABLED','OvfEW':function(_0x54a43a,_0x28bd43){return _0x54a43a===_0x28bd43;},'lOHIi':function(_0x399289,_0x4378ed){return _0x399289===_0x4378ed;},'bNajo':function(_0x1278bf,_0x54a37c){return _0x1278bf+_0x54a37c;},'HsQuY':'idgen_random_idem_loser'};if(!this[_0x470d8a(0x291)])throw new IdGeneratorError(_0x25fd7b['BtTmU'],'ID\x20Generator\x20is\x20disabled');this['_validateResource'](_0x2c29bf[_0x470d8a(0x1f7)]),this['_validatePattern'](_0x2c29bf['pattern']);const _0x4dc03c=this['_validateTTL'](_0x2c29bf['ttl']),_0x40a311=this[_0x470d8a(0x29d)](_0x2c29bf[_0x470d8a(0x229)]),_0x3cd662=this['_validateIdempotencyKey'](_0x2c29bf[_0x470d8a(0x2fa)]),_0x1be3ab=_0x25fd7b[_0x470d8a(0x2eb)](_0x2c29bf['ensureUnique'],!![]),{resource:_0x822837,pattern:_0x154575}=_0x2c29bf;let _0xb7e9cd=null;if(_0x3cd662){_0xb7e9cd=this['_buildIdemKey'](_0x470d8a(0x284),_0x822837,null,_0x3cd662);const _0x1a92d0=await this[_0x470d8a(0x1dd)](_0xb7e9cd);if(_0x1a92d0)return _0x1a92d0;}const _0x3b2e71=redisClient[_0x470d8a(0x2bd)]();let _0x34af80=null,_0xc55348=0x0;if(!_0x1be3ab)_0x34af80=this[_0x470d8a(0x26f)](_0x154575),_0xc55348=0x1;else{for(let _0x5e1466=0x0;_0x5e1466<_0x40a311;_0x5e1466++){_0xc55348++;const _0x18f218=this[_0x470d8a(0x26f)](_0x154575);if(_0x4dc03c){const _0x4bef48=this[_0x470d8a(0x27a)](_0x822837,_0x18f218),_0x3f2190=await _0x3b2e71['set'](_0x4bef48,'1','EX',_0x4dc03c,'NX');if(_0x25fd7b['lOHIi'](_0x3f2190,'OK')){_0x34af80=_0x18f218;break;}}else{const _0x2a0d0f=this['_buildIssuedKey'](_0x822837),_0x52e297=await _0x3b2e71['sadd'](_0x2a0d0f,_0x18f218);if(_0x52e297===0x1){_0x34af80=_0x18f218;break;}}}if(_0x34af80===null)throw new IdGeneratorError(_0x470d8a(0x257),'Could\x20not\x20generate\x20unique\x20value\x20after\x20'+_0x40a311+'\x20attempts.\x20Increase\x20pattern\x20length\x20or\x20maxRetry.',{'resource':_0x822837,'pattern':_0x154575,'maxRetry':_0x40a311});}const _0x4b8693={'value':_0x34af80,'resource':_0x822837,'pattern':_0x154575,'attemptCount':_0xc55348,'generatedAt':new Date()['toISOString']()};_0x4dc03c&&_0x1be3ab&&(_0x4b8693[_0x470d8a(0x29c)]=new Date(_0x25fd7b[_0x470d8a(0x200)](Date[_0x470d8a(0x220)](),_0x4dc03c*0x3e8))['toISOString']());const _0x1b6fc1=await this[_0x470d8a(0x2da)](_0xb7e9cd,_0x4b8693);if(!_0x1b6fc1[_0x470d8a(0x2ec)])return _0x1be3ab&&await this['_undoRandomReservation'](_0x822837,_0x34af80,_0x4dc03c),logger['info']({'event':_0x25fd7b['HsQuY'],'resource':_0x822837,'pattern':_0x154575,'value':_0x34af80},'ID\x20Generator\x20random\x20idem\x20race\x20lost,\x20returning\x20winner\x20envelope'),_0x1b6fc1[_0x470d8a(0x243)];return logger['info']({'event':'idgen_random_generated','resource':_0x822837,'pattern':_0x154575,'attemptCount':_0xc55348,'ensureUnique':_0x1be3ab,'ttl':_0x4dc03c||0x0},'ID\x20Generator\x20random:\x20'+_0x34af80),_0x4b8693;}async[a0_0x35aca2(0x1e9)](_0x55f480){const _0x148cda=a0_0x35aca2,_0x71e87c={'IbljD':function(_0x13cbf0,_0x430768){return _0x13cbf0<_0x430768;},'CnQhV':function(_0x438575,_0x2839aa){return _0x438575>_0x2839aa;}},_0x4e99d6=_0x55f480[_0x148cda(0x1d6)]==null?this[_0x148cda(0x234)]:_0x55f480[_0x148cda(0x1d6)];if(!Number['isInteger'](_0x4e99d6)||_0x71e87c[_0x148cda(0x2e1)](_0x4e99d6,MIN_PIN_DIGITS)||_0x71e87c['CnQhV'](_0x4e99d6,MAX_PIN_DIGITS))throw new IdGeneratorError('IDGEN_INVALID_DIGITS','Invalid\x20digits:\x20must\x20be\x20integer\x20'+MIN_PIN_DIGITS+'-'+MAX_PIN_DIGITS+_0x148cda(0x24f)+_0x4e99d6+')');const _0x535270='9'[_0x148cda(0x283)](_0x4e99d6);return this[_0x148cda(0x284)]({'resource':_0x55f480[_0x148cda(0x1f7)],'pattern':_0x535270,'ensureUnique':_0x55f480[_0x148cda(0x2a8)]===!![],'ttl':_0x55f480[_0x148cda(0x28b)],'maxRetry':_0x55f480['maxRetry'],'idempotencyKey':_0x55f480['idempotencyKey']});}async['serial'](_0x418f01){const _0x2f9e92=a0_0x35aca2,_0x313ccc=_0x418f01['pattern']||this['defaultSerialPattern'];return this['random']({'resource':_0x418f01[_0x2f9e92(0x1f7)],'pattern':_0x313ccc,'ensureUnique':_0x418f01['ensureUnique']!==![],'ttl':_0x418f01[_0x2f9e92(0x28b)],'maxRetry':_0x418f01[_0x2f9e92(0x229)],'idempotencyKey':_0x418f01[_0x2f9e92(0x2fa)]});}async[a0_0x35aca2(0x2fc)](_0x476ace){const _0x5b2ae9=a0_0x35aca2,_0x764dd7={'xZWab':function(_0x5e0b88,_0x49489a){return _0x5e0b88!==_0x49489a;}},_0x5b132c=_0x476ace[_0x5b2ae9(0x27b)]||this[_0x5b2ae9(0x1f9)];return this[_0x5b2ae9(0x284)]({'resource':_0x476ace[_0x5b2ae9(0x1f7)],'pattern':_0x5b132c,'ensureUnique':_0x764dd7[_0x5b2ae9(0x274)](_0x476ace['ensureUnique'],![]),'ttl':_0x476ace['ttl'],'maxRetry':_0x476ace['maxRetry'],'idempotencyKey':_0x476ace[_0x5b2ae9(0x2fa)]});}async['consume'](_0x5818eb){const _0x34068b=a0_0x35aca2,_0x2b9b03={'vAAPz':'ID\x20Generator\x20is\x20disabled','JKpYK':_0x34068b(0x2dc),'TzShQ':_0x34068b(0x2de),'RNESR':_0x34068b(0x2d2),'pBBsV':function(_0x3d556b,_0x1f140b){return _0x3d556b>_0x1f140b;},'LFnra':_0x34068b(0x2f4)};if(!this['enabled'])throw new IdGeneratorError('IDGEN_DISABLED',_0x2b9b03[_0x34068b(0x244)]);this['_validateResource'](_0x5818eb['resource']);if(typeof _0x5818eb['value']!==_0x2b9b03[_0x34068b(0x2ef)]||_0x5818eb[_0x34068b(0x2f5)]['length']===0x0)throw new IdGeneratorError(_0x2b9b03[_0x34068b(0x23c)],_0x2b9b03['RNESR']);const {resource:_0xe025f1,value:_0x2285bf}=_0x5818eb,_0x462c09=redisClient[_0x34068b(0x2bd)](),_0xc5b860=this['_buildActiveKey'](_0xe025f1,_0x2285bf),_0x424b0f=this[_0x34068b(0x219)](_0xe025f1),[_0x579461,_0x504fa1]=await Promise[_0x34068b(0x211)]([_0x462c09[_0x34068b(0x2b6)](_0xc5b860),_0x462c09['srem'](_0x424b0f,_0x2285bf)]),_0x3a1d52=_0x2b9b03[_0x34068b(0x216)](_0x579461+_0x504fa1,0x0);return logger['info']({'event':_0x2b9b03[_0x34068b(0x226)],'resource':_0xe025f1,'value':_0x2285bf,'consumed':_0x3a1d52},'ID\x20Generator\x20consumed:\x20'+_0x2285bf),{'consumed':_0x3a1d52,'resource':_0xe025f1,'value':_0x2285bf,'consumedAt':new Date()[_0x34068b(0x2a4)]()};}async[a0_0x35aca2(0x20d)](_0x108831){const _0x4b09e5=a0_0x35aca2,_0x2b0ed4={'WquWg':'IDGEN_DISABLED','EmlJh':function(_0x46b7b8,_0x2940bf){return _0x46b7b8===_0x2940bf;},'xeUSM':'text','nZFrR':'number','mnASb':function(_0x12dc36,_0x400992,_0x4dfa2e){return _0x12dc36(_0x400992,_0x4dfa2e);},'YLXhO':'random','soTdH':function(_0x1c1835,_0x5eefb0){return _0x1c1835||_0x5eefb0;}};if(!this[_0x4b09e5(0x291)])throw new IdGeneratorError(_0x2b0ed4['WquWg'],'ID\x20Generator\x20is\x20disabled');this['_validateResource'](_0x108831['resource']);const _0x164bdd=_0x108831['mode']||_0x4b09e5(0x2ac),_0x517deb=redisClient['getClient']();if(_0x2b0ed4[_0x4b09e5(0x2f2)](_0x164bdd,'number')){const _0x5c22f8=(_0x108831['format']||_0x2b0ed4['xeUSM'])['toLowerCase']();if(!ALLOWED_FORMATS[_0x4b09e5(0x221)](_0x5c22f8))throw new IdGeneratorError('IDGEN_INVALID_FORMAT','Invalid\x20format:\x20'+_0x108831[_0x4b09e5(0x25c)]);const {formatKey:_0x5c9a8e}=this['_buildFormatKey'](_0x5c22f8,_0x108831[_0x4b09e5(0x29f)]||''),_0x117e77=this['_buildSeqKey'](_0x108831[_0x4b09e5(0x1f7)],_0x5c9a8e),_0x2c3075=this[_0x4b09e5(0x260)](_0x108831[_0x4b09e5(0x1f7)],_0x5c9a8e),[_0x4f328e,_0x15a296]=await Promise[_0x4b09e5(0x211)]([_0x517deb['get'](_0x117e77),_0x517deb[_0x4b09e5(0x267)](_0x2c3075)]);return{'resource':_0x108831[_0x4b09e5(0x1f7)],'mode':_0x2b0ed4[_0x4b09e5(0x2e4)],'formatKey':_0x5c9a8e,'currentCounter':_0x2b0ed4[_0x4b09e5(0x262)](parseInt,_0x4f328e,0xa)||0x0,'reusePoolSize':_0x15a296||0x0};}if(_0x2b0ed4['EmlJh'](_0x164bdd,_0x2b0ed4[_0x4b09e5(0x20a)])){const _0x23138a=this['_buildIssuedKey'](_0x108831[_0x4b09e5(0x1f7)]),_0x37523c=await _0x517deb[_0x4b09e5(0x212)](_0x23138a);return{'resource':_0x108831['resource'],'mode':_0x4b09e5(0x284),'issuedCount':_0x2b0ed4[_0x4b09e5(0x238)](_0x37523c,0x0)};}throw new IdGeneratorError(_0x4b09e5(0x25d),'Unknown\x20mode:\x20'+_0x164bdd);}async[a0_0x35aca2(0x24d)](_0x3025f0){const _0x22f374=a0_0x35aca2,_0xa5aa55={'dziTq':function(_0x5720fc,_0x2c7f26){return _0x5720fc===_0x2c7f26;},'ZKiUb':function(_0xd0b64,_0x1fb1b0){return _0xd0b64>_0x1fb1b0;}},_0x31a1f=await this['peek'](_0x3025f0);if(_0xa5aa55[_0x22f374(0x2b8)](_0x31a1f[_0x22f374(0x1e0)],_0x22f374(0x2ac))){const _0x3e9a60=redisClient['getClient'](),_0x16affb=this['_buildMetaKey'](_0x3025f0[_0x22f374(0x1f7)],_0x31a1f[_0x22f374(0x231)]),_0x3dcac3=this[_0x22f374(0x260)](_0x3025f0[_0x22f374(0x1f7)],_0x31a1f['formatKey']),[_0x5e8c87,_0x29c513]=await Promise[_0x22f374(0x211)]([_0x3e9a60['hgetall'](_0x16affb),_0x3e9a60[_0x22f374(0x2d8)](_0x3dcac3,0x0,-0x1)]);return{..._0x31a1f,'reusePoolValues':_0x29c513['map'](_0x56476d=>parseInt(_0x56476d,0xa)),'meta':_0x5e8c87&&_0xa5aa55[_0x22f374(0x2c0)](Object['keys'](_0x5e8c87)['length'],0x0)?_0x5e8c87:null};}return _0x31a1f;}async['reset'](_0x19312e){const _0x379561=a0_0x35aca2,_0x253437={'hDJYZ':_0x379561(0x201),'mSOJJ':'Reset\x20operation\x20not\x20allowed\x20(set\x20IDGEN_ALLOW_RESET=true\x20to\x20enable)','YlTXC':'text','QrIhn':_0x379561(0x2fd),'bbjHR':'reuse','UQHrc':'meta','hhKfj':'random','YrKsO':_0x379561(0x2f0)};if(!this['enabled'])throw new IdGeneratorError('IDGEN_DISABLED',_0x379561(0x1e7));if(!this['allowReset'])throw new IdGeneratorError(_0x253437['hDJYZ'],_0x253437['mSOJJ']);this['_validateResource'](_0x19312e[_0x379561(0x1f7)]);const _0x33011a=_0x19312e['mode']||'number',_0x16a5fe=redisClient['getClient']();if(_0x33011a===_0x379561(0x2ac)){const _0x495ab2=(_0x19312e[_0x379561(0x25c)]||_0x253437['YlTXC'])[_0x379561(0x2ed)]();if(!ALLOWED_FORMATS[_0x379561(0x221)](_0x495ab2))throw new IdGeneratorError(_0x379561(0x2f7),'Invalid\x20format:\x20'+_0x19312e[_0x379561(0x25c)]);const {formatKey:_0x35ff1b}=this[_0x379561(0x2ae)](_0x495ab2,_0x19312e[_0x379561(0x29f)]||''),_0xecb07a=this['_buildSeqKey'](_0x19312e['resource'],_0x35ff1b),_0x1aa594=this[_0x379561(0x260)](_0x19312e[_0x379561(0x1f7)],_0x35ff1b),_0x3edd6d=this[_0x379561(0x1e5)](_0x19312e['resource'],_0x35ff1b);return await _0x16a5fe[_0x379561(0x2b6)](_0xecb07a,_0x1aa594,_0x3edd6d),logger['warn']({'event':_0x253437[_0x379561(0x1d3)],'resource':_0x19312e['resource'],'mode':_0x379561(0x2ac),'formatKey':_0x35ff1b},'ID\x20Generator\x20reset:\x20'+_0x19312e[_0x379561(0x1f7)]+':'+_0x35ff1b),{'reset':!![],'resource':_0x19312e[_0x379561(0x1f7)],'mode':'number','formatKey':_0x35ff1b,'deletedKeys':[_0x379561(0x25b),_0x253437['bbjHR'],_0x253437['UQHrc']]};}if(_0x33011a===_0x253437['hhKfj']){const _0x46630a=this['_buildIssuedKey'](_0x19312e['resource']);return await _0x16a5fe['del'](_0x46630a),logger[_0x379561(0x2e9)]({'event':_0x253437['QrIhn'],'resource':_0x19312e['resource'],'mode':_0x253437['hhKfj']},_0x379561(0x1f3)+_0x19312e['resource']),{'reset':!![],'resource':_0x19312e['resource'],'mode':_0x379561(0x284),'deletedKeys':[_0x253437['YrKsO']]};}throw new IdGeneratorError('IDGEN_INVALID_MODE','Unknown\x20mode:\x20'+_0x33011a);}}const instance=new IdGenerator();instance['IdGeneratorError']=IdGeneratorError,module['exports']=instance,module[a0_0x35aca2(0x254)][a0_0x35aca2(0x265)]=IdGeneratorError;function a0_0x1694(){const _0x27b017=['EMnHCMq','x3zHBgLKyxrLuMvZB3vYy2u','surhru5Frevgqvvmvf9trvjjquXFuefuvevstG','BwvZC2fNzq','x3zHBgLKyxrLugf0DgvYBG','yxHYDMi','AM9PBG','zMLkEwq','x2DLBMvYyxrLrNjVBvbHDhrLCM4','suqGr2vUzxjHDg9YihjLC2vYDMf0Aw9UignVBMzPCM1LzdOG','ANf6uwK','nZeWoteXoejrBw9cqq','B2HLru4','EfPxywi','BKHPsu4','C3jLBq','surhru5Fq09vtLrfuL9pvKvsrKXpvW','surhru5Fsu5wquXjrf9srvnfuLzfx1ruta','surhru5Fsu5wquXjrf9quKvgsvG','x2j1AwXKqwn0AxzLs2v5','Cgf0DgvYBG','AwrNzw5FCMvZzxj2zv9PzgvTx2XVC2vY','zgf0zvbYzwzPEa','vNvVuMC','r1n4AKy','y291BNrLCKLUDcbTDxn0igjLihbVC2L0AxzLigLUDgvNzxiGkgDVDdOG','surhru5Fsu5wquXjrf9trvbbuKfut1i','x2rLzMf1BhrqAw5eAwDPDhm','CMvWzwf0','CMfUzg9T','x2DLDenVDw50zxjuveW','x3L5ExLTBv8','AwrNzw5FCMvZzxj2yxrPB25Fy29UzMLYBwvK','BgvUz3rO','CMvZzxj2zq','x2j1AwXKuMvZzxj2yxrPB25lzxLqCMvMAxG','DhrS','x2vUC3vYzuLUAxrPywXPEMvK','z2vUzxjHDgvKqxq','ndbpqLfzwhu','sw52ywXPzcbPzgvTCg90zw5JEuTLEtOGBxvZDcbIzsbZDhjPBMCGms0','CMy6AwrNzw46','zw5HyMXLza','wgvUvuO','z2v0rgf0zq','uurWwxy','x2j1AwXKuMvZzxj2yxrPB25lzxK','sw52ywXPzcbUDw1Izxi6ig11C3qGyMuGBM9UlwvTChr5ihn0CMLUzW','ENz6v2S','cNjLzgLZlMnHBgWOj1PbreqNlcblrvLtwZfDlcbbuKDwwZfDlcbbuKDwwZfDkqPSB2nHBcb0DgWGpsb0B251BwjLCIHbuKDwwZjDkqPPzIb0DgWGpIaWihrOzw4kicbYzwrPCY5JywXSkcDfwfbjuKuNlcblrvLtwZfDlcb0DgWPcMvUzaPYzxr1CM4GmqO','AxnszxvZzwq','x2TLEvbYzwzPEa','ignOyxjZ','zxHWAxjLC0f0','x3zHBgLKyxrLtwf4uMv0CNK','mJm2ntm2mhDrq3HQEq','ChjLzML4','x3vUzg9syw5KB21szxnLCNzHDgLVBG','AwrNzw5FBNvTyMvYx2DLBMvYyxrLza','AwrNzw5FCMvZzxj2zv9PzgvTx2XVC2vYx2nHBMnLBf9LCNjVCG','CNn2s2v5','Dg9ju09tDhjPBMC','zgvMyxvSDe1HEfjLDhj5','Chr0Ba','B0X2zvm','zw5ZDxjLvw5PCxvL','x3jLC2vYDMvezwzHDwX0vfrm','x2j1AwXKuMvZzxj2yxrPB25jBMrLEeTLEq','x3zHBgLKyxrLtNvTyMvYugfYyw1Z','BNvTyMvY','suqGr2vUzxjHDg9Yig51BwjLCIbYzxnLCNzLzdOG','x2j1AwXKrM9YBwf0s2v5','x2rLzMf1BhrtzxjPywXqyxr0zxjU','A2z1yxG','swrLBxbVDgvUy3KGu0vuie5yigvYCM9Y','uMvZzxj2yxrPB24GBM90igzVDw5Kig9YigfSCMvHzhKGy29UC3vTzwq6ia','AwrNzw4','suqGr2vUzxjHDg9Yig51BwjLCIbPzgvTihjHy2uGBg9ZDcWGCMv0DxjUAw5NihDPBM5LCIbLBNzLBg9Wzq','AwrNzw5FBNvTyMvYx3jLC2vYDMvK','zgvS','AwrNzw5FAwrLBv9SB3nLCL9YzwXLyxnLx2vYCM9Y','zhPPvhe','mdeYmZq1nJC4owfIy2rLzG','qKjSqLK','sfHJCuq','x3jLC2vYDMvnyxHuveW','z2v0q2XPzw50','x2rLzMf1BhrdB2rLugf0DgvYBG','CNn2swr4s2v5','wKTPvwi','sw52ywXPzcbZzxbHCMf0B3i6ig1HEcaZignOyxiSig11C3qGBM90ignVBNrHAw4GjZONicHNB3q6ia','rhr0vuW','surhru5FuKvtrvjwrv9eruzbvuXux1ruta','C1neqvy','surhru5Fsurftv9uveW','CMfUzg9Tvvvjra','x3zHBgLKyxrLuMvZzxj2yxrPB25uB2TLBG','ExL5Ew1T','AgDLDgfSBa','zNPIwuu','teHICxG','x2DLDfjLC2vYDMf0Aw9Uq29UDgv4Da','y3blDNu','uKzNA2O','x2LUAxrPywXPEMvK','surhru5FuKvtrvjwqvrjt05FtK9ux0zpvu5e','sLPltNi','DMfSDwuGAxmGCMvXDwLYzwq','suqGr2vUzxjHDg9YignVBMzPzYbPBML0AwfSAxPLzcaTigvUywjSzwq6ia','ExL5Eq','CMvZzxj2zv9LEhrLBMq','CMfUzg9Tsw50','CNn2oG','ENjHBMDL','AwrNzw5FCMfUzg9Tx3vUzg9FzxjYB3i','x3n0B3jLswrLBunHy2HLtLG','ChvZAa','C3rYAw5N','v2PTAuC','surhru5Fsu5wquXjrf9ovu1crvi','zxHLyW','q291BNrLCIbVDMvYzMXVDZOG','swjSAKq','A2fnuee','ExL5Ew1Tzgq','BLPgCLi','x2LUAxrdB25MAwC','zw52','sw52ywXPzcbTyxHszxrYEtOGBxvZDcbIzsbPBNrLz2vYideT','Aw5MBW','D2fYBG','CgfKzgvKicHNB3q6ia','t3zMrvC','C3rVCMvK','Dg9mB3DLCKnHC2u','wNPkquO','sKTWwuS','AxnZDwvK','z2Ldr0S','rw1SsMG','tNvTyMvYigrVzxmGBM90ig1HDgnOigv4CgvJDgvKigzVCM1HDcaOz290oIa','AwrNzw5Fy29UC3vTzwq','DMfSDwu','AwrNzw5FAwrLBv9UEf9YywnLx2XVC3rFyNv0x2vTChr5','surhru5Fsu5wquXjrf9gt1jnqvq','zxHWAxjL','AwrNzw5FCMvZzxj2zv92ywX1zv9WzxjZAxn0x2vYCM9Y','AwrLBxbVDgvUy3LlzxK','x3bHzdi','y29Kzq','AwrNzw5FCMvZzxq','sw52ywXPzcbYzxnLCNzHDgLVBIb0DgW6ig11C3qGyMuGAw50zwDLCIa','Auj4wNy','uenZruK','uxjjAg4','t2LXve0','rKTfzNG','zgLNAxrZ','x3n0B3jLswrLBunHy2HL','mZaZmZyZnKH2DLLJrq','x2nVDw50zxjuveXnyxa','AwrNzw5FAwrLBv9YzxrYAwv2zv9LCNjVCG','x2fSBg93uMvZzxq','surhru5Fsu5wquXjrf9uveW','x3jLDhjPzxzLswrLBunHy2HL','tNvTyMvYigrVzxmGBM90ig1HDgnOigv4CgvJDgvKihrLEhqGzM9YBwf0icHNB3q6ia','rMfPBgvKihrVignVBxbLBNnHDguGCMvZzxj2yxrPB24Gywz0zxiGy291BNrLCIbVDMvYzMXVDW','Bw9Kzq','CMvZzxj2zu1HEfruta','zxzHBa','x2rLzMf1BhrnyxHszxrYEq','AwrNzw5FBNvTyMvYx3jLBgvHC2vK','x2j1AwXKtwv0yuTLEq','icH0B2TLBJ0','suqGr2vUzxjHDg9YigLZigrPC2fIBgvK','AwrNzw5FBNvTyMvYx2LKzw1FBg9Zzxi','CgLU','surhru5Frevgqvvmvf9nqvHFuKvuuLK','DgvZDa','AxnjBNrLz2vY','surhru5FquXmt1DFuKvtrvq','Dg9Rzw4','y291BNrLCKLUDa','C3rYAw5NAwz5','rwTKDMK','surhru5Fsu5wquXjrf9srvnpvvjdrq','suqGr2vUzxjHDg9YihjLC2v0oIbYyw5KB206','tfLkDxC','lcbNB3qG','yNvPBgrezxrLCM1PBMLZDgLJs2v5','CMvZB3vYy2u','BNvTrgLNAxrZ','zgvMyxvSDenVzgvqyxr0zxjU','BhPgy0q','rLDiBMG','CMvZzxj2zu51BwjLCG','BMfTzq','vw5RBM93BIbMB3jTyxq6ia','x2vUywjSzwq','yK5HAM8','surhru5FuKvtrvrFtK9ux0fmte9xruq','AwrNzw5FAwrLBv9ZDg9Yzv9LCNjVCG','AwrNzw5FAwrLBv9ZDg9Yzw54x2vYCM9Y','surhru5Fru5bqKXfra','y29UzMLYBvjLC2vYDMf0Aw9U','tvPezMS','suqGr2vUzxjHDg9Yig51BwjLCJOG','uuLLA3e','C2v0','wuXyAe8','Dgv4Da','A2v5CW','CgvLAW','CMvSzwfZzq','surhru5FreLtqujmruq','Bwf0y2G','ywXS','C2nHCMq','Dhj1zq','mtG0nJq4vwfVBLrZ','CMvZzxj2zv9Jyw5JzwW','CejcC1y','x2zVCM1HDe51BwjLCG','AwrNzw5FBwv0yv91CgrHDgvFzxjYB3i','x2j1AwXKsxnZDwvKs2v5','sw52ywXPzcb0DgW6ig11C3qGyMuGAw50zwDLCIaXlq','C2vWyxjHDg9Y','rxLICu8','swDvwfO','rujfywC','uMfUzg9TihjLC2vYDMf0Aw9UihvUzg8GzxjYB3iGkg9YCgHHBIbZBg90ig1HEsbYzw1HAw4P','BM93','AgfZ','CgfYC2u','D3nOBu4','surhru5Fsu5wquXjrf9nqvHFuKvuuLK','mta1nti4nxbptKXgwq','tezUCMe','surhru5Fsu5wquXjrf9qqvrurvjo','mZnUAxr6ELa','Bwf4uMv0CNK','CMvSzwfZzwrbDa','x3vWzgf0zu1LDge','CMvZzxj2zv9JB25MAxjT','twv0ysb1CgrHDguGzxjYB3i','igrPz2L0CYaOz290oIa','nNWXFdeWFdH8oxWYFdD8nxWWFdeXFdr8mW','sw52ywXPzcbWCMvMAxG6ig11C3qGBwf0y2GG','zM9YBwf0s2v5','x3zHBgLKyxrLswrLBxbVDgvUy3LlzxK','refZzeG','zgvMyxvSDfbPBKrPz2L0CW','lwrPz2L0ignHCgfJAxr5icG','BhDsDgu','mZG5ndG1nKf6AejnCq','C29uzeG','y291BNrLCG','sw52ywXPzcbUDw1eAwDPDhm6ig11C3qGyMuGAw50zwDLCIa','tNvTyMvYihbYzwzPEcbTAxnTyxrJAdOGzxHWzwn0zwqG','vhPtAfe','wfHywc1ywfHylvHywfGTwfHywa','y0PWEvq','ywn0AxzLoG','AwrLBuTLEq','surhru5FuKvtrvjwrv9nqvHFvfrm','zKjWBxK','D2LUBMvYuMvZDwX0','DKfbuhO','EfHfvxi','sfb2AvC','lcaR','suqGr2vUzxjHDg9YigLZigrPC2fIBgvKicHZzxqGsurhru5Fru5bqKXfrd10CNvLkq','mJC5mdy2tunRDerP','z2v0rNvSBfLLyxi','thL3BMq','wgrYBxq','z2v0sw5MBW','sw52ywXPzcbWyxr0zxjUoIbTDxn0ignVBNrHAw4GyxqGBgvHC3qGB25LihbSywnLAg9SzgvYignOyxjHy3rLCIaOos9ol0eVys9ml1GVEc9il2GP','icHNB3q6ia','sw52ywXPzcbWyxr0zxjUoIbTDxn0igjLihn0CMLUzYaXlq','wwnMAvm','CMvZzxj2zurLzMf1BhruveW','zgvMyxvSDfnLCMLHBfbHDhrLCM4','zxHWB3j0CW','AeHbB0S','sw52ywXPzcbYzxnVDxjJztOGBxvZDcbTyxrJAca','surhru5Fvu5juvvfx1jfvfjzx0vysefvu1rfra','x3L5ExLTBwrKxW','x2LKzw1uveW','x3zHBgLKyxrLuMvZzxj2zvruta','C2vX','zM9YBwf0','surhru5Fsu5wquXjrf9nt0rf','igv4y2vLzhmG','AxjTuMS','x2j1AwXKuMv1C2vlzxK','A2v5uhjLzML4','Bw5bu2i','yLrmy1K','ihnLy29UzhmGkgDVDdOG','swrhzw5LCMf0B3jfCNjVCG','A1rOuhu'];a0_0x1694=function(){return _0x27b017;};return a0_0x1694();}
@@ -1 +1 @@
1
- 'use strict';const a0_0x24c687=a0_0x5e70;(function(_0x242ffb,_0x2203c6){const _0x48d031=a0_0x5e70,_0x8f4bea=_0x242ffb();while(!![]){try{const _0x11ab5e=-parseInt(_0x48d031(0xee))/0x1+-parseInt(_0x48d031(0xe3))/0x2*(parseInt(_0x48d031(0xdb))/0x3)+parseInt(_0x48d031(0xd8))/0x4*(parseInt(_0x48d031(0xe4))/0x5)+parseInt(_0x48d031(0xe5))/0x6+-parseInt(_0x48d031(0xed))/0x7+-parseInt(_0x48d031(0xe2))/0x8+parseInt(_0x48d031(0xde))/0x9;if(_0x11ab5e===_0x2203c6)break;else _0x8f4bea['push'](_0x8f4bea['shift']());}catch(_0x378efe){_0x8f4bea['push'](_0x8f4bea['shift']());}}}(a0_0x3fc8,0x75e7c));function a0_0x3fc8(){const _0x7b5e5a=['x2LUAxrPywXPEMvK','ALfhu20','zMLSDgvY','Dw5RBM93BG','yNvPBgrlzxK','BwvZC2fNzq','swrLBxbVDgvUy3KGy29UzMLNDxjHDgLVBIbPBML0AwfSAxPLzcaTigvUywjSzwq6ia','x3r0Ba','C3rYAw5NAwz5','AwrLBxbVDgvUy3LFy29UzMLNx2LUAxq','x2vUC3vYzuLUAxrPywXPEMvK','Dhj1zq','rg9oDwO','CMv0CMLLDMu','v05tBeO','lI9YzwrPCY1JBgLLBNq','C3rVCMu','D2PbB1u','C3bSAxq','mti0A1fmzLjP','swrLBxbVDgvUy3KGy2fJAguGseLu','zw5HyMXLza','mtGXodyZtuPQuwru','z2vUzxjHDgvlzxK','AwrLBxbVDgvUy3LFAgL0','nJe5mJqYm3Pqywfpyq','x2vUywjSzwq','v2jmvxq','DhrS','ntuZotKYzw9fsLHz','mJHJu01isuK','mta5otKWD1rIsg5N','mZG1oduYmLzPzgvizq','x2LUAxrdB25MAwC','C2v0zxG','Aw5MBW','Cgf0Aa','surftvbpvevoq1LFvfrm','sKvAvKW','AxnfBMfIBgvK','mtq0nZm2ow9MrwXYsW','nda1ndiYvKnIrgTW'];a0_0x3fc8=function(){return _0x7b5e5a;};return a0_0x3fc8();}const redisClient=require(a0_0x24c687(0xfe)),{logger}=require('./logger'),crypto=require('crypto');function a0_0x5e70(_0x11cb5b,_0x5bf077){_0x11cb5b=_0x11cb5b-0xd8;const _0x3fc893=a0_0x3fc8();let _0x5e7019=_0x3fc893[_0x11cb5b];if(a0_0x5e70['GYTVjK']===undefined){var _0xa27d86=function(_0x4ea6d9){const _0x37d336='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x55c3a5='',_0x68b8fc='';for(let _0x63127e=0x0,_0x1ce7b9,_0x16f3aa,_0x20e1fb=0x0;_0x16f3aa=_0x4ea6d9['charAt'](_0x20e1fb++);~_0x16f3aa&&(_0x1ce7b9=_0x63127e%0x4?_0x1ce7b9*0x40+_0x16f3aa:_0x16f3aa,_0x63127e++%0x4)?_0x55c3a5+=String['fromCharCode'](0xff&_0x1ce7b9>>(-0x2*_0x63127e&0x6)):0x0){_0x16f3aa=_0x37d336['indexOf'](_0x16f3aa);}for(let _0x1a8b17=0x0,_0x28c645=_0x55c3a5['length'];_0x1a8b17<_0x28c645;_0x1a8b17++){_0x68b8fc+='%'+('00'+_0x55c3a5['charCodeAt'](_0x1a8b17)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x68b8fc);};a0_0x5e70['FwlQJg']=_0xa27d86,a0_0x5e70['xolUdz']={},a0_0x5e70['GYTVjK']=!![];}const _0x502b57=_0x3fc893[0x0],_0xe60761=_0x11cb5b+_0x502b57,_0x33ed73=a0_0x5e70['xolUdz'][_0xe60761];return!_0x33ed73?(_0x5e7019=a0_0x5e70['FwlQJg'](_0x5e7019),a0_0x5e70['xolUdz'][_0xe60761]=_0x5e7019):_0x5e7019=_0x33ed73,_0x5e7019;}class IdempotencyManager{constructor(){const _0x286b66=a0_0x24c687;this['_enabled']=null,this['_ttl']=null,this[_0x286b66(0xef)]=![];}[a0_0x24c687(0xe6)](){const _0x41baa8=a0_0x24c687,_0x121760={'PxCAj':function(_0x3dd8e0,_0x56b713,_0x2bcc53){return _0x3dd8e0(_0x56b713,_0x2bcc53);},'WNSlJ':_0x41baa8(0xf8)};this[_0x41baa8(0xdf)]=process['env']['IDEMPOTENCY_ENABLED']===_0x41baa8(0xfa),this[_0x41baa8(0xf6)]=_0x121760['PxCAj'](parseInt,process['env'][_0x41baa8(0xea)],0xa)||0x12c,this['_initialized']=!![],logger['info']({'event':_0x121760[_0x41baa8(0xfd)],'enabled':this['_enabled'],'ttl':this['_ttl']},_0x41baa8(0xf5)+this['_enabled']+',\x20TTL:\x20'+this[_0x41baa8(0xf6)]+'s');}['_ensureInitialized'](){!this['_initialized']&&this['_initConfig']();}get['enabled'](){return this['_ensureInitialized'](),this['_enabled'];}get[a0_0x24c687(0xe1)](){const _0x2292d2=a0_0x24c687;return this[_0x2292d2(0xf9)](),this[_0x2292d2(0xf6)];}[a0_0x24c687(0xec)](){const _0x2f737a=a0_0x24c687;return this[_0x2f737a(0xda)];}[a0_0x24c687(0xf3)](_0xfe98db,_0x95bbd){const _0x1ce894=a0_0x24c687,_0x3b7b57={'WbLUt':'default','wjAoU':'unknown'},_0x39dd27=_0x95bbd[_0x1ce894(0xe9)][_0x1ce894(0x101)]('/')[_0x1ce894(0xf1)](Boolean),_0x2472ac=_0x39dd27[0x0]||_0x3b7b57[_0x1ce894(0xe0)],_0x42fc0b=_0x39dd27[0x1]||_0x1ce894(0xf2),_0x2f45c9=_0x39dd27[0x2]||_0x3b7b57[_0x1ce894(0x100)];return'rf:idem:'+_0x2472ac+':'+_0x42fc0b+':'+_0x2f45c9+':'+_0xfe98db;}async[a0_0x24c687(0xff)](_0x1b00f1,_0x488df4){const _0x278350=a0_0x24c687,_0x155093={'AkEyC':'idempotency_store','DoNuj':'Idempotency\x20response\x20stored'};if(!this[_0x278350(0xda)])return![];try{const _0x459591=redisClient['getClient']();return await _0x459591[_0x278350(0xe7)](_0x1b00f1,this[_0x278350(0xe1)],JSON[_0x278350(0xf7)](_0x488df4)),logger['debug']({'event':_0x155093['AkEyC'],'key':_0x1b00f1,'ttl':this['ttl'],'statusCode':_0x488df4['statusCode']},_0x155093[_0x278350(0xfb)]),!![];}catch(_0x3048a7){return logger['error']({'event':'idempotency_store_error','key':_0x1b00f1,'error':_0x3048a7['message']},'Idempotency\x20store\x20error:\x20'+_0x3048a7[_0x278350(0xf4)]),![];}}async[a0_0x24c687(0xfc)](_0xc9149){const _0x478ba0=a0_0x24c687,_0x94c434={'JEZVL':_0x478ba0(0xdd),'jQGSm':'idempotency_retrieve_error'};if(!this[_0x478ba0(0xda)])return null;try{const _0xe051b1=redisClient['getClient'](),_0x2e603e=await _0xe051b1['get'](_0xc9149);if(_0x2e603e)return logger[_0x478ba0(0xe8)]({'event':_0x94c434[_0x478ba0(0xeb)],'key':_0xc9149},_0x478ba0(0xd9)),JSON['parse'](_0x2e603e);return logger['debug']({'event':'idempotency_miss','key':_0xc9149},'Idempotency\x20cache\x20MISS'),null;}catch(_0x1e849b){return logger['error']({'event':_0x94c434[_0x478ba0(0xf0)],'key':_0xc9149,'error':_0x1e849b['message']},'Idempotency\x20retrieve\x20error:\x20'+_0x1e849b[_0x478ba0(0xf4)]),null;}}[a0_0x24c687(0xdc)](_0x1b4c68='req'){return _0x1b4c68+'_'+crypto['randomUUID']();}['buildDeterministicKey'](_0x40df7a,_0x28d146,_0x5d5e8f){return _0x40df7a+':'+_0x28d146+':'+_0x5d5e8f;}}module['exports']=new IdempotencyManager();
1
+ 'use strict';const a0_0xe33c9d=a0_0x4368;(function(_0x2f5dd7,_0x271335){const _0x96cdb3=a0_0x4368,_0x32211e=_0x2f5dd7();while(!![]){try{const _0x4517c0=parseInt(_0x96cdb3(0x1eb))/0x1+-parseInt(_0x96cdb3(0x1db))/0x2*(parseInt(_0x96cdb3(0x1d1))/0x3)+parseInt(_0x96cdb3(0x1d5))/0x4*(-parseInt(_0x96cdb3(0x1ce))/0x5)+parseInt(_0x96cdb3(0x1ed))/0x6+parseInt(_0x96cdb3(0x1d6))/0x7+-parseInt(_0x96cdb3(0x1d2))/0x8*(-parseInt(_0x96cdb3(0x1d8))/0x9)+-parseInt(_0x96cdb3(0x1d7))/0xa*(-parseInt(_0x96cdb3(0x1f1))/0xb);if(_0x4517c0===_0x271335)break;else _0x32211e['push'](_0x32211e['shift']());}catch(_0x172015){_0x32211e['push'](_0x32211e['shift']());}}}(a0_0x328c,0x5b3ee));const redisClient=require(a0_0xe33c9d(0x1e3)),{logger}=require(a0_0xe33c9d(0x1da)),crypto=require('crypto');class IdempotencyManager{constructor(){const _0x215a4a=a0_0xe33c9d;this[_0x215a4a(0x1ee)]=null,this[_0x215a4a(0x1e6)]=null,this[_0x215a4a(0x1cf)]=![];}[a0_0xe33c9d(0x1e2)](){const _0x2677ad=a0_0xe33c9d,_0x529330={'hFyCF':'true','ykNCw':function(_0x5d6bfe,_0x334a87,_0x5d865f){return _0x5d6bfe(_0x334a87,_0x5d865f);},'LqHNj':'idempotency_config_init'};this[_0x2677ad(0x1ee)]=process['env']['IDEMPOTENCY_ENABLED']===_0x529330[_0x2677ad(0x1df)],this['_ttl']=_0x529330[_0x2677ad(0x1e7)](parseInt,process[_0x2677ad(0x1ca)]['IDEMPOTENCY_TTL'],0xa)||0x12c,this['_initialized']=!![],logger['info']({'event':_0x529330['LqHNj'],'enabled':this['_enabled'],'ttl':this[_0x2677ad(0x1e6)]},_0x2677ad(0x1e0)+this['_enabled']+_0x2677ad(0x1e9)+this[_0x2677ad(0x1e6)]+'s');}[a0_0xe33c9d(0x1dc)](){const _0x2b7bba=a0_0xe33c9d;!this[_0x2b7bba(0x1cf)]&&this['_initConfig']();}get[a0_0xe33c9d(0x1cb)](){return this['_ensureInitialized'](),this['_enabled'];}get[a0_0xe33c9d(0x1d0)](){const _0x23dd7b=a0_0xe33c9d;return this['_ensureInitialized'](),this[_0x23dd7b(0x1e6)];}[a0_0xe33c9d(0x1f0)](){return this['enabled'];}['buildKey'](_0x3fc99d,_0x2245bc){const _0x5c3acf=a0_0xe33c9d,_0x573b2f={'yjHGN':_0x5c3acf(0x1de),'bCwVH':'unknown'},_0x3db8e3=_0x2245bc['path'][_0x5c3acf(0x1dd)]('/')[_0x5c3acf(0x1f5)](Boolean),_0x3216dc=_0x3db8e3[0x0]||_0x573b2f[_0x5c3acf(0x1ea)],_0x3ad038=_0x3db8e3[0x1]||_0x5c3acf(0x1d9),_0x3482df=_0x3db8e3[0x2]||_0x573b2f[_0x5c3acf(0x1f6)];return'rf:idem:'+_0x3216dc+':'+_0x3ad038+':'+_0x3482df+':'+_0x3fc99d;}async[a0_0xe33c9d(0x1e5)](_0x5bba66,_0x142bd1){const _0x443e11=a0_0xe33c9d,_0x42e117={'XAZVW':'idempotency_store'};if(!this[_0x443e11(0x1cb)])return![];try{const _0x57beb1=redisClient['getClient']();return await _0x57beb1[_0x443e11(0x1d3)](_0x5bba66,this['ttl'],JSON['stringify'](_0x142bd1)),logger[_0x443e11(0x1d4)]({'event':_0x42e117[_0x443e11(0x1cd)],'key':_0x5bba66,'ttl':this['ttl'],'statusCode':_0x142bd1['statusCode']},'Idempotency\x20response\x20stored'),!![];}catch(_0x1db7f2){return logger['error']({'event':_0x443e11(0x1e1),'key':_0x5bba66,'error':_0x1db7f2['message']},'Idempotency\x20store\x20error:\x20'+_0x1db7f2[_0x443e11(0x1f2)]),![];}}async['retrieve'](_0x538bfd){const _0x3849e8=a0_0xe33c9d,_0x5a4519={'FgQyj':'idempotency_miss'};if(!this['enabled'])return null;try{const _0x5da336=redisClient['getClient'](),_0x21b098=await _0x5da336[_0x3849e8(0x1ec)](_0x538bfd);if(_0x21b098)return logger['info']({'event':'idempotency_hit','key':_0x538bfd},_0x3849e8(0x1e8)),JSON['parse'](_0x21b098);return logger[_0x3849e8(0x1d4)]({'event':_0x5a4519[_0x3849e8(0x1ef)],'key':_0x538bfd},'Idempotency\x20cache\x20MISS'),null;}catch(_0x5dd5c4){return logger['error']({'event':_0x3849e8(0x1cc),'key':_0x538bfd,'error':_0x5dd5c4['message']},'Idempotency\x20retrieve\x20error:\x20'+_0x5dd5c4[_0x3849e8(0x1f2)]),null;}}[a0_0xe33c9d(0x1f3)](_0x301327=a0_0xe33c9d(0x1f4)){const _0x486687=a0_0xe33c9d;return _0x301327+'_'+crypto[_0x486687(0x1e4)]();}['buildDeterministicKey'](_0x27c5dc,_0xd7ee91,_0x3adc40){return _0x27c5dc+':'+_0xd7ee91+':'+_0x3adc40;}}module['exports']=new IdempotencyManager();function a0_0x4368(_0x1c9ab2,_0x344ff8){_0x1c9ab2=_0x1c9ab2-0x1ca;const _0x328cba=a0_0x328c();let _0x436885=_0x328cba[_0x1c9ab2];if(a0_0x4368['Jdkucz']===undefined){var _0x2b5416=function(_0xb38dab){const _0x390a0e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2509c7='',_0x15b1af='';for(let _0x655646=0x0,_0x9c7776,_0x566130,_0x1c84f4=0x0;_0x566130=_0xb38dab['charAt'](_0x1c84f4++);~_0x566130&&(_0x9c7776=_0x655646%0x4?_0x9c7776*0x40+_0x566130:_0x566130,_0x655646++%0x4)?_0x2509c7+=String['fromCharCode'](0xff&_0x9c7776>>(-0x2*_0x655646&0x6)):0x0){_0x566130=_0x390a0e['indexOf'](_0x566130);}for(let _0x3bc75f=0x0,_0x283565=_0x2509c7['length'];_0x3bc75f<_0x283565;_0x3bc75f++){_0x15b1af+='%'+('00'+_0x2509c7['charCodeAt'](_0x3bc75f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x15b1af);};a0_0x4368['ICLUJq']=_0x2b5416,a0_0x4368['GzxcDW']={},a0_0x4368['Jdkucz']=!![];}const _0x544b0c=_0x328cba[0x0],_0x390fd9=_0x1c9ab2+_0x544b0c,_0x193559=a0_0x4368['GzxcDW'][_0x390fd9];return!_0x193559?(_0x436885=a0_0x4368['ICLUJq'](_0x436885),a0_0x4368['GzxcDW'][_0x390fd9]=_0x436885):_0x436885=_0x193559,_0x436885;}function a0_0x328c(){const _0x35a57d=['Dw5RBM93BG','lI9SB2DNzxi','mZHcuK1dt0O','x2vUC3vYzuLUAxrPywXPEMvK','C3bSAxq','zgvMyxvSDa','Aez5q0y','swrLBxbVDgvUy3KGy29UzMLNDxjHDgLVBIbPBML0AwfSAxPLzcaTigvUywjSzwq6ia','AwrLBxbVDgvUy3LFC3rVCMvFzxjYB3i','x2LUAxrdB25MAwC','lI9YzwrPCY1JBgLLBNq','CMfUzg9Tvvvjra','C3rVCMu','x3r0Ba','EwToq3C','swrLBxbVDgvUy3KGy2fJAguGseLu','lcbuveW6ia','EwPir04','mZe4mJaYqvLjBMXL','z2v0','mJCZnda1nMLuBuzfwq','x2vUywjSzwq','rMDrEwO','AxnfBMfIBgvK','mJG2AhDYrKfJ','BwvZC2fNzq','z2vUzxjHDgvlzxK','CMvX','zMLSDgvY','yKn3vKG','zw52','zw5HyMXLza','AwrLBxbVDgvUy3LFCMv0CMLLDMvFzxjYB3i','wefAvLC','mteXmfnqtfbgua','x2LUAxrPywXPEMvK','DhrS','mtaXnJmXBxLQEvH6','mta1ndK2DNzby0fJ','C2v0zxG','zgvIDwC','nda5mKzTtxjjCW','ntuXmZa2zvrOCwv4','otq5mZboENHcu0u','otLhDw1yyK8'];a0_0x328c=function(){return _0x35a57d;};return a0_0x328c();}
@@ -1 +1 @@
1
- const a0_0x4ef084=a0_0x28f4;(function(_0x140319,_0xd9ead7){const _0x145888=a0_0x28f4,_0x186259=_0x140319();while(!![]){try{const _0xf18dc4=-parseInt(_0x145888(0x1c2))/0x1+parseInt(_0x145888(0x1cb))/0x2*(parseInt(_0x145888(0x1bf))/0x3)+-parseInt(_0x145888(0x1d7))/0x4+parseInt(_0x145888(0x1d0))/0x5+-parseInt(_0x145888(0x1c8))/0x6*(-parseInt(_0x145888(0x1d4))/0x7)+-parseInt(_0x145888(0x1d8))/0x8+parseInt(_0x145888(0x1d5))/0x9*(parseInt(_0x145888(0x1ba))/0xa);if(_0xf18dc4===_0xd9ead7)break;else _0x186259['push'](_0x186259['shift']());}catch(_0x47ca65){_0x186259['push'](_0x186259['shift']());}}}(a0_0x1271,0x1a3ca));function a0_0x28f4(_0x9bf2a,_0x12dd2f){_0x9bf2a=_0x9bf2a-0x1ba;const _0x1271c0=a0_0x1271();let _0x28f4c7=_0x1271c0[_0x9bf2a];if(a0_0x28f4['riKGnZ']===undefined){var _0x2f2c48=function(_0x5a4e8d){const _0x174dac='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x61a17e='',_0x1b5b0c='';for(let _0x384ffe=0x0,_0xf844f1,_0x8c056c,_0x8facd1=0x0;_0x8c056c=_0x5a4e8d['charAt'](_0x8facd1++);~_0x8c056c&&(_0xf844f1=_0x384ffe%0x4?_0xf844f1*0x40+_0x8c056c:_0x8c056c,_0x384ffe++%0x4)?_0x61a17e+=String['fromCharCode'](0xff&_0xf844f1>>(-0x2*_0x384ffe&0x6)):0x0){_0x8c056c=_0x174dac['indexOf'](_0x8c056c);}for(let _0x579c61=0x0,_0x351940=_0x61a17e['length'];_0x579c61<_0x351940;_0x579c61++){_0x1b5b0c+='%'+('00'+_0x61a17e['charCodeAt'](_0x579c61)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1b5b0c);};a0_0x28f4['mUpJCZ']=_0x2f2c48,a0_0x28f4['cyffvV']={},a0_0x28f4['riKGnZ']=!![];}const _0x3fe7ab=_0x1271c0[0x0],_0x523f65=_0x9bf2a+_0x3fe7ab,_0x1a73b9=a0_0x28f4['cyffvV'][_0x523f65];return!_0x1a73b9?(_0x28f4c7=a0_0x28f4['mUpJCZ'](_0x28f4c7),a0_0x28f4['cyffvV'][_0x523f65]=_0x28f4c7):_0x28f4c7=_0x1a73b9,_0x28f4c7;}const {logger}=require(a0_0x4ef084(0x1c0));function a0_0x1271(){const _0x4db5b3=['BgvUz3rO','CMvXDwLYzwq','otbdywrTtMS','lI9SB2DNzxi','AM9PBG','mtK0nZmZzfHSsMLI','yMf0y2HwywXPzgf0zvjVD3m','qMf0y2GGDMfSAwrHDgLVBIbJB21WBgv0zwq','sw52ywXPzcbWAg9UzsbMB3jTyxq','zM9YrwfJAa','yMf0y2HFDMfSAwrHDgLVBL9JB21WBgv0zq','mJC2nZiWufH0z3Lx','yLzVv1a','A2v5CW','nduZngntu1rKqG','DMfSAwrHDgvfBwfPBa','sw52ywXPzcbLBwfPBcbMB3jTyxq','z2v0','AgfZ','nZeYoti1DuTgzw1S','C0PYCxe','uMvXDwLYzwqGzMLLBgqGAxmGzw1WDhK','ChvZAa','mJHyBeXnu2G','ovLmrfzYqW','DMfSAwrHDgvsB3C','mZe2oty0B3rVEhHt','mJGYmZC2quPYDNLb','DgvZDa','zuzqqKW','rwvTCuC','mJe2nJiWrg9czNvO','DMfSAwrHDgvgAwvSzezVCM1HDa','zgv0zwn0rhvWBgLJyxrLC0LUrMLSzq'];a0_0x1271=function(){return _0x4db5b3;};return a0_0x1271();}class ImportValidator{['validateRow'](_0x4f0c8d,_0x3e6d26=[],_0x229f40={}){const _0x5b98a8=a0_0x4ef084,_0x29078c={'XTVcB':function(_0x28b828,_0x3bf582){return _0x28b828===_0x3bf582;},'eFPBL':function(_0x3a9d28,_0x163ba7){return _0x3a9d28===_0x163ba7;}},_0x4f1281=[];return _0x3e6d26['forEach'](_0x558d2a=>{const _0x28d96d=a0_0x28f4,_0x1c0a0d=_0x4f0c8d[_0x558d2a];(_0x1c0a0d===null||_0x29078c['XTVcB'](_0x1c0a0d,undefined)||_0x1c0a0d==='')&&_0x4f1281['push']({'field':_0x558d2a,'type':_0x28d96d(0x1be),'message':_0x28d96d(0x1d2)});}),Object[_0x5b98a8(0x1ca)](_0x229f40)['forEach'](_0x324fcf=>{const _0x2b4da4=_0x5b98a8,_0x446844=_0x4f0c8d[_0x324fcf],_0x2a3ac1=_0x229f40[_0x324fcf];if(_0x446844===null||_0x29078c[_0x2b4da4(0x1da)](_0x446844,undefined)||_0x446844==='')return;const _0x46a2a8=this[_0x2b4da4(0x1bb)](_0x324fcf,_0x446844,_0x2a3ac1);_0x46a2a8&&_0x4f1281['push'](_0x46a2a8);}),_0x4f1281;}['validateFieldFormat'](_0x2d49b0,_0x343382,_0x529bb5){const _0x3bdc47=a0_0x4ef084,_0x50bb05={'kOZXf':'email','bVoWP':'phone'};switch(_0x529bb5){case _0x50bb05['kOZXf']:return this[_0x3bdc47(0x1cc)](_0x2d49b0,_0x343382);case _0x50bb05[_0x3bdc47(0x1c9)]:return this['validatePhone'](_0x2d49b0,_0x343382);case'url':return this['validateUrl'](_0x2d49b0,_0x343382);case'number':return this['validateNumber'](_0x2d49b0,_0x343382);default:return null;}}[a0_0x4ef084(0x1cc)](_0x1e59ea,_0x886a23){const _0x164c41=a0_0x4ef084,_0x18eaa8={'EemqG':function(_0x4b639d,_0x43d598){return _0x4b639d(_0x43d598);}},_0x4e5ca1=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;if(!_0x4e5ca1[_0x164c41(0x1d9)](_0x18eaa8[_0x164c41(0x1db)](String,_0x886a23)))return{'field':_0x1e59ea,'type':'format','message':_0x164c41(0x1cd)};return null;}['validatePhone'](_0x4745f1,_0x4dd3f9){const _0x309c1b=a0_0x4ef084,_0x2525b2={'gssGQ':'format'},_0x18d7ef=String(_0x4dd3f9)['replace'](/\s+/g,''),_0x14eafd=/^[\d\+\-\(\)]+$/;if(!_0x14eafd['test'](_0x18d7ef)||_0x18d7ef['length']<0x8)return{'field':_0x4745f1,'type':_0x2525b2['gssGQ'],'message':_0x309c1b(0x1c5)};return null;}['validateUrl'](_0x543fbc,_0x2d5c33){try{return new URL(String(_0x2d5c33)),null;}catch(_0x4bb877){return{'field':_0x543fbc,'type':'format','message':'Invalid\x20URL\x20format'};}}['validateNumber'](_0x597b24,_0x298e28){const _0x465ec2=a0_0x4ef084,_0x5cba50={'iGfNa':function(_0x4fd711,_0x58a42b){return _0x4fd711(_0x58a42b);},'zsZNN':'format','sJrqq':'Invalid\x20number\x20format'};if(_0x5cba50['iGfNa'](isNaN,_0x298e28))return{'field':_0x597b24,'type':_0x5cba50['zsZNN'],'message':_0x5cba50[_0x465ec2(0x1d1)]};return null;}[a0_0x4ef084(0x1bc)](_0x562480,_0xebfbcf){const _0x204694=a0_0x4ef084,_0x257937=new Map(),_0x25b47a=[];return _0x562480[_0x204694(0x1c6)]((_0x2e2327,_0xc6421)=>{const _0x14c900=_0x204694,_0x360f59=_0xebfbcf['map'](_0x3d6647=>_0x2e2327[_0x3d6647])[_0x14c900(0x1c1)]('|');_0x257937[_0x14c900(0x1cf)](_0x360f59)?_0x25b47a['push']({'rowIndex':_0xc6421,'duplicateOf':_0x257937[_0x14c900(0x1ce)](_0x360f59),'key':_0x360f59}):_0x257937['set'](_0x360f59,_0xc6421);}),_0x25b47a;}[a0_0x4ef084(0x1c3)](_0x322df9,_0x4d3986,_0xc4a610){const _0x5a765f=a0_0x4ef084,_0x3411d0={'JRWhp':function(_0xffdde7,_0x3beb57){return _0xffdde7>_0x3beb57;},'OIqXF':_0x5a765f(0x1c4)},_0x484112=[];return _0x322df9['forEach']((_0x1ee62b,_0x4629d5)=>{const _0x387484=_0x5a765f,_0x3e4a4b=this[_0x387484(0x1d6)](_0x1ee62b,_0x4d3986,_0xc4a610);_0x3411d0['JRWhp'](_0x3e4a4b['length'],0x0)&&_0x484112[_0x387484(0x1d3)]({'rowIndex':_0x4629d5,'rowData':_0x1ee62b,'errors':_0x3e4a4b});}),logger['info']({'event':_0x5a765f(0x1c7),'totalRows':_0x322df9[_0x5a765f(0x1bd)],'errorCount':_0x484112['length']},_0x3411d0['OIqXF']),_0x484112;}}module['exports']=new ImportValidator();
1
+ const a0_0x5a1fe9=a0_0x4382;function a0_0x4382(_0xd53588,_0x55b23e){_0xd53588=_0xd53588-0x193;const _0x40602d=a0_0x4060();let _0x438292=_0x40602d[_0xd53588];if(a0_0x4382['gXbXhY']===undefined){var _0x52df72=function(_0x458a3f){const _0x577ab5='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x952f3d='',_0x392d57='';for(let _0x5e6653=0x0,_0x573306,_0x2d38f4,_0x3ca098=0x0;_0x2d38f4=_0x458a3f['charAt'](_0x3ca098++);~_0x2d38f4&&(_0x573306=_0x5e6653%0x4?_0x573306*0x40+_0x2d38f4:_0x2d38f4,_0x5e6653++%0x4)?_0x952f3d+=String['fromCharCode'](0xff&_0x573306>>(-0x2*_0x5e6653&0x6)):0x0){_0x2d38f4=_0x577ab5['indexOf'](_0x2d38f4);}for(let _0xef6e49=0x0,_0x4f9aef=_0x952f3d['length'];_0xef6e49<_0x4f9aef;_0xef6e49++){_0x392d57+='%'+('00'+_0x952f3d['charCodeAt'](_0xef6e49)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x392d57);};a0_0x4382['FoByTP']=_0x52df72,a0_0x4382['EJfOru']={},a0_0x4382['gXbXhY']=!![];}const _0x3c79ea=_0x40602d[0x0],_0x3e440c=_0xd53588+_0x3c79ea,_0x2dc225=a0_0x4382['EJfOru'][_0x3e440c];return!_0x2dc225?(_0x438292=a0_0x4382['FoByTP'](_0x438292),a0_0x4382['EJfOru'][_0x3e440c]=_0x438292):_0x438292=_0x2dc225,_0x438292;}(function(_0x3220cf,_0x1556f5){const _0xdc3d0=a0_0x4382,_0x589d59=_0x3220cf();while(!![]){try{const _0x3381cc=parseInt(_0xdc3d0(0x194))/0x1+-parseInt(_0xdc3d0(0x1af))/0x2+-parseInt(_0xdc3d0(0x1b1))/0x3+parseInt(_0xdc3d0(0x1a1))/0x4+parseInt(_0xdc3d0(0x19b))/0x5*(parseInt(_0xdc3d0(0x19f))/0x6)+-parseInt(_0xdc3d0(0x1a5))/0x7+parseInt(_0xdc3d0(0x1ae))/0x8;if(_0x3381cc===_0x1556f5)break;else _0x589d59['push'](_0x589d59['shift']());}catch(_0x520b2a){_0x589d59['push'](_0x589d59['shift']());}}}(a0_0x4060,0x6cb15));const {logger}=require('./logger');function a0_0x4060(){const _0x524652=['ChvZAa','yMf0y2HwywXPzgf0zvjVD3m','z2v0','nJq1mJyWtKnvDhvI','CgHVBMu','zM9YrwfJAa','Aw5MBW','DMfSAwrHDgvfBwfPBa','DMfSAwrHDgvqAg9Uzq','EhPhsgC','yMf0y2HFDMfSAwrHDgLVBL9JB21WBgv0zq','BwfW','mJm3mdKXmMrbAw5vDW','mZe3mtG2y1zPBgXN','sgjut0u','mtGZotG2neLMz1Pyza','sw52ywXPzcbvuKWGzM9YBwf0','qMf0y2GGDMfSAwrHDgLVBIbJB21WBgv0zwq','zgzWtg8','yxLVEuG','mtCXndq0whjbr3b0','t1rUyxm','DMfSAwrHDgvoDw1Izxi','sw52ywXPzcbWAg9UzsbMB3jTyxq','DgvZDa','sKrkCvq','CMvXDwLYzwq','mta0odiWnu96qM1nvq','AfLguw0','BgvUz3rO','DMfSAwrHDgvsB3C','mJrJy3rkr0W','DMfSAwrHDgvgAwvSzezVCM1HDa','mte1nZzowgnfy2W'];a0_0x4060=function(){return _0x524652;};return a0_0x4060();}class ImportValidator{[a0_0x5a1fe9(0x19e)](_0x5eb8fa,_0x2da17a=[],_0x2f4aab={}){const _0x1fa359=a0_0x5a1fe9,_0x32ac10={'LSvWh':function(_0xba85ae,_0x1e93ef){return _0xba85ae===_0x1e93ef;},'JDJqT':function(_0x49fe44,_0x39bf40){return _0x49fe44===_0x39bf40;},'aJRjD':_0x1fa359(0x19a)},_0x326fa6=[];return _0x2da17a['forEach'](_0xef835=>{const _0x3235a4=_0x1fa359,_0x2bf11d=_0x5eb8fa[_0xef835];(_0x2bf11d===null||_0x32ac10['LSvWh'](_0x2bf11d,undefined)||_0x32ac10[_0x3235a4(0x199)](_0x2bf11d,''))&&_0x326fa6[_0x3235a4(0x1a2)]({'field':_0xef835,'type':_0x32ac10['aJRjD'],'message':'Required\x20field\x20is\x20empty'});}),Object['keys'](_0x2f4aab)[_0x1fa359(0x1a7)](_0x28ccef=>{const _0x45dc1c=_0x1fa359,_0x1b717c=_0x5eb8fa[_0x28ccef],_0xeaa6b0=_0x2f4aab[_0x28ccef];if(_0x32ac10['JDJqT'](_0x1b717c,null)||_0x32ac10['LSvWh'](_0x1b717c,undefined)||_0x32ac10[_0x45dc1c(0x199)](_0x1b717c,''))return;const _0x5630f2=this[_0x45dc1c(0x1a0)](_0x28ccef,_0x1b717c,_0xeaa6b0);_0x5630f2&&_0x326fa6['push'](_0x5630f2);}),_0x326fa6;}[a0_0x5a1fe9(0x1a0)](_0x4e1dc0,_0x276f3d,_0xea768){const _0x3c99a1=a0_0x5a1fe9,_0x10647a={'dfpLo':_0x3c99a1(0x1a6)};switch(_0xea768){case'email':return this['validateEmail'](_0x4e1dc0,_0x276f3d);case _0x10647a[_0x3c99a1(0x1b4)]:return this['validatePhone'](_0x4e1dc0,_0x276f3d);case'url':return this['validateUrl'](_0x4e1dc0,_0x276f3d);case'number':return this[_0x3c99a1(0x196)](_0x4e1dc0,_0x276f3d);default:return null;}}[a0_0x5a1fe9(0x1a9)](_0x59ae70,_0x5f3f8e){const _0x38df04=a0_0x5a1fe9,_0x1c05a9={'ayoyH':function(_0x31891f,_0x99ab15){return _0x31891f(_0x99ab15);},'xzGHg':'Invalid\x20email\x20format'},_0x5f23e=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;if(!_0x5f23e['test'](_0x1c05a9[_0x38df04(0x193)](String,_0x5f3f8e)))return{'field':_0x59ae70,'type':'format','message':_0x1c05a9[_0x38df04(0x1ab)]};return null;}[a0_0x5a1fe9(0x1aa)](_0x3ab03f,_0x30256a){const _0x5066a3=a0_0x5a1fe9,_0x4dd3b7={'ywjBz':function(_0x3e72cc,_0x4eb7d5){return _0x3e72cc(_0x4eb7d5);},'WeNpr':'format'},_0x1f31af=_0x4dd3b7['ywjBz'](String,_0x30256a)['replace'](/\s+/g,''),_0x593133=/^[\d\+\-\(\)]+$/;if(!_0x593133[_0x5066a3(0x198)](_0x1f31af)||_0x1f31af[_0x5066a3(0x19d)]<0x8)return{'field':_0x3ab03f,'type':_0x4dd3b7['WeNpr'],'message':_0x5066a3(0x197)};return null;}['validateUrl'](_0x520baf,_0x17e2e6){const _0x477437=a0_0x5a1fe9,_0x56c941={'OTnas':function(_0x1e98fa,_0x5857eb){return _0x1e98fa(_0x5857eb);},'HbTOE':_0x477437(0x1b2)};try{return new URL(_0x56c941[_0x477437(0x195)](String,_0x17e2e6)),null;}catch(_0x4a69ef){return{'field':_0x520baf,'type':'format','message':_0x56c941[_0x477437(0x1b0)]};}}['validateNumber'](_0x80d8fc,_0x20267c){const _0x25ee1e={'CEkfy':function(_0x48ad80,_0x3a279f){return _0x48ad80(_0x3a279f);}};if(_0x25ee1e['CEkfy'](isNaN,_0x20267c))return{'field':_0x80d8fc,'type':'format','message':'Invalid\x20number\x20format'};return null;}['detectDuplicatesInFile'](_0x3835be,_0x488ac9){const _0x576f31=a0_0x5a1fe9,_0x1533df=new Map(),_0x51b676=[];return _0x3835be[_0x576f31(0x1a7)]((_0x582fd4,_0x589180)=>{const _0x8a71=_0x576f31,_0x7a2510=_0x488ac9[_0x8a71(0x1ad)](_0x17f5ac=>_0x582fd4[_0x17f5ac])['join']('|');_0x1533df['has'](_0x7a2510)?_0x51b676['push']({'rowIndex':_0x589180,'duplicateOf':_0x1533df[_0x8a71(0x1a4)](_0x7a2510),'key':_0x7a2510}):_0x1533df['set'](_0x7a2510,_0x589180);}),_0x51b676;}[a0_0x5a1fe9(0x1a3)](_0x5dc528,_0x137a22,_0x77abf2){const _0x4ff1c6=a0_0x5a1fe9,_0x48af6a={'hYFQm':_0x4ff1c6(0x1ac),'soDRn':_0x4ff1c6(0x1b3)},_0x54d229=[];return _0x5dc528['forEach']((_0x131b5e,_0xaa1175)=>{const _0x463bbc=_0x4ff1c6,_0x75adea=this['validateRow'](_0x131b5e,_0x137a22,_0x77abf2);_0x75adea[_0x463bbc(0x19d)]>0x0&&_0x54d229['push']({'rowIndex':_0xaa1175,'rowData':_0x131b5e,'errors':_0x75adea});}),logger[_0x4ff1c6(0x1a8)]({'event':_0x48af6a[_0x4ff1c6(0x19c)],'totalRows':_0x5dc528['length'],'errorCount':_0x54d229['length']},_0x48af6a['soDRn']),_0x54d229;}}module['exports']=new ImportValidator();