@restforgejs/platform 5.2.10 → 5.2.12

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 (173) hide show
  1. package/bin/drift-check-linux +0 -0
  2. package/bin/sdf-tools-linux +0 -0
  3. package/build-info.json +2 -2
  4. package/cli/consumer-deploy.js +1 -1
  5. package/cli/consumer.js +1 -1
  6. package/generators/cli/fast-track.js +147 -27
  7. package/generators/cli/schema/init.js +20 -6
  8. package/generators/cli/schema/template.js +24 -9
  9. package/generators/lib/templates/dashboard-catalog.js +1 -1
  10. package/generators/lib/templates/db-connection-env.js +1 -1
  11. package/generators/lib/templates/dbschema-catalog.js +1 -1
  12. package/generators/lib/templates/field-validation-catalog.js +1 -1
  13. package/generators/lib/templates/mysql-template.js +1 -1
  14. package/generators/lib/templates/oracle-template.js +1 -1
  15. package/generators/lib/templates/postgres-template.js +1 -1
  16. package/generators/lib/templates/query-declarative-catalog.js +1 -1
  17. package/generators/lib/templates/sqlite-template.js +1 -1
  18. package/integrity-manifest.json +18 -18
  19. package/package.json +1 -1
  20. package/scripts/verify-integrity.js +1 -1
  21. package/server.js +1 -1
  22. package/src/components/handlers/adjust_handler.js +1 -1
  23. package/src/components/handlers/audit_handler.js +1 -1
  24. package/src/components/handlers/delete_handler.js +1 -1
  25. package/src/components/handlers/export_handler.js +1 -1
  26. package/src/components/handlers/import_handler.js +1 -1
  27. package/src/components/handlers/insert_handler.js +1 -1
  28. package/src/components/handlers/update_handler.js +1 -1
  29. package/src/components/handlers/upload_handler.js +1 -1
  30. package/src/components/handlers/workflow_handler.js +1 -1
  31. package/src/components/integrations/webhook.js +1 -1
  32. package/src/consumers/baseConsumer.js +1 -1
  33. package/src/consumers/declarativeMapper.js +1 -1
  34. package/src/consumers/handlers/apiHandler.js +1 -1
  35. package/src/consumers/handlers/consoleHandler.js +1 -1
  36. package/src/consumers/handlers/databaseHandler.js +1 -1
  37. package/src/consumers/handlers/index.js +1 -1
  38. package/src/consumers/handlers/kafkaHandler.js +1 -1
  39. package/src/consumers/index.js +1 -1
  40. package/src/consumers/messageTransformer.js +1 -1
  41. package/src/consumers/validator.js +1 -1
  42. package/src/core/db/dialect/base-dialect.js +1 -1
  43. package/src/core/db/dialect/index.js +1 -1
  44. package/src/core/db/dialect/mysql-dialect.js +1 -1
  45. package/src/core/db/dialect/oracle-dialect.js +1 -1
  46. package/src/core/db/dialect/postgres-dialect.js +1 -1
  47. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  48. package/src/core/db/flatten-helper.js +1 -1
  49. package/src/core/db/query-builder-error.js +1 -1
  50. package/src/core/db/query-builder.js +1 -1
  51. package/src/core/db/relation-helper.js +1 -1
  52. package/src/core/handlers/delete_handler.js +1 -1
  53. package/src/core/handlers/insert_handler.js +1 -1
  54. package/src/core/handlers/update_handler.js +1 -1
  55. package/src/core/models/base-model.js +1 -1
  56. package/src/core/utils/cache-manager.js +1 -1
  57. package/src/core/utils/component-engine.js +1 -1
  58. package/src/core/utils/context-builder.js +1 -1
  59. package/src/core/utils/datetime-formatter.js +1 -1
  60. package/src/core/utils/datetime-parser.js +1 -1
  61. package/src/core/utils/db.js +1 -1
  62. package/src/core/utils/logger.js +1 -1
  63. package/src/core/utils/payload-loader.js +1 -1
  64. package/src/core/utils/security-checks.js +1 -1
  65. package/src/middleware/body-options.js +1 -1
  66. package/src/middleware/cors.js +1 -1
  67. package/src/middleware/idempotency.js +1 -1
  68. package/src/middleware/rate-limiter.js +1 -1
  69. package/src/middleware/request-logger.js +1 -1
  70. package/src/middleware/security-headers.js +1 -1
  71. package/src/models/base-model-mysql.js +1 -1
  72. package/src/models/base-model-oracle.js +1 -1
  73. package/src/models/base-model-sqlite.js +1 -1
  74. package/src/models/base-model.js +1 -1
  75. package/src/pro/caching/redis-client.js +1 -1
  76. package/src/pro/caching/redis-helper.js +1 -1
  77. package/src/pro/consumers/baseConsumer.js +1 -1
  78. package/src/pro/consumers/declarativeMapper.js +1 -1
  79. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  80. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  81. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  82. package/src/pro/consumers/handlers/index.js +1 -1
  83. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  84. package/src/pro/consumers/index.js +1 -1
  85. package/src/pro/consumers/messageTransformer.js +1 -1
  86. package/src/pro/consumers/validator.js +1 -1
  87. package/src/pro/database/base-model-mysql.js +1 -1
  88. package/src/pro/database/base-model-oracle.js +1 -1
  89. package/src/pro/database/base-model-sqlite.js +1 -1
  90. package/src/pro/database/db-mysql.js +1 -1
  91. package/src/pro/database/db-oracle.js +1 -1
  92. package/src/pro/database/db-sqlite.js +1 -1
  93. package/src/pro/excel/excel-generator.js +1 -1
  94. package/src/pro/excel/excel-parser.js +1 -1
  95. package/src/pro/excel/export-service.js +1 -1
  96. package/src/pro/excel/export_handler.js +1 -1
  97. package/src/pro/excel/import-service.js +1 -1
  98. package/src/pro/excel/import-validator.js +1 -1
  99. package/src/pro/excel/import_handler.js +1 -1
  100. package/src/pro/excel/upsert-builder.js +1 -1
  101. package/src/pro/idgen/idgen-routes.js +1 -1
  102. package/src/pro/integrations/lookup-resolver.js +1 -1
  103. package/src/pro/integrations/upload-handler-v2.js +1 -1
  104. package/src/pro/integrations/upload-handler.js +1 -1
  105. package/src/pro/integrations/webhook.js +1 -1
  106. package/src/pro/locking/lock-routes.js +1 -1
  107. package/src/pro/locking/resource-lock-manager.js +1 -1
  108. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  109. package/src/pro/messaging/kafkaService.js +1 -1
  110. package/src/pro/messaging/messagehubService.js +1 -1
  111. package/src/pro/messaging/rabbitmqService.js +1 -1
  112. package/src/pro/scheduler/job-manager.js +1 -1
  113. package/src/pro/scheduler/job-routes.js +1 -1
  114. package/src/pro/scheduler/job-validator.js +1 -1
  115. package/src/pro/storage/base-storage-provider.js +1 -1
  116. package/src/pro/storage/file-metadata-helper.js +1 -1
  117. package/src/pro/storage/index.js +1 -1
  118. package/src/pro/storage/local-storage-provider.js +1 -1
  119. package/src/pro/storage/s3-storage-provider.js +1 -1
  120. package/src/pro/storage/upload-cleanup-job.js +1 -1
  121. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  122. package/src/pro/storage/upload-pending-tracker.js +1 -1
  123. package/src/pro/websocket/broadcast-helper.js +1 -1
  124. package/src/pro/websocket/index.js +1 -1
  125. package/src/pro/websocket/livesync-server.js +1 -1
  126. package/src/pro/websocket/ws-broadcaster.js +1 -1
  127. package/src/services/export-service.js +1 -1
  128. package/src/services/import-service.js +1 -1
  129. package/src/services/kafkaConsumerService.js +1 -1
  130. package/src/services/kafkaService.js +1 -1
  131. package/src/services/messagehubService.js +1 -1
  132. package/src/services/rabbitmqService.js +1 -1
  133. package/src/utils/cache-invalidation-registry.js +1 -1
  134. package/src/utils/cache-manager.js +1 -1
  135. package/src/utils/component-engine.js +1 -1
  136. package/src/utils/config-extractor.js +1 -1
  137. package/src/utils/consumerLogger.js +1 -1
  138. package/src/utils/context-builder.js +1 -1
  139. package/src/utils/dashboard-helpers.js +1 -1
  140. package/src/utils/dateHelper.js +1 -1
  141. package/src/utils/datetime-formatter.js +1 -1
  142. package/src/utils/datetime-parser.js +1 -1
  143. package/src/utils/db-bootstrap.js +1 -1
  144. package/src/utils/db-mysql.js +1 -1
  145. package/src/utils/db-oracle.js +1 -1
  146. package/src/utils/db-sqlite.js +1 -1
  147. package/src/utils/db.js +1 -1
  148. package/src/utils/demo-generator.js +1 -1
  149. package/src/utils/excel-generator.js +1 -1
  150. package/src/utils/excel-parser.js +1 -1
  151. package/src/utils/file-watcher.js +1 -1
  152. package/src/utils/id-generator.js +1 -1
  153. package/src/utils/idempotency-manager.js +1 -1
  154. package/src/utils/import-validator.js +1 -1
  155. package/src/utils/license-client.js +1 -1
  156. package/src/utils/lock-manager.js +1 -1
  157. package/src/utils/logger.js +1 -1
  158. package/src/utils/lookup-resolver.js +1 -1
  159. package/src/utils/payload-loader.js +1 -1
  160. package/src/utils/processor-response.js +1 -1
  161. package/src/utils/rabbitmq.js +1 -1
  162. package/src/utils/redis-client.js +1 -1
  163. package/src/utils/redis-helper.js +1 -1
  164. package/src/utils/request-scope.js +1 -1
  165. package/src/utils/security-checks.js +1 -1
  166. package/src/utils/service-resolver.js +1 -1
  167. package/src/utils/shutdown-coordinator.js +1 -1
  168. package/src/utils/soft-delete-dashboard-guard.js +1 -1
  169. package/src/utils/sql-table-extractor.js +1 -1
  170. package/src/utils/trusted-keys.js +1 -1
  171. package/src/utils/upload-handler.js +1 -1
  172. package/src/utils/upsert-builder.js +1 -1
  173. package/src/utils/workflow-hook-executor.js +1 -1
