@restforgejs/platform 5.0.1 → 5.0.3
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.
- package/build-info.json +2 -2
- package/cli/consumer-deploy.js +1 -1
- package/cli/consumer.js +1 -1
- package/generators/lib/migrate/migrate-runner.js +393 -393
- package/generators/lib/payload/payload-runner.js +20 -0
- package/generators/lib/templates/dashboard-catalog.js +1 -1
- package/generators/lib/templates/db-connection-env.js +1 -1
- package/generators/lib/templates/dbschema-catalog.js +1 -1
- package/generators/lib/templates/field-validation-catalog.js +1 -1
- package/generators/lib/templates/mysql-template.js +1 -1
- package/generators/lib/templates/oracle-template.js +1 -1
- package/generators/lib/templates/postgres-template.js +1 -1
- package/generators/lib/templates/query-declarative-catalog.js +1 -1
- package/generators/lib/templates/sqlite-template.js +1 -1
- package/integrity-manifest.json +18 -18
- package/package.json +1 -1
- package/scripts/verify-integrity.js +1 -1
- package/server.js +1 -1
- package/src/components/handlers/adjust_handler.js +1 -1
- package/src/components/handlers/audit_handler.js +1 -1
- package/src/components/handlers/delete_handler.js +1 -1
- package/src/components/handlers/export_handler.js +1 -1
- package/src/components/handlers/import_handler.js +1 -1
- package/src/components/handlers/insert_handler.js +1 -1
- package/src/components/handlers/update_handler.js +1 -1
- package/src/components/handlers/upload_handler.js +1 -1
- package/src/components/handlers/workflow_handler.js +1 -1
- package/src/components/integrations/webhook.js +1 -1
- package/src/consumers/baseConsumer.js +1 -1
- package/src/consumers/declarativeMapper.js +1 -1
- package/src/consumers/handlers/apiHandler.js +1 -1
- package/src/consumers/handlers/consoleHandler.js +1 -1
- package/src/consumers/handlers/databaseHandler.js +1 -1
- package/src/consumers/handlers/index.js +1 -1
- package/src/consumers/handlers/kafkaHandler.js +1 -1
- package/src/consumers/index.js +1 -1
- package/src/consumers/messageTransformer.js +1 -1
- package/src/consumers/validator.js +1 -1
- package/src/core/db/dialect/base-dialect.js +1 -1
- package/src/core/db/dialect/index.js +1 -1
- package/src/core/db/dialect/mysql-dialect.js +1 -1
- package/src/core/db/dialect/oracle-dialect.js +1 -1
- package/src/core/db/dialect/postgres-dialect.js +1 -1
- package/src/core/db/dialect/sqlite-dialect.js +1 -1
- package/src/core/db/flatten-helper.js +1 -1
- package/src/core/db/query-builder-error.js +1 -1
- package/src/core/db/query-builder.js +1 -1
- package/src/core/db/relation-helper.js +1 -1
- package/src/core/handlers/delete_handler.js +1 -1
- package/src/core/handlers/insert_handler.js +1 -1
- package/src/core/handlers/update_handler.js +1 -1
- package/src/core/models/base-model.js +1 -1
- package/src/core/utils/cache-manager.js +1 -1
- package/src/core/utils/component-engine.js +1 -1
- package/src/core/utils/context-builder.js +1 -1
- package/src/core/utils/datetime-formatter.js +1 -1
- package/src/core/utils/datetime-parser.js +1 -1
- package/src/core/utils/db.js +1 -1
- package/src/core/utils/logger.js +1 -1
- package/src/core/utils/payload-loader.js +1 -1
- package/src/core/utils/security-checks.js +1 -1
- package/src/middleware/body-options.js +1 -1
- package/src/middleware/cors.js +1 -1
- package/src/middleware/idempotency.js +1 -1
- package/src/middleware/rate-limiter.js +1 -1
- package/src/middleware/request-logger.js +1 -1
- package/src/middleware/security-headers.js +1 -1
- package/src/models/base-model-mysql.js +1 -1
- package/src/models/base-model-oracle.js +1 -1
- package/src/models/base-model-sqlite.js +1 -1
- package/src/models/base-model.js +1 -1
- package/src/pro/caching/redis-client.js +1 -1
- package/src/pro/caching/redis-helper.js +1 -1
- package/src/pro/consumers/baseConsumer.js +1 -1
- package/src/pro/consumers/declarativeMapper.js +1 -1
- package/src/pro/consumers/handlers/apiHandler.js +1 -1
- package/src/pro/consumers/handlers/consoleHandler.js +1 -1
- package/src/pro/consumers/handlers/databaseHandler.js +1 -1
- package/src/pro/consumers/handlers/index.js +1 -1
- package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
- package/src/pro/consumers/index.js +1 -1
- package/src/pro/consumers/messageTransformer.js +1 -1
- package/src/pro/consumers/validator.js +1 -1
- package/src/pro/database/base-model-mysql.js +1 -1
- package/src/pro/database/base-model-oracle.js +1 -1
- package/src/pro/database/base-model-sqlite.js +1 -1
- package/src/pro/database/db-mysql.js +1 -1
- package/src/pro/database/db-oracle.js +1 -1
- package/src/pro/database/db-sqlite.js +1 -1
- package/src/pro/excel/excel-generator.js +1 -1
- package/src/pro/excel/excel-parser.js +1 -1
- package/src/pro/excel/export-service.js +1 -1
- package/src/pro/excel/export_handler.js +1 -1
- package/src/pro/excel/import-service.js +1 -1
- package/src/pro/excel/import-validator.js +1 -1
- package/src/pro/excel/import_handler.js +1 -1
- package/src/pro/excel/upsert-builder.js +1 -1
- package/src/pro/idgen/idgen-routes.js +1 -1
- package/src/pro/integrations/lookup-resolver.js +1 -1
- package/src/pro/integrations/upload-handler-v2.js +1 -1
- package/src/pro/integrations/upload-handler.js +1 -1
- package/src/pro/integrations/webhook.js +1 -1
- package/src/pro/locking/lock-routes.js +1 -1
- package/src/pro/locking/resource-lock-manager.js +1 -1
- package/src/pro/messaging/kafkaConsumerService.js +1 -1
- package/src/pro/messaging/kafkaService.js +1 -1
- package/src/pro/messaging/messagehubService.js +1 -1
- package/src/pro/messaging/rabbitmqService.js +1 -1
- package/src/pro/scheduler/job-manager.js +1 -1
- package/src/pro/scheduler/job-routes.js +1 -1
- package/src/pro/scheduler/job-validator.js +1 -1
- package/src/pro/storage/base-storage-provider.js +1 -1
- package/src/pro/storage/file-metadata-helper.js +1 -1
- package/src/pro/storage/index.js +1 -1
- package/src/pro/storage/local-storage-provider.js +1 -1
- package/src/pro/storage/s3-storage-provider.js +1 -1
- package/src/pro/storage/upload-cleanup-job.js +1 -1
- package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
- package/src/pro/storage/upload-pending-tracker.js +1 -1
- package/src/pro/websocket/broadcast-helper.js +1 -1
- package/src/pro/websocket/index.js +1 -1
- package/src/pro/websocket/livesync-server.js +1 -1
- package/src/pro/websocket/ws-broadcaster.js +1 -1
- package/src/services/export-service.js +1 -1
- package/src/services/import-service.js +1 -1
- package/src/services/kafkaConsumerService.js +1 -1
- package/src/services/kafkaService.js +1 -1
- package/src/services/messagehubService.js +1 -1
- package/src/services/rabbitmqService.js +1 -1
- package/src/utils/cache-invalidation-registry.js +1 -1
- package/src/utils/cache-manager.js +1 -1
- package/src/utils/component-engine.js +1 -1
- package/src/utils/config-extractor.js +1 -1
- package/src/utils/consumerLogger.js +1 -1
- package/src/utils/context-builder.js +1 -1
- package/src/utils/dashboard-helpers.js +1 -1
- package/src/utils/dateHelper.js +1 -1
- package/src/utils/datetime-formatter.js +1 -1
- package/src/utils/datetime-parser.js +1 -1
- package/src/utils/db-bootstrap.js +1 -1
- package/src/utils/db-mysql.js +1 -1
- package/src/utils/db-oracle.js +1 -1
- package/src/utils/db-sqlite.js +1 -1
- package/src/utils/db.js +1 -1
- package/src/utils/demo-generator.js +1 -1
- package/src/utils/excel-generator.js +1 -1
- package/src/utils/excel-parser.js +1 -1
- package/src/utils/file-watcher.js +1 -1
- package/src/utils/id-generator.js +1 -1
- package/src/utils/idempotency-manager.js +1 -1
- package/src/utils/import-validator.js +1 -1
- package/src/utils/license-client.js +1 -1
- package/src/utils/lock-manager.js +1 -1
- package/src/utils/logger.js +1 -1
- package/src/utils/lookup-resolver.js +1 -1
- package/src/utils/payload-loader.js +1 -1
- package/src/utils/processor-response.js +1 -1
- package/src/utils/rabbitmq.js +1 -1
- package/src/utils/redis-client.js +1 -1
- package/src/utils/redis-helper.js +1 -1
- package/src/utils/request-scope.js +1 -1
- package/src/utils/security-checks.js +1 -1
- package/src/utils/service-resolver.js +1 -1
- package/src/utils/shutdown-coordinator.js +1 -1
- package/src/utils/trusted-keys.js +1 -1
- package/src/utils/upload-handler.js +1 -1
- package/src/utils/upsert-builder.js +1 -1
- package/src/utils/workflow-hook-executor.js +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';const
|
|
1
|
+
'use strict';const a0_0x520e34=a0_0x2bcc;function a0_0x2bcc(_0x2e8703,_0x19764a){_0x2e8703=_0x2e8703-0x199;const _0xc6f48d=a0_0xc6f4();let _0x2bcc81=_0xc6f48d[_0x2e8703];if(a0_0x2bcc['ycVpID']===undefined){var _0x26377d=function(_0x5a166d){const _0x5d2568='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1df632='',_0x3673ce='';for(let _0xec53a9=0x0,_0x2e54df,_0x4d845e,_0xfc4b18=0x0;_0x4d845e=_0x5a166d['charAt'](_0xfc4b18++);~_0x4d845e&&(_0x2e54df=_0xec53a9%0x4?_0x2e54df*0x40+_0x4d845e:_0x4d845e,_0xec53a9++%0x4)?_0x1df632+=String['fromCharCode'](0xff&_0x2e54df>>(-0x2*_0xec53a9&0x6)):0x0){_0x4d845e=_0x5d2568['indexOf'](_0x4d845e);}for(let _0x54680c=0x0,_0x109324=_0x1df632['length'];_0x54680c<_0x109324;_0x54680c++){_0x3673ce+='%'+('00'+_0x1df632['charCodeAt'](_0x54680c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3673ce);};a0_0x2bcc['KUvDGb']=_0x26377d,a0_0x2bcc['XziEBu']={},a0_0x2bcc['ycVpID']=!![];}const _0xab4ed9=_0xc6f48d[0x0],_0x161334=_0x2e8703+_0xab4ed9,_0x5d697a=a0_0x2bcc['XziEBu'][_0x161334];return!_0x5d697a?(_0x2bcc81=a0_0x2bcc['KUvDGb'](_0x2bcc81),a0_0x2bcc['XziEBu'][_0x161334]=_0x2bcc81):_0x2bcc81=_0x5d697a,_0x2bcc81;}(function(_0x54420b,_0x1c572d){const _0x58e8a6=a0_0x2bcc,_0x4cc4cc=_0x54420b();while(!![]){try{const _0x2f5696=-parseInt(_0x58e8a6(0x1bb))/0x1*(parseInt(_0x58e8a6(0x1a1))/0x2)+parseInt(_0x58e8a6(0x1a5))/0x3*(-parseInt(_0x58e8a6(0x1ba))/0x4)+-parseInt(_0x58e8a6(0x1ac))/0x5+-parseInt(_0x58e8a6(0x1b3))/0x6*(parseInt(_0x58e8a6(0x1ae))/0x7)+parseInt(_0x58e8a6(0x19d))/0x8*(parseInt(_0x58e8a6(0x1b1))/0x9)+parseInt(_0x58e8a6(0x1a6))/0xa+parseInt(_0x58e8a6(0x1a2))/0xb;if(_0x2f5696===_0x1c572d)break;else _0x4cc4cc['push'](_0x4cc4cc['shift']());}catch(_0x296c82){_0x4cc4cc['push'](_0x4cc4cc['shift']());}}}(a0_0xc6f4,0x6f746));const fs=require('fs'),path=require(a0_0x520e34(0x1b6));class FileWatcher{constructor(_0x73cdbb={}){const _0x1c521c=a0_0x520e34,_0x52b747={'mzLoF':'.js','dGwlm':'.json'},_0x3ced86=_0x1c521c(0x1a9)['split']('|');let _0x222b4b=0x0;while(!![]){switch(_0x3ced86[_0x222b4b++]){case'0':this['onChange']=_0x73cdbb[_0x1c521c(0x1b9)]||(()=>{});continue;case'1':this[_0x1c521c(0x19e)]=[];continue;case'2':this[_0x1c521c(0x19f)]=_0x73cdbb['debounceMs']||0x1f4;continue;case'3':this['extensions']=_0x73cdbb['extensions']||[_0x52b747[_0x1c521c(0x1b2)],_0x52b747[_0x1c521c(0x1b7)]];continue;case'4':this[_0x1c521c(0x1aa)]=null;continue;case'5':this[_0x1c521c(0x1a8)]=_0x73cdbb['directories']||[];continue;}break;}}['start'](){const _0x5095eb=a0_0x520e34,_0x23c5fd={'jcSHZ':'error'};for(const _0xfaebc2 of this[_0x5095eb(0x1a8)]){if(!fs['existsSync'](_0xfaebc2)){console['log']('\x20\x20[WATCH]\x20Warning:\x20Directory\x20not\x20found,\x20skipping:\x20'+(path[_0x5095eb(0x1b5)](process[_0x5095eb(0x19b)](),_0xfaebc2)||_0xfaebc2));continue;}try{const _0x5e2a23=fs['watch'](_0xfaebc2,{'recursive':!![]},(_0x5d5430,_0x59aade)=>{const _0x3ceeed=_0x5095eb;if(!_0x59aade)return;const _0x4ede13=path['extname'](_0x59aade)[_0x3ceeed(0x1b0)]();if(!this[_0x3ceeed(0x1ab)][_0x3ceeed(0x199)](_0x4ede13))return;this['_debounce'](_0x59aade);});_0x5e2a23['on'](_0x23c5fd[_0x5095eb(0x1a0)],_0x39a7e0=>{const _0x5b3be3=_0x5095eb;console[_0x5b3be3(0x1ad)]('\x20\x20[WATCH]\x20Warning:\x20Watcher\x20error\x20on\x20'+path[_0x5b3be3(0x1b5)](process['cwd'](),_0xfaebc2)+':\x20'+_0x39a7e0[_0x5b3be3(0x1a4)]);}),this[_0x5095eb(0x19e)]['push'](_0x5e2a23);const _0x41d141=path[_0x5095eb(0x1b5)](process['cwd'](),_0xfaebc2)||_0xfaebc2;console[_0x5095eb(0x1ad)]('\x20\x20[WATCH]\x20Watching:\x20'+_0x41d141+_0x5095eb(0x1b8));}catch(_0x1c953f){console[_0x5095eb(0x1ad)]('\x20\x20[WATCH]\x20Warning:\x20Failed\x20to\x20setup\x20watcher\x20for\x20'+path[_0x5095eb(0x1b5)](process[_0x5095eb(0x19b)](),_0xfaebc2)+':\x20'+_0x1c953f[_0x5095eb(0x1a4)]);}}}[a0_0x520e34(0x1a7)](){const _0x112d68=a0_0x520e34;for(const _0x12fcf1 of this['watchers']){try{_0x12fcf1[_0x112d68(0x1b4)]();}catch(_0x500b62){}}this['watchers']=[],this[_0x112d68(0x1aa)]&&(clearTimeout(this['debounceTimer']),this[_0x112d68(0x1aa)]=null);}[a0_0x520e34(0x19a)](_0x11a649){const _0x725153=a0_0x520e34,_0x397b51={'Qjfat':function(_0x3cf207,_0x20fc61){return _0x3cf207(_0x20fc61);},'dxAPv':function(_0xe90cab,_0x489875,_0xb7afa9){return _0xe90cab(_0x489875,_0xb7afa9);}};this['debounceTimer']&&_0x397b51[_0x725153(0x19c)](clearTimeout,this[_0x725153(0x1aa)]),this['debounceTimer']=_0x397b51[_0x725153(0x1af)](setTimeout,()=>{const _0x162069=_0x725153;this[_0x162069(0x1aa)]=null,this[_0x162069(0x1b9)](_0x11a649);},this['debounceMs']);}}function a0_0xc6f4(){const _0x1c0361=['nJmXmdCZmeHHsNLMzG','C3rVCa','zgLYzwn0B3jPzxm','nxWZFdj8mhWXFdq','zgvIB3vUy2vuAw1LCG','zxH0zw5ZAw9UCW','ndq0ndu1q3ncshHe','Bg9N','mJu0oteYn3bZCwzbuG','zhHbuhy','Dg9mB3DLCKnHC2u','ovrRre9wrW','BxPmB0y','nNbNruLLsq','y2XVC2u','CMvSyxrPDMu','Cgf0Aa','zeD3Bg0','lYaOCMvJDxjZAxzLkq','B25dAgfUz2u','mZu1ndi0yNnlDwHp','mwnmvenHvG','Aw5JBhvKzxm','x2rLyM91BMnL','y3DK','uwPMyxq','mJu0mJeXmMHYCKH5ua','D2f0y2HLCNm','zgvIB3vUy2vnCW','AMntsfO','mteXndeYmK1QrfHmEG','mtq0oti0nZHfzgPrAKm','zxHWB3j0CW','BwvZC2fNzq','mJD3vhLwDNO'];a0_0xc6f4=function(){return _0x1c0361;};return a0_0xc6f4();}module[a0_0x520e34(0x1a3)]=FileWatcher;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';const a0_0x4a2846=a0_0x5a1f;(function(_0x31af6a,_0x481eba){const _0x30cd70=a0_0x5a1f,_0xd5e493=_0x31af6a();while(!![]){try{const _0x2db42a=parseInt(_0x30cd70(0x185))/0x1+-parseInt(_0x30cd70(0x129))/0x2+-parseInt(_0x30cd70(0x17e))/0x3+parseInt(_0x30cd70(0x11f))/0x4*(-parseInt(_0x30cd70(0x163))/0x5)+parseInt(_0x30cd70(0x196))/0x6+-parseInt(_0x30cd70(0x156))/0x7*(-parseInt(_0x30cd70(0x10c))/0x8)+-parseInt(_0x30cd70(0xd1))/0x9*(parseInt(_0x30cd70(0xb4))/0xa);if(_0x2db42a===_0x481eba)break;else _0xd5e493['push'](_0xd5e493['shift']());}catch(_0x3818de){_0xd5e493['push'](_0xd5e493['shift']());}}}(a0_0xd1e7,0x9879a));const crypto=require('crypto'),redisClient=require('./redis-client'),{logger}=require('./logger'),idempotencyManager=require(a0_0x4a2846(0x128)),ALLOWED_FORMATS=new Set([a0_0x4a2846(0x19a),'yyyy','yyyymm','yyyymmdd']),RESOURCE_REGEX=/^[A-Za-z0-9_-]{1,64}$/,PREFIX_REGEX=/^[A-Za-z0-9_-]{0,32}$/,SEPARATOR_FORBIDDEN=/:/,MAX_NUM_DIGITS=0xc,MIN_NUM_DIGITS=0x1,MAX_PIN_DIGITS=0xc,MIN_PIN_DIGITS=0x4,MAX_PATTERN_LENGTH=0x100,MAX_TTL=0x278d00,MAX_RETRY_LIMIT=0x64,MAX_IDEMPOTENCY_KEY_LENGTH=0x80,RESERVATION_TOKEN_REGEX=/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i,MIN_RESERVE_TTL=0xa,MAX_RESERVE_TTL=0x15180,DEFAULT_RESERVE_TTL=0x258,RESERVE_REAP_BATCH=0x40,CHARSET_DIGIT=a0_0x4a2846(0xf6),CHARSET_UPPER='ABCDEFGHIJKLMNOPQRSTUVWXYZ',CHARSET_LOWER='abcdefghijklmnopqrstuvwxyz',CHARSET_LETTERS=CHARSET_UPPER+CHARSET_LOWER,CHARSET_UPPER_ALNUM=CHARSET_UPPER+CHARSET_DIGIT,CHARSET_MIXED_ALNUM=CHARSET_UPPER+CHARSET_LOWER+CHARSET_DIGIT,CHARSET_HEX_UPPER='0123456789ABCDEF',CHARSET_HEX_LOWER='0123456789abcdef',PLACEHOLDER_MAP={'9':CHARSET_DIGIT,'N':CHARSET_DIGIT,'A':CHARSET_UPPER,'a':CHARSET_LOWER,'L':CHARSET_LETTERS,'X':CHARSET_UPPER_ALNUM,'x':CHARSET_MIXED_ALNUM,'H':CHARSET_HEX_UPPER,'h':CHARSET_HEX_LOWER},LUA_GENERATE_NUMBER=a0_0x4a2846(0x118),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=a0_0x4a2846(0x16b),LUA_CANCEL_RESERVATION=a0_0x4a2846(0xc7),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(_0x2873a8,_0x46ad67,_0x16fb6c=null){const _0x3d1175=a0_0x4a2846,_0x6916b={'yCRby':function(_0x4ea1e4,_0x13ddeb){return _0x4ea1e4||_0x13ddeb;}};super(_0x6916b['yCRby'](_0x46ad67,_0x2873a8)),this[_0x3d1175(0xf3)]='IdGeneratorError',this['code']=_0x2873a8,this[_0x3d1175(0x168)]=_0x16fb6c;}}function a0_0x5a1f(_0x5ca387,_0x502136){_0x5ca387=_0x5ca387-0xb4;const _0xd1e7e2=a0_0xd1e7();let _0x5a1f2d=_0xd1e7e2[_0x5ca387];if(a0_0x5a1f['llHmnV']===undefined){var _0x206717=function(_0x4acf1e){const _0x11f3bd='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x31c7e3='',_0x473ff4='';for(let _0x260b0f=0x0,_0x1e6dc0,_0x3f6ef3,_0x54de16=0x0;_0x3f6ef3=_0x4acf1e['charAt'](_0x54de16++);~_0x3f6ef3&&(_0x1e6dc0=_0x260b0f%0x4?_0x1e6dc0*0x40+_0x3f6ef3:_0x3f6ef3,_0x260b0f++%0x4)?_0x31c7e3+=String['fromCharCode'](0xff&_0x1e6dc0>>(-0x2*_0x260b0f&0x6)):0x0){_0x3f6ef3=_0x11f3bd['indexOf'](_0x3f6ef3);}for(let _0x544d34=0x0,_0x1ff6db=_0x31c7e3['length'];_0x544d34<_0x1ff6db;_0x544d34++){_0x473ff4+='%'+('00'+_0x31c7e3['charCodeAt'](_0x544d34)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x473ff4);};a0_0x5a1f['lHdWHJ']=_0x206717,a0_0x5a1f['xhnRqe']={},a0_0x5a1f['llHmnV']=!![];}const _0x1fd211=_0xd1e7e2[0x0],_0x4f82b0=_0x5ca387+_0x1fd211,_0x90e88e=a0_0x5a1f['xhnRqe'][_0x4f82b0];return!_0x90e88e?(_0x5a1f2d=a0_0x5a1f['lHdWHJ'](_0x5a1f2d),a0_0x5a1f['xhnRqe'][_0x4f82b0]=_0x5a1f2d):_0x5a1f2d=_0x90e88e,_0x5a1f2d;}class IdGenerator{constructor(){const _0x2992bb=a0_0x4a2846;this[_0x2992bb(0x1a9)]=![],this[_0x2992bb(0x10e)]=null,this['_keyPrefix']=null,this[_0x2992bb(0x164)]=null,this[_0x2992bb(0xe9)]=null,this[_0x2992bb(0x1c8)]=null,this['_defaultPinDigits']=null,this[_0x2992bb(0x151)]=null,this[_0x2992bb(0xdc)]=null,this['_counterTTLMap']=null,this[_0x2992bb(0x149)]=null,this['_reserveMaxTTL']=null;}['_initConfig'](){const _0xd66d46=a0_0x4a2846,_0x1f0662={'nkGdT':_0xd66d46(0x13e),'NnzmB':function(_0x5d7e55,_0x5ccf5b){return _0x5d7e55===_0x5ccf5b;},'CiLnl':function(_0x3fb984,_0x4ae0fd,_0x233e73){return _0x3fb984(_0x4ae0fd,_0x233e73);},'odiUG':'true','iKXjx':function(_0x5765b9,_0x2c147c,_0x3e1ce9){return _0x5765b9(_0x2c147c,_0x3e1ce9);},'JzALS':'XXXX-XXXX-XXXX-XXXX','Eclur':_0xd66d46(0x14e),'ndTry':function(_0x5487c5,_0xf14ce0,_0x3dd242){return _0x5487c5(_0xf14ce0,_0x3dd242);},'DffeX':function(_0x2dc952,_0x3f8fc2,_0x27cd27){return _0x2dc952(_0x3f8fc2,_0x27cd27);},'JdwRX':function(_0x474feb,_0x18183d,_0x20c890){return _0x474feb(_0x18183d,_0x20c890);},'bsBRB':_0xd66d46(0x171)};this['_keyPrefix']=_0x1f0662[_0xd66d46(0x152)],this['_enabled']=_0x1f0662[_0xd66d46(0x1b5)](process['env']['IDGEN_ENABLED'],_0xd66d46(0x17f)),this['_idemTTL']=_0x1f0662[_0xd66d46(0xc5)](parseInt,process['env'][_0xd66d46(0x1bc)],0xa)||0x258,this['_allowReset']=process['env'][_0xd66d46(0x18e)]===_0x1f0662['odiUG'],this['_defaultMaxRetry']=parseInt(process[_0xd66d46(0x137)]['IDGEN_DEFAULT_MAX_RETRY'],0xa)||0xa,this['_defaultPinDigits']=_0x1f0662[_0xd66d46(0x120)](parseInt,process[_0xd66d46(0x137)][_0xd66d46(0xe6)],0xa)||0x6,this[_0xd66d46(0x151)]=process['env']['IDGEN_DEFAULT_SERIAL_PATTERN']||_0x1f0662[_0xd66d46(0x14f)],this['_defaultCodePattern']=process[_0xd66d46(0x137)][_0xd66d46(0x114)]||_0x1f0662[_0xd66d46(0x150)],this['_counterTTLMap']={'yyyymm':_0x1f0662['ndTry'](parseInt,process[_0xd66d46(0x137)]['IDGEN_COUNTER_TTL_MONTHLY'],0xa)||0x2a3000,'yyyymmdd':_0x1f0662['DffeX'](parseInt,process[_0xd66d46(0x137)]['IDGEN_COUNTER_TTL_DAILY'],0xa)||0x2a300},this['_reserveDefaultTTL']=_0x1f0662[_0xd66d46(0xc5)](parseInt,process[_0xd66d46(0x137)]['IDGEN_RESERVE_DEFAULT_TTL'],0xa)||DEFAULT_RESERVE_TTL,this[_0xd66d46(0xe0)]=_0x1f0662[_0xd66d46(0xf8)](parseInt,process['env']['IDGEN_RESERVE_MAX_TTL'],0xa)||MAX_RESERVE_TTL,this['_initialized']=!![],logger['info']({'event':_0x1f0662[_0xd66d46(0x13c)],'enabled':this['_enabled'],'idemTTL':this['_idemTTL'],'allowReset':this[_0xd66d46(0xe9)],'defaultMaxRetry':this['_defaultMaxRetry'],'defaultPinDigits':this['_defaultPinDigits'],'reserveDefaultTTL':this[_0xd66d46(0x149)],'reserveMaxTTL':this['_reserveMaxTTL']},'ID\x20Generator\x20config\x20initialized\x20-\x20enabled:\x20'+this[_0xd66d46(0x10e)]);}[a0_0x4a2846(0xdd)](){const _0x1500dd=a0_0x4a2846;if(!this[_0x1500dd(0x1a9)])this['_initConfig']();}get['enabled'](){const _0x30c654=a0_0x4a2846;return this[_0x30c654(0xdd)](),this[_0x30c654(0x10e)];}get[a0_0x4a2846(0xdf)](){const _0x42f412=a0_0x4a2846;return this['_ensureInitialized'](),this[_0x42f412(0x1a6)];}get['idemTTL'](){const _0x4f631e=a0_0x4a2846;return this['_ensureInitialized'](),this[_0x4f631e(0x164)];}get['allowReset'](){const _0x2a6b17=a0_0x4a2846;return this[_0x2a6b17(0xdd)](),this[_0x2a6b17(0xe9)];}get[a0_0x4a2846(0x1b4)](){return this['_ensureInitialized'](),this['_defaultMaxRetry'];}get[a0_0x4a2846(0x1b8)](){return this['_ensureInitialized'](),this['_defaultPinDigits'];}get['defaultSerialPattern'](){const _0x32af06=a0_0x4a2846;return this[_0x32af06(0xdd)](),this['_defaultSerialPattern'];}get['defaultCodePattern'](){const _0x3f89cd=a0_0x4a2846;return this[_0x3f89cd(0xdd)](),this[_0x3f89cd(0xdc)];}get[a0_0x4a2846(0x15f)](){const _0x15f5a1=a0_0x4a2846;return this[_0x15f5a1(0xdd)](),this['_reserveDefaultTTL'];}get['reserveMaxTTL'](){const _0x4bab45=a0_0x4a2846;return this[_0x4bab45(0xdd)](),this['_reserveMaxTTL'];}['isEnabled'](){return this['enabled'];}[a0_0x4a2846(0x1be)](_0x391dd8){const _0x4ca685=a0_0x4a2846,_0x2f7792={'tHHVE':_0x4ca685(0xc8)};if(typeof _0x391dd8!==_0x2f7792['tHHVE']||!RESOURCE_REGEX[_0x4ca685(0x134)](_0x391dd8))throw new IdGeneratorError('IDGEN_INVALID_RESOURCE','Invalid\x20resource:\x20must\x20match\x20'+RESOURCE_REGEX+'\x20(got:\x20'+JSON['stringify'](_0x391dd8)+')');}['_validateNumberParams'](_0x1cd43a){const _0x3be1ab=a0_0x4a2846,_0x3cc384={'FgFOp':function(_0x5a901b,_0x4a1cfa){return _0x5a901b<_0x4a1cfa;},'FNruw':_0x3be1ab(0x115),'wcGAz':_0x3be1ab(0xc8),'PHEOc':function(_0x2e0489,_0xd01676){return _0x2e0489>_0xd01676;},'AJmZG':function(_0x4e8afb,_0x3b4179){return _0x4e8afb!=_0x3b4179;},'zSVrL':function(_0xfe28f4,_0x17d828){return _0xfe28f4!==_0x17d828;},'tEwNo':'IDGEN_INVALID_RESOURCE','gccMh':function(_0x1560ab,_0xce24db){return _0x1560ab===_0xce24db;}},{resource:_0x13cb45,format:_0x4848db,prefix:_0x42ff6e,separator:_0x1408f4,numDigits:_0x268980,reuseDelete:_0x141ee7}=_0x1cd43a;this[_0x3be1ab(0x1be)](_0x13cb45);const _0x581943=typeof _0x4848db===_0x3be1ab(0xc8)?_0x4848db[_0x3be1ab(0x1db)]():'';if(!ALLOWED_FORMATS['has'](_0x581943))throw new IdGeneratorError(_0x3be1ab(0x18d),_0x3be1ab(0xf1)+[...ALLOWED_FORMATS]['join'](',\x20')+'\x20(got:\x20'+_0x4848db+')');if(!Number[_0x3be1ab(0xb5)](_0x268980)||_0x3cc384['FgFOp'](_0x268980,MIN_NUM_DIGITS)||_0x268980>MAX_NUM_DIGITS)throw new IdGeneratorError(_0x3cc384[_0x3be1ab(0x1cf)],_0x3be1ab(0x192)+MIN_NUM_DIGITS+'-'+MAX_NUM_DIGITS+'\x20(got:\x20'+_0x268980+')');const _0x138a56=_0x42ff6e==null?'':_0x42ff6e;if(typeof _0x138a56!==_0x3cc384[_0x3be1ab(0xfe)]||!PREFIX_REGEX['test'](_0x138a56))throw new IdGeneratorError('IDGEN_INVALID_PREFIX',_0x3be1ab(0x173)+PREFIX_REGEX+'\x20(got:\x20'+JSON['stringify'](_0x42ff6e)+')');const _0x58d7ab=_0x1408f4==null?'':_0x1408f4;if(typeof _0x58d7ab!==_0x3cc384[_0x3be1ab(0xfe)]||_0x3cc384[_0x3be1ab(0x162)](_0x58d7ab[_0x3be1ab(0xd9)],0x3)||SEPARATOR_FORBIDDEN['test'](_0x58d7ab))throw new IdGeneratorError(_0x3be1ab(0x1c4),_0x3be1ab(0x157)+JSON['stringify'](_0x1408f4)+')');if(_0x3cc384[_0x3be1ab(0x165)](_0x141ee7,null)&&_0x3cc384[_0x3be1ab(0x111)](typeof _0x141ee7,'boolean'))throw new IdGeneratorError(_0x3cc384['tEwNo'],'Invalid\x20reuseDelete:\x20must\x20be\x20boolean\x20(got:\x20'+typeof _0x141ee7+')');return{'resource':_0x13cb45,'format':_0x581943,'prefix':_0x138a56,'separator':_0x58d7ab,'numDigits':_0x268980,'reuseDelete':_0x3cc384[_0x3be1ab(0x19c)](_0x141ee7,!![])};}['_validatePattern'](_0x17e2c2){const _0x32482d=a0_0x4a2846,_0x20a10d={'CtCXb':function(_0x3aa608,_0x499f81){return _0x3aa608!==_0x499f81;},'NlNCx':'string','njkTA':function(_0x2de0a8,_0x27c288){return _0x2de0a8===_0x27c288;},'slznr':function(_0x5aa518,_0x1cb107){return _0x5aa518>_0x1cb107;},'ZFagr':'IDGEN_INVALID_PATTERN'};if(_0x20a10d['CtCXb'](typeof _0x17e2c2,_0x20a10d['NlNCx'])||_0x20a10d['njkTA'](_0x17e2c2[_0x32482d(0xd9)],0x0)||_0x20a10d['slznr'](_0x17e2c2[_0x32482d(0xd9)],MAX_PATTERN_LENGTH))throw new IdGeneratorError(_0x20a10d['ZFagr'],_0x32482d(0x10d)+MAX_PATTERN_LENGTH+_0x32482d(0x1a4)+(_0x17e2c2&&_0x17e2c2[_0x32482d(0xd9)])+')');let _0x197461=![];for(const _0x1ad3c5 of _0x17e2c2){if(PLACEHOLDER_MAP[_0x1ad3c5]){_0x197461=!![];break;}}if(!_0x197461)throw new IdGeneratorError(_0x20a10d['ZFagr'],_0x32482d(0x1e1));}['_validateTTL'](_0x51cbc1){const _0x55bc32=a0_0x4a2846,_0x38472b={'BPKmh':function(_0x1c63ef,_0x21649f){return _0x1c63ef==_0x21649f;},'skinU':function(_0x23eddf,_0x5a8427){return _0x23eddf<_0x5a8427;}};if(_0x38472b[_0x55bc32(0x1dc)](_0x51cbc1,null))return undefined;if(!Number['isInteger'](_0x51cbc1)||_0x38472b[_0x55bc32(0xdb)](_0x51cbc1,0x1)||_0x51cbc1>MAX_TTL)throw new IdGeneratorError(_0x55bc32(0xb7),'Invalid\x20ttl:\x20must\x20be\x20integer\x201-'+MAX_TTL+_0x55bc32(0x1ca)+_0x51cbc1+')');return _0x51cbc1;}['_validateMaxRetry'](_0x511b1b){const _0x204b5c=a0_0x4a2846,_0x450756={'WHynD':function(_0x3462e5,_0x4201d7){return _0x3462e5<_0x4201d7;},'BtikD':_0x204b5c(0x130)};if(_0x511b1b==null)return this['defaultMaxRetry'];if(!Number[_0x204b5c(0xb5)](_0x511b1b)||_0x450756[_0x204b5c(0x17b)](_0x511b1b,0x1)||_0x511b1b>MAX_RETRY_LIMIT)throw new IdGeneratorError(_0x450756['BtikD'],_0x204b5c(0xd4)+MAX_RETRY_LIMIT+_0x204b5c(0x12b)+_0x511b1b+')');return _0x511b1b;}[a0_0x4a2846(0xf4)](_0x48d764){const _0x3ebe0d=a0_0x4a2846,_0x18db7f={'MfVhG':function(_0xd257c7,_0xb0f04c){return _0xd257c7!==_0xb0f04c;},'iLbUd':'string','UMCJn':function(_0x190a92,_0x71dc1d){return _0x190a92>_0x71dc1d;}};if(_0x48d764==null)return undefined;if(_0x18db7f[_0x3ebe0d(0x1de)](typeof _0x48d764,_0x18db7f['iLbUd'])||_0x48d764[_0x3ebe0d(0xd9)]===0x0||_0x18db7f[_0x3ebe0d(0xcb)](_0x48d764[_0x3ebe0d(0xd9)],MAX_IDEMPOTENCY_KEY_LENGTH))throw new IdGeneratorError(_0x3ebe0d(0x136),'Invalid\x20idempotencyKey:\x20must\x20be\x20string\x201-'+MAX_IDEMPOTENCY_KEY_LENGTH+'\x20chars');return _0x48d764;}['_validateReserveTTL'](_0x3de2e3){const _0x48c76e=a0_0x4a2846,_0x3a6a5c={'aumiS':function(_0xf709ad,_0x1467e0){return _0xf709ad==_0x1467e0;},'GOVJS':function(_0x2111a2,_0x2936fa){return _0x2111a2>_0x2936fa;}};if(_0x3a6a5c['aumiS'](_0x3de2e3,null))return this[_0x48c76e(0x15f)];if(!Number[_0x48c76e(0xb5)](_0x3de2e3)||_0x3de2e3<MIN_RESERVE_TTL||_0x3a6a5c['GOVJS'](_0x3de2e3,this['reserveMaxTTL']))throw new IdGeneratorError('IDGEN_INVALID_RESERVE_TTL',_0x48c76e(0x117)+MIN_RESERVE_TTL+'-'+this['reserveMaxTTL']+_0x48c76e(0x1ca)+_0x3de2e3+')');return _0x3de2e3;}['_validateReservationToken'](_0x1ec05e){const _0x1eb76d=a0_0x4a2846,_0x391162={'yyNnl':'string'};if(typeof _0x1ec05e!==_0x391162['yyNnl']||!RESERVATION_TOKEN_REGEX['test'](_0x1ec05e))throw new IdGeneratorError(_0x1eb76d(0x143),'Invalid\x20reservation\x20token:\x20must\x20be\x20a\x20valid\x20UUID\x20format\x20(got:\x20'+JSON['stringify'](_0x1ec05e)+')');return _0x1ec05e;}['_pad2'](_0x395a77){return String(_0x395a77)['padStart'](0x2,'0');}[a0_0x4a2846(0x13b)](_0x341f6a,_0x2c2006,_0x281c69=new Date()){const _0x4a2e54=a0_0x4a2846,_0x4626a0={'Xvhog':function(_0x42cf5b,_0x38a6d7){return _0x42cf5b+_0x38a6d7;},'CmSEx':function(_0xadaecb,_0xa94b31){return _0xadaecb||_0xa94b31;},'HSfAl':'text','FMtBV':'yyyymmdd'},_0xa2254a=_0x281c69['getFullYear'](),_0x3292f2=this['_pad2'](_0x4626a0[_0x4a2e54(0x15d)](_0x281c69['getMonth'](),0x1)),_0x5daa8c=this[_0x4a2e54(0xea)](_0x281c69['getDate']()),_0x1ccabc=_0x4626a0[_0x4a2e54(0x1b7)](_0x2c2006,'_');let _0x47bc5c,_0x4150aa='';switch(_0x341f6a){case _0x4626a0['HSfAl']:_0x47bc5c=_0x1ccabc+'_text';break;case'yyyy':_0x4150aa=''+_0xa2254a,_0x47bc5c=_0x1ccabc+_0x4a2e54(0x183)+_0x4150aa;break;case'yyyymm':_0x4150aa=''+_0xa2254a+_0x3292f2,_0x47bc5c=_0x1ccabc+_0x4a2e54(0x1af)+_0x4150aa;break;case _0x4626a0[_0x4a2e54(0x147)]:_0x4150aa=''+_0xa2254a+_0x3292f2+_0x5daa8c,_0x47bc5c=_0x1ccabc+_0x4a2e54(0xe4)+_0x4150aa;break;default:throw new IdGeneratorError('IDGEN_INVALID_FORMAT','Unknown\x20format:\x20'+_0x341f6a);}return{'formatKey':_0x47bc5c,'datePrefix':_0x4150aa};}[a0_0x4a2846(0x11d)](_0x25ea22,_0x142c41){const _0x2202df=a0_0x4a2846;return this[_0x2202df(0xdf)]+_0x2202df(0xbf)+_0x25ea22+':'+_0x142c41;}['_buildReuseKey'](_0x5e3cd1,_0xeae5a1){const _0x57745=a0_0x4a2846;return this[_0x57745(0xdf)]+'reuse:'+_0x5e3cd1+':'+_0xeae5a1;}[a0_0x4a2846(0x1c5)](_0x172700,_0xf39ff7){const _0xbdd082=a0_0x4a2846;return this[_0xbdd082(0xdf)]+'meta:'+_0x172700+':'+_0xf39ff7;}[a0_0x4a2846(0x1bd)](_0x2b0dd9){return this['keyPrefix']+'issued:'+_0x2b0dd9;}[a0_0x4a2846(0xbc)](_0x53496a,_0x42ff39){const _0x57cd05=a0_0x4a2846;return this['keyPrefix']+_0x57cd05(0x102)+_0x53496a+':'+_0x42ff39;}[a0_0x4a2846(0x194)](_0x45534e){return this['keyPrefix']+'rsv:'+_0x45534e;}['_buildReservationIndexKey'](_0xaa031b,_0x1c81c0){return this['keyPrefix']+'rsv_idx:'+_0xaa031b+':'+_0x1c81c0;}[a0_0x4a2846(0x101)](){return this['keyPrefix']+'rsv:';}[a0_0x4a2846(0xcf)](_0x2603ea,_0x247bb2,_0x209758,_0x4287d8){const _0x17f0fc=a0_0x4a2846,_0x10f5e0={'MxjxN':'idgen'};if(_0x209758)return idempotencyManager[_0x17f0fc(0x178)](_0x10f5e0['MxjxN'],_0x2603ea,_0x247bb2+':'+_0x209758+':'+_0x4287d8);return idempotencyManager[_0x17f0fc(0x178)]('idgen',_0x2603ea,_0x247bb2+':'+_0x4287d8);}['_getCounterTTL'](_0x129bcf){return this['_counterTTLMap'][_0x129bcf]||0x0;}[a0_0x4a2846(0xf2)]({format:_0x3e3cb7,prefix:_0x24c517,datePrefix:_0x5a7b7d,separator:_0x5127e0,numDigits:_0x5db240,counterInt:_0x2d2d79}){const _0x16cb40=a0_0x4a2846,_0x1c4f09={'CCEhJ':function(_0xded4dc,_0x54740d){return _0xded4dc>_0x54740d;},'ZEAQw':_0x16cb40(0x158),'oUMAw':function(_0x4aaed8,_0x2c9668){return _0x4aaed8(_0x2c9668);}},_0x42edbf=Math['pow'](0xa,_0x5db240)-0x1;if(_0x1c4f09['CCEhJ'](_0x2d2d79,_0x42edbf))throw new IdGeneratorError(_0x1c4f09[_0x16cb40(0x191)],'Counter\x20overflow:\x20'+_0x2d2d79+_0x16cb40(0x153)+_0x5db240+_0x16cb40(0x19d)+_0x42edbf+').\x20Increase\x20numDigits.',{'counterInt':_0x2d2d79,'numDigits':_0x5db240,'max':_0x42edbf});const _0x39ea77=_0x1c4f09['oUMAw'](String,_0x2d2d79)[_0x16cb40(0x12d)](_0x5db240,'0');if(_0x3e3cb7===_0x16cb40(0x19a))return _0x24c517?''+_0x24c517+_0x5127e0+_0x39ea77:_0x39ea77;return _0x24c517?''+_0x24c517+_0x5127e0+_0x5a7b7d+_0x5127e0+_0x39ea77:''+_0x5a7b7d+_0x5127e0+_0x39ea77;}[a0_0x4a2846(0x11c)]({format:_0x195267,prefix:_0x3d107f,separator:_0xca51f8,numDigits:_0x32d3b9,number:_0x13430c}){const _0x3911a2=a0_0x4a2846,_0x538477={'ybePi':function(_0x4e5014,_0x4fec7){return _0x4e5014===_0x4fec7;},'XZtiS':_0x3911a2(0x19f),'Igytk':_0x3911a2(0xc2),'QLpVh':function(_0x107f6b,_0x131031){return _0x107f6b||_0x131031;}};if(typeof _0x13430c!==_0x3911a2(0xc8)||_0x538477['ybePi'](_0x13430c['length'],0x0))throw new IdGeneratorError(_0x3911a2(0x19f),_0x3911a2(0x160));const _0xe1edab=_0xca51f8||'',_0x96bfb4=_0xe1edab===''?[_0x13430c]:_0x13430c['split'](_0xe1edab);let _0x2a95e7='',_0x405ecb;if(_0x538477['ybePi'](_0x195267,'text')){if(_0x3d107f){if(_0x96bfb4['length']!==0x2||_0x96bfb4[0x0]!==_0x3d107f)throw new IdGeneratorError(_0x538477['XZtiS'],'Number\x20does\x20not\x20match\x20expected\x20format\x20prefix'+_0xe1edab+_0x3911a2(0x1df)+_0x13430c+')');_0x405ecb=_0x96bfb4[0x1];}else{if(_0x96bfb4[_0x3911a2(0xd9)]!==0x1)throw new IdGeneratorError('IDGEN_INVALID_NUMBER',_0x3911a2(0x141)+_0x13430c+')');_0x405ecb=_0x96bfb4[0x0];}}else{const _0x27736e=_0x3d107f?0x3:0x2;if(_0x96bfb4['length']!==_0x27736e)throw new IdGeneratorError(_0x538477[_0x3911a2(0x1d0)],_0x3911a2(0x1ac)+_0x13430c+_0x3911a2(0x14a)+_0x27736e+'\x20parts)');let _0x5aa841=0x0;if(_0x3d107f){if(_0x96bfb4[_0x5aa841]!==_0x3d107f)throw new IdGeneratorError('IDGEN_INVALID_NUMBER','Number\x20prefix\x20mismatch:\x20expected\x20'+_0x3d107f+_0x3911a2(0x110)+_0x96bfb4[_0x5aa841]);_0x5aa841++;}_0x2a95e7=_0x96bfb4[_0x5aa841++];const _0x265bea=_0x195267===_0x538477[_0x3911a2(0xee)]?/^\d{4}$/:_0x195267==='yyyymm'?/^\d{6}$/:/^\d{8}$/;if(!_0x265bea[_0x3911a2(0x134)](_0x2a95e7))throw new IdGeneratorError(_0x538477['XZtiS'],'Number\x20datePrefix\x20invalid\x20for\x20format\x20'+_0x195267+':\x20'+_0x2a95e7);_0x405ecb=_0x96bfb4[_0x5aa841];}if(!new RegExp('^\x5cd{'+_0x32d3b9+'}$')[_0x3911a2(0x134)](_0x405ecb))throw new IdGeneratorError(_0x538477['XZtiS'],'Number\x20counter\x20part\x20must\x20be\x20exactly\x20'+_0x32d3b9+'\x20digits\x20(got:\x20'+_0x405ecb+')');const _0x209d89=parseInt(_0x405ecb,0xa),_0x2d3d6d=_0x538477['QLpVh'](_0x3d107f,'_');let _0x2c073c;return _0x195267===_0x3911a2(0x19a)?_0x2c073c=_0x2d3d6d+_0x3911a2(0xeb):_0x2c073c=_0x2d3d6d+'_'+_0x195267+'_'+_0x2a95e7,{'formatKey':_0x2c073c,'counterInt':_0x209d89,'datePrefix':_0x2a95e7};}['_generateFromPattern'](_0x37a90c){const _0x1d92bc=a0_0x4a2846;let _0x519e65='';for(const _0x523ba3 of _0x37a90c){const _0x4e9667=PLACEHOLDER_MAP[_0x523ba3];if(_0x4e9667){const _0x11fac2=crypto['randomInt'](0x0,_0x4e9667[_0x1d92bc(0xd9)]);_0x519e65+=_0x4e9667[_0x11fac2];}else _0x519e65+=_0x523ba3;}return _0x519e65;}async[a0_0x4a2846(0x172)](_0x31756a){const _0x38ec43=a0_0x4a2846,_0x23ec17={'hglmo':'idgen_idem_retrieve_error','ovzxo':'Idempotency\x20retrieve\x20error'};if(!_0x31756a)return null;try{const _0x163669=redisClient['getClient'](),_0x28e983=await _0x163669['get'](_0x31756a);if(_0x28e983)return logger[_0x38ec43(0x116)]({'event':_0x38ec43(0x104),'key':_0x31756a},'Idempotency\x20cache\x20HIT'),JSON[_0x38ec43(0x18b)](_0x28e983);return null;}catch(_0x33f61e){return logger[_0x38ec43(0x146)]({'event':_0x23ec17[_0x38ec43(0xd5)],'error':_0x33f61e['message']},_0x23ec17['ovzxo']),null;}}async[a0_0x4a2846(0x15e)](_0x2ba7ae,_0x5bc584){const _0x2ffe65=a0_0x4a2846,_0x521bb5={'CzIIE':'idgen_idem_store_error','nKZxV':_0x2ffe65(0x145)};if(!_0x2ba7ae)return;try{const _0x1e52fa=redisClient['getClient']();await _0x1e52fa['setex'](_0x2ba7ae,this['idemTTL'],JSON['stringify'](_0x5bc584));}catch(_0x15ddc6){logger['warn']({'event':_0x521bb5['CzIIE'],'error':_0x15ddc6['message']},_0x521bb5['nKZxV']);}}async['_storeIdemCacheNX'](_0x60438,_0x4a41f3){const _0x788e1=a0_0x4a2846,_0x46ed11={'iKfjH':_0x788e1(0x199),'hWuZf':'Idempotency\x20SET\x20NX\x20error'};if(!_0x60438)return{'stored':!![],'winnerResult':null};try{const _0x33d967=redisClient['getClient'](),_0x203234=JSON[_0x788e1(0x19b)](_0x4a41f3),_0x3e2c3b=await _0x33d967['set'](_0x60438,_0x203234,'EX',this[_0x788e1(0x16f)],'NX');if(_0x3e2c3b==='OK')return{'stored':!![],'winnerResult':null};const _0x5ace3b=await _0x33d967['get'](_0x60438);if(_0x5ace3b)return{'stored':![],'winnerResult':JSON['parse'](_0x5ace3b)};return logger[_0x788e1(0x146)]({'event':_0x788e1(0x18a),'key':_0x60438},_0x788e1(0x12c)),{'stored':!![],'winnerResult':null};}catch(_0x38617a){return logger['warn']({'event':_0x46ed11[_0x788e1(0xde)],'error':_0x38617a[_0x788e1(0x126)]},_0x46ed11['hWuZf']),{'stored':!![],'winnerResult':null};}}async['_undoRandomReservation'](_0x5755e2,_0x3f9b66,_0x1e5b06){const _0x42da97=a0_0x4a2846,_0x3a9d16={'toafW':'Random\x20reservation\x20undo\x20error\x20(orphan\x20slot\x20may\x20remain)'};try{const _0x5403be=redisClient[_0x42da97(0x13d)]();if(_0x1e5b06){const _0x4158b3=this[_0x42da97(0xbc)](_0x5755e2,_0x3f9b66);await _0x5403be['del'](_0x4158b3);}else{const _0x5866c0=this[_0x42da97(0x1bd)](_0x5755e2);await _0x5403be['srem'](_0x5866c0,_0x3f9b66);}}catch(_0x478987){logger[_0x42da97(0x146)]({'event':_0x42da97(0x16d),'error':_0x478987[_0x42da97(0x126)]},_0x3a9d16[_0x42da97(0x1e0)]);}}async['_updateMeta'](_0x4f641d,_0x83b8cc,_0x33ebcd,_0x1c2e9e=0x0){const _0x40d890=a0_0x4a2846,_0x39fa66={'eVLds':function(_0x36a1c6,_0x4c9281){return _0x36a1c6>_0x4c9281;},'ERafW':_0x40d890(0x1c0),'IHSZZ':_0x40d890(0x1a8)};try{const _0x5d723b=redisClient[_0x40d890(0x13d)](),_0x47a222=this['_buildMetaKey'](_0x4f641d,_0x83b8cc),_0x2d48be=[];for(const [_0x3fc3f4,_0x568bff]of Object['entries'](_0x33ebcd)){_0x2d48be[_0x40d890(0x1d2)](_0x3fc3f4,String(_0x568bff));}if(_0x2d48be[_0x40d890(0xd9)]>0x0){await _0x5d723b['hset'](_0x47a222,..._0x2d48be);if(_0x39fa66['eVLds'](_0x1c2e9e,0x0))await _0x5d723b[_0x40d890(0x12e)](_0x47a222,_0x1c2e9e);}}catch(_0xe28b0b){logger['warn']({'event':_0x39fa66[_0x40d890(0x127)],'error':_0xe28b0b[_0x40d890(0x126)]},_0x39fa66['IHSZZ']);}}async[a0_0x4a2846(0xda)](_0x1da4a7){const _0x2e9d97=a0_0x4a2846,_0x347c03={'aawIY':'ID\x20Generator\x20is\x20disabled\x20(set\x20IDGEN_ENABLED=true)','CxsQq':function(_0x7e6195,_0x2961d8){return _0x7e6195(_0x2961d8);},'mhzpY':_0x2e9d97(0xd2),'UhRFY':'idgen_number_generated'};if(!this[_0x2e9d97(0x1e3)])throw new IdGeneratorError(_0x2e9d97(0xc3),_0x347c03['aawIY']);const _0x24a360=this['_validateNumberParams'](_0x1da4a7),_0x5cf5c7=this[_0x2e9d97(0xf4)](_0x1da4a7[_0x2e9d97(0x1a0)]),{resource:_0xd89c24,format:_0x1beb65,prefix:_0x8b4973,separator:_0x5a5ca2,numDigits:_0x32ea4b,reuseDelete:_0x1c5006}=_0x24a360,{formatKey:_0x4e19d3,datePrefix:_0x159f2e}=this[_0x2e9d97(0x13b)](_0x1beb65,_0x8b4973),_0x56cdf3=this[_0x2e9d97(0x11d)](_0xd89c24,_0x4e19d3),_0x321266=this['_buildReuseKey'](_0xd89c24,_0x4e19d3),_0xab9d15=this[_0x2e9d97(0x170)](_0x1beb65);let _0x37d8bf=null;if(_0x5cf5c7){_0x37d8bf=this[_0x2e9d97(0xcf)](_0x2e9d97(0xda),_0xd89c24,_0x4e19d3,_0x5cf5c7);const _0x3a9a75=await this['_retrieveIdemCache'](_0x37d8bf);if(_0x3a9a75)return _0x3a9a75;}const _0x2d5b46=redisClient[_0x2e9d97(0x13d)](),_0x2cdea8=await _0x2d5b46[_0x2e9d97(0x1c3)](LUA_GENERATE_NUMBER,0x2,_0x56cdf3,_0x321266,_0x1c5006?'1':'0',String(_0xab9d15)),_0x5be6f9=_0x2cdea8[0x0],_0x5b5b11=_0x2cdea8[0x1]===0x1,_0x3c8ad6=this['_formatNumber']({'format':_0x1beb65,'prefix':_0x8b4973,'datePrefix':_0x159f2e,'separator':_0x5a5ca2,'numDigits':_0x32ea4b,'counterInt':_0x5be6f9}),_0x986fc1={'value':_0x3c8ad6,'counter':_0x5be6f9,'resource':_0xd89c24,'formatKey':_0x4e19d3,'isReused':_0x5b5b11,'generatedAt':new Date()[_0x2e9d97(0x11e)]()},_0x53f03b=await this[_0x2e9d97(0x193)](_0x37d8bf,_0x986fc1);if(!_0x53f03b['stored']){try{await _0x2d5b46['eval'](LUA_RELEASE_NUMBER,0x1,_0x321266,String(_0x5be6f9),_0x347c03[_0x2e9d97(0xe3)](String,_0xab9d15));}catch(_0x50ffb6){logger['warn']({'event':_0x2e9d97(0x1da),'error':_0x50ffb6[_0x2e9d97(0x126)],'resource':_0xd89c24,'formatKey':_0x4e19d3,'counterInt':_0x5be6f9},_0x2e9d97(0xfa));}return logger[_0x2e9d97(0x116)]({'event':_0x347c03['mhzpY'],'resource':_0xd89c24,'formatKey':_0x4e19d3,'counter':_0x5be6f9},'ID\x20Generator\x20number\x20idem\x20race\x20lost,\x20returning\x20winner\x20envelope'),_0x53f03b['winnerResult'];}return this['_updateMeta'](_0xd89c24,_0x4e19d3,{'lastValue':_0x3c8ad6,'lastCounter':_0x5be6f9,'lastIsReused':_0x5b5b11,'lastGeneratedAt':_0x986fc1[_0x2e9d97(0x18f)]},_0xab9d15),logger['info']({'event':_0x347c03[_0x2e9d97(0xbb)],'resource':_0xd89c24,'formatKey':_0x4e19d3,'counter':_0x5be6f9,'isReused':_0x5b5b11},_0x2e9d97(0xd6)+_0x3c8ad6),_0x986fc1;}async[a0_0x4a2846(0xed)](_0x353ded){const _0x489c54=a0_0x4a2846,_0x1a3781={'SpmDz':_0x489c54(0xc3),'mnqPt':'ID\x20Generator\x20is\x20disabled','HmQMW':function(_0x148abf,_0x353c09){return _0x148abf!==_0x353c09;},'FFwlR':_0x489c54(0xc8),'EGsSs':function(_0x4b3b9d,_0x34a5dd){return _0x4b3b9d===_0x34a5dd;},'nLcvL':_0x489c54(0x19f),'UlnPF':_0x489c54(0x1a2),'DlPvt':_0x489c54(0x19a),'kGHtP':_0x489c54(0x177),'XBWJK':function(_0x16570c,_0x147b66){return _0x16570c(_0x147b66);},'TZKdW':'idgen_number_released'};if(!this['enabled'])throw new IdGeneratorError(_0x1a3781[_0x489c54(0xe5)],_0x1a3781[_0x489c54(0x142)]);let _0x4f183b,_0x1e3411,_0x2c6b2e,_0x8c2211;const _0x1ee4bb=this['_validateIdempotencyKey'](_0x353ded['idempotencyKey']);if(_0x353ded['counterInt']!==undefined&&_0x1a3781['HmQMW'](_0x353ded['counterInt'],null)){this['_validateResource'](_0x353ded[_0x489c54(0x10a)]),_0x4f183b=_0x353ded['resource'];if(_0x1a3781[_0x489c54(0x100)](typeof _0x353ded[_0x489c54(0xb6)],_0x1a3781[_0x489c54(0xe2)])||_0x1a3781['EGsSs'](_0x353ded[_0x489c54(0xb6)][_0x489c54(0xd9)],0x0))throw new IdGeneratorError(_0x1a3781[_0x489c54(0x188)],_0x1a3781['UlnPF']);_0x1e3411=_0x353ded['formatKey'];if(!Number['isInteger'](_0x353ded['counterInt'])||_0x353ded[_0x489c54(0x103)]<0x1)throw new IdGeneratorError(_0x1a3781[_0x489c54(0x188)],_0x489c54(0x1cd)+_0x353ded[_0x489c54(0x103)]+')');_0x2c6b2e=_0x353ded[_0x489c54(0x103)];const _0x4f6a9f=_0x1e3411['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/);_0x8c2211=_0x4f6a9f?_0x4f6a9f[0x1]:_0x1a3781[_0x489c54(0xbe)];}else{const _0x2bcc44=this['_validateNumberParams'](_0x353ded),_0x25b9ff=this[_0x489c54(0x11c)]({'format':_0x2bcc44[_0x489c54(0x1b1)],'prefix':_0x2bcc44['prefix'],'separator':_0x2bcc44[_0x489c54(0x1ad)],'numDigits':_0x2bcc44['numDigits'],'number':_0x353ded[_0x489c54(0xda)]});_0x4f183b=_0x2bcc44[_0x489c54(0x10a)],_0x1e3411=_0x25b9ff['formatKey'],_0x2c6b2e=_0x25b9ff[_0x489c54(0x103)],_0x8c2211=_0x2bcc44['format'];}const _0x3a839a=this['_buildReuseKey'](_0x4f183b,_0x1e3411),_0x38203c=this['_getCounterTTL'](_0x8c2211);let _0x2a0be0=null;if(_0x1ee4bb){_0x2a0be0=this['_buildIdemKey'](_0x1a3781[_0x489c54(0x1d5)],_0x4f183b,_0x1e3411,_0x1ee4bb);const _0x4b2ac6=await this['_retrieveIdemCache'](_0x2a0be0);if(_0x4b2ac6)return _0x4b2ac6;}const _0x5963c5=redisClient[_0x489c54(0x13d)]();await _0x5963c5[_0x489c54(0x1c3)](LUA_RELEASE_NUMBER,0x1,_0x3a839a,_0x1a3781[_0x489c54(0x189)](String,_0x2c6b2e),_0x1a3781['XBWJK'](String,_0x38203c));const _0x1fe0dd={'released':!![],'resource':_0x4f183b,'formatKey':_0x1e3411,'counter':_0x2c6b2e,'releasedAt':new Date()[_0x489c54(0x11e)]()};return await this[_0x489c54(0x15e)](_0x2a0be0,_0x1fe0dd),this[_0x489c54(0x1a3)](_0x4f183b,_0x1e3411,{'lastReleasedCounter':_0x2c6b2e,'lastReleasedAt':_0x1fe0dd['releasedAt']},_0x38203c),logger['info']({'event':_0x1a3781['TZKdW'],'resource':_0x4f183b,'formatKey':_0x1e3411,'counter':_0x2c6b2e},'ID\x20Generator\x20number\x20released:\x20'+_0x2c6b2e),_0x1fe0dd;}async['reserveNumber'](_0x415913){const _0x17bdfb=a0_0x4a2846,_0x55f579={'LtIWC':'IDGEN_DISABLED','ZFRSA':function(_0x577fb3,_0x57f87f){return _0x577fb3+_0x57f87f;},'pwjcw':function(_0x347772,_0x14cf73){return _0x347772*_0x14cf73;},'lvXuS':function(_0x22f18b,_0x2fbaeb){return _0x22f18b*_0x2fbaeb;},'ZSRDv':_0x17bdfb(0xb6),'LFDQC':'prefix','VBrJf':'separator','oVCiI':_0x17bdfb(0x11a),'wDwqf':'datePrefix','oHqfa':function(_0x471159,_0x2709ab){return _0x471159||_0x2709ab;},'WxKUI':'createdAt','MbxNq':'expiresAt','jBHIW':function(_0x183668,_0x6758bf){return _0x183668(_0x6758bf);},'UmkDm':function(_0x11873b,_0x340d90){return _0x11873b(_0x340d90);},'YVqbd':function(_0x10da9b,_0x30c272){return _0x10da9b===_0x30c272;},'xTVDL':_0x17bdfb(0x169),'QtUxd':_0x17bdfb(0x1b6),'YJAnJ':_0x17bdfb(0x17a),'rudqy':'Failed\x20to\x20cancel\x20reservation\x20for\x20idempotency\x20loser','HGvwE':_0x17bdfb(0x132),'PGYPf':_0x17bdfb(0xc6)};if(!this['enabled'])throw new IdGeneratorError(_0x55f579[_0x17bdfb(0xd7)],_0x17bdfb(0x14d));const _0x3a1507=this[_0x17bdfb(0x1e2)](_0x415913),_0x15602d=this[_0x17bdfb(0xe8)](_0x415913[_0x17bdfb(0xc4)]),_0x38183d=this['_validateIdempotencyKey'](_0x415913['idempotencyKey']),{resource:_0x1bf14f,format:_0xca1dc2,prefix:_0xc71f42,separator:_0x418c99,numDigits:_0x1cbceb,reuseDelete:_0x5d0a16}=_0x3a1507,{formatKey:_0x3c6af3,datePrefix:_0x28acca}=this[_0x17bdfb(0x13b)](_0xca1dc2,_0xc71f42),_0x2ad926=this['_buildSeqKey'](_0x1bf14f,_0x3c6af3),_0x243c51=this['_buildReuseKey'](_0x1bf14f,_0x3c6af3),_0xebe7ef=this[_0x17bdfb(0x119)](_0x1bf14f,_0x3c6af3),_0x431fd6=this[_0x17bdfb(0x170)](_0xca1dc2);let _0x269afb=null;if(_0x38183d){_0x269afb=this[_0x17bdfb(0xcf)](_0x17bdfb(0x1a1),_0x1bf14f,_0x3c6af3,_0x38183d);const _0x5e198f=await this['_retrieveIdemCache'](_0x269afb);if(_0x5e198f)return _0x5e198f;}const _0x125505=crypto['randomUUID'](),_0x7ddbb1=this['_buildReservationKey'](_0x125505),_0x162354=this[_0x17bdfb(0x101)](),_0xa7312=Date[_0x17bdfb(0x106)](),_0x5db552=_0x55f579[_0x17bdfb(0x1ce)](_0xa7312,_0x55f579['pwjcw'](_0x15602d,0x3e8)),_0xa99656=_0x55f579[_0x17bdfb(0x17d)](_0x15602d,0x3e8),_0x11c34a=new Date(_0xa7312)[_0x17bdfb(0x11e)](),_0x2dce55=new Date(_0x5db552)[_0x17bdfb(0x11e)](),_0x9ab6aa=[_0x17bdfb(0x10a),_0x1bf14f,_0x55f579['ZSRDv'],_0x3c6af3,'format',_0xca1dc2,_0x55f579[_0x17bdfb(0x1ab)],_0xc71f42,_0x55f579['VBrJf'],_0x418c99,_0x55f579['oVCiI'],String(_0x1cbceb),_0x55f579['wDwqf'],_0x55f579[_0x17bdfb(0xc1)](_0x28acca,''),_0x55f579['WxKUI'],_0x11c34a,_0x55f579['MbxNq'],_0x2dce55,'ttlMs',_0x55f579[_0x17bdfb(0x15b)](String,_0xa99656)];_0x38183d&&_0x9ab6aa[_0x17bdfb(0x1d2)](_0x17bdfb(0x166),_0x38183d);const _0x1f515e=redisClient['getClient'](),_0x4a0b41=await _0x1f515e[_0x17bdfb(0x1c3)](LUA_RESERVE_NUMBER,0x3,_0x2ad926,_0x243c51,_0xebe7ef,_0x5d0a16?'1':'0',String(_0x431fd6),_0x125505,_0x7ddbb1,_0x55f579[_0x17bdfb(0xb8)](String,_0xa99656),String(_0x5db552),String(_0xa7312),_0x162354,..._0x9ab6aa),_0x11aa8a=_0x4a0b41[0x0],_0x54c3bf=_0x55f579['YVqbd'](_0x4a0b41[0x1],0x1),_0x102062=_0x4a0b41[0x2]||0x0;let _0x537dba;try{_0x537dba=this[_0x17bdfb(0xf2)]({'format':_0xca1dc2,'prefix':_0xc71f42,'datePrefix':_0x28acca,'separator':_0x418c99,'numDigits':_0x1cbceb,'counterInt':_0x11aa8a});}catch(_0x5b2900){try{await _0x1f515e[_0x17bdfb(0x1c3)](LUA_CANCEL_RESERVATION,0x3,_0x7ddbb1,_0xebe7ef,_0x243c51,_0x125505,String(_0x431fd6));}catch(_0x919e3a){logger[_0x17bdfb(0x146)]({'event':_0x55f579['xTVDL'],'error':_0x919e3a['message'],'resource':_0x1bf14f,'formatKey':_0x3c6af3,'counterInt':_0x11aa8a,'token':_0x125505},_0x17bdfb(0x1c2));}throw _0x5b2900;}try{await _0x1f515e['hset'](_0x7ddbb1,_0x17bdfb(0x16a),_0x537dba);}catch(_0x5f5248){logger['warn']({'event':_0x55f579[_0x17bdfb(0x138)],'error':_0x5f5248['message'],'resource':_0x1bf14f,'formatKey':_0x3c6af3,'counterInt':_0x11aa8a,'token':_0x125505},_0x17bdfb(0x182));}const _0x12909d={'token':_0x125505,'value':_0x537dba,'counter':_0x11aa8a,'resource':_0x1bf14f,'formatKey':_0x3c6af3,'isReused':_0x54c3bf,'createdAt':_0x11c34a,'expiresAt':_0x2dce55,'reapedCount':_0x102062},_0x1ce135=await this[_0x17bdfb(0x193)](_0x269afb,_0x12909d);if(!_0x1ce135[_0x17bdfb(0xcc)]){try{await _0x1f515e[_0x17bdfb(0x1c3)](LUA_CANCEL_RESERVATION,0x3,_0x7ddbb1,_0xebe7ef,_0x243c51,_0x125505,_0x55f579[_0x17bdfb(0xb8)](String,_0x431fd6));}catch(_0x2a97db){logger[_0x17bdfb(0x146)]({'event':_0x55f579['YJAnJ'],'error':_0x2a97db['message'],'resource':_0x1bf14f,'formatKey':_0x3c6af3,'counterInt':_0x11aa8a,'token':_0x125505},_0x55f579['rudqy']);}return logger['info']({'event':_0x55f579[_0x17bdfb(0xef)],'resource':_0x1bf14f,'formatKey':_0x3c6af3,'counter':_0x11aa8a,'token':_0x125505},'ID\x20Generator\x20reserve\x20idem\x20race\x20lost,\x20returning\x20winner\x20envelope'),_0x1ce135['winnerResult'];}return this['_updateMeta'](_0x1bf14f,_0x3c6af3,{'lastReservedCounter':_0x11aa8a,'lastReservedAt':_0x11c34a,'lastReapedCount':_0x102062},_0x431fd6),logger[_0x17bdfb(0x116)]({'event':_0x55f579[_0x17bdfb(0x109)],'resource':_0x1bf14f,'formatKey':_0x3c6af3,'counter':_0x11aa8a,'isReused':_0x54c3bf,'token':_0x125505,'ttl':_0x15602d,'reapedCount':_0x102062},_0x17bdfb(0x1d4)+_0x537dba+_0x17bdfb(0xf7)+_0x125505+')'),_0x12909d;}async[a0_0x4a2846(0xd8)](_0x490c14){const _0x2c7933=a0_0x4a2846,_0x1faf28={'Jzpol':_0x2c7933(0x1c7),'cRfqU':_0x2c7933(0xec),'PlQmm':_0x2c7933(0xcd),'MiwKV':_0x2c7933(0x19a),'vooms':_0x2c7933(0x1d8)};if(!this['enabled'])throw new IdGeneratorError(_0x2c7933(0xc3),_0x1faf28[_0x2c7933(0x12a)]);const _0x4687e9=this[_0x2c7933(0x135)](_0x490c14&&_0x490c14[_0x2c7933(0x197)]),_0x17f57f=this[_0x2c7933(0xf4)](_0x490c14&&_0x490c14[_0x2c7933(0x1a0)]);let _0x1f08ad=null;if(_0x17f57f){_0x1f08ad=idempotencyManager[_0x2c7933(0x178)]('idgen',_0x1faf28[_0x2c7933(0x159)],_0x4687e9+':'+_0x17f57f);const _0x25c5ea=await this['_retrieveIdemCache'](_0x1f08ad);if(_0x25c5ea)return _0x25c5ea;}const _0x42d75c=await this[_0x2c7933(0x1bb)](_0x4687e9),_0x59ed74=redisClient['getClient'](),_0x14c902=await _0x59ed74[_0x2c7933(0x1c3)](LUA_CONFIRM_RESERVATION,0x2,_0x42d75c[_0x2c7933(0x140)],_0x42d75c['rsvIdxKey'],_0x4687e9);if(!_0x14c902||_0x14c902[0x0]!==0x1)throw new IdGeneratorError(_0x1faf28['PlQmm'],_0x2c7933(0x167)+_0x4687e9,{'token':_0x4687e9});const _0x37af4a=parseInt(_0x14c902[0x1],0xa),_0x1199fc=_0x14c902[0x2],_0x368992=_0x14c902[0x3],_0x5a8237=new Date()[_0x2c7933(0x11e)](),_0x599985={'confirmed':!![],'token':_0x4687e9,'value':_0x1199fc,'counter':_0x37af4a,'resource':_0x42d75c['resource'],'formatKey':_0x368992,'confirmedAt':_0x5a8237};await this['_storeIdemCache'](_0x1f08ad,_0x599985);const _0x34fd29=_0x368992['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x2df711=_0x34fd29?_0x34fd29[0x1]:_0x1faf28[_0x2c7933(0x198)],_0x5dd300=this['_getCounterTTL'](_0x2df711);return this['_updateMeta'](_0x42d75c[_0x2c7933(0x10a)],_0x368992,{'lastConfirmedCounter':_0x37af4a,'lastConfirmedAt':_0x5a8237},_0x5dd300),logger[_0x2c7933(0x116)]({'event':_0x1faf28[_0x2c7933(0x15a)],'resource':_0x42d75c['resource'],'formatKey':_0x368992,'counter':_0x37af4a,'token':_0x4687e9},'ID\x20Generator\x20reservation\x20confirmed:\x20'+_0x1199fc+'\x20(token='+_0x4687e9+')'),_0x599985;}async['cancelReservation'](_0x2cb7af){const _0x2c9d27=a0_0x4a2846,_0x2ba63d={'BxdFk':_0x2c9d27(0x148),'VlxFA':_0x2c9d27(0x19a),'LQdpf':function(_0x55167e,_0x4b15c8){return _0x55167e(_0x4b15c8);},'MsvyP':'IDGEN_RESERVATION_NOT_FOUND','PRxUw':function(_0x58ac2f,_0x297a77,_0x3c2b75){return _0x58ac2f(_0x297a77,_0x3c2b75);},'pqCUV':_0x2c9d27(0x19e)};if(!this['enabled'])throw new IdGeneratorError(_0x2c9d27(0xc3),_0x2c9d27(0x1c7));const _0x36568=this[_0x2c9d27(0x135)](_0x2cb7af&&_0x2cb7af['token']),_0x29d183=this['_validateIdempotencyKey'](_0x2cb7af&&_0x2cb7af['idempotencyKey']);let _0x4f546d=null;if(_0x29d183){_0x4f546d=idempotencyManager['buildDeterministicKey'](_0x2ba63d['BxdFk'],_0x2c9d27(0xb9),_0x36568+':'+_0x29d183);const _0x442709=await this['_retrieveIdemCache'](_0x4f546d);if(_0x442709)return _0x442709;}const _0x11fb74=await this[_0x2c9d27(0x1bb)](_0x36568),_0x55b6c7=this[_0x2c9d27(0xbd)](_0x11fb74['resource'],_0x11fb74[_0x2c9d27(0xb6)]),_0xdc9118=_0x11fb74['formatKey'][_0x2c9d27(0x1ae)](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x1ffc67=_0xdc9118?_0xdc9118[0x1]:_0x2ba63d[_0x2c9d27(0x133)],_0x15a18d=this[_0x2c9d27(0x170)](_0x1ffc67),_0x5bd232=redisClient[_0x2c9d27(0x13d)](),_0x1d23c9=await _0x5bd232['eval'](LUA_CANCEL_RESERVATION,0x3,_0x11fb74['rsvKey'],_0x11fb74[_0x2c9d27(0x139)],_0x55b6c7,_0x36568,_0x2ba63d[_0x2c9d27(0xba)](String,_0x15a18d));if(!_0x1d23c9||_0x1d23c9[0x0]!==0x1)throw new IdGeneratorError(_0x2ba63d['MsvyP'],_0x2c9d27(0x167)+_0x36568,{'token':_0x36568});const _0x4fda4e=_0x2ba63d['PRxUw'](parseInt,_0x1d23c9[0x1],0xa),_0xdf602c=_0x1d23c9[0x2],_0x818378=_0x1d23c9[0x3],_0x284c42=new Date()[_0x2c9d27(0x11e)](),_0x3e369c={'cancelled':!![],'token':_0x36568,'value':_0xdf602c,'counter':_0x4fda4e,'resource':_0x11fb74[_0x2c9d27(0x10a)],'formatKey':_0x818378,'releasedToReuse':!![],'cancelledAt':_0x284c42};return await this['_storeIdemCache'](_0x4f546d,_0x3e369c),this['_updateMeta'](_0x11fb74['resource'],_0x818378,{'lastCancelledCounter':_0x4fda4e,'lastCancelledAt':_0x284c42},_0x15a18d),logger[_0x2c9d27(0x116)]({'event':_0x2ba63d['pqCUV'],'resource':_0x11fb74['resource'],'formatKey':_0x818378,'counter':_0x4fda4e,'token':_0x36568},_0x2c9d27(0xe1)+_0xdf602c+_0x2c9d27(0xf7)+_0x36568+')'),_0x3e369c;}async['extendReservation'](_0x57c79d){const _0x3ecdb3=a0_0x4a2846,_0x477509={'olIAm':'IDGEN_DISABLED','mliwx':'idgen','izPif':'reserve_extend','tuFsB':function(_0x3329fc,_0xa7edb2){return _0x3329fc+_0xa7edb2;},'GrpKJ':function(_0x3bb39e,_0x1c760e){return _0x3bb39e*_0x1c760e;},'kIjlS':function(_0x1e23f6,_0x4743ec){return _0x1e23f6(_0x4743ec);},'VZMtb':function(_0x761f2,_0x952686){return _0x761f2!==_0x952686;},'lMgPw':_0x3ecdb3(0xcd),'WTfnU':'idgen_reservation_extended'};if(!this['enabled'])throw new IdGeneratorError(_0x477509[_0x3ecdb3(0x180)],_0x3ecdb3(0x1c7));const _0x5f4491=this['_validateReservationToken'](_0x57c79d&&_0x57c79d[_0x3ecdb3(0x197)]),_0x1cd062=this['_validateReserveTTL'](_0x57c79d&&_0x57c79d['ttl']),_0x242f36=this['_validateIdempotencyKey'](_0x57c79d&&_0x57c79d['idempotencyKey']);let _0x2d4790=null;if(_0x242f36){_0x2d4790=idempotencyManager['buildDeterministicKey'](_0x477509[_0x3ecdb3(0x121)],_0x477509[_0x3ecdb3(0x13f)],_0x5f4491+':'+_0x242f36);const _0x31103d=await this[_0x3ecdb3(0x172)](_0x2d4790);if(_0x31103d)return _0x31103d;}const _0x69a80c=await this[_0x3ecdb3(0x1bb)](_0x5f4491),_0xdcaafb=Date[_0x3ecdb3(0x106)](),_0x58785f=_0x477509[_0x3ecdb3(0xc0)](_0xdcaafb,_0x477509['GrpKJ'](_0x1cd062,0x3e8)),_0x52895e=_0x1cd062*0x3e8,_0x2e21e4=new Date(_0x58785f)[_0x3ecdb3(0x11e)](),_0x5a367f=redisClient[_0x3ecdb3(0x13d)](),_0x163f18=await _0x5a367f['eval'](LUA_EXTEND_RESERVATION,0x2,_0x69a80c['rsvKey'],_0x69a80c['rsvIdxKey'],_0x5f4491,_0x477509['kIjlS'](String,_0x52895e),String(_0x58785f),_0x2e21e4);if(!_0x163f18||_0x477509['VZMtb'](_0x163f18[0x0],0x1))throw new IdGeneratorError(_0x477509[_0x3ecdb3(0x124)],'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x5f4491,{'token':_0x5f4491});const _0x5d8878=_0x163f18[0x1],_0x54489f=parseInt(_0x163f18[0x2],0xa),_0x2e82e7=_0x163f18[0x3],_0x12aa11=_0x163f18[0x4],_0xc584d5=new Date(_0xdcaafb)[_0x3ecdb3(0x11e)](),_0x5e5e29={'extended':!![],'token':_0x5f4491,'previousExpiresAt':_0x5d8878,'expiresAt':_0x2e21e4,'ttlMs':_0x52895e,'resource':_0x69a80c['resource'],'formatKey':_0x12aa11,'counter':_0x54489f,'value':_0x2e82e7,'extendedAt':_0xc584d5};await this[_0x3ecdb3(0x15e)](_0x2d4790,_0x5e5e29);const _0xeeb19=_0x12aa11[_0x3ecdb3(0x1ae)](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0xce860f=_0xeeb19?_0xeeb19[0x1]:'text',_0x52beb2=this['_getCounterTTL'](_0xce860f);return this[_0x3ecdb3(0x1a3)](_0x69a80c['resource'],_0x12aa11,{'lastExtendedCounter':_0x54489f,'lastExtendedAt':_0xc584d5},_0x52beb2),logger[_0x3ecdb3(0x116)]({'event':_0x477509[_0x3ecdb3(0x184)],'resource':_0x69a80c['resource'],'formatKey':_0x12aa11,'counter':_0x54489f,'token':_0x5f4491,'ttl':_0x1cd062},'ID\x20Generator\x20reservation\x20extended:\x20'+_0x2e82e7+_0x3ecdb3(0xf7)+_0x5f4491+',\x20+'+_0x1cd062+'s)'),_0x5e5e29;}async['getReservation'](_0x295343){const _0x38556d=a0_0x4a2846,_0x29021f={'sHnbR':'IDGEN_DISABLED','fqCEd':function(_0xf5f813,_0x2051de){return _0xf5f813===_0x2051de;},'DcHBy':_0x38556d(0xcd),'MFyBj':function(_0x35fb2e,_0x4e9349,_0x28e45c){return _0x35fb2e(_0x4e9349,_0x28e45c);},'iktDa':function(_0x13f09a,_0xaaf581){return _0x13f09a===_0xaaf581;},'EYWrx':function(_0x1e7c36,_0x1fbd3f){return _0x1e7c36>=_0x1fbd3f;}};if(!this['enabled'])throw new IdGeneratorError(_0x29021f[_0x38556d(0x175)],'ID\x20Generator\x20is\x20disabled');const _0x574d39=this[_0x38556d(0x135)](_0x295343&&_0x295343[_0x38556d(0x197)]),_0x30ef4b=this['_buildReservationKey'](_0x574d39),_0x3df94a=redisClient['getClient'](),_0x20e059=_0x3df94a['pipeline']();_0x20e059['hgetall'](_0x30ef4b),_0x20e059['pttl'](_0x30ef4b);const _0x3c3f57=await _0x20e059[_0x38556d(0x10b)](),_0x218715=_0x3c3f57&&_0x3c3f57[0x0]&&_0x3c3f57[0x0][0x1],_0x9aa474=_0x3c3f57&&_0x3c3f57[0x1]&&_0x3c3f57[0x1][0x1];if(!_0x218715||_0x29021f[_0x38556d(0xd0)](Object[_0x38556d(0xf5)](_0x218715)['length'],0x0))throw new IdGeneratorError(_0x29021f['DcHBy'],_0x38556d(0x167)+_0x574d39,{'token':_0x574d39});return{'token':_0x574d39,'resource':_0x218715['resource']||null,'formatKey':_0x218715[_0x38556d(0xb6)]||null,'format':_0x218715[_0x38556d(0x1b1)]||null,'prefix':_0x218715['prefix']||'','separator':_0x218715[_0x38556d(0x1ad)]||'','numDigits':_0x218715[_0x38556d(0x11a)]?_0x29021f[_0x38556d(0x16e)](parseInt,_0x218715[_0x38556d(0x11a)],0xa):null,'datePrefix':_0x218715['datePrefix']||'','counter':_0x218715[_0x38556d(0x12f)]?parseInt(_0x218715['counter'],0xa):null,'value':_0x218715['value']||null,'isReused':_0x218715[_0x38556d(0x144)]==='1'||_0x218715[_0x38556d(0x144)]===0x1,'createdAt':_0x218715[_0x38556d(0x125)]||null,'expiresAt':_0x218715['expiresAt']||null,'ttlRemainingMs':_0x29021f[_0x38556d(0x1dd)](typeof _0x9aa474,_0x38556d(0xda))&&_0x29021f['EYWrx'](_0x9aa474,0x0)?_0x9aa474:null};}async[a0_0x4a2846(0x1bb)](_0x50de71){const _0xa155c0=a0_0x4a2846,_0x57e2f0={'oQWbd':'resource','UBaap':'formatKey','kLYjL':function(_0x33df49,_0x61ccee){return _0x33df49||_0x61ccee;},'wPisv':_0xa155c0(0xcd)},_0x27873e=this[_0xa155c0(0x194)](_0x50de71),_0x15ba33=redisClient[_0xa155c0(0x13d)](),_0x29c4af=await _0x15ba33['hmget'](_0x27873e,_0x57e2f0[_0xa155c0(0xfc)],_0x57e2f0['UBaap']),_0xe35058=_0x29c4af&&_0x29c4af[0x0],_0x3ff9e9=_0x29c4af&&_0x29c4af[0x1];if(_0x57e2f0['kLYjL'](!_0xe35058,!_0x3ff9e9))throw new IdGeneratorError(_0x57e2f0['wPisv'],'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x50de71,{'token':_0x50de71});return{'resource':_0xe35058,'formatKey':_0x3ff9e9,'rsvKey':_0x27873e,'rsvIdxKey':this[_0xa155c0(0x119)](_0xe35058,_0x3ff9e9)};}async[a0_0x4a2846(0x179)](_0xafd7d5){const _0x5e7a31=a0_0x4a2846,_0x52c21c={'EOjBX':function(_0x4424a9,_0x21685a){return _0x4424a9<_0x21685a;},'JkJGS':function(_0x376e2d,_0x1e19b2){return _0x376e2d===_0x1e19b2;},'lHYGb':function(_0x512166,_0x3e0fd1){return _0x512166===_0x3e0fd1;},'JPLvc':function(_0x4c155a,_0x223990){return _0x4c155a&&_0x223990;},'UkKGx':function(_0x46aab3,_0x169a51){return _0x46aab3+_0x169a51;}};if(!this[_0x5e7a31(0x1e3)])throw new IdGeneratorError('IDGEN_DISABLED',_0x5e7a31(0x1c7));this[_0x5e7a31(0x1be)](_0xafd7d5[_0x5e7a31(0x10a)]),this['_validatePattern'](_0xafd7d5['pattern']);const _0x18664f=this['_validateTTL'](_0xafd7d5['ttl']),_0xa5ffb6=this[_0x5e7a31(0x131)](_0xafd7d5[_0x5e7a31(0x1b3)]),_0xe02180=this[_0x5e7a31(0xf4)](_0xafd7d5['idempotencyKey']),_0x3b95bf=_0xafd7d5[_0x5e7a31(0x1c1)]===!![],{resource:_0x106454,pattern:_0x246c60}=_0xafd7d5;let _0x17b5be=null;if(_0xe02180){_0x17b5be=this['_buildIdemKey']('random',_0x106454,null,_0xe02180);const _0x5d5193=await this['_retrieveIdemCache'](_0x17b5be);if(_0x5d5193)return _0x5d5193;}const _0x4c33f0=redisClient['getClient']();let _0xd09a03=null,_0x3519f0=0x0;if(!_0x3b95bf)_0xd09a03=this[_0x5e7a31(0x190)](_0x246c60),_0x3519f0=0x1;else{for(let _0x2c0a20=0x0;_0x52c21c[_0x5e7a31(0x174)](_0x2c0a20,_0xa5ffb6);_0x2c0a20++){_0x3519f0++;const _0x2fa42f=this['_generateFromPattern'](_0x246c60);if(_0x18664f){const _0x6e274a=this[_0x5e7a31(0xbc)](_0x106454,_0x2fa42f),_0x50db3f=await _0x4c33f0['set'](_0x6e274a,'1','EX',_0x18664f,'NX');if(_0x52c21c[_0x5e7a31(0x1d3)](_0x50db3f,'OK')){_0xd09a03=_0x2fa42f;break;}}else{const _0x17d46b=this[_0x5e7a31(0x1bd)](_0x106454),_0x21a4ba=await _0x4c33f0['sadd'](_0x17d46b,_0x2fa42f);if(_0x52c21c[_0x5e7a31(0xce)](_0x21a4ba,0x1)){_0xd09a03=_0x2fa42f;break;}}}if(_0xd09a03===null)throw new IdGeneratorError(_0x5e7a31(0x16c),_0x5e7a31(0x113)+_0xa5ffb6+_0x5e7a31(0xfb),{'resource':_0x106454,'pattern':_0x246c60,'maxRetry':_0xa5ffb6});}const _0x2f4f9d={'value':_0xd09a03,'resource':_0x106454,'pattern':_0x246c60,'attemptCount':_0x3519f0,'generatedAt':new Date()[_0x5e7a31(0x11e)]()};_0x52c21c[_0x5e7a31(0x15c)](_0x18664f,_0x3b95bf)&&(_0x2f4f9d['expiresAt']=new Date(_0x52c21c[_0x5e7a31(0x1d1)](Date['now'](),_0x18664f*0x3e8))['toISOString']());const _0x3f2fd1=await this['_storeIdemCacheNX'](_0x17b5be,_0x2f4f9d);if(!_0x3f2fd1[_0x5e7a31(0xcc)])return _0x3b95bf&&await this['_undoRandomReservation'](_0x106454,_0xd09a03,_0x18664f),logger[_0x5e7a31(0x116)]({'event':'idgen_random_idem_loser','resource':_0x106454,'pattern':_0x246c60,'value':_0xd09a03},_0x5e7a31(0x1cb)),_0x3f2fd1['winnerResult'];return logger['info']({'event':'idgen_random_generated','resource':_0x106454,'pattern':_0x246c60,'attemptCount':_0x3519f0,'ensureUnique':_0x3b95bf,'ttl':_0x18664f||0x0},_0x5e7a31(0x13a)+_0xd09a03),_0x2f4f9d;}async[a0_0x4a2846(0x186)](_0x145a58){const _0x43c4a9=a0_0x4a2846,_0x6d95bd={'CEqfi':function(_0x42fa0c,_0x371995){return _0x42fa0c<_0x371995;},'ZYEYY':function(_0x1cba91,_0x2b28d7){return _0x1cba91>_0x2b28d7;}},_0x5ae486=_0x145a58[_0x43c4a9(0xca)]==null?this['defaultPinDigits']:_0x145a58['digits'];if(!Number[_0x43c4a9(0xb5)](_0x5ae486)||_0x6d95bd[_0x43c4a9(0xc9)](_0x5ae486,MIN_PIN_DIGITS)||_0x6d95bd[_0x43c4a9(0x112)](_0x5ae486,MAX_PIN_DIGITS))throw new IdGeneratorError('IDGEN_INVALID_DIGITS','Invalid\x20digits:\x20must\x20be\x20integer\x20'+MIN_PIN_DIGITS+'-'+MAX_PIN_DIGITS+_0x43c4a9(0x12b)+_0x5ae486+')');const _0x36c1e7='9'['repeat'](_0x5ae486);return this['random']({'resource':_0x145a58[_0x43c4a9(0x10a)],'pattern':_0x36c1e7,'ensureUnique':_0x145a58[_0x43c4a9(0x1c1)]===!![],'ttl':_0x145a58['ttl'],'maxRetry':_0x145a58['maxRetry'],'idempotencyKey':_0x145a58[_0x43c4a9(0x1a0)]});}async['serial'](_0x30668f){const _0x51f5fd=a0_0x4a2846,_0x2455a1={'BNhWg':function(_0x9c3f85,_0x28f594){return _0x9c3f85!==_0x28f594;}},_0x4aec21=_0x30668f[_0x51f5fd(0x11b)]||this[_0x51f5fd(0x18c)];return this[_0x51f5fd(0x179)]({'resource':_0x30668f['resource'],'pattern':_0x4aec21,'ensureUnique':_0x2455a1['BNhWg'](_0x30668f[_0x51f5fd(0x1c1)],![]),'ttl':_0x30668f['ttl'],'maxRetry':_0x30668f['maxRetry'],'idempotencyKey':_0x30668f['idempotencyKey']});}async[a0_0x4a2846(0xfd)](_0x3cfd6b){const _0x23b8d8=a0_0x4a2846,_0x230a32=_0x3cfd6b['pattern']||this['defaultCodePattern'];return this['random']({'resource':_0x3cfd6b[_0x23b8d8(0x10a)],'pattern':_0x230a32,'ensureUnique':_0x3cfd6b['ensureUnique']!==![],'ttl':_0x3cfd6b[_0x23b8d8(0xc4)],'maxRetry':_0x3cfd6b[_0x23b8d8(0x1b3)],'idempotencyKey':_0x3cfd6b[_0x23b8d8(0x1a0)]});}async[a0_0x4a2846(0x161)](_0x391e1d){const _0x9a00e7=a0_0x4a2846,_0xeb298b={'hUDqR':'IDGEN_DISABLED','dPEGe':'IDGEN_INVALID_NUMBER','GVPZG':_0x9a00e7(0xff),'WkhbP':function(_0x2c3ee2,_0x437633){return _0x2c3ee2>_0x437633;},'gCouG':function(_0x482e7b,_0x23f47c){return _0x482e7b+_0x23f47c;},'jNaZf':'idgen_consumed'};if(!this[_0x9a00e7(0x1e3)])throw new IdGeneratorError(_0xeb298b['hUDqR'],'ID\x20Generator\x20is\x20disabled');this['_validateResource'](_0x391e1d['resource']);if(typeof _0x391e1d['value']!==_0x9a00e7(0xc8)||_0x391e1d['value'][_0x9a00e7(0xd9)]===0x0)throw new IdGeneratorError(_0xeb298b['dPEGe'],_0xeb298b['GVPZG']);const {resource:_0xbc92d9,value:_0x10b93a}=_0x391e1d,_0x5a4bad=redisClient['getClient'](),_0x2bc228=this[_0x9a00e7(0xbc)](_0xbc92d9,_0x10b93a),_0x29b661=this[_0x9a00e7(0x1bd)](_0xbc92d9),[_0x2f2be0,_0x570dcf]=await Promise[_0x9a00e7(0x123)]([_0x5a4bad[_0x9a00e7(0x107)](_0x2bc228),_0x5a4bad['srem'](_0x29b661,_0x10b93a)]),_0x479621=_0xeb298b[_0x9a00e7(0x1cc)](_0xeb298b['gCouG'](_0x2f2be0,_0x570dcf),0x0);return logger[_0x9a00e7(0x116)]({'event':_0xeb298b[_0x9a00e7(0xf0)],'resource':_0xbc92d9,'value':_0x10b93a,'consumed':_0x479621},'ID\x20Generator\x20consumed:\x20'+_0x10b93a),{'consumed':_0x479621,'resource':_0xbc92d9,'value':_0x10b93a,'consumedAt':new Date()['toISOString']()};}async[a0_0x4a2846(0x1b0)](_0x2a7505){const _0x5f2fed=a0_0x4a2846,_0x126d57={'RoGlS':_0x5f2fed(0xc3),'xrtwf':_0x5f2fed(0x19a),'ZjzoH':_0x5f2fed(0x18d),'pBBFF':'number','ZeDtv':'random','IXKgl':function(_0x2e143a,_0x171e89){return _0x2e143a||_0x171e89;}};if(!this[_0x5f2fed(0x1e3)])throw new IdGeneratorError(_0x126d57[_0x5f2fed(0xf9)],'ID\x20Generator\x20is\x20disabled');this[_0x5f2fed(0x1be)](_0x2a7505[_0x5f2fed(0x10a)]);const _0x54a40d=_0x2a7505[_0x5f2fed(0x122)]||'number',_0x1c9d85=redisClient[_0x5f2fed(0x13d)]();if(_0x54a40d===_0x5f2fed(0xda)){const _0x2a7a64=(_0x2a7505['format']||_0x126d57[_0x5f2fed(0x14c)])[_0x5f2fed(0x1db)]();if(!ALLOWED_FORMATS[_0x5f2fed(0x1d9)](_0x2a7a64))throw new IdGeneratorError(_0x126d57[_0x5f2fed(0x1ba)],_0x5f2fed(0x14b)+_0x2a7505[_0x5f2fed(0x1b1)]);const {formatKey:_0x4664b8}=this['_buildFormatKey'](_0x2a7a64,_0x2a7505['prefix']||''),_0x2f9f1f=this[_0x5f2fed(0x11d)](_0x2a7505['resource'],_0x4664b8),_0x3c7f79=this['_buildReuseKey'](_0x2a7505['resource'],_0x4664b8),[_0x57bee7,_0x149e25]=await Promise['all']([_0x1c9d85[_0x5f2fed(0x1a7)](_0x2f9f1f),_0x1c9d85['zcard'](_0x3c7f79)]);return{'resource':_0x2a7505[_0x5f2fed(0x10a)],'mode':_0x126d57['pBBFF'],'formatKey':_0x4664b8,'currentCounter':parseInt(_0x57bee7,0xa)||0x0,'reusePoolSize':_0x149e25||0x0};}if(_0x54a40d===_0x126d57[_0x5f2fed(0x155)]){const _0x2080c8=this[_0x5f2fed(0x1bd)](_0x2a7505[_0x5f2fed(0x10a)]),_0x53ffe5=await _0x1c9d85[_0x5f2fed(0x1d7)](_0x2080c8);return{'resource':_0x2a7505['resource'],'mode':'random','issuedCount':_0x126d57['IXKgl'](_0x53ffe5,0x0)};}throw new IdGeneratorError(_0x5f2fed(0xe7),'Unknown\x20mode:\x20'+_0x54a40d);}async[a0_0x4a2846(0x1c9)](_0x453425){const _0x1c53a3=a0_0x4a2846,_0x39a0ed={'GKffu':function(_0x42c0e6,_0x15c50e){return _0x42c0e6===_0x15c50e;},'BMVvg':_0x1c53a3(0xda),'JPQOQ':function(_0x23e30a,_0x344a55){return _0x23e30a>_0x344a55;}},_0x298c16=await this['peek'](_0x453425);if(_0x39a0ed[_0x1c53a3(0x176)](_0x298c16[_0x1c53a3(0x122)],_0x39a0ed['BMVvg'])){const _0x3e790e=redisClient[_0x1c53a3(0x13d)](),_0x386550=this[_0x1c53a3(0x1c5)](_0x453425['resource'],_0x298c16['formatKey']),_0xd870c2=this[_0x1c53a3(0xbd)](_0x453425[_0x1c53a3(0x10a)],_0x298c16[_0x1c53a3(0xb6)]),[_0x470147,_0x450fe]=await Promise[_0x1c53a3(0x123)]([_0x3e790e['hgetall'](_0x386550),_0x3e790e[_0x1c53a3(0x17c)](_0xd870c2,0x0,-0x1)]);return{..._0x298c16,'reusePoolValues':_0x450fe[_0x1c53a3(0x181)](_0x5ca328=>parseInt(_0x5ca328,0xa)),'meta':_0x470147&&_0x39a0ed['JPQOQ'](Object[_0x1c53a3(0xf5)](_0x470147)[_0x1c53a3(0xd9)],0x0)?_0x470147:null};}return _0x298c16;}async[a0_0x4a2846(0x1d6)](_0x559169){const _0x4d487f=a0_0x4a2846,_0x48f878={'QKgHC':'ID\x20Generator\x20is\x20disabled','VnWyq':function(_0x348f7f,_0x1515c5){return _0x348f7f===_0x1515c5;},'DaNCu':'text','nYQGP':'IDGEN_INVALID_FORMAT','eFkCU':'number','XZpnP':_0x4d487f(0x105),'QnYTE':_0x4d487f(0x1bf),'oKMeW':_0x4d487f(0x108),'IWfFH':function(_0x5dbd3d,_0x439101){return _0x5dbd3d===_0x439101;},'jvywf':'random'};if(!this['enabled'])throw new IdGeneratorError('IDGEN_DISABLED',_0x48f878['QKgHC']);if(!this['allowReset'])throw new IdGeneratorError('IDGEN_RESET_NOT_ALLOWED',_0x4d487f(0xd3));this['_validateResource'](_0x559169[_0x4d487f(0x10a)]);const _0x527086=_0x559169['mode']||_0x4d487f(0xda),_0x5819df=redisClient[_0x4d487f(0x13d)]();if(_0x48f878[_0x4d487f(0x187)](_0x527086,'number')){const _0x15c68c=(_0x559169['format']||_0x48f878['DaNCu'])['toLowerCase']();if(!ALLOWED_FORMATS['has'](_0x15c68c))throw new IdGeneratorError(_0x48f878[_0x4d487f(0x1aa)],_0x4d487f(0x14b)+_0x559169['format']);const {formatKey:_0x729ab8}=this['_buildFormatKey'](_0x15c68c,_0x559169[_0x4d487f(0x1b9)]||''),_0x4050cc=this[_0x4d487f(0x11d)](_0x559169['resource'],_0x729ab8),_0x13fc16=this[_0x4d487f(0xbd)](_0x559169[_0x4d487f(0x10a)],_0x729ab8),_0x71a76c=this['_buildMetaKey'](_0x559169[_0x4d487f(0x10a)],_0x729ab8);return await _0x5819df['del'](_0x4050cc,_0x13fc16,_0x71a76c),logger[_0x4d487f(0x146)]({'event':_0x4d487f(0x154),'resource':_0x559169['resource'],'mode':_0x48f878['eFkCU'],'formatKey':_0x729ab8},_0x4d487f(0x195)+_0x559169[_0x4d487f(0x10a)]+':'+_0x729ab8),{'reset':!![],'resource':_0x559169[_0x4d487f(0x10a)],'mode':_0x48f878[_0x4d487f(0x10f)],'formatKey':_0x729ab8,'deletedKeys':[_0x48f878[_0x4d487f(0x1a5)],_0x48f878['QnYTE'],_0x48f878[_0x4d487f(0x1b2)]]};}if(_0x48f878['IWfFH'](_0x527086,'random')){const _0x8da60e=this['_buildIssuedKey'](_0x559169['resource']);return await _0x5819df['del'](_0x8da60e),logger['warn']({'event':_0x4d487f(0x154),'resource':_0x559169['resource'],'mode':_0x48f878['jvywf']},'ID\x20Generator\x20reset:\x20random:'+_0x559169[_0x4d487f(0x10a)]),{'reset':!![],'resource':_0x559169[_0x4d487f(0x10a)],'mode':_0x4d487f(0x179),'deletedKeys':['issued']};}throw new IdGeneratorError(_0x4d487f(0xe7),_0x4d487f(0x1c6)+_0x527086);}}const instance=new IdGenerator();function a0_0xd1e7(){const _0xf7fc7d=['C3rYAw5NAwz5','z2nJtwG','lwrPz2L0ignHCgfJAxr5icG','AwrNzw5FCMvZzxj2yxrPB25Fy2fUy2vSBgvK','surhru5Fsu5wquXjrf9ovu1crvi','AwrLBxbVDgvUy3LlzxK','CMvZzxj2zq','zM9YBwf0s2v5igLZihjLCxvPCMvKigLUigXVDY1SzxzLBcbYzwXLyxnL','x3vWzgf0zu1LDge','ignOyxjZicHNB3qGBgvUz3rOoIa','wfPWBLa','x2TLEvbYzwzPEa','z2v0','twv0ysb1CgrHDguGzxjYB3i','x2LUAxrPywXPEMvK','BLLrr1a','tezeuum','tNvTyMvYigrVzxmGBM90ig1HDgnOigv4CgvJDgvKigzVCM1HDcaOz290oIa','C2vWyxjHDg9Y','Bwf0y2G','x3L5ExLTBv8','CgvLAW','zM9YBwf0','B0TnzvC','Bwf4uMv0CNK','zgvMyxvSDe1HEfjLDhj5','tM56Bui','AwrNzw5FCMvZzxj2zv92ywX1zv9WzxjZAxn0x2vYCM9Y','q21trxG','zgvMyxvSDfbPBKrPz2L0CW','ChjLzML4','wMP6B0G','x2DLDfjLC2vYDMf0Aw9Uq29UDgv4Da','surhru5Fsurftv9uveW','x2j1AwXKsxnZDwvKs2v5','x3zHBgLKyxrLuMvZB3vYy2u','CMv1C2u','AwrNzw5FBwv0yv91CgrHDgvFzxjYB3i','zw5ZDxjLvw5PCxvL','rMfPBgvKihrVignVBxbLBNnHDguGCMvZzxj2yxrPB24Gywz0zxiGy291BNrLCIbVDMvYzMXVDW','zxzHBa','surhru5Fsu5wquXjrf9trvbbuKfut1i','x2j1AwXKtwv0yuTLEq','vw5RBM93BIbTB2rLoIa','suqGr2vUzxjHDg9YigLZigrPC2fIBgvK','x2rLzMf1BhrnyxHszxrYEq','z2v0sw5MBW','ihnLy29UzhmGkgDVDdOG','suqGr2vUzxjHDg9YihjHBMrVBsbPzgvTihjHy2uGBg9ZDcWGCMv0DxjUAw5NihDPBM5LCIbLBNzLBg9Wzq','v2TOyLa','y291BNrLCKLUDcbTDxn0igjLihbVC2L0AxzLigLUDgvNzxiGkgDVDdOG','wKzsu0e','rK5YDxC','wfP0Avm','vwTlr3G','ChvZAa','sMTkr1m','suqGr2vUzxjHDg9Yig51BwjLCIbYzxnLCNzLzdOG','A0DiDfa','CMvZzxq','C2nHCMq','AwrNzw5FCMvZzxj2yxrPB25Fy29UzMLYBwvK','AgfZ','AwrNzw5FAwrLBv9SB3nLCL9YzwXLyxnLx2vYCM9Y','Dg9mB3DLCKnHC2u','qLblBwG','AwT0rge','twzwAeC','CgfKzgvKicHNB3q6ia','Dg9HzLC','sw52ywXPzcbWyxr0zxjUoIbTDxn0ignVBNrHAw4GyxqGBgvHC3qGB25LihbSywnLAg9SzgvYignOyxjHy3rLCIaOos9ol0eVys9ml1GVEc9il2GP','x3zHBgLKyxrLtNvTyMvYugfYyw1Z','zw5HyMXLza','nJbmtNnjtwu','AxnjBNrLz2vY','zM9YBwf0s2v5','surhru5Fsu5wquXjrf9uveW','vw1Rrg0','CMvZzxj2zv9Jyw5JzwW','tffKCgy','vwHsrLK','x2j1AwXKqwn0AxzLs2v5','x2j1AwXKuMv1C2vlzxK','rgXqDNq','C2vXoG','DhvgC0i','B0HXzMe','ExL5Eq','surhru5FreLtqujmruq','DhrS','q2LmBMW','AwrNzw5FBNvTyMvYx3jLC2vYDMvK','cMLMihjLzgLZlMnHBgWOj0vysvnuuYCSieTfwvnBmv0Pid09idaGDgHLBGOGihjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqOGihjLDhvYBIb7idaGFqPLBMqkBg9JywWGAca9ihjLzgLZlMnHBgWOj0Hnr0vujYWGs0vzu1SXxsWGj2nVDw50zxiNlcaNDMfSDwuNlcaNzM9YBwf0s2v5jYKkBg9JywWGy291BNrLCIa9igHBmv0kAwyGy291BNrLCIb0AgvUcIaGCMvKAxmUy2fSBcGNwKfercCSieTfwvnBm10SignVDw50zxiSignVDw50zxiPcIaGBg9JywWGDhrSid0GDg9UDw1IzxiOqvjhvLSYxsKkicbPzIb0DgWGpIaWihrOzw4kicaGihjLzgLZlMnHBgWOj0vyueLsrsCSieTfwvnBm10Sihr0BcKkicbLBMqkzw5KcNjLzgLZlMnHBgWOj0rftcCSieTfwvnBmv0PcNjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqPYzxr1CM4GEYaXlcbJB3vUDgvYlcbOwZjDlcbOwZnDih0k','C3rYAw5N','q0vXzMK','zgLNAxrZ','vu1dsM4','C3rVCMvK','surhru5FuKvtrvjwqvrjt05FtK9ux0zpvu5e','BeHzr2i','x2j1AwXKswrLBuTLEq','zNfdrwq','nJG1ndq5C2XJAeDy','AwrNzw5FBNvTyMvYx2LKzw1FBg9Zzxi','uMvZzxqGB3bLCMf0Aw9Uig5VDcbHBgXVD2vKicHZzxqGsurhru5FquXmt1DFuKvtrvq9Dhj1zsb0BYbLBMfIBguP','sw52ywXPzcbTyxHszxrYEtOGBxvZDcbIzsbPBNrLz2vYideT','AgDSBw8','suqGr2vUzxjHDg9Yig51BwjLCJOG','thrjv0m','y29UzMLYBvjLC2vYDMf0Aw9U','BgvUz3rO','BNvTyMvY','C2TPBLu','x2rLzMf1BhrdB2rLugf0DgvYBG','x2vUC3vYzuLUAxrPywXPEMvK','AuTMAKG','A2v5uhjLzML4','x3jLC2vYDMvnyxHuveW','suqGr2vUzxjHDg9YihjLC2vYDMf0Aw9UignHBMnLBgXLzdOG','rKz3Bfi','q3HZuxe','x3L5ExLTBwrKxW','u3bTrhO','surhru5Frevgqvvmvf9qsu5FreLhsvrt','surhru5Fsu5wquXjrf9nt0rf','x3zHBgLKyxrLuMvZzxj2zvruta','x2fSBg93uMvZzxq','x3bHzdi','x3rLEhq','CMvZzxj2zv9JB25MAxjT','CMvSzwfZzu51BwjLCG','swD5DgS','seD2D0u','AK5HwMy','sw52ywXPzcbMB3jTyxq6ig11C3qGyMuGB25Lig9Mia','x2zVCM1HDe51BwjLCG','BMfTzq','x3zHBgLKyxrLswrLBxbVDgvUy3LlzxK','A2v5CW','mdeYmZq1nJC4oq','icH0B2TLBJ0','sMr3uLG','uM9hBfm','rMfPBgvKihrVihjLBgvHC2uGy291BNrLCIbMB3iGAwrLBxbVDgvUy3KGBg9Zzxi','igf0DgvTChrZlIbjBMnYzwfZzsbWyxr0zxjUigXLBMD0AcbVCIbTyxHszxrYEs4','B1fxyMq','y29Kzq','D2nhqxO','DMfSDwuGAxmGCMvXDwLYzwq','sg1rtvC','x2j1AwXKuMvZzxj2yxrPB25lzxLqCMvMAxG','ywn0AxzLoG','y291BNrLCKLUDa','AwrNzw5FAwrLBv9OAxq','C2vX','BM93','zgvS','Bwv0yq','ueDzugy','CMvZB3vYy2u','zxHLyW','mtK3odrmt0j5Dhy','sw52ywXPzcbWyxr0zxjUoIbTDxn0igjLihn0CMLUzYaXlq','x2vUywjSzwq','zuzRq1u','lcbNB3qG','ELnwCKW','wLLfwvK','q291BgqGBM90igDLBMvYyxrLihvUAxf1zsb2ywX1zsbHzNrLCIa','surhru5Frevgqvvmvf9dt0rfx1bbvfrfuK4','surhru5Fsu5wquXjrf9ovu1FreLhsvrt','Aw5MBW','sw52ywXPzcbYzxnLCNzHDgLVBIb0DgW6ig11C3qGyMuGAw50zwDLCIa','cMLMiefsr1zBmv0Gpt0GjZeNihrOzw4kicbSB2nHBcbYzxvZzwqGpsbYzwrPCY5JywXSkcDAue9qtuLojYWGs0vzu1SYxsWGmsKkicbPzIaJCMv1C2vKid4Gmcb0AgvUcIaGicbYzxr1CM4GE3rVBNvTyMvYkhjLDxnLzfSXxsKSidf9cIaGzw5KcMvUzaPSB2nHBcbUid0GCMvKAxmUy2fSBcGNsu5duICSieTfwvnBmv0PcMXVy2fSihr0Bca9ihrVBNvTyMvYkefsr1zBmL0PcMLMihr0Bca+idaGyw5Kig4Gpt0Gmsb0AgvUcIaGCMvKAxmUy2fSBcGNrvHqsvjfjYWGs0vzu1SXxsWGDhrSkqPLBMqkCMv0DxjUihTUlcaWFqO','x2j1AwXKuMvZzxj2yxrPB25jBMrLEeTLEq','BNvTrgLNAxrZ','Cgf0DgvYBG','x3bHCNnLtNvTyMvY','x2j1AwXKu2vXs2v5','Dg9ju09tDhjPBMC','mJq4mduZmNjxDLz2Ea','AuTyANG','BwXPD3G','Bw9Kzq','ywXS','Be1NuhC','y3jLyxrLzef0','BwvZC2fNzq','rvjHzLC','lI9PzgvTCg90zw5JEs1Tyw5Hz2vY','otq5mJa0tM9HvhbK','sNPWB2W','icHNB3q6ia','u0vuie5yigzHAwXLzcbIDxqGy2fJAguGr0vuihjLDhvYBMvKigvTChr5iokaLcbMywXSAw5NigjHy2SGDg8GB3DUihjLC3vSDa','CgfKu3rHCNq','zxHWAxjL','y291BNrLCG','surhru5Fsu5wquXjrf9nqvHFuKvuuLK','x3zHBgLKyxrLtwf4uMv0CNK','AwrNzw5FCMvZzxj2zv9PzgvTx2XVC2vY','vMX4rKe','DgvZDa','x3zHBgLKyxrLuMvZzxj2yxrPB25uB2TLBG','surhru5Fsu5wquXjrf9srvnpvvjdrq','zw52','uxrvEgq','CNn2swr4s2v5','suqGr2vUzxjHDg9YihjHBMrVBtOG','x2j1AwXKrM9YBwf0s2v5','yNncuKi','z2v0q2XPzw50','CMy6AwrNzw46','AxPqAwy','CNn2s2v5','tNvTyMvYigrVzxmGBM90ig1HDgnOigv4CgvJDgvKihrLEhqGzM9YBwf0icHNB3q6ia','Bw5Xuhq','surhru5Fsu5wquXjrf9ut0TftG','AxnszxvZzwq','swrLBxbVDgvUy3KGC3rVCMuGzxjYB3i','D2fYBG','rK10qLy','AwrNzw4','x3jLC2vYDMvezwzHDwX0vfrm','lcbLEhbLy3rLzca','sw52ywXPzcbMB3jTyxq6ia','Ehj0D2y','suqGr2vUzxjHDg9YigLZigrPC2fIBgvKicHZzxqGsurhru5Fru5bqKXfrd10CNvLkq','otK5os05otK5','sNPbtfm','rwnSDxi','x2rLzMf1BhrtzxjPywXqyxr0zxjU','BMThzfq','igv4y2vLzhmG','AwrNzw5FCMvZzxq','wMveDhy','mtC3mxr0CgjHrq','sw52ywXPzcbZzxbHCMf0B3i6ig1HEcaZignOyxiSig11C3qGBM90ignVBNrHAw4GjZONicHNB3q6ia','surhru5Fq09vtLrfuL9pvKvsrKXpvW','y1jMCvu','DM9VBxm','AKjisvC','sLbmDMm','whzOB2C','x3n0B3jLswrLBunHy2HL','CMvZzxj2zurLzMf1BhruveW','sw52ywXPzcbUDw1Izxi6ig11C3qGyMuGBM9UlwvTChr5ihn0CMLUzW','y29UC3vTzq','ueHft2m','nw52wxLIBW','x2LKzw1uveW','quPTwKC','AwrLBuTLEq','uMvZzxj2yxrPB24GBM90igzVDw5Kig9YigfSCMvHzhKGy29UC3vTzwq6ia','zgv0ywLSCW','AwrNzw5FCMvZzxj2zv9VDMvYzMXVD19JB21Wzw5ZyxrPB25FzxjYB3i','DMfSDwu','cMLMihjLzgLZlMnHBgWOj0vysvnuuYCSieTfwvnBmv0Pid09idaGDgHLBGOGihjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqOGihjLDhvYBIb7idaGFqPLBMqkBg9JywWGAca9ihjLzgLZlMnHBgWOj0Hnr0vujYWGs0vzu1SXxsWGj2nVDw50zxiNlcaNDMfSDwuNlcaNzM9YBwf0s2v5jYWGj2LZuMv1C2vKjYWGj2nYzwf0zwrbDcCSicDLEhbPCMvZqxqNkqPYzwrPCY5JywXSkcDeruWNlcblrvLtwZfDkqPYzwrPCY5JywXSkcDAuKvnjYWGs0vzu1SYxsWGqvjhvLSXxsKkCMv0DxjUihSGmsWGAfSXxsWGAfSYxsWGAfSZxsWGAfS0xsWGAfS1xsWGAfS2xsb9cG','surhru5Fvu5juvvfx1jfvfjzx0vysefvu1rfra','AwrNzw5FCMfUzg9Tx3vUzg9FzxjYB3i','tuz5qMO','AwrLBvruta','x2DLDenVDw50zxjuveW','AwrNzw5Fy29UzMLNx2LUAxq','x3jLDhjPzxzLswrLBunHy2HL','sw52ywXPzcbWCMvMAxG6ig11C3qGBwf0y2GG','ru9QqLG','C0HUyLi','r0TMzNu','CMvSzwfZzq','yNvPBgrezxrLCM1PBMLZDgLJs2v5','CMfUzg9T','AwrNzw5FCMvZzxj2zv9PzgvTx2XVC2vYx2nHBMnLBf9LCNjVCG','v0H5BKq','ENjHBMDL','BhzyDvm','mty4mJeWmfbLvwnzAa','Dhj1zq','B2Xjqw0','BwfW','rMfPBgvKihrVihbLCNnPC3qGzM9YBwf0DgvKihzHBhvLihrVihjLC2vYDMf0Aw9UigHHC2G','x3L5ExLF','v1rMBLu','mta0ndK1n0fUzejtzG','CgLU','vM5xExe','BKXJDKW','wejxsKS','AwrNzw5FAwrLBv9UEf9YywnLx2XVC3rFyNv0x2vTChr5','CgfYC2u','zgvMyxvSDfnLCMLHBfbHDhrLCM4','surhru5Fsu5wquXjrf9gt1jnqvq','surhru5FquXmt1DFuKvtrvq','z2vUzxjHDgvKqxq','x2DLBMvYyxrLrNjVBvbHDhrLCM4','wKvbuxC','sw52ywXPzcbUDw1eAwDPDhm6ig11C3qGyMuGAw50zwDLCIa','x3n0B3jLswrLBunHy2HLtLG','x2j1AwXKuMvZzxj2yxrPB25lzxK','suqGr2vUzxjHDg9YihjLC2v0oIa','nJm5nZG3oev5zezKuG','Dg9Rzw4','twL3s1y','AwrNzw5FAwrLBv9ZDg9Yzw54x2vYCM9Y','Dgv4Da'];a0_0xd1e7=function(){return _0xf7fc7d;};return a0_0xd1e7();}instance['IdGeneratorError']=IdGeneratorError,module['exports']=instance,module['exports']['IdGeneratorError']=IdGeneratorError;
|
|
1
|
+
'use strict';const a0_0x7e059b=a0_0x31fc;(function(_0xc521f6,_0x56b0a8){const _0x2c6b15=a0_0x31fc,_0x414aa7=_0xc521f6();while(!![]){try{const _0x37d0db=parseInt(_0x2c6b15(0x289))/0x1+parseInt(_0x2c6b15(0x258))/0x2*(-parseInt(_0x2c6b15(0x206))/0x3)+parseInt(_0x2c6b15(0x257))/0x4*(-parseInt(_0x2c6b15(0x242))/0x5)+-parseInt(_0x2c6b15(0x308))/0x6*(-parseInt(_0x2c6b15(0x2e2))/0x7)+-parseInt(_0x2c6b15(0x278))/0x8+parseInt(_0x2c6b15(0x2c1))/0x9+parseInt(_0x2c6b15(0x2eb))/0xa;if(_0x37d0db===_0x56b0a8)break;else _0x414aa7['push'](_0x414aa7['shift']());}catch(_0x53ff3f){_0x414aa7['push'](_0x414aa7['shift']());}}}(a0_0x494d,0x83773));const crypto=require('crypto'),redisClient=require(a0_0x7e059b(0x262)),{logger}=require(a0_0x7e059b(0x2a5)),idempotencyManager=require('./idempotency-manager'),ALLOWED_FORMATS=new Set(['text','yyyy','yyyymm','yyyymmdd']),RESOURCE_REGEX=/^[A-Za-z0-9_-]{1,64}$/,PREFIX_REGEX=/^[A-Za-z0-9_-]{0,32}$/,SEPARATOR_FORBIDDEN=/:/,MAX_NUM_DIGITS=0xc,MIN_NUM_DIGITS=0x1,MAX_PIN_DIGITS=0xc,MIN_PIN_DIGITS=0x4,MAX_PATTERN_LENGTH=0x100,MAX_TTL=0x278d00,MAX_RETRY_LIMIT=0x64,MAX_IDEMPOTENCY_KEY_LENGTH=0x80,RESERVATION_TOKEN_REGEX=/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i,MIN_RESERVE_TTL=0xa,MAX_RESERVE_TTL=0x15180,DEFAULT_RESERVE_TTL=0x258,RESERVE_REAP_BATCH=0x40,CHARSET_DIGIT=a0_0x7e059b(0x2b1),CHARSET_UPPER=a0_0x7e059b(0x227),CHARSET_LOWER='abcdefghijklmnopqrstuvwxyz',CHARSET_LETTERS=CHARSET_UPPER+CHARSET_LOWER,CHARSET_UPPER_ALNUM=CHARSET_UPPER+CHARSET_DIGIT,CHARSET_MIXED_ALNUM=CHARSET_UPPER+CHARSET_LOWER+CHARSET_DIGIT,CHARSET_HEX_UPPER='0123456789ABCDEF',CHARSET_HEX_LOWER=a0_0x7e059b(0x2ff),PLACEHOLDER_MAP={'9':CHARSET_DIGIT,'N':CHARSET_DIGIT,'A':CHARSET_UPPER,'a':CHARSET_LOWER,'L':CHARSET_LETTERS,'X':CHARSET_UPPER_ALNUM,'x':CHARSET_MIXED_ALNUM,'H':CHARSET_HEX_UPPER,'h':CHARSET_HEX_LOWER},LUA_GENERATE_NUMBER=a0_0x7e059b(0x207),LUA_RELEASE_NUMBER=a0_0x7e059b(0x30e),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=a0_0x7e059b(0x303),LUA_CANCEL_RESERVATION=a0_0x7e059b(0x20c),LUA_EXTEND_RESERVATION=a0_0x7e059b(0x1fe);function a0_0x31fc(_0xbf8b41,_0x476936){_0xbf8b41=_0xbf8b41-0x1f0;const _0x494de7=a0_0x494d();let _0x31fce3=_0x494de7[_0xbf8b41];if(a0_0x31fc['isdZSu']===undefined){var _0x51bdfa=function(_0x525a39){const _0x25686c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x59dc1b='',_0x13afce='';for(let _0x31faa4=0x0,_0xeeef8e,_0x51cb16,_0x459085=0x0;_0x51cb16=_0x525a39['charAt'](_0x459085++);~_0x51cb16&&(_0xeeef8e=_0x31faa4%0x4?_0xeeef8e*0x40+_0x51cb16:_0x51cb16,_0x31faa4++%0x4)?_0x59dc1b+=String['fromCharCode'](0xff&_0xeeef8e>>(-0x2*_0x31faa4&0x6)):0x0){_0x51cb16=_0x25686c['indexOf'](_0x51cb16);}for(let _0x592b45=0x0,_0xf90409=_0x59dc1b['length'];_0x592b45<_0xf90409;_0x592b45++){_0x13afce+='%'+('00'+_0x59dc1b['charCodeAt'](_0x592b45)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x13afce);};a0_0x31fc['AViuGf']=_0x51bdfa,a0_0x31fc['EZprMg']={},a0_0x31fc['isdZSu']=!![];}const _0x4e9030=_0x494de7[0x0],_0x238a37=_0xbf8b41+_0x4e9030,_0x48c7c0=a0_0x31fc['EZprMg'][_0x238a37];return!_0x48c7c0?(_0x31fce3=a0_0x31fc['AViuGf'](_0x31fce3),a0_0x31fc['EZprMg'][_0x238a37]=_0x31fce3):_0x31fce3=_0x48c7c0,_0x31fce3;}function a0_0x494d(){const _0x43f0fb=['A3bhu0q','y2fUy2vSuMvZzxj2yxrPB24','wfHywc1ywfHylvHywfGTwfHywa','nJm5mtu5t25xq3nf','x3zHBgLKyxrLuMvZB3vYy2u','x2j1AwXKswrLBuTLEq','AwrNzw5FBNvTyMvYx3jLBgvHC2vK','C3v0De8','yM9VBgvHBG','x2DLBMvYyxrLrNjVBvbHDhrLCM4','x2LKzw1uveW','CMvZB3vYy2u','vw5RBM93BIbTB2rLoIa','surhru5Fsu5wquXjrf9ovu1FreLhsvrt','suqGr2vUzxjHDg9YignVBMzPzYbPBML0AwfSAxPLzcaTigvUywjSzwq6ia','ruTbEhG','whv3C2O','z0LHBLC','x2j1AwXKuMv1C2vlzxK','AMjcze0','DMfSDwuGAxmGCMvXDwLYzwq','CMvZzxj2zv9LEhrLBMq','EKHhAwm','AwrNzw5Fy29UzMLNx2LUAxq','t21pBLC','suqGr2vUzxjHDg9Yig51BwjLCIbYzxnLCNzLzdOG','ks4Gsw5JCMvHC2uGBNvTrgLNAxrZlG','x3zHBgLKyxrLvfrm','ExL5Ew1T','igf0DgvTChrZlIbjBMnYzwfZzsbWyxr0zxjUigXLBMD0AcbVCIbTyxHszxrYEs4','surhru5Fvu5juvvfx1jfvfjzx0vysefvu1rfra','lI9SB2DNzxi','BMTyAK0','x2j1AwXKuMvZzxj2yxrPB25lzxK','Chr0Ba','q291BgqGBM90igDLBMvYyxrLihvUAxf1zsb2ywX1zsbHzNrLCIa','surhru5Fsu5wquXjrf9ut0TftG','AxnfBMfIBgvK','suqGr2vUzxjHDg9YihjLC2vYDMf0Aw9UignVBMzPCM1LzdOG','AwrNzw4','C3rYAw5N','surhru5Fsu5wquXjrf9gt1jnqvq','zgvMyxvSDfbPBKrPz2L0CW','mdeYmZq1nJC4oq','x3vWzgf0zu1LDge','x2nVDw50zxjuveXnyxa','D2fYBG','x2j1AwXKsxnZDwvKs2v5','zM9YBwf0s2v5','sw52ywXPzcbYzxnLCNzHDgLVBIb0B2TLBJOGBxvZDcbIzsbHihzHBgLKifvvsuqGzM9YBwf0icHNB3q6ia','Dg9ju09tDhjPBMC','ihbHCNrZkq','C3rYAw5NAwz5','A2v5CW','sw52ywXPzcbZzxbHCMf0B3i6ig1HEcaZignOyxiSig11C3qGBM90ignVBNrHAw4GjZONicHNB3q6ia','vuzHv3i','ywXSB3DszxnLDa','CMvZzxj2zv9Jyw5JzwW','q25jALe','ntG4mtC3owXlCM1HAW','zxHWB3j0CW','surhru5Frevgqvvmvf9qsu5FreLhsvrt','CMvSzwfZzu51BwjLCG','icHNB3q6ia','zw52','sw52ywXPzcbTyxHszxrYEtOGBxvZDcbIzsbPBNrLz2vYideT','Ag1Nzxq','surhru5Fsu5wquXjrf9quKvgsvG','AwrLBxbVDgvUy3LlzxK','Dgv4Da','x2j1AwXKtwv0yuTLEq','Dgfkwfq','r2LZufy','ALD3BK0','Cgf0DgvYBG','surhru5Fsu5wquXjrf9ovu1crvi','ChzhDeq','CMfUzg9Tvvvjra','ywXS','tKrnzwy','C2fKza','AwrNzw5Fy29UC3vTzwq','surhru5Fsu5wquXjrf9srvnpvvjdrq','shrnyKe','ufLOCuy','D2PqDMy','suqGr2vUzxjHDg9Yig51BwjLCJOG','zw50CMLLCW','zxzHBa','z2v0q2XPzw50','AhnLDa','surhru5Fsu5wquXjrf9nt0rf','n01ICwHZuW','s3f1r0y','AwrLBuTLEq','zvj0vfe','AwrNzw5FCMvZzxj2zv9VDMvYzMXVD19JB21Wzw5ZyxrPB25FzxjYB3i','swrLBxbVDgvUy3KGCMv0CMLLDMuGzxjYB3i','CMvSzwfZzq','CNjmEwy','x3n0B3jLswrLBunHy2HLtLG','ntG4nJeZmgLOvLP5Ba','sw52ywXPzcbWyxr0zxjUoIbTDxn0igjLihn0CMLUzYaXlq','zw5ZDxjLvw5PCxvL','BgvUz3rO','rwfLDNe','z2v0sw5MBW','z2v0tw9UDgG','zw5HyMXLza','CgLU','ENjHBMDL','BM93','igrPz2L0CYaOz290oIa','yuXQy3i','rMfPBgvKihrVihbLCNnPC3qGzM9YBwf0DgvKihzHBhvLihrVihjLC2vYDMf0Aw9UigHHC2G','surhru5Fq09vtLrfuL9uveXFrefjtfK','surhru5FquXmt1DFuKvtrvq','CNn2s2v5','Dg9mB3DLCKnHC2u','Du1eBgO','AxnZDwvKoG','mdeYmZq1nJC4owfIy2rLzG','uMvZzxj2yxrPB24GBM90igzVDw5Kig9YigfSCMvHzhKGy29UC3vTzwq6ia','CfHRDNa','tvvkA0y','cMLMihjLzgLZlMnHBgWOj0vysvnuuYCSieTfwvnBmv0Pid09idaGDgHLBGOGihjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqOGihjLDhvYBIb7idaGFqPLBMqkBg9JywWGAca9ihjLzgLZlMnHBgWOj0Hnr0vujYWGs0vzu1SXxsWGj2nVDw50zxiNlcaNDMfSDwuNlcaNzM9YBwf0s2v5jYWGj2LZuMv1C2vKjYWGj2nYzwf0zwrbDcCSicDLEhbPCMvZqxqNkqPYzwrPCY5JywXSkcDeruWNlcblrvLtwZfDkqPYzwrPCY5JywXSkcDAuKvnjYWGs0vzu1SYxsWGqvjhvLSXxsKkCMv0DxjUihSGmsWGAfSXxsWGAfSYxsWGAfSZxsWGAfS0xsWGAfS1xsWGAfS2xsb9cG','BNvTrgLNAxrZ','r2frq0e','AwrNzw5FCMvZzxj2yxrPB25FzxH0zw5Kzwq','sLHyEva','nJeXnZqYAvjZue1Y','x3zHBgLKyxrLuMvZzxj2yxrPB25uB2TLBG','CNn2oG','C2vX','BMfTzq','BwfW','cNjLzgLZlMnHBgWOj1PbreqNlcblrvLtwZfDlcbbuKDwwZfDlcbbuKDwwZfDkqPSB2nHBcb0DgWGpsb0B251BwjLCIHbuKDwwZjDkqPPzIb0DgWGpIaWihrOzw4kicbYzwrPCY5JywXSkcDfwfbjuKuNlcblrvLtwZfDlcb0DgWPcMvUzaPYzxr1CM4GmqO','CgfKzgvKicHNB3q6ia','sNveBum','vKLuwfO','C2vWyxjHDg9Y','swrLBxbVDgvUy3KGC3rVCMuGzxjYB3i','D2vvsNy','x2DLDfjLC2vYDMf0Aw9Uq29UDgv4Da','CK5Ks1K','C2r5tvy','zxHWAxjLC0f0','AhPKqMW','tNvTyMvYigrVzxmGBM90ig1HDgnOigv4CgvJDgvKigzVCM1HDcbWCMvMAxG','DMfSDwu','q291BNrLCIbVDMvYzMXVDZOG','zgvS','suqGr2vUzxjHDg9YigLZigrPC2fIBgvKicHZzxqGsurhru5Fru5bqKXfrd10CNvLkq','BwTYtg8','zgvMyxvSDenVzgvqyxr0zxjU','cMLMihjLzgLZlMnHBgWOj0vysvnuuYCSieTfwvnBmv0Pid09idaGDgHLBGOGihjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqOGihjLDhvYBIb7idaGFqPLBMqkBg9JywWGAca9ihjLzgLZlMnHBgWOj0Hnr0vujYWGs0vzu1SXxsWGj2v4CgLYzxnbDcCSicDJB3vUDgvYjYWGj3zHBhvLjYWGj2zVCM1HDeTLEsCSicDPC1jLDxnLzcCSicDJCMvHDgvKqxqNkqPSB2nHBcbWCMv2rxHWAxjLC0f0id0GAfSXxqPSB2nHBcbUzxDuDgXnCYa9ihrVBNvTyMvYkefsr1zBmL0PcMXVy2fSig5LD0v4Ce1Zid0GDg9UDw1IzxiOqvjhvLSZxsKkCMvKAxmUy2fSBcGNuevyueLsrsCSieTfwvnBmv0Sig5LD1r0Be1ZkqPYzwrPCY5JywXSkcDiu0vujYWGs0vzu1SXxsWGj2v4CgLYzxnbDcCSiefsr1zBnf0PcNjLzgLZlMnHBgWOj1PbreqNlcblrvLtwZjDlcbUzxDfEhbnCYWGqvjhvLSXxsKkCMvKAxmUy2fSBcGNrvHqsvjfjYWGs0vzu1SYxsWGBwf0Ac5MBg9VCIHUzxDuDgXnCYaVideWmdaPicSGnJaPcNjLDhvYBIb7ideSihbYzxzfEhbPCMvZqxqSigHBmL0SigHBm10SigHBnf0SigHBnv0SigHBnL0GFqO','zgzwtxa','suqGr2vUzxjHDg9YigLZigrPC2fIBgvK','DLHUy2u','Bw9Kzq','ELPmt2m','x3zHBgLKyxrLtNvTyMvYugfYyw1Z','Bwf0y2G','mJy3u2jksevT','cMLMiefsr1zBmv0Gpt0GjZeNihrOzw4kicbSB2nHBcbYzxvZzwqGpsbYzwrPCY5JywXSkcDAue9qtuLojYWGs0vzu1SYxsWGmsKkicbPzIaJCMv1C2vKid4Gmcb0AgvUcIaGicbYzxr1CM4GE3rVBNvTyMvYkhjLDxnLzfSXxsKSidf9cIaGzw5KcMvUzaPSB2nHBcbUid0GCMvKAxmUy2fSBcGNsu5duICSieTfwvnBmv0PcMXVy2fSihr0Bca9ihrVBNvTyMvYkefsr1zBmL0PcMLMihr0Bca+idaGyw5Kig4Gpt0Gmsb0AgvUcIaGCMvKAxmUy2fSBcGNrvHqsvjfjYWGs0vzu1SXxsWGDhrSkqPLBMqkCMv0DxjUihTUlcaWFqO','Aw5MBW','surhru5FreLtqujmruq','sw52ywXPzcbMB3jTyxq6ia','BwnjwMW','cMLMihjLzgLZlMnHBgWOj0vysvnuuYCSieTfwvnBmv0Pid09idaGDgHLBGOGihjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqOGihjLDhvYBIb7idaGFqPLBMqkBg9JywWGAca9ihjLzgLZlMnHBgWOj0Hnr0vujYWGs0vzu1SXxsWGj2nVDw50zxiNlcaNDMfSDwuNlcaNzM9YBwf0s2v5jYKkBg9JywWGy291BNrLCIa9igHBmv0kAwyGy291BNrLCIb0AgvUcIaGCMvKAxmUy2fSBcGNwKfercCSieTfwvnBm10SignVDw50zxiSignVDw50zxiPcIaGBg9JywWGDhrSid0GDg9UDw1IzxiOqvjhvLSYxsKkicbPzIb0DgWGpIaWihrOzw4kicaGihjLzgLZlMnHBgWOj0vyueLsrsCSieTfwvnBm10Sihr0BcKkicbLBMqkzw5KcNjLzgLZlMnHBgWOj0rftcCSieTfwvnBmv0PcNjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqPYzxr1CM4GEYaXlcbJB3vUDgvYlcbOwZjDlcbOwZnDih0k','swrhzw5LCMf0B3jfCNjVCG','A1nqCwW','rMfPBgvKihrVignHBMnLBcbYzxnLCNzHDgLVBIbMB3iGAwrLBxbVDgvUy3KGBg9Zzxi','CgfYC2u','tNvTyMvYigrHDgvqCMvMAxGGAw52ywXPzcbMB3iGzM9YBwf0ia','ANjqBxi','AwrNzw5FCMfUzg9Tx2DLBMvYyxrLza','tNvTyMvYignVDw50zxiGCgfYDcbTDxn0igjLigv4ywn0BhKG','surhru5Fsurftv9uveW','x2DLDenVDw50zxjuveW','wwH6q2K','AwrNzw5FCMvZzxq','x3zHBgLKyxrLtwf4uMv0CNK','x3rLEhq','x2j1AwXKqwn0AxzLs2v5','x2rLzMf1BhrnyxHszxrYEq','C2v0','DhrS','uuXeAKm','C2vYAwfS','txD3v2y','ihnLy29UzhmGkgDVDdOG','Dg9Rzw4','CgvLAW','AxnszxvZzwq','qwrMEM8','qujdrevgr0HjsKTmtu5puffsu1rvvLDywvO','lwrPz2L0ignHCgfJAxr5icG','surhru5Fsu5wquXjrf9uveW','surhru5FuKvtrvjwqvrjt05FtK9ux0zpvu5e','tNvTyMvYigrVzxmGBM90ig1HDgnOigv4CgvJDgvKigzVCM1HDcaOz290oIa','x3vUzg9syw5KB21szxnLCNzHDgLVBG','ChvZAa','D2LUBMvYuMvZDwX0','zgvMyxvSDfnLCMLHBfbHDhrLCM4','surhru5Fsu5wquXjrf9qqvrurvjo','zM9Qyue','BwvZC2fNzq','AxnjBNrLz2vY','zuPJqKu','AwrNzw5FCMvZzxj2zv9PzgvTx2XVC2vY','x3zHBgLKyxrLswrLBxbVDgvUy3LlzxK','x2j1AwXKrM9YBwf0s2v5','uNzVC3C','vwHmBgO','zgf0zvbYzwzPEa','AwrNzw5FCMvZzxj2zv9PzgvTx2XVC2vYx2nHBMnLBf9LCNjVCG','CMvWzwf0','otK5os05otK5','suqGr2vUzxjHDg9YihjLC2vYDMf0Aw9Uigv4DgvUzgvKoIa','x2LUAxrPywXPEMvK','sw52ywXPzcbYzxvZzurLBgv0ztOGBxvZDcbIzsbIB29SzwfUicHNB3q6ia','x3zHBgLKyxrLugf0DgvYBG','nvngsNPWEG','CMv1C2u','CgfKu3rHCNq','C3rVCMvK','sgjjCK8','A2v5uhjLzML4','wvzWs3i','q3bRr0O','x3n0B3jLswrLBunHy2HL','Cg93','CMvZzxj2zurLzMf1BhruveW','x2zVCM1HDe51BwjLCG','x3jLDhjPzxzLswrLBunHy2HL','swrLBxbVDgvUy3KGu0vuie5yigvYCM9Y','x2j1AwXKu2vXs2v5','uxbeEKC','CMvZzxj2zu51BwjLCG','x2rLzMf1BhrtzxjPywXqyxr0zxjU','DwDNy3C','CMy6AwrNzw46','DgvZDa','mZi5nZa0reLNA2r0','mJi1otrPDu9ezxa','CMvZzxj2zu1HEfruta','sw52ywXPzcbYzxnVDxjJztOGBxvZDcbTyxrJAca','DMr6yNa','sLbqwMu','ENfVC0K','AwrNzw5FAwrLBv9YzxrYAwv2zv9LCNjVCG','suqGr2vUzxjHDg9YignVBNn1BwvKoIa','CMfUzg9T','zxL2BfC','lI9YzwrPCY1JBgLLBNq','uLnxAMe','tMXTs2q','y29Kzq','x2vUC3vYzuLUAxrPywXPEMvK','y291BNrLCG','icH0B2TLBJ0','BNvTyMvY','zM9YBwf0','uhj3BvC','x2rLzMf1BhrqAw5eAwDPDhm','x2j1AwXKuMvZzxj2yxrPB25lzxLqCMvMAxG','sNPuqxe','y291BNrLCKLUDa','r0rJvfO','EeXMBeW','suqGr2vUzxjHDg9YihjLC2vYDMf0Aw9UignHBMnLBgXLzdOG','C3jLBq','AgfZ','x2fSBg93uMvZzxq','CMv1C2u6','ChjLzML4','mJG1ntm0nefWzNPqEa','sgjIBuG','EMnHCMq','yNvPBgrezxrLCM1PBMLZDgLJs2v5','vvjVzum','y05SEw4','x2j1AwXKuMvZzxj2yxrPB25jBMrLEeTLEq','Bwf4uMv0CNK','z1nqALO','vNPdy0G','x3zHBgLKyxrLuMvZzxj2zvruta','suzAyLK','vvfMCfe','swnPCxa'];a0_0x494d=function(){return _0x43f0fb;};return a0_0x494d();}class IdGeneratorError extends Error{constructor(_0x2992ac,_0x5f0723,_0x150dc1=null){const _0x98fd97=a0_0x7e059b,_0x59252f={'GisPV':function(_0x4d0081,_0xf83e2){return _0x4d0081||_0xf83e2;}};super(_0x59252f[_0x98fd97(0x2ce)](_0x5f0723,_0x2992ac)),this[_0x98fd97(0x30c)]='IdGeneratorError',this['code']=_0x2992ac,this['details']=_0x150dc1;}}class IdGenerator{constructor(){const _0x37f585=a0_0x7e059b;this[_0x37f585(0x23f)]=![],this['_enabled']=null,this['_keyPrefix']=null,this['_idemTTL']=null,this['_allowReset']=null,this['_defaultMaxRetry']=null,this['_defaultPinDigits']=null,this[_0x37f585(0x253)]=null,this['_defaultCodePattern']=null,this[_0x37f585(0x2b3)]=null,this['_reserveDefaultTTL']=null,this['_reserveMaxTTL']=null;}['_initConfig'](){const _0x549310=a0_0x7e059b,_0x1b006e={'eJcBE':'9|0|11|4|6|5|2|7|10|1|12|3|8','OmOnW':'true','IxkXu':function(_0x1ea49c,_0x564d95,_0x17d30a){return _0x1ea49c(_0x564d95,_0x17d30a);},'KanmB':_0x549310(0x288),'gMPbT':function(_0x5e633e,_0x2fd49f){return _0x5e633e===_0x2fd49f;},'uMDlj':function(_0x4d34d8,_0x18b469,_0x18916a){return _0x4d34d8(_0x18b469,_0x18916a);},'gEfWo':_0x549310(0x23d),'fjIHi':_0x549310(0x29d),'oasNJ':function(_0x59bec5,_0x2f6bcf,_0x233668){return _0x59bec5(_0x2f6bcf,_0x233668);}},_0x1a534f=_0x1b006e[_0x549310(0x234)]['split']('|');let _0x3b7bf8=0x0;while(!![]){switch(_0x1a534f[_0x3b7bf8++]){case'0':this['_enabled']=process[_0x549310(0x2c6)]['IDGEN_ENABLED']===_0x1b006e[_0x549310(0x29e)];continue;case'1':this['_reserveDefaultTTL']=_0x1b006e['IxkXu'](parseInt,process['env']['IDGEN_RESERVE_DEFAULT_TTL'],0xa)||DEFAULT_RESERVE_TTL;continue;case'2':this[_0x549310(0x253)]=process['env']['IDGEN_DEFAULT_SERIAL_PATTERN']||_0x1b006e['KanmB'];continue;case'3':this['_initialized']=!![];continue;case'4':this[_0x549310(0x275)]=_0x1b006e['gMPbT'](process[_0x549310(0x2c6)][_0x549310(0x2fa)],'true');continue;case'5':this[_0x549310(0x26c)]=parseInt(process['env'][_0x549310(0x2c3)],0xa)||0x6;continue;case'6':this[_0x549310(0x21c)]=_0x1b006e[_0x549310(0x2fd)](parseInt,process['env']['IDGEN_DEFAULT_MAX_RETRY'],0xa)||0xa;continue;case'7':this['_defaultCodePattern']=process['env']['IDGEN_DEFAULT_CODE_PATTERN']||_0x1b006e['gEfWo'];continue;case'8':logger[_0x549310(0x208)]({'event':_0x1b006e['fjIHi'],'enabled':this['_enabled'],'idemTTL':this['_idemTTL'],'allowReset':this['_allowReset'],'defaultMaxRetry':this[_0x549310(0x21c)],'defaultPinDigits':this['_defaultPinDigits'],'reserveDefaultTTL':this['_reserveDefaultTTL'],'reserveMaxTTL':this['_reserveMaxTTL']},_0x549310(0x294)+this['_enabled']);continue;case'9':this['_keyPrefix']=_0x549310(0x255);continue;case'10':this['_counterTTLMap']={'yyyymm':parseInt(process['env']['IDGEN_COUNTER_TTL_MONTHLY'],0xa)||0x2a3000,'yyyymmdd':parseInt(process['env'][_0x549310(0x2f9)],0xa)||0x2a300};continue;case'11':this[_0x549310(0x290)]=_0x1b006e['oasNJ'](parseInt,process[_0x549310(0x2c6)][_0x549310(0x215)],0xa)||0x258;continue;case'12':this['_reserveMaxTTL']=parseInt(process['env']['IDGEN_RESERVE_MAX_TTL'],0xa)||MAX_RESERVE_TTL;continue;}break;}}['_ensureInitialized'](){if(!this['_initialized'])this['_initConfig']();}get[a0_0x7e059b(0x2f2)](){return this['_ensureInitialized'](),this['_enabled'];}get['keyPrefix'](){return this['_ensureInitialized'](),this['_keyPrefix'];}get['idemTTL'](){return this['_ensureInitialized'](),this['_idemTTL'];}get['allowReset'](){const _0x5f2aaf=a0_0x7e059b;return this[_0x5f2aaf(0x266)](),this[_0x5f2aaf(0x275)];}get['defaultMaxRetry'](){const _0x365f67=a0_0x7e059b;return this[_0x365f67(0x266)](),this['_defaultMaxRetry'];}get[a0_0x7e059b(0x2b0)](){const _0x2ebd90=a0_0x7e059b;return this['_ensureInitialized'](),this[_0x2ebd90(0x26c)];}get['defaultSerialPattern'](){const _0x92239f=a0_0x7e059b;return this[_0x92239f(0x266)](),this[_0x92239f(0x253)];}get[a0_0x7e059b(0x1fd)](){const _0x5d3248=a0_0x7e059b;return this[_0x5d3248(0x266)](),this['_defaultCodePattern'];}get['reserveDefaultTTL'](){const _0x37fec0=a0_0x7e059b;return this[_0x37fec0(0x266)](),this['_reserveDefaultTTL'];}get[a0_0x7e059b(0x259)](){return this['_ensureInitialized'](),this['_reserveMaxTTL'];}[a0_0x7e059b(0x2ab)](){return this['enabled'];}['_validateResource'](_0x198f21){const _0x14260d=a0_0x7e059b,_0x10d2e8={'dFkto':function(_0x487909,_0x1adb83){return _0x487909!==_0x1adb83;},'URoeC':'string','JzTAq':_0x14260d(0x2d8)};if(_0x10d2e8['dFkto'](typeof _0x198f21,_0x10d2e8[_0x14260d(0x27c)])||!RESOURCE_REGEX['test'](_0x198f21))throw new IdGeneratorError(_0x10d2e8[_0x14260d(0x26e)],_0x14260d(0x25a)+RESOURCE_REGEX+'\x20(got:\x20'+JSON[_0x14260d(0x2ba)](_0x198f21)+')');}[a0_0x7e059b(0x204)](_0x381db7){const _0x275ee9=a0_0x7e059b,_0xf00ff5={'AeqfY':function(_0x4a88f4,_0x2a346e){return _0x4a88f4===_0x2a346e;},'xLflL':'string','UhLlj':function(_0x17a7ec,_0x9fa731){return _0x17a7ec==_0x9fa731;},'yIqey':_0x275ee9(0x2c9),'mmbqk':function(_0x58c871,_0x413930){return _0x58c871>_0x413930;},'HbbmH':'IDGEN_INVALID_SEPARATOR','ZYWJV':_0x275ee9(0x28e)},{resource:_0x2f274a,format:_0x380fdd,prefix:_0x5d35ee,separator:_0x58e648,numDigits:_0x535b90,reuseDelete:_0x2a80c3}=_0x381db7;this[_0x275ee9(0x28a)](_0x2f274a);const _0x3d5caa=_0xf00ff5['AeqfY'](typeof _0x380fdd,_0xf00ff5[_0x275ee9(0x271)])?_0x380fdd[_0x275ee9(0x2fc)]():'';if(!ALLOWED_FORMATS[_0x275ee9(0x274)](_0x3d5caa))throw new IdGeneratorError('IDGEN_INVALID_FORMAT','Invalid\x20format:\x20must\x20be\x20one\x20of\x20'+[...ALLOWED_FORMATS]['join'](',\x20')+_0x275ee9(0x2c5)+_0x380fdd+')');if(!Number[_0x275ee9(0x233)](_0x535b90)||_0x535b90<MIN_NUM_DIGITS||_0x535b90>MAX_NUM_DIGITS)throw new IdGeneratorError(_0x275ee9(0x293),'Invalid\x20numDigits:\x20must\x20be\x20integer\x20'+MIN_NUM_DIGITS+'-'+MAX_NUM_DIGITS+_0x275ee9(0x2c5)+_0x535b90+')');const _0x39bb37=_0xf00ff5[_0x275ee9(0x239)](_0x5d35ee,null)?'':_0x5d35ee;if(typeof _0x39bb37!==_0x275ee9(0x2ae)||!PREFIX_REGEX['test'](_0x39bb37))throw new IdGeneratorError(_0xf00ff5['yIqey'],'Invalid\x20prefix:\x20must\x20match\x20'+PREFIX_REGEX+'\x20(got:\x20'+JSON['stringify'](_0x5d35ee)+')');const _0x18791d=_0x58e648==null?'':_0x58e648;if(typeof _0x18791d!==_0xf00ff5[_0x275ee9(0x271)]||_0xf00ff5['mmbqk'](_0x18791d[_0x275ee9(0x2ee)],0x3)||SEPARATOR_FORBIDDEN['test'](_0x18791d))throw new IdGeneratorError(_0xf00ff5[_0x275ee9(0x279)],_0x275ee9(0x2bc)+JSON['stringify'](_0x58e648)+')');if(_0x2a80c3!=null&&typeof _0x2a80c3!==_0xf00ff5['ZYWJV'])throw new IdGeneratorError(_0x275ee9(0x2d8),_0x275ee9(0x240)+typeof _0x2a80c3+')');return{'resource':_0x2f274a,'format':_0x3d5caa,'prefix':_0x39bb37,'separator':_0x18791d,'numDigits':_0x535b90,'reuseDelete':_0x2a80c3===!![]};}[a0_0x7e059b(0x241)](_0x549247){const _0x53dfcb=a0_0x7e059b,_0x561512={'daxSY':function(_0x50b26b,_0x5e2dc0){return _0x50b26b!==_0x5e2dc0;},'vXnce':_0x53dfcb(0x2ae),'Rvosw':function(_0x5a6165,_0x214776){return _0x5a6165===_0x214776;},'cNlyn':function(_0x3a2fac,_0x253686){return _0x3a2fac>_0x253686;},'iJfNE':_0x53dfcb(0x230)};if(_0x561512['daxSY'](typeof _0x549247,_0x561512[_0x53dfcb(0x201)])||_0x561512[_0x53dfcb(0x238)](_0x549247['length'],0x0)||_0x561512[_0x53dfcb(0x27d)](_0x549247[_0x53dfcb(0x2ee)],MAX_PATTERN_LENGTH))throw new IdGeneratorError(_0x561512['iJfNE'],_0x53dfcb(0x2ec)+MAX_PATTERN_LENGTH+'\x20chars\x20(got\x20length:\x20'+(_0x549247&&_0x549247[_0x53dfcb(0x2ee)])+')');let _0x596ba7=![];for(const _0x2dd053 of _0x549247){if(PLACEHOLDER_MAP[_0x2dd053]){_0x596ba7=!![];break;}}if(!_0x596ba7)throw new IdGeneratorError('IDGEN_INVALID_PATTERN','Invalid\x20pattern:\x20must\x20contain\x20at\x20least\x20one\x20placeholder\x20character\x20(9/N/A/a/L/X/x/H/h)');}[a0_0x7e059b(0x2a1)](_0x176fa5){const _0x532d0a=a0_0x7e059b,_0x351f0d={'GCqQz':function(_0x3ef7e5,_0x1df203){return _0x3ef7e5==_0x1df203;}};if(_0x351f0d['GCqQz'](_0x176fa5,null))return undefined;if(!Number[_0x532d0a(0x233)](_0x176fa5)||_0x176fa5<0x1||_0x176fa5>MAX_TTL)throw new IdGeneratorError(_0x532d0a(0x229),'Invalid\x20ttl:\x20must\x20be\x20integer\x201-'+MAX_TTL+'\x20seconds\x20(got:\x20'+_0x176fa5+')');return _0x176fa5;}[a0_0x7e059b(0x219)](_0x534ae5){const _0x2b8443=a0_0x7e059b,_0x1a79ed={'pXkvp':'IDGEN_INVALID_MAX_RETRY'};if(_0x534ae5==null)return this['defaultMaxRetry'];if(!Number[_0x2b8443(0x233)](_0x534ae5)||_0x534ae5<0x1||_0x534ae5>MAX_RETRY_LIMIT)throw new IdGeneratorError(_0x1a79ed[_0x2b8443(0x301)],_0x2b8443(0x2c7)+MAX_RETRY_LIMIT+'\x20(got:\x20'+_0x534ae5+')');return _0x534ae5;}[a0_0x7e059b(0x236)](_0x5cdcc3){const _0x53427f=a0_0x7e059b,_0x14a7fc={'prYqB':function(_0x337211,_0x1fa88d){return _0x337211==_0x1fa88d;},'weUJv':function(_0x5c3740,_0x5bfe8d){return _0x5c3740!==_0x5bfe8d;},'IFZbY':'string','GDcTZ':function(_0x2c732d,_0xbd1c0a){return _0x2c732d===_0xbd1c0a;},'suttO':function(_0x1e84d4,_0x53d0a4){return _0x1e84d4>_0x53d0a4;}};if(_0x14a7fc['prYqB'](_0x5cdcc3,null))return undefined;if(_0x14a7fc[_0x53427f(0x1f1)](typeof _0x5cdcc3,_0x14a7fc[_0x53427f(0x283)])||_0x14a7fc[_0x53427f(0x270)](_0x5cdcc3['length'],0x0)||_0x14a7fc[_0x53427f(0x28d)](_0x5cdcc3[_0x53427f(0x2ee)],MAX_IDEMPOTENCY_KEY_LENGTH))throw new IdGeneratorError('IDGEN_INVALID_RESOURCE','Invalid\x20idempotencyKey:\x20must\x20be\x20string\x201-'+MAX_IDEMPOTENCY_KEY_LENGTH+'\x20chars');return _0x5cdcc3;}['_validateReserveTTL'](_0x26a487){const _0x3522ec=a0_0x7e059b,_0x36d28b={'GhGHM':function(_0x93b712,_0x1a1922){return _0x93b712==_0x1a1922;},'UFaWr':function(_0x418a28,_0x1ceda8){return _0x418a28<_0x1ceda8;},'rNdKY':function(_0x3beb30,_0x30b638){return _0x3beb30>_0x30b638;},'EIVow':'IDGEN_INVALID_RESERVE_TTL'};if(_0x36d28b['GhGHM'](_0x26a487,null))return this[_0x3522ec(0x24c)];if(!Number['isInteger'](_0x26a487)||_0x36d28b[_0x3522ec(0x2bd)](_0x26a487,MIN_RESERVE_TTL)||_0x36d28b[_0x3522ec(0x1f3)](_0x26a487,this[_0x3522ec(0x259)]))throw new IdGeneratorError(_0x36d28b['EIVow'],'Invalid\x20reservation\x20ttl:\x20must\x20be\x20integer\x20'+MIN_RESERVE_TTL+'-'+this[_0x3522ec(0x259)]+_0x3522ec(0x222)+_0x26a487+')');return _0x26a487;}[a0_0x7e059b(0x309)](_0x32297e){const _0x210d3b=a0_0x7e059b,_0x141763={'QpDzG':function(_0x21a31a,_0x41e51d){return _0x21a31a!==_0x41e51d;},'UHavF':_0x210d3b(0x2aa)};if(_0x141763[_0x210d3b(0x251)](typeof _0x32297e,'string')||!RESERVATION_TOKEN_REGEX[_0x210d3b(0x256)](_0x32297e))throw new IdGeneratorError(_0x141763['UHavF'],_0x210d3b(0x2b7)+JSON[_0x210d3b(0x2ba)](_0x32297e)+')');return _0x32297e;}['_pad2'](_0x37ff3d){const _0x5cc7ee=a0_0x7e059b,_0x9166c5={'JXXyP':function(_0x1240c8,_0x3f9454){return _0x1240c8(_0x3f9454);}};return _0x9166c5[_0x5cc7ee(0x307)](String,_0x37ff3d)[_0x5cc7ee(0x244)](0x2,'0');}[a0_0x7e059b(0x237)](_0x72669e,_0x5847f8,_0x25f095=new Date()){const _0x5e2499=a0_0x7e059b,_0x106c48={'zHGic':function(_0x268ff9,_0x4b9542){return _0x268ff9||_0x4b9542;},'qKnWG':'yyyy','CnIjQ':_0x5e2499(0x2a2),'Moazt':'IDGEN_INVALID_FORMAT'},_0x464f95=_0x25f095['getFullYear'](),_0x1ce562=this['_pad2'](_0x25f095[_0x5e2499(0x2f1)]()+0x1),_0x4a3b2c=this['_pad2'](_0x25f095['getDate']()),_0x2189a8=_0x106c48[_0x5e2499(0x29c)](_0x5847f8,'_');let _0x1843a0,_0x2fddc8='';switch(_0x72669e){case _0x5e2499(0x2cb):_0x1843a0=_0x2189a8+'_text';break;case _0x106c48['qKnWG']:_0x2fddc8=''+_0x464f95,_0x1843a0=_0x2189a8+'_yyyy_'+_0x2fddc8;break;case _0x106c48[_0x5e2499(0x2c0)]:_0x2fddc8=''+_0x464f95+_0x1ce562,_0x1843a0=_0x2189a8+'_yyyymm_'+_0x2fddc8;break;case'yyyymmdd':_0x2fddc8=''+_0x464f95+_0x1ce562+_0x4a3b2c,_0x1843a0=_0x2189a8+'_yyyymmdd_'+_0x2fddc8;break;default:throw new IdGeneratorError(_0x106c48['Moazt'],'Unknown\x20format:\x20'+_0x72669e);}return{'formatKey':_0x1843a0,'datePrefix':_0x2fddc8};}['_buildSeqKey'](_0x1bd65e,_0x297210){const _0x415271=a0_0x7e059b;return this[_0x415271(0x247)]+'seq:'+_0x1bd65e+':'+_0x297210;}[a0_0x7e059b(0x298)](_0x3f7176,_0x439e30){const _0xbccbc7=a0_0x7e059b;return this[_0xbccbc7(0x247)]+_0xbccbc7(0x276)+_0x3f7176+':'+_0x439e30;}[a0_0x7e059b(0x2cc)](_0x3b25ea,_0x2923db){return this['keyPrefix']+'meta:'+_0x3b25ea+':'+_0x2923db;}['_buildIssuedKey'](_0x54d07a){const _0x511a2a=a0_0x7e059b;return this['keyPrefix']+_0x511a2a(0x2fe)+_0x54d07a;}[a0_0x7e059b(0x21b)](_0x1f24a7,_0x2c981e){const _0x2c1489=a0_0x7e059b;return this[_0x2c1489(0x247)]+'active:'+_0x1f24a7+':'+_0x2c981e;}['_buildReservationKey'](_0x29b0b3){const _0x5ed9e2=a0_0x7e059b;return this[_0x5ed9e2(0x247)]+_0x5ed9e2(0x30a)+_0x29b0b3;}[a0_0x7e059b(0x27e)](_0x1c530b,_0x2d4fc2){return this['keyPrefix']+'rsv_idx:'+_0x1c530b+':'+_0x2d4fc2;}[a0_0x7e059b(0x26d)](){const _0x11e75d=a0_0x7e059b;return this['keyPrefix']+_0x11e75d(0x30a);}[a0_0x7e059b(0x28b)](_0x5345f3,_0x4eb622,_0x75cfb2,_0x56040e){const _0x45d9e1=a0_0x7e059b,_0x4b3fc6={'PYhqF':'idgen'};if(_0x75cfb2)return idempotencyManager['buildDeterministicKey'](_0x4b3fc6[_0x45d9e1(0x2da)],_0x5345f3,_0x4eb622+':'+_0x75cfb2+':'+_0x56040e);return idempotencyManager[_0x45d9e1(0x27b)](_0x45d9e1(0x2ad),_0x5345f3,_0x4eb622+':'+_0x56040e);}[a0_0x7e059b(0x216)](_0x5e94c7){return this['_counterTTLMap'][_0x5e94c7]||0x0;}['_formatNumber']({format:_0x589c57,prefix:_0x250735,datePrefix:_0x28a8b1,separator:_0x20b7f9,numDigits:_0x566758,counterInt:_0x5c117f}){const _0x39dde9=a0_0x7e059b,_0xcbd62e={'JqOlP':function(_0x494d60,_0xf3aba0){return _0x494d60>_0xf3aba0;},'jjTiq':function(_0x4595f2,_0x58e5d2){return _0x4595f2(_0x58e5d2);},'Nllnl':function(_0x5b69da,_0x2ce4be){return _0x5b69da===_0x2ce4be;},'pvGtD':_0x39dde9(0x2cb)},_0x1bda94=Math[_0x39dde9(0x24b)](0xa,_0x566758)-0x1;if(_0xcbd62e['JqOlP'](_0x5c117f,_0x1bda94))throw new IdGeneratorError('IDGEN_COUNTER_OVERFLOW',_0x39dde9(0x1f9)+_0x5c117f+'\x20exceeds\x20'+_0x566758+_0x39dde9(0x228)+_0x1bda94+_0x39dde9(0x2a0),{'counterInt':_0x5c117f,'numDigits':_0x566758,'max':_0x1bda94});const _0x1140f9=_0xcbd62e['jjTiq'](String,_0x5c117f)[_0x39dde9(0x244)](_0x566758,'0');if(_0xcbd62e['Nllnl'](_0x589c57,_0xcbd62e[_0x39dde9(0x2d2)]))return _0x250735?''+_0x250735+_0x20b7f9+_0x1140f9:_0x1140f9;return _0x250735?''+_0x250735+_0x20b7f9+_0x28a8b1+_0x20b7f9+_0x1140f9:''+_0x28a8b1+_0x20b7f9+_0x1140f9;}['_parseNumber']({format:_0x261226,prefix:_0x58bbe2,separator:_0x583435,numDigits:_0x42bd12,number:_0x51f202}){const _0x58b85a=a0_0x7e059b,_0x21ae27={'uggcw':'string','sdyMV':function(_0x2b8485,_0x50fd2e){return _0x2b8485===_0x50fd2e;},'nkXjM':_0x58b85a(0x2d1),'vJcGR':function(_0x1fcef6,_0x46f076){return _0x1fcef6!==_0x46f076;},'cFfjD':function(_0x394a65,_0x1db15e){return _0x394a65===_0x1db15e;},'eRtTQ':_0x58b85a(0x2a2),'vEHcU':function(_0x51a1e8,_0x2ee092,_0x3473ff){return _0x51a1e8(_0x2ee092,_0x3473ff);},'nQyzt':function(_0x5bc6ec,_0x3268b0){return _0x5bc6ec||_0x3268b0;},'gSPjZ':_0x58b85a(0x2cb)};if(typeof _0x51f202!==_0x21ae27[_0x58b85a(0x254)]||_0x21ae27['sdyMV'](_0x51f202['length'],0x0))throw new IdGeneratorError(_0x21ae27['nkXjM'],'Invalid\x20number:\x20must\x20be\x20non-empty\x20string');const _0x4ca53a=_0x583435||'',_0x39acc4=_0x21ae27['sdyMV'](_0x4ca53a,'')?[_0x51f202]:_0x51f202['split'](_0x4ca53a);let _0x2fd371='',_0xc2823c;if(_0x21ae27[_0x58b85a(0x1f4)](_0x261226,_0x58b85a(0x2cb))){if(_0x58bbe2){if(_0x39acc4[_0x58b85a(0x2ee)]!==0x2||_0x39acc4[0x0]!==_0x58bbe2)throw new IdGeneratorError(_0x58b85a(0x2d1),_0x58b85a(0x1f7)+_0x4ca53a+_0x58b85a(0x30f)+_0x51f202+')');_0xc2823c=_0x39acc4[0x1];}else{if(_0x21ae27['vJcGR'](_0x39acc4['length'],0x1))throw new IdGeneratorError(_0x21ae27['nkXjM'],'Number\x20does\x20not\x20match\x20expected\x20text\x20format\x20(got:\x20'+_0x51f202+')');_0xc2823c=_0x39acc4[0x0];}}else{const _0x443a88=_0x58bbe2?0x3:0x2;if(_0x39acc4[_0x58b85a(0x2ee)]!==_0x443a88)throw new IdGeneratorError(_0x21ae27[_0x58b85a(0x2a6)],_0x58b85a(0x22b)+_0x51f202+',\x20expected\x20'+_0x443a88+_0x58b85a(0x2b9));let _0x452240=0x0;if(_0x58bbe2){if(_0x21ae27['vJcGR'](_0x39acc4[_0x452240],_0x58bbe2))throw new IdGeneratorError('IDGEN_INVALID_NUMBER','Number\x20prefix\x20mismatch:\x20expected\x20'+_0x58bbe2+',\x20got\x20'+_0x39acc4[_0x452240]);_0x452240++;}_0x2fd371=_0x39acc4[_0x452240++];const _0x490f9b=_0x21ae27['cFfjD'](_0x261226,'yyyy')?/^\d{4}$/:_0x261226===_0x21ae27[_0x58b85a(0x2e5)]?/^\d{6}$/:/^\d{8}$/;if(!_0x490f9b['test'](_0x2fd371))throw new IdGeneratorError(_0x21ae27['nkXjM'],_0x58b85a(0x211)+_0x261226+':\x20'+_0x2fd371);_0xc2823c=_0x39acc4[_0x452240];}if(!new RegExp('^\x5cd{'+_0x42bd12+'}$')[_0x58b85a(0x256)](_0xc2823c))throw new IdGeneratorError(_0x21ae27[_0x58b85a(0x2a6)],_0x58b85a(0x214)+_0x42bd12+_0x58b85a(0x2f6)+_0xc2823c+')');const _0x5daf14=_0x21ae27['vEHcU'](parseInt,_0xc2823c,0xa),_0x4af79b=_0x21ae27['nQyzt'](_0x58bbe2,'_');let _0x3f90d0;return _0x261226===_0x21ae27[_0x58b85a(0x280)]?_0x3f90d0=_0x4af79b+_0x58b85a(0x21a):_0x3f90d0=_0x4af79b+'_'+_0x261226+'_'+_0x2fd371,{'formatKey':_0x3f90d0,'counterInt':_0x5daf14,'datePrefix':_0x2fd371};}[a0_0x7e059b(0x28f)](_0x5b77e6){let _0x4282a8='';for(const _0x5dacbc of _0x5b77e6){const _0x259586=PLACEHOLDER_MAP[_0x5dacbc];if(_0x259586){const _0xafeaa7=crypto['randomInt'](0x0,_0x259586['length']);_0x4282a8+=_0x259586[_0xafeaa7];}else _0x4282a8+=_0x5dacbc;}return _0x4282a8;}async[a0_0x7e059b(0x24e)](_0x361da9){const _0x9d02f5=a0_0x7e059b,_0x28d7f5={'HbIrO':_0x9d02f5(0x25e),'oLQvI':_0x9d02f5(0x2e7)};if(!_0x361da9)return null;try{const _0x1c7fec=redisClient[_0x9d02f5(0x2df)](),_0x27a93d=await _0x1c7fec['get'](_0x361da9);if(_0x27a93d)return logger[_0x9d02f5(0x208)]({'event':'idgen_idem_hit','key':_0x361da9},'Idempotency\x20cache\x20HIT'),JSON['parse'](_0x27a93d);return null;}catch(_0x22acc6){return logger['warn']({'event':_0x28d7f5[_0x9d02f5(0x246)],'error':_0x22acc6[_0x9d02f5(0x232)]},_0x28d7f5['oLQvI']),null;}}async[a0_0x7e059b(0x24a)](_0x46e672,_0x22cfdd){const _0x34b405=a0_0x7e059b,_0x21046f={'wcnTD':_0x34b405(0x1f0)};if(!_0x46e672)return;try{const _0x389773=redisClient[_0x34b405(0x2df)]();await _0x389773['setex'](_0x46e672,this['idemTTL'],JSON['stringify'](_0x22cfdd));}catch(_0x50dcc0){logger[_0x34b405(0x2b4)]({'event':'idgen_idem_store_error','error':_0x50dcc0[_0x34b405(0x232)]},_0x21046f['wcnTD']);}}async['_storeIdemCacheNX'](_0x2d99a8,_0xbfbe62){const _0x23152a=a0_0x7e059b,_0x2816de={'nZNoQ':function(_0x3eee16,_0x1f1f33){return _0x3eee16===_0x1f1f33;},'szXpm':'idgen_idem_nx_race_lost_but_empty','IrmcC':'idgen_idem_storenx_error'};if(!_0x2d99a8)return{'stored':!![],'winnerResult':null};try{const _0x21132e=redisClient[_0x23152a(0x2df)](),_0x54d547=JSON[_0x23152a(0x2ba)](_0xbfbe62),_0x381a6f=await _0x21132e[_0x23152a(0x21d)](_0x2d99a8,_0x54d547,'EX',this['idemTTL'],'NX');if(_0x2816de['nZNoQ'](_0x381a6f,'OK'))return{'stored':!![],'winnerResult':null};const _0x26ec73=await _0x21132e['get'](_0x2d99a8);if(_0x26ec73)return{'stored':![],'winnerResult':JSON[_0x23152a(0x210)](_0x26ec73)};return logger[_0x23152a(0x2b4)]({'event':_0x2816de['szXpm'],'key':_0x2d99a8},'SET\x20NX\x20failed\x20but\x20cache\x20GET\x20returned\x20empty\x20—\x20falling\x20back\x20to\x20own\x20result'),{'stored':!![],'winnerResult':null};}catch(_0x80dc82){return logger['warn']({'event':_0x2816de['IrmcC'],'error':_0x80dc82[_0x23152a(0x232)]},_0x23152a(0x24f)),{'stored':!![],'winnerResult':null};}}async['_undoRandomReservation'](_0x833119,_0x4b767d,_0x42bc27){const _0x4c882a=a0_0x7e059b,_0x5a4132={'WHvFp':'Random\x20reservation\x20undo\x20error\x20(orphan\x20slot\x20may\x20remain)'};try{const _0x2d056d=redisClient[_0x4c882a(0x2df)]();if(_0x42bc27){const _0x47a809=this[_0x4c882a(0x21b)](_0x833119,_0x4b767d);await _0x2d056d['del'](_0x47a809);}else{const _0x1b50b3=this['_buildIssuedKey'](_0x833119);await _0x2d056d[_0x4c882a(0x273)](_0x1b50b3,_0x4b767d);}}catch(_0x57cea3){logger[_0x4c882a(0x2b4)]({'event':'idgen_random_undo_error','error':_0x57cea3[_0x4c882a(0x232)]},_0x5a4132['WHvFp']);}}async['_updateMeta'](_0x318165,_0x104381,_0x15a263,_0x39e4af=0x0){const _0x4c583e=a0_0x7e059b,_0x33d70f={'zJZzJ':function(_0x2d0edc,_0x403246){return _0x2d0edc(_0x403246);},'KcaiM':function(_0x25066d,_0x24ec44){return _0x25066d>_0x24ec44;},'MUJkF':'Meta\x20update\x20error'};try{const _0x27570a=redisClient['getClient'](),_0x3a319b=this['_buildMetaKey'](_0x318165,_0x104381),_0x3321fb=[];for(const [_0x4a0096,_0x3971cd]of Object[_0x4c583e(0x2dd)](_0x15a263)){_0x3321fb[_0x4c583e(0x22d)](_0x4a0096,_0x33d70f['zJZzJ'](String,_0x3971cd));}if(_0x3321fb[_0x4c583e(0x2ee)]>0x0){await _0x27570a[_0x4c583e(0x2e0)](_0x3a319b,..._0x3321fb);if(_0x33d70f['KcaiM'](_0x39e4af,0x0))await _0x27570a['expire'](_0x3a319b,_0x39e4af);}}catch(_0x9626ef){logger[_0x4c583e(0x2b4)]({'event':'idgen_meta_update_error','error':_0x9626ef[_0x4c583e(0x232)]},_0x33d70f[_0x4c583e(0x302)]);}}async['number'](_0x1ca86c){const _0x2c7def=a0_0x7e059b,_0x214442={'yHEsU':'IDGEN_DISABLED','zZLOc':'number','YVpKr':function(_0x2c6d89,_0x150d30){return _0x2c6d89(_0x150d30);},'rrLyf':function(_0x1f5855,_0xed200c){return _0x1f5855===_0xed200c;},'UNVSe':function(_0x29f2ec,_0x36200e){return _0x29f2ec(_0x36200e);},'zelXT':'idgen_idem_loser_release_error','PrwmW':'idgen_number_idem_loser'};if(!this['enabled'])throw new IdGeneratorError(_0x214442['yHEsU'],_0x2c7def(0x1fb));const _0x5402db=this[_0x2c7def(0x204)](_0x1ca86c),_0xb08927=this[_0x2c7def(0x236)](_0x1ca86c[_0x2c7def(0x2ca)]),{resource:_0x6c54ea,format:_0x13529e,prefix:_0x4b7024,separator:_0x1bfab7,numDigits:_0x443afb,reuseDelete:_0x475607}=_0x5402db,{formatKey:_0x742550,datePrefix:_0x22ad84}=this[_0x2c7def(0x237)](_0x13529e,_0x4b7024),_0x523f0d=this['_buildSeqKey'](_0x6c54ea,_0x742550),_0x5bf014=this[_0x2c7def(0x298)](_0x6c54ea,_0x742550),_0x4342a6=this['_getCounterTTL'](_0x13529e);let _0xc1b347=null;if(_0xb08927){_0xc1b347=this[_0x2c7def(0x28b)](_0x214442[_0x2c7def(0x203)],_0x6c54ea,_0x742550,_0xb08927);const _0x58ff44=await this[_0x2c7def(0x24e)](_0xc1b347);if(_0x58ff44)return _0x58ff44;}const _0xe80d14=redisClient['getClient'](),_0x5df8af=await _0xe80d14['eval'](LUA_GENERATE_NUMBER,0x2,_0x523f0d,_0x5bf014,_0x475607?'1':'0',_0x214442[_0x2c7def(0x248)](String,_0x4342a6)),_0x20b707=_0x5df8af[0x0],_0x480c8f=_0x214442[_0x2c7def(0x2e9)](_0x5df8af[0x1],0x1),_0x21125e=this[_0x2c7def(0x24d)]({'format':_0x13529e,'prefix':_0x4b7024,'datePrefix':_0x22ad84,'separator':_0x1bfab7,'numDigits':_0x443afb,'counterInt':_0x20b707}),_0x451cde={'value':_0x21125e,'counter':_0x20b707,'resource':_0x6c54ea,'formatKey':_0x742550,'isReused':_0x480c8f,'generatedAt':new Date()[_0x2c7def(0x2b8)]()},_0x19f99d=await this[_0x2c7def(0x2ea)](_0xc1b347,_0x451cde);if(!_0x19f99d['stored']){try{await _0xe80d14['eval'](LUA_RELEASE_NUMBER,0x1,_0x5bf014,_0x214442['UNVSe'](String,_0x20b707),String(_0x4342a6));}catch(_0x11e2dd){logger[_0x2c7def(0x2b4)]({'event':_0x214442['zelXT'],'error':_0x11e2dd['message'],'resource':_0x6c54ea,'formatKey':_0x742550,'counterInt':_0x20b707},'Failed\x20to\x20release\x20counter\x20for\x20idempotency\x20loser');}return logger['info']({'event':_0x214442[_0x2c7def(0x26b)],'resource':_0x6c54ea,'formatKey':_0x742550,'counter':_0x20b707},'ID\x20Generator\x20number\x20idem\x20race\x20lost,\x20returning\x20winner\x20envelope'),_0x19f99d[_0x2c7def(0x22e)];}return this['_updateMeta'](_0x6c54ea,_0x742550,{'lastValue':_0x21125e,'lastCounter':_0x20b707,'lastIsReused':_0x480c8f,'lastGeneratedAt':_0x451cde['generatedAt']},_0x4342a6),logger[_0x2c7def(0x208)]({'event':'idgen_number_generated','resource':_0x6c54ea,'formatKey':_0x742550,'counter':_0x20b707,'isReused':_0x480c8f},_0x2c7def(0x2dc)+_0x21125e),_0x451cde;}async[a0_0x7e059b(0x2c4)](_0x4ebfd2){const _0x5c2fc9=a0_0x7e059b,_0x227c79={'OPZaJ':_0x5c2fc9(0x200),'Iciqp':function(_0x2fc5cd,_0x3de2d7){return _0x2fc5cd!==_0x3de2d7;},'fkcGj':_0x5c2fc9(0x2ae),'auOYH':function(_0x1eaa9f,_0x3f0e66){return _0x1eaa9f===_0x3f0e66;},'WJnPu':'IDGEN_INVALID_NUMBER','NDMef':_0x5c2fc9(0x2cb),'Zlems':_0x5c2fc9(0x2e8),'ORjEt':function(_0x10fcaf,_0x19b180){return _0x10fcaf(_0x19b180);}};if(!this['enabled'])throw new IdGeneratorError(_0x5c2fc9(0x209),_0x227c79['OPZaJ']);let _0xa3d64b,_0xa45a32,_0x38e0da,_0x2e448d;const _0x2f92f1=this[_0x5c2fc9(0x236)](_0x4ebfd2['idempotencyKey']);if(_0x227c79['Iciqp'](_0x4ebfd2[_0x5c2fc9(0x26f)],undefined)&&_0x227c79['Iciqp'](_0x4ebfd2['counterInt'],null)){this[_0x5c2fc9(0x28a)](_0x4ebfd2[_0x5c2fc9(0x291)]),_0xa3d64b=_0x4ebfd2['resource'];if(_0x227c79[_0x5c2fc9(0x285)](typeof _0x4ebfd2['formatKey'],_0x227c79['fkcGj'])||_0x227c79['auOYH'](_0x4ebfd2['formatKey'][_0x5c2fc9(0x2ee)],0x0))throw new IdGeneratorError(_0x227c79['WJnPu'],'formatKey\x20is\x20required\x20in\x20low-level\x20release');_0xa45a32=_0x4ebfd2['formatKey'];if(!Number['isInteger'](_0x4ebfd2[_0x5c2fc9(0x26f)])||_0x4ebfd2['counterInt']<0x1)throw new IdGeneratorError(_0x227c79['WJnPu'],'counterInt\x20must\x20be\x20positive\x20integer\x20(got:\x20'+_0x4ebfd2[_0x5c2fc9(0x26f)]+')');_0x38e0da=_0x4ebfd2[_0x5c2fc9(0x26f)];const _0x2dfba3=_0xa45a32['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/);_0x2e448d=_0x2dfba3?_0x2dfba3[0x1]:_0x227c79[_0x5c2fc9(0x2d5)];}else{const _0x469822=this['_validateNumberParams'](_0x4ebfd2),_0x10c6c1=this['_parseNumber']({'format':_0x469822['format'],'prefix':_0x469822[_0x5c2fc9(0x277)],'separator':_0x469822[_0x5c2fc9(0x312)],'numDigits':_0x469822['numDigits'],'number':_0x4ebfd2['number']});_0xa3d64b=_0x469822[_0x5c2fc9(0x291)],_0xa45a32=_0x10c6c1[_0x5c2fc9(0x2b6)],_0x38e0da=_0x10c6c1['counterInt'],_0x2e448d=_0x469822['format'];}const _0x1b0b43=this[_0x5c2fc9(0x298)](_0xa3d64b,_0xa45a32),_0xaf3a02=this[_0x5c2fc9(0x216)](_0x2e448d);let _0x30a6ef=null;if(_0x2f92f1){_0x30a6ef=this['_buildIdemKey'](_0x227c79['Zlems'],_0xa3d64b,_0xa45a32,_0x2f92f1);const _0x1d87ef=await this['_retrieveIdemCache'](_0x30a6ef);if(_0x1d87ef)return _0x1d87ef;}const _0x4f9816=redisClient[_0x5c2fc9(0x2df)]();await _0x4f9816[_0x5c2fc9(0x2de)](LUA_RELEASE_NUMBER,0x1,_0x1b0b43,_0x227c79['ORjEt'](String,_0x38e0da),_0x227c79['ORjEt'](String,_0xaf3a02));const _0x12d1c9={'released':!![],'resource':_0xa3d64b,'formatKey':_0xa45a32,'counter':_0x38e0da,'releasedAt':new Date()[_0x5c2fc9(0x2b8)]()};return await this['_storeIdemCache'](_0x30a6ef,_0x12d1c9),this[_0x5c2fc9(0x2b2)](_0xa3d64b,_0xa45a32,{'lastReleasedCounter':_0x38e0da,'lastReleasedAt':_0x12d1c9['releasedAt']},_0xaf3a02),logger['info']({'event':_0x5c2fc9(0x28c),'resource':_0xa3d64b,'formatKey':_0xa45a32,'counter':_0x38e0da},'ID\x20Generator\x20number\x20released:\x20'+_0x38e0da),_0x12d1c9;}async[a0_0x7e059b(0x252)](_0x104c68){const _0x5cc2b8=a0_0x7e059b,_0x18ef3b={'PqrNH':_0x5cc2b8(0x209),'IBPqE':'ID\x20Generator\x20is\x20disabled\x20(set\x20IDGEN_ENABLED=true)','HIyGl':'reserve','fkBpS':function(_0x461483,_0x1f7b5b){return _0x461483*_0x1f7b5b;},'FztoH':'format','IpbKV':'prefix','vdzbp':_0x5cc2b8(0x312),'VYYhe':function(_0x406e55,_0x1e2fe6){return _0x406e55(_0x1e2fe6);},'beDAG':_0x5cc2b8(0x23a),'QLDjC':'createdAt','UQfpQ':'ttlMs','iqyIa':_0x5cc2b8(0x2e4),'wjPvf':function(_0x2609cc,_0x47c0cb){return _0x2609cc(_0x47c0cb);},'GXXRJ':function(_0x1ffc70,_0x53f6b9){return _0x1ffc70===_0x53f6b9;},'iyDzW':_0x5cc2b8(0x2e6),'USyhl':'Failed\x20to\x20compensate\x20reservation\x20after\x20counter\x20overflow','gTiCG':'idgen_reserve_value_persist_error','KATti':_0x5cc2b8(0x2f8),'jWwnM':_0x5cc2b8(0x20f),'YcCYL':_0x5cc2b8(0x235)};if(!this[_0x5cc2b8(0x2f2)])throw new IdGeneratorError(_0x18ef3b['PqrNH'],_0x18ef3b['IBPqE']);const _0xbe233d=this[_0x5cc2b8(0x204)](_0x104c68),_0x38215e=this[_0x5cc2b8(0x282)](_0x104c68[_0x5cc2b8(0x21e)]),_0x34f1f5=this['_validateIdempotencyKey'](_0x104c68[_0x5cc2b8(0x2ca)]),{resource:_0xb614f,format:_0x736de4,prefix:_0x5c2b4a,separator:_0x4480e7,numDigits:_0x301944,reuseDelete:_0x5b1ef4}=_0xbe233d,{formatKey:_0x559365,datePrefix:_0x1c9a9e}=this[_0x5cc2b8(0x237)](_0x736de4,_0x5c2b4a),_0x3b71b7=this['_buildSeqKey'](_0xb614f,_0x559365),_0x5282cd=this[_0x5cc2b8(0x298)](_0xb614f,_0x559365),_0x2aa20a=this[_0x5cc2b8(0x27e)](_0xb614f,_0x559365),_0x8eb921=this[_0x5cc2b8(0x216)](_0x736de4);let _0x1e3d76=null;if(_0x34f1f5){_0x1e3d76=this[_0x5cc2b8(0x28b)](_0x18ef3b['HIyGl'],_0xb614f,_0x559365,_0x34f1f5);const _0x2fedd0=await this[_0x5cc2b8(0x24e)](_0x1e3d76);if(_0x2fedd0)return _0x2fedd0;}const _0x3c33f2=crypto[_0x5cc2b8(0x2d3)](),_0x3e4fef=this['_buildReservationKey'](_0x3c33f2),_0xfb5b4b=this[_0x5cc2b8(0x26d)](),_0x35520e=Date['now'](),_0x552dca=_0x35520e+_0x18ef3b['fkBpS'](_0x38215e,0x3e8),_0x5c9ce2=_0x38215e*0x3e8,_0x2311eb=new Date(_0x35520e)['toISOString'](),_0x1249fd=new Date(_0x552dca)['toISOString'](),_0x434c23=[_0x5cc2b8(0x291),_0xb614f,_0x5cc2b8(0x2b6),_0x559365,_0x18ef3b['FztoH'],_0x736de4,_0x18ef3b['IpbKV'],_0x5c2b4a,_0x18ef3b[_0x5cc2b8(0x25b)],_0x4480e7,_0x5cc2b8(0x304),_0x18ef3b['VYYhe'](String,_0x301944),_0x18ef3b['beDAG'],_0x1c9a9e||'',_0x18ef3b[_0x5cc2b8(0x21f)],_0x2311eb,_0x5cc2b8(0x1f5),_0x1249fd,_0x18ef3b[_0x5cc2b8(0x284)],String(_0x5c9ce2)];_0x34f1f5&&_0x434c23[_0x5cc2b8(0x22d)](_0x18ef3b['iqyIa'],_0x34f1f5);const _0x475258=redisClient[_0x5cc2b8(0x2df)](),_0x1590d3=await _0x475258['eval'](LUA_RESERVE_NUMBER,0x3,_0x3b71b7,_0x5282cd,_0x2aa20a,_0x5b1ef4?'1':'0',String(_0x8eb921),_0x3c33f2,_0x3e4fef,_0x18ef3b['VYYhe'](String,_0x5c9ce2),String(_0x552dca),_0x18ef3b[_0x5cc2b8(0x2db)](String,_0x35520e),_0xfb5b4b,..._0x434c23),_0x553a6a=_0x1590d3[0x0],_0x27d70e=_0x18ef3b['GXXRJ'](_0x1590d3[0x1],0x1),_0x338d52=_0x1590d3[0x2]||0x0;let _0x1cb31d;try{_0x1cb31d=this['_formatNumber']({'format':_0x736de4,'prefix':_0x5c2b4a,'datePrefix':_0x1c9a9e,'separator':_0x4480e7,'numDigits':_0x301944,'counterInt':_0x553a6a});}catch(_0x288af8){try{await _0x475258[_0x5cc2b8(0x2de)](LUA_CANCEL_RESERVATION,0x3,_0x3e4fef,_0x2aa20a,_0x5282cd,_0x3c33f2,String(_0x8eb921));}catch(_0x17fa73){logger['warn']({'event':_0x18ef3b['iyDzW'],'error':_0x17fa73[_0x5cc2b8(0x232)],'resource':_0xb614f,'formatKey':_0x559365,'counterInt':_0x553a6a,'token':_0x3c33f2},_0x18ef3b['USyhl']);}throw _0x288af8;}try{await _0x475258['hset'](_0x3e4fef,'value',_0x1cb31d);}catch(_0x4db90f){logger['warn']({'event':_0x18ef3b['gTiCG'],'error':_0x4db90f['message'],'resource':_0xb614f,'formatKey':_0x559365,'counterInt':_0x553a6a,'token':_0x3c33f2},_0x18ef3b['KATti']);}const _0x47ca32={'token':_0x3c33f2,'value':_0x1cb31d,'counter':_0x553a6a,'resource':_0xb614f,'formatKey':_0x559365,'isReused':_0x27d70e,'createdAt':_0x2311eb,'expiresAt':_0x1249fd,'reapedCount':_0x338d52},_0x5f55f1=await this['_storeIdemCacheNX'](_0x1e3d76,_0x47ca32);if(!_0x5f55f1[_0x5cc2b8(0x245)]){try{await _0x475258[_0x5cc2b8(0x2de)](LUA_CANCEL_RESERVATION,0x3,_0x3e4fef,_0x2aa20a,_0x5282cd,_0x3c33f2,_0x18ef3b[_0x5cc2b8(0x2db)](String,_0x8eb921));}catch(_0x11e458){logger[_0x5cc2b8(0x2b4)]({'event':_0x5cc2b8(0x23b),'error':_0x11e458['message'],'resource':_0xb614f,'formatKey':_0x559365,'counterInt':_0x553a6a,'token':_0x3c33f2},_0x18ef3b[_0x5cc2b8(0x2cf)]);}return logger[_0x5cc2b8(0x208)]({'event':_0x18ef3b['YcCYL'],'resource':_0xb614f,'formatKey':_0x559365,'counter':_0x553a6a,'token':_0x3c33f2},'ID\x20Generator\x20reserve\x20idem\x20race\x20lost,\x20returning\x20winner\x20envelope'),_0x5f55f1['winnerResult'];}return this[_0x5cc2b8(0x2b2)](_0xb614f,_0x559365,{'lastReservedCounter':_0x553a6a,'lastReservedAt':_0x2311eb,'lastReapedCount':_0x338d52},_0x8eb921),logger[_0x5cc2b8(0x208)]({'event':'idgen_number_reserved','resource':_0xb614f,'formatKey':_0x559365,'counter':_0x553a6a,'isReused':_0x27d70e,'token':_0x3c33f2,'ttl':_0x38215e,'reapedCount':_0x338d52},_0x5cc2b8(0x29f)+_0x1cb31d+_0x5cc2b8(0x268)+_0x3c33f2+')'),_0x47ca32;}async['confirmReservation'](_0x27e5c5){const _0x477f86=a0_0x7e059b,_0x15c293={'SNWMP':_0x477f86(0x2ad),'HtMbA':'reserve_confirm','uwLvY':'IDGEN_RESERVATION_NOT_FOUND','Eaevq':'idgen_reservation_confirmed'};if(!this['enabled'])throw new IdGeneratorError('IDGEN_DISABLED',_0x477f86(0x200));const _0x1ddd8d=this['_validateReservationToken'](_0x27e5c5&&_0x27e5c5[_0x477f86(0x223)]),_0xeb394e=this['_validateIdempotencyKey'](_0x27e5c5&&_0x27e5c5['idempotencyKey']);let _0x9515dd=null;if(_0xeb394e){_0x9515dd=idempotencyManager['buildDeterministicKey'](_0x15c293['SNWMP'],_0x15c293[_0x477f86(0x2d9)],_0x1ddd8d+':'+_0xeb394e);const _0x6aa00f=await this['_retrieveIdemCache'](_0x9515dd);if(_0x6aa00f)return _0x6aa00f;}const _0x386971=await this[_0x477f86(0x1f2)](_0x1ddd8d),_0x2a4fdc=redisClient[_0x477f86(0x2df)](),_0x5197a9=await _0x2a4fdc['eval'](LUA_CONFIRM_RESERVATION,0x2,_0x386971[_0x477f86(0x2fb)],_0x386971['rsvIdxKey'],_0x1ddd8d);if(!_0x5197a9||_0x5197a9[0x0]!==0x1)throw new IdGeneratorError(_0x15c293['uwLvY'],'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x1ddd8d,{'token':_0x1ddd8d});const _0xd1910c=parseInt(_0x5197a9[0x1],0xa),_0x14388b=_0x5197a9[0x2],_0x201c16=_0x5197a9[0x3],_0x2360fa=new Date()['toISOString'](),_0x29372d={'confirmed':!![],'token':_0x1ddd8d,'value':_0x14388b,'counter':_0xd1910c,'resource':_0x386971[_0x477f86(0x291)],'formatKey':_0x201c16,'confirmedAt':_0x2360fa};await this['_storeIdemCache'](_0x9515dd,_0x29372d);const _0x47bfe2=_0x201c16['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x56cdfe=_0x47bfe2?_0x47bfe2[0x1]:_0x477f86(0x2cb),_0x4203f4=this[_0x477f86(0x216)](_0x56cdfe);return this['_updateMeta'](_0x386971['resource'],_0x201c16,{'lastConfirmedCounter':_0xd1910c,'lastConfirmedAt':_0x2360fa},_0x4203f4),logger['info']({'event':_0x15c293[_0x477f86(0x2ef)],'resource':_0x386971['resource'],'formatKey':_0x201c16,'counter':_0xd1910c,'token':_0x1ddd8d},_0x477f86(0x2ac)+_0x14388b+'\x20(token='+_0x1ddd8d+')'),_0x29372d;}async[a0_0x7e059b(0x287)](_0x230c21){const _0x546c2e=a0_0x7e059b,_0x28277d={'WBsAv':_0x546c2e(0x209),'mkzEd':'ID\x20Generator\x20is\x20disabled','taJXT':_0x546c2e(0x2ad),'rBDUJ':function(_0x66ad23,_0x46ab25){return _0x66ad23!==_0x46ab25;},'EKAxx':'idgen_reservation_cancelled'};if(!this[_0x546c2e(0x2f2)])throw new IdGeneratorError(_0x28277d['WBsAv'],_0x28277d['mkzEd']);const _0x1c1577=this[_0x546c2e(0x309)](_0x230c21&&_0x230c21['token']),_0x61e313=this['_validateIdempotencyKey'](_0x230c21&&_0x230c21[_0x546c2e(0x2ca)]);let _0x19ebba=null;if(_0x61e313){_0x19ebba=idempotencyManager[_0x546c2e(0x27b)](_0x28277d[_0x546c2e(0x2cd)],_0x546c2e(0x2bf),_0x1c1577+':'+_0x61e313);const _0x4fd02e=await this[_0x546c2e(0x24e)](_0x19ebba);if(_0x4fd02e)return _0x4fd02e;}const _0x1ab91f=await this[_0x546c2e(0x1f2)](_0x1c1577),_0xb4593e=this['_buildReuseKey'](_0x1ab91f['resource'],_0x1ab91f['formatKey']),_0x2c081d=_0x1ab91f['formatKey']['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x171ea7=_0x2c081d?_0x2c081d[0x1]:_0x546c2e(0x2cb),_0x485b4c=this[_0x546c2e(0x216)](_0x171ea7),_0x2fc756=redisClient[_0x546c2e(0x2df)](),_0x32dfff=await _0x2fc756[_0x546c2e(0x2de)](LUA_CANCEL_RESERVATION,0x3,_0x1ab91f[_0x546c2e(0x2fb)],_0x1ab91f['rsvIdxKey'],_0xb4593e,_0x1c1577,String(_0x485b4c));if(!_0x32dfff||_0x28277d['rBDUJ'](_0x32dfff[0x0],0x1))throw new IdGeneratorError(_0x546c2e(0x22a),_0x546c2e(0x300)+_0x1c1577,{'token':_0x1c1577});const _0x244f39=parseInt(_0x32dfff[0x1],0xa),_0x3fd2a7=_0x32dfff[0x2],_0x299c6c=_0x32dfff[0x3],_0x474557=new Date()['toISOString'](),_0x1394f3={'cancelled':!![],'token':_0x1c1577,'value':_0x3fd2a7,'counter':_0x244f39,'resource':_0x1ab91f[_0x546c2e(0x291)],'formatKey':_0x299c6c,'releasedToReuse':!![],'cancelledAt':_0x474557};return await this[_0x546c2e(0x24a)](_0x19ebba,_0x1394f3),this['_updateMeta'](_0x1ab91f['resource'],_0x299c6c,{'lastCancelledCounter':_0x244f39,'lastCancelledAt':_0x474557},_0x485b4c),logger['info']({'event':_0x28277d[_0x546c2e(0x295)],'resource':_0x1ab91f[_0x546c2e(0x291)],'formatKey':_0x299c6c,'counter':_0x244f39,'token':_0x1c1577},_0x546c2e(0x272)+_0x3fd2a7+'\x20(token='+_0x1c1577+')'),_0x1394f3;}async['extendReservation'](_0x2b5c6f){const _0x4bd62d=a0_0x7e059b,_0x30849f={'imlDJ':'IDGEN_DISABLED','Iodxv':_0x4bd62d(0x2ad),'aLjcr':function(_0x59e48a,_0x42a5bb){return _0x59e48a*_0x42a5bb;},'RdWpt':function(_0x599046,_0x444052){return _0x599046(_0x444052);},'hbZnN':function(_0x4bef79,_0x35c208){return _0x4bef79!==_0x35c208;},'OZkJK':function(_0x2b9a20,_0xab5e,_0x3de7a9){return _0x2b9a20(_0xab5e,_0x3de7a9);},'VzCcH':'text','mcIZl':_0x4bd62d(0x306)};if(!this[_0x4bd62d(0x2f2)])throw new IdGeneratorError(_0x30849f['imlDJ'],'ID\x20Generator\x20is\x20disabled');const _0xdf0a0d=this['_validateReservationToken'](_0x2b5c6f&&_0x2b5c6f['token']),_0x3ca1d1=this[_0x4bd62d(0x282)](_0x2b5c6f&&_0x2b5c6f[_0x4bd62d(0x21e)]),_0x22404b=this['_validateIdempotencyKey'](_0x2b5c6f&&_0x2b5c6f['idempotencyKey']);let _0x1a43d5=null;if(_0x22404b){_0x1a43d5=idempotencyManager[_0x4bd62d(0x27b)](_0x30849f['Iodxv'],_0x4bd62d(0x29b),_0xdf0a0d+':'+_0x22404b);const _0x1bbcc8=await this[_0x4bd62d(0x24e)](_0x1a43d5);if(_0x1bbcc8)return _0x1bbcc8;}const _0x34c563=await this['_getReservationContext'](_0xdf0a0d),_0x51d4f=Date[_0x4bd62d(0x2f5)](),_0x1b924c=_0x51d4f+_0x30849f[_0x4bd62d(0x2f7)](_0x3ca1d1,0x3e8),_0x484a93=_0x30849f[_0x4bd62d(0x2f7)](_0x3ca1d1,0x3e8),_0x5f3cb2=new Date(_0x1b924c)[_0x4bd62d(0x2b8)](),_0x2b86c4=redisClient[_0x4bd62d(0x2df)](),_0x5cb159=await _0x2b86c4['eval'](LUA_EXTEND_RESERVATION,0x2,_0x34c563[_0x4bd62d(0x2fb)],_0x34c563['rsvIdxKey'],_0xdf0a0d,_0x30849f['RdWpt'](String,_0x484a93),String(_0x1b924c),_0x5f3cb2);if(!_0x5cb159||_0x30849f['hbZnN'](_0x5cb159[0x0],0x1))throw new IdGeneratorError(_0x4bd62d(0x22a),_0x4bd62d(0x300)+_0xdf0a0d,{'token':_0xdf0a0d});const _0x16b61c=_0x5cb159[0x1],_0x34589f=_0x30849f['OZkJK'](parseInt,_0x5cb159[0x2],0xa),_0x1309f1=_0x5cb159[0x3],_0x5ab5f3=_0x5cb159[0x4],_0x5c4fec=new Date(_0x51d4f)['toISOString'](),_0x16212f={'extended':!![],'token':_0xdf0a0d,'previousExpiresAt':_0x16b61c,'expiresAt':_0x5f3cb2,'ttlMs':_0x484a93,'resource':_0x34c563[_0x4bd62d(0x291)],'formatKey':_0x5ab5f3,'counter':_0x34589f,'value':_0x1309f1,'extendedAt':_0x5c4fec};await this[_0x4bd62d(0x24a)](_0x1a43d5,_0x16212f);const _0x190f54=_0x5ab5f3[_0x4bd62d(0x205)](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x3e1131=_0x190f54?_0x190f54[0x1]:_0x30849f[_0x4bd62d(0x281)],_0x2bf66d=this['_getCounterTTL'](_0x3e1131);return this[_0x4bd62d(0x2b2)](_0x34c563[_0x4bd62d(0x291)],_0x5ab5f3,{'lastExtendedCounter':_0x34589f,'lastExtendedAt':_0x5c4fec},_0x2bf66d),logger['info']({'event':_0x30849f[_0x4bd62d(0x20b)],'resource':_0x34c563[_0x4bd62d(0x291)],'formatKey':_0x5ab5f3,'counter':_0x34589f,'token':_0xdf0a0d,'ttl':_0x3ca1d1},_0x4bd62d(0x23e)+_0x1309f1+_0x4bd62d(0x268)+_0xdf0a0d+',\x20+'+_0x3ca1d1+'s)'),_0x16212f;}async['getReservation'](_0x42a613){const _0x39c5e3=a0_0x7e059b,_0x58f1d3={'hZgeQ':'IDGEN_DISABLED','huTyi':'ID\x20Generator\x20is\x20disabled','JPPZe':function(_0x49c2db,_0x48a93c,_0x25cad){return _0x49c2db(_0x48a93c,_0x25cad);},'RcBsw':function(_0x3da25d,_0x4b4350){return _0x3da25d===_0x4b4350;},'zqosI':function(_0x2291a0,_0x42df08){return _0x2291a0>=_0x42df08;}};if(!this[_0x39c5e3(0x2f2)])throw new IdGeneratorError(_0x58f1d3['hZgeQ'],_0x58f1d3['huTyi']);const _0x45461e=this['_validateReservationToken'](_0x42a613&&_0x42a613['token']),_0x374a1b=this[_0x39c5e3(0x2a7)](_0x45461e),_0x35edda=redisClient['getClient'](),_0x18c59f=_0x35edda['pipeline']();_0x18c59f['hgetall'](_0x374a1b),_0x18c59f[_0x39c5e3(0x2a8)](_0x374a1b);const _0x5a18db=await _0x18c59f['exec'](),_0x572f9a=_0x5a18db&&_0x5a18db[0x0]&&_0x5a18db[0x0][0x1],_0x3b88d3=_0x5a18db&&_0x5a18db[0x1]&&_0x5a18db[0x1][0x1];if(!_0x572f9a||Object[_0x39c5e3(0x2bb)](_0x572f9a)['length']===0x0)throw new IdGeneratorError('IDGEN_RESERVATION_NOT_FOUND',_0x39c5e3(0x300)+_0x45461e,{'token':_0x45461e});return{'token':_0x45461e,'resource':_0x572f9a[_0x39c5e3(0x291)]||null,'formatKey':_0x572f9a['formatKey']||null,'format':_0x572f9a['format']||null,'prefix':_0x572f9a['prefix']||'','separator':_0x572f9a['separator']||'','numDigits':_0x572f9a['numDigits']?parseInt(_0x572f9a[_0x39c5e3(0x304)],0xa):null,'datePrefix':_0x572f9a['datePrefix']||'','counter':_0x572f9a['counter']?_0x58f1d3[_0x39c5e3(0x25c)](parseInt,_0x572f9a[_0x39c5e3(0x267)],0xa):null,'value':_0x572f9a[_0x39c5e3(0x1f8)]||null,'isReused':_0x572f9a[_0x39c5e3(0x225)]==='1'||_0x58f1d3['RcBsw'](_0x572f9a[_0x39c5e3(0x225)],0x1),'createdAt':_0x572f9a['createdAt']||null,'expiresAt':_0x572f9a[_0x39c5e3(0x1f5)]||null,'ttlRemainingMs':_0x58f1d3['RcBsw'](typeof _0x3b88d3,'number')&&_0x58f1d3[_0x39c5e3(0x25d)](_0x3b88d3,0x0)?_0x3b88d3:null};}async['_getReservationContext'](_0x1f5229){const _0x5ed354=a0_0x7e059b,_0x2d40e7={'VITXZ':function(_0x4a619c,_0x80fef4){return _0x4a619c||_0x80fef4;}},_0x16d43d=this['_buildReservationKey'](_0x1f5229),_0xceec6a=redisClient[_0x5ed354(0x2df)](),_0x4b44bd=await _0xceec6a[_0x5ed354(0x2c8)](_0x16d43d,'resource','formatKey'),_0x1630ad=_0x4b44bd&&_0x4b44bd[0x0],_0x130dc2=_0x4b44bd&&_0x4b44bd[0x1];if(_0x2d40e7[_0x5ed354(0x311)](!_0x1630ad,!_0x130dc2))throw new IdGeneratorError(_0x5ed354(0x22a),_0x5ed354(0x300)+_0x1f5229,{'token':_0x1f5229});return{'resource':_0x1630ad,'formatKey':_0x130dc2,'rsvKey':_0x16d43d,'rsvIdxKey':this['_buildReservationIndexKey'](_0x1630ad,_0x130dc2)};}async['random'](_0x10b9c3){const _0x11cb85=a0_0x7e059b,_0xac4aef={'YhzCi':_0x11cb85(0x200),'fojaA':'random','hzdBl':function(_0x4bcaa1,_0x4dff67){return _0x4bcaa1<_0x4dff67;},'AFyKH':function(_0x2bc9f8,_0x5137b0){return _0x2bc9f8===_0x5137b0;},'Xuwsj':function(_0xe0b095,_0x56fdb1){return _0xe0b095===_0x56fdb1;},'RSWja':function(_0x4eed5,_0x1eb7e7){return _0x4eed5===_0x1eb7e7;},'IaGMf':_0x11cb85(0x2a4),'FGRCQ':'idgen_random_idem_loser'};if(!this['enabled'])throw new IdGeneratorError('IDGEN_DISABLED',_0xac4aef[_0x11cb85(0x217)]);this[_0x11cb85(0x28a)](_0x10b9c3[_0x11cb85(0x291)]),this['_validatePattern'](_0x10b9c3['pattern']);const _0x82d334=this[_0x11cb85(0x2a1)](_0x10b9c3['ttl']),_0xb53895=this['_validateMaxRetry'](_0x10b9c3['maxRetry']),_0x74cca5=this['_validateIdempotencyKey'](_0x10b9c3[_0x11cb85(0x2ca)]),_0x2ff152=_0x10b9c3['ensureUnique']===!![],{resource:_0x487b51,pattern:_0x1a7b55}=_0x10b9c3;let _0xdaf23=null;if(_0x74cca5){_0xdaf23=this[_0x11cb85(0x28b)](_0xac4aef[_0x11cb85(0x231)],_0x487b51,null,_0x74cca5);const _0x395fe4=await this[_0x11cb85(0x24e)](_0xdaf23);if(_0x395fe4)return _0x395fe4;}const _0x3f682c=redisClient['getClient']();let _0x3f3075=null,_0x302f1a=0x0;if(!_0x2ff152)_0x3f3075=this[_0x11cb85(0x28f)](_0x1a7b55),_0x302f1a=0x1;else{for(let _0x8d87b7=0x0;_0xac4aef[_0x11cb85(0x1f6)](_0x8d87b7,_0xb53895);_0x8d87b7++){_0x302f1a++;const _0x2ca230=this[_0x11cb85(0x28f)](_0x1a7b55);if(_0x82d334){const _0x2f97fe=this['_buildActiveKey'](_0x487b51,_0x2ca230),_0x2b7292=await _0x3f682c[_0x11cb85(0x21d)](_0x2f97fe,'1','EX',_0x82d334,'NX');if(_0xac4aef['AFyKH'](_0x2b7292,'OK')){_0x3f3075=_0x2ca230;break;}}else{const _0x952c66=this['_buildIssuedKey'](_0x487b51),_0x2da352=await _0x3f682c[_0x11cb85(0x2d6)](_0x952c66,_0x2ca230);if(_0xac4aef[_0x11cb85(0x296)](_0x2da352,0x1)){_0x3f3075=_0x2ca230;break;}}}if(_0xac4aef[_0x11cb85(0x263)](_0x3f3075,null))throw new IdGeneratorError(_0xac4aef['IaGMf'],_0x11cb85(0x2a9)+_0xb53895+_0x11cb85(0x2a3),{'resource':_0x487b51,'pattern':_0x1a7b55,'maxRetry':_0xb53895});}const _0x38f2be={'value':_0x3f3075,'resource':_0x487b51,'pattern':_0x1a7b55,'attemptCount':_0x302f1a,'generatedAt':new Date()['toISOString']()};_0x82d334&&_0x2ff152&&(_0x38f2be['expiresAt']=new Date(Date[_0x11cb85(0x2f5)]()+_0x82d334*0x3e8)[_0x11cb85(0x2b8)]());const _0x2e1494=await this['_storeIdemCacheNX'](_0xdaf23,_0x38f2be);if(!_0x2e1494[_0x11cb85(0x245)])return _0x2ff152&&await this[_0x11cb85(0x22c)](_0x487b51,_0x3f3075,_0x82d334),logger[_0x11cb85(0x208)]({'event':_0xac4aef['FGRCQ'],'resource':_0x487b51,'pattern':_0x1a7b55,'value':_0x3f3075},'ID\x20Generator\x20random\x20idem\x20race\x20lost,\x20returning\x20winner\x20envelope'),_0x2e1494[_0x11cb85(0x22e)];return logger['info']({'event':_0x11cb85(0x213),'resource':_0x487b51,'pattern':_0x1a7b55,'attemptCount':_0x302f1a,'ensureUnique':_0x2ff152,'ttl':_0x82d334||0x0},'ID\x20Generator\x20random:\x20'+_0x3f3075),_0x38f2be;}async[a0_0x7e059b(0x2f3)](_0x4e6f7f){const _0x5a57dc=a0_0x7e059b,_0x4c90c4={'mfixU':function(_0x5d5605,_0x2063e9){return _0x5d5605==_0x2063e9;},'atVZS':function(_0x2d254d,_0x5e82b3){return _0x2d254d<_0x5e82b3;}},_0x1bd2e2=_0x4c90c4['mfixU'](_0x4e6f7f['digits'],null)?this[_0x5a57dc(0x2b0)]:_0x4e6f7f['digits'];if(!Number['isInteger'](_0x1bd2e2)||_0x4c90c4['atVZS'](_0x1bd2e2,MIN_PIN_DIGITS)||_0x1bd2e2>MAX_PIN_DIGITS)throw new IdGeneratorError('IDGEN_INVALID_DIGITS','Invalid\x20digits:\x20must\x20be\x20integer\x20'+MIN_PIN_DIGITS+'-'+MAX_PIN_DIGITS+'\x20(got:\x20'+_0x1bd2e2+')');const _0x1cfc07='9'[_0x5a57dc(0x23c)](_0x1bd2e2);return this['random']({'resource':_0x4e6f7f[_0x5a57dc(0x291)],'pattern':_0x1cfc07,'ensureUnique':_0x4e6f7f[_0x5a57dc(0x2ed)]===!![],'ttl':_0x4e6f7f[_0x5a57dc(0x21e)],'maxRetry':_0x4e6f7f[_0x5a57dc(0x27f)],'idempotencyKey':_0x4e6f7f['idempotencyKey']});}async[a0_0x7e059b(0x220)](_0x21181a){const _0x2ce38c=a0_0x7e059b,_0x3e0bd6=_0x21181a['pattern']||this[_0x2ce38c(0x22f)];return this['random']({'resource':_0x21181a[_0x2ce38c(0x291)],'pattern':_0x3e0bd6,'ensureUnique':_0x21181a['ensureUnique']!==![],'ttl':_0x21181a['ttl'],'maxRetry':_0x21181a[_0x2ce38c(0x27f)],'idempotencyKey':_0x21181a[_0x2ce38c(0x2ca)]});}async[a0_0x7e059b(0x265)](_0x37003b){const _0x45c297=a0_0x7e059b,_0x3fdb71={'gIanW':function(_0x3c80d0,_0x42cd16){return _0x3c80d0!==_0x42cd16;}},_0x3d71e5=_0x37003b[_0x45c297(0x2d0)]||this[_0x45c297(0x1fd)];return this['random']({'resource':_0x37003b[_0x45c297(0x291)],'pattern':_0x3d71e5,'ensureUnique':_0x3fdb71[_0x45c297(0x297)](_0x37003b['ensureUnique'],![]),'ttl':_0x37003b['ttl'],'maxRetry':_0x37003b['maxRetry'],'idempotencyKey':_0x37003b['idempotencyKey']});}async['consume'](_0x272d88){const _0x47460a=a0_0x7e059b,_0x12539e={'kpGSD':_0x47460a(0x209),'jbBdM':'ID\x20Generator\x20is\x20disabled','pmfvr':function(_0x2124c6,_0x32e891){return _0x2124c6!==_0x32e891;},'kSPql':function(_0x5db071,_0x1920a0){return _0x5db071===_0x1920a0;},'jrPmr':'IDGEN_INVALID_NUMBER','JuDmC':_0x47460a(0x2d7)};if(!this[_0x47460a(0x2f2)])throw new IdGeneratorError(_0x12539e[_0x47460a(0x286)],_0x12539e[_0x47460a(0x299)]);this[_0x47460a(0x28a)](_0x272d88[_0x47460a(0x291)]);if(_0x12539e['pmfvr'](typeof _0x272d88[_0x47460a(0x1f8)],_0x47460a(0x2ae))||_0x12539e[_0x47460a(0x20e)](_0x272d88['value'][_0x47460a(0x2ee)],0x0))throw new IdGeneratorError(_0x12539e[_0x47460a(0x212)],_0x47460a(0x29a));const {resource:_0x377a69,value:_0x267650}=_0x272d88,_0x5d5d12=redisClient[_0x47460a(0x2df)](),_0x5a1002=this[_0x47460a(0x21b)](_0x377a69,_0x267650),_0xb119=this[_0x47460a(0x2b5)](_0x377a69),[_0x57fe99,_0xdcc0f2]=await Promise['all']([_0x5d5d12[_0x47460a(0x1fa)](_0x5a1002),_0x5d5d12[_0x47460a(0x273)](_0xb119,_0x267650)]),_0x4ac04a=_0x57fe99+_0xdcc0f2>0x0;return logger['info']({'event':_0x12539e[_0x47460a(0x310)],'resource':_0x377a69,'value':_0x267650,'consumed':_0x4ac04a},_0x47460a(0x25f)+_0x267650),{'consumed':_0x4ac04a,'resource':_0x377a69,'value':_0x267650,'consumedAt':new Date()[_0x47460a(0x2b8)]()};}async['peek'](_0x370951){const _0xf319f6=a0_0x7e059b,_0xc2ec1a={'Adfzo':'ID\x20Generator\x20is\x20disabled','NlmKd':'number','mkrLo':_0xf319f6(0x2cb),'NHbCH':function(_0x2bdfbd,_0x2ae94a){return _0x2bdfbd||_0x2ae94a;},'nZKQl':'random'};if(!this[_0xf319f6(0x2f2)])throw new IdGeneratorError(_0xf319f6(0x209),_0xc2ec1a[_0xf319f6(0x226)]);this['_validateResource'](_0x370951[_0xf319f6(0x291)]);const _0x17b723=_0x370951[_0xf319f6(0x202)]||_0xc2ec1a[_0xf319f6(0x264)],_0x347f67=redisClient['getClient']();if(_0x17b723===_0xc2ec1a['NlmKd']){const _0x1c1275=(_0x370951[_0xf319f6(0x26a)]||_0xc2ec1a[_0xf319f6(0x1fc)])['toLowerCase']();if(!ALLOWED_FORMATS['has'](_0x1c1275))throw new IdGeneratorError(_0xf319f6(0x2af),'Invalid\x20format:\x20'+_0x370951['format']);const {formatKey:_0x33e5ad}=this[_0xf319f6(0x237)](_0x1c1275,_0x370951[_0xf319f6(0x277)]||''),_0x5f3ced=this['_buildSeqKey'](_0x370951[_0xf319f6(0x291)],_0x33e5ad),_0x2c0c2f=this['_buildReuseKey'](_0x370951['resource'],_0x33e5ad),[_0x5963ce,_0x32d55a]=await Promise[_0xf319f6(0x2d4)]([_0x347f67['get'](_0x5f3ced),_0x347f67[_0xf319f6(0x27a)](_0x2c0c2f)]);return{'resource':_0x370951['resource'],'mode':_0xf319f6(0x269),'formatKey':_0x33e5ad,'currentCounter':parseInt(_0x5963ce,0xa)||0x0,'reusePoolSize':_0xc2ec1a['NHbCH'](_0x32d55a,0x0)};}if(_0x17b723===_0xc2ec1a['nZKQl']){const _0x111db0=this['_buildIssuedKey'](_0x370951['resource']),_0x32dac9=await _0x347f67['scard'](_0x111db0);return{'resource':_0x370951['resource'],'mode':_0xc2ec1a['nZKQl'],'issuedCount':_0x32dac9||0x0};}throw new IdGeneratorError('IDGEN_INVALID_MODE',_0xf319f6(0x292)+_0x17b723);}async[a0_0x7e059b(0x2f0)](_0x2bfa73){const _0x4aef1a=a0_0x7e059b,_0x24ed24={'PBdRQ':function(_0x44b66a,_0x4d85ab){return _0x44b66a>_0x4d85ab;}},_0x3be34d=await this[_0x4aef1a(0x224)](_0x2bfa73);if(_0x3be34d[_0x4aef1a(0x202)]===_0x4aef1a(0x269)){const _0x52d8a6=redisClient[_0x4aef1a(0x2df)](),_0xf53978=this[_0x4aef1a(0x2cc)](_0x2bfa73[_0x4aef1a(0x291)],_0x3be34d['formatKey']),_0x74dff8=this[_0x4aef1a(0x298)](_0x2bfa73[_0x4aef1a(0x291)],_0x3be34d['formatKey']),[_0x518dc1,_0x1ac1ba]=await Promise[_0x4aef1a(0x2d4)]([_0x52d8a6['hgetall'](_0xf53978),_0x52d8a6[_0x4aef1a(0x2f4)](_0x74dff8,0x0,-0x1)]);return{..._0x3be34d,'reusePoolValues':_0x1ac1ba[_0x4aef1a(0x30d)](_0x937ca1=>parseInt(_0x937ca1,0xa)),'meta':_0x518dc1&&_0x24ed24['PBdRQ'](Object[_0x4aef1a(0x2bb)](_0x518dc1)['length'],0x0)?_0x518dc1:null};}return _0x3be34d;}async['reset'](_0x37db0c){const _0x27255a=a0_0x7e059b,_0x5101d2={'CpkGJ':_0x27255a(0x209),'BbyDQ':_0x27255a(0x200),'NUmYc':'IDGEN_RESET_NOT_ALLOWED','MwwWf':'number','KquGF':function(_0x299a57,_0x117804){return _0x299a57===_0x117804;},'OdstZ':_0x27255a(0x2cb),'Umrgy':_0x27255a(0x243),'eyvlW':'meta','GaQCA':_0x27255a(0x260),'dfVMp':_0x27255a(0x218),'TQiYM':'issued'};if(!this[_0x27255a(0x2f2)])throw new IdGeneratorError(_0x5101d2[_0x27255a(0x249)],_0x5101d2['BbyDQ']);if(!this[_0x27255a(0x2be)])throw new IdGeneratorError(_0x5101d2['NUmYc'],'Reset\x20operation\x20not\x20allowed\x20(set\x20IDGEN_ALLOW_RESET=true\x20to\x20enable)');this['_validateResource'](_0x37db0c[_0x27255a(0x291)]);const _0x3f9bf6=_0x37db0c[_0x27255a(0x202)]||_0x5101d2[_0x27255a(0x221)],_0x1e76dd=redisClient[_0x27255a(0x2df)]();if(_0x5101d2[_0x27255a(0x2e3)](_0x3f9bf6,_0x27255a(0x269))){const _0x315cc9=(_0x37db0c[_0x27255a(0x26a)]||_0x5101d2['OdstZ'])[_0x27255a(0x2fc)]();if(!ALLOWED_FORMATS['has'](_0x315cc9))throw new IdGeneratorError(_0x27255a(0x2af),_0x27255a(0x20a)+_0x37db0c[_0x27255a(0x26a)]);const {formatKey:_0x272867}=this[_0x27255a(0x237)](_0x315cc9,_0x37db0c['prefix']||''),_0x44500b=this[_0x27255a(0x250)](_0x37db0c['resource'],_0x272867),_0x16b80b=this[_0x27255a(0x298)](_0x37db0c['resource'],_0x272867),_0x1b673e=this['_buildMetaKey'](_0x37db0c['resource'],_0x272867);return await _0x1e76dd['del'](_0x44500b,_0x16b80b,_0x1b673e),logger[_0x27255a(0x2b4)]({'event':_0x27255a(0x218),'resource':_0x37db0c['resource'],'mode':_0x5101d2[_0x27255a(0x221)],'formatKey':_0x272867},'ID\x20Generator\x20reset:\x20'+_0x37db0c['resource']+':'+_0x272867),{'reset':!![],'resource':_0x37db0c[_0x27255a(0x291)],'mode':_0x27255a(0x269),'formatKey':_0x272867,'deletedKeys':[_0x27255a(0x30b),_0x5101d2['Umrgy'],_0x5101d2[_0x27255a(0x261)]]};}if(_0x3f9bf6===_0x5101d2[_0x27255a(0x305)]){const _0x43ebf6=this['_buildIssuedKey'](_0x37db0c['resource']);return await _0x1e76dd[_0x27255a(0x1fa)](_0x43ebf6),logger[_0x27255a(0x2b4)]({'event':_0x5101d2[_0x27255a(0x1ff)],'resource':_0x37db0c[_0x27255a(0x291)],'mode':'random'},'ID\x20Generator\x20reset:\x20random:'+_0x37db0c[_0x27255a(0x291)]),{'reset':!![],'resource':_0x37db0c[_0x27255a(0x291)],'mode':_0x27255a(0x260),'deletedKeys':[_0x5101d2['TQiYM']]};}throw new IdGeneratorError(_0x27255a(0x2e1),'Unknown\x20mode:\x20'+_0x3f9bf6);}}const instance=new IdGenerator();instance[a0_0x7e059b(0x20d)]=IdGeneratorError,module[a0_0x7e059b(0x2c2)]=instance,module['exports'][a0_0x7e059b(0x20d)]=IdGeneratorError;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';function
|
|
1
|
+
'use strict';const a0_0x41c7d9=a0_0x5a84;function a0_0x5a84(_0x2d0f64,_0x36100b){_0x2d0f64=_0x2d0f64-0x1e1;const _0x1bd4eb=a0_0x1bd4();let _0x5a846a=_0x1bd4eb[_0x2d0f64];if(a0_0x5a84['NebfQU']===undefined){var _0x2aa61b=function(_0xe5db45){const _0x3baba9='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5897d3='',_0x42407f='';for(let _0x5b079e=0x0,_0x49f15d,_0x20e643,_0x54c444=0x0;_0x20e643=_0xe5db45['charAt'](_0x54c444++);~_0x20e643&&(_0x49f15d=_0x5b079e%0x4?_0x49f15d*0x40+_0x20e643:_0x20e643,_0x5b079e++%0x4)?_0x5897d3+=String['fromCharCode'](0xff&_0x49f15d>>(-0x2*_0x5b079e&0x6)):0x0){_0x20e643=_0x3baba9['indexOf'](_0x20e643);}for(let _0x4faf66=0x0,_0x254b4e=_0x5897d3['length'];_0x4faf66<_0x254b4e;_0x4faf66++){_0x42407f+='%'+('00'+_0x5897d3['charCodeAt'](_0x4faf66)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x42407f);};a0_0x5a84['zXsXyP']=_0x2aa61b,a0_0x5a84['qjuxkI']={},a0_0x5a84['NebfQU']=!![];}const _0x5a5816=_0x1bd4eb[0x0],_0x524b62=_0x2d0f64+_0x5a5816,_0x528cd4=a0_0x5a84['qjuxkI'][_0x524b62];return!_0x528cd4?(_0x5a846a=a0_0x5a84['zXsXyP'](_0x5a846a),a0_0x5a84['qjuxkI'][_0x524b62]=_0x5a846a):_0x5a846a=_0x528cd4,_0x5a846a;}function a0_0x1bd4(){const _0x525672=['C3bSAxq','swrLBxbVDgvUy3KGC3rVCMuGzxjYB3i6ia','mJu1nte0ohzADwDQvW','C3rVCMu','yNvPBgrezxrLCM1PBMLZDgLJs2v5','lI9SB2DNzxi','surftvbpvevoq1LFvfrm','uKvpCwy','z2v0q2XPzw50','x2vUywjSzwq','swrLBxbVDgvUy3KGy2fJAguGseLu','C2v0zxG','swrLBxbVDgvUy3KGy29UzMLNDxjHDgLVBIbPBML0AwfSAxPLzcaTigvUywjSzwq6ia','x2vUC3vYzuLUAxrPywXPEMvK','Dhj1zq','nJu1mdqYmMHHz0rzBG','x2LUAxrdB25MAwC','swrLBxbVDgvUy3KGCMvZCg9UC2uGC3rVCMvK','n1rAs3fesq','AwrLBxbVDgvUy3LFAgL0','x2LUAxrPywXPEMvK','zw52','AwrLBxbVDgvUy3LFC3rVCMu','x3r0Ba','uw9qvg8','Dw5RBM93BG','zgvIDwC','surftvbpvevoq1LFru5bqKXfra','DvzXtei','zw5HyMXLza','zxHWB3j0CW','nJeWnJG4DfvTzvHR','C3rHDhvZq29Kzq','y3j5ChrV','ntKZmtqWC2DYruTS','DhrS','zMLSDgvY','mZi5mJqZnu1AA09jrq','Cgf0Aa','CMy6AwrLBtO','mJiZmtaXnNbZAxfTBq','swrLBxbVDgvUy3KGCMv0CMLLDMuGzxjYB3i6ia','z2v0','yKnVrhe','zxjYB3i','mtCWnZu2mdb0AeXKDMy','zgvMyxvSDa','swrLBxbVDgvUy3KGy2fJAguGtuLtuW'];a0_0x1bd4=function(){return _0x525672;};return a0_0x1bd4();}(function(_0x673201,_0x2f588d){const _0x21c68e=a0_0x5a84,_0xbeb5c1=_0x673201();while(!![]){try{const _0x1d9c74=parseInt(_0x21c68e(0x20d))/0x1+parseInt(_0x21c68e(0x210))/0x2+parseInt(_0x21c68e(0x1e6))/0x3+-parseInt(_0x21c68e(0x1f0))/0x4+parseInt(_0x21c68e(0x1e3))/0x5+-parseInt(_0x21c68e(0x1fd))/0x6*(-parseInt(_0x21c68e(0x200))/0x7)+-parseInt(_0x21c68e(0x1eb))/0x8;if(_0x1d9c74===_0x2f588d)break;else _0xbeb5c1['push'](_0xbeb5c1['shift']());}catch(_0x4cf312){_0xbeb5c1['push'](_0xbeb5c1['shift']());}}}(a0_0x1bd4,0x994cd));const redisClient=require('./redis-client'),{logger}=require(a0_0x41c7d9(0x1f3)),crypto=require(a0_0x41c7d9(0x20f));class IdempotencyManager{constructor(){const _0x41ebd7=a0_0x41c7d9;this['_enabled']=null,this['_ttl']=null,this[_0x41ebd7(0x202)]=![];}[a0_0x41c7d9(0x1fe)](){const _0x479253=a0_0x41c7d9,_0x47d68a={'duTVz':function(_0x36fb75,_0x3b17fb){return _0x36fb75===_0x3b17fb;},'bCoDq':_0x479253(0x1fc),'KGmXf':function(_0x33eafa,_0x4d2e25,_0x37d53b){return _0x33eafa(_0x4d2e25,_0x37d53b);},'NHDWn':'idempotency_config_init'};this['_enabled']=_0x47d68a['duTVz'](process[_0x479253(0x203)][_0x479253(0x209)],_0x47d68a[_0x479253(0x1e9)]),this[_0x479253(0x205)]=_0x47d68a['KGmXf'](parseInt,process[_0x479253(0x203)][_0x479253(0x1f4)],0xa)||0x12c,this[_0x479253(0x202)]=!![],logger['info']({'event':_0x47d68a['NHDWn'],'enabled':this['_enabled'],'ttl':this['_ttl']},_0x479253(0x1fa)+this['_enabled']+',\x20TTL:\x20'+this[_0x479253(0x205)]+'s');}[a0_0x41c7d9(0x1fb)](){const _0x5afdbc=a0_0x41c7d9;!this[_0x5afdbc(0x202)]&&this[_0x5afdbc(0x1fe)]();}get[a0_0x41c7d9(0x20b)](){const _0x21a334=a0_0x41c7d9;return this['_ensureInitialized'](),this[_0x21a334(0x1f7)];}get['ttl'](){return this['_ensureInitialized'](),this['_ttl'];}['isEnabled'](){return this['enabled'];}['buildKey'](_0x3bb043,_0x21fef8){const _0x3fe694=a0_0x41c7d9,_0x4bc254={'uVqLB':_0x3fe694(0x1ec),'UrFQo':_0x3fe694(0x207)},_0xe1becd=_0x21fef8[_0x3fe694(0x1e4)][_0x3fe694(0x1ee)]('/')[_0x3fe694(0x1e2)](Boolean),_0x5491aa=_0xe1becd[0x0]||_0x4bc254[_0x3fe694(0x20a)],_0x2a577c=_0xe1becd[0x1]||_0x4bc254['UrFQo'],_0x28948b=_0xe1becd[0x2]||_0x4bc254['UrFQo'];return _0x3fe694(0x1e5)+_0x5491aa+':'+_0x2a577c+':'+_0x28948b+':'+_0x3bb043;}async[a0_0x41c7d9(0x1f1)](_0x1f315d,_0x4cb053){const _0xd8ecc0=a0_0x41c7d9,_0x2cbd54={'PhGME':_0xd8ecc0(0x1ff)};if(!this[_0xd8ecc0(0x20b)])return![];try{const _0x3613ac=redisClient[_0xd8ecc0(0x1f6)]();return await _0x3613ac[_0xd8ecc0(0x1f9)](_0x1f315d,this[_0xd8ecc0(0x1e1)],JSON['stringify'](_0x4cb053)),logger[_0xd8ecc0(0x208)]({'event':_0xd8ecc0(0x204),'key':_0x1f315d,'ttl':this['ttl'],'statusCode':_0x4cb053[_0xd8ecc0(0x20e)]},_0x2cbd54['PhGME']),!![];}catch(_0x4df0e6){return logger['error']({'event':'idempotency_store_error','key':_0x1f315d,'error':_0x4df0e6['message']},_0xd8ecc0(0x1ef)+_0x4df0e6['message']),![];}}async['retrieve'](_0xf9e4e5){const _0x43dcb3=a0_0x41c7d9,_0x4431e6={'uSaCN':'idempotency_miss','QoPTo':_0x43dcb3(0x1ed),'REOqf':'idempotency_retrieve_error'};if(!this['enabled'])return null;try{const _0x13a8d4=redisClient['getClient'](),_0x40ac49=await _0x13a8d4[_0x43dcb3(0x1e8)](_0xf9e4e5);if(_0x40ac49)return logger['info']({'event':_0x43dcb3(0x201),'key':_0xf9e4e5},_0x43dcb3(0x1f8)),JSON['parse'](_0x40ac49);return logger[_0x43dcb3(0x208)]({'event':_0x4431e6['uSaCN'],'key':_0xf9e4e5},_0x4431e6[_0x43dcb3(0x206)]),null;}catch(_0x237aff){return logger[_0x43dcb3(0x1ea)]({'event':_0x4431e6[_0x43dcb3(0x1f5)],'key':_0xf9e4e5,'error':_0x237aff['message']},_0x43dcb3(0x1e7)+_0x237aff['message']),null;}}['generateKey'](_0x1c7700='req'){return _0x1c7700+'_'+crypto['randomUUID']();}[a0_0x41c7d9(0x1f2)](_0x533978,_0xa66756,_0x49e9b6){return _0x533978+':'+_0xa66756+':'+_0x49e9b6;}}module[a0_0x41c7d9(0x20c)]=new IdempotencyManager();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x2d1c74=a0_0x5ee0;(function(_0x88a9b1,_0x541a53){const _0x15a582=a0_0x5ee0,_0x5aec2c=_0x88a9b1();while(!![]){try{const _0x2b20dd=parseInt(_0x15a582(0xcb))/0x1*(-parseInt(_0x15a582(0xc2))/0x2)+parseInt(_0x15a582(0xc5))/0x3+-parseInt(_0x15a582(0xc9))/0x4+-parseInt(_0x15a582(0xd6))/0x5*(parseInt(_0x15a582(0xd3))/0x6)+-parseInt(_0x15a582(0xba))/0x7*(-parseInt(_0x15a582(0xc3))/0x8)+parseInt(_0x15a582(0xd0))/0x9*(parseInt(_0x15a582(0xca))/0xa)+parseInt(_0x15a582(0xb5))/0xb;if(_0x2b20dd===_0x541a53)break;else _0x5aec2c['push'](_0x5aec2c['shift']());}catch(_0x54c493){_0x5aec2c['push'](_0x5aec2c['shift']());}}}(a0_0x14bf,0xb6349));function a0_0x14bf(){const _0x7d257e=['mJi3ndG0mejos05yzW','DMfSAwrHDgvsB3C','vMPUCLK','DMfSAwrHDgvqAg9Uzq','mtK1mtK3mMPXuvrXrq','mteWwxHguLji','mti3t3bmqvjh','q1buquy','qMf0y2GGDMfSAwrHDgLVBIbJB21WBgv0zwq','ChvZAa','AM9PBG','ndK4odm0tfHLrKXu','AgfZ','zM9YrwfJAa','mtG4ndeYnKL4y0fRDW','A2v5CW','yMf0y2HFDMfSAwrHDgLVBL9JB21WBgv0zq','mtbbrvPgsgW','wwDfB2u','BNvTyMvY','yvHusNK','s3f0qMW','lI9SB2DNzxi','mteYmtG0mZHdAvz2rwi','DMfSAwrHDgvfBwfPBa','z2v0','sw52ywXPzcbvuKWGzM9YBwf0','sw52ywXPzcbUDw1IzxiGzM9YBwf0','ndm1nZmZoxzowM9Hwq','uMvXDwLYzwqGzMLLBgqGAxmGzw1WDhK','DgvZDa','zM9YBwf0','yMf0y2HwywXPzgf0zvjVD3m','Benxu1e','BgvUz3rO','CgrVzuW','mtGWnZH6tvzjruu','ogTNz2ngDq','Aw5MBW'];a0_0x14bf=function(){return _0x7d257e;};return a0_0x14bf();}const {logger}=require(a0_0x2d1c74(0xb4));class ImportValidator{[a0_0x2d1c74(0xc6)](_0x3ac0b2,_0x235114=[],_0x2d11ac={}){const _0x1b276a=a0_0x2d1c74,_0x6e6df7={'YgEoe':function(_0x2ed105,_0x4c39cb){return _0x2ed105===_0x4c39cb;},'gYIAC':'required','pdoeL':function(_0x1fbc24,_0x32263f){return _0x1fbc24===_0x32263f;},'xNdKn':function(_0x1e0db9,_0x4e4468){return _0x1e0db9===_0x4e4468;}},_0x6f797c=[];return _0x235114['forEach'](_0x53cca3=>{const _0x529c16=a0_0x5ee0,_0x316aba=_0x3ac0b2[_0x53cca3];(_0x6e6df7[_0x529c16(0xd7)](_0x316aba,null)||_0x316aba===undefined||_0x316aba==='')&&_0x6f797c[_0x529c16(0xce)]({'field':_0x53cca3,'type':_0x6e6df7['gYIAC'],'message':_0x529c16(0xbb)});}),Object[_0x1b276a(0xd4)](_0x2d11ac)[_0x1b276a(0xd2)](_0x820099=>{const _0x4147c6=_0x1b276a,_0x29ccd5=_0x3ac0b2[_0x820099],_0xf077ee=_0x2d11ac[_0x820099];if(_0x29ccd5===null||_0x6e6df7[_0x4147c6(0xc1)](_0x29ccd5,undefined)||_0x6e6df7['xNdKn'](_0x29ccd5,''))return;const _0xcfe085=this['validateFieldFormat'](_0x820099,_0x29ccd5,_0xf077ee);_0xcfe085&&_0x6f797c['push'](_0xcfe085);}),_0x6f797c;}['validateFieldFormat'](_0xf786c4,_0x1e0e1b,_0x31052a){const _0x2651e0=a0_0x2d1c74,_0x49c9ef={'lCWSQ':'email','MEbGo':'url','VXtGr':_0x2651e0(0xd8)};switch(_0x31052a){case _0x49c9ef[_0x2651e0(0xbf)]:return this[_0x2651e0(0xb6)](_0xf786c4,_0x1e0e1b);case'phone':return this[_0x2651e0(0xc8)](_0xf786c4,_0x1e0e1b);case _0x49c9ef['MEbGo']:return this['validateUrl'](_0xf786c4,_0x1e0e1b);case _0x49c9ef['VXtGr']:return this['validateNumber'](_0xf786c4,_0x1e0e1b);default:return null;}}['validateEmail'](_0x14c8b5,_0x14df0f){const _0x103103=a0_0x2d1c74,_0x1d1e2c={'aXTJy':'Invalid\x20email\x20format'},_0x581964=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;if(!_0x581964['test'](String(_0x14df0f)))return{'field':_0x14c8b5,'type':'format','message':_0x1d1e2c[_0x103103(0xd9)]};return null;}['validatePhone'](_0x494cee,_0x438c5f){const _0x217a5a=a0_0x2d1c74,_0x171f28={'KqtBl':function(_0x41e68d,_0x2d80c6){return _0x41e68d<_0x2d80c6;},'CpwXi':_0x217a5a(0xbd)},_0x5a74ed=String(_0x438c5f)['replace'](/\s+/g,''),_0x26e4f9=/^[\d\+\-\(\)]+$/;if(!_0x26e4f9[_0x217a5a(0xbc)](_0x5a74ed)||_0x171f28[_0x217a5a(0xda)](_0x5a74ed[_0x217a5a(0xc0)],0x8))return{'field':_0x494cee,'type':_0x171f28['CpwXi'],'message':'Invalid\x20phone\x20format'};return null;}['validateUrl'](_0x332494,_0x24fd34){const _0x9a80ca=a0_0x2d1c74,_0x101c51={'CPTAF':function(_0x2bf573,_0x23d581){return _0x2bf573(_0x23d581);},'zrJYh':_0x9a80ca(0xbd),'VjnrY':_0x9a80ca(0xb8)};try{return new URL(_0x101c51[_0x9a80ca(0xcc)](String,_0x24fd34)),null;}catch(_0x47d8d9){return{'field':_0x332494,'type':_0x101c51['zrJYh'],'message':_0x101c51[_0x9a80ca(0xc7)]};}}['validateNumber'](_0x2a3e1f,_0x181a7d){const _0x5c9a7b=a0_0x2d1c74,_0x48f07e={'nDenu':_0x5c9a7b(0xb9)};if(isNaN(_0x181a7d))return{'field':_0x2a3e1f,'type':_0x5c9a7b(0xbd),'message':_0x48f07e['nDenu']};return null;}['detectDuplicatesInFile'](_0xce20e1,_0x4e4754){const _0x353b6d=a0_0x2d1c74,_0x32e2be=new Map(),_0x400707=[];return _0xce20e1[_0x353b6d(0xd2)]((_0x496b9b,_0x5887ce)=>{const _0x5166a8=_0x353b6d,_0x544cf8=_0x4e4754['map'](_0x4169e2=>_0x496b9b[_0x4169e2])[_0x5166a8(0xcf)]('|');_0x32e2be[_0x5166a8(0xd1)](_0x544cf8)?_0x400707['push']({'rowIndex':_0x5887ce,'duplicateOf':_0x32e2be[_0x5166a8(0xb7)](_0x544cf8),'key':_0x544cf8}):_0x32e2be['set'](_0x544cf8,_0x5887ce);}),_0x400707;}[a0_0x2d1c74(0xbe)](_0x17bed0,_0x51e57c,_0xeed2fa){const _0x5b2495=a0_0x2d1c74,_0x430e22={'yxqoh':function(_0x53a13f,_0x359616){return _0x53a13f>_0x359616;},'ahDdm':_0x5b2495(0xcd)},_0x1987b0=[];return _0x17bed0['forEach']((_0x567591,_0x5b8f46)=>{const _0xe96e1e=this['validateRow'](_0x567591,_0x51e57c,_0xeed2fa);_0x430e22['yxqoh'](_0xe96e1e['length'],0x0)&&_0x1987b0['push']({'rowIndex':_0x5b8f46,'rowData':_0x567591,'errors':_0xe96e1e});}),logger[_0x5b2495(0xc4)]({'event':_0x5b2495(0xd5),'totalRows':_0x17bed0['length'],'errorCount':_0x1987b0['length']},_0x430e22['ahDdm']),_0x1987b0;}}function a0_0x5ee0(_0x31f014,_0x5bdccb){_0x31f014=_0x31f014-0xb4;const _0x14bfa1=a0_0x14bf();let _0x5ee0c2=_0x14bfa1[_0x31f014];if(a0_0x5ee0['pyDiIw']===undefined){var _0x786213=function(_0x1d7dd6){const _0x5d910a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5191f9='',_0x4252af='';for(let _0x4d04fd=0x0,_0x512b54,_0x4d7725,_0x1908ac=0x0;_0x4d7725=_0x1d7dd6['charAt'](_0x1908ac++);~_0x4d7725&&(_0x512b54=_0x4d04fd%0x4?_0x512b54*0x40+_0x4d7725:_0x4d7725,_0x4d04fd++%0x4)?_0x5191f9+=String['fromCharCode'](0xff&_0x512b54>>(-0x2*_0x4d04fd&0x6)):0x0){_0x4d7725=_0x5d910a['indexOf'](_0x4d7725);}for(let _0x2b03a2=0x0,_0x368cf2=_0x5191f9['length'];_0x2b03a2<_0x368cf2;_0x2b03a2++){_0x4252af+='%'+('00'+_0x5191f9['charCodeAt'](_0x2b03a2)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4252af);};a0_0x5ee0['WWWSTF']=_0x786213,a0_0x5ee0['oeIQtq']={},a0_0x5ee0['pyDiIw']=!![];}const _0x9e06cf=_0x14bfa1[0x0],_0x48edbd=_0x31f014+_0x9e06cf,_0x481825=a0_0x5ee0['oeIQtq'][_0x48edbd];return!_0x481825?(_0x5ee0c2=a0_0x5ee0['WWWSTF'](_0x5ee0c2),a0_0x5ee0['oeIQtq'][_0x48edbd]=_0x5ee0c2):_0x5ee0c2=_0x481825,_0x5ee0c2;}module['exports']=new ImportValidator();
|