diff --git a/.eslintrc.json b/.eslintrc.json deleted file mode 100644 index c14c227..0000000 --- a/.eslintrc.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "env": { - "browser": true, - "commonjs": true, - "es6": true, - "node": true, - "amd": true - }, - "extends": "eslint:recommended", - "parserOptions": { - "sourceType": "module" - }, - "rules": { - "indent": [ - "error", - "tab" - ], - "linebreak-style": 0, - "quotes": [ - "error", - "single" - ], - "semi": [ - "error", - "always" - ], - "eqeqeq": [ - "error", - "always" - ], - "no-undef": [ - "warn" - ], - "no-console": [ - "warn" - ] - } -} \ No newline at end of file diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml deleted file mode 100644 index 6b477fd..0000000 --- a/.github/FUNDING.yml +++ /dev/null @@ -1,2 +0,0 @@ -github: [hexagon] -ko_fi: hexagon_56k diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 94154ee..ed9bc71 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -1,6 +1,17 @@ version: 2 updates: - - package-ecosystem: "npm" # See documentation for possible values - directory: "/" # Location of package manifests + - package-ecosystem: "npm" + directory: "/" schedule: - interval: "daily" + interval: "weekly" + target-branch: "main" + open-pull-requests-limit: 10 + groups: + eslint: + patterns: + - "eslint" + - "@eslint/js" + rollup: + patterns: + - "rollup" + - "@rollup/*" \ No newline at end of file diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 51a1d42..12bcd03 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -13,12 +13,12 @@ name: "CodeQL" on: push: - branches: [ master ] + branches: [ main ] pull_request: # The branches below must be a subset of the branches above - branches: [ master ] + branches: [ main ] schedule: - - cron: '45 11 * * 3' + - cron: '0 14 * * 1' jobs: analyze: @@ -43,7 +43,7 @@ jobs: # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL - uses: github/codeql-action/init@v1 + uses: github/codeql-action/init@v3 with: languages: ${{ matrix.language }} # If you wish to specify custom queries, you can do so here or in a config file. @@ -54,7 +54,7 @@ jobs: # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). # If this step fails, then you should remove it and run the build manually (see below) - name: Autobuild - uses: github/codeql-action/autobuild@v1 + uses: github/codeql-action/autobuild@v3 # â„šī¸ Command-line programs to run using the OS shell. # 📚 https://git.io/JvXDl @@ -68,4 +68,4 @@ jobs: # make release - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v1 + uses: github/codeql-action/analyze@v3 diff --git a/.github/workflows/node.js.yml b/.github/workflows/node.js.yml index 2e1484c..c9aee82 100644 --- a/.github/workflows/node.js.yml +++ b/.github/workflows/node.js.yml @@ -5,9 +5,9 @@ name: Node.js CI on: push: - branches: [ master ] + branches: [ main ] pull_request: - branches: [ master ] + branches: [ main ] jobs: build: @@ -16,13 +16,13 @@ jobs: strategy: matrix: - node-version: [12.x, 14.x, 16.x] + node-version: [22.x, 24.x] # See supported Node.js release schedule at https://nodejs.org/en/about/releases/ steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - name: Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v2 + uses: actions/setup-node@v4 with: node-version: ${{ matrix.node-version }} cache: 'npm' diff --git a/Dockerfile b/Dockerfile index 3cf0790..6e7ae0c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,16 @@ -FROM keymetrics/pm2:16-alpine -COPY . /usr/src/app +FROM node:22-alpine + WORKDIR /usr/src/app + +# Copy package.json and package-lock.json first for better caching +COPY package*.json ./ RUN npm install --no-cache --production + +# Copy the rest of the application +COPY . . + +# Expose the port the app runs on EXPOSE 8080 -CMD [ "pm2-runtime", "start", "pm2.json" ] + +# Run the application using npm start +CMD ["npm", "start"] diff --git a/LICENSE.md b/LICENSE.md index cb79db1..d1a6bdc 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -1,6 +1,6 @@ The MIT License (MIT) -Copyright (c) 2014-2021 Hexagon +Copyright (c) 2025 runbgp Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -19,4 +19,3 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - diff --git a/README.md b/README.md index 35537c5..69f3c41 100644 --- a/README.md +++ b/README.md @@ -1,79 +1,61 @@ ![cryptalk](/screenshot.png) -![Node.js CI](https://github.com/Hexagon/cryptalk/workflows/Node.js%20CI/badge.svg?branch=master) -[![npm version](https://badge.fury.io/js/cryptalk.svg)](https://badge.fury.io/js/cryptalk) +![Node.js CI](https://github.com/runbgp/cryptalk/actions/workflows/node.js.yml/badge.svg) +[![Codacy Badge](https://app.codacy.com/project/badge/Grade/b96b4b6aa6df417aafd3d823a722e30f)](https://app.codacy.com/gh/runbgp/cryptalk/dashboard?utm_source=gh&utm_medium=referral&utm_content=&utm_campaign=Badge_grade) [![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE.md) -[![Codacy Badge](https://app.codacy.com/project/badge/Grade/753ef40cec1747c2b5025f834635375b)](https://www.codacy.com/gh/Hexagon/cryptalk/dashboard?utm_source=github.com&utm_medium=referral&utm_content=Hexagon/cryptalk&utm_campaign=Badge_Grade) # Cryptalk -Cyptalk is a HTML5/Node.js based, client side (E2EE) encrypted instant chat +**Cryptalk** is a client-side (E2EE) encrypted instant chat application built on HTML5 and Node.js. + +This project is a fork of [Hexagon's Cryptalk](https://github.com/Hexagon/cryptalk) and is actively maintained. It has been updated to support Node.js 22 and includes the latest packages. ## Features * Client side AES-256-CBC encryption/decryption (the server is just a messenger) * 256 bit key derived from your passphrase using PBKDF2 -* Messages torched after a configurable delay, default is 600s. -* Simple setup using npm, Docker or Heroku +* Messages torched after a configurable delay (default is 600s) +* Simple setup using Docker or Heroku * Notification sounds (mutable) * Native popup notifications * Configurable page title -* Nicknames, optional. -* Quick-links using http://server/#Room:Passphrase, optional and insecure +* Nicknames (optional) +* Quick-links using http://server/#Room:Passphrase (optional and insecure) -## Installing +## Deployment -### Docker setup +### Docker -To run latest cryptalk with docker, exposed on host port 80, simply run the following command to pull it from docker hub +To run latest cryptalk with Docker, exposed on host port 80, simply run the following command to pull it from GitHub Container registry: ```bash -sudo docker run -d --restart=always -p 80:8080 hexagon/cryptalk +sudo docker run -d --restart=unless-stopped -p 80:8080 ghcr.io/runbgp/cryptalk ``` -### Heroku setup +### Heroku Click the button below -[![Deploy](https://www.herokucdn.com/deploy/button.png)](https://heroku.com/deploy?template=https://github.com/hexagon/cryptalk) +[![Deploy](https://www.herokucdn.com/deploy/button.png)](https://heroku.com/deploy?template=https://github.com/runbgp/cryptalk) -### Docker setup without using docker hub +### Docker build Clone this repo, enter the new directory. -Build image +Build the image ```bash -docker build . --tag="hexagon/cryptalk" +docker build . --tag="runbgp/cryptalk" ``` Run container, enable start on boot, expose to port 80 at host ```bash -sudo docker run -d --restart=always -p 80:8080 hexagon/cryptalk +sudo docker run -d --restart=always -p 80:8080 runbgp/cryptalk ``` Browse to ```http:///``` Done! -### npm setup - -Install node.js, exact procedure is dependant on platform and distribution. - -Install the app from npm -```bash -npm install cryptalk -g -```` - -Then issue the following to start the app - -```bash -cryptalk -``` - -Browse to ```http://localhost:8080``` - -Done! - ## Usage ``` @@ -114,11 +96,11 @@ to prevent browsers from keeping history or cache. ## Development -Install node.js (development require >=12.0), exact procedure is dependant on platform and distribution. +Install node.js (development requires >=18.0), exact procedure is dependant on platform and distribution. Clone this repo ```bash -git clone https://github.com/Hexagon/cryptalk.git +git clone https://github.com/runbgp/cryptalk.git cd cryptalk ``` @@ -127,7 +109,7 @@ Pull dependencies from npm npm install ``` -Start server +Start the server ```bash npm run start ``` diff --git a/SECURITY.md b/SECURITY.md index 315b843..a208c63 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -2,11 +2,11 @@ ## Supported Versions -| Version | Supported | +| Version | Status | | ------- | ------------------ | -| 4.0.x | :white_check_mark: | -| < 4.0 | :x: | +| 1.3.x | ✅ Supported | +| < 1.3 | ❌ Not Supported | ## Reporting a Vulnerability -Email hexagon@56k.guru. Do NOT report an issue, we will have a look at it asap. +If you discover a vulnerability, please report it via email to [runbgp@ix0.io](mailto:runbgp@ix0.io). Do not create an issue in the repository; we will address your report as soon as possible. diff --git a/app.json b/app.json index 22cead2..ab4d086 100644 --- a/app.json +++ b/app.json @@ -12,5 +12,5 @@ "chat", "e2ee" ], - "repository": "https://github.com/Hexagon/cryptalk" + "repository": "https://github.com/runbgp/cryptalk" } \ No newline at end of file diff --git a/client/public/js/cryptalk.min.js b/client/public/js/cryptalk.min.js index 542e995..5d2c0c6 100644 --- a/client/public/js/cryptalk.min.js +++ b/client/public/js/cryptalk.min.js @@ -1 +1 @@ -(function(){"use strict";let index=0,subs={},emits={},noop=function(){};function on(fromId,event,handler,once){let i,item,subscription=[fromId,handler,handler.length>1];(subs[event]||(subs[event]=[])).push(subscription);if(emits[event]){i=0;subscription=[subscription];while(item=emits[event][i++]){emit(0,0,item[0],item[1],subscription);if(once){break}}}}function off(fromId,event,handler){let sub,i=0,toSubs=subs[event];if(toSubs){while(sub=toSubs[i++]){if(sub[0]===fromId&&(!handler||handler===sub[1])){toSubs.splice(--i,1)}}}}function emit(persistent,event,data,callback,explicitSubs){let sub,toSubs=explicitSubs||subs[event]||[],total=toSubs.length,left,loop,answers=[],done;if(subs["*"]){toSubs=toSubs.concat(subs["*"])}loop=left=toSubs.length;if(loop){done=!callback?noop:function(data){if(data){answers.push(data)}if(!--left){callback(answers,total);callback=0}};while(sub=toSubs[--loop]){sub[1](data,sub[2]?done:left--,event)}}if(!left&&callback){callback(answers,total)}if(persistent){(emits[event]||(emits[event]=[])).push([data,callback])}}function Castrato(){this.nodeId=index++;return this}Castrato.prototype.emit=function(persistent,event,data,handler){if(persistent!==true&&persistent!==false){handler=data;data=event;event=persistent;persistent=false}emit(persistent,event,data,handler);return this};Castrato.prototype.on=function(event,handler){on(this.nodeId,event,handler);return this};Castrato.prototype.once=function(event,handler){on(this.nodeId,event,function wrapper(data,done){off(this.nodeId,event,wrapper);handler(data,handler.length>1?done:done())},true);return this};Castrato.prototype.off=function(event,handler){off(this.nodeId,event,handler);return this};Castrato.prototype.destroy=function(){this.nodeId=0;index=0;subs={};emits={};return this};let castrato=new Castrato;function win(mediator){var exports={},focusCallback=function(){mediator.emit("window:focused")},blurCallback=function(){mediator.emit("window:blurred")};exports.setTitle=function(t){document.title=t},exports.getTitle=function(){return document.title};if(window.addEventListener){window.addEventListener("focus",focusCallback,true);window.addEventListener("blur",blurCallback,true)}else{window.observe("focusin",focusCallback);window.observe("focusout",blurCallback)}mediator.on("window:title",exports.setTitle);return exports}function notifications(mediator,settings,win){var enabled=true,native_supported=false,new_title,original_title,blink_timer,interval,last,now=function(){return performance.now()||Date.now()},on=function(){enabled=true},off=function(){enabled=false},resetState=function(){clearTimeout(blink_timer);if(original_title!==undefined)win.setTitle(original_title);original_title=undefined;new_title=undefined},doBlink=function(){if(enabled){if(win.getTitle()===original_title)win.setTitle(new_title);else win.setTitle(original_title);blink_timer=setTimeout(doBlink,interval)}else{resetState()}},enableNative=function(){if(native_supported&&Notification.permission!=="denied"){Notification.requestPermission()}},blinkTitleUntilFocus=function(t,i){interval=i===undefined?1e3:i;if(enabled&&original_title===undefined){new_title=t;original_title=win.getTitle();doBlink()}},notify=function(title,body,icon,fallback){if(enabled&&now()-last>settings.notifications.maxOnePerMs){if(fallback===undefined)fallback=false;if(native_supported&&Notification.permission==="granted"){var n=new Notification(title,{body:body,icon:icon});n.onshow=function(){setTimeout(function(){n.close()},3e3)};last=now()}else if(fallback){blinkTitleUntilFocus("Attention",1e3)}}};native_supported=window.Notification!==undefined;mediator.on("notification:send",function(data){notify(data.title,data.body,data.icon,true)});mediator.on("notification:on",function(){on()});mediator.on("notification:off",function(){off()});enableNative();off();last=now();resetState()}var templates={help:"
                                                                \n"+"Cryptalk, encrypted instant chat.                                      \n"+"                                                                       \n"+"----------------------------------------------------------------------\t\n"+"                                                                       \n"+"Client:                                                    \t\t\t\n"+"\t/key\t\tStrongPassphrase\tSets encryption key                 \n"+"\t/nick\t\tNickName\t\tSets an optional nick                   \n"+"\t/mute  \t\t\t\t\tAudio on\t\t\t\t\t\t\t\t\t\n"+"\t/unmute  \t\t\t\tAudio off\t\t\t\t\t\t\t\t\t\n"+"\t/clear\t\t\t\t\tClear on-screen buffer                      \n"+"\t/help\t\t\t\t\tThis                                        \n"+"\t/title\t\t\t\t\tSet your local page title\t\t\t\t\t\n"+"\t/torch\t\tAfterSeconds\t\tConsole messages are torched  \t\t\n"+"\t\t\t\t\t\tafter this amount of seconds \t\t\t\t\t\n"+"\t\t\t\t\t\t(default 600).\t\t\t\t\t\t\t\t\t\n"+"                                                                       \n"+"Room:                                                    \t\t\t\t\n"+"\t/join\t\tRoomId\t\t\tJoin a room\t                            \n"+"\t/leave\t\t\t\t\tLeave the room                              \n"+"\t/count\t\t\t\t\tCount participants                          \n"+"                                                                       \n"+"Host:  \t\t                                                    \t\n"+"\t/connect\t\t\tConnect to host\t\t\t          \t\t     \t\n"+"\t/disconnect\t\t\t\tDisconnect from host    \t\t\t        \n"+"                                                                       \n"+"You can select any of the five last commands/messages with up/down key.\n"+"                                                                       \n"+"Due to security reasons, /key command is not saved, and command        \n"+"history is  automatically cleared after one minute of inactivity.      \n"+"                                                                       \n"+"It is highly recommended to use incognito mode while chatting, \n"+"to prevent browsers from keeping history or cache.            \n"+"                                                                       \n"+"----------------------------------------------------------------------\t\n"+"
",default_nick:"Anonymous",post:{motd:'
  • {text}
  • ',info:'
  • [{timestamp}] INF> {text}
  • ',server:'
  • [{timestamp}] SRV> {text}
  • ',error:'
  • [{timestamp}] ERR> {text}
  • ',message:'
  • [{timestamp}] MSG> {nick}> {text}
  • '},messages:{key_to_short:"Hmm, that's a weak key, try again...",key_to_long:"Man that's a long key. Make it a tad short, 'kay?",key_ok:"Key set, you can now start communicating.",key_no_host:"You have to connect to a host before setting the key.",join_no_host:"You have to connect to a host before joining a room.",nick_to_short:"Nickname is too short, it has to be at least {nick_minLen} characters long. Try again.",nick_to_long:"Nickname is too long, it can be at most {nick_maxLen} characters long. Try again.",nick_set:"From now on, you're referred to as '{nick}'.",msg_no_room:"You have to join a room before sending messages. See /help.",not_in_room:"You have to be in a room to count participants...",msg_no_key:"You have to set an encryption key before sending a message. See /help.",leave_from_nowhere:"How are you supposed to leave, while being nowhere?",torch_is_now:"Messages are now torched after {ttl} seconds.",torch_not_set:"Invalid torch delay entered, nothing changed. See /help.",title_set:"The title of this window is now '{title}'.",muted:"Notifications and sounds are now muted.",unmuted:"Notifications and sounds are now on.",unrecognized_command:'Unrecognized command: "{commandName}"',room_name_too_long:"Isn't that a bit long?",room_name_too_short:"Nah, too short.",joined_room:"Joined room {roomName}.",left_room:"Left room {roomName}.",already_in_room:"You are already in a room ({room}), try /leave first.",unable_to_decrypt:"Unabled to decrypt received message, keys does not match.",socket_error:"A network error has occurred. A restart may be required to bring back full functionality.
    Examine the logs for more details.",connecting:"Connecting to host {host}...",connected:"A connection to the server has been established. Happy chatting!",disconnected:"Disconnected from host {host}.",already_connected:"You have to disconnect from {host} before joining another.",reconnect_no_host:"There is no host to reconnect with.",host_available:'{index}\t[AVAILABLE]\t{name}\n',host_unavailable:'{index}\t[UNAVAILABLE]\t{name}\n'},server:{person_joined:"A person joined this room.",person_left:"A person left this room.",person_count:"There are {payload} people in this room, including you.",person_single:"You are the only person in this room.",command_failed:"Server command failed, you're probably trying to du something bogus.",bogus:"Received a bogus message from server."},client:{title:"Cryptalk - Offline"}};var settings={title:"Cryptalk - Online",ttl:6e5,motd:"
    \n\n"+"▄████▄   ██▀███ ▓██   ██▓ ██▓███  ▄▄▄█████▓ ▄▄▄       ██▓     ██ ▄█▀  \n"+"▒██▀ ▀█  ▓██ ▒ ██▒▒██  ██▒▓██░  ██▒▓  ██▒ ▓▒▒████▄    ▓██▒     ██▄█▒  \n"+"▒▓█    ▄ ▓██ ░▄█ ▒ ▒██ ██░▓██░ ██▓▒▒ ▓██░ ▒░▒██  ▀█▄  ▒██░    ▓███▄░  \n"+"▒▓▓▄ ▄██▒▒██▀▀█▄   ░ ▐██▓░▒██▄█▓▒ ▒░ ▓██▓ ░ ░██▄▄▄▄██ ▒██░    ▓██ █▄  \n"+"▒ ▓███▀ ░░██▓ ▒██▒ ░ ██▒▓░▒██▒ ░  ░  ▒██▒ ░  ▓█   ▓██▒░██████▒▒██▒ █▄ \n"+"░ ░▒ ▒  ░░ ▒▓ ░▒▓░  ██▒▒▒ ▒▓▒░ ░  ░  ▒ ░░    ▒▒   ▓▒█░░ ▒░▓  ░▒ ▒▒ ▓▒ \n"+"  ░  ▒     ░▒ ░ ▒░▓██ ░▒░ ░▒ ░         ░      ▒   ▒▒ ░░ ░ ▒  ░░ ░▒ ▒░ \n"+"░          ░░   ░ ▒ ▒ ░░  ░░         ░        ░   ▒     ░ ░   ░ ░░ ░  \n"+"░ ░         ░     ░ ░                             ░  ░    ░  ░░  ░    \n"+"░                 ░ ░                                                 \n"+"                                  https://github.com/hexagon/cryptalk \n"+"                                                                      \n"+" Tip of the day: /help                                                \n"+"----------------------------------------------------------------------"+"
    ",nick:{maxLen:20,minLen:2},key:{maxLen:1024,minLen:8},room:{minLen:1,maxLen:64},notifications:{maxOnePerMs:3e3}};var commonjsGlobal=typeof globalThis!=="undefined"?globalThis:typeof window!=="undefined"?window:typeof global!=="undefined"?global:typeof self!=="undefined"?self:{};function commonjsRequire(path){throw new Error('Could not dynamically require "'+path+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var cryptoJs={exports:{}};var core={exports:{}};(function(module,exports){(function(root,factory){{module.exports=factory()}})(commonjsGlobal,function(){var CryptoJS=CryptoJS||function(Math,undefined$1){var crypto;if(typeof window!=="undefined"&&window.crypto){crypto=window.crypto}if(typeof self!=="undefined"&&self.crypto){crypto=self.crypto}if(typeof globalThis!=="undefined"&&globalThis.crypto){crypto=globalThis.crypto}if(!crypto&&typeof window!=="undefined"&&window.msCrypto){crypto=window.msCrypto}if(!crypto&&typeof commonjsGlobal!=="undefined"&&commonjsGlobal.crypto){crypto=commonjsGlobal.crypto}if(!crypto&&typeof commonjsRequire==="function"){try{crypto=require("crypto")}catch(err){}}var cryptoSecureRandomInt=function(){if(crypto){if(typeof crypto.getRandomValues==="function"){try{return crypto.getRandomValues(new Uint32Array(1))[0]}catch(err){}}if(typeof crypto.randomBytes==="function"){try{return crypto.randomBytes(4).readInt32LE()}catch(err){}}}throw new Error("Native crypto module could not be used to get secure random number.")};var create=Object.create||function(){function F(){}return function(obj){var subtype;F.prototype=obj;subtype=new F;F.prototype=null;return subtype}}();var C={};var C_lib=C.lib={};var Base=C_lib.Base=function(){return{extend:function(overrides){var subtype=create(this);if(overrides){subtype.mixIn(overrides)}if(!subtype.hasOwnProperty("init")||this.init===subtype.init){subtype.init=function(){subtype.$super.init.apply(this,arguments)}}subtype.init.prototype=subtype;subtype.$super=this;return subtype},create:function(){var instance=this.extend();instance.init.apply(instance,arguments);return instance},init:function(){},mixIn:function(properties){for(var propertyName in properties){if(properties.hasOwnProperty(propertyName)){this[propertyName]=properties[propertyName]}}if(properties.hasOwnProperty("toString")){this.toString=properties.toString}},clone:function(){return this.init.prototype.extend(this)}}}();var WordArray=C_lib.WordArray=Base.extend({init:function(words,sigBytes){words=this.words=words||[];if(sigBytes!=undefined$1){this.sigBytes=sigBytes}else{this.sigBytes=words.length*4}},toString:function(encoder){return(encoder||Hex).stringify(this)},concat:function(wordArray){var thisWords=this.words;var thatWords=wordArray.words;var thisSigBytes=this.sigBytes;var thatSigBytes=wordArray.sigBytes;this.clamp();if(thisSigBytes%4){for(var i=0;i>>2]>>>24-i%4*8&255;thisWords[thisSigBytes+i>>>2]|=thatByte<<24-(thisSigBytes+i)%4*8}}else{for(var j=0;j>>2]=thatWords[j>>>2]}}this.sigBytes+=thatSigBytes;return this},clamp:function(){var words=this.words;var sigBytes=this.sigBytes;words[sigBytes>>>2]&=4294967295<<32-sigBytes%4*8;words.length=Math.ceil(sigBytes/4)},clone:function(){var clone=Base.clone.call(this);clone.words=this.words.slice(0);return clone},random:function(nBytes){var words=[];for(var i=0;i>>2]>>>24-i%4*8&255;hexChars.push((bite>>>4).toString(16));hexChars.push((bite&15).toString(16))}return hexChars.join("")},parse:function(hexStr){var hexStrLength=hexStr.length;var words=[];for(var i=0;i>>3]|=parseInt(hexStr.substr(i,2),16)<<24-i%8*4}return new WordArray.init(words,hexStrLength/2)}};var Latin1=C_enc.Latin1={stringify:function(wordArray){var words=wordArray.words;var sigBytes=wordArray.sigBytes;var latin1Chars=[];for(var i=0;i>>2]>>>24-i%4*8&255;latin1Chars.push(String.fromCharCode(bite))}return latin1Chars.join("")},parse:function(latin1Str){var latin1StrLength=latin1Str.length;var words=[];for(var i=0;i>>2]|=(latin1Str.charCodeAt(i)&255)<<24-i%4*8}return new WordArray.init(words,latin1StrLength)}};var Utf8=C_enc.Utf8={stringify:function(wordArray){try{return decodeURIComponent(escape(Latin1.stringify(wordArray)))}catch(e){throw new Error("Malformed UTF-8 data")}},parse:function(utf8Str){return Latin1.parse(unescape(encodeURIComponent(utf8Str)))}};var BufferedBlockAlgorithm=C_lib.BufferedBlockAlgorithm=Base.extend({reset:function(){this._data=new WordArray.init;this._nDataBytes=0},_append:function(data){if(typeof data=="string"){data=Utf8.parse(data)}this._data.concat(data);this._nDataBytes+=data.sigBytes},_process:function(doFlush){var processedWords;var data=this._data;var dataWords=data.words;var dataSigBytes=data.sigBytes;var blockSize=this.blockSize;var blockSizeBytes=blockSize*4;var nBlocksReady=dataSigBytes/blockSizeBytes;if(doFlush){nBlocksReady=Math.ceil(nBlocksReady)}else{nBlocksReady=Math.max((nBlocksReady|0)-this._minBufferSize,0)}var nWordsReady=nBlocksReady*blockSize;var nBytesReady=Math.min(nWordsReady*4,dataSigBytes);if(nWordsReady){for(var offset=0;offset>>2]|=typedArray[i]<<24-i%4*8}superInit.call(this,words,typedArrayByteLength)}else{superInit.apply(this,arguments)}};subInit.prototype=WordArray})();return CryptoJS.lib.WordArray})})(libTypedarrays);var encUtf16={exports:{}};(function(module,exports){(function(root,factory){{module.exports=factory(core.exports)}})(commonjsGlobal,function(CryptoJS){(function(){var C=CryptoJS;var C_lib=C.lib;var WordArray=C_lib.WordArray;var C_enc=C.enc;C_enc.Utf16=C_enc.Utf16BE={stringify:function(wordArray){var words=wordArray.words;var sigBytes=wordArray.sigBytes;var utf16Chars=[];for(var i=0;i>>2]>>>16-i%4*8&65535;utf16Chars.push(String.fromCharCode(codePoint))}return utf16Chars.join("")},parse:function(utf16Str){var utf16StrLength=utf16Str.length;var words=[];for(var i=0;i>>1]|=utf16Str.charCodeAt(i)<<16-i%2*16}return WordArray.create(words,utf16StrLength*2)}};C_enc.Utf16LE={stringify:function(wordArray){var words=wordArray.words;var sigBytes=wordArray.sigBytes;var utf16Chars=[];for(var i=0;i>>2]>>>16-i%4*8&65535);utf16Chars.push(String.fromCharCode(codePoint))}return utf16Chars.join("")},parse:function(utf16Str){var utf16StrLength=utf16Str.length;var words=[];for(var i=0;i>>1]|=swapEndian(utf16Str.charCodeAt(i)<<16-i%2*16)}return WordArray.create(words,utf16StrLength*2)}};function swapEndian(word){return word<<8&4278255360|word>>>8&16711935}})();return CryptoJS.enc.Utf16})})(encUtf16);var encBase64={exports:{}};(function(module,exports){(function(root,factory){{module.exports=factory(core.exports)}})(commonjsGlobal,function(CryptoJS){(function(){var C=CryptoJS;var C_lib=C.lib;var WordArray=C_lib.WordArray;var C_enc=C.enc;C_enc.Base64={stringify:function(wordArray){var words=wordArray.words;var sigBytes=wordArray.sigBytes;var map=this._map;wordArray.clamp();var base64Chars=[];for(var i=0;i>>2]>>>24-i%4*8&255;var byte2=words[i+1>>>2]>>>24-(i+1)%4*8&255;var byte3=words[i+2>>>2]>>>24-(i+2)%4*8&255;var triplet=byte1<<16|byte2<<8|byte3;for(var j=0;j<4&&i+j*.75>>6*(3-j)&63))}}var paddingChar=map.charAt(64);if(paddingChar){while(base64Chars.length%4){base64Chars.push(paddingChar)}}return base64Chars.join("")},parse:function(base64Str){var base64StrLength=base64Str.length;var map=this._map;var reverseMap=this._reverseMap;if(!reverseMap){reverseMap=this._reverseMap=[];for(var j=0;j>>6-i%4*2;var bitsCombined=bits1|bits2;words[nBytes>>>2]|=bitsCombined<<24-nBytes%4*8;nBytes++}}return WordArray.create(words,nBytes)}})();return CryptoJS.enc.Base64})})(encBase64);var encBase64url={exports:{}};(function(module,exports){(function(root,factory){{module.exports=factory(core.exports)}})(commonjsGlobal,function(CryptoJS){(function(){var C=CryptoJS;var C_lib=C.lib;var WordArray=C_lib.WordArray;var C_enc=C.enc;C_enc.Base64url={stringify:function(wordArray,urlSafe=true){var words=wordArray.words;var sigBytes=wordArray.sigBytes;var map=urlSafe?this._safe_map:this._map;wordArray.clamp();var base64Chars=[];for(var i=0;i>>2]>>>24-i%4*8&255;var byte2=words[i+1>>>2]>>>24-(i+1)%4*8&255;var byte3=words[i+2>>>2]>>>24-(i+2)%4*8&255;var triplet=byte1<<16|byte2<<8|byte3;for(var j=0;j<4&&i+j*.75>>6*(3-j)&63))}}var paddingChar=map.charAt(64);if(paddingChar){while(base64Chars.length%4){base64Chars.push(paddingChar)}}return base64Chars.join("")},parse:function(base64Str,urlSafe=true){var base64StrLength=base64Str.length;var map=urlSafe?this._safe_map:this._map;var reverseMap=this._reverseMap;if(!reverseMap){reverseMap=this._reverseMap=[];for(var j=0;j>>6-i%4*2;var bitsCombined=bits1|bits2;words[nBytes>>>2]|=bitsCombined<<24-nBytes%4*8;nBytes++}}return WordArray.create(words,nBytes)}})();return CryptoJS.enc.Base64url})})(encBase64url);var md5={exports:{}};(function(module,exports){(function(root,factory){{module.exports=factory(core.exports)}})(commonjsGlobal,function(CryptoJS){(function(Math){var C=CryptoJS;var C_lib=C.lib;var WordArray=C_lib.WordArray;var Hasher=C_lib.Hasher;var C_algo=C.algo;var T=[];(function(){for(var i=0;i<64;i++){T[i]=Math.abs(Math.sin(i+1))*4294967296|0}})();var MD5=C_algo.MD5=Hasher.extend({_doReset:function(){this._hash=new WordArray.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(M,offset){for(var i=0;i<16;i++){var offset_i=offset+i;var M_offset_i=M[offset_i];M[offset_i]=(M_offset_i<<8|M_offset_i>>>24)&16711935|(M_offset_i<<24|M_offset_i>>>8)&4278255360}var H=this._hash.words;var M_offset_0=M[offset+0];var M_offset_1=M[offset+1];var M_offset_2=M[offset+2];var M_offset_3=M[offset+3];var M_offset_4=M[offset+4];var M_offset_5=M[offset+5];var M_offset_6=M[offset+6];var M_offset_7=M[offset+7];var M_offset_8=M[offset+8];var M_offset_9=M[offset+9];var M_offset_10=M[offset+10];var M_offset_11=M[offset+11];var M_offset_12=M[offset+12];var M_offset_13=M[offset+13];var M_offset_14=M[offset+14];var M_offset_15=M[offset+15];var a=H[0];var b=H[1];var c=H[2];var d=H[3];a=FF(a,b,c,d,M_offset_0,7,T[0]);d=FF(d,a,b,c,M_offset_1,12,T[1]);c=FF(c,d,a,b,M_offset_2,17,T[2]);b=FF(b,c,d,a,M_offset_3,22,T[3]);a=FF(a,b,c,d,M_offset_4,7,T[4]);d=FF(d,a,b,c,M_offset_5,12,T[5]);c=FF(c,d,a,b,M_offset_6,17,T[6]);b=FF(b,c,d,a,M_offset_7,22,T[7]);a=FF(a,b,c,d,M_offset_8,7,T[8]);d=FF(d,a,b,c,M_offset_9,12,T[9]);c=FF(c,d,a,b,M_offset_10,17,T[10]);b=FF(b,c,d,a,M_offset_11,22,T[11]);a=FF(a,b,c,d,M_offset_12,7,T[12]);d=FF(d,a,b,c,M_offset_13,12,T[13]);c=FF(c,d,a,b,M_offset_14,17,T[14]);b=FF(b,c,d,a,M_offset_15,22,T[15]);a=GG(a,b,c,d,M_offset_1,5,T[16]);d=GG(d,a,b,c,M_offset_6,9,T[17]);c=GG(c,d,a,b,M_offset_11,14,T[18]);b=GG(b,c,d,a,M_offset_0,20,T[19]);a=GG(a,b,c,d,M_offset_5,5,T[20]);d=GG(d,a,b,c,M_offset_10,9,T[21]);c=GG(c,d,a,b,M_offset_15,14,T[22]);b=GG(b,c,d,a,M_offset_4,20,T[23]);a=GG(a,b,c,d,M_offset_9,5,T[24]);d=GG(d,a,b,c,M_offset_14,9,T[25]);c=GG(c,d,a,b,M_offset_3,14,T[26]);b=GG(b,c,d,a,M_offset_8,20,T[27]);a=GG(a,b,c,d,M_offset_13,5,T[28]);d=GG(d,a,b,c,M_offset_2,9,T[29]);c=GG(c,d,a,b,M_offset_7,14,T[30]);b=GG(b,c,d,a,M_offset_12,20,T[31]);a=HH(a,b,c,d,M_offset_5,4,T[32]);d=HH(d,a,b,c,M_offset_8,11,T[33]);c=HH(c,d,a,b,M_offset_11,16,T[34]);b=HH(b,c,d,a,M_offset_14,23,T[35]);a=HH(a,b,c,d,M_offset_1,4,T[36]);d=HH(d,a,b,c,M_offset_4,11,T[37]);c=HH(c,d,a,b,M_offset_7,16,T[38]);b=HH(b,c,d,a,M_offset_10,23,T[39]);a=HH(a,b,c,d,M_offset_13,4,T[40]);d=HH(d,a,b,c,M_offset_0,11,T[41]);c=HH(c,d,a,b,M_offset_3,16,T[42]);b=HH(b,c,d,a,M_offset_6,23,T[43]);a=HH(a,b,c,d,M_offset_9,4,T[44]);d=HH(d,a,b,c,M_offset_12,11,T[45]);c=HH(c,d,a,b,M_offset_15,16,T[46]);b=HH(b,c,d,a,M_offset_2,23,T[47]);a=II(a,b,c,d,M_offset_0,6,T[48]);d=II(d,a,b,c,M_offset_7,10,T[49]);c=II(c,d,a,b,M_offset_14,15,T[50]);b=II(b,c,d,a,M_offset_5,21,T[51]);a=II(a,b,c,d,M_offset_12,6,T[52]);d=II(d,a,b,c,M_offset_3,10,T[53]);c=II(c,d,a,b,M_offset_10,15,T[54]);b=II(b,c,d,a,M_offset_1,21,T[55]);a=II(a,b,c,d,M_offset_8,6,T[56]);d=II(d,a,b,c,M_offset_15,10,T[57]);c=II(c,d,a,b,M_offset_6,15,T[58]);b=II(b,c,d,a,M_offset_13,21,T[59]);a=II(a,b,c,d,M_offset_4,6,T[60]);d=II(d,a,b,c,M_offset_11,10,T[61]);c=II(c,d,a,b,M_offset_2,15,T[62]);b=II(b,c,d,a,M_offset_9,21,T[63]);H[0]=H[0]+a|0;H[1]=H[1]+b|0;H[2]=H[2]+c|0;H[3]=H[3]+d|0},_doFinalize:function(){var data=this._data;var dataWords=data.words;var nBitsTotal=this._nDataBytes*8;var nBitsLeft=data.sigBytes*8;dataWords[nBitsLeft>>>5]|=128<<24-nBitsLeft%32;var nBitsTotalH=Math.floor(nBitsTotal/4294967296);var nBitsTotalL=nBitsTotal;dataWords[(nBitsLeft+64>>>9<<4)+15]=(nBitsTotalH<<8|nBitsTotalH>>>24)&16711935|(nBitsTotalH<<24|nBitsTotalH>>>8)&4278255360;dataWords[(nBitsLeft+64>>>9<<4)+14]=(nBitsTotalL<<8|nBitsTotalL>>>24)&16711935|(nBitsTotalL<<24|nBitsTotalL>>>8)&4278255360;data.sigBytes=(dataWords.length+1)*4;this._process();var hash=this._hash;var H=hash.words;for(var i=0;i<4;i++){var H_i=H[i];H[i]=(H_i<<8|H_i>>>24)&16711935|(H_i<<24|H_i>>>8)&4278255360}return hash},clone:function(){var clone=Hasher.clone.call(this);clone._hash=this._hash.clone();return clone}});function FF(a,b,c,d,x,s,t){var n=a+(b&c|~b&d)+x+t;return(n<>>32-s)+b}function GG(a,b,c,d,x,s,t){var n=a+(b&d|c&~d)+x+t;return(n<>>32-s)+b}function HH(a,b,c,d,x,s,t){var n=a+(b^c^d)+x+t;return(n<>>32-s)+b}function II(a,b,c,d,x,s,t){var n=a+(c^(b|~d))+x+t;return(n<>>32-s)+b}C.MD5=Hasher._createHelper(MD5);C.HmacMD5=Hasher._createHmacHelper(MD5)})(Math);return CryptoJS.MD5})})(md5);var sha1={exports:{}};(function(module,exports){(function(root,factory){{module.exports=factory(core.exports)}})(commonjsGlobal,function(CryptoJS){(function(){var C=CryptoJS;var C_lib=C.lib;var WordArray=C_lib.WordArray;var Hasher=C_lib.Hasher;var C_algo=C.algo;var W=[];var SHA1=C_algo.SHA1=Hasher.extend({_doReset:function(){this._hash=new WordArray.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(M,offset){var H=this._hash.words;var a=H[0];var b=H[1];var c=H[2];var d=H[3];var e=H[4];for(var i=0;i<80;i++){if(i<16){W[i]=M[offset+i]|0}else{var n=W[i-3]^W[i-8]^W[i-14]^W[i-16];W[i]=n<<1|n>>>31}var t=(a<<5|a>>>27)+e+W[i];if(i<20){t+=(b&c|~b&d)+1518500249}else if(i<40){t+=(b^c^d)+1859775393}else if(i<60){t+=(b&c|b&d|c&d)-1894007588}else{t+=(b^c^d)-899497514}e=d;d=c;c=b<<30|b>>>2;b=a;a=t}H[0]=H[0]+a|0;H[1]=H[1]+b|0;H[2]=H[2]+c|0;H[3]=H[3]+d|0;H[4]=H[4]+e|0},_doFinalize:function(){var data=this._data;var dataWords=data.words;var nBitsTotal=this._nDataBytes*8;var nBitsLeft=data.sigBytes*8;dataWords[nBitsLeft>>>5]|=128<<24-nBitsLeft%32;dataWords[(nBitsLeft+64>>>9<<4)+14]=Math.floor(nBitsTotal/4294967296);dataWords[(nBitsLeft+64>>>9<<4)+15]=nBitsTotal;data.sigBytes=dataWords.length*4;this._process();return this._hash},clone:function(){var clone=Hasher.clone.call(this);clone._hash=this._hash.clone();return clone}});C.SHA1=Hasher._createHelper(SHA1);C.HmacSHA1=Hasher._createHmacHelper(SHA1)})();return CryptoJS.SHA1})})(sha1);var sha256={exports:{}};(function(module,exports){(function(root,factory){{module.exports=factory(core.exports)}})(commonjsGlobal,function(CryptoJS){(function(Math){var C=CryptoJS;var C_lib=C.lib;var WordArray=C_lib.WordArray;var Hasher=C_lib.Hasher;var C_algo=C.algo;var H=[];var K=[];(function(){function isPrime(n){var sqrtN=Math.sqrt(n);for(var factor=2;factor<=sqrtN;factor++){if(!(n%factor)){return false}}return true}function getFractionalBits(n){return(n-(n|0))*4294967296|0}var n=2;var nPrime=0;while(nPrime<64){if(isPrime(n)){if(nPrime<8){H[nPrime]=getFractionalBits(Math.pow(n,1/2))}K[nPrime]=getFractionalBits(Math.pow(n,1/3));nPrime++}n++}})();var W=[];var SHA256=C_algo.SHA256=Hasher.extend({_doReset:function(){this._hash=new WordArray.init(H.slice(0))},_doProcessBlock:function(M,offset){var H=this._hash.words;var a=H[0];var b=H[1];var c=H[2];var d=H[3];var e=H[4];var f=H[5];var g=H[6];var h=H[7];for(var i=0;i<64;i++){if(i<16){W[i]=M[offset+i]|0}else{var gamma0x=W[i-15];var gamma0=(gamma0x<<25|gamma0x>>>7)^(gamma0x<<14|gamma0x>>>18)^gamma0x>>>3;var gamma1x=W[i-2];var gamma1=(gamma1x<<15|gamma1x>>>17)^(gamma1x<<13|gamma1x>>>19)^gamma1x>>>10;W[i]=gamma0+W[i-7]+gamma1+W[i-16]}var ch=e&f^~e&g;var maj=a&b^a&c^b&c;var sigma0=(a<<30|a>>>2)^(a<<19|a>>>13)^(a<<10|a>>>22);var sigma1=(e<<26|e>>>6)^(e<<21|e>>>11)^(e<<7|e>>>25);var t1=h+sigma1+ch+K[i]+W[i];var t2=sigma0+maj;h=g;g=f;f=e;e=d+t1|0;d=c;c=b;b=a;a=t1+t2|0}H[0]=H[0]+a|0;H[1]=H[1]+b|0;H[2]=H[2]+c|0;H[3]=H[3]+d|0;H[4]=H[4]+e|0;H[5]=H[5]+f|0;H[6]=H[6]+g|0;H[7]=H[7]+h|0},_doFinalize:function(){var data=this._data;var dataWords=data.words;var nBitsTotal=this._nDataBytes*8;var nBitsLeft=data.sigBytes*8;dataWords[nBitsLeft>>>5]|=128<<24-nBitsLeft%32;dataWords[(nBitsLeft+64>>>9<<4)+14]=Math.floor(nBitsTotal/4294967296);dataWords[(nBitsLeft+64>>>9<<4)+15]=nBitsTotal;data.sigBytes=dataWords.length*4;this._process();return this._hash},clone:function(){var clone=Hasher.clone.call(this);clone._hash=this._hash.clone();return clone}});C.SHA256=Hasher._createHelper(SHA256);C.HmacSHA256=Hasher._createHmacHelper(SHA256)})(Math);return CryptoJS.SHA256})})(sha256);var sha224={exports:{}};(function(module,exports){(function(root,factory,undef){{module.exports=factory(core.exports,sha256.exports)}})(commonjsGlobal,function(CryptoJS){(function(){var C=CryptoJS;var C_lib=C.lib;var WordArray=C_lib.WordArray;var C_algo=C.algo;var SHA256=C_algo.SHA256;var SHA224=C_algo.SHA224=SHA256.extend({_doReset:function(){this._hash=new WordArray.init([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428])},_doFinalize:function(){var hash=SHA256._doFinalize.call(this);hash.sigBytes-=4;return hash}});C.SHA224=SHA256._createHelper(SHA224);C.HmacSHA224=SHA256._createHmacHelper(SHA224)})();return CryptoJS.SHA224})})(sha224);var sha512={exports:{}};(function(module,exports){(function(root,factory,undef){{module.exports=factory(core.exports,x64Core.exports)}})(commonjsGlobal,function(CryptoJS){(function(){var C=CryptoJS;var C_lib=C.lib;var Hasher=C_lib.Hasher;var C_x64=C.x64;var X64Word=C_x64.Word;var X64WordArray=C_x64.WordArray;var C_algo=C.algo;function X64Word_create(){return X64Word.create.apply(X64Word,arguments)}var K=[X64Word_create(1116352408,3609767458),X64Word_create(1899447441,602891725),X64Word_create(3049323471,3964484399),X64Word_create(3921009573,2173295548),X64Word_create(961987163,4081628472),X64Word_create(1508970993,3053834265),X64Word_create(2453635748,2937671579),X64Word_create(2870763221,3664609560),X64Word_create(3624381080,2734883394),X64Word_create(310598401,1164996542),X64Word_create(607225278,1323610764),X64Word_create(1426881987,3590304994),X64Word_create(1925078388,4068182383),X64Word_create(2162078206,991336113),X64Word_create(2614888103,633803317),X64Word_create(3248222580,3479774868),X64Word_create(3835390401,2666613458),X64Word_create(4022224774,944711139),X64Word_create(264347078,2341262773),X64Word_create(604807628,2007800933),X64Word_create(770255983,1495990901),X64Word_create(1249150122,1856431235),X64Word_create(1555081692,3175218132),X64Word_create(1996064986,2198950837),X64Word_create(2554220882,3999719339),X64Word_create(2821834349,766784016),X64Word_create(2952996808,2566594879),X64Word_create(3210313671,3203337956),X64Word_create(3336571891,1034457026),X64Word_create(3584528711,2466948901),X64Word_create(113926993,3758326383),X64Word_create(338241895,168717936),X64Word_create(666307205,1188179964),X64Word_create(773529912,1546045734),X64Word_create(1294757372,1522805485),X64Word_create(1396182291,2643833823),X64Word_create(1695183700,2343527390),X64Word_create(1986661051,1014477480),X64Word_create(2177026350,1206759142),X64Word_create(2456956037,344077627),X64Word_create(2730485921,1290863460),X64Word_create(2820302411,3158454273),X64Word_create(3259730800,3505952657),X64Word_create(3345764771,106217008),X64Word_create(3516065817,3606008344),X64Word_create(3600352804,1432725776),X64Word_create(4094571909,1467031594),X64Word_create(275423344,851169720),X64Word_create(430227734,3100823752),X64Word_create(506948616,1363258195),X64Word_create(659060556,3750685593),X64Word_create(883997877,3785050280),X64Word_create(958139571,3318307427),X64Word_create(1322822218,3812723403),X64Word_create(1537002063,2003034995),X64Word_create(1747873779,3602036899),X64Word_create(1955562222,1575990012),X64Word_create(2024104815,1125592928),X64Word_create(2227730452,2716904306),X64Word_create(2361852424,442776044),X64Word_create(2428436474,593698344),X64Word_create(2756734187,3733110249),X64Word_create(3204031479,2999351573),X64Word_create(3329325298,3815920427),X64Word_create(3391569614,3928383900),X64Word_create(3515267271,566280711),X64Word_create(3940187606,3454069534),X64Word_create(4118630271,4000239992),X64Word_create(116418474,1914138554),X64Word_create(174292421,2731055270),X64Word_create(289380356,3203993006),X64Word_create(460393269,320620315),X64Word_create(685471733,587496836),X64Word_create(852142971,1086792851),X64Word_create(1017036298,365543100),X64Word_create(1126000580,2618297676),X64Word_create(1288033470,3409855158),X64Word_create(1501505948,4234509866),X64Word_create(1607167915,987167468),X64Word_create(1816402316,1246189591)];var W=[];(function(){for(var i=0;i<80;i++){W[i]=X64Word_create()}})();var SHA512=C_algo.SHA512=Hasher.extend({_doReset:function(){this._hash=new X64WordArray.init([new X64Word.init(1779033703,4089235720),new X64Word.init(3144134277,2227873595),new X64Word.init(1013904242,4271175723),new X64Word.init(2773480762,1595750129),new X64Word.init(1359893119,2917565137),new X64Word.init(2600822924,725511199),new X64Word.init(528734635,4215389547),new X64Word.init(1541459225,327033209)])},_doProcessBlock:function(M,offset){var H=this._hash.words;var H0=H[0];var H1=H[1];var H2=H[2];var H3=H[3];var H4=H[4];var H5=H[5];var H6=H[6];var H7=H[7];var H0h=H0.high;var H0l=H0.low;var H1h=H1.high;var H1l=H1.low;var H2h=H2.high;var H2l=H2.low;var H3h=H3.high;var H3l=H3.low;var H4h=H4.high;var H4l=H4.low;var H5h=H5.high;var H5l=H5.low;var H6h=H6.high;var H6l=H6.low;var H7h=H7.high;var H7l=H7.low;var ah=H0h;var al=H0l;var bh=H1h;var bl=H1l;var ch=H2h;var cl=H2l;var dh=H3h;var dl=H3l;var eh=H4h;var el=H4l;var fh=H5h;var fl=H5l;var gh=H6h;var gl=H6l;var hh=H7h;var hl=H7l;for(var i=0;i<80;i++){var Wil;var Wih;var Wi=W[i];if(i<16){Wih=Wi.high=M[offset+i*2]|0;Wil=Wi.low=M[offset+i*2+1]|0}else{var gamma0x=W[i-15];var gamma0xh=gamma0x.high;var gamma0xl=gamma0x.low;var gamma0h=(gamma0xh>>>1|gamma0xl<<31)^(gamma0xh>>>8|gamma0xl<<24)^gamma0xh>>>7;var gamma0l=(gamma0xl>>>1|gamma0xh<<31)^(gamma0xl>>>8|gamma0xh<<24)^(gamma0xl>>>7|gamma0xh<<25);var gamma1x=W[i-2];var gamma1xh=gamma1x.high;var gamma1xl=gamma1x.low;var gamma1h=(gamma1xh>>>19|gamma1xl<<13)^(gamma1xh<<3|gamma1xl>>>29)^gamma1xh>>>6;var gamma1l=(gamma1xl>>>19|gamma1xh<<13)^(gamma1xl<<3|gamma1xh>>>29)^(gamma1xl>>>6|gamma1xh<<26);var Wi7=W[i-7];var Wi7h=Wi7.high;var Wi7l=Wi7.low;var Wi16=W[i-16];var Wi16h=Wi16.high;var Wi16l=Wi16.low;Wil=gamma0l+Wi7l;Wih=gamma0h+Wi7h+(Wil>>>0>>0?1:0);Wil=Wil+gamma1l;Wih=Wih+gamma1h+(Wil>>>0>>0?1:0);Wil=Wil+Wi16l;Wih=Wih+Wi16h+(Wil>>>0>>0?1:0);Wi.high=Wih;Wi.low=Wil}var chh=eh&fh^~eh&gh;var chl=el&fl^~el≷var majh=ah&bh^ah&ch^bh&ch;var majl=al&bl^al&cl^bl&cl;var sigma0h=(ah>>>28|al<<4)^(ah<<30|al>>>2)^(ah<<25|al>>>7);var sigma0l=(al>>>28|ah<<4)^(al<<30|ah>>>2)^(al<<25|ah>>>7);var sigma1h=(eh>>>14|el<<18)^(eh>>>18|el<<14)^(eh<<23|el>>>9);var sigma1l=(el>>>14|eh<<18)^(el>>>18|eh<<14)^(el<<23|eh>>>9);var Ki=K[i];var Kih=Ki.high;var Kil=Ki.low;var t1l=hl+sigma1l;var t1h=hh+sigma1h+(t1l>>>0>>0?1:0);var t1l=t1l+chl;var t1h=t1h+chh+(t1l>>>0>>0?1:0);var t1l=t1l+Kil;var t1h=t1h+Kih+(t1l>>>0>>0?1:0);var t1l=t1l+Wil;var t1h=t1h+Wih+(t1l>>>0>>0?1:0);var t2l=sigma0l+majl;var t2h=sigma0h+majh+(t2l>>>0>>0?1:0);hh=gh;hl=gl;gh=fh;gl=fl;fh=eh;fl=el;el=dl+t1l|0;eh=dh+t1h+(el>>>0
    >>0?1:0)|0;dh=ch;dl=cl;ch=bh;cl=bl;bh=ah;bl=al;al=t1l+t2l|0;ah=t1h+t2h+(al>>>0>>0?1:0)|0}H0l=H0.low=H0l+al;H0.high=H0h+ah+(H0l>>>0>>0?1:0);H1l=H1.low=H1l+bl;H1.high=H1h+bh+(H1l>>>0>>0?1:0);H2l=H2.low=H2l+cl;H2.high=H2h+ch+(H2l>>>0>>0?1:0);H3l=H3.low=H3l+dl;H3.high=H3h+dh+(H3l>>>0
    >>0?1:0);H4l=H4.low=H4l+el;H4.high=H4h+eh+(H4l>>>0>>0?1:0);H5l=H5.low=H5l+fl;H5.high=H5h+fh+(H5l>>>0>>0?1:0);H6l=H6.low=H6l+gl;H6.high=H6h+gh+(H6l>>>0>>0?1:0);H7l=H7.low=H7l+hl;H7.high=H7h+hh+(H7l>>>0>>0?1:0)},_doFinalize:function(){var data=this._data;var dataWords=data.words;var nBitsTotal=this._nDataBytes*8;var nBitsLeft=data.sigBytes*8;dataWords[nBitsLeft>>>5]|=128<<24-nBitsLeft%32;dataWords[(nBitsLeft+128>>>10<<5)+30]=Math.floor(nBitsTotal/4294967296);dataWords[(nBitsLeft+128>>>10<<5)+31]=nBitsTotal;data.sigBytes=dataWords.length*4;this._process();var hash=this._hash.toX32();return hash},clone:function(){var clone=Hasher.clone.call(this);clone._hash=this._hash.clone();return clone},blockSize:1024/32});C.SHA512=Hasher._createHelper(SHA512);C.HmacSHA512=Hasher._createHmacHelper(SHA512)})();return CryptoJS.SHA512})})(sha512);var sha384={exports:{}};(function(module,exports){(function(root,factory,undef){{module.exports=factory(core.exports,x64Core.exports,sha512.exports)}})(commonjsGlobal,function(CryptoJS){(function(){var C=CryptoJS;var C_x64=C.x64;var X64Word=C_x64.Word;var X64WordArray=C_x64.WordArray;var C_algo=C.algo;var SHA512=C_algo.SHA512;var SHA384=C_algo.SHA384=SHA512.extend({_doReset:function(){this._hash=new X64WordArray.init([new X64Word.init(3418070365,3238371032),new X64Word.init(1654270250,914150663),new X64Word.init(2438529370,812702999),new X64Word.init(355462360,4144912697),new X64Word.init(1731405415,4290775857),new X64Word.init(2394180231,1750603025),new X64Word.init(3675008525,1694076839),new X64Word.init(1203062813,3204075428)])},_doFinalize:function(){var hash=SHA512._doFinalize.call(this);hash.sigBytes-=16;return hash}});C.SHA384=SHA512._createHelper(SHA384);C.HmacSHA384=SHA512._createHmacHelper(SHA384)})();return CryptoJS.SHA384})})(sha384);var sha3={exports:{}};(function(module,exports){(function(root,factory,undef){{module.exports=factory(core.exports,x64Core.exports)}})(commonjsGlobal,function(CryptoJS){(function(Math){var C=CryptoJS;var C_lib=C.lib;var WordArray=C_lib.WordArray;var Hasher=C_lib.Hasher;var C_x64=C.x64;var X64Word=C_x64.Word;var C_algo=C.algo;var RHO_OFFSETS=[];var PI_INDEXES=[];var ROUND_CONSTANTS=[];(function(){var x=1,y=0;for(var t=0;t<24;t++){RHO_OFFSETS[x+5*y]=(t+1)*(t+2)/2%64;var newX=y%5;var newY=(2*x+3*y)%5;x=newX;y=newY}for(var x=0;x<5;x++){for(var y=0;y<5;y++){PI_INDEXES[x+5*y]=y+(2*x+3*y)%5*5}}var LFSR=1;for(var i=0;i<24;i++){var roundConstantMsw=0;var roundConstantLsw=0;for(var j=0;j<7;j++){if(LFSR&1){var bitPosition=(1<>>24)&16711935|(M2i<<24|M2i>>>8)&4278255360;M2i1=(M2i1<<8|M2i1>>>24)&16711935|(M2i1<<24|M2i1>>>8)&4278255360;var lane=state[i];lane.high^=M2i1;lane.low^=M2i}for(var round=0;round<24;round++){for(var x=0;x<5;x++){var tMsw=0,tLsw=0;for(var y=0;y<5;y++){var lane=state[x+5*y];tMsw^=lane.high;tLsw^=lane.low}var Tx=T[x];Tx.high=tMsw;Tx.low=tLsw}for(var x=0;x<5;x++){var Tx4=T[(x+4)%5];var Tx1=T[(x+1)%5];var Tx1Msw=Tx1.high;var Tx1Lsw=Tx1.low;var tMsw=Tx4.high^(Tx1Msw<<1|Tx1Lsw>>>31);var tLsw=Tx4.low^(Tx1Lsw<<1|Tx1Msw>>>31);for(var y=0;y<5;y++){var lane=state[x+5*y];lane.high^=tMsw;lane.low^=tLsw}}for(var laneIndex=1;laneIndex<25;laneIndex++){var tMsw;var tLsw;var lane=state[laneIndex];var laneMsw=lane.high;var laneLsw=lane.low;var rhoOffset=RHO_OFFSETS[laneIndex];if(rhoOffset<32){tMsw=laneMsw<>>32-rhoOffset;tLsw=laneLsw<>>32-rhoOffset}else{tMsw=laneLsw<>>64-rhoOffset;tLsw=laneMsw<>>64-rhoOffset}var TPiLane=T[PI_INDEXES[laneIndex]];TPiLane.high=tMsw;TPiLane.low=tLsw}var T0=T[0];var state0=state[0];T0.high=state0.high;T0.low=state0.low;for(var x=0;x<5;x++){for(var y=0;y<5;y++){var laneIndex=x+5*y;var lane=state[laneIndex];var TLane=T[laneIndex];var Tx1Lane=T[(x+1)%5+5*y];var Tx2Lane=T[(x+2)%5+5*y];lane.high=TLane.high^~Tx1Lane.high&Tx2Lane.high;lane.low=TLane.low^~Tx1Lane.low&Tx2Lane.low}}var lane=state[0];var roundConstant=ROUND_CONSTANTS[round];lane.high^=roundConstant.high;lane.low^=roundConstant.low}},_doFinalize:function(){var data=this._data;var dataWords=data.words;this._nDataBytes*8;var nBitsLeft=data.sigBytes*8;var blockSizeBits=this.blockSize*32;dataWords[nBitsLeft>>>5]|=1<<24-nBitsLeft%32;dataWords[(Math.ceil((nBitsLeft+1)/blockSizeBits)*blockSizeBits>>>5)-1]|=128;data.sigBytes=dataWords.length*4;this._process();var state=this._state;var outputLengthBytes=this.cfg.outputLength/8;var outputLengthLanes=outputLengthBytes/8;var hashWords=[];for(var i=0;i>>24)&16711935|(laneMsw<<24|laneMsw>>>8)&4278255360;laneLsw=(laneLsw<<8|laneLsw>>>24)&16711935|(laneLsw<<24|laneLsw>>>8)&4278255360;hashWords.push(laneLsw);hashWords.push(laneMsw)}return new WordArray.init(hashWords,outputLengthBytes)},clone:function(){var clone=Hasher.clone.call(this);var state=clone._state=this._state.slice(0);for(var i=0;i<25;i++){state[i]=state[i].clone()}return clone}});C.SHA3=Hasher._createHelper(SHA3);C.HmacSHA3=Hasher._createHmacHelper(SHA3)})(Math);return CryptoJS.SHA3})})(sha3);var ripemd160={exports:{}};(function(module,exports){(function(root,factory){{module.exports=factory(core.exports)}})(commonjsGlobal,function(CryptoJS){(function(Math){var C=CryptoJS;var C_lib=C.lib;var WordArray=C_lib.WordArray;var Hasher=C_lib.Hasher;var C_algo=C.algo;var _zl=WordArray.create([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13]);var _zr=WordArray.create([5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11]);var _sl=WordArray.create([11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6]);var _sr=WordArray.create([8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]);var _hl=WordArray.create([0,1518500249,1859775393,2400959708,2840853838]);var _hr=WordArray.create([1352829926,1548603684,1836072691,2053994217,0]);var RIPEMD160=C_algo.RIPEMD160=Hasher.extend({_doReset:function(){this._hash=WordArray.create([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(M,offset){for(var i=0;i<16;i++){var offset_i=offset+i;var M_offset_i=M[offset_i];M[offset_i]=(M_offset_i<<8|M_offset_i>>>24)&16711935|(M_offset_i<<24|M_offset_i>>>8)&4278255360}var H=this._hash.words;var hl=_hl.words;var hr=_hr.words;var zl=_zl.words;var zr=_zr.words;var sl=_sl.words;var sr=_sr.words;var al,bl,cl,dl,el;var ar,br,cr,dr,er;ar=al=H[0];br=bl=H[1];cr=cl=H[2];dr=dl=H[3];er=el=H[4];var t;for(var i=0;i<80;i+=1){t=al+M[offset+zl[i]]|0;if(i<16){t+=f1(bl,cl,dl)+hl[0]}else if(i<32){t+=f2(bl,cl,dl)+hl[1]}else if(i<48){t+=f3(bl,cl,dl)+hl[2]}else if(i<64){t+=f4(bl,cl,dl)+hl[3]}else{t+=f5(bl,cl,dl)+hl[4]}t=t|0;t=rotl(t,sl[i]);t=t+el|0;al=el;el=dl;dl=rotl(cl,10);cl=bl;bl=t;t=ar+M[offset+zr[i]]|0;if(i<16){t+=f5(br,cr,dr)+hr[0]}else if(i<32){t+=f4(br,cr,dr)+hr[1]}else if(i<48){t+=f3(br,cr,dr)+hr[2]}else if(i<64){t+=f2(br,cr,dr)+hr[3]}else{t+=f1(br,cr,dr)+hr[4]}t=t|0;t=rotl(t,sr[i]);t=t+er|0;ar=er;er=dr;dr=rotl(cr,10);cr=br;br=t}t=H[1]+cl+dr|0;H[1]=H[2]+dl+er|0;H[2]=H[3]+el+ar|0;H[3]=H[4]+al+br|0;H[4]=H[0]+bl+cr|0;H[0]=t},_doFinalize:function(){var data=this._data;var dataWords=data.words;var nBitsTotal=this._nDataBytes*8;var nBitsLeft=data.sigBytes*8;dataWords[nBitsLeft>>>5]|=128<<24-nBitsLeft%32;dataWords[(nBitsLeft+64>>>9<<4)+14]=(nBitsTotal<<8|nBitsTotal>>>24)&16711935|(nBitsTotal<<24|nBitsTotal>>>8)&4278255360;data.sigBytes=(dataWords.length+1)*4;this._process();var hash=this._hash;var H=hash.words;for(var i=0;i<5;i++){var H_i=H[i];H[i]=(H_i<<8|H_i>>>24)&16711935|(H_i<<24|H_i>>>8)&4278255360}return hash},clone:function(){var clone=Hasher.clone.call(this);clone._hash=this._hash.clone();return clone}});function f1(x,y,z){return x^y^z}function f2(x,y,z){return x&y|~x&z}function f3(x,y,z){return(x|~y)^z}function f4(x,y,z){return x&z|y&~z}function f5(x,y,z){return x^(y|~z)}function rotl(x,n){return x<>>32-n}C.RIPEMD160=Hasher._createHelper(RIPEMD160);C.HmacRIPEMD160=Hasher._createHmacHelper(RIPEMD160)})();return CryptoJS.RIPEMD160})})(ripemd160);var hmac={exports:{}};(function(module,exports){(function(root,factory){{module.exports=factory(core.exports)}})(commonjsGlobal,function(CryptoJS){(function(){var C=CryptoJS;var C_lib=C.lib;var Base=C_lib.Base;var C_enc=C.enc;var Utf8=C_enc.Utf8;var C_algo=C.algo;C_algo.HMAC=Base.extend({init:function(hasher,key){hasher=this._hasher=new hasher.init;if(typeof key=="string"){key=Utf8.parse(key)}var hasherBlockSize=hasher.blockSize;var hasherBlockSizeBytes=hasherBlockSize*4;if(key.sigBytes>hasherBlockSizeBytes){key=hasher.finalize(key)}key.clamp();var oKey=this._oKey=key.clone();var iKey=this._iKey=key.clone();var oKeyWords=oKey.words;var iKeyWords=iKey.words;for(var i=0;i>>2]&255;data.sigBytes-=nPaddingBytes}};C_lib.BlockCipher=Cipher.extend({cfg:Cipher.cfg.extend({mode:CBC,padding:Pkcs7}),reset:function(){var modeCreator;Cipher.reset.call(this);var cfg=this.cfg;var iv=cfg.iv;var mode=cfg.mode;if(this._xformMode==this._ENC_XFORM_MODE){modeCreator=mode.createEncryptor}else{modeCreator=mode.createDecryptor;this._minBufferSize=1}if(this._mode&&this._mode.__creator==modeCreator){this._mode.init(this,iv&&iv.words)}else{this._mode=modeCreator.call(mode,this,iv&&iv.words);this._mode.__creator=modeCreator}},_doProcessBlock:function(words,offset){this._mode.processBlock(words,offset)},_doFinalize:function(){var finalProcessedBlocks;var padding=this.cfg.padding;if(this._xformMode==this._ENC_XFORM_MODE){padding.pad(this._data,this.blockSize);finalProcessedBlocks=this._process(!!"flush")}else{finalProcessedBlocks=this._process(!!"flush");padding.unpad(finalProcessedBlocks)}return finalProcessedBlocks},blockSize:128/32});var CipherParams=C_lib.CipherParams=Base.extend({init:function(cipherParams){this.mixIn(cipherParams)},toString:function(formatter){return(formatter||this.formatter).stringify(this)}});var C_format=C.format={};var OpenSSLFormatter=C_format.OpenSSL={stringify:function(cipherParams){var wordArray;var ciphertext=cipherParams.ciphertext;var salt=cipherParams.salt;if(salt){wordArray=WordArray.create([1398893684,1701076831]).concat(salt).concat(ciphertext)}else{wordArray=ciphertext}return wordArray.toString(Base64)},parse:function(openSSLStr){var salt;var ciphertext=Base64.parse(openSSLStr);var ciphertextWords=ciphertext.words;if(ciphertextWords[0]==1398893684&&ciphertextWords[1]==1701076831){salt=WordArray.create(ciphertextWords.slice(2,4));ciphertextWords.splice(0,4);ciphertext.sigBytes-=16}return CipherParams.create({ciphertext:ciphertext,salt:salt})}};var SerializableCipher=C_lib.SerializableCipher=Base.extend({cfg:Base.extend({format:OpenSSLFormatter}),encrypt:function(cipher,message,key,cfg){cfg=this.cfg.extend(cfg);var encryptor=cipher.createEncryptor(key,cfg);var ciphertext=encryptor.finalize(message);var cipherCfg=encryptor.cfg;return CipherParams.create({ciphertext:ciphertext,key:key,iv:cipherCfg.iv,algorithm:cipher,mode:cipherCfg.mode,padding:cipherCfg.padding,blockSize:cipher.blockSize,formatter:cfg.format})},decrypt:function(cipher,ciphertext,key,cfg){cfg=this.cfg.extend(cfg);ciphertext=this._parse(ciphertext,cfg.format);var plaintext=cipher.createDecryptor(key,cfg).finalize(ciphertext.ciphertext);return plaintext},_parse:function(ciphertext,format){if(typeof ciphertext=="string"){return format.parse(ciphertext,this)}else{return ciphertext}}});var C_kdf=C.kdf={};var OpenSSLKdf=C_kdf.OpenSSL={execute:function(password,keySize,ivSize,salt){if(!salt){salt=WordArray.random(64/8)}var key=EvpKDF.create({keySize:keySize+ivSize}).compute(password,salt);var iv=WordArray.create(key.words.slice(keySize),ivSize*4);key.sigBytes=keySize*4;return CipherParams.create({key:key,iv:iv,salt:salt})}};var PasswordBasedCipher=C_lib.PasswordBasedCipher=SerializableCipher.extend({cfg:SerializableCipher.cfg.extend({kdf:OpenSSLKdf}),encrypt:function(cipher,message,password,cfg){cfg=this.cfg.extend(cfg);var derivedParams=cfg.kdf.execute(password,cipher.keySize,cipher.ivSize);cfg.iv=derivedParams.iv;var ciphertext=SerializableCipher.encrypt.call(this,cipher,message,derivedParams.key,cfg);ciphertext.mixIn(derivedParams);return ciphertext},decrypt:function(cipher,ciphertext,password,cfg){cfg=this.cfg.extend(cfg);ciphertext=this._parse(ciphertext,cfg.format);var derivedParams=cfg.kdf.execute(password,cipher.keySize,cipher.ivSize,ciphertext.salt);cfg.iv=derivedParams.iv;var plaintext=SerializableCipher.decrypt.call(this,cipher,ciphertext,derivedParams.key,cfg);return plaintext}})}()})})(cipherCore);var modeCfb={exports:{}};(function(module,exports){(function(root,factory,undef){{module.exports=factory(core.exports,cipherCore.exports)}})(commonjsGlobal,function(CryptoJS){CryptoJS.mode.CFB=function(){var CFB=CryptoJS.lib.BlockCipherMode.extend();CFB.Encryptor=CFB.extend({processBlock:function(words,offset){var cipher=this._cipher;var blockSize=cipher.blockSize;generateKeystreamAndEncrypt.call(this,words,offset,blockSize,cipher);this._prevBlock=words.slice(offset,offset+blockSize)}});CFB.Decryptor=CFB.extend({processBlock:function(words,offset){var cipher=this._cipher;var blockSize=cipher.blockSize;var thisBlock=words.slice(offset,offset+blockSize);generateKeystreamAndEncrypt.call(this,words,offset,blockSize,cipher);this._prevBlock=thisBlock}});function generateKeystreamAndEncrypt(words,offset,blockSize,cipher){var keystream;var iv=this._iv;if(iv){keystream=iv.slice(0);this._iv=undefined}else{keystream=this._prevBlock}cipher.encryptBlock(keystream,0);for(var i=0;i>24&255)===255){var b1=word>>16&255;var b2=word>>8&255;var b3=word&255;if(b1===255){b1=0;if(b2===255){b2=0;if(b3===255){b3=0}else{++b3}}else{++b2}}else{++b1}word=0;word+=b1<<16;word+=b2<<8;word+=b3}else{word+=1<<24}return word}function incCounter(counter){if((counter[0]=incWord(counter[0]))===0){counter[1]=incWord(counter[1])}return counter}var Encryptor=CTRGladman.Encryptor=CTRGladman.extend({processBlock:function(words,offset){var cipher=this._cipher;var blockSize=cipher.blockSize;var iv=this._iv;var counter=this._counter;if(iv){counter=this._counter=iv.slice(0);this._iv=undefined}incCounter(counter);var keystream=counter.slice(0);cipher.encryptBlock(keystream,0);for(var i=0;i>>2]|=nPaddingBytes<<24-lastBytePos%4*8;data.sigBytes+=nPaddingBytes},unpad:function(data){var nPaddingBytes=data.words[data.sigBytes-1>>>2]&255;data.sigBytes-=nPaddingBytes}};return CryptoJS.pad.Ansix923})})(padAnsix923);var padIso10126={exports:{}};(function(module,exports){(function(root,factory,undef){{module.exports=factory(core.exports,cipherCore.exports)}})(commonjsGlobal,function(CryptoJS){CryptoJS.pad.Iso10126={pad:function(data,blockSize){var blockSizeBytes=blockSize*4;var nPaddingBytes=blockSizeBytes-data.sigBytes%blockSizeBytes;data.concat(CryptoJS.lib.WordArray.random(nPaddingBytes-1)).concat(CryptoJS.lib.WordArray.create([nPaddingBytes<<24],1))},unpad:function(data){var nPaddingBytes=data.words[data.sigBytes-1>>>2]&255;data.sigBytes-=nPaddingBytes}};return CryptoJS.pad.Iso10126})})(padIso10126);var padIso97971={exports:{}};(function(module,exports){(function(root,factory,undef){{module.exports=factory(core.exports,cipherCore.exports)}})(commonjsGlobal,function(CryptoJS){CryptoJS.pad.Iso97971={pad:function(data,blockSize){data.concat(CryptoJS.lib.WordArray.create([2147483648],1));CryptoJS.pad.ZeroPadding.pad(data,blockSize)},unpad:function(data){CryptoJS.pad.ZeroPadding.unpad(data);data.sigBytes--}};return CryptoJS.pad.Iso97971})})(padIso97971);var padZeropadding={exports:{}};(function(module,exports){(function(root,factory,undef){{module.exports=factory(core.exports,cipherCore.exports)}})(commonjsGlobal,function(CryptoJS){CryptoJS.pad.ZeroPadding={pad:function(data,blockSize){var blockSizeBytes=blockSize*4;data.clamp();data.sigBytes+=blockSizeBytes-(data.sigBytes%blockSizeBytes||blockSizeBytes)},unpad:function(data){var dataWords=data.words;var i=data.sigBytes-1;for(var i=data.sigBytes-1;i>=0;i--){if(dataWords[i>>>2]>>>24-i%4*8&255){data.sigBytes=i+1;break}}}};return CryptoJS.pad.ZeroPadding})})(padZeropadding);var padNopadding={exports:{}};(function(module,exports){(function(root,factory,undef){{module.exports=factory(core.exports,cipherCore.exports)}})(commonjsGlobal,function(CryptoJS){CryptoJS.pad.NoPadding={pad:function(){},unpad:function(){}};return CryptoJS.pad.NoPadding})})(padNopadding);var formatHex={exports:{}};(function(module,exports){(function(root,factory,undef){{module.exports=factory(core.exports,cipherCore.exports)}})(commonjsGlobal,function(CryptoJS){(function(undefined$1){var C=CryptoJS;var C_lib=C.lib;var CipherParams=C_lib.CipherParams;var C_enc=C.enc;var Hex=C_enc.Hex;var C_format=C.format;C_format.Hex={stringify:function(cipherParams){return cipherParams.ciphertext.toString(Hex)},parse:function(input){var ciphertext=Hex.parse(input);return CipherParams.create({ciphertext:ciphertext})}}})();return CryptoJS.format.Hex})})(formatHex);var aes={exports:{}};(function(module,exports){(function(root,factory,undef){{module.exports=factory(core.exports,encBase64.exports,md5.exports,evpkdf.exports,cipherCore.exports)}})(commonjsGlobal,function(CryptoJS){(function(){var C=CryptoJS;var C_lib=C.lib;var BlockCipher=C_lib.BlockCipher;var C_algo=C.algo;var SBOX=[];var INV_SBOX=[];var SUB_MIX_0=[];var SUB_MIX_1=[];var SUB_MIX_2=[];var SUB_MIX_3=[];var INV_SUB_MIX_0=[];var INV_SUB_MIX_1=[];var INV_SUB_MIX_2=[];var INV_SUB_MIX_3=[];(function(){var d=[];for(var i=0;i<256;i++){if(i<128){d[i]=i<<1}else{d[i]=i<<1^283}}var x=0;var xi=0;for(var i=0;i<256;i++){var sx=xi^xi<<1^xi<<2^xi<<3^xi<<4;sx=sx>>>8^sx&255^99;SBOX[x]=sx;INV_SBOX[sx]=x;var x2=d[x];var x4=d[x2];var x8=d[x4];var t=d[sx]*257^sx*16843008;SUB_MIX_0[x]=t<<24|t>>>8;SUB_MIX_1[x]=t<<16|t>>>16;SUB_MIX_2[x]=t<<8|t>>>24;SUB_MIX_3[x]=t;var t=x8*16843009^x4*65537^x2*257^x*16843008;INV_SUB_MIX_0[sx]=t<<24|t>>>8;INV_SUB_MIX_1[sx]=t<<16|t>>>16;INV_SUB_MIX_2[sx]=t<<8|t>>>24;INV_SUB_MIX_3[sx]=t;if(!x){x=xi=1}else{x=x2^d[d[d[x8^x2]]];xi^=d[d[xi]]}}})();var RCON=[0,1,2,4,8,16,32,64,128,27,54];var AES=C_algo.AES=BlockCipher.extend({_doReset:function(){var t;if(this._nRounds&&this._keyPriorReset===this._key){return}var key=this._keyPriorReset=this._key;var keyWords=key.words;var keySize=key.sigBytes/4;var nRounds=this._nRounds=keySize+6;var ksRows=(nRounds+1)*4;var keySchedule=this._keySchedule=[];for(var ksRow=0;ksRow>>24;t=SBOX[t>>>24]<<24|SBOX[t>>>16&255]<<16|SBOX[t>>>8&255]<<8|SBOX[t&255];t^=RCON[ksRow/keySize|0]<<24}else if(keySize>6&&ksRow%keySize==4){t=SBOX[t>>>24]<<24|SBOX[t>>>16&255]<<16|SBOX[t>>>8&255]<<8|SBOX[t&255]}keySchedule[ksRow]=keySchedule[ksRow-keySize]^t}}var invKeySchedule=this._invKeySchedule=[];for(var invKsRow=0;invKsRow>>24]]^INV_SUB_MIX_1[SBOX[t>>>16&255]]^INV_SUB_MIX_2[SBOX[t>>>8&255]]^INV_SUB_MIX_3[SBOX[t&255]]}}},encryptBlock:function(M,offset){this._doCryptBlock(M,offset,this._keySchedule,SUB_MIX_0,SUB_MIX_1,SUB_MIX_2,SUB_MIX_3,SBOX)},decryptBlock:function(M,offset){var t=M[offset+1];M[offset+1]=M[offset+3];M[offset+3]=t;this._doCryptBlock(M,offset,this._invKeySchedule,INV_SUB_MIX_0,INV_SUB_MIX_1,INV_SUB_MIX_2,INV_SUB_MIX_3,INV_SBOX);var t=M[offset+1];M[offset+1]=M[offset+3];M[offset+3]=t},_doCryptBlock:function(M,offset,keySchedule,SUB_MIX_0,SUB_MIX_1,SUB_MIX_2,SUB_MIX_3,SBOX){var nRounds=this._nRounds;var s0=M[offset]^keySchedule[0];var s1=M[offset+1]^keySchedule[1];var s2=M[offset+2]^keySchedule[2];var s3=M[offset+3]^keySchedule[3];var ksRow=4;for(var round=1;round>>24]^SUB_MIX_1[s1>>>16&255]^SUB_MIX_2[s2>>>8&255]^SUB_MIX_3[s3&255]^keySchedule[ksRow++];var t1=SUB_MIX_0[s1>>>24]^SUB_MIX_1[s2>>>16&255]^SUB_MIX_2[s3>>>8&255]^SUB_MIX_3[s0&255]^keySchedule[ksRow++];var t2=SUB_MIX_0[s2>>>24]^SUB_MIX_1[s3>>>16&255]^SUB_MIX_2[s0>>>8&255]^SUB_MIX_3[s1&255]^keySchedule[ksRow++];var t3=SUB_MIX_0[s3>>>24]^SUB_MIX_1[s0>>>16&255]^SUB_MIX_2[s1>>>8&255]^SUB_MIX_3[s2&255]^keySchedule[ksRow++];s0=t0;s1=t1;s2=t2;s3=t3}var t0=(SBOX[s0>>>24]<<24|SBOX[s1>>>16&255]<<16|SBOX[s2>>>8&255]<<8|SBOX[s3&255])^keySchedule[ksRow++];var t1=(SBOX[s1>>>24]<<24|SBOX[s2>>>16&255]<<16|SBOX[s3>>>8&255]<<8|SBOX[s0&255])^keySchedule[ksRow++];var t2=(SBOX[s2>>>24]<<24|SBOX[s3>>>16&255]<<16|SBOX[s0>>>8&255]<<8|SBOX[s1&255])^keySchedule[ksRow++];var t3=(SBOX[s3>>>24]<<24|SBOX[s0>>>16&255]<<16|SBOX[s1>>>8&255]<<8|SBOX[s2&255])^keySchedule[ksRow++];M[offset]=t0;M[offset+1]=t1;M[offset+2]=t2;M[offset+3]=t3},keySize:256/32});C.AES=BlockCipher._createHelper(AES)})();return CryptoJS.AES})})(aes);var tripledes={exports:{}};(function(module,exports){(function(root,factory,undef){{module.exports=factory(core.exports,encBase64.exports,md5.exports,evpkdf.exports,cipherCore.exports)}})(commonjsGlobal,function(CryptoJS){(function(){var C=CryptoJS;var C_lib=C.lib;var WordArray=C_lib.WordArray;var BlockCipher=C_lib.BlockCipher;var C_algo=C.algo;var PC1=[57,49,41,33,25,17,9,1,58,50,42,34,26,18,10,2,59,51,43,35,27,19,11,3,60,52,44,36,63,55,47,39,31,23,15,7,62,54,46,38,30,22,14,6,61,53,45,37,29,21,13,5,28,20,12,4];var PC2=[14,17,11,24,1,5,3,28,15,6,21,10,23,19,12,4,26,8,16,7,27,20,13,2,41,52,31,37,47,55,30,40,51,45,33,48,44,49,39,56,34,53,46,42,50,36,29,32];var BIT_SHIFTS=[1,2,4,6,8,10,12,14,15,17,19,21,23,25,27,28];var SBOX_P=[{0:8421888,268435456:32768,536870912:8421378,805306368:2,1073741824:512,1342177280:8421890,1610612736:8389122,1879048192:8388608,2147483648:514,2415919104:8389120,2684354560:33280,2952790016:8421376,3221225472:32770,3489660928:8388610,3758096384:0,4026531840:33282,134217728:0,402653184:8421890,671088640:33282,939524096:32768,1207959552:8421888,1476395008:512,1744830464:8421378,2013265920:2,2281701376:8389120,2550136832:33280,2818572288:8421376,3087007744:8389122,3355443200:8388610,3623878656:32770,3892314112:514,4160749568:8388608,1:32768,268435457:2,536870913:8421888,805306369:8388608,1073741825:8421378,1342177281:33280,1610612737:512,1879048193:8389122,2147483649:8421890,2415919105:8421376,2684354561:8388610,2952790017:33282,3221225473:514,3489660929:8389120,3758096385:32770,4026531841:0,134217729:8421890,402653185:8421376,671088641:8388608,939524097:512,1207959553:32768,1476395009:8388610,1744830465:2,2013265921:33282,2281701377:32770,2550136833:8389122,2818572289:514,3087007745:8421888,3355443201:8389120,3623878657:0,3892314113:33280,4160749569:8421378},{0:1074282512,16777216:16384,33554432:524288,50331648:1074266128,67108864:1073741840,83886080:1074282496,100663296:1073758208,117440512:16,134217728:540672,150994944:1073758224,167772160:1073741824,184549376:540688,201326592:524304,218103808:0,234881024:16400,251658240:1074266112,8388608:1073758208,25165824:540688,41943040:16,58720256:1073758224,75497472:1074282512,92274688:1073741824,109051904:524288,125829120:1074266128,142606336:524304,159383552:0,176160768:16384,192937984:1074266112,209715200:1073741840,226492416:540672,243269632:1074282496,260046848:16400,268435456:0,285212672:1074266128,301989888:1073758224,318767104:1074282496,335544320:1074266112,352321536:16,369098752:540688,385875968:16384,402653184:16400,419430400:524288,436207616:524304,452984832:1073741840,469762048:540672,486539264:1073758208,503316480:1073741824,520093696:1074282512,276824064:540688,293601280:524288,310378496:1074266112,327155712:16384,343932928:1073758208,360710144:1074282512,377487360:16,394264576:1073741824,411041792:1074282496,427819008:1073741840,444596224:1073758224,461373440:524304,478150656:0,494927872:16400,511705088:1074266128,528482304:540672},{0:260,1048576:0,2097152:67109120,3145728:65796,4194304:65540,5242880:67108868,6291456:67174660,7340032:67174400,8388608:67108864,9437184:67174656,10485760:65792,11534336:67174404,12582912:67109124,13631488:65536,14680064:4,15728640:256,524288:67174656,1572864:67174404,2621440:0,3670016:67109120,4718592:67108868,5767168:65536,6815744:65540,7864320:260,8912896:4,9961472:256,11010048:67174400,12058624:65796,13107200:65792,14155776:67109124,15204352:67174660,16252928:67108864,16777216:67174656,17825792:65540,18874368:65536,19922944:67109120,20971520:256,22020096:67174660,23068672:67108868,24117248:0,25165824:67109124,26214400:67108864,27262976:4,28311552:65792,29360128:67174400,30408704:260,31457280:65796,32505856:67174404,17301504:67108864,18350080:260,19398656:67174656,20447232:0,21495808:65540,22544384:67109120,23592960:256,24641536:67174404,25690112:65536,26738688:67174660,27787264:65796,28835840:67108868,29884416:67109124,30932992:67174400,31981568:4,33030144:65792},{0:2151682048,65536:2147487808,131072:4198464,196608:2151677952,262144:0,327680:4198400,393216:2147483712,458752:4194368,524288:2147483648,589824:4194304,655360:64,720896:2147487744,786432:2151678016,851968:4160,917504:4096,983040:2151682112,32768:2147487808,98304:64,163840:2151678016,229376:2147487744,294912:4198400,360448:2151682112,425984:0,491520:2151677952,557056:4096,622592:2151682048,688128:4194304,753664:4160,819200:2147483648,884736:4194368,950272:4198464,1015808:2147483712,1048576:4194368,1114112:4198400,1179648:2147483712,1245184:0,1310720:4160,1376256:2151678016,1441792:2151682048,1507328:2147487808,1572864:2151682112,1638400:2147483648,1703936:2151677952,1769472:4198464,1835008:2147487744,1900544:4194304,1966080:64,2031616:4096,1081344:2151677952,1146880:2151682112,1212416:0,1277952:4198400,1343488:4194368,1409024:2147483648,1474560:2147487808,1540096:64,1605632:2147483712,1671168:4096,1736704:2147487744,1802240:2151678016,1867776:4160,1933312:2151682048,1998848:4194304,2064384:4198464},{0:128,4096:17039360,8192:262144,12288:536870912,16384:537133184,20480:16777344,24576:553648256,28672:262272,32768:16777216,36864:537133056,40960:536871040,45056:553910400,49152:553910272,53248:0,57344:17039488,61440:553648128,2048:17039488,6144:553648256,10240:128,14336:17039360,18432:262144,22528:537133184,26624:553910272,30720:536870912,34816:537133056,38912:0,43008:553910400,47104:16777344,51200:536871040,55296:553648128,59392:16777216,63488:262272,65536:262144,69632:128,73728:536870912,77824:553648256,81920:16777344,86016:553910272,90112:537133184,94208:16777216,98304:553910400,102400:553648128,106496:17039360,110592:537133056,114688:262272,118784:536871040,122880:0,126976:17039488,67584:553648256,71680:16777216,75776:17039360,79872:537133184,83968:536870912,88064:17039488,92160:128,96256:553910272,100352:262272,104448:553910400,108544:0,112640:553648128,116736:16777344,120832:262144,124928:537133056,129024:536871040},{0:268435464,256:8192,512:270532608,768:270540808,1024:268443648,1280:2097152,1536:2097160,1792:268435456,2048:0,2304:268443656,2560:2105344,2816:8,3072:270532616,3328:2105352,3584:8200,3840:270540800,128:270532608,384:270540808,640:8,896:2097152,1152:2105352,1408:268435464,1664:268443648,1920:8200,2176:2097160,2432:8192,2688:268443656,2944:270532616,3200:0,3456:270540800,3712:2105344,3968:268435456,4096:268443648,4352:270532616,4608:270540808,4864:8200,5120:2097152,5376:268435456,5632:268435464,5888:2105344,6144:2105352,6400:0,6656:8,6912:270532608,7168:8192,7424:268443656,7680:270540800,7936:2097160,4224:8,4480:2105344,4736:2097152,4992:268435464,5248:268443648,5504:8200,5760:270540808,6016:270532608,6272:270540800,6528:270532616,6784:8192,7040:2105352,7296:2097160,7552:0,7808:268435456,8064:268443656},{0:1048576,16:33555457,32:1024,48:1049601,64:34604033,80:0,96:1,112:34603009,128:33555456,144:1048577,160:33554433,176:34604032,192:34603008,208:1025,224:1049600,240:33554432,8:34603009,24:0,40:33555457,56:34604032,72:1048576,88:33554433,104:33554432,120:1025,136:1049601,152:33555456,168:34603008,184:1048577,200:1024,216:34604033,232:1,248:1049600,256:33554432,272:1048576,288:33555457,304:34603009,320:1048577,336:33555456,352:34604032,368:1049601,384:1025,400:34604033,416:1049600,432:1,448:0,464:34603008,480:33554433,496:1024,264:1049600,280:33555457,296:34603009,312:1,328:33554432,344:1048576,360:1025,376:34604032,392:33554433,408:34603008,424:0,440:34604033,456:1049601,472:1024,488:33555456,504:1048577},{0:134219808,1:131072,2:134217728,3:32,4:131104,5:134350880,6:134350848,7:2048,8:134348800,9:134219776,10:133120,11:134348832,12:2080,13:0,14:134217760,15:133152,2147483648:2048,2147483649:134350880,2147483650:134219808,2147483651:134217728,2147483652:134348800,2147483653:133120,2147483654:133152,2147483655:32,2147483656:134217760,2147483657:2080,2147483658:131104,2147483659:134350848,2147483660:0,2147483661:134348832,2147483662:134219776,2147483663:131072,16:133152,17:134350848,18:32,19:2048,20:134219776,21:134217760,22:134348832,23:131072,24:0,25:131104,26:134348800,27:134219808,28:134350880,29:133120,30:2080,31:134217728,2147483664:131072,2147483665:2048,2147483666:134348832,2147483667:133152,2147483668:32,2147483669:134348800,2147483670:134217728,2147483671:134219808,2147483672:134350880,2147483673:134217760,2147483674:134219776,2147483675:0,2147483676:133120,2147483677:2080,2147483678:131104,2147483679:134350848}];var SBOX_MASK=[4160749569,528482304,33030144,2064384,129024,8064,504,2147483679];var DES=C_algo.DES=BlockCipher.extend({_doReset:function(){var key=this._key;var keyWords=key.words;var keyBits=[];for(var i=0;i<56;i++){var keyBitPos=PC1[i]-1;keyBits[i]=keyWords[keyBitPos>>>5]>>>31-keyBitPos%32&1}var subKeys=this._subKeys=[];for(var nSubKey=0;nSubKey<16;nSubKey++){var subKey=subKeys[nSubKey]=[];var bitShift=BIT_SHIFTS[nSubKey];for(var i=0;i<24;i++){subKey[i/6|0]|=keyBits[(PC2[i]-1+bitShift)%28]<<31-i%6;subKey[4+(i/6|0)]|=keyBits[28+(PC2[i+24]-1+bitShift)%28]<<31-i%6}subKey[0]=subKey[0]<<1|subKey[0]>>>31;for(var i=1;i<7;i++){subKey[i]=subKey[i]>>>(i-1)*4+3}subKey[7]=subKey[7]<<5|subKey[7]>>>27}var invSubKeys=this._invSubKeys=[];for(var i=0;i<16;i++){invSubKeys[i]=subKeys[15-i]}},encryptBlock:function(M,offset){this._doCryptBlock(M,offset,this._subKeys)},decryptBlock:function(M,offset){this._doCryptBlock(M,offset,this._invSubKeys)},_doCryptBlock:function(M,offset,subKeys){this._lBlock=M[offset];this._rBlock=M[offset+1];exchangeLR.call(this,4,252645135);exchangeLR.call(this,16,65535);exchangeRL.call(this,2,858993459);exchangeRL.call(this,8,16711935);exchangeLR.call(this,1,1431655765);for(var round=0;round<16;round++){var subKey=subKeys[round];var lBlock=this._lBlock;var rBlock=this._rBlock;var f=0;for(var i=0;i<8;i++){f|=SBOX_P[i][((rBlock^subKey[i])&SBOX_MASK[i])>>>0]}this._lBlock=rBlock;this._rBlock=lBlock^f}var t=this._lBlock;this._lBlock=this._rBlock;this._rBlock=t;exchangeLR.call(this,1,1431655765);exchangeRL.call(this,8,16711935);exchangeRL.call(this,2,858993459);exchangeLR.call(this,16,65535);exchangeLR.call(this,4,252645135);M[offset]=this._lBlock;M[offset+1]=this._rBlock},keySize:64/32,ivSize:64/32,blockSize:64/32});function exchangeLR(offset,mask){var t=(this._lBlock>>>offset^this._rBlock)&mask;this._rBlock^=t;this._lBlock^=t<>>offset^this._lBlock)&mask;this._lBlock^=t;this._rBlock^=t<192.")}var key1=keyWords.slice(0,2);var key2=keyWords.length<4?keyWords.slice(0,2):keyWords.slice(2,4);var key3=keyWords.length<6?keyWords.slice(0,2):keyWords.slice(4,6);this._des1=DES.createEncryptor(WordArray.create(key1));this._des2=DES.createEncryptor(WordArray.create(key2));this._des3=DES.createEncryptor(WordArray.create(key3))},encryptBlock:function(M,offset){this._des1.encryptBlock(M,offset);this._des2.decryptBlock(M,offset);this._des3.encryptBlock(M,offset)},decryptBlock:function(M,offset){this._des3.decryptBlock(M,offset);this._des2.encryptBlock(M,offset);this._des1.decryptBlock(M,offset)},keySize:192/32,ivSize:64/32,blockSize:64/32});C.TripleDES=BlockCipher._createHelper(TripleDES)})();return CryptoJS.TripleDES})})(tripledes);var rc4={exports:{}};(function(module,exports){(function(root,factory,undef){{module.exports=factory(core.exports,encBase64.exports,md5.exports,evpkdf.exports,cipherCore.exports)}})(commonjsGlobal,function(CryptoJS){(function(){var C=CryptoJS;var C_lib=C.lib;var StreamCipher=C_lib.StreamCipher;var C_algo=C.algo;var RC4=C_algo.RC4=StreamCipher.extend({_doReset:function(){var key=this._key;var keyWords=key.words;var keySigBytes=key.sigBytes;var S=this._S=[];for(var i=0;i<256;i++){S[i]=i}for(var i=0,j=0;i<256;i++){var keyByteIndex=i%keySigBytes;var keyByte=keyWords[keyByteIndex>>>2]>>>24-keyByteIndex%4*8&255;j=(j+S[i]+keyByte)%256;var t=S[i];S[i]=S[j];S[j]=t}this._i=this._j=0},_doProcessBlock:function(M,offset){M[offset]^=generateKeystreamWord.call(this)},keySize:256/32,ivSize:0});function generateKeystreamWord(){var S=this._S;var i=this._i;var j=this._j;var keystreamWord=0;for(var n=0;n<4;n++){i=(i+1)%256;j=(j+S[i])%256;var t=S[i];S[i]=S[j];S[j]=t;keystreamWord|=S[(S[i]+S[j])%256]<<24-n*8}this._i=i;this._j=j;return keystreamWord}C.RC4=StreamCipher._createHelper(RC4);var RC4Drop=C_algo.RC4Drop=RC4.extend({cfg:RC4.cfg.extend({drop:192}),_doReset:function(){RC4._doReset.call(this);for(var i=this.cfg.drop;i>0;i--){generateKeystreamWord.call(this)}}});C.RC4Drop=StreamCipher._createHelper(RC4Drop)})();return CryptoJS.RC4})})(rc4);var rabbit={exports:{}};(function(module,exports){(function(root,factory,undef){{module.exports=factory(core.exports,encBase64.exports,md5.exports,evpkdf.exports,cipherCore.exports)}})(commonjsGlobal,function(CryptoJS){(function(){var C=CryptoJS;var C_lib=C.lib;var StreamCipher=C_lib.StreamCipher;var C_algo=C.algo;var S=[];var C_=[];var G=[];var Rabbit=C_algo.Rabbit=StreamCipher.extend({_doReset:function(){var K=this._key.words;var iv=this.cfg.iv;for(var i=0;i<4;i++){K[i]=(K[i]<<8|K[i]>>>24)&16711935|(K[i]<<24|K[i]>>>8)&4278255360}var X=this._X=[K[0],K[3]<<16|K[2]>>>16,K[1],K[0]<<16|K[3]>>>16,K[2],K[1]<<16|K[0]>>>16,K[3],K[2]<<16|K[1]>>>16];var C=this._C=[K[2]<<16|K[2]>>>16,K[0]&4294901760|K[1]&65535,K[3]<<16|K[3]>>>16,K[1]&4294901760|K[2]&65535,K[0]<<16|K[0]>>>16,K[2]&4294901760|K[3]&65535,K[1]<<16|K[1]>>>16,K[3]&4294901760|K[0]&65535];this._b=0;for(var i=0;i<4;i++){nextState.call(this)}for(var i=0;i<8;i++){C[i]^=X[i+4&7]}if(iv){var IV=iv.words;var IV_0=IV[0];var IV_1=IV[1];var i0=(IV_0<<8|IV_0>>>24)&16711935|(IV_0<<24|IV_0>>>8)&4278255360;var i2=(IV_1<<8|IV_1>>>24)&16711935|(IV_1<<24|IV_1>>>8)&4278255360;var i1=i0>>>16|i2&4294901760;var i3=i2<<16|i0&65535;C[0]^=i0;C[1]^=i1;C[2]^=i2;C[3]^=i3;C[4]^=i0;C[5]^=i1;C[6]^=i2;C[7]^=i3;for(var i=0;i<4;i++){nextState.call(this)}}},_doProcessBlock:function(M,offset){var X=this._X;nextState.call(this);S[0]=X[0]^X[5]>>>16^X[3]<<16;S[1]=X[2]^X[7]>>>16^X[5]<<16;S[2]=X[4]^X[1]>>>16^X[7]<<16;S[3]=X[6]^X[3]>>>16^X[1]<<16;for(var i=0;i<4;i++){S[i]=(S[i]<<8|S[i]>>>24)&16711935|(S[i]<<24|S[i]>>>8)&4278255360;M[offset+i]^=S[i]}},blockSize:128/32,ivSize:64/32});function nextState(){var X=this._X;var C=this._C;for(var i=0;i<8;i++){C_[i]=C[i]}C[0]=C[0]+1295307597+this._b|0;C[1]=C[1]+3545052371+(C[0]>>>0>>0?1:0)|0;C[2]=C[2]+886263092+(C[1]>>>0>>0?1:0)|0;C[3]=C[3]+1295307597+(C[2]>>>0>>0?1:0)|0;C[4]=C[4]+3545052371+(C[3]>>>0>>0?1:0)|0;C[5]=C[5]+886263092+(C[4]>>>0>>0?1:0)|0;C[6]=C[6]+1295307597+(C[5]>>>0>>0?1:0)|0;C[7]=C[7]+3545052371+(C[6]>>>0>>0?1:0)|0;this._b=C[7]>>>0>>0?1:0;for(var i=0;i<8;i++){var gx=X[i]+C[i];var ga=gx&65535;var gb=gx>>>16;var gh=((ga*ga>>>17)+ga*gb>>>15)+gb*gb;var gl=((gx&4294901760)*gx|0)+((gx&65535)*gx|0);G[i]=gh^gl}X[0]=G[0]+(G[7]<<16|G[7]>>>16)+(G[6]<<16|G[6]>>>16)|0;X[1]=G[1]+(G[0]<<8|G[0]>>>24)+G[7]|0;X[2]=G[2]+(G[1]<<16|G[1]>>>16)+(G[0]<<16|G[0]>>>16)|0;X[3]=G[3]+(G[2]<<8|G[2]>>>24)+G[1]|0;X[4]=G[4]+(G[3]<<16|G[3]>>>16)+(G[2]<<16|G[2]>>>16)|0;X[5]=G[5]+(G[4]<<8|G[4]>>>24)+G[3]|0;X[6]=G[6]+(G[5]<<16|G[5]>>>16)+(G[4]<<16|G[4]>>>16)|0;X[7]=G[7]+(G[6]<<8|G[6]>>>24)+G[5]|0}C.Rabbit=StreamCipher._createHelper(Rabbit)})();return CryptoJS.Rabbit})})(rabbit);var rabbitLegacy={exports:{}};(function(module,exports){(function(root,factory,undef){{module.exports=factory(core.exports,encBase64.exports,md5.exports,evpkdf.exports,cipherCore.exports)}})(commonjsGlobal,function(CryptoJS){(function(){var C=CryptoJS;var C_lib=C.lib;var StreamCipher=C_lib.StreamCipher;var C_algo=C.algo;var S=[];var C_=[];var G=[];var RabbitLegacy=C_algo.RabbitLegacy=StreamCipher.extend({_doReset:function(){var K=this._key.words;var iv=this.cfg.iv;var X=this._X=[K[0],K[3]<<16|K[2]>>>16,K[1],K[0]<<16|K[3]>>>16,K[2],K[1]<<16|K[0]>>>16,K[3],K[2]<<16|K[1]>>>16];var C=this._C=[K[2]<<16|K[2]>>>16,K[0]&4294901760|K[1]&65535,K[3]<<16|K[3]>>>16,K[1]&4294901760|K[2]&65535,K[0]<<16|K[0]>>>16,K[2]&4294901760|K[3]&65535,K[1]<<16|K[1]>>>16,K[3]&4294901760|K[0]&65535];this._b=0;for(var i=0;i<4;i++){nextState.call(this)}for(var i=0;i<8;i++){C[i]^=X[i+4&7]}if(iv){var IV=iv.words;var IV_0=IV[0];var IV_1=IV[1];var i0=(IV_0<<8|IV_0>>>24)&16711935|(IV_0<<24|IV_0>>>8)&4278255360;var i2=(IV_1<<8|IV_1>>>24)&16711935|(IV_1<<24|IV_1>>>8)&4278255360;var i1=i0>>>16|i2&4294901760;var i3=i2<<16|i0&65535;C[0]^=i0;C[1]^=i1;C[2]^=i2;C[3]^=i3;C[4]^=i0;C[5]^=i1;C[6]^=i2;C[7]^=i3;for(var i=0;i<4;i++){nextState.call(this)}}},_doProcessBlock:function(M,offset){var X=this._X;nextState.call(this);S[0]=X[0]^X[5]>>>16^X[3]<<16;S[1]=X[2]^X[7]>>>16^X[5]<<16;S[2]=X[4]^X[1]>>>16^X[7]<<16;S[3]=X[6]^X[3]>>>16^X[1]<<16;for(var i=0;i<4;i++){S[i]=(S[i]<<8|S[i]>>>24)&16711935|(S[i]<<24|S[i]>>>8)&4278255360;M[offset+i]^=S[i]}},blockSize:128/32,ivSize:64/32});function nextState(){var X=this._X;var C=this._C;for(var i=0;i<8;i++){C_[i]=C[i]}C[0]=C[0]+1295307597+this._b|0;C[1]=C[1]+3545052371+(C[0]>>>0>>0?1:0)|0;C[2]=C[2]+886263092+(C[1]>>>0>>0?1:0)|0;C[3]=C[3]+1295307597+(C[2]>>>0>>0?1:0)|0;C[4]=C[4]+3545052371+(C[3]>>>0>>0?1:0)|0;C[5]=C[5]+886263092+(C[4]>>>0>>0?1:0)|0;C[6]=C[6]+1295307597+(C[5]>>>0>>0?1:0)|0;C[7]=C[7]+3545052371+(C[6]>>>0>>0?1:0)|0;this._b=C[7]>>>0>>0?1:0;for(var i=0;i<8;i++){var gx=X[i]+C[i];var ga=gx&65535;var gb=gx>>>16;var gh=((ga*ga>>>17)+ga*gb>>>15)+gb*gb;var gl=((gx&4294901760)*gx|0)+((gx&65535)*gx|0);G[i]=gh^gl}X[0]=G[0]+(G[7]<<16|G[7]>>>16)+(G[6]<<16|G[6]>>>16)|0;X[1]=G[1]+(G[0]<<8|G[0]>>>24)+G[7]|0;X[2]=G[2]+(G[1]<<16|G[1]>>>16)+(G[0]<<16|G[0]>>>16)|0;X[3]=G[3]+(G[2]<<8|G[2]>>>24)+G[1]|0;X[4]=G[4]+(G[3]<<16|G[3]>>>16)+(G[2]<<16|G[2]>>>16)|0;X[5]=G[5]+(G[4]<<8|G[4]>>>24)+G[3]|0;X[6]=G[6]+(G[5]<<16|G[5]>>>16)+(G[4]<<16|G[4]>>>16)|0;X[7]=G[7]+(G[6]<<8|G[6]>>>24)+G[5]|0}C.RabbitLegacy=StreamCipher._createHelper(RabbitLegacy)})();return CryptoJS.RabbitLegacy})})(rabbitLegacy);(function(module,exports){(function(root,factory,undef){{module.exports=factory(core.exports,x64Core.exports,libTypedarrays.exports,encUtf16.exports,encBase64.exports,encBase64url.exports,md5.exports,sha1.exports,sha256.exports,sha224.exports,sha512.exports,sha384.exports,sha3.exports,ripemd160.exports,hmac.exports,pbkdf2.exports,evpkdf.exports,cipherCore.exports,modeCfb.exports,modeCtr.exports,modeCtrGladman.exports,modeOfb.exports,modeEcb.exports,padAnsix923.exports,padIso10126.exports,padIso97971.exports,padZeropadding.exports,padNopadding.exports,formatHex.exports,aes.exports,tripledes.exports,rc4.exports,rabbit.exports,rabbitLegacy.exports)}})(commonjsGlobal,function(CryptoJS){return CryptoJS})})(cryptoJs);var exports$2={},reDigits=/^\d+$/;exports$2.io=io;exports$2.SHA1=function(string){return cryptoJs.exports.SHA1(string).toString()};exports$2.AES={decrypt:function(string,fgh){return cryptoJs.exports.AES.decrypt(string,fgh).toString(cryptoJs.exports.enc.Utf8)},encrypt:function(string,fgh){return cryptoJs.exports.AES.encrypt(string,fgh).toString()}};exports$2.ssplit=function(string,seperator){var components=string.split(seperator);return[components.shift(),components.join(seperator)]};exports$2.activeElement=function(){try{return document.activeElement}catch(e){return}};exports$2.isDigits=function(value){return reDigits.test(value)};exports$2.template=function(str,map){return str&&str.replace(/{(\w+)}/gi,function(outer,inner){return Object.prototype.hasOwnProperty.call(map,inner)?map[inner]:outer})};exports$2.getJSON=function(path,onSuccess,onError){var request=new XMLHttpRequest;request.open("GET",path,true);request.onreadystatechange=function(){if(this.readyState===4){if(this.status>=200&&this.status<400){try{onSuccess&&onSuccess(JSON.parse(this.responseText))}catch(e){onError&&onError()}}else{onError&&onError()}}};request.send();request=null};exports$2.escapeHtml=function(){var pattern=/[&<>"'/]/g,entities={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};return function(string){return String(string).replace(pattern,function(s){return entities[s]})}}();var exports$1={};exports$1.html=function(string){this.forEach(function(element){element.innerHTML=string});return this};exports$1.append=function(string){this.forEach(function(element){element.innerHTML+=string});return this};exports$1.first=function(){return this[0]};exports$1.on=function(eventName,callback){this.forEach(function(element){if(element.addEventListener){element.addEventListener(eventName,callback,false)}else if(element.attachEvent){element.attachEvent("on"+eventName,callback)}});return this};exports$1.focus=function(){if(this[0]){this[0].focus()}return this};function ElementArray(){}ElementArray.prototype=new Array;for(var k in exports$1)ElementArray.prototype[k]=exports$1[k];function Dollar(selector){let matches=new ElementArray;if(selector!==undefined){if(selector===document){matches.push(document)}else if(selector===window){matches.push(window)}else{let match=document.querySelectorAll(selector);if(match){for(var i=0;isettings.key.maxLen){return mediator.emit("console:error",templates.messages.key_to_long)}else if(payload.lengthsettings.nick.maxLen){return mediator.emit("console:error",Dollar.template(templates.messages.nick_to_long,{nick_maxLen:settings.nick.maxLen}))}else if(payload.length0&&ttl<3600){mediator.emit("console:info",Dollar.template(templates.messages.torch_is_now,{ttl:ttl}));settings.ttl=ttl*1e3}else{mediator.emit("console:error",Dollar.template(templates.messages.torch_not_set))}},param:function(p){parameters=Object.assign({},parameters,p)},showNotification:function(type,nick,text){var title=type!=="message"?"Cryptalk":nick,icon=type==="message"?"gfx/icon_128x128.png":type==="error"?"gfx/icon_128x128_error.png":"gfx/icon_128x128_info.png";mediator.emit("notification:send",{title:title.substring(0,20),body:text.substring(0,80),icon:icon});if(type==="message"){mediator.emit("audio:play",sounds.message)}},motd:function(message){commands.post("motd",message)},info:function(message){commands.post("info",message)},error:function(message){commands.post("error",message)},server:function(message){commands.post("server",message)},message:function(data){commands.post("message",data.message,data.nick)},clearInput:function(){components.input[0].value=""},clear:function(){components.chat[0].innerHTML=""},lockInput:function(){components.input[0].setAttribute("disabled","disabled");components.inputWrapper[0].className="loading"},unlockInput:function(){components.input[0].removeAttribute("disabled");components.inputWrapper[0].className="";components.input.focus()}},onKeyDown=function(e){var buffer,parts,payload,command;if(!e.ctrlKey&&!e.altKey&&components.input[0]!==Dollar.activeElement()){components.input.focus();return}if(e.keyCode!==13||!(buffer=components.input[0].value)){return}if((buffer[0]||buffer.slice(0,1))==="/"){parts=Dollar.ssplit(buffer.slice(1)," ");command=parts[0];payload=parts[1];mediator.emit("command:"+command,payload,function(retvals,recipients){if(!recipients){commands.post("error",Dollar.template(templates.messages.unrecognized_command,{commandName:command}));return}else{commands.clearInput()}})}else{if(!parameters.room||!parameters.key){return!parameters.room?commands.post("error",templates.messages.msg_no_room):commands.post("error",templates.messages.msg_no_key)}mediator.emit("socket:emit",{data:"message:send",payload:{room:Dollar.SHA1(parameters.room),msg:Dollar.AES.encrypt(buffer,Dollar.SHA1(parameters.room)+parameters.key).toString(),nick:parameters.nick?Dollar.AES.encrypt(parameters.nick,Dollar.SHA1(parameters.room)+parameters.key).toString():false}});commands.clearInput()}};Dollar(document).on("keydown",onKeyDown);components.input.focus();for(var commandName in commands){if(commandName!=="post"){mediator.on("console:"+commandName,commands[commandName])}}mediator.on("console:post",function(data){commands.post(data.type,data.data,data.nick)})}function room(mediator,settings,templates){var room=false,join=function(payload){if(room!==false){mediator.emit("console:error",Dollar.template(templates.messages.already_in_room,{room:room}))}else if(payload.length>=settings.room.maxLen){mediator.emit("console:error",Dollar.template(templates.messages.room_name_too_long))}else if(payload.length1];(subs[event]||(subs[event]=[])).push(subscription);if(emits[event]){i=0;subscription=[subscription];while(item=emits[event][i++]){emit(0,0,item[0],item[1],subscription);if(once){break}}}}function off(fromId,event,handler){let sub,i=0,toSubs=subs[event];if(toSubs){while(sub=toSubs[i++]){if(sub[0]===fromId&&(!handler||handler===sub[1])){toSubs.splice(--i,1)}}}}function emit(persistent,event,data,callback,explicitSubs){let sub,toSubs=explicitSubs||subs[event]||[],total=toSubs.length,left,loop,answers=[],done;if(subs["*"]){toSubs=toSubs.concat(subs["*"])}loop=left=toSubs.length;if(loop){done=!callback?noop:function(data){if(data){answers.push(data)}if(!--left){callback(answers,total);callback=0}};while(sub=toSubs[--loop]){sub[1](data,sub[2]?done:left--,event)}}if(!left&&callback){callback(answers,total)}if(persistent){(emits[event]||(emits[event]=[])).push([data,callback])}}function Castrato(){this.nodeId=index++;return this}Castrato.prototype.emit=function(persistent,event,data,handler){if(persistent!==true&&persistent!==false){handler=data;data=event;event=persistent;persistent=false}emit(persistent,event,data,handler);return this};Castrato.prototype.on=function(event,handler){on(this.nodeId,event,handler);return this};Castrato.prototype.once=function(event,handler){on(this.nodeId,event,function wrapper(data,done){off(this.nodeId,event,wrapper);handler(data,handler.length>1?done:done())},true);return this};Castrato.prototype.off=function(event,handler){off(this.nodeId,event,handler);return this};Castrato.prototype.destroy=function(){this.nodeId=0;index=0;subs={};emits={};return this};let castrato=new Castrato;function win(mediator){var exports$1={},focusCallback=function(){mediator.emit("window:focused")},blurCallback=function(){mediator.emit("window:blurred")};exports$1.setTitle=function(t){document.title=t},exports$1.getTitle=function(){return document.title};if(window.addEventListener){window.addEventListener("focus",focusCallback,true);window.addEventListener("blur",blurCallback,true)}else{window.observe("focusin",focusCallback);window.observe("focusout",blurCallback)}mediator.on("window:title",exports$1.setTitle);return exports$1}function notifications(mediator,settings,win){var enabled=true,native_supported=false,new_title,original_title,blink_timer,interval,last,now=function(){return performance.now()||Date.now()},on=function(){enabled=true},off=function(){enabled=false},resetState=function(){clearTimeout(blink_timer);if(original_title!==undefined)win.setTitle(original_title);original_title=undefined;new_title=undefined},doBlink=function(){if(enabled){if(win.getTitle()===original_title)win.setTitle(new_title);else win.setTitle(original_title);blink_timer=setTimeout(doBlink,interval)}else{resetState()}},enableNative=function(){if(native_supported&&Notification.permission!=="denied"){Notification.requestPermission()}},blinkTitleUntilFocus=function(t,i){interval=i;if(enabled&&original_title===undefined){new_title=t;original_title=win.getTitle();doBlink()}},notify=function(title,body,icon,fallback){if(enabled&&now()-last>settings.notifications.maxOnePerMs){if(native_supported&&Notification.permission==="granted"){var n=new Notification(title,{body:body,icon:icon});n.onshow=function(){setTimeout(function(){n.close()},3e3)};last=now()}else{blinkTitleUntilFocus("Attention",1e3)}}};native_supported=window.Notification!==undefined;mediator.on("notification:send",function(data){notify(data.title,data.body,data.icon)});mediator.on("notification:on",function(){on()});mediator.on("notification:off",function(){off()});enableNative();off();last=now();resetState()}var templates={help:"
                                                                    \n"+"Cryptalk, encrypted instant chat.                                      \n"+"                                                                       \n"+"----------------------------------------------------------------------\t\n"+"                                                                       \n"+"Client:                                                    \t\t\t\n"+"\t/key\t\tStrongPassphrase\tSets encryption key                 \n"+"\t/nick\t\tNickName\t\tSets an optional nick                   \n"+"\t/mute  \t\t\t\t\tAudio on\t\t\t\t\t\t\t\t\t\n"+"\t/unmute  \t\t\t\tAudio off\t\t\t\t\t\t\t\t\t\n"+"\t/clear\t\t\t\t\tClear on-screen buffer                      \n"+"\t/help\t\t\t\t\tThis                                        \n"+"\t/title\t\t\t\t\tSet your local page title\t\t\t\t\t\n"+"\t/torch\t\tAfterSeconds\t\tConsole messages are torched  \t\t\n"+"\t\t\t\t\t\tafter this amount of seconds \t\t\t\t\t\n"+"\t\t\t\t\t\t(default 600).\t\t\t\t\t\t\t\t\t\n"+"                                                                       \n"+"Room:                                                    \t\t\t\t\n"+"\t/join\t\tRoomId\t\t\tJoin a room\t                            \n"+"\t/leave\t\t\t\t\tLeave the room                              \n"+"\t/count\t\t\t\t\tCount participants                          \n"+"                                                                       \n"+"Host:  \t\t                                                    \t\n"+"\t/connect\t\t\tConnect to host\t\t\t          \t\t     \t\n"+"\t/disconnect\t\t\t\tDisconnect from host    \t\t\t        \n"+"                                                                       \n"+"You can select any of the five last commands/messages with up/down key.\n"+"                                                                       \n"+"Due to security reasons, /key command is not saved, and command        \n"+"history is  automatically cleared after one minute of inactivity.      \n"+"                                                                       \n"+"It is highly recommended to use incognito mode while chatting, \n"+"to prevent browsers from keeping history or cache.            \n"+"                                                                       \n"+"----------------------------------------------------------------------\t\n"+"
    ",default_nick:"Anonymous",post:{motd:'
  • {text}
  • ',info:'
  • [{timestamp}] INF> {text}
  • ',server:'
  • [{timestamp}] SRV> {text}
  • ',error:'
  • [{timestamp}] ERR> {text}
  • ',message:'
  • [{timestamp}] MSG> {nick}> {text}
  • '},messages:{key_to_short:"Hmm, that's a weak key, try again...",key_to_long:"Man that's a long key. Make it a tad short, 'kay?",key_ok:"Key set, you can now start communicating.",key_no_host:"You have to connect to a host before setting the key.",join_no_host:"You have to connect to a host before joining a room.",nick_to_short:"Nickname is too short, it has to be at least {nick_minLen} characters long. Try again.",nick_to_long:"Nickname is too long, it can be at most {nick_maxLen} characters long. Try again.",nick_set:"From now on, you're referred to as '{nick}'.",msg_no_room:"You have to join a room before sending messages. See /help.",not_in_room:"You have to be in a room to count participants...",msg_no_key:"You have to set an encryption key before sending a message. See /help.",leave_from_nowhere:"How are you supposed to leave, while being nowhere?",torch_is_now:"Messages are now torched after {ttl} seconds.",torch_not_set:"Invalid torch delay entered, nothing changed. See /help.",title_set:"The title of this window is now '{title}'.",muted:"Notifications and sounds are now muted.",unmuted:"Notifications and sounds are now on.",unrecognized_command:'Unrecognized command: "{commandName}"',room_name_too_long:"Isn't that a bit long?",room_name_too_short:"Nah, too short.",joined_room:"Joined room {roomName}.",left_room:"Left room {roomName}.",already_in_room:"You are already in a room ({room}), try /leave first.",unable_to_decrypt:"Unabled to decrypt received message, keys does not match.",socket_error:"A network error has occurred. A restart may be required to bring back full functionality.
    Examine the logs for more details.",connecting:"Connecting to host {host}...",connected:"A connection to the server has been established. Happy chatting!",disconnected:"Disconnected from host {host}.",already_connected:"You have to disconnect from {host} before joining another.",reconnect_no_host:"There is no host to reconnect with.",host_available:'{index}\t[AVAILABLE]\t{name}\n',host_unavailable:'{index}\t[UNAVAILABLE]\t{name}\n'},server:{person_joined:"A person joined this room.",person_left:"A person left this room.",person_count:"There are {payload} people in this room, including you.",person_single:"You are the only person in this room.",command_failed:"Server command failed, you're probably trying to du something bogus.",bogus:"Received a bogus message from server."},client:{title:"Cryptalk - Offline"}};var settings={title:"Cryptalk - Online",ttl:6e5,motd:"
    \n\n"+"▄████▄   ██▀███ ▓██   ██▓ ██▓███  ▄▄▄█████▓ ▄▄▄       ██▓     ██ ▄█▀  \n"+"▒██▀ ▀█  ▓██ ▒ ██▒▒██  ██▒▓██░  ██▒▓  ██▒ ▓▒▒████▄    ▓██▒     ██▄█▒  \n"+"▒▓█    ▄ ▓██ ░▄█ ▒ ▒██ ██░▓██░ ██▓▒▒ ▓██░ ▒░▒██  ▀█▄  ▒██░    ▓███▄░  \n"+"▒▓▓▄ ▄██▒▒██▀▀█▄   ░ ▐██▓░▒██▄█▓▒ ▒░ ▓██▓ ░ ░██▄▄▄▄██ ▒██░    ▓██ █▄  \n"+"▒ ▓███▀ ░░██▓ ▒██▒ ░ ██▒▓░▒██▒ ░  ░  ▒██▒ ░  ▓█   ▓██▒░██████▒▒██▒ █▄ \n"+"░ ░▒ ▒  ░░ ▒▓ ░▒▓░  ██▒▒▒ ▒▓▒░ ░  ░  ▒ ░░    ▒▒   ▓▒█░░ ▒░▓  ░▒ ▒▒ ▓▒ \n"+"  ░  ▒     ░▒ ░ ▒░▓██ ░▒░ ░▒ ░         ░      ▒   ▒▒ ░░ ░ ▒  ░░ ░▒ ▒░ \n"+"░          ░░   ░ ▒ ▒ ░░  ░░         ░        ░   ▒     ░ ░   ░ ░░ ░  \n"+"░ ░         ░     ░ ░                             ░  ░    ░  ░░  ░    \n"+"░                 ░ ░                                                 \n"+"                                  https://github.com/runbgp/cryptalk  \n"+"                                                                      \n"+" Tip of the day: /help                                                \n"+"----------------------------------------------------------------------"+"
    ",nick:{maxLen:20,minLen:2},key:{maxLen:1024,minLen:8},room:{minLen:1,maxLen:64},notifications:{maxOnePerMs:3e3}};var commonjsGlobal=typeof globalThis!=="undefined"?globalThis:typeof window!=="undefined"?window:typeof global!=="undefined"?global:typeof self!=="undefined"?self:{};var cryptoJs$1={exports:{}};function commonjsRequire(path){throw new Error('Could not dynamically require "'+path+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var core$1={exports:{}};var core=core$1.exports;var hasRequiredCore;function requireCore(){if(hasRequiredCore)return core$1.exports;hasRequiredCore=1;(function(module,exports$1){(function(root,factory){{module.exports=factory()}})(core,function(){var CryptoJS=CryptoJS||function(Math,undefined$1){var crypto;if(typeof window!=="undefined"&&window.crypto){crypto=window.crypto}if(typeof self!=="undefined"&&self.crypto){crypto=self.crypto}if(typeof globalThis!=="undefined"&&globalThis.crypto){crypto=globalThis.crypto}if(!crypto&&typeof window!=="undefined"&&window.msCrypto){crypto=window.msCrypto}if(!crypto&&typeof commonjsGlobal!=="undefined"&&commonjsGlobal.crypto){crypto=commonjsGlobal.crypto}if(!crypto&&typeof commonjsRequire==="function"){try{crypto=require("crypto")}catch(err){}}var cryptoSecureRandomInt=function(){if(crypto){if(typeof crypto.getRandomValues==="function"){try{return crypto.getRandomValues(new Uint32Array(1))[0]}catch(err){}}if(typeof crypto.randomBytes==="function"){try{return crypto.randomBytes(4).readInt32LE()}catch(err){}}}throw new Error("Native crypto module could not be used to get secure random number.")};var create=Object.create||function(){function F(){}return function(obj){var subtype;F.prototype=obj;subtype=new F;F.prototype=null;return subtype}}();var C={};var C_lib=C.lib={};var Base=C_lib.Base=function(){return{extend:function(overrides){var subtype=create(this);if(overrides){subtype.mixIn(overrides)}if(!subtype.hasOwnProperty("init")||this.init===subtype.init){subtype.init=function(){subtype.$super.init.apply(this,arguments)}}subtype.init.prototype=subtype;subtype.$super=this;return subtype},create:function(){var instance=this.extend();instance.init.apply(instance,arguments);return instance},init:function(){},mixIn:function(properties){for(var propertyName in properties){if(properties.hasOwnProperty(propertyName)){this[propertyName]=properties[propertyName]}}if(properties.hasOwnProperty("toString")){this.toString=properties.toString}},clone:function(){return this.init.prototype.extend(this)}}}();var WordArray=C_lib.WordArray=Base.extend({init:function(words,sigBytes){words=this.words=words||[];if(sigBytes!=undefined$1){this.sigBytes=sigBytes}else{this.sigBytes=words.length*4}},toString:function(encoder){return(encoder||Hex).stringify(this)},concat:function(wordArray){var thisWords=this.words;var thatWords=wordArray.words;var thisSigBytes=this.sigBytes;var thatSigBytes=wordArray.sigBytes;this.clamp();if(thisSigBytes%4){for(var i=0;i>>2]>>>24-i%4*8&255;thisWords[thisSigBytes+i>>>2]|=thatByte<<24-(thisSigBytes+i)%4*8}}else{for(var j=0;j>>2]=thatWords[j>>>2]}}this.sigBytes+=thatSigBytes;return this},clamp:function(){var words=this.words;var sigBytes=this.sigBytes;words[sigBytes>>>2]&=4294967295<<32-sigBytes%4*8;words.length=Math.ceil(sigBytes/4)},clone:function(){var clone=Base.clone.call(this);clone.words=this.words.slice(0);return clone},random:function(nBytes){var words=[];for(var i=0;i>>2]>>>24-i%4*8&255;hexChars.push((bite>>>4).toString(16));hexChars.push((bite&15).toString(16))}return hexChars.join("")},parse:function(hexStr){var hexStrLength=hexStr.length;var words=[];for(var i=0;i>>3]|=parseInt(hexStr.substr(i,2),16)<<24-i%8*4}return new WordArray.init(words,hexStrLength/2)}};var Latin1=C_enc.Latin1={stringify:function(wordArray){var words=wordArray.words;var sigBytes=wordArray.sigBytes;var latin1Chars=[];for(var i=0;i>>2]>>>24-i%4*8&255;latin1Chars.push(String.fromCharCode(bite))}return latin1Chars.join("")},parse:function(latin1Str){var latin1StrLength=latin1Str.length;var words=[];for(var i=0;i>>2]|=(latin1Str.charCodeAt(i)&255)<<24-i%4*8}return new WordArray.init(words,latin1StrLength)}};var Utf8=C_enc.Utf8={stringify:function(wordArray){try{return decodeURIComponent(escape(Latin1.stringify(wordArray)))}catch(e){throw new Error("Malformed UTF-8 data")}},parse:function(utf8Str){return Latin1.parse(unescape(encodeURIComponent(utf8Str)))}};var BufferedBlockAlgorithm=C_lib.BufferedBlockAlgorithm=Base.extend({reset:function(){this._data=new WordArray.init;this._nDataBytes=0},_append:function(data){if(typeof data=="string"){data=Utf8.parse(data)}this._data.concat(data);this._nDataBytes+=data.sigBytes},_process:function(doFlush){var processedWords;var data=this._data;var dataWords=data.words;var dataSigBytes=data.sigBytes;var blockSize=this.blockSize;var blockSizeBytes=blockSize*4;var nBlocksReady=dataSigBytes/blockSizeBytes;if(doFlush){nBlocksReady=Math.ceil(nBlocksReady)}else{nBlocksReady=Math.max((nBlocksReady|0)-this._minBufferSize,0)}var nWordsReady=nBlocksReady*blockSize;var nBytesReady=Math.min(nWordsReady*4,dataSigBytes);if(nWordsReady){for(var offset=0;offset>>2]|=typedArray[i]<<24-i%4*8}superInit.call(this,words,typedArrayByteLength)}else{superInit.apply(this,arguments)}};subInit.prototype=WordArray})();return CryptoJS.lib.WordArray})})(libTypedarrays$1);return libTypedarrays$1.exports}var encUtf16$1={exports:{}};var encUtf16=encUtf16$1.exports;var hasRequiredEncUtf16;function requireEncUtf16(){if(hasRequiredEncUtf16)return encUtf16$1.exports;hasRequiredEncUtf16=1;(function(module,exports$1){(function(root,factory){{module.exports=factory(requireCore())}})(encUtf16,function(CryptoJS){(function(){var C=CryptoJS;var C_lib=C.lib;var WordArray=C_lib.WordArray;var C_enc=C.enc;C_enc.Utf16=C_enc.Utf16BE={stringify:function(wordArray){var words=wordArray.words;var sigBytes=wordArray.sigBytes;var utf16Chars=[];for(var i=0;i>>2]>>>16-i%4*8&65535;utf16Chars.push(String.fromCharCode(codePoint))}return utf16Chars.join("")},parse:function(utf16Str){var utf16StrLength=utf16Str.length;var words=[];for(var i=0;i>>1]|=utf16Str.charCodeAt(i)<<16-i%2*16}return WordArray.create(words,utf16StrLength*2)}};C_enc.Utf16LE={stringify:function(wordArray){var words=wordArray.words;var sigBytes=wordArray.sigBytes;var utf16Chars=[];for(var i=0;i>>2]>>>16-i%4*8&65535);utf16Chars.push(String.fromCharCode(codePoint))}return utf16Chars.join("")},parse:function(utf16Str){var utf16StrLength=utf16Str.length;var words=[];for(var i=0;i>>1]|=swapEndian(utf16Str.charCodeAt(i)<<16-i%2*16)}return WordArray.create(words,utf16StrLength*2)}};function swapEndian(word){return word<<8&4278255360|word>>>8&16711935}})();return CryptoJS.enc.Utf16})})(encUtf16$1);return encUtf16$1.exports}var encBase64$1={exports:{}};var encBase64=encBase64$1.exports;var hasRequiredEncBase64;function requireEncBase64(){if(hasRequiredEncBase64)return encBase64$1.exports;hasRequiredEncBase64=1;(function(module,exports$1){(function(root,factory){{module.exports=factory(requireCore())}})(encBase64,function(CryptoJS){(function(){var C=CryptoJS;var C_lib=C.lib;var WordArray=C_lib.WordArray;var C_enc=C.enc;C_enc.Base64={stringify:function(wordArray){var words=wordArray.words;var sigBytes=wordArray.sigBytes;var map=this._map;wordArray.clamp();var base64Chars=[];for(var i=0;i>>2]>>>24-i%4*8&255;var byte2=words[i+1>>>2]>>>24-(i+1)%4*8&255;var byte3=words[i+2>>>2]>>>24-(i+2)%4*8&255;var triplet=byte1<<16|byte2<<8|byte3;for(var j=0;j<4&&i+j*.75>>6*(3-j)&63))}}var paddingChar=map.charAt(64);if(paddingChar){while(base64Chars.length%4){base64Chars.push(paddingChar)}}return base64Chars.join("")},parse:function(base64Str){var base64StrLength=base64Str.length;var map=this._map;var reverseMap=this._reverseMap;if(!reverseMap){reverseMap=this._reverseMap=[];for(var j=0;j>>6-i%4*2;var bitsCombined=bits1|bits2;words[nBytes>>>2]|=bitsCombined<<24-nBytes%4*8;nBytes++}}return WordArray.create(words,nBytes)}})();return CryptoJS.enc.Base64})})(encBase64$1);return encBase64$1.exports}var encBase64url$1={exports:{}};var encBase64url=encBase64url$1.exports;var hasRequiredEncBase64url;function requireEncBase64url(){if(hasRequiredEncBase64url)return encBase64url$1.exports;hasRequiredEncBase64url=1;(function(module,exports$1){(function(root,factory){{module.exports=factory(requireCore())}})(encBase64url,function(CryptoJS){(function(){var C=CryptoJS;var C_lib=C.lib;var WordArray=C_lib.WordArray;var C_enc=C.enc;C_enc.Base64url={stringify:function(wordArray,urlSafe){if(urlSafe===undefined){urlSafe=true}var words=wordArray.words;var sigBytes=wordArray.sigBytes;var map=urlSafe?this._safe_map:this._map;wordArray.clamp();var base64Chars=[];for(var i=0;i>>2]>>>24-i%4*8&255;var byte2=words[i+1>>>2]>>>24-(i+1)%4*8&255;var byte3=words[i+2>>>2]>>>24-(i+2)%4*8&255;var triplet=byte1<<16|byte2<<8|byte3;for(var j=0;j<4&&i+j*.75>>6*(3-j)&63))}}var paddingChar=map.charAt(64);if(paddingChar){while(base64Chars.length%4){base64Chars.push(paddingChar)}}return base64Chars.join("")},parse:function(base64Str,urlSafe){if(urlSafe===undefined){urlSafe=true}var base64StrLength=base64Str.length;var map=urlSafe?this._safe_map:this._map;var reverseMap=this._reverseMap;if(!reverseMap){reverseMap=this._reverseMap=[];for(var j=0;j>>6-i%4*2;var bitsCombined=bits1|bits2;words[nBytes>>>2]|=bitsCombined<<24-nBytes%4*8;nBytes++}}return WordArray.create(words,nBytes)}})();return CryptoJS.enc.Base64url})})(encBase64url$1);return encBase64url$1.exports}var md5$1={exports:{}};var md5=md5$1.exports;var hasRequiredMd5;function requireMd5(){if(hasRequiredMd5)return md5$1.exports;hasRequiredMd5=1;(function(module,exports$1){(function(root,factory){{module.exports=factory(requireCore())}})(md5,function(CryptoJS){(function(Math){var C=CryptoJS;var C_lib=C.lib;var WordArray=C_lib.WordArray;var Hasher=C_lib.Hasher;var C_algo=C.algo;var T=[];(function(){for(var i=0;i<64;i++){T[i]=Math.abs(Math.sin(i+1))*4294967296|0}})();var MD5=C_algo.MD5=Hasher.extend({_doReset:function(){this._hash=new WordArray.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(M,offset){for(var i=0;i<16;i++){var offset_i=offset+i;var M_offset_i=M[offset_i];M[offset_i]=(M_offset_i<<8|M_offset_i>>>24)&16711935|(M_offset_i<<24|M_offset_i>>>8)&4278255360}var H=this._hash.words;var M_offset_0=M[offset+0];var M_offset_1=M[offset+1];var M_offset_2=M[offset+2];var M_offset_3=M[offset+3];var M_offset_4=M[offset+4];var M_offset_5=M[offset+5];var M_offset_6=M[offset+6];var M_offset_7=M[offset+7];var M_offset_8=M[offset+8];var M_offset_9=M[offset+9];var M_offset_10=M[offset+10];var M_offset_11=M[offset+11];var M_offset_12=M[offset+12];var M_offset_13=M[offset+13];var M_offset_14=M[offset+14];var M_offset_15=M[offset+15];var a=H[0];var b=H[1];var c=H[2];var d=H[3];a=FF(a,b,c,d,M_offset_0,7,T[0]);d=FF(d,a,b,c,M_offset_1,12,T[1]);c=FF(c,d,a,b,M_offset_2,17,T[2]);b=FF(b,c,d,a,M_offset_3,22,T[3]);a=FF(a,b,c,d,M_offset_4,7,T[4]);d=FF(d,a,b,c,M_offset_5,12,T[5]);c=FF(c,d,a,b,M_offset_6,17,T[6]);b=FF(b,c,d,a,M_offset_7,22,T[7]);a=FF(a,b,c,d,M_offset_8,7,T[8]);d=FF(d,a,b,c,M_offset_9,12,T[9]);c=FF(c,d,a,b,M_offset_10,17,T[10]);b=FF(b,c,d,a,M_offset_11,22,T[11]);a=FF(a,b,c,d,M_offset_12,7,T[12]);d=FF(d,a,b,c,M_offset_13,12,T[13]);c=FF(c,d,a,b,M_offset_14,17,T[14]);b=FF(b,c,d,a,M_offset_15,22,T[15]);a=GG(a,b,c,d,M_offset_1,5,T[16]);d=GG(d,a,b,c,M_offset_6,9,T[17]);c=GG(c,d,a,b,M_offset_11,14,T[18]);b=GG(b,c,d,a,M_offset_0,20,T[19]);a=GG(a,b,c,d,M_offset_5,5,T[20]);d=GG(d,a,b,c,M_offset_10,9,T[21]);c=GG(c,d,a,b,M_offset_15,14,T[22]);b=GG(b,c,d,a,M_offset_4,20,T[23]);a=GG(a,b,c,d,M_offset_9,5,T[24]);d=GG(d,a,b,c,M_offset_14,9,T[25]);c=GG(c,d,a,b,M_offset_3,14,T[26]);b=GG(b,c,d,a,M_offset_8,20,T[27]);a=GG(a,b,c,d,M_offset_13,5,T[28]);d=GG(d,a,b,c,M_offset_2,9,T[29]);c=GG(c,d,a,b,M_offset_7,14,T[30]);b=GG(b,c,d,a,M_offset_12,20,T[31]);a=HH(a,b,c,d,M_offset_5,4,T[32]);d=HH(d,a,b,c,M_offset_8,11,T[33]);c=HH(c,d,a,b,M_offset_11,16,T[34]);b=HH(b,c,d,a,M_offset_14,23,T[35]);a=HH(a,b,c,d,M_offset_1,4,T[36]);d=HH(d,a,b,c,M_offset_4,11,T[37]);c=HH(c,d,a,b,M_offset_7,16,T[38]);b=HH(b,c,d,a,M_offset_10,23,T[39]);a=HH(a,b,c,d,M_offset_13,4,T[40]);d=HH(d,a,b,c,M_offset_0,11,T[41]);c=HH(c,d,a,b,M_offset_3,16,T[42]);b=HH(b,c,d,a,M_offset_6,23,T[43]);a=HH(a,b,c,d,M_offset_9,4,T[44]);d=HH(d,a,b,c,M_offset_12,11,T[45]);c=HH(c,d,a,b,M_offset_15,16,T[46]);b=HH(b,c,d,a,M_offset_2,23,T[47]);a=II(a,b,c,d,M_offset_0,6,T[48]);d=II(d,a,b,c,M_offset_7,10,T[49]);c=II(c,d,a,b,M_offset_14,15,T[50]);b=II(b,c,d,a,M_offset_5,21,T[51]);a=II(a,b,c,d,M_offset_12,6,T[52]);d=II(d,a,b,c,M_offset_3,10,T[53]);c=II(c,d,a,b,M_offset_10,15,T[54]);b=II(b,c,d,a,M_offset_1,21,T[55]);a=II(a,b,c,d,M_offset_8,6,T[56]);d=II(d,a,b,c,M_offset_15,10,T[57]);c=II(c,d,a,b,M_offset_6,15,T[58]);b=II(b,c,d,a,M_offset_13,21,T[59]);a=II(a,b,c,d,M_offset_4,6,T[60]);d=II(d,a,b,c,M_offset_11,10,T[61]);c=II(c,d,a,b,M_offset_2,15,T[62]);b=II(b,c,d,a,M_offset_9,21,T[63]);H[0]=H[0]+a|0;H[1]=H[1]+b|0;H[2]=H[2]+c|0;H[3]=H[3]+d|0},_doFinalize:function(){var data=this._data;var dataWords=data.words;var nBitsTotal=this._nDataBytes*8;var nBitsLeft=data.sigBytes*8;dataWords[nBitsLeft>>>5]|=128<<24-nBitsLeft%32;var nBitsTotalH=Math.floor(nBitsTotal/4294967296);var nBitsTotalL=nBitsTotal;dataWords[(nBitsLeft+64>>>9<<4)+15]=(nBitsTotalH<<8|nBitsTotalH>>>24)&16711935|(nBitsTotalH<<24|nBitsTotalH>>>8)&4278255360;dataWords[(nBitsLeft+64>>>9<<4)+14]=(nBitsTotalL<<8|nBitsTotalL>>>24)&16711935|(nBitsTotalL<<24|nBitsTotalL>>>8)&4278255360;data.sigBytes=(dataWords.length+1)*4;this._process();var hash=this._hash;var H=hash.words;for(var i=0;i<4;i++){var H_i=H[i];H[i]=(H_i<<8|H_i>>>24)&16711935|(H_i<<24|H_i>>>8)&4278255360}return hash},clone:function(){var clone=Hasher.clone.call(this);clone._hash=this._hash.clone();return clone}});function FF(a,b,c,d,x,s,t){var n=a+(b&c|~b&d)+x+t;return(n<>>32-s)+b}function GG(a,b,c,d,x,s,t){var n=a+(b&d|c&~d)+x+t;return(n<>>32-s)+b}function HH(a,b,c,d,x,s,t){var n=a+(b^c^d)+x+t;return(n<>>32-s)+b}function II(a,b,c,d,x,s,t){var n=a+(c^(b|~d))+x+t;return(n<>>32-s)+b}C.MD5=Hasher._createHelper(MD5);C.HmacMD5=Hasher._createHmacHelper(MD5)})(Math);return CryptoJS.MD5})})(md5$1);return md5$1.exports}var sha1$1={exports:{}};var sha1=sha1$1.exports;var hasRequiredSha1;function requireSha1(){if(hasRequiredSha1)return sha1$1.exports;hasRequiredSha1=1;(function(module,exports$1){(function(root,factory){{module.exports=factory(requireCore())}})(sha1,function(CryptoJS){(function(){var C=CryptoJS;var C_lib=C.lib;var WordArray=C_lib.WordArray;var Hasher=C_lib.Hasher;var C_algo=C.algo;var W=[];var SHA1=C_algo.SHA1=Hasher.extend({_doReset:function(){this._hash=new WordArray.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(M,offset){var H=this._hash.words;var a=H[0];var b=H[1];var c=H[2];var d=H[3];var e=H[4];for(var i=0;i<80;i++){if(i<16){W[i]=M[offset+i]|0}else{var n=W[i-3]^W[i-8]^W[i-14]^W[i-16];W[i]=n<<1|n>>>31}var t=(a<<5|a>>>27)+e+W[i];if(i<20){t+=(b&c|~b&d)+1518500249}else if(i<40){t+=(b^c^d)+1859775393}else if(i<60){t+=(b&c|b&d|c&d)-1894007588}else{t+=(b^c^d)-899497514}e=d;d=c;c=b<<30|b>>>2;b=a;a=t}H[0]=H[0]+a|0;H[1]=H[1]+b|0;H[2]=H[2]+c|0;H[3]=H[3]+d|0;H[4]=H[4]+e|0},_doFinalize:function(){var data=this._data;var dataWords=data.words;var nBitsTotal=this._nDataBytes*8;var nBitsLeft=data.sigBytes*8;dataWords[nBitsLeft>>>5]|=128<<24-nBitsLeft%32;dataWords[(nBitsLeft+64>>>9<<4)+14]=Math.floor(nBitsTotal/4294967296);dataWords[(nBitsLeft+64>>>9<<4)+15]=nBitsTotal;data.sigBytes=dataWords.length*4;this._process();return this._hash},clone:function(){var clone=Hasher.clone.call(this);clone._hash=this._hash.clone();return clone}});C.SHA1=Hasher._createHelper(SHA1);C.HmacSHA1=Hasher._createHmacHelper(SHA1)})();return CryptoJS.SHA1})})(sha1$1);return sha1$1.exports}var sha256$1={exports:{}};var sha256=sha256$1.exports;var hasRequiredSha256;function requireSha256(){if(hasRequiredSha256)return sha256$1.exports;hasRequiredSha256=1;(function(module,exports$1){(function(root,factory){{module.exports=factory(requireCore())}})(sha256,function(CryptoJS){(function(Math){var C=CryptoJS;var C_lib=C.lib;var WordArray=C_lib.WordArray;var Hasher=C_lib.Hasher;var C_algo=C.algo;var H=[];var K=[];(function(){function isPrime(n){var sqrtN=Math.sqrt(n);for(var factor=2;factor<=sqrtN;factor++){if(!(n%factor)){return false}}return true}function getFractionalBits(n){return(n-(n|0))*4294967296|0}var n=2;var nPrime=0;while(nPrime<64){if(isPrime(n)){if(nPrime<8){H[nPrime]=getFractionalBits(Math.pow(n,1/2))}K[nPrime]=getFractionalBits(Math.pow(n,1/3));nPrime++}n++}})();var W=[];var SHA256=C_algo.SHA256=Hasher.extend({_doReset:function(){this._hash=new WordArray.init(H.slice(0))},_doProcessBlock:function(M,offset){var H=this._hash.words;var a=H[0];var b=H[1];var c=H[2];var d=H[3];var e=H[4];var f=H[5];var g=H[6];var h=H[7];for(var i=0;i<64;i++){if(i<16){W[i]=M[offset+i]|0}else{var gamma0x=W[i-15];var gamma0=(gamma0x<<25|gamma0x>>>7)^(gamma0x<<14|gamma0x>>>18)^gamma0x>>>3;var gamma1x=W[i-2];var gamma1=(gamma1x<<15|gamma1x>>>17)^(gamma1x<<13|gamma1x>>>19)^gamma1x>>>10;W[i]=gamma0+W[i-7]+gamma1+W[i-16]}var ch=e&f^~e&g;var maj=a&b^a&c^b&c;var sigma0=(a<<30|a>>>2)^(a<<19|a>>>13)^(a<<10|a>>>22);var sigma1=(e<<26|e>>>6)^(e<<21|e>>>11)^(e<<7|e>>>25);var t1=h+sigma1+ch+K[i]+W[i];var t2=sigma0+maj;h=g;g=f;f=e;e=d+t1|0;d=c;c=b;b=a;a=t1+t2|0}H[0]=H[0]+a|0;H[1]=H[1]+b|0;H[2]=H[2]+c|0;H[3]=H[3]+d|0;H[4]=H[4]+e|0;H[5]=H[5]+f|0;H[6]=H[6]+g|0;H[7]=H[7]+h|0},_doFinalize:function(){var data=this._data;var dataWords=data.words;var nBitsTotal=this._nDataBytes*8;var nBitsLeft=data.sigBytes*8;dataWords[nBitsLeft>>>5]|=128<<24-nBitsLeft%32;dataWords[(nBitsLeft+64>>>9<<4)+14]=Math.floor(nBitsTotal/4294967296);dataWords[(nBitsLeft+64>>>9<<4)+15]=nBitsTotal;data.sigBytes=dataWords.length*4;this._process();return this._hash},clone:function(){var clone=Hasher.clone.call(this);clone._hash=this._hash.clone();return clone}});C.SHA256=Hasher._createHelper(SHA256);C.HmacSHA256=Hasher._createHmacHelper(SHA256)})(Math);return CryptoJS.SHA256})})(sha256$1);return sha256$1.exports}var sha224$1={exports:{}};var sha224=sha224$1.exports;var hasRequiredSha224;function requireSha224(){if(hasRequiredSha224)return sha224$1.exports;hasRequiredSha224=1;(function(module,exports$1){(function(root,factory,undef){{module.exports=factory(requireCore(),requireSha256())}})(sha224,function(CryptoJS){(function(){var C=CryptoJS;var C_lib=C.lib;var WordArray=C_lib.WordArray;var C_algo=C.algo;var SHA256=C_algo.SHA256;var SHA224=C_algo.SHA224=SHA256.extend({_doReset:function(){this._hash=new WordArray.init([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428])},_doFinalize:function(){var hash=SHA256._doFinalize.call(this);hash.sigBytes-=4;return hash}});C.SHA224=SHA256._createHelper(SHA224);C.HmacSHA224=SHA256._createHmacHelper(SHA224)})();return CryptoJS.SHA224})})(sha224$1);return sha224$1.exports}var sha512$1={exports:{}};var sha512=sha512$1.exports;var hasRequiredSha512;function requireSha512(){if(hasRequiredSha512)return sha512$1.exports;hasRequiredSha512=1;(function(module,exports$1){(function(root,factory,undef){{module.exports=factory(requireCore(),requireX64Core())}})(sha512,function(CryptoJS){(function(){var C=CryptoJS;var C_lib=C.lib;var Hasher=C_lib.Hasher;var C_x64=C.x64;var X64Word=C_x64.Word;var X64WordArray=C_x64.WordArray;var C_algo=C.algo;function X64Word_create(){return X64Word.create.apply(X64Word,arguments)}var K=[X64Word_create(1116352408,3609767458),X64Word_create(1899447441,602891725),X64Word_create(3049323471,3964484399),X64Word_create(3921009573,2173295548),X64Word_create(961987163,4081628472),X64Word_create(1508970993,3053834265),X64Word_create(2453635748,2937671579),X64Word_create(2870763221,3664609560),X64Word_create(3624381080,2734883394),X64Word_create(310598401,1164996542),X64Word_create(607225278,1323610764),X64Word_create(1426881987,3590304994),X64Word_create(1925078388,4068182383),X64Word_create(2162078206,991336113),X64Word_create(2614888103,633803317),X64Word_create(3248222580,3479774868),X64Word_create(3835390401,2666613458),X64Word_create(4022224774,944711139),X64Word_create(264347078,2341262773),X64Word_create(604807628,2007800933),X64Word_create(770255983,1495990901),X64Word_create(1249150122,1856431235),X64Word_create(1555081692,3175218132),X64Word_create(1996064986,2198950837),X64Word_create(2554220882,3999719339),X64Word_create(2821834349,766784016),X64Word_create(2952996808,2566594879),X64Word_create(3210313671,3203337956),X64Word_create(3336571891,1034457026),X64Word_create(3584528711,2466948901),X64Word_create(113926993,3758326383),X64Word_create(338241895,168717936),X64Word_create(666307205,1188179964),X64Word_create(773529912,1546045734),X64Word_create(1294757372,1522805485),X64Word_create(1396182291,2643833823),X64Word_create(1695183700,2343527390),X64Word_create(1986661051,1014477480),X64Word_create(2177026350,1206759142),X64Word_create(2456956037,344077627),X64Word_create(2730485921,1290863460),X64Word_create(2820302411,3158454273),X64Word_create(3259730800,3505952657),X64Word_create(3345764771,106217008),X64Word_create(3516065817,3606008344),X64Word_create(3600352804,1432725776),X64Word_create(4094571909,1467031594),X64Word_create(275423344,851169720),X64Word_create(430227734,3100823752),X64Word_create(506948616,1363258195),X64Word_create(659060556,3750685593),X64Word_create(883997877,3785050280),X64Word_create(958139571,3318307427),X64Word_create(1322822218,3812723403),X64Word_create(1537002063,2003034995),X64Word_create(1747873779,3602036899),X64Word_create(1955562222,1575990012),X64Word_create(2024104815,1125592928),X64Word_create(2227730452,2716904306),X64Word_create(2361852424,442776044),X64Word_create(2428436474,593698344),X64Word_create(2756734187,3733110249),X64Word_create(3204031479,2999351573),X64Word_create(3329325298,3815920427),X64Word_create(3391569614,3928383900),X64Word_create(3515267271,566280711),X64Word_create(3940187606,3454069534),X64Word_create(4118630271,4000239992),X64Word_create(116418474,1914138554),X64Word_create(174292421,2731055270),X64Word_create(289380356,3203993006),X64Word_create(460393269,320620315),X64Word_create(685471733,587496836),X64Word_create(852142971,1086792851),X64Word_create(1017036298,365543100),X64Word_create(1126000580,2618297676),X64Word_create(1288033470,3409855158),X64Word_create(1501505948,4234509866),X64Word_create(1607167915,987167468),X64Word_create(1816402316,1246189591)];var W=[];(function(){for(var i=0;i<80;i++){W[i]=X64Word_create()}})();var SHA512=C_algo.SHA512=Hasher.extend({_doReset:function(){this._hash=new X64WordArray.init([new X64Word.init(1779033703,4089235720),new X64Word.init(3144134277,2227873595),new X64Word.init(1013904242,4271175723),new X64Word.init(2773480762,1595750129),new X64Word.init(1359893119,2917565137),new X64Word.init(2600822924,725511199),new X64Word.init(528734635,4215389547),new X64Word.init(1541459225,327033209)])},_doProcessBlock:function(M,offset){var H=this._hash.words;var H0=H[0];var H1=H[1];var H2=H[2];var H3=H[3];var H4=H[4];var H5=H[5];var H6=H[6];var H7=H[7];var H0h=H0.high;var H0l=H0.low;var H1h=H1.high;var H1l=H1.low;var H2h=H2.high;var H2l=H2.low;var H3h=H3.high;var H3l=H3.low;var H4h=H4.high;var H4l=H4.low;var H5h=H5.high;var H5l=H5.low;var H6h=H6.high;var H6l=H6.low;var H7h=H7.high;var H7l=H7.low;var ah=H0h;var al=H0l;var bh=H1h;var bl=H1l;var ch=H2h;var cl=H2l;var dh=H3h;var dl=H3l;var eh=H4h;var el=H4l;var fh=H5h;var fl=H5l;var gh=H6h;var gl=H6l;var hh=H7h;var hl=H7l;for(var i=0;i<80;i++){var Wil;var Wih;var Wi=W[i];if(i<16){Wih=Wi.high=M[offset+i*2]|0;Wil=Wi.low=M[offset+i*2+1]|0}else{var gamma0x=W[i-15];var gamma0xh=gamma0x.high;var gamma0xl=gamma0x.low;var gamma0h=(gamma0xh>>>1|gamma0xl<<31)^(gamma0xh>>>8|gamma0xl<<24)^gamma0xh>>>7;var gamma0l=(gamma0xl>>>1|gamma0xh<<31)^(gamma0xl>>>8|gamma0xh<<24)^(gamma0xl>>>7|gamma0xh<<25);var gamma1x=W[i-2];var gamma1xh=gamma1x.high;var gamma1xl=gamma1x.low;var gamma1h=(gamma1xh>>>19|gamma1xl<<13)^(gamma1xh<<3|gamma1xl>>>29)^gamma1xh>>>6;var gamma1l=(gamma1xl>>>19|gamma1xh<<13)^(gamma1xl<<3|gamma1xh>>>29)^(gamma1xl>>>6|gamma1xh<<26);var Wi7=W[i-7];var Wi7h=Wi7.high;var Wi7l=Wi7.low;var Wi16=W[i-16];var Wi16h=Wi16.high;var Wi16l=Wi16.low;Wil=gamma0l+Wi7l;Wih=gamma0h+Wi7h+(Wil>>>0>>0?1:0);Wil=Wil+gamma1l;Wih=Wih+gamma1h+(Wil>>>0>>0?1:0);Wil=Wil+Wi16l;Wih=Wih+Wi16h+(Wil>>>0>>0?1:0);Wi.high=Wih;Wi.low=Wil}var chh=eh&fh^~eh&gh;var chl=el&fl^~el≷var majh=ah&bh^ah&ch^bh&ch;var majl=al&bl^al&cl^bl&cl;var sigma0h=(ah>>>28|al<<4)^(ah<<30|al>>>2)^(ah<<25|al>>>7);var sigma0l=(al>>>28|ah<<4)^(al<<30|ah>>>2)^(al<<25|ah>>>7);var sigma1h=(eh>>>14|el<<18)^(eh>>>18|el<<14)^(eh<<23|el>>>9);var sigma1l=(el>>>14|eh<<18)^(el>>>18|eh<<14)^(el<<23|eh>>>9);var Ki=K[i];var Kih=Ki.high;var Kil=Ki.low;var t1l=hl+sigma1l;var t1h=hh+sigma1h+(t1l>>>0>>0?1:0);var t1l=t1l+chl;var t1h=t1h+chh+(t1l>>>0>>0?1:0);var t1l=t1l+Kil;var t1h=t1h+Kih+(t1l>>>0>>0?1:0);var t1l=t1l+Wil;var t1h=t1h+Wih+(t1l>>>0>>0?1:0);var t2l=sigma0l+majl;var t2h=sigma0h+majh+(t2l>>>0>>0?1:0);hh=gh;hl=gl;gh=fh;gl=fl;fh=eh;fl=el;el=dl+t1l|0;eh=dh+t1h+(el>>>0
    >>0?1:0)|0;dh=ch;dl=cl;ch=bh;cl=bl;bh=ah;bl=al;al=t1l+t2l|0;ah=t1h+t2h+(al>>>0>>0?1:0)|0}H0l=H0.low=H0l+al;H0.high=H0h+ah+(H0l>>>0>>0?1:0);H1l=H1.low=H1l+bl;H1.high=H1h+bh+(H1l>>>0>>0?1:0);H2l=H2.low=H2l+cl;H2.high=H2h+ch+(H2l>>>0>>0?1:0);H3l=H3.low=H3l+dl;H3.high=H3h+dh+(H3l>>>0
    >>0?1:0);H4l=H4.low=H4l+el;H4.high=H4h+eh+(H4l>>>0>>0?1:0);H5l=H5.low=H5l+fl;H5.high=H5h+fh+(H5l>>>0>>0?1:0);H6l=H6.low=H6l+gl;H6.high=H6h+gh+(H6l>>>0>>0?1:0);H7l=H7.low=H7l+hl;H7.high=H7h+hh+(H7l>>>0>>0?1:0)},_doFinalize:function(){var data=this._data;var dataWords=data.words;var nBitsTotal=this._nDataBytes*8;var nBitsLeft=data.sigBytes*8;dataWords[nBitsLeft>>>5]|=128<<24-nBitsLeft%32;dataWords[(nBitsLeft+128>>>10<<5)+30]=Math.floor(nBitsTotal/4294967296);dataWords[(nBitsLeft+128>>>10<<5)+31]=nBitsTotal;data.sigBytes=dataWords.length*4;this._process();var hash=this._hash.toX32();return hash},clone:function(){var clone=Hasher.clone.call(this);clone._hash=this._hash.clone();return clone},blockSize:1024/32});C.SHA512=Hasher._createHelper(SHA512);C.HmacSHA512=Hasher._createHmacHelper(SHA512)})();return CryptoJS.SHA512})})(sha512$1);return sha512$1.exports}var sha384$1={exports:{}};var sha384=sha384$1.exports;var hasRequiredSha384;function requireSha384(){if(hasRequiredSha384)return sha384$1.exports;hasRequiredSha384=1;(function(module,exports$1){(function(root,factory,undef){{module.exports=factory(requireCore(),requireX64Core(),requireSha512())}})(sha384,function(CryptoJS){(function(){var C=CryptoJS;var C_x64=C.x64;var X64Word=C_x64.Word;var X64WordArray=C_x64.WordArray;var C_algo=C.algo;var SHA512=C_algo.SHA512;var SHA384=C_algo.SHA384=SHA512.extend({_doReset:function(){this._hash=new X64WordArray.init([new X64Word.init(3418070365,3238371032),new X64Word.init(1654270250,914150663),new X64Word.init(2438529370,812702999),new X64Word.init(355462360,4144912697),new X64Word.init(1731405415,4290775857),new X64Word.init(2394180231,1750603025),new X64Word.init(3675008525,1694076839),new X64Word.init(1203062813,3204075428)])},_doFinalize:function(){var hash=SHA512._doFinalize.call(this);hash.sigBytes-=16;return hash}});C.SHA384=SHA512._createHelper(SHA384);C.HmacSHA384=SHA512._createHmacHelper(SHA384)})();return CryptoJS.SHA384})})(sha384$1);return sha384$1.exports}var sha3$1={exports:{}};var sha3=sha3$1.exports;var hasRequiredSha3;function requireSha3(){if(hasRequiredSha3)return sha3$1.exports;hasRequiredSha3=1;(function(module,exports$1){(function(root,factory,undef){{module.exports=factory(requireCore(),requireX64Core())}})(sha3,function(CryptoJS){(function(Math){var C=CryptoJS;var C_lib=C.lib;var WordArray=C_lib.WordArray;var Hasher=C_lib.Hasher;var C_x64=C.x64;var X64Word=C_x64.Word;var C_algo=C.algo;var RHO_OFFSETS=[];var PI_INDEXES=[];var ROUND_CONSTANTS=[];(function(){var x=1,y=0;for(var t=0;t<24;t++){RHO_OFFSETS[x+5*y]=(t+1)*(t+2)/2%64;var newX=y%5;var newY=(2*x+3*y)%5;x=newX;y=newY}for(var x=0;x<5;x++){for(var y=0;y<5;y++){PI_INDEXES[x+5*y]=y+(2*x+3*y)%5*5}}var LFSR=1;for(var i=0;i<24;i++){var roundConstantMsw=0;var roundConstantLsw=0;for(var j=0;j<7;j++){if(LFSR&1){var bitPosition=(1<>>24)&16711935|(M2i<<24|M2i>>>8)&4278255360;M2i1=(M2i1<<8|M2i1>>>24)&16711935|(M2i1<<24|M2i1>>>8)&4278255360;var lane=state[i];lane.high^=M2i1;lane.low^=M2i}for(var round=0;round<24;round++){for(var x=0;x<5;x++){var tMsw=0,tLsw=0;for(var y=0;y<5;y++){var lane=state[x+5*y];tMsw^=lane.high;tLsw^=lane.low}var Tx=T[x];Tx.high=tMsw;Tx.low=tLsw}for(var x=0;x<5;x++){var Tx4=T[(x+4)%5];var Tx1=T[(x+1)%5];var Tx1Msw=Tx1.high;var Tx1Lsw=Tx1.low;var tMsw=Tx4.high^(Tx1Msw<<1|Tx1Lsw>>>31);var tLsw=Tx4.low^(Tx1Lsw<<1|Tx1Msw>>>31);for(var y=0;y<5;y++){var lane=state[x+5*y];lane.high^=tMsw;lane.low^=tLsw}}for(var laneIndex=1;laneIndex<25;laneIndex++){var tMsw;var tLsw;var lane=state[laneIndex];var laneMsw=lane.high;var laneLsw=lane.low;var rhoOffset=RHO_OFFSETS[laneIndex];if(rhoOffset<32){tMsw=laneMsw<>>32-rhoOffset;tLsw=laneLsw<>>32-rhoOffset}else{tMsw=laneLsw<>>64-rhoOffset;tLsw=laneMsw<>>64-rhoOffset}var TPiLane=T[PI_INDEXES[laneIndex]];TPiLane.high=tMsw;TPiLane.low=tLsw}var T0=T[0];var state0=state[0];T0.high=state0.high;T0.low=state0.low;for(var x=0;x<5;x++){for(var y=0;y<5;y++){var laneIndex=x+5*y;var lane=state[laneIndex];var TLane=T[laneIndex];var Tx1Lane=T[(x+1)%5+5*y];var Tx2Lane=T[(x+2)%5+5*y];lane.high=TLane.high^~Tx1Lane.high&Tx2Lane.high;lane.low=TLane.low^~Tx1Lane.low&Tx2Lane.low}}var lane=state[0];var roundConstant=ROUND_CONSTANTS[round];lane.high^=roundConstant.high;lane.low^=roundConstant.low}},_doFinalize:function(){var data=this._data;var dataWords=data.words;this._nDataBytes*8;var nBitsLeft=data.sigBytes*8;var blockSizeBits=this.blockSize*32;dataWords[nBitsLeft>>>5]|=1<<24-nBitsLeft%32;dataWords[(Math.ceil((nBitsLeft+1)/blockSizeBits)*blockSizeBits>>>5)-1]|=128;data.sigBytes=dataWords.length*4;this._process();var state=this._state;var outputLengthBytes=this.cfg.outputLength/8;var outputLengthLanes=outputLengthBytes/8;var hashWords=[];for(var i=0;i>>24)&16711935|(laneMsw<<24|laneMsw>>>8)&4278255360;laneLsw=(laneLsw<<8|laneLsw>>>24)&16711935|(laneLsw<<24|laneLsw>>>8)&4278255360;hashWords.push(laneLsw);hashWords.push(laneMsw)}return new WordArray.init(hashWords,outputLengthBytes)},clone:function(){var clone=Hasher.clone.call(this);var state=clone._state=this._state.slice(0);for(var i=0;i<25;i++){state[i]=state[i].clone()}return clone}});C.SHA3=Hasher._createHelper(SHA3);C.HmacSHA3=Hasher._createHmacHelper(SHA3)})(Math);return CryptoJS.SHA3})})(sha3$1);return sha3$1.exports}var ripemd160$1={exports:{}};var ripemd160=ripemd160$1.exports;var hasRequiredRipemd160;function requireRipemd160(){if(hasRequiredRipemd160)return ripemd160$1.exports;hasRequiredRipemd160=1;(function(module,exports$1){(function(root,factory){{module.exports=factory(requireCore())}})(ripemd160,function(CryptoJS){(function(Math){var C=CryptoJS;var C_lib=C.lib;var WordArray=C_lib.WordArray;var Hasher=C_lib.Hasher;var C_algo=C.algo;var _zl=WordArray.create([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13]);var _zr=WordArray.create([5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11]);var _sl=WordArray.create([11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6]);var _sr=WordArray.create([8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]);var _hl=WordArray.create([0,1518500249,1859775393,2400959708,2840853838]);var _hr=WordArray.create([1352829926,1548603684,1836072691,2053994217,0]);var RIPEMD160=C_algo.RIPEMD160=Hasher.extend({_doReset:function(){this._hash=WordArray.create([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(M,offset){for(var i=0;i<16;i++){var offset_i=offset+i;var M_offset_i=M[offset_i];M[offset_i]=(M_offset_i<<8|M_offset_i>>>24)&16711935|(M_offset_i<<24|M_offset_i>>>8)&4278255360}var H=this._hash.words;var hl=_hl.words;var hr=_hr.words;var zl=_zl.words;var zr=_zr.words;var sl=_sl.words;var sr=_sr.words;var al,bl,cl,dl,el;var ar,br,cr,dr,er;ar=al=H[0];br=bl=H[1];cr=cl=H[2];dr=dl=H[3];er=el=H[4];var t;for(var i=0;i<80;i+=1){t=al+M[offset+zl[i]]|0;if(i<16){t+=f1(bl,cl,dl)+hl[0]}else if(i<32){t+=f2(bl,cl,dl)+hl[1]}else if(i<48){t+=f3(bl,cl,dl)+hl[2]}else if(i<64){t+=f4(bl,cl,dl)+hl[3]}else{t+=f5(bl,cl,dl)+hl[4]}t=t|0;t=rotl(t,sl[i]);t=t+el|0;al=el;el=dl;dl=rotl(cl,10);cl=bl;bl=t;t=ar+M[offset+zr[i]]|0;if(i<16){t+=f5(br,cr,dr)+hr[0]}else if(i<32){t+=f4(br,cr,dr)+hr[1]}else if(i<48){t+=f3(br,cr,dr)+hr[2]}else if(i<64){t+=f2(br,cr,dr)+hr[3]}else{t+=f1(br,cr,dr)+hr[4]}t=t|0;t=rotl(t,sr[i]);t=t+er|0;ar=er;er=dr;dr=rotl(cr,10);cr=br;br=t}t=H[1]+cl+dr|0;H[1]=H[2]+dl+er|0;H[2]=H[3]+el+ar|0;H[3]=H[4]+al+br|0;H[4]=H[0]+bl+cr|0;H[0]=t},_doFinalize:function(){var data=this._data;var dataWords=data.words;var nBitsTotal=this._nDataBytes*8;var nBitsLeft=data.sigBytes*8;dataWords[nBitsLeft>>>5]|=128<<24-nBitsLeft%32;dataWords[(nBitsLeft+64>>>9<<4)+14]=(nBitsTotal<<8|nBitsTotal>>>24)&16711935|(nBitsTotal<<24|nBitsTotal>>>8)&4278255360;data.sigBytes=(dataWords.length+1)*4;this._process();var hash=this._hash;var H=hash.words;for(var i=0;i<5;i++){var H_i=H[i];H[i]=(H_i<<8|H_i>>>24)&16711935|(H_i<<24|H_i>>>8)&4278255360}return hash},clone:function(){var clone=Hasher.clone.call(this);clone._hash=this._hash.clone();return clone}});function f1(x,y,z){return x^y^z}function f2(x,y,z){return x&y|~x&z}function f3(x,y,z){return(x|~y)^z}function f4(x,y,z){return x&z|y&~z}function f5(x,y,z){return x^(y|~z)}function rotl(x,n){return x<>>32-n}C.RIPEMD160=Hasher._createHelper(RIPEMD160);C.HmacRIPEMD160=Hasher._createHmacHelper(RIPEMD160)})();return CryptoJS.RIPEMD160})})(ripemd160$1);return ripemd160$1.exports}var hmac$1={exports:{}};var hmac=hmac$1.exports;var hasRequiredHmac;function requireHmac(){if(hasRequiredHmac)return hmac$1.exports;hasRequiredHmac=1;(function(module,exports$1){(function(root,factory){{module.exports=factory(requireCore())}})(hmac,function(CryptoJS){(function(){var C=CryptoJS;var C_lib=C.lib;var Base=C_lib.Base;var C_enc=C.enc;var Utf8=C_enc.Utf8;var C_algo=C.algo;C_algo.HMAC=Base.extend({init:function(hasher,key){hasher=this._hasher=new hasher.init;if(typeof key=="string"){key=Utf8.parse(key)}var hasherBlockSize=hasher.blockSize;var hasherBlockSizeBytes=hasherBlockSize*4;if(key.sigBytes>hasherBlockSizeBytes){key=hasher.finalize(key)}key.clamp();var oKey=this._oKey=key.clone();var iKey=this._iKey=key.clone();var oKeyWords=oKey.words;var iKeyWords=iKey.words;for(var i=0;i>>2]&255;data.sigBytes-=nPaddingBytes}};C_lib.BlockCipher=Cipher.extend({cfg:Cipher.cfg.extend({mode:CBC,padding:Pkcs7}),reset:function(){var modeCreator;Cipher.reset.call(this);var cfg=this.cfg;var iv=cfg.iv;var mode=cfg.mode;if(this._xformMode==this._ENC_XFORM_MODE){modeCreator=mode.createEncryptor}else{modeCreator=mode.createDecryptor;this._minBufferSize=1}if(this._mode&&this._mode.__creator==modeCreator){this._mode.init(this,iv&&iv.words)}else{this._mode=modeCreator.call(mode,this,iv&&iv.words);this._mode.__creator=modeCreator}},_doProcessBlock:function(words,offset){this._mode.processBlock(words,offset)},_doFinalize:function(){var finalProcessedBlocks;var padding=this.cfg.padding;if(this._xformMode==this._ENC_XFORM_MODE){padding.pad(this._data,this.blockSize);finalProcessedBlocks=this._process(true)}else{finalProcessedBlocks=this._process(true);padding.unpad(finalProcessedBlocks)}return finalProcessedBlocks},blockSize:128/32});var CipherParams=C_lib.CipherParams=Base.extend({init:function(cipherParams){this.mixIn(cipherParams)},toString:function(formatter){return(formatter||this.formatter).stringify(this)}});var C_format=C.format={};var OpenSSLFormatter=C_format.OpenSSL={stringify:function(cipherParams){var wordArray;var ciphertext=cipherParams.ciphertext;var salt=cipherParams.salt;if(salt){wordArray=WordArray.create([1398893684,1701076831]).concat(salt).concat(ciphertext)}else{wordArray=ciphertext}return wordArray.toString(Base64)},parse:function(openSSLStr){var salt;var ciphertext=Base64.parse(openSSLStr);var ciphertextWords=ciphertext.words;if(ciphertextWords[0]==1398893684&&ciphertextWords[1]==1701076831){salt=WordArray.create(ciphertextWords.slice(2,4));ciphertextWords.splice(0,4);ciphertext.sigBytes-=16}return CipherParams.create({ciphertext:ciphertext,salt:salt})}};var SerializableCipher=C_lib.SerializableCipher=Base.extend({cfg:Base.extend({format:OpenSSLFormatter}),encrypt:function(cipher,message,key,cfg){cfg=this.cfg.extend(cfg);var encryptor=cipher.createEncryptor(key,cfg);var ciphertext=encryptor.finalize(message);var cipherCfg=encryptor.cfg;return CipherParams.create({ciphertext:ciphertext,key:key,iv:cipherCfg.iv,algorithm:cipher,mode:cipherCfg.mode,padding:cipherCfg.padding,blockSize:cipher.blockSize,formatter:cfg.format})},decrypt:function(cipher,ciphertext,key,cfg){cfg=this.cfg.extend(cfg);ciphertext=this._parse(ciphertext,cfg.format);var plaintext=cipher.createDecryptor(key,cfg).finalize(ciphertext.ciphertext);return plaintext},_parse:function(ciphertext,format){if(typeof ciphertext=="string"){return format.parse(ciphertext,this)}else{return ciphertext}}});var C_kdf=C.kdf={};var OpenSSLKdf=C_kdf.OpenSSL={execute:function(password,keySize,ivSize,salt,hasher){if(!salt){salt=WordArray.random(64/8)}if(!hasher){var key=EvpKDF.create({keySize:keySize+ivSize}).compute(password,salt)}else{var key=EvpKDF.create({keySize:keySize+ivSize,hasher:hasher}).compute(password,salt)}var iv=WordArray.create(key.words.slice(keySize),ivSize*4);key.sigBytes=keySize*4;return CipherParams.create({key:key,iv:iv,salt:salt})}};var PasswordBasedCipher=C_lib.PasswordBasedCipher=SerializableCipher.extend({cfg:SerializableCipher.cfg.extend({kdf:OpenSSLKdf}),encrypt:function(cipher,message,password,cfg){cfg=this.cfg.extend(cfg);var derivedParams=cfg.kdf.execute(password,cipher.keySize,cipher.ivSize,cfg.salt,cfg.hasher);cfg.iv=derivedParams.iv;var ciphertext=SerializableCipher.encrypt.call(this,cipher,message,derivedParams.key,cfg);ciphertext.mixIn(derivedParams);return ciphertext},decrypt:function(cipher,ciphertext,password,cfg){cfg=this.cfg.extend(cfg);ciphertext=this._parse(ciphertext,cfg.format);var derivedParams=cfg.kdf.execute(password,cipher.keySize,cipher.ivSize,ciphertext.salt,cfg.hasher);cfg.iv=derivedParams.iv;var plaintext=SerializableCipher.decrypt.call(this,cipher,ciphertext,derivedParams.key,cfg);return plaintext}})}()})})(cipherCore$1);return cipherCore$1.exports}var modeCfb$1={exports:{}};var modeCfb=modeCfb$1.exports;var hasRequiredModeCfb;function requireModeCfb(){if(hasRequiredModeCfb)return modeCfb$1.exports;hasRequiredModeCfb=1;(function(module,exports$1){(function(root,factory,undef){{module.exports=factory(requireCore(),requireCipherCore())}})(modeCfb,function(CryptoJS){CryptoJS.mode.CFB=function(){var CFB=CryptoJS.lib.BlockCipherMode.extend();CFB.Encryptor=CFB.extend({processBlock:function(words,offset){var cipher=this._cipher;var blockSize=cipher.blockSize;generateKeystreamAndEncrypt.call(this,words,offset,blockSize,cipher);this._prevBlock=words.slice(offset,offset+blockSize)}});CFB.Decryptor=CFB.extend({processBlock:function(words,offset){var cipher=this._cipher;var blockSize=cipher.blockSize;var thisBlock=words.slice(offset,offset+blockSize);generateKeystreamAndEncrypt.call(this,words,offset,blockSize,cipher);this._prevBlock=thisBlock}});function generateKeystreamAndEncrypt(words,offset,blockSize,cipher){var keystream;var iv=this._iv;if(iv){keystream=iv.slice(0);this._iv=undefined}else{keystream=this._prevBlock}cipher.encryptBlock(keystream,0);for(var i=0;i>24&255)===255){var b1=word>>16&255;var b2=word>>8&255;var b3=word&255;if(b1===255){b1=0;if(b2===255){b2=0;if(b3===255){b3=0}else{++b3}}else{++b2}}else{++b1}word=0;word+=b1<<16;word+=b2<<8;word+=b3}else{word+=1<<24}return word}function incCounter(counter){if((counter[0]=incWord(counter[0]))===0){counter[1]=incWord(counter[1])}return counter}var Encryptor=CTRGladman.Encryptor=CTRGladman.extend({processBlock:function(words,offset){var cipher=this._cipher;var blockSize=cipher.blockSize;var iv=this._iv;var counter=this._counter;if(iv){counter=this._counter=iv.slice(0);this._iv=undefined}incCounter(counter);var keystream=counter.slice(0);cipher.encryptBlock(keystream,0);for(var i=0;i>>2]|=nPaddingBytes<<24-lastBytePos%4*8;data.sigBytes+=nPaddingBytes},unpad:function(data){var nPaddingBytes=data.words[data.sigBytes-1>>>2]&255;data.sigBytes-=nPaddingBytes}};return CryptoJS.pad.Ansix923})})(padAnsix923$1);return padAnsix923$1.exports}var padIso10126$1={exports:{}};var padIso10126=padIso10126$1.exports;var hasRequiredPadIso10126;function requirePadIso10126(){if(hasRequiredPadIso10126)return padIso10126$1.exports;hasRequiredPadIso10126=1;(function(module,exports$1){(function(root,factory,undef){{module.exports=factory(requireCore(),requireCipherCore())}})(padIso10126,function(CryptoJS){CryptoJS.pad.Iso10126={pad:function(data,blockSize){var blockSizeBytes=blockSize*4;var nPaddingBytes=blockSizeBytes-data.sigBytes%blockSizeBytes;data.concat(CryptoJS.lib.WordArray.random(nPaddingBytes-1)).concat(CryptoJS.lib.WordArray.create([nPaddingBytes<<24],1))},unpad:function(data){var nPaddingBytes=data.words[data.sigBytes-1>>>2]&255;data.sigBytes-=nPaddingBytes}};return CryptoJS.pad.Iso10126})})(padIso10126$1);return padIso10126$1.exports}var padIso97971$1={exports:{}};var padIso97971=padIso97971$1.exports;var hasRequiredPadIso97971;function requirePadIso97971(){if(hasRequiredPadIso97971)return padIso97971$1.exports;hasRequiredPadIso97971=1;(function(module,exports$1){(function(root,factory,undef){{module.exports=factory(requireCore(),requireCipherCore())}})(padIso97971,function(CryptoJS){CryptoJS.pad.Iso97971={pad:function(data,blockSize){data.concat(CryptoJS.lib.WordArray.create([2147483648],1));CryptoJS.pad.ZeroPadding.pad(data,blockSize)},unpad:function(data){CryptoJS.pad.ZeroPadding.unpad(data);data.sigBytes--}};return CryptoJS.pad.Iso97971})})(padIso97971$1);return padIso97971$1.exports}var padZeropadding$1={exports:{}};var padZeropadding=padZeropadding$1.exports;var hasRequiredPadZeropadding;function requirePadZeropadding(){if(hasRequiredPadZeropadding)return padZeropadding$1.exports;hasRequiredPadZeropadding=1;(function(module,exports$1){(function(root,factory,undef){{module.exports=factory(requireCore(),requireCipherCore())}})(padZeropadding,function(CryptoJS){CryptoJS.pad.ZeroPadding={pad:function(data,blockSize){var blockSizeBytes=blockSize*4;data.clamp();data.sigBytes+=blockSizeBytes-(data.sigBytes%blockSizeBytes||blockSizeBytes)},unpad:function(data){var dataWords=data.words;var i=data.sigBytes-1;for(var i=data.sigBytes-1;i>=0;i--){if(dataWords[i>>>2]>>>24-i%4*8&255){data.sigBytes=i+1;break}}}};return CryptoJS.pad.ZeroPadding})})(padZeropadding$1);return padZeropadding$1.exports}var padNopadding$1={exports:{}};var padNopadding=padNopadding$1.exports;var hasRequiredPadNopadding;function requirePadNopadding(){if(hasRequiredPadNopadding)return padNopadding$1.exports;hasRequiredPadNopadding=1;(function(module,exports$1){(function(root,factory,undef){{module.exports=factory(requireCore(),requireCipherCore())}})(padNopadding,function(CryptoJS){CryptoJS.pad.NoPadding={pad:function(){},unpad:function(){}};return CryptoJS.pad.NoPadding})})(padNopadding$1);return padNopadding$1.exports}var formatHex$1={exports:{}};var formatHex=formatHex$1.exports;var hasRequiredFormatHex;function requireFormatHex(){if(hasRequiredFormatHex)return formatHex$1.exports;hasRequiredFormatHex=1;(function(module,exports$1){(function(root,factory,undef){{module.exports=factory(requireCore(),requireCipherCore())}})(formatHex,function(CryptoJS){(function(undefined$1){var C=CryptoJS;var C_lib=C.lib;var CipherParams=C_lib.CipherParams;var C_enc=C.enc;var Hex=C_enc.Hex;var C_format=C.format;C_format.Hex={stringify:function(cipherParams){return cipherParams.ciphertext.toString(Hex)},parse:function(input){var ciphertext=Hex.parse(input);return CipherParams.create({ciphertext:ciphertext})}}})();return CryptoJS.format.Hex})})(formatHex$1);return formatHex$1.exports}var aes$1={exports:{}};var aes=aes$1.exports;var hasRequiredAes;function requireAes(){if(hasRequiredAes)return aes$1.exports;hasRequiredAes=1;(function(module,exports$1){(function(root,factory,undef){{module.exports=factory(requireCore(),requireEncBase64(),requireMd5(),requireEvpkdf(),requireCipherCore())}})(aes,function(CryptoJS){(function(){var C=CryptoJS;var C_lib=C.lib;var BlockCipher=C_lib.BlockCipher;var C_algo=C.algo;var SBOX=[];var INV_SBOX=[];var SUB_MIX_0=[];var SUB_MIX_1=[];var SUB_MIX_2=[];var SUB_MIX_3=[];var INV_SUB_MIX_0=[];var INV_SUB_MIX_1=[];var INV_SUB_MIX_2=[];var INV_SUB_MIX_3=[];(function(){var d=[];for(var i=0;i<256;i++){if(i<128){d[i]=i<<1}else{d[i]=i<<1^283}}var x=0;var xi=0;for(var i=0;i<256;i++){var sx=xi^xi<<1^xi<<2^xi<<3^xi<<4;sx=sx>>>8^sx&255^99;SBOX[x]=sx;INV_SBOX[sx]=x;var x2=d[x];var x4=d[x2];var x8=d[x4];var t=d[sx]*257^sx*16843008;SUB_MIX_0[x]=t<<24|t>>>8;SUB_MIX_1[x]=t<<16|t>>>16;SUB_MIX_2[x]=t<<8|t>>>24;SUB_MIX_3[x]=t;var t=x8*16843009^x4*65537^x2*257^x*16843008;INV_SUB_MIX_0[sx]=t<<24|t>>>8;INV_SUB_MIX_1[sx]=t<<16|t>>>16;INV_SUB_MIX_2[sx]=t<<8|t>>>24;INV_SUB_MIX_3[sx]=t;if(!x){x=xi=1}else{x=x2^d[d[d[x8^x2]]];xi^=d[d[xi]]}}})();var RCON=[0,1,2,4,8,16,32,64,128,27,54];var AES=C_algo.AES=BlockCipher.extend({_doReset:function(){var t;if(this._nRounds&&this._keyPriorReset===this._key){return}var key=this._keyPriorReset=this._key;var keyWords=key.words;var keySize=key.sigBytes/4;var nRounds=this._nRounds=keySize+6;var ksRows=(nRounds+1)*4;var keySchedule=this._keySchedule=[];for(var ksRow=0;ksRow>>24;t=SBOX[t>>>24]<<24|SBOX[t>>>16&255]<<16|SBOX[t>>>8&255]<<8|SBOX[t&255];t^=RCON[ksRow/keySize|0]<<24}else if(keySize>6&&ksRow%keySize==4){t=SBOX[t>>>24]<<24|SBOX[t>>>16&255]<<16|SBOX[t>>>8&255]<<8|SBOX[t&255]}keySchedule[ksRow]=keySchedule[ksRow-keySize]^t}}var invKeySchedule=this._invKeySchedule=[];for(var invKsRow=0;invKsRow>>24]]^INV_SUB_MIX_1[SBOX[t>>>16&255]]^INV_SUB_MIX_2[SBOX[t>>>8&255]]^INV_SUB_MIX_3[SBOX[t&255]]}}},encryptBlock:function(M,offset){this._doCryptBlock(M,offset,this._keySchedule,SUB_MIX_0,SUB_MIX_1,SUB_MIX_2,SUB_MIX_3,SBOX)},decryptBlock:function(M,offset){var t=M[offset+1];M[offset+1]=M[offset+3];M[offset+3]=t;this._doCryptBlock(M,offset,this._invKeySchedule,INV_SUB_MIX_0,INV_SUB_MIX_1,INV_SUB_MIX_2,INV_SUB_MIX_3,INV_SBOX);var t=M[offset+1];M[offset+1]=M[offset+3];M[offset+3]=t},_doCryptBlock:function(M,offset,keySchedule,SUB_MIX_0,SUB_MIX_1,SUB_MIX_2,SUB_MIX_3,SBOX){var nRounds=this._nRounds;var s0=M[offset]^keySchedule[0];var s1=M[offset+1]^keySchedule[1];var s2=M[offset+2]^keySchedule[2];var s3=M[offset+3]^keySchedule[3];var ksRow=4;for(var round=1;round>>24]^SUB_MIX_1[s1>>>16&255]^SUB_MIX_2[s2>>>8&255]^SUB_MIX_3[s3&255]^keySchedule[ksRow++];var t1=SUB_MIX_0[s1>>>24]^SUB_MIX_1[s2>>>16&255]^SUB_MIX_2[s3>>>8&255]^SUB_MIX_3[s0&255]^keySchedule[ksRow++];var t2=SUB_MIX_0[s2>>>24]^SUB_MIX_1[s3>>>16&255]^SUB_MIX_2[s0>>>8&255]^SUB_MIX_3[s1&255]^keySchedule[ksRow++];var t3=SUB_MIX_0[s3>>>24]^SUB_MIX_1[s0>>>16&255]^SUB_MIX_2[s1>>>8&255]^SUB_MIX_3[s2&255]^keySchedule[ksRow++];s0=t0;s1=t1;s2=t2;s3=t3}var t0=(SBOX[s0>>>24]<<24|SBOX[s1>>>16&255]<<16|SBOX[s2>>>8&255]<<8|SBOX[s3&255])^keySchedule[ksRow++];var t1=(SBOX[s1>>>24]<<24|SBOX[s2>>>16&255]<<16|SBOX[s3>>>8&255]<<8|SBOX[s0&255])^keySchedule[ksRow++];var t2=(SBOX[s2>>>24]<<24|SBOX[s3>>>16&255]<<16|SBOX[s0>>>8&255]<<8|SBOX[s1&255])^keySchedule[ksRow++];var t3=(SBOX[s3>>>24]<<24|SBOX[s0>>>16&255]<<16|SBOX[s1>>>8&255]<<8|SBOX[s2&255])^keySchedule[ksRow++];M[offset]=t0;M[offset+1]=t1;M[offset+2]=t2;M[offset+3]=t3},keySize:256/32});C.AES=BlockCipher._createHelper(AES)})();return CryptoJS.AES})})(aes$1);return aes$1.exports}var tripledes$1={exports:{}};var tripledes=tripledes$1.exports;var hasRequiredTripledes;function requireTripledes(){if(hasRequiredTripledes)return tripledes$1.exports;hasRequiredTripledes=1;(function(module,exports$1){(function(root,factory,undef){{module.exports=factory(requireCore(),requireEncBase64(),requireMd5(),requireEvpkdf(),requireCipherCore())}})(tripledes,function(CryptoJS){(function(){var C=CryptoJS;var C_lib=C.lib;var WordArray=C_lib.WordArray;var BlockCipher=C_lib.BlockCipher;var C_algo=C.algo;var PC1=[57,49,41,33,25,17,9,1,58,50,42,34,26,18,10,2,59,51,43,35,27,19,11,3,60,52,44,36,63,55,47,39,31,23,15,7,62,54,46,38,30,22,14,6,61,53,45,37,29,21,13,5,28,20,12,4];var PC2=[14,17,11,24,1,5,3,28,15,6,21,10,23,19,12,4,26,8,16,7,27,20,13,2,41,52,31,37,47,55,30,40,51,45,33,48,44,49,39,56,34,53,46,42,50,36,29,32];var BIT_SHIFTS=[1,2,4,6,8,10,12,14,15,17,19,21,23,25,27,28];var SBOX_P=[{0:8421888,268435456:32768,536870912:8421378,805306368:2,1073741824:512,1342177280:8421890,1610612736:8389122,1879048192:8388608,2147483648:514,2415919104:8389120,2684354560:33280,2952790016:8421376,3221225472:32770,3489660928:8388610,3758096384:0,4026531840:33282,134217728:0,402653184:8421890,671088640:33282,939524096:32768,1207959552:8421888,1476395008:512,1744830464:8421378,2013265920:2,2281701376:8389120,2550136832:33280,2818572288:8421376,3087007744:8389122,3355443200:8388610,3623878656:32770,3892314112:514,4160749568:8388608,1:32768,268435457:2,536870913:8421888,805306369:8388608,1073741825:8421378,1342177281:33280,1610612737:512,1879048193:8389122,2147483649:8421890,2415919105:8421376,2684354561:8388610,2952790017:33282,3221225473:514,3489660929:8389120,3758096385:32770,4026531841:0,134217729:8421890,402653185:8421376,671088641:8388608,939524097:512,1207959553:32768,1476395009:8388610,1744830465:2,2013265921:33282,2281701377:32770,2550136833:8389122,2818572289:514,3087007745:8421888,3355443201:8389120,3623878657:0,3892314113:33280,4160749569:8421378},{0:1074282512,16777216:16384,33554432:524288,50331648:1074266128,67108864:1073741840,83886080:1074282496,100663296:1073758208,117440512:16,134217728:540672,150994944:1073758224,167772160:1073741824,184549376:540688,201326592:524304,218103808:0,234881024:16400,251658240:1074266112,8388608:1073758208,25165824:540688,41943040:16,58720256:1073758224,75497472:1074282512,92274688:1073741824,109051904:524288,125829120:1074266128,142606336:524304,159383552:0,176160768:16384,192937984:1074266112,209715200:1073741840,226492416:540672,243269632:1074282496,260046848:16400,268435456:0,285212672:1074266128,301989888:1073758224,318767104:1074282496,335544320:1074266112,352321536:16,369098752:540688,385875968:16384,402653184:16400,419430400:524288,436207616:524304,452984832:1073741840,469762048:540672,486539264:1073758208,503316480:1073741824,520093696:1074282512,276824064:540688,293601280:524288,310378496:1074266112,327155712:16384,343932928:1073758208,360710144:1074282512,377487360:16,394264576:1073741824,411041792:1074282496,427819008:1073741840,444596224:1073758224,461373440:524304,478150656:0,494927872:16400,511705088:1074266128,528482304:540672},{0:260,1048576:0,2097152:67109120,3145728:65796,4194304:65540,5242880:67108868,6291456:67174660,7340032:67174400,8388608:67108864,9437184:67174656,10485760:65792,11534336:67174404,12582912:67109124,13631488:65536,14680064:4,15728640:256,524288:67174656,1572864:67174404,2621440:0,3670016:67109120,4718592:67108868,5767168:65536,6815744:65540,7864320:260,8912896:4,9961472:256,11010048:67174400,12058624:65796,13107200:65792,14155776:67109124,15204352:67174660,16252928:67108864,16777216:67174656,17825792:65540,18874368:65536,19922944:67109120,20971520:256,22020096:67174660,23068672:67108868,24117248:0,25165824:67109124,26214400:67108864,27262976:4,28311552:65792,29360128:67174400,30408704:260,31457280:65796,32505856:67174404,17301504:67108864,18350080:260,19398656:67174656,20447232:0,21495808:65540,22544384:67109120,23592960:256,24641536:67174404,25690112:65536,26738688:67174660,27787264:65796,28835840:67108868,29884416:67109124,30932992:67174400,31981568:4,33030144:65792},{0:2151682048,65536:2147487808,131072:4198464,196608:2151677952,262144:0,327680:4198400,393216:2147483712,458752:4194368,524288:2147483648,589824:4194304,655360:64,720896:2147487744,786432:2151678016,851968:4160,917504:4096,983040:2151682112,32768:2147487808,98304:64,163840:2151678016,229376:2147487744,294912:4198400,360448:2151682112,425984:0,491520:2151677952,557056:4096,622592:2151682048,688128:4194304,753664:4160,819200:2147483648,884736:4194368,950272:4198464,1015808:2147483712,1048576:4194368,1114112:4198400,1179648:2147483712,1245184:0,1310720:4160,1376256:2151678016,1441792:2151682048,1507328:2147487808,1572864:2151682112,1638400:2147483648,1703936:2151677952,1769472:4198464,1835008:2147487744,1900544:4194304,1966080:64,2031616:4096,1081344:2151677952,1146880:2151682112,1212416:0,1277952:4198400,1343488:4194368,1409024:2147483648,1474560:2147487808,1540096:64,1605632:2147483712,1671168:4096,1736704:2147487744,1802240:2151678016,1867776:4160,1933312:2151682048,1998848:4194304,2064384:4198464},{0:128,4096:17039360,8192:262144,12288:536870912,16384:537133184,20480:16777344,24576:553648256,28672:262272,32768:16777216,36864:537133056,40960:536871040,45056:553910400,49152:553910272,53248:0,57344:17039488,61440:553648128,2048:17039488,6144:553648256,10240:128,14336:17039360,18432:262144,22528:537133184,26624:553910272,30720:536870912,34816:537133056,38912:0,43008:553910400,47104:16777344,51200:536871040,55296:553648128,59392:16777216,63488:262272,65536:262144,69632:128,73728:536870912,77824:553648256,81920:16777344,86016:553910272,90112:537133184,94208:16777216,98304:553910400,102400:553648128,106496:17039360,110592:537133056,114688:262272,118784:536871040,122880:0,126976:17039488,67584:553648256,71680:16777216,75776:17039360,79872:537133184,83968:536870912,88064:17039488,92160:128,96256:553910272,100352:262272,104448:553910400,108544:0,112640:553648128,116736:16777344,120832:262144,124928:537133056,129024:536871040},{0:268435464,256:8192,512:270532608,768:270540808,1024:268443648,1280:2097152,1536:2097160,1792:268435456,2048:0,2304:268443656,2560:2105344,2816:8,3072:270532616,3328:2105352,3584:8200,3840:270540800,128:270532608,384:270540808,640:8,896:2097152,1152:2105352,1408:268435464,1664:268443648,1920:8200,2176:2097160,2432:8192,2688:268443656,2944:270532616,3200:0,3456:270540800,3712:2105344,3968:268435456,4096:268443648,4352:270532616,4608:270540808,4864:8200,5120:2097152,5376:268435456,5632:268435464,5888:2105344,6144:2105352,6400:0,6656:8,6912:270532608,7168:8192,7424:268443656,7680:270540800,7936:2097160,4224:8,4480:2105344,4736:2097152,4992:268435464,5248:268443648,5504:8200,5760:270540808,6016:270532608,6272:270540800,6528:270532616,6784:8192,7040:2105352,7296:2097160,7552:0,7808:268435456,8064:268443656},{0:1048576,16:33555457,32:1024,48:1049601,64:34604033,80:0,96:1,112:34603009,128:33555456,144:1048577,160:33554433,176:34604032,192:34603008,208:1025,224:1049600,240:33554432,8:34603009,24:0,40:33555457,56:34604032,72:1048576,88:33554433,104:33554432,120:1025,136:1049601,152:33555456,168:34603008,184:1048577,200:1024,216:34604033,232:1,248:1049600,256:33554432,272:1048576,288:33555457,304:34603009,320:1048577,336:33555456,352:34604032,368:1049601,384:1025,400:34604033,416:1049600,432:1,448:0,464:34603008,480:33554433,496:1024,264:1049600,280:33555457,296:34603009,312:1,328:33554432,344:1048576,360:1025,376:34604032,392:33554433,408:34603008,424:0,440:34604033,456:1049601,472:1024,488:33555456,504:1048577},{0:134219808,1:131072,2:134217728,3:32,4:131104,5:134350880,6:134350848,7:2048,8:134348800,9:134219776,10:133120,11:134348832,12:2080,13:0,14:134217760,15:133152,2147483648:2048,2147483649:134350880,2147483650:134219808,2147483651:134217728,2147483652:134348800,2147483653:133120,2147483654:133152,2147483655:32,2147483656:134217760,2147483657:2080,2147483658:131104,2147483659:134350848,2147483660:0,2147483661:134348832,2147483662:134219776,2147483663:131072,16:133152,17:134350848,18:32,19:2048,20:134219776,21:134217760,22:134348832,23:131072,24:0,25:131104,26:134348800,27:134219808,28:134350880,29:133120,30:2080,31:134217728,2147483664:131072,2147483665:2048,2147483666:134348832,2147483667:133152,2147483668:32,2147483669:134348800,2147483670:134217728,2147483671:134219808,2147483672:134350880,2147483673:134217760,2147483674:134219776,2147483675:0,2147483676:133120,2147483677:2080,2147483678:131104,2147483679:134350848}];var SBOX_MASK=[4160749569,528482304,33030144,2064384,129024,8064,504,2147483679];var DES=C_algo.DES=BlockCipher.extend({_doReset:function(){var key=this._key;var keyWords=key.words;var keyBits=[];for(var i=0;i<56;i++){var keyBitPos=PC1[i]-1;keyBits[i]=keyWords[keyBitPos>>>5]>>>31-keyBitPos%32&1}var subKeys=this._subKeys=[];for(var nSubKey=0;nSubKey<16;nSubKey++){var subKey=subKeys[nSubKey]=[];var bitShift=BIT_SHIFTS[nSubKey];for(var i=0;i<24;i++){subKey[i/6|0]|=keyBits[(PC2[i]-1+bitShift)%28]<<31-i%6;subKey[4+(i/6|0)]|=keyBits[28+(PC2[i+24]-1+bitShift)%28]<<31-i%6}subKey[0]=subKey[0]<<1|subKey[0]>>>31;for(var i=1;i<7;i++){subKey[i]=subKey[i]>>>(i-1)*4+3}subKey[7]=subKey[7]<<5|subKey[7]>>>27}var invSubKeys=this._invSubKeys=[];for(var i=0;i<16;i++){invSubKeys[i]=subKeys[15-i]}},encryptBlock:function(M,offset){this._doCryptBlock(M,offset,this._subKeys)},decryptBlock:function(M,offset){this._doCryptBlock(M,offset,this._invSubKeys)},_doCryptBlock:function(M,offset,subKeys){this._lBlock=M[offset];this._rBlock=M[offset+1];exchangeLR.call(this,4,252645135);exchangeLR.call(this,16,65535);exchangeRL.call(this,2,858993459);exchangeRL.call(this,8,16711935);exchangeLR.call(this,1,1431655765);for(var round=0;round<16;round++){var subKey=subKeys[round];var lBlock=this._lBlock;var rBlock=this._rBlock;var f=0;for(var i=0;i<8;i++){f|=SBOX_P[i][((rBlock^subKey[i])&SBOX_MASK[i])>>>0]}this._lBlock=rBlock;this._rBlock=lBlock^f}var t=this._lBlock;this._lBlock=this._rBlock;this._rBlock=t;exchangeLR.call(this,1,1431655765);exchangeRL.call(this,8,16711935);exchangeRL.call(this,2,858993459);exchangeLR.call(this,16,65535);exchangeLR.call(this,4,252645135);M[offset]=this._lBlock;M[offset+1]=this._rBlock},keySize:64/32,ivSize:64/32,blockSize:64/32});function exchangeLR(offset,mask){var t=(this._lBlock>>>offset^this._rBlock)&mask;this._rBlock^=t;this._lBlock^=t<>>offset^this._lBlock)&mask;this._lBlock^=t;this._rBlock^=t<192.")}var key1=keyWords.slice(0,2);var key2=keyWords.length<4?keyWords.slice(0,2):keyWords.slice(2,4);var key3=keyWords.length<6?keyWords.slice(0,2):keyWords.slice(4,6);this._des1=DES.createEncryptor(WordArray.create(key1));this._des2=DES.createEncryptor(WordArray.create(key2));this._des3=DES.createEncryptor(WordArray.create(key3))},encryptBlock:function(M,offset){this._des1.encryptBlock(M,offset);this._des2.decryptBlock(M,offset);this._des3.encryptBlock(M,offset)},decryptBlock:function(M,offset){this._des3.decryptBlock(M,offset);this._des2.encryptBlock(M,offset);this._des1.decryptBlock(M,offset)},keySize:192/32,ivSize:64/32,blockSize:64/32});C.TripleDES=BlockCipher._createHelper(TripleDES)})();return CryptoJS.TripleDES})})(tripledes$1);return tripledes$1.exports}var rc4$1={exports:{}};var rc4=rc4$1.exports;var hasRequiredRc4;function requireRc4(){if(hasRequiredRc4)return rc4$1.exports;hasRequiredRc4=1;(function(module,exports$1){(function(root,factory,undef){{module.exports=factory(requireCore(),requireEncBase64(),requireMd5(),requireEvpkdf(),requireCipherCore())}})(rc4,function(CryptoJS){(function(){var C=CryptoJS;var C_lib=C.lib;var StreamCipher=C_lib.StreamCipher;var C_algo=C.algo;var RC4=C_algo.RC4=StreamCipher.extend({_doReset:function(){var key=this._key;var keyWords=key.words;var keySigBytes=key.sigBytes;var S=this._S=[];for(var i=0;i<256;i++){S[i]=i}for(var i=0,j=0;i<256;i++){var keyByteIndex=i%keySigBytes;var keyByte=keyWords[keyByteIndex>>>2]>>>24-keyByteIndex%4*8&255;j=(j+S[i]+keyByte)%256;var t=S[i];S[i]=S[j];S[j]=t}this._i=this._j=0},_doProcessBlock:function(M,offset){M[offset]^=generateKeystreamWord.call(this)},keySize:256/32,ivSize:0});function generateKeystreamWord(){var S=this._S;var i=this._i;var j=this._j;var keystreamWord=0;for(var n=0;n<4;n++){i=(i+1)%256;j=(j+S[i])%256;var t=S[i];S[i]=S[j];S[j]=t;keystreamWord|=S[(S[i]+S[j])%256]<<24-n*8}this._i=i;this._j=j;return keystreamWord}C.RC4=StreamCipher._createHelper(RC4);var RC4Drop=C_algo.RC4Drop=RC4.extend({cfg:RC4.cfg.extend({drop:192}),_doReset:function(){RC4._doReset.call(this);for(var i=this.cfg.drop;i>0;i--){generateKeystreamWord.call(this)}}});C.RC4Drop=StreamCipher._createHelper(RC4Drop)})();return CryptoJS.RC4})})(rc4$1);return rc4$1.exports}var rabbit$1={exports:{}};var rabbit=rabbit$1.exports;var hasRequiredRabbit;function requireRabbit(){if(hasRequiredRabbit)return rabbit$1.exports;hasRequiredRabbit=1;(function(module,exports$1){(function(root,factory,undef){{module.exports=factory(requireCore(),requireEncBase64(),requireMd5(),requireEvpkdf(),requireCipherCore())}})(rabbit,function(CryptoJS){(function(){var C=CryptoJS;var C_lib=C.lib;var StreamCipher=C_lib.StreamCipher;var C_algo=C.algo;var S=[];var C_=[];var G=[];var Rabbit=C_algo.Rabbit=StreamCipher.extend({_doReset:function(){var K=this._key.words;var iv=this.cfg.iv;for(var i=0;i<4;i++){K[i]=(K[i]<<8|K[i]>>>24)&16711935|(K[i]<<24|K[i]>>>8)&4278255360}var X=this._X=[K[0],K[3]<<16|K[2]>>>16,K[1],K[0]<<16|K[3]>>>16,K[2],K[1]<<16|K[0]>>>16,K[3],K[2]<<16|K[1]>>>16];var C=this._C=[K[2]<<16|K[2]>>>16,K[0]&4294901760|K[1]&65535,K[3]<<16|K[3]>>>16,K[1]&4294901760|K[2]&65535,K[0]<<16|K[0]>>>16,K[2]&4294901760|K[3]&65535,K[1]<<16|K[1]>>>16,K[3]&4294901760|K[0]&65535];this._b=0;for(var i=0;i<4;i++){nextState.call(this)}for(var i=0;i<8;i++){C[i]^=X[i+4&7]}if(iv){var IV=iv.words;var IV_0=IV[0];var IV_1=IV[1];var i0=(IV_0<<8|IV_0>>>24)&16711935|(IV_0<<24|IV_0>>>8)&4278255360;var i2=(IV_1<<8|IV_1>>>24)&16711935|(IV_1<<24|IV_1>>>8)&4278255360;var i1=i0>>>16|i2&4294901760;var i3=i2<<16|i0&65535;C[0]^=i0;C[1]^=i1;C[2]^=i2;C[3]^=i3;C[4]^=i0;C[5]^=i1;C[6]^=i2;C[7]^=i3;for(var i=0;i<4;i++){nextState.call(this)}}},_doProcessBlock:function(M,offset){var X=this._X;nextState.call(this);S[0]=X[0]^X[5]>>>16^X[3]<<16;S[1]=X[2]^X[7]>>>16^X[5]<<16;S[2]=X[4]^X[1]>>>16^X[7]<<16;S[3]=X[6]^X[3]>>>16^X[1]<<16;for(var i=0;i<4;i++){S[i]=(S[i]<<8|S[i]>>>24)&16711935|(S[i]<<24|S[i]>>>8)&4278255360;M[offset+i]^=S[i]}},blockSize:128/32,ivSize:64/32});function nextState(){var X=this._X;var C=this._C;for(var i=0;i<8;i++){C_[i]=C[i]}C[0]=C[0]+1295307597+this._b|0;C[1]=C[1]+3545052371+(C[0]>>>0>>0?1:0)|0;C[2]=C[2]+886263092+(C[1]>>>0>>0?1:0)|0;C[3]=C[3]+1295307597+(C[2]>>>0>>0?1:0)|0;C[4]=C[4]+3545052371+(C[3]>>>0>>0?1:0)|0;C[5]=C[5]+886263092+(C[4]>>>0>>0?1:0)|0;C[6]=C[6]+1295307597+(C[5]>>>0>>0?1:0)|0;C[7]=C[7]+3545052371+(C[6]>>>0>>0?1:0)|0;this._b=C[7]>>>0>>0?1:0;for(var i=0;i<8;i++){var gx=X[i]+C[i];var ga=gx&65535;var gb=gx>>>16;var gh=((ga*ga>>>17)+ga*gb>>>15)+gb*gb;var gl=((gx&4294901760)*gx|0)+((gx&65535)*gx|0);G[i]=gh^gl}X[0]=G[0]+(G[7]<<16|G[7]>>>16)+(G[6]<<16|G[6]>>>16)|0;X[1]=G[1]+(G[0]<<8|G[0]>>>24)+G[7]|0;X[2]=G[2]+(G[1]<<16|G[1]>>>16)+(G[0]<<16|G[0]>>>16)|0;X[3]=G[3]+(G[2]<<8|G[2]>>>24)+G[1]|0;X[4]=G[4]+(G[3]<<16|G[3]>>>16)+(G[2]<<16|G[2]>>>16)|0;X[5]=G[5]+(G[4]<<8|G[4]>>>24)+G[3]|0;X[6]=G[6]+(G[5]<<16|G[5]>>>16)+(G[4]<<16|G[4]>>>16)|0;X[7]=G[7]+(G[6]<<8|G[6]>>>24)+G[5]|0}C.Rabbit=StreamCipher._createHelper(Rabbit)})();return CryptoJS.Rabbit})})(rabbit$1);return rabbit$1.exports}var rabbitLegacy$1={exports:{}};var rabbitLegacy=rabbitLegacy$1.exports;var hasRequiredRabbitLegacy;function requireRabbitLegacy(){if(hasRequiredRabbitLegacy)return rabbitLegacy$1.exports;hasRequiredRabbitLegacy=1;(function(module,exports$1){(function(root,factory,undef){{module.exports=factory(requireCore(),requireEncBase64(),requireMd5(),requireEvpkdf(),requireCipherCore())}})(rabbitLegacy,function(CryptoJS){(function(){var C=CryptoJS;var C_lib=C.lib;var StreamCipher=C_lib.StreamCipher;var C_algo=C.algo;var S=[];var C_=[];var G=[];var RabbitLegacy=C_algo.RabbitLegacy=StreamCipher.extend({_doReset:function(){var K=this._key.words;var iv=this.cfg.iv;var X=this._X=[K[0],K[3]<<16|K[2]>>>16,K[1],K[0]<<16|K[3]>>>16,K[2],K[1]<<16|K[0]>>>16,K[3],K[2]<<16|K[1]>>>16];var C=this._C=[K[2]<<16|K[2]>>>16,K[0]&4294901760|K[1]&65535,K[3]<<16|K[3]>>>16,K[1]&4294901760|K[2]&65535,K[0]<<16|K[0]>>>16,K[2]&4294901760|K[3]&65535,K[1]<<16|K[1]>>>16,K[3]&4294901760|K[0]&65535];this._b=0;for(var i=0;i<4;i++){nextState.call(this)}for(var i=0;i<8;i++){C[i]^=X[i+4&7]}if(iv){var IV=iv.words;var IV_0=IV[0];var IV_1=IV[1];var i0=(IV_0<<8|IV_0>>>24)&16711935|(IV_0<<24|IV_0>>>8)&4278255360;var i2=(IV_1<<8|IV_1>>>24)&16711935|(IV_1<<24|IV_1>>>8)&4278255360;var i1=i0>>>16|i2&4294901760;var i3=i2<<16|i0&65535;C[0]^=i0;C[1]^=i1;C[2]^=i2;C[3]^=i3;C[4]^=i0;C[5]^=i1;C[6]^=i2;C[7]^=i3;for(var i=0;i<4;i++){nextState.call(this)}}},_doProcessBlock:function(M,offset){var X=this._X;nextState.call(this);S[0]=X[0]^X[5]>>>16^X[3]<<16;S[1]=X[2]^X[7]>>>16^X[5]<<16;S[2]=X[4]^X[1]>>>16^X[7]<<16;S[3]=X[6]^X[3]>>>16^X[1]<<16;for(var i=0;i<4;i++){S[i]=(S[i]<<8|S[i]>>>24)&16711935|(S[i]<<24|S[i]>>>8)&4278255360;M[offset+i]^=S[i]}},blockSize:128/32,ivSize:64/32});function nextState(){var X=this._X;var C=this._C;for(var i=0;i<8;i++){C_[i]=C[i]}C[0]=C[0]+1295307597+this._b|0;C[1]=C[1]+3545052371+(C[0]>>>0>>0?1:0)|0;C[2]=C[2]+886263092+(C[1]>>>0>>0?1:0)|0;C[3]=C[3]+1295307597+(C[2]>>>0>>0?1:0)|0;C[4]=C[4]+3545052371+(C[3]>>>0>>0?1:0)|0;C[5]=C[5]+886263092+(C[4]>>>0>>0?1:0)|0;C[6]=C[6]+1295307597+(C[5]>>>0>>0?1:0)|0;C[7]=C[7]+3545052371+(C[6]>>>0>>0?1:0)|0;this._b=C[7]>>>0>>0?1:0;for(var i=0;i<8;i++){var gx=X[i]+C[i];var ga=gx&65535;var gb=gx>>>16;var gh=((ga*ga>>>17)+ga*gb>>>15)+gb*gb;var gl=((gx&4294901760)*gx|0)+((gx&65535)*gx|0);G[i]=gh^gl}X[0]=G[0]+(G[7]<<16|G[7]>>>16)+(G[6]<<16|G[6]>>>16)|0;X[1]=G[1]+(G[0]<<8|G[0]>>>24)+G[7]|0;X[2]=G[2]+(G[1]<<16|G[1]>>>16)+(G[0]<<16|G[0]>>>16)|0;X[3]=G[3]+(G[2]<<8|G[2]>>>24)+G[1]|0;X[4]=G[4]+(G[3]<<16|G[3]>>>16)+(G[2]<<16|G[2]>>>16)|0;X[5]=G[5]+(G[4]<<8|G[4]>>>24)+G[3]|0;X[6]=G[6]+(G[5]<<16|G[5]>>>16)+(G[4]<<16|G[4]>>>16)|0;X[7]=G[7]+(G[6]<<8|G[6]>>>24)+G[5]|0}C.RabbitLegacy=StreamCipher._createHelper(RabbitLegacy)})();return CryptoJS.RabbitLegacy})})(rabbitLegacy$1);return rabbitLegacy$1.exports}var blowfish$1={exports:{}};var blowfish=blowfish$1.exports;var hasRequiredBlowfish;function requireBlowfish(){if(hasRequiredBlowfish)return blowfish$1.exports;hasRequiredBlowfish=1;(function(module,exports$1){(function(root,factory,undef){{module.exports=factory(requireCore(),requireEncBase64(),requireMd5(),requireEvpkdf(),requireCipherCore())}})(blowfish,function(CryptoJS){(function(){var C=CryptoJS;var C_lib=C.lib;var BlockCipher=C_lib.BlockCipher;var C_algo=C.algo;const N=16;const ORIG_P=[608135816,2242054355,320440878,57701188,2752067618,698298832,137296536,3964562569,1160258022,953160567,3193202383,887688300,3232508343,3380367581,1065670069,3041331479,2450970073,2306472731];const ORIG_S=[[3509652390,2564797868,805139163,3491422135,3101798381,1780907670,3128725573,4046225305,614570311,3012652279,134345442,2240740374,1667834072,1901547113,2757295779,4103290238,227898511,1921955416,1904987480,2182433518,2069144605,3260701109,2620446009,720527379,3318853667,677414384,3393288472,3101374703,2390351024,1614419982,1822297739,2954791486,3608508353,3174124327,2024746970,1432378464,3864339955,2857741204,1464375394,1676153920,1439316330,715854006,3033291828,289532110,2706671279,2087905683,3018724369,1668267050,732546397,1947742710,3462151702,2609353502,2950085171,1814351708,2050118529,680887927,999245976,1800124847,3300911131,1713906067,1641548236,4213287313,1216130144,1575780402,4018429277,3917837745,3693486850,3949271944,596196993,3549867205,258830323,2213823033,772490370,2760122372,1774776394,2652871518,566650946,4142492826,1728879713,2882767088,1783734482,3629395816,2517608232,2874225571,1861159788,326777828,3124490320,2130389656,2716951837,967770486,1724537150,2185432712,2364442137,1164943284,2105845187,998989502,3765401048,2244026483,1075463327,1455516326,1322494562,910128902,469688178,1117454909,936433444,3490320968,3675253459,1240580251,122909385,2157517691,634681816,4142456567,3825094682,3061402683,2540495037,79693498,3249098678,1084186820,1583128258,426386531,1761308591,1047286709,322548459,995290223,1845252383,2603652396,3431023940,2942221577,3202600964,3727903485,1712269319,422464435,3234572375,1170764815,3523960633,3117677531,1434042557,442511882,3600875718,1076654713,1738483198,4213154764,2393238008,3677496056,1014306527,4251020053,793779912,2902807211,842905082,4246964064,1395751752,1040244610,2656851899,3396308128,445077038,3742853595,3577915638,679411651,2892444358,2354009459,1767581616,3150600392,3791627101,3102740896,284835224,4246832056,1258075500,768725851,2589189241,3069724005,3532540348,1274779536,3789419226,2764799539,1660621633,3471099624,4011903706,913787905,3497959166,737222580,2514213453,2928710040,3937242737,1804850592,3499020752,2949064160,2386320175,2390070455,2415321851,4061277028,2290661394,2416832540,1336762016,1754252060,3520065937,3014181293,791618072,3188594551,3933548030,2332172193,3852520463,3043980520,413987798,3465142937,3030929376,4245938359,2093235073,3534596313,375366246,2157278981,2479649556,555357303,3870105701,2008414854,3344188149,4221384143,3956125452,2067696032,3594591187,2921233993,2428461,544322398,577241275,1471733935,610547355,4027169054,1432588573,1507829418,2025931657,3646575487,545086370,48609733,2200306550,1653985193,298326376,1316178497,3007786442,2064951626,458293330,2589141269,3591329599,3164325604,727753846,2179363840,146436021,1461446943,4069977195,705550613,3059967265,3887724982,4281599278,3313849956,1404054877,2845806497,146425753,1854211946],[1266315497,3048417604,3681880366,3289982499,290971e4,1235738493,2632868024,2414719590,3970600049,1771706367,1449415276,3266420449,422970021,1963543593,2690192192,3826793022,1062508698,1531092325,1804592342,2583117782,2714934279,4024971509,1294809318,4028980673,1289560198,2221992742,1669523910,35572830,157838143,1052438473,1016535060,1802137761,1753167236,1386275462,3080475397,2857371447,1040679964,2145300060,2390574316,1461121720,2956646967,4031777805,4028374788,33600511,2920084762,1018524850,629373528,3691585981,3515945977,2091462646,2486323059,586499841,988145025,935516892,3367335476,2599673255,2839830854,265290510,3972581182,2759138881,3795373465,1005194799,847297441,406762289,1314163512,1332590856,1866599683,4127851711,750260880,613907577,1450815602,3165620655,3734664991,3650291728,3012275730,3704569646,1427272223,778793252,1343938022,2676280711,2052605720,1946737175,3164576444,3914038668,3967478842,3682934266,1661551462,3294938066,4011595847,840292616,3712170807,616741398,312560963,711312465,1351876610,322626781,1910503582,271666773,2175563734,1594956187,70604529,3617834859,1007753275,1495573769,4069517037,2549218298,2663038764,504708206,2263041392,3941167025,2249088522,1514023603,1998579484,1312622330,694541497,2582060303,2151582166,1382467621,776784248,2618340202,3323268794,2497899128,2784771155,503983604,4076293799,907881277,423175695,432175456,1378068232,4145222326,3954048622,3938656102,3820766613,2793130115,2977904593,26017576,3274890735,3194772133,1700274565,1756076034,4006520079,3677328699,720338349,1533947780,354530856,688349552,3973924725,1637815568,332179504,3949051286,53804574,2852348879,3044236432,1282449977,3583942155,3416972820,4006381244,1617046695,2628476075,3002303598,1686838959,431878346,2686675385,1700445008,1080580658,1009431731,832498133,3223435511,2605976345,2271191193,2516031870,1648197032,4164389018,2548247927,300782431,375919233,238389289,3353747414,2531188641,2019080857,1475708069,455242339,2609103871,448939670,3451063019,1395535956,2413381860,1841049896,1491858159,885456874,4264095073,4001119347,1565136089,3898914787,1108368660,540939232,1173283510,2745871338,3681308437,4207628240,3343053890,4016749493,1699691293,1103962373,3625875870,2256883143,3830138730,1031889488,3479347698,1535977030,4236805024,3251091107,2132092099,1774941330,1199868427,1452454533,157007616,2904115357,342012276,595725824,1480756522,206960106,497939518,591360097,863170706,2375253569,3596610801,1814182875,2094937945,3421402208,1082520231,3463918190,2785509508,435703966,3908032597,1641649973,2842273706,3305899714,1510255612,2148256476,2655287854,3276092548,4258621189,236887753,3681803219,274041037,1734335097,3815195456,3317970021,1899903192,1026095262,4050517792,356393447,2410691914,3873677099,3682840055],[3913112168,2491498743,4132185628,2489919796,1091903735,1979897079,3170134830,3567386728,3557303409,857797738,1136121015,1342202287,507115054,2535736646,337727348,3213592640,1301675037,2528481711,1895095763,1721773893,3216771564,62756741,2142006736,835421444,2531993523,1442658625,3659876326,2882144922,676362277,1392781812,170690266,3921047035,1759253602,3611846912,1745797284,664899054,1329594018,3901205900,3045908486,2062866102,2865634940,3543621612,3464012697,1080764994,553557557,3656615353,3996768171,991055499,499776247,1265440854,648242737,3940784050,980351604,3713745714,1749149687,3396870395,4211799374,3640570775,1161844396,3125318951,1431517754,545492359,4268468663,3499529547,1437099964,2702547544,3433638243,2581715763,2787789398,1060185593,1593081372,2418618748,4260947970,69676912,2159744348,86519011,2512459080,3838209314,1220612927,3339683548,133810670,1090789135,1078426020,1569222167,845107691,3583754449,4072456591,1091646820,628848692,1613405280,3757631651,526609435,236106946,48312990,2942717905,3402727701,1797494240,859738849,992217954,4005476642,2243076622,3870952857,3732016268,765654824,3490871365,2511836413,1685915746,3888969200,1414112111,2273134842,3281911079,4080962846,172450625,2569994100,980381355,4109958455,2819808352,2716589560,2568741196,3681446669,3329971472,1835478071,660984891,3704678404,4045999559,3422617507,3040415634,1762651403,1719377915,3470491036,2693910283,3642056355,3138596744,1364962596,2073328063,1983633131,926494387,3423689081,2150032023,4096667949,1749200295,3328846651,309677260,2016342300,1779581495,3079819751,111262694,1274766160,443224088,298511866,1025883608,3806446537,1145181785,168956806,3641502830,3584813610,1689216846,3666258015,3200248200,1692713982,2646376535,4042768518,1618508792,1610833997,3523052358,4130873264,2001055236,3610705100,2202168115,4028541809,2961195399,1006657119,2006996926,3186142756,1430667929,3210227297,1314452623,4074634658,4101304120,2273951170,1399257539,3367210612,3027628629,1190975929,2062231137,2333990788,2221543033,2438960610,1181637006,548689776,2362791313,3372408396,3104550113,3145860560,296247880,1970579870,3078560182,3769228297,1714227617,3291629107,3898220290,166772364,1251581989,493813264,448347421,195405023,2709975567,677966185,3703036547,1463355134,2715995803,1338867538,1343315457,2802222074,2684532164,233230375,2599980071,2000651841,3277868038,1638401717,4028070440,3237316320,6314154,819756386,300326615,590932579,1405279636,3267499572,3150704214,2428286686,3959192993,3461946742,1862657033,1266418056,963775037,2089974820,2263052895,1917689273,448879540,3550394620,3981727096,150775221,3627908307,1303187396,508620638,2975983352,2726630617,1817252668,1876281319,1457606340,908771278,3720792119,3617206836,2455994898,1729034894,1080033504],[976866871,3556439503,2881648439,1522871579,1555064734,1336096578,3548522304,2579274686,3574697629,3205460757,3593280638,3338716283,3079412587,564236357,2993598910,1781952180,1464380207,3163844217,3332601554,1699332808,1393555694,1183702653,3581086237,1288719814,691649499,2847557200,2895455976,3193889540,2717570544,1781354906,1676643554,2592534050,3230253752,1126444790,2770207658,2633158820,2210423226,2615765581,2414155088,3127139286,673620729,2805611233,1269405062,4015350505,3341807571,4149409754,1057255273,2012875353,2162469141,2276492801,2601117357,993977747,3918593370,2654263191,753973209,36408145,2530585658,25011837,3520020182,2088578344,530523599,2918365339,1524020338,1518925132,3760827505,3759777254,1202760957,3985898139,3906192525,674977740,4174734889,2031300136,2019492241,3983892565,4153806404,3822280332,352677332,2297720250,60907813,90501309,3286998549,1016092578,2535922412,2839152426,457141659,509813237,4120667899,652014361,1966332200,2975202805,55981186,2327461051,676427537,3255491064,2882294119,3433927263,1307055953,942726286,933058658,2468411793,3933900994,4215176142,1361170020,2001714738,2830558078,3274259782,1222529897,1679025792,2729314320,3714953764,1770335741,151462246,3013232138,1682292957,1483529935,471910574,1539241949,458788160,3436315007,1807016891,3718408830,978976581,1043663428,3165965781,1927990952,4200891579,2372276910,3208408903,3533431907,1412390302,2931980059,4132332400,1947078029,3881505623,4168226417,2941484381,1077988104,1320477388,886195818,18198404,3786409e3,2509781533,112762804,3463356488,1866414978,891333506,18488651,661792760,1628790961,3885187036,3141171499,876946877,2693282273,1372485963,791857591,2686433993,3759982718,3167212022,3472953795,2716379847,445679433,3561995674,3504004811,3574258232,54117162,3331405415,2381918588,3769707343,4154350007,1140177722,4074052095,668550556,3214352940,367459370,261225585,2610173221,4209349473,3468074219,3265815641,314222801,3066103646,3808782860,282218597,3406013506,3773591054,379116347,1285071038,846784868,2669647154,3771962079,3550491691,2305946142,453669953,1268987020,3317592352,3279303384,3744833421,2610507566,3859509063,266596637,3847019092,517658769,3462560207,3443424879,370717030,4247526661,2224018117,4143653529,4112773975,2788324899,2477274417,1456262402,2901442914,1517677493,1846949527,2295493580,3734397586,2176403920,1280348187,1908823572,3871786941,846861322,1172426758,3287448474,3383383037,1655181056,3139813346,901632758,1897031941,2986607138,3066810236,3447102507,1393639104,373351379,950779232,625454576,3124240540,4148612726,2007998917,544563296,2244738638,2330496472,2058025392,1291430526,424198748,50039436,29584100,3605783033,2429876329,2791104160,1057563949,3255363231,3075367218,3463963227,1469046755,985887462]];var BLOWFISH_CTX={pbox:[],sbox:[]};function F(ctx,x){let a=x>>24&255;let b=x>>16&255;let c=x>>8&255;let d=x&255;let y=ctx.sbox[0][a]+ctx.sbox[1][b];y=y^ctx.sbox[2][c];y=y+ctx.sbox[3][d];return y}function BlowFish_Encrypt(ctx,left,right){let Xl=left;let Xr=right;let temp;for(let i=0;i1;--i){Xl=Xl^ctx.pbox[i];Xr=F(ctx,Xl)^Xr;temp=Xl;Xl=Xr;Xr=temp}temp=Xl;Xl=Xr;Xr=temp;Xr=Xr^ctx.pbox[1];Xl=Xl^ctx.pbox[0];return{left:Xl,right:Xr}}function BlowFishInit(ctx,key,keysize){for(let Row=0;Row<4;Row++){ctx.sbox[Row]=[];for(let Col=0;Col<256;Col++){ctx.sbox[Row][Col]=ORIG_S[Row][Col]}}let keyIndex=0;for(let index=0;index=keysize){keyIndex=0}}let Data1=0;let Data2=0;let res=0;for(let i=0;i=200&&this.status<400){try{onSuccess&&onSuccess(JSON.parse(this.responseText))}catch(e){onError&&onError()}}else{onError&&onError()}}};request.send();request=null};exports$2.escapeHtml=function(){var pattern=/[&<>"'/]/g,entities={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};return function(string){return String(string).replace(pattern,function(s){return entities[s]})}}();var exports$1={};exports$1.html=function(string){this.forEach(function(element){element.innerHTML=string});return this};exports$1.append=function(string){this.forEach(function(element){element.innerHTML+=string});return this};exports$1.first=function(){return this[0]};exports$1.on=function(eventName,callback){this.forEach(function(element){if(element.addEventListener){element.addEventListener(eventName,callback,false)}else if(element.attachEvent){element.attachEvent("on"+eventName,callback)}});return this};exports$1.focus=function(){if(this[0]){this[0].focus()}return this};function ElementArray(){}ElementArray.prototype=new Array;for(var k in exports$1)ElementArray.prototype[k]=exports$1[k];function Dollar(selector){let matches=new ElementArray;if(selector!==undefined){if(selector===document){matches.push(document)}else if(selector===window){matches.push(window)}else{let match=document.querySelectorAll(selector);if(match){for(var i=0;isettings.key.maxLen){return mediator.emit("console:error",templates.messages.key_to_long)}else if(payload.lengthsettings.nick.maxLen){return mediator.emit("console:error",Dollar.template(templates.messages.nick_to_long,{nick_maxLen:settings.nick.maxLen}))}else if(payload.length0&&ttl<3600){mediator.emit("console:info",Dollar.template(templates.messages.torch_is_now,{ttl:ttl}));settings.ttl=ttl*1e3}else{mediator.emit("console:error",Dollar.template(templates.messages.torch_not_set))}},param:function(p){parameters=Object.assign({},parameters,p)},showNotification:function(type,nick,text){var title=type!=="message"?"Cryptalk":nick,icon=type==="message"?"gfx/icon_128x128.png":type==="error"?"gfx/icon_128x128_error.png":"gfx/icon_128x128_info.png";mediator.emit("notification:send",{title:title.substring(0,20),body:text.substring(0,80),icon:icon});if(type==="message"){mediator.emit("audio:play",sounds.message)}},motd:function(message){commands.post("motd",message)},info:function(message){commands.post("info",message)},error:function(message){commands.post("error",message)},server:function(message){commands.post("server",message)},message:function(data){commands.post("message",data.message,data.nick)},clearInput:function(){components.input[0].value=""},clear:function(){components.chat[0].innerHTML=""},lockInput:function(){components.input[0].setAttribute("disabled","disabled");components.inputWrapper[0].className="loading"},unlockInput:function(){components.input[0].removeAttribute("disabled");components.inputWrapper[0].className="";components.input.focus()}},onKeyDown=function(e){var buffer,parts,payload,command;if(!e.ctrlKey&&!e.altKey&&components.input[0]!==Dollar.activeElement()){components.input.focus();return}if(e.keyCode!==13||!(buffer=components.input[0].value)){return}if((buffer[0]||buffer.slice(0,1))==="/"){parts=Dollar.ssplit(buffer.slice(1)," ");command=parts[0];payload=parts[1];mediator.emit("command:"+command,payload,function(retvals,recipients){if(!recipients){commands.post("error",Dollar.template(templates.messages.unrecognized_command,{commandName:command}));return}else{commands.clearInput()}})}else{if(!parameters.room||!parameters.key){return!parameters.room?commands.post("error",templates.messages.msg_no_room):commands.post("error",templates.messages.msg_no_key)}mediator.emit("socket:emit",{data:"message:send",payload:{room:Dollar.SHA1(parameters.room),msg:Dollar.AES.encrypt(buffer,Dollar.SHA1(parameters.room)+parameters.key).toString(),nick:parameters.nick?Dollar.AES.encrypt(parameters.nick,Dollar.SHA1(parameters.room)+parameters.key).toString():false}});commands.clearInput()}};Dollar(document).on("keydown",onKeyDown);components.input.focus();for(var commandName in commands){if(commandName!=="post"){mediator.on("console:"+commandName,commands[commandName])}}mediator.on("console:post",function(data){commands.post(data.type,data.data,data.nick)})}function room(mediator,settings,templates){var room=false,join=function(payload){if(room!==false){mediator.emit("console:error",Dollar.template(templates.messages.already_in_room,{room:room}))}else if(payload.length>=settings.room.maxLen){mediator.emit("console:error",Dollar.template(templates.messages.room_name_too_long))}else if(payload.length","\"","'","/","exports$1","html","forEach","element","innerHTML","append","first","eventName","attachEvent","focus","ElementArray","Array","k","Dollar","selector","matches","match","querySelectorAll","l","host","socket","parameters","payload","hostInfo","connect","toHost","forceNew","force new connection","roomName","decrypted","msg","sanitized","sanitized_payload","reconnect","foo","disconnect","param","p","assign","setKey","clear","setTorch","setNick","nick_maxLen","nick_minLen","cons","sounds","chat","inputWrapper","commands","type","text","tpl","uniqueId","getTime","timestamp","toLocaleTimeString","id","showNotification","parent","child","removeChild","torch","substring","clearInput","lockInput","setAttribute","className","unlockInput","removeAttribute","onKeyDown","parts","command","ctrlKey","altKey","keyCode","retvals","recipients","commandName","leave","count","wind","location"],"mappings":"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"} \ No newline at end of file +{"version":3,"sources":["client/public/js/cryptalk.js"],"names":["let","index","subs","emits","noop","on","fromId","event","handler","once","i","item","subscription","length","push","emit","off","sub","toSubs","splice","persistent","data","callback","explicitSubs","total","left","loop","answers","done","concat","Castrato","this","nodeId","prototype","wrapper","destroy","castrato","win","mediator","exports$1","focusCallback","blurCallback","setTitle","t","document","title","getTitle","window","addEventListener","observe","notifications","settings","enabled","native_supported","new_title","original_title","blink_timer","interval","last","now","performance","Date","resetState","clearTimeout","undefined","doBlink","setTimeout","enableNative","Notification","permission","requestPermission","blinkTitleUntilFocus","notify","body","icon","fallback","maxOnePerMs","n","onshow","close","templates","help","default_nick","post","motd","info","server","error","message","messages","key_to_short","key_to_long","key_ok","key_no_host","join_no_host","nick_to_short","nick_to_long","nick_set","msg_no_room","not_in_room","msg_no_key","leave_from_nowhere","torch_is_now","torch_not_set","title_set","muted","unmuted","unrecognized_command","room_name_too_long","room_name_too_short","joined_room","left_room","already_in_room","unable_to_decrypt","socket_error","connecting","connected","disconnected","already_connected","reconnect_no_host","host_available","host_unavailable","person_joined","person_left","person_count","person_single","command_failed","bogus","client","ttl","nick","maxLen","minLen","key","room","commonjsGlobal","globalThis","global","self","cryptoJs$1","exports","commonjsRequire","path","Error","core$1","core","hasRequiredCore","requireCore","module","root","factory","CryptoJS","Math","undefined$1","crypto","msCrypto","require","err","cryptoSecureRandomInt","getRandomValues","Uint32Array","randomBytes","readInt32LE","create","Object","F","obj","subtype","C","C_lib","lib","Base","extend","overrides","mixIn","hasOwnProperty","init","$super","apply","arguments","instance","properties","propertyName","toString","clone","WordArray","words","sigBytes","encoder","Hex","stringify","wordArray","thisWords","thatWords","thisSigBytes","thatSigBytes","clamp","thatByte","j","ceil","call","slice","random","nBytes","C_enc","enc","hexChars","bite","join","parse","hexStr","hexStrLength","parseInt","substr","Latin1","latin1Chars","String","fromCharCode","latin1Str","latin1StrLength","charCodeAt","Utf8","decodeURIComponent","escape","e","utf8Str","unescape","encodeURIComponent","BufferedBlockAlgorithm","reset","_data","_nDataBytes","_append","_process","doFlush","processedWords","dataWords","dataSigBytes","blockSize","blockSizeBytes","nBlocksReady","max","_minBufferSize","nWordsReady","nBytesReady","min","offset","_doProcessBlock","Hasher","cfg","_doReset","update","messageUpdate","finalize","hash","_doFinalize","_createHelper","hasher","_createHmacHelper","C_algo","HMAC","algo","x64Core$1","x64Core","hasRequiredX64Core","requireX64Core","X32WordArray","C_x64","x64","Word","high","low","toX32","x64Words","x64WordsLength","x32Words","x64Word","wordsLength","libTypedarrays$1","libTypedarrays","hasRequiredLibTypedarrays","requireLibTypedarrays","ArrayBuffer","superInit","subInit","typedArray","Uint8Array","Int8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Float32Array","Float64Array","buffer","byteOffset","byteLength","typedArrayByteLength","encUtf16$1","encUtf16","hasRequiredEncUtf16","requireEncUtf16","Utf16","Utf16BE","utf16Chars","codePoint","utf16Str","utf16StrLength","Utf16LE","swapEndian","word","encBase64$1","encBase64","hasRequiredEncBase64","requireEncBase64","Base64","map","_map","base64Chars","byte1","byte2","byte3","triplet","charAt","paddingChar","base64Str","base64StrLength","reverseMap","_reverseMap","paddingIndex","indexOf","parseLoop","bits1","bits2","bitsCombined","encBase64url$1","encBase64url","hasRequiredEncBase64url","requireEncBase64url","Base64url","urlSafe","_safe_map","md5$1","md5","hasRequiredMd5","requireMd5","T","abs","sin","MD5","_hash","M","offset_i","M_offset_i","H","M_offset_0","M_offset_1","M_offset_2","M_offset_3","M_offset_4","M_offset_5","M_offset_6","M_offset_7","M_offset_8","M_offset_9","M_offset_10","M_offset_11","M_offset_12","M_offset_13","M_offset_14","M_offset_15","a","b","c","d","FF","GG","HH","II","nBitsTotal","nBitsLeft","nBitsTotalH","floor","nBitsTotalL","H_i","x","s","HmacMD5","sha1$1","sha1","hasRequiredSha1","requireSha1","W","SHA1","HmacSHA1","sha256$1","sha256","hasRequiredSha256","requireSha256","K","isPrime","sqrtN","sqrt","factor","getFractionalBits","nPrime","pow","SHA256","f","g","h","gamma0x","gamma0","gamma1x","gamma1","ch","maj","sigma0","sigma1","t1","t2","HmacSHA256","sha224$1","sha224","hasRequiredSha224","requireSha224","undef","SHA224","HmacSHA224","sha512$1","sha512","hasRequiredSha512","requireSha512","X64Word","X64WordArray","X64Word_create","SHA512","H0","H1","H2","H3","H4","H5","H6","H7","H0h","H0l","H1h","H1l","H2h","H2l","H3h","H3l","H4h","H4l","H5h","H5l","H6h","H6l","H7h","H7l","ah","al","bh","bl","cl","dh","dl","eh","el","fh","fl","gh","gl","hh","hl","Wil","Wih","Wi","gamma0xh","gamma0xl","gamma0h","gamma0l","gamma1xh","gamma1xl","gamma1h","gamma1l","Wi7","Wi7h","Wi7l","Wi16","Wi16h","Wi16l","chh","chl","majh","majl","sigma0h","sigma0l","sigma1h","sigma1l","Ki","Kih","Kil","t1l","t1h","t2l","t2h","HmacSHA512","sha384$1","sha384","hasRequiredSha384","requireSha384","SHA384","HmacSHA384","sha3$1","sha3","hasRequiredSha3","requireSha3","RHO_OFFSETS","PI_INDEXES","ROUND_CONSTANTS","y","newX","newY","LFSR","roundConstantMsw","roundConstantLsw","bitPosition","SHA3","outputLength","state","_state","nBlockSizeLanes","M2i","M2i1","lane","round","tMsw","tLsw","Tx","Tx4","Tx1","Tx1Msw","Tx1Lsw","laneIndex","laneMsw","laneLsw","rhoOffset","TPiLane","T0","state0","TLane","Tx1Lane","Tx2Lane","roundConstant","blockSizeBits","outputLengthBytes","outputLengthLanes","hashWords","HmacSHA3","ripemd160$1","ripemd160","hasRequiredRipemd160","requireRipemd160","_zl","_zr","_sl","_sr","_hl","_hr","RIPEMD160","hr","zl","zr","sl","sr","ar","br","cr","dr","er","f1","f2","f3","f4","f5","rotl","z","HmacRIPEMD160","hmac$1","hmac","hasRequiredHmac","requireHmac","_hasher","hasherBlockSize","hasherBlockSizeBytes","oKey","_oKey","iKey","_iKey","oKeyWords","iKeyWords","innerHash","pbkdf2$1","pbkdf2","hasRequiredPbkdf2","requirePbkdf2","PBKDF2","keySize","iterations","compute","password","salt","derivedKey","blockIndex","derivedKeyWords","blockIndexWords","block","blockWords","blockWordsLength","intermediate","intermediateWords","evpkdf$1","evpkdf","hasRequiredEvpkdf","requireEvpkdf","EvpKDF","cipherCore$1","cipherCore","hasRequiredCipherCore","requireCipherCore","Cipher","createEncryptor","_ENC_XFORM_MODE","createDecryptor","_DEC_XFORM_MODE","xformMode","_xformMode","_key","process","dataUpdate","finalProcessedData","ivSize","selectCipherStrategy","PasswordBasedCipher","SerializableCipher","cipher","encrypt","decrypt","ciphertext","StreamCipher","finalProcessedBlocks","C_mode","mode","BlockCipherMode","iv","Encryptor","Decryptor","_cipher","_iv","CBC","processBlock","xorBlock","encryptBlock","_prevBlock","thisBlock","decryptBlock","C_pad","pad","Pkcs7","nPaddingBytes","paddingWord","paddingWords","padding","unpad","BlockCipher","modeCreator","_mode","__creator","CipherParams","cipherParams","formatter","C_format","format","OpenSSLFormatter","OpenSSL","openSSLStr","ciphertextWords","encryptor","cipherCfg","algorithm","_parse","plaintext","C_kdf","kdf","OpenSSLKdf","execute","derivedParams","modeCfb$1","modeCfb","hasRequiredModeCfb","requireModeCfb","CFB","generateKeystreamAndEncrypt","keystream","modeCtr$1","modeCtr","hasRequiredModeCtr","requireModeCtr","CTR","counter","_counter","modeCtrGladman$1","modeCtrGladman","hasRequiredModeCtrGladman","requireModeCtrGladman","CTRGladman","incWord","b1","b2","b3","incCounter","modeOfb$1","modeOfb","hasRequiredModeOfb","requireModeOfb","OFB","_keystream","modeEcb$1","modeEcb","hasRequiredModeEcb","requireModeEcb","ECB","padAnsix923$1","padAnsix923","hasRequiredPadAnsix923","requirePadAnsix923","AnsiX923","lastBytePos","Ansix923","padIso10126$1","padIso10126","hasRequiredPadIso10126","requirePadIso10126","Iso10126","padIso97971$1","padIso97971","hasRequiredPadIso97971","requirePadIso97971","Iso97971","ZeroPadding","padZeropadding$1","padZeropadding","hasRequiredPadZeropadding","requirePadZeropadding","padNopadding$1","padNopadding","hasRequiredPadNopadding","requirePadNopadding","NoPadding","formatHex$1","formatHex","hasRequiredFormatHex","requireFormatHex","input","aes$1","aes","hasRequiredAes","requireAes","SBOX","INV_SBOX","SUB_MIX_0","SUB_MIX_1","SUB_MIX_2","SUB_MIX_3","INV_SUB_MIX_0","INV_SUB_MIX_1","INV_SUB_MIX_2","INV_SUB_MIX_3","xi","sx","x2","x4","x8","RCON","AES","_nRounds","_keyPriorReset","keyWords","nRounds","ksRows","keySchedule","_keySchedule","ksRow","invKeySchedule","_invKeySchedule","invKsRow","_doCryptBlock","s0","s1","s2","s3","t0","t3","tripledes$1","tripledes","hasRequiredTripledes","requireTripledes","PC1","PC2","BIT_SHIFTS","SBOX_P","0","268435456","536870912","805306368","1073741824","1342177280","1610612736","1879048192","2147483648","2415919104","2684354560","2952790016","3221225472","3489660928","3758096384","4026531840","134217728","402653184","671088640","939524096","1207959552","1476395008","1744830464","2013265920","2281701376","2550136832","2818572288","3087007744","3355443200","3623878656","3892314112","4160749568","1","268435457","536870913","805306369","1073741825","1342177281","1610612737","1879048193","2147483649","2415919105","2684354561","2952790017","3221225473","3489660929","3758096385","4026531841","134217729","402653185","671088641","939524097","1207959553","1476395009","1744830465","2013265921","2281701377","2550136833","2818572289","3087007745","3355443201","3623878657","3892314113","4160749569","16777216","33554432","50331648","67108864","83886080","100663296","117440512","150994944","167772160","184549376","201326592","218103808","234881024","251658240","8388608","25165824","41943040","58720256","75497472","92274688","109051904","125829120","142606336","159383552","176160768","192937984","209715200","226492416","243269632","260046848","285212672","301989888","318767104","335544320","352321536","369098752","385875968","419430400","436207616","452984832","469762048","486539264","503316480","520093696","276824064","293601280","310378496","327155712","343932928","360710144","377487360","394264576","411041792","427819008","444596224","461373440","478150656","494927872","511705088","528482304","1048576","2097152","3145728","4194304","5242880","6291456","7340032","9437184","10485760","11534336","12582912","13631488","14680064","15728640","524288","1572864","2621440","3670016","4718592","5767168","6815744","7864320","8912896","9961472","11010048","12058624","13107200","14155776","15204352","16252928","17825792","18874368","19922944","20971520","22020096","23068672","24117248","26214400","27262976","28311552","29360128","30408704","31457280","32505856","17301504","18350080","19398656","20447232","21495808","22544384","23592960","24641536","25690112","26738688","27787264","28835840","29884416","30932992","31981568","33030144","65536","131072","196608","262144","327680","393216","458752","589824","655360","720896","786432","851968","917504","983040","32768","98304","163840","229376","294912","360448","425984","491520","557056","622592","688128","753664","819200","884736","950272","1015808","1114112","1179648","1245184","1310720","1376256","1441792","1507328","1638400","1703936","1769472","1835008","1900544","1966080","2031616","1081344","1146880","1212416","1277952","1343488","1409024","1474560","1540096","1605632","1671168","1736704","1802240","1867776","1933312","1998848","2064384","4096","8192","12288","16384","20480","24576","28672","36864","40960","45056","49152","53248","57344","61440","2048","6144","10240","14336","18432","22528","26624","30720","34816","38912","43008","47104","51200","55296","59392","63488","69632","73728","77824","81920","86016","90112","94208","102400","106496","110592","114688","118784","122880","126976","67584","71680","75776","79872","83968","88064","92160","96256","100352","104448","108544","112640","116736","120832","124928","129024","256","512","768","1024","1280","1536","1792","2304","2560","2816","3072","3328","3584","3840","128","384","640","896","1152","1408","1664","1920","2176","2432","2688","2944","3200","3456","3712","3968","4352","4608","4864","5120","5376","5632","5888","6400","6656","6912","7168","7424","7680","7936","4224","4480","4736","4992","5248","5504","5760","6016","6272","6528","6784","7040","7296","7552","7808","8064","16","32","48","64","80","96","112","144","160","176","192","208","224","240","8","24","40","56","72","88","104","120","136","152","168","184","200","216","232","248","272","288","304","320","336","352","368","400","416","432","448","464","480","496","264","280","296","312","328","344","360","376","392","408","424","440","456","472","488","504","2","3","4","5","6","7","9","10","11","12","13","14","15","2147483650","2147483651","2147483652","2147483653","2147483654","2147483655","2147483656","2147483657","2147483658","2147483659","2147483660","2147483661","2147483662","2147483663","17","18","19","20","21","22","23","25","26","27","28","29","30","31","2147483664","2147483665","2147483666","2147483667","2147483668","2147483669","2147483670","2147483671","2147483672","2147483673","2147483674","2147483675","2147483676","2147483677","2147483678","2147483679","SBOX_MASK","DES","keyBits","keyBitPos","subKeys","_subKeys","nSubKey","subKey","bitShift","invSubKeys","_invSubKeys","_lBlock","_rBlock","exchangeLR","exchangeRL","lBlock","rBlock","mask","TripleDES","key1","key2","key3","_des1","_des2","_des3","rc4$1","rc4","hasRequiredRc4","requireRc4","RC4","keySigBytes","S","_S","keyByteIndex","keyByte","_i","_j","generateKeystreamWord","keystreamWord","RC4Drop","drop","rabbit$1","rabbit","hasRequiredRabbit","requireRabbit","C_","G","Rabbit","X","_X","_C","_b","nextState","IV","IV_0","IV_1","i0","i2","i1","i3","gx","ga","gb","rabbitLegacy$1","rabbitLegacy","hasRequiredRabbitLegacy","requireRabbitLegacy","RabbitLegacy","blowfish$1","blowfish","hasRequiredBlowfish","requireBlowfish","N","ORIG_P","ORIG_S","BLOWFISH_CTX","pbox","sbox","ctx","BlowFish_Encrypt","right","Xl","Xr","temp","BlowFish_Decrypt","BlowFishInit","keysize","Row","Col","keyIndex","Data1","Data2","res","Blowfish","cryptoJs","hasRequiredCryptoJs","requireCryptoJs","cryptoJsExports","exports$2","reDigits","io","string","fgh","ssplit","seperator","components","split","shift","activeElement","isDigits","value","test","template","str","replace","outer","inner","getJSON","onSuccess","onError","request","XMLHttpRequest","open","onreadystatechange","readyState","status","JSON","responseText","send","escapeHtml","pattern","entities","&","<",">","\"","'","/","html","forEach","element","innerHTML","append","first","eventName","attachEvent","focus","ElementArray","Array","k","Dollar","selector","matches","match","querySelectorAll","l","host","socket","parameters","payload","hostInfo","connect","toHost","forceNew","force new connection","roomName","decrypted","msg","sanitized","sanitized_payload","reconnect","foo","disconnect","param","p","assign","setKey","clear","setTorch","setNick","nick_maxLen","nick_minLen","cons","sounds","chat","inputWrapper","commands","type","text","tpl","uniqueId","getTime","timestamp","toLocaleTimeString","id","showNotification","parent","child","removeChild","torch","substring","clearInput","lockInput","setAttribute","className","unlockInput","removeAttribute","onKeyDown","parts","command","ctrlKey","altKey","keyCode","retvals","recipients","commandName","leave","count","wind","location"],"mappings":"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WAAY,UACpC,WAAY,WAAY,UAAY,UACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,UAAY,WACpC,UAAY,WAAY,WAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,UAAY,WAAY,UACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,QAAY,UAAY,UAAY,WACpC,UAAY,WAAY,WAAY,WACpC,WAAY,WAAY,UAAY,SACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,UAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,UAAY,YACxC,CAAI,WAAY,WAAY,WAAY,WACpC,SAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,SACpC,UAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,SACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,WAAY,UACpC,UAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,WAAY,UAAY,UACpC,WAAY,WAAY,WAAY,WACpC,UAAY,UAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,UAAY,WAAY,UACpC,UAAY,UAAY,WAAY,UACpC,WAAY,UAAY,WAAY,WACpC,SAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,WAAY,UACpC,WAAY,UAAY,UAAY,UACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,SACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,UAAY,WACpC,UAAY,UAAY,WAAY,WACpC,UAAY,WAAY,SAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,UAAY,UACpC,UAAY,WAAY,WAAY,WACpC,WAAY,UAAY,WAAY,UACpC,WAAY,WAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,UAAY,WAAY,UAAY,UACpC,WAAY,UAAY,UAAY,UACpC,UAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,UACpC,WAAY,UAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,YACxC,CAAI,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,UAAY,WAAY,UAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,SAAY,WAAY,UACpC,WAAY,WAAY,WAAY,WACpC,UAAY,WAAY,UAAY,WACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,UACpC,UAAY,WAAY,UAAY,WACpC,UAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,SAAY,WAAY,SACpC,WAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,UACpC,UAAY,SAAY,WAAY,WACpC,WAAY,UAAY,UAAY,WACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,UAAY,WAAY,UAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,UAAY,UAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,UAAY,WAAY,UACpC,UAAY,UAAY,WAAY,UACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,QAAY,UACpC,UAAY,UAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,UAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,WAAY,WAAY,UAAY,WACpC,WAAY,WAAY,WAAY,YACxC,CAAI,UAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY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"} \ No newline at end of file diff --git a/client/source/settings.js b/client/source/settings.js index 5b6bb89..0a3b011 100644 --- a/client/source/settings.js +++ b/client/source/settings.js @@ -15,7 +15,7 @@ export default { '░ ░░ ░ ▒ ▒ ░░ ░░ ░ ░ ▒ ░ ░ ░ ░░ ░ \n' + '░ ░ ░ ░ ░ ░ ░ ░ ░░ ░ \n' + '░ ░ ░ \n' + - ' https://github.com/hexagon/cryptalk \n' + + ' https://github.com/runbgp/cryptalk \n' + ' \n' + ' Tip of the day: /help \n' + '----------------------------------------------------------------------' + diff --git a/eslint.config.js b/eslint.config.js new file mode 100644 index 0000000..fc045e4 --- /dev/null +++ b/eslint.config.js @@ -0,0 +1,31 @@ +import js from '@eslint/js'; +import globals from 'globals'; + +export default [ + js.configs.recommended, + { + languageOptions: { + ecmaVersion: 2020, + sourceType: 'module', + globals: { + ...globals.browser, + ...globals.node, + ...globals.commonjs, + ...globals.amd + } + }, + rules: { + 'indent': ['error', 'tab'], + 'linebreak-style': 0, + 'quotes': ['error', 'single'], + 'semi': ['error', 'always'], + 'eqeqeq': ['error', 'always'], + 'no-undef': ['warn'], + 'no-console': ['warn'] + }, + ignores: [ + 'client/public/js/cryptalk.min.js', + 'node_modules/**' + ] + } +]; \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index ae80b51..e908c6a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,3478 +1,2780 @@ -{ - "name": "cryptalk", - "version": "1.2.9", - "lockfileVersion": 2, - "requires": true, - "packages": { - "": { - "name": "cryptalk", - "version": "1.2.9", - "license": "MIT", - "os": [ - "darwin", - "linux", - "win32" - ], - "dependencies": { - "serve": "^13.0.2", - "socket.io": "^4.3.1" - }, - "bin": { - "cryptalk": "server/server.js" - }, - "devDependencies": { - "@rollup/plugin-commonjs": "^21.0.1", - "@rollup/plugin-node-resolve": "^13.0.6", - "crypto-js": "^4.1.1", - "eslint": "^8.1.0", - "rollup": "^2.59.0", - "uglify-js": "^3.14.3" - } - }, - "node_modules/@eslint/eslintrc": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.2.1.tgz", - "integrity": "sha512-bxvbYnBPN1Gibwyp6NrpnFzA3YtRL3BBAyEAFVIpNTm2Rn4Vy87GA5M4aSn3InRrlsbX5N0GW7XIx+U4SAEKdQ==", - "dev": true, - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.3.1", - "globals": "^13.9.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.0.4", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.9.5", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.5.tgz", - "integrity": "sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==", - "dev": true, - "dependencies": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", - "minimatch": "^3.0.4" - }, - "engines": { - "node": ">=10.10.0" - } - }, - "node_modules/@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", - "dev": true - }, - "node_modules/@rollup/plugin-commonjs": { - "version": "21.0.3", - "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-21.0.3.tgz", - "integrity": "sha512-ThGfwyvcLc6cfP/MWxA5ACF+LZCvsuhUq7V5134Az1oQWsiC7lNpLT4mJI86WQunK7BYmpUiHmMk2Op6OAHs0g==", - "dev": true, - "dependencies": { - "@rollup/pluginutils": "^3.1.0", - "commondir": "^1.0.1", - "estree-walker": "^2.0.1", - "glob": "^7.1.6", - "is-reference": "^1.2.1", - "magic-string": "^0.25.7", - "resolve": "^1.17.0" - }, - "engines": { - "node": ">= 8.0.0" - }, - "peerDependencies": { - "rollup": "^2.38.3" - } - }, - "node_modules/@rollup/plugin-node-resolve": { - "version": "13.1.3", - "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-13.1.3.tgz", - "integrity": "sha512-BdxNk+LtmElRo5d06MGY4zoepyrXX1tkzX2hrnPEZ53k78GuOMWLqmJDGIIOPwVRIFZrLQOo+Yr6KtCuLIA0AQ==", - "dev": true, - "dependencies": { - "@rollup/pluginutils": "^3.1.0", - "@types/resolve": "1.17.1", - "builtin-modules": "^3.1.0", - "deepmerge": "^4.2.2", - "is-module": "^1.0.0", - "resolve": "^1.19.0" - }, - "engines": { - "node": ">= 10.0.0" - }, - "peerDependencies": { - "rollup": "^2.42.0" - } - }, - "node_modules/@rollup/pluginutils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", - "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", - "dev": true, - "dependencies": { - "@types/estree": "0.0.39", - "estree-walker": "^1.0.1", - "picomatch": "^2.2.2" - }, - "engines": { - "node": ">= 8.0.0" - }, - "peerDependencies": { - "rollup": "^1.20.0||^2.0.0" - } - }, - "node_modules/@rollup/pluginutils/node_modules/estree-walker": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", - "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", - "dev": true - }, - "node_modules/@socket.io/base64-arraybuffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@socket.io/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz", - "integrity": "sha512-dOlCBKnDw4iShaIsH/bxujKTM18+2TOAsYz+KSc11Am38H4q5Xw8Bbz97ZYdrVNM+um3p7w86Bvvmcn9q+5+eQ==", - "engines": { - "node": ">= 0.6.0" - } - }, - "node_modules/@types/component-emitter": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/@types/component-emitter/-/component-emitter-1.2.11.tgz", - "integrity": "sha512-SRXjM+tfsSlA9VuG8hGO2nft2p8zjXCK1VcC6N4NXbBbYbSia9kzCChYQajIjzIqOOOuh5Ock6MmV2oux4jDZQ==" - }, - "node_modules/@types/cookie": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz", - "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==" - }, - "node_modules/@types/cors": { - "version": "2.8.12", - "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.12.tgz", - "integrity": "sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw==" - }, - "node_modules/@types/estree": { - "version": "0.0.39", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", - "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", - "dev": true - }, - "node_modules/@types/node": { - "version": "17.0.23", - "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.23.tgz", - "integrity": "sha512-UxDxWn7dl97rKVeVS61vErvw086aCYhDLyvRQZ5Rk65rZKepaFdm53GeqXaKBuOhED4e9uWq34IC3TdSdJJ2Gw==" - }, - "node_modules/@types/resolve": { - "version": "1.17.1", - "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", - "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@zeit/schemas": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/@zeit/schemas/-/schemas-2.6.0.tgz", - "integrity": "sha512-uUrgZ8AxS+Lio0fZKAipJjAh415JyrOZowliZAzmnJSsf7piVL5w+G0+gFJ0KSu3QRhvui/7zuvpLz03YjXAhg==" - }, - "node_modules/accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", - "dependencies": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/acorn": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", - "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ansi-align": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", - "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", - "dependencies": { - "string-width": "^4.1.0" - } - }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/arch": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", - "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/arg": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/arg/-/arg-2.0.0.tgz", - "integrity": "sha512-XxNTUzKnz1ctK3ZIcI2XUPlD96wbHP2nGqkPKpvk/HNRlPveYrXIVSTk9m3LcqOgDPg3B1nMvdV/K8wZd7PG4w==" - }, - "node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - }, - "node_modules/base64id": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", - "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==", - "engines": { - "node": "^4.5.0 || >= 5.9" - } - }, - "node_modules/boxen": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-5.1.2.tgz", - "integrity": "sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==", - "dependencies": { - "ansi-align": "^3.0.0", - "camelcase": "^6.2.0", - "chalk": "^4.1.0", - "cli-boxes": "^2.2.1", - "string-width": "^4.2.2", - "type-fest": "^0.20.2", - "widest-line": "^3.1.0", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/builtin-modules": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.2.0.tgz", - "integrity": "sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA==", - "dev": true, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/cli-boxes": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz", - "integrity": "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==", - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/clipboardy": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-2.3.0.tgz", - "integrity": "sha512-mKhiIL2DrQIsuXMgBgnfEHOZOryC7kY7YO//TN6c63wlEm3NG5tz+YgY5rVi29KCmq/QQjKYvM7a19+MDOTHOQ==", - "dependencies": { - "arch": "^2.1.1", - "execa": "^1.0.0", - "is-wsl": "^2.1.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", - "dev": true - }, - "node_modules/component-emitter": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" - }, - "node_modules/compressible": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", - "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", - "dependencies": { - "mime-db": ">= 1.43.0 < 2" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/compression": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.3.tgz", - "integrity": "sha512-HSjyBG5N1Nnz7tF2+O7A9XUhyjru71/fwgNb7oIsEVHR0WShfs2tIS/EySLgiTe98aOK18YDlMXpzjCXY/n9mg==", - "dependencies": { - "accepts": "~1.3.5", - "bytes": "3.0.0", - "compressible": "~2.0.14", - "debug": "2.6.9", - "on-headers": "~1.0.1", - "safe-buffer": "5.1.2", - "vary": "~1.1.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/compression/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/compression/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" - }, - "node_modules/content-disposition": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", - "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ=", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/cookie": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", - "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/cors": { - "version": "2.8.5", - "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", - "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", - "dependencies": { - "object-assign": "^4", - "vary": "^1" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/crypto-js": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.1.1.tgz", - "integrity": "sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw==", - "dev": true - }, - "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true - }, - "node_modules/deepmerge": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", - "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "node_modules/end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "dependencies": { - "once": "^1.4.0" - } - }, - "node_modules/engine.io": { - "version": "6.1.3", - "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.1.3.tgz", - "integrity": "sha512-rqs60YwkvWTLLnfazqgZqLa/aKo+9cueVfEi/dZ8PyGyaf8TLOxj++4QMIgeG3Gn0AhrWiFXvghsoY9L9h25GA==", - "dependencies": { - "@types/cookie": "^0.4.1", - "@types/cors": "^2.8.12", - "@types/node": ">=10.0.0", - "accepts": "~1.3.4", - "base64id": "2.0.0", - "cookie": "~0.4.1", - "cors": "~2.8.5", - "debug": "~4.3.1", - "engine.io-parser": "~5.0.3", - "ws": "~8.2.3" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/engine.io-parser": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.3.tgz", - "integrity": "sha512-BtQxwF27XUNnSafQLvDi0dQ8s3i6VgzSoQMJacpIcGNrlUdfHSKbgm3jmjCVvQluGzqwujQMPAoMai3oYSTurg==", - "dependencies": { - "@socket.io/base64-arraybuffer": "~1.0.2" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.12.0.tgz", - "integrity": "sha512-it1oBL9alZg1S8UycLm5YDMAkIhtH6FtAzuZs6YvoGVldWjbS08BkAdb/ymP9LlAyq8koANu32U7Ib/w+UNh8Q==", - "dev": true, - "dependencies": { - "@eslint/eslintrc": "^1.2.1", - "@humanwhocodes/config-array": "^0.9.2", - "ajv": "^6.10.0", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.1.1", - "eslint-utils": "^3.0.0", - "eslint-visitor-keys": "^3.3.0", - "espree": "^9.3.1", - "esquery": "^1.4.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^6.0.1", - "globals": "^13.6.0", - "ignore": "^5.2.0", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.0.4", - "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "regexpp": "^3.2.0", - "strip-ansi": "^6.0.1", - "strip-json-comments": "^3.1.0", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-scope": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", - "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", - "dev": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/eslint-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", - "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", - "dev": true, - "dependencies": { - "eslint-visitor-keys": "^2.0.0" - }, - "engines": { - "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - }, - "peerDependencies": { - "eslint": ">=5" - } - }, - "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", - "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/espree": { - "version": "9.3.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.1.tgz", - "integrity": "sha512-bvdyLmJMfwkV3NCRl5ZhJf22zBFo1y8bYh3VYb+bfzqNB4Je68P2sSuXyuFquzWLebHpNd2/d5uv7yoP9ISnGQ==", - "dev": true, - "dependencies": { - "acorn": "^8.7.0", - "acorn-jsx": "^5.3.1", - "eslint-visitor-keys": "^3.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/esquery": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", - "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", - "dev": true, - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estree-walker": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", - "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", - "dev": true - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "dependencies": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/execa/node_modules/cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "dependencies": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - }, - "engines": { - "node": ">=4.8" - } - }, - "node_modules/execa/node_modules/path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", - "engines": { - "node": ">=4" - } - }, - "node_modules/execa/node_modules/shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "dependencies": { - "shebang-regex": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/execa/node_modules/shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/execa/node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "which": "bin/which" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", - "dev": true - }, - "node_modules/fast-url-parser": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/fast-url-parser/-/fast-url-parser-1.1.3.tgz", - "integrity": "sha1-9K8+qfNNiicc9YrSs3WfQx8LMY0=", - "dependencies": { - "punycode": "^1.3.2" - } - }, - "node_modules/file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "dev": true, - "dependencies": { - "flat-cache": "^3.0.4" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", - "dev": true, - "dependencies": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/flatted": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.5.tgz", - "integrity": "sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==", - "dev": true - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true - }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true - }, - "node_modules/functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", - "dev": true - }, - "node_modules/get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/globals": { - "version": "13.13.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.13.0.tgz", - "integrity": "sha512-EQ7Q18AJlPwp3vUDL4mKA0KXrXyNIQyWon6T6XQiBQF0XHvRsiCSrWmmeATpUzdJN2HhWZU6Pdl0a9zdep5p6A==", - "dev": true, - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/ignore": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", - "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "dev": true, - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "node_modules/ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" - }, - "node_modules/is-core-module": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz", - "integrity": "sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==", - "dev": true, - "dependencies": { - "has": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", - "bin": { - "is-docker": "cli.js" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", - "integrity": "sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=", - "dev": true - }, - "node_modules/is-reference": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.2.1.tgz", - "integrity": "sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==", - "dev": true, - "dependencies": { - "@types/estree": "*" - } - }, - "node_modules/is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "dependencies": { - "is-docker": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" - }, - "node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", - "dev": true - }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true - }, - "node_modules/magic-string": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", - "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", - "dev": true, - "dependencies": { - "sourcemap-codec": "^1.4.8" - } - }, - "node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/minimist": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", - "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==" - }, - "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", - "dev": true - }, - "node_modules/negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/nice-try": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" - }, - "node_modules/npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", - "dependencies": { - "path-key": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/npm-run-path/node_modules/path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", - "engines": { - "node": ">=4" - } - }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/on-headers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", - "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", - "dev": true, - "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", - "engines": { - "node": ">=4" - } - }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-is-inside": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=" - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true - }, - "node_modules/path-to-regexp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-2.2.1.tgz", - "integrity": "sha512-gu9bD6Ta5bwGrrU8muHzVOBFFREpp2iRkVfhBJahwJ6p6Xw20SjT0MxLnwkjOibQmGSYhiUnf2FLe7k+jcFmGQ==" - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "node_modules/punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" - }, - "node_modules/range-parser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", - "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/rc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", - "dependencies": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "bin": { - "rc": "cli.js" - } - }, - "node_modules/rc/node_modules/strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/regexpp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", - "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - } - }, - "node_modules/registry-auth-token": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.2.tgz", - "integrity": "sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==", - "dependencies": { - "rc": "^1.1.6", - "safe-buffer": "^5.0.1" - } - }, - "node_modules/registry-url": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz", - "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=", - "dependencies": { - "rc": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/resolve": { - "version": "1.22.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", - "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==", - "dev": true, - "dependencies": { - "is-core-module": "^2.8.1", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/rollup": { - "version": "2.70.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.70.1.tgz", - "integrity": "sha512-CRYsI5EuzLbXdxC6RnYhOuRdtz4bhejPMSWjsFLfVM/7w/85n2szZv6yExqUXsBdz5KT8eoubeyDUDjhLHEslA==", - "dev": true, - "bin": { - "rollup": "dist/bin/rollup" - }, - "engines": { - "node": ">=10.0.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/serve": { - "version": "13.0.2", - "resolved": "https://registry.npmjs.org/serve/-/serve-13.0.2.tgz", - "integrity": "sha512-71R6fKvNgKrqARAag6lYJNnxDzpH7DCNrMuvPY5PLVaC2PDhJsGTj/34o4o4tPWhTuLgEXqvgnAWbATQ9zGZTQ==", - "dependencies": { - "@zeit/schemas": "2.6.0", - "ajv": "6.12.6", - "arg": "2.0.0", - "boxen": "5.1.2", - "chalk": "2.4.1", - "clipboardy": "2.3.0", - "compression": "1.7.3", - "serve-handler": "6.1.3", - "update-check": "1.5.2" - }, - "bin": { - "serve": "bin/serve.js" - } - }, - "node_modules/serve-handler": { - "version": "6.1.3", - "resolved": "https://registry.npmjs.org/serve-handler/-/serve-handler-6.1.3.tgz", - "integrity": "sha512-FosMqFBNrLyeiIDvP1zgO6YoTzFYHxLDEIavhlmQ+knB2Z7l1t+kGLHkZIDN7UVWqQAmKI3D20A6F6jo3nDd4w==", - "dependencies": { - "bytes": "3.0.0", - "content-disposition": "0.5.2", - "fast-url-parser": "1.1.3", - "mime-types": "2.1.18", - "minimatch": "3.0.4", - "path-is-inside": "1.0.2", - "path-to-regexp": "2.2.1", - "range-parser": "1.2.0" - } - }, - "node_modules/serve-handler/node_modules/mime-db": { - "version": "1.33.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", - "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serve-handler/node_modules/mime-types": { - "version": "2.1.18", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", - "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", - "dependencies": { - "mime-db": "~1.33.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serve-handler/node_modules/minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/serve/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/serve/node_modules/chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/serve/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/serve/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "node_modules/serve/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/serve/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "engines": { - "node": ">=4" - } - }, - "node_modules/serve/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" - }, - "node_modules/socket.io": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.4.1.tgz", - "integrity": "sha512-s04vrBswdQBUmuWJuuNTmXUVJhP0cVky8bBDhdkf8y0Ptsu7fKU2LuLbts9g+pdmAdyMMn8F/9Mf1/wbtUN0fg==", - "dependencies": { - "accepts": "~1.3.4", - "base64id": "~2.0.0", - "debug": "~4.3.2", - "engine.io": "~6.1.0", - "socket.io-adapter": "~2.3.3", - "socket.io-parser": "~4.0.4" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/socket.io-adapter": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.3.3.tgz", - "integrity": "sha512-Qd/iwn3VskrpNO60BeRyCyr8ZWw9CPZyitW4AQwmRZ8zCiyDiL+znRnWX6tDHXnWn1sJrM1+b6Mn6wEDJJ4aYQ==" - }, - "node_modules/socket.io-parser": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.0.4.tgz", - "integrity": "sha512-t+b0SS+IxG7Rxzda2EVvyBZbvFPBCjJoyHuE0P//7OAsN23GItzDRdWa6ALxZI/8R5ygK7jAR6t028/z+7295g==", - "dependencies": { - "@types/component-emitter": "^1.2.10", - "component-emitter": "~1.3.0", - "debug": "~4.3.1" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/sourcemap-codec": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", - "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", - "dev": true - }, - "node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", - "dev": true - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/uglify-js": { - "version": "3.15.3", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.15.3.tgz", - "integrity": "sha512-6iCVm2omGJbsu3JWac+p6kUiOpg3wFO2f8lIXjfEb8RrmLjzog1wTPMmwKB7swfzzqxj9YM+sGUM++u1qN4qJg==", - "dev": true, - "bin": { - "uglifyjs": "bin/uglifyjs" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/update-check": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/update-check/-/update-check-1.5.2.tgz", - "integrity": "sha512-1TrmYLuLj/5ZovwUS7fFd1jMH3NnFDN1y1A8dboedIDt7zs/zJMo6TwwlhYKkSeEwzleeiSBV5/3c9ufAQWDaQ==", - "dependencies": { - "registry-auth-token": "3.3.2", - "registry-url": "3.1.0" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/uri-js/node_modules/punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "engines": { - "node": ">=6" - } - }, - "node_modules/v8-compile-cache": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", - "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", - "dev": true - }, - "node_modules/vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/widest-line": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", - "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", - "dependencies": { - "string-width": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" - }, - "node_modules/ws": { - "version": "8.2.3", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.2.3.tgz", - "integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==", - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - } - }, - "dependencies": { - "@eslint/eslintrc": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.2.1.tgz", - "integrity": "sha512-bxvbYnBPN1Gibwyp6NrpnFzA3YtRL3BBAyEAFVIpNTm2Rn4Vy87GA5M4aSn3InRrlsbX5N0GW7XIx+U4SAEKdQ==", - "dev": true, - "requires": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.3.1", - "globals": "^13.9.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.0.4", - "strip-json-comments": "^3.1.1" - } - }, - "@humanwhocodes/config-array": { - "version": "0.9.5", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.5.tgz", - "integrity": "sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==", - "dev": true, - "requires": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", - "minimatch": "^3.0.4" - } - }, - "@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", - "dev": true - }, - "@rollup/plugin-commonjs": { - "version": "21.0.3", - "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-21.0.3.tgz", - "integrity": "sha512-ThGfwyvcLc6cfP/MWxA5ACF+LZCvsuhUq7V5134Az1oQWsiC7lNpLT4mJI86WQunK7BYmpUiHmMk2Op6OAHs0g==", - "dev": true, - "requires": { - "@rollup/pluginutils": "^3.1.0", - "commondir": "^1.0.1", - "estree-walker": "^2.0.1", - "glob": "^7.1.6", - "is-reference": "^1.2.1", - "magic-string": "^0.25.7", - "resolve": "^1.17.0" - } - }, - "@rollup/plugin-node-resolve": { - "version": "13.1.3", - "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-13.1.3.tgz", - "integrity": "sha512-BdxNk+LtmElRo5d06MGY4zoepyrXX1tkzX2hrnPEZ53k78GuOMWLqmJDGIIOPwVRIFZrLQOo+Yr6KtCuLIA0AQ==", - "dev": true, - "requires": { - "@rollup/pluginutils": "^3.1.0", - "@types/resolve": "1.17.1", - "builtin-modules": "^3.1.0", - "deepmerge": "^4.2.2", - "is-module": "^1.0.0", - "resolve": "^1.19.0" - } - }, - "@rollup/pluginutils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", - "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", - "dev": true, - "requires": { - "@types/estree": "0.0.39", - "estree-walker": "^1.0.1", - "picomatch": "^2.2.2" - }, - "dependencies": { - "estree-walker": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", - "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", - "dev": true - } - } - }, - "@socket.io/base64-arraybuffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@socket.io/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz", - "integrity": "sha512-dOlCBKnDw4iShaIsH/bxujKTM18+2TOAsYz+KSc11Am38H4q5Xw8Bbz97ZYdrVNM+um3p7w86Bvvmcn9q+5+eQ==" - }, - "@types/component-emitter": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/@types/component-emitter/-/component-emitter-1.2.11.tgz", - "integrity": "sha512-SRXjM+tfsSlA9VuG8hGO2nft2p8zjXCK1VcC6N4NXbBbYbSia9kzCChYQajIjzIqOOOuh5Ock6MmV2oux4jDZQ==" - }, - "@types/cookie": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz", - "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==" - }, - "@types/cors": { - "version": "2.8.12", - "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.12.tgz", - "integrity": "sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw==" - }, - "@types/estree": { - "version": "0.0.39", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", - "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", - "dev": true - }, - "@types/node": { - "version": "17.0.23", - "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.23.tgz", - "integrity": "sha512-UxDxWn7dl97rKVeVS61vErvw086aCYhDLyvRQZ5Rk65rZKepaFdm53GeqXaKBuOhED4e9uWq34IC3TdSdJJ2Gw==" - }, - "@types/resolve": { - "version": "1.17.1", - "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", - "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@zeit/schemas": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/@zeit/schemas/-/schemas-2.6.0.tgz", - "integrity": "sha512-uUrgZ8AxS+Lio0fZKAipJjAh415JyrOZowliZAzmnJSsf7piVL5w+G0+gFJ0KSu3QRhvui/7zuvpLz03YjXAhg==" - }, - "accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", - "requires": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" - } - }, - "acorn": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", - "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==", - "dev": true - }, - "acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "requires": {} - }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ansi-align": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", - "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", - "requires": { - "string-width": "^4.1.0" - } - }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "arch": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", - "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==" - }, - "arg": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/arg/-/arg-2.0.0.tgz", - "integrity": "sha512-XxNTUzKnz1ctK3ZIcI2XUPlD96wbHP2nGqkPKpvk/HNRlPveYrXIVSTk9m3LcqOgDPg3B1nMvdV/K8wZd7PG4w==" - }, - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - }, - "base64id": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", - "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==" - }, - "boxen": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-5.1.2.tgz", - "integrity": "sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==", - "requires": { - "ansi-align": "^3.0.0", - "camelcase": "^6.2.0", - "chalk": "^4.1.0", - "cli-boxes": "^2.2.1", - "string-width": "^4.2.2", - "type-fest": "^0.20.2", - "widest-line": "^3.1.0", - "wrap-ansi": "^7.0.0" - } - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "builtin-modules": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.2.0.tgz", - "integrity": "sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA==", - "dev": true - }, - "bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=" - }, - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true - }, - "camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==" - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "cli-boxes": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz", - "integrity": "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==" - }, - "clipboardy": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-2.3.0.tgz", - "integrity": "sha512-mKhiIL2DrQIsuXMgBgnfEHOZOryC7kY7YO//TN6c63wlEm3NG5tz+YgY5rVi29KCmq/QQjKYvM7a19+MDOTHOQ==", - "requires": { - "arch": "^2.1.1", - "execa": "^1.0.0", - "is-wsl": "^2.1.1" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", - "dev": true - }, - "component-emitter": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" - }, - "compressible": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", - "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", - "requires": { - "mime-db": ">= 1.43.0 < 2" - } - }, - "compression": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.3.tgz", - "integrity": "sha512-HSjyBG5N1Nnz7tF2+O7A9XUhyjru71/fwgNb7oIsEVHR0WShfs2tIS/EySLgiTe98aOK18YDlMXpzjCXY/n9mg==", - "requires": { - "accepts": "~1.3.5", - "bytes": "3.0.0", - "compressible": "~2.0.14", - "debug": "2.6.9", - "on-headers": "~1.0.1", - "safe-buffer": "5.1.2", - "vary": "~1.1.2" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - } - } - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" - }, - "content-disposition": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", - "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ=" - }, - "cookie": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", - "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==" - }, - "cors": { - "version": "2.8.5", - "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", - "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", - "requires": { - "object-assign": "^4", - "vary": "^1" - } - }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "crypto-js": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.1.1.tgz", - "integrity": "sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw==", - "dev": true - }, - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "requires": { - "ms": "2.1.2" - } - }, - "deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==" - }, - "deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true - }, - "deepmerge": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", - "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", - "dev": true - }, - "doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "requires": { - "esutils": "^2.0.2" - } - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "requires": { - "once": "^1.4.0" - } - }, - "engine.io": { - "version": "6.1.3", - "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.1.3.tgz", - "integrity": "sha512-rqs60YwkvWTLLnfazqgZqLa/aKo+9cueVfEi/dZ8PyGyaf8TLOxj++4QMIgeG3Gn0AhrWiFXvghsoY9L9h25GA==", - "requires": { - "@types/cookie": "^0.4.1", - "@types/cors": "^2.8.12", - "@types/node": ">=10.0.0", - "accepts": "~1.3.4", - "base64id": "2.0.0", - "cookie": "~0.4.1", - "cors": "~2.8.5", - "debug": "~4.3.1", - "engine.io-parser": "~5.0.3", - "ws": "~8.2.3" - } - }, - "engine.io-parser": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.3.tgz", - "integrity": "sha512-BtQxwF27XUNnSafQLvDi0dQ8s3i6VgzSoQMJacpIcGNrlUdfHSKbgm3jmjCVvQluGzqwujQMPAoMai3oYSTurg==", - "requires": { - "@socket.io/base64-arraybuffer": "~1.0.2" - } - }, - "escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true - }, - "eslint": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.12.0.tgz", - "integrity": "sha512-it1oBL9alZg1S8UycLm5YDMAkIhtH6FtAzuZs6YvoGVldWjbS08BkAdb/ymP9LlAyq8koANu32U7Ib/w+UNh8Q==", - "dev": true, - "requires": { - "@eslint/eslintrc": "^1.2.1", - "@humanwhocodes/config-array": "^0.9.2", - "ajv": "^6.10.0", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.1.1", - "eslint-utils": "^3.0.0", - "eslint-visitor-keys": "^3.3.0", - "espree": "^9.3.1", - "esquery": "^1.4.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^6.0.1", - "globals": "^13.6.0", - "ignore": "^5.2.0", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.0.4", - "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "regexpp": "^3.2.0", - "strip-ansi": "^6.0.1", - "strip-json-comments": "^3.1.0", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" - } - }, - "eslint-scope": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", - "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", - "dev": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - } - }, - "eslint-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", - "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", - "dev": true, - "requires": { - "eslint-visitor-keys": "^2.0.0" - }, - "dependencies": { - "eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", - "dev": true - } - } - }, - "eslint-visitor-keys": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", - "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", - "dev": true - }, - "espree": { - "version": "9.3.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.1.tgz", - "integrity": "sha512-bvdyLmJMfwkV3NCRl5ZhJf22zBFo1y8bYh3VYb+bfzqNB4Je68P2sSuXyuFquzWLebHpNd2/d5uv7yoP9ISnGQ==", - "dev": true, - "requires": { - "acorn": "^8.7.0", - "acorn-jsx": "^5.3.1", - "eslint-visitor-keys": "^3.3.0" - } - }, - "esquery": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", - "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", - "dev": true, - "requires": { - "estraverse": "^5.1.0" - } - }, - "esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "requires": { - "estraverse": "^5.2.0" - } - }, - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true - }, - "estree-walker": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", - "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", - "dev": true - }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true - }, - "execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "requires": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - }, - "dependencies": { - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" - }, - "shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "requires": { - "shebang-regex": "^1.0.0" - } - }, - "shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" - }, - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "requires": { - "isexe": "^2.0.0" - } - } - } - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" - }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" - }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", - "dev": true - }, - "fast-url-parser": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/fast-url-parser/-/fast-url-parser-1.1.3.tgz", - "integrity": "sha1-9K8+qfNNiicc9YrSs3WfQx8LMY0=", - "requires": { - "punycode": "^1.3.2" - } - }, - "file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "dev": true, - "requires": { - "flat-cache": "^3.0.4" - } - }, - "flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", - "dev": true, - "requires": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - } - }, - "flatted": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.5.tgz", - "integrity": "sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==", - "dev": true - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true - }, - "fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "optional": true - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true - }, - "functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", - "dev": true - }, - "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "requires": { - "pump": "^3.0.0" - } - }, - "glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "requires": { - "is-glob": "^4.0.3" - } - }, - "globals": { - "version": "13.13.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.13.0.tgz", - "integrity": "sha512-EQ7Q18AJlPwp3vUDL4mKA0KXrXyNIQyWon6T6XQiBQF0XHvRsiCSrWmmeATpUzdJN2HhWZU6Pdl0a9zdep5p6A==", - "dev": true, - "requires": { - "type-fest": "^0.20.2" - } - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "ignore": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", - "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", - "dev": true - }, - "import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - } - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "dev": true - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" - }, - "is-core-module": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz", - "integrity": "sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==", - "dev": true, - "requires": { - "has": "^1.0.3" - } - }, - "is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==" - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" - }, - "is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", - "integrity": "sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=", - "dev": true - }, - "is-reference": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.2.1.tgz", - "integrity": "sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==", - "dev": true, - "requires": { - "@types/estree": "*" - } - }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" - }, - "is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "requires": { - "is-docker": "^2.0.0" - } - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" - }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "requires": { - "argparse": "^2.0.1" - } - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" - }, - "json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", - "dev": true - }, - "levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "requires": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - } - }, - "lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true - }, - "magic-string": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", - "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", - "dev": true, - "requires": { - "sourcemap-codec": "^1.4.8" - } - }, - "mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" - }, - "mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "requires": { - "mime-db": "1.52.0" - } - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", - "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==" - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", - "dev": true - }, - "negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==" - }, - "nice-try": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" - }, - "npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", - "requires": { - "path-key": "^2.0.0" - }, - "dependencies": { - "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" - } - } - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" - }, - "on-headers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", - "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==" - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "requires": { - "wrappy": "1" - } - }, - "optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", - "dev": true, - "requires": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" - } - }, - "p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" - }, - "parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "requires": { - "callsites": "^3.0.0" - } - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true - }, - "path-is-inside": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=" - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true - }, - "path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true - }, - "path-to-regexp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-2.2.1.tgz", - "integrity": "sha512-gu9bD6Ta5bwGrrU8muHzVOBFFREpp2iRkVfhBJahwJ6p6Xw20SjT0MxLnwkjOibQmGSYhiUnf2FLe7k+jcFmGQ==" - }, - "picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true - }, - "prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true - }, - "pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" - }, - "range-parser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", - "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=" - }, - "rc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", - "requires": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "dependencies": { - "strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=" - } - } - }, - "regexpp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", - "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", - "dev": true - }, - "registry-auth-token": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.2.tgz", - "integrity": "sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==", - "requires": { - "rc": "^1.1.6", - "safe-buffer": "^5.0.1" - } - }, - "registry-url": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz", - "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=", - "requires": { - "rc": "^1.0.1" - } - }, - "resolve": { - "version": "1.22.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", - "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==", - "dev": true, - "requires": { - "is-core-module": "^2.8.1", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - } - }, - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "rollup": { - "version": "2.70.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.70.1.tgz", - "integrity": "sha512-CRYsI5EuzLbXdxC6RnYhOuRdtz4bhejPMSWjsFLfVM/7w/85n2szZv6yExqUXsBdz5KT8eoubeyDUDjhLHEslA==", - "dev": true, - "requires": { - "fsevents": "~2.3.2" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - }, - "serve": { - "version": "13.0.2", - "resolved": "https://registry.npmjs.org/serve/-/serve-13.0.2.tgz", - "integrity": "sha512-71R6fKvNgKrqARAag6lYJNnxDzpH7DCNrMuvPY5PLVaC2PDhJsGTj/34o4o4tPWhTuLgEXqvgnAWbATQ9zGZTQ==", - "requires": { - "@zeit/schemas": "2.6.0", - "ajv": "6.12.6", - "arg": "2.0.0", - "boxen": "5.1.2", - "chalk": "2.4.1", - "clipboardy": "2.3.0", - "compression": "1.7.3", - "serve-handler": "6.1.3", - "update-check": "1.5.2" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "serve-handler": { - "version": "6.1.3", - "resolved": "https://registry.npmjs.org/serve-handler/-/serve-handler-6.1.3.tgz", - "integrity": "sha512-FosMqFBNrLyeiIDvP1zgO6YoTzFYHxLDEIavhlmQ+knB2Z7l1t+kGLHkZIDN7UVWqQAmKI3D20A6F6jo3nDd4w==", - "requires": { - "bytes": "3.0.0", - "content-disposition": "0.5.2", - "fast-url-parser": "1.1.3", - "mime-types": "2.1.18", - "minimatch": "3.0.4", - "path-is-inside": "1.0.2", - "path-to-regexp": "2.2.1", - "range-parser": "1.2.0" - }, - "dependencies": { - "mime-db": { - "version": "1.33.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", - "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==" - }, - "mime-types": { - "version": "2.1.18", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", - "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", - "requires": { - "mime-db": "~1.33.0" - } - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "requires": { - "brace-expansion": "^1.1.7" - } - } - } - }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true - }, - "signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" - }, - "socket.io": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.4.1.tgz", - "integrity": "sha512-s04vrBswdQBUmuWJuuNTmXUVJhP0cVky8bBDhdkf8y0Ptsu7fKU2LuLbts9g+pdmAdyMMn8F/9Mf1/wbtUN0fg==", - "requires": { - "accepts": "~1.3.4", - "base64id": "~2.0.0", - "debug": "~4.3.2", - "engine.io": "~6.1.0", - "socket.io-adapter": "~2.3.3", - "socket.io-parser": "~4.0.4" - } - }, - "socket.io-adapter": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.3.3.tgz", - "integrity": "sha512-Qd/iwn3VskrpNO60BeRyCyr8ZWw9CPZyitW4AQwmRZ8zCiyDiL+znRnWX6tDHXnWn1sJrM1+b6Mn6wEDJJ4aYQ==" - }, - "socket.io-parser": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.0.4.tgz", - "integrity": "sha512-t+b0SS+IxG7Rxzda2EVvyBZbvFPBCjJoyHuE0P//7OAsN23GItzDRdWa6ALxZI/8R5ygK7jAR6t028/z+7295g==", - "requires": { - "@types/component-emitter": "^1.2.10", - "component-emitter": "~1.3.0", - "debug": "~4.3.1" - } - }, - "sourcemap-codec": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", - "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", - "dev": true - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=" - }, - "strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - }, - "supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true - }, - "text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", - "dev": true - }, - "type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "requires": { - "prelude-ls": "^1.2.1" - } - }, - "type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==" - }, - "uglify-js": { - "version": "3.15.3", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.15.3.tgz", - "integrity": "sha512-6iCVm2omGJbsu3JWac+p6kUiOpg3wFO2f8lIXjfEb8RrmLjzog1wTPMmwKB7swfzzqxj9YM+sGUM++u1qN4qJg==", - "dev": true - }, - "update-check": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/update-check/-/update-check-1.5.2.tgz", - "integrity": "sha512-1TrmYLuLj/5ZovwUS7fFd1jMH3NnFDN1y1A8dboedIDt7zs/zJMo6TwwlhYKkSeEwzleeiSBV5/3c9ufAQWDaQ==", - "requires": { - "registry-auth-token": "3.3.2", - "registry-url": "3.1.0" - } - }, - "uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "requires": { - "punycode": "^2.1.0" - }, - "dependencies": { - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" - } - } - }, - "v8-compile-cache": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", - "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", - "dev": true - }, - "vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "widest-line": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", - "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", - "requires": { - "string-width": "^4.0.0" - } - }, - "word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", - "dev": true - }, - "wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" - }, - "ws": { - "version": "8.2.3", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.2.3.tgz", - "integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==", - "requires": {} - } - } -} +{ + "name": "cryptalk", + "version": "1.3.3", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "cryptalk", + "version": "1.3.3", + "license": "MIT", + "os": [ + "darwin", + "linux", + "win32" + ], + "dependencies": { + "serve": "^14.2.4", + "socket.io": "^4.8.1" + }, + "bin": { + "cryptalk": "server/server.js" + }, + "devDependencies": { + "@eslint/js": "^9.22.0", + "@rollup/plugin-commonjs": "^28.0.3", + "@rollup/plugin-node-resolve": "^16.0.0", + "crypto-js": "^4.2.0", + "eslint": "^9.22.0", + "globals": "^17.0.0", + "rollup": "^4.35.0", + "uglify-js": "^3.19.3" + }, + "engines": { + "node": ">=22.0.0" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz", + "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.12.2", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", + "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/config-array": { + "version": "0.21.1", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.1.tgz", + "integrity": "sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/object-schema": "^2.1.7", + "debug": "^4.3.1", + "minimatch": "^3.1.2" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/config-helpers": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.4.2.tgz", + "integrity": "sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^0.17.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/core": { + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.17.0.tgz", + "integrity": "sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@types/json-schema": "^7.0.15" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.4.tgz", + "integrity": "sha512-4h4MVF8pmBsncB60r0wSJiIeUKTSD4m7FmTFThG8RHlsg9ajqckLm9OraguFGZE4vVdpiI1Q4+hFnisopmG6gQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^6.14.0", + "debug": "^4.3.2", + "espree": "^10.0.1", + "globals": "^14.0.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.1", + "minimatch": "^3.1.3", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/ajv": { + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.14.0.tgz", + "integrity": "sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/eslintrc/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@eslint/js": { + "version": "9.39.3", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.39.3.tgz", + "integrity": "sha512-1B1VkCq6FuUNlQvlBYb+1jDu/gV297TIs/OeiaSR9l1H27SVW55ONE1e1Vp16NqP683+xEGzxYtv4XCiDPaQiw==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" + } + }, + "node_modules/@eslint/object-schema": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.7.tgz", + "integrity": "sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/plugin-kit": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.4.1.tgz", + "integrity": "sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^0.17.0", + "levn": "^0.4.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@humanfs/core": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", + "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/node": { + "version": "0.16.7", + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.7.tgz", + "integrity": "sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanfs/core": "^0.19.1", + "@humanwhocodes/retry": "^0.4.0" + }, + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/retry": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", + "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "dev": true, + "license": "MIT" + }, + "node_modules/@rollup/plugin-commonjs": { + "version": "28.0.9", + "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-28.0.9.tgz", + "integrity": "sha512-PIR4/OHZ79romx0BVVll/PkwWpJ7e5lsqFa3gFfcrFPWwLXLV39JVUzQV9RKjWerE7B845Hqjj9VYlQeieZ2dA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rollup/pluginutils": "^5.0.1", + "commondir": "^1.0.1", + "estree-walker": "^2.0.2", + "fdir": "^6.2.0", + "is-reference": "1.2.1", + "magic-string": "^0.30.3", + "picomatch": "^4.0.2" + }, + "engines": { + "node": ">=16.0.0 || 14 >= 14.17" + }, + "peerDependencies": { + "rollup": "^2.68.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/plugin-node-resolve": { + "version": "16.0.3", + "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-16.0.3.tgz", + "integrity": "sha512-lUYM3UBGuM93CnMPG1YocWu7X802BrNF3jW2zny5gQyLQgRFJhV1Sq0Zi74+dh/6NBx1DxFC4b4GXg9wUCG5Qg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rollup/pluginutils": "^5.0.1", + "@types/resolve": "1.20.2", + "deepmerge": "^4.2.2", + "is-module": "^1.0.0", + "resolve": "^1.22.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^2.78.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/pluginutils": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.3.0.tgz", + "integrity": "sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^4.0.2" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.59.0.tgz", + "integrity": "sha512-upnNBkA6ZH2VKGcBj9Fyl9IGNPULcjXRlg0LLeaioQWueH30p6IXtJEbKAgvyv+mJaMxSm1l6xwDXYjpEMiLMg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.59.0.tgz", + "integrity": "sha512-hZ+Zxj3SySm4A/DylsDKZAeVg0mvi++0PYVceVyX7hemkw7OreKdCvW2oQ3T1FMZvCaQXqOTHb8qmBShoqk69Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.59.0.tgz", + "integrity": "sha512-W2Psnbh1J8ZJw0xKAd8zdNgF9HRLkdWwwdWqubSVk0pUuQkoHnv7rx4GiF9rT4t5DIZGAsConRE3AxCdJ4m8rg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.59.0.tgz", + "integrity": "sha512-ZW2KkwlS4lwTv7ZVsYDiARfFCnSGhzYPdiOU4IM2fDbL+QGlyAbjgSFuqNRbSthybLbIJ915UtZBtmuLrQAT/w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.59.0.tgz", + "integrity": "sha512-EsKaJ5ytAu9jI3lonzn3BgG8iRBjV4LxZexygcQbpiU0wU0ATxhNVEpXKfUa0pS05gTcSDMKpn3Sx+QB9RlTTA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.59.0.tgz", + "integrity": "sha512-d3DuZi2KzTMjImrxoHIAODUZYoUUMsuUiY4SRRcJy6NJoZ6iIqWnJu9IScV9jXysyGMVuW+KNzZvBLOcpdl3Vg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.59.0.tgz", + "integrity": "sha512-t4ONHboXi/3E0rT6OZl1pKbl2Vgxf9vJfWgmUoCEVQVxhW6Cw/c8I6hbbu7DAvgp82RKiH7TpLwxnJeKv2pbsw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.59.0.tgz", + "integrity": "sha512-CikFT7aYPA2ufMD086cVORBYGHffBo4K8MQ4uPS/ZnY54GKj36i196u8U+aDVT2LX4eSMbyHtyOh7D7Zvk2VvA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.59.0.tgz", + "integrity": "sha512-jYgUGk5aLd1nUb1CtQ8E+t5JhLc9x5WdBKew9ZgAXg7DBk0ZHErLHdXM24rfX+bKrFe+Xp5YuJo54I5HFjGDAA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.59.0.tgz", + "integrity": "sha512-peZRVEdnFWZ5Bh2KeumKG9ty7aCXzzEsHShOZEFiCQlDEepP1dpUl/SrUNXNg13UmZl+gzVDPsiCwnV1uI0RUA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-gnu": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.59.0.tgz", + "integrity": "sha512-gbUSW/97f7+r4gHy3Jlup8zDG190AuodsWnNiXErp9mT90iCy9NKKU0Xwx5k8VlRAIV2uU9CsMnEFg/xXaOfXg==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-musl": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.59.0.tgz", + "integrity": "sha512-yTRONe79E+o0FWFijasoTjtzG9EBedFXJMl888NBEDCDV9I2wGbFFfJQQe63OijbFCUZqxpHz1GzpbtSFikJ4Q==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-gnu": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.59.0.tgz", + "integrity": "sha512-sw1o3tfyk12k3OEpRddF68a1unZ5VCN7zoTNtSn2KndUE+ea3m3ROOKRCZxEpmT9nsGnogpFP9x6mnLTCaoLkA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-musl": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.59.0.tgz", + "integrity": "sha512-+2kLtQ4xT3AiIxkzFVFXfsmlZiG5FXYW7ZyIIvGA7Bdeuh9Z0aN4hVyXS/G1E9bTP/vqszNIN/pUKCk/BTHsKA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.59.0.tgz", + "integrity": "sha512-NDYMpsXYJJaj+I7UdwIuHHNxXZ/b/N2hR15NyH3m2qAtb/hHPA4g4SuuvrdxetTdndfj9b1WOmy73kcPRoERUg==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.59.0.tgz", + "integrity": "sha512-nLckB8WOqHIf1bhymk+oHxvM9D3tyPndZH8i8+35p/1YiVoVswPid2yLzgX7ZJP0KQvnkhM4H6QZ5m0LzbyIAg==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.59.0.tgz", + "integrity": "sha512-oF87Ie3uAIvORFBpwnCvUzdeYUqi2wY6jRFWJAy1qus/udHFYIkplYRW+wo+GRUP4sKzYdmE1Y3+rY5Gc4ZO+w==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.59.0.tgz", + "integrity": "sha512-3AHmtQq/ppNuUspKAlvA8HtLybkDflkMuLK4DPo77DfthRb71V84/c4MlWJXixZz4uruIH4uaa07IqoAkG64fg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.59.0.tgz", + "integrity": "sha512-2UdiwS/9cTAx7qIUZB/fWtToJwvt0Vbo0zmnYt7ED35KPg13Q0ym1g442THLC7VyI6JfYTP4PiSOWyoMdV2/xg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-openbsd-x64": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.59.0.tgz", + "integrity": "sha512-M3bLRAVk6GOwFlPTIxVBSYKUaqfLrn8l0psKinkCFxl4lQvOSz8ZrKDz2gxcBwHFpci0B6rttydI4IpS4IS/jQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ] + }, + "node_modules/@rollup/rollup-openharmony-arm64": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.59.0.tgz", + "integrity": "sha512-tt9KBJqaqp5i5HUZzoafHZX8b5Q2Fe7UjYERADll83O4fGqJ49O1FsL6LpdzVFQcpwvnyd0i+K/VSwu/o/nWlA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.59.0.tgz", + "integrity": "sha512-V5B6mG7OrGTwnxaNUzZTDTjDS7F75PO1ae6MJYdiMu60sq0CqN5CVeVsbhPxalupvTX8gXVSU9gq+Rx1/hvu6A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.59.0.tgz", + "integrity": "sha512-UKFMHPuM9R0iBegwzKF4y0C4J9u8C6MEJgFuXTBerMk7EJ92GFVFYBfOZaSGLu6COf7FxpQNqhNS4c4icUPqxA==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-gnu": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.59.0.tgz", + "integrity": "sha512-laBkYlSS1n2L8fSo1thDNGrCTQMmxjYY5G0WFWjFFYZkKPjsMBsgJfGf4TLxXrF6RyhI60L8TMOjBMvXiTcxeA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.59.0.tgz", + "integrity": "sha512-2HRCml6OztYXyJXAvdDXPKcawukWY2GpR5/nxKp4iBgiO3wcoEGkAaqctIbZcNB6KlUQBIqt8VYkNSj2397EfA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@socket.io/component-emitter": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.2.tgz", + "integrity": "sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==", + "license": "MIT" + }, + "node_modules/@types/cors": { + "version": "2.8.19", + "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.19.tgz", + "integrity": "sha512-mFNylyeyqN93lfe/9CSxOGREz8cpzAhH+E93xJ4xWQf62V8sQ/24reV2nyzUWM6H6Xji+GGHpkbLe7pVoUEskg==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "25.3.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-25.3.2.tgz", + "integrity": "sha512-RpV6r/ij22zRRdyBPcxDeKAzH43phWVKEjL2iksqo1Vz3CuBUrgmPpPhALKiRfU7OMCmeeO9vECBMsV0hMTG8Q==", + "license": "MIT", + "dependencies": { + "undici-types": "~7.18.0" + } + }, + "node_modules/@types/resolve": { + "version": "1.20.2", + "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.2.tgz", + "integrity": "sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/@zeit/schemas": { + "version": "2.36.0", + "resolved": "https://registry.npmjs.org/@zeit/schemas/-/schemas-2.36.0.tgz", + "integrity": "sha512-7kjMwcChYEzMKjeex9ZFXkt1AyNov9R5HZtjBKVsmVpw7pa7ZtlCGvCBC2vnnXctaYN+aRI61HjIqeetZW5ROg==", + "license": "MIT" + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "license": "MIT", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/accepts/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/accepts/node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/accepts/node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", + "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/ansi-align": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", + "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", + "license": "ISC", + "dependencies": { + "string-width": "^4.1.0" + } + }, + "node_modules/ansi-align/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-align/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/ansi-align/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-align/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-regex": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", + "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/arch": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", + "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "license": "MIT" + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true, + "license": "Python-2.0" + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "license": "MIT" + }, + "node_modules/base64id": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", + "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==", + "license": "MIT", + "engines": { + "node": "^4.5.0 || >= 5.9" + } + }, + "node_modules/boxen": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-7.0.0.tgz", + "integrity": "sha512-j//dBVuyacJbvW+tvZ9HuH03fZ46QcaKvvhZickZqtB271DxJ7SNRSNxrV/dZX0085m7hISRZWbzWlJvx/rHSg==", + "license": "MIT", + "dependencies": { + "ansi-align": "^3.0.1", + "camelcase": "^7.0.0", + "chalk": "^5.0.1", + "cli-boxes": "^3.0.0", + "string-width": "^5.1.2", + "type-fest": "^2.13.0", + "widest-line": "^4.0.1", + "wrap-ansi": "^8.0.1" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/boxen/node_modules/chalk": { + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz", + "integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==", + "license": "MIT", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-7.0.1.tgz", + "integrity": "sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==", + "license": "MIT", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chalk-template": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/chalk-template/-/chalk-template-0.4.0.tgz", + "integrity": "sha512-/ghrgmhfY8RaSdeo43hNXxpoHAtxdbskUHjPpfqUWGttFgycUhYPGx3YZBCnUCvOa7Doivn1IZec3DEGFoMgLg==", + "license": "MIT", + "dependencies": { + "chalk": "^4.1.2" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/chalk-template?sponsor=1" + } + }, + "node_modules/cli-boxes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz", + "integrity": "sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/clipboardy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-3.0.0.tgz", + "integrity": "sha512-Su+uU5sr1jkUy1sGRpLKjKrvEOVXgSgiSInwa/qeID6aJ07yh+5NWc3h2QfjHjBnfX4LhtFcuAWKUsJ3r+fjbg==", + "license": "MIT", + "dependencies": { + "arch": "^2.2.0", + "execa": "^5.1.1", + "is-wsl": "^2.2.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", + "dev": true, + "license": "MIT" + }, + "node_modules/compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "license": "MIT", + "dependencies": { + "mime-db": ">= 1.43.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/compression": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.8.1.tgz", + "integrity": "sha512-9mAqGPHLakhCLeNyxPkK4xVo746zQ/czLH1Ky+vkitMnWfWZps8r0qXuwhwizagCRttsL4lfG4pIOvaWLpAP0w==", + "license": "MIT", + "dependencies": { + "bytes": "3.1.2", + "compressible": "~2.0.18", + "debug": "2.6.9", + "negotiator": "~0.6.4", + "on-headers": "~1.1.0", + "safe-buffer": "5.2.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/compression/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/compression/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "license": "MIT" + }, + "node_modules/content-disposition": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", + "integrity": "sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", + "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cors": { + "version": "2.8.6", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.6.tgz", + "integrity": "sha512-tJtZBBHA6vjIAaF6EnIaq6laBBP9aq/Y3ouVJjEfoHbRBcHBAHYcMh/w8LDrk2PvIMMq8gmopa5D4V8RmbrxGw==", + "license": "MIT", + "dependencies": { + "object-assign": "^4", + "vary": "^1" + }, + "engines": { + "node": ">= 0.10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/crypto-js": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.2.0.tgz", + "integrity": "sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "license": "MIT", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "license": "MIT" + }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "license": "MIT" + }, + "node_modules/engine.io": { + "version": "6.6.5", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.6.5.tgz", + "integrity": "sha512-2RZdgEbXmp5+dVbRm0P7HQUImZpICccJy7rN7Tv+SFa55pH+lxnuw6/K1ZxxBfHoYpSkHLAO92oa8O4SwFXA2A==", + "license": "MIT", + "dependencies": { + "@types/cors": "^2.8.12", + "@types/node": ">=10.0.0", + "accepts": "~1.3.4", + "base64id": "2.0.0", + "cookie": "~0.7.2", + "cors": "~2.8.5", + "debug": "~4.4.1", + "engine.io-parser": "~5.2.1", + "ws": "~8.18.3" + }, + "engines": { + "node": ">=10.2.0" + } + }, + "node_modules/engine.io-parser": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.2.3.tgz", + "integrity": "sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q==", + "license": "MIT", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "9.39.3", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.39.3.tgz", + "integrity": "sha512-VmQ+sifHUbI/IcSopBCF/HO3YiHQx/AVd3UVyYL6weuwW+HvON9VYn5l6Zl1WZzPWXPNZrSQpxwkkZ/VuvJZzg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.8.0", + "@eslint-community/regexpp": "^4.12.1", + "@eslint/config-array": "^0.21.1", + "@eslint/config-helpers": "^0.4.2", + "@eslint/core": "^0.17.0", + "@eslint/eslintrc": "^3.3.1", + "@eslint/js": "9.39.3", + "@eslint/plugin-kit": "^0.4.1", + "@humanfs/node": "^0.16.6", + "@humanwhocodes/module-importer": "^1.0.1", + "@humanwhocodes/retry": "^0.4.2", + "@types/estree": "^1.0.6", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.6", + "debug": "^4.3.2", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^8.4.0", + "eslint-visitor-keys": "^4.2.1", + "espree": "^10.4.0", + "esquery": "^1.5.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^8.0.0", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" + }, + "peerDependencies": { + "jiti": "*" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + } + } + }, + "node_modules/eslint-scope": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz", + "integrity": "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/ajv": { + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.14.0.tgz", + "integrity": "sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/eslint/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true, + "license": "MIT" + }, + "node_modules/espree": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz", + "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.15.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^4.2.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esquery": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.7.0.tgz", + "integrity": "sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "dev": true, + "license": "MIT" + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "license": "MIT" + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/file-entry-cache": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", + "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "flat-cache": "^4.0.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", + "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.4" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/flatted": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", + "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", + "dev": true, + "license": "ISC" + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/globals": { + "version": "17.3.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-17.3.0.tgz", + "integrity": "sha512-yMqGUQVVCkD4tqjOJf3TnrvaaHDMYp4VlUSObbkIiuCPe/ofdMBFIAcBbCSRFWOnos6qRiTVStDwqPLUclaxIw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "license": "Apache-2.0", + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "license": "ISC" + }, + "node_modules/is-core-module": { + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", + "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", + "dev": true, + "license": "MIT", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", + "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==", + "dev": true, + "license": "MIT" + }, + "node_modules/is-port-reachable": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-port-reachable/-/is-port-reachable-4.0.0.tgz", + "integrity": "sha512-9UoipoxYmSk6Xy7QFgRv2HDyaysmgSG75TFQs6S+3pDM7ZhKTF/bskZV+0UlABHzKjNVhPjYCLfeZUEg1wXxig==", + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-reference": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.2.1.tgz", + "integrity": "sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "*" + } + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "license": "MIT", + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "license": "ISC" + }, + "node_modules/js-yaml": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", + "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "license": "MIT" + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/magic-string": { + "version": "0.30.21", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", + "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.5" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "license": "MIT" + }, + "node_modules/mime-db": { + "version": "1.54.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz", + "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.18", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", + "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", + "license": "MIT", + "dependencies": { + "mime-db": "~1.33.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types/node_modules/mime-db": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", + "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/minimatch": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", + "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true, + "license": "MIT" + }, + "node_modules/negotiator": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.4.tgz", + "integrity": "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "license": "MIT", + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/on-headers": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.1.0.tgz", + "integrity": "sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "license": "MIT", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/optionator": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==", + "license": "(WTFPL OR MIT)" + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true, + "license": "MIT" + }, + "node_modules/path-to-regexp": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-3.3.0.tgz", + "integrity": "sha512-qyCH421YQPS2WFDxDjftfc1ZR5WKQzVzqsp4n9M2kQhVOo/ByahFoUNJfl58kOcEGfQ//7weFTDhm+ss8Ecxgw==", + "license": "MIT" + }, + "node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/range-parser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", + "integrity": "sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", + "dependencies": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "bin": { + "rc": "cli.js" + } + }, + "node_modules/rc/node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/registry-auth-token": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.2.tgz", + "integrity": "sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==", + "license": "MIT", + "dependencies": { + "rc": "^1.1.6", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/registry-url": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz", + "integrity": "sha512-ZbgR5aZEdf4UKZVBPYIgaglBmSF2Hi94s2PcIHhRGFjKYu+chjJdYfHn4rt3hB6eCKLJ8giVIIfgMa1ehDfZKA==", + "license": "MIT", + "dependencies": { + "rc": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve": { + "version": "1.22.11", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz", + "integrity": "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-core-module": "^2.16.1", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/rollup": { + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.59.0.tgz", + "integrity": "sha512-2oMpl67a3zCH9H79LeMcbDhXW/UmWG/y2zuqnF2jQq5uq9TbM9TVyXvA4+t+ne2IIkBdrLpAaRQAvo7YI/Yyeg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.8" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.59.0", + "@rollup/rollup-android-arm64": "4.59.0", + "@rollup/rollup-darwin-arm64": "4.59.0", + "@rollup/rollup-darwin-x64": "4.59.0", + "@rollup/rollup-freebsd-arm64": "4.59.0", + "@rollup/rollup-freebsd-x64": "4.59.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.59.0", + "@rollup/rollup-linux-arm-musleabihf": "4.59.0", + "@rollup/rollup-linux-arm64-gnu": "4.59.0", + "@rollup/rollup-linux-arm64-musl": "4.59.0", + "@rollup/rollup-linux-loong64-gnu": "4.59.0", + "@rollup/rollup-linux-loong64-musl": "4.59.0", + "@rollup/rollup-linux-ppc64-gnu": "4.59.0", + "@rollup/rollup-linux-ppc64-musl": "4.59.0", + "@rollup/rollup-linux-riscv64-gnu": "4.59.0", + "@rollup/rollup-linux-riscv64-musl": "4.59.0", + "@rollup/rollup-linux-s390x-gnu": "4.59.0", + "@rollup/rollup-linux-x64-gnu": "4.59.0", + "@rollup/rollup-linux-x64-musl": "4.59.0", + "@rollup/rollup-openbsd-x64": "4.59.0", + "@rollup/rollup-openharmony-arm64": "4.59.0", + "@rollup/rollup-win32-arm64-msvc": "4.59.0", + "@rollup/rollup-win32-ia32-msvc": "4.59.0", + "@rollup/rollup-win32-x64-gnu": "4.59.0", + "@rollup/rollup-win32-x64-msvc": "4.59.0", + "fsevents": "~2.3.2" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/serve": { + "version": "14.2.5", + "resolved": "https://registry.npmjs.org/serve/-/serve-14.2.5.tgz", + "integrity": "sha512-Qn/qMkzCcMFVPb60E/hQy+iRLpiU8PamOfOSYoAHmmF+fFFmpPpqa6Oci2iWYpTdOUM3VF+TINud7CfbQnsZbA==", + "license": "MIT", + "dependencies": { + "@zeit/schemas": "2.36.0", + "ajv": "8.12.0", + "arg": "5.0.2", + "boxen": "7.0.0", + "chalk": "5.0.1", + "chalk-template": "0.4.0", + "clipboardy": "3.0.0", + "compression": "1.8.1", + "is-port-reachable": "4.0.0", + "serve-handler": "6.1.6", + "update-check": "1.5.4" + }, + "bin": { + "serve": "build/main.js" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/serve-handler": { + "version": "6.1.6", + "resolved": "https://registry.npmjs.org/serve-handler/-/serve-handler-6.1.6.tgz", + "integrity": "sha512-x5RL9Y2p5+Sh3D38Fh9i/iQ5ZK+e4xuXRd/pGbM4D13tgo/MGwbttUk8emytcr1YYzBYs+apnUngBDFYfpjPuQ==", + "license": "MIT", + "dependencies": { + "bytes": "3.0.0", + "content-disposition": "0.5.2", + "mime-types": "2.1.18", + "minimatch": "3.1.2", + "path-is-inside": "1.0.2", + "path-to-regexp": "3.3.0", + "range-parser": "1.2.0" + } + }, + "node_modules/serve-handler/node_modules/bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/serve/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/serve/node_modules/chalk": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.0.1.tgz", + "integrity": "sha512-Fo07WOYGqMfCWHOzSXOt2CxDbC6skS/jO9ynEcmpANMoPrD+W1r1K6Vx7iNm+AQmETU1Xr2t+n8nzkV9t6xh3w==", + "license": "MIT", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "license": "ISC" + }, + "node_modules/socket.io": { + "version": "4.8.3", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.8.3.tgz", + "integrity": "sha512-2Dd78bqzzjE6KPkD5fHZmDAKRNe3J15q+YHDrIsy9WEkqttc7GY+kT9OBLSMaPbQaEd0x1BjcmtMtXkfpc+T5A==", + "license": "MIT", + "dependencies": { + "accepts": "~1.3.4", + "base64id": "~2.0.0", + "cors": "~2.8.5", + "debug": "~4.4.1", + "engine.io": "~6.6.0", + "socket.io-adapter": "~2.5.2", + "socket.io-parser": "~4.2.4" + }, + "engines": { + "node": ">=10.2.0" + } + }, + "node_modules/socket.io-adapter": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.5.6.tgz", + "integrity": "sha512-DkkO/dz7MGln0dHn5bmN3pPy+JmywNICWrJqVWiVOyvXjWQFIv9c2h24JrQLLFJ2aQVQf/Cvl1vblnd4r2apLQ==", + "license": "MIT", + "dependencies": { + "debug": "~4.4.1", + "ws": "~8.18.3" + } + }, + "node_modules/socket.io-parser": { + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.5.tgz", + "integrity": "sha512-bPMmpy/5WWKHea5Y/jYAP6k74A+hvmRCQaJuJB6I/ML5JZq/KfNieUVo/3Mh7SAqn7TyFdIo6wqYHInG1MU1bQ==", + "license": "MIT", + "dependencies": { + "@socket.io/component-emitter": "~3.1.0", + "debug": "~4.4.1" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/strip-ansi": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz", + "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.2.2" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-fest": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", + "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/uglify-js": { + "version": "3.19.3", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.19.3.tgz", + "integrity": "sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==", + "dev": true, + "license": "BSD-2-Clause", + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/undici-types": { + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.18.2.tgz", + "integrity": "sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==", + "license": "MIT" + }, + "node_modules/update-check": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/update-check/-/update-check-1.5.4.tgz", + "integrity": "sha512-5YHsflzHP4t1G+8WGPlvKbJEbAJGCgw+Em+dGR1KmBUbr1J36SJBqlHLjR7oob7sco5hWHGQVcr9B2poIVDDTQ==", + "license": "MIT", + "dependencies": { + "registry-auth-token": "3.3.2", + "registry-url": "3.1.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/widest-line": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-4.0.1.tgz", + "integrity": "sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==", + "license": "MIT", + "dependencies": { + "string-width": "^5.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", + "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/ws": { + "version": "8.18.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz", + "integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==", + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + } +} diff --git a/package.json b/package.json index fa059a5..904c3ec 100644 --- a/package.json +++ b/package.json @@ -1,10 +1,14 @@ { "name": "cryptalk", - "version": "1.2.9", + "version": "1.3.3", "description": "Encrypted HTML5/Node.JS instant chat", "main": "server/server.js", + "type": "module", "preferGlobal": true, "private": false, + "engines": { + "node": ">=22.0.0" + }, "scripts": { "test": "echo \"No tests written yet\" && exit 0", "build": "npm update && npm outdated && npm run test:lint && npx rollup -c rollup.config.js && npm run build:minify && npm run build:cleanup", @@ -25,34 +29,43 @@ "privacy", "e2ee" ], - "author": "Hexagon ", + "author": "runbgp ", "contributors": [ { "name": "Pehr Boman", "email": "unkelpehr@gmail.com" + }, + { + "name": "runbgp", + "email": "runbgp@ix0.io" } ], "license": "MIT", "repository": { "type": "git", - "url": "git://github.com/Hexagon/cryptalk.git" + "url": "git://github.com/runbgp/cryptalk.git" }, "bin": "./server/server.js", "dependencies": { - "serve": "^13.0.2", - "socket.io": "^4.3.1" + "serve": "^14.2.4", + "socket.io": "^4.8.1" }, "os": [ "darwin", "linux", "win32" ], + "overrides": { + "minimatch": "^3.1.4" + }, "devDependencies": { - "@rollup/plugin-commonjs": "^21.0.1", - "@rollup/plugin-node-resolve": "^13.0.6", - "crypto-js": "^4.1.1", - "eslint": "^8.1.0", - "rollup": "^2.59.0", - "uglify-js": "^3.14.3" + "@eslint/js": "^9.22.0", + "@rollup/plugin-commonjs": "^28.0.3", + "@rollup/plugin-node-resolve": "^16.0.0", + "crypto-js": "^4.2.0", + "eslint": "^9.22.0", + "globals": "^17.0.0", + "rollup": "^4.35.0", + "uglify-js": "^3.19.3" } } diff --git a/pm2.json b/pm2.json deleted file mode 100644 index bde7503..0000000 --- a/pm2.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "name": "cryptalk", - "script": "server/server.js", - "instances": "1", - "env": { - "NODE_ENV": "development" - }, - "env_production" : { - "NODE_ENV": "production" - } -} diff --git a/rollup.config.js b/rollup.config.js index 6052438..b2b5cee 100644 --- a/rollup.config.js +++ b/rollup.config.js @@ -1,7 +1,7 @@ import { nodeResolve } from '@rollup/plugin-node-resolve'; import commonjs from '@rollup/plugin-commonjs'; -module.exports = { +export default { input: 'client/source/cryptalk.js', output: { file: 'client/public/js/cryptalk.js', diff --git a/screenshot.png b/screenshot.png index 8fd05a5..38c4747 100644 Binary files a/screenshot.png and b/screenshot.png differ diff --git a/server/server.js b/server/server.js index 8e62c3d..1fbf2c4 100644 --- a/server/server.js +++ b/server/server.js @@ -1,23 +1,26 @@ #!/usr/bin/env node -const - handler = require('serve-handler'), - port = process.env.PORT || 8080, - path = require('path'); +import handler from 'serve-handler'; +import { createServer } from 'http'; +import { Server } from 'socket.io'; +import path from 'path'; +import { fileURLToPath } from 'url'; -let - server, - io; +const port = process.env.PORT || 8080; +const __filename = fileURLToPath(import.meta.url); +const __dirname = path.dirname(__filename); + +let server, io; // Create http server, handle files.assets -server = require('http').createServer(function (req, res) { +server = createServer(function (req, res) { return handler(req, res, { public: path.resolve(__dirname, '../client/public') }); }); // Append socket.io to http server -io = require('socket.io')(server), +io = new Server(server); // Listen to port env:PORT or 8080 server.listen(port, function(){