@restforgejs/platform 5.2.16 → 5.3.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (199) hide show
  1. package/build-info.json +2 -2
  2. package/cli/consumer-deploy.js +1 -1
  3. package/cli/consumer.js +1 -1
  4. package/generators/cli/endpoint/create.js +69 -6
  5. package/generators/cli/payload/sync.js +16 -6
  6. package/generators/cli/project/auth.js +2 -2
  7. package/generators/cli/project/sdk.js +112 -0
  8. package/generators/lib/arg-parser.js +6 -0
  9. package/generators/lib/auth/processor-generator.js +5 -3
  10. package/generators/lib/auth/templates/processor/google.js.tmpl +178 -0
  11. package/generators/lib/auth/templates/processor/login.js.tmpl +8 -8
  12. package/generators/lib/auth/templates/processor/logout.js.tmpl +2 -2
  13. package/generators/lib/auth/templates/processor/me.js.tmpl +2 -2
  14. package/generators/lib/auth/templates/processor/refresh.js.tmpl +6 -6
  15. package/generators/lib/auth/templates/processor/register.js.tmpl +4 -4
  16. package/generators/lib/auth/templates/processor/reset-password.js.tmpl +7 -7
  17. package/generators/lib/auth/templates/rfx_auth.js.tmpl +3 -0
  18. package/generators/lib/generators/model-generator.js +46 -59
  19. package/generators/lib/help-generator.js +41 -3
  20. package/generators/lib/payload/endpoint-schema-validator.js +8 -3
  21. package/generators/lib/payload/field-projections.js +116 -0
  22. package/generators/lib/payload/payload-runner.js +164 -48
  23. package/generators/lib/payload/schema-diff.js +108 -0
  24. package/generators/lib/sdk/generator.js +719 -0
  25. package/generators/lib/sdk/naming.js +48 -0
  26. package/generators/lib/sdk/runtime/README.md.tmpl +207 -0
  27. package/generators/lib/sdk/runtime/auth-client.js +186 -0
  28. package/generators/lib/sdk/runtime/deploy.mjs.tmpl +85 -0
  29. package/generators/lib/sdk/runtime/http-client.js +81 -0
  30. package/generators/lib/sdk/runtime/resource-client.js +59 -0
  31. package/generators/lib/sdk/runtime/storage.js +31 -0
  32. package/generators/lib/templates/dashboard-catalog.js +1 -1
  33. package/generators/lib/templates/db-connection-env.js +1 -1
  34. package/generators/lib/templates/dbschema-catalog.js +1 -1
  35. package/generators/lib/templates/field-validation-catalog.js +1 -1
  36. package/generators/lib/templates/mysql-template.js +1 -1
  37. package/generators/lib/templates/oracle-template.js +1 -1
  38. package/generators/lib/templates/postgres-template.js +1 -1
  39. package/generators/lib/templates/query-declarative-catalog.js +1 -1
  40. package/generators/lib/templates/sqlite-template.js +1 -1
  41. package/generators/lib/utils/cli-output.js +40 -0
  42. package/generators/lib/utils/config-resolver.js +61 -0
  43. package/generators/lib/utils/database-introspector.js +28 -5
  44. package/integrity-manifest.json +18 -18
  45. package/package.json +1 -1
  46. package/scripts/verify-integrity.js +1 -1
  47. package/server.js +1 -1
  48. package/src/components/handlers/adjust_handler.js +1 -1
  49. package/src/components/handlers/audit_handler.js +1 -1
  50. package/src/components/handlers/delete_handler.js +1 -1
  51. package/src/components/handlers/export_handler.js +1 -1
  52. package/src/components/handlers/import_handler.js +1 -1
  53. package/src/components/handlers/insert_handler.js +1 -1
  54. package/src/components/handlers/update_handler.js +1 -1
  55. package/src/components/handlers/upload_handler.js +1 -1
  56. package/src/components/handlers/workflow_handler.js +1 -1
  57. package/src/components/integrations/webhook.js +1 -1
  58. package/src/consumers/baseConsumer.js +1 -1
  59. package/src/consumers/declarativeMapper.js +1 -1
  60. package/src/consumers/handlers/apiHandler.js +1 -1
  61. package/src/consumers/handlers/consoleHandler.js +1 -1
  62. package/src/consumers/handlers/databaseHandler.js +1 -1
  63. package/src/consumers/handlers/index.js +1 -1
  64. package/src/consumers/handlers/kafkaHandler.js +1 -1
  65. package/src/consumers/index.js +1 -1
  66. package/src/consumers/messageTransformer.js +1 -1
  67. package/src/consumers/validator.js +1 -1
  68. package/src/core/db/dialect/base-dialect.js +1 -1
  69. package/src/core/db/dialect/index.js +1 -1
  70. package/src/core/db/dialect/mysql-dialect.js +1 -1
  71. package/src/core/db/dialect/oracle-dialect.js +1 -1
  72. package/src/core/db/dialect/postgres-dialect.js +1 -1
  73. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  74. package/src/core/db/flatten-helper.js +1 -1
  75. package/src/core/db/query-builder-error.js +1 -1
  76. package/src/core/db/query-builder.js +1 -1
  77. package/src/core/db/relation-helper.js +1 -1
  78. package/src/core/handlers/delete_handler.js +1 -1
  79. package/src/core/handlers/insert_handler.js +1 -1
  80. package/src/core/handlers/update_handler.js +1 -1
  81. package/src/core/models/base-model.js +1 -1
  82. package/src/core/utils/cache-manager.js +1 -1
  83. package/src/core/utils/component-engine.js +1 -1
  84. package/src/core/utils/context-builder.js +1 -1
  85. package/src/core/utils/datetime-formatter.js +1 -1
  86. package/src/core/utils/datetime-parser.js +1 -1
  87. package/src/core/utils/db.js +1 -1
  88. package/src/core/utils/logger.js +1 -1
  89. package/src/core/utils/payload-loader.js +1 -1
  90. package/src/core/utils/security-checks.js +1 -1
  91. package/src/middleware/body-options.js +1 -1
  92. package/src/middleware/cors.js +1 -1
  93. package/src/middleware/idempotency.js +1 -1
  94. package/src/middleware/rate-limiter.js +1 -1
  95. package/src/middleware/request-logger.js +1 -1
  96. package/src/middleware/security-headers.js +1 -1
  97. package/src/models/base-model-mysql.js +1 -1
  98. package/src/models/base-model-oracle.js +1 -1
  99. package/src/models/base-model-sqlite.js +1 -1
  100. package/src/models/base-model.js +1 -1
  101. package/src/pro/caching/redis-client.js +1 -1
  102. package/src/pro/caching/redis-helper.js +1 -1
  103. package/src/pro/consumers/baseConsumer.js +1 -1
  104. package/src/pro/consumers/declarativeMapper.js +1 -1
  105. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  106. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  107. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  108. package/src/pro/consumers/handlers/index.js +1 -1
  109. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  110. package/src/pro/consumers/index.js +1 -1
  111. package/src/pro/consumers/messageTransformer.js +1 -1
  112. package/src/pro/consumers/validator.js +1 -1
  113. package/src/pro/database/base-model-mysql.js +1 -1
  114. package/src/pro/database/base-model-oracle.js +1 -1
  115. package/src/pro/database/base-model-sqlite.js +1 -1
  116. package/src/pro/database/db-mysql.js +1 -1
  117. package/src/pro/database/db-oracle.js +1 -1
  118. package/src/pro/database/db-sqlite.js +1 -1
  119. package/src/pro/excel/excel-generator.js +1 -1
  120. package/src/pro/excel/excel-parser.js +1 -1
  121. package/src/pro/excel/export-service.js +1 -1
  122. package/src/pro/excel/export_handler.js +1 -1
  123. package/src/pro/excel/import-service.js +1 -1
  124. package/src/pro/excel/import-validator.js +1 -1
  125. package/src/pro/excel/import_handler.js +1 -1
  126. package/src/pro/excel/upsert-builder.js +1 -1
  127. package/src/pro/idgen/idgen-routes.js +1 -1
  128. package/src/pro/integrations/lookup-resolver.js +1 -1
  129. package/src/pro/integrations/upload-handler-v2.js +1 -1
  130. package/src/pro/integrations/upload-handler.js +1 -1
  131. package/src/pro/integrations/webhook.js +1 -1
  132. package/src/pro/locking/lock-routes.js +1 -1
  133. package/src/pro/locking/resource-lock-manager.js +1 -1
  134. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  135. package/src/pro/messaging/kafkaService.js +1 -1
  136. package/src/pro/messaging/messagehubService.js +1 -1
  137. package/src/pro/messaging/rabbitmqService.js +1 -1
  138. package/src/pro/scheduler/job-manager.js +1 -1
  139. package/src/pro/scheduler/job-routes.js +1 -1
  140. package/src/pro/scheduler/job-validator.js +1 -1
  141. package/src/pro/storage/base-storage-provider.js +1 -1
  142. package/src/pro/storage/file-metadata-helper.js +1 -1
  143. package/src/pro/storage/index.js +1 -1
  144. package/src/pro/storage/local-storage-provider.js +1 -1
  145. package/src/pro/storage/s3-storage-provider.js +1 -1
  146. package/src/pro/storage/upload-cleanup-job.js +1 -1
  147. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  148. package/src/pro/storage/upload-pending-tracker.js +1 -1
  149. package/src/pro/websocket/broadcast-helper.js +1 -1
  150. package/src/pro/websocket/index.js +1 -1
  151. package/src/pro/websocket/livesync-server.js +1 -1
  152. package/src/pro/websocket/ws-broadcaster.js +1 -1
  153. package/src/services/export-service.js +1 -1
  154. package/src/services/import-service.js +1 -1
  155. package/src/services/kafkaConsumerService.js +1 -1
  156. package/src/services/kafkaService.js +1 -1
  157. package/src/services/messagehubService.js +1 -1
  158. package/src/services/rabbitmqService.js +1 -1
  159. package/src/utils/cache-invalidation-registry.js +1 -1
  160. package/src/utils/cache-manager.js +1 -1
  161. package/src/utils/component-engine.js +1 -1
  162. package/src/utils/config-extractor.js +1 -1
  163. package/src/utils/consumerLogger.js +1 -1
  164. package/src/utils/context-builder.js +1 -1
  165. package/src/utils/dashboard-helpers.js +1 -1
  166. package/src/utils/dateHelper.js +1 -1
  167. package/src/utils/datetime-formatter.js +1 -1
  168. package/src/utils/datetime-parser.js +1 -1
  169. package/src/utils/db-bootstrap.js +1 -1
  170. package/src/utils/db-mysql.js +1 -1
  171. package/src/utils/db-oracle.js +1 -1
  172. package/src/utils/db-sqlite.js +1 -1
  173. package/src/utils/db.js +1 -1
  174. package/src/utils/demo-generator.js +1 -1
  175. package/src/utils/excel-generator.js +1 -1
  176. package/src/utils/excel-parser.js +1 -1
  177. package/src/utils/file-watcher.js +1 -1
  178. package/src/utils/id-generator.js +1 -1
  179. package/src/utils/idempotency-manager.js +1 -1
  180. package/src/utils/import-validator.js +1 -1
  181. package/src/utils/license-client.js +1 -1
  182. package/src/utils/lock-manager.js +1 -1
  183. package/src/utils/logger.js +1 -1
  184. package/src/utils/lookup-resolver.js +1 -1
  185. package/src/utils/payload-loader.js +1 -1
  186. package/src/utils/processor-response.js +1 -1
  187. package/src/utils/rabbitmq.js +1 -1
  188. package/src/utils/redis-client.js +1 -1
  189. package/src/utils/redis-helper.js +1 -1
  190. package/src/utils/request-scope.js +1 -1
  191. package/src/utils/security-checks.js +1 -1
  192. package/src/utils/service-resolver.js +1 -1
  193. package/src/utils/shutdown-coordinator.js +1 -1
  194. package/src/utils/soft-delete-dashboard-guard.js +1 -1
  195. package/src/utils/sql-table-extractor.js +1 -1
  196. package/src/utils/trusted-keys.js +1 -1
  197. package/src/utils/upload-handler.js +1 -1
  198. package/src/utils/upsert-builder.js +1 -1
  199. package/src/utils/workflow-hook-executor.js +1 -1
