diff --git a/app/Console/Commands/CreateSingleAccount.php b/app/Console/Commands/CreateSingleAccount.php index 5a18fdd66277..d31fe065f21a 100644 --- a/app/Console/Commands/CreateSingleAccount.php +++ b/app/Console/Commands/CreateSingleAccount.php @@ -54,6 +54,7 @@ use Database\Factories\BankTransactionRuleFactory; use Faker\Factory; use Illuminate\Console\Command; use Illuminate\Support\Facades\Cache; +use Illuminate\Support\Facades\Hash; use Illuminate\Support\Facades\Schema; use Illuminate\Support\Str; use stdClass; @@ -203,6 +204,22 @@ class CreateSingleAccount extends Command 'applies_to' => (bool)rand(0,1) ? 'CREDIT' : 'DEBIT', ]); + $client = Client::factory()->create([ + 'user_id' => $user->id, + 'company_id' => $company->id, + 'name' => 'cypress' + ]); + + ClientContact::factory()->create([ + 'user_id' => $user->id, + 'client_id' => $client->id, + 'company_id' => $company->id, + 'is_primary' => 1, + 'email' => 'cypress@example.com', + 'password' => Hash::make('password'), + ]); + + $this->info('Creating '.$this->count.' clients'); for ($x = 0; $x < $this->count; $x++) { @@ -356,7 +373,7 @@ class CreateSingleAccount extends Command 'client_id' => $client->id, 'company_id' => $company->id, 'is_primary' => 1, - 'email' => 'user@example.com' + 'email' => 'user@example.com', ]); ClientContact::factory()->count(rand(1, 2))->create([ diff --git a/composer.json b/composer.json index 9f9c9e96f72c..ea5afee82514 100644 --- a/composer.json +++ b/composer.json @@ -101,6 +101,7 @@ "darkaonline/l5-swagger": "8.1.0", "fakerphp/faker": "^1.14", "filp/whoops": "^2.7", + "laracasts/cypress": "^3.0", "laravel/dusk": "^6.15", "mockery/mockery": "^1.4.4", "nunomaduro/collision": "^6.1", diff --git a/composer.lock b/composer.lock index 55164862fdce..42a80734cadb 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "451d3dbdd5b0a87940e0f8fffadab4ae", + "content-hash": "fee0057b8444e2a245cea87dab6c1b3a", "packages": [ { "name": "afosto/yaac", @@ -13859,6 +13859,65 @@ }, "time": "2020-07-09T08:09:16+00:00" }, + { + "name": "laracasts/cypress", + "version": "3.0.0", + "source": { + "type": "git", + "url": "https://github.com/laracasts/cypress.git", + "reference": "9a9e5d25a51d2cbb410393e6a0d9883aa3304bf5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laracasts/cypress/zipball/9a9e5d25a51d2cbb410393e6a0d9883aa3304bf5", + "reference": "9a9e5d25a51d2cbb410393e6a0d9883aa3304bf5", + "shasum": "" + }, + "require": { + "illuminate/support": "^6.0|^7.0|^8.0|^9.0", + "php": "^8.0" + }, + "require-dev": { + "orchestra/testbench": "^6.0|^7.0", + "phpunit/phpunit": "^8.0|^9.5.10", + "spatie/laravel-ray": "^1.29" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Laracasts\\Cypress\\CypressServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "Laracasts\\Cypress\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jeffrey Way", + "email": "jeffrey@laracasts.com", + "role": "Developer" + } + ], + "description": "Laravel Cypress Boilerplate", + "homepage": "https://github.com/laracasts/cypress", + "keywords": [ + "cypress", + "laracasts" + ], + "support": { + "issues": "https://github.com/laracasts/cypress/issues", + "source": "https://github.com/laracasts/cypress/tree/3.0.0" + }, + "time": "2022-06-27T13:49:35+00:00" + }, { "name": "laravel/dusk", "version": "v6.25.2", diff --git a/cypress.config.js b/cypress.config.js new file mode 100644 index 000000000000..38502ba0d042 --- /dev/null +++ b/cypress.config.js @@ -0,0 +1,19 @@ +const { defineConfig } = require('cypress') + +module.exports = defineConfig({ + chromeWebSecurity: false, + retries: 2, + defaultCommandTimeout: 5000, + watchForFileChanges: false, + videosFolder: 'tests/cypress/videos', + screenshotsFolder: 'tests/cypress/screenshots', + fixturesFolder: 'tests/cypress/fixture', + e2e: { + setupNodeEvents(on, config) { + return require('./tests/cypress/plugins/index.js')(on, config) + }, + baseUrl: 'http://ninja.test:8000/', + specPattern: 'tests/cypress/integration/**/*.cy.{js,jsx,ts,tsx}', + supportFile: 'tests/cypress/support/index.js', + }, +}) diff --git a/database/seeders/RandomDataSeeder.php b/database/seeders/RandomDataSeeder.php index 0571c5d39c4a..0659acb5eee6 100644 --- a/database/seeders/RandomDataSeeder.php +++ b/database/seeders/RandomDataSeeder.php @@ -118,67 +118,23 @@ class RandomDataSeeder extends Seeder 'settings' => null, ]); - $u2 = User::where('email', 'demo@invoiceninja.com')->first(); - - if (! $u2) { - $u2 = User::factory()->create([ - 'email' => 'demo@invoiceninja.com', - 'password' => Hash::make('demo'), - 'account_id' => $account->id, - 'confirmation_code' => $this->createDbHash(config('database.default')), - ]); - - $company_token = CompanyToken::create([ - 'user_id' => $u2->id, - 'company_id' => $company->id, - 'account_id' => $account->id, - 'name' => 'test token', - 'token' => 'TOKEN', - ]); - - $u2->companies()->attach($company->id, [ - 'account_id' => $account->id, - 'is_owner' => 1, - 'is_admin' => 1, - 'is_locked' => 0, - 'notifications' => CompanySettings::notificationDefaults(), - 'permissions' => '', - 'settings' => null, - ]); - } - $client = Client::factory()->create([ - 'user_id' => $user->id, - 'company_id' => $company->id, - ]); - - ClientContact::create([ - 'first_name' => $faker->firstName(), - 'last_name' => $faker->lastName(), - 'email' => config('ninja.testvars.username'), - 'company_id' => $company->id, - 'password' => Hash::make(config('ninja.testvars.password')), - 'email_verified_at' => now(), - 'client_id' =>$client->id, - 'user_id' => $user->id, - 'is_primary' => true, - 'contact_key' => \Illuminate\Support\Str::random(40), - ]); - - Client::factory()->create(['user_id' => $user->id, 'company_id' => $company->id])->each(function ($c) use ($user, $company) { - ClientContact::factory()->create([ 'user_id' => $user->id, - 'client_id' => $c->id, 'company_id' => $company->id, - 'is_primary' => 1, + 'name' => 'cypress' ]); - ClientContact::factory()->count(5)->create([ - 'user_id' => $user->id, - 'client_id' => $c->id, - 'company_id' => $company->id, - ]); - }); + $client->number = $client->getNextClientNumber($client); + $client->save(); + + ClientContact::factory()->create([ + 'user_id' => $user->id, + 'client_id' => $client->id, + 'company_id' => $company->id, + 'is_primary' => 1, + 'email' => 'cypress@example.com', + 'password' => Hash::make('password'), + ]); /* Product Factory */ Product::factory()->count(2)->create(['user_id' => $user->id, 'company_id' => $company->id]); @@ -200,8 +156,6 @@ class RandomDataSeeder extends Seeder $invoice = $invoice_calc->build()->getInvoice(); - $invoice->save(); - $invoice->service()->createInvitations()->markSent()->save(); $invoice->ledger()->updateInvoiceBalance($invoice->balance); @@ -220,16 +174,16 @@ class RandomDataSeeder extends Seeder $payment->invoices()->save($invoice); - $payment_hash = new PaymentHash; - $payment_hash->hash = Str::random(128); - $payment_hash->data = [['invoice_id' => $invoice->hashed_id, 'amount' => $invoice->balance]]; - $payment_hash->fee_total = 0; - $payment_hash->fee_invoice_id = $invoice->id; - $payment_hash->save(); + // $payment_hash = new PaymentHash; + // $payment_hash->hash = Str::random(128); + // $payment_hash->data = [['invoice_id' => $invoice->hashed_id, 'amount' => $invoice->balance]]; + // $payment_hash->fee_total = 0; + // $payment_hash->fee_invoice_id = $invoice->id; + // $payment_hash->save(); event(new PaymentWasCreated($payment, $payment->company, Ninja::eventVars())); - $payment->service()->updateInvoicePayment($payment_hash); + // $payment->service()->updateInvoicePayment($payment_hash); // UpdateInvoicePayment::dispatchNow($payment, $payment->company); } @@ -256,7 +210,6 @@ class RandomDataSeeder extends Seeder $credit->service()->createInvitations()->markSent()->save(); - //$invoice->markSent()->save(); }); /* Recurring Invoice Factory */ @@ -286,14 +239,6 @@ class RandomDataSeeder extends Seeder //$invoice->markSent()->save(); }); - $clients = Client::all(); - - foreach ($clients as $client) { - //$client->getNextClientNumber($client); - $client->number = $client->getNextClientNumber($client); - $client->save(); - } - GroupSetting::create([ 'company_id' => $company->id, 'user_id' => $user->id, diff --git a/package-lock.json b/package-lock.json index 1497d94f6026..d405d23ff917 100644 --- a/package-lock.json +++ b/package-lock.json @@ -28,6 +28,7 @@ "@babel/compat-data": "7.15.0", "@babel/plugin-proposal-class-properties": "^7.14.5", "@tailwindcss/aspect-ratio": "^0.4.2", + "cypress": "^12.3.0", "laravel-mix-purgecss": "^6.0.0", "vue-template-compiler": "^2.6.14" } @@ -1567,6 +1568,54 @@ "node": ">=0.1.90" } }, + "node_modules/@cypress/request": { + "version": "2.88.11", + "resolved": "https://registry.npmjs.org/@cypress/request/-/request-2.88.11.tgz", + "integrity": "sha512-M83/wfQ1EkspjkE2lNWNV5ui2Cv7UCv1swW1DqljahbzLVWltcsexQh8jYtuS/vzFXP+HySntGM83ZXA9fn17w==", + "dev": true, + "dependencies": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "http-signature": "~1.3.6", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "performance-now": "^2.1.0", + "qs": "~6.10.3", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^8.3.2" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@cypress/xvfb": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@cypress/xvfb/-/xvfb-1.2.4.tgz", + "integrity": "sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q==", + "dev": true, + "dependencies": { + "debug": "^3.1.0", + "lodash.once": "^4.1.1" + } + }, + "node_modules/@cypress/xvfb/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, "node_modules/@discoveryjs/json-ext": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", @@ -1960,6 +2009,18 @@ "@types/node": "*" } }, + "node_modules/@types/sinonjs__fake-timers": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.1.tgz", + "integrity": "sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g==", + "dev": true + }, + "node_modules/@types/sizzle": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.3.tgz", + "integrity": "sha512-JYM8x9EGF163bEyhdJBpR2QX1R5naCJHC8ucJylJ3w9/CVBaskdQ8WqBf8MmQrd1kRvp/a4TS8HJ+bxzR7ZJYQ==", + "dev": true + }, "node_modules/@types/sockjs": { "version": "0.3.33", "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.33.tgz", @@ -1981,6 +2042,16 @@ "@types/node": "*" } }, + "node_modules/@types/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==", + "dev": true, + "optional": true, + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@webassemblyjs/ast": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", @@ -2208,6 +2279,19 @@ "node": ">=8.9" } }, + "node_modules/aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dev": true, + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/ajv": { "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", @@ -2267,6 +2351,42 @@ "ajv": "^6.9.1" } }, + "node_modules/ansi-colors": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-escapes/node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/ansi-html-community": { "version": "0.0.8", "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", @@ -2309,6 +2429,26 @@ "node": ">= 8" } }, + "node_modules/arch": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", + "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", + "dev": true, + "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": "5.0.2", "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", @@ -2327,6 +2467,15 @@ "node": ">=8" } }, + "node_modules/asn1": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", + "dev": true, + "dependencies": { + "safer-buffer": "~2.1.0" + } + }, "node_modules/asn1.js": { "version": "5.4.1", "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", @@ -2352,6 +2501,15 @@ "util": "0.10.3" } }, + "node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, "node_modules/assert/node_modules/inherits": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", @@ -2365,6 +2523,36 @@ "inherits": "2.0.1" } }, + "node_modules/astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/async": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", + "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==", + "dev": true + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "dev": true + }, + "node_modules/at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, "node_modules/autoprefixer": { "version": "10.4.7", "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.7.tgz", @@ -2397,6 +2585,21 @@ "postcss": "^8.1.0" } }, + "node_modules/aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/aws4": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz", + "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==", + "dev": true + }, "node_modules/axios": { "version": "0.25.0", "resolved": "https://registry.npmjs.org/axios/-/axios-0.25.0.tgz", @@ -2496,6 +2699,15 @@ "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==" }, + "node_modules/bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", + "dev": true, + "dependencies": { + "tweetnacl": "^0.14.3" + } + }, "node_modules/big.js": { "version": "5.2.2", "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", @@ -2512,6 +2724,18 @@ "node": ">=8" } }, + "node_modules/blob-util": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/blob-util/-/blob-util-2.0.2.tgz", + "integrity": "sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ==", + "dev": true + }, + "node_modules/bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true + }, "node_modules/bn.js": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", @@ -2731,6 +2955,15 @@ "isarray": "^1.0.0" } }, + "node_modules/buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "dev": true, + "engines": { + "node": "*" + } + }, "node_modules/buffer-from": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", @@ -2754,6 +2987,15 @@ "node": ">= 0.8" } }, + "node_modules/cachedir": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cachedir/-/cachedir-2.3.0.tgz", + "integrity": "sha512-A+Fezp4zxnit6FanDmv9EqXNAi3vt9DWp51/71UEhXukb7QUuvtv9344h91dyAxuTLoSYJFU299qzR3tzwPAhw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, "node_modules/call-bind": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", @@ -2830,6 +3072,12 @@ "credit-card-type": "^9.1.0" } }, + "node_modules/caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==", + "dev": true + }, "node_modules/chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", @@ -2851,6 +3099,15 @@ "node": "*" } }, + "node_modules/check-more-types": { + "version": "2.24.0", + "resolved": "https://registry.npmjs.org/check-more-types/-/check-more-types-2.24.0.tgz", + "integrity": "sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, "node_modules/chokidar": { "version": "3.5.3", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", @@ -2885,6 +3142,21 @@ "node": ">=6.0" } }, + "node_modules/ci-info": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.7.1.tgz", + "integrity": "sha512-4jYS4MOAaCIStSRwiuxc4B8MYhIe676yO1sYGzARnjXkWpmzZMMYxY6zu8WYWDhSuth5zhrQ1rhNSibyyvv4/w==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, "node_modules/cipher-base": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", @@ -2905,6 +3177,27 @@ "node": ">= 10.0" } }, + "node_modules/clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/cli-table3": { "version": "0.6.2", "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.2.tgz", @@ -2919,6 +3212,22 @@ "@colors/colors": "1.5.0" } }, + "node_modules/cli-truncate": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", + "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", + "dev": true, + "dependencies": { + "slice-ansi": "^3.0.0", + "string-width": "^4.2.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/clipboard": { "version": "2.0.11", "resolved": "https://registry.npmjs.org/clipboard/-/clipboard-2.0.11.tgz", @@ -3017,6 +3326,18 @@ "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.17.tgz", "integrity": "sha512-hJo+3Bkn0NCHybn9Tu35fIeoOKGOk5OCC32y4Hz2It+qlCO2Q3DeQ1hRn/tDDMQKRYUEzqsl7jbF6dYKjlE60g==" }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/commander": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", @@ -3025,6 +3346,15 @@ "node": ">= 10" } }, + "node_modules/common-tags": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", + "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==", + "dev": true, + "engines": { + "node": ">=4.0.0" + } + }, "node_modules/commondir": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", @@ -3575,6 +3905,282 @@ "node": ">=8.0.0" } }, + "node_modules/cypress": { + "version": "12.3.0", + "resolved": "https://registry.npmjs.org/cypress/-/cypress-12.3.0.tgz", + "integrity": "sha512-ZQNebibi6NBt51TRxRMYKeFvIiQZ01t50HSy7z/JMgRVqBUey3cdjog5MYEbzG6Ktti5ckDt1tfcC47lmFwXkw==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "@cypress/request": "^2.88.10", + "@cypress/xvfb": "^1.2.4", + "@types/node": "^14.14.31", + "@types/sinonjs__fake-timers": "8.1.1", + "@types/sizzle": "^2.3.2", + "arch": "^2.2.0", + "blob-util": "^2.0.2", + "bluebird": "^3.7.2", + "buffer": "^5.6.0", + "cachedir": "^2.3.0", + "chalk": "^4.1.0", + "check-more-types": "^2.24.0", + "cli-cursor": "^3.1.0", + "cli-table3": "~0.6.1", + "commander": "^5.1.0", + "common-tags": "^1.8.0", + "dayjs": "^1.10.4", + "debug": "^4.3.2", + "enquirer": "^2.3.6", + "eventemitter2": "6.4.7", + "execa": "4.1.0", + "executable": "^4.1.1", + "extract-zip": "2.0.1", + "figures": "^3.2.0", + "fs-extra": "^9.1.0", + "getos": "^3.2.1", + "is-ci": "^3.0.0", + "is-installed-globally": "~0.4.0", + "lazy-ass": "^1.6.0", + "listr2": "^3.8.3", + "lodash": "^4.17.21", + "log-symbols": "^4.0.0", + "minimist": "^1.2.6", + "ospath": "^1.2.2", + "pretty-bytes": "^5.6.0", + "proxy-from-env": "1.0.0", + "request-progress": "^3.0.0", + "semver": "^7.3.2", + "supports-color": "^8.1.1", + "tmp": "~0.2.1", + "untildify": "^4.0.0", + "yauzl": "^2.10.0" + }, + "bin": { + "cypress": "bin/cypress" + }, + "engines": { + "node": "^14.0.0 || ^16.0.0 || >=18.0.0" + } + }, + "node_modules/cypress/node_modules/@types/node": { + "version": "14.18.36", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.36.tgz", + "integrity": "sha512-FXKWbsJ6a1hIrRxv+FoukuHnGTgEzKYGi7kilfMae96AL9UNkPFNWJEEYWzdRI9ooIkbr4AKldyuSTLql06vLQ==", + "dev": true + }, + "node_modules/cypress/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==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/cypress/node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/cypress/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "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/cypress/node_modules/chalk/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==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cypress/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==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/cypress/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==", + "dev": true + }, + "node_modules/cypress/node_modules/commander": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", + "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/cypress/node_modules/execa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", + "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/cypress/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/cypress/node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cypress/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==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/cypress/node_modules/human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", + "dev": true, + "engines": { + "node": ">=8.12.0" + } + }, + "node_modules/cypress/node_modules/semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/cypress/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/dayjs": { + "version": "1.11.7", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.7.tgz", + "integrity": "sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ==", + "dev": true + }, "node_modules/de-indent": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz", @@ -3636,6 +4242,15 @@ "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", "integrity": "sha512-Y2caI5+ZwS5c3RiNDJ6u53VhQHv+hHKwhkI1iHvceKUHw9Df6EK2zRLfjejRgMuCuxK7PfSWIMwWecceVvThjQ==" }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/delegate": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/delegate/-/delegate-3.2.0.tgz", @@ -3850,6 +4465,16 @@ "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==" }, + "node_modules/ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", + "dev": true, + "dependencies": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, "node_modules/ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", @@ -3900,6 +4525,15 @@ "node": ">= 0.8" } }, + "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==", + "dev": true, + "dependencies": { + "once": "^1.4.0" + } + }, "node_modules/enhanced-resolve": { "version": "5.9.3", "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.9.3.tgz", @@ -3912,6 +4546,18 @@ "node": ">=10.13.0" } }, + "node_modules/enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "dev": true, + "dependencies": { + "ansi-colors": "^4.1.1" + }, + "engines": { + "node": ">=8.6" + } + }, "node_modules/entities": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", @@ -4031,6 +4677,12 @@ "node": ">= 0.6" } }, + "node_modules/eventemitter2": { + "version": "6.4.7", + "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.7.tgz", + "integrity": "sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg==", + "dev": true + }, "node_modules/eventemitter3": { "version": "4.0.7", "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", @@ -4075,6 +4727,18 @@ "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, + "node_modules/executable": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/executable/-/executable-4.1.1.tgz", + "integrity": "sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==", + "dev": true, + "dependencies": { + "pify": "^2.2.0" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/express": { "version": "4.18.1", "resolved": "https://registry.npmjs.org/express/-/express-4.18.1.tgz", @@ -4153,6 +4817,56 @@ } ] }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "node_modules/extract-zip": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", + "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "get-stream": "^5.1.0", + "yauzl": "^2.10.0" + }, + "bin": { + "extract-zip": "cli.js" + }, + "engines": { + "node": ">= 10.17.0" + }, + "optionalDependencies": { + "@types/yauzl": "^2.9.1" + } + }, + "node_modules/extract-zip/node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", + "dev": true, + "engines": [ + "node >=0.6.0" + ] + }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -4202,6 +4916,30 @@ "node": ">=0.8.0" } }, + "node_modules/fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", + "dev": true, + "dependencies": { + "pend": "~1.2.0" + } + }, + "node_modules/figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/file-loader": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", @@ -4334,6 +5072,29 @@ } } }, + "node_modules/forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dev": true, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 0.12" + } + }, "node_modules/forwarded": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", @@ -4443,6 +5204,24 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/getos": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/getos/-/getos-3.2.1.tgz", + "integrity": "sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q==", + "dev": true, + "dependencies": { + "async": "^3.2.0" + } + }, + "node_modules/getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0" + } + }, "node_modules/glob": { "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", @@ -4478,6 +5257,21 @@ "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" }, + "node_modules/global-dirs": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz", + "integrity": "sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==", + "dev": true, + "dependencies": { + "ini": "2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/globals": { "version": "11.12.0", "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", @@ -4857,6 +5651,20 @@ } } }, + "node_modules/http-signature": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.3.6.tgz", + "integrity": "sha512-3adrsD6zqo4GsTqtO7FyrejHNv+NgiIfAfv68+jVlFmSr9OGy7zrxONceFRLKvnnZA5jbxQBX1u9PpB6Wi32Gw==", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0", + "jsprim": "^2.0.2", + "sshpk": "^1.14.1" + }, + "engines": { + "node": ">=0.10" + } + }, "node_modules/https-browserify": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", @@ -5012,6 +5820,15 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -5026,6 +5843,15 @@ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, + "node_modules/ini": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", + "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, "node_modules/interpret": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz", @@ -5063,6 +5889,18 @@ "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" }, + "node_modules/is-ci": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz", + "integrity": "sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==", + "dev": true, + "dependencies": { + "ci-info": "^3.2.0" + }, + "bin": { + "is-ci": "bin.js" + } + }, "node_modules/is-color-stop": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz", @@ -5128,6 +5966,22 @@ "node": ">=0.10.0" } }, + "node_modules/is-installed-globally": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz", + "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==", + "dev": true, + "dependencies": { + "global-dirs": "^3.0.0", + "is-path-inside": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", @@ -5136,6 +5990,15 @@ "node": ">=0.12.0" } }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/is-plain-obj": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", @@ -5169,6 +6032,24 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", + "dev": true + }, + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "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", @@ -5198,6 +6079,12 @@ "node": ">=0.10.0" } }, + "node_modules/isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==", + "dev": true + }, "node_modules/jest-worker": { "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", @@ -5238,6 +6125,12 @@ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, + "node_modules/jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==", + "dev": true + }, "node_modules/jsesc": { "version": "2.5.2", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", @@ -5264,11 +6157,23 @@ "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" }, + "node_modules/json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", + "dev": true + }, "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-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", + "dev": true + }, "node_modules/json5": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", @@ -5291,6 +6196,21 @@ "graceful-fs": "^4.1.6" } }, + "node_modules/jsprim": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-2.0.2.tgz", + "integrity": "sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==", + "dev": true, + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.4.0", + "verror": "1.10.0" + } + }, "node_modules/junk": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/junk/-/junk-3.1.0.tgz", @@ -5482,6 +6402,15 @@ "node": ">=8" } }, + "node_modules/lazy-ass": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/lazy-ass/-/lazy-ass-1.6.0.tgz", + "integrity": "sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw==", + "dev": true, + "engines": { + "node": "> 0.8" + } + }, "node_modules/lilconfig": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.5.tgz", @@ -5509,6 +6438,33 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/listr2": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-3.14.0.tgz", + "integrity": "sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==", + "dev": true, + "dependencies": { + "cli-truncate": "^2.1.0", + "colorette": "^2.0.16", + "log-update": "^4.0.0", + "p-map": "^4.0.0", + "rfdc": "^1.3.0", + "rxjs": "^7.5.1", + "through": "^2.3.8", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "enquirer": ">= 2.3.0 < 3" + }, + "peerDependenciesMeta": { + "enquirer": { + "optional": true + } + } + }, "node_modules/loader-runner": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", @@ -5556,6 +6512,12 @@ "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==" }, + "node_modules/lodash.once": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", + "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==", + "dev": true + }, "node_modules/lodash.topath": { "version": "4.5.2", "resolved": "https://registry.npmjs.org/lodash.topath/-/lodash.topath-4.5.2.tgz", @@ -5566,6 +6528,174 @@ "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==" }, + "node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-symbols/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==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/log-symbols/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "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/log-symbols/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==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/log-symbols/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==", + "dev": true + }, + "node_modules/log-symbols/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==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/log-symbols/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==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/log-update": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz", + "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==", + "dev": true, + "dependencies": { + "ansi-escapes": "^4.3.0", + "cli-cursor": "^3.1.0", + "slice-ansi": "^4.0.0", + "wrap-ansi": "^6.2.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/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==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/log-update/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==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/log-update/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==", + "dev": true + }, + "node_modules/log-update/node_modules/slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/log-update/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/lower-case": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", @@ -6111,6 +7241,12 @@ "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", "integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==" }, + "node_modules/ospath": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/ospath/-/ospath-1.2.2.tgz", + "integrity": "sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA==", + "dev": true + }, "node_modules/p-limit": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", @@ -6136,6 +7272,21 @@ "node": ">=8" } }, + "node_modules/p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dev": true, + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/p-pipe": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/p-pipe/-/p-pipe-3.1.0.tgz", @@ -6300,6 +7451,18 @@ "node": ">=0.12" } }, + "node_modules/pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", + "dev": true + }, + "node_modules/performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", + "dev": true + }, "node_modules/picocolors": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", @@ -6316,6 +7479,15 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/pkg-dir": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", @@ -6909,6 +8081,18 @@ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" }, + "node_modules/pretty-bytes": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", + "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", + "dev": true, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/pretty-hrtime": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", @@ -6958,6 +8142,18 @@ "node": ">= 0.10" } }, + "node_modules/proxy-from-env": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz", + "integrity": "sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A==", + "dev": true + }, + "node_modules/psl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", + "dev": true + }, "node_modules/public-encrypt": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", @@ -6976,6 +8172,16 @@ "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" }, + "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==", + "dev": true, + "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", @@ -7253,6 +8459,15 @@ "node": ">= 0.10" } }, + "node_modules/request-progress": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/request-progress/-/request-progress-3.0.0.tgz", + "integrity": "sha512-MnWzEHHaxHO2iWiQuHrUPBi/1WeBf5PkxQqNyNvLl9VAYSdXkP8tQ3pBSeCPD+yw0v0Aq1zosWLz0BdeXpWwZg==", + "dev": true, + "dependencies": { + "throttleit": "^1.0.0" + } + }, "node_modules/require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", @@ -7365,6 +8580,19 @@ "url": "https://opencollective.com/postcss/" } }, + "node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/retry": { "version": "0.13.1", "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", @@ -7382,6 +8610,12 @@ "node": ">=0.10.0" } }, + "node_modules/rfdc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz", + "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==", + "dev": true + }, "node_modules/rgb-regex": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz", @@ -7437,6 +8671,15 @@ "queue-microtask": "^1.2.2" } }, + "node_modules/rxjs": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.0.tgz", + "integrity": "sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==", + "dev": true, + "dependencies": { + "tslib": "^2.1.0" + } + }, "node_modules/safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", @@ -7775,6 +9018,53 @@ "node": ">=8" } }, + "node_modules/slice-ansi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", + "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/slice-ansi/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==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/slice-ansi/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==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/slice-ansi/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==", + "dev": true + }, "node_modules/sockjs": { "version": "0.3.24", "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", @@ -7856,6 +9146,31 @@ "node": ">= 6" } }, + "node_modules/sshpk": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", + "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", + "dev": true, + "dependencies": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + }, + "bin": { + "sshpk-conv": "bin/sshpk-conv", + "sshpk-sign": "bin/sshpk-sign", + "sshpk-verify": "bin/sshpk-verify" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/stable": { "version": "0.1.8", "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", @@ -8310,6 +9625,18 @@ "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" }, + "node_modules/throttleit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz", + "integrity": "sha512-rkTVqu6IjfQ/6+uNuuc3sZek4CEYxTJom3IktzgdSxcZqdARuebbA/f4QmAxMQIxqq9ZLEUkSYqvuk1I6VKq4g==", + "dev": true + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true + }, "node_modules/thunky": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", @@ -8374,6 +9701,28 @@ "node": ">=0.6" } }, + "node_modules/tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dev": true, + "dependencies": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/tough-cookie/node_modules/punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, "node_modules/tslib": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", @@ -8384,6 +9733,24 @@ "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=" }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "dev": true, + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==", + "dev": true + }, "node_modules/type-fest": { "version": "2.13.0", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.13.0.tgz", @@ -8459,6 +9826,15 @@ "node": ">= 0.8" } }, + "node_modules/untildify": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", + "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/uri-js": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", @@ -8531,6 +9907,26 @@ "node": ">= 0.8" } }, + "node_modules/verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", + "dev": true, + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "node_modules/verror/node_modules/core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", + "dev": true + }, "node_modules/vm-browserify": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", @@ -9184,6 +10580,16 @@ "engines": { "node": ">=12" } + }, + "node_modules/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", + "dev": true, + "dependencies": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } } }, "dependencies": { @@ -10228,6 +11634,53 @@ "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", "optional": true }, + "@cypress/request": { + "version": "2.88.11", + "resolved": "https://registry.npmjs.org/@cypress/request/-/request-2.88.11.tgz", + "integrity": "sha512-M83/wfQ1EkspjkE2lNWNV5ui2Cv7UCv1swW1DqljahbzLVWltcsexQh8jYtuS/vzFXP+HySntGM83ZXA9fn17w==", + "dev": true, + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "http-signature": "~1.3.6", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "performance-now": "^2.1.0", + "qs": "~6.10.3", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^8.3.2" + } + }, + "@cypress/xvfb": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@cypress/xvfb/-/xvfb-1.2.4.tgz", + "integrity": "sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q==", + "dev": true, + "requires": { + "debug": "^3.1.0", + "lodash.once": "^4.1.1" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, "@discoveryjs/json-ext": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", @@ -10589,6 +12042,18 @@ "@types/node": "*" } }, + "@types/sinonjs__fake-timers": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.1.tgz", + "integrity": "sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g==", + "dev": true + }, + "@types/sizzle": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.3.tgz", + "integrity": "sha512-JYM8x9EGF163bEyhdJBpR2QX1R5naCJHC8ucJylJ3w9/CVBaskdQ8WqBf8MmQrd1kRvp/a4TS8HJ+bxzR7ZJYQ==", + "dev": true + }, "@types/sockjs": { "version": "0.3.33", "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.33.tgz", @@ -10610,6 +12075,16 @@ "@types/node": "*" } }, + "@types/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==", + "dev": true, + "optional": true, + "requires": { + "@types/node": "*" + } + }, "@webassemblyjs/ast": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", @@ -10809,6 +12284,16 @@ "regex-parser": "^2.2.11" } }, + "aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dev": true, + "requires": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + } + }, "ajv": { "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", @@ -10852,6 +12337,29 @@ "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", "requires": {} }, + "ansi-colors": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", + "dev": true + }, + "ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "requires": { + "type-fest": "^0.21.3" + }, + "dependencies": { + "type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true + } + } + }, "ansi-html-community": { "version": "0.0.8", "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", @@ -10879,6 +12387,12 @@ "picomatch": "^2.0.4" } }, + "arch": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", + "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", + "dev": true + }, "arg": { "version": "5.0.2", "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", @@ -10894,6 +12408,15 @@ "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==" }, + "asn1": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", + "dev": true, + "requires": { + "safer-buffer": "~2.1.0" + } + }, "asn1.js": { "version": "5.4.1", "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", @@ -10936,6 +12459,36 @@ } } }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", + "dev": true + }, + "astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true + }, + "async": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", + "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==", + "dev": true + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "dev": true + }, + "at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "dev": true + }, "autoprefixer": { "version": "10.4.7", "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.7.tgz", @@ -10949,6 +12502,18 @@ "postcss-value-parser": "^4.2.0" } }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", + "dev": true + }, + "aws4": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz", + "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==", + "dev": true + }, "axios": { "version": "0.25.0", "resolved": "https://registry.npmjs.org/axios/-/axios-0.25.0.tgz", @@ -11018,6 +12583,15 @@ "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==" }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", + "dev": true, + "requires": { + "tweetnacl": "^0.14.3" + } + }, "big.js": { "version": "5.2.2", "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", @@ -11028,6 +12602,18 @@ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" }, + "blob-util": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/blob-util/-/blob-util-2.0.2.tgz", + "integrity": "sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ==", + "dev": true + }, + "bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true + }, "bn.js": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", @@ -11211,6 +12797,12 @@ "isarray": "^1.0.0" } }, + "buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "dev": true + }, "buffer-from": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", @@ -11231,6 +12823,12 @@ "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==" }, + "cachedir": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cachedir/-/cachedir-2.3.0.tgz", + "integrity": "sha512-A+Fezp4zxnit6FanDmv9EqXNAi3vt9DWp51/71UEhXukb7QUuvtv9344h91dyAxuTLoSYJFU299qzR3tzwPAhw==", + "dev": true + }, "call-bind": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", @@ -11288,6 +12886,12 @@ "credit-card-type": "^9.1.0" } }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==", + "dev": true + }, "chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", @@ -11303,6 +12907,12 @@ "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", "integrity": "sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==" }, + "check-more-types": { + "version": "2.24.0", + "resolved": "https://registry.npmjs.org/check-more-types/-/check-more-types-2.24.0.tgz", + "integrity": "sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA==", + "dev": true + }, "chokidar": { "version": "3.5.3", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", @@ -11323,6 +12933,12 @@ "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==" }, + "ci-info": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.7.1.tgz", + "integrity": "sha512-4jYS4MOAaCIStSRwiuxc4B8MYhIe676yO1sYGzARnjXkWpmzZMMYxY6zu8WYWDhSuth5zhrQ1rhNSibyyvv4/w==", + "dev": true + }, "cipher-base": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", @@ -11340,6 +12956,21 @@ "source-map": "~0.6.0" } }, + "clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true + }, + "cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "requires": { + "restore-cursor": "^3.1.0" + } + }, "cli-table3": { "version": "0.6.2", "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.2.tgz", @@ -11349,6 +12980,16 @@ "string-width": "^4.2.0" } }, + "cli-truncate": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", + "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", + "dev": true, + "requires": { + "slice-ansi": "^3.0.0", + "string-width": "^4.2.0" + } + }, "clipboard": { "version": "2.0.11", "resolved": "https://registry.npmjs.org/clipboard/-/clipboard-2.0.11.tgz", @@ -11440,11 +13081,26 @@ "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.17.tgz", "integrity": "sha512-hJo+3Bkn0NCHybn9Tu35fIeoOKGOk5OCC32y4Hz2It+qlCO2Q3DeQ1hRn/tDDMQKRYUEzqsl7jbF6dYKjlE60g==" }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "requires": { + "delayed-stream": "~1.0.0" + } + }, "commander": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==" }, + "common-tags": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", + "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==", + "dev": true + }, "commondir": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", @@ -11855,6 +13511,208 @@ "css-tree": "^1.1.2" } }, + "cypress": { + "version": "12.3.0", + "resolved": "https://registry.npmjs.org/cypress/-/cypress-12.3.0.tgz", + "integrity": "sha512-ZQNebibi6NBt51TRxRMYKeFvIiQZ01t50HSy7z/JMgRVqBUey3cdjog5MYEbzG6Ktti5ckDt1tfcC47lmFwXkw==", + "dev": true, + "requires": { + "@cypress/request": "^2.88.10", + "@cypress/xvfb": "^1.2.4", + "@types/node": "^14.14.31", + "@types/sinonjs__fake-timers": "8.1.1", + "@types/sizzle": "^2.3.2", + "arch": "^2.2.0", + "blob-util": "^2.0.2", + "bluebird": "^3.7.2", + "buffer": "^5.6.0", + "cachedir": "^2.3.0", + "chalk": "^4.1.0", + "check-more-types": "^2.24.0", + "cli-cursor": "^3.1.0", + "cli-table3": "~0.6.1", + "commander": "^5.1.0", + "common-tags": "^1.8.0", + "dayjs": "^1.10.4", + "debug": "^4.3.2", + "enquirer": "^2.3.6", + "eventemitter2": "6.4.7", + "execa": "4.1.0", + "executable": "^4.1.1", + "extract-zip": "2.0.1", + "figures": "^3.2.0", + "fs-extra": "^9.1.0", + "getos": "^3.2.1", + "is-ci": "^3.0.0", + "is-installed-globally": "~0.4.0", + "lazy-ass": "^1.6.0", + "listr2": "^3.8.3", + "lodash": "^4.17.21", + "log-symbols": "^4.0.0", + "minimist": "^1.2.6", + "ospath": "^1.2.2", + "pretty-bytes": "^5.6.0", + "proxy-from-env": "1.0.0", + "request-progress": "^3.0.0", + "semver": "^7.3.2", + "supports-color": "^8.1.1", + "tmp": "~0.2.1", + "untildify": "^4.0.0", + "yauzl": "^2.10.0" + }, + "dependencies": { + "@types/node": { + "version": "14.18.36", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.36.tgz", + "integrity": "sha512-FXKWbsJ6a1hIrRxv+FoukuHnGTgEzKYGi7kilfMae96AL9UNkPFNWJEEYWzdRI9ooIkbr4AKldyuSTLql06vLQ==", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "dependencies": { + "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==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "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==", + "dev": true, + "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==", + "dev": true + }, + "commander": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", + "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", + "dev": true + }, + "execa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", + "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + } + }, + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", + "dev": true + }, + "semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "dayjs": { + "version": "1.11.7", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.7.tgz", + "integrity": "sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ==", + "dev": true + }, "de-indent": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz", @@ -11896,6 +13754,12 @@ "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", "integrity": "sha512-Y2caI5+ZwS5c3RiNDJ6u53VhQHv+hHKwhkI1iHvceKUHw9Df6EK2zRLfjejRgMuCuxK7PfSWIMwWecceVvThjQ==" }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "dev": true + }, "delegate": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/delegate/-/delegate-3.2.0.tgz", @@ -12060,6 +13924,16 @@ "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==" }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", + "dev": true, + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, "ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", @@ -12106,6 +13980,15 @@ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==" }, + "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==", + "dev": true, + "requires": { + "once": "^1.4.0" + } + }, "enhanced-resolve": { "version": "5.9.3", "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.9.3.tgz", @@ -12115,6 +13998,15 @@ "tapable": "^2.2.0" } }, + "enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "dev": true, + "requires": { + "ansi-colors": "^4.1.1" + } + }, "entities": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", @@ -12197,6 +14089,12 @@ "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==" }, + "eventemitter2": { + "version": "6.4.7", + "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.7.tgz", + "integrity": "sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg==", + "dev": true + }, "eventemitter3": { "version": "4.0.7", "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", @@ -12232,6 +14130,15 @@ "strip-final-newline": "^2.0.0" } }, + "executable": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/executable/-/executable-4.1.1.tgz", + "integrity": "sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==", + "dev": true, + "requires": { + "pify": "^2.2.0" + } + }, "express": { "version": "4.18.1", "resolved": "https://registry.npmjs.org/express/-/express-4.18.1.tgz", @@ -12295,6 +14202,41 @@ } } }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "extract-zip": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", + "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", + "dev": true, + "requires": { + "@types/yauzl": "^2.9.1", + "debug": "^4.1.1", + "get-stream": "^5.1.0", + "yauzl": "^2.10.0" + }, + "dependencies": { + "get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + } + } + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", + "dev": true + }, "fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -12338,6 +14280,24 @@ "websocket-driver": ">=0.5.1" } }, + "fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", + "dev": true, + "requires": { + "pend": "~1.2.0" + } + }, + "figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, "file-loader": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", @@ -12425,6 +14385,23 @@ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.1.tgz", "integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==" }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", + "dev": true + }, + "form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, "forwarded": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", @@ -12496,6 +14473,24 @@ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==" }, + "getos": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/getos/-/getos-3.2.1.tgz", + "integrity": "sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q==", + "dev": true, + "requires": { + "async": "^3.2.0" + } + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, "glob": { "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", @@ -12522,6 +14517,15 @@ "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" }, + "global-dirs": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz", + "integrity": "sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==", + "dev": true, + "requires": { + "ini": "2.0.0" + } + }, "globals": { "version": "11.12.0", "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", @@ -12807,6 +14811,17 @@ "micromatch": "^4.0.2" } }, + "http-signature": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.3.6.tgz", + "integrity": "sha512-3adrsD6zqo4GsTqtO7FyrejHNv+NgiIfAfv68+jVlFmSr9OGy7zrxONceFRLKvnnZA5jbxQBX1u9PpB6Wi32Gw==", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^2.0.2", + "sshpk": "^1.14.1" + } + }, "https-browserify": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", @@ -12906,6 +14921,12 @@ "resolve-cwd": "^3.0.0" } }, + "indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true + }, "inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -12920,6 +14941,12 @@ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, + "ini": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", + "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", + "dev": true + }, "interpret": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz", @@ -12948,6 +14975,15 @@ "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" }, + "is-ci": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz", + "integrity": "sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==", + "dev": true, + "requires": { + "ci-info": "^3.2.0" + } + }, "is-color-stop": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz", @@ -12992,11 +15028,27 @@ "is-extglob": "^2.1.1" } }, + "is-installed-globally": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz", + "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==", + "dev": true, + "requires": { + "global-dirs": "^3.0.0", + "is-path-inside": "^3.0.2" + } + }, "is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" }, + "is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true + }, "is-plain-obj": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", @@ -13015,6 +15067,18 @@ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==" }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", + "dev": true + }, + "is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true + }, "is-wsl": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", @@ -13038,6 +15102,12 @@ "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==" }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==", + "dev": true + }, "jest-worker": { "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", @@ -13068,6 +15138,12 @@ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==", + "dev": true + }, "jsesc": { "version": "2.5.2", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", @@ -13088,11 +15164,23 @@ "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" }, + "json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", + "dev": true + }, "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-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", + "dev": true + }, "json5": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", @@ -13107,6 +15195,18 @@ "universalify": "^2.0.0" } }, + "jsprim": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-2.0.2.tgz", + "integrity": "sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.4.0", + "verror": "1.10.0" + } + }, "junk": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/junk/-/junk-3.1.0.tgz", @@ -13241,6 +15341,12 @@ "postcss-purgecss-laravel": "^2.0.0" } }, + "lazy-ass": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/lazy-ass/-/lazy-ass-1.6.0.tgz", + "integrity": "sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw==", + "dev": true + }, "lilconfig": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.5.tgz", @@ -13259,6 +15365,22 @@ "create-html-element": "^4.0.1" } }, + "listr2": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-3.14.0.tgz", + "integrity": "sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==", + "dev": true, + "requires": { + "cli-truncate": "^2.1.0", + "colorette": "^2.0.16", + "log-update": "^4.0.0", + "p-map": "^4.0.0", + "rfdc": "^1.3.0", + "rxjs": "^7.5.1", + "through": "^2.3.8", + "wrap-ansi": "^7.0.0" + } + }, "loader-runner": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", @@ -13297,6 +15419,12 @@ "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==" }, + "lodash.once": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", + "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==", + "dev": true + }, "lodash.topath": { "version": "4.5.2", "resolved": "https://registry.npmjs.org/lodash.topath/-/lodash.topath-4.5.2.tgz", @@ -13307,6 +15435,127 @@ "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==" }, + "log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, + "requires": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "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==", + "dev": true, + "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==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "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==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "log-update": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz", + "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==", + "dev": true, + "requires": { + "ansi-escapes": "^4.3.0", + "cli-cursor": "^3.1.0", + "slice-ansi": "^4.0.0", + "wrap-ansi": "^6.2.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.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==", + "dev": true, + "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==", + "dev": true + }, + "slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + } + }, + "wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + } + } + }, "lower-case": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", @@ -13712,6 +15961,12 @@ "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", "integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==" }, + "ospath": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/ospath/-/ospath-1.2.2.tgz", + "integrity": "sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA==", + "dev": true + }, "p-limit": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", @@ -13728,6 +15983,15 @@ "p-limit": "^2.2.0" } }, + "p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dev": true, + "requires": { + "aggregate-error": "^3.0.0" + } + }, "p-pipe": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/p-pipe/-/p-pipe-3.1.0.tgz", @@ -13853,6 +16117,18 @@ "sha.js": "^2.4.8" } }, + "pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", + "dev": true + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", + "dev": true + }, "picocolors": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", @@ -13863,6 +16139,12 @@ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true + }, "pkg-dir": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", @@ -14206,6 +16488,12 @@ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" }, + "pretty-bytes": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", + "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", + "dev": true + }, "pretty-hrtime": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", @@ -14242,6 +16530,18 @@ } } }, + "proxy-from-env": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz", + "integrity": "sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A==", + "dev": true + }, + "psl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", + "dev": true + }, "public-encrypt": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", @@ -14262,6 +16562,16 @@ } } }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "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", @@ -14478,6 +16788,15 @@ "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.1.tgz", "integrity": "sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==" }, + "request-progress": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/request-progress/-/request-progress-3.0.0.tgz", + "integrity": "sha512-MnWzEHHaxHO2iWiQuHrUPBi/1WeBf5PkxQqNyNvLl9VAYSdXkP8tQ3pBSeCPD+yw0v0Aq1zosWLz0BdeXpWwZg==", + "dev": true, + "requires": { + "throttleit": "^1.0.0" + } + }, "require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", @@ -14551,6 +16870,16 @@ } } }, + "restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "requires": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + } + }, "retry": { "version": "0.13.1", "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", @@ -14561,6 +16890,12 @@ "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" }, + "rfdc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz", + "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==", + "dev": true + }, "rgb-regex": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz", @@ -14596,6 +16931,15 @@ "queue-microtask": "^1.2.2" } }, + "rxjs": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.0.tgz", + "integrity": "sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==", + "dev": true, + "requires": { + "tslib": "^2.1.0" + } + }, "safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", @@ -14859,6 +17203,43 @@ "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" }, + "slice-ansi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", + "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.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==", + "dev": true, + "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==", + "dev": true + } + } + }, "sockjs": { "version": "0.3.24", "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", @@ -14930,6 +17311,23 @@ } } }, + "sshpk": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", + "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", + "dev": true, + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + } + }, "stable": { "version": "0.1.8", "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", @@ -15236,6 +17634,18 @@ } } }, + "throttleit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz", + "integrity": "sha512-rkTVqu6IjfQ/6+uNuuc3sZek4CEYxTJom3IktzgdSxcZqdARuebbA/f4QmAxMQIxqq9ZLEUkSYqvuk1I6VKq4g==", + "dev": true + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true + }, "thunky": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", @@ -15285,6 +17695,24 @@ "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==" }, + "tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dev": true, + "requires": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + }, + "dependencies": { + "punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "dev": true + } + } + }, "tslib": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", @@ -15295,6 +17723,21 @@ "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=" }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "dev": true, + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==", + "dev": true + }, "type-fest": { "version": "2.13.0", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.13.0.tgz", @@ -15343,6 +17786,12 @@ "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" }, + "untildify": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", + "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==", + "dev": true + }, "uri-js": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", @@ -15409,6 +17858,25 @@ "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + }, + "dependencies": { + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", + "dev": true + } + } + }, "vm-browserify": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", @@ -15863,6 +18331,16 @@ "version": "21.0.1", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.1.tgz", "integrity": "sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==" + }, + "yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", + "dev": true, + "requires": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } } } } diff --git a/package.json b/package.json index beadac675645..d2616e86e6b0 100644 --- a/package.json +++ b/package.json @@ -12,12 +12,13 @@ "@babel/compat-data": "7.15.0", "@babel/plugin-proposal-class-properties": "^7.14.5", "@tailwindcss/aspect-ratio": "^0.4.2", + "cypress": "^12.3.0", "laravel-mix-purgecss": "^6.0.0", "vue-template-compiler": "^2.6.14" }, "dependencies": { - "@tailwindcss/line-clamp": "^0.3.1", "@tailwindcss/forms": "^0.3.4", + "@tailwindcss/line-clamp": "^0.3.1", "autoprefixer": "^10.3.7", "axios": "^0.25", "card-js": "^1.0.13", diff --git a/tests/cypress/integration/login.cy.js b/tests/cypress/integration/login.cy.js new file mode 100644 index 000000000000..9523858c02bf --- /dev/null +++ b/tests/cypress/integration/login.cy.js @@ -0,0 +1,43 @@ +describe('Test Login Page', () => { + + it('Shows the Password Reset Pasge.', () => { + + + cy.visit('/client/password/reset'); + cy.contains('Password Recovery'); + + cy.get('input[name=email]').type('cypress@example.com{enter}'); + cy.contains('We have e-mailed your password reset link!'); + + cy.visit('/client/password/reset'); + cy.contains('Password Recovery'); + + cy.get('input[name=email]').type('nono@example.com{enter}'); + cy.contains("We can't find a user with that e-mail address."); + + }); + + it('Shows the login page.', () => { + + cy.visit('/client/login'); + cy.contains('Client Portal'); + + cy.get('input[name=email]').type('cypress@example.com'); + cy.get('input[name=password]').type('password{enter}'); + cy.url().should('include', '/invoices'); + + cy.visit('/client/recurring_invoices').contains('Recurring Invoices'); + cy.visit('/client/payments').contains('Payments'); + cy.visit('/client/quotes').contains('Quotes'); + cy.visit('/client/credits').contains('Credits'); + cy.visit('/client/payment_methods').contains('Payment Methods'); + cy.visit('/client/documents').contains('Documents'); + cy.visit('/client/statement').contains('Statement'); + cy.visit('/client/subscriptions').contains('Subscriptions'); + + cy.get('[data-ref="client-profile-dropdown"]').click(); + cy.get('[data-ref="client-profile-dropdown-settings"]').click(); + cy.contains('Client Information'); + }); + +}); \ No newline at end of file diff --git a/tests/cypress/plugins/index.js b/tests/cypress/plugins/index.js new file mode 100644 index 000000000000..0c78445a967a --- /dev/null +++ b/tests/cypress/plugins/index.js @@ -0,0 +1,23 @@ +/// +// *********************************************************** +// This example plugins/index.js can be used to load plugins +// +// You can change the location of this file or turn off loading +// the plugins file with the 'pluginsFile' configuration option. +// +// You can read more here: +// https://on.cypress.io/plugins-guide +// *********************************************************** + +// This function is called when a project is opened or re-opened (e.g. due to +// the project's config changing) + +/** + * @type {Cypress.PluginConfig} + */ +module.exports = (on, config) => { + // `on` is used to hook into various events Cypress emits + // `config` is the resolved Cypress config + + on('task', require('./swap-env')); +}; diff --git a/tests/cypress/plugins/swap-env.js b/tests/cypress/plugins/swap-env.js new file mode 100644 index 000000000000..aee03e7d1d9c --- /dev/null +++ b/tests/cypress/plugins/swap-env.js @@ -0,0 +1,21 @@ +let fs = require('fs'); + +module.exports = { + activateCypressEnvFile() { + if (fs.existsSync('.env.cypress')) { + fs.renameSync('.env', '.env.backup'); + fs.renameSync('.env.cypress', '.env'); + } + + return null; + }, + + activateLocalEnvFile() { + if (fs.existsSync('.env.backup')) { + fs.renameSync('.env', '.env.cypress'); + fs.renameSync('.env.backup', '.env'); + } + + return null; + } +}; diff --git a/tests/cypress/support/assertions.js b/tests/cypress/support/assertions.js new file mode 100644 index 000000000000..5f0855a3709a --- /dev/null +++ b/tests/cypress/support/assertions.js @@ -0,0 +1,3 @@ +Cypress.Commands.add('assertRedirect', path => { + cy.location('pathname').should('eq', `/${path}`.replace(/^\/\//, '/')); +}); diff --git a/tests/cypress/support/index.d.ts b/tests/cypress/support/index.d.ts new file mode 100644 index 000000000000..eb52d46c26f2 --- /dev/null +++ b/tests/cypress/support/index.d.ts @@ -0,0 +1,92 @@ +/// + +declare namespace Cypress { + interface Chainable { + /** + * Log in the user with the given attributes, or create a new user and then log them in. + * + * @example + * cy.login() + * cy.login({ id: 1 }) + */ + login(attributes?: object): Chainable; + + /** + * Log out the current user. + * + * @example + * cy.logout() + */ + logout(): Chainable; + + /** + * Fetch the currently authenticated user. + * + * @example + * cy.currentUser() + */ + currentUser(): Chainable; + + /** + * Fetch a CSRF token from the server. + * + * @example + * cy.logout() + */ + csrfToken(): Chainable; + + /** + * Fetch a fresh list of URI routes from the server. + * + * @example + * cy.logout() + */ + refreshRoutes(): Chainable; + + /** + * Create and persist a new Eloquent record using Laravel model factories. + * + * @example + * cy.create('App\\User'); + * cy.create('App\\User', 2); + * cy.create('App\\User', 2, { active: false }); + * cy.create({ model: 'App\\User', state: ['guest'], relations: ['profile'], count: 2 } + */ + create(): Chainable; + + /** + * Refresh the database state using Laravel's migrate:fresh command. + * + * @example + * cy.refreshDatabase() + * cy.refreshDatabase({ '--drop-views': true } + */ + refreshDatabase(options?: object): Chainable; + + /** + * Run Artisan's db:seed command. + * + * @example + * cy.seed() + * cy.seed('PlansTableSeeder') + */ + seed(seederClass?: string): Chainable; + + /** + * Run an Artisan command. + * + * @example + * cy.artisan() + */ + artisan(command: string, parameters?: object, options?: object): Chainable; + + /** + * Execute arbitrary PHP on the server. + * + * @example + * cy.php('2 + 2') + * cy.php('App\\User::count()') + */ + php(command: string): Chainable; + } +} diff --git a/tests/cypress/support/index.js b/tests/cypress/support/index.js new file mode 100644 index 000000000000..bc30bc7a68c0 --- /dev/null +++ b/tests/cypress/support/index.js @@ -0,0 +1,32 @@ +// *********************************************************** +// This example support/index.js is processed and +// loaded automatically before your test files. +// +// This is a great place to put global configuration and +// behavior that modifies Cypress. +// +// You can change the location of this file or turn off +// automatically serving support files with the +// 'supportFile' configuration option. +// +// You can read more here: +// https://on.cypress.io/configuration +// *********************************************************** + +/// + +import './laravel-commands'; +import './laravel-routes'; +import './assertions'; + +before(() => { + cy.task('activateCypressEnvFile', {}, { log: false }); + cy.artisan('config:clear', {}, { log: false }); + cy.refreshRoutes(); + cy.seed("RandomDataSeeder"); +}); + +after(() => { + cy.task('activateLocalEnvFile', {}, { log: false }); + cy.artisan('config:clear', {}, { log: false }); +}); diff --git a/tests/cypress/support/laravel-commands.js b/tests/cypress/support/laravel-commands.js new file mode 100644 index 000000000000..9af6c646604b --- /dev/null +++ b/tests/cypress/support/laravel-commands.js @@ -0,0 +1,301 @@ +/** + * Create a new user and log them in. + * + * @param {Object} attributes + * + * @example cy.login(); + * cy.login({ name: 'JohnDoe' }); + * cy.login({ attributes: { name: 'JohnDoe' }, state: 'guest', load: ['comments] }); + */ +Cypress.Commands.add('login', (attributes = {}) => { + // Are we using the new object system. + let requestBody = attributes.attributes || attributes.state || attributes.load ? attributes : { attributes }; + + return cy + .csrfToken() + .then((token) => { + return cy.request({ + method: 'POST', + url: '/__cypress__/login', + body: { ...requestBody, _token: token }, + log: false, + }); + }) + .then(({ body }) => { + Cypress.Laravel.currentUser = body; + + Cypress.log({ + name: 'login', + message: JSON.stringify(body), + consoleProps: () => ({ user: body }), + }); + }) + .its('body', { log: false }); +}); + +/** + * Fetch the currently authenticated user object. + * + * @example cy.currentUser(); + */ +Cypress.Commands.add('currentUser', () => { + return cy.csrfToken().then((token) => { + return cy + .request({ + method: 'POST', + url: '/__cypress__/current-user', + body: { _token: token }, + log: false, + }) + .then((response) => { + if (!response.body) { + cy.log('No authenticated user found.'); + } + + Cypress.Laravel.currentUser = response?.body; + + return response?.body; + }); + }); +}); + + +/** + * Logout the current user. + * + * @example cy.logout(); + */ +Cypress.Commands.add('logout', () => { + return cy + .csrfToken() + .then((token) => { + return cy.request({ + method: 'POST', + url: '/__cypress__/logout', + body: { _token: token }, + log: false, + }); + }) + .then(() => { + Cypress.log({ name: 'logout', message: '' }); + }); +}); + +/** + * Fetch a CSRF token. + * + * @example cy.csrfToken(); + */ +Cypress.Commands.add('csrfToken', () => { + return cy + .request({ + method: 'GET', + url: '/__cypress__/csrf_token', + log: false, + }) + .its('body', { log: false }); +}); + +/** + * Fetch and store all named routes. + * + * @example cy.refreshRoutes(); + */ +Cypress.Commands.add('refreshRoutes', () => { + return cy.csrfToken().then((token) => { + return cy + .request({ + method: 'POST', + url: '/__cypress__/routes', + body: { _token: token }, + log: false, + }) + .its('body', { log: false }) + .then((routes) => { + cy.writeFile(Cypress.config().supportFolder + '/routes.json', routes, { + log: false, + }); + + Cypress.Laravel.routes = routes; + }); + }); +}); + +/** + * Visit the given URL or route. + * + * @example cy.visit('foo/path'); + * cy.visit({ route: 'home' }); + * cy.visit({ route: 'team', parameters: { team: 1 } }); + */ +Cypress.Commands.overwrite('visit', (originalFn, subject, options) => { + if (subject.route) { + return originalFn({ + url: Cypress.Laravel.route(subject.route, subject.parameters || {}), + method: Cypress.Laravel.routes[subject.route].method[0], + ...options + }); + } + + return originalFn(subject, options); +}); + +/** + * Create a new Eloquent factory. + * + * @param {String} model + * @param {Number|null} times + * @param {Object} attributes + * + * @example cy.create('App\\User'); + * cy.create('App\\User', 2); + * cy.create('App\\User', 2, { active: false }); + * cy.create('App\\User', { active: false }); + * cy.create('App\\User', 2, { active: false }); + * cy.create('App\\User', 2, { active: false }, ['profile']); + * cy.create('App\\User', 2, { active: false }, ['profile'], ['guest']); + * cy.create('App\\User', { active: false }, ['profile']); + * cy.create('App\\User', { active: false }, ['profile'], ['guest']); + * cy.create('App\\User', ['profile']); + * cy.create('App\\User', ['profile'], ['guest']); + * cy.create({ model: 'App\\User', state: ['guest'], relations: ['profile'], count: 2 } + */ +Cypress.Commands.add('create', (model, count = 1, attributes = {}, load = [], state = []) => { + let requestBody = {}; + + if (typeof model !== 'object') { + if (Array.isArray(count)) { + state = attributes; + attributes = {}; + load = count; + count = 1; + } + + if (typeof count === 'object') { + state = load; + load = attributes; + attributes = count; + count = 1; + } + + requestBody = { model, state, attributes, load, count }; + } else { + requestBody = model; + } + + return cy + .csrfToken() + .then((token) => { + return cy.request({ + method: 'POST', + url: '/__cypress__/factory', + body: { ...requestBody, _token: token }, + log: false, + }); + }) + .then((response) => { + Cypress.log({ + name: 'create', + message: requestBody.model + (requestBody.count > 1 ? ` (${requestBody.count} times)` : ''), + consoleProps: () => ({ [model]: response.body }), + }); + }) + .its('body', { log: false }); +}); + +/** + * Refresh the database state. + * + * @param {Object} options + * + * @example cy.refreshDatabase(); + * cy.refreshDatabase({ '--drop-views': true }); + */ +Cypress.Commands.add('refreshDatabase', (options = {}) => { + return cy.artisan('migrate:fresh', options); +}); + +/** + * Seed the database. + * + * @param {String} seederClass + * + * @example cy.seed(); + * cy.seed('PlansTableSeeder'); + */ +Cypress.Commands.add('seed', (seederClass = '') => { + let options = {}; + + if (seederClass) { + options['--class'] = seederClass; + } + + return cy.artisan('db:seed', options); +}); + +/** + * Trigger an Artisan command. + * + * @param {String} command + * @param {Object} parameters + * @param {Object} options + * + * @example cy.artisan('cache:clear'); + */ +Cypress.Commands.add('artisan', (command, parameters = {}, options = {}) => { + options = Object.assign({}, { log: true }, options); + + if (options.log) { + Cypress.log({ + name: 'artisan', + message: (() => { + let message = command; + + for (let key in parameters) { + message += ` ${key}="${parameters[key]}"`; + } + + return message; + })(), + consoleProps: () => ({ command, parameters }), + }); + } + + return cy.csrfToken().then((token) => { + return cy.request({ + method: 'POST', + url: '/__cypress__/artisan', + body: { command: command, parameters: parameters, _token: token }, + log: false, + }); + }); +}); + +/** + * Execute arbitrary PHP. + * + * @param {String} command + * + * @example cy.php('2 + 2'); + * cy.php('App\\User::count()'); + */ +Cypress.Commands.add('php', (command) => { + return cy + .csrfToken() + .then((token) => { + return cy.request({ + method: 'POST', + url: '/__cypress__/run-php', + body: { command: command, _token: token }, + log: false, + }); + }) + .then((response) => { + Cypress.log({ + name: 'php', + message: command, + consoleProps: () => ({ result: response.body.result }), + }); + }) + .its('body.result', { log: false }); +}); diff --git a/tests/cypress/support/laravel-routes.js b/tests/cypress/support/laravel-routes.js new file mode 100644 index 000000000000..a87966a94e15 --- /dev/null +++ b/tests/cypress/support/laravel-routes.js @@ -0,0 +1,21 @@ +Cypress.Laravel = { + routes: {}, + + route: (name, parameters = {}) => { + assert( + Cypress.Laravel.routes.hasOwnProperty(name), + `Laravel route "${name}" does not exist.` + ); + + return ((uri) => { + Object.keys(parameters).forEach((parameter) => { + uri = uri.replace( + new RegExp(`{${parameter}}`), + parameters[parameter] + ); + }); + + return uri; + })(Cypress.Laravel.routes[name].uri); + }, +}; diff --git a/tests/cypress/support/routes.json b/tests/cypress/support/routes.json new file mode 100644 index 000000000000..5dad2ae68bb6 --- /dev/null +++ b/tests/cypress/support/routes.json @@ -0,0 +1,5608 @@ +{ + "debugbar.openhandler": { + "name": "debugbar.openhandler", + "domain": null, + "action": "Barryvdh\\Debugbar\\Controllers\\OpenHandlerController@handle", + "uri": "_debugbar/open", + "method": [ + "GET", + "HEAD" + ] + }, + "debugbar.clockwork": { + "name": "debugbar.clockwork", + "domain": null, + "action": "Barryvdh\\Debugbar\\Controllers\\OpenHandlerController@clockwork", + "uri": "_debugbar/clockwork/{id}", + "method": [ + "GET", + "HEAD" + ] + }, + "debugbar.assets.css": { + "name": "debugbar.assets.css", + "domain": null, + "action": "Barryvdh\\Debugbar\\Controllers\\AssetController@css", + "uri": "_debugbar/assets/stylesheets", + "method": [ + "GET", + "HEAD" + ] + }, + "debugbar.assets.js": { + "name": "debugbar.assets.js", + "domain": null, + "action": "Barryvdh\\Debugbar\\Controllers\\AssetController@js", + "uri": "_debugbar/assets/javascript", + "method": [ + "GET", + "HEAD" + ] + }, + "debugbar.cache.delete": { + "name": "debugbar.cache.delete", + "domain": null, + "action": "Barryvdh\\Debugbar\\Controllers\\CacheController@delete", + "uri": "_debugbar/cache/{key}/{tags?}", + "method": [ + "DELETE" + ] + }, + "l5-swagger.default.api": { + "name": "l5-swagger.default.api", + "domain": null, + "action": "\\L5Swagger\\Http\\Controllers\\SwaggerController@api", + "uri": "api/documentation", + "method": [ + "GET", + "HEAD" + ] + }, + "l5-swagger.default.docs": { + "name": "l5-swagger.default.docs", + "domain": null, + "action": "\\L5Swagger\\Http\\Controllers\\SwaggerController@docs", + "uri": "swagger-docs-that-should-be-inaccessible/{jsonFile?}", + "method": [ + "GET", + "HEAD" + ] + }, + "l5-swagger.default.asset": { + "name": "l5-swagger.default.asset", + "domain": null, + "action": "\\L5Swagger\\Http\\Controllers\\SwaggerAssetController@index", + "uri": "swagger-docs-that-should-be-inaccessible/asset/{asset}", + "method": [ + "GET", + "HEAD" + ] + }, + "l5-swagger.default.oauth2_callback": { + "name": "l5-swagger.default.oauth2_callback", + "domain": null, + "action": "\\L5Swagger\\Http\\Controllers\\SwaggerController@oauth2Callback", + "uri": "api/oauth2-callback", + "method": [ + "GET", + "HEAD" + ] + }, + "purchase.serverNotifications.google": { + "name": "purchase.serverNotifications.google", + "domain": null, + "action": "Imdhemy\\Purchases\\Http\\Controllers\\ServerNotificationController@google", + "uri": "purchases/subscriptions/google", + "method": [ + "POST" + ] + }, + "purchase.serverNotifications.apple": { + "name": "purchase.serverNotifications.apple", + "domain": null, + "action": "Imdhemy\\Purchases\\Http\\Controllers\\ServerNotificationController@apple", + "uri": "purchases/subscriptions/apple", + "method": [ + "POST" + ] + }, + "cypress.factory": { + "name": "cypress.factory", + "domain": null, + "action": "Laracasts\\Cypress\\Controllers\\CypressController@factory", + "uri": "__cypress__/factory", + "method": [ + "POST" + ] + }, + "cypress.login": { + "name": "cypress.login", + "domain": null, + "action": "Laracasts\\Cypress\\Controllers\\CypressController@login", + "uri": "__cypress__/login", + "method": [ + "POST" + ] + }, + "cypress.logout": { + "name": "cypress.logout", + "domain": null, + "action": "Laracasts\\Cypress\\Controllers\\CypressController@logout", + "uri": "__cypress__/logout", + "method": [ + "POST" + ] + }, + "cypress.artisan": { + "name": "cypress.artisan", + "domain": null, + "action": "Laracasts\\Cypress\\Controllers\\CypressController@artisan", + "uri": "__cypress__/artisan", + "method": [ + "POST" + ] + }, + "cypress.run-php": { + "name": "cypress.run-php", + "domain": null, + "action": "Laracasts\\Cypress\\Controllers\\CypressController@runPhp", + "uri": "__cypress__/run-php", + "method": [ + "POST" + ] + }, + "cypress.csrf-token": { + "name": "cypress.csrf-token", + "domain": null, + "action": "Laracasts\\Cypress\\Controllers\\CypressController@csrfToken", + "uri": "__cypress__/csrf_token", + "method": [ + "GET", + "HEAD" + ] + }, + "cypress.routes": { + "name": "cypress.routes", + "domain": null, + "action": "Laracasts\\Cypress\\Controllers\\CypressController@routes", + "uri": "__cypress__/routes", + "method": [ + "POST" + ] + }, + "cypress.current-user": { + "name": "cypress.current-user", + "domain": null, + "action": "Laracasts\\Cypress\\Controllers\\CypressController@currentUser", + "uri": "__cypress__/current-user", + "method": [ + "POST" + ] + }, + "dusk.login": { + "name": "dusk.login", + "domain": null, + "action": "Laravel\\Dusk\\Http\\Controllers\\UserController@login", + "uri": "_dusk/login/{userId}/{guard?}", + "method": [ + "GET", + "HEAD" + ] + }, + "dusk.logout": { + "name": "dusk.logout", + "domain": null, + "action": "Laravel\\Dusk\\Http\\Controllers\\UserController@logout", + "uri": "_dusk/logout/{guard?}", + "method": [ + "GET", + "HEAD" + ] + }, + "dusk.user": { + "name": "dusk.user", + "domain": null, + "action": "Laravel\\Dusk\\Http\\Controllers\\UserController@user", + "uri": "_dusk/user/{guard?}", + "method": [ + "GET", + "HEAD" + ] + }, + "livewire.message": { + "name": "livewire.message", + "domain": null, + "action": "Livewire\\Controllers\\HttpConnectionHandler", + "uri": "livewire/message/{name}", + "method": [ + "POST" + ] + }, + "livewire.upload-file": { + "name": "livewire.upload-file", + "domain": null, + "action": "Livewire\\Controllers\\FileUploadHandler@handle", + "uri": "livewire/upload-file", + "method": [ + "POST" + ] + }, + "livewire.preview-file": { + "name": "livewire.preview-file", + "domain": null, + "action": "Livewire\\Controllers\\FilePreviewHandler@handle", + "uri": "livewire/preview-file/{filename}", + "method": [ + "GET", + "HEAD" + ] + }, + "generated::9tgxNSXus6SSV0ES": { + "name": "generated::9tgxNSXus6SSV0ES", + "domain": null, + "action": "Livewire\\Controllers\\LivewireJavaScriptAssets@source", + "uri": "livewire/livewire.js", + "method": [ + "GET", + "HEAD" + ] + }, + "generated::zhcNBnSOTjJa5Auk": { + "name": "generated::zhcNBnSOTjJa5Auk", + "domain": null, + "action": "Livewire\\Controllers\\LivewireJavaScriptAssets@maps", + "uri": "livewire/livewire.js.map", + "method": [ + "GET", + "HEAD" + ] + }, + "ignition.healthCheck": { + "name": "ignition.healthCheck", + "domain": null, + "action": "Spatie\\LaravelIgnition\\Http\\Controllers\\HealthCheckController", + "uri": "_ignition/health-check", + "method": [ + "GET", + "HEAD" + ] + }, + "ignition.executeSolution": { + "name": "ignition.executeSolution", + "domain": null, + "action": "Spatie\\LaravelIgnition\\Http\\Controllers\\ExecuteSolutionController", + "uri": "_ignition/execute-solution", + "method": [ + "POST" + ] + }, + "ignition.updateConfig": { + "name": "ignition.updateConfig", + "domain": null, + "action": "Spatie\\LaravelIgnition\\Http\\Controllers\\UpdateConfigController", + "uri": "_ignition/update-config", + "method": [ + "POST" + ] + }, + "signup.submit": { + "name": "signup.submit", + "domain": null, + "action": "App\\Http\\Controllers\\AccountController@store", + "uri": "api/v1/signup", + "method": [ + "POST" + ] + }, + "generated::lcjLK643w88fu7E3": { + "name": "generated::lcjLK643w88fu7E3", + "domain": null, + "action": "App\\Http\\Controllers\\Auth\\LoginController@oauthApiLogin", + "uri": "api/v1/oauth_login", + "method": [ + "POST" + ] + }, + "login.submit": { + "name": "login.submit", + "domain": null, + "action": "App\\Http\\Controllers\\Auth\\LoginController@apiLogin", + "uri": "api/v1/login", + "method": [ + "POST" + ] + }, + "generated::1SUcWtUJGUV0tfVM": { + "name": "generated::1SUcWtUJGUV0tfVM", + "domain": null, + "action": "App\\Http\\Controllers\\Auth\\ForgotPasswordController@sendResetLinkEmail", + "uri": "api/v1/reset_password", + "method": [ + "POST" + ] + }, + "api.account.update": { + "name": "api.account.update", + "domain": null, + "action": "App\\Http\\Controllers\\AccountController@update", + "uri": "api/v1/accounts/{account}", + "method": [ + "PUT" + ] + }, + "api.bank_integrations.index": { + "name": "api.bank_integrations.index", + "domain": null, + "action": "App\\Http\\Controllers\\BankIntegrationController@index", + "uri": "api/v1/bank_integrations", + "method": [ + "GET", + "HEAD" + ] + }, + "api.bank_integrations.create": { + "name": "api.bank_integrations.create", + "domain": null, + "action": "App\\Http\\Controllers\\BankIntegrationController@create", + "uri": "api/v1/bank_integrations/create", + "method": [ + "GET", + "HEAD" + ] + }, + "api.bank_integrations.store": { + "name": "api.bank_integrations.store", + "domain": null, + "action": "App\\Http\\Controllers\\BankIntegrationController@store", + "uri": "api/v1/bank_integrations", + "method": [ + "POST" + ] + }, + "api.bank_integrations.show": { + "name": "api.bank_integrations.show", + "domain": null, + "action": "App\\Http\\Controllers\\BankIntegrationController@show", + "uri": "api/v1/bank_integrations/{bank_integration}", + "method": [ + "GET", + "HEAD" + ] + }, + "api.bank_integrations.edit": { + "name": "api.bank_integrations.edit", + "domain": null, + "action": "App\\Http\\Controllers\\BankIntegrationController@edit", + "uri": "api/v1/bank_integrations/{bank_integration}/edit", + "method": [ + "GET", + "HEAD" + ] + }, + "api.bank_integrations.update": { + "name": "api.bank_integrations.update", + "domain": null, + "action": "App\\Http\\Controllers\\BankIntegrationController@update", + "uri": "api/v1/bank_integrations/{bank_integration}", + "method": [ + "PUT", + "PATCH" + ] + }, + "api.bank_integrations.destroy": { + "name": "api.bank_integrations.destroy", + "domain": null, + "action": "App\\Http\\Controllers\\BankIntegrationController@destroy", + "uri": "api/v1/bank_integrations/{bank_integration}", + "method": [ + "DELETE" + ] + }, + "api.bank_integrations.refresh_accounts": { + "name": "api.bank_integrations.refresh_accounts", + "domain": null, + "action": "App\\Http\\Controllers\\BankIntegrationController@refreshAccounts", + "uri": "api/v1/bank_integrations/refresh_accounts", + "method": [ + "POST" + ] + }, + "api.bank_integrations.remove_account": { + "name": "api.bank_integrations.remove_account", + "domain": null, + "action": "App\\Http\\Controllers\\BankIntegrationController@removeAccount", + "uri": "api/v1/bank_integrations/remove_account/{acc_id}", + "method": [ + "POST" + ] + }, + "api.bank_integrations.transactions": { + "name": "api.bank_integrations.transactions", + "domain": null, + "action": "App\\Http\\Controllers\\BankIntegrationController@getTransactions", + "uri": "api/v1/bank_integrations/get_transactions/{acc_id}", + "method": [ + "POST" + ] + }, + "api.bank_integrations.bulk": { + "name": "api.bank_integrations.bulk", + "domain": null, + "action": "App\\Http\\Controllers\\BankIntegrationController@bulk", + "uri": "api/v1/bank_integrations/bulk", + "method": [ + "POST" + ] + }, + "api.bank_transactions.index": { + "name": "api.bank_transactions.index", + "domain": null, + "action": "App\\Http\\Controllers\\BankTransactionController@index", + "uri": "api/v1/bank_transactions", + "method": [ + "GET", + "HEAD" + ] + }, + "api.bank_transactions.create": { + "name": "api.bank_transactions.create", + "domain": null, + "action": "App\\Http\\Controllers\\BankTransactionController@create", + "uri": "api/v1/bank_transactions/create", + "method": [ + "GET", + "HEAD" + ] + }, + "api.bank_transactions.store": { + "name": "api.bank_transactions.store", + "domain": null, + "action": "App\\Http\\Controllers\\BankTransactionController@store", + "uri": "api/v1/bank_transactions", + "method": [ + "POST" + ] + }, + "api.bank_transactions.show": { + "name": "api.bank_transactions.show", + "domain": null, + "action": "App\\Http\\Controllers\\BankTransactionController@show", + "uri": "api/v1/bank_transactions/{bank_transaction}", + "method": [ + "GET", + "HEAD" + ] + }, + "api.bank_transactions.edit": { + "name": "api.bank_transactions.edit", + "domain": null, + "action": "App\\Http\\Controllers\\BankTransactionController@edit", + "uri": "api/v1/bank_transactions/{bank_transaction}/edit", + "method": [ + "GET", + "HEAD" + ] + }, + "api.bank_transactions.update": { + "name": "api.bank_transactions.update", + "domain": null, + "action": "App\\Http\\Controllers\\BankTransactionController@update", + "uri": "api/v1/bank_transactions/{bank_transaction}", + "method": [ + "PUT", + "PATCH" + ] + }, + "api.bank_transactions.destroy": { + "name": "api.bank_transactions.destroy", + "domain": null, + "action": "App\\Http\\Controllers\\BankTransactionController@destroy", + "uri": "api/v1/bank_transactions/{bank_transaction}", + "method": [ + "DELETE" + ] + }, + "api.bank_transactions.bulk": { + "name": "api.bank_transactions.bulk", + "domain": null, + "action": "App\\Http\\Controllers\\BankTransactionController@bulk", + "uri": "api/v1/bank_transactions/bulk", + "method": [ + "POST" + ] + }, + "api.bank_transactions.match": { + "name": "api.bank_transactions.match", + "domain": null, + "action": "App\\Http\\Controllers\\BankTransactionController@match", + "uri": "api/v1/bank_transactions/match", + "method": [ + "POST" + ] + }, + "api.bank_transaction_rules.index": { + "name": "api.bank_transaction_rules.index", + "domain": null, + "action": "App\\Http\\Controllers\\BankTransactionRuleController@index", + "uri": "api/v1/bank_transaction_rules", + "method": [ + "GET", + "HEAD" + ] + }, + "api.bank_transaction_rules.create": { + "name": "api.bank_transaction_rules.create", + "domain": null, + "action": "App\\Http\\Controllers\\BankTransactionRuleController@create", + "uri": "api/v1/bank_transaction_rules/create", + "method": [ + "GET", + "HEAD" + ] + }, + "api.bank_transaction_rules.store": { + "name": "api.bank_transaction_rules.store", + "domain": null, + "action": "App\\Http\\Controllers\\BankTransactionRuleController@store", + "uri": "api/v1/bank_transaction_rules", + "method": [ + "POST" + ] + }, + "api.bank_transaction_rules.show": { + "name": "api.bank_transaction_rules.show", + "domain": null, + "action": "App\\Http\\Controllers\\BankTransactionRuleController@show", + "uri": "api/v1/bank_transaction_rules/{bank_transaction_rule}", + "method": [ + "GET", + "HEAD" + ] + }, + "api.bank_transaction_rules.edit": { + "name": "api.bank_transaction_rules.edit", + "domain": null, + "action": "App\\Http\\Controllers\\BankTransactionRuleController@edit", + "uri": "api/v1/bank_transaction_rules/{bank_transaction_rule}/edit", + "method": [ + "GET", + "HEAD" + ] + }, + "api.bank_transaction_rules.update": { + "name": "api.bank_transaction_rules.update", + "domain": null, + "action": "App\\Http\\Controllers\\BankTransactionRuleController@update", + "uri": "api/v1/bank_transaction_rules/{bank_transaction_rule}", + "method": [ + "PUT", + "PATCH" + ] + }, + "api.bank_transaction_rules.destroy": { + "name": "api.bank_transaction_rules.destroy", + "domain": null, + "action": "App\\Http\\Controllers\\BankTransactionRuleController@destroy", + "uri": "api/v1/bank_transaction_rules/{bank_transaction_rule}", + "method": [ + "DELETE" + ] + }, + "api.bank_transaction_rules.bulk": { + "name": "api.bank_transaction_rules.bulk", + "domain": null, + "action": "App\\Http\\Controllers\\BankTransactionRuleController@bulk", + "uri": "api/v1/bank_transaction_rules/bulk", + "method": [ + "POST" + ] + }, + "api.check_subdomain": { + "name": "api.check_subdomain", + "domain": null, + "action": "App\\Http\\Controllers\\SubdomainController@index", + "uri": "api/v1/check_subdomain", + "method": [ + "POST" + ] + }, + "api.ping": { + "name": "api.ping", + "domain": null, + "action": "App\\Http\\Controllers\\PingController@index", + "uri": "api/v1/ping", + "method": [ + "GET", + "HEAD" + ] + }, + "api.health_check": { + "name": "api.health_check", + "domain": null, + "action": "App\\Http\\Controllers\\PingController@health", + "uri": "api/v1/health_check", + "method": [ + "GET", + "HEAD" + ] + }, + "api.": { + "name": "api.", + "domain": null, + "action": "App\\Http\\Controllers\\ActivityController@index", + "uri": "api/v1/activities", + "method": [ + "GET", + "HEAD" + ] + }, + "api.generated::hUG9w98np43C7mkz": { + "name": "api.generated::hUG9w98np43C7mkz", + "domain": null, + "action": "App\\Http\\Controllers\\ActivityController@downloadHistoricalEntity", + "uri": "api/v1/activities/download_entity/{activity}", + "method": [ + "GET", + "HEAD" + ] + }, + "api.chart.totals": { + "name": "api.chart.totals", + "domain": null, + "action": "App\\Http\\Controllers\\ChartController@totals", + "uri": "api/v1/charts/totals", + "method": [ + "POST" + ] + }, + "api.chart.chart_summary": { + "name": "api.chart.chart_summary", + "domain": null, + "action": "App\\Http\\Controllers\\ChartController@chart_summary", + "uri": "api/v1/charts/chart_summary", + "method": [ + "POST" + ] + }, + "api.license.index": { + "name": "api.license.index", + "domain": null, + "action": "App\\Http\\Controllers\\LicenseController@index", + "uri": "api/v1/claim_license", + "method": [ + "POST" + ] + }, + "api.clients.index": { + "name": "api.clients.index", + "domain": null, + "action": "App\\Http\\Controllers\\ClientController@index", + "uri": "api/v1/clients", + "method": [ + "GET", + "HEAD" + ] + }, + "api.clients.create": { + "name": "api.clients.create", + "domain": null, + "action": "App\\Http\\Controllers\\ClientController@create", + "uri": "api/v1/clients/create", + "method": [ + "GET", + "HEAD" + ] + }, + "api.clients.store": { + "name": "api.clients.store", + "domain": null, + "action": "App\\Http\\Controllers\\ClientController@store", + "uri": "api/v1/clients", + "method": [ + "POST" + ] + }, + "api.clients.show": { + "name": "api.clients.show", + "domain": null, + "action": "App\\Http\\Controllers\\ClientController@show", + "uri": "api/v1/clients/{client}", + "method": [ + "GET", + "HEAD" + ] + }, + "api.clients.edit": { + "name": "api.clients.edit", + "domain": null, + "action": "App\\Http\\Controllers\\ClientController@edit", + "uri": "api/v1/clients/{client}/edit", + "method": [ + "GET", + "HEAD" + ] + }, + "api.clients.update": { + "name": "api.clients.update", + "domain": null, + "action": "App\\Http\\Controllers\\ClientController@update", + "uri": "api/v1/clients/{client}", + "method": [ + "PUT", + "PATCH" + ] + }, + "api.clients.destroy": { + "name": "api.clients.destroy", + "domain": null, + "action": "App\\Http\\Controllers\\ClientController@destroy", + "uri": "api/v1/clients/{client}", + "method": [ + "DELETE" + ] + }, + "api.clients.adjust_ledger": { + "name": "api.clients.adjust_ledger", + "domain": null, + "action": "App\\Http\\Controllers\\ClientController@adjustLedger", + "uri": "api/v1/clients/{client}/adjust_ledger", + "method": [ + "PUT" + ] + }, + "api.clients.upload": { + "name": "api.clients.upload", + "domain": null, + "action": "App\\Http\\Controllers\\ClientController@upload", + "uri": "api/v1/clients/{client}/upload", + "method": [ + "PUT" + ] + }, + "api.clients.purge": { + "name": "api.clients.purge", + "domain": null, + "action": "App\\Http\\Controllers\\ClientController@purge", + "uri": "api/v1/clients/{client}/purge", + "method": [ + "POST" + ] + }, + "api.clients.merge": { + "name": "api.clients.merge", + "domain": null, + "action": "App\\Http\\Controllers\\ClientController@merge", + "uri": "api/v1/clients/{client}/{mergeable_client}/merge", + "method": [ + "POST" + ] + }, + "api.clients.bulk": { + "name": "api.clients.bulk", + "domain": null, + "action": "App\\Http\\Controllers\\ClientController@bulk", + "uri": "api/v1/clients/bulk", + "method": [ + "POST" + ] + }, + "api.filters": { + "name": "api.filters", + "domain": null, + "action": "App\\Http\\Controllers\\FilterController@index", + "uri": "api/v1/filters/{entity}", + "method": [ + "POST" + ] + }, + "api.client_gateway_tokens.index": { + "name": "api.client_gateway_tokens.index", + "domain": null, + "action": "App\\Http\\Controllers\\ClientGatewayTokenController@index", + "uri": "api/v1/client_gateway_tokens", + "method": [ + "GET", + "HEAD" + ] + }, + "api.client_gateway_tokens.create": { + "name": "api.client_gateway_tokens.create", + "domain": null, + "action": "App\\Http\\Controllers\\ClientGatewayTokenController@create", + "uri": "api/v1/client_gateway_tokens/create", + "method": [ + "GET", + "HEAD" + ] + }, + "api.client_gateway_tokens.store": { + "name": "api.client_gateway_tokens.store", + "domain": null, + "action": "App\\Http\\Controllers\\ClientGatewayTokenController@store", + "uri": "api/v1/client_gateway_tokens", + "method": [ + "POST" + ] + }, + "api.client_gateway_tokens.show": { + "name": "api.client_gateway_tokens.show", + "domain": null, + "action": "App\\Http\\Controllers\\ClientGatewayTokenController@show", + "uri": "api/v1/client_gateway_tokens/{client_gateway_token}", + "method": [ + "GET", + "HEAD" + ] + }, + "api.client_gateway_tokens.edit": { + "name": "api.client_gateway_tokens.edit", + "domain": null, + "action": "App\\Http\\Controllers\\ClientGatewayTokenController@edit", + "uri": "api/v1/client_gateway_tokens/{client_gateway_token}/edit", + "method": [ + "GET", + "HEAD" + ] + }, + "api.client_gateway_tokens.update": { + "name": "api.client_gateway_tokens.update", + "domain": null, + "action": "App\\Http\\Controllers\\ClientGatewayTokenController@update", + "uri": "api/v1/client_gateway_tokens/{client_gateway_token}", + "method": [ + "PUT", + "PATCH" + ] + }, + "api.client_gateway_tokens.destroy": { + "name": "api.client_gateway_tokens.destroy", + "domain": null, + "action": "App\\Http\\Controllers\\ClientGatewayTokenController@destroy", + "uri": "api/v1/client_gateway_tokens/{client_gateway_token}", + "method": [ + "DELETE" + ] + }, + "api.generated::22rcJuOzw564jRyT": { + "name": "api.generated::22rcJuOzw564jRyT", + "domain": null, + "action": "App\\Http\\Controllers\\ConnectedAccountController@index", + "uri": "api/v1/connected_account", + "method": [ + "POST" + ] + }, + "api.generated::rMOwW8reRxnSwYCD": { + "name": "api.generated::rMOwW8reRxnSwYCD", + "domain": null, + "action": "App\\Http\\Controllers\\ConnectedAccountController@handleGmailOauth", + "uri": "api/v1/connected_account/gmail", + "method": [ + "POST" + ] + }, + "api.client.statement": { + "name": "api.client.statement", + "domain": null, + "action": "App\\Http\\Controllers\\ClientStatementController@statement", + "uri": "api/v1/client_statement", + "method": [ + "POST" + ] + }, + "api.generated::bjqXJbSpH7wgQFKb": { + "name": "api.generated::bjqXJbSpH7wgQFKb", + "domain": null, + "action": "App\\Http\\Controllers\\MigrationController@purgeCompany", + "uri": "api/v1/companies/purge/{company}", + "method": [ + "POST" + ] + }, + "api.generated::NDzAomJjJquQFDMc": { + "name": "api.generated::NDzAomJjJquQFDMc", + "domain": null, + "action": "App\\Http\\Controllers\\MigrationController@purgeCompanySaveSettings", + "uri": "api/v1/companies/purge_save_settings/{company}", + "method": [ + "POST" + ] + }, + "api.companies.index": { + "name": "api.companies.index", + "domain": null, + "action": "App\\Http\\Controllers\\CompanyController@index", + "uri": "api/v1/companies", + "method": [ + "GET", + "HEAD" + ] + }, + "api.companies.create": { + "name": "api.companies.create", + "domain": null, + "action": "App\\Http\\Controllers\\CompanyController@create", + "uri": "api/v1/companies/create", + "method": [ + "GET", + "HEAD" + ] + }, + "api.companies.store": { + "name": "api.companies.store", + "domain": null, + "action": "App\\Http\\Controllers\\CompanyController@store", + "uri": "api/v1/companies", + "method": [ + "POST" + ] + }, + "api.companies.show": { + "name": "api.companies.show", + "domain": null, + "action": "App\\Http\\Controllers\\CompanyController@show", + "uri": "api/v1/companies/{company}", + "method": [ + "GET", + "HEAD" + ] + }, + "api.companies.edit": { + "name": "api.companies.edit", + "domain": null, + "action": "App\\Http\\Controllers\\CompanyController@edit", + "uri": "api/v1/companies/{company}/edit", + "method": [ + "GET", + "HEAD" + ] + }, + "api.companies.update": { + "name": "api.companies.update", + "domain": null, + "action": "App\\Http\\Controllers\\CompanyController@update", + "uri": "api/v1/companies/{company}", + "method": [ + "PUT", + "PATCH" + ] + }, + "api.companies.destroy": { + "name": "api.companies.destroy", + "domain": null, + "action": "App\\Http\\Controllers\\CompanyController@destroy", + "uri": "api/v1/companies/{company}", + "method": [ + "DELETE" + ] + }, + "api.generated::nnxmNaHFc5HYMd1e": { + "name": "api.generated::nnxmNaHFc5HYMd1e", + "domain": null, + "action": "App\\Http\\Controllers\\CompanyController@upload", + "uri": "api/v1/companies/{company}/upload", + "method": [ + "PUT" + ] + }, + "api.generated::Aul4AwF3Vyr0zbA1": { + "name": "api.generated::Aul4AwF3Vyr0zbA1", + "domain": null, + "action": "App\\Http\\Controllers\\CompanyController@default", + "uri": "api/v1/companies/{company}/default", + "method": [ + "POST" + ] + }, + "api.company_ledger.index": { + "name": "api.company_ledger.index", + "domain": null, + "action": "App\\Http\\Controllers\\CompanyLedgerController@index", + "uri": "api/v1/company_ledger", + "method": [ + "GET", + "HEAD" + ] + }, + "api.company_gateways.index": { + "name": "api.company_gateways.index", + "domain": null, + "action": "App\\Http\\Controllers\\CompanyGatewayController@index", + "uri": "api/v1/company_gateways", + "method": [ + "GET", + "HEAD" + ] + }, + "api.company_gateways.create": { + "name": "api.company_gateways.create", + "domain": null, + "action": "App\\Http\\Controllers\\CompanyGatewayController@create", + "uri": "api/v1/company_gateways/create", + "method": [ + "GET", + "HEAD" + ] + }, + "api.company_gateways.store": { + "name": "api.company_gateways.store", + "domain": null, + "action": "App\\Http\\Controllers\\CompanyGatewayController@store", + "uri": "api/v1/company_gateways", + "method": [ + "POST" + ] + }, + "api.company_gateways.show": { + "name": "api.company_gateways.show", + "domain": null, + "action": "App\\Http\\Controllers\\CompanyGatewayController@show", + "uri": "api/v1/company_gateways/{company_gateway}", + "method": [ + "GET", + "HEAD" + ] + }, + "api.company_gateways.edit": { + "name": "api.company_gateways.edit", + "domain": null, + "action": "App\\Http\\Controllers\\CompanyGatewayController@edit", + "uri": "api/v1/company_gateways/{company_gateway}/edit", + "method": [ + "GET", + "HEAD" + ] + }, + "api.company_gateways.update": { + "name": "api.company_gateways.update", + "domain": null, + "action": "App\\Http\\Controllers\\CompanyGatewayController@update", + "uri": "api/v1/company_gateways/{company_gateway}", + "method": [ + "PUT", + "PATCH" + ] + }, + "api.company_gateways.destroy": { + "name": "api.company_gateways.destroy", + "domain": null, + "action": "App\\Http\\Controllers\\CompanyGatewayController@destroy", + "uri": "api/v1/company_gateways/{company_gateway}", + "method": [ + "DELETE" + ] + }, + "api.company_gateways.bulk": { + "name": "api.company_gateways.bulk", + "domain": null, + "action": "App\\Http\\Controllers\\CompanyGatewayController@bulk", + "uri": "api/v1/company_gateways/bulk", + "method": [ + "POST" + ] + }, + "api.generated::UhL9M8n8I9K6MkuN": { + "name": "api.generated::UhL9M8n8I9K6MkuN", + "domain": null, + "action": "App\\Http\\Controllers\\CompanyUserController@update", + "uri": "api/v1/company_users/{user}", + "method": [ + "PUT" + ] + }, + "api.credits.index": { + "name": "api.credits.index", + "domain": null, + "action": "App\\Http\\Controllers\\CreditController@index", + "uri": "api/v1/credits", + "method": [ + "GET", + "HEAD" + ] + }, + "api.credits.create": { + "name": "api.credits.create", + "domain": null, + "action": "App\\Http\\Controllers\\CreditController@create", + "uri": "api/v1/credits/create", + "method": [ + "GET", + "HEAD" + ] + }, + "api.credits.store": { + "name": "api.credits.store", + "domain": null, + "action": "App\\Http\\Controllers\\CreditController@store", + "uri": "api/v1/credits", + "method": [ + "POST" + ] + }, + "api.credits.show": { + "name": "api.credits.show", + "domain": null, + "action": "App\\Http\\Controllers\\CreditController@show", + "uri": "api/v1/credits/{credit}", + "method": [ + "GET", + "HEAD" + ] + }, + "api.credits.edit": { + "name": "api.credits.edit", + "domain": null, + "action": "App\\Http\\Controllers\\CreditController@edit", + "uri": "api/v1/credits/{credit}/edit", + "method": [ + "GET", + "HEAD" + ] + }, + "api.credits.update": { + "name": "api.credits.update", + "domain": null, + "action": "App\\Http\\Controllers\\CreditController@update", + "uri": "api/v1/credits/{credit}", + "method": [ + "PUT", + "PATCH" + ] + }, + "api.credits.destroy": { + "name": "api.credits.destroy", + "domain": null, + "action": "App\\Http\\Controllers\\CreditController@destroy", + "uri": "api/v1/credits/{credit}", + "method": [ + "DELETE" + ] + }, + "api.credits.upload": { + "name": "api.credits.upload", + "domain": null, + "action": "App\\Http\\Controllers\\CreditController@upload", + "uri": "api/v1/credits/{credit}/upload", + "method": [ + "PUT" + ] + }, + "api.credits.action": { + "name": "api.credits.action", + "domain": null, + "action": "App\\Http\\Controllers\\CreditController@action", + "uri": "api/v1/credits/{credit}/{action}", + "method": [ + "GET", + "HEAD" + ] + }, + "api.credits.bulk": { + "name": "api.credits.bulk", + "domain": null, + "action": "App\\Http\\Controllers\\CreditController@bulk", + "uri": "api/v1/credits/bulk", + "method": [ + "POST" + ] + }, + "api.designs.index": { + "name": "api.designs.index", + "domain": null, + "action": "App\\Http\\Controllers\\DesignController@index", + "uri": "api/v1/designs", + "method": [ + "GET", + "HEAD" + ] + }, + "api.designs.create": { + "name": "api.designs.create", + "domain": null, + "action": "App\\Http\\Controllers\\DesignController@create", + "uri": "api/v1/designs/create", + "method": [ + "GET", + "HEAD" + ] + }, + "api.designs.store": { + "name": "api.designs.store", + "domain": null, + "action": "App\\Http\\Controllers\\DesignController@store", + "uri": "api/v1/designs", + "method": [ + "POST" + ] + }, + "api.designs.show": { + "name": "api.designs.show", + "domain": null, + "action": "App\\Http\\Controllers\\DesignController@show", + "uri": "api/v1/designs/{design}", + "method": [ + "GET", + "HEAD" + ] + }, + "api.designs.edit": { + "name": "api.designs.edit", + "domain": null, + "action": "App\\Http\\Controllers\\DesignController@edit", + "uri": "api/v1/designs/{design}/edit", + "method": [ + "GET", + "HEAD" + ] + }, + "api.designs.update": { + "name": "api.designs.update", + "domain": null, + "action": "App\\Http\\Controllers\\DesignController@update", + "uri": "api/v1/designs/{design}", + "method": [ + "PUT", + "PATCH" + ] + }, + "api.designs.destroy": { + "name": "api.designs.destroy", + "domain": null, + "action": "App\\Http\\Controllers\\DesignController@destroy", + "uri": "api/v1/designs/{design}", + "method": [ + "DELETE" + ] + }, + "api.designs.bulk": { + "name": "api.designs.bulk", + "domain": null, + "action": "App\\Http\\Controllers\\DesignController@bulk", + "uri": "api/v1/designs/bulk", + "method": [ + "POST" + ] + }, + "api.designs.default": { + "name": "api.designs.default", + "domain": null, + "action": "App\\Http\\Controllers\\DesignController@default", + "uri": "api/v1/designs/set/default", + "method": [ + "POST" + ] + }, + "api.documents.index": { + "name": "api.documents.index", + "domain": null, + "action": "App\\Http\\Controllers\\DocumentController@index", + "uri": "api/v1/documents", + "method": [ + "GET", + "HEAD" + ] + }, + "api.documents.create": { + "name": "api.documents.create", + "domain": null, + "action": "App\\Http\\Controllers\\DocumentController@create", + "uri": "api/v1/documents/create", + "method": [ + "GET", + "HEAD" + ] + }, + "api.documents.store": { + "name": "api.documents.store", + "domain": null, + "action": "App\\Http\\Controllers\\DocumentController@store", + "uri": "api/v1/documents", + "method": [ + "POST" + ] + }, + "api.documents.show": { + "name": "api.documents.show", + "domain": null, + "action": "App\\Http\\Controllers\\DocumentController@show", + "uri": "api/v1/documents/{document}", + "method": [ + "GET", + "HEAD" + ] + }, + "api.documents.edit": { + "name": "api.documents.edit", + "domain": null, + "action": "App\\Http\\Controllers\\DocumentController@edit", + "uri": "api/v1/documents/{document}/edit", + "method": [ + "GET", + "HEAD" + ] + }, + "api.documents.update": { + "name": "api.documents.update", + "domain": null, + "action": "App\\Http\\Controllers\\DocumentController@update", + "uri": "api/v1/documents/{document}", + "method": [ + "PUT", + "PATCH" + ] + }, + "api.documents.destroy": { + "name": "api.documents.destroy", + "domain": null, + "action": "App\\Http\\Controllers\\DocumentController@destroy", + "uri": "api/v1/documents/{document}", + "method": [ + "DELETE" + ] + }, + "api.documents.download": { + "name": "api.documents.download", + "domain": null, + "action": "App\\Http\\Controllers\\DocumentController@download", + "uri": "api/v1/documents/{document}/download", + "method": [ + "GET", + "HEAD" + ] + }, + "api.documents.bulk": { + "name": "api.documents.bulk", + "domain": null, + "action": "App\\Http\\Controllers\\DocumentController@bulk", + "uri": "api/v1/documents/bulk", + "method": [ + "POST" + ] + }, + "api.email.send": { + "name": "api.email.send", + "domain": null, + "action": "App\\Http\\Controllers\\EmailController@send", + "uri": "api/v1/emails", + "method": [ + "POST" + ] + }, + "api.expenses.index": { + "name": "api.expenses.index", + "domain": null, + "action": "App\\Http\\Controllers\\ExpenseController@index", + "uri": "api/v1/expenses", + "method": [ + "GET", + "HEAD" + ] + }, + "api.expenses.create": { + "name": "api.expenses.create", + "domain": null, + "action": "App\\Http\\Controllers\\ExpenseController@create", + "uri": "api/v1/expenses/create", + "method": [ + "GET", + "HEAD" + ] + }, + "api.expenses.store": { + "name": "api.expenses.store", + "domain": null, + "action": "App\\Http\\Controllers\\ExpenseController@store", + "uri": "api/v1/expenses", + "method": [ + "POST" + ] + }, + "api.expenses.show": { + "name": "api.expenses.show", + "domain": null, + "action": "App\\Http\\Controllers\\ExpenseController@show", + "uri": "api/v1/expenses/{expense}", + "method": [ + "GET", + "HEAD" + ] + }, + "api.expenses.edit": { + "name": "api.expenses.edit", + "domain": null, + "action": "App\\Http\\Controllers\\ExpenseController@edit", + "uri": "api/v1/expenses/{expense}/edit", + "method": [ + "GET", + "HEAD" + ] + }, + "api.expenses.update": { + "name": "api.expenses.update", + "domain": null, + "action": "App\\Http\\Controllers\\ExpenseController@update", + "uri": "api/v1/expenses/{expense}", + "method": [ + "PUT", + "PATCH" + ] + }, + "api.expenses.destroy": { + "name": "api.expenses.destroy", + "domain": null, + "action": "App\\Http\\Controllers\\ExpenseController@destroy", + "uri": "api/v1/expenses/{expense}", + "method": [ + "DELETE" + ] + }, + "api.generated::OWiGWLlLZWpbFSQ2": { + "name": "api.generated::OWiGWLlLZWpbFSQ2", + "domain": null, + "action": "App\\Http\\Controllers\\ExpenseController@upload", + "uri": "api/v1/expenses/{expense}/upload", + "method": [ + "PUT" + ] + }, + "api.expenses.bulk": { + "name": "api.expenses.bulk", + "domain": null, + "action": "App\\Http\\Controllers\\ExpenseController@bulk", + "uri": "api/v1/expenses/bulk", + "method": [ + "POST" + ] + }, + "api.export.index": { + "name": "api.export.index", + "domain": null, + "action": "App\\Http\\Controllers\\ExportController@index", + "uri": "api/v1/export", + "method": [ + "POST" + ] + }, + "api.expense_categories.index": { + "name": "api.expense_categories.index", + "domain": null, + "action": "App\\Http\\Controllers\\ExpenseCategoryController@index", + "uri": "api/v1/expense_categories", + "method": [ + "GET", + "HEAD" + ] + }, + "api.expense_categories.create": { + "name": "api.expense_categories.create", + "domain": null, + "action": "App\\Http\\Controllers\\ExpenseCategoryController@create", + "uri": "api/v1/expense_categories/create", + "method": [ + "GET", + "HEAD" + ] + }, + "api.expense_categories.store": { + "name": "api.expense_categories.store", + "domain": null, + "action": "App\\Http\\Controllers\\ExpenseCategoryController@store", + "uri": "api/v1/expense_categories", + "method": [ + "POST" + ] + }, + "api.expense_categories.show": { + "name": "api.expense_categories.show", + "domain": null, + "action": "App\\Http\\Controllers\\ExpenseCategoryController@show", + "uri": "api/v1/expense_categories/{expense_category}", + "method": [ + "GET", + "HEAD" + ] + }, + "api.expense_categories.edit": { + "name": "api.expense_categories.edit", + "domain": null, + "action": "App\\Http\\Controllers\\ExpenseCategoryController@edit", + "uri": "api/v1/expense_categories/{expense_category}/edit", + "method": [ + "GET", + "HEAD" + ] + }, + "api.expense_categories.update": { + "name": "api.expense_categories.update", + "domain": null, + "action": "App\\Http\\Controllers\\ExpenseCategoryController@update", + "uri": "api/v1/expense_categories/{expense_category}", + "method": [ + "PUT", + "PATCH" + ] + }, + "api.expense_categories.destroy": { + "name": "api.expense_categories.destroy", + "domain": null, + "action": "App\\Http\\Controllers\\ExpenseCategoryController@destroy", + "uri": "api/v1/expense_categories/{expense_category}", + "method": [ + "DELETE" + ] + }, + "api.expense_categories.bulk": { + "name": "api.expense_categories.bulk", + "domain": null, + "action": "App\\Http\\Controllers\\ExpenseCategoryController@bulk", + "uri": "api/v1/expense_categories/bulk", + "method": [ + "POST" + ] + }, + "api.group_settings.index": { + "name": "api.group_settings.index", + "domain": null, + "action": "App\\Http\\Controllers\\GroupSettingController@index", + "uri": "api/v1/group_settings", + "method": [ + "GET", + "HEAD" + ] + }, + "api.group_settings.create": { + "name": "api.group_settings.create", + "domain": null, + "action": "App\\Http\\Controllers\\GroupSettingController@create", + "uri": "api/v1/group_settings/create", + "method": [ + "GET", + "HEAD" + ] + }, + "api.group_settings.store": { + "name": "api.group_settings.store", + "domain": null, + "action": "App\\Http\\Controllers\\GroupSettingController@store", + "uri": "api/v1/group_settings", + "method": [ + "POST" + ] + }, + "api.group_settings.show": { + "name": "api.group_settings.show", + "domain": null, + "action": "App\\Http\\Controllers\\GroupSettingController@show", + "uri": "api/v1/group_settings/{group_setting}", + "method": [ + "GET", + "HEAD" + ] + }, + "api.group_settings.edit": { + "name": "api.group_settings.edit", + "domain": null, + "action": "App\\Http\\Controllers\\GroupSettingController@edit", + "uri": "api/v1/group_settings/{group_setting}/edit", + "method": [ + "GET", + "HEAD" + ] + }, + "api.group_settings.update": { + "name": "api.group_settings.update", + "domain": null, + "action": "App\\Http\\Controllers\\GroupSettingController@update", + "uri": "api/v1/group_settings/{group_setting}", + "method": [ + "PUT", + "PATCH" + ] + }, + "api.group_settings.destroy": { + "name": "api.group_settings.destroy", + "domain": null, + "action": "App\\Http\\Controllers\\GroupSettingController@destroy", + "uri": "api/v1/group_settings/{group_setting}", + "method": [ + "DELETE" + ] + }, + "api.generated::9lZCDBC6fDL5q21R": { + "name": "api.generated::9lZCDBC6fDL5q21R", + "domain": null, + "action": "App\\Http\\Controllers\\GroupSettingController@bulk", + "uri": "api/v1/group_settings/bulk", + "method": [ + "POST" + ] + }, + "api.group_settings.upload": { + "name": "api.group_settings.upload", + "domain": null, + "action": "App\\Http\\Controllers\\GroupSettingController@upload", + "uri": "api/v1/group_settings/{group_setting}/upload", + "method": [ + "PUT" + ] + }, + "api.import.import": { + "name": "api.import.import", + "domain": null, + "action": "App\\Http\\Controllers\\ImportController@import", + "uri": "api/v1/import", + "method": [ + "POST" + ] + }, + "api.import.import_json": { + "name": "api.import.import_json", + "domain": null, + "action": "App\\Http\\Controllers\\ImportJsonController@import", + "uri": "api/v1/import_json", + "method": [ + "POST" + ] + }, + "api.import.preimport": { + "name": "api.import.preimport", + "domain": null, + "action": "App\\Http\\Controllers\\ImportController@preimport", + "uri": "api/v1/preimport", + "method": [ + "POST" + ] + }, + "api.invoices.index": { + "name": "api.invoices.index", + "domain": null, + "action": "App\\Http\\Controllers\\InvoiceController@index", + "uri": "api/v1/invoices", + "method": [ + "GET", + "HEAD" + ] + }, + "api.invoices.create": { + "name": "api.invoices.create", + "domain": null, + "action": "App\\Http\\Controllers\\InvoiceController@create", + "uri": "api/v1/invoices/create", + "method": [ + "GET", + "HEAD" + ] + }, + "api.invoices.store": { + "name": "api.invoices.store", + "domain": null, + "action": "App\\Http\\Controllers\\InvoiceController@store", + "uri": "api/v1/invoices", + "method": [ + "POST" + ] + }, + "api.invoices.show": { + "name": "api.invoices.show", + "domain": null, + "action": "App\\Http\\Controllers\\InvoiceController@show", + "uri": "api/v1/invoices/{invoice}", + "method": [ + "GET", + "HEAD" + ] + }, + "api.invoices.edit": { + "name": "api.invoices.edit", + "domain": null, + "action": "App\\Http\\Controllers\\InvoiceController@edit", + "uri": "api/v1/invoices/{invoice}/edit", + "method": [ + "GET", + "HEAD" + ] + }, + "api.invoices.update": { + "name": "api.invoices.update", + "domain": null, + "action": "App\\Http\\Controllers\\InvoiceController@update", + "uri": "api/v1/invoices/{invoice}", + "method": [ + "PUT", + "PATCH" + ] + }, + "api.invoices.destroy": { + "name": "api.invoices.destroy", + "domain": null, + "action": "App\\Http\\Controllers\\InvoiceController@destroy", + "uri": "api/v1/invoices/{invoice}", + "method": [ + "DELETE" + ] + }, + "api.invoices.delivery_note": { + "name": "api.invoices.delivery_note", + "domain": null, + "action": "App\\Http\\Controllers\\InvoiceController@deliveryNote", + "uri": "api/v1/invoices/{invoice}/delivery_note", + "method": [ + "GET", + "HEAD" + ] + }, + "api.invoices.action": { + "name": "api.invoices.action", + "domain": null, + "action": "App\\Http\\Controllers\\InvoiceController@action", + "uri": "api/v1/invoices/{invoice}/{action}", + "method": [ + "GET", + "HEAD" + ] + }, + "api.invoices.upload": { + "name": "api.invoices.upload", + "domain": null, + "action": "App\\Http\\Controllers\\InvoiceController@upload", + "uri": "api/v1/invoices/{invoice}/upload", + "method": [ + "PUT" + ] + }, + "api.invoices.downloadPdf": { + "name": "api.invoices.downloadPdf", + "domain": null, + "action": "App\\Http\\Controllers\\InvoiceController@downloadPdf", + "uri": "api/v1/invoice/{invitation_key}/download", + "method": [ + "GET", + "HEAD" + ] + }, + "api.invoices.bulk": { + "name": "api.invoices.bulk", + "domain": null, + "action": "App\\Http\\Controllers\\InvoiceController@bulk", + "uri": "api/v1/invoices/bulk", + "method": [ + "POST" + ] + }, + "api.invoices.update_reminders": { + "name": "api.invoices.update_reminders", + "domain": null, + "action": "App\\Http\\Controllers\\InvoiceController@update_reminders", + "uri": "api/v1/invoices/update_reminders", + "method": [ + "POST" + ] + }, + "api.logout": { + "name": "api.logout", + "domain": null, + "action": "App\\Http\\Controllers\\LogoutController@index", + "uri": "api/v1/logout", + "method": [ + "POST" + ] + }, + "api.migrate.start": { + "name": "api.migrate.start", + "domain": null, + "action": "App\\Http\\Controllers\\MigrationController@index", + "uri": "api/v1/migrate", + "method": [ + "POST" + ] + }, + "api.generated::JNCu852fm8brWprM": { + "name": "api.generated::JNCu852fm8brWprM", + "domain": null, + "action": "App\\Http\\Controllers\\MigrationController@purgeCompany", + "uri": "api/v1/migration/purge/{company}", + "method": [ + "POST" + ] + }, + "api.generated::J0qb09d1IZSKuB3T": { + "name": "api.generated::J0qb09d1IZSKuB3T", + "domain": null, + "action": "App\\Http\\Controllers\\MigrationController@purgeCompanySaveSettings", + "uri": "api/v1/migration/purge_save_settings/{company}", + "method": [ + "POST" + ] + }, + "api.generated::ITSwZTwLBJ1jvaBg": { + "name": "api.generated::ITSwZTwLBJ1jvaBg", + "domain": null, + "action": "App\\Http\\Controllers\\MigrationController@startMigration", + "uri": "api/v1/migration/start", + "method": [ + "POST" + ] + }, + "api.generated::W3GelFKf9MECShsz": { + "name": "api.generated::W3GelFKf9MECShsz", + "domain": null, + "action": "App\\Http\\Controllers\\OneTimeTokenController@create", + "uri": "api/v1/one_time_token", + "method": [ + "POST" + ] + }, + "api.payments.index": { + "name": "api.payments.index", + "domain": null, + "action": "App\\Http\\Controllers\\PaymentController@index", + "uri": "api/v1/payments", + "method": [ + "GET", + "HEAD" + ] + }, + "api.payments.create": { + "name": "api.payments.create", + "domain": null, + "action": "App\\Http\\Controllers\\PaymentController@create", + "uri": "api/v1/payments/create", + "method": [ + "GET", + "HEAD" + ] + }, + "api.payments.store": { + "name": "api.payments.store", + "domain": null, + "action": "App\\Http\\Controllers\\PaymentController@store", + "uri": "api/v1/payments", + "method": [ + "POST" + ] + }, + "api.payments.show": { + "name": "api.payments.show", + "domain": null, + "action": "App\\Http\\Controllers\\PaymentController@show", + "uri": "api/v1/payments/{payment}", + "method": [ + "GET", + "HEAD" + ] + }, + "api.payments.edit": { + "name": "api.payments.edit", + "domain": null, + "action": "App\\Http\\Controllers\\PaymentController@edit", + "uri": "api/v1/payments/{payment}/edit", + "method": [ + "GET", + "HEAD" + ] + }, + "api.payments.update": { + "name": "api.payments.update", + "domain": null, + "action": "App\\Http\\Controllers\\PaymentController@update", + "uri": "api/v1/payments/{payment}", + "method": [ + "PUT", + "PATCH" + ] + }, + "api.payments.destroy": { + "name": "api.payments.destroy", + "domain": null, + "action": "App\\Http\\Controllers\\PaymentController@destroy", + "uri": "api/v1/payments/{payment}", + "method": [ + "DELETE" + ] + }, + "api.payments.refund": { + "name": "api.payments.refund", + "domain": null, + "action": "App\\Http\\Controllers\\PaymentController@refund", + "uri": "api/v1/payments/refund", + "method": [ + "POST" + ] + }, + "api.payments.bulk": { + "name": "api.payments.bulk", + "domain": null, + "action": "App\\Http\\Controllers\\PaymentController@bulk", + "uri": "api/v1/payments/bulk", + "method": [ + "POST" + ] + }, + "api.generated::b5ZuoYI6S7M4ijwt": { + "name": "api.generated::b5ZuoYI6S7M4ijwt", + "domain": null, + "action": "App\\Http\\Controllers\\PaymentController@upload", + "uri": "api/v1/payments/{payment}/upload", + "method": [ + "PUT" + ] + }, + "api.payment_terms.index": { + "name": "api.payment_terms.index", + "domain": null, + "action": "App\\Http\\Controllers\\PaymentTermController@index", + "uri": "api/v1/payment_terms", + "method": [ + "GET", + "HEAD" + ] + }, + "api.payment_terms.create": { + "name": "api.payment_terms.create", + "domain": null, + "action": "App\\Http\\Controllers\\PaymentTermController@create", + "uri": "api/v1/payment_terms/create", + "method": [ + "GET", + "HEAD" + ] + }, + "api.payment_terms.store": { + "name": "api.payment_terms.store", + "domain": null, + "action": "App\\Http\\Controllers\\PaymentTermController@store", + "uri": "api/v1/payment_terms", + "method": [ + "POST" + ] + }, + "api.payment_terms.show": { + "name": "api.payment_terms.show", + "domain": null, + "action": "App\\Http\\Controllers\\PaymentTermController@show", + "uri": "api/v1/payment_terms/{payment_term}", + "method": [ + "GET", + "HEAD" + ] + }, + "api.payment_terms.edit": { + "name": "api.payment_terms.edit", + "domain": null, + "action": "App\\Http\\Controllers\\PaymentTermController@edit", + "uri": "api/v1/payment_terms/{payment_term}/edit", + "method": [ + "GET", + "HEAD" + ] + }, + "api.payment_terms.update": { + "name": "api.payment_terms.update", + "domain": null, + "action": "App\\Http\\Controllers\\PaymentTermController@update", + "uri": "api/v1/payment_terms/{payment_term}", + "method": [ + "PUT", + "PATCH" + ] + }, + "api.payment_terms.destroy": { + "name": "api.payment_terms.destroy", + "domain": null, + "action": "App\\Http\\Controllers\\PaymentTermController@destroy", + "uri": "api/v1/payment_terms/{payment_term}", + "method": [ + "DELETE" + ] + }, + "api.payment_terms.bulk": { + "name": "api.payment_terms.bulk", + "domain": null, + "action": "App\\Http\\Controllers\\PaymentTermController@bulk", + "uri": "api/v1/payment_terms/bulk", + "method": [ + "POST" + ] + }, + "api.preview.show": { + "name": "api.preview.show", + "domain": null, + "action": "App\\Http\\Controllers\\PreviewController@show", + "uri": "api/v1/preview", + "method": [ + "POST" + ] + }, + "api.preview.live": { + "name": "api.preview.live", + "domain": null, + "action": "App\\Http\\Controllers\\PreviewController@live", + "uri": "api/v1/live_preview", + "method": [ + "POST" + ] + }, + "api.preview_purchase_order.show": { + "name": "api.preview_purchase_order.show", + "domain": null, + "action": "App\\Http\\Controllers\\PreviewPurchaseOrderController@show", + "uri": "api/v1/preview/purchase_order", + "method": [ + "POST" + ] + }, + "api.preview_purchase_order.live": { + "name": "api.preview_purchase_order.live", + "domain": null, + "action": "App\\Http\\Controllers\\PreviewPurchaseOrderController@live", + "uri": "api/v1/live_preview/purchase_order", + "method": [ + "POST" + ] + }, + "api.products.index": { + "name": "api.products.index", + "domain": null, + "action": "App\\Http\\Controllers\\ProductController@index", + "uri": "api/v1/products", + "method": [ + "GET", + "HEAD" + ] + }, + "api.products.create": { + "name": "api.products.create", + "domain": null, + "action": "App\\Http\\Controllers\\ProductController@create", + "uri": "api/v1/products/create", + "method": [ + "GET", + "HEAD" + ] + }, + "api.products.store": { + "name": "api.products.store", + "domain": null, + "action": "App\\Http\\Controllers\\ProductController@store", + "uri": "api/v1/products", + "method": [ + "POST" + ] + }, + "api.products.show": { + "name": "api.products.show", + "domain": null, + "action": "App\\Http\\Controllers\\ProductController@show", + "uri": "api/v1/products/{product}", + "method": [ + "GET", + "HEAD" + ] + }, + "api.products.edit": { + "name": "api.products.edit", + "domain": null, + "action": "App\\Http\\Controllers\\ProductController@edit", + "uri": "api/v1/products/{product}/edit", + "method": [ + "GET", + "HEAD" + ] + }, + "api.products.update": { + "name": "api.products.update", + "domain": null, + "action": "App\\Http\\Controllers\\ProductController@update", + "uri": "api/v1/products/{product}", + "method": [ + "PUT", + "PATCH" + ] + }, + "api.products.destroy": { + "name": "api.products.destroy", + "domain": null, + "action": "App\\Http\\Controllers\\ProductController@destroy", + "uri": "api/v1/products/{product}", + "method": [ + "DELETE" + ] + }, + "api.products.bulk": { + "name": "api.products.bulk", + "domain": null, + "action": "App\\Http\\Controllers\\ProductController@bulk", + "uri": "api/v1/products/bulk", + "method": [ + "POST" + ] + }, + "api.generated::71ETdJ7Jkmc3mgmn": { + "name": "api.generated::71ETdJ7Jkmc3mgmn", + "domain": null, + "action": "App\\Http\\Controllers\\ProductController@upload", + "uri": "api/v1/products/{product}/upload", + "method": [ + "PUT" + ] + }, + "api.projects.index": { + "name": "api.projects.index", + "domain": null, + "action": "App\\Http\\Controllers\\ProjectController@index", + "uri": "api/v1/projects", + "method": [ + "GET", + "HEAD" + ] + }, + "api.projects.create": { + "name": "api.projects.create", + "domain": null, + "action": "App\\Http\\Controllers\\ProjectController@create", + "uri": "api/v1/projects/create", + "method": [ + "GET", + "HEAD" + ] + }, + "api.projects.store": { + "name": "api.projects.store", + "domain": null, + "action": "App\\Http\\Controllers\\ProjectController@store", + "uri": "api/v1/projects", + "method": [ + "POST" + ] + }, + "api.projects.show": { + "name": "api.projects.show", + "domain": null, + "action": "App\\Http\\Controllers\\ProjectController@show", + "uri": "api/v1/projects/{project}", + "method": [ + "GET", + "HEAD" + ] + }, + "api.projects.edit": { + "name": "api.projects.edit", + "domain": null, + "action": "App\\Http\\Controllers\\ProjectController@edit", + "uri": "api/v1/projects/{project}/edit", + "method": [ + "GET", + "HEAD" + ] + }, + "api.projects.update": { + "name": "api.projects.update", + "domain": null, + "action": "App\\Http\\Controllers\\ProjectController@update", + "uri": "api/v1/projects/{project}", + "method": [ + "PUT", + "PATCH" + ] + }, + "api.projects.destroy": { + "name": "api.projects.destroy", + "domain": null, + "action": "App\\Http\\Controllers\\ProjectController@destroy", + "uri": "api/v1/projects/{project}", + "method": [ + "DELETE" + ] + }, + "api.projects.bulk": { + "name": "api.projects.bulk", + "domain": null, + "action": "App\\Http\\Controllers\\ProjectController@bulk", + "uri": "api/v1/projects/bulk", + "method": [ + "POST" + ] + }, + "api.projects.upload": { + "name": "api.projects.upload", + "domain": null, + "action": "App\\Http\\Controllers\\ProjectController@upload", + "uri": "api/v1/projects/{project}/upload", + "method": [ + "PUT" + ] + }, + "api.quotes.index": { + "name": "api.quotes.index", + "domain": null, + "action": "App\\Http\\Controllers\\QuoteController@index", + "uri": "api/v1/quotes", + "method": [ + "GET", + "HEAD" + ] + }, + "api.quotes.create": { + "name": "api.quotes.create", + "domain": null, + "action": "App\\Http\\Controllers\\QuoteController@create", + "uri": "api/v1/quotes/create", + "method": [ + "GET", + "HEAD" + ] + }, + "api.quotes.store": { + "name": "api.quotes.store", + "domain": null, + "action": "App\\Http\\Controllers\\QuoteController@store", + "uri": "api/v1/quotes", + "method": [ + "POST" + ] + }, + "api.quotes.show": { + "name": "api.quotes.show", + "domain": null, + "action": "App\\Http\\Controllers\\QuoteController@show", + "uri": "api/v1/quotes/{quote}", + "method": [ + "GET", + "HEAD" + ] + }, + "api.quotes.edit": { + "name": "api.quotes.edit", + "domain": null, + "action": "App\\Http\\Controllers\\QuoteController@edit", + "uri": "api/v1/quotes/{quote}/edit", + "method": [ + "GET", + "HEAD" + ] + }, + "api.quotes.update": { + "name": "api.quotes.update", + "domain": null, + "action": "App\\Http\\Controllers\\QuoteController@update", + "uri": "api/v1/quotes/{quote}", + "method": [ + "PUT", + "PATCH" + ] + }, + "api.quotes.destroy": { + "name": "api.quotes.destroy", + "domain": null, + "action": "App\\Http\\Controllers\\QuoteController@destroy", + "uri": "api/v1/quotes/{quote}", + "method": [ + "DELETE" + ] + }, + "api.quotes.action": { + "name": "api.quotes.action", + "domain": null, + "action": "App\\Http\\Controllers\\QuoteController@action", + "uri": "api/v1/quotes/{quote}/{action}", + "method": [ + "GET", + "HEAD" + ] + }, + "api.quotes.bulk": { + "name": "api.quotes.bulk", + "domain": null, + "action": "App\\Http\\Controllers\\QuoteController@bulk", + "uri": "api/v1/quotes/bulk", + "method": [ + "POST" + ] + }, + "api.generated::F37vmxMYBp00fEV5": { + "name": "api.generated::F37vmxMYBp00fEV5", + "domain": null, + "action": "App\\Http\\Controllers\\QuoteController@upload", + "uri": "api/v1/quotes/{quote}/upload", + "method": [ + "PUT" + ] + }, + "api.recurring_expenses.index": { + "name": "api.recurring_expenses.index", + "domain": null, + "action": "App\\Http\\Controllers\\RecurringExpenseController@index", + "uri": "api/v1/recurring_expenses", + "method": [ + "GET", + "HEAD" + ] + }, + "api.recurring_expenses.create": { + "name": "api.recurring_expenses.create", + "domain": null, + "action": "App\\Http\\Controllers\\RecurringExpenseController@create", + "uri": "api/v1/recurring_expenses/create", + "method": [ + "GET", + "HEAD" + ] + }, + "api.recurring_expenses.store": { + "name": "api.recurring_expenses.store", + "domain": null, + "action": "App\\Http\\Controllers\\RecurringExpenseController@store", + "uri": "api/v1/recurring_expenses", + "method": [ + "POST" + ] + }, + "api.recurring_expenses.show": { + "name": "api.recurring_expenses.show", + "domain": null, + "action": "App\\Http\\Controllers\\RecurringExpenseController@show", + "uri": "api/v1/recurring_expenses/{recurring_expense}", + "method": [ + "GET", + "HEAD" + ] + }, + "api.recurring_expenses.edit": { + "name": "api.recurring_expenses.edit", + "domain": null, + "action": "App\\Http\\Controllers\\RecurringExpenseController@edit", + "uri": "api/v1/recurring_expenses/{recurring_expense}/edit", + "method": [ + "GET", + "HEAD" + ] + }, + "api.recurring_expenses.update": { + "name": "api.recurring_expenses.update", + "domain": null, + "action": "App\\Http\\Controllers\\RecurringExpenseController@update", + "uri": "api/v1/recurring_expenses/{recurring_expense}", + "method": [ + "PUT", + "PATCH" + ] + }, + "api.recurring_expenses.destroy": { + "name": "api.recurring_expenses.destroy", + "domain": null, + "action": "App\\Http\\Controllers\\RecurringExpenseController@destroy", + "uri": "api/v1/recurring_expenses/{recurring_expense}", + "method": [ + "DELETE" + ] + }, + "api.recurring_expenses.bulk": { + "name": "api.recurring_expenses.bulk", + "domain": null, + "action": "App\\Http\\Controllers\\RecurringExpenseController@bulk", + "uri": "api/v1/recurring_expenses/bulk", + "method": [ + "POST" + ] + }, + "api.generated::oS0LS4kGxzFgcA7G": { + "name": "api.generated::oS0LS4kGxzFgcA7G", + "domain": null, + "action": "App\\Http\\Controllers\\RecurringExpenseController@upload", + "uri": "api/v1/recurring_expenses/{recurring_expense}/upload", + "method": [ + "PUT" + ] + }, + "api.recurring_invoices.index": { + "name": "api.recurring_invoices.index", + "domain": null, + "action": "App\\Http\\Controllers\\RecurringInvoiceController@index", + "uri": "api/v1/recurring_invoices", + "method": [ + "GET", + "HEAD" + ] + }, + "api.recurring_invoices.create": { + "name": "api.recurring_invoices.create", + "domain": null, + "action": "App\\Http\\Controllers\\RecurringInvoiceController@create", + "uri": "api/v1/recurring_invoices/create", + "method": [ + "GET", + "HEAD" + ] + }, + "api.recurring_invoices.store": { + "name": "api.recurring_invoices.store", + "domain": null, + "action": "App\\Http\\Controllers\\RecurringInvoiceController@store", + "uri": "api/v1/recurring_invoices", + "method": [ + "POST" + ] + }, + "api.recurring_invoices.show": { + "name": "api.recurring_invoices.show", + "domain": null, + "action": "App\\Http\\Controllers\\RecurringInvoiceController@show", + "uri": "api/v1/recurring_invoices/{recurring_invoice}", + "method": [ + "GET", + "HEAD" + ] + }, + "api.recurring_invoices.edit": { + "name": "api.recurring_invoices.edit", + "domain": null, + "action": "App\\Http\\Controllers\\RecurringInvoiceController@edit", + "uri": "api/v1/recurring_invoices/{recurring_invoice}/edit", + "method": [ + "GET", + "HEAD" + ] + }, + "api.recurring_invoices.update": { + "name": "api.recurring_invoices.update", + "domain": null, + "action": "App\\Http\\Controllers\\RecurringInvoiceController@update", + "uri": "api/v1/recurring_invoices/{recurring_invoice}", + "method": [ + "PUT", + "PATCH" + ] + }, + "api.recurring_invoices.destroy": { + "name": "api.recurring_invoices.destroy", + "domain": null, + "action": "App\\Http\\Controllers\\RecurringInvoiceController@destroy", + "uri": "api/v1/recurring_invoices/{recurring_invoice}", + "method": [ + "DELETE" + ] + }, + "api.recurring_invoices.bulk": { + "name": "api.recurring_invoices.bulk", + "domain": null, + "action": "App\\Http\\Controllers\\RecurringInvoiceController@bulk", + "uri": "api/v1/recurring_invoices/bulk", + "method": [ + "POST" + ] + }, + "api.generated::THUWuXBktrWauVQ9": { + "name": "api.generated::THUWuXBktrWauVQ9", + "domain": null, + "action": "App\\Http\\Controllers\\RecurringInvoiceController@upload", + "uri": "api/v1/recurring_invoices/{recurring_invoice}/upload", + "method": [ + "PUT" + ] + }, + "api.recurring_quotes.index": { + "name": "api.recurring_quotes.index", + "domain": null, + "action": "App\\Http\\Controllers\\RecurringQuoteController@index", + "uri": "api/v1/recurring_quotes", + "method": [ + "GET", + "HEAD" + ] + }, + "api.recurring_quotes.create": { + "name": "api.recurring_quotes.create", + "domain": null, + "action": "App\\Http\\Controllers\\RecurringQuoteController@create", + "uri": "api/v1/recurring_quotes/create", + "method": [ + "GET", + "HEAD" + ] + }, + "api.recurring_quotes.store": { + "name": "api.recurring_quotes.store", + "domain": null, + "action": "App\\Http\\Controllers\\RecurringQuoteController@store", + "uri": "api/v1/recurring_quotes", + "method": [ + "POST" + ] + }, + "api.recurring_quotes.show": { + "name": "api.recurring_quotes.show", + "domain": null, + "action": "App\\Http\\Controllers\\RecurringQuoteController@show", + "uri": "api/v1/recurring_quotes/{recurring_quote}", + "method": [ + "GET", + "HEAD" + ] + }, + "api.recurring_quotes.edit": { + "name": "api.recurring_quotes.edit", + "domain": null, + "action": "App\\Http\\Controllers\\RecurringQuoteController@edit", + "uri": "api/v1/recurring_quotes/{recurring_quote}/edit", + "method": [ + "GET", + "HEAD" + ] + }, + "api.recurring_quotes.update": { + "name": "api.recurring_quotes.update", + "domain": null, + "action": "App\\Http\\Controllers\\RecurringQuoteController@update", + "uri": "api/v1/recurring_quotes/{recurring_quote}", + "method": [ + "PUT", + "PATCH" + ] + }, + "api.recurring_quotes.destroy": { + "name": "api.recurring_quotes.destroy", + "domain": null, + "action": "App\\Http\\Controllers\\RecurringQuoteController@destroy", + "uri": "api/v1/recurring_quotes/{recurring_quote}", + "method": [ + "DELETE" + ] + }, + "api.recurring_quotes.bulk": { + "name": "api.recurring_quotes.bulk", + "domain": null, + "action": "App\\Http\\Controllers\\RecurringQuoteController@bulk", + "uri": "api/v1/recurring_quotes/bulk", + "method": [ + "POST" + ] + }, + "api.generated::zkD4lZXhrUXOjOZV": { + "name": "api.generated::zkD4lZXhrUXOjOZV", + "domain": null, + "action": "App\\Http\\Controllers\\RecurringQuoteController@upload", + "uri": "api/v1/recurring_quotes/{recurring_quote}/upload", + "method": [ + "PUT" + ] + }, + "api.generated::WmgewfqthVFRED2d": { + "name": "api.generated::WmgewfqthVFRED2d", + "domain": null, + "action": "App\\Http\\Controllers\\Auth\\LoginController@refresh", + "uri": "api/v1/refresh", + "method": [ + "POST" + ] + }, + "api.generated::aymYLRFHIROz1CoI": { + "name": "api.generated::aymYLRFHIROz1CoI", + "domain": null, + "action": "App\\Http\\Controllers\\Reports\\ClientReportController", + "uri": "api/v1/reports/clients", + "method": [ + "POST" + ] + }, + "api.generated::62Dhs7Yn6QvaFZ2K": { + "name": "api.generated::62Dhs7Yn6QvaFZ2K", + "domain": null, + "action": "App\\Http\\Controllers\\Reports\\ClientContactReportController", + "uri": "api/v1/reports/contacts", + "method": [ + "POST" + ] + }, + "api.generated::DYbmp87RBttLr1UR": { + "name": "api.generated::DYbmp87RBttLr1UR", + "domain": null, + "action": "App\\Http\\Controllers\\Reports\\CreditReportController", + "uri": "api/v1/reports/credits", + "method": [ + "POST" + ] + }, + "api.generated::9ylFhDv2gS6bYYR3": { + "name": "api.generated::9ylFhDv2gS6bYYR3", + "domain": null, + "action": "App\\Http\\Controllers\\Reports\\DocumentReportController", + "uri": "api/v1/reports/documents", + "method": [ + "POST" + ] + }, + "api.generated::BxIThlKQJ8Xb4Snc": { + "name": "api.generated::BxIThlKQJ8Xb4Snc", + "domain": null, + "action": "App\\Http\\Controllers\\Reports\\ExpenseReportController", + "uri": "api/v1/reports/expenses", + "method": [ + "POST" + ] + }, + "api.generated::iy3PRl2i3JLjIpJS": { + "name": "api.generated::iy3PRl2i3JLjIpJS", + "domain": null, + "action": "App\\Http\\Controllers\\Reports\\InvoiceReportController", + "uri": "api/v1/reports/invoices", + "method": [ + "POST" + ] + }, + "api.generated::Ut3nqZF6THUhM90z": { + "name": "api.generated::Ut3nqZF6THUhM90z", + "domain": null, + "action": "App\\Http\\Controllers\\Reports\\InvoiceItemReportController", + "uri": "api/v1/reports/invoice_items", + "method": [ + "POST" + ] + }, + "api.generated::OEdvit54646VZKfS": { + "name": "api.generated::OEdvit54646VZKfS", + "domain": null, + "action": "App\\Http\\Controllers\\Reports\\QuoteReportController", + "uri": "api/v1/reports/quotes", + "method": [ + "POST" + ] + }, + "api.generated::5yoyFjddx6bw5qm4": { + "name": "api.generated::5yoyFjddx6bw5qm4", + "domain": null, + "action": "App\\Http\\Controllers\\Reports\\QuoteItemReportController", + "uri": "api/v1/reports/quote_items", + "method": [ + "POST" + ] + }, + "api.generated::Zbvku8lj1KcLOzcX": { + "name": "api.generated::Zbvku8lj1KcLOzcX", + "domain": null, + "action": "App\\Http\\Controllers\\Reports\\RecurringInvoiceReportController", + "uri": "api/v1/reports/recurring_invoices", + "method": [ + "POST" + ] + }, + "api.generated::ST82bPUDej34kcaF": { + "name": "api.generated::ST82bPUDej34kcaF", + "domain": null, + "action": "App\\Http\\Controllers\\Reports\\PaymentReportController", + "uri": "api/v1/reports/payments", + "method": [ + "POST" + ] + }, + "api.generated::8bSFQS6iGE57gnqO": { + "name": "api.generated::8bSFQS6iGE57gnqO", + "domain": null, + "action": "App\\Http\\Controllers\\Reports\\ProductReportController", + "uri": "api/v1/reports/products", + "method": [ + "POST" + ] + }, + "api.generated::lexe4yWHwLRtavAk": { + "name": "api.generated::lexe4yWHwLRtavAk", + "domain": null, + "action": "App\\Http\\Controllers\\Reports\\ProductSalesReportController", + "uri": "api/v1/reports/product_sales", + "method": [ + "POST" + ] + }, + "api.generated::mMlDQpafXpi2y7KC": { + "name": "api.generated::mMlDQpafXpi2y7KC", + "domain": null, + "action": "App\\Http\\Controllers\\Reports\\TaskReportController", + "uri": "api/v1/reports/tasks", + "method": [ + "POST" + ] + }, + "api.generated::S43GAj6FZKKN9Ute": { + "name": "api.generated::S43GAj6FZKKN9Ute", + "domain": null, + "action": "App\\Http\\Controllers\\Reports\\ProfitAndLossController", + "uri": "api/v1/reports/profitloss", + "method": [ + "POST" + ] + }, + "api.task_schedulers.index": { + "name": "api.task_schedulers.index", + "domain": null, + "action": "App\\Http\\Controllers\\TaskSchedulerController@index", + "uri": "api/v1/task_schedulers", + "method": [ + "GET", + "HEAD" + ] + }, + "api.task_schedulers.create": { + "name": "api.task_schedulers.create", + "domain": null, + "action": "App\\Http\\Controllers\\TaskSchedulerController@create", + "uri": "api/v1/task_schedulers/create", + "method": [ + "GET", + "HEAD" + ] + }, + "api.task_schedulers.store": { + "name": "api.task_schedulers.store", + "domain": null, + "action": "App\\Http\\Controllers\\TaskSchedulerController@store", + "uri": "api/v1/task_schedulers", + "method": [ + "POST" + ] + }, + "api.task_schedulers.show": { + "name": "api.task_schedulers.show", + "domain": null, + "action": "App\\Http\\Controllers\\TaskSchedulerController@show", + "uri": "api/v1/task_schedulers/{task_scheduler}", + "method": [ + "GET", + "HEAD" + ] + }, + "api.task_schedulers.edit": { + "name": "api.task_schedulers.edit", + "domain": null, + "action": "App\\Http\\Controllers\\TaskSchedulerController@edit", + "uri": "api/v1/task_schedulers/{task_scheduler}/edit", + "method": [ + "GET", + "HEAD" + ] + }, + "api.task_schedulers.update": { + "name": "api.task_schedulers.update", + "domain": null, + "action": "App\\Http\\Controllers\\TaskSchedulerController@update", + "uri": "api/v1/task_schedulers/{task_scheduler}", + "method": [ + "PUT", + "PATCH" + ] + }, + "api.task_schedulers.destroy": { + "name": "api.task_schedulers.destroy", + "domain": null, + "action": "App\\Http\\Controllers\\TaskSchedulerController@destroy", + "uri": "api/v1/task_schedulers/{task_scheduler}", + "method": [ + "DELETE" + ] + }, + "api.task_schedulers.bulk": { + "name": "api.task_schedulers.bulk", + "domain": null, + "action": "App\\Http\\Controllers\\TaskSchedulerController@bulk", + "uri": "api/v1/task_schedulers/bulk", + "method": [ + "POST" + ] + }, + "api.generated::Mli43AT6LwA7TTMe": { + "name": "api.generated::Mli43AT6LwA7TTMe", + "domain": null, + "action": "App\\Http\\Controllers\\SchedulerController@index", + "uri": "api/v1/scheduler", + "method": [ + "GET", + "HEAD" + ] + }, + "api.generated::g8kHq9TIw6VjkGEx": { + "name": "api.generated::g8kHq9TIw6VjkGEx", + "domain": null, + "action": "App\\Http\\Controllers\\Support\\Messages\\SendingController", + "uri": "api/v1/support/messages/send", + "method": [ + "POST" + ] + }, + "api.generated::2O90hX0dRTiHoISd": { + "name": "api.generated::2O90hX0dRTiHoISd", + "domain": null, + "action": "App\\Http\\Controllers\\SelfUpdateController@update", + "uri": "api/v1/self-update", + "method": [ + "POST" + ] + }, + "api.generated::SMQnAxLt7UFSxZG5": { + "name": "api.generated::SMQnAxLt7UFSxZG5", + "domain": null, + "action": "App\\Http\\Controllers\\SelfUpdateController@checkVersion", + "uri": "api/v1/self-update/check_version", + "method": [ + "POST" + ] + }, + "api.system_logs.index": { + "name": "api.system_logs.index", + "domain": null, + "action": "App\\Http\\Controllers\\SystemLogController@index", + "uri": "api/v1/system_logs", + "method": [ + "GET", + "HEAD" + ] + }, + "api.system_logs.create": { + "name": "api.system_logs.create", + "domain": null, + "action": "App\\Http\\Controllers\\SystemLogController@create", + "uri": "api/v1/system_logs/create", + "method": [ + "GET", + "HEAD" + ] + }, + "api.system_logs.store": { + "name": "api.system_logs.store", + "domain": null, + "action": "App\\Http\\Controllers\\SystemLogController@store", + "uri": "api/v1/system_logs", + "method": [ + "POST" + ] + }, + "api.system_logs.show": { + "name": "api.system_logs.show", + "domain": null, + "action": "App\\Http\\Controllers\\SystemLogController@show", + "uri": "api/v1/system_logs/{system_log}", + "method": [ + "GET", + "HEAD" + ] + }, + "api.system_logs.edit": { + "name": "api.system_logs.edit", + "domain": null, + "action": "App\\Http\\Controllers\\SystemLogController@edit", + "uri": "api/v1/system_logs/{system_log}/edit", + "method": [ + "GET", + "HEAD" + ] + }, + "api.system_logs.update": { + "name": "api.system_logs.update", + "domain": null, + "action": "App\\Http\\Controllers\\SystemLogController@update", + "uri": "api/v1/system_logs/{system_log}", + "method": [ + "PUT", + "PATCH" + ] + }, + "api.system_logs.destroy": { + "name": "api.system_logs.destroy", + "domain": null, + "action": "App\\Http\\Controllers\\SystemLogController@destroy", + "uri": "api/v1/system_logs/{system_log}", + "method": [ + "DELETE" + ] + }, + "api.tasks.index": { + "name": "api.tasks.index", + "domain": null, + "action": "App\\Http\\Controllers\\TaskController@index", + "uri": "api/v1/tasks", + "method": [ + "GET", + "HEAD" + ] + }, + "api.tasks.create": { + "name": "api.tasks.create", + "domain": null, + "action": "App\\Http\\Controllers\\TaskController@create", + "uri": "api/v1/tasks/create", + "method": [ + "GET", + "HEAD" + ] + }, + "api.tasks.store": { + "name": "api.tasks.store", + "domain": null, + "action": "App\\Http\\Controllers\\TaskController@store", + "uri": "api/v1/tasks", + "method": [ + "POST" + ] + }, + "api.tasks.show": { + "name": "api.tasks.show", + "domain": null, + "action": "App\\Http\\Controllers\\TaskController@show", + "uri": "api/v1/tasks/{task}", + "method": [ + "GET", + "HEAD" + ] + }, + "api.tasks.edit": { + "name": "api.tasks.edit", + "domain": null, + "action": "App\\Http\\Controllers\\TaskController@edit", + "uri": "api/v1/tasks/{task}/edit", + "method": [ + "GET", + "HEAD" + ] + }, + "api.tasks.update": { + "name": "api.tasks.update", + "domain": null, + "action": "App\\Http\\Controllers\\TaskController@update", + "uri": "api/v1/tasks/{task}", + "method": [ + "PUT", + "PATCH" + ] + }, + "api.tasks.destroy": { + "name": "api.tasks.destroy", + "domain": null, + "action": "App\\Http\\Controllers\\TaskController@destroy", + "uri": "api/v1/tasks/{task}", + "method": [ + "DELETE" + ] + }, + "api.tasks.bulk": { + "name": "api.tasks.bulk", + "domain": null, + "action": "App\\Http\\Controllers\\TaskController@bulk", + "uri": "api/v1/tasks/bulk", + "method": [ + "POST" + ] + }, + "api.generated::BNkMBhpaKDH5htD8": { + "name": "api.generated::BNkMBhpaKDH5htD8", + "domain": null, + "action": "App\\Http\\Controllers\\TaskController@upload", + "uri": "api/v1/tasks/{task}/upload", + "method": [ + "PUT" + ] + }, + "api.generated::DSQ6KzZbD0Nj4vRs": { + "name": "api.generated::DSQ6KzZbD0Nj4vRs", + "domain": null, + "action": "App\\Http\\Controllers\\TaskController@sort", + "uri": "api/v1/tasks/sort", + "method": [ + "POST" + ] + }, + "api.task_statuses.index": { + "name": "api.task_statuses.index", + "domain": null, + "action": "App\\Http\\Controllers\\TaskStatusController@index", + "uri": "api/v1/task_statuses", + "method": [ + "GET", + "HEAD" + ] + }, + "api.task_statuses.create": { + "name": "api.task_statuses.create", + "domain": null, + "action": "App\\Http\\Controllers\\TaskStatusController@create", + "uri": "api/v1/task_statuses/create", + "method": [ + "GET", + "HEAD" + ] + }, + "api.task_statuses.store": { + "name": "api.task_statuses.store", + "domain": null, + "action": "App\\Http\\Controllers\\TaskStatusController@store", + "uri": "api/v1/task_statuses", + "method": [ + "POST" + ] + }, + "api.task_statuses.show": { + "name": "api.task_statuses.show", + "domain": null, + "action": "App\\Http\\Controllers\\TaskStatusController@show", + "uri": "api/v1/task_statuses/{task_status}", + "method": [ + "GET", + "HEAD" + ] + }, + "api.task_statuses.edit": { + "name": "api.task_statuses.edit", + "domain": null, + "action": "App\\Http\\Controllers\\TaskStatusController@edit", + "uri": "api/v1/task_statuses/{task_status}/edit", + "method": [ + "GET", + "HEAD" + ] + }, + "api.task_statuses.update": { + "name": "api.task_statuses.update", + "domain": null, + "action": "App\\Http\\Controllers\\TaskStatusController@update", + "uri": "api/v1/task_statuses/{task_status}", + "method": [ + "PUT", + "PATCH" + ] + }, + "api.task_statuses.destroy": { + "name": "api.task_statuses.destroy", + "domain": null, + "action": "App\\Http\\Controllers\\TaskStatusController@destroy", + "uri": "api/v1/task_statuses/{task_status}", + "method": [ + "DELETE" + ] + }, + "api.task_statuses.bulk": { + "name": "api.task_statuses.bulk", + "domain": null, + "action": "App\\Http\\Controllers\\TaskStatusController@bulk", + "uri": "api/v1/task_statuses/bulk", + "method": [ + "POST" + ] + }, + "api.tax_rates.index": { + "name": "api.tax_rates.index", + "domain": null, + "action": "App\\Http\\Controllers\\TaxRateController@index", + "uri": "api/v1/tax_rates", + "method": [ + "GET", + "HEAD" + ] + }, + "api.tax_rates.create": { + "name": "api.tax_rates.create", + "domain": null, + "action": "App\\Http\\Controllers\\TaxRateController@create", + "uri": "api/v1/tax_rates/create", + "method": [ + "GET", + "HEAD" + ] + }, + "api.tax_rates.store": { + "name": "api.tax_rates.store", + "domain": null, + "action": "App\\Http\\Controllers\\TaxRateController@store", + "uri": "api/v1/tax_rates", + "method": [ + "POST" + ] + }, + "api.tax_rates.show": { + "name": "api.tax_rates.show", + "domain": null, + "action": "App\\Http\\Controllers\\TaxRateController@show", + "uri": "api/v1/tax_rates/{tax_rate}", + "method": [ + "GET", + "HEAD" + ] + }, + "api.tax_rates.edit": { + "name": "api.tax_rates.edit", + "domain": null, + "action": "App\\Http\\Controllers\\TaxRateController@edit", + "uri": "api/v1/tax_rates/{tax_rate}/edit", + "method": [ + "GET", + "HEAD" + ] + }, + "api.tax_rates.update": { + "name": "api.tax_rates.update", + "domain": null, + "action": "App\\Http\\Controllers\\TaxRateController@update", + "uri": "api/v1/tax_rates/{tax_rate}", + "method": [ + "PUT", + "PATCH" + ] + }, + "api.tax_rates.destroy": { + "name": "api.tax_rates.destroy", + "domain": null, + "action": "App\\Http\\Controllers\\TaxRateController@destroy", + "uri": "api/v1/tax_rates/{tax_rate}", + "method": [ + "DELETE" + ] + }, + "api.tax_rates.bulk": { + "name": "api.tax_rates.bulk", + "domain": null, + "action": "App\\Http\\Controllers\\TaxRateController@bulk", + "uri": "api/v1/tax_rates/bulk", + "method": [ + "POST" + ] + }, + "api.templates.show": { + "name": "api.templates.show", + "domain": null, + "action": "App\\Http\\Controllers\\TemplateController@show", + "uri": "api/v1/templates", + "method": [ + "POST" + ] + }, + "api.tokens.index": { + "name": "api.tokens.index", + "domain": null, + "action": "App\\Http\\Controllers\\TokenController@index", + "uri": "api/v1/tokens", + "method": [ + "GET", + "HEAD" + ] + }, + "api.tokens.create": { + "name": "api.tokens.create", + "domain": null, + "action": "App\\Http\\Controllers\\TokenController@create", + "uri": "api/v1/tokens/create", + "method": [ + "GET", + "HEAD" + ] + }, + "api.tokens.store": { + "name": "api.tokens.store", + "domain": null, + "action": "App\\Http\\Controllers\\TokenController@store", + "uri": "api/v1/tokens", + "method": [ + "POST" + ] + }, + "api.tokens.show": { + "name": "api.tokens.show", + "domain": null, + "action": "App\\Http\\Controllers\\TokenController@show", + "uri": "api/v1/tokens/{token}", + "method": [ + "GET", + "HEAD" + ] + }, + "api.tokens.edit": { + "name": "api.tokens.edit", + "domain": null, + "action": "App\\Http\\Controllers\\TokenController@edit", + "uri": "api/v1/tokens/{token}/edit", + "method": [ + "GET", + "HEAD" + ] + }, + "api.tokens.update": { + "name": "api.tokens.update", + "domain": null, + "action": "App\\Http\\Controllers\\TokenController@update", + "uri": "api/v1/tokens/{token}", + "method": [ + "PUT", + "PATCH" + ] + }, + "api.tokens.destroy": { + "name": "api.tokens.destroy", + "domain": null, + "action": "App\\Http\\Controllers\\TokenController@destroy", + "uri": "api/v1/tokens/{token}", + "method": [ + "DELETE" + ] + }, + "api.tokens.bulk": { + "name": "api.tokens.bulk", + "domain": null, + "action": "App\\Http\\Controllers\\TokenController@bulk", + "uri": "api/v1/tokens/bulk", + "method": [ + "POST" + ] + }, + "api.generated::iQwZSxzIzx70IxtF": { + "name": "api.generated::iQwZSxzIzx70IxtF", + "domain": null, + "action": "App\\Http\\Controllers\\TwoFactorController@setupTwoFactor", + "uri": "api/v1/settings/enable_two_factor", + "method": [ + "GET", + "HEAD" + ] + }, + "api.generated::PTr1o4tRf7yTSGI3": { + "name": "api.generated::PTr1o4tRf7yTSGI3", + "domain": null, + "action": "App\\Http\\Controllers\\TwoFactorController@enableTwoFactor", + "uri": "api/v1/settings/enable_two_factor", + "method": [ + "POST" + ] + }, + "api.generated::24H010vh5AAmAco9": { + "name": "api.generated::24H010vh5AAmAco9", + "domain": null, + "action": "App\\Http\\Controllers\\TwoFactorController@disableTwoFactor", + "uri": "api/v1/settings/disable_two_factor", + "method": [ + "POST" + ] + }, + "api.verify.generate": { + "name": "api.verify.generate", + "domain": null, + "action": "App\\Http\\Controllers\\TwilioController@generate", + "uri": "api/v1/verify", + "method": [ + "POST" + ] + }, + "api.verify.confirm": { + "name": "api.verify.confirm", + "domain": null, + "action": "App\\Http\\Controllers\\TwilioController@confirm", + "uri": "api/v1/verify/confirm", + "method": [ + "POST" + ] + }, + "api.vendors.index": { + "name": "api.vendors.index", + "domain": null, + "action": "App\\Http\\Controllers\\VendorController@index", + "uri": "api/v1/vendors", + "method": [ + "GET", + "HEAD" + ] + }, + "api.vendors.create": { + "name": "api.vendors.create", + "domain": null, + "action": "App\\Http\\Controllers\\VendorController@create", + "uri": "api/v1/vendors/create", + "method": [ + "GET", + "HEAD" + ] + }, + "api.vendors.store": { + "name": "api.vendors.store", + "domain": null, + "action": "App\\Http\\Controllers\\VendorController@store", + "uri": "api/v1/vendors", + "method": [ + "POST" + ] + }, + "api.vendors.show": { + "name": "api.vendors.show", + "domain": null, + "action": "App\\Http\\Controllers\\VendorController@show", + "uri": "api/v1/vendors/{vendor}", + "method": [ + "GET", + "HEAD" + ] + }, + "api.vendors.edit": { + "name": "api.vendors.edit", + "domain": null, + "action": "App\\Http\\Controllers\\VendorController@edit", + "uri": "api/v1/vendors/{vendor}/edit", + "method": [ + "GET", + "HEAD" + ] + }, + "api.vendors.update": { + "name": "api.vendors.update", + "domain": null, + "action": "App\\Http\\Controllers\\VendorController@update", + "uri": "api/v1/vendors/{vendor}", + "method": [ + "PUT", + "PATCH" + ] + }, + "api.vendors.destroy": { + "name": "api.vendors.destroy", + "domain": null, + "action": "App\\Http\\Controllers\\VendorController@destroy", + "uri": "api/v1/vendors/{vendor}", + "method": [ + "DELETE" + ] + }, + "api.vendors.bulk": { + "name": "api.vendors.bulk", + "domain": null, + "action": "App\\Http\\Controllers\\VendorController@bulk", + "uri": "api/v1/vendors/bulk", + "method": [ + "POST" + ] + }, + "api.generated::BZLuCDpgKz3nMmaY": { + "name": "api.generated::BZLuCDpgKz3nMmaY", + "domain": null, + "action": "App\\Http\\Controllers\\VendorController@upload", + "uri": "api/v1/vendors/{vendor}/upload", + "method": [ + "PUT" + ] + }, + "api.purchase_orders.index": { + "name": "api.purchase_orders.index", + "domain": null, + "action": "App\\Http\\Controllers\\PurchaseOrderController@index", + "uri": "api/v1/purchase_orders", + "method": [ + "GET", + "HEAD" + ] + }, + "api.purchase_orders.create": { + "name": "api.purchase_orders.create", + "domain": null, + "action": "App\\Http\\Controllers\\PurchaseOrderController@create", + "uri": "api/v1/purchase_orders/create", + "method": [ + "GET", + "HEAD" + ] + }, + "api.purchase_orders.store": { + "name": "api.purchase_orders.store", + "domain": null, + "action": "App\\Http\\Controllers\\PurchaseOrderController@store", + "uri": "api/v1/purchase_orders", + "method": [ + "POST" + ] + }, + "api.purchase_orders.show": { + "name": "api.purchase_orders.show", + "domain": null, + "action": "App\\Http\\Controllers\\PurchaseOrderController@show", + "uri": "api/v1/purchase_orders/{purchase_order}", + "method": [ + "GET", + "HEAD" + ] + }, + "api.purchase_orders.edit": { + "name": "api.purchase_orders.edit", + "domain": null, + "action": "App\\Http\\Controllers\\PurchaseOrderController@edit", + "uri": "api/v1/purchase_orders/{purchase_order}/edit", + "method": [ + "GET", + "HEAD" + ] + }, + "api.purchase_orders.update": { + "name": "api.purchase_orders.update", + "domain": null, + "action": "App\\Http\\Controllers\\PurchaseOrderController@update", + "uri": "api/v1/purchase_orders/{purchase_order}", + "method": [ + "PUT", + "PATCH" + ] + }, + "api.purchase_orders.destroy": { + "name": "api.purchase_orders.destroy", + "domain": null, + "action": "App\\Http\\Controllers\\PurchaseOrderController@destroy", + "uri": "api/v1/purchase_orders/{purchase_order}", + "method": [ + "DELETE" + ] + }, + "api.purchase_orders.bulk": { + "name": "api.purchase_orders.bulk", + "domain": null, + "action": "App\\Http\\Controllers\\PurchaseOrderController@bulk", + "uri": "api/v1/purchase_orders/bulk", + "method": [ + "POST" + ] + }, + "api.generated::Q8EXQTr8qdJCPNJ9": { + "name": "api.generated::Q8EXQTr8qdJCPNJ9", + "domain": null, + "action": "App\\Http\\Controllers\\PurchaseOrderController@upload", + "uri": "api/v1/purchase_orders/{purchase_order}/upload", + "method": [ + "PUT" + ] + }, + "api.purchase_orders.action": { + "name": "api.purchase_orders.action", + "domain": null, + "action": "App\\Http\\Controllers\\PurchaseOrderController@action", + "uri": "api/v1/purchase_orders/{purchase_order}/{action}", + "method": [ + "GET", + "HEAD" + ] + }, + "api.generated::cLF9tHEkg3AItUie": { + "name": "api.generated::cLF9tHEkg3AItUie", + "domain": null, + "action": "App\\Http\\Controllers\\UserController@index", + "uri": "api/v1/users", + "method": [ + "GET", + "HEAD" + ] + }, + "api.generated::NaclFWOfrFXf5Ty7": { + "name": "api.generated::NaclFWOfrFXf5Ty7", + "domain": null, + "action": "App\\Http\\Controllers\\UserController@create", + "uri": "api/v1/users/create", + "method": [ + "GET", + "HEAD" + ] + }, + "api.generated::QaO678U9QW3Q2L7Q": { + "name": "api.generated::QaO678U9QW3Q2L7Q", + "domain": null, + "action": "App\\Http\\Controllers\\UserController@show", + "uri": "api/v1/users/{user}", + "method": [ + "GET", + "HEAD" + ] + }, + "api.generated::LfpiUfJ0i6DLKqeh": { + "name": "api.generated::LfpiUfJ0i6DLKqeh", + "domain": null, + "action": "App\\Http\\Controllers\\UserController@update", + "uri": "api/v1/users/{user}", + "method": [ + "PUT" + ] + }, + "api.generated::o0IEjAcNUlkefAKc": { + "name": "api.generated::o0IEjAcNUlkefAKc", + "domain": null, + "action": "App\\Http\\Controllers\\UserController@store", + "uri": "api/v1/users", + "method": [ + "POST" + ] + }, + "api.generated::iIgPZF6w9LmIEAsq": { + "name": "api.generated::iIgPZF6w9LmIEAsq", + "domain": null, + "action": "App\\Http\\Controllers\\UserController@detach", + "uri": "api/v1/users/{user}/detach_from_company", + "method": [ + "DELETE" + ] + }, + "api.users.bulk": { + "name": "api.users.bulk", + "domain": null, + "action": "App\\Http\\Controllers\\UserController@bulk", + "uri": "api/v1/users/bulk", + "method": [ + "POST" + ] + }, + "api.generated::tE9y5fe5gtz2vc6e": { + "name": "api.generated::tE9y5fe5gtz2vc6e", + "domain": null, + "action": "App\\Http\\Controllers\\UserController@invite", + "uri": "api/v1/users/{user}/invite", + "method": [ + "POST" + ] + }, + "api.generated::JXFzipCBQGvF2TXl": { + "name": "api.generated::JXFzipCBQGvF2TXl", + "domain": null, + "action": "App\\Http\\Controllers\\UserController@reconfirm", + "uri": "api/v1/user/{user}/reconfirm", + "method": [ + "POST" + ] + }, + "api.webhooks.index": { + "name": "api.webhooks.index", + "domain": null, + "action": "App\\Http\\Controllers\\WebhookController@index", + "uri": "api/v1/webhooks", + "method": [ + "GET", + "HEAD" + ] + }, + "api.webhooks.create": { + "name": "api.webhooks.create", + "domain": null, + "action": "App\\Http\\Controllers\\WebhookController@create", + "uri": "api/v1/webhooks/create", + "method": [ + "GET", + "HEAD" + ] + }, + "api.webhooks.store": { + "name": "api.webhooks.store", + "domain": null, + "action": "App\\Http\\Controllers\\WebhookController@store", + "uri": "api/v1/webhooks", + "method": [ + "POST" + ] + }, + "api.webhooks.show": { + "name": "api.webhooks.show", + "domain": null, + "action": "App\\Http\\Controllers\\WebhookController@show", + "uri": "api/v1/webhooks/{webhook}", + "method": [ + "GET", + "HEAD" + ] + }, + "api.webhooks.edit": { + "name": "api.webhooks.edit", + "domain": null, + "action": "App\\Http\\Controllers\\WebhookController@edit", + "uri": "api/v1/webhooks/{webhook}/edit", + "method": [ + "GET", + "HEAD" + ] + }, + "api.webhooks.update": { + "name": "api.webhooks.update", + "domain": null, + "action": "App\\Http\\Controllers\\WebhookController@update", + "uri": "api/v1/webhooks/{webhook}", + "method": [ + "PUT", + "PATCH" + ] + }, + "api.webhooks.destroy": { + "name": "api.webhooks.destroy", + "domain": null, + "action": "App\\Http\\Controllers\\WebhookController@destroy", + "uri": "api/v1/webhooks/{webhook}", + "method": [ + "DELETE" + ] + }, + "api.webhooks.bulk": { + "name": "api.webhooks.bulk", + "domain": null, + "action": "App\\Http\\Controllers\\WebhookController@bulk", + "uri": "api/v1/webhooks/bulk", + "method": [ + "POST" + ] + }, + "api.stripe.update": { + "name": "api.stripe.update", + "domain": null, + "action": "App\\Http\\Controllers\\StripeController@update", + "uri": "api/v1/stripe/update_payment_methods", + "method": [ + "POST" + ] + }, + "api.stripe.import": { + "name": "api.stripe.import", + "domain": null, + "action": "App\\Http\\Controllers\\StripeController@import", + "uri": "api/v1/stripe/import_customers", + "method": [ + "POST" + ] + }, + "api.stripe.verify": { + "name": "api.stripe.verify", + "domain": null, + "action": "App\\Http\\Controllers\\StripeController@verify", + "uri": "api/v1/stripe/verify", + "method": [ + "POST" + ] + }, + "api.stripe.disconnect": { + "name": "api.stripe.disconnect", + "domain": null, + "action": "App\\Http\\Controllers\\StripeController@disconnect", + "uri": "api/v1/stripe/disconnect/{company_gateway_id}", + "method": [ + "POST" + ] + }, + "api.subscriptions.index": { + "name": "api.subscriptions.index", + "domain": null, + "action": "App\\Http\\Controllers\\SubscriptionController@index", + "uri": "api/v1/subscriptions", + "method": [ + "GET", + "HEAD" + ] + }, + "api.subscriptions.create": { + "name": "api.subscriptions.create", + "domain": null, + "action": "App\\Http\\Controllers\\SubscriptionController@create", + "uri": "api/v1/subscriptions/create", + "method": [ + "GET", + "HEAD" + ] + }, + "api.subscriptions.store": { + "name": "api.subscriptions.store", + "domain": null, + "action": "App\\Http\\Controllers\\SubscriptionController@store", + "uri": "api/v1/subscriptions", + "method": [ + "POST" + ] + }, + "api.subscriptions.show": { + "name": "api.subscriptions.show", + "domain": null, + "action": "App\\Http\\Controllers\\SubscriptionController@show", + "uri": "api/v1/subscriptions/{subscription}", + "method": [ + "GET", + "HEAD" + ] + }, + "api.subscriptions.edit": { + "name": "api.subscriptions.edit", + "domain": null, + "action": "App\\Http\\Controllers\\SubscriptionController@edit", + "uri": "api/v1/subscriptions/{subscription}/edit", + "method": [ + "GET", + "HEAD" + ] + }, + "api.subscriptions.update": { + "name": "api.subscriptions.update", + "domain": null, + "action": "App\\Http\\Controllers\\SubscriptionController@update", + "uri": "api/v1/subscriptions/{subscription}", + "method": [ + "PUT", + "PATCH" + ] + }, + "api.subscriptions.destroy": { + "name": "api.subscriptions.destroy", + "domain": null, + "action": "App\\Http\\Controllers\\SubscriptionController@destroy", + "uri": "api/v1/subscriptions/{subscription}", + "method": [ + "DELETE" + ] + }, + "api.subscriptions.bulk": { + "name": "api.subscriptions.bulk", + "domain": null, + "action": "App\\Http\\Controllers\\SubscriptionController@bulk", + "uri": "api/v1/subscriptions/bulk", + "method": [ + "POST" + ] + }, + "api.generated::zcZpdTjHdtDpLxLW": { + "name": "api.generated::zcZpdTjHdtDpLxLW", + "domain": null, + "action": "App\\Http\\Controllers\\StaticController", + "uri": "api/v1/statics", + "method": [ + "GET", + "HEAD" + ] + }, + "sms_reset.generate": { + "name": "sms_reset.generate", + "domain": null, + "action": "App\\Http\\Controllers\\TwilioController@generate2faResetCode", + "uri": "api/v1/sms_reset", + "method": [ + "POST" + ] + }, + "sms_reset.confirm": { + "name": "sms_reset.confirm", + "domain": null, + "action": "App\\Http\\Controllers\\TwilioController@confirm2faResetCode", + "uri": "api/v1/sms_reset/confirm", + "method": [ + "POST" + ] + }, + "payment_webhook": { + "name": "payment_webhook", + "domain": null, + "action": "App\\Http\\Controllers\\PaymentWebhookController", + "uri": "payment_webhook/{company_key}/{company_gateway_id}", + "method": [ + "GET", + "POST", + "HEAD" + ] + }, + "payment_notification_webhook": { + "name": "payment_notification_webhook", + "domain": null, + "action": "App\\Http\\Controllers\\PaymentNotificationWebhookController", + "uri": "payment_notification_webhook/{company_key}/{company_gateway_id}/{client}", + "method": [ + "GET", + "POST", + "HEAD" + ] + }, + "generated::ZQYgiUyM8ziyaylK": { + "name": "generated::ZQYgiUyM8ziyaylK", + "domain": null, + "action": "App\\Http\\Controllers\\PostMarkController@webhook", + "uri": "api/v1/postmark_webhook", + "method": [ + "POST" + ] + }, + "generated::zaPZNhsZe5kCRQOf": { + "name": "generated::zaPZNhsZe5kCRQOf", + "domain": null, + "action": "App\\Http\\Controllers\\OneTimeTokenController@router", + "uri": "token_hash_router", + "method": [ + "GET", + "HEAD" + ] + }, + "generated::deYiRv49t4s9EtvU": { + "name": "generated::deYiRv49t4s9EtvU", + "domain": null, + "action": "App\\Http\\Controllers\\WebCronController@index", + "uri": "webcron", + "method": [ + "GET", + "HEAD" + ] + }, + "generated::zNk9B5Y1TZHythfd": { + "name": "generated::zNk9B5Y1TZHythfd", + "domain": null, + "action": "App\\Http\\Controllers\\HostedMigrationController@getAccount", + "uri": "api/v1/get_migration_account", + "method": [ + "POST" + ] + }, + "generated::SjmsOCah7DRT9cKO": { + "name": "generated::SjmsOCah7DRT9cKO", + "domain": null, + "action": "App\\Http\\Controllers\\HostedMigrationController@confirmForwarding", + "uri": "api/v1/confirm_forwarding", + "method": [ + "POST" + ] + }, + "generated::hjNG27uFkl607frE": { + "name": "generated::hjNG27uFkl607frE", + "domain": null, + "action": "App\\Http\\Controllers\\InAppPurchase\\AppleController@process_webhook", + "uri": "api/v1/process_webhook", + "method": [ + "POST" + ] + }, + "generated::i4B5LyT7ozSnWLm7": { + "name": "generated::i4B5LyT7ozSnWLm7", + "domain": null, + "action": "App\\Http\\Controllers\\InAppPurchase\\AppleController@confirm_purchase", + "uri": "api/v1/confirm_purchase", + "method": [ + "POST" + ] + }, + "generated::NR0QT6QhHpRzgeFM": { + "name": "generated::NR0QT6QhHpRzgeFM", + "domain": null, + "action": "App\\Http\\Controllers\\Bank\\YodleeController@refreshWebhook", + "uri": "api/v1/yodlee/refresh", + "method": [ + "POST" + ] + }, + "generated::PWE4ouJw551wvLgP": { + "name": "generated::PWE4ouJw551wvLgP", + "domain": null, + "action": "App\\Http\\Controllers\\Bank\\YodleeController@dataUpdatesWebhook", + "uri": "api/v1/yodlee/data_updates", + "method": [ + "POST" + ] + }, + "generated::VwAPqf4N7d9C2UeH": { + "name": "generated::VwAPqf4N7d9C2UeH", + "domain": null, + "action": "App\\Http\\Controllers\\Bank\\YodleeController@refreshUpdatesWebhook", + "uri": "api/v1/yodlee/refresh_updates", + "method": [ + "POST" + ] + }, + "generated::5JgTIkTeVYZXmSiu": { + "name": "generated::5JgTIkTeVYZXmSiu", + "domain": null, + "action": "App\\Http\\Controllers\\Bank\\YodleeController@balanceWebhook", + "uri": "api/v1/yodlee/balance", + "method": [ + "POST" + ] + }, + "generated::YYiG6iYqw6W4nInb": { + "name": "generated::YYiG6iYqw6W4nInb", + "domain": null, + "action": "App\\Http\\Controllers\\BaseController@notFoundClient", + "uri": "{fallbackPlaceholder}", + "method": [ + "GET", + "HEAD" + ] + }, + "generated::5n5VePUCRt2TAvGW": { + "name": "generated::5n5VePUCRt2TAvGW", + "domain": null, + "action": "App\\Http\\Controllers\\BaseController@flutterRoute", + "uri": "/", + "method": [ + "GET", + "HEAD" + ] + }, + "generated::TGoVLPXTPVLegDrn": { + "name": "generated::TGoVLPXTPVLegDrn", + "domain": null, + "action": "App\\Http\\Controllers\\SetupController@index", + "uri": "setup", + "method": [ + "GET", + "HEAD" + ] + }, + "generated::aH1RYcdoUCNh2Or0": { + "name": "generated::aH1RYcdoUCNh2Or0", + "domain": null, + "action": "App\\Http\\Controllers\\SetupController@doSetup", + "uri": "setup", + "method": [ + "POST" + ] + }, + "generated::ulIBz1EVGnyK1CV6": { + "name": "generated::ulIBz1EVGnyK1CV6", + "domain": null, + "action": "App\\Http\\Controllers\\SetupController@update", + "uri": "update", + "method": [ + "GET", + "HEAD" + ] + }, + "generated::Fe1X26NAn3ce88sX": { + "name": "generated::Fe1X26NAn3ce88sX", + "domain": null, + "action": "App\\Http\\Controllers\\SetupController@checkDB", + "uri": "setup/check_db", + "method": [ + "POST" + ] + }, + "generated::rqZwGUSDMdBc845j": { + "name": "generated::rqZwGUSDMdBc845j", + "domain": null, + "action": "App\\Http\\Controllers\\SetupController@checkMail", + "uri": "setup/check_mail", + "method": [ + "POST" + ] + }, + "generated::RDiaxJz5C9TWM6La": { + "name": "generated::RDiaxJz5C9TWM6La", + "domain": null, + "action": "App\\Http\\Controllers\\SetupController@checkPdf", + "uri": "setup/check_pdf", + "method": [ + "POST" + ] + }, + "password.request": { + "name": "password.request", + "domain": null, + "action": "App\\Http\\Controllers\\Auth\\ForgotPasswordController@showLinkRequestForm", + "uri": "password/reset", + "method": [ + "GET", + "HEAD" + ] + }, + "password.email": { + "name": "password.email", + "domain": null, + "action": "App\\Http\\Controllers\\Auth\\ForgotPasswordController@sendResetLinkEmail", + "uri": "password/email", + "method": [ + "POST" + ] + }, + "password.reset": { + "name": "password.reset", + "domain": null, + "action": "App\\Http\\Controllers\\Auth\\ResetPasswordController@showResetForm", + "uri": "password/reset/{token}", + "method": [ + "GET", + "HEAD" + ] + }, + "password.update": { + "name": "password.update", + "domain": null, + "action": "App\\Http\\Controllers\\Auth\\ResetPasswordController@reset", + "uri": "password/reset", + "method": [ + "POST" + ] + }, + "wepay.signup": { + "name": "wepay.signup", + "domain": null, + "action": "App\\Http\\Controllers\\WePayController@signup", + "uri": "wepay/signup/{token}", + "method": [ + "GET", + "HEAD" + ] + }, + "wepay.finished": { + "name": "wepay.finished", + "domain": null, + "action": "App\\Http\\Controllers\\WePayController@finished", + "uri": "wepay/finished", + "method": [ + "GET", + "HEAD" + ] + }, + "generated::i4zkszi5XG1MagwJ": { + "name": "generated::i4zkszi5XG1MagwJ", + "domain": null, + "action": "App\\Http\\Controllers\\Auth\\LoginController@redirectToProvider", + "uri": "auth/{provider}", + "method": [ + "GET", + "HEAD" + ] + }, + "generated::pDEX8qT4P8Jy1hu4": { + "name": "generated::pDEX8qT4P8Jy1hu4", + "domain": null, + "action": "App\\Http\\Controllers\\UserController@confirm", + "uri": "user/confirm/{confirmation_code}", + "method": [ + "GET", + "HEAD" + ] + }, + "generated::fLK4xgr1UGJhcpEI": { + "name": "generated::fLK4xgr1UGJhcpEI", + "domain": null, + "action": "App\\Http\\Controllers\\UserController@confirmWithPassword", + "uri": "user/confirm/{confirmation_code}", + "method": [ + "POST" + ] + }, + "stripe_connect.initialization": { + "name": "stripe_connect.initialization", + "domain": null, + "action": "App\\Http\\Controllers\\StripeConnectController@initialize", + "uri": "stripe/signup/{token}", + "method": [ + "GET", + "HEAD" + ] + }, + "stripe_connect.return": { + "name": "stripe_connect.return", + "domain": null, + "action": "App\\Http\\Controllers\\StripeConnectController@completed", + "uri": "stripe/completed", + "method": [ + "GET", + "HEAD" + ] + }, + "yodlee.auth": { + "name": "yodlee.auth", + "domain": null, + "action": "App\\Http\\Controllers\\Bank\\YodleeController@auth", + "uri": "yodlee/onboard/{token}", + "method": [ + "GET", + "HEAD" + ] + }, + "checkout.3ds_redirect": { + "name": "checkout.3ds_redirect", + "domain": null, + "action": "App\\Http\\Controllers\\Gateways\\Checkout3dsController@index", + "uri": "checkout/3ds_redirect/{company_key}/{company_gateway_id}/{hash}", + "method": [ + "GET", + "HEAD" + ] + }, + "mollie.3ds_redirect": { + "name": "mollie.3ds_redirect", + "domain": null, + "action": "App\\Http\\Controllers\\Gateways\\Mollie3dsController@index", + "uri": "mollie/3ds_redirect/{company_key}/{company_gateway_id}/{hash}", + "method": [ + "GET", + "HEAD" + ] + }, + "gocardless.ibp_redirect": { + "name": "gocardless.ibp_redirect", + "domain": null, + "action": "App\\Http\\Controllers\\Gateways\\GoCardlessController@ibpRedirect", + "uri": "gocardless/ibp_redirect/{company_key}/{company_gateway_id}/{hash}", + "method": [ + "GET", + "HEAD" + ] + }, + "generated::Dbvz1KDmhDKppMVJ": { + "name": "generated::Dbvz1KDmhDKppMVJ", + "domain": null, + "action": "App\\Http\\Controllers\\ClientPortal\\ApplePayDomainController@showAppleMerchantId", + "uri": ".well-known/apple-developer-merchantid-domain-association", + "method": [ + "GET", + "HEAD" + ] + }, + "generated::djeIjZ5TvGKb9kp1": { + "name": "generated::djeIjZ5TvGKb9kp1", + "domain": null, + "action": "App\\Http\\Controllers\\Contact\\LoginController@apiLogin", + "uri": "api/v1/contact/login", + "method": [ + "POST" + ] + }, + "api.contact.": { + "name": "api.contact.", + "domain": null, + "action": "App\\Http\\Controllers\\Contact\\InvoiceController@index", + "uri": "api/v1/contact/invoices", + "method": [ + "GET", + "HEAD" + ] + }, + "vendor.catchall": { + "name": "vendor.catchall", + "domain": null, + "action": "App\\Http\\Controllers\\Auth\\VendorContactLoginController@catch", + "uri": "vendors", + "method": [ + "GET", + "HEAD" + ] + }, + "contact_login": { + "name": "contact_login", + "domain": null, + "action": "App\\Http\\Controllers\\VendorPortal\\VendorContactHashLoginController@login", + "uri": "vendor/key_login/{contact_key}", + "method": [ + "GET", + "HEAD" + ] + }, + "vendor.": { + "name": "vendor.", + "domain": null, + "action": "App\\Http\\Controllers\\VendorPortal\\InvitationController@purchaseOrder", + "uri": "vendor/purchase_order/{invitation_key}", + "method": [ + "GET", + "HEAD" + ] + }, + "vendor.generated::R5AP0ff5fGIEFhSb": { + "name": "vendor.generated::R5AP0ff5fGIEFhSb", + "domain": null, + "action": "App\\Http\\Controllers\\VendorPortal\\InvitationController@download", + "uri": "vendor/purchase_order/{invitation_key}/download", + "method": [ + "GET", + "HEAD" + ] + }, + "vendor.dashboard": { + "name": "vendor.dashboard", + "domain": null, + "action": "App\\Http\\Controllers\\VendorPortal\\PurchaseOrderController@index", + "uri": "vendor/dashboard", + "method": [ + "GET", + "HEAD" + ] + }, + "vendor.purchase_orders.index": { + "name": "vendor.purchase_orders.index", + "domain": null, + "action": "App\\Http\\Controllers\\VendorPortal\\PurchaseOrderController@index", + "uri": "vendor/purchase_orders", + "method": [ + "GET", + "HEAD" + ] + }, + "vendor.purchase_order.show": { + "name": "vendor.purchase_order.show", + "domain": null, + "action": "App\\Http\\Controllers\\VendorPortal\\PurchaseOrderController@show", + "uri": "vendor/purchase_orders/{purchase_order}", + "method": [ + "GET", + "HEAD" + ] + }, + "vendor.profile.edit": { + "name": "vendor.profile.edit", + "domain": null, + "action": "App\\Http\\Controllers\\VendorPortal\\VendorContactController@edit", + "uri": "vendor/profile/{vendor_contact}/edit", + "method": [ + "GET", + "HEAD" + ] + }, + "vendor.profile.update": { + "name": "vendor.profile.update", + "domain": null, + "action": "App\\Http\\Controllers\\VendorPortal\\VendorContactController@update", + "uri": "vendor/profile/{vendor_contact}/edit", + "method": [ + "PUT" + ] + }, + "vendor.purchase_orders.bulk": { + "name": "vendor.purchase_orders.bulk", + "domain": null, + "action": "App\\Http\\Controllers\\VendorPortal\\PurchaseOrderController@bulk", + "uri": "vendor/purchase_orders/bulk", + "method": [ + "POST" + ] + }, + "vendor.logout": { + "name": "vendor.logout", + "domain": null, + "action": "App\\Http\\Controllers\\Auth\\VendorContactLoginController@logout", + "uri": "vendor/logout", + "method": [ + "GET", + "HEAD" + ] + }, + "vendor.upload.store": { + "name": "vendor.upload.store", + "domain": null, + "action": "App\\Http\\Controllers\\VendorPortal\\UploadController@upload", + "uri": "vendor/purchase_order/upload/{purchase_order}", + "method": [ + "POST" + ] + }, + "vendor.documents.download_multiple": { + "name": "vendor.documents.download_multiple", + "domain": null, + "action": "App\\Http\\Controllers\\VendorPortal\\DocumentController@downloadMultiple", + "uri": "vendor/documents/download_multiple", + "method": [ + "POST" + ] + }, + "vendor.documents.download": { + "name": "vendor.documents.download", + "domain": null, + "action": "App\\Http\\Controllers\\VendorPortal\\DocumentController@download", + "uri": "vendor/documents/{document}/download", + "method": [ + "GET", + "HEAD" + ] + }, + "vendor.documents.download_pdf": { + "name": "vendor.documents.download_pdf", + "domain": null, + "action": "App\\Http\\Controllers\\VendorPortal\\DocumentController@download", + "uri": "vendor/documents/{document}/download_pdf", + "method": [ + "GET", + "HEAD" + ] + }, + "vendor.documents.index": { + "name": "vendor.documents.index", + "domain": null, + "action": "App\\Http\\Controllers\\VendorPortal\\DocumentController@index", + "uri": "vendor/documents", + "method": [ + "GET", + "HEAD" + ] + }, + "vendor.documents.show": { + "name": "vendor.documents.show", + "domain": null, + "action": "App\\Http\\Controllers\\VendorPortal\\DocumentController@show", + "uri": "vendor/documents/{document}", + "method": [ + "GET", + "HEAD" + ] + }, + "client.catchall": { + "name": "client.catchall", + "domain": null, + "action": "App\\Http\\Controllers\\Auth\\ContactLoginController@showLoginForm", + "uri": "client", + "method": [ + "GET", + "HEAD" + ] + }, + "client.login": { + "name": "client.login", + "domain": null, + "action": "App\\Http\\Controllers\\Auth\\ContactLoginController@showLoginForm", + "uri": "client/login/{company_key?}", + "method": [ + "GET", + "HEAD" + ] + }, + "client.login.submit": { + "name": "client.login.submit", + "domain": null, + "action": "App\\Http\\Controllers\\Auth\\ContactLoginController@login", + "uri": "client/login/{company_key?}", + "method": [ + "POST" + ] + }, + "client.register": { + "name": "client.register", + "domain": null, + "action": "App\\Http\\Controllers\\Auth\\ContactRegisterController@showRegisterForm", + "uri": "client/register/{company_key?}", + "method": [ + "GET", + "HEAD" + ] + }, + "generated::rpgQ9O14ZONbXkpu": { + "name": "generated::rpgQ9O14ZONbXkpu", + "domain": null, + "action": "App\\Http\\Controllers\\Auth\\ContactRegisterController@register", + "uri": "client/register/{company_key?}", + "method": [ + "POST" + ] + }, + "client.password.request": { + "name": "client.password.request", + "domain": null, + "action": "App\\Http\\Controllers\\Auth\\ContactForgotPasswordController@showLinkRequestForm", + "uri": "client/password/reset", + "method": [ + "GET", + "HEAD" + ] + }, + "client.password.email": { + "name": "client.password.email", + "domain": null, + "action": "App\\Http\\Controllers\\Auth\\ContactForgotPasswordController@sendResetLinkEmail", + "uri": "client/password/email", + "method": [ + "POST" + ] + }, + "client.password.reset": { + "name": "client.password.reset", + "domain": null, + "action": "App\\Http\\Controllers\\Auth\\ContactResetPasswordController@showResetForm", + "uri": "client/password/reset/{token}", + "method": [ + "GET", + "HEAD" + ] + }, + "client.password.update": { + "name": "client.password.update", + "domain": null, + "action": "App\\Http\\Controllers\\Auth\\ContactResetPasswordController@reset", + "uri": "client/password/reset", + "method": [ + "POST" + ] + }, + "client.entity_view": { + "name": "client.entity_view", + "domain": null, + "action": "App\\Http\\Controllers\\ClientPortal\\EntityViewController@index", + "uri": "view/{entity_type}/{invitation_key}", + "method": [ + "GET", + "HEAD" + ] + }, + "client.entity_view.password": { + "name": "client.entity_view.password", + "domain": null, + "action": "App\\Http\\Controllers\\ClientPortal\\EntityViewController@password", + "uri": "view/{entity_type}/{invitation_key}/password", + "method": [ + "GET", + "HEAD" + ] + }, + "generated::FBJnNwDY5zUdpbgD": { + "name": "generated::FBJnNwDY5zUdpbgD", + "domain": null, + "action": "App\\Http\\Controllers\\ClientPortal\\EntityViewController@handlePassword", + "uri": "view/{entity_type}/{invitation_key}/password", + "method": [ + "POST" + ] + }, + "client.set_password": { + "name": "client.set_password", + "domain": null, + "action": "App\\Http\\Controllers\\ClientPortal\\EntityViewController@handlePasswordSet", + "uri": "set_password", + "method": [ + "POST" + ] + }, + "tmp_pdf": { + "name": "tmp_pdf", + "domain": null, + "action": "App\\Http\\Controllers\\ClientPortal\\TempRouteController@index", + "uri": "tmp_pdf/{hash}", + "method": [ + "GET", + "HEAD" + ] + }, + "client.contact_login": { + "name": "client.contact_login", + "domain": null, + "action": "App\\Http\\Controllers\\ClientPortal\\ContactHashLoginController@login", + "uri": "client/key_login/{contact_key}", + "method": [ + "GET", + "HEAD" + ] + }, + "client.contact_magic_link": { + "name": "client.contact_magic_link", + "domain": null, + "action": "App\\Http\\Controllers\\ClientPortal\\ContactHashLoginController@magicLink", + "uri": "client/magic_link/{magic_link}", + "method": [ + "GET", + "HEAD" + ] + }, + "documents.public_download": { + "name": "documents.public_download", + "domain": null, + "action": "App\\Http\\Controllers\\ClientPortal\\DocumentController@publicDownload", + "uri": "documents/{document_hash}", + "method": [ + "GET", + "HEAD" + ] + }, + "client.error": { + "name": "client.error", + "domain": null, + "action": "App\\Http\\Controllers\\ClientPortal\\ContactHashLoginController@errorPage", + "uri": "error", + "method": [ + "GET", + "HEAD" + ] + }, + "generated::mLyFQRhcZwffpGmu": { + "name": "generated::mLyFQRhcZwffpGmu", + "domain": null, + "action": "App\\Http\\Controllers\\ClientPortal\\InvitationController@paymentRouter", + "uri": "client/payment/{contact_key}/{payment_id}", + "method": [ + "GET", + "HEAD" + ] + }, + "client.ninja_contact_login": { + "name": "client.ninja_contact_login", + "domain": null, + "action": "App\\Http\\Controllers\\ClientPortal\\NinjaPlanController@index", + "uri": "client/ninja/{contact_key}/{company_key}", + "method": [ + "GET", + "HEAD" + ] + }, + "client.trial.response": { + "name": "client.trial.response", + "domain": null, + "action": "App\\Http\\Controllers\\ClientPortal\\NinjaPlanController@trial_confirmation", + "uri": "client/ninja/trial_confirmation", + "method": [ + "POST" + ] + }, + "client.dashboard": { + "name": "client.dashboard", + "domain": null, + "action": "App\\Http\\Controllers\\ClientPortal\\DashboardController@index", + "uri": "client/dashboard", + "method": [ + "GET", + "HEAD" + ] + }, + "client.plan": { + "name": "client.plan", + "domain": null, + "action": "App\\Http\\Controllers\\ClientPortal\\NinjaPlanController@plan", + "uri": "client/plan", + "method": [ + "GET", + "HEAD" + ] + }, + "client.invoices.index": { + "name": "client.invoices.index", + "domain": null, + "action": "App\\Http\\Controllers\\ClientPortal\\InvoiceController@index", + "uri": "client/invoices", + "method": [ + "GET", + "HEAD" + ] + }, + "client.invoices.bulk": { + "name": "client.invoices.bulk", + "domain": null, + "action": "App\\Http\\Controllers\\ClientPortal\\InvoiceController@bulk", + "uri": "client/invoices/payment", + "method": [ + "POST" + ] + }, + "client.invoices.catch_bulk": { + "name": "client.invoices.catch_bulk", + "domain": null, + "action": "App\\Http\\Controllers\\ClientPortal\\InvoiceController@catch_bulk", + "uri": "client/invoices/payment", + "method": [ + "GET", + "HEAD" + ] + }, + "client.invoices.download": { + "name": "client.invoices.download", + "domain": null, + "action": "App\\Http\\Controllers\\ClientPortal\\InvoiceController@download", + "uri": "client/invoices/download", + "method": [ + "POST" + ] + }, + "client.invoice.show": { + "name": "client.invoice.show", + "domain": null, + "action": "App\\Http\\Controllers\\ClientPortal\\InvoiceController@show", + "uri": "client/invoices/{invoice}/{hash?}", + "method": [ + "GET", + "HEAD" + ] + }, + "client.invoice.show_invitation": { + "name": "client.invoice.show_invitation", + "domain": null, + "action": "App\\Http\\Controllers\\ClientPortal\\InvoiceController@show", + "uri": "client/invoices/{invoice_invitation}", + "method": [ + "GET", + "HEAD" + ] + }, + "client.recurring_invoices.index": { + "name": "client.recurring_invoices.index", + "domain": null, + "action": "App\\Http\\Controllers\\ClientPortal\\RecurringInvoiceController@index", + "uri": "client/recurring_invoices", + "method": [ + "GET", + "HEAD" + ] + }, + "client.recurring_invoice.show": { + "name": "client.recurring_invoice.show", + "domain": null, + "action": "App\\Http\\Controllers\\ClientPortal\\RecurringInvoiceController@show", + "uri": "client/recurring_invoices/{recurring_invoice}", + "method": [ + "GET", + "HEAD" + ] + }, + "client.recurring_invoices.request_cancellation": { + "name": "client.recurring_invoices.request_cancellation", + "domain": null, + "action": "App\\Http\\Controllers\\ClientPortal\\RecurringInvoiceController@requestCancellation", + "uri": "client/recurring_invoices/{recurring_invoice}/request_cancellation", + "method": [ + "GET", + "HEAD" + ] + }, + "client.payments.process": { + "name": "client.payments.process", + "domain": null, + "action": "App\\Http\\Controllers\\ClientPortal\\PaymentController@process", + "uri": "client/payments/process", + "method": [ + "POST" + ] + }, + "client.payments.catch_process": { + "name": "client.payments.catch_process", + "domain": null, + "action": "App\\Http\\Controllers\\ClientPortal\\PaymentController@catch_process", + "uri": "client/payments/process", + "method": [ + "GET", + "HEAD" + ] + }, + "client.payments.credit_response": { + "name": "client.payments.credit_response", + "domain": null, + "action": "App\\Http\\Controllers\\ClientPortal\\PaymentController@credit_response", + "uri": "client/payments/credit_response", + "method": [ + "POST" + ] + }, + "client.payments.index": { + "name": "client.payments.index", + "domain": null, + "action": "App\\Http\\Controllers\\ClientPortal\\PaymentController@index", + "uri": "client/payments", + "method": [ + "GET", + "HEAD" + ] + }, + "client.payments.show": { + "name": "client.payments.show", + "domain": null, + "action": "App\\Http\\Controllers\\ClientPortal\\PaymentController@show", + "uri": "client/payments/{payment}", + "method": [ + "GET", + "HEAD" + ] + }, + "client.profile.edit": { + "name": "client.profile.edit", + "domain": null, + "action": "App\\Http\\Controllers\\ClientPortal\\ProfileController@edit", + "uri": "client/profile/{client_contact}/edit", + "method": [ + "GET", + "HEAD" + ] + }, + "client.profile.update": { + "name": "client.profile.update", + "domain": null, + "action": "App\\Http\\Controllers\\ClientPortal\\ProfileController@update", + "uri": "client/profile/{client_contact}/edit", + "method": [ + "PUT" + ] + }, + "client.profile.edit_client": { + "name": "client.profile.edit_client", + "domain": null, + "action": "App\\Http\\Controllers\\ClientPortal\\ProfileController@updateClient", + "uri": "client/profile/{client_contact}/edit_client", + "method": [ + "PUT" + ] + }, + "client.profile.edit_localization": { + "name": "client.profile.edit_localization", + "domain": null, + "action": "App\\Http\\Controllers\\ClientPortal\\ProfileController@updateClientLocalization", + "uri": "client/profile/{client_contact}/localization", + "method": [ + "PUT" + ] + }, + "client.payment_methods.verification": { + "name": "client.payment_methods.verification", + "domain": null, + "action": "App\\Http\\Controllers\\ClientPortal\\PaymentMethodController@verify", + "uri": "client/payment_methods/{payment_method}/verification", + "method": [ + "GET", + "HEAD" + ] + }, + "client.": { + "name": "client.", + "domain": null, + "action": "App\\Http\\Controllers\\ClientPortal\\PaymentMethodController@processVerification", + "uri": "client/payment_methods/{payment_method}/verification", + "method": [ + "POST" + ] + }, + "client.payment_methods.confirm": { + "name": "client.payment_methods.confirm", + "domain": null, + "action": "App\\Http\\Controllers\\ClientPortal\\PaymentMethodController@store", + "uri": "client/payment_methods/confirm", + "method": [ + "GET", + "HEAD" + ] + }, + "client.payment_methods.index": { + "name": "client.payment_methods.index", + "domain": null, + "action": "App\\Http\\Controllers\\ClientPortal\\PaymentMethodController@index", + "uri": "client/payment_methods", + "method": [ + "GET", + "HEAD" + ] + }, + "client.payment_methods.create": { + "name": "client.payment_methods.create", + "domain": null, + "action": "App\\Http\\Controllers\\ClientPortal\\PaymentMethodController@create", + "uri": "client/payment_methods/create", + "method": [ + "GET", + "HEAD" + ] + }, + "client.payment_methods.store": { + "name": "client.payment_methods.store", + "domain": null, + "action": "App\\Http\\Controllers\\ClientPortal\\PaymentMethodController@store", + "uri": "client/payment_methods", + "method": [ + "POST" + ] + }, + "client.payment_methods.show": { + "name": "client.payment_methods.show", + "domain": null, + "action": "App\\Http\\Controllers\\ClientPortal\\PaymentMethodController@show", + "uri": "client/payment_methods/{payment_method}", + "method": [ + "GET", + "HEAD" + ] + }, + "client.payment_methods.destroy": { + "name": "client.payment_methods.destroy", + "domain": null, + "action": "App\\Http\\Controllers\\ClientPortal\\PaymentMethodController@destroy", + "uri": "client/payment_methods/{payment_method}", + "method": [ + "DELETE" + ] + }, + "client.quotes.bulk": { + "name": "client.quotes.bulk", + "domain": null, + "action": "App\\Http\\Controllers\\ClientPortal\\QuoteController@bulk", + "uri": "client/quotes/approve", + "method": [ + "GET", + "POST", + "HEAD" + ] + }, + "client.quotes.index": { + "name": "client.quotes.index", + "domain": null, + "action": "App\\Http\\Controllers\\ClientPortal\\QuoteController@index", + "uri": "client/quotes", + "method": [ + "GET", + "HEAD" + ] + }, + "client.quote.show": { + "name": "client.quote.show", + "domain": null, + "action": "App\\Http\\Controllers\\ClientPortal\\QuoteController@show", + "uri": "client/quotes/{quote}", + "method": [ + "GET", + "HEAD" + ] + }, + "client.quote.show_invitation": { + "name": "client.quote.show_invitation", + "domain": null, + "action": "App\\Http\\Controllers\\ClientPortal\\QuoteController@show", + "uri": "client/quotes/{quote_invitation}", + "method": [ + "GET", + "HEAD" + ] + }, + "client.quotes.download": { + "name": "client.quotes.download", + "domain": null, + "action": "App\\Http\\Controllers\\ClientPortal\\QuoteController@download", + "uri": "client/quotes/download", + "method": [ + "POST" + ] + }, + "client.credits.index": { + "name": "client.credits.index", + "domain": null, + "action": "App\\Http\\Controllers\\ClientPortal\\CreditController@index", + "uri": "client/credits", + "method": [ + "GET", + "HEAD" + ] + }, + "client.credit.show": { + "name": "client.credit.show", + "domain": null, + "action": "App\\Http\\Controllers\\ClientPortal\\CreditController@show", + "uri": "client/credits/{credit}", + "method": [ + "GET", + "HEAD" + ] + }, + "client.credits.show_invitation": { + "name": "client.credits.show_invitation", + "domain": null, + "action": "App\\Http\\Controllers\\ClientPortal\\CreditController@show", + "uri": "client/credits/{credit_invitation}", + "method": [ + "GET", + "HEAD" + ] + }, + "client.switch_company": { + "name": "client.switch_company", + "domain": null, + "action": "App\\Http\\Controllers\\ClientPortal\\SwitchCompanyController", + "uri": "client/client/switch_company/{contact}", + "method": [ + "GET", + "HEAD" + ] + }, + "client.documents.download_multiple": { + "name": "client.documents.download_multiple", + "domain": null, + "action": "App\\Http\\Controllers\\ClientPortal\\DocumentController@downloadMultiple", + "uri": "client/documents/download_multiple", + "method": [ + "POST" + ] + }, + "client.documents.download": { + "name": "client.documents.download", + "domain": null, + "action": "App\\Http\\Controllers\\ClientPortal\\DocumentController@download", + "uri": "client/documents/{document}/download", + "method": [ + "GET", + "HEAD" + ] + }, + "client.documents.index": { + "name": "client.documents.index", + "domain": null, + "action": "App\\Http\\Controllers\\ClientPortal\\DocumentController@index", + "uri": "client/documents", + "method": [ + "GET", + "HEAD" + ] + }, + "client.documents.show": { + "name": "client.documents.show", + "domain": null, + "action": "App\\Http\\Controllers\\ClientPortal\\DocumentController@show", + "uri": "client/documents/{document}", + "method": [ + "GET", + "HEAD" + ] + }, + "client.subscription.plan_switch": { + "name": "client.subscription.plan_switch", + "domain": null, + "action": "App\\Http\\Controllers\\ClientPortal\\SubscriptionPlanSwitchController@index", + "uri": "client/subscriptions/{recurring_invoice}/plan_switch/{target}", + "method": [ + "GET", + "HEAD" + ] + }, + "client.subscriptions.show": { + "name": "client.subscriptions.show", + "domain": null, + "action": "App\\Http\\Controllers\\ClientPortal\\SubscriptionController@show", + "uri": "client/subscriptions/{recurring_invoice}", + "method": [ + "GET", + "HEAD" + ] + }, + "client.subscriptions.index": { + "name": "client.subscriptions.index", + "domain": null, + "action": "App\\Http\\Controllers\\ClientPortal\\SubscriptionController@index", + "uri": "client/subscriptions", + "method": [ + "GET", + "HEAD" + ] + }, + "client.tasks.index": { + "name": "client.tasks.index", + "domain": null, + "action": "App\\Http\\Controllers\\ClientPortal\\TaskController@index", + "uri": "client/tasks", + "method": [ + "GET", + "HEAD" + ] + }, + "client.statement": { + "name": "client.statement", + "domain": null, + "action": "App\\Http\\Controllers\\ClientPortal\\StatementController@index", + "uri": "client/statement", + "method": [ + "GET", + "HEAD" + ] + }, + "client.statement.raw": { + "name": "client.statement.raw", + "domain": null, + "action": "App\\Http\\Controllers\\ClientPortal\\StatementController@raw", + "uri": "client/statement/raw", + "method": [ + "GET", + "HEAD" + ] + }, + "client.upload.store": { + "name": "client.upload.store", + "domain": null, + "action": "App\\Http\\Controllers\\ClientPortal\\UploadController", + "uri": "client/upload", + "method": [ + "POST" + ] + }, + "client.logout": { + "name": "client.logout", + "domain": null, + "action": "App\\Http\\Controllers\\Auth\\ContactLoginController@logout", + "uri": "client/logout", + "method": [ + "GET", + "HEAD" + ] + }, + "client.payments.response": { + "name": "client.payments.response", + "domain": null, + "action": "App\\Http\\Controllers\\ClientPortal\\PaymentController@response", + "uri": "payments/process/response", + "method": [ + "POST" + ] + }, + "client.payments.response.get": { + "name": "client.payments.response.get", + "domain": null, + "action": "App\\Http\\Controllers\\ClientPortal\\PaymentController@response", + "uri": "payments/process/response", + "method": [ + "GET", + "HEAD" + ] + }, + "client.subscription.purchase": { + "name": "client.subscription.purchase", + "domain": null, + "action": "App\\Http\\Controllers\\ClientPortal\\SubscriptionPurchaseController@index", + "uri": "client/subscriptions/{subscription}/purchase", + "method": [ + "GET", + "HEAD" + ] + }, + "client.subscription.upgrade": { + "name": "client.subscription.upgrade", + "domain": null, + "action": "App\\Http\\Controllers\\ClientPortal\\SubscriptionPurchaseController@upgrade", + "uri": "client/subscriptions/{subscription}/purchase/v2", + "method": [ + "GET", + "HEAD" + ] + }, + "client.generated::2OaIW3XyBqUuFmmR": { + "name": "client.generated::2OaIW3XyBqUuFmmR", + "domain": null, + "action": "App\\Http\\Controllers\\ClientPortal\\InvitationController@recurringRouter", + "uri": "client/recurring_invoice/{invitation_key}", + "method": [ + "GET", + "HEAD" + ] + }, + "client.generated::qqFOMAohukdLzli8": { + "name": "client.generated::qqFOMAohukdLzli8", + "domain": null, + "action": "App\\Http\\Controllers\\ClientPortal\\InvitationController@invoiceRouter", + "uri": "client/invoice/{invitation_key}", + "method": [ + "GET", + "HEAD" + ] + }, + "client.generated::MpuK89JSkGHcs8Px": { + "name": "client.generated::MpuK89JSkGHcs8Px", + "domain": null, + "action": "App\\Http\\Controllers\\ClientPortal\\InvitationController@quoteRouter", + "uri": "client/quote/{invitation_key}", + "method": [ + "GET", + "HEAD" + ] + }, + "client.generated::7sb34HxR9uLCiSxY": { + "name": "client.generated::7sb34HxR9uLCiSxY", + "domain": null, + "action": "App\\Http\\Controllers\\ClientPortal\\InvitationController@creditRouter", + "uri": "client/credit/{invitation_key}", + "method": [ + "GET", + "HEAD" + ] + }, + "client.recurring_invoice.download_invitation_key": { + "name": "client.recurring_invoice.download_invitation_key", + "domain": null, + "action": "App\\Http\\Controllers\\RecurringInvoiceController@downloadPdf", + "uri": "client/recurring_invoice/{invitation_key}/download_pdf", + "method": [ + "GET", + "HEAD" + ] + }, + "client.invoice.download_invitation_key": { + "name": "client.invoice.download_invitation_key", + "domain": null, + "action": "App\\Http\\Controllers\\InvoiceController@downloadPdf", + "uri": "client/invoice/{invitation_key}/download_pdf", + "method": [ + "GET", + "HEAD" + ] + }, + "client.quote.download_invitation_key": { + "name": "client.quote.download_invitation_key", + "domain": null, + "action": "App\\Http\\Controllers\\QuoteController@downloadPdf", + "uri": "client/quote/{invitation_key}/download_pdf", + "method": [ + "GET", + "HEAD" + ] + }, + "client.credit.download_invitation_key": { + "name": "client.credit.download_invitation_key", + "domain": null, + "action": "App\\Http\\Controllers\\CreditController@downloadPdf", + "uri": "client/credit/{invitation_key}/download_pdf", + "method": [ + "GET", + "HEAD" + ] + }, + "client.generated::XWcWZmVfyICKpQSJ": { + "name": "client.generated::XWcWZmVfyICKpQSJ", + "domain": null, + "action": "App\\Http\\Controllers\\ClientPortal\\InvitationController@routerForDownload", + "uri": "client/{entity}/{invitation_key}/download", + "method": [ + "GET", + "HEAD" + ] + }, + "client.pay.invoice": { + "name": "client.pay.invoice", + "domain": null, + "action": "App\\Http\\Controllers\\ClientPortal\\InvitationController@payInvoice", + "uri": "client/pay/{invitation_key}", + "method": [ + "GET", + "HEAD" + ] + }, + "client.unsubscribe": { + "name": "client.unsubscribe", + "domain": null, + "action": "App\\Http\\Controllers\\ClientPortal\\InvitationController@unsubscribe", + "uri": "client/unsubscribe/{entity}/{invitation_key}", + "method": [ + "GET", + "HEAD" + ] + }, + "phantom_view": { + "name": "phantom_view", + "domain": null, + "action": "App\\Utils\\PhantomJS\\Phantom@displayInvitation", + "uri": "phantom/{entity}/{invitation_key}", + "method": [ + "GET", + "HEAD" + ] + }, + "generated::mbXaf7AwVDTLun7i": { + "name": "generated::mbXaf7AwVDTLun7i", + "domain": null, + "action": "App\\Http\\Controllers\\Shop\\ProductController@index", + "uri": "api/v1/shop/products", + "method": [ + "GET", + "HEAD" + ] + }, + "generated::vstdpye8tLBf8JAy": { + "name": "generated::vstdpye8tLBf8JAy", + "domain": null, + "action": "App\\Http\\Controllers\\Shop\\ClientController@store", + "uri": "api/v1/shop/clients", + "method": [ + "POST" + ] + }, + "generated::WhdRIYkzRIiAE8Zy": { + "name": "generated::WhdRIYkzRIiAE8Zy", + "domain": null, + "action": "App\\Http\\Controllers\\Shop\\InvoiceController@store", + "uri": "api/v1/shop/invoices", + "method": [ + "POST" + ] + }, + "generated::jmKt9NXIdAhbDj1Z": { + "name": "generated::jmKt9NXIdAhbDj1Z", + "domain": null, + "action": "App\\Http\\Controllers\\Shop\\ClientController@show", + "uri": "api/v1/shop/client/{contact_key}", + "method": [ + "GET", + "HEAD" + ] + }, + "generated::oDii2kL46XkNAIq7": { + "name": "generated::oDii2kL46XkNAIq7", + "domain": null, + "action": "App\\Http\\Controllers\\Shop\\InvoiceController@show", + "uri": "api/v1/shop/invoice/{invitation_key}", + "method": [ + "GET", + "HEAD" + ] + }, + "generated::hcZIdmMVQWRg8fcW": { + "name": "generated::hcZIdmMVQWRg8fcW", + "domain": null, + "action": "App\\Http\\Controllers\\Shop\\ProductController@show", + "uri": "api/v1/shop/product/{product_key}", + "method": [ + "GET", + "HEAD" + ] + }, + "generated::B1hEiRmAZvYhMDB3": { + "name": "generated::B1hEiRmAZvYhMDB3", + "domain": null, + "action": "App\\Http\\Controllers\\Shop\\ProfileController@show", + "uri": "api/v1/shop/profile", + "method": [ + "GET", + "HEAD" + ] + }, + "plan": { + "name": "plan", + "domain": null, + "action": "Modules\\Admin\\Http\\Controllers\\PlanController@store", + "uri": "api/admin/plan", + "method": [ + "POST" + ] + }, + "initial_purchase": { + "name": "initial_purchase", + "domain": null, + "action": "Modules\\Admin\\Http\\Controllers\\SubscriptionController@initialPurchase", + "uri": "api/admin/subscription", + "method": [ + "POST" + ] + }, + "store_cert": { + "name": "store_cert", + "domain": null, + "action": "Modules\\Admin\\Http\\Controllers\\CertificateController@store", + "uri": "api/admin/domain/store", + "method": [ + "POST" + ] + }, + "admin.login": { + "name": "admin.login", + "domain": null, + "action": "Modules\\Admin\\Http\\Controllers\\LoginController@showLoginForm", + "uri": "admin/login", + "method": [ + "GET", + "HEAD" + ] + }, + "generated::Equd3NqTzSG8DBd0": { + "name": "generated::Equd3NqTzSG8DBd0", + "domain": null, + "action": "Modules\\Admin\\Http\\Controllers\\LoginController@login", + "uri": "admin/login", + "method": [ + "POST" + ] + }, + "admin.logout": { + "name": "admin.logout", + "domain": null, + "action": "Modules\\Admin\\Http\\Controllers\\LoginController@logout", + "uri": "admin/logout", + "method": [ + "GET", + "HEAD" + ] + }, + "admin.dashboard": { + "name": "admin.dashboard", + "domain": null, + "action": "Modules\\Admin\\Http\\Controllers\\AdminController@index", + "uri": "admin", + "method": [ + "GET", + "HEAD" + ] + }, + "admin.accounts.companies": { + "name": "admin.accounts.companies", + "domain": null, + "action": "Modules\\Admin\\Http\\Controllers\\AccountController@companies", + "uri": "admin/accounts/{account}/companies", + "method": [ + "GET", + "HEAD" + ] + }, + "admin.accounts.users": { + "name": "admin.accounts.users", + "domain": null, + "action": "Modules\\Admin\\Http\\Controllers\\AccountController@users", + "uri": "admin/accounts/{account}/users", + "method": [ + "GET", + "HEAD" + ] + }, + "admin.accounts.index": { + "name": "admin.accounts.index", + "domain": null, + "action": "Modules\\Admin\\Http\\Controllers\\AccountController@index", + "uri": "admin/accounts", + "method": [ + "GET", + "HEAD" + ] + }, + "admin.accounts.show": { + "name": "admin.accounts.show", + "domain": null, + "action": "Modules\\Admin\\Http\\Controllers\\AccountController@show", + "uri": "admin/accounts/{account}", + "method": [ + "GET", + "HEAD" + ] + }, + "admin.companies.index": { + "name": "admin.companies.index", + "domain": null, + "action": "Modules\\Admin\\Http\\Controllers\\CompanyController@index", + "uri": "admin/companies", + "method": [ + "GET", + "HEAD" + ] + }, + "admin.companies.show": { + "name": "admin.companies.show", + "domain": null, + "action": "Modules\\Admin\\Http\\Controllers\\CompanyController@show", + "uri": "admin/companies/{company}", + "method": [ + "GET", + "HEAD" + ] + }, + "admin.users.index": { + "name": "admin.users.index", + "domain": null, + "action": "Modules\\Admin\\Http\\Controllers\\UserController@index", + "uri": "admin/users", + "method": [ + "GET", + "HEAD" + ] + }, + "admin.users.show": { + "name": "admin.users.show", + "domain": null, + "action": "Modules\\Admin\\Http\\Controllers\\UserController@show", + "uri": "admin/users/{user}", + "method": [ + "GET", + "HEAD" + ] + }, + "admin.database_switch": { + "name": "admin.database_switch", + "domain": null, + "action": "Modules\\Admin\\Http\\Controllers\\DatabaseSwitchController@switch", + "uri": "admin/database_switch", + "method": [ + "POST" + ] + }, + "admin.marketing.index": { + "name": "admin.marketing.index", + "domain": null, + "action": "Modules\\Admin\\Http\\Controllers\\MarketingController@index", + "uri": "admin/marketing", + "method": [ + "GET", + "HEAD" + ] + }, + "admin.marketing.create": { + "name": "admin.marketing.create", + "domain": null, + "action": "Modules\\Admin\\Http\\Controllers\\MarketingController@create", + "uri": "admin/marketing/create", + "method": [ + "GET", + "HEAD" + ] + }, + "admin.marketing.store": { + "name": "admin.marketing.store", + "domain": null, + "action": "Modules\\Admin\\Http\\Controllers\\MarketingController@store", + "uri": "admin/marketing", + "method": [ + "POST" + ] + }, + "admin.marketing.show": { + "name": "admin.marketing.show", + "domain": null, + "action": "Modules\\Admin\\Http\\Controllers\\MarketingController@show", + "uri": "admin/marketing/{marketing}", + "method": [ + "GET", + "HEAD" + ] + }, + "admin.marketing.edit": { + "name": "admin.marketing.edit", + "domain": null, + "action": "Modules\\Admin\\Http\\Controllers\\MarketingController@edit", + "uri": "admin/marketing/{marketing}/edit", + "method": [ + "GET", + "HEAD" + ] + }, + "admin.marketing.update": { + "name": "admin.marketing.update", + "domain": null, + "action": "Modules\\Admin\\Http\\Controllers\\MarketingController@update", + "uri": "admin/marketing/{marketing}", + "method": [ + "PUT", + "PATCH" + ] + }, + "admin.marketing.destroy": { + "name": "admin.marketing.destroy", + "domain": null, + "action": "Modules\\Admin\\Http\\Controllers\\MarketingController@destroy", + "uri": "admin/marketing/{marketing}", + "method": [ + "DELETE" + ] + }, + "admin.tables.index": { + "name": "admin.tables.index", + "domain": null, + "action": "Modules\\Admin\\Http\\Controllers\\TableController@index", + "uri": "admin/tables", + "method": [ + "GET", + "HEAD" + ] + }, + "admin.tables.create": { + "name": "admin.tables.create", + "domain": null, + "action": "Modules\\Admin\\Http\\Controllers\\TableController@create", + "uri": "admin/tables/create", + "method": [ + "GET", + "HEAD" + ] + }, + "admin.tables.store": { + "name": "admin.tables.store", + "domain": null, + "action": "Modules\\Admin\\Http\\Controllers\\TableController@store", + "uri": "admin/tables", + "method": [ + "POST" + ] + }, + "admin.tables.show": { + "name": "admin.tables.show", + "domain": null, + "action": "Modules\\Admin\\Http\\Controllers\\TableController@show", + "uri": "admin/tables/{table}", + "method": [ + "GET", + "HEAD" + ] + }, + "admin.tables.edit": { + "name": "admin.tables.edit", + "domain": null, + "action": "Modules\\Admin\\Http\\Controllers\\TableController@edit", + "uri": "admin/tables/{table}/edit", + "method": [ + "GET", + "HEAD" + ] + }, + "admin.tables.update": { + "name": "admin.tables.update", + "domain": null, + "action": "Modules\\Admin\\Http\\Controllers\\TableController@update", + "uri": "admin/tables/{table}", + "method": [ + "PUT", + "PATCH" + ] + }, + "admin.tables.destroy": { + "name": "admin.tables.destroy", + "domain": null, + "action": "Modules\\Admin\\Http\\Controllers\\TableController@destroy", + "uri": "admin/tables/{table}", + "method": [ + "DELETE" + ] + }, + "admin.server.index": { + "name": "admin.server.index", + "domain": null, + "action": "Modules\\Admin\\Http\\Controllers\\ServerController@index", + "uri": "admin/server", + "method": [ + "GET", + "HEAD" + ] + }, + "admin.server.create": { + "name": "admin.server.create", + "domain": null, + "action": "Modules\\Admin\\Http\\Controllers\\ServerController@create", + "uri": "admin/server/create", + "method": [ + "GET", + "HEAD" + ] + }, + "admin.server.store": { + "name": "admin.server.store", + "domain": null, + "action": "Modules\\Admin\\Http\\Controllers\\ServerController@store", + "uri": "admin/server", + "method": [ + "POST" + ] + }, + "admin.server.show": { + "name": "admin.server.show", + "domain": null, + "action": "Modules\\Admin\\Http\\Controllers\\ServerController@show", + "uri": "admin/server/{server}", + "method": [ + "GET", + "HEAD" + ] + }, + "admin.server.edit": { + "name": "admin.server.edit", + "domain": null, + "action": "Modules\\Admin\\Http\\Controllers\\ServerController@edit", + "uri": "admin/server/{server}/edit", + "method": [ + "GET", + "HEAD" + ] + }, + "admin.server.update": { + "name": "admin.server.update", + "domain": null, + "action": "Modules\\Admin\\Http\\Controllers\\ServerController@update", + "uri": "admin/server/{server}", + "method": [ + "PUT", + "PATCH" + ] + }, + "admin.server.destroy": { + "name": "admin.server.destroy", + "domain": null, + "action": "Modules\\Admin\\Http\\Controllers\\ServerController@destroy", + "uri": "admin/server/{server}", + "method": [ + "DELETE" + ] + }, + "admin.campaigns.black_friday": { + "name": "admin.campaigns.black_friday", + "domain": null, + "action": "Modules\\Admin\\Http\\Controllers\\CampaignController@blackFriday", + "uri": "campaign/black_friday_2022", + "method": [ + "GET", + "HEAD" + ] + }, + "admin.campaigns.landing": { + "name": "admin.campaigns.landing", + "domain": null, + "action": "Modules\\Admin\\Http\\Controllers\\CampaignController@showLandingPage", + "uri": "campaign/{hash}", + "method": [ + "GET", + "HEAD" + ] + }, + "generated::Kib8hMR7yxwg141Y": { + "name": "generated::Kib8hMR7yxwg141Y", + "domain": null, + "action": "Modules\\Admin\\Http\\Controllers\\OnboardingController@unsubscribe", + "uri": "onboarding/unsubscribe/{account_key}", + "method": [ + "GET", + "HEAD" + ] + }, + "generated::KZIwSvsiWdkFJOg9": { + "name": "generated::KZIwSvsiWdkFJOg9", + "domain": null, + "action": "Modules\\Admin\\Http\\Controllers\\CertificateController@index", + "uri": ".well-known/acme-challenge/{challenge_token}", + "method": [ + "GET", + "HEAD" + ] + } +} \ No newline at end of file diff --git a/tests/cypress/videos/login.cy.js.mp4 b/tests/cypress/videos/login.cy.js.mp4 new file mode 100644 index 000000000000..a77a06bb697c Binary files /dev/null and b/tests/cypress/videos/login.cy.js.mp4 differ