@restforgejs/platform 5.1.21 → 5.2.0
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/catalog/dashboard.js +1 -1
- package/generators/cli/catalog/dbschema.js +3 -3
- package/generators/cli/catalog/field-validation.js +1 -1
- package/generators/cli/catalog/query-declarative.js +1 -1
- package/generators/cli/config/clear-default.js +1 -1
- package/generators/cli/config/get-default.js +1 -1
- package/generators/cli/config/list.js +1 -1
- package/generators/cli/config/schema.js +1 -1
- package/generators/cli/config/set-default.js +2 -2
- package/generators/cli/config/template.js +1 -1
- package/generators/cli/dashboard/create.js +7 -7
- package/generators/cli/data/pull.js +12 -12
- package/generators/cli/data/push.js +9 -9
- package/generators/cli/endpoint/create.js +11 -11
- package/generators/cli/endpoint/list.js +3 -3
- package/generators/cli/fast-track.js +7 -7
- package/generators/cli/init.js +2 -2
- package/generators/cli/kafka/consumer-create.js +5 -5
- package/generators/cli/key/generate.js +3 -3
- package/generators/cli/key/list.js +2 -2
- package/generators/cli/key/revoke.js +3 -3
- package/generators/cli/payload/diff.js +3 -3
- package/generators/cli/payload/generate.js +5 -5
- package/generators/cli/payload/sync.js +5 -5
- package/generators/cli/payload/validate.js +3 -3
- package/generators/cli/processor/create.js +7 -7
- package/generators/cli/processor/list.js +3 -3
- package/generators/cli/project/delete.js +2 -2
- package/generators/cli/project/list.js +1 -1
- package/generators/cli/query/validate.js +3 -3
- package/generators/cli/schema/apply.js +13 -13
- package/generators/cli/schema/describe.js +6 -6
- package/generators/cli/schema/diff.js +10 -10
- package/generators/cli/schema/generate-ddl.js +11 -11
- package/generators/cli/schema/init.js +95 -95
- package/generators/cli/schema/introspect.js +8 -8
- package/generators/cli/schema/list.js +6 -6
- package/generators/cli/schema/migrate.js +91 -13
- package/generators/cli/schema/models.js +6 -6
- package/generators/cli/schema/template.js +223 -222
- package/generators/cli/schema/validate.js +6 -6
- package/generators/cli/test/generate.js +6 -6
- package/generators/lib/dbschema-kit/introspect-mapper.js +20 -0
- package/generators/lib/templates/dashboard-catalog.js +1 -1
- package/generators/lib/templates/db-connection-env.js +1 -1
- package/generators/lib/templates/dbschema-catalog.js +1 -1
- package/generators/lib/templates/field-validation-catalog.js +1 -1
- package/generators/lib/templates/mysql-template.js +1 -1
- package/generators/lib/templates/oracle-template.js +1 -1
- package/generators/lib/templates/postgres-template.js +1 -1
- package/generators/lib/templates/query-declarative-catalog.js +1 -1
- package/generators/lib/templates/sqlite-template.js +1 -1
- package/integrity-manifest.json +18 -18
- package/package.json +1 -1
- package/scripts/verify-integrity.js +1 -1
- package/server.js +1 -1
- package/src/components/handlers/adjust_handler.js +1 -1
- package/src/components/handlers/audit_handler.js +1 -1
- package/src/components/handlers/delete_handler.js +1 -1
- package/src/components/handlers/export_handler.js +1 -1
- package/src/components/handlers/import_handler.js +1 -1
- package/src/components/handlers/insert_handler.js +1 -1
- package/src/components/handlers/update_handler.js +1 -1
- package/src/components/handlers/upload_handler.js +1 -1
- package/src/components/handlers/workflow_handler.js +1 -1
- package/src/components/integrations/webhook.js +1 -1
- package/src/consumers/baseConsumer.js +1 -1
- package/src/consumers/declarativeMapper.js +1 -1
- package/src/consumers/handlers/apiHandler.js +1 -1
- package/src/consumers/handlers/consoleHandler.js +1 -1
- package/src/consumers/handlers/databaseHandler.js +1 -1
- package/src/consumers/handlers/index.js +1 -1
- package/src/consumers/handlers/kafkaHandler.js +1 -1
- package/src/consumers/index.js +1 -1
- package/src/consumers/messageTransformer.js +1 -1
- package/src/consumers/validator.js +1 -1
- package/src/core/db/dialect/base-dialect.js +1 -1
- package/src/core/db/dialect/index.js +1 -1
- package/src/core/db/dialect/mysql-dialect.js +1 -1
- package/src/core/db/dialect/oracle-dialect.js +1 -1
- package/src/core/db/dialect/postgres-dialect.js +1 -1
- package/src/core/db/dialect/sqlite-dialect.js +1 -1
- package/src/core/db/flatten-helper.js +1 -1
- package/src/core/db/query-builder-error.js +1 -1
- package/src/core/db/query-builder.js +1 -1
- package/src/core/db/relation-helper.js +1 -1
- package/src/core/handlers/delete_handler.js +1 -1
- package/src/core/handlers/insert_handler.js +1 -1
- package/src/core/handlers/update_handler.js +1 -1
- package/src/core/models/base-model.js +1 -1
- package/src/core/utils/cache-manager.js +1 -1
- package/src/core/utils/component-engine.js +1 -1
- package/src/core/utils/context-builder.js +1 -1
- package/src/core/utils/datetime-formatter.js +1 -1
- package/src/core/utils/datetime-parser.js +1 -1
- package/src/core/utils/db.js +1 -1
- package/src/core/utils/logger.js +1 -1
- package/src/core/utils/payload-loader.js +1 -1
- package/src/core/utils/security-checks.js +1 -1
- package/src/middleware/body-options.js +1 -1
- package/src/middleware/cors.js +1 -1
- package/src/middleware/idempotency.js +1 -1
- package/src/middleware/rate-limiter.js +1 -1
- package/src/middleware/request-logger.js +1 -1
- package/src/middleware/security-headers.js +1 -1
- package/src/models/base-model-mysql.js +1 -1
- package/src/models/base-model-oracle.js +1 -1
- package/src/models/base-model-sqlite.js +1 -1
- package/src/models/base-model.js +1 -1
- package/src/pro/caching/redis-client.js +1 -1
- package/src/pro/caching/redis-helper.js +1 -1
- package/src/pro/consumers/baseConsumer.js +1 -1
- package/src/pro/consumers/declarativeMapper.js +1 -1
- package/src/pro/consumers/handlers/apiHandler.js +1 -1
- package/src/pro/consumers/handlers/consoleHandler.js +1 -1
- package/src/pro/consumers/handlers/databaseHandler.js +1 -1
- package/src/pro/consumers/handlers/index.js +1 -1
- package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
- package/src/pro/consumers/index.js +1 -1
- package/src/pro/consumers/messageTransformer.js +1 -1
- package/src/pro/consumers/validator.js +1 -1
- package/src/pro/database/base-model-mysql.js +1 -1
- package/src/pro/database/base-model-oracle.js +1 -1
- package/src/pro/database/base-model-sqlite.js +1 -1
- package/src/pro/database/db-mysql.js +1 -1
- package/src/pro/database/db-oracle.js +1 -1
- package/src/pro/database/db-sqlite.js +1 -1
- package/src/pro/excel/excel-generator.js +1 -1
- package/src/pro/excel/excel-parser.js +1 -1
- package/src/pro/excel/export-service.js +1 -1
- package/src/pro/excel/export_handler.js +1 -1
- package/src/pro/excel/import-service.js +1 -1
- package/src/pro/excel/import-validator.js +1 -1
- package/src/pro/excel/import_handler.js +1 -1
- package/src/pro/excel/upsert-builder.js +1 -1
- package/src/pro/idgen/idgen-routes.js +1 -1
- package/src/pro/integrations/lookup-resolver.js +1 -1
- package/src/pro/integrations/upload-handler-v2.js +1 -1
- package/src/pro/integrations/upload-handler.js +1 -1
- package/src/pro/integrations/webhook.js +1 -1
- package/src/pro/locking/lock-routes.js +1 -1
- package/src/pro/locking/resource-lock-manager.js +1 -1
- package/src/pro/messaging/kafkaConsumerService.js +1 -1
- package/src/pro/messaging/kafkaService.js +1 -1
- package/src/pro/messaging/messagehubService.js +1 -1
- package/src/pro/messaging/rabbitmqService.js +1 -1
- package/src/pro/scheduler/job-manager.js +1 -1
- package/src/pro/scheduler/job-routes.js +1 -1
- package/src/pro/scheduler/job-validator.js +1 -1
- package/src/pro/storage/base-storage-provider.js +1 -1
- package/src/pro/storage/file-metadata-helper.js +1 -1
- package/src/pro/storage/index.js +1 -1
- package/src/pro/storage/local-storage-provider.js +1 -1
- package/src/pro/storage/s3-storage-provider.js +1 -1
- package/src/pro/storage/upload-cleanup-job.js +1 -1
- package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
- package/src/pro/storage/upload-pending-tracker.js +1 -1
- package/src/pro/websocket/broadcast-helper.js +1 -1
- package/src/pro/websocket/index.js +1 -1
- package/src/pro/websocket/livesync-server.js +1 -1
- package/src/pro/websocket/ws-broadcaster.js +1 -1
- package/src/services/export-service.js +1 -1
- package/src/services/import-service.js +1 -1
- package/src/services/kafkaConsumerService.js +1 -1
- package/src/services/kafkaService.js +1 -1
- package/src/services/messagehubService.js +1 -1
- package/src/services/rabbitmqService.js +1 -1
- package/src/utils/cache-invalidation-registry.js +1 -1
- package/src/utils/cache-manager.js +1 -1
- package/src/utils/component-engine.js +1 -1
- package/src/utils/config-extractor.js +1 -1
- package/src/utils/consumerLogger.js +1 -1
- package/src/utils/context-builder.js +1 -1
- package/src/utils/dashboard-helpers.js +1 -1
- package/src/utils/dateHelper.js +1 -1
- package/src/utils/datetime-formatter.js +1 -1
- package/src/utils/datetime-parser.js +1 -1
- package/src/utils/db-bootstrap.js +1 -1
- package/src/utils/db-mysql.js +1 -1
- package/src/utils/db-oracle.js +1 -1
- package/src/utils/db-sqlite.js +1 -1
- package/src/utils/db.js +1 -1
- package/src/utils/demo-generator.js +1 -1
- package/src/utils/excel-generator.js +1 -1
- package/src/utils/excel-parser.js +1 -1
- package/src/utils/file-watcher.js +1 -1
- package/src/utils/id-generator.js +1 -1
- package/src/utils/idempotency-manager.js +1 -1
- package/src/utils/import-validator.js +1 -1
- package/src/utils/license-client.js +1 -1
- package/src/utils/lock-manager.js +1 -1
- package/src/utils/logger.js +1 -1
- package/src/utils/lookup-resolver.js +1 -1
- package/src/utils/payload-loader.js +1 -1
- package/src/utils/processor-response.js +1 -1
- package/src/utils/rabbitmq.js +1 -1
- package/src/utils/redis-client.js +1 -1
- package/src/utils/redis-helper.js +1 -1
- package/src/utils/request-scope.js +1 -1
- package/src/utils/security-checks.js +1 -1
- package/src/utils/service-resolver.js +1 -1
- package/src/utils/shutdown-coordinator.js +1 -1
- package/src/utils/soft-delete-dashboard-guard.js +1 -1
- package/src/utils/sql-table-extractor.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';function
|
|
1
|
+
'use strict';const a0_0x171e42=a0_0x5387;function a0_0x49e8(){const _0x5aaa18=['Bg9N','zgLYzwn0B3jPzxm','CMvSyxrPDMu','mJC3mdG5EKvMB3Lu','lMPZ','C3rVCa','Cgf0Aa','D2f0y2HLCNm','y3DK','icbBv0fuq0HDifDHCM5PBMC6ierPCMvJDg9YEsbUB3qGzM91BMqSihnRAxbWAw5NoIa','odrHz3LKA1K','zgvIB3vUy2vuAw1LCG','Aw5JBhvKzxm','y2XVC2u','mZmWmdKYsxHlzxPR','D2f0y2G','icbBv0fuq0HDifDHCM5PBMC6iezHAwXLzcb0BYbZzxr1Ccb3yxrJAgvYigzVCIa','BwvZC2fNzq','nZq0mZq0rfnutxb2','zxH0BMfTzq','rMnqEvi','zxHPC3rZu3LUyW','ndaYnZGZDKrUExL3','zgvIB3vUy2vnCW','mtqYodaYohberuHyCG','mtG0otm0nvnUChvcsW','mhWYFdv8m3W0Fde','x2rLyM91BMnL','ntmXodGWt0z3wvj3'];a0_0x49e8=function(){return _0x5aaa18;};return a0_0x49e8();}(function(_0x9bc9c8,_0x246e59){const _0x3da00c=a0_0x5387,_0x43be4b=_0x9bc9c8();while(!![]){try{const _0x330d73=parseInt(_0x3da00c(0x11a))/0x1+-parseInt(_0x3da00c(0x116))/0x2+-parseInt(_0x3da00c(0x12d))/0x3+parseInt(_0x3da00c(0x12f))/0x4+-parseInt(_0x3da00c(0x130))/0x5+-parseInt(_0x3da00c(0x121))/0x6*(-parseInt(_0x3da00c(0x125))/0x7)+-parseInt(_0x3da00c(0x129))/0x8;if(_0x330d73===_0x246e59)break;else _0x43be4b['push'](_0x43be4b['shift']());}catch(_0x2e07ea){_0x43be4b['push'](_0x43be4b['shift']());}}}(a0_0x49e8,0x6943f));const fs=require('fs'),path=require(a0_0x171e42(0x11d));function a0_0x5387(_0x42033f,_0x34904d){_0x42033f=_0x42033f-0x115;const _0x49e847=a0_0x49e8();let _0x5387f7=_0x49e847[_0x42033f];if(a0_0x5387['dudQbV']===undefined){var _0x2269dc=function(_0x477daa){const _0xcc43d0='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x16770e='',_0x144663='';for(let _0x13ea03=0x0,_0x5a0584,_0x262dee,_0x50cc83=0x0;_0x262dee=_0x477daa['charAt'](_0x50cc83++);~_0x262dee&&(_0x5a0584=_0x13ea03%0x4?_0x5a0584*0x40+_0x262dee:_0x262dee,_0x13ea03++%0x4)?_0x16770e+=String['fromCharCode'](0xff&_0x5a0584>>(-0x2*_0x13ea03&0x6)):0x0){_0x262dee=_0xcc43d0['indexOf'](_0x262dee);}for(let _0x3be25d=0x0,_0x3b868d=_0x16770e['length'];_0x3be25d<_0x3b868d;_0x3be25d++){_0x144663+='%'+('00'+_0x16770e['charCodeAt'](_0x3be25d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x144663);};a0_0x5387['DhrWKv']=_0x2269dc,a0_0x5387['hkWklW']={},a0_0x5387['dudQbV']=!![];}const _0x40d32e=_0x49e847[0x0],_0x4054ff=_0x42033f+_0x40d32e,_0x56064b=a0_0x5387['hkWklW'][_0x4054ff];return!_0x56064b?(_0x5387f7=a0_0x5387['DhrWKv'](_0x5387f7),a0_0x5387['hkWklW'][_0x4054ff]=_0x5387f7):_0x5387f7=_0x56064b,_0x5387f7;}class FileWatcher{constructor(_0x2b3df4={}){const _0xc57b36=a0_0x171e42,_0x192baf={'lQnEU':_0xc57b36(0x131),'tImtl':_0xc57b36(0x11b)},_0x435820=_0x192baf['lQnEU']['split']('|');let _0x1656f8=0x0;while(!![]){switch(_0x435820[_0x1656f8++]){case'0':this[_0xc57b36(0x118)]=_0x2b3df4['directories']||[];continue;case'1':this[_0xc57b36(0x122)]=null;continue;case'2':this['extensions']=_0x2b3df4['extensions']||[_0x192baf['tImtl'],'.json'];continue;case'3':this['onChange']=_0x2b3df4['onChange']||(()=>{});continue;case'4':this['watchers']=[];continue;case'5':this[_0xc57b36(0x12e)]=_0x2b3df4[_0xc57b36(0x12e)]||0x1f4;continue;}break;}}['start'](){const _0x3bc46d=a0_0x171e42;for(const _0x1fe948 of this[_0x3bc46d(0x118)]){if(!fs[_0x3bc46d(0x12c)](_0x1fe948)){console['log'](_0x3bc46d(0x120)+(path['relative'](process[_0x3bc46d(0x11f)](),_0x1fe948)||_0x1fe948));continue;}try{const _0x241e30=fs[_0x3bc46d(0x126)](_0x1fe948,{'recursive':!![]},(_0x429e1f,_0x2b5a1c)=>{const _0x39066a=_0x3bc46d;if(!_0x2b5a1c)return;const _0x190c59=path[_0x39066a(0x12a)](_0x2b5a1c)['toLowerCase']();if(!this['extensions'][_0x39066a(0x123)](_0x190c59))return;this[_0x39066a(0x115)](_0x2b5a1c);});_0x241e30['on']('error',_0x4f720a=>{const _0x2f763d=_0x3bc46d;console['log']('\x20\x20[WATCH]\x20Warning:\x20Watcher\x20error\x20on\x20'+path[_0x2f763d(0x119)](process['cwd'](),_0x1fe948)+':\x20'+_0x4f720a[_0x2f763d(0x128)]);}),this[_0x3bc46d(0x11e)]['push'](_0x241e30);const _0x3e5206=path['relative'](process[_0x3bc46d(0x11f)](),_0x1fe948)||_0x1fe948;console['log']('\x20\x20[WATCH]\x20Watching:\x20'+_0x3e5206+'/\x20(recursive)');}catch(_0x28e898){console[_0x3bc46d(0x117)](_0x3bc46d(0x127)+path[_0x3bc46d(0x119)](process[_0x3bc46d(0x11f)](),_0x1fe948)+':\x20'+_0x28e898['message']);}}}[a0_0x171e42(0x11c)](){const _0x26bcdc=a0_0x171e42;for(const _0x366dec of this[_0x26bcdc(0x11e)]){try{_0x366dec[_0x26bcdc(0x124)]();}catch(_0x33447e){}}this['watchers']=[],this[_0x26bcdc(0x122)]&&(clearTimeout(this['debounceTimer']),this['debounceTimer']=null);}[a0_0x171e42(0x115)](_0x56de7a){const _0x2ce0c6=a0_0x171e42,_0xa78848={'FcPyR':function(_0x10bdf4,_0x535f39){return _0x10bdf4(_0x535f39);}};this['debounceTimer']&&_0xa78848[_0x2ce0c6(0x12b)](clearTimeout,this['debounceTimer']),this['debounceTimer']=setTimeout(()=>{const _0x5e985d=_0x2ce0c6;this[_0x5e985d(0x122)]=null,this['onChange'](_0x56de7a);},this[_0x2ce0c6(0x12e)]);}}module['exports']=FileWatcher;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';const a0_0x7c9815=a0_0x39fa;(function(_0x560650,_0x498722){const _0x346ec1=a0_0x39fa,_0x10d117=_0x560650();while(!![]){try{const _0x360dd1=-parseInt(_0x346ec1(0xbd))/0x1+-parseInt(_0x346ec1(0x119))/0x2*(-parseInt(_0x346ec1(0x92))/0x3)+-parseInt(_0x346ec1(0x13b))/0x4+-parseInt(_0x346ec1(0xb1))/0x5+parseInt(_0x346ec1(0x121))/0x6*(parseInt(_0x346ec1(0xff))/0x7)+-parseInt(_0x346ec1(0xb5))/0x8+parseInt(_0x346ec1(0x10e))/0x9;if(_0x360dd1===_0x498722)break;else _0x10d117['push'](_0x10d117['shift']());}catch(_0x2e4717){_0x10d117['push'](_0x10d117['shift']());}}}(a0_0x4709,0x870ef));function a0_0x39fa(_0x22ec58,_0x225ae6){_0x22ec58=_0x22ec58-0x86;const _0x470934=a0_0x4709();let _0x39faa3=_0x470934[_0x22ec58];if(a0_0x39fa['jnBXkF']===undefined){var _0x431939=function(_0x74a1f2){const _0x42398d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4c7875='',_0x2ae8b7='';for(let _0x89ce8b=0x0,_0x192846,_0x1b3a80,_0xdc82cc=0x0;_0x1b3a80=_0x74a1f2['charAt'](_0xdc82cc++);~_0x1b3a80&&(_0x192846=_0x89ce8b%0x4?_0x192846*0x40+_0x1b3a80:_0x1b3a80,_0x89ce8b++%0x4)?_0x4c7875+=String['fromCharCode'](0xff&_0x192846>>(-0x2*_0x89ce8b&0x6)):0x0){_0x1b3a80=_0x42398d['indexOf'](_0x1b3a80);}for(let _0x15f772=0x0,_0x46af21=_0x4c7875['length'];_0x15f772<_0x46af21;_0x15f772++){_0x2ae8b7+='%'+('00'+_0x4c7875['charCodeAt'](_0x15f772)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2ae8b7);};a0_0x39fa['mQdgTs']=_0x431939,a0_0x39fa['HXzbdy']={},a0_0x39fa['jnBXkF']=!![];}const _0x4e4e74=_0x470934[0x0],_0x2a5ae9=_0x22ec58+_0x4e4e74,_0x4b2e26=a0_0x39fa['HXzbdy'][_0x2a5ae9];return!_0x4b2e26?(_0x39faa3=a0_0x39fa['mQdgTs'](_0x39faa3),a0_0x39fa['HXzbdy'][_0x2a5ae9]=_0x39faa3):_0x39faa3=_0x4b2e26,_0x39faa3;}const crypto=require('crypto'),redisClient=require(a0_0x7c9815(0xd9)),{logger}=require('./logger'),idempotencyManager=require(a0_0x7c9815(0x147)),ALLOWED_FORMATS=new Set([a0_0x7c9815(0xe1),a0_0x7c9815(0x13e),'yyyymm','yyyymmdd']),RESOURCE_REGEX=/^[A-Za-z0-9_-]{1,64}$/,PREFIX_REGEX=/^[A-Za-z0-9_-]{0,32}$/,SEPARATOR_FORBIDDEN=/:/,MAX_NUM_DIGITS=0xc,MIN_NUM_DIGITS=0x1,MAX_PIN_DIGITS=0xc,MIN_PIN_DIGITS=0x4,MAX_PATTERN_LENGTH=0x100,MAX_TTL=0x278d00,MAX_RETRY_LIMIT=0x64,MAX_IDEMPOTENCY_KEY_LENGTH=0x80,RESERVATION_TOKEN_REGEX=/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i,MIN_RESERVE_TTL=0xa,MAX_RESERVE_TTL=0x15180,DEFAULT_RESERVE_TTL=0x258,RESERVE_REAP_BATCH=0x40,CHARSET_DIGIT=a0_0x7c9815(0xdb),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=a0_0x7c9815(0xc8),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_0x7c9815(0xf7),LUA_RESERVE_NUMBER='\x0alocal\x20unpk\x20=\x20unpack\x20or\x20table.unpack\x0a\x0a--\x20Step\x201:\x20lazy\x20reap\x20expired\x20reservations\x20(cap\x20RESERVE_REAP_BATCH)\x0alocal\x20reaped\x20=\x200\x0alocal\x20nowMs\x20=\x20ARGV[7]\x0alocal\x20rsvPrefix\x20=\x20ARGV[8]\x0alocal\x20expired\x20=\x20redis.call(\x27ZRANGEBYSCORE\x27,\x20KEYS[3],\x20\x27-inf\x27,\x20\x27(\x27\x20..\x20nowMs,\x20\x27LIMIT\x27,\x200,\x2064)\x0afor\x20i\x20=\x201,\x20#expired\x20do\x0a\x20\x20local\x20expToken\x20=\x20expired[i]\x0a\x20\x20local\x20expRsvKey\x20=\x20rsvPrefix\x20..\x20expToken\x0a\x20\x20local\x20expCounter\x20=\x20redis.call(\x27HGET\x27,\x20expRsvKey,\x20\x27counter\x27)\x0a\x20\x20if\x20expCounter\x20then\x0a\x20\x20\x20\x20redis.call(\x27ZADD\x27,\x20KEYS[2],\x20expCounter,\x20expCounter)\x0a\x20\x20end\x0a\x20\x20redis.call(\x27DEL\x27,\x20expRsvKey)\x0a\x20\x20redis.call(\x27ZREM\x27,\x20KEYS[3],\x20expToken)\x0a\x20\x20reaped\x20=\x20reaped\x20+\x201\x0aend\x0a\x0a--\x20Step\x202:\x20allocate\x20counter\x20(ZPOPMIN\x20reuse\x20atau\x20INCR\x20seq)\x0alocal\x20counterInt\x0alocal\x20isReused\x20=\x200\x0aif\x20ARGV[1]\x20==\x20\x271\x27\x20then\x0a\x20\x20local\x20r\x20=\x20redis.call(\x27ZPOPMIN\x27,\x20KEYS[2],\x201)\x0a\x20\x20if\x20#r\x20>\x200\x20then\x0a\x20\x20\x20\x20counterInt\x20=\x20tonumber(r[1])\x0a\x20\x20\x20\x20isReused\x20=\x201\x0a\x20\x20end\x0aend\x0aif\x20not\x20counterInt\x20then\x0a\x20\x20counterInt\x20=\x20redis.call(\x27INCR\x27,\x20KEYS[1])\x0a\x20\x20local\x20cttl\x20=\x20tonumber(ARGV[2])\x0a\x20\x20if\x20cttl\x20>\x200\x20and\x20counterInt\x20==\x201\x20then\x0a\x20\x20\x20\x20redis.call(\x27EXPIRE\x27,\x20KEYS[1],\x20cttl)\x0a\x20\x20end\x0aend\x0a\x0a--\x20Step\x203:\x20write\x20reservation\x20hash\x20+\x20index\x20+\x20TTL\x0alocal\x20rsvKey\x20=\x20ARGV[4]\x0alocal\x20rsvTtlMs\x20=\x20tonumber(ARGV[5])\x0alocal\x20expiresAtMs\x20=\x20tonumber(ARGV[6])\x0alocal\x20nargs\x20=\x20#ARGV\x0alocal\x20fields\x20=\x20{}\x0afor\x20i\x20=\x209,\x20nargs\x20do\x0a\x20\x20fields[#fields\x20+\x201]\x20=\x20ARGV[i]\x0aend\x0aredis.call(\x27HSET\x27,\x20rsvKey,\x20\x27counter\x27,\x20counterInt,\x20\x27isReused\x27,\x20isReused,\x20unpk(fields))\x0aredis.call(\x27PEXPIRE\x27,\x20rsvKey,\x20rsvTtlMs)\x0aredis.call(\x27ZADD\x27,\x20KEYS[3],\x20expiresAtMs,\x20ARGV[3])\x0aredis.call(\x27EXPIRE\x27,\x20KEYS[3],\x20math.floor(rsvTtlMs\x20/\x201000)\x20+\x2060)\x0a\x0areturn\x20{\x20counterInt,\x20isReused,\x20reaped\x20}\x0a',LUA_CONFIRM_RESERVATION=a0_0x7c9815(0x126),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_0x7c9815(0xa6);function a0_0x4709(){const _0x350da9=['suqGr2vUzxjHDg9YihjHBMrVBsbPzgvTihjHy2uGBg9ZDcWGCMv0DxjUAw5NihDPBM5LCIbLBNzLBg9Wzq','x3vWzgf0zu1LDge','x3bHCNnLtNvTyMvY','uwvIuNm','x2j1AwXKqwn0AxzLs2v5','C2nHCMq','x2vUC3vYzuLUAxrPywXPEMvK','Bwf4uMv0CNK','cMLMihjLzgLZlMnHBgWOj0vysvnuuYCSieTfwvnBmv0Pid09idaGDgHLBGOGihjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqOGihjLDhvYBIb7idaGFqPLBMqkBg9JywWGAca9ihjLzgLZlMnHBgWOj0Hnr0vujYWGs0vzu1SXxsWGj2v4CgLYzxnbDcCSicDJB3vUDgvYjYWGj3zHBhvLjYWGj2zVCM1HDeTLEsCSicDPC1jLDxnLzcCSicDJCMvHDgvKqxqNkqPSB2nHBcbWCMv2rxHWAxjLC0f0id0GAfSXxqPSB2nHBcbUzxDuDgXnCYa9ihrVBNvTyMvYkefsr1zBmL0PcMXVy2fSig5LD0v4Ce1Zid0GDg9UDw1IzxiOqvjhvLSZxsKkCMvKAxmUy2fSBcGNuevyueLsrsCSieTfwvnBmv0Sig5LD1r0Be1ZkqPYzwrPCY5JywXSkcDiu0vujYWGs0vzu1SXxsWGj2v4CgLYzxnbDcCSiefsr1zBnf0PcNjLzgLZlMnHBgWOj1PbreqNlcblrvLtwZjDlcbUzxDfEhbnCYWGqvjhvLSXxsKkCMvKAxmUy2fSBcGNrvHqsvjfjYWGs0vzu1SYxsWGBwf0Ac5MBg9VCIHUzxDuDgXnCYaVideWmdaPicSGnJaPcNjLDhvYBIb7ideSihbYzxzfEhbPCMvZqxqSigHBmL0SigHBm10SigHBnf0SigHBnv0SigHBnL0GFqO','z016B0q','surhru5FuKvtrvrFtK9ux0fmte9xruq','uMfUzg9TihjLC2vYDMf0Aw9UihvUzg8GzxjYB3iGkg9YCgHHBIbZBg90ig1HEsbYzw1HAw4P','z2v0uMvZzxj2yxrPB24','Aw1jt0u','AwrNzw5FBNvTyMvYx2LKzw1FBg9Zzxi','qxH5zLG','BgHwvxu','suqGr2vUzxjHDg9YigLZigrPC2fIBgvK','Cg93','mtGZmdu0nwvbDhPtAq','q1jYsue','x2j1AwXKu2vXs2v5','qwTftvO','oteYnJGWvNvmuMnI','suqGr2vUzxjHDg9YihjLC2vYDMf0Aw9UignVBMzPCM1LzdOG','wwn2B2S','r0DJshO','suqGr2vUzxjHDg9YihjLC2vYDMf0Aw9Uigv4DgvUzgvKoIa','C2fKza','A2vUwKi','qxLpuKm','nZK0ntGYy1nhufPe','BgvUz3rO','AwrNzw5FCMvZzxj2zv92ywX1zv9WzxjZAxn0x2vYCM9Y','swrLBxbVDgvUy3KGC3rVCMuGzxjYB3i','x2j1AwXKtwv0yuTLEq','CNn2oG','x3zHBgLKyxrLtNvTyMvYugfYyw1Z','AxnjBNrLz2vY','x3jLDhjPzxzLswrLBunHy2HL','x2j1AwXKuMvZzxj2yxrPB25lzxLqCMvMAxG','z2v0','mdeYmZq1nJC4owfIy2rLzG','lwrPz2L0ignHCgfJAxr5icG','uvn0uMi','suqGr2vUzxjHDg9YihjHBMrVBtOG','AxnZDwvK','z252zvm','y29Kzq','DhrS','CMvZB3vYy2u','Bg5duLC','CgLWzwXPBMu','suqGr2vUzxjHDg9YihjLC2v0oIbYyw5KB206','AhnVu1y','AwrNzw5FCMfUzg9Tx2LKzw1FBg9Zzxi','x2nVDw50zxjuveXnyxa','CgfKzgvKicHNB3q6ia','Bwv0ytO','lI9YzwrPCY1JBgLLBNq','sw52ywXPzcbWyxr0zxjUoIbTDxn0ignVBNrHAw4GyxqGBgvHC3qGB25LihbSywnLAg9SzgvYignOyxjHy3rLCIaOos9ol0eVys9ml1GVEc9il2GP','mdeYmZq1nJC4oq','surhru5Fsu5wquXjrf9nt0rf','x2j1AwXKsxnZDwvKs2v5','AuHXrLC','CMfUzg9T','q0zZCgi','Dgv4Da','tuLrwMC','x2TLEvbYzwzPEa','suqGr2vUzxjHDg9YignVBMzPzYbPBML0AwfSAxPLzcaTigvUywjSzwq6ia','yM9VBgvHBG','CgfKu3rHCNq','Dg9ju09tDhjPBMC','CNn2s2v5','lcbNB3qG','x3rLEhq','tNvTyMvYignVDw50zxiGCgfYDcbTDxn0igjLigv4ywn0BhKG','C2v0zxG','x3zHBgLKyxrLuMvZB3vYy2u','x3zHBgLKyxrLvfrm','x3zHBgLKyxrLtwf4uMv0CNK','x2j1AwXKrM9YBwf0s2v5','vgPcC28','icHNB3q6ia','CgLU','sLLNwMu','AwrNzw5Fy29UzMLNx2LUAxq','q255CKi','cNjLzgLZlMnHBgWOj1PbreqNlcblrvLtwZfDlcbbuKDwwZfDlcbbuKDwwZfDkqPSB2nHBcb0DgWGpsb0B251BwjLCIHbuKDwwZjDkqPPzIb0DgWGpIaWihrOzw4kicbYzwrPCY5JywXSkcDfwfbjuKuNlcblrvLtwZfDlcb0DgWPcMvUzaPYzxr1CM4GmqO','yNvPBgrezxrLCM1PBMLZDgLJs2v5','x2DLDfjLC2vYDMf0Aw9Uq29UDgv4Da','AwrNzw5FAwrLBv9UEf9YywnLx2XVC3rFyNv0x2vTChr5','AwrNzw5FCMfUzg9Tx2DLBMvYyxrLza','EK9cDLa','zwvUrfe','yKjPyxm','mteXndm2nvjdB01qAa','BwvZC2fNzq','x2zVCM1HDe51BwjLCG','qNrRseW','u0vuie5yigzHAwXLzcbIDxqGy2fJAguGr0vuihjLDhvYBMvKigvTChr5iokaLcbMywXSAw5NigjHy2SGDg8GB3DUihjLC3vSDa','sw52ywXPzcbKAwDPDhm6ig11C3qGyMuGAw50zwDLCIa','C3rYAw5N','z2v0sw5MBW','AwrNzw5FCMvZzxj2yxrPB25FzxH0zw5Kzwq','vw5RBM93BIbMB3jTyxq6ia','x2rLzMf1BhrqAw5eAwDPDhm','surhru5Fsu5wquXjrf9gt1jnqvq','uMvZzxj2yxrPB24GBM90igzVDw5Kig9YigfSCMvHzhKGy29UC3vTzwq6ia','x3n0B3jLswrLBunHy2HLtLG','BNvTyMvY','mtyWnZq1odviB01irvy','vwPJrxq','Dg9Rzw4','DhrStxm','z2vcqMK','uvfUzhy','x3zHBgLKyxrLugf0DgvYBG','x2j1AwXKuMv1C2vlzxK','BM93','xLXKEW','DhLhqvC','mZiWmhLQtwLXwq','x3n0B3jLswrLBunHy2HL','surhru5Fsu5wquXjrf9trvbbuKfut1i','AgDLDgfSBa','tNvTyMvYigrHDgvqCMvMAxGGAw52ywXPzcbMB3iGzM9YBwf0ia','x2LUAxrdB25MAwC','tNvTyMvYigrVzxmGBM90ig1HDgnOigv4CgvJDgvKihrLEhqGzM9YBwf0icHNB3q6ia','AwrNzw5FBNvTyMvYx3jLBgvHC2vK','nMT4CuHOqG','CMvZzxj2zv9Jyw5JzwW','y2fUy2vSuMvZzxj2yxrPB24','C2XWCfK','CMvSzwfZzwrbDa','cMLMihjLzgLZlMnHBgWOj0vysvnuuYCSieTfwvnBmv0Pid09idaGDgHLBGOGihjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqOGihjLDhvYBIb7idaGFqPLBMqkBg9JywWGAca9ihjLzgLZlMnHBgWOj0Hnr0vujYWGs0vzu1SXxsWGj2nVDw50zxiNlcaNDMfSDwuNlcaNzM9YBwf0s2v5jYWGj2LZuMv1C2vKjYWGj2nYzwf0zwrbDcCSicDLEhbPCMvZqxqNkqPYzwrPCY5JywXSkcDeruWNlcblrvLtwZfDkqPYzwrPCY5JywXSkcDAuKvnjYWGs0vzu1SYxsWGqvjhvLSXxsKkCMv0DxjUihSGmsWGAfSXxsWGAfSYxsWGAfSZxsWGAfS0xsWGAfS1xsWGAfS2xsb9cG','AhnLDa','seXjz0m','ChjLzML4','surhru5FuKvtrvjwrv9eruzbvuXux1ruta','sw52ywXPzcbUDw1eAwDPDhm6ig11C3qGyMuGAw50zwDLCIa','sw52ywXPzcbYzxnLCNzHDgLVBIb0DgW6ig11C3qGyMuGAw50zwDLCIa','Bw9Kzq','wujbEeC','wuvdDNm','surhru5FreLtqujmruq','whDsAu4','x3vUzg9syw5KB21szxnLCNzHDgLVBG','uuz6qNO','suqGr2vUzxjHDg9YigLZigrPC2fIBgvKicHZzxqGsurhru5Fru5bqKXfrd10CNvLkq','BMfTzq','Bwf0y2G','AwrNzw5FAwrLBv9SB3nLCL9YzwXLyxnLx2vYCM9Y','AgfZ','surhru5FuKvtrvjwqvrjt05FtK9ux0zpvu5e','A21dr1u','oty4mZqWDgT1Cfzh','ignOyxjZicHNB3qGBgvUz3rOoIa','x3zHBgLKyxrLswrLBxbVDgvUy3LlzxK','ExL5Eq','x2LKzw1uveW','Dhj1zq','uMvZzxqGB3bLCMf0Aw9Uig5VDcbHBgXVD2vKicHZzxqGsurhru5FquXmt1DFuKvtrvq9Dhj1zsb0BYbLBMfIBguP','serPu1a','u3bRyK8','surhru5Fvu5juvvfx1jfvfjzx0vysefvu1rfra','C2HuAhK','ze90Cem','lI9PzgvTCg90zw5JEs1Tyw5Hz2vY','surhru5Fq09vtLrfuL9uveXFrefjtfK','CgfYC2u','zgf0zvbYzwzPEa','zw5HyMXLza','DvvyDgG','zxH0zw5KuMvZzxj2yxrPB24','t3LzEva','B0fUzMC','icH0B2TLBJ0','AM9PBG','vxLpEhG','y291BNrLCKLUDcbTDxn0igjLihbVC2L0AxzLigLUDgvNzxiGkgDVDdOG','CMDJt2u','x2j1AwXKuMvZzxj2yxrPB25jBMrLEeTLEq','rMfPBgvKihrVignHBMnLBcbYzxnLCNzHDgLVBIbMB3iGAwrLBxbVDgvUy3KGBg9Zzxi','CMvZzxj2zurLzMf1BhruveW','zM9YBwf0s2v5','x2DLDenVDw50zxjuveW','zM9YBwf0','x2rLzMf1BhrdB2rLugf0DgvYBG','ywXS','sw52ywXPzcbWyxr0zxjUoIbTDxn0igjLihn0CMLUzYaXlq','x2j1AwXKuMvZzxj2yxrPB25lzxK','surhru5Fq09vtLrfuL9uveXFtu9oveHmwq','AwrNzw5FCMvZzxj2zv9VDMvYzMXVD19JB21Wzw5ZyxrPB25FzxjYB3i','AxnszxvZzwq','EurVrfi','z2v0q2XPzw50','AwrLBxbVDgvUy3LlzxK','zgvS','lcaR','x2rLzMf1BhrtzxjPywXqyxr0zxjU','x2rLzMf1BhrnyxHszxrYEq','D21grNq','CMv1C2u6','x2j1AwXKswrLBuTLEq','surhru5Fsu5wquXjrf9qqvrurvjo','v0XXAMK','zw52','CunUC3m','CNn2swr4s2v5','C3rYAw5NAwz5','wejHs2G','x2vUywjSzwq','A2v5uhjLzML4','Dg9mB3DLCKnHC2u','surhru5Fsu5wquXjrf9srvnpvvjdrq','CwfJs0K','y1PyA1G','Dhz4u2W','x2DLBMvYyxrLrNjVBvbHDhrLCM4','Cgf0DgvYBG','CMy6AwrNzw46','x3jLC2vYDMvnyxHuveW','Efburee','AwrNzw5FCMvZzxq','CMvZzxj2zq','ChvZAa','AwrNzw5FCMvZzxj2zv9PzgvTx2XVC2vY','x3zHBgLKyxrLuMvZzxj2yxrPB25uB2TLBG','vLjjr0e','AwrLBvruta','surhru5Fq09vtLrfuL9pvKvsrKXpvW','sw52ywXPzcbYzxnLCNzHDgLVBIb0B2TLBJOGBxvZDcbIzsbHihzHBgLKifvvsuqGzM9YBwf0icHNB3q6ia','veTSAxq','C2vXoG','C2vWyxjHDg9Y','z2vUzxjHDgvKqxq','x2fSBg93uMvZzxq','z2v0tw9UDgG','BNvTrgLNAxrZ','rKT3vuy','v1vgEvq','surhru5Frevgqvvmvf9trvjjquXFuefuvevstG','zgvMyxvSDfnLCMLHBfbHDhrLCM4','C3rVCMvK','x3L5ExLTBv8','CMv1C2u','x3zHBgLKyxrLuMvZzxj2zvruta','rKPytge','z3jdA2C','y3jLyxrLzef0','ExL5Ew1T','x3bHzdi','y2TMrvq','suqGr2vUzxjHDg9YihjLC2v0oIa','CMvZzxq','wxnSD28','surhru5Fsu5wquXjrf9ovu1crvi','ExL5Ew1Tzgq','y291BNrLCKLUDa','tNvTyMvYihbYzwzPEcbTAxnTyxrJAdOGzxHWzwn0zwqG','x3jLC2vYDMvezwzHDwX0vfrm','x2LUAxrPywXPEMvK','C2vX','q25Uv1C','ywXSB3DszxnLDa','Aw5MBW','AwrNzw5FCMvZzxj2zv9PzgvTx2XVC2vYx2nHBMnLBf9LCNjVCG','AxnZDwvKoG','vwP5zMC','yNb1zNy','zxzHBa','sw52ywXPzcbMB3jTyxq6ia','z2v0rgf0zq','surhru5Fsu5wquXjrf9esuDjvfm','mJm0zuHcs0rs','DMfSDwu','DgvZDa','zgvMyxvSDenVzgvqyxr0zxjU','suqGr2vUzxjHDg9YihjLC2vYDMuGAwrLBsbYywnLigXVC3qSihjLDhvYBMLUzYb3Aw5UzxiGzw52zwXVCgu','tNvTyMvYigrVzxmGBM90ig1HDgnOigv4CgvJDgvKigzVCM1HDcbWCMvMAxG','sMv5zhe','sLzsrvG','AwrNzw4','DgLNC2q','D2fYBG','zgLNAxrZ'];a0_0x4709=function(){return _0x350da9;};return a0_0x4709();}class IdGeneratorError extends Error{constructor(_0x5ba9b5,_0x461b56,_0x2bf8c1=null){const _0x3acc86=a0_0x7c9815,_0x6af0db={'BtkHL':function(_0x421549,_0x33eb21){return _0x421549||_0x33eb21;}};super(_0x6af0db[_0x3acc86(0x102)](_0x461b56,_0x5ba9b5)),this[_0x3acc86(0x135)]='IdGeneratorError',this[_0x3acc86(0xce)]=_0x5ba9b5,this['details']=_0x2bf8c1;}}class IdGenerator{constructor(){const _0x4ba892=a0_0x7c9815;this[_0x4ba892(0x1a5)]=![],this['_enabled']=null,this['_keyPrefix']=null,this[_0x4ba892(0x13f)]=null,this['_allowReset']=null,this['_defaultMaxRetry']=null,this[_0x4ba892(0x109)]=null,this[_0x4ba892(0x167)]=null,this[_0x4ba892(0x15b)]=null,this[_0x4ba892(0xd6)]=null,this['_reserveDefaultTTL']=null,this['_reserveMaxTTL']=null;}['_initConfig'](){const _0x4b0f35=a0_0x7c9815,_0x1e57ef={'zOBvP':_0x4b0f35(0x140),'poDXe':function(_0x1b028a,_0x1eb79b,_0x37359d){return _0x1b028a(_0x1eb79b,_0x37359d);},'rllfr':'9999-9999','UyOxx':function(_0x52ae43,_0x2f8604,_0x27bf4b){return _0x52ae43(_0x2f8604,_0x27bf4b);}};this['_keyPrefix']=_0x4b0f35(0x17c),this[_0x4b0f35(0x173)]=process[_0x4b0f35(0x16e)]['IDGEN_ENABLED']===_0x1e57ef[_0x4b0f35(0xfc)],this[_0x4b0f35(0x13f)]=parseInt(process['env']['IDGEN_IDEM_TTL'],0xa)||0x258,this[_0x4b0f35(0x18c)]=process['env']['IDGEN_ALLOW_RESET']===_0x1e57ef['zOBvP'],this[_0x4b0f35(0x168)]=_0x1e57ef['poDXe'](parseInt,process[_0x4b0f35(0x16e)]['IDGEN_DEFAULT_MAX_RETRY'],0xa)||0xa,this['_defaultPinDigits']=parseInt(process['env']['IDGEN_DEFAULT_PIN_DIGITS'],0xa)||0x6,this['_defaultSerialPattern']=process[_0x4b0f35(0x16e)][_0x4b0f35(0x191)]||'XXXX-XXXX-XXXX-XXXX',this['_defaultCodePattern']=process['env']['IDGEN_DEFAULT_CODE_PATTERN']||_0x1e57ef['rllfr'],this[_0x4b0f35(0xd6)]={'yyyymm':parseInt(process['env'][_0x4b0f35(0x15f)],0xa)||0x2a3000,'yyyymmdd':parseInt(process['env'][_0x4b0f35(0x148)],0xa)||0x2a300},this['_reserveDefaultTTL']=parseInt(process['env'][_0x4b0f35(0x12a)],0xa)||DEFAULT_RESERVE_TTL,this[_0x4b0f35(0x17d)]=_0x1e57ef[_0x4b0f35(0x152)](parseInt,process[_0x4b0f35(0x16e)]['IDGEN_RESERVE_MAX_TTL'],0xa)||MAX_RESERVE_TTL,this['_initialized']=!![],logger[_0x4b0f35(0x89)]({'event':_0x4b0f35(0xf5),'enabled':this['_enabled'],'idemTTL':this[_0x4b0f35(0x13f)],'allowReset':this[_0x4b0f35(0x18c)],'defaultMaxRetry':this['_defaultMaxRetry'],'defaultPinDigits':this[_0x4b0f35(0x109)],'reserveDefaultTTL':this[_0x4b0f35(0x1a4)],'reserveMaxTTL':this[_0x4b0f35(0x17d)]},_0x4b0f35(0xe4)+this[_0x4b0f35(0x173)]);}['_ensureInitialized'](){const _0x5bf09f=a0_0x7c9815;if(!this['_initialized'])this[_0x5bf09f(0x11e)]();}get[a0_0x7c9815(0x14b)](){const _0x4c0ff9=a0_0x7c9815;return this[_0x4c0ff9(0xa4)](),this['_enabled'];}get[a0_0x7c9815(0x174)](){const _0x6f8f32=a0_0x7c9815;return this['_ensureInitialized'](),this[_0x6f8f32(0xe3)];}get[a0_0x7c9815(0x185)](){const _0x57cdd5=a0_0x7c9815;return this['_ensureInitialized'](),this[_0x57cdd5(0x13f)];}get['allowReset'](){const _0x3dd36a=a0_0x7c9815;return this[_0x3dd36a(0xa4)](),this[_0x3dd36a(0x18c)];}get['defaultMaxRetry'](){const _0x366cf3=a0_0x7c9815;return this['_ensureInitialized'](),this[_0x366cf3(0x168)];}get['defaultPinDigits'](){const _0x2d39f0=a0_0x7c9815;return this[_0x2d39f0(0xa4)](),this[_0x2d39f0(0x109)];}get[a0_0x7c9815(0x192)](){const _0x57a028=a0_0x7c9815;return this[_0x57a028(0xa4)](),this[_0x57a028(0x167)];}get['defaultCodePattern'](){const _0x304e7f=a0_0x7c9815;return this[_0x304e7f(0xa4)](),this['_defaultCodePattern'];}get[a0_0x7c9815(0x157)](){const _0x3dd64d=a0_0x7c9815;return this[_0x3dd64d(0xa4)](),this['_reserveDefaultTTL'];}get['reserveMaxTTL'](){const _0x21c65e=a0_0x7c9815;return this[_0x21c65e(0xa4)](),this['_reserveMaxTTL'];}['isEnabled'](){const _0x5577ad=a0_0x7c9815;return this[_0x5577ad(0x14b)];}[a0_0x7c9815(0xed)](_0x40e100){const _0x48605b=a0_0x7c9815,_0x262bde={'Yslwo':function(_0x481989,_0x9d85f6){return _0x481989!==_0x9d85f6;}};if(_0x262bde[_0x48605b(0x19f)](typeof _0x40e100,_0x48605b(0x105))||!RESOURCE_REGEX[_0x48605b(0x94)](_0x40e100))throw new IdGeneratorError('IDGEN_INVALID_RESOURCE','Invalid\x20resource:\x20must\x20match\x20'+RESOURCE_REGEX+'\x20(got:\x20'+JSON['stringify'](_0x40e100)+')');}['_validateNumberParams'](_0x106236){const _0x3a5948=a0_0x7c9815,_0x40e600={'YECvs':function(_0x1e428e,_0x495b40){return _0x1e428e===_0x495b40;},'xUmxe':function(_0x4a42c1,_0x462778){return _0x4a42c1<_0x462778;},'HxJQq':function(_0x5314f1,_0x50ea0d){return _0x5314f1>_0x50ea0d;},'rhqrS':function(_0x2fb266,_0x5469c5){return _0x2fb266!==_0x5469c5;},'FJXLa':_0x3a5948(0x105),'PMCbu':'IDGEN_INVALID_PREFIX','YqIva':_0x3a5948(0x11b),'hsoSV':function(_0x4588a1,_0x5d6cb8){return _0x4588a1!==_0x5d6cb8;},'KoFjz':_0x3a5948(0xe5),'ZsLen':_0x3a5948(0x176)},{resource:_0x10801b,format:_0x327492,prefix:_0x33382f,separator:_0x896e1f,numDigits:_0xf4b09d,reuseDelete:_0x16f9c2}=_0x106236;this['_validateResource'](_0x10801b);const _0xcd6ee7=_0x40e600[_0x3a5948(0x12f)](typeof _0x327492,'string')?_0x327492['toLowerCase']():'';if(!ALLOWED_FORMATS['has'](_0xcd6ee7))throw new IdGeneratorError('IDGEN_INVALID_FORMAT','Invalid\x20format:\x20must\x20be\x20one\x20of\x20'+[...ALLOWED_FORMATS][_0x3a5948(0x151)](',\x20')+'\x20(got:\x20'+_0x327492+')');if(!Number[_0x3a5948(0xc4)](_0xf4b09d)||_0x40e600['xUmxe'](_0xf4b09d,MIN_NUM_DIGITS)||_0x40e600['HxJQq'](_0xf4b09d,MAX_NUM_DIGITS))throw new IdGeneratorError('IDGEN_INVALID_NUM_DIGITS',_0x3a5948(0x12b)+MIN_NUM_DIGITS+'-'+MAX_NUM_DIGITS+_0x3a5948(0xf2)+_0xf4b09d+')');const _0x32d609=_0x33382f==null?'':_0x33382f;if(_0x40e600['rhqrS'](typeof _0x32d609,_0x40e600[_0x3a5948(0x197)])||!PREFIX_REGEX[_0x3a5948(0x94)](_0x32d609))throw new IdGeneratorError(_0x40e600['PMCbu'],'Invalid\x20prefix:\x20must\x20match\x20'+PREFIX_REGEX+'\x20(got:\x20'+JSON[_0x3a5948(0x171)](_0x33382f)+')');const _0x49e864=_0x896e1f==null?'':_0x896e1f;if(typeof _0x49e864!=='string'||_0x49e864[_0x3a5948(0xbe)]>0x3||SEPARATOR_FORBIDDEN[_0x3a5948(0x94)](_0x49e864))throw new IdGeneratorError(_0x40e600['YqIva'],'Invalid\x20separator:\x20max\x203\x20char,\x20must\x20not\x20contain\x20\x27:\x27\x20(got:\x20'+JSON[_0x3a5948(0x171)](_0x896e1f)+')');if(_0x16f9c2!=null&&_0x40e600[_0x3a5948(0xd4)](typeof _0x16f9c2,_0x40e600['KoFjz']))throw new IdGeneratorError(_0x40e600['ZsLen'],'Invalid\x20reuseDelete:\x20must\x20be\x20boolean\x20(got:\x20'+typeof _0x16f9c2+')');return{'resource':_0x10801b,'format':_0xcd6ee7,'prefix':_0x32d609,'separator':_0x49e864,'numDigits':_0xf4b09d,'reuseDelete':_0x16f9c2===!![]};}[a0_0x7c9815(0x114)](_0x6e4d){const _0x25fcdf=a0_0x7c9815,_0x5066fd={'AyORC':function(_0x17d413,_0x4dd276){return _0x17d413!==_0x4dd276;},'xsipo':_0x25fcdf(0x105),'PZYrE':function(_0x4d24bf,_0x5365a4){return _0x4d24bf>_0x5365a4;},'FTwMH':'IDGEN_INVALID_PATTERN'};if(_0x5066fd[_0x25fcdf(0xbc)](typeof _0x6e4d,_0x5066fd['xsipo'])||_0x6e4d[_0x25fcdf(0xbe)]===0x0||_0x5066fd['PZYrE'](_0x6e4d['length'],MAX_PATTERN_LENGTH))throw new IdGeneratorError(_0x5066fd['FTwMH'],_0x25fcdf(0x15d)+MAX_PATTERN_LENGTH+_0x25fcdf(0x13c)+(_0x6e4d&&_0x6e4d['length'])+')');let _0x45023a=![];for(const _0x238851 of _0x6e4d){if(PLACEHOLDER_MAP[_0x238851]){_0x45023a=!![];break;}}if(!_0x45023a)throw new IdGeneratorError(_0x25fcdf(0x16c),_0x25fcdf(0xda));}[a0_0x7c9815(0xee)](_0x23d404){const _0x23e551=a0_0x7c9815;if(_0x23d404==null)return undefined;if(!Number[_0x23e551(0xc4)](_0x23d404)||_0x23d404<0x1||_0x23d404>MAX_TTL)throw new IdGeneratorError('IDGEN_INVALID_TTL','Invalid\x20ttl:\x20must\x20be\x20integer\x201-'+MAX_TTL+'\x20seconds\x20(got:\x20'+_0x23d404+')');return _0x23d404;}['_validateMaxRetry'](_0x5a63e5){const _0x4966ad=a0_0x7c9815,_0x359dd4={'kmCGU':function(_0x12f9e7,_0x2a6cec){return _0x12f9e7==_0x2a6cec;},'DtBFa':function(_0x47eff8,_0x264e0b){return _0x47eff8<_0x264e0b;}};if(_0x359dd4[_0x4966ad(0x13a)](_0x5a63e5,null))return this['defaultMaxRetry'];if(!Number['isInteger'](_0x5a63e5)||_0x359dd4['DtBFa'](_0x5a63e5,0x1)||_0x5a63e5>MAX_RETRY_LIMIT)throw new IdGeneratorError('IDGEN_INVALID_MAX_RETRY','Invalid\x20maxRetry:\x20must\x20be\x20integer\x201-'+MAX_RETRY_LIMIT+'\x20(got:\x20'+_0x5a63e5+')');return _0x5a63e5;}['_validateIdempotencyKey'](_0x295f78){const _0x41d0f9=a0_0x7c9815,_0x3d22a8={'sFAbC':_0x41d0f9(0x105),'rgcOe':function(_0x401143,_0x265b30){return _0x401143>_0x265b30;},'FeIfi':'IDGEN_INVALID_RESOURCE'};if(_0x295f78==null)return undefined;if(typeof _0x295f78!==_0x3d22a8['sFAbC']||_0x295f78[_0x41d0f9(0xbe)]===0x0||_0x3d22a8[_0x41d0f9(0x154)](_0x295f78[_0x41d0f9(0xbe)],MAX_IDEMPOTENCY_KEY_LENGTH))throw new IdGeneratorError(_0x3d22a8['FeIfi'],'Invalid\x20idempotencyKey:\x20must\x20be\x20string\x201-'+MAX_IDEMPOTENCY_KEY_LENGTH+'\x20chars');return _0x295f78;}['_validateReserveTTL'](_0x194625){const _0x204ef1=a0_0x7c9815,_0x4620a3={'lFLlK':function(_0x27f6d1,_0x3d4458){return _0x27f6d1==_0x3d4458;},'CRrIA':'IDGEN_INVALID_RESERVE_TTL'};if(_0x4620a3['lFLlK'](_0x194625,null))return this['reserveDefaultTTL'];if(!Number[_0x204ef1(0xc4)](_0x194625)||_0x194625<MIN_RESERVE_TTL||_0x194625>this['reserveMaxTTL'])throw new IdGeneratorError(_0x4620a3[_0x204ef1(0xb2)],_0x204ef1(0x12c)+MIN_RESERVE_TTL+'-'+this['reserveMaxTTL']+'\x20seconds\x20(got:\x20'+_0x194625+')');return _0x194625;}['_validateReservationToken'](_0x4a8cb6){const _0x1eb74b=a0_0x7c9815,_0x4f7b08={'CnnWW':function(_0x113253,_0x45bf51){return _0x113253!==_0x45bf51;}};if(_0x4f7b08[_0x1eb74b(0x87)](typeof _0x4a8cb6,_0x1eb74b(0x105))||!RESERVATION_TOKEN_REGEX[_0x1eb74b(0x94)](_0x4a8cb6))throw new IdGeneratorError('IDGEN_INVALID_TOKEN',_0x1eb74b(0x187)+JSON['stringify'](_0x4a8cb6)+')');return _0x4a8cb6;}['_pad2'](_0x5c7337){const _0x14c7c3=a0_0x7c9815;return String(_0x5c7337)[_0x14c7c3(0xe6)](0x2,'0');}['_buildFormatKey'](_0x319056,_0x265edc,_0x402205=new Date()){const _0x507a9b=a0_0x7c9815,_0x15a206={'gBhms':function(_0x4ce434,_0x5e0d45){return _0x4ce434+_0x5e0d45;},'shThy':_0x507a9b(0xe1),'yXley':_0x507a9b(0x19a)},_0x18c9fb=_0x402205['getFullYear'](),_0x1271d4=this[_0x507a9b(0x19b)](_0x15a206['gBhms'](_0x402205[_0x507a9b(0x18d)](),0x1)),_0xc701ad=this['_pad2'](_0x402205[_0x507a9b(0x90)]()),_0x9cd8fa=_0x265edc||'_';let _0x1a34e0,_0x24d3f1='';switch(_0x319056){case _0x15a206[_0x507a9b(0x145)]:_0x1a34e0=_0x9cd8fa+'_text';break;case _0x507a9b(0x13e):_0x24d3f1=''+_0x18c9fb,_0x1a34e0=_0x9cd8fa+'_yyyy_'+_0x24d3f1;break;case _0x15a206['yXley']:_0x24d3f1=''+_0x18c9fb+_0x1271d4,_0x1a34e0=_0x9cd8fa+_0x507a9b(0x194)+_0x24d3f1;break;case _0x507a9b(0x1a1):_0x24d3f1=''+_0x18c9fb+_0x1271d4+_0xc701ad,_0x1a34e0=_0x9cd8fa+'_yyyymmdd_'+_0x24d3f1;break;default:throw new IdGeneratorError(_0x507a9b(0x10a),_0x507a9b(0x108)+_0x319056);}return{'formatKey':_0x1a34e0,'datePrefix':_0x24d3f1};}['_buildSeqKey'](_0x5abeac,_0x3f6c19){const _0x30512c=a0_0x7c9815;return this[_0x30512c(0x174)]+_0x30512c(0x189)+_0x5abeac+':'+_0x3f6c19;}[a0_0x7c9815(0x115)](_0x29a48c,_0x3632b5){const _0x4287d0=a0_0x7c9815;return this[_0x4287d0(0x174)]+_0x4287d0(0x16a)+_0x29a48c+':'+_0x3632b5;}[a0_0x7c9815(0xc1)](_0x18434f,_0x46ef4c){const _0x56979b=a0_0x7c9815;return this[_0x56979b(0x174)]+_0x56979b(0xd8)+_0x18434f+':'+_0x46ef4c;}[a0_0x7c9815(0xdd)](_0x371377){const _0x9cc39b=a0_0x7c9815;return this[_0x9cc39b(0x174)]+_0x9cc39b(0x8b)+_0x371377;}['_buildActiveKey'](_0x1db70d,_0xa487b9){return this['keyPrefix']+'active:'+_0x1db70d+':'+_0xa487b9;}[a0_0x7c9815(0x15e)](_0x237287){const _0x3d5790=a0_0x7c9815;return this[_0x3d5790(0x174)]+'rsv:'+_0x237287;}[a0_0x7c9815(0x155)](_0x42a4b0,_0x5ca4c0){const _0x381b0d=a0_0x7c9815;return this[_0x381b0d(0x174)]+'rsv_idx:'+_0x42a4b0+':'+_0x5ca4c0;}['_buildReservationKeyPrefix'](){const _0x1d47f2=a0_0x7c9815;return this[_0x1d47f2(0x174)]+_0x1d47f2(0xc2);}['_buildIdemKey'](_0xdc611a,_0x4e9193,_0x4f11f8,_0x3f3365){const _0x5dd4b3=a0_0x7c9815,_0x5b04c9={'TKlit':'idgen'};if(_0x4f11f8)return idempotencyManager['buildDeterministicKey'](_0x5b04c9[_0x5dd4b3(0x188)],_0xdc611a,_0x4e9193+':'+_0x4f11f8+':'+_0x3f3365);return idempotencyManager[_0x5dd4b3(0xf8)](_0x5b04c9['TKlit'],_0xdc611a,_0x4e9193+':'+_0x3f3365);}['_getCounterTTL'](_0x3a19c3){return this['_counterTTLMap'][_0x3a19c3]||0x0;}['_formatNumber']({format:_0x48ec7b,prefix:_0x402533,datePrefix:_0xe9372d,separator:_0x2c818f,numDigits:_0x198ddf,counterInt:_0x506784}){const _0x4e5fed=a0_0x7c9815,_0x40c542={'YBAxG':_0x4e5fed(0x186),'kenZB':function(_0x5910a3,_0x3be9a3){return _0x5910a3(_0x3be9a3);},'blwHP':function(_0x432b1b,_0x339da3){return _0x432b1b===_0x339da3;},'aLmNX':'text'},_0x20cf94=Math[_0x4e5fed(0xb0)](0xa,_0x198ddf)-0x1;if(_0x506784>_0x20cf94)throw new IdGeneratorError(_0x40c542[_0x4e5fed(0x12e)],'Counter\x20overflow:\x20'+_0x506784+'\x20exceeds\x20'+_0x198ddf+_0x4e5fed(0xc9)+_0x20cf94+').\x20Increase\x20numDigits.',{'counterInt':_0x506784,'numDigits':_0x198ddf,'max':_0x20cf94});const _0x527b36=_0x40c542[_0x4e5fed(0xbb)](String,_0x506784)[_0x4e5fed(0xe6)](_0x198ddf,'0');if(_0x40c542['blwHP'](_0x48ec7b,_0x40c542['aLmNX']))return _0x402533?''+_0x402533+_0x2c818f+_0x527b36:_0x527b36;return _0x402533?''+_0x402533+_0x2c818f+_0xe9372d+_0x2c818f+_0x527b36:''+_0xe9372d+_0x2c818f+_0x527b36;}['_parseNumber']({format:_0x1a47f5,prefix:_0x45d7da,separator:_0x29550c,numDigits:_0x46774c,number:_0x37e3a4}){const _0x427ece=a0_0x7c9815,_0xd33ef={'gsKFf':function(_0x309141,_0x251634){return _0x309141!==_0x251634;},'slppY':function(_0x45c427,_0x79adaa){return _0x45c427===_0x79adaa;},'bpufv':'IDGEN_INVALID_NUMBER','xPTDA':function(_0x582624,_0xb5c035){return _0x582624||_0xb5c035;},'VRIGA':function(_0x2a9c80,_0x46468f){return _0x2a9c80!==_0x46468f;},'AkEMZ':function(_0xfae35d,_0x1a984d){return _0xfae35d!==_0x1a984d;},'lnCRW':_0x427ece(0x13e),'FKwUF':_0x427ece(0x19a),'BuQvk':function(_0x484cdd,_0x540646,_0x3315a8){return _0x484cdd(_0x540646,_0x3315a8);},'jhCeb':function(_0x51a98b,_0x3ef207){return _0x51a98b||_0x3ef207;},'kJlKj':_0x427ece(0xe1)};if(_0xd33ef['gsKFf'](typeof _0x37e3a4,_0x427ece(0x105))||_0xd33ef['slppY'](_0x37e3a4['length'],0x0))throw new IdGeneratorError(_0xd33ef['bpufv'],'Invalid\x20number:\x20must\x20be\x20non-empty\x20string');const _0x29d656=_0xd33ef[_0x427ece(0x17e)](_0x29550c,''),_0x14c34b=_0x29d656===''?[_0x37e3a4]:_0x37e3a4['split'](_0x29d656);let _0x11f62e='',_0x56b669;if(_0x1a47f5===_0x427ece(0xe1)){if(_0x45d7da){if(_0xd33ef[_0x427ece(0x184)](_0x14c34b[_0x427ece(0xbe)],0x2)||_0x14c34b[0x0]!==_0x45d7da)throw new IdGeneratorError(_0xd33ef[_0x427ece(0x8d)],_0x427ece(0x97)+_0x29d656+_0x427ece(0xd7)+_0x37e3a4+')');_0x56b669=_0x14c34b[0x1];}else{if(_0xd33ef['gsKFf'](_0x14c34b['length'],0x1))throw new IdGeneratorError(_0x427ece(0x1a0),_0x427ece(0x11f)+_0x37e3a4+')');_0x56b669=_0x14c34b[0x0];}}else{const _0x5af9e1=_0x45d7da?0x3:0x2;if(_0x14c34b['length']!==_0x5af9e1)throw new IdGeneratorError(_0x427ece(0x1a0),'Number\x20does\x20not\x20match\x20expected\x20format\x20(got:\x20'+_0x37e3a4+',\x20expected\x20'+_0x5af9e1+'\x20parts)');let _0x47db04=0x0;if(_0x45d7da){if(_0xd33ef[_0x427ece(0xb4)](_0x14c34b[_0x47db04],_0x45d7da))throw new IdGeneratorError(_0xd33ef['bpufv'],_0x427ece(0x1a3)+_0x45d7da+_0x427ece(0xe9)+_0x14c34b[_0x47db04]);_0x47db04++;}_0x11f62e=_0x14c34b[_0x47db04++];const _0x3e7bf5=_0xd33ef[_0x427ece(0x124)](_0x1a47f5,_0xd33ef[_0x427ece(0xd1)])?/^\d{4}$/:_0xd33ef['slppY'](_0x1a47f5,_0xd33ef[_0x427ece(0x18f)])?/^\d{6}$/:/^\d{8}$/;if(!_0x3e7bf5['test'](_0x11f62e))throw new IdGeneratorError(_0xd33ef['bpufv'],_0x427ece(0x11d)+_0x1a47f5+':\x20'+_0x11f62e);_0x56b669=_0x14c34b[_0x47db04];}if(!new RegExp(_0x427ece(0x117)+_0x46774c+'}$')[_0x427ece(0x94)](_0x56b669))throw new IdGeneratorError(_0x427ece(0x1a0),_0x427ece(0xeb)+_0x46774c+'\x20digits\x20(got:\x20'+_0x56b669+')');const _0x33f7e0=_0xd33ef['BuQvk'](parseInt,_0x56b669,0xa),_0x5d09f3=_0xd33ef['jhCeb'](_0x45d7da,'_');let _0x5bf9ff;return _0x1a47f5===_0xd33ef['kJlKj']?_0x5bf9ff=_0x5d09f3+_0x427ece(0xea):_0x5bf9ff=_0x5d09f3+'_'+_0x1a47f5+'_'+_0x11f62e,{'formatKey':_0x5bf9ff,'counterInt':_0x33f7e0,'datePrefix':_0x11f62e};}[a0_0x7c9815(0x17a)](_0x5c2891){const _0x3961b4=a0_0x7c9815;let _0x1e304b='';for(const _0x12a3fb of _0x5c2891){const _0x35b904=PLACEHOLDER_MAP[_0x12a3fb];if(_0x35b904){const _0x1dcc85=crypto['randomInt'](0x0,_0x35b904[_0x3961b4(0xbe)]);_0x1e304b+=_0x35b904[_0x1dcc85];}else _0x1e304b+=_0x12a3fb;}return _0x1e304b;}async['_retrieveIdemCache'](_0xc21067){const _0xb49751=a0_0x7c9815,_0x1abe7c={'XBaKh':'Idempotency\x20cache\x20HIT','YcbLX':'idgen_idem_retrieve_error'};if(!_0xc21067)return null;try{const _0x5d67f9=redisClient['getClient'](),_0x3660e6=await _0x5d67f9[_0xb49751(0xc7)](_0xc21067);if(_0x3660e6)return logger[_0xb49751(0x89)]({'event':'idgen_idem_hit','key':_0xc21067},_0x1abe7c[_0xb49751(0x172)]),JSON['parse'](_0x3660e6);return null;}catch(_0x6b454a){return logger[_0xb49751(0x9c)]({'event':_0x1abe7c['YcbLX'],'error':_0x6b454a['message']},'Idempotency\x20retrieve\x20error'),null;}}async['_storeIdemCache'](_0x22e8e8,_0x225271){const _0x22e9f3=a0_0x7c9815,_0x331517={'HLIgC':_0x22e9f3(0xc0)};if(!_0x22e8e8)return;try{const _0x2042a8=redisClient[_0x22e9f3(0x163)]();await _0x2042a8[_0x22e9f3(0xec)](_0x22e8e8,this['idemTTL'],JSON['stringify'](_0x225271));}catch(_0x5b4e75){logger['warn']({'event':'idgen_idem_store_error','error':_0x5b4e75['message']},_0x331517[_0x22e9f3(0x128)]);}}async[a0_0x7c9815(0x10c)](_0x7e3a9e,_0x14d7cb){const _0x3c4fa2=a0_0x7c9815,_0x3b4211={'pzmYp':_0x3c4fa2(0xfa),'YaTZO':_0x3c4fa2(0x103),'JYgZe':'Idempotency\x20SET\x20NX\x20error'};if(!_0x7e3a9e)return{'stored':!![],'winnerResult':null};try{const _0x35dc9a=redisClient[_0x3c4fa2(0x163)](),_0x3aeb2c=JSON[_0x3c4fa2(0x171)](_0x14d7cb),_0x58557f=await _0x35dc9a['set'](_0x7e3a9e,_0x3aeb2c,'EX',this[_0x3c4fa2(0x185)],'NX');if(_0x58557f==='OK')return{'stored':!![],'winnerResult':null};const _0x180db7=await _0x35dc9a['get'](_0x7e3a9e);if(_0x180db7)return{'stored':![],'winnerResult':JSON[_0x3c4fa2(0x149)](_0x180db7)};return logger['warn']({'event':_0x3b4211['pzmYp'],'key':_0x7e3a9e},_0x3b4211['YaTZO']),{'stored':!![],'winnerResult':null};}catch(_0xb7d0b4){return logger['warn']({'event':'idgen_idem_storenx_error','error':_0xb7d0b4['message']},_0x3b4211[_0x3c4fa2(0xf4)]),{'stored':!![],'winnerResult':null};}}async['_undoRandomReservation'](_0x5be92d,_0x44e94b,_0x1b4071){const _0x1c918b=a0_0x7c9815,_0x424f6e={'zeXPe':_0x1c918b(0xa9)};try{const _0x262b02=redisClient[_0x1c918b(0x163)]();if(_0x1b4071){const _0x5a62f2=this['_buildActiveKey'](_0x5be92d,_0x44e94b);await _0x262b02[_0x1c918b(0x165)](_0x5a62f2);}else{const _0x42c625=this['_buildIssuedKey'](_0x5be92d);await _0x262b02['srem'](_0x42c625,_0x44e94b);}}catch(_0x285d0f){logger[_0x1c918b(0x9c)]({'event':'idgen_random_undo_error','error':_0x285d0f[_0x1c918b(0x100)]},_0x424f6e['zeXPe']);}}async['_updateMeta'](_0x3529ce,_0x36ac13,_0x1fef0d,_0x51e660=0x0){const _0x53f874=a0_0x7c9815,_0x464fc3={'tigsd':function(_0x4ba72f,_0x5c5156){return _0x4ba72f>_0x5c5156;},'QRTJY':'idgen_meta_update_error','rVfle':'Meta\x20update\x20error'};try{const _0x48400f=redisClient['getClient'](),_0x267d13=this[_0x53f874(0xc1)](_0x3529ce,_0x36ac13),_0x3c2f3e=[];for(const [_0x2f7d03,_0x2c55a8]of Object['entries'](_0x1fef0d)){_0x3c2f3e['push'](_0x2f7d03,String(_0x2c55a8));}if(_0x464fc3[_0x53f874(0x9b)](_0x3c2f3e['length'],0x0)){await _0x48400f['hset'](_0x267d13,..._0x3c2f3e);if(_0x51e660>0x0)await _0x48400f['expire'](_0x267d13,_0x51e660);}}catch(_0x4aafe3){logger['warn']({'event':_0x464fc3['QRTJY'],'error':_0x4aafe3[_0x53f874(0x100)]},_0x464fc3['rVfle']);}}async[a0_0x7c9815(0x10d)](_0xffd377){const _0xfdcf99=a0_0x7c9815,_0x471dcc={'MIQZg':'number','iDZtT':function(_0x26e6f6,_0x1e2296){return _0x26e6f6(_0x1e2296);},'LHfpc':'Failed\x20to\x20release\x20counter\x20for\x20idempotency\x20loser','sNsYR':_0xfdcf99(0xac),'SpkbO':'idgen_number_generated'};if(!this[_0xfdcf99(0x14b)])throw new IdGeneratorError('IDGEN_DISABLED',_0xfdcf99(0x134));const _0x4704ea=this[_0xfdcf99(0xc3)](_0xffd377),_0x510445=this['_validateIdempotencyKey'](_0xffd377['idempotencyKey']),{resource:_0x55c804,format:_0x411643,prefix:_0x1d586b,separator:_0x2377ee,numDigits:_0x57764b,reuseDelete:_0xbc63a6}=_0x4704ea,{formatKey:_0x53a431,datePrefix:_0x585994}=this[_0xfdcf99(0xf0)](_0x411643,_0x1d586b),_0x27b83d=this['_buildSeqKey'](_0x55c804,_0x53a431),_0x2027b9=this['_buildReuseKey'](_0x55c804,_0x53a431),_0xb2fbf9=this[_0xfdcf99(0x159)](_0x411643);let _0x107f4c=null;if(_0x510445){_0x107f4c=this[_0xfdcf99(0x16b)](_0x471dcc[_0xfdcf99(0xe2)],_0x55c804,_0x53a431,_0x510445);const _0xb3864b=await this['_retrieveIdemCache'](_0x107f4c);if(_0xb3864b)return _0xb3864b;}const _0x531ce9=redisClient[_0xfdcf99(0x163)](),_0x3f09ef=await _0x531ce9['eval'](LUA_GENERATE_NUMBER,0x2,_0x27b83d,_0x2027b9,_0xbc63a6?'1':'0',String(_0xb2fbf9)),_0x1ec31f=_0x3f09ef[0x0],_0x30bf97=_0x3f09ef[0x1]===0x1,_0x537c3b=this[_0xfdcf99(0x101)]({'format':_0x411643,'prefix':_0x1d586b,'datePrefix':_0x585994,'separator':_0x2377ee,'numDigits':_0x57764b,'counterInt':_0x1ec31f}),_0x499010={'value':_0x537c3b,'counter':_0x1ec31f,'resource':_0x55c804,'formatKey':_0x53a431,'isReused':_0x30bf97,'generatedAt':new Date()['toISOString']()},_0x335c68=await this[_0xfdcf99(0x10c)](_0x107f4c,_0x499010);if(!_0x335c68[_0xfdcf99(0x193)]){try{await _0x531ce9[_0xfdcf99(0x8e)](LUA_RELEASE_NUMBER,0x1,_0x2027b9,String(_0x1ec31f),_0x471dcc['iDZtT'](String,_0xb2fbf9));}catch(_0x144fb4){logger['warn']({'event':_0xfdcf99(0x137),'error':_0x144fb4['message'],'resource':_0x55c804,'formatKey':_0x53a431,'counterInt':_0x1ec31f},_0x471dcc['LHfpc']);}return logger[_0xfdcf99(0x89)]({'event':_0x471dcc['sNsYR'],'resource':_0x55c804,'formatKey':_0x53a431,'counter':_0x1ec31f},'ID\x20Generator\x20number\x20idem\x20race\x20lost,\x20returning\x20winner\x20envelope'),_0x335c68['winnerResult'];}return this['_updateMeta'](_0x55c804,_0x53a431,{'lastValue':_0x537c3b,'lastCounter':_0x1ec31f,'lastIsReused':_0x30bf97,'lastGeneratedAt':_0x499010[_0xfdcf99(0x18b)]},_0xb2fbf9),logger[_0xfdcf99(0x89)]({'event':_0x471dcc[_0xfdcf99(0x143)],'resource':_0x55c804,'formatKey':_0x53a431,'counter':_0x1ec31f,'isReused':_0x30bf97},'ID\x20Generator\x20number:\x20'+_0x537c3b),_0x499010;}async['releaseNumber'](_0x4b0bf4){const _0x33f355=a0_0x7c9815,_0xbea464={'yMagg':'ID\x20Generator\x20is\x20disabled','QStRb':function(_0x420de0,_0x3c1ecb){return _0x420de0!==_0x3c1ecb;},'QebRs':function(_0x3ab31e,_0x2927a5){return _0x3ab31e!==_0x2927a5;},'Ycvok':function(_0x4f60d4,_0x1e172c){return _0x4f60d4<_0x1e172c;},'qCnss':'IDGEN_INVALID_NUMBER','NyIVO':'text','jiUwX':'release'};if(!this['enabled'])throw new IdGeneratorError('IDGEN_DISABLED',_0xbea464['yMagg']);let _0x5ddeae,_0x141a9f,_0x389e9b,_0x1a0713;const _0x273397=this[_0x33f355(0x13d)](_0x4b0bf4['idempotencyKey']);if(_0xbea464[_0x33f355(0xca)](_0x4b0bf4[_0x33f355(0x1a2)],undefined)&&_0x4b0bf4[_0x33f355(0x1a2)]!==null){this['_validateResource'](_0x4b0bf4['resource']),_0x5ddeae=_0x4b0bf4['resource'];if(_0xbea464[_0x33f355(0xa1)](typeof _0x4b0bf4[_0x33f355(0x158)],_0x33f355(0x105))||_0x4b0bf4[_0x33f355(0x158)]['length']===0x0)throw new IdGeneratorError(_0x33f355(0x1a0),'formatKey\x20is\x20required\x20in\x20low-level\x20release');_0x141a9f=_0x4b0bf4[_0x33f355(0x158)];if(!Number[_0x33f355(0xc4)](_0x4b0bf4['counterInt'])||_0xbea464[_0x33f355(0xb7)](_0x4b0bf4[_0x33f355(0x1a2)],0x1))throw new IdGeneratorError(_0xbea464[_0x33f355(0x16f)],_0x33f355(0x153)+_0x4b0bf4[_0x33f355(0x1a2)]+')');_0x389e9b=_0x4b0bf4[_0x33f355(0x1a2)];const _0x33e83c=_0x141a9f['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/);_0x1a0713=_0x33e83c?_0x33e83c[0x1]:_0xbea464['NyIVO'];}else{const _0x1a1f5b=this['_validateNumberParams'](_0x4b0bf4),_0x4e3f5b=this[_0x33f355(0xa0)]({'format':_0x1a1f5b[_0x33f355(0x15a)],'prefix':_0x1a1f5b[_0x33f355(0x129)],'separator':_0x1a1f5b[_0x33f355(0x18a)],'numDigits':_0x1a1f5b[_0x33f355(0x18e)],'number':_0x4b0bf4['number']});_0x5ddeae=_0x1a1f5b['resource'],_0x141a9f=_0x4e3f5b['formatKey'],_0x389e9b=_0x4e3f5b[_0x33f355(0x1a2)],_0x1a0713=_0x1a1f5b['format'];}const _0x5a7304=this[_0x33f355(0x115)](_0x5ddeae,_0x141a9f),_0x3903a6=this[_0x33f355(0x159)](_0x1a0713);let _0x4395ed=null;if(_0x273397){_0x4395ed=this['_buildIdemKey'](_0xbea464['jiUwX'],_0x5ddeae,_0x141a9f,_0x273397);const _0x27f226=await this['_retrieveIdemCache'](_0x4395ed);if(_0x27f226)return _0x27f226;}const _0x4064e9=redisClient[_0x33f355(0x163)]();await _0x4064e9[_0x33f355(0x8e)](LUA_RELEASE_NUMBER,0x1,_0x5a7304,String(_0x389e9b),String(_0x3903a6));const _0xcb9ad0={'released':!![],'resource':_0x5ddeae,'formatKey':_0x141a9f,'counter':_0x389e9b,'releasedAt':new Date()[_0x33f355(0xe7)]()};return await this[_0x33f355(0x11a)](_0x4395ed,_0xcb9ad0),this[_0x33f355(0x9f)](_0x5ddeae,_0x141a9f,{'lastReleasedCounter':_0x389e9b,'lastReleasedAt':_0xcb9ad0[_0x33f355(0x125)]},_0x3903a6),logger[_0x33f355(0x89)]({'event':_0x33f355(0x120),'resource':_0x5ddeae,'formatKey':_0x141a9f,'counter':_0x389e9b},'ID\x20Generator\x20number\x20released:\x20'+_0x389e9b),_0xcb9ad0;}async['reserveNumber'](_0x2a3e5c){const _0x3231d2=a0_0x7c9815,_0x131b0b={'WegMt':_0x3231d2(0x134),'vfITy':function(_0x1431a0,_0x484ddd){return _0x1431a0*_0x484ddd;},'grCkg':'resource','oAnfg':'formatKey','AxyfX':'format','KXfiT':_0x3231d2(0x18a),'ckfET':function(_0x1bccf3,_0x26fad2){return _0x1bccf3(_0x26fad2);},'HDiSP':'expiresAt','woKEb':function(_0x653f5e,_0x5a639c){return _0x653f5e(_0x5a639c);},'OyYyP':function(_0x3c4e7a,_0x24cdd2){return _0x3c4e7a(_0x24cdd2);},'WLqji':_0x3231d2(0x160),'RzESA':'Failed\x20to\x20compensate\x20reservation\x20after\x20counter\x20overflow','imIOE':_0x3231d2(0xbf),'BCbMg':function(_0x2cb081,_0x2b80c0){return _0x2cb081(_0x2b80c0);},'tvxSl':_0x3231d2(0x8a),'TnbAo':_0x3231d2(0x156)};if(!this[_0x3231d2(0x14b)])throw new IdGeneratorError('IDGEN_DISABLED',_0x131b0b['WegMt']);const _0x386378=this[_0x3231d2(0xc3)](_0x2a3e5c),_0x32d1d8=this[_0x3231d2(0x196)](_0x2a3e5c['ttl']),_0x3c2b83=this['_validateIdempotencyKey'](_0x2a3e5c['idempotencyKey']),{resource:_0x21318e,format:_0x3cf036,prefix:_0x1b0fd7,separator:_0x2740f3,numDigits:_0x5b39d1,reuseDelete:_0x101532}=_0x386378,{formatKey:_0x30e8ed,datePrefix:_0x5bdbcb}=this[_0x3231d2(0xf0)](_0x3cf036,_0x1b0fd7),_0x25bbee=this[_0x3231d2(0xb3)](_0x21318e,_0x30e8ed),_0x8aa18f=this['_buildReuseKey'](_0x21318e,_0x30e8ed),_0x37c5c2=this[_0x3231d2(0x155)](_0x21318e,_0x30e8ed),_0x5613af=this[_0x3231d2(0x159)](_0x3cf036);let _0x33c3b0=null;if(_0x3c2b83){_0x33c3b0=this['_buildIdemKey'](_0x3231d2(0x180),_0x21318e,_0x30e8ed,_0x3c2b83);const _0x5ad38c=await this['_retrieveIdemCache'](_0x33c3b0);if(_0x5ad38c)return _0x5ad38c;}const _0x3c9257=crypto['randomUUID'](),_0x4a0a9b=this[_0x3231d2(0x15e)](_0x3c9257),_0x3ef1cc=this[_0x3231d2(0xc6)](),_0x1c90d0=Date[_0x3231d2(0x116)](),_0x17d091=_0x1c90d0+_0x131b0b['vfITy'](_0x32d1d8,0x3e8),_0x4b2d1c=_0x131b0b['vfITy'](_0x32d1d8,0x3e8),_0x41c0b2=new Date(_0x1c90d0)['toISOString'](),_0x3f508a=new Date(_0x17d091)['toISOString'](),_0x4dd802=[_0x131b0b[_0x3231d2(0x198)],_0x21318e,_0x131b0b[_0x3231d2(0x14f)],_0x30e8ed,_0x131b0b[_0x3231d2(0xad)],_0x3cf036,'prefix',_0x1b0fd7,_0x131b0b['KXfiT'],_0x2740f3,'numDigits',_0x131b0b[_0x3231d2(0x19c)](String,_0x5b39d1),'datePrefix',_0x5bdbcb||'',_0x3231d2(0x199),_0x41c0b2,_0x131b0b[_0x3231d2(0x142)],_0x3f508a,_0x3231d2(0x111),_0x131b0b['ckfET'](String,_0x4b2d1c)];_0x3c2b83&&_0x4dd802[_0x3231d2(0x181)]('idemKey',_0x3c2b83);const _0x2a727c=redisClient[_0x3231d2(0x163)](),_0x3367f2=await _0x2a727c['eval'](LUA_RESERVE_NUMBER,0x3,_0x25bbee,_0x8aa18f,_0x37c5c2,_0x101532?'1':'0',String(_0x5613af),_0x3c9257,_0x4a0a9b,_0x131b0b['woKEb'](String,_0x4b2d1c),String(_0x17d091),String(_0x1c90d0),_0x3ef1cc,..._0x4dd802),_0x134623=_0x3367f2[0x0],_0x4902b6=_0x3367f2[0x1]===0x1,_0xefd5fa=_0x3367f2[0x2]||0x0;let _0x41e662;try{_0x41e662=this['_formatNumber']({'format':_0x3cf036,'prefix':_0x1b0fd7,'datePrefix':_0x5bdbcb,'separator':_0x2740f3,'numDigits':_0x5b39d1,'counterInt':_0x134623});}catch(_0x6dac86){try{await _0x2a727c['eval'](LUA_CANCEL_RESERVATION,0x3,_0x4a0a9b,_0x37c5c2,_0x8aa18f,_0x3c9257,_0x131b0b[_0x3231d2(0x14e)](String,_0x5613af));}catch(_0xf81263){logger[_0x3231d2(0x9c)]({'event':_0x131b0b[_0x3231d2(0x16d)],'error':_0xf81263[_0x3231d2(0x100)],'resource':_0x21318e,'formatKey':_0x30e8ed,'counterInt':_0x134623,'token':_0x3c9257},_0x131b0b['RzESA']);}throw _0x6dac86;}try{await _0x2a727c[_0x3231d2(0x127)](_0x4a0a9b,'value',_0x41e662);}catch(_0x2dd316){logger['warn']({'event':_0x131b0b[_0x3231d2(0xab)],'error':_0x2dd316['message'],'resource':_0x21318e,'formatKey':_0x30e8ed,'counterInt':_0x134623,'token':_0x3c9257},'Failed\x20to\x20persist\x20formatted\x20value\x20to\x20reservation\x20hash');}const _0xc816b1={'token':_0x3c9257,'value':_0x41e662,'counter':_0x134623,'resource':_0x21318e,'formatKey':_0x30e8ed,'isReused':_0x4902b6,'createdAt':_0x41c0b2,'expiresAt':_0x3f508a,'reapedCount':_0xefd5fa},_0x56b44a=await this['_storeIdemCacheNX'](_0x33c3b0,_0xc816b1);if(!_0x56b44a[_0x3231d2(0x193)]){try{await _0x2a727c['eval'](LUA_CANCEL_RESERVATION,0x3,_0x4a0a9b,_0x37c5c2,_0x8aa18f,_0x3c9257,_0x131b0b['BCbMg'](String,_0x5613af));}catch(_0x485b6b){logger[_0x3231d2(0x9c)]({'event':_0x131b0b[_0x3231d2(0x179)],'error':_0x485b6b[_0x3231d2(0x100)],'resource':_0x21318e,'formatKey':_0x30e8ed,'counterInt':_0x134623,'token':_0x3c9257},_0x131b0b['TnbAo']);}return logger['info']({'event':_0x3231d2(0x182),'resource':_0x21318e,'formatKey':_0x30e8ed,'counter':_0x134623,'token':_0x3c9257},_0x3231d2(0x96)),_0x56b44a['winnerResult'];}return this['_updateMeta'](_0x21318e,_0x30e8ed,{'lastReservedCounter':_0x134623,'lastReservedAt':_0x41c0b2,'lastReapedCount':_0xefd5fa},_0x5613af),logger[_0x3231d2(0x89)]({'event':'idgen_number_reserved','resource':_0x21318e,'formatKey':_0x30e8ed,'counter':_0x134623,'isReused':_0x4902b6,'token':_0x3c9257,'ttl':_0x32d1d8,'reapedCount':_0xefd5fa},'ID\x20Generator\x20number\x20reserved:\x20'+_0x41e662+_0x3231d2(0x150)+_0x3c9257+')'),_0xc816b1;}async['confirmReservation'](_0x3eda56){const _0xaf9519=a0_0x7c9815,_0x485a8a={'zfIna':'idgen','QQXGI':'reserve_confirm','QQndv':'idgen_reservation_confirmed'};if(!this[_0xaf9519(0x14b)])throw new IdGeneratorError(_0xaf9519(0x130),_0xaf9519(0xaf));const _0x491dfb=this[_0xaf9519(0x183)](_0x3eda56&&_0x3eda56['token']),_0x2055ea=this[_0xaf9519(0x13d)](_0x3eda56&&_0x3eda56[_0xaf9519(0x164)]);let _0x5e4a1b=null;if(_0x2055ea){_0x5e4a1b=idempotencyManager['buildDeterministicKey'](_0x485a8a['zfIna'],_0x485a8a['QQXGI'],_0x491dfb+':'+_0x2055ea);const _0x1da15f=await this[_0xaf9519(0xc5)](_0x5e4a1b);if(_0x1da15f)return _0x1da15f;}const _0x16b8f1=await this['_getReservationContext'](_0x491dfb),_0x5e0c78=redisClient[_0xaf9519(0x163)](),_0x65835e=await _0x5e0c78[_0xaf9519(0x8e)](LUA_CONFIRM_RESERVATION,0x2,_0x16b8f1['rsvKey'],_0x16b8f1['rsvIdxKey'],_0x491dfb);if(!_0x65835e||_0x65835e[0x0]!==0x1)throw new IdGeneratorError(_0xaf9519(0x139),'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x491dfb,{'token':_0x491dfb});const _0x463f45=parseInt(_0x65835e[0x1],0xa),_0x1aecf2=_0x65835e[0x2],_0x37315b=_0x65835e[0x3],_0x1209b9=new Date()['toISOString'](),_0x4ff650={'confirmed':!![],'token':_0x491dfb,'value':_0x1aecf2,'counter':_0x463f45,'resource':_0x16b8f1[_0xaf9519(0xd0)],'formatKey':_0x37315b,'confirmedAt':_0x1209b9};await this[_0xaf9519(0x11a)](_0x5e4a1b,_0x4ff650);const _0xef1c6c=_0x37315b[_0xaf9519(0x136)](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x1ed211=_0xef1c6c?_0xef1c6c[0x1]:_0xaf9519(0xe1),_0x42338b=this[_0xaf9519(0x159)](_0x1ed211);return this['_updateMeta'](_0x16b8f1[_0xaf9519(0xd0)],_0x37315b,{'lastConfirmedCounter':_0x463f45,'lastConfirmedAt':_0x1209b9},_0x42338b),logger[_0xaf9519(0x89)]({'event':_0x485a8a[_0xaf9519(0x113)],'resource':_0x16b8f1[_0xaf9519(0xd0)],'formatKey':_0x37315b,'counter':_0x463f45,'token':_0x491dfb},_0xaf9519(0xb6)+_0x1aecf2+'\x20(token='+_0x491dfb+')'),_0x4ff650;}async[a0_0x7c9815(0x123)](_0x5cb586){const _0x11cef3=a0_0x7c9815,_0x4f2961={'WUFyT':_0x11cef3(0x130),'JVREX':_0x11cef3(0xaf),'UjcEt':'idgen','Ujyfg':'text','DZMRE':function(_0x259f01,_0x45a1fa){return _0x259f01(_0x45a1fa);},'clWdY':function(_0x43723d,_0x152eb7){return _0x43723d!==_0x152eb7;},'tyGAW':'idgen_reservation_cancelled'};if(!this[_0x11cef3(0x14b)])throw new IdGeneratorError(_0x4f2961[_0x11cef3(0x190)],_0x4f2961[_0x11cef3(0x99)]);const _0x7be4b=this[_0x11cef3(0x183)](_0x5cb586&&_0x5cb586['token']),_0x439a36=this[_0x11cef3(0x13d)](_0x5cb586&&_0x5cb586[_0x11cef3(0x164)]);let _0x21b3eb=null;if(_0x439a36){_0x21b3eb=idempotencyManager['buildDeterministicKey'](_0x4f2961[_0x11cef3(0x10f)],_0x11cef3(0x122),_0x7be4b+':'+_0x439a36);const _0x4e1490=await this['_retrieveIdemCache'](_0x21b3eb);if(_0x4e1490)return _0x4e1490;}const _0x5a7ad6=await this['_getReservationContext'](_0x7be4b),_0x28fbd4=this[_0x11cef3(0x115)](_0x5a7ad6[_0x11cef3(0xd0)],_0x5a7ad6[_0x11cef3(0x158)]),_0x63b189=_0x5a7ad6['formatKey'][_0x11cef3(0x136)](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x3e6da9=_0x63b189?_0x63b189[0x1]:_0x4f2961[_0x11cef3(0x8c)],_0x14f85f=this[_0x11cef3(0x159)](_0x3e6da9),_0x215692=redisClient[_0x11cef3(0x163)](),_0x1304aa=await _0x215692['eval'](LUA_CANCEL_RESERVATION,0x3,_0x5a7ad6[_0x11cef3(0xe8)],_0x5a7ad6[_0x11cef3(0x170)],_0x28fbd4,_0x7be4b,_0x4f2961['DZMRE'](String,_0x14f85f));if(!_0x1304aa||_0x4f2961['clWdY'](_0x1304aa[0x0],0x1))throw new IdGeneratorError(_0x11cef3(0x139),'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x7be4b,{'token':_0x7be4b});const _0x53e35f=parseInt(_0x1304aa[0x1],0xa),_0x21e5ea=_0x1304aa[0x2],_0x1d04ec=_0x1304aa[0x3],_0x28dcca=new Date()[_0x11cef3(0xe7)](),_0x45678d={'cancelled':!![],'token':_0x7be4b,'value':_0x21e5ea,'counter':_0x53e35f,'resource':_0x5a7ad6['resource'],'formatKey':_0x1d04ec,'releasedToReuse':!![],'cancelledAt':_0x28dcca};return await this[_0x11cef3(0x11a)](_0x21b3eb,_0x45678d),this[_0x11cef3(0x9f)](_0x5a7ad6['resource'],_0x1d04ec,{'lastCancelledCounter':_0x53e35f,'lastCancelledAt':_0x28dcca},_0x14f85f),logger['info']({'event':_0x4f2961[_0x11cef3(0x118)],'resource':_0x5a7ad6[_0x11cef3(0xd0)],'formatKey':_0x1d04ec,'counter':_0x53e35f,'token':_0x7be4b},'ID\x20Generator\x20reservation\x20cancelled:\x20'+_0x21e5ea+_0x11cef3(0x150)+_0x7be4b+')'),_0x45678d;}async[a0_0x7c9815(0x14d)](_0x4fe889){const _0x534fb5=a0_0x7c9815,_0x4adf87={'Jeydq':'reserve_extend','cQBnJ':function(_0x1019bf,_0x1a4532){return _0x1019bf(_0x1a4532);},'AAMpD':function(_0x4f5459,_0x1b5e67){return _0x4f5459!==_0x1b5e67;},'NBbUM':_0x534fb5(0x107)};if(!this['enabled'])throw new IdGeneratorError(_0x534fb5(0x130),_0x534fb5(0xaf));const _0x27ac16=this['_validateReservationToken'](_0x4fe889&&_0x4fe889[_0x534fb5(0x110)]),_0x42ea6e=this['_validateReserveTTL'](_0x4fe889&&_0x4fe889[_0x534fb5(0xcf)]),_0x3ed36b=this[_0x534fb5(0x13d)](_0x4fe889&&_0x4fe889['idempotencyKey']);let _0x40f8b4=null;if(_0x3ed36b){_0x40f8b4=idempotencyManager[_0x534fb5(0xf8)](_0x534fb5(0x9a),_0x4adf87[_0x534fb5(0x98)],_0x27ac16+':'+_0x3ed36b);const _0xed4cdc=await this[_0x534fb5(0xc5)](_0x40f8b4);if(_0xed4cdc)return _0xed4cdc;}const _0x308296=await this[_0x534fb5(0xf9)](_0x27ac16),_0x36701c=Date['now'](),_0x3a24db=_0x36701c+_0x42ea6e*0x3e8,_0x573523=_0x42ea6e*0x3e8,_0xb71724=new Date(_0x3a24db)['toISOString'](),_0x3f5308=redisClient[_0x534fb5(0x163)](),_0x244d6e=await _0x3f5308[_0x534fb5(0x8e)](LUA_EXTEND_RESERVATION,0x2,_0x308296['rsvKey'],_0x308296[_0x534fb5(0x170)],_0x27ac16,_0x4adf87['cQBnJ'](String,_0x573523),String(_0x3a24db),_0xb71724);if(!_0x244d6e||_0x4adf87['AAMpD'](_0x244d6e[0x0],0x1))throw new IdGeneratorError('IDGEN_RESERVATION_NOT_FOUND','Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x27ac16,{'token':_0x27ac16});const _0x3a29c5=_0x244d6e[0x1],_0x84d0c2=parseInt(_0x244d6e[0x2],0xa),_0x5245be=_0x244d6e[0x3],_0x239e7c=_0x244d6e[0x4],_0x11739c=new Date(_0x36701c)['toISOString'](),_0x2f5572={'extended':!![],'token':_0x27ac16,'previousExpiresAt':_0x3a29c5,'expiresAt':_0xb71724,'ttlMs':_0x573523,'resource':_0x308296['resource'],'formatKey':_0x239e7c,'counter':_0x84d0c2,'value':_0x5245be,'extendedAt':_0x11739c};await this[_0x534fb5(0x11a)](_0x40f8b4,_0x2f5572);const _0x346a4f=_0x239e7c[_0x534fb5(0x136)](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x28894d=_0x346a4f?_0x346a4f[0x1]:_0x534fb5(0xe1),_0x2f9517=this['_getCounterTTL'](_0x28894d);return this['_updateMeta'](_0x308296[_0x534fb5(0xd0)],_0x239e7c,{'lastExtendedCounter':_0x84d0c2,'lastExtendedAt':_0x11739c},_0x2f9517),logger['info']({'event':_0x4adf87['NBbUM'],'resource':_0x308296['resource'],'formatKey':_0x239e7c,'counter':_0x84d0c2,'token':_0x27ac16,'ttl':_0x42ea6e},_0x534fb5(0xb9)+_0x5245be+_0x534fb5(0x150)+_0x27ac16+_0x534fb5(0x166)+_0x42ea6e+'s)'),_0x2f5572;}async[a0_0x7c9815(0xaa)](_0x1653d4){const _0x3b4f99=a0_0x7c9815,_0x57a61c={'mPfnq':function(_0x42fb7c,_0x43ce87,_0x256fee){return _0x42fb7c(_0x43ce87,_0x256fee);},'bBias':function(_0x10a368,_0x2329f5,_0x252c92){return _0x10a368(_0x2329f5,_0x252c92);},'iHqFW':function(_0x5ef1a8,_0x285189){return _0x5ef1a8===_0x285189;},'vxIpp':function(_0x1f9d72,_0x59bc00){return _0x1f9d72>=_0x59bc00;}};if(!this[_0x3b4f99(0x14b)])throw new IdGeneratorError('IDGEN_DISABLED','ID\x20Generator\x20is\x20disabled');const _0x47f161=this[_0x3b4f99(0x183)](_0x1653d4&&_0x1653d4['token']),_0xaf837f=this['_buildReservationKey'](_0x47f161),_0x564dab=redisClient['getClient'](),_0x508450=_0x564dab[_0x3b4f99(0xd2)]();_0x508450[_0x3b4f99(0x11c)](_0xaf837f),_0x508450['pttl'](_0xaf837f);const _0x427d54=await _0x508450['exec'](),_0x9a9ed0=_0x427d54&&_0x427d54[0x0]&&_0x427d54[0x0][0x1],_0x132761=_0x427d54&&_0x427d54[0x1]&&_0x427d54[0x1][0x1];if(!_0x9a9ed0||Object['keys'](_0x9a9ed0)[_0x3b4f99(0xbe)]===0x0)throw new IdGeneratorError(_0x3b4f99(0x139),_0x3b4f99(0x10b)+_0x47f161,{'token':_0x47f161});return{'token':_0x47f161,'resource':_0x9a9ed0[_0x3b4f99(0xd0)]||null,'formatKey':_0x9a9ed0['formatKey']||null,'format':_0x9a9ed0[_0x3b4f99(0x15a)]||null,'prefix':_0x9a9ed0[_0x3b4f99(0x129)]||'','separator':_0x9a9ed0[_0x3b4f99(0x18a)]||'','numDigits':_0x9a9ed0[_0x3b4f99(0x18e)]?_0x57a61c['mPfnq'](parseInt,_0x9a9ed0[_0x3b4f99(0x18e)],0xa):null,'datePrefix':_0x9a9ed0[_0x3b4f99(0x14a)]||'','counter':_0x9a9ed0['counter']?_0x57a61c[_0x3b4f99(0xfe)](parseInt,_0x9a9ed0['counter'],0xa):null,'value':_0x9a9ed0[_0x3b4f99(0x93)]||null,'isReused':_0x57a61c['iHqFW'](_0x9a9ed0[_0x3b4f99(0x161)],'1')||_0x57a61c[_0x3b4f99(0xde)](_0x9a9ed0['isReused'],0x1),'createdAt':_0x9a9ed0['createdAt']||null,'expiresAt':_0x9a9ed0['expiresAt']||null,'ttlRemainingMs':typeof _0x132761==='number'&&_0x57a61c['vxIpp'](_0x132761,0x0)?_0x132761:null};}async['_getReservationContext'](_0x47aa8a){const _0x420514=a0_0x7c9815,_0x2a1358={'SVNhw':function(_0xef1402,_0x5f60a4){return _0xef1402||_0x5f60a4;},'yCWTJ':_0x420514(0x139)},_0x31a396=this['_buildReservationKey'](_0x47aa8a),_0xa9424e=redisClient['getClient'](),_0x3fd8f7=await _0xa9424e['hmget'](_0x31a396,_0x420514(0xd0),'formatKey'),_0x481359=_0x3fd8f7&&_0x3fd8f7[0x0],_0x40cc73=_0x3fd8f7&&_0x3fd8f7[0x1];if(_0x2a1358['SVNhw'](!_0x481359,!_0x40cc73))throw new IdGeneratorError(_0x2a1358['yCWTJ'],'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x47aa8a,{'token':_0x47aa8a});return{'resource':_0x481359,'formatKey':_0x40cc73,'rsvKey':_0x31a396,'rsvIdxKey':this[_0x420514(0x155)](_0x481359,_0x40cc73)};}async['random'](_0x12543c){const _0x222faf=a0_0x7c9815,_0x4acf53={'yqFdW':'ID\x20Generator\x20is\x20disabled','QFzBz':_0x222faf(0xdf),'TjBso':function(_0x53af48,_0x4b7bc0){return _0x53af48===_0x4b7bc0;},'geBBi':function(_0x13faec,_0x334cf1){return _0x13faec===_0x334cf1;},'DODkJ':_0x222faf(0x144),'CnyrB':function(_0x52522c,_0x58e50c){return _0x52522c&&_0x58e50c;},'WjfQZ':function(_0x105d51,_0x47cc56){return _0x105d51+_0x47cc56;},'gMzoD':function(_0x46517d,_0x2049e7){return _0x46517d*_0x2049e7;},'AfRBb':_0x222faf(0xd5)};if(!this[_0x222faf(0x14b)])throw new IdGeneratorError('IDGEN_DISABLED',_0x4acf53['yqFdW']);this[_0x222faf(0xed)](_0x12543c[_0x222faf(0xd0)]),this[_0x222faf(0x114)](_0x12543c[_0x222faf(0x17b)]);const _0x3eb287=this['_validateTTL'](_0x12543c[_0x222faf(0xcf)]),_0x583107=this[_0x222faf(0xef)](_0x12543c['maxRetry']),_0x5d8a9d=this['_validateIdempotencyKey'](_0x12543c[_0x222faf(0x164)]),_0x337ac0=_0x12543c['ensureUnique']===!![],{resource:_0x5b3e81,pattern:_0x3d06ff}=_0x12543c;let _0x4e047f=null;if(_0x5d8a9d){_0x4e047f=this[_0x222faf(0x16b)](_0x4acf53[_0x222faf(0x133)],_0x5b3e81,null,_0x5d8a9d);const _0x21201b=await this['_retrieveIdemCache'](_0x4e047f);if(_0x21201b)return _0x21201b;}const _0x178374=redisClient['getClient']();let _0x28a763=null,_0xf9d440=0x0;if(!_0x337ac0)_0x28a763=this[_0x222faf(0x17a)](_0x3d06ff),_0xf9d440=0x1;else{for(let _0x1f7fae=0x0;_0x1f7fae<_0x583107;_0x1f7fae++){_0xf9d440++;const _0x5b9e94=this['_generateFromPattern'](_0x3d06ff);if(_0x3eb287){const _0x307b34=this[_0x222faf(0xa2)](_0x5b3e81,_0x5b9e94),_0x65de43=await _0x178374['set'](_0x307b34,'1','EX',_0x3eb287,'NX');if(_0x4acf53[_0x222faf(0xf1)](_0x65de43,'OK')){_0x28a763=_0x5b9e94;break;}}else{const _0x32cfbb=this['_buildIssuedKey'](_0x5b3e81),_0x13f3f4=await _0x178374[_0x222faf(0xba)](_0x32cfbb,_0x5b9e94);if(_0x4acf53[_0x222faf(0xf1)](_0x13f3f4,0x1)){_0x28a763=_0x5b9e94;break;}}}if(_0x4acf53[_0x222faf(0x112)](_0x28a763,null))throw new IdGeneratorError(_0x4acf53['DODkJ'],'Could\x20not\x20generate\x20unique\x20value\x20after\x20'+_0x583107+'\x20attempts.\x20Increase\x20pattern\x20length\x20or\x20maxRetry.',{'resource':_0x5b3e81,'pattern':_0x3d06ff,'maxRetry':_0x583107});}const _0x4ed876={'value':_0x28a763,'resource':_0x5b3e81,'pattern':_0x3d06ff,'attemptCount':_0xf9d440,'generatedAt':new Date()[_0x222faf(0xe7)]()};_0x4acf53[_0x222faf(0xf6)](_0x3eb287,_0x337ac0)&&(_0x4ed876['expiresAt']=new Date(_0x4acf53['WjfQZ'](Date['now'](),_0x4acf53[_0x222faf(0xa7)](_0x3eb287,0x3e8)))[_0x222faf(0xe7)]());const _0x2f014f=await this[_0x222faf(0x10c)](_0x4e047f,_0x4ed876);if(!_0x2f014f['stored'])return _0x337ac0&&await this[_0x222faf(0x132)](_0x5b3e81,_0x28a763,_0x3eb287),logger['info']({'event':_0x4acf53['AfRBb'],'resource':_0x5b3e81,'pattern':_0x3d06ff,'value':_0x28a763},_0x222faf(0x9e)),_0x2f014f['winnerResult'];return logger['info']({'event':_0x222faf(0xfb),'resource':_0x5b3e81,'pattern':_0x3d06ff,'attemptCount':_0xf9d440,'ensureUnique':_0x337ac0,'ttl':_0x3eb287||0x0},_0x222faf(0xcb)+_0x28a763),_0x4ed876;}async[a0_0x7c9815(0xf3)](_0x2c30d1){const _0x441f58=a0_0x7c9815,_0x4389eb={'lZyCs':function(_0x1b5697,_0x5c2305){return _0x1b5697>_0x5c2305;},'jOvod':function(_0x1724dd,_0x3b9b23){return _0x1724dd===_0x3b9b23;}},_0x5bca62=_0x2c30d1['digits']==null?this['defaultPinDigits']:_0x2c30d1[_0x441f58(0x9d)];if(!Number['isInteger'](_0x5bca62)||_0x5bca62<MIN_PIN_DIGITS||_0x4389eb['lZyCs'](_0x5bca62,MAX_PIN_DIGITS))throw new IdGeneratorError(_0x441f58(0x91),_0x441f58(0x104)+MIN_PIN_DIGITS+'-'+MAX_PIN_DIGITS+'\x20(got:\x20'+_0x5bca62+')');const _0x48e50c='9'['repeat'](_0x5bca62);return this['random']({'resource':_0x2c30d1['resource'],'pattern':_0x48e50c,'ensureUnique':_0x4389eb['jOvod'](_0x2c30d1['ensureUnique'],!![]),'ttl':_0x2c30d1[_0x441f58(0xcf)],'maxRetry':_0x2c30d1[_0x441f58(0xa5)],'idempotencyKey':_0x2c30d1[_0x441f58(0x164)]});}async['serial'](_0x18f0cd){const _0x5787a2=a0_0x7c9815,_0x5ac086=_0x18f0cd['pattern']||this['defaultSerialPattern'];return this[_0x5787a2(0xdf)]({'resource':_0x18f0cd['resource'],'pattern':_0x5ac086,'ensureUnique':_0x18f0cd['ensureUnique']!==![],'ttl':_0x18f0cd[_0x5787a2(0xcf)],'maxRetry':_0x18f0cd['maxRetry'],'idempotencyKey':_0x18f0cd[_0x5787a2(0x164)]});}async[a0_0x7c9815(0xce)](_0x5408c5){const _0x29bb9b=a0_0x7c9815,_0x4d607a=_0x5408c5['pattern']||this[_0x29bb9b(0x95)];return this[_0x29bb9b(0xdf)]({'resource':_0x5408c5['resource'],'pattern':_0x4d607a,'ensureUnique':_0x5408c5['ensureUnique']!==![],'ttl':_0x5408c5[_0x29bb9b(0xcf)],'maxRetry':_0x5408c5[_0x29bb9b(0xa5)],'idempotencyKey':_0x5408c5['idempotencyKey']});}async['consume'](_0x1cbfbe){const _0x570e2c=a0_0x7c9815,_0x4bb500={'tYPqg':_0x570e2c(0x130),'ikqFq':function(_0x19f9d2,_0xb1790f){return _0x19f9d2!==_0xb1790f;},'wmFFt':function(_0x18ac3d,_0x58e56f){return _0x18ac3d>_0x58e56f;},'bNpRk':function(_0xf81d07,_0x248ec9){return _0xf81d07+_0x248ec9;}};if(!this[_0x570e2c(0x14b)])throw new IdGeneratorError(_0x4bb500['tYPqg'],'ID\x20Generator\x20is\x20disabled');this['_validateResource'](_0x1cbfbe[_0x570e2c(0xd0)]);if(_0x4bb500['ikqFq'](typeof _0x1cbfbe[_0x570e2c(0x93)],'string')||_0x1cbfbe['value'][_0x570e2c(0xbe)]===0x0)throw new IdGeneratorError('IDGEN_INVALID_NUMBER','value\x20is\x20required');const {resource:_0x31b6e3,value:_0xbcba23}=_0x1cbfbe,_0x38d94e=redisClient[_0x570e2c(0x163)](),_0x524c83=this['_buildActiveKey'](_0x31b6e3,_0xbcba23),_0x41301e=this[_0x570e2c(0xdd)](_0x31b6e3),[_0x11b59d,_0x42a096]=await Promise[_0x570e2c(0x15c)]([_0x38d94e['del'](_0x524c83),_0x38d94e['srem'](_0x41301e,_0xbcba23)]),_0x3d1228=_0x4bb500[_0x570e2c(0x169)](_0x4bb500['bNpRk'](_0x11b59d,_0x42a096),0x0);return logger['info']({'event':'idgen_consumed','resource':_0x31b6e3,'value':_0xbcba23,'consumed':_0x3d1228},'ID\x20Generator\x20consumed:\x20'+_0xbcba23),{'consumed':_0x3d1228,'resource':_0x31b6e3,'value':_0xbcba23,'consumedAt':new Date()[_0x570e2c(0xe7)]()};}async['peek'](_0xee03da){const _0x55e528=a0_0x7c9815,_0x38304e={'CFspb':_0x55e528(0x130),'qacKI':'number','YQRfv':'text','faMiV':'IDGEN_INVALID_FORMAT','bmHoJ':function(_0x5b7071,_0x452255,_0x4c2b28){return _0x5b7071(_0x452255,_0x4c2b28);},'eenDQ':function(_0x3d0508,_0x2492c9){return _0x3d0508===_0x2492c9;},'yDoDR':_0x55e528(0xdf),'quruC':function(_0x2ab2e8,_0x1e6250){return _0x2ab2e8||_0x1e6250;}};if(!this['enabled'])throw new IdGeneratorError(_0x38304e[_0x55e528(0xe0)],'ID\x20Generator\x20is\x20disabled');this['_validateResource'](_0xee03da['resource']);const _0x3c485d=_0xee03da['mode']||_0x38304e['qacKI'],_0x620587=redisClient['getClient']();if(_0x3c485d==='number'){const _0x1a5a29=(_0xee03da[_0x55e528(0x15a)]||_0x38304e['YQRfv'])['toLowerCase']();if(!ALLOWED_FORMATS[_0x55e528(0x138)](_0x1a5a29))throw new IdGeneratorError(_0x38304e['faMiV'],_0x55e528(0x8f)+_0xee03da['format']);const {formatKey:_0x19d1fc}=this[_0x55e528(0xf0)](_0x1a5a29,_0xee03da[_0x55e528(0x129)]||''),_0x121492=this['_buildSeqKey'](_0xee03da['resource'],_0x19d1fc),_0x138c8b=this['_buildReuseKey'](_0xee03da[_0x55e528(0xd0)],_0x19d1fc),[_0x145f23,_0x583c8c]=await Promise[_0x55e528(0x15c)]([_0x620587[_0x55e528(0xc7)](_0x121492),_0x620587['zcard'](_0x138c8b)]);return{'resource':_0xee03da['resource'],'mode':_0x38304e[_0x55e528(0x177)],'formatKey':_0x19d1fc,'currentCounter':_0x38304e['bmHoJ'](parseInt,_0x145f23,0xa)||0x0,'reusePoolSize':_0x583c8c||0x0};}if(_0x38304e[_0x55e528(0xfd)](_0x3c485d,_0x55e528(0xdf))){const _0x213186=this[_0x55e528(0xdd)](_0xee03da[_0x55e528(0xd0)]),_0x45b391=await _0x620587[_0x55e528(0xa3)](_0x213186);return{'resource':_0xee03da[_0x55e528(0xd0)],'mode':_0x38304e[_0x55e528(0x162)],'issuedCount':_0x38304e['quruC'](_0x45b391,0x0)};}throw new IdGeneratorError('IDGEN_INVALID_MODE','Unknown\x20mode:\x20'+_0x3c485d);}async[a0_0x7c9815(0x106)](_0x3b1284){const _0x550adc=a0_0x7c9815,_0x20c2b5={'uUXth':function(_0x502374,_0x411410){return _0x502374===_0x411410;},'Byfny':function(_0x12432e,_0x46dae4){return _0x12432e>_0x46dae4;}},_0x5076fa=await this['peek'](_0x3b1284);if(_0x20c2b5[_0x550adc(0x14c)](_0x5076fa[_0x550adc(0x12d)],_0x550adc(0x10d))){const _0x2094af=redisClient['getClient'](),_0x47b654=this[_0x550adc(0xc1)](_0x3b1284['resource'],_0x5076fa['formatKey']),_0x4981e3=this['_buildReuseKey'](_0x3b1284[_0x550adc(0xd0)],_0x5076fa['formatKey']),[_0x190336,_0x48f9e2]=await Promise[_0x550adc(0x15c)]([_0x2094af[_0x550adc(0x11c)](_0x47b654),_0x2094af['zrange'](_0x4981e3,0x0,-0x1)]);return{..._0x5076fa,'reusePoolValues':_0x48f9e2['map'](_0x5add58=>parseInt(_0x5add58,0xa)),'meta':_0x190336&&_0x20c2b5['Byfny'](Object['keys'](_0x190336)[_0x550adc(0xbe)],0x0)?_0x190336:null};}return _0x5076fa;}async[a0_0x7c9815(0x19e)](_0x35c607){const _0x4f95fe=a0_0x7c9815,_0x46fdbc={'lhVUu':_0x4f95fe(0x130),'aUayM':_0x4f95fe(0xaf),'XwRiN':function(_0x285f6b,_0x4bdf8e){return _0x285f6b===_0x4bdf8e;},'GGcHz':'meta','dOtpC':'random','cZXkX':_0x4f95fe(0x17f),'gnveS':_0x4f95fe(0xcc)};if(!this['enabled'])throw new IdGeneratorError(_0x46fdbc[_0x4f95fe(0xae)],_0x46fdbc['aUayM']);if(!this[_0x4f95fe(0x88)])throw new IdGeneratorError(_0x4f95fe(0xa8),_0x4f95fe(0x141));this[_0x4f95fe(0xed)](_0x35c607[_0x4f95fe(0xd0)]);const _0x384210=_0x35c607['mode']||_0x4f95fe(0x10d),_0x372002=redisClient[_0x4f95fe(0x163)]();if(_0x46fdbc[_0x4f95fe(0x131)](_0x384210,_0x4f95fe(0x10d))){const _0x1f7fa0=(_0x35c607['format']||'text')[_0x4f95fe(0x175)]();if(!ALLOWED_FORMATS['has'](_0x1f7fa0))throw new IdGeneratorError(_0x4f95fe(0x10a),_0x4f95fe(0x8f)+_0x35c607['format']);const {formatKey:_0x14988c}=this[_0x4f95fe(0xf0)](_0x1f7fa0,_0x35c607[_0x4f95fe(0x129)]||''),_0x3d90b7=this['_buildSeqKey'](_0x35c607['resource'],_0x14988c),_0x234cbc=this['_buildReuseKey'](_0x35c607[_0x4f95fe(0xd0)],_0x14988c),_0x4cdcd6=this['_buildMetaKey'](_0x35c607[_0x4f95fe(0xd0)],_0x14988c);return await _0x372002['del'](_0x3d90b7,_0x234cbc,_0x4cdcd6),logger[_0x4f95fe(0x9c)]({'event':'idgen_reset','resource':_0x35c607[_0x4f95fe(0xd0)],'mode':'number','formatKey':_0x14988c},_0x4f95fe(0x19d)+_0x35c607[_0x4f95fe(0xd0)]+':'+_0x14988c),{'reset':!![],'resource':_0x35c607['resource'],'mode':'number','formatKey':_0x14988c,'deletedKeys':[_0x4f95fe(0x86),_0x4f95fe(0x195),_0x46fdbc[_0x4f95fe(0xb8)]]};}if(_0x384210===_0x46fdbc[_0x4f95fe(0x146)]){const _0x537063=this['_buildIssuedKey'](_0x35c607['resource']);return await _0x372002[_0x4f95fe(0x165)](_0x537063),logger['warn']({'event':_0x46fdbc[_0x4f95fe(0x178)],'resource':_0x35c607['resource'],'mode':_0x46fdbc['dOtpC']},_0x4f95fe(0xd3)+_0x35c607[_0x4f95fe(0xd0)]),{'reset':!![],'resource':_0x35c607[_0x4f95fe(0xd0)],'mode':_0x4f95fe(0xdf),'deletedKeys':[_0x46fdbc[_0x4f95fe(0xcd)]]};}throw new IdGeneratorError(_0x4f95fe(0xdc),'Unknown\x20mode:\x20'+_0x384210);}}const instance=new IdGenerator();instance['IdGeneratorError']=IdGeneratorError,module['exports']=instance,module['exports']['IdGeneratorError']=IdGeneratorError;
|
|
1
|
+
'use strict';const a0_0x3a03fd=a0_0x316f;function a0_0x292b(){const _0x40fca6=['AwrNzw5FBNvTyMvYx3jLBgvHC2vK','ufL3Bhq','ALDjteG','sw52ywXPzcbKAwDPDhm6ig11C3qGyMuGAw50zwDLCIa','ihnLy29UzhmGkgDVDdOG','BwDhz3O','zgvS','BM93','x2j1AwXKuMvZzxj2yxrPB25lzxLqCMvMAxG','wfHywc1ywfHylvHywfGTwfHywa','surhru5Fsu5wquXjrf9srvnpvvjdrq','sw52ywXPzcbUDw1eAwDPDhm6ig11C3qGyMuGAw50zwDLCIa','BgvUz3rO','uLjIAuq','Bw9Kzq','x3jLC2vYDMvezwzHDwX0vfrm','surhru5FreLtqujmruq','x3zHBgLKyxrLswrLBxbVDgvUy3LlzxK','CMvZB3vYy2u','A2v5CW','AwrNzw5FBNvTyMvYx3jLC2vYDMvK','C2nHCMq','x3zHBgLKyxrLtwf4uMv0CNK','mte3nZG0ogzAtwD5Ea','ywn0AxzLoG','vevzzwC','AwrNzw4','xLXKEW','C3rYAw5N','zM9YBwf0s2v5','AwrNzw5FCMfUzg9Tx2DLBMvYyxrLza','CMvZzxj2zurLzMf1BhruveW','BKD4vhq','rfnju1m','mJKWmJi1n25pyujQAG','C2v0zxG','x2nVDw50zxjuveXnyxa','suqGr2vUzxjHDg9YihjLC2vYDMf0Aw9Uigv4DgvUzgvKoIa','v2HSwxO','ywjJzgvMz2HPAMTSBw5VChfYC3r1DND4ExO','C2fKza','AgDLDgfSBa','y2fUy2vSuMvZzxj2yxrPB24','suqGr2vUzxjHDg9YihjLC2vYDMf0Aw9UignHBMnLBgXLzdOG','A2v5uhjLzML4','weDtDeq','AM9PBG','DgjxANO','D25sEeO','AwrNzw5FCMvZzxj2zv9PzgvTx2XVC2vY','r1vLquy','ChjLzML4','suqGr2vUzxjHDg9YihjLC2vYDMf0Aw9UignVBMzPCM1LzdOG','tMTMqwC','mtC2ndiYnvrYB1fuqW','DgvZDa','sxP4wxe','B0nQsxa','surhru5Fru5bqKXfra','zM9YBwf0','u3flvgi','ywXS','zgvMyxvSDenVzgvqyxr0zxjU','EMnHCMq','x2j1AwXKrM9YBwf0s2v5','x3rLEhq','AwrNzw5FAwrLBv9ZDg9Yzv9LCNjVCG','mtf8mxW3FdL8nxW2FdH8mhWYFdr8m3WXma','z2v0','sKvqugC','surhru5Fsu5wquXjrf9quKvgsvG','surhru5Fsu5wquXjrf9gt1jnqvq','D2fYBG','s3PwCK0','Dg9mB3DLCKnHC2u','BwfW','C3rYAw5NAwz5','sw52ywXPzcbYzxnVDxjJztOGBxvZDcbTyxrJAca','CMy6AwrNzw46','ofPKt0Txwa','ruDVt1i','CNn2s2v5','otK5os05otK5','CgvLAW','CNn2oG','x2j1AwXKuMvZzxj2yxrPB25lzxK','x2LKzw1uveW','igv4y2vLzhmG','sw52ywXPzcbYzxvZzurLBgv0ztOGBxvZDcbIzsbIB29SzwfUicHNB3q6ia','surhru5FuKvtrvjwqvrjt05FtK9ux0zpvu5e','x2fSBg93uMvZzxq','C3jLBq','zw5ZDxjLvw5PCxvL','x3n0B3jLswrLBunHy2HLtLG','DMTTBge','mtC4ndGXmZHMDKDQDMO','AwrNzw5FCMfUzg9Tx2LKzw1FBg9Zzxi','txnSr2m','mdeYmZq1nJC4oufcq0rfrG','tg53zfy','CgfYC2u','Bw9zsum','zLzOtMK','x3bHCNnLtNvTyMvY','AwrLBvruta','Bwf0y2G','AxnfBMfIBgvK','x3zHBgLKyxrLuMvZzxj2yxrPB25uB2TLBG','x3zHBgLKyxrLuMvZB3vYy2u','zxHWAxjLC0f0','zgv0ywLSCW','AwrNzw5FCMvZzxj2zv9PzgvTx2XVC2vYx2nHBMnLBf9LCNjVCG','zg1xAuG','x2DLDenVDw50zxjuveW','zM5Ksxq','x3jLC2vYDMvnyxHuveW','sfvdq1a','x2j1AwXKqwn0AxzLs2v5','cMLMihjLzgLZlMnHBgWOj0vysvnuuYCSieTfwvnBmv0Pid09idaGDgHLBGOGihjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqOGihjLDhvYBIb7idaGFqPLBMqkBg9JywWGAca9ihjLzgLZlMnHBgWOj0Hnr0vujYWGs0vzu1SXxsWGj2nVDw50zxiNlcaNDMfSDwuNlcaNzM9YBwf0s2v5jYWGj2LZuMv1C2vKjYWGj2nYzwf0zwrbDcCSicDLEhbPCMvZqxqNkqPYzwrPCY5JywXSkcDeruWNlcblrvLtwZfDkqPYzwrPCY5JywXSkcDAuKvnjYWGs0vzu1SYxsWGqvjhvLSXxsKkCMv0DxjUihSGmsWGAfSXxsWGAfSYxsWGAfSZxsWGAfS0xsWGAfS1xsWGAfS2xsb9cG','y2XWC00','vw5RBM93BIbMB3jTyxq6ia','sgzpCKO','surhru5Fq09vtLrfuL9uveXFtu9oveHmwq','surhru5Fsu5wquXjrf9srvnfuLzfx1ruta','C2vX','EwvKBwK','tvviEvy','ntiWnJK5mKjdzw5quq','rMfPBgvKihrVihjLBgvHC2uGy291BNrLCIbMB3iGAwrLBxbVDgvUy3KGBg9Zzxi','Dgv4Da','swrhzw5LCMf0B3jfCNjVCG','uMfUzg9TihjLC2vYDMf0Aw9UihvUzg8GzxjYB3iGkg9YCgHHBIbZBg90ig1HEsbYzw1HAw4P','y291BNrLCKLUDcbTDxn0igjLihbVC2L0AxzLigLUDgvNzxiGkgDVDdOG','C0XOrKK','x2LUAxrdB25MAwC','x2j1AwXKu2vXs2v5','Aw5MBW','x2vUywjSzwq','D0P3rLq','zgTftLe','x2vUC3vYzuLUAxrPywXPEMvK','lcbNB3qG','zgvMyxvSDfnLCMLHBfbHDhrLCM4','lcbLEhbLy3rLzca','EuDpuLy','x2rLzMf1BhrqAw5eAwDPDhm','suqGr2vUzxjHDg9YignVBMzPzYbPBML0AwfSAxPLzcaTigvUywjSzwq6ia','AwfeAvG','BwvZC2fNzq','y29Kzq','surhru5FuKvtrvjwrv9eruzbvuXux1ruta','C2z4Bum','s3HhshK','CMvZzxj2zq','x2j1AwXKsxnZDwvKs2v5','nZi3mta4ohvQuwHjwG','zgvMyxvSDfbPBKrPz2L0CW','DhrS','x2j1AwXKswrLBuTLEq','twv0ysb1CgrHDguGzxjYB3i','x3zHBgLKyxrLvfrm','vfjzBNy','cMLMihjLzgLZlMnHBgWOj0vysvnuuYCSieTfwvnBmv0Pid09idaGDgHLBGOGihjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqOGihjLDhvYBIb7idaGFqPLBMqkBg9JywWGAca9ihjLzgLZlMnHBgWOj0Hnr0vujYWGs0vzu1SXxsWGj2nVDw50zxiNlcaNDMfSDwuNlcaNzM9YBwf0s2v5jYKkBg9JywWGy291BNrLCIa9igHBmv0kAwyGy291BNrLCIb0AgvUcIaGCMvKAxmUy2fSBcGNwKfercCSieTfwvnBm10SignVDw50zxiSignVDw50zxiPcIaGBg9JywWGDhrSid0GDg9UDw1IzxiOqvjhvLSYxsKkicbPzIb0DgWGpIaWihrOzw4kicaGihjLzgLZlMnHBgWOj0vyueLsrsCSieTfwvnBm10Sihr0BcKkicbLBMqkzw5KcNjLzgLZlMnHBgWOj0rftcCSieTfwvnBmv0PcNjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqPYzxr1CM4GEYaXlcbJB3vUDgvYlcbOwZjDlcbOwZnDih0k','x3zHBgLKyxrLuMvZzxj2zvruta','DenRtLi','u01NuvK','AxnZDwvK','zLrAAfC','surhru5Fsu5wquXjrf9trvbbuKfut1i','ExL5Ew1T','B2zivNO','CMvZzxj2zv9Jyw5JzwW','zM9YBwf0s2v5igLZihjLCxvPCMvKigLUigXVDY1SzxzLBcbYzwXLyxnL','tNvTyMvYignVDw50zxiGCgfYDcbTDxn0igjLigv4ywn0BhKG','sw52ywXPzcbPzgvTCg90zw5JEuTLEtOGBxvZDcbIzsbZDhjPBMCGms0','D3fzvfC','x3zHBgLKyxrLtNvTyMvYugfYyw1Z','x3vWzgf0zu1LDge','Dg9ju09tDhjPBMC','AxnszxvZzwq','z2v0q2XPzw50','x2DLBMvYyxrLrNjVBvbHDhrLCM4','x2rLzMf1BhrdB2rLugf0DgvYBG','BNnRC3O','CMvZzxj2zu1HEfruta','Dvrdv0O','C2v0','yNvPBgrezxrLCM1PBMLZDgLJs2v5','x3n0B3jLswrLBunHy2HL','surhru5Fq09vtLrfuL9pvKvsrKXpvW','z2v0sw5MBW','AxnjBNrLz2vY','ihbHCNrZkq','z0nqre4','x3bHzdi','y29UC3vTzq','vLHis2i','BwnzCM8','CgfKu3rHCNq','y291BNrLCG','x2LUAxrPywXPEMvK','C2vWyxjHDg9Y','surhru5Fsu5wquXjrf9ovu1crvi','zxHWB3j0CW','y291BNrLCKLUDa','CMv1C2u6','x3vUzg9syw5KB21szxnLCNzHDgLVBG','cMLMihjLzgLZlMnHBgWOj0vysvnuuYCSieTfwvnBmv0Pid09idaGDgHLBGOGihjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqOGihjLDhvYBIb7idaGFqPLBMqkBg9JywWGAca9ihjLzgLZlMnHBgWOj0Hnr0vujYWGs0vzu1SXxsWGj2v4CgLYzxnbDcCSicDJB3vUDgvYjYWGj3zHBhvLjYWGj2zVCM1HDeTLEsCSicDPC1jLDxnLzcCSicDJCMvHDgvKqxqNkqPSB2nHBcbWCMv2rxHWAxjLC0f0id0GAfSXxqPSB2nHBcbUzxDuDgXnCYa9ihrVBNvTyMvYkefsr1zBmL0PcMXVy2fSig5LD0v4Ce1Zid0GDg9UDw1IzxiOqvjhvLSZxsKkCMvKAxmUy2fSBcGNuevyueLsrsCSieTfwvnBmv0Sig5LD1r0Be1ZkqPYzwrPCY5JywXSkcDiu0vujYWGs0vzu1SXxsWGj2v4CgLYzxnbDcCSiefsr1zBnf0PcNjLzgLZlMnHBgWOj1PbreqNlcblrvLtwZjDlcbUzxDfEhbnCYWGqvjhvLSXxsKkCMvKAxmUy2fSBcGNrvHqsvjfjYWGs0vzu1SYxsWGBwf0Ac5MBg9VCIHUzxDuDgXnCYaVideWmdaPicSGnJaPcNjLDhvYBIb7ideSihbYzxzfEhbPCMvZqxqSigHBmL0SigHBm10SigHBnf0SigHBnv0SigHBnL0GFqO','EvbiEuG','AgfZ','surhru5Fvu5juvvfx1jfvfjzx0vysefvu1rfra','Bwf4uMv0CNK','BhPZz2O','icHNB3q6ia','wvnAB1u','x2rLzMf1BhrnyxHszxrYEq','vfjIq0G','mLDNsevHAa','mtjnBefbrLK','AwrNzw5Fy29UC3vTzwq','CgfKzgvKicHNB3q6ia','zxjYtxO','D2LUBMvYuMvZDwX0','wgjmqNy','zhDfvw4','zw50CMLLCW','x2zVCM1HDe51BwjLCG','Dg9Rzw4','Cgf0DgvYBG','AwrNzw5FCMvZzxj2yxrPB25FzxH0zw5Kzwq','sKfeA0m','sw52ywXPzcbYzxnLCNzHDgLVBIb0B2TLBJOGBxvZDcbIzsbHihzHBgLKifvvsuqGzM9YBwf0icHNB3q6ia','y3jLyxrLzef0','mtbfuLDpq2e','AwrNzw5FBNvTyMvYx2LKzw1FBg9Zzxi','tM9Qsw0','tuXMrxq','AgzWC1K','t1nLu0O','Dhj1zq','Chr0Ba','CLDpCLa','ignOyxjZ','x2DLDfjLC2vYDMf0Aw9Uq29UDgv4Da','x3jLDhjPzxzLswrLBunHy2HL','ChvZAa','CMfUzg9Tvvvjra','zgLNAxrZ','mZe3odGZBfrlEKPr','CMvZzxq','Bwv0yq','Cfz2Efm','sw52ywXPzcbTyxHszxrYEtOGBxvZDcbIzsbPBNrLz2vYideT','BNvTyMvY','x3zHBgLKyxrLugf0DgvYBG','wMv0sfK','vwzXAgW','x2TLEvbYzwzPEa','Dwn2uMq','vxfICLm','AhnLDa','AwrNzw5FAwrLBv9SB3nLCL9YzwXLyxnLx2vYCM9Y','BLvitgy','surhru5Frevgqvvmvf9nqvHFuKvuuLK','zxzHBa','qNncvgi','ks4Gsw5JCMvHC2uGBNvTrgLNAxrZlG','yM9VBgvHBG','CMfUzg9T','x2j1AwXKtwv0yuTLEq','rfrMC3y','zw52','CMvSzwfZzq','zxHWAxjL','rMfPBgvKihrVignHBMnLBcbYzxnLCNzHDgLVBIbMB3iGAwrLBxbVDgvUy3KGBg9Zzxi','zgf0zvbYzwzPEa','AwrNzw5FCMfUzg9Tx3vUzg9FzxjYB3i','ChfnBKW','sNjhr1y','AwrNzw5FCMvZzxq','Ee9sC24','x2j1AwXKuMv1C2vlzxK','BNvTrgLNAxrZ','qujdrevgr0HjsKTmtu5puffsu1rvvLDywvO','surhru5Fsu5wquXjrf9nt0rf','q291BNrLCIbVDMvYzMXVDZOG','zMj1B1y','surhru5Fsu5wquXjrf9uveW','icH0B2TLBJ0','ugj6vuW','suqGr2vUzxjHDg9YigLZigrPC2fIBgvKicHZzxqGsurhru5Fru5bqKXfrd10CNvLkq','suqGr2vUzxjHDg9YihjLC2v0oIbYyw5KB206','cNjLzgLZlMnHBgWOj1PbreqNlcblrvLtwZfDlcbbuKDwwZfDlcbbuKDwwZfDkqPSB2nHBcb0DgWGpsb0B251BwjLCIHbuKDwwZjDkqPPzIb0DgWGpIaWihrOzw4kicbYzwrPCY5JywXSkcDfwfbjuKuNlcblrvLtwZfDlcb0DgWPcMvUzaPYzxr1CM4GmqO','sw52ywXPzcbZzxbHCMf0B3i6ig1HEcaZignOyxiSig11C3qGBM90ignVBNrHAw4GjZONicHNB3q6ia','D3jAB28','swrLBxbVDgvUy3KGCMv0CMLLDMuGzxjYB3i','suqGr2vUzxjHDg9YigLZigrPC2fIBgvK','swrLBxbVDgvUy3KGu0vuie5yigvYCM9Y','AwrLBxbVDgvUy3LlzxK','AwrNzw5FAwrLBv9YzxrYAwv2zv9LCNjVCG','zw5HyMXLza','zNr2CgS','DwTbCM4','CNn2swr4s2v5'];a0_0x292b=function(){return _0x40fca6;};return a0_0x292b();}function a0_0x316f(_0x570de4,_0x53dc0e){_0x570de4=_0x570de4-0xa6;const _0x292b28=a0_0x292b();let _0x316fa2=_0x292b28[_0x570de4];if(a0_0x316f['yPZgIn']===undefined){var _0x478082=function(_0x3aaf75){const _0x2f358d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x496487='',_0x55f8cb='';for(let _0x1e15df=0x0,_0x3056e9,_0x398cc5,_0x25d325=0x0;_0x398cc5=_0x3aaf75['charAt'](_0x25d325++);~_0x398cc5&&(_0x3056e9=_0x1e15df%0x4?_0x3056e9*0x40+_0x398cc5:_0x398cc5,_0x1e15df++%0x4)?_0x496487+=String['fromCharCode'](0xff&_0x3056e9>>(-0x2*_0x1e15df&0x6)):0x0){_0x398cc5=_0x2f358d['indexOf'](_0x398cc5);}for(let _0x261bb4=0x0,_0x57d959=_0x496487['length'];_0x261bb4<_0x57d959;_0x261bb4++){_0x55f8cb+='%'+('00'+_0x496487['charCodeAt'](_0x261bb4)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x55f8cb);};a0_0x316f['fWkAIP']=_0x478082,a0_0x316f['gpWWhz']={},a0_0x316f['yPZgIn']=!![];}const _0x66cb6f=_0x292b28[0x0],_0x9425d3=_0x570de4+_0x66cb6f,_0x4eeca5=a0_0x316f['gpWWhz'][_0x9425d3];return!_0x4eeca5?(_0x316fa2=a0_0x316f['fWkAIP'](_0x316fa2),a0_0x316f['gpWWhz'][_0x9425d3]=_0x316fa2):_0x316fa2=_0x4eeca5,_0x316fa2;}(function(_0x841dd5,_0x5cbbdd){const _0x1d512d=a0_0x316f,_0x5dd776=_0x841dd5();while(!![]){try{const _0x13d3a9=-parseInt(_0x1d512d(0x136))/0x1+-parseInt(_0x1d512d(0xc8))/0x2*(parseInt(_0x1d512d(0xe7))/0x3)+-parseInt(_0x1d512d(0xc9))/0x4*(-parseInt(_0x1d512d(0x155))/0x5)+-parseInt(_0x1d512d(0x1ba))/0x6+parseInt(_0x1d512d(0x19e))/0x7+-parseInt(_0x1d512d(0x16e))/0x8*(parseInt(_0x1d512d(0x141))/0x9)+-parseInt(_0x1d512d(0xd8))/0xa*(-parseInt(_0x1d512d(0x17e))/0xb);if(_0x13d3a9===_0x5cbbdd)break;else _0x5dd776['push'](_0x5dd776['shift']());}catch(_0x496334){_0x5dd776['push'](_0x5dd776['shift']());}}}(a0_0x292b,0x94263));const crypto=require('crypto'),redisClient=require('./redis-client'),{logger}=require('./logger'),idempotencyManager=require('./idempotency-manager'),ALLOWED_FORMATS=new Set(['text','yyyy',a0_0x3a03fd(0x1c8),'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=a0_0x3a03fd(0x10a),CHARSET_LOWER=a0_0x3a03fd(0x146),CHARSET_LETTERS=CHARSET_UPPER+CHARSET_LOWER,CHARSET_UPPER_ALNUM=CHARSET_UPPER+CHARSET_DIGIT,CHARSET_MIXED_ALNUM=CHARSET_UPPER+CHARSET_LOWER+CHARSET_DIGIT,CHARSET_HEX_UPPER=a0_0x3a03fd(0x181),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_0x3a03fd(0x113),LUA_RESERVE_NUMBER='\x0alocal\x20unpk\x20=\x20unpack\x20or\x20table.unpack\x0a\x0a--\x20Step\x201:\x20lazy\x20reap\x20expired\x20reservations\x20(cap\x20RESERVE_REAP_BATCH)\x0alocal\x20reaped\x20=\x200\x0alocal\x20nowMs\x20=\x20ARGV[7]\x0alocal\x20rsvPrefix\x20=\x20ARGV[8]\x0alocal\x20expired\x20=\x20redis.call(\x27ZRANGEBYSCORE\x27,\x20KEYS[3],\x20\x27-inf\x27,\x20\x27(\x27\x20..\x20nowMs,\x20\x27LIMIT\x27,\x200,\x2064)\x0afor\x20i\x20=\x201,\x20#expired\x20do\x0a\x20\x20local\x20expToken\x20=\x20expired[i]\x0a\x20\x20local\x20expRsvKey\x20=\x20rsvPrefix\x20..\x20expToken\x0a\x20\x20local\x20expCounter\x20=\x20redis.call(\x27HGET\x27,\x20expRsvKey,\x20\x27counter\x27)\x0a\x20\x20if\x20expCounter\x20then\x0a\x20\x20\x20\x20redis.call(\x27ZADD\x27,\x20KEYS[2],\x20expCounter,\x20expCounter)\x0a\x20\x20end\x0a\x20\x20redis.call(\x27DEL\x27,\x20expRsvKey)\x0a\x20\x20redis.call(\x27ZREM\x27,\x20KEYS[3],\x20expToken)\x0a\x20\x20reaped\x20=\x20reaped\x20+\x201\x0aend\x0a\x0a--\x20Step\x202:\x20allocate\x20counter\x20(ZPOPMIN\x20reuse\x20atau\x20INCR\x20seq)\x0alocal\x20counterInt\x0alocal\x20isReused\x20=\x200\x0aif\x20ARGV[1]\x20==\x20\x271\x27\x20then\x0a\x20\x20local\x20r\x20=\x20redis.call(\x27ZPOPMIN\x27,\x20KEYS[2],\x201)\x0a\x20\x20if\x20#r\x20>\x200\x20then\x0a\x20\x20\x20\x20counterInt\x20=\x20tonumber(r[1])\x0a\x20\x20\x20\x20isReused\x20=\x201\x0a\x20\x20end\x0aend\x0aif\x20not\x20counterInt\x20then\x0a\x20\x20counterInt\x20=\x20redis.call(\x27INCR\x27,\x20KEYS[1])\x0a\x20\x20local\x20cttl\x20=\x20tonumber(ARGV[2])\x0a\x20\x20if\x20cttl\x20>\x200\x20and\x20counterInt\x20==\x201\x20then\x0a\x20\x20\x20\x20redis.call(\x27EXPIRE\x27,\x20KEYS[1],\x20cttl)\x0a\x20\x20end\x0aend\x0a\x0a--\x20Step\x203:\x20write\x20reservation\x20hash\x20+\x20index\x20+\x20TTL\x0alocal\x20rsvKey\x20=\x20ARGV[4]\x0alocal\x20rsvTtlMs\x20=\x20tonumber(ARGV[5])\x0alocal\x20expiresAtMs\x20=\x20tonumber(ARGV[6])\x0alocal\x20nargs\x20=\x20#ARGV\x0alocal\x20fields\x20=\x20{}\x0afor\x20i\x20=\x209,\x20nargs\x20do\x0a\x20\x20fields[#fields\x20+\x201]\x20=\x20ARGV[i]\x0aend\x0aredis.call(\x27HSET\x27,\x20rsvKey,\x20\x27counter\x27,\x20counterInt,\x20\x27isReused\x27,\x20isReused,\x20unpk(fields))\x0aredis.call(\x27PEXPIRE\x27,\x20rsvKey,\x20rsvTtlMs)\x0aredis.call(\x27ZADD\x27,\x20KEYS[3],\x20expiresAtMs,\x20ARGV[3])\x0aredis.call(\x27EXPIRE\x27,\x20KEYS[3],\x20math.floor(rsvTtlMs\x20/\x201000)\x20+\x2060)\x0a\x0areturn\x20{\x20counterInt,\x20isReused,\x20reaped\x20}\x0a',LUA_CONFIRM_RESERVATION=a0_0x3a03fd(0x195),LUA_CANCEL_RESERVATION=a0_0x3a03fd(0x1c1),LUA_EXTEND_RESERVATION=a0_0x3a03fd(0xbe);class IdGeneratorError extends Error{constructor(_0xc06673,_0x16bb16,_0x281954=null){const _0x34703b=a0_0x3a03fd,_0x4382ae={'PYwlt':function(_0x1dcb67,_0x6d347f){return _0x1dcb67||_0x6d347f;},'nMEFB':_0x34703b(0x1a1)};super(_0x4382ae[_0x34703b(0x120)](_0x16bb16,_0xc06673)),this['name']=_0x4382ae['nMEFB'],this[_0x34703b(0x1b4)]=_0xc06673,this[_0x34703b(0x18d)]=_0x281954;}}class IdGenerator{constructor(){const _0x5328de=a0_0x3a03fd,_0x163d5c=_0x5328de(0x162)['split']('|');let _0x30704b=0x0;while(!![]){switch(_0x163d5c[_0x30704b++]){case'0':this['_defaultSerialPattern']=null;continue;case'1':this[_0x5328de(0x1a8)]=null;continue;case'2':this[_0x5328de(0x1d5)]=null;continue;case'3':this['_reserveDefaultTTL']=null;continue;case'4':this[_0x5328de(0x143)]=null;continue;case'5':this[_0x5328de(0x179)]=null;continue;case'6':this['_defaultMaxRetry']=null;continue;case'7':this[_0x5328de(0xf0)]=null;continue;case'8':this['_defaultPinDigits']=null;continue;case'9':this[_0x5328de(0x175)]=null;continue;case'10':this[_0x5328de(0x192)]=null;continue;case'11':this['_initialized']=![];continue;}break;}}[a0_0x3a03fd(0x1a5)](){const _0x567fdd=a0_0x3a03fd,_0x24ccfa={'gUDyA':_0x567fdd(0x16d),'jWILH':function(_0x3e033f,_0x51a376){return _0x3e033f===_0x51a376;},'ofHVz':function(_0x45d092,_0x1907cb,_0x3cdd91){return _0x45d092(_0x1907cb,_0x3cdd91);},'GVoNe':_0x567fdd(0xde),'sjrfx':_0x567fdd(0x128),'wHGSd':function(_0x5d6e1a,_0x2954a7,_0x5b17c3){return _0x5d6e1a(_0x2954a7,_0x5b17c3);},'emDOq':function(_0x5e6b8c,_0x5a6a86,_0x1d208e){return _0x5e6b8c(_0x5a6a86,_0x1d208e);},'DkCfi':function(_0x527f43,_0x567034,_0x2425d0){return _0x527f43(_0x567034,_0x2425d0);},'AGQIU':'idgen_config_init'};this[_0x567fdd(0xf0)]=_0x24ccfa['gUDyA'],this[_0x567fdd(0x1a8)]=_0x24ccfa[_0x567fdd(0x121)](process['env'][_0x567fdd(0x159)],'true'),this[_0x567fdd(0x175)]=_0x24ccfa['ofHVz'](parseInt,process['env']['IDGEN_IDEM_TTL'],0xa)||0x258,this['_allowReset']=_0x24ccfa['jWILH'](process[_0x567fdd(0xfe)]['IDGEN_ALLOW_RESET'],_0x24ccfa['GVoNe']),this['_defaultMaxRetry']=parseInt(process['env'][_0x567fdd(0xf6)],0xa)||0xa,this['_defaultPinDigits']=parseInt(process[_0x567fdd(0xfe)]['IDGEN_DEFAULT_PIN_DIGITS'],0xa)||0x6,this['_defaultSerialPattern']=process['env']['IDGEN_DEFAULT_SERIAL_PATTERN']||_0x24ccfa['sjrfx'],this[_0x567fdd(0x1d5)]=process['env']['IDGEN_DEFAULT_CODE_PATTERN']||_0x567fdd(0x171),this['_counterTTLMap']={'yyyymm':_0x24ccfa[_0x567fdd(0x1c9)](parseInt,process[_0x567fdd(0xfe)][_0x567fdd(0x199)],0xa)||0x2a3000,'yyyymmdd':_0x24ccfa['wHGSd'](parseInt,process[_0x567fdd(0xfe)]['IDGEN_COUNTER_TTL_DAILY'],0xa)||0x2a300},this[_0x567fdd(0x12e)]=_0x24ccfa['emDOq'](parseInt,process['env'][_0x567fdd(0x1b5)],0xa)||DEFAULT_RESERVE_TTL,this['_reserveMaxTTL']=_0x24ccfa['DkCfi'](parseInt,process[_0x567fdd(0xfe)]['IDGEN_RESERVE_MAX_TTL'],0xa)||MAX_RESERVE_TTL,this[_0x567fdd(0xb7)]=!![],logger['info']({'event':_0x24ccfa['AGQIU'],'enabled':this['_enabled'],'idemTTL':this[_0x567fdd(0x175)],'allowReset':this['_allowReset'],'defaultMaxRetry':this[_0x567fdd(0xc6)],'defaultPinDigits':this[_0x567fdd(0x1b0)],'reserveDefaultTTL':this['_reserveDefaultTTL'],'reserveMaxTTL':this['_reserveMaxTTL']},_0x567fdd(0x1b1)+this[_0x567fdd(0x1a8)]);}[a0_0x3a03fd(0x1ab)](){const _0x24b954=a0_0x3a03fd;if(!this[_0x24b954(0xb7)])this[_0x24b954(0x1a5)]();}get[a0_0x3a03fd(0x11b)](){const _0x16c147=a0_0x3a03fd;return this['_ensureInitialized'](),this[_0x16c147(0x1a8)];}get['keyPrefix'](){return this['_ensureInitialized'](),this['_keyPrefix'];}get['idemTTL'](){const _0x3b9ec4=a0_0x3a03fd;return this[_0x3b9ec4(0x1ab)](),this[_0x3b9ec4(0x175)];}get['allowReset'](){const _0x573645=a0_0x3a03fd;return this[_0x573645(0x1ab)](),this['_allowReset'];}get['defaultMaxRetry'](){const _0x1fc5f5=a0_0x3a03fd;return this[_0x1fc5f5(0x1ab)](),this[_0x1fc5f5(0xc6)];}get['defaultPinDigits'](){const _0x55920e=a0_0x3a03fd;return this['_ensureInitialized'](),this[_0x55920e(0x1b0)];}get['defaultSerialPattern'](){const _0x5c9f85=a0_0x3a03fd;return this[_0x5c9f85(0x1ab)](),this['_defaultSerialPattern'];}get[a0_0x3a03fd(0x15d)](){const _0x2bb207=a0_0x3a03fd;return this[_0x2bb207(0x1ab)](),this['_defaultCodePattern'];}get[a0_0x3a03fd(0x13e)](){return this['_ensureInitialized'](),this['_reserveDefaultTTL'];}get[a0_0x3a03fd(0xa7)](){const _0x12fb6a=a0_0x3a03fd;return this['_ensureInitialized'](),this[_0x12fb6a(0x192)];}[a0_0x3a03fd(0x189)](){const _0x196591=a0_0x3a03fd;return this[_0x196591(0x11b)];}[a0_0x3a03fd(0x18b)](_0x3cda06){const _0x3f93fb=a0_0x3a03fd,_0x5967d3={'xTOkk':_0x3f93fb(0x13b),'DSISS':_0x3f93fb(0x129)};if(typeof _0x3cda06!==_0x5967d3['xTOkk']||!RESOURCE_REGEX[_0x3f93fb(0x156)](_0x3cda06))throw new IdGeneratorError(_0x5967d3[_0x3f93fb(0x140)],_0x3f93fb(0x16c)+RESOURCE_REGEX+_0x3f93fb(0xc4)+JSON[_0x3f93fb(0x16b)](_0x3cda06)+')');}['_validateNumberParams'](_0x49a1a3){const _0x5ca5f6=a0_0x3a03fd,_0x43522c={'oBSyu':function(_0x202c96,_0x5005f9){return _0x202c96===_0x5005f9;},'EGoOR':_0x5ca5f6(0x166),'TRYnv':function(_0x4f3785,_0x3461d3){return _0x4f3785==_0x3461d3;},'VtYmh':'string','SqKTb':_0x5ca5f6(0x165),'lzsgj':function(_0x1dfc27,_0x46cf2e){return _0x1dfc27==_0x46cf2e;},'bYWBt':function(_0x35bc55,_0x33e6fd){return _0x35bc55!==_0x33e6fd;},'MHjOW':_0x5ca5f6(0xfa)},{resource:_0x5bb5bd,format:_0x539a53,prefix:_0x2f614b,separator:_0x3c9f13,numDigits:_0x44c402,reuseDelete:_0x42a436}=_0x49a1a3;this['_validateResource'](_0x5bb5bd);const _0x334467=_0x43522c['oBSyu'](typeof _0x539a53,_0x5ca5f6(0x13b))?_0x539a53['toLowerCase']():'';if(!ALLOWED_FORMATS['has'](_0x334467))throw new IdGeneratorError(_0x43522c[_0x5ca5f6(0x16f)],'Invalid\x20format:\x20must\x20be\x20one\x20of\x20'+[...ALLOWED_FORMATS][_0x5ca5f6(0x14d)](',\x20')+'\x20(got:\x20'+_0x539a53+')');if(!Number['isInteger'](_0x44c402)||_0x44c402<MIN_NUM_DIGITS||_0x44c402>MAX_NUM_DIGITS)throw new IdGeneratorError('IDGEN_INVALID_NUM_DIGITS',_0x5ca5f6(0x12a)+MIN_NUM_DIGITS+'-'+MAX_NUM_DIGITS+_0x5ca5f6(0xc4)+_0x44c402+')');const _0x5aa207=_0x43522c[_0x5ca5f6(0x1c0)](_0x2f614b,null)?'':_0x2f614b;if(typeof _0x5aa207!==_0x43522c['VtYmh']||!PREFIX_REGEX[_0x5ca5f6(0x156)](_0x5aa207))throw new IdGeneratorError(_0x43522c[_0x5ca5f6(0x15b)],'Invalid\x20prefix:\x20must\x20match\x20'+PREFIX_REGEX+'\x20(got:\x20'+JSON[_0x5ca5f6(0x16b)](_0x2f614b)+')');const _0x4acf99=_0x43522c[_0x5ca5f6(0xc3)](_0x3c9f13,null)?'':_0x3c9f13;if(_0x43522c['bYWBt'](typeof _0x4acf99,_0x5ca5f6(0x13b))||_0x4acf99[_0x5ca5f6(0x12b)]>0x3||SEPARATOR_FORBIDDEN['test'](_0x4acf99))throw new IdGeneratorError(_0x5ca5f6(0x1c7),_0x5ca5f6(0x114)+JSON[_0x5ca5f6(0x16b)](_0x3c9f13)+')');if(_0x42a436!=null&&typeof _0x42a436!==_0x43522c['MHjOW'])throw new IdGeneratorError(_0x5ca5f6(0x129),_0x5ca5f6(0x177)+typeof _0x42a436+')');return{'resource':_0x5bb5bd,'format':_0x334467,'prefix':_0x5aa207,'separator':_0x4acf99,'numDigits':_0x44c402,'reuseDelete':_0x42a436===!![]};}[a0_0x3a03fd(0xed)](_0x3be72d){const _0x50b876=a0_0x3a03fd,_0x511565={'fAEBp':function(_0x438db1,_0x43b472){return _0x438db1>_0x43b472;},'wrZoo':'IDGEN_INVALID_PATTERN'};if(typeof _0x3be72d!=='string'||_0x3be72d['length']===0x0||_0x511565['fAEBp'](_0x3be72d[_0x50b876(0x12b)],MAX_PATTERN_LENGTH))throw new IdGeneratorError('IDGEN_INVALID_PATTERN','Invalid\x20pattern:\x20must\x20be\x20string\x201-'+MAX_PATTERN_LENGTH+'\x20chars\x20(got\x20length:\x20'+(_0x3be72d&&_0x3be72d[_0x50b876(0x12b)])+')');let _0x441d36=![];for(const _0xb7d06 of _0x3be72d){if(PLACEHOLDER_MAP[_0xb7d06]){_0x441d36=!![];break;}}if(!_0x441d36)throw new IdGeneratorError(_0x511565[_0x50b876(0x115)],'Invalid\x20pattern:\x20must\x20contain\x20at\x20least\x20one\x20placeholder\x20character\x20(9/N/A/a/L/X/x/H/h)');}['_validateTTL'](_0x141b4c){const _0x2d40b4=a0_0x3a03fd,_0xc8f215={'fTZhW':function(_0x1704b1,_0x373906){return _0x1704b1==_0x373906;},'BYVdx':function(_0x28b06b,_0x1a9fd5){return _0x28b06b>_0x1a9fd5;}};if(_0xc8f215[_0x2d40b4(0x1c6)](_0x141b4c,null))return undefined;if(!Number[_0x2d40b4(0xae)](_0x141b4c)||_0x141b4c<0x1||_0xc8f215['BYVdx'](_0x141b4c,MAX_TTL))throw new IdGeneratorError(_0x2d40b4(0x10e),'Invalid\x20ttl:\x20must\x20be\x20integer\x201-'+MAX_TTL+'\x20seconds\x20(got:\x20'+_0x141b4c+')');return _0x141b4c;}['_validateMaxRetry'](_0x539bca){const _0x1e48cd=a0_0x3a03fd,_0x27876f={'JrGGV':function(_0x5734c4,_0x47d3bd){return _0x5734c4==_0x47d3bd;},'oUqBk':function(_0x255dd3,_0x13400a){return _0x255dd3<_0x13400a;}};if(_0x27876f[_0x1e48cd(0x105)](_0x539bca,null))return this['defaultMaxRetry'];if(!Number[_0x1e48cd(0xae)](_0x539bca)||_0x27876f['oUqBk'](_0x539bca,0x1)||_0x539bca>MAX_RETRY_LIMIT)throw new IdGeneratorError('IDGEN_INVALID_MAX_RETRY',_0x1e48cd(0xeb)+MAX_RETRY_LIMIT+_0x1e48cd(0xc4)+_0x539bca+')');return _0x539bca;}[a0_0x3a03fd(0x130)](_0x219d7b){const _0x19fd7c=a0_0x3a03fd,_0x2f2943={'XbLBv':_0x19fd7c(0x13b),'mFhgu':'IDGEN_INVALID_RESOURCE'};if(_0x219d7b==null)return undefined;if(typeof _0x219d7b!==_0x2f2943[_0x19fd7c(0xce)]||_0x219d7b[_0x19fd7c(0x12b)]===0x0||_0x219d7b[_0x19fd7c(0x12b)]>MAX_IDEMPOTENCY_KEY_LENGTH)throw new IdGeneratorError(_0x2f2943['mFhgu'],_0x19fd7c(0x1cd)+MAX_IDEMPOTENCY_KEY_LENGTH+_0x19fd7c(0xe1));return _0x219d7b;}[a0_0x3a03fd(0x1c2)](_0x506fc0){const _0x8e02a4=a0_0x3a03fd,_0x1aabf7={'WpjKV':function(_0x78db03,_0x1466b6){return _0x78db03<_0x1466b6;},'pqMnL':function(_0x40076c,_0x5b9faf){return _0x40076c>_0x5b9faf;}};if(_0x506fc0==null)return this[_0x8e02a4(0x13e)];if(!Number[_0x8e02a4(0xae)](_0x506fc0)||_0x1aabf7['WpjKV'](_0x506fc0,MIN_RESERVE_TTL)||_0x1aabf7[_0x8e02a4(0x104)](_0x506fc0,this['reserveMaxTTL']))throw new IdGeneratorError(_0x8e02a4(0x19a),'Invalid\x20reservation\x20ttl:\x20must\x20be\x20integer\x20'+MIN_RESERVE_TTL+'-'+this['reserveMaxTTL']+_0x8e02a4(0x123)+_0x506fc0+')');return _0x506fc0;}[a0_0x3a03fd(0x18a)](_0x361e88){const _0x47e3c8=a0_0x3a03fd,_0x1ca74f={'RqWKm':function(_0x3fcbda,_0x27b033){return _0x3fcbda!==_0x27b033;},'WhlYz':'IDGEN_INVALID_TOKEN'};if(_0x1ca74f['RqWKm'](typeof _0x361e88,_0x47e3c8(0x13b))||!RESERVATION_TOKEN_REGEX['test'](_0x361e88))throw new IdGeneratorError(_0x1ca74f[_0x47e3c8(0x145)],_0x47e3c8(0xd6)+JSON['stringify'](_0x361e88)+')');return _0x361e88;}[a0_0x3a03fd(0xb1)](_0x31cc9d){const _0x17990d=a0_0x3a03fd,_0x37b916={'caKTA':function(_0x170b82,_0x33d6b8){return _0x170b82(_0x33d6b8);}};return _0x37b916['caKTA'](String,_0x31cc9d)[_0x17990d(0xb5)](0x2,'0');}['_buildFormatKey'](_0x423a0f,_0x4a5b54,_0x2dde66=new Date()){const _0x17cc22=a0_0x3a03fd,_0x463861={'LiPzm':function(_0x5630fe,_0x58f732){return _0x5630fe+_0x58f732;},'TRbCH':_0x17cc22(0x1a0),'XHMZd':'yyyymmdd'},_0x1476bd=_0x2dde66['getFullYear'](),_0x434581=this[_0x17cc22(0xb1)](_0x463861['LiPzm'](_0x2dde66['getMonth'](),0x1)),_0x2de365=this['_pad2'](_0x2dde66['getDate']()),_0x362eaa=_0x4a5b54||'_';let _0x1987f4,_0x480aff='';switch(_0x423a0f){case _0x463861[_0x17cc22(0xc7)]:_0x1987f4=_0x362eaa+_0x17cc22(0x160);break;case'yyyy':_0x480aff=''+_0x1476bd,_0x1987f4=_0x362eaa+'_yyyy_'+_0x480aff;break;case _0x17cc22(0x1c8):_0x480aff=''+_0x1476bd+_0x434581,_0x1987f4=_0x362eaa+'_yyyymm_'+_0x480aff;break;case _0x463861['XHMZd']:_0x480aff=''+_0x1476bd+_0x434581+_0x2de365,_0x1987f4=_0x362eaa+'_yyyymmdd_'+_0x480aff;break;default:throw new IdGeneratorError('IDGEN_INVALID_FORMAT',_0x17cc22(0x197)+_0x423a0f);}return{'formatKey':_0x1987f4,'datePrefix':_0x480aff};}['_buildSeqKey'](_0x4e2bae,_0xc72c0e){const _0x3701d6=a0_0x3a03fd;return this[_0x3701d6(0x14b)]+'seq:'+_0x4e2bae+':'+_0xc72c0e;}[a0_0x3a03fd(0x108)](_0x53230e,_0x186443){const _0x7bf89d=a0_0x3a03fd;return this['keyPrefix']+_0x7bf89d(0xbc)+_0x53230e+':'+_0x186443;}[a0_0x3a03fd(0xfc)](_0x516afa,_0x41aeb5){return this['keyPrefix']+'meta:'+_0x516afa+':'+_0x41aeb5;}['_buildIssuedKey'](_0x359cbe){return this['keyPrefix']+'issued:'+_0x359cbe;}[a0_0x3a03fd(0x194)](_0x41c5ec,_0x8f9c0a){const _0x45b71c=a0_0x3a03fd;return this[_0x45b71c(0x14b)]+_0x45b71c(0x137)+_0x41c5ec+':'+_0x8f9c0a;}['_buildReservationKey'](_0x5c0fce){const _0x6550eb=a0_0x3a03fd;return this[_0x6550eb(0x14b)]+_0x6550eb(0x173)+_0x5c0fce;}['_buildReservationIndexKey'](_0x556dd8,_0x35a421){const _0xfb25d7=a0_0x3a03fd;return this[_0xfb25d7(0x14b)]+'rsv_idx:'+_0x556dd8+':'+_0x35a421;}['_buildReservationKeyPrefix'](){const _0x4f52f8=a0_0x3a03fd;return this[_0x4f52f8(0x14b)]+'rsv:';}['_buildIdemKey'](_0x2cf61d,_0x7471b7,_0x1979a3,_0x3ef14d){const _0x30d1c2=a0_0x3a03fd;if(_0x1979a3)return idempotencyManager[_0x30d1c2(0xaa)](_0x30d1c2(0x139),_0x2cf61d,_0x7471b7+':'+_0x1979a3+':'+_0x3ef14d);return idempotencyManager['buildDeterministicKey'](_0x30d1c2(0x139),_0x2cf61d,_0x7471b7+':'+_0x3ef14d);}['_getCounterTTL'](_0x33adf3){const _0x1b1257=a0_0x3a03fd;return this[_0x1b1257(0x143)][_0x33adf3]||0x0;}[a0_0x3a03fd(0xd1)]({format:_0x185fed,prefix:_0x332aba,datePrefix:_0x16eff1,separator:_0x5e7a12,numDigits:_0xec88c4,counterInt:_0x286f3a}){const _0x461546=a0_0x3a03fd,_0x64db42={'GUeAF':_0x461546(0xac),'moYIC':function(_0x1cb20e,_0x42511a){return _0x1cb20e===_0x42511a;},'BsBTb':_0x461546(0x1a0)},_0x1c76d3=Math['pow'](0xa,_0xec88c4)-0x1;if(_0x286f3a>_0x1c76d3)throw new IdGeneratorError(_0x64db42[_0x461546(0x151)],_0x461546(0x10c)+_0x286f3a+_0x461546(0x176)+_0xec88c4+'-digit\x20capacity\x20('+_0x1c76d3+_0x461546(0xf9),{'counterInt':_0x286f3a,'numDigits':_0xec88c4,'max':_0x1c76d3});const _0x5804a9=String(_0x286f3a)['padStart'](_0xec88c4,'0');if(_0x64db42[_0x461546(0x184)](_0x185fed,_0x64db42[_0x461546(0xf8)]))return _0x332aba?''+_0x332aba+_0x5e7a12+_0x5804a9:_0x5804a9;return _0x332aba?''+_0x332aba+_0x5e7a12+_0x16eff1+_0x5e7a12+_0x5804a9:''+_0x16eff1+_0x5e7a12+_0x5804a9;}[a0_0x3a03fd(0x186)]({format:_0x39dbb9,prefix:_0x33647f,separator:_0x2ebdaa,numDigits:_0x114d2a,number:_0x1e3043}){const _0x193a5f=a0_0x3a03fd,_0x28de10={'iaDiX':'string','kTotV':function(_0x5b8e97,_0x20a446){return _0x5b8e97===_0x20a446;},'VyWZg':function(_0x5807c,_0x4c5dd2){return _0x5807c!==_0x4c5dd2;},'NkfAg':function(_0x5abdbb,_0x458106){return _0x5abdbb!==_0x458106;},'gCPDN':function(_0x56d49e,_0x4625b3){return _0x56d49e===_0x4625b3;},'TnRJI':'yyyy','tbWjz':'yyyymm','rWOrP':function(_0x86a38c,_0x47ee78,_0x44ccf9){return _0x86a38c(_0x47ee78,_0x44ccf9);},'SMgQY':function(_0xed0e90,_0x2d53aa){return _0xed0e90||_0x2d53aa;},'ukArn':function(_0x534291,_0x206f13){return _0x534291===_0x206f13;},'hWRaE':_0x193a5f(0x1a0)};if(typeof _0x1e3043!==_0x28de10[_0x193a5f(0x1b2)]||_0x1e3043[_0x193a5f(0x12b)]===0x0)throw new IdGeneratorError(_0x193a5f(0xb9),'Invalid\x20number:\x20must\x20be\x20non-empty\x20string');const _0x53f750=_0x2ebdaa||'',_0x34cf21=_0x53f750===''?[_0x1e3043]:_0x1e3043['split'](_0x53f750);let _0x5f1e5c='',_0x2bcf18;if(_0x28de10['kTotV'](_0x39dbb9,'text')){if(_0x33647f){if(_0x34cf21['length']!==0x2||_0x28de10['VyWZg'](_0x34cf21[0x0],_0x33647f))throw new IdGeneratorError('IDGEN_INVALID_NUMBER','Number\x20does\x20not\x20match\x20expected\x20format\x20prefix'+_0x53f750+_0x193a5f(0xcb)+_0x1e3043+')');_0x2bcf18=_0x34cf21[0x1];}else{if(_0x28de10['VyWZg'](_0x34cf21[_0x193a5f(0x12b)],0x1))throw new IdGeneratorError(_0x193a5f(0xb9),'Number\x20does\x20not\x20match\x20expected\x20text\x20format\x20(got:\x20'+_0x1e3043+')');_0x2bcf18=_0x34cf21[0x0];}}else{const _0x198e96=_0x33647f?0x3:0x2;if(_0x28de10[_0x193a5f(0x154)](_0x34cf21[_0x193a5f(0x12b)],_0x198e96))throw new IdGeneratorError(_0x193a5f(0xb9),'Number\x20does\x20not\x20match\x20expected\x20format\x20(got:\x20'+_0x1e3043+_0x193a5f(0x1ae)+_0x198e96+_0x193a5f(0xaf));let _0x33fd1f=0x0;if(_0x33647f){if(_0x34cf21[_0x33fd1f]!==_0x33647f)throw new IdGeneratorError(_0x193a5f(0xb9),'Number\x20prefix\x20mismatch:\x20expected\x20'+_0x33647f+_0x193a5f(0x1ac)+_0x34cf21[_0x33fd1f]);_0x33fd1f++;}_0x5f1e5c=_0x34cf21[_0x33fd1f++];const _0x344d92=_0x28de10[_0x193a5f(0xb0)](_0x39dbb9,_0x28de10['TnRJI'])?/^\d{4}$/:_0x28de10['kTotV'](_0x39dbb9,_0x28de10[_0x193a5f(0x14e)])?/^\d{6}$/:/^\d{8}$/;if(!_0x344d92['test'](_0x5f1e5c))throw new IdGeneratorError('IDGEN_INVALID_NUMBER','Number\x20datePrefix\x20invalid\x20for\x20format\x20'+_0x39dbb9+':\x20'+_0x5f1e5c);_0x2bcf18=_0x34cf21[_0x33fd1f];}if(!new RegExp(_0x193a5f(0x13a)+_0x114d2a+'}$')[_0x193a5f(0x156)](_0x2bcf18))throw new IdGeneratorError(_0x193a5f(0xb9),_0x193a5f(0x1cc)+_0x114d2a+'\x20digits\x20(got:\x20'+_0x2bcf18+')');const _0x31202e=_0x28de10[_0x193a5f(0xe0)](parseInt,_0x2bcf18,0xa),_0x3e15a9=_0x28de10[_0x193a5f(0x1c4)](_0x33647f,'_');let _0x506c36;return _0x28de10[_0x193a5f(0x11d)](_0x39dbb9,_0x28de10['hWRaE'])?_0x506c36=_0x3e15a9+_0x193a5f(0x160):_0x506c36=_0x3e15a9+'_'+_0x39dbb9+'_'+_0x5f1e5c,{'formatKey':_0x506c36,'counterInt':_0x31202e,'datePrefix':_0x5f1e5c};}[a0_0x3a03fd(0x1d4)](_0x3f3b21){let _0x192283='';for(const _0x239e4f of _0x3f3b21){const _0x40cdef=PLACEHOLDER_MAP[_0x239e4f];if(_0x40cdef){const _0x190870=crypto['randomInt'](0x0,_0x40cdef['length']);_0x192283+=_0x40cdef[_0x190870];}else _0x192283+=_0x239e4f;}return _0x192283;}async['_retrieveIdemCache'](_0x2ef721){const _0xdfb147=a0_0x3a03fd,_0x1b2cfa={'XGStD':'idgen_idem_hit','sfxmC':_0xdfb147(0x11a)};if(!_0x2ef721)return null;try{const _0x24e088=redisClient[_0xdfb147(0x1d3)](),_0x5e74a9=await _0x24e088[_0xdfb147(0x163)](_0x2ef721);if(_0x5e74a9)return logger[_0xdfb147(0x1a7)]({'event':_0x1b2cfa[_0xdfb147(0x14c)],'key':_0x2ef721},'Idempotency\x20cache\x20HIT'),JSON[_0xdfb147(0x183)](_0x5e74a9);return null;}catch(_0x5284d0){return logger[_0xdfb147(0x167)]({'event':_0x1b2cfa[_0xdfb147(0x1b6)],'error':_0x5284d0['message']},_0xdfb147(0x116)),null;}}async['_storeIdemCache'](_0x599e6f,_0x5b6919){const _0x1ca9fe=a0_0x3a03fd,_0x152724={'DTfsv':_0x1ca9fe(0x161),'vkmla':'Idempotency\x20store\x20error'};if(!_0x599e6f)return;try{const _0x2309cc=redisClient['getClient']();await _0x2309cc[_0x1ca9fe(0x142)](_0x599e6f,this[_0x1ca9fe(0x187)],JSON[_0x1ca9fe(0x16b)](_0x5b6919));}catch(_0xf77765){logger['warn']({'event':_0x152724[_0x1ca9fe(0xfd)],'error':_0xf77765[_0x1ca9fe(0x1b3)]},_0x152724[_0x1ca9fe(0x17d)]);}}async[a0_0x3a03fd(0x17c)](_0x5a7036,_0x777d22){const _0x176c7c=a0_0x3a03fd,_0x3b3b85={'IizJd':function(_0x5959dd,_0x42e390){return _0x5959dd===_0x42e390;},'PDnMN':'idgen_idem_storenx_error','GFoUT':_0x176c7c(0x118)};if(!_0x5a7036)return{'stored':!![],'winnerResult':null};try{const _0x5af6e3=redisClient['getClient'](),_0x679057=JSON['stringify'](_0x777d22),_0x3b6bbf=await _0x5af6e3[_0x176c7c(0xa9)](_0x5a7036,_0x679057,'EX',this['idemTTL'],'NX');if(_0x3b3b85['IizJd'](_0x3b6bbf,'OK'))return{'stored':!![],'winnerResult':null};const _0x3c822c=await _0x5af6e3['get'](_0x5a7036);if(_0x3c822c)return{'stored':![],'winnerResult':JSON[_0x176c7c(0x183)](_0x3c822c)};return logger['warn']({'event':'idgen_idem_nx_race_lost_but_empty','key':_0x5a7036},'SET\x20NX\x20failed\x20but\x20cache\x20GET\x20returned\x20empty\x20—\x20falling\x20back\x20to\x20own\x20result'),{'stored':!![],'winnerResult':null};}catch(_0xba5e48){return logger['warn']({'event':_0x3b3b85['PDnMN'],'error':_0xba5e48[_0x176c7c(0x1b3)]},_0x3b3b85['GFoUT']),{'stored':!![],'winnerResult':null};}}async['_undoRandomReservation'](_0x10f8b3,_0x299c07,_0x2d0583){const _0x293949=a0_0x3a03fd,_0x5e1b5c={'NojIm':_0x293949(0x103),'hJXWp':_0x293949(0x1a2)};try{const _0x57c475=redisClient[_0x293949(0x1d3)]();if(_0x2d0583){const _0x39748d=this[_0x293949(0x194)](_0x10f8b3,_0x299c07);await _0x57c475[_0x293949(0x125)](_0x39748d);}else{const _0x324529=this[_0x293949(0x1b9)](_0x10f8b3);await _0x57c475[_0x293949(0x17a)](_0x324529,_0x299c07);}}catch(_0x45bc02){logger[_0x293949(0x167)]({'event':_0x5e1b5c[_0x293949(0xda)],'error':_0x45bc02[_0x293949(0x1b3)]},_0x5e1b5c['hJXWp']);}}async[a0_0x3a03fd(0x1d0)](_0x57eb5d,_0x42aff1,_0xd8c960,_0x48d7a2=0x0){const _0x4852cb=a0_0x3a03fd,_0x5d5225={'BSuMU':function(_0x3ac6c1,_0x4976ec){return _0x3ac6c1(_0x4976ec);}};try{const _0x5ba9af=redisClient['getClient'](),_0x53ebcc=this[_0x4852cb(0xfc)](_0x57eb5d,_0x42aff1),_0x502cef=[];for(const [_0x10f11f,_0x545bad]of Object[_0x4852cb(0xd0)](_0xd8c960)){_0x502cef[_0x4852cb(0xe4)](_0x10f11f,_0x5d5225['BSuMU'](String,_0x545bad));}if(_0x502cef['length']>0x0){await _0x5ba9af[_0x4852cb(0xf3)](_0x53ebcc,..._0x502cef);if(_0x48d7a2>0x0)await _0x5ba9af[_0x4852cb(0x100)](_0x53ebcc,_0x48d7a2);}}catch(_0x4d077c){logger[_0x4852cb(0x167)]({'event':'idgen_meta_update_error','error':_0x4d077c['message']},_0x4852cb(0x1be));}}async['number'](_0x548c0c){const _0x3daab6=a0_0x3a03fd,_0x25a9c4={'YXhUw':'IDGEN_DISABLED','UqbrS':function(_0x170178,_0x49d4b5){return _0x170178(_0x49d4b5);},'RKkLr':function(_0x1e10d8,_0x3aa581){return _0x1e10d8===_0x3aa581;},'errMz':_0x3daab6(0xf4),'okVxv':_0x3daab6(0xd9)};if(!this[_0x3daab6(0x11b)])throw new IdGeneratorError(_0x25a9c4['YXhUw'],_0x3daab6(0x111));const _0x3ffb06=this[_0x3daab6(0x1cf)](_0x548c0c),_0x483b00=this['_validateIdempotencyKey'](_0x548c0c['idempotencyKey']),{resource:_0x2aa63b,format:_0x53a1b3,prefix:_0x52addb,separator:_0x2d0266,numDigits:_0x4051b0,reuseDelete:_0x1d2f5c}=_0x3ffb06,{formatKey:_0x4e0daf,datePrefix:_0xb3f1f1}=this['_buildFormatKey'](_0x53a1b3,_0x52addb),_0x25ff54=this['_buildSeqKey'](_0x2aa63b,_0x4e0daf),_0x2dde99=this[_0x3daab6(0x108)](_0x2aa63b,_0x4e0daf),_0x54a166=this['_getCounterTTL'](_0x53a1b3);let _0x25dad8=null;if(_0x483b00){_0x25dad8=this['_buildIdemKey']('number',_0x2aa63b,_0x4e0daf,_0x483b00);const _0x250492=await this[_0x3daab6(0xe3)](_0x25dad8);if(_0x250492)return _0x250492;}const _0x3f7d4c=redisClient['getClient'](),_0x20aedb=await _0x3f7d4c[_0x3daab6(0xf7)](LUA_GENERATE_NUMBER,0x2,_0x25ff54,_0x2dde99,_0x1d2f5c?'1':'0',_0x25a9c4['UqbrS'](String,_0x54a166)),_0x30bbe6=_0x20aedb[0x0],_0x31e4bf=_0x25a9c4['RKkLr'](_0x20aedb[0x1],0x1),_0x384866=this[_0x3daab6(0xd1)]({'format':_0x53a1b3,'prefix':_0x52addb,'datePrefix':_0xb3f1f1,'separator':_0x2d0266,'numDigits':_0x4051b0,'counterInt':_0x30bbe6}),_0x56d378={'value':_0x384866,'counter':_0x30bbe6,'resource':_0x2aa63b,'formatKey':_0x4e0daf,'isReused':_0x31e4bf,'generatedAt':new Date()[_0x3daab6(0x1d1)]()},_0x1be264=await this[_0x3daab6(0x17c)](_0x25dad8,_0x56d378);if(!_0x1be264['stored']){try{await _0x3f7d4c['eval'](LUA_RELEASE_NUMBER,0x1,_0x2dde99,_0x25a9c4['UqbrS'](String,_0x30bbe6),_0x25a9c4[_0x3daab6(0xf2)](String,_0x54a166));}catch(_0x28b6eb){logger[_0x3daab6(0x167)]({'event':_0x25a9c4[_0x3daab6(0xcc)],'error':_0x28b6eb[_0x3daab6(0x1b3)],'resource':_0x2aa63b,'formatKey':_0x4e0daf,'counterInt':_0x30bbe6},_0x3daab6(0x19f));}return logger[_0x3daab6(0x1a7)]({'event':_0x25a9c4['okVxv'],'resource':_0x2aa63b,'formatKey':_0x4e0daf,'counter':_0x30bbe6},'ID\x20Generator\x20number\x20idem\x20race\x20lost,\x20returning\x20winner\x20envelope'),_0x1be264[_0x3daab6(0xcd)];}return this[_0x3daab6(0x1d0)](_0x2aa63b,_0x4e0daf,{'lastValue':_0x384866,'lastCounter':_0x30bbe6,'lastIsReused':_0x31e4bf,'lastGeneratedAt':_0x56d378['generatedAt']},_0x54a166),logger['info']({'event':'idgen_number_generated','resource':_0x2aa63b,'formatKey':_0x4e0daf,'counter':_0x30bbe6,'isReused':_0x31e4bf},'ID\x20Generator\x20number:\x20'+_0x384866),_0x56d378;}async['releaseNumber'](_0x264ffe){const _0x3ff329=a0_0x3a03fd,_0x507a5c={'TEYeg':'IDGEN_DISABLED','xmXvh':_0x3ff329(0x117),'PPkXa':function(_0x3a4b3a,_0x4624d0){return _0x3a4b3a!==_0x4624d0;},'clpsM':_0x3ff329(0x13b),'fVhNi':function(_0x255abf,_0x45d280){return _0x255abf===_0x45d280;},'GJjXW':_0x3ff329(0xb9),'Wgppn':_0x3ff329(0x1cb),'PbzUL':_0x3ff329(0xff),'wqYTW':function(_0x49263f,_0x2c84b9){return _0x49263f(_0x2c84b9);}};if(!this[_0x3ff329(0x11b)])throw new IdGeneratorError(_0x507a5c[_0x3ff329(0x138)],_0x507a5c['xmXvh']);let _0x116953,_0x1ab402,_0x389466,_0x5d637f;const _0x2cc92f=this['_validateIdempotencyKey'](_0x264ffe[_0x3ff329(0x119)]);if(_0x507a5c['PPkXa'](_0x264ffe[_0x3ff329(0xbb)],undefined)&&_0x264ffe['counterInt']!==null){this[_0x3ff329(0x18b)](_0x264ffe['resource']),_0x116953=_0x264ffe['resource'];if(typeof _0x264ffe['formatKey']!==_0x507a5c[_0x3ff329(0x196)]||_0x507a5c[_0x3ff329(0x185)](_0x264ffe['formatKey'][_0x3ff329(0x12b)],0x0))throw new IdGeneratorError(_0x507a5c['GJjXW'],_0x507a5c['Wgppn']);_0x1ab402=_0x264ffe['formatKey'];if(!Number[_0x3ff329(0xae)](_0x264ffe[_0x3ff329(0xbb)])||_0x264ffe[_0x3ff329(0xbb)]<0x1)throw new IdGeneratorError(_0x3ff329(0xb9),_0x3ff329(0x1a3)+_0x264ffe[_0x3ff329(0xbb)]+')');_0x389466=_0x264ffe['counterInt'];const _0x161865=_0x1ab402['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/);_0x5d637f=_0x161865?_0x161865[0x1]:_0x3ff329(0x1a0);}else{const _0xea5f3e=this['_validateNumberParams'](_0x264ffe),_0x488952=this[_0x3ff329(0x186)]({'format':_0xea5f3e[_0x3ff329(0x15a)],'prefix':_0xea5f3e['prefix'],'separator':_0xea5f3e[_0x3ff329(0xb8)],'numDigits':_0xea5f3e[_0x3ff329(0x109)],'number':_0x264ffe[_0x3ff329(0xec)]});_0x116953=_0xea5f3e['resource'],_0x1ab402=_0x488952['formatKey'],_0x389466=_0x488952[_0x3ff329(0xbb)],_0x5d637f=_0xea5f3e[_0x3ff329(0x15a)];}const _0x1cf710=this[_0x3ff329(0x108)](_0x116953,_0x1ab402),_0x4dac34=this['_getCounterTTL'](_0x5d637f);let _0x341c18=null;if(_0x2cc92f){_0x341c18=this[_0x3ff329(0x1bd)](_0x507a5c[_0x3ff329(0x110)],_0x116953,_0x1ab402,_0x2cc92f);const _0x4a7227=await this['_retrieveIdemCache'](_0x341c18);if(_0x4a7227)return _0x4a7227;}const _0x371453=redisClient['getClient']();await _0x371453[_0x3ff329(0xf7)](LUA_RELEASE_NUMBER,0x1,_0x1cf710,_0x507a5c[_0x3ff329(0x1ce)](String,_0x389466),_0x507a5c[_0x3ff329(0x1ce)](String,_0x4dac34));const _0x15e357={'released':!![],'resource':_0x116953,'formatKey':_0x1ab402,'counter':_0x389466,'releasedAt':new Date()['toISOString']()};return await this[_0x3ff329(0xab)](_0x341c18,_0x15e357),this[_0x3ff329(0x1d0)](_0x116953,_0x1ab402,{'lastReleasedCounter':_0x389466,'lastReleasedAt':_0x15e357['releasedAt']},_0x4dac34),logger[_0x3ff329(0x1a7)]({'event':_0x3ff329(0x11f),'resource':_0x116953,'formatKey':_0x1ab402,'counter':_0x389466},'ID\x20Generator\x20number\x20released:\x20'+_0x389466),_0x15e357;}async['reserveNumber'](_0x46fefe){const _0xe2faa3=a0_0x3a03fd,_0x318403={'mcYro':_0xe2faa3(0x111),'LjtzA':_0xe2faa3(0x152),'NASnt':_0xe2faa3(0x109),'yGORV':function(_0x195074,_0x380567){return _0x195074(_0x380567);},'hfpsY':_0xe2faa3(0xd7),'JupHJ':'idemKey','SIahD':function(_0x102293,_0x35628b){return _0x102293(_0x35628b);},'PKrVp':function(_0x453b93,_0x491147){return _0x453b93===_0x491147;},'dwEUn':'idgen_reserve_overflow_compensation_error','sLhFI':'Failed\x20to\x20compensate\x20reservation\x20after\x20counter\x20overflow','KCkcW':'value','UTYzQ':_0xe2faa3(0x18e),'xORsn':_0xe2faa3(0x150)};if(!this[_0xe2faa3(0x11b)])throw new IdGeneratorError('IDGEN_DISABLED',_0x318403[_0xe2faa3(0xb4)]);const _0x3583f0=this['_validateNumberParams'](_0x46fefe),_0x3d8017=this[_0xe2faa3(0x1c2)](_0x46fefe[_0xe2faa3(0x1bc)]),_0x8073f4=this[_0xe2faa3(0x130)](_0x46fefe['idempotencyKey']),{resource:_0x3e1046,format:_0x24cd53,prefix:_0x3938a4,separator:_0x1ce518,numDigits:_0x1cffc6,reuseDelete:_0x5f1d03}=_0x3583f0,{formatKey:_0x47d341,datePrefix:_0x14b72}=this['_buildFormatKey'](_0x24cd53,_0x3938a4),_0x40c983=this[_0xe2faa3(0x1a6)](_0x3e1046,_0x47d341),_0xa8b0a9=this[_0xe2faa3(0x108)](_0x3e1046,_0x47d341),_0x54207c=this['_buildReservationIndexKey'](_0x3e1046,_0x47d341),_0x38f67f=this['_getCounterTTL'](_0x24cd53);let _0x4536a5=null;if(_0x8073f4){_0x4536a5=this['_buildIdemKey'](_0xe2faa3(0x1b8),_0x3e1046,_0x47d341,_0x8073f4);const _0xc18dfb=await this['_retrieveIdemCache'](_0x4536a5);if(_0xc18dfb)return _0xc18dfb;}const _0x11fd07=crypto[_0xe2faa3(0xe5)](),_0x5622b8=this[_0xe2faa3(0x174)](_0x11fd07),_0xdd0942=this[_0xe2faa3(0x127)](),_0x50439e=Date[_0xe2faa3(0x126)](),_0x385da0=_0x50439e+_0x3d8017*0x3e8,_0x561011=_0x3d8017*0x3e8,_0x517e87=new Date(_0x50439e)['toISOString'](),_0x403cc9=new Date(_0x385da0)[_0xe2faa3(0x1d1)](),_0x51736b=[_0xe2faa3(0x131),_0x3e1046,_0xe2faa3(0x13c),_0x47d341,'format',_0x24cd53,_0x318403['LjtzA'],_0x3938a4,'separator',_0x1ce518,_0x318403['NASnt'],_0x318403['yGORV'](String,_0x1cffc6),_0xe2faa3(0x102),_0x14b72||'',_0x318403[_0xe2faa3(0xdc)],_0x517e87,_0xe2faa3(0x18c),_0x403cc9,'ttlMs',_0x318403[_0xe2faa3(0x1af)](String,_0x561011)];_0x8073f4&&_0x51736b['push'](_0x318403['JupHJ'],_0x8073f4);const _0x14df1e=redisClient['getClient'](),_0x335dec=await _0x14df1e[_0xe2faa3(0xf7)](LUA_RESERVE_NUMBER,0x3,_0x40c983,_0xa8b0a9,_0x54207c,_0x5f1d03?'1':'0',_0x318403[_0xe2faa3(0x1af)](String,_0x38f67f),_0x11fd07,_0x5622b8,_0x318403['yGORV'](String,_0x561011),_0x318403['SIahD'](String,_0x385da0),_0x318403[_0xe2faa3(0x1af)](String,_0x50439e),_0xdd0942,..._0x51736b),_0x4f4856=_0x335dec[0x0],_0x133f63=_0x318403['PKrVp'](_0x335dec[0x1],0x1),_0x1aa3b2=_0x335dec[0x2]||0x0;let _0x23369e;try{_0x23369e=this['_formatNumber']({'format':_0x24cd53,'prefix':_0x3938a4,'datePrefix':_0x14b72,'separator':_0x1ce518,'numDigits':_0x1cffc6,'counterInt':_0x4f4856});}catch(_0x2f833e){try{await _0x14df1e['eval'](LUA_CANCEL_RESERVATION,0x3,_0x5622b8,_0x54207c,_0xa8b0a9,_0x11fd07,String(_0x38f67f));}catch(_0xfd1e3){logger['warn']({'event':_0x318403[_0xe2faa3(0xcf)],'error':_0xfd1e3['message'],'resource':_0x3e1046,'formatKey':_0x47d341,'counterInt':_0x4f4856,'token':_0x11fd07},_0x318403[_0xe2faa3(0x1a4)]);}throw _0x2f833e;}try{await _0x14df1e['hset'](_0x5622b8,_0x318403['KCkcW'],_0x23369e);}catch(_0x2a075d){logger['warn']({'event':'idgen_reserve_value_persist_error','error':_0x2a075d[_0xe2faa3(0x1b3)],'resource':_0x3e1046,'formatKey':_0x47d341,'counterInt':_0x4f4856,'token':_0x11fd07},'Failed\x20to\x20persist\x20formatted\x20value\x20to\x20reservation\x20hash');}const _0x56ade4={'token':_0x11fd07,'value':_0x23369e,'counter':_0x4f4856,'resource':_0x3e1046,'formatKey':_0x47d341,'isReused':_0x133f63,'createdAt':_0x517e87,'expiresAt':_0x403cc9,'reapedCount':_0x1aa3b2},_0x3dd19c=await this[_0xe2faa3(0x17c)](_0x4536a5,_0x56ade4);if(!_0x3dd19c['stored']){try{await _0x14df1e[_0xe2faa3(0xf7)](LUA_CANCEL_RESERVATION,0x3,_0x5622b8,_0x54207c,_0xa8b0a9,_0x11fd07,String(_0x38f67f));}catch(_0x5c20bb){logger[_0xe2faa3(0x167)]({'event':_0x318403['UTYzQ'],'error':_0x5c20bb[_0xe2faa3(0x1b3)],'resource':_0x3e1046,'formatKey':_0x47d341,'counterInt':_0x4f4856,'token':_0x11fd07},_0xe2faa3(0x101));}return logger['info']({'event':_0x318403[_0xe2faa3(0x107)],'resource':_0x3e1046,'formatKey':_0x47d341,'counter':_0x4f4856,'token':_0x11fd07},'ID\x20Generator\x20reserve\x20idem\x20race\x20lost,\x20returning\x20winner\x20envelope'),_0x3dd19c[_0xe2faa3(0xcd)];}return this['_updateMeta'](_0x3e1046,_0x47d341,{'lastReservedCounter':_0x4f4856,'lastReservedAt':_0x517e87,'lastReapedCount':_0x1aa3b2},_0x38f67f),logger['info']({'event':_0xe2faa3(0x133),'resource':_0x3e1046,'formatKey':_0x47d341,'counter':_0x4f4856,'isReused':_0x133f63,'token':_0x11fd07,'ttl':_0x3d8017,'reapedCount':_0x1aa3b2},'ID\x20Generator\x20number\x20reserved:\x20'+_0x23369e+_0xe2faa3(0x10f)+_0x11fd07+')'),_0x56ade4;}async['confirmReservation'](_0x4ed7d5){const _0x1ef5c4=a0_0x3a03fd,_0x5b6514={'cKlLz':_0x1ef5c4(0x117),'HUCCP':function(_0x3f8b41,_0x242cf4){return _0x3f8b41!==_0x242cf4;},'qFZox':function(_0x513408,_0x292368,_0x54f8b3){return _0x513408(_0x292368,_0x54f8b3);}};if(!this[_0x1ef5c4(0x11b)])throw new IdGeneratorError(_0x1ef5c4(0x12f),_0x5b6514['cKlLz']);const _0x4eb5e5=this[_0x1ef5c4(0x18a)](_0x4ed7d5&&_0x4ed7d5['token']),_0x3afe94=this[_0x1ef5c4(0x130)](_0x4ed7d5&&_0x4ed7d5[_0x1ef5c4(0x119)]);let _0xb95ce2=null;if(_0x3afe94){_0xb95ce2=idempotencyManager[_0x1ef5c4(0xaa)](_0x1ef5c4(0x139),'reserve_confirm',_0x4eb5e5+':'+_0x3afe94);const _0x5cd920=await this['_retrieveIdemCache'](_0xb95ce2);if(_0x5cd920)return _0x5cd920;}const _0x140923=await this[_0x1ef5c4(0xe2)](_0x4eb5e5),_0x3a77ed=redisClient['getClient'](),_0x201b6f=await _0x3a77ed['eval'](LUA_CONFIRM_RESERVATION,0x2,_0x140923['rsvKey'],_0x140923[_0x1ef5c4(0x11e)],_0x4eb5e5);if(!_0x201b6f||_0x5b6514[_0x1ef5c4(0x193)](_0x201b6f[0x0],0x1))throw new IdGeneratorError('IDGEN_RESERVATION_NOT_FOUND','Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x4eb5e5,{'token':_0x4eb5e5});const _0x23ffee=_0x5b6514['qFZox'](parseInt,_0x201b6f[0x1],0xa),_0x3c0e93=_0x201b6f[0x2],_0x55d27e=_0x201b6f[0x3],_0x108722=new Date()[_0x1ef5c4(0x1d1)](),_0x43f42d={'confirmed':!![],'token':_0x4eb5e5,'value':_0x3c0e93,'counter':_0x23ffee,'resource':_0x140923['resource'],'formatKey':_0x55d27e,'confirmedAt':_0x108722};await this[_0x1ef5c4(0xab)](_0xb95ce2,_0x43f42d);const _0x2491f1=_0x55d27e['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x3efdbe=_0x2491f1?_0x2491f1[0x1]:_0x1ef5c4(0x1a0),_0x12c3bb=this[_0x1ef5c4(0x190)](_0x3efdbe);return this[_0x1ef5c4(0x1d0)](_0x140923['resource'],_0x55d27e,{'lastConfirmedCounter':_0x23ffee,'lastConfirmedAt':_0x108722},_0x12c3bb),logger['info']({'event':'idgen_reservation_confirmed','resource':_0x140923['resource'],'formatKey':_0x55d27e,'counter':_0x23ffee,'token':_0x4eb5e5},_0x1ef5c4(0x153)+_0x3c0e93+'\x20(token='+_0x4eb5e5+')'),_0x43f42d;}async[a0_0x3a03fd(0x149)](_0x382b18){const _0x33fd9b=a0_0x3a03fd,_0x155507={'EurgS':_0x33fd9b(0x12f),'yMpFT':_0x33fd9b(0x117),'OSeSJ':_0x33fd9b(0x139),'IzxYq':_0x33fd9b(0x1ca),'YSZoU':'text','IhAzH':function(_0x344c33,_0x95fcd3){return _0x344c33!==_0x95fcd3;}};if(!this['enabled'])throw new IdGeneratorError(_0x155507['EurgS'],_0x155507['yMpFT']);const _0x12beca=this['_validateReservationToken'](_0x382b18&&_0x382b18['token']),_0x793fcd=this['_validateIdempotencyKey'](_0x382b18&&_0x382b18[_0x33fd9b(0x119)]);let _0x3a98d=null;if(_0x793fcd){_0x3a98d=idempotencyManager['buildDeterministicKey'](_0x155507[_0x33fd9b(0xdd)],_0x155507[_0x33fd9b(0x157)],_0x12beca+':'+_0x793fcd);const _0xe05fb8=await this[_0x33fd9b(0xe3)](_0x3a98d);if(_0xe05fb8)return _0xe05fb8;}const _0xfa6a32=await this['_getReservationContext'](_0x12beca),_0x3aea3e=this['_buildReuseKey'](_0xfa6a32['resource'],_0xfa6a32['formatKey']),_0x48475e=_0xfa6a32[_0x33fd9b(0x13c)][_0x33fd9b(0x188)](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x4a06ee=_0x48475e?_0x48475e[0x1]:_0x155507[_0x33fd9b(0xc5)],_0x1f805b=this[_0x33fd9b(0x190)](_0x4a06ee),_0x23dfb4=redisClient['getClient'](),_0x4d17db=await _0x23dfb4[_0x33fd9b(0xf7)](LUA_CANCEL_RESERVATION,0x3,_0xfa6a32[_0x33fd9b(0x170)],_0xfa6a32[_0x33fd9b(0x11e)],_0x3aea3e,_0x12beca,String(_0x1f805b));if(!_0x4d17db||_0x155507['IhAzH'](_0x4d17db[0x0],0x1))throw new IdGeneratorError('IDGEN_RESERVATION_NOT_FOUND','Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x12beca,{'token':_0x12beca});const _0x26c12e=parseInt(_0x4d17db[0x1],0xa),_0x46282d=_0x4d17db[0x2],_0x59c29f=_0x4d17db[0x3],_0x1790a1=new Date()['toISOString'](),_0x505247={'cancelled':!![],'token':_0x12beca,'value':_0x46282d,'counter':_0x26c12e,'resource':_0xfa6a32[_0x33fd9b(0x131)],'formatKey':_0x59c29f,'releasedToReuse':!![],'cancelledAt':_0x1790a1};return await this['_storeIdemCache'](_0x3a98d,_0x505247),this['_updateMeta'](_0xfa6a32['resource'],_0x59c29f,{'lastCancelledCounter':_0x26c12e,'lastCancelledAt':_0x1790a1},_0x1f805b),logger[_0x33fd9b(0x1a7)]({'event':'idgen_reservation_cancelled','resource':_0xfa6a32[_0x33fd9b(0x131)],'formatKey':_0x59c29f,'counter':_0x26c12e,'token':_0x12beca},_0x33fd9b(0x14a)+_0x46282d+_0x33fd9b(0x10f)+_0x12beca+')'),_0x505247;}async['extendReservation'](_0x34fb6f){const _0x1dcb54=a0_0x3a03fd,_0x28909c={'RRbiD':_0x1dcb54(0x12f),'nGxTt':'ID\x20Generator\x20is\x20disabled','JADkC':'reserve_extend','ucvRd':function(_0x1273d2,_0x4d2955){return _0x1273d2*_0x4d2955;},'pVvxS':function(_0x43d704,_0x394ea7){return _0x43d704(_0x394ea7);},'yXXti':function(_0x4bf871,_0xacbefa){return _0x4bf871!==_0xacbefa;},'Ufqhl':_0x1dcb54(0x178),'ftvpk':function(_0x274bdc,_0x240d0f,_0x12a435){return _0x274bdc(_0x240d0f,_0x12a435);}};if(!this[_0x1dcb54(0x11b)])throw new IdGeneratorError(_0x28909c[_0x1dcb54(0x12c)],_0x28909c[_0x1dcb54(0x13f)]);const _0x4a435f=this['_validateReservationToken'](_0x34fb6f&&_0x34fb6f[_0x1dcb54(0xd2)]),_0x13b21d=this[_0x1dcb54(0x1c2)](_0x34fb6f&&_0x34fb6f[_0x1dcb54(0x1bc)]),_0x38e37f=this['_validateIdempotencyKey'](_0x34fb6f&&_0x34fb6f[_0x1dcb54(0x119)]);let _0x49ebb2=null;if(_0x38e37f){_0x49ebb2=idempotencyManager[_0x1dcb54(0xaa)](_0x1dcb54(0x139),_0x28909c[_0x1dcb54(0xd5)],_0x4a435f+':'+_0x38e37f);const _0x4b0fc6=await this['_retrieveIdemCache'](_0x49ebb2);if(_0x4b0fc6)return _0x4b0fc6;}const _0x29f4d0=await this[_0x1dcb54(0xe2)](_0x4a435f),_0x1294bf=Date['now'](),_0x28c925=_0x1294bf+_0x13b21d*0x3e8,_0x37983b=_0x28909c[_0x1dcb54(0xf1)](_0x13b21d,0x3e8),_0x2650af=new Date(_0x28c925)['toISOString'](),_0x5499e1=redisClient[_0x1dcb54(0x1d3)](),_0x3bb25f=await _0x5499e1[_0x1dcb54(0xf7)](LUA_EXTEND_RESERVATION,0x2,_0x29f4d0[_0x1dcb54(0x170)],_0x29f4d0['rsvIdxKey'],_0x4a435f,String(_0x37983b),_0x28909c[_0x1dcb54(0xea)](String,_0x28c925),_0x2650af);if(!_0x3bb25f||_0x28909c['yXXti'](_0x3bb25f[0x0],0x1))throw new IdGeneratorError(_0x28909c[_0x1dcb54(0xef)],'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x4a435f,{'token':_0x4a435f});const _0x398fd9=_0x3bb25f[0x1],_0x2e4355=_0x28909c[_0x1dcb54(0x11c)](parseInt,_0x3bb25f[0x2],0xa),_0x66e00a=_0x3bb25f[0x3],_0xf0586=_0x3bb25f[0x4],_0x1e8852=new Date(_0x1294bf)['toISOString'](),_0x4856a2={'extended':!![],'token':_0x4a435f,'previousExpiresAt':_0x398fd9,'expiresAt':_0x2650af,'ttlMs':_0x37983b,'resource':_0x29f4d0['resource'],'formatKey':_0xf0586,'counter':_0x2e4355,'value':_0x66e00a,'extendedAt':_0x1e8852};await this[_0x1dcb54(0xab)](_0x49ebb2,_0x4856a2);const _0x49f23c=_0xf0586[_0x1dcb54(0x188)](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x2535d2=_0x49f23c?_0x49f23c[0x1]:_0x1dcb54(0x1a0),_0x901b9f=this['_getCounterTTL'](_0x2535d2);return this['_updateMeta'](_0x29f4d0[_0x1dcb54(0x131)],_0xf0586,{'lastExtendedCounter':_0x2e4355,'lastExtendedAt':_0x1e8852},_0x901b9f),logger['info']({'event':_0x1dcb54(0xd4),'resource':_0x29f4d0['resource'],'formatKey':_0xf0586,'counter':_0x2e4355,'token':_0x4a435f,'ttl':_0x13b21d},_0x1dcb54(0x144)+_0x66e00a+'\x20(token='+_0x4a435f+',\x20+'+_0x13b21d+'s)'),_0x4856a2;}async['getReservation'](_0x2472b0){const _0xc36d2e=a0_0x3a03fd,_0x292ce7={'yWuYL':_0xc36d2e(0x117),'MslGc':function(_0x14e25d,_0x3f5fc8,_0x3ad12f){return _0x14e25d(_0x3f5fc8,_0x3ad12f);},'OcbXY':function(_0x5cbc43,_0x5a55b1){return _0x5cbc43===_0x5a55b1;},'mWpKt':function(_0x5274fe,_0x1b37c7){return _0x5274fe>=_0x1b37c7;}};if(!this[_0xc36d2e(0x11b)])throw new IdGeneratorError(_0xc36d2e(0x12f),_0x292ce7['yWuYL']);const _0x20aeb0=this[_0xc36d2e(0x18a)](_0x2472b0&&_0x2472b0[_0xc36d2e(0xd2)]),_0x210430=this['_buildReservationKey'](_0x20aeb0),_0x52da35=redisClient['getClient'](),_0xc950e2=_0x52da35['pipeline']();_0xc950e2[_0xc36d2e(0x148)](_0x210430),_0xc950e2[_0xc36d2e(0xdf)](_0x210430);const _0x5aeb5d=await _0xc950e2['exec'](),_0x154d83=_0x5aeb5d&&_0x5aeb5d[0x0]&&_0x5aeb5d[0x0][0x1],_0x38655f=_0x5aeb5d&&_0x5aeb5d[0x1]&&_0x5aeb5d[0x1][0x1];if(!_0x154d83||Object[_0xc36d2e(0x132)](_0x154d83)[_0xc36d2e(0x12b)]===0x0)throw new IdGeneratorError(_0xc36d2e(0x178),'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x20aeb0,{'token':_0x20aeb0});return{'token':_0x20aeb0,'resource':_0x154d83[_0xc36d2e(0x131)]||null,'formatKey':_0x154d83[_0xc36d2e(0x13c)]||null,'format':_0x154d83[_0xc36d2e(0x15a)]||null,'prefix':_0x154d83['prefix']||'','separator':_0x154d83['separator']||'','numDigits':_0x154d83['numDigits']?_0x292ce7['MslGc'](parseInt,_0x154d83[_0xc36d2e(0x109)],0xa):null,'datePrefix':_0x154d83[_0xc36d2e(0x102)]||'','counter':_0x154d83[_0xc36d2e(0xb6)]?_0x292ce7[_0xc36d2e(0x180)](parseInt,_0x154d83['counter'],0xa):null,'value':_0x154d83['value']||null,'isReused':_0x292ce7['OcbXY'](_0x154d83[_0xc36d2e(0x1d2)],'1')||_0x292ce7['OcbXY'](_0x154d83[_0xc36d2e(0x1d2)],0x1),'createdAt':_0x154d83[_0xc36d2e(0xd7)]||null,'expiresAt':_0x154d83['expiresAt']||null,'ttlRemainingMs':typeof _0x38655f===_0xc36d2e(0xec)&&_0x292ce7['mWpKt'](_0x38655f,0x0)?_0x38655f:null};}async['_getReservationContext'](_0x280b0f){const _0x515aca=a0_0x3a03fd,_0x39af58=this['_buildReservationKey'](_0x280b0f),_0x31b670=redisClient[_0x515aca(0x1d3)](),_0x4e6ff7=await _0x31b670['hmget'](_0x39af58,'resource',_0x515aca(0x13c)),_0x5d6044=_0x4e6ff7&&_0x4e6ff7[0x0],_0x13db49=_0x4e6ff7&&_0x4e6ff7[0x1];if(!_0x5d6044||!_0x13db49)throw new IdGeneratorError(_0x515aca(0x178),'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x280b0f,{'token':_0x280b0f});return{'resource':_0x5d6044,'formatKey':_0x13db49,'rsvKey':_0x39af58,'rsvIdxKey':this['_buildReservationIndexKey'](_0x5d6044,_0x13db49)};}async[a0_0x3a03fd(0xfb)](_0x356a49){const _0x54d567=a0_0x3a03fd,_0x225e77={'KzVrM':'IDGEN_DISABLED','VXHKb':function(_0x5699ff,_0x5676b9){return _0x5699ff===_0x5676b9;},'nRGkC':function(_0xb50424,_0x529823){return _0xb50424===_0x529823;},'tCkNR':function(_0xd2ca1a,_0x261b43){return _0xd2ca1a&&_0x261b43;},'ZetHY':_0x54d567(0x17f),'fbuoV':_0x54d567(0x13d)};if(!this[_0x54d567(0x11b)])throw new IdGeneratorError(_0x225e77[_0x54d567(0x168)],_0x54d567(0x117));this[_0x54d567(0x18b)](_0x356a49['resource']),this['_validatePattern'](_0x356a49['pattern']);const _0x44a4b2=this[_0x54d567(0x1bf)](_0x356a49['ttl']),_0x1c7258=this[_0x54d567(0x135)](_0x356a49[_0x54d567(0xc2)]),_0x528cda=this[_0x54d567(0x130)](_0x356a49['idempotencyKey']),_0x52424e=_0x225e77['VXHKb'](_0x356a49[_0x54d567(0x17b)],!![]),{resource:_0x101bcf,pattern:_0x4bcff6}=_0x356a49;let _0x1b0fd2=null;if(_0x528cda){_0x1b0fd2=this['_buildIdemKey'](_0x54d567(0xfb),_0x101bcf,null,_0x528cda);const _0x50517e=await this['_retrieveIdemCache'](_0x1b0fd2);if(_0x50517e)return _0x50517e;}const _0x43946f=redisClient['getClient']();let _0x39c2ee=null,_0x264de0=0x0;if(!_0x52424e)_0x39c2ee=this['_generateFromPattern'](_0x4bcff6),_0x264de0=0x1;else{for(let _0x4b0076=0x0;_0x4b0076<_0x1c7258;_0x4b0076++){_0x264de0++;const _0x2f2bc0=this[_0x54d567(0x1d4)](_0x4bcff6);if(_0x44a4b2){const _0x10ac45=this[_0x54d567(0x194)](_0x101bcf,_0x2f2bc0),_0x8dfffc=await _0x43946f['set'](_0x10ac45,'1','EX',_0x44a4b2,'NX');if(_0x225e77[_0x54d567(0xb3)](_0x8dfffc,'OK')){_0x39c2ee=_0x2f2bc0;break;}}else{const _0x4fdfb=this['_buildIssuedKey'](_0x101bcf),_0x3b3a64=await _0x43946f[_0x54d567(0x147)](_0x4fdfb,_0x2f2bc0);if(_0x225e77[_0x54d567(0xb3)](_0x3b3a64,0x1)){_0x39c2ee=_0x2f2bc0;break;}}}if(_0x225e77['nRGkC'](_0x39c2ee,null))throw new IdGeneratorError(_0x54d567(0xc1),'Could\x20not\x20generate\x20unique\x20value\x20after\x20'+_0x1c7258+'\x20attempts.\x20Increase\x20pattern\x20length\x20or\x20maxRetry.',{'resource':_0x101bcf,'pattern':_0x4bcff6,'maxRetry':_0x1c7258});}const _0x180e9f={'value':_0x39c2ee,'resource':_0x101bcf,'pattern':_0x4bcff6,'attemptCount':_0x264de0,'generatedAt':new Date()['toISOString']()};_0x225e77[_0x54d567(0x1c3)](_0x44a4b2,_0x52424e)&&(_0x180e9f['expiresAt']=new Date(Date[_0x54d567(0x126)]()+_0x44a4b2*0x3e8)['toISOString']());const _0x40a254=await this['_storeIdemCacheNX'](_0x1b0fd2,_0x180e9f);if(!_0x40a254['stored'])return _0x52424e&&await this[_0x54d567(0xbd)](_0x101bcf,_0x39c2ee,_0x44a4b2),logger['info']({'event':_0x225e77[_0x54d567(0xee)],'resource':_0x101bcf,'pattern':_0x4bcff6,'value':_0x39c2ee},'ID\x20Generator\x20random\x20idem\x20race\x20lost,\x20returning\x20winner\x20envelope'),_0x40a254['winnerResult'];return logger[_0x54d567(0x1a7)]({'event':_0x225e77[_0x54d567(0x10d)],'resource':_0x101bcf,'pattern':_0x4bcff6,'attemptCount':_0x264de0,'ensureUnique':_0x52424e,'ttl':_0x44a4b2||0x0},'ID\x20Generator\x20random:\x20'+_0x39c2ee),_0x180e9f;}async['pin'](_0x1baa4e){const _0x302f33=a0_0x3a03fd,_0x5ede8e={'LQKBz':function(_0x335f76,_0xa642b8){return _0x335f76==_0xa642b8;},'LmuBQ':function(_0x563dd3,_0x242ac9){return _0x563dd3<_0x242ac9;},'yPHyH':function(_0xaf043,_0xce7dd3){return _0xaf043>_0xce7dd3;},'qBCex':'IDGEN_INVALID_DIGITS','LnwdV':function(_0x526255,_0x4edbea){return _0x526255===_0x4edbea;}},_0x2be967=_0x5ede8e['LQKBz'](_0x1baa4e[_0x302f33(0xe6)],null)?this[_0x302f33(0x1bb)]:_0x1baa4e['digits'];if(!Number[_0x302f33(0xae)](_0x2be967)||_0x5ede8e['LmuBQ'](_0x2be967,MIN_PIN_DIGITS)||_0x5ede8e[_0x302f33(0xbf)](_0x2be967,MAX_PIN_DIGITS))throw new IdGeneratorError(_0x5ede8e['qBCex'],_0x302f33(0x122)+MIN_PIN_DIGITS+'-'+MAX_PIN_DIGITS+_0x302f33(0xc4)+_0x2be967+')');const _0x48890d='9'['repeat'](_0x2be967);return this['random']({'resource':_0x1baa4e['resource'],'pattern':_0x48890d,'ensureUnique':_0x5ede8e[_0x302f33(0x182)](_0x1baa4e['ensureUnique'],!![]),'ttl':_0x1baa4e[_0x302f33(0x1bc)],'maxRetry':_0x1baa4e['maxRetry'],'idempotencyKey':_0x1baa4e['idempotencyKey']});}async['serial'](_0x2d6459){const _0x40558d=a0_0x3a03fd,_0x25fb4d=_0x2d6459[_0x40558d(0xd3)]||this[_0x40558d(0x1ad)];return this[_0x40558d(0xfb)]({'resource':_0x2d6459[_0x40558d(0x131)],'pattern':_0x25fb4d,'ensureUnique':_0x2d6459[_0x40558d(0x17b)]!==![],'ttl':_0x2d6459[_0x40558d(0x1bc)],'maxRetry':_0x2d6459['maxRetry'],'idempotencyKey':_0x2d6459[_0x40558d(0x119)]});}async[a0_0x3a03fd(0x1b4)](_0x3e2e4e){const _0x2dbad0=a0_0x3a03fd,_0x3be798={'wnRxJ':function(_0x1b1856,_0x5d3f09){return _0x1b1856!==_0x5d3f09;}},_0x3fc9a6=_0x3e2e4e['pattern']||this[_0x2dbad0(0x15d)];return this['random']({'resource':_0x3e2e4e[_0x2dbad0(0x131)],'pattern':_0x3fc9a6,'ensureUnique':_0x3be798[_0x2dbad0(0x14f)](_0x3e2e4e['ensureUnique'],![]),'ttl':_0x3e2e4e[_0x2dbad0(0x1bc)],'maxRetry':_0x3e2e4e[_0x2dbad0(0xc2)],'idempotencyKey':_0x3e2e4e['idempotencyKey']});}async[a0_0x3a03fd(0xb2)](_0xb90ae4){const _0x1a841d=a0_0x3a03fd,_0x1b90dd={'oCjIp':'IDGEN_DISABLED','SInRe':function(_0x48ec06,_0x200980){return _0x48ec06!==_0x200980;},'mFYxG':'string','ibhhC':function(_0x15aea6,_0x3c62a6){return _0x15aea6===_0x3c62a6;},'AYxhp':'IDGEN_INVALID_NUMBER','KxGHy':'value\x20is\x20required','HDuRY':function(_0x3a3185,_0x5f57bb){return _0x3a3185>_0x5f57bb;},'namEh':function(_0x58b731,_0x57830b){return _0x58b731+_0x57830b;},'OnnoE':_0x1a841d(0xca)};if(!this['enabled'])throw new IdGeneratorError(_0x1b90dd[_0x1a841d(0x158)],'ID\x20Generator\x20is\x20disabled');this[_0x1a841d(0x18b)](_0xb90ae4['resource']);if(_0x1b90dd['SInRe'](typeof _0xb90ae4['value'],_0x1b90dd['mFYxG'])||_0x1b90dd['ibhhC'](_0xb90ae4['value'][_0x1a841d(0x12b)],0x0))throw new IdGeneratorError(_0x1b90dd['AYxhp'],_0x1b90dd[_0x1a841d(0x1b7)]);const {resource:_0x126253,value:_0x470038}=_0xb90ae4,_0x36c059=redisClient['getClient'](),_0x3fa46e=this[_0x1a841d(0x194)](_0x126253,_0x470038),_0x332660=this[_0x1a841d(0x1b9)](_0x126253),[_0x21c837,_0x413352]=await Promise['all']([_0x36c059[_0x1a841d(0x125)](_0x3fa46e),_0x36c059[_0x1a841d(0x17a)](_0x332660,_0x470038)]),_0x5320ac=_0x1b90dd['HDuRY'](_0x1b90dd['namEh'](_0x21c837,_0x413352),0x0);return logger[_0x1a841d(0x1a7)]({'event':_0x1b90dd['OnnoE'],'resource':_0x126253,'value':_0x470038,'consumed':_0x5320ac},'ID\x20Generator\x20consumed:\x20'+_0x470038),{'consumed':_0x5320ac,'resource':_0x126253,'value':_0x470038,'consumedAt':new Date()['toISOString']()};}async['peek'](_0x19f54f){const _0x11d095=a0_0x3a03fd,_0x45d4c5={'HfOrJ':'IDGEN_DISABLED','hpQjq':'ID\x20Generator\x20is\x20disabled','dkENQ':_0x11d095(0xec),'MUHyV':function(_0x520164,_0x59ec04){return _0x520164===_0x59ec04;},'WYTom':'text','nsksz':'IDGEN_INVALID_FORMAT','ilxpy':function(_0x529201,_0x50cc11,_0x58b3f0){return _0x529201(_0x50cc11,_0x58b3f0);},'fndIt':function(_0x4d3137,_0x295cd3){return _0x4d3137||_0x295cd3;},'ImmRk':_0x11d095(0xfb),'mgGgz':_0x11d095(0x10b)};if(!this['enabled'])throw new IdGeneratorError(_0x45d4c5[_0x11d095(0x198)],_0x45d4c5['hpQjq']);this[_0x11d095(0x18b)](_0x19f54f['resource']);const _0x27f992=_0x19f54f['mode']||_0x45d4c5[_0x11d095(0x1aa)],_0x3d8a4a=redisClient['getClient']();if(_0x45d4c5[_0x11d095(0x19d)](_0x27f992,_0x11d095(0xec))){const _0x342488=(_0x19f54f['format']||_0x45d4c5['WYTom'])['toLowerCase']();if(!ALLOWED_FORMATS[_0x11d095(0xc0)](_0x342488))throw new IdGeneratorError(_0x45d4c5[_0x11d095(0xa6)],'Invalid\x20format:\x20'+_0x19f54f['format']);const {formatKey:_0x78ae0a}=this[_0x11d095(0x15f)](_0x342488,_0x19f54f['prefix']||''),_0x28a6b3=this[_0x11d095(0x1a6)](_0x19f54f['resource'],_0x78ae0a),_0x2be33f=this[_0x11d095(0x108)](_0x19f54f['resource'],_0x78ae0a),[_0x9f01c,_0x53e19d]=await Promise['all']([_0x3d8a4a['get'](_0x28a6b3),_0x3d8a4a[_0x11d095(0x15e)](_0x2be33f)]);return{'resource':_0x19f54f['resource'],'mode':_0x45d4c5['dkENQ'],'formatKey':_0x78ae0a,'currentCounter':_0x45d4c5['ilxpy'](parseInt,_0x9f01c,0xa)||0x0,'reusePoolSize':_0x45d4c5[_0x11d095(0x191)](_0x53e19d,0x0)};}if(_0x45d4c5[_0x11d095(0x19d)](_0x27f992,_0x45d4c5['ImmRk'])){const _0x191d14=this[_0x11d095(0x1b9)](_0x19f54f[_0x11d095(0x131)]),_0x51c016=await _0x3d8a4a[_0x11d095(0x134)](_0x191d14);return{'resource':_0x19f54f[_0x11d095(0x131)],'mode':_0x11d095(0xfb),'issuedCount':_0x45d4c5[_0x11d095(0x191)](_0x51c016,0x0)};}throw new IdGeneratorError(_0x45d4c5[_0x11d095(0x124)],'Unknown\x20mode:\x20'+_0x27f992);}async[a0_0x3a03fd(0xad)](_0x14f23e){const _0x366328=a0_0x3a03fd,_0x3bcbab={'MLfEt':function(_0x2d0b28,_0x2d6b37){return _0x2d0b28===_0x2d6b37;},'OjGSf':'number'},_0x3f80c3=await this[_0x366328(0x172)](_0x14f23e);if(_0x3bcbab[_0x366328(0xdb)](_0x3f80c3[_0x366328(0x12d)],_0x3bcbab['OjGSf'])){const _0xe1668f=redisClient[_0x366328(0x1d3)](),_0xf6ec86=this[_0x366328(0xfc)](_0x14f23e[_0x366328(0x131)],_0x3f80c3[_0x366328(0x13c)]),_0xae947f=this['_buildReuseKey'](_0x14f23e['resource'],_0x3f80c3['formatKey']),[_0x37175,_0x35450c]=await Promise[_0x366328(0x15c)]([_0xe1668f['hgetall'](_0xf6ec86),_0xe1668f['zrange'](_0xae947f,0x0,-0x1)]);return{..._0x3f80c3,'reusePoolValues':_0x35450c[_0x366328(0x16a)](_0x926037=>parseInt(_0x926037,0xa)),'meta':_0x37175&&Object[_0x366328(0x132)](_0x37175)[_0x366328(0x12b)]>0x0?_0x37175:null};}return _0x3f80c3;}async[a0_0x3a03fd(0xe8)](_0x5009ed){const _0x1d63b0=a0_0x3a03fd,_0x468cc4={'yIXPh':_0x1d63b0(0x12f),'nUHLf':'IDGEN_RESET_NOT_ALLOWED','wJwFT':'Reset\x20operation\x20not\x20allowed\x20(set\x20IDGEN_ALLOW_RESET=true\x20to\x20enable)','dmWiH':_0x1d63b0(0xec),'uTCWJ':'IDGEN_INVALID_FORMAT','yedmi':_0x1d63b0(0x106),'ZiTCp':_0x1d63b0(0x19b),'JEPPg':_0x1d63b0(0x1c5),'vrpJU':_0x1d63b0(0x10b)};if(!this['enabled'])throw new IdGeneratorError(_0x468cc4['yIXPh'],'ID\x20Generator\x20is\x20disabled');if(!this['allowReset'])throw new IdGeneratorError(_0x468cc4[_0x1d63b0(0xf5)],_0x468cc4[_0x1d63b0(0x1a9)]);this['_validateResource'](_0x5009ed[_0x1d63b0(0x131)]);const _0x2eb855=_0x5009ed['mode']||_0x468cc4[_0x1d63b0(0x18f)],_0x2bbb5b=redisClient['getClient']();if(_0x2eb855===_0x468cc4[_0x1d63b0(0x18f)]){const _0x518aa5=(_0x5009ed[_0x1d63b0(0x15a)]||'text')[_0x1d63b0(0x169)]();if(!ALLOWED_FORMATS['has'](_0x518aa5))throw new IdGeneratorError(_0x468cc4[_0x1d63b0(0xa8)],'Invalid\x20format:\x20'+_0x5009ed[_0x1d63b0(0x15a)]);const {formatKey:_0x5bd8e5}=this['_buildFormatKey'](_0x518aa5,_0x5009ed[_0x1d63b0(0x152)]||''),_0x42cf5b=this['_buildSeqKey'](_0x5009ed[_0x1d63b0(0x131)],_0x5bd8e5),_0x355790=this['_buildReuseKey'](_0x5009ed['resource'],_0x5bd8e5),_0x15922a=this[_0x1d63b0(0xfc)](_0x5009ed[_0x1d63b0(0x131)],_0x5bd8e5);return await _0x2bbb5b[_0x1d63b0(0x125)](_0x42cf5b,_0x355790,_0x15922a),logger[_0x1d63b0(0x167)]({'event':_0x468cc4[_0x1d63b0(0x19c)],'resource':_0x5009ed[_0x1d63b0(0x131)],'mode':'number','formatKey':_0x5bd8e5},'ID\x20Generator\x20reset:\x20'+_0x5009ed[_0x1d63b0(0x131)]+':'+_0x5bd8e5),{'reset':!![],'resource':_0x5009ed['resource'],'mode':_0x468cc4['dmWiH'],'formatKey':_0x5bd8e5,'deletedKeys':[_0x468cc4['ZiTCp'],'reuse',_0x1d63b0(0xe9)]};}if(_0x2eb855===_0x1d63b0(0xfb)){const _0x3e864d=this[_0x1d63b0(0x1b9)](_0x5009ed['resource']);return await _0x2bbb5b[_0x1d63b0(0x125)](_0x3e864d),logger[_0x1d63b0(0x167)]({'event':_0x468cc4[_0x1d63b0(0x19c)],'resource':_0x5009ed[_0x1d63b0(0x131)],'mode':_0x1d63b0(0xfb)},_0x1d63b0(0x112)+_0x5009ed[_0x1d63b0(0x131)]),{'reset':!![],'resource':_0x5009ed[_0x1d63b0(0x131)],'mode':'random','deletedKeys':[_0x468cc4[_0x1d63b0(0x164)]]};}throw new IdGeneratorError(_0x468cc4['vrpJU'],'Unknown\x20mode:\x20'+_0x2eb855);}}const instance=new IdGenerator();instance['IdGeneratorError']=IdGeneratorError,module[a0_0x3a03fd(0xba)]=instance,module['exports'][a0_0x3a03fd(0x1a1)]=IdGeneratorError;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';const
|
|
1
|
+
'use strict';function a0_0x61b7(_0x43c568,_0xd72e8c){_0x43c568=_0x43c568-0x14e;const _0x5444dc=a0_0x5444();let _0x61b714=_0x5444dc[_0x43c568];if(a0_0x61b7['wwEkQH']===undefined){var _0x34b6c5=function(_0x24343a){const _0x4f2ed3='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2f122b='',_0x47d7a8='';for(let _0x38312f=0x0,_0x360097,_0xfc88a5,_0x10eb72=0x0;_0xfc88a5=_0x24343a['charAt'](_0x10eb72++);~_0xfc88a5&&(_0x360097=_0x38312f%0x4?_0x360097*0x40+_0xfc88a5:_0xfc88a5,_0x38312f++%0x4)?_0x2f122b+=String['fromCharCode'](0xff&_0x360097>>(-0x2*_0x38312f&0x6)):0x0){_0xfc88a5=_0x4f2ed3['indexOf'](_0xfc88a5);}for(let _0x962c38=0x0,_0x3cce77=_0x2f122b['length'];_0x962c38<_0x3cce77;_0x962c38++){_0x47d7a8+='%'+('00'+_0x2f122b['charCodeAt'](_0x962c38)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x47d7a8);};a0_0x61b7['hurbor']=_0x34b6c5,a0_0x61b7['smgrEq']={},a0_0x61b7['wwEkQH']=!![];}const _0x2a32ed=_0x5444dc[0x0],_0x5b8462=_0x43c568+_0x2a32ed,_0x39011f=a0_0x61b7['smgrEq'][_0x5b8462];return!_0x39011f?(_0x61b714=a0_0x61b7['hurbor'](_0x61b714),a0_0x61b7['smgrEq'][_0x5b8462]=_0x61b714):_0x61b714=_0x39011f,_0x61b714;}const a0_0x4b7fa3=a0_0x61b7;(function(_0x17d8cb,_0x5be315){const _0x2caf62=a0_0x61b7,_0x1f7e5a=_0x17d8cb();while(!![]){try{const _0x597c08=-parseInt(_0x2caf62(0x14f))/0x1*(-parseInt(_0x2caf62(0x177))/0x2)+parseInt(_0x2caf62(0x16c))/0x3*(parseInt(_0x2caf62(0x16d))/0x4)+parseInt(_0x2caf62(0x155))/0x5+parseInt(_0x2caf62(0x15a))/0x6+-parseInt(_0x2caf62(0x175))/0x7*(-parseInt(_0x2caf62(0x163))/0x8)+-parseInt(_0x2caf62(0x157))/0x9*(parseInt(_0x2caf62(0x153))/0xa)+parseInt(_0x2caf62(0x16b))/0xb*(-parseInt(_0x2caf62(0x173))/0xc);if(_0x597c08===_0x5be315)break;else _0x1f7e5a['push'](_0x1f7e5a['shift']());}catch(_0x3f410a){_0x1f7e5a['push'](_0x1f7e5a['shift']());}}}(a0_0x5444,0x9247d));const redisClient=require(a0_0x4b7fa3(0x15e)),{logger}=require(a0_0x4b7fa3(0x154)),crypto=require('crypto');function a0_0x5444(){const _0x479332=['C2v0zxG','mtb5r0jmv2S','yNvPBgrezxrLCM1PBMLZDgLJs2v5','mtiWnJeZy3HuAeTx','Dw5RBM93BG','z2v0q2XPzw50','AwrLBxbVDgvUy3LFCMv0CMLLDMvFzxjYB3i','mJe3mfbxD0TkCW','lI9SB2DNzxi','ndqYndaYmhnitLHoyG','zxjYB3i','mtqWnJDkCffZqwq','DhrS','x2vUC3vYzuLUAxrPywXPEMvK','mJm2ntu3ofbXENr2CW','CMvX','AwrLBxbVDgvUy3LFAgL0','zgvIDwC','lI9YzwrPCY1JBgLLBNq','x2LUAxrdB25MAwC','AwrLBxbVDgvUy3LFy29UzMLNx2LUAxq','CgfYC2u','swrLBxbVDgvUy3KGC3rVCMuGzxjYB3i6ia','ofvOwK9Ssq','x2vUywjSzwq','zw5HyMXLza','C3bSAxq','Aw5MBW','zw52','BwvZC2fNzq','lcbuveW6ia','odeZoty4mvjfCg9rAW','mtC4ognJtuzqua','mJC3nMXvC1v1CG','C3rYAw5NAwz5','x3r0Ba','zgvMyxvSDa','BKXcBKC','CLrvwMG','mZzuBKnRueq','C3rVCMu','nJaZnZq1mu9muujYuq'];a0_0x5444=function(){return _0x479332;};return a0_0x5444();}class IdempotencyManager{constructor(){const _0x896cda=a0_0x4b7fa3;this['_enabled']=null,this[_0x896cda(0x16f)]=null,this['_initialized']=![];}[a0_0x4b7fa3(0x15f)](){const _0x5c5561=a0_0x4b7fa3,_0x374f06={'TdIor':function(_0x5a89c2,_0x178f8c){return _0x5a89c2===_0x178f8c;},'NvwyP':_0x5c5561(0x160)};this[_0x5c5561(0x164)]=_0x374f06['TdIor'](process[_0x5c5561(0x168)]['IDEMPOTENCY_ENABLED'],'true'),this['_ttl']=parseInt(process[_0x5c5561(0x168)]['IDEMPOTENCY_TTL'],0xa)||0x12c,this['_initialized']=!![],logger['info']({'event':_0x374f06['NvwyP'],'enabled':this['_enabled'],'ttl':this[_0x5c5561(0x16f)]},'Idempotency\x20configuration\x20initialized\x20-\x20enabled:\x20'+this['_enabled']+_0x5c5561(0x16a)+this[_0x5c5561(0x16f)]+'s');}[a0_0x4b7fa3(0x159)](){!this['_initialized']&&this['_initConfig']();}get[a0_0x4b7fa3(0x165)](){const _0x255893=a0_0x4b7fa3;return this['_ensureInitialized'](),this[_0x255893(0x164)];}get[a0_0x4b7fa3(0x158)](){const _0x48a74c=a0_0x4b7fa3;return this['_ensureInitialized'](),this[_0x48a74c(0x16f)];}['isEnabled'](){return this['enabled'];}['buildKey'](_0x593c0d,_0x106281){const _0x50b7c4=a0_0x4b7fa3,_0x3a36c2={'EALQV':_0x50b7c4(0x170),'Hqrcb':_0x50b7c4(0x150)},_0x3c471d=_0x106281['path'][_0x50b7c4(0x166)]('/')['filter'](Boolean),_0x36ca37=_0x3c471d[0x0]||_0x3a36c2['EALQV'],_0xde9d7f=_0x3c471d[0x1]||'unknown',_0x3f5439=_0x3c471d[0x2]||_0x3a36c2['Hqrcb'];return'rf:idem:'+_0x36ca37+':'+_0xde9d7f+':'+_0x3f5439+':'+_0x593c0d;}async[a0_0x4b7fa3(0x174)](_0x1affee,_0x1eeb15){const _0x1556fe=a0_0x4b7fa3,_0x4ce1f9={'qNJCT':'idempotency_store','nLBnG':'Idempotency\x20response\x20stored'};if(!this['enabled'])return![];try{const _0x1890e1=redisClient[_0x1556fe(0x151)]();return await _0x1890e1[_0x1556fe(0x176)](_0x1affee,this['ttl'],JSON[_0x1556fe(0x16e)](_0x1eeb15)),logger['debug']({'event':_0x4ce1f9['qNJCT'],'key':_0x1affee,'ttl':this[_0x1556fe(0x158)],'statusCode':_0x1eeb15['statusCode']},_0x4ce1f9[_0x1556fe(0x171)]),!![];}catch(_0x4eba19){return logger[_0x1556fe(0x156)]({'event':'idempotency_store_error','key':_0x1affee,'error':_0x4eba19[_0x1556fe(0x169)]},_0x1556fe(0x162)+_0x4eba19['message']),![];}}async['retrieve'](_0x20d25b){const _0xffe8a0=a0_0x4b7fa3,_0x278cd7={'rTUZh':'Idempotency\x20cache\x20HIT','xcBly':'idempotency_miss','OhFAz':'Idempotency\x20cache\x20MISS'};if(!this[_0xffe8a0(0x165)])return null;try{const _0x2a2492=redisClient[_0xffe8a0(0x151)](),_0x4deb68=await _0x2a2492['get'](_0x20d25b);if(_0x4deb68)return logger[_0xffe8a0(0x167)]({'event':_0xffe8a0(0x15c),'key':_0x20d25b},_0x278cd7[_0xffe8a0(0x172)]),JSON[_0xffe8a0(0x161)](_0x4deb68);return logger[_0xffe8a0(0x15d)]({'event':_0x278cd7['xcBly'],'key':_0x20d25b},_0x278cd7['OhFAz']),null;}catch(_0x2fcfdf){return logger[_0xffe8a0(0x156)]({'event':_0xffe8a0(0x152),'key':_0x20d25b,'error':_0x2fcfdf[_0xffe8a0(0x169)]},'Idempotency\x20retrieve\x20error:\x20'+_0x2fcfdf['message']),null;}}['generateKey'](_0x4acb44=a0_0x4b7fa3(0x15b)){return _0x4acb44+'_'+crypto['randomUUID']();}[a0_0x4b7fa3(0x14e)](_0x41cf6e,_0x6c61d8,_0x28f282){return _0x41cf6e+':'+_0x6c61d8+':'+_0x28f282;}}module['exports']=new IdempotencyManager();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0xe6ce8=a0_0x29ec;function a0_0x112c(){const _0x46cfec=['DMfSAwrHDgvvCMW','ntyWmtjXsvfpqNC','DMfSAwrHDgvoDw1Izxi','lI9SB2DNzxi','mNzQyMfXyW','Eg5ptMe','uwzPCu0','DMfSAwrHDgvfBwfPBa','ChvZAa','mZe1otC4mg92r1Hxuq','C2v0','mZK1tMfVt0Le','nJC3otyYnLD1thnuqq','yMf0y2HwywXPzgf0zvjVD3m','sw52ywXPzcbvuKWGzM9YBwf0','nJCYndjhtLvoCfO','zgv0zwn0rhvWBgLJyxrLC0LUrMLSzq','DxjS','mte0nteZm3nduxfOEa','zM9YBwf0','zM9YrwfJAa','nZK4ntj1DLrQD2m','ndeXodC0ngz4teDwsW','DMfSAwrHDgvsB3C','z2v0','wNbbuMG','DMfSAwrHDgvgAwvSzezVCM1HDa','zw1HAwW','DMfSAwrHDgvqAg9Uzq','BgvUz3rO','Cfj0A2q','D1H3ALe','A0LhC00','DgvZDa','swvkwLi','z2X0qK8','CgHVBMu'];a0_0x112c=function(){return _0x46cfec;};return a0_0x112c();}function a0_0x29ec(_0x56542c,_0x484606){_0x56542c=_0x56542c-0xad;const _0x112cd8=a0_0x112c();let _0x29ec29=_0x112cd8[_0x56542c];if(a0_0x29ec['eFbtzT']===undefined){var _0x4e5b44=function(_0x148246){const _0x466ab6='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2da604='',_0x378436='';for(let _0x130e52=0x0,_0x4cf663,_0x2e701a,_0xc8cc48=0x0;_0x2e701a=_0x148246['charAt'](_0xc8cc48++);~_0x2e701a&&(_0x4cf663=_0x130e52%0x4?_0x4cf663*0x40+_0x2e701a:_0x2e701a,_0x130e52++%0x4)?_0x2da604+=String['fromCharCode'](0xff&_0x4cf663>>(-0x2*_0x130e52&0x6)):0x0){_0x2e701a=_0x466ab6['indexOf'](_0x2e701a);}for(let _0x130439=0x0,_0x4f2c4c=_0x2da604['length'];_0x130439<_0x4f2c4c;_0x130439++){_0x378436+='%'+('00'+_0x2da604['charCodeAt'](_0x130439)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x378436);};a0_0x29ec['xPtILH']=_0x4e5b44,a0_0x29ec['cgsbQD']={},a0_0x29ec['eFbtzT']=!![];}const _0x10caf9=_0x112cd8[0x0],_0x3c12b4=_0x56542c+_0x10caf9,_0x1f0945=a0_0x29ec['cgsbQD'][_0x3c12b4];return!_0x1f0945?(_0x29ec29=a0_0x29ec['xPtILH'](_0x29ec29),a0_0x29ec['cgsbQD'][_0x3c12b4]=_0x29ec29):_0x29ec29=_0x1f0945,_0x29ec29;}(function(_0x148aa0,_0xfb46b8){const _0xbc44a6=a0_0x29ec,_0x233a94=_0x148aa0();while(!![]){try{const _0x1791fe=parseInt(_0xbc44a6(0xc3))/0x1*(parseInt(_0xbc44a6(0xb2))/0x2)+parseInt(_0xbc44a6(0xb7))/0x3+parseInt(_0xbc44a6(0xaf))/0x4*(-parseInt(_0xbc44a6(0xb9))/0x5)+-parseInt(_0xbc44a6(0xbd))/0x6+parseInt(_0xbc44a6(0xba))/0x7+-parseInt(_0xbc44a6(0xc4))/0x8+parseInt(_0xbc44a6(0xc0))/0x9;if(_0x1791fe===_0xfb46b8)break;else _0x233a94['push'](_0x233a94['shift']());}catch(_0x32dab1){_0x233a94['push'](_0x233a94['shift']());}}}(a0_0x112c,0x91a64));const {logger}=require(a0_0xe6ce8(0xb1));class ImportValidator{[a0_0xe6ce8(0xc5)](_0x2fed12,_0x54e388=[],_0xafd7b6={}){const _0x32fad6=a0_0xe6ce8,_0x3dd597={'IeJZR':function(_0x26aaa2,_0x37909e){return _0x26aaa2===_0x37909e;},'QfiqM':'required'},_0x3b8a80=[];return _0x54e388['forEach'](_0x4083af=>{const _0x40f67a=a0_0x29ec,_0x174f71=_0x2fed12[_0x4083af];(_0x3dd597[_0x40f67a(0xd0)](_0x174f71,null)||_0x3dd597[_0x40f67a(0xd0)](_0x174f71,undefined)||_0x174f71==='')&&_0x3b8a80[_0x40f67a(0xb6)]({'field':_0x4083af,'type':_0x3dd597[_0x40f67a(0xb4)],'message':'Required\x20field\x20is\x20empty'});}),Object['keys'](_0xafd7b6)[_0x32fad6(0xc2)](_0x2048f5=>{const _0x385550=_0x32fad6,_0x4251c9=_0x2fed12[_0x2048f5],_0x54dd57=_0xafd7b6[_0x2048f5];if(_0x4251c9===null||_0x3dd597[_0x385550(0xd0)](_0x4251c9,undefined)||_0x4251c9==='')return;const _0x13dbbe=this[_0x385550(0xc8)](_0x2048f5,_0x4251c9,_0x54dd57);_0x13dbbe&&_0x3b8a80[_0x385550(0xb6)](_0x13dbbe);}),_0x3b8a80;}['validateFieldFormat'](_0x173018,_0x531a39,_0x815162){const _0x2847a3=a0_0xe6ce8,_0x607910={'xnONa':_0x2847a3(0xad)};switch(_0x815162){case _0x2847a3(0xc9):return this[_0x2847a3(0xb5)](_0x173018,_0x531a39);case _0x607910[_0x2847a3(0xb3)]:return this['validatePhone'](_0x173018,_0x531a39);case _0x2847a3(0xbf):return this['validateUrl'](_0x173018,_0x531a39);case'number':return this[_0x2847a3(0xb0)](_0x173018,_0x531a39);default:return null;}}[a0_0xe6ce8(0xb5)](_0x3fd8d3,_0x21ab82){const _0x5dc58e=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;if(!_0x5dc58e['test'](String(_0x21ab82)))return{'field':_0x3fd8d3,'type':'format','message':'Invalid\x20email\x20format'};return null;}[a0_0xe6ce8(0xca)](_0x4d1116,_0x535722){const _0x202ebb=a0_0xe6ce8,_0x5ed794={'IqsbP':function(_0x2e5a7c,_0x209bc2){return _0x2e5a7c(_0x209bc2);},'bqBnI':function(_0xff7fa2,_0x3d83a5){return _0xff7fa2<_0x3d83a5;}},_0x433945=_0x5ed794['IqsbP'](String,_0x535722)['replace'](/\s+/g,''),_0x1d4209=/^[\d\+\-\(\)]+$/;if(!_0x1d4209[_0x202ebb(0xcf)](_0x433945)||_0x5ed794['bqBnI'](_0x433945['length'],0x8))return{'field':_0x4d1116,'type':_0x202ebb(0xc1),'message':'Invalid\x20phone\x20format'};return null;}[a0_0xe6ce8(0xae)](_0x40528f,_0x1c1bf7){const _0x327ec2=a0_0xe6ce8,_0x5c74b3={'fctcK':function(_0x30ffdf,_0x337eba){return _0x30ffdf(_0x337eba);},'wXwjQ':'format','gltBO':_0x327ec2(0xbc)};try{return new URL(_0x5c74b3['fctcK'](String,_0x1c1bf7)),null;}catch(_0xb044a0){return{'field':_0x40528f,'type':_0x5c74b3[_0x327ec2(0xcd)],'message':_0x5c74b3[_0x327ec2(0xd1)]};}}[a0_0xe6ce8(0xb0)](_0x4691e4,_0x5988ac){const _0x4f8e2a=a0_0xe6ce8,_0x44741b={'voWaV':function(_0x2c948a,_0x59aab2){return _0x2c948a(_0x59aab2);},'TnZnU':_0x4f8e2a(0xc1)};if(_0x44741b['voWaV'](isNaN,_0x5988ac))return{'field':_0x4691e4,'type':_0x44741b['TnZnU'],'message':'Invalid\x20number\x20format'};return null;}[a0_0xe6ce8(0xbe)](_0x19fd93,_0xfc3197){const _0x36cf51=a0_0xe6ce8,_0x37859=new Map(),_0x20514c=[];return _0x19fd93[_0x36cf51(0xc2)]((_0x455a43,_0x118b1e)=>{const _0x3882c0=_0x36cf51,_0x2ec728=_0xfc3197['map'](_0xad7968=>_0x455a43[_0xad7968])['join']('|');_0x37859['has'](_0x2ec728)?_0x20514c['push']({'rowIndex':_0x118b1e,'duplicateOf':_0x37859[_0x3882c0(0xc6)](_0x2ec728),'key':_0x2ec728}):_0x37859[_0x3882c0(0xb8)](_0x2ec728,_0x118b1e);}),_0x20514c;}[a0_0xe6ce8(0xbb)](_0x396dc9,_0x2ca499,_0x2a16d3){const _0x571365=a0_0xe6ce8,_0x2b057f={'kIGsM':function(_0x4f680f,_0x226a11){return _0x4f680f>_0x226a11;},'ZpARh':'batch_validation_complete','pRtkd':'Batch\x20validation\x20completed'},_0x2d17a2=[];return _0x396dc9[_0x571365(0xc2)]((_0x3db75a,_0x47890e)=>{const _0x32a4c4=_0x571365,_0x65d327=this['validateRow'](_0x3db75a,_0x2ca499,_0x2a16d3);_0x2b057f[_0x32a4c4(0xce)](_0x65d327[_0x32a4c4(0xcb)],0x0)&&_0x2d17a2[_0x32a4c4(0xb6)]({'rowIndex':_0x47890e,'rowData':_0x3db75a,'errors':_0x65d327});}),logger['info']({'event':_0x2b057f[_0x571365(0xc7)],'totalRows':_0x396dc9[_0x571365(0xcb)],'errorCount':_0x2d17a2[_0x571365(0xcb)]},_0x2b057f[_0x571365(0xcc)]),_0x2d17a2;}}module['exports']=new ImportValidator();
|