@restforgejs/platform 4.3.5 → 4.3.8
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/payload/migrate.js +96 -0
- package/generators/lib/migrate/backend-payload-migrator.js +221 -0
- package/generators/lib/migrate/field-type-resolver.js +319 -0
- package/generators/lib/migrate/label-generator.js +38 -0
- package/generators/lib/migrate/migrate-runner.js +187 -0
- package/generators/lib/migrate/naming.js +43 -0
- package/generators/lib/migrate/sql-parser.js +124 -0
- package/generators/lib/payload/payload-runner.js +106 -11
- package/generators/lib/templates/dashboard-catalog.js +1 -1
- package/generators/lib/templates/db-connection-env.js +1 -1
- package/generators/lib/templates/dbschema-catalog.js +1 -1
- package/generators/lib/templates/field-validation-catalog.js +1 -1
- package/generators/lib/templates/mysql-template.js +1 -1
- package/generators/lib/templates/oracle-template.js +1 -1
- package/generators/lib/templates/postgres-template.js +1 -1
- package/generators/lib/templates/query-declarative-catalog.js +1 -1
- package/generators/lib/templates/sqlite-template.js +1 -1
- package/integrity-manifest.json +18 -18
- package/package.json +1 -1
- package/scripts/verify-integrity.js +1 -1
- package/server.js +1 -1
- package/src/components/handlers/adjust_handler.js +1 -1
- package/src/components/handlers/audit_handler.js +1 -1
- package/src/components/handlers/delete_handler.js +1 -1
- package/src/components/handlers/export_handler.js +1 -1
- package/src/components/handlers/import_handler.js +1 -1
- package/src/components/handlers/insert_handler.js +1 -1
- package/src/components/handlers/update_handler.js +1 -1
- package/src/components/handlers/upload_handler.js +1 -1
- package/src/components/handlers/workflow_handler.js +1 -1
- package/src/components/integrations/webhook.js +1 -1
- package/src/consumers/baseConsumer.js +1 -1
- package/src/consumers/declarativeMapper.js +1 -1
- package/src/consumers/handlers/apiHandler.js +1 -1
- package/src/consumers/handlers/consoleHandler.js +1 -1
- package/src/consumers/handlers/databaseHandler.js +1 -1
- package/src/consumers/handlers/index.js +1 -1
- package/src/consumers/handlers/kafkaHandler.js +1 -1
- package/src/consumers/index.js +1 -1
- package/src/consumers/messageTransformer.js +1 -1
- package/src/consumers/validator.js +1 -1
- package/src/core/db/dialect/base-dialect.js +1 -1
- package/src/core/db/dialect/index.js +1 -1
- package/src/core/db/dialect/mysql-dialect.js +1 -1
- package/src/core/db/dialect/oracle-dialect.js +1 -1
- package/src/core/db/dialect/postgres-dialect.js +1 -1
- package/src/core/db/dialect/sqlite-dialect.js +1 -1
- package/src/core/db/flatten-helper.js +1 -1
- package/src/core/db/query-builder-error.js +1 -1
- package/src/core/db/query-builder.js +1 -1
- package/src/core/db/relation-helper.js +1 -1
- package/src/core/handlers/delete_handler.js +1 -1
- package/src/core/handlers/insert_handler.js +1 -1
- package/src/core/handlers/update_handler.js +1 -1
- package/src/core/models/base-model.js +1 -1
- package/src/core/utils/cache-manager.js +1 -1
- package/src/core/utils/component-engine.js +1 -1
- package/src/core/utils/context-builder.js +1 -1
- package/src/core/utils/datetime-formatter.js +1 -1
- package/src/core/utils/datetime-parser.js +1 -1
- package/src/core/utils/db.js +1 -1
- package/src/core/utils/logger.js +1 -1
- package/src/core/utils/payload-loader.js +1 -1
- package/src/core/utils/security-checks.js +1 -1
- package/src/middleware/body-options.js +1 -1
- package/src/middleware/cors.js +1 -1
- package/src/middleware/idempotency.js +1 -1
- package/src/middleware/rate-limiter.js +1 -1
- package/src/middleware/request-logger.js +1 -1
- package/src/middleware/security-headers.js +1 -1
- package/src/models/base-model-mysql.js +1 -1
- package/src/models/base-model-oracle.js +1 -1
- package/src/models/base-model-sqlite.js +1 -1
- package/src/models/base-model.js +1 -1
- package/src/pro/caching/redis-client.js +1 -1
- package/src/pro/caching/redis-helper.js +1 -1
- package/src/pro/consumers/baseConsumer.js +1 -1
- package/src/pro/consumers/declarativeMapper.js +1 -1
- package/src/pro/consumers/handlers/apiHandler.js +1 -1
- package/src/pro/consumers/handlers/consoleHandler.js +1 -1
- package/src/pro/consumers/handlers/databaseHandler.js +1 -1
- package/src/pro/consumers/handlers/index.js +1 -1
- package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
- package/src/pro/consumers/index.js +1 -1
- package/src/pro/consumers/messageTransformer.js +1 -1
- package/src/pro/consumers/validator.js +1 -1
- package/src/pro/database/base-model-mysql.js +1 -1
- package/src/pro/database/base-model-oracle.js +1 -1
- package/src/pro/database/base-model-sqlite.js +1 -1
- package/src/pro/database/db-mysql.js +1 -1
- package/src/pro/database/db-oracle.js +1 -1
- package/src/pro/database/db-sqlite.js +1 -1
- package/src/pro/excel/excel-generator.js +1 -1
- package/src/pro/excel/excel-parser.js +1 -1
- package/src/pro/excel/export-service.js +1 -1
- package/src/pro/excel/export_handler.js +1 -1
- package/src/pro/excel/import-service.js +1 -1
- package/src/pro/excel/import-validator.js +1 -1
- package/src/pro/excel/import_handler.js +1 -1
- package/src/pro/excel/upsert-builder.js +1 -1
- package/src/pro/idgen/idgen-routes.js +1 -1
- package/src/pro/integrations/lookup-resolver.js +1 -1
- package/src/pro/integrations/upload-handler-v2.js +1 -1
- package/src/pro/integrations/upload-handler.js +1 -1
- package/src/pro/integrations/webhook.js +1 -1
- package/src/pro/locking/lock-routes.js +1 -1
- package/src/pro/locking/resource-lock-manager.js +1 -1
- package/src/pro/messaging/kafkaConsumerService.js +1 -1
- package/src/pro/messaging/kafkaService.js +1 -1
- package/src/pro/messaging/messagehubService.js +1 -1
- package/src/pro/messaging/rabbitmqService.js +1 -1
- package/src/pro/scheduler/job-manager.js +1 -1
- package/src/pro/scheduler/job-routes.js +1 -1
- package/src/pro/scheduler/job-validator.js +1 -1
- package/src/pro/storage/base-storage-provider.js +1 -1
- package/src/pro/storage/file-metadata-helper.js +1 -1
- package/src/pro/storage/index.js +1 -1
- package/src/pro/storage/local-storage-provider.js +1 -1
- package/src/pro/storage/s3-storage-provider.js +1 -1
- package/src/pro/storage/upload-cleanup-job.js +1 -1
- package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
- package/src/pro/storage/upload-pending-tracker.js +1 -1
- package/src/pro/websocket/broadcast-helper.js +1 -1
- package/src/pro/websocket/index.js +1 -1
- package/src/pro/websocket/livesync-server.js +1 -1
- package/src/pro/websocket/ws-broadcaster.js +1 -1
- package/src/services/export-service.js +1 -1
- package/src/services/import-service.js +1 -1
- package/src/services/kafkaConsumerService.js +1 -1
- package/src/services/kafkaService.js +1 -1
- package/src/services/messagehubService.js +1 -1
- package/src/services/rabbitmqService.js +1 -1
- package/src/utils/cache-invalidation-registry.js +1 -1
- package/src/utils/cache-manager.js +1 -1
- package/src/utils/component-engine.js +1 -1
- package/src/utils/config-extractor.js +1 -1
- package/src/utils/consumerLogger.js +1 -1
- package/src/utils/context-builder.js +1 -1
- package/src/utils/dashboard-helpers.js +1 -1
- package/src/utils/dateHelper.js +1 -1
- package/src/utils/datetime-formatter.js +1 -1
- package/src/utils/datetime-parser.js +1 -1
- package/src/utils/db-bootstrap.js +1 -1
- package/src/utils/db-mysql.js +1 -1
- package/src/utils/db-oracle.js +1 -1
- package/src/utils/db-sqlite.js +1 -1
- package/src/utils/db.js +1 -1
- package/src/utils/demo-generator.js +1 -1
- package/src/utils/excel-generator.js +1 -1
- package/src/utils/excel-parser.js +1 -1
- package/src/utils/file-watcher.js +1 -1
- package/src/utils/id-generator.js +1 -1
- package/src/utils/idempotency-manager.js +1 -1
- package/src/utils/import-validator.js +1 -1
- package/src/utils/license-client.js +1 -1
- package/src/utils/lock-manager.js +1 -1
- package/src/utils/logger.js +1 -1
- package/src/utils/lookup-resolver.js +1 -1
- package/src/utils/payload-loader.js +1 -1
- package/src/utils/processor-response.js +1 -1
- package/src/utils/rabbitmq.js +1 -1
- package/src/utils/redis-client.js +1 -1
- package/src/utils/redis-helper.js +1 -1
- package/src/utils/request-scope.js +1 -1
- package/src/utils/security-checks.js +1 -1
- package/src/utils/service-resolver.js +1 -1
- package/src/utils/shutdown-coordinator.js +1 -1
- package/src/utils/trusted-keys.js +1 -1
- package/src/utils/upload-handler.js +1 -1
- package/src/utils/upsert-builder.js +1 -1
- package/src/utils/workflow-hook-executor.js +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';const a0_0x1ed12e=a0_0x4f6e;(function(_0x401f40,_0x4c9f01){const _0x1e9dda=a0_0x4f6e,_0x2f86e3=_0x401f40();while(!![]){try{const _0x3744c1=-parseInt(_0x1e9dda(0x1fa))/0x1+-parseInt(_0x1e9dda(0x273))/0x2+-parseInt(_0x1e9dda(0x1c3))/0x3*(parseInt(_0x1e9dda(0x22d))/0x4)+-parseInt(_0x1e9dda(0x1c1))/0x5*(-parseInt(_0x1e9dda(0x1f8))/0x6)+parseInt(_0x1e9dda(0x1c7))/0x7+parseInt(_0x1e9dda(0x2be))/0x8+parseInt(_0x1e9dda(0x234))/0x9;if(_0x3744c1===_0x4c9f01)break;else _0x2f86e3['push'](_0x2f86e3['shift']());}catch(_0x44dc89){_0x2f86e3['push'](_0x2f86e3['shift']());}}}(a0_0x1fef,0x64ae0));const crypto=require('crypto'),redisClient=require('./redis-client'),{logger}=require('./logger'),idempotencyManager=require(a0_0x1ed12e(0x28e)),ALLOWED_FORMATS=new Set([a0_0x1ed12e(0x1fd),'yyyy',a0_0x1ed12e(0x269),'yyyymmdd']),RESOURCE_REGEX=/^[A-Za-z0-9_-]{1,64}$/,PREFIX_REGEX=/^[A-Za-z0-9_-]{0,32}$/,SEPARATOR_FORBIDDEN=/:/,MAX_NUM_DIGITS=0xc,MIN_NUM_DIGITS=0x1,MAX_PIN_DIGITS=0xc,MIN_PIN_DIGITS=0x4,MAX_PATTERN_LENGTH=0x100,MAX_TTL=0x278d00,MAX_RETRY_LIMIT=0x64,MAX_IDEMPOTENCY_KEY_LENGTH=0x80,RESERVATION_TOKEN_REGEX=/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i,MIN_RESERVE_TTL=0xa,MAX_RESERVE_TTL=0x15180,DEFAULT_RESERVE_TTL=0x258,RESERVE_REAP_BATCH=0x40,CHARSET_DIGIT='0123456789',CHARSET_UPPER='ABCDEFGHIJKLMNOPQRSTUVWXYZ',CHARSET_LOWER='abcdefghijklmnopqrstuvwxyz',CHARSET_LETTERS=CHARSET_UPPER+CHARSET_LOWER,CHARSET_UPPER_ALNUM=CHARSET_UPPER+CHARSET_DIGIT,CHARSET_MIXED_ALNUM=CHARSET_UPPER+CHARSET_LOWER+CHARSET_DIGIT,CHARSET_HEX_UPPER='0123456789ABCDEF',CHARSET_HEX_LOWER='0123456789abcdef',PLACEHOLDER_MAP={'9':CHARSET_DIGIT,'N':CHARSET_DIGIT,'A':CHARSET_UPPER,'a':CHARSET_LOWER,'L':CHARSET_LETTERS,'X':CHARSET_UPPER_ALNUM,'x':CHARSET_MIXED_ALNUM,'H':CHARSET_HEX_UPPER,'h':CHARSET_HEX_LOWER},LUA_GENERATE_NUMBER='\x0aif\x20ARGV[1]\x20==\x20\x271\x27\x20then\x0a\x20\x20local\x20reused\x20=\x20redis.call(\x27ZPOPMIN\x27,\x20KEYS[2],\x201)\x0a\x20\x20if\x20#reused\x20>\x200\x20then\x0a\x20\x20\x20\x20return\x20{tonumber(reused[1]),\x201}\x0a\x20\x20end\x0aend\x0alocal\x20n\x20=\x20redis.call(\x27INCR\x27,\x20KEYS[1])\x0alocal\x20ttl\x20=\x20tonumber(ARGV[2])\x0aif\x20ttl\x20>\x200\x20and\x20n\x20==\x201\x20then\x0a\x20\x20redis.call(\x27EXPIRE\x27,\x20KEYS[1],\x20ttl)\x0aend\x0areturn\x20{n,\x200}\x0a',LUA_RELEASE_NUMBER=a0_0x1ed12e(0x26d),LUA_RESERVE_NUMBER='\x0alocal\x20unpk\x20=\x20unpack\x20or\x20table.unpack\x0a\x0a--\x20Step\x201:\x20lazy\x20reap\x20expired\x20reservations\x20(cap\x20RESERVE_REAP_BATCH)\x0alocal\x20reaped\x20=\x200\x0alocal\x20nowMs\x20=\x20ARGV[7]\x0alocal\x20rsvPrefix\x20=\x20ARGV[8]\x0alocal\x20expired\x20=\x20redis.call(\x27ZRANGEBYSCORE\x27,\x20KEYS[3],\x20\x27-inf\x27,\x20\x27(\x27\x20..\x20nowMs,\x20\x27LIMIT\x27,\x200,\x2064)\x0afor\x20i\x20=\x201,\x20#expired\x20do\x0a\x20\x20local\x20expToken\x20=\x20expired[i]\x0a\x20\x20local\x20expRsvKey\x20=\x20rsvPrefix\x20..\x20expToken\x0a\x20\x20local\x20expCounter\x20=\x20redis.call(\x27HGET\x27,\x20expRsvKey,\x20\x27counter\x27)\x0a\x20\x20if\x20expCounter\x20then\x0a\x20\x20\x20\x20redis.call(\x27ZADD\x27,\x20KEYS[2],\x20expCounter,\x20expCounter)\x0a\x20\x20end\x0a\x20\x20redis.call(\x27DEL\x27,\x20expRsvKey)\x0a\x20\x20redis.call(\x27ZREM\x27,\x20KEYS[3],\x20expToken)\x0a\x20\x20reaped\x20=\x20reaped\x20+\x201\x0aend\x0a\x0a--\x20Step\x202:\x20allocate\x20counter\x20(ZPOPMIN\x20reuse\x20atau\x20INCR\x20seq)\x0alocal\x20counterInt\x0alocal\x20isReused\x20=\x200\x0aif\x20ARGV[1]\x20==\x20\x271\x27\x20then\x0a\x20\x20local\x20r\x20=\x20redis.call(\x27ZPOPMIN\x27,\x20KEYS[2],\x201)\x0a\x20\x20if\x20#r\x20>\x200\x20then\x0a\x20\x20\x20\x20counterInt\x20=\x20tonumber(r[1])\x0a\x20\x20\x20\x20isReused\x20=\x201\x0a\x20\x20end\x0aend\x0aif\x20not\x20counterInt\x20then\x0a\x20\x20counterInt\x20=\x20redis.call(\x27INCR\x27,\x20KEYS[1])\x0a\x20\x20local\x20cttl\x20=\x20tonumber(ARGV[2])\x0a\x20\x20if\x20cttl\x20>\x200\x20and\x20counterInt\x20==\x201\x20then\x0a\x20\x20\x20\x20redis.call(\x27EXPIRE\x27,\x20KEYS[1],\x20cttl)\x0a\x20\x20end\x0aend\x0a\x0a--\x20Step\x203:\x20write\x20reservation\x20hash\x20+\x20index\x20+\x20TTL\x0alocal\x20rsvKey\x20=\x20ARGV[4]\x0alocal\x20rsvTtlMs\x20=\x20tonumber(ARGV[5])\x0alocal\x20expiresAtMs\x20=\x20tonumber(ARGV[6])\x0alocal\x20nargs\x20=\x20#ARGV\x0alocal\x20fields\x20=\x20{}\x0afor\x20i\x20=\x209,\x20nargs\x20do\x0a\x20\x20fields[#fields\x20+\x201]\x20=\x20ARGV[i]\x0aend\x0aredis.call(\x27HSET\x27,\x20rsvKey,\x20\x27counter\x27,\x20counterInt,\x20\x27isReused\x27,\x20isReused,\x20unpk(fields))\x0aredis.call(\x27PEXPIRE\x27,\x20rsvKey,\x20rsvTtlMs)\x0aredis.call(\x27ZADD\x27,\x20KEYS[3],\x20expiresAtMs,\x20ARGV[3])\x0aredis.call(\x27EXPIRE\x27,\x20KEYS[3],\x20math.floor(rsvTtlMs\x20/\x201000)\x20+\x2060)\x0a\x0areturn\x20{\x20counterInt,\x20isReused,\x20reaped\x20}\x0a',LUA_CONFIRM_RESERVATION='\x0aif\x20redis.call(\x27EXISTS\x27,\x20KEYS[1])\x20==\x200\x20then\x0a\x20\x20redis.call(\x27ZREM\x27,\x20KEYS[2],\x20ARGV[1])\x0a\x20\x20return\x20{\x200\x20}\x0aend\x0alocal\x20h\x20=\x20redis.call(\x27HMGET\x27,\x20KEYS[1],\x20\x27counter\x27,\x20\x27value\x27,\x20\x27formatKey\x27,\x20\x27isReused\x27,\x20\x27createdAt\x27,\x20\x27expiresAt\x27)\x0aredis.call(\x27DEL\x27,\x20KEYS[1])\x0aredis.call(\x27ZREM\x27,\x20KEYS[2],\x20ARGV[1])\x0areturn\x20{\x201,\x20h[1],\x20h[2],\x20h[3],\x20h[4],\x20h[5],\x20h[6]\x20}\x0a',LUA_CANCEL_RESERVATION='\x0aif\x20redis.call(\x27EXISTS\x27,\x20KEYS[1])\x20==\x200\x20then\x0a\x20\x20redis.call(\x27ZREM\x27,\x20KEYS[2],\x20ARGV[1])\x0a\x20\x20return\x20{\x200\x20}\x0aend\x0alocal\x20h\x20=\x20redis.call(\x27HMGET\x27,\x20KEYS[1],\x20\x27counter\x27,\x20\x27value\x27,\x20\x27formatKey\x27)\x0alocal\x20counter\x20=\x20h[1]\x0aif\x20counter\x20then\x0a\x20\x20redis.call(\x27ZADD\x27,\x20KEYS[3],\x20counter,\x20counter)\x0a\x20\x20local\x20ttl\x20=\x20tonumber(ARGV[2])\x0a\x20\x20if\x20ttl\x20>\x200\x20then\x0a\x20\x20\x20\x20redis.call(\x27EXPIRE\x27,\x20KEYS[3],\x20ttl)\x0a\x20\x20end\x0aend\x0aredis.call(\x27DEL\x27,\x20KEYS[1])\x0aredis.call(\x27ZREM\x27,\x20KEYS[2],\x20ARGV[1])\x0areturn\x20{\x201,\x20counter,\x20h[2],\x20h[3]\x20}\x0a',LUA_EXTEND_RESERVATION=a0_0x1ed12e(0x270);function a0_0x4f6e(_0x324257,_0x20c975){_0x324257=_0x324257-0x1bf;const _0x1fef00=a0_0x1fef();let _0x4f6e6b=_0x1fef00[_0x324257];if(a0_0x4f6e['dxALXC']===undefined){var _0x545c2d=function(_0x3258b9){const _0xffaf6f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x457178='',_0x544748='';for(let _0xfe940c=0x0,_0x18a22b,_0x345d69,_0x1fc663=0x0;_0x345d69=_0x3258b9['charAt'](_0x1fc663++);~_0x345d69&&(_0x18a22b=_0xfe940c%0x4?_0x18a22b*0x40+_0x345d69:_0x345d69,_0xfe940c++%0x4)?_0x457178+=String['fromCharCode'](0xff&_0x18a22b>>(-0x2*_0xfe940c&0x6)):0x0){_0x345d69=_0xffaf6f['indexOf'](_0x345d69);}for(let _0x149477=0x0,_0x4b1bd5=_0x457178['length'];_0x149477<_0x4b1bd5;_0x149477++){_0x544748+='%'+('00'+_0x457178['charCodeAt'](_0x149477)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x544748);};a0_0x4f6e['MUChvC']=_0x545c2d,a0_0x4f6e['OTgeAr']={},a0_0x4f6e['dxALXC']=!![];}const _0x15ff10=_0x1fef00[0x0],_0x41a070=_0x324257+_0x15ff10,_0x5be705=a0_0x4f6e['OTgeAr'][_0x41a070];return!_0x5be705?(_0x4f6e6b=a0_0x4f6e['MUChvC'](_0x4f6e6b),a0_0x4f6e['OTgeAr'][_0x41a070]=_0x4f6e6b):_0x4f6e6b=_0x5be705,_0x4f6e6b;}function a0_0x1fef(){const _0x177f71=['s2Lcs2y','BNvTyMvY','wg1sD2i','tNvTyMvYihbYzwzPEcbTAxnTyxrJAdOGzxHWzwn0zwqG','z1fnuw4','rujJEfG','DNnkEfC','CMvZB3vYy2u','uurAEMu','CNPewxm','C3nnBgW','sw52ywXPzcbTyxHszxrYEtOGBxvZDcbIzsbPBNrLz2vYideT','surhru5Fsu5wquXjrf9ovu1crvi','ywXSB3DszxnLDa','CNn2oG','x3vUzg9syw5KB21szxnLCNzHDgLVBG','x2j1AwXKuMvZzxj2yxrPB25lzxLqCMvMAxG','C3bSAxq','uxn5sva','swrLBxbVDgvUy3KGy2fJAguGseLu','Bwf0y2G','x2fSBg93uMvZzxq','zLztBxa','vw5RBM93BIbTB2rLoIa','x2j1AwXKuMv1C2vlzxK','ufjWr0u','x2rLzMf1BhrdB2rLugf0DgvYBG','Aw5MBW','y3jLyxrLzef0','qK5eueG','Cu9XwNC','odq2mtjgwvLtywi','CMvSzwfZzq','veLvBLG','suqGr2vUzxjHDg9Yig51BwjLCIbYzwXLyxnLzdOG','x3bHCNnLtNvTyMvY','AwrNzw5FAwrLBv9OAxq','AgDLDgfSBa','nZiZmdK2sfDpDePQ','tNvTyMvYignVDw50zxiGCgfYDcbTDxn0igjLigv4ywn0BhKG','x3jLC2vYDMvnyxHuveW','qxrJCKy','AwrNzw5FAwrLBv9ZDg9Yzv9LCNjVCG','sw52ywXPzcbWyxr0zxjUoIbTDxn0igjLihn0CMLUzYaXlq','zxHWAxjL','wwflzgC','AwrNzw5FCMvZzxj2zv9PzgvTx2XVC2vY','DhrStxm','t3fjze4','swrLBxbVDgvUy3KGCMv0CMLLDMuGzxjYB3i','zw5HyMXLza','x2vUywjSzwq','icHNB3q6ia','surhru5FreLtqujmruq','zMPLu3O','BNvTrgLNAxrZ','ALPyCKK','C2vXoG','Dhj1zq','sw52ywXPzcbYzxnLCNzHDgLVBIb0B2TLBJOGBxvZDcbIzsbHihzHBgLKifvvsuqGzM9YBwf0icHNB3q6ia','we5yvuC','CgfYC2u','yKXjyue','DwrABhK','BgvUz3rO','x2j1AwXKuMvZzxj2yxrPB25lzxK','AwrNzw5FCMfUzg9Tx3vUzg9FzxjYB3i','CMy6AwrNzw46','C2nHCMq','x2rLzMf1BhrqAw5eAwDPDhm','svDushO','swrLBxbVDgvUy3KGu0vuie5yigvYCM9Y','CujlDLO','sw52ywXPzcbYzxnVDxjJztOGBxvZDcbTyxrJAca','CfPJq3e','suqGr2vUzxjHDg9YigLZigrPC2fIBgvKicHZzxqGsurhru5Fru5bqKXfrd10CNvLkq','swrhzw5LCMf0B3jfCNjVCG','AvPgqKG','ihbHCNrZkq','y291BNrLCG','v1LqCxO','x3L5ExLTBwrKxW','wfHywc1ywfHylvHywfGTwfHywa','CgfKzgvKicHNB3q6ia','rhLSCMm','AwrNzw5FAwrLBv9SB3nLCL9YzwXLyxnLx2vYCM9Y','zw5ZDxjLvw5PCxvL','uMvZzxj2yxrPB24GBM90igzVDw5Kig9YigfSCMvHzhKGy29UC3vTzwq6ia','y291BNrLCKLUDa','x2j1AwXKuMvZzxj2yxrPB25jBMrLEeTLEq','AwrNzw5FCMfUzg9Tx2DLBMvYyxrLza','ExL5Ew1T','z2v0','DuLXDuO','D2fYBG','cNjLzgLZlMnHBgWOj1PbreqNlcblrvLtwZfDlcbbuKDwwZfDlcbbuKDwwZfDkqPSB2nHBcb0DgWGpsb0B251BwjLCIHbuKDwwZjDkqPPzIb0DgWGpIaWihrOzw4kicbYzwrPCY5JywXSkcDfwfbjuKuNlcblrvLtwZfDlcb0DgWPcMvUzaPYzxr1CM4GmqO','surhru5Fsu5wquXjrf9quKvgsvG','wurTAu4','cMLMihjLzgLZlMnHBgWOj0vysvnuuYCSieTfwvnBmv0Pid09idaGDgHLBGOGihjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqOGihjLDhvYBIb7idaGFqPLBMqkBg9JywWGAca9ihjLzgLZlMnHBgWOj0Hnr0vujYWGs0vzu1SXxsWGj2v4CgLYzxnbDcCSicDJB3vUDgvYjYWGj3zHBhvLjYWGj2zVCM1HDeTLEsCSicDPC1jLDxnLzcCSicDJCMvHDgvKqxqNkqPSB2nHBcbWCMv2rxHWAxjLC0f0id0GAfSXxqPSB2nHBcbUzxDuDgXnCYa9ihrVBNvTyMvYkefsr1zBmL0PcMXVy2fSig5LD0v4Ce1Zid0GDg9UDw1IzxiOqvjhvLSZxsKkCMvKAxmUy2fSBcGNuevyueLsrsCSieTfwvnBmv0Sig5LD1r0Be1ZkqPYzwrPCY5JywXSkcDiu0vujYWGs0vzu1SXxsWGj2v4CgLYzxnbDcCSiefsr1zBnf0PcNjLzgLZlMnHBgWOj1PbreqNlcblrvLtwZjDlcbUzxDfEhbnCYWGqvjhvLSXxsKkCMvKAxmUy2fSBcGNrvHqsvjfjYWGs0vzu1SYxsWGBwf0Ac5MBg9VCIHUzxDuDgXnCYaVideWmdaPicSGnJaPcNjLDhvYBIb7ideSihbYzxzfEhbPCMvZqxqSigHBmL0SigHBm10SigHBnf0SigHBnv0SigHBnL0GFqO','sw52ywXPzcb0DgW6ig11C3qGyMuGAw50zwDLCIaXlq','ExL5Eq','mte3otiYnK5SD1DcvW','surhru5Fsu5wquXjrf9nt0rf','AwrNzw5FCMvZzxj2yxrPB25Fy2fUy2vSBgvK','zw52','zMPTyNq','x3n0B3jLswrLBunHy2HLtLG','Bwf4uMv0CNK','x2TLEvbYzwzPEa','suqGr2vUzxjHDg9YihjHBMrVBtOG','x2vUC3vYzuLUAxrPywXPEMvK','zK1ZA1a','x3zHBgLKyxrLuMvZzxj2zvruta','ugnTswu','BM93','BwvZC2fNzq','yNvPBgrezxrLCM1PBMLZDgLJs2v5','CMvZzxj2zu51BwjLCG','sw52ywXPzcbMB3jTyxq6ia','x3rLEhq','Dg9Rzw4','x2j1AwXKrM9YBwf0s2v5','x2rLzMf1BhrnyxHszxrYEq','zgLsEgy','surhru5FquXmt1DFuKvtrvq','C2v0','x3zHBgLKyxrLuMvZzxj2yxrPB25uB2TLBG','q3DqAwu','lI9PzgvTCg90zw5JEs1Tyw5Hz2vY','x3jLC2vYDMvezwzHDwX0vfrm','zgLNAxrZ','AwrNzw5Fy29UzMLNx2LUAxq','CgfKu3rHCNq','C3rVCMvK','z2v0uMvZzxj2yxrPB24','AxnZDwvKoG','CMfUzg9Tvvvjra','qxrouKi','CMvZzxj2zurLzMf1BhruveW','rLHer3K','zM9YBwf0s2v5','surhru5FuKvtrvjwqvrjt05FtK9ux0zpvu5e','CNn2s2v5','x3zHBgLKyxrLvfrm','tMPwvhK','B1bVBg0','zgvMyxvSDfnLCMLHBfbHDhrLCM4','x3bHzdi','surhru5Fsu5wquXjrf9srvnfuLzfx1ruta','svniBwu','x2nVDw50zxjuveXnyxa','Cg93','igrPz2L0CYaOz290oIa','suqGr2vUzxjHDg9Yig51BwjLCIbYzxnLCNzLzdOG','surhru5FuKvtrvjwrv9eruzbvuXux1ruta','Bw9Kzq','x2zVCM1HDe51BwjLCG','x2j1AwXKqwn0AxzLs2v5','DgvZDa','y2fUy2vSuMvZzxj2yxrPB24','q291BNrLCIbVDMvYzMXVDZOG','Dg9mB3DLCKnHC2u','r2nRCe0','z2v0rgf0zq','Dg9ju09tDhjPBMC','AxnZDwvK','x3zHBgLKyxrLtNvTyMvYugfYyw1Z','surhru5Fq09vtLrfuL9pvKvsrKXpvW','x3jLDhjPzxzLswrLBunHy2HL','uuroAfa','tMnMsge','r0vJExC','ks4Gsw5JCMvHC2uGBNvTrgLNAxrZlG','CLLOCfe','x2rLzMf1BhrtzxjPywXqyxr0zxjU','CMfUzg9T','nJm2ndu2mg56uKzeza','z2vUzxjHDgvKqxq','A0Duwee','y29Kzq','CMvZzxj2zq','suqGr2vUzxjHDg9YignVBMzPzYbPBML0AwfSAxPLzcaTigvUywjSzwq6ia','surhru5Fsu5wquXjrf9gt1jnqvq','txnfse8','surhru5Frevgqvvmvf9qsu5FreLhsvrt','y291BNrLCKLUDcbTDxn0igjLihbVC2L0AxzLigLUDgvNzxiGkgDVDdOG','BMfTzq','ExL5Ew1Tzgq','zM9YBwf0','x3zHBgLKyxrLtwf4uMv0CNK','C2vWyxjHDg9Y','x2j1AwXKtwv0yuTLEq','AwrNzw4','z2v0q2XPzw50','surhru5Fsu5wquXjrf9uveW','rvfuwuW','x3zHBgLKyxrLswrLBxbVDgvUy3LlzxK','Cuzpz1y','x2DLDenVDw50zxjuveW','yM9VBgvHBG','tuLzEKe','x3vWzgf0zu1LDge','zgvS','CMv1C2u','DMfSDwuGAxmGCMvXDwLYzwq','wfb0uMu','surhru5Fsu5wquXjrf9trvbbuKfut1i','uMfUzg9TihjLC2vYDMf0Aw9UihvUzg8GzxjYB3iGkg9YCgHHBIbZBg90ig1HEsbYzw1HAw4P','DhrS','zxPrC1O','DfPoBKG','EeXksNi','AwrLBvruta','AxnszxvZzwq','C2vX','ChjLzML4','ignOyxjZicHNB3qGBgvUz3rOoIa','AxnjBNrLz2vY','surhru5FuKvtrvrFtK9ux0fmte9xruq','uMzKDxi','ote1nw50s1fQta','suqGr2vUzxjHDg9YihjLC2v0oIa','ndj6DwjKzLK','z2v0sw5MBW','Bg5cqu4','surhru5Fru5bqKXfra','ndeWotuZowzguvPRuq','ywXS','CNn2swr4s2v5','x3zHBgLKyxrLuMvZB3vYy2u','uMvPCxO','icH0B2TLBJ0','ywjWzw4','CMvZzxj2zv9JB25MAxjT','suqGr2vUzxjHDg9YihjLC2vYDMuGAwrLBsbYywnLigXVC3qSihjLDhvYBMLUzYb3Aw5UzxiGzw52zwXVCgu','uejzEfa','zgvMyxvSDfbPBKrPz2L0CW','x2j1AwXKswrLBuTLEq','rwvzA2K','DKn1ENu','AM9PBG','zgvMyxvSDe1HEfjLDhj5','wgvZv3m','x2j1AwXKsxnZDwvKs2v5','x2DLDfjLC2vYDMf0Aw9Uq29UDgv4Da','zxHWB3j0CW','suqGr2vUzxjHDg9YihjLC2vYDMf0Aw9UignVBMzPCM1LzdOG','C3rYAw5N','D2LUBMvYuMvZDwX0','EMLzDem','DK9cCw4','CMvWzwf0','x3L5ExLF','x2DLBMvYyxrLrNjVBvbHDhrLCM4','igv4y2vLzhmG','CgvLAW','zw50CMLLCW','tNvTyMvYigrVzxmGBM90ig1HDgnOigv4CgvJDgvKigzVCM1HDcbWCMvMAxG','v3rsv3O','tu1jEMW','rMfPBgvKihrVignHBMnLBcbYzxnLCNzHDgLVBIbMB3iGAwrLBxbVDgvUy3KGBg9Zzxi','s0vir20','Cgf0DgvYBG','x3n0B3jLswrLBunHy2HL','uMvZzxqGB3bLCMf0Aw9Uig5VDcbHBgXVD2vKicHZzxqGsurhru5FquXmt1DFuKvtrvq9Dhj1zsb0BYbLBMfIBguP','AwrNzw5FBNvTyMvYx2LKzw1FBg9Zzxi','uKLyquG','suqGr2vUzxjHDg9YigLZigrPC2fIBgvK','surhru5Fsu5wquXjrf9srvnpvvjdrq','zwr4BgC','x3L5ExLTBv8','CMvZzxj2zv9Jyw5JzwW','A2v5uhjLzML4','C2v0zxG','C3rYAw5NAwz5','nZe0zwzQz09A','zxzHBa','mZGYnZqXte9lzw5t','AwrNzw5FBNvTyMvYx3jLC2vYDMvK','ELbXBgG','Dgv4Da','v216D2K','uhziCuC','s1H4Ewm','ihnLy29UzhmGkgDVDdOG','zMrqvgO','ChvZAa','tKDKtuS','q29ctgi','AxL2u2G','AwrLBxbVDgvUy3LlzxK','x3zHBgLKyxrLugf0DgvYBG','DMfSDwu','ywn0AxzLoG','zxHLyW','uMXbuLy','x2j1AwXKu2vXs2v5'];a0_0x1fef=function(){return _0x177f71;};return a0_0x1fef();}class IdGeneratorError extends Error{constructor(_0x1b13e9,_0x217a47,_0x3262f2=null){const _0x1acef8=a0_0x1ed12e,_0x4db1ef={'jZXrI':_0x1acef8(0x25a)};super(_0x217a47||_0x1b13e9),this[_0x1acef8(0x2c8)]=_0x4db1ef[_0x1acef8(0x246)],this[_0x1acef8(0x2c1)]=_0x1b13e9,this['details']=_0x3262f2;}}class IdGenerator{constructor(){const _0x30c1ac=a0_0x1ed12e;this['_initialized']=![],this[_0x30c1ac(0x241)]=null,this[_0x30c1ac(0x27a)]=null,this['_idemTTL']=null,this[_0x30c1ac(0x223)]=null,this['_defaultMaxRetry']=null,this['_defaultPinDigits']=null,this[_0x30c1ac(0x2bc)]=null,this[_0x30c1ac(0x228)]=null,this['_counterTTLMap']=null,this[_0x30c1ac(0x28f)]=null,this['_reserveMaxTTL']=null;}['_initConfig'](){const _0xcd291b=a0_0x1ed12e,_0x2e0efd={'EBcxX':function(_0x4c0907,_0x15fd73){return _0x4c0907===_0x15fd73;},'AtNRB':_0xcd291b(0x248),'ISHme':function(_0x55d0b3,_0x3da568,_0x8ed619){return _0x55d0b3(_0x3da568,_0x8ed619);},'iyvSh':_0xcd291b(0x260),'abpen':'9999-9999','kGrzq':function(_0x387444,_0x166c0f,_0x395c5a){return _0x387444(_0x166c0f,_0x395c5a);}};this['_keyPrefix']=_0xcd291b(0x251),this[_0xcd291b(0x241)]=_0x2e0efd[_0xcd291b(0x213)](process[_0xcd291b(0x276)][_0xcd291b(0x1c6)],_0x2e0efd[_0xcd291b(0x297)]),this['_idemTTL']=_0x2e0efd[_0xcd291b(0x2a3)](parseInt,process[_0xcd291b(0x276)]['IDGEN_IDEM_TTL'],0xa)||0x258,this[_0xcd291b(0x223)]=process['env'][_0xcd291b(0x28a)]===_0x2e0efd[_0xcd291b(0x297)],this[_0xcd291b(0x288)]=parseInt(process['env']['IDGEN_DEFAULT_MAX_RETRY'],0xa)||0xa,this['_defaultPinDigits']=parseInt(process[_0xcd291b(0x276)][_0xcd291b(0x2c6)],0xa)||0x6,this[_0xcd291b(0x2bc)]=process['env']['IDGEN_DEFAULT_SERIAL_PATTERN']||_0x2e0efd[_0xcd291b(0x206)],this[_0xcd291b(0x228)]=process[_0xcd291b(0x276)]['IDGEN_DEFAULT_CODE_PATTERN']||_0x2e0efd[_0xcd291b(0x1cd)],this[_0xcd291b(0x2a4)]={'yyyymm':parseInt(process[_0xcd291b(0x276)]['IDGEN_COUNTER_TTL_MONTHLY'],0xa)||0x2a3000,'yyyymmdd':_0x2e0efd['kGrzq'](parseInt,process['env']['IDGEN_COUNTER_TTL_DAILY'],0xa)||0x2a300},this['_reserveDefaultTTL']=parseInt(process[_0xcd291b(0x276)][_0xcd291b(0x2a8)],0xa)||DEFAULT_RESERVE_TTL,this[_0xcd291b(0x236)]=parseInt(process['env']['IDGEN_RESERVE_MAX_TTL'],0xa)||MAX_RESERVE_TTL,this['_initialized']=!![],logger['info']({'event':_0xcd291b(0x291),'enabled':this['_enabled'],'idemTTL':this['_idemTTL'],'allowReset':this[_0xcd291b(0x223)],'defaultMaxRetry':this['_defaultMaxRetry'],'defaultPinDigits':this['_defaultPinDigits'],'reserveDefaultTTL':this['_reserveDefaultTTL'],'reserveMaxTTL':this[_0xcd291b(0x236)]},_0xcd291b(0x2c3)+this['_enabled']);}['_ensureInitialized'](){if(!this['_initialized'])this['_initConfig']();}get['enabled'](){const _0x4ce57d=a0_0x1ed12e;return this[_0x4ce57d(0x27c)](),this['_enabled'];}get['keyPrefix'](){const _0x59033a=a0_0x1ed12e;return this[_0x59033a(0x27c)](),this[_0x59033a(0x27a)];}get[a0_0x1ed12e(0x2e2)](){const _0x3ddd4d=a0_0x1ed12e;return this[_0x3ddd4d(0x27c)](),this['_idemTTL'];}get['allowReset'](){const _0x56b087=a0_0x1ed12e;return this[_0x56b087(0x27c)](),this[_0x56b087(0x223)];}get['defaultMaxRetry'](){return this['_ensureInitialized'](),this['_defaultMaxRetry'];}get['defaultPinDigits'](){const _0x4be27f=a0_0x1ed12e;return this[_0x4be27f(0x27c)](),this[_0x4be27f(0x253)];}get[a0_0x1ed12e(0x2a0)](){return this['_ensureInitialized'](),this['_defaultSerialPattern'];}get['defaultCodePattern'](){return this['_ensureInitialized'](),this['_defaultCodePattern'];}get['reserveDefaultTTL'](){const _0x1d5742=a0_0x1ed12e;return this[_0x1d5742(0x27c)](),this[_0x1d5742(0x28f)];}get['reserveMaxTTL'](){const _0x29be0a=a0_0x1ed12e;return this['_ensureInitialized'](),this[_0x29be0a(0x236)];}['isEnabled'](){const _0x2c5bcb=a0_0x1ed12e;return this[_0x2c5bcb(0x240)];}[a0_0x1ed12e(0x1ca)](_0x4ba428){const _0x2ff472=a0_0x1ed12e,_0x14249a={'QsyIP':function(_0x5d278a,_0x2d3931){return _0x5d278a!==_0x2d3931;}};if(_0x14249a[_0x2ff472(0x220)](typeof _0x4ba428,_0x2ff472(0x1dc))||!RESOURCE_REGEX['test'](_0x4ba428))throw new IdGeneratorError(_0x2ff472(0x1f1),_0x2ff472(0x257)+RESOURCE_REGEX+_0x2ff472(0x242)+JSON['stringify'](_0x4ba428)+')');}['_validateNumberParams'](_0x53f41b){const _0x322d56=a0_0x1ed12e,_0x367163={'cPoYF':'IDGEN_INVALID_FORMAT','FQSnV':function(_0x3f44e2,_0xd3fef){return _0x3f44e2<_0xd3fef;},'PRpGE':'IDGEN_INVALID_NUM_DIGITS','WYPqz':function(_0x23a424,_0x4ac1e6){return _0x23a424==_0x4ac1e6;},'qpHSQ':_0x322d56(0x1dc),'ziYtC':function(_0x2e689e,_0x40269b){return _0x2e689e!==_0x40269b;},'diRxf':function(_0x423da8,_0x11c82b){return _0x423da8!=_0x11c82b;},'KEHGm':_0x322d56(0x2d5),'NcfHa':function(_0x59a79b,_0x12845a){return _0x59a79b===_0x12845a;}},{resource:_0x2f7f45,format:_0xe3c1c5,prefix:_0x36fd07,separator:_0x5cfee9,numDigits:_0x2be3d5,reuseDelete:_0x15d6fe}=_0x53f41b;this[_0x322d56(0x1ca)](_0x2f7f45);const _0x76c226=typeof _0xe3c1c5==='string'?_0xe3c1c5['toLowerCase']():'';if(!ALLOWED_FORMATS['has'](_0x76c226))throw new IdGeneratorError(_0x367163['cPoYF'],'Invalid\x20format:\x20must\x20be\x20one\x20of\x20'+[...ALLOWED_FORMATS][_0x322d56(0x1d5)](',\x20')+_0x322d56(0x242)+_0xe3c1c5+')');if(!Number['isInteger'](_0x2be3d5)||_0x367163['FQSnV'](_0x2be3d5,MIN_NUM_DIGITS)||_0x2be3d5>MAX_NUM_DIGITS)throw new IdGeneratorError(_0x367163[_0x322d56(0x227)],'Invalid\x20numDigits:\x20must\x20be\x20integer\x20'+MIN_NUM_DIGITS+'-'+MAX_NUM_DIGITS+_0x322d56(0x242)+_0x2be3d5+')');const _0x5db090=_0x367163[_0x322d56(0x25e)](_0x36fd07,null)?'':_0x36fd07;if(typeof _0x5db090!==_0x367163['qpHSQ']||!PREFIX_REGEX['test'](_0x5db090))throw new IdGeneratorError(_0x322d56(0x26e),'Invalid\x20prefix:\x20must\x20match\x20'+PREFIX_REGEX+'\x20(got:\x20'+JSON['stringify'](_0x36fd07)+')');const _0x48006f=_0x5cfee9==null?'':_0x5cfee9;if(_0x367163[_0x322d56(0x1de)](typeof _0x48006f,_0x322d56(0x1dc))||_0x48006f['length']>0x3||SEPARATOR_FORBIDDEN[_0x322d56(0x2ac)](_0x48006f))throw new IdGeneratorError(_0x322d56(0x2dc),'Invalid\x20separator:\x20max\x203\x20char,\x20must\x20not\x20contain\x20\x27:\x27\x20(got:\x20'+JSON['stringify'](_0x5cfee9)+')');if(_0x367163[_0x322d56(0x289)](_0x15d6fe,null)&&typeof _0x15d6fe!==_0x367163[_0x322d56(0x1ea)])throw new IdGeneratorError(_0x322d56(0x1f1),'Invalid\x20reuseDelete:\x20must\x20be\x20boolean\x20(got:\x20'+typeof _0x15d6fe+')');return{'resource':_0x2f7f45,'format':_0x76c226,'prefix':_0x5db090,'separator':_0x48006f,'numDigits':_0x2be3d5,'reuseDelete':_0x367163[_0x322d56(0x2b8)](_0x15d6fe,!![])};}['_validatePattern'](_0x4996a2){const _0x3b4b8e=a0_0x1ed12e,_0x4b624d={'hyCvM':function(_0x546190,_0xac75bb){return _0x546190!==_0xac75bb;},'GtuoI':function(_0x4e47c0,_0x3eab88){return _0x4e47c0===_0x3eab88;},'YDmiN':'IDGEN_INVALID_PATTERN'};if(_0x4b624d['hyCvM'](typeof _0x4996a2,'string')||_0x4b624d['GtuoI'](_0x4996a2[_0x3b4b8e(0x24e)],0x0)||_0x4996a2['length']>MAX_PATTERN_LENGTH)throw new IdGeneratorError(_0x4b624d[_0x3b4b8e(0x26f)],_0x3b4b8e(0x239)+MAX_PATTERN_LENGTH+_0x3b4b8e(0x2e6)+(_0x4996a2&&_0x4996a2['length'])+')');let _0x4c4fce=![];for(const _0x3cb72f of _0x4996a2){if(PLACEHOLDER_MAP[_0x3cb72f]){_0x4c4fce=!![];break;}}if(!_0x4c4fce)throw new IdGeneratorError('IDGEN_INVALID_PATTERN','Invalid\x20pattern:\x20must\x20contain\x20at\x20least\x20one\x20placeholder\x20character\x20(9/N/A/a/L/X/x/H/h)');}[a0_0x1ed12e(0x29d)](_0x431411){const _0x1e3002=a0_0x1ed12e,_0x128433={'ReZQK':function(_0x278be0,_0x432e66){return _0x278be0<_0x432e66;},'gQMQn':function(_0x5aec45,_0x493548){return _0x5aec45>_0x493548;},'KXxyc':_0x1e3002(0x2d0)};if(_0x431411==null)return undefined;if(!Number[_0x1e3002(0x2e7)](_0x431411)||_0x128433['ReZQK'](_0x431411,0x1)||_0x128433[_0x1e3002(0x212)](_0x431411,MAX_TTL))throw new IdGeneratorError(_0x128433[_0x1e3002(0x200)],_0x1e3002(0x271)+MAX_TTL+_0x1e3002(0x201)+_0x431411+')');return _0x431411;}['_validateMaxRetry'](_0x2d89bb){const _0x9be2fb=a0_0x1ed12e,_0x22d25f={'zPqlh':function(_0x4d2fdd,_0x384116){return _0x4d2fdd==_0x384116;},'VeLwy':function(_0x308866,_0x531f98){return _0x308866<_0x531f98;}};if(_0x22d25f[_0x9be2fb(0x1fc)](_0x2d89bb,null))return this[_0x9be2fb(0x1d6)];if(!Number[_0x9be2fb(0x2e7)](_0x2d89bb)||_0x22d25f['VeLwy'](_0x2d89bb,0x1)||_0x2d89bb>MAX_RETRY_LIMIT)throw new IdGeneratorError('IDGEN_INVALID_MAX_RETRY',_0x9be2fb(0x219)+MAX_RETRY_LIMIT+'\x20(got:\x20'+_0x2d89bb+')');return _0x2d89bb;}['_validateIdempotencyKey'](_0x1a9e76){const _0x58a122=a0_0x1ed12e,_0x5e5f1d={'HGjfY':_0x58a122(0x1dc),'uIquJ':function(_0x7a0c22,_0x12255b){return _0x7a0c22>_0x12255b;}};if(_0x1a9e76==null)return undefined;if(typeof _0x1a9e76!==_0x5e5f1d['HGjfY']||_0x1a9e76[_0x58a122(0x24e)]===0x0||_0x5e5f1d[_0x58a122(0x26b)](_0x1a9e76['length'],MAX_IDEMPOTENCY_KEY_LENGTH))throw new IdGeneratorError('IDGEN_INVALID_RESOURCE','Invalid\x20idempotencyKey:\x20must\x20be\x20string\x201-'+MAX_IDEMPOTENCY_KEY_LENGTH+'\x20chars');return _0x1a9e76;}[a0_0x1ed12e(0x27e)](_0x468f2e){const _0x39fb26=a0_0x1ed12e,_0x4b1078={'mZxlC':function(_0x5df891,_0x2142ae){return _0x5df891>_0x2142ae;}};if(_0x468f2e==null)return this[_0x39fb26(0x298)];if(!Number['isInteger'](_0x468f2e)||_0x468f2e<MIN_RESERVE_TTL||_0x4b1078['mZxlC'](_0x468f2e,this['reserveMaxTTL']))throw new IdGeneratorError(_0x39fb26(0x2a2),'Invalid\x20reservation\x20ttl:\x20must\x20be\x20integer\x20'+MIN_RESERVE_TTL+'-'+this['reserveMaxTTL']+_0x39fb26(0x201)+_0x468f2e+')');return _0x468f2e;}['_validateReservationToken'](_0x53a701){const _0x68c294=a0_0x1ed12e,_0x2dc2f4={'edxlg':function(_0x92a8f6,_0xc6ae6e){return _0x92a8f6!==_0xc6ae6e;},'vCuzu':_0x68c294(0x1dc)};if(_0x2dc2f4[_0x68c294(0x1f2)](typeof _0x53a701,_0x2dc2f4[_0x68c294(0x1d4)])||!RESERVATION_TOKEN_REGEX['test'](_0x53a701))throw new IdGeneratorError('IDGEN_INVALID_TOKEN',_0x68c294(0x249)+JSON['stringify'](_0x53a701)+')');return _0x53a701;}[a0_0x1ed12e(0x2a1)](_0x1cdcac){const _0x282b07=a0_0x1ed12e,_0x19ec0d={'NPwVn':function(_0x3e77fb,_0x10ac22){return _0x3e77fb(_0x10ac22);}};return _0x19ec0d['NPwVn'](String,_0x1cdcac)[_0x282b07(0x292)](0x2,'0');}['_buildFormatKey'](_0x1635c3,_0x5aba1f,_0x349780=new Date()){const _0x412c89=a0_0x1ed12e,_0x42a71f={'Uhhjf':'yyyy','NBAxW':_0x412c89(0x269),'GKMRY':_0x412c89(0x2c9),'ezQsZ':_0x412c89(0x2c4)},_0x553f91=_0x349780['getFullYear'](),_0x393128=this[_0x412c89(0x2a1)](_0x349780['getMonth']()+0x1),_0x4e8475=this['_pad2'](_0x349780[_0x412c89(0x2b1)]()),_0x486c94=_0x5aba1f||'_';let _0x33753e,_0x3c2052='';switch(_0x1635c3){case'text':_0x33753e=_0x486c94+_0x412c89(0x285);break;case _0x42a71f['Uhhjf']:_0x3c2052=''+_0x553f91,_0x33753e=_0x486c94+_0x412c89(0x1e1)+_0x3c2052;break;case _0x42a71f['NBAxW']:_0x3c2052=''+_0x553f91+_0x393128,_0x33753e=_0x486c94+_0x412c89(0x1f3)+_0x3c2052;break;case _0x42a71f['GKMRY']:_0x3c2052=''+_0x553f91+_0x393128+_0x4e8475,_0x33753e=_0x486c94+_0x412c89(0x25f)+_0x3c2052;break;default:throw new IdGeneratorError(_0x42a71f[_0x412c89(0x2df)],'Unknown\x20format:\x20'+_0x1635c3);}return{'formatKey':_0x33753e,'datePrefix':_0x3c2052};}[a0_0x1ed12e(0x20d)](_0x4c1e4b,_0x2cb74d){const _0x285ccf=a0_0x1ed12e;return this['keyPrefix']+_0x285ccf(0x247)+_0x4c1e4b+':'+_0x2cb74d;}['_buildReuseKey'](_0x219877,_0x17f490){const _0x1c19bf=a0_0x1ed12e;return this[_0x1c19bf(0x1f5)]+'reuse:'+_0x219877+':'+_0x17f490;}[a0_0x1ed12e(0x2cd)](_0x5577c0,_0x176757){return this['keyPrefix']+'meta:'+_0x5577c0+':'+_0x176757;}['_buildIssuedKey'](_0x20d82f){const _0xbb2524=a0_0x1ed12e;return this['keyPrefix']+_0xbb2524(0x295)+_0x20d82f;}[a0_0x1ed12e(0x2ab)](_0x189ad6,_0x582663){const _0x33fb6c=a0_0x1ed12e;return this['keyPrefix']+_0x33fb6c(0x20a)+_0x189ad6+':'+_0x582663;}[a0_0x1ed12e(0x24f)](_0x346ecf){const _0x53f98f=a0_0x1ed12e;return this[_0x53f98f(0x1f5)]+'rsv:'+_0x346ecf;}['_buildReservationIndexKey'](_0x1708b1,_0x2b64c0){const _0x1547b1=a0_0x1ed12e;return this[_0x1547b1(0x1f5)]+'rsv_idx:'+_0x1708b1+':'+_0x2b64c0;}[a0_0x1ed12e(0x21e)](){const _0x2839de=a0_0x1ed12e;return this[_0x2839de(0x1f5)]+_0x2839de(0x21c);}[a0_0x1ed12e(0x1d2)](_0x8e2e53,_0x5bd5a0,_0x3eecee,_0x5f4c61){const _0x449c4d=a0_0x1ed12e,_0x340cd9={'WtRWz':'idgen'};if(_0x3eecee)return idempotencyManager['buildDeterministicKey'](_0x340cd9[_0x449c4d(0x1e7)],_0x8e2e53,_0x5bd5a0+':'+_0x3eecee+':'+_0x5f4c61);return idempotencyManager['buildDeterministicKey'](_0x340cd9['WtRWz'],_0x8e2e53,_0x5bd5a0+':'+_0x5f4c61);}[a0_0x1ed12e(0x2d4)](_0x528c57){const _0xe3a826=a0_0x1ed12e;return this[_0xe3a826(0x2a4)][_0x528c57]||0x0;}['_formatNumber']({format:_0x35e47c,prefix:_0x39cd56,datePrefix:_0x45c92b,separator:_0x141a8f,numDigits:_0x2e1a87,counterInt:_0xd9838e}){const _0x587b52=a0_0x1ed12e,_0x5ddf58={'pUmZG':_0x587b52(0x2b5),'oPolm':function(_0x3a75c1,_0x21753b){return _0x3a75c1===_0x21753b;}},_0x47ac83=Math[_0x587b52(0x2a5)](0xa,_0x2e1a87)-0x1;if(_0xd9838e>_0x47ac83)throw new IdGeneratorError(_0x5ddf58['pUmZG'],_0x587b52(0x2ae)+_0xd9838e+_0x587b52(0x1e3)+_0x2e1a87+'-digit\x20capacity\x20('+_0x47ac83+_0x587b52(0x2ba),{'counterInt':_0xd9838e,'numDigits':_0x2e1a87,'max':_0x47ac83});const _0xbc7af3=String(_0xd9838e)['padStart'](_0x2e1a87,'0');if(_0x5ddf58[_0x587b52(0x29f)](_0x35e47c,_0x587b52(0x1fd)))return _0x39cd56?''+_0x39cd56+_0x141a8f+_0xbc7af3:_0xbc7af3;return _0x39cd56?''+_0x39cd56+_0x141a8f+_0x45c92b+_0x141a8f+_0xbc7af3:''+_0x45c92b+_0x141a8f+_0xbc7af3;}[a0_0x1ed12e(0x231)]({format:_0x3d5c95,prefix:_0x13311,separator:_0x1e2104,numDigits:_0x5d8aba,number:_0x1167bd}){const _0x465192=a0_0x1ed12e,_0x25d839={'eGoCE':function(_0x59b2ca,_0x51d9fc){return _0x59b2ca===_0x51d9fc;},'MsEHO':_0x465192(0x21a),'vsJxW':function(_0x39533f,_0x420cda){return _0x39533f===_0x420cda;},'ciUVc':function(_0x1bb4bc,_0x4a13a1){return _0x1bb4bc!==_0x4a13a1;},'RlARV':function(_0xd470c,_0x4197c3){return _0xd470c===_0x4197c3;},'XmRwb':_0x465192(0x272),'tZNnH':function(_0x488172,_0x491ffe,_0x6e9e3f){return _0x488172(_0x491ffe,_0x6e9e3f);},'Ffiuk':'text'};if(typeof _0x1167bd!==_0x465192(0x1dc)||_0x25d839['eGoCE'](_0x1167bd['length'],0x0))throw new IdGeneratorError(_0x25d839['MsEHO'],'Invalid\x20number:\x20must\x20be\x20non-empty\x20string');const _0xa58fe6=_0x1e2104||'',_0x2e5faa=_0x25d839[_0x465192(0x214)](_0xa58fe6,'')?[_0x1167bd]:_0x1167bd[_0x465192(0x21f)](_0xa58fe6);let _0x444256='',_0x3e15d6;if(_0x25d839['eGoCE'](_0x3d5c95,'text')){if(_0x13311){if(_0x2e5faa['length']!==0x2||_0x2e5faa[0x0]!==_0x13311)throw new IdGeneratorError('IDGEN_INVALID_NUMBER',_0x465192(0x1e6)+_0xa58fe6+_0x465192(0x261)+_0x1167bd+')');_0x3e15d6=_0x2e5faa[0x1];}else{if(_0x2e5faa['length']!==0x1)throw new IdGeneratorError(_0x465192(0x21a),'Number\x20does\x20not\x20match\x20expected\x20text\x20format\x20(got:\x20'+_0x1167bd+')');_0x3e15d6=_0x2e5faa[0x0];}}else{const _0x493627=_0x13311?0x3:0x2;if(_0x2e5faa['length']!==_0x493627)throw new IdGeneratorError(_0x25d839[_0x465192(0x2c5)],'Number\x20does\x20not\x20match\x20expected\x20format\x20(got:\x20'+_0x1167bd+',\x20expected\x20'+_0x493627+_0x465192(0x25c));let _0x3250c0=0x0;if(_0x13311){if(_0x25d839['ciUVc'](_0x2e5faa[_0x3250c0],_0x13311))throw new IdGeneratorError(_0x25d839[_0x465192(0x2c5)],_0x465192(0x211)+_0x13311+',\x20got\x20'+_0x2e5faa[_0x3250c0]);_0x3250c0++;}_0x444256=_0x2e5faa[_0x3250c0++];const _0x3fc255=_0x25d839[_0x465192(0x20c)](_0x3d5c95,_0x25d839[_0x465192(0x210)])?/^\d{4}$/:_0x25d839['vsJxW'](_0x3d5c95,_0x465192(0x269))?/^\d{6}$/:/^\d{8}$/;if(!_0x3fc255['test'](_0x444256))throw new IdGeneratorError('IDGEN_INVALID_NUMBER','Number\x20datePrefix\x20invalid\x20for\x20format\x20'+_0x3d5c95+':\x20'+_0x444256);_0x3e15d6=_0x2e5faa[_0x3250c0];}if(!new RegExp('^\x5cd{'+_0x5d8aba+'}$')[_0x465192(0x2ac)](_0x3e15d6))throw new IdGeneratorError(_0x465192(0x21a),_0x465192(0x235)+_0x5d8aba+_0x465192(0x2a6)+_0x3e15d6+')');const _0x3a30cf=_0x25d839[_0x465192(0x2e0)](parseInt,_0x3e15d6,0xa),_0x98600=_0x13311||'_';let _0x4a929d;return _0x3d5c95===_0x25d839['Ffiuk']?_0x4a929d=_0x98600+_0x465192(0x285):_0x4a929d=_0x98600+'_'+_0x3d5c95+'_'+_0x444256,{'formatKey':_0x4a929d,'counterInt':_0x3a30cf,'datePrefix':_0x444256};}['_generateFromPattern'](_0x3dae1b){const _0x26ae4c=a0_0x1ed12e;let _0x3e5e10='';for(const _0x2f5657 of _0x3dae1b){const _0x1f45a1=PLACEHOLDER_MAP[_0x2f5657];if(_0x1f45a1){const _0x1f12ba=crypto['randomInt'](0x0,_0x1f45a1[_0x26ae4c(0x24e)]);_0x3e5e10+=_0x1f45a1[_0x1f12ba];}else _0x3e5e10+=_0x2f5657;}return _0x3e5e10;}async['_retrieveIdemCache'](_0x4bd2f6){const _0x1ff029=a0_0x1ed12e,_0x41d281={'CwPie':_0x1ff029(0x232),'ttXgj':_0x1ff029(0x221),'GEcyw':_0x1ff029(0x23f)};if(!_0x4bd2f6)return null;try{const _0x11b2ec=redisClient[_0x1ff029(0x2cf)](),_0x27f3df=await _0x11b2ec['get'](_0x4bd2f6);if(_0x27f3df)return logger['info']({'event':_0x41d281[_0x1ff029(0x28d)],'key':_0x4bd2f6},_0x41d281['ttXgj']),JSON[_0x1ff029(0x24b)](_0x27f3df);return null;}catch(_0x2e9b1f){return logger[_0x1ff029(0x26c)]({'event':'idgen_idem_retrieve_error','error':_0x2e9b1f['message']},_0x41d281[_0x1ff029(0x2b9)]),null;}}async[a0_0x1ed12e(0x1ec)](_0x43223d,_0x1aa957){const _0x681a59=a0_0x1ed12e,_0x12159e={'pZcCq':'Idempotency\x20store\x20error'};if(!_0x43223d)return;try{const _0x402d51=redisClient[_0x681a59(0x2cf)]();await _0x402d51[_0x681a59(0x1f6)](_0x43223d,this['idemTTL'],JSON[_0x681a59(0x1f7)](_0x1aa957));}catch(_0x5b231f){logger['warn']({'event':_0x681a59(0x238),'error':_0x5b231f[_0x681a59(0x281)]},_0x12159e[_0x681a59(0x258)]);}}async['_storeIdemCacheNX'](_0x1cf71c,_0x166ba8){const _0x32cca6=a0_0x1ed12e,_0x28cf32={'qFOgV':function(_0x3176b5,_0x4e453f){return _0x3176b5===_0x4e453f;},'udZly':'idgen_idem_nx_race_lost_but_empty','MMIzl':'SET\x20NX\x20failed\x20but\x20cache\x20GET\x20returned\x20empty\x20—\x20falling\x20back\x20to\x20own\x20result','LFjxf':'idgen_idem_storenx_error','LgRqc':_0x32cca6(0x255)};if(!_0x1cf71c)return{'stored':!![],'winnerResult':null};try{const _0x227067=redisClient['getClient'](),_0x1eb9ec=JSON['stringify'](_0x166ba8),_0xb8eabb=await _0x227067[_0x32cca6(0x28b)](_0x1cf71c,_0x1eb9ec,'EX',this['idemTTL'],'NX');if(_0x28cf32[_0x32cca6(0x2d3)](_0xb8eabb,'OK'))return{'stored':!![],'winnerResult':null};const _0x4de909=await _0x227067['get'](_0x1cf71c);if(_0x4de909)return{'stored':![],'winnerResult':JSON[_0x32cca6(0x24b)](_0x4de909)};return logger[_0x32cca6(0x26c)]({'event':_0x28cf32[_0x32cca6(0x24d)],'key':_0x1cf71c},_0x28cf32[_0x32cca6(0x1e8)]),{'stored':!![],'winnerResult':null};}catch(_0x2fc9f8){return logger['warn']({'event':_0x28cf32['LFjxf'],'error':_0x2fc9f8['message']},_0x28cf32['LgRqc']),{'stored':!![],'winnerResult':null};}}async['_undoRandomReservation'](_0x24f634,_0xcf5270,_0x32cad7){const _0x3c7193=a0_0x1ed12e,_0x1fda24={'ZdlyA':_0x3c7193(0x250)};try{const _0x1faf53=redisClient['getClient']();if(_0x32cad7){const _0x4eeb4d=this[_0x3c7193(0x2ab)](_0x24f634,_0xcf5270);await _0x1faf53[_0x3c7193(0x2d8)](_0x4eeb4d);}else{const _0x1ea4b7=this['_buildIssuedKey'](_0x24f634);await _0x1faf53['srem'](_0x1ea4b7,_0xcf5270);}}catch(_0x1d71e8){logger['warn']({'event':_0x1fda24['ZdlyA'],'error':_0x1d71e8['message']},_0x3c7193(0x2dd));}}async[a0_0x1ed12e(0x2d7)](_0x1feb67,_0x453c0d,_0x5414f8,_0x5cdc12=0x0){const _0x216c72=a0_0x1ed12e,_0x3aa9e6={'rmEvo':function(_0x33c353,_0x2b2ad0){return _0x33c353>_0x2b2ad0;},'Reiqz':'Meta\x20update\x20error'};try{const _0x11681c=redisClient[_0x216c72(0x2cf)](),_0x450395=this[_0x216c72(0x2cd)](_0x1feb67,_0x453c0d),_0x319e14=[];for(const [_0xa1edf6,_0x2a31e3]of Object[_0x216c72(0x1e5)](_0x5414f8)){_0x319e14[_0x216c72(0x203)](_0xa1edf6,String(_0x2a31e3));}if(_0x3aa9e6['rmEvo'](_0x319e14['length'],0x0)){await _0x11681c['hset'](_0x450395,..._0x319e14);if(_0x5cdc12>0x0)await _0x11681c[_0x216c72(0x23a)](_0x450395,_0x5cdc12);}}catch(_0x8d9ee4){logger[_0x216c72(0x26c)]({'event':'idgen_meta_update_error','error':_0x8d9ee4[_0x216c72(0x281)]},_0x3aa9e6[_0x216c72(0x1cb)]);}}async['number'](_0x4d94dd){const _0x6688e7=a0_0x1ed12e,_0x2e9127={'xazHE':_0x6688e7(0x259),'kGTXA':_0x6688e7(0x20f),'QMBbd':function(_0x343d1c,_0x18ebc5){return _0x343d1c(_0x18ebc5);},'QclUV':function(_0x124620,_0x146241){return _0x124620===_0x146241;},'HRzBM':_0x6688e7(0x263),'xboFa':_0x6688e7(0x1ee),'YaKdg':'idgen_number_generated'};if(!this[_0x6688e7(0x240)])throw new IdGeneratorError('IDGEN_DISABLED',_0x2e9127['xazHE']);const _0x20df1f=this['_validateNumberParams'](_0x4d94dd),_0x3bfadf=this['_validateIdempotencyKey'](_0x4d94dd[_0x6688e7(0x207)]),{resource:_0x594e18,format:_0x5496eb,prefix:_0x3c8893,separator:_0x5dd450,numDigits:_0x25b6dc,reuseDelete:_0x482e20}=_0x20df1f,{formatKey:_0x2d483e,datePrefix:_0x2600c7}=this[_0x6688e7(0x287)](_0x5496eb,_0x3c8893),_0x3c08ab=this['_buildSeqKey'](_0x594e18,_0x2d483e),_0x35efbc=this[_0x6688e7(0x226)](_0x594e18,_0x2d483e),_0x170452=this[_0x6688e7(0x2d4)](_0x5496eb);let _0x3e07d6=null;if(_0x3bfadf){_0x3e07d6=this[_0x6688e7(0x1d2)](_0x2e9127[_0x6688e7(0x2c0)],_0x594e18,_0x2d483e,_0x3bfadf);const _0x44d53c=await this[_0x6688e7(0x2b6)](_0x3e07d6);if(_0x44d53c)return _0x44d53c;}const _0x34f26a=redisClient[_0x6688e7(0x2cf)](),_0x9d9085=await _0x34f26a['eval'](LUA_GENERATE_NUMBER,0x2,_0x3c08ab,_0x35efbc,_0x482e20?'1':'0',_0x2e9127['QMBbd'](String,_0x170452)),_0x392e5b=_0x9d9085[0x0],_0x538162=_0x2e9127['QclUV'](_0x9d9085[0x1],0x1),_0x4ee64c=this['_formatNumber']({'format':_0x5496eb,'prefix':_0x3c8893,'datePrefix':_0x2600c7,'separator':_0x5dd450,'numDigits':_0x25b6dc,'counterInt':_0x392e5b}),_0xa63cd0={'value':_0x4ee64c,'counter':_0x392e5b,'resource':_0x594e18,'formatKey':_0x2d483e,'isReused':_0x538162,'generatedAt':new Date()[_0x6688e7(0x2b2)]()},_0x7f946a=await this[_0x6688e7(0x278)](_0x3e07d6,_0xa63cd0);if(!_0x7f946a[_0x6688e7(0x293)]){try{await _0x34f26a['eval'](LUA_RELEASE_NUMBER,0x1,_0x35efbc,String(_0x392e5b),_0x2e9127['QMBbd'](String,_0x170452));}catch(_0x4bff47){logger['warn']({'event':_0x2e9127['HRzBM'],'error':_0x4bff47[_0x6688e7(0x281)],'resource':_0x594e18,'formatKey':_0x2d483e,'counterInt':_0x392e5b},'Failed\x20to\x20release\x20counter\x20for\x20idempotency\x20loser');}return logger['info']({'event':_0x2e9127['xboFa'],'resource':_0x594e18,'formatKey':_0x2d483e,'counter':_0x392e5b},'ID\x20Generator\x20number\x20idem\x20race\x20lost,\x20returning\x20winner\x20envelope'),_0x7f946a[_0x6688e7(0x1dd)];}return this[_0x6688e7(0x2d7)](_0x594e18,_0x2d483e,{'lastValue':_0x4ee64c,'lastCounter':_0x392e5b,'lastIsReused':_0x538162,'lastGeneratedAt':_0xa63cd0[_0x6688e7(0x2bf)]},_0x170452),logger[_0x6688e7(0x229)]({'event':_0x2e9127[_0x6688e7(0x23b)],'resource':_0x594e18,'formatKey':_0x2d483e,'counter':_0x392e5b,'isReused':_0x538162},'ID\x20Generator\x20number:\x20'+_0x4ee64c),_0xa63cd0;}async['releaseNumber'](_0x566ee6){const _0xb5fa64=a0_0x1ed12e,_0x23fdbb={'HJcoW':'IDGEN_DISABLED','GckpM':function(_0x2eb2e6,_0x4cf704){return _0x2eb2e6!==_0x4cf704;},'PBYxP':_0xb5fa64(0x1dc),'CbPzg':function(_0x4619c7,_0x5f407d){return _0x4619c7===_0x5f407d;},'PcmIe':'idgen_number_released'};if(!this[_0xb5fa64(0x240)])throw new IdGeneratorError(_0x23fdbb['HJcoW'],'ID\x20Generator\x20is\x20disabled');let _0x467327,_0x3ac7ed,_0x4a32cd,_0x77c8f5;const _0x5e76f9=this[_0xb5fa64(0x2d2)](_0x566ee6[_0xb5fa64(0x207)]);if(_0x566ee6['counterInt']!==undefined&&_0x23fdbb[_0xb5fa64(0x2b0)](_0x566ee6['counterInt'],null)){this[_0xb5fa64(0x1ca)](_0x566ee6[_0xb5fa64(0x215)]),_0x467327=_0x566ee6['resource'];if(typeof _0x566ee6[_0xb5fa64(0x29a)]!==_0x23fdbb[_0xb5fa64(0x1d0)]||_0x23fdbb['CbPzg'](_0x566ee6['formatKey']['length'],0x0))throw new IdGeneratorError('IDGEN_INVALID_NUMBER','formatKey\x20is\x20required\x20in\x20low-level\x20release');_0x3ac7ed=_0x566ee6[_0xb5fa64(0x29a)];if(!Number['isInteger'](_0x566ee6['counterInt'])||_0x566ee6[_0xb5fa64(0x266)]<0x1)throw new IdGeneratorError(_0xb5fa64(0x21a),_0xb5fa64(0x2c7)+_0x566ee6[_0xb5fa64(0x266)]+')');_0x4a32cd=_0x566ee6[_0xb5fa64(0x266)];const _0x5c427f=_0x3ac7ed['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/);_0x77c8f5=_0x5c427f?_0x5c427f[0x1]:_0xb5fa64(0x1fd);}else{const _0x3a10ed=this['_validateNumberParams'](_0x566ee6),_0x103b7b=this[_0xb5fa64(0x231)]({'format':_0x3a10ed[_0xb5fa64(0x2ca)],'prefix':_0x3a10ed[_0xb5fa64(0x2e5)],'separator':_0x3a10ed['separator'],'numDigits':_0x3a10ed['numDigits'],'number':_0x566ee6[_0xb5fa64(0x20f)]});_0x467327=_0x3a10ed[_0xb5fa64(0x215)],_0x3ac7ed=_0x103b7b[_0xb5fa64(0x29a)],_0x4a32cd=_0x103b7b[_0xb5fa64(0x266)],_0x77c8f5=_0x3a10ed[_0xb5fa64(0x2ca)];}const _0x2154eb=this[_0xb5fa64(0x226)](_0x467327,_0x3ac7ed),_0x1ed5bd=this[_0xb5fa64(0x2d4)](_0x77c8f5);let _0x458e06=null;if(_0x5e76f9){_0x458e06=this['_buildIdemKey'](_0xb5fa64(0x22e),_0x467327,_0x3ac7ed,_0x5e76f9);const _0x36be36=await this[_0xb5fa64(0x2b6)](_0x458e06);if(_0x36be36)return _0x36be36;}const _0x3c49d1=redisClient[_0xb5fa64(0x2cf)]();await _0x3c49d1[_0xb5fa64(0x1f9)](LUA_RELEASE_NUMBER,0x1,_0x2154eb,String(_0x4a32cd),String(_0x1ed5bd));const _0x575158={'released':!![],'resource':_0x467327,'formatKey':_0x3ac7ed,'counter':_0x4a32cd,'releasedAt':new Date()['toISOString']()};return await this[_0xb5fa64(0x1ec)](_0x458e06,_0x575158),this[_0xb5fa64(0x2d7)](_0x467327,_0x3ac7ed,{'lastReleasedCounter':_0x4a32cd,'lastReleasedAt':_0x575158['releasedAt']},_0x1ed5bd),logger['info']({'event':_0x23fdbb[_0xb5fa64(0x27f)],'resource':_0x467327,'formatKey':_0x3ac7ed,'counter':_0x4a32cd},_0xb5fa64(0x230)+_0x4a32cd),_0x575158;}async[a0_0x1ed12e(0x283)](_0x2e248b){const _0x42b11c=a0_0x1ed12e,_0x4e5ccd={'EQTYL':_0x42b11c(0x243),'fjmbt':'format','WbOwQ':_0x42b11c(0x2e5),'Wmzwi':function(_0x374141,_0x5b630e){return _0x374141||_0x5b630e;},'vOBqn':_0x42b11c(0x22a),'BNDPH':'expiresAt','KiBKf':_0x42b11c(0x23d),'xdeKP':'idemKey','vngCn':function(_0x3bd943,_0x3d0b8b){return _0x3bd943(_0x3d0b8b);},'EeYki':function(_0x2d0f69,_0x3a8886){return _0x2d0f69(_0x3a8886);},'pcIyA':function(_0x3536f1,_0x3e0664){return _0x3536f1(_0x3e0664);},'Dylrc':'Failed\x20to\x20compensate\x20reservation\x20after\x20counter\x20overflow','FXDGy':_0x42b11c(0x209),'eXCcN':'idgen_reserve_value_persist_error','ijYES':function(_0x1f910a,_0xbf6f44){return _0x1f910a(_0xbf6f44);},'MIYzA':'idgen_reserve_idem_loser_cancel_error','rdsLZ':_0x42b11c(0x1e9),'vLySe':_0x42b11c(0x1fb)};if(!this[_0x42b11c(0x240)])throw new IdGeneratorError(_0x4e5ccd[_0x42b11c(0x2d1)],_0x42b11c(0x259));const _0x375fb9=this[_0x42b11c(0x2b4)](_0x2e248b),_0x11a330=this[_0x42b11c(0x27e)](_0x2e248b[_0x42b11c(0x2de)]),_0x309768=this[_0x42b11c(0x2d2)](_0x2e248b[_0x42b11c(0x207)]),{resource:_0x57168a,format:_0x51225e,prefix:_0x49fea9,separator:_0x5cf961,numDigits:_0x4fc500,reuseDelete:_0x3807d8}=_0x375fb9,{formatKey:_0x41d85b,datePrefix:_0x428531}=this[_0x42b11c(0x287)](_0x51225e,_0x49fea9),_0x2aa791=this['_buildSeqKey'](_0x57168a,_0x41d85b),_0xe5a298=this[_0x42b11c(0x226)](_0x57168a,_0x41d85b),_0x3fc318=this[_0x42b11c(0x267)](_0x57168a,_0x41d85b),_0x3e99e8=this['_getCounterTTL'](_0x51225e);let _0x3649b4=null;if(_0x309768){_0x3649b4=this['_buildIdemKey'](_0x42b11c(0x2c2),_0x57168a,_0x41d85b,_0x309768);const _0x8de8ec=await this[_0x42b11c(0x2b6)](_0x3649b4);if(_0x8de8ec)return _0x8de8ec;}const _0x5a84fd=crypto[_0x42b11c(0x296)](),_0x1c8b1e=this['_buildReservationKey'](_0x5a84fd),_0xb39ccb=this['_buildReservationKeyPrefix'](),_0x4b8b2a=Date[_0x42b11c(0x280)](),_0x56a155=_0x4b8b2a+_0x11a330*0x3e8,_0x53bf1b=_0x11a330*0x3e8,_0x42513a=new Date(_0x4b8b2a)['toISOString'](),_0x101d11=new Date(_0x56a155)['toISOString'](),_0x2c95f0=['resource',_0x57168a,'formatKey',_0x41d85b,_0x4e5ccd[_0x42b11c(0x277)],_0x51225e,_0x4e5ccd['WbOwQ'],_0x49fea9,_0x42b11c(0x2cc),_0x5cf961,_0x42b11c(0x245),String(_0x4fc500),'datePrefix',_0x4e5ccd[_0x42b11c(0x1fe)](_0x428531,''),_0x4e5ccd[_0x42b11c(0x1df)],_0x42513a,_0x4e5ccd[_0x42b11c(0x22b)],_0x101d11,_0x4e5ccd[_0x42b11c(0x20e)],String(_0x53bf1b)];_0x309768&&_0x2c95f0['push'](_0x4e5ccd['xdeKP'],_0x309768);const _0x5cf892=redisClient[_0x42b11c(0x2cf)](),_0x48903d=await _0x5cf892[_0x42b11c(0x1f9)](LUA_RESERVE_NUMBER,0x3,_0x2aa791,_0xe5a298,_0x3fc318,_0x3807d8?'1':'0',String(_0x3e99e8),_0x5a84fd,_0x1c8b1e,_0x4e5ccd['vngCn'](String,_0x53bf1b),_0x4e5ccd[_0x42b11c(0x1d3)](String,_0x56a155),_0x4e5ccd['pcIyA'](String,_0x4b8b2a),_0xb39ccb,..._0x2c95f0),_0x17c6b2=_0x48903d[0x0],_0x52e6db=_0x48903d[0x1]===0x1,_0x4e17b9=_0x48903d[0x2]||0x0;let _0x5cca6f;try{_0x5cca6f=this[_0x42b11c(0x2aa)]({'format':_0x51225e,'prefix':_0x49fea9,'datePrefix':_0x428531,'separator':_0x5cf961,'numDigits':_0x4fc500,'counterInt':_0x17c6b2});}catch(_0x23deaf){try{await _0x5cf892[_0x42b11c(0x1f9)](LUA_CANCEL_RESERVATION,0x3,_0x1c8b1e,_0x3fc318,_0xe5a298,_0x5a84fd,String(_0x3e99e8));}catch(_0x5cb423){logger['warn']({'event':'idgen_reserve_overflow_compensation_error','error':_0x5cb423['message'],'resource':_0x57168a,'formatKey':_0x41d85b,'counterInt':_0x17c6b2,'token':_0x5a84fd},_0x4e5ccd[_0x42b11c(0x262)]);}throw _0x23deaf;}try{await _0x5cf892['hset'](_0x1c8b1e,_0x4e5ccd[_0x42b11c(0x299)],_0x5cca6f);}catch(_0x2e1501){logger['warn']({'event':_0x4e5ccd['eXCcN'],'error':_0x2e1501[_0x42b11c(0x281)],'resource':_0x57168a,'formatKey':_0x41d85b,'counterInt':_0x17c6b2,'token':_0x5a84fd},'Failed\x20to\x20persist\x20formatted\x20value\x20to\x20reservation\x20hash');}const _0xf2b813={'token':_0x5a84fd,'value':_0x5cca6f,'counter':_0x17c6b2,'resource':_0x57168a,'formatKey':_0x41d85b,'isReused':_0x52e6db,'createdAt':_0x42513a,'expiresAt':_0x101d11,'reapedCount':_0x4e17b9},_0x2d1b2d=await this['_storeIdemCacheNX'](_0x3649b4,_0xf2b813);if(!_0x2d1b2d['stored']){try{await _0x5cf892['eval'](LUA_CANCEL_RESERVATION,0x3,_0x1c8b1e,_0x3fc318,_0xe5a298,_0x5a84fd,_0x4e5ccd['ijYES'](String,_0x3e99e8));}catch(_0x56f237){logger[_0x42b11c(0x26c)]({'event':_0x4e5ccd[_0x42b11c(0x2d6)],'error':_0x56f237[_0x42b11c(0x281)],'resource':_0x57168a,'formatKey':_0x41d85b,'counterInt':_0x17c6b2,'token':_0x5a84fd},_0x4e5ccd['rdsLZ']);}return logger[_0x42b11c(0x229)]({'event':_0x42b11c(0x23c),'resource':_0x57168a,'formatKey':_0x41d85b,'counter':_0x17c6b2,'token':_0x5a84fd},_0x42b11c(0x1cf)),_0x2d1b2d['winnerResult'];}return this['_updateMeta'](_0x57168a,_0x41d85b,{'lastReservedCounter':_0x17c6b2,'lastReservedAt':_0x42513a,'lastReapedCount':_0x4e17b9},_0x3e99e8),logger[_0x42b11c(0x229)]({'event':_0x4e5ccd['vLySe'],'resource':_0x57168a,'formatKey':_0x41d85b,'counter':_0x17c6b2,'isReused':_0x52e6db,'token':_0x5a84fd,'ttl':_0x11a330,'reapedCount':_0x4e17b9},_0x42b11c(0x2a7)+_0x5cca6f+_0x42b11c(0x1cc)+_0x5a84fd+')'),_0xf2b813;}async['confirmReservation'](_0x3ae000){const _0x5957fe=a0_0x1ed12e,_0x3e0796={'eIqMA':_0x5957fe(0x1f0),'PvHqG':_0x5957fe(0x1ce),'rfCHq':function(_0x2e996f,_0x180279){return _0x2e996f!==_0x180279;},'fVSmp':function(_0x663c07,_0x313978,_0x52c7fd){return _0x663c07(_0x313978,_0x52c7fd);},'UlKxn':'idgen_reservation_confirmed'};if(!this[_0x5957fe(0x240)])throw new IdGeneratorError(_0x5957fe(0x243),_0x3e0796['eIqMA']);const _0x5d2373=this[_0x5957fe(0x28c)](_0x3ae000&&_0x3ae000['token']),_0xa89a6e=this['_validateIdempotencyKey'](_0x3ae000&&_0x3ae000[_0x5957fe(0x207)]);let _0x24d3e0=null;if(_0xa89a6e){_0x24d3e0=idempotencyManager['buildDeterministicKey'](_0x5957fe(0x2ce),_0x3e0796[_0x5957fe(0x1ff)],_0x5d2373+':'+_0xa89a6e);const _0x4ff904=await this['_retrieveIdemCache'](_0x24d3e0);if(_0x4ff904)return _0x4ff904;}const _0x372433=await this[_0x5957fe(0x1d9)](_0x5d2373),_0xf79e9d=redisClient['getClient'](),_0x48c938=await _0xf79e9d[_0x5957fe(0x1f9)](LUA_CONFIRM_RESERVATION,0x2,_0x372433['rsvKey'],_0x372433[_0x5957fe(0x1c9)],_0x5d2373);if(!_0x48c938||_0x3e0796['rfCHq'](_0x48c938[0x0],0x1))throw new IdGeneratorError('IDGEN_RESERVATION_NOT_FOUND','Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x5d2373,{'token':_0x5d2373});const _0x47dcc4=_0x3e0796[_0x5957fe(0x224)](parseInt,_0x48c938[0x1],0xa),_0xc5edda=_0x48c938[0x2],_0x2d7de0=_0x48c938[0x3],_0x3afa4f=new Date()[_0x5957fe(0x2b2)](),_0x8ead70={'confirmed':!![],'token':_0x5d2373,'value':_0xc5edda,'counter':_0x47dcc4,'resource':_0x372433[_0x5957fe(0x215)],'formatKey':_0x2d7de0,'confirmedAt':_0x3afa4f};await this[_0x5957fe(0x1ec)](_0x24d3e0,_0x8ead70);const _0x18a35c=_0x2d7de0[_0x5957fe(0x222)](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x49c75e=_0x18a35c?_0x18a35c[0x1]:'text',_0x1fcb3d=this[_0x5957fe(0x2d4)](_0x49c75e);return this[_0x5957fe(0x2d7)](_0x372433[_0x5957fe(0x215)],_0x2d7de0,{'lastConfirmedCounter':_0x47dcc4,'lastConfirmedAt':_0x3afa4f},_0x1fcb3d),logger['info']({'event':_0x3e0796['UlKxn'],'resource':_0x372433['resource'],'formatKey':_0x2d7de0,'counter':_0x47dcc4,'token':_0x5d2373},_0x5957fe(0x1db)+_0xc5edda+'\x20(token='+_0x5d2373+')'),_0x8ead70;}async[a0_0x1ed12e(0x2ad)](_0x25ae6e){const _0x57d77c=a0_0x1ed12e,_0x28ab56={'ScUqp':_0x57d77c(0x2ce),'NjVTy':_0x57d77c(0x1f4),'fjeSz':_0x57d77c(0x1fd),'KDYkO':_0x57d77c(0x275)};if(!this['enabled'])throw new IdGeneratorError(_0x57d77c(0x243),_0x57d77c(0x1f0));const _0x58c26f=this[_0x57d77c(0x28c)](_0x25ae6e&&_0x25ae6e['token']),_0xf1a540=this['_validateIdempotencyKey'](_0x25ae6e&&_0x25ae6e['idempotencyKey']);let _0x5e319d=null;if(_0xf1a540){_0x5e319d=idempotencyManager[_0x57d77c(0x282)](_0x28ab56['ScUqp'],_0x28ab56[_0x57d77c(0x29e)],_0x58c26f+':'+_0xf1a540);const _0x17929d=await this[_0x57d77c(0x2b6)](_0x5e319d);if(_0x17929d)return _0x17929d;}const _0x3359ad=await this['_getReservationContext'](_0x58c26f),_0x36d8b1=this[_0x57d77c(0x226)](_0x3359ad[_0x57d77c(0x215)],_0x3359ad['formatKey']),_0x19d74b=_0x3359ad['formatKey'][_0x57d77c(0x222)](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x190105=_0x19d74b?_0x19d74b[0x1]:_0x28ab56[_0x57d77c(0x244)],_0xc60989=this['_getCounterTTL'](_0x190105),_0x374de8=redisClient['getClient'](),_0x4408b9=await _0x374de8[_0x57d77c(0x1f9)](LUA_CANCEL_RESERVATION,0x3,_0x3359ad['rsvKey'],_0x3359ad[_0x57d77c(0x1c9)],_0x36d8b1,_0x58c26f,String(_0xc60989));if(!_0x4408b9||_0x4408b9[0x0]!==0x1)throw new IdGeneratorError('IDGEN_RESERVATION_NOT_FOUND','Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x58c26f,{'token':_0x58c26f});const _0x27aa5f=parseInt(_0x4408b9[0x1],0xa),_0x54ab88=_0x4408b9[0x2],_0x1bba89=_0x4408b9[0x3],_0x2a2bd8=new Date()['toISOString'](),_0x4d73e9={'cancelled':!![],'token':_0x58c26f,'value':_0x54ab88,'counter':_0x27aa5f,'resource':_0x3359ad['resource'],'formatKey':_0x1bba89,'releasedToReuse':!![],'cancelledAt':_0x2a2bd8};return await this['_storeIdemCache'](_0x5e319d,_0x4d73e9),this[_0x57d77c(0x2d7)](_0x3359ad[_0x57d77c(0x215)],_0x1bba89,{'lastCancelledCounter':_0x27aa5f,'lastCancelledAt':_0x2a2bd8},_0xc60989),logger[_0x57d77c(0x229)]({'event':_0x28ab56['KDYkO'],'resource':_0x3359ad[_0x57d77c(0x215)],'formatKey':_0x1bba89,'counter':_0x27aa5f,'token':_0x58c26f},'ID\x20Generator\x20reservation\x20cancelled:\x20'+_0x54ab88+_0x57d77c(0x1cc)+_0x58c26f+')'),_0x4d73e9;}async['extendReservation'](_0x433748){const _0x1c93c4=a0_0x1ed12e,_0x1c26a7={'NGdMK':'ID\x20Generator\x20is\x20disabled','fMskP':function(_0x2c53a6,_0x1a0104){return _0x2c53a6*_0x1a0104;},'Kqygj':function(_0x51c7ad,_0x376592){return _0x51c7ad!==_0x376592;},'bLIaA':_0x1c93c4(0x29b)};if(!this['enabled'])throw new IdGeneratorError(_0x1c93c4(0x243),_0x1c26a7[_0x1c93c4(0x204)]);const _0x5d701f=this['_validateReservationToken'](_0x433748&&_0x433748[_0x1c93c4(0x286)]),_0x2b0f5e=this[_0x1c93c4(0x27e)](_0x433748&&_0x433748[_0x1c93c4(0x2de)]),_0x51eee4=this[_0x1c93c4(0x2d2)](_0x433748&&_0x433748[_0x1c93c4(0x207)]);let _0x1afc7d=null;if(_0x51eee4){_0x1afc7d=idempotencyManager['buildDeterministicKey'](_0x1c93c4(0x2ce),'reserve_extend',_0x5d701f+':'+_0x51eee4);const _0x3b0bee=await this[_0x1c93c4(0x2b6)](_0x1afc7d);if(_0x3b0bee)return _0x3b0bee;}const _0x4af5f2=await this['_getReservationContext'](_0x5d701f),_0x569a0d=Date[_0x1c93c4(0x280)](),_0x12e14b=_0x569a0d+_0x1c26a7[_0x1c93c4(0x27d)](_0x2b0f5e,0x3e8),_0x364005=_0x2b0f5e*0x3e8,_0x44bd0a=new Date(_0x12e14b)['toISOString'](),_0x7cfadd=redisClient[_0x1c93c4(0x2cf)](),_0x43f3a3=await _0x7cfadd[_0x1c93c4(0x1f9)](LUA_EXTEND_RESERVATION,0x2,_0x4af5f2[_0x1c93c4(0x29c)],_0x4af5f2[_0x1c93c4(0x1c9)],_0x5d701f,String(_0x364005),String(_0x12e14b),_0x44bd0a);if(!_0x43f3a3||_0x1c26a7['Kqygj'](_0x43f3a3[0x0],0x1))throw new IdGeneratorError(_0x1c26a7[_0x1c93c4(0x24c)],'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x5d701f,{'token':_0x5d701f});const _0x25109f=_0x43f3a3[0x1],_0x2e124a=parseInt(_0x43f3a3[0x2],0xa),_0x2cc440=_0x43f3a3[0x3],_0x194cd9=_0x43f3a3[0x4],_0x3521b1=new Date(_0x569a0d)[_0x1c93c4(0x2b2)](),_0x183a8c={'extended':!![],'token':_0x5d701f,'previousExpiresAt':_0x25109f,'expiresAt':_0x44bd0a,'ttlMs':_0x364005,'resource':_0x4af5f2[_0x1c93c4(0x215)],'formatKey':_0x194cd9,'counter':_0x2e124a,'value':_0x2cc440,'extendedAt':_0x3521b1};await this['_storeIdemCache'](_0x1afc7d,_0x183a8c);const _0x5ac820=_0x194cd9['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x4290ec=_0x5ac820?_0x5ac820[0x1]:'text',_0x21dec9=this[_0x1c93c4(0x2d4)](_0x4290ec);return this[_0x1c93c4(0x2d7)](_0x4af5f2['resource'],_0x194cd9,{'lastExtendedCounter':_0x2e124a,'lastExtendedAt':_0x3521b1},_0x21dec9),logger[_0x1c93c4(0x229)]({'event':'idgen_reservation_extended','resource':_0x4af5f2[_0x1c93c4(0x215)],'formatKey':_0x194cd9,'counter':_0x2e124a,'token':_0x5d701f,'ttl':_0x2b0f5e},'ID\x20Generator\x20reservation\x20extended:\x20'+_0x2cc440+_0x1c93c4(0x1cc)+_0x5d701f+',\x20+'+_0x2b0f5e+'s)'),_0x183a8c;}async[a0_0x1ed12e(0x294)](_0x465c86){const _0x258428=a0_0x1ed12e,_0x9b7596={'IWTHz':_0x258428(0x243),'qOqZw':_0x258428(0x1f0),'OWOxk':function(_0x46d5e5,_0x257b9b){return _0x46d5e5===_0x257b9b;},'mduAb':function(_0x1266f9,_0x935275,_0x53b387){return _0x1266f9(_0x935275,_0x53b387);},'OqIdN':function(_0x482ffe,_0x1db4f3,_0x1cd77e){return _0x482ffe(_0x1db4f3,_0x1cd77e);},'xLJJr':function(_0x3c3abb,_0x2ea86a){return _0x3c3abb>=_0x2ea86a;}};if(!this[_0x258428(0x240)])throw new IdGeneratorError(_0x9b7596[_0x258428(0x254)],_0x9b7596[_0x258428(0x22c)]);const _0x47b5a4=this[_0x258428(0x28c)](_0x465c86&&_0x465c86[_0x258428(0x286)]),_0x174b67=this[_0x258428(0x24f)](_0x47b5a4),_0x172d7c=redisClient[_0x258428(0x2cf)](),_0x2d20c5=_0x172d7c['pipeline']();_0x2d20c5[_0x258428(0x233)](_0x174b67),_0x2d20c5['pttl'](_0x174b67);const _0x373a50=await _0x2d20c5[_0x258428(0x20b)](),_0x27c17f=_0x373a50&&_0x373a50[0x0]&&_0x373a50[0x0][0x1],_0x909e5d=_0x373a50&&_0x373a50[0x1]&&_0x373a50[0x1][0x1];if(!_0x27c17f||_0x9b7596['OWOxk'](Object['keys'](_0x27c17f)['length'],0x0))throw new IdGeneratorError(_0x258428(0x29b),_0x258428(0x265)+_0x47b5a4,{'token':_0x47b5a4});return{'token':_0x47b5a4,'resource':_0x27c17f[_0x258428(0x215)]||null,'formatKey':_0x27c17f[_0x258428(0x29a)]||null,'format':_0x27c17f['format']||null,'prefix':_0x27c17f[_0x258428(0x2e5)]||'','separator':_0x27c17f[_0x258428(0x2cc)]||'','numDigits':_0x27c17f[_0x258428(0x245)]?_0x9b7596['mduAb'](parseInt,_0x27c17f['numDigits'],0xa):null,'datePrefix':_0x27c17f['datePrefix']||'','counter':_0x27c17f[_0x258428(0x25d)]?_0x9b7596[_0x258428(0x23e)](parseInt,_0x27c17f[_0x258428(0x25d)],0xa):null,'value':_0x27c17f['value']||null,'isReused':_0x27c17f[_0x258428(0x2e3)]==='1'||_0x27c17f['isReused']===0x1,'createdAt':_0x27c17f[_0x258428(0x22a)]||null,'expiresAt':_0x27c17f['expiresAt']||null,'ttlRemainingMs':typeof _0x909e5d===_0x258428(0x20f)&&_0x9b7596[_0x258428(0x2e1)](_0x909e5d,0x0)?_0x909e5d:null};}async[a0_0x1ed12e(0x1d9)](_0x52dfc2){const _0x25b5af=a0_0x1ed12e,_0x3334da={'NynSs':'resource','Rfdur':_0x25b5af(0x29a),'BMeDB':_0x25b5af(0x29b)},_0x426e34=this['_buildReservationKey'](_0x52dfc2),_0x5396de=redisClient[_0x25b5af(0x2cf)](),_0x199418=await _0x5396de['hmget'](_0x426e34,_0x3334da['NynSs'],_0x3334da[_0x25b5af(0x1c0)]),_0x53ac78=_0x199418&&_0x199418[0x0],_0x4fba1f=_0x199418&&_0x199418[0x1];if(!_0x53ac78||!_0x4fba1f)throw new IdGeneratorError(_0x3334da['BMeDB'],'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x52dfc2,{'token':_0x52dfc2});return{'resource':_0x53ac78,'formatKey':_0x4fba1f,'rsvKey':_0x426e34,'rsvIdxKey':this['_buildReservationIndexKey'](_0x53ac78,_0x4fba1f)};}async[a0_0x1ed12e(0x2bd)](_0x4c47f6){const _0x219a81=a0_0x1ed12e,_0x3f8905={'ffEXq':_0x219a81(0x243),'xsWIO':_0x219a81(0x1f0),'lnBAN':function(_0x1c5af0,_0x5541c8){return _0x1c5af0===_0x5541c8;},'XPtRe':function(_0x2ae4b2,_0x1164b3){return _0x2ae4b2===_0x1164b3;},'uUFPn':function(_0x3ae018,_0x5c7a8c){return _0x3ae018&&_0x5c7a8c;},'JPPzM':function(_0x166cc9,_0x182534){return _0x166cc9+_0x182534;},'vXkKV':function(_0x18d735,_0x235a9a){return _0x18d735*_0x235a9a;},'AtcrF':function(_0x37ff9d,_0x1e3b00){return _0x37ff9d||_0x1e3b00;}};if(!this['enabled'])throw new IdGeneratorError(_0x3f8905['ffEXq'],_0x3f8905['xsWIO']);this['_validateResource'](_0x4c47f6['resource']),this[_0x219a81(0x208)](_0x4c47f6['pattern']);const _0x1244d0=this['_validateTTL'](_0x4c47f6['ttl']),_0x5ca484=this[_0x219a81(0x2cb)](_0x4c47f6[_0x219a81(0x279)]),_0x39e9cc=this['_validateIdempotencyKey'](_0x4c47f6[_0x219a81(0x207)]),_0x566e6b=_0x4c47f6['ensureUnique']===!![],{resource:_0x2017d1,pattern:_0x54ef95}=_0x4c47f6;let _0x13020e=null;if(_0x39e9cc){_0x13020e=this[_0x219a81(0x1d2)](_0x219a81(0x2bd),_0x2017d1,null,_0x39e9cc);const _0x961be9=await this['_retrieveIdemCache'](_0x13020e);if(_0x961be9)return _0x961be9;}const _0x26e6d7=redisClient['getClient']();let _0x147e36=null,_0x4eddd1=0x0;if(!_0x566e6b)_0x147e36=this['_generateFromPattern'](_0x54ef95),_0x4eddd1=0x1;else{for(let _0x4d7dd6=0x0;_0x4d7dd6<_0x5ca484;_0x4d7dd6++){_0x4eddd1++;const _0x382258=this[_0x219a81(0x1e2)](_0x54ef95);if(_0x1244d0){const _0x127bba=this['_buildActiveKey'](_0x2017d1,_0x382258),_0x1896f1=await _0x26e6d7[_0x219a81(0x28b)](_0x127bba,'1','EX',_0x1244d0,'NX');if(_0x3f8905[_0x219a81(0x1c5)](_0x1896f1,'OK')){_0x147e36=_0x382258;break;}}else{const _0x3d0ffa=this[_0x219a81(0x1d8)](_0x2017d1),_0x7bc7c6=await _0x26e6d7['sadd'](_0x3d0ffa,_0x382258);if(_0x3f8905[_0x219a81(0x2db)](_0x7bc7c6,0x1)){_0x147e36=_0x382258;break;}}}if(_0x147e36===null)throw new IdGeneratorError('IDGEN_UNIQUE_RETRY_EXHAUSTED','Could\x20not\x20generate\x20unique\x20value\x20after\x20'+_0x5ca484+'\x20attempts.\x20Increase\x20pattern\x20length\x20or\x20maxRetry.',{'resource':_0x2017d1,'pattern':_0x54ef95,'maxRetry':_0x5ca484});}const _0x39bfea={'value':_0x147e36,'resource':_0x2017d1,'pattern':_0x54ef95,'attemptCount':_0x4eddd1,'generatedAt':new Date()[_0x219a81(0x2b2)]()};_0x3f8905['uUFPn'](_0x1244d0,_0x566e6b)&&(_0x39bfea['expiresAt']=new Date(_0x3f8905['JPPzM'](Date['now'](),_0x3f8905['vXkKV'](_0x1244d0,0x3e8)))['toISOString']());const _0x11bd28=await this['_storeIdemCacheNX'](_0x13020e,_0x39bfea);if(!_0x11bd28[_0x219a81(0x293)])return _0x566e6b&&await this[_0x219a81(0x21d)](_0x2017d1,_0x147e36,_0x1244d0),logger['info']({'event':'idgen_random_idem_loser','resource':_0x2017d1,'pattern':_0x54ef95,'value':_0x147e36},'ID\x20Generator\x20random\x20idem\x20race\x20lost,\x20returning\x20winner\x20envelope'),_0x11bd28['winnerResult'];return logger['info']({'event':_0x219a81(0x268),'resource':_0x2017d1,'pattern':_0x54ef95,'attemptCount':_0x4eddd1,'ensureUnique':_0x566e6b,'ttl':_0x3f8905[_0x219a81(0x237)](_0x1244d0,0x0)},_0x219a81(0x27b)+_0x147e36),_0x39bfea;}async['pin'](_0x426d4d){const _0x4e6b19=a0_0x1ed12e,_0xe72603={'ssMll':function(_0x5757db,_0x1a9dd0){return _0x5757db==_0x1a9dd0;},'QDZze':function(_0x26d4d1,_0x1c0a63){return _0x26d4d1===_0x1c0a63;}},_0x81f876=_0xe72603[_0x4e6b19(0x218)](_0x426d4d['digits'],null)?this[_0x4e6b19(0x1d1)]:_0x426d4d[_0x4e6b19(0x290)];if(!Number[_0x4e6b19(0x2e7)](_0x81f876)||_0x81f876<MIN_PIN_DIGITS||_0x81f876>MAX_PIN_DIGITS)throw new IdGeneratorError('IDGEN_INVALID_DIGITS','Invalid\x20digits:\x20must\x20be\x20integer\x20'+MIN_PIN_DIGITS+'-'+MAX_PIN_DIGITS+_0x4e6b19(0x242)+_0x81f876+')');const _0x1a4caa='9'[_0x4e6b19(0x1e0)](_0x81f876);return this['random']({'resource':_0x426d4d['resource'],'pattern':_0x1a4caa,'ensureUnique':_0xe72603[_0x4e6b19(0x216)](_0x426d4d['ensureUnique'],!![]),'ttl':_0x426d4d['ttl'],'maxRetry':_0x426d4d[_0x4e6b19(0x279)],'idempotencyKey':_0x426d4d[_0x4e6b19(0x207)]});}async['serial'](_0x7b673a){const _0x442dcb=a0_0x1ed12e,_0x5bbcf8=_0x7b673a[_0x442dcb(0x1eb)]||this[_0x442dcb(0x2a0)];return this[_0x442dcb(0x2bd)]({'resource':_0x7b673a['resource'],'pattern':_0x5bbcf8,'ensureUnique':_0x7b673a[_0x442dcb(0x264)]!==![],'ttl':_0x7b673a[_0x442dcb(0x2de)],'maxRetry':_0x7b673a[_0x442dcb(0x279)],'idempotencyKey':_0x7b673a['idempotencyKey']});}async['code'](_0x174f23){const _0x24b6cb=a0_0x1ed12e,_0x29ee6e={'LnCAL':function(_0x449e5d,_0x26780c){return _0x449e5d!==_0x26780c;}},_0x39d0ac=_0x174f23[_0x24b6cb(0x1eb)]||this['defaultCodePattern'];return this[_0x24b6cb(0x2bd)]({'resource':_0x174f23['resource'],'pattern':_0x39d0ac,'ensureUnique':_0x29ee6e['LnCAL'](_0x174f23[_0x24b6cb(0x264)],![]),'ttl':_0x174f23['ttl'],'maxRetry':_0x174f23['maxRetry'],'idempotencyKey':_0x174f23['idempotencyKey']});}async['consume'](_0x3c6f3f){const _0x88bcfb=a0_0x1ed12e,_0x3d8ac1={'NJQpm':'IDGEN_DISABLED','eJaDo':function(_0x4aedbf,_0x1dc66f){return _0x4aedbf!==_0x1dc66f;},'qBKvZ':_0x88bcfb(0x2da)};if(!this['enabled'])throw new IdGeneratorError(_0x3d8ac1['NJQpm'],_0x88bcfb(0x1f0));this[_0x88bcfb(0x1ca)](_0x3c6f3f[_0x88bcfb(0x215)]);if(_0x3d8ac1['eJaDo'](typeof _0x3c6f3f[_0x88bcfb(0x209)],_0x88bcfb(0x1dc))||_0x3c6f3f['value']['length']===0x0)throw new IdGeneratorError('IDGEN_INVALID_NUMBER',_0x3d8ac1[_0x88bcfb(0x256)]);const {resource:_0x4eb5b6,value:_0x16ed2c}=_0x3c6f3f,_0x3852d8=redisClient[_0x88bcfb(0x2cf)](),_0x247a8c=this['_buildActiveKey'](_0x4eb5b6,_0x16ed2c),_0x1940c4=this['_buildIssuedKey'](_0x4eb5b6),[_0x4bfc76,_0x144928]=await Promise[_0x88bcfb(0x1c8)]([_0x3852d8['del'](_0x247a8c),_0x3852d8['srem'](_0x1940c4,_0x16ed2c)]),_0x4ceb37=_0x4bfc76+_0x144928>0x0;return logger[_0x88bcfb(0x229)]({'event':'idgen_consumed','resource':_0x4eb5b6,'value':_0x16ed2c,'consumed':_0x4ceb37},'ID\x20Generator\x20consumed:\x20'+_0x16ed2c),{'consumed':_0x4ceb37,'resource':_0x4eb5b6,'value':_0x16ed2c,'consumedAt':new Date()['toISOString']()};}async['peek'](_0x285579){const _0xcd81c0=a0_0x1ed12e,_0x3551f9={'TIUnX':'ID\x20Generator\x20is\x20disabled','LbjRx':'number','rYhpQ':_0xcd81c0(0x2c4),'nEJgq':function(_0x288ff4,_0x28634b,_0x47ff50){return _0x288ff4(_0x28634b,_0x47ff50);},'fdPTj':function(_0x1d1050,_0x2ef8dc){return _0x1d1050||_0x2ef8dc;},'xtkjE':'random'};if(!this['enabled'])throw new IdGeneratorError(_0xcd81c0(0x243),_0x3551f9[_0xcd81c0(0x22f)]);this['_validateResource'](_0x285579[_0xcd81c0(0x215)]);const _0x23a213=_0x285579[_0xcd81c0(0x2a9)]||_0x3551f9['LbjRx'],_0x2079c6=redisClient['getClient']();if(_0x23a213===_0x3551f9['LbjRx']){const _0x2b2e68=(_0x285579['format']||_0xcd81c0(0x1fd))['toLowerCase']();if(!ALLOWED_FORMATS['has'](_0x2b2e68))throw new IdGeneratorError(_0x3551f9[_0xcd81c0(0x2bb)],_0xcd81c0(0x284)+_0x285579[_0xcd81c0(0x2ca)]);const {formatKey:_0x83256c}=this['_buildFormatKey'](_0x2b2e68,_0x285579[_0xcd81c0(0x2e5)]||''),_0x3f6820=this[_0xcd81c0(0x20d)](_0x285579['resource'],_0x83256c),_0x523bdc=this[_0xcd81c0(0x226)](_0x285579['resource'],_0x83256c),[_0xded500,_0x836243]=await Promise['all']([_0x2079c6[_0xcd81c0(0x26a)](_0x3f6820),_0x2079c6['zcard'](_0x523bdc)]);return{'resource':_0x285579['resource'],'mode':'number','formatKey':_0x83256c,'currentCounter':_0x3551f9['nEJgq'](parseInt,_0xded500,0xa)||0x0,'reusePoolSize':_0x3551f9[_0xcd81c0(0x202)](_0x836243,0x0)};}if(_0x23a213===_0xcd81c0(0x2bd)){const _0x35aec3=this[_0xcd81c0(0x1d8)](_0x285579[_0xcd81c0(0x215)]),_0x40c218=await _0x2079c6[_0xcd81c0(0x252)](_0x35aec3);return{'resource':_0x285579['resource'],'mode':_0x3551f9['xtkjE'],'issuedCount':_0x40c218||0x0};}throw new IdGeneratorError('IDGEN_INVALID_MODE','Unknown\x20mode:\x20'+_0x23a213);}async[a0_0x1ed12e(0x1c4)](_0x389a06){const _0x4daeb1=a0_0x1ed12e,_0x147e5f={'XNXUG':function(_0x23bfdc,_0x52f36e){return _0x23bfdc>_0x52f36e;}},_0x309147=await this[_0x4daeb1(0x1e4)](_0x389a06);if(_0x309147['mode']==='number'){const _0x2a8126=redisClient[_0x4daeb1(0x2cf)](),_0xda2859=this[_0x4daeb1(0x2cd)](_0x389a06['resource'],_0x309147[_0x4daeb1(0x29a)]),_0x1b0e72=this['_buildReuseKey'](_0x389a06['resource'],_0x309147[_0x4daeb1(0x29a)]),[_0x26b7fb,_0x2bc032]=await Promise[_0x4daeb1(0x1c8)]([_0x2a8126[_0x4daeb1(0x233)](_0xda2859),_0x2a8126['zrange'](_0x1b0e72,0x0,-0x1)]);return{..._0x309147,'reusePoolValues':_0x2bc032['map'](_0x5b18c1=>parseInt(_0x5b18c1,0xa)),'meta':_0x26b7fb&&_0x147e5f[_0x4daeb1(0x24a)](Object['keys'](_0x26b7fb)[_0x4daeb1(0x24e)],0x0)?_0x26b7fb:null};}return _0x309147;}async['reset'](_0x27e8d1){const _0x141165=a0_0x1ed12e,_0x2d1024={'RIXAH':'IDGEN_DISABLED','iZFBH':_0x141165(0x20f),'XesWs':_0x141165(0x2c4),'oVlym':_0x141165(0x2e4),'QDNhP':_0x141165(0x2d9),'bQsWX':'meta','CoBLb':'random','ohpYn':_0x141165(0x2b3),'rzDYs':_0x141165(0x274)};if(!this['enabled'])throw new IdGeneratorError(_0x2d1024[_0x141165(0x1ef)],'ID\x20Generator\x20is\x20disabled');if(!this[_0x141165(0x21b)])throw new IdGeneratorError(_0x141165(0x1bf),_0x141165(0x1ed));this['_validateResource'](_0x27e8d1[_0x141165(0x215)]);const _0x266e8f=_0x27e8d1[_0x141165(0x2a9)]||_0x2d1024[_0x141165(0x25b)],_0x3a4891=redisClient[_0x141165(0x2cf)]();if(_0x266e8f===_0x2d1024['iZFBH']){const _0x2445d3=(_0x27e8d1[_0x141165(0x2ca)]||'text')[_0x141165(0x2af)]();if(!ALLOWED_FORMATS['has'](_0x2445d3))throw new IdGeneratorError(_0x2d1024[_0x141165(0x1d7)],_0x141165(0x284)+_0x27e8d1['format']);const {formatKey:_0xafa5c8}=this[_0x141165(0x287)](_0x2445d3,_0x27e8d1['prefix']||''),_0xbaf331=this[_0x141165(0x20d)](_0x27e8d1[_0x141165(0x215)],_0xafa5c8),_0x1d5cb7=this[_0x141165(0x226)](_0x27e8d1['resource'],_0xafa5c8),_0x583c3e=this['_buildMetaKey'](_0x27e8d1[_0x141165(0x215)],_0xafa5c8);return await _0x3a4891[_0x141165(0x2d8)](_0xbaf331,_0x1d5cb7,_0x583c3e),logger['warn']({'event':'idgen_reset','resource':_0x27e8d1['resource'],'mode':_0x2d1024[_0x141165(0x25b)],'formatKey':_0xafa5c8},_0x141165(0x1c2)+_0x27e8d1['resource']+':'+_0xafa5c8),{'reset':!![],'resource':_0x27e8d1['resource'],'mode':'number','formatKey':_0xafa5c8,'deletedKeys':[_0x2d1024['oVlym'],_0x2d1024[_0x141165(0x2b7)],_0x2d1024['bQsWX']]};}if(_0x266e8f===_0x2d1024[_0x141165(0x205)]){const _0x3c2122=this['_buildIssuedKey'](_0x27e8d1['resource']);return await _0x3a4891[_0x141165(0x2d8)](_0x3c2122),logger['warn']({'event':'idgen_reset','resource':_0x27e8d1['resource'],'mode':_0x141165(0x2bd)},'ID\x20Generator\x20reset:\x20random:'+_0x27e8d1['resource']),{'reset':!![],'resource':_0x27e8d1['resource'],'mode':'random','deletedKeys':[_0x2d1024['ohpYn']]};}throw new IdGeneratorError(_0x2d1024[_0x141165(0x217)],_0x141165(0x225)+_0x266e8f);}}const instance=new IdGenerator();instance[a0_0x1ed12e(0x25a)]=IdGeneratorError,module['exports']=instance,module[a0_0x1ed12e(0x1da)]['IdGeneratorError']=IdGeneratorError;
|
|
1
|
+
'use strict';const a0_0x4dc06d=a0_0x4ac6;(function(_0x5a2943,_0x25cd36){const _0x4e48f8=a0_0x4ac6,_0x1ef6a5=_0x5a2943();while(!![]){try{const _0x3c26bb=-parseInt(_0x4e48f8(0xe4))/0x1*(-parseInt(_0x4e48f8(0x119))/0x2)+-parseInt(_0x4e48f8(0x103))/0x3+parseInt(_0x4e48f8(0xd2))/0x4*(-parseInt(_0x4e48f8(0xab))/0x5)+-parseInt(_0x4e48f8(0xf7))/0x6*(-parseInt(_0x4e48f8(0x188))/0x7)+-parseInt(_0x4e48f8(0x142))/0x8*(parseInt(_0x4e48f8(0xe2))/0x9)+parseInt(_0x4e48f8(0xfb))/0xa*(parseInt(_0x4e48f8(0x17c))/0xb)+-parseInt(_0x4e48f8(0xaf))/0xc*(-parseInt(_0x4e48f8(0xc3))/0xd);if(_0x3c26bb===_0x25cd36)break;else _0x1ef6a5['push'](_0x1ef6a5['shift']());}catch(_0x2af77f){_0x1ef6a5['push'](_0x1ef6a5['shift']());}}}(a0_0x1077,0xaef98));function a0_0x4ac6(_0x5b2ac9,_0x4f3362){_0x5b2ac9=_0x5b2ac9-0x9c;const _0x1077bc=a0_0x1077();let _0x4ac61c=_0x1077bc[_0x5b2ac9];if(a0_0x4ac6['NlrRlz']===undefined){var _0x277257=function(_0x1e3741){const _0x321eeb='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1fe9ef='',_0x2491ed='';for(let _0x1528de=0x0,_0x4aadaa,_0x5bda50,_0x18fa12=0x0;_0x5bda50=_0x1e3741['charAt'](_0x18fa12++);~_0x5bda50&&(_0x4aadaa=_0x1528de%0x4?_0x4aadaa*0x40+_0x5bda50:_0x5bda50,_0x1528de++%0x4)?_0x1fe9ef+=String['fromCharCode'](0xff&_0x4aadaa>>(-0x2*_0x1528de&0x6)):0x0){_0x5bda50=_0x321eeb['indexOf'](_0x5bda50);}for(let _0x5915b1=0x0,_0x1c2659=_0x1fe9ef['length'];_0x5915b1<_0x1c2659;_0x5915b1++){_0x2491ed+='%'+('00'+_0x1fe9ef['charCodeAt'](_0x5915b1)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2491ed);};a0_0x4ac6['fBsxTh']=_0x277257,a0_0x4ac6['cwpoLH']={},a0_0x4ac6['NlrRlz']=!![];}const _0x23ea36=_0x1077bc[0x0],_0x503598=_0x5b2ac9+_0x23ea36,_0xf1cd6f=a0_0x4ac6['cwpoLH'][_0x503598];return!_0xf1cd6f?(_0x4ac61c=a0_0x4ac6['fBsxTh'](_0x4ac61c),a0_0x4ac6['cwpoLH'][_0x503598]=_0x4ac61c):_0x4ac61c=_0xf1cd6f,_0x4ac61c;}function a0_0x1077(){const _0x5e23ab=['sw52ywXPzcbMB3jTyxq6ia','x3zHBgLKyxrLtwf4uMv0CNK','sw52ywXPzcbWyxr0zxjUoIbTDxn0igjLihn0CMLUzYaXlq','x2j1AwXKsxnZDwvKs2v5','CMPIz3q','C2vX','suqGr2vUzxjHDg9YihjLC2vYDMf0Aw9UignHBMnLBgXLzdOG','AwrNzw5FCMvZzxq','nMvItw9vua','surhru5Fru5bqKXfra','x2LKzw1uveW','x3rLEhq','mta3mfLRz2HTCa','y3jLyxrLzef0','DwzRr1m','igrPz2L0CYaOz290oIa','x2fSBg93uMvZzxq','BNLuv2K','AgfZ','x2j1AwXKuMv1C2vlzxK','mZiYndyYnuH5CfvHva','Chr0Ba','DhrS','CMXxtuW','EMjfuey','C2rfDKW','zw5ZDxjLvw5PCxvL','zuzcz1u','sw52ywXPzcbYzxnVDxjJztOGBxvZDcbTyxrJAca','ihbHCNrZkq','y291BNrLCKLUDa','Bwf0y2G','A2v5uhjLzML4','u0vuie5yigzHAwXLzcbIDxqGy2fJAguGr0vuihjLDhvYBMvKigvTChr5iokaLcbMywXSAw5NigjHy2SGDg8GB3DUihjLC3vSDa','C3rYAw5NAwz5','z21IwLu','AwrNzw5FCMvZzxj2yxrPB25Fy29UzMLYBwvK','BLz6s2S','x2j1AwXKuMvZzxj2yxrPB25jBMrLEeTLEq','x2j1AwXKuMvZzxj2yxrPB25lzxK','C2vWyxjHDg9Y','x2zVCM1HDe51BwjLCG','otH1B0nYBg4','x2j1AwXKu2vXs2v5','surhru5Fsu5wquXjrf9qqvrurvjo','CMvZzxj2zu1HEfruta','y291BNrLCG','Dg9mB3DLCKnHC2u','CLfHrhO','Dgv4Da','AwrNzw5FAwrLBv9ZDg9Yzv9LCNjVCG','surhru5Fsu5wquXjrf9ovu1crvi','cMLMiefsr1zBmv0Gpt0GjZeNihrOzw4kicbSB2nHBcbYzxvZzwqGpsbYzwrPCY5JywXSkcDAue9qtuLojYWGs0vzu1SYxsWGmsKkicbPzIaJCMv1C2vKid4Gmcb0AgvUcIaGicbYzxr1CM4GE3rVBNvTyMvYkhjLDxnLzfSXxsKSidf9cIaGzw5KcMvUzaPSB2nHBcbUid0GCMvKAxmUy2fSBcGNsu5duICSieTfwvnBmv0PcMXVy2fSihr0Bca9ihrVBNvTyMvYkefsr1zBmL0PcMLMihr0Bca+idaGyw5Kig4Gpt0Gmsb0AgvUcIaGCMvKAxmUy2fSBcGNrvHqsvjfjYWGs0vzu1SXxsWGDhrSkqPLBMqkCMv0DxjUihTUlcaWFqO','Bwf4uMv0CNK','suqGr2vUzxjHDg9Yig51BwjLCIbYzwXLyxnLzdOG','zxHWB3j0CW','yNvPBgrezxrLCM1PBMLZDgLJs2v5','zgvMyxvSDfnLCMLHBfbHDhrLCM4','vw5RBM93BIbMB3jTyxq6ia','tLHIs2y','surhru5FuKvtrvjwqvrjt05FtK9ux0zpvu5e','ywn0AxzLoG','D2vrB00','zxHWAxjL','Dg9Rzw4','x2vUC3vYzuLUAxrPywXPEMvK','sw52ywXPzcbWCMvMAxG6ig11C3qGBwf0y2GG','C3jLBq','sw52ywXPzcbKAwDPDhm6ig11C3qGyMuGAw50zwDLCIa','CMjTqLi','yM9VBgvHBG','rMfPBgvKihrVignHBMnLBcbYzxnLCNzHDgLVBIbMB3iGAwrLBxbVDgvUy3KGBg9Zzxi','CNn2swr4s2v5','zgvMyxvSDenVzgvqyxr0zxjU','zK1Xuey','BNvTrgLNAxrZ','zgvS','zM9YBwf0s2v5igLZihjLCxvPCMvKigLUigXVDY1SzxzLBcbYzwXLyxnL','zfzgseC','x2rLzMf1BhrtzxjPywXqyxr0zxjU','surhru5Fsu5wquXjrf9uveW','AwrNzw5FCMfUzg9Tx2DLBMvYyxrLza','surhru5Fq09vtLrfuL9uveXFrefjtfK','nJiXmZq0ofPVzLbosq','qu1RCwO','DvPms0G','x2rLzMf1BhrdB2rLugf0DgvYBG','swrhzw5LCMf0B3jfCNjVCG','CMfUzg9Tsw50','sw52ywXPzcbYzxvZzurLBgv0ztOGBxvZDcbIzsbIB29SzwfUicHNB3q6ia','AwrNzw5Fy29UC3vTzwq','AwrNzw5FBNvTyMvYx3jLBgvHC2vK','z2v0','ExL5Ew1Tzgq','ENjHBMDL','surhru5Fsu5wquXjrf9esuDjvfm','EhPHBxu','icHNB3q6ia','qu1xtwm','sw52ywXPzcbYzxnLCNzHDgLVBIb0DgW6ig11C3qGyMuGAw50zwDLCIa','B2f6vLG','Be9hzgq','suqGr2vUzxjHDg9YihjHBMrVBsbPzgvTihjHy2uGBg9ZDcWGCMv0DxjUAw5NihDPBM5LCIbLBNzLBg9Wzq','Dhj1zq','DMfSDwu','x3zHBgLKyxrLvfrm','CvLTq0O','BMfTzq','D2fYBG','C2nHCMq','x2DLDfjLC2vYDMf0Aw9Uq29UDgv4Da','x2LUAxrPywXPEMvK','zxHLyW','wfHywc1ywfHylvHywfGTwfHywa','x3zHBgLKyxrLtNvTyMvYugfYyw1Z','x2j1AwXKtwv0yuTLEq','zM9YBwf0s2v5','yNzMAuC','y2fUy2vSuMvZzxj2yxrPB24','se5JCvG','xLXKEW','CMfUzg9T','x3zHBgLKyxrLuMvZB3vYy2u','De5NCeS','yLnUuNa','sw52ywXPzcbYzxnLCNzHDgLVBIb0B2TLBJOGBxvZDcbIzsbHihzHBgLKifvvsuqGzM9YBwf0icHNB3q6ia','CML4q2W','surhru5Fvu5juvvfx1jfvfjzx0vysefvu1rfra','AwrNzw5FBNvTyMvYx2DLBMvYyxrLza','BNvTyMvY','uK91Eee','x2DLBMvYyxrLrNjVBvbHDhrLCM4','t09ivgm','re5KrfG','CNn2oG','yKXjt3G','BgvUz3rO','suqGr2vUzxjHDg9YigLZigrPC2fIBgvK','zMrhvhe','u01twxK','cNjLzgLZlMnHBgWOj1PbreqNlcblrvLtwZfDlcbbuKDwwZfDlcbbuKDwwZfDkqPSB2nHBcb0DgWGpsb0B251BwjLCIHbuKDwwZjDkqPPzIb0DgWGpIaWihrOzw4kicbYzwrPCY5JywXSkcDfwfbjuKuNlcblrvLtwZfDlcb0DgWPcMvUzaPYzxr1CM4GmqO','mta5mJe5Eu9bs1vb','zxzHBa','suvZuwW','D2v1EKC','z2vUzxjHDgvKqxq','x3bHzdi','CgvLAW','ywzfEg4','BxDJrLi','CgfKu3rHCNq','werOAKm','x2j1AwXKqwn0AxzLs2v5','ndG5mZGZm2PmDvjKDq','z2v0uMvZzxj2yxrPB24','y29Kzq','zgf0zvbYzwzPEa','BvnIuLa','DMTIyva','CvDkD2i','x2j1AwXKrM9YBwf0s2v5','AwrLBxbVDgvUy3LlzxK','De5KCgy','AxnjBNrLz2vY','AxnszxvZzwq','uhb1AhK','CgfYC2u','qujdrevgr0HjsKTmtu5puffsu1rvvLDywvO','tNvTyMvYignVDw50zxiGCgfYDcbTDxn0igjLigv4ywn0BhKG','uwXOEMG','wKDKtMS','AwrNzw4','x2rLzMf1BhrnyxHszxrYEq','CMvWzwf0','swrLBxbVDgvUy3KGC3rVCMuGzxjYB3i','x3vWzgf0zu1LDge','x3jLDhjPzxzLswrLBunHy2HL','C2v0','q291BgqGBM90igDLBMvYyxrLihvUAxf1zsb2ywX1zsbHzNrLCIa','D2LUBMvYuMvZDwX0','CMvSzwfZzwrbDa','y3j5ChrV','x3zHBgLKyxrLswrLBxbVDgvUy3LlzxK','C3rYAw5N','C2v0zxG','CMvZB3vYy2u','Dg9ju09tDhjPBMC','sw52ywXPzcbMB3jTyxq6ig11C3qGyMuGB25Lig9Mia','z2v0rgf0zq','x3n0B3jLswrLBunHy2HL','CMv1C2u','y2XVq3C','CMvSzwfZzu51BwjLCG','tNvTyMvYigrVzxmGBM90ig1HDgnOigv4CgvJDgvKihrLEhqGzM9YBwf0icHNB3q6ia','lcbNB3qG','ihnLy29UzhmGkgDVDdOG','lwrPz2L0ignHCgfJAxr5icG','x2j1AwXKswrLBuTLEq','zgvMyxvSDfbPBKrPz2L0CW','sw52ywXPzcbUDw1eAwDPDhm6ig11C3qGyMuGAw50zwDLCIa','x2LUAxrdB25MAwC','v2zoyMe','tvnWqLi','DMfSDwuGAxmGCMvXDwLYzwq','igf0DgvTChrZlIbjBMnYzwfZzsbWyxr0zxjUigXLBMD0AcbVCIbTyxHszxrYEs4','CMvZzxj2zv9JB25MAxjT','CML0B0u','sw52ywXPzcbTyxHszxrYEtOGBxvZDcbIzsbPBNrLz2vYideT','qK1mq0C','surhru5Fsu5wquXjrf9gt1jnqvq','sw52ywXPzcb0DgW6ig11C3qGyMuGAw50zwDLCIaXlq','AgDLDgfSBa','rMfPBgvKihrVihjLBgvHC2uGy291BNrLCIbMB3iGAwrLBxbVDgvUy3KGBg9Zzxi','y29UC3vTzq','x3n0B3jLswrLBunHy2HLtLG','uMvZzxj2yxrPB24GBM90igzVDw5Kig9YigfSCMvHzhKGy29UC3vTzwq6ia','suqGr2vUzxjHDg9Yig51BwjLCIbYzxnLCNzLzdOG','mta0odGWnxvsCen4Bq','suqGr2vUzxjHDg9Yig51BwjLCJOG','suqGr2vUzxjHDg9YignVBMzPzYbPBML0AwfSAxPLzcaTigvUywjSzwq6ia','surhru5Fsu5wquXjrf9ovu1FreLhsvrt','mZmYnfb1txD6Aa','zM9YBwf0','yxLSwLG','u1LZCK0','surhru5FuKvtrvrFtK9ux0fmte9xruq','z2f5yLy','mdeYmZq1nJC4oq','AuXbvM4','AxnfBMfIBgvK','AhnLDa','icH0B2TLBJ0','x3jLC2vYDMvnyxHuveW','z2v0rNvSBfLLyxi','wNr1suC','z2v0q2XPzw50','ywXS','AwrNzw5FBNvTyMvYx2LKzw1FBg9Zzxi','ChvZAa','ExL5Ew1T','qKrQqKq','nduWmtLlv0n4qwS','surhru5Fq09vtLrfuL9pvKvsrKXpvW','otK5os05otK5','x3zHBgLKyxrLuMvZzxj2zvruta','x2nVDw50zxjuveXnyxa','surhru5Frevgqvvmvf9dt0rfx1bbvfrfuK4','x3jLC2vYDMvezwzHDwX0vfrm','zw5HyMXLza','Aw5MBW','C3rVCMvK','DNnfr2O','Cvrwwe4','zgrJqxK','sgzLzfG','BwvZC2fNzq','ohrvu3bbrW','AxnZDwvK','surhru5FreLtqujmruq','suqGr2vUzxjHDg9YignVBNn1BwvKoIa','C2fKza','x2rLzMf1BhrqAw5eAwDPDhm','BLrhBvm','CgLWzwXPBMu','AwrNzw5FAwrLBv9ZDg9Yzw54x2vYCM9Y','zgv0ywLSCW','lI9YzwrPCY1JBgLLBNq','zgHIq1i','zMrzrfK','rxPHsuS','C3bSAxq','Bw9Kzq','oxvQDujbBW','x2TLEvbYzwzPEa','ntq0owjis2L2qG','CMXuDM8','sw52ywXPzcbWyxr0zxjUoIbTDxn0ignVBNrHAw4GyxqGBgvHC3qGB25LihbSywnLAg9SzgvYignOyxjHy3rLCIaOos9ol0eVys9ml1GVEc9il2GP','x2DLDenVDw50zxjuveW','t0v5rM4','Eu1yv0m','x2vUywjSzwq','suqGr2vUzxjHDg9YigLZigrPC2fIBgvKicHZzxqGsurhru5Fru5bqKXfrd10CNvLkq','x3zHBgLKyxrLuMvZzxj2yxrPB25uB2TLBG','zw52','DgvZDa'];a0_0x1077=function(){return _0x5e23ab;};return a0_0x1077();}const crypto=require(a0_0x4dc06d(0x1a4)),redisClient=require(a0_0x4dc06d(0xdc)),{logger}=require('./logger'),idempotencyManager=require('./idempotency-manager'),ALLOWED_FORMATS=new Set(['text','yyyy',a0_0x4dc06d(0xc1),a0_0x4dc06d(0x14c)]),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_0x4dc06d(0xb5),CHARSET_UPPER=a0_0x4dc06d(0x196),CHARSET_LOWER='abcdefghijklmnopqrstuvwxyz',CHARSET_LETTERS=CHARSET_UPPER+CHARSET_LOWER,CHARSET_UPPER_ALNUM=CHARSET_UPPER+CHARSET_DIGIT,CHARSET_MIXED_ALNUM=CHARSET_UPPER+CHARSET_LOWER+CHARSET_DIGIT,CHARSET_HEX_UPPER='0123456789ABCDEF',CHARSET_HEX_LOWER='0123456789abcdef',PLACEHOLDER_MAP={'9':CHARSET_DIGIT,'N':CHARSET_DIGIT,'A':CHARSET_UPPER,'a':CHARSET_LOWER,'L':CHARSET_LETTERS,'X':CHARSET_UPPER_ALNUM,'x':CHARSET_MIXED_ALNUM,'H':CHARSET_HEX_UPPER,'h':CHARSET_HEX_LOWER},LUA_GENERATE_NUMBER=a0_0x4dc06d(0x123),LUA_RELEASE_NUMBER=a0_0x4dc06d(0x17b),LUA_RESERVE_NUMBER='\x0alocal\x20unpk\x20=\x20unpack\x20or\x20table.unpack\x0a\x0a--\x20Step\x201:\x20lazy\x20reap\x20expired\x20reservations\x20(cap\x20RESERVE_REAP_BATCH)\x0alocal\x20reaped\x20=\x200\x0alocal\x20nowMs\x20=\x20ARGV[7]\x0alocal\x20rsvPrefix\x20=\x20ARGV[8]\x0alocal\x20expired\x20=\x20redis.call(\x27ZRANGEBYSCORE\x27,\x20KEYS[3],\x20\x27-inf\x27,\x20\x27(\x27\x20..\x20nowMs,\x20\x27LIMIT\x27,\x200,\x2064)\x0afor\x20i\x20=\x201,\x20#expired\x20do\x0a\x20\x20local\x20expToken\x20=\x20expired[i]\x0a\x20\x20local\x20expRsvKey\x20=\x20rsvPrefix\x20..\x20expToken\x0a\x20\x20local\x20expCounter\x20=\x20redis.call(\x27HGET\x27,\x20expRsvKey,\x20\x27counter\x27)\x0a\x20\x20if\x20expCounter\x20then\x0a\x20\x20\x20\x20redis.call(\x27ZADD\x27,\x20KEYS[2],\x20expCounter,\x20expCounter)\x0a\x20\x20end\x0a\x20\x20redis.call(\x27DEL\x27,\x20expRsvKey)\x0a\x20\x20redis.call(\x27ZREM\x27,\x20KEYS[3],\x20expToken)\x0a\x20\x20reaped\x20=\x20reaped\x20+\x201\x0aend\x0a\x0a--\x20Step\x202:\x20allocate\x20counter\x20(ZPOPMIN\x20reuse\x20atau\x20INCR\x20seq)\x0alocal\x20counterInt\x0alocal\x20isReused\x20=\x200\x0aif\x20ARGV[1]\x20==\x20\x271\x27\x20then\x0a\x20\x20local\x20r\x20=\x20redis.call(\x27ZPOPMIN\x27,\x20KEYS[2],\x201)\x0a\x20\x20if\x20#r\x20>\x200\x20then\x0a\x20\x20\x20\x20counterInt\x20=\x20tonumber(r[1])\x0a\x20\x20\x20\x20isReused\x20=\x201\x0a\x20\x20end\x0aend\x0aif\x20not\x20counterInt\x20then\x0a\x20\x20counterInt\x20=\x20redis.call(\x27INCR\x27,\x20KEYS[1])\x0a\x20\x20local\x20cttl\x20=\x20tonumber(ARGV[2])\x0a\x20\x20if\x20cttl\x20>\x200\x20and\x20counterInt\x20==\x201\x20then\x0a\x20\x20\x20\x20redis.call(\x27EXPIRE\x27,\x20KEYS[1],\x20cttl)\x0a\x20\x20end\x0aend\x0a\x0a--\x20Step\x203:\x20write\x20reservation\x20hash\x20+\x20index\x20+\x20TTL\x0alocal\x20rsvKey\x20=\x20ARGV[4]\x0alocal\x20rsvTtlMs\x20=\x20tonumber(ARGV[5])\x0alocal\x20expiresAtMs\x20=\x20tonumber(ARGV[6])\x0alocal\x20nargs\x20=\x20#ARGV\x0alocal\x20fields\x20=\x20{}\x0afor\x20i\x20=\x209,\x20nargs\x20do\x0a\x20\x20fields[#fields\x20+\x201]\x20=\x20ARGV[i]\x0aend\x0aredis.call(\x27HSET\x27,\x20rsvKey,\x20\x27counter\x27,\x20counterInt,\x20\x27isReused\x27,\x20isReused,\x20unpk(fields))\x0aredis.call(\x27PEXPIRE\x27,\x20rsvKey,\x20rsvTtlMs)\x0aredis.call(\x27ZADD\x27,\x20KEYS[3],\x20expiresAtMs,\x20ARGV[3])\x0aredis.call(\x27EXPIRE\x27,\x20KEYS[3],\x20math.floor(rsvTtlMs\x20/\x201000)\x20+\x2060)\x0a\x0areturn\x20{\x20counterInt,\x20isReused,\x20reaped\x20}\x0a',LUA_CONFIRM_RESERVATION='\x0aif\x20redis.call(\x27EXISTS\x27,\x20KEYS[1])\x20==\x200\x20then\x0a\x20\x20redis.call(\x27ZREM\x27,\x20KEYS[2],\x20ARGV[1])\x0a\x20\x20return\x20{\x200\x20}\x0aend\x0alocal\x20h\x20=\x20redis.call(\x27HMGET\x27,\x20KEYS[1],\x20\x27counter\x27,\x20\x27value\x27,\x20\x27formatKey\x27,\x20\x27isReused\x27,\x20\x27createdAt\x27,\x20\x27expiresAt\x27)\x0aredis.call(\x27DEL\x27,\x20KEYS[1])\x0aredis.call(\x27ZREM\x27,\x20KEYS[2],\x20ARGV[1])\x0areturn\x20{\x201,\x20h[1],\x20h[2],\x20h[3],\x20h[4],\x20h[5],\x20h[6]\x20}\x0a',LUA_CANCEL_RESERVATION='\x0aif\x20redis.call(\x27EXISTS\x27,\x20KEYS[1])\x20==\x200\x20then\x0a\x20\x20redis.call(\x27ZREM\x27,\x20KEYS[2],\x20ARGV[1])\x0a\x20\x20return\x20{\x200\x20}\x0aend\x0alocal\x20h\x20=\x20redis.call(\x27HMGET\x27,\x20KEYS[1],\x20\x27counter\x27,\x20\x27value\x27,\x20\x27formatKey\x27)\x0alocal\x20counter\x20=\x20h[1]\x0aif\x20counter\x20then\x0a\x20\x20redis.call(\x27ZADD\x27,\x20KEYS[3],\x20counter,\x20counter)\x0a\x20\x20local\x20ttl\x20=\x20tonumber(ARGV[2])\x0a\x20\x20if\x20ttl\x20>\x200\x20then\x0a\x20\x20\x20\x20redis.call(\x27EXPIRE\x27,\x20KEYS[3],\x20ttl)\x0a\x20\x20end\x0aend\x0aredis.call(\x27DEL\x27,\x20KEYS[1])\x0aredis.call(\x27ZREM\x27,\x20KEYS[2],\x20ARGV[1])\x0areturn\x20{\x201,\x20counter,\x20h[2],\x20h[3]\x20}\x0a',LUA_EXTEND_RESERVATION='\x0aif\x20redis.call(\x27EXISTS\x27,\x20KEYS[1])\x20==\x200\x20then\x0a\x20\x20redis.call(\x27ZREM\x27,\x20KEYS[2],\x20ARGV[1])\x0a\x20\x20return\x20{\x200\x20}\x0aend\x0alocal\x20h\x20=\x20redis.call(\x27HMGET\x27,\x20KEYS[1],\x20\x27expiresAt\x27,\x20\x27counter\x27,\x20\x27value\x27,\x20\x27formatKey\x27,\x20\x27isReused\x27,\x20\x27createdAt\x27)\x0alocal\x20prevExpiresAt\x20=\x20h[1]\x0alocal\x20newTtlMs\x20=\x20tonumber(ARGV[2])\x0alocal\x20newExpMs\x20=\x20tonumber(ARGV[3])\x0aredis.call(\x27PEXPIRE\x27,\x20KEYS[1],\x20newTtlMs)\x0aredis.call(\x27HSET\x27,\x20KEYS[1],\x20\x27expiresAt\x27,\x20ARGV[4])\x0aredis.call(\x27ZADD\x27,\x20KEYS[2],\x20newExpMs,\x20ARGV[1])\x0aredis.call(\x27EXPIRE\x27,\x20KEYS[2],\x20math.floor(newTtlMs\x20/\x201000)\x20+\x2060)\x0areturn\x20{\x201,\x20prevExpiresAt,\x20h[2],\x20h[3],\x20h[4],\x20h[5],\x20h[6]\x20}\x0a';class IdGeneratorError extends Error{constructor(_0xaab07a,_0xbe1250,_0x20414f=null){const _0x4a824b=a0_0x4dc06d;super(_0xbe1250||_0xaab07a),this[_0x4a824b(0x15a)]='IdGeneratorError',this[_0x4a824b(0x18a)]=_0xaab07a,this[_0x4a824b(0xdb)]=_0x20414f;}}class IdGenerator{constructor(){const _0xa5c0f9=a0_0x4dc06d;this[_0xa5c0f9(0x15e)]=![],this[_0xa5c0f9(0xea)]=null,this['_keyPrefix']=null,this['_idemTTL']=null,this[_0xa5c0f9(0xff)]=null,this['_defaultMaxRetry']=null,this['_defaultPinDigits']=null,this['_defaultSerialPattern']=null,this['_defaultCodePattern']=null,this[_0xa5c0f9(0xc7)]=null,this['_reserveDefaultTTL']=null,this['_reserveMaxTTL']=null;}[a0_0x4dc06d(0x1b7)](){const _0x15e3f3=a0_0x4dc06d,_0x1d83dd={'KwUAU':'rf:idgen:','KlePy':function(_0xff8535,_0x2e2b0e){return _0xff8535===_0x2e2b0e;},'fOGrR':function(_0x9595db,_0xb4b1c5,_0x86551a){return _0x9595db(_0xb4b1c5,_0x86551a);},'dhbCR':_0x15e3f3(0xc5),'yMXWC':function(_0x2c6d31,_0x4b421b,_0xbec4c6){return _0x2c6d31(_0x4b421b,_0xbec4c6);}};this[_0x15e3f3(0xe3)]=_0x1d83dd['KwUAU'],this['_enabled']=_0x1d83dd['KlePy'](process['env'][_0x15e3f3(0xf8)],_0x15e3f3(0x156)),this[_0x15e3f3(0xf9)]=_0x1d83dd['fOGrR'](parseInt,process['env']['IDGEN_IDEM_TTL'],0xa)||0x258,this['_allowReset']=process['env']['IDGEN_ALLOW_RESET']==='true',this[_0x15e3f3(0x19b)]=parseInt(process['env']['IDGEN_DEFAULT_MAX_RETRY'],0xa)||0xa,this[_0x15e3f3(0xd7)]=parseInt(process['env']['IDGEN_DEFAULT_PIN_DIGITS'],0xa)||0x6,this[_0x15e3f3(0x13e)]=process[_0x15e3f3(0xed)]['IDGEN_DEFAULT_SERIAL_PATTERN']||_0x15e3f3(0x160),this['_defaultCodePattern']=process['env'][_0x15e3f3(0xc8)]||_0x1d83dd[_0x15e3f3(0xdd)],this[_0x15e3f3(0xc7)]={'yyyymm':_0x1d83dd[_0x15e3f3(0xe9)](parseInt,process[_0x15e3f3(0xed)]['IDGEN_COUNTER_TTL_MONTHLY'],0xa)||0x2a3000,'yyyymmdd':parseInt(process[_0x15e3f3(0xed)][_0x15e3f3(0x141)],0xa)||0x2a300},this['_reserveDefaultTTL']=parseInt(process[_0x15e3f3(0xed)]['IDGEN_RESERVE_DEFAULT_TTL'],0xa)||DEFAULT_RESERVE_TTL,this[_0x15e3f3(0xba)]=parseInt(process['env']['IDGEN_RESERVE_MAX_TTL'],0xa)||MAX_RESERVE_TTL,this[_0x15e3f3(0x15e)]=!![],logger[_0x15e3f3(0xcb)]({'event':'idgen_config_init','enabled':this[_0x15e3f3(0xea)],'idemTTL':this['_idemTTL'],'allowReset':this['_allowReset'],'defaultMaxRetry':this['_defaultMaxRetry'],'defaultPinDigits':this[_0x15e3f3(0xd7)],'reserveDefaultTTL':this[_0x15e3f3(0xc9)],'reserveMaxTTL':this[_0x15e3f3(0xba)]},_0x15e3f3(0xad)+this[_0x15e3f3(0xea)]);}[a0_0x4dc06d(0x130)](){const _0x525747=a0_0x4dc06d;if(!this[_0x525747(0x15e)])this[_0x525747(0x1b7)]();}get['enabled'](){const _0x18e5fb=a0_0x4dc06d;return this[_0x18e5fb(0x130)](),this['_enabled'];}get['keyPrefix'](){const _0x179dda=a0_0x4dc06d;return this[_0x179dda(0x130)](),this[_0x179dda(0xe3)];}get['idemTTL'](){const _0x515e1c=a0_0x4dc06d;return this[_0x515e1c(0x130)](),this['_idemTTL'];}get['allowReset'](){return this['_ensureInitialized'](),this['_allowReset'];}get['defaultMaxRetry'](){const _0x3e35af=a0_0x4dc06d;return this[_0x3e35af(0x130)](),this[_0x3e35af(0x19b)];}get[a0_0x4dc06d(0x1b5)](){const _0x224dd3=a0_0x4dc06d;return this[_0x224dd3(0x130)](),this[_0x224dd3(0xd7)];}get[a0_0x4dc06d(0x128)](){return this['_ensureInitialized'](),this['_defaultSerialPattern'];}get[a0_0x4dc06d(0x138)](){const _0x8c173f=a0_0x4dc06d;return this['_ensureInitialized'](),this[_0x8c173f(0x145)];}get['reserveDefaultTTL'](){const _0x2f8411=a0_0x4dc06d;return this[_0x2f8411(0x130)](),this[_0x2f8411(0xc9)];}get[a0_0x4dc06d(0x11c)](){const _0x4d2670=a0_0x4dc06d;return this['_ensureInitialized'](),this[_0x4d2670(0xba)];}[a0_0x4dc06d(0xb7)](){return this['enabled'];}[a0_0x4dc06d(0x169)](_0x211534){const _0x24f7d4=a0_0x4dc06d,_0x414740={'oazVX':function(_0x5f4189,_0xa52b8f){return _0x5f4189!==_0xa52b8f;},'qTVXN':'IDGEN_INVALID_RESOURCE'};if(_0x414740[_0x24f7d4(0x153)](typeof _0x211534,'string')||!RESOURCE_REGEX[_0x24f7d4(0xee)](_0x211534))throw new IdGeneratorError(_0x414740[_0x24f7d4(0xce)],_0x24f7d4(0x10b)+RESOURCE_REGEX+_0x24f7d4(0x150)+JSON[_0x24f7d4(0x111)](_0x211534)+')');}[a0_0x4dc06d(0x161)](_0x198bd3){const _0x369e9b=a0_0x4dc06d,_0x2e85a8={'gaybV':function(_0x2d66f1,_0x43a63a){return _0x2d66f1===_0x43a63a;},'weQoM':function(_0x2a0330,_0x5a8976){return _0x2a0330>_0x5a8976;},'tNdpf':function(_0x2b00ce,_0x17775c){return _0x2b00ce==_0x17775c;},'rjbgt':function(_0x2ad28c,_0x369d21){return _0x2ad28c!==_0x369d21;},'SbhUl':'IDGEN_INVALID_PREFIX','xJnnc':'IDGEN_INVALID_SEPARATOR','weuzG':function(_0xbaf406,_0xda475){return _0xbaf406!=_0xda475;},'wuTdL':function(_0xccf4ea,_0x4d1943){return _0xccf4ea!==_0x4d1943;},'mwcFR':_0x369e9b(0x135),'OOHTc':'IDGEN_INVALID_RESOURCE'},{resource:_0x1fd444,format:_0x1790da,prefix:_0x25e509,separator:_0x2f99e8,numDigits:_0x556480,reuseDelete:_0x327051}=_0x198bd3;this['_validateResource'](_0x1fd444);const _0xf1585f=_0x2e85a8[_0x369e9b(0xb4)](typeof _0x1790da,_0x369e9b(0x1a6))?_0x1790da['toLowerCase']():'';if(!ALLOWED_FORMATS[_0x369e9b(0x101)](_0xf1585f))throw new IdGeneratorError('IDGEN_INVALID_FORMAT',_0x369e9b(0x1aa)+[...ALLOWED_FORMATS]['join'](',\x20')+_0x369e9b(0x150)+_0x1790da+')');if(!Number['isInteger'](_0x556480)||_0x556480<MIN_NUM_DIGITS||_0x2e85a8[_0x369e9b(0x12d)](_0x556480,MAX_NUM_DIGITS))throw new IdGeneratorError(_0x369e9b(0xae),_0x369e9b(0x1b6)+MIN_NUM_DIGITS+'-'+MAX_NUM_DIGITS+_0x369e9b(0x150)+_0x556480+')');const _0x4bd61d=_0x2e85a8[_0x369e9b(0x191)](_0x25e509,null)?'':_0x25e509;if(_0x2e85a8[_0x369e9b(0xf3)](typeof _0x4bd61d,_0x369e9b(0x1a6))||!PREFIX_REGEX['test'](_0x4bd61d))throw new IdGeneratorError(_0x2e85a8['SbhUl'],_0x369e9b(0x131)+PREFIX_REGEX+_0x369e9b(0x150)+JSON[_0x369e9b(0x111)](_0x25e509)+')');const _0x57379c=_0x2f99e8==null?'':_0x2f99e8;if(typeof _0x57379c!=='string'||_0x57379c[_0x369e9b(0x177)]>0x3||SEPARATOR_FORBIDDEN[_0x369e9b(0xee)](_0x57379c))throw new IdGeneratorError(_0x2e85a8['xJnnc'],'Invalid\x20separator:\x20max\x203\x20char,\x20must\x20not\x20contain\x20\x27:\x27\x20(got:\x20'+JSON['stringify'](_0x2f99e8)+')');if(_0x2e85a8[_0x369e9b(0x17f)](_0x327051,null)&&_0x2e85a8['wuTdL'](typeof _0x327051,_0x2e85a8[_0x369e9b(0x184)]))throw new IdGeneratorError(_0x2e85a8[_0x369e9b(0x173)],_0x369e9b(0x148)+typeof _0x327051+')');return{'resource':_0x1fd444,'format':_0xf1585f,'prefix':_0x4bd61d,'separator':_0x57379c,'numDigits':_0x556480,'reuseDelete':_0x327051===!![]};}['_validatePattern'](_0x16a119){const _0x2343c6=a0_0x4dc06d,_0x5da05c={'UpnCz':function(_0x215a51,_0x3c9ee4){return _0x215a51!==_0x3c9ee4;},'AMWMc':function(_0x5b69d0,_0x35eb77){return _0x5b69d0===_0x35eb77;},'SrGGi':_0x2343c6(0x11b)};if(_0x5da05c['UpnCz'](typeof _0x16a119,'string')||_0x5da05c[_0x2343c6(0x151)](_0x16a119[_0x2343c6(0x177)],0x0)||_0x16a119[_0x2343c6(0x177)]>MAX_PATTERN_LENGTH)throw new IdGeneratorError(_0x5da05c['SrGGi'],_0x2343c6(0xf1)+MAX_PATTERN_LENGTH+'\x20chars\x20(got\x20length:\x20'+(_0x16a119&&_0x16a119[_0x2343c6(0x177)])+')');let _0x5e3d1d=![];for(const _0xc5e097 of _0x16a119){if(PLACEHOLDER_MAP[_0xc5e097]){_0x5e3d1d=!![];break;}}if(!_0x5e3d1d)throw new IdGeneratorError('IDGEN_INVALID_PATTERN',_0x2343c6(0xe6));}[a0_0x4dc06d(0x158)](_0x3ca9b5){const _0x3915da=a0_0x4dc06d,_0x438ddb={'IEsQl':function(_0x4fc12b,_0x454069){return _0x4fc12b==_0x454069;}};if(_0x438ddb[_0x3915da(0x17e)](_0x3ca9b5,null))return undefined;if(!Number['isInteger'](_0x3ca9b5)||_0x3ca9b5<0x1||_0x3ca9b5>MAX_TTL)throw new IdGeneratorError(_0x3915da(0x13f),_0x3915da(0xa4)+MAX_TTL+_0x3915da(0x1b2)+_0x3ca9b5+')');return _0x3ca9b5;}['_validateMaxRetry'](_0x1a3b28){const _0xdf6b66=a0_0x4dc06d,_0x600adb={'uZLKH':function(_0x70d2bd,_0x5bac80){return _0x70d2bd==_0x5bac80;},'TbamP':function(_0x5058f8,_0x228ced){return _0x5058f8>_0x228ced;},'zLZbU':'IDGEN_INVALID_MAX_RETRY'};if(_0x600adb[_0xdf6b66(0x144)](_0x1a3b28,null))return this['defaultMaxRetry'];if(!Number['isInteger'](_0x1a3b28)||_0x1a3b28<0x1||_0x600adb['TbamP'](_0x1a3b28,MAX_RETRY_LIMIT))throw new IdGeneratorError(_0x600adb['zLZbU'],_0xdf6b66(0xa1)+MAX_RETRY_LIMIT+_0xdf6b66(0x150)+_0x1a3b28+')');return _0x1a3b28;}['_validateIdempotencyKey'](_0x122f5d){const _0x53d022=a0_0x4dc06d,_0x648193={'qYmCJ':function(_0x5cc8a8,_0x2dd4b8){return _0x5cc8a8!==_0x2dd4b8;},'pfHHC':'IDGEN_INVALID_RESOURCE'};if(_0x122f5d==null)return undefined;if(_0x648193[_0x53d022(0x159)](typeof _0x122f5d,'string')||_0x122f5d[_0x53d022(0x177)]===0x0||_0x122f5d['length']>MAX_IDEMPOTENCY_KEY_LENGTH)throw new IdGeneratorError(_0x648193['pfHHC'],'Invalid\x20idempotencyKey:\x20must\x20be\x20string\x201-'+MAX_IDEMPOTENCY_KEY_LENGTH+'\x20chars');return _0x122f5d;}[a0_0x4dc06d(0xc6)](_0x2fe3c8){const _0x525366=a0_0x4dc06d,_0x52517c={'ritoE':'IDGEN_INVALID_RESERVE_TTL'};if(_0x2fe3c8==null)return this['reserveDefaultTTL'];if(!Number[_0x525366(0x192)](_0x2fe3c8)||_0x2fe3c8<MIN_RESERVE_TTL||_0x2fe3c8>this['reserveMaxTTL'])throw new IdGeneratorError(_0x52517c[_0x525366(0xa0)],_0x525366(0x152)+MIN_RESERVE_TTL+'-'+this[_0x525366(0x11c)]+_0x525366(0x1b2)+_0x2fe3c8+')');return _0x2fe3c8;}[a0_0x4dc06d(0xec)](_0x18a32e){const _0x5724be=a0_0x4dc06d;if(typeof _0x18a32e!=='string'||!RESERVATION_TOKEN_REGEX['test'](_0x18a32e))throw new IdGeneratorError('IDGEN_INVALID_TOKEN',_0x5724be(0x16c)+JSON['stringify'](_0x18a32e)+')');return _0x18a32e;}['_pad2'](_0x3c4605){const _0x48023c=a0_0x4dc06d;return String(_0x3c4605)[_0x48023c(0x185)](0x2,'0');}['_buildFormatKey'](_0x2f0a5e,_0xd0bfab,_0x247e58=new Date()){const _0x487985=a0_0x4dc06d,_0x4ebbbe={'vsEGj':function(_0x4c50d0,_0x3a7f25){return _0x4c50d0||_0x3a7f25;},'qcKdS':'yyyymm'},_0x1356e6=_0x247e58[_0x487985(0xbb)](),_0x322475=this[_0x487985(0x181)](_0x247e58['getMonth']()+0x1),_0x10326c=this['_pad2'](_0x247e58[_0x487985(0x1ab)]()),_0x59e757=_0x4ebbbe[_0x487985(0xcd)](_0xd0bfab,'_');let _0x4d7bbe,_0x2e736c='';switch(_0x2f0a5e){case _0x487985(0x120):_0x4d7bbe=_0x59e757+'_text';break;case'yyyy':_0x2e736c=''+_0x1356e6,_0x4d7bbe=_0x59e757+'_yyyy_'+_0x2e736c;break;case _0x4ebbbe['qcKdS']:_0x2e736c=''+_0x1356e6+_0x322475,_0x4d7bbe=_0x59e757+'_yyyymm_'+_0x2e736c;break;case _0x487985(0x14c):_0x2e736c=''+_0x1356e6+_0x322475+_0x10326c,_0x4d7bbe=_0x59e757+'_yyyymmdd_'+_0x2e736c;break;default:throw new IdGeneratorError(_0x487985(0xa3),_0x487985(0x129)+_0x2f0a5e);}return{'formatKey':_0x4d7bbe,'datePrefix':_0x2e736c};}[a0_0x4dc06d(0x11a)](_0x20fc8a,_0x4ba78d){const _0xb32149=a0_0x4dc06d;return this[_0xb32149(0x10f)]+'seq:'+_0x20fc8a+':'+_0x4ba78d;}['_buildReuseKey'](_0x56ebac,_0x3aeac0){return this['keyPrefix']+'reuse:'+_0x56ebac+':'+_0x3aeac0;}['_buildMetaKey'](_0xdc29af,_0x2f1ce3){return this['keyPrefix']+'meta:'+_0xdc29af+':'+_0x2f1ce3;}[a0_0x4dc06d(0xf2)](_0x291e17){const _0x27b128=a0_0x4dc06d;return this[_0x27b128(0x10f)]+'issued:'+_0x291e17;}[a0_0x4dc06d(0x187)](_0x147beb,_0x1cd055){const _0x2c3d70=a0_0x4dc06d;return this['keyPrefix']+_0x2c3d70(0x12c)+_0x147beb+':'+_0x1cd055;}['_buildReservationKey'](_0xc3a361){const _0x290000=a0_0x4dc06d;return this['keyPrefix']+_0x290000(0x175)+_0xc3a361;}['_buildReservationIndexKey'](_0x544f11,_0x12827f){return this['keyPrefix']+'rsv_idx:'+_0x544f11+':'+_0x12827f;}['_buildReservationKeyPrefix'](){const _0x3f00ff=a0_0x4dc06d;return this[_0x3f00ff(0x10f)]+'rsv:';}['_buildIdemKey'](_0x116f6e,_0x30085e,_0x9f00f,_0x396a8e){const _0x566197=a0_0x4dc06d,_0x17602c={'SMSYy':'idgen'};if(_0x9f00f)return idempotencyManager[_0x566197(0x127)](_0x17602c[_0x566197(0x17a)],_0x116f6e,_0x30085e+':'+_0x9f00f+':'+_0x396a8e);return idempotencyManager['buildDeterministicKey']('idgen',_0x116f6e,_0x30085e+':'+_0x396a8e);}['_getCounterTTL'](_0x113739){return this['_counterTTLMap'][_0x113739]||0x0;}['_formatNumber']({format:_0x180364,prefix:_0x5ed08b,datePrefix:_0x2ac13b,separator:_0x2aa56f,numDigits:_0x4ec086,counterInt:_0x4af997}){const _0x4d214e=a0_0x4dc06d,_0x426fdd={'rQaDz':function(_0x4995cc,_0x35906d){return _0x4995cc-_0x35906d;},'tNgpK':_0x4d214e(0xc4)},_0x432c22=_0x426fdd[_0x4d214e(0x11f)](Math['pow'](0xa,_0x4ec086),0x1);if(_0x4af997>_0x432c22)throw new IdGeneratorError(_0x426fdd[_0x4d214e(0x16a)],'Counter\x20overflow:\x20'+_0x4af997+'\x20exceeds\x20'+_0x4ec086+_0x4d214e(0x1b3)+_0x432c22+').\x20Increase\x20numDigits.',{'counterInt':_0x4af997,'numDigits':_0x4ec086,'max':_0x432c22});const _0x2fbc7a=String(_0x4af997)[_0x4d214e(0x185)](_0x4ec086,'0');if(_0x180364===_0x4d214e(0x120))return _0x5ed08b?''+_0x5ed08b+_0x2aa56f+_0x2fbc7a:_0x2fbc7a;return _0x5ed08b?''+_0x5ed08b+_0x2aa56f+_0x2ac13b+_0x2aa56f+_0x2fbc7a:''+_0x2ac13b+_0x2aa56f+_0x2fbc7a;}['_parseNumber']({format:_0x28ae53,prefix:_0x58dc88,separator:_0x334f39,numDigits:_0x46252b,number:_0x5f5bde}){const _0x1487db=a0_0x4dc06d,_0x5b3676={'xzamu':function(_0x1e4f19,_0x38c816){return _0x1e4f19===_0x38c816;},'TLlNi':function(_0x5b74d6,_0x4978d2){return _0x5b74d6!==_0x4978d2;},'vuWZj':function(_0x4c90b8,_0x311d92){return _0x4c90b8!==_0x311d92;},'bLIOx':'IDGEN_INVALID_NUMBER','TzAtA':function(_0x26171d,_0x59b5d1){return _0x26171d!==_0x59b5d1;},'WfNba':function(_0x358f38,_0x25de5c){return _0x358f38===_0x25de5c;},'JYhob':'yyyy','PsDHS':function(_0x3a9ee3,_0x26c40c,_0x2188bb){return _0x3a9ee3(_0x26c40c,_0x2188bb);},'uRXUK':_0x1487db(0x120)};if(typeof _0x5f5bde!==_0x1487db(0x1a6)||_0x5b3676['xzamu'](_0x5f5bde['length'],0x0))throw new IdGeneratorError(_0x1487db(0x122),'Invalid\x20number:\x20must\x20be\x20non-empty\x20string');const _0xe42409=_0x334f39||'',_0x3ca1f1=_0x5b3676[_0x1487db(0x14f)](_0xe42409,'')?[_0x5f5bde]:_0x5f5bde[_0x1487db(0xe0)](_0xe42409);let _0x2bcdea='',_0x216f3c;if(_0x28ae53==='text'){if(_0x58dc88){if(_0x5b3676['TLlNi'](_0x3ca1f1['length'],0x2)||_0x5b3676['vuWZj'](_0x3ca1f1[0x0],_0x58dc88))throw new IdGeneratorError(_0x5b3676[_0x1487db(0x176)],'Number\x20does\x20not\x20match\x20expected\x20format\x20prefix'+_0xe42409+'padded\x20(got:\x20'+_0x5f5bde+')');_0x216f3c=_0x3ca1f1[0x1];}else{if(_0x5b3676['TzAtA'](_0x3ca1f1['length'],0x1))throw new IdGeneratorError(_0x5b3676[_0x1487db(0x176)],_0x1487db(0x1b0)+_0x5f5bde+')');_0x216f3c=_0x3ca1f1[0x0];}}else{const _0x54147f=_0x58dc88?0x3:0x2;if(_0x3ca1f1[_0x1487db(0x177)]!==_0x54147f)throw new IdGeneratorError(_0x5b3676['bLIOx'],'Number\x20does\x20not\x20match\x20expected\x20format\x20(got:\x20'+_0x5f5bde+',\x20expected\x20'+_0x54147f+_0x1487db(0x10c));let _0x280fce=0x0;if(_0x58dc88){if(_0x3ca1f1[_0x280fce]!==_0x58dc88)throw new IdGeneratorError(_0x1487db(0x122),'Number\x20prefix\x20mismatch:\x20expected\x20'+_0x58dc88+_0x1487db(0x1b1)+_0x3ca1f1[_0x280fce]);_0x280fce++;}_0x2bcdea=_0x3ca1f1[_0x280fce++];const _0x889129=_0x5b3676[_0x1487db(0x1b8)](_0x28ae53,_0x5b3676['JYhob'])?/^\d{4}$/:_0x28ae53===_0x1487db(0xc1)?/^\d{6}$/:/^\d{8}$/;if(!_0x889129[_0x1487db(0xee)](_0x2bcdea))throw new IdGeneratorError(_0x1487db(0x122),'Number\x20datePrefix\x20invalid\x20for\x20format\x20'+_0x28ae53+':\x20'+_0x2bcdea);_0x216f3c=_0x3ca1f1[_0x280fce];}if(!new RegExp(_0x1487db(0x167)+_0x46252b+'}$')['test'](_0x216f3c))throw new IdGeneratorError(_0x1487db(0x122),_0x1487db(0x197)+_0x46252b+_0x1487db(0xfe)+_0x216f3c+')');const _0x427294=_0x5b3676['PsDHS'](parseInt,_0x216f3c,0xa),_0x2a07b2=_0x58dc88||'_';let _0x590b65;return _0x28ae53===_0x5b3676['uRXUK']?_0x590b65=_0x2a07b2+_0x1487db(0xfa):_0x590b65=_0x2a07b2+'_'+_0x28ae53+'_'+_0x2bcdea,{'formatKey':_0x590b65,'counterInt':_0x427294,'datePrefix':_0x2bcdea};}['_generateFromPattern'](_0x51e69c){const _0x7acbfb=a0_0x4dc06d;let _0x233c68='';for(const _0xcaba32 of _0x51e69c){const _0x5a31b2=PLACEHOLDER_MAP[_0xcaba32];if(_0x5a31b2){const _0x3cb29f=crypto[_0x7acbfb(0x147)](0x0,_0x5a31b2['length']);_0x233c68+=_0x5a31b2[_0x3cb29f];}else _0x233c68+=_0xcaba32;}return _0x233c68;}async[a0_0x4dc06d(0x19f)](_0x1a216c){const _0x42dc94=a0_0x4dc06d,_0x18126e={'eHzln':'idgen_idem_hit','nVzKk':'Idempotency\x20retrieve\x20error'};if(!_0x1a216c)return null;try{const _0x513797=redisClient['getClient'](),_0x1ffa9a=await _0x513797['get'](_0x1a216c);if(_0x1ffa9a)return logger[_0x42dc94(0xcb)]({'event':_0x18126e['eHzln'],'key':_0x1a216c},'Idempotency\x20cache\x20HIT'),JSON[_0x42dc94(0x195)](_0x1ffa9a);return null;}catch(_0x123972){return logger['warn']({'event':'idgen_idem_retrieve_error','error':_0x123972['message']},_0x18126e[_0x42dc94(0x114)]),null;}}async[a0_0x4dc06d(0x1ac)](_0x41f637,_0x133a70){const _0xaef46c=a0_0x4dc06d;if(!_0x41f637)return;try{const _0x5b262e=redisClient['getClient']();await _0x5b262e[_0xaef46c(0x1a7)](_0x41f637,this['idemTTL'],JSON['stringify'](_0x133a70));}catch(_0x1fb36b){logger['warn']({'event':_0xaef46c(0x121),'error':_0x1fb36b['message']},_0xaef46c(0x19d));}}async[a0_0x4dc06d(0xa8)](_0x36a6a5,_0x44b639){const _0x16141e=a0_0x4dc06d,_0x39e3d8={'qLEad':function(_0x46afa5,_0x274781){return _0x46afa5===_0x274781;},'EpOsQ':_0x16141e(0x110),'JpvWD':'Idempotency\x20SET\x20NX\x20error'};if(!_0x36a6a5)return{'stored':!![],'winnerResult':null};try{const _0x5d0e26=redisClient[_0x16141e(0xbd)](),_0x398034=JSON[_0x16141e(0x111)](_0x44b639),_0x35c107=await _0x5d0e26[_0x16141e(0x1a0)](_0x36a6a5,_0x398034,'EX',this['idemTTL'],'NX');if(_0x39e3d8['qLEad'](_0x35c107,'OK'))return{'stored':!![],'winnerResult':null};const _0x5cbc76=await _0x5d0e26[_0x16141e(0x14b)](_0x36a6a5);if(_0x5cbc76)return{'stored':![],'winnerResult':JSON['parse'](_0x5cbc76)};return logger['warn']({'event':'idgen_idem_nx_race_lost_but_empty','key':_0x36a6a5},_0x39e3d8['EpOsQ']),{'stored':!![],'winnerResult':null};}catch(_0xd822dc){return logger[_0x16141e(0x15b)]({'event':_0x16141e(0xda),'error':_0xd822dc[_0x16141e(0xd1)]},_0x39e3d8['JpvWD']),{'stored':!![],'winnerResult':null};}}async['_undoRandomReservation'](_0x500ec0,_0x37b7b0,_0x16cb70){const _0x1ca067=a0_0x4dc06d,_0x7f3eab={'szyIj':'idgen_random_undo_error','yukfo':'Random\x20reservation\x20undo\x20error\x20(orphan\x20slot\x20may\x20remain)'};try{const _0x16c94b=redisClient[_0x1ca067(0xbd)]();if(_0x16cb70){const _0x18fe1e=this['_buildActiveKey'](_0x500ec0,_0x37b7b0);await _0x16c94b['del'](_0x18fe1e);}else{const _0x5d26f9=this[_0x1ca067(0xf2)](_0x500ec0);await _0x16c94b[_0x1ca067(0x132)](_0x5d26f9,_0x37b7b0);}}catch(_0x2b2c90){logger['warn']({'event':_0x7f3eab['szyIj'],'error':_0x2b2c90['message']},_0x7f3eab['yukfo']);}}async[a0_0x4dc06d(0x19e)](_0x1d9bdb,_0x149153,_0x44a909,_0x2911fb=0x0){const _0x10b1e1=a0_0x4dc06d,_0x2f9645={'rlTvo':function(_0xede001,_0x3c185e){return _0xede001>_0x3c185e;},'MYOya':'idgen_meta_update_error','ITWPJ':'Meta\x20update\x20error'};try{const _0x5dcc96=redisClient[_0x10b1e1(0xbd)](),_0x1031a1=this[_0x10b1e1(0x162)](_0x1d9bdb,_0x149153),_0x2bf2ef=[];for(const [_0x142e05,_0x165b73]of Object['entries'](_0x44a909)){_0x2bf2ef[_0x10b1e1(0xc0)](_0x142e05,String(_0x165b73));}if(_0x2bf2ef['length']>0x0){await _0x5dcc96[_0x10b1e1(0xb8)](_0x1031a1,..._0x2bf2ef);if(_0x2f9645[_0x10b1e1(0xe5)](_0x2911fb,0x0))await _0x5dcc96[_0x10b1e1(0x12e)](_0x1031a1,_0x2911fb);}}catch(_0x19d221){logger['warn']({'event':_0x2f9645['MYOya'],'error':_0x19d221[_0x10b1e1(0xd1)]},_0x2f9645['ITWPJ']);}}async['number'](_0x2eba5d){const _0x1bfce2=a0_0x4dc06d,_0x50391a={'sOUMu':_0x1bfce2(0xd4),'XQnAG':function(_0x3767bd,_0x15187a){return _0x3767bd(_0x15187a);},'XDhjC':function(_0x434720,_0x4ce543){return _0x434720(_0x4ce543);},'HfedX':function(_0x445eeb,_0x59267b){return _0x445eeb(_0x59267b);},'bvfiG':_0x1bfce2(0xa6),'OZDWZ':_0x1bfce2(0xbf)};if(!this['enabled'])throw new IdGeneratorError(_0x50391a['sOUMu'],_0x1bfce2(0xeb));const _0x56a9ea=this[_0x1bfce2(0x161)](_0x2eba5d),_0x43c3ae=this['_validateIdempotencyKey'](_0x2eba5d['idempotencyKey']),{resource:_0x16460c,format:_0x40a8cf,prefix:_0x2d0927,separator:_0x412a9d,numDigits:_0x1a7f3e,reuseDelete:_0x262634}=_0x56a9ea,{formatKey:_0x16ae54,datePrefix:_0x184dcd}=this['_buildFormatKey'](_0x40a8cf,_0x2d0927),_0x4ae8ce=this[_0x1bfce2(0x11a)](_0x16460c,_0x16ae54),_0x7c571d=this['_buildReuseKey'](_0x16460c,_0x16ae54),_0x5a0fad=this['_getCounterTTL'](_0x40a8cf);let _0x47d9d9=null;if(_0x43c3ae){_0x47d9d9=this['_buildIdemKey'](_0x1bfce2(0x170),_0x16460c,_0x16ae54,_0x43c3ae);const _0x4f56cc=await this[_0x1bfce2(0x19f)](_0x47d9d9);if(_0x4f56cc)return _0x4f56cc;}const _0x408400=redisClient[_0x1bfce2(0xbd)](),_0x47ce65=await _0x408400['eval'](LUA_GENERATE_NUMBER,0x2,_0x4ae8ce,_0x7c571d,_0x262634?'1':'0',_0x50391a['XQnAG'](String,_0x5a0fad)),_0x378722=_0x47ce65[0x0],_0x322dc2=_0x47ce65[0x1]===0x1,_0x1484d6=this['_formatNumber']({'format':_0x40a8cf,'prefix':_0x2d0927,'datePrefix':_0x184dcd,'separator':_0x412a9d,'numDigits':_0x1a7f3e,'counterInt':_0x378722}),_0x43eb3b={'value':_0x1484d6,'counter':_0x378722,'resource':_0x16460c,'formatKey':_0x16ae54,'isReused':_0x322dc2,'generatedAt':new Date()[_0x1bfce2(0x1a9)]()},_0x5db52e=await this[_0x1bfce2(0xa8)](_0x47d9d9,_0x43eb3b);if(!_0x5db52e['stored']){try{await _0x408400[_0x1bfce2(0x17d)](LUA_RELEASE_NUMBER,0x1,_0x7c571d,_0x50391a[_0x1bfce2(0x186)](String,_0x378722),_0x50391a[_0x1bfce2(0xd0)](String,_0x5a0fad));}catch(_0x3a42a9){logger[_0x1bfce2(0x15b)]({'event':'idgen_idem_loser_release_error','error':_0x3a42a9['message'],'resource':_0x16460c,'formatKey':_0x16ae54,'counterInt':_0x378722},_0x50391a[_0x1bfce2(0x164)]);}return logger['info']({'event':_0x50391a['OZDWZ'],'resource':_0x16460c,'formatKey':_0x16ae54,'counter':_0x378722},'ID\x20Generator\x20number\x20idem\x20race\x20lost,\x20returning\x20winner\x20envelope'),_0x5db52e['winnerResult'];}return this[_0x1bfce2(0x19e)](_0x16460c,_0x16ae54,{'lastValue':_0x1484d6,'lastCounter':_0x378722,'lastIsReused':_0x322dc2,'lastGeneratedAt':_0x43eb3b[_0x1bfce2(0x180)]},_0x5a0fad),logger['info']({'event':_0x1bfce2(0x16f),'resource':_0x16460c,'formatKey':_0x16ae54,'counter':_0x378722,'isReused':_0x322dc2},_0x1bfce2(0xac)+_0x1484d6),_0x43eb3b;}async[a0_0x4dc06d(0x1af)](_0x18fa55){const _0xcfb9c=a0_0x4dc06d,_0xe06fea={'CqYAy':_0xcfb9c(0xd4),'AMkqj':_0xcfb9c(0x178),'OFJJj':function(_0xec7d44,_0x44f580){return _0xec7d44!==_0x44f580;},'afExn':function(_0x3a874a,_0x54a451){return _0x3a874a!==_0x54a451;},'hOgaJ':_0xcfb9c(0x1a6),'bulas':_0xcfb9c(0x122),'iLAVn':'release','cloCw':function(_0x146a92,_0x235b3c){return _0x146a92(_0x235b3c);},'GHpfF':function(_0x3d269a,_0x3ff62f){return _0x3d269a(_0x3ff62f);},'vkbaP':_0xcfb9c(0x14a)};if(!this['enabled'])throw new IdGeneratorError(_0xe06fea['CqYAy'],_0xe06fea[_0xcfb9c(0x143)]);let _0x1ecc0,_0xa3fc15,_0x51f066,_0x11d2ae;const _0x3ad83d=this['_validateIdempotencyKey'](_0x18fa55[_0xcfb9c(0x190)]);if(_0xe06fea['OFJJj'](_0x18fa55['counterInt'],undefined)&&_0xe06fea[_0xcfb9c(0x183)](_0x18fa55[_0xcfb9c(0x10d)],null)){this['_validateResource'](_0x18fa55['resource']),_0x1ecc0=_0x18fa55[_0xcfb9c(0x1a8)];if(typeof _0x18fa55['formatKey']!==_0xe06fea['hOgaJ']||_0x18fa55[_0xcfb9c(0x163)][_0xcfb9c(0x177)]===0x0)throw new IdGeneratorError(_0xe06fea['bulas'],_0xcfb9c(0x13c));_0xa3fc15=_0x18fa55[_0xcfb9c(0x163)];if(!Number[_0xcfb9c(0x192)](_0x18fa55[_0xcfb9c(0x10d)])||_0x18fa55['counterInt']<0x1)throw new IdGeneratorError(_0xe06fea['bulas'],'counterInt\x20must\x20be\x20positive\x20integer\x20(got:\x20'+_0x18fa55['counterInt']+')');_0x51f066=_0x18fa55['counterInt'];const _0xfc5665=_0xa3fc15['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/);_0x11d2ae=_0xfc5665?_0xfc5665[0x1]:_0xcfb9c(0x120);}else{const _0x3dc464=this['_validateNumberParams'](_0x18fa55),_0x26acb1=this['_parseNumber']({'format':_0x3dc464['format'],'prefix':_0x3dc464['prefix'],'separator':_0x3dc464[_0xcfb9c(0x117)],'numDigits':_0x3dc464[_0xcfb9c(0x13a)],'number':_0x18fa55['number']});_0x1ecc0=_0x3dc464[_0xcfb9c(0x1a8)],_0xa3fc15=_0x26acb1[_0xcfb9c(0x163)],_0x51f066=_0x26acb1['counterInt'],_0x11d2ae=_0x3dc464[_0xcfb9c(0xb0)];}const _0x4b11e9=this['_buildReuseKey'](_0x1ecc0,_0xa3fc15),_0x2da0bb=this[_0xcfb9c(0xe7)](_0x11d2ae);let _0x823108=null;if(_0x3ad83d){_0x823108=this['_buildIdemKey'](_0xe06fea[_0xcfb9c(0xb6)],_0x1ecc0,_0xa3fc15,_0x3ad83d);const _0x1d4566=await this[_0xcfb9c(0x19f)](_0x823108);if(_0x1d4566)return _0x1d4566;}const _0x147145=redisClient['getClient']();await _0x147145[_0xcfb9c(0x17d)](LUA_RELEASE_NUMBER,0x1,_0x4b11e9,_0xe06fea[_0xcfb9c(0x1ae)](String,_0x51f066),_0xe06fea['GHpfF'](String,_0x2da0bb));const _0x41f9d8={'released':!![],'resource':_0x1ecc0,'formatKey':_0xa3fc15,'counter':_0x51f066,'releasedAt':new Date()['toISOString']()};return await this['_storeIdemCache'](_0x823108,_0x41f9d8),this[_0xcfb9c(0x19e)](_0x1ecc0,_0xa3fc15,{'lastReleasedCounter':_0x51f066,'lastReleasedAt':_0x41f9d8[_0xcfb9c(0x1a3)]},_0x2da0bb),logger['info']({'event':_0xe06fea[_0xcfb9c(0x18d)],'resource':_0x1ecc0,'formatKey':_0xa3fc15,'counter':_0x51f066},_0xcfb9c(0x125)+_0x51f066),_0x41f9d8;}async['reserveNumber'](_0x443564){const _0xdaaa7d=a0_0x4dc06d,_0x22225e={'ahDPT':'reserve','rbmBR':function(_0x1cc8ce,_0x234f1e){return _0x1cc8ce*_0x234f1e;},'Qlhzh':function(_0x3e76e4,_0x3d20a7){return _0x3e76e4*_0x3d20a7;},'BDjBD':_0xdaaa7d(0x1a8),'DtXwd':'prefix','fMqPF':_0xdaaa7d(0x117),'DNdDX':'numDigits','nyTWi':function(_0x58bb80,_0x158427){return _0x58bb80(_0x158427);},'mSbRP':function(_0x30058c,_0x144548){return _0x30058c||_0x144548;},'fdYDY':_0xdaaa7d(0xfc),'ROuxA':'idemKey','ddcAy':function(_0x2e17f7,_0x887085){return _0x2e17f7===_0x887085;},'jYXFm':function(_0x43e070,_0x5b3df3){return _0x43e070(_0x5b3df3);},'OjWqI':'idgen_reserve_overflow_compensation_error','fdGTq':'Failed\x20to\x20compensate\x20reservation\x20after\x20counter\x20overflow','dVFHG':'value','FGfWo':'Failed\x20to\x20persist\x20formatted\x20value\x20to\x20reservation\x20hash','XRGsz':'idgen_reserve_idem_loser_cancel_error','HNcqX':_0xdaaa7d(0x136),'WQZHC':'idgen_reserve_idem_loser'};if(!this['enabled'])throw new IdGeneratorError('IDGEN_DISABLED',_0xdaaa7d(0xeb));const _0x23dbfa=this[_0xdaaa7d(0x161)](_0x443564),_0x1a8a70=this[_0xdaaa7d(0xc6)](_0x443564[_0xdaaa7d(0x105)]),_0x4570ea=this['_validateIdempotencyKey'](_0x443564[_0xdaaa7d(0x190)]),{resource:_0x47a96f,format:_0x50dac4,prefix:_0x2e5e18,separator:_0x513901,numDigits:_0x16b232,reuseDelete:_0x408fc1}=_0x23dbfa,{formatKey:_0x40fda7,datePrefix:_0x6f0cc6}=this['_buildFormatKey'](_0x50dac4,_0x2e5e18),_0x163bb1=this['_buildSeqKey'](_0x47a96f,_0x40fda7),_0x1b8cb5=this['_buildReuseKey'](_0x47a96f,_0x40fda7),_0x1b57ce=this[_0xdaaa7d(0x115)](_0x47a96f,_0x40fda7),_0x1f3ba6=this['_getCounterTTL'](_0x50dac4);let _0x2640d8=null;if(_0x4570ea){_0x2640d8=this['_buildIdemKey'](_0x22225e['ahDPT'],_0x47a96f,_0x40fda7,_0x4570ea);const _0xe33071=await this[_0xdaaa7d(0x19f)](_0x2640d8);if(_0xe33071)return _0xe33071;}const _0x2eac62=crypto['randomUUID'](),_0x5006ff=this[_0xdaaa7d(0x116)](_0x2eac62),_0xa7c259=this['_buildReservationKeyPrefix'](),_0x16174f=Date['now'](),_0x5d0e18=_0x16174f+_0x22225e[_0xdaaa7d(0x134)](_0x1a8a70,0x3e8),_0x2ec7b8=_0x22225e[_0xdaaa7d(0x198)](_0x1a8a70,0x3e8),_0x215cb8=new Date(_0x16174f)[_0xdaaa7d(0x1a9)](),_0x21d12c=new Date(_0x5d0e18)['toISOString'](),_0x352e68=[_0x22225e[_0xdaaa7d(0xc2)],_0x47a96f,'formatKey',_0x40fda7,_0xdaaa7d(0xb0),_0x50dac4,_0x22225e['DtXwd'],_0x2e5e18,_0x22225e[_0xdaaa7d(0x139)],_0x513901,_0x22225e[_0xdaaa7d(0x174)],_0x22225e[_0xdaaa7d(0x100)](String,_0x16b232),_0xdaaa7d(0x18b),_0x22225e[_0xdaaa7d(0x18c)](_0x6f0cc6,''),_0x22225e[_0xdaaa7d(0xde)],_0x215cb8,'expiresAt',_0x21d12c,'ttlMs',String(_0x2ec7b8)];_0x4570ea&&_0x352e68[_0xdaaa7d(0xc0)](_0x22225e[_0xdaaa7d(0x171)],_0x4570ea);const _0x4c19f8=redisClient[_0xdaaa7d(0xbd)](),_0x491575=await _0x4c19f8[_0xdaaa7d(0x17d)](LUA_RESERVE_NUMBER,0x3,_0x163bb1,_0x1b8cb5,_0x1b57ce,_0x408fc1?'1':'0',_0x22225e[_0xdaaa7d(0x100)](String,_0x1f3ba6),_0x2eac62,_0x5006ff,String(_0x2ec7b8),_0x22225e[_0xdaaa7d(0x100)](String,_0x5d0e18),_0x22225e['nyTWi'](String,_0x16174f),_0xa7c259,..._0x352e68),_0x5a1817=_0x491575[0x0],_0x55ca7d=_0x22225e[_0xdaaa7d(0xcf)](_0x491575[0x1],0x1),_0x208c1d=_0x491575[0x2]||0x0;let _0x13f3d0;try{_0x13f3d0=this[_0xdaaa7d(0x118)]({'format':_0x50dac4,'prefix':_0x2e5e18,'datePrefix':_0x6f0cc6,'separator':_0x513901,'numDigits':_0x16b232,'counterInt':_0x5a1817});}catch(_0x5c26ba){try{await _0x4c19f8['eval'](LUA_CANCEL_RESERVATION,0x3,_0x5006ff,_0x1b57ce,_0x1b8cb5,_0x2eac62,_0x22225e['jYXFm'](String,_0x1f3ba6));}catch(_0x13e678){logger['warn']({'event':_0x22225e['OjWqI'],'error':_0x13e678['message'],'resource':_0x47a96f,'formatKey':_0x40fda7,'counterInt':_0x5a1817,'token':_0x2eac62},_0x22225e[_0xdaaa7d(0x179)]);}throw _0x5c26ba;}try{await _0x4c19f8['hset'](_0x5006ff,_0x22225e[_0xdaaa7d(0x13d)],_0x13f3d0);}catch(_0x51e4c1){logger['warn']({'event':'idgen_reserve_value_persist_error','error':_0x51e4c1[_0xdaaa7d(0xd1)],'resource':_0x47a96f,'formatKey':_0x40fda7,'counterInt':_0x5a1817,'token':_0x2eac62},_0x22225e['FGfWo']);}const _0x59a9ed={'token':_0x2eac62,'value':_0x13f3d0,'counter':_0x5a1817,'resource':_0x47a96f,'formatKey':_0x40fda7,'isReused':_0x55ca7d,'createdAt':_0x215cb8,'expiresAt':_0x21d12c,'reapedCount':_0x208c1d},_0x48bb64=await this[_0xdaaa7d(0xa8)](_0x2640d8,_0x59a9ed);if(!_0x48bb64['stored']){try{await _0x4c19f8[_0xdaaa7d(0x17d)](LUA_CANCEL_RESERVATION,0x3,_0x5006ff,_0x1b57ce,_0x1b8cb5,_0x2eac62,String(_0x1f3ba6));}catch(_0x3d3d17){logger['warn']({'event':_0x22225e['XRGsz'],'error':_0x3d3d17[_0xdaaa7d(0xd1)],'resource':_0x47a96f,'formatKey':_0x40fda7,'counterInt':_0x5a1817,'token':_0x2eac62},_0x22225e[_0xdaaa7d(0x166)]);}return logger['info']({'event':_0x22225e['WQZHC'],'resource':_0x47a96f,'formatKey':_0x40fda7,'counter':_0x5a1817,'token':_0x2eac62},'ID\x20Generator\x20reserve\x20idem\x20race\x20lost,\x20returning\x20winner\x20envelope'),_0x48bb64['winnerResult'];}return this[_0xdaaa7d(0x19e)](_0x47a96f,_0x40fda7,{'lastReservedCounter':_0x5a1817,'lastReservedAt':_0x215cb8,'lastReapedCount':_0x208c1d},_0x1f3ba6),logger['info']({'event':'idgen_number_reserved','resource':_0x47a96f,'formatKey':_0x40fda7,'counter':_0x5a1817,'isReused':_0x55ca7d,'token':_0x2eac62,'ttl':_0x1a8a70,'reapedCount':_0x208c1d},_0xdaaa7d(0xaa)+_0x13f3d0+_0xdaaa7d(0xb9)+_0x2eac62+')'),_0x59a9ed;}async['confirmReservation'](_0x355c88){const _0x2b2943=a0_0x4dc06d,_0x347982={'vbvwT':'IDGEN_DISABLED','sSnrW':function(_0x59bc64,_0x3daba1,_0x4f1f18){return _0x59bc64(_0x3daba1,_0x4f1f18);}};if(!this[_0x2b2943(0xca)])throw new IdGeneratorError(_0x347982['vbvwT'],'ID\x20Generator\x20is\x20disabled');const _0x3911a3=this[_0x2b2943(0xec)](_0x355c88&&_0x355c88[_0x2b2943(0x12f)]),_0x36a168=this['_validateIdempotencyKey'](_0x355c88&&_0x355c88[_0x2b2943(0x190)]);let _0x32b4f6=null;if(_0x36a168){_0x32b4f6=idempotencyManager[_0x2b2943(0x127)](_0x2b2943(0x19a),_0x2b2943(0x9f),_0x3911a3+':'+_0x36a168);const _0x1db1c3=await this[_0x2b2943(0x19f)](_0x32b4f6);if(_0x1db1c3)return _0x1db1c3;}const _0x19e4ec=await this[_0x2b2943(0x15d)](_0x3911a3),_0x10c5d6=redisClient['getClient'](),_0x2ffb28=await _0x10c5d6[_0x2b2943(0x17d)](LUA_CONFIRM_RESERVATION,0x2,_0x19e4ec['rsvKey'],_0x19e4ec[_0x2b2943(0x137)],_0x3911a3);if(!_0x2ffb28||_0x2ffb28[0x0]!==0x1)throw new IdGeneratorError('IDGEN_RESERVATION_NOT_FOUND',_0x2b2943(0xa9)+_0x3911a3,{'token':_0x3911a3});const _0x33fb84=_0x347982['sSnrW'](parseInt,_0x2ffb28[0x1],0xa),_0x286167=_0x2ffb28[0x2],_0x23f196=_0x2ffb28[0x3],_0xef9813=new Date()['toISOString'](),_0x35cebb={'confirmed':!![],'token':_0x3911a3,'value':_0x286167,'counter':_0x33fb84,'resource':_0x19e4ec['resource'],'formatKey':_0x23f196,'confirmedAt':_0xef9813};await this[_0x2b2943(0x1ac)](_0x32b4f6,_0x35cebb);const _0x411a3b=_0x23f196['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x48a73b=_0x411a3b?_0x411a3b[0x1]:_0x2b2943(0x120),_0x2979f0=this[_0x2b2943(0xe7)](_0x48a73b);return this['_updateMeta'](_0x19e4ec['resource'],_0x23f196,{'lastConfirmedCounter':_0x33fb84,'lastConfirmedAt':_0xef9813},_0x2979f0),logger['info']({'event':_0x2b2943(0x113),'resource':_0x19e4ec[_0x2b2943(0x1a8)],'formatKey':_0x23f196,'counter':_0x33fb84,'token':_0x3911a3},'ID\x20Generator\x20reservation\x20confirmed:\x20'+_0x286167+'\x20(token='+_0x3911a3+')'),_0x35cebb;}async[a0_0x4dc06d(0x165)](_0x48f20f){const _0x46c546=a0_0x4dc06d,_0x1cfdef={'Opahb':'IDGEN_DISABLED','EzaIK':_0x46c546(0x19a),'uUgDF':function(_0x41ebc6,_0x5c2c41){return _0x41ebc6(_0x5c2c41);},'rixCl':function(_0x4db259,_0xced456){return _0x4db259!==_0xced456;},'AgKfv':_0x46c546(0x12b),'ZgjIN':function(_0x4315c0,_0x1aafb6,_0xc115bf){return _0x4315c0(_0x1aafb6,_0xc115bf);}};if(!this['enabled'])throw new IdGeneratorError(_0x1cfdef['Opahb'],'ID\x20Generator\x20is\x20disabled');const _0x207c6d=this['_validateReservationToken'](_0x48f20f&&_0x48f20f[_0x46c546(0x12f)]),_0x59e3d6=this['_validateIdempotencyKey'](_0x48f20f&&_0x48f20f['idempotencyKey']);let _0x30d368=null;if(_0x59e3d6){_0x30d368=idempotencyManager[_0x46c546(0x127)](_0x1cfdef[_0x46c546(0xdf)],'reserve_cancel',_0x207c6d+':'+_0x59e3d6);const _0x3babd4=await this[_0x46c546(0x19f)](_0x30d368);if(_0x3babd4)return _0x3babd4;}const _0x443d89=await this['_getReservationContext'](_0x207c6d),_0x7cda93=this['_buildReuseKey'](_0x443d89[_0x46c546(0x1a8)],_0x443d89['formatKey']),_0x9703b3=_0x443d89[_0x46c546(0x163)]['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x422653=_0x9703b3?_0x9703b3[0x1]:'text',_0x4b5e3d=this['_getCounterTTL'](_0x422653),_0x342bd4=redisClient['getClient'](),_0x2da410=await _0x342bd4['eval'](LUA_CANCEL_RESERVATION,0x3,_0x443d89['rsvKey'],_0x443d89['rsvIdxKey'],_0x7cda93,_0x207c6d,_0x1cfdef['uUgDF'](String,_0x4b5e3d));if(!_0x2da410||_0x1cfdef[_0x46c546(0x16d)](_0x2da410[0x0],0x1))throw new IdGeneratorError(_0x1cfdef['AgKfv'],'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x207c6d,{'token':_0x207c6d});const _0x1c9d1d=_0x1cfdef['ZgjIN'](parseInt,_0x2da410[0x1],0xa),_0x305340=_0x2da410[0x2],_0x1d5b1d=_0x2da410[0x3],_0x2784cc=new Date()[_0x46c546(0x1a9)](),_0x10bf79={'cancelled':!![],'token':_0x207c6d,'value':_0x305340,'counter':_0x1c9d1d,'resource':_0x443d89['resource'],'formatKey':_0x1d5b1d,'releasedToReuse':!![],'cancelledAt':_0x2784cc};return await this['_storeIdemCache'](_0x30d368,_0x10bf79),this[_0x46c546(0x19e)](_0x443d89['resource'],_0x1d5b1d,{'lastCancelledCounter':_0x1c9d1d,'lastCancelledAt':_0x2784cc},_0x4b5e3d),logger['info']({'event':'idgen_reservation_cancelled','resource':_0x443d89[_0x46c546(0x1a8)],'formatKey':_0x1d5b1d,'counter':_0x1c9d1d,'token':_0x207c6d},_0x46c546(0xf5)+_0x305340+'\x20(token='+_0x207c6d+')'),_0x10bf79;}async['extendReservation'](_0x463528){const _0xc1e60b=a0_0x4dc06d,_0x359acd={'ioZwL':'reserve_extend','BMLCG':function(_0x30b406,_0x2f7e14){return _0x30b406*_0x2f7e14;},'WDOnS':'text'};if(!this[_0xc1e60b(0xca)])throw new IdGeneratorError('IDGEN_DISABLED','ID\x20Generator\x20is\x20disabled');const _0x16eb50=this[_0xc1e60b(0xec)](_0x463528&&_0x463528[_0xc1e60b(0x12f)]),_0x49fe9a=this[_0xc1e60b(0xc6)](_0x463528&&_0x463528[_0xc1e60b(0x105)]),_0x21175d=this[_0xc1e60b(0x1a5)](_0x463528&&_0x463528['idempotencyKey']);let _0x303351=null;if(_0x21175d){_0x303351=idempotencyManager[_0xc1e60b(0x127)](_0xc1e60b(0x19a),_0x359acd['ioZwL'],_0x16eb50+':'+_0x21175d);const _0x53a1ce=await this[_0xc1e60b(0x19f)](_0x303351);if(_0x53a1ce)return _0x53a1ce;}const _0x45795d=await this[_0xc1e60b(0x15d)](_0x16eb50),_0x11e35a=Date['now'](),_0x50343e=_0x11e35a+_0x359acd[_0xc1e60b(0xa2)](_0x49fe9a,0x3e8),_0x44ca2e=_0x49fe9a*0x3e8,_0x475afa=new Date(_0x50343e)['toISOString'](),_0x1a1759=redisClient[_0xc1e60b(0xbd)](),_0x5e81ca=await _0x1a1759[_0xc1e60b(0x17d)](LUA_EXTEND_RESERVATION,0x2,_0x45795d['rsvKey'],_0x45795d[_0xc1e60b(0x137)],_0x16eb50,String(_0x44ca2e),String(_0x50343e),_0x475afa);if(!_0x5e81ca||_0x5e81ca[0x0]!==0x1)throw new IdGeneratorError(_0xc1e60b(0x12b),'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x16eb50,{'token':_0x16eb50});const _0x18b282=_0x5e81ca[0x1],_0x12f8d2=parseInt(_0x5e81ca[0x2],0xa),_0x1581d0=_0x5e81ca[0x3],_0x3bd756=_0x5e81ca[0x4],_0xb75700=new Date(_0x11e35a)[_0xc1e60b(0x1a9)](),_0x529518={'extended':!![],'token':_0x16eb50,'previousExpiresAt':_0x18b282,'expiresAt':_0x475afa,'ttlMs':_0x44ca2e,'resource':_0x45795d[_0xc1e60b(0x1a8)],'formatKey':_0x3bd756,'counter':_0x12f8d2,'value':_0x1581d0,'extendedAt':_0xb75700};await this[_0xc1e60b(0x1ac)](_0x303351,_0x529518);const _0x489e87=_0x3bd756[_0xc1e60b(0x10e)](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x2bc83e=_0x489e87?_0x489e87[0x1]:_0x359acd['WDOnS'],_0x3649a2=this[_0xc1e60b(0xe7)](_0x2bc83e);return this[_0xc1e60b(0x19e)](_0x45795d[_0xc1e60b(0x1a8)],_0x3bd756,{'lastExtendedCounter':_0x12f8d2,'lastExtendedAt':_0xb75700},_0x3649a2),logger['info']({'event':'idgen_reservation_extended','resource':_0x45795d['resource'],'formatKey':_0x3bd756,'counter':_0x12f8d2,'token':_0x16eb50,'ttl':_0x49fe9a},'ID\x20Generator\x20reservation\x20extended:\x20'+_0x1581d0+'\x20(token='+_0x16eb50+',\x20+'+_0x49fe9a+'s)'),_0x529518;}async[a0_0x4dc06d(0x189)](_0x5da9fb){const _0x4f2356=a0_0x4dc06d,_0x473803={'sdEvL':'IDGEN_DISABLED','Vczop':'IDGEN_RESERVATION_NOT_FOUND','eFBgU':function(_0x274057,_0x40eec1){return _0x274057===_0x40eec1;},'ufkGS':_0x4f2356(0x170),'gEFOB':function(_0xc2dea6,_0x482095){return _0xc2dea6>=_0x482095;}};if(!this[_0x4f2356(0xca)])throw new IdGeneratorError(_0x473803[_0x4f2356(0x108)],'ID\x20Generator\x20is\x20disabled');const _0x4aaa68=this['_validateReservationToken'](_0x5da9fb&&_0x5da9fb['token']),_0x2370c5=this['_buildReservationKey'](_0x4aaa68),_0x5761e4=redisClient['getClient'](),_0x4276d3=_0x5761e4[_0x4f2356(0xd9)]();_0x4276d3[_0x4f2356(0xa5)](_0x2370c5),_0x4276d3[_0x4f2356(0x104)](_0x2370c5);const _0xb1e9ab=await _0x4276d3[_0x4f2356(0x15f)](),_0x1f5684=_0xb1e9ab&&_0xb1e9ab[0x0]&&_0xb1e9ab[0x0][0x1],_0x333d29=_0xb1e9ab&&_0xb1e9ab[0x1]&&_0xb1e9ab[0x1][0x1];if(!_0x1f5684||Object['keys'](_0x1f5684)[_0x4f2356(0x177)]===0x0)throw new IdGeneratorError(_0x473803['Vczop'],_0x4f2356(0xa9)+_0x4aaa68,{'token':_0x4aaa68});return{'token':_0x4aaa68,'resource':_0x1f5684['resource']||null,'formatKey':_0x1f5684['formatKey']||null,'format':_0x1f5684['format']||null,'prefix':_0x1f5684['prefix']||'','separator':_0x1f5684['separator']||'','numDigits':_0x1f5684['numDigits']?parseInt(_0x1f5684[_0x4f2356(0x13a)],0xa):null,'datePrefix':_0x1f5684[_0x4f2356(0x18b)]||'','counter':_0x1f5684[_0x4f2356(0x11d)]?parseInt(_0x1f5684[_0x4f2356(0x11d)],0xa):null,'value':_0x1f5684[_0x4f2356(0x157)]||null,'isReused':_0x473803[_0x4f2356(0x10a)](_0x1f5684[_0x4f2356(0x193)],'1')||_0x1f5684['isReused']===0x1,'createdAt':_0x1f5684['createdAt']||null,'expiresAt':_0x1f5684['expiresAt']||null,'ttlRemainingMs':typeof _0x333d29===_0x473803[_0x4f2356(0xfd)]&&_0x473803['gEFOB'](_0x333d29,0x0)?_0x333d29:null};}async['_getReservationContext'](_0x1b8256){const _0x504a66=a0_0x4dc06d,_0x2cedf2=this['_buildReservationKey'](_0x1b8256),_0x5e5987=redisClient[_0x504a66(0xbd)](),_0x46b656=await _0x5e5987['hmget'](_0x2cedf2,'resource',_0x504a66(0x163)),_0x2fb36e=_0x46b656&&_0x46b656[0x0],_0x391ede=_0x46b656&&_0x46b656[0x1];if(!_0x2fb36e||!_0x391ede)throw new IdGeneratorError(_0x504a66(0x12b),'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x1b8256,{'token':_0x1b8256});return{'resource':_0x2fb36e,'formatKey':_0x391ede,'rsvKey':_0x2cedf2,'rsvIdxKey':this[_0x504a66(0x115)](_0x2fb36e,_0x391ede)};}async[a0_0x4dc06d(0x168)](_0x1f2c87){const _0x3128eb=a0_0x4dc06d,_0x32d46d={'EQGNE':'IDGEN_DISABLED','gmbZU':'random','hEFaD':function(_0x1f1536,_0x556e28){return _0x1f1536<_0x556e28;},'rFoLb':function(_0x568b82,_0x34a1da){return _0x568b82===_0x34a1da;},'nTGmS':_0x3128eb(0x16e),'qWJwb':function(_0x4629ec,_0x218de6){return _0x4629ec*_0x218de6;},'oLaUZ':function(_0x5e7709,_0x5af815){return _0x5e7709||_0x5af815;}};if(!this['enabled'])throw new IdGeneratorError(_0x32d46d['EQGNE'],_0x3128eb(0x178));this[_0x3128eb(0x169)](_0x1f2c87[_0x3128eb(0x1a8)]),this['_validatePattern'](_0x1f2c87['pattern']);const _0x3e8a32=this[_0x3128eb(0x158)](_0x1f2c87[_0x3128eb(0x105)]),_0x29c465=this[_0x3128eb(0xf0)](_0x1f2c87[_0x3128eb(0x124)]),_0x145ab4=this[_0x3128eb(0x1a5)](_0x1f2c87[_0x3128eb(0x190)]),_0x439bdf=_0x1f2c87[_0x3128eb(0x109)]===!![],{resource:_0x4a4b53,pattern:_0x4a3d3c}=_0x1f2c87;let _0x572f0a=null;if(_0x145ab4){_0x572f0a=this[_0x3128eb(0x1b4)](_0x32d46d[_0x3128eb(0x112)],_0x4a4b53,null,_0x145ab4);const _0x4ed27c=await this[_0x3128eb(0x19f)](_0x572f0a);if(_0x4ed27c)return _0x4ed27c;}const _0x1547d5=redisClient['getClient']();let _0x42020b=null,_0x3d6c36=0x0;if(!_0x439bdf)_0x42020b=this[_0x3128eb(0x172)](_0x4a3d3c),_0x3d6c36=0x1;else{for(let _0x2bddee=0x0;_0x32d46d['hEFaD'](_0x2bddee,_0x29c465);_0x2bddee++){_0x3d6c36++;const _0x4b9892=this['_generateFromPattern'](_0x4a3d3c);if(_0x3e8a32){const _0x47966c=this['_buildActiveKey'](_0x4a4b53,_0x4b9892),_0x2f706a=await _0x1547d5[_0x3128eb(0x1a0)](_0x47966c,'1','EX',_0x3e8a32,'NX');if(_0x2f706a==='OK'){_0x42020b=_0x4b9892;break;}}else{const _0x17e6d6=this['_buildIssuedKey'](_0x4a4b53),_0x2c2dab=await _0x1547d5[_0x3128eb(0xd6)](_0x17e6d6,_0x4b9892);if(_0x2c2dab===0x1){_0x42020b=_0x4b9892;break;}}}if(_0x32d46d['rFoLb'](_0x42020b,null))throw new IdGeneratorError(_0x32d46d[_0x3128eb(0xd8)],_0x3128eb(0x1a1)+_0x29c465+_0x3128eb(0x9e),{'resource':_0x4a4b53,'pattern':_0x4a3d3c,'maxRetry':_0x29c465});}const _0x477d15={'value':_0x42020b,'resource':_0x4a4b53,'pattern':_0x4a3d3c,'attemptCount':_0x3d6c36,'generatedAt':new Date()[_0x3128eb(0x1a9)]()};_0x3e8a32&&_0x439bdf&&(_0x477d15['expiresAt']=new Date(Date['now']()+_0x32d46d[_0x3128eb(0x18e)](_0x3e8a32,0x3e8))[_0x3128eb(0x1a9)]());const _0x447adc=await this['_storeIdemCacheNX'](_0x572f0a,_0x477d15);if(!_0x447adc[_0x3128eb(0xcc)])return _0x439bdf&&await this['_undoRandomReservation'](_0x4a4b53,_0x42020b,_0x3e8a32),logger['info']({'event':'idgen_random_idem_loser','resource':_0x4a4b53,'pattern':_0x4a3d3c,'value':_0x42020b},_0x3128eb(0x155)),_0x447adc[_0x3128eb(0x1a2)];return logger['info']({'event':_0x3128eb(0x140),'resource':_0x4a4b53,'pattern':_0x4a3d3c,'attemptCount':_0x3d6c36,'ensureUnique':_0x439bdf,'ttl':_0x32d46d['oLaUZ'](_0x3e8a32,0x0)},'ID\x20Generator\x20random:\x20'+_0x42020b),_0x477d15;}async['pin'](_0x2ec5ad){const _0x1acf9f=a0_0x4dc06d,_0x5172e4={'BGEFc':function(_0x1734ee,_0x35a625){return _0x1734ee<_0x35a625;},'sJYje':function(_0x531a3d,_0x71140c){return _0x531a3d>_0x71140c;},'ZGdNk':_0x1acf9f(0x14e),'rlWML':function(_0x5037ed,_0x8eddc1){return _0x5037ed===_0x8eddc1;}},_0xca75=_0x2ec5ad['digits']==null?this[_0x1acf9f(0x1b5)]:_0x2ec5ad['digits'];if(!Number['isInteger'](_0xca75)||_0x5172e4['BGEFc'](_0xca75,MIN_PIN_DIGITS)||_0x5172e4['sJYje'](_0xca75,MAX_PIN_DIGITS))throw new IdGeneratorError(_0x5172e4[_0x1acf9f(0x199)],_0x1acf9f(0x133)+MIN_PIN_DIGITS+'-'+MAX_PIN_DIGITS+'\x20(got:\x20'+_0xca75+')');const _0x255889='9'[_0x1acf9f(0x19c)](_0xca75);return this[_0x1acf9f(0x168)]({'resource':_0x2ec5ad['resource'],'pattern':_0x255889,'ensureUnique':_0x5172e4[_0x1acf9f(0x106)](_0x2ec5ad[_0x1acf9f(0x109)],!![]),'ttl':_0x2ec5ad['ttl'],'maxRetry':_0x2ec5ad['maxRetry'],'idempotencyKey':_0x2ec5ad[_0x1acf9f(0x190)]});}async['serial'](_0x5d8533){const _0x5c6d62=a0_0x4dc06d,_0x43afe6=_0x5d8533['pattern']||this['defaultSerialPattern'];return this['random']({'resource':_0x5d8533['resource'],'pattern':_0x43afe6,'ensureUnique':_0x5d8533[_0x5c6d62(0x109)]!==![],'ttl':_0x5d8533[_0x5c6d62(0x105)],'maxRetry':_0x5d8533['maxRetry'],'idempotencyKey':_0x5d8533['idempotencyKey']});}async['code'](_0x309fcf){const _0x1f475a=a0_0x4dc06d,_0x2dac26=_0x309fcf['pattern']||this[_0x1f475a(0x138)];return this[_0x1f475a(0x168)]({'resource':_0x309fcf[_0x1f475a(0x1a8)],'pattern':_0x2dac26,'ensureUnique':_0x309fcf[_0x1f475a(0x109)]!==![],'ttl':_0x309fcf['ttl'],'maxRetry':_0x309fcf['maxRetry'],'idempotencyKey':_0x309fcf[_0x1f475a(0x190)]});}async[a0_0x4dc06d(0xa7)](_0x205779){const _0x58ab6f=a0_0x4dc06d,_0x358f75={'DpiNi':'ID\x20Generator\x20is\x20disabled','UxkMA':'string','hVsUF':function(_0x5c03ea,_0x22c340){return _0x5c03ea===_0x22c340;},'vXhZr':_0x58ab6f(0x122),'SYsrM':_0x58ab6f(0x9d),'qJoxR':_0x58ab6f(0x149)};if(!this['enabled'])throw new IdGeneratorError(_0x58ab6f(0xd4),_0x358f75['DpiNi']);this[_0x58ab6f(0x169)](_0x205779[_0x58ab6f(0x1a8)]);if(typeof _0x205779['value']!==_0x358f75['UxkMA']||_0x358f75['hVsUF'](_0x205779['value'][_0x58ab6f(0x177)],0x0))throw new IdGeneratorError(_0x358f75['vXhZr'],_0x358f75[_0x58ab6f(0xb2)]);const {resource:_0x4a9f25,value:_0x26cffd}=_0x205779,_0x4cb4d0=redisClient['getClient'](),_0xde13d4=this['_buildActiveKey'](_0x4a9f25,_0x26cffd),_0x21ce3f=this[_0x58ab6f(0xf2)](_0x4a9f25),[_0x306dc7,_0x239157]=await Promise[_0x58ab6f(0xbe)]([_0x4cb4d0['del'](_0xde13d4),_0x4cb4d0[_0x58ab6f(0x132)](_0x21ce3f,_0x26cffd)]),_0x33c68d=_0x306dc7+_0x239157>0x0;return logger[_0x58ab6f(0xcb)]({'event':_0x358f75['qJoxR'],'resource':_0x4a9f25,'value':_0x26cffd,'consumed':_0x33c68d},_0x58ab6f(0xd5)+_0x26cffd),{'consumed':_0x33c68d,'resource':_0x4a9f25,'value':_0x26cffd,'consumedAt':new Date()['toISOString']()};}async['peek'](_0x51c05d){const _0x1e809c=a0_0x4dc06d,_0x5d93ce={'zQrQO':'ID\x20Generator\x20is\x20disabled','OEyFn':_0x1e809c(0x170),'kJSXb':'text','lOGdd':function(_0x742dad,_0x2df82c,_0x34425a){return _0x742dad(_0x2df82c,_0x34425a);},'FnceR':function(_0x18c46a,_0x3f8f6e){return _0x18c46a||_0x3f8f6e;},'Ppuhy':'random'};if(!this[_0x1e809c(0xca)])throw new IdGeneratorError(_0x1e809c(0xd4),_0x5d93ce['zQrQO']);this[_0x1e809c(0x169)](_0x51c05d['resource']);const _0x16af5d=_0x51c05d[_0x1e809c(0xe1)]||_0x5d93ce[_0x1e809c(0xe8)],_0x360785=redisClient[_0x1e809c(0xbd)]();if(_0x16af5d===_0x5d93ce[_0x1e809c(0xe8)]){const _0x21eb75=(_0x51c05d[_0x1e809c(0xb0)]||_0x5d93ce['kJSXb'])[_0x1e809c(0x11e)]();if(!ALLOWED_FORMATS[_0x1e809c(0x101)](_0x21eb75))throw new IdGeneratorError('IDGEN_INVALID_FORMAT',_0x1e809c(0xef)+_0x51c05d['format']);const {formatKey:_0x12292e}=this[_0x1e809c(0x18f)](_0x21eb75,_0x51c05d['prefix']||''),_0x3e2bb7=this['_buildSeqKey'](_0x51c05d['resource'],_0x12292e),_0x4a8c9b=this[_0x1e809c(0x102)](_0x51c05d['resource'],_0x12292e),[_0x45f84c,_0x146630]=await Promise[_0x1e809c(0xbe)]([_0x360785[_0x1e809c(0x14b)](_0x3e2bb7),_0x360785['zcard'](_0x4a8c9b)]);return{'resource':_0x51c05d['resource'],'mode':_0x5d93ce['OEyFn'],'formatKey':_0x12292e,'currentCounter':_0x5d93ce[_0x1e809c(0x154)](parseInt,_0x45f84c,0xa)||0x0,'reusePoolSize':_0x5d93ce['FnceR'](_0x146630,0x0)};}if(_0x16af5d==='random'){const _0x550a6e=this[_0x1e809c(0xf2)](_0x51c05d[_0x1e809c(0x1a8)]),_0xba0660=await _0x360785[_0x1e809c(0x15c)](_0x550a6e);return{'resource':_0x51c05d[_0x1e809c(0x1a8)],'mode':_0x5d93ce[_0x1e809c(0x194)],'issuedCount':_0xba0660||0x0};}throw new IdGeneratorError('IDGEN_INVALID_MODE','Unknown\x20mode:\x20'+_0x16af5d);}async['getInfo'](_0x5a86e4){const _0x1b4345=a0_0x4dc06d,_0x13553c={'ZXxVp':function(_0xc40550,_0x447b39){return _0xc40550===_0x447b39;},'zbEPF':'number'},_0x3fa879=await this[_0x1b4345(0x182)](_0x5a86e4);if(_0x13553c['ZXxVp'](_0x3fa879['mode'],_0x13553c[_0x1b4345(0x107)])){const _0x4aac01=redisClient['getClient'](),_0x1cf83c=this[_0x1b4345(0x162)](_0x5a86e4[_0x1b4345(0x1a8)],_0x3fa879[_0x1b4345(0x163)]),_0xcf860e=this['_buildReuseKey'](_0x5a86e4[_0x1b4345(0x1a8)],_0x3fa879['formatKey']),[_0x3177aa,_0x5ddb84]=await Promise['all']([_0x4aac01[_0x1b4345(0xa5)](_0x1cf83c),_0x4aac01[_0x1b4345(0x14d)](_0xcf860e,0x0,-0x1)]);return{..._0x3fa879,'reusePoolValues':_0x5ddb84['map'](_0x301165=>parseInt(_0x301165,0xa)),'meta':_0x3177aa&&Object['keys'](_0x3177aa)[_0x1b4345(0x177)]>0x0?_0x3177aa:null};}return _0x3fa879;}async['reset'](_0xbd714e){const _0x5e18c3=a0_0x4dc06d,_0x476e64={'ZtuIG':'ID\x20Generator\x20is\x20disabled','YUVFR':function(_0x2bc06d,_0x5ce7ba){return _0x2bc06d===_0x5ce7ba;},'QWRcd':'number','bSnRp':'IDGEN_INVALID_FORMAT','MSpBR':_0x5e18c3(0xf6),'NXbKf':'meta','QiCZx':_0x5e18c3(0x168),'aylZX':'IDGEN_INVALID_MODE'};if(!this['enabled'])throw new IdGeneratorError(_0x5e18c3(0xd4),_0x476e64[_0x5e18c3(0xbc)]);if(!this['allowReset'])throw new IdGeneratorError(_0x5e18c3(0xb3),'Reset\x20operation\x20not\x20allowed\x20(set\x20IDGEN_ALLOW_RESET=true\x20to\x20enable)');this[_0x5e18c3(0x169)](_0xbd714e[_0x5e18c3(0x1a8)]);const _0x311c42=_0xbd714e[_0x5e18c3(0xe1)]||'number',_0x628013=redisClient['getClient']();if(_0x476e64['YUVFR'](_0x311c42,_0x476e64['QWRcd'])){const _0x44338a=(_0xbd714e[_0x5e18c3(0xb0)]||_0x5e18c3(0x120))[_0x5e18c3(0x11e)]();if(!ALLOWED_FORMATS[_0x5e18c3(0x101)](_0x44338a))throw new IdGeneratorError(_0x476e64[_0x5e18c3(0x16b)],_0x5e18c3(0xef)+_0xbd714e[_0x5e18c3(0xb0)]);const {formatKey:_0x33753d}=this[_0x5e18c3(0x18f)](_0x44338a,_0xbd714e['prefix']||''),_0x2529c9=this['_buildSeqKey'](_0xbd714e['resource'],_0x33753d),_0x42573e=this['_buildReuseKey'](_0xbd714e['resource'],_0x33753d),_0x4c012c=this['_buildMetaKey'](_0xbd714e['resource'],_0x33753d);return await _0x628013[_0x5e18c3(0x13b)](_0x2529c9,_0x42573e,_0x4c012c),logger[_0x5e18c3(0x15b)]({'event':_0x476e64[_0x5e18c3(0x9c)],'resource':_0xbd714e[_0x5e18c3(0x1a8)],'mode':_0x5e18c3(0x170),'formatKey':_0x33753d},'ID\x20Generator\x20reset:\x20'+_0xbd714e['resource']+':'+_0x33753d),{'reset':!![],'resource':_0xbd714e['resource'],'mode':'number','formatKey':_0x33753d,'deletedKeys':[_0x5e18c3(0xf4),_0x5e18c3(0x1ad),_0x476e64[_0x5e18c3(0x12a)]]};}if(_0x311c42==='random'){const _0x2e6983=this[_0x5e18c3(0xf2)](_0xbd714e['resource']);return await _0x628013['del'](_0x2e6983),logger['warn']({'event':'idgen_reset','resource':_0xbd714e['resource'],'mode':_0x476e64['QiCZx']},'ID\x20Generator\x20reset:\x20random:'+_0xbd714e['resource']),{'reset':!![],'resource':_0xbd714e['resource'],'mode':_0x5e18c3(0x168),'deletedKeys':[_0x5e18c3(0xd3)]};}throw new IdGeneratorError(_0x476e64[_0x5e18c3(0xb1)],'Unknown\x20mode:\x20'+_0x311c42);}}const instance=new IdGenerator();instance[a0_0x4dc06d(0x146)]=IdGeneratorError,module['exports']=instance,module[a0_0x4dc06d(0x126)][a0_0x4dc06d(0x146)]=IdGeneratorError;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';const
|
|
1
|
+
'use strict';const a0_0x1310c3=a0_0x555c;(function(_0x9cea52,_0x49b35d){const _0x34be8e=a0_0x555c,_0xd45ff7=_0x9cea52();while(!![]){try{const _0x3e43e3=-parseInt(_0x34be8e(0x124))/0x1+-parseInt(_0x34be8e(0x10e))/0x2*(parseInt(_0x34be8e(0x10d))/0x3)+parseInt(_0x34be8e(0x112))/0x4*(-parseInt(_0x34be8e(0xfe))/0x5)+-parseInt(_0x34be8e(0x11c))/0x6*(parseInt(_0x34be8e(0x11d))/0x7)+parseInt(_0x34be8e(0x127))/0x8*(-parseInt(_0x34be8e(0x11e))/0x9)+-parseInt(_0x34be8e(0x126))/0xa+parseInt(_0x34be8e(0x104))/0xb*(parseInt(_0x34be8e(0x107))/0xc);if(_0x3e43e3===_0x49b35d)break;else _0xd45ff7['push'](_0xd45ff7['shift']());}catch(_0x2cc6c6){_0xd45ff7['push'](_0xd45ff7['shift']());}}}(a0_0x4ce1,0xb3877));function a0_0x555c(_0x222966,_0x3f3d93){_0x222966=_0x222966-0xfe;const _0x4ce123=a0_0x4ce1();let _0x555cbe=_0x4ce123[_0x222966];if(a0_0x555c['QjtvOJ']===undefined){var _0x1157c9=function(_0x4c003a){const _0x5b0522='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4438b7='',_0x523fb5='';for(let _0x3ce13a=0x0,_0xf773f6,_0x3f3647,_0x4d0b9b=0x0;_0x3f3647=_0x4c003a['charAt'](_0x4d0b9b++);~_0x3f3647&&(_0xf773f6=_0x3ce13a%0x4?_0xf773f6*0x40+_0x3f3647:_0x3f3647,_0x3ce13a++%0x4)?_0x4438b7+=String['fromCharCode'](0xff&_0xf773f6>>(-0x2*_0x3ce13a&0x6)):0x0){_0x3f3647=_0x5b0522['indexOf'](_0x3f3647);}for(let _0x5331c1=0x0,_0x1261d0=_0x4438b7['length'];_0x5331c1<_0x1261d0;_0x5331c1++){_0x523fb5+='%'+('00'+_0x4438b7['charCodeAt'](_0x5331c1)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x523fb5);};a0_0x555c['fnnTBO']=_0x1157c9,a0_0x555c['EDMzcp']={},a0_0x555c['QjtvOJ']=!![];}const _0x2c618d=_0x4ce123[0x0],_0x255c60=_0x222966+_0x2c618d,_0x364542=a0_0x555c['EDMzcp'][_0x255c60];return!_0x364542?(_0x555cbe=a0_0x555c['fnnTBO'](_0x555cbe),a0_0x555c['EDMzcp'][_0x255c60]=_0x555cbe):_0x555cbe=_0x364542,_0x555cbe;}function a0_0x4ce1(){const _0x4ccd26=['zgvMyxvSDa','x3r0Ba','CMv0CMLLDMu','Aw5MBW','AwrLBxbVDgvUy3LFBwLZCW','C3rHDhvZq29Kzq','mZmXmdGYnfbbwLDgDG','n2LAB3brtW','oxfSs21Jvq','DhrS','swrLBxbVDgvUy3KGC3rVCMuGzxjYB3i6ia','C2v0zxG','Cgf0Aa','BwvZC2fNzq','nJi1ndGXze13EurY','yNvPBgrlzxK','oda3nZC1mfHrBxb5uW','nZeZmty4mhHdD2fyyG','nwHfEgnVrG','A3f4rM0','swrLBxbVDgvUy3KGy29UzMLNDxjHDgLVBIbPBML0AwfSAxPLzcaTigvUywjSzwq6ia','x2LUAxrPywXPEMvK','lcbuveW6ia','swrLBxbVDgvUy3KGy2fJAguGseLu','nJa4mdKYodDtuKXIsMC','lI9SB2DNzxi','CMfUzg9Tvvvjra','mtjYyMDqrKm','C3bSAxq','x2vUC3vYzuLUAxrPywXPEMvK','zxHWB3j0CW','zw52','z2vUzxjHDgvlzxK','mta2nti4mM5Zte9ZqG','nfvbrwzxBG','Dw5RBM93BG','EKvhDMK','zxjYB3i','ndGYndiZmKrvu2fNvW','zw5HyMXLza','Bffgz0O','x2vUywjSzwq'];a0_0x4ce1=function(){return _0x4ccd26;};return a0_0x4ce1();}const redisClient=require('./redis-client'),{logger}=require(a0_0x1310c3(0x105)),crypto=require('crypto');class IdempotencyManager{constructor(){const _0x1b75f2=a0_0x1310c3;this[_0x1b75f2(0x115)]=null,this['_ttl']=null,this['_initialized']=![];}['_initConfig'](){const _0x35e833=a0_0x1310c3,_0x54d6a9={'lQFgJ':function(_0x4a2293,_0x578a9a){return _0x4a2293===_0x578a9a;},'kIVwI':'true','FkJnE':function(_0x574f7b,_0x34f95e,_0xe1aa45){return _0x574f7b(_0x34f95e,_0xe1aa45);}};this['_enabled']=_0x54d6a9[_0x35e833(0x114)](process[_0x35e833(0x10b)]['IDEMPOTENCY_ENABLED'],_0x54d6a9['kIVwI']),this['_ttl']=_0x54d6a9['FkJnE'](parseInt,process[_0x35e833(0x10b)]['IDEMPOTENCY_TTL'],0xa)||0x12c,this['_initialized']=!![],logger[_0x35e833(0x119)]({'event':'idempotency_config_init','enabled':this['_enabled'],'ttl':this['_ttl']},_0x35e833(0x100)+this[_0x35e833(0x115)]+_0x35e833(0x102)+this[_0x35e833(0x117)]+'s');}[a0_0x1310c3(0x109)](){const _0x3c5386=a0_0x1310c3;!this[_0x3c5386(0x101)]&&this['_initConfig']();}get[a0_0x1310c3(0x113)](){const _0x31f6bc=a0_0x1310c3;return this['_ensureInitialized'](),this[_0x31f6bc(0x115)];}get[a0_0x1310c3(0x11f)](){const _0x2486e7=a0_0x1310c3;return this[_0x2486e7(0x109)](),this[_0x2486e7(0x117)];}['isEnabled'](){return this['enabled'];}[a0_0x1310c3(0x125)](_0x57214c,_0x47d679){const _0x48ae48=a0_0x1310c3,_0x4dd14f={'crkuz':_0x48ae48(0x116),'MPgXP':_0x48ae48(0x10f)},_0xf7563b=_0x47d679[_0x48ae48(0x122)][_0x48ae48(0x108)]('/')['filter'](Boolean),_0x536416=_0xf7563b[0x0]||_0x4dd14f['crkuz'],_0x2b6d15=_0xf7563b[0x1]||'unknown',_0x1e378e=_0xf7563b[0x2]||_0x4dd14f['MPgXP'];return'rf:idem:'+_0x536416+':'+_0x2b6d15+':'+_0x1e378e+':'+_0x57214c;}async['store'](_0x40c92a,_0x1ef9de){const _0x349142=a0_0x1310c3,_0x18b4ae={'kqxFm':'idempotency_store_error'};if(!this[_0x349142(0x113)])return![];try{const _0x33aebb=redisClient['getClient']();return await _0x33aebb[_0x349142(0x121)](_0x40c92a,this[_0x349142(0x11f)],JSON['stringify'](_0x1ef9de)),logger['debug']({'event':'idempotency_store','key':_0x40c92a,'ttl':this[_0x349142(0x11f)],'statusCode':_0x1ef9de[_0x349142(0x11b)]},'Idempotency\x20response\x20stored'),!![];}catch(_0x419a60){return logger[_0x349142(0x111)]({'event':_0x18b4ae[_0x349142(0xff)],'key':_0x40c92a,'error':_0x419a60['message']},_0x349142(0x120)+_0x419a60['message']),![];}}async[a0_0x1310c3(0x118)](_0x2e355e){const _0x1551fc=a0_0x1310c3,_0x273356={'fugiI':'idempotency_hit','hYGjJ':_0x1551fc(0x103),'zEGvi':_0x1551fc(0x11a)};if(!this['enabled'])return null;try{const _0x51faa8=redisClient['getClient'](),_0x5d88cc=await _0x51faa8['get'](_0x2e355e);if(_0x5d88cc)return logger[_0x1551fc(0x119)]({'event':_0x273356['fugiI'],'key':_0x2e355e},_0x273356['hYGjJ']),JSON['parse'](_0x5d88cc);return logger['debug']({'event':_0x273356[_0x1551fc(0x110)],'key':_0x2e355e},'Idempotency\x20cache\x20MISS'),null;}catch(_0x1661e8){return logger['error']({'event':'idempotency_retrieve_error','key':_0x2e355e,'error':_0x1661e8['message']},'Idempotency\x20retrieve\x20error:\x20'+_0x1661e8[_0x1551fc(0x123)]),null;}}[a0_0x1310c3(0x10c)](_0x37f095='req'){const _0x1a7740=a0_0x1310c3;return _0x37f095+'_'+crypto[_0x1a7740(0x106)]();}['buildDeterministicKey'](_0x2b806e,_0x197c84,_0x37dc88){return _0x2b806e+':'+_0x197c84+':'+_0x37dc88;}}module[a0_0x1310c3(0x10a)]=new IdempotencyManager();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x289465=a0_0x1a3d;function a0_0x559d(){const _0x31be66=['DMfSAwrHDgvsB3C','BNvTyMvY','ChvZAa','zLnSEwS','CMvXDwLYzwq','suT5C3m','s3HerhO','DgvZDa','ndqZofHfyLjYBW','D1DfwMC','uxvssuS','mZmZmJi5mKPotMLXCa','AgfZ','DMfSAwrHDgvqAg9Uzq','zxHWB3j0CW','mJyZrNn5Bgrj','A2v5CW','DMfSAwrHDgvvCMW','mtiXotvtwwHYBgC','BgvUz3rO','BM9VCve','sw52ywXPzcbUDw1IzxiGzM9YBwf0','ntbfsvPjuNq','zM9YrwfJAa','nZaWoenhtg9XqW','mti2mZKZz0LpDxvS','ndi0ugrqCgH1','mJC0otm1mvvgEKrltG','yMf0y2HFDMfSAwrHDgLVBL9JB21WBgv0zq','yMf0y2HwywXPzgf0zvjVD3m','lI9SB2DNzxi','nJG4nJqWnezbyxDKCG','ndbKuLzisw8','zM9YBwf0','C2v0','q1n6Bge','DMvvrMK','BwfW'];a0_0x559d=function(){return _0x31be66;};return a0_0x559d();}(function(_0x537538,_0x43c61c){const _0x59cf82=a0_0x1a3d,_0x54af5d=_0x537538();while(!![]){try{const _0x141f0a=-parseInt(_0x59cf82(0xc5))/0x1*(parseInt(_0x59cf82(0xa8))/0x2)+-parseInt(_0x59cf82(0xa9))/0x3+-parseInt(_0x59cf82(0xb0))/0x4*(parseInt(_0x59cf82(0xc8))/0x5)+-parseInt(_0x59cf82(0xc1))/0x6+-parseInt(_0x59cf82(0xbe))/0x7*(-parseInt(_0x59cf82(0xaa))/0x8)+parseInt(_0x59cf82(0xaf))/0x9+-parseInt(_0x59cf82(0xa6))/0xa*(-parseInt(_0x59cf82(0xab))/0xb);if(_0x141f0a===_0x43c61c)break;else _0x54af5d['push'](_0x54af5d['shift']());}catch(_0x41b471){_0x54af5d['push'](_0x54af5d['shift']());}}}(a0_0x559d,0x7b4b0));const {logger}=require(a0_0x289465(0xae));function a0_0x1a3d(_0x22811c,_0xfa3e7c){_0x22811c=_0x22811c-0xa4;const _0x559d6e=a0_0x559d();let _0x1a3d00=_0x559d6e[_0x22811c];if(a0_0x1a3d['OzwlpD']===undefined){var _0x1c4d11=function(_0x4a1223){const _0x1afbcc='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xcc141c='',_0x4f39f8='';for(let _0x115f74=0x0,_0x231489,_0x55fea3,_0x3bb4cf=0x0;_0x55fea3=_0x4a1223['charAt'](_0x3bb4cf++);~_0x55fea3&&(_0x231489=_0x115f74%0x4?_0x231489*0x40+_0x55fea3:_0x55fea3,_0x115f74++%0x4)?_0xcc141c+=String['fromCharCode'](0xff&_0x231489>>(-0x2*_0x115f74&0x6)):0x0){_0x55fea3=_0x1afbcc['indexOf'](_0x55fea3);}for(let _0x555614=0x0,_0x5b72f9=_0xcc141c['length'];_0x555614<_0x5b72f9;_0x555614++){_0x4f39f8+='%'+('00'+_0xcc141c['charCodeAt'](_0x555614)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4f39f8);};a0_0x1a3d['NhrVQT']=_0x1c4d11,a0_0x1a3d['aOvxQc']={},a0_0x1a3d['OzwlpD']=!![];}const _0x226e43=_0x559d6e[0x0],_0x2c4be2=_0x22811c+_0x226e43,_0x53558f=a0_0x1a3d['aOvxQc'][_0x2c4be2];return!_0x53558f?(_0x1a3d00=a0_0x1a3d['NhrVQT'](_0x1a3d00),a0_0x1a3d['aOvxQc'][_0x2c4be2]=_0x1a3d00):_0x1a3d00=_0x53558f,_0x1a3d00;}class ImportValidator{[a0_0x289465(0xb6)](_0x120954,_0x4a9bf6=[],_0x2caefc={}){const _0x3f1fab=a0_0x289465,_0x3957fc={'veUFi':function(_0x854340,_0x683b75){return _0x854340===_0x683b75;},'QPnLT':function(_0x506d08,_0x4f5fa1){return _0x506d08===_0x4f5fa1;}},_0x19a5ef=[];return _0x4a9bf6[_0x3f1fab(0xa7)](_0xb8e827=>{const _0x1b77f3=_0x3f1fab,_0x5c095c=_0x120954[_0xb8e827];(_0x5c095c===null||_0x3957fc['veUFi'](_0x5c095c,undefined)||_0x3957fc['QPnLT'](_0x5c095c,''))&&_0x19a5ef[_0x1b77f3(0xb8)]({'field':_0xb8e827,'type':_0x1b77f3(0xba),'message':'Required\x20field\x20is\x20empty'});}),Object[_0x3f1fab(0xc6)](_0x2caefc)['forEach'](_0xb227bb=>{const _0x41b786=_0x3f1fab,_0x34cded=_0x120954[_0xb227bb],_0x2a7cc1=_0x2caefc[_0xb227bb];if(_0x3957fc[_0x41b786(0xb4)](_0x34cded,null)||_0x3957fc[_0x41b786(0xb4)](_0x34cded,undefined)||_0x3957fc['QPnLT'](_0x34cded,''))return;const _0x15665e=this['validateFieldFormat'](_0xb227bb,_0x34cded,_0x2a7cc1);_0x15665e&&_0x19a5ef['push'](_0x15665e);}),_0x19a5ef;}['validateFieldFormat'](_0x5864d4,_0x26ab9e,_0x1599e1){const _0x5ea2f1=a0_0x289465,_0x5925be={'KxDDz':'email','CSzla':_0x5ea2f1(0xb7)};switch(_0x1599e1){case _0x5925be[_0x5ea2f1(0xbc)]:return this['validateEmail'](_0x5864d4,_0x26ab9e);case'phone':return this[_0x5ea2f1(0xc3)](_0x5864d4,_0x26ab9e);case'url':return this[_0x5ea2f1(0xc7)](_0x5864d4,_0x26ab9e);case _0x5925be[_0x5ea2f1(0xb3)]:return this['validateNumber'](_0x5864d4,_0x26ab9e);default:return null;}}['validateEmail'](_0x365d74,_0x48a42a){const _0x4c9b51=a0_0x289465,_0x1c5b37={'fSlyk':'Invalid\x20email\x20format'},_0x2ea1ce=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;if(!_0x2ea1ce['test'](String(_0x48a42a)))return{'field':_0x365d74,'type':_0x4c9b51(0xb1),'message':_0x1c5b37[_0x4c9b51(0xb9)]};return null;}['validatePhone'](_0xa994a4,_0x5e43d2){const _0x51a48e=a0_0x289465,_0x35d90c={'wWEZg':function(_0xb2cff1,_0x329da7){return _0xb2cff1<_0x329da7;},'IKyss':'Invalid\x20phone\x20format'},_0x51fc82=String(_0x5e43d2)['replace'](/\s+/g,''),_0x3748ed=/^[\d\+\-\(\)]+$/;if(!_0x3748ed[_0x51a48e(0xbd)](_0x51fc82)||_0x35d90c[_0x51a48e(0xbf)](_0x51fc82['length'],0x8))return{'field':_0xa994a4,'type':'format','message':_0x35d90c[_0x51a48e(0xbb)]};return null;}['validateUrl'](_0x253cc1,_0x3fb747){const _0x9f9e73=a0_0x289465;try{return new URL(String(_0x3fb747)),null;}catch(_0xd81d1a){return{'field':_0x253cc1,'type':_0x9f9e73(0xb1),'message':'Invalid\x20URL\x20format'};}}['validateNumber'](_0x152be6,_0x358c17){const _0x4bcd0d=a0_0x289465,_0x3577c4={'QuRIK':_0x4bcd0d(0xb1),'nooqQ':_0x4bcd0d(0xa5)};if(isNaN(_0x358c17))return{'field':_0x152be6,'type':_0x3577c4[_0x4bcd0d(0xc0)],'message':_0x3577c4[_0x4bcd0d(0xa4)]};return null;}['detectDuplicatesInFile'](_0x300c9e,_0x24bc7c){const _0x4a375a=new Map(),_0x4aafe6=[];return _0x300c9e['forEach']((_0x1e8153,_0x27bd32)=>{const _0xc7ffbe=a0_0x1a3d,_0x342b12=_0x24bc7c[_0xc7ffbe(0xb5)](_0x18cba1=>_0x1e8153[_0x18cba1])['join']('|');_0x4a375a[_0xc7ffbe(0xc2)](_0x342b12)?_0x4aafe6['push']({'rowIndex':_0x27bd32,'duplicateOf':_0x4a375a['get'](_0x342b12),'key':_0x342b12}):_0x4a375a[_0xc7ffbe(0xb2)](_0x342b12,_0x27bd32);}),_0x4aafe6;}[a0_0x289465(0xad)](_0x2ddf46,_0x5c86be,_0x389d11){const _0x213dde=a0_0x289465,_0x51c7cf={'gQgEy':_0x213dde(0xac)},_0x4fe1e5=[];return _0x2ddf46['forEach']((_0x1404df,_0xa3a253)=>{const _0x11feec=_0x213dde,_0x366933=this[_0x11feec(0xb6)](_0x1404df,_0x5c86be,_0x389d11);_0x366933[_0x11feec(0xc9)]>0x0&&_0x4fe1e5[_0x11feec(0xb8)]({'rowIndex':_0xa3a253,'rowData':_0x1404df,'errors':_0x366933});}),logger['info']({'event':_0x51c7cf['gQgEy'],'totalRows':_0x2ddf46[_0x213dde(0xc9)],'errorCount':_0x4fe1e5['length']},'Batch\x20validation\x20completed'),_0x4fe1e5;}}module[a0_0x289465(0xc4)]=new ImportValidator();
|