@@ -1 +1 @@
1
- 'use strict';const a0_0x1e3524=a0_0x5d1b;function a0_0x5d1b(_0x1b1c3f,_0x3c4c4a){_0x1b1c3f=_0x1b1c3f-0xad;const _0xfab06a=a0_0xfab0();let _0x5d1b58=_0xfab06a[_0x1b1c3f];if(a0_0x5d1b['HSCyIm']===undefined){var _0x5831b2=function(_0x5b3ac6){const _0x12177b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x141680='',_0x3ece8f='';for(let _0x53f27c=0x0,_0x60d295,_0x58bbd9,_0x5d10e1=0x0;_0x58bbd9=_0x5b3ac6['charAt'](_0x5d10e1++);~_0x58bbd9&&(_0x60d295=_0x53f27c%0x4?_0x60d295*0x40+_0x58bbd9:_0x58bbd9,_0x53f27c++%0x4)?_0x141680+=String['fromCharCode'](0xff&_0x60d295>>(-0x2*_0x53f27c&0x6)):0x0){_0x58bbd9=_0x12177b['indexOf'](_0x58bbd9);}for(let _0x1f4b24=0x0,_0x10579e=_0x141680['length'];_0x1f4b24<_0x10579e;_0x1f4b24++){_0x3ece8f+='%'+('00'+_0x141680['charCodeAt'](_0x1f4b24)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3ece8f);};a0_0x5d1b['cEBhuo']=_0x5831b2,a0_0x5d1b['kQZYly']={},a0_0x5d1b['HSCyIm']=!![];}const _0x596086=_0xfab06a[0x0],_0x2db129=_0x1b1c3f+_0x596086,_0x5020a2=a0_0x5d1b['kQZYly'][_0x2db129];return!_0x5020a2?(_0x5d1b58=a0_0x5d1b['cEBhuo'](_0x5d1b58),a0_0x5d1b['kQZYly'][_0x2db129]=_0x5d1b58):_0x5d1b58=_0x5020a2,_0x5d1b58;}(function(_0x47960b,_0x442a8c){const _0x492116=a0_0x5d1b,_0x11e8ce=_0x47960b();while(!![]){try{const _0xd66be4=-parseInt(_0x492116(0xc3))/0x1*(parseInt(_0x492116(0xb1))/0x2)+parseInt(_0x492116(0xc1))/0x3*(parseInt(_0x492116(0xb0))/0x4)+-parseInt(_0x492116(0xbf))/0x5+-parseInt(_0x492116(0xbc))/0x6*(parseInt(_0x492116(0xbe))/0x7)+parseInt(_0x492116(0xbb))/0x8+-parseInt(_0x492116(0xc5))/0x9+parseInt(_0x492116(0xb9))/0xa;if(_0xd66be4===_0x442a8c)break;else _0x11e8ce['push'](_0x11e8ce['shift']());}catch(_0xf82c13){_0x11e8ce['push'](_0x11e8ce['shift']());}}}(a0_0xfab0,0x4eb03));function a0_0xfab0(){const _0x5c5cca=['mtKZnZG5nwLmtePdEa','zgvIB3vUy2vuAw1LCG','mJu0muPpBLrlCa','C3rVCa','ntnMENv1AeC','D2f0y2HLCNm','nda2nJqZnfbUCwnrqG','Aw5JBhvKzxm','BNr0C0m','icbBv0fuq0HDifDHCM5PBMC6iezHAwXLzcb0BYbZzxr1Ccb3yxrJAgvYigzVCIa','mtm1nKjOqKfWuG','ntu2sNvZtKTg','y3DK','zgLYzwn0B3jPzxm','Bg9N','zxH0zw5ZAw9UCW','x2rLyM91BMnL','BwvZC2fNzq','CMvSyxrPDMu','mta2mta5mJbgA1fjBLm','zxHWB3j0CW','nZy0odK2s1blzvbJ','nMffvwTttW','zxHPC3rZu3LUyW','mtG3mtCZn0LrzNbMEa'];a0_0xfab0=function(){return _0x5c5cca;};return a0_0xfab0();}const fs=require('fs'),path=require('path');class FileWatcher{constructor(_0x39164e={}){const _0x3be47e=a0_0x5d1b,_0x2a67dc={'nttsC':'.json'};this['directories']=_0x39164e[_0x3be47e(0xb3)]||[],this[_0x3be47e(0xb5)]=_0x39164e[_0x3be47e(0xb5)]||['.js',_0x2a67dc[_0x3be47e(0xae)]],this['debounceMs']=_0x39164e['debounceMs']||0x1f4,this['onChange']=_0x39164e['onChange']||(()=>{}),this['watchers']=[],this['debounceTimer']=null;}['start'](){const _0x49d12d=a0_0x5d1b;for(const _0x23fc57 of this['directories']){if(!fs[_0x49d12d(0xbd)](_0x23fc57)){console[_0x49d12d(0xb4)]('\x20\x20[WATCH]\x20Warning:\x20Directory\x20not\x20found,\x20skipping:\x20'+(path['relative'](process['cwd'](),_0x23fc57)||_0x23fc57));continue;}try{const _0x2db17f=fs['watch'](_0x23fc57,{'recursive':!![]},(_0x5da2d7,_0x390138)=>{const _0x3c8727=_0x49d12d;if(!_0x390138)return;const _0x656f53=path['extname'](_0x390138)['toLowerCase']();if(!this['extensions'][_0x3c8727(0xad)](_0x656f53))return;this[_0x3c8727(0xb6)](_0x390138);});_0x2db17f['on']('error',_0x2d4fdd=>{const _0x5598a3=_0x49d12d;console['log']('\x20\x20[WATCH]\x20Warning:\x20Watcher\x20error\x20on\x20'+path[_0x5598a3(0xb8)](process['cwd'](),_0x23fc57)+':\x20'+_0x2d4fdd['message']);}),this[_0x49d12d(0xc4)]['push'](_0x2db17f);const _0xa427c6=path['relative'](process['cwd'](),_0x23fc57)||_0x23fc57;console['log']('\x20\x20[WATCH]\x20Watching:\x20'+_0xa427c6+'/\x20(recursive)');}catch(_0x2129ff){console['log'](_0x49d12d(0xaf)+path['relative'](process[_0x49d12d(0xb2)](),_0x23fc57)+':\x20'+_0x2129ff[_0x49d12d(0xb7)]);}}}[a0_0x1e3524(0xc2)](){const _0x461a1b=a0_0x1e3524,_0x34896c={'MRcWJ':function(_0x428a45,_0x5674f9){return _0x428a45(_0x5674f9);}};for(const _0x1c469a of this['watchers']){try{_0x1c469a['close']();}catch(_0x516a6d){}}this['watchers']=[],this[_0x461a1b(0xc0)]&&(_0x34896c['MRcWJ'](clearTimeout,this[_0x461a1b(0xc0)]),this['debounceTimer']=null);}['_debounce'](_0x7633d9){const _0x502922=a0_0x1e3524,_0x3a20b3={'NlZzf':function(_0xd63af8,_0x287969){return _0xd63af8(_0x287969);}};this[_0x502922(0xc0)]&&_0x3a20b3['NlZzf'](clearTimeout,this[_0x502922(0xc0)]),this[_0x502922(0xc0)]=setTimeout(()=>{const _0x114b96=_0x502922;this[_0x114b96(0xc0)]=null,this['onChange'](_0x7633d9);},this['debounceMs']);}}module[a0_0x1e3524(0xba)]=FileWatcher;
1
+ 'use strict';function a0_0x5440(){const _0x27d5a4=['mtG4AhbyELrn','x2rLyM91BMnL','B25dAgfUz2u','v3jlvuW','zKnQuLa','lMPZB24','odyXnuDhvevctq','nZjOqK1ABKy','mtyYmZyXnvPwv3jgvG','zgLYzwn0B3jPzxm','y3DK','Bg9N','zgvIB3vUy2vnCW','ndK1mJqZBwryuujr','zgvIB3vUy2vuAw1LCG','icbBv0fuq0HDifDHCM5PBMC6iezHAwXLzcb0BYbZzxr1Ccb3yxrJAgvYigzVCIa','Cgf0Aa','mZm4mZa5uuLJtxn4','icbBv0fuq0HDifDHDgnOAw5NoIa','BwvZC2fNzq','CMvSyxrPDMu','lMPZ','C3rHCNq','Aw5JBhvKzxm','zxjYB3i','ChvZAa','zxHPC3rZu3LUyW','lYaOCMvJDxjZAxzLkq','rMHLtLm','mti5nJu3mtb5C1Drquy','ntGZnde2r2T6B1fO','mZqXmwXICfLtua','mJCXmKHYr3DhyW','zxH0zw5ZAw9UCW'];a0_0x5440=function(){return _0x27d5a4;};return a0_0x5440();}const a0_0x350000=a0_0x17d8;(function(_0x5e7695,_0x92d95a){const _0x50c667=a0_0x17d8,_0x2a08c7=_0x5e7695();while(!![]){try{const _0xe18b01=parseInt(_0x50c667(0xe2))/0x1+parseInt(_0x50c667(0xef))/0x2+parseInt(_0x50c667(0xfb))/0x3+-parseInt(_0x50c667(0xf3))/0x4*(parseInt(_0x50c667(0xf9))/0x5)+parseInt(_0x50c667(0xfa))/0x6*(parseInt(_0x50c667(0x100))/0x7)+parseInt(_0x50c667(0xf1))/0x8*(-parseInt(_0x50c667(0xf0))/0x9)+-parseInt(_0x50c667(0xee))/0xa;if(_0xe18b01===_0x92d95a)break;else _0x2a08c7['push'](_0x2a08c7['shift']());}catch(_0x2e7dab){_0x2a08c7['push'](_0x2a08c7['shift']());}}}(a0_0x5440,0x7d881));const fs=require('fs'),path=require(a0_0x350000(0xe1));function a0_0x17d8(_0x35bd74,_0x238b64){_0x35bd74=_0x35bd74-0xe0;const _0x54402f=a0_0x5440();let _0x17d8a5=_0x54402f[_0x35bd74];if(a0_0x17d8['ZPPEKO']===undefined){var _0x1ad524=function(_0x54b9cc){const _0x49c075='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x40c579='',_0x57fb72='';for(let _0x569959=0x0,_0x3a20ab,_0x1fddef,_0x28fc1c=0x0;_0x1fddef=_0x54b9cc['charAt'](_0x28fc1c++);~_0x1fddef&&(_0x3a20ab=_0x569959%0x4?_0x3a20ab*0x40+_0x1fddef:_0x1fddef,_0x569959++%0x4)?_0x40c579+=String['fromCharCode'](0xff&_0x3a20ab>>(-0x2*_0x569959&0x6)):0x0){_0x1fddef=_0x49c075['indexOf'](_0x1fddef);}for(let _0x1f59fa=0x0,_0x4fabe1=_0x40c579['length'];_0x1f59fa<_0x4fabe1;_0x1f59fa++){_0x57fb72+='%'+('00'+_0x40c579['charCodeAt'](_0x1f59fa)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x57fb72);};a0_0x17d8['Ziaddv']=_0x1ad524,a0_0x17d8['FaHUPT']={},a0_0x17d8['ZPPEKO']=!![];}const _0x1f72d6=_0x54402f[0x0],_0x39d0ae=_0x35bd74+_0x1f72d6,_0x41f42a=a0_0x17d8['FaHUPT'][_0x39d0ae];return!_0x41f42a?(_0x17d8a5=a0_0x17d8['Ziaddv'](_0x17d8a5),a0_0x17d8['FaHUPT'][_0x39d0ae]=_0x17d8a5):_0x17d8a5=_0x41f42a,_0x17d8a5;}class FileWatcher{constructor(_0x42be0d={}){const _0xbf038b=a0_0x350000,_0x1e60b8={'FheNS':_0xbf038b(0xe6),'fCjRP':_0xbf038b(0xf8)};this['directories']=_0x42be0d[_0xbf038b(0xfc)]||[],this['extensions']=_0x42be0d[_0xbf038b(0xf2)]||[_0x1e60b8[_0xbf038b(0xed)],_0x1e60b8[_0xbf038b(0xf7)]],this['debounceMs']=_0x42be0d['debounceMs']||0x1f4,this[_0xbf038b(0xf5)]=_0x42be0d[_0xbf038b(0xf5)]||(()=>{}),this['watchers']=[],this[_0xbf038b(0x101)]=null;}[a0_0x350000(0xe7)](){const _0x4ea8c1=a0_0x350000;for(const _0x7e90d9 of this[_0x4ea8c1(0xfc)]){if(!fs[_0x4ea8c1(0xeb)](_0x7e90d9)){console['log']('\x20\x20[WATCH]\x20Warning:\x20Directory\x20not\x20found,\x20skipping:\x20'+(path['relative'](process['cwd'](),_0x7e90d9)||_0x7e90d9));continue;}try{const _0xf84a67=fs['watch'](_0x7e90d9,{'recursive':!![]},(_0xed3da8,_0x10a51e)=>{const _0x1d4af4=_0x4ea8c1;if(!_0x10a51e)return;const _0x1ac4df=path['extname'](_0x10a51e)['toLowerCase']();if(!this[_0x1d4af4(0xf2)][_0x1d4af4(0xe8)](_0x1ac4df))return;this['_debounce'](_0x10a51e);});_0xf84a67['on'](_0x4ea8c1(0xe9),_0x50860a=>{const _0x288bd0=_0x4ea8c1;console[_0x288bd0(0xfe)]('\x20\x20[WATCH]\x20Warning:\x20Watcher\x20error\x20on\x20'+path['relative'](process[_0x288bd0(0xfd)](),_0x7e90d9)+':\x20'+_0x50860a[_0x288bd0(0xe4)]);}),this['watchers'][_0x4ea8c1(0xea)](_0xf84a67);const _0x32c475=path[_0x4ea8c1(0xe5)](process['cwd'](),_0x7e90d9)||_0x7e90d9;console[_0x4ea8c1(0xfe)](_0x4ea8c1(0xe3)+_0x32c475+_0x4ea8c1(0xec));}catch(_0x4fede5){console['log'](_0x4ea8c1(0xe0)+path['relative'](process['cwd'](),_0x7e90d9)+':\x20'+_0x4fede5['message']);}}}['stop'](){const _0x16ffc7=a0_0x350000;for(const _0x51e937 of this['watchers']){try{_0x51e937['close']();}catch(_0x2f7b4a){}}this['watchers']=[],this['debounceTimer']&&(clearTimeout(this[_0x16ffc7(0x101)]),this[_0x16ffc7(0x101)]=null);}[a0_0x350000(0xf4)](_0x53f936){const _0x249ca3=a0_0x350000,_0x1f6301={'bzYJo':function(_0x330c94,_0x35c0f5){return _0x330c94(_0x35c0f5);},'WrKUL':function(_0xc30f44,_0x2dfd65,_0x50587c){return _0xc30f44(_0x2dfd65,_0x50587c);}};this['debounceTimer']&&_0x1f6301['bzYJo'](clearTimeout,this[_0x249ca3(0x101)]),this[_0x249ca3(0x101)]=_0x1f6301[_0x249ca3(0xf6)](setTimeout,()=>{const _0x2133c5=_0x249ca3;this[_0x2133c5(0x101)]=null,this[_0x2133c5(0xf5)](_0x53f936);},this[_0x249ca3(0xff)]);}}module['exports']=FileWatcher;
@@ -1 +1 @@
1
- 'use strict';const a0_0x2c40e1=a0_0x1fae;(function(_0x39b237,_0x3ffea5){const _0x118055=a0_0x1fae,_0x6a52d3=_0x39b237();while(!![]){try{const _0x2c6785=-parseInt(_0x118055(0x2a6))/0x1+-parseInt(_0x118055(0x258))/0x2*(parseInt(_0x118055(0x30e))/0x3)+parseInt(_0x118055(0x246))/0x4+parseInt(_0x118055(0x2b9))/0x5*(-parseInt(_0x118055(0x2b5))/0x6)+parseInt(_0x118055(0x2c3))/0x7*(-parseInt(_0x118055(0x241))/0x8)+-parseInt(_0x118055(0x2da))/0x9*(-parseInt(_0x118055(0x204))/0xa)+-parseInt(_0x118055(0x26c))/0xb*(-parseInt(_0x118055(0x2bb))/0xc);if(_0x2c6785===_0x3ffea5)break;else _0x6a52d3['push'](_0x6a52d3['shift']());}catch(_0x56fd07){_0x6a52d3['push'](_0x6a52d3['shift']());}}}(a0_0x1d8a,0xd90f1));function a0_0x1d8a(){const _0x4eb9b9=['vKfbDNm','x3jLC2vYDMvezwzHDwX0vfrm','AwrNzw5FCMvZzxj2zv9PzgvTx2XVC2vYx2nHBMnLBf9LCNjVCG','cMXVy2fSihvUCgSGpsb1BNbHy2SGB3iGDgfIBguUDw5WywnRcGOTlsbtDgvWide6igXHENKGCMvHCcbLEhbPCMvKihjLC2vYDMf0Aw9UCYaOy2fWifjfu0vsvKvFuKvbuf9cqvrdscKkBg9JywWGCMvHCgvKid0GmaPSB2nHBcbUB3DnCYa9iefsr1zBn10kBg9JywWGCNn2uhjLzML4id0GqvjhvLS4xqPSB2nHBcbLEhbPCMvKid0GCMvKAxmUy2fSBcGNwLjbtKDfqLLtq09srsCSieTfwvnBm10SicCTAw5MjYWGjYGNic4Uig5VD01ZlcaNteLnsvqNlcaWlca2ncKkzM9YigKGpsaXlcaJzxHWAxjLzcbKBWOGigXVy2fSigv4CfrVA2vUid0GzxHWAxjLzfTPxqOGigXVy2fSigv4CfjZDKTLEsa9ihjZDLbYzwzPEcaUlIbLEhbuB2TLBGOGigXVy2fSigv4CenVDw50zxiGpsbYzwrPCY5JywXSkcDir0vujYWGzxHWuNn2s2v5lcaNy291BNrLCICPcIaGAwyGzxHWq291BNrLCIb0AgvUcIaGicbYzwrPCY5JywXSkcDAqurejYWGs0vzu1SYxsWGzxHWq291BNrLCIWGzxHWq291BNrLCIKkicbLBMqkicbYzwrPCY5JywXSkcDeruWNlcbLEhbsC3zlzxKPcIaGCMvKAxmUy2fSBcGNwLjftsCSieTfwvnBm10Sigv4CfrVA2vUkqOGihjLyxbLzca9ihjLyxbLzcaRidekzw5KcGOTlsbtDgvWidi6igfSBg9JyxrLignVDw50zxiGkfPqt1bnsu4GCMv1C2uGyxrHDsbjtKnsihnLCsKkBg9JywWGy291BNrLCKLUDaPSB2nHBcbPC1jLDxnLzca9idakAwyGqvjhvLSXxsa9psaNmsCGDgHLBGOGigXVy2fSihiGpsbYzwrPCY5JywXSkcDAue9qtuLojYWGs0vzu1SYxsWGmsKkicbPzIaJCIa+idaGDgHLBGOGicaGy291BNrLCKLUDca9ihrVBNvTyMvYkhjBmv0PcIaGicbPC1jLDxnLzca9idekicbLBMqkzw5KcMLMig5VDcbJB3vUDgvYsw50ihrOzw4kicbJB3vUDgvYsw50id0GCMvKAxmUy2fSBcGNsu5duICSieTfwvnBmv0PcIaGBg9JywWGy3r0Bca9ihrVBNvTyMvYkefsr1zBmL0PcIaGAwyGy3r0Bca+idaGyw5KignVDw50zxjjBNqGpt0Gmsb0AgvUcIaGicbYzwrPCY5JywXSkcDfwfbjuKuNlcblrvLtwZfDlcbJDhrSkqOGigvUzaPLBMqkcI0Tifn0zxaGmZOGD3jPDguGCMvZzxj2yxrPB24GAgfZAcaRigLUzgv4icSGvfrmcMXVy2fSihjZDKTLEsa9iefsr1zBnf0kBg9JywWGCNn2vhrStxmGpsb0B251BwjLCIHbuKDwwZvDkqPSB2nHBcbLEhbPCMvZqxrnCYa9ihrVBNvTyMvYkefsr1zBnL0PcMXVy2fSig5HCMDZid0Gi0fsr1ykBg9JywWGzMLLBgrZid0GE30kzM9YigKGpsa5lcbUyxjNCYbKBWOGigzPzwXKC1SJzMLLBgrZicSGmv0GpsbbuKDww2LDcMvUzaPYzwrPCY5JywXSkcDiu0vujYWGCNn2s2v5lcaNy291BNrLCICSignVDw50zxjjBNqSicDPC1jLDxnLzcCSigLZuMv1C2vKlcb1BNbRkgzPzwXKCYKPcNjLzgLZlMnHBgWOj1bfwfbjuKuNlcbYC3zlzxKSihjZDLr0Be1ZkqPYzwrPCY5JywXSkcDAqurejYWGs0vzu1SZxsWGzxHWAxjLC0f0txmSiefsr1zBm10PcNjLzgLZlMnHBgWOj0vyueLsrsCSieTfwvnBm10Sig1HDgGUzMXVB3iOCNn2vhrStxmGlYaXmdaWksaRidyWkqOkCMv0DxjUihSGy291BNrLCKLUDcWGAxnszxvZzwqSihjLyxbLzcb9cG','mtjlz1jfELu','x2j1AwXKsxnZDwvKs2v5','ignOyxjZicHNB3qGBgvUz3rOoIa','vKnwDKm','ndCYmJvoCMH6tK8','D2fYBG','otqYotzxz0Dsq3y','CMy6AwrNzw46','mdeYmZq1nJC4oufcq0rfrG','sw52ywXPzcb0DgW6ig11C3qGyMuGAw50zwDLCIaXlq','uLnoB2W','AeTJy00','AgDLDgfSBa','cMLMihjLzgLZlMnHBgWOj0vysvnuuYCSieTfwvnBmv0Pid09idaGDgHLBGOGihjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqOGihjLDhvYBIb7idaGFqPLBMqkBg9JywWGAca9ihjLzgLZlMnHBgWOj0Hnr0vujYWGs0vzu1SXxsWGj2nVDw50zxiNlcaNDMfSDwuNlcaNzM9YBwf0s2v5jYWGj2LZuMv1C2vKjYWGj2nYzwf0zwrbDcCSicDLEhbPCMvZqxqNkqPYzwrPCY5JywXSkcDeruWNlcblrvLtwZfDkqPYzwrPCY5JywXSkcDAuKvnjYWGs0vzu1SYxsWGqvjhvLSXxsKkCMv0DxjUihSGmsWGAfSXxsWGAfSYxsWGAfSZxsWGAfS0xsWGAfS1xsWGAfS2xsb9cG','mJCYndrbvgvpAxi','vgPgrxC','zgvS','suqGr2vUzxjHDg9YihjLC2vYDMf0Aw9Uigv4DgvUzgvKoIa','AxnfBMfIBgvK','suqGr2vUzxjHDg9YihjLC2vYDMf0Aw9UignHBMnLBgXLzdOG','u0vuie5yigzHAwXLzcbIDxqGy2fJAguGr0vuihjLDhvYBMvKigvTChr5iokaLcbMywXSAw5NigjHy2SGDg8GB3DUihjLC3vSDa','rMfPBgvKihrVignHBMnLBcbYzxnLCNzHDgLVBIbMB3iGAwrLBxbVDgvUy3KGBg9Zzxi','sLLPq20','rwjID08','surhru5Fsu5wquXjrf9srvnpvvjdrq','CMvWzwf0','Du15wNy','CMvZzxj2zv9JB25MAxjT','x3jLC2vYDMvnyxHuveW','u3j1uLK','DhfXAgi','DhrS','Bwf4uMv0CNK','tNvTyMvYigrVzxmGBM90ig1HDgnOigv4CgvJDgvKigzVCM1HDcaOz290oIa','icH0B2TLBJ0','sw52ywXPzcbTyxHszxrYEtOGBxvZDcbIzsbPBNrLz2vYideT','suqGr2vUzxjHDg9YihjHBMrVBsbPzgvTihjHy2uGBg9ZDcWGCMv0DxjUAw5NihDPBM5LCIbLBNzLBg9Wzq','ovjRqKzYta','AfvAEKG','C2vXoG','rMfPBgvKihrVignVBxbLBNnHDguGCMvZzxj2yxrPB24Gywz0zxiGy291BNrLCIbVDMvYzMXVDW','Dgv4Da','Aw1nsvC','DhrStxm','sw52ywXPzcbUDw1eAwDPDhm6ig11C3qGyMuGAw50zwDLCIa','uLbUEeW','z2D4EuG','ywXS','r2rZBxm','ExL5Ew1T','CMvZzxj2zurLzMf1BhruveW','nhW1FdH8oxW3Fdn8nNWWFdj8mtb8mxWXmNWXmq','z2v0','AwrNzw5FAwrLBv9ZDg9Yzw54x2vYCM9Y','rM95r1a','uMvZzxj2yxrPB24GBM90igzVDw5Kig9YigfSCMvHzhKGy29UC3vTzwq6ia','v3fuB3a','v21tD2G','x2j1AwXKqwn0AxzLs2v5','AwrLBxbVDgvUy3LlzxK','surhru5FuKvtrvjwqvrjt05FtK9ux0zpvu5e','v2TUAfy','igrPz2L0CYaOz290oIa','Aw5MBW','zw5HyMXLza','x2zVCM1HDe51BwjLCG','Cgf0DgvYBG','ExL5Ew1Tzgq','suqGr2vUzxjHDg9YihjLC2vYDMf0Aw9UignVBMzPCM1LzdOG','BNvTrgLNAxrZ','txz6zNq','suqGr2vUzxjHDg9YigLZigrPC2fIBgvK','BKfAyM0','y3jLyxrLzef0','sw1jtwS','Cu9irNu','vw5RBM93BIbMB3jTyxq6ia','z2v0uMvZzxj2yxrPB24','z2v0rgf0zq','x2DLBMvYyxrLrNjVBvbHDhrLCM4','q291BNrLCIbVDMvYzMXVDZOG','AxnszxvZzwq','y291BNrLCKLUDa','x3n0B3jLswrLBunHy2HLtLG','ChjLzML4','lcbNB3qG','tNvTyMvYigrVzxmGBM90ig1HDgnOigv4CgvJDgvKihrLEhqGzM9YBwf0icHNB3q6ia','C2fKza','swrhzw5LCMf0B3jfCNjVCG','mtaYotaWouTQAgrUCG','x3zHBgLKyxrLuMvZzxj2yxrPB25uB2TLBG','z21Wqwi','x3bHzdi','qNbJrLq','shvWuKe','CMfUzg9T','q1rcD00','zxH0zw5KuMvZzxj2yxrPB24','AwrNzw5FCMvZzxj2yxrPB25Fy29UzMLYBwvK','Bw9Kzq','wfHywc1ywfHylvHywfGTwfHywa','sw52ywXPzcbYzxnLCNzHDgLVBIb0DgW6ig11C3qGyMuGAw50zwDLCIa','ywXSB3DszxnLDa','igf0DgvTChrZlIbjBMnYzwfZzsbWyxr0zxjUigXLBMD0AcbVCIbTyxHszxrYEs4','surhru5Fq09vtLrfuL9uveXFtu9oveHmwq','AwrNzw5FAwrLBv9UEf9YywnLx2XVC3rFyNv0x2vTChr5','z2v0tw9UDgG','zw52','B0L3q3i','sw52ywXPzcbMB3jTyxq6ig11C3qGyMuGB25Lig9Mia','s0P3sfK','ihbHCNrZkq','zxHWAxjLC0f0','x2j1AwXKswrLBuTLEq','B1HwzeW','tfvsBhm','icHNB3q6ia','CLDZBMq','q1DUsMu','x2rLzMf1BhrtzxjPywXqyxr0zxjU','BNHbv2S','C2vWyxjHDg9Y','ExrHDhG','CMvZzxq','x2DLDfjLC2vYDMf0Aw9Uq29UDgv4Da','z2LyzwC','x2j1AwXKuMv1C2vlzxK','t2DJBxu','lwrPz2L0ignHCgfJAxr5icG','zM9YBwf0','y291BNrLCG','ChvZAa','x2rLzMf1BhrnyxHszxrYEq','AejWBxe','mJq1ndCWsMnnBLDn','AwrNzw5FCMvZzxq','x3zHBgLKyxrLswrLBxbVDgvUy3LlzxK','surhru5Fsu5wquXjrf9quKvgsvG','surhru5Frevgqvvmvf9trvjjquXFuefuvevstG','qwvgtxC','zgLNAxrZ','ALnlDwS','ks4Gsw5JCMvHC2uGBNvTrgLNAxrZlG','DMfSDwu','wfnssgW','AgfZ','seLVzw8','CvHnvha','x2vUC3vYzuLUAxrPywXPEMvK','A2v5uhjLzML4','AwrNzw5FCMvZzxj2yxrPB25FzxH0zw5Kzwq','suqGr2vUzxjHDg9YigLZigrPC2fIBgvKicHZzxqGsurhru5Fru5bqKXfrd10CNvLkq','ExHzrem','x2j1AwXKrM9YBwf0s2v5','CuL4B0u','CNn2x2LKEdO','C3rYAw5NAwz5','CNn2s2v5','x2rLzMf1BhrdB2rLugf0DgvYBG','sw52ywXPzcbMB3jTyxq6ia','sw90CNC','CMvZzxj2zv9Jyw5JzwW','CgfYC2u','CgLWzwXPBMu','ruTZqva','suvWAhu','AwrLBuTLEq','CMvZzxj2zu1HEfruta','AwrNzw5FBwv0yv91CgrHDgvFzxjYB3i','yLHrDLi','x3jLDhjPzxzLswrLBunHy2HL','Dg9ju09tDhjPBMC','DvrZtgq','sw52ywXPzcbWyxr0zxjUoIbTDxn0ignVBNrHAw4GyxqGBgvHC3qGB25LihbSywnLAg9SzgvYignOyxjHy3rLCIaOos9ol0eVys9ml1GVEc9il2GP','lcaR','x2DLDenVDw50zxjuveW','rMfPBgvKihrVihbLCNnPC3qGzM9YBwf0DgvKihzHBhvLihrVihjLC2vYDMf0Aw9UigHHC2G','EMnHCMq','wxrJzKe','zgf0zvbYzwzPEa','x3L5ExLF','CMvSzwfZzwrbDa','wurZEuW','x3zHBgLKyxrLuMvZzxj2zvruta','CLLIzMi','surhru5Fsu5wquXjrf9uveW','zM9YBwf0s2v5','yM1ZreS','z1PbCKy','C3bSAxq','DgvZDa','ywn0AxzLoG','x3vUzg9syw5KB21szxnLCNzHDgLVBG','sw52ywXPzcbYzxnLCNzHDgLVBIb0B2TLBJOGBxvZDcbIzsbHihzHBgLKifvvsuqGzM9YBwf0icHNB3q6ia','CKrLqu8','ntiWCuTUueHO','AwrNzw5FAwrLBv9ZDg9Yzv9LCNjVCG','x2LUAxrPywXPEMvK','yNzsv3i','quTJv3u','nJCZotK4ogvNCNLzzq','wvH3sg4','suqGr2vUzxjHDg9Yig51BwjLCIbYzxnLCNzLzdOG','CMvZB3vYy2u','surhru5Fq09vtLrfuL9pvKvsrKXpvW','zw5ZDxjLvw5PCxvL','CMfUzg9Tsw50','Dg9Rzw4','CMvnD2y','ihnLy29UzhmGkgDVDdOG','CgvLAW','ENniy0C','vKPtCfu','sw52ywXPzcbWyxr0zxjUoIbTDxn0igjLihn0CMLUzYaXlq','x2j1AwXKtwv0yuTLEq','x3bHCNnLtNvTyMvY','yNvPBgrezxrLCM1PBMLZDgLJs2v5','D2LUBMvYuMvZDwX0','ngTjq1fwEG','ExL5Eq','x2LKzw1uveW','B1PhANi','C2v0','surhru5Fsu5wquXjrf9ovu1FreLhsvrt','Dw1ZAhC','DMfSDwuGAxmGCMvXDwLYzwq','ALvTuMi','C3rVCMvK','yLn0r2G','zMjtu0q','x2rLzMf1BhrqAw5eAwDPDhm','surhru5Fsu5wquXjrf9gt1jnqvq','CNn2swr4s2v5','C3rYAw5N','AxnZDwvK','Bwf0y2G','surhru5FreLtqujmruq','tLrJAwW','mZC0s1LXD3rs','zgvMyxvSDfnLCMLHBfbHDhrLCM4','CuP0A0y','AKTdsuq','z2v0sw5MBW','zvHZtfK','zLDkr2m','vwjvtwq','DvPMyva','zgvMyxvSDe1HEfjLDhj5','x3zHBgLKyxrLugf0DgvYBG','BNvTyMvY','zgvMyxvSDenVzgvqyxr0zxjU','ENjHBMDL','surhru5Fsu5wquXjrf9ovu1crvi','x3zHBgLKyxrLtNvTyMvYugfYyw1Z','BgvUz3rO','EgPQDw0','C3jLBq','Bwv0ytO','BwvZC2fNzq','surhru5Fsu5wquXjrf9nt0rf','z2vUzxjHDgvKqxq','zxzHBa','AwrLBvruta','DhnLDMe','DvfhC1m','x2vUywjSzwq','x3vWzgf0zu1LDge','tNvTyMvYigrHDgvqCMvMAxGGAw52ywXPzcbMB3iGzM9YBwf0ia','surhru5Fsu5wquXjrf9qqvrurvjo','x2j1AwXKuMvZzxj2yxrPB25lzxLqCMvMAxG','CKLIEKy','CKzArLy','u0jcC1i','wwjHELO','AxnjBNrLz2vY','Cg93','mdeYmZq1nJC4owfIy2rLzG','zxHWB3j0CW','tLvUrKu','tKjdCMq','suqGr2vUzxjHDg9Yig51BwjLCIbPzgvTihjHy2uGBg9ZDcWGCMv0DxjUAw5NihDPBM5LCIbLBNzLBg9Wzq','Cwv0wfG','Ee5Tte0','x2j1AwXKuMvZzxj2yxrPB25jBMrLEeTLEq','rhjLr3C','zgvMyxvSDfbPBKrPz2L0CW','x2nVDw50zxjuveXnyxa','zen5wg8','AwrNzw5FAwrLBv9YzxrYAwv2zv9LCNjVCG','AwrNzw4','z2v0q2XPzw50','zw50CMLLCW','y29UzMLYBvjLC2vYDMf0Aw9U','AwrNzw5FBNvTyMvYx2DLBMvYyxrLza','wKjsBgu','x2j1AwXKu2vXs2v5','mti5nZy3yMTPr09M','Dg9mB3DLCKnHC2u','x2fSBg93uMvZzxq','tKzHAwK','x3n0B3jLswrLBunHy2HL','s0LYChK','swrLBxbVDgvUy3KGC3rVCMuGzxjYB3i','vvrUvLm','zfLzB28','CgfKzgvKicHNB3q6ia','x3zHBgLKyxrLuMvZB3vYy2u'];a0_0x1d8a=function(){return _0x4eb9b9;};return a0_0x1d8a();}const crypto=require('crypto'),redisClient=require('./redis-client'),{logger}=require('./logger'),idempotencyManager=require('./idempotency-manager'),ALLOWED_FORMATS=new Set([a0_0x2c40e1(0x2de),a0_0x2c40e1(0x259),a0_0x2c40e1(0x2e6),a0_0x2c40e1(0x2f8)]),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=a0_0x2c40e1(0x2bd),CHARSET_HEX_LOWER=a0_0x2c40e1(0x292),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_0x2c40e1(0x2b4),LUA_CONFIRM_RESERVATION=a0_0x2c40e1(0x2c2),LUA_CANCEL_RESERVATION='\x0aif\x20redis.call(\x27EXISTS\x27,\x20KEYS[1])\x20==\x200\x20then\x0a\x20\x20redis.call(\x27ZREM\x27,\x20KEYS[2],\x20ARGV[1])\x0a\x20\x20return\x20{\x200\x20}\x0aend\x0alocal\x20h\x20=\x20redis.call(\x27HMGET\x27,\x20KEYS[1],\x20\x27counter\x27,\x20\x27value\x27,\x20\x27formatKey\x27)\x0alocal\x20counter\x20=\x20h[1]\x0aif\x20counter\x20then\x0a\x20\x20redis.call(\x27ZADD\x27,\x20KEYS[3],\x20counter,\x20counter)\x0a\x20\x20local\x20ttl\x20=\x20tonumber(ARGV[2])\x0a\x20\x20if\x20ttl\x20>\x200\x20then\x0a\x20\x20\x20\x20redis.call(\x27EXPIRE\x27,\x20KEYS[3],\x20ttl)\x0a\x20\x20end\x0aend\x0aredis.call(\x27DEL\x27,\x20KEYS[1])\x0aredis.call(\x27ZREM\x27,\x20KEYS[2],\x20ARGV[1])\x0areturn\x20{\x201,\x20counter,\x20h[2],\x20h[3]\x20}\x0a',LUA_EXTEND_RESERVATION='\x0aif\x20redis.call(\x27EXISTS\x27,\x20KEYS[1])\x20==\x200\x20then\x0a\x20\x20redis.call(\x27ZREM\x27,\x20KEYS[2],\x20ARGV[1])\x0a\x20\x20return\x20{\x200\x20}\x0aend\x0alocal\x20h\x20=\x20redis.call(\x27HMGET\x27,\x20KEYS[1],\x20\x27expiresAt\x27,\x20\x27counter\x27,\x20\x27value\x27,\x20\x27formatKey\x27,\x20\x27isReused\x27,\x20\x27createdAt\x27)\x0alocal\x20prevExpiresAt\x20=\x20h[1]\x0alocal\x20newTtlMs\x20=\x20tonumber(ARGV[2])\x0alocal\x20newExpMs\x20=\x20tonumber(ARGV[3])\x0aredis.call(\x27PEXPIRE\x27,\x20KEYS[1],\x20newTtlMs)\x0aredis.call(\x27HSET\x27,\x20KEYS[1],\x20\x27expiresAt\x27,\x20ARGV[4])\x0aredis.call(\x27ZADD\x27,\x20KEYS[2],\x20newExpMs,\x20ARGV[1])\x0aredis.call(\x27EXPIRE\x27,\x20KEYS[2],\x20math.floor(newTtlMs\x20/\x201000)\x20+\x2060)\x0areturn\x20{\x201,\x20prevExpiresAt,\x20h[2],\x20h[3],\x20h[4],\x20h[5],\x20h[6]\x20}\x0a';class IdGeneratorError extends Error{constructor(_0x2123d8,_0x4a9053,_0x526973=null){const _0xf76829=a0_0x2c40e1,_0x583186={'tseva':'IdGeneratorError'};super(_0x4a9053||_0x2123d8),this['name']=_0x583186[_0xf76829(0x285)],this['code']=_0x2123d8,this['details']=_0x526973;}}function a0_0x1fae(_0x333d4b,_0x28ee54){_0x333d4b=_0x333d4b-0x1e7;const _0x1d8a07=a0_0x1d8a();let _0x1fae04=_0x1d8a07[_0x333d4b];if(a0_0x1fae['dyHved']===undefined){var _0x278d92=function(_0x5d4bac){const _0x3825ec='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x10fcdf='',_0x385aa9='';for(let _0x33d1c2=0x0,_0x71405,_0x6476fa,_0x111cfa=0x0;_0x6476fa=_0x5d4bac['charAt'](_0x111cfa++);~_0x6476fa&&(_0x71405=_0x33d1c2%0x4?_0x71405*0x40+_0x6476fa:_0x6476fa,_0x33d1c2++%0x4)?_0x10fcdf+=String['fromCharCode'](0xff&_0x71405>>(-0x2*_0x33d1c2&0x6)):0x0){_0x6476fa=_0x3825ec['indexOf'](_0x6476fa);}for(let _0x12c4fa=0x0,_0x5eeb67=_0x10fcdf['length'];_0x12c4fa<_0x5eeb67;_0x12c4fa++){_0x385aa9+='%'+('00'+_0x10fcdf['charCodeAt'](_0x12c4fa)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x385aa9);};a0_0x1fae['fZnjPP']=_0x278d92,a0_0x1fae['nLleDG']={},a0_0x1fae['dyHved']=!![];}const _0x1b4448=_0x1d8a07[0x0],_0x2367ff=_0x333d4b+_0x1b4448,_0x1e584b=a0_0x1fae['nLleDG'][_0x2367ff];return!_0x1e584b?(_0x1fae04=a0_0x1fae['fZnjPP'](_0x1fae04),a0_0x1fae['nLleDG'][_0x2367ff]=_0x1fae04):_0x1fae04=_0x1e584b,_0x1fae04;}class IdGenerator{constructor(){const _0x4bad2f=a0_0x2c40e1;this[_0x4bad2f(0x243)]=![],this['_enabled']=null,this['_keyPrefix']=null,this[_0x4bad2f(0x25a)]=null,this[_0x4bad2f(0x2a8)]=null,this[_0x4bad2f(0x202)]=null,this['_defaultPinDigits']=null,this['_defaultSerialPattern']=null,this['_defaultCodePattern']=null,this[_0x4bad2f(0x29c)]=null,this[_0x4bad2f(0x2b2)]=null,this['_reserveMaxTTL']=null;}['_initConfig'](){const _0x59def0=a0_0x2c40e1,_0x5549ab={'IyrQF':_0x59def0(0x2bc),'Mvzft':'true','AKcWu':_0x59def0(0x319),'zeeoD':function(_0x4e91a1,_0x30fc1f,_0x20ad0c){return _0x4e91a1(_0x30fc1f,_0x20ad0c);},'RPnxL':function(_0x40bb02,_0x32ca19){return _0x40bb02===_0x32ca19;},'fWJGc':'idgen_config_init'},_0x42000b=_0x59def0(0x2e8)['split']('|');let _0x148e89=0x0;while(!![]){switch(_0x42000b[_0x148e89++]){case'0':this[_0x59def0(0x21c)]=process['env']['IDGEN_DEFAULT_CODE_PATTERN']||'9999-9999';continue;case'1':this[_0x59def0(0x2d1)]=parseInt(process[_0x59def0(0x1e9)]['IDGEN_RESERVE_MAX_TTL'],0xa)||MAX_RESERVE_TTL;continue;case'2':this[_0x59def0(0x29c)]={'yyyymm':parseInt(process[_0x59def0(0x1e9)][_0x59def0(0x31d)],0xa)||0x2a3000,'yyyymmdd':parseInt(process[_0x59def0(0x1e9)]['IDGEN_COUNTER_TTL_DAILY'],0xa)||0x2a300};continue;case'3':this[_0x59def0(0x264)]=parseInt(process[_0x59def0(0x1e9)]['IDGEN_DEFAULT_PIN_DIGITS'],0xa)||0x6;continue;case'4':this['_keyPrefix']=_0x5549ab['IyrQF'];continue;case'5':this[_0x59def0(0x287)]=process['env']['IDGEN_ENABLED']===_0x5549ab[_0x59def0(0x2fb)];continue;case'6':this[_0x59def0(0x1f5)]=process['env'][_0x59def0(0x208)]||_0x5549ab[_0x59def0(0x245)];continue;case'7':this['_defaultMaxRetry']=parseInt(process[_0x59def0(0x1e9)]['IDGEN_DEFAULT_MAX_RETRY'],0xa)||0xa;continue;case'8':this['_idemTTL']=_0x5549ab['zeeoD'](parseInt,process['env']['IDGEN_IDEM_TTL'],0xa)||0x258;continue;case'9':this[_0x59def0(0x2a8)]=_0x5549ab[_0x59def0(0x2e2)](process['env']['IDGEN_ALLOW_RESET'],_0x5549ab[_0x59def0(0x2fb)]);continue;case'10':this[_0x59def0(0x2b2)]=parseInt(process[_0x59def0(0x1e9)]['IDGEN_RESERVE_DEFAULT_TTL'],0xa)||DEFAULT_RESERVE_TTL;continue;case'11':logger[_0x59def0(0x2f4)]({'event':_0x5549ab[_0x59def0(0x272)],'enabled':this[_0x59def0(0x287)],'idemTTL':this['_idemTTL'],'allowReset':this[_0x59def0(0x2a8)],'defaultMaxRetry':this['_defaultMaxRetry'],'defaultPinDigits':this['_defaultPinDigits'],'reserveDefaultTTL':this[_0x59def0(0x2b2)],'reserveMaxTTL':this[_0x59def0(0x2d1)]},'ID\x20Generator\x20config\x20initialized\x20-\x20enabled:\x20'+this['_enabled']);continue;case'12':this['_initialized']=!![];continue;}break;}}[a0_0x2c40e1(0x212)](){if(!this['_initialized'])this['_initConfig']();}get['enabled'](){return this['_ensureInitialized'](),this['_enabled'];}get[a0_0x2c40e1(0x213)](){const _0x56f5e3=a0_0x2c40e1;return this[_0x56f5e3(0x212)](),this['_keyPrefix'];}get['idemTTL'](){const _0x22743c=a0_0x2c40e1;return this[_0x22743c(0x212)](),this[_0x22743c(0x25a)];}get[a0_0x2c40e1(0x31b)](){const _0x5b4eba=a0_0x2c40e1;return this[_0x5b4eba(0x212)](),this['_allowReset'];}get[a0_0x2c40e1(0x275)](){const _0x65c65c=a0_0x2c40e1;return this[_0x65c65c(0x212)](),this['_defaultMaxRetry'];}get[a0_0x2c40e1(0x29b)](){const _0x60a011=a0_0x2c40e1;return this[_0x60a011(0x212)](),this['_defaultPinDigits'];}get['defaultSerialPattern'](){const _0x3587f2=a0_0x2c40e1;return this[_0x3587f2(0x212)](),this[_0x3587f2(0x1f5)];}get['defaultCodePattern'](){const _0x4820bd=a0_0x2c40e1;return this[_0x4820bd(0x212)](),this['_defaultCodePattern'];}get[a0_0x2c40e1(0x2e7)](){const _0x11d387=a0_0x2c40e1;return this[_0x11d387(0x212)](),this['_reserveDefaultTTL'];}get[a0_0x2c40e1(0x225)](){const _0x21da5d=a0_0x2c40e1;return this[_0x21da5d(0x212)](),this['_reserveMaxTTL'];}[a0_0x2c40e1(0x2c7)](){return this['enabled'];}['_validateResource'](_0xda37ba){const _0x3617cf=a0_0x2c40e1;if(typeof _0xda37ba!=='string'||!RESOURCE_REGEX['test'](_0xda37ba))throw new IdGeneratorError('IDGEN_INVALID_RESOURCE','Invalid\x20resource:\x20must\x20match\x20'+RESOURCE_REGEX+'\x20(got:\x20'+JSON[_0x3617cf(0x21a)](_0xda37ba)+')');}['_validateNumberParams'](_0x3294a6){const _0x1aa6f7=a0_0x2c40e1,_0x27bd37={'CTBwM':function(_0x5a6e51,_0x119a9d){return _0x5a6e51===_0x119a9d;},'jSKuk':function(_0x4cf5f7,_0x578a98){return _0x4cf5f7<_0x578a98;},'bStGh':function(_0x5d8c64,_0x4d09ea){return _0x5d8c64!==_0x4d09ea;},'WknhV':'string','DreGw':_0x1aa6f7(0x207),'NBCrd':function(_0x456e92,_0x10e3d2){return _0x456e92!==_0x10e3d2;},'uQGsS':function(_0xc45745,_0x2a0aed){return _0xc45745>_0x2a0aed;},'UTnVS':'IDGEN_INVALID_SEPARATOR','gmpAb':function(_0xf89d27,_0x31d640){return _0xf89d27!=_0x31d640;}},{resource:_0x53d2a7,format:_0xf532a1,prefix:_0x5a0bed,separator:_0x50d595,numDigits:_0x3f4bdf,reuseDelete:_0x1e4596}=_0x3294a6;this['_validateResource'](_0x53d2a7);const _0x869634=_0x27bd37[_0x1aa6f7(0x315)](typeof _0xf532a1,'string')?_0xf532a1[_0x1aa6f7(0x2a7)]():'';if(!ALLOWED_FORMATS['has'](_0x869634))throw new IdGeneratorError('IDGEN_INVALID_FORMAT',_0x1aa6f7(0x1eb)+[...ALLOWED_FORMATS]['join'](',\x20')+_0x1aa6f7(0x1f2)+_0xf532a1+')');if(!Number['isInteger'](_0x3f4bdf)||_0x27bd37[_0x1aa6f7(0x20b)](_0x3f4bdf,MIN_NUM_DIGITS)||_0x3f4bdf>MAX_NUM_DIGITS)throw new IdGeneratorError(_0x1aa6f7(0x25d),_0x1aa6f7(0x2e1)+MIN_NUM_DIGITS+'-'+MAX_NUM_DIGITS+'\x20(got:\x20'+_0x3f4bdf+')');const _0x41a250=_0x5a0bed==null?'':_0x5a0bed;if(_0x27bd37[_0x1aa6f7(0x262)](typeof _0x41a250,_0x27bd37[_0x1aa6f7(0x2f2)])||!PREFIX_REGEX['test'](_0x41a250))throw new IdGeneratorError(_0x27bd37[_0x1aa6f7(0x29a)],'Invalid\x20prefix:\x20must\x20match\x20'+PREFIX_REGEX+_0x1aa6f7(0x1f2)+JSON[_0x1aa6f7(0x21a)](_0x5a0bed)+')');const _0x251d6d=_0x50d595==null?'':_0x50d595;if(_0x27bd37[_0x1aa6f7(0x295)](typeof _0x251d6d,_0x1aa6f7(0x267))||_0x27bd37[_0x1aa6f7(0x286)](_0x251d6d['length'],0x3)||SEPARATOR_FORBIDDEN['test'](_0x251d6d))throw new IdGeneratorError(_0x27bd37[_0x1aa6f7(0x2ad)],'Invalid\x20separator:\x20max\x203\x20char,\x20must\x20not\x20contain\x20\x27:\x27\x20(got:\x20'+JSON['stringify'](_0x50d595)+')');if(_0x27bd37[_0x1aa6f7(0x310)](_0x1e4596,null)&&_0x27bd37['NBCrd'](typeof _0x1e4596,'boolean'))throw new IdGeneratorError('IDGEN_INVALID_RESOURCE','Invalid\x20reuseDelete:\x20must\x20be\x20boolean\x20(got:\x20'+typeof _0x1e4596+')');return{'resource':_0x53d2a7,'format':_0x869634,'prefix':_0x41a250,'separator':_0x251d6d,'numDigits':_0x3f4bdf,'reuseDelete':_0x1e4596===!![]};}[a0_0x2c40e1(0x276)](_0x3e02f8){const _0x53170a=a0_0x2c40e1,_0x3218e3={'EbbwO':'IDGEN_INVALID_PATTERN'};if(typeof _0x3e02f8!=='string'||_0x3e02f8[_0x53170a(0x27c)]===0x0||_0x3e02f8[_0x53170a(0x27c)]>MAX_PATTERN_LENGTH)throw new IdGeneratorError(_0x3218e3[_0x53170a(0x2cc)],_0x53170a(0x253)+MAX_PATTERN_LENGTH+_0x53170a(0x2b7)+(_0x3e02f8&&_0x3e02f8[_0x53170a(0x27c)])+')');let _0x412028=![];for(const _0x1480bf of _0x3e02f8){if(PLACEHOLDER_MAP[_0x1480bf]){_0x412028=!![];break;}}if(!_0x412028)throw new IdGeneratorError(_0x53170a(0x28a),_0x53170a(0x22b));}['_validateTTL'](_0x363f7d){const _0x1340d8=a0_0x2c40e1,_0x2dd5e0={'xowEE':function(_0x108e2d,_0xf9c563){return _0x108e2d>_0xf9c563;},'tMDug':_0x1340d8(0x237)};if(_0x363f7d==null)return undefined;if(!Number[_0x1340d8(0x290)](_0x363f7d)||_0x363f7d<0x1||_0x2dd5e0['xowEE'](_0x363f7d,MAX_TTL))throw new IdGeneratorError(_0x2dd5e0['tMDug'],_0x1340d8(0x2be)+MAX_TTL+'\x20seconds\x20(got:\x20'+_0x363f7d+')');return _0x363f7d;}['_validateMaxRetry'](_0x3c13b3){const _0x337d16=a0_0x2c40e1,_0x1990d0={'qetXX':function(_0x385030,_0x2d579c){return _0x385030==_0x2d579c;}};if(_0x1990d0[_0x337d16(0x297)](_0x3c13b3,null))return this[_0x337d16(0x275)];if(!Number[_0x337d16(0x290)](_0x3c13b3)||_0x3c13b3<0x1||_0x3c13b3>MAX_RETRY_LIMIT)throw new IdGeneratorError('IDGEN_INVALID_MAX_RETRY',_0x337d16(0x2d8)+MAX_RETRY_LIMIT+'\x20(got:\x20'+_0x3c13b3+')');return _0x3c13b3;}[a0_0x2c40e1(0x206)](_0x20b93a){const _0x3f42b0=a0_0x2c40e1,_0x1630f9={'LCFqV':function(_0x15d327,_0x27b4b8){return _0x15d327==_0x27b4b8;},'MqrKt':function(_0x353919,_0x18a299){return _0x353919>_0x18a299;}};if(_0x1630f9['LCFqV'](_0x20b93a,null))return undefined;if(typeof _0x20b93a!=='string'||_0x20b93a[_0x3f42b0(0x27c)]===0x0||_0x1630f9['MqrKt'](_0x20b93a['length'],MAX_IDEMPOTENCY_KEY_LENGTH))throw new IdGeneratorError(_0x3f42b0(0x2cd),'Invalid\x20idempotencyKey:\x20must\x20be\x20string\x201-'+MAX_IDEMPOTENCY_KEY_LENGTH+'\x20chars');return _0x20b93a;}['_validateReserveTTL'](_0x10432e){const _0xfd8a36=a0_0x2c40e1,_0x1effa1={'AGSIa':function(_0x49be4a,_0x2f1a8b){return _0x49be4a==_0x2f1a8b;},'xNmLM':'IDGEN_INVALID_RESERVE_TTL'};if(_0x1effa1['AGSIa'](_0x10432e,null))return this[_0xfd8a36(0x2e7)];if(!Number[_0xfd8a36(0x290)](_0x10432e)||_0x10432e<MIN_RESERVE_TTL||_0x10432e>this['reserveMaxTTL'])throw new IdGeneratorError(_0x1effa1[_0xfd8a36(0x298)],_0xfd8a36(0x31a)+MIN_RESERVE_TTL+'-'+this[_0xfd8a36(0x225)]+_0xfd8a36(0x24f)+_0x10432e+')');return _0x10432e;}['_validateReservationToken'](_0x46e414){const _0x18f578=a0_0x2c40e1;if(typeof _0x46e414!==_0x18f578(0x267)||!RESERVATION_TOKEN_REGEX[_0x18f578(0x23c)](_0x46e414))throw new IdGeneratorError('IDGEN_INVALID_TOKEN',_0x18f578(0x23f)+JSON['stringify'](_0x46e414)+')');return _0x46e414;}[a0_0x2c40e1(0x311)](_0x2dc2c0){return String(_0x2dc2c0)['padStart'](0x2,'0');}[a0_0x2c40e1(0x217)](_0x23c53e,_0x55b3ba,_0x3a98e7=new Date()){const _0x2c8d49=a0_0x2c40e1,_0x5db616={'ytatx':'yyyy','YXwHn':'yyyymm','IKatu':'yyyymmdd'},_0x90d22a=_0x3a98e7['getFullYear'](),_0xf4236e=this['_pad2'](_0x3a98e7[_0x2c8d49(0x1e8)]()+0x1),_0x151669=this['_pad2'](_0x3a98e7[_0x2c8d49(0x303)]()),_0x206daa=_0x55b3ba||'_';let _0x3b2f0b,_0x56271a='';switch(_0x23c53e){case'text':_0x3b2f0b=_0x206daa+'_text';break;case _0x5db616[_0x2c8d49(0x1f8)]:_0x56271a=''+_0x90d22a,_0x3b2f0b=_0x206daa+_0x2c8d49(0x232)+_0x56271a;break;case _0x5db616[_0x2c8d49(0x247)]:_0x56271a=''+_0x90d22a+_0xf4236e,_0x3b2f0b=_0x206daa+'_yyyymm_'+_0x56271a;break;case _0x5db616['IKatu']:_0x56271a=''+_0x90d22a+_0xf4236e+_0x151669,_0x3b2f0b=_0x206daa+'_yyyymmdd_'+_0x56271a;break;default:throw new IdGeneratorError(_0x2c8d49(0x265),_0x2c8d49(0x301)+_0x23c53e);}return{'formatKey':_0x3b2f0b,'datePrefix':_0x56271a};}[a0_0x2c40e1(0x2a5)](_0x251a3b,_0x127e8f){const _0x18d198=a0_0x2c40e1;return this['keyPrefix']+_0x18d198(0x2dc)+_0x251a3b+':'+_0x127e8f;}[a0_0x2c40e1(0x1fc)](_0x1dbe53,_0xf0f02a){const _0x5d9be7=a0_0x2c40e1;return this[_0x5d9be7(0x213)]+'reuse:'+_0x1dbe53+':'+_0xf0f02a;}['_buildMetaKey'](_0x16da42,_0x35f5d7){const _0x1192a1=a0_0x2c40e1;return this[_0x1192a1(0x213)]+_0x1192a1(0x27f)+_0x16da42+':'+_0x35f5d7;}['_buildIssuedKey'](_0x2ce673){return this['keyPrefix']+'issued:'+_0x2ce673;}['_buildActiveKey'](_0x1408c3,_0x171af7){const _0x54593e=a0_0x2c40e1;return this[_0x54593e(0x213)]+_0x54593e(0x23d)+_0x1408c3+':'+_0x171af7;}['_buildReservationKey'](_0x41d4f9){const _0x1b6a0b=a0_0x2c40e1;return this[_0x1b6a0b(0x213)]+'rsv:'+_0x41d4f9;}[a0_0x2c40e1(0x299)](_0xdeb5ce,_0x122342){const _0x42e968=a0_0x2c40e1;return this[_0x42e968(0x213)]+_0x42e968(0x219)+_0xdeb5ce+':'+_0x122342;}[a0_0x2c40e1(0x28b)](){const _0x31beb5=a0_0x2c40e1;return this[_0x31beb5(0x213)]+'rsv:';}['_buildIdemKey'](_0x29e667,_0xb29d64,_0x163e7a,_0x307c5e){const _0x190c2c=a0_0x2c40e1;if(_0x163e7a)return idempotencyManager[_0x190c2c(0x256)](_0x190c2c(0x29f),_0x29e667,_0xb29d64+':'+_0x163e7a+':'+_0x307c5e);return idempotencyManager[_0x190c2c(0x256)]('idgen',_0x29e667,_0xb29d64+':'+_0x307c5e);}[a0_0x2c40e1(0x22d)](_0x3512b7){const _0x2df478=a0_0x2c40e1;return this[_0x2df478(0x29c)][_0x3512b7]||0x0;}[a0_0x2c40e1(0x2f6)]({format:_0x543c9c,prefix:_0x3d0687,datePrefix:_0x22d33e,separator:_0x4403f4,numDigits:_0x4fcfe5,counterInt:_0x3905e1}){const _0x4d6835=a0_0x2c40e1,_0x1333b7={'wbcFK':_0x4d6835(0x24a),'WmSwh':function(_0x346ed1,_0xfa3066){return _0x346ed1(_0xfa3066);},'EKsAP':_0x4d6835(0x2de)},_0xb7b6f1=Math[_0x4d6835(0x291)](0xa,_0x4fcfe5)-0x1;if(_0x3905e1>_0xb7b6f1)throw new IdGeneratorError(_0x1333b7['wbcFK'],_0x4d6835(0x305)+_0x3905e1+'\x20exceeds\x20'+_0x4fcfe5+_0x4d6835(0x1fe)+_0xb7b6f1+_0x4d6835(0x20c),{'counterInt':_0x3905e1,'numDigits':_0x4fcfe5,'max':_0xb7b6f1});const _0x451734=_0x1333b7[_0x4d6835(0x2ee)](String,_0x3905e1)['padStart'](_0x4fcfe5,'0');if(_0x543c9c===_0x1333b7[_0x4d6835(0x222)])return _0x3d0687?''+_0x3d0687+_0x4403f4+_0x451734:_0x451734;return _0x3d0687?''+_0x3d0687+_0x4403f4+_0x22d33e+_0x4403f4+_0x451734:''+_0x22d33e+_0x4403f4+_0x451734;}[a0_0x2c40e1(0x255)]({format:_0xc3d66d,prefix:_0x121c9d,separator:_0x30d6b8,numDigits:_0x13aefb,number:_0x46a880}){const _0x554244=a0_0x2c40e1,_0x2e6ad9={'SBBsR':'string','HIoeo':_0x554244(0x27a),'IEphu':function(_0x1d1e17,_0x3b82db){return _0x1d1e17===_0x3b82db;},'rDeAO':_0x554244(0x2de),'uiCub':function(_0x5e8f19,_0x5e596e){return _0x5e8f19!==_0x5e596e;},'ZBRle':function(_0x9c8799,_0x19397e){return _0x9c8799!==_0x19397e;},'ImIMk':function(_0x2ed78e,_0x5947e4){return _0x2ed78e===_0x5947e4;},'oZGjr':'yyyymm','imMIW':function(_0x1228bd,_0x3d5d21,_0xdd0e7a){return _0x1228bd(_0x3d5d21,_0xdd0e7a);},'qIxoE':function(_0x2061df,_0x5d11e1){return _0x2061df||_0x5d11e1;}};if(typeof _0x46a880!==_0x2e6ad9[_0x554244(0x28e)]||_0x46a880['length']===0x0)throw new IdGeneratorError(_0x2e6ad9[_0x554244(0x210)],'Invalid\x20number:\x20must\x20be\x20non-empty\x20string');const _0x30fb48=_0x30d6b8||'',_0x505304=_0x2e6ad9[_0x554244(0x223)](_0x30fb48,'')?[_0x46a880]:_0x46a880[_0x554244(0x23b)](_0x30fb48);let _0x449c28='',_0x16c8e9;if(_0xc3d66d===_0x2e6ad9[_0x554244(0x240)]){if(_0x121c9d){if(_0x505304['length']!==0x2||_0x2e6ad9['uiCub'](_0x505304[0x0],_0x121c9d))throw new IdGeneratorError(_0x2e6ad9['HIoeo'],'Number\x20does\x20not\x20match\x20expected\x20format\x20prefix'+_0x30fb48+_0x554244(0x2af)+_0x46a880+')');_0x16c8e9=_0x505304[0x1];}else{if(_0x2e6ad9['uiCub'](_0x505304[_0x554244(0x27c)],0x1))throw new IdGeneratorError(_0x2e6ad9[_0x554244(0x210)],_0x554244(0x30b)+_0x46a880+')');_0x16c8e9=_0x505304[0x0];}}else{const _0x3dee89=_0x121c9d?0x3:0x2;if(_0x505304[_0x554244(0x27c)]!==_0x3dee89)throw new IdGeneratorError('IDGEN_INVALID_NUMBER',_0x554244(0x2d6)+_0x46a880+',\x20expected\x20'+_0x3dee89+_0x554244(0x1ed));let _0x4341b2=0x0;if(_0x121c9d){if(_0x2e6ad9[_0x554244(0x2a4)](_0x505304[_0x4341b2],_0x121c9d))throw new IdGeneratorError('IDGEN_INVALID_NUMBER','Number\x20prefix\x20mismatch:\x20expected\x20'+_0x121c9d+_0x554244(0x30a)+_0x505304[_0x4341b2]);_0x4341b2++;}_0x449c28=_0x505304[_0x4341b2++];const _0x411fb9=_0xc3d66d===_0x554244(0x259)?/^\d{4}$/:_0x2e6ad9[_0x554244(0x2ff)](_0xc3d66d,_0x2e6ad9[_0x554244(0x25b)])?/^\d{6}$/:/^\d{8}$/;if(!_0x411fb9['test'](_0x449c28))throw new IdGeneratorError(_0x554244(0x27a),_0x554244(0x289)+_0xc3d66d+':\x20'+_0x449c28);_0x16c8e9=_0x505304[_0x4341b2];}if(!new RegExp('^\x5cd{'+_0x13aefb+'}$')['test'](_0x16c8e9))throw new IdGeneratorError(_0x2e6ad9[_0x554244(0x210)],'Number\x20counter\x20part\x20must\x20be\x20exactly\x20'+_0x13aefb+_0x554244(0x2f3)+_0x16c8e9+')');const _0x22f305=_0x2e6ad9[_0x554244(0x2df)](parseInt,_0x16c8e9,0xa),_0x35b415=_0x2e6ad9[_0x554244(0x218)](_0x121c9d,'_');let _0x40f466;return _0xc3d66d===_0x554244(0x2de)?_0x40f466=_0x35b415+'_text':_0x40f466=_0x35b415+'_'+_0xc3d66d+'_'+_0x449c28,{'formatKey':_0x40f466,'counterInt':_0x22f305,'datePrefix':_0x449c28};}[a0_0x2c40e1(0x304)](_0x593659){const _0xda8097=a0_0x2c40e1;let _0x19df9d='';for(const _0x305cbb of _0x593659){const _0x56d207=PLACEHOLDER_MAP[_0x305cbb];if(_0x56d207){const _0x40859e=crypto[_0xda8097(0x24c)](0x0,_0x56d207['length']);_0x19df9d+=_0x56d207[_0x40859e];}else _0x19df9d+=_0x305cbb;}return _0x19df9d;}async[a0_0x2c40e1(0x228)](_0x18b07d){const _0x2a2e4f=a0_0x2c40e1,_0x5acbee={'FsxjL':_0x2a2e4f(0x29e)};if(!_0x18b07d)return null;try{const _0x43a848=redisClient['getClient'](),_0x559668=await _0x43a848[_0x2a2e4f(0x2e9)](_0x18b07d);if(_0x559668)return logger[_0x2a2e4f(0x2f4)]({'event':'idgen_idem_hit','key':_0x18b07d},'Idempotency\x20cache\x20HIT'),JSON['parse'](_0x559668);return null;}catch(_0x3f6843){return logger[_0x2a2e4f(0x2ba)]({'event':_0x5acbee['FsxjL'],'error':_0x3f6843['message']},'Idempotency\x20retrieve\x20error'),null;}}async[a0_0x2c40e1(0x2aa)](_0x5d007a,_0xfb50b4){const _0x49b96e=a0_0x2c40e1,_0x6760aa={'DQKPJ':_0x49b96e(0x242)};if(!_0x5d007a)return;try{const _0x15baaa=redisClient[_0x49b96e(0x2a0)]();await _0x15baaa['setex'](_0x5d007a,this['idemTTL'],JSON['stringify'](_0xfb50b4));}catch(_0x30a718){logger[_0x49b96e(0x2ba)]({'event':_0x6760aa['DQKPJ'],'error':_0x30a718[_0x49b96e(0x280)]},_0x49b96e(0x2ac));}}async[a0_0x2c40e1(0x308)](_0x4447cc,_0x41e8f8){const _0x452f58=a0_0x2c40e1,_0xe28f47={'YabBQ':function(_0x3fe34b,_0x275d65){return _0x3fe34b===_0x275d65;},'NTcil':_0x452f58(0x1e7),'YTouY':'Idempotency\x20SET\x20NX\x20error'};if(!_0x4447cc)return{'stored':!![],'winnerResult':null};try{const _0x1b7984=redisClient[_0x452f58(0x2a0)](),_0x2d14e1=JSON['stringify'](_0x41e8f8),_0x5067c9=await _0x1b7984['set'](_0x4447cc,_0x2d14e1,'EX',this[_0x452f58(0x284)],'NX');if(_0xe28f47['YabBQ'](_0x5067c9,'OK'))return{'stored':!![],'winnerResult':null};const _0x333f86=await _0x1b7984['get'](_0x4447cc);if(_0x333f86)return{'stored':![],'winnerResult':JSON[_0x452f58(0x220)](_0x333f86)};return logger['warn']({'event':_0xe28f47[_0x452f58(0x26b)],'key':_0x4447cc},_0x452f58(0x2c9)),{'stored':!![],'winnerResult':null};}catch(_0xf5adbb){return logger['warn']({'event':_0x452f58(0x2ea),'error':_0xf5adbb['message']},_0xe28f47['YTouY']),{'stored':!![],'winnerResult':null};}}async[a0_0x2c40e1(0x23e)](_0x37aba5,_0x623c66,_0x4be9f4){const _0x4655c8=a0_0x2c40e1,_0x280e1f={'NUnFE':'Random\x20reservation\x20undo\x20error\x20(orphan\x20slot\x20may\x20remain)'};try{const _0x23f5b9=redisClient[_0x4655c8(0x2a0)]();if(_0x4be9f4){const _0x18f2ac=this[_0x4655c8(0x2ef)](_0x37aba5,_0x623c66);await _0x23f5b9['del'](_0x18f2ac);}else{const _0x423e5f=this['_buildIssuedKey'](_0x37aba5);await _0x23f5b9['srem'](_0x423e5f,_0x623c66);}}catch(_0x238a8d){logger[_0x4655c8(0x2ba)]({'event':'idgen_random_undo_error','error':_0x238a8d['message']},_0x280e1f[_0x4655c8(0x294)]);}}async[a0_0x2c40e1(0x288)](_0x3d487f,_0x54bd67,_0x4b0de8,_0x2019cf=0x0){const _0x24645e=a0_0x2c40e1;try{const _0x93a690=redisClient[_0x24645e(0x2a0)](),_0xc44c07=this[_0x24645e(0x254)](_0x3d487f,_0x54bd67),_0x2649f5=[];for(const [_0x741ae3,_0x2fe468]of Object[_0x24645e(0x2a1)](_0x4b0de8)){_0x2649f5[_0x24645e(0x201)](_0x741ae3,String(_0x2fe468));}if(_0x2649f5[_0x24645e(0x27c)]>0x0){await _0x93a690['hset'](_0xc44c07,..._0x2649f5);if(_0x2019cf>0x0)await _0x93a690['expire'](_0xc44c07,_0x2019cf);}}catch(_0x586527){logger[_0x24645e(0x2ba)]({'event':_0x24645e(0x226),'error':_0x586527[_0x24645e(0x280)]},'Meta\x20update\x20error');}}async[a0_0x2c40e1(0x277)](_0xd27ade){const _0x945ab3=a0_0x2c40e1,_0x5d30b8={'BpcFT':'number','rWsnd':function(_0x59c38f,_0x1f0ee2){return _0x59c38f(_0x1f0ee2);},'umshw':function(_0x2516b4,_0x551e60){return _0x2516b4===_0x551e60;},'QKGLx':function(_0x1d40c0,_0x41acf2){return _0x1d40c0(_0x41acf2);},'XSRHl':'idgen_idem_loser_release_error','bLQgT':'idgen_number_idem_loser'};if(!this['enabled'])throw new IdGeneratorError('IDGEN_DISABLED',_0x945ab3(0x215));const _0x56755c=this[_0x945ab3(0x27b)](_0xd27ade),_0x4277d2=this[_0x945ab3(0x206)](_0xd27ade[_0x945ab3(0x2f0)]),{resource:_0x43ea99,format:_0x12fcde,prefix:_0x2afcdb,separator:_0x383b46,numDigits:_0x395870,reuseDelete:_0x48bb24}=_0x56755c,{formatKey:_0x3e0304,datePrefix:_0x177a48}=this[_0x945ab3(0x217)](_0x12fcde,_0x2afcdb),_0x38f8ba=this[_0x945ab3(0x2a5)](_0x43ea99,_0x3e0304),_0x377fba=this[_0x945ab3(0x1fc)](_0x43ea99,_0x3e0304),_0x1259ff=this[_0x945ab3(0x22d)](_0x12fcde);let _0x37cb40=null;if(_0x4277d2){_0x37cb40=this['_buildIdemKey'](_0x5d30b8[_0x945ab3(0x312)],_0x43ea99,_0x3e0304,_0x4277d2);const _0x39cd20=await this['_retrieveIdemCache'](_0x37cb40);if(_0x39cd20)return _0x39cd20;}const _0x239770=redisClient[_0x945ab3(0x2a0)](),_0x4373dd=await _0x239770['eval'](LUA_GENERATE_NUMBER,0x2,_0x38f8ba,_0x377fba,_0x48bb24?'1':'0',_0x5d30b8[_0x945ab3(0x1f3)](String,_0x1259ff)),_0x9b11de=_0x4373dd[0x0],_0x53faff=_0x5d30b8[_0x945ab3(0x25e)](_0x4373dd[0x1],0x1),_0x3687c6=this[_0x945ab3(0x2f6)]({'format':_0x12fcde,'prefix':_0x2afcdb,'datePrefix':_0x177a48,'separator':_0x383b46,'numDigits':_0x395870,'counterInt':_0x9b11de}),_0x45006f={'value':_0x3687c6,'counter':_0x9b11de,'resource':_0x43ea99,'formatKey':_0x3e0304,'isReused':_0x53faff,'generatedAt':new Date()['toISOString']()},_0x483843=await this[_0x945ab3(0x308)](_0x37cb40,_0x45006f);if(!_0x483843['stored']){try{await _0x239770[_0x945ab3(0x283)](LUA_RELEASE_NUMBER,0x1,_0x377fba,String(_0x9b11de),_0x5d30b8['QKGLx'](String,_0x1259ff));}catch(_0x3bb255){logger['warn']({'event':_0x5d30b8[_0x945ab3(0x20e)],'error':_0x3bb255[_0x945ab3(0x280)],'resource':_0x43ea99,'formatKey':_0x3e0304,'counterInt':_0x9b11de},'Failed\x20to\x20release\x20counter\x20for\x20idempotency\x20loser');}return logger['info']({'event':_0x5d30b8['bLQgT'],'resource':_0x43ea99,'formatKey':_0x3e0304,'counter':_0x9b11de},_0x945ab3(0x296)),_0x483843['winnerResult'];}return this['_updateMeta'](_0x43ea99,_0x3e0304,{'lastValue':_0x3687c6,'lastCounter':_0x9b11de,'lastIsReused':_0x53faff,'lastGeneratedAt':_0x45006f[_0x945ab3(0x282)]},_0x1259ff),logger['info']({'event':_0x945ab3(0x2a3),'resource':_0x43ea99,'formatKey':_0x3e0304,'counter':_0x9b11de,'isReused':_0x53faff},'ID\x20Generator\x20number:\x20'+_0x3687c6),_0x45006f;}async['releaseNumber'](_0x1e0068){const _0x4d4732=a0_0x2c40e1,_0x37a32c={'giXeg':'IDGEN_DISABLED','CyadK':_0x4d4732(0x2fc),'reMwf':function(_0x366e31,_0x21cc8d){return _0x366e31!==_0x21cc8d;},'VCVvC':function(_0x202b71,_0x24f282){return _0x202b71===_0x24f282;},'Ksbdf':_0x4d4732(0x27a),'rYbfb':function(_0x3e1816,_0x175bea){return _0x3e1816<_0x175bea;},'xQLGH':'text','rUJpA':function(_0xba2f87,_0x5697b1){return _0xba2f87(_0x5697b1);}};if(!this[_0x4d4732(0x2f5)])throw new IdGeneratorError(_0x37a32c[_0x4d4732(0x1fb)],_0x37a32c['CyadK']);let _0x3ade05,_0x50facf,_0x155749,_0x520ac7;const _0xa699fe=this[_0x4d4732(0x206)](_0x1e0068[_0x4d4732(0x2f0)]);if(_0x1e0068[_0x4d4732(0x307)]!==undefined&&_0x37a32c[_0x4d4732(0x24e)](_0x1e0068[_0x4d4732(0x307)],null)){this['_validateResource'](_0x1e0068['resource']),_0x3ade05=_0x1e0068['resource'];if(typeof _0x1e0068[_0x4d4732(0x238)]!=='string'||_0x37a32c[_0x4d4732(0x2b8)](_0x1e0068[_0x4d4732(0x238)]['length'],0x0))throw new IdGeneratorError(_0x37a32c['Ksbdf'],'formatKey\x20is\x20required\x20in\x20low-level\x20release');_0x50facf=_0x1e0068['formatKey'];if(!Number[_0x4d4732(0x290)](_0x1e0068[_0x4d4732(0x307)])||_0x37a32c[_0x4d4732(0x236)](_0x1e0068['counterInt'],0x1))throw new IdGeneratorError(_0x37a32c['Ksbdf'],'counterInt\x20must\x20be\x20positive\x20integer\x20(got:\x20'+_0x1e0068['counterInt']+')');_0x155749=_0x1e0068[_0x4d4732(0x307)];const _0x28e56d=_0x50facf['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/);_0x520ac7=_0x28e56d?_0x28e56d[0x1]:_0x37a32c['xQLGH'];}else{const _0x2dff6d=this[_0x4d4732(0x27b)](_0x1e0068),_0x485e8e=this[_0x4d4732(0x255)]({'format':_0x2dff6d[_0x4d4732(0x1ff)],'prefix':_0x2dff6d[_0x4d4732(0x309)],'separator':_0x2dff6d['separator'],'numDigits':_0x2dff6d['numDigits'],'number':_0x1e0068[_0x4d4732(0x277)]});_0x3ade05=_0x2dff6d['resource'],_0x50facf=_0x485e8e['formatKey'],_0x155749=_0x485e8e[_0x4d4732(0x307)],_0x520ac7=_0x2dff6d['format'];}const _0x2ce142=this[_0x4d4732(0x1fc)](_0x3ade05,_0x50facf),_0x5a9565=this['_getCounterTTL'](_0x520ac7);let _0x2f16be=null;if(_0xa699fe){_0x2f16be=this[_0x4d4732(0x1ef)]('release',_0x3ade05,_0x50facf,_0xa699fe);const _0xf79280=await this[_0x4d4732(0x228)](_0x2f16be);if(_0xf79280)return _0xf79280;}const _0x4a2c81=redisClient['getClient']();await _0x4a2c81['eval'](LUA_RELEASE_NUMBER,0x1,_0x2ce142,_0x37a32c['rUJpA'](String,_0x155749),String(_0x5a9565));const _0x3634d0={'released':!![],'resource':_0x3ade05,'formatKey':_0x50facf,'counter':_0x155749,'releasedAt':new Date()[_0x4d4732(0x229)]()};return await this['_storeIdemCache'](_0x2f16be,_0x3634d0),this[_0x4d4732(0x288)](_0x3ade05,_0x50facf,{'lastReleasedCounter':_0x155749,'lastReleasedAt':_0x3634d0[_0x4d4732(0x233)]},_0x5a9565),logger[_0x4d4732(0x2f4)]({'event':'idgen_number_released','resource':_0x3ade05,'formatKey':_0x50facf,'counter':_0x155749},'ID\x20Generator\x20number\x20released:\x20'+_0x155749),_0x3634d0;}async['reserveNumber'](_0xae4b58){const _0x1acc0d=a0_0x2c40e1,_0xb9bbcf={'qXMTp':_0x1acc0d(0x215),'Ogcmu':function(_0x4345a0,_0x5bcb6b){return _0x4345a0*_0x5bcb6b;},'bmsDK':'resource','hBpmq':_0x1acc0d(0x238),'YtcfA':_0x1acc0d(0x1ff),'Xaxux':_0x1acc0d(0x1f7),'yxYDC':_0x1acc0d(0x2fe),'KIrpy':function(_0x8bb4d3,_0x5e2f9a){return _0x8bb4d3(_0x5e2f9a);},'uTsLd':_0x1acc0d(0x224),'hKccM':function(_0x21bb91,_0xe0a37a){return _0x21bb91(_0xe0a37a);},'HupRA':function(_0x225c13,_0x5199aa){return _0x225c13===_0x5199aa;},'njArb':'idgen_reserve_value_persist_error','ggxyH':_0x1acc0d(0x2b3)};if(!this['enabled'])throw new IdGeneratorError('IDGEN_DISABLED',_0xb9bbcf[_0x1acc0d(0x211)]);const _0x9c1d7d=this[_0x1acc0d(0x27b)](_0xae4b58),_0x496abf=this[_0x1acc0d(0x235)](_0xae4b58['ttl']),_0x4beaeb=this[_0x1acc0d(0x206)](_0xae4b58['idempotencyKey']),{resource:_0x3d0a9f,format:_0x50a30a,prefix:_0xe1087,separator:_0x1818e9,numDigits:_0x2a31fa,reuseDelete:_0x1635df}=_0x9c1d7d,{formatKey:_0x2a122f,datePrefix:_0x10cca2}=this[_0x1acc0d(0x217)](_0x50a30a,_0xe1087),_0x2a97e6=this[_0x1acc0d(0x2a5)](_0x3d0a9f,_0x2a122f),_0x43050c=this[_0x1acc0d(0x1fc)](_0x3d0a9f,_0x2a122f),_0x2fecf8=this['_buildReservationIndexKey'](_0x3d0a9f,_0x2a122f),_0x5544b7=this[_0x1acc0d(0x22d)](_0x50a30a);let _0x5ead9d=null;if(_0x4beaeb){_0x5ead9d=this['_buildIdemKey']('reserve',_0x3d0a9f,_0x2a122f,_0x4beaeb);const _0x278d2e=await this[_0x1acc0d(0x228)](_0x5ead9d);if(_0x278d2e)return _0x278d2e;}const _0x473949=crypto['randomUUID'](),_0x1f9ac9=this['_buildReservationKey'](_0x473949),_0x3bc4d7=this['_buildReservationKeyPrefix'](),_0x261ea3=Date['now'](),_0x18f3e2=_0x261ea3+_0xb9bbcf[_0x1acc0d(0x1fd)](_0x496abf,0x3e8),_0x561232=_0x496abf*0x3e8,_0x55e03d=new Date(_0x261ea3)['toISOString'](),_0x54c00d=new Date(_0x18f3e2)['toISOString'](),_0xbf562f=[_0xb9bbcf[_0x1acc0d(0x239)],_0x3d0a9f,_0xb9bbcf[_0x1acc0d(0x203)],_0x2a122f,_0xb9bbcf[_0x1acc0d(0x230)],_0x50a30a,'prefix',_0xe1087,_0xb9bbcf['Xaxux'],_0x1818e9,'numDigits',String(_0x2a31fa),_0x1acc0d(0x231),_0x10cca2||'',_0xb9bbcf[_0x1acc0d(0x216)],_0x55e03d,_0x1acc0d(0x1ee),_0x54c00d,_0x1acc0d(0x2e0),_0xb9bbcf[_0x1acc0d(0x2ab)](String,_0x561232)];_0x4beaeb&&_0xbf562f['push'](_0xb9bbcf[_0x1acc0d(0x22a)],_0x4beaeb);const _0x520e9b=redisClient['getClient'](),_0x340537=await _0x520e9b['eval'](LUA_RESERVE_NUMBER,0x3,_0x2a97e6,_0x43050c,_0x2fecf8,_0x1635df?'1':'0',String(_0x5544b7),_0x473949,_0x1f9ac9,_0xb9bbcf['KIrpy'](String,_0x561232),String(_0x18f3e2),_0xb9bbcf[_0x1acc0d(0x2c0)](String,_0x261ea3),_0x3bc4d7,..._0xbf562f),_0x295b4c=_0x340537[0x0],_0x99b36a=_0xb9bbcf[_0x1acc0d(0x313)](_0x340537[0x1],0x1),_0x3f587a=_0x340537[0x2]||0x0;let _0x62d7bc;try{_0x62d7bc=this['_formatNumber']({'format':_0x50a30a,'prefix':_0xe1087,'datePrefix':_0x10cca2,'separator':_0x1818e9,'numDigits':_0x2a31fa,'counterInt':_0x295b4c});}catch(_0x262e8d){try{await _0x520e9b[_0x1acc0d(0x283)](LUA_CANCEL_RESERVATION,0x3,_0x1f9ac9,_0x2fecf8,_0x43050c,_0x473949,_0xb9bbcf[_0x1acc0d(0x2ab)](String,_0x5544b7));}catch(_0x247c1c){logger[_0x1acc0d(0x2ba)]({'event':'idgen_reserve_overflow_compensation_error','error':_0x247c1c[_0x1acc0d(0x280)],'resource':_0x3d0a9f,'formatKey':_0x2a122f,'counterInt':_0x295b4c,'token':_0x473949},_0x1acc0d(0x2dd));}throw _0x262e8d;}try{await _0x520e9b['hset'](_0x1f9ac9,'value',_0x62d7bc);}catch(_0x5d51a9){logger[_0x1acc0d(0x2ba)]({'event':_0xb9bbcf['njArb'],'error':_0x5d51a9['message'],'resource':_0x3d0a9f,'formatKey':_0x2a122f,'counterInt':_0x295b4c,'token':_0x473949},_0x1acc0d(0x22e));}const _0x47bd41={'token':_0x473949,'value':_0x62d7bc,'counter':_0x295b4c,'resource':_0x3d0a9f,'formatKey':_0x2a122f,'isReused':_0x99b36a,'createdAt':_0x55e03d,'expiresAt':_0x54c00d,'reapedCount':_0x3f587a},_0xd0dc01=await this['_storeIdemCacheNX'](_0x5ead9d,_0x47bd41);if(!_0xd0dc01['stored']){try{await _0x520e9b[_0x1acc0d(0x283)](LUA_CANCEL_RESERVATION,0x3,_0x1f9ac9,_0x2fecf8,_0x43050c,_0x473949,_0xb9bbcf['hKccM'](String,_0x5544b7));}catch(_0x17fd56){logger[_0x1acc0d(0x2ba)]({'event':_0xb9bbcf[_0x1acc0d(0x2e3)],'error':_0x17fd56['message'],'resource':_0x3d0a9f,'formatKey':_0x2a122f,'counterInt':_0x295b4c,'token':_0x473949},_0x1acc0d(0x2ca));}return logger[_0x1acc0d(0x2f4)]({'event':'idgen_reserve_idem_loser','resource':_0x3d0a9f,'formatKey':_0x2a122f,'counter':_0x295b4c,'token':_0x473949},'ID\x20Generator\x20reserve\x20idem\x20race\x20lost,\x20returning\x20winner\x20envelope'),_0xd0dc01[_0x1acc0d(0x257)];}return this['_updateMeta'](_0x3d0a9f,_0x2a122f,{'lastReservedCounter':_0x295b4c,'lastReservedAt':_0x55e03d,'lastReapedCount':_0x3f587a},_0x5544b7),logger[_0x1acc0d(0x2f4)]({'event':'idgen_number_reserved','resource':_0x3d0a9f,'formatKey':_0x2a122f,'counter':_0x295b4c,'isReused':_0x99b36a,'token':_0x473949,'ttl':_0x496abf,'reapedCount':_0x3f587a},_0x1acc0d(0x248)+_0x62d7bc+_0x1acc0d(0x2d7)+_0x473949+')'),_0x47bd41;}async[a0_0x2c40e1(0x2a2)](_0x71f04a){const _0x4c9d0e=a0_0x2c40e1,_0x4bc3a8={'nxAWk':_0x4c9d0e(0x29f),'uWGCT':_0x4c9d0e(0x2d0),'jAQBb':function(_0x31d34e,_0xa48c0d){return _0x31d34e!==_0xa48c0d;},'qJtkF':function(_0x177ab8,_0xac9dd3,_0x3af557){return _0x177ab8(_0xac9dd3,_0x3af557);},'uMyZv':_0x4c9d0e(0x317)};if(!this['enabled'])throw new IdGeneratorError('IDGEN_DISABLED',_0x4c9d0e(0x2fc));const _0xfef031=this[_0x4c9d0e(0x30f)](_0x71f04a&&_0x71f04a['token']),_0x1bb5e6=this[_0x4c9d0e(0x206)](_0x71f04a&&_0x71f04a[_0x4c9d0e(0x2f0)]);let _0x18fe83=null;if(_0x1bb5e6){_0x18fe83=idempotencyManager['buildDeterministicKey'](_0x4bc3a8[_0x4c9d0e(0x1f6)],_0x4bc3a8['uWGCT'],_0xfef031+':'+_0x1bb5e6);const _0x3953c4=await this['_retrieveIdemCache'](_0x18fe83);if(_0x3953c4)return _0x3953c4;}const _0x304f4e=await this['_getReservationContext'](_0xfef031),_0x5856aa=redisClient['getClient'](),_0x22ac97=await _0x5856aa[_0x4c9d0e(0x283)](LUA_CONFIRM_RESERVATION,0x2,_0x304f4e['rsvKey'],_0x304f4e['rsvIdxKey'],_0xfef031);if(!_0x22ac97||_0x4bc3a8['jAQBb'](_0x22ac97[0x0],0x1))throw new IdGeneratorError('IDGEN_RESERVATION_NOT_FOUND',_0x4c9d0e(0x2ec)+_0xfef031,{'token':_0xfef031});const _0x37da37=_0x4bc3a8[_0x4c9d0e(0x26e)](parseInt,_0x22ac97[0x1],0xa),_0x51bcb9=_0x22ac97[0x2],_0x226498=_0x22ac97[0x3],_0x47193a=new Date()[_0x4c9d0e(0x229)](),_0x41b9ba={'confirmed':!![],'token':_0xfef031,'value':_0x51bcb9,'counter':_0x37da37,'resource':_0x304f4e[_0x4c9d0e(0x249)],'formatKey':_0x226498,'confirmedAt':_0x47193a};await this[_0x4c9d0e(0x2aa)](_0x18fe83,_0x41b9ba);const _0x620838=_0x226498[_0x4c9d0e(0x269)](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x15b60e=_0x620838?_0x620838[0x1]:'text',_0x378aca=this['_getCounterTTL'](_0x15b60e);return this['_updateMeta'](_0x304f4e['resource'],_0x226498,{'lastConfirmedCounter':_0x37da37,'lastConfirmedAt':_0x47193a},_0x378aca),logger[_0x4c9d0e(0x2f4)]({'event':_0x4bc3a8[_0x4c9d0e(0x2cf)],'resource':_0x304f4e[_0x4c9d0e(0x249)],'formatKey':_0x226498,'counter':_0x37da37,'token':_0xfef031},_0x4c9d0e(0x2f9)+_0x51bcb9+_0x4c9d0e(0x2d7)+_0xfef031+')'),_0x41b9ba;}async['cancelReservation'](_0x5e5c17){const _0x2830db=a0_0x2c40e1,_0x17b0ce={'FffpB':'IDGEN_DISABLED','Gdsms':_0x2830db(0x2fc),'ATktT':_0x2830db(0x21f),'MwPBw':'text','rIbzF':function(_0x13acc8,_0x480001){return _0x13acc8(_0x480001);},'oIwCr':function(_0x19b564,_0x29dd5f,_0x18ede6){return _0x19b564(_0x29dd5f,_0x18ede6);},'XEuqn':'idgen_reservation_cancelled'};if(!this['enabled'])throw new IdGeneratorError(_0x17b0ce['FffpB'],_0x17b0ce[_0x2830db(0x2e5)]);const _0x38c4be=this[_0x2830db(0x30f)](_0x5e5c17&&_0x5e5c17['token']),_0x3b48cc=this[_0x2830db(0x206)](_0x5e5c17&&_0x5e5c17[_0x2830db(0x2f0)]);let _0x5a3274=null;if(_0x3b48cc){_0x5a3274=idempotencyManager[_0x2830db(0x256)]('idgen',_0x17b0ce['ATktT'],_0x38c4be+':'+_0x3b48cc);const _0x1cf512=await this['_retrieveIdemCache'](_0x5a3274);if(_0x1cf512)return _0x1cf512;}const _0x4193dd=await this[_0x2830db(0x1fa)](_0x38c4be),_0x51204c=this[_0x2830db(0x1fc)](_0x4193dd[_0x2830db(0x249)],_0x4193dd[_0x2830db(0x238)]),_0x341c71=_0x4193dd[_0x2830db(0x238)][_0x2830db(0x269)](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x1bd75c=_0x341c71?_0x341c71[0x1]:_0x17b0ce['MwPBw'],_0x29c6ab=this['_getCounterTTL'](_0x1bd75c),_0x3ab4bf=redisClient['getClient'](),_0x1fae6d=await _0x3ab4bf['eval'](LUA_CANCEL_RESERVATION,0x3,_0x4193dd[_0x2830db(0x21b)],_0x4193dd['rsvIdxKey'],_0x51204c,_0x38c4be,_0x17b0ce[_0x2830db(0x28c)](String,_0x29c6ab));if(!_0x1fae6d||_0x1fae6d[0x0]!==0x1)throw new IdGeneratorError(_0x2830db(0x2f1),'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x38c4be,{'token':_0x38c4be});const _0x3f47bc=_0x17b0ce[_0x2830db(0x1ea)](parseInt,_0x1fae6d[0x1],0xa),_0x2f5727=_0x1fae6d[0x2],_0x216898=_0x1fae6d[0x3],_0x2c5727=new Date()['toISOString'](),_0x2f8cbd={'cancelled':!![],'token':_0x38c4be,'value':_0x2f5727,'counter':_0x3f47bc,'resource':_0x4193dd['resource'],'formatKey':_0x216898,'releasedToReuse':!![],'cancelledAt':_0x2c5727};return await this[_0x2830db(0x2aa)](_0x5a3274,_0x2f8cbd),this[_0x2830db(0x288)](_0x4193dd[_0x2830db(0x249)],_0x216898,{'lastCancelledCounter':_0x3f47bc,'lastCancelledAt':_0x2c5727},_0x29c6ab),logger['info']({'event':_0x17b0ce['XEuqn'],'resource':_0x4193dd['resource'],'formatKey':_0x216898,'counter':_0x3f47bc,'token':_0x38c4be},_0x2830db(0x2c8)+_0x2f5727+'\x20(token='+_0x38c4be+')'),_0x2f8cbd;}async[a0_0x2c40e1(0x316)](_0x45337f){const _0x3eb016=a0_0x2c40e1,_0x2d2aff={'tqqhb':'reserve_extend','dYYoo':function(_0x5d2659,_0x32784a){return _0x5d2659+_0x32784a;},'AeFMw':function(_0x231574,_0x1a4369){return _0x231574(_0x1a4369);},'TdClW':'IDGEN_RESERVATION_NOT_FOUND','zTzbo':'text'};if(!this[_0x3eb016(0x2f5)])throw new IdGeneratorError('IDGEN_DISABLED',_0x3eb016(0x2fc));const _0x3d3fc8=this['_validateReservationToken'](_0x45337f&&_0x45337f[_0x3eb016(0x24d)]),_0x1f3f2d=this['_validateReserveTTL'](_0x45337f&&_0x45337f['ttl']),_0x2128e5=this[_0x3eb016(0x206)](_0x45337f&&_0x45337f[_0x3eb016(0x2f0)]);let _0x35526c=null;if(_0x2128e5){_0x35526c=idempotencyManager[_0x3eb016(0x256)](_0x3eb016(0x29f),_0x2d2aff[_0x3eb016(0x2d3)],_0x3d3fc8+':'+_0x2128e5);const _0x4c3816=await this['_retrieveIdemCache'](_0x35526c);if(_0x4c3816)return _0x4c3816;}const _0x7753e6=await this['_getReservationContext'](_0x3d3fc8),_0x4e85ad=Date['now'](),_0x532516=_0x2d2aff[_0x3eb016(0x2ae)](_0x4e85ad,_0x1f3f2d*0x3e8),_0x3217fe=_0x1f3f2d*0x3e8,_0x26b38=new Date(_0x532516)[_0x3eb016(0x229)](),_0x44053e=redisClient['getClient'](),_0x4f9705=await _0x44053e['eval'](LUA_EXTEND_RESERVATION,0x2,_0x7753e6['rsvKey'],_0x7753e6[_0x3eb016(0x266)],_0x3d3fc8,String(_0x3217fe),_0x2d2aff[_0x3eb016(0x209)](String,_0x532516),_0x26b38);if(!_0x4f9705||_0x4f9705[0x0]!==0x1)throw new IdGeneratorError(_0x2d2aff['TdClW'],_0x3eb016(0x2ec)+_0x3d3fc8,{'token':_0x3d3fc8});const _0x8fd86b=_0x4f9705[0x1],_0x19649a=parseInt(_0x4f9705[0x2],0xa),_0x3066e6=_0x4f9705[0x3],_0x34ac19=_0x4f9705[0x4],_0x2d5c57=new Date(_0x4e85ad)['toISOString'](),_0x603c9={'extended':!![],'token':_0x3d3fc8,'previousExpiresAt':_0x8fd86b,'expiresAt':_0x26b38,'ttlMs':_0x3217fe,'resource':_0x7753e6[_0x3eb016(0x249)],'formatKey':_0x34ac19,'counter':_0x19649a,'value':_0x3066e6,'extendedAt':_0x2d5c57};await this[_0x3eb016(0x2aa)](_0x35526c,_0x603c9);const _0x560302=_0x34ac19['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x16bb46=_0x560302?_0x560302[0x1]:_0x2d2aff['zTzbo'],_0x1e0ee1=this[_0x3eb016(0x22d)](_0x16bb46);return this[_0x3eb016(0x288)](_0x7753e6[_0x3eb016(0x249)],_0x34ac19,{'lastExtendedCounter':_0x19649a,'lastExtendedAt':_0x2d5c57},_0x1e0ee1),logger[_0x3eb016(0x2f4)]({'event':_0x3eb016(0x214),'resource':_0x7753e6[_0x3eb016(0x249)],'formatKey':_0x34ac19,'counter':_0x19649a,'token':_0x3d3fc8,'ttl':_0x1f3f2d},_0x3eb016(0x2c6)+_0x3066e6+_0x3eb016(0x2d7)+_0x3d3fc8+_0x3eb016(0x22c)+_0x1f3f2d+'s)'),_0x603c9;}async[a0_0x2c40e1(0x302)](_0x341171){const _0x2a0662=a0_0x2c40e1,_0x5891e4={'rFZFV':'IDGEN_DISABLED','uZfaP':'ID\x20Generator\x20is\x20disabled','LURls':function(_0x30e678,_0xd94272,_0xbe9de8){return _0x30e678(_0xd94272,_0xbe9de8);},'KJwHY':function(_0xc2e538,_0x3f8cbf){return _0xc2e538===_0x3f8cbf;}};if(!this['enabled'])throw new IdGeneratorError(_0x5891e4[_0x2a0662(0x28d)],_0x5891e4[_0x2a0662(0x274)]);const _0x1610b3=this[_0x2a0662(0x30f)](_0x341171&&_0x341171['token']),_0x2fc0f1=this['_buildReservationKey'](_0x1610b3),_0x3c1456=redisClient['getClient'](),_0x2ca059=_0x3c1456[_0x2a0662(0x221)]();_0x2ca059['hgetall'](_0x2fc0f1),_0x2ca059['pttl'](_0x2fc0f1);const _0x221245=await _0x2ca059['exec'](),_0xe195dd=_0x221245&&_0x221245[0x0]&&_0x221245[0x0][0x1],_0x26ebdf=_0x221245&&_0x221245[0x1]&&_0x221245[0x1][0x1];if(!_0xe195dd||Object['keys'](_0xe195dd)[_0x2a0662(0x27c)]===0x0)throw new IdGeneratorError(_0x2a0662(0x2f1),_0x2a0662(0x2ec)+_0x1610b3,{'token':_0x1610b3});return{'token':_0x1610b3,'resource':_0xe195dd['resource']||null,'formatKey':_0xe195dd[_0x2a0662(0x238)]||null,'format':_0xe195dd[_0x2a0662(0x1ff)]||null,'prefix':_0xe195dd[_0x2a0662(0x309)]||'','separator':_0xe195dd[_0x2a0662(0x1f7)]||'','numDigits':_0xe195dd[_0x2a0662(0x2fa)]?_0x5891e4[_0x2a0662(0x1f1)](parseInt,_0xe195dd[_0x2a0662(0x2fa)],0xa):null,'datePrefix':_0xe195dd['datePrefix']||'','counter':_0xe195dd[_0x2a0662(0x200)]?parseInt(_0xe195dd[_0x2a0662(0x200)],0xa):null,'value':_0xe195dd['value']||null,'isReused':_0x5891e4[_0x2a0662(0x1ec)](_0xe195dd[_0x2a0662(0x306)],'1')||_0xe195dd['isReused']===0x1,'createdAt':_0xe195dd['createdAt']||null,'expiresAt':_0xe195dd[_0x2a0662(0x1ee)]||null,'ttlRemainingMs':typeof _0x26ebdf==='number'&&_0x26ebdf>=0x0?_0x26ebdf:null};}async['_getReservationContext'](_0x5d8493){const _0x5bcbff=a0_0x2c40e1,_0x51c5fe={'cJubN':function(_0xa5dd31,_0x57303c){return _0xa5dd31||_0x57303c;},'hUZzH':_0x5bcbff(0x2f1)},_0x1ccd3f=this['_buildReservationKey'](_0x5d8493),_0x3a6c72=redisClient[_0x5bcbff(0x2a0)](),_0x16a46b=await _0x3a6c72['hmget'](_0x1ccd3f,_0x5bcbff(0x249),_0x5bcbff(0x238)),_0x431e0b=_0x16a46b&&_0x16a46b[0x0],_0x1d1031=_0x16a46b&&_0x16a46b[0x1];if(_0x51c5fe['cJubN'](!_0x431e0b,!_0x1d1031))throw new IdGeneratorError(_0x51c5fe[_0x5bcbff(0x2db)],_0x5bcbff(0x2ec)+_0x5d8493,{'token':_0x5d8493});return{'resource':_0x431e0b,'formatKey':_0x1d1031,'rsvKey':_0x1ccd3f,'rsvIdxKey':this[_0x5bcbff(0x299)](_0x431e0b,_0x1d1031)};}async['random'](_0x2c5beb){const _0x59a485=a0_0x2c40e1,_0x3c7d19={'FOiZq':'IDGEN_DISABLED','jKCID':function(_0x443907,_0x15e425){return _0x443907===_0x15e425;},'kPBJQ':'random','YDsyL':function(_0x4383a4,_0x5c47b7){return _0x4383a4<_0x5c47b7;},'qOHFu':function(_0x128ec5,_0x13ba16){return _0x128ec5===_0x13ba16;},'bvRWr':'IDGEN_UNIQUE_RETRY_EXHAUSTED','xnIPj':function(_0x4477a4,_0x4077ad){return _0x4477a4*_0x4077ad;},'SruRY':'idgen_random_generated','FoyGP':function(_0xe213c8,_0x8dd56b){return _0xe213c8||_0x8dd56b;}};if(!this[_0x59a485(0x2f5)])throw new IdGeneratorError(_0x3c7d19['FOiZq'],'ID\x20Generator\x20is\x20disabled');this[_0x59a485(0x2b0)](_0x2c5beb[_0x59a485(0x249)]),this[_0x59a485(0x276)](_0x2c5beb['pattern']);const _0x2ea2f4=this['_validateTTL'](_0x2c5beb[_0x59a485(0x2d4)]),_0x108958=this['_validateMaxRetry'](_0x2c5beb[_0x59a485(0x2d5)]),_0x4de58f=this['_validateIdempotencyKey'](_0x2c5beb['idempotencyKey']),_0x4e054a=_0x3c7d19[_0x59a485(0x26f)](_0x2c5beb[_0x59a485(0x24b)],!![]),{resource:_0x18cd32,pattern:_0x40d061}=_0x2c5beb;let _0x4c78e2=null;if(_0x4de58f){_0x4c78e2=this[_0x59a485(0x1ef)](_0x3c7d19['kPBJQ'],_0x18cd32,null,_0x4de58f);const _0x2990f5=await this[_0x59a485(0x228)](_0x4c78e2);if(_0x2990f5)return _0x2990f5;}const _0x2dd0d9=redisClient['getClient']();let _0x195186=null,_0x5add72=0x0;if(!_0x4e054a)_0x195186=this['_generateFromPattern'](_0x40d061),_0x5add72=0x1;else{for(let _0x9af7ee=0x0;_0x3c7d19[_0x59a485(0x234)](_0x9af7ee,_0x108958);_0x9af7ee++){_0x5add72++;const _0x4c9a6b=this[_0x59a485(0x304)](_0x40d061);if(_0x2ea2f4){const _0x2340cf=this['_buildActiveKey'](_0x18cd32,_0x4c9a6b),_0x152a7d=await _0x2dd0d9[_0x59a485(0x25c)](_0x2340cf,'1','EX',_0x2ea2f4,'NX');if(_0x3c7d19[_0x59a485(0x300)](_0x152a7d,'OK')){_0x195186=_0x4c9a6b;break;}}else{const _0x56db66=this[_0x59a485(0x2b6)](_0x18cd32),_0x13bab1=await _0x2dd0d9[_0x59a485(0x30c)](_0x56db66,_0x4c9a6b);if(_0x13bab1===0x1){_0x195186=_0x4c9a6b;break;}}}if(_0x195186===null)throw new IdGeneratorError(_0x3c7d19[_0x59a485(0x244)],'Could\x20not\x20generate\x20unique\x20value\x20after\x20'+_0x108958+_0x59a485(0x31c),{'resource':_0x18cd32,'pattern':_0x40d061,'maxRetry':_0x108958});}const _0x3b60ae={'value':_0x195186,'resource':_0x18cd32,'pattern':_0x40d061,'attemptCount':_0x5add72,'generatedAt':new Date()[_0x59a485(0x229)]()};_0x2ea2f4&&_0x4e054a&&(_0x3b60ae[_0x59a485(0x1ee)]=new Date(Date['now']()+_0x3c7d19['xnIPj'](_0x2ea2f4,0x3e8))['toISOString']());const _0x3da80d=await this[_0x59a485(0x308)](_0x4c78e2,_0x3b60ae);if(!_0x3da80d[_0x59a485(0x261)])return _0x4e054a&&await this['_undoRandomReservation'](_0x18cd32,_0x195186,_0x2ea2f4),logger['info']({'event':'idgen_random_idem_loser','resource':_0x18cd32,'pattern':_0x40d061,'value':_0x195186},_0x59a485(0x2d9)),_0x3da80d['winnerResult'];return logger['info']({'event':_0x3c7d19[_0x59a485(0x2d2)],'resource':_0x18cd32,'pattern':_0x40d061,'attemptCount':_0x5add72,'ensureUnique':_0x4e054a,'ttl':_0x3c7d19[_0x59a485(0x2eb)](_0x2ea2f4,0x0)},'ID\x20Generator\x20random:\x20'+_0x195186),_0x3b60ae;}async['pin'](_0xf0246e){const _0x3288d0=a0_0x2c40e1,_0x3eeab8={'EDlMs':function(_0x4a1be1,_0x59cbaf){return _0x4a1be1==_0x59cbaf;},'jJDDh':'IDGEN_INVALID_DIGITS','zsHcG':function(_0x5150b3,_0x530128){return _0x5150b3===_0x530128;}},_0x2a730a=_0x3eeab8['EDlMs'](_0xf0246e[_0x3288d0(0x20a)],null)?this[_0x3288d0(0x29b)]:_0xf0246e[_0x3288d0(0x20a)];if(!Number['isInteger'](_0x2a730a)||_0x2a730a<MIN_PIN_DIGITS||_0x2a730a>MAX_PIN_DIGITS)throw new IdGeneratorError(_0x3eeab8['jJDDh'],'Invalid\x20digits:\x20must\x20be\x20integer\x20'+MIN_PIN_DIGITS+'-'+MAX_PIN_DIGITS+'\x20(got:\x20'+_0x2a730a+')');const _0x174ab5='9'[_0x3288d0(0x2ce)](_0x2a730a);return this['random']({'resource':_0xf0246e[_0x3288d0(0x249)],'pattern':_0x174ab5,'ensureUnique':_0x3eeab8[_0x3288d0(0x251)](_0xf0246e['ensureUnique'],!![]),'ttl':_0xf0246e[_0x3288d0(0x2d4)],'maxRetry':_0xf0246e[_0x3288d0(0x2d5)],'idempotencyKey':_0xf0246e[_0x3288d0(0x2f0)]});}async['serial'](_0x233c65){const _0x154eb3=a0_0x2c40e1,_0x3c1824=_0x233c65[_0x154eb3(0x2f7)]||this[_0x154eb3(0x26d)];return this['random']({'resource':_0x233c65['resource'],'pattern':_0x3c1824,'ensureUnique':_0x233c65['ensureUnique']!==![],'ttl':_0x233c65['ttl'],'maxRetry':_0x233c65[_0x154eb3(0x2d5)],'idempotencyKey':_0x233c65['idempotencyKey']});}async['code'](_0x44c833){const _0x35680e=a0_0x2c40e1,_0x58d6bd={'oXVdL':function(_0x41e2c1,_0x1cac91){return _0x41e2c1!==_0x1cac91;}},_0x1b3a36=_0x44c833[_0x35680e(0x2f7)]||this[_0x35680e(0x278)];return this[_0x35680e(0x314)]({'resource':_0x44c833[_0x35680e(0x249)],'pattern':_0x1b3a36,'ensureUnique':_0x58d6bd[_0x35680e(0x1f0)](_0x44c833[_0x35680e(0x24b)],![]),'ttl':_0x44c833['ttl'],'maxRetry':_0x44c833[_0x35680e(0x2d5)],'idempotencyKey':_0x44c833[_0x35680e(0x2f0)]});}async['consume'](_0x31c965){const _0x41a1a4=a0_0x2c40e1,_0x14acc2={'UbUMd':_0x41a1a4(0x2fc),'nAZbm':function(_0x5ef2bc,_0x3dfd26){return _0x5ef2bc!==_0x3dfd26;},'zbdat':_0x41a1a4(0x27a),'Iotrw':_0x41a1a4(0x25f),'bXQvR':function(_0x421fff,_0x54a5c8){return _0x421fff>_0x54a5c8;},'dCyXo':function(_0x894ed5,_0xc7295f){return _0x894ed5+_0xc7295f;},'LlHuK':'idgen_consumed'};if(!this['enabled'])throw new IdGeneratorError(_0x41a1a4(0x26a),_0x14acc2[_0x41a1a4(0x273)]);this[_0x41a1a4(0x2b0)](_0x31c965['resource']);if(_0x14acc2[_0x41a1a4(0x2fd)](typeof _0x31c965['value'],_0x41a1a4(0x267))||_0x31c965[_0x41a1a4(0x20d)][_0x41a1a4(0x27c)]===0x0)throw new IdGeneratorError(_0x14acc2['zbdat'],_0x14acc2[_0x41a1a4(0x21e)]);const {resource:_0x254b61,value:_0x10bcf5}=_0x31c965,_0x26d330=redisClient[_0x41a1a4(0x2a0)](),_0x14c351=this[_0x41a1a4(0x2ef)](_0x254b61,_0x10bcf5),_0x536fee=this[_0x41a1a4(0x2b6)](_0x254b61),[_0x18608c,_0x281d4c]=await Promise[_0x41a1a4(0x2e4)]([_0x26d330['del'](_0x14c351),_0x26d330[_0x41a1a4(0x27e)](_0x536fee,_0x10bcf5)]),_0x15e9be=_0x14acc2[_0x41a1a4(0x227)](_0x14acc2[_0x41a1a4(0x29d)](_0x18608c,_0x281d4c),0x0);return logger[_0x41a1a4(0x2f4)]({'event':_0x14acc2['LlHuK'],'resource':_0x254b61,'value':_0x10bcf5,'consumed':_0x15e9be},'ID\x20Generator\x20consumed:\x20'+_0x10bcf5),{'consumed':_0x15e9be,'resource':_0x254b61,'value':_0x10bcf5,'consumedAt':new Date()['toISOString']()};}async['peek'](_0x5bbae6){const _0x2f635a=a0_0x2c40e1,_0x49a293={'zWpdH':function(_0x513b9e,_0x27497e){return _0x513b9e===_0x27497e;},'xjjum':_0x2f635a(0x265),'VJSpU':_0x2f635a(0x277),'CWnJe':_0x2f635a(0x314),'pixNT':function(_0x27fac2,_0x53a476){return _0x27fac2||_0x53a476;},'eXsLY':_0x2f635a(0x281)};if(!this[_0x2f635a(0x2f5)])throw new IdGeneratorError('IDGEN_DISABLED','ID\x20Generator\x20is\x20disabled');this['_validateResource'](_0x5bbae6[_0x2f635a(0x249)]);const _0x13d189=_0x5bbae6[_0x2f635a(0x318)]||_0x2f635a(0x277),_0x3dddd0=redisClient[_0x2f635a(0x2a0)]();if(_0x49a293['zWpdH'](_0x13d189,'number')){const _0x13e3dd=(_0x5bbae6[_0x2f635a(0x1ff)]||_0x2f635a(0x2de))[_0x2f635a(0x2a7)]();if(!ALLOWED_FORMATS[_0x2f635a(0x20f)](_0x13e3dd))throw new IdGeneratorError(_0x49a293[_0x2f635a(0x27d)],'Invalid\x20format:\x20'+_0x5bbae6['format']);const {formatKey:_0x44c4d7}=this[_0x2f635a(0x217)](_0x13e3dd,_0x5bbae6[_0x2f635a(0x309)]||''),_0x47527f=this[_0x2f635a(0x2a5)](_0x5bbae6[_0x2f635a(0x249)],_0x44c4d7),_0x18040f=this['_buildReuseKey'](_0x5bbae6[_0x2f635a(0x249)],_0x44c4d7),[_0x314329,_0xfd7f6d]=await Promise['all']([_0x3dddd0['get'](_0x47527f),_0x3dddd0[_0x2f635a(0x22f)](_0x18040f)]);return{'resource':_0x5bbae6[_0x2f635a(0x249)],'mode':_0x49a293[_0x2f635a(0x252)],'formatKey':_0x44c4d7,'currentCounter':parseInt(_0x314329,0xa)||0x0,'reusePoolSize':_0xfd7f6d||0x0};}if(_0x13d189===_0x49a293['CWnJe']){const _0x3c1ed3=this['_buildIssuedKey'](_0x5bbae6['resource']),_0x306e52=await _0x3dddd0['scard'](_0x3c1ed3);return{'resource':_0x5bbae6[_0x2f635a(0x249)],'mode':_0x49a293[_0x2f635a(0x1f4)],'issuedCount':_0x49a293['pixNT'](_0x306e52,0x0)};}throw new IdGeneratorError(_0x49a293[_0x2f635a(0x271)],'Unknown\x20mode:\x20'+_0x13d189);}async[a0_0x2c40e1(0x270)](_0x204ff7){const _0x1eb422=a0_0x2c40e1,_0x43af31={'RSNol':function(_0x52e464,_0x56ff3a){return _0x52e464===_0x56ff3a;},'gZArF':_0x1eb422(0x277),'fbSSD':function(_0x41f968,_0x23b717){return _0x41f968>_0x23b717;}},_0xffce7f=await this[_0x1eb422(0x250)](_0x204ff7);if(_0x43af31[_0x1eb422(0x2bf)](_0xffce7f[_0x1eb422(0x318)],_0x43af31[_0x1eb422(0x23a)])){const _0xb6c666=redisClient['getClient'](),_0x5ea5cc=this['_buildMetaKey'](_0x204ff7['resource'],_0xffce7f['formatKey']),_0x1fce3f=this[_0x1eb422(0x1fc)](_0x204ff7[_0x1eb422(0x249)],_0xffce7f[_0x1eb422(0x238)]),[_0x510c45,_0xc991b9]=await Promise['all']([_0xb6c666[_0x1eb422(0x2c1)](_0x5ea5cc),_0xb6c666[_0x1eb422(0x279)](_0x1fce3f,0x0,-0x1)]);return{..._0xffce7f,'reusePoolValues':_0xc991b9['map'](_0x41b855=>parseInt(_0x41b855,0xa)),'meta':_0x510c45&&_0x43af31[_0x1eb422(0x263)](Object['keys'](_0x510c45)[_0x1eb422(0x27c)],0x0)?_0x510c45:null};}return _0xffce7f;}async[a0_0x2c40e1(0x1f9)](_0x27a057){const _0x5e10fd=a0_0x2c40e1,_0x21883d={'tiiPD':_0x5e10fd(0x2fc),'NFaii':'IDGEN_RESET_NOT_ALLOWED','TjFEw':_0x5e10fd(0x277),'DmJWJ':'text','VAAvs':_0x5e10fd(0x265),'jUmRb':_0x5e10fd(0x205),'JYiCm':'reuse','WqTop':'meta','eQgob':'random','YbazZ':'IDGEN_INVALID_MODE'};if(!this['enabled'])throw new IdGeneratorError('IDGEN_DISABLED',_0x21883d['tiiPD']);if(!this[_0x5e10fd(0x31b)])throw new IdGeneratorError(_0x21883d[_0x5e10fd(0x2a9)],'Reset\x20operation\x20not\x20allowed\x20(set\x20IDGEN_ALLOW_RESET=true\x20to\x20enable)');this[_0x5e10fd(0x2b0)](_0x27a057[_0x5e10fd(0x249)]);const _0x5eeec9=_0x27a057[_0x5e10fd(0x318)]||'number',_0x1733c2=redisClient[_0x5e10fd(0x2a0)]();if(_0x5eeec9===_0x21883d['TjFEw']){const _0x382a7c=(_0x27a057['format']||_0x21883d['DmJWJ'])['toLowerCase']();if(!ALLOWED_FORMATS['has'](_0x382a7c))throw new IdGeneratorError(_0x21883d[_0x5e10fd(0x2b1)],_0x5e10fd(0x21d)+_0x27a057[_0x5e10fd(0x1ff)]);const {formatKey:_0x2720d9}=this[_0x5e10fd(0x217)](_0x382a7c,_0x27a057[_0x5e10fd(0x309)]||''),_0x4a8e96=this['_buildSeqKey'](_0x27a057['resource'],_0x2720d9),_0x38ab2f=this[_0x5e10fd(0x1fc)](_0x27a057[_0x5e10fd(0x249)],_0x2720d9),_0x91674e=this['_buildMetaKey'](_0x27a057['resource'],_0x2720d9);return await _0x1733c2[_0x5e10fd(0x2c5)](_0x4a8e96,_0x38ab2f,_0x91674e),logger['warn']({'event':_0x21883d[_0x5e10fd(0x260)],'resource':_0x27a057['resource'],'mode':_0x5e10fd(0x277),'formatKey':_0x2720d9},'ID\x20Generator\x20reset:\x20'+_0x27a057['resource']+':'+_0x2720d9),{'reset':!![],'resource':_0x27a057[_0x5e10fd(0x249)],'mode':_0x21883d[_0x5e10fd(0x2c4)],'formatKey':_0x2720d9,'deletedKeys':['seq',_0x21883d[_0x5e10fd(0x2cb)],_0x21883d[_0x5e10fd(0x2ed)]]};}if(_0x5eeec9==='random'){const _0x523b48=this[_0x5e10fd(0x2b6)](_0x27a057[_0x5e10fd(0x249)]);return await _0x1733c2[_0x5e10fd(0x2c5)](_0x523b48),logger['warn']({'event':'idgen_reset','resource':_0x27a057[_0x5e10fd(0x249)],'mode':_0x5e10fd(0x314)},'ID\x20Generator\x20reset:\x20random:'+_0x27a057['resource']),{'reset':!![],'resource':_0x27a057['resource'],'mode':_0x21883d['eQgob'],'deletedKeys':[_0x5e10fd(0x268)]};}throw new IdGeneratorError(_0x21883d[_0x5e10fd(0x28f)],'Unknown\x20mode:\x20'+_0x5eeec9);}}const instance=new IdGenerator();instance['IdGeneratorError']=IdGeneratorError,module[a0_0x2c40e1(0x293)]=instance,module[a0_0x2c40e1(0x293)][a0_0x2c40e1(0x30d)]=IdGeneratorError;
1
+ 'use strict';const a0_0x22768f=a0_0x6545;(function(_0x1110a3,_0xd0527d){const _0x4318ac=a0_0x6545,_0x3af313=_0x1110a3();while(!![]){try{const _0x52274e=parseInt(_0x4318ac(0x18c))/0x1*(parseInt(_0x4318ac(0x10e))/0x2)+-parseInt(_0x4318ac(0x111))/0x3+parseInt(_0x4318ac(0x1b5))/0x4*(-parseInt(_0x4318ac(0x1b8))/0x5)+parseInt(_0x4318ac(0x11a))/0x6*(-parseInt(_0x4318ac(0x1ad))/0x7)+parseInt(_0x4318ac(0x1aa))/0x8*(parseInt(_0x4318ac(0xa3))/0x9)+-parseInt(_0x4318ac(0xb3))/0xa+parseInt(_0x4318ac(0x9c))/0xb*(parseInt(_0x4318ac(0x10f))/0xc);if(_0x52274e===_0xd0527d)break;else _0x3af313['push'](_0x3af313['shift']());}catch(_0x1d61ff){_0x3af313['push'](_0x3af313['shift']());}}}(a0_0x7417,0xb9d8e));const crypto=require('crypto'),redisClient=require('./redis-client'),{logger}=require(a0_0x22768f(0x1a5)),idempotencyManager=require(a0_0x22768f(0xa0)),ALLOWED_FORMATS=new Set([a0_0x22768f(0xd2),a0_0x22768f(0xe4),'yyyymm',a0_0x22768f(0x128)]),RESOURCE_REGEX=/^[A-Za-z0-9_-]{1,64}$/,PREFIX_REGEX=/^[A-Za-z0-9_-]{0,32}$/,SEPARATOR_FORBIDDEN=/:/,MAX_NUM_DIGITS=0xc,MIN_NUM_DIGITS=0x1,MAX_PIN_DIGITS=0xc,MIN_PIN_DIGITS=0x4,MAX_PATTERN_LENGTH=0x100,MAX_TTL=0x278d00,MAX_RETRY_LIMIT=0x64,MAX_IDEMPOTENCY_KEY_LENGTH=0x80,RESERVATION_TOKEN_REGEX=/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i,MIN_RESERVE_TTL=0xa,MAX_RESERVE_TTL=0x15180,DEFAULT_RESERVE_TTL=0x258,RESERVE_REAP_BATCH=0x40,CHARSET_DIGIT=a0_0x22768f(0xb6),CHARSET_UPPER=a0_0x22768f(0xf7),CHARSET_LOWER=a0_0x22768f(0x1bc),CHARSET_LETTERS=CHARSET_UPPER+CHARSET_LOWER,CHARSET_UPPER_ALNUM=CHARSET_UPPER+CHARSET_DIGIT,CHARSET_MIXED_ALNUM=CHARSET_UPPER+CHARSET_LOWER+CHARSET_DIGIT,CHARSET_HEX_UPPER='0123456789ABCDEF',CHARSET_HEX_LOWER=a0_0x22768f(0xae),PLACEHOLDER_MAP={'9':CHARSET_DIGIT,'N':CHARSET_DIGIT,'A':CHARSET_UPPER,'a':CHARSET_LOWER,'L':CHARSET_LETTERS,'X':CHARSET_UPPER_ALNUM,'x':CHARSET_MIXED_ALNUM,'H':CHARSET_HEX_UPPER,'h':CHARSET_HEX_LOWER},LUA_GENERATE_NUMBER='\x0aif\x20ARGV[1]\x20==\x20\x271\x27\x20then\x0a\x20\x20local\x20reused\x20=\x20redis.call(\x27ZPOPMIN\x27,\x20KEYS[2],\x201)\x0a\x20\x20if\x20#reused\x20>\x200\x20then\x0a\x20\x20\x20\x20return\x20{tonumber(reused[1]),\x201}\x0a\x20\x20end\x0aend\x0alocal\x20n\x20=\x20redis.call(\x27INCR\x27,\x20KEYS[1])\x0alocal\x20ttl\x20=\x20tonumber(ARGV[2])\x0aif\x20ttl\x20>\x200\x20and\x20n\x20==\x201\x20then\x0a\x20\x20redis.call(\x27EXPIRE\x27,\x20KEYS[1],\x20ttl)\x0aend\x0areturn\x20{n,\x200}\x0a',LUA_RELEASE_NUMBER='\x0aredis.call(\x27ZADD\x27,\x20KEYS[1],\x20ARGV[1],\x20ARGV[1])\x0alocal\x20ttl\x20=\x20tonumber(ARGV[2])\x0aif\x20ttl\x20>\x200\x20then\x0a\x20\x20redis.call(\x27EXPIRE\x27,\x20KEYS[1],\x20ttl)\x0aend\x0areturn\x201\x0a',LUA_RESERVE_NUMBER='\x0alocal\x20unpk\x20=\x20unpack\x20or\x20table.unpack\x0a\x0a--\x20Step\x201:\x20lazy\x20reap\x20expired\x20reservations\x20(cap\x20RESERVE_REAP_BATCH)\x0alocal\x20reaped\x20=\x200\x0alocal\x20nowMs\x20=\x20ARGV[7]\x0alocal\x20rsvPrefix\x20=\x20ARGV[8]\x0alocal\x20expired\x20=\x20redis.call(\x27ZRANGEBYSCORE\x27,\x20KEYS[3],\x20\x27-inf\x27,\x20\x27(\x27\x20..\x20nowMs,\x20\x27LIMIT\x27,\x200,\x2064)\x0afor\x20i\x20=\x201,\x20#expired\x20do\x0a\x20\x20local\x20expToken\x20=\x20expired[i]\x0a\x20\x20local\x20expRsvKey\x20=\x20rsvPrefix\x20..\x20expToken\x0a\x20\x20local\x20expCounter\x20=\x20redis.call(\x27HGET\x27,\x20expRsvKey,\x20\x27counter\x27)\x0a\x20\x20if\x20expCounter\x20then\x0a\x20\x20\x20\x20redis.call(\x27ZADD\x27,\x20KEYS[2],\x20expCounter,\x20expCounter)\x0a\x20\x20end\x0a\x20\x20redis.call(\x27DEL\x27,\x20expRsvKey)\x0a\x20\x20redis.call(\x27ZREM\x27,\x20KEYS[3],\x20expToken)\x0a\x20\x20reaped\x20=\x20reaped\x20+\x201\x0aend\x0a\x0a--\x20Step\x202:\x20allocate\x20counter\x20(ZPOPMIN\x20reuse\x20atau\x20INCR\x20seq)\x0alocal\x20counterInt\x0alocal\x20isReused\x20=\x200\x0aif\x20ARGV[1]\x20==\x20\x271\x27\x20then\x0a\x20\x20local\x20r\x20=\x20redis.call(\x27ZPOPMIN\x27,\x20KEYS[2],\x201)\x0a\x20\x20if\x20#r\x20>\x200\x20then\x0a\x20\x20\x20\x20counterInt\x20=\x20tonumber(r[1])\x0a\x20\x20\x20\x20isReused\x20=\x201\x0a\x20\x20end\x0aend\x0aif\x20not\x20counterInt\x20then\x0a\x20\x20counterInt\x20=\x20redis.call(\x27INCR\x27,\x20KEYS[1])\x0a\x20\x20local\x20cttl\x20=\x20tonumber(ARGV[2])\x0a\x20\x20if\x20cttl\x20>\x200\x20and\x20counterInt\x20==\x201\x20then\x0a\x20\x20\x20\x20redis.call(\x27EXPIRE\x27,\x20KEYS[1],\x20cttl)\x0a\x20\x20end\x0aend\x0a\x0a--\x20Step\x203:\x20write\x20reservation\x20hash\x20+\x20index\x20+\x20TTL\x0alocal\x20rsvKey\x20=\x20ARGV[4]\x0alocal\x20rsvTtlMs\x20=\x20tonumber(ARGV[5])\x0alocal\x20expiresAtMs\x20=\x20tonumber(ARGV[6])\x0alocal\x20nargs\x20=\x20#ARGV\x0alocal\x20fields\x20=\x20{}\x0afor\x20i\x20=\x209,\x20nargs\x20do\x0a\x20\x20fields[#fields\x20+\x201]\x20=\x20ARGV[i]\x0aend\x0aredis.call(\x27HSET\x27,\x20rsvKey,\x20\x27counter\x27,\x20counterInt,\x20\x27isReused\x27,\x20isReused,\x20unpk(fields))\x0aredis.call(\x27PEXPIRE\x27,\x20rsvKey,\x20rsvTtlMs)\x0aredis.call(\x27ZADD\x27,\x20KEYS[3],\x20expiresAtMs,\x20ARGV[3])\x0aredis.call(\x27EXPIRE\x27,\x20KEYS[3],\x20math.floor(rsvTtlMs\x20/\x201000)\x20+\x2060)\x0a\x0areturn\x20{\x20counterInt,\x20isReused,\x20reaped\x20}\x0a',LUA_CONFIRM_RESERVATION='\x0aif\x20redis.call(\x27EXISTS\x27,\x20KEYS[1])\x20==\x200\x20then\x0a\x20\x20redis.call(\x27ZREM\x27,\x20KEYS[2],\x20ARGV[1])\x0a\x20\x20return\x20{\x200\x20}\x0aend\x0alocal\x20h\x20=\x20redis.call(\x27HMGET\x27,\x20KEYS[1],\x20\x27counter\x27,\x20\x27value\x27,\x20\x27formatKey\x27,\x20\x27isReused\x27,\x20\x27createdAt\x27,\x20\x27expiresAt\x27)\x0aredis.call(\x27DEL\x27,\x20KEYS[1])\x0aredis.call(\x27ZREM\x27,\x20KEYS[2],\x20ARGV[1])\x0areturn\x20{\x201,\x20h[1],\x20h[2],\x20h[3],\x20h[4],\x20h[5],\x20h[6]\x20}\x0a',LUA_CANCEL_RESERVATION=a0_0x22768f(0xda),LUA_EXTEND_RESERVATION='\x0aif\x20redis.call(\x27EXISTS\x27,\x20KEYS[1])\x20==\x200\x20then\x0a\x20\x20redis.call(\x27ZREM\x27,\x20KEYS[2],\x20ARGV[1])\x0a\x20\x20return\x20{\x200\x20}\x0aend\x0alocal\x20h\x20=\x20redis.call(\x27HMGET\x27,\x20KEYS[1],\x20\x27expiresAt\x27,\x20\x27counter\x27,\x20\x27value\x27,\x20\x27formatKey\x27,\x20\x27isReused\x27,\x20\x27createdAt\x27)\x0alocal\x20prevExpiresAt\x20=\x20h[1]\x0alocal\x20newTtlMs\x20=\x20tonumber(ARGV[2])\x0alocal\x20newExpMs\x20=\x20tonumber(ARGV[3])\x0aredis.call(\x27PEXPIRE\x27,\x20KEYS[1],\x20newTtlMs)\x0aredis.call(\x27HSET\x27,\x20KEYS[1],\x20\x27expiresAt\x27,\x20ARGV[4])\x0aredis.call(\x27ZADD\x27,\x20KEYS[2],\x20newExpMs,\x20ARGV[1])\x0aredis.call(\x27EXPIRE\x27,\x20KEYS[2],\x20math.floor(newTtlMs\x20/\x201000)\x20+\x2060)\x0areturn\x20{\x201,\x20prevExpiresAt,\x20h[2],\x20h[3],\x20h[4],\x20h[5],\x20h[6]\x20}\x0a';function a0_0x6545(_0x2c13dc,_0x3129a3){_0x2c13dc=_0x2c13dc-0x9a;const _0x741776=a0_0x7417();let _0x65455a=_0x741776[_0x2c13dc];if(a0_0x6545['OFwtSB']===undefined){var _0x4124c6=function(_0x2273f7){const _0x59576d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2f733f='',_0x250641='';for(let _0x4f8c8d=0x0,_0x5cf663,_0x166b4d,_0x5c50fc=0x0;_0x166b4d=_0x2273f7['charAt'](_0x5c50fc++);~_0x166b4d&&(_0x5cf663=_0x4f8c8d%0x4?_0x5cf663*0x40+_0x166b4d:_0x166b4d,_0x4f8c8d++%0x4)?_0x2f733f+=String['fromCharCode'](0xff&_0x5cf663>>(-0x2*_0x4f8c8d&0x6)):0x0){_0x166b4d=_0x59576d['indexOf'](_0x166b4d);}for(let _0x1b3fa5=0x0,_0x2baec4=_0x2f733f['length'];_0x1b3fa5<_0x2baec4;_0x1b3fa5++){_0x250641+='%'+('00'+_0x2f733f['charCodeAt'](_0x1b3fa5)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x250641);};a0_0x6545['dUBrpW']=_0x4124c6,a0_0x6545['liqLhz']={},a0_0x6545['OFwtSB']=!![];}const _0x4d29c1=_0x741776[0x0],_0x340db3=_0x2c13dc+_0x4d29c1,_0xfd89f=a0_0x6545['liqLhz'][_0x340db3];return!_0xfd89f?(_0x65455a=a0_0x6545['dUBrpW'](_0x65455a),a0_0x6545['liqLhz'][_0x340db3]=_0x65455a):_0x65455a=_0xfd89f,_0x65455a;}function a0_0x7417(){const _0xe3f0bd=['tLzVwgK','nJK1vhfLuMDH','CgLWzwXPBMu','zxryrfO','x2DLBMvYyxrLrNjVBvbHDhrLCM4','tNrrChm','x2vUC3vYzuLUAxrPywXPEMvK','zgvMyxvSDfnLCMLHBfbHDhrLCM4','x2j1AwXKrM9YBwf0s2v5','igv4y2vLzhmG','x3zHBgLKyxrLtNvTyMvYugfYyw1Z','lcbLEhbLy3rLzca','yKjdyui','x2j1AwXKswrLBuTLEq','x3jLDhjPzxzLswrLBunHy2HL','vw5RBM93BIbTB2rLoIa','x3rLEhq','C3bSAxq','C2vWyxjHDg9Y','x3zHBgLKyxrLuMvZzxj2zvruta','rgLQsMS','ugDQAue','rhHjwKW','tgn2qxK','zM9YBwf0','CNn2s2v5','lI9SB2DNzxi','EMnHCMq','Bwv0ytO','C3jLBq','sw52ywXPzcbMB3jTyxq6ia','mtK0mdb4ALn5teu','qMPZr1K','x3zHBgLKyxrLuMvZB3vYy2u','ndyYodeZnhHYsxDiCa','y29UC3vTzq','surhru5Fsu5wquXjrf9srvnfuLzfx1ruta','rNnwBMi','x3zHBgLKyxrLvfrm','zwD4vuG','surhru5FuKvtrvjwrv9nqvHFvfrm','CgfYC2u','nJu5nta4B2HhtwHQ','AwrNzw5FBNvTyMvYx2LKzw1FBg9Zzxi','uwHNshO','ndvbywLlEgS','DhvSzgG','tNvTyMvYigrVzxmGBM90ig1HDgnOigv4CgvJDgvKigzVCM1HDcaOz290oIa','uhfvANq','ywjJzgvMz2HPAMTSBw5VChfYC3r1DND4ExO','tND6AM0','DhrS','CMvZzxj2zv9JB25MAxjT','surhru5Fsu5wquXjrf9trvbbuKfut1i','surhru5Frevgqvvmvf9dt0rfx1bbvfrfuK4','sMDRy3G','ndqXmuHWqxLzwG','CMvZB3vYy2u','seLADMC','x3zHBgLKyxrLswrLBxbVDgvUy3LlzxK','lI9PzgvTCg90zw5JEs1Tyw5Hz2vY','x2j1AwXKuMvZzxj2yxrPB25lzxLqCMvMAxG','rgPbuhu','nZy1Exnmwwvd','icHNB3q6ia','sw52ywXPzcbTyxHszxrYEtOGBxvZDcbIzsbPBNrLz2vYideT','AxnZDwvK','DxvIrem','uMvZzxqGB3bLCMf0Aw9Uig5VDcbHBgXVD2vKicHZzxqGsurhru5FquXmt1DFuKvtrvq9Dhj1zsb0BYbLBMfIBguP','svfjAhy','DMznvge','x3zHBgLKyxrLtwf4uMv0CNK','surhru5FquXmt1DFuKvtrvq','zM9YBwf0s2v5igLZihjLCxvPCMvKigLUigXVDY1SzxzLBcbYzwXLyxnL','mdeYmZq1nJC4owfIy2rLzG','z2v0rgf0zq','sNf6vMe','AM5esfq','DgvZDa','ndy0otu2meDLAe9LCG','CuvsC20','tgfNEhe','mdeYmZq1nJC4oq','AwrNzw4','rLfMrxa','x3vWzgf0zu1LDge','v2zwCKy','AwrNzw5FBNvTyMvYx2DLBMvYyxrLza','surhru5Fsu5wquXjrf9nt0rf','r1nvruW','BfPpu00','wMffz2G','CMvSzwfZzq','AwrNzw5Fy29UC3vTzwq','AwrNzw5FAwrLBv9UEf9YywnLx2XVC3rFyNv0x2vTChr5','BhLIwwS','u09OELu','x2fSBg93uMvZzxq','x3jLC2vYDMvnyxHuveW','y3jLyxrLzef0','zxHWAxjL','zgvMyxvSDenVzgvqyxr0zxjU','surhru5FuKvtrvjwqvrjt05FtK9ux0zpvu5e','Cgf0DgvYBG','surhru5Fsu5wquXjrf9srvnpvvjdrq','ywXS','sw52ywXPzcbKAwDPDhm6ig11C3qGyMuGAw50zwDLCIa','zw5ZDxjLvw5PCxvL','shjryuS','q3zpqNi','Dgv4Da','wM5XDM8','x2nVDw50zxjuveXnyxa','CMvSzwfZzu51BwjLCG','BM93','tNvTyMvYigrVzxmGBM90ig1HDgnOigv4CgvJDgvKigzVCM1HDcbWCMvMAxG','suqGr2vUzxjHDg9YihjLC2vYDMuGAwrLBsbYywnLigXVC3qSihjLDhvYBMLUzYb3Aw5UzxiGzw52zwXVCgu','Aw1jt3O','cMLMihjLzgLZlMnHBgWOj0vysvnuuYCSieTfwvnBmv0Pid09idaGDgHLBGOGihjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqOGihjLDhvYBIb7idaGFqPLBMqkBg9JywWGAca9ihjLzgLZlMnHBgWOj0Hnr0vujYWGs0vzu1SXxsWGj2nVDw50zxiNlcaNDMfSDwuNlcaNzM9YBwf0s2v5jYKkBg9JywWGy291BNrLCIa9igHBmv0kAwyGy291BNrLCIb0AgvUcIaGCMvKAxmUy2fSBcGNwKfercCSieTfwvnBm10SignVDw50zxiSignVDw50zxiPcIaGBg9JywWGDhrSid0GDg9UDw1IzxiOqvjhvLSYxsKkicbPzIb0DgWGpIaWihrOzw4kicaGihjLzgLZlMnHBgWOj0vyueLsrsCSieTfwvnBm10Sihr0BcKkicbLBMqkzw5KcNjLzgLZlMnHBgWOj0rftcCSieTfwvnBmv0PcNjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqPYzxr1CM4GEYaXlcbJB3vUDgvYlcbOwZjDlcbOwZnDih0k','y29UzMLYBvjLC2vYDMf0Aw9U','zvHqBhi','x3L5ExLF','q291BgqGBM90igDLBMvYyxrLihvUAxf1zsb2ywX1zsbHzNrLCIa','Ew1nEKS','zxHLyW','wuPcBve','txzAzKW','surhru5FuKvtrvjwrv9eruzbvuXux1ruta','ExL5Eq','rMfPBgvKihrVignVBxbLBNnHDguGCMvZzxj2yxrPB24Gywz0zxiGy291BNrLCIbVDMvYzMXVDW','AwrNzw5FCMfUzg9Tx2LKzw1FBg9Zzxi','x2j1AwXKsxnZDwvKs2v5','sw52ywXPzcb0DgW6ig11C3qGyMuGAw50zwDLCIaXlq','surhru5Fsu5wquXjrf9qqvrurvjo','r3nJAMq','AwrNzw5FCMvZzxq','zM9YBwf0s2v5','AwrLBxbVDgvUy3LlzxK','BNvTrgLNAxrZ','vNnezLO','zgf0zvbYzwzPEa','AwrNzw5FAwrLBv9ZDg9Yzw54x2vYCM9Y','x2j1AwXKuMvZzxj2yxrPB25jBMrLEeTLEq','x2TLEvbYzwzPEa','zw5HyMXLza','zw50CMLLCW','sw52ywXPzcbWyxr0zxjUoIbTDxn0igjLihn0CMLUzYaXlq','qujdrevgr0HjsKTmtu5puffsu1rvvLDywvO','A2v5CW','s2zerfa','surhru5Fsu5wquXjrf9ovu1crvi','zLjWy0u','AxnszxvZzwq','CMvZzxj2zu1HEfruta','surhru5Fsu5wquXjrf9uveW','x2rLzMf1BhrnyxHszxrYEq','surhru5FuKvtrvrFtK9ux0fmte9xruq','sw52ywXPzcbYzxnVDxjJztOGBxvZDcbTyxrJAca','suqGr2vUzxjHDg9YihjHBMrVBtOG','D2fYBG','igrPz2L0CYaOz290oIa','BgvUz3rO','sw52ywXPzcbPzgvTCg90zw5JEuTLEtOGBxvZDcbIzsbZDhjPBMCGms0','De9YDxy','AeHNvwK','rMfPBgvKihrVignHBMnLBcbYzxnLCNzHDgLVBIbMB3iGAwrLBxbVDgvUy3KGBg9Zzxi','q291BNrLCIbVDMvYzMXVDZOG','z2v0tw9UDgG','CMvZzxj2zurLzMf1BhruveW','DMzyuhq','mJi1mgTtt1vABa','mtaWmJq4q0LSsKvg','vxL5zeu','mJKWmdeZowzmq2DMDa','suqGr2vUzxjHDg9Yig51BwjLCIbPzgvTihjHy2uGBg9ZDcWGCMv0DxjUAw5NihDPBM5LCIbLBNzLBg9Wzq','AgfZ','zxHWB3j0CW','thrdtg8','tNvTyMvYigrHDgvqCMvMAxGGAw52ywXPzcbMB3iGzM9YBwf0ia','x2DLDfjLC2vYDMf0Aw9Uq29UDgv4Da','qMTJqMW','D1PLsfe','nLjsB0vuyW','swzNz0K','x2rLzMf1BhrtzxjPywXqyxr0zxjU','suqGr2vUzxjHDg9Yig51BwjLCIbYzxnLCNzLzdOG','s3n4rLO','x2j1AwXKqwn0AxzLs2v5','suqGr2vUzxjHDg9YihjLC2vYDMf0Aw9Uigv4DgvUzgvKoIa','BwfW','Dg9Rzw4','z2v0sw5MBW','AxnjBNrLz2vY','z2vUzxjHDgvKqxq','Bw9Kzq','qufWshu','ExL5Ew1Tzgq','surhru5FreLtqujmruq','tLnIrw0','surhru5Fsu5wquXjrf9ut0TftG','ELvXr0K','C2v0','AwrNzw5FBwv0yv91CgrHDgvFzxjYB3i','AgDLDgfSBa','y29Kzq','ENj6BK8','CNn2oG','zw52','AM9PBG','y291BNrLCG','BwvZC2fNzq','surhru5Frevgqvvmvf9qsu5FreLhsvrt','y3vKqxu','C3rYAw5NAwz5','surhru5Fq09vtLrfuL9pvKvsrKXpvW','x2j1AwXKuMv1C2vlzxK','CgvLAW','ihnLy29UzhmGkgDVDdOG','x2rLzMf1BhrdB2rLugf0DgvYBG','surhru5Fq09vtLrfuL9uveXFtu9oveHmwq','x3n0B3jLswrLBunHy2HLtLG','CMvZzxj2zq','ywXSB3DszxnLDa','Aw5MBW','AwrNzw5FBNvTyMvYx3jLC2vYDMvK','EwHiqvK','BNvTyMvY','x3bHCNnLtNvTyMvY','tNvTyMvYihbYzwzPEcbTAxnTyxrJAdOGzxHWzwn0zwqG','AwrNzw5FCMvZzxj2yxrPB25FzxH0zw5Kzwq','CNn2swr4s2v5','AwrLBvruta','DMfSDwu','x2LUAxrdB25MAwC','qLrpEKO','x2rLzMf1BhrqAw5eAwDPDhm','v2jirgS','CMy6AwrNzw46','ChvZAa','wgDpque','surhru5Frevgqvvmvf9nqvHFuKvuuLK','zez1D2u','x3jLC2vYDMvezwzHDwX0vfrm','CMfUzg9T','suqGr2vUzxjHDg9YigLZigrPC2fIBgvK','surhru5Fsu5wquXjrf9gt1jnqvq','rMHer2K','x2LKzw1uveW','zgvS','sw52ywXPzcbYzxnLCNzHDgLVBIb0B2TLBJOGBxvZDcbIzsbHihzHBgLKifvvsuqGzM9YBwf0icHNB3q6ia','zxzHBa','vvP0q3O','x2LUAxrPywXPEMvK','x3n0B3jLswrLBunHy2HL','AwrNzw5FCMfUzg9Tx2DLBMvYyxrLza','sw52ywXPzcbMB3jTyxq6ig11C3qGyMuGB25Lig9Mia','ks4Gsw5JCMvHC2uGBNvTrgLNAxrZlG','BNPHvKK','swrLBxbVDgvUy3KGCMv0CMLLDMuGzxjYB3i','tMLhC1K','x2vUywjSzwq','ChjLzML4','CeXXsgu','Ce9UquS','x2j1AwXKuMvZzxj2yxrPB25lzxK','zgvMyxvSDfbPBKrPz2L0CW','Bwf4uMv0CNK','AwrNzw5FBNvTyMvYx3jLBgvHC2vK','y291BNrLCKLUDa','C2fKza','Dg9ju09tDhjPBMC','surhru5Fru5bqKXfra','x2DLDenVDw50zxjuveW','lwrPz2L0ignHCgfJAxr5icG','otK5os05otK5','C3rYAw5N','x2j1AwXKu2vXs2v5','DeXruvq','z2v0uMvZzxj2yxrPB24','suqGr2vUzxjHDg9YihjLC2v0oIbYyw5KB206','CNfTwhO','Dhj1zq','CNn2x2LKEdO','swrLBxbVDgvUy3KGy2fJAguGseLu','EfrOsNG','uMvZzxj2yxrPB24GBM90igzVDw5Kig9YigfSCMvHzhKGy29UC3vTzwq6ia','AwrNzw5FAwrLBv9ZDg9Yzv9LCNjVCG','q3Dtqwm','x3zHBgLKyxrLuMvZzxj2yxrPB25uB2TLBG','zxHWAxjLC0f0','Bwf0y2G','A2v5uhjLzML4','CKPSzgy','z2v0q2XPzw50','EhvfuNa'];a0_0x7417=function(){return _0xe3f0bd;};return a0_0x7417();}class IdGeneratorError extends Error{constructor(_0x30028f,_0x3b9aa5,_0x3a89ee=null){const _0x8e0388=a0_0x22768f,_0xaa985={'JqzVa':function(_0xd860a8,_0x5139b6){return _0xd860a8||_0x5139b6;}};super(_0xaa985[_0x8e0388(0xb0)](_0x3b9aa5,_0x30028f)),this['name']='IdGeneratorError',this[_0x8e0388(0x130)]=_0x30028f,this['details']=_0x3a89ee;}}class IdGenerator{constructor(){const _0x1f4e01=a0_0x22768f;this['_initialized']=![],this[_0x1f4e01(0x168)]=null,this[_0x1f4e01(0xf3)]=null,this[_0x1f4e01(0x15b)]=null,this['_allowReset']=null,this[_0x1f4e01(0xff)]=null,this[_0x1f4e01(0x14f)]=null,this['_defaultSerialPattern']=null,this[_0x1f4e01(0x13e)]=null,this[_0x1f4e01(0xd4)]=null,this['_reserveDefaultTTL']=null,this[_0x1f4e01(0xc6)]=null;}[a0_0x22768f(0x14d)](){const _0x47c840=a0_0x22768f,_0xd39ad1={'iPmiI':_0x47c840(0x151),'eStWa':'true','DjAPu':function(_0x4ebf02,_0x261c15){return _0x4ebf02===_0x261c15;},'uubDC':function(_0x213083,_0xef2dec,_0x1f5aa1){return _0x213083(_0xef2dec,_0x1f5aa1);},'NVoXi':function(_0x392b2c,_0x5b9c74,_0x57e9c3){return _0x392b2c(_0x5b9c74,_0x57e9c3);}};this['_keyPrefix']=_0xd39ad1['iPmiI'],this['_enabled']=process[_0x47c840(0x133)][_0x47c840(0x173)]===_0xd39ad1['eStWa'],this[_0x47c840(0x15b)]=parseInt(process[_0x47c840(0x133)]['IDGEN_IDEM_TTL'],0xa)||0x258,this['_allowReset']=_0xd39ad1[_0x47c840(0xa2)](process['env'][_0x47c840(0xac)],_0x47c840(0x17d)),this[_0x47c840(0xff)]=parseInt(process[_0x47c840(0x133)][_0x47c840(0x154)],0xa)||0xa,this[_0x47c840(0x14f)]=parseInt(process[_0x47c840(0x133)][_0x47c840(0x137)],0xa)||0x6,this['_defaultSerialPattern']=process['env']['IDGEN_DEFAULT_SERIAL_PATTERN']||'XXXX-XXXX-XXXX-XXXX',this[_0x47c840(0x13e)]=process[_0x47c840(0x133)][_0x47c840(0x9a)]||_0x47c840(0x176),this['_counterTTLMap']={'yyyymm':_0xd39ad1[_0x47c840(0xa7)](parseInt,process['env'][_0x47c840(0x13f)],0xa)||0x2a3000,'yyyymmdd':parseInt(process['env']['IDGEN_COUNTER_TTL_DAILY'],0xa)||0x2a300},this[_0x47c840(0x156)]=parseInt(process[_0x47c840(0x133)][_0x47c840(0xe3)],0xa)||DEFAULT_RESERVE_TTL,this[_0x47c840(0xc6)]=_0xd39ad1[_0x47c840(0x18b)](parseInt,process['env'][_0x47c840(0x1b3)],0xa)||MAX_RESERVE_TTL,this['_initialized']=!![],logger[_0x47c840(0x143)]({'event':'idgen_config_init','enabled':this[_0x47c840(0x168)],'idemTTL':this[_0x47c840(0x15b)],'allowReset':this[_0x47c840(0xc5)],'defaultMaxRetry':this['_defaultMaxRetry'],'defaultPinDigits':this[_0x47c840(0x14f)],'reserveDefaultTTL':this['_reserveDefaultTTL'],'reserveMaxTTL':this[_0x47c840(0xc6)]},'ID\x20Generator\x20config\x20initialized\x20-\x20enabled:\x20'+this['_enabled']);}[a0_0x22768f(0x191)](){const _0x1abbfc=a0_0x22768f;if(!this[_0x1abbfc(0x160)])this['_initConfig']();}get[a0_0x22768f(0xf4)](){const _0x23de51=a0_0x22768f;return this[_0x23de51(0x191)](),this[_0x23de51(0x168)];}get['keyPrefix'](){return this['_ensureInitialized'](),this['_keyPrefix'];}get[a0_0x22768f(0x14b)](){return this['_ensureInitialized'](),this['_idemTTL'];}get[a0_0x22768f(0x142)](){const _0x45652a=a0_0x22768f;return this['_ensureInitialized'](),this[_0x45652a(0xc5)];}get['defaultMaxRetry'](){const _0xa49e4f=a0_0x22768f;return this[_0xa49e4f(0x191)](),this['_defaultMaxRetry'];}get['defaultPinDigits'](){const _0x72beae=a0_0x22768f;return this['_ensureInitialized'](),this[_0x72beae(0x14f)];}get[a0_0x22768f(0x192)](){const _0x45c318=a0_0x22768f;return this[_0x45c318(0x191)](),this[_0x45c318(0x11c)];}get[a0_0x22768f(0xc9)](){return this['_ensureInitialized'](),this['_defaultCodePattern'];}get['reserveDefaultTTL'](){const _0x6311ec=a0_0x22768f;return this[_0x6311ec(0x191)](),this[_0x6311ec(0x156)];}get['reserveMaxTTL'](){const _0x25dfe0=a0_0x22768f;return this[_0x25dfe0(0x191)](),this['_reserveMaxTTL'];}['isEnabled'](){const _0x233d4f=a0_0x22768f;return this[_0x233d4f(0xf4)];}[a0_0x22768f(0x1ac)](_0x5acea8){const _0xe538e6=a0_0x22768f,_0x507b3c={'tLQQT':function(_0x4ae3a3,_0x9ee6d){return _0x4ae3a3!==_0x9ee6d;},'UEkuu':_0xe538e6(0x177),'xTUGc':_0xe538e6(0xcc)};if(_0x507b3c[_0xe538e6(0x179)](typeof _0x5acea8,_0x507b3c['UEkuu'])||!RESOURCE_REGEX['test'](_0x5acea8))throw new IdGeneratorError(_0x507b3c['xTUGc'],_0xe538e6(0x101)+RESOURCE_REGEX+'\x20(got:\x20'+JSON['stringify'](_0x5acea8)+')');}[a0_0x22768f(0x195)](_0x10b6db){const _0x251241=a0_0x22768f,_0x461d09={'egxUH':function(_0x45775b,_0x45e1a2){return _0x45775b===_0x45e1a2;},'jnDHT':function(_0x491b95,_0x2486da){return _0x491b95<_0x2486da;},'bBCaB':function(_0x4edeab,_0x2344cf){return _0x4edeab==_0x2344cf;},'FsVnb':_0x251241(0x177),'EjDVr':'IDGEN_INVALID_PREFIX','rqmXz':function(_0x48a4f1,_0x5f3567){return _0x48a4f1!=_0x5f3567;},'bIftl':function(_0x2489bd,_0x14c449){return _0x2489bd!==_0x14c449;},'WbHDk':'boolean'},{resource:_0x51f055,format:_0x5ce934,prefix:_0x33cc2b,separator:_0x515912,numDigits:_0x275c88,reuseDelete:_0x44d652}=_0x10b6db;this['_validateResource'](_0x51f055);const _0x4f3f7e=_0x461d09[_0x251241(0x1b2)](typeof _0x5ce934,_0x251241(0x177))?_0x5ce934['toLowerCase']():'';if(!ALLOWED_FORMATS['has'](_0x4f3f7e))throw new IdGeneratorError(_0x251241(0x159),_0x251241(0x163)+[...ALLOWED_FORMATS][_0x251241(0x134)](',\x20')+'\x20(got:\x20'+_0x5ce934+')');if(!Number['isInteger'](_0x275c88)||_0x461d09[_0x251241(0xb1)](_0x275c88,MIN_NUM_DIGITS)||_0x275c88>MAX_NUM_DIGITS)throw new IdGeneratorError('IDGEN_INVALID_NUM_DIGITS','Invalid\x20numDigits:\x20must\x20be\x20integer\x20'+MIN_NUM_DIGITS+'-'+MAX_NUM_DIGITS+_0x251241(0xa4)+_0x275c88+')');const _0x849308=_0x461d09[_0x251241(0x197)](_0x33cc2b,null)?'':_0x33cc2b;if(typeof _0x849308!==_0x461d09['FsVnb']||!PREFIX_REGEX[_0x251241(0xb2)](_0x849308))throw new IdGeneratorError(_0x461d09['EjDVr'],'Invalid\x20prefix:\x20must\x20match\x20'+PREFIX_REGEX+_0x251241(0xa4)+JSON['stringify'](_0x33cc2b)+')');const _0x237802=_0x515912==null?'':_0x515912;if(typeof _0x237802!==_0x461d09[_0x251241(0x1b0)]||_0x237802['length']>0x3||SEPARATOR_FORBIDDEN[_0x251241(0xb2)](_0x237802))throw new IdGeneratorError(_0x251241(0x1c0),'Invalid\x20separator:\x20max\x203\x20char,\x20must\x20not\x20contain\x20\x27:\x27\x20(got:\x20'+JSON[_0x251241(0x139)](_0x515912)+')');if(_0x461d09[_0x251241(0x17c)](_0x44d652,null)&&_0x461d09['bIftl'](typeof _0x44d652,_0x461d09[_0x251241(0x150)]))throw new IdGeneratorError('IDGEN_INVALID_RESOURCE','Invalid\x20reuseDelete:\x20must\x20be\x20boolean\x20(got:\x20'+typeof _0x44d652+')');return{'resource':_0x51f055,'format':_0x4f3f7e,'prefix':_0x849308,'separator':_0x237802,'numDigits':_0x275c88,'reuseDelete':_0x44d652===!![]};}['_validatePattern'](_0x120060){const _0x199bd3=a0_0x22768f,_0x5be3a3={'GkyWv':function(_0x396c81,_0x3a3104){return _0x396c81!==_0x3a3104;}};if(_0x5be3a3['GkyWv'](typeof _0x120060,'string')||_0x120060['length']===0x0||_0x120060['length']>MAX_PATTERN_LENGTH)throw new IdGeneratorError('IDGEN_INVALID_PATTERN',_0x199bd3(0xf6)+MAX_PATTERN_LENGTH+'\x20chars\x20(got\x20length:\x20'+(_0x120060&&_0x120060[_0x199bd3(0x105)])+')');let _0x3e8665=![];for(const _0x62f265 of _0x120060){if(PLACEHOLDER_MAP[_0x62f265]){_0x3e8665=!![];break;}}if(!_0x3e8665)throw new IdGeneratorError(_0x199bd3(0xe9),'Invalid\x20pattern:\x20must\x20contain\x20at\x20least\x20one\x20placeholder\x20character\x20(9/N/A/a/L/X/x/H/h)');}['_validateTTL'](_0x6562c5){const _0x1dde1d=a0_0x22768f,_0x313719={'etXDZ':function(_0x4f4cd0,_0x5f4183){return _0x4f4cd0==_0x5f4183;},'osXEJ':function(_0x456565,_0x4d52b7){return _0x456565>_0x4d52b7;}};if(_0x313719[_0x1dde1d(0x18e)](_0x6562c5,null))return undefined;if(!Number[_0x1dde1d(0x124)](_0x6562c5)||_0x6562c5<0x1||_0x313719['osXEJ'](_0x6562c5,MAX_TTL))throw new IdGeneratorError(_0x1dde1d(0xfe),_0x1dde1d(0xe8)+MAX_TTL+_0x1dde1d(0x13d)+_0x6562c5+')');return _0x6562c5;}[a0_0x22768f(0xab)](_0x9d5b95){const _0x32fb59=a0_0x22768f,_0x322f6c={'lZOSM':function(_0x1f28e0,_0x2945ca){return _0x1f28e0==_0x2945ca;},'rRGdf':function(_0x170d7b,_0x4a2a38){return _0x170d7b<_0x4a2a38;},'SIZwu':function(_0x52b9c9,_0x4ee5d1){return _0x52b9c9>_0x4ee5d1;}};if(_0x322f6c[_0x32fb59(0xbe)](_0x9d5b95,null))return this['defaultMaxRetry'];if(!Number['isInteger'](_0x9d5b95)||_0x322f6c['rRGdf'](_0x9d5b95,0x1)||_0x322f6c['SIZwu'](_0x9d5b95,MAX_RETRY_LIMIT))throw new IdGeneratorError('IDGEN_INVALID_MAX_RETRY',_0x32fb59(0xa5)+MAX_RETRY_LIMIT+'\x20(got:\x20'+_0x9d5b95+')');return _0x9d5b95;}['_validateIdempotencyKey'](_0x6fa751){const _0x15708a=a0_0x22768f,_0x56663a={'dFuwe':function(_0x5c54ff,_0xb0e2cf){return _0x5c54ff!==_0xb0e2cf;},'HeFEh':'IDGEN_INVALID_RESOURCE'};if(_0x6fa751==null)return undefined;if(_0x56663a[_0x15708a(0x155)](typeof _0x6fa751,'string')||_0x6fa751[_0x15708a(0x105)]===0x0||_0x6fa751[_0x15708a(0x105)]>MAX_IDEMPOTENCY_KEY_LENGTH)throw new IdGeneratorError(_0x56663a['HeFEh'],_0x15708a(0x106)+MAX_IDEMPOTENCY_KEY_LENGTH+'\x20chars');return _0x6fa751;}['_validateReserveTTL'](_0x3f3ed5){const _0x3c4fae=a0_0x22768f,_0x255ef1={'TOkZE':function(_0x57d6c2,_0x5b6c21){return _0x57d6c2<_0x5b6c21;}};if(_0x3f3ed5==null)return this[_0x3c4fae(0x10c)];if(!Number['isInteger'](_0x3f3ed5)||_0x255ef1['TOkZE'](_0x3f3ed5,MIN_RESERVE_TTL)||_0x3f3ed5>this[_0x3c4fae(0xfd)])throw new IdGeneratorError(_0x3c4fae(0x1af),'Invalid\x20reservation\x20ttl:\x20must\x20be\x20integer\x20'+MIN_RESERVE_TTL+'-'+this['reserveMaxTTL']+_0x3c4fae(0x13d)+_0x3f3ed5+')');return _0x3f3ed5;}[a0_0x22768f(0x184)](_0x45fca3){const _0x5351cd=a0_0x22768f,_0x226bd6={'RaHFx':'string'};if(typeof _0x45fca3!==_0x226bd6['RaHFx']||!RESERVATION_TOKEN_REGEX[_0x5351cd(0xb2)](_0x45fca3))throw new IdGeneratorError(_0x5351cd(0x12b),_0x5351cd(0x15d)+JSON[_0x5351cd(0x139)](_0x45fca3)+')');return _0x45fca3;}['_pad2'](_0x2e3b38){return String(_0x2e3b38)['padStart'](0x2,'0');}['_buildFormatKey'](_0x45188a,_0x24483a,_0x28863d=new Date()){const _0x42cc25=a0_0x22768f,_0x310ac5={'nzaVI':function(_0x341877,_0x48bbb5){return _0x341877||_0x48bbb5;},'ZcpMf':_0x42cc25(0xd2),'PqUjt':_0x42cc25(0xe4),'MvZfL':'yyyymm','DijJk':_0x42cc25(0x128)},_0x1e14d0=_0x28863d['getFullYear'](),_0x898735=this['_pad2'](_0x28863d[_0x42cc25(0x10b)]()+0x1),_0x552394=this['_pad2'](_0x28863d[_0x42cc25(0xaf)]()),_0x90e95e=_0x310ac5[_0x42cc25(0x165)](_0x24483a,'_');let _0xdab689,_0x2752f5='';switch(_0x45188a){case _0x310ac5['ZcpMf']:_0xdab689=_0x90e95e+_0x42cc25(0x19b);break;case _0x310ac5[_0x42cc25(0x1bb)]:_0x2752f5=''+_0x1e14d0,_0xdab689=_0x90e95e+_0x42cc25(0xdd)+_0x2752f5;break;case _0x310ac5[_0x42cc25(0xe2)]:_0x2752f5=''+_0x1e14d0+_0x898735,_0xdab689=_0x90e95e+'_yyyymm_'+_0x2752f5;break;case _0x310ac5[_0x42cc25(0x19f)]:_0x2752f5=''+_0x1e14d0+_0x898735+_0x552394,_0xdab689=_0x90e95e+'_yyyymmdd_'+_0x2752f5;break;default:throw new IdGeneratorError(_0x42cc25(0x159),'Unknown\x20format:\x20'+_0x45188a);}return{'formatKey':_0xdab689,'datePrefix':_0x2752f5};}[a0_0x22768f(0x178)](_0x388bbc,_0x39c02a){return this['keyPrefix']+'seq:'+_0x388bbc+':'+_0x39c02a;}[a0_0x22768f(0x13b)](_0x1e35cd,_0x17df0c){return this['keyPrefix']+'reuse:'+_0x1e35cd+':'+_0x17df0c;}['_buildMetaKey'](_0x5900c9,_0x386b61){const _0x1b738d=a0_0x22768f;return this['keyPrefix']+_0x1b738d(0x1a7)+_0x5900c9+':'+_0x386b61;}['_buildIssuedKey'](_0x2cdefc){const _0x420790=a0_0x22768f;return this[_0x420790(0x187)]+'issued:'+_0x2cdefc;}['_buildActiveKey'](_0x1c017b,_0xbac6e2){const _0x1a40e9=a0_0x22768f;return this[_0x1a40e9(0x187)]+'active:'+_0x1c017b+':'+_0xbac6e2;}['_buildReservationKey'](_0x3fc369){const _0x2b0dc4=a0_0x22768f;return this['keyPrefix']+_0x2b0dc4(0x132)+_0x3fc369;}['_buildReservationIndexKey'](_0x3cd061,_0x1446fc){const _0x4c0910=a0_0x22768f;return this[_0x4c0910(0x187)]+_0x4c0910(0x17e)+_0x3cd061+':'+_0x1446fc;}['_buildReservationKeyPrefix'](){const _0x3a6368=a0_0x22768f;return this['keyPrefix']+_0x3a6368(0x132);}['_buildIdemKey'](_0x5b7179,_0x1c94ac,_0x161cd0,_0x295fbd){const _0x5e0afe=a0_0x22768f,_0x323f1b={'hGkIw':'idgen'};if(_0x161cd0)return idempotencyManager['buildDeterministicKey'](_0x5e0afe(0xb7),_0x5b7179,_0x1c94ac+':'+_0x161cd0+':'+_0x295fbd);return idempotencyManager['buildDeterministicKey'](_0x323f1b['hGkIw'],_0x5b7179,_0x1c94ac+':'+_0x295fbd);}['_getCounterTTL'](_0x561bf3){const _0x3a331e=a0_0x22768f;return this[_0x3a331e(0xd4)][_0x561bf3]||0x0;}['_formatNumber']({format:_0x35612f,prefix:_0x25bcd6,datePrefix:_0x542338,separator:_0x5e3f98,numDigits:_0x5a0cbc,counterInt:_0x5a304f}){const _0x436c43=a0_0x22768f,_0x2741ca={'fpqAq':function(_0x386564,_0x1234a7){return _0x386564-_0x1234a7;},'HSegz':function(_0x1052d0,_0x19fda4){return _0x1052d0>_0x19fda4;},'DxIZL':function(_0x12364a,_0x202bed){return _0x12364a(_0x202bed);},'wlFKA':'text'},_0x1650b2=_0x2741ca['fpqAq'](Math['pow'](0xa,_0x5a0cbc),0x1);if(_0x2741ca['HSegz'](_0x5a304f,_0x1650b2))throw new IdGeneratorError(_0x436c43(0x13a),_0x436c43(0x10a)+_0x5a304f+_0x436c43(0x194)+_0x5a0cbc+_0x436c43(0x175)+_0x1650b2+_0x436c43(0x164),{'counterInt':_0x5a304f,'numDigits':_0x5a0cbc,'max':_0x1650b2});const _0x2b85af=_0x2741ca[_0x436c43(0x1a1)](String,_0x5a304f)['padStart'](_0x5a0cbc,'0');if(_0x35612f===_0x2741ca['wlFKA'])return _0x25bcd6?''+_0x25bcd6+_0x5e3f98+_0x2b85af:_0x2b85af;return _0x25bcd6?''+_0x25bcd6+_0x5e3f98+_0x542338+_0x5e3f98+_0x2b85af:''+_0x542338+_0x5e3f98+_0x2b85af;}['_parseNumber']({format:_0x5c4d02,prefix:_0x596323,separator:_0x3ca251,numDigits:_0x4eeb3b,number:_0x50bea5}){const _0x18acdc=a0_0x22768f,_0x282680={'UZtCz':function(_0x5c8c50,_0x32a445){return _0x5c8c50!==_0x32a445;},'VsDfZ':function(_0xb9f1e2,_0x1e75d8){return _0xb9f1e2===_0x1e75d8;},'tXJCt':function(_0x5e22c4,_0x1c9105){return _0x5e22c4===_0x1c9105;},'JZbty':'text','APgvj':function(_0x59c89c,_0x4a4dff){return _0x59c89c!==_0x4a4dff;},'BkcBl':_0x18acdc(0xfa),'tOruv':'yyyymm'};if(_0x282680[_0x18acdc(0x15f)](typeof _0x50bea5,_0x18acdc(0x177))||_0x282680[_0x18acdc(0xef)](_0x50bea5[_0x18acdc(0x105)],0x0))throw new IdGeneratorError('IDGEN_INVALID_NUMBER','Invalid\x20number:\x20must\x20be\x20non-empty\x20string');const _0x28f80c=_0x3ca251||'',_0x3615ea=_0x282680['tXJCt'](_0x28f80c,'')?[_0x50bea5]:_0x50bea5[_0x18acdc(0x19c)](_0x28f80c);let _0x8b1b93='',_0x2158d9;if(_0x282680[_0x18acdc(0xef)](_0x5c4d02,_0x282680['JZbty'])){if(_0x596323){if(_0x282680['APgvj'](_0x3615ea[_0x18acdc(0x105)],0x2)||_0x3615ea[0x0]!==_0x596323)throw new IdGeneratorError('IDGEN_INVALID_NUMBER',_0x18acdc(0xd7)+_0x28f80c+'padded\x20(got:\x20'+_0x50bea5+')');_0x2158d9=_0x3615ea[0x1];}else{if(_0x3615ea[_0x18acdc(0x105)]!==0x1)throw new IdGeneratorError('IDGEN_INVALID_NUMBER','Number\x20does\x20not\x20match\x20expected\x20text\x20format\x20(got:\x20'+_0x50bea5+')');_0x2158d9=_0x3615ea[0x0];}}else{const _0x7aad84=_0x596323?0x3:0x2;if(_0x3615ea[_0x18acdc(0x105)]!==_0x7aad84)throw new IdGeneratorError(_0x282680[_0x18acdc(0x118)],_0x18acdc(0x1ba)+_0x50bea5+_0x18acdc(0x196)+_0x7aad84+'\x20parts)');let _0x10e1dd=0x0;if(_0x596323){if(_0x3615ea[_0x10e1dd]!==_0x596323)throw new IdGeneratorError(_0x18acdc(0xfa),_0x18acdc(0x148)+_0x596323+',\x20got\x20'+_0x3615ea[_0x10e1dd]);_0x10e1dd++;}_0x8b1b93=_0x3615ea[_0x10e1dd++];const _0x49190d=_0x5c4d02==='yyyy'?/^\d{4}$/:_0x5c4d02===_0x282680[_0x18acdc(0x107)]?/^\d{6}$/:/^\d{8}$/;if(!_0x49190d[_0x18acdc(0xb2)](_0x8b1b93))throw new IdGeneratorError(_0x18acdc(0xfa),_0x18acdc(0x116)+_0x5c4d02+':\x20'+_0x8b1b93);_0x2158d9=_0x3615ea[_0x10e1dd];}if(!new RegExp('^\x5cd{'+_0x4eeb3b+'}$')[_0x18acdc(0xb2)](_0x2158d9))throw new IdGeneratorError('IDGEN_INVALID_NUMBER','Number\x20counter\x20part\x20must\x20be\x20exactly\x20'+_0x4eeb3b+_0x18acdc(0x104)+_0x2158d9+')');const _0x584973=parseInt(_0x2158d9,0xa),_0x2613e9=_0x596323||'_';let _0x234197;return _0x5c4d02==='text'?_0x234197=_0x2613e9+'_text':_0x234197=_0x2613e9+'_'+_0x5c4d02+'_'+_0x8b1b93,{'formatKey':_0x234197,'counterInt':_0x584973,'datePrefix':_0x8b1b93};}['_generateFromPattern'](_0xe9a805){const _0x7c5ab9=a0_0x22768f;let _0x36d41e='';for(const _0x15d91a of _0xe9a805){const _0xe082f5=PLACEHOLDER_MAP[_0x15d91a];if(_0xe082f5){const _0x23941e=crypto['randomInt'](0x0,_0xe082f5[_0x7c5ab9(0x105)]);_0x36d41e+=_0xe082f5[_0x23941e];}else _0x36d41e+=_0x15d91a;}return _0x36d41e;}async['_retrieveIdemCache'](_0x26aae8){const _0xc83715=a0_0x22768f,_0x1689a4={'Htyhx':_0xc83715(0x17f),'wZeHQ':_0xc83715(0x166)};if(!_0x26aae8)return null;try{const _0x315757=redisClient[_0xc83715(0x189)](),_0x2a997d=await _0x315757['get'](_0x26aae8);if(_0x2a997d)return logger[_0xc83715(0x143)]({'event':'idgen_idem_hit','key':_0x26aae8},_0x1689a4['Htyhx']),JSON[_0xc83715(0x1b4)](_0x2a997d);return null;}catch(_0xf1a815){return logger['warn']({'event':'idgen_idem_retrieve_error','error':_0xf1a815[_0xc83715(0x136)]},_0x1689a4[_0xc83715(0x119)]),null;}}async['_storeIdemCache'](_0x3fa0e0,_0x35cf77){const _0x39e070=a0_0x22768f;if(!_0x3fa0e0)return;try{const _0x146f67=redisClient[_0x39e070(0x189)]();await _0x146f67['setex'](_0x3fa0e0,this[_0x39e070(0x14b)],JSON[_0x39e070(0x139)](_0x35cf77));}catch(_0x3a8a19){logger[_0x39e070(0x103)]({'event':_0x39e070(0x182),'error':_0x3a8a19[_0x39e070(0x136)]},'Idempotency\x20store\x20error');}}async[a0_0x22768f(0x140)](_0x255385,_0x31db7e){const _0x380714=a0_0x22768f,_0x581450={'ofpnw':function(_0x1c9b96,_0xc17404){return _0x1c9b96===_0xc17404;},'uBrcp':'SET\x20NX\x20failed\x20but\x20cache\x20GET\x20returned\x20empty\x20—\x20falling\x20back\x20to\x20own\x20result','YKXcA':_0x380714(0xf1),'LtCLo':'Idempotency\x20SET\x20NX\x20error'};if(!_0x255385)return{'stored':!![],'winnerResult':null};try{const _0x348801=redisClient['getClient'](),_0x1768c9=JSON['stringify'](_0x31db7e),_0x1a505e=await _0x348801['set'](_0x255385,_0x1768c9,'EX',this[_0x380714(0x14b)],'NX');if(_0x581450['ofpnw'](_0x1a505e,'OK'))return{'stored':!![],'winnerResult':null};const _0x2cf804=await _0x348801['get'](_0x255385);if(_0x2cf804)return{'stored':![],'winnerResult':JSON['parse'](_0x2cf804)};return logger[_0x380714(0x103)]({'event':_0x380714(0xc2),'key':_0x255385},_0x581450['uBrcp']),{'stored':!![],'winnerResult':null};}catch(_0x15d600){return logger['warn']({'event':_0x581450['YKXcA'],'error':_0x15d600[_0x380714(0x136)]},_0x581450[_0x380714(0x115)]),{'stored':!![],'winnerResult':null};}}async['_undoRandomReservation'](_0x458c87,_0x22ec0b,_0xa6b2da){const _0x253250=a0_0x22768f;try{const _0x27a132=redisClient[_0x253250(0x189)]();if(_0xa6b2da){const _0x5da0e9=this['_buildActiveKey'](_0x458c87,_0x22ec0b);await _0x27a132['del'](_0x5da0e9);}else{const _0x5b46c5=this['_buildIssuedKey'](_0x458c87);await _0x27a132['srem'](_0x5b46c5,_0x22ec0b);}}catch(_0x2fac54){logger[_0x253250(0x103)]({'event':'idgen_random_undo_error','error':_0x2fac54['message']},'Random\x20reservation\x20undo\x20error\x20(orphan\x20slot\x20may\x20remain)');}}async[a0_0x22768f(0xb9)](_0x320376,_0x1e987e,_0x141d27,_0xc70c83=0x0){const _0x598351=a0_0x22768f,_0x1a16e2={'pLqHe':function(_0x26ac7a,_0x50124c){return _0x26ac7a(_0x50124c);},'FhDGi':function(_0x364311,_0x5c5ad2){return _0x364311>_0x5c5ad2;},'yAxjS':'Meta\x20update\x20error'};try{const _0x4dbc77=redisClient[_0x598351(0x189)](),_0x15ee3d=this['_buildMetaKey'](_0x320376,_0x1e987e),_0x399b85=[];for(const [_0xfc0ce7,_0x48ccc8]of Object[_0x598351(0xf5)](_0x141d27)){_0x399b85[_0x598351(0x152)](_0xfc0ce7,_0x1a16e2[_0x598351(0x16a)](String,_0x48ccc8));}if(_0x1a16e2[_0x598351(0x15a)](_0x399b85[_0x598351(0x105)],0x0)){await _0x4dbc77['hset'](_0x15ee3d,..._0x399b85);if(_0x1a16e2[_0x598351(0x15a)](_0xc70c83,0x0))await _0x4dbc77[_0x598351(0xc8)](_0x15ee3d,_0xc70c83);}}catch(_0x50f066){logger[_0x598351(0x103)]({'event':_0x598351(0x12e),'error':_0x50f066['message']},_0x1a16e2['yAxjS']);}}async[a0_0x22768f(0x146)](_0x69d468){const _0x410e88=a0_0x22768f,_0x2d847f={'IfggI':'IDGEN_DISABLED','PgjiA':_0x410e88(0x146),'xThJx':_0x410e88(0x1b6),'URUir':_0x410e88(0xbb)};if(!this[_0x410e88(0xf4)])throw new IdGeneratorError(_0x2d847f[_0x410e88(0x11b)],'ID\x20Generator\x20is\x20disabled\x20(set\x20IDGEN_ENABLED=true)');const _0x1fd9e7=this['_validateNumberParams'](_0x69d468),_0x5eb935=this[_0x410e88(0x9f)](_0x69d468[_0x410e88(0xed)]),{resource:_0x2c33c0,format:_0x3facc2,prefix:_0x50d61c,separator:_0x33619f,numDigits:_0x5bd6a7,reuseDelete:_0x2a25e0}=_0x1fd9e7,{formatKey:_0xb0dbc4,datePrefix:_0x502675}=this[_0x410e88(0x193)](_0x3facc2,_0x50d61c),_0x302343=this['_buildSeqKey'](_0x2c33c0,_0xb0dbc4),_0x2e9e6d=this['_buildReuseKey'](_0x2c33c0,_0xb0dbc4),_0x2bbf93=this[_0x410e88(0x174)](_0x3facc2);let _0x33141b=null;if(_0x5eb935){_0x33141b=this['_buildIdemKey'](_0x2d847f[_0x410e88(0x1a0)],_0x2c33c0,_0xb0dbc4,_0x5eb935);const _0x31f908=await this['_retrieveIdemCache'](_0x33141b);if(_0x31f908)return _0x31f908;}const _0x12a390=redisClient['getClient'](),_0xa24643=await _0x12a390['eval'](LUA_GENERATE_NUMBER,0x2,_0x302343,_0x2e9e6d,_0x2a25e0?'1':'0',String(_0x2bbf93)),_0x44dce6=_0xa24643[0x0],_0x4b0fcf=_0xa24643[0x1]===0x1,_0x4be9e0=this['_formatNumber']({'format':_0x3facc2,'prefix':_0x50d61c,'datePrefix':_0x502675,'separator':_0x33619f,'numDigits':_0x5bd6a7,'counterInt':_0x44dce6}),_0x294afb={'value':_0x4be9e0,'counter':_0x44dce6,'resource':_0x2c33c0,'formatKey':_0xb0dbc4,'isReused':_0x4b0fcf,'generatedAt':new Date()[_0x410e88(0x172)]()},_0x3afa76=await this[_0x410e88(0x140)](_0x33141b,_0x294afb);if(!_0x3afa76['stored']){try{await _0x12a390[_0x410e88(0x15e)](LUA_RELEASE_NUMBER,0x1,_0x2e9e6d,String(_0x44dce6),String(_0x2bbf93));}catch(_0x5e405d){logger['warn']({'event':'idgen_idem_loser_release_error','error':_0x5e405d[_0x410e88(0x136)],'resource':_0x2c33c0,'formatKey':_0xb0dbc4,'counterInt':_0x44dce6},'Failed\x20to\x20release\x20counter\x20for\x20idempotency\x20loser');}return logger['info']({'event':_0x2d847f[_0x410e88(0x180)],'resource':_0x2c33c0,'formatKey':_0xb0dbc4,'counter':_0x44dce6},_0x410e88(0x112)),_0x3afa76['winnerResult'];}return this[_0x410e88(0xb9)](_0x2c33c0,_0xb0dbc4,{'lastValue':_0x4be9e0,'lastCounter':_0x44dce6,'lastIsReused':_0x4b0fcf,'lastGeneratedAt':_0x294afb[_0x410e88(0x125)]},_0x2bbf93),logger[_0x410e88(0x143)]({'event':_0x2d847f['URUir'],'resource':_0x2c33c0,'formatKey':_0xb0dbc4,'counter':_0x44dce6,'isReused':_0x4b0fcf},'ID\x20Generator\x20number:\x20'+_0x4be9e0),_0x294afb;}async[a0_0x22768f(0xd5)](_0x16c688){const _0x3ba1b3=a0_0x22768f,_0x4fc403={'KtrES':'IDGEN_DISABLED','MUhmZ':_0x3ba1b3(0x158),'xOXUu':function(_0x5c1307,_0x237169){return _0x5c1307!==_0x237169;},'WfVrF':'string','BTOzJ':function(_0x5258a3,_0x38e196){return _0x5258a3===_0x38e196;},'CwSAc':'IDGEN_INVALID_NUMBER','Znqvo':'text','LcvAy':_0x3ba1b3(0xc0),'UyydE':function(_0x249704,_0x1b0d94){return _0x249704(_0x1b0d94);},'rJldf':_0x3ba1b3(0x16f)};if(!this[_0x3ba1b3(0xf4)])throw new IdGeneratorError(_0x4fc403['KtrES'],_0x4fc403['MUhmZ']);let _0x427ebb,_0x382b2f,_0x359862,_0x4fe34b;const _0x5eb2dc=this['_validateIdempotencyKey'](_0x16c688['idempotencyKey']);if(_0x16c688[_0x3ba1b3(0x170)]!==undefined&&_0x16c688[_0x3ba1b3(0x170)]!==null){this['_validateResource'](_0x16c688['resource']),_0x427ebb=_0x16c688['resource'];if(_0x4fc403['xOXUu'](typeof _0x16c688[_0x3ba1b3(0xec)],_0x4fc403[_0x3ba1b3(0xba)])||_0x4fc403[_0x3ba1b3(0x14e)](_0x16c688['formatKey']['length'],0x0))throw new IdGeneratorError(_0x4fc403[_0x3ba1b3(0x183)],_0x3ba1b3(0xad));_0x382b2f=_0x16c688[_0x3ba1b3(0xec)];if(!Number[_0x3ba1b3(0x124)](_0x16c688['counterInt'])||_0x16c688['counterInt']<0x1)throw new IdGeneratorError('IDGEN_INVALID_NUMBER','counterInt\x20must\x20be\x20positive\x20integer\x20(got:\x20'+_0x16c688[_0x3ba1b3(0x170)]+')');_0x359862=_0x16c688[_0x3ba1b3(0x170)];const _0x157089=_0x382b2f['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/);_0x4fe34b=_0x157089?_0x157089[0x1]:_0x4fc403[_0x3ba1b3(0xd3)];}else{const _0x77f06c=this[_0x3ba1b3(0x195)](_0x16c688),_0x2c1e4a=this[_0x3ba1b3(0x147)]({'format':_0x77f06c[_0x3ba1b3(0x1a3)],'prefix':_0x77f06c[_0x3ba1b3(0x169)],'separator':_0x77f06c[_0x3ba1b3(0x19d)],'numDigits':_0x77f06c[_0x3ba1b3(0xee)],'number':_0x16c688[_0x3ba1b3(0x146)]});_0x427ebb=_0x77f06c[_0x3ba1b3(0x9d)],_0x382b2f=_0x2c1e4a['formatKey'],_0x359862=_0x2c1e4a['counterInt'],_0x4fe34b=_0x77f06c[_0x3ba1b3(0x1a3)];}const _0x56afdc=this[_0x3ba1b3(0x13b)](_0x427ebb,_0x382b2f),_0x734930=this[_0x3ba1b3(0x174)](_0x4fe34b);let _0x562fed=null;if(_0x5eb2dc){_0x562fed=this[_0x3ba1b3(0x198)](_0x4fc403[_0x3ba1b3(0x1a2)],_0x427ebb,_0x382b2f,_0x5eb2dc);const _0x2b9b11=await this['_retrieveIdemCache'](_0x562fed);if(_0x2b9b11)return _0x2b9b11;}const _0x311f81=redisClient['getClient']();await _0x311f81['eval'](LUA_RELEASE_NUMBER,0x1,_0x56afdc,_0x4fc403[_0x3ba1b3(0x110)](String,_0x359862),String(_0x734930));const _0x58aadf={'released':!![],'resource':_0x427ebb,'formatKey':_0x382b2f,'counter':_0x359862,'releasedAt':new Date()[_0x3ba1b3(0x172)]()};return await this['_storeIdemCache'](_0x562fed,_0x58aadf),this[_0x3ba1b3(0xb9)](_0x427ebb,_0x382b2f,{'lastReleasedCounter':_0x359862,'lastReleasedAt':_0x58aadf['releasedAt']},_0x734930),logger[_0x3ba1b3(0x143)]({'event':_0x4fc403[_0x3ba1b3(0x188)],'resource':_0x427ebb,'formatKey':_0x382b2f,'counter':_0x359862},'ID\x20Generator\x20number\x20released:\x20'+_0x359862),_0x58aadf;}async['reserveNumber'](_0x45372b){const _0x2d5ab9=a0_0x22768f,_0x3b4c89={'wPgtI':'ID\x20Generator\x20is\x20disabled\x20(set\x20IDGEN_ENABLED=true)','KsxFZ':function(_0x5f2b8f,_0x18fc09){return _0x5f2b8f+_0x18fc09;},'qERsm':function(_0x24670a,_0x4786e0){return _0x24670a*_0x4786e0;},'VFgTh':_0x2d5ab9(0x9d),'MQXnP':_0x2d5ab9(0xec),'ZaEgh':_0x2d5ab9(0x1a3),'miKMV':_0x2d5ab9(0xee),'HtJxf':function(_0x23918a,_0x321d8f){return _0x23918a||_0x321d8f;},'diIWA':'ttlMs','zrznO':function(_0x3497bb,_0x16d22c){return _0x3497bb(_0x16d22c);},'NtQps':'idemKey','eQyqh':function(_0xb6b7b5,_0x3c6cda){return _0xb6b7b5(_0x3c6cda);},'NiGsY':'idgen_reserve_overflow_compensation_error','zUqGI':function(_0x3873f9,_0x4f4477){return _0x3873f9(_0x4f4477);},'BjsGY':'idgen_reserve_idem_loser'};if(!this[_0x2d5ab9(0xf4)])throw new IdGeneratorError('IDGEN_DISABLED',_0x3b4c89['wPgtI']);const _0x13dc0d=this[_0x2d5ab9(0x195)](_0x45372b),_0x4d4232=this[_0x2d5ab9(0x19e)](_0x45372b[_0x2d5ab9(0x1be)]),_0x5d80a5=this[_0x2d5ab9(0x9f)](_0x45372b[_0x2d5ab9(0xed)]),{resource:_0x4a4cb4,format:_0x3eae69,prefix:_0x50d51f,separator:_0xfa0a40,numDigits:_0x3d5021,reuseDelete:_0x447247}=_0x13dc0d,{formatKey:_0x5c3534,datePrefix:_0x11cf73}=this['_buildFormatKey'](_0x3eae69,_0x50d51f),_0x3950c1=this[_0x2d5ab9(0x178)](_0x4a4cb4,_0x5c3534),_0xbbf614=this[_0x2d5ab9(0x13b)](_0x4a4cb4,_0x5c3534),_0x5d3267=this[_0x2d5ab9(0xf2)](_0x4a4cb4,_0x5c3534),_0x105d4e=this['_getCounterTTL'](_0x3eae69);let _0x176a0c=null;if(_0x5d80a5){_0x176a0c=this['_buildIdemKey'](_0x2d5ab9(0x141),_0x4a4cb4,_0x5c3534,_0x5d80a5);const _0x14edff=await this['_retrieveIdemCache'](_0x176a0c);if(_0x14edff)return _0x14edff;}const _0x369b18=crypto['randomUUID'](),_0x220288=this[_0x2d5ab9(0x16c)](_0x369b18),_0x26f6d9=this[_0x2d5ab9(0xa1)](),_0x43682d=Date['now'](),_0x451fe0=_0x3b4c89[_0x2d5ab9(0x11e)](_0x43682d,_0x3b4c89[_0x2d5ab9(0xb4)](_0x4d4232,0x3e8)),_0x361637=_0x3b4c89['qERsm'](_0x4d4232,0x3e8),_0x197ef6=new Date(_0x43682d)[_0x2d5ab9(0x172)](),_0x152a77=new Date(_0x451fe0)[_0x2d5ab9(0x172)](),_0x2356cb=[_0x3b4c89['VFgTh'],_0x4a4cb4,_0x3b4c89['MQXnP'],_0x5c3534,_0x3b4c89[_0x2d5ab9(0xbf)],_0x3eae69,'prefix',_0x50d51f,'separator',_0xfa0a40,_0x3b4c89['miKMV'],String(_0x3d5021),_0x2d5ab9(0xf0),_0x3b4c89['HtJxf'](_0x11cf73,''),'createdAt',_0x197ef6,_0x2d5ab9(0x185),_0x152a77,_0x3b4c89['diIWA'],_0x3b4c89[_0x2d5ab9(0x131)](String,_0x361637)];_0x5d80a5&&_0x2356cb[_0x2d5ab9(0x152)](_0x3b4c89[_0x2d5ab9(0x190)],_0x5d80a5);const _0x44c567=redisClient['getClient'](),_0x130eff=await _0x44c567[_0x2d5ab9(0x15e)](LUA_RESERVE_NUMBER,0x3,_0x3950c1,_0xbbf614,_0x5d3267,_0x447247?'1':'0',_0x3b4c89['zrznO'](String,_0x105d4e),_0x369b18,_0x220288,String(_0x361637),_0x3b4c89['eQyqh'](String,_0x451fe0),_0x3b4c89['zrznO'](String,_0x43682d),_0x26f6d9,..._0x2356cb),_0x2b8d3c=_0x130eff[0x0],_0x4184fe=_0x130eff[0x1]===0x1,_0x471c50=_0x130eff[0x2]||0x0;let _0x1dbc54;try{_0x1dbc54=this['_formatNumber']({'format':_0x3eae69,'prefix':_0x50d51f,'datePrefix':_0x11cf73,'separator':_0xfa0a40,'numDigits':_0x3d5021,'counterInt':_0x2b8d3c});}catch(_0x597271){try{await _0x44c567['eval'](LUA_CANCEL_RESERVATION,0x3,_0x220288,_0x5d3267,_0xbbf614,_0x369b18,String(_0x105d4e));}catch(_0x16dc2b){logger['warn']({'event':_0x3b4c89[_0x2d5ab9(0x167)],'error':_0x16dc2b[_0x2d5ab9(0x136)],'resource':_0x4a4cb4,'formatKey':_0x5c3534,'counterInt':_0x2b8d3c,'token':_0x369b18},_0x2d5ab9(0xe5));}throw _0x597271;}try{await _0x44c567['hset'](_0x220288,_0x2d5ab9(0x14c),_0x1dbc54);}catch(_0x1f5926){logger['warn']({'event':'idgen_reserve_value_persist_error','error':_0x1f5926[_0x2d5ab9(0x136)],'resource':_0x4a4cb4,'formatKey':_0x5c3534,'counterInt':_0x2b8d3c,'token':_0x369b18},'Failed\x20to\x20persist\x20formatted\x20value\x20to\x20reservation\x20hash');}const _0x28f893={'token':_0x369b18,'value':_0x1dbc54,'counter':_0x2b8d3c,'resource':_0x4a4cb4,'formatKey':_0x5c3534,'isReused':_0x4184fe,'createdAt':_0x197ef6,'expiresAt':_0x152a77,'reapedCount':_0x471c50},_0x4c72fb=await this['_storeIdemCacheNX'](_0x176a0c,_0x28f893);if(!_0x4c72fb['stored']){try{await _0x44c567[_0x2d5ab9(0x15e)](LUA_CANCEL_RESERVATION,0x3,_0x220288,_0x5d3267,_0xbbf614,_0x369b18,_0x3b4c89[_0x2d5ab9(0x12c)](String,_0x105d4e));}catch(_0x171967){logger[_0x2d5ab9(0x103)]({'event':'idgen_reserve_idem_loser_cancel_error','error':_0x171967['message'],'resource':_0x4a4cb4,'formatKey':_0x5c3534,'counterInt':_0x2b8d3c,'token':_0x369b18},_0x2d5ab9(0x109));}return logger[_0x2d5ab9(0x143)]({'event':_0x3b4c89[_0x2d5ab9(0x1ab)],'resource':_0x4a4cb4,'formatKey':_0x5c3534,'counter':_0x2b8d3c,'token':_0x369b18},_0x2d5ab9(0xd8)),_0x4c72fb['winnerResult'];}return this['_updateMeta'](_0x4a4cb4,_0x5c3534,{'lastReservedCounter':_0x2b8d3c,'lastReservedAt':_0x197ef6,'lastReapedCount':_0x471c50},_0x105d4e),logger['info']({'event':_0x2d5ab9(0x144),'resource':_0x4a4cb4,'formatKey':_0x5c3534,'counter':_0x2b8d3c,'isReused':_0x4184fe,'token':_0x369b18,'ttl':_0x4d4232,'reapedCount':_0x471c50},_0x2d5ab9(0x11d)+_0x1dbc54+'\x20(token='+_0x369b18+')'),_0x28f893;}async[a0_0x22768f(0xdb)](_0x5b432f){const _0x5a1337=a0_0x22768f,_0x56830c={'SOhzU':'idgen','xuERp':_0x5a1337(0x1bf),'WOwjW':function(_0x2f101a,_0x1b417d){return _0x2f101a!==_0x1b417d;},'pOnAK':_0x5a1337(0xca),'bQKwh':function(_0x1ecfc0,_0x5b061c,_0x84585f){return _0x1ecfc0(_0x5b061c,_0x84585f);},'HOLiz':_0x5a1337(0xd2)};if(!this['enabled'])throw new IdGeneratorError('IDGEN_DISABLED','ID\x20Generator\x20is\x20disabled');const _0x485ca4=this[_0x5a1337(0x184)](_0x5b432f&&_0x5b432f[_0x5a1337(0x122)]),_0xbbda0e=this[_0x5a1337(0x9f)](_0x5b432f&&_0x5b432f['idempotencyKey']);let _0x1f5cf1=null;if(_0xbbda0e){_0x1f5cf1=idempotencyManager['buildDeterministicKey'](_0x56830c[_0x5a1337(0xc4)],_0x56830c[_0x5a1337(0x18a)],_0x485ca4+':'+_0xbbda0e);const _0x393f73=await this['_retrieveIdemCache'](_0x1f5cf1);if(_0x393f73)return _0x393f73;}const _0x3212dd=await this['_getReservationContext'](_0x485ca4),_0x171c72=redisClient['getClient'](),_0x3cd026=await _0x171c72[_0x5a1337(0x15e)](LUA_CONFIRM_RESERVATION,0x2,_0x3212dd['rsvKey'],_0x3212dd['rsvIdxKey'],_0x485ca4);if(!_0x3cd026||_0x56830c['WOwjW'](_0x3cd026[0x0],0x1))throw new IdGeneratorError(_0x56830c[_0x5a1337(0x16b)],'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x485ca4,{'token':_0x485ca4});const _0x1b4bc9=_0x56830c['bQKwh'](parseInt,_0x3cd026[0x1],0xa),_0x3e4fdf=_0x3cd026[0x2],_0x550ecf=_0x3cd026[0x3],_0x513f14=new Date()[_0x5a1337(0x172)](),_0x4fe597={'confirmed':!![],'token':_0x485ca4,'value':_0x3e4fdf,'counter':_0x1b4bc9,'resource':_0x3212dd[_0x5a1337(0x9d)],'formatKey':_0x550ecf,'confirmedAt':_0x513f14};await this['_storeIdemCache'](_0x1f5cf1,_0x4fe597);const _0x18aa13=_0x550ecf[_0x5a1337(0x186)](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x2a9ffa=_0x18aa13?_0x18aa13[0x1]:_0x56830c['HOLiz'],_0x257a18=this[_0x5a1337(0x174)](_0x2a9ffa);return this[_0x5a1337(0xb9)](_0x3212dd[_0x5a1337(0x9d)],_0x550ecf,{'lastConfirmedCounter':_0x1b4bc9,'lastConfirmedAt':_0x513f14},_0x257a18),logger['info']({'event':'idgen_reservation_confirmed','resource':_0x3212dd[_0x5a1337(0x9d)],'formatKey':_0x550ecf,'counter':_0x1b4bc9,'token':_0x485ca4},'ID\x20Generator\x20reservation\x20confirmed:\x20'+_0x3e4fdf+'\x20(token='+_0x485ca4+')'),_0x4fe597;}async['cancelReservation'](_0x34e2bb){const _0x201d24=a0_0x22768f,_0xa3b581={'yhHAY':_0x201d24(0x129),'KfDDP':'reserve_cancel','XgOAA':function(_0x235854,_0x408858){return _0x235854(_0x408858);}};if(!this['enabled'])throw new IdGeneratorError(_0xa3b581[_0x201d24(0x145)],_0x201d24(0x158));const _0x23923c=this[_0x201d24(0x184)](_0x34e2bb&&_0x34e2bb['token']),_0x4dab2f=this['_validateIdempotencyKey'](_0x34e2bb&&_0x34e2bb[_0x201d24(0xed)]);let _0x2da8b1=null;if(_0x4dab2f){_0x2da8b1=idempotencyManager['buildDeterministicKey'](_0x201d24(0xb7),_0xa3b581[_0x201d24(0xf9)],_0x23923c+':'+_0x4dab2f);const _0xb51b6b=await this[_0x201d24(0x199)](_0x2da8b1);if(_0xb51b6b)return _0xb51b6b;}const _0x4a2f80=await this[_0x201d24(0x117)](_0x23923c),_0x2f0bad=this['_buildReuseKey'](_0x4a2f80[_0x201d24(0x9d)],_0x4a2f80['formatKey']),_0x12b277=_0x4a2f80['formatKey'][_0x201d24(0x186)](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x579ab3=_0x12b277?_0x12b277[0x1]:_0x201d24(0xd2),_0x3a44f7=this['_getCounterTTL'](_0x579ab3),_0x58d6c3=redisClient[_0x201d24(0x189)](),_0x2d92e7=await _0x58d6c3[_0x201d24(0x15e)](LUA_CANCEL_RESERVATION,0x3,_0x4a2f80['rsvKey'],_0x4a2f80[_0x201d24(0x14a)],_0x2f0bad,_0x23923c,_0xa3b581[_0x201d24(0x153)](String,_0x3a44f7));if(!_0x2d92e7||_0x2d92e7[0x0]!==0x1)throw new IdGeneratorError('IDGEN_RESERVATION_NOT_FOUND','Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x23923c,{'token':_0x23923c});const _0x14f407=parseInt(_0x2d92e7[0x1],0xa),_0x662894=_0x2d92e7[0x2],_0x12c9b0=_0x2d92e7[0x3],_0x555228=new Date()['toISOString'](),_0x22093b={'cancelled':!![],'token':_0x23923c,'value':_0x662894,'counter':_0x14f407,'resource':_0x4a2f80[_0x201d24(0x9d)],'formatKey':_0x12c9b0,'releasedToReuse':!![],'cancelledAt':_0x555228};return await this[_0x201d24(0x161)](_0x2da8b1,_0x22093b),this[_0x201d24(0xb9)](_0x4a2f80['resource'],_0x12c9b0,{'lastCancelledCounter':_0x14f407,'lastCancelledAt':_0x555228},_0x3a44f7),logger['info']({'event':'idgen_reservation_cancelled','resource':_0x4a2f80['resource'],'formatKey':_0x12c9b0,'counter':_0x14f407,'token':_0x23923c},'ID\x20Generator\x20reservation\x20cancelled:\x20'+_0x662894+'\x20(token='+_0x23923c+')'),_0x22093b;}async['extendReservation'](_0x55bf90){const _0x2c8202=a0_0x22768f,_0xde889f={'IQIhv':'IDGEN_DISABLED','QhgHz':_0x2c8202(0x158),'imIOz':'idgen','gxrwv':function(_0x1b0fe7,_0x5f47e9){return _0x1b0fe7+_0x5f47e9;},'GSUEL':'text'};if(!this['enabled'])throw new IdGeneratorError(_0xde889f[_0x2c8202(0xa9)],_0xde889f[_0x2c8202(0x1b7)]);const _0x56a0ef=this['_validateReservationToken'](_0x55bf90&&_0x55bf90['token']),_0x162f38=this['_validateReserveTTL'](_0x55bf90&&_0x55bf90[_0x2c8202(0x1be)]),_0x52831f=this['_validateIdempotencyKey'](_0x55bf90&&_0x55bf90[_0x2c8202(0xed)]);let _0x18a359=null;if(_0x52831f){_0x18a359=idempotencyManager['buildDeterministicKey'](_0xde889f[_0x2c8202(0xd9)],'reserve_extend',_0x56a0ef+':'+_0x52831f);const _0x407315=await this[_0x2c8202(0x199)](_0x18a359);if(_0x407315)return _0x407315;}const _0x4e9a86=await this[_0x2c8202(0x117)](_0x56a0ef),_0x250964=Date[_0x2c8202(0xd6)](),_0x3cfbd1=_0xde889f['gxrwv'](_0x250964,_0x162f38*0x3e8),_0x4af4fb=_0x162f38*0x3e8,_0x4014d1=new Date(_0x3cfbd1)[_0x2c8202(0x172)](),_0x10707d=redisClient['getClient'](),_0x17b7ee=await _0x10707d['eval'](LUA_EXTEND_RESERVATION,0x2,_0x4e9a86[_0x2c8202(0x1a4)],_0x4e9a86['rsvIdxKey'],_0x56a0ef,String(_0x4af4fb),String(_0x3cfbd1),_0x4014d1);if(!_0x17b7ee||_0x17b7ee[0x0]!==0x1)throw new IdGeneratorError(_0x2c8202(0xca),'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x56a0ef,{'token':_0x56a0ef});const _0x1bb077=_0x17b7ee[0x1],_0x31b4fe=parseInt(_0x17b7ee[0x2],0xa),_0x20b5ba=_0x17b7ee[0x3],_0x7996f4=_0x17b7ee[0x4],_0x2ab801=new Date(_0x250964)['toISOString'](),_0x28c32b={'extended':!![],'token':_0x56a0ef,'previousExpiresAt':_0x1bb077,'expiresAt':_0x4014d1,'ttlMs':_0x4af4fb,'resource':_0x4e9a86[_0x2c8202(0x9d)],'formatKey':_0x7996f4,'counter':_0x31b4fe,'value':_0x20b5ba,'extendedAt':_0x2ab801};await this[_0x2c8202(0x161)](_0x18a359,_0x28c32b);const _0x267643=_0x7996f4['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x5e732f=_0x267643?_0x267643[0x1]:_0xde889f[_0x2c8202(0xbd)],_0x14a3ce=this['_getCounterTTL'](_0x5e732f);return this['_updateMeta'](_0x4e9a86[_0x2c8202(0x9d)],_0x7996f4,{'lastExtendedCounter':_0x31b4fe,'lastExtendedAt':_0x2ab801},_0x14a3ce),logger[_0x2c8202(0x143)]({'event':_0x2c8202(0x149),'resource':_0x4e9a86[_0x2c8202(0x9d)],'formatKey':_0x7996f4,'counter':_0x31b4fe,'token':_0x56a0ef,'ttl':_0x162f38},_0x2c8202(0x120)+_0x20b5ba+'\x20(token='+_0x56a0ef+',\x20+'+_0x162f38+'s)'),_0x28c32b;}async[a0_0x22768f(0x17a)](_0x32f5ae){const _0x5b1f42=a0_0x22768f,_0x2957a6={'iupmP':'ID\x20Generator\x20is\x20disabled','CvOBr':function(_0x1acaba,_0x474462,_0x3f798b){return _0x1acaba(_0x474462,_0x3f798b);},'FQfEp':function(_0x52ac0d,_0x12a0d7){return _0x52ac0d>=_0x12a0d7;}};if(!this[_0x5b1f42(0xf4)])throw new IdGeneratorError('IDGEN_DISABLED',_0x2957a6['iupmP']);const _0x11d5ec=this[_0x5b1f42(0x184)](_0x32f5ae&&_0x32f5ae[_0x5b1f42(0x122)]),_0x20f6b4=this[_0x5b1f42(0x16c)](_0x11d5ec),_0x36b5f8=redisClient[_0x5b1f42(0x189)](),_0x20681f=_0x36b5f8[_0x5b1f42(0x18d)]();_0x20681f[_0x5b1f42(0x12f)](_0x20f6b4),_0x20681f['pttl'](_0x20f6b4);const _0x31817e=await _0x20681f[_0x5b1f42(0xe0)](),_0x4dbdbc=_0x31817e&&_0x31817e[0x0]&&_0x31817e[0x0][0x1],_0x5587ca=_0x31817e&&_0x31817e[0x1]&&_0x31817e[0x1][0x1];if(!_0x4dbdbc||Object[_0x5b1f42(0xf8)](_0x4dbdbc)['length']===0x0)throw new IdGeneratorError(_0x5b1f42(0xca),'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x11d5ec,{'token':_0x11d5ec});return{'token':_0x11d5ec,'resource':_0x4dbdbc[_0x5b1f42(0x9d)]||null,'formatKey':_0x4dbdbc[_0x5b1f42(0xec)]||null,'format':_0x4dbdbc['format']||null,'prefix':_0x4dbdbc['prefix']||'','separator':_0x4dbdbc[_0x5b1f42(0x19d)]||'','numDigits':_0x4dbdbc[_0x5b1f42(0xee)]?_0x2957a6[_0x5b1f42(0xd1)](parseInt,_0x4dbdbc['numDigits'],0xa):null,'datePrefix':_0x4dbdbc[_0x5b1f42(0xf0)]||'','counter':_0x4dbdbc[_0x5b1f42(0x135)]?parseInt(_0x4dbdbc['counter'],0xa):null,'value':_0x4dbdbc[_0x5b1f42(0x14c)]||null,'isReused':_0x4dbdbc[_0x5b1f42(0xfc)]==='1'||_0x4dbdbc[_0x5b1f42(0xfc)]===0x1,'createdAt':_0x4dbdbc[_0x5b1f42(0xc7)]||null,'expiresAt':_0x4dbdbc['expiresAt']||null,'ttlRemainingMs':typeof _0x5587ca==='number'&&_0x2957a6[_0x5b1f42(0xb8)](_0x5587ca,0x0)?_0x5587ca:null};}async['_getReservationContext'](_0x707e19){const _0xec6f2a=a0_0x22768f,_0xf79ba7={'YJwDC':function(_0x3c1499,_0x763da){return _0x3c1499||_0x763da;},'xZKBG':_0xec6f2a(0xca)},_0x2f2e9d=this['_buildReservationKey'](_0x707e19),_0x5fcd46=redisClient['getClient'](),_0x593ec4=await _0x5fcd46['hmget'](_0x2f2e9d,'resource','formatKey'),_0x119171=_0x593ec4&&_0x593ec4[0x0],_0x237b83=_0x593ec4&&_0x593ec4[0x1];if(_0xf79ba7['YJwDC'](!_0x119171,!_0x237b83))throw new IdGeneratorError(_0xf79ba7['xZKBG'],_0xec6f2a(0x181)+_0x707e19,{'token':_0x707e19});return{'resource':_0x119171,'formatKey':_0x237b83,'rsvKey':_0x2f2e9d,'rsvIdxKey':this['_buildReservationIndexKey'](_0x119171,_0x237b83)};}async['random'](_0x9101ae){const _0x3863e2=a0_0x22768f,_0x174092={'cudAu':_0x3863e2(0x129),'pwinF':_0x3863e2(0x158),'VRrHs':function(_0x583749,_0xd5b56b){return _0x583749<_0xd5b56b;},'HIZvg':function(_0x2a21a6,_0x1f6e34){return _0x2a21a6===_0x1f6e34;},'hHbPS':function(_0x201c05,_0x3f74f1){return _0x201c05===_0x3f74f1;},'eXPlr':function(_0x222b0a,_0x5cd28a){return _0x222b0a&&_0x5cd28a;},'rqeCQ':function(_0x427d75,_0x4a0950){return _0x427d75*_0x4a0950;},'iFLzd':_0x3863e2(0xe6),'hHgUi':_0x3863e2(0x162),'AApHu':function(_0x3a0cd0,_0x909cf2){return _0x3a0cd0||_0x909cf2;}};if(!this[_0x3863e2(0xf4)])throw new IdGeneratorError(_0x174092[_0x3863e2(0x138)],_0x174092['pwinF']);this['_validateResource'](_0x9101ae[_0x3863e2(0x9d)]),this['_validatePattern'](_0x9101ae['pattern']);const _0x382f73=this[_0x3863e2(0x1b1)](_0x9101ae[_0x3863e2(0x1be)]),_0x2407e9=this['_validateMaxRetry'](_0x9101ae[_0x3863e2(0x16e)]),_0x2651cb=this[_0x3863e2(0x9f)](_0x9101ae[_0x3863e2(0xed)]),_0x1a9695=_0x9101ae['ensureUnique']===!![],{resource:_0x371b24,pattern:_0x4351c9}=_0x9101ae;let _0x5e7998=null;if(_0x2651cb){_0x5e7998=this[_0x3863e2(0x198)]('random',_0x371b24,null,_0x2651cb);const _0x581bfd=await this['_retrieveIdemCache'](_0x5e7998);if(_0x581bfd)return _0x581bfd;}const _0x102ac7=redisClient[_0x3863e2(0x189)]();let _0x52a3b7=null,_0x51776c=0x0;if(!_0x1a9695)_0x52a3b7=this['_generateFromPattern'](_0x4351c9),_0x51776c=0x1;else{for(let _0x4b0847=0x0;_0x174092['VRrHs'](_0x4b0847,_0x2407e9);_0x4b0847++){_0x51776c++;const _0x514a1f=this[_0x3863e2(0x18f)](_0x4351c9);if(_0x382f73){const _0x15e4a9=this[_0x3863e2(0x11f)](_0x371b24,_0x514a1f),_0x309ef7=await _0x102ac7[_0x3863e2(0x12d)](_0x15e4a9,'1','EX',_0x382f73,'NX');if(_0x174092[_0x3863e2(0x9e)](_0x309ef7,'OK')){_0x52a3b7=_0x514a1f;break;}}else{const _0x57edbe=this[_0x3863e2(0xe7)](_0x371b24),_0x321a30=await _0x102ac7[_0x3863e2(0x171)](_0x57edbe,_0x514a1f);if(_0x321a30===0x1){_0x52a3b7=_0x514a1f;break;}}}if(_0x174092['hHbPS'](_0x52a3b7,null))throw new IdGeneratorError('IDGEN_UNIQUE_RETRY_EXHAUSTED',_0x3863e2(0xde)+_0x2407e9+'\x20attempts.\x20Increase\x20pattern\x20length\x20or\x20maxRetry.',{'resource':_0x371b24,'pattern':_0x4351c9,'maxRetry':_0x2407e9});}const _0x19dc3d={'value':_0x52a3b7,'resource':_0x371b24,'pattern':_0x4351c9,'attemptCount':_0x51776c,'generatedAt':new Date()['toISOString']()};_0x174092[_0x3863e2(0xdc)](_0x382f73,_0x1a9695)&&(_0x19dc3d[_0x3863e2(0x185)]=new Date(Date['now']()+_0x174092['rqeCQ'](_0x382f73,0x3e8))['toISOString']());const _0x1a4dc0=await this[_0x3863e2(0x140)](_0x5e7998,_0x19dc3d);if(!_0x1a4dc0['stored'])return _0x1a9695&&await this['_undoRandomReservation'](_0x371b24,_0x52a3b7,_0x382f73),logger[_0x3863e2(0x143)]({'event':_0x174092['iFLzd'],'resource':_0x371b24,'pattern':_0x4351c9,'value':_0x52a3b7},'ID\x20Generator\x20random\x20idem\x20race\x20lost,\x20returning\x20winner\x20envelope'),_0x1a4dc0['winnerResult'];return logger['info']({'event':_0x174092[_0x3863e2(0x108)],'resource':_0x371b24,'pattern':_0x4351c9,'attemptCount':_0x51776c,'ensureUnique':_0x1a9695,'ttl':_0x174092[_0x3863e2(0x127)](_0x382f73,0x0)},_0x3863e2(0x102)+_0x52a3b7),_0x19dc3d;}async['pin'](_0x4b1f1c){const _0x161012=a0_0x22768f,_0x3c6e4a={'HKvpV':function(_0x592298,_0x18a95c){return _0x592298==_0x18a95c;},'pEtij':'IDGEN_INVALID_DIGITS'},_0x504e3f=_0x3c6e4a['HKvpV'](_0x4b1f1c['digits'],null)?this[_0x161012(0x16d)]:_0x4b1f1c['digits'];if(!Number[_0x161012(0x124)](_0x504e3f)||_0x504e3f<MIN_PIN_DIGITS||_0x504e3f>MAX_PIN_DIGITS)throw new IdGeneratorError(_0x3c6e4a['pEtij'],_0x161012(0xce)+MIN_PIN_DIGITS+'-'+MAX_PIN_DIGITS+'\x20(got:\x20'+_0x504e3f+')');const _0x4ae436='9'['repeat'](_0x504e3f);return this[_0x161012(0x157)]({'resource':_0x4b1f1c['resource'],'pattern':_0x4ae436,'ensureUnique':_0x4b1f1c['ensureUnique']===!![],'ttl':_0x4b1f1c[_0x161012(0x1be)],'maxRetry':_0x4b1f1c['maxRetry'],'idempotencyKey':_0x4b1f1c[_0x161012(0xed)]});}async['serial'](_0x5f4c7b){const _0x29c887=a0_0x22768f,_0x4707a9={'tuldh':function(_0x431c79,_0x5e72a4){return _0x431c79!==_0x5e72a4;}},_0x101b2c=_0x5f4c7b['pattern']||this['defaultSerialPattern'];return this[_0x29c887(0x157)]({'resource':_0x5f4c7b[_0x29c887(0x9d)],'pattern':_0x101b2c,'ensureUnique':_0x4707a9[_0x29c887(0x1b9)](_0x5f4c7b[_0x29c887(0xcf)],![]),'ttl':_0x5f4c7b['ttl'],'maxRetry':_0x5f4c7b[_0x29c887(0x16e)],'idempotencyKey':_0x5f4c7b[_0x29c887(0xed)]});}async['code'](_0x1b36d6){const _0x44fe49=a0_0x22768f,_0x8d6f59=_0x1b36d6[_0x44fe49(0xcb)]||this[_0x44fe49(0xc9)];return this['random']({'resource':_0x1b36d6['resource'],'pattern':_0x8d6f59,'ensureUnique':_0x1b36d6['ensureUnique']!==![],'ttl':_0x1b36d6[_0x44fe49(0x1be)],'maxRetry':_0x1b36d6[_0x44fe49(0x16e)],'idempotencyKey':_0x1b36d6['idempotencyKey']});}async[a0_0x22768f(0x1ae)](_0xe754d2){const _0x2bf31e=a0_0x22768f,_0x32add4={'TLxOv':function(_0x28b82d,_0x3c07af){return _0x28b82d===_0x3c07af;},'YJBmQ':'value\x20is\x20required','NSbEm':function(_0x1c3267,_0x15c3a2){return _0x1c3267+_0x15c3a2;},'GJKru':_0x2bf31e(0xc1)};if(!this['enabled'])throw new IdGeneratorError(_0x2bf31e(0x129),'ID\x20Generator\x20is\x20disabled');this['_validateResource'](_0xe754d2['resource']);if(typeof _0xe754d2[_0x2bf31e(0x14c)]!==_0x2bf31e(0x177)||_0x32add4['TLxOv'](_0xe754d2['value'][_0x2bf31e(0x105)],0x0))throw new IdGeneratorError(_0x2bf31e(0xfa),_0x32add4[_0x2bf31e(0xe1)]);const {resource:_0x8fd47c,value:_0x2fe9f1}=_0xe754d2,_0x266eb0=redisClient['getClient'](),_0x5d4bf2=this[_0x2bf31e(0x11f)](_0x8fd47c,_0x2fe9f1),_0x448f16=this[_0x2bf31e(0xe7)](_0x8fd47c),[_0x1ad23c,_0x5682d4]=await Promise[_0x2bf31e(0xcd)]([_0x266eb0[_0x2bf31e(0x15c)](_0x5d4bf2),_0x266eb0[_0x2bf31e(0x1a8)](_0x448f16,_0x2fe9f1)]),_0x45761d=_0x32add4[_0x2bf31e(0x12a)](_0x1ad23c,_0x5682d4)>0x0;return logger[_0x2bf31e(0x143)]({'event':_0x32add4['GJKru'],'resource':_0x8fd47c,'value':_0x2fe9f1,'consumed':_0x45761d},'ID\x20Generator\x20consumed:\x20'+_0x2fe9f1),{'consumed':_0x45761d,'resource':_0x8fd47c,'value':_0x2fe9f1,'consumedAt':new Date()['toISOString']()};}async['peek'](_0x1a3bde){const _0x8e7448=a0_0x22768f,_0x2f7678={'HrQaK':_0x8e7448(0x129),'uoKml':'ID\x20Generator\x20is\x20disabled','aNoIE':'number','lybYk':'text','FUxbu':'IDGEN_INVALID_FORMAT','ymMzK':function(_0x21d43f,_0x259865,_0x43341b){return _0x21d43f(_0x259865,_0x43341b);},'Mbfnu':function(_0x33ce6d,_0x200de5){return _0x33ce6d||_0x200de5;},'Gscjd':function(_0x21ade5,_0x1a333a){return _0x21ade5===_0x1a333a;},'Nwzjm':_0x8e7448(0x157),'vfXPt':'IDGEN_INVALID_MODE'};if(!this['enabled'])throw new IdGeneratorError(_0x2f7678[_0x8e7448(0xd0)],_0x2f7678['uoKml']);this['_validateResource'](_0x1a3bde[_0x8e7448(0x9d)]);const _0x5c5d2c=_0x1a3bde[_0x8e7448(0x126)]||_0x8e7448(0x146),_0x2d5c7b=redisClient['getClient']();if(_0x5c5d2c===_0x2f7678['aNoIE']){const _0x49522f=(_0x1a3bde[_0x8e7448(0x1a3)]||_0x2f7678[_0x8e7448(0xc3)])['toLowerCase']();if(!ALLOWED_FORMATS['has'](_0x49522f))throw new IdGeneratorError(_0x2f7678['FUxbu'],'Invalid\x20format:\x20'+_0x1a3bde[_0x8e7448(0x1a3)]);const {formatKey:_0x4ec3a2}=this[_0x8e7448(0x193)](_0x49522f,_0x1a3bde['prefix']||''),_0x176cfd=this[_0x8e7448(0x178)](_0x1a3bde['resource'],_0x4ec3a2),_0x59329e=this['_buildReuseKey'](_0x1a3bde[_0x8e7448(0x9d)],_0x4ec3a2),[_0x306653,_0x2c5299]=await Promise[_0x8e7448(0xcd)]([_0x2d5c7b['get'](_0x176cfd),_0x2d5c7b[_0x8e7448(0x1a6)](_0x59329e)]);return{'resource':_0x1a3bde['resource'],'mode':_0x8e7448(0x146),'formatKey':_0x4ec3a2,'currentCounter':_0x2f7678[_0x8e7448(0xdf)](parseInt,_0x306653,0xa)||0x0,'reusePoolSize':_0x2f7678['Mbfnu'](_0x2c5299,0x0)};}if(_0x2f7678[_0x8e7448(0xea)](_0x5c5d2c,_0x8e7448(0x157))){const _0x5d3eb7=this['_buildIssuedKey'](_0x1a3bde[_0x8e7448(0x9d)]),_0x9ed49d=await _0x2d5c7b['scard'](_0x5d3eb7);return{'resource':_0x1a3bde['resource'],'mode':_0x2f7678[_0x8e7448(0x1bd)],'issuedCount':_0x9ed49d||0x0};}throw new IdGeneratorError(_0x2f7678[_0x8e7448(0x10d)],_0x8e7448(0x19a)+_0x5c5d2c);}async[a0_0x22768f(0x123)](_0x30cabc){const _0x90647a=a0_0x22768f,_0xb6d4a8={'cbgJI':function(_0x489567,_0x170d74){return _0x489567===_0x170d74;}},_0x263539=await this[_0x90647a(0x13c)](_0x30cabc);if(_0xb6d4a8['cbgJI'](_0x263539[_0x90647a(0x126)],'number')){const _0x9c7a20=redisClient[_0x90647a(0x189)](),_0x13abbe=this['_buildMetaKey'](_0x30cabc[_0x90647a(0x9d)],_0x263539[_0x90647a(0xec)]),_0x7dd08c=this[_0x90647a(0x13b)](_0x30cabc['resource'],_0x263539['formatKey']),[_0x6ee048,_0xee21cf]=await Promise['all']([_0x9c7a20['hgetall'](_0x13abbe),_0x9c7a20['zrange'](_0x7dd08c,0x0,-0x1)]);return{..._0x263539,'reusePoolValues':_0xee21cf[_0x90647a(0x121)](_0x4ec93c=>parseInt(_0x4ec93c,0xa)),'meta':_0x6ee048&&Object[_0x90647a(0xf8)](_0x6ee048)['length']>0x0?_0x6ee048:null};}return _0x263539;}async['reset'](_0x4b9189){const _0x7394a7=a0_0x22768f,_0x2b7d78={'ecyJb':'IDGEN_DISABLED','mpvxb':_0x7394a7(0x100),'zqTMz':_0x7394a7(0xa8),'Lagxq':function(_0xce0dec,_0x36318a){return _0xce0dec===_0x36318a;},'fRpcE':'number','vfMTa':'meta','CTrtq':_0x7394a7(0xeb),'Jgkcx':_0x7394a7(0xbc)};if(!this['enabled'])throw new IdGeneratorError(_0x2b7d78['ecyJb'],'ID\x20Generator\x20is\x20disabled');if(!this['allowReset'])throw new IdGeneratorError(_0x2b7d78['mpvxb'],_0x2b7d78['zqTMz']);this['_validateResource'](_0x4b9189['resource']);const _0x4e7665=_0x4b9189['mode']||'number',_0x2dafff=redisClient[_0x7394a7(0x189)]();if(_0x2b7d78[_0x7394a7(0xb5)](_0x4e7665,'number')){const _0x4c3829=(_0x4b9189['format']||_0x7394a7(0xd2))['toLowerCase']();if(!ALLOWED_FORMATS[_0x7394a7(0x113)](_0x4c3829))throw new IdGeneratorError(_0x7394a7(0x159),_0x7394a7(0x1a9)+_0x4b9189[_0x7394a7(0x1a3)]);const {formatKey:_0x268047}=this['_buildFormatKey'](_0x4c3829,_0x4b9189['prefix']||''),_0x53ff85=this[_0x7394a7(0x178)](_0x4b9189[_0x7394a7(0x9d)],_0x268047),_0x2253aa=this[_0x7394a7(0x13b)](_0x4b9189['resource'],_0x268047),_0x5b931c=this['_buildMetaKey'](_0x4b9189['resource'],_0x268047);return await _0x2dafff['del'](_0x53ff85,_0x2253aa,_0x5b931c),logger[_0x7394a7(0x103)]({'event':'idgen_reset','resource':_0x4b9189['resource'],'mode':_0x7394a7(0x146),'formatKey':_0x268047},'ID\x20Generator\x20reset:\x20'+_0x4b9189[_0x7394a7(0x9d)]+':'+_0x268047),{'reset':!![],'resource':_0x4b9189['resource'],'mode':_0x2b7d78[_0x7394a7(0xfb)],'formatKey':_0x268047,'deletedKeys':['seq','reuse',_0x2b7d78[_0x7394a7(0xaa)]]};}if(_0x2b7d78['Lagxq'](_0x4e7665,_0x7394a7(0x157))){const _0x4fa964=this[_0x7394a7(0xe7)](_0x4b9189[_0x7394a7(0x9d)]);return await _0x2dafff['del'](_0x4fa964),logger['warn']({'event':_0x2b7d78['CTrtq'],'resource':_0x4b9189['resource'],'mode':_0x7394a7(0x157)},_0x7394a7(0x17b)+_0x4b9189['resource']),{'reset':!![],'resource':_0x4b9189[_0x7394a7(0x9d)],'mode':_0x7394a7(0x157),'deletedKeys':[_0x7394a7(0xa6)]};}throw new IdGeneratorError(_0x2b7d78[_0x7394a7(0x9b)],_0x7394a7(0x19a)+_0x4e7665);}}const instance=new IdGenerator();instance['IdGeneratorError']=IdGeneratorError,module[a0_0x22768f(0x114)]=instance,module[a0_0x22768f(0x114)]['IdGeneratorError']=IdGeneratorError;
@@ -1 +1 @@
1
- 'use strict';const a0_0x2bddd9=a0_0x138d;function a0_0x138d(_0x1fe82c,_0x162164){_0x1fe82c=_0x1fe82c-0xa4;const _0xcfa066=a0_0xcfa0();let _0x138d01=_0xcfa066[_0x1fe82c];if(a0_0x138d['GNUqeg']===undefined){var _0x2642d3=function(_0x59e80c){const _0x42d6a8='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4bd2c4='',_0x2bb7df='';for(let _0x331689=0x0,_0x500be4,_0x2b68f0,_0x2a1a96=0x0;_0x2b68f0=_0x59e80c['charAt'](_0x2a1a96++);~_0x2b68f0&&(_0x500be4=_0x331689%0x4?_0x500be4*0x40+_0x2b68f0:_0x2b68f0,_0x331689++%0x4)?_0x4bd2c4+=String['fromCharCode'](0xff&_0x500be4>>(-0x2*_0x331689&0x6)):0x0){_0x2b68f0=_0x42d6a8['indexOf'](_0x2b68f0);}for(let _0xb50579=0x0,_0x31c5fd=_0x4bd2c4['length'];_0xb50579<_0x31c5fd;_0xb50579++){_0x2bb7df+='%'+('00'+_0x4bd2c4['charCodeAt'](_0xb50579)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2bb7df);};a0_0x138d['fgOuDK']=_0x2642d3,a0_0x138d['xZzbjC']={},a0_0x138d['GNUqeg']=!![];}const _0x3f20e2=_0xcfa066[0x0],_0x1804f1=_0x1fe82c+_0x3f20e2,_0x5972c1=a0_0x138d['xZzbjC'][_0x1804f1];return!_0x5972c1?(_0x138d01=a0_0x138d['fgOuDK'](_0x138d01),a0_0x138d['xZzbjC'][_0x1804f1]=_0x138d01):_0x138d01=_0x5972c1,_0x138d01;}(function(_0x46c717,_0x305ecc){const _0x30aa9d=a0_0x138d,_0x220e61=_0x46c717();while(!![]){try{const _0x43c94b=parseInt(_0x30aa9d(0xb9))/0x1*(parseInt(_0x30aa9d(0xd0))/0x2)+-parseInt(_0x30aa9d(0xb5))/0x3*(parseInt(_0x30aa9d(0xab))/0x4)+-parseInt(_0x30aa9d(0xc6))/0x5*(parseInt(_0x30aa9d(0xb7))/0x6)+-parseInt(_0x30aa9d(0xaa))/0x7+-parseInt(_0x30aa9d(0xa7))/0x8+-parseInt(_0x30aa9d(0xa8))/0x9*(-parseInt(_0x30aa9d(0xce))/0xa)+parseInt(_0x30aa9d(0xc7))/0xb*(parseInt(_0x30aa9d(0xaf))/0xc);if(_0x43c94b===_0x305ecc)break;else _0x220e61['push'](_0x220e61['shift']());}catch(_0x5aca34){_0x220e61['push'](_0x220e61['shift']());}}}(a0_0xcfa0,0x342ed));function a0_0xcfa0(){const _0x5056cb=['swrLBxbVDgvUy3KGy29UzMLNDxjHDgLVBIbPBML0AwfSAxPLzcaTigvUywjSzwq6ia','swrLBxbVDgvUy3KGCMvZCg9UC2uGC3rVCMvK','z2vUzxjHDgvlzxK','x2LUAxrPywXPEMvK','yNvPBgrlzxK','oteYndaWEKn0rwTW','mZG3otq1wwX3B29u','DhrS','nZG5ntm3Cg1IuNDt','ndC4oty0sKPsuvHA','Aw5MBW','Dw5RBM93BG','z2v0','mtiZnZKYv1jrzu9V','zgvIDwC','sgjqEfa','AwrLBxbVDgvUy3LFC3rVCMvFzxjYB3i','CMfUzg9Tvvvjra','AwrLBxbVDgvUy3LFBwLZCW','m1vZv01cAa','y3j5ChrV','mJq5otyWvKPbzvj6','AwrLBxbVDgvUy3LFy29UzMLNx2LUAxq','mtqYmfnrs1PsvW','swrLBxbVDgvUy3KGy2fJAguGseLu','x2vUywjSzwq','C3bSAxq','AKD3Be4','zw5HyMXLza','zw52','AwrLBxbVDgvUy3LFC3rVCMu','BwvZC2fNzq','A1POC0G','surftvbpvevoq1LFru5bqKXfra','x3r0Ba','zMrJyu8','mtvHz05WrLO','odHJs3DQCgu','zxjYB3i','rejWr1G','z2v0q2XPzw50','x2vUC3vYzuLUAxrPywXPEMvK','C29LuwW','Cgf0Aa','nZbfs09ytM8','C3rHDhvZq29Kzq','ndi0y0vvEfD3','AxnfBMfIBgvK','wNjlBva','surftvbpvevoq1LFvfrm','zMLSDgvY','A0n5vKW'];a0_0xcfa0=function(){return _0x5056cb;};return a0_0xcfa0();}const redisClient=require('./redis-client'),{logger}=require('./logger'),crypto=require(a0_0x2bddd9(0xb6));class IdempotencyManager{constructor(){this['_enabled']=null,this['_ttl']=null,this['_initialized']=![];}['_initConfig'](){const _0x541dab=a0_0x2bddd9,_0x34db90={'ZrKmP':function(_0x4058e0,_0x5be179){return _0x4058e0===_0x5be179;},'eYmqO':'true','jGwlN':function(_0x2f7b81,_0x97a3a9,_0x59a723){return _0x2f7b81(_0x97a3a9,_0x59a723);},'soeQl':_0x541dab(0xb8)};this[_0x541dab(0xbb)]=_0x34db90[_0x541dab(0xd2)](process[_0x541dab(0xbf)][_0x541dab(0xc3)],_0x34db90['eYmqO']),this['_ttl']=_0x34db90[_0x541dab(0xbd)](parseInt,process['env'][_0x541dab(0xd3)],0xa)||0x12c,this[_0x541dab(0xa5)]=!![],logger[_0x541dab(0xac)]({'event':_0x34db90[_0x541dab(0xcc)],'enabled':this['_enabled'],'ttl':this[_0x541dab(0xc4)]},_0x541dab(0xd6)+this['_enabled']+',\x20TTL:\x20'+this['_ttl']+'s');}['_ensureInitialized'](){!this['_initialized']&&this['_initConfig']();}get[a0_0x2bddd9(0xbe)](){const _0x2bf5cd=a0_0x2bddd9;return this['_ensureInitialized'](),this[_0x2bf5cd(0xbb)];}get['ttl'](){const _0x1d9aae=a0_0x2bddd9;return this[_0x1d9aae(0xcb)](),this[_0x1d9aae(0xc4)];}[a0_0x2bddd9(0xd1)](){const _0x157020=a0_0x2bddd9;return this[_0x157020(0xbe)];}[a0_0x2bddd9(0xa6)](_0x3903c6,_0x263338){const _0x55d9f1=a0_0x2bddd9,_0xbc7e44={'DBpGX':_0x55d9f1(0xad)},_0x46fb7e=_0x263338[_0x55d9f1(0xcd)][_0x55d9f1(0xbc)]('/')[_0x55d9f1(0xd4)](Boolean),_0x5a81ec=_0x46fb7e[0x0]||'default',_0x5e0789=_0x46fb7e[0x1]||_0xbc7e44[_0x55d9f1(0xc9)],_0x1e7eaf=_0x46fb7e[0x2]||'unknown';return'rf:idem:'+_0x5a81ec+':'+_0x5e0789+':'+_0x1e7eaf+':'+_0x3903c6;}async['store'](_0x1570a3,_0x2501f6){const _0x20bcda=a0_0x2bddd9,_0x286371={'fdcaO':_0x20bcda(0xc0),'kZhsH':_0x20bcda(0xd7)};if(!this['enabled'])return![];try{const _0x38f6d2=redisClient['getClient']();return await _0x38f6d2['setex'](_0x1570a3,this[_0x20bcda(0xa9)],JSON['stringify'](_0x2501f6)),logger['debug']({'event':_0x286371[_0x20bcda(0xc5)],'key':_0x1570a3,'ttl':this[_0x20bcda(0xa9)],'statusCode':_0x2501f6[_0x20bcda(0xcf)]},_0x286371[_0x20bcda(0xc2)]),!![];}catch(_0x3c3b7d){return logger[_0x20bcda(0xc8)]({'event':_0x20bcda(0xb2),'key':_0x1570a3,'error':_0x3c3b7d[_0x20bcda(0xc1)]},'Idempotency\x20store\x20error:\x20'+_0x3c3b7d[_0x20bcda(0xc1)]),![];}}async['retrieve'](_0x3a26ed){const _0x3cfc02=a0_0x2bddd9,_0x4446ba={'kCyVL':'idempotency_hit','tDtmX':_0x3cfc02(0xba),'HbPxP':'Idempotency\x20cache\x20MISS'};if(!this['enabled'])return null;try{const _0x5f598d=redisClient[_0x3cfc02(0xca)](),_0x1b0473=await _0x5f598d[_0x3cfc02(0xae)](_0x3a26ed);if(_0x1b0473)return logger[_0x3cfc02(0xac)]({'event':_0x4446ba[_0x3cfc02(0xd5)],'key':_0x3a26ed},_0x4446ba['tDtmX']),JSON['parse'](_0x1b0473);return logger[_0x3cfc02(0xb0)]({'event':_0x3cfc02(0xb4),'key':_0x3a26ed},_0x4446ba[_0x3cfc02(0xb1)]),null;}catch(_0x107b31){return logger[_0x3cfc02(0xc8)]({'event':'idempotency_retrieve_error','key':_0x3a26ed,'error':_0x107b31[_0x3cfc02(0xc1)]},'Idempotency\x20retrieve\x20error:\x20'+_0x107b31[_0x3cfc02(0xc1)]),null;}}[a0_0x2bddd9(0xa4)](_0x384f2f='req'){const _0x56417c=a0_0x2bddd9;return _0x384f2f+'_'+crypto[_0x56417c(0xb3)]();}['buildDeterministicKey'](_0x2e378c,_0x951175,_0x1eb499){return _0x2e378c+':'+_0x951175+':'+_0x1eb499;}}module['exports']=new IdempotencyManager();
1
+ 'use strict';const a0_0x24c687=a0_0x5e70;(function(_0x242ffb,_0x2203c6){const _0x48d031=a0_0x5e70,_0x8f4bea=_0x242ffb();while(!![]){try{const _0x11ab5e=-parseInt(_0x48d031(0xee))/0x1+-parseInt(_0x48d031(0xe3))/0x2*(parseInt(_0x48d031(0xdb))/0x3)+parseInt(_0x48d031(0xd8))/0x4*(parseInt(_0x48d031(0xe4))/0x5)+parseInt(_0x48d031(0xe5))/0x6+-parseInt(_0x48d031(0xed))/0x7+-parseInt(_0x48d031(0xe2))/0x8+parseInt(_0x48d031(0xde))/0x9;if(_0x11ab5e===_0x2203c6)break;else _0x8f4bea['push'](_0x8f4bea['shift']());}catch(_0x378efe){_0x8f4bea['push'](_0x8f4bea['shift']());}}}(a0_0x3fc8,0x75e7c));function a0_0x3fc8(){const _0x7b5e5a=['x2LUAxrPywXPEMvK','ALfhu20','zMLSDgvY','Dw5RBM93BG','yNvPBgrlzxK','BwvZC2fNzq','swrLBxbVDgvUy3KGy29UzMLNDxjHDgLVBIbPBML0AwfSAxPLzcaTigvUywjSzwq6ia','x3r0Ba','C3rYAw5NAwz5','AwrLBxbVDgvUy3LFy29UzMLNx2LUAxq','x2vUC3vYzuLUAxrPywXPEMvK','Dhj1zq','rg9oDwO','CMv0CMLLDMu','v05tBeO','lI9YzwrPCY1JBgLLBNq','C3rVCMu','D2PbB1u','C3bSAxq','mti0A1fmzLjP','swrLBxbVDgvUy3KGy2fJAguGseLu','zw5HyMXLza','mtGXodyZtuPQuwru','z2vUzxjHDgvlzxK','AwrLBxbVDgvUy3LFAgL0','nJe5mJqYm3Pqywfpyq','x2vUywjSzwq','v2jmvxq','DhrS','ntuZotKYzw9fsLHz','mJHJu01isuK','mta5otKWD1rIsg5N','mZG1oduYmLzPzgvizq','x2LUAxrdB25MAwC','C2v0zxG','Aw5MBW','Cgf0Aa','surftvbpvevoq1LFvfrm','sKvAvKW','AxnfBMfIBgvK','mtq0nZm2ow9MrwXYsW','nda1ndiYvKnIrgTW'];a0_0x3fc8=function(){return _0x7b5e5a;};return a0_0x3fc8();}const redisClient=require(a0_0x24c687(0xfe)),{logger}=require('./logger'),crypto=require('crypto');function a0_0x5e70(_0x11cb5b,_0x5bf077){_0x11cb5b=_0x11cb5b-0xd8;const _0x3fc893=a0_0x3fc8();let _0x5e7019=_0x3fc893[_0x11cb5b];if(a0_0x5e70['GYTVjK']===undefined){var _0xa27d86=function(_0x4ea6d9){const _0x37d336='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x55c3a5='',_0x68b8fc='';for(let _0x63127e=0x0,_0x1ce7b9,_0x16f3aa,_0x20e1fb=0x0;_0x16f3aa=_0x4ea6d9['charAt'](_0x20e1fb++);~_0x16f3aa&&(_0x1ce7b9=_0x63127e%0x4?_0x1ce7b9*0x40+_0x16f3aa:_0x16f3aa,_0x63127e++%0x4)?_0x55c3a5+=String['fromCharCode'](0xff&_0x1ce7b9>>(-0x2*_0x63127e&0x6)):0x0){_0x16f3aa=_0x37d336['indexOf'](_0x16f3aa);}for(let _0x1a8b17=0x0,_0x28c645=_0x55c3a5['length'];_0x1a8b17<_0x28c645;_0x1a8b17++){_0x68b8fc+='%'+('00'+_0x55c3a5['charCodeAt'](_0x1a8b17)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x68b8fc);};a0_0x5e70['FwlQJg']=_0xa27d86,a0_0x5e70['xolUdz']={},a0_0x5e70['GYTVjK']=!![];}const _0x502b57=_0x3fc893[0x0],_0xe60761=_0x11cb5b+_0x502b57,_0x33ed73=a0_0x5e70['xolUdz'][_0xe60761];return!_0x33ed73?(_0x5e7019=a0_0x5e70['FwlQJg'](_0x5e7019),a0_0x5e70['xolUdz'][_0xe60761]=_0x5e7019):_0x5e7019=_0x33ed73,_0x5e7019;}class IdempotencyManager{constructor(){const _0x286b66=a0_0x24c687;this['_enabled']=null,this['_ttl']=null,this[_0x286b66(0xef)]=![];}[a0_0x24c687(0xe6)](){const _0x41baa8=a0_0x24c687,_0x121760={'PxCAj':function(_0x3dd8e0,_0x56b713,_0x2bcc53){return _0x3dd8e0(_0x56b713,_0x2bcc53);},'WNSlJ':_0x41baa8(0xf8)};this[_0x41baa8(0xdf)]=process['env']['IDEMPOTENCY_ENABLED']===_0x41baa8(0xfa),this[_0x41baa8(0xf6)]=_0x121760['PxCAj'](parseInt,process['env'][_0x41baa8(0xea)],0xa)||0x12c,this['_initialized']=!![],logger['info']({'event':_0x121760[_0x41baa8(0xfd)],'enabled':this['_enabled'],'ttl':this['_ttl']},_0x41baa8(0xf5)+this['_enabled']+',\x20TTL:\x20'+this[_0x41baa8(0xf6)]+'s');}['_ensureInitialized'](){!this['_initialized']&&this['_initConfig']();}get['enabled'](){return this['_ensureInitialized'](),this['_enabled'];}get[a0_0x24c687(0xe1)](){const _0x2292d2=a0_0x24c687;return this[_0x2292d2(0xf9)](),this[_0x2292d2(0xf6)];}[a0_0x24c687(0xec)](){const _0x2f737a=a0_0x24c687;return this[_0x2f737a(0xda)];}[a0_0x24c687(0xf3)](_0xfe98db,_0x95bbd){const _0x1ce894=a0_0x24c687,_0x3b7b57={'WbLUt':'default','wjAoU':'unknown'},_0x39dd27=_0x95bbd[_0x1ce894(0xe9)][_0x1ce894(0x101)]('/')[_0x1ce894(0xf1)](Boolean),_0x2472ac=_0x39dd27[0x0]||_0x3b7b57[_0x1ce894(0xe0)],_0x42fc0b=_0x39dd27[0x1]||_0x1ce894(0xf2),_0x2f45c9=_0x39dd27[0x2]||_0x3b7b57[_0x1ce894(0x100)];return'rf:idem:'+_0x2472ac+':'+_0x42fc0b+':'+_0x2f45c9+':'+_0xfe98db;}async[a0_0x24c687(0xff)](_0x1b00f1,_0x488df4){const _0x278350=a0_0x24c687,_0x155093={'AkEyC':'idempotency_store','DoNuj':'Idempotency\x20response\x20stored'};if(!this[_0x278350(0xda)])return![];try{const _0x459591=redisClient['getClient']();return await _0x459591[_0x278350(0xe7)](_0x1b00f1,this[_0x278350(0xe1)],JSON[_0x278350(0xf7)](_0x488df4)),logger['debug']({'event':_0x155093['AkEyC'],'key':_0x1b00f1,'ttl':this['ttl'],'statusCode':_0x488df4['statusCode']},_0x155093[_0x278350(0xfb)]),!![];}catch(_0x3048a7){return logger['error']({'event':'idempotency_store_error','key':_0x1b00f1,'error':_0x3048a7['message']},'Idempotency\x20store\x20error:\x20'+_0x3048a7[_0x278350(0xf4)]),![];}}async[a0_0x24c687(0xfc)](_0xc9149){const _0x478ba0=a0_0x24c687,_0x94c434={'JEZVL':_0x478ba0(0xdd),'jQGSm':'idempotency_retrieve_error'};if(!this[_0x478ba0(0xda)])return null;try{const _0xe051b1=redisClient['getClient'](),_0x2e603e=await _0xe051b1['get'](_0xc9149);if(_0x2e603e)return logger[_0x478ba0(0xe8)]({'event':_0x94c434[_0x478ba0(0xeb)],'key':_0xc9149},_0x478ba0(0xd9)),JSON['parse'](_0x2e603e);return logger['debug']({'event':'idempotency_miss','key':_0xc9149},'Idempotency\x20cache\x20MISS'),null;}catch(_0x1e849b){return logger['error']({'event':_0x94c434[_0x478ba0(0xf0)],'key':_0xc9149,'error':_0x1e849b['message']},'Idempotency\x20retrieve\x20error:\x20'+_0x1e849b[_0x478ba0(0xf4)]),null;}}[a0_0x24c687(0xdc)](_0x1b4c68='req'){return _0x1b4c68+'_'+crypto['randomUUID']();}['buildDeterministicKey'](_0x40df7a,_0x28d146,_0x5d5e8f){return _0x40df7a+':'+_0x28d146+':'+_0x5d5e8f;}}module['exports']=new IdempotencyManager();
@@ -1 +1 @@
1
- function a0_0x13b9(_0x12fd64,_0x3d16c1){_0x12fd64=_0x12fd64-0xb9;const _0x45c09d=a0_0x45c0();let _0x13b907=_0x45c09d[_0x12fd64];if(a0_0x13b9['kDKCOJ']===undefined){var _0x1f4901=function(_0x2971d5){const _0x1d839b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x306073='',_0x2c315a='';for(let _0xababe9=0x0,_0x175ecc,_0xf9c598,_0x1107c5=0x0;_0xf9c598=_0x2971d5['charAt'](_0x1107c5++);~_0xf9c598&&(_0x175ecc=_0xababe9%0x4?_0x175ecc*0x40+_0xf9c598:_0xf9c598,_0xababe9++%0x4)?_0x306073+=String['fromCharCode'](0xff&_0x175ecc>>(-0x2*_0xababe9&0x6)):0x0){_0xf9c598=_0x1d839b['indexOf'](_0xf9c598);}for(let _0x3fbcda=0x0,_0x24fa2a=_0x306073['length'];_0x3fbcda<_0x24fa2a;_0x3fbcda++){_0x2c315a+='%'+('00'+_0x306073['charCodeAt'](_0x3fbcda)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2c315a);};a0_0x13b9['kTOqbP']=_0x1f4901,a0_0x13b9['genhIX']={},a0_0x13b9['kDKCOJ']=!![];}const _0x28515b=_0x45c09d[0x0],_0x5636d8=_0x12fd64+_0x28515b,_0x24f696=a0_0x13b9['genhIX'][_0x5636d8];return!_0x24f696?(_0x13b907=a0_0x13b9['kTOqbP'](_0x13b907),a0_0x13b9['genhIX'][_0x5636d8]=_0x13b907):_0x13b907=_0x24f696,_0x13b907;}const a0_0xbc5a9f=a0_0x13b9;(function(_0x3f8fcd,_0x4db2da){const _0x13ce4f=a0_0x13b9,_0x20cc44=_0x3f8fcd();while(!![]){try{const _0x5e4d8b=-parseInt(_0x13ce4f(0xcf))/0x1*(parseInt(_0x13ce4f(0xca))/0x2)+parseInt(_0x13ce4f(0xbd))/0x3*(parseInt(_0x13ce4f(0xdb))/0x4)+parseInt(_0x13ce4f(0xc2))/0x5+parseInt(_0x13ce4f(0xc6))/0x6*(parseInt(_0x13ce4f(0xe2))/0x7)+-parseInt(_0x13ce4f(0xbe))/0x8+parseInt(_0x13ce4f(0xde))/0x9+-parseInt(_0x13ce4f(0xc0))/0xa;if(_0x5e4d8b===_0x4db2da)break;else _0x20cc44['push'](_0x20cc44['shift']());}catch(_0x1108a2){_0x20cc44['push'](_0x20cc44['shift']());}}}(a0_0x45c0,0x318e6));const {logger}=require('./logger');class ImportValidator{['validateRow'](_0x9d695f,_0x528334=[],_0x2896db={}){const _0x28ae90=a0_0x13b9,_0x181ca5={'aoXgZ':function(_0x599a6f,_0x1b9903){return _0x599a6f===_0x1b9903;},'SQORd':function(_0x443d3c,_0x347c47){return _0x443d3c===_0x347c47;}},_0x299a55=[];return _0x528334[_0x28ae90(0xc4)](_0x106c90=>{const _0x45b6fc=_0x28ae90,_0xcd927=_0x9d695f[_0x106c90];(_0x181ca5[_0x45b6fc(0xbb)](_0xcd927,null)||_0x181ca5['aoXgZ'](_0xcd927,undefined)||_0xcd927==='')&&_0x299a55['push']({'field':_0x106c90,'type':_0x45b6fc(0xdd),'message':_0x45b6fc(0xda)});}),Object[_0x28ae90(0xc9)](_0x2896db)['forEach'](_0x3c0a19=>{const _0x2e9765=_0x28ae90,_0x1c303c=_0x9d695f[_0x3c0a19],_0x269a60=_0x2896db[_0x3c0a19];if(_0x1c303c===null||_0x181ca5['SQORd'](_0x1c303c,undefined)||_0x1c303c==='')return;const _0x510f76=this['validateFieldFormat'](_0x3c0a19,_0x1c303c,_0x269a60);_0x510f76&&_0x299a55[_0x2e9765(0xc8)](_0x510f76);}),_0x299a55;}['validateFieldFormat'](_0x49e5ff,_0x5aeb1d,_0x36380a){const _0x109640=a0_0x13b9,_0xb6fbf1={'HqGhc':_0x109640(0xce)};switch(_0x36380a){case _0x109640(0xcb):return this['validateEmail'](_0x49e5ff,_0x5aeb1d);case _0x109640(0xd6):return this['validatePhone'](_0x49e5ff,_0x5aeb1d);case _0x109640(0xc7):return this['validateUrl'](_0x49e5ff,_0x5aeb1d);case _0xb6fbf1[_0x109640(0xcc)]:return this[_0x109640(0xd0)](_0x49e5ff,_0x5aeb1d);default:return null;}}[a0_0xbc5a9f(0xc5)](_0x405e0e,_0x17c7a8){const _0xa58bf3=a0_0xbc5a9f,_0x4bea8d={'JeuOQ':'format','GtYUY':_0xa58bf3(0xcd)},_0xc1f957=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;if(!_0xc1f957['test'](String(_0x17c7a8)))return{'field':_0x405e0e,'type':_0x4bea8d[_0xa58bf3(0xdc)],'message':_0x4bea8d[_0xa58bf3(0xbc)]};return null;}['validatePhone'](_0x4d279b,_0x52a5f4){const _0x13db62=a0_0xbc5a9f,_0x452b85={'hctmj':'format','ottHW':'Invalid\x20phone\x20format'},_0x8acea3=String(_0x52a5f4)[_0x13db62(0xb9)](/\s+/g,''),_0x2f2c79=/^[\d\+\-\(\)]+$/;if(!_0x2f2c79[_0x13db62(0xd5)](_0x8acea3)||_0x8acea3['length']<0x8)return{'field':_0x4d279b,'type':_0x452b85[_0x13db62(0xba)],'message':_0x452b85['ottHW']};return null;}[a0_0xbc5a9f(0xc1)](_0x44ffdf,_0xce75ba){const _0x5b6932=a0_0xbc5a9f,_0x2f8312={'OuLqI':function(_0x28ad18,_0x47d2ed){return _0x28ad18(_0x47d2ed);},'UifiF':_0x5b6932(0xd8)};try{return new URL(_0x2f8312['OuLqI'](String,_0xce75ba)),null;}catch(_0x4b20da){return{'field':_0x44ffdf,'type':'format','message':_0x2f8312[_0x5b6932(0xbf)]};}}[a0_0xbc5a9f(0xd0)](_0x370c4b,_0x308105){const _0x5280d1=a0_0xbc5a9f,_0x6d2340={'LhOLK':'format'};if(isNaN(_0x308105))return{'field':_0x370c4b,'type':_0x6d2340['LhOLK'],'message':_0x5280d1(0xd2)};return null;}[a0_0xbc5a9f(0xc3)](_0x42824b,_0x5be5c4){const _0xb29ca6=a0_0xbc5a9f,_0x1883f7=new Map(),_0x50bdce=[];return _0x42824b[_0xb29ca6(0xc4)]((_0x58b98b,_0x3359de)=>{const _0x78154e=_0xb29ca6,_0xf4d42=_0x5be5c4['map'](_0x13ed5f=>_0x58b98b[_0x13ed5f])['join']('|');_0x1883f7[_0x78154e(0xe0)](_0xf4d42)?_0x50bdce[_0x78154e(0xc8)]({'rowIndex':_0x3359de,'duplicateOf':_0x1883f7['get'](_0xf4d42),'key':_0xf4d42}):_0x1883f7[_0x78154e(0xdf)](_0xf4d42,_0x3359de);}),_0x50bdce;}[a0_0xbc5a9f(0xd4)](_0x40fcd5,_0x45d3b6,_0x5c2376){const _0x92bbec=a0_0xbc5a9f,_0x2529a5={'feswx':function(_0x52eed6,_0x319ecf){return _0x52eed6>_0x319ecf;},'KtTJJ':'Batch\x20validation\x20completed'},_0x4a8b8a=[];return _0x40fcd5['forEach']((_0x1b3abb,_0x346715)=>{const _0x16a840=a0_0x13b9,_0x4bc9f5=this[_0x16a840(0xe1)](_0x1b3abb,_0x45d3b6,_0x5c2376);_0x2529a5[_0x16a840(0xd3)](_0x4bc9f5[_0x16a840(0xd7)],0x0)&&_0x4a8b8a['push']({'rowIndex':_0x346715,'rowData':_0x1b3abb,'errors':_0x4bc9f5});}),logger[_0x92bbec(0xd1)]({'event':'batch_validation_complete','totalRows':_0x40fcd5['length'],'errorCount':_0x4a8b8a[_0x92bbec(0xd7)]},_0x2529a5['KtTJJ']),_0x4a8b8a;}}function a0_0x45c0(){const _0x74c78d=['AgfZ','DMfSAwrHDgvsB3C','mtyYmZnPA1LgD20','CMvWBgfJzq','Agn0BwO','yw9yz1O','r3rzvvK','mJD1BNDXzLi','mtm1mdKWnfzlwMHsyq','vwLMAuy','ndmWotqXmgrZwg9MrG','DMfSAwrHDgvvCMW','mtKXmZe2nxrTyxnwrW','zgv0zwn0rhvWBgLJyxrLC0LUrMLSzq','zM9YrwfJAa','DMfSAwrHDgvfBwfPBa','mJi4qwT1C1Ds','DxjS','ChvZAa','A2v5CW','mKz2BgXRtq','zw1HAwW','shfhAgm','sw52ywXPzcbLBwfPBcbMB3jTyxq','BNvTyMvY','mJC5mdCXu3bys2vH','DMfSAwrHDgvoDw1Izxi','Aw5MBW','sw52ywXPzcbUDw1IzxiGzM9YBwf0','zMvZD3G','yMf0y2HwywXPzgf0zvjVD3m','DgvZDa','CgHVBMu','BgvUz3rO','sw52ywXPzcbvuKWGzM9YBwf0','zxHWB3j0CW','uMvXDwLYzwqGzMLLBgqGAxmGzw1WDhK','mty3mJm2svfuA2vg','sMv1t1e','CMvXDwLYzwq','mJeXmZm4owDnq2jIyW','C2v0'];a0_0x45c0=function(){return _0x74c78d;};return a0_0x45c0();}module[a0_0xbc5a9f(0xd9)]=new ImportValidator();
1
+ const a0_0x4ef084=a0_0x28f4;(function(_0x140319,_0xd9ead7){const _0x145888=a0_0x28f4,_0x186259=_0x140319();while(!![]){try{const _0xf18dc4=-parseInt(_0x145888(0x1c2))/0x1+parseInt(_0x145888(0x1cb))/0x2*(parseInt(_0x145888(0x1bf))/0x3)+-parseInt(_0x145888(0x1d7))/0x4+parseInt(_0x145888(0x1d0))/0x5+-parseInt(_0x145888(0x1c8))/0x6*(-parseInt(_0x145888(0x1d4))/0x7)+-parseInt(_0x145888(0x1d8))/0x8+parseInt(_0x145888(0x1d5))/0x9*(parseInt(_0x145888(0x1ba))/0xa);if(_0xf18dc4===_0xd9ead7)break;else _0x186259['push'](_0x186259['shift']());}catch(_0x47ca65){_0x186259['push'](_0x186259['shift']());}}}(a0_0x1271,0x1a3ca));function a0_0x28f4(_0x9bf2a,_0x12dd2f){_0x9bf2a=_0x9bf2a-0x1ba;const _0x1271c0=a0_0x1271();let _0x28f4c7=_0x1271c0[_0x9bf2a];if(a0_0x28f4['riKGnZ']===undefined){var _0x2f2c48=function(_0x5a4e8d){const _0x174dac='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x61a17e='',_0x1b5b0c='';for(let _0x384ffe=0x0,_0xf844f1,_0x8c056c,_0x8facd1=0x0;_0x8c056c=_0x5a4e8d['charAt'](_0x8facd1++);~_0x8c056c&&(_0xf844f1=_0x384ffe%0x4?_0xf844f1*0x40+_0x8c056c:_0x8c056c,_0x384ffe++%0x4)?_0x61a17e+=String['fromCharCode'](0xff&_0xf844f1>>(-0x2*_0x384ffe&0x6)):0x0){_0x8c056c=_0x174dac['indexOf'](_0x8c056c);}for(let _0x579c61=0x0,_0x351940=_0x61a17e['length'];_0x579c61<_0x351940;_0x579c61++){_0x1b5b0c+='%'+('00'+_0x61a17e['charCodeAt'](_0x579c61)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1b5b0c);};a0_0x28f4['mUpJCZ']=_0x2f2c48,a0_0x28f4['cyffvV']={},a0_0x28f4['riKGnZ']=!![];}const _0x3fe7ab=_0x1271c0[0x0],_0x523f65=_0x9bf2a+_0x3fe7ab,_0x1a73b9=a0_0x28f4['cyffvV'][_0x523f65];return!_0x1a73b9?(_0x28f4c7=a0_0x28f4['mUpJCZ'](_0x28f4c7),a0_0x28f4['cyffvV'][_0x523f65]=_0x28f4c7):_0x28f4c7=_0x1a73b9,_0x28f4c7;}const {logger}=require(a0_0x4ef084(0x1c0));function a0_0x1271(){const _0x4db5b3=['BgvUz3rO','CMvXDwLYzwq','otbdywrTtMS','lI9SB2DNzxi','AM9PBG','mtK0nZmZzfHSsMLI','yMf0y2HwywXPzgf0zvjVD3m','qMf0y2GGDMfSAwrHDgLVBIbJB21WBgv0zwq','sw52ywXPzcbWAg9UzsbMB3jTyxq','zM9YrwfJAa','yMf0y2HFDMfSAwrHDgLVBL9JB21WBgv0zq','mJC2nZiWufH0z3Lx','yLzVv1a','A2v5CW','nduZngntu1rKqG','DMfSAwrHDgvfBwfPBa','sw52ywXPzcbLBwfPBcbMB3jTyxq','z2v0','AgfZ','nZeYoti1DuTgzw1S','C0PYCxe','uMvXDwLYzwqGzMLLBgqGAxmGzw1WDhK','ChvZAa','mJHyBeXnu2G','ovLmrfzYqW','DMfSAwrHDgvsB3C','mZe2oty0B3rVEhHt','mJGYmZC2quPYDNLb','DgvZDa','zuzqqKW','rwvTCuC','mJe2nJiWrg9czNvO','DMfSAwrHDgvgAwvSzezVCM1HDa','zgv0zwn0rhvWBgLJyxrLC0LUrMLSzq'];a0_0x1271=function(){return _0x4db5b3;};return a0_0x1271();}class ImportValidator{['validateRow'](_0x4f0c8d,_0x3e6d26=[],_0x229f40={}){const _0x5b98a8=a0_0x4ef084,_0x29078c={'XTVcB':function(_0x28b828,_0x3bf582){return _0x28b828===_0x3bf582;},'eFPBL':function(_0x3a9d28,_0x163ba7){return _0x3a9d28===_0x163ba7;}},_0x4f1281=[];return _0x3e6d26['forEach'](_0x558d2a=>{const _0x28d96d=a0_0x28f4,_0x1c0a0d=_0x4f0c8d[_0x558d2a];(_0x1c0a0d===null||_0x29078c['XTVcB'](_0x1c0a0d,undefined)||_0x1c0a0d==='')&&_0x4f1281['push']({'field':_0x558d2a,'type':_0x28d96d(0x1be),'message':_0x28d96d(0x1d2)});}),Object[_0x5b98a8(0x1ca)](_0x229f40)['forEach'](_0x324fcf=>{const _0x2b4da4=_0x5b98a8,_0x446844=_0x4f0c8d[_0x324fcf],_0x2a3ac1=_0x229f40[_0x324fcf];if(_0x446844===null||_0x29078c[_0x2b4da4(0x1da)](_0x446844,undefined)||_0x446844==='')return;const _0x46a2a8=this[_0x2b4da4(0x1bb)](_0x324fcf,_0x446844,_0x2a3ac1);_0x46a2a8&&_0x4f1281['push'](_0x46a2a8);}),_0x4f1281;}['validateFieldFormat'](_0x2d49b0,_0x343382,_0x529bb5){const _0x3bdc47=a0_0x4ef084,_0x50bb05={'kOZXf':'email','bVoWP':'phone'};switch(_0x529bb5){case _0x50bb05['kOZXf']:return this[_0x3bdc47(0x1cc)](_0x2d49b0,_0x343382);case _0x50bb05[_0x3bdc47(0x1c9)]:return this['validatePhone'](_0x2d49b0,_0x343382);case'url':return this['validateUrl'](_0x2d49b0,_0x343382);case'number':return this['validateNumber'](_0x2d49b0,_0x343382);default:return null;}}[a0_0x4ef084(0x1cc)](_0x1e59ea,_0x886a23){const _0x164c41=a0_0x4ef084,_0x18eaa8={'EemqG':function(_0x4b639d,_0x43d598){return _0x4b639d(_0x43d598);}},_0x4e5ca1=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;if(!_0x4e5ca1[_0x164c41(0x1d9)](_0x18eaa8[_0x164c41(0x1db)](String,_0x886a23)))return{'field':_0x1e59ea,'type':'format','message':_0x164c41(0x1cd)};return null;}['validatePhone'](_0x4745f1,_0x4dd3f9){const _0x309c1b=a0_0x4ef084,_0x2525b2={'gssGQ':'format'},_0x18d7ef=String(_0x4dd3f9)['replace'](/\s+/g,''),_0x14eafd=/^[\d\+\-\(\)]+$/;if(!_0x14eafd['test'](_0x18d7ef)||_0x18d7ef['length']<0x8)return{'field':_0x4745f1,'type':_0x2525b2['gssGQ'],'message':_0x309c1b(0x1c5)};return null;}['validateUrl'](_0x543fbc,_0x2d5c33){try{return new URL(String(_0x2d5c33)),null;}catch(_0x4bb877){return{'field':_0x543fbc,'type':'format','message':'Invalid\x20URL\x20format'};}}['validateNumber'](_0x597b24,_0x298e28){const _0x465ec2=a0_0x4ef084,_0x5cba50={'iGfNa':function(_0x4fd711,_0x58a42b){return _0x4fd711(_0x58a42b);},'zsZNN':'format','sJrqq':'Invalid\x20number\x20format'};if(_0x5cba50['iGfNa'](isNaN,_0x298e28))return{'field':_0x597b24,'type':_0x5cba50['zsZNN'],'message':_0x5cba50[_0x465ec2(0x1d1)]};return null;}[a0_0x4ef084(0x1bc)](_0x562480,_0xebfbcf){const _0x204694=a0_0x4ef084,_0x257937=new Map(),_0x25b47a=[];return _0x562480[_0x204694(0x1c6)]((_0x2e2327,_0xc6421)=>{const _0x14c900=_0x204694,_0x360f59=_0xebfbcf['map'](_0x3d6647=>_0x2e2327[_0x3d6647])[_0x14c900(0x1c1)]('|');_0x257937[_0x14c900(0x1cf)](_0x360f59)?_0x25b47a['push']({'rowIndex':_0xc6421,'duplicateOf':_0x257937[_0x14c900(0x1ce)](_0x360f59),'key':_0x360f59}):_0x257937['set'](_0x360f59,_0xc6421);}),_0x25b47a;}[a0_0x4ef084(0x1c3)](_0x322df9,_0x4d3986,_0xc4a610){const _0x5a765f=a0_0x4ef084,_0x3411d0={'JRWhp':function(_0xffdde7,_0x3beb57){return _0xffdde7>_0x3beb57;},'OIqXF':_0x5a765f(0x1c4)},_0x484112=[];return _0x322df9['forEach']((_0x1ee62b,_0x4629d5)=>{const _0x387484=_0x5a765f,_0x3e4a4b=this[_0x387484(0x1d6)](_0x1ee62b,_0x4d3986,_0xc4a610);_0x3411d0['JRWhp'](_0x3e4a4b['length'],0x0)&&_0x484112[_0x387484(0x1d3)]({'rowIndex':_0x4629d5,'rowData':_0x1ee62b,'errors':_0x3e4a4b});}),logger['info']({'event':_0x5a765f(0x1c7),'totalRows':_0x322df9[_0x5a765f(0x1bd)],'errorCount':_0x484112['length']},_0x3411d0['OIqXF']),_0x484112;}}module['exports']=new ImportValidator();