@restforgejs/platform 4.3.2 → 4.3.5

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 (178) hide show
  1. package/build-info.json +2 -2
  2. package/cli/consumer-deploy.js +1 -1
  3. package/cli/consumer.js +1 -1
  4. package/generators/cli/dashboard/create.js +0 -1
  5. package/generators/cli/endpoint/create.js +1 -1
  6. package/generators/lib/generators/model-generator.js +1 -1
  7. package/generators/lib/payload/endpoint-schema-validator.js +181 -171
  8. package/generators/lib/payload/payload-runner.js +1218 -1218
  9. package/generators/lib/payload/schema-diff.js +460 -277
  10. package/generators/lib/templates/dashboard-catalog.js +1 -1
  11. package/generators/lib/templates/db-connection-env.js +1 -1
  12. package/generators/lib/templates/dbschema-catalog.js +1 -1
  13. package/generators/lib/templates/field-validation-catalog.js +1 -1
  14. package/generators/lib/templates/mysql-template.js +1 -1
  15. package/generators/lib/templates/oracle-template.js +1 -1
  16. package/generators/lib/templates/postgres-template.js +1 -1
  17. package/generators/lib/templates/query-declarative-catalog.js +1 -1
  18. package/generators/lib/templates/sqlite-template.js +1 -1
  19. package/generators/lib/utils/conflict-checker.js +9 -57
  20. package/generators/lib/utils/database-introspector.js +84 -0
  21. package/generators/lib/utils/file-utils.js +0 -159
  22. package/generators/lib/utils/payload-processor.js +21 -112
  23. package/integrity-manifest.json +18 -18
  24. package/node_modules/readdir-glob/node_modules/brace-expansion/index.js +1 -1
  25. package/node_modules/readdir-glob/node_modules/brace-expansion/package.json +1 -1
  26. package/package.json +1 -1
  27. package/scripts/verify-integrity.js +1 -1
  28. package/server.js +1 -1
  29. package/src/components/handlers/adjust_handler.js +1 -1
  30. package/src/components/handlers/audit_handler.js +1 -1
  31. package/src/components/handlers/delete_handler.js +1 -1
  32. package/src/components/handlers/export_handler.js +1 -1
  33. package/src/components/handlers/import_handler.js +1 -1
  34. package/src/components/handlers/insert_handler.js +1 -1
  35. package/src/components/handlers/update_handler.js +1 -1
  36. package/src/components/handlers/upload_handler.js +1 -1
  37. package/src/components/handlers/workflow_handler.js +1 -1
  38. package/src/components/integrations/webhook.js +1 -1
  39. package/src/consumers/baseConsumer.js +1 -1
  40. package/src/consumers/declarativeMapper.js +1 -1
  41. package/src/consumers/handlers/apiHandler.js +1 -1
  42. package/src/consumers/handlers/consoleHandler.js +1 -1
  43. package/src/consumers/handlers/databaseHandler.js +1 -1
  44. package/src/consumers/handlers/index.js +1 -1
  45. package/src/consumers/handlers/kafkaHandler.js +1 -1
  46. package/src/consumers/index.js +1 -1
  47. package/src/consumers/messageTransformer.js +1 -1
  48. package/src/consumers/validator.js +1 -1
  49. package/src/core/db/dialect/base-dialect.js +1 -1
  50. package/src/core/db/dialect/index.js +1 -1
  51. package/src/core/db/dialect/mysql-dialect.js +1 -1
  52. package/src/core/db/dialect/oracle-dialect.js +1 -1
  53. package/src/core/db/dialect/postgres-dialect.js +1 -1
  54. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  55. package/src/core/db/flatten-helper.js +1 -1
  56. package/src/core/db/query-builder-error.js +1 -1
  57. package/src/core/db/query-builder.js +1 -1
  58. package/src/core/db/relation-helper.js +1 -1
  59. package/src/core/handlers/delete_handler.js +1 -1
  60. package/src/core/handlers/insert_handler.js +1 -1
  61. package/src/core/handlers/update_handler.js +1 -1
  62. package/src/core/models/base-model.js +1 -1
  63. package/src/core/utils/cache-manager.js +1 -1
  64. package/src/core/utils/component-engine.js +1 -1
  65. package/src/core/utils/context-builder.js +1 -1
  66. package/src/core/utils/datetime-formatter.js +1 -1
  67. package/src/core/utils/datetime-parser.js +1 -1
  68. package/src/core/utils/db.js +1 -1
  69. package/src/core/utils/logger.js +1 -1
  70. package/src/core/utils/payload-loader.js +1 -1
  71. package/src/core/utils/security-checks.js +1 -1
  72. package/src/middleware/body-options.js +1 -1
  73. package/src/middleware/cors.js +1 -1
  74. package/src/middleware/idempotency.js +1 -1
  75. package/src/middleware/rate-limiter.js +1 -1
  76. package/src/middleware/request-logger.js +1 -1
  77. package/src/middleware/security-headers.js +1 -1
  78. package/src/models/base-model-mysql.js +1 -1
  79. package/src/models/base-model-oracle.js +1 -1
  80. package/src/models/base-model-sqlite.js +1 -1
  81. package/src/models/base-model.js +1 -1
  82. package/src/pro/caching/redis-client.js +1 -1
  83. package/src/pro/caching/redis-helper.js +1 -1
  84. package/src/pro/consumers/baseConsumer.js +1 -1
  85. package/src/pro/consumers/declarativeMapper.js +1 -1
  86. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  87. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  88. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  89. package/src/pro/consumers/handlers/index.js +1 -1
  90. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  91. package/src/pro/consumers/index.js +1 -1
  92. package/src/pro/consumers/messageTransformer.js +1 -1
  93. package/src/pro/consumers/validator.js +1 -1
  94. package/src/pro/database/base-model-mysql.js +1 -1
  95. package/src/pro/database/base-model-oracle.js +1 -1
  96. package/src/pro/database/base-model-sqlite.js +1 -1
  97. package/src/pro/database/db-mysql.js +1 -1
  98. package/src/pro/database/db-oracle.js +1 -1
  99. package/src/pro/database/db-sqlite.js +1 -1
  100. package/src/pro/excel/excel-generator.js +1 -1
  101. package/src/pro/excel/excel-parser.js +1 -1
  102. package/src/pro/excel/export-service.js +1 -1
  103. package/src/pro/excel/export_handler.js +1 -1
  104. package/src/pro/excel/import-service.js +1 -1
  105. package/src/pro/excel/import-validator.js +1 -1
  106. package/src/pro/excel/import_handler.js +1 -1
  107. package/src/pro/excel/upsert-builder.js +1 -1
  108. package/src/pro/idgen/idgen-routes.js +1 -1
  109. package/src/pro/integrations/lookup-resolver.js +1 -1
  110. package/src/pro/integrations/upload-handler-v2.js +1 -1
  111. package/src/pro/integrations/upload-handler.js +1 -1
  112. package/src/pro/integrations/webhook.js +1 -1
  113. package/src/pro/locking/lock-routes.js +1 -1
  114. package/src/pro/locking/resource-lock-manager.js +1 -1
  115. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  116. package/src/pro/messaging/kafkaService.js +1 -1
  117. package/src/pro/messaging/messagehubService.js +1 -1
  118. package/src/pro/messaging/rabbitmqService.js +1 -1
  119. package/src/pro/scheduler/job-manager.js +1 -1
  120. package/src/pro/scheduler/job-routes.js +1 -1
  121. package/src/pro/scheduler/job-validator.js +1 -1
  122. package/src/pro/storage/base-storage-provider.js +1 -1
  123. package/src/pro/storage/file-metadata-helper.js +1 -1
  124. package/src/pro/storage/index.js +1 -1
  125. package/src/pro/storage/local-storage-provider.js +1 -1
  126. package/src/pro/storage/s3-storage-provider.js +1 -1
  127. package/src/pro/storage/upload-cleanup-job.js +1 -1
  128. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  129. package/src/pro/storage/upload-pending-tracker.js +1 -1
  130. package/src/pro/websocket/broadcast-helper.js +1 -1
  131. package/src/pro/websocket/index.js +1 -1
  132. package/src/pro/websocket/livesync-server.js +1 -1
  133. package/src/pro/websocket/ws-broadcaster.js +1 -1
  134. package/src/services/export-service.js +1 -1
  135. package/src/services/import-service.js +1 -1
  136. package/src/services/kafkaConsumerService.js +1 -1
  137. package/src/services/kafkaService.js +1 -1
  138. package/src/services/messagehubService.js +1 -1
  139. package/src/services/rabbitmqService.js +1 -1
  140. package/src/utils/cache-invalidation-registry.js +1 -1
  141. package/src/utils/cache-manager.js +1 -1
  142. package/src/utils/component-engine.js +1 -1
  143. package/src/utils/config-extractor.js +1 -1
  144. package/src/utils/consumerLogger.js +1 -1
  145. package/src/utils/context-builder.js +1 -1
  146. package/src/utils/dashboard-helpers.js +1 -1
  147. package/src/utils/dateHelper.js +1 -1
  148. package/src/utils/datetime-formatter.js +1 -1
  149. package/src/utils/datetime-parser.js +1 -1
  150. package/src/utils/db-bootstrap.js +1 -1
  151. package/src/utils/db-mysql.js +1 -1
  152. package/src/utils/db-oracle.js +1 -1
  153. package/src/utils/db-sqlite.js +1 -1
  154. package/src/utils/db.js +1 -1
  155. package/src/utils/demo-generator.js +1 -1
  156. package/src/utils/excel-generator.js +1 -1
  157. package/src/utils/excel-parser.js +1 -1
  158. package/src/utils/file-watcher.js +1 -1
  159. package/src/utils/id-generator.js +1 -1
  160. package/src/utils/idempotency-manager.js +1 -1
  161. package/src/utils/import-validator.js +1 -1
  162. package/src/utils/license-client.js +1 -1
  163. package/src/utils/lock-manager.js +1 -1
  164. package/src/utils/logger.js +1 -1
  165. package/src/utils/lookup-resolver.js +1 -1
  166. package/src/utils/payload-loader.js +1 -1
  167. package/src/utils/processor-response.js +1 -1
  168. package/src/utils/rabbitmq.js +1 -1
  169. package/src/utils/redis-client.js +1 -1
  170. package/src/utils/redis-helper.js +1 -1
  171. package/src/utils/request-scope.js +1 -1
  172. package/src/utils/security-checks.js +1 -1
  173. package/src/utils/service-resolver.js +1 -1
  174. package/src/utils/shutdown-coordinator.js +1 -1
  175. package/src/utils/trusted-keys.js +1 -1
  176. package/src/utils/upload-handler.js +1 -1
  177. package/src/utils/upsert-builder.js +1 -1
  178. package/src/utils/workflow-hook-executor.js +1 -1
@@ -1 +1 @@
1
- 'use strict';function a0_0x3d9f(){const _0x243ab4=['mJqYnZiYmJbAB21quKK','mtyWnte4me15qNHKCW','CMvSyxrPDMu','Dg9mB3DLCKnHC2u','icbBv0fuq0HDifDHCM5PBMC6ierPCMvJDg9YEsbUB3qGzM91BMqSihnRAxbWAw5NoIa','ngjLA1Lsta','Bg9N','Aw5JBhvKzxm','nxWXFdn8mhW0Fdi','mZi1nZu2wxz6y1fo','BwvZC2fNzq','zgvIB3vUy2vuAw1LCG','D2f0y2HLCNm','x2rLyM91BMnL','y3DK','mJi1Cu5IvNLh','nJCWmJeXrezoB0XS','nKrty0H6rW','zgLYzwn0B3jPzxm','C3rVCa','zxHWB3j0CW','mZK0ntaZmg1SzNjkDW','y2XVC2u','lYaOCMvJDxjZAxzLkq','D2f0y2G','lMPZ','mZKWntuYngLHrKDoDG','A1jtyu4','B25dAgfUz2u','zgvIB3vUy2vnCW','icbBv0fuq0HDifDHCM5PBMC6iezHAwXLzcb0BYbZzxr1Ccb3yxrJAgvYigzVCIa','ndG5otq0yuv1A1nO'];a0_0x3d9f=function(){return _0x243ab4;};return a0_0x3d9f();}const a0_0x33539b=a0_0x2f58;(function(_0x5dc9bd,_0x553251){const _0x7d86fc=a0_0x2f58,_0x58fb3f=_0x5dc9bd();while(!![]){try{const _0x4c0b8c=parseInt(_0x7d86fc(0x187))/0x1*(parseInt(_0x7d86fc(0x17c))/0x2)+-parseInt(_0x7d86fc(0x18c))/0x3+parseInt(_0x7d86fc(0x180))/0x4+parseInt(_0x7d86fc(0x178))/0x5+parseInt(_0x7d86fc(0x188))/0x6*(-parseInt(_0x7d86fc(0x171))/0x7)+-parseInt(_0x7d86fc(0x176))/0x8*(parseInt(_0x7d86fc(0x186))/0x9)+parseInt(_0x7d86fc(0x177))/0xa;if(_0x4c0b8c===_0x553251)break;else _0x58fb3f['push'](_0x58fb3f['shift']());}catch(_0x4c24ab){_0x58fb3f['push'](_0x58fb3f['shift']());}}}(a0_0x3d9f,0xbb096));function a0_0x2f58(_0x1dbd17,_0x57b769){_0x1dbd17=_0x1dbd17-0x16f;const _0x3d9f48=a0_0x3d9f();let _0x2f58b5=_0x3d9f48[_0x1dbd17];if(a0_0x2f58['bHWpYy']===undefined){var _0x5c1aed=function(_0x1728b3){const _0x7ce3ce='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x28c509='',_0x56317a='';for(let _0x4a32a6=0x0,_0x214181,_0x35de3c,_0x20e793=0x0;_0x35de3c=_0x1728b3['charAt'](_0x20e793++);~_0x35de3c&&(_0x214181=_0x4a32a6%0x4?_0x214181*0x40+_0x35de3c:_0x35de3c,_0x4a32a6++%0x4)?_0x28c509+=String['fromCharCode'](0xff&_0x214181>>(-0x2*_0x4a32a6&0x6)):0x0){_0x35de3c=_0x7ce3ce['indexOf'](_0x35de3c);}for(let _0x3fb57f=0x0,_0x453c96=_0x28c509['length'];_0x3fb57f<_0x453c96;_0x3fb57f++){_0x56317a+='%'+('00'+_0x28c509['charCodeAt'](_0x3fb57f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x56317a);};a0_0x2f58['UFUnBq']=_0x5c1aed,a0_0x2f58['JYUkOE']={},a0_0x2f58['bHWpYy']=!![];}const _0x517fee=_0x3d9f48[0x0],_0x14a58d=_0x1dbd17+_0x517fee,_0x71f2c5=a0_0x2f58['JYUkOE'][_0x14a58d];return!_0x71f2c5?(_0x2f58b5=a0_0x2f58['UFUnBq'](_0x2f58b5),a0_0x2f58['JYUkOE'][_0x14a58d]=_0x2f58b5):_0x2f58b5=_0x71f2c5,_0x2f58b5;}const fs=require('fs'),path=require('path');class FileWatcher{constructor(_0x2144de={}){const _0x460832=a0_0x2f58,_0x51baea={'agLHh':_0x460832(0x170),'UXQxt':'.json'},_0x5c71d9=_0x460832(0x17f)['split']('|');let _0x457fdc=0x0;while(!![]){switch(_0x5c71d9[_0x457fdc++]){case'0':this[_0x460832(0x173)]=_0x2144de['onChange']||(()=>{});continue;case'1':this['extensions']=_0x2144de['extensions']||[_0x51baea['agLHh'],_0x51baea['UXQxt']];continue;case'2':this['debounceTimer']=null;continue;case'3':this[_0x460832(0x174)]=_0x2144de['debounceMs']||0x1f4;continue;case'4':this['watchers']=[];continue;case'5':this['directories']=_0x2144de[_0x460832(0x189)]||[];continue;}break;}}['start'](){const _0x33e94f=a0_0x2f58;for(const _0x29200c of this[_0x33e94f(0x189)]){if(!fs['existsSync'](_0x29200c)){console['log'](_0x33e94f(0x17b)+(path[_0x33e94f(0x179)](process[_0x33e94f(0x185)](),_0x29200c)||_0x29200c));continue;}try{const _0x202693=fs[_0x33e94f(0x16f)](_0x29200c,{'recursive':!![]},(_0x314fcf,_0x223114)=>{const _0xfd4fd6=_0x33e94f;if(!_0x223114)return;const _0x38371c=path['extname'](_0x223114)[_0xfd4fd6(0x17a)]();if(!this['extensions'][_0xfd4fd6(0x17e)](_0x38371c))return;this['_debounce'](_0x223114);});_0x202693['on']('error',_0x2dc3ca=>{const _0x14c567=_0x33e94f;console[_0x14c567(0x17d)]('\x20\x20[WATCH]\x20Warning:\x20Watcher\x20error\x20on\x20'+path['relative'](process[_0x14c567(0x185)](),_0x29200c)+':\x20'+_0x2dc3ca[_0x14c567(0x181)]);}),this['watchers']['push'](_0x202693);const _0x3614c2=path[_0x33e94f(0x179)](process[_0x33e94f(0x185)](),_0x29200c)||_0x29200c;console[_0x33e94f(0x17d)]('\x20\x20[WATCH]\x20Watching:\x20'+_0x3614c2+_0x33e94f(0x18e));}catch(_0x11a8d3){console[_0x33e94f(0x17d)](_0x33e94f(0x175)+path['relative'](process[_0x33e94f(0x185)](),_0x29200c)+':\x20'+_0x11a8d3['message']);}}}[a0_0x33539b(0x18a)](){const _0x48db72=a0_0x33539b;for(const _0x2caac1 of this['watchers']){try{_0x2caac1[_0x48db72(0x18d)]();}catch(_0xa71d54){}}this[_0x48db72(0x183)]=[],this[_0x48db72(0x182)]&&(clearTimeout(this[_0x48db72(0x182)]),this[_0x48db72(0x182)]=null);}[a0_0x33539b(0x184)](_0x4f3cfa){const _0x4cd613=a0_0x33539b,_0x2eabd8={'kRSaN':function(_0x4f3176,_0x1fd9df,_0xabc4b3){return _0x4f3176(_0x1fd9df,_0xabc4b3);}};this['debounceTimer']&&clearTimeout(this[_0x4cd613(0x182)]),this['debounceTimer']=_0x2eabd8[_0x4cd613(0x172)](setTimeout,()=>{const _0xe864ef=_0x4cd613;this['debounceTimer']=null,this[_0xe864ef(0x173)](_0x4f3cfa);},this['debounceMs']);}}module[a0_0x33539b(0x18b)]=FileWatcher;
1
+ 'use strict';const a0_0x177f8e=a0_0x22d9;(function(_0xfe6ee0,_0x5d5f01){const _0x13df39=a0_0x22d9,_0x319b76=_0xfe6ee0();while(!![]){try{const _0x32b3da=-parseInt(_0x13df39(0x136))/0x1+parseInt(_0x13df39(0x150))/0x2+-parseInt(_0x13df39(0x151))/0x3+parseInt(_0x13df39(0x144))/0x4*(-parseInt(_0x13df39(0x143))/0x5)+parseInt(_0x13df39(0x13d))/0x6+-parseInt(_0x13df39(0x148))/0x7+parseInt(_0x13df39(0x149))/0x8*(parseInt(_0x13df39(0x145))/0x9);if(_0x32b3da===_0x5d5f01)break;else _0x319b76['push'](_0x319b76['shift']());}catch(_0x54bb5a){_0x319b76['push'](_0x319b76['shift']());}}}(a0_0x53b4,0xd8e4a));const fs=require('fs'),path=require('path');class FileWatcher{constructor(_0x567859={}){const _0x504620=a0_0x22d9,_0x1f2151={'SAaCJ':_0x504620(0x147)};this[_0x504620(0x13a)]=_0x567859[_0x504620(0x13a)]||[],this['extensions']=_0x567859[_0x504620(0x133)]||[_0x504620(0x134),_0x1f2151[_0x504620(0x14a)]],this['debounceMs']=_0x567859['debounceMs']||0x1f4,this[_0x504620(0x152)]=_0x567859['onChange']||(()=>{}),this[_0x504620(0x14e)]=[],this[_0x504620(0x14c)]=null;}[a0_0x177f8e(0x153)](){const _0xd59694=a0_0x177f8e,_0x13128b={'nDNfA':_0xd59694(0x13f)};for(const _0x1000d4 of this['directories']){if(!fs[_0xd59694(0x138)](_0x1000d4)){console[_0xd59694(0x14d)]('\x20\x20[WATCH]\x20Warning:\x20Directory\x20not\x20found,\x20skipping:\x20'+(path[_0xd59694(0x146)](process['cwd'](),_0x1000d4)||_0x1000d4));continue;}try{const _0x29aa58=fs[_0xd59694(0x131)](_0x1000d4,{'recursive':!![]},(_0x5a0415,_0xe36d02)=>{const _0x1c1b8d=_0xd59694;if(!_0xe36d02)return;const _0x50bea0=path[_0x1c1b8d(0x140)](_0xe36d02)[_0x1c1b8d(0x14f)]();if(!this[_0x1c1b8d(0x133)][_0x1c1b8d(0x139)](_0x50bea0))return;this[_0x1c1b8d(0x14b)](_0xe36d02);});_0x29aa58['on'](_0x13128b[_0xd59694(0x142)],_0x328056=>{const _0x3f0cf5=_0xd59694;console['log']('\x20\x20[WATCH]\x20Warning:\x20Watcher\x20error\x20on\x20'+path[_0x3f0cf5(0x146)](process[_0x3f0cf5(0x135)](),_0x1000d4)+':\x20'+_0x328056[_0x3f0cf5(0x13b)]);}),this[_0xd59694(0x14e)][_0xd59694(0x132)](_0x29aa58);const _0x48202f=path['relative'](process[_0xd59694(0x135)](),_0x1000d4)||_0x1000d4;console['log']('\x20\x20[WATCH]\x20Watching:\x20'+_0x48202f+'/\x20(recursive)');}catch(_0x72e5ac){console[_0xd59694(0x14d)]('\x20\x20[WATCH]\x20Warning:\x20Failed\x20to\x20setup\x20watcher\x20for\x20'+path['relative'](process['cwd'](),_0x1000d4)+':\x20'+_0x72e5ac[_0xd59694(0x13b)]);}}}['stop'](){const _0x30c7ab=a0_0x177f8e;for(const _0x13b2b1 of this[_0x30c7ab(0x14e)]){try{_0x13b2b1[_0x30c7ab(0x141)]();}catch(_0x5c8c8b){}}this[_0x30c7ab(0x14e)]=[],this[_0x30c7ab(0x14c)]&&(clearTimeout(this['debounceTimer']),this['debounceTimer']=null);}['_debounce'](_0x4df85e){const _0x3f8b46=a0_0x177f8e,_0x212362={'aXiFq':function(_0xec2941,_0x4c2672){return _0xec2941(_0x4c2672);},'zCKRF':function(_0x3f258b,_0x13e0c5,_0x4cb5be){return _0x3f258b(_0x13e0c5,_0x4cb5be);}};this[_0x3f8b46(0x14c)]&&_0x212362['aXiFq'](clearTimeout,this['debounceTimer']),this[_0x3f8b46(0x14c)]=_0x212362[_0x3f8b46(0x13c)](setTimeout,()=>{const _0x51a339=_0x3f8b46;this[_0x51a339(0x14c)]=null,this['onChange'](_0x4df85e);},this[_0x3f8b46(0x13e)]);}}module[a0_0x177f8e(0x137)]=FileWatcher;function a0_0x22d9(_0x357f39,_0x1f2aad){_0x357f39=_0x357f39-0x131;const _0x53b442=a0_0x53b4();let _0x22d902=_0x53b442[_0x357f39];if(a0_0x22d9['HlWOow']===undefined){var _0x2dce0b=function(_0x330a91){const _0x4f8ddf='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5c548b='',_0x444b43='';for(let _0x56695a=0x0,_0x1694de,_0x4cd4c7,_0x5f08c7=0x0;_0x4cd4c7=_0x330a91['charAt'](_0x5f08c7++);~_0x4cd4c7&&(_0x1694de=_0x56695a%0x4?_0x1694de*0x40+_0x4cd4c7:_0x4cd4c7,_0x56695a++%0x4)?_0x5c548b+=String['fromCharCode'](0xff&_0x1694de>>(-0x2*_0x56695a&0x6)):0x0){_0x4cd4c7=_0x4f8ddf['indexOf'](_0x4cd4c7);}for(let _0x246a7f=0x0,_0x2f0f6f=_0x5c548b['length'];_0x246a7f<_0x2f0f6f;_0x246a7f++){_0x444b43+='%'+('00'+_0x5c548b['charCodeAt'](_0x246a7f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x444b43);};a0_0x22d9['pMhsET']=_0x2dce0b,a0_0x22d9['DcIHFe']={},a0_0x22d9['HlWOow']=!![];}const _0x2c1aa4=_0x53b442[0x0],_0x142321=_0x357f39+_0x2c1aa4,_0x3c1df=a0_0x22d9['DcIHFe'][_0x142321];return!_0x3c1df?(_0x22d902=a0_0x22d9['pMhsET'](_0x22d902),a0_0x22d9['DcIHFe'][_0x142321]=_0x22d902):_0x22d902=_0x3c1df,_0x22d902;}function a0_0x53b4(){const _0x2043c1=['C3rHCNq','D2f0y2G','ChvZAa','zxH0zw5ZAw9UCW','lMPZ','y3DK','mZG5mtu5BLjczgXU','zxHWB3j0CW','zxHPC3rZu3LUyW','Aw5JBhvKzxm','zgLYzwn0B3jPzxm','BwvZC2fNzq','EKnluKy','ote4mde3nfjLz2HlwG','zgvIB3vUy2vnCW','zxjYB3i','zxH0BMfTzq','y2XVC2u','BKrozKe','ntuXmdeXmefzCKzvwG','ngvRDLnhBq','mtKXmZeYmdfzrwr6Ae8','CMvSyxrPDMu','lMPZB24','mtiZmti1otrHyuLIALu','oenkvwnHCq','u0fHq0O','x2rLyM91BMnL','zgvIB3vUy2vuAw1LCG','Bg9N','D2f0y2HLCNm','Dg9mB3DLCKnHC2u','mtKZmdm3nerfAu9IyW','mtq0nZe2nhPTrLfNvq','B25dAgfUz2u'];a0_0x53b4=function(){return _0x2043c1;};return a0_0x53b4();}
@@ -1 +1 @@
1
- 'use strict';const a0_0x4699fa=a0_0x48ec;(function(_0xbf0e14,_0x513675){const _0x4890f6=a0_0x48ec,_0x4b508d=_0xbf0e14();while(!![]){try{const _0x587a6f=parseInt(_0x4890f6(0x1e5))/0x1+-parseInt(_0x4890f6(0x260))/0x2*(-parseInt(_0x4890f6(0x18a))/0x3)+-parseInt(_0x4890f6(0x279))/0x4+-parseInt(_0x4890f6(0x197))/0x5*(-parseInt(_0x4890f6(0x1fd))/0x6)+-parseInt(_0x4890f6(0x250))/0x7*(parseInt(_0x4890f6(0x1c5))/0x8)+-parseInt(_0x4890f6(0x241))/0x9+parseInt(_0x4890f6(0x18b))/0xa*(-parseInt(_0x4890f6(0x274))/0xb);if(_0x587a6f===_0x513675)break;else _0x4b508d['push'](_0x4b508d['shift']());}catch(_0x1b35c1){_0x4b508d['push'](_0x4b508d['shift']());}}}(a0_0x25a6,0x8a069));function a0_0x48ec(_0x70a707,_0x4cb381){_0x70a707=_0x70a707-0x157;const _0x25a600=a0_0x25a6();let _0x48ec2b=_0x25a600[_0x70a707];if(a0_0x48ec['puKHIQ']===undefined){var _0x507c91=function(_0x51e40d){const _0x48a397='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x22d450='',_0x131fc0='';for(let _0x1a8da0=0x0,_0x47233f,_0x50056a,_0x5bc4c2=0x0;_0x50056a=_0x51e40d['charAt'](_0x5bc4c2++);~_0x50056a&&(_0x47233f=_0x1a8da0%0x4?_0x47233f*0x40+_0x50056a:_0x50056a,_0x1a8da0++%0x4)?_0x22d450+=String['fromCharCode'](0xff&_0x47233f>>(-0x2*_0x1a8da0&0x6)):0x0){_0x50056a=_0x48a397['indexOf'](_0x50056a);}for(let _0x35750d=0x0,_0x5e0297=_0x22d450['length'];_0x35750d<_0x5e0297;_0x35750d++){_0x131fc0+='%'+('00'+_0x22d450['charCodeAt'](_0x35750d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x131fc0);};a0_0x48ec['zEPTOD']=_0x507c91,a0_0x48ec['PilLaM']={},a0_0x48ec['puKHIQ']=!![];}const _0x1eccfe=_0x25a600[0x0],_0x897f0e=_0x70a707+_0x1eccfe,_0xc2b215=a0_0x48ec['PilLaM'][_0x897f0e];return!_0xc2b215?(_0x48ec2b=a0_0x48ec['zEPTOD'](_0x48ec2b),a0_0x48ec['PilLaM'][_0x897f0e]=_0x48ec2b):_0x48ec2b=_0xc2b215,_0x48ec2b;}const crypto=require('crypto'),redisClient=require('./redis-client'),{logger}=require('./logger'),idempotencyManager=require('./idempotency-manager'),ALLOWED_FORMATS=new Set(['text','yyyy','yyyymm',a0_0x4699fa(0x1d0)]),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=a0_0x4699fa(0x218),CHARSET_LOWER='abcdefghijklmnopqrstuvwxyz',CHARSET_LETTERS=CHARSET_UPPER+CHARSET_LOWER,CHARSET_UPPER_ALNUM=CHARSET_UPPER+CHARSET_DIGIT,CHARSET_MIXED_ALNUM=CHARSET_UPPER+CHARSET_LOWER+CHARSET_DIGIT,CHARSET_HEX_UPPER='0123456789ABCDEF',CHARSET_HEX_LOWER='0123456789abcdef',PLACEHOLDER_MAP={'9':CHARSET_DIGIT,'N':CHARSET_DIGIT,'A':CHARSET_UPPER,'a':CHARSET_LOWER,'L':CHARSET_LETTERS,'X':CHARSET_UPPER_ALNUM,'x':CHARSET_MIXED_ALNUM,'H':CHARSET_HEX_UPPER,'h':CHARSET_HEX_LOWER},LUA_GENERATE_NUMBER='\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=a0_0x4699fa(0x1a3),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_0x4699fa(0x1de),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(_0x56d958,_0x55aa9b,_0x16581a=null){const _0xbdd0b2=a0_0x4699fa,_0x6cd12={'NVWtS':function(_0x544567,_0x1bd3d8){return _0x544567||_0x1bd3d8;}};super(_0x6cd12[_0xbdd0b2(0x240)](_0x55aa9b,_0x56d958)),this[_0xbdd0b2(0x187)]='IdGeneratorError',this[_0xbdd0b2(0x1f7)]=_0x56d958,this['details']=_0x16581a;}}class IdGenerator{constructor(){const _0x4828d8=a0_0x4699fa,_0x3f1232={'mGrMK':'4|10|8|1|5|0|2|6|3|11|7|9'},_0x87364d=_0x3f1232['mGrMK']['split']('|');let _0x33d098=0x0;while(!![]){switch(_0x87364d[_0x33d098++]){case'0':this['_defaultMaxRetry']=null;continue;case'1':this['_idemTTL']=null;continue;case'2':this['_defaultPinDigits']=null;continue;case'3':this['_defaultCodePattern']=null;continue;case'4':this[_0x4828d8(0x253)]=![];continue;case'5':this['_allowReset']=null;continue;case'6':this[_0x4828d8(0x1b2)]=null;continue;case'7':this['_reserveDefaultTTL']=null;continue;case'8':this['_keyPrefix']=null;continue;case'9':this['_reserveMaxTTL']=null;continue;case'10':this['_enabled']=null;continue;case'11':this['_counterTTLMap']=null;continue;}break;}}['_initConfig'](){const _0x49890f=a0_0x4699fa,_0x5d3040={'rlwjA':_0x49890f(0x25a),'rhLHL':'true','ZpQKM':function(_0x5ef272,_0x28b456,_0x474963){return _0x5ef272(_0x28b456,_0x474963);},'GtcWu':'9999-9999','QGzmg':'idgen_config_init'};this['_keyPrefix']=_0x5d3040[_0x49890f(0x200)],this[_0x49890f(0x1ae)]=process['env']['IDGEN_ENABLED']===_0x5d3040[_0x49890f(0x254)],this[_0x49890f(0x1ba)]=parseInt(process['env']['IDGEN_IDEM_TTL'],0xa)||0x258,this['_allowReset']=process['env']['IDGEN_ALLOW_RESET']===_0x5d3040['rhLHL'],this['_defaultMaxRetry']=parseInt(process['env'][_0x49890f(0x16b)],0xa)||0xa,this[_0x49890f(0x19c)]=_0x5d3040[_0x49890f(0x21d)](parseInt,process['env']['IDGEN_DEFAULT_PIN_DIGITS'],0xa)||0x6,this['_defaultSerialPattern']=process[_0x49890f(0x22c)]['IDGEN_DEFAULT_SERIAL_PATTERN']||'XXXX-XXXX-XXXX-XXXX',this['_defaultCodePattern']=process['env']['IDGEN_DEFAULT_CODE_PATTERN']||_0x5d3040[_0x49890f(0x23e)],this[_0x49890f(0x15a)]={'yyyymm':parseInt(process[_0x49890f(0x22c)]['IDGEN_COUNTER_TTL_MONTHLY'],0xa)||0x2a3000,'yyyymmdd':_0x5d3040[_0x49890f(0x21d)](parseInt,process['env']['IDGEN_COUNTER_TTL_DAILY'],0xa)||0x2a300},this['_reserveDefaultTTL']=parseInt(process[_0x49890f(0x22c)][_0x49890f(0x1ef)],0xa)||DEFAULT_RESERVE_TTL,this[_0x49890f(0x1a9)]=_0x5d3040['ZpQKM'](parseInt,process[_0x49890f(0x22c)][_0x49890f(0x1bf)],0xa)||MAX_RESERVE_TTL,this['_initialized']=!![],logger['info']({'event':_0x5d3040[_0x49890f(0x15e)],'enabled':this['_enabled'],'idemTTL':this['_idemTTL'],'allowReset':this['_allowReset'],'defaultMaxRetry':this['_defaultMaxRetry'],'defaultPinDigits':this['_defaultPinDigits'],'reserveDefaultTTL':this['_reserveDefaultTTL'],'reserveMaxTTL':this['_reserveMaxTTL']},_0x49890f(0x165)+this[_0x49890f(0x1ae)]);}[a0_0x4699fa(0x228)](){const _0x25a4b9=a0_0x4699fa;if(!this[_0x25a4b9(0x253)])this['_initConfig']();}get['enabled'](){return this['_ensureInitialized'](),this['_enabled'];}get['keyPrefix'](){const _0x39a346=a0_0x4699fa;return this[_0x39a346(0x228)](),this[_0x39a346(0x19f)];}get['idemTTL'](){const _0x169927=a0_0x4699fa;return this['_ensureInitialized'](),this[_0x169927(0x1ba)];}get['allowReset'](){const _0x456c3d=a0_0x4699fa;return this['_ensureInitialized'](),this[_0x456c3d(0x1c7)];}get['defaultMaxRetry'](){return this['_ensureInitialized'](),this['_defaultMaxRetry'];}get[a0_0x4699fa(0x21b)](){const _0x3a27ae=a0_0x4699fa;return this[_0x3a27ae(0x228)](),this[_0x3a27ae(0x19c)];}get[a0_0x4699fa(0x257)](){const _0x34ed66=a0_0x4699fa;return this['_ensureInitialized'](),this[_0x34ed66(0x1b2)];}get[a0_0x4699fa(0x267)](){return this['_ensureInitialized'](),this['_defaultCodePattern'];}get['reserveDefaultTTL'](){const _0x2562c6=a0_0x4699fa;return this[_0x2562c6(0x228)](),this[_0x2562c6(0x1d4)];}get[a0_0x4699fa(0x230)](){const _0x195147=a0_0x4699fa;return this['_ensureInitialized'](),this[_0x195147(0x1a9)];}['isEnabled'](){const _0x37b6f1=a0_0x4699fa;return this[_0x37b6f1(0x264)];}['_validateResource'](_0x3b8f8e){const _0x56250c=a0_0x4699fa;if(typeof _0x3b8f8e!==_0x56250c(0x1e4)||!RESOURCE_REGEX[_0x56250c(0x16d)](_0x3b8f8e))throw new IdGeneratorError(_0x56250c(0x192),_0x56250c(0x23a)+RESOURCE_REGEX+'\x20(got:\x20'+JSON['stringify'](_0x3b8f8e)+')');}[a0_0x4699fa(0x25b)](_0x9056a3){const _0x3547a4=a0_0x4699fa,_0x3162a3={'mFANe':_0x3547a4(0x1e4),'jiMHl':function(_0x2a25b4,_0x29f545){return _0x2a25b4<_0x29f545;},'yPwol':'IDGEN_INVALID_NUM_DIGITS','kUfvr':function(_0x567123,_0x11643b){return _0x567123==_0x11643b;},'hcJbJ':function(_0x3f733a,_0x48f3ec){return _0x3f733a!==_0x48f3ec;},'Vvaiu':'IDGEN_INVALID_PREFIX','GxnRb':function(_0x46c4bc,_0x2743ea){return _0x46c4bc!==_0x2743ea;},'xaFqk':_0x3547a4(0x192),'exRNx':function(_0x1b21f2,_0x83b15e){return _0x1b21f2===_0x83b15e;}},{resource:_0x2cbdf2,format:_0xc8be3b,prefix:_0x11de6f,separator:_0x37c07d,numDigits:_0x2ab674,reuseDelete:_0x4ad915}=_0x9056a3;this[_0x3547a4(0x1b5)](_0x2cbdf2);const _0x5c76bb=typeof _0xc8be3b===_0x3162a3['mFANe']?_0xc8be3b['toLowerCase']():'';if(!ALLOWED_FORMATS['has'](_0x5c76bb))throw new IdGeneratorError('IDGEN_INVALID_FORMAT',_0x3547a4(0x194)+[...ALLOWED_FORMATS][_0x3547a4(0x21c)](',\x20')+'\x20(got:\x20'+_0xc8be3b+')');if(!Number['isInteger'](_0x2ab674)||_0x3162a3['jiMHl'](_0x2ab674,MIN_NUM_DIGITS)||_0x2ab674>MAX_NUM_DIGITS)throw new IdGeneratorError(_0x3162a3['yPwol'],_0x3547a4(0x239)+MIN_NUM_DIGITS+'-'+MAX_NUM_DIGITS+'\x20(got:\x20'+_0x2ab674+')');const _0x46879a=_0x3162a3[_0x3547a4(0x161)](_0x11de6f,null)?'':_0x11de6f;if(_0x3162a3['hcJbJ'](typeof _0x46879a,_0x3162a3['mFANe'])||!PREFIX_REGEX['test'](_0x46879a))throw new IdGeneratorError(_0x3162a3[_0x3547a4(0x171)],_0x3547a4(0x237)+PREFIX_REGEX+_0x3547a4(0x27a)+JSON[_0x3547a4(0x238)](_0x11de6f)+')');const _0x4a6d30=_0x37c07d==null?'':_0x37c07d;if(_0x3162a3['GxnRb'](typeof _0x4a6d30,_0x3547a4(0x1e4))||_0x4a6d30[_0x3547a4(0x1ab)]>0x3||SEPARATOR_FORBIDDEN[_0x3547a4(0x16d)](_0x4a6d30))throw new IdGeneratorError('IDGEN_INVALID_SEPARATOR',_0x3547a4(0x1dc)+JSON['stringify'](_0x37c07d)+')');if(_0x4ad915!=null&&typeof _0x4ad915!==_0x3547a4(0x24d))throw new IdGeneratorError(_0x3162a3['xaFqk'],'Invalid\x20reuseDelete:\x20must\x20be\x20boolean\x20(got:\x20'+typeof _0x4ad915+')');return{'resource':_0x2cbdf2,'format':_0x5c76bb,'prefix':_0x46879a,'separator':_0x4a6d30,'numDigits':_0x2ab674,'reuseDelete':_0x3162a3[_0x3547a4(0x15b)](_0x4ad915,!![])};}[a0_0x4699fa(0x26e)](_0x3197fb){const _0x1757dd=a0_0x4699fa,_0x1c7f99={'rCmHA':function(_0x4c76d9,_0x7024a0){return _0x4c76d9!==_0x7024a0;},'Ptmuf':'string','LXVnS':'IDGEN_INVALID_PATTERN'};if(_0x1c7f99['rCmHA'](typeof _0x3197fb,_0x1c7f99['Ptmuf'])||_0x3197fb['length']===0x0||_0x3197fb[_0x1757dd(0x1ab)]>MAX_PATTERN_LENGTH)throw new IdGeneratorError(_0x1c7f99['LXVnS'],_0x1757dd(0x1f5)+MAX_PATTERN_LENGTH+_0x1757dd(0x246)+(_0x3197fb&&_0x3197fb[_0x1757dd(0x1ab)])+')');let _0x19231a=![];for(const _0x4722ad of _0x3197fb){if(PLACEHOLDER_MAP[_0x4722ad]){_0x19231a=!![];break;}}if(!_0x19231a)throw new IdGeneratorError(_0x1c7f99['LXVnS'],_0x1757dd(0x19e));}[a0_0x4699fa(0x1d2)](_0x5c77a5){const _0x16f00a=a0_0x4699fa,_0x131182={'AcKdi':function(_0x465000,_0x133b4e){return _0x465000==_0x133b4e;},'IzVfb':_0x16f00a(0x229)};if(_0x131182[_0x16f00a(0x271)](_0x5c77a5,null))return undefined;if(!Number['isInteger'](_0x5c77a5)||_0x5c77a5<0x1||_0x5c77a5>MAX_TTL)throw new IdGeneratorError(_0x131182['IzVfb'],_0x16f00a(0x1df)+MAX_TTL+_0x16f00a(0x1ed)+_0x5c77a5+')');return _0x5c77a5;}[a0_0x4699fa(0x22e)](_0x3b17a9){const _0x2ac408=a0_0x4699fa,_0x2a8fba={'SaOkO':function(_0x2740d4,_0x5146e0){return _0x2740d4<_0x5146e0;}};if(_0x3b17a9==null)return this[_0x2ac408(0x25d)];if(!Number[_0x2ac408(0x244)](_0x3b17a9)||_0x2a8fba[_0x2ac408(0x17b)](_0x3b17a9,0x1)||_0x3b17a9>MAX_RETRY_LIMIT)throw new IdGeneratorError(_0x2ac408(0x242),_0x2ac408(0x1ca)+MAX_RETRY_LIMIT+'\x20(got:\x20'+_0x3b17a9+')');return _0x3b17a9;}['_validateIdempotencyKey'](_0x385aad){const _0x2db34f=a0_0x4699fa,_0x9e5a15={'SkqdO':function(_0x359332,_0x581211){return _0x359332==_0x581211;},'hUtvR':function(_0x38edbc,_0x3373ec){return _0x38edbc!==_0x3373ec;},'GHzLF':'string','JXFlz':function(_0x17d1d7,_0x347064){return _0x17d1d7>_0x347064;},'DKgTm':'IDGEN_INVALID_RESOURCE'};if(_0x9e5a15[_0x2db34f(0x1ad)](_0x385aad,null))return undefined;if(_0x9e5a15['hUtvR'](typeof _0x385aad,_0x9e5a15[_0x2db34f(0x1cf)])||_0x385aad['length']===0x0||_0x9e5a15[_0x2db34f(0x1a5)](_0x385aad[_0x2db34f(0x1ab)],MAX_IDEMPOTENCY_KEY_LENGTH))throw new IdGeneratorError(_0x9e5a15['DKgTm'],_0x2db34f(0x159)+MAX_IDEMPOTENCY_KEY_LENGTH+_0x2db34f(0x18d));return _0x385aad;}[a0_0x4699fa(0x191)](_0xcaef92){const _0x428563=a0_0x4699fa,_0x30157b={'FvTAq':function(_0x4b7d89,_0x90cac5){return _0x4b7d89<_0x90cac5;},'oMLdJ':function(_0x1ccd4b,_0x33e58b){return _0x1ccd4b>_0x33e58b;}};if(_0xcaef92==null)return this['reserveDefaultTTL'];if(!Number[_0x428563(0x244)](_0xcaef92)||_0x30157b[_0x428563(0x1e7)](_0xcaef92,MIN_RESERVE_TTL)||_0x30157b['oMLdJ'](_0xcaef92,this['reserveMaxTTL']))throw new IdGeneratorError('IDGEN_INVALID_RESERVE_TTL','Invalid\x20reservation\x20ttl:\x20must\x20be\x20integer\x20'+MIN_RESERVE_TTL+'-'+this[_0x428563(0x230)]+'\x20seconds\x20(got:\x20'+_0xcaef92+')');return _0xcaef92;}['_validateReservationToken'](_0x4df318){const _0x42ce99=a0_0x4699fa,_0x3b8ce3={'dONyP':'IDGEN_INVALID_TOKEN'};if(typeof _0x4df318!=='string'||!RESERVATION_TOKEN_REGEX['test'](_0x4df318))throw new IdGeneratorError(_0x3b8ce3['dONyP'],_0x42ce99(0x202)+JSON[_0x42ce99(0x238)](_0x4df318)+')');return _0x4df318;}['_pad2'](_0x54cf8b){return String(_0x54cf8b)['padStart'](0x2,'0');}['_buildFormatKey'](_0x2f8a76,_0x4367d7,_0x52bbbd=new Date()){const _0x1e5320=a0_0x4699fa,_0x19ab95={'qftgV':function(_0x32282f,_0x4a249b){return _0x32282f+_0x4a249b;},'LjuoS':function(_0xaa6297,_0x490f0b){return _0xaa6297||_0x490f0b;},'fwkoU':_0x1e5320(0x219),'dbjPV':_0x1e5320(0x1d0),'CQNrm':'IDGEN_INVALID_FORMAT'},_0x4ddc3a=_0x52bbbd['getFullYear'](),_0x5ab96f=this[_0x1e5320(0x245)](_0x19ab95['qftgV'](_0x52bbbd[_0x1e5320(0x24c)](),0x1)),_0x9a899b=this[_0x1e5320(0x245)](_0x52bbbd[_0x1e5320(0x259)]()),_0x155321=_0x19ab95['LjuoS'](_0x4367d7,'_');let _0x13bdd6,_0x5db65c='';switch(_0x2f8a76){case'text':_0x13bdd6=_0x155321+'_text';break;case'yyyy':_0x5db65c=''+_0x4ddc3a,_0x13bdd6=_0x155321+_0x1e5320(0x16c)+_0x5db65c;break;case _0x19ab95[_0x1e5320(0x180)]:_0x5db65c=''+_0x4ddc3a+_0x5ab96f,_0x13bdd6=_0x155321+'_yyyymm_'+_0x5db65c;break;case _0x19ab95[_0x1e5320(0x22b)]:_0x5db65c=''+_0x4ddc3a+_0x5ab96f+_0x9a899b,_0x13bdd6=_0x155321+'_yyyymmdd_'+_0x5db65c;break;default:throw new IdGeneratorError(_0x19ab95['CQNrm'],'Unknown\x20format:\x20'+_0x2f8a76);}return{'formatKey':_0x13bdd6,'datePrefix':_0x5db65c};}['_buildSeqKey'](_0xc3378f,_0x3a464e){const _0x3de8a5=a0_0x4699fa;return this[_0x3de8a5(0x16e)]+'seq:'+_0xc3378f+':'+_0x3a464e;}[a0_0x4699fa(0x1c6)](_0x50fbf1,_0x1f9509){const _0x129a94=a0_0x4699fa;return this[_0x129a94(0x16e)]+_0x129a94(0x190)+_0x50fbf1+':'+_0x1f9509;}['_buildMetaKey'](_0x52d21c,_0x273d0c){const _0x22f1ad=a0_0x4699fa;return this['keyPrefix']+_0x22f1ad(0x1e3)+_0x52d21c+':'+_0x273d0c;}[a0_0x4699fa(0x1a6)](_0x106610){return this['keyPrefix']+'issued:'+_0x106610;}['_buildActiveKey'](_0x1c0f24,_0x3dd4d8){return this['keyPrefix']+'active:'+_0x1c0f24+':'+_0x3dd4d8;}['_buildReservationKey'](_0x24b4bb){const _0x3bd847=a0_0x4699fa;return this['keyPrefix']+_0x3bd847(0x157)+_0x24b4bb;}['_buildReservationIndexKey'](_0x2f6804,_0x3a1af7){const _0x5ed344=a0_0x4699fa;return this[_0x5ed344(0x16e)]+'rsv_idx:'+_0x2f6804+':'+_0x3a1af7;}[a0_0x4699fa(0x1b4)](){const _0x205ddd=a0_0x4699fa;return this[_0x205ddd(0x16e)]+_0x205ddd(0x157);}[a0_0x4699fa(0x25e)](_0x2cd3d0,_0x3f406b,_0x333b14,_0x1a038f){const _0x16379d=a0_0x4699fa,_0x350e5b={'KzHhz':_0x16379d(0x1a8)};if(_0x333b14)return idempotencyManager[_0x16379d(0x189)]('idgen',_0x2cd3d0,_0x3f406b+':'+_0x333b14+':'+_0x1a038f);return idempotencyManager[_0x16379d(0x189)](_0x350e5b[_0x16379d(0x1e0)],_0x2cd3d0,_0x3f406b+':'+_0x1a038f);}['_getCounterTTL'](_0x1a92ab){return this['_counterTTLMap'][_0x1a92ab]||0x0;}[a0_0x4699fa(0x183)]({format:_0x4d53c1,prefix:_0x3ded8d,datePrefix:_0xd16924,separator:_0x403230,numDigits:_0x4f16f4,counterInt:_0x2e444a}){const _0x1b4792=a0_0x4699fa,_0x749cb8={'otTwX':_0x1b4792(0x1a7)},_0x177c2e=Math['pow'](0xa,_0x4f16f4)-0x1;if(_0x2e444a>_0x177c2e)throw new IdGeneratorError(_0x1b4792(0x258),_0x1b4792(0x1db)+_0x2e444a+'\x20exceeds\x20'+_0x4f16f4+'-digit\x20capacity\x20('+_0x177c2e+_0x1b4792(0x1b8),{'counterInt':_0x2e444a,'numDigits':_0x4f16f4,'max':_0x177c2e});const _0x4641e3=String(_0x2e444a)['padStart'](_0x4f16f4,'0');if(_0x4d53c1===_0x749cb8['otTwX'])return _0x3ded8d?''+_0x3ded8d+_0x403230+_0x4641e3:_0x4641e3;return _0x3ded8d?''+_0x3ded8d+_0x403230+_0xd16924+_0x403230+_0x4641e3:''+_0xd16924+_0x403230+_0x4641e3;}['_parseNumber']({format:_0x469bba,prefix:_0x52ea20,separator:_0x3723a6,numDigits:_0x2eeb91,number:_0x35ac34}){const _0x210652=a0_0x4699fa,_0x6ed6b6={'umDrP':function(_0x5171ce,_0x2d2508){return _0x5171ce!==_0x2d2508;},'zSlVz':'string','nJzfT':'IDGEN_INVALID_NUMBER','gfwrH':function(_0x17cc95,_0x503027){return _0x17cc95||_0x503027;},'mznBA':function(_0x50975e,_0x5382b3){return _0x50975e===_0x5382b3;},'BziTp':function(_0x207f86,_0x22e868){return _0x207f86!==_0x22e868;},'zlJxm':function(_0x532264,_0x53716f){return _0x532264!==_0x53716f;},'BufNT':_0x210652(0x219)};if(_0x6ed6b6[_0x210652(0x1e2)](typeof _0x35ac34,_0x6ed6b6[_0x210652(0x23b)])||_0x35ac34['length']===0x0)throw new IdGeneratorError(_0x6ed6b6[_0x210652(0x1f4)],_0x210652(0x16a));const _0x2994ce=_0x6ed6b6['gfwrH'](_0x3723a6,''),_0x4e6797=_0x6ed6b6[_0x210652(0x20c)](_0x2994ce,'')?[_0x35ac34]:_0x35ac34['split'](_0x2994ce);let _0x4fdaee='',_0x269a7c;if(_0x469bba===_0x210652(0x1a7)){if(_0x52ea20){if(_0x4e6797[_0x210652(0x1ab)]!==0x2||_0x4e6797[0x0]!==_0x52ea20)throw new IdGeneratorError(_0x6ed6b6['nJzfT'],_0x210652(0x1a2)+_0x2994ce+_0x210652(0x167)+_0x35ac34+')');_0x269a7c=_0x4e6797[0x1];}else{if(_0x6ed6b6['BziTp'](_0x4e6797['length'],0x1))throw new IdGeneratorError(_0x6ed6b6[_0x210652(0x1f4)],'Number\x20does\x20not\x20match\x20expected\x20text\x20format\x20(got:\x20'+_0x35ac34+')');_0x269a7c=_0x4e6797[0x0];}}else{const _0x21b5e3=_0x52ea20?0x3:0x2;if(_0x6ed6b6[_0x210652(0x1b6)](_0x4e6797['length'],_0x21b5e3))throw new IdGeneratorError('IDGEN_INVALID_NUMBER','Number\x20does\x20not\x20match\x20expected\x20format\x20(got:\x20'+_0x35ac34+',\x20expected\x20'+_0x21b5e3+_0x210652(0x18c));let _0x24bcbd=0x0;if(_0x52ea20){if(_0x6ed6b6[_0x210652(0x1b6)](_0x4e6797[_0x24bcbd],_0x52ea20))throw new IdGeneratorError(_0x6ed6b6['nJzfT'],'Number\x20prefix\x20mismatch:\x20expected\x20'+_0x52ea20+_0x210652(0x17c)+_0x4e6797[_0x24bcbd]);_0x24bcbd++;}_0x4fdaee=_0x4e6797[_0x24bcbd++];const _0x34505c=_0x469bba==='yyyy'?/^\d{4}$/:_0x469bba===_0x6ed6b6[_0x210652(0x26b)]?/^\d{6}$/:/^\d{8}$/;if(!_0x34505c['test'](_0x4fdaee))throw new IdGeneratorError(_0x210652(0x193),'Number\x20datePrefix\x20invalid\x20for\x20format\x20'+_0x469bba+':\x20'+_0x4fdaee);_0x269a7c=_0x4e6797[_0x24bcbd];}if(!new RegExp(_0x210652(0x235)+_0x2eeb91+'}$')['test'](_0x269a7c))throw new IdGeneratorError(_0x6ed6b6['nJzfT'],_0x210652(0x272)+_0x2eeb91+'\x20digits\x20(got:\x20'+_0x269a7c+')');const _0x2cf10f=parseInt(_0x269a7c,0xa),_0x593da4=_0x6ed6b6[_0x210652(0x188)](_0x52ea20,'_');let _0x18292b;return _0x469bba==='text'?_0x18292b=_0x593da4+_0x210652(0x275):_0x18292b=_0x593da4+'_'+_0x469bba+'_'+_0x4fdaee,{'formatKey':_0x18292b,'counterInt':_0x2cf10f,'datePrefix':_0x4fdaee};}['_generateFromPattern'](_0x59489e){let _0x21eadd='';for(const _0x5581f4 of _0x59489e){const _0x1d2b8a=PLACEHOLDER_MAP[_0x5581f4];if(_0x1d2b8a){const _0x221bad=crypto['randomInt'](0x0,_0x1d2b8a['length']);_0x21eadd+=_0x1d2b8a[_0x221bad];}else _0x21eadd+=_0x5581f4;}return _0x21eadd;}async['_retrieveIdemCache'](_0x514857){const _0x343f9f=a0_0x4699fa,_0x2a1213={'xOAPe':_0x343f9f(0x1f0),'wBqbI':_0x343f9f(0x221),'EqVkI':'Idempotency\x20retrieve\x20error'};if(!_0x514857)return null;try{const _0x308ba6=redisClient[_0x343f9f(0x158)](),_0x2097a9=await _0x308ba6[_0x343f9f(0x1ac)](_0x514857);if(_0x2097a9)return logger['info']({'event':_0x343f9f(0x1cb),'key':_0x514857},_0x2a1213[_0x343f9f(0x214)]),JSON[_0x343f9f(0x20d)](_0x2097a9);return null;}catch(_0x23b3e2){return logger[_0x343f9f(0x277)]({'event':_0x2a1213[_0x343f9f(0x273)],'error':_0x23b3e2[_0x343f9f(0x26d)]},_0x2a1213['EqVkI']),null;}}async[a0_0x4699fa(0x269)](_0x82a7c1,_0xb69081){const _0x398b61=a0_0x4699fa,_0x2d44ba={'nmgPL':'idgen_idem_store_error','HnWFb':_0x398b61(0x24b)};if(!_0x82a7c1)return;try{const _0x5bebbe=redisClient[_0x398b61(0x158)]();await _0x5bebbe['setex'](_0x82a7c1,this['idemTTL'],JSON['stringify'](_0xb69081));}catch(_0x50a36c){logger['warn']({'event':_0x2d44ba['nmgPL'],'error':_0x50a36c['message']},_0x2d44ba['HnWFb']);}}async['_storeIdemCacheNX'](_0x544700,_0x4ce75c){const _0x207ce8=a0_0x4699fa,_0x1c26f2={'hDvTO':function(_0x3e325a,_0x2a892b){return _0x3e325a===_0x2a892b;},'mdTxo':_0x207ce8(0x1b7)};if(!_0x544700)return{'stored':!![],'winnerResult':null};try{const _0x8d100=redisClient['getClient'](),_0x53fadd=JSON['stringify'](_0x4ce75c),_0x439df0=await _0x8d100['set'](_0x544700,_0x53fadd,'EX',this['idemTTL'],'NX');if(_0x1c26f2['hDvTO'](_0x439df0,'OK'))return{'stored':!![],'winnerResult':null};const _0x504c95=await _0x8d100[_0x207ce8(0x1ac)](_0x544700);if(_0x504c95)return{'stored':![],'winnerResult':JSON[_0x207ce8(0x20d)](_0x504c95)};return logger[_0x207ce8(0x277)]({'event':_0x207ce8(0x255),'key':_0x544700},'SET\x20NX\x20failed\x20but\x20cache\x20GET\x20returned\x20empty\x20—\x20falling\x20back\x20to\x20own\x20result'),{'stored':!![],'winnerResult':null};}catch(_0x5a4131){return logger[_0x207ce8(0x277)]({'event':_0x1c26f2['mdTxo'],'error':_0x5a4131[_0x207ce8(0x26d)]},'Idempotency\x20SET\x20NX\x20error'),{'stored':!![],'winnerResult':null};}}async['_undoRandomReservation'](_0x327daa,_0x5c8d38,_0x265f40){const _0xd0fcde=a0_0x4699fa,_0x271dd0={'TsPjW':'idgen_random_undo_error'};try{const _0x40fc79=redisClient['getClient']();if(_0x265f40){const _0x189523=this[_0xd0fcde(0x181)](_0x327daa,_0x5c8d38);await _0x40fc79['del'](_0x189523);}else{const _0x3d734f=this[_0xd0fcde(0x1a6)](_0x327daa);await _0x40fc79[_0xd0fcde(0x184)](_0x3d734f,_0x5c8d38);}}catch(_0x21a59d){logger['warn']({'event':_0x271dd0[_0xd0fcde(0x170)],'error':_0x21a59d[_0xd0fcde(0x26d)]},_0xd0fcde(0x1af));}}async[a0_0x4699fa(0x1d1)](_0x52b376,_0x15f233,_0x38eec9,_0x35e376=0x0){const _0x4bc899=a0_0x4699fa,_0xc64ec1={'IxTId':function(_0x1757f4,_0x151375){return _0x1757f4>_0x151375;},'CENdb':'idgen_meta_update_error'};try{const _0x557d00=redisClient['getClient'](),_0x22ed35=this['_buildMetaKey'](_0x52b376,_0x15f233),_0x5ea069=[];for(const [_0x2aa0ce,_0x5bbf88]of Object['entries'](_0x38eec9)){_0x5ea069[_0x4bc899(0x26f)](_0x2aa0ce,String(_0x5bbf88));}if(_0x5ea069['length']>0x0){await _0x557d00[_0x4bc899(0x231)](_0x22ed35,..._0x5ea069);if(_0xc64ec1['IxTId'](_0x35e376,0x0))await _0x557d00[_0x4bc899(0x25f)](_0x22ed35,_0x35e376);}}catch(_0x477f0f){logger['warn']({'event':_0xc64ec1['CENdb'],'error':_0x477f0f[_0x4bc899(0x26d)]},_0x4bc899(0x268));}}async[a0_0x4699fa(0x1fc)](_0x38d642){const _0x344571=a0_0x4699fa,_0x1d6bbc={'ixepX':function(_0x4d6159,_0x20b03d){return _0x4d6159(_0x20b03d);},'Yufng':_0x344571(0x251)};if(!this[_0x344571(0x264)])throw new IdGeneratorError(_0x344571(0x1ce),'ID\x20Generator\x20is\x20disabled\x20(set\x20IDGEN_ENABLED=true)');const _0xac235e=this['_validateNumberParams'](_0x38d642),_0x1c8326=this[_0x344571(0x222)](_0x38d642[_0x344571(0x1c0)]),{resource:_0x25bb5b,format:_0x12292d,prefix:_0x250820,separator:_0x47acf2,numDigits:_0x57da81,reuseDelete:_0x3ff1ec}=_0xac235e,{formatKey:_0x5afd38,datePrefix:_0x5ecece}=this['_buildFormatKey'](_0x12292d,_0x250820),_0x458cbb=this['_buildSeqKey'](_0x25bb5b,_0x5afd38),_0x5288d=this[_0x344571(0x1c6)](_0x25bb5b,_0x5afd38),_0x2badb7=this['_getCounterTTL'](_0x12292d);let _0x1c371f=null;if(_0x1c8326){_0x1c371f=this['_buildIdemKey'](_0x344571(0x1fc),_0x25bb5b,_0x5afd38,_0x1c8326);const _0x5f5baf=await this[_0x344571(0x209)](_0x1c371f);if(_0x5f5baf)return _0x5f5baf;}const _0x433268=redisClient['getClient'](),_0x5e33e8=await _0x433268['eval'](LUA_GENERATE_NUMBER,0x2,_0x458cbb,_0x5288d,_0x3ff1ec?'1':'0',String(_0x2badb7)),_0xcc5dbe=_0x5e33e8[0x0],_0x4747ae=_0x5e33e8[0x1]===0x1,_0x84aad3=this['_formatNumber']({'format':_0x12292d,'prefix':_0x250820,'datePrefix':_0x5ecece,'separator':_0x47acf2,'numDigits':_0x57da81,'counterInt':_0xcc5dbe}),_0x175294={'value':_0x84aad3,'counter':_0xcc5dbe,'resource':_0x25bb5b,'formatKey':_0x5afd38,'isReused':_0x4747ae,'generatedAt':new Date()['toISOString']()},_0x31bc8f=await this[_0x344571(0x21e)](_0x1c371f,_0x175294);if(!_0x31bc8f['stored']){try{await _0x433268['eval'](LUA_RELEASE_NUMBER,0x1,_0x5288d,_0x1d6bbc[_0x344571(0x1f8)](String,_0xcc5dbe),String(_0x2badb7));}catch(_0x50ae6d){logger['warn']({'event':_0x344571(0x1e8),'error':_0x50ae6d['message'],'resource':_0x25bb5b,'formatKey':_0x5afd38,'counterInt':_0xcc5dbe},_0x1d6bbc['Yufng']);}return logger[_0x344571(0x1eb)]({'event':'idgen_number_idem_loser','resource':_0x25bb5b,'formatKey':_0x5afd38,'counter':_0xcc5dbe},'ID\x20Generator\x20number\x20idem\x20race\x20lost,\x20returning\x20winner\x20envelope'),_0x31bc8f[_0x344571(0x18e)];}return this['_updateMeta'](_0x25bb5b,_0x5afd38,{'lastValue':_0x84aad3,'lastCounter':_0xcc5dbe,'lastIsReused':_0x4747ae,'lastGeneratedAt':_0x175294['generatedAt']},_0x2badb7),logger[_0x344571(0x1eb)]({'event':'idgen_number_generated','resource':_0x25bb5b,'formatKey':_0x5afd38,'counter':_0xcc5dbe,'isReused':_0x4747ae},'ID\x20Generator\x20number:\x20'+_0x84aad3),_0x175294;}async[a0_0x4699fa(0x225)](_0x4accce){const _0x357b13=a0_0x4699fa,_0x1ee32b={'eKqaf':'IDGEN_DISABLED','JODHI':'string','nsdIv':_0x357b13(0x193),'QBlbY':_0x357b13(0x1a7),'PdWZn':_0x357b13(0x1bb),'zwTAp':function(_0x53e474,_0x4837bc){return _0x53e474(_0x4837bc);},'GIhKO':function(_0x5bfddb,_0x1d8165){return _0x5bfddb(_0x1d8165);}};if(!this[_0x357b13(0x264)])throw new IdGeneratorError(_0x1ee32b[_0x357b13(0x226)],_0x357b13(0x19b));let _0x48e7c1,_0x2dd157,_0x21a770,_0x2570de;const _0x38b161=this['_validateIdempotencyKey'](_0x4accce['idempotencyKey']);if(_0x4accce['counterInt']!==undefined&&_0x4accce['counterInt']!==null){this[_0x357b13(0x1b5)](_0x4accce['resource']),_0x48e7c1=_0x4accce[_0x357b13(0x15d)];if(typeof _0x4accce[_0x357b13(0x223)]!==_0x1ee32b['JODHI']||_0x4accce['formatKey'][_0x357b13(0x1ab)]===0x0)throw new IdGeneratorError(_0x1ee32b[_0x357b13(0x172)],_0x357b13(0x252));_0x2dd157=_0x4accce['formatKey'];if(!Number['isInteger'](_0x4accce['counterInt'])||_0x4accce[_0x357b13(0x168)]<0x1)throw new IdGeneratorError(_0x1ee32b[_0x357b13(0x172)],'counterInt\x20must\x20be\x20positive\x20integer\x20(got:\x20'+_0x4accce[_0x357b13(0x168)]+')');_0x21a770=_0x4accce[_0x357b13(0x168)];const _0x1bb161=_0x2dd157[_0x357b13(0x196)](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/);_0x2570de=_0x1bb161?_0x1bb161[0x1]:_0x1ee32b['QBlbY'];}else{const _0xb86e42=this[_0x357b13(0x25b)](_0x4accce),_0x312ad1=this[_0x357b13(0x176)]({'format':_0xb86e42['format'],'prefix':_0xb86e42['prefix'],'separator':_0xb86e42['separator'],'numDigits':_0xb86e42['numDigits'],'number':_0x4accce['number']});_0x48e7c1=_0xb86e42[_0x357b13(0x15d)],_0x2dd157=_0x312ad1[_0x357b13(0x223)],_0x21a770=_0x312ad1[_0x357b13(0x168)],_0x2570de=_0xb86e42['format'];}const _0x2abbab=this['_buildReuseKey'](_0x48e7c1,_0x2dd157),_0x21a868=this['_getCounterTTL'](_0x2570de);let _0x5d5c3e=null;if(_0x38b161){_0x5d5c3e=this['_buildIdemKey'](_0x1ee32b[_0x357b13(0x248)],_0x48e7c1,_0x2dd157,_0x38b161);const _0x23045b=await this[_0x357b13(0x209)](_0x5d5c3e);if(_0x23045b)return _0x23045b;}const _0x4b9941=redisClient['getClient']();await _0x4b9941[_0x357b13(0x1fb)](LUA_RELEASE_NUMBER,0x1,_0x2abbab,_0x1ee32b['zwTAp'](String,_0x21a770),_0x1ee32b[_0x357b13(0x217)](String,_0x21a868));const _0x445da3={'released':!![],'resource':_0x48e7c1,'formatKey':_0x2dd157,'counter':_0x21a770,'releasedAt':new Date()[_0x357b13(0x23d)]()};return await this[_0x357b13(0x269)](_0x5d5c3e,_0x445da3),this[_0x357b13(0x1d1)](_0x48e7c1,_0x2dd157,{'lastReleasedCounter':_0x21a770,'lastReleasedAt':_0x445da3[_0x357b13(0x1f2)]},_0x21a868),logger['info']({'event':_0x357b13(0x224),'resource':_0x48e7c1,'formatKey':_0x2dd157,'counter':_0x21a770},'ID\x20Generator\x20number\x20released:\x20'+_0x21a770),_0x445da3;}async['reserveNumber'](_0x20fb1f){const _0x591f9a=a0_0x4699fa,_0x1bb83e={'Sdukt':_0x591f9a(0x1ce),'WtDdW':'ID\x20Generator\x20is\x20disabled\x20(set\x20IDGEN_ENABLED=true)','PlrVN':_0x591f9a(0x163),'rlgJr':function(_0x28b340,_0x58bed2){return _0x28b340+_0x58bed2;},'MfbeU':function(_0x101287,_0x2d2d58){return _0x101287*_0x2d2d58;},'SIUUZ':'formatKey','eGDiP':function(_0x1519fe,_0x243eeb){return _0x1519fe(_0x243eeb);},'csIxa':_0x591f9a(0x182),'vmszY':_0x591f9a(0x205),'dfQwO':_0x591f9a(0x234),'mssob':'idemKey','rxoil':function(_0x2029bc,_0x38f633){return _0x2029bc(_0x38f633);},'EXXiM':function(_0x25db41,_0x140db5){return _0x25db41(_0x140db5);},'GPXgo':function(_0x3f07be,_0x2ef78f){return _0x3f07be===_0x2ef78f;},'uaCsc':_0x591f9a(0x1cc),'GBEHF':'value','rDYjT':'idgen_reserve_value_persist_error','PryMy':_0x591f9a(0x207),'NADcN':'Failed\x20to\x20cancel\x20reservation\x20for\x20idempotency\x20loser','RVFxg':_0x591f9a(0x262)};if(!this['enabled'])throw new IdGeneratorError(_0x1bb83e[_0x591f9a(0x20a)],_0x1bb83e['WtDdW']);const _0x55edac=this[_0x591f9a(0x25b)](_0x20fb1f),_0x2ecf08=this['_validateReserveTTL'](_0x20fb1f[_0x591f9a(0x249)]),_0x3ba162=this[_0x591f9a(0x222)](_0x20fb1f['idempotencyKey']),{resource:_0x5c48b4,format:_0x3efede,prefix:_0x11bfb4,separator:_0x5acc6b,numDigits:_0x297117,reuseDelete:_0x3956fe}=_0x55edac,{formatKey:_0xbb131d,datePrefix:_0x139bce}=this['_buildFormatKey'](_0x3efede,_0x11bfb4),_0x2d25cd=this[_0x591f9a(0x1c1)](_0x5c48b4,_0xbb131d),_0x13e5ef=this['_buildReuseKey'](_0x5c48b4,_0xbb131d),_0x5bf5b1=this[_0x591f9a(0x17f)](_0x5c48b4,_0xbb131d),_0x49baa7=this['_getCounterTTL'](_0x3efede);let _0x2ae6ac=null;if(_0x3ba162){_0x2ae6ac=this['_buildIdemKey'](_0x1bb83e[_0x591f9a(0x21f)],_0x5c48b4,_0xbb131d,_0x3ba162);const _0x33bfac=await this['_retrieveIdemCache'](_0x2ae6ac);if(_0x33bfac)return _0x33bfac;}const _0x5b031b=crypto['randomUUID'](),_0x2cde9c=this['_buildReservationKey'](_0x5b031b),_0x47e5b5=this[_0x591f9a(0x1b4)](),_0x5458b4=Date['now'](),_0x4ce098=_0x1bb83e['rlgJr'](_0x5458b4,_0x1bb83e[_0x591f9a(0x1ff)](_0x2ecf08,0x3e8)),_0x3856ad=_0x1bb83e[_0x591f9a(0x1ff)](_0x2ecf08,0x3e8),_0x244dec=new Date(_0x5458b4)[_0x591f9a(0x23d)](),_0x39f5e0=new Date(_0x4ce098)[_0x591f9a(0x23d)](),_0x1fd272=[_0x591f9a(0x15d),_0x5c48b4,_0x1bb83e['SIUUZ'],_0xbb131d,'format',_0x3efede,_0x591f9a(0x20b),_0x11bfb4,_0x591f9a(0x1b0),_0x5acc6b,'numDigits',_0x1bb83e[_0x591f9a(0x17a)](String,_0x297117),_0x1bb83e['csIxa'],_0x139bce||'',_0x1bb83e[_0x591f9a(0x213)],_0x244dec,_0x1bb83e[_0x591f9a(0x1b3)],_0x39f5e0,_0x591f9a(0x160),String(_0x3856ad)];_0x3ba162&&_0x1fd272[_0x591f9a(0x26f)](_0x1bb83e[_0x591f9a(0x169)],_0x3ba162);const _0x4b3290=redisClient['getClient'](),_0x49fce4=await _0x4b3290[_0x591f9a(0x1fb)](LUA_RESERVE_NUMBER,0x3,_0x2d25cd,_0x13e5ef,_0x5bf5b1,_0x3956fe?'1':'0',_0x1bb83e[_0x591f9a(0x208)](String,_0x49baa7),_0x5b031b,_0x2cde9c,String(_0x3856ad),String(_0x4ce098),_0x1bb83e[_0x591f9a(0x276)](String,_0x5458b4),_0x47e5b5,..._0x1fd272),_0x4f8011=_0x49fce4[0x0],_0x2351f1=_0x1bb83e[_0x591f9a(0x15c)](_0x49fce4[0x1],0x1),_0x361a9d=_0x49fce4[0x2]||0x0;let _0x309c22;try{_0x309c22=this['_formatNumber']({'format':_0x3efede,'prefix':_0x11bfb4,'datePrefix':_0x139bce,'separator':_0x5acc6b,'numDigits':_0x297117,'counterInt':_0x4f8011});}catch(_0x29531d){try{await _0x4b3290['eval'](LUA_CANCEL_RESERVATION,0x3,_0x2cde9c,_0x5bf5b1,_0x13e5ef,_0x5b031b,String(_0x49baa7));}catch(_0x563752){logger['warn']({'event':_0x1bb83e['uaCsc'],'error':_0x563752['message'],'resource':_0x5c48b4,'formatKey':_0xbb131d,'counterInt':_0x4f8011,'token':_0x5b031b},_0x591f9a(0x24f));}throw _0x29531d;}try{await _0x4b3290['hset'](_0x2cde9c,_0x1bb83e['GBEHF'],_0x309c22);}catch(_0x2a30bb){logger[_0x591f9a(0x277)]({'event':_0x1bb83e['rDYjT'],'error':_0x2a30bb['message'],'resource':_0x5c48b4,'formatKey':_0xbb131d,'counterInt':_0x4f8011,'token':_0x5b031b},_0x591f9a(0x261));}const _0x13d1bc={'token':_0x5b031b,'value':_0x309c22,'counter':_0x4f8011,'resource':_0x5c48b4,'formatKey':_0xbb131d,'isReused':_0x2351f1,'createdAt':_0x244dec,'expiresAt':_0x39f5e0,'reapedCount':_0x361a9d},_0x2aefc1=await this[_0x591f9a(0x21e)](_0x2ae6ac,_0x13d1bc);if(!_0x2aefc1[_0x591f9a(0x1a1)]){try{await _0x4b3290['eval'](LUA_CANCEL_RESERVATION,0x3,_0x2cde9c,_0x5bf5b1,_0x13e5ef,_0x5b031b,String(_0x49baa7));}catch(_0x48dee6){logger['warn']({'event':_0x1bb83e['PryMy'],'error':_0x48dee6['message'],'resource':_0x5c48b4,'formatKey':_0xbb131d,'counterInt':_0x4f8011,'token':_0x5b031b},_0x1bb83e['NADcN']);}return logger['info']({'event':'idgen_reserve_idem_loser','resource':_0x5c48b4,'formatKey':_0xbb131d,'counter':_0x4f8011,'token':_0x5b031b},'ID\x20Generator\x20reserve\x20idem\x20race\x20lost,\x20returning\x20winner\x20envelope'),_0x2aefc1[_0x591f9a(0x18e)];}return this[_0x591f9a(0x1d1)](_0x5c48b4,_0xbb131d,{'lastReservedCounter':_0x4f8011,'lastReservedAt':_0x244dec,'lastReapedCount':_0x361a9d},_0x49baa7),logger[_0x591f9a(0x1eb)]({'event':_0x1bb83e[_0x591f9a(0x177)],'resource':_0x5c48b4,'formatKey':_0xbb131d,'counter':_0x4f8011,'isReused':_0x2351f1,'token':_0x5b031b,'ttl':_0x2ecf08,'reapedCount':_0x361a9d},'ID\x20Generator\x20number\x20reserved:\x20'+_0x309c22+_0x591f9a(0x1d8)+_0x5b031b+')'),_0x13d1bc;}async['confirmReservation'](_0x5d1175){const _0x35e30c=a0_0x4699fa,_0x1bddf6={'CpJYt':'ID\x20Generator\x20is\x20disabled','zvPQp':'idgen','IdqYa':_0x35e30c(0x233),'LnSGq':function(_0x15aa7a,_0x25ab2d){return _0x15aa7a!==_0x25ab2d;},'zPHjB':_0x35e30c(0x220),'cvZDQ':_0x35e30c(0x179)};if(!this['enabled'])throw new IdGeneratorError('IDGEN_DISABLED',_0x1bddf6['CpJYt']);const _0x5f21bd=this['_validateReservationToken'](_0x5d1175&&_0x5d1175['token']),_0x49ad1b=this['_validateIdempotencyKey'](_0x5d1175&&_0x5d1175['idempotencyKey']);let _0x2a1c24=null;if(_0x49ad1b){_0x2a1c24=idempotencyManager['buildDeterministicKey'](_0x1bddf6['zvPQp'],_0x1bddf6['IdqYa'],_0x5f21bd+':'+_0x49ad1b);const _0x312472=await this['_retrieveIdemCache'](_0x2a1c24);if(_0x312472)return _0x312472;}const _0x1695b9=await this['_getReservationContext'](_0x5f21bd),_0x5a66ac=redisClient[_0x35e30c(0x158)](),_0x3d3e1a=await _0x5a66ac[_0x35e30c(0x1fb)](LUA_CONFIRM_RESERVATION,0x2,_0x1695b9[_0x35e30c(0x1c4)],_0x1695b9['rsvIdxKey'],_0x5f21bd);if(!_0x3d3e1a||_0x1bddf6[_0x35e30c(0x175)](_0x3d3e1a[0x0],0x1))throw new IdGeneratorError(_0x1bddf6[_0x35e30c(0x19d)],'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x5f21bd,{'token':_0x5f21bd});const _0x1f0add=parseInt(_0x3d3e1a[0x1],0xa),_0x1f8710=_0x3d3e1a[0x2],_0x46f943=_0x3d3e1a[0x3],_0x55a4b7=new Date()[_0x35e30c(0x23d)](),_0x567383={'confirmed':!![],'token':_0x5f21bd,'value':_0x1f8710,'counter':_0x1f0add,'resource':_0x1695b9['resource'],'formatKey':_0x46f943,'confirmedAt':_0x55a4b7};await this[_0x35e30c(0x269)](_0x2a1c24,_0x567383);const _0x2f1e8a=_0x46f943[_0x35e30c(0x196)](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x499bfe=_0x2f1e8a?_0x2f1e8a[0x1]:'text',_0x50d589=this[_0x35e30c(0x1c8)](_0x499bfe);return this[_0x35e30c(0x1d1)](_0x1695b9[_0x35e30c(0x15d)],_0x46f943,{'lastConfirmedCounter':_0x1f0add,'lastConfirmedAt':_0x55a4b7},_0x50d589),logger[_0x35e30c(0x1eb)]({'event':_0x1bddf6['cvZDQ'],'resource':_0x1695b9[_0x35e30c(0x15d)],'formatKey':_0x46f943,'counter':_0x1f0add,'token':_0x5f21bd},_0x35e30c(0x198)+_0x1f8710+_0x35e30c(0x1d8)+_0x5f21bd+')'),_0x567383;}async[a0_0x4699fa(0x22a)](_0x540da1){const _0x4a7575=a0_0x4699fa,_0x302f1c={'PwDou':_0x4a7575(0x19b),'ewWWi':'idgen','gaQzU':_0x4a7575(0x1a7),'LOPIP':function(_0x559071,_0x162053){return _0x559071!==_0x162053;},'jTBrY':'IDGEN_RESERVATION_NOT_FOUND','QgxIC':function(_0x26f8f9,_0x517d45,_0x16d712){return _0x26f8f9(_0x517d45,_0x16d712);},'udjnt':_0x4a7575(0x210)};if(!this['enabled'])throw new IdGeneratorError('IDGEN_DISABLED',_0x302f1c['PwDou']);const _0x4957fc=this['_validateReservationToken'](_0x540da1&&_0x540da1['token']),_0x374bcd=this['_validateIdempotencyKey'](_0x540da1&&_0x540da1['idempotencyKey']);let _0x3a884e=null;if(_0x374bcd){_0x3a884e=idempotencyManager['buildDeterministicKey'](_0x302f1c['ewWWi'],'reserve_cancel',_0x4957fc+':'+_0x374bcd);const _0x7823f9=await this[_0x4a7575(0x209)](_0x3a884e);if(_0x7823f9)return _0x7823f9;}const _0x23ef0b=await this['_getReservationContext'](_0x4957fc),_0x10a343=this[_0x4a7575(0x1c6)](_0x23ef0b['resource'],_0x23ef0b['formatKey']),_0x144a33=_0x23ef0b[_0x4a7575(0x223)][_0x4a7575(0x196)](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x36f169=_0x144a33?_0x144a33[0x1]:_0x302f1c['gaQzU'],_0xa63691=this['_getCounterTTL'](_0x36f169),_0x3ea3c8=redisClient['getClient'](),_0x30107e=await _0x3ea3c8['eval'](LUA_CANCEL_RESERVATION,0x3,_0x23ef0b[_0x4a7575(0x1c4)],_0x23ef0b['rsvIdxKey'],_0x10a343,_0x4957fc,String(_0xa63691));if(!_0x30107e||_0x302f1c['LOPIP'](_0x30107e[0x0],0x1))throw new IdGeneratorError(_0x302f1c[_0x4a7575(0x185)],'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x4957fc,{'token':_0x4957fc});const _0x401940=_0x302f1c[_0x4a7575(0x1f3)](parseInt,_0x30107e[0x1],0xa),_0x1cb94b=_0x30107e[0x2],_0x2fe58a=_0x30107e[0x3],_0x41c995=new Date()[_0x4a7575(0x23d)](),_0x107de6={'cancelled':!![],'token':_0x4957fc,'value':_0x1cb94b,'counter':_0x401940,'resource':_0x23ef0b['resource'],'formatKey':_0x2fe58a,'releasedToReuse':!![],'cancelledAt':_0x41c995};return await this[_0x4a7575(0x269)](_0x3a884e,_0x107de6),this[_0x4a7575(0x1d1)](_0x23ef0b['resource'],_0x2fe58a,{'lastCancelledCounter':_0x401940,'lastCancelledAt':_0x41c995},_0xa63691),logger[_0x4a7575(0x1eb)]({'event':_0x302f1c[_0x4a7575(0x278)],'resource':_0x23ef0b['resource'],'formatKey':_0x2fe58a,'counter':_0x401940,'token':_0x4957fc},'ID\x20Generator\x20reservation\x20cancelled:\x20'+_0x1cb94b+'\x20(token='+_0x4957fc+')'),_0x107de6;}async['extendReservation'](_0x137f10){const _0x4ce985=a0_0x4699fa,_0x37f25d={'oEWDi':_0x4ce985(0x1ce),'JIuME':_0x4ce985(0x19b),'tjNBz':'idgen','BzSOv':function(_0x11cbca,_0x70cdda){return _0x11cbca*_0x70cdda;},'VsMwf':function(_0x396e64,_0x75af1e){return _0x396e64!==_0x75af1e;},'jrZoG':'IDGEN_RESERVATION_NOT_FOUND','uJXAh':function(_0x5aa9ca,_0x162033,_0x3c3fb8){return _0x5aa9ca(_0x162033,_0x3c3fb8);},'grujB':_0x4ce985(0x23f)};if(!this['enabled'])throw new IdGeneratorError(_0x37f25d[_0x4ce985(0x19a)],_0x37f25d['JIuME']);const _0x3ec207=this['_validateReservationToken'](_0x137f10&&_0x137f10[_0x4ce985(0x1e1)]),_0x4a4846=this['_validateReserveTTL'](_0x137f10&&_0x137f10[_0x4ce985(0x249)]),_0x1d0773=this['_validateIdempotencyKey'](_0x137f10&&_0x137f10['idempotencyKey']);let _0x528731=null;if(_0x1d0773){_0x528731=idempotencyManager['buildDeterministicKey'](_0x37f25d['tjNBz'],_0x4ce985(0x199),_0x3ec207+':'+_0x1d0773);const _0x209cad=await this['_retrieveIdemCache'](_0x528731);if(_0x209cad)return _0x209cad;}const _0x25c25e=await this['_getReservationContext'](_0x3ec207),_0x4998af=Date['now'](),_0x2c973e=_0x4998af+_0x4a4846*0x3e8,_0x2a7270=_0x37f25d[_0x4ce985(0x247)](_0x4a4846,0x3e8),_0x4dad5c=new Date(_0x2c973e)[_0x4ce985(0x23d)](),_0x49cdca=redisClient[_0x4ce985(0x158)](),_0xffe23d=await _0x49cdca[_0x4ce985(0x1fb)](LUA_EXTEND_RESERVATION,0x2,_0x25c25e['rsvKey'],_0x25c25e['rsvIdxKey'],_0x3ec207,String(_0x2a7270),String(_0x2c973e),_0x4dad5c);if(!_0xffe23d||_0x37f25d['VsMwf'](_0xffe23d[0x0],0x1))throw new IdGeneratorError(_0x37f25d['jrZoG'],_0x4ce985(0x1aa)+_0x3ec207,{'token':_0x3ec207});const _0x1c9637=_0xffe23d[0x1],_0x245236=_0x37f25d[_0x4ce985(0x216)](parseInt,_0xffe23d[0x2],0xa),_0x4a6761=_0xffe23d[0x3],_0x57b9f4=_0xffe23d[0x4],_0x5e09bd=new Date(_0x4998af)[_0x4ce985(0x23d)](),_0x2099c5={'extended':!![],'token':_0x3ec207,'previousExpiresAt':_0x1c9637,'expiresAt':_0x4dad5c,'ttlMs':_0x2a7270,'resource':_0x25c25e['resource'],'formatKey':_0x57b9f4,'counter':_0x245236,'value':_0x4a6761,'extendedAt':_0x5e09bd};await this['_storeIdemCache'](_0x528731,_0x2099c5);const _0x5c08d5=_0x57b9f4[_0x4ce985(0x196)](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x3640a5=_0x5c08d5?_0x5c08d5[0x1]:'text',_0x1903ed=this['_getCounterTTL'](_0x3640a5);return this['_updateMeta'](_0x25c25e[_0x4ce985(0x15d)],_0x57b9f4,{'lastExtendedCounter':_0x245236,'lastExtendedAt':_0x5e09bd},_0x1903ed),logger[_0x4ce985(0x1eb)]({'event':_0x37f25d['grujB'],'resource':_0x25c25e[_0x4ce985(0x15d)],'formatKey':_0x57b9f4,'counter':_0x245236,'token':_0x3ec207,'ttl':_0x4a4846},'ID\x20Generator\x20reservation\x20extended:\x20'+_0x4a6761+_0x4ce985(0x1d8)+_0x3ec207+',\x20+'+_0x4a4846+'s)'),_0x2099c5;}async['getReservation'](_0x20b1e4){const _0x41c320=a0_0x4699fa,_0x26bb8d={'LwZIz':_0x41c320(0x1ce),'mgJjX':_0x41c320(0x19b),'ylLVx':function(_0x36be64,_0x2f702c){return _0x36be64===_0x2f702c;},'BZxOM':'IDGEN_RESERVATION_NOT_FOUND','JUOPL':function(_0x3791b9,_0x10732c,_0x23a17b){return _0x3791b9(_0x10732c,_0x23a17b);},'ZqmMA':function(_0xcf439e,_0x52b32e){return _0xcf439e===_0x52b32e;},'CNgzw':function(_0x247510,_0x4324aa){return _0x247510===_0x4324aa;},'xlAza':'number'};if(!this[_0x41c320(0x264)])throw new IdGeneratorError(_0x26bb8d[_0x41c320(0x1d7)],_0x26bb8d[_0x41c320(0x23c)]);const _0x2cb185=this[_0x41c320(0x1c3)](_0x20b1e4&&_0x20b1e4[_0x41c320(0x1e1)]),_0x272766=this['_buildReservationKey'](_0x2cb185),_0x1555e8=redisClient[_0x41c320(0x158)](),_0xd1dee4=_0x1555e8['pipeline']();_0xd1dee4[_0x41c320(0x1d9)](_0x272766),_0xd1dee4[_0x41c320(0x173)](_0x272766);const _0x53724f=await _0xd1dee4['exec'](),_0x532764=_0x53724f&&_0x53724f[0x0]&&_0x53724f[0x0][0x1],_0x3abc3b=_0x53724f&&_0x53724f[0x1]&&_0x53724f[0x1][0x1];if(!_0x532764||_0x26bb8d['ylLVx'](Object['keys'](_0x532764)['length'],0x0))throw new IdGeneratorError(_0x26bb8d[_0x41c320(0x1f9)],'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x2cb185,{'token':_0x2cb185});return{'token':_0x2cb185,'resource':_0x532764[_0x41c320(0x15d)]||null,'formatKey':_0x532764[_0x41c320(0x223)]||null,'format':_0x532764[_0x41c320(0x24e)]||null,'prefix':_0x532764['prefix']||'','separator':_0x532764['separator']||'','numDigits':_0x532764[_0x41c320(0x178)]?_0x26bb8d['JUOPL'](parseInt,_0x532764[_0x41c320(0x178)],0xa):null,'datePrefix':_0x532764[_0x41c320(0x182)]||'','counter':_0x532764[_0x41c320(0x20e)]?parseInt(_0x532764[_0x41c320(0x20e)],0xa):null,'value':_0x532764['value']||null,'isReused':_0x532764['isReused']==='1'||_0x26bb8d['ZqmMA'](_0x532764[_0x41c320(0x174)],0x1),'createdAt':_0x532764['createdAt']||null,'expiresAt':_0x532764[_0x41c320(0x234)]||null,'ttlRemainingMs':_0x26bb8d[_0x41c320(0x227)](typeof _0x3abc3b,_0x26bb8d[_0x41c320(0x1bd)])&&_0x3abc3b>=0x0?_0x3abc3b:null};}async['_getReservationContext'](_0x39ccd5){const _0x28d530=a0_0x4699fa,_0x266e01={'DaLAH':_0x28d530(0x223),'aEObf':function(_0x5f51ec,_0x59cba4){return _0x5f51ec||_0x59cba4;}},_0xab1689=this['_buildReservationKey'](_0x39ccd5),_0x41b709=redisClient['getClient'](),_0x2cac6d=await _0x41b709[_0x28d530(0x270)](_0xab1689,_0x28d530(0x15d),_0x266e01[_0x28d530(0x1ea)]),_0x270076=_0x2cac6d&&_0x2cac6d[0x0],_0x9bb591=_0x2cac6d&&_0x2cac6d[0x1];if(_0x266e01[_0x28d530(0x215)](!_0x270076,!_0x9bb591))throw new IdGeneratorError(_0x28d530(0x220),'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x39ccd5,{'token':_0x39ccd5});return{'resource':_0x270076,'formatKey':_0x9bb591,'rsvKey':_0xab1689,'rsvIdxKey':this[_0x28d530(0x17f)](_0x270076,_0x9bb591)};}async['random'](_0x5173c0){const _0x25c65a=a0_0x4699fa,_0x503f24={'OHtND':'ID\x20Generator\x20is\x20disabled','wmXKV':'random','tzBvj':function(_0x157ac2,_0xfa083e){return _0x157ac2===_0xfa083e;},'eBisf':function(_0x1b0c4d,_0x560385){return _0x1b0c4d===_0x560385;},'jWJZL':function(_0x2e603f,_0x195fa2){return _0x2e603f&&_0x195fa2;},'fHSiC':function(_0x2eb51b,_0x1804ac){return _0x2eb51b+_0x1804ac;},'keMrf':function(_0x156410,_0x5574dc){return _0x156410*_0x5574dc;},'EmYMH':'idgen_random_generated','BqaKh':function(_0x79ce5b,_0x4511ae){return _0x79ce5b||_0x4511ae;}};if(!this[_0x25c65a(0x264)])throw new IdGeneratorError('IDGEN_DISABLED',_0x503f24[_0x25c65a(0x186)]);this['_validateResource'](_0x5173c0['resource']),this['_validatePattern'](_0x5173c0['pattern']);const _0x495808=this['_validateTTL'](_0x5173c0['ttl']),_0x51448f=this['_validateMaxRetry'](_0x5173c0[_0x25c65a(0x1a4)]),_0x5e2f06=this['_validateIdempotencyKey'](_0x5173c0['idempotencyKey']),_0x447379=_0x5173c0[_0x25c65a(0x1e6)]===!![],{resource:_0x21c1ec,pattern:_0x16fdc7}=_0x5173c0;let _0x1126bb=null;if(_0x5e2f06){_0x1126bb=this['_buildIdemKey'](_0x503f24[_0x25c65a(0x266)],_0x21c1ec,null,_0x5e2f06);const _0x2af725=await this[_0x25c65a(0x209)](_0x1126bb);if(_0x2af725)return _0x2af725;}const _0x12752c=redisClient['getClient']();let _0x408dda=null,_0x3dc39a=0x0;if(!_0x447379)_0x408dda=this['_generateFromPattern'](_0x16fdc7),_0x3dc39a=0x1;else{for(let _0xdb8c92=0x0;_0xdb8c92<_0x51448f;_0xdb8c92++){_0x3dc39a++;const _0x127b13=this[_0x25c65a(0x20f)](_0x16fdc7);if(_0x495808){const _0x28aed6=this[_0x25c65a(0x181)](_0x21c1ec,_0x127b13),_0x4f60e4=await _0x12752c[_0x25c65a(0x1bc)](_0x28aed6,'1','EX',_0x495808,'NX');if(_0x503f24['tzBvj'](_0x4f60e4,'OK')){_0x408dda=_0x127b13;break;}}else{const _0x49ac53=this['_buildIssuedKey'](_0x21c1ec),_0x1b7dd1=await _0x12752c[_0x25c65a(0x206)](_0x49ac53,_0x127b13);if(_0x1b7dd1===0x1){_0x408dda=_0x127b13;break;}}}if(_0x503f24[_0x25c65a(0x17e)](_0x408dda,null))throw new IdGeneratorError(_0x25c65a(0x1c9),_0x25c65a(0x256)+_0x51448f+'\x20attempts.\x20Increase\x20pattern\x20length\x20or\x20maxRetry.',{'resource':_0x21c1ec,'pattern':_0x16fdc7,'maxRetry':_0x51448f});}const _0x4a756a={'value':_0x408dda,'resource':_0x21c1ec,'pattern':_0x16fdc7,'attemptCount':_0x3dc39a,'generatedAt':new Date()['toISOString']()};_0x503f24['jWJZL'](_0x495808,_0x447379)&&(_0x4a756a['expiresAt']=new Date(_0x503f24['fHSiC'](Date['now'](),_0x503f24[_0x25c65a(0x22f)](_0x495808,0x3e8)))[_0x25c65a(0x23d)]());const _0x4d8032=await this['_storeIdemCacheNX'](_0x1126bb,_0x4a756a);if(!_0x4d8032[_0x25c65a(0x1a1)])return _0x447379&&await this['_undoRandomReservation'](_0x21c1ec,_0x408dda,_0x495808),logger[_0x25c65a(0x1eb)]({'event':_0x25c65a(0x18f),'resource':_0x21c1ec,'pattern':_0x16fdc7,'value':_0x408dda},_0x25c65a(0x211)),_0x4d8032['winnerResult'];return logger['info']({'event':_0x503f24[_0x25c65a(0x162)],'resource':_0x21c1ec,'pattern':_0x16fdc7,'attemptCount':_0x3dc39a,'ensureUnique':_0x447379,'ttl':_0x503f24[_0x25c65a(0x1dd)](_0x495808,0x0)},'ID\x20Generator\x20random:\x20'+_0x408dda),_0x4a756a;}async['pin'](_0x17781a){const _0x5c384d=a0_0x4699fa,_0xd79580={'qIzqF':function(_0xbed04,_0x170778){return _0xbed04<_0x170778;},'NaSHU':'IDGEN_INVALID_DIGITS','ULYBJ':function(_0xe06867,_0x1f94a8){return _0xe06867===_0x1f94a8;}},_0x3dc00d=_0x17781a[_0x5c384d(0x243)]==null?this['defaultPinDigits']:_0x17781a[_0x5c384d(0x243)];if(!Number['isInteger'](_0x3dc00d)||_0xd79580['qIzqF'](_0x3dc00d,MIN_PIN_DIGITS)||_0x3dc00d>MAX_PIN_DIGITS)throw new IdGeneratorError(_0xd79580[_0x5c384d(0x1f1)],_0x5c384d(0x1b9)+MIN_PIN_DIGITS+'-'+MAX_PIN_DIGITS+_0x5c384d(0x27a)+_0x3dc00d+')');const _0x3409af='9'['repeat'](_0x3dc00d);return this['random']({'resource':_0x17781a[_0x5c384d(0x15d)],'pattern':_0x3409af,'ensureUnique':_0xd79580['ULYBJ'](_0x17781a['ensureUnique'],!![]),'ttl':_0x17781a[_0x5c384d(0x249)],'maxRetry':_0x17781a[_0x5c384d(0x1a4)],'idempotencyKey':_0x17781a[_0x5c384d(0x1c0)]});}async['serial'](_0x30b169){const _0x244f49=a0_0x4699fa,_0x1667eb={'qzcng':function(_0x53cad6,_0x527b3d){return _0x53cad6!==_0x527b3d;}},_0x2dddf6=_0x30b169['pattern']||this[_0x244f49(0x257)];return this[_0x244f49(0x1f6)]({'resource':_0x30b169[_0x244f49(0x15d)],'pattern':_0x2dddf6,'ensureUnique':_0x1667eb['qzcng'](_0x30b169['ensureUnique'],![]),'ttl':_0x30b169[_0x244f49(0x249)],'maxRetry':_0x30b169['maxRetry'],'idempotencyKey':_0x30b169['idempotencyKey']});}async[a0_0x4699fa(0x1f7)](_0x10482e){const _0x53cd84=a0_0x4699fa,_0x5790d5={'Thptc':function(_0x392078,_0x2ad3fe){return _0x392078!==_0x2ad3fe;}},_0x280691=_0x10482e[_0x53cd84(0x204)]||this['defaultCodePattern'];return this['random']({'resource':_0x10482e[_0x53cd84(0x15d)],'pattern':_0x280691,'ensureUnique':_0x5790d5[_0x53cd84(0x21a)](_0x10482e['ensureUnique'],![]),'ttl':_0x10482e[_0x53cd84(0x249)],'maxRetry':_0x10482e['maxRetry'],'idempotencyKey':_0x10482e[_0x53cd84(0x1c0)]});}async['consume'](_0x36c14e){const _0x2ddbe5=a0_0x4699fa,_0x396759={'FzayB':_0x2ddbe5(0x19b),'axONv':'string','hhxWq':function(_0x4d2a34,_0x287fbc){return _0x4d2a34>_0x287fbc;},'clDSf':function(_0x4087a6,_0x470e8f){return _0x4087a6+_0x470e8f;},'ZEzwu':_0x2ddbe5(0x236)};if(!this['enabled'])throw new IdGeneratorError('IDGEN_DISABLED',_0x396759[_0x2ddbe5(0x16f)]);this['_validateResource'](_0x36c14e[_0x2ddbe5(0x15d)]);if(typeof _0x36c14e[_0x2ddbe5(0x1fa)]!==_0x396759[_0x2ddbe5(0x17d)]||_0x36c14e['value']['length']===0x0)throw new IdGeneratorError(_0x2ddbe5(0x193),'value\x20is\x20required');const {resource:_0x696c74,value:_0x2f9b89}=_0x36c14e,_0x12fb6e=redisClient['getClient'](),_0x5994c6=this['_buildActiveKey'](_0x696c74,_0x2f9b89),_0x4fb952=this[_0x2ddbe5(0x1a6)](_0x696c74),[_0x47c1e3,_0x22914c]=await Promise['all']([_0x12fb6e['del'](_0x5994c6),_0x12fb6e['srem'](_0x4fb952,_0x2f9b89)]),_0x3488c6=_0x396759[_0x2ddbe5(0x1d5)](_0x396759[_0x2ddbe5(0x15f)](_0x47c1e3,_0x22914c),0x0);return logger[_0x2ddbe5(0x1eb)]({'event':_0x396759[_0x2ddbe5(0x1e9)],'resource':_0x696c74,'value':_0x2f9b89,'consumed':_0x3488c6},'ID\x20Generator\x20consumed:\x20'+_0x2f9b89),{'consumed':_0x3488c6,'resource':_0x696c74,'value':_0x2f9b89,'consumedAt':new Date()[_0x2ddbe5(0x23d)]()};}async['peek'](_0x21a81e){const _0x1ae762=a0_0x4699fa,_0x11f387={'GNWKE':_0x1ae762(0x1ce),'TcfKu':function(_0x5ef411,_0x5bb30d,_0x192560){return _0x5ef411(_0x5bb30d,_0x192560);},'YbAmb':'random'};if(!this[_0x1ae762(0x264)])throw new IdGeneratorError(_0x11f387[_0x1ae762(0x1be)],'ID\x20Generator\x20is\x20disabled');this['_validateResource'](_0x21a81e['resource']);const _0x461af0=_0x21a81e['mode']||_0x1ae762(0x1fc),_0x170f99=redisClient['getClient']();if(_0x461af0===_0x1ae762(0x1fc)){const _0x511e5f=(_0x21a81e[_0x1ae762(0x24e)]||_0x1ae762(0x1a7))[_0x1ae762(0x25c)]();if(!ALLOWED_FORMATS[_0x1ae762(0x1ec)](_0x511e5f))throw new IdGeneratorError('IDGEN_INVALID_FORMAT',_0x1ae762(0x27b)+_0x21a81e['format']);const {formatKey:_0xd8fac6}=this['_buildFormatKey'](_0x511e5f,_0x21a81e[_0x1ae762(0x20b)]||''),_0x21633e=this[_0x1ae762(0x1c1)](_0x21a81e['resource'],_0xd8fac6),_0x52d33a=this['_buildReuseKey'](_0x21a81e[_0x1ae762(0x15d)],_0xd8fac6),[_0x236291,_0x26d42a]=await Promise['all']([_0x170f99['get'](_0x21633e),_0x170f99['zcard'](_0x52d33a)]);return{'resource':_0x21a81e[_0x1ae762(0x15d)],'mode':_0x1ae762(0x1fc),'formatKey':_0xd8fac6,'currentCounter':_0x11f387[_0x1ae762(0x212)](parseInt,_0x236291,0xa)||0x0,'reusePoolSize':_0x26d42a||0x0};}if(_0x461af0===_0x11f387['YbAmb']){const _0x57b306=this[_0x1ae762(0x1a6)](_0x21a81e[_0x1ae762(0x15d)]),_0x53e193=await _0x170f99['scard'](_0x57b306);return{'resource':_0x21a81e[_0x1ae762(0x15d)],'mode':'random','issuedCount':_0x53e193||0x0};}throw new IdGeneratorError(_0x1ae762(0x1b1),'Unknown\x20mode:\x20'+_0x461af0);}async['getInfo'](_0x56b12a){const _0x29c9a2=a0_0x4699fa,_0x17411a={'ilzyN':_0x29c9a2(0x1fc),'Byxap':function(_0x4b0d34,_0x10b143){return _0x4b0d34>_0x10b143;}},_0x4ba7fa=await this[_0x29c9a2(0x1fe)](_0x56b12a);if(_0x4ba7fa[_0x29c9a2(0x164)]===_0x17411a[_0x29c9a2(0x24a)]){const _0x1ee752=redisClient['getClient'](),_0x12cb13=this[_0x29c9a2(0x1d6)](_0x56b12a[_0x29c9a2(0x15d)],_0x4ba7fa[_0x29c9a2(0x223)]),_0x25475b=this[_0x29c9a2(0x1c6)](_0x56b12a['resource'],_0x4ba7fa['formatKey']),[_0x37105f,_0x1ef814]=await Promise[_0x29c9a2(0x26c)]([_0x1ee752['hgetall'](_0x12cb13),_0x1ee752['zrange'](_0x25475b,0x0,-0x1)]);return{..._0x4ba7fa,'reusePoolValues':_0x1ef814[_0x29c9a2(0x1ee)](_0xc5a915=>parseInt(_0xc5a915,0xa)),'meta':_0x37105f&&_0x17411a[_0x29c9a2(0x1da)](Object[_0x29c9a2(0x1cd)](_0x37105f)['length'],0x0)?_0x37105f:null};}return _0x4ba7fa;}async['reset'](_0x571d27){const _0x59f695=a0_0x4699fa,_0x49c086={'xXnrz':'IDGEN_DISABLED','jhWEh':_0x59f695(0x19b),'TBidX':function(_0x2031e8,_0x488352){return _0x2031e8===_0x488352;},'mGLdS':_0x59f695(0x1fc),'yGlnN':_0x59f695(0x265),'ecAsi':function(_0x134a1a,_0x5734b0){return _0x134a1a===_0x5734b0;},'KMlHN':'idgen_reset','qXCwD':'random','JxVvF':'IDGEN_INVALID_MODE'};if(!this[_0x59f695(0x264)])throw new IdGeneratorError(_0x49c086[_0x59f695(0x22d)],_0x49c086[_0x59f695(0x232)]);if(!this[_0x59f695(0x263)])throw new IdGeneratorError(_0x59f695(0x201),'Reset\x20operation\x20not\x20allowed\x20(set\x20IDGEN_ALLOW_RESET=true\x20to\x20enable)');this[_0x59f695(0x1b5)](_0x571d27[_0x59f695(0x15d)]);const _0x587cf5=_0x571d27[_0x59f695(0x164)]||_0x59f695(0x1fc),_0x1676c7=redisClient['getClient']();if(_0x49c086['TBidX'](_0x587cf5,_0x49c086[_0x59f695(0x1c2)])){const _0x150716=(_0x571d27[_0x59f695(0x24e)]||_0x59f695(0x1a7))[_0x59f695(0x25c)]();if(!ALLOWED_FORMATS[_0x59f695(0x1ec)](_0x150716))throw new IdGeneratorError('IDGEN_INVALID_FORMAT',_0x59f695(0x27b)+_0x571d27['format']);const {formatKey:_0x15edc7}=this[_0x59f695(0x203)](_0x150716,_0x571d27[_0x59f695(0x20b)]||''),_0x26702a=this['_buildSeqKey'](_0x571d27[_0x59f695(0x15d)],_0x15edc7),_0x22092c=this[_0x59f695(0x1c6)](_0x571d27['resource'],_0x15edc7),_0x4f4262=this['_buildMetaKey'](_0x571d27[_0x59f695(0x15d)],_0x15edc7);return await _0x1676c7['del'](_0x26702a,_0x22092c,_0x4f4262),logger[_0x59f695(0x277)]({'event':'idgen_reset','resource':_0x571d27[_0x59f695(0x15d)],'mode':_0x59f695(0x1fc),'formatKey':_0x15edc7},'ID\x20Generator\x20reset:\x20'+_0x571d27['resource']+':'+_0x15edc7),{'reset':!![],'resource':_0x571d27['resource'],'mode':_0x59f695(0x1fc),'formatKey':_0x15edc7,'deletedKeys':['seq',_0x59f695(0x166),_0x49c086[_0x59f695(0x195)]]};}if(_0x49c086['ecAsi'](_0x587cf5,_0x59f695(0x1f6))){const _0x312e4b=this[_0x59f695(0x1a6)](_0x571d27['resource']);return await _0x1676c7['del'](_0x312e4b),logger[_0x59f695(0x277)]({'event':_0x49c086['KMlHN'],'resource':_0x571d27['resource'],'mode':_0x49c086['qXCwD']},_0x59f695(0x26a)+_0x571d27[_0x59f695(0x15d)]),{'reset':!![],'resource':_0x571d27[_0x59f695(0x15d)],'mode':_0x59f695(0x1f6),'deletedKeys':['issued']};}throw new IdGeneratorError(_0x49c086['JxVvF'],_0x59f695(0x1d3)+_0x587cf5);}}const instance=new IdGenerator();instance[a0_0x4699fa(0x1a0)]=IdGeneratorError,module['exports']=instance,module['exports']['IdGeneratorError']=IdGeneratorError;function a0_0x25a6(){const _0x14afbd=['AgH4v3e','x2j1AwXKtwv0yuTLEq','thDAsxO','icH0B2TLBJ0','AgDLDgfSBa','qNL4yxa','q291BNrLCIbVDMvYzMXVDZOG','sw52ywXPzcbZzxbHCMf0B3i6ig1HEcaZignOyxiSig11C3qGBM90ignVBNrHAw4GjZONicHNB3q6ia','qNfHs2G','cMLMihjLzgLZlMnHBgWOj0vysvnuuYCSieTfwvnBmv0Pid09idaGDgHLBGOGihjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqOGihjLDhvYBIb7idaGFqPLBMqkBg9JywWGAca9ihjLzgLZlMnHBgWOj0Hnr0vujYWGs0vzu1SXxsWGj2nVDw50zxiNlcaNDMfSDwuNlcaNzM9YBwf0s2v5jYKkBg9JywWGy291BNrLCIa9igHBmv0kAwyGy291BNrLCIb0AgvUcIaGCMvKAxmUy2fSBcGNwKfercCSieTfwvnBm10SignVDw50zxiSignVDw50zxiPcIaGBg9JywWGDhrSid0GDg9UDw1IzxiOqvjhvLSYxsKkicbPzIb0DgWGpIaWihrOzw4kicaGihjLzgLZlMnHBgWOj0vyueLsrsCSieTfwvnBm10Sihr0BcKkicbLBMqkzw5KcNjLzgLZlMnHBgWOj0rftcCSieTfwvnBmv0PcNjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqPYzxr1CM4GEYaXlcbJB3vUDgvYlcbOwZjDlcbOwZnDih0k','sw52ywXPzcb0DgW6ig11C3qGyMuGAw50zwDLCIaXlq','s3PiAhO','Dg9Rzw4','Dw1eCLa','Bwv0ytO','C3rYAw5N','mtaWmJGYmM5AzwzKuq','zw5ZDxjLvw5PCxvL','rNzuqxe','AwrNzw5FAwrLBv9SB3nLCL9YzwXLyxnLx2vYCM9Y','wKv6D3u','rgfmquG','Aw5MBW','AgfZ','ihnLy29UzhmGkgDVDdOG','BwfW','surhru5FuKvtrvjwrv9eruzbvuXux1ruta','swrLBxbVDgvUy3KGy2fJAguGseLu','tMftsfu','CMvSzwfZzwrbDa','uwD4sum','BKP6zLq','sw52ywXPzcbWyxr0zxjUoIbTDxn0igjLihn0CMLUzYaXlq','CMfUzg9T','y29Kzq','AxHLCfG','qLP4t00','DMfSDwu','zxzHBa','BNvTyMvY','mJuWmKvHB29UrW','CgvLAW','twzIzvu','CMX3AKe','surhru5FuKvtrvrFtK9ux0fmte9xruq','sw52ywXPzcbYzxnLCNzHDgLVBIb0B2TLBJOGBxvZDcbIzsbHihzHBgLKifvvsuqGzM9YBwf0icHNB3q6ia','x2j1AwXKrM9YBwf0s2v5','Cgf0DgvYBG','y3jLyxrLzef0','C2fKza','AwrNzw5FCMvZzxj2zv9PzgvTx2XVC2vYx2nHBMnLBf9LCNjVCG','CNHVAwW','x3jLDhjPzxzLswrLBunHy2HL','u2r1A3q','ChjLzML4','BxPUqKe','CgfYC2u','y291BNrLCG','x2DLBMvYyxrLrNjVBvbHDhrLCM4','AwrNzw5FCMvZzxj2yxrPB25Fy2fUy2vSBgvK','suqGr2vUzxjHDg9YihjHBMrVBsbPzgvTihjHy2uGBg9ZDcWGCMv0DxjUAw5NihDPBM5LCIbLBNzLBg9Wzq','vgnMs3u','DM1ZELK','Ee9bugu','yuvpyMy','DuPyqwG','r0LOs08','qujdrevgr0HjsKTmtu5puffsu1rvvLDywvO','ExL5Ew1T','vgHWDgm','zgvMyxvSDfbPBKrPz2L0CW','AM9PBG','wNbrs00','x3n0B3jLswrLBunHy2HLtLG','ugXYvK4','surhru5FuKvtrvjwqvrjt05FtK9ux0zpvu5e','AwrNzw5FAwrLBv9YzxrYAwv2zv9LCNjVCG','x3zHBgLKyxrLswrLBxbVDgvUy3LlzxK','zM9YBwf0s2v5','AwrNzw5FBNvTyMvYx3jLBgvHC2vK','CMvSzwfZzu51BwjLCG','zuTXywy','q05NENC','x2vUC3vYzuLUAxrPywXPEMvK','surhru5Fsu5wquXjrf9uveW','y2fUy2vSuMvZzxj2yxrPB24','zgjQufy','zw52','EfHUCNO','x3zHBgLKyxrLtwf4uMv0CNK','A2vnCMy','CMvZzxj2zu1HEfruta','AhnLDa','AMHxrwG','CMvZzxj2zv9JB25MAxjT','zxHWAxjLC0f0','xLXKEW','AwrNzw5Fy29UC3vTzwq','sw52ywXPzcbWCMvMAxG6ig11C3qGBwf0y2GG','C3rYAw5NAwz5','sw52ywXPzcbUDw1eAwDPDhm6ig11C3qGyMuGAw50zwDLCIa','sw52ywXPzcbYzxnVDxjJztOGBxvZDcbTyxrJAca','ELnSvNO','BwDkALG','Dg9ju09tDhjPBMC','r3rJv3u','AwrNzw5FCMvZzxj2yxrPB25FzxH0zw5Kzwq','tLzxDfm','nJi3nZuWAxLvsufM','surhru5Fsu5wquXjrf9nqvHFuKvuuLK','zgLNAxrZ','AxnjBNrLz2vY','x3bHzdi','ignOyxjZicHNB3qGBgvUz3rOoIa','qNPtt3y','ugrxwM4','DhrS','AwX6Eu4','swrLBxbVDgvUy3KGC3rVCMuGzxjYB3i','z2v0tw9UDgG','yM9VBgvHBG','zM9YBwf0','rMfPBgvKihrVignVBxbLBNnHDguGCMvZzxj2yxrPB24Gywz0zxiGy291BNrLCIbVDMvYzMXVDW','mJHmANnqy3m','rMfPBgvKihrVihjLBgvHC2uGy291BNrLCIbMB3iGAwrLBxbVDgvUy3KGBg9Zzxi','zM9YBwf0s2v5igLZihjLCxvPCMvKigLUigXVDY1SzxzLBcbYzwXLyxnL','x2LUAxrPywXPEMvK','CMHmseW','AwrNzw5FAwrLBv9UEf9YywnLx2XVC3rFyNv0x2vTChr5','q291BgqGBM90igDLBMvYyxrLihvUAxf1zsb2ywX1zsbHzNrLCIa','zgvMyxvSDfnLCMLHBfbHDhrLCM4','surhru5Fq09vtLrfuL9pvKvsrKXpvW','z2v0rgf0zq','CMy6AwrNzw46','x3zHBgLKyxrLtNvTyMvYugfYyw1Z','Dg9mB3DLCKnHC2u','zgvMyxvSDe1HEfjLDhj5','x2j1AwXKswrLBuTLEq','zxHWAxjL','mtKWmKfSyLH4qW','rMfPBgvKihrVihbLCNnPC3qGzM9YBwf0DgvKihzHBhvLihrVihjLC2vYDMf0Aw9UigHHC2G','AwrNzw5FBNvTyMvYx3jLC2vYDMvK','ywXSB3DszxnLDa','zw5HyMXLza','Bwv0yq','D21ys1y','zgvMyxvSDenVzgvqyxr0zxjU','twv0ysb1CgrHDguGzxjYB3i','x3n0B3jLswrLBunHy2HL','suqGr2vUzxjHDg9YihjLC2v0oIbYyw5KB206','qNvMtLq','ywXS','BwvZC2fNzq','x3zHBgLKyxrLugf0DgvYBG','ChvZAa','Ag1Nzxq','qwnlzgK','tNvTyMvYignVDw50zxiGCgfYDcbTDxn0igjLigv4ywn0BhKG','D0jXyKK','mtGYnZfUt2TUCKO','x3rLEhq','rvHyAu0','D2fYBG','DwrQBNq','mZuWmJeWnhrSzgPKDq','icHNB3q6ia','sw52ywXPzcbMB3jTyxq6ia','CNn2oG','z2v0q2XPzw50','sw52ywXPzcbPzgvTCg90zw5JEuTLEtOGBxvZDcbIzsbZDhjPBMCGms0','x2nVDw50zxjuveXnyxa','zxHstNG','r1byz28','CMvZB3vYy2u','uuD6BwC','y2Xeu2y','DhrStxm','A1vMDNi','rw1ztuG','CMvZzxj2zq','Bw9Kzq','suqGr2vUzxjHDg9YignVBMzPzYbPBML0AwfSAxPLzcaTigvUywjSzwq6ia','CMv1C2u','CgfKzgvKicHNB3q6ia','y291BNrLCKLUDa','BxnZB2i','sw52ywXPzcbUDw1Izxi6ig11C3qGyMuGBM9UlwvTChr5ihn0CMLUzW','surhru5Frevgqvvmvf9nqvHFuKvuuLK','x3L5ExLF','DgvZDa','A2v5uhjLzML4','rNPHEui','vhnqALC','vNzHAxu','BNnKsxy','Chr0Ba','AxnszxvZzwq','tg5tr3e','x3bHCNnLtNvTyMvY','uLzgEgC','BNvTrgLNAxrZ','AwrNzw5FCMvZzxj2yxrPB25Fy29UzMLYBwvK','zuDeAva','u2fpA08','lcbNB3qG','yxHptNy','zujPC2y','x2j1AwXKuMvZzxj2yxrPB25jBMrLEeTLEq','zNDRB1u','x2j1AwXKqwn0AxzLs2v5','zgf0zvbYzwzPEa','x2zVCM1HDe51BwjLCG','C3jLBq','ALrcCLK','t0H0tKq','BMfTzq','z2z3CKG','yNvPBgrezxrLCM1PBMLZDgLJs2v5','odq5yuPuEwLw','mJa1mePAt2XYqq','ihbHCNrZkq','ignOyxjZ','D2LUBMvYuMvZDwX0','AwrNzw5FCMfUzg9Tx2LKzw1FBg9Zzxi','CMv1C2u6','x3zHBgLKyxrLuMvZzxj2zvruta','surhru5Fsu5wquXjrf9srvnpvvjdrq','surhru5Fsu5wquXjrf9ovu1crvi','sw52ywXPzcbMB3jTyxq6ig11C3qGyMuGB25Lig9Mia','EuDSBK4','Bwf0y2G','mtm0otvqvuLbqxi','suqGr2vUzxjHDg9YihjLC2vYDMf0Aw9UignVBMzPCM1LzdOG','CMvZzxj2zv9LEhrLBMq','B0vxrgK','suqGr2vUzxjHDg9YigLZigrPC2fIBgvK','x2rLzMf1BhrqAw5eAwDPDhm','ELbiAKi','sw52ywXPzcbWyxr0zxjUoIbTDxn0ignVBNrHAw4GyxqGBgvHC3qGB25LihbSywnLAg9SzgvYignOyxjHy3rLCIaOos9ol0eVys9ml1GVEc9il2GP','x2TLEvbYzwzPEa','swrhzw5LCMf0B3jfCNjVCG','C3rVCMvK','tNvTyMvYigrVzxmGBM90ig1HDgnOigv4CgvJDgvKigzVCM1HDcbWCMvMAxG','cMXVy2fSihvUCgSGpsb1BNbHy2SGB3iGDgfIBguUDw5WywnRcGOTlsbtDgvWide6igXHENKGCMvHCcbLEhbPCMvKihjLC2vYDMf0Aw9UCYaOy2fWifjfu0vsvKvFuKvbuf9cqvrdscKkBg9JywWGCMvHCgvKid0GmaPSB2nHBcbUB3DnCYa9iefsr1zBn10kBg9JywWGCNn2uhjLzML4id0GqvjhvLS4xqPSB2nHBcbLEhbPCMvKid0GCMvKAxmUy2fSBcGNwLjbtKDfqLLtq09srsCSieTfwvnBm10SicCTAw5MjYWGjYGNic4Uig5VD01ZlcaNteLnsvqNlcaWlca2ncKkzM9YigKGpsaXlcaJzxHWAxjLzcbKBWOGigXVy2fSigv4CfrVA2vUid0GzxHWAxjLzfTPxqOGigXVy2fSigv4CfjZDKTLEsa9ihjZDLbYzwzPEcaUlIbLEhbuB2TLBGOGigXVy2fSigv4CenVDw50zxiGpsbYzwrPCY5JywXSkcDir0vujYWGzxHWuNn2s2v5lcaNy291BNrLCICPcIaGAwyGzxHWq291BNrLCIb0AgvUcIaGicbYzwrPCY5JywXSkcDAqurejYWGs0vzu1SYxsWGzxHWq291BNrLCIWGzxHWq291BNrLCIKkicbLBMqkicbYzwrPCY5JywXSkcDeruWNlcbLEhbsC3zlzxKPcIaGCMvKAxmUy2fSBcGNwLjftsCSieTfwvnBm10Sigv4CfrVA2vUkqOGihjLyxbLzca9ihjLyxbLzcaRidekzw5KcGOTlsbtDgvWidi6igfSBg9JyxrLignVDw50zxiGkfPqt1bnsu4GCMv1C2uGyxrHDsbjtKnsihnLCsKkBg9JywWGy291BNrLCKLUDaPSB2nHBcbPC1jLDxnLzca9idakAwyGqvjhvLSXxsa9psaNmsCGDgHLBGOGigXVy2fSihiGpsbYzwrPCY5JywXSkcDAue9qtuLojYWGs0vzu1SYxsWGmsKkicbPzIaJCIa+idaGDgHLBGOGicaGy291BNrLCKLUDca9ihrVBNvTyMvYkhjBmv0PcIaGicbPC1jLDxnLzca9idekicbLBMqkzw5KcMLMig5VDcbJB3vUDgvYsw50ihrOzw4kicbJB3vUDgvYsw50id0GCMvKAxmUy2fSBcGNsu5duICSieTfwvnBmv0PcIaGBg9JywWGy3r0Bca9ihrVBNvTyMvYkefsr1zBmL0PcIaGAwyGy3r0Bca+idaGyw5KignVDw50zxjjBNqGpt0Gmsb0AgvUcIaGicbYzwrPCY5JywXSkcDfwfbjuKuNlcblrvLtwZfDlcbJDhrSkqOGigvUzaPLBMqkcI0Tifn0zxaGmZOGD3jPDguGCMvZzxj2yxrPB24GAgfZAcaRigLUzgv4icSGvfrmcMXVy2fSihjZDKTLEsa9iefsr1zBnf0kBg9JywWGCNn2vhrStxmGpsb0B251BwjLCIHbuKDwwZvDkqPSB2nHBcbLEhbPCMvZqxrnCYa9ihrVBNvTyMvYkefsr1zBnL0PcMXVy2fSig5HCMDZid0Gi0fsr1ykBg9JywWGzMLLBgrZid0GE30kzM9YigKGpsa5lcbUyxjNCYbKBWOGigzPzwXKC1SJzMLLBgrZicSGmv0GpsbbuKDww2LDcMvUzaPYzwrPCY5JywXSkcDiu0vujYWGCNn2s2v5lcaNy291BNrLCICSignVDw50zxjjBNqSicDPC1jLDxnLzcCSigLZuMv1C2vKlcb1BNbRkgzPzwXKCYKPcNjLzgLZlMnHBgWOj1bfwfbjuKuNlcbYC3zlzxKSihjZDLr0Be1ZkqPYzwrPCY5JywXSkcDAqurejYWGs0vzu1SZxsWGzxHWAxjLC0f0txmSiefsr1zBm10PcNjLzgLZlMnHBgWOj0vyueLsrsCSieTfwvnBm10Sig1HDgGUzMXVB3iOCNn2vhrStxmGlYaXmdaWksaRidyWkqOkCMv0DxjUihSGy291BNrLCKLUDcWGAxnszxvZzwqSihjLyxbLzcb9cG','Bwf4uMv0CNK','sLHgBhO','x2j1AwXKsxnZDwvKs2v5','Dgv4Da','AwrNzw4','x3jLC2vYDMvnyxHuveW','uMvZzxj2yxrPB24GBM90igzVDw5Kig9YigfSCMvHzhKGy29UC3vTzwq6ia','BgvUz3rO','z2v0','u2TXze8','x2vUywjSzwq','uMfUzg9TihjLC2vYDMf0Aw9UihvUzg8GzxjYB3iGkg9YCgHHBIbZBg90ig1HEsbYzw1HAw4P','C2vWyxjHDg9Y','surhru5Fsu5wquXjrf9nt0rf','x2rLzMf1BhrtzxjPywXqyxr0zxjU','zgzrD08','x2j1AwXKuMvZzxj2yxrPB25lzxLqCMvMAxG','x3zHBgLKyxrLuMvZB3vYy2u','EMXkEg0','AwrNzw5FAwrLBv9ZDg9Yzw54x2vYCM9Y','ks4Gsw5JCMvHC2uGBNvTrgLNAxrZlG','sw52ywXPzcbKAwDPDhm6ig11C3qGyMuGAw50zwDLCIa','x2LKzw1uveW','CMvSzwfZzq','C2v0','EgXbEMe','r05xs0u','surhru5FuKvtrvjwrv9nqvHFvfrm','AwrLBxbVDgvUy3LlzxK','x2j1AwXKu2vXs2v5','BuDmzfm','x3zHBgLKyxrLuMvZzxj2yxrPB25uB2TLBG','CNn2s2v5','mta5mJyWogf2D0P2ra','x2j1AwXKuMv1C2vlzxK','x2fSBg93uMvZzxq','x2DLDenVDw50zxjuveW','surhru5Fvu5juvvfx1jfvfjzx0vysefvu1rfra','sw52ywXPzcbTyxHszxrYEtOGBxvZDcbIzsbPBNrLz2vYideT','AwrNzw5FAwrLBv9OAxq','AwrNzw5FCMvZzxj2zv9VDMvYzMXVD19JB21Wzw5ZyxrPB25FzxjYB3i','A2v5CW','surhru5FreLtqujmruq','r0H6tey','ExL5Ew1Tzgq','x3vWzgf0zu1LDge','x3zHBgLKyxrLvfrm','vw5RBM93BIbTB2rLoIa','x3jLC2vYDMvezwzHDwX0vfrm'];a0_0x25a6=function(){return _0x14afbd;};return a0_0x25a6();}
1
+ 'use strict';const a0_0x1ed12e=a0_0x4f6e;(function(_0x401f40,_0x4c9f01){const _0x1e9dda=a0_0x4f6e,_0x2f86e3=_0x401f40();while(!![]){try{const _0x3744c1=-parseInt(_0x1e9dda(0x1fa))/0x1+-parseInt(_0x1e9dda(0x273))/0x2+-parseInt(_0x1e9dda(0x1c3))/0x3*(parseInt(_0x1e9dda(0x22d))/0x4)+-parseInt(_0x1e9dda(0x1c1))/0x5*(-parseInt(_0x1e9dda(0x1f8))/0x6)+parseInt(_0x1e9dda(0x1c7))/0x7+parseInt(_0x1e9dda(0x2be))/0x8+parseInt(_0x1e9dda(0x234))/0x9;if(_0x3744c1===_0x4c9f01)break;else _0x2f86e3['push'](_0x2f86e3['shift']());}catch(_0x44dc89){_0x2f86e3['push'](_0x2f86e3['shift']());}}}(a0_0x1fef,0x64ae0));const crypto=require('crypto'),redisClient=require('./redis-client'),{logger}=require('./logger'),idempotencyManager=require(a0_0x1ed12e(0x28e)),ALLOWED_FORMATS=new Set([a0_0x1ed12e(0x1fd),'yyyy',a0_0x1ed12e(0x269),'yyyymmdd']),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='0123456789abcdef',PLACEHOLDER_MAP={'9':CHARSET_DIGIT,'N':CHARSET_DIGIT,'A':CHARSET_UPPER,'a':CHARSET_LOWER,'L':CHARSET_LETTERS,'X':CHARSET_UPPER_ALNUM,'x':CHARSET_MIXED_ALNUM,'H':CHARSET_HEX_UPPER,'h':CHARSET_HEX_LOWER},LUA_GENERATE_NUMBER='\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_0x1ed12e(0x26d),LUA_RESERVE_NUMBER='\x0alocal\x20unpk\x20=\x20unpack\x20or\x20table.unpack\x0a\x0a--\x20Step\x201:\x20lazy\x20reap\x20expired\x20reservations\x20(cap\x20RESERVE_REAP_BATCH)\x0alocal\x20reaped\x20=\x200\x0alocal\x20nowMs\x20=\x20ARGV[7]\x0alocal\x20rsvPrefix\x20=\x20ARGV[8]\x0alocal\x20expired\x20=\x20redis.call(\x27ZRANGEBYSCORE\x27,\x20KEYS[3],\x20\x27-inf\x27,\x20\x27(\x27\x20..\x20nowMs,\x20\x27LIMIT\x27,\x200,\x2064)\x0afor\x20i\x20=\x201,\x20#expired\x20do\x0a\x20\x20local\x20expToken\x20=\x20expired[i]\x0a\x20\x20local\x20expRsvKey\x20=\x20rsvPrefix\x20..\x20expToken\x0a\x20\x20local\x20expCounter\x20=\x20redis.call(\x27HGET\x27,\x20expRsvKey,\x20\x27counter\x27)\x0a\x20\x20if\x20expCounter\x20then\x0a\x20\x20\x20\x20redis.call(\x27ZADD\x27,\x20KEYS[2],\x20expCounter,\x20expCounter)\x0a\x20\x20end\x0a\x20\x20redis.call(\x27DEL\x27,\x20expRsvKey)\x0a\x20\x20redis.call(\x27ZREM\x27,\x20KEYS[3],\x20expToken)\x0a\x20\x20reaped\x20=\x20reaped\x20+\x201\x0aend\x0a\x0a--\x20Step\x202:\x20allocate\x20counter\x20(ZPOPMIN\x20reuse\x20atau\x20INCR\x20seq)\x0alocal\x20counterInt\x0alocal\x20isReused\x20=\x200\x0aif\x20ARGV[1]\x20==\x20\x271\x27\x20then\x0a\x20\x20local\x20r\x20=\x20redis.call(\x27ZPOPMIN\x27,\x20KEYS[2],\x201)\x0a\x20\x20if\x20#r\x20>\x200\x20then\x0a\x20\x20\x20\x20counterInt\x20=\x20tonumber(r[1])\x0a\x20\x20\x20\x20isReused\x20=\x201\x0a\x20\x20end\x0aend\x0aif\x20not\x20counterInt\x20then\x0a\x20\x20counterInt\x20=\x20redis.call(\x27INCR\x27,\x20KEYS[1])\x0a\x20\x20local\x20cttl\x20=\x20tonumber(ARGV[2])\x0a\x20\x20if\x20cttl\x20>\x200\x20and\x20counterInt\x20==\x201\x20then\x0a\x20\x20\x20\x20redis.call(\x27EXPIRE\x27,\x20KEYS[1],\x20cttl)\x0a\x20\x20end\x0aend\x0a\x0a--\x20Step\x203:\x20write\x20reservation\x20hash\x20+\x20index\x20+\x20TTL\x0alocal\x20rsvKey\x20=\x20ARGV[4]\x0alocal\x20rsvTtlMs\x20=\x20tonumber(ARGV[5])\x0alocal\x20expiresAtMs\x20=\x20tonumber(ARGV[6])\x0alocal\x20nargs\x20=\x20#ARGV\x0alocal\x20fields\x20=\x20{}\x0afor\x20i\x20=\x209,\x20nargs\x20do\x0a\x20\x20fields[#fields\x20+\x201]\x20=\x20ARGV[i]\x0aend\x0aredis.call(\x27HSET\x27,\x20rsvKey,\x20\x27counter\x27,\x20counterInt,\x20\x27isReused\x27,\x20isReused,\x20unpk(fields))\x0aredis.call(\x27PEXPIRE\x27,\x20rsvKey,\x20rsvTtlMs)\x0aredis.call(\x27ZADD\x27,\x20KEYS[3],\x20expiresAtMs,\x20ARGV[3])\x0aredis.call(\x27EXPIRE\x27,\x20KEYS[3],\x20math.floor(rsvTtlMs\x20/\x201000)\x20+\x2060)\x0a\x0areturn\x20{\x20counterInt,\x20isReused,\x20reaped\x20}\x0a',LUA_CONFIRM_RESERVATION='\x0aif\x20redis.call(\x27EXISTS\x27,\x20KEYS[1])\x20==\x200\x20then\x0a\x20\x20redis.call(\x27ZREM\x27,\x20KEYS[2],\x20ARGV[1])\x0a\x20\x20return\x20{\x200\x20}\x0aend\x0alocal\x20h\x20=\x20redis.call(\x27HMGET\x27,\x20KEYS[1],\x20\x27counter\x27,\x20\x27value\x27,\x20\x27formatKey\x27,\x20\x27isReused\x27,\x20\x27createdAt\x27,\x20\x27expiresAt\x27)\x0aredis.call(\x27DEL\x27,\x20KEYS[1])\x0aredis.call(\x27ZREM\x27,\x20KEYS[2],\x20ARGV[1])\x0areturn\x20{\x201,\x20h[1],\x20h[2],\x20h[3],\x20h[4],\x20h[5],\x20h[6]\x20}\x0a',LUA_CANCEL_RESERVATION='\x0aif\x20redis.call(\x27EXISTS\x27,\x20KEYS[1])\x20==\x200\x20then\x0a\x20\x20redis.call(\x27ZREM\x27,\x20KEYS[2],\x20ARGV[1])\x0a\x20\x20return\x20{\x200\x20}\x0aend\x0alocal\x20h\x20=\x20redis.call(\x27HMGET\x27,\x20KEYS[1],\x20\x27counter\x27,\x20\x27value\x27,\x20\x27formatKey\x27)\x0alocal\x20counter\x20=\x20h[1]\x0aif\x20counter\x20then\x0a\x20\x20redis.call(\x27ZADD\x27,\x20KEYS[3],\x20counter,\x20counter)\x0a\x20\x20local\x20ttl\x20=\x20tonumber(ARGV[2])\x0a\x20\x20if\x20ttl\x20>\x200\x20then\x0a\x20\x20\x20\x20redis.call(\x27EXPIRE\x27,\x20KEYS[3],\x20ttl)\x0a\x20\x20end\x0aend\x0aredis.call(\x27DEL\x27,\x20KEYS[1])\x0aredis.call(\x27ZREM\x27,\x20KEYS[2],\x20ARGV[1])\x0areturn\x20{\x201,\x20counter,\x20h[2],\x20h[3]\x20}\x0a',LUA_EXTEND_RESERVATION=a0_0x1ed12e(0x270);function a0_0x4f6e(_0x324257,_0x20c975){_0x324257=_0x324257-0x1bf;const _0x1fef00=a0_0x1fef();let _0x4f6e6b=_0x1fef00[_0x324257];if(a0_0x4f6e['dxALXC']===undefined){var _0x545c2d=function(_0x3258b9){const _0xffaf6f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x457178='',_0x544748='';for(let _0xfe940c=0x0,_0x18a22b,_0x345d69,_0x1fc663=0x0;_0x345d69=_0x3258b9['charAt'](_0x1fc663++);~_0x345d69&&(_0x18a22b=_0xfe940c%0x4?_0x18a22b*0x40+_0x345d69:_0x345d69,_0xfe940c++%0x4)?_0x457178+=String['fromCharCode'](0xff&_0x18a22b>>(-0x2*_0xfe940c&0x6)):0x0){_0x345d69=_0xffaf6f['indexOf'](_0x345d69);}for(let _0x149477=0x0,_0x4b1bd5=_0x457178['length'];_0x149477<_0x4b1bd5;_0x149477++){_0x544748+='%'+('00'+_0x457178['charCodeAt'](_0x149477)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x544748);};a0_0x4f6e['MUChvC']=_0x545c2d,a0_0x4f6e['OTgeAr']={},a0_0x4f6e['dxALXC']=!![];}const _0x15ff10=_0x1fef00[0x0],_0x41a070=_0x324257+_0x15ff10,_0x5be705=a0_0x4f6e['OTgeAr'][_0x41a070];return!_0x5be705?(_0x4f6e6b=a0_0x4f6e['MUChvC'](_0x4f6e6b),a0_0x4f6e['OTgeAr'][_0x41a070]=_0x4f6e6b):_0x4f6e6b=_0x5be705,_0x4f6e6b;}function a0_0x1fef(){const _0x177f71=['s2Lcs2y','BNvTyMvY','wg1sD2i','tNvTyMvYihbYzwzPEcbTAxnTyxrJAdOGzxHWzwn0zwqG','z1fnuw4','rujJEfG','DNnkEfC','CMvZB3vYy2u','uurAEMu','CNPewxm','C3nnBgW','sw52ywXPzcbTyxHszxrYEtOGBxvZDcbIzsbPBNrLz2vYideT','surhru5Fsu5wquXjrf9ovu1crvi','ywXSB3DszxnLDa','CNn2oG','x3vUzg9syw5KB21szxnLCNzHDgLVBG','x2j1AwXKuMvZzxj2yxrPB25lzxLqCMvMAxG','C3bSAxq','uxn5sva','swrLBxbVDgvUy3KGy2fJAguGseLu','Bwf0y2G','x2fSBg93uMvZzxq','zLztBxa','vw5RBM93BIbTB2rLoIa','x2j1AwXKuMv1C2vlzxK','ufjWr0u','x2rLzMf1BhrdB2rLugf0DgvYBG','Aw5MBW','y3jLyxrLzef0','qK5eueG','Cu9XwNC','odq2mtjgwvLtywi','CMvSzwfZzq','veLvBLG','suqGr2vUzxjHDg9Yig51BwjLCIbYzwXLyxnLzdOG','x3bHCNnLtNvTyMvY','AwrNzw5FAwrLBv9OAxq','AgDLDgfSBa','nZiZmdK2sfDpDePQ','tNvTyMvYignVDw50zxiGCgfYDcbTDxn0igjLigv4ywn0BhKG','x3jLC2vYDMvnyxHuveW','qxrJCKy','AwrNzw5FAwrLBv9ZDg9Yzv9LCNjVCG','sw52ywXPzcbWyxr0zxjUoIbTDxn0igjLihn0CMLUzYaXlq','zxHWAxjL','wwflzgC','AwrNzw5FCMvZzxj2zv9PzgvTx2XVC2vY','DhrStxm','t3fjze4','swrLBxbVDgvUy3KGCMv0CMLLDMuGzxjYB3i','zw5HyMXLza','x2vUywjSzwq','icHNB3q6ia','surhru5FreLtqujmruq','zMPLu3O','BNvTrgLNAxrZ','ALPyCKK','C2vXoG','Dhj1zq','sw52ywXPzcbYzxnLCNzHDgLVBIb0B2TLBJOGBxvZDcbIzsbHihzHBgLKifvvsuqGzM9YBwf0icHNB3q6ia','we5yvuC','CgfYC2u','yKXjyue','DwrABhK','BgvUz3rO','x2j1AwXKuMvZzxj2yxrPB25lzxK','AwrNzw5FCMfUzg9Tx3vUzg9FzxjYB3i','CMy6AwrNzw46','C2nHCMq','x2rLzMf1BhrqAw5eAwDPDhm','svDushO','swrLBxbVDgvUy3KGu0vuie5yigvYCM9Y','CujlDLO','sw52ywXPzcbYzxnVDxjJztOGBxvZDcbTyxrJAca','CfPJq3e','suqGr2vUzxjHDg9YigLZigrPC2fIBgvKicHZzxqGsurhru5Fru5bqKXfrd10CNvLkq','swrhzw5LCMf0B3jfCNjVCG','AvPgqKG','ihbHCNrZkq','y291BNrLCG','v1LqCxO','x3L5ExLTBwrKxW','wfHywc1ywfHylvHywfGTwfHywa','CgfKzgvKicHNB3q6ia','rhLSCMm','AwrNzw5FAwrLBv9SB3nLCL9YzwXLyxnLx2vYCM9Y','zw5ZDxjLvw5PCxvL','uMvZzxj2yxrPB24GBM90igzVDw5Kig9YigfSCMvHzhKGy29UC3vTzwq6ia','y291BNrLCKLUDa','x2j1AwXKuMvZzxj2yxrPB25jBMrLEeTLEq','AwrNzw5FCMfUzg9Tx2DLBMvYyxrLza','ExL5Ew1T','z2v0','DuLXDuO','D2fYBG','cNjLzgLZlMnHBgWOj1PbreqNlcblrvLtwZfDlcbbuKDwwZfDlcbbuKDwwZfDkqPSB2nHBcb0DgWGpsb0B251BwjLCIHbuKDwwZjDkqPPzIb0DgWGpIaWihrOzw4kicbYzwrPCY5JywXSkcDfwfbjuKuNlcblrvLtwZfDlcb0DgWPcMvUzaPYzxr1CM4GmqO','surhru5Fsu5wquXjrf9quKvgsvG','wurTAu4','cMLMihjLzgLZlMnHBgWOj0vysvnuuYCSieTfwvnBmv0Pid09idaGDgHLBGOGihjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqOGihjLDhvYBIb7idaGFqPLBMqkBg9JywWGAca9ihjLzgLZlMnHBgWOj0Hnr0vujYWGs0vzu1SXxsWGj2v4CgLYzxnbDcCSicDJB3vUDgvYjYWGj3zHBhvLjYWGj2zVCM1HDeTLEsCSicDPC1jLDxnLzcCSicDJCMvHDgvKqxqNkqPSB2nHBcbWCMv2rxHWAxjLC0f0id0GAfSXxqPSB2nHBcbUzxDuDgXnCYa9ihrVBNvTyMvYkefsr1zBmL0PcMXVy2fSig5LD0v4Ce1Zid0GDg9UDw1IzxiOqvjhvLSZxsKkCMvKAxmUy2fSBcGNuevyueLsrsCSieTfwvnBmv0Sig5LD1r0Be1ZkqPYzwrPCY5JywXSkcDiu0vujYWGs0vzu1SXxsWGj2v4CgLYzxnbDcCSiefsr1zBnf0PcNjLzgLZlMnHBgWOj1PbreqNlcblrvLtwZjDlcbUzxDfEhbnCYWGqvjhvLSXxsKkCMvKAxmUy2fSBcGNrvHqsvjfjYWGs0vzu1SYxsWGBwf0Ac5MBg9VCIHUzxDuDgXnCYaVideWmdaPicSGnJaPcNjLDhvYBIb7ideSihbYzxzfEhbPCMvZqxqSigHBmL0SigHBm10SigHBnf0SigHBnv0SigHBnL0GFqO','sw52ywXPzcb0DgW6ig11C3qGyMuGAw50zwDLCIaXlq','ExL5Eq','mte3otiYnK5SD1DcvW','surhru5Fsu5wquXjrf9nt0rf','AwrNzw5FCMvZzxj2yxrPB25Fy2fUy2vSBgvK','zw52','zMPTyNq','x3n0B3jLswrLBunHy2HLtLG','Bwf4uMv0CNK','x2TLEvbYzwzPEa','suqGr2vUzxjHDg9YihjHBMrVBtOG','x2vUC3vYzuLUAxrPywXPEMvK','zK1ZA1a','x3zHBgLKyxrLuMvZzxj2zvruta','ugnTswu','BM93','BwvZC2fNzq','yNvPBgrezxrLCM1PBMLZDgLJs2v5','CMvZzxj2zu51BwjLCG','sw52ywXPzcbMB3jTyxq6ia','x3rLEhq','Dg9Rzw4','x2j1AwXKrM9YBwf0s2v5','x2rLzMf1BhrnyxHszxrYEq','zgLsEgy','surhru5FquXmt1DFuKvtrvq','C2v0','x3zHBgLKyxrLuMvZzxj2yxrPB25uB2TLBG','q3DqAwu','lI9PzgvTCg90zw5JEs1Tyw5Hz2vY','x3jLC2vYDMvezwzHDwX0vfrm','zgLNAxrZ','AwrNzw5Fy29UzMLNx2LUAxq','CgfKu3rHCNq','C3rVCMvK','z2v0uMvZzxj2yxrPB24','AxnZDwvKoG','CMfUzg9Tvvvjra','qxrouKi','CMvZzxj2zurLzMf1BhruveW','rLHer3K','zM9YBwf0s2v5','surhru5FuKvtrvjwqvrjt05FtK9ux0zpvu5e','CNn2s2v5','x3zHBgLKyxrLvfrm','tMPwvhK','B1bVBg0','zgvMyxvSDfnLCMLHBfbHDhrLCM4','x3bHzdi','surhru5Fsu5wquXjrf9srvnfuLzfx1ruta','svniBwu','x2nVDw50zxjuveXnyxa','Cg93','igrPz2L0CYaOz290oIa','suqGr2vUzxjHDg9Yig51BwjLCIbYzxnLCNzLzdOG','surhru5FuKvtrvjwrv9eruzbvuXux1ruta','Bw9Kzq','x2zVCM1HDe51BwjLCG','x2j1AwXKqwn0AxzLs2v5','DgvZDa','y2fUy2vSuMvZzxj2yxrPB24','q291BNrLCIbVDMvYzMXVDZOG','Dg9mB3DLCKnHC2u','r2nRCe0','z2v0rgf0zq','Dg9ju09tDhjPBMC','AxnZDwvK','x3zHBgLKyxrLtNvTyMvYugfYyw1Z','surhru5Fq09vtLrfuL9pvKvsrKXpvW','x3jLDhjPzxzLswrLBunHy2HL','uuroAfa','tMnMsge','r0vJExC','ks4Gsw5JCMvHC2uGBNvTrgLNAxrZlG','CLLOCfe','x2rLzMf1BhrtzxjPywXqyxr0zxjU','CMfUzg9T','nJm2ndu2mg56uKzeza','z2vUzxjHDgvKqxq','A0Duwee','y29Kzq','CMvZzxj2zq','suqGr2vUzxjHDg9YignVBMzPzYbPBML0AwfSAxPLzcaTigvUywjSzwq6ia','surhru5Fsu5wquXjrf9gt1jnqvq','txnfse8','surhru5Frevgqvvmvf9qsu5FreLhsvrt','y291BNrLCKLUDcbTDxn0igjLihbVC2L0AxzLigLUDgvNzxiGkgDVDdOG','BMfTzq','ExL5Ew1Tzgq','zM9YBwf0','x3zHBgLKyxrLtwf4uMv0CNK','C2vWyxjHDg9Y','x2j1AwXKtwv0yuTLEq','AwrNzw4','z2v0q2XPzw50','surhru5Fsu5wquXjrf9uveW','rvfuwuW','x3zHBgLKyxrLswrLBxbVDgvUy3LlzxK','Cuzpz1y','x2DLDenVDw50zxjuveW','yM9VBgvHBG','tuLzEKe','x3vWzgf0zu1LDge','zgvS','CMv1C2u','DMfSDwuGAxmGCMvXDwLYzwq','wfb0uMu','surhru5Fsu5wquXjrf9trvbbuKfut1i','uMfUzg9TihjLC2vYDMf0Aw9UihvUzg8GzxjYB3iGkg9YCgHHBIbZBg90ig1HEsbYzw1HAw4P','DhrS','zxPrC1O','DfPoBKG','EeXksNi','AwrLBvruta','AxnszxvZzwq','C2vX','ChjLzML4','ignOyxjZicHNB3qGBgvUz3rOoIa','AxnjBNrLz2vY','surhru5FuKvtrvrFtK9ux0fmte9xruq','uMzKDxi','ote1nw50s1fQta','suqGr2vUzxjHDg9YihjLC2v0oIa','ndj6DwjKzLK','z2v0sw5MBW','Bg5cqu4','surhru5Fru5bqKXfra','ndeWotuZowzguvPRuq','ywXS','CNn2swr4s2v5','x3zHBgLKyxrLuMvZB3vYy2u','uMvPCxO','icH0B2TLBJ0','ywjWzw4','CMvZzxj2zv9JB25MAxjT','suqGr2vUzxjHDg9YihjLC2vYDMuGAwrLBsbYywnLigXVC3qSihjLDhvYBMLUzYb3Aw5UzxiGzw52zwXVCgu','uejzEfa','zgvMyxvSDfbPBKrPz2L0CW','x2j1AwXKswrLBuTLEq','rwvzA2K','DKn1ENu','AM9PBG','zgvMyxvSDe1HEfjLDhj5','wgvZv3m','x2j1AwXKsxnZDwvKs2v5','x2DLDfjLC2vYDMf0Aw9Uq29UDgv4Da','zxHWB3j0CW','suqGr2vUzxjHDg9YihjLC2vYDMf0Aw9UignVBMzPCM1LzdOG','C3rYAw5N','D2LUBMvYuMvZDwX0','EMLzDem','DK9cCw4','CMvWzwf0','x3L5ExLF','x2DLBMvYyxrLrNjVBvbHDhrLCM4','igv4y2vLzhmG','CgvLAW','zw50CMLLCW','tNvTyMvYigrVzxmGBM90ig1HDgnOigv4CgvJDgvKigzVCM1HDcbWCMvMAxG','v3rsv3O','tu1jEMW','rMfPBgvKihrVignHBMnLBcbYzxnLCNzHDgLVBIbMB3iGAwrLBxbVDgvUy3KGBg9Zzxi','s0vir20','Cgf0DgvYBG','x3n0B3jLswrLBunHy2HL','uMvZzxqGB3bLCMf0Aw9Uig5VDcbHBgXVD2vKicHZzxqGsurhru5FquXmt1DFuKvtrvq9Dhj1zsb0BYbLBMfIBguP','AwrNzw5FBNvTyMvYx2LKzw1FBg9Zzxi','uKLyquG','suqGr2vUzxjHDg9YigLZigrPC2fIBgvK','surhru5Fsu5wquXjrf9srvnpvvjdrq','zwr4BgC','x3L5ExLTBv8','CMvZzxj2zv9Jyw5JzwW','A2v5uhjLzML4','C2v0zxG','C3rYAw5NAwz5','nZe0zwzQz09A','zxzHBa','mZGYnZqXte9lzw5t','AwrNzw5FBNvTyMvYx3jLC2vYDMvK','ELbXBgG','Dgv4Da','v216D2K','uhziCuC','s1H4Ewm','ihnLy29UzhmGkgDVDdOG','zMrqvgO','ChvZAa','tKDKtuS','q29ctgi','AxL2u2G','AwrLBxbVDgvUy3LlzxK','x3zHBgLKyxrLugf0DgvYBG','DMfSDwu','ywn0AxzLoG','zxHLyW','uMXbuLy','x2j1AwXKu2vXs2v5'];a0_0x1fef=function(){return _0x177f71;};return a0_0x1fef();}class IdGeneratorError extends Error{constructor(_0x1b13e9,_0x217a47,_0x3262f2=null){const _0x1acef8=a0_0x1ed12e,_0x4db1ef={'jZXrI':_0x1acef8(0x25a)};super(_0x217a47||_0x1b13e9),this[_0x1acef8(0x2c8)]=_0x4db1ef[_0x1acef8(0x246)],this[_0x1acef8(0x2c1)]=_0x1b13e9,this['details']=_0x3262f2;}}class IdGenerator{constructor(){const _0x30c1ac=a0_0x1ed12e;this['_initialized']=![],this[_0x30c1ac(0x241)]=null,this[_0x30c1ac(0x27a)]=null,this['_idemTTL']=null,this[_0x30c1ac(0x223)]=null,this['_defaultMaxRetry']=null,this['_defaultPinDigits']=null,this[_0x30c1ac(0x2bc)]=null,this[_0x30c1ac(0x228)]=null,this['_counterTTLMap']=null,this[_0x30c1ac(0x28f)]=null,this['_reserveMaxTTL']=null;}['_initConfig'](){const _0xcd291b=a0_0x1ed12e,_0x2e0efd={'EBcxX':function(_0x4c0907,_0x15fd73){return _0x4c0907===_0x15fd73;},'AtNRB':_0xcd291b(0x248),'ISHme':function(_0x55d0b3,_0x3da568,_0x8ed619){return _0x55d0b3(_0x3da568,_0x8ed619);},'iyvSh':_0xcd291b(0x260),'abpen':'9999-9999','kGrzq':function(_0x387444,_0x166c0f,_0x395c5a){return _0x387444(_0x166c0f,_0x395c5a);}};this['_keyPrefix']=_0xcd291b(0x251),this[_0xcd291b(0x241)]=_0x2e0efd[_0xcd291b(0x213)](process[_0xcd291b(0x276)][_0xcd291b(0x1c6)],_0x2e0efd[_0xcd291b(0x297)]),this['_idemTTL']=_0x2e0efd[_0xcd291b(0x2a3)](parseInt,process[_0xcd291b(0x276)]['IDGEN_IDEM_TTL'],0xa)||0x258,this[_0xcd291b(0x223)]=process['env'][_0xcd291b(0x28a)]===_0x2e0efd[_0xcd291b(0x297)],this[_0xcd291b(0x288)]=parseInt(process['env']['IDGEN_DEFAULT_MAX_RETRY'],0xa)||0xa,this['_defaultPinDigits']=parseInt(process[_0xcd291b(0x276)][_0xcd291b(0x2c6)],0xa)||0x6,this[_0xcd291b(0x2bc)]=process['env']['IDGEN_DEFAULT_SERIAL_PATTERN']||_0x2e0efd[_0xcd291b(0x206)],this[_0xcd291b(0x228)]=process[_0xcd291b(0x276)]['IDGEN_DEFAULT_CODE_PATTERN']||_0x2e0efd[_0xcd291b(0x1cd)],this[_0xcd291b(0x2a4)]={'yyyymm':parseInt(process[_0xcd291b(0x276)]['IDGEN_COUNTER_TTL_MONTHLY'],0xa)||0x2a3000,'yyyymmdd':_0x2e0efd['kGrzq'](parseInt,process['env']['IDGEN_COUNTER_TTL_DAILY'],0xa)||0x2a300},this['_reserveDefaultTTL']=parseInt(process[_0xcd291b(0x276)][_0xcd291b(0x2a8)],0xa)||DEFAULT_RESERVE_TTL,this[_0xcd291b(0x236)]=parseInt(process['env']['IDGEN_RESERVE_MAX_TTL'],0xa)||MAX_RESERVE_TTL,this['_initialized']=!![],logger['info']({'event':_0xcd291b(0x291),'enabled':this['_enabled'],'idemTTL':this['_idemTTL'],'allowReset':this[_0xcd291b(0x223)],'defaultMaxRetry':this['_defaultMaxRetry'],'defaultPinDigits':this['_defaultPinDigits'],'reserveDefaultTTL':this['_reserveDefaultTTL'],'reserveMaxTTL':this[_0xcd291b(0x236)]},_0xcd291b(0x2c3)+this['_enabled']);}['_ensureInitialized'](){if(!this['_initialized'])this['_initConfig']();}get['enabled'](){const _0x4ce57d=a0_0x1ed12e;return this[_0x4ce57d(0x27c)](),this['_enabled'];}get['keyPrefix'](){const _0x59033a=a0_0x1ed12e;return this[_0x59033a(0x27c)](),this[_0x59033a(0x27a)];}get[a0_0x1ed12e(0x2e2)](){const _0x3ddd4d=a0_0x1ed12e;return this[_0x3ddd4d(0x27c)](),this['_idemTTL'];}get['allowReset'](){const _0x56b087=a0_0x1ed12e;return this[_0x56b087(0x27c)](),this[_0x56b087(0x223)];}get['defaultMaxRetry'](){return this['_ensureInitialized'](),this['_defaultMaxRetry'];}get['defaultPinDigits'](){const _0x4be27f=a0_0x1ed12e;return this[_0x4be27f(0x27c)](),this[_0x4be27f(0x253)];}get[a0_0x1ed12e(0x2a0)](){return this['_ensureInitialized'](),this['_defaultSerialPattern'];}get['defaultCodePattern'](){return this['_ensureInitialized'](),this['_defaultCodePattern'];}get['reserveDefaultTTL'](){const _0x1d5742=a0_0x1ed12e;return this[_0x1d5742(0x27c)](),this[_0x1d5742(0x28f)];}get['reserveMaxTTL'](){const _0x29be0a=a0_0x1ed12e;return this['_ensureInitialized'](),this[_0x29be0a(0x236)];}['isEnabled'](){const _0x2c5bcb=a0_0x1ed12e;return this[_0x2c5bcb(0x240)];}[a0_0x1ed12e(0x1ca)](_0x4ba428){const _0x2ff472=a0_0x1ed12e,_0x14249a={'QsyIP':function(_0x5d278a,_0x2d3931){return _0x5d278a!==_0x2d3931;}};if(_0x14249a[_0x2ff472(0x220)](typeof _0x4ba428,_0x2ff472(0x1dc))||!RESOURCE_REGEX['test'](_0x4ba428))throw new IdGeneratorError(_0x2ff472(0x1f1),_0x2ff472(0x257)+RESOURCE_REGEX+_0x2ff472(0x242)+JSON['stringify'](_0x4ba428)+')');}['_validateNumberParams'](_0x53f41b){const _0x322d56=a0_0x1ed12e,_0x367163={'cPoYF':'IDGEN_INVALID_FORMAT','FQSnV':function(_0x3f44e2,_0xd3fef){return _0x3f44e2<_0xd3fef;},'PRpGE':'IDGEN_INVALID_NUM_DIGITS','WYPqz':function(_0x23a424,_0x4ac1e6){return _0x23a424==_0x4ac1e6;},'qpHSQ':_0x322d56(0x1dc),'ziYtC':function(_0x2e689e,_0x40269b){return _0x2e689e!==_0x40269b;},'diRxf':function(_0x423da8,_0x11c82b){return _0x423da8!=_0x11c82b;},'KEHGm':_0x322d56(0x2d5),'NcfHa':function(_0x59a79b,_0x12845a){return _0x59a79b===_0x12845a;}},{resource:_0x2f7f45,format:_0xe3c1c5,prefix:_0x36fd07,separator:_0x5cfee9,numDigits:_0x2be3d5,reuseDelete:_0x15d6fe}=_0x53f41b;this[_0x322d56(0x1ca)](_0x2f7f45);const _0x76c226=typeof _0xe3c1c5==='string'?_0xe3c1c5['toLowerCase']():'';if(!ALLOWED_FORMATS['has'](_0x76c226))throw new IdGeneratorError(_0x367163['cPoYF'],'Invalid\x20format:\x20must\x20be\x20one\x20of\x20'+[...ALLOWED_FORMATS][_0x322d56(0x1d5)](',\x20')+_0x322d56(0x242)+_0xe3c1c5+')');if(!Number['isInteger'](_0x2be3d5)||_0x367163['FQSnV'](_0x2be3d5,MIN_NUM_DIGITS)||_0x2be3d5>MAX_NUM_DIGITS)throw new IdGeneratorError(_0x367163[_0x322d56(0x227)],'Invalid\x20numDigits:\x20must\x20be\x20integer\x20'+MIN_NUM_DIGITS+'-'+MAX_NUM_DIGITS+_0x322d56(0x242)+_0x2be3d5+')');const _0x5db090=_0x367163[_0x322d56(0x25e)](_0x36fd07,null)?'':_0x36fd07;if(typeof _0x5db090!==_0x367163['qpHSQ']||!PREFIX_REGEX['test'](_0x5db090))throw new IdGeneratorError(_0x322d56(0x26e),'Invalid\x20prefix:\x20must\x20match\x20'+PREFIX_REGEX+'\x20(got:\x20'+JSON['stringify'](_0x36fd07)+')');const _0x48006f=_0x5cfee9==null?'':_0x5cfee9;if(_0x367163[_0x322d56(0x1de)](typeof _0x48006f,_0x322d56(0x1dc))||_0x48006f['length']>0x3||SEPARATOR_FORBIDDEN[_0x322d56(0x2ac)](_0x48006f))throw new IdGeneratorError(_0x322d56(0x2dc),'Invalid\x20separator:\x20max\x203\x20char,\x20must\x20not\x20contain\x20\x27:\x27\x20(got:\x20'+JSON['stringify'](_0x5cfee9)+')');if(_0x367163[_0x322d56(0x289)](_0x15d6fe,null)&&typeof _0x15d6fe!==_0x367163[_0x322d56(0x1ea)])throw new IdGeneratorError(_0x322d56(0x1f1),'Invalid\x20reuseDelete:\x20must\x20be\x20boolean\x20(got:\x20'+typeof _0x15d6fe+')');return{'resource':_0x2f7f45,'format':_0x76c226,'prefix':_0x5db090,'separator':_0x48006f,'numDigits':_0x2be3d5,'reuseDelete':_0x367163[_0x322d56(0x2b8)](_0x15d6fe,!![])};}['_validatePattern'](_0x4996a2){const _0x3b4b8e=a0_0x1ed12e,_0x4b624d={'hyCvM':function(_0x546190,_0xac75bb){return _0x546190!==_0xac75bb;},'GtuoI':function(_0x4e47c0,_0x3eab88){return _0x4e47c0===_0x3eab88;},'YDmiN':'IDGEN_INVALID_PATTERN'};if(_0x4b624d['hyCvM'](typeof _0x4996a2,'string')||_0x4b624d['GtuoI'](_0x4996a2[_0x3b4b8e(0x24e)],0x0)||_0x4996a2['length']>MAX_PATTERN_LENGTH)throw new IdGeneratorError(_0x4b624d[_0x3b4b8e(0x26f)],_0x3b4b8e(0x239)+MAX_PATTERN_LENGTH+_0x3b4b8e(0x2e6)+(_0x4996a2&&_0x4996a2['length'])+')');let _0x4c4fce=![];for(const _0x3cb72f of _0x4996a2){if(PLACEHOLDER_MAP[_0x3cb72f]){_0x4c4fce=!![];break;}}if(!_0x4c4fce)throw new IdGeneratorError('IDGEN_INVALID_PATTERN','Invalid\x20pattern:\x20must\x20contain\x20at\x20least\x20one\x20placeholder\x20character\x20(9/N/A/a/L/X/x/H/h)');}[a0_0x1ed12e(0x29d)](_0x431411){const _0x1e3002=a0_0x1ed12e,_0x128433={'ReZQK':function(_0x278be0,_0x432e66){return _0x278be0<_0x432e66;},'gQMQn':function(_0x5aec45,_0x493548){return _0x5aec45>_0x493548;},'KXxyc':_0x1e3002(0x2d0)};if(_0x431411==null)return undefined;if(!Number[_0x1e3002(0x2e7)](_0x431411)||_0x128433['ReZQK'](_0x431411,0x1)||_0x128433[_0x1e3002(0x212)](_0x431411,MAX_TTL))throw new IdGeneratorError(_0x128433[_0x1e3002(0x200)],_0x1e3002(0x271)+MAX_TTL+_0x1e3002(0x201)+_0x431411+')');return _0x431411;}['_validateMaxRetry'](_0x2d89bb){const _0x9be2fb=a0_0x1ed12e,_0x22d25f={'zPqlh':function(_0x4d2fdd,_0x384116){return _0x4d2fdd==_0x384116;},'VeLwy':function(_0x308866,_0x531f98){return _0x308866<_0x531f98;}};if(_0x22d25f[_0x9be2fb(0x1fc)](_0x2d89bb,null))return this[_0x9be2fb(0x1d6)];if(!Number[_0x9be2fb(0x2e7)](_0x2d89bb)||_0x22d25f['VeLwy'](_0x2d89bb,0x1)||_0x2d89bb>MAX_RETRY_LIMIT)throw new IdGeneratorError('IDGEN_INVALID_MAX_RETRY',_0x9be2fb(0x219)+MAX_RETRY_LIMIT+'\x20(got:\x20'+_0x2d89bb+')');return _0x2d89bb;}['_validateIdempotencyKey'](_0x1a9e76){const _0x58a122=a0_0x1ed12e,_0x5e5f1d={'HGjfY':_0x58a122(0x1dc),'uIquJ':function(_0x7a0c22,_0x12255b){return _0x7a0c22>_0x12255b;}};if(_0x1a9e76==null)return undefined;if(typeof _0x1a9e76!==_0x5e5f1d['HGjfY']||_0x1a9e76[_0x58a122(0x24e)]===0x0||_0x5e5f1d[_0x58a122(0x26b)](_0x1a9e76['length'],MAX_IDEMPOTENCY_KEY_LENGTH))throw new IdGeneratorError('IDGEN_INVALID_RESOURCE','Invalid\x20idempotencyKey:\x20must\x20be\x20string\x201-'+MAX_IDEMPOTENCY_KEY_LENGTH+'\x20chars');return _0x1a9e76;}[a0_0x1ed12e(0x27e)](_0x468f2e){const _0x39fb26=a0_0x1ed12e,_0x4b1078={'mZxlC':function(_0x5df891,_0x2142ae){return _0x5df891>_0x2142ae;}};if(_0x468f2e==null)return this[_0x39fb26(0x298)];if(!Number['isInteger'](_0x468f2e)||_0x468f2e<MIN_RESERVE_TTL||_0x4b1078['mZxlC'](_0x468f2e,this['reserveMaxTTL']))throw new IdGeneratorError(_0x39fb26(0x2a2),'Invalid\x20reservation\x20ttl:\x20must\x20be\x20integer\x20'+MIN_RESERVE_TTL+'-'+this['reserveMaxTTL']+_0x39fb26(0x201)+_0x468f2e+')');return _0x468f2e;}['_validateReservationToken'](_0x53a701){const _0x68c294=a0_0x1ed12e,_0x2dc2f4={'edxlg':function(_0x92a8f6,_0xc6ae6e){return _0x92a8f6!==_0xc6ae6e;},'vCuzu':_0x68c294(0x1dc)};if(_0x2dc2f4[_0x68c294(0x1f2)](typeof _0x53a701,_0x2dc2f4[_0x68c294(0x1d4)])||!RESERVATION_TOKEN_REGEX['test'](_0x53a701))throw new IdGeneratorError('IDGEN_INVALID_TOKEN',_0x68c294(0x249)+JSON['stringify'](_0x53a701)+')');return _0x53a701;}[a0_0x1ed12e(0x2a1)](_0x1cdcac){const _0x282b07=a0_0x1ed12e,_0x19ec0d={'NPwVn':function(_0x3e77fb,_0x10ac22){return _0x3e77fb(_0x10ac22);}};return _0x19ec0d['NPwVn'](String,_0x1cdcac)[_0x282b07(0x292)](0x2,'0');}['_buildFormatKey'](_0x1635c3,_0x5aba1f,_0x349780=new Date()){const _0x412c89=a0_0x1ed12e,_0x42a71f={'Uhhjf':'yyyy','NBAxW':_0x412c89(0x269),'GKMRY':_0x412c89(0x2c9),'ezQsZ':_0x412c89(0x2c4)},_0x553f91=_0x349780['getFullYear'](),_0x393128=this[_0x412c89(0x2a1)](_0x349780['getMonth']()+0x1),_0x4e8475=this['_pad2'](_0x349780[_0x412c89(0x2b1)]()),_0x486c94=_0x5aba1f||'_';let _0x33753e,_0x3c2052='';switch(_0x1635c3){case'text':_0x33753e=_0x486c94+_0x412c89(0x285);break;case _0x42a71f['Uhhjf']:_0x3c2052=''+_0x553f91,_0x33753e=_0x486c94+_0x412c89(0x1e1)+_0x3c2052;break;case _0x42a71f['NBAxW']:_0x3c2052=''+_0x553f91+_0x393128,_0x33753e=_0x486c94+_0x412c89(0x1f3)+_0x3c2052;break;case _0x42a71f['GKMRY']:_0x3c2052=''+_0x553f91+_0x393128+_0x4e8475,_0x33753e=_0x486c94+_0x412c89(0x25f)+_0x3c2052;break;default:throw new IdGeneratorError(_0x42a71f[_0x412c89(0x2df)],'Unknown\x20format:\x20'+_0x1635c3);}return{'formatKey':_0x33753e,'datePrefix':_0x3c2052};}[a0_0x1ed12e(0x20d)](_0x4c1e4b,_0x2cb74d){const _0x285ccf=a0_0x1ed12e;return this['keyPrefix']+_0x285ccf(0x247)+_0x4c1e4b+':'+_0x2cb74d;}['_buildReuseKey'](_0x219877,_0x17f490){const _0x1c19bf=a0_0x1ed12e;return this[_0x1c19bf(0x1f5)]+'reuse:'+_0x219877+':'+_0x17f490;}[a0_0x1ed12e(0x2cd)](_0x5577c0,_0x176757){return this['keyPrefix']+'meta:'+_0x5577c0+':'+_0x176757;}['_buildIssuedKey'](_0x20d82f){const _0xbb2524=a0_0x1ed12e;return this['keyPrefix']+_0xbb2524(0x295)+_0x20d82f;}[a0_0x1ed12e(0x2ab)](_0x189ad6,_0x582663){const _0x33fb6c=a0_0x1ed12e;return this['keyPrefix']+_0x33fb6c(0x20a)+_0x189ad6+':'+_0x582663;}[a0_0x1ed12e(0x24f)](_0x346ecf){const _0x53f98f=a0_0x1ed12e;return this[_0x53f98f(0x1f5)]+'rsv:'+_0x346ecf;}['_buildReservationIndexKey'](_0x1708b1,_0x2b64c0){const _0x1547b1=a0_0x1ed12e;return this[_0x1547b1(0x1f5)]+'rsv_idx:'+_0x1708b1+':'+_0x2b64c0;}[a0_0x1ed12e(0x21e)](){const _0x2839de=a0_0x1ed12e;return this[_0x2839de(0x1f5)]+_0x2839de(0x21c);}[a0_0x1ed12e(0x1d2)](_0x8e2e53,_0x5bd5a0,_0x3eecee,_0x5f4c61){const _0x449c4d=a0_0x1ed12e,_0x340cd9={'WtRWz':'idgen'};if(_0x3eecee)return idempotencyManager['buildDeterministicKey'](_0x340cd9[_0x449c4d(0x1e7)],_0x8e2e53,_0x5bd5a0+':'+_0x3eecee+':'+_0x5f4c61);return idempotencyManager['buildDeterministicKey'](_0x340cd9['WtRWz'],_0x8e2e53,_0x5bd5a0+':'+_0x5f4c61);}[a0_0x1ed12e(0x2d4)](_0x528c57){const _0xe3a826=a0_0x1ed12e;return this[_0xe3a826(0x2a4)][_0x528c57]||0x0;}['_formatNumber']({format:_0x35e47c,prefix:_0x39cd56,datePrefix:_0x45c92b,separator:_0x141a8f,numDigits:_0x2e1a87,counterInt:_0xd9838e}){const _0x587b52=a0_0x1ed12e,_0x5ddf58={'pUmZG':_0x587b52(0x2b5),'oPolm':function(_0x3a75c1,_0x21753b){return _0x3a75c1===_0x21753b;}},_0x47ac83=Math[_0x587b52(0x2a5)](0xa,_0x2e1a87)-0x1;if(_0xd9838e>_0x47ac83)throw new IdGeneratorError(_0x5ddf58['pUmZG'],_0x587b52(0x2ae)+_0xd9838e+_0x587b52(0x1e3)+_0x2e1a87+'-digit\x20capacity\x20('+_0x47ac83+_0x587b52(0x2ba),{'counterInt':_0xd9838e,'numDigits':_0x2e1a87,'max':_0x47ac83});const _0xbc7af3=String(_0xd9838e)['padStart'](_0x2e1a87,'0');if(_0x5ddf58[_0x587b52(0x29f)](_0x35e47c,_0x587b52(0x1fd)))return _0x39cd56?''+_0x39cd56+_0x141a8f+_0xbc7af3:_0xbc7af3;return _0x39cd56?''+_0x39cd56+_0x141a8f+_0x45c92b+_0x141a8f+_0xbc7af3:''+_0x45c92b+_0x141a8f+_0xbc7af3;}[a0_0x1ed12e(0x231)]({format:_0x3d5c95,prefix:_0x13311,separator:_0x1e2104,numDigits:_0x5d8aba,number:_0x1167bd}){const _0x465192=a0_0x1ed12e,_0x25d839={'eGoCE':function(_0x59b2ca,_0x51d9fc){return _0x59b2ca===_0x51d9fc;},'MsEHO':_0x465192(0x21a),'vsJxW':function(_0x39533f,_0x420cda){return _0x39533f===_0x420cda;},'ciUVc':function(_0x1bb4bc,_0x4a13a1){return _0x1bb4bc!==_0x4a13a1;},'RlARV':function(_0xd470c,_0x4197c3){return _0xd470c===_0x4197c3;},'XmRwb':_0x465192(0x272),'tZNnH':function(_0x488172,_0x491ffe,_0x6e9e3f){return _0x488172(_0x491ffe,_0x6e9e3f);},'Ffiuk':'text'};if(typeof _0x1167bd!==_0x465192(0x1dc)||_0x25d839['eGoCE'](_0x1167bd['length'],0x0))throw new IdGeneratorError(_0x25d839['MsEHO'],'Invalid\x20number:\x20must\x20be\x20non-empty\x20string');const _0xa58fe6=_0x1e2104||'',_0x2e5faa=_0x25d839[_0x465192(0x214)](_0xa58fe6,'')?[_0x1167bd]:_0x1167bd[_0x465192(0x21f)](_0xa58fe6);let _0x444256='',_0x3e15d6;if(_0x25d839['eGoCE'](_0x3d5c95,'text')){if(_0x13311){if(_0x2e5faa['length']!==0x2||_0x2e5faa[0x0]!==_0x13311)throw new IdGeneratorError('IDGEN_INVALID_NUMBER',_0x465192(0x1e6)+_0xa58fe6+_0x465192(0x261)+_0x1167bd+')');_0x3e15d6=_0x2e5faa[0x1];}else{if(_0x2e5faa['length']!==0x1)throw new IdGeneratorError(_0x465192(0x21a),'Number\x20does\x20not\x20match\x20expected\x20text\x20format\x20(got:\x20'+_0x1167bd+')');_0x3e15d6=_0x2e5faa[0x0];}}else{const _0x493627=_0x13311?0x3:0x2;if(_0x2e5faa['length']!==_0x493627)throw new IdGeneratorError(_0x25d839[_0x465192(0x2c5)],'Number\x20does\x20not\x20match\x20expected\x20format\x20(got:\x20'+_0x1167bd+',\x20expected\x20'+_0x493627+_0x465192(0x25c));let _0x3250c0=0x0;if(_0x13311){if(_0x25d839['ciUVc'](_0x2e5faa[_0x3250c0],_0x13311))throw new IdGeneratorError(_0x25d839[_0x465192(0x2c5)],_0x465192(0x211)+_0x13311+',\x20got\x20'+_0x2e5faa[_0x3250c0]);_0x3250c0++;}_0x444256=_0x2e5faa[_0x3250c0++];const _0x3fc255=_0x25d839[_0x465192(0x20c)](_0x3d5c95,_0x25d839[_0x465192(0x210)])?/^\d{4}$/:_0x25d839['vsJxW'](_0x3d5c95,_0x465192(0x269))?/^\d{6}$/:/^\d{8}$/;if(!_0x3fc255['test'](_0x444256))throw new IdGeneratorError('IDGEN_INVALID_NUMBER','Number\x20datePrefix\x20invalid\x20for\x20format\x20'+_0x3d5c95+':\x20'+_0x444256);_0x3e15d6=_0x2e5faa[_0x3250c0];}if(!new RegExp('^\x5cd{'+_0x5d8aba+'}$')[_0x465192(0x2ac)](_0x3e15d6))throw new IdGeneratorError(_0x465192(0x21a),_0x465192(0x235)+_0x5d8aba+_0x465192(0x2a6)+_0x3e15d6+')');const _0x3a30cf=_0x25d839[_0x465192(0x2e0)](parseInt,_0x3e15d6,0xa),_0x98600=_0x13311||'_';let _0x4a929d;return _0x3d5c95===_0x25d839['Ffiuk']?_0x4a929d=_0x98600+_0x465192(0x285):_0x4a929d=_0x98600+'_'+_0x3d5c95+'_'+_0x444256,{'formatKey':_0x4a929d,'counterInt':_0x3a30cf,'datePrefix':_0x444256};}['_generateFromPattern'](_0x3dae1b){const _0x26ae4c=a0_0x1ed12e;let _0x3e5e10='';for(const _0x2f5657 of _0x3dae1b){const _0x1f45a1=PLACEHOLDER_MAP[_0x2f5657];if(_0x1f45a1){const _0x1f12ba=crypto['randomInt'](0x0,_0x1f45a1[_0x26ae4c(0x24e)]);_0x3e5e10+=_0x1f45a1[_0x1f12ba];}else _0x3e5e10+=_0x2f5657;}return _0x3e5e10;}async['_retrieveIdemCache'](_0x4bd2f6){const _0x1ff029=a0_0x1ed12e,_0x41d281={'CwPie':_0x1ff029(0x232),'ttXgj':_0x1ff029(0x221),'GEcyw':_0x1ff029(0x23f)};if(!_0x4bd2f6)return null;try{const _0x11b2ec=redisClient[_0x1ff029(0x2cf)](),_0x27f3df=await _0x11b2ec['get'](_0x4bd2f6);if(_0x27f3df)return logger['info']({'event':_0x41d281[_0x1ff029(0x28d)],'key':_0x4bd2f6},_0x41d281['ttXgj']),JSON[_0x1ff029(0x24b)](_0x27f3df);return null;}catch(_0x2e9b1f){return logger[_0x1ff029(0x26c)]({'event':'idgen_idem_retrieve_error','error':_0x2e9b1f['message']},_0x41d281[_0x1ff029(0x2b9)]),null;}}async[a0_0x1ed12e(0x1ec)](_0x43223d,_0x1aa957){const _0x681a59=a0_0x1ed12e,_0x12159e={'pZcCq':'Idempotency\x20store\x20error'};if(!_0x43223d)return;try{const _0x402d51=redisClient[_0x681a59(0x2cf)]();await _0x402d51[_0x681a59(0x1f6)](_0x43223d,this['idemTTL'],JSON[_0x681a59(0x1f7)](_0x1aa957));}catch(_0x5b231f){logger['warn']({'event':_0x681a59(0x238),'error':_0x5b231f[_0x681a59(0x281)]},_0x12159e[_0x681a59(0x258)]);}}async['_storeIdemCacheNX'](_0x1cf71c,_0x166ba8){const _0x32cca6=a0_0x1ed12e,_0x28cf32={'qFOgV':function(_0x3176b5,_0x4e453f){return _0x3176b5===_0x4e453f;},'udZly':'idgen_idem_nx_race_lost_but_empty','MMIzl':'SET\x20NX\x20failed\x20but\x20cache\x20GET\x20returned\x20empty\x20—\x20falling\x20back\x20to\x20own\x20result','LFjxf':'idgen_idem_storenx_error','LgRqc':_0x32cca6(0x255)};if(!_0x1cf71c)return{'stored':!![],'winnerResult':null};try{const _0x227067=redisClient['getClient'](),_0x1eb9ec=JSON['stringify'](_0x166ba8),_0xb8eabb=await _0x227067[_0x32cca6(0x28b)](_0x1cf71c,_0x1eb9ec,'EX',this['idemTTL'],'NX');if(_0x28cf32[_0x32cca6(0x2d3)](_0xb8eabb,'OK'))return{'stored':!![],'winnerResult':null};const _0x4de909=await _0x227067['get'](_0x1cf71c);if(_0x4de909)return{'stored':![],'winnerResult':JSON[_0x32cca6(0x24b)](_0x4de909)};return logger[_0x32cca6(0x26c)]({'event':_0x28cf32[_0x32cca6(0x24d)],'key':_0x1cf71c},_0x28cf32[_0x32cca6(0x1e8)]),{'stored':!![],'winnerResult':null};}catch(_0x2fc9f8){return logger['warn']({'event':_0x28cf32['LFjxf'],'error':_0x2fc9f8['message']},_0x28cf32['LgRqc']),{'stored':!![],'winnerResult':null};}}async['_undoRandomReservation'](_0x24f634,_0xcf5270,_0x32cad7){const _0x3c7193=a0_0x1ed12e,_0x1fda24={'ZdlyA':_0x3c7193(0x250)};try{const _0x1faf53=redisClient['getClient']();if(_0x32cad7){const _0x4eeb4d=this[_0x3c7193(0x2ab)](_0x24f634,_0xcf5270);await _0x1faf53[_0x3c7193(0x2d8)](_0x4eeb4d);}else{const _0x1ea4b7=this['_buildIssuedKey'](_0x24f634);await _0x1faf53['srem'](_0x1ea4b7,_0xcf5270);}}catch(_0x1d71e8){logger['warn']({'event':_0x1fda24['ZdlyA'],'error':_0x1d71e8['message']},_0x3c7193(0x2dd));}}async[a0_0x1ed12e(0x2d7)](_0x1feb67,_0x453c0d,_0x5414f8,_0x5cdc12=0x0){const _0x216c72=a0_0x1ed12e,_0x3aa9e6={'rmEvo':function(_0x33c353,_0x2b2ad0){return _0x33c353>_0x2b2ad0;},'Reiqz':'Meta\x20update\x20error'};try{const _0x11681c=redisClient[_0x216c72(0x2cf)](),_0x450395=this[_0x216c72(0x2cd)](_0x1feb67,_0x453c0d),_0x319e14=[];for(const [_0xa1edf6,_0x2a31e3]of Object[_0x216c72(0x1e5)](_0x5414f8)){_0x319e14[_0x216c72(0x203)](_0xa1edf6,String(_0x2a31e3));}if(_0x3aa9e6['rmEvo'](_0x319e14['length'],0x0)){await _0x11681c['hset'](_0x450395,..._0x319e14);if(_0x5cdc12>0x0)await _0x11681c[_0x216c72(0x23a)](_0x450395,_0x5cdc12);}}catch(_0x8d9ee4){logger[_0x216c72(0x26c)]({'event':'idgen_meta_update_error','error':_0x8d9ee4[_0x216c72(0x281)]},_0x3aa9e6[_0x216c72(0x1cb)]);}}async['number'](_0x4d94dd){const _0x6688e7=a0_0x1ed12e,_0x2e9127={'xazHE':_0x6688e7(0x259),'kGTXA':_0x6688e7(0x20f),'QMBbd':function(_0x343d1c,_0x18ebc5){return _0x343d1c(_0x18ebc5);},'QclUV':function(_0x124620,_0x146241){return _0x124620===_0x146241;},'HRzBM':_0x6688e7(0x263),'xboFa':_0x6688e7(0x1ee),'YaKdg':'idgen_number_generated'};if(!this[_0x6688e7(0x240)])throw new IdGeneratorError('IDGEN_DISABLED',_0x2e9127['xazHE']);const _0x20df1f=this['_validateNumberParams'](_0x4d94dd),_0x3bfadf=this['_validateIdempotencyKey'](_0x4d94dd[_0x6688e7(0x207)]),{resource:_0x594e18,format:_0x5496eb,prefix:_0x3c8893,separator:_0x5dd450,numDigits:_0x25b6dc,reuseDelete:_0x482e20}=_0x20df1f,{formatKey:_0x2d483e,datePrefix:_0x2600c7}=this[_0x6688e7(0x287)](_0x5496eb,_0x3c8893),_0x3c08ab=this['_buildSeqKey'](_0x594e18,_0x2d483e),_0x35efbc=this[_0x6688e7(0x226)](_0x594e18,_0x2d483e),_0x170452=this[_0x6688e7(0x2d4)](_0x5496eb);let _0x3e07d6=null;if(_0x3bfadf){_0x3e07d6=this[_0x6688e7(0x1d2)](_0x2e9127[_0x6688e7(0x2c0)],_0x594e18,_0x2d483e,_0x3bfadf);const _0x44d53c=await this[_0x6688e7(0x2b6)](_0x3e07d6);if(_0x44d53c)return _0x44d53c;}const _0x34f26a=redisClient[_0x6688e7(0x2cf)](),_0x9d9085=await _0x34f26a['eval'](LUA_GENERATE_NUMBER,0x2,_0x3c08ab,_0x35efbc,_0x482e20?'1':'0',_0x2e9127['QMBbd'](String,_0x170452)),_0x392e5b=_0x9d9085[0x0],_0x538162=_0x2e9127['QclUV'](_0x9d9085[0x1],0x1),_0x4ee64c=this['_formatNumber']({'format':_0x5496eb,'prefix':_0x3c8893,'datePrefix':_0x2600c7,'separator':_0x5dd450,'numDigits':_0x25b6dc,'counterInt':_0x392e5b}),_0xa63cd0={'value':_0x4ee64c,'counter':_0x392e5b,'resource':_0x594e18,'formatKey':_0x2d483e,'isReused':_0x538162,'generatedAt':new Date()[_0x6688e7(0x2b2)]()},_0x7f946a=await this[_0x6688e7(0x278)](_0x3e07d6,_0xa63cd0);if(!_0x7f946a[_0x6688e7(0x293)]){try{await _0x34f26a['eval'](LUA_RELEASE_NUMBER,0x1,_0x35efbc,String(_0x392e5b),_0x2e9127['QMBbd'](String,_0x170452));}catch(_0x4bff47){logger['warn']({'event':_0x2e9127['HRzBM'],'error':_0x4bff47[_0x6688e7(0x281)],'resource':_0x594e18,'formatKey':_0x2d483e,'counterInt':_0x392e5b},'Failed\x20to\x20release\x20counter\x20for\x20idempotency\x20loser');}return logger['info']({'event':_0x2e9127['xboFa'],'resource':_0x594e18,'formatKey':_0x2d483e,'counter':_0x392e5b},'ID\x20Generator\x20number\x20idem\x20race\x20lost,\x20returning\x20winner\x20envelope'),_0x7f946a[_0x6688e7(0x1dd)];}return this[_0x6688e7(0x2d7)](_0x594e18,_0x2d483e,{'lastValue':_0x4ee64c,'lastCounter':_0x392e5b,'lastIsReused':_0x538162,'lastGeneratedAt':_0xa63cd0[_0x6688e7(0x2bf)]},_0x170452),logger[_0x6688e7(0x229)]({'event':_0x2e9127[_0x6688e7(0x23b)],'resource':_0x594e18,'formatKey':_0x2d483e,'counter':_0x392e5b,'isReused':_0x538162},'ID\x20Generator\x20number:\x20'+_0x4ee64c),_0xa63cd0;}async['releaseNumber'](_0x566ee6){const _0xb5fa64=a0_0x1ed12e,_0x23fdbb={'HJcoW':'IDGEN_DISABLED','GckpM':function(_0x2eb2e6,_0x4cf704){return _0x2eb2e6!==_0x4cf704;},'PBYxP':_0xb5fa64(0x1dc),'CbPzg':function(_0x4619c7,_0x5f407d){return _0x4619c7===_0x5f407d;},'PcmIe':'idgen_number_released'};if(!this[_0xb5fa64(0x240)])throw new IdGeneratorError(_0x23fdbb['HJcoW'],'ID\x20Generator\x20is\x20disabled');let _0x467327,_0x3ac7ed,_0x4a32cd,_0x77c8f5;const _0x5e76f9=this[_0xb5fa64(0x2d2)](_0x566ee6[_0xb5fa64(0x207)]);if(_0x566ee6['counterInt']!==undefined&&_0x23fdbb[_0xb5fa64(0x2b0)](_0x566ee6['counterInt'],null)){this[_0xb5fa64(0x1ca)](_0x566ee6[_0xb5fa64(0x215)]),_0x467327=_0x566ee6['resource'];if(typeof _0x566ee6[_0xb5fa64(0x29a)]!==_0x23fdbb[_0xb5fa64(0x1d0)]||_0x23fdbb['CbPzg'](_0x566ee6['formatKey']['length'],0x0))throw new IdGeneratorError('IDGEN_INVALID_NUMBER','formatKey\x20is\x20required\x20in\x20low-level\x20release');_0x3ac7ed=_0x566ee6[_0xb5fa64(0x29a)];if(!Number['isInteger'](_0x566ee6['counterInt'])||_0x566ee6[_0xb5fa64(0x266)]<0x1)throw new IdGeneratorError(_0xb5fa64(0x21a),_0xb5fa64(0x2c7)+_0x566ee6[_0xb5fa64(0x266)]+')');_0x4a32cd=_0x566ee6[_0xb5fa64(0x266)];const _0x5c427f=_0x3ac7ed['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/);_0x77c8f5=_0x5c427f?_0x5c427f[0x1]:_0xb5fa64(0x1fd);}else{const _0x3a10ed=this['_validateNumberParams'](_0x566ee6),_0x103b7b=this[_0xb5fa64(0x231)]({'format':_0x3a10ed[_0xb5fa64(0x2ca)],'prefix':_0x3a10ed[_0xb5fa64(0x2e5)],'separator':_0x3a10ed['separator'],'numDigits':_0x3a10ed['numDigits'],'number':_0x566ee6[_0xb5fa64(0x20f)]});_0x467327=_0x3a10ed[_0xb5fa64(0x215)],_0x3ac7ed=_0x103b7b[_0xb5fa64(0x29a)],_0x4a32cd=_0x103b7b[_0xb5fa64(0x266)],_0x77c8f5=_0x3a10ed[_0xb5fa64(0x2ca)];}const _0x2154eb=this[_0xb5fa64(0x226)](_0x467327,_0x3ac7ed),_0x1ed5bd=this[_0xb5fa64(0x2d4)](_0x77c8f5);let _0x458e06=null;if(_0x5e76f9){_0x458e06=this['_buildIdemKey'](_0xb5fa64(0x22e),_0x467327,_0x3ac7ed,_0x5e76f9);const _0x36be36=await this[_0xb5fa64(0x2b6)](_0x458e06);if(_0x36be36)return _0x36be36;}const _0x3c49d1=redisClient[_0xb5fa64(0x2cf)]();await _0x3c49d1[_0xb5fa64(0x1f9)](LUA_RELEASE_NUMBER,0x1,_0x2154eb,String(_0x4a32cd),String(_0x1ed5bd));const _0x575158={'released':!![],'resource':_0x467327,'formatKey':_0x3ac7ed,'counter':_0x4a32cd,'releasedAt':new Date()['toISOString']()};return await this[_0xb5fa64(0x1ec)](_0x458e06,_0x575158),this[_0xb5fa64(0x2d7)](_0x467327,_0x3ac7ed,{'lastReleasedCounter':_0x4a32cd,'lastReleasedAt':_0x575158['releasedAt']},_0x1ed5bd),logger['info']({'event':_0x23fdbb[_0xb5fa64(0x27f)],'resource':_0x467327,'formatKey':_0x3ac7ed,'counter':_0x4a32cd},_0xb5fa64(0x230)+_0x4a32cd),_0x575158;}async[a0_0x1ed12e(0x283)](_0x2e248b){const _0x42b11c=a0_0x1ed12e,_0x4e5ccd={'EQTYL':_0x42b11c(0x243),'fjmbt':'format','WbOwQ':_0x42b11c(0x2e5),'Wmzwi':function(_0x374141,_0x5b630e){return _0x374141||_0x5b630e;},'vOBqn':_0x42b11c(0x22a),'BNDPH':'expiresAt','KiBKf':_0x42b11c(0x23d),'xdeKP':'idemKey','vngCn':function(_0x3bd943,_0x3d0b8b){return _0x3bd943(_0x3d0b8b);},'EeYki':function(_0x2d0f69,_0x3a8886){return _0x2d0f69(_0x3a8886);},'pcIyA':function(_0x3536f1,_0x3e0664){return _0x3536f1(_0x3e0664);},'Dylrc':'Failed\x20to\x20compensate\x20reservation\x20after\x20counter\x20overflow','FXDGy':_0x42b11c(0x209),'eXCcN':'idgen_reserve_value_persist_error','ijYES':function(_0x1f910a,_0xbf6f44){return _0x1f910a(_0xbf6f44);},'MIYzA':'idgen_reserve_idem_loser_cancel_error','rdsLZ':_0x42b11c(0x1e9),'vLySe':_0x42b11c(0x1fb)};if(!this[_0x42b11c(0x240)])throw new IdGeneratorError(_0x4e5ccd[_0x42b11c(0x2d1)],_0x42b11c(0x259));const _0x375fb9=this[_0x42b11c(0x2b4)](_0x2e248b),_0x11a330=this[_0x42b11c(0x27e)](_0x2e248b[_0x42b11c(0x2de)]),_0x309768=this[_0x42b11c(0x2d2)](_0x2e248b[_0x42b11c(0x207)]),{resource:_0x57168a,format:_0x51225e,prefix:_0x49fea9,separator:_0x5cf961,numDigits:_0x4fc500,reuseDelete:_0x3807d8}=_0x375fb9,{formatKey:_0x41d85b,datePrefix:_0x428531}=this[_0x42b11c(0x287)](_0x51225e,_0x49fea9),_0x2aa791=this['_buildSeqKey'](_0x57168a,_0x41d85b),_0xe5a298=this[_0x42b11c(0x226)](_0x57168a,_0x41d85b),_0x3fc318=this[_0x42b11c(0x267)](_0x57168a,_0x41d85b),_0x3e99e8=this['_getCounterTTL'](_0x51225e);let _0x3649b4=null;if(_0x309768){_0x3649b4=this['_buildIdemKey'](_0x42b11c(0x2c2),_0x57168a,_0x41d85b,_0x309768);const _0x8de8ec=await this[_0x42b11c(0x2b6)](_0x3649b4);if(_0x8de8ec)return _0x8de8ec;}const _0x5a84fd=crypto[_0x42b11c(0x296)](),_0x1c8b1e=this['_buildReservationKey'](_0x5a84fd),_0xb39ccb=this['_buildReservationKeyPrefix'](),_0x4b8b2a=Date[_0x42b11c(0x280)](),_0x56a155=_0x4b8b2a+_0x11a330*0x3e8,_0x53bf1b=_0x11a330*0x3e8,_0x42513a=new Date(_0x4b8b2a)['toISOString'](),_0x101d11=new Date(_0x56a155)['toISOString'](),_0x2c95f0=['resource',_0x57168a,'formatKey',_0x41d85b,_0x4e5ccd[_0x42b11c(0x277)],_0x51225e,_0x4e5ccd['WbOwQ'],_0x49fea9,_0x42b11c(0x2cc),_0x5cf961,_0x42b11c(0x245),String(_0x4fc500),'datePrefix',_0x4e5ccd[_0x42b11c(0x1fe)](_0x428531,''),_0x4e5ccd[_0x42b11c(0x1df)],_0x42513a,_0x4e5ccd[_0x42b11c(0x22b)],_0x101d11,_0x4e5ccd[_0x42b11c(0x20e)],String(_0x53bf1b)];_0x309768&&_0x2c95f0['push'](_0x4e5ccd['xdeKP'],_0x309768);const _0x5cf892=redisClient[_0x42b11c(0x2cf)](),_0x48903d=await _0x5cf892[_0x42b11c(0x1f9)](LUA_RESERVE_NUMBER,0x3,_0x2aa791,_0xe5a298,_0x3fc318,_0x3807d8?'1':'0',String(_0x3e99e8),_0x5a84fd,_0x1c8b1e,_0x4e5ccd['vngCn'](String,_0x53bf1b),_0x4e5ccd[_0x42b11c(0x1d3)](String,_0x56a155),_0x4e5ccd['pcIyA'](String,_0x4b8b2a),_0xb39ccb,..._0x2c95f0),_0x17c6b2=_0x48903d[0x0],_0x52e6db=_0x48903d[0x1]===0x1,_0x4e17b9=_0x48903d[0x2]||0x0;let _0x5cca6f;try{_0x5cca6f=this[_0x42b11c(0x2aa)]({'format':_0x51225e,'prefix':_0x49fea9,'datePrefix':_0x428531,'separator':_0x5cf961,'numDigits':_0x4fc500,'counterInt':_0x17c6b2});}catch(_0x23deaf){try{await _0x5cf892[_0x42b11c(0x1f9)](LUA_CANCEL_RESERVATION,0x3,_0x1c8b1e,_0x3fc318,_0xe5a298,_0x5a84fd,String(_0x3e99e8));}catch(_0x5cb423){logger['warn']({'event':'idgen_reserve_overflow_compensation_error','error':_0x5cb423['message'],'resource':_0x57168a,'formatKey':_0x41d85b,'counterInt':_0x17c6b2,'token':_0x5a84fd},_0x4e5ccd[_0x42b11c(0x262)]);}throw _0x23deaf;}try{await _0x5cf892['hset'](_0x1c8b1e,_0x4e5ccd[_0x42b11c(0x299)],_0x5cca6f);}catch(_0x2e1501){logger['warn']({'event':_0x4e5ccd['eXCcN'],'error':_0x2e1501[_0x42b11c(0x281)],'resource':_0x57168a,'formatKey':_0x41d85b,'counterInt':_0x17c6b2,'token':_0x5a84fd},'Failed\x20to\x20persist\x20formatted\x20value\x20to\x20reservation\x20hash');}const _0xf2b813={'token':_0x5a84fd,'value':_0x5cca6f,'counter':_0x17c6b2,'resource':_0x57168a,'formatKey':_0x41d85b,'isReused':_0x52e6db,'createdAt':_0x42513a,'expiresAt':_0x101d11,'reapedCount':_0x4e17b9},_0x2d1b2d=await this['_storeIdemCacheNX'](_0x3649b4,_0xf2b813);if(!_0x2d1b2d['stored']){try{await _0x5cf892['eval'](LUA_CANCEL_RESERVATION,0x3,_0x1c8b1e,_0x3fc318,_0xe5a298,_0x5a84fd,_0x4e5ccd['ijYES'](String,_0x3e99e8));}catch(_0x56f237){logger[_0x42b11c(0x26c)]({'event':_0x4e5ccd[_0x42b11c(0x2d6)],'error':_0x56f237[_0x42b11c(0x281)],'resource':_0x57168a,'formatKey':_0x41d85b,'counterInt':_0x17c6b2,'token':_0x5a84fd},_0x4e5ccd['rdsLZ']);}return logger[_0x42b11c(0x229)]({'event':_0x42b11c(0x23c),'resource':_0x57168a,'formatKey':_0x41d85b,'counter':_0x17c6b2,'token':_0x5a84fd},_0x42b11c(0x1cf)),_0x2d1b2d['winnerResult'];}return this['_updateMeta'](_0x57168a,_0x41d85b,{'lastReservedCounter':_0x17c6b2,'lastReservedAt':_0x42513a,'lastReapedCount':_0x4e17b9},_0x3e99e8),logger[_0x42b11c(0x229)]({'event':_0x4e5ccd['vLySe'],'resource':_0x57168a,'formatKey':_0x41d85b,'counter':_0x17c6b2,'isReused':_0x52e6db,'token':_0x5a84fd,'ttl':_0x11a330,'reapedCount':_0x4e17b9},_0x42b11c(0x2a7)+_0x5cca6f+_0x42b11c(0x1cc)+_0x5a84fd+')'),_0xf2b813;}async['confirmReservation'](_0x3ae000){const _0x5957fe=a0_0x1ed12e,_0x3e0796={'eIqMA':_0x5957fe(0x1f0),'PvHqG':_0x5957fe(0x1ce),'rfCHq':function(_0x2e996f,_0x180279){return _0x2e996f!==_0x180279;},'fVSmp':function(_0x663c07,_0x313978,_0x52c7fd){return _0x663c07(_0x313978,_0x52c7fd);},'UlKxn':'idgen_reservation_confirmed'};if(!this[_0x5957fe(0x240)])throw new IdGeneratorError(_0x5957fe(0x243),_0x3e0796['eIqMA']);const _0x5d2373=this[_0x5957fe(0x28c)](_0x3ae000&&_0x3ae000['token']),_0xa89a6e=this['_validateIdempotencyKey'](_0x3ae000&&_0x3ae000[_0x5957fe(0x207)]);let _0x24d3e0=null;if(_0xa89a6e){_0x24d3e0=idempotencyManager['buildDeterministicKey'](_0x5957fe(0x2ce),_0x3e0796[_0x5957fe(0x1ff)],_0x5d2373+':'+_0xa89a6e);const _0x4ff904=await this['_retrieveIdemCache'](_0x24d3e0);if(_0x4ff904)return _0x4ff904;}const _0x372433=await this[_0x5957fe(0x1d9)](_0x5d2373),_0xf79e9d=redisClient['getClient'](),_0x48c938=await _0xf79e9d[_0x5957fe(0x1f9)](LUA_CONFIRM_RESERVATION,0x2,_0x372433['rsvKey'],_0x372433[_0x5957fe(0x1c9)],_0x5d2373);if(!_0x48c938||_0x3e0796['rfCHq'](_0x48c938[0x0],0x1))throw new IdGeneratorError('IDGEN_RESERVATION_NOT_FOUND','Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x5d2373,{'token':_0x5d2373});const _0x47dcc4=_0x3e0796[_0x5957fe(0x224)](parseInt,_0x48c938[0x1],0xa),_0xc5edda=_0x48c938[0x2],_0x2d7de0=_0x48c938[0x3],_0x3afa4f=new Date()[_0x5957fe(0x2b2)](),_0x8ead70={'confirmed':!![],'token':_0x5d2373,'value':_0xc5edda,'counter':_0x47dcc4,'resource':_0x372433[_0x5957fe(0x215)],'formatKey':_0x2d7de0,'confirmedAt':_0x3afa4f};await this[_0x5957fe(0x1ec)](_0x24d3e0,_0x8ead70);const _0x18a35c=_0x2d7de0[_0x5957fe(0x222)](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x49c75e=_0x18a35c?_0x18a35c[0x1]:'text',_0x1fcb3d=this[_0x5957fe(0x2d4)](_0x49c75e);return this[_0x5957fe(0x2d7)](_0x372433[_0x5957fe(0x215)],_0x2d7de0,{'lastConfirmedCounter':_0x47dcc4,'lastConfirmedAt':_0x3afa4f},_0x1fcb3d),logger['info']({'event':_0x3e0796['UlKxn'],'resource':_0x372433['resource'],'formatKey':_0x2d7de0,'counter':_0x47dcc4,'token':_0x5d2373},_0x5957fe(0x1db)+_0xc5edda+'\x20(token='+_0x5d2373+')'),_0x8ead70;}async[a0_0x1ed12e(0x2ad)](_0x25ae6e){const _0x57d77c=a0_0x1ed12e,_0x28ab56={'ScUqp':_0x57d77c(0x2ce),'NjVTy':_0x57d77c(0x1f4),'fjeSz':_0x57d77c(0x1fd),'KDYkO':_0x57d77c(0x275)};if(!this['enabled'])throw new IdGeneratorError(_0x57d77c(0x243),_0x57d77c(0x1f0));const _0x58c26f=this[_0x57d77c(0x28c)](_0x25ae6e&&_0x25ae6e['token']),_0xf1a540=this['_validateIdempotencyKey'](_0x25ae6e&&_0x25ae6e['idempotencyKey']);let _0x5e319d=null;if(_0xf1a540){_0x5e319d=idempotencyManager[_0x57d77c(0x282)](_0x28ab56['ScUqp'],_0x28ab56[_0x57d77c(0x29e)],_0x58c26f+':'+_0xf1a540);const _0x17929d=await this[_0x57d77c(0x2b6)](_0x5e319d);if(_0x17929d)return _0x17929d;}const _0x3359ad=await this['_getReservationContext'](_0x58c26f),_0x36d8b1=this[_0x57d77c(0x226)](_0x3359ad[_0x57d77c(0x215)],_0x3359ad['formatKey']),_0x19d74b=_0x3359ad['formatKey'][_0x57d77c(0x222)](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x190105=_0x19d74b?_0x19d74b[0x1]:_0x28ab56[_0x57d77c(0x244)],_0xc60989=this['_getCounterTTL'](_0x190105),_0x374de8=redisClient['getClient'](),_0x4408b9=await _0x374de8[_0x57d77c(0x1f9)](LUA_CANCEL_RESERVATION,0x3,_0x3359ad['rsvKey'],_0x3359ad[_0x57d77c(0x1c9)],_0x36d8b1,_0x58c26f,String(_0xc60989));if(!_0x4408b9||_0x4408b9[0x0]!==0x1)throw new IdGeneratorError('IDGEN_RESERVATION_NOT_FOUND','Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x58c26f,{'token':_0x58c26f});const _0x27aa5f=parseInt(_0x4408b9[0x1],0xa),_0x54ab88=_0x4408b9[0x2],_0x1bba89=_0x4408b9[0x3],_0x2a2bd8=new Date()['toISOString'](),_0x4d73e9={'cancelled':!![],'token':_0x58c26f,'value':_0x54ab88,'counter':_0x27aa5f,'resource':_0x3359ad['resource'],'formatKey':_0x1bba89,'releasedToReuse':!![],'cancelledAt':_0x2a2bd8};return await this['_storeIdemCache'](_0x5e319d,_0x4d73e9),this[_0x57d77c(0x2d7)](_0x3359ad[_0x57d77c(0x215)],_0x1bba89,{'lastCancelledCounter':_0x27aa5f,'lastCancelledAt':_0x2a2bd8},_0xc60989),logger[_0x57d77c(0x229)]({'event':_0x28ab56['KDYkO'],'resource':_0x3359ad[_0x57d77c(0x215)],'formatKey':_0x1bba89,'counter':_0x27aa5f,'token':_0x58c26f},'ID\x20Generator\x20reservation\x20cancelled:\x20'+_0x54ab88+_0x57d77c(0x1cc)+_0x58c26f+')'),_0x4d73e9;}async['extendReservation'](_0x433748){const _0x1c93c4=a0_0x1ed12e,_0x1c26a7={'NGdMK':'ID\x20Generator\x20is\x20disabled','fMskP':function(_0x2c53a6,_0x1a0104){return _0x2c53a6*_0x1a0104;},'Kqygj':function(_0x51c7ad,_0x376592){return _0x51c7ad!==_0x376592;},'bLIaA':_0x1c93c4(0x29b)};if(!this['enabled'])throw new IdGeneratorError(_0x1c93c4(0x243),_0x1c26a7[_0x1c93c4(0x204)]);const _0x5d701f=this['_validateReservationToken'](_0x433748&&_0x433748[_0x1c93c4(0x286)]),_0x2b0f5e=this[_0x1c93c4(0x27e)](_0x433748&&_0x433748[_0x1c93c4(0x2de)]),_0x51eee4=this[_0x1c93c4(0x2d2)](_0x433748&&_0x433748[_0x1c93c4(0x207)]);let _0x1afc7d=null;if(_0x51eee4){_0x1afc7d=idempotencyManager['buildDeterministicKey'](_0x1c93c4(0x2ce),'reserve_extend',_0x5d701f+':'+_0x51eee4);const _0x3b0bee=await this[_0x1c93c4(0x2b6)](_0x1afc7d);if(_0x3b0bee)return _0x3b0bee;}const _0x4af5f2=await this['_getReservationContext'](_0x5d701f),_0x569a0d=Date[_0x1c93c4(0x280)](),_0x12e14b=_0x569a0d+_0x1c26a7[_0x1c93c4(0x27d)](_0x2b0f5e,0x3e8),_0x364005=_0x2b0f5e*0x3e8,_0x44bd0a=new Date(_0x12e14b)['toISOString'](),_0x7cfadd=redisClient[_0x1c93c4(0x2cf)](),_0x43f3a3=await _0x7cfadd[_0x1c93c4(0x1f9)](LUA_EXTEND_RESERVATION,0x2,_0x4af5f2[_0x1c93c4(0x29c)],_0x4af5f2[_0x1c93c4(0x1c9)],_0x5d701f,String(_0x364005),String(_0x12e14b),_0x44bd0a);if(!_0x43f3a3||_0x1c26a7['Kqygj'](_0x43f3a3[0x0],0x1))throw new IdGeneratorError(_0x1c26a7[_0x1c93c4(0x24c)],'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x5d701f,{'token':_0x5d701f});const _0x25109f=_0x43f3a3[0x1],_0x2e124a=parseInt(_0x43f3a3[0x2],0xa),_0x2cc440=_0x43f3a3[0x3],_0x194cd9=_0x43f3a3[0x4],_0x3521b1=new Date(_0x569a0d)[_0x1c93c4(0x2b2)](),_0x183a8c={'extended':!![],'token':_0x5d701f,'previousExpiresAt':_0x25109f,'expiresAt':_0x44bd0a,'ttlMs':_0x364005,'resource':_0x4af5f2[_0x1c93c4(0x215)],'formatKey':_0x194cd9,'counter':_0x2e124a,'value':_0x2cc440,'extendedAt':_0x3521b1};await this['_storeIdemCache'](_0x1afc7d,_0x183a8c);const _0x5ac820=_0x194cd9['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x4290ec=_0x5ac820?_0x5ac820[0x1]:'text',_0x21dec9=this[_0x1c93c4(0x2d4)](_0x4290ec);return this[_0x1c93c4(0x2d7)](_0x4af5f2['resource'],_0x194cd9,{'lastExtendedCounter':_0x2e124a,'lastExtendedAt':_0x3521b1},_0x21dec9),logger[_0x1c93c4(0x229)]({'event':'idgen_reservation_extended','resource':_0x4af5f2[_0x1c93c4(0x215)],'formatKey':_0x194cd9,'counter':_0x2e124a,'token':_0x5d701f,'ttl':_0x2b0f5e},'ID\x20Generator\x20reservation\x20extended:\x20'+_0x2cc440+_0x1c93c4(0x1cc)+_0x5d701f+',\x20+'+_0x2b0f5e+'s)'),_0x183a8c;}async[a0_0x1ed12e(0x294)](_0x465c86){const _0x258428=a0_0x1ed12e,_0x9b7596={'IWTHz':_0x258428(0x243),'qOqZw':_0x258428(0x1f0),'OWOxk':function(_0x46d5e5,_0x257b9b){return _0x46d5e5===_0x257b9b;},'mduAb':function(_0x1266f9,_0x935275,_0x53b387){return _0x1266f9(_0x935275,_0x53b387);},'OqIdN':function(_0x482ffe,_0x1db4f3,_0x1cd77e){return _0x482ffe(_0x1db4f3,_0x1cd77e);},'xLJJr':function(_0x3c3abb,_0x2ea86a){return _0x3c3abb>=_0x2ea86a;}};if(!this[_0x258428(0x240)])throw new IdGeneratorError(_0x9b7596[_0x258428(0x254)],_0x9b7596[_0x258428(0x22c)]);const _0x47b5a4=this[_0x258428(0x28c)](_0x465c86&&_0x465c86[_0x258428(0x286)]),_0x174b67=this[_0x258428(0x24f)](_0x47b5a4),_0x172d7c=redisClient[_0x258428(0x2cf)](),_0x2d20c5=_0x172d7c['pipeline']();_0x2d20c5[_0x258428(0x233)](_0x174b67),_0x2d20c5['pttl'](_0x174b67);const _0x373a50=await _0x2d20c5[_0x258428(0x20b)](),_0x27c17f=_0x373a50&&_0x373a50[0x0]&&_0x373a50[0x0][0x1],_0x909e5d=_0x373a50&&_0x373a50[0x1]&&_0x373a50[0x1][0x1];if(!_0x27c17f||_0x9b7596['OWOxk'](Object['keys'](_0x27c17f)['length'],0x0))throw new IdGeneratorError(_0x258428(0x29b),_0x258428(0x265)+_0x47b5a4,{'token':_0x47b5a4});return{'token':_0x47b5a4,'resource':_0x27c17f[_0x258428(0x215)]||null,'formatKey':_0x27c17f[_0x258428(0x29a)]||null,'format':_0x27c17f['format']||null,'prefix':_0x27c17f[_0x258428(0x2e5)]||'','separator':_0x27c17f[_0x258428(0x2cc)]||'','numDigits':_0x27c17f[_0x258428(0x245)]?_0x9b7596['mduAb'](parseInt,_0x27c17f['numDigits'],0xa):null,'datePrefix':_0x27c17f['datePrefix']||'','counter':_0x27c17f[_0x258428(0x25d)]?_0x9b7596[_0x258428(0x23e)](parseInt,_0x27c17f[_0x258428(0x25d)],0xa):null,'value':_0x27c17f['value']||null,'isReused':_0x27c17f[_0x258428(0x2e3)]==='1'||_0x27c17f['isReused']===0x1,'createdAt':_0x27c17f[_0x258428(0x22a)]||null,'expiresAt':_0x27c17f['expiresAt']||null,'ttlRemainingMs':typeof _0x909e5d===_0x258428(0x20f)&&_0x9b7596[_0x258428(0x2e1)](_0x909e5d,0x0)?_0x909e5d:null};}async[a0_0x1ed12e(0x1d9)](_0x52dfc2){const _0x25b5af=a0_0x1ed12e,_0x3334da={'NynSs':'resource','Rfdur':_0x25b5af(0x29a),'BMeDB':_0x25b5af(0x29b)},_0x426e34=this['_buildReservationKey'](_0x52dfc2),_0x5396de=redisClient[_0x25b5af(0x2cf)](),_0x199418=await _0x5396de['hmget'](_0x426e34,_0x3334da['NynSs'],_0x3334da[_0x25b5af(0x1c0)]),_0x53ac78=_0x199418&&_0x199418[0x0],_0x4fba1f=_0x199418&&_0x199418[0x1];if(!_0x53ac78||!_0x4fba1f)throw new IdGeneratorError(_0x3334da['BMeDB'],'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x52dfc2,{'token':_0x52dfc2});return{'resource':_0x53ac78,'formatKey':_0x4fba1f,'rsvKey':_0x426e34,'rsvIdxKey':this['_buildReservationIndexKey'](_0x53ac78,_0x4fba1f)};}async[a0_0x1ed12e(0x2bd)](_0x4c47f6){const _0x219a81=a0_0x1ed12e,_0x3f8905={'ffEXq':_0x219a81(0x243),'xsWIO':_0x219a81(0x1f0),'lnBAN':function(_0x1c5af0,_0x5541c8){return _0x1c5af0===_0x5541c8;},'XPtRe':function(_0x2ae4b2,_0x1164b3){return _0x2ae4b2===_0x1164b3;},'uUFPn':function(_0x3ae018,_0x5c7a8c){return _0x3ae018&&_0x5c7a8c;},'JPPzM':function(_0x166cc9,_0x182534){return _0x166cc9+_0x182534;},'vXkKV':function(_0x18d735,_0x235a9a){return _0x18d735*_0x235a9a;},'AtcrF':function(_0x37ff9d,_0x1e3b00){return _0x37ff9d||_0x1e3b00;}};if(!this['enabled'])throw new IdGeneratorError(_0x3f8905['ffEXq'],_0x3f8905['xsWIO']);this['_validateResource'](_0x4c47f6['resource']),this[_0x219a81(0x208)](_0x4c47f6['pattern']);const _0x1244d0=this['_validateTTL'](_0x4c47f6['ttl']),_0x5ca484=this[_0x219a81(0x2cb)](_0x4c47f6[_0x219a81(0x279)]),_0x39e9cc=this['_validateIdempotencyKey'](_0x4c47f6[_0x219a81(0x207)]),_0x566e6b=_0x4c47f6['ensureUnique']===!![],{resource:_0x2017d1,pattern:_0x54ef95}=_0x4c47f6;let _0x13020e=null;if(_0x39e9cc){_0x13020e=this[_0x219a81(0x1d2)](_0x219a81(0x2bd),_0x2017d1,null,_0x39e9cc);const _0x961be9=await this['_retrieveIdemCache'](_0x13020e);if(_0x961be9)return _0x961be9;}const _0x26e6d7=redisClient['getClient']();let _0x147e36=null,_0x4eddd1=0x0;if(!_0x566e6b)_0x147e36=this['_generateFromPattern'](_0x54ef95),_0x4eddd1=0x1;else{for(let _0x4d7dd6=0x0;_0x4d7dd6<_0x5ca484;_0x4d7dd6++){_0x4eddd1++;const _0x382258=this[_0x219a81(0x1e2)](_0x54ef95);if(_0x1244d0){const _0x127bba=this['_buildActiveKey'](_0x2017d1,_0x382258),_0x1896f1=await _0x26e6d7[_0x219a81(0x28b)](_0x127bba,'1','EX',_0x1244d0,'NX');if(_0x3f8905[_0x219a81(0x1c5)](_0x1896f1,'OK')){_0x147e36=_0x382258;break;}}else{const _0x3d0ffa=this[_0x219a81(0x1d8)](_0x2017d1),_0x7bc7c6=await _0x26e6d7['sadd'](_0x3d0ffa,_0x382258);if(_0x3f8905[_0x219a81(0x2db)](_0x7bc7c6,0x1)){_0x147e36=_0x382258;break;}}}if(_0x147e36===null)throw new IdGeneratorError('IDGEN_UNIQUE_RETRY_EXHAUSTED','Could\x20not\x20generate\x20unique\x20value\x20after\x20'+_0x5ca484+'\x20attempts.\x20Increase\x20pattern\x20length\x20or\x20maxRetry.',{'resource':_0x2017d1,'pattern':_0x54ef95,'maxRetry':_0x5ca484});}const _0x39bfea={'value':_0x147e36,'resource':_0x2017d1,'pattern':_0x54ef95,'attemptCount':_0x4eddd1,'generatedAt':new Date()[_0x219a81(0x2b2)]()};_0x3f8905['uUFPn'](_0x1244d0,_0x566e6b)&&(_0x39bfea['expiresAt']=new Date(_0x3f8905['JPPzM'](Date['now'](),_0x3f8905['vXkKV'](_0x1244d0,0x3e8)))['toISOString']());const _0x11bd28=await this['_storeIdemCacheNX'](_0x13020e,_0x39bfea);if(!_0x11bd28[_0x219a81(0x293)])return _0x566e6b&&await this[_0x219a81(0x21d)](_0x2017d1,_0x147e36,_0x1244d0),logger['info']({'event':'idgen_random_idem_loser','resource':_0x2017d1,'pattern':_0x54ef95,'value':_0x147e36},'ID\x20Generator\x20random\x20idem\x20race\x20lost,\x20returning\x20winner\x20envelope'),_0x11bd28['winnerResult'];return logger['info']({'event':_0x219a81(0x268),'resource':_0x2017d1,'pattern':_0x54ef95,'attemptCount':_0x4eddd1,'ensureUnique':_0x566e6b,'ttl':_0x3f8905[_0x219a81(0x237)](_0x1244d0,0x0)},_0x219a81(0x27b)+_0x147e36),_0x39bfea;}async['pin'](_0x426d4d){const _0x4e6b19=a0_0x1ed12e,_0xe72603={'ssMll':function(_0x5757db,_0x1a9dd0){return _0x5757db==_0x1a9dd0;},'QDZze':function(_0x26d4d1,_0x1c0a63){return _0x26d4d1===_0x1c0a63;}},_0x81f876=_0xe72603[_0x4e6b19(0x218)](_0x426d4d['digits'],null)?this[_0x4e6b19(0x1d1)]:_0x426d4d[_0x4e6b19(0x290)];if(!Number[_0x4e6b19(0x2e7)](_0x81f876)||_0x81f876<MIN_PIN_DIGITS||_0x81f876>MAX_PIN_DIGITS)throw new IdGeneratorError('IDGEN_INVALID_DIGITS','Invalid\x20digits:\x20must\x20be\x20integer\x20'+MIN_PIN_DIGITS+'-'+MAX_PIN_DIGITS+_0x4e6b19(0x242)+_0x81f876+')');const _0x1a4caa='9'[_0x4e6b19(0x1e0)](_0x81f876);return this['random']({'resource':_0x426d4d['resource'],'pattern':_0x1a4caa,'ensureUnique':_0xe72603[_0x4e6b19(0x216)](_0x426d4d['ensureUnique'],!![]),'ttl':_0x426d4d['ttl'],'maxRetry':_0x426d4d[_0x4e6b19(0x279)],'idempotencyKey':_0x426d4d[_0x4e6b19(0x207)]});}async['serial'](_0x7b673a){const _0x442dcb=a0_0x1ed12e,_0x5bbcf8=_0x7b673a[_0x442dcb(0x1eb)]||this[_0x442dcb(0x2a0)];return this[_0x442dcb(0x2bd)]({'resource':_0x7b673a['resource'],'pattern':_0x5bbcf8,'ensureUnique':_0x7b673a[_0x442dcb(0x264)]!==![],'ttl':_0x7b673a[_0x442dcb(0x2de)],'maxRetry':_0x7b673a[_0x442dcb(0x279)],'idempotencyKey':_0x7b673a['idempotencyKey']});}async['code'](_0x174f23){const _0x24b6cb=a0_0x1ed12e,_0x29ee6e={'LnCAL':function(_0x449e5d,_0x26780c){return _0x449e5d!==_0x26780c;}},_0x39d0ac=_0x174f23[_0x24b6cb(0x1eb)]||this['defaultCodePattern'];return this[_0x24b6cb(0x2bd)]({'resource':_0x174f23['resource'],'pattern':_0x39d0ac,'ensureUnique':_0x29ee6e['LnCAL'](_0x174f23[_0x24b6cb(0x264)],![]),'ttl':_0x174f23['ttl'],'maxRetry':_0x174f23['maxRetry'],'idempotencyKey':_0x174f23['idempotencyKey']});}async['consume'](_0x3c6f3f){const _0x88bcfb=a0_0x1ed12e,_0x3d8ac1={'NJQpm':'IDGEN_DISABLED','eJaDo':function(_0x4aedbf,_0x1dc66f){return _0x4aedbf!==_0x1dc66f;},'qBKvZ':_0x88bcfb(0x2da)};if(!this['enabled'])throw new IdGeneratorError(_0x3d8ac1['NJQpm'],_0x88bcfb(0x1f0));this[_0x88bcfb(0x1ca)](_0x3c6f3f[_0x88bcfb(0x215)]);if(_0x3d8ac1['eJaDo'](typeof _0x3c6f3f[_0x88bcfb(0x209)],_0x88bcfb(0x1dc))||_0x3c6f3f['value']['length']===0x0)throw new IdGeneratorError('IDGEN_INVALID_NUMBER',_0x3d8ac1[_0x88bcfb(0x256)]);const {resource:_0x4eb5b6,value:_0x16ed2c}=_0x3c6f3f,_0x3852d8=redisClient[_0x88bcfb(0x2cf)](),_0x247a8c=this['_buildActiveKey'](_0x4eb5b6,_0x16ed2c),_0x1940c4=this['_buildIssuedKey'](_0x4eb5b6),[_0x4bfc76,_0x144928]=await Promise[_0x88bcfb(0x1c8)]([_0x3852d8['del'](_0x247a8c),_0x3852d8['srem'](_0x1940c4,_0x16ed2c)]),_0x4ceb37=_0x4bfc76+_0x144928>0x0;return logger[_0x88bcfb(0x229)]({'event':'idgen_consumed','resource':_0x4eb5b6,'value':_0x16ed2c,'consumed':_0x4ceb37},'ID\x20Generator\x20consumed:\x20'+_0x16ed2c),{'consumed':_0x4ceb37,'resource':_0x4eb5b6,'value':_0x16ed2c,'consumedAt':new Date()['toISOString']()};}async['peek'](_0x285579){const _0xcd81c0=a0_0x1ed12e,_0x3551f9={'TIUnX':'ID\x20Generator\x20is\x20disabled','LbjRx':'number','rYhpQ':_0xcd81c0(0x2c4),'nEJgq':function(_0x288ff4,_0x28634b,_0x47ff50){return _0x288ff4(_0x28634b,_0x47ff50);},'fdPTj':function(_0x1d1050,_0x2ef8dc){return _0x1d1050||_0x2ef8dc;},'xtkjE':'random'};if(!this['enabled'])throw new IdGeneratorError(_0xcd81c0(0x243),_0x3551f9[_0xcd81c0(0x22f)]);this['_validateResource'](_0x285579[_0xcd81c0(0x215)]);const _0x23a213=_0x285579[_0xcd81c0(0x2a9)]||_0x3551f9['LbjRx'],_0x2079c6=redisClient['getClient']();if(_0x23a213===_0x3551f9['LbjRx']){const _0x2b2e68=(_0x285579['format']||_0xcd81c0(0x1fd))['toLowerCase']();if(!ALLOWED_FORMATS['has'](_0x2b2e68))throw new IdGeneratorError(_0x3551f9[_0xcd81c0(0x2bb)],_0xcd81c0(0x284)+_0x285579[_0xcd81c0(0x2ca)]);const {formatKey:_0x83256c}=this['_buildFormatKey'](_0x2b2e68,_0x285579[_0xcd81c0(0x2e5)]||''),_0x3f6820=this[_0xcd81c0(0x20d)](_0x285579['resource'],_0x83256c),_0x523bdc=this[_0xcd81c0(0x226)](_0x285579['resource'],_0x83256c),[_0xded500,_0x836243]=await Promise['all']([_0x2079c6[_0xcd81c0(0x26a)](_0x3f6820),_0x2079c6['zcard'](_0x523bdc)]);return{'resource':_0x285579['resource'],'mode':'number','formatKey':_0x83256c,'currentCounter':_0x3551f9['nEJgq'](parseInt,_0xded500,0xa)||0x0,'reusePoolSize':_0x3551f9[_0xcd81c0(0x202)](_0x836243,0x0)};}if(_0x23a213===_0xcd81c0(0x2bd)){const _0x35aec3=this[_0xcd81c0(0x1d8)](_0x285579[_0xcd81c0(0x215)]),_0x40c218=await _0x2079c6[_0xcd81c0(0x252)](_0x35aec3);return{'resource':_0x285579['resource'],'mode':_0x3551f9['xtkjE'],'issuedCount':_0x40c218||0x0};}throw new IdGeneratorError('IDGEN_INVALID_MODE','Unknown\x20mode:\x20'+_0x23a213);}async[a0_0x1ed12e(0x1c4)](_0x389a06){const _0x4daeb1=a0_0x1ed12e,_0x147e5f={'XNXUG':function(_0x23bfdc,_0x52f36e){return _0x23bfdc>_0x52f36e;}},_0x309147=await this[_0x4daeb1(0x1e4)](_0x389a06);if(_0x309147['mode']==='number'){const _0x2a8126=redisClient[_0x4daeb1(0x2cf)](),_0xda2859=this[_0x4daeb1(0x2cd)](_0x389a06['resource'],_0x309147[_0x4daeb1(0x29a)]),_0x1b0e72=this['_buildReuseKey'](_0x389a06['resource'],_0x309147[_0x4daeb1(0x29a)]),[_0x26b7fb,_0x2bc032]=await Promise[_0x4daeb1(0x1c8)]([_0x2a8126[_0x4daeb1(0x233)](_0xda2859),_0x2a8126['zrange'](_0x1b0e72,0x0,-0x1)]);return{..._0x309147,'reusePoolValues':_0x2bc032['map'](_0x5b18c1=>parseInt(_0x5b18c1,0xa)),'meta':_0x26b7fb&&_0x147e5f[_0x4daeb1(0x24a)](Object['keys'](_0x26b7fb)[_0x4daeb1(0x24e)],0x0)?_0x26b7fb:null};}return _0x309147;}async['reset'](_0x27e8d1){const _0x141165=a0_0x1ed12e,_0x2d1024={'RIXAH':'IDGEN_DISABLED','iZFBH':_0x141165(0x20f),'XesWs':_0x141165(0x2c4),'oVlym':_0x141165(0x2e4),'QDNhP':_0x141165(0x2d9),'bQsWX':'meta','CoBLb':'random','ohpYn':_0x141165(0x2b3),'rzDYs':_0x141165(0x274)};if(!this['enabled'])throw new IdGeneratorError(_0x2d1024[_0x141165(0x1ef)],'ID\x20Generator\x20is\x20disabled');if(!this[_0x141165(0x21b)])throw new IdGeneratorError(_0x141165(0x1bf),_0x141165(0x1ed));this['_validateResource'](_0x27e8d1[_0x141165(0x215)]);const _0x266e8f=_0x27e8d1[_0x141165(0x2a9)]||_0x2d1024[_0x141165(0x25b)],_0x3a4891=redisClient[_0x141165(0x2cf)]();if(_0x266e8f===_0x2d1024['iZFBH']){const _0x2445d3=(_0x27e8d1[_0x141165(0x2ca)]||'text')[_0x141165(0x2af)]();if(!ALLOWED_FORMATS['has'](_0x2445d3))throw new IdGeneratorError(_0x2d1024[_0x141165(0x1d7)],_0x141165(0x284)+_0x27e8d1['format']);const {formatKey:_0xafa5c8}=this[_0x141165(0x287)](_0x2445d3,_0x27e8d1['prefix']||''),_0xbaf331=this[_0x141165(0x20d)](_0x27e8d1[_0x141165(0x215)],_0xafa5c8),_0x1d5cb7=this[_0x141165(0x226)](_0x27e8d1['resource'],_0xafa5c8),_0x583c3e=this['_buildMetaKey'](_0x27e8d1[_0x141165(0x215)],_0xafa5c8);return await _0x3a4891[_0x141165(0x2d8)](_0xbaf331,_0x1d5cb7,_0x583c3e),logger['warn']({'event':'idgen_reset','resource':_0x27e8d1['resource'],'mode':_0x2d1024[_0x141165(0x25b)],'formatKey':_0xafa5c8},_0x141165(0x1c2)+_0x27e8d1['resource']+':'+_0xafa5c8),{'reset':!![],'resource':_0x27e8d1['resource'],'mode':'number','formatKey':_0xafa5c8,'deletedKeys':[_0x2d1024['oVlym'],_0x2d1024[_0x141165(0x2b7)],_0x2d1024['bQsWX']]};}if(_0x266e8f===_0x2d1024[_0x141165(0x205)]){const _0x3c2122=this['_buildIssuedKey'](_0x27e8d1['resource']);return await _0x3a4891[_0x141165(0x2d8)](_0x3c2122),logger['warn']({'event':'idgen_reset','resource':_0x27e8d1['resource'],'mode':_0x141165(0x2bd)},'ID\x20Generator\x20reset:\x20random:'+_0x27e8d1['resource']),{'reset':!![],'resource':_0x27e8d1['resource'],'mode':'random','deletedKeys':[_0x2d1024['ohpYn']]};}throw new IdGeneratorError(_0x2d1024[_0x141165(0x217)],_0x141165(0x225)+_0x266e8f);}}const instance=new IdGenerator();instance[a0_0x1ed12e(0x25a)]=IdGeneratorError,module['exports']=instance,module[a0_0x1ed12e(0x1da)]['IdGeneratorError']=IdGeneratorError;
@@ -1 +1 @@
1
- 'use strict';function a0_0x49fd(){const _0x55b79a=['mtq2ndbjsNHuzM8','x3r0Ba','Cgf0Aa','CMTLAeu','swrLBxbVDgvUy3KGy29UzMLNDxjHDgLVBIbPBML0AwfSAxPLzcaTigvUywjSzwq6ia','mxvwwgH2rq','CMv0CMLLDMu','CMfUzg9Tvvvjra','mtbWAwvtBgO','BwvZC2fNzq','nJq3mujdA2Dhta','odb0werHvK4','mtCWExfLs3zY','zw5HyMXLza','x2vUywjSzwq','DhrS','CMvX','surftvbpvevoq1LFvfrm','ntC1ndmWn010Bxn2wG','zgvIDwC','zgvMyxvSDa','mZy0nZe3offxt0v5tG','Eefzwgm','Dw5RBM93BG','lI9YzwrPCY1JBgLLBNq','swrLBxbVDgvUy3KGCMvZCg9UC2uGC3rVCMvK','ndy0r2znu3vt','C3bSAxq','mtjJAeD6zKO','mta3nJa2mMPHA0DKDG','x2LUAxrPywXPEMvK','nZa3otmWm3LZwezJEq','zw52','lcbuveW6ia','x2LUAxrdB25MAwC','C3rYAw5NAwz5','mtqYnZy1r0jIyNfm','z2vUzxjHDgvlzxK','Aw5MBW'];a0_0x49fd=function(){return _0x55b79a;};return a0_0x49fd();}const a0_0x54755c=a0_0x2c4c;(function(_0x257d1f,_0x5032a4){const _0x2677bb=a0_0x2c4c,_0x8f89d6=_0x257d1f();while(!![]){try{const _0x2281b6=parseInt(_0x2677bb(0x109))/0x1*(parseInt(_0x2677bb(0x121))/0x2)+parseInt(_0x2677bb(0x10e))/0x3*(parseInt(_0x2677bb(0x11e))/0x4)+parseInt(_0x2677bb(0x110))/0x5*(parseInt(_0x2677bb(0x104))/0x6)+-parseInt(_0x2677bb(0x128))/0x7*(-parseInt(_0x2677bb(0x10f))/0x8)+-parseInt(_0x2677bb(0x119))/0x9*(-parseInt(_0x2677bb(0x10c))/0xa)+-parseInt(_0x2677bb(0x123))/0xb*(parseInt(_0x2677bb(0x120))/0xc)+-parseInt(_0x2677bb(0x116))/0xd;if(_0x2281b6===_0x5032a4)break;else _0x8f89d6['push'](_0x8f89d6['shift']());}catch(_0x51e606){_0x8f89d6['push'](_0x8f89d6['shift']());}}}(a0_0x49fd,0x603c7));const redisClient=require(a0_0x54755c(0x11c)),{logger}=require('./logger'),crypto=require('crypto');class IdempotencyManager{constructor(){const _0x133d52=a0_0x54755c;this['_enabled']=null,this[_0x133d52(0x105)]=null,this[_0x133d52(0x122)]=![];}[a0_0x54755c(0x126)](){const _0x1c7c89=a0_0x54755c,_0x154329={'xAYXc':function(_0xd8a290,_0x4072eb){return _0xd8a290===_0x4072eb;},'ZBlLa':'true','juEfW':function(_0x441593,_0x2c2be1,_0x4f0317){return _0x441593(_0x2c2be1,_0x4f0317);}};this['_enabled']=_0x154329[_0x1c7c89(0x11a)](process[_0x1c7c89(0x124)]['IDEMPOTENCY_ENABLED'],_0x154329['ZBlLa']),this['_ttl']=_0x154329['juEfW'](parseInt,process[_0x1c7c89(0x124)][_0x1c7c89(0x115)],0xa)||0x12c,this[_0x1c7c89(0x122)]=!![],logger['info']({'event':'idempotency_config_init','enabled':this[_0x1c7c89(0x112)],'ttl':this['_ttl']},_0x1c7c89(0x108)+this[_0x1c7c89(0x112)]+_0x1c7c89(0x125)+this[_0x1c7c89(0x105)]+'s');}['_ensureInitialized'](){!this['_initialized']&&this['_initConfig']();}get[a0_0x54755c(0x111)](){const _0x47290d=a0_0x54755c;return this['_ensureInitialized'](),this[_0x47290d(0x112)];}get[a0_0x54755c(0x113)](){const _0x3f79ca=a0_0x54755c;return this['_ensureInitialized'](),this[_0x3f79ca(0x105)];}['isEnabled'](){return this['enabled'];}['buildKey'](_0x119e2f,_0x47f671){const _0x284b78=a0_0x54755c,_0x4b5852=_0x47f671[_0x284b78(0x106)][_0x284b78(0x11f)]('/')['filter'](Boolean),_0x221696=_0x4b5852[0x0]||_0x284b78(0x118),_0x4c8b0e=_0x4b5852[0x1]||_0x284b78(0x11b),_0x20c31b=_0x4b5852[0x2]||'unknown';return'rf:idem:'+_0x221696+':'+_0x4c8b0e+':'+_0x20c31b+':'+_0x119e2f;}async['store'](_0x51df86,_0x10e653){const _0x171286=a0_0x54755c,_0x6e83c4={'IqGHr':_0x171286(0x11d),'LbeUB':'idempotency_store_error'};if(!this['enabled'])return![];try{const _0x2e5236=redisClient['getClient']();return await _0x2e5236['setex'](_0x51df86,this[_0x171286(0x113)],JSON[_0x171286(0x127)](_0x10e653)),logger[_0x171286(0x117)]({'event':'idempotency_store','key':_0x51df86,'ttl':this[_0x171286(0x113)],'statusCode':_0x10e653['statusCode']},_0x6e83c4['IqGHr']),!![];}catch(_0x1197a){return logger['error']({'event':_0x6e83c4['LbeUB'],'key':_0x51df86,'error':_0x1197a['message']},'Idempotency\x20store\x20error:\x20'+_0x1197a['message']),![];}}async[a0_0x54755c(0x10a)](_0x61833f){const _0x1ac77c=a0_0x54755c,_0x29e76f={'rkehE':'Idempotency\x20cache\x20MISS','ilcuC':'idempotency_retrieve_error'};if(!this['enabled'])return null;try{const _0xd4e199=redisClient['getClient'](),_0x352c5d=await _0xd4e199['get'](_0x61833f);if(_0x352c5d)return logger[_0x1ac77c(0x103)]({'event':'idempotency_hit','key':_0x61833f},'Idempotency\x20cache\x20HIT'),JSON['parse'](_0x352c5d);return logger[_0x1ac77c(0x117)]({'event':'idempotency_miss','key':_0x61833f},_0x29e76f[_0x1ac77c(0x107)]),null;}catch(_0x4ca619){return logger['error']({'event':_0x29e76f['ilcuC'],'key':_0x61833f,'error':_0x4ca619[_0x1ac77c(0x10d)]},'Idempotency\x20retrieve\x20error:\x20'+_0x4ca619['message']),null;}}[a0_0x54755c(0x102)](_0x2d34ed=a0_0x54755c(0x114)){const _0x35b9a9=a0_0x54755c;return _0x2d34ed+'_'+crypto[_0x35b9a9(0x10b)]();}['buildDeterministicKey'](_0x59ce5c,_0xfd51dc,_0x1f0e2e){return _0x59ce5c+':'+_0xfd51dc+':'+_0x1f0e2e;}}function a0_0x2c4c(_0x1df547,_0x5553d9){_0x1df547=_0x1df547-0x102;const _0x49fd8c=a0_0x49fd();let _0x2c4ced=_0x49fd8c[_0x1df547];if(a0_0x2c4c['iXmPQs']===undefined){var _0x54a476=function(_0x30ae23){const _0x53e1d9='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5bd949='',_0x35ae2e='';for(let _0x5f39dd=0x0,_0x36c33f,_0x414d5f,_0x4fb45d=0x0;_0x414d5f=_0x30ae23['charAt'](_0x4fb45d++);~_0x414d5f&&(_0x36c33f=_0x5f39dd%0x4?_0x36c33f*0x40+_0x414d5f:_0x414d5f,_0x5f39dd++%0x4)?_0x5bd949+=String['fromCharCode'](0xff&_0x36c33f>>(-0x2*_0x5f39dd&0x6)):0x0){_0x414d5f=_0x53e1d9['indexOf'](_0x414d5f);}for(let _0x29910e=0x0,_0x3b6f30=_0x5bd949['length'];_0x29910e<_0x3b6f30;_0x29910e++){_0x35ae2e+='%'+('00'+_0x5bd949['charCodeAt'](_0x29910e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x35ae2e);};a0_0x2c4c['gyvhLZ']=_0x54a476,a0_0x2c4c['NKpgGb']={},a0_0x2c4c['iXmPQs']=!![];}const _0x56d6e8=_0x49fd8c[0x0],_0xdabd88=_0x1df547+_0x56d6e8,_0x612cff=a0_0x2c4c['NKpgGb'][_0xdabd88];return!_0x612cff?(_0x2c4ced=a0_0x2c4c['gyvhLZ'](_0x2c4ced),a0_0x2c4c['NKpgGb'][_0xdabd88]=_0x2c4ced):_0x2c4ced=_0x612cff,_0x2c4ced;}module['exports']=new IdempotencyManager();
1
+ 'use strict';const a0_0x14008c=a0_0x15e0;function a0_0x15e0(_0x56b40d,_0xf3845c){_0x56b40d=_0x56b40d-0x169;const _0x446f69=a0_0x446f();let _0x15e053=_0x446f69[_0x56b40d];if(a0_0x15e0['wxJDgH']===undefined){var _0x163fa0=function(_0x433fc6){const _0x4a74d1='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xd457f1='',_0x304b3b='';for(let _0x67b2fd=0x0,_0x271d09,_0x44021d,_0xda839d=0x0;_0x44021d=_0x433fc6['charAt'](_0xda839d++);~_0x44021d&&(_0x271d09=_0x67b2fd%0x4?_0x271d09*0x40+_0x44021d:_0x44021d,_0x67b2fd++%0x4)?_0xd457f1+=String['fromCharCode'](0xff&_0x271d09>>(-0x2*_0x67b2fd&0x6)):0x0){_0x44021d=_0x4a74d1['indexOf'](_0x44021d);}for(let _0x3037d0=0x0,_0x34ded0=_0xd457f1['length'];_0x3037d0<_0x34ded0;_0x3037d0++){_0x304b3b+='%'+('00'+_0xd457f1['charCodeAt'](_0x3037d0)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x304b3b);};a0_0x15e0['SnKfxw']=_0x163fa0,a0_0x15e0['FcPsIS']={},a0_0x15e0['wxJDgH']=!![];}const _0x4b0e25=_0x446f69[0x0],_0x630d54=_0x56b40d+_0x4b0e25,_0x5436aa=a0_0x15e0['FcPsIS'][_0x630d54];return!_0x5436aa?(_0x15e053=a0_0x15e0['SnKfxw'](_0x15e053),a0_0x15e0['FcPsIS'][_0x630d54]=_0x15e053):_0x15e053=_0x5436aa,_0x15e053;}(function(_0x324ae5,_0x1c75fe){const _0x4c25c1=a0_0x15e0,_0x201566=_0x324ae5();while(!![]){try{const _0x565915=parseInt(_0x4c25c1(0x17b))/0x1*(parseInt(_0x4c25c1(0x17f))/0x2)+parseInt(_0x4c25c1(0x18b))/0x3*(parseInt(_0x4c25c1(0x17d))/0x4)+parseInt(_0x4c25c1(0x171))/0x5+-parseInt(_0x4c25c1(0x188))/0x6*(parseInt(_0x4c25c1(0x180))/0x7)+-parseInt(_0x4c25c1(0x183))/0x8*(parseInt(_0x4c25c1(0x170))/0x9)+-parseInt(_0x4c25c1(0x195))/0xa+parseInt(_0x4c25c1(0x191))/0xb;if(_0x565915===_0x1c75fe)break;else _0x201566['push'](_0x201566['shift']());}catch(_0x22d745){_0x201566['push'](_0x201566['shift']());}}}(a0_0x446f,0xcb982));const redisClient=require('./redis-client'),{logger}=require('./logger'),crypto=require(a0_0x14008c(0x194));class IdempotencyManager{constructor(){const _0x25417b=a0_0x14008c;this[_0x25417b(0x186)]=null,this[_0x25417b(0x16f)]=null,this['_initialized']=![];}[a0_0x14008c(0x177)](){const _0x52baba=a0_0x14008c,_0xc91014={'BZaiX':function(_0xa59f13,_0x2e06eb){return _0xa59f13===_0x2e06eb;},'xSJdx':function(_0x293ccf,_0x2c38d6,_0x22ff60){return _0x293ccf(_0x2c38d6,_0x22ff60);},'iRVgQ':'idempotency_config_init'};this['_enabled']=_0xc91014['BZaiX'](process['env'][_0x52baba(0x179)],_0x52baba(0x16a)),this['_ttl']=_0xc91014['xSJdx'](parseInt,process[_0x52baba(0x172)]['IDEMPOTENCY_TTL'],0xa)||0x12c,this['_initialized']=!![],logger['info']({'event':_0xc91014['iRVgQ'],'enabled':this[_0x52baba(0x186)],'ttl':this[_0x52baba(0x16f)]},'Idempotency\x20configuration\x20initialized\x20-\x20enabled:\x20'+this[_0x52baba(0x186)]+',\x20TTL:\x20'+this[_0x52baba(0x16f)]+'s');}[a0_0x14008c(0x192)](){const _0x49ed93=a0_0x14008c;!this['_initialized']&&this[_0x49ed93(0x177)]();}get[a0_0x14008c(0x173)](){const _0x595cb1=a0_0x14008c;return this[_0x595cb1(0x192)](),this[_0x595cb1(0x186)];}get[a0_0x14008c(0x18e)](){const _0x326d90=a0_0x14008c;return this['_ensureInitialized'](),this[_0x326d90(0x16f)];}[a0_0x14008c(0x187)](){const _0x4cce0e=a0_0x14008c;return this[_0x4cce0e(0x173)];}['buildKey'](_0x246753,_0x212fac){const _0x1d4dd1=a0_0x14008c,_0x77fa39={'UHuNb':'unknown'},_0x52afcc=_0x212fac['path'][_0x1d4dd1(0x185)]('/')[_0x1d4dd1(0x175)](Boolean),_0x2e7bd7=_0x52afcc[0x0]||_0x1d4dd1(0x178),_0x3043b1=_0x52afcc[0x1]||'unknown',_0xe9ef06=_0x52afcc[0x2]||_0x77fa39[_0x1d4dd1(0x184)];return _0x1d4dd1(0x17e)+_0x2e7bd7+':'+_0x3043b1+':'+_0xe9ef06+':'+_0x246753;}async[a0_0x14008c(0x17c)](_0x3365a7,_0x3a1eb3){const _0x38493e=a0_0x14008c,_0x4ca8a0={'PiDpr':_0x38493e(0x196),'wEDQc':_0x38493e(0x182)};if(!this[_0x38493e(0x173)])return![];try{const _0x3dc27f=redisClient[_0x38493e(0x18c)]();return await _0x3dc27f['setex'](_0x3365a7,this[_0x38493e(0x18e)],JSON[_0x38493e(0x17a)](_0x3a1eb3)),logger[_0x38493e(0x16b)]({'event':_0x4ca8a0['PiDpr'],'key':_0x3365a7,'ttl':this[_0x38493e(0x18e)],'statusCode':_0x3a1eb3[_0x38493e(0x176)]},_0x38493e(0x190)),!![];}catch(_0x52482b){return logger[_0x38493e(0x18f)]({'event':_0x4ca8a0[_0x38493e(0x174)],'key':_0x3365a7,'error':_0x52482b[_0x38493e(0x16c)]},'Idempotency\x20store\x20error:\x20'+_0x52482b['message']),![];}}async[a0_0x14008c(0x189)](_0x296760){const _0x3a3693=a0_0x14008c,_0x36485d={'oefjX':_0x3a3693(0x169),'MWxFj':'Idempotency\x20cache\x20HIT','Vvqlq':'idempotency_retrieve_error'};if(!this[_0x3a3693(0x173)])return null;try{const _0x4fee12=redisClient[_0x3a3693(0x18c)](),_0x103eb5=await _0x4fee12['get'](_0x296760);if(_0x103eb5)return logger[_0x3a3693(0x16d)]({'event':_0x36485d[_0x3a3693(0x16e)],'key':_0x296760},_0x36485d['MWxFj']),JSON[_0x3a3693(0x18a)](_0x103eb5);return logger['debug']({'event':'idempotency_miss','key':_0x296760},'Idempotency\x20cache\x20MISS'),null;}catch(_0x39b78b){return logger['error']({'event':_0x36485d['Vvqlq'],'key':_0x296760,'error':_0x39b78b[_0x3a3693(0x16c)]},'Idempotency\x20retrieve\x20error:\x20'+_0x39b78b[_0x3a3693(0x16c)]),null;}}['generateKey'](_0x9f7d7d='req'){const _0x4cb040=a0_0x14008c;return _0x9f7d7d+'_'+crypto[_0x4cb040(0x18d)]();}[a0_0x14008c(0x181)](_0x217cbe,_0x5d677f,_0x28271d){return _0x217cbe+':'+_0x5d677f+':'+_0x28271d;}}module[a0_0x14008c(0x193)]=new IdempotencyManager();function a0_0x446f(){const _0x4f7fb7=['zxHWB3j0CW','y3j5ChrV','nJGZmdGXmfP0vNPeAG','AwrLBxbVDgvUy3LFC3rVCMu','AwrLBxbVDgvUy3LFAgL0','Dhj1zq','zgvIDwC','BwvZC2fNzq','Aw5MBW','B2vMALG','x3r0Ba','odG0nZe1m3L5wxHhqW','nta2otyZnvPMD0jvuG','zw52','zw5HyMXLza','D0veuwm','zMLSDgvY','C3rHDhvZq29Kzq','x2LUAxrdB25MAwC','zgvMyxvSDa','surftvbpvevoq1LFru5bqKXfra','C3rYAw5NAwz5','mtK4nvrgwxjvEa','C3rVCMu','ngrwyw1vDG','CMy6AwrLBtO','nZuYswjrExHd','nZyWow9eDg9cCG','yNvPBgrezxrLCM1PBMLZDgLJs2v5','AwrLBxbVDgvUy3LFC3rVCMvFzxjYB3i','ofDSqvP1DG','vuH1tMi','C3bSAxq','x2vUywjSzwq','AxnfBMfIBgvK','odCWqwDzy2TK','CMv0CMLLDMu','CgfYC2u','mJiZmdm0mwPpwKfOuG','z2v0q2XPzw50','CMfUzg9Tvvvjra','DhrS','zxjYB3i','swrLBxbVDgvUy3KGCMvZCg9UC2uGC3rVCMvK','mty5mJKXmvjvwfrNEa','x2vUC3vYzuLUAxrPywXPEMvK'];a0_0x446f=function(){return _0x4f7fb7;};return a0_0x446f();}
@@ -1 +1 @@
1
- const a0_0x3d9e8e=a0_0x4f50;(function(_0x12ef04,_0x4183ee){const _0x13185c=a0_0x4f50,_0x36e258=_0x12ef04();while(!![]){try{const _0x346459=-parseInt(_0x13185c(0x120))/0x1+parseInt(_0x13185c(0x10f))/0x2+parseInt(_0x13185c(0x113))/0x3+-parseInt(_0x13185c(0x11d))/0x4+-parseInt(_0x13185c(0x115))/0x5+parseInt(_0x13185c(0x11a))/0x6+parseInt(_0x13185c(0x118))/0x7*(parseInt(_0x13185c(0x123))/0x8);if(_0x346459===_0x4183ee)break;else _0x36e258['push'](_0x36e258['shift']());}catch(_0x21cb53){_0x36e258['push'](_0x36e258['shift']());}}}(a0_0x283e,0xb3e1b));const {logger}=require('./logger');function a0_0x4f50(_0x6a36a8,_0x3d4506){_0x6a36a8=_0x6a36a8-0xfd;const _0x283e43=a0_0x283e();let _0x4f5014=_0x283e43[_0x6a36a8];if(a0_0x4f50['LPOgpC']===undefined){var _0x5660f0=function(_0x2392f2){const _0x4eeeb7='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x526531='',_0x1b6b91='';for(let _0x505c41=0x0,_0x363a0d,_0xd04ea9,_0x1e8498=0x0;_0xd04ea9=_0x2392f2['charAt'](_0x1e8498++);~_0xd04ea9&&(_0x363a0d=_0x505c41%0x4?_0x363a0d*0x40+_0xd04ea9:_0xd04ea9,_0x505c41++%0x4)?_0x526531+=String['fromCharCode'](0xff&_0x363a0d>>(-0x2*_0x505c41&0x6)):0x0){_0xd04ea9=_0x4eeeb7['indexOf'](_0xd04ea9);}for(let _0x4eb1b4=0x0,_0xfeade6=_0x526531['length'];_0x4eb1b4<_0xfeade6;_0x4eb1b4++){_0x1b6b91+='%'+('00'+_0x526531['charCodeAt'](_0x4eb1b4)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1b6b91);};a0_0x4f50['FDxzrX']=_0x5660f0,a0_0x4f50['tPkqtp']={},a0_0x4f50['LPOgpC']=!![];}const _0xa26393=_0x283e43[0x0],_0x4e9956=_0x6a36a8+_0xa26393,_0x3cfbb1=a0_0x4f50['tPkqtp'][_0x4e9956];return!_0x3cfbb1?(_0x4f5014=a0_0x4f50['FDxzrX'](_0x4f5014),a0_0x4f50['tPkqtp'][_0x4e9956]=_0x4f5014):_0x4f5014=_0x3cfbb1,_0x4f5014;}class ImportValidator{[a0_0x3d9e8e(0x10a)](_0x13cab0,_0x1f09e1=[],_0x1353ba={}){const _0x432332=a0_0x3d9e8e,_0x4b59ee={'mbXIL':function(_0xfe02d8,_0x4ed6c7){return _0xfe02d8===_0x4ed6c7;},'BLNTy':function(_0x16d554,_0x106348){return _0x16d554===_0x106348;}},_0x4ab130=[];return _0x1f09e1[_0x432332(0xfd)](_0x1609f0=>{const _0x1451f5=_0x432332,_0x331c2f=_0x13cab0[_0x1609f0];(_0x4b59ee[_0x1451f5(0x11f)](_0x331c2f,null)||_0x4b59ee[_0x1451f5(0x11f)](_0x331c2f,undefined)||_0x331c2f==='')&&_0x4ab130['push']({'field':_0x1609f0,'type':_0x1451f5(0x112),'message':'Required\x20field\x20is\x20empty'});}),Object['keys'](_0x1353ba)['forEach'](_0x2c3e81=>{const _0x4f9900=_0x432332,_0x36fb04=_0x13cab0[_0x2c3e81],_0x4e746b=_0x1353ba[_0x2c3e81];if(_0x4b59ee[_0x4f9900(0x11f)](_0x36fb04,null)||_0x36fb04===undefined||_0x4b59ee['BLNTy'](_0x36fb04,''))return;const _0x3c1fd5=this[_0x4f9900(0x11e)](_0x2c3e81,_0x36fb04,_0x4e746b);_0x3c1fd5&&_0x4ab130[_0x4f9900(0x116)](_0x3c1fd5);}),_0x4ab130;}['validateFieldFormat'](_0x228867,_0x268b24,_0x54d29e){const _0x2a3e45=a0_0x3d9e8e,_0x8a645d={'bXKGQ':_0x2a3e45(0x107),'FkLtW':'url'};switch(_0x54d29e){case _0x8a645d['bXKGQ']:return this[_0x2a3e45(0xff)](_0x228867,_0x268b24);case _0x2a3e45(0x101):return this[_0x2a3e45(0x106)](_0x228867,_0x268b24);case _0x8a645d[_0x2a3e45(0x109)]:return this[_0x2a3e45(0x10d)](_0x228867,_0x268b24);case _0x2a3e45(0x11c):return this['validateNumber'](_0x228867,_0x268b24);default:return null;}}['validateEmail'](_0x4e0704,_0x48e389){const _0x1c9710=a0_0x3d9e8e,_0x41e2bd={'jbhzq':'format','MEegO':'Invalid\x20email\x20format'},_0x1c37cc=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;if(!_0x1c37cc['test'](String(_0x48e389)))return{'field':_0x4e0704,'type':_0x41e2bd['jbhzq'],'message':_0x41e2bd[_0x1c9710(0x102)]};return null;}[a0_0x3d9e8e(0x106)](_0x220164,_0x3744ba){const _0x16cd78=a0_0x3d9e8e,_0x2858ad={'NrwrM':function(_0x44fdcb,_0xa2634){return _0x44fdcb(_0xa2634);},'YXnwh':_0x16cd78(0x122)},_0x53e3a4=_0x2858ad[_0x16cd78(0x104)](String,_0x3744ba)[_0x16cd78(0x119)](/\s+/g,''),_0x380a3f=/^[\d\+\-\(\)]+$/;if(!_0x380a3f[_0x16cd78(0x121)](_0x53e3a4)||_0x53e3a4['length']<0x8)return{'field':_0x220164,'type':_0x2858ad[_0x16cd78(0x108)],'message':'Invalid\x20phone\x20format'};return null;}['validateUrl'](_0x856918,_0x5d83b6){const _0x2e17ea=a0_0x3d9e8e;try{return new URL(String(_0x5d83b6)),null;}catch(_0x66cf8a){return{'field':_0x856918,'type':_0x2e17ea(0x122),'message':_0x2e17ea(0x11b)};}}[a0_0x3d9e8e(0xfe)](_0x299d1a,_0x59af3d){const _0x3ab067=a0_0x3d9e8e,_0x2f9160={'nAnKe':'format'};if(isNaN(_0x59af3d))return{'field':_0x299d1a,'type':_0x2f9160[_0x3ab067(0x100)],'message':_0x3ab067(0x103)};return null;}['detectDuplicatesInFile'](_0x367597,_0x1f432b){const _0x389e54=new Map(),_0x3245f2=[];return _0x367597['forEach']((_0x987f34,_0x1d5420)=>{const _0x385190=a0_0x4f50,_0x21fdd0=_0x1f432b['map'](_0x3040c3=>_0x987f34[_0x3040c3])['join']('|');_0x389e54['has'](_0x21fdd0)?_0x3245f2['push']({'rowIndex':_0x1d5420,'duplicateOf':_0x389e54[_0x385190(0x10e)](_0x21fdd0),'key':_0x21fdd0}):_0x389e54[_0x385190(0x105)](_0x21fdd0,_0x1d5420);}),_0x3245f2;}[a0_0x3d9e8e(0x10c)](_0x5b012e,_0x356d33,_0x347733){const _0xf77aa2=a0_0x3d9e8e,_0x111b85={'nKiUB':function(_0x617b6e,_0x135d93){return _0x617b6e>_0x135d93;},'ERYmf':'batch_validation_complete','dGPMb':'Batch\x20validation\x20completed'},_0x88fa85=[];return _0x5b012e['forEach']((_0x4ec837,_0x172741)=>{const _0x304b25=a0_0x4f50,_0x34e98d=this[_0x304b25(0x10a)](_0x4ec837,_0x356d33,_0x347733);_0x111b85[_0x304b25(0x110)](_0x34e98d['length'],0x0)&&_0x88fa85[_0x304b25(0x116)]({'rowIndex':_0x172741,'rowData':_0x4ec837,'errors':_0x34e98d});}),logger[_0xf77aa2(0x111)]({'event':_0x111b85[_0xf77aa2(0x10b)],'totalRows':_0x5b012e[_0xf77aa2(0x117)],'errorCount':_0x88fa85['length']},_0x111b85['dGPMb']),_0x88fa85;}}function a0_0x283e(){const _0x2f25d2=['Aw5MBW','CMvXDwLYzwq','nZiZmZCYtxz3tvH2','zxHWB3j0CW','nJKZodq4nvfdq0zrvW','ChvZAa','BgvUz3rO','mJfwD091ENi','CMvWBgfJzq','mJaYntGYohvvrLzmEq','sw52ywXPzcbvuKWGzM9YBwf0','BNvTyMvY','ntCYmtKYDunqBLHc','DMfSAwrHDgvgAwvSzezVCM1HDa','BwjysuW','mti0nJeWneTsv3b3uq','DgvZDa','zM9YBwf0','ntmZmJq3mKTHDxfHyW','zM9YrwfJAa','DMfSAwrHDgvoDw1Izxi','DMfSAwrHDgvfBwfPBa','BKfUs2u','CgHVBMu','tuvLz08','sw52ywXPzcbUDw1IzxiGzM9YBwf0','tNj3CK0','C2v0','DMfSAwrHDgvqAg9Uzq','zw1HAwW','wvHUD2G','rMTmDfC','DMfSAwrHDgvsB3C','rvjzBwy','yMf0y2HwywXPzgf0zvjVD3m','DMfSAwrHDgvvCMW','z2v0','mtG3mdqXmef3uMTNEq','BKTPvui'];a0_0x283e=function(){return _0x2f25d2;};return a0_0x283e();}module[a0_0x3d9e8e(0x114)]=new ImportValidator();
1
+ const a0_0x19e863=a0_0x47cb;function a0_0x47cb(_0x53bba0,_0x515cff){_0x53bba0=_0x53bba0-0x1b3;const _0x57bbed=a0_0x57bb();let _0x47cbdd=_0x57bbed[_0x53bba0];if(a0_0x47cb['ISGTlH']===undefined){var _0x4de7f4=function(_0x4a94a3){const _0x39c2ec='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x15a020='',_0x360729='';for(let _0x46d164=0x0,_0x263f9c,_0x2132e7,_0x461784=0x0;_0x2132e7=_0x4a94a3['charAt'](_0x461784++);~_0x2132e7&&(_0x263f9c=_0x46d164%0x4?_0x263f9c*0x40+_0x2132e7:_0x2132e7,_0x46d164++%0x4)?_0x15a020+=String['fromCharCode'](0xff&_0x263f9c>>(-0x2*_0x46d164&0x6)):0x0){_0x2132e7=_0x39c2ec['indexOf'](_0x2132e7);}for(let _0xb87d0=0x0,_0xf48183=_0x15a020['length'];_0xb87d0<_0xf48183;_0xb87d0++){_0x360729+='%'+('00'+_0x15a020['charCodeAt'](_0xb87d0)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x360729);};a0_0x47cb['nLBSck']=_0x4de7f4,a0_0x47cb['vvJlpq']={},a0_0x47cb['ISGTlH']=!![];}const _0x2e4e8c=_0x57bbed[0x0],_0x1a0869=_0x53bba0+_0x2e4e8c,_0x4262bb=a0_0x47cb['vvJlpq'][_0x1a0869];return!_0x4262bb?(_0x47cbdd=a0_0x47cb['nLBSck'](_0x47cbdd),a0_0x47cb['vvJlpq'][_0x1a0869]=_0x47cbdd):_0x47cbdd=_0x4262bb,_0x47cbdd;}(function(_0x3111d2,_0x70e31f){const _0x4027de=a0_0x47cb,_0x319f8a=_0x3111d2();while(!![]){try{const _0x4d2407=parseInt(_0x4027de(0x1d5))/0x1*(parseInt(_0x4027de(0x1bf))/0x2)+-parseInt(_0x4027de(0x1b7))/0x3*(-parseInt(_0x4027de(0x1c8))/0x4)+-parseInt(_0x4027de(0x1be))/0x5*(parseInt(_0x4027de(0x1d3))/0x6)+-parseInt(_0x4027de(0x1ca))/0x7+parseInt(_0x4027de(0x1c5))/0x8*(parseInt(_0x4027de(0x1b5))/0x9)+-parseInt(_0x4027de(0x1b6))/0xa+-parseInt(_0x4027de(0x1c7))/0xb;if(_0x4d2407===_0x70e31f)break;else _0x319f8a['push'](_0x319f8a['shift']());}catch(_0x4bc297){_0x319f8a['push'](_0x319f8a['shift']());}}}(a0_0x57bb,0x91102));function a0_0x57bb(){const _0xaeab22=['zw1HAwW','Aw5MBW','uKXyBvu','sw52ywXPzcbUDw1IzxiGzM9YBwf0','zM9YBwf0','mJaWnJrnAwTXzfK','BgvUz3rO','mtuZmZG4nhDoqw9SqG','mtq4AvfbuMzu','CgHVBMu','mJq2nJiZm3Lsqw16wG','z2v0','zxHWB3j0CW','BNvTyMvY','DMfSAwrHDgvsB3C','DMfSAwrHDgvoDw1Izxi','DgvZDa','yMf0y2HFDMfSAwrHDgLVBL9JB21WBgv0zq','DMfSAwrHDgvfBwfPBa','odq4otK0qufUrxPI','ChvZAa','mtq5C2DsA2XN','AM9PBG','lI9SB2DNzxi','wxD1tgO','qu5vDLC','zM9YrwfJAa','u3DAB0m','mZqYowTVvMXcqG','ndi0mdGWmg5Qt1HLwq','mJi4odfruxvOB3K','EvzgD1m','sw52ywXPzcbvuKWGzM9YBwf0','zgv0zwn0rhvWBgLJyxrLC0LUrMLSzq','DMfSAwrHDgvqAg9Uzq','CMvXDwLYzwq','A2v5CW','nuPtBgzSAq','ntu1nePZwKjoAq'];a0_0x57bb=function(){return _0xaeab22;};return a0_0x57bb();}const {logger}=require(a0_0x19e863(0x1d7));class ImportValidator{[a0_0x19e863(0x1ce)](_0x4f7e64,_0x580a4e=[],_0x158acc={}){const _0x1416d3=a0_0x19e863,_0x2265be={'SwZoC':function(_0x596dd4,_0x4de94d){return _0x596dd4===_0x4de94d;},'yVFwS':_0x1416d3(0x1bc),'ezdnG':function(_0xba4b9c,_0x8bf6e8){return _0xba4b9c===_0x8bf6e8;}},_0x53c8a4=[];return _0x580a4e[_0x1416d3(0x1b3)](_0x26d631=>{const _0x39d38b=_0x1416d3,_0x2bcee6=_0x4f7e64[_0x26d631];(_0x2265be[_0x39d38b(0x1b4)](_0x2bcee6,null)||_0x2bcee6===undefined||_0x2265be['SwZoC'](_0x2bcee6,''))&&_0x53c8a4[_0x39d38b(0x1d4)]({'field':_0x26d631,'type':_0x2265be[_0x39d38b(0x1b8)],'message':'Required\x20field\x20is\x20empty'});}),Object[_0x1416d3(0x1bd)](_0x158acc)['forEach'](_0x7da481=>{const _0x15ae81=_0x4f7e64[_0x7da481],_0x2c5081=_0x158acc[_0x7da481];if(_0x15ae81===null||_0x2265be['ezdnG'](_0x15ae81,undefined)||_0x15ae81==='')return;const _0xa6e266=this['validateFieldFormat'](_0x7da481,_0x15ae81,_0x2c5081);_0xa6e266&&_0x53c8a4['push'](_0xa6e266);}),_0x53c8a4;}['validateFieldFormat'](_0x43a4ea,_0x5c25b7,_0x340983){const _0x3c7ae5=a0_0x19e863,_0x5703cf={'bppRD':_0x3c7ae5(0x1c0),'ANUvW':_0x3c7ae5(0x1c9)};switch(_0x340983){case _0x5703cf['bppRD']:return this[_0x3c7ae5(0x1d2)](_0x43a4ea,_0x5c25b7);case _0x5703cf[_0x3c7ae5(0x1d9)]:return this[_0x3c7ae5(0x1bb)](_0x43a4ea,_0x5c25b7);case'url':return this['validateUrl'](_0x43a4ea,_0x5c25b7);case _0x3c7ae5(0x1cd):return this[_0x3c7ae5(0x1cf)](_0x43a4ea,_0x5c25b7);default:return null;}}['validateEmail'](_0x520e8d,_0x4246b2){const _0x782db1=a0_0x19e863,_0x29de7c={'RLXmU':function(_0x5a19af,_0x2af719){return _0x5a19af(_0x2af719);},'DrIbT':'format'},_0x54e508=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;if(!_0x54e508[_0x782db1(0x1d0)](_0x29de7c[_0x782db1(0x1c2)](String,_0x4246b2)))return{'field':_0x520e8d,'type':_0x29de7c['DrIbT'],'message':'Invalid\x20email\x20format'};return null;}['validatePhone'](_0x35abe7,_0x2ccfa1){const _0x42b30b=a0_0x19e863,_0x1534a2={'kgNAL':function(_0x36ded4,_0x435b8f){return _0x36ded4<_0x435b8f;}},_0x1bac3d=String(_0x2ccfa1)['replace'](/\s+/g,''),_0x1c1cd6=/^[\d\+\-\(\)]+$/;if(!_0x1c1cd6[_0x42b30b(0x1d0)](_0x1bac3d)||_0x1534a2['kgNAL'](_0x1bac3d['length'],0x8))return{'field':_0x35abe7,'type':_0x42b30b(0x1c4),'message':'Invalid\x20phone\x20format'};return null;}['validateUrl'](_0x33ee7a,_0x32e240){const _0x564a2c=a0_0x19e863,_0x1ca909={'PsIkk':_0x564a2c(0x1b9)};try{return new URL(String(_0x32e240)),null;}catch(_0x462547){return{'field':_0x33ee7a,'type':'format','message':_0x1ca909['PsIkk']};}}[a0_0x19e863(0x1cf)](_0xc4ac68,_0xcdd9e1){const _0x233f90=a0_0x19e863,_0x36e85f={'rexzn':function(_0x231faf,_0x435247){return _0x231faf(_0x435247);},'tJQDi':_0x233f90(0x1c3)};if(_0x36e85f['rexzn'](isNaN,_0xcdd9e1))return{'field':_0xc4ac68,'type':'format','message':_0x36e85f['tJQDi']};return null;}[a0_0x19e863(0x1ba)](_0x2dbc04,_0x22553c){const _0x1c9eed=a0_0x19e863,_0x3dcfe8=new Map(),_0x252954=[];return _0x2dbc04[_0x1c9eed(0x1b3)]((_0x334e92,_0x178a74)=>{const _0x33a692=_0x1c9eed,_0x19ce31=_0x22553c['map'](_0x27dd49=>_0x334e92[_0x27dd49])[_0x33a692(0x1d6)]('|');_0x3dcfe8['has'](_0x19ce31)?_0x252954[_0x33a692(0x1d4)]({'rowIndex':_0x178a74,'duplicateOf':_0x3dcfe8[_0x33a692(0x1cb)](_0x19ce31),'key':_0x19ce31}):_0x3dcfe8['set'](_0x19ce31,_0x178a74);}),_0x252954;}['batchValidateRows'](_0x1de474,_0x2ba9bb,_0xfdc9b){const _0x5594ec=a0_0x19e863,_0x1ce59f={'XTykJ':function(_0x44f15b,_0x2b28ba){return _0x44f15b>_0x2b28ba;},'YwuLj':_0x5594ec(0x1d1)},_0x19cda4=[];return _0x1de474['forEach']((_0x2a3043,_0x1a897b)=>{const _0x28af43=_0x5594ec,_0x561c39=this[_0x28af43(0x1ce)](_0x2a3043,_0x2ba9bb,_0xfdc9b);_0x1ce59f['XTykJ'](_0x561c39[_0x28af43(0x1c6)],0x0)&&_0x19cda4['push']({'rowIndex':_0x1a897b,'rowData':_0x2a3043,'errors':_0x561c39});}),logger[_0x5594ec(0x1c1)]({'event':_0x1ce59f[_0x5594ec(0x1d8)],'totalRows':_0x1de474['length'],'errorCount':_0x19cda4[_0x5594ec(0x1c6)]},'Batch\x20validation\x20completed'),_0x19cda4;}}module[a0_0x19e863(0x1cc)]=new ImportValidator();