@restforgejs/platform 5.1.4 → 5.1.7
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/cli/data/pull.js +16 -7
- package/generators/cli/data/push.js +17 -7
- package/generators/cli/fast-track.js +63 -43
- package/generators/cli/init.js +347 -97
- package/generators/lib/data/data-scope.js +138 -0
- package/generators/lib/data/envelope.js +25 -9
- package/generators/lib/data/pull-runner.js +44 -37
- package/generators/lib/data/push-runner.js +64 -46
- 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';
|
|
1
|
+
'use strict';const a0_0x1b2981=a0_0x5536;(function(_0x28eb7a,_0x33c2a3){const _0x16dc54=a0_0x5536,_0x26bb6d=_0x28eb7a();while(!![]){try{const _0x185d95=parseInt(_0x16dc54(0x172))/0x1*(-parseInt(_0x16dc54(0x15d))/0x2)+parseInt(_0x16dc54(0x160))/0x3*(parseInt(_0x16dc54(0x16b))/0x4)+parseInt(_0x16dc54(0x15f))/0x5*(-parseInt(_0x16dc54(0x177))/0x6)+-parseInt(_0x16dc54(0x170))/0x7+-parseInt(_0x16dc54(0x166))/0x8*(-parseInt(_0x16dc54(0x15a))/0x9)+-parseInt(_0x16dc54(0x173))/0xa*(parseInt(_0x16dc54(0x176))/0xb)+parseInt(_0x16dc54(0x17a))/0xc*(parseInt(_0x16dc54(0x15e))/0xd);if(_0x185d95===_0x33c2a3)break;else _0x26bb6d['push'](_0x26bb6d['shift']());}catch(_0x3cf356){_0x26bb6d['push'](_0x26bb6d['shift']());}}}(a0_0x1c77,0xea9c7));function a0_0x1c77(){const _0x5c637a=['mJe4nZjYEuziu04','Bg9N','C3rHCNq','y3DK','zxHPC3rZu3LUyW','nJmXndq2oeTvDKDnra','x2rLyM91BMnL','icbBv0fuq0HDifDHCM5PBMC6iezHAwXLzcb0BYbZzxr1Ccb3yxrJAgvYigzVCIa','zgvIB3vUy2vuAw1LCG','zxjYB3i','oda2nta5mMvsqMvusG','zxH0BMfTzq','mJyZnvHgqMvHsG','odm0nZKWD2DfBxbA','zxH0zw5ZAw9UCW','CMvSyxrPDMu','mJjgDKjJr1i','mZq4uw1tAwLy','D2f0y2G','y2XVC2u','ntiYmtjdCuvMBgW','lYaOCMvJDxjZAxzLkq','B25dAgfUz2u','mti3ofLSv1nqsq','D2f0y2HLCNm','zgvIB3vUy2vnCW','odj6C2PAB0y','mZK5muTSy3n6tW','nZG4mZvxs1bXB2S','m2vst2TAzG','icbBv0fuq0HDifDHCM5PBMC6ierPCMvJDg9YEsbUB3qGzM91BMqSihnRAxbWAw5NoIa','ugPHr0e','zgLYzwn0B3jPzxm','lMPZB24','zxHWB3j0CW'];a0_0x1c77=function(){return _0x5c637a;};return a0_0x1c77();}function a0_0x5536(_0x52f8f4,_0x128258){_0x52f8f4=_0x52f8f4-0x159;const _0x1c7768=a0_0x1c77();let _0x5536cc=_0x1c7768[_0x52f8f4];if(a0_0x5536['EywSgD']===undefined){var _0x23c9db=function(_0x34fb56){const _0x54612a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x27c410='',_0x494121='';for(let _0x45b179=0x0,_0x16cccc,_0x1da357,_0x3205da=0x0;_0x1da357=_0x34fb56['charAt'](_0x3205da++);~_0x1da357&&(_0x16cccc=_0x45b179%0x4?_0x16cccc*0x40+_0x1da357:_0x1da357,_0x45b179++%0x4)?_0x27c410+=String['fromCharCode'](0xff&_0x16cccc>>(-0x2*_0x45b179&0x6)):0x0){_0x1da357=_0x54612a['indexOf'](_0x1da357);}for(let _0x654e72=0x0,_0x12ebd6=_0x27c410['length'];_0x654e72<_0x12ebd6;_0x654e72++){_0x494121+='%'+('00'+_0x27c410['charCodeAt'](_0x654e72)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x494121);};a0_0x5536['RtHdry']=_0x23c9db,a0_0x5536['GGjjYr']={},a0_0x5536['EywSgD']=!![];}const _0x397604=_0x1c7768[0x0],_0xa26de6=_0x52f8f4+_0x397604,_0xb46f8e=a0_0x5536['GGjjYr'][_0xa26de6];return!_0xb46f8e?(_0x5536cc=a0_0x5536['RtHdry'](_0x5536cc),a0_0x5536['GGjjYr'][_0xa26de6]=_0x5536cc):_0x5536cc=_0xb46f8e,_0x5536cc;}const fs=require('fs'),path=require('path');class FileWatcher{constructor(_0x1e1f00={}){const _0xd994c8=a0_0x5536,_0x3dc465={'nsyRi':'.js','hPvPP':_0xd994c8(0x164)};this['directories']=_0x1e1f00['directories']||[],this[_0xd994c8(0x174)]=_0x1e1f00[_0xd994c8(0x174)]||[_0x3dc465['nsyRi'],_0x3dc465['hPvPP']],this['debounceMs']=_0x1e1f00['debounceMs']||0x1f4,this[_0xd994c8(0x159)]=_0x1e1f00[_0xd994c8(0x159)]||(()=>{}),this['watchers']=[],this[_0xd994c8(0x16e)]=null;}[a0_0x1b2981(0x168)](){const _0x3603cd=a0_0x1b2981;for(const _0x316aec of this[_0x3603cd(0x163)]){if(!fs[_0x3603cd(0x16a)](_0x316aec)){console['log'](_0x3603cd(0x161)+(path['relative'](process[_0x3603cd(0x169)](),_0x316aec)||_0x316aec));continue;}try{const _0x369d1d=fs[_0x3603cd(0x178)](_0x316aec,{'recursive':!![]},(_0x431040,_0x4b4875)=>{const _0x2ff71e=_0x3603cd;if(!_0x4b4875)return;const _0x5ed506=path[_0x2ff71e(0x171)](_0x4b4875)['toLowerCase']();if(!this['extensions']['includes'](_0x5ed506))return;this[_0x2ff71e(0x16c)](_0x4b4875);});_0x369d1d['on'](_0x3603cd(0x16f),_0x3c06be=>{const _0x4b3b4a=_0x3603cd;console['log']('\x20\x20[WATCH]\x20Warning:\x20Watcher\x20error\x20on\x20'+path[_0x4b3b4a(0x175)](process[_0x4b3b4a(0x169)](),_0x316aec)+':\x20'+_0x3c06be['message']);}),this[_0x3603cd(0x15b)]['push'](_0x369d1d);const _0x474b8f=path[_0x3603cd(0x175)](process[_0x3603cd(0x169)](),_0x316aec)||_0x316aec;console['log']('\x20\x20[WATCH]\x20Watching:\x20'+_0x474b8f+_0x3603cd(0x17b));}catch(_0x42e55d){console[_0x3603cd(0x167)](_0x3603cd(0x16d)+path[_0x3603cd(0x175)](process['cwd'](),_0x316aec)+':\x20'+_0x42e55d['message']);}}}['stop'](){const _0x3bbcbf=a0_0x1b2981,_0x347162={'BwriI':function(_0x5e906e,_0x3a1312){return _0x5e906e(_0x3a1312);}};for(const _0x5e8b57 of this['watchers']){try{_0x5e8b57[_0x3bbcbf(0x179)]();}catch(_0x494503){}}this['watchers']=[],this['debounceTimer']&&(_0x347162['BwriI'](clearTimeout,this['debounceTimer']),this[_0x3bbcbf(0x16e)]=null);}[a0_0x1b2981(0x16c)](_0x439722){const _0x374030=a0_0x1b2981,_0x458266={'PjaGA':function(_0x2a0830,_0x413893){return _0x2a0830(_0x413893);}};this['debounceTimer']&&_0x458266[_0x374030(0x162)](clearTimeout,this[_0x374030(0x16e)]),this[_0x374030(0x16e)]=setTimeout(()=>{const _0x3db0a9=_0x374030;this['debounceTimer']=null,this[_0x3db0a9(0x159)](_0x439722);},this[_0x374030(0x15c)]);}}module[a0_0x1b2981(0x165)]=FileWatcher;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';const a0_0x4d3c47=a0_0x2431;(function(_0x5a1f92,_0x13c2c3){const _0x5835f1=a0_0x2431,_0x350a01=_0x5a1f92();while(!![]){try{const _0x3a11a5=parseInt(_0x5835f1(0x205))/0x1*(-parseInt(_0x5835f1(0x21b))/0x2)+parseInt(_0x5835f1(0x1f4))/0x3+-parseInt(_0x5835f1(0x1f8))/0x4+-parseInt(_0x5835f1(0x136))/0x5+-parseInt(_0x5835f1(0x148))/0x6*(parseInt(_0x5835f1(0x180))/0x7)+parseInt(_0x5835f1(0x139))/0x8+parseInt(_0x5835f1(0x1f7))/0x9*(parseInt(_0x5835f1(0x14e))/0xa);if(_0x3a11a5===_0x13c2c3)break;else _0x350a01['push'](_0x350a01['shift']());}catch(_0x11d4b5){_0x350a01['push'](_0x350a01['shift']());}}}(a0_0x47cb,0x2a9e6));const crypto=require('crypto'),redisClient=require('./redis-client'),{logger}=require(a0_0x4d3c47(0x24a)),idempotencyManager=require(a0_0x4d3c47(0x208)),ALLOWED_FORMATS=new Set(['text','yyyy',a0_0x4d3c47(0x163),a0_0x4d3c47(0x1ef)]),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_0x4d3c47(0x1ca),CHARSET_UPPER=a0_0x4d3c47(0x1a9),CHARSET_LOWER=a0_0x4d3c47(0x13f),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_0x4d3c47(0x19e),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_0x4d3c47(0x1fa),LUA_RELEASE_NUMBER='\x0aredis.call(\x27ZADD\x27,\x20KEYS[1],\x20ARGV[1],\x20ARGV[1])\x0alocal\x20ttl\x20=\x20tonumber(ARGV[2])\x0aif\x20ttl\x20>\x200\x20then\x0a\x20\x20redis.call(\x27EXPIRE\x27,\x20KEYS[1],\x20ttl)\x0aend\x0areturn\x201\x0a',LUA_RESERVE_NUMBER=a0_0x4d3c47(0x196),LUA_CONFIRM_RESERVATION=a0_0x4d3c47(0x239),LUA_CANCEL_RESERVATION=a0_0x4d3c47(0x1c5),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(_0x5c5b39,_0x423bad,_0x2cb1f5=null){const _0x45e9ab=a0_0x4d3c47,_0x58ca15={'DXpBW':function(_0x2fd46c,_0x5298a0){return _0x2fd46c||_0x5298a0;},'NEkXt':_0x45e9ab(0x19b)};super(_0x58ca15['DXpBW'](_0x423bad,_0x5c5b39)),this['name']=_0x58ca15[_0x45e9ab(0x1f5)],this['code']=_0x5c5b39,this[_0x45e9ab(0x1a6)]=_0x2cb1f5;}}function a0_0x2431(_0x4ae8ed,_0x8629d0){_0x4ae8ed=_0x4ae8ed-0x126;const _0x47cb3d=a0_0x47cb();let _0x2431b2=_0x47cb3d[_0x4ae8ed];if(a0_0x2431['wSyyoW']===undefined){var _0x507daa=function(_0xc497d6){const _0xba33ca='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x565b9a='',_0x4f6cec='';for(let _0x5d15fa=0x0,_0x1fdd22,_0x230b3b,_0x24353a=0x0;_0x230b3b=_0xc497d6['charAt'](_0x24353a++);~_0x230b3b&&(_0x1fdd22=_0x5d15fa%0x4?_0x1fdd22*0x40+_0x230b3b:_0x230b3b,_0x5d15fa++%0x4)?_0x565b9a+=String['fromCharCode'](0xff&_0x1fdd22>>(-0x2*_0x5d15fa&0x6)):0x0){_0x230b3b=_0xba33ca['indexOf'](_0x230b3b);}for(let _0x12a67c=0x0,_0x3bfbbd=_0x565b9a['length'];_0x12a67c<_0x3bfbbd;_0x12a67c++){_0x4f6cec+='%'+('00'+_0x565b9a['charCodeAt'](_0x12a67c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4f6cec);};a0_0x2431['kljlsA']=_0x507daa,a0_0x2431['GRnqQZ']={},a0_0x2431['wSyyoW']=!![];}const _0x1466d6=_0x47cb3d[0x0],_0x1138d9=_0x4ae8ed+_0x1466d6,_0x1f8366=a0_0x2431['GRnqQZ'][_0x1138d9];return!_0x1f8366?(_0x2431b2=a0_0x2431['kljlsA'](_0x2431b2),a0_0x2431['GRnqQZ'][_0x1138d9]=_0x2431b2):_0x2431b2=_0x1f8366,_0x2431b2;}class IdGenerator{constructor(){const _0x4d12ff=a0_0x4d3c47;this['_initialized']=![],this[_0x4d12ff(0x1b3)]=null,this[_0x4d12ff(0x1ff)]=null,this['_idemTTL']=null,this['_allowReset']=null,this[_0x4d12ff(0x17b)]=null,this['_defaultPinDigits']=null,this[_0x4d12ff(0x24d)]=null,this['_defaultCodePattern']=null,this[_0x4d12ff(0x245)]=null,this['_reserveDefaultTTL']=null,this['_reserveMaxTTL']=null;}[a0_0x4d3c47(0x1ab)](){const _0x149efe=a0_0x4d3c47,_0x647c5f={'KHobp':function(_0x5014ae,_0xbcb5a8){return _0x5014ae===_0xbcb5a8;},'WNTij':function(_0x46f2d9,_0x5be341,_0x141fe){return _0x46f2d9(_0x5be341,_0x141fe);},'SUwzL':_0x149efe(0x229),'XBQFd':function(_0xcdb359,_0x5c7d23,_0x3b81b0){return _0xcdb359(_0x5c7d23,_0x3b81b0);}};this['_keyPrefix']=_0x149efe(0x184),this['_enabled']=_0x647c5f[_0x149efe(0x22d)](process['env'][_0x149efe(0x1f1)],'true'),this[_0x149efe(0x23a)]=parseInt(process['env']['IDGEN_IDEM_TTL'],0xa)||0x258,this['_allowReset']=process['env']['IDGEN_ALLOW_RESET']==='true',this[_0x149efe(0x17b)]=_0x647c5f[_0x149efe(0x235)](parseInt,process['env']['IDGEN_DEFAULT_MAX_RETRY'],0xa)||0xa,this['_defaultPinDigits']=parseInt(process[_0x149efe(0x24f)][_0x149efe(0x1a5)],0xa)||0x6,this['_defaultSerialPattern']=process[_0x149efe(0x24f)][_0x149efe(0x190)]||_0x149efe(0x20e),this[_0x149efe(0x1e6)]=process['env'][_0x149efe(0x1b1)]||_0x647c5f[_0x149efe(0x16e)],this['_counterTTLMap']={'yyyymm':parseInt(process['env']['IDGEN_COUNTER_TTL_MONTHLY'],0xa)||0x2a3000,'yyyymmdd':parseInt(process[_0x149efe(0x24f)]['IDGEN_COUNTER_TTL_DAILY'],0xa)||0x2a300},this[_0x149efe(0x155)]=parseInt(process[_0x149efe(0x24f)]['IDGEN_RESERVE_DEFAULT_TTL'],0xa)||DEFAULT_RESERVE_TTL,this['_reserveMaxTTL']=_0x647c5f[_0x149efe(0x16c)](parseInt,process['env']['IDGEN_RESERVE_MAX_TTL'],0xa)||MAX_RESERVE_TTL,this[_0x149efe(0x253)]=!![],logger[_0x149efe(0x191)]({'event':_0x149efe(0x24b),'enabled':this['_enabled'],'idemTTL':this[_0x149efe(0x23a)],'allowReset':this['_allowReset'],'defaultMaxRetry':this['_defaultMaxRetry'],'defaultPinDigits':this['_defaultPinDigits'],'reserveDefaultTTL':this[_0x149efe(0x155)],'reserveMaxTTL':this['_reserveMaxTTL']},_0x149efe(0x172)+this['_enabled']);}[a0_0x4d3c47(0x173)](){const _0x54adf1=a0_0x4d3c47;if(!this[_0x54adf1(0x253)])this['_initConfig']();}get[a0_0x4d3c47(0x137)](){const _0x15cb73=a0_0x4d3c47;return this[_0x15cb73(0x173)](),this['_enabled'];}get[a0_0x4d3c47(0x159)](){const _0x41ea13=a0_0x4d3c47;return this['_ensureInitialized'](),this[_0x41ea13(0x1ff)];}get['idemTTL'](){const _0x4bcfcc=a0_0x4d3c47;return this[_0x4bcfcc(0x173)](),this['_idemTTL'];}get['allowReset'](){const _0x38d7f2=a0_0x4d3c47;return this[_0x38d7f2(0x173)](),this[_0x38d7f2(0x23c)];}get[a0_0x4d3c47(0x216)](){const _0x1053bc=a0_0x4d3c47;return this['_ensureInitialized'](),this[_0x1053bc(0x17b)];}get[a0_0x4d3c47(0x1e5)](){return this['_ensureInitialized'](),this['_defaultPinDigits'];}get[a0_0x4d3c47(0x1e9)](){return this['_ensureInitialized'](),this['_defaultSerialPattern'];}get[a0_0x4d3c47(0x1d7)](){return this['_ensureInitialized'](),this['_defaultCodePattern'];}get['reserveDefaultTTL'](){const _0x36fdbd=a0_0x4d3c47;return this['_ensureInitialized'](),this[_0x36fdbd(0x155)];}get[a0_0x4d3c47(0x14b)](){const _0x40efdf=a0_0x4d3c47;return this[_0x40efdf(0x173)](),this[_0x40efdf(0x168)];}[a0_0x4d3c47(0x13a)](){const _0x488cbe=a0_0x4d3c47;return this[_0x488cbe(0x137)];}['_validateResource'](_0x2e5e01){const _0xb0f36f=a0_0x4d3c47;if(typeof _0x2e5e01!=='string'||!RESOURCE_REGEX['test'](_0x2e5e01))throw new IdGeneratorError('IDGEN_INVALID_RESOURCE',_0xb0f36f(0x24e)+RESOURCE_REGEX+'\x20(got:\x20'+JSON['stringify'](_0x2e5e01)+')');}[a0_0x4d3c47(0x145)](_0x56dc33){const _0x30f324=a0_0x4d3c47,_0xdf962c={'IUzbX':_0x30f324(0x14c),'JokED':function(_0x3f3887,_0x2d12da){return _0x3f3887<_0x2d12da;},'RImeU':function(_0x19522a,_0x39bfc2){return _0x19522a>_0x39bfc2;},'OPQHp':function(_0x4bc8dd,_0x205444){return _0x4bc8dd==_0x205444;},'QLtgh':'IDGEN_INVALID_PREFIX','CVruI':function(_0x3e2f69,_0x4a5e6e){return _0x3e2f69>_0x4a5e6e;},'RuEvp':function(_0x5c3d50,_0x48acc8){return _0x5c3d50!==_0x48acc8;},'BSNNZ':'IDGEN_INVALID_RESOURCE','mIXzl':function(_0x4097d6,_0x3d52f9){return _0x4097d6===_0x3d52f9;}},{resource:_0x353749,format:_0x50c33e,prefix:_0x11bd51,separator:_0x548e9d,numDigits:_0x1f4b4a,reuseDelete:_0x2e0e3f}=_0x56dc33;this['_validateResource'](_0x353749);const _0x5f03d9=typeof _0x50c33e===_0xdf962c['IUzbX']?_0x50c33e[_0x30f324(0x23d)]():'';if(!ALLOWED_FORMATS['has'](_0x5f03d9))throw new IdGeneratorError(_0x30f324(0x243),'Invalid\x20format:\x20must\x20be\x20one\x20of\x20'+[...ALLOWED_FORMATS][_0x30f324(0x18d)](',\x20')+'\x20(got:\x20'+_0x50c33e+')');if(!Number[_0x30f324(0x14f)](_0x1f4b4a)||_0xdf962c[_0x30f324(0x1e3)](_0x1f4b4a,MIN_NUM_DIGITS)||_0xdf962c['RImeU'](_0x1f4b4a,MAX_NUM_DIGITS))throw new IdGeneratorError('IDGEN_INVALID_NUM_DIGITS',_0x30f324(0x1ae)+MIN_NUM_DIGITS+'-'+MAX_NUM_DIGITS+_0x30f324(0x140)+_0x1f4b4a+')');const _0x44e954=_0xdf962c[_0x30f324(0x227)](_0x11bd51,null)?'':_0x11bd51;if(typeof _0x44e954!==_0xdf962c[_0x30f324(0x23f)]||!PREFIX_REGEX[_0x30f324(0x1ee)](_0x44e954))throw new IdGeneratorError(_0xdf962c[_0x30f324(0x247)],'Invalid\x20prefix:\x20must\x20match\x20'+PREFIX_REGEX+_0x30f324(0x140)+JSON['stringify'](_0x11bd51)+')');const _0x58c334=_0x548e9d==null?'':_0x548e9d;if(typeof _0x58c334!=='string'||_0xdf962c['CVruI'](_0x58c334['length'],0x3)||SEPARATOR_FORBIDDEN['test'](_0x58c334))throw new IdGeneratorError('IDGEN_INVALID_SEPARATOR','Invalid\x20separator:\x20max\x203\x20char,\x20must\x20not\x20contain\x20\x27:\x27\x20(got:\x20'+JSON['stringify'](_0x548e9d)+')');if(_0x2e0e3f!=null&&_0xdf962c['RuEvp'](typeof _0x2e0e3f,_0x30f324(0x1b8)))throw new IdGeneratorError(_0xdf962c['BSNNZ'],_0x30f324(0x1d8)+typeof _0x2e0e3f+')');return{'resource':_0x353749,'format':_0x5f03d9,'prefix':_0x44e954,'separator':_0x58c334,'numDigits':_0x1f4b4a,'reuseDelete':_0xdf962c['mIXzl'](_0x2e0e3f,!![])};}[a0_0x4d3c47(0x177)](_0x5487a6){const _0x1f64e3=a0_0x4d3c47,_0x35c94d={'SonDn':function(_0x4923e9,_0x544e54){return _0x4923e9!==_0x544e54;},'iUrGS':'string','NCDdG':function(_0x314288,_0xf844b){return _0x314288===_0xf844b;},'BZPhv':'IDGEN_INVALID_PATTERN'};if(_0x35c94d['SonDn'](typeof _0x5487a6,_0x35c94d['iUrGS'])||_0x35c94d[_0x1f64e3(0x1e4)](_0x5487a6['length'],0x0)||_0x5487a6['length']>MAX_PATTERN_LENGTH)throw new IdGeneratorError(_0x35c94d[_0x1f64e3(0x126)],'Invalid\x20pattern:\x20must\x20be\x20string\x201-'+MAX_PATTERN_LENGTH+_0x1f64e3(0x195)+(_0x5487a6&&_0x5487a6['length'])+')');let _0x5d5bce=![];for(const _0x566b7c of _0x5487a6){if(PLACEHOLDER_MAP[_0x566b7c]){_0x5d5bce=!![];break;}}if(!_0x5d5bce)throw new IdGeneratorError('IDGEN_INVALID_PATTERN',_0x1f64e3(0x15f));}['_validateTTL'](_0x312aa7){const _0x5e440=a0_0x4d3c47,_0xde5c58={'XOooo':function(_0x1911cf,_0x240485){return _0x1911cf>_0x240485;},'hhWBU':'IDGEN_INVALID_TTL'};if(_0x312aa7==null)return undefined;if(!Number[_0x5e440(0x14f)](_0x312aa7)||_0x312aa7<0x1||_0xde5c58['XOooo'](_0x312aa7,MAX_TTL))throw new IdGeneratorError(_0xde5c58['hhWBU'],_0x5e440(0x251)+MAX_TTL+_0x5e440(0x187)+_0x312aa7+')');return _0x312aa7;}['_validateMaxRetry'](_0xbec8db){const _0x48d4d6=a0_0x4d3c47,_0x452de2={'YskaU':function(_0x580a45,_0x4e6e82){return _0x580a45<_0x4e6e82;},'ZCZpn':_0x48d4d6(0x1e0)};if(_0xbec8db==null)return this['defaultMaxRetry'];if(!Number['isInteger'](_0xbec8db)||_0x452de2['YskaU'](_0xbec8db,0x1)||_0xbec8db>MAX_RETRY_LIMIT)throw new IdGeneratorError(_0x452de2['ZCZpn'],_0x48d4d6(0x217)+MAX_RETRY_LIMIT+'\x20(got:\x20'+_0xbec8db+')');return _0xbec8db;}['_validateIdempotencyKey'](_0x4e1148){const _0x11ad07=a0_0x4d3c47,_0x2a65af={'cxnJD':function(_0x59dc9f,_0x15afde){return _0x59dc9f!==_0x15afde;},'XfRKt':_0x11ad07(0x14c),'vusLz':function(_0xf70eeb,_0x3933c9){return _0xf70eeb>_0x3933c9;},'pjonU':_0x11ad07(0x192)};if(_0x4e1148==null)return undefined;if(_0x2a65af[_0x11ad07(0x135)](typeof _0x4e1148,_0x2a65af['XfRKt'])||_0x4e1148[_0x11ad07(0x1ce)]===0x0||_0x2a65af[_0x11ad07(0x12d)](_0x4e1148['length'],MAX_IDEMPOTENCY_KEY_LENGTH))throw new IdGeneratorError(_0x2a65af['pjonU'],'Invalid\x20idempotencyKey:\x20must\x20be\x20string\x201-'+MAX_IDEMPOTENCY_KEY_LENGTH+_0x11ad07(0x22e));return _0x4e1148;}['_validateReserveTTL'](_0x51b20c){const _0x400d19=a0_0x4d3c47,_0x3820f2={'QOLGZ':function(_0x49ff7f,_0x24bdab){return _0x49ff7f==_0x24bdab;}};if(_0x3820f2['QOLGZ'](_0x51b20c,null))return this['reserveDefaultTTL'];if(!Number['isInteger'](_0x51b20c)||_0x51b20c<MIN_RESERVE_TTL||_0x51b20c>this['reserveMaxTTL'])throw new IdGeneratorError(_0x400d19(0x15d),_0x400d19(0x212)+MIN_RESERVE_TTL+'-'+this[_0x400d19(0x14b)]+'\x20seconds\x20(got:\x20'+_0x51b20c+')');return _0x51b20c;}['_validateReservationToken'](_0x57f6cd){const _0x352fe2=a0_0x4d3c47,_0x50a1e6={'GRghn':function(_0x3ebff8,_0xf9312){return _0x3ebff8!==_0xf9312;},'mGleC':'IDGEN_INVALID_TOKEN'};if(_0x50a1e6['GRghn'](typeof _0x57f6cd,'string')||!RESERVATION_TOKEN_REGEX[_0x352fe2(0x1ee)](_0x57f6cd))throw new IdGeneratorError(_0x50a1e6[_0x352fe2(0x167)],'Invalid\x20reservation\x20token:\x20must\x20be\x20a\x20valid\x20UUID\x20format\x20(got:\x20'+JSON[_0x352fe2(0x1be)](_0x57f6cd)+')');return _0x57f6cd;}['_pad2'](_0x32680f){return String(_0x32680f)['padStart'](0x2,'0');}[a0_0x4d3c47(0x146)](_0x6e274,_0x32ee80,_0x27e917=new Date()){const _0x1de7e0=a0_0x4d3c47,_0x22d446={'tPUqv':function(_0x4322b8,_0x2da718){return _0x4322b8+_0x2da718;},'lGklg':function(_0x39c8a3,_0x25732f){return _0x39c8a3||_0x25732f;},'EiGmr':_0x1de7e0(0x17c),'maMOi':'yyyy','yTnms':'yyyymm','yiqAF':_0x1de7e0(0x1ef)},_0x37b0c4=_0x27e917[_0x1de7e0(0x22b)](),_0x190c7e=this[_0x1de7e0(0x1cf)](_0x22d446[_0x1de7e0(0x1c4)](_0x27e917['getMonth'](),0x1)),_0x3876bf=this['_pad2'](_0x27e917['getDate']()),_0x1259e3=_0x22d446[_0x1de7e0(0x1b9)](_0x32ee80,'_');let _0x53a5a1,_0x46958e='';switch(_0x6e274){case _0x22d446['EiGmr']:_0x53a5a1=_0x1259e3+'_text';break;case _0x22d446[_0x1de7e0(0x132)]:_0x46958e=''+_0x37b0c4,_0x53a5a1=_0x1259e3+'_yyyy_'+_0x46958e;break;case _0x22d446[_0x1de7e0(0x1d3)]:_0x46958e=''+_0x37b0c4+_0x190c7e,_0x53a5a1=_0x1259e3+'_yyyymm_'+_0x46958e;break;case _0x22d446['yiqAF']:_0x46958e=''+_0x37b0c4+_0x190c7e+_0x3876bf,_0x53a5a1=_0x1259e3+'_yyyymmdd_'+_0x46958e;break;default:throw new IdGeneratorError('IDGEN_INVALID_FORMAT','Unknown\x20format:\x20'+_0x6e274);}return{'formatKey':_0x53a5a1,'datePrefix':_0x46958e};}[a0_0x4d3c47(0x1df)](_0x46ce50,_0x4d39d3){const _0x49c6e0=a0_0x4d3c47;return this[_0x49c6e0(0x159)]+_0x49c6e0(0x12e)+_0x46ce50+':'+_0x4d39d3;}['_buildReuseKey'](_0x4a0ad5,_0xbb619){const _0x56702e=a0_0x4d3c47;return this[_0x56702e(0x159)]+'reuse:'+_0x4a0ad5+':'+_0xbb619;}[a0_0x4d3c47(0x169)](_0x25bb03,_0x1b63ed){const _0x9b1a64=a0_0x4d3c47;return this[_0x9b1a64(0x159)]+'meta:'+_0x25bb03+':'+_0x1b63ed;}['_buildIssuedKey'](_0x58bb38){const _0x19cb11=a0_0x4d3c47;return this[_0x19cb11(0x159)]+'issued:'+_0x58bb38;}[a0_0x4d3c47(0x15b)](_0x3e5436,_0x2ed91e){return this['keyPrefix']+'active:'+_0x3e5436+':'+_0x2ed91e;}[a0_0x4d3c47(0x20d)](_0x26cb7c){const _0xf11e72=a0_0x4d3c47;return this['keyPrefix']+_0xf11e72(0x230)+_0x26cb7c;}[a0_0x4d3c47(0x144)](_0x1933c4,_0x130700){const _0x476761=a0_0x4d3c47;return this[_0x476761(0x159)]+'rsv_idx:'+_0x1933c4+':'+_0x130700;}[a0_0x4d3c47(0x20a)](){return this['keyPrefix']+'rsv:';}['_buildIdemKey'](_0x14f30a,_0x34a67d,_0x5b0422,_0x151259){const _0x3a16ea=a0_0x4d3c47,_0x1c3c21={'TKFKC':'idgen'};if(_0x5b0422)return idempotencyManager['buildDeterministicKey']('idgen',_0x14f30a,_0x34a67d+':'+_0x5b0422+':'+_0x151259);return idempotencyManager[_0x3a16ea(0x19c)](_0x1c3c21[_0x3a16ea(0x246)],_0x14f30a,_0x34a67d+':'+_0x151259);}['_getCounterTTL'](_0x429a79){const _0x140b87=a0_0x4d3c47;return this[_0x140b87(0x245)][_0x429a79]||0x0;}[a0_0x4d3c47(0x1e1)]({format:_0x34a0d1,prefix:_0x114d3b,datePrefix:_0x402431,separator:_0x523758,numDigits:_0x219c4a,counterInt:_0x51d139}){const _0x339e49=a0_0x4d3c47,_0x8bc708={'VfFPx':function(_0x8db462,_0x536e35){return _0x8db462>_0x536e35;},'oEQzJ':function(_0x55d6b5,_0x290aca){return _0x55d6b5(_0x290aca);},'nLuqf':'text'},_0xa51067=Math['pow'](0xa,_0x219c4a)-0x1;if(_0x8bc708['VfFPx'](_0x51d139,_0xa51067))throw new IdGeneratorError('IDGEN_COUNTER_OVERFLOW',_0x339e49(0x209)+_0x51d139+'\x20exceeds\x20'+_0x219c4a+_0x339e49(0x150)+_0xa51067+_0x339e49(0x16b),{'counterInt':_0x51d139,'numDigits':_0x219c4a,'max':_0xa51067});const _0xc1ccea=_0x8bc708['oEQzJ'](String,_0x51d139)['padStart'](_0x219c4a,'0');if(_0x34a0d1===_0x8bc708[_0x339e49(0x154)])return _0x114d3b?''+_0x114d3b+_0x523758+_0xc1ccea:_0xc1ccea;return _0x114d3b?''+_0x114d3b+_0x523758+_0x402431+_0x523758+_0xc1ccea:''+_0x402431+_0x523758+_0xc1ccea;}[a0_0x4d3c47(0x199)]({format:_0x36a740,prefix:_0x5b9360,separator:_0x213965,numDigits:_0x402aa0,number:_0x1ecfb2}){const _0x3da55c=a0_0x4d3c47,_0x1b38a9={'PcCvP':'string','kDXme':function(_0x586b8b,_0x504c9b){return _0x586b8b===_0x504c9b;},'OuqWv':function(_0x57fe6b,_0x2c451f){return _0x57fe6b||_0x2c451f;},'NDWUE':function(_0x596ab2,_0x35522e){return _0x596ab2===_0x35522e;},'nkTVF':function(_0xab017b,_0xccb58b){return _0xab017b===_0xccb58b;},'dmIiU':function(_0x137c76,_0x1b242c){return _0x137c76!==_0x1b242c;},'nxDwR':_0x3da55c(0x200),'stzch':function(_0x543479,_0x54a349){return _0x543479!==_0x54a349;},'tZTLQ':function(_0xb856d,_0x3a7d09){return _0xb856d===_0x3a7d09;},'dIBxG':function(_0x3e3156,_0x359ef1,_0x161449){return _0x3e3156(_0x359ef1,_0x161449);}};if(typeof _0x1ecfb2!==_0x1b38a9['PcCvP']||_0x1b38a9['kDXme'](_0x1ecfb2['length'],0x0))throw new IdGeneratorError(_0x3da55c(0x200),'Invalid\x20number:\x20must\x20be\x20non-empty\x20string');const _0x3b5d85=_0x1b38a9[_0x3da55c(0x194)](_0x213965,''),_0x3e5998=_0x1b38a9['NDWUE'](_0x3b5d85,'')?[_0x1ecfb2]:_0x1ecfb2[_0x3da55c(0x17d)](_0x3b5d85);let _0x1e8712='',_0x39870b;if(_0x1b38a9[_0x3da55c(0x249)](_0x36a740,'text')){if(_0x5b9360){if(_0x1b38a9['dmIiU'](_0x3e5998['length'],0x2)||_0x3e5998[0x0]!==_0x5b9360)throw new IdGeneratorError('IDGEN_INVALID_NUMBER','Number\x20does\x20not\x20match\x20expected\x20format\x20prefix'+_0x3b5d85+'padded\x20(got:\x20'+_0x1ecfb2+')');_0x39870b=_0x3e5998[0x1];}else{if(_0x3e5998[_0x3da55c(0x1ce)]!==0x1)throw new IdGeneratorError(_0x1b38a9['nxDwR'],_0x3da55c(0x21f)+_0x1ecfb2+')');_0x39870b=_0x3e5998[0x0];}}else{const _0x3b4d6c=_0x5b9360?0x3:0x2;if(_0x1b38a9['stzch'](_0x3e5998['length'],_0x3b4d6c))throw new IdGeneratorError('IDGEN_INVALID_NUMBER',_0x3da55c(0x21c)+_0x1ecfb2+',\x20expected\x20'+_0x3b4d6c+_0x3da55c(0x176));let _0x3d3246=0x0;if(_0x5b9360){if(_0x1b38a9[_0x3da55c(0x1cb)](_0x3e5998[_0x3d3246],_0x5b9360))throw new IdGeneratorError('IDGEN_INVALID_NUMBER',_0x3da55c(0x15c)+_0x5b9360+_0x3da55c(0x12c)+_0x3e5998[_0x3d3246]);_0x3d3246++;}_0x1e8712=_0x3e5998[_0x3d3246++];const _0x3e4299=_0x36a740===_0x3da55c(0x1fe)?/^\d{4}$/:_0x1b38a9[_0x3da55c(0x237)](_0x36a740,_0x3da55c(0x163))?/^\d{6}$/:/^\d{8}$/;if(!_0x3e4299['test'](_0x1e8712))throw new IdGeneratorError(_0x3da55c(0x200),_0x3da55c(0x14a)+_0x36a740+':\x20'+_0x1e8712);_0x39870b=_0x3e5998[_0x3d3246];}if(!new RegExp(_0x3da55c(0x1a2)+_0x402aa0+'}$')['test'](_0x39870b))throw new IdGeneratorError(_0x3da55c(0x200),_0x3da55c(0x1cc)+_0x402aa0+'\x20digits\x20(got:\x20'+_0x39870b+')');const _0x36c5e2=_0x1b38a9['dIBxG'](parseInt,_0x39870b,0xa),_0x12bb6d=_0x5b9360||'_';let _0x418470;return _0x36a740===_0x3da55c(0x17c)?_0x418470=_0x12bb6d+_0x3da55c(0x23e):_0x418470=_0x12bb6d+'_'+_0x36a740+'_'+_0x1e8712,{'formatKey':_0x418470,'counterInt':_0x36c5e2,'datePrefix':_0x1e8712};}[a0_0x4d3c47(0x1d6)](_0x5a65cf){const _0x18b287=a0_0x4d3c47;let _0x1beed7='';for(const _0x380a02 of _0x5a65cf){const _0x23bc6f=PLACEHOLDER_MAP[_0x380a02];if(_0x23bc6f){const _0x492d74=crypto['randomInt'](0x0,_0x23bc6f[_0x18b287(0x1ce)]);_0x1beed7+=_0x23bc6f[_0x492d74];}else _0x1beed7+=_0x380a02;}return _0x1beed7;}async[a0_0x4d3c47(0x240)](_0x1ba2f7){const _0x287ed1=a0_0x4d3c47,_0x42a812={'wbPKW':_0x287ed1(0x16d),'Ohzgz':'Idempotency\x20retrieve\x20error'};if(!_0x1ba2f7)return null;try{const _0x1581e3=redisClient[_0x287ed1(0x156)](),_0x4b269b=await _0x1581e3['get'](_0x1ba2f7);if(_0x4b269b)return logger['info']({'event':_0x42a812[_0x287ed1(0x221)],'key':_0x1ba2f7},'Idempotency\x20cache\x20HIT'),JSON[_0x287ed1(0x1c8)](_0x4b269b);return null;}catch(_0x290dda){return logger[_0x287ed1(0x1b4)]({'event':'idgen_idem_retrieve_error','error':_0x290dda['message']},_0x42a812['Ohzgz']),null;}}async[a0_0x4d3c47(0x143)](_0x1a329f,_0x2cb34d){const _0x386c7c=a0_0x4d3c47;if(!_0x1a329f)return;try{const _0x592cb8=redisClient[_0x386c7c(0x156)]();await _0x592cb8['setex'](_0x1a329f,this['idemTTL'],JSON['stringify'](_0x2cb34d));}catch(_0x388492){logger['warn']({'event':_0x386c7c(0x24c),'error':_0x388492[_0x386c7c(0x1ad)]},_0x386c7c(0x151));}}async['_storeIdemCacheNX'](_0x13f5bd,_0x13c23e){const _0x5ba1bd=a0_0x4d3c47,_0x387d26={'vPcaB':function(_0x1312bb,_0x4f3430){return _0x1312bb===_0x4f3430;},'YPjvw':'idgen_idem_nx_race_lost_but_empty','mhFBU':_0x5ba1bd(0x130),'kBSOF':'idgen_idem_storenx_error'};if(!_0x13f5bd)return{'stored':!![],'winnerResult':null};try{const _0x2830ef=redisClient[_0x5ba1bd(0x156)](),_0x4e18ac=JSON['stringify'](_0x13c23e),_0x1a3765=await _0x2830ef['set'](_0x13f5bd,_0x4e18ac,'EX',this[_0x5ba1bd(0x1bd)],'NX');if(_0x387d26['vPcaB'](_0x1a3765,'OK'))return{'stored':!![],'winnerResult':null};const _0x5d9090=await _0x2830ef[_0x5ba1bd(0x20f)](_0x13f5bd);if(_0x5d9090)return{'stored':![],'winnerResult':JSON[_0x5ba1bd(0x1c8)](_0x5d9090)};return logger[_0x5ba1bd(0x1b4)]({'event':_0x387d26['YPjvw'],'key':_0x13f5bd},_0x387d26[_0x5ba1bd(0x1e7)]),{'stored':!![],'winnerResult':null};}catch(_0x1526ef){return logger[_0x5ba1bd(0x1b4)]({'event':_0x387d26[_0x5ba1bd(0x203)],'error':_0x1526ef[_0x5ba1bd(0x1ad)]},'Idempotency\x20SET\x20NX\x20error'),{'stored':!![],'winnerResult':null};}}async[a0_0x4d3c47(0x1d9)](_0x3baedd,_0x1b36d0,_0x4dbc72){const _0x30c045=a0_0x4d3c47;try{const _0x17e270=redisClient['getClient']();if(_0x4dbc72){const _0x4cd466=this[_0x30c045(0x15b)](_0x3baedd,_0x1b36d0);await _0x17e270[_0x30c045(0x250)](_0x4cd466);}else{const _0x2e60da=this['_buildIssuedKey'](_0x3baedd);await _0x17e270[_0x30c045(0x219)](_0x2e60da,_0x1b36d0);}}catch(_0x25abc4){logger['warn']({'event':_0x30c045(0x1e2),'error':_0x25abc4[_0x30c045(0x1ad)]},_0x30c045(0x129));}}async['_updateMeta'](_0x19fa7d,_0x41b941,_0x18ba89,_0x554f21=0x0){const _0x208d68=a0_0x4d3c47,_0x1b242a={'rgWUB':function(_0x22cccb,_0x2e6a7c){return _0x22cccb(_0x2e6a7c);},'RjrpT':function(_0x100b0d,_0x53bf89){return _0x100b0d>_0x53bf89;},'fJkXP':function(_0x415433,_0x35201a){return _0x415433>_0x35201a;},'kSrZC':'idgen_meta_update_error'};try{const _0x2264a2=redisClient[_0x208d68(0x156)](),_0x23c15a=this['_buildMetaKey'](_0x19fa7d,_0x41b941),_0xceb825=[];for(const [_0x462cde,_0x248092]of Object['entries'](_0x18ba89)){_0xceb825[_0x208d68(0x1c1)](_0x462cde,_0x1b242a[_0x208d68(0x228)](String,_0x248092));}if(_0x1b242a['RjrpT'](_0xceb825[_0x208d68(0x1ce)],0x0)){await _0x2264a2['hset'](_0x23c15a,..._0xceb825);if(_0x1b242a[_0x208d68(0x22a)](_0x554f21,0x0))await _0x2264a2['expire'](_0x23c15a,_0x554f21);}}catch(_0x4f4748){logger[_0x208d68(0x1b4)]({'event':_0x1b242a[_0x208d68(0x133)],'error':_0x4f4748[_0x208d68(0x1ad)]},_0x208d68(0x1a4));}}async['number'](_0x23ee83){const _0xfceaba=a0_0x4d3c47,_0x500b9f={'yOiTn':function(_0x5b8eda,_0x54458f){return _0x5b8eda(_0x54458f);},'diOwD':_0xfceaba(0x1d2),'rKKlE':'idgen_number_generated'};if(!this[_0xfceaba(0x137)])throw new IdGeneratorError(_0xfceaba(0x17e),'ID\x20Generator\x20is\x20disabled\x20(set\x20IDGEN_ENABLED=true)');const _0x5a844c=this['_validateNumberParams'](_0x23ee83),_0x4e5b09=this[_0xfceaba(0x1c9)](_0x23ee83['idempotencyKey']),{resource:_0x4a98ee,format:_0x1fb571,prefix:_0x1d6e87,separator:_0x208c05,numDigits:_0x507ba1,reuseDelete:_0x408638}=_0x5a844c,{formatKey:_0x49252a,datePrefix:_0x3d7c97}=this['_buildFormatKey'](_0x1fb571,_0x1d6e87),_0x314a03=this[_0xfceaba(0x1df)](_0x4a98ee,_0x49252a),_0x3d8dbc=this[_0xfceaba(0x127)](_0x4a98ee,_0x49252a),_0x4b27bb=this['_getCounterTTL'](_0x1fb571);let _0x9e7ad4=null;if(_0x4e5b09){_0x9e7ad4=this[_0xfceaba(0x158)](_0xfceaba(0x1d4),_0x4a98ee,_0x49252a,_0x4e5b09);const _0x2f1197=await this[_0xfceaba(0x240)](_0x9e7ad4);if(_0x2f1197)return _0x2f1197;}const _0x3ed927=redisClient['getClient'](),_0x2679a8=await _0x3ed927[_0xfceaba(0x21e)](LUA_GENERATE_NUMBER,0x2,_0x314a03,_0x3d8dbc,_0x408638?'1':'0',_0x500b9f[_0xfceaba(0x18f)](String,_0x4b27bb)),_0x1d86f9=_0x2679a8[0x0],_0x23338c=_0x2679a8[0x1]===0x1,_0x4a989=this['_formatNumber']({'format':_0x1fb571,'prefix':_0x1d6e87,'datePrefix':_0x3d7c97,'separator':_0x208c05,'numDigits':_0x507ba1,'counterInt':_0x1d86f9}),_0x37e88a={'value':_0x4a989,'counter':_0x1d86f9,'resource':_0x4a98ee,'formatKey':_0x49252a,'isReused':_0x23338c,'generatedAt':new Date()[_0xfceaba(0x223)]()},_0x4d34ef=await this['_storeIdemCacheNX'](_0x9e7ad4,_0x37e88a);if(!_0x4d34ef[_0xfceaba(0x182)]){try{await _0x3ed927[_0xfceaba(0x21e)](LUA_RELEASE_NUMBER,0x1,_0x3d8dbc,String(_0x1d86f9),String(_0x4b27bb));}catch(_0xc224c2){logger['warn']({'event':_0xfceaba(0x225),'error':_0xc224c2[_0xfceaba(0x1ad)],'resource':_0x4a98ee,'formatKey':_0x49252a,'counterInt':_0x1d86f9},'Failed\x20to\x20release\x20counter\x20for\x20idempotency\x20loser');}return logger[_0xfceaba(0x191)]({'event':_0x500b9f[_0xfceaba(0x226)],'resource':_0x4a98ee,'formatKey':_0x49252a,'counter':_0x1d86f9},'ID\x20Generator\x20number\x20idem\x20race\x20lost,\x20returning\x20winner\x20envelope'),_0x4d34ef['winnerResult'];}return this['_updateMeta'](_0x4a98ee,_0x49252a,{'lastValue':_0x4a989,'lastCounter':_0x1d86f9,'lastIsReused':_0x23338c,'lastGeneratedAt':_0x37e88a[_0xfceaba(0x153)]},_0x4b27bb),logger[_0xfceaba(0x191)]({'event':_0x500b9f[_0xfceaba(0x1dd)],'resource':_0x4a98ee,'formatKey':_0x49252a,'counter':_0x1d86f9,'isReused':_0x23338c},'ID\x20Generator\x20number:\x20'+_0x4a989),_0x37e88a;}async['releaseNumber'](_0x4b3bb8){const _0xd5424=a0_0x4d3c47,_0x53e685={'FezEm':_0xd5424(0x17e),'CjXss':_0xd5424(0x193),'ODZdN':function(_0x328138,_0x1d3bef){return _0x328138!==_0x1d3bef;},'cyHrD':_0xd5424(0x211),'TawES':function(_0x2fc093,_0x54573f){return _0x2fc093<_0x54573f;},'OXgEE':_0xd5424(0x17c),'CDXEl':'release','CZojk':function(_0x21a263,_0x120392){return _0x21a263(_0x120392);}};if(!this[_0xd5424(0x137)])throw new IdGeneratorError(_0x53e685['FezEm'],_0x53e685[_0xd5424(0x20c)]);let _0x28bb1f,_0x3cad09,_0x1eb90f,_0xbef406;const _0x202229=this[_0xd5424(0x1c9)](_0x4b3bb8[_0xd5424(0x218)]);if(_0x53e685['ODZdN'](_0x4b3bb8[_0xd5424(0x1c0)],undefined)&&_0x4b3bb8[_0xd5424(0x1c0)]!==null){this['_validateResource'](_0x4b3bb8[_0xd5424(0x1c2)]),_0x28bb1f=_0x4b3bb8[_0xd5424(0x1c2)];if(_0x53e685['ODZdN'](typeof _0x4b3bb8[_0xd5424(0x23b)],'string')||_0x4b3bb8['formatKey']['length']===0x0)throw new IdGeneratorError(_0xd5424(0x200),_0x53e685[_0xd5424(0x186)]);_0x3cad09=_0x4b3bb8['formatKey'];if(!Number['isInteger'](_0x4b3bb8['counterInt'])||_0x53e685['TawES'](_0x4b3bb8['counterInt'],0x1))throw new IdGeneratorError('IDGEN_INVALID_NUMBER',_0xd5424(0x206)+_0x4b3bb8['counterInt']+')');_0x1eb90f=_0x4b3bb8[_0xd5424(0x1c0)];const _0x5daa4d=_0x3cad09[_0xd5424(0x171)](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/);_0xbef406=_0x5daa4d?_0x5daa4d[0x1]:_0x53e685['OXgEE'];}else{const _0x4e99ef=this['_validateNumberParams'](_0x4b3bb8),_0x1f2253=this[_0xd5424(0x199)]({'format':_0x4e99ef[_0xd5424(0x183)],'prefix':_0x4e99ef['prefix'],'separator':_0x4e99ef[_0xd5424(0x232)],'numDigits':_0x4e99ef[_0xd5424(0x142)],'number':_0x4b3bb8['number']});_0x28bb1f=_0x4e99ef[_0xd5424(0x1c2)],_0x3cad09=_0x1f2253['formatKey'],_0x1eb90f=_0x1f2253['counterInt'],_0xbef406=_0x4e99ef[_0xd5424(0x183)];}const _0x254ef1=this[_0xd5424(0x127)](_0x28bb1f,_0x3cad09),_0x3a644f=this[_0xd5424(0x1c3)](_0xbef406);let _0x18a27c=null;if(_0x202229){_0x18a27c=this['_buildIdemKey'](_0x53e685['CDXEl'],_0x28bb1f,_0x3cad09,_0x202229);const _0x5e89bb=await this['_retrieveIdemCache'](_0x18a27c);if(_0x5e89bb)return _0x5e89bb;}const _0xfcf38c=redisClient['getClient']();await _0xfcf38c['eval'](LUA_RELEASE_NUMBER,0x1,_0x254ef1,String(_0x1eb90f),_0x53e685[_0xd5424(0x15a)](String,_0x3a644f));const _0x5b058b={'released':!![],'resource':_0x28bb1f,'formatKey':_0x3cad09,'counter':_0x1eb90f,'releasedAt':new Date()[_0xd5424(0x223)]()};return await this[_0xd5424(0x143)](_0x18a27c,_0x5b058b),this[_0xd5424(0x234)](_0x28bb1f,_0x3cad09,{'lastReleasedCounter':_0x1eb90f,'lastReleasedAt':_0x5b058b[_0xd5424(0x178)]},_0x3a644f),logger['info']({'event':_0xd5424(0x1ac),'resource':_0x28bb1f,'formatKey':_0x3cad09,'counter':_0x1eb90f},'ID\x20Generator\x20number\x20released:\x20'+_0x1eb90f),_0x5b058b;}async[a0_0x4d3c47(0x17a)](_0x414b5c){const _0x5dfc8b=a0_0x4d3c47,_0x1b8e50={'Mgwlo':_0x5dfc8b(0x17e),'uLBSP':'ID\x20Generator\x20is\x20disabled\x20(set\x20IDGEN_ENABLED=true)','DOIaz':function(_0x5525d9,_0x40467b){return _0x5525d9*_0x40467b;},'aUCTT':_0x5dfc8b(0x1c2),'LnBBl':'formatKey','MtpIR':'format','iZGGW':_0x5dfc8b(0x232),'TftBo':'numDigits','ECQlE':'datePrefix','CwQcZ':function(_0x1e4a70,_0x288dec){return _0x1e4a70||_0x288dec;},'qPGOr':'expiresAt','NmRDy':_0x5dfc8b(0x21a),'GhlNu':function(_0x1cdcc5,_0x5033fe){return _0x1cdcc5(_0x5033fe);},'nGqly':function(_0x191830,_0x3ea6a6){return _0x191830(_0x3ea6a6);},'VEZKl':function(_0x29e8d7,_0x2693ae){return _0x29e8d7(_0x2693ae);},'GkDmn':_0x5dfc8b(0x1bf),'NIIMl':_0x5dfc8b(0x141),'JccgM':_0x5dfc8b(0x134),'sdmLL':_0x5dfc8b(0x1c6),'QcnDz':_0x5dfc8b(0x1a8)};if(!this['enabled'])throw new IdGeneratorError(_0x1b8e50['Mgwlo'],_0x1b8e50['uLBSP']);const _0x1538ba=this['_validateNumberParams'](_0x414b5c),_0x4335b4=this['_validateReserveTTL'](_0x414b5c['ttl']),_0x3076fe=this[_0x5dfc8b(0x1c9)](_0x414b5c['idempotencyKey']),{resource:_0x2980df,format:_0x47c51d,prefix:_0x7cd013,separator:_0x500f10,numDigits:_0x4d17cb,reuseDelete:_0x459972}=_0x1538ba,{formatKey:_0x2129a2,datePrefix:_0x36929e}=this[_0x5dfc8b(0x146)](_0x47c51d,_0x7cd013),_0x3325f3=this[_0x5dfc8b(0x1df)](_0x2980df,_0x2129a2),_0x567242=this['_buildReuseKey'](_0x2980df,_0x2129a2),_0x3d9f98=this[_0x5dfc8b(0x144)](_0x2980df,_0x2129a2),_0x1efea0=this['_getCounterTTL'](_0x47c51d);let _0x19e43f=null;if(_0x3076fe){_0x19e43f=this[_0x5dfc8b(0x158)](_0x5dfc8b(0x12f),_0x2980df,_0x2129a2,_0x3076fe);const _0x27b3bd=await this['_retrieveIdemCache'](_0x19e43f);if(_0x27b3bd)return _0x27b3bd;}const _0x2c0d4c=crypto[_0x5dfc8b(0x1d0)](),_0x31bb01=this[_0x5dfc8b(0x20d)](_0x2c0d4c),_0x1fa864=this[_0x5dfc8b(0x20a)](),_0x5a7d96=Date[_0x5dfc8b(0x16f)](),_0x4b7653=_0x5a7d96+_0x1b8e50['DOIaz'](_0x4335b4,0x3e8),_0x16cf60=_0x4335b4*0x3e8,_0x47459e=new Date(_0x5a7d96)['toISOString'](),_0x20a50f=new Date(_0x4b7653)['toISOString'](),_0x1b57ea=[_0x1b8e50['aUCTT'],_0x2980df,_0x1b8e50['LnBBl'],_0x2129a2,_0x1b8e50[_0x5dfc8b(0x18e)],_0x47c51d,_0x5dfc8b(0x152),_0x7cd013,_0x1b8e50[_0x5dfc8b(0x1b2)],_0x500f10,_0x1b8e50[_0x5dfc8b(0x248)],String(_0x4d17cb),_0x1b8e50[_0x5dfc8b(0x252)],_0x1b8e50[_0x5dfc8b(0x19d)](_0x36929e,''),'createdAt',_0x47459e,_0x1b8e50['qPGOr'],_0x20a50f,_0x1b8e50[_0x5dfc8b(0x1db)],_0x1b8e50[_0x5dfc8b(0x1bb)](String,_0x16cf60)];_0x3076fe&&_0x1b57ea[_0x5dfc8b(0x1c1)]('idemKey',_0x3076fe);const _0x22fb3f=redisClient['getClient'](),_0x4a6521=await _0x22fb3f[_0x5dfc8b(0x21e)](LUA_RESERVE_NUMBER,0x3,_0x3325f3,_0x567242,_0x3d9f98,_0x459972?'1':'0',_0x1b8e50['nGqly'](String,_0x1efea0),_0x2c0d4c,_0x31bb01,String(_0x16cf60),_0x1b8e50[_0x5dfc8b(0x138)](String,_0x4b7653),String(_0x5a7d96),_0x1fa864,..._0x1b57ea),_0x4f2e08=_0x4a6521[0x0],_0x590537=_0x4a6521[0x1]===0x1,_0x162fc9=_0x4a6521[0x2]||0x0;let _0x4dd106;try{_0x4dd106=this[_0x5dfc8b(0x1e1)]({'format':_0x47c51d,'prefix':_0x7cd013,'datePrefix':_0x36929e,'separator':_0x500f10,'numDigits':_0x4d17cb,'counterInt':_0x4f2e08});}catch(_0x16467a){try{await _0x22fb3f[_0x5dfc8b(0x21e)](LUA_CANCEL_RESERVATION,0x3,_0x31bb01,_0x3d9f98,_0x567242,_0x2c0d4c,_0x1b8e50[_0x5dfc8b(0x1bb)](String,_0x1efea0));}catch(_0x3b12c3){logger['warn']({'event':_0x1b8e50['GkDmn'],'error':_0x3b12c3[_0x5dfc8b(0x1ad)],'resource':_0x2980df,'formatKey':_0x2129a2,'counterInt':_0x4f2e08,'token':_0x2c0d4c},_0x1b8e50['NIIMl']);}throw _0x16467a;}try{await _0x22fb3f[_0x5dfc8b(0x233)](_0x31bb01,'value',_0x4dd106);}catch(_0x291c25){logger['warn']({'event':_0x1b8e50['JccgM'],'error':_0x291c25['message'],'resource':_0x2980df,'formatKey':_0x2129a2,'counterInt':_0x4f2e08,'token':_0x2c0d4c},_0x1b8e50['sdmLL']);}const _0x4149be={'token':_0x2c0d4c,'value':_0x4dd106,'counter':_0x4f2e08,'resource':_0x2980df,'formatKey':_0x2129a2,'isReused':_0x590537,'createdAt':_0x47459e,'expiresAt':_0x20a50f,'reapedCount':_0x162fc9},_0x1ae46a=await this[_0x5dfc8b(0x17f)](_0x19e43f,_0x4149be);if(!_0x1ae46a[_0x5dfc8b(0x182)]){try{await _0x22fb3f['eval'](LUA_CANCEL_RESERVATION,0x3,_0x31bb01,_0x3d9f98,_0x567242,_0x2c0d4c,_0x1b8e50[_0x5dfc8b(0x1d1)](String,_0x1efea0));}catch(_0x535f0e){logger['warn']({'event':_0x1b8e50['QcnDz'],'error':_0x535f0e[_0x5dfc8b(0x1ad)],'resource':_0x2980df,'formatKey':_0x2129a2,'counterInt':_0x4f2e08,'token':_0x2c0d4c},_0x5dfc8b(0x19a));}return logger['info']({'event':'idgen_reserve_idem_loser','resource':_0x2980df,'formatKey':_0x2129a2,'counter':_0x4f2e08,'token':_0x2c0d4c},'ID\x20Generator\x20reserve\x20idem\x20race\x20lost,\x20returning\x20winner\x20envelope'),_0x1ae46a['winnerResult'];}return this['_updateMeta'](_0x2980df,_0x2129a2,{'lastReservedCounter':_0x4f2e08,'lastReservedAt':_0x47459e,'lastReapedCount':_0x162fc9},_0x1efea0),logger[_0x5dfc8b(0x191)]({'event':'idgen_number_reserved','resource':_0x2980df,'formatKey':_0x2129a2,'counter':_0x4f2e08,'isReused':_0x590537,'token':_0x2c0d4c,'ttl':_0x4335b4,'reapedCount':_0x162fc9},_0x5dfc8b(0x1aa)+_0x4dd106+'\x20(token='+_0x2c0d4c+')'),_0x4149be;}async['confirmReservation'](_0x21a1a1){const _0x53498e=a0_0x4d3c47,_0x4664e8={'mmoXj':'IDGEN_DISABLED','gPfRs':'ID\x20Generator\x20is\x20disabled','rotBt':function(_0x46e68f,_0x58ac75,_0x2bda00){return _0x46e68f(_0x58ac75,_0x2bda00);},'WqiMF':_0x53498e(0x17c)};if(!this['enabled'])throw new IdGeneratorError(_0x4664e8['mmoXj'],_0x4664e8[_0x53498e(0x13c)]);const _0x254764=this[_0x53498e(0x162)](_0x21a1a1&&_0x21a1a1[_0x53498e(0x214)]),_0x2c6a5f=this['_validateIdempotencyKey'](_0x21a1a1&&_0x21a1a1['idempotencyKey']);let _0x3b20ce=null;if(_0x2c6a5f){_0x3b20ce=idempotencyManager[_0x53498e(0x19c)]('idgen',_0x53498e(0x202),_0x254764+':'+_0x2c6a5f);const _0x1dd459=await this[_0x53498e(0x240)](_0x3b20ce);if(_0x1dd459)return _0x1dd459;}const _0x1676f3=await this[_0x53498e(0x215)](_0x254764),_0x20a7b1=redisClient['getClient'](),_0x4d31ab=await _0x20a7b1[_0x53498e(0x21e)](LUA_CONFIRM_RESERVATION,0x2,_0x1676f3['rsvKey'],_0x1676f3[_0x53498e(0x18a)],_0x254764);if(!_0x4d31ab||_0x4d31ab[0x0]!==0x1)throw new IdGeneratorError('IDGEN_RESERVATION_NOT_FOUND',_0x53498e(0x224)+_0x254764,{'token':_0x254764});const _0x188813=_0x4664e8[_0x53498e(0x13b)](parseInt,_0x4d31ab[0x1],0xa),_0x306a96=_0x4d31ab[0x2],_0x2e8acc=_0x4d31ab[0x3],_0x1df51b=new Date()[_0x53498e(0x223)](),_0x2bc6a1={'confirmed':!![],'token':_0x254764,'value':_0x306a96,'counter':_0x188813,'resource':_0x1676f3['resource'],'formatKey':_0x2e8acc,'confirmedAt':_0x1df51b};await this['_storeIdemCache'](_0x3b20ce,_0x2bc6a1);const _0x22940f=_0x2e8acc['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x3b7f70=_0x22940f?_0x22940f[0x1]:_0x4664e8[_0x53498e(0x1cd)],_0x41ed70=this['_getCounterTTL'](_0x3b7f70);return this[_0x53498e(0x234)](_0x1676f3[_0x53498e(0x1c2)],_0x2e8acc,{'lastConfirmedCounter':_0x188813,'lastConfirmedAt':_0x1df51b},_0x41ed70),logger['info']({'event':_0x53498e(0x1fd),'resource':_0x1676f3[_0x53498e(0x1c2)],'formatKey':_0x2e8acc,'counter':_0x188813,'token':_0x254764},'ID\x20Generator\x20reservation\x20confirmed:\x20'+_0x306a96+_0x53498e(0x166)+_0x254764+')'),_0x2bc6a1;}async['cancelReservation'](_0x1d7066){const _0x5201df=a0_0x4d3c47,_0x193e62={'gwszS':_0x5201df(0x17e),'tCLEZ':'ID\x20Generator\x20is\x20disabled','svFnj':'text','MJZeC':function(_0x5f1aaa,_0x36ca93){return _0x5f1aaa(_0x36ca93);},'kxqPl':_0x5201df(0x1a1)};if(!this['enabled'])throw new IdGeneratorError(_0x193e62['gwszS'],_0x193e62['tCLEZ']);const _0x46d16d=this[_0x5201df(0x162)](_0x1d7066&&_0x1d7066[_0x5201df(0x214)]),_0x285c87=this['_validateIdempotencyKey'](_0x1d7066&&_0x1d7066['idempotencyKey']);let _0x848411=null;if(_0x285c87){_0x848411=idempotencyManager[_0x5201df(0x19c)](_0x5201df(0x244),'reserve_cancel',_0x46d16d+':'+_0x285c87);const _0x1f61c5=await this[_0x5201df(0x240)](_0x848411);if(_0x1f61c5)return _0x1f61c5;}const _0xbb7b24=await this['_getReservationContext'](_0x46d16d),_0x5b541c=this[_0x5201df(0x127)](_0xbb7b24[_0x5201df(0x1c2)],_0xbb7b24['formatKey']),_0x5d0a31=_0xbb7b24[_0x5201df(0x23b)]['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x3703d5=_0x5d0a31?_0x5d0a31[0x1]:_0x193e62[_0x5201df(0x1b7)],_0xae43f9=this[_0x5201df(0x1c3)](_0x3703d5),_0x5a4ac2=redisClient['getClient'](),_0x2321b9=await _0x5a4ac2[_0x5201df(0x21e)](LUA_CANCEL_RESERVATION,0x3,_0xbb7b24['rsvKey'],_0xbb7b24['rsvIdxKey'],_0x5b541c,_0x46d16d,_0x193e62['MJZeC'](String,_0xae43f9));if(!_0x2321b9||_0x2321b9[0x0]!==0x1)throw new IdGeneratorError('IDGEN_RESERVATION_NOT_FOUND','Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x46d16d,{'token':_0x46d16d});const _0x2cf733=parseInt(_0x2321b9[0x1],0xa),_0x1fa628=_0x2321b9[0x2],_0x5d2a85=_0x2321b9[0x3],_0x4ebfaa=new Date()[_0x5201df(0x223)](),_0x542949={'cancelled':!![],'token':_0x46d16d,'value':_0x1fa628,'counter':_0x2cf733,'resource':_0xbb7b24['resource'],'formatKey':_0x5d2a85,'releasedToReuse':!![],'cancelledAt':_0x4ebfaa};return await this['_storeIdemCache'](_0x848411,_0x542949),this['_updateMeta'](_0xbb7b24['resource'],_0x5d2a85,{'lastCancelledCounter':_0x2cf733,'lastCancelledAt':_0x4ebfaa},_0xae43f9),logger[_0x5201df(0x191)]({'event':_0x193e62[_0x5201df(0x1b0)],'resource':_0xbb7b24[_0x5201df(0x1c2)],'formatKey':_0x5d2a85,'counter':_0x2cf733,'token':_0x46d16d},'ID\x20Generator\x20reservation\x20cancelled:\x20'+_0x1fa628+_0x5201df(0x166)+_0x46d16d+')'),_0x542949;}async['extendReservation'](_0x84adec){const _0x469a94=a0_0x4d3c47,_0x34d576={'ZVFZt':_0x469a94(0x193),'JqTci':'idgen','gNYuv':'reserve_extend','NIxEc':function(_0x4054a5,_0x82e00a){return _0x4054a5+_0x82e00a;},'WpVcB':function(_0x3edbe8,_0x1f61f8){return _0x3edbe8*_0x1f61f8;},'DarPE':function(_0x4f2fce,_0x338e2a){return _0x4f2fce(_0x338e2a);},'URswl':function(_0x2df2f5,_0x5875e3){return _0x2df2f5!==_0x5875e3;}};if(!this['enabled'])throw new IdGeneratorError(_0x469a94(0x17e),_0x34d576['ZVFZt']);const _0x11de0b=this[_0x469a94(0x162)](_0x84adec&&_0x84adec['token']),_0x32a862=this['_validateReserveTTL'](_0x84adec&&_0x84adec[_0x469a94(0x128)]),_0x15a3ca=this['_validateIdempotencyKey'](_0x84adec&&_0x84adec['idempotencyKey']);let _0x2295f7=null;if(_0x15a3ca){_0x2295f7=idempotencyManager['buildDeterministicKey'](_0x34d576['JqTci'],_0x34d576['gNYuv'],_0x11de0b+':'+_0x15a3ca);const _0xa1cf8b=await this['_retrieveIdemCache'](_0x2295f7);if(_0xa1cf8b)return _0xa1cf8b;}const _0x4d7136=await this['_getReservationContext'](_0x11de0b),_0x15103e=Date[_0x469a94(0x16f)](),_0x26d2dc=_0x34d576[_0x469a94(0x179)](_0x15103e,_0x34d576[_0x469a94(0x1f3)](_0x32a862,0x3e8)),_0x9a35f4=_0x34d576[_0x469a94(0x1f3)](_0x32a862,0x3e8),_0x2d559b=new Date(_0x26d2dc)['toISOString'](),_0x3df7c9=redisClient['getClient'](),_0x3aebd0=await _0x3df7c9['eval'](LUA_EXTEND_RESERVATION,0x2,_0x4d7136[_0x469a94(0x175)],_0x4d7136[_0x469a94(0x18a)],_0x11de0b,String(_0x9a35f4),_0x34d576['DarPE'](String,_0x26d2dc),_0x2d559b);if(!_0x3aebd0||_0x34d576[_0x469a94(0x1f9)](_0x3aebd0[0x0],0x1))throw new IdGeneratorError(_0x469a94(0x16a),_0x469a94(0x224)+_0x11de0b,{'token':_0x11de0b});const _0x2a04a8=_0x3aebd0[0x1],_0x1023ad=parseInt(_0x3aebd0[0x2],0xa),_0x18896b=_0x3aebd0[0x3],_0x44887e=_0x3aebd0[0x4],_0x17a716=new Date(_0x15103e)[_0x469a94(0x223)](),_0x4e822c={'extended':!![],'token':_0x11de0b,'previousExpiresAt':_0x2a04a8,'expiresAt':_0x2d559b,'ttlMs':_0x9a35f4,'resource':_0x4d7136['resource'],'formatKey':_0x44887e,'counter':_0x1023ad,'value':_0x18896b,'extendedAt':_0x17a716};await this[_0x469a94(0x143)](_0x2295f7,_0x4e822c);const _0x28427b=_0x44887e['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x5cc23b=_0x28427b?_0x28427b[0x1]:'text',_0x51d66a=this['_getCounterTTL'](_0x5cc23b);return this['_updateMeta'](_0x4d7136['resource'],_0x44887e,{'lastExtendedCounter':_0x1023ad,'lastExtendedAt':_0x17a716},_0x51d66a),logger['info']({'event':'idgen_reservation_extended','resource':_0x4d7136['resource'],'formatKey':_0x44887e,'counter':_0x1023ad,'token':_0x11de0b,'ttl':_0x32a862},_0x469a94(0x22f)+_0x18896b+_0x469a94(0x166)+_0x11de0b+',\x20+'+_0x32a862+'s)'),_0x4e822c;}async['getReservation'](_0x12ef01){const _0x5f449a=a0_0x4d3c47,_0x10c67b={'vMVYc':'IDGEN_DISABLED','kAYAb':function(_0x34df7a,_0x15944d){return _0x34df7a===_0x15944d;},'dUUMG':function(_0x2d5b78,_0x366096,_0x3a20fa){return _0x2d5b78(_0x366096,_0x3a20fa);},'xstBi':_0x5f449a(0x1d4)};if(!this[_0x5f449a(0x137)])throw new IdGeneratorError(_0x10c67b[_0x5f449a(0x1e8)],'ID\x20Generator\x20is\x20disabled');const _0x108086=this[_0x5f449a(0x162)](_0x12ef01&&_0x12ef01[_0x5f449a(0x214)]),_0xca98f=this[_0x5f449a(0x20d)](_0x108086),_0x192a92=redisClient['getClient'](),_0x36b8e7=_0x192a92['pipeline']();_0x36b8e7[_0x5f449a(0x15e)](_0xca98f),_0x36b8e7['pttl'](_0xca98f);const _0x1fbed4=await _0x36b8e7[_0x5f449a(0x131)](),_0x2fd50a=_0x1fbed4&&_0x1fbed4[0x0]&&_0x1fbed4[0x0][0x1],_0x5a8299=_0x1fbed4&&_0x1fbed4[0x1]&&_0x1fbed4[0x1][0x1];if(!_0x2fd50a||_0x10c67b['kAYAb'](Object['keys'](_0x2fd50a)[_0x5f449a(0x1ce)],0x0))throw new IdGeneratorError('IDGEN_RESERVATION_NOT_FOUND',_0x5f449a(0x224)+_0x108086,{'token':_0x108086});return{'token':_0x108086,'resource':_0x2fd50a['resource']||null,'formatKey':_0x2fd50a[_0x5f449a(0x23b)]||null,'format':_0x2fd50a[_0x5f449a(0x183)]||null,'prefix':_0x2fd50a[_0x5f449a(0x152)]||'','separator':_0x2fd50a['separator']||'','numDigits':_0x2fd50a['numDigits']?parseInt(_0x2fd50a['numDigits'],0xa):null,'datePrefix':_0x2fd50a['datePrefix']||'','counter':_0x2fd50a[_0x5f449a(0x1b6)]?_0x10c67b['dUUMG'](parseInt,_0x2fd50a['counter'],0xa):null,'value':_0x2fd50a['value']||null,'isReused':_0x10c67b[_0x5f449a(0x18c)](_0x2fd50a[_0x5f449a(0x1bc)],'1')||_0x10c67b['kAYAb'](_0x2fd50a[_0x5f449a(0x1bc)],0x1),'createdAt':_0x2fd50a['createdAt']||null,'expiresAt':_0x2fd50a[_0x5f449a(0x1ed)]||null,'ttlRemainingMs':typeof _0x5a8299===_0x10c67b[_0x5f449a(0x185)]&&_0x5a8299>=0x0?_0x5a8299:null};}async['_getReservationContext'](_0x59f427){const _0x58a8da=a0_0x4d3c47,_0x88fa2c={'SHhbe':_0x58a8da(0x1c2),'KVMkN':function(_0x565e82,_0xeb7e41){return _0x565e82||_0xeb7e41;},'TEYmj':'IDGEN_RESERVATION_NOT_FOUND'},_0x10aff3=this[_0x58a8da(0x20d)](_0x59f427),_0x495b11=redisClient['getClient'](),_0x5e46fe=await _0x495b11['hmget'](_0x10aff3,_0x88fa2c['SHhbe'],_0x58a8da(0x23b)),_0x51aaf2=_0x5e46fe&&_0x5e46fe[0x0],_0x6a0b5c=_0x5e46fe&&_0x5e46fe[0x1];if(_0x88fa2c[_0x58a8da(0x1af)](!_0x51aaf2,!_0x6a0b5c))throw new IdGeneratorError(_0x88fa2c[_0x58a8da(0x165)],'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x59f427,{'token':_0x59f427});return{'resource':_0x51aaf2,'formatKey':_0x6a0b5c,'rsvKey':_0x10aff3,'rsvIdxKey':this['_buildReservationIndexKey'](_0x51aaf2,_0x6a0b5c)};}async[a0_0x4d3c47(0x1a0)](_0xeb1ace){const _0x20c01d=a0_0x4d3c47,_0x56ad9e={'QktkX':'random','EiJAB':function(_0x336b1f,_0x18e5ba){return _0x336b1f===_0x18e5ba;},'DcjwU':function(_0x1c7304,_0x13c10d){return _0x1c7304+_0x13c10d;},'Uabrh':function(_0x4e127b,_0x16ac46){return _0x4e127b*_0x16ac46;},'aGFnx':function(_0x4562ba,_0x5bd1ef){return _0x4562ba||_0x5bd1ef;}};if(!this[_0x20c01d(0x137)])throw new IdGeneratorError(_0x20c01d(0x17e),_0x20c01d(0x193));this['_validateResource'](_0xeb1ace['resource']),this['_validatePattern'](_0xeb1ace['pattern']);const _0x26b42b=this[_0x20c01d(0x1a7)](_0xeb1ace['ttl']),_0x691534=this['_validateMaxRetry'](_0xeb1ace[_0x20c01d(0x1ea)]),_0x41177c=this['_validateIdempotencyKey'](_0xeb1ace['idempotencyKey']),_0x569590=_0xeb1ace['ensureUnique']===!![],{resource:_0x408c9b,pattern:_0x2fa716}=_0xeb1ace;let _0x4371c9=null;if(_0x41177c){_0x4371c9=this['_buildIdemKey'](_0x56ad9e[_0x20c01d(0x1fb)],_0x408c9b,null,_0x41177c);const _0x3cc876=await this['_retrieveIdemCache'](_0x4371c9);if(_0x3cc876)return _0x3cc876;}const _0x2cf043=redisClient[_0x20c01d(0x156)]();let _0x2fecd8=null,_0x4d7ee0=0x0;if(!_0x569590)_0x2fecd8=this[_0x20c01d(0x1d6)](_0x2fa716),_0x4d7ee0=0x1;else{for(let _0x510dc1=0x0;_0x510dc1<_0x691534;_0x510dc1++){_0x4d7ee0++;const _0x5ef122=this['_generateFromPattern'](_0x2fa716);if(_0x26b42b){const _0xadec6b=this['_buildActiveKey'](_0x408c9b,_0x5ef122),_0x58dabb=await _0x2cf043['set'](_0xadec6b,'1','EX',_0x26b42b,'NX');if(_0x56ad9e['EiJAB'](_0x58dabb,'OK')){_0x2fecd8=_0x5ef122;break;}}else{const _0x5bd225=this[_0x20c01d(0x12a)](_0x408c9b),_0x18078b=await _0x2cf043[_0x20c01d(0x1ec)](_0x5bd225,_0x5ef122);if(_0x56ad9e['EiJAB'](_0x18078b,0x1)){_0x2fecd8=_0x5ef122;break;}}}if(_0x56ad9e[_0x20c01d(0x12b)](_0x2fecd8,null))throw new IdGeneratorError(_0x20c01d(0x1a3),_0x20c01d(0x207)+_0x691534+_0x20c01d(0x204),{'resource':_0x408c9b,'pattern':_0x2fa716,'maxRetry':_0x691534});}const _0x5961ca={'value':_0x2fecd8,'resource':_0x408c9b,'pattern':_0x2fa716,'attemptCount':_0x4d7ee0,'generatedAt':new Date()['toISOString']()};_0x26b42b&&_0x569590&&(_0x5961ca['expiresAt']=new Date(_0x56ad9e[_0x20c01d(0x149)](Date[_0x20c01d(0x16f)](),_0x56ad9e['Uabrh'](_0x26b42b,0x3e8)))['toISOString']());const _0x41c464=await this[_0x20c01d(0x17f)](_0x4371c9,_0x5961ca);if(!_0x41c464[_0x20c01d(0x182)])return _0x569590&&await this[_0x20c01d(0x1d9)](_0x408c9b,_0x2fecd8,_0x26b42b),logger[_0x20c01d(0x191)]({'event':_0x20c01d(0x222),'resource':_0x408c9b,'pattern':_0x2fa716,'value':_0x2fecd8},_0x20c01d(0x13e)),_0x41c464['winnerResult'];return logger[_0x20c01d(0x191)]({'event':'idgen_random_generated','resource':_0x408c9b,'pattern':_0x2fa716,'attemptCount':_0x4d7ee0,'ensureUnique':_0x569590,'ttl':_0x56ad9e['aGFnx'](_0x26b42b,0x0)},'ID\x20Generator\x20random:\x20'+_0x2fecd8),_0x5961ca;}async[a0_0x4d3c47(0x1fc)](_0x2630e8){const _0x19f5e1=a0_0x4d3c47,_0x3d14ff={'thWSq':function(_0x388ef1,_0x21f9e1){return _0x388ef1==_0x21f9e1;},'uCaEL':function(_0xcb3ac2,_0x610e55){return _0xcb3ac2<_0x610e55;},'kSWFy':function(_0x1132f8,_0x14a92e){return _0x1132f8>_0x14a92e;},'udDIJ':'IDGEN_INVALID_DIGITS'},_0x1bd1bc=_0x3d14ff[_0x19f5e1(0x236)](_0x2630e8[_0x19f5e1(0x188)],null)?this['defaultPinDigits']:_0x2630e8['digits'];if(!Number[_0x19f5e1(0x14f)](_0x1bd1bc)||_0x3d14ff[_0x19f5e1(0x14d)](_0x1bd1bc,MIN_PIN_DIGITS)||_0x3d14ff[_0x19f5e1(0x210)](_0x1bd1bc,MAX_PIN_DIGITS))throw new IdGeneratorError(_0x3d14ff['udDIJ'],_0x19f5e1(0x220)+MIN_PIN_DIGITS+'-'+MAX_PIN_DIGITS+'\x20(got:\x20'+_0x1bd1bc+')');const _0x3fa9b7='9'[_0x19f5e1(0x201)](_0x1bd1bc);return this['random']({'resource':_0x2630e8['resource'],'pattern':_0x3fa9b7,'ensureUnique':_0x2630e8['ensureUnique']===!![],'ttl':_0x2630e8[_0x19f5e1(0x128)],'maxRetry':_0x2630e8[_0x19f5e1(0x1ea)],'idempotencyKey':_0x2630e8[_0x19f5e1(0x218)]});}async['serial'](_0x573bf6){const _0xb6b3a1=a0_0x4d3c47,_0x3af6fc={'hqsXR':function(_0x37ef78,_0x27efce){return _0x37ef78!==_0x27efce;}},_0x56a167=_0x573bf6['pattern']||this[_0xb6b3a1(0x1e9)];return this[_0xb6b3a1(0x1a0)]({'resource':_0x573bf6[_0xb6b3a1(0x1c2)],'pattern':_0x56a167,'ensureUnique':_0x3af6fc['hqsXR'](_0x573bf6['ensureUnique'],![]),'ttl':_0x573bf6['ttl'],'maxRetry':_0x573bf6[_0xb6b3a1(0x1ea)],'idempotencyKey':_0x573bf6[_0xb6b3a1(0x218)]});}async['code'](_0x21c220){const _0x361b2d=a0_0x4d3c47,_0x2155dd=_0x21c220[_0x361b2d(0x18b)]||this['defaultCodePattern'];return this['random']({'resource':_0x21c220[_0x361b2d(0x1c2)],'pattern':_0x2155dd,'ensureUnique':_0x21c220[_0x361b2d(0x157)]!==![],'ttl':_0x21c220['ttl'],'maxRetry':_0x21c220['maxRetry'],'idempotencyKey':_0x21c220['idempotencyKey']});}async[a0_0x4d3c47(0x19f)](_0x24a00c){const _0xcfc9e2=a0_0x4d3c47,_0x1e98ce={'ZjRjc':'IDGEN_INVALID_NUMBER','kvNtg':'value\x20is\x20required','klZZx':'idgen_consumed'};if(!this[_0xcfc9e2(0x137)])throw new IdGeneratorError(_0xcfc9e2(0x17e),_0xcfc9e2(0x193));this[_0xcfc9e2(0x241)](_0x24a00c[_0xcfc9e2(0x1c2)]);if(typeof _0x24a00c[_0xcfc9e2(0x1b5)]!=='string'||_0x24a00c['value'][_0xcfc9e2(0x1ce)]===0x0)throw new IdGeneratorError(_0x1e98ce['ZjRjc'],_0x1e98ce[_0xcfc9e2(0x231)]);const {resource:_0x531c55,value:_0x1e903b}=_0x24a00c,_0x3061dd=redisClient[_0xcfc9e2(0x156)](),_0x2ddc62=this['_buildActiveKey'](_0x531c55,_0x1e903b),_0x1150c9=this['_buildIssuedKey'](_0x531c55),[_0x123d6d,_0x2104fa]=await Promise['all']([_0x3061dd['del'](_0x2ddc62),_0x3061dd[_0xcfc9e2(0x219)](_0x1150c9,_0x1e903b)]),_0xc0cecb=_0x123d6d+_0x2104fa>0x0;return logger['info']({'event':_0x1e98ce['klZZx'],'resource':_0x531c55,'value':_0x1e903b,'consumed':_0xc0cecb},_0xcfc9e2(0x242)+_0x1e903b),{'consumed':_0xc0cecb,'resource':_0x531c55,'value':_0x1e903b,'consumedAt':new Date()[_0xcfc9e2(0x223)]()};}async[a0_0x4d3c47(0x1f2)](_0x4400d3){const _0x43b6c8=a0_0x4d3c47,_0x170237={'qDnKS':function(_0x1222b8,_0x491393){return _0x1222b8===_0x491393;},'bSjfy':'IDGEN_INVALID_FORMAT','RhMIF':function(_0x3a9854,_0x3dee39,_0x213319){return _0x3a9854(_0x3dee39,_0x213319);},'emZMr':function(_0x32cf76,_0x36e74f){return _0x32cf76||_0x36e74f;}};if(!this['enabled'])throw new IdGeneratorError('IDGEN_DISABLED','ID\x20Generator\x20is\x20disabled');this['_validateResource'](_0x4400d3['resource']);const _0x277617=_0x4400d3['mode']||_0x43b6c8(0x1d4),_0x18c41e=redisClient['getClient']();if(_0x170237['qDnKS'](_0x277617,_0x43b6c8(0x1d4))){const _0x22281c=(_0x4400d3[_0x43b6c8(0x183)]||_0x43b6c8(0x17c))[_0x43b6c8(0x23d)]();if(!ALLOWED_FORMATS['has'](_0x22281c))throw new IdGeneratorError(_0x170237[_0x43b6c8(0x1eb)],_0x43b6c8(0x198)+_0x4400d3[_0x43b6c8(0x183)]);const {formatKey:_0x296ce3}=this[_0x43b6c8(0x146)](_0x22281c,_0x4400d3['prefix']||''),_0x6a631=this[_0x43b6c8(0x1df)](_0x4400d3['resource'],_0x296ce3),_0x26aa17=this['_buildReuseKey'](_0x4400d3[_0x43b6c8(0x1c2)],_0x296ce3),[_0x39a929,_0x19a44e]=await Promise['all']([_0x18c41e['get'](_0x6a631),_0x18c41e[_0x43b6c8(0x1da)](_0x26aa17)]);return{'resource':_0x4400d3['resource'],'mode':_0x43b6c8(0x1d4),'formatKey':_0x296ce3,'currentCounter':_0x170237[_0x43b6c8(0x213)](parseInt,_0x39a929,0xa)||0x0,'reusePoolSize':_0x19a44e||0x0};}if(_0x170237[_0x43b6c8(0x1d5)](_0x277617,'random')){const _0xf119a9=this[_0x43b6c8(0x12a)](_0x4400d3[_0x43b6c8(0x1c2)]),_0x9301df=await _0x18c41e[_0x43b6c8(0x1c7)](_0xf119a9);return{'resource':_0x4400d3['resource'],'mode':_0x43b6c8(0x1a0),'issuedCount':_0x170237[_0x43b6c8(0x161)](_0x9301df,0x0)};}throw new IdGeneratorError(_0x43b6c8(0x1f0),_0x43b6c8(0x174)+_0x277617);}async[a0_0x4d3c47(0x147)](_0x1419a1){const _0x184549=a0_0x4d3c47,_0x3d1fc2={'lWOGx':_0x184549(0x1d4)},_0x4a1957=await this[_0x184549(0x1f2)](_0x1419a1);if(_0x4a1957['mode']===_0x3d1fc2['lWOGx']){const _0x57c2c8=redisClient['getClient'](),_0x8439=this[_0x184549(0x169)](_0x1419a1[_0x184549(0x1c2)],_0x4a1957[_0x184549(0x23b)]),_0x3b953e=this['_buildReuseKey'](_0x1419a1[_0x184549(0x1c2)],_0x4a1957['formatKey']),[_0x4e6dbd,_0x306ee4]=await Promise['all']([_0x57c2c8[_0x184549(0x15e)](_0x8439),_0x57c2c8[_0x184549(0x13d)](_0x3b953e,0x0,-0x1)]);return{..._0x4a1957,'reusePoolValues':_0x306ee4[_0x184549(0x1f6)](_0x1afe0f=>parseInt(_0x1afe0f,0xa)),'meta':_0x4e6dbd&&Object[_0x184549(0x170)](_0x4e6dbd)['length']>0x0?_0x4e6dbd:null};}return _0x4a1957;}async['reset'](_0x1b7d18){const _0x5b2b9b=a0_0x4d3c47,_0x47678a={'kazuP':_0x5b2b9b(0x17e),'CeFBE':'IDGEN_RESET_NOT_ALLOWED','ZWYTp':_0x5b2b9b(0x1dc),'JwSck':_0x5b2b9b(0x1d4),'eJfCt':_0x5b2b9b(0x17c),'revdz':_0x5b2b9b(0x243),'krxBv':_0x5b2b9b(0x20b),'HZBBf':'meta','wxecx':function(_0x31ab1a,_0x1929c4){return _0x31ab1a===_0x1929c4;},'dhMIY':'issued','ItdXk':_0x5b2b9b(0x1f0)};if(!this['enabled'])throw new IdGeneratorError(_0x47678a[_0x5b2b9b(0x181)],_0x5b2b9b(0x193));if(!this['allowReset'])throw new IdGeneratorError(_0x47678a[_0x5b2b9b(0x22c)],_0x47678a['ZWYTp']);this[_0x5b2b9b(0x241)](_0x1b7d18['resource']);const _0x4061c4=_0x1b7d18['mode']||'number',_0x4eb215=redisClient['getClient']();if(_0x4061c4===_0x47678a[_0x5b2b9b(0x1de)]){const _0x427236=(_0x1b7d18[_0x5b2b9b(0x183)]||_0x47678a[_0x5b2b9b(0x197)])[_0x5b2b9b(0x23d)]();if(!ALLOWED_FORMATS['has'](_0x427236))throw new IdGeneratorError(_0x47678a['revdz'],'Invalid\x20format:\x20'+_0x1b7d18[_0x5b2b9b(0x183)]);const {formatKey:_0x491c65}=this[_0x5b2b9b(0x146)](_0x427236,_0x1b7d18[_0x5b2b9b(0x152)]||''),_0x85e55b=this['_buildSeqKey'](_0x1b7d18['resource'],_0x491c65),_0x38f010=this['_buildReuseKey'](_0x1b7d18['resource'],_0x491c65),_0x29b8ad=this['_buildMetaKey'](_0x1b7d18['resource'],_0x491c65);return await _0x4eb215[_0x5b2b9b(0x250)](_0x85e55b,_0x38f010,_0x29b8ad),logger[_0x5b2b9b(0x1b4)]({'event':_0x47678a['krxBv'],'resource':_0x1b7d18[_0x5b2b9b(0x1c2)],'mode':_0x47678a[_0x5b2b9b(0x1de)],'formatKey':_0x491c65},'ID\x20Generator\x20reset:\x20'+_0x1b7d18[_0x5b2b9b(0x1c2)]+':'+_0x491c65),{'reset':!![],'resource':_0x1b7d18['resource'],'mode':_0x47678a['JwSck'],'formatKey':_0x491c65,'deletedKeys':['seq',_0x5b2b9b(0x164),_0x47678a[_0x5b2b9b(0x160)]]};}if(_0x47678a['wxecx'](_0x4061c4,_0x5b2b9b(0x1a0))){const _0x497942=this['_buildIssuedKey'](_0x1b7d18[_0x5b2b9b(0x1c2)]);return await _0x4eb215['del'](_0x497942),logger['warn']({'event':'idgen_reset','resource':_0x1b7d18['resource'],'mode':_0x5b2b9b(0x1a0)},_0x5b2b9b(0x21d)+_0x1b7d18['resource']),{'reset':!![],'resource':_0x1b7d18['resource'],'mode':_0x5b2b9b(0x1a0),'deletedKeys':[_0x47678a[_0x5b2b9b(0x1ba)]]};}throw new IdGeneratorError(_0x47678a[_0x5b2b9b(0x238)],'Unknown\x20mode:\x20'+_0x4061c4);}}const instance=new IdGenerator();instance['IdGeneratorError']=IdGeneratorError,module[a0_0x4d3c47(0x189)]=instance,module['exports']['IdGeneratorError']=IdGeneratorError;function a0_0x47cb(){const _0x434447=['A2f6Dva','C3rVCMvK','zM9YBwf0','CMy6AwrNzw46','Ehn0qMK','y3LiCKq','ihnLy29UzhmGkgDVDdOG','zgLNAxrZ','zxHWB3j0CW','CNn2swr4s2v5','Cgf0DgvYBG','A0fzqwi','AM9PBG','txrWsvi','Eu9Pvg4','surhru5Frevgqvvmvf9trvjjquXFuefuvevstG','Aw5MBW','surhru5Fsu5wquXjrf9srvnpvvjdrq','suqGr2vUzxjHDg9YigLZigrPC2fIBgvK','t3vXv3y','ignOyxjZicHNB3qGBgvUz3rOoIa','cMXVy2fSihvUCgSGpsb1BNbHy2SGB3iGDgfIBguUDw5WywnRcGOTlsbtDgvWide6igXHENKGCMvHCcbLEhbPCMvKihjLC2vYDMf0Aw9UCYaOy2fWifjfu0vsvKvFuKvbuf9cqvrdscKkBg9JywWGCMvHCgvKid0GmaPSB2nHBcbUB3DnCYa9iefsr1zBn10kBg9JywWGCNn2uhjLzML4id0GqvjhvLS4xqPSB2nHBcbLEhbPCMvKid0GCMvKAxmUy2fSBcGNwLjbtKDfqLLtq09srsCSieTfwvnBm10SicCTAw5MjYWGjYGNic4Uig5VD01ZlcaNteLnsvqNlcaWlca2ncKkzM9YigKGpsaXlcaJzxHWAxjLzcbKBWOGigXVy2fSigv4CfrVA2vUid0GzxHWAxjLzfTPxqOGigXVy2fSigv4CfjZDKTLEsa9ihjZDLbYzwzPEcaUlIbLEhbuB2TLBGOGigXVy2fSigv4CenVDw50zxiGpsbYzwrPCY5JywXSkcDir0vujYWGzxHWuNn2s2v5lcaNy291BNrLCICPcIaGAwyGzxHWq291BNrLCIb0AgvUcIaGicbYzwrPCY5JywXSkcDAqurejYWGs0vzu1SYxsWGzxHWq291BNrLCIWGzxHWq291BNrLCIKkicbLBMqkicbYzwrPCY5JywXSkcDeruWNlcbLEhbsC3zlzxKPcIaGCMvKAxmUy2fSBcGNwLjftsCSieTfwvnBm10Sigv4CfrVA2vUkqOGihjLyxbLzca9ihjLyxbLzcaRidekzw5KcGOTlsbtDgvWidi6igfSBg9JyxrLignVDw50zxiGkfPqt1bnsu4GCMv1C2uGyxrHDsbjtKnsihnLCsKkBg9JywWGy291BNrLCKLUDaPSB2nHBcbPC1jLDxnLzca9idakAwyGqvjhvLSXxsa9psaNmsCGDgHLBGOGigXVy2fSihiGpsbYzwrPCY5JywXSkcDAue9qtuLojYWGs0vzu1SYxsWGmsKkicbPzIaJCIa+idaGDgHLBGOGicaGy291BNrLCKLUDca9ihrVBNvTyMvYkhjBmv0PcIaGicbPC1jLDxnLzca9idekicbLBMqkzw5KcMLMig5VDcbJB3vUDgvYsw50ihrOzw4kicbJB3vUDgvYsw50id0GCMvKAxmUy2fSBcGNsu5duICSieTfwvnBmv0PcIaGBg9JywWGy3r0Bca9ihrVBNvTyMvYkefsr1zBmL0PcIaGAwyGy3r0Bca+idaGyw5KignVDw50zxjjBNqGpt0Gmsb0AgvUcIaGicbYzwrPCY5JywXSkcDfwfbjuKuNlcblrvLtwZfDlcbJDhrSkqOGigvUzaPLBMqkcI0Tifn0zxaGmZOGD3jPDguGCMvZzxj2yxrPB24GAgfZAcaRigLUzgv4icSGvfrmcMXVy2fSihjZDKTLEsa9iefsr1zBnf0kBg9JywWGCNn2vhrStxmGpsb0B251BwjLCIHbuKDwwZvDkqPSB2nHBcbLEhbPCMvZqxrnCYa9ihrVBNvTyMvYkefsr1zBnL0PcMXVy2fSig5HCMDZid0Gi0fsr1ykBg9JywWGzMLLBgrZid0GE30kzM9YigKGpsa5lcbUyxjNCYbKBWOGigzPzwXKC1SJzMLLBgrZicSGmv0GpsbbuKDww2LDcMvUzaPYzwrPCY5JywXSkcDiu0vujYWGCNn2s2v5lcaNy291BNrLCICSignVDw50zxjjBNqSicDPC1jLDxnLzcCSigLZuMv1C2vKlcb1BNbRkgzPzwXKCYKPcNjLzgLZlMnHBgWOj1bfwfbjuKuNlcbYC3zlzxKSihjZDLr0Be1ZkqPYzwrPCY5JywXSkcDAqurejYWGs0vzu1SZxsWGzxHWAxjLC0f0txmSiefsr1zBm10PcNjLzgLZlMnHBgWOj0vyueLsrsCSieTfwvnBm10Sig1HDgGUzMXVB3iOCNn2vhrStxmGlYaXmdaWksaRidyWkqOkCMv0DxjUihSGy291BNrLCKLUDcWGAxnszxvZzwqSihjLyxbLzcb9cG','zuPMq3q','sw52ywXPzcbMB3jTyxq6ia','x3bHCNnLtNvTyMvY','rMfPBgvKihrVignHBMnLBcbYzxnLCNzHDgLVBIbMB3iGAwrLBxbVDgvUy3KGBg9Zzxi','swrhzw5LCMf0B3jfCNjVCG','yNvPBgrezxrLCM1PBMLZDgLJs2v5','q3Dry1O','mdeYmZq1nJC4owfIy2rLzG','y29UC3vTzq','CMfUzg9T','AwrNzw5FCMvZzxj2yxrPB25Fy2fUy2vSBgvK','xLXKEW','surhru5Fvu5juvvfx1jfvfjzx0vysefvu1rfra','twv0ysb1CgrHDguGzxjYB3i','surhru5Frevgqvvmvf9qsu5FreLhsvrt','zgv0ywLSCW','x3zHBgLKyxrLvfrm','AwrNzw5FCMvZzxj2zv9PzgvTx2XVC2vYx2nHBMnLBf9LCNjVCG','qujdrevgr0HjsKTmtu5puffsu1rvvLDywvO','suqGr2vUzxjHDg9Yig51BwjLCIbYzxnLCNzLzdOG','x2LUAxrdB25MAwC','AwrNzw5FBNvTyMvYx3jLBgvHC2vK','BwvZC2fNzq','sw52ywXPzcbUDw1eAwDPDhm6ig11C3qGyMuGAw50zwDLCIa','s1znA04','A3HXugW','surhru5Frevgqvvmvf9dt0rfx1bbvfrfuK4','AvPhr1C','x2vUywjSzwq','D2fYBG','DMfSDwu','y291BNrLCG','C3zgBMO','yM9VBgvHBG','BeDRBgC','zgHnsvK','r2HStNu','AxnszxvZzwq','AwrLBvruta','C3rYAw5NAwz5','AwrNzw5FCMvZzxj2zv9VDMvYzMXVD19JB21Wzw5ZyxrPB25FzxjYB3i','y291BNrLCKLUDa','ChvZAa','CMvZB3vYy2u','x2DLDenVDw50zxjuveW','DfbvCxy','cMLMihjLzgLZlMnHBgWOj0vysvnuuYCSieTfwvnBmv0Pid09idaGDgHLBGOGihjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqOGihjLDhvYBIb7idaGFqPLBMqkBg9JywWGAca9ihjLzgLZlMnHBgWOj0Hnr0vujYWGs0vzu1SXxsWGj2nVDw50zxiNlcaNDMfSDwuNlcaNzM9YBwf0s2v5jYKkBg9JywWGy291BNrLCIa9igHBmv0kAwyGy291BNrLCIb0AgvUcIaGCMvKAxmUy2fSBcGNwKfercCSieTfwvnBm10SignVDw50zxiSignVDw50zxiPcIaGBg9JywWGDhrSid0GDg9UDw1IzxiOqvjhvLSYxsKkicbPzIb0DgWGpIaWihrOzw4kicaGihjLzgLZlMnHBgWOj0vyueLsrsCSieTfwvnBm10Sihr0BcKkicbLBMqkzw5KcNjLzgLZlMnHBgWOj0rftcCSieTfwvnBmv0PcNjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqPYzxr1CM4GEYaXlcbJB3vUDgvYlcbOwZjDlcbOwZnDih0k','rMfPBgvKihrVihbLCNnPC3qGzM9YBwf0DgvKihzHBhvLihrVihjLC2vYDMf0Aw9UigHHC2G','C2nHCMq','CgfYC2u','x3zHBgLKyxrLswrLBxbVDgvUy3LlzxK','mdeYmZq1nJC4oq','zg1jAvu','tNvTyMvYignVDw50zxiGCgfYDcbTDxn0igjLigv4ywn0BhKG','v3fPtuy','BgvUz3rO','x3bHzdi','CMfUzg9Tvvvjra','BKDXBhK','AwrNzw5FBNvTyMvYx2LKzw1FBg9Zzxi','EvrUBxm','BNvTyMvY','CurUs1m','x2DLBMvYyxrLrNjVBvbHDhrLCM4','zgvMyxvSDenVzgvqyxr0zxjU','sw52ywXPzcbYzxvZzurLBgv0ztOGBxvZDcbIzsbIB29SzwfUicHNB3q6ia','x3vUzg9syw5KB21szxnLCNzHDgLVBG','EMnHCMq','tM1srhK','uMvZzxqGB3bLCMf0Aw9Uig5VDcbHBgXVD2vKicHZzxqGsurhru5FquXmt1DFuKvtrvq9Dhj1zsb0BYbLBMfIBguP','CKTlBeu','sNDty2S','x2j1AwXKu2vXs2v5','surhru5Fsu5wquXjrf9nqvHFuKvuuLK','x2zVCM1HDe51BwjLCG','AwrNzw5FCMfUzg9Tx3vUzg9FzxjYB3i','sM9Rruq','tKnezeC','zgvMyxvSDfbPBKrPz2L0CW','x2rLzMf1BhrdB2rLugf0DgvYBG','BwHgqLu','DK1wwwm','zgvMyxvSDfnLCMLHBfbHDhrLCM4','Bwf4uMv0CNK','yLnQzNK','C2fKza','zxHWAxjLC0f0','DgvZDa','ExL5Ew1Tzgq','surhru5Fsu5wquXjrf9nt0rf','surhru5Fru5bqKXfra','CgvLAW','v3bwy0i','mti4nZC4zfjADMvY','tKvRwhq','BwfW','owDAAvfpDW','mtiXndG3mM9gD2j0za','vvjZD2W','cMLMiefsr1zBmv0Gpt0GjZeNihrOzw4kicbSB2nHBcbYzxvZzwqGpsbYzwrPCY5JywXSkcDAue9qtuLojYWGs0vzu1SYxsWGmsKkicbPzIaJCMv1C2vKid4Gmcb0AgvUcIaGicbYzxr1CM4GE3rVBNvTyMvYkhjLDxnLzfSXxsKSidf9cIaGzw5KcMvUzaPSB2nHBcbUid0GCMvKAxmUy2fSBcGNsu5duICSieTfwvnBmv0PcMXVy2fSihr0Bca9ihrVBNvTyMvYkefsr1zBmL0PcMLMihr0Bca+idaGyw5Kig4Gpt0Gmsb0AgvUcIaGCMvKAxmUy2fSBcGNrvHqsvjfjYWGs0vzu1SXxsWGDhrSkqPLBMqkCMv0DxjUihTUlcaWFqO','uwT0A1G','CgLU','AwrNzw5FCMvZzxj2yxrPB25Fy29UzMLYBwvK','ExL5Eq','x2TLEvbYzwzPEa','surhru5Fsu5wquXjrf9ovu1crvi','CMvWzwf0','CMvZzxj2zv9JB25MAxjT','A0jtt0y','igf0DgvTChrZlIbjBMnYzwfZzsbWyxr0zxjUigXLBMD0AcbVCIbTyxHszxrYEs4','nZC3q2DUD1fc','y291BNrLCKLUDcbTDxn0igjLihbVC2L0AxzLigLUDgvNzxiGkgDVDdOG','q291BgqGBM90igDLBMvYyxrLihvUAxf1zsb2ywX1zsbHzNrLCIa','lI9PzgvTCg90zw5JEs1Tyw5Hz2vY','q291BNrLCIbVDMvYzMXVDZOG','x2j1AwXKuMvZzxj2yxrPB25lzxLqCMvMAxG','AwrNzw5FCMvZzxq','q2PyC3m','x2j1AwXKuMvZzxj2yxrPB25lzxK','wfHywc1ywfHylvHywfGTwfHywa','z2v0','A1nxrNK','zM9YBwf0s2v5igLZihjLCxvPCMvKigLUigXVDY1SzxzLBcbYzwXLyxnL','sw52ywXPzcbYzxnLCNzHDgLVBIb0DgW6ig11C3qGyMuGAw50zwDLCIa','uMHnsuy','Dg9Rzw4','x2DLDfjLC2vYDMf0Aw9Uq29UDgv4Da','zgvMyxvSDe1HEfjLDhj5','sw52ywXPzcbTyxHszxrYEtOGBxvZDcbIzsbPBNrLz2vYideT','AwrLBxbVDgvUy3LlzxK','C3jLBq','DhrStxm','otryvM5Zq0m','tNvTyMvYigrVzxmGBM90ig1HDgnOigv4CgvJDgvKigzVCM1HDcaOz290oIa','suqGr2vUzxjHDg9YihjLC2v0oIbYyw5KB206','zxzHBa','tNvTyMvYigrVzxmGBM90ig1HDgnOigv4CgvJDgvKihrLEhqGzM9YBwf0icHNB3q6ia','sw52ywXPzcbKAwDPDhm6ig11C3qGyMuGAw50zwDLCIa','D2jqs1C','AwrNzw5FCMfUzg9Tx2LKzw1FBg9Zzxi','Dg9ju09tDhjPBMC','uMvZzxj2yxrPB24GBM90igzVDw5Kig9YigfSCMvHzhKGy29UC3vTzwq6ia','AwrNzw5FAwrLBv9SB3nLCL9YzwXLyxnLx2vYCM9Y','zgLpD0q','t1brsha','CMDxvui','otK5os05otK5','zKPRwfa','z2v0rNvSBfLLyxi','q2vgqKu','s0HVyNa','ignOyxjZ','suqGr2vUzxjHDg9YihjLC2vYDMf0Aw9Uigv4DgvUzgvKoIa','CNn2oG','A3zoDgC','C2vWyxjHDg9Y','AhnLDa','x3vWzgf0zu1LDge','v05uAwO','DgHxu3e','DfPutfe','sxrKwgS','cMLMihjLzgLZlMnHBgWOj0vysvnuuYCSieTfwvnBmv0Pid09idaGDgHLBGOGihjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqOGihjLDhvYBIb7idaGFqPLBMqkBg9JywWGAca9ihjLzgLZlMnHBgWOj0Hnr0vujYWGs0vzu1SXxsWGj2nVDw50zxiNlcaNDMfSDwuNlcaNzM9YBwf0s2v5jYWGj2LZuMv1C2vKjYWGj2nYzwf0zwrbDcCSicDLEhbPCMvZqxqNkqPYzwrPCY5JywXSkcDeruWNlcblrvLtwZfDkqPYzwrPCY5JywXSkcDAuKvnjYWGs0vzu1SYxsWGqvjhvLSXxsKkCMv0DxjUihSGmsWGAfSXxsWGAfSYxsWGAfSZxsWGAfS0xsWGAfS1xsWGAfS2xsb9cG','x2LKzw1uveW','zM9YBwf0s2v5','x2fSBg93uMvZzxq','Dg9mB3DLCKnHC2u','x3rLEhq','svv6yLG','x3jLDhjPzxzLswrLBunHy2HL','x3zHBgLKyxrLuMvZB3vYy2u','suqGr2vUzxjHDg9YignVBNn1BwvKoIa','surhru5Fsu5wquXjrf9gt1jnqvq','AwrNzw4','x2nVDw50zxjuveXnyxa','veTgs0m','uuX0z2G','vgz0qM8','BMTuvKy','lI9SB2DNzxi','AwrNzw5Fy29UzMLNx2LUAxq','AwrNzw5FAwrLBv9ZDg9Yzv9LCNjVCG','x2rLzMf1BhrtzxjPywXqyxr0zxjU','sw52ywXPzcbYzxnVDxjJztOGBxvZDcbTyxrJAca','zw52','zgvS','sw52ywXPzcb0DgW6ig11C3qGyMuGAw50zwDLCIaXlq','runrBeu','x2LUAxrPywXPEMvK','qLPqAhy','x2j1AwXKuMv1C2vlzxK','DhrS','uMfUzg9TihjLC2vYDMf0Aw9UihvUzg8GzxjYB3iGkg9YCgHHBIbZBg90ig1HEsbYzw1HAw4P','x2j1AwXKsxnZDwvKs2v5','rwLkqui','lcbNB3qG','DNvZthO','C2vXoG','CMvZzxj2zq','u0vuie5yigzHAwXLzcbIDxqGy2fJAguGr0vuihjLDhvYBMvKigvTChr5iokaLcbMywXSAw5NigjHy2SGDg8GB3DUihjLC3vSDa','zxHLyW','Bwfnt2K','A1nYwKm','AwrNzw5FCMvZzxj2zv92ywX1zv9WzxjZAxn0x2vYCM9Y','y3HUsKq','mty4ntyWDxv3uuvl','zw5HyMXLza','vKvAs2W','mZa1mJu2zhPiAwTv','AxnfBMfIBgvK','CM90qNq','z1bMuNm','ENjHBMDL','suqGr2vUzxjHDg9YihjHBMrVBsbPzgvTihjHy2uGBg9ZDcWGCMv0DxjUAw5NihDPBM5LCIbLBNzLBg9Wzq','ywjJzgvMz2HPAMTSBw5VChfYC3r1DND4ExO','icHNB3q6ia','rMfPBgvKihrVignVBxbLBNnHDguGCMvZzxj2yxrPB24Gywz0zxiGy291BNrLCIbVDMvYzMXVDW','BNvTrgLNAxrZ','x3n0B3jLswrLBunHy2HL','x2j1AwXKuMvZzxj2yxrPB25jBMrLEeTLEq','x3zHBgLKyxrLtNvTyMvYugfYyw1Z','x2j1AwXKrM9YBwf0s2v5','z2v0sw5MBW','mZb2s2vPAeG','rgnQD1u','tNvTyMvYigrHDgvqCMvMAxGGAw52ywXPzcbMB3iGzM9YBwf0ia','CMvZzxj2zu1HEfruta','C3rYAw5N','DunHruW','ntm5ndaYmgfHC0XXwa','AxnjBNrLz2vY','lwrPz2L0ignHCgfJAxr5icG','swrLBxbVDgvUy3KGC3rVCMuGzxjYB3i','ChjLzML4','z2vUzxjHDgvKqxq','BKX1Cwy','x3jLC2vYDMvezwzHDwX0vfrm','z2v0q2XPzw50','zw5ZDxjLvw5PCxvL','x2j1AwXKswrLBuTLEq','A2v5uhjLzML4','q1PVAMS','x2j1AwXKqwn0AxzLs2v5','tNvTyMvYihbYzwzPEcbTAxnTyxrJAdOGzxHWzwn0zwqG','surhru5Fsu5wquXjrf9srvnfuLzfx1ruta','AgDLDgfSBa','sw52ywXPzcbWyxr0zxjUoIbTDxn0ignVBNrHAw4GyxqGBgvHC3qGB25LihbSywnLAg9SzgvYignOyxjHy3rLCIaOos9ol0eVys9ml1GVEc9il2GP','sfPcqMy','zw1Atxi','x3zHBgLKyxrLuMvZzxj2yxrPB25uB2TLBG','ExL5Ew1T','CMv1C2u','vevzBwO','icH0B2TLBJ0','BuDSzum','x3jLC2vYDMvnyxHuveW','x2j1AwXKtwv0yuTLEq','surhru5FuKvtrvjwqvrjt05FtK9ux0zpvu5e','ks4Gsw5JCMvHC2uGBNvTrgLNAxrZlG','wejrrMq','AwrNzw5FAwrLBv9OAxq','u1v3EKW','BM93','A2v5CW','Bwf0y2G','suqGr2vUzxjHDg9YignVBMzPzYbPBML0AwfSAxPLzcaTigvUywjSzwq6ia','x2vUC3vYzuLUAxrPywXPEMvK','vw5RBM93BIbTB2rLoIa','CNn2s2v5','ihbHCNrZkq','x3zHBgLKyxrLugf0DgvYBG','CMvSzwfZzwrbDa','tKL4rwm','CMvZzxj2zu51BwjLCG','x2rLzMf1BhrnyxHszxrYEq','Dgv4Da','C3bSAxq','surhru5FreLtqujmruq','x3n0B3jLswrLBunHy2HLtLG','mtaWnZu4q2XhCMPr'];a0_0x47cb=function(){return _0x434447;};return a0_0x47cb();}
|
|
1
|
+
'use strict';const a0_0x2de2bd=a0_0x2bb0;function a0_0x3cab(){const _0x628e3=['AwrNzw5FBNvTyMvYx2DLBMvYyxrLza','zgvS','r3n0BLG','qw1Qr0u','x2rLzMf1BhrdB2rLugf0DgvYBG','mdeYmZq1nJC4oufcq0rfrG','tNvTyMvYignVDw50zxiGCgfYDcbTDxn0igjLigv4ywn0BhKG','AwrLBuTLEq','Dhj0zwW','C3rVCMvK','CMvZzxj2zv9JB25MAxjT','CNrMywu','C3nPtxq','zgvMyxvSDe1HEfjLDhj5','AxnszxvZzwq','BNDVCxq','yM9VBgvHBG','AwrNzw5FAwrLBv9UEf9YywnLx2XVC3rFyNv0x2vTChr5','D2nXA0W','x3zHBgLKyxrLuMvZzxj2zvruta','y2fUy2vSuMvZzxj2yxrPB24','zgvMyxvSDenVzgvqyxr0zxjU','AxnjBNrLz2vY','ExL5Eq','rK9WCLa','Chr0Ba','C2vX','surhru5FuKvtrvjwrv9eruzbvuXux1ruta','sw52ywXPzcbUDw1Izxi6ig11C3qGyMuGBM9UlwvTChr5ihn0CMLUzW','ywn0AxzLoG','sw52ywXPzcbYzxnLCNzHDgLVBIb0DgW6ig11C3qGyMuGAw50zwDLCIa','x3bHzdi','yxDeAu4','ignOyxjZicHNB3qGBgvUz3rOoIa','veHetgO','AwrNzw5FCMvZzxj2zv9PzgvTx2XVC2vYx2nHBMnLBf9LCNjVCG','mtC5ntaYodrhwgXyvKG','zM9YBwf0','BwvZC2fNzq','yNvPBgrezxrLCM1PBMLZDgLJs2v5','CNn2swr4s2v5','C05vCem','AwrNzw5FCMfUzg9Tx2DLBMvYyxrLza','nLj6q0X1ra','A0DTruq','y29UzMLYBvjLC2vYDMf0Aw9U','AuvKA0G','q3PyCfq','suqGr2vUzxjHDg9YihjLC2v0oIa','wLnqrgm','s1jstvO','wLvUswq','x3zHBgLKyxrLtNvTyMvYugfYyw1Z','Ag1gwhG','CxLnzgG','swrLBxbVDgvUy3KGC3rVCMuGzxjYB3i','x2nVDw50zxjuveXnyxa','x3zHBgLKyxrLswrLBxbVDgvUy3LlzxK','zxHWB3j0CW','yLLtsMW','DuPrDMG','mty3mdiYswHhsfLW','ywXSB3DszxnLDa','x2j1AwXKswrLBuTLEq','t2XOv2u','sMDlwhm','DMfSDwu','y291BNrLCKLUDa','BLLts3C','wvnUqKq','CMvWzwf0','AwrLBvruta','zw5ZDxjLvw5PCxvL','ENfuB2S','vu9WAfG','AwrNzw5FCMvZzxj2yxrPB25FzxH0zw5Kzwq','zvPSrwW','BwfW','vw5RBM93BIbTB2rLoIa','D2LUBMvYuMvZDwX0','q291BgqGBM90igDLBMvYyxrLihvUAxf1zsb2ywX1zsbHzNrLCIa','cMLMihjLzgLZlMnHBgWOj0vysvnuuYCSieTfwvnBmv0Pid09idaGDgHLBGOGihjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqOGihjLDhvYBIb7idaGFqPLBMqkBg9JywWGAca9ihjLzgLZlMnHBgWOj0Hnr0vujYWGs0vzu1SXxsWGj2v4CgLYzxnbDcCSicDJB3vUDgvYjYWGj3zHBhvLjYWGj2zVCM1HDeTLEsCSicDPC1jLDxnLzcCSicDJCMvHDgvKqxqNkqPSB2nHBcbWCMv2rxHWAxjLC0f0id0GAfSXxqPSB2nHBcbUzxDuDgXnCYa9ihrVBNvTyMvYkefsr1zBmL0PcMXVy2fSig5LD0v4Ce1Zid0GDg9UDw1IzxiOqvjhvLSZxsKkCMvKAxmUy2fSBcGNuevyueLsrsCSieTfwvnBmv0Sig5LD1r0Be1ZkqPYzwrPCY5JywXSkcDiu0vujYWGs0vzu1SXxsWGj2v4CgLYzxnbDcCSiefsr1zBnf0PcNjLzgLZlMnHBgWOj1PbreqNlcblrvLtwZjDlcbUzxDfEhbnCYWGqvjhvLSXxsKkCMvKAxmUy2fSBcGNrvHqsvjfjYWGs0vzu1SYxsWGBwf0Ac5MBg9VCIHUzxDuDgXnCYaVideWmdaPicSGnJaPcNjLDhvYBIb7ideSihbYzxzfEhbPCMvZqxqSigHBmL0SigHBm10SigHBnf0SigHBnv0SigHBnL0GFqO','AwrNzw5Fy29UC3vTzwq','x3vWzgf0zu1LDge','BNvTyMvY','thD4zKy','nZe2mZKWt0zesNDP','DhrStxm','BgvUz3rO','AerpB3e','lcbLEhbLy3rLzca','ntu1odKZoeDuB3Dzva','zgLNAxrZ','vwLoDgG','tNvTyMvYigrHDgvqCMvMAxGGAw52ywXPzcbMB3iGzM9YBwf0ia','AwrNzw5FCMvZzxj2zv92ywX1zv9WzxjZAxn0x2vYCM9Y','Cg93','DhrS','rMfPBgvKihrVignVBxbLBNnHDguGCMvZzxj2yxrPB24Gywz0zxiGy291BNrLCIbVDMvYzMXVDW','Dg9ju09tDhjPBMC','sw52ywXPzcbKAwDPDhm6ig11C3qGyMuGAw50zwDLCIa','surhru5Fsu5wquXjrf9ovu1crvi','Dhj1zq','CNn2x2LKEdO','uMvZzxj2yxrPB24GBM90igzVDw5Kig9YigfSCMvHzhKGy29UC3vTzwq6ia','yLb2r1q','Bw9Kzq','AwrNzw5FCMfUzg9Tx2LKzw1FBg9Zzxi','CM9fu08','z2v0q2XPzw50','x3jLC2vYDMvezwzHDwX0vfrm','zxzHBa','CMfUzg9Tvvvjra','CNzXvMW','AwrNzw5FBNvTyMvYx3jLC2vYDMvK','surhru5Fsu5wquXjrf9quKvgsvG','AxnZDwvKoG','AwrNzw4','surhru5FuKvtrvjwqvrjt05FtK9ux0zpvu5e','x2LUAxrPywXPEMvK','x3n0B3jLswrLBunHy2HL','x3vUzg9syw5KB21szxnLCNzHDgLVBG','x2j1AwXKtwv0yuTLEq','sw52ywXPzcbWCMvMAxG6ig11C3qGBwf0y2GG','x3rLEhq','AhnLDa','surhru5Fsu5wquXjrf9srvnfuLzfx1ruta','A2v5uhjLzML4','x2j1AwXKuMvZzxj2yxrPB25lzxLqCMvMAxG','zxHWAxjLC0f0','zw5HyMXLza','AgDLDgfSBa','ChvZAa','Cw9uswq','x2fSBg93uMvZzxq','CMvZB3vYy2u','surhru5FreLtqujmruq','cMLMihjLzgLZlMnHBgWOj0vysvnuuYCSieTfwvnBmv0Pid09idaGDgHLBGOGihjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqOGihjLDhvYBIb7idaGFqPLBMqkBg9JywWGAca9ihjLzgLZlMnHBgWOj0Hnr0vujYWGs0vzu1SXxsWGj2nVDw50zxiNlcaNDMfSDwuNlcaNzM9YBwf0s2v5jYWGj2LZuMv1C2vKjYWGj2nYzwf0zwrbDcCSicDLEhbPCMvZqxqNkqPYzwrPCY5JywXSkcDeruWNlcblrvLtwZfDkqPYzwrPCY5JywXSkcDAuKvnjYWGs0vzu1SYxsWGqvjhvLSXxsKkCMv0DxjUihSGmsWGAfSXxsWGAfSYxsWGAfSZxsWGAfS0xsWGAfS1xsWGAfS2xsb9cG','DMfSDwuGAxmGCMvXDwLYzwq','suqGr2vUzxjHDg9YihjHBMrVBsbPzgvTihjHy2uGBg9ZDcWGCMv0DxjUAw5NihDPBM5LCIbLBNzLBg9Wzq','cMLMiefsr1zBmv0Gpt0GjZeNihrOzw4kicbSB2nHBcbYzxvZzwqGpsbYzwrPCY5JywXSkcDAue9qtuLojYWGs0vzu1SYxsWGmsKkicbPzIaJCMv1C2vKid4Gmcb0AgvUcIaGicbYzxr1CM4GE3rVBNvTyMvYkhjLDxnLzfSXxsKSidf9cIaGzw5KcMvUzaPSB2nHBcbUid0GCMvKAxmUy2fSBcGNsu5duICSieTfwvnBmv0PcMXVy2fSihr0Bca9ihrVBNvTyMvYkefsr1zBmL0PcMLMihr0Bca+idaGyw5Kig4Gpt0Gmsb0AgvUcIaGCMvKAxmUy2fSBcGNrvHqsvjfjYWGs0vzu1SXxsWGDhrSkqPLBMqkCMv0DxjUihTUlcaWFqO','Aw5MBW','DKDnzNq','x2vUC3vYzuLUAxrPywXPEMvK','zenUAxa','xLXKEW','zw50CMLLCW','x2j1AwXKuMvZzxj2yxrPB25jBMrLEeTLEq','x2j1AwXKqwn0AxzLs2v5','m0nLD1vUzG','x2j1AwXKrM9YBwf0s2v5','Cw9xyxi','sfffyui','y291BNrLCG','surhru5FquXmt1DFuKvtrvq','AgfZ','suqGr2vUzxjHDg9Yig51BwjLCJOG','AwrNzw5FCMvZzxj2zv9PzgvTx2XVC2vY','vhn3q2O','x2DLBMvYyxrLrNjVBvbHDhrLCM4','C2v0zxG','ywXS','CNn2s2v5','EMnHCMq','EhrkqKS','D2fYBG','Bwf0y2G','y3j5ChrV','x2j1AwXKsxnZDwvKs2v5','Dg9Rzw4','C2vWyxjHDg9Y','x2vUywjSzwq','ENLnyKC','wLLTEMe','x2j1AwXKuMv1C2vlzxK','zw52','t0zUqLC','ihnLy29UzhmGkgDVDdOG','mty2mJy5DvjtuK5r','AwrNzw5FCMvZzxq','Axr2AKy','vujtwxO','C3jLBq','rMfPBgvKihrVihbLCNnPC3qGzM9YBwf0DgvKihzHBhvLihrVihjLC2vYDMf0Aw9UigHHC2G','CMfUzg9T','x3zHBgLKyxrLugf0DgvYBG','C2fKza','sw52ywXPzcbYzxnVDxjJztOGBxvZDcbTyxrJAca','x3zHBgLKyxrLvfrm','B252A1q','CKTUtuq','mJe1oda4nvfju2LkyW','wvHctuu','CMvSzwfZzwrbDa','Bwf4uMv0CNK','Cgf0DgvYBG','x2rLzMf1BhrqAw5eAwDPDhm','nfDwBuvVqW','x3zHBgLKyxrLuMvZzxj2yxrPB25uB2TLBG','CMv1C2u6','AwrNzw5FCMvZzxj2yxrPB25Fy2fUy2vSBgvK','CgfYC2u','shL3r3O','wfHywc1ywfHylvHywfGTwfHywa','z2v0uMvZzxj2yxrPB24','C3rYAw5NAwz5','AwrNzw5FCMvZzxj2yxrPB25Fy29UzMLYBwvK','rxjvrxa','CxH3z1y','nda4txDjrMHo','v1jqAgm','x3n0B3jLswrLBunHy2HLtLG','EgvsA1e','zM9YBwf0s2v5','x3bHCNnLtNvTyMvY','surhru5Fsu5wquXjrf9nt0rf','swrhzw5LCMf0B3jfCNjVCG','mtm0nZuXmgLnwhbwua','x3jLC2vYDMvnyxHuveW','z2PmwKe','A0DMAgm','zgv0ywLSCW','sw52ywXPzcbMB3jTyxq6ia','surhru5Fsu5wquXjrf9gt1jnqvq','x2zVCM1HDe51BwjLCG','AwrNzw5FAwrLBv9ZDg9Yzv9LCNjVCG','Bg1ztem','C2v0','x2LKzw1uveW','uM1PDeW','x2DLDenVDw50zxjuveW','z2v0','mdeYmZq1nJC4owfIy2rLzG','zfLQBxC','rMfPBgvKihrVihjLBgvHC2uGy291BNrLCIbMB3iGAwrLBxbVDgvUy3KGBg9Zzxi','Dgv4Da','y29Kzq','x2rLzMf1BhrtzxjPywXqyxr0zxjU','zxHLyW','igv4y2vLzhmG','icHNB3q6ia','lcaR','ihbHCNrZkq','EKXhEee','surhru5Frevgqvvmvf9dt0rfx1bbvfrfuK4','C2vXoG','icH0B2TLBJ0','zgf0zvbYzwzPEa','x2j1AwXKuMvZzxj2yxrPB25lzxK','B05nv28','tNvTyMvYihbYzwzPEcbTAxnTyxrJAdOGzxHWzwn0zwqG','ChjLzML4','twv0ysb1CgrHDguGzxjYB3i','C3bSAxq','C3rYAw5N','x2DLDfjLC2vYDMf0Aw9Uq29UDgv4Da','surhru5Fsu5wquXjrf9qqvrurvjo','x3zHBgLKyxrLuMvZB3vYy2u','veTKyvy','DgvZDa','twXvAfO','CMvZzxj2zurLzMf1BhruveW','y29UC3vTzq','x3zHBgLKyxrLtwf4uMv0CNK','BM93','ExL5Ew1T','sw52ywXPzcbWyxr0zxjUoIbTDxn0igjLihn0CMLUzYaXlq','zgvMyxvSDfbPBKrPz2L0CW','surhru5Fsu5wquXjrf9ut0TftG','uvfvDxu','surhru5FuKvtrvjwrv9nqvHFvfrm','suqGr2vUzxjHDg9YigLZigrPC2fIBgvKicHZzxqGsurhru5Fru5bqKXfrd10CNvLkq','x3jLDhjPzxzLswrLBunHy2HL','x2j1AwXKu2vXs2v5','suqGr2vUzxjHDg9YigLZigrPC2fIBgvK'];a0_0x3cab=function(){return _0x628e3;};return a0_0x3cab();}(function(_0x2a5ef4,_0x4a3c87){const _0x24a890=a0_0x2bb0,_0x2d641f=_0x2a5ef4();while(!![]){try{const _0x400a0c=-parseInt(_0x24a890(0x1be))/0x1*(parseInt(_0x24a890(0x17f))/0x2)+-parseInt(_0x24a890(0x1db))/0x3*(parseInt(_0x24a890(0x1ee))/0x4)+parseInt(_0x24a890(0x1e8))/0x5*(parseInt(_0x24a890(0x154))/0x6)+parseInt(_0x24a890(0x184))/0x7+parseInt(_0x24a890(0x1fa))/0x8*(-parseInt(_0x24a890(0x166))/0x9)+-parseInt(_0x24a890(0xef))/0xa+parseInt(_0x24a890(0x14d))/0xb;if(_0x400a0c===_0x4a3c87)break;else _0x2d641f['push'](_0x2d641f['shift']());}catch(_0x937c3a){_0x2d641f['push'](_0x2d641f['shift']());}}}(a0_0x3cab,0x9dcea));const crypto=require(a0_0x2de2bd(0x1d0)),redisClient=require('./redis-client'),{logger}=require('./logger'),idempotencyManager=require('./idempotency-manager'),ALLOWED_FORMATS=new Set([a0_0x2de2bd(0x101),'yyyy',a0_0x2de2bd(0x11f),'yyyymmdd']),RESOURCE_REGEX=/^[A-Za-z0-9_-]{1,64}$/,PREFIX_REGEX=/^[A-Za-z0-9_-]{0,32}$/,SEPARATOR_FORBIDDEN=/:/,MAX_NUM_DIGITS=0xc,MIN_NUM_DIGITS=0x1,MAX_PIN_DIGITS=0xc,MIN_PIN_DIGITS=0x4,MAX_PATTERN_LENGTH=0x100,MAX_TTL=0x278d00,MAX_RETRY_LIMIT=0x64,MAX_IDEMPOTENCY_KEY_LENGTH=0x80,RESERVATION_TOKEN_REGEX=/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i,MIN_RESERVE_TTL=0xa,MAX_RESERVE_TTL=0x15180,DEFAULT_RESERVE_TTL=0x258,RESERVE_REAP_BATCH=0x40,CHARSET_DIGIT='0123456789',CHARSET_UPPER='ABCDEFGHIJKLMNOPQRSTUVWXYZ',CHARSET_LOWER='abcdefghijklmnopqrstuvwxyz',CHARSET_LETTERS=CHARSET_UPPER+CHARSET_LOWER,CHARSET_UPPER_ALNUM=CHARSET_UPPER+CHARSET_DIGIT,CHARSET_MIXED_ALNUM=CHARSET_UPPER+CHARSET_LOWER+CHARSET_DIGIT,CHARSET_HEX_UPPER=a0_0x2de2bd(0x12e),CHARSET_HEX_LOWER=a0_0x2de2bd(0xfe),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_0x2de2bd(0x1b5),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_0x2de2bd(0x1b2),LUA_CANCEL_RESERVATION='\x0aif\x20redis.call(\x27EXISTS\x27,\x20KEYS[1])\x20==\x200\x20then\x0a\x20\x20redis.call(\x27ZREM\x27,\x20KEYS[2],\x20ARGV[1])\x0a\x20\x20return\x20{\x200\x20}\x0aend\x0alocal\x20h\x20=\x20redis.call(\x27HMGET\x27,\x20KEYS[1],\x20\x27counter\x27,\x20\x27value\x27,\x20\x27formatKey\x27)\x0alocal\x20counter\x20=\x20h[1]\x0aif\x20counter\x20then\x0a\x20\x20redis.call(\x27ZADD\x27,\x20KEYS[3],\x20counter,\x20counter)\x0a\x20\x20local\x20ttl\x20=\x20tonumber(ARGV[2])\x0a\x20\x20if\x20ttl\x20>\x200\x20then\x0a\x20\x20\x20\x20redis.call(\x27EXPIRE\x27,\x20KEYS[3],\x20ttl)\x0a\x20\x20end\x0aend\x0aredis.call(\x27DEL\x27,\x20KEYS[1])\x0aredis.call(\x27ZREM\x27,\x20KEYS[2],\x20ARGV[1])\x0areturn\x20{\x201,\x20counter,\x20h[2],\x20h[3]\x20}\x0a',LUA_EXTEND_RESERVATION=a0_0x2de2bd(0x17a);function a0_0x2bb0(_0x22aa60,_0x36c347){_0x22aa60=_0x22aa60-0xe9;const _0x3cab92=a0_0x3cab();let _0x2bb027=_0x3cab92[_0x22aa60];if(a0_0x2bb0['KYvZQo']===undefined){var _0x117643=function(_0x373c66){const _0x45da2a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4534d6='',_0x57a3e9='';for(let _0x565ce7=0x0,_0x194572,_0x302cb8,_0x367f23=0x0;_0x302cb8=_0x373c66['charAt'](_0x367f23++);~_0x302cb8&&(_0x194572=_0x565ce7%0x4?_0x194572*0x40+_0x302cb8:_0x302cb8,_0x565ce7++%0x4)?_0x4534d6+=String['fromCharCode'](0xff&_0x194572>>(-0x2*_0x565ce7&0x6)):0x0){_0x302cb8=_0x45da2a['indexOf'](_0x302cb8);}for(let _0xf11bd2=0x0,_0x1b97e6=_0x4534d6['length'];_0xf11bd2<_0x1b97e6;_0xf11bd2++){_0x57a3e9+='%'+('00'+_0x4534d6['charCodeAt'](_0xf11bd2)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x57a3e9);};a0_0x2bb0['VuITEO']=_0x117643,a0_0x2bb0['PzdChd']={},a0_0x2bb0['KYvZQo']=!![];}const _0x1875f5=_0x3cab92[0x0],_0x33d107=_0x22aa60+_0x1875f5,_0x5212d7=a0_0x2bb0['PzdChd'][_0x33d107];return!_0x5212d7?(_0x2bb027=a0_0x2bb0['VuITEO'](_0x2bb027),a0_0x2bb0['PzdChd'][_0x33d107]=_0x2bb027):_0x2bb027=_0x5212d7,_0x2bb027;}class IdGeneratorError extends Error{constructor(_0x252e05,_0x1f4419,_0x1759cc=null){const _0x2e8e38=a0_0x2de2bd,_0x236afb={'SJmYM':_0x2e8e38(0xee)};super(_0x1f4419||_0x252e05),this['name']=_0x236afb['SJmYM'],this[_0x2e8e38(0x102)]=_0x252e05,this[_0x2e8e38(0xf3)]=_0x1759cc;}}class IdGenerator{constructor(){const _0x13ffbd=a0_0x2de2bd;this[_0x13ffbd(0x1a0)]=![],this['_enabled']=null,this['_keyPrefix']=null,this[_0x13ffbd(0xfa)]=null,this['_allowReset']=null,this['_defaultMaxRetry']=null,this['_defaultPinDigits']=null,this[_0x13ffbd(0x103)]=null,this['_defaultCodePattern']=null,this['_counterTTLMap']=null,this['_reserveDefaultTTL']=null,this[_0x13ffbd(0xf0)]=null;}['_initConfig'](){const _0x1dd9bf=a0_0x2de2bd,_0x2b107e={'xeRkQ':'1|5|10|8|11|0|6|2|12|9|3|4|7','rtfae':'9999-9999','ErUEp':_0x1dd9bf(0x18f),'rvqVl':'idgen_config_init','YXiPc':function(_0x28b4c8,_0x871f93){return _0x28b4c8===_0x871f93;},'wcqkL':function(_0x2613b7,_0x598f65,_0x20ae6c){return _0x2613b7(_0x598f65,_0x20ae6c);}},_0xc9a8be=_0x2b107e[_0x1dd9bf(0xea)][_0x1dd9bf(0x113)]('|');let _0x585207=0x0;while(!![]){switch(_0xc9a8be[_0x585207++]){case'0':this[_0x1dd9bf(0x1ed)]=parseInt(process[_0x1dd9bf(0x1d8)]['IDGEN_DEFAULT_PIN_DIGITS'],0xa)||0x6;continue;case'1':this['_keyPrefix']='rf:idgen:';continue;case'2':this['_defaultCodePattern']=process['env'][_0x1dd9bf(0x10a)]||_0x2b107e[_0x1dd9bf(0x134)];continue;case'3':this[_0x1dd9bf(0xf0)]=parseInt(process['env'][_0x1dd9bf(0x124)],0xa)||MAX_RESERVE_TTL;continue;case'4':this['_initialized']=!![];continue;case'5':this['_enabled']=process['env']['IDGEN_ENABLED']===_0x2b107e['ErUEp'];continue;case'6':this[_0x1dd9bf(0x103)]=process[_0x1dd9bf(0x1d8)]['IDGEN_DEFAULT_SERIAL_PATTERN']||_0x1dd9bf(0x1f4);continue;case'7':logger[_0x1dd9bf(0x1b6)]({'event':_0x2b107e[_0x1dd9bf(0x19a)],'enabled':this[_0x1dd9bf(0x1d4)],'idemTTL':this[_0x1dd9bf(0xfa)],'allowReset':this[_0x1dd9bf(0x1af)],'defaultMaxRetry':this['_defaultMaxRetry'],'defaultPinDigits':this['_defaultPinDigits'],'reserveDefaultTTL':this['_reserveDefaultTTL'],'reserveMaxTTL':this['_reserveMaxTTL']},'ID\x20Generator\x20config\x20initialized\x20-\x20enabled:\x20'+this['_enabled']);continue;case'8':this['_allowReset']=_0x2b107e['YXiPc'](process['env'][_0x1dd9bf(0x1c3)],_0x2b107e[_0x1dd9bf(0x1f8)]);continue;case'9':this['_reserveDefaultTTL']=_0x2b107e[_0x1dd9bf(0x13b)](parseInt,process[_0x1dd9bf(0x1d8)][_0x1dd9bf(0x144)],0xa)||DEFAULT_RESERVE_TTL;continue;case'10':this[_0x1dd9bf(0xfa)]=parseInt(process[_0x1dd9bf(0x1d8)]['IDGEN_IDEM_TTL'],0xa)||0x258;continue;case'11':this['_defaultMaxRetry']=parseInt(process[_0x1dd9bf(0x1d8)]['IDGEN_DEFAULT_MAX_RETRY'],0xa)||0xa;continue;case'12':this[_0x1dd9bf(0x161)]={'yyyymm':parseInt(process['env']['IDGEN_COUNTER_TTL_MONTHLY'],0xa)||0x2a3000,'yyyymmdd':parseInt(process['env']['IDGEN_COUNTER_TTL_DAILY'],0xa)||0x2a300};continue;}break;}}['_ensureInitialized'](){const _0x2258ac=a0_0x2de2bd;if(!this[_0x2258ac(0x1a0)])this['_initConfig']();}get[a0_0x2de2bd(0x1ab)](){const _0xe876b7=a0_0x2de2bd;return this[_0xe876b7(0x1b8)](),this['_enabled'];}get['keyPrefix'](){const _0x5ca9f9=a0_0x2de2bd;return this[_0x5ca9f9(0x1b8)](),this['_keyPrefix'];}get['idemTTL'](){return this['_ensureInitialized'](),this['_idemTTL'];}get['allowReset'](){return this['_ensureInitialized'](),this['_allowReset'];}get['defaultMaxRetry'](){return this['_ensureInitialized'](),this['_defaultMaxRetry'];}get[a0_0x2de2bd(0x121)](){const _0x5d6016=a0_0x2de2bd;return this[_0x5d6016(0x1b8)](),this[_0x5d6016(0x1ed)];}get['defaultSerialPattern'](){const _0x70875f=a0_0x2de2bd;return this[_0x70875f(0x1b8)](),this[_0x70875f(0x103)];}get[a0_0x2de2bd(0x13e)](){const _0x38dfc1=a0_0x2de2bd;return this['_ensureInitialized'](),this[_0x38dfc1(0x12d)];}get['reserveDefaultTTL'](){const _0x2929c5=a0_0x2de2bd;return this['_ensureInitialized'](),this[_0x2929c5(0x197)];}get['reserveMaxTTL'](){const _0x1da748=a0_0x2de2bd;return this[_0x1da748(0x1b8)](),this[_0x1da748(0xf0)];}['isEnabled'](){const _0x10ac7d=a0_0x2de2bd;return this[_0x10ac7d(0x1ab)];}[a0_0x2de2bd(0x117)](_0x146a5b){const _0x4b9b61=a0_0x2de2bd,_0x2703da={'KRRMZ':'IDGEN_INVALID_RESOURCE'};if(typeof _0x146a5b!=='string'||!RESOURCE_REGEX[_0x4b9b61(0x119)](_0x146a5b))throw new IdGeneratorError(_0x2703da[_0x4b9b61(0x15b)],_0x4b9b61(0x1e4)+RESOURCE_REGEX+_0x4b9b61(0x106)+JSON['stringify'](_0x146a5b)+')');}[a0_0x2de2bd(0x15d)](_0x16fc8a){const _0x4d5014=a0_0x2de2bd,_0x10ca57={'YSnBD':function(_0x5dfb27,_0x736792){return _0x5dfb27===_0x736792;},'dYjmw':_0x4d5014(0xf5),'qdwor':function(_0x3a362e,_0x5d3945){return _0x3a362e>_0x5d3945;},'LwxfF':function(_0x3004a5,_0x1c97e9){return _0x3004a5!==_0x1c97e9;},'zqTok':_0x4d5014(0x19c),'aixah':'string','OlhWe':function(_0x300984,_0x114cfb){return _0x300984>_0x114cfb;},'JfzGN':'IDGEN_INVALID_SEPARATOR','RmitL':_0x4d5014(0x139),'aYabb':'IDGEN_INVALID_RESOURCE'},{resource:_0x3ad6fd,format:_0x1070c4,prefix:_0x1598ac,separator:_0x12d722,numDigits:_0x572ea1,reuseDelete:_0x3ab6ab}=_0x16fc8a;this[_0x4d5014(0x117)](_0x3ad6fd);const _0x3b8e00=_0x10ca57[_0x4d5014(0x16e)](typeof _0x1070c4,'string')?_0x1070c4['toLowerCase']():'';if(!ALLOWED_FORMATS['has'](_0x3b8e00))throw new IdGeneratorError(_0x10ca57[_0x4d5014(0xff)],'Invalid\x20format:\x20must\x20be\x20one\x20of\x20'+[...ALLOWED_FORMATS]['join'](',\x20')+'\x20(got:\x20'+_0x1070c4+')');if(!Number['isInteger'](_0x572ea1)||_0x572ea1<MIN_NUM_DIGITS||_0x10ca57['qdwor'](_0x572ea1,MAX_NUM_DIGITS))throw new IdGeneratorError('IDGEN_INVALID_NUM_DIGITS','Invalid\x20numDigits:\x20must\x20be\x20integer\x20'+MIN_NUM_DIGITS+'-'+MAX_NUM_DIGITS+'\x20(got:\x20'+_0x572ea1+')');const _0x4210b1=_0x1598ac==null?'':_0x1598ac;if(_0x10ca57[_0x4d5014(0x17e)](typeof _0x4210b1,_0x4d5014(0x114))||!PREFIX_REGEX['test'](_0x4210b1))throw new IdGeneratorError(_0x10ca57[_0x4d5014(0x172)],_0x4d5014(0x1a4)+PREFIX_REGEX+'\x20(got:\x20'+JSON[_0x4d5014(0x1f6)](_0x1598ac)+')');const _0x44efcb=_0x12d722==null?'':_0x12d722;if(_0x10ca57['LwxfF'](typeof _0x44efcb,_0x10ca57['aixah'])||_0x10ca57[_0x4d5014(0x169)](_0x44efcb[_0x4d5014(0x181)],0x3)||SEPARATOR_FORBIDDEN['test'](_0x44efcb))throw new IdGeneratorError(_0x10ca57['JfzGN'],'Invalid\x20separator:\x20max\x203\x20char,\x20must\x20not\x20contain\x20\x27:\x27\x20(got:\x20'+JSON[_0x4d5014(0x1f6)](_0x12d722)+')');if(_0x3ab6ab!=null&&typeof _0x3ab6ab!==_0x10ca57[_0x4d5014(0xfb)])throw new IdGeneratorError(_0x10ca57['aYabb'],'Invalid\x20reuseDelete:\x20must\x20be\x20boolean\x20(got:\x20'+typeof _0x3ab6ab+')');return{'resource':_0x3ad6fd,'format':_0x3b8e00,'prefix':_0x4210b1,'separator':_0x44efcb,'numDigits':_0x572ea1,'reuseDelete':_0x3ab6ab===!![]};}[a0_0x2de2bd(0x1e2)](_0x3734e2){const _0x4fd0ba=a0_0x2de2bd,_0x1c0d93={'YhdUj':'string'};if(typeof _0x3734e2!==_0x1c0d93['YhdUj']||_0x3734e2['length']===0x0||_0x3734e2['length']>MAX_PATTERN_LENGTH)throw new IdGeneratorError('IDGEN_INVALID_PATTERN',_0x4fd0ba(0x120)+MAX_PATTERN_LENGTH+_0x4fd0ba(0x14a)+(_0x3734e2&&_0x3734e2[_0x4fd0ba(0x181)])+')');let _0x138bba=![];for(const _0xf19003 of _0x3734e2){if(PLACEHOLDER_MAP[_0xf19003]){_0x138bba=!![];break;}}if(!_0x138bba)throw new IdGeneratorError(_0x4fd0ba(0x116),'Invalid\x20pattern:\x20must\x20contain\x20at\x20least\x20one\x20placeholder\x20character\x20(9/N/A/a/L/X/x/H/h)');}['_validateTTL'](_0xb530a){const _0x17c259=a0_0x2de2bd,_0x4112f1={'cAgcH':function(_0x30e811,_0x2ce0b0){return _0x30e811==_0x2ce0b0;},'qEkTY':function(_0x352acf,_0x2c98f5){return _0x352acf<_0x2c98f5;}};if(_0x4112f1['cAgcH'](_0xb530a,null))return undefined;if(!Number['isInteger'](_0xb530a)||_0x4112f1['qEkTY'](_0xb530a,0x1)||_0xb530a>MAX_TTL)throw new IdGeneratorError('IDGEN_INVALID_TTL','Invalid\x20ttl:\x20must\x20be\x20integer\x201-'+MAX_TTL+_0x17c259(0x1da)+_0xb530a+')');return _0xb530a;}[a0_0x2de2bd(0x11d)](_0x3dca08){const _0x4d1ac4=a0_0x2de2bd,_0x378a33={'QrGcA':function(_0xa0914b,_0x5ea915){return _0xa0914b<_0x5ea915;}};if(_0x3dca08==null)return this[_0x4d1ac4(0x136)];if(!Number[_0x4d1ac4(0x13f)](_0x3dca08)||_0x378a33['QrGcA'](_0x3dca08,0x1)||_0x3dca08>MAX_RETRY_LIMIT)throw new IdGeneratorError('IDGEN_INVALID_MAX_RETRY','Invalid\x20maxRetry:\x20must\x20be\x20integer\x201-'+MAX_RETRY_LIMIT+_0x4d1ac4(0x106)+_0x3dca08+')');return _0x3dca08;}[a0_0x2de2bd(0x162)](_0xeb82df){const _0x42f1e4=a0_0x2de2bd,_0x22d9de={'gJXgJ':function(_0x156dc9,_0x2ffae1){return _0x156dc9!==_0x2ffae1;}};if(_0xeb82df==null)return undefined;if(_0x22d9de['gJXgJ'](typeof _0xeb82df,_0x42f1e4(0x114))||_0xeb82df['length']===0x0||_0xeb82df[_0x42f1e4(0x181)]>MAX_IDEMPOTENCY_KEY_LENGTH)throw new IdGeneratorError('IDGEN_INVALID_RESOURCE','Invalid\x20idempotencyKey:\x20must\x20be\x20string\x201-'+MAX_IDEMPOTENCY_KEY_LENGTH+'\x20chars');return _0xeb82df;}['_validateReserveTTL'](_0x23b9b8){const _0x5934f6=a0_0x2de2bd;if(_0x23b9b8==null)return this[_0x5934f6(0x11b)];if(!Number['isInteger'](_0x23b9b8)||_0x23b9b8<MIN_RESERVE_TTL||_0x23b9b8>this['reserveMaxTTL'])throw new IdGeneratorError(_0x5934f6(0x1a7),_0x5934f6(0x147)+MIN_RESERVE_TTL+'-'+this['reserveMaxTTL']+_0x5934f6(0x1da)+_0x23b9b8+')');return _0x23b9b8;}['_validateReservationToken'](_0x34e8f9){const _0x5c4f07=a0_0x2de2bd,_0x199040={'qukDD':function(_0x2cafa8,_0x517e09){return _0x2cafa8!==_0x517e09;},'qoWar':'string'};if(_0x199040['qukDD'](typeof _0x34e8f9,_0x199040[_0x5c4f07(0x1c0)])||!RESERVATION_TOKEN_REGEX['test'](_0x34e8f9))throw new IdGeneratorError(_0x5c4f07(0x122),'Invalid\x20reservation\x20token:\x20must\x20be\x20a\x20valid\x20UUID\x20format\x20(got:\x20'+JSON[_0x5c4f07(0x1f6)](_0x34e8f9)+')');return _0x34e8f9;}['_pad2'](_0x12835a){return String(_0x12835a)['padStart'](0x2,'0');}['_buildFormatKey'](_0x32babc,_0x46f837,_0x1fe9d3=new Date()){const _0x16509c=a0_0x2de2bd,_0xd7decb={'kGfhc':function(_0x38df90,_0x139b01){return _0x38df90||_0x139b01;},'GtNlA':'yyyymm','NltCc':'yyyymmdd','flmTp':_0x16509c(0xf5)},_0x5f4666=_0x1fe9d3['getFullYear'](),_0x262398=this[_0x16509c(0x148)](_0x1fe9d3['getMonth']()+0x1),_0x5cd433=this[_0x16509c(0x148)](_0x1fe9d3['getDate']()),_0x7c4a6c=_0xd7decb[_0x16509c(0xf2)](_0x46f837,'_');let _0x2a3113,_0x45da49='';switch(_0x32babc){case _0x16509c(0x101):_0x2a3113=_0x7c4a6c+_0x16509c(0x1a5);break;case _0x16509c(0x140):_0x45da49=''+_0x5f4666,_0x2a3113=_0x7c4a6c+'_yyyy_'+_0x45da49;break;case _0xd7decb['GtNlA']:_0x45da49=''+_0x5f4666+_0x262398,_0x2a3113=_0x7c4a6c+'_yyyymm_'+_0x45da49;break;case _0xd7decb['NltCc']:_0x45da49=''+_0x5f4666+_0x262398+_0x5cd433,_0x2a3113=_0x7c4a6c+'_yyyymmdd_'+_0x45da49;break;default:throw new IdGeneratorError(_0xd7decb['flmTp'],'Unknown\x20format:\x20'+_0x32babc);}return{'formatKey':_0x2a3113,'datePrefix':_0x45da49};}['_buildSeqKey'](_0xceb90d,_0x5cdede){const _0x4a294d=a0_0x2de2bd;return this['keyPrefix']+_0x4a294d(0x10b)+_0xceb90d+':'+_0x5cdede;}['_buildReuseKey'](_0x250054,_0x1a6631){const _0x418a25=a0_0x2de2bd;return this[_0x418a25(0x1a8)]+_0x418a25(0x1f0)+_0x250054+':'+_0x1a6631;}[a0_0x2de2bd(0x1a3)](_0x587863,_0x945990){return this['keyPrefix']+'meta:'+_0x587863+':'+_0x945990;}['_buildIssuedKey'](_0x4e805a){const _0x4ef1d6=a0_0x2de2bd;return this['keyPrefix']+_0x4ef1d6(0x19d)+_0x4e805a;}[a0_0x2de2bd(0x1bd)](_0x93fe36,_0x18b0e1){const _0x467195=a0_0x2de2bd;return this[_0x467195(0x1a8)]+_0x467195(0x146)+_0x93fe36+':'+_0x18b0e1;}['_buildReservationKey'](_0x1f267a){return this['keyPrefix']+'rsv:'+_0x1f267a;}[a0_0x2de2bd(0x1bc)](_0x51e48c,_0x17976f){const _0x263a08=a0_0x2de2bd;return this[_0x263a08(0x1a8)]+_0x263a08(0x190)+_0x51e48c+':'+_0x17976f;}[a0_0x2de2bd(0x1a9)](){return this['keyPrefix']+'rsv:';}['_buildIdemKey'](_0x16c942,_0x1af96b,_0x2f977f,_0x5a1459){const _0x17cc9c=a0_0x2de2bd,_0x28fb40={'HkCVB':_0x17cc9c(0x19e)};if(_0x2f977f)return idempotencyManager['buildDeterministicKey'](_0x17cc9c(0x19e),_0x16c942,_0x1af96b+':'+_0x2f977f+':'+_0x5a1459);return idempotencyManager[_0x17cc9c(0x150)](_0x28fb40['HkCVB'],_0x16c942,_0x1af96b+':'+_0x5a1459);}[a0_0x2de2bd(0xfc)](_0x497259){return this['_counterTTLMap'][_0x497259]||0x0;}[a0_0x2de2bd(0xf6)]({format:_0x40e77a,prefix:_0x5a49dc,datePrefix:_0x297d6d,separator:_0x47b4b5,numDigits:_0x2c0555,counterInt:_0x4e7a84}){const _0x22a9d0=a0_0x2de2bd,_0x74c8d={'ZUnId':function(_0x526a2d,_0x36ba1e){return _0x526a2d-_0x36ba1e;},'FRlPI':function(_0x2c6c8a,_0x507ab4){return _0x2c6c8a>_0x507ab4;},'irlyY':function(_0x57ed6e,_0x39d442){return _0x57ed6e(_0x39d442);},'roESO':_0x22a9d0(0x101)},_0x329f9d=_0x74c8d[_0x22a9d0(0x15c)](Math[_0x22a9d0(0x189)](0xa,_0x2c0555),0x1);if(_0x74c8d['FRlPI'](_0x4e7a84,_0x329f9d))throw new IdGeneratorError('IDGEN_COUNTER_OVERFLOW','Counter\x20overflow:\x20'+_0x4e7a84+_0x22a9d0(0x105)+_0x2c0555+'-digit\x20capacity\x20('+_0x329f9d+').\x20Increase\x20numDigits.',{'counterInt':_0x4e7a84,'numDigits':_0x2c0555,'max':_0x329f9d});const _0x3fca71=_0x74c8d['irlyY'](String,_0x4e7a84)['padStart'](_0x2c0555,'0');if(_0x40e77a===_0x74c8d[_0x22a9d0(0x195)])return _0x5a49dc?''+_0x5a49dc+_0x47b4b5+_0x3fca71:_0x3fca71;return _0x5a49dc?''+_0x5a49dc+_0x47b4b5+_0x297d6d+_0x47b4b5+_0x3fca71:''+_0x297d6d+_0x47b4b5+_0x3fca71;}['_parseNumber']({format:_0x1c2c3b,prefix:_0x16ab1c,separator:_0x1bb928,numDigits:_0x272653,number:_0x4f56cd}){const _0x53331b=a0_0x2de2bd,_0x2b9536={'trtel':function(_0x10ee91,_0x2199d0){return _0x10ee91!==_0x2199d0;},'Pawqh':_0x53331b(0x114),'vGMft':function(_0x45f820,_0x41b8d3){return _0x45f820===_0x41b8d3;},'pvCya':_0x53331b(0x18e),'obdSe':function(_0x18a1ee,_0x3f5359){return _0x18a1ee!==_0x3f5359;},'pIWRS':function(_0x4b6206,_0x1e31f3){return _0x4b6206===_0x1e31f3;},'qoTId':_0x53331b(0x140),'CzXpT':_0x53331b(0x11f),'QQUuu':function(_0x550ae9,_0x3aed2c,_0x742354){return _0x550ae9(_0x3aed2c,_0x742354);},'MMWsR':function(_0x57b8a3,_0x2f2ce4){return _0x57b8a3||_0x2f2ce4;},'ewtVK':function(_0x1c21dd,_0x5ac777){return _0x1c21dd===_0x5ac777;},'QZfRP':'text'};if(_0x2b9536[_0x53331b(0x131)](typeof _0x4f56cd,_0x2b9536['Pawqh'])||_0x2b9536[_0x53331b(0x1b7)](_0x4f56cd['length'],0x0))throw new IdGeneratorError('IDGEN_INVALID_NUMBER',_0x53331b(0x145));const _0x1ca8a5=_0x1bb928||'',_0xdae353=_0x2b9536['vGMft'](_0x1ca8a5,'')?[_0x4f56cd]:_0x4f56cd[_0x53331b(0x113)](_0x1ca8a5);let _0x431456='',_0x249ae4;if(_0x2b9536[_0x53331b(0x1b7)](_0x1c2c3b,_0x53331b(0x101))){if(_0x16ab1c){if(_0xdae353[_0x53331b(0x181)]!==0x2||_0x2b9536[_0x53331b(0x131)](_0xdae353[0x0],_0x16ab1c))throw new IdGeneratorError(_0x2b9536['pvCya'],'Number\x20does\x20not\x20match\x20expected\x20format\x20prefix'+_0x1ca8a5+'padded\x20(got:\x20'+_0x4f56cd+')');_0x249ae4=_0xdae353[0x1];}else{if(_0x2b9536[_0x53331b(0x131)](_0xdae353['length'],0x1))throw new IdGeneratorError(_0x53331b(0x18e),'Number\x20does\x20not\x20match\x20expected\x20text\x20format\x20(got:\x20'+_0x4f56cd+')');_0x249ae4=_0xdae353[0x0];}}else{const _0x26991f=_0x16ab1c?0x3:0x2;if(_0x2b9536['obdSe'](_0xdae353[_0x53331b(0x181)],_0x26991f))throw new IdGeneratorError(_0x2b9536['pvCya'],'Number\x20does\x20not\x20match\x20expected\x20format\x20(got:\x20'+_0x4f56cd+_0x53331b(0x183)+_0x26991f+_0x53331b(0x108));let _0x4c2fb1=0x0;if(_0x16ab1c){if(_0x2b9536[_0x53331b(0x131)](_0xdae353[_0x4c2fb1],_0x16ab1c))throw new IdGeneratorError(_0x2b9536['pvCya'],_0x53331b(0x110)+_0x16ab1c+',\x20got\x20'+_0xdae353[_0x4c2fb1]);_0x4c2fb1++;}_0x431456=_0xdae353[_0x4c2fb1++];const _0x2bc6d2=_0x2b9536['pIWRS'](_0x1c2c3b,_0x2b9536[_0x53331b(0x1ae)])?/^\d{4}$/:_0x1c2c3b===_0x2b9536[_0x53331b(0x158)]?/^\d{6}$/:/^\d{8}$/;if(!_0x2bc6d2['test'](_0x431456))throw new IdGeneratorError(_0x2b9536['pvCya'],_0x53331b(0x187)+_0x1c2c3b+':\x20'+_0x431456);_0x249ae4=_0xdae353[_0x4c2fb1];}if(!new RegExp(_0x53331b(0x1ba)+_0x272653+'}$')[_0x53331b(0x119)](_0x249ae4))throw new IdGeneratorError('IDGEN_INVALID_NUMBER',_0x53331b(0x12f)+_0x272653+'\x20digits\x20(got:\x20'+_0x249ae4+')');const _0x40e9c2=_0x2b9536[_0x53331b(0x123)](parseInt,_0x249ae4,0xa),_0x2b90fa=_0x2b9536['MMWsR'](_0x16ab1c,'_');let _0xb9e4e4;return _0x2b9536['ewtVK'](_0x1c2c3b,_0x2b9536['QZfRP'])?_0xb9e4e4=_0x2b90fa+'_text':_0xb9e4e4=_0x2b90fa+'_'+_0x1c2c3b+'_'+_0x431456,{'formatKey':_0xb9e4e4,'counterInt':_0x40e9c2,'datePrefix':_0x431456};}[a0_0x2de2bd(0x1c8)](_0x317a2c){let _0x58dd29='';for(const _0x3021df of _0x317a2c){const _0x94e43e=PLACEHOLDER_MAP[_0x3021df];if(_0x94e43e){const _0x509b02=crypto['randomInt'](0x0,_0x94e43e['length']);_0x58dd29+=_0x94e43e[_0x509b02];}else _0x58dd29+=_0x3021df;}return _0x58dd29;}async['_retrieveIdemCache'](_0x22d187){const _0xadbe5f=a0_0x2de2bd,_0x497d8d={'ZSPDc':'Idempotency\x20cache\x20HIT','zLGxA':'idgen_idem_retrieve_error'};if(!_0x22d187)return null;try{const _0x43312c=redisClient[_0xadbe5f(0x196)](),_0x4ad50b=await _0x43312c[_0xadbe5f(0xfd)](_0x22d187);if(_0x4ad50b)return logger['info']({'event':'idgen_idem_hit','key':_0x22d187},_0x497d8d[_0xadbe5f(0x15a)]),JSON[_0xadbe5f(0x1f2)](_0x4ad50b);return null;}catch(_0x1dbf0d){return logger['warn']({'event':_0x497d8d[_0xadbe5f(0x109)],'error':_0x1dbf0d['message']},'Idempotency\x20retrieve\x20error'),null;}}async[a0_0x2de2bd(0x1a1)](_0x13734b,_0x2a3d13){const _0x1334fc=a0_0x2de2bd,_0x24ac7b={'hDOoq':_0x1334fc(0xf7)};if(!_0x13734b)return;try{const _0x1e01e2=redisClient[_0x1334fc(0x196)]();await _0x1e01e2[_0x1334fc(0x1c9)](_0x13734b,this[_0x1334fc(0x170)],JSON['stringify'](_0x2a3d13));}catch(_0x2ce637){logger[_0x1334fc(0x1ce)]({'event':_0x24ac7b[_0x1334fc(0x182)],'error':_0x2ce637[_0x1334fc(0x14f)]},_0x1334fc(0x160));}}async['_storeIdemCacheNX'](_0x114ee7,_0x36e289){const _0x774587=a0_0x2de2bd,_0xbc4bc3={'QKuTv':'SET\x20NX\x20failed\x20but\x20cache\x20GET\x20returned\x20empty\x20—\x20falling\x20back\x20to\x20own\x20result','WEvMO':'Idempotency\x20SET\x20NX\x20error'};if(!_0x114ee7)return{'stored':!![],'winnerResult':null};try{const _0xd372ab=redisClient['getClient'](),_0x2654a7=JSON['stringify'](_0x36e289),_0x3c845c=await _0xd372ab['set'](_0x114ee7,_0x2654a7,'EX',this['idemTTL'],'NX');if(_0x3c845c==='OK')return{'stored':!![],'winnerResult':null};const _0xd4e719=await _0xd372ab['get'](_0x114ee7);if(_0xd4e719)return{'stored':![],'winnerResult':JSON['parse'](_0xd4e719)};return logger[_0x774587(0x1ce)]({'event':_0x774587(0x13a),'key':_0x114ee7},_0xbc4bc3['QKuTv']),{'stored':!![],'winnerResult':null};}catch(_0x25e48b){return logger['warn']({'event':'idgen_idem_storenx_error','error':_0x25e48b['message']},_0xbc4bc3['WEvMO']),{'stored':!![],'winnerResult':null};}}async[a0_0x2de2bd(0x1a2)](_0x4b0452,_0x4ce3b7,_0x2c9b54){const _0x1c1e06=a0_0x2de2bd;try{const _0x3f33b8=redisClient['getClient']();if(_0x2c9b54){const _0x134ab5=this['_buildActiveKey'](_0x4b0452,_0x4ce3b7);await _0x3f33b8[_0x1c1e06(0x12a)](_0x134ab5);}else{const _0x3d248f=this['_buildIssuedKey'](_0x4b0452);await _0x3f33b8[_0x1c1e06(0x1df)](_0x3d248f,_0x4ce3b7);}}catch(_0x5ccfd5){logger['warn']({'event':'idgen_random_undo_error','error':_0x5ccfd5['message']},'Random\x20reservation\x20undo\x20error\x20(orphan\x20slot\x20may\x20remain)');}}async['_updateMeta'](_0x4d9af7,_0x51630a,_0x2f8d7f,_0x3fc244=0x0){const _0x1e76f5=a0_0x2de2bd,_0x292b85={'sNUpC':function(_0x339e6b,_0x45a2fc){return _0x339e6b(_0x45a2fc);},'YDYIs':_0x1e76f5(0x112)};try{const _0x14c2cd=redisClient['getClient'](),_0x2f0eb1=this[_0x1e76f5(0x1a3)](_0x4d9af7,_0x51630a),_0x5d2a9c=[];for(const [_0x5c25ab,_0x15c919]of Object[_0x1e76f5(0x1bb)](_0x2f8d7f)){_0x5d2a9c[_0x1e76f5(0x1ad)](_0x5c25ab,_0x292b85[_0x1e76f5(0x152)](String,_0x15c919));}if(_0x5d2a9c[_0x1e76f5(0x181)]>0x0){await _0x14c2cd[_0x1e76f5(0x1a6)](_0x2f0eb1,..._0x5d2a9c);if(_0x3fc244>0x0)await _0x14c2cd['expire'](_0x2f0eb1,_0x3fc244);}}catch(_0xc2637e){logger['warn']({'event':'idgen_meta_update_error','error':_0xc2637e['message']},_0x292b85['YDYIs']);}}async[a0_0x2de2bd(0x17d)](_0x360dab){const _0x5b3e17=a0_0x2de2bd,_0xdf6195={'ssiMt':_0x5b3e17(0x1b1),'JgKXs':'ID\x20Generator\x20is\x20disabled\x20(set\x20IDGEN_ENABLED=true)','onvkT':'number','RNTLE':function(_0x3b491c,_0x3e838b){return _0x3b491c===_0x3e838b;},'UBSYz':function(_0x689cc1,_0xf9408a){return _0x689cc1(_0xf9408a);},'ukdjB':_0x5b3e17(0x100),'zZyjI':'idgen_number_idem_loser','QnXRQ':_0x5b3e17(0x129)};if(!this[_0x5b3e17(0x1ab)])throw new IdGeneratorError(_0xdf6195[_0x5b3e17(0x135)],_0xdf6195[_0x5b3e17(0x16a)]);const _0x209f01=this[_0x5b3e17(0x15d)](_0x360dab),_0x11b132=this[_0x5b3e17(0x162)](_0x360dab['idempotencyKey']),{resource:_0x43ed96,format:_0x1b943e,prefix:_0x394ea8,separator:_0x4602b3,numDigits:_0x53b85f,reuseDelete:_0x411e70}=_0x209f01,{formatKey:_0x1cf25f,datePrefix:_0x219657}=this[_0x5b3e17(0x1bf)](_0x1b943e,_0x394ea8),_0x3f152e=this['_buildSeqKey'](_0x43ed96,_0x1cf25f),_0x5ba520=this[_0x5b3e17(0x1d7)](_0x43ed96,_0x1cf25f),_0x4289a8=this[_0x5b3e17(0xfc)](_0x1b943e);let _0x1793aa=null;if(_0x11b132){_0x1793aa=this[_0x5b3e17(0x168)](_0xdf6195[_0x5b3e17(0x1e6)],_0x43ed96,_0x1cf25f,_0x11b132);const _0x27c761=await this[_0x5b3e17(0x126)](_0x1793aa);if(_0x27c761)return _0x27c761;}const _0x100c20=redisClient[_0x5b3e17(0x196)](),_0x5c4861=await _0x100c20['eval'](LUA_GENERATE_NUMBER,0x2,_0x3f152e,_0x5ba520,_0x411e70?'1':'0',String(_0x4289a8)),_0xb0cd44=_0x5c4861[0x0],_0x59200e=_0xdf6195['RNTLE'](_0x5c4861[0x1],0x1),_0x501e7d=this[_0x5b3e17(0xf6)]({'format':_0x1b943e,'prefix':_0x394ea8,'datePrefix':_0x219657,'separator':_0x4602b3,'numDigits':_0x53b85f,'counterInt':_0xb0cd44}),_0x1e60d9={'value':_0x501e7d,'counter':_0xb0cd44,'resource':_0x43ed96,'formatKey':_0x1cf25f,'isReused':_0x59200e,'generatedAt':new Date()[_0x5b3e17(0x18c)]()},_0x3da5b8=await this[_0x5b3e17(0xe9)](_0x1793aa,_0x1e60d9);if(!_0x3da5b8['stored']){try{await _0x100c20[_0x5b3e17(0x198)](LUA_RELEASE_NUMBER,0x1,_0x5ba520,String(_0xb0cd44),_0xdf6195[_0x5b3e17(0x1de)](String,_0x4289a8));}catch(_0x2f0175){logger[_0x5b3e17(0x1ce)]({'event':'idgen_idem_loser_release_error','error':_0x2f0175['message'],'resource':_0x43ed96,'formatKey':_0x1cf25f,'counterInt':_0xb0cd44},_0xdf6195['ukdjB']);}return logger[_0x5b3e17(0x1b6)]({'event':_0xdf6195['zZyjI'],'resource':_0x43ed96,'formatKey':_0x1cf25f,'counter':_0xb0cd44},'ID\x20Generator\x20number\x20idem\x20race\x20lost,\x20returning\x20winner\x20envelope'),_0x3da5b8['winnerResult'];}return this['_updateMeta'](_0x43ed96,_0x1cf25f,{'lastValue':_0x501e7d,'lastCounter':_0xb0cd44,'lastIsReused':_0x59200e,'lastGeneratedAt':_0x1e60d9['generatedAt']},_0x4289a8),logger[_0x5b3e17(0x1b6)]({'event':_0xdf6195['QnXRQ'],'resource':_0x43ed96,'formatKey':_0x1cf25f,'counter':_0xb0cd44,'isReused':_0x59200e},_0x5b3e17(0x1c5)+_0x501e7d),_0x1e60d9;}async['releaseNumber'](_0x3dd719){const _0x416973=a0_0x2de2bd,_0x1e19db={'rKnMD':_0x416973(0x1b1),'onlZM':function(_0x6869f8,_0x3a8bc6){return _0x6869f8!==_0x3a8bc6;},'bPvGT':function(_0x560700,_0x8d7fe9){return _0x560700!==_0x8d7fe9;},'zwjnr':_0x416973(0x114),'xTRdP':function(_0x349f2d,_0x25fe37){return _0x349f2d===_0x25fe37;},'gjLZA':'IDGEN_INVALID_NUMBER','VNCsh':'formatKey\x20is\x20required\x20in\x20low-level\x20release','UOphX':function(_0xa0960,_0x5b8da7){return _0xa0960<_0x5b8da7;},'GCgtZ':function(_0x30b9b9,_0x54d319){return _0x30b9b9(_0x54d319);}};if(!this[_0x416973(0x1ab)])throw new IdGeneratorError(_0x1e19db[_0x416973(0x1e7)],'ID\x20Generator\x20is\x20disabled');let _0x7c3ee,_0x304b72,_0x400888,_0x19064c;const _0x48eb0c=this[_0x416973(0x162)](_0x3dd719['idempotencyKey']);if(_0x1e19db['onlZM'](_0x3dd719['counterInt'],undefined)&&_0x3dd719[_0x416973(0x16c)]!==null){this['_validateResource'](_0x3dd719[_0x416973(0x1b0)]),_0x7c3ee=_0x3dd719['resource'];if(_0x1e19db[_0x416973(0x192)](typeof _0x3dd719['formatKey'],_0x1e19db['zwjnr'])||_0x1e19db['xTRdP'](_0x3dd719[_0x416973(0xeb)][_0x416973(0x181)],0x0))throw new IdGeneratorError(_0x1e19db[_0x416973(0xf1)],_0x1e19db['VNCsh']);_0x304b72=_0x3dd719[_0x416973(0xeb)];if(!Number['isInteger'](_0x3dd719[_0x416973(0x16c)])||_0x1e19db[_0x416973(0x173)](_0x3dd719[_0x416973(0x16c)],0x1))throw new IdGeneratorError(_0x416973(0x18e),'counterInt\x20must\x20be\x20positive\x20integer\x20(got:\x20'+_0x3dd719['counterInt']+')');_0x400888=_0x3dd719[_0x416973(0x16c)];const _0x31904f=_0x304b72[_0x416973(0x1cf)](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/);_0x19064c=_0x31904f?_0x31904f[0x1]:_0x416973(0x101);}else{const _0x5bbebe=this['_validateNumberParams'](_0x3dd719),_0x1ffd74=this[_0x416973(0xec)]({'format':_0x5bbebe['format'],'prefix':_0x5bbebe['prefix'],'separator':_0x5bbebe[_0x416973(0x1d3)],'numDigits':_0x5bbebe['numDigits'],'number':_0x3dd719[_0x416973(0x17d)]});_0x7c3ee=_0x5bbebe['resource'],_0x304b72=_0x1ffd74[_0x416973(0xeb)],_0x400888=_0x1ffd74['counterInt'],_0x19064c=_0x5bbebe[_0x416973(0x14e)];}const _0xedd262=this[_0x416973(0x1d7)](_0x7c3ee,_0x304b72),_0x2f6e37=this['_getCounterTTL'](_0x19064c);let _0x1d12a4=null;if(_0x48eb0c){_0x1d12a4=this['_buildIdemKey']('release',_0x7c3ee,_0x304b72,_0x48eb0c);const _0x5240d5=await this['_retrieveIdemCache'](_0x1d12a4);if(_0x5240d5)return _0x5240d5;}const _0x1aa5f4=redisClient[_0x416973(0x196)]();await _0x1aa5f4['eval'](LUA_RELEASE_NUMBER,0x1,_0xedd262,_0x1e19db['GCgtZ'](String,_0x400888),String(_0x2f6e37));const _0x48c64e={'released':!![],'resource':_0x7c3ee,'formatKey':_0x304b72,'counter':_0x400888,'releasedAt':new Date()['toISOString']()};return await this['_storeIdemCache'](_0x1d12a4,_0x48c64e),this[_0x416973(0x17c)](_0x7c3ee,_0x304b72,{'lastReleasedCounter':_0x400888,'lastReleasedAt':_0x48c64e[_0x416973(0x1ea)]},_0x2f6e37),logger['info']({'event':'idgen_number_released','resource':_0x7c3ee,'formatKey':_0x304b72,'counter':_0x400888},'ID\x20Generator\x20number\x20released:\x20'+_0x400888),_0x48c64e;}async['reserveNumber'](_0x776622){const _0x25e1dc=a0_0x2de2bd,_0x4435cf={'OFnBW':_0x25e1dc(0x1b1),'HywGz':_0x25e1dc(0x125),'WNqoh':function(_0x2abc66,_0x3f323c){return _0x2abc66*_0x3f323c;},'SHnUo':_0x25e1dc(0x1b0),'AwPAj':_0x25e1dc(0x14e),'uJQvh':'prefix','jlogf':'createdAt','zgDDO':function(_0x416afc,_0x492fb2){return _0x416afc(_0x492fb2);},'YKJfQ':_0x25e1dc(0x18b),'buOxO':_0x25e1dc(0x16b),'gleIN':_0x25e1dc(0x188),'nYSKw':_0x25e1dc(0x1e0),'MZBVn':function(_0x16e675,_0xd19b8f){return _0x16e675(_0xd19b8f);},'itvjF':'Failed\x20to\x20cancel\x20reservation\x20for\x20idempotency\x20loser','nwoqt':_0x25e1dc(0x1c6),'dCnip':_0x25e1dc(0x19b)};if(!this['enabled'])throw new IdGeneratorError(_0x4435cf[_0x25e1dc(0x1d9)],_0x4435cf[_0x25e1dc(0x1f3)]);const _0x15f001=this['_validateNumberParams'](_0x776622),_0x387e2d=this['_validateReserveTTL'](_0x776622[_0x25e1dc(0x18a)]),_0x1fddcd=this['_validateIdempotencyKey'](_0x776622['idempotencyKey']),{resource:_0x373213,format:_0x1fe3a2,prefix:_0x77c5c1,separator:_0x29b987,numDigits:_0x41ed1d,reuseDelete:_0x18c540}=_0x15f001,{formatKey:_0x49f880,datePrefix:_0x1f02bb}=this[_0x25e1dc(0x1bf)](_0x1fe3a2,_0x77c5c1),_0x1cfbcd=this['_buildSeqKey'](_0x373213,_0x49f880),_0x84f6ac=this[_0x25e1dc(0x1d7)](_0x373213,_0x49f880),_0x22e198=this[_0x25e1dc(0x1bc)](_0x373213,_0x49f880),_0x536a36=this['_getCounterTTL'](_0x1fe3a2);let _0x491626=null;if(_0x1fddcd){_0x491626=this['_buildIdemKey']('reserve',_0x373213,_0x49f880,_0x1fddcd);const _0x1b4e13=await this[_0x25e1dc(0x126)](_0x491626);if(_0x1b4e13)return _0x1b4e13;}const _0x7069d7=crypto[_0x25e1dc(0x199)](),_0x3c8ed6=this['_buildReservationKey'](_0x7069d7),_0x1ee82a=this[_0x25e1dc(0x1a9)](),_0x4c4a7d=Date[_0x25e1dc(0x11e)](),_0x55d3a4=_0x4c4a7d+_0x387e2d*0x3e8,_0x1ca187=_0x4435cf['WNqoh'](_0x387e2d,0x3e8),_0x315bb8=new Date(_0x4c4a7d)[_0x25e1dc(0x18c)](),_0x1535ef=new Date(_0x55d3a4)[_0x25e1dc(0x18c)](),_0x31eb0c=[_0x4435cf['SHnUo'],_0x373213,'formatKey',_0x49f880,_0x4435cf['AwPAj'],_0x1fe3a2,_0x4435cf[_0x25e1dc(0x165)],_0x77c5c1,_0x25e1dc(0x1d3),_0x29b987,'numDigits',String(_0x41ed1d),'datePrefix',_0x1f02bb||'',_0x4435cf['jlogf'],_0x315bb8,_0x25e1dc(0x1aa),_0x1535ef,_0x25e1dc(0x180),_0x4435cf['zgDDO'](String,_0x1ca187)];_0x1fddcd&&_0x31eb0c[_0x25e1dc(0x1ad)](_0x25e1dc(0x130),_0x1fddcd);const _0x1ef898=redisClient['getClient'](),_0x42f3a9=await _0x1ef898[_0x25e1dc(0x198)](LUA_RESERVE_NUMBER,0x3,_0x1cfbcd,_0x84f6ac,_0x22e198,_0x18c540?'1':'0',String(_0x536a36),_0x7069d7,_0x3c8ed6,_0x4435cf['zgDDO'](String,_0x1ca187),_0x4435cf['zgDDO'](String,_0x55d3a4),_0x4435cf['zgDDO'](String,_0x4c4a7d),_0x1ee82a,..._0x31eb0c),_0x317c65=_0x42f3a9[0x0],_0x438df2=_0x42f3a9[0x1]===0x1,_0x57458a=_0x42f3a9[0x2]||0x0;let _0x401771;try{_0x401771=this['_formatNumber']({'format':_0x1fe3a2,'prefix':_0x77c5c1,'datePrefix':_0x1f02bb,'separator':_0x29b987,'numDigits':_0x41ed1d,'counterInt':_0x317c65});}catch(_0x589ddb){try{await _0x1ef898[_0x25e1dc(0x198)](LUA_CANCEL_RESERVATION,0x3,_0x3c8ed6,_0x22e198,_0x84f6ac,_0x7069d7,String(_0x536a36));}catch(_0x11ccb2){logger['warn']({'event':'idgen_reserve_overflow_compensation_error','error':_0x11ccb2[_0x25e1dc(0x14f)],'resource':_0x373213,'formatKey':_0x49f880,'counterInt':_0x317c65,'token':_0x7069d7},_0x4435cf['YKJfQ']);}throw _0x589ddb;}try{await _0x1ef898['hset'](_0x3c8ed6,_0x4435cf['buOxO'],_0x401771);}catch(_0x4f42e4){logger[_0x25e1dc(0x1ce)]({'event':_0x4435cf['gleIN'],'error':_0x4f42e4['message'],'resource':_0x373213,'formatKey':_0x49f880,'counterInt':_0x317c65,'token':_0x7069d7},_0x4435cf[_0x25e1dc(0x16d)]);}const _0x3fc3bc={'token':_0x7069d7,'value':_0x401771,'counter':_0x317c65,'resource':_0x373213,'formatKey':_0x49f880,'isReused':_0x438df2,'createdAt':_0x315bb8,'expiresAt':_0x1535ef,'reapedCount':_0x57458a},_0x62561e=await this[_0x25e1dc(0xe9)](_0x491626,_0x3fc3bc);if(!_0x62561e[_0x25e1dc(0x132)]){try{await _0x1ef898[_0x25e1dc(0x198)](LUA_CANCEL_RESERVATION,0x3,_0x3c8ed6,_0x22e198,_0x84f6ac,_0x7069d7,_0x4435cf['MZBVn'](String,_0x536a36));}catch(_0x23b7e6){logger[_0x25e1dc(0x1ce)]({'event':_0x25e1dc(0x14c),'error':_0x23b7e6[_0x25e1dc(0x14f)],'resource':_0x373213,'formatKey':_0x49f880,'counterInt':_0x317c65,'token':_0x7069d7},_0x4435cf[_0x25e1dc(0x1dd)]);}return logger['info']({'event':_0x4435cf[_0x25e1dc(0x138)],'resource':_0x373213,'formatKey':_0x49f880,'counter':_0x317c65,'token':_0x7069d7},'ID\x20Generator\x20reserve\x20idem\x20race\x20lost,\x20returning\x20winner\x20envelope'),_0x62561e[_0x25e1dc(0x178)];}return this['_updateMeta'](_0x373213,_0x49f880,{'lastReservedCounter':_0x317c65,'lastReservedAt':_0x315bb8,'lastReapedCount':_0x57458a},_0x536a36),logger[_0x25e1dc(0x1b6)]({'event':_0x4435cf[_0x25e1dc(0x1b9)],'resource':_0x373213,'formatKey':_0x49f880,'counter':_0x317c65,'isReused':_0x438df2,'token':_0x7069d7,'ttl':_0x387e2d,'reapedCount':_0x57458a},'ID\x20Generator\x20number\x20reserved:\x20'+_0x401771+_0x25e1dc(0x10c)+_0x7069d7+')'),_0x3fc3bc;}async[a0_0x2de2bd(0x156)](_0x2fb444){const _0x8dbb76=a0_0x2de2bd,_0x3256c3={'lmYLC':'ID\x20Generator\x20is\x20disabled','oNMWo':_0x8dbb76(0x133),'WRPhc':_0x8dbb76(0x19f)};if(!this['enabled'])throw new IdGeneratorError(_0x8dbb76(0x1b1),_0x3256c3[_0x8dbb76(0xf8)]);const _0x29f920=this[_0x8dbb76(0x1ef)](_0x2fb444&&_0x2fb444[_0x8dbb76(0x1d2)]),_0xba4593=this[_0x8dbb76(0x162)](_0x2fb444&&_0x2fb444['idempotencyKey']);let _0x34c231=null;if(_0xba4593){_0x34c231=idempotencyManager[_0x8dbb76(0x150)]('idgen',_0x3256c3[_0x8dbb76(0x10f)],_0x29f920+':'+_0xba4593);const _0x58eba4=await this[_0x8dbb76(0x126)](_0x34c231);if(_0x58eba4)return _0x58eba4;}const _0x491472=await this['_getReservationContext'](_0x29f920),_0x4345a9=redisClient[_0x8dbb76(0x196)](),_0x446d2f=await _0x4345a9['eval'](LUA_CONFIRM_RESERVATION,0x2,_0x491472['rsvKey'],_0x491472['rsvIdxKey'],_0x29f920);if(!_0x446d2f||_0x446d2f[0x0]!==0x1)throw new IdGeneratorError(_0x3256c3[_0x8dbb76(0x1fb)],_0x8dbb76(0x191)+_0x29f920,{'token':_0x29f920});const _0xff469e=parseInt(_0x446d2f[0x1],0xa),_0x466e8f=_0x446d2f[0x2],_0x39aa9c=_0x446d2f[0x3],_0x48c488=new Date()[_0x8dbb76(0x18c)](),_0x551560={'confirmed':!![],'token':_0x29f920,'value':_0x466e8f,'counter':_0xff469e,'resource':_0x491472['resource'],'formatKey':_0x39aa9c,'confirmedAt':_0x48c488};await this[_0x8dbb76(0x1a1)](_0x34c231,_0x551560);const _0x18559e=_0x39aa9c['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0xf098ba=_0x18559e?_0x18559e[0x1]:_0x8dbb76(0x101),_0x406552=this[_0x8dbb76(0xfc)](_0xf098ba);return this[_0x8dbb76(0x17c)](_0x491472[_0x8dbb76(0x1b0)],_0x39aa9c,{'lastConfirmedCounter':_0xff469e,'lastConfirmedAt':_0x48c488},_0x406552),logger['info']({'event':_0x8dbb76(0x1f7),'resource':_0x491472[_0x8dbb76(0x1b0)],'formatKey':_0x39aa9c,'counter':_0xff469e,'token':_0x29f920},'ID\x20Generator\x20reservation\x20confirmed:\x20'+_0x466e8f+_0x8dbb76(0x10c)+_0x29f920+')'),_0x551560;}async[a0_0x2de2bd(0x13d)](_0x14e985){const _0x5cde66=a0_0x2de2bd,_0x1990e7={'Lykfr':_0x5cde66(0x19e),'UiNth':_0x5cde66(0x101),'lqOcv':function(_0x17ff8b,_0x36164c){return _0x17ff8b(_0x36164c);},'OGUyH':_0x5cde66(0x19f)};if(!this['enabled'])throw new IdGeneratorError('IDGEN_DISABLED','ID\x20Generator\x20is\x20disabled');const _0x4a5027=this[_0x5cde66(0x1ef)](_0x14e985&&_0x14e985['token']),_0x21e4f1=this[_0x5cde66(0x162)](_0x14e985&&_0x14e985['idempotencyKey']);let _0x1efd25=null;if(_0x21e4f1){_0x1efd25=idempotencyManager[_0x5cde66(0x150)](_0x1990e7['Lykfr'],'reserve_cancel',_0x4a5027+':'+_0x21e4f1);const _0x423990=await this['_retrieveIdemCache'](_0x1efd25);if(_0x423990)return _0x423990;}const _0xcad71b=await this[_0x5cde66(0x115)](_0x4a5027),_0x15f903=this['_buildReuseKey'](_0xcad71b['resource'],_0xcad71b[_0x5cde66(0xeb)]),_0x5020f8=_0xcad71b[_0x5cde66(0xeb)]['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x4defe3=_0x5020f8?_0x5020f8[0x1]:_0x1990e7[_0x5cde66(0x186)],_0x592fb8=this['_getCounterTTL'](_0x4defe3),_0x442c8b=redisClient['getClient'](),_0x3a0bf1=await _0x442c8b['eval'](LUA_CANCEL_RESERVATION,0x3,_0xcad71b[_0x5cde66(0x1cb)],_0xcad71b['rsvIdxKey'],_0x15f903,_0x4a5027,_0x1990e7['lqOcv'](String,_0x592fb8));if(!_0x3a0bf1||_0x3a0bf1[0x0]!==0x1)throw new IdGeneratorError(_0x1990e7['OGUyH'],_0x5cde66(0x191)+_0x4a5027,{'token':_0x4a5027});const _0x46d6af=parseInt(_0x3a0bf1[0x1],0xa),_0x148c27=_0x3a0bf1[0x2],_0x2b8494=_0x3a0bf1[0x3],_0x2ff8fe=new Date()[_0x5cde66(0x18c)](),_0x19f998={'cancelled':!![],'token':_0x4a5027,'value':_0x148c27,'counter':_0x46d6af,'resource':_0xcad71b['resource'],'formatKey':_0x2b8494,'releasedToReuse':!![],'cancelledAt':_0x2ff8fe};return await this[_0x5cde66(0x1a1)](_0x1efd25,_0x19f998),this[_0x5cde66(0x17c)](_0xcad71b[_0x5cde66(0x1b0)],_0x2b8494,{'lastCancelledCounter':_0x46d6af,'lastCancelledAt':_0x2ff8fe},_0x592fb8),logger['info']({'event':_0x5cde66(0x1f1),'resource':_0xcad71b[_0x5cde66(0x1b0)],'formatKey':_0x2b8494,'counter':_0x46d6af,'token':_0x4a5027},'ID\x20Generator\x20reservation\x20cancelled:\x20'+_0x148c27+'\x20(token='+_0x4a5027+')'),_0x19f998;}async['extendReservation'](_0x49398b){const _0x323933=a0_0x2de2bd,_0x3c4af9={'qxwgV':_0x323933(0x1b1),'IQQDs':'ID\x20Generator\x20is\x20disabled','bYSJl':'idgen','hmFXx':function(_0x47be9f,_0x4aca71){return _0x47be9f+_0x4aca71;},'zvcky':'IDGEN_RESERVATION_NOT_FOUND','kGmED':function(_0x4d4182,_0xd75486,_0x3592ef){return _0x4d4182(_0xd75486,_0x3592ef);},'TKdaV':_0x323933(0x174)};if(!this['enabled'])throw new IdGeneratorError(_0x3c4af9[_0x323933(0x1f9)],_0x3c4af9['IQQDs']);const _0x47d701=this['_validateReservationToken'](_0x49398b&&_0x49398b[_0x323933(0x1d2)]),_0x127854=this[_0x323933(0x13c)](_0x49398b&&_0x49398b[_0x323933(0x18a)]),_0x11fada=this['_validateIdempotencyKey'](_0x49398b&&_0x49398b['idempotencyKey']);let _0x331117=null;if(_0x11fada){_0x331117=idempotencyManager[_0x323933(0x150)](_0x3c4af9[_0x323933(0x164)],'reserve_extend',_0x47d701+':'+_0x11fada);const _0x254a1e=await this[_0x323933(0x126)](_0x331117);if(_0x254a1e)return _0x254a1e;}const _0x6cb952=await this[_0x323933(0x115)](_0x47d701),_0x9c4ab2=Date[_0x323933(0x11e)](),_0x41c1ea=_0x3c4af9[_0x323933(0x15e)](_0x9c4ab2,_0x127854*0x3e8),_0x26718d=_0x127854*0x3e8,_0x3b483a=new Date(_0x41c1ea)['toISOString'](),_0x44adb8=redisClient[_0x323933(0x196)](),_0x2c3526=await _0x44adb8[_0x323933(0x198)](LUA_EXTEND_RESERVATION,0x2,_0x6cb952['rsvKey'],_0x6cb952[_0x323933(0x151)],_0x47d701,String(_0x26718d),String(_0x41c1ea),_0x3b483a);if(!_0x2c3526||_0x2c3526[0x0]!==0x1)throw new IdGeneratorError(_0x3c4af9['zvcky'],'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x47d701,{'token':_0x47d701});const _0x5235fd=_0x2c3526[0x1],_0x22b7fb=_0x3c4af9[_0x323933(0x155)](parseInt,_0x2c3526[0x2],0xa),_0x29b868=_0x2c3526[0x3],_0x3ac7f5=_0x2c3526[0x4],_0x451500=new Date(_0x9c4ab2)['toISOString'](),_0x311169={'extended':!![],'token':_0x47d701,'previousExpiresAt':_0x5235fd,'expiresAt':_0x3b483a,'ttlMs':_0x26718d,'resource':_0x6cb952[_0x323933(0x1b0)],'formatKey':_0x3ac7f5,'counter':_0x22b7fb,'value':_0x29b868,'extendedAt':_0x451500};await this[_0x323933(0x1a1)](_0x331117,_0x311169);const _0x2f74e1=_0x3ac7f5[_0x323933(0x1cf)](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x2d2239=_0x2f74e1?_0x2f74e1[0x1]:'text',_0x5bd0b4=this[_0x323933(0xfc)](_0x2d2239);return this[_0x323933(0x17c)](_0x6cb952['resource'],_0x3ac7f5,{'lastExtendedCounter':_0x22b7fb,'lastExtendedAt':_0x451500},_0x5bd0b4),logger['info']({'event':_0x3c4af9[_0x323933(0x118)],'resource':_0x6cb952['resource'],'formatKey':_0x3ac7f5,'counter':_0x22b7fb,'token':_0x47d701,'ttl':_0x127854},'ID\x20Generator\x20reservation\x20extended:\x20'+_0x29b868+_0x323933(0x10c)+_0x47d701+_0x323933(0x107)+_0x127854+'s)'),_0x311169;}async[a0_0x2de2bd(0x1f5)](_0x4e17da){const _0x10dfab=a0_0x2de2bd,_0xe0fca9={'usMUn':'IDGEN_DISABLED','dQFxT':function(_0x4c4663,_0x55b8d4){return _0x4c4663===_0x55b8d4;},'cLOMJ':_0x10dfab(0x19f),'AmjGE':function(_0x2d6bda,_0x34a2d4,_0x150a39){return _0x2d6bda(_0x34a2d4,_0x150a39);},'FOprP':function(_0x240772,_0x1056ed){return _0x240772>=_0x1056ed;}};if(!this['enabled'])throw new IdGeneratorError(_0xe0fca9['usMUn'],_0x10dfab(0x128));const _0x150f48=this['_validateReservationToken'](_0x4e17da&&_0x4e17da[_0x10dfab(0x1d2)]),_0x2f1720=this[_0x10dfab(0x10e)](_0x150f48),_0x8bdec0=redisClient['getClient'](),_0x4b89fa=_0x8bdec0['pipeline']();_0x4b89fa[_0x10dfab(0x1ac)](_0x2f1720),_0x4b89fa[_0x10dfab(0x142)](_0x2f1720);const _0x122a7f=await _0x4b89fa[_0x10dfab(0x104)](),_0x4237bb=_0x122a7f&&_0x122a7f[0x0]&&_0x122a7f[0x0][0x1],_0x2a4417=_0x122a7f&&_0x122a7f[0x1]&&_0x122a7f[0x1][0x1];if(!_0x4237bb||_0xe0fca9['dQFxT'](Object['keys'](_0x4237bb)[_0x10dfab(0x181)],0x0))throw new IdGeneratorError(_0xe0fca9['cLOMJ'],'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x150f48,{'token':_0x150f48});return{'token':_0x150f48,'resource':_0x4237bb[_0x10dfab(0x1b0)]||null,'formatKey':_0x4237bb['formatKey']||null,'format':_0x4237bb['format']||null,'prefix':_0x4237bb['prefix']||'','separator':_0x4237bb[_0x10dfab(0x1d3)]||'','numDigits':_0x4237bb['numDigits']?_0xe0fca9[_0x10dfab(0x12c)](parseInt,_0x4237bb['numDigits'],0xa):null,'datePrefix':_0x4237bb[_0x10dfab(0x10d)]||'','counter':_0x4237bb[_0x10dfab(0x1c2)]?parseInt(_0x4237bb[_0x10dfab(0x1c2)],0xa):null,'value':_0x4237bb[_0x10dfab(0x16b)]||null,'isReused':_0x4237bb[_0x10dfab(0x137)]==='1'||_0x4237bb[_0x10dfab(0x137)]===0x1,'createdAt':_0x4237bb['createdAt']||null,'expiresAt':_0x4237bb[_0x10dfab(0x1aa)]||null,'ttlRemainingMs':typeof _0x2a4417===_0x10dfab(0x17d)&&_0xe0fca9[_0x10dfab(0x141)](_0x2a4417,0x0)?_0x2a4417:null};}async['_getReservationContext'](_0x56f155){const _0x335346=a0_0x2de2bd,_0x2f715f={'ZYmza':'resource','TswCj':'formatKey','THDLj':function(_0x640948,_0x559d5a){return _0x640948||_0x559d5a;},'WXssu':'IDGEN_RESERVATION_NOT_FOUND'},_0x25adda=this['_buildReservationKey'](_0x56f155),_0x364699=redisClient['getClient'](),_0x292246=await _0x364699['hmget'](_0x25adda,_0x2f715f[_0x335346(0x1d6)],_0x2f715f[_0x335346(0x1c7)]),_0x4fa415=_0x292246&&_0x292246[0x0],_0xe4f7fc=_0x292246&&_0x292246[0x1];if(_0x2f715f[_0x335346(0x14b)](!_0x4fa415,!_0xe4f7fc))throw new IdGeneratorError(_0x2f715f['WXssu'],_0x335346(0x191)+_0x56f155,{'token':_0x56f155});return{'resource':_0x4fa415,'formatKey':_0xe4f7fc,'rsvKey':_0x25adda,'rsvIdxKey':this[_0x335346(0x1bc)](_0x4fa415,_0xe4f7fc)};}async[a0_0x2de2bd(0x1e1)](_0x550fc6){const _0x74d639=a0_0x2de2bd,_0x549b54={'gLhHc':_0x74d639(0x128),'FrEJM':_0x74d639(0x1e1),'HQEaB':function(_0x52bf30,_0x5c6122){return _0x52bf30<_0x5c6122;},'vpFzU':function(_0x4b950e,_0x5b8e09){return _0x4b950e===_0x5b8e09;},'awDiN':'IDGEN_UNIQUE_RETRY_EXHAUSTED','azuLH':function(_0x11a37b,_0x5174bc){return _0x11a37b&&_0x5174bc;},'whjOc':_0x74d639(0x153)};if(!this[_0x74d639(0x1ab)])throw new IdGeneratorError('IDGEN_DISABLED',_0x549b54['gLhHc']);this['_validateResource'](_0x550fc6['resource']),this[_0x74d639(0x1e2)](_0x550fc6[_0x74d639(0x1ec)]);const _0x605310=this[_0x74d639(0x1e5)](_0x550fc6[_0x74d639(0x18a)]),_0x3afcc5=this['_validateMaxRetry'](_0x550fc6[_0x74d639(0x1eb)]),_0x5afefd=this['_validateIdempotencyKey'](_0x550fc6['idempotencyKey']),_0x37bb56=_0x550fc6[_0x74d639(0x171)]===!![],{resource:_0x329b69,pattern:_0x1cd984}=_0x550fc6;let _0x345573=null;if(_0x5afefd){_0x345573=this[_0x74d639(0x168)](_0x549b54['FrEJM'],_0x329b69,null,_0x5afefd);const _0x3f42dc=await this[_0x74d639(0x126)](_0x345573);if(_0x3f42dc)return _0x3f42dc;}const _0x1a713f=redisClient['getClient']();let _0x3e5983=null,_0x4f2d2d=0x0;if(!_0x37bb56)_0x3e5983=this[_0x74d639(0x1c8)](_0x1cd984),_0x4f2d2d=0x1;else{for(let _0x69ce73=0x0;_0x549b54[_0x74d639(0x1c1)](_0x69ce73,_0x3afcc5);_0x69ce73++){_0x4f2d2d++;const _0x29513f=this[_0x74d639(0x1c8)](_0x1cd984);if(_0x605310){const _0x5769f6=this[_0x74d639(0x1bd)](_0x329b69,_0x29513f),_0x219329=await _0x1a713f[_0x74d639(0xf9)](_0x5769f6,'1','EX',_0x605310,'NX');if(_0x219329==='OK'){_0x3e5983=_0x29513f;break;}}else{const _0x52d36f=this[_0x74d639(0x1d1)](_0x329b69),_0x5ead3=await _0x1a713f[_0x74d639(0x1e3)](_0x52d36f,_0x29513f);if(_0x549b54['vpFzU'](_0x5ead3,0x1)){_0x3e5983=_0x29513f;break;}}}if(_0x3e5983===null)throw new IdGeneratorError(_0x549b54[_0x74d639(0x149)],_0x74d639(0x179)+_0x3afcc5+'\x20attempts.\x20Increase\x20pattern\x20length\x20or\x20maxRetry.',{'resource':_0x329b69,'pattern':_0x1cd984,'maxRetry':_0x3afcc5});}const _0x4e69b7={'value':_0x3e5983,'resource':_0x329b69,'pattern':_0x1cd984,'attemptCount':_0x4f2d2d,'generatedAt':new Date()['toISOString']()};_0x549b54['azuLH'](_0x605310,_0x37bb56)&&(_0x4e69b7[_0x74d639(0x1aa)]=new Date(Date['now']()+_0x605310*0x3e8)['toISOString']());const _0xe75475=await this[_0x74d639(0xe9)](_0x345573,_0x4e69b7);if(!_0xe75475[_0x74d639(0x132)])return _0x37bb56&&await this[_0x74d639(0x1a2)](_0x329b69,_0x3e5983,_0x605310),logger[_0x74d639(0x1b6)]({'event':_0x74d639(0x194),'resource':_0x329b69,'pattern':_0x1cd984,'value':_0x3e5983},_0x74d639(0x1b4)),_0xe75475[_0x74d639(0x178)];return logger['info']({'event':_0x549b54['whjOc'],'resource':_0x329b69,'pattern':_0x1cd984,'attemptCount':_0x4f2d2d,'ensureUnique':_0x37bb56,'ttl':_0x605310||0x0},'ID\x20Generator\x20random:\x20'+_0x3e5983),_0x4e69b7;}async['pin'](_0x1cf6ab){const _0x51ae98=a0_0x2de2bd,_0x31245b={'PJnhr':function(_0x3ff526,_0xe5ef55){return _0x3ff526>_0xe5ef55;}},_0x243da9=_0x1cf6ab[_0x51ae98(0x185)]==null?this['defaultPinDigits']:_0x1cf6ab['digits'];if(!Number[_0x51ae98(0x13f)](_0x243da9)||_0x243da9<MIN_PIN_DIGITS||_0x31245b['PJnhr'](_0x243da9,MAX_PIN_DIGITS))throw new IdGeneratorError('IDGEN_INVALID_DIGITS',_0x51ae98(0x18d)+MIN_PIN_DIGITS+'-'+MAX_PIN_DIGITS+_0x51ae98(0x106)+_0x243da9+')');const _0x3a8e07='9'[_0x51ae98(0x16f)](_0x243da9);return this[_0x51ae98(0x1e1)]({'resource':_0x1cf6ab['resource'],'pattern':_0x3a8e07,'ensureUnique':_0x1cf6ab[_0x51ae98(0x171)]===!![],'ttl':_0x1cf6ab[_0x51ae98(0x18a)],'maxRetry':_0x1cf6ab['maxRetry'],'idempotencyKey':_0x1cf6ab['idempotencyKey']});}async['serial'](_0x134437){const _0x257626=a0_0x2de2bd,_0x80f081={'iqZca':function(_0xd09bba,_0x8ce1b5){return _0xd09bba!==_0x8ce1b5;}},_0x543b66=_0x134437['pattern']||this['defaultSerialPattern'];return this['random']({'resource':_0x134437[_0x257626(0x1b0)],'pattern':_0x543b66,'ensureUnique':_0x80f081['iqZca'](_0x134437[_0x257626(0x171)],![]),'ttl':_0x134437[_0x257626(0x18a)],'maxRetry':_0x134437[_0x257626(0x1eb)],'idempotencyKey':_0x134437['idempotencyKey']});}async['code'](_0x3769c8){const _0x3e315c=a0_0x2de2bd,_0x35d5ca={'DKzcJ':function(_0x1ba4d1,_0x1d3cbb){return _0x1ba4d1!==_0x1d3cbb;}},_0x3969e9=_0x3769c8['pattern']||this['defaultCodePattern'];return this[_0x3e315c(0x1e1)]({'resource':_0x3769c8[_0x3e315c(0x1b0)],'pattern':_0x3969e9,'ensureUnique':_0x35d5ca['DKzcJ'](_0x3769c8[_0x3e315c(0x171)],![]),'ttl':_0x3769c8[_0x3e315c(0x18a)],'maxRetry':_0x3769c8['maxRetry'],'idempotencyKey':_0x3769c8['idempotencyKey']});}async[a0_0x2de2bd(0x11c)](_0x5c8806){const _0x41ffcf=a0_0x2de2bd,_0x13c32a={'FGVhH':_0x41ffcf(0x1b1),'xtJBK':function(_0x3d190d,_0x359002){return _0x3d190d===_0x359002;},'XipRL':_0x41ffcf(0x1b3),'zyMbG':function(_0x58a0c8,_0x330c46){return _0x58a0c8>_0x330c46;}};if(!this['enabled'])throw new IdGeneratorError(_0x13c32a['FGVhH'],_0x41ffcf(0x128));this['_validateResource'](_0x5c8806[_0x41ffcf(0x1b0)]);if(typeof _0x5c8806[_0x41ffcf(0x16b)]!==_0x41ffcf(0x114)||_0x13c32a[_0x41ffcf(0x1cd)](_0x5c8806[_0x41ffcf(0x16b)]['length'],0x0))throw new IdGeneratorError('IDGEN_INVALID_NUMBER',_0x13c32a['XipRL']);const {resource:_0x7b3716,value:_0x373a57}=_0x5c8806,_0x41b8b6=redisClient[_0x41ffcf(0x196)](),_0x44122a=this['_buildActiveKey'](_0x7b3716,_0x373a57),_0x593b5e=this['_buildIssuedKey'](_0x7b3716),[_0xd8497c,_0x53c01d]=await Promise['all']([_0x41b8b6['del'](_0x44122a),_0x41b8b6[_0x41ffcf(0x1df)](_0x593b5e,_0x373a57)]),_0x2e9b4f=_0x13c32a[_0x41ffcf(0x1d5)](_0xd8497c+_0x53c01d,0x0);return logger[_0x41ffcf(0x1b6)]({'event':_0x41ffcf(0x17b),'resource':_0x7b3716,'value':_0x373a57,'consumed':_0x2e9b4f},'ID\x20Generator\x20consumed:\x20'+_0x373a57),{'consumed':_0x2e9b4f,'resource':_0x7b3716,'value':_0x373a57,'consumedAt':new Date()[_0x41ffcf(0x18c)]()};}async['peek'](_0x2f2c8c){const _0x13c53d=a0_0x2de2bd,_0x20557f={'eZlEl':'text','PkFvQ':_0x13c53d(0xf5),'oCHMH':function(_0x164177,_0x48beff){return _0x164177===_0x48beff;},'qyMdh':'random','TlPgG':_0x13c53d(0xed)};if(!this['enabled'])throw new IdGeneratorError('IDGEN_DISABLED',_0x13c53d(0x128));this[_0x13c53d(0x117)](_0x2f2c8c[_0x13c53d(0x1b0)]);const _0x25a958=_0x2f2c8c['mode']||'number',_0x5cb19f=redisClient['getClient']();if(_0x25a958==='number'){const _0x321a2b=(_0x2f2c8c['format']||_0x20557f[_0x13c53d(0x175)])['toLowerCase']();if(!ALLOWED_FORMATS[_0x13c53d(0x1c4)](_0x321a2b))throw new IdGeneratorError(_0x20557f['PkFvQ'],'Invalid\x20format:\x20'+_0x2f2c8c[_0x13c53d(0x14e)]);const {formatKey:_0x159dee}=this[_0x13c53d(0x1bf)](_0x321a2b,_0x2f2c8c['prefix']||''),_0x1127b9=this[_0x13c53d(0x127)](_0x2f2c8c[_0x13c53d(0x1b0)],_0x159dee),_0x4d129d=this[_0x13c53d(0x1d7)](_0x2f2c8c['resource'],_0x159dee),[_0x3ff996,_0x3b16d5]=await Promise['all']([_0x5cb19f[_0x13c53d(0xfd)](_0x1127b9),_0x5cb19f[_0x13c53d(0x1cc)](_0x4d129d)]);return{'resource':_0x2f2c8c[_0x13c53d(0x1b0)],'mode':'number','formatKey':_0x159dee,'currentCounter':parseInt(_0x3ff996,0xa)||0x0,'reusePoolSize':_0x3b16d5||0x0};}if(_0x20557f['oCHMH'](_0x25a958,_0x13c53d(0x1e1))){const _0xaa0f50=this['_buildIssuedKey'](_0x2f2c8c[_0x13c53d(0x1b0)]),_0x17c08c=await _0x5cb19f['scard'](_0xaa0f50);return{'resource':_0x2f2c8c['resource'],'mode':_0x20557f[_0x13c53d(0x15f)],'issuedCount':_0x17c08c||0x0};}throw new IdGeneratorError(_0x20557f['TlPgG'],'Unknown\x20mode:\x20'+_0x25a958);}async['getInfo'](_0x30b997){const _0x3a98c7=a0_0x2de2bd,_0x41571f={'HgNsV':function(_0x52c021,_0x2f6c7f){return _0x52c021===_0x2f6c7f;}},_0x51f43=await this['peek'](_0x30b997);if(_0x41571f['HgNsV'](_0x51f43['mode'],'number')){const _0x50d4c1=redisClient['getClient'](),_0x2c8a05=this['_buildMetaKey'](_0x30b997['resource'],_0x51f43['formatKey']),_0x3c415b=this['_buildReuseKey'](_0x30b997[_0x3a98c7(0x1b0)],_0x51f43['formatKey']),[_0x395766,_0x5e0d62]=await Promise[_0x3a98c7(0x1ca)]([_0x50d4c1['hgetall'](_0x2c8a05),_0x50d4c1['zrange'](_0x3c415b,0x0,-0x1)]);return{..._0x51f43,'reusePoolValues':_0x5e0d62[_0x3a98c7(0x176)](_0x33dfdd=>parseInt(_0x33dfdd,0xa)),'meta':_0x395766&&Object['keys'](_0x395766)[_0x3a98c7(0x181)]>0x0?_0x395766:null};}return _0x51f43;}async['reset'](_0x284bf3){const _0x10b068=a0_0x2de2bd,_0x550b94={'YXBME':'IDGEN_DISABLED','OZVoS':_0x10b068(0x128),'MlUhZ':_0x10b068(0x17d),'Ayvuf':_0x10b068(0x143),'BWuSk':'reuse','AspoG':'meta','GstnX':function(_0x4300bf,_0x4cb996){return _0x4300bf===_0x4cb996;},'iEdkH':'random','lRbMO':_0x10b068(0x1dc)};if(!this[_0x10b068(0x1ab)])throw new IdGeneratorError(_0x550b94[_0x10b068(0x1e9)],_0x550b94['OZVoS']);if(!this[_0x10b068(0x167)])throw new IdGeneratorError('IDGEN_RESET_NOT_ALLOWED','Reset\x20operation\x20not\x20allowed\x20(set\x20IDGEN_ALLOW_RESET=true\x20to\x20enable)');this['_validateResource'](_0x284bf3[_0x10b068(0x1b0)]);const _0xe0f31a=_0x284bf3[_0x10b068(0x193)]||_0x550b94[_0x10b068(0x11a)],_0x153e35=redisClient[_0x10b068(0x196)]();if(_0xe0f31a===_0x10b068(0x17d)){const _0x4ec529=(_0x284bf3[_0x10b068(0x14e)]||'text')['toLowerCase']();if(!ALLOWED_FORMATS['has'](_0x4ec529))throw new IdGeneratorError('IDGEN_INVALID_FORMAT',_0x10b068(0xf4)+_0x284bf3[_0x10b068(0x14e)]);const {formatKey:_0x555751}=this['_buildFormatKey'](_0x4ec529,_0x284bf3[_0x10b068(0x111)]||''),_0xfd51=this['_buildSeqKey'](_0x284bf3[_0x10b068(0x1b0)],_0x555751),_0x220cfc=this['_buildReuseKey'](_0x284bf3['resource'],_0x555751),_0x569e36=this[_0x10b068(0x1a3)](_0x284bf3[_0x10b068(0x1b0)],_0x555751);return await _0x153e35['del'](_0xfd51,_0x220cfc,_0x569e36),logger[_0x10b068(0x1ce)]({'event':_0x10b068(0x1dc),'resource':_0x284bf3['resource'],'mode':_0x550b94[_0x10b068(0x11a)],'formatKey':_0x555751},_0x10b068(0x159)+_0x284bf3[_0x10b068(0x1b0)]+':'+_0x555751),{'reset':!![],'resource':_0x284bf3['resource'],'mode':'number','formatKey':_0x555751,'deletedKeys':[_0x550b94['Ayvuf'],_0x550b94['BWuSk'],_0x550b94['AspoG']]};}if(_0x550b94[_0x10b068(0x12b)](_0xe0f31a,_0x550b94['iEdkH'])){const _0x40e7d1=this['_buildIssuedKey'](_0x284bf3[_0x10b068(0x1b0)]);return await _0x153e35[_0x10b068(0x12a)](_0x40e7d1),logger[_0x10b068(0x1ce)]({'event':_0x550b94['lRbMO'],'resource':_0x284bf3[_0x10b068(0x1b0)],'mode':_0x550b94['iEdkH']},'ID\x20Generator\x20reset:\x20random:'+_0x284bf3[_0x10b068(0x1b0)]),{'reset':!![],'resource':_0x284bf3['resource'],'mode':_0x550b94[_0x10b068(0x157)],'deletedKeys':['issued']};}throw new IdGeneratorError('IDGEN_INVALID_MODE',_0x10b068(0x177)+_0xe0f31a);}}const instance=new IdGenerator();instance[a0_0x2de2bd(0xee)]=IdGeneratorError,module['exports']=instance,module[a0_0x2de2bd(0x163)]['IdGeneratorError']=IdGeneratorError;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';const
|
|
1
|
+
'use strict';const a0_0x10254e=a0_0x308f;(function(_0x3a726b,_0x4cb379){const _0x1a95b2=a0_0x308f,_0x53db22=_0x3a726b();while(!![]){try{const _0x253675=-parseInt(_0x1a95b2(0x16c))/0x1*(parseInt(_0x1a95b2(0x14d))/0x2)+-parseInt(_0x1a95b2(0x148))/0x3+parseInt(_0x1a95b2(0x15e))/0x4*(-parseInt(_0x1a95b2(0x16e))/0x5)+-parseInt(_0x1a95b2(0x173))/0x6*(parseInt(_0x1a95b2(0x149))/0x7)+parseInt(_0x1a95b2(0x159))/0x8+parseInt(_0x1a95b2(0x152))/0x9*(-parseInt(_0x1a95b2(0x163))/0xa)+parseInt(_0x1a95b2(0x170))/0xb;if(_0x253675===_0x4cb379)break;else _0x53db22['push'](_0x53db22['shift']());}catch(_0x40e138){_0x53db22['push'](_0x53db22['shift']());}}}(a0_0x2c1a,0xa39e3));function a0_0x308f(_0x533d82,_0x7c6504){_0x533d82=_0x533d82-0x145;const _0x2c1a27=a0_0x2c1a();let _0x308fe9=_0x2c1a27[_0x533d82];if(a0_0x308f['ZgBxhv']===undefined){var _0x52e202=function(_0x2c12d4){const _0xd16159='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5c8225='',_0x4bd0ad='';for(let _0x5c3241=0x0,_0x5b364b,_0x2d9b21,_0x3c7763=0x0;_0x2d9b21=_0x2c12d4['charAt'](_0x3c7763++);~_0x2d9b21&&(_0x5b364b=_0x5c3241%0x4?_0x5b364b*0x40+_0x2d9b21:_0x2d9b21,_0x5c3241++%0x4)?_0x5c8225+=String['fromCharCode'](0xff&_0x5b364b>>(-0x2*_0x5c3241&0x6)):0x0){_0x2d9b21=_0xd16159['indexOf'](_0x2d9b21);}for(let _0x3375fb=0x0,_0x30682a=_0x5c8225['length'];_0x3375fb<_0x30682a;_0x3375fb++){_0x4bd0ad+='%'+('00'+_0x5c8225['charCodeAt'](_0x3375fb)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4bd0ad);};a0_0x308f['HIJGKf']=_0x52e202,a0_0x308f['IYJEfd']={},a0_0x308f['ZgBxhv']=!![];}const _0x133291=_0x2c1a27[0x0],_0x1a5dd2=_0x533d82+_0x133291,_0x1174ef=a0_0x308f['IYJEfd'][_0x1a5dd2];return!_0x1174ef?(_0x308fe9=a0_0x308f['HIJGKf'](_0x308fe9),a0_0x308f['IYJEfd'][_0x1a5dd2]=_0x308fe9):_0x308fe9=_0x1174ef,_0x308fe9;}const redisClient=require('./redis-client'),{logger}=require('./logger'),crypto=require(a0_0x10254e(0x151));function a0_0x2c1a(){const _0x57e041=['CMv0CMLLDMu','CMy6AwrLBtO','C3rVCMu','BKXXt0y','CMfUzg9Tvvvjra','Dhj1zq','CMvX','mZeXodi1mwrND3vzva','mJeYmvPhDwP6sq','zxHWB3j0CW','zMLSDgvY','x2LUAxrdB25MAwC','ndCYzNbkDwLP','Aw5MBW','x2vUC3vYzuLUAxrPywXPEMvK','AxnfBMfIBgvK','y3j5ChrV','ndK1ndy4txLXu0vq','zgvIDwC','x3r0Ba','AwrLBxbVDgvUy3LFCMv0CMLLDMvFzxjYB3i','zuDjuMu','x2LUAxrPywXPEMvK','x2vUywjSzwq','otmXmZi0ofrcB3LvAW','AwrLBxbVDgvUy3LFAgL0','C3rHDhvZq29Kzq','DhrS','AwrLBxbVDgvUy3LFC3rVCMvFzxjYB3i','mta4zhLZDhbU','swrLBxbVDgvUy3KGCMvZCg9UC2uGC3rVCMvK','BwvZC2fNzq','zgvMyxvSDa','AwrLBxbVDgvUy3LFC3rVCMu','mtbsqMXwtNm','swrLBxbVDgvUy3KGC3rVCMuGzxjYB3i6ia','lcbuveW6ia','CgfYC2u','AwrLBxbVDgvUy3LFBwLZCW','swrLBxbVDgvUy3KGy2fJAguGtuLtuW','swrLBxbVDgvUy3KGy29UzMLNDxjHDgLVBIbPBML0AwfSAxPLzcaTigvUywjSzwq6ia','C3bSAxq','zw5HyMXLza','mJKZohHlAu10Dq','swrLBxbVDgvUy3KGy2fJAguGseLu','mJe2mtKWwwzdsgr0','surftvbpvevoq1LFvfrm','mZm3odm0nZviDxHZvLu','z2v0q2XPzw50','z2vUzxjHDgvlzxK','mtiWnZH0rfPtEKu','EvngzxG'];a0_0x2c1a=function(){return _0x57e041;};return a0_0x2c1a();}class IdempotencyManager{constructor(){const _0x329ef3=a0_0x10254e;this['_enabled']=null,this[_0x329ef3(0x154)]=null,this[_0x329ef3(0x157)]=![];}[a0_0x10254e(0x14c)](){const _0xf986bd=a0_0x10254e,_0x23d1d2={'zgVci':function(_0x282abb,_0x4c917a,_0x34105b){return _0x282abb(_0x4c917a,_0x34105b);}};this['_enabled']=process['env']['IDEMPOTENCY_ENABLED']===_0xf986bd(0x146),this['_ttl']=_0x23d1d2['zgVci'](parseInt,process['env'][_0xf986bd(0x16f)],0xa)||0x12c,this['_initialized']=!![],logger['info']({'event':'idempotency_config_init','enabled':this['_enabled'],'ttl':this[_0xf986bd(0x154)]},_0xf986bd(0x169)+this[_0xf986bd(0x158)]+_0xf986bd(0x165)+this['_ttl']+'s');}[a0_0x10254e(0x14f)](){const _0x4ce113=a0_0x10254e;!this[_0x4ce113(0x157)]&&this[_0x4ce113(0x14c)]();}get['enabled'](){const _0xb21d0b=a0_0x10254e;return this['_ensureInitialized'](),this[_0xb21d0b(0x158)];}get[a0_0x10254e(0x15c)](){const _0x254560=a0_0x10254e;return this[_0x254560(0x14f)](),this['_ttl'];}[a0_0x10254e(0x150)](){return this['enabled'];}['buildKey'](_0x41a6d9,_0x4d05c1){const _0x644de6=a0_0x10254e,_0x1f97f1={'ySFex':_0x644de6(0x161)},_0x47b992=_0x4d05c1['path'][_0x644de6(0x16a)]('/')[_0x644de6(0x14b)](Boolean),_0x434388=_0x47b992[0x0]||_0x1f97f1[_0x644de6(0x174)],_0x3b45c2=_0x47b992[0x1]||'unknown',_0x1894a5=_0x47b992[0x2]||'unknown';return _0x644de6(0x176)+_0x434388+':'+_0x3b45c2+':'+_0x1894a5+':'+_0x41a6d9;}async[a0_0x10254e(0x177)](_0x49e472,_0x549f3e){const _0x421fcc=a0_0x10254e,_0x41ef84={'nLqOF':_0x421fcc(0x162),'eGIRe':_0x421fcc(0x15d)};if(!this['enabled'])return![];try{const _0x217e0f=redisClient['getClient']();return await _0x217e0f['setex'](_0x49e472,this['ttl'],JSON['stringify'](_0x549f3e)),logger[_0x421fcc(0x153)]({'event':_0x41ef84[_0x421fcc(0x178)],'key':_0x49e472,'ttl':this[_0x421fcc(0x15c)],'statusCode':_0x549f3e[_0x421fcc(0x15b)]},_0x421fcc(0x15f)),!![];}catch(_0x274e75){return logger['error']({'event':_0x41ef84[_0x421fcc(0x156)],'key':_0x49e472,'error':_0x274e75[_0x421fcc(0x160)]},_0x421fcc(0x164)+_0x274e75[_0x421fcc(0x160)]),![];}}async[a0_0x10254e(0x175)](_0x331228){const _0x3e107c=a0_0x10254e,_0x40c895={'ytzrJ':_0x3e107c(0x155)};if(!this[_0x3e107c(0x16b)])return null;try{const _0x4f672c=redisClient[_0x3e107c(0x171)](),_0x361b04=await _0x4f672c['get'](_0x331228);if(_0x361b04)return logger[_0x3e107c(0x14e)]({'event':_0x3e107c(0x15a),'key':_0x331228},_0x3e107c(0x16d)),JSON[_0x3e107c(0x166)](_0x361b04);return logger['debug']({'event':_0x3e107c(0x167),'key':_0x331228},_0x3e107c(0x168)),null;}catch(_0x293095){return logger['error']({'event':_0x40c895['ytzrJ'],'key':_0x331228,'error':_0x293095['message']},'Idempotency\x20retrieve\x20error:\x20'+_0x293095[_0x3e107c(0x160)]),null;}}[a0_0x10254e(0x172)](_0x55980e=a0_0x10254e(0x147)){const _0x3e71b2=a0_0x10254e;return _0x55980e+'_'+crypto[_0x3e71b2(0x145)]();}['buildDeterministicKey'](_0x21084f,_0x4ec128,_0x43f044){return _0x21084f+':'+_0x4ec128+':'+_0x43f044;}}module[a0_0x10254e(0x14a)]=new IdempotencyManager();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
function a0_0x5b08(_0x3ef041,_0x3cfb26){_0x3ef041=_0x3ef041-0x8f;const _0xd18eab=a0_0xd18e();let _0x5b08e8=_0xd18eab[_0x3ef041];if(a0_0x5b08['ifjLjb']===undefined){var _0x16486e=function(_0x207467){const _0x515992='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3288b5='',_0x46bb17='';for(let _0x3e3bf5=0x0,_0x4b46ca,_0x6a42ce,_0x3ec06a=0x0;_0x6a42ce=_0x207467['charAt'](_0x3ec06a++);~_0x6a42ce&&(_0x4b46ca=_0x3e3bf5%0x4?_0x4b46ca*0x40+_0x6a42ce:_0x6a42ce,_0x3e3bf5++%0x4)?_0x3288b5+=String['fromCharCode'](0xff&_0x4b46ca>>(-0x2*_0x3e3bf5&0x6)):0x0){_0x6a42ce=_0x515992['indexOf'](_0x6a42ce);}for(let _0x5d4a29=0x0,_0x542243=_0x3288b5['length'];_0x5d4a29<_0x542243;_0x5d4a29++){_0x46bb17+='%'+('00'+_0x3288b5['charCodeAt'](_0x5d4a29)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x46bb17);};a0_0x5b08['oWVHEY']=_0x16486e,a0_0x5b08['iivgbP']={},a0_0x5b08['ifjLjb']=!![];}const _0x309685=_0xd18eab[0x0],_0xdc5ee6=_0x3ef041+_0x309685,_0x4cfd88=a0_0x5b08['iivgbP'][_0xdc5ee6];return!_0x4cfd88?(_0x5b08e8=a0_0x5b08['oWVHEY'](_0x5b08e8),a0_0x5b08['iivgbP'][_0xdc5ee6]=_0x5b08e8):_0x5b08e8=_0x4cfd88,_0x5b08e8;}const a0_0x4138e0=a0_0x5b08;function a0_0xd18e(){const _0x346bd4=['A2v5CW','ndC3nty0owffr3zVzW','mZqYqurtq1LN','DMfSAwrHDgvfBwfPBa','zM9YBwf0','AM9PBG','mte1odaZmxfduLDVua','C2v0','DMfSAwrHDgvgAwvSzezVCM1HDa','AfvpCgS','mZCYmtLVBgL0qwG','mtm2otmYmJrXAwH5qKe','nZa0nZqYnxrTvwvHwa','zM9YrwfJAa','sw52ywXPzcbvuKWGzM9YBwf0','CMvWBgfJzq','Aw5MBW','DxjS','mJi3mZqYnLfvAeLRrW','sw52ywXPzcbWAg9UzsbMB3jTyxq','zw1HAwW','sw52ywXPzcbLBwfPBcbMB3jTyxq','sw52ywXPzcbUDw1IzxiGzM9YBwf0','ChvZAa','z2v0','z3vgBLq','rKzoCha','DMfSAwrHDgvoDw1Izxi','DMfSAwrHDgvvCMW','zgv0zwn0rhvWBgLJyxrLC0LUrMLSzq','ntq2otu5mKXxAhL6Aq'];a0_0xd18e=function(){return _0x346bd4;};return a0_0xd18e();}(function(_0x39df83,_0x1e02bc){const _0x4b42f8=a0_0x5b08,_0x1c00df=_0x39df83();while(!![]){try{const _0x21e093=parseInt(_0x4b42f8(0x9c))/0x1+-parseInt(_0x4b42f8(0xa8))/0x2+parseInt(_0x4b42f8(0x97))/0x3+-parseInt(_0x4b42f8(0x95))/0x4+-parseInt(_0x4b42f8(0xa2))/0x5+parseInt(_0x4b42f8(0x98))/0x6*(parseInt(_0x4b42f8(0xa0))/0x7)+parseInt(_0x4b42f8(0xa1))/0x8;if(_0x21e093===_0x1e02bc)break;else _0x1c00df['push'](_0x1c00df['shift']());}catch(_0x3b55b6){_0x1c00df['push'](_0x1c00df['shift']());}}}(a0_0xd18e,0xcfc60));const {logger}=require('./logger');class ImportValidator{['validateRow'](_0x23477a,_0x27ce6d=[],_0x5db71c={}){const _0x47cc7d=a0_0x5b08,_0x1cf5ff={'wivGb':function(_0x2a84a1,_0x6980bf){return _0x2a84a1===_0x6980bf;},'MjDON':function(_0x1d17cb,_0xad0ae3){return _0x1d17cb===_0xad0ae3;},'guFnT':'required'},_0x2d7b9b=[];return _0x27ce6d['forEach'](_0x4873d1=>{const _0x49f17b=a0_0x5b08,_0x364a76=_0x23477a[_0x4873d1];(_0x364a76===null||_0x1cf5ff['wivGb'](_0x364a76,undefined)||_0x1cf5ff['MjDON'](_0x364a76,''))&&_0x2d7b9b['push']({'field':_0x4873d1,'type':_0x1cf5ff[_0x49f17b(0x90)],'message':'Required\x20field\x20is\x20empty'});}),Object[_0x47cc7d(0x96)](_0x5db71c)['forEach'](_0x2d8c61=>{const _0x23b8fa=_0x47cc7d,_0x2ce528=_0x23477a[_0x2d8c61],_0x55ff69=_0x5db71c[_0x2d8c61];if(_0x2ce528===null||_0x1cf5ff['MjDON'](_0x2ce528,undefined)||_0x2ce528==='')return;const _0x4783c4=this[_0x23b8fa(0x9e)](_0x2d8c61,_0x2ce528,_0x55ff69);_0x4783c4&&_0x2d7b9b['push'](_0x4783c4);}),_0x2d7b9b;}['validateFieldFormat'](_0x1b52c1,_0x46316c,_0x1835bc){const _0x3f70da=a0_0x5b08,_0x12380d={'gDQcX':_0x3f70da(0xaa),'hUOpk':'phone','BoXeN':'number'};switch(_0x1835bc){case _0x12380d['gDQcX']:return this['validateEmail'](_0x1b52c1,_0x46316c);case _0x12380d[_0x3f70da(0x9f)]:return this['validatePhone'](_0x1b52c1,_0x46316c);case _0x3f70da(0xa7):return this[_0x3f70da(0x93)](_0x1b52c1,_0x46316c);case _0x12380d['BoXeN']:return this[_0x3f70da(0x92)](_0x1b52c1,_0x46316c);default:return null;}}[a0_0x4138e0(0x99)](_0x2b3f0c,_0x453a94){const _0x316c54=a0_0x4138e0,_0x5e5090={'bWMBh':'format','LGTvy':_0x316c54(0xab)},_0x25cbd9=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;if(!_0x25cbd9['test'](String(_0x453a94)))return{'field':_0x2b3f0c,'type':_0x5e5090['bWMBh'],'message':_0x5e5090['LGTvy']};return null;}['validatePhone'](_0x7adf36,_0x2a2aa7){const _0x4840df=a0_0x4138e0,_0x149916={'RjNoR':function(_0x3f82f9,_0x3c5dce){return _0x3f82f9(_0x3c5dce);},'trNsC':function(_0x4df5fe,_0x5e3d29){return _0x4df5fe<_0x5e3d29;},'JmmRI':_0x4840df(0x9a)},_0x21c355=_0x149916['RjNoR'](String,_0x2a2aa7)[_0x4840df(0xa5)](/\s+/g,''),_0x395efd=/^[\d\+\-\(\)]+$/;if(!_0x395efd['test'](_0x21c355)||_0x149916['trNsC'](_0x21c355['length'],0x8))return{'field':_0x7adf36,'type':_0x149916['JmmRI'],'message':_0x4840df(0xa9)};return null;}['validateUrl'](_0xf64883,_0x412d5b){const _0x15f55b=a0_0x4138e0,_0x29998a={'hrMfU':function(_0x3c7368,_0x42fcde){return _0x3c7368(_0x42fcde);},'FFNpp':_0x15f55b(0xa4)};try{return new URL(_0x29998a['hrMfU'](String,_0x412d5b)),null;}catch(_0x45af40){return{'field':_0xf64883,'type':'format','message':_0x29998a[_0x15f55b(0x91)]};}}[a0_0x4138e0(0x92)](_0x1b9eb2,_0xd6fa05){const _0x2a8b75=a0_0x4138e0,_0x46d8d4={'vtSvc':'format','rhTmd':_0x2a8b75(0xac)};if(isNaN(_0xd6fa05))return{'field':_0x1b9eb2,'type':_0x46d8d4['vtSvc'],'message':_0x46d8d4['rhTmd']};return null;}[a0_0x4138e0(0x94)](_0x2cacb6,_0x3ef6bf){const _0x68413c=new Map(),_0x86d2f2=[];return _0x2cacb6['forEach']((_0x4488af,_0x2a5711)=>{const _0x5e3615=a0_0x5b08,_0x5928ce=_0x3ef6bf['map'](_0x2c67ef=>_0x4488af[_0x2c67ef])[_0x5e3615(0x9b)]('|');_0x68413c['has'](_0x5928ce)?_0x86d2f2['push']({'rowIndex':_0x2a5711,'duplicateOf':_0x68413c[_0x5e3615(0x8f)](_0x5928ce),'key':_0x5928ce}):_0x68413c[_0x5e3615(0x9d)](_0x5928ce,_0x2a5711);}),_0x86d2f2;}['batchValidateRows'](_0x4775b3,_0x57f04b,_0x35b062){const _0x53ce94=a0_0x4138e0,_0x3573c8={'APzKS':function(_0x37ce60,_0x33edee){return _0x37ce60>_0x33edee;},'JMIQt':'batch_validation_complete','TaIQM':'Batch\x20validation\x20completed'},_0x610ede=[];return _0x4775b3[_0x53ce94(0xa3)]((_0x56db34,_0x564c9b)=>{const _0x53d0e0=_0x53ce94,_0x11f83e=this['validateRow'](_0x56db34,_0x57f04b,_0x35b062);_0x3573c8['APzKS'](_0x11f83e['length'],0x0)&&_0x610ede[_0x53d0e0(0xad)]({'rowIndex':_0x564c9b,'rowData':_0x56db34,'errors':_0x11f83e});}),logger[_0x53ce94(0xa6)]({'event':_0x3573c8['JMIQt'],'totalRows':_0x4775b3['length'],'errorCount':_0x610ede['length']},_0x3573c8['TaIQM']),_0x610ede;}}module['exports']=new ImportValidator();
|