@@ -1 +1 @@
1
- 'use strict';const a0_0x25dbf3=a0_0x1768;(function(_0x626728,_0x168252){const _0x479eba=a0_0x1768,_0x29dffe=_0x626728();while(!![]){try{const _0x1dbf19=parseInt(_0x479eba(0x1db))/0x1*(-parseInt(_0x479eba(0x1de))/0x2)+parseInt(_0x479eba(0x1f0))/0x3*(-parseInt(_0x479eba(0x1e9))/0x4)+parseInt(_0x479eba(0x1e2))/0x5+parseInt(_0x479eba(0x1d8))/0x6*(parseInt(_0x479eba(0x1ee))/0x7)+-parseInt(_0x479eba(0x1f2))/0x8*(-parseInt(_0x479eba(0x1da))/0x9)+-parseInt(_0x479eba(0x1df))/0xa*(-parseInt(_0x479eba(0x1d5))/0xb)+-parseInt(_0x479eba(0x1d3))/0xc*(parseInt(_0x479eba(0x1ed))/0xd);if(_0x1dbf19===_0x168252)break;else _0x29dffe['push'](_0x29dffe['shift']());}catch(_0x448274){_0x29dffe['push'](_0x29dffe['shift']());}}}(a0_0x5198,0x193c6));function a0_0x5198(){const _0x26ee17=['mti4mdyYDgrmEhHz','lMPZ','B25dAgfUz2u','odeWnLfbtg5fBG','Cgf0Aa','odi0ng91rfHzsG','mJzPwK9QzwK','zgvIB3vUy2vuAw1LCG','CMvSyxrPDMu','odi0ohD4y01VyW','mZbPuLnlr3y','C3rHCNq','zgvIB3vUy2vnCW','odi3nZu1ALfLv0fs','BMDYs3m','zgLYzwn0B3jPzxm','D2f0y2HLCNm','lYaOCMvJDxjZAxzLkq','werbvMi','zxjYB3i','mtuWnJH5CfjRDMq','BwvZC2fNzq','Bg9N','Dg9mB3DLCKnHC2u','mtq3mJLlEMLOqwu','nZC3BeTtv1jX','x2rLyM91BMnL','ndvywhD2yMu','zxH0zw5ZAw9UCW','mtm2mefYzLfpsa','y2XVC2u','D2f0y2G','su1UzeG','mJuZmMjxrfzezG','zxHPC3rZu3LUyW'];a0_0x5198=function(){return _0x26ee17;};return a0_0x5198();}const fs=require('fs'),path=require(a0_0x25dbf3(0x1d9));function a0_0x1768(_0x27f704,_0xab9497){_0x27f704=_0x27f704-0x1d1;const _0x51985f=a0_0x5198();let _0x176880=_0x51985f[_0x27f704];if(a0_0x1768['NYlJYb']===undefined){var _0xb704ae=function(_0x3ec562){const _0x2a1290='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x73f041='',_0x554631='';for(let _0x41e80a=0x0,_0x506257,_0x15fc38,_0x56b75b=0x0;_0x15fc38=_0x3ec562['charAt'](_0x56b75b++);~_0x15fc38&&(_0x506257=_0x41e80a%0x4?_0x506257*0x40+_0x15fc38:_0x15fc38,_0x41e80a++%0x4)?_0x73f041+=String['fromCharCode'](0xff&_0x506257>>(-0x2*_0x41e80a&0x6)):0x0){_0x15fc38=_0x2a1290['indexOf'](_0x15fc38);}for(let _0x12f4cc=0x0,_0x2d4b23=_0x73f041['length'];_0x12f4cc<_0x2d4b23;_0x12f4cc++){_0x554631+='%'+('00'+_0x73f041['charCodeAt'](_0x12f4cc)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x554631);};a0_0x1768['vRvVyR']=_0xb704ae,a0_0x1768['GkofZX']={},a0_0x1768['NYlJYb']=!![];}const _0xfc9a8c=_0x51985f[0x0],_0x4410a2=_0x27f704+_0xfc9a8c,_0x9e24c1=a0_0x1768['GkofZX'][_0x4410a2];return!_0x9e24c1?(_0x176880=a0_0x1768['vRvVyR'](_0x176880),a0_0x1768['GkofZX'][_0x4410a2]=_0x176880):_0x176880=_0x9e24c1,_0x176880;}class FileWatcher{constructor(_0xdca0eb={}){const _0x190990=a0_0x25dbf3,_0x2d3c4a={'XDAVb':_0x190990(0x1d6)};this[_0x190990(0x1e4)]=_0xdca0eb['directories']||[],this[_0x190990(0x1f1)]=_0xdca0eb['extensions']||[_0x2d3c4a[_0x190990(0x1e7)],'.json'],this[_0x190990(0x1e1)]=_0xdca0eb['debounceMs']||0x1f4,this[_0x190990(0x1d7)]=_0xdca0eb['onChange']||(()=>{}),this[_0x190990(0x1e5)]=[],this['debounceTimer']=null;}[a0_0x25dbf3(0x1e0)](){const _0x5551ec=a0_0x25dbf3;for(const _0x460d80 of this[_0x5551ec(0x1e4)]){if(!fs[_0x5551ec(0x1d4)](_0x460d80)){console[_0x5551ec(0x1eb)]('\x20\x20[WATCH]\x20Warning:\x20Directory\x20not\x20found,\x20skipping:\x20'+(path['relative'](process['cwd'](),_0x460d80)||_0x460d80));continue;}try{const _0x460b43=fs[_0x5551ec(0x1d1)](_0x460d80,{'recursive':!![]},(_0x4d04b3,_0x56a991)=>{const _0x34826c=_0x5551ec;if(!_0x56a991)return;const _0x15826b=path['extname'](_0x56a991)[_0x34826c(0x1ec)]();if(!this[_0x34826c(0x1f1)]['includes'](_0x15826b))return;this[_0x34826c(0x1ef)](_0x56a991);});_0x460b43['on'](_0x5551ec(0x1e8),_0x50a8d3=>{const _0x4767d5=_0x5551ec;console[_0x4767d5(0x1eb)]('\x20\x20[WATCH]\x20Warning:\x20Watcher\x20error\x20on\x20'+path[_0x4767d5(0x1dd)](process['cwd'](),_0x460d80)+':\x20'+_0x50a8d3['message']);}),this['watchers']['push'](_0x460b43);const _0x2ab7f2=path[_0x5551ec(0x1dd)](process['cwd'](),_0x460d80)||_0x460d80;console[_0x5551ec(0x1eb)]('\x20\x20[WATCH]\x20Watching:\x20'+_0x2ab7f2+_0x5551ec(0x1e6));}catch(_0x3a4a92){console[_0x5551ec(0x1eb)]('\x20\x20[WATCH]\x20Warning:\x20Failed\x20to\x20setup\x20watcher\x20for\x20'+path[_0x5551ec(0x1dd)](process['cwd'](),_0x460d80)+':\x20'+_0x3a4a92[_0x5551ec(0x1ea)]);}}}['stop'](){const _0x3f0203=a0_0x25dbf3,_0x3a6ab5={'tzbRk':function(_0x11d8eb,_0xb87f1c){return _0x11d8eb(_0xb87f1c);}};for(const _0x5abf6f of this[_0x3f0203(0x1e5)]){try{_0x5abf6f[_0x3f0203(0x1f3)]();}catch(_0x471848){}}this[_0x3f0203(0x1e5)]=[],this['debounceTimer']&&(_0x3a6ab5['tzbRk'](clearTimeout,this[_0x3f0203(0x1dc)]),this['debounceTimer']=null);}['_debounce'](_0x1ad824){const _0x436e0a=a0_0x25dbf3,_0x57d58b={'IMndH':function(_0x3ce7d0,_0x23e9a8){return _0x3ce7d0(_0x23e9a8);},'ngrKs':function(_0x22daee,_0x4e3911,_0x3254c4){return _0x22daee(_0x4e3911,_0x3254c4);}};this[_0x436e0a(0x1dc)]&&_0x57d58b[_0x436e0a(0x1d2)](clearTimeout,this[_0x436e0a(0x1dc)]),this[_0x436e0a(0x1dc)]=_0x57d58b[_0x436e0a(0x1e3)](setTimeout,()=>{const _0x2efc87=_0x436e0a;this['debounceTimer']=null,this[_0x2efc87(0x1d7)](_0x1ad824);},this['debounceMs']);}}module['exports']=FileWatcher;
1
+ 'use strict';const a0_0x4563d8=a0_0x30bd;(function(_0xae81e5,_0x93332f){const _0x474242=a0_0x30bd,_0x1284b0=_0xae81e5();while(!![]){try{const _0x37f690=-parseInt(_0x474242(0xe2))/0x1+parseInt(_0x474242(0xd0))/0x2+parseInt(_0x474242(0xd5))/0x3*(parseInt(_0x474242(0xdb))/0x4)+-parseInt(_0x474242(0xdd))/0x5*(parseInt(_0x474242(0xe5))/0x6)+-parseInt(_0x474242(0xd1))/0x7+-parseInt(_0x474242(0xe1))/0x8*(-parseInt(_0x474242(0xd4))/0x9)+-parseInt(_0x474242(0xcc))/0xa*(-parseInt(_0x474242(0xe3))/0xb);if(_0x37f690===_0x93332f)break;else _0x1284b0['push'](_0x1284b0['shift']());}catch(_0xe1682){_0x1284b0['push'](_0x1284b0['shift']());}}}(a0_0xff58,0xc5a3c));function a0_0xff58(){const _0x56c54e=['zxH0zw5ZAw9UCW','nJK0ntnbCxbSwuy','mty3nJy2mvPMEujHuW','uxnowuW','CMvSyxrPDMu','lYaOCMvJDxjZAxzLkq','B25dAgfUz2u','zxHWB3j0CW','nenAs3nluq','zxHPC3rZu3LUyW','nZm5odi5nufqrK1xuW','BwvZC2fNzq','teXjyxe','t1DcB2C','odHPyuXdtLy','mtqYota2mwnYv3DLqW','ndiZmtu5Cu9MzezJ','D2f0y2G','nLfitvDOra','x2rLyM91BMnL','lMPZB24','D2f0y2HLCNm','icbBv0fuq0HDifDHCM5PBMC6iezHAwXLzcb0BYbZzxr1Ccb3yxrJAgvYigzVCIa','zgvIB3vUy2vuAw1LCG','lMPZ','Aw5JBhvKzxm','Dg9mB3DLCKnHC2u','zxH0BMfTzq','zgLYzwn0B3jPzxm','otmWt2nusNPT','y3DK','y2XVC2u','icbBv0fuq0HDifDHDgnOAw5NoIa','mtCXnJm1mKr4AMDIyq','otuYotiWnvrVBhLKsa','Cgf0Aa'];a0_0xff58=function(){return _0x56c54e;};return a0_0xff58();}const fs=require('fs'),path=require(a0_0x4563d8(0xd2));function a0_0x30bd(_0x4e44db,_0x2fe2a0){_0x4e44db=_0x4e44db-0xc2;const _0xff58f3=a0_0xff58();let _0x30bd9a=_0xff58f3[_0x4e44db];if(a0_0x30bd['YyoKTp']===undefined){var _0x5b45a8=function(_0x178823){const _0x34061a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x593318='',_0xcaecaf='';for(let _0x2f7bcf=0x0,_0x4ceaaf,_0x71bb5d,_0x2114e7=0x0;_0x71bb5d=_0x178823['charAt'](_0x2114e7++);~_0x71bb5d&&(_0x4ceaaf=_0x2f7bcf%0x4?_0x4ceaaf*0x40+_0x71bb5d:_0x71bb5d,_0x2f7bcf++%0x4)?_0x593318+=String['fromCharCode'](0xff&_0x4ceaaf>>(-0x2*_0x2f7bcf&0x6)):0x0){_0x71bb5d=_0x34061a['indexOf'](_0x71bb5d);}for(let _0x17111b=0x0,_0x535e02=_0x593318['length'];_0x17111b<_0x535e02;_0x17111b++){_0xcaecaf+='%'+('00'+_0x593318['charCodeAt'](_0x17111b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xcaecaf);};a0_0x30bd['ZUNLiG']=_0x5b45a8,a0_0x30bd['nCPGyv']={},a0_0x30bd['YyoKTp']=!![];}const _0x24ec7e=_0xff58f3[0x0],_0x116562=_0x4e44db+_0x24ec7e,_0x4fd1da=a0_0x30bd['nCPGyv'][_0x116562];return!_0x4fd1da?(_0x30bd9a=a0_0x30bd['ZUNLiG'](_0x30bd9a),a0_0x30bd['nCPGyv'][_0x116562]=_0x30bd9a):_0x30bd9a=_0x4fd1da,_0x30bd9a;}class FileWatcher{constructor(_0x58ca52={}){const _0x3f20c1=a0_0x4563d8,_0x2cb40e={'LLIaq':_0x3f20c1(0xc3)},_0x3cc80a='5|0|4|2|1|3'['split']('|');let _0x530827=0x0;while(!![]){switch(_0x3cc80a[_0x530827++]){case'0':this[_0x3f20c1(0xd3)]=_0x58ca52['extensions']||[_0x3f20c1(0xc7),_0x2cb40e[_0x3f20c1(0xdf)]];continue;case'1':this[_0x3f20c1(0xc4)]=[];continue;case'2':this[_0x3f20c1(0xd9)]=_0x58ca52[_0x3f20c1(0xd9)]||(()=>{});continue;case'3':this['debounceTimer']=null;continue;case'4':this['debounceMs']=_0x58ca52['debounceMs']||0x1f4;continue;case'5':this[_0x3f20c1(0xcb)]=_0x58ca52['directories']||[];continue;}break;}}['start'](){const _0x1dc3ba=a0_0x4563d8,_0x485052={'QsNYL':'error'};for(const _0x351daf of this[_0x1dc3ba(0xcb)]){if(!fs[_0x1dc3ba(0xdc)](_0x351daf)){console['log']('\x20\x20[WATCH]\x20Warning:\x20Directory\x20not\x20found,\x20skipping:\x20'+(path['relative'](process['cwd'](),_0x351daf)||_0x351daf));continue;}try{const _0x5a2088=fs[_0x1dc3ba(0xe4)](_0x351daf,{'recursive':!![]},(_0x1268f7,_0x57f5bd)=>{const _0xb03003=_0x1dc3ba;if(!_0x57f5bd)return;const _0x4be6d1=path[_0xb03003(0xca)](_0x57f5bd)[_0xb03003(0xc9)]();if(!this[_0xb03003(0xd3)][_0xb03003(0xc8)](_0x4be6d1))return;this['_debounce'](_0x57f5bd);});_0x5a2088['on'](_0x485052[_0x1dc3ba(0xd6)],_0x58e594=>{const _0x5b67d2=_0x1dc3ba;console['log']('\x20\x20[WATCH]\x20Warning:\x20Watcher\x20error\x20on\x20'+path[_0x5b67d2(0xd7)](process[_0x5b67d2(0xcd)](),_0x351daf)+':\x20'+_0x58e594[_0x5b67d2(0xde)]);}),this[_0x1dc3ba(0xc4)]['push'](_0x5a2088);const _0x4acebe=path['relative'](process['cwd'](),_0x351daf)||_0x351daf;console['log'](_0x1dc3ba(0xcf)+_0x4acebe+_0x1dc3ba(0xd8));}catch(_0x14620a){console['log'](_0x1dc3ba(0xc5)+path[_0x1dc3ba(0xd7)](process[_0x1dc3ba(0xcd)](),_0x351daf)+':\x20'+_0x14620a['message']);}}}['stop'](){const _0x4eca49=a0_0x4563d8;for(const _0x32bc15 of this['watchers']){try{_0x32bc15[_0x4eca49(0xce)]();}catch(_0x3a38f2){}}this[_0x4eca49(0xc4)]=[],this[_0x4eca49(0xc6)]&&(clearTimeout(this['debounceTimer']),this['debounceTimer']=null);}[a0_0x4563d8(0xc2)](_0x4501b2){const _0x2ed766=a0_0x4563d8,_0x2dadf6={'OWBog':function(_0x1084e7,_0x1b2088,_0x33941b){return _0x1084e7(_0x1b2088,_0x33941b);}};this[_0x2ed766(0xc6)]&&clearTimeout(this[_0x2ed766(0xc6)]),this['debounceTimer']=_0x2dadf6[_0x2ed766(0xe0)](setTimeout,()=>{const _0x445804=_0x2ed766;this[_0x445804(0xc6)]=null,this[_0x445804(0xd9)](_0x4501b2);},this['debounceMs']);}}module[a0_0x4563d8(0xda)]=FileWatcher;
@@ -1 +1 @@
1
- 'use strict';const a0_0x35aca2=a0_0x5e69;(function(_0xdff3d6,_0x2a1612){const _0x5064f3=a0_0x5e69,_0x5edbb1=_0xdff3d6();while(!![]){try{const _0x3e8d9d=-parseInt(_0x5064f3(0x225))/0x1+-parseInt(_0x5064f3(0x1d8))/0x2+-parseInt(_0x5064f3(0x228))/0x3*(parseInt(_0x5064f3(0x214))/0x4)+parseInt(_0x5064f3(0x29e))/0x5+parseInt(_0x5064f3(0x249))/0x6+-parseInt(_0x5064f3(0x237))/0x7+parseInt(_0x5064f3(0x28e))/0x8*(parseInt(_0x5064f3(0x272))/0x9);if(_0x3e8d9d===_0x2a1612)break;else _0x5edbb1['push'](_0x5edbb1['shift']());}catch(_0x8b661f){_0x5edbb1['push'](_0x5edbb1['shift']());}}}(a0_0x1694,0xcb520));function a0_0x5e69(_0x3b4b84,_0x24f6a1){_0x3b4b84=_0x3b4b84-0x1d2;const _0x169433=a0_0x1694();let _0x5e69d3=_0x169433[_0x3b4b84];if(a0_0x5e69['cbfVvM']===undefined){var _0x2b62d1=function(_0x4388e3){const _0x3f3c32='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x46d1a6='',_0x49a408='';for(let _0x9943f7=0x0,_0x319ba5,_0x3140a0,_0x125721=0x0;_0x3140a0=_0x4388e3['charAt'](_0x125721++);~_0x3140a0&&(_0x319ba5=_0x9943f7%0x4?_0x319ba5*0x40+_0x3140a0:_0x3140a0,_0x9943f7++%0x4)?_0x46d1a6+=String['fromCharCode'](0xff&_0x319ba5>>(-0x2*_0x9943f7&0x6)):0x0){_0x3140a0=_0x3f3c32['indexOf'](_0x3140a0);}for(let _0x14bd1e=0x0,_0x53e1c8=_0x46d1a6['length'];_0x14bd1e<_0x53e1c8;_0x14bd1e++){_0x49a408+='%'+('00'+_0x46d1a6['charCodeAt'](_0x14bd1e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x49a408);};a0_0x5e69['aOILHT']=_0x2b62d1,a0_0x5e69['BHKGTN']={},a0_0x5e69['cbfVvM']=!![];}const _0x8f83ea=_0x169433[0x0],_0xd60b73=_0x3b4b84+_0x8f83ea,_0x348f17=a0_0x5e69['BHKGTN'][_0xd60b73];return!_0x348f17?(_0x5e69d3=a0_0x5e69['aOILHT'](_0x5e69d3),a0_0x5e69['BHKGTN'][_0xd60b73]=_0x5e69d3):_0x5e69d3=_0x348f17,_0x5e69d3;}const crypto=require('crypto'),redisClient=require('./redis-client'),{logger}=require('./logger'),idempotencyManager=require('./idempotency-manager'),ALLOWED_FORMATS=new Set(['text','yyyy',a0_0x35aca2(0x2c8),a0_0x35aca2(0x2e3)]),RESOURCE_REGEX=/^[A-Za-z0-9_-]{1,64}$/,PREFIX_REGEX=/^[A-Za-z0-9_-]{0,32}$/,SEPARATOR_FORBIDDEN=/:/,MAX_NUM_DIGITS=0xc,MIN_NUM_DIGITS=0x1,MAX_PIN_DIGITS=0xc,MIN_PIN_DIGITS=0x4,MAX_PATTERN_LENGTH=0x100,MAX_TTL=0x278d00,MAX_RETRY_LIMIT=0x64,MAX_IDEMPOTENCY_KEY_LENGTH=0x80,RESERVATION_TOKEN_REGEX=/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i,MIN_RESERVE_TTL=0xa,MAX_RESERVE_TTL=0x15180,DEFAULT_RESERVE_TTL=0x258,RESERVE_REAP_BATCH=0x40,CHARSET_DIGIT='0123456789',CHARSET_UPPER='ABCDEFGHIJKLMNOPQRSTUVWXYZ',CHARSET_LOWER='abcdefghijklmnopqrstuvwxyz',CHARSET_LETTERS=CHARSET_UPPER+CHARSET_LOWER,CHARSET_UPPER_ALNUM=CHARSET_UPPER+CHARSET_DIGIT,CHARSET_MIXED_ALNUM=CHARSET_UPPER+CHARSET_LOWER+CHARSET_DIGIT,CHARSET_HEX_UPPER='0123456789ABCDEF',CHARSET_HEX_LOWER=a0_0x35aca2(0x2b9),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_0x35aca2(0x298),LUA_RESERVE_NUMBER='\x0alocal\x20unpk\x20=\x20unpack\x20or\x20table.unpack\x0a\x0a--\x20Step\x201:\x20lazy\x20reap\x20expired\x20reservations\x20(cap\x20RESERVE_REAP_BATCH)\x0alocal\x20reaped\x20=\x200\x0alocal\x20nowMs\x20=\x20ARGV[7]\x0alocal\x20rsvPrefix\x20=\x20ARGV[8]\x0alocal\x20expired\x20=\x20redis.call(\x27ZRANGEBYSCORE\x27,\x20KEYS[3],\x20\x27-inf\x27,\x20\x27(\x27\x20..\x20nowMs,\x20\x27LIMIT\x27,\x200,\x2064)\x0afor\x20i\x20=\x201,\x20#expired\x20do\x0a\x20\x20local\x20expToken\x20=\x20expired[i]\x0a\x20\x20local\x20expRsvKey\x20=\x20rsvPrefix\x20..\x20expToken\x0a\x20\x20local\x20expCounter\x20=\x20redis.call(\x27HGET\x27,\x20expRsvKey,\x20\x27counter\x27)\x0a\x20\x20if\x20expCounter\x20then\x0a\x20\x20\x20\x20redis.call(\x27ZADD\x27,\x20KEYS[2],\x20expCounter,\x20expCounter)\x0a\x20\x20end\x0a\x20\x20redis.call(\x27DEL\x27,\x20expRsvKey)\x0a\x20\x20redis.call(\x27ZREM\x27,\x20KEYS[3],\x20expToken)\x0a\x20\x20reaped\x20=\x20reaped\x20+\x201\x0aend\x0a\x0a--\x20Step\x202:\x20allocate\x20counter\x20(ZPOPMIN\x20reuse\x20atau\x20INCR\x20seq)\x0alocal\x20counterInt\x0alocal\x20isReused\x20=\x200\x0aif\x20ARGV[1]\x20==\x20\x271\x27\x20then\x0a\x20\x20local\x20r\x20=\x20redis.call(\x27ZPOPMIN\x27,\x20KEYS[2],\x201)\x0a\x20\x20if\x20#r\x20>\x200\x20then\x0a\x20\x20\x20\x20counterInt\x20=\x20tonumber(r[1])\x0a\x20\x20\x20\x20isReused\x20=\x201\x0a\x20\x20end\x0aend\x0aif\x20not\x20counterInt\x20then\x0a\x20\x20counterInt\x20=\x20redis.call(\x27INCR\x27,\x20KEYS[1])\x0a\x20\x20local\x20cttl\x20=\x20tonumber(ARGV[2])\x0a\x20\x20if\x20cttl\x20>\x200\x20and\x20counterInt\x20==\x201\x20then\x0a\x20\x20\x20\x20redis.call(\x27EXPIRE\x27,\x20KEYS[1],\x20cttl)\x0a\x20\x20end\x0aend\x0a\x0a--\x20Step\x203:\x20write\x20reservation\x20hash\x20+\x20index\x20+\x20TTL\x0alocal\x20rsvKey\x20=\x20ARGV[4]\x0alocal\x20rsvTtlMs\x20=\x20tonumber(ARGV[5])\x0alocal\x20expiresAtMs\x20=\x20tonumber(ARGV[6])\x0alocal\x20nargs\x20=\x20#ARGV\x0alocal\x20fields\x20=\x20{}\x0afor\x20i\x20=\x209,\x20nargs\x20do\x0a\x20\x20fields[#fields\x20+\x201]\x20=\x20ARGV[i]\x0aend\x0aredis.call(\x27HSET\x27,\x20rsvKey,\x20\x27counter\x27,\x20counterInt,\x20\x27isReused\x27,\x20isReused,\x20unpk(fields))\x0aredis.call(\x27PEXPIRE\x27,\x20rsvKey,\x20rsvTtlMs)\x0aredis.call(\x27ZADD\x27,\x20KEYS[3],\x20expiresAtMs,\x20ARGV[3])\x0aredis.call(\x27EXPIRE\x27,\x20KEYS[3],\x20math.floor(rsvTtlMs\x20/\x201000)\x20+\x2060)\x0a\x0areturn\x20{\x20counterInt,\x20isReused,\x20reaped\x20}\x0a',LUA_CONFIRM_RESERVATION='\x0aif\x20redis.call(\x27EXISTS\x27,\x20KEYS[1])\x20==\x200\x20then\x0a\x20\x20redis.call(\x27ZREM\x27,\x20KEYS[2],\x20ARGV[1])\x0a\x20\x20return\x20{\x200\x20}\x0aend\x0alocal\x20h\x20=\x20redis.call(\x27HMGET\x27,\x20KEYS[1],\x20\x27counter\x27,\x20\x27value\x27,\x20\x27formatKey\x27,\x20\x27isReused\x27,\x20\x27createdAt\x27,\x20\x27expiresAt\x27)\x0aredis.call(\x27DEL\x27,\x20KEYS[1])\x0aredis.call(\x27ZREM\x27,\x20KEYS[2],\x20ARGV[1])\x0areturn\x20{\x201,\x20h[1],\x20h[2],\x20h[3],\x20h[4],\x20h[5],\x20h[6]\x20}\x0a',LUA_CANCEL_RESERVATION='\x0aif\x20redis.call(\x27EXISTS\x27,\x20KEYS[1])\x20==\x200\x20then\x0a\x20\x20redis.call(\x27ZREM\x27,\x20KEYS[2],\x20ARGV[1])\x0a\x20\x20return\x20{\x200\x20}\x0aend\x0alocal\x20h\x20=\x20redis.call(\x27HMGET\x27,\x20KEYS[1],\x20\x27counter\x27,\x20\x27value\x27,\x20\x27formatKey\x27)\x0alocal\x20counter\x20=\x20h[1]\x0aif\x20counter\x20then\x0a\x20\x20redis.call(\x27ZADD\x27,\x20KEYS[3],\x20counter,\x20counter)\x0a\x20\x20local\x20ttl\x20=\x20tonumber(ARGV[2])\x0a\x20\x20if\x20ttl\x20>\x200\x20then\x0a\x20\x20\x20\x20redis.call(\x27EXPIRE\x27,\x20KEYS[3],\x20ttl)\x0a\x20\x20end\x0aend\x0aredis.call(\x27DEL\x27,\x20KEYS[1])\x0aredis.call(\x27ZREM\x27,\x20KEYS[2],\x20ARGV[1])\x0areturn\x20{\x201,\x20counter,\x20h[2],\x20h[3]\x20}\x0a',LUA_EXTEND_RESERVATION='\x0aif\x20redis.call(\x27EXISTS\x27,\x20KEYS[1])\x20==\x200\x20then\x0a\x20\x20redis.call(\x27ZREM\x27,\x20KEYS[2],\x20ARGV[1])\x0a\x20\x20return\x20{\x200\x20}\x0aend\x0alocal\x20h\x20=\x20redis.call(\x27HMGET\x27,\x20KEYS[1],\x20\x27expiresAt\x27,\x20\x27counter\x27,\x20\x27value\x27,\x20\x27formatKey\x27,\x20\x27isReused\x27,\x20\x27createdAt\x27)\x0alocal\x20prevExpiresAt\x20=\x20h[1]\x0alocal\x20newTtlMs\x20=\x20tonumber(ARGV[2])\x0alocal\x20newExpMs\x20=\x20tonumber(ARGV[3])\x0aredis.call(\x27PEXPIRE\x27,\x20KEYS[1],\x20newTtlMs)\x0aredis.call(\x27HSET\x27,\x20KEYS[1],\x20\x27expiresAt\x27,\x20ARGV[4])\x0aredis.call(\x27ZADD\x27,\x20KEYS[2],\x20newExpMs,\x20ARGV[1])\x0aredis.call(\x27EXPIRE\x27,\x20KEYS[2],\x20math.floor(newTtlMs\x20/\x201000)\x20+\x2060)\x0areturn\x20{\x201,\x20prevExpiresAt,\x20h[2],\x20h[3],\x20h[4],\x20h[5],\x20h[6]\x20}\x0a';class IdGeneratorError extends Error{constructor(_0x48886a,_0x41283a,_0x5ec763=null){const _0x2d2311=a0_0x35aca2,_0x388f69={'IgUXZ':function(_0x50b195,_0x2c85f4){return _0x50b195||_0x2c85f4;},'hHAoK':_0x2d2311(0x265)};super(_0x388f69[_0x2d2311(0x21d)](_0x41283a,_0x48886a)),this[_0x2d2311(0x1fd)]=_0x388f69[_0x2d2311(0x255)],this[_0x2d2311(0x2fc)]=_0x48886a,this['details']=_0x5ec763;}}class IdGenerator{constructor(){const _0x44c58c=a0_0x35aca2,_0x3233e3=_0x44c58c(0x22f)['split']('|');let _0x26fa3a=0x0;while(!![]){switch(_0x3233e3[_0x26fa3a++]){case'0':this[_0x44c58c(0x2be)]=null;continue;case'1':this[_0x44c58c(0x1ff)]=null;continue;case'2':this['_defaultMaxRetry']=null;continue;case'3':this['_reserveMaxTTL']=null;continue;case'4':this['_reserveDefaultTTL']=null;continue;case'5':this['_defaultSerialPattern']=null;continue;case'6':this[_0x44c58c(0x2cf)]=![];continue;case'7':this[_0x44c58c(0x282)]=null;continue;case'8':this['_idemTTL']=null;continue;case'9':this['_allowReset']=null;continue;case'10':this[_0x44c58c(0x29a)]=null;continue;case'11':this[_0x44c58c(0x1d9)]=null;continue;}break;}}[a0_0x35aca2(0x2e5)](){const _0x33cf18=a0_0x35aca2,_0x391e45={'VuoRg':'6|12|3|10|8|7|0|2|11|9|4|5|1','vxGXm':'idgen_config_init','eeqUn':_0x33cf18(0x290),'LYJuw':function(_0x563989,_0x2cbbc9,_0x23b852){return _0x563989(_0x2cbbc9,_0x23b852);},'JIZqG':_0x33cf18(0x213)},_0xdda94d=_0x391e45[_0x33cf18(0x27e)]['split']('|');let _0x45cb06=0x0;while(!![]){switch(_0xdda94d[_0x45cb06++]){case'0':this['_defaultSerialPattern']=process['env'][_0x33cf18(0x269)]||_0x33cf18(0x23d);continue;case'1':logger['info']({'event':_0x391e45['vxGXm'],'enabled':this['_enabled'],'idemTTL':this[_0x33cf18(0x259)],'allowReset':this[_0x33cf18(0x1db)],'defaultMaxRetry':this['_defaultMaxRetry'],'defaultPinDigits':this[_0x33cf18(0x282)],'reserveDefaultTTL':this['_reserveDefaultTTL'],'reserveMaxTTL':this[_0x33cf18(0x2bc)]},_0x33cf18(0x2d3)+this[_0x33cf18(0x1ff)]);continue;case'2':this[_0x33cf18(0x2be)]=process['env']['IDGEN_DEFAULT_CODE_PATTERN']||'9999-9999';continue;case'3':this['_idemTTL']=parseInt(process['env'][_0x33cf18(0x2c5)],0xa)||0x258;continue;case'4':this[_0x33cf18(0x2bc)]=parseInt(process[_0x33cf18(0x2e6)][_0x33cf18(0x241)],0xa)||MAX_RESERVE_TTL;continue;case'5':this['_initialized']=!![];continue;case'6':this[_0x33cf18(0x29a)]=_0x391e45['eeqUn'];continue;case'7':this['_defaultPinDigits']=_0x391e45[_0x33cf18(0x1f4)](parseInt,process[_0x33cf18(0x2e6)]['IDGEN_DEFAULT_PIN_DIGITS'],0xa)||0x6;continue;case'8':this[_0x33cf18(0x1e3)]=parseInt(process['env'][_0x33cf18(0x1ea)],0xa)||0xa;continue;case'9':this[_0x33cf18(0x2a9)]=parseInt(process[_0x33cf18(0x2e6)][_0x33cf18(0x2c3)],0xa)||DEFAULT_RESERVE_TTL;continue;case'10':this[_0x33cf18(0x1db)]=process[_0x33cf18(0x2e6)][_0x33cf18(0x1ed)]==='true';continue;case'11':this[_0x33cf18(0x1d9)]={'yyyymm':_0x391e45[_0x33cf18(0x1f4)](parseInt,process['env']['IDGEN_COUNTER_TTL_MONTHLY'],0xa)||0x2a3000,'yyyymmdd':parseInt(process['env']['IDGEN_COUNTER_TTL_DAILY'],0xa)||0x2a300};continue;case'12':this['_enabled']=process[_0x33cf18(0x2e6)][_0x33cf18(0x204)]===_0x391e45['JIZqG'];continue;}break;}}['_ensureInitialized'](){const _0x472f42=a0_0x35aca2;if(!this[_0x472f42(0x2cf)])this[_0x472f42(0x2e5)]();}get[a0_0x35aca2(0x291)](){const _0x350681=a0_0x35aca2;return this['_ensureInitialized'](),this[_0x350681(0x1ff)];}get[a0_0x35aca2(0x261)](){const _0x538c82=a0_0x35aca2;return this[_0x538c82(0x28c)](),this[_0x538c82(0x29a)];}get['idemTTL'](){return this['_ensureInitialized'](),this['_idemTTL'];}get['allowReset'](){return this['_ensureInitialized'](),this['_allowReset'];}get[a0_0x35aca2(0x2a5)](){const _0x560f67=a0_0x35aca2;return this['_ensureInitialized'](),this[_0x560f67(0x1e3)];}get[a0_0x35aca2(0x234)](){const _0x2f8718=a0_0x35aca2;return this[_0x2f8718(0x28c)](),this[_0x2f8718(0x282)];}get[a0_0x35aca2(0x253)](){const _0x315187=a0_0x35aca2;return this[_0x315187(0x28c)](),this[_0x315187(0x2af)];}get['defaultCodePattern'](){return this['_ensureInitialized'](),this['_defaultCodePattern'];}get['reserveDefaultTTL'](){const _0x273ce6=a0_0x35aca2;return this['_ensureInitialized'](),this[_0x273ce6(0x2a9)];}get[a0_0x35aca2(0x1e1)](){return this['_ensureInitialized'](),this['_reserveMaxTTL'];}['isEnabled'](){return this['enabled'];}[a0_0x35aca2(0x268)](_0x42f906){const _0x3e8fd6=a0_0x35aca2,_0x19332e={'kgXzg':'IDGEN_INVALID_RESOURCE'};if(typeof _0x42f906!=='string'||!RESOURCE_REGEX[_0x3e8fd6(0x1eb)](_0x42f906))throw new IdGeneratorError(_0x19332e['kgXzg'],_0x3e8fd6(0x256)+RESOURCE_REGEX+_0x3e8fd6(0x24f)+JSON['stringify'](_0x42f906)+')');}[a0_0x35aca2(0x2ab)](_0x4a70bd){const _0x5b3fc4=a0_0x35aca2,_0x7e6112={'Xdrmt':'string','irmRk':'IDGEN_INVALID_FORMAT','lwRte':function(_0x553eb3,_0x52bf31){return _0x553eb3==_0x52bf31;},'oqKol':function(_0x24ee0a,_0x320da9){return _0x24ee0a!==_0x320da9;},'bMTLm':function(_0x467a9f,_0x42f3d5){return _0x467a9f==_0x42f3d5;}},{resource:_0x481cc2,format:_0x1b2e49,prefix:_0x31c3ee,separator:_0x3ed610,numDigits:_0x24c501,reuseDelete:_0x2ab912}=_0x4a70bd;this['_validateResource'](_0x481cc2);const _0x5bad86=typeof _0x1b2e49===_0x7e6112[_0x5b3fc4(0x24c)]?_0x1b2e49[_0x5b3fc4(0x2ed)]():'';if(!ALLOWED_FORMATS[_0x5b3fc4(0x221)](_0x5bad86))throw new IdGeneratorError(_0x7e6112[_0x5b3fc4(0x25f)],'Invalid\x20format:\x20must\x20be\x20one\x20of\x20'+[...ALLOWED_FORMATS][_0x5b3fc4(0x26d)](',\x20')+'\x20(got:\x20'+_0x1b2e49+')');if(!Number['isInteger'](_0x24c501)||_0x24c501<MIN_NUM_DIGITS||_0x24c501>MAX_NUM_DIGITS)throw new IdGeneratorError('IDGEN_INVALID_NUM_DIGITS',_0x5b3fc4(0x23a)+MIN_NUM_DIGITS+'-'+MAX_NUM_DIGITS+_0x5b3fc4(0x24f)+_0x24c501+')');const _0x45b1fa=_0x7e6112[_0x5b3fc4(0x236)](_0x31c3ee,null)?'':_0x31c3ee;if(_0x7e6112['oqKol'](typeof _0x45b1fa,_0x7e6112[_0x5b3fc4(0x24c)])||!PREFIX_REGEX[_0x5b3fc4(0x1eb)](_0x45b1fa))throw new IdGeneratorError(_0x5b3fc4(0x279),_0x5b3fc4(0x230)+PREFIX_REGEX+'\x20(got:\x20'+JSON['stringify'](_0x31c3ee)+')');const _0x2e8162=_0x7e6112['bMTLm'](_0x3ed610,null)?'':_0x3ed610;if(typeof _0x2e8162!==_0x5b3fc4(0x2dc)||_0x2e8162[_0x5b3fc4(0x288)]>0x3||SEPARATOR_FORBIDDEN['test'](_0x2e8162))throw new IdGeneratorError(_0x5b3fc4(0x281),_0x5b3fc4(0x2c1)+JSON['stringify'](_0x3ed610)+')');if(_0x2ab912!=null&&typeof _0x2ab912!=='boolean')throw new IdGeneratorError(_0x5b3fc4(0x1f2),'Invalid\x20reuseDelete:\x20must\x20be\x20boolean\x20(got:\x20'+typeof _0x2ab912+')');return{'resource':_0x481cc2,'format':_0x5bad86,'prefix':_0x45b1fa,'separator':_0x2e8162,'numDigits':_0x24c501,'reuseDelete':_0x2ab912===!![]};}[a0_0x35aca2(0x26b)](_0x267bcd){const _0x470879=a0_0x35aca2,_0x314393={'iNOgG':_0x470879(0x227)};if(typeof _0x267bcd!=='string'||_0x267bcd[_0x470879(0x288)]===0x0||_0x267bcd[_0x470879(0x288)]>MAX_PATTERN_LENGTH)throw new IdGeneratorError('IDGEN_INVALID_PATTERN',_0x470879(0x250)+MAX_PATTERN_LENGTH+'\x20chars\x20(got\x20length:\x20'+(_0x267bcd&&_0x267bcd[_0x470879(0x288)])+')');let _0x1212b9=![];for(const _0x339512 of _0x267bcd){if(PLACEHOLDER_MAP[_0x339512]){_0x1212b9=!![];break;}}if(!_0x1212b9)throw new IdGeneratorError(_0x314393['iNOgG'],_0x470879(0x24e));}['_validateTTL'](_0x2decf0){const _0x22ac97=a0_0x35aca2,_0x132fbf={'EybqO':function(_0x13c1c4,_0x509a20){return _0x13c1c4==_0x509a20;}};if(_0x132fbf[_0x22ac97(0x21c)](_0x2decf0,null))return undefined;if(!Number[_0x22ac97(0x1ec)](_0x2decf0)||_0x2decf0<0x1||_0x2decf0>MAX_TTL)throw new IdGeneratorError(_0x22ac97(0x1dc),_0x22ac97(0x21a)+MAX_TTL+_0x22ac97(0x264)+_0x2decf0+')');return _0x2decf0;}[a0_0x35aca2(0x29d)](_0x54760b){const _0x381fe3=a0_0x35aca2,_0x4d124d={'giCGK':function(_0xd3f455,_0x1728fd){return _0xd3f455>_0x1728fd;},'QFffL':_0x381fe3(0x224)};if(_0x54760b==null)return this['defaultMaxRetry'];if(!Number['isInteger'](_0x54760b)||_0x54760b<0x1||_0x4d124d[_0x381fe3(0x2f1)](_0x54760b,MAX_RETRY_LIMIT))throw new IdGeneratorError(_0x4d124d['QFffL'],_0x381fe3(0x2e7)+MAX_RETRY_LIMIT+'\x20(got:\x20'+_0x54760b+')');return _0x54760b;}[a0_0x35aca2(0x232)](_0x1fc5c6){const _0xe660a1=a0_0x35aca2,_0x4d930e={'Vilqp':function(_0x37619d,_0x163658){return _0x37619d==_0x163658;},'nHiIN':function(_0x13fde3,_0x41e118){return _0x13fde3!==_0x41e118;},'oLveS':function(_0x526830,_0x45332a){return _0x526830===_0x45332a;},'JZKNr':function(_0x1dbf1f,_0x14ef52){return _0x1dbf1f>_0x14ef52;},'DYRXj':_0xe660a1(0x1f2)};if(_0x4d930e['Vilqp'](_0x1fc5c6,null))return undefined;if(_0x4d930e[_0xe660a1(0x275)](typeof _0x1fc5c6,_0xe660a1(0x2dc))||_0x4d930e[_0xe660a1(0x2a7)](_0x1fc5c6[_0xe660a1(0x288)],0x0)||_0x4d930e[_0xe660a1(0x2d1)](_0x1fc5c6[_0xe660a1(0x288)],MAX_IDEMPOTENCY_KEY_LENGTH))throw new IdGeneratorError(_0x4d930e['DYRXj'],_0xe660a1(0x28f)+MAX_IDEMPOTENCY_KEY_LENGTH+_0xe660a1(0x29b));return _0x1fc5c6;}['_validateReserveTTL'](_0x211e38){const _0x2ee039=a0_0x35aca2,_0x3a063d={'ZXpGd':function(_0x1c3416,_0x4a612c){return _0x1c3416==_0x4a612c;}};if(_0x3a063d['ZXpGd'](_0x211e38,null))return this[_0x2ee039(0x252)];if(!Number[_0x2ee039(0x1ec)](_0x211e38)||_0x211e38<MIN_RESERVE_TTL||_0x211e38>this['reserveMaxTTL'])throw new IdGeneratorError(_0x2ee039(0x278),_0x2ee039(0x2fe)+MIN_RESERVE_TTL+'-'+this['reserveMaxTTL']+'\x20seconds\x20(got:\x20'+_0x211e38+')');return _0x211e38;}['_validateReservationToken'](_0x2acf85){const _0x12b459=a0_0x35aca2,_0xa484b5={'ZLunI':function(_0x187e77,_0xccc6b8){return _0x187e77!==_0xccc6b8;},'DttUL':'IDGEN_INVALID_TOKEN'};if(_0xa484b5['ZLunI'](typeof _0x2acf85,'string')||!RESERVATION_TOKEN_REGEX[_0x12b459(0x1eb)](_0x2acf85))throw new IdGeneratorError(_0xa484b5[_0x12b459(0x2c2)],'Invalid\x20reservation\x20token:\x20must\x20be\x20a\x20valid\x20UUID\x20format\x20(got:\x20'+JSON['stringify'](_0x2acf85)+')');return _0x2acf85;}['_pad2'](_0xe2e9d){return String(_0xe2e9d)['padStart'](0x2,'0');}['_buildFormatKey'](_0xffb174,_0x48b339,_0x22732f=new Date()){const _0x5ef458=a0_0x35aca2,_0xcb606f={'QIekq':function(_0x53214d,_0x39b47d){return _0x53214d+_0x39b47d;},'gIudC':function(_0x2ba93e,_0x1f0801){return _0x2ba93e||_0x1f0801;},'LHbqx':_0x5ef458(0x2d4)},_0x27c1ed=_0x22732f[_0x5ef458(0x24a)](),_0x4358ee=this['_pad2'](_0xcb606f[_0x5ef458(0x208)](_0x22732f['getMonth'](),0x1)),_0x23f741=this[_0x5ef458(0x2fb)](_0x22732f[_0x5ef458(0x293)]()),_0x4f7abe=_0xcb606f['gIudC'](_0x48b339,'_');let _0x2393db,_0x354b58='';switch(_0xffb174){case'text':_0x2393db=_0x4f7abe+'_text';break;case _0xcb606f[_0x5ef458(0x2cb)]:_0x354b58=''+_0x27c1ed,_0x2393db=_0x4f7abe+'_yyyy_'+_0x354b58;break;case'yyyymm':_0x354b58=''+_0x27c1ed+_0x4358ee,_0x2393db=_0x4f7abe+_0x5ef458(0x286)+_0x354b58;break;case'yyyymmdd':_0x354b58=''+_0x27c1ed+_0x4358ee+_0x23f741,_0x2393db=_0x4f7abe+_0x5ef458(0x258)+_0x354b58;break;default:throw new IdGeneratorError('IDGEN_INVALID_FORMAT',_0x5ef458(0x1fe)+_0xffb174);}return{'formatKey':_0x2393db,'datePrefix':_0x354b58};}['_buildSeqKey'](_0x2e076a,_0x5d511c){const _0x32d9f4=a0_0x35aca2;return this[_0x32d9f4(0x261)]+'seq:'+_0x2e076a+':'+_0x5d511c;}['_buildReuseKey'](_0x49edb0,_0x3d0783){return this['keyPrefix']+'reuse:'+_0x49edb0+':'+_0x3d0783;}['_buildMetaKey'](_0x59e1d6,_0xe085ff){const _0x5f2262=a0_0x35aca2;return this[_0x5f2262(0x261)]+'meta:'+_0x59e1d6+':'+_0xe085ff;}[a0_0x35aca2(0x219)](_0x5c98da){return this['keyPrefix']+'issued:'+_0x5c98da;}[a0_0x35aca2(0x27a)](_0x1f2298,_0x4bff1e){const _0x9c9e1f=a0_0x35aca2;return this[_0x9c9e1f(0x261)]+_0x9c9e1f(0x23f)+_0x1f2298+':'+_0x4bff1e;}['_buildReservationKey'](_0x41f914){return this['keyPrefix']+'rsv:'+_0x41f914;}['_buildReservationIndexKey'](_0x1cf72e,_0x210455){const _0x448d16=a0_0x35aca2;return this[_0x448d16(0x261)]+'rsv_idx:'+_0x1cf72e+':'+_0x210455;}['_buildReservationKeyPrefix'](){const _0x283837=a0_0x35aca2;return this['keyPrefix']+_0x283837(0x2d7);}['_buildIdemKey'](_0x2f4c88,_0x5ce57b,_0x2ea96d,_0x52cc94){const _0x43866c=a0_0x35aca2,_0x589bd3={'MZDfk':'idgen'};if(_0x2ea96d)return idempotencyManager['buildDeterministicKey'](_0x43866c(0x2b3),_0x2f4c88,_0x5ce57b+':'+_0x2ea96d+':'+_0x52cc94);return idempotencyManager['buildDeterministicKey'](_0x589bd3[_0x43866c(0x206)],_0x2f4c88,_0x5ce57b+':'+_0x52cc94);}['_getCounterTTL'](_0x3e6ab8){const _0x1006c9=a0_0x35aca2;return this[_0x1006c9(0x1d9)][_0x3e6ab8]||0x0;}[a0_0x35aca2(0x217)]({format:_0x249048,prefix:_0x556c7b,datePrefix:_0x4c247d,separator:_0xfef913,numDigits:_0x2536b6,counterInt:_0x226fcf}){const _0x37ef68=a0_0x35aca2,_0x3c74a4={'jvzTF':function(_0x497aee,_0x537f67){return _0x497aee-_0x537f67;},'kWdjS':_0x37ef68(0x277),'TcPlI':function(_0x47c25f,_0x5ebe59){return _0x47c25f(_0x5ebe59);},'PCsEI':_0x37ef68(0x20b)},_0x3a8662=_0x3c74a4['jvzTF'](Math['pow'](0xa,_0x2536b6),0x1);if(_0x226fcf>_0x3a8662)throw new IdGeneratorError(_0x3c74a4['kWdjS'],_0x37ef68(0x2e0)+_0x226fcf+_0x37ef68(0x25e)+_0x2536b6+_0x37ef68(0x235)+_0x3a8662+').\x20Increase\x20numDigits.',{'counterInt':_0x226fcf,'numDigits':_0x2536b6,'max':_0x3a8662});const _0x481b61=_0x3c74a4['TcPlI'](String,_0x226fcf)['padStart'](_0x2536b6,'0');if(_0x249048===_0x3c74a4[_0x37ef68(0x1d2)])return _0x556c7b?''+_0x556c7b+_0xfef913+_0x481b61:_0x481b61;return _0x556c7b?''+_0x556c7b+_0xfef913+_0x4c247d+_0xfef913+_0x481b61:''+_0x4c247d+_0xfef913+_0x481b61;}['_parseNumber']({format:_0x4198af,prefix:_0x3ef003,separator:_0x5d4e00,numDigits:_0x17adfa,number:_0x5ecf0a}){const _0x12580f=a0_0x35aca2,_0x113e45={'fzbYE':_0x12580f(0x2dc),'GahOx':function(_0xf9a15b,_0x55c62a){return _0xf9a15b===_0x55c62a;},'ZzJAJ':'text','kfuax':function(_0x4d53af,_0x56fb4c){return _0x4d53af!==_0x56fb4c;},'YzosE':function(_0x584b74,_0x3ff8cb){return _0x584b74!==_0x3ff8cb;},'fiJyd':function(_0x1c4345,_0x150f94){return _0x1c4345===_0x150f94;},'Lywnd':'IDGEN_INVALID_NUMBER','iBxZv':function(_0x31efb4,_0x2b1463,_0x120542){return _0x31efb4(_0x2b1463,_0x120542);},'BBlBY':function(_0x49f854,_0x21ed04){return _0x49f854||_0x21ed04;}};if(typeof _0x5ecf0a!==_0x113e45[_0x12580f(0x2ca)]||_0x5ecf0a['length']===0x0)throw new IdGeneratorError('IDGEN_INVALID_NUMBER',_0x12580f(0x296));const _0xa645a3=_0x5d4e00||'',_0x20b7f2=_0x113e45['GahOx'](_0xa645a3,'')?[_0x5ecf0a]:_0x5ecf0a['split'](_0xa645a3);let _0x1d5409='',_0x336867;if(_0x113e45['GahOx'](_0x4198af,_0x113e45[_0x12580f(0x2ee)])){if(_0x3ef003){if(_0x20b7f2['length']!==0x2||_0x20b7f2[0x0]!==_0x3ef003)throw new IdGeneratorError('IDGEN_INVALID_NUMBER','Number\x20does\x20not\x20match\x20expected\x20format\x20prefix'+_0xa645a3+_0x12580f(0x2ea)+_0x5ecf0a+')');_0x336867=_0x20b7f2[0x1];}else{if(_0x113e45[_0x12580f(0x2b0)](_0x20b7f2['length'],0x1))throw new IdGeneratorError(_0x12580f(0x2de),_0x12580f(0x1de)+_0x5ecf0a+')');_0x336867=_0x20b7f2[0x0];}}else{const _0x5a9b48=_0x3ef003?0x3:0x2;if(_0x113e45['YzosE'](_0x20b7f2['length'],_0x5a9b48))throw new IdGeneratorError('IDGEN_INVALID_NUMBER',_0x12580f(0x2f3)+_0x5ecf0a+',\x20expected\x20'+_0x5a9b48+'\x20parts)');let _0x378d8e=0x0;if(_0x3ef003){if(_0x20b7f2[_0x378d8e]!==_0x3ef003)throw new IdGeneratorError(_0x12580f(0x2de),_0x12580f(0x23b)+_0x3ef003+_0x12580f(0x1f5)+_0x20b7f2[_0x378d8e]);_0x378d8e++;}_0x1d5409=_0x20b7f2[_0x378d8e++];const _0xbc42de=_0x113e45[_0x12580f(0x26e)](_0x4198af,'yyyy')?/^\d{4}$/:_0x113e45['GahOx'](_0x4198af,'yyyymm')?/^\d{6}$/:/^\d{8}$/;if(!_0xbc42de[_0x12580f(0x1eb)](_0x1d5409))throw new IdGeneratorError(_0x12580f(0x2de),'Number\x20datePrefix\x20invalid\x20for\x20format\x20'+_0x4198af+':\x20'+_0x1d5409);_0x336867=_0x20b7f2[_0x378d8e];}if(!new RegExp('^\x5cd{'+_0x17adfa+'}$')[_0x12580f(0x1eb)](_0x336867))throw new IdGeneratorError(_0x113e45[_0x12580f(0x24b)],'Number\x20counter\x20part\x20must\x20be\x20exactly\x20'+_0x17adfa+_0x12580f(0x22e)+_0x336867+')');const _0x231a27=_0x113e45[_0x12580f(0x2ff)](parseInt,_0x336867,0xa),_0x37c7c0=_0x113e45[_0x12580f(0x2ba)](_0x3ef003,'_');let _0x24c6f2;return _0x4198af===_0x12580f(0x20b)?_0x24c6f2=_0x37c7c0+'_text':_0x24c6f2=_0x37c7c0+'_'+_0x4198af+'_'+_0x1d5409,{'formatKey':_0x24c6f2,'counterInt':_0x231a27,'datePrefix':_0x1d5409};}['_generateFromPattern'](_0x3efd3b){const _0x4dc4cc=a0_0x35aca2;let _0x1d5402='';for(const _0x438856 of _0x3efd3b){const _0x534e41=PLACEHOLDER_MAP[_0x438856];if(_0x534e41){const _0x407ba7=crypto[_0x4dc4cc(0x2d6)](0x0,_0x534e41['length']);_0x1d5402+=_0x534e41[_0x407ba7];}else _0x1d5402+=_0x438856;}return _0x1d5402;}async[a0_0x35aca2(0x1dd)](_0x42612c){const _0x1b6aa4=a0_0x35aca2,_0x2a5536={'mLOCR':'idgen_idem_hit','rQToz':'Idempotency\x20cache\x20HIT'};if(!_0x42612c)return null;try{const _0x5036f0=redisClient['getClient'](),_0x207e7b=await _0x5036f0['get'](_0x42612c);if(_0x207e7b)return logger['info']({'event':_0x2a5536['mLOCR'],'key':_0x42612c},_0x2a5536['rQToz']),JSON[_0x1b6aa4(0x222)](_0x207e7b);return null;}catch(_0x375abf){return logger[_0x1b6aa4(0x2e9)]({'event':_0x1b6aa4(0x1da),'error':_0x375abf[_0x1b6aa4(0x26a)]},'Idempotency\x20retrieve\x20error'),null;}}async[a0_0x35aca2(0x1d7)](_0x238ec3,_0x120ea1){const _0x1803d3=a0_0x35aca2,_0x478163={'qPBCS':'Idempotency\x20store\x20error'};if(!_0x238ec3)return;try{const _0x32e5a9=redisClient[_0x1803d3(0x2bd)]();await _0x32e5a9['setex'](_0x238ec3,this['idemTTL'],JSON[_0x1803d3(0x1f0)](_0x120ea1));}catch(_0x48ecf4){logger['warn']({'event':_0x1803d3(0x202),'error':_0x48ecf4['message']},_0x478163['qPBCS']);}}async[a0_0x35aca2(0x2da)](_0x3e9a95,_0x141b21){const _0x1b4157=a0_0x35aca2,_0x5db03a={'ggAPX':function(_0x51581c,_0x6eea47){return _0x51581c===_0x6eea47;},'voPgS':_0x1b4157(0x2f6)};if(!_0x3e9a95)return{'stored':!![],'winnerResult':null};try{const _0x3367a3=redisClient['getClient'](),_0x54c903=JSON['stringify'](_0x141b21),_0xe0e274=await _0x3367a3[_0x1b4157(0x209)](_0x3e9a95,_0x54c903,'EX',this['idemTTL'],'NX');if(_0x5db03a['ggAPX'](_0xe0e274,'OK'))return{'stored':!![],'winnerResult':null};const _0x10944d=await _0x3367a3['get'](_0x3e9a95);if(_0x10944d)return{'stored':![],'winnerResult':JSON['parse'](_0x10944d)};return logger['warn']({'event':_0x5db03a['voPgS'],'key':_0x3e9a95},'SET\x20NX\x20failed\x20but\x20cache\x20GET\x20returned\x20empty\x20—\x20falling\x20back\x20to\x20own\x20result'),{'stored':!![],'winnerResult':null};}catch(_0x41754d){return logger['warn']({'event':_0x1b4157(0x203),'error':_0x41754d[_0x1b4157(0x26a)]},_0x1b4157(0x2b1)),{'stored':!![],'winnerResult':null};}}async[a0_0x35aca2(0x2a0)](_0x4640e7,_0x42e2c0,_0x21b486){const _0x178354=a0_0x35aca2;try{const _0x2552ff=redisClient[_0x178354(0x2bd)]();if(_0x21b486){const _0x36b3ad=this[_0x178354(0x27a)](_0x4640e7,_0x42e2c0);await _0x2552ff['del'](_0x36b3ad);}else{const _0x2052f6=this['_buildIssuedKey'](_0x4640e7);await _0x2552ff[_0x178354(0x276)](_0x2052f6,_0x42e2c0);}}catch(_0x5592cc){logger[_0x178354(0x2e9)]({'event':_0x178354(0x2d9),'error':_0x5592cc['message']},_0x178354(0x21f));}}async[a0_0x35aca2(0x22b)](_0x45ad49,_0x399493,_0x2a2ef1,_0x1cb645=0x0){const _0x3b3f72=a0_0x35aca2,_0x186292={'kGObQ':_0x3b3f72(0x218),'MRvVA':_0x3b3f72(0x22d)};try{const _0x161c16=redisClient[_0x3b3f72(0x2bd)](),_0xae2120=this['_buildMetaKey'](_0x45ad49,_0x399493),_0x3fc235=[];for(const [_0x427b14,_0x44daf6]of Object['entries'](_0x2a2ef1)){_0x3fc235['push'](_0x427b14,String(_0x44daf6));}if(_0x3fc235['length']>0x0){await _0x161c16['hset'](_0xae2120,..._0x3fc235);if(_0x1cb645>0x0)await _0x161c16[_0x3b3f72(0x2f8)](_0xae2120,_0x1cb645);}}catch(_0x10a3f0){logger['warn']({'event':_0x186292['kGObQ'],'error':_0x10a3f0[_0x3b3f72(0x26a)]},_0x186292['MRvVA']);}}async['number'](_0x5725b6){const _0x4ec81f=a0_0x35aca2,_0x4b5c2c={'BCRHS':'IDGEN_DISABLED','GSxjF':function(_0x31602a,_0x5a34a9){return _0x31602a(_0x5a34a9);}};if(!this[_0x4ec81f(0x291)])throw new IdGeneratorError(_0x4b5c2c['BCRHS'],_0x4ec81f(0x248));const _0x482b08=this['_validateNumberParams'](_0x5725b6),_0x1896f3=this['_validateIdempotencyKey'](_0x5725b6['idempotencyKey']),{resource:_0x177651,format:_0x49e6fb,prefix:_0x57e388,separator:_0x18e0af,numDigits:_0x55d196,reuseDelete:_0x4c5769}=_0x482b08,{formatKey:_0x35ca55,datePrefix:_0x510eb2}=this[_0x4ec81f(0x2ae)](_0x49e6fb,_0x57e388),_0x57b3a2=this['_buildSeqKey'](_0x177651,_0x35ca55),_0x5bf5ac=this['_buildReuseKey'](_0x177651,_0x35ca55),_0x1a6dfc=this[_0x4ec81f(0x285)](_0x49e6fb);let _0x5ae054=null;if(_0x1896f3){_0x5ae054=this['_buildIdemKey']('number',_0x177651,_0x35ca55,_0x1896f3);const _0x4a0c49=await this['_retrieveIdemCache'](_0x5ae054);if(_0x4a0c49)return _0x4a0c49;}const _0x3b2410=redisClient['getClient'](),_0x582b30=await _0x3b2410[_0x4ec81f(0x1e2)](LUA_GENERATE_NUMBER,0x2,_0x57b3a2,_0x5bf5ac,_0x4c5769?'1':'0',_0x4b5c2c[_0x4ec81f(0x27f)](String,_0x1a6dfc)),_0x5953b8=_0x582b30[0x0],_0x589f5d=_0x582b30[0x1]===0x1,_0x5365bf=this[_0x4ec81f(0x217)]({'format':_0x49e6fb,'prefix':_0x57e388,'datePrefix':_0x510eb2,'separator':_0x18e0af,'numDigits':_0x55d196,'counterInt':_0x5953b8}),_0x4df286={'value':_0x5365bf,'counter':_0x5953b8,'resource':_0x177651,'formatKey':_0x35ca55,'isReused':_0x589f5d,'generatedAt':new Date()['toISOString']()},_0x38b7b1=await this[_0x4ec81f(0x2da)](_0x5ae054,_0x4df286);if(!_0x38b7b1['stored']){try{await _0x3b2410['eval'](LUA_RELEASE_NUMBER,0x1,_0x5bf5ac,_0x4b5c2c['GSxjF'](String,_0x5953b8),String(_0x1a6dfc));}catch(_0x20e4b){logger[_0x4ec81f(0x2e9)]({'event':_0x4ec81f(0x2b7),'error':_0x20e4b['message'],'resource':_0x177651,'formatKey':_0x35ca55,'counterInt':_0x5953b8},'Failed\x20to\x20release\x20counter\x20for\x20idempotency\x20loser');}return logger['info']({'event':_0x4ec81f(0x1e8),'resource':_0x177651,'formatKey':_0x35ca55,'counter':_0x5953b8},_0x4ec81f(0x2b4)),_0x38b7b1[_0x4ec81f(0x243)];}return this[_0x4ec81f(0x22b)](_0x177651,_0x35ca55,{'lastValue':_0x5365bf,'lastCounter':_0x5953b8,'lastIsReused':_0x589f5d,'lastGeneratedAt':_0x4df286[_0x4ec81f(0x28d)]},_0x1a6dfc),logger['info']({'event':_0x4ec81f(0x2a1),'resource':_0x177651,'formatKey':_0x35ca55,'counter':_0x5953b8,'isReused':_0x589f5d},_0x4ec81f(0x207)+_0x5365bf),_0x4df286;}async['releaseNumber'](_0x21f1e8){const _0x34424f=a0_0x35aca2,_0x28ae8d={'WjmiG':function(_0x3467be,_0x48b72a){return _0x3467be!==_0x48b72a;},'oheEN':_0x34424f(0x2dc),'NmBVp':function(_0x528c5d,_0xb7b8eb){return _0x528c5d===_0xb7b8eb;},'cJpyT':'text','FWHnh':_0x34424f(0x20e),'sSDAV':function(_0x454a75,_0x143545){return _0x454a75(_0x143545);},'wshmN':_0x34424f(0x1e4)};if(!this['enabled'])throw new IdGeneratorError(_0x34424f(0x20f),_0x34424f(0x1e7));let _0x1c3e65,_0x56b891,_0x10938f,_0x3faf7c;const _0x1be39a=this[_0x34424f(0x232)](_0x21f1e8[_0x34424f(0x2fa)]);if(_0x21f1e8[_0x34424f(0x1ef)]!==undefined&&_0x21f1e8['counterInt']!==null){this['_validateResource'](_0x21f1e8['resource']),_0x1c3e65=_0x21f1e8['resource'];if(_0x28ae8d[_0x34424f(0x2dd)](typeof _0x21f1e8[_0x34424f(0x231)],_0x28ae8d[_0x34424f(0x273)])||_0x28ae8d['NmBVp'](_0x21f1e8[_0x34424f(0x231)]['length'],0x0))throw new IdGeneratorError('IDGEN_INVALID_NUMBER','formatKey\x20is\x20required\x20in\x20low-level\x20release');_0x56b891=_0x21f1e8[_0x34424f(0x231)];if(!Number['isInteger'](_0x21f1e8['counterInt'])||_0x21f1e8[_0x34424f(0x1ef)]<0x1)throw new IdGeneratorError('IDGEN_INVALID_NUMBER',_0x34424f(0x280)+_0x21f1e8[_0x34424f(0x1ef)]+')');_0x10938f=_0x21f1e8['counterInt'];const _0x1aab14=_0x56b891['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/);_0x3faf7c=_0x1aab14?_0x1aab14[0x1]:_0x28ae8d[_0x34424f(0x23e)];}else{const _0x5e6ea9=this[_0x34424f(0x2ab)](_0x21f1e8),_0x37e222=this['_parseNumber']({'format':_0x5e6ea9[_0x34424f(0x25c)],'prefix':_0x5e6ea9[_0x34424f(0x29f)],'separator':_0x5e6ea9[_0x34424f(0x21b)],'numDigits':_0x5e6ea9['numDigits'],'number':_0x21f1e8[_0x34424f(0x2ac)]});_0x1c3e65=_0x5e6ea9[_0x34424f(0x1f7)],_0x56b891=_0x37e222[_0x34424f(0x231)],_0x10938f=_0x37e222[_0x34424f(0x1ef)],_0x3faf7c=_0x5e6ea9[_0x34424f(0x25c)];}const _0x1eacd9=this['_buildReuseKey'](_0x1c3e65,_0x56b891),_0x141b58=this[_0x34424f(0x285)](_0x3faf7c);let _0x6b8611=null;if(_0x1be39a){_0x6b8611=this['_buildIdemKey'](_0x28ae8d[_0x34424f(0x1fb)],_0x1c3e65,_0x56b891,_0x1be39a);const _0x3a78e7=await this['_retrieveIdemCache'](_0x6b8611);if(_0x3a78e7)return _0x3a78e7;}const _0x346e52=redisClient[_0x34424f(0x2bd)]();await _0x346e52['eval'](LUA_RELEASE_NUMBER,0x1,_0x1eacd9,_0x28ae8d[_0x34424f(0x2c4)](String,_0x10938f),_0x28ae8d['sSDAV'](String,_0x141b58));const _0xf32f3a={'released':!![],'resource':_0x1c3e65,'formatKey':_0x56b891,'counter':_0x10938f,'releasedAt':new Date()[_0x34424f(0x2a4)]()};return await this[_0x34424f(0x1d7)](_0x6b8611,_0xf32f3a),this[_0x34424f(0x22b)](_0x1c3e65,_0x56b891,{'lastReleasedCounter':_0x10938f,'lastReleasedAt':_0xf32f3a[_0x34424f(0x22a)]},_0x141b58),logger['info']({'event':_0x28ae8d[_0x34424f(0x223)],'resource':_0x1c3e65,'formatKey':_0x56b891,'counter':_0x10938f},'ID\x20Generator\x20number\x20released:\x20'+_0x10938f),_0xf32f3a;}async[a0_0x35aca2(0x1fc)](_0x5ee2fc){const _0x3bfc41=a0_0x35aca2,_0x1f837a={'ZbXxk':'IDGEN_DISABLED','bpLOX':'ID\x20Generator\x20is\x20disabled\x20(set\x20IDGEN_ENABLED=true)','cpKvu':function(_0x3a3b6b,_0x47b738){return _0x3a3b6b*_0x47b738;},'fnJwa':'formatKey','NdYSu':_0x3bfc41(0x25c),'zvzWk':'prefix','bTLcY':'separator','kaMPA':'numDigits','XenUJ':function(_0x45d9b4,_0x3b2e43){return _0x45d9b4(_0x3b2e43);},'gHrge':'createdAt','iEhlc':'expiresAt','fBpmy':'ttlMs','BnHMw':_0x3bfc41(0x240),'lzFcD':function(_0x29be69,_0xe254bb){return _0x29be69===_0xe254bb;},'Ekdvi':'idgen_reserve_overflow_compensation_error','zgJvX':_0x3bfc41(0x1df),'YcfiS':'Failed\x20to\x20persist\x20formatted\x20value\x20to\x20reservation\x20hash','TEjNo':_0x3bfc41(0x2a2),'EZkvP':'Failed\x20to\x20cancel\x20reservation\x20for\x20idempotency\x20loser','pyMlU':_0x3bfc41(0x27c),'YGybA':_0x3bfc41(0x2b5)};if(!this['enabled'])throw new IdGeneratorError(_0x1f837a['ZbXxk'],_0x1f837a['bpLOX']);const _0x85a696=this[_0x3bfc41(0x2ab)](_0x5ee2fc),_0x57b997=this['_validateReserveTTL'](_0x5ee2fc[_0x3bfc41(0x28b)]),_0x2f6f5b=this['_validateIdempotencyKey'](_0x5ee2fc['idempotencyKey']),{resource:_0x1d164f,format:_0x180278,prefix:_0x18c7c0,separator:_0x4a0e41,numDigits:_0x409c27,reuseDelete:_0x405acd}=_0x85a696,{formatKey:_0x50ac96,datePrefix:_0x1c0d27}=this['_buildFormatKey'](_0x180278,_0x18c7c0),_0x228f22=this['_buildSeqKey'](_0x1d164f,_0x50ac96),_0x4fef80=this[_0x3bfc41(0x260)](_0x1d164f,_0x50ac96),_0x1678ec=this[_0x3bfc41(0x2aa)](_0x1d164f,_0x50ac96),_0x1d5ecf=this['_getCounterTTL'](_0x180278);let _0x373046=null;if(_0x2f6f5b){_0x373046=this['_buildIdemKey'](_0x3bfc41(0x289),_0x1d164f,_0x50ac96,_0x2f6f5b);const _0x39080b=await this[_0x3bfc41(0x1dd)](_0x373046);if(_0x39080b)return _0x39080b;}const _0x57847b=crypto[_0x3bfc41(0x2c6)](),_0x8ff739=this[_0x3bfc41(0x295)](_0x57847b),_0x1f14ce=this[_0x3bfc41(0x28a)](),_0x31457f=Date['now'](),_0x46e2d2=_0x31457f+_0x1f837a['cpKvu'](_0x57b997,0x3e8),_0x251ad3=_0x1f837a[_0x3bfc41(0x2cd)](_0x57b997,0x3e8),_0x56cbf4=new Date(_0x31457f)['toISOString'](),_0x4c5104=new Date(_0x46e2d2)['toISOString'](),_0x2056e9=['resource',_0x1d164f,_0x1f837a['fnJwa'],_0x50ac96,_0x1f837a['NdYSu'],_0x180278,_0x1f837a[_0x3bfc41(0x297)],_0x18c7c0,_0x1f837a[_0x3bfc41(0x263)],_0x4a0e41,_0x1f837a[_0x3bfc41(0x2e2)],_0x1f837a[_0x3bfc41(0x292)](String,_0x409c27),_0x3bfc41(0x27d),_0x1c0d27||'',_0x1f837a['gHrge'],_0x56cbf4,_0x1f837a['iEhlc'],_0x4c5104,_0x1f837a[_0x3bfc41(0x242)],String(_0x251ad3)];_0x2f6f5b&&_0x2056e9[_0x3bfc41(0x2db)](_0x1f837a['BnHMw'],_0x2f6f5b);const _0x55b2a1=redisClient[_0x3bfc41(0x2bd)](),_0x450929=await _0x55b2a1['eval'](LUA_RESERVE_NUMBER,0x3,_0x228f22,_0x4fef80,_0x1678ec,_0x405acd?'1':'0',String(_0x1d5ecf),_0x57847b,_0x8ff739,String(_0x251ad3),String(_0x46e2d2),String(_0x31457f),_0x1f14ce,..._0x2056e9),_0x3523f8=_0x450929[0x0],_0x40a2d2=_0x1f837a[_0x3bfc41(0x1fa)](_0x450929[0x1],0x1),_0x20167c=_0x450929[0x2]||0x0;let _0x12538d;try{_0x12538d=this[_0x3bfc41(0x217)]({'format':_0x180278,'prefix':_0x18c7c0,'datePrefix':_0x1c0d27,'separator':_0x4a0e41,'numDigits':_0x409c27,'counterInt':_0x3523f8});}catch(_0x8e091e){try{await _0x55b2a1['eval'](LUA_CANCEL_RESERVATION,0x3,_0x8ff739,_0x1678ec,_0x4fef80,_0x57847b,String(_0x1d5ecf));}catch(_0x1b8805){logger[_0x3bfc41(0x2e9)]({'event':_0x1f837a[_0x3bfc41(0x1f1)],'error':_0x1b8805[_0x3bfc41(0x26a)],'resource':_0x1d164f,'formatKey':_0x50ac96,'counterInt':_0x3523f8,'token':_0x57847b},_0x1f837a['zgJvX']);}throw _0x8e091e;}try{await _0x55b2a1['hset'](_0x8ff739,'value',_0x12538d);}catch(_0x9b29e0){logger[_0x3bfc41(0x2e9)]({'event':_0x3bfc41(0x2f9),'error':_0x9b29e0[_0x3bfc41(0x26a)],'resource':_0x1d164f,'formatKey':_0x50ac96,'counterInt':_0x3523f8,'token':_0x57847b},_0x1f837a[_0x3bfc41(0x251)]);}const _0x3a2cc8={'token':_0x57847b,'value':_0x12538d,'counter':_0x3523f8,'resource':_0x1d164f,'formatKey':_0x50ac96,'isReused':_0x40a2d2,'createdAt':_0x56cbf4,'expiresAt':_0x4c5104,'reapedCount':_0x20167c},_0x1a2120=await this['_storeIdemCacheNX'](_0x373046,_0x3a2cc8);if(!_0x1a2120['stored']){try{await _0x55b2a1['eval'](LUA_CANCEL_RESERVATION,0x3,_0x8ff739,_0x1678ec,_0x4fef80,_0x57847b,String(_0x1d5ecf));}catch(_0x2de2a6){logger[_0x3bfc41(0x2e9)]({'event':_0x1f837a['TEjNo'],'error':_0x2de2a6['message'],'resource':_0x1d164f,'formatKey':_0x50ac96,'counterInt':_0x3523f8,'token':_0x57847b},_0x1f837a['EZkvP']);}return logger['info']({'event':_0x1f837a['pyMlU'],'resource':_0x1d164f,'formatKey':_0x50ac96,'counter':_0x3523f8,'token':_0x57847b},'ID\x20Generator\x20reserve\x20idem\x20race\x20lost,\x20returning\x20winner\x20envelope'),_0x1a2120['winnerResult'];}return this['_updateMeta'](_0x1d164f,_0x50ac96,{'lastReservedCounter':_0x3523f8,'lastReservedAt':_0x56cbf4,'lastReapedCount':_0x20167c},_0x1d5ecf),logger['info']({'event':_0x1f837a['YGybA'],'resource':_0x1d164f,'formatKey':_0x50ac96,'counter':_0x3523f8,'isReused':_0x40a2d2,'token':_0x57847b,'ttl':_0x57b997,'reapedCount':_0x20167c},_0x3bfc41(0x2ad)+_0x12538d+_0x3bfc41(0x1e6)+_0x57847b+')'),_0x3a2cc8;}async[a0_0x35aca2(0x205)](_0x2c4532){const _0x17ef59=a0_0x35aca2,_0x8d14f0={'kwYyw':_0x17ef59(0x20f),'RiFFO':'ID\x20Generator\x20is\x20disabled','Qbjto':'idgen','MmwRh':_0x17ef59(0x22c),'dSvxx':function(_0x2b4109,_0x511438){return _0x2b4109!==_0x511438;},'TaltD':_0x17ef59(0x287)};if(!this['enabled'])throw new IdGeneratorError(_0x8d14f0['kwYyw'],_0x8d14f0['RiFFO']);const _0x21a5cd=this['_validateReservationToken'](_0x2c4532&&_0x2c4532[_0x17ef59(0x1ee)]),_0x346a72=this['_validateIdempotencyKey'](_0x2c4532&&_0x2c4532[_0x17ef59(0x2fa)]);let _0x1cb891=null;if(_0x346a72){_0x1cb891=idempotencyManager['buildDeterministicKey'](_0x8d14f0['Qbjto'],_0x8d14f0['MmwRh'],_0x21a5cd+':'+_0x346a72);const _0x4b5176=await this['_retrieveIdemCache'](_0x1cb891);if(_0x4b5176)return _0x4b5176;}const _0x56bdd2=await this[_0x17ef59(0x2cc)](_0x21a5cd),_0x54b799=redisClient[_0x17ef59(0x2bd)](),_0x59a8b5=await _0x54b799['eval'](LUA_CONFIRM_RESERVATION,0x2,_0x56bdd2['rsvKey'],_0x56bdd2[_0x17ef59(0x2bf)],_0x21a5cd);if(!_0x59a8b5||_0x8d14f0['dSvxx'](_0x59a8b5[0x0],0x1))throw new IdGeneratorError('IDGEN_RESERVATION_NOT_FOUND',_0x17ef59(0x2b2)+_0x21a5cd,{'token':_0x21a5cd});const _0x4c99bb=parseInt(_0x59a8b5[0x1],0xa),_0x142e5b=_0x59a8b5[0x2],_0x1eec1d=_0x59a8b5[0x3],_0x48156b=new Date()['toISOString'](),_0x353b5b={'confirmed':!![],'token':_0x21a5cd,'value':_0x142e5b,'counter':_0x4c99bb,'resource':_0x56bdd2[_0x17ef59(0x1f7)],'formatKey':_0x1eec1d,'confirmedAt':_0x48156b};await this[_0x17ef59(0x1d7)](_0x1cb891,_0x353b5b);const _0x4f7c18=_0x1eec1d[_0x17ef59(0x210)](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x105617=_0x4f7c18?_0x4f7c18[0x1]:_0x17ef59(0x20b),_0x5288e6=this[_0x17ef59(0x285)](_0x105617);return this[_0x17ef59(0x22b)](_0x56bdd2[_0x17ef59(0x1f7)],_0x1eec1d,{'lastConfirmedCounter':_0x4c99bb,'lastConfirmedAt':_0x48156b},_0x5288e6),logger[_0x17ef59(0x2e8)]({'event':_0x8d14f0['TaltD'],'resource':_0x56bdd2[_0x17ef59(0x1f7)],'formatKey':_0x1eec1d,'counter':_0x4c99bb,'token':_0x21a5cd},_0x17ef59(0x270)+_0x142e5b+_0x17ef59(0x1e6)+_0x21a5cd+')'),_0x353b5b;}async['cancelReservation'](_0x2d4226){const _0x44a51e=a0_0x35aca2,_0x17cd2c={'EBEag':function(_0x340b0a,_0x56d0c5){return _0x340b0a(_0x56d0c5);},'kThPu':function(_0x1f4841,_0x46ee4c){return _0x1f4841!==_0x46ee4c;},'CytrL':'IDGEN_RESERVATION_NOT_FOUND','nUkBz':function(_0x161b5b,_0x4288cc,_0x3b7738){return _0x161b5b(_0x4288cc,_0x3b7738);},'FKEfx':'idgen_reservation_cancelled'};if(!this[_0x44a51e(0x291)])throw new IdGeneratorError(_0x44a51e(0x20f),'ID\x20Generator\x20is\x20disabled');const _0x135381=this[_0x44a51e(0x2c7)](_0x2d4226&&_0x2d4226['token']),_0x5dc739=this['_validateIdempotencyKey'](_0x2d4226&&_0x2d4226[_0x44a51e(0x2fa)]);let _0x546604=null;if(_0x5dc739){_0x546604=idempotencyManager[_0x44a51e(0x1f6)](_0x44a51e(0x2b3),_0x44a51e(0x215),_0x135381+':'+_0x5dc739);const _0x5c5775=await this[_0x44a51e(0x1dd)](_0x546604);if(_0x5c5775)return _0x5c5775;}const _0x4c86c8=await this[_0x44a51e(0x2cc)](_0x135381),_0x40d0c9=this['_buildReuseKey'](_0x4c86c8[_0x44a51e(0x1f7)],_0x4c86c8['formatKey']),_0x3fd956=_0x4c86c8[_0x44a51e(0x231)][_0x44a51e(0x210)](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x33ba8f=_0x3fd956?_0x3fd956[0x1]:'text',_0x465388=this['_getCounterTTL'](_0x33ba8f),_0x59052e=redisClient[_0x44a51e(0x2bd)](),_0x43ea07=await _0x59052e[_0x44a51e(0x1e2)](LUA_CANCEL_RESERVATION,0x3,_0x4c86c8[_0x44a51e(0x2a3)],_0x4c86c8['rsvIdxKey'],_0x40d0c9,_0x135381,_0x17cd2c[_0x44a51e(0x21e)](String,_0x465388));if(!_0x43ea07||_0x17cd2c[_0x44a51e(0x266)](_0x43ea07[0x0],0x1))throw new IdGeneratorError(_0x17cd2c['CytrL'],'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x135381,{'token':_0x135381});const _0x3f5441=_0x17cd2c['nUkBz'](parseInt,_0x43ea07[0x1],0xa),_0x19a8f2=_0x43ea07[0x2],_0x194a7e=_0x43ea07[0x3],_0x435c1b=new Date()['toISOString'](),_0x551690={'cancelled':!![],'token':_0x135381,'value':_0x19a8f2,'counter':_0x3f5441,'resource':_0x4c86c8[_0x44a51e(0x1f7)],'formatKey':_0x194a7e,'releasedToReuse':!![],'cancelledAt':_0x435c1b};return await this['_storeIdemCache'](_0x546604,_0x551690),this[_0x44a51e(0x22b)](_0x4c86c8[_0x44a51e(0x1f7)],_0x194a7e,{'lastCancelledCounter':_0x3f5441,'lastCancelledAt':_0x435c1b},_0x465388),logger['info']({'event':_0x17cd2c[_0x44a51e(0x1d5)],'resource':_0x4c86c8['resource'],'formatKey':_0x194a7e,'counter':_0x3f5441,'token':_0x135381},'ID\x20Generator\x20reservation\x20cancelled:\x20'+_0x19a8f2+'\x20(token='+_0x135381+')'),_0x551690;}async['extendReservation'](_0x31cb67){const _0x5912ec=a0_0x35aca2,_0xf93253={'HXcqD':'IDGEN_DISABLED','DAsdH':_0x5912ec(0x2b3),'RFgkj':_0x5912ec(0x2d5),'axrvb':function(_0x4e81f4,_0x546ae8){return _0x4e81f4*_0x546ae8;},'HPviW':function(_0x153b22,_0x293f5a){return _0x153b22*_0x293f5a;},'QDpYv':function(_0x527dbb,_0x4f5197){return _0x527dbb(_0x4f5197);},'RyJbO':function(_0x4320d8,_0x42069a){return _0x4320d8!==_0x42069a;},'xXEUr':'text'};if(!this[_0x5912ec(0x291)])throw new IdGeneratorError(_0xf93253[_0x5912ec(0x2bb)],_0x5912ec(0x1e7));const _0x360e1c=this['_validateReservationToken'](_0x31cb67&&_0x31cb67['token']),_0xef6de3=this[_0x5912ec(0x25a)](_0x31cb67&&_0x31cb67[_0x5912ec(0x28b)]),_0xff2e90=this['_validateIdempotencyKey'](_0x31cb67&&_0x31cb67['idempotencyKey']);let _0x55911e=null;if(_0xff2e90){_0x55911e=idempotencyManager['buildDeterministicKey'](_0xf93253[_0x5912ec(0x233)],_0xf93253[_0x5912ec(0x2ce)],_0x360e1c+':'+_0xff2e90);const _0x37423f=await this[_0x5912ec(0x1dd)](_0x55911e);if(_0x37423f)return _0x37423f;}const _0x1c46c0=await this[_0x5912ec(0x2cc)](_0x360e1c),_0x106155=Date[_0x5912ec(0x220)](),_0x25e24a=_0x106155+_0xf93253[_0x5912ec(0x26c)](_0xef6de3,0x3e8),_0x3fdd4d=_0xf93253[_0x5912ec(0x246)](_0xef6de3,0x3e8),_0x447a0f=new Date(_0x25e24a)['toISOString'](),_0x19f1d7=redisClient[_0x5912ec(0x2bd)](),_0x516e60=await _0x19f1d7['eval'](LUA_EXTEND_RESERVATION,0x2,_0x1c46c0[_0x5912ec(0x2a3)],_0x1c46c0[_0x5912ec(0x2bf)],_0x360e1c,String(_0x3fdd4d),_0xf93253[_0x5912ec(0x294)](String,_0x25e24a),_0x447a0f);if(!_0x516e60||_0xf93253['RyJbO'](_0x516e60[0x0],0x1))throw new IdGeneratorError(_0x5912ec(0x2d0),'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x360e1c,{'token':_0x360e1c});const _0x1c463a=_0x516e60[0x1],_0xed1a58=parseInt(_0x516e60[0x2],0xa),_0x837cb2=_0x516e60[0x3],_0x4861a3=_0x516e60[0x4],_0x1c68ff=new Date(_0x106155)['toISOString'](),_0x2677ba={'extended':!![],'token':_0x360e1c,'previousExpiresAt':_0x1c463a,'expiresAt':_0x447a0f,'ttlMs':_0x3fdd4d,'resource':_0x1c46c0[_0x5912ec(0x1f7)],'formatKey':_0x4861a3,'counter':_0xed1a58,'value':_0x837cb2,'extendedAt':_0x1c68ff};await this['_storeIdemCache'](_0x55911e,_0x2677ba);const _0x234ddd=_0x4861a3['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x5c7469=_0x234ddd?_0x234ddd[0x1]:_0xf93253[_0x5912ec(0x245)],_0x193331=this['_getCounterTTL'](_0x5c7469);return this['_updateMeta'](_0x1c46c0['resource'],_0x4861a3,{'lastExtendedCounter':_0xed1a58,'lastExtendedAt':_0x1c68ff},_0x193331),logger['info']({'event':'idgen_reservation_extended','resource':_0x1c46c0['resource'],'formatKey':_0x4861a3,'counter':_0xed1a58,'token':_0x360e1c,'ttl':_0xef6de3},'ID\x20Generator\x20reservation\x20extended:\x20'+_0x837cb2+'\x20(token='+_0x360e1c+_0x5912ec(0x247)+_0xef6de3+'s)'),_0x2677ba;}async['getReservation'](_0x1b51b4){const _0x19aaf8=a0_0x35aca2,_0x5cea23={'tDSWt':_0x19aaf8(0x20f),'OiqTM':function(_0x3a019e,_0x51eedc){return _0x3a019e===_0x51eedc;},'jqzQi':_0x19aaf8(0x2ac),'ZYQgi':function(_0x4778ec,_0x4081af){return _0x4778ec>=_0x4081af;}};if(!this[_0x19aaf8(0x291)])throw new IdGeneratorError(_0x5cea23['tDSWt'],_0x19aaf8(0x1e7));const _0x95d462=this[_0x19aaf8(0x2c7)](_0x1b51b4&&_0x1b51b4[_0x19aaf8(0x1ee)]),_0x47bc2b=this[_0x19aaf8(0x295)](_0x95d462),_0x5bed2d=redisClient[_0x19aaf8(0x2bd)](),_0xf524f3=_0x5bed2d['pipeline']();_0xf524f3[_0x19aaf8(0x2c9)](_0x47bc2b),_0xf524f3[_0x19aaf8(0x2a6)](_0x47bc2b);const _0x453d67=await _0xf524f3[_0x19aaf8(0x2df)](),_0x2073b6=_0x453d67&&_0x453d67[0x0]&&_0x453d67[0x0][0x1],_0x1a26f8=_0x453d67&&_0x453d67[0x1]&&_0x453d67[0x1][0x1];if(!_0x2073b6||Object[_0x19aaf8(0x20c)](_0x2073b6)['length']===0x0)throw new IdGeneratorError('IDGEN_RESERVATION_NOT_FOUND',_0x19aaf8(0x2b2)+_0x95d462,{'token':_0x95d462});return{'token':_0x95d462,'resource':_0x2073b6['resource']||null,'formatKey':_0x2073b6['formatKey']||null,'format':_0x2073b6[_0x19aaf8(0x25c)]||null,'prefix':_0x2073b6['prefix']||'','separator':_0x2073b6['separator']||'','numDigits':_0x2073b6[_0x19aaf8(0x1f8)]?parseInt(_0x2073b6[_0x19aaf8(0x1f8)],0xa):null,'datePrefix':_0x2073b6[_0x19aaf8(0x27d)]||'','counter':_0x2073b6['counter']?parseInt(_0x2073b6[_0x19aaf8(0x239)],0xa):null,'value':_0x2073b6[_0x19aaf8(0x2f5)]||null,'isReused':_0x2073b6[_0x19aaf8(0x299)]==='1'||_0x2073b6[_0x19aaf8(0x299)]===0x1,'createdAt':_0x2073b6['createdAt']||null,'expiresAt':_0x2073b6[_0x19aaf8(0x29c)]||null,'ttlRemainingMs':_0x5cea23[_0x19aaf8(0x1d4)](typeof _0x1a26f8,_0x5cea23[_0x19aaf8(0x271)])&&_0x5cea23['ZYQgi'](_0x1a26f8,0x0)?_0x1a26f8:null};}async[a0_0x35aca2(0x2cc)](_0x3a62c0){const _0x529768=a0_0x35aca2,_0x55d744=this[_0x529768(0x295)](_0x3a62c0),_0x17bb22=redisClient['getClient'](),_0x48d95e=await _0x17bb22['hmget'](_0x55d744,_0x529768(0x1f7),_0x529768(0x231)),_0x27a7e9=_0x48d95e&&_0x48d95e[0x0],_0x5c423f=_0x48d95e&&_0x48d95e[0x1];if(!_0x27a7e9||!_0x5c423f)throw new IdGeneratorError(_0x529768(0x2d0),_0x529768(0x2b2)+_0x3a62c0,{'token':_0x3a62c0});return{'resource':_0x27a7e9,'formatKey':_0x5c423f,'rsvKey':_0x55d744,'rsvIdxKey':this['_buildReservationIndexKey'](_0x27a7e9,_0x5c423f)};}async['random'](_0x2c29bf){const _0x470d8a=a0_0x35aca2,_0x25fd7b={'BtTmU':'IDGEN_DISABLED','OvfEW':function(_0x54a43a,_0x28bd43){return _0x54a43a===_0x28bd43;},'lOHIi':function(_0x399289,_0x4378ed){return _0x399289===_0x4378ed;},'bNajo':function(_0x1278bf,_0x54a37c){return _0x1278bf+_0x54a37c;},'HsQuY':'idgen_random_idem_loser'};if(!this[_0x470d8a(0x291)])throw new IdGeneratorError(_0x25fd7b['BtTmU'],'ID\x20Generator\x20is\x20disabled');this['_validateResource'](_0x2c29bf[_0x470d8a(0x1f7)]),this['_validatePattern'](_0x2c29bf['pattern']);const _0x4dc03c=this['_validateTTL'](_0x2c29bf['ttl']),_0x40a311=this[_0x470d8a(0x29d)](_0x2c29bf[_0x470d8a(0x229)]),_0x3cd662=this['_validateIdempotencyKey'](_0x2c29bf[_0x470d8a(0x2fa)]),_0x1be3ab=_0x25fd7b[_0x470d8a(0x2eb)](_0x2c29bf['ensureUnique'],!![]),{resource:_0x822837,pattern:_0x154575}=_0x2c29bf;let _0xb7e9cd=null;if(_0x3cd662){_0xb7e9cd=this['_buildIdemKey'](_0x470d8a(0x284),_0x822837,null,_0x3cd662);const _0x1a92d0=await this[_0x470d8a(0x1dd)](_0xb7e9cd);if(_0x1a92d0)return _0x1a92d0;}const _0x3b2e71=redisClient[_0x470d8a(0x2bd)]();let _0x34af80=null,_0xc55348=0x0;if(!_0x1be3ab)_0x34af80=this[_0x470d8a(0x26f)](_0x154575),_0xc55348=0x1;else{for(let _0x5e1466=0x0;_0x5e1466<_0x40a311;_0x5e1466++){_0xc55348++;const _0x18f218=this[_0x470d8a(0x26f)](_0x154575);if(_0x4dc03c){const _0x4bef48=this[_0x470d8a(0x27a)](_0x822837,_0x18f218),_0x3f2190=await _0x3b2e71['set'](_0x4bef48,'1','EX',_0x4dc03c,'NX');if(_0x25fd7b['lOHIi'](_0x3f2190,'OK')){_0x34af80=_0x18f218;break;}}else{const _0x2a0d0f=this['_buildIssuedKey'](_0x822837),_0x52e297=await _0x3b2e71['sadd'](_0x2a0d0f,_0x18f218);if(_0x52e297===0x1){_0x34af80=_0x18f218;break;}}}if(_0x34af80===null)throw new IdGeneratorError(_0x470d8a(0x257),'Could\x20not\x20generate\x20unique\x20value\x20after\x20'+_0x40a311+'\x20attempts.\x20Increase\x20pattern\x20length\x20or\x20maxRetry.',{'resource':_0x822837,'pattern':_0x154575,'maxRetry':_0x40a311});}const _0x4b8693={'value':_0x34af80,'resource':_0x822837,'pattern':_0x154575,'attemptCount':_0xc55348,'generatedAt':new Date()['toISOString']()};_0x4dc03c&&_0x1be3ab&&(_0x4b8693[_0x470d8a(0x29c)]=new Date(_0x25fd7b[_0x470d8a(0x200)](Date[_0x470d8a(0x220)](),_0x4dc03c*0x3e8))['toISOString']());const _0x1b6fc1=await this[_0x470d8a(0x2da)](_0xb7e9cd,_0x4b8693);if(!_0x1b6fc1[_0x470d8a(0x2ec)])return _0x1be3ab&&await this['_undoRandomReservation'](_0x822837,_0x34af80,_0x4dc03c),logger['info']({'event':_0x25fd7b['HsQuY'],'resource':_0x822837,'pattern':_0x154575,'value':_0x34af80},'ID\x20Generator\x20random\x20idem\x20race\x20lost,\x20returning\x20winner\x20envelope'),_0x1b6fc1[_0x470d8a(0x243)];return logger['info']({'event':'idgen_random_generated','resource':_0x822837,'pattern':_0x154575,'attemptCount':_0xc55348,'ensureUnique':_0x1be3ab,'ttl':_0x4dc03c||0x0},'ID\x20Generator\x20random:\x20'+_0x34af80),_0x4b8693;}async[a0_0x35aca2(0x1e9)](_0x55f480){const _0x148cda=a0_0x35aca2,_0x71e87c={'IbljD':function(_0x13cbf0,_0x430768){return _0x13cbf0<_0x430768;},'CnQhV':function(_0x438575,_0x2839aa){return _0x438575>_0x2839aa;}},_0x4e99d6=_0x55f480[_0x148cda(0x1d6)]==null?this[_0x148cda(0x234)]:_0x55f480[_0x148cda(0x1d6)];if(!Number['isInteger'](_0x4e99d6)||_0x71e87c[_0x148cda(0x2e1)](_0x4e99d6,MIN_PIN_DIGITS)||_0x71e87c['CnQhV'](_0x4e99d6,MAX_PIN_DIGITS))throw new IdGeneratorError('IDGEN_INVALID_DIGITS','Invalid\x20digits:\x20must\x20be\x20integer\x20'+MIN_PIN_DIGITS+'-'+MAX_PIN_DIGITS+_0x148cda(0x24f)+_0x4e99d6+')');const _0x535270='9'[_0x148cda(0x283)](_0x4e99d6);return this[_0x148cda(0x284)]({'resource':_0x55f480[_0x148cda(0x1f7)],'pattern':_0x535270,'ensureUnique':_0x55f480[_0x148cda(0x2a8)]===!![],'ttl':_0x55f480[_0x148cda(0x28b)],'maxRetry':_0x55f480['maxRetry'],'idempotencyKey':_0x55f480['idempotencyKey']});}async['serial'](_0x418f01){const _0x2f9e92=a0_0x35aca2,_0x313ccc=_0x418f01['pattern']||this['defaultSerialPattern'];return this['random']({'resource':_0x418f01[_0x2f9e92(0x1f7)],'pattern':_0x313ccc,'ensureUnique':_0x418f01['ensureUnique']!==![],'ttl':_0x418f01[_0x2f9e92(0x28b)],'maxRetry':_0x418f01[_0x2f9e92(0x229)],'idempotencyKey':_0x418f01[_0x2f9e92(0x2fa)]});}async[a0_0x35aca2(0x2fc)](_0x476ace){const _0x5b2ae9=a0_0x35aca2,_0x764dd7={'xZWab':function(_0x5e0b88,_0x49489a){return _0x5e0b88!==_0x49489a;}},_0x5b132c=_0x476ace[_0x5b2ae9(0x27b)]||this[_0x5b2ae9(0x1f9)];return this[_0x5b2ae9(0x284)]({'resource':_0x476ace[_0x5b2ae9(0x1f7)],'pattern':_0x5b132c,'ensureUnique':_0x764dd7[_0x5b2ae9(0x274)](_0x476ace['ensureUnique'],![]),'ttl':_0x476ace['ttl'],'maxRetry':_0x476ace['maxRetry'],'idempotencyKey':_0x476ace[_0x5b2ae9(0x2fa)]});}async['consume'](_0x5818eb){const _0x34068b=a0_0x35aca2,_0x2b9b03={'vAAPz':'ID\x20Generator\x20is\x20disabled','JKpYK':_0x34068b(0x2dc),'TzShQ':_0x34068b(0x2de),'RNESR':_0x34068b(0x2d2),'pBBsV':function(_0x3d556b,_0x1f140b){return _0x3d556b>_0x1f140b;},'LFnra':_0x34068b(0x2f4)};if(!this['enabled'])throw new IdGeneratorError('IDGEN_DISABLED',_0x2b9b03[_0x34068b(0x244)]);this['_validateResource'](_0x5818eb['resource']);if(typeof _0x5818eb['value']!==_0x2b9b03[_0x34068b(0x2ef)]||_0x5818eb[_0x34068b(0x2f5)]['length']===0x0)throw new IdGeneratorError(_0x2b9b03[_0x34068b(0x23c)],_0x2b9b03['RNESR']);const {resource:_0xe025f1,value:_0x2285bf}=_0x5818eb,_0x462c09=redisClient[_0x34068b(0x2bd)](),_0xc5b860=this['_buildActiveKey'](_0xe025f1,_0x2285bf),_0x424b0f=this[_0x34068b(0x219)](_0xe025f1),[_0x579461,_0x504fa1]=await Promise[_0x34068b(0x211)]([_0x462c09[_0x34068b(0x2b6)](_0xc5b860),_0x462c09['srem'](_0x424b0f,_0x2285bf)]),_0x3a1d52=_0x2b9b03[_0x34068b(0x216)](_0x579461+_0x504fa1,0x0);return logger['info']({'event':_0x2b9b03[_0x34068b(0x226)],'resource':_0xe025f1,'value':_0x2285bf,'consumed':_0x3a1d52},'ID\x20Generator\x20consumed:\x20'+_0x2285bf),{'consumed':_0x3a1d52,'resource':_0xe025f1,'value':_0x2285bf,'consumedAt':new Date()[_0x34068b(0x2a4)]()};}async[a0_0x35aca2(0x20d)](_0x108831){const _0x4b09e5=a0_0x35aca2,_0x2b0ed4={'WquWg':'IDGEN_DISABLED','EmlJh':function(_0x46b7b8,_0x2940bf){return _0x46b7b8===_0x2940bf;},'xeUSM':'text','nZFrR':'number','mnASb':function(_0x12dc36,_0x400992,_0x4dfa2e){return _0x12dc36(_0x400992,_0x4dfa2e);},'YLXhO':'random','soTdH':function(_0x1c1835,_0x5eefb0){return _0x1c1835||_0x5eefb0;}};if(!this[_0x4b09e5(0x291)])throw new IdGeneratorError(_0x2b0ed4['WquWg'],'ID\x20Generator\x20is\x20disabled');this['_validateResource'](_0x108831['resource']);const _0x164bdd=_0x108831['mode']||_0x4b09e5(0x2ac),_0x517deb=redisClient['getClient']();if(_0x2b0ed4[_0x4b09e5(0x2f2)](_0x164bdd,'number')){const _0x5c22f8=(_0x108831['format']||_0x2b0ed4['xeUSM'])['toLowerCase']();if(!ALLOWED_FORMATS[_0x4b09e5(0x221)](_0x5c22f8))throw new IdGeneratorError('IDGEN_INVALID_FORMAT','Invalid\x20format:\x20'+_0x108831[_0x4b09e5(0x25c)]);const {formatKey:_0x5c9a8e}=this['_buildFormatKey'](_0x5c22f8,_0x108831[_0x4b09e5(0x29f)]||''),_0x117e77=this['_buildSeqKey'](_0x108831[_0x4b09e5(0x1f7)],_0x5c9a8e),_0x2c3075=this[_0x4b09e5(0x260)](_0x108831[_0x4b09e5(0x1f7)],_0x5c9a8e),[_0x4f328e,_0x15a296]=await Promise[_0x4b09e5(0x211)]([_0x517deb['get'](_0x117e77),_0x517deb[_0x4b09e5(0x267)](_0x2c3075)]);return{'resource':_0x108831[_0x4b09e5(0x1f7)],'mode':_0x2b0ed4[_0x4b09e5(0x2e4)],'formatKey':_0x5c9a8e,'currentCounter':_0x2b0ed4[_0x4b09e5(0x262)](parseInt,_0x4f328e,0xa)||0x0,'reusePoolSize':_0x15a296||0x0};}if(_0x2b0ed4['EmlJh'](_0x164bdd,_0x2b0ed4[_0x4b09e5(0x20a)])){const _0x23138a=this['_buildIssuedKey'](_0x108831[_0x4b09e5(0x1f7)]),_0x37523c=await _0x517deb[_0x4b09e5(0x212)](_0x23138a);return{'resource':_0x108831['resource'],'mode':_0x4b09e5(0x284),'issuedCount':_0x2b0ed4[_0x4b09e5(0x238)](_0x37523c,0x0)};}throw new IdGeneratorError(_0x4b09e5(0x25d),'Unknown\x20mode:\x20'+_0x164bdd);}async[a0_0x35aca2(0x24d)](_0x3025f0){const _0x22f374=a0_0x35aca2,_0xa5aa55={'dziTq':function(_0x5720fc,_0x2c7f26){return _0x5720fc===_0x2c7f26;},'ZKiUb':function(_0xd0b64,_0x1fb1b0){return _0xd0b64>_0x1fb1b0;}},_0x31a1f=await this['peek'](_0x3025f0);if(_0xa5aa55[_0x22f374(0x2b8)](_0x31a1f[_0x22f374(0x1e0)],_0x22f374(0x2ac))){const _0x3e9a60=redisClient['getClient'](),_0x16affb=this['_buildMetaKey'](_0x3025f0[_0x22f374(0x1f7)],_0x31a1f[_0x22f374(0x231)]),_0x3dcac3=this[_0x22f374(0x260)](_0x3025f0[_0x22f374(0x1f7)],_0x31a1f['formatKey']),[_0x5e8c87,_0x29c513]=await Promise[_0x22f374(0x211)]([_0x3e9a60['hgetall'](_0x16affb),_0x3e9a60[_0x22f374(0x2d8)](_0x3dcac3,0x0,-0x1)]);return{..._0x31a1f,'reusePoolValues':_0x29c513['map'](_0x56476d=>parseInt(_0x56476d,0xa)),'meta':_0x5e8c87&&_0xa5aa55[_0x22f374(0x2c0)](Object['keys'](_0x5e8c87)['length'],0x0)?_0x5e8c87:null};}return _0x31a1f;}async['reset'](_0x19312e){const _0x379561=a0_0x35aca2,_0x253437={'hDJYZ':_0x379561(0x201),'mSOJJ':'Reset\x20operation\x20not\x20allowed\x20(set\x20IDGEN_ALLOW_RESET=true\x20to\x20enable)','YlTXC':'text','QrIhn':_0x379561(0x2fd),'bbjHR':'reuse','UQHrc':'meta','hhKfj':'random','YrKsO':_0x379561(0x2f0)};if(!this['enabled'])throw new IdGeneratorError('IDGEN_DISABLED',_0x379561(0x1e7));if(!this['allowReset'])throw new IdGeneratorError(_0x253437['hDJYZ'],_0x253437['mSOJJ']);this['_validateResource'](_0x19312e[_0x379561(0x1f7)]);const _0x33011a=_0x19312e['mode']||'number',_0x16a5fe=redisClient['getClient']();if(_0x33011a===_0x379561(0x2ac)){const _0x495ab2=(_0x19312e[_0x379561(0x25c)]||_0x253437['YlTXC'])[_0x379561(0x2ed)]();if(!ALLOWED_FORMATS[_0x379561(0x221)](_0x495ab2))throw new IdGeneratorError(_0x379561(0x2f7),'Invalid\x20format:\x20'+_0x19312e[_0x379561(0x25c)]);const {formatKey:_0x35ff1b}=this[_0x379561(0x2ae)](_0x495ab2,_0x19312e[_0x379561(0x29f)]||''),_0xecb07a=this['_buildSeqKey'](_0x19312e['resource'],_0x35ff1b),_0x1aa594=this[_0x379561(0x260)](_0x19312e[_0x379561(0x1f7)],_0x35ff1b),_0x3edd6d=this[_0x379561(0x1e5)](_0x19312e['resource'],_0x35ff1b);return await _0x16a5fe[_0x379561(0x2b6)](_0xecb07a,_0x1aa594,_0x3edd6d),logger['warn']({'event':_0x253437[_0x379561(0x1d3)],'resource':_0x19312e['resource'],'mode':_0x379561(0x2ac),'formatKey':_0x35ff1b},'ID\x20Generator\x20reset:\x20'+_0x19312e[_0x379561(0x1f7)]+':'+_0x35ff1b),{'reset':!![],'resource':_0x19312e[_0x379561(0x1f7)],'mode':'number','formatKey':_0x35ff1b,'deletedKeys':[_0x379561(0x25b),_0x253437['bbjHR'],_0x253437['UQHrc']]};}if(_0x33011a===_0x253437['hhKfj']){const _0x46630a=this['_buildIssuedKey'](_0x19312e['resource']);return await _0x16a5fe['del'](_0x46630a),logger[_0x379561(0x2e9)]({'event':_0x253437['QrIhn'],'resource':_0x19312e['resource'],'mode':_0x253437['hhKfj']},_0x379561(0x1f3)+_0x19312e['resource']),{'reset':!![],'resource':_0x19312e['resource'],'mode':_0x379561(0x284),'deletedKeys':[_0x253437['YrKsO']]};}throw new IdGeneratorError('IDGEN_INVALID_MODE','Unknown\x20mode:\x20'+_0x33011a);}}const instance=new IdGenerator();instance['IdGeneratorError']=IdGeneratorError,module['exports']=instance,module[a0_0x35aca2(0x254)][a0_0x35aca2(0x265)]=IdGeneratorError;function a0_0x1694(){const _0x27b017=['EMnHCMq','x3zHBgLKyxrLuMvZB3vYy2u','surhru5Frevgqvvmvf9trvjjquXFuefuvevstG','BwvZC2fNzq','x3zHBgLKyxrLugf0DgvYBG','yxHYDMi','AM9PBG','zMLkEwq','x2DLBMvYyxrLrNjVBvbHDhrLCM4','suqGr2vUzxjHDg9YihjLC2vYDMf0Aw9UignVBMzPCM1LzdOG','ANf6uwK','nZeWoteXoejrBw9cqq','B2HLru4','EfPxywi','BKHPsu4','C3jLBq','surhru5Fq09vtLrfuL9pvKvsrKXpvW','surhru5Fsu5wquXjrf9srvnfuLzfx1ruta','surhru5Fsu5wquXjrf9quKvgsvG','x2j1AwXKqwn0AxzLs2v5','Cgf0DgvYBG','AwrNzw5FCMvZzxj2zv9PzgvTx2XVC2vY','zgf0zvbYzwzPEa','vNvVuMC','r1n4AKy','y291BNrLCKLUDcbTDxn0igjLihbVC2L0AxzLigLUDgvNzxiGkgDVDdOG','surhru5Fsu5wquXjrf9trvbbuKfut1i','x2rLzMf1BhrqAw5eAwDPDhm','CMvWzwf0','CMfUzg9T','x2DLDenVDw50zxjuveW','x3L5ExLTBv8','AwrNzw5FCMvZzxj2yxrPB25Fy29UzMLYBwvK','BgvUz3rO','CMvZzxj2zq','x2j1AwXKuMvZzxj2yxrPB25lzxLqCMvMAxG','DhrS','x2vUC3vYzuLUAxrPywXPEMvK','z2vUzxjHDgvKqxq','ndbpqLfzwhu','sw52ywXPzcbPzgvTCg90zw5JEuTLEtOGBxvZDcbIzsbZDhjPBMCGms0','CMy6AwrNzw46','zw5HyMXLza','wgvUvuO','z2v0rgf0zq','uurWwxy','x2j1AwXKuMvZzxj2yxrPB25lzxK','sw52ywXPzcbUDw1Izxi6ig11C3qGyMuGBM9UlwvTChr5ihn0CMLUzW','ENz6v2S','cNjLzgLZlMnHBgWOj1PbreqNlcblrvLtwZfDlcbbuKDwwZfDlcbbuKDwwZfDkqPSB2nHBcb0DgWGpsb0B251BwjLCIHbuKDwwZjDkqPPzIb0DgWGpIaWihrOzw4kicbYzwrPCY5JywXSkcDfwfbjuKuNlcblrvLtwZfDlcb0DgWPcMvUzaPYzxr1CM4GmqO','AxnszxvZzwq','x2TLEvbYzwzPEa','ignOyxjZ','zxHWAxjLC0f0','x3zHBgLKyxrLtwf4uMv0CNK','mJm2ntm2mhDrq3HQEq','ChjLzML4','x3vUzg9syw5KB21szxnLCNzHDgLVBG','AwrNzw5FBNvTyMvYx2DLBMvYyxrLza','AwrNzw5FCMvZzxj2zv9PzgvTx2XVC2vYx2nHBMnLBf9LCNjVCG','CNn2s2v5','Dg9ju09tDhjPBMC','zgvMyxvSDe1HEfjLDhj5','Chr0Ba','B0X2zvm','zw5ZDxjLvw5PCxvL','x3jLC2vYDMvezwzHDwX0vfrm','x2j1AwXKuMvZzxj2yxrPB25jBMrLEeTLEq','x3zHBgLKyxrLtNvTyMvYugfYyw1Z','BNvTyMvY','suqGr2vUzxjHDg9Yig51BwjLCIbYzxnLCNzLzdOG','x2j1AwXKrM9YBwf0s2v5','x2rLzMf1BhrtzxjPywXqyxr0zxjU','A2z1yxG','swrLBxbVDgvUy3KGu0vuie5yigvYCM9Y','uMvZzxj2yxrPB24GBM90igzVDw5Kig9YigfSCMvHzhKGy29UC3vTzwq6ia','AwrNzw4','suqGr2vUzxjHDg9Yig51BwjLCIbPzgvTihjHy2uGBg9ZDcWGCMv0DxjUAw5NihDPBM5LCIbLBNzLBg9Wzq','AwrNzw5FBNvTyMvYx3jLC2vYDMvK','zgvS','AwrNzw5FAwrLBv9SB3nLCL9YzwXLyxnLx2vYCM9Y','zhPPvhe','mdeYmZq1nJC4owfIy2rLzG','qKjSqLK','sfHJCuq','x3jLC2vYDMvnyxHuveW','z2v0q2XPzw50','x2rLzMf1BhrdB2rLugf0DgvYBG','CNn2swr4s2v5','wKTPvwi','sw52ywXPzcbZzxbHCMf0B3i6ig1HEcaZignOyxiSig11C3qGBM90ignVBNrHAw4GjZONicHNB3q6ia','rhr0vuW','surhru5FuKvtrvjwrv9eruzbvuXux1ruta','C1neqvy','surhru5Fsurftv9uveW','CMfUzg9Tvvvjra','x3zHBgLKyxrLuMvZzxj2yxrPB25uB2TLBG','ExL5Ew1T','AgDLDgfSBa','zNPIwuu','teHICxG','x2DLDfjLC2vYDMf0Aw9Uq29UDgv4Da','y3blDNu','uKzNA2O','x2LUAxrPywXPEMvK','surhru5FuKvtrvjwqvrjt05FtK9ux0zpvu5e','sLPltNi','DMfSDwuGAxmGCMvXDwLYzwq','suqGr2vUzxjHDg9YignVBMzPzYbPBML0AwfSAxPLzcaTigvUywjSzwq6ia','ExL5Eq','CMvZzxj2zv9LEhrLBMq','CMfUzg9Tsw50','CNn2oG','ENjHBMDL','AwrNzw5FCMfUzg9Tx3vUzg9FzxjYB3i','x3n0B3jLswrLBunHy2HLtLG','ChvZAa','C3rYAw5N','v2PTAuC','surhru5Fsu5wquXjrf9ovu1crvi','zxHLyW','q291BNrLCIbVDMvYzMXVDZOG','swjSAKq','A2fnuee','ExL5Ew1Tzgq','BLPgCLi','x2LUAxrdB25MAwC','zw52','sw52ywXPzcbTyxHszxrYEtOGBxvZDcbIzsbPBNrLz2vYideT','Aw5MBW','D2fYBG','CgfKzgvKicHNB3q6ia','t3zMrvC','C3rVCMvK','Dg9mB3DLCKnHC2u','wNPkquO','sKTWwuS','AxnZDwvK','z2Ldr0S','rw1SsMG','tNvTyMvYigrVzxmGBM90ig1HDgnOigv4CgvJDgvKigzVCM1HDcaOz290oIa','AwrNzw5Fy29UC3vTzwq','DMfSDwu','AwrNzw5FAwrLBv9UEf9YywnLx2XVC3rFyNv0x2vTChr5','surhru5Fsu5wquXjrf9gt1jnqvq','zxHWAxjL','AwrNzw5FCMvZzxj2zv92ywX1zv9WzxjZAxn0x2vYCM9Y','AwrLBxbVDgvUy3LlzxK','x3bHzdi','y29Kzq','AwrNzw5FCMvZzxq','sw52ywXPzcbYzxnLCNzHDgLVBIb0DgW6ig11C3qGyMuGAw50zwDLCIa','Auj4wNy','uenZruK','uxjjAg4','t2LXve0','rKTfzNG','zgLNAxrZ','x3n0B3jLswrLBunHy2HL','mZaZmZyZnKH2DLLJrq','x2nVDw50zxjuveXnyxa','AwrNzw5FAwrLBv9YzxrYAwv2zv9LCNjVCG','x2fSBg93uMvZzxq','surhru5Fsu5wquXjrf9uveW','x3jLDhjPzxzLswrLBunHy2HL','tNvTyMvYigrVzxmGBM90ig1HDgnOigv4CgvJDgvKihrLEhqGzM9YBwf0icHNB3q6ia','rMfPBgvKihrVignVBxbLBNnHDguGCMvZzxj2yxrPB24Gywz0zxiGy291BNrLCIbVDMvYzMXVDW','Bw9Kzq','CMvZzxj2zu1HEfruta','zxzHBa','x2rLzMf1BhrnyxHszxrYEq','AwrNzw5FBNvTyMvYx3jLBgvHC2vK','x2j1AwXKtwv0yuTLEq','icH0B2TLBJ0','suqGr2vUzxjHDg9YigLZigrPC2fIBgvK','AwrNzw5FBNvTyMvYx2LKzw1FBg9Zzxi','CgLU','surhru5Frevgqvvmvf9nqvHFuKvuuLK','DgvZDa','AxnjBNrLz2vY','surhru5FquXmt1DFuKvtrvq','Dg9Rzw4','y291BNrLCKLUDa','C3rYAw5NAwz5','rwTKDMK','surhru5Fsu5wquXjrf9srvnpvvjdrq','suqGr2vUzxjHDg9YihjLC2v0oIbYyw5KB206','tfLkDxC','lcbNB3qG','yNvPBgrezxrLCM1PBMLZDgLJs2v5','CMvZB3vYy2u','BNvTrgLNAxrZ','zgvMyxvSDenVzgvqyxr0zxjU','BhPgy0q','rLDiBMG','CMvZzxj2zu51BwjLCG','BMfTzq','vw5RBM93BIbMB3jTyxq6ia','x2vUywjSzwq','yK5HAM8','surhru5FuKvtrvrFtK9ux0fmte9xruq','AwrNzw5FAwrLBv9ZDg9Yzv9LCNjVCG','AwrNzw5FAwrLBv9ZDg9Yzw54x2vYCM9Y','surhru5Fru5bqKXfra','y29UzMLYBvjLC2vYDMf0Aw9U','tvPezMS','suqGr2vUzxjHDg9Yig51BwjLCJOG','uuLLA3e','C2v0','wuXyAe8','Dgv4Da','A2v5CW','CgvLAW','CMvSzwfZzq','surhru5FreLtqujmruq','Bwf0y2G','ywXS','C2nHCMq','Dhj1zq','mtG0nJq4vwfVBLrZ','CMvZzxj2zv9Jyw5JzwW','CejcC1y','x2zVCM1HDe51BwjLCG','AwrNzw5FBwv0yv91CgrHDgvFzxjYB3i','x2j1AwXKsxnZDwvKs2v5','sw52ywXPzcb0DgW6ig11C3qGyMuGAw50zwDLCIaXlq','C2vWyxjHDg9Y','rxLICu8','swDvwfO','rujfywC','uMfUzg9TihjLC2vYDMf0Aw9UihvUzg8GzxjYB3iGkg9YCgHHBIbZBg90ig1HEsbYzw1HAw4P','BM93','AgfZ','CgfYC2u','D3nOBu4','surhru5Fsu5wquXjrf9nqvHFuKvuuLK','mta1nti4nxbptKXgwq','tezUCMe','surhru5Fsu5wquXjrf9qqvrurvjo','mZnUAxr6ELa','Bwf4uMv0CNK','CMvSzwfZzwrbDa','x3vWzgf0zu1LDge','CMvZzxj2zv9JB25MAxjT','twv0ysb1CgrHDguGzxjYB3i','igrPz2L0CYaOz290oIa','nNWXFdeWFdH8oxWYFdD8nxWWFdeXFdr8mW','sw52ywXPzcbWCMvMAxG6ig11C3qGBwf0y2GG','zM9YBwf0s2v5','x3zHBgLKyxrLswrLBxbVDgvUy3LlzxK','refZzeG','zgvMyxvSDfbPBKrPz2L0CW','lwrPz2L0ignHCgfJAxr5icG','BhDsDgu','mZG5ndG1nKf6AejnCq','C29uzeG','y291BNrLCG','sw52ywXPzcbUDw1eAwDPDhm6ig11C3qGyMuGAw50zwDLCIa','tNvTyMvYihbYzwzPEcbTAxnTyxrJAdOGzxHWzwn0zwqG','vhPtAfe','wfHywc1ywfHylvHywfGTwfHywa','y0PWEvq','ywn0AxzLoG','AwrLBuTLEq','surhru5FuKvtrvjwrv9nqvHFvfrm','zKjWBxK','D2LUBMvYuMvZDwX0','DKfbuhO','EfHfvxi','sfb2AvC','lcaR','suqGr2vUzxjHDg9YigLZigrPC2fIBgvKicHZzxqGsurhru5Fru5bqKXfrd10CNvLkq','mJC5mdy2tunRDerP','z2v0rNvSBfLLyxi','thL3BMq','wgrYBxq','z2v0sw5MBW','sw52ywXPzcbWyxr0zxjUoIbTDxn0ignVBNrHAw4GyxqGBgvHC3qGB25LihbSywnLAg9SzgvYignOyxjHy3rLCIaOos9ol0eVys9ml1GVEc9il2GP','icHNB3q6ia','sw52ywXPzcbWyxr0zxjUoIbTDxn0igjLihn0CMLUzYaXlq','wwnMAvm','CMvZzxj2zurLzMf1BhruveW','zgvMyxvSDfnLCMLHBfbHDhrLCM4','zxHWB3j0CW','AeHbB0S','sw52ywXPzcbYzxnVDxjJztOGBxvZDcbTyxrJAca','surhru5Fvu5juvvfx1jfvfjzx0vysefvu1rfra','x3L5ExLTBwrKxW','x2LKzw1uveW','x3zHBgLKyxrLuMvZzxj2zvruta','C2vX','zM9YBwf0','surhru5Fsu5wquXjrf9nt0rf','igv4y2vLzhmG','AxjTuMS','x2j1AwXKuMv1C2vlzxK','A2v5uhjLzML4','Bw5bu2i','yLrmy1K','ihnLy29UzhmGkgDVDdOG','swrhzw5LCMf0B3jfCNjVCG','A1rOuhu'];a0_0x1694=function(){return _0x27b017;};return a0_0x1694();}
1
+ 'use strict';function a0_0x255c(){const _0xbce950=['x2rLzMf1BhrdB2rLugf0DgvYBG','tNvTyMvYigrVzxmGBM90ig1HDgnOigv4CgvJDgvKigzVCM1HDcbWCMvMAxG','CMvWzwf0','surhru5Fsu5wquXjrf9qqvrurvjo','EMnHCMq','Dg9mB3DLCKnHC2u','x3jLC2vYDMvnyxHuveW','BNnyufG','yxDJrhO','cMXVy2fSihvUCgSGpsb1BNbHy2SGB3iGDgfIBguUDw5WywnRcGOTlsbtDgvWide6igXHENKGCMvHCcbLEhbPCMvKihjLC2vYDMf0Aw9UCYaOy2fWifjfu0vsvKvFuKvbuf9cqvrdscKkBg9JywWGCMvHCgvKid0GmaPSB2nHBcbUB3DnCYa9iefsr1zBn10kBg9JywWGCNn2uhjLzML4id0GqvjhvLS4xqPSB2nHBcbLEhbPCMvKid0GCMvKAxmUy2fSBcGNwLjbtKDfqLLtq09srsCSieTfwvnBm10SicCTAw5MjYWGjYGNic4Uig5VD01ZlcaNteLnsvqNlcaWlca2ncKkzM9YigKGpsaXlcaJzxHWAxjLzcbKBWOGigXVy2fSigv4CfrVA2vUid0GzxHWAxjLzfTPxqOGigXVy2fSigv4CfjZDKTLEsa9ihjZDLbYzwzPEcaUlIbLEhbuB2TLBGOGigXVy2fSigv4CenVDw50zxiGpsbYzwrPCY5JywXSkcDir0vujYWGzxHWuNn2s2v5lcaNy291BNrLCICPcIaGAwyGzxHWq291BNrLCIb0AgvUcIaGicbYzwrPCY5JywXSkcDAqurejYWGs0vzu1SYxsWGzxHWq291BNrLCIWGzxHWq291BNrLCIKkicbLBMqkicbYzwrPCY5JywXSkcDeruWNlcbLEhbsC3zlzxKPcIaGCMvKAxmUy2fSBcGNwLjftsCSieTfwvnBm10Sigv4CfrVA2vUkqOGihjLyxbLzca9ihjLyxbLzcaRidekzw5KcGOTlsbtDgvWidi6igfSBg9JyxrLignVDw50zxiGkfPqt1bnsu4GCMv1C2uGyxrHDsbjtKnsihnLCsKkBg9JywWGy291BNrLCKLUDaPSB2nHBcbPC1jLDxnLzca9idakAwyGqvjhvLSXxsa9psaNmsCGDgHLBGOGigXVy2fSihiGpsbYzwrPCY5JywXSkcDAue9qtuLojYWGs0vzu1SYxsWGmsKkicbPzIaJCIa+idaGDgHLBGOGicaGy291BNrLCKLUDca9ihrVBNvTyMvYkhjBmv0PcIaGicbPC1jLDxnLzca9idekicbLBMqkzw5KcMLMig5VDcbJB3vUDgvYsw50ihrOzw4kicbJB3vUDgvYsw50id0GCMvKAxmUy2fSBcGNsu5duICSieTfwvnBmv0PcIaGBg9JywWGy3r0Bca9ihrVBNvTyMvYkefsr1zBmL0PcIaGAwyGy3r0Bca+idaGyw5KignVDw50zxjjBNqGpt0Gmsb0AgvUcIaGicbYzwrPCY5JywXSkcDfwfbjuKuNlcblrvLtwZfDlcbJDhrSkqOGigvUzaPLBMqkcI0Tifn0zxaGmZOGD3jPDguGCMvZzxj2yxrPB24GAgfZAcaRigLUzgv4icSGvfrmcMXVy2fSihjZDKTLEsa9iefsr1zBnf0kBg9JywWGCNn2vhrStxmGpsb0B251BwjLCIHbuKDwwZvDkqPSB2nHBcbLEhbPCMvZqxrnCYa9ihrVBNvTyMvYkefsr1zBnL0PcMXVy2fSig5HCMDZid0Gi0fsr1ykBg9JywWGzMLLBgrZid0GE30kzM9YigKGpsa5lcbUyxjNCYbKBWOGigzPzwXKC1SJzMLLBgrZicSGmv0GpsbbuKDww2LDcMvUzaPYzwrPCY5JywXSkcDiu0vujYWGCNn2s2v5lcaNy291BNrLCICSignVDw50zxjjBNqSicDPC1jLDxnLzcCSigLZuMv1C2vKlcb1BNbRkgzPzwXKCYKPcNjLzgLZlMnHBgWOj1bfwfbjuKuNlcbYC3zlzxKSihjZDLr0Be1ZkqPYzwrPCY5JywXSkcDAqurejYWGs0vzu1SZxsWGzxHWAxjLC0f0txmSiefsr1zBm10PcNjLzgLZlMnHBgWOj0vyueLsrsCSieTfwvnBm10Sig1HDgGUzMXVB3iOCNn2vhrStxmGlYaXmdaWksaRidyWkqOkCMv0DxjUihSGy291BNrLCKLUDcWGAxnszxvZzwqSihjLyxbLzcb9cG','x2j1AwXKtwv0yuTLEq','x3zHBgLKyxrLtwf4uMv0CNK','x3zHBgLKyxrLtNvTyMvYugfYyw1Z','DMfSDwu','surhru5Fsu5wquXjrf9gt1jnqvq','mtuZndi2mg5ZAgXfzG','Bwv0ytO','CMvZzxj2zv9LEhrLBMq','cMLMihjLzgLZlMnHBgWOj0vysvnuuYCSieTfwvnBmv0Pid09idaGDgHLBGOGihjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqOGihjLDhvYBIb7idaGFqPLBMqkBg9JywWGAca9ihjLzgLZlMnHBgWOj0Hnr0vujYWGs0vzu1SXxsWGj2nVDw50zxiNlcaNDMfSDwuNlcaNzM9YBwf0s2v5jYWGj2LZuMv1C2vKjYWGj2nYzwf0zwrbDcCSicDLEhbPCMvZqxqNkqPYzwrPCY5JywXSkcDeruWNlcblrvLtwZfDkqPYzwrPCY5JywXSkcDAuKvnjYWGs0vzu1SYxsWGqvjhvLSXxsKkCMv0DxjUihSGmsWGAfSXxsWGAfSYxsWGAfSZxsWGAfS0xsWGAfS1xsWGAfS2xsb9cG','x2j1AwXKuMvZzxj2yxrPB25lzxK','suqGr2vUzxjHDg9YihjLC2vYDMf0Aw9UignVBMzPCM1LzdOG','surhru5Fsu5wquXjrf9uveW','tNvTyMvYigrHDgvqCMvMAxGGAw52ywXPzcbMB3iGzM9YBwf0ia','CMvZzxj2zv9JB25MAxjT','icH0B2TLBJ0','AxnZDwvKoG','x2vUC3vYzuLUAxrPywXPEMvK','surhru5Fsu5wquXjrf9quKvgsvG','surhru5Fsu5wquXjrf9trvbbuKfut1i','x3bHCNnLtNvTyMvY','AMX5z2K','BNvTrgLNAxrZ','ywXS','CMvSzwfZzu51BwjLCG','DhrStxm','C3bSAxq','x3vWzgf0zu1LDge','z2v0q2XPzw50','swrLBxbVDgvUy3KGCMv0CMLLDMuGzxjYB3i','x2DLBMvYyxrLrNjVBvbHDhrLCM4','CMjJufm','zgvS','AgfZ','tgfvDLe','BeXKrfK','AwrNzw5FCMvZzxj2zv9PzgvTx2XVC2vY','suqGr2vUzxjHDg9YihjLC2v0oIa','DgvZDa','x3zHBgLKyxrLugf0DgvYBG','mta0ntCZmZzprvnct2i','mdeYmZq1nJC4owfIy2rLzG','x2zVCM1HDe51BwjLCG','zgvMyxvSDe1HEfjLDhj5','x2fSBg93uMvZzxq','tNvXBg0','v2Tduxq','ChvZAa','BwvZC2fNzq','y291BNrLCKLUDcbTDxn0igjLihbVC2L0AxzLigLUDgvNzxiGkgDVDdOG','Bwf4uMv0CNK','z2v0rNvSBfLLyxi','vNHLvLe','ExL5Eq','AwrLBxbVDgvUy3LlzxK','x2LUAxrPywXPEMvK','x3bHzdi','surhru5Fsu5wquXjrf9esuDjvfm','DhrS','AwrNzw5FCMvZzxq','AwrNzw5FBNvTyMvYx3jLC2vYDMvK','suqGr2vUzxjHDg9YigLZigrPC2fIBgvK','x2rLzMf1BhrnyxHszxrYEq','mti5mdqXnvjrveLSBG','nta3ntG0zeDbAhbQ','sw52ywXPzcbZzxbHCMf0B3i6ig1HEcaZignOyxiSig11C3qGBM90ignVBNrHAw4GjZONicHNB3q6ia','BgDKBKu','twvRuKK','x2vUywjSzwq','x3zHBgLKyxrLuMvZzxj2zvruta','zNrsEM4','Dgv4Da','zM9YBwf0','x2j1AwXKrM9YBwf0s2v5','zgLNAxrZ','AenKCuq','zw5HyMXLza','Evb3rMG','wMLjAg4','AwrNzw5FBwv0yv91CgrHDgvFzxjYB3i','AwrNzw5FCMvZzxj2yxrPB25Fy29UzMLYBwvK','mtK4otvOvNfYy3C','sw52ywXPzcbPzgvTCg90zw5JEuTLEtOGBxvZDcbIzsbZDhjPBMCGms0','x2j1AwXKsxnZDwvKs2v5','qLrMBeq','CNn2swr4s2v5','cNjLzgLZlMnHBgWOj1PbreqNlcblrvLtwZfDlcbbuKDwwZfDlcbbuKDwwZfDkqPSB2nHBcb0DgWGpsb0B251BwjLCIHbuKDwwZjDkqPPzIb0DgWGpIaWihrOzw4kicbYzwrPCY5JywXSkcDfwfbjuKuNlcblrvLtwZfDlcb0DgWPcMvUzaPYzxr1CM4GmqO','x3n0B3jLswrLBunHy2HL','ywr6vuO','zgv0ywLSCW','ignOyxjZ','tLnjuNG','AxnjBNrLz2vY','m0PQt1r3qW','ChjLzML4','Cw1jEgm','lcbNB3qG','Bwv0yq','CgfYC2u','x2DLDfjLC2vYDMf0Aw9Uq29UDgv4Da','ignOyxjZicHNB3qGBgvUz3rOoIa','vhfktw8','lI9SB2DNzxi','surhru5Fsurftv9uveW','zM9YBwf0s2v5','zNDpsgW','AwrNzw5FAwrLBv9SB3nLCL9YzwXLyxnLx2vYCM9Y','zxzHBa','yNPrvxe','DxzKzue','C3rYAw5N','Bw9Kzq','x2LKzw1uveW','x2LUAxrdB25MAwC','BgHethu','DvbOCxi','tgXfvMe','x2j1AwXKuMvZzxj2yxrPB25jBMrLEeTLEq','vxbuwem','BNvTyMvY','surhru5Fsu5wquXjrf9ovu1crvi','uvn0qNq','CMvZzxj2zu1HEfruta','surhru5FreLtqujmruq','x3zHBgLKyxrLuMvZB3vYy2u','EhvQuMe','x2j1AwXKswrLBuTLEq','cMLMiefsr1zBmv0Gpt0GjZeNihrOzw4kicbSB2nHBcbYzxvZzwqGpsbYzwrPCY5JywXSkcDAue9qtuLojYWGs0vzu1SYxsWGmsKkicbPzIaJCMv1C2vKid4Gmcb0AgvUcIaGicbYzxr1CM4GE3rVBNvTyMvYkhjLDxnLzfSXxsKSidf9cIaGzw5KcMvUzaPSB2nHBcbUid0GCMvKAxmUy2fSBcGNsu5duICSieTfwvnBmv0PcMXVy2fSihr0Bca9ihrVBNvTyMvYkefsr1zBmL0PcMLMihr0Bca+idaGyw5Kig4Gpt0Gmsb0AgvUcIaGCMvKAxmUy2fSBcGNrvHqsvjfjYWGs0vzu1SXxsWGDhrSkqPLBMqkCMv0DxjUihTUlcaWFqO','x2DLDenVDw50zxjuveW','Eg9Uywe','surhru5FuKvtrvjwqvrjt05FtK9ux0zpvu5e','quvKDuG','CgfKu3rHCNq','x2rLzMf1BhrqAw5eAwDPDhm','sw52ywXPzcbTyxHszxrYEtOGBxvZDcbIzsbPBNrLz2vYideT','vw5RBM93BIbTB2rLoIa','C2fKza','suqGr2vUzxjHDg9Yig51BwjLCIbYzxnLCNzLzdOG','rw1vAfm','sxLUruK','rvPOuMO','CMfUzg9Tsw50','zxHWAxjLC0f0','zgvMyxvSDenVzgvqyxr0zxjU','q291BNrLCIbVDMvYzMXVDZOG','zuTNsee','x3zHBgLKyxrLuMvZzxj2yxrPB25uB2TLBG','Aw5MBW','z2v0rgf0zq','ywjJzgvMz2HPAMTSBw5VChfYC3r1DND4ExO','yNvPBgrezxrLCM1PBMLZDgLJs2v5','CMvZzxj2zu51BwjLCG','whHWuhO','zw52','CMvZzxq','y2L6te8','ze9nrhm','surhru5Fsu5wquXjrf9srvnpvvjdrq','suqGr2vUzxjHDg9YignVBNn1BwvKoIa','icHNB3q6ia','x3jLC2vYDMvezwzHDwX0vfrm','mJGXndu0sgLbrMjd','CMv1C2u6','wuLotxa','D2LUBMvYuMvZDwX0','twDyte8','sw52ywXPzcbWCMvMAxG6ig11C3qGBwf0y2GG','y291BNrLCG','vw5RBM93BIbMB3jTyxq6ia','x2rLzMf1BhrtzxjPywXqyxr0zxjU','x2j1AwXKuMv1C2vlzxK','B3fXwKe','zxHWB3j0CW','CMvZB3vYy2u','surhru5FquXmt1DFuKvtrvq','CMfUzg9T','z2v0','C3rYAw5NAwz5','surhru5Frevgqvvmvf9nqvHFuKvuuLK','zu90wwy','wfHywc1ywfHylvHywfGTwfHywa','ExL5Ew1T','uuHLrK4','C2v0','BM93','A2v5uhjLzML4','AwrNzw4','suqGr2vUzxjHDg9YigLZigrPC2fIBgvKicHZzxqGsurhru5Fru5bqKXfrd10CNvLkq','CujXs1y','suqGr2vUzxjHDg9YihjLC2vYDMf0Aw9Uigv4DgvUzgvKoIa','suqGr2vUzxjHDg9YihjLC2vYDMf0Aw9UignHBMnLBgXLzdOG','wKTvEuy','x2j1AwXKqwn0AxzLs2v5','x3n0B3jLswrLBunHy2HLtLG','EvDQvgG','Ag1Nzxq','CMfUzg9Tvvvjra','ywXSB3DszxnLDa','uejPzuW','C2vWyxjHDg9Y','x2j1AwXKuMvZzxj2yxrPB25lzxLqCMvMAxG','CMvZzxj2zv9Jyw5JzwW','svHRB2i','tvD2D3i','surhru5Fsu5wquXjrf9nt0rf','z2rWDvO','BgvUz3rO','igrPz2L0CYaOz290oIa','ANzftgK','ihbHCNrZkq','CMvSzwfZzwrbDa','rxvfDxG','C2vXoG','uMvZzxqGB3bLCMf0Aw9Uig5VDcbHBgXVD2vKicHZzxqGsurhru5FquXmt1DFuKvtrvq9Dhj1zsb0BYbLBMfIBguP','surhru5Fru5bqKXfra','A2v5CW','AwrNzw5FBNvTyMvYx2DLBMvYyxrLza','zM9YBwf0s2v5igLZihjLCxvPCMvKigLUigXVDY1SzxzLBcbYzwXLyxnL','AxnZDwvK','EhPSzgy','AxnfBMfIBgvK','vfrkz0O','D2fYBG','tNvTyMvYihbYzwzPEcbTAxnTyxrJAdOGzxHWzwn0zwqG','twv0ysb1CgrHDguGzxjYB3i','Dg9ju09tDhjPBMC','rhb3sK8','vKrwCM4','x3jLDhjPzxzLswrLBunHy2HL','zgvMyxvSDfbPBKrPz2L0CW','yM5IyvC','uLLxEfm','zw5ZDxjLvw5PCxvL','lI9PzgvTCg90zw5JEs1Tyw5Hz2vY','lcbLEhbLy3rLzca','qxn4q0e','suqGr2vUzxjHDg9Yig51BwjLCJOG','u0novhO','rwzTugy','sw52ywXPzcb0DgW6ig11C3qGyMuGAw50zwDLCIaXlq','x2j1AwXKu2vXs2v5','q291BgqGBM90igDLBMvYyxrLihvUAxf1zsb2ywX1zsbHzNrLCIa','y29Kzq','rhzgz3e','tNvTyMvYigrVzxmGBM90ig1HDgnOigv4CgvJDgvKihrLEhqGzM9YBwf0icHNB3q6ia','ywvjtNC','sw52ywXPzcbUDw1eAwDPDhm6ig11C3qGyMuGAw50zwDLCIa','surhru5Fsu5wquXjrf9nqvHFuKvuuLK','C3rVCMvK','vhDiDK4','ihnLy29UzhmGkgDVDdOG','rNnyuLy','cMLMihjLzgLZlMnHBgWOj0vysvnuuYCSieTfwvnBmv0Pid09idaGDgHLBGOGihjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqOGihjLDhvYBIb7idaGFqPLBMqkBg9JywWGAca9ihjLzgLZlMnHBgWOj0Hnr0vujYWGs0vzu1SXxsWGj2nVDw50zxiNlcaNDMfSDwuNlcaNzM9YBwf0s2v5jYKkBg9JywWGy291BNrLCIa9igHBmv0kAwyGy291BNrLCIb0AgvUcIaGCMvKAxmUy2fSBcGNwKfercCSieTfwvnBm10SignVDw50zxiSignVDw50zxiPcIaGBg9JywWGDhrSid0GDg9UDw1IzxiOqvjhvLSYxsKkicbPzIb0DgWGpIaWihrOzw4kicaGihjLzgLZlMnHBgWOj0vyueLsrsCSieTfwvnBm10Sihr0BcKkicbLBMqkzw5KcNjLzgLZlMnHBgWOj0rftcCSieTfwvnBmv0PcNjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqPYzxr1CM4GEYaXlcbJB3vUDgvYlcbOwZjDlcbOwZnDih0k','wengB0m','mJi4nZu3mLjmDeDiDG','ywn0AxzLoG','Bwf0y2G','x3zHBgLKyxrLswrLBxbVDgvUy3LlzxK','y291BNrLCKLUDa','uMvZzxj2yxrPB24GBM90igzVDw5Kig9YigfSCMvHzhKGy29UC3vTzwq6ia','vLH0vLm','x2nVDw50zxjuveXnyxa','AwrNzw5FAwrLBv9UEf9YywnLx2XVC3rFyNv0x2vTChr5','surhru5Fsu5wquXjrf9ut0TftG','AwrLBvruta','CMvZzxj2zurLzMf1BhruveW','DMjyDxu','x3rLEhq','swrhzw5LCMf0B3jfCNjVCG','Cfnir3e','AwrNzw5FCMvZzxj2yxrPB25FzxH0zw5Kzwq','C2v0zxG','suqGr2vUzxjHDg9YihjHBMrVBsbPzgvTihjHy2uGBg9ZDcWGCMv0DxjUAw5NihDPBM5LCIbLBNzLBg9Wzq','sw52ywXPzcbYzxvZzurLBgv0ztOGBxvZDcbIzsbIB29SzwfUicHNB3q6ia'];a0_0x255c=function(){return _0xbce950;};return a0_0x255c();}function a0_0xf0a4(_0x47f878,_0x3a5980){_0x47f878=_0x47f878-0xcf;const _0x255c1b=a0_0x255c();let _0xf0a4a0=_0x255c1b[_0x47f878];if(a0_0xf0a4['UxOMki']===undefined){var _0x12f774=function(_0x383656){const _0x18fbab='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x458745='',_0x40a0a8='';for(let _0x4e4f23=0x0,_0x17f209,_0x4d3281,_0x2aa737=0x0;_0x4d3281=_0x383656['charAt'](_0x2aa737++);~_0x4d3281&&(_0x17f209=_0x4e4f23%0x4?_0x17f209*0x40+_0x4d3281:_0x4d3281,_0x4e4f23++%0x4)?_0x458745+=String['fromCharCode'](0xff&_0x17f209>>(-0x2*_0x4e4f23&0x6)):0x0){_0x4d3281=_0x18fbab['indexOf'](_0x4d3281);}for(let _0x462f1a=0x0,_0x4f2a2d=_0x458745['length'];_0x462f1a<_0x4f2a2d;_0x462f1a++){_0x40a0a8+='%'+('00'+_0x458745['charCodeAt'](_0x462f1a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x40a0a8);};a0_0xf0a4['VRDaip']=_0x12f774,a0_0xf0a4['juFKhu']={},a0_0xf0a4['UxOMki']=!![];}const _0x39b492=_0x255c1b[0x0],_0x532e77=_0x47f878+_0x39b492,_0x24cc72=a0_0xf0a4['juFKhu'][_0x532e77];return!_0x24cc72?(_0xf0a4a0=a0_0xf0a4['VRDaip'](_0xf0a4a0),a0_0xf0a4['juFKhu'][_0x532e77]=_0xf0a4a0):_0xf0a4a0=_0x24cc72,_0xf0a4a0;}const a0_0x1603ac=a0_0xf0a4;(function(_0x34702a,_0x4bf70a){const _0x11daf4=a0_0xf0a4,_0xc79523=_0x34702a();while(!![]){try{const _0x5d505b=-parseInt(_0x11daf4(0x19b))/0x1+parseInt(_0x11daf4(0xd0))/0x2*(-parseInt(_0x11daf4(0x1a7))/0x3)+-parseInt(_0x11daf4(0x18a))/0x4+-parseInt(_0x11daf4(0x189))/0x5+-parseInt(_0x11daf4(0x150))/0x6+-parseInt(_0x11daf4(0x12d))/0x7+parseInt(_0x11daf4(0x172))/0x8;if(_0x5d505b===_0x4bf70a)break;else _0xc79523['push'](_0xc79523['shift']());}catch(_0x272cbd){_0xc79523['push'](_0xc79523['shift']());}}}(a0_0x255c,0x2bb74));const crypto=require('crypto'),redisClient=require('./redis-client'),{logger}=require(a0_0x1603ac(0x1b0)),idempotencyManager=require(a0_0x1603ac(0x118)),ALLOWED_FORMATS=new Set(['text',a0_0x1603ac(0x17f),'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='0123456789',CHARSET_UPPER='ABCDEFGHIJKLMNOPQRSTUVWXYZ',CHARSET_LOWER=a0_0x1603ac(0x1df),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_0x1603ac(0x173),PLACEHOLDER_MAP={'9':CHARSET_DIGIT,'N':CHARSET_DIGIT,'A':CHARSET_UPPER,'a':CHARSET_LOWER,'L':CHARSET_LETTERS,'X':CHARSET_UPPER_ALNUM,'x':CHARSET_MIXED_ALNUM,'H':CHARSET_HEX_UPPER,'h':CHARSET_HEX_LOWER},LUA_GENERATE_NUMBER=a0_0x1603ac(0x1c9),LUA_RELEASE_NUMBER=a0_0x1603ac(0x1a0),LUA_RESERVE_NUMBER=a0_0x1603ac(0x14a),LUA_CONFIRM_RESERVATION=a0_0x1603ac(0x153),LUA_CANCEL_RESERVATION=a0_0x1603ac(0x12b),LUA_EXTEND_RESERVATION='\x0aif\x20redis.call(\x27EXISTS\x27,\x20KEYS[1])\x20==\x200\x20then\x0a\x20\x20redis.call(\x27ZREM\x27,\x20KEYS[2],\x20ARGV[1])\x0a\x20\x20return\x20{\x200\x20}\x0aend\x0alocal\x20h\x20=\x20redis.call(\x27HMGET\x27,\x20KEYS[1],\x20\x27expiresAt\x27,\x20\x27counter\x27,\x20\x27value\x27,\x20\x27formatKey\x27,\x20\x27isReused\x27,\x20\x27createdAt\x27)\x0alocal\x20prevExpiresAt\x20=\x20h[1]\x0alocal\x20newTtlMs\x20=\x20tonumber(ARGV[2])\x0alocal\x20newExpMs\x20=\x20tonumber(ARGV[3])\x0aredis.call(\x27PEXPIRE\x27,\x20KEYS[1],\x20newTtlMs)\x0aredis.call(\x27HSET\x27,\x20KEYS[1],\x20\x27expiresAt\x27,\x20ARGV[4])\x0aredis.call(\x27ZADD\x27,\x20KEYS[2],\x20newExpMs,\x20ARGV[1])\x0aredis.call(\x27EXPIRE\x27,\x20KEYS[2],\x20math.floor(newTtlMs\x20/\x201000)\x20+\x2060)\x0areturn\x20{\x201,\x20prevExpiresAt,\x20h[2],\x20h[3],\x20h[4],\x20h[5],\x20h[6]\x20}\x0a';class IdGeneratorError extends Error{constructor(_0x4128a1,_0x3cce3a,_0x88af12=null){const _0xa42c=a0_0x1603ac,_0x48644d={'BTflD':function(_0x3e090e,_0x204b3f){return _0x3e090e||_0x204b3f;},'MedoP':'IdGeneratorError'};super(_0x48644d[_0xa42c(0x19e)](_0x3cce3a,_0x4128a1)),this['name']=_0x48644d['MedoP'],this[_0xa42c(0x121)]=_0x4128a1,this[_0xa42c(0x1a3)]=_0x88af12;}}class IdGenerator{constructor(){const _0x17127e=a0_0x1603ac;this[_0x17127e(0x181)]=![],this['_enabled']=null,this['_keyPrefix']=null,this['_idemTTL']=null,this['_allowReset']=null,this[_0x17127e(0x188)]=null,this[_0x17127e(0x1cf)]=null,this['_defaultSerialPattern']=null,this[_0x17127e(0x141)]=null,this['_counterTTLMap']=null,this['_reserveDefaultTTL']=null,this[_0x17127e(0x147)]=null;}[a0_0x1603ac(0x1bb)](){const _0x14fbe5=a0_0x1603ac,_0x398691={'QHeFN':'rf:idgen:','jlygi':function(_0x1161a3,_0x3cc6f2){return _0x1161a3===_0x3cc6f2;},'zUMkC':'true','UpTXC':function(_0x31aa14,_0x417166,_0x33028e){return _0x31aa14(_0x417166,_0x33028e);},'NPclO':'idgen_config_init'};this['_keyPrefix']=_0x398691[_0x14fbe5(0xe5)],this['_enabled']=_0x398691[_0x14fbe5(0x15f)](process[_0x14fbe5(0x1e3)][_0x14fbe5(0x105)],'true'),this['_idemTTL']=parseInt(process[_0x14fbe5(0x1e3)][_0x14fbe5(0x1b1)],0xa)||0x258,this[_0x14fbe5(0x176)]=_0x398691[_0x14fbe5(0x15f)](process[_0x14fbe5(0x1e3)][_0x14fbe5(0xdd)],_0x398691['zUMkC']),this[_0x14fbe5(0x188)]=parseInt(process['env'][_0x14fbe5(0xe1)],0xa)||0xa,this[_0x14fbe5(0x1cf)]=parseInt(process[_0x14fbe5(0x1e3)]['IDGEN_DEFAULT_PIN_DIGITS'],0xa)||0x6,this['_defaultSerialPattern']=process['env']['IDGEN_DEFAULT_SERIAL_PATTERN']||_0x14fbe5(0xe3),this['_defaultCodePattern']=process[_0x14fbe5(0x1e3)]['IDGEN_DEFAULT_CODE_PATTERN']||'9999-9999',this['_counterTTLMap']={'yyyymm':parseInt(process[_0x14fbe5(0x1e3)]['IDGEN_COUNTER_TTL_MONTHLY'],0xa)||0x2a3000,'yyyymmdd':_0x398691['UpTXC'](parseInt,process[_0x14fbe5(0x1e3)]['IDGEN_COUNTER_TTL_DAILY'],0xa)||0x2a300},this[_0x14fbe5(0xcf)]=_0x398691['UpTXC'](parseInt,process['env']['IDGEN_RESERVE_DEFAULT_TTL'],0xa)||DEFAULT_RESERVE_TTL,this['_reserveMaxTTL']=_0x398691[_0x14fbe5(0x1c0)](parseInt,process[_0x14fbe5(0x1e3)]['IDGEN_RESERVE_MAX_TTL'],0xa)||MAX_RESERVE_TTL,this[_0x14fbe5(0x181)]=!![],logger[_0x14fbe5(0x1dd)]({'event':_0x398691['NPclO'],'enabled':this[_0x14fbe5(0x18e)],'idemTTL':this[_0x14fbe5(0x1ba)],'allowReset':this['_allowReset'],'defaultMaxRetry':this[_0x14fbe5(0x188)],'defaultPinDigits':this['_defaultPinDigits'],'reserveDefaultTTL':this[_0x14fbe5(0xcf)],'reserveMaxTTL':this[_0x14fbe5(0x147)]},'ID\x20Generator\x20config\x20initialized\x20-\x20enabled:\x20'+this[_0x14fbe5(0x18e)]);}['_ensureInitialized'](){const _0x5c5ac3=a0_0x1603ac;if(!this[_0x5c5ac3(0x181)])this[_0x5c5ac3(0x1bb)]();}get[a0_0x1603ac(0x196)](){const _0x25f969=a0_0x1603ac;return this['_ensureInitialized'](),this[_0x25f969(0x18e)];}get['keyPrefix'](){const _0x58f43f=a0_0x1603ac;return this[_0x58f43f(0x15b)](),this['_keyPrefix'];}get[a0_0x1603ac(0x137)](){const _0x229af4=a0_0x1603ac;return this['_ensureInitialized'](),this[_0x229af4(0x1ba)];}get[a0_0x1603ac(0xf4)](){const _0xf606c7=a0_0x1603ac;return this[_0xf606c7(0x15b)](),this['_allowReset'];}get[a0_0x1603ac(0x175)](){const _0x3ac6c1=a0_0x1603ac;return this['_ensureInitialized'](),this[_0x3ac6c1(0x188)];}get['defaultPinDigits'](){return this['_ensureInitialized'](),this['_defaultPinDigits'];}get['defaultSerialPattern'](){const _0x32c796=a0_0x1603ac;return this['_ensureInitialized'](),this[_0x32c796(0xd8)];}get[a0_0x1603ac(0x1d9)](){return this['_ensureInitialized'](),this['_defaultCodePattern'];}get[a0_0x1603ac(0x138)](){const _0x52c007=a0_0x1603ac;return this[_0x52c007(0x15b)](),this[_0x52c007(0xcf)];}get['reserveMaxTTL'](){return this['_ensureInitialized'](),this['_reserveMaxTTL'];}[a0_0x1603ac(0x10b)](){return this['enabled'];}['_validateResource'](_0x52c5d8){const _0x22b59e=a0_0x1603ac;if(typeof _0x52c5d8!==_0x22b59e(0x1b8)||!RESOURCE_REGEX[_0x22b59e(0x170)](_0x52c5d8))throw new IdGeneratorError('IDGEN_INVALID_RESOURCE','Invalid\x20resource:\x20must\x20match\x20'+RESOURCE_REGEX+_0x22b59e(0x1e9)+JSON[_0x22b59e(0xe0)](_0x52c5d8)+')');}[a0_0x1603ac(0x14d)](_0x1762ce){const _0x1627da=a0_0x1603ac,_0x34cd0c={'WkCQt':'string','XxpPz':'IDGEN_INVALID_NUM_DIGITS','FQDom':function(_0x23a7fd,_0x204902){return _0x23a7fd==_0x204902;},'VxeVQ':function(_0x16a1fa,_0x53a697){return _0x16a1fa!==_0x53a697;},'hMkOS':function(_0x2c7db2,_0x404a63){return _0x2c7db2===_0x404a63;}},{resource:_0x589f4a,format:_0x4f4d39,prefix:_0x52b310,separator:_0x2f347d,numDigits:_0x56559a,reuseDelete:_0x44110a}=_0x1762ce;this[_0x1627da(0x1c6)](_0x589f4a);const _0x3c516e=typeof _0x4f4d39===_0x34cd0c['WkCQt']?_0x4f4d39['toLowerCase']():'';if(!ALLOWED_FORMATS['has'](_0x3c516e))throw new IdGeneratorError(_0x1627da(0x14f),'Invalid\x20format:\x20must\x20be\x20one\x20of\x20'+[...ALLOWED_FORMATS]['join'](',\x20')+'\x20(got:\x20'+_0x4f4d39+')');if(!Number[_0x1627da(0x1a6)](_0x56559a)||_0x56559a<MIN_NUM_DIGITS||_0x56559a>MAX_NUM_DIGITS)throw new IdGeneratorError(_0x34cd0c[_0x1627da(0x1e2)],_0x1627da(0x125)+MIN_NUM_DIGITS+'-'+MAX_NUM_DIGITS+'\x20(got:\x20'+_0x56559a+')');const _0x5943ea=_0x34cd0c['FQDom'](_0x52b310,null)?'':_0x52b310;if(typeof _0x5943ea!==_0x34cd0c[_0x1627da(0x178)]||!PREFIX_REGEX[_0x1627da(0x170)](_0x5943ea))throw new IdGeneratorError(_0x1627da(0x15c),_0x1627da(0xd5)+PREFIX_REGEX+_0x1627da(0x1e9)+JSON['stringify'](_0x52b310)+')');const _0x4986f6=_0x2f347d==null?'':_0x2f347d;if(_0x34cd0c[_0x1627da(0x17e)](typeof _0x4986f6,_0x34cd0c['WkCQt'])||_0x4986f6['length']>0x3||SEPARATOR_FORBIDDEN[_0x1627da(0x170)](_0x4986f6))throw new IdGeneratorError(_0x1627da(0x15d),_0x1627da(0x18b)+JSON['stringify'](_0x2f347d)+')');if(_0x44110a!=null&&typeof _0x44110a!=='boolean')throw new IdGeneratorError(_0x1627da(0x1e7),_0x1627da(0x140)+typeof _0x44110a+')');return{'resource':_0x589f4a,'format':_0x3c516e,'prefix':_0x5943ea,'separator':_0x4986f6,'numDigits':_0x56559a,'reuseDelete':_0x34cd0c['hMkOS'](_0x44110a,!![])};}[a0_0x1603ac(0x171)](_0x52e323){const _0x3f084f=a0_0x1603ac,_0x504c4c={'nsXPX':function(_0xffeefa,_0x1b88ca){return _0xffeefa!==_0x1b88ca;},'IXkob':function(_0x21e046,_0x5c6a79){return _0x21e046===_0x5c6a79;},'Ihbba':function(_0x213894,_0x17156d){return _0x213894>_0x17156d;},'iZwHp':'IDGEN_INVALID_PATTERN'};if(_0x504c4c[_0x3f084f(0x148)](typeof _0x52e323,'string')||_0x504c4c[_0x3f084f(0xf9)](_0x52e323[_0x3f084f(0xfd)],0x0)||_0x504c4c['Ihbba'](_0x52e323['length'],MAX_PATTERN_LENGTH))throw new IdGeneratorError(_0x504c4c['iZwHp'],'Invalid\x20pattern:\x20must\x20be\x20string\x201-'+MAX_PATTERN_LENGTH+_0x3f084f(0x1ae)+(_0x52e323&&_0x52e323['length'])+')');let _0x3ddedc=![];for(const _0x54ebf5 of _0x52e323){if(PLACEHOLDER_MAP[_0x54ebf5]){_0x3ddedc=!![];break;}}if(!_0x3ddedc)throw new IdGeneratorError(_0x3f084f(0x144),'Invalid\x20pattern:\x20must\x20contain\x20at\x20least\x20one\x20placeholder\x20character\x20(9/N/A/a/L/X/x/H/h)');}['_validateTTL'](_0x4e3db8){const _0x553352=a0_0x1603ac,_0x13ec43={'xujRa':function(_0x55bdc6,_0x149bf3){return _0x55bdc6==_0x149bf3;},'ZwfmJ':function(_0x1a0579,_0x1b8a19){return _0x1a0579>_0x1b8a19;}};if(_0x13ec43[_0x553352(0x1c7)](_0x4e3db8,null))return undefined;if(!Number[_0x553352(0x1a6)](_0x4e3db8)||_0x4e3db8<0x1||_0x13ec43['ZwfmJ'](_0x4e3db8,MAX_TTL))throw new IdGeneratorError(_0x553352(0x156),_0x553352(0x11e)+MAX_TTL+_0x553352(0x129)+_0x4e3db8+')');return _0x4e3db8;}[a0_0x1603ac(0x14c)](_0x48feb9){const _0x5ce7f6=a0_0x1603ac,_0x1ce0ad={'TwHvN':function(_0x2586c0,_0x5c852d){return _0x2586c0==_0x5c852d;},'iaJXp':function(_0x296b49,_0x11a6d8){return _0x296b49<_0x11a6d8;}};if(_0x1ce0ad[_0x5ce7f6(0x128)](_0x48feb9,null))return this['defaultMaxRetry'];if(!Number['isInteger'](_0x48feb9)||_0x1ce0ad['iaJXp'](_0x48feb9,0x1)||_0x48feb9>MAX_RETRY_LIMIT)throw new IdGeneratorError(_0x5ce7f6(0x126),_0x5ce7f6(0x1d0)+MAX_RETRY_LIMIT+'\x20(got:\x20'+_0x48feb9+')');return _0x48feb9;}['_validateIdempotencyKey'](_0x52a8d1){const _0x46eaa8=a0_0x1603ac,_0x599d80={'HgUMH':'string','tCkVN':function(_0x161e63,_0x141c7e){return _0x161e63===_0x141c7e;}};if(_0x52a8d1==null)return undefined;if(typeof _0x52a8d1!==_0x599d80['HgUMH']||_0x599d80['tCkVN'](_0x52a8d1[_0x46eaa8(0xfd)],0x0)||_0x52a8d1['length']>MAX_IDEMPOTENCY_KEY_LENGTH)throw new IdGeneratorError('IDGEN_INVALID_RESOURCE',_0x46eaa8(0x19c)+MAX_IDEMPOTENCY_KEY_LENGTH+_0x46eaa8(0x1a4));return _0x52a8d1;}[a0_0x1603ac(0x18f)](_0x45c056){const _0x46bd6a=a0_0x1603ac,_0xca531b={'vbXuu':function(_0x448c17,_0x12fec3){return _0x448c17==_0x12fec3;}};if(_0xca531b[_0x46bd6a(0x139)](_0x45c056,null))return this[_0x46bd6a(0x138)];if(!Number['isInteger'](_0x45c056)||_0x45c056<MIN_RESERVE_TTL||_0x45c056>this[_0x46bd6a(0x1c4)])throw new IdGeneratorError('IDGEN_INVALID_RESERVE_TTL','Invalid\x20reservation\x20ttl:\x20must\x20be\x20integer\x20'+MIN_RESERVE_TTL+'-'+this['reserveMaxTTL']+_0x46bd6a(0x129)+_0x45c056+')');return _0x45c056;}['_validateReservationToken'](_0x27018e){const _0x4f0a0b=a0_0x1603ac;if(typeof _0x27018e!=='string'||!RESERVATION_TOKEN_REGEX[_0x4f0a0b(0x170)](_0x27018e))throw new IdGeneratorError(_0x4f0a0b(0x136),'Invalid\x20reservation\x20token:\x20must\x20be\x20a\x20valid\x20UUID\x20format\x20(got:\x20'+JSON['stringify'](_0x27018e)+')');return _0x27018e;}[a0_0x1603ac(0x182)](_0xa15dff){const _0x4fc384=a0_0x1603ac;return String(_0xa15dff)[_0x4fc384(0x1ce)](0x2,'0');}[a0_0x1603ac(0x193)](_0x388cae,_0x4c65f6,_0x1b2f26=new Date()){const _0x4e6e0a=a0_0x1603ac,_0x8fae9e={'dOMDs':function(_0x2ef27c,_0xa6b99b){return _0x2ef27c||_0xa6b99b;},'IynEI':_0x4e6e0a(0x191),'ZiIhn':'yyyy'},_0x4e40f2=_0x1b2f26[_0x4e6e0a(0x17d)](),_0x685adb=this[_0x4e6e0a(0x182)](_0x1b2f26['getMonth']()+0x1),_0x1e9f81=this[_0x4e6e0a(0x182)](_0x1b2f26[_0x4e6e0a(0x1de)]()),_0x470639=_0x8fae9e[_0x4e6e0a(0x1e6)](_0x4c65f6,'_');let _0x9e2b6a,_0x3ef6eb='';switch(_0x388cae){case _0x8fae9e[_0x4e6e0a(0x1d5)]:_0x9e2b6a=_0x470639+_0x4e6e0a(0x13a);break;case _0x8fae9e[_0x4e6e0a(0x198)]:_0x3ef6eb=''+_0x4e40f2,_0x9e2b6a=_0x470639+'_yyyy_'+_0x3ef6eb;break;case _0x4e6e0a(0xe4):_0x3ef6eb=''+_0x4e40f2+_0x685adb,_0x9e2b6a=_0x470639+'_yyyymm_'+_0x3ef6eb;break;case'yyyymmdd':_0x3ef6eb=''+_0x4e40f2+_0x685adb+_0x1e9f81,_0x9e2b6a=_0x470639+'_yyyymmdd_'+_0x3ef6eb;break;default:throw new IdGeneratorError('IDGEN_INVALID_FORMAT',_0x4e6e0a(0xd7)+_0x388cae);}return{'formatKey':_0x9e2b6a,'datePrefix':_0x3ef6eb};}['_buildSeqKey'](_0x56fe47,_0x86ed9a){const _0x2c3fe9=a0_0x1603ac;return this[_0x2c3fe9(0xe8)]+_0x2c3fe9(0x103)+_0x56fe47+':'+_0x86ed9a;}['_buildReuseKey'](_0x5976bf,_0x2783a4){const _0x1bf2cc=a0_0x1603ac;return this['keyPrefix']+_0x1bf2cc(0xd1)+_0x5976bf+':'+_0x2783a4;}[a0_0x1603ac(0x14b)](_0xea66b9,_0x1d6adc){const _0x2289ab=a0_0x1603ac;return this[_0x2289ab(0xe8)]+_0x2289ab(0x151)+_0xea66b9+':'+_0x1d6adc;}['_buildIssuedKey'](_0x271fdb){const _0x32eee5=a0_0x1603ac;return this[_0x32eee5(0xe8)]+_0x32eee5(0x15a)+_0x271fdb;}['_buildActiveKey'](_0x3f48af,_0x18451a){const _0x31e4ba=a0_0x1603ac;return this[_0x31e4ba(0xe8)]+_0x31e4ba(0x12e)+_0x3f48af+':'+_0x18451a;}[a0_0x1603ac(0x154)](_0x5b9e15){const _0x2b0d8e=a0_0x1603ac;return this[_0x2b0d8e(0xe8)]+'rsv:'+_0x5b9e15;}['_buildReservationIndexKey'](_0x390047,_0x1cef00){return this['keyPrefix']+'rsv_idx:'+_0x390047+':'+_0x1cef00;}[a0_0x1603ac(0xf7)](){return this['keyPrefix']+'rsv:';}['_buildIdemKey'](_0x27a2fd,_0x18c6f6,_0x49183b,_0x27d6e8){const _0x2d1edd=a0_0x1603ac,_0x39e4ff={'qmIxc':_0x2d1edd(0xe9)};if(_0x49183b)return idempotencyManager['buildDeterministicKey'](_0x39e4ff[_0x2d1edd(0x1a9)],_0x27a2fd,_0x18c6f6+':'+_0x49183b+':'+_0x27d6e8);return idempotencyManager['buildDeterministicKey'](_0x39e4ff['qmIxc'],_0x27a2fd,_0x18c6f6+':'+_0x27d6e8);}[a0_0x1603ac(0x1ca)](_0x433abb){const _0x6861af=a0_0x1603ac;return this[_0x6861af(0x134)][_0x433abb]||0x0;}['_formatNumber']({format:_0x392431,prefix:_0x32e367,datePrefix:_0x4a80a1,separator:_0xbedd77,numDigits:_0x273d19,counterInt:_0x1c55d5}){const _0x264d46=a0_0x1603ac,_0x29b192={'XCFoC':function(_0x2eeb1e,_0x180b6f){return _0x2eeb1e>_0x180b6f;},'DswOo':'IDGEN_COUNTER_OVERFLOW','xzldf':function(_0x33f2fb,_0x2b15e8){return _0x33f2fb(_0x2b15e8);}},_0x20e806=Math['pow'](0xa,_0x273d19)-0x1;if(_0x29b192[_0x264d46(0x12c)](_0x1c55d5,_0x20e806))throw new IdGeneratorError(_0x29b192['DswOo'],_0x264d46(0x1da)+_0x1c55d5+'\x20exceeds\x20'+_0x273d19+'-digit\x20capacity\x20('+_0x20e806+').\x20Increase\x20numDigits.',{'counterInt':_0x1c55d5,'numDigits':_0x273d19,'max':_0x20e806});const _0x5083bd=_0x29b192[_0x264d46(0x10a)](String,_0x1c55d5)[_0x264d46(0x1ce)](_0x273d19,'0');if(_0x392431===_0x264d46(0x191))return _0x32e367?''+_0x32e367+_0xbedd77+_0x5083bd:_0x5083bd;return _0x32e367?''+_0x32e367+_0xbedd77+_0x4a80a1+_0xbedd77+_0x5083bd:''+_0x4a80a1+_0xbedd77+_0x5083bd;}[a0_0x1603ac(0x15e)]({format:_0x5cb659,prefix:_0x11943c,separator:_0x3f0762,numDigits:_0x437e47,number:_0x40e3ab}){const _0x37d29b=a0_0x1603ac,_0x2500d5={'lgnFe':_0x37d29b(0x1b8),'AsxCA':function(_0x27b184,_0x9278a){return _0x27b184===_0x9278a;},'DpwJO':'IDGEN_INVALID_NUMBER','bnbaW':function(_0x2c1781,_0x310122){return _0x2c1781!==_0x310122;},'ByHMm':_0x37d29b(0x17f),'zGkmZ':function(_0x14b92c,_0x3f830f){return _0x14b92c===_0x3f830f;}};if(typeof _0x40e3ab!==_0x2500d5['lgnFe']||_0x2500d5[_0x37d29b(0x11a)](_0x40e3ab['length'],0x0))throw new IdGeneratorError(_0x2500d5['DpwJO'],'Invalid\x20number:\x20must\x20be\x20non-empty\x20string');const _0xcff8ac=_0x3f0762||'',_0x1094ae=_0x2500d5[_0x37d29b(0x11a)](_0xcff8ac,'')?[_0x40e3ab]:_0x40e3ab[_0x37d29b(0x164)](_0xcff8ac);let _0x207990='',_0x2eaef5;if(_0x5cb659===_0x37d29b(0x191)){if(_0x11943c){if(_0x2500d5['bnbaW'](_0x1094ae['length'],0x2)||_0x2500d5['bnbaW'](_0x1094ae[0x0],_0x11943c))throw new IdGeneratorError(_0x2500d5['DpwJO'],_0x37d29b(0x142)+_0xcff8ac+'padded\x20(got:\x20'+_0x40e3ab+')');_0x2eaef5=_0x1094ae[0x1];}else{if(_0x2500d5[_0x37d29b(0x115)](_0x1094ae[_0x37d29b(0xfd)],0x1))throw new IdGeneratorError('IDGEN_INVALID_NUMBER',_0x37d29b(0x123)+_0x40e3ab+')');_0x2eaef5=_0x1094ae[0x0];}}else{const _0x163ba4=_0x11943c?0x3:0x2;if(_0x1094ae['length']!==_0x163ba4)throw new IdGeneratorError(_0x37d29b(0x1c2),'Number\x20does\x20not\x20match\x20expected\x20format\x20(got:\x20'+_0x40e3ab+_0x37d29b(0x119)+_0x163ba4+_0x37d29b(0x100));let _0x37d00e=0x0;if(_0x11943c){if(_0x1094ae[_0x37d00e]!==_0x11943c)throw new IdGeneratorError('IDGEN_INVALID_NUMBER',_0x37d29b(0x10e)+_0x11943c+_0x37d29b(0x1aa)+_0x1094ae[_0x37d00e]);_0x37d00e++;}_0x207990=_0x1094ae[_0x37d00e++];const _0x2b253a=_0x5cb659===_0x2500d5['ByHMm']?/^\d{4}$/:_0x2500d5['zGkmZ'](_0x5cb659,'yyyymm')?/^\d{6}$/:/^\d{8}$/;if(!_0x2b253a['test'](_0x207990))throw new IdGeneratorError(_0x2500d5[_0x37d29b(0x111)],_0x37d29b(0x157)+_0x5cb659+':\x20'+_0x207990);_0x2eaef5=_0x1094ae[_0x37d00e];}if(!new RegExp('^\x5cd{'+_0x437e47+'}$')[_0x37d29b(0x170)](_0x2eaef5))throw new IdGeneratorError(_0x2500d5['DpwJO'],'Number\x20counter\x20part\x20must\x20be\x20exactly\x20'+_0x437e47+_0x37d29b(0xfe)+_0x2eaef5+')');const _0x23ac88=parseInt(_0x2eaef5,0xa),_0xe0234=_0x11943c||'_';let _0x1db97a;return _0x5cb659===_0x37d29b(0x191)?_0x1db97a=_0xe0234+'_text':_0x1db97a=_0xe0234+'_'+_0x5cb659+'_'+_0x207990,{'formatKey':_0x1db97a,'counterInt':_0x23ac88,'datePrefix':_0x207990};}[a0_0x1603ac(0x168)](_0x4e08a6){const _0x57ab61=a0_0x1603ac;let _0xe4f96c='';for(const _0x4efbcc of _0x4e08a6){const _0x3ed7d4=PLACEHOLDER_MAP[_0x4efbcc];if(_0x3ed7d4){const _0x170b73=crypto[_0x57ab61(0x1d7)](0x0,_0x3ed7d4[_0x57ab61(0xfd)]);_0xe4f96c+=_0x3ed7d4[_0x170b73];}else _0xe4f96c+=_0x4efbcc;}return _0xe4f96c;}async[a0_0x1603ac(0x113)](_0x521b6c){const _0x5aa07f=a0_0x1603ac,_0x5b6718={'xonaa':'Idempotency\x20cache\x20HIT','aWXzk':'idgen_idem_retrieve_error','uPhqr':_0x5aa07f(0x167)};if(!_0x521b6c)return null;try{const _0x5b9d3e=redisClient[_0x5aa07f(0x166)](),_0x59393=await _0x5b9d3e[_0x5aa07f(0xdf)](_0x521b6c);if(_0x59393)return logger['info']({'event':'idgen_idem_hit','key':_0x521b6c},_0x5b6718[_0x5aa07f(0x1cb)]),JSON[_0x5aa07f(0x1ac)](_0x59393);return null;}catch(_0x2bd9b0){return logger[_0x5aa07f(0x10d)]({'event':_0x5b6718['aWXzk'],'error':_0x2bd9b0[_0x5aa07f(0x17a)]},_0x5b6718[_0x5aa07f(0x1bd)]),null;}}async[a0_0x1603ac(0x1a1)](_0x256d83,_0x20534a){const _0x1f0161=a0_0x1603ac,_0x1be64b={'oqqZA':'idgen_idem_store_error'};if(!_0x256d83)return;try{const _0x1d336d=redisClient[_0x1f0161(0x166)]();await _0x1d336d[_0x1f0161(0x13e)](_0x256d83,this[_0x1f0161(0x137)],JSON['stringify'](_0x20534a));}catch(_0xf3b959){logger[_0x1f0161(0x10d)]({'event':_0x1be64b[_0x1f0161(0xda)],'error':_0xf3b959['message']},'Idempotency\x20store\x20error');}}async['_storeIdemCacheNX'](_0x208fed,_0x3f9790){const _0x5954c3=a0_0x1603ac,_0xa2d193={'piUog':function(_0x54f7bf,_0xc0a67a){return _0x54f7bf===_0xc0a67a;},'gdpuZ':_0x5954c3(0x135),'MgXLO':'Idempotency\x20SET\x20NX\x20error'};if(!_0x208fed)return{'stored':!![],'winnerResult':null};try{const _0x2c3579=redisClient[_0x5954c3(0x166)](),_0x1105e1=JSON['stringify'](_0x3f9790),_0x1bec28=await _0x2c3579[_0x5954c3(0xe6)](_0x208fed,_0x1105e1,'EX',this[_0x5954c3(0x137)],'NX');if(_0xa2d193['piUog'](_0x1bec28,'OK'))return{'stored':!![],'winnerResult':null};const _0x2ece3a=await _0x2c3579['get'](_0x208fed);if(_0x2ece3a)return{'stored':![],'winnerResult':JSON['parse'](_0x2ece3a)};return logger[_0x5954c3(0x10d)]({'event':_0xa2d193[_0x5954c3(0xfc)],'key':_0x208fed},'SET\x20NX\x20failed\x20but\x20cache\x20GET\x20returned\x20empty\x20—\x20falling\x20back\x20to\x20own\x20result'),{'stored':!![],'winnerResult':null};}catch(_0x20a189){return logger[_0x5954c3(0x10d)]({'event':'idgen_idem_storenx_error','error':_0x20a189[_0x5954c3(0x17a)]},_0xa2d193[_0x5954c3(0xd4)]),{'stored':!![],'winnerResult':null};}}async['_undoRandomReservation'](_0x510080,_0x30c0ca,_0x3eeb47){const _0x2d9acd=a0_0x1603ac,_0x246f38={'cWnjg':'Random\x20reservation\x20undo\x20error\x20(orphan\x20slot\x20may\x20remain)'};try{const _0x557440=redisClient['getClient']();if(_0x3eeb47){const _0x130d7d=this['_buildActiveKey'](_0x510080,_0x30c0ca);await _0x557440[_0x2d9acd(0x16a)](_0x130d7d);}else{const _0x37f870=this[_0x2d9acd(0x19d)](_0x510080);await _0x557440['srem'](_0x37f870,_0x30c0ca);}}catch(_0x8c88bb){logger['warn']({'event':'idgen_random_undo_error','error':_0x8c88bb['message']},_0x246f38['cWnjg']);}}async[a0_0x1603ac(0x165)](_0x3613ad,_0x402298,_0x128065,_0x58470d=0x0){const _0x9b4948=a0_0x1603ac,_0xeaf651={'cizLO':function(_0x4eb892,_0x3f34ca){return _0x4eb892(_0x3f34ca);},'ymWFq':function(_0x27382d,_0x2a75aa){return _0x27382d>_0x2a75aa;},'DvFgq':_0x9b4948(0x199),'EfmPf':_0x9b4948(0x10f)};try{const _0xbf8e13=redisClient['getClient'](),_0xf3fb3a=this[_0x9b4948(0x14b)](_0x3613ad,_0x402298),_0x4d674b=[];for(const [_0x3699e0,_0x132203]of Object['entries'](_0x128065)){_0x4d674b[_0x9b4948(0x179)](_0x3699e0,_0xeaf651[_0x9b4948(0x1e5)](String,_0x132203));}if(_0xeaf651['ymWFq'](_0x4d674b[_0x9b4948(0xfd)],0x0)){await _0xbf8e13['hset'](_0xf3fb3a,..._0x4d674b);if(_0x58470d>0x0)await _0xbf8e13['expire'](_0xf3fb3a,_0x58470d);}}catch(_0x1e2038){logger['warn']({'event':_0xeaf651[_0x9b4948(0x122)],'error':_0x1e2038[_0x9b4948(0x17a)]},_0xeaf651[_0x9b4948(0x11d)]);}}async[a0_0x1603ac(0x1c1)](_0x1e9f4a){const _0x30869e=a0_0x1603ac,_0x15d934={'GQPPG':'IDGEN_DISABLED','jvELi':_0x30869e(0xea),'yPwFh':_0x30869e(0x1c1),'Ossya':function(_0x9809bd,_0x1177db){return _0x9809bd===_0x1177db;},'EKNpL':function(_0xf81468,_0x180268){return _0xf81468(_0x180268);}};if(!this[_0x30869e(0x196)])throw new IdGeneratorError(_0x15d934['GQPPG'],_0x15d934[_0x30869e(0xff)]);const _0x294233=this['_validateNumberParams'](_0x1e9f4a),_0x4f99b4=this['_validateIdempotencyKey'](_0x1e9f4a['idempotencyKey']),{resource:_0x572b8e,format:_0x8c2415,prefix:_0x1ee9e4,separator:_0x4cdd49,numDigits:_0xe6dc24,reuseDelete:_0x1bb795}=_0x294233,{formatKey:_0x35f551,datePrefix:_0x196cb9}=this['_buildFormatKey'](_0x8c2415,_0x1ee9e4),_0x1ec63d=this['_buildSeqKey'](_0x572b8e,_0x35f551),_0x5a8825=this['_buildReuseKey'](_0x572b8e,_0x35f551),_0x34bea5=this[_0x30869e(0x1ca)](_0x8c2415);let _0x14691a=null;if(_0x4f99b4){_0x14691a=this['_buildIdemKey'](_0x15d934[_0x30869e(0x197)],_0x572b8e,_0x35f551,_0x4f99b4);const _0x9b35db=await this['_retrieveIdemCache'](_0x14691a);if(_0x9b35db)return _0x9b35db;}const _0x2067b0=redisClient['getClient'](),_0x34edcc=await _0x2067b0['eval'](LUA_GENERATE_NUMBER,0x2,_0x1ec63d,_0x5a8825,_0x1bb795?'1':'0',String(_0x34bea5)),_0x18b92a=_0x34edcc[0x0],_0x461b87=_0x15d934['Ossya'](_0x34edcc[0x1],0x1),_0xfd7ae5=this[_0x30869e(0x174)]({'format':_0x8c2415,'prefix':_0x1ee9e4,'datePrefix':_0x196cb9,'separator':_0x4cdd49,'numDigits':_0xe6dc24,'counterInt':_0x18b92a}),_0x3384ec={'value':_0xfd7ae5,'counter':_0x18b92a,'resource':_0x572b8e,'formatKey':_0x35f551,'isReused':_0x461b87,'generatedAt':new Date()[_0x30869e(0x110)]()},_0x3aafd1=await this[_0x30869e(0xf0)](_0x14691a,_0x3384ec);if(!_0x3aafd1[_0x30869e(0x127)]){try{await _0x2067b0['eval'](LUA_RELEASE_NUMBER,0x1,_0x5a8825,String(_0x18b92a),_0x15d934['EKNpL'](String,_0x34bea5));}catch(_0x42f5b1){logger[_0x30869e(0x10d)]({'event':_0x30869e(0x1b4),'error':_0x42f5b1[_0x30869e(0x17a)],'resource':_0x572b8e,'formatKey':_0x35f551,'counterInt':_0x18b92a},'Failed\x20to\x20release\x20counter\x20for\x20idempotency\x20loser');}return logger['info']({'event':'idgen_number_idem_loser','resource':_0x572b8e,'formatKey':_0x35f551,'counter':_0x18b92a},'ID\x20Generator\x20number\x20idem\x20race\x20lost,\x20returning\x20winner\x20envelope'),_0x3aafd1[_0x30869e(0xd3)];}return this['_updateMeta'](_0x572b8e,_0x35f551,{'lastValue':_0xfd7ae5,'lastCounter':_0x18b92a,'lastIsReused':_0x461b87,'lastGeneratedAt':_0x3384ec['generatedAt']},_0x34bea5),logger[_0x30869e(0x1dd)]({'event':_0x30869e(0x107),'resource':_0x572b8e,'formatKey':_0x35f551,'counter':_0x18b92a,'isReused':_0x461b87},_0x30869e(0x11b)+_0xfd7ae5),_0x3384ec;}async[a0_0x1603ac(0x162)](_0x48931b){const _0x50d7c0=a0_0x1603ac,_0x5a3804={'WJHAX':_0x50d7c0(0x1c5),'VDVrn':'ID\x20Generator\x20is\x20disabled','jdSvi':function(_0x3fe703,_0x1127d1){return _0x3fe703!==_0x1127d1;},'qBqKV':_0x50d7c0(0x1b8),'weIqG':'IDGEN_INVALID_NUMBER','SCNTz':function(_0x203814,_0x1d620b){return _0x203814<_0x1d620b;},'qXPSe':'text','fCbcg':function(_0x4ad100,_0x7560ec){return _0x4ad100(_0x7560ec);}};if(!this['enabled'])throw new IdGeneratorError(_0x5a3804['WJHAX'],_0x5a3804[_0x50d7c0(0x112)]);let _0x140d90,_0x309dd6,_0xec7f9e,_0x46388a;const _0x582ceb=this['_validateIdempotencyKey'](_0x48931b['idempotencyKey']);if(_0x5a3804['jdSvi'](_0x48931b[_0x50d7c0(0x131)],undefined)&&_0x48931b['counterInt']!==null){this[_0x50d7c0(0x1c6)](_0x48931b[_0x50d7c0(0xdc)]),_0x140d90=_0x48931b[_0x50d7c0(0xdc)];if(typeof _0x48931b['formatKey']!==_0x5a3804[_0x50d7c0(0xeb)]||_0x48931b[_0x50d7c0(0x1b2)][_0x50d7c0(0xfd)]===0x0)throw new IdGeneratorError(_0x5a3804['weIqG'],_0x50d7c0(0x108));_0x309dd6=_0x48931b[_0x50d7c0(0x1b2)];if(!Number[_0x50d7c0(0x1a6)](_0x48931b['counterInt'])||_0x5a3804[_0x50d7c0(0x11c)](_0x48931b[_0x50d7c0(0x131)],0x1))throw new IdGeneratorError(_0x5a3804['weIqG'],_0x50d7c0(0x17b)+_0x48931b[_0x50d7c0(0x131)]+')');_0xec7f9e=_0x48931b[_0x50d7c0(0x131)];const _0x1c61e7=_0x309dd6['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/);_0x46388a=_0x1c61e7?_0x1c61e7[0x1]:_0x5a3804['qXPSe'];}else{const _0x4d07ea=this['_validateNumberParams'](_0x48931b),_0x533f76=this[_0x50d7c0(0x15e)]({'format':_0x4d07ea['format'],'prefix':_0x4d07ea['prefix'],'separator':_0x4d07ea['separator'],'numDigits':_0x4d07ea[_0x50d7c0(0x160)],'number':_0x48931b['number']});_0x140d90=_0x4d07ea[_0x50d7c0(0xdc)],_0x309dd6=_0x533f76[_0x50d7c0(0x1b2)],_0xec7f9e=_0x533f76['counterInt'],_0x46388a=_0x4d07ea['format'];}const _0x3c30e2=this[_0x50d7c0(0xd9)](_0x140d90,_0x309dd6),_0x2045ba=this['_getCounterTTL'](_0x46388a);let _0x3246fb=null;if(_0x582ceb){_0x3246fb=this['_buildIdemKey']('release',_0x140d90,_0x309dd6,_0x582ceb);const _0x4fc56e=await this[_0x50d7c0(0x113)](_0x3246fb);if(_0x4fc56e)return _0x4fc56e;}const _0x3c3cb2=redisClient['getClient']();await _0x3c3cb2['eval'](LUA_RELEASE_NUMBER,0x1,_0x3c30e2,String(_0xec7f9e),_0x5a3804['fCbcg'](String,_0x2045ba));const _0x5c1164={'released':!![],'resource':_0x140d90,'formatKey':_0x309dd6,'counter':_0xec7f9e,'releasedAt':new Date()['toISOString']()};return await this['_storeIdemCache'](_0x3246fb,_0x5c1164),this['_updateMeta'](_0x140d90,_0x309dd6,{'lastReleasedCounter':_0xec7f9e,'lastReleasedAt':_0x5c1164[_0x50d7c0(0x101)]},_0x2045ba),logger['info']({'event':'idgen_number_released','resource':_0x140d90,'formatKey':_0x309dd6,'counter':_0xec7f9e},'ID\x20Generator\x20number\x20released:\x20'+_0xec7f9e),_0x5c1164;}async[a0_0x1603ac(0x1e1)](_0x453da6){const _0x260751=a0_0x1603ac,_0x3f5d27={'TTJgJ':'IDGEN_DISABLED','lplIM':'reserve','lgdnE':function(_0x21eee2,_0x57def2){return _0x21eee2*_0x57def2;},'uqidY':'resource','MWvwr':'formatKey','azYtM':'separator','eJpOc':function(_0x517f81,_0x35f4fd){return _0x517f81(_0x35f4fd);},'WsSpv':'createdAt','ftRzn':_0x260751(0x1d8),'YINMp':_0x260751(0x163),'lhDLu':'idemKey','EZhRj':function(_0x3f5341,_0x2f9b5d){return _0x3f5341(_0x2f9b5d);},'RYWxS':function(_0x3b039e,_0x156b64){return _0x3b039e===_0x156b64;},'lLdDY':'idgen_reserve_overflow_compensation_error','Kzdiy':'Failed\x20to\x20compensate\x20reservation\x20after\x20counter\x20overflow','FPNRv':_0x260751(0x14e),'EuEux':_0x260751(0x16e)};if(!this['enabled'])throw new IdGeneratorError(_0x3f5d27[_0x260751(0x10c)],'ID\x20Generator\x20is\x20disabled\x20(set\x20IDGEN_ENABLED=true)');const _0x3b14b0=this[_0x260751(0x14d)](_0x453da6),_0x2c5a21=this['_validateReserveTTL'](_0x453da6['ttl']),_0x5b2c45=this['_validateIdempotencyKey'](_0x453da6['idempotencyKey']),{resource:_0x46a35d,format:_0x58fd7b,prefix:_0x59587f,separator:_0x1ae022,numDigits:_0x54f3e7,reuseDelete:_0x3acbf2}=_0x3b14b0,{formatKey:_0xd8672f,datePrefix:_0x552245}=this['_buildFormatKey'](_0x58fd7b,_0x59587f),_0x1dfcaf=this['_buildSeqKey'](_0x46a35d,_0xd8672f),_0x48988b=this[_0x260751(0xd9)](_0x46a35d,_0xd8672f),_0x223c10=this['_buildReservationIndexKey'](_0x46a35d,_0xd8672f),_0x246ce9=this['_getCounterTTL'](_0x58fd7b);let _0xa07e7f=null;if(_0x5b2c45){_0xa07e7f=this[_0x260751(0x1c8)](_0x3f5d27['lplIM'],_0x46a35d,_0xd8672f,_0x5b2c45);const _0x4ca846=await this['_retrieveIdemCache'](_0xa07e7f);if(_0x4ca846)return _0x4ca846;}const _0x58a729=crypto[_0x260751(0xf3)](),_0x33983f=this[_0x260751(0x154)](_0x58a729),_0x15bf94=this[_0x260751(0xf7)](),_0x305eb6=Date['now'](),_0x489bc5=_0x305eb6+_0x3f5d27[_0x260751(0x18c)](_0x2c5a21,0x3e8),_0x4ce464=_0x2c5a21*0x3e8,_0x25ac03=new Date(_0x305eb6)[_0x260751(0x110)](),_0x332f8e=new Date(_0x489bc5)[_0x260751(0x110)](),_0x58f9ee=[_0x3f5d27['uqidY'],_0x46a35d,_0x3f5d27[_0x260751(0xfa)],_0xd8672f,_0x260751(0x192),_0x58fd7b,'prefix',_0x59587f,_0x3f5d27['azYtM'],_0x1ae022,'numDigits',_0x3f5d27['eJpOc'](String,_0x54f3e7),'datePrefix',_0x552245||'',_0x3f5d27['WsSpv'],_0x25ac03,_0x3f5d27[_0x260751(0x190)],_0x332f8e,_0x3f5d27[_0x260751(0xd2)],String(_0x4ce464)];_0x5b2c45&&_0x58f9ee[_0x260751(0x179)](_0x3f5d27[_0x260751(0x1bc)],_0x5b2c45);const _0x4b2575=redisClient['getClient'](),_0x3ff3d5=await _0x4b2575['eval'](LUA_RESERVE_NUMBER,0x3,_0x1dfcaf,_0x48988b,_0x223c10,_0x3acbf2?'1':'0',_0x3f5d27['eJpOc'](String,_0x246ce9),_0x58a729,_0x33983f,String(_0x4ce464),_0x3f5d27[_0x260751(0x1d6)](String,_0x489bc5),String(_0x305eb6),_0x15bf94,..._0x58f9ee),_0x24c27e=_0x3ff3d5[0x0],_0x44c184=_0x3f5d27[_0x260751(0x116)](_0x3ff3d5[0x1],0x1),_0x3b4f63=_0x3ff3d5[0x2]||0x0;let _0x1917ec;try{_0x1917ec=this['_formatNumber']({'format':_0x58fd7b,'prefix':_0x59587f,'datePrefix':_0x552245,'separator':_0x1ae022,'numDigits':_0x54f3e7,'counterInt':_0x24c27e});}catch(_0x3b6cdf){try{await _0x4b2575[_0x260751(0x1b5)](LUA_CANCEL_RESERVATION,0x3,_0x33983f,_0x223c10,_0x48988b,_0x58a729,_0x3f5d27['EZhRj'](String,_0x246ce9));}catch(_0x2744cd){logger[_0x260751(0x10d)]({'event':_0x3f5d27[_0x260751(0x16d)],'error':_0x2744cd[_0x260751(0x17a)],'resource':_0x46a35d,'formatKey':_0xd8672f,'counterInt':_0x24c27e,'token':_0x58a729},_0x3f5d27['Kzdiy']);}throw _0x3b6cdf;}try{await _0x4b2575['hset'](_0x33983f,_0x3f5d27['FPNRv'],_0x1917ec);}catch(_0x31f58c){logger[_0x260751(0x10d)]({'event':'idgen_reserve_value_persist_error','error':_0x31f58c[_0x260751(0x17a)],'resource':_0x46a35d,'formatKey':_0xd8672f,'counterInt':_0x24c27e,'token':_0x58a729},'Failed\x20to\x20persist\x20formatted\x20value\x20to\x20reservation\x20hash');}const _0x48703e={'token':_0x58a729,'value':_0x1917ec,'counter':_0x24c27e,'resource':_0x46a35d,'formatKey':_0xd8672f,'isReused':_0x44c184,'createdAt':_0x25ac03,'expiresAt':_0x332f8e,'reapedCount':_0x3b4f63},_0x683b27=await this['_storeIdemCacheNX'](_0xa07e7f,_0x48703e);if(!_0x683b27['stored']){try{await _0x4b2575['eval'](LUA_CANCEL_RESERVATION,0x3,_0x33983f,_0x223c10,_0x48988b,_0x58a729,String(_0x246ce9));}catch(_0x76f7c8){logger['warn']({'event':'idgen_reserve_idem_loser_cancel_error','error':_0x76f7c8['message'],'resource':_0x46a35d,'formatKey':_0xd8672f,'counterInt':_0x24c27e,'token':_0x58a729},'Failed\x20to\x20cancel\x20reservation\x20for\x20idempotency\x20loser');}return logger['info']({'event':_0x3f5d27[_0x260751(0x102)],'resource':_0x46a35d,'formatKey':_0xd8672f,'counter':_0x24c27e,'token':_0x58a729},'ID\x20Generator\x20reserve\x20idem\x20race\x20lost,\x20returning\x20winner\x20envelope'),_0x683b27[_0x260751(0xd3)];}return this['_updateMeta'](_0x46a35d,_0xd8672f,{'lastReservedCounter':_0x24c27e,'lastReservedAt':_0x25ac03,'lastReapedCount':_0x3b4f63},_0x246ce9),logger['info']({'event':_0x260751(0x186),'resource':_0x46a35d,'formatKey':_0xd8672f,'counter':_0x24c27e,'isReused':_0x44c184,'token':_0x58a729,'ttl':_0x2c5a21,'reapedCount':_0x3b4f63},_0x260751(0x1d3)+_0x1917ec+_0x260751(0x159)+_0x58a729+')'),_0x48703e;}async['confirmReservation'](_0x16df17){const _0x3d0fbf=a0_0x1603ac,_0x37458e={'LlEVa':_0x3d0fbf(0x1c5),'NSIRx':_0x3d0fbf(0x187),'fngXx':function(_0x41597d,_0x2932d0){return _0x41597d!==_0x2932d0;},'njsZH':'text'};if(!this[_0x3d0fbf(0x196)])throw new IdGeneratorError(_0x37458e[_0x3d0fbf(0x1be)],_0x37458e[_0x3d0fbf(0x1a5)]);const _0x27975d=this['_validateReservationToken'](_0x16df17&&_0x16df17['token']),_0xa5a5e3=this['_validateIdempotencyKey'](_0x16df17&&_0x16df17['idempotencyKey']);let _0x2721f0=null;if(_0xa5a5e3){_0x2721f0=idempotencyManager['buildDeterministicKey']('idgen',_0x3d0fbf(0x158),_0x27975d+':'+_0xa5a5e3);const _0x5a762e=await this[_0x3d0fbf(0x113)](_0x2721f0);if(_0x5a762e)return _0x5a762e;}const _0x5b4133=await this[_0x3d0fbf(0x1ad)](_0x27975d),_0x1854e8=redisClient[_0x3d0fbf(0x166)](),_0x3a4d09=await _0x1854e8[_0x3d0fbf(0x1b5)](LUA_CONFIRM_RESERVATION,0x2,_0x5b4133['rsvKey'],_0x5b4133['rsvIdxKey'],_0x27975d);if(!_0x3a4d09||_0x37458e['fngXx'](_0x3a4d09[0x0],0x1))throw new IdGeneratorError(_0x3d0fbf(0x1cc),'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x27975d,{'token':_0x27975d});const _0x5ae3c7=parseInt(_0x3a4d09[0x1],0xa),_0x593359=_0x3a4d09[0x2],_0x20c3da=_0x3a4d09[0x3],_0x528941=new Date()['toISOString'](),_0x2c81bc={'confirmed':!![],'token':_0x27975d,'value':_0x593359,'counter':_0x5ae3c7,'resource':_0x5b4133['resource'],'formatKey':_0x20c3da,'confirmedAt':_0x528941};await this[_0x3d0fbf(0x1a1)](_0x2721f0,_0x2c81bc);const _0x173fd8=_0x20c3da['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x13b6c2=_0x173fd8?_0x173fd8[0x1]:_0x37458e['njsZH'],_0xbb2d29=this[_0x3d0fbf(0x1ca)](_0x13b6c2);return this[_0x3d0fbf(0x165)](_0x5b4133['resource'],_0x20c3da,{'lastConfirmedCounter':_0x5ae3c7,'lastConfirmedAt':_0x528941},_0xbb2d29),logger['info']({'event':_0x3d0fbf(0x19a),'resource':_0x5b4133[_0x3d0fbf(0xdc)],'formatKey':_0x20c3da,'counter':_0x5ae3c7,'token':_0x27975d},_0x3d0fbf(0x155)+_0x593359+_0x3d0fbf(0x159)+_0x27975d+')'),_0x2c81bc;}async['cancelReservation'](_0x2ec4b8){const _0x2e5b91=a0_0x1603ac,_0x122ac3={'zcvqm':'IDGEN_DISABLED','pSHGq':_0x2e5b91(0x187),'ozWxr':function(_0x5637c4,_0x7cd31f){return _0x5637c4(_0x7cd31f);},'PBieL':function(_0x100530,_0x4fe42a,_0x13637e){return _0x100530(_0x4fe42a,_0x13637e);},'rbcPS':'idgen_reservation_cancelled'};if(!this['enabled'])throw new IdGeneratorError(_0x122ac3['zcvqm'],_0x122ac3[_0x2e5b91(0x13c)]);const _0x6ad3df=this[_0x2e5b91(0x1dc)](_0x2ec4b8&&_0x2ec4b8['token']),_0x15e1f0=this[_0x2e5b91(0x130)](_0x2ec4b8&&_0x2ec4b8['idempotencyKey']);let _0x7317ec=null;if(_0x15e1f0){_0x7317ec=idempotencyManager['buildDeterministicKey'](_0x2e5b91(0xe9),_0x2e5b91(0xf8),_0x6ad3df+':'+_0x15e1f0);const _0x4d8fb3=await this[_0x2e5b91(0x113)](_0x7317ec);if(_0x4d8fb3)return _0x4d8fb3;}const _0x1fd0e1=await this[_0x2e5b91(0x1ad)](_0x6ad3df),_0x2d0ef1=this[_0x2e5b91(0xd9)](_0x1fd0e1['resource'],_0x1fd0e1['formatKey']),_0x1be0d6=_0x1fd0e1['formatKey'][_0x2e5b91(0x12f)](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x296a96=_0x1be0d6?_0x1be0d6[0x1]:_0x2e5b91(0x191),_0x30183c=this[_0x2e5b91(0x1ca)](_0x296a96),_0x353352=redisClient['getClient'](),_0x49f473=await _0x353352[_0x2e5b91(0x1b5)](LUA_CANCEL_RESERVATION,0x3,_0x1fd0e1['rsvKey'],_0x1fd0e1[_0x2e5b91(0x19f)],_0x2d0ef1,_0x6ad3df,_0x122ac3['ozWxr'](String,_0x30183c));if(!_0x49f473||_0x49f473[0x0]!==0x1)throw new IdGeneratorError(_0x2e5b91(0x1cc),_0x2e5b91(0x132)+_0x6ad3df,{'token':_0x6ad3df});const _0x37d738=_0x122ac3[_0x2e5b91(0xf5)](parseInt,_0x49f473[0x1],0xa),_0x5b6052=_0x49f473[0x2],_0x5ca6c6=_0x49f473[0x3],_0x2477ed=new Date()[_0x2e5b91(0x110)](),_0x42dbe2={'cancelled':!![],'token':_0x6ad3df,'value':_0x5b6052,'counter':_0x37d738,'resource':_0x1fd0e1['resource'],'formatKey':_0x5ca6c6,'releasedToReuse':!![],'cancelledAt':_0x2477ed};return await this[_0x2e5b91(0x1a1)](_0x7317ec,_0x42dbe2),this[_0x2e5b91(0x165)](_0x1fd0e1['resource'],_0x5ca6c6,{'lastCancelledCounter':_0x37d738,'lastCancelledAt':_0x2477ed},_0x30183c),logger[_0x2e5b91(0x1dd)]({'event':_0x122ac3[_0x2e5b91(0x169)],'resource':_0x1fd0e1[_0x2e5b91(0xdc)],'formatKey':_0x5ca6c6,'counter':_0x37d738,'token':_0x6ad3df},_0x2e5b91(0xed)+_0x5b6052+'\x20(token='+_0x6ad3df+')'),_0x42dbe2;}async['extendReservation'](_0x4b3584){const _0x2bf877=a0_0x1603ac,_0x499fe2={'Nuqlm':_0x2bf877(0x152),'mnaGj':function(_0x2e35fb,_0x486c7d){return _0x2e35fb+_0x486c7d;},'upEjc':function(_0x3c0983,_0x173e9d){return _0x3c0983(_0x173e9d);},'ZKUyF':function(_0x56da7c,_0x36a589){return _0x56da7c(_0x36a589);},'bhpxh':function(_0xcbac41,_0x21e25f){return _0xcbac41!==_0x21e25f;},'tvjmi':'IDGEN_RESERVATION_NOT_FOUND','fwOHl':_0x2bf877(0x191),'HwWNO':_0x2bf877(0x13d)};if(!this[_0x2bf877(0x196)])throw new IdGeneratorError(_0x2bf877(0x1c5),'ID\x20Generator\x20is\x20disabled');const _0x4bdb81=this[_0x2bf877(0x1dc)](_0x4b3584&&_0x4b3584['token']),_0x35c77b=this['_validateReserveTTL'](_0x4b3584&&_0x4b3584['ttl']),_0xffc5db=this[_0x2bf877(0x130)](_0x4b3584&&_0x4b3584[_0x2bf877(0x180)]);let _0x5b44db=null;if(_0xffc5db){_0x5b44db=idempotencyManager[_0x2bf877(0x1e0)]('idgen',_0x499fe2[_0x2bf877(0x177)],_0x4bdb81+':'+_0xffc5db);const _0x2aee68=await this[_0x2bf877(0x113)](_0x5b44db);if(_0x2aee68)return _0x2aee68;}const _0x38f6df=await this['_getReservationContext'](_0x4bdb81),_0x1c4ee9=Date[_0x2bf877(0xe7)](),_0x2bbd94=_0x499fe2['mnaGj'](_0x1c4ee9,_0x35c77b*0x3e8),_0x28a88d=_0x35c77b*0x3e8,_0x24d264=new Date(_0x2bbd94)['toISOString'](),_0x486f32=redisClient['getClient'](),_0x279eaa=await _0x486f32['eval'](LUA_EXTEND_RESERVATION,0x2,_0x38f6df['rsvKey'],_0x38f6df[_0x2bf877(0x19f)],_0x4bdb81,_0x499fe2['upEjc'](String,_0x28a88d),_0x499fe2[_0x2bf877(0xee)](String,_0x2bbd94),_0x24d264);if(!_0x279eaa||_0x499fe2['bhpxh'](_0x279eaa[0x0],0x1))throw new IdGeneratorError(_0x499fe2['tvjmi'],_0x2bf877(0x132)+_0x4bdb81,{'token':_0x4bdb81});const _0x3380d1=_0x279eaa[0x1],_0x4bca3e=parseInt(_0x279eaa[0x2],0xa),_0x2f6251=_0x279eaa[0x3],_0x2fe902=_0x279eaa[0x4],_0x254326=new Date(_0x1c4ee9)['toISOString'](),_0x347105={'extended':!![],'token':_0x4bdb81,'previousExpiresAt':_0x3380d1,'expiresAt':_0x24d264,'ttlMs':_0x28a88d,'resource':_0x38f6df['resource'],'formatKey':_0x2fe902,'counter':_0x4bca3e,'value':_0x2f6251,'extendedAt':_0x254326};await this[_0x2bf877(0x1a1)](_0x5b44db,_0x347105);const _0x1b2644=_0x2fe902['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x29e7a3=_0x1b2644?_0x1b2644[0x1]:_0x499fe2[_0x2bf877(0x1b3)],_0x3bf9c4=this[_0x2bf877(0x1ca)](_0x29e7a3);return this[_0x2bf877(0x165)](_0x38f6df[_0x2bf877(0xdc)],_0x2fe902,{'lastExtendedCounter':_0x4bca3e,'lastExtendedAt':_0x254326},_0x3bf9c4),logger[_0x2bf877(0x1dd)]({'event':_0x499fe2['HwWNO'],'resource':_0x38f6df['resource'],'formatKey':_0x2fe902,'counter':_0x4bca3e,'token':_0x4bdb81,'ttl':_0x35c77b},_0x2bf877(0xec)+_0x2f6251+_0x2bf877(0x159)+_0x4bdb81+',\x20+'+_0x35c77b+'s)'),_0x347105;}async['getReservation'](_0x3bd5a3){const _0xe80ee9=a0_0x1603ac,_0x2ea68b={'ADAVI':'IDGEN_DISABLED','FkiEs':'ID\x20Generator\x20is\x20disabled','VXtVS':'IDGEN_RESERVATION_NOT_FOUND','JCQxJ':function(_0x17a175,_0x3b0c59,_0x3dd13a){return _0x17a175(_0x3b0c59,_0x3dd13a);},'HgsvZ':function(_0x131934,_0x3668e8){return _0x131934===_0x3668e8;},'MekRI':function(_0x1dbbac,_0x59f8a9){return _0x1dbbac===_0x59f8a9;},'GXXeM':function(_0x2e0aae,_0x27d0bc){return _0x2e0aae>=_0x27d0bc;}};if(!this['enabled'])throw new IdGeneratorError(_0x2ea68b['ADAVI'],_0x2ea68b['FkiEs']);const _0x5aaa4d=this['_validateReservationToken'](_0x3bd5a3&&_0x3bd5a3['token']),_0x57841b=this['_buildReservationKey'](_0x5aaa4d),_0x262c16=redisClient[_0xe80ee9(0x166)](),_0x4c0b5c=_0x262c16['pipeline']();_0x4c0b5c['hgetall'](_0x57841b),_0x4c0b5c['pttl'](_0x57841b);const _0x589e33=await _0x4c0b5c['exec'](),_0x356a1f=_0x589e33&&_0x589e33[0x0]&&_0x589e33[0x0][0x1],_0xd83be7=_0x589e33&&_0x589e33[0x1]&&_0x589e33[0x1][0x1];if(!_0x356a1f||Object[_0xe80ee9(0x106)](_0x356a1f)['length']===0x0)throw new IdGeneratorError(_0x2ea68b[_0xe80ee9(0x133)],_0xe80ee9(0x132)+_0x5aaa4d,{'token':_0x5aaa4d});return{'token':_0x5aaa4d,'resource':_0x356a1f[_0xe80ee9(0xdc)]||null,'formatKey':_0x356a1f['formatKey']||null,'format':_0x356a1f[_0xe80ee9(0x192)]||null,'prefix':_0x356a1f['prefix']||'','separator':_0x356a1f[_0xe80ee9(0xf6)]||'','numDigits':_0x356a1f[_0xe80ee9(0x160)]?_0x2ea68b['JCQxJ'](parseInt,_0x356a1f[_0xe80ee9(0x160)],0xa):null,'datePrefix':_0x356a1f['datePrefix']||'','counter':_0x356a1f[_0xe80ee9(0xd6)]?parseInt(_0x356a1f[_0xe80ee9(0xd6)],0xa):null,'value':_0x356a1f['value']||null,'isReused':_0x2ea68b['HgsvZ'](_0x356a1f['isReused'],'1')||_0x356a1f['isReused']===0x1,'createdAt':_0x356a1f['createdAt']||null,'expiresAt':_0x356a1f[_0xe80ee9(0x1d8)]||null,'ttlRemainingMs':_0x2ea68b[_0xe80ee9(0x18d)](typeof _0xd83be7,_0xe80ee9(0x1c1))&&_0x2ea68b['GXXeM'](_0xd83be7,0x0)?_0xd83be7:null};}async[a0_0x1603ac(0x1ad)](_0x3f1ed5){const _0x3ffae0=a0_0x1603ac,_0x20639d={'FtArR':_0x3ffae0(0x1b2)},_0x227ba6=this['_buildReservationKey'](_0x3f1ed5),_0x2b790d=redisClient['getClient'](),_0x586b6c=await _0x2b790d[_0x3ffae0(0xf2)](_0x227ba6,'resource',_0x20639d['FtArR']),_0x62cb1e=_0x586b6c&&_0x586b6c[0x0],_0x333d82=_0x586b6c&&_0x586b6c[0x1];if(!_0x62cb1e||!_0x333d82)throw new IdGeneratorError(_0x3ffae0(0x1cc),'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x3f1ed5,{'token':_0x3f1ed5});return{'resource':_0x62cb1e,'formatKey':_0x333d82,'rsvKey':_0x227ba6,'rsvIdxKey':this[_0x3ffae0(0x1bf)](_0x62cb1e,_0x333d82)};}async['random'](_0x2012b9){const _0x10fba6=a0_0x1603ac,_0x2c7a1d={'XxjgF':'IDGEN_DISABLED','wKgsR':'ID\x20Generator\x20is\x20disabled','teKAb':_0x10fba6(0xde),'UVCLT':function(_0x120c94,_0x4d538e){return _0x120c94===_0x4d538e;},'AEduH':function(_0x3112d0,_0x57df75){return _0x3112d0&&_0x57df75;},'hCdqD':'idgen_random_generated','esknL':function(_0x474f5f,_0x3e8bd1){return _0x474f5f||_0x3e8bd1;}};if(!this[_0x10fba6(0x196)])throw new IdGeneratorError(_0x2c7a1d['XxjgF'],_0x2c7a1d['wKgsR']);this['_validateResource'](_0x2012b9[_0x10fba6(0xdc)]),this[_0x10fba6(0x171)](_0x2012b9['pattern']);const _0x5b2a24=this['_validateTTL'](_0x2012b9['ttl']),_0x1aa262=this['_validateMaxRetry'](_0x2012b9['maxRetry']),_0x2c75ae=this[_0x10fba6(0x130)](_0x2012b9['idempotencyKey']),_0x4fbdf2=_0x2012b9['ensureUnique']===!![],{resource:_0x3fbcb2,pattern:_0x55e602}=_0x2012b9;let _0x226bc8=null;if(_0x2c75ae){_0x226bc8=this['_buildIdemKey'](_0x2c7a1d['teKAb'],_0x3fbcb2,null,_0x2c75ae);const _0x2215ef=await this['_retrieveIdemCache'](_0x226bc8);if(_0x2215ef)return _0x2215ef;}const _0x4857eb=redisClient['getClient']();let _0x145ea3=null,_0x41a7ea=0x0;if(!_0x4fbdf2)_0x145ea3=this['_generateFromPattern'](_0x55e602),_0x41a7ea=0x1;else{for(let _0x317f58=0x0;_0x317f58<_0x1aa262;_0x317f58++){_0x41a7ea++;const _0x46b635=this['_generateFromPattern'](_0x55e602);if(_0x5b2a24){const _0x1edb0b=this['_buildActiveKey'](_0x3fbcb2,_0x46b635),_0x1663e4=await _0x4857eb['set'](_0x1edb0b,'1','EX',_0x5b2a24,'NX');if(_0x1663e4==='OK'){_0x145ea3=_0x46b635;break;}}else{const _0x16bcdc=this[_0x10fba6(0x19d)](_0x3fbcb2),_0x4f0611=await _0x4857eb[_0x10fba6(0x1d2)](_0x16bcdc,_0x46b635);if(_0x2c7a1d['UVCLT'](_0x4f0611,0x1)){_0x145ea3=_0x46b635;break;}}}if(_0x145ea3===null)throw new IdGeneratorError('IDGEN_UNIQUE_RETRY_EXHAUSTED',_0x10fba6(0x120)+_0x1aa262+'\x20attempts.\x20Increase\x20pattern\x20length\x20or\x20maxRetry.',{'resource':_0x3fbcb2,'pattern':_0x55e602,'maxRetry':_0x1aa262});}const _0x23fef4={'value':_0x145ea3,'resource':_0x3fbcb2,'pattern':_0x55e602,'attemptCount':_0x41a7ea,'generatedAt':new Date()['toISOString']()};_0x2c7a1d[_0x10fba6(0x1cd)](_0x5b2a24,_0x4fbdf2)&&(_0x23fef4[_0x10fba6(0x1d8)]=new Date(Date['now']()+_0x5b2a24*0x3e8)['toISOString']());const _0x390b35=await this[_0x10fba6(0xf0)](_0x226bc8,_0x23fef4);if(!_0x390b35[_0x10fba6(0x127)])return _0x4fbdf2&&await this['_undoRandomReservation'](_0x3fbcb2,_0x145ea3,_0x5b2a24),logger['info']({'event':'idgen_random_idem_loser','resource':_0x3fbcb2,'pattern':_0x55e602,'value':_0x145ea3},_0x10fba6(0x13f)),_0x390b35[_0x10fba6(0xd3)];return logger[_0x10fba6(0x1dd)]({'event':_0x2c7a1d[_0x10fba6(0x195)],'resource':_0x3fbcb2,'pattern':_0x55e602,'attemptCount':_0x41a7ea,'ensureUnique':_0x4fbdf2,'ttl':_0x2c7a1d['esknL'](_0x5b2a24,0x0)},'ID\x20Generator\x20random:\x20'+_0x145ea3),_0x23fef4;}async['pin'](_0x5433a9){const _0x194653=a0_0x1603ac,_0x3faf82={'wXGcA':function(_0x2b2a30,_0x157808){return _0x2b2a30===_0x157808;}},_0xbc55df=_0x5433a9[_0x194653(0x194)]==null?this[_0x194653(0x114)]:_0x5433a9[_0x194653(0x194)];if(!Number['isInteger'](_0xbc55df)||_0xbc55df<MIN_PIN_DIGITS||_0xbc55df>MAX_PIN_DIGITS)throw new IdGeneratorError(_0x194653(0x183),'Invalid\x20digits:\x20must\x20be\x20integer\x20'+MIN_PIN_DIGITS+'-'+MAX_PIN_DIGITS+'\x20(got:\x20'+_0xbc55df+')');const _0x168ffa='9'[_0x194653(0x143)](_0xbc55df);return this['random']({'resource':_0x5433a9[_0x194653(0xdc)],'pattern':_0x168ffa,'ensureUnique':_0x3faf82['wXGcA'](_0x5433a9[_0x194653(0x117)],!![]),'ttl':_0x5433a9[_0x194653(0x184)],'maxRetry':_0x5433a9['maxRetry'],'idempotencyKey':_0x5433a9['idempotencyKey']});}async['serial'](_0x1f2b1e){const _0x3e4318=a0_0x1603ac,_0xefed93={'aeINw':function(_0x2fe224,_0x2b28e7){return _0x2fe224!==_0x2b28e7;}},_0x3ac4a9=_0x1f2b1e['pattern']||this['defaultSerialPattern'];return this[_0x3e4318(0xde)]({'resource':_0x1f2b1e['resource'],'pattern':_0x3ac4a9,'ensureUnique':_0xefed93[_0x3e4318(0x124)](_0x1f2b1e[_0x3e4318(0x117)],![]),'ttl':_0x1f2b1e[_0x3e4318(0x184)],'maxRetry':_0x1f2b1e[_0x3e4318(0x17c)],'idempotencyKey':_0x1f2b1e['idempotencyKey']});}async['code'](_0x5bea60){const _0x5b5474=a0_0x1603ac,_0x428962={'swPyq':function(_0xc92edc,_0x37237b){return _0xc92edc!==_0x37237b;}},_0x20e476=_0x5bea60['pattern']||this['defaultCodePattern'];return this[_0x5b5474(0xde)]({'resource':_0x5bea60[_0x5b5474(0xdc)],'pattern':_0x20e476,'ensureUnique':_0x428962['swPyq'](_0x5bea60['ensureUnique'],![]),'ttl':_0x5bea60[_0x5b5474(0x184)],'maxRetry':_0x5bea60[_0x5b5474(0x17c)],'idempotencyKey':_0x5bea60[_0x5b5474(0x180)]});}async['consume'](_0x4218e7){const _0x555336=a0_0x1603ac,_0x51124e={'FjLSW':'IDGEN_DISABLED','jWeJO':'ID\x20Generator\x20is\x20disabled','CyFJB':function(_0xf142c7,_0x4122cc){return _0xf142c7!==_0x4122cc;},'eNZSl':function(_0x4c034e,_0x2d7ccd){return _0x4c034e===_0x2d7ccd;},'bzQUq':function(_0x52a882,_0x2b5389){return _0x52a882>_0x2b5389;}};if(!this['enabled'])throw new IdGeneratorError(_0x51124e['FjLSW'],_0x51124e['jWeJO']);this['_validateResource'](_0x4218e7[_0x555336(0xdc)]);if(_0x51124e['CyFJB'](typeof _0x4218e7[_0x555336(0x14e)],_0x555336(0x1b8))||_0x51124e['eNZSl'](_0x4218e7[_0x555336(0x14e)]['length'],0x0))throw new IdGeneratorError(_0x555336(0x1c2),'value\x20is\x20required');const {resource:_0x2ec64e,value:_0x4e72fc}=_0x4218e7,_0x2aeb94=redisClient['getClient'](),_0x595718=this[_0x555336(0xef)](_0x2ec64e,_0x4e72fc),_0x2e0ff7=this[_0x555336(0x19d)](_0x2ec64e),[_0x46f081,_0x22018d]=await Promise[_0x555336(0x161)]([_0x2aeb94['del'](_0x595718),_0x2aeb94['srem'](_0x2e0ff7,_0x4e72fc)]),_0x331199=_0x51124e[_0x555336(0x1b6)](_0x46f081+_0x22018d,0x0);return logger['info']({'event':'idgen_consumed','resource':_0x2ec64e,'value':_0x4e72fc,'consumed':_0x331199},_0x555336(0x1e8)+_0x4e72fc),{'consumed':_0x331199,'resource':_0x2ec64e,'value':_0x4e72fc,'consumedAt':new Date()['toISOString']()};}async['peek'](_0x30d9e3){const _0x38ec97=a0_0x1603ac,_0x43d2a1={'jEmyT':'IDGEN_DISABLED','LaUvQ':'number','xPQQf':'text','hoCNR':'IDGEN_INVALID_FORMAT','EmUhS':function(_0x3593d4,_0x1466a6,_0x382ff0){return _0x3593d4(_0x1466a6,_0x382ff0);},'adzUJ':'random','blKtW':function(_0x12abda,_0x2ee8d7){return _0x12abda||_0x2ee8d7;}};if(!this['enabled'])throw new IdGeneratorError(_0x43d2a1['jEmyT'],_0x38ec97(0x187));this[_0x38ec97(0x1c6)](_0x30d9e3['resource']);const _0x144047=_0x30d9e3[_0x38ec97(0x1b9)]||_0x43d2a1['LaUvQ'],_0x117cb0=redisClient['getClient']();if(_0x144047===_0x38ec97(0x1c1)){const _0x18ba41=(_0x30d9e3['format']||_0x43d2a1['xPQQf'])[_0x38ec97(0x146)]();if(!ALLOWED_FORMATS[_0x38ec97(0x16b)](_0x18ba41))throw new IdGeneratorError(_0x43d2a1['hoCNR'],'Invalid\x20format:\x20'+_0x30d9e3[_0x38ec97(0x192)]);const {formatKey:_0x1ffa00}=this[_0x38ec97(0x193)](_0x18ba41,_0x30d9e3['prefix']||''),_0x104575=this[_0x38ec97(0x11f)](_0x30d9e3[_0x38ec97(0xdc)],_0x1ffa00),_0x273b5f=this['_buildReuseKey'](_0x30d9e3['resource'],_0x1ffa00),[_0x191e71,_0x2f6260]=await Promise[_0x38ec97(0x161)]([_0x117cb0['get'](_0x104575),_0x117cb0[_0x38ec97(0x145)](_0x273b5f)]);return{'resource':_0x30d9e3['resource'],'mode':_0x43d2a1[_0x38ec97(0x16c)],'formatKey':_0x1ffa00,'currentCounter':_0x43d2a1[_0x38ec97(0x1d4)](parseInt,_0x191e71,0xa)||0x0,'reusePoolSize':_0x2f6260||0x0};}if(_0x144047===_0x43d2a1['adzUJ']){const _0x18484c=this['_buildIssuedKey'](_0x30d9e3[_0x38ec97(0xdc)]),_0x402654=await _0x117cb0['scard'](_0x18484c);return{'resource':_0x30d9e3['resource'],'mode':_0x43d2a1[_0x38ec97(0x1a2)],'issuedCount':_0x43d2a1['blKtW'](_0x402654,0x0)};}throw new IdGeneratorError(_0x38ec97(0xfb),'Unknown\x20mode:\x20'+_0x144047);}async['getInfo'](_0x306bc0){const _0x23f937=a0_0x1603ac,_0x590f1c={'eOtYf':function(_0x31cedd,_0x248b39){return _0x31cedd===_0x248b39;},'FsXRV':_0x23f937(0x1c1)},_0x5de531=await this['peek'](_0x306bc0);if(_0x590f1c[_0x23f937(0xe2)](_0x5de531['mode'],_0x590f1c[_0x23f937(0x12a)])){const _0x538cd0=redisClient['getClient'](),_0x209f95=this[_0x23f937(0x14b)](_0x306bc0['resource'],_0x5de531['formatKey']),_0x95f572=this['_buildReuseKey'](_0x306bc0['resource'],_0x5de531[_0x23f937(0x1b2)]),[_0x396977,_0x506414]=await Promise['all']([_0x538cd0['hgetall'](_0x209f95),_0x538cd0['zrange'](_0x95f572,0x0,-0x1)]);return{..._0x5de531,'reusePoolValues':_0x506414['map'](_0x2dbc3c=>parseInt(_0x2dbc3c,0xa)),'meta':_0x396977&&Object[_0x23f937(0x106)](_0x396977)[_0x23f937(0xfd)]>0x0?_0x396977:null};}return _0x5de531;}async[a0_0x1603ac(0x1e4)](_0x4b06fc){const _0x30560b=a0_0x1603ac,_0x32ba76={'RfoaU':'ID\x20Generator\x20is\x20disabled','uvdeA':function(_0x9c6909,_0x4ea61a){return _0x9c6909===_0x4ea61a;},'yWjTh':_0x30560b(0x185),'TqJMo':'seq','lQJDf':_0x30560b(0x1ab),'awcDz':function(_0x147d99,_0x117fa7){return _0x147d99===_0x117fa7;},'eKgHA':_0x30560b(0xde),'QStBt':_0x30560b(0x109)};if(!this['enabled'])throw new IdGeneratorError(_0x30560b(0x1c5),_0x32ba76['RfoaU']);if(!this['allowReset'])throw new IdGeneratorError('IDGEN_RESET_NOT_ALLOWED',_0x30560b(0x104));this[_0x30560b(0x1c6)](_0x4b06fc[_0x30560b(0xdc)]);const _0x15f73f=_0x4b06fc[_0x30560b(0x1b9)]||'number',_0x549a03=redisClient['getClient']();if(_0x32ba76[_0x30560b(0x1b7)](_0x15f73f,_0x30560b(0x1c1))){const _0x495982=(_0x4b06fc['format']||'text')['toLowerCase']();if(!ALLOWED_FORMATS['has'](_0x495982))throw new IdGeneratorError('IDGEN_INVALID_FORMAT','Invalid\x20format:\x20'+_0x4b06fc[_0x30560b(0x192)]);const {formatKey:_0xd9961c}=this['_buildFormatKey'](_0x495982,_0x4b06fc[_0x30560b(0x1a8)]||''),_0x24b99d=this['_buildSeqKey'](_0x4b06fc['resource'],_0xd9961c),_0x498828=this[_0x30560b(0xd9)](_0x4b06fc[_0x30560b(0xdc)],_0xd9961c),_0x302c0c=this['_buildMetaKey'](_0x4b06fc['resource'],_0xd9961c);return await _0x549a03[_0x30560b(0x16a)](_0x24b99d,_0x498828,_0x302c0c),logger[_0x30560b(0x10d)]({'event':_0x32ba76[_0x30560b(0xf1)],'resource':_0x4b06fc['resource'],'mode':'number','formatKey':_0xd9961c},_0x30560b(0x16f)+_0x4b06fc['resource']+':'+_0xd9961c),{'reset':!![],'resource':_0x4b06fc['resource'],'mode':'number','formatKey':_0xd9961c,'deletedKeys':[_0x32ba76[_0x30560b(0x1af)],'reuse',_0x32ba76['lQJDf']]};}if(_0x32ba76[_0x30560b(0x149)](_0x15f73f,_0x30560b(0xde))){const _0x1da4c0=this[_0x30560b(0x19d)](_0x4b06fc[_0x30560b(0xdc)]);return await _0x549a03['del'](_0x1da4c0),logger['warn']({'event':_0x30560b(0x185),'resource':_0x4b06fc['resource'],'mode':_0x32ba76[_0x30560b(0x1db)]},'ID\x20Generator\x20reset:\x20random:'+_0x4b06fc['resource']),{'reset':!![],'resource':_0x4b06fc['resource'],'mode':_0x32ba76['eKgHA'],'deletedKeys':[_0x32ba76[_0x30560b(0x1c3)]]};}throw new IdGeneratorError(_0x30560b(0xfb),_0x30560b(0x1d1)+_0x15f73f);}}const instance=new IdGenerator();instance[a0_0x1603ac(0x13b)]=IdGeneratorError,module[a0_0x1603ac(0xdb)]=instance,module['exports'][a0_0x1603ac(0x13b)]=IdGeneratorError;
@@ -1 +1 @@
1
- 'use strict';const a0_0xe33c9d=a0_0x4368;(function(_0x2f5dd7,_0x271335){const _0x96cdb3=a0_0x4368,_0x32211e=_0x2f5dd7();while(!![]){try{const _0x4517c0=parseInt(_0x96cdb3(0x1eb))/0x1+-parseInt(_0x96cdb3(0x1db))/0x2*(parseInt(_0x96cdb3(0x1d1))/0x3)+parseInt(_0x96cdb3(0x1d5))/0x4*(-parseInt(_0x96cdb3(0x1ce))/0x5)+parseInt(_0x96cdb3(0x1ed))/0x6+parseInt(_0x96cdb3(0x1d6))/0x7+-parseInt(_0x96cdb3(0x1d2))/0x8*(-parseInt(_0x96cdb3(0x1d8))/0x9)+-parseInt(_0x96cdb3(0x1d7))/0xa*(-parseInt(_0x96cdb3(0x1f1))/0xb);if(_0x4517c0===_0x271335)break;else _0x32211e['push'](_0x32211e['shift']());}catch(_0x172015){_0x32211e['push'](_0x32211e['shift']());}}}(a0_0x328c,0x5b3ee));const redisClient=require(a0_0xe33c9d(0x1e3)),{logger}=require(a0_0xe33c9d(0x1da)),crypto=require('crypto');class IdempotencyManager{constructor(){const _0x215a4a=a0_0xe33c9d;this[_0x215a4a(0x1ee)]=null,this[_0x215a4a(0x1e6)]=null,this[_0x215a4a(0x1cf)]=![];}[a0_0xe33c9d(0x1e2)](){const _0x2677ad=a0_0xe33c9d,_0x529330={'hFyCF':'true','ykNCw':function(_0x5d6bfe,_0x334a87,_0x5d865f){return _0x5d6bfe(_0x334a87,_0x5d865f);},'LqHNj':'idempotency_config_init'};this[_0x2677ad(0x1ee)]=process['env']['IDEMPOTENCY_ENABLED']===_0x529330[_0x2677ad(0x1df)],this['_ttl']=_0x529330[_0x2677ad(0x1e7)](parseInt,process[_0x2677ad(0x1ca)]['IDEMPOTENCY_TTL'],0xa)||0x12c,this['_initialized']=!![],logger['info']({'event':_0x529330['LqHNj'],'enabled':this['_enabled'],'ttl':this[_0x2677ad(0x1e6)]},_0x2677ad(0x1e0)+this['_enabled']+_0x2677ad(0x1e9)+this[_0x2677ad(0x1e6)]+'s');}[a0_0xe33c9d(0x1dc)](){const _0x2b7bba=a0_0xe33c9d;!this[_0x2b7bba(0x1cf)]&&this['_initConfig']();}get[a0_0xe33c9d(0x1cb)](){return this['_ensureInitialized'](),this['_enabled'];}get[a0_0xe33c9d(0x1d0)](){const _0x23dd7b=a0_0xe33c9d;return this['_ensureInitialized'](),this[_0x23dd7b(0x1e6)];}[a0_0xe33c9d(0x1f0)](){return this['enabled'];}['buildKey'](_0x3fc99d,_0x2245bc){const _0x5c3acf=a0_0xe33c9d,_0x573b2f={'yjHGN':_0x5c3acf(0x1de),'bCwVH':'unknown'},_0x3db8e3=_0x2245bc['path'][_0x5c3acf(0x1dd)]('/')[_0x5c3acf(0x1f5)](Boolean),_0x3216dc=_0x3db8e3[0x0]||_0x573b2f[_0x5c3acf(0x1ea)],_0x3ad038=_0x3db8e3[0x1]||_0x5c3acf(0x1d9),_0x3482df=_0x3db8e3[0x2]||_0x573b2f[_0x5c3acf(0x1f6)];return'rf:idem:'+_0x3216dc+':'+_0x3ad038+':'+_0x3482df+':'+_0x3fc99d;}async[a0_0xe33c9d(0x1e5)](_0x5bba66,_0x142bd1){const _0x443e11=a0_0xe33c9d,_0x42e117={'XAZVW':'idempotency_store'};if(!this[_0x443e11(0x1cb)])return![];try{const _0x57beb1=redisClient['getClient']();return await _0x57beb1[_0x443e11(0x1d3)](_0x5bba66,this['ttl'],JSON['stringify'](_0x142bd1)),logger[_0x443e11(0x1d4)]({'event':_0x42e117[_0x443e11(0x1cd)],'key':_0x5bba66,'ttl':this['ttl'],'statusCode':_0x142bd1['statusCode']},'Idempotency\x20response\x20stored'),!![];}catch(_0x1db7f2){return logger['error']({'event':_0x443e11(0x1e1),'key':_0x5bba66,'error':_0x1db7f2['message']},'Idempotency\x20store\x20error:\x20'+_0x1db7f2[_0x443e11(0x1f2)]),![];}}async['retrieve'](_0x538bfd){const _0x3849e8=a0_0xe33c9d,_0x5a4519={'FgQyj':'idempotency_miss'};if(!this['enabled'])return null;try{const _0x5da336=redisClient['getClient'](),_0x21b098=await _0x5da336[_0x3849e8(0x1ec)](_0x538bfd);if(_0x21b098)return logger['info']({'event':'idempotency_hit','key':_0x538bfd},_0x3849e8(0x1e8)),JSON['parse'](_0x21b098);return logger[_0x3849e8(0x1d4)]({'event':_0x5a4519[_0x3849e8(0x1ef)],'key':_0x538bfd},'Idempotency\x20cache\x20MISS'),null;}catch(_0x5dd5c4){return logger['error']({'event':_0x3849e8(0x1cc),'key':_0x538bfd,'error':_0x5dd5c4['message']},'Idempotency\x20retrieve\x20error:\x20'+_0x5dd5c4[_0x3849e8(0x1f2)]),null;}}[a0_0xe33c9d(0x1f3)](_0x301327=a0_0xe33c9d(0x1f4)){const _0x486687=a0_0xe33c9d;return _0x301327+'_'+crypto[_0x486687(0x1e4)]();}['buildDeterministicKey'](_0x27c5dc,_0xd7ee91,_0x3adc40){return _0x27c5dc+':'+_0xd7ee91+':'+_0x3adc40;}}module['exports']=new IdempotencyManager();function a0_0x4368(_0x1c9ab2,_0x344ff8){_0x1c9ab2=_0x1c9ab2-0x1ca;const _0x328cba=a0_0x328c();let _0x436885=_0x328cba[_0x1c9ab2];if(a0_0x4368['Jdkucz']===undefined){var _0x2b5416=function(_0xb38dab){const _0x390a0e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2509c7='',_0x15b1af='';for(let _0x655646=0x0,_0x9c7776,_0x566130,_0x1c84f4=0x0;_0x566130=_0xb38dab['charAt'](_0x1c84f4++);~_0x566130&&(_0x9c7776=_0x655646%0x4?_0x9c7776*0x40+_0x566130:_0x566130,_0x655646++%0x4)?_0x2509c7+=String['fromCharCode'](0xff&_0x9c7776>>(-0x2*_0x655646&0x6)):0x0){_0x566130=_0x390a0e['indexOf'](_0x566130);}for(let _0x3bc75f=0x0,_0x283565=_0x2509c7['length'];_0x3bc75f<_0x283565;_0x3bc75f++){_0x15b1af+='%'+('00'+_0x2509c7['charCodeAt'](_0x3bc75f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x15b1af);};a0_0x4368['ICLUJq']=_0x2b5416,a0_0x4368['GzxcDW']={},a0_0x4368['Jdkucz']=!![];}const _0x544b0c=_0x328cba[0x0],_0x390fd9=_0x1c9ab2+_0x544b0c,_0x193559=a0_0x4368['GzxcDW'][_0x390fd9];return!_0x193559?(_0x436885=a0_0x4368['ICLUJq'](_0x436885),a0_0x4368['GzxcDW'][_0x390fd9]=_0x436885):_0x436885=_0x193559,_0x436885;}function a0_0x328c(){const _0x35a57d=['Dw5RBM93BG','lI9SB2DNzxi','mZHcuK1dt0O','x2vUC3vYzuLUAxrPywXPEMvK','C3bSAxq','zgvMyxvSDa','Aez5q0y','swrLBxbVDgvUy3KGy29UzMLNDxjHDgLVBIbPBML0AwfSAxPLzcaTigvUywjSzwq6ia','AwrLBxbVDgvUy3LFC3rVCMvFzxjYB3i','x2LUAxrdB25MAwC','lI9YzwrPCY1JBgLLBNq','CMfUzg9Tvvvjra','C3rVCMu','x3r0Ba','EwToq3C','swrLBxbVDgvUy3KGy2fJAguGseLu','lcbuveW6ia','EwPir04','mZe4mJaYqvLjBMXL','z2v0','mJCZnda1nMLuBuzfwq','x2vUywjSzwq','rMDrEwO','AxnfBMfIBgvK','mJG2AhDYrKfJ','BwvZC2fNzq','z2vUzxjHDgvlzxK','CMvX','zMLSDgvY','yKn3vKG','zw52','zw5HyMXLza','AwrLBxbVDgvUy3LFCMv0CMLLDMvFzxjYB3i','wefAvLC','mteXmfnqtfbgua','x2LUAxrPywXPEMvK','DhrS','mtaXnJmXBxLQEvH6','mta1ndK2DNzby0fJ','C2v0zxG','zgvIDwC','nda5mKzTtxjjCW','ntuXmZa2zvrOCwv4','otq5mZboENHcu0u','otLhDw1yyK8'];a0_0x328c=function(){return _0x35a57d;};return a0_0x328c();}
1
+ 'use strict';const a0_0x3089b3=a0_0x3ce4;(function(_0x56ccef,_0x564b18){const _0xc09072=a0_0x3ce4,_0x4284e3=_0x56ccef();while(!![]){try{const _0x1cd128=-parseInt(_0xc09072(0x152))/0x1+-parseInt(_0xc09072(0x176))/0x2*(-parseInt(_0xc09072(0x16c))/0x3)+parseInt(_0xc09072(0x173))/0x4+parseInt(_0xc09072(0x174))/0x5+-parseInt(_0xc09072(0x179))/0x6*(parseInt(_0xc09072(0x16f))/0x7)+parseInt(_0xc09072(0x17c))/0x8+parseInt(_0xc09072(0x17f))/0x9*(-parseInt(_0xc09072(0x162))/0xa);if(_0x1cd128===_0x564b18)break;else _0x4284e3['push'](_0x4284e3['shift']());}catch(_0x1465a5){_0x4284e3['push'](_0x4284e3['shift']());}}}(a0_0x160b,0x18835));const redisClient=require(a0_0x3089b3(0x15a)),{logger}=require('./logger'),crypto=require('crypto');class IdempotencyManager{constructor(){const _0x2aaca7=a0_0x3089b3;this[_0x2aaca7(0x15f)]=null,this[_0x2aaca7(0x17a)]=null,this[_0x2aaca7(0x15e)]=![];}[a0_0x3089b3(0x182)](){const _0xdc8877=a0_0x3089b3,_0x572f0f={'RiINA':function(_0xddc7d9,_0x14cc70,_0x1ceb1d){return _0xddc7d9(_0x14cc70,_0x1ceb1d);}};this[_0xdc8877(0x15f)]=process[_0xdc8877(0x178)][_0xdc8877(0x172)]===_0xdc8877(0x16d),this[_0xdc8877(0x17a)]=_0x572f0f[_0xdc8877(0x163)](parseInt,process[_0xdc8877(0x178)]['IDEMPOTENCY_TTL'],0xa)||0x12c,this['_initialized']=!![],logger[_0xdc8877(0x17b)]({'event':_0xdc8877(0x169),'enabled':this['_enabled'],'ttl':this['_ttl']},'Idempotency\x20configuration\x20initialized\x20-\x20enabled:\x20'+this['_enabled']+',\x20TTL:\x20'+this[_0xdc8877(0x17a)]+'s');}['_ensureInitialized'](){const _0x3272b0=a0_0x3089b3;!this['_initialized']&&this[_0x3272b0(0x182)]();}get[a0_0x3089b3(0x181)](){const _0x4d38d1=a0_0x3089b3;return this['_ensureInitialized'](),this[_0x4d38d1(0x15f)];}get['ttl'](){const _0x4a1da3=a0_0x3089b3;return this[_0x4a1da3(0x170)](),this[_0x4a1da3(0x17a)];}[a0_0x3089b3(0x17d)](){return this['enabled'];}[a0_0x3089b3(0x171)](_0x4d5c8c,_0x39a071){const _0x71337f=a0_0x3089b3,_0x25fc8d={'glwXN':_0x71337f(0x158),'dJAdH':'unknown'},_0x8ce80d=_0x39a071[_0x71337f(0x156)][_0x71337f(0x177)]('/')['filter'](Boolean),_0x475bc2=_0x8ce80d[0x0]||_0x25fc8d[_0x71337f(0x167)],_0x54f1aa=_0x8ce80d[0x1]||_0x25fc8d[_0x71337f(0x180)],_0x595db6=_0x8ce80d[0x2]||_0x71337f(0x157);return'rf:idem:'+_0x475bc2+':'+_0x54f1aa+':'+_0x595db6+':'+_0x4d5c8c;}async['store'](_0xdae735,_0x25e50a){const _0x4deb90=a0_0x3089b3,_0x1146af={'nLzwH':_0x4deb90(0x16e),'FJQWM':_0x4deb90(0x15d),'RHAur':_0x4deb90(0x155)};if(!this['enabled'])return![];try{const _0x13304d=redisClient[_0x4deb90(0x15b)]();return await _0x13304d[_0x4deb90(0x175)](_0xdae735,this['ttl'],JSON['stringify'](_0x25e50a)),logger[_0x4deb90(0x16b)]({'event':_0x1146af['nLzwH'],'key':_0xdae735,'ttl':this['ttl'],'statusCode':_0x25e50a[_0x4deb90(0x161)]},_0x1146af[_0x4deb90(0x164)]),!![];}catch(_0x9fcd2f){return logger[_0x4deb90(0x168)]({'event':_0x1146af[_0x4deb90(0x17e)],'key':_0xdae735,'error':_0x9fcd2f[_0x4deb90(0x159)]},_0x4deb90(0x160)+_0x9fcd2f['message']),![];}}async[a0_0x3089b3(0x165)](_0x56b31d){const _0x1d5230=a0_0x3089b3,_0xd31c28={'bMpDd':'Idempotency\x20cache\x20HIT','sqjHv':'idempotency_miss','djASx':'Idempotency\x20cache\x20MISS'};if(!this['enabled'])return null;try{const _0x4e948c=redisClient[_0x1d5230(0x15b)](),_0x133ba1=await _0x4e948c['get'](_0x56b31d);if(_0x133ba1)return logger['info']({'event':'idempotency_hit','key':_0x56b31d},_0xd31c28[_0x1d5230(0x184)]),JSON['parse'](_0x133ba1);return logger['debug']({'event':_0xd31c28[_0x1d5230(0x166)],'key':_0x56b31d},_0xd31c28[_0x1d5230(0x15c)]),null;}catch(_0x547c7b){return logger['error']({'event':_0x1d5230(0x153),'key':_0x56b31d,'error':_0x547c7b[_0x1d5230(0x159)]},'Idempotency\x20retrieve\x20error:\x20'+_0x547c7b[_0x1d5230(0x159)]),null;}}[a0_0x3089b3(0x16a)](_0x172416='req'){const _0x585a80=a0_0x3089b3;return _0x172416+'_'+crypto[_0x585a80(0x154)]();}[a0_0x3089b3(0x183)](_0xc3fb1c,_0xfce0c8,_0x4d23b4){return _0xc3fb1c+':'+_0xfce0c8+':'+_0x4d23b4;}}module['exports']=new IdempotencyManager();function a0_0x3ce4(_0x3f0450,_0x4065bd){_0x3f0450=_0x3f0450-0x152;const _0x160be1=a0_0x160b();let _0x3ce422=_0x160be1[_0x3f0450];if(a0_0x3ce4['IzRmEl']===undefined){var _0x38e301=function(_0x56161e){const _0x7b9ad1='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4279f0='',_0x1f89e1='';for(let _0x3f65a4=0x0,_0x5dd656,_0x1eaf84,_0x23c1dd=0x0;_0x1eaf84=_0x56161e['charAt'](_0x23c1dd++);~_0x1eaf84&&(_0x5dd656=_0x3f65a4%0x4?_0x5dd656*0x40+_0x1eaf84:_0x1eaf84,_0x3f65a4++%0x4)?_0x4279f0+=String['fromCharCode'](0xff&_0x5dd656>>(-0x2*_0x3f65a4&0x6)):0x0){_0x1eaf84=_0x7b9ad1['indexOf'](_0x1eaf84);}for(let _0x1851c5=0x0,_0x22bf96=_0x4279f0['length'];_0x1851c5<_0x22bf96;_0x1851c5++){_0x1f89e1+='%'+('00'+_0x4279f0['charCodeAt'](_0x1851c5)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1f89e1);};a0_0x3ce4['Jipxal']=_0x38e301,a0_0x3ce4['XVPTQK']={},a0_0x3ce4['IzRmEl']=!![];}const _0x2843bb=_0x160be1[0x0],_0xe58fcf=_0x3f0450+_0x2843bb,_0x4df6a4=a0_0x3ce4['XVPTQK'][_0xe58fcf];return!_0x4df6a4?(_0x3ce422=a0_0x3ce4['Jipxal'](_0x3ce422),a0_0x3ce4['XVPTQK'][_0xe58fcf]=_0x3ce422):_0x3ce422=_0x4df6a4,_0x3ce422;}function a0_0x160b(){const _0x4d1f37=['Cgf0Aa','Dw5RBM93BG','zgvMyxvSDa','BwvZC2fNzq','lI9YzwrPCY1JBgLLBNq','z2v0q2XPzw50','zgPbu3G','swrLBxbVDgvUy3KGCMvZCg9UC2uGC3rVCMvK','x2LUAxrPywXPEMvK','x2vUywjSzwq','swrLBxbVDgvUy3KGC3rVCMuGzxjYB3i6ia','C3rHDhvZq29Kzq','mtGXmffkDLfRra','uMLjtKe','rKPrv00','CMv0CMLLDMu','C3fQshy','z2X3we4','zxjYB3i','AwrLBxbVDgvUy3LFy29UzMLNx2LUAxq','z2vUzxjHDgvlzxK','zgvIDwC','nZGZvKzVwgfW','Dhj1zq','AwrLBxbVDgvUy3LFC3rVCMu','mJqXoti3s0r0Eg1o','x2vUC3vYzuLUAxrPywXPEMvK','yNvPBgrlzxK','surftvbpvevoq1LFru5bqKXfra','mtu3nJq0yMzNB2XR','odGYnJm1y1LeyMjp','C2v0zxG','otqYr2DYDM5W','C3bSAxq','zw52','mtjvuevkwK8','x3r0Ba','Aw5MBW','mtuYndG0me5HuwnrvW','AxnfBMfIBgvK','uKHbDxi','mtqZmZDkDND2CvG','zePbzeG','zw5HyMXLza','x2LUAxrdB25MAwC','yNvPBgrezxrLCM1PBMLZDgLJs2v5','yK1Wrgq','nZe2mtrJvg9mzeW','AwrLBxbVDgvUy3LFCMv0CMLLDMvFzxjYB3i','CMfUzg9Tvvvjra','AwrLBxbVDgvUy3LFC3rVCMvFzxjYB3i'];a0_0x160b=function(){return _0x4d1f37;};return a0_0x160b();}
@@ -1 +1 @@
1
- const a0_0x5a1fe9=a0_0x4382;function a0_0x4382(_0xd53588,_0x55b23e){_0xd53588=_0xd53588-0x193;const _0x40602d=a0_0x4060();let _0x438292=_0x40602d[_0xd53588];if(a0_0x4382['gXbXhY']===undefined){var _0x52df72=function(_0x458a3f){const _0x577ab5='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x952f3d='',_0x392d57='';for(let _0x5e6653=0x0,_0x573306,_0x2d38f4,_0x3ca098=0x0;_0x2d38f4=_0x458a3f['charAt'](_0x3ca098++);~_0x2d38f4&&(_0x573306=_0x5e6653%0x4?_0x573306*0x40+_0x2d38f4:_0x2d38f4,_0x5e6653++%0x4)?_0x952f3d+=String['fromCharCode'](0xff&_0x573306>>(-0x2*_0x5e6653&0x6)):0x0){_0x2d38f4=_0x577ab5['indexOf'](_0x2d38f4);}for(let _0xef6e49=0x0,_0x4f9aef=_0x952f3d['length'];_0xef6e49<_0x4f9aef;_0xef6e49++){_0x392d57+='%'+('00'+_0x952f3d['charCodeAt'](_0xef6e49)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x392d57);};a0_0x4382['FoByTP']=_0x52df72,a0_0x4382['EJfOru']={},a0_0x4382['gXbXhY']=!![];}const _0x3c79ea=_0x40602d[0x0],_0x3e440c=_0xd53588+_0x3c79ea,_0x2dc225=a0_0x4382['EJfOru'][_0x3e440c];return!_0x2dc225?(_0x438292=a0_0x4382['FoByTP'](_0x438292),a0_0x4382['EJfOru'][_0x3e440c]=_0x438292):_0x438292=_0x2dc225,_0x438292;}(function(_0x3220cf,_0x1556f5){const _0xdc3d0=a0_0x4382,_0x589d59=_0x3220cf();while(!![]){try{const _0x3381cc=parseInt(_0xdc3d0(0x194))/0x1+-parseInt(_0xdc3d0(0x1af))/0x2+-parseInt(_0xdc3d0(0x1b1))/0x3+parseInt(_0xdc3d0(0x1a1))/0x4+parseInt(_0xdc3d0(0x19b))/0x5*(parseInt(_0xdc3d0(0x19f))/0x6)+-parseInt(_0xdc3d0(0x1a5))/0x7+parseInt(_0xdc3d0(0x1ae))/0x8;if(_0x3381cc===_0x1556f5)break;else _0x589d59['push'](_0x589d59['shift']());}catch(_0x520b2a){_0x589d59['push'](_0x589d59['shift']());}}}(a0_0x4060,0x6cb15));const {logger}=require('./logger');function a0_0x4060(){const _0x524652=['ChvZAa','yMf0y2HwywXPzgf0zvjVD3m','z2v0','nJq1mJyWtKnvDhvI','CgHVBMu','zM9YrwfJAa','Aw5MBW','DMfSAwrHDgvfBwfPBa','DMfSAwrHDgvqAg9Uzq','EhPhsgC','yMf0y2HFDMfSAwrHDgLVBL9JB21WBgv0zq','BwfW','mJm3mdKXmMrbAw5vDW','mZe3mtG2y1zPBgXN','sgjut0u','mtGZotG2neLMz1Pyza','sw52ywXPzcbvuKWGzM9YBwf0','qMf0y2GGDMfSAwrHDgLVBIbJB21WBgv0zwq','zgzWtg8','yxLVEuG','mtCXndq0whjbr3b0','t1rUyxm','DMfSAwrHDgvoDw1Izxi','sw52ywXPzcbWAg9UzsbMB3jTyxq','DgvZDa','sKrkCvq','CMvXDwLYzwq','mta0odiWnu96qM1nvq','AfLguw0','BgvUz3rO','DMfSAwrHDgvsB3C','mJrJy3rkr0W','DMfSAwrHDgvgAwvSzezVCM1HDa','mte1nZzowgnfy2W'];a0_0x4060=function(){return _0x524652;};return a0_0x4060();}class ImportValidator{[a0_0x5a1fe9(0x19e)](_0x5eb8fa,_0x2da17a=[],_0x2f4aab={}){const _0x1fa359=a0_0x5a1fe9,_0x32ac10={'LSvWh':function(_0xba85ae,_0x1e93ef){return _0xba85ae===_0x1e93ef;},'JDJqT':function(_0x49fe44,_0x39bf40){return _0x49fe44===_0x39bf40;},'aJRjD':_0x1fa359(0x19a)},_0x326fa6=[];return _0x2da17a['forEach'](_0xef835=>{const _0x3235a4=_0x1fa359,_0x2bf11d=_0x5eb8fa[_0xef835];(_0x2bf11d===null||_0x32ac10['LSvWh'](_0x2bf11d,undefined)||_0x32ac10[_0x3235a4(0x199)](_0x2bf11d,''))&&_0x326fa6[_0x3235a4(0x1a2)]({'field':_0xef835,'type':_0x32ac10['aJRjD'],'message':'Required\x20field\x20is\x20empty'});}),Object['keys'](_0x2f4aab)[_0x1fa359(0x1a7)](_0x28ccef=>{const _0x45dc1c=_0x1fa359,_0x1b717c=_0x5eb8fa[_0x28ccef],_0xeaa6b0=_0x2f4aab[_0x28ccef];if(_0x32ac10['JDJqT'](_0x1b717c,null)||_0x32ac10['LSvWh'](_0x1b717c,undefined)||_0x32ac10[_0x45dc1c(0x199)](_0x1b717c,''))return;const _0x5630f2=this[_0x45dc1c(0x1a0)](_0x28ccef,_0x1b717c,_0xeaa6b0);_0x5630f2&&_0x326fa6['push'](_0x5630f2);}),_0x326fa6;}[a0_0x5a1fe9(0x1a0)](_0x4e1dc0,_0x276f3d,_0xea768){const _0x3c99a1=a0_0x5a1fe9,_0x10647a={'dfpLo':_0x3c99a1(0x1a6)};switch(_0xea768){case'email':return this['validateEmail'](_0x4e1dc0,_0x276f3d);case _0x10647a[_0x3c99a1(0x1b4)]:return this['validatePhone'](_0x4e1dc0,_0x276f3d);case'url':return this['validateUrl'](_0x4e1dc0,_0x276f3d);case'number':return this[_0x3c99a1(0x196)](_0x4e1dc0,_0x276f3d);default:return null;}}[a0_0x5a1fe9(0x1a9)](_0x59ae70,_0x5f3f8e){const _0x38df04=a0_0x5a1fe9,_0x1c05a9={'ayoyH':function(_0x31891f,_0x99ab15){return _0x31891f(_0x99ab15);},'xzGHg':'Invalid\x20email\x20format'},_0x5f23e=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;if(!_0x5f23e['test'](_0x1c05a9[_0x38df04(0x193)](String,_0x5f3f8e)))return{'field':_0x59ae70,'type':'format','message':_0x1c05a9[_0x38df04(0x1ab)]};return null;}[a0_0x5a1fe9(0x1aa)](_0x3ab03f,_0x30256a){const _0x5066a3=a0_0x5a1fe9,_0x4dd3b7={'ywjBz':function(_0x3e72cc,_0x4eb7d5){return _0x3e72cc(_0x4eb7d5);},'WeNpr':'format'},_0x1f31af=_0x4dd3b7['ywjBz'](String,_0x30256a)['replace'](/\s+/g,''),_0x593133=/^[\d\+\-\(\)]+$/;if(!_0x593133[_0x5066a3(0x198)](_0x1f31af)||_0x1f31af[_0x5066a3(0x19d)]<0x8)return{'field':_0x3ab03f,'type':_0x4dd3b7['WeNpr'],'message':_0x5066a3(0x197)};return null;}['validateUrl'](_0x520baf,_0x17e2e6){const _0x477437=a0_0x5a1fe9,_0x56c941={'OTnas':function(_0x1e98fa,_0x5857eb){return _0x1e98fa(_0x5857eb);},'HbTOE':_0x477437(0x1b2)};try{return new URL(_0x56c941[_0x477437(0x195)](String,_0x17e2e6)),null;}catch(_0x4a69ef){return{'field':_0x520baf,'type':'format','message':_0x56c941[_0x477437(0x1b0)]};}}['validateNumber'](_0x80d8fc,_0x20267c){const _0x25ee1e={'CEkfy':function(_0x48ad80,_0x3a279f){return _0x48ad80(_0x3a279f);}};if(_0x25ee1e['CEkfy'](isNaN,_0x20267c))return{'field':_0x80d8fc,'type':'format','message':'Invalid\x20number\x20format'};return null;}['detectDuplicatesInFile'](_0x3835be,_0x488ac9){const _0x576f31=a0_0x5a1fe9,_0x1533df=new Map(),_0x51b676=[];return _0x3835be[_0x576f31(0x1a7)]((_0x582fd4,_0x589180)=>{const _0x8a71=_0x576f31,_0x7a2510=_0x488ac9[_0x8a71(0x1ad)](_0x17f5ac=>_0x582fd4[_0x17f5ac])['join']('|');_0x1533df['has'](_0x7a2510)?_0x51b676['push']({'rowIndex':_0x589180,'duplicateOf':_0x1533df[_0x8a71(0x1a4)](_0x7a2510),'key':_0x7a2510}):_0x1533df['set'](_0x7a2510,_0x589180);}),_0x51b676;}[a0_0x5a1fe9(0x1a3)](_0x5dc528,_0x137a22,_0x77abf2){const _0x4ff1c6=a0_0x5a1fe9,_0x48af6a={'hYFQm':_0x4ff1c6(0x1ac),'soDRn':_0x4ff1c6(0x1b3)},_0x54d229=[];return _0x5dc528['forEach']((_0x131b5e,_0xaa1175)=>{const _0x463bbc=_0x4ff1c6,_0x75adea=this['validateRow'](_0x131b5e,_0x137a22,_0x77abf2);_0x75adea[_0x463bbc(0x19d)]>0x0&&_0x54d229['push']({'rowIndex':_0xaa1175,'rowData':_0x131b5e,'errors':_0x75adea});}),logger[_0x4ff1c6(0x1a8)]({'event':_0x48af6a[_0x4ff1c6(0x19c)],'totalRows':_0x5dc528['length'],'errorCount':_0x54d229['length']},_0x48af6a['soDRn']),_0x54d229;}}module['exports']=new ImportValidator();
1
+ const a0_0x24e522=a0_0x148e;(function(_0x5707b1,_0x2b26a5){const _0x1f5eae=a0_0x148e,_0x54ec1c=_0x5707b1();while(!![]){try{const _0x25d476=parseInt(_0x1f5eae(0x1a7))/0x1*(-parseInt(_0x1f5eae(0x1b7))/0x2)+parseInt(_0x1f5eae(0x1ae))/0x3+-parseInt(_0x1f5eae(0x1a3))/0x4*(parseInt(_0x1f5eae(0x1ad))/0x5)+-parseInt(_0x1f5eae(0x1a5))/0x6+parseInt(_0x1f5eae(0x1b4))/0x7*(-parseInt(_0x1f5eae(0x1b3))/0x8)+parseInt(_0x1f5eae(0x1bb))/0x9*(parseInt(_0x1f5eae(0x199))/0xa)+parseInt(_0x1f5eae(0x19f))/0xb;if(_0x25d476===_0x2b26a5)break;else _0x54ec1c['push'](_0x54ec1c['shift']());}catch(_0x111560){_0x54ec1c['push'](_0x54ec1c['shift']());}}}(a0_0x5cb4,0xea045));const {logger}=require(a0_0x24e522(0x1a2));class ImportValidator{['validateRow'](_0x374067,_0xe59b8b=[],_0x3d6149={}){const _0x5abcdc=a0_0x24e522,_0x3c5620={'rqYry':function(_0x3bebf9,_0xe21faf){return _0x3bebf9===_0xe21faf;},'BQqlU':function(_0x2f13b7,_0x4a6417){return _0x2f13b7===_0x4a6417;},'fbgyn':'required'},_0x322cc1=[];return _0xe59b8b[_0x5abcdc(0x1ac)](_0x25f307=>{const _0x38be79=_0x5abcdc,_0x467247=_0x374067[_0x25f307];(_0x3c5620['rqYry'](_0x467247,null)||_0x3c5620['rqYry'](_0x467247,undefined)||_0x3c5620['BQqlU'](_0x467247,''))&&_0x322cc1[_0x38be79(0x19e)]({'field':_0x25f307,'type':_0x3c5620['fbgyn'],'message':_0x38be79(0x1a6)});}),Object[_0x5abcdc(0x1bf)](_0x3d6149)['forEach'](_0x23f613=>{const _0x479165=_0x5abcdc,_0x2be98b=_0x374067[_0x23f613],_0x260c72=_0x3d6149[_0x23f613];if(_0x2be98b===null||_0x3c5620[_0x479165(0x1b9)](_0x2be98b,undefined)||_0x3c5620[_0x479165(0x1b0)](_0x2be98b,''))return;const _0x3d5604=this[_0x479165(0x1a4)](_0x23f613,_0x2be98b,_0x260c72);_0x3d5604&&_0x322cc1['push'](_0x3d5604);}),_0x322cc1;}[a0_0x24e522(0x1a4)](_0x238592,_0x32b766,_0x2c2dde){const _0x309aac=a0_0x24e522,_0x241e99={'keJrC':_0x309aac(0x1a0),'NgtHw':'phone'};switch(_0x2c2dde){case _0x241e99[_0x309aac(0x1ab)]:return this[_0x309aac(0x1af)](_0x238592,_0x32b766);case _0x241e99['NgtHw']:return this['validatePhone'](_0x238592,_0x32b766);case _0x309aac(0x1ba):return this[_0x309aac(0x1bc)](_0x238592,_0x32b766);case'number':return this[_0x309aac(0x1b6)](_0x238592,_0x32b766);default:return null;}}['validateEmail'](_0x494309,_0xd1fc37){const _0x2a3a94=a0_0x24e522,_0x3e87f4={'wuYZy':function(_0x3c28f8,_0x9c118d){return _0x3c28f8(_0x9c118d);},'RYWdQ':'format','DiLjZ':'Invalid\x20email\x20format'},_0x3cdbdf=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;if(!_0x3cdbdf['test'](_0x3e87f4[_0x2a3a94(0x1b8)](String,_0xd1fc37)))return{'field':_0x494309,'type':_0x3e87f4['RYWdQ'],'message':_0x3e87f4[_0x2a3a94(0x1a1)]};return null;}[a0_0x24e522(0x19b)](_0x161d01,_0x426233){const _0x367902=a0_0x24e522,_0x32628f={'acgla':_0x367902(0x1a8)},_0x511093=String(_0x426233)[_0x367902(0x1b1)](/\s+/g,''),_0x242d2e=/^[\d\+\-\(\)]+$/;if(!_0x242d2e[_0x367902(0x1a9)](_0x511093)||_0x511093['length']<0x8)return{'field':_0x161d01,'type':_0x32628f['acgla'],'message':'Invalid\x20phone\x20format'};return null;}[a0_0x24e522(0x1bc)](_0x222a9c,_0x4848dc){const _0x39b7cd=a0_0x24e522,_0x175478={'RHOYe':_0x39b7cd(0x19c)};try{return new URL(String(_0x4848dc)),null;}catch(_0x349471){return{'field':_0x222a9c,'type':_0x39b7cd(0x1a8),'message':_0x175478['RHOYe']};}}[a0_0x24e522(0x1b6)](_0x44995e,_0x2daade){const _0x11a16d=a0_0x24e522;if(isNaN(_0x2daade))return{'field':_0x44995e,'type':'format','message':_0x11a16d(0x19a)};return null;}[a0_0x24e522(0x1bd)](_0x1ac09f,_0x1b5920){const _0x33e697=a0_0x24e522,_0x4b42dd=new Map(),_0x1ab0ce=[];return _0x1ac09f[_0x33e697(0x1ac)]((_0x528c06,_0x5dc987)=>{const _0x2bb61d=_0x33e697,_0x2e3ec4=_0x1b5920['map'](_0x8c3e39=>_0x528c06[_0x8c3e39])[_0x2bb61d(0x1c0)]('|');_0x4b42dd[_0x2bb61d(0x1b2)](_0x2e3ec4)?_0x1ab0ce['push']({'rowIndex':_0x5dc987,'duplicateOf':_0x4b42dd['get'](_0x2e3ec4),'key':_0x2e3ec4}):_0x4b42dd['set'](_0x2e3ec4,_0x5dc987);}),_0x1ab0ce;}[a0_0x24e522(0x1aa)](_0x59be2c,_0x2da575,_0x22b404){const _0x85c256=a0_0x24e522,_0x3a665a={'ZgeAA':function(_0x2bdad1,_0x24c037){return _0x2bdad1>_0x24c037;}},_0x138e4e=[];return _0x59be2c['forEach']((_0x521f3f,_0x56e324)=>{const _0x49fcf7=a0_0x148e,_0x52c801=this['validateRow'](_0x521f3f,_0x2da575,_0x22b404);_0x3a665a[_0x49fcf7(0x1b5)](_0x52c801['length'],0x0)&&_0x138e4e[_0x49fcf7(0x19e)]({'rowIndex':_0x56e324,'rowData':_0x521f3f,'errors':_0x52c801});}),logger['info']({'event':_0x85c256(0x19d),'totalRows':_0x59be2c['length'],'errorCount':_0x138e4e['length']},_0x85c256(0x1be)),_0x138e4e;}}function a0_0x5cb4(){const _0x6562cf=['zgv0zwn0rhvWBgLJyxrLC0LUrMLSzq','qMf0y2GGDMfSAwrHDgLVBIbJB21WBgv0zwq','A2v5CW','AM9PBG','mJaWr0HNDMDO','sw52ywXPzcbUDw1IzxiGzM9YBwf0','DMfSAwrHDgvqAg9Uzq','sw52ywXPzcbvuKWGzM9YBwf0','yMf0y2HFDMfSAwrHDgLVBL9JB21WBgv0zq','ChvZAa','ndu3nJe2ntbIvuLWwxe','zw1HAwW','rgLmALO','lI9SB2DNzxi','nti3mtKYrLnZzfHv','DMfSAwrHDgvgAwvSzezVCM1HDa','mZCXndK1nfDsvxvuzG','uMvXDwLYzwqGzMLLBgqGAxmGzw1WDhK','mta0ow5UtgvstW','zM9YBwf0','DgvZDa','yMf0y2HwywXPzgf0zvjVD3m','A2vkCKm','zM9YrwfJAa','nZb0tvLOvei','mtiZmJy3m2vnufnpBG','DMfSAwrHDgvfBwfPBa','qLfXBfu','CMvWBgfJzq','AgfZ','mZqXmtm2BKjHC013','mJaZtw1xA1vL','wMDLque','DMfSAwrHDgvoDw1Izxi','mJu4mMfZC3HTEa','D3vzwNK','CNfzCNK','DxjS','nJq5mJe1zvbQsxfh','DMfSAwrHDgvvCMW'];a0_0x5cb4=function(){return _0x6562cf;};return a0_0x5cb4();}function a0_0x148e(_0x368a7b,_0x104475){_0x368a7b=_0x368a7b-0x199;const _0x5cb47c=a0_0x5cb4();let _0x148e96=_0x5cb47c[_0x368a7b];if(a0_0x148e['LVRJOQ']===undefined){var _0x332aba=function(_0x42e8d6){const _0x284474='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x28088f='',_0x13bba5='';for(let _0x49f17f=0x0,_0x476d3c,_0xef914d,_0x2ebf2a=0x0;_0xef914d=_0x42e8d6['charAt'](_0x2ebf2a++);~_0xef914d&&(_0x476d3c=_0x49f17f%0x4?_0x476d3c*0x40+_0xef914d:_0xef914d,_0x49f17f++%0x4)?_0x28088f+=String['fromCharCode'](0xff&_0x476d3c>>(-0x2*_0x49f17f&0x6)):0x0){_0xef914d=_0x284474['indexOf'](_0xef914d);}for(let _0x209d56=0x0,_0x14580f=_0x28088f['length'];_0x209d56<_0x14580f;_0x209d56++){_0x13bba5+='%'+('00'+_0x28088f['charCodeAt'](_0x209d56)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x13bba5);};a0_0x148e['kLoAkh']=_0x332aba,a0_0x148e['IIvooi']={},a0_0x148e['LVRJOQ']=!![];}const _0x4276a4=_0x5cb47c[0x0],_0x202e8c=_0x368a7b+_0x4276a4,_0x1d64cd=a0_0x148e['IIvooi'][_0x202e8c];return!_0x1d64cd?(_0x148e96=a0_0x148e['kLoAkh'](_0x148e96),a0_0x148e['IIvooi'][_0x202e8c]=_0x148e96):_0x148e96=_0x1d64cd,_0x148e96;}module['exports']=new ImportValidator();