diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS new file mode 100644 index 0000000000..4d95c00b5f --- /dev/null +++ b/.github/CODEOWNERS @@ -0,0 +1,2 @@ +# code owners for this Firefly III related repository +* @JC5 @SDx3 \ No newline at end of file diff --git a/app/Api/V2/Controllers/Model/Account/IndexController.php b/app/Api/V2/Controllers/Model/Account/IndexController.php new file mode 100644 index 0000000000..4679bee47e --- /dev/null +++ b/app/Api/V2/Controllers/Model/Account/IndexController.php @@ -0,0 +1,101 @@ +middleware( + function ($request, $next) { + $this->repository = app(AccountRepositoryInterface::class); + // new way of user group validation + $userGroup = $this->validateUserGroup($request); + if (null !== $userGroup) { + $this->repository->setUserGroup($userGroup); + } + + return $next($request); + } + ); + } + + /** + * TODO see autocomplete/accountcontroller for list. + */ + public function index(IndexRequest $request): JsonResponse + { + $this->repository->resetAccountOrder(); + $types = $request->getAccountTypes(); + $accounts = $this->repository->getAccountsByType($types); + $pageSize = $this->parameters->get('limit'); + $count = $accounts->count(); + $accounts = $accounts->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize); + $paginator = new LengthAwarePaginator($accounts, $count, $pageSize, $this->parameters->get('page')); + $transformer = new AccountTransformer(); + $transformer->setParameters($this->parameters); // give params to transformer + + return response() + ->json($this->jsonApiList('accounts', $paginator, $transformer)) + ->header('Content-Type', self::CONTENT_TYPE) + ; + } + + public function infiniteList(InfiniteListRequest $request): JsonResponse + { + $this->repository->resetAccountOrder(); + + // get accounts of the specified type, and return. + $types = $request->getAccountTypes(); + + // get from repository + $accounts = $this->repository->getAccountsInOrder($types, $request->getSortInstructions('accounts'), $request->getStartRow(), $request->getEndRow()); + $total = $this->repository->countAccounts($types); + $count = $request->getEndRow() - $request->getStartRow(); + $paginator = new LengthAwarePaginator($accounts, $total, $count, $this->parameters->get('page')); + $transformer = new AccountTransformer(); + $transformer->setParameters($this->parameters); // give params to transformer + + return response() + ->json($this->jsonApiList(self::RESOURCE_KEY, $paginator, $transformer)) + ->header('Content-Type', self::CONTENT_TYPE) + ; + } +} diff --git a/app/Api/V2/Controllers/Transaction/List/TransactionController.php b/app/Api/V2/Controllers/Transaction/List/TransactionController.php index 50731dbf73..620ed7322e 100644 --- a/app/Api/V2/Controllers/Transaction/List/TransactionController.php +++ b/app/Api/V2/Controllers/Transaction/List/TransactionController.php @@ -35,6 +35,47 @@ use Illuminate\Http\JsonResponse; */ class TransactionController extends Controller { + public function infiniteList(InfiniteListRequest $request): JsonResponse + { + // get sort instructions + $instructions = $request->getSortInstructions('transactions'); + + // collect transactions: + /** @var GroupCollectorInterface $collector */ + $collector = app(GroupCollectorInterface::class); + $collector->setUserGroup(auth()->user()->userGroup) + ->withAPIInformation() + ->setStartRow($request->getStartRow()) + ->setEndRow($request->getEndRow()) + ->setTypes($request->getTransactionTypes()) + ->setSorting($instructions) + ; + + $start = $this->parameters->get('start'); + $end = $this->parameters->get('end'); + if (null !== $start) { + $collector->setStart($start); + } + if (null !== $end) { + $collector->setEnd($end); + } + + $paginator = $collector->getPaginatedGroups(); + $params = $request->buildParams(); + $paginator->setPath( + sprintf( + '%s?%s', + route('api.v2.infinite.transactions.list'), + $params + ) + ); + + return response() + ->json($this->jsonApiList('transactions', $paginator, new TransactionGroupTransformer())) + ->header('Content-Type', self::CONTENT_TYPE) + ; + } + public function list(ListRequest $request): JsonResponse { // collect transactions: @@ -75,45 +116,4 @@ class TransactionController extends Controller ->header('Content-Type', self::CONTENT_TYPE) ; } - - public function infiniteList(InfiniteListRequest $request): JsonResponse - { - // get sort instructions - $instructions = $request->getSortInstructions(); - - // collect transactions: - /** @var GroupCollectorInterface $collector */ - $collector = app(GroupCollectorInterface::class); - $collector->setUserGroup(auth()->user()->userGroup) - ->withAPIInformation() - ->setStartRow($request->getStartRow()) - ->setEndRow($request->getEndRow()) - ->setTypes($request->getTransactionTypes()) - ->setSorting($instructions) - ; - - $start = $this->parameters->get('start'); - $end = $this->parameters->get('end'); - if (null !== $start) { - $collector->setStart($start); - } - if (null !== $end) { - $collector->setEnd($end); - } - - $paginator = $collector->getPaginatedGroups(); - $params = $request->buildParams(); - $paginator->setPath( - sprintf( - '%s?%s', - route('api.v2.infinite.transactions.list'), - $params - ) - ); - - return response() - ->json($this->jsonApiList('transactions', $paginator, new TransactionGroupTransformer())) - ->header('Content-Type', self::CONTENT_TYPE) - ; - } } diff --git a/app/Api/V2/Request/Model/Account/IndexRequest.php b/app/Api/V2/Request/Model/Account/IndexRequest.php new file mode 100644 index 0000000000..b07559ef3a --- /dev/null +++ b/app/Api/V2/Request/Model/Account/IndexRequest.php @@ -0,0 +1,67 @@ +getCarbonDate('date'); + } + + public function getAccountTypes(): array + { + $type = (string)$this->get('type', 'default'); + + return $this->mapAccountTypes($type); + } + + /** + * The rules that the incoming request must be matched against. + */ + public function rules(): array + { + return [ + 'date' => 'date|after:1900-01-01|before:2099-12-31', + ]; + } +} diff --git a/app/Api/V2/Request/Model/Transaction/InfiniteListRequest.php b/app/Api/V2/Request/Model/Transaction/InfiniteListRequest.php index 90d6df7fe0..05e613185f 100644 --- a/app/Api/V2/Request/Model/Transaction/InfiniteListRequest.php +++ b/app/Api/V2/Request/Model/Transaction/InfiniteListRequest.php @@ -25,6 +25,7 @@ declare(strict_types=1); namespace FireflyIII\Api\V2\Request\Model\Transaction; use Carbon\Carbon; +use FireflyIII\Support\Http\Api\AccountFilter; use FireflyIII\Support\Http\Api\TransactionFilter; use FireflyIII\Support\Request\ChecksLogin; use FireflyIII\Support\Request\ConvertsDataTypes; @@ -36,6 +37,7 @@ use Illuminate\Foundation\Http\FormRequest; */ class InfiniteListRequest extends FormRequest { + use AccountFilter; use ChecksLogin; use ConvertsDataTypes; use TransactionFilter; @@ -81,6 +83,13 @@ class InfiniteListRequest extends FormRequest return $this->getCarbonDate('end'); } + public function getAccountTypes(): array + { + $type = (string)$this->get('type', 'default'); + + return $this->mapAccountTypes($type); + } + public function getPage(): int { $page = $this->convertInteger('page'); @@ -88,9 +97,9 @@ class InfiniteListRequest extends FormRequest return 0 === $page || $page > 65536 ? 1 : $page; } - public function getSortInstructions(): array + public function getSortInstructions(string $key): array { - $allowed = config('firefly.sorting.allowed.transactions'); + $allowed = config(sprintf('firefly.sorting.allowed.%s', $key)); $set = $this->get('sorting', []); $result = []; if (0 === count($set)) { diff --git a/app/Exceptions/GracefulNotFoundHandler.php b/app/Exceptions/GracefulNotFoundHandler.php index 2f9ca2abf1..2874404d21 100644 --- a/app/Exceptions/GracefulNotFoundHandler.php +++ b/app/Exceptions/GracefulNotFoundHandler.php @@ -117,6 +117,7 @@ class GracefulNotFoundHandler extends ExceptionHandler return redirect(route('tags.index')); case 'categories.show': + case 'categories.edit': case 'categories.show.all': $request->session()->reflash(); diff --git a/app/Generator/Webhook/StandardMessageGenerator.php b/app/Generator/Webhook/StandardMessageGenerator.php index 0a8302710a..929988f5e7 100644 --- a/app/Generator/Webhook/StandardMessageGenerator.php +++ b/app/Generator/Webhook/StandardMessageGenerator.php @@ -72,31 +72,6 @@ class StandardMessageGenerator implements MessageGeneratorInterface $this->run(); } - public function getVersion(): int - { - return $this->version; - } - - public function setObjects(Collection $objects): void - { - $this->objects = $objects; - } - - public function setTrigger(int $trigger): void - { - $this->trigger = $trigger; - } - - public function setUser(User $user): void - { - $this->user = $user; - } - - public function setWebhooks(Collection $webhooks): void - { - $this->webhooks = $webhooks; - } - private function getWebhooks(): Collection { return $this->user->webhooks()->where('active', true)->where('trigger', $this->trigger)->get(['webhooks.*']); @@ -206,6 +181,11 @@ class StandardMessageGenerator implements MessageGeneratorInterface $this->storeMessage($webhook, $basicMessage); } + public function getVersion(): int + { + return $this->version; + } + private function collectAccounts(TransactionGroup $transactionGroup): Collection { $accounts = new Collection(); @@ -232,4 +212,24 @@ class StandardMessageGenerator implements MessageGeneratorInterface $webhookMessage->save(); app('log')->debug(sprintf('Stored new webhook message #%d', $webhookMessage->id)); } + + public function setObjects(Collection $objects): void + { + $this->objects = $objects; + } + + public function setTrigger(int $trigger): void + { + $this->trigger = $trigger; + } + + public function setUser(User $user): void + { + $this->user = $user; + } + + public function setWebhooks(Collection $webhooks): void + { + $this->webhooks = $webhooks; + } } diff --git a/app/Helpers/Collector/Extensions/CollectorProperties.php b/app/Helpers/Collector/Extensions/CollectorProperties.php index fa6c626fbc..f23b33c7ba 100644 --- a/app/Helpers/Collector/Extensions/CollectorProperties.php +++ b/app/Helpers/Collector/Extensions/CollectorProperties.php @@ -33,10 +33,11 @@ use Illuminate\Database\Eloquent\Relations\HasMany; */ trait CollectorProperties { + public const string TEST = 'Test'; + /** @var array */ public array $sorting; - public const string TEST = 'Test'; - private ?int $endRow; + private ?int $endRow; private bool $expandGroupSearch; private array $fields; private bool $hasAccountInfo; @@ -52,7 +53,7 @@ trait CollectorProperties private ?int $page; private array $postFilters; private HasMany $query; - private ?int $startRow; + private ?int $startRow; private array $stringFields; /* * This array is used to collect ALL tags the user may search for (using 'setTags'). diff --git a/app/Helpers/Collector/GroupCollector.php b/app/Helpers/Collector/GroupCollector.php index 0e3b1de766..dd2d09357f 100644 --- a/app/Helpers/Collector/GroupCollector.php +++ b/app/Helpers/Collector/GroupCollector.php @@ -25,6 +25,7 @@ namespace FireflyIII\Helpers\Collector; use Carbon\Carbon; use Carbon\Exceptions\InvalidFormatException; +use Exception; use FireflyIII\Exceptions\FireflyException; use FireflyIII\Helpers\Collector\Extensions\AccountCollection; use FireflyIII\Helpers\Collector\Extensions\AmountCollection; @@ -782,6 +783,35 @@ class GroupCollector implements GroupCollectorInterface return $currentCollection; } + #[\Override] + public function sortCollection(Collection $collection): Collection + { + /** + * @var string $field + * @var string $direction + */ + foreach ($this->sorting as $field => $direction) { + $func = 'ASC' === $direction ? 'sortBy' : 'sortByDesc'; + $collection = $collection->{$func}(function (array $product, int $key) use ($field) { // @phpstan-ignore-line + // depends on $field: + if ('description' === $field) { + if (1 === count($product['transactions'])) { + return array_values($product['transactions'])[0][$field]; + } + if (count($product['transactions']) > 1) { + return $product['title']; + } + + return 'zzz'; + } + + exit('here we are'); + }); + } + + return $collection; + } + /** * Same as getGroups but everything is in a paginator. */ @@ -792,6 +822,7 @@ class GroupCollector implements GroupCollectorInterface $this->setLimit(50); } if (null !== $this->startRow && null !== $this->endRow) { + /** @var int $total */ $total = $this->endRow - $this->startRow; return new LengthAwarePaginator($set, $this->total, $total, 1); @@ -931,6 +962,14 @@ class GroupCollector implements GroupCollectorInterface return $this; } + #[\Override] + public function setSorting(array $instructions): GroupCollectorInterface + { + $this->sorting = $instructions; + + return $this; + } + public function setStartRow(int $startRow): self { $this->startRow = $startRow; @@ -1091,41 +1130,4 @@ class GroupCollector implements GroupCollectorInterface return $this; } - - #[\Override] - public function sortCollection(Collection $collection): Collection - { - /** - * @var string $field - * @var string $direction - */ - foreach ($this->sorting as $field => $direction) { - $func = 'ASC' === $direction ? 'sortBy' : 'sortByDesc'; - $collection = $collection->{$func}(function (array $product, int $key) use ($field) { // @phpstan-ignore-line - // depends on $field: - if ('description' === $field) { - if (1 === count($product['transactions'])) { - return array_values($product['transactions'])[0][$field]; - } - if (count($product['transactions']) > 1) { - return $product['title']; - } - - return 'zzz'; - } - - exit('here we are'); - }); - } - - return $collection; - } - - #[\Override] - public function setSorting(array $instructions): GroupCollectorInterface - { - $this->sorting = $instructions; - - return $this; - } } diff --git a/app/Helpers/Collector/GroupCollectorInterface.php b/app/Helpers/Collector/GroupCollectorInterface.php index a77fb36adb..936176cb00 100644 --- a/app/Helpers/Collector/GroupCollectorInterface.php +++ b/app/Helpers/Collector/GroupCollectorInterface.php @@ -285,13 +285,6 @@ interface GroupCollectorInterface */ public function getPaginatedGroups(): LengthAwarePaginator; - public function setSorting(array $instructions): self; - - /** - * Sort the collection on a column. - */ - public function sortCollection(Collection $collection): Collection; - public function hasAnyTag(): self; /** @@ -560,6 +553,8 @@ interface GroupCollectorInterface public function setSepaCT(string $sepaCT): self; + public function setSorting(array $instructions): self; + /** * Set source accounts. */ @@ -620,6 +615,11 @@ interface GroupCollectorInterface */ public function setXorAccounts(Collection $accounts): self; + /** + * Sort the collection on a column. + */ + public function sortCollection(Collection $collection): Collection; + /** * Automatically include all stuff required to make API calls work. */ diff --git a/app/Helpers/Report/NetWorth.php b/app/Helpers/Report/NetWorth.php index 1e39f98e65..3104b526f7 100644 --- a/app/Helpers/Report/NetWorth.php +++ b/app/Helpers/Report/NetWorth.php @@ -51,7 +51,7 @@ class NetWorth implements NetWorthInterface private CurrencyRepositoryInterface $currencyRepos; private User $user; - private ?UserGroup $userGroup; + private ?UserGroup $userGroup; /** * This method collects the user's net worth in ALL the user's currencies diff --git a/app/Http/Controllers/Controller.php b/app/Http/Controllers/Controller.php index 2c086c4057..a004c03b61 100644 --- a/app/Http/Controllers/Controller.php +++ b/app/Http/Controllers/Controller.php @@ -69,6 +69,11 @@ abstract class Controller extends BaseController $authGuard = config('firefly.authentication_guard'); $logoutUrl = config('firefly.custom_logout_url'); + // overrule v2 layout back to v1. + if ('true' === request()->get('force_default_layout') && 'v2' === config('firefly.layout')) { + app('view')->getFinder()->setPaths([realpath(base_path('resources/views'))]); // @phpstan-ignore-line + } + app('view')->share('authGuard', $authGuard); app('view')->share('logoutUrl', $logoutUrl); diff --git a/app/Http/Controllers/DebugController.php b/app/Http/Controllers/DebugController.php index 44116553ce..01c8cec108 100644 --- a/app/Http/Controllers/DebugController.php +++ b/app/Http/Controllers/DebugController.php @@ -24,6 +24,7 @@ declare(strict_types=1); namespace FireflyIII\Http\Controllers; use Carbon\Carbon; +use Exception; use FireflyIII\Exceptions\FireflyException; use FireflyIII\Http\Middleware\IsDemoUser; use FireflyIII\Models\AccountType; diff --git a/app/Http/Controllers/Json/ReconcileController.php b/app/Http/Controllers/Json/ReconcileController.php index 51cbdb743e..bc1193dd30 100644 --- a/app/Http/Controllers/Json/ReconcileController.php +++ b/app/Http/Controllers/Json/ReconcileController.php @@ -34,6 +34,7 @@ use FireflyIII\Repositories\Account\AccountRepositoryInterface; use Illuminate\Http\JsonResponse; use Illuminate\Http\Request; use Illuminate\Support\Collection; +use Illuminate\Support\Facades\Log; /** * Class ReconcileController @@ -73,7 +74,6 @@ class ReconcileController extends Controller $accountCurrency = $this->accountRepos->getAccountCurrency($account) ?? app('amount')->getDefaultCurrency(); $amount = '0'; $clearedAmount = '0'; - $route = ''; if (null === $start && null === $end) { throw new FireflyException('Invalid dates submitted.'); @@ -103,14 +103,11 @@ class ReconcileController extends Controller $clearedJournals = $collector->getExtractedJournals(); } - app('log')->debug('Start transaction loop'); - /** @var array $journal */ foreach ($journals as $journal) { $amount = $this->processJournal($account, $accountCurrency, $journal, $amount); } app('log')->debug(sprintf('Final amount is %s', $amount)); - app('log')->debug('End transaction loop'); /** @var array $journal */ foreach ($clearedJournals as $journal) { @@ -118,31 +115,17 @@ class ReconcileController extends Controller $clearedAmount = $this->processJournal($account, $accountCurrency, $journal, $clearedAmount); } } + Log::debug(sprintf('Start balance: "%s"', $startBalance)); + Log::debug(sprintf('End balance: "%s"', $endBalance)); + Log::debug(sprintf('Cleared amount: "%s"', $clearedAmount)); + Log::debug(sprintf('Amount: "%s"', $amount)); $difference = bcadd(bcadd(bcsub($startBalance, $endBalance), $clearedAmount), $amount); $diffCompare = bccomp($difference, '0'); $countCleared = count($clearedJournals); - $reconSum = bcadd(bcadd($startBalance, $amount), $clearedAmount); try { - $view = view( - 'accounts.reconcile.overview', - compact( - 'account', - 'start', - 'diffCompare', - 'difference', - 'end', - 'clearedAmount', - 'startBalance', - 'endBalance', - 'amount', - 'route', - 'countCleared', - 'reconSum', - 'selectedIds' - ) - )->render(); + $view = view('accounts.reconcile.overview', compact('account', 'start', 'diffCompare', 'difference', 'end', 'clearedAmount', 'startBalance', 'endBalance', 'amount', 'route', 'countCleared', 'reconSum', 'selectedIds'))->render(); } catch (\Throwable $e) { app('log')->debug(sprintf('View error: %s', $e->getMessage())); app('log')->error($e->getTraceAsString()); @@ -151,14 +134,42 @@ class ReconcileController extends Controller throw new FireflyException($view, 0, $e); } - $return = [ - 'post_url' => $route, - 'html' => $view, - ]; + $return = ['post_url' => $route, 'html' => $view]; return response()->json($return); } + private function processJournal(Account $account, TransactionCurrency $currency, array $journal, string $amount): string + { + $toAdd = '0'; + app('log')->debug(sprintf('User submitted %s #%d: "%s"', $journal['transaction_type_type'], $journal['transaction_journal_id'], $journal['description'])); + + // not much magic below we need to cover using tests. + + if ($account->id === $journal['source_account_id']) { + if ($currency->id === $journal['currency_id']) { + $toAdd = $journal['amount']; + } + if (null !== $journal['foreign_currency_id'] && $journal['foreign_currency_id'] === $currency->id) { + $toAdd = $journal['foreign_amount']; + } + } + if ($account->id === $journal['destination_account_id']) { + if ($currency->id === $journal['currency_id']) { + $toAdd = bcmul($journal['amount'], '-1'); + } + if (null !== $journal['foreign_currency_id'] && $journal['foreign_currency_id'] === $currency->id) { + $toAdd = bcmul($journal['foreign_amount'], '-1'); + } + } + + app('log')->debug(sprintf('Going to add %s to %s', $toAdd, $amount)); + $amount = bcadd($amount, $toAdd); + app('log')->debug(sprintf('Result is %s', $amount)); + + return $amount; + } + /** * Returns a list of transactions in a modal. * @@ -176,6 +187,7 @@ class ReconcileController extends Controller } $startDate = clone $start; $startDate->subDay(); + $end->endOfDay(); $currency = $this->accountRepos->getAccountCurrency($account) ?? app('amount')->getDefaultCurrency(); $startBalance = app('steam')->bcround(app('steam')->balance($account, $startDate), $currency->decimal_places); @@ -214,37 +226,6 @@ class ReconcileController extends Controller return response()->json(['html' => $html, 'startBalance' => $startBalance, 'endBalance' => $endBalance]); } - private function processJournal(Account $account, TransactionCurrency $currency, array $journal, string $amount): string - { - $toAdd = '0'; - app('log')->debug(sprintf('User submitted %s #%d: "%s"', $journal['transaction_type_type'], $journal['transaction_journal_id'], $journal['description'])); - - // not much magic below we need to cover using tests. - - if ($account->id === $journal['source_account_id']) { - if ($currency->id === $journal['currency_id']) { - $toAdd = $journal['amount']; - } - if (null !== $journal['foreign_currency_id'] && $journal['foreign_currency_id'] === $currency->id) { - $toAdd = $journal['foreign_amount']; - } - } - if ($account->id === $journal['destination_account_id']) { - if ($currency->id === $journal['currency_id']) { - $toAdd = bcmul($journal['amount'], '-1'); - } - if (null !== $journal['foreign_currency_id'] && $journal['foreign_currency_id'] === $currency->id) { - $toAdd = bcmul($journal['foreign_amount'], '-1'); - } - } - - app('log')->debug(sprintf('Going to add %s to %s', $toAdd, $amount)); - $amount = bcadd($amount, $toAdd); - app('log')->debug(sprintf('Result is %s', $amount)); - - return $amount; - } - /** * "fix" amounts to make it easier on the reconciliation overview: */ diff --git a/app/Http/Controllers/Transaction/IndexController.php b/app/Http/Controllers/Transaction/IndexController.php index 8013113c6d..c0722fe6f1 100644 --- a/app/Http/Controllers/Transaction/IndexController.php +++ b/app/Http/Controllers/Transaction/IndexController.php @@ -75,52 +75,45 @@ class IndexController extends Controller $objectType = 'transfer'; } - // add a split for the (future) v2 release. - $periods = []; - $groups = []; - $subTitle = 'TODO page subtitle in v2'; + $subTitleIcon = config('firefly.transactionIconsByType.'.$objectType); + $types = config('firefly.transactionTypesByType.'.$objectType); + $page = (int)$request->get('page'); + $pageSize = (int)app('preferences')->get('listPageSize', 50)->data; - $subTitleIcon = config('firefly.transactionIconsByType.'.$objectType); - $types = config('firefly.transactionTypesByType.'.$objectType); - $page = (int)$request->get('page'); - $pageSize = (int)app('preferences')->get('listPageSize', 50)->data; - - if ('v2' !== (string)config('firefly.layout')) { - if (null === $start) { - $start = session('start'); - $end = session('end'); - } - if (null === $end) { - // get last transaction ever? - $last = $this->repository->getLast(); - $end = null !== $last ? $last->date : session('end'); - } - - [$start, $end] = $end < $start ? [$end, $start] : [$start, $end]; - $startStr = $start->isoFormat($this->monthAndDayFormat); - $endStr = $end->isoFormat($this->monthAndDayFormat); - $subTitle = (string)trans(sprintf('firefly.title_%s_between', $objectType), ['start' => $startStr, 'end' => $endStr]); - $path = route('transactions.index', [$objectType, $start->format('Y-m-d'), $end->format('Y-m-d')]); - $firstJournal = $this->repository->firstNull(); - $startPeriod = null === $firstJournal ? new Carbon() : $firstJournal->date; - $endPeriod = clone $end; - $periods = $this->getTransactionPeriodOverview($objectType, $startPeriod, $endPeriod); - - /** @var GroupCollectorInterface $collector */ - $collector = app(GroupCollectorInterface::class); - - $collector->setRange($start, $end) - ->setTypes($types) - ->setLimit($pageSize) - ->setPage($page) - ->withBudgetInformation() - ->withCategoryInformation() - ->withAccountInformation() - ->withAttachmentInformation() - ; - $groups = $collector->getPaginatedGroups(); - $groups->setPath($path); + if (null === $start) { + $start = session('start'); + $end = session('end'); } + if (null === $end) { + // get last transaction ever? + $last = $this->repository->getLast(); + $end = null !== $last ? $last->date : session('end'); + } + + [$start, $end] = $end < $start ? [$end, $start] : [$start, $end]; + $startStr = $start->isoFormat($this->monthAndDayFormat); + $endStr = $end->isoFormat($this->monthAndDayFormat); + $subTitle = (string)trans(sprintf('firefly.title_%s_between', $objectType), ['start' => $startStr, 'end' => $endStr]); + $path = route('transactions.index', [$objectType, $start->format('Y-m-d'), $end->format('Y-m-d')]); + $firstJournal = $this->repository->firstNull(); + $startPeriod = null === $firstJournal ? new Carbon() : $firstJournal->date; + $endPeriod = clone $end; + $periods = $this->getTransactionPeriodOverview($objectType, $startPeriod, $endPeriod); + + /** @var GroupCollectorInterface $collector */ + $collector = app(GroupCollectorInterface::class); + + $collector->setRange($start, $end) + ->setTypes($types) + ->setLimit($pageSize) + ->setPage($page) + ->withBudgetInformation() + ->withCategoryInformation() + ->withAccountInformation() + ->withAttachmentInformation() + ; + $groups = $collector->getPaginatedGroups(); + $groups->setPath($path); return view('transactions.index', compact('subTitle', 'objectType', 'subTitleIcon', 'groups', 'periods', 'start', 'end')); } diff --git a/app/Repositories/Budget/AvailableBudgetRepository.php b/app/Repositories/Budget/AvailableBudgetRepository.php index 7aac372c31..c4114c2641 100644 --- a/app/Repositories/Budget/AvailableBudgetRepository.php +++ b/app/Repositories/Budget/AvailableBudgetRepository.php @@ -202,7 +202,7 @@ class AvailableBudgetRepository implements AvailableBudgetRepositoryInterface $availableBudget->user()->associate($this->user); $availableBudget->transactionCurrency()->associate($currency); $availableBudget->start_date = $start->startOfDay()->format('Y-m-d'); // @phpstan-ignore-line - $availableBudget->end_date = $end->endOfDay()->format('Y-m-d'); // @phpstan-ignore-line + $availableBudget->end_date = $end->endOfDay()->format('Y-m-d'); // @phpstan-ignore-line } $availableBudget->amount = $amount; $availableBudget->save(); diff --git a/app/Repositories/Recurring/RecurringRepository.php b/app/Repositories/Recurring/RecurringRepository.php index efd4f9eaa3..a22f2f6f3b 100644 --- a/app/Repositories/Recurring/RecurringRepository.php +++ b/app/Repositories/Recurring/RecurringRepository.php @@ -375,6 +375,12 @@ class RecurringRepository implements RecurringRepositoryInterface app('log')->debug('Now in getXOccurrencesSince()'); $skipMod = $repetition->repetition_skip + 1; $occurrences = []; + + // to fix #8616, take a few days from both dates, then filter the list to make sure no entries + // from today or before are saved. + $date->subDays(4); + $afterDate->subDays(4); + if ('daily' === $repetition->repetition_type) { $occurrences = $this->getXDailyOccurrencesSince($date, $afterDate, $count, $skipMod); } @@ -407,7 +413,7 @@ class RecurringRepository implements RecurringRepositoryInterface } $filtered = []; foreach ($occurrences as $date) { - if ($date->lte($max)) { + if ($date->lte($max) && $date->gt(today())) { $filtered[] = $date; } } diff --git a/app/Repositories/UserGroups/Account/AccountRepository.php b/app/Repositories/UserGroups/Account/AccountRepository.php index c9a765f52a..d3f43220f0 100644 --- a/app/Repositories/UserGroups/Account/AccountRepository.php +++ b/app/Repositories/UserGroups/Account/AccountRepository.php @@ -39,6 +39,17 @@ class AccountRepository implements AccountRepositoryInterface { use UserGroupTrait; + #[\Override] + public function countAccounts(array $types): int + { + $query = $this->userGroup->accounts(); + if (0 !== count($types)) { + $query->accountTypeIn($types); + } + + return $query->count(); + } + public function findByAccountNumber(string $number, array $types): ?Account { $dbQuery = $this->userGroup @@ -161,6 +172,71 @@ class AccountRepository implements AccountRepositoryInterface return $query->get(['accounts.*']); } + #[\Override] + public function getAccountsInOrder(array $types, array $sort, int $startRow, int $endRow): Collection + { + $query = $this->userGroup->accounts(); + if (0 !== count($types)) { + $query->accountTypeIn($types); + } + $query->skip($startRow); + $query->take($endRow - $startRow); + + // add sort parameters. At this point they're filtered to allowed fields to sort by: + if (0 !== count($sort)) { + foreach ($sort as $label => $direction) { + $query->orderBy(sprintf('accounts.%s', $label), $direction); + } + } + + if (0 === count($sort)) { + $query->orderBy('accounts.order', 'ASC'); + $query->orderBy('accounts.active', 'DESC'); + $query->orderBy('accounts.name', 'ASC'); + } + + return $query->get(['accounts.*']); + } + + public function getActiveAccountsByType(array $types): Collection + { + $query = $this->userGroup->accounts(); + if (0 !== count($types)) { + $query->accountTypeIn($types); + } + $query->where('active', true); + $query->orderBy('accounts.account_type_id', 'ASC'); + $query->orderBy('accounts.order', 'ASC'); + $query->orderBy('accounts.name', 'ASC'); + + return $query->get(['accounts.*']); + } + + public function resetAccountOrder(): void + { + $sets = [ + [AccountType::DEFAULT, AccountType::ASSET], + [AccountType::LOAN, AccountType::DEBT, AccountType::CREDITCARD, AccountType::MORTGAGE], + ]; + foreach ($sets as $set) { + $list = $this->getAccountsByType($set); + $index = 1; + foreach ($list as $account) { + if (false === $account->active) { + $account->order = 0; + + continue; + } + if ($index !== (int)$account->order) { + app('log')->debug(sprintf('Account #%d ("%s"): order should %d be but is %d.', $account->id, $account->name, $index, $account->order)); + $account->order = $index; + $account->save(); + } + ++$index; + } + } + } + public function getAccountsByType(array $types, ?array $sort = []): Collection { $res = array_intersect([AccountType::ASSET, AccountType::MORTGAGE, AccountType::LOAN, AccountType::DEBT], $types); @@ -187,20 +263,6 @@ class AccountRepository implements AccountRepositoryInterface return $query->get(['accounts.*']); } - public function getActiveAccountsByType(array $types): Collection - { - $query = $this->userGroup->accounts(); - if (0 !== count($types)) { - $query->accountTypeIn($types); - } - $query->where('active', true); - $query->orderBy('accounts.account_type_id', 'ASC'); - $query->orderBy('accounts.order', 'ASC'); - $query->orderBy('accounts.name', 'ASC'); - - return $query->get(['accounts.*']); - } - public function searchAccount(string $query, array $types, int $limit): Collection { // search by group, not by user diff --git a/app/Repositories/UserGroups/Account/AccountRepositoryInterface.php b/app/Repositories/UserGroups/Account/AccountRepositoryInterface.php index bd0b8116fb..9a70b42795 100644 --- a/app/Repositories/UserGroups/Account/AccountRepositoryInterface.php +++ b/app/Repositories/UserGroups/Account/AccountRepositoryInterface.php @@ -35,6 +35,8 @@ use Illuminate\Support\Collection; */ interface AccountRepositoryInterface { + public function countAccounts(array $types): int; + public function find(int $accountId): ?Account; public function findByAccountNumber(string $number, array $types): ?Account; @@ -49,6 +51,11 @@ interface AccountRepositoryInterface public function getAccountsByType(array $types, ?array $sort = []): Collection; + /** + * Used in the infinite accounts list. + */ + public function getAccountsInOrder(array $types, array $sort, int $startRow, int $endRow): Collection; + public function getActiveAccountsByType(array $types): Collection; /** @@ -56,6 +63,11 @@ interface AccountRepositoryInterface */ public function getMetaValue(Account $account, string $field): ?string; + /** + * Reset order types of the mentioned accounts. + */ + public function resetAccountOrder(): void; + public function searchAccount(string $query, array $types, int $limit): Collection; public function setUser(User $user): void; diff --git a/app/Support/Authentication/RemoteUserGuard.php b/app/Support/Authentication/RemoteUserGuard.php index fa3ed47409..a5182734fb 100644 --- a/app/Support/Authentication/RemoteUserGuard.php +++ b/app/Support/Authentication/RemoteUserGuard.php @@ -39,7 +39,7 @@ class RemoteUserGuard implements Guard { protected Application $application; protected UserProvider $provider; - protected ?User $user; + protected ?User $user; /** * Create a new authentication guard. diff --git a/app/Support/Repositories/Recurring/CalculateXOccurrencesSince.php b/app/Support/Repositories/Recurring/CalculateXOccurrencesSince.php index 26eb8b8b98..4b766a0f47 100644 --- a/app/Support/Repositories/Recurring/CalculateXOccurrencesSince.php +++ b/app/Support/Repositories/Recurring/CalculateXOccurrencesSince.php @@ -79,13 +79,14 @@ trait CalculateXOccurrencesSince while ($total < $count) { $domCorrected = min($dayOfMonth, $mutator->daysInMonth); $mutator->day = $domCorrected; + app('log')->debug(sprintf('Mutator is now %s', $mutator->format('Y-m-d'))); if (0 === $attempts % $skipMod && $mutator->gte($afterDate)) { + app('log')->debug('Is added to the list.'); $return[] = clone $mutator; ++$total; } ++$attempts; $mutator = $mutator->endOfMonth()->addDay(); - app('log')->debug(sprintf('Mutator is now %s', $mutator->format('Y-m-d'))); } return $return; diff --git a/app/Support/Search/OperatorQuerySearch.php b/app/Support/Search/OperatorQuerySearch.php index dcac60ceda..d71498a67f 100644 --- a/app/Support/Search/OperatorQuerySearch.php +++ b/app/Support/Search/OperatorQuerySearch.php @@ -72,16 +72,18 @@ class OperatorQuerySearch implements SearchInterface private GroupCollectorInterface $collector; private CurrencyRepositoryInterface $currencyRepository; private array $excludeTags; + private array $includeAnyTags; + // added to fix #8632 private array $includeTags; - private array $invalidOperators; - private int $limit; - private Collection $operators; - private int $page; - private array $prohibitedWords; - private float $startTime; - private TagRepositoryInterface $tagRepository; - private array $validOperators; - private array $words; + private array $invalidOperators; + private int $limit; + private Collection $operators; + private int $page; + private array $prohibitedWords; + private float $startTime; + private TagRepositoryInterface $tagRepository; + private array $validOperators; + private array $words; /** * OperatorQuerySearch constructor. @@ -93,6 +95,7 @@ class OperatorQuerySearch implements SearchInterface $this->page = 1; $this->words = []; $this->excludeTags = []; + $this->includeAnyTags = []; $this->includeTags = []; $this->prohibitedWords = []; $this->invalidOperators = []; @@ -1112,8 +1115,9 @@ class OperatorQuerySearch implements SearchInterface $this->collector->findNothing(); } if ($tags->count() > 0) { - $ids = array_values($tags->pluck('id')->toArray()); - $this->includeTags = array_unique(array_merge($this->includeTags, $ids)); + // changed from includeTags to includeAnyTags for #8632 + $ids = array_values($tags->pluck('id')->toArray()); + $this->includeAnyTags = array_unique(array_merge($this->includeAnyTags, $ids)); } break; @@ -1125,8 +1129,9 @@ class OperatorQuerySearch implements SearchInterface $this->collector->findNothing(); } if ($tags->count() > 0) { - $ids = array_values($tags->pluck('id')->toArray()); - $this->includeTags = array_unique(array_merge($this->includeTags, $ids)); + // changed from includeTags to includeAnyTags for #8632 + $ids = array_values($tags->pluck('id')->toArray()); + $this->includeAnyTags = array_unique(array_merge($this->includeAnyTags, $ids)); } break; @@ -2725,6 +2730,19 @@ class OperatorQuerySearch implements SearchInterface } $this->collector->setAllTags($collection); } + // if include ANY tags, include them: (see #8632) + if (count($this->includeAnyTags) > 0) { + app('log')->debug(sprintf('%d include ANY tag(s)', count($this->includeAnyTags))); + $collection = new Collection(); + foreach ($this->includeAnyTags as $tagId) { + $tag = $this->tagRepository->find($tagId); + if (null !== $tag) { + app('log')->debug(sprintf('Include ANY tag "%s"', $tag->tag)); + $collection->push($tag); + } + } + $this->collector->setTags($collection); + } } public function getWords(): array diff --git a/app/Transformers/V2/AccountTransformer.php b/app/Transformers/V2/AccountTransformer.php index c36d19f1f2..08d699a632 100644 --- a/app/Transformers/V2/AccountTransformer.php +++ b/app/Transformers/V2/AccountTransformer.php @@ -114,7 +114,7 @@ class AccountTransformer extends AbstractTransformer // no currency? use default $currency = $this->default; - if (0 !== (int)$this->accountMeta[$id]['currency_id']) { + if (array_key_exists($id, $this->accountMeta) && 0 !== (int)$this->accountMeta[$id]['currency_id']) { $currency = $this->currencies[(int)$this->accountMeta[$id]['currency_id']]; } // amounts and calculation. diff --git a/app/Transformers/V2/TransactionGroupTransformer.php b/app/Transformers/V2/TransactionGroupTransformer.php index 7838b24fca..5f0b60cb0c 100644 --- a/app/Transformers/V2/TransactionGroupTransformer.php +++ b/app/Transformers/V2/TransactionGroupTransformer.php @@ -47,7 +47,7 @@ use Illuminate\Support\Facades\DB; class TransactionGroupTransformer extends AbstractTransformer { private array $accountTypes = []; // account types collection. - private ExchangeRateConverter $converter; // collection of all journals and some important meta-data. + private ExchangeRateConverter $converter; // collection of all journals and some important meta-data. private array $currencies = []; private TransactionCurrency $default; // collection of all currencies for this transformer. private array $journals = []; diff --git a/composer.json b/composer.json index 82186beb6c..5a8d4c7eee 100644 --- a/composer.json +++ b/composer.json @@ -112,7 +112,7 @@ }, "require-dev": { "barryvdh/laravel-debugbar": "^3.9", - "barryvdh/laravel-ide-helper": "2.*", + "barryvdh/laravel-ide-helper": "3.*", "ergebnis/phpstan-rules": "^2.1", "fakerphp/faker": "1.*", "filp/whoops": "2.*", diff --git a/composer.lock b/composer.lock index 1b9a6fd3f5..52b57a37e7 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": "1046ba3997e4bfc3802e62f157cd311b", + "content-hash": "58ae8806859163b7e368713d917a12e0", "packages": [ { "name": "bacon/bacon-qr-code", @@ -41,9 +41,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-2-Clause" - ], + "license": ["BSD-2-Clause"], "authors": [ { "name": "Ben Scholzen 'DASPRiD'", @@ -89,9 +87,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "description": "Arbitrary-precision arithmetic library", "keywords": [ "Arbitrary-precision", @@ -147,9 +143,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "KyleKatarn", @@ -157,13 +151,7 @@ } ], "description": "Types to use Carbon in Doctrine", - "keywords": [ - "carbon", - "date", - "datetime", - "doctrine", - "time" - ], + "keywords": ["carbon", "date", "datetime", "doctrine", "time"], "support": { "issues": "https://github.com/CarbonPHP/carbon-doctrine-types/issues", "source": "https://github.com/CarbonPHP/carbon-doctrine-types/tree/2.1.0" @@ -212,9 +200,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-2-Clause" - ], + "license": ["BSD-2-Clause"], "authors": [ { "name": "Ben Scholzen 'DASPRiD'", @@ -224,10 +210,7 @@ } ], "description": "PHP 7.1 enum implementation", - "keywords": [ - "enum", - "map" - ], + "keywords": ["enum", "map"], "support": { "issues": "https://github.com/DASPRiD/Enum/issues", "source": "https://github.com/DASPRiD/Enum/tree/1.0.5" @@ -257,9 +240,7 @@ "phpunit/phpunit": "^5|^6|^7|^8|^9|^10", "yoast/phpunit-polyfills": "^2.0.0" }, - "bin": [ - "bin/generate-defuse-key" - ], + "bin": ["bin/generate-defuse-key"], "type": "library", "autoload": { "psr-4": { @@ -267,9 +248,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Taylor Hornby", @@ -337,9 +316,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Dragonfly Development Inc.", @@ -364,12 +341,7 @@ ], "description": "Given a deep data structure, access data by dot notation.", "homepage": "https://github.com/dflydev/dflydev-dot-access-data", - "keywords": [ - "access", - "data", - "dot", - "notation" - ], + "keywords": ["access", "data", "dot", "notation"], "support": { "issues": "https://github.com/dflydev/dflydev-dot-access-data/issues", "source": "https://github.com/dflydev/dflydev-dot-access-data/tree/v3.0.2" @@ -407,9 +379,7 @@ "type": "library", "extra": { "laravel": { - "providers": [ - "Diglactic\\Breadcrumbs\\ServiceProvider" - ], + "providers": ["Diglactic\\Breadcrumbs\\ServiceProvider"], "aliases": { "Breadcrumbs": "Diglactic\\Breadcrumbs\\Breadcrumbs" } @@ -421,9 +391,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Sheng Slogar", @@ -438,9 +406,7 @@ ], "description": "A simple Laravel-style way to create breadcrumbs.", "homepage": "https://github.com/diglactic/laravel-breadcrumbs", - "keywords": [ - "laravel" - ], + "keywords": ["laravel"], "support": { "issues": "https://github.com/diglactic/laravel-breadcrumbs/issues", "source": "https://github.com/diglactic/laravel-breadcrumbs/tree/v8.1.1" @@ -482,9 +448,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Guilherme Blanco", @@ -542,16 +506,16 @@ }, { "name": "doctrine/dbal", - "version": "3.8.2", + "version": "3.8.3", "source": { "type": "git", "url": "https://github.com/doctrine/dbal.git", - "reference": "a19a1d05ca211f41089dffcc387733a6875196cb" + "reference": "db922ba9436b7b18a23d1653a0b41ff2369ca41c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/dbal/zipball/a19a1d05ca211f41089dffcc387733a6875196cb", - "reference": "a19a1d05ca211f41089dffcc387733a6875196cb", + "url": "https://api.github.com/repos/doctrine/dbal/zipball/db922ba9436b7b18a23d1653a0b41ff2369ca41c", + "reference": "db922ba9436b7b18a23d1653a0b41ff2369ca41c", "shasum": "" }, "require": { @@ -567,12 +531,12 @@ "doctrine/coding-standard": "12.0.0", "fig/log-test": "^1", "jetbrains/phpstorm-stubs": "2023.1", - "phpstan/phpstan": "1.10.57", + "phpstan/phpstan": "1.10.58", "phpstan/phpstan-strict-rules": "^1.5", "phpunit/phpunit": "9.6.16", "psalm/plugin-phpunit": "0.18.4", "slevomat/coding-standard": "8.13.1", - "squizlabs/php_codesniffer": "3.8.1", + "squizlabs/php_codesniffer": "3.9.0", "symfony/cache": "^5.4|^6.0|^7.0", "symfony/console": "^4.4|^5.4|^6.0|^7.0", "vimeo/psalm": "4.30.0" @@ -580,9 +544,7 @@ "suggest": { "symfony/console": "For helpful console commands such as SQL execution and import of files." }, - "bin": [ - "bin/doctrine-dbal" - ], + "bin": ["bin/doctrine-dbal"], "type": "library", "autoload": { "psr-4": { @@ -590,9 +552,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Guilherme Blanco", @@ -635,7 +595,7 @@ ], "support": { "issues": "https://github.com/doctrine/dbal/issues", - "source": "https://github.com/doctrine/dbal/tree/3.8.2" + "source": "https://github.com/doctrine/dbal/tree/3.8.3" }, "funding": [ { @@ -651,7 +611,7 @@ "type": "tidelift" } ], - "time": "2024-02-12T18:36:36+00:00" + "time": "2024-03-03T15:55:06+00:00" }, { "name": "doctrine/deprecations", @@ -689,9 +649,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "description": "A small layer on top of trigger_error(E_USER_DEPRECATED) or PSR-3 logging with options to disable all deprecations or selectively for packages.", "homepage": "https://www.doctrine-project.org/", "support": { @@ -733,9 +691,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Guilherme Blanco", @@ -823,9 +779,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Guilherme Blanco", @@ -913,9 +867,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Guilherme Blanco", @@ -932,13 +884,7 @@ ], "description": "PHP Doctrine Lexer parser library that can be used in Top-Down, Recursive Descent Parsers.", "homepage": "https://www.doctrine-project.org/projects/lexer.html", - "keywords": [ - "annotations", - "docblock", - "lexer", - "parser", - "php" - ], + "keywords": ["annotations", "docblock", "lexer", "parser", "php"], "support": { "issues": "https://github.com/doctrine/lexer/issues", "source": "https://github.com/doctrine/lexer/tree/3.0.1" @@ -993,9 +939,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Chris Tankersley", @@ -1004,10 +948,7 @@ } ], "description": "CRON for PHP: Calculate the next or previous run date and determine if a CRON expression is due", - "keywords": [ - "cron", - "schedule" - ], + "keywords": ["cron", "schedule"], "support": { "issues": "https://github.com/dragonmantank/cron-expression/issues", "source": "https://github.com/dragonmantank/cron-expression/tree/v3.3.3" @@ -1058,9 +999,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Eduardo Gulias Davis" @@ -1116,9 +1055,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Freek Van der Herten", @@ -1129,11 +1066,7 @@ ], "description": "Solution contracts for Ignition", "homepage": "https://github.com/facade/ignition-contracts", - "keywords": [ - "contracts", - "flare", - "ignition" - ], + "keywords": ["contracts", "flare", "ignition"], "support": { "issues": "https://github.com/facade/ignition-contracts/issues", "source": "https://github.com/facade/ignition-contracts/tree/1.0.2" @@ -1179,9 +1112,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Filipe Dobreira", @@ -1247,9 +1178,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "authors": [ { "name": "Neuman Vong", @@ -1264,10 +1193,7 @@ ], "description": "A simple library to encode and decode JSON Web Tokens (JWT) in PHP. Should conform to the current spec.", "homepage": "https://github.com/firebase/php-jwt", - "keywords": [ - "jwt", - "php" - ], + "keywords": ["jwt", "php"], "support": { "issues": "https://github.com/firebase/php-jwt/issues", "source": "https://github.com/firebase/php-jwt/tree/v6.10.0" @@ -1309,9 +1235,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Fruitcake", @@ -1324,11 +1248,7 @@ ], "description": "Cross-origin resource sharing library for the Symfony HttpFoundation", "homepage": "https://github.com/fruitcake/php-cors", - "keywords": [ - "cors", - "laravel", - "symfony" - ], + "keywords": ["cors", "laravel", "symfony"], "support": { "issues": "https://github.com/fruitcake/php-cors/issues", "source": "https://github.com/fruitcake/php-cors/tree/v1.3.0" @@ -1373,9 +1293,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], + "license": ["Apache-2.0"], "description": "Php library that converts search queries into terms, phrases, hashtags, mentions, etc.", "homepage": "https://github.com/gdbots/query-parser-php", "support": { @@ -1412,9 +1330,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Graham Campbell", @@ -1492,17 +1408,13 @@ } }, "autoload": { - "files": [ - "src/functions_include.php" - ], + "files": ["src/functions_include.php"], "psr-4": { "GuzzleHttp\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Graham Campbell", @@ -1606,9 +1518,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Graham Campbell", @@ -1632,9 +1542,7 @@ } ], "description": "Guzzle promises library", - "keywords": [ - "promise" - ], + "keywords": ["promise"], "support": { "issues": "https://github.com/guzzle/promises/issues", "source": "https://github.com/guzzle/promises/tree/2.0.2" @@ -1700,9 +1608,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Graham Campbell", @@ -1807,9 +1713,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Graham Campbell", @@ -1833,10 +1737,7 @@ } ], "description": "A polyfill class for uri_template of PHP", - "keywords": [ - "guzzlehttp", - "uri-template" - ], + "keywords": ["guzzlehttp", "uri-template"], "support": { "issues": "https://github.com/guzzle/uri-template/issues", "source": "https://github.com/guzzle/uri-template/tree/v1.0.3" @@ -1888,9 +1789,7 @@ "type": "library", "extra": { "component": "package", - "frameworks": [ - "Laravel" - ], + "frameworks": ["Laravel"], "branch-alias": { "dev-master": "0.2-dev" }, @@ -1910,9 +1809,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Antonio Carlos Ribeiro", @@ -1977,9 +1874,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Antonio Carlos Ribeiro", @@ -2014,16 +1909,16 @@ }, { "name": "laravel/framework", - "version": "v10.46.0", + "version": "v10.47.0", "source": { "type": "git", "url": "https://github.com/laravel/framework.git", - "reference": "5e95946a8283a8d5c015035793f9c61c297e937f" + "reference": "fce29b8de62733cdecbe12e3bae801f83fff2ea4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/5e95946a8283a8d5c015035793f9c61c297e937f", - "reference": "5e95946a8283a8d5c015035793f9c61c297e937f", + "url": "https://api.github.com/repos/laravel/framework/zipball/fce29b8de62733cdecbe12e3bae801f83fff2ea4", + "reference": "fce29b8de62733cdecbe12e3bae801f83fff2ea4", "shasum": "" }, "require": { @@ -2197,9 +2092,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Taylor Otwell", @@ -2208,28 +2101,25 @@ ], "description": "The Laravel Framework.", "homepage": "https://laravel.com", - "keywords": [ - "framework", - "laravel" - ], + "keywords": ["framework", "laravel"], "support": { "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2024-02-27T16:46:54+00:00" + "time": "2024-03-05T15:18:36+00:00" }, { "name": "laravel/passport", - "version": "v11.10.5", + "version": "v11.10.6", "source": { "type": "git", "url": "https://github.com/laravel/passport.git", - "reference": "4d81207941d6efc198857847d9e4c17520f28d75" + "reference": "2642f360c51dfde3a6ea60f86ae5d9a8c0caf3cf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/passport/zipball/4d81207941d6efc198857847d9e4c17520f28d75", - "reference": "4d81207941d6efc198857847d9e4c17520f28d75", + "url": "https://api.github.com/repos/laravel/passport/zipball/2642f360c51dfde3a6ea60f86ae5d9a8c0caf3cf", + "reference": "2642f360c51dfde3a6ea60f86ae5d9a8c0caf3cf", "shasum": "" }, "require": { @@ -2263,9 +2153,7 @@ "dev-master": "11.x-dev" }, "laravel": { - "providers": [ - "Laravel\\Passport\\PassportServiceProvider" - ] + "providers": ["Laravel\\Passport\\PassportServiceProvider"] } }, "autoload": { @@ -2275,9 +2163,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Taylor Otwell", @@ -2285,16 +2171,12 @@ } ], "description": "Laravel Passport provides OAuth2 server support to Laravel.", - "keywords": [ - "laravel", - "oauth", - "passport" - ], + "keywords": ["laravel", "oauth", "passport"], "support": { "issues": "https://github.com/laravel/passport/issues", "source": "https://github.com/laravel/passport" }, - "time": "2024-02-09T16:27:49+00:00" + "time": "2024-03-01T11:11:18+00:00" }, { "name": "laravel/prompts", @@ -2336,17 +2218,13 @@ } }, "autoload": { - "files": [ - "src/helpers.php" - ], + "files": ["src/helpers.php"], "psr-4": { "Laravel\\Prompts\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "support": { "issues": "https://github.com/laravel/prompts/issues", "source": "https://github.com/laravel/prompts/tree/v0.1.16" @@ -2387,9 +2265,7 @@ "dev-master": "3.x-dev" }, "laravel": { - "providers": [ - "Laravel\\Sanctum\\SanctumServiceProvider" - ] + "providers": ["Laravel\\Sanctum\\SanctumServiceProvider"] } }, "autoload": { @@ -2398,9 +2274,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Taylor Otwell", @@ -2408,11 +2282,7 @@ } ], "description": "Laravel Sanctum provides a featherweight authentication system for SPAs and simple APIs.", - "keywords": [ - "auth", - "laravel", - "sanctum" - ], + "keywords": ["auth", "laravel", "sanctum"], "support": { "issues": "https://github.com/laravel/sanctum/issues", "source": "https://github.com/laravel/sanctum" @@ -2454,9 +2324,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Taylor Otwell", @@ -2468,11 +2336,7 @@ } ], "description": "Laravel Serializable Closure provides an easy and secure way to serialize closures in PHP.", - "keywords": [ - "closure", - "laravel", - "serializable" - ], + "keywords": ["closure", "laravel", "serializable"], "support": { "issues": "https://github.com/laravel/serializable-closure/issues", "source": "https://github.com/laravel/serializable-closure" @@ -2523,9 +2387,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Taylor Otwell", @@ -2533,11 +2395,7 @@ } ], "description": "Slack Notification Channel for laravel.", - "keywords": [ - "laravel", - "notifications", - "slack" - ], + "keywords": ["laravel", "notifications", "slack"], "support": { "issues": "https://github.com/laravel/slack-notification-channel/issues", "source": "https://github.com/laravel/slack-notification-channel/tree/v3.2.0" @@ -2546,16 +2404,16 @@ }, { "name": "laravel/ui", - "version": "v4.4.0", + "version": "v4.5.0", "source": { "type": "git", "url": "https://github.com/laravel/ui.git", - "reference": "7335d7049b2cde345c029e9d2de839b80af62bc0" + "reference": "da3811f409297d13feccd5858ce748e7474b3d11" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/ui/zipball/7335d7049b2cde345c029e9d2de839b80af62bc0", - "reference": "7335d7049b2cde345c029e9d2de839b80af62bc0", + "url": "https://api.github.com/repos/laravel/ui/zipball/da3811f409297d13feccd5858ce748e7474b3d11", + "reference": "da3811f409297d13feccd5858ce748e7474b3d11", "shasum": "" }, "require": { @@ -2566,8 +2424,8 @@ "php": "^8.0" }, "require-dev": { - "orchestra/testbench": "^7.0|^8.0|^9.0", - "phpunit/phpunit": "^9.3|^10.4" + "orchestra/testbench": "^7.35|^8.15|^9.0", + "phpunit/phpunit": "^9.3|^10.4|^11.0" }, "type": "library", "extra": { @@ -2575,9 +2433,7 @@ "dev-master": "4.x-dev" }, "laravel": { - "providers": [ - "Laravel\\Ui\\UiServiceProvider" - ] + "providers": ["Laravel\\Ui\\UiServiceProvider"] } }, "autoload": { @@ -2587,9 +2443,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Taylor Otwell", @@ -2597,14 +2451,11 @@ } ], "description": "Laravel UI utilities and presets.", - "keywords": [ - "laravel", - "ui" - ], + "keywords": ["laravel", "ui"], "support": { - "source": "https://github.com/laravel/ui/tree/v4.4.0" + "source": "https://github.com/laravel/ui/tree/v4.5.0" }, - "time": "2024-01-12T15:56:45+00:00" + "time": "2024-03-04T13:58:27+00:00" }, { "name": "lcobucci/clock", @@ -2644,9 +2495,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Luís Cobucci", @@ -2712,9 +2561,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "authors": [ { "name": "Luís Cobucci", @@ -2723,10 +2570,7 @@ } ], "description": "A simple library to work with JSON Web Token and JSON Web Signature", - "keywords": [ - "JWS", - "jwt" - ], + "keywords": ["JWS", "jwt"], "support": { "issues": "https://github.com/lcobucci/jwt/issues", "source": "https://github.com/lcobucci/jwt/tree/5.2.0" @@ -2799,9 +2643,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "authors": [ { "name": "Colin O'Dell", @@ -2887,9 +2729,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "authors": [ { "name": "Colin O'Dell", @@ -2975,17 +2815,13 @@ } }, "autoload": { - "files": [ - "src/functions_include.php" - ], + "files": ["src/functions_include.php"], "psr-4": { "League\\Csv\\": "src" } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Ignace Nyamagana Butera", @@ -3053,9 +2889,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Frank de Jonge", @@ -3063,11 +2897,7 @@ } ], "description": "Event package", - "keywords": [ - "emitter", - "event", - "listener" - ], + "keywords": ["emitter", "event", "listener"], "support": { "issues": "https://github.com/thephpleague/event/issues", "source": "https://github.com/thephpleague/event/tree/master" @@ -3125,9 +2955,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Frank de Jonge", @@ -3191,9 +3019,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Frank de Jonge", @@ -3201,13 +3027,7 @@ } ], "description": "Local filesystem adapter for Flysystem.", - "keywords": [ - "Flysystem", - "file", - "files", - "filesystem", - "local" - ], + "keywords": ["Flysystem", "file", "files", "filesystem", "local"], "support": { "issues": "https://github.com/thephpleague/flysystem-local/issues", "source": "https://github.com/thephpleague/flysystem-local/tree/3.23.1" @@ -3269,9 +3089,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Phil Sturgeon", @@ -3282,12 +3100,7 @@ ], "description": "Handle the output of complex data structures ready for API output.", "homepage": "http://fractal.thephpleague.com/", - "keywords": [ - "api", - "json", - "league", - "rest" - ], + "keywords": ["api", "json", "league", "rest"], "support": { "issues": "https://github.com/thephpleague/fractal/issues", "source": "https://github.com/thephpleague/fractal/tree/0.20.1" @@ -3324,9 +3137,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Frank de Jonge", @@ -3392,9 +3203,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Alex Bilbie", @@ -3481,9 +3290,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Ignace Nyamagana Butera", @@ -3567,9 +3374,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Ignace Nyamagana Butera", @@ -3645,9 +3450,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "proprietary" - ], + "license": ["proprietary"], "authors": [ { "name": "Mailchimp", @@ -3655,12 +3458,7 @@ } ], "homepage": "http://swagger.io", - "keywords": [ - "api", - "php", - "sdk", - "swagger" - ], + "keywords": ["api", "php", "sdk", "swagger"], "support": { "source": "https://github.com/mailchimp/mailchimp-transactional-php/tree/v1.0.59" }, @@ -3734,9 +3532,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Jordi Boggiano", @@ -3746,11 +3542,7 @@ ], "description": "Sends your logs to files, sockets, inboxes, databases and various web services", "homepage": "https://github.com/Seldaek/monolog", - "keywords": [ - "log", - "logging", - "psr-3" - ], + "keywords": ["log", "logging", "psr-3"], "support": { "issues": "https://github.com/Seldaek/monolog/issues", "source": "https://github.com/Seldaek/monolog/tree/3.5.0" @@ -3806,9 +3598,7 @@ "phpunit/phpunit": "^7.5.20 || ^8.5.26 || ^9.5.20", "squizlabs/php_codesniffer": "^3.4" }, - "bin": [ - "bin/carbon" - ], + "bin": ["bin/carbon"], "type": "library", "extra": { "branch-alias": { @@ -3816,14 +3606,10 @@ "dev-master": "2.x-dev" }, "laravel": { - "providers": [ - "Carbon\\Laravel\\ServiceProvider" - ] + "providers": ["Carbon\\Laravel\\ServiceProvider"] }, "phpstan": { - "includes": [ - "extension.neon" - ] + "includes": ["extension.neon"] } }, "autoload": { @@ -3832,9 +3618,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Brian Nesbitt", @@ -3848,11 +3632,7 @@ ], "description": "An API extension for DateTime that supports 281 different languages.", "homepage": "https://carbon.nesbot.com", - "keywords": [ - "date", - "datetime", - "time" - ], + "keywords": ["date", "datetime", "time"], "support": { "docs": "https://carbon.nesbot.com/docs", "issues": "https://github.com/briannesbitt/Carbon/issues", @@ -3904,16 +3684,10 @@ } }, "autoload": { - "classmap": [ - "src/" - ] + "classmap": ["src/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause", - "GPL-2.0-only", - "GPL-3.0-only" - ], + "license": ["BSD-3-Clause", "GPL-2.0-only", "GPL-3.0-only"], "authors": [ { "name": "David Grudl", @@ -3926,10 +3700,7 @@ ], "description": "📐 Nette Schema: validating data structures against a given Schema.", "homepage": "https://nette.org", - "keywords": [ - "config", - "nette" - ], + "keywords": ["config", "nette"], "support": { "issues": "https://github.com/nette/schema/issues", "source": "https://github.com/nette/schema/tree/v1.3.0" @@ -3978,16 +3749,10 @@ } }, "autoload": { - "classmap": [ - "src/" - ] + "classmap": ["src/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause", - "GPL-2.0-only", - "GPL-3.0-only" - ], + "license": ["BSD-3-Clause", "GPL-2.0-only", "GPL-3.0-only"], "authors": [ { "name": "David Grudl", @@ -4068,17 +3833,13 @@ } }, "autoload": { - "files": [ - "./src/Adapters/Phpunit/Autoload.php" - ], + "files": ["./src/Adapters/Phpunit/Autoload.php"], "psr-4": { "NunoMaduro\\Collision\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Nuno Maduro", @@ -4152,23 +3913,17 @@ "type": "library", "extra": { "laravel": { - "providers": [ - "Termwind\\Laravel\\TermwindServiceProvider" - ] + "providers": ["Termwind\\Laravel\\TermwindServiceProvider"] } }, "autoload": { - "files": [ - "src/Functions.php" - ], + "files": ["src/Functions.php"], "psr-4": { "Termwind\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Nuno Maduro", @@ -4176,14 +3931,7 @@ } ], "description": "Its like Tailwind CSS, but for the console.", - "keywords": [ - "cli", - "console", - "css", - "package", - "php", - "style" - ], + "keywords": ["cli", "console", "css", "package", "php", "style"], "support": { "issues": "https://github.com/nunomaduro/termwind/issues", "source": "https://github.com/nunomaduro/termwind/tree/v1.15.1" @@ -4247,9 +3995,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Tobias Nyholm", @@ -4262,10 +4008,7 @@ ], "description": "A fast PHP7 implementation of PSR-7", "homepage": "https://tnyholm.se", - "keywords": [ - "psr-17", - "psr-7" - ], + "keywords": ["psr-17", "psr-7"], "support": { "issues": "https://github.com/Nyholm/psr7/issues", "source": "https://github.com/Nyholm/psr7/tree/1.8.1" @@ -4310,9 +4053,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Paragon Initiative Enterprises", @@ -4375,9 +4116,7 @@ }, "type": "library", "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Paragon Initiative Enterprises", @@ -4386,12 +4125,7 @@ } ], "description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7", - "keywords": [ - "csprng", - "polyfill", - "pseudorandom", - "random" - ], + "keywords": ["csprng", "polyfill", "pseudorandom", "random"], "support": { "email": "info@paragonie.com", "issues": "https://github.com/paragonie/random_compat/issues", @@ -4436,9 +4170,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], + "license": ["Apache-2.0"], "authors": [ { "name": "Johannes M. Schmitt", @@ -4452,12 +4184,7 @@ } ], "description": "Option Type for PHP", - "keywords": [ - "language", - "option", - "php", - "type" - ], + "keywords": ["language", "option", "php", "type"], "support": { "issues": "https://github.com/schmittjoh/php-option/issues", "source": "https://github.com/schmittjoh/php-option/tree/1.9.2" @@ -4476,16 +4203,16 @@ }, { "name": "phpseclib/phpseclib", - "version": "3.0.36", + "version": "3.0.37", "source": { "type": "git", "url": "https://github.com/phpseclib/phpseclib.git", - "reference": "c2fb5136162d4be18fdd4da9980696f3aee96d7b" + "reference": "cfa2013d0f68c062055180dd4328cc8b9d1f30b8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/c2fb5136162d4be18fdd4da9980696f3aee96d7b", - "reference": "c2fb5136162d4be18fdd4da9980696f3aee96d7b", + "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/cfa2013d0f68c062055180dd4328cc8b9d1f30b8", + "reference": "cfa2013d0f68c062055180dd4328cc8b9d1f30b8", "shasum": "" }, "require": { @@ -4505,17 +4232,13 @@ }, "type": "library", "autoload": { - "files": [ - "phpseclib/bootstrap.php" - ], + "files": ["phpseclib/bootstrap.php"], "psr-4": { "phpseclib3\\": "phpseclib/" } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Jim Wigginton", @@ -4566,7 +4289,7 @@ ], "support": { "issues": "https://github.com/phpseclib/phpseclib/issues", - "source": "https://github.com/phpseclib/phpseclib/tree/3.0.36" + "source": "https://github.com/phpseclib/phpseclib/tree/3.0.37" }, "funding": [ { @@ -4582,7 +4305,7 @@ "type": "tidelift" } ], - "time": "2024-02-26T05:13:14+00:00" + "time": "2024-03-03T02:14:58+00:00" }, { "name": "pragmarx/google2fa", @@ -4613,9 +4336,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Antonio Carlos Ribeiro", @@ -4673,9 +4394,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Antonio Carlos Ribeiro", @@ -4737,9 +4456,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Antonio Carlos Ribeiro", @@ -4797,9 +4514,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Till Krüss", @@ -4809,11 +4524,7 @@ ], "description": "A flexible and feature-complete Redis client for PHP.", "homepage": "http://github.com/predis/predis", - "keywords": [ - "nosql", - "predis", - "redis" - ], + "keywords": ["nosql", "predis", "redis"], "support": { "issues": "https://github.com/predis/predis/issues", "source": "https://github.com/predis/predis/tree/v2.2.2" @@ -4855,9 +4566,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "PHP-FIG", @@ -4865,11 +4574,7 @@ } ], "description": "Common interface for caching libraries", - "keywords": [ - "cache", - "psr", - "psr-6" - ], + "keywords": ["cache", "psr", "psr-6"], "support": { "source": "https://github.com/php-fig/cache/tree/3.0.0" }, @@ -4899,9 +4604,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "PHP-FIG", @@ -4910,13 +4613,7 @@ ], "description": "Common interface for reading the clock.", "homepage": "https://github.com/php-fig/clock", - "keywords": [ - "clock", - "now", - "psr", - "psr-20", - "time" - ], + "keywords": ["clock", "now", "psr", "psr-20", "time"], "support": { "issues": "https://github.com/php-fig/clock/issues", "source": "https://github.com/php-fig/clock/tree/1.0.0" @@ -4952,9 +4649,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "PHP-FIG", @@ -5005,9 +4700,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "PHP-FIG", @@ -5015,11 +4708,7 @@ } ], "description": "Standard interfaces for event handling.", - "keywords": [ - "events", - "psr", - "psr-14" - ], + "keywords": ["events", "psr", "psr-14"], "support": { "issues": "https://github.com/php-fig/event-dispatcher/issues", "source": "https://github.com/php-fig/event-dispatcher/tree/1.0.0" @@ -5056,9 +4745,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "PHP-FIG", @@ -5067,12 +4754,7 @@ ], "description": "Common interface for HTTP clients", "homepage": "https://github.com/php-fig/http-client", - "keywords": [ - "http", - "http-client", - "psr", - "psr-18" - ], + "keywords": ["http", "http-client", "psr", "psr-18"], "support": { "source": "https://github.com/php-fig/http-client" }, @@ -5108,9 +4790,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "PHP-FIG", @@ -5162,9 +4842,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "PHP-FIG", @@ -5215,9 +4893,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "PHP-FIG", @@ -5226,11 +4902,7 @@ ], "description": "Common interface for logging libraries", "homepage": "https://github.com/php-fig/log", - "keywords": [ - "log", - "psr", - "psr-3" - ], + "keywords": ["log", "psr", "psr-3"], "support": { "source": "https://github.com/php-fig/log/tree/3.0.0" }, @@ -5265,9 +4937,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "PHP-FIG", @@ -5275,13 +4945,7 @@ } ], "description": "Common interfaces for simple caching", - "keywords": [ - "cache", - "caching", - "psr", - "psr-16", - "simple-cache" - ], + "keywords": ["cache", "caching", "psr", "psr-16", "simple-cache"], "support": { "source": "https://github.com/php-fig/simple-cache/tree/3.0.0" }, @@ -5310,14 +4974,10 @@ }, "type": "library", "autoload": { - "files": [ - "src/getallheaders.php" - ] + "files": ["src/getallheaders.php"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Ralph Khattar", @@ -5385,9 +5045,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Ben Ramsey", @@ -5396,14 +5054,7 @@ } ], "description": "A PHP library for representing and manipulating collections.", - "keywords": [ - "array", - "collection", - "hash", - "map", - "queue", - "set" - ], + "keywords": ["array", "collection", "hash", "map", "queue", "set"], "support": { "issues": "https://github.com/ramsey/collection/issues", "source": "https://github.com/ramsey/collection/tree/2.0.0" @@ -5479,23 +5130,15 @@ } }, "autoload": { - "files": [ - "src/functions.php" - ], + "files": ["src/functions.php"], "psr-4": { "Ramsey\\Uuid\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "description": "A PHP library for generating and working with universally unique identifiers (UUIDs).", - "keywords": [ - "guid", - "identifier", - "uuid" - ], + "keywords": ["guid", "identifier", "uuid"], "support": { "issues": "https://github.com/ramsey/uuid/issues", "source": "https://github.com/ramsey/uuid/tree/4.7.5" @@ -5549,9 +5192,7 @@ "dev-master": "0.14-dev" }, "laravel": { - "providers": [ - "TwigBridge\\ServiceProvider" - ], + "providers": ["TwigBridge\\ServiceProvider"], "aliases": { "Twig": "TwigBridge\\Facade\\Twig" } @@ -5564,9 +5205,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Rob Crowe", @@ -5578,10 +5217,7 @@ } ], "description": "Adds the power of Twig to Laravel", - "keywords": [ - "laravel", - "twig" - ], + "keywords": ["laravel", "twig"], "support": { "issues": "https://github.com/rcrowe/TwigBridge/issues", "source": "https://github.com/rcrowe/TwigBridge/tree/v0.14.1" @@ -5618,9 +5254,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Freek Van de Herten", @@ -5631,10 +5265,7 @@ ], "description": "A better backtrace", "homepage": "https://github.com/spatie/backtrace", - "keywords": [ - "Backtrace", - "spatie" - ], + "keywords": ["Backtrace", "spatie"], "support": { "source": "https://github.com/spatie/backtrace/tree/1.5.3" }, @@ -5688,25 +5319,16 @@ } }, "autoload": { - "files": [ - "src/helpers.php" - ], + "files": ["src/helpers.php"], "psr-4": { "Spatie\\FlareClient\\": "src" } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "description": "Send PHP errors to Flare", "homepage": "https://github.com/spatie/flare-client-php", - "keywords": [ - "exception", - "flare", - "reporting", - "spatie" - ], + "keywords": ["exception", "flare", "reporting", "spatie"], "support": { "issues": "https://github.com/spatie/flare-client-php/issues", "source": "https://github.com/spatie/flare-client-php/tree/1.4.4" @@ -5770,9 +5392,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Spatie", @@ -5782,12 +5402,7 @@ ], "description": "A beautiful error page for PHP applications.", "homepage": "https://flareapp.io/ignition", - "keywords": [ - "error", - "flare", - "laravel", - "page" - ], + "keywords": ["error", "flare", "laravel", "page"], "support": { "docs": "https://flareapp.io/docs/ignition-for-laravel/introduction", "forum": "https://twitter.com/flareappio", @@ -5829,26 +5444,20 @@ "type": "library", "extra": { "laravel": { - "providers": [ - "Spatie\\Html\\HtmlServiceProvider" - ], + "providers": ["Spatie\\Html\\HtmlServiceProvider"], "aliases": { "Html": "Spatie\\Html\\Facades\\Html" } } }, "autoload": { - "files": [ - "src/helpers.php" - ], + "files": ["src/helpers.php"], "psr-4": { "Spatie\\Html\\": "src" } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Sebastian De Deyne", @@ -5865,10 +5474,7 @@ ], "description": "A fluent html builder", "homepage": "https://github.com/spatie/laravel-html", - "keywords": [ - "html", - "spatie" - ], + "keywords": ["html", "spatie"], "support": { "source": "https://github.com/spatie/laravel-html/tree/3.5.0" }, @@ -5932,17 +5538,13 @@ } }, "autoload": { - "files": [ - "src/helpers.php" - ], + "files": ["src/helpers.php"], "psr-4": { "Spatie\\LaravelIgnition\\": "src" } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Spatie", @@ -5952,12 +5554,7 @@ ], "description": "A beautiful error page for Laravel applications.", "homepage": "https://flareapp.io/ignition", - "keywords": [ - "error", - "flare", - "laravel", - "page" - ], + "keywords": ["error", "flare", "laravel", "page"], "support": { "docs": "https://flareapp.io/docs/ignition-for-laravel/introduction", "forum": "https://twitter.com/flareappio", @@ -6003,9 +5600,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Brent Roose", @@ -6016,10 +5611,7 @@ ], "description": "Complex period comparisons", "homepage": "https://github.com/spatie/period", - "keywords": [ - "period", - "spatie" - ], + "keywords": ["period", "spatie"], "support": { "issues": "https://github.com/spatie/period/issues", "source": "https://github.com/spatie/period/tree/2.4.0" @@ -6076,17 +5668,11 @@ "psr-4": { "Symfony\\Component\\Cache\\": "" }, - "classmap": [ - "Traits/ValueWrapper.php" - ], - "exclude-from-classmap": [ - "/Tests/" - ] + "classmap": ["Traits/ValueWrapper.php"], + "exclude-from-classmap": ["/Tests/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Nicolas Grekas", @@ -6099,10 +5685,7 @@ ], "description": "Provides extended PSR-6, PSR-16 (and tags) implementations", "homepage": "https://symfony.com", - "keywords": [ - "caching", - "psr6" - ], + "keywords": ["caching", "psr6"], "support": { "source": "https://github.com/symfony/cache/tree/v6.3.6" }, @@ -6156,9 +5739,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Nicolas Grekas", @@ -6247,14 +5828,10 @@ "psr-4": { "Symfony\\Component\\Console\\": "" }, - "exclude-from-classmap": [ - "/Tests/" - ] + "exclude-from-classmap": ["/Tests/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Fabien Potencier", @@ -6267,12 +5844,7 @@ ], "description": "Eases the creation of beautiful and testable command line interfaces", "homepage": "https://symfony.com", - "keywords": [ - "cli", - "command-line", - "console", - "terminal" - ], + "keywords": ["cli", "command-line", "console", "terminal"], "support": { "source": "https://github.com/symfony/console/tree/v6.4.4" }, @@ -6314,14 +5886,10 @@ "psr-4": { "Symfony\\Component\\CssSelector\\": "" }, - "exclude-from-classmap": [ - "/Tests/" - ] + "exclude-from-classmap": ["/Tests/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Fabien Potencier", @@ -6385,14 +5953,10 @@ } }, "autoload": { - "files": [ - "function.php" - ] + "files": ["function.php"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Nicolas Grekas", @@ -6452,22 +6016,16 @@ "symfony/http-kernel": "^6.4|^7.0", "symfony/serializer": "^5.4|^6.0|^7.0" }, - "bin": [ - "Resources/bin/patch-type-declarations" - ], + "bin": ["Resources/bin/patch-type-declarations"], "type": "library", "autoload": { "psr-4": { "Symfony\\Component\\ErrorHandler\\": "" }, - "exclude-from-classmap": [ - "/Tests/" - ] + "exclude-from-classmap": ["/Tests/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Fabien Potencier", @@ -6540,14 +6098,10 @@ "psr-4": { "Symfony\\Component\\EventDispatcher\\": "" }, - "exclude-from-classmap": [ - "/Tests/" - ] + "exclude-from-classmap": ["/Tests/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Fabien Potencier", @@ -6613,9 +6167,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Nicolas Grekas", @@ -6680,14 +6232,10 @@ "psr-4": { "Symfony\\Component\\ExpressionLanguage\\": "" }, - "exclude-from-classmap": [ - "/Tests/" - ] + "exclude-from-classmap": ["/Tests/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Fabien Potencier", @@ -6744,14 +6292,10 @@ "psr-4": { "Symfony\\Component\\Finder\\": "" }, - "exclude-from-classmap": [ - "/Tests/" - ] + "exclude-from-classmap": ["/Tests/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Fabien Potencier", @@ -6785,16 +6329,16 @@ }, { "name": "symfony/http-client", - "version": "v7.0.4", + "version": "v7.0.5", "source": { "type": "git", "url": "https://github.com/symfony/http-client.git", - "reference": "8384876f49a2316a63f88a9cd12436de6936bee6" + "reference": "425f462a59d8030703ee04a9e1c666575ed5db3b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-client/zipball/8384876f49a2316a63f88a9cd12436de6936bee6", - "reference": "8384876f49a2316a63f88a9cd12436de6936bee6", + "url": "https://api.github.com/repos/symfony/http-client/zipball/425f462a59d8030703ee04a9e1c666575ed5db3b", + "reference": "425f462a59d8030703ee04a9e1c666575ed5db3b", "shasum": "" }, "require": { @@ -6833,14 +6377,10 @@ "psr-4": { "Symfony\\Component\\HttpClient\\": "" }, - "exclude-from-classmap": [ - "/Tests/" - ] + "exclude-from-classmap": ["/Tests/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Nicolas Grekas", @@ -6853,11 +6393,9 @@ ], "description": "Provides powerful methods to fetch HTTP resources synchronously or asynchronously", "homepage": "https://symfony.com", - "keywords": [ - "http" - ], + "keywords": ["http"], "support": { - "source": "https://github.com/symfony/http-client/tree/v7.0.4" + "source": "https://github.com/symfony/http-client/tree/v7.0.5" }, "funding": [ { @@ -6873,7 +6411,7 @@ "type": "tidelift" } ], - "time": "2024-02-15T11:33:06+00:00" + "time": "2024-03-02T12:46:12+00:00" }, { "name": "symfony/http-client-contracts", @@ -6906,14 +6444,10 @@ "psr-4": { "Symfony\\Contracts\\HttpClient\\": "" }, - "exclude-from-classmap": [ - "/Test/" - ] + "exclude-from-classmap": ["/Test/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Nicolas Grekas", @@ -6991,14 +6525,10 @@ "psr-4": { "Symfony\\Component\\HttpFoundation\\": "" }, - "exclude-from-classmap": [ - "/Tests/" - ] + "exclude-from-classmap": ["/Tests/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Fabien Potencier", @@ -7032,16 +6562,16 @@ }, { "name": "symfony/http-kernel", - "version": "v6.4.4", + "version": "v6.4.5", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "7a186f64a7f02787c04e8476538624d6aa888e42" + "reference": "f6947cb939d8efee137797382cb4db1af653ef75" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/7a186f64a7f02787c04e8476538624d6aa888e42", - "reference": "7a186f64a7f02787c04e8476538624d6aa888e42", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/f6947cb939d8efee137797382cb4db1af653ef75", + "reference": "f6947cb939d8efee137797382cb4db1af653ef75", "shasum": "" }, "require": { @@ -7104,14 +6634,10 @@ "psr-4": { "Symfony\\Component\\HttpKernel\\": "" }, - "exclude-from-classmap": [ - "/Tests/" - ] + "exclude-from-classmap": ["/Tests/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Fabien Potencier", @@ -7125,7 +6651,7 @@ "description": "Provides a structured process for converting a Request into a Response", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-kernel/tree/v6.4.4" + "source": "https://github.com/symfony/http-kernel/tree/v6.4.5" }, "funding": [ { @@ -7141,7 +6667,7 @@ "type": "tidelift" } ], - "time": "2024-02-27T06:32:13+00:00" + "time": "2024-03-04T21:00:47+00:00" }, { "name": "symfony/mailer", @@ -7184,14 +6710,10 @@ "psr-4": { "Symfony\\Component\\Mailer\\": "" }, - "exclude-from-classmap": [ - "/Tests/" - ] + "exclude-from-classmap": ["/Tests/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Fabien Potencier", @@ -7253,14 +6775,10 @@ "psr-4": { "Symfony\\Component\\Mailer\\Bridge\\Mailgun\\": "" }, - "exclude-from-classmap": [ - "/Tests/" - ] + "exclude-from-classmap": ["/Tests/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Fabien Potencier", @@ -7333,14 +6851,10 @@ "psr-4": { "Symfony\\Component\\Mime\\": "" }, - "exclude-from-classmap": [ - "/Tests/" - ] + "exclude-from-classmap": ["/Tests/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Fabien Potencier", @@ -7353,10 +6867,7 @@ ], "description": "Allows manipulating MIME messages", "homepage": "https://symfony.com", - "keywords": [ - "mime", - "mime-type" - ], + "keywords": ["mime", "mime-type"], "support": { "source": "https://github.com/symfony/mime/tree/v6.4.3" }, @@ -7407,17 +6918,13 @@ } }, "autoload": { - "files": [ - "bootstrap.php" - ], + "files": ["bootstrap.php"], "psr-4": { "Symfony\\Polyfill\\Ctype\\": "" } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Gert de Pagter", @@ -7430,12 +6937,7 @@ ], "description": "Symfony polyfill for ctype functions", "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "ctype", - "polyfill", - "portable" - ], + "keywords": ["compatibility", "ctype", "polyfill", "portable"], "support": { "source": "https://github.com/symfony/polyfill-ctype/tree/v1.29.0" }, @@ -7483,17 +6985,13 @@ } }, "autoload": { - "files": [ - "bootstrap.php" - ], + "files": ["bootstrap.php"], "psr-4": { "Symfony\\Polyfill\\Intl\\Grapheme\\": "" } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Nicolas Grekas", @@ -7563,17 +7061,13 @@ } }, "autoload": { - "files": [ - "bootstrap.php" - ], + "files": ["bootstrap.php"], "psr-4": { "Symfony\\Polyfill\\Intl\\Idn\\": "" } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Laurent Bassin", @@ -7645,20 +7139,14 @@ } }, "autoload": { - "files": [ - "bootstrap.php" - ], + "files": ["bootstrap.php"], "psr-4": { "Symfony\\Polyfill\\Intl\\Normalizer\\": "" }, - "classmap": [ - "Resources/stubs" - ] + "classmap": ["Resources/stubs"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Nicolas Grekas", @@ -7729,17 +7217,13 @@ } }, "autoload": { - "files": [ - "bootstrap.php" - ], + "files": ["bootstrap.php"], "psr-4": { "Symfony\\Polyfill\\Mbstring\\": "" } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Nicolas Grekas", @@ -7803,17 +7287,13 @@ } }, "autoload": { - "files": [ - "bootstrap.php" - ], + "files": ["bootstrap.php"], "psr-4": { "Symfony\\Polyfill\\Php72\\": "" } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Nicolas Grekas", @@ -7826,12 +7306,7 @@ ], "description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions", "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], + "keywords": ["compatibility", "polyfill", "portable", "shim"], "support": { "source": "https://github.com/symfony/polyfill-php72/tree/v1.29.0" }, @@ -7876,20 +7351,14 @@ } }, "autoload": { - "files": [ - "bootstrap.php" - ], + "files": ["bootstrap.php"], "psr-4": { "Symfony\\Polyfill\\Php80\\": "" }, - "classmap": [ - "Resources/stubs" - ] + "classmap": ["Resources/stubs"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Ion Bazan", @@ -7906,12 +7375,7 @@ ], "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions", "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], + "keywords": ["compatibility", "polyfill", "portable", "shim"], "support": { "source": "https://github.com/symfony/polyfill-php80/tree/v1.29.0" }, @@ -7957,20 +7421,14 @@ } }, "autoload": { - "files": [ - "bootstrap.php" - ], + "files": ["bootstrap.php"], "psr-4": { "Symfony\\Polyfill\\Php83\\": "" }, - "classmap": [ - "Resources/stubs" - ] + "classmap": ["Resources/stubs"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Nicolas Grekas", @@ -7983,12 +7441,7 @@ ], "description": "Symfony polyfill backporting some PHP 8.3+ features to lower PHP versions", "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], + "keywords": ["compatibility", "polyfill", "portable", "shim"], "support": { "source": "https://github.com/symfony/polyfill-php83/tree/v1.29.0" }, @@ -8039,17 +7492,13 @@ } }, "autoload": { - "files": [ - "bootstrap.php" - ], + "files": ["bootstrap.php"], "psr-4": { "Symfony\\Polyfill\\Uuid\\": "" } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Grégoire Pineau", @@ -8062,12 +7511,7 @@ ], "description": "Symfony polyfill for uuid functions", "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "uuid" - ], + "keywords": ["compatibility", "polyfill", "portable", "uuid"], "support": { "source": "https://github.com/symfony/polyfill-uuid/tree/v1.29.0" }, @@ -8109,14 +7553,10 @@ "psr-4": { "Symfony\\Component\\Process\\": "" }, - "exclude-from-classmap": [ - "/Tests/" - ] + "exclude-from-classmap": ["/Tests/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Fabien Potencier", @@ -8191,14 +7631,10 @@ "psr-4": { "Symfony\\Bridge\\PsrHttpMessage\\": "" }, - "exclude-from-classmap": [ - "/Tests/" - ] + "exclude-from-classmap": ["/Tests/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Fabien Potencier", @@ -8211,12 +7647,7 @@ ], "description": "PSR HTTP message bridge", "homepage": "http://symfony.com", - "keywords": [ - "http", - "http-message", - "psr-17", - "psr-7" - ], + "keywords": ["http", "http-message", "psr-17", "psr-7"], "support": { "issues": "https://github.com/symfony/psr-http-message-bridge/issues", "source": "https://github.com/symfony/psr-http-message-bridge/tree/v2.3.1" @@ -8239,16 +7670,16 @@ }, { "name": "symfony/routing", - "version": "v6.4.3", + "version": "v6.4.5", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "3b2957ad54902f0f544df83e3d58b38d7e8e5842" + "reference": "7fe30068e207d9c31c0138501ab40358eb2d49a4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/3b2957ad54902f0f544df83e3d58b38d7e8e5842", - "reference": "3b2957ad54902f0f544df83e3d58b38d7e8e5842", + "url": "https://api.github.com/repos/symfony/routing/zipball/7fe30068e207d9c31c0138501ab40358eb2d49a4", + "reference": "7fe30068e207d9c31c0138501ab40358eb2d49a4", "shasum": "" }, "require": { @@ -8275,14 +7706,10 @@ "psr-4": { "Symfony\\Component\\Routing\\": "" }, - "exclude-from-classmap": [ - "/Tests/" - ] + "exclude-from-classmap": ["/Tests/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Fabien Potencier", @@ -8295,14 +7722,9 @@ ], "description": "Maps an HTTP request to a set of configuration variables", "homepage": "https://symfony.com", - "keywords": [ - "router", - "routing", - "uri", - "url" - ], + "keywords": ["router", "routing", "uri", "url"], "support": { - "source": "https://github.com/symfony/routing/tree/v6.4.3" + "source": "https://github.com/symfony/routing/tree/v6.4.5" }, "funding": [ { @@ -8318,7 +7740,7 @@ "type": "tidelift" } ], - "time": "2024-01-30T13:55:02+00:00" + "time": "2024-02-27T12:33:30+00:00" }, { "name": "symfony/service-contracts", @@ -8355,14 +7777,10 @@ "psr-4": { "Symfony\\Contracts\\Service\\": "" }, - "exclude-from-classmap": [ - "/Test/" - ] + "exclude-from-classmap": ["/Test/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Nicolas Grekas", @@ -8435,20 +7853,14 @@ }, "type": "library", "autoload": { - "files": [ - "Resources/functions.php" - ], + "files": ["Resources/functions.php"], "psr-4": { "Symfony\\Component\\String\\": "" }, - "exclude-from-classmap": [ - "/Tests/" - ] + "exclude-from-classmap": ["/Tests/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Nicolas Grekas", @@ -8538,20 +7950,14 @@ }, "type": "library", "autoload": { - "files": [ - "Resources/functions.php" - ], + "files": ["Resources/functions.php"], "psr-4": { "Symfony\\Component\\Translation\\": "" }, - "exclude-from-classmap": [ - "/Tests/" - ] + "exclude-from-classmap": ["/Tests/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Fabien Potencier", @@ -8614,14 +8020,10 @@ "psr-4": { "Symfony\\Contracts\\Translation\\": "" }, - "exclude-from-classmap": [ - "/Test/" - ] + "exclude-from-classmap": ["/Test/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Nicolas Grekas", @@ -8687,14 +8089,10 @@ "psr-4": { "Symfony\\Component\\Uid\\": "" }, - "exclude-from-classmap": [ - "/Tests/" - ] + "exclude-from-classmap": ["/Tests/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Grégoire Pineau", @@ -8711,11 +8109,7 @@ ], "description": "Provides an object-oriented API to generate and represent UIDs", "homepage": "https://symfony.com", - "keywords": [ - "UID", - "ulid", - "uuid" - ], + "keywords": ["UID", "ulid", "uuid"], "support": { "source": "https://github.com/symfony/uid/tree/v6.4.3" }, @@ -8766,25 +8160,17 @@ "symfony/uid": "^5.4|^6.0|^7.0", "twig/twig": "^2.13|^3.0.4" }, - "bin": [ - "Resources/bin/var-dump-server" - ], + "bin": ["Resources/bin/var-dump-server"], "type": "library", "autoload": { - "files": [ - "Resources/functions/dump.php" - ], + "files": ["Resources/functions/dump.php"], "psr-4": { "Symfony\\Component\\VarDumper\\": "" }, - "exclude-from-classmap": [ - "/Tests/" - ] + "exclude-from-classmap": ["/Tests/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Nicolas Grekas", @@ -8797,10 +8183,7 @@ ], "description": "Provides mechanisms for walking through any arbitrary PHP variable", "homepage": "https://symfony.com", - "keywords": [ - "debug", - "dump" - ], + "keywords": ["debug", "dump"], "support": { "source": "https://github.com/symfony/var-dumper/tree/v6.4.4" }, @@ -8845,14 +8228,10 @@ "psr-4": { "Symfony\\Component\\VarExporter\\": "" }, - "exclude-from-classmap": [ - "/Tests/" - ] + "exclude-from-classmap": ["/Tests/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Nicolas Grekas", @@ -8921,9 +8300,7 @@ "type": "library", "extra": { "laravel": { - "providers": [ - "LaravelMandrill\\MandrillServiceProvider" - ] + "providers": ["LaravelMandrill\\MandrillServiceProvider"] } }, "autoload": { @@ -8932,9 +8309,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Rob Fonseca", @@ -8946,10 +8321,7 @@ } ], "description": "Mandrill Driver for Laravel 9+", - "keywords": [ - "laravel", - "mandrill" - ], + "keywords": ["laravel", "mandrill"], "support": { "issues": "https://github.com/luisdalmolin/laravel-mandrill-driver/issues", "source": "https://github.com/luisdalmolin/laravel-mandrill-driver/tree/5.0.0" @@ -8991,9 +8363,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "authors": [ { "name": "Tijs Verkoyen", @@ -9040,9 +8410,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "authors": [ { "name": "Fabien Potencier", @@ -9062,9 +8430,7 @@ ], "description": "Twig, the flexible, fast, and secure template language for PHP", "homepage": "https://twig.symfony.com", - "keywords": [ - "templating" - ], + "keywords": ["templating"], "support": { "issues": "https://github.com/twigphp/Twig/issues", "source": "https://github.com/twigphp/Twig/tree/v3.8.0" @@ -9128,9 +8494,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "authors": [ { "name": "Graham Campbell", @@ -9144,11 +8508,7 @@ } ], "description": "Loads environment variables from `.env` to `getenv()`, `$_ENV` and `$_SERVER` automagically.", - "keywords": [ - "dotenv", - "env", - "environment" - ], + "keywords": ["dotenv", "env", "environment"], "support": { "issues": "https://github.com/vlucas/phpdotenv/issues", "source": "https://github.com/vlucas/phpdotenv/tree/v5.6.0" @@ -9195,9 +8555,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Lars Moelleken", @@ -9206,11 +8564,7 @@ ], "description": "Portable ASCII library - performance optimized (ascii) string functions for php.", "homepage": "https://github.com/voku/portable-ascii", - "keywords": [ - "ascii", - "clean", - "php" - ], + "keywords": ["ascii", "clean", "php"], "support": { "issues": "https://github.com/voku/portable-ascii/issues", "source": "https://github.com/voku/portable-ascii/tree/2.0.1" @@ -9276,9 +8630,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Bernhard Schussek", @@ -9286,11 +8638,7 @@ } ], "description": "Assertions to validate method input/output with nice error messages.", - "keywords": [ - "assert", - "check", - "validate" - ], + "keywords": ["assert", "check", "validate"], "support": { "issues": "https://github.com/webmozarts/assert/issues", "source": "https://github.com/webmozarts/assert/tree/1.11.0" @@ -9333,26 +8681,20 @@ "dev-master": "3.10-dev" }, "laravel": { - "providers": [ - "Barryvdh\\Debugbar\\ServiceProvider" - ], + "providers": ["Barryvdh\\Debugbar\\ServiceProvider"], "aliases": { "Debugbar": "Barryvdh\\Debugbar\\Facades\\Debugbar" } } }, "autoload": { - "files": [ - "src/helpers.php" - ], + "files": ["src/helpers.php"], "psr-4": { "Barryvdh\\Debugbar\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Barry vd. Heuvel", @@ -9385,48 +8727,48 @@ }, { "name": "barryvdh/laravel-ide-helper", - "version": "v2.15.1", + "version": "v3.0.0", "source": { "type": "git", "url": "https://github.com/barryvdh/laravel-ide-helper.git", - "reference": "77831852bb7bc54f287246d32eb91274eaf87f8b" + "reference": "bc1d67f01ce8c77e3f97d48ba51fa1d81874f622" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/barryvdh/laravel-ide-helper/zipball/77831852bb7bc54f287246d32eb91274eaf87f8b", - "reference": "77831852bb7bc54f287246d32eb91274eaf87f8b", + "url": "https://api.github.com/repos/barryvdh/laravel-ide-helper/zipball/bc1d67f01ce8c77e3f97d48ba51fa1d81874f622", + "reference": "bc1d67f01ce8c77e3f97d48ba51fa1d81874f622", "shasum": "" }, "require": { - "barryvdh/reflection-docblock": "^2.0.6", + "barryvdh/reflection-docblock": "^2.1.1", "composer/class-map-generator": "^1.0", - "doctrine/dbal": "^2.6 || ^3.1.4", "ext-json": "*", - "illuminate/console": "^9 || ^10", - "illuminate/filesystem": "^9 || ^10", - "illuminate/support": "^9 || ^10", + "illuminate/console": "^10 || ^11", + "illuminate/database": "^10.38 || ^11", + "illuminate/filesystem": "^10 || ^11", + "illuminate/support": "^10 || ^11", "nikic/php-parser": "^4.18 || ^5", - "php": "^8.0", + "php": "^8.1", "phpdocumentor/type-resolver": "^1.1.0" }, "require-dev": { "ext-pdo_sqlite": "*", "friendsofphp/php-cs-fixer": "^3", - "illuminate/config": "^9 || ^10", - "illuminate/view": "^9 || ^10", + "illuminate/config": "^9 || ^10 || ^11", + "illuminate/view": "^9 || ^10 || ^11", "mockery/mockery": "^1.4", - "orchestra/testbench": "^7 || ^8", - "phpunit/phpunit": "^9", - "spatie/phpunit-snapshot-assertions": "^4", + "orchestra/testbench": "^8 || ^9", + "phpunit/phpunit": "^10.5", + "spatie/phpunit-snapshot-assertions": "^4 || ^5", "vimeo/psalm": "^5.4" }, "suggest": { - "illuminate/events": "Required for automatic helper generation (^6|^7|^8|^9|^10)." + "illuminate/events": "Required for automatic helper generation (^6|^7|^8|^9|^10|^11)." }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.15-dev" + "dev-master": "3.0-dev" }, "laravel": { "providers": [ @@ -9440,9 +8782,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Barry vd. Heuvel", @@ -9463,7 +8803,7 @@ ], "support": { "issues": "https://github.com/barryvdh/laravel-ide-helper/issues", - "source": "https://github.com/barryvdh/laravel-ide-helper/tree/v2.15.1" + "source": "https://github.com/barryvdh/laravel-ide-helper/tree/v3.0.0" }, "funding": [ { @@ -9475,7 +8815,7 @@ "type": "github" } ], - "time": "2024-02-15T14:23:20+00:00" + "time": "2024-03-01T12:53:18+00:00" }, { "name": "barryvdh/reflection-docblock", @@ -9509,15 +8849,11 @@ }, "autoload": { "psr-0": { - "Barryvdh": [ - "src/" - ] + "Barryvdh": ["src/"] } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Mike van Riel", @@ -9568,9 +8904,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Jordi Boggiano", @@ -9579,9 +8913,7 @@ } ], "description": "Utilities to scan PHP code and generate class maps.", - "keywords": [ - "classmap" - ], + "keywords": ["classmap"], "support": { "issues": "https://github.com/composer/class-map-generator/issues", "source": "https://github.com/composer/class-map-generator/tree/1.1.0" @@ -9636,9 +8968,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Jordi Boggiano", @@ -9647,12 +8977,7 @@ } ], "description": "PCRE wrapping library that offers type-safe preg_* replacements.", - "keywords": [ - "PCRE", - "preg", - "regex", - "regular expression" - ], + "keywords": ["PCRE", "preg", "regex", "regular expression"], "support": { "issues": "https://github.com/composer/pcre/issues", "source": "https://github.com/composer/pcre/tree/3.1.1" @@ -9711,9 +9036,7 @@ "type": "phpstan-extension", "extra": { "phpstan": { - "includes": [ - "rules.neon" - ] + "includes": ["rules.neon"] } }, "autoload": { @@ -9722,9 +9045,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Andreas Möller", @@ -9734,10 +9055,7 @@ ], "description": "Provides rules for phpstan/phpstan.", "homepage": "https://github.com/ergebnis/phpstan-rules", - "keywords": [ - "PHPStan", - "phpstan-rules" - ], + "keywords": ["PHPStan", "phpstan-rules"], "support": { "issues": "https://github.com/ergebnis/phpstan-rules/issues", "security": "https://github.com/ergebnis/phpstan-rules/blob/main/.github/SECURITY.md", @@ -9788,20 +9106,14 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "François Zaninotto" } ], "description": "Faker is a PHP library that generates fake data for you.", - "keywords": [ - "data", - "faker", - "fixtures" - ], + "keywords": ["data", "faker", "fixtures"], "support": { "issues": "https://github.com/FakerPHP/Faker/issues", "source": "https://github.com/FakerPHP/Faker/tree/v1.23.1" @@ -9841,18 +9153,12 @@ } }, "autoload": { - "classmap": [ - "hamcrest" - ] + "classmap": ["hamcrest"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "description": "This is the PHP port of Hamcrest Matchers", - "keywords": [ - "test" - ], + "keywords": ["test"], "support": { "issues": "https://github.com/hamcrest/hamcrest-php/issues", "source": "https://github.com/hamcrest/hamcrest-php/tree/v2.0.1" @@ -9902,9 +9208,7 @@ "dev-master": "2.0-dev" }, "phpstan": { - "includes": [ - "extension.neon" - ] + "includes": ["extension.neon"] } }, "autoload": { @@ -9913,9 +9217,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Can Vural", @@ -10001,9 +9303,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Maxime Bouroumeau-Fuseau", @@ -10017,10 +9317,7 @@ ], "description": "Debug bar in the browser for php application", "homepage": "https://github.com/maximebf/php-debugbar", - "keywords": [ - "debug", - "debugbar" - ], + "keywords": ["debug", "debugbar"], "support": { "issues": "https://github.com/maximebf/php-debugbar/issues", "source": "https://github.com/maximebf/php-debugbar/tree/v1.20.2" @@ -10055,18 +9352,13 @@ }, "type": "library", "autoload": { - "files": [ - "library/helpers.php", - "library/Mockery.php" - ], + "files": ["library/helpers.php", "library/Mockery.php"], "psr-4": { "Mockery\\": "library/Mockery" } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "authors": [ { "name": "Pádraic Brady", @@ -10138,17 +9430,13 @@ }, "type": "library", "autoload": { - "files": [ - "src/DeepCopy/deep_copy.php" - ], + "files": ["src/DeepCopy/deep_copy.php"], "psr-4": { "DeepCopy\\": "src/DeepCopy/" } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "description": "Create deep copies (clones) of your objects", "keywords": [ "clone", @@ -10171,16 +9459,16 @@ }, { "name": "nikic/php-parser", - "version": "v5.0.1", + "version": "v5.0.2", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "2218c2252c874a4624ab2f613d86ac32d227bc69" + "reference": "139676794dc1e9231bf7bcd123cfc0c99182cb13" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/2218c2252c874a4624ab2f613d86ac32d227bc69", - "reference": "2218c2252c874a4624ab2f613d86ac32d227bc69", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/139676794dc1e9231bf7bcd123cfc0c99182cb13", + "reference": "139676794dc1e9231bf7bcd123cfc0c99182cb13", "shasum": "" }, "require": { @@ -10193,9 +9481,7 @@ "ircmaxell/php-yacc": "^0.0.7", "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0" }, - "bin": [ - "bin/php-parse" - ], + "bin": ["bin/php-parse"], "type": "library", "extra": { "branch-alias": { @@ -10208,41 +9494,37 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "authors": [ { "name": "Nikita Popov" } ], "description": "A PHP parser written in PHP", - "keywords": [ - "parser", - "php" - ], + "keywords": ["parser", "php"], "support": { "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v5.0.1" + "source": "https://github.com/nikic/PHP-Parser/tree/v5.0.2" }, - "time": "2024-02-21T19:24:10+00:00" + "time": "2024-03-05T20:51:40+00:00" }, { "name": "phar-io/manifest", - "version": "2.0.3", + "version": "2.0.4", "source": { "type": "git", "url": "https://github.com/phar-io/manifest.git", - "reference": "97803eca37d319dfa7826cc2437fc020857acb53" + "reference": "54750ef60c58e43759730615a392c31c80e23176" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phar-io/manifest/zipball/97803eca37d319dfa7826cc2437fc020857acb53", - "reference": "97803eca37d319dfa7826cc2437fc020857acb53", + "url": "https://api.github.com/repos/phar-io/manifest/zipball/54750ef60c58e43759730615a392c31c80e23176", + "reference": "54750ef60c58e43759730615a392c31c80e23176", "shasum": "" }, "require": { "ext-dom": "*", + "ext-libxml": "*", "ext-phar": "*", "ext-xmlwriter": "*", "phar-io/version": "^3.0.1", @@ -10255,14 +9537,10 @@ } }, "autoload": { - "classmap": [ - "src/" - ] + "classmap": ["src/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "authors": [ { "name": "Arne Blankerts", @@ -10283,9 +9561,15 @@ "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", "support": { "issues": "https://github.com/phar-io/manifest/issues", - "source": "https://github.com/phar-io/manifest/tree/2.0.3" + "source": "https://github.com/phar-io/manifest/tree/2.0.4" }, - "time": "2021-07-20T11:28:43+00:00" + "funding": [ + { + "url": "https://github.com/theseer", + "type": "github" + } + ], + "time": "2024-03-03T12:33:53+00:00" }, { "name": "phar-io/version", @@ -10306,14 +9590,10 @@ }, "type": "library", "autoload": { - "classmap": [ - "src/" - ] + "classmap": ["src/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "authors": [ { "name": "Arne Blankerts", @@ -10367,9 +9647,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Jaap van Otterdijk", @@ -10433,9 +9711,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "Mike van Riel", @@ -10501,9 +9777,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "GPL-2.0-or-later" - ], + "license": ["GPL-2.0-or-later"], "authors": [ { "name": "The phpMyAdmin Team", @@ -10571,9 +9845,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "description": "Composer plugin for automatic installation of PHPStan extensions", "support": { "issues": "https://github.com/phpstan/extension-installer/issues", @@ -10612,15 +9884,11 @@ "type": "library", "autoload": { "psr-4": { - "PHPStan\\PhpDocParser\\": [ - "src/" - ] + "PHPStan\\PhpDocParser\\": ["src/"] } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "description": "PHPDoc parser with support for nullable, intersection and generic types", "support": { "issues": "https://github.com/phpstan/phpdoc-parser/issues", @@ -10648,25 +9916,15 @@ "conflict": { "phpstan/phpstan-shim": "*" }, - "bin": [ - "phpstan", - "phpstan.phar" - ], + "bin": ["phpstan", "phpstan.phar"], "type": "library", "autoload": { - "files": [ - "bootstrap.php" - ] + "files": ["bootstrap.php"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "description": "PHPStan - PHP Static Analysis Tool", - "keywords": [ - "dev", - "static analysis" - ], + "keywords": ["dev", "static analysis"], "support": { "docs": "https://phpstan.org/user-guide/getting-started", "forum": "https://github.com/phpstan/phpstan/discussions", @@ -10717,9 +9975,7 @@ "type": "phpstan-extension", "extra": { "phpstan": { - "includes": [ - "rules.neon" - ] + "includes": ["rules.neon"] } }, "autoload": { @@ -10728,9 +9984,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "description": "PHPStan rules for detecting usage of deprecated classes, methods, properties, constants and traits.", "support": { "issues": "https://github.com/phpstan/phpstan-deprecation-rules/issues", @@ -10766,9 +10020,7 @@ "type": "phpstan-extension", "extra": { "phpstan": { - "includes": [ - "rules.neon" - ] + "includes": ["rules.neon"] } }, "autoload": { @@ -10777,9 +10029,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "description": "Extra strict and opinionated rules for PHPStan", "support": { "issues": "https://github.com/phpstan/phpstan-strict-rules/issues", @@ -10830,14 +10080,10 @@ } }, "autoload": { - "classmap": [ - "src/" - ] + "classmap": ["src/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "authors": [ { "name": "Sebastian Bergmann", @@ -10847,11 +10093,7 @@ ], "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", "homepage": "https://github.com/sebastianbergmann/php-code-coverage", - "keywords": [ - "coverage", - "testing", - "xunit" - ], + "keywords": ["coverage", "testing", "xunit"], "support": { "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", "security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy", @@ -10892,14 +10134,10 @@ } }, "autoload": { - "classmap": [ - "src/" - ] + "classmap": ["src/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "authors": [ { "name": "Sebastian Bergmann", @@ -10909,10 +10147,7 @@ ], "description": "FilterIterator implementation that filters files based on a list of suffixes.", "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", - "keywords": [ - "filesystem", - "iterator" - ], + "keywords": ["filesystem", "iterator"], "support": { "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues", "security": "https://github.com/sebastianbergmann/php-file-iterator/security/policy", @@ -10957,14 +10192,10 @@ } }, "autoload": { - "classmap": [ - "src/" - ] + "classmap": ["src/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "authors": [ { "name": "Sebastian Bergmann", @@ -10974,9 +10205,7 @@ ], "description": "Invoke callables with a timeout", "homepage": "https://github.com/sebastianbergmann/php-invoker/", - "keywords": [ - "process" - ], + "keywords": ["process"], "support": { "issues": "https://github.com/sebastianbergmann/php-invoker/issues", "source": "https://github.com/sebastianbergmann/php-invoker/tree/4.0.0" @@ -11016,14 +10245,10 @@ } }, "autoload": { - "classmap": [ - "src/" - ] + "classmap": ["src/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "authors": [ { "name": "Sebastian Bergmann", @@ -11033,9 +10258,7 @@ ], "description": "Simple template engine.", "homepage": "https://github.com/sebastianbergmann/php-text-template/", - "keywords": [ - "template" - ], + "keywords": ["template"], "support": { "issues": "https://github.com/sebastianbergmann/php-text-template/issues", "security": "https://github.com/sebastianbergmann/php-text-template/security/policy", @@ -11076,14 +10299,10 @@ } }, "autoload": { - "classmap": [ - "src/" - ] + "classmap": ["src/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "authors": [ { "name": "Sebastian Bergmann", @@ -11093,9 +10312,7 @@ ], "description": "Utility class for timing", "homepage": "https://github.com/sebastianbergmann/php-timer/", - "keywords": [ - "timer" - ], + "keywords": ["timer"], "support": { "issues": "https://github.com/sebastianbergmann/php-timer/issues", "source": "https://github.com/sebastianbergmann/php-timer/tree/6.0.0" @@ -11153,9 +10370,7 @@ "suggest": { "ext-soap": "To be able to generate mocks based on WSDL files" }, - "bin": [ - "phpunit" - ], + "bin": ["phpunit"], "type": "library", "extra": { "branch-alias": { @@ -11163,17 +10378,11 @@ } }, "autoload": { - "files": [ - "src/Framework/Assert/Functions.php" - ], - "classmap": [ - "src/" - ] + "files": ["src/Framework/Assert/Functions.php"], + "classmap": ["src/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "authors": [ { "name": "Sebastian Bergmann", @@ -11183,11 +10392,7 @@ ], "description": "The PHP Unit Testing framework.", "homepage": "https://phpunit.de/", - "keywords": [ - "phpunit", - "testing", - "xunit" - ], + "keywords": ["phpunit", "testing", "xunit"], "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", "security": "https://github.com/sebastianbergmann/phpunit/security/policy", @@ -11236,14 +10441,10 @@ } }, "autoload": { - "classmap": [ - "src/" - ] + "classmap": ["src/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "authors": [ { "name": "Sebastian Bergmann", @@ -11293,14 +10494,10 @@ } }, "autoload": { - "classmap": [ - "src/" - ] + "classmap": ["src/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "authors": [ { "name": "Sebastian Bergmann", @@ -11349,14 +10546,10 @@ } }, "autoload": { - "classmap": [ - "src/" - ] + "classmap": ["src/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "authors": [ { "name": "Sebastian Bergmann", @@ -11408,14 +10601,10 @@ } }, "autoload": { - "classmap": [ - "src/" - ] + "classmap": ["src/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "authors": [ { "name": "Sebastian Bergmann", @@ -11436,11 +10625,7 @@ ], "description": "Provides the functionality to compare PHP values for equality", "homepage": "https://github.com/sebastianbergmann/comparator", - "keywords": [ - "comparator", - "compare", - "equality" - ], + "keywords": ["comparator", "compare", "equality"], "support": { "issues": "https://github.com/sebastianbergmann/comparator/issues", "security": "https://github.com/sebastianbergmann/comparator/security/policy", @@ -11482,14 +10667,10 @@ } }, "autoload": { - "classmap": [ - "src/" - ] + "classmap": ["src/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "authors": [ { "name": "Sebastian Bergmann", @@ -11540,14 +10721,10 @@ } }, "autoload": { - "classmap": [ - "src/" - ] + "classmap": ["src/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "authors": [ { "name": "Sebastian Bergmann", @@ -11560,12 +10737,7 @@ ], "description": "Diff implementation", "homepage": "https://github.com/sebastianbergmann/diff", - "keywords": [ - "diff", - "udiff", - "unidiff", - "unified diff" - ], + "keywords": ["diff", "udiff", "unidiff", "unified diff"], "support": { "issues": "https://github.com/sebastianbergmann/diff/issues", "security": "https://github.com/sebastianbergmann/diff/security/policy", @@ -11609,14 +10781,10 @@ } }, "autoload": { - "classmap": [ - "src/" - ] + "classmap": ["src/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "authors": [ { "name": "Sebastian Bergmann", @@ -11625,11 +10793,7 @@ ], "description": "Provides functionality to handle HHVM/PHP environments", "homepage": "https://github.com/sebastianbergmann/environment", - "keywords": [ - "Xdebug", - "environment", - "hhvm" - ], + "keywords": ["Xdebug", "environment", "hhvm"], "support": { "issues": "https://github.com/sebastianbergmann/environment/issues", "security": "https://github.com/sebastianbergmann/environment/security/policy", @@ -11672,14 +10836,10 @@ } }, "autoload": { - "classmap": [ - "src/" - ] + "classmap": ["src/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "authors": [ { "name": "Sebastian Bergmann", @@ -11704,10 +10864,7 @@ ], "description": "Provides the functionality to export PHP variables for visualization", "homepage": "https://www.github.com/sebastianbergmann/exporter", - "keywords": [ - "export", - "exporter" - ], + "keywords": ["export", "exporter"], "support": { "issues": "https://github.com/sebastianbergmann/exporter/issues", "security": "https://github.com/sebastianbergmann/exporter/security/policy", @@ -11751,14 +10908,10 @@ } }, "autoload": { - "classmap": [ - "src/" - ] + "classmap": ["src/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "authors": [ { "name": "Sebastian Bergmann", @@ -11767,9 +10920,7 @@ ], "description": "Snapshotting of global state", "homepage": "https://www.github.com/sebastianbergmann/global-state", - "keywords": [ - "global state" - ], + "keywords": ["global state"], "support": { "issues": "https://github.com/sebastianbergmann/global-state/issues", "security": "https://github.com/sebastianbergmann/global-state/security/policy", @@ -11811,14 +10962,10 @@ } }, "autoload": { - "classmap": [ - "src/" - ] + "classmap": ["src/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "authors": [ { "name": "Sebastian Bergmann", @@ -11870,14 +11017,10 @@ } }, "autoload": { - "classmap": [ - "src/" - ] + "classmap": ["src/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "authors": [ { "name": "Sebastian Bergmann", @@ -11925,14 +11068,10 @@ } }, "autoload": { - "classmap": [ - "src/" - ] + "classmap": ["src/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "authors": [ { "name": "Sebastian Bergmann", @@ -11980,14 +11119,10 @@ } }, "autoload": { - "classmap": [ - "src/" - ] + "classmap": ["src/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "authors": [ { "name": "Sebastian Bergmann", @@ -12043,14 +11178,10 @@ } }, "autoload": { - "classmap": [ - "src/" - ] + "classmap": ["src/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "authors": [ { "name": "Sebastian Bergmann", @@ -12096,14 +11227,10 @@ } }, "autoload": { - "classmap": [ - "src/" - ] + "classmap": ["src/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "authors": [ { "name": "Sebastian Bergmann", @@ -12153,9 +11280,7 @@ "dev-master": "1.0-dev" }, "phpstan": { - "includes": [ - "phpstan-strict-rules.neon" - ] + "includes": ["phpstan-strict-rules.neon"] } }, "autoload": { @@ -12164,9 +11289,7 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], + "license": ["MIT"], "authors": [ { "name": "David Négrier", @@ -12182,16 +11305,16 @@ }, { "name": "theseer/tokenizer", - "version": "1.2.2", + "version": "1.2.3", "source": { "type": "git", "url": "https://github.com/theseer/tokenizer.git", - "reference": "b2ad5003ca10d4ee50a12da31de12a5774ba6b96" + "reference": "737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/theseer/tokenizer/zipball/b2ad5003ca10d4ee50a12da31de12a5774ba6b96", - "reference": "b2ad5003ca10d4ee50a12da31de12a5774ba6b96", + "url": "https://api.github.com/repos/theseer/tokenizer/zipball/737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2", + "reference": "737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2", "shasum": "" }, "require": { @@ -12202,14 +11325,10 @@ }, "type": "library", "autoload": { - "classmap": [ - "src/" - ] + "classmap": ["src/"] }, "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], + "license": ["BSD-3-Clause"], "authors": [ { "name": "Arne Blankerts", @@ -12220,7 +11339,7 @@ "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", "support": { "issues": "https://github.com/theseer/tokenizer/issues", - "source": "https://github.com/theseer/tokenizer/tree/1.2.2" + "source": "https://github.com/theseer/tokenizer/tree/1.2.3" }, "funding": [ { @@ -12228,7 +11347,7 @@ "type": "github" } ], - "time": "2023-11-20T00:12:19+00:00" + "time": "2024-03-03T12:36:25+00:00" } ], "aliases": [], diff --git a/config/firefly.php b/config/firefly.php index 4431e6f2ce..cb1a8ebe94 100644 --- a/config/firefly.php +++ b/config/firefly.php @@ -115,9 +115,9 @@ return [ 'handle_debts' => true, // see cer.php for exchange rates feature flag. ], - 'version' => '6.1.10', + 'version' => 'develop/2024-03-07', 'api_version' => '2.0.12', - 'db_version' => 22, + 'db_version' => 23, // generic settings 'maxUploadSize' => 1073741824, // 1 GB @@ -917,6 +917,7 @@ return [ 'sorting' => [ 'allowed' => [ 'transactions' => ['description', 'amount'], + 'accounts' => ['name'], ], ], ]; diff --git a/database/migrations/2024_03_03_174645_add_indices.php b/database/migrations/2024_03_03_174645_add_indices.php new file mode 100644 index 0000000000..040db6de44 --- /dev/null +++ b/database/migrations/2024_03_03_174645_add_indices.php @@ -0,0 +1,54 @@ + ['account_id'], + 'accounts' => ['user_id', 'user_group_id', 'account_type_id'], + 'budgets' => ['user_id', 'user_group_id'], + 'journal_meta' => ['transaction_journal_id', 'data', 'name'], + 'category_transaction_journal' => ['transaction_journal_id'], + 'categories' => ['user_id', 'user_group_id'], + 'transaction_currencies' => ['code'], + 'transaction_groups' => ['user_id', 'user_group_id'], + 'transaction_journals' => ['user_id', 'user_group_id', 'date', 'transaction_group_id', 'transaction_type_id', 'transaction_currency_id', 'bill_id'], + 'transactions' => ['account_id', 'transaction_journal_id', 'transaction_currency_id', 'foreign_currency_id'], + ]; + + foreach ($set as $table => $fields) { + foreach ($fields as $field) { + try { + Schema::table( + $table, + static function (Blueprint $blueprint) use ($field): void { + $blueprint->index($field); + } + ); + } catch (QueryException $e) { + app('log')->error(sprintf(self::QUERY_ERROR, $table, $field, $e->getMessage())); + app('log')->error(self::EXPL); + } + } + } + } + + /** + * Reverse the migrations. + */ + public function down(): void {} +}; diff --git a/package-lock.json b/package-lock.json index 5279b819a8..505f132d68 100644 --- a/package-lock.json +++ b/package-lock.json @@ -460,9 +460,9 @@ "integrity": "sha512-oJ4F3TnvpXaQwZJNF3ZK+kLPHKarDmJjJ6jyzVNDKH9md1dptjC7lWR//jrGuLdek/U6iltWxqAnYOu8gCiOvA==" }, "node_modules/alpinejs": { - "version": "3.13.5", - "resolved": "https://registry.npmjs.org/alpinejs/-/alpinejs-3.13.5.tgz", - "integrity": "sha512-1d2XeNGN+Zn7j4mUAKXtAgdc4/rLeadyTMWeJGXF5DzwawPBxwTiBhFFm6w/Ei8eJxUZeyNWWSD9zknfdz1kEw==", + "version": "3.13.6", + "resolved": "https://registry.npmjs.org/alpinejs/-/alpinejs-3.13.6.tgz", + "integrity": "sha512-/F7pVR+11r1A0KVw+eY1DcjTFlRQn9arD3p5/2Q4vq0N2WDC/dHpg+Pz7ZMiVQlHE7ZmZmcqTRm1wYTdDLMiEg==", "dependencies": { "@vue/reactivity": "~3.1.1" } diff --git a/public/build/assets/create-5a4939e8.js b/public/build/assets/create-b721a410.js similarity index 97% rename from public/build/assets/create-5a4939e8.js rename to public/build/assets/create-b721a410.js index 0b024e21c1..f7d85a9920 100644 --- a/public/build/assets/create-5a4939e8.js +++ b/public/build/assets/create-b721a410.js @@ -1 +1 @@ -import{a as m,d as y,f as d}from"./format-money-2e5851ad.js";import{d as w,c as b}from"./create-empty-split-81f71b2e.js";import{l as v,a as T,b as C,c as P,p as E,d as _,s as L,e as c,f as S,g as D,h as A,i as x,j as k,k as h,m as p}from"./splice-errors-into-transactions-6727b386.js";import{l,i as r,m as B}from"./vendor-50e42c6c.js";import"./get-28b9aa25.js";class M{post(t){let s="/api/v2/transactions";return m.post(s,t)}}let n=[],u=[];document.addEventListener("location-remove",e=>{u[e.detail.index].remove()});function O(e){let t=0;if(document.querySelector("#form")._x_dataStack[0].$data.entries[t].hasLocation===!1){u[t]=new l.marker(e.latlng,{draggable:!0}),u[t].on("dragend",U),u[t].addTo(n[t]);const o=new CustomEvent("location-set",{detail:{latitude:e.latlng.lat,longitude:e.latlng.lng,index:t,zoomLevel:n[t].getZoom()}});document.dispatchEvent(o)}}function F(e){let t=0;const s=new CustomEvent("location-zoom",{detail:{index:t,zoomLevel:n[t].getZoom()}});document.dispatchEvent(s)}function U(e){let t=e.target,s=t.getLatLng();t.setLatLng(new l.LatLng(s.lat,s.lng),{draggable:"true"});const o=new CustomEvent("location-move",{detail:{latitude:s.lat,longitude:s.lng,index:0}});document.dispatchEvent(o)}function z(e){if(e>0){console.warn("Corwardly refuse to add a map on split #"+(e+1));return}if(typeof n[e]>"u"){let t=document.getElementById("location_map");t&&(n[e]=l.map(t).setView([t.dataset.latitude,t.dataset.longitude],t.dataset.zoomLevel),l.tileLayer("https://tile.openstreetmap.org/{z}/{x}/{y}.png",{maxZoom:19,attribution:'© OpenStreetMap'}).addTo(n[e]),n[e].on("click",O),n[e].on("zoomend",F))}}const a=k();let I=function(){return{entries:[],formStates:{loadingCurrencies:!0,loadingBudgets:!0,loadingPiggyBanks:!0,loadingSubscriptions:!0,isSubmitting:!1,returnHereButton:!1,saveAsNewButton:!1,resetButton:!0,rulesButton:!0,webhooksButton:!0},formBehaviour:{formType:"create",foreignCurrencyEnabled:!0},formData:{defaultCurrency:null,enabledCurrencies:[],nativeCurrencies:[],foreignCurrencies:[],budgets:[],piggyBanks:[],subscriptions:[]},groupProperties:{transactionType:"unknown",title:null,id:null,totalAmount:0},notifications:{error:{show:!1,text:"",url:""},success:{show:!1,text:"",url:""},wait:{show:!1,text:""}},filters:{source:[],destination:[]},changedDateTime(e){console.warn("changedDateTime, event is not used")},changedDescription(e){console.warn("changedDescription, event is not used")},changedDestinationAccount(e){this.detectTransactionType()},changedSourceAccount(e){this.detectTransactionType()},detectTransactionType(){const e=this.entries[0].source_account.type??"unknown",t=this.entries[0].destination_account.type??"unknown";if(e==="unknown"&&t==="unknown"){this.groupProperties.transactionType="unknown",console.warn("Cannot infer transaction type from two unknown accounts.");return}if(e===t&&["Asset account","Loan","Debt","Mortgage"].includes(e)){this.groupProperties.transactionType="transfer",console.log('Transaction type is detected to be "'+this.groupProperties.transactionType+'".'),console.log("filter down currencies for transfer."),this.filterNativeCurrencies(this.entries[0].source_account.currency_code),this.filterForeignCurrencies(this.entries[0].destination_account.currency_code);return}if(e==="Asset account"&&["Expense account","Debt","Loan","Mortgage"].includes(t)){this.groupProperties.transactionType="withdrawal",console.log('[a] Transaction type is detected to be "'+this.groupProperties.transactionType+'".'),this.filterNativeCurrencies(this.entries[0].source_account.currency_code);return}if(e==="Asset account"&&t==="unknown"){this.groupProperties.transactionType="withdrawal",console.log('[b] Transaction type is detected to be "'+this.groupProperties.transactionType+'".'),console.log(this.entries[0].source_account),this.filterNativeCurrencies(this.entries[0].source_account.currency_code);return}if(["Debt","Loan","Mortgage"].includes(e)&&t==="Expense account"){this.groupProperties.transactionType="withdrawal",console.log('[c] Transaction type is detected to be "'+this.groupProperties.transactionType+'".'),this.filterNativeCurrencies(this.entries[0].source_account.currency_code);return}if(e==="Revenue account"&&["Asset account","Debt","Loan","Mortgage"].includes(t)){this.groupProperties.transactionType="deposit",console.log('Transaction type is detected to be "'+this.groupProperties.transactionType+'".');return}if(e==="unknown"&&["Asset account","Debt","Loan","Mortgage"].includes(t)){this.groupProperties.transactionType="deposit",console.log('Transaction type is detected to be "'+this.groupProperties.transactionType+'".');return}if(e==="Expense account"&&["Asset account","Debt","Loan","Mortgage"].includes(t)){this.groupProperties.transactionType="deposit",console.warn('FORCE transaction type to be "'+this.groupProperties.transactionType+'".'),this.entries[0].source_account.id="";return}if(["Debt","Loan","Mortgage"].includes(e)&&t==="Asset account"){this.groupProperties.transactionType="deposit",console.log('Transaction type is detected to be "'+this.groupProperties.transactionType+'".');return}console.warn('Unknown account combination between "'+e+'" and "'+t+'".')},formattedTotalAmount(){return this.entries.length===0?d(this.groupProperties.totalAmount,"EUR"):d(this.groupProperties.totalAmount,this.entries[0].currency_code??"EUR")},filterForeignCurrencies(e){let t=[],s;for(let o in this.formData.enabledCurrencies)if(this.formData.enabledCurrencies.hasOwnProperty(o)){let i=this.formData.enabledCurrencies[o];i.code===e&&(s=i)}t.push(s),this.formData.foreignCurrencies=t,t.length===1&&t[0].code===this.entries[0].source_account.currency_code&&(console.log("Foreign currency is same as source currency. Disable foreign amount."),this.formBehaviour.foreignCurrencyEnabled=!1),t.length===1&&t[0].code!==this.entries[0].source_account.currency_code&&(console.log("Foreign currency is NOT same as source currency. Enable foreign amount."),this.formBehaviour.foreignCurrencyEnabled=!0);for(let o in this.entries)this.entries.hasOwnProperty(o)&&(this.entries[o].foreign_currency_code=e)},filterNativeCurrencies(e){let t=[],s;for(let o in this.formData.enabledCurrencies)if(this.formData.enabledCurrencies.hasOwnProperty(o)){let i=this.formData.enabledCurrencies[o];i.code===e&&(s=i)}t.push(s),this.formData.nativeCurrencies=t;for(let o in this.entries)this.entries.hasOwnProperty(o)&&(this.entries[o].currency_code=e)},changedAmount(e){const t=parseInt(e.target.dataset.index);this.entries[t].amount=parseFloat(e.target.value),this.groupProperties.totalAmount=0;for(let s in this.entries)this.entries.hasOwnProperty(s)&&(this.groupProperties.totalAmount=this.groupProperties.totalAmount+parseFloat(this.entries[s].amount))},addedSplit(){},processUpload(e){this.showMessageOrRedirectUser()},processUploadError(e){this.notifications.success.show=!1,this.notifications.wait.show=!1,this.notifications.error.show=!0,this.formStates.isSubmitting=!1,this.notifications.error.text=r.t("firefly.errors_upload"),console.error(e)},init(){this.addSplit(),v().then(e=>{this.formStates.loadingCurrencies=!1,this.formData.defaultCurrency=e.defaultCurrency,this.formData.enabledCurrencies=e.enabledCurrencies,this.formData.nativeCurrencies=e.nativeCurrencies,this.formData.foreignCurrencies=e.foreignCurrencies}),T().then(e=>{this.formData.budgets=e,this.formStates.loadingBudgets=!1}),C().then(e=>{this.formData.piggyBanks=e,this.formStates.loadingPiggyBanks=!1}),P().then(e=>{this.formData.subscriptions=e,this.formStates.loadingSubscriptions=!1}),document.addEventListener("upload-success",e=>{this.processUpload(e),document.querySelectorAll("input[type=file]").value=""}),document.addEventListener("upload-error",e=>{this.processUploadError(e)}),document.addEventListener("location-move",e=>{this.entries[e.detail.index].latitude=e.detail.latitude,this.entries[e.detail.index].longitude=e.detail.longitude}),document.addEventListener("location-set",e=>{this.entries[e.detail.index].hasLocation=!0,this.entries[e.detail.index].latitude=e.detail.latitude,this.entries[e.detail.index].longitude=e.detail.longitude,this.entries[e.detail.index].zoomLevel=e.detail.zoomLevel}),document.addEventListener("location-zoom",e=>{this.entries[e.detail.index].hasLocation=!0,this.entries[e.detail.index].zoomLevel=e.detail.zoomLevel}),this.filters.source=["Asset account","Loan","Debt","Mortgage","Revenue account"],this.filters.destination=["Expense account","Loan","Debt","Mortgage","Asset account"]},submitTransaction(){this.notifications.error.show=!1,this.notifications.success.show=!1,this.notifications.wait.show=!1;for(let o in this.entries)this.entries.hasOwnProperty(o)&&(this.entries[o].errors=w());this.formStates.isSubmitting=!0,this.detectTransactionType();let e=E(this.entries,null,this.groupProperties.transactionType),t={group_title:this.groupProperties.title,fire_webhooks:this.formStates.webhooksButton,apply_rules:this.formStates.rulesButton,transactions:e};this.groupProperties.title===null&&e.length>1&&(t.group_title=e[0].description);let s=new M;console.log(t),s.post(t).then(o=>{const i=o.data.data;if(this.groupProperties.id=parseInt(i.id),this.groupProperties.title=i.attributes.group_title??i.attributes.transactions[0].description,_(this.groupProperties.id,i.attributes.transactions)>0){this.notifications.wait.show=!0,this.notifications.wait.text=r.t("firefly.wait_attachments");return}this.showMessageOrRedirectUser()}).catch(o=>{this.submitting=!1,console.log(o),typeof o.response<"u"&&this.parseErrors(o.response.data)})},showMessageOrRedirectUser(){if(this.notifications.error.show=!1,this.notifications.success.show=!1,this.notifications.wait.show=!1,this.formStates.returnHereButton){this.notifications.success.show=!0,this.notifications.success.url="transactions/show/"+this.groupProperties.id,this.notifications.success.text=r.t("firefly.stored_journal_js",{description:this.groupProperties.title}),this.formStates.resetButton&&(this.entries=[],this.addSplit(),this.groupProperties.totalAmount=0);return}window.location="transactions/show/"+this.groupProperties.id+"?transaction_group_id="+this.groupProperties.id+"&message=created"},parseErrors(e){this.notifications.error.show=!0,this.notifications.success.show=!1,this.notifications.wait.show=!1,this.formStates.isSubmitting=!1,this.notifications.error.text=r.t("firefly.errors_submission_v2",{errorMessage:e.message}),e.hasOwnProperty("errors")&&(this.entries=L(e.errors,this.entries))},addSplit(){this.entries.push(b()),setTimeout(()=>{B.init("select.ac-tags",{allowClear:!0,server:a.tag,liveServer:!0,clearEnd:!0,allowNew:!0,notFoundMessage:r.t("firefly.nothing_found"),noCache:!0,fetchOptions:{headers:{"X-CSRF-TOKEN":document.head.querySelector('meta[name="csrf-token"]').content}}});const e=this.entries.length-1;z(e);const t=function(s,o,i){return s.name_with_balance+'
'+r.t("firefly.account_type_"+s.type)+""};c({selector:"input.ac-source",serverUrl:a.account,onChange:S,onSelectItem:D,hiddenValue:this.entries[e].source_account.alpine_name}),c({selector:"input.ac-dest",serverUrl:a.account,filters:this.filters.destination,onRenderItem:t,onChange:A,onSelectItem:x}),c({selector:"input.ac-category",serverUrl:a.category,valueField:"id",labelField:"name",onChange:h,onSelectItem:h}),c({selector:"input.ac-description",serverUrl:a.description,valueField:"id",labelField:"description",onChange:p,onSelectItem:p})},150)},removeSplit(e){this.entries.splice(e,1),document.querySelector("#split-0-tab").click()},clearLocation(e){e.preventDefault();const t=e.currentTarget,s=parseInt(t.attributes["data-index"].value);this.entries[s].hasLocation=!1,this.entries[s].latitude=null,this.entries[s].longitude=null,this.entries[s].zoomLevel=null;const o=new CustomEvent("location-remove",{detail:{index:s}});return document.dispatchEvent(o),!1}}},g={transactions:I,dates:y};function f(){Object.keys(g).forEach(e=>{console.log(`Loading page component "${e}"`);let t=g[e]();Alpine.data(e,()=>t)}),Alpine.start()}document.addEventListener("firefly-iii-bootstrapped",()=>{console.log("Loaded through event listener."),f()});window.bootstrapped&&(console.log("Loaded through window variable."),f()); +import{a as m,d as y,f as d}from"./format-money-00d5f4b9.js";import{d as w,c as b}from"./create-empty-split-c97f45c5.js";import{l as v,a as T,b as C,c as P,p as E,d as _,s as L,e as c,f as S,g as D,h as A,i as x,j as k,k as h,m as p}from"./splice-errors-into-transactions-bba1ef64.js";import{l,i as r,m as B}from"./vendor-f5e18451.js";import"./get-0097c30a.js";class M{post(t){let s="/api/v2/transactions";return m.post(s,t)}}let n=[],u=[];document.addEventListener("location-remove",e=>{u[e.detail.index].remove()});function O(e){let t=0;if(document.querySelector("#form")._x_dataStack[0].$data.entries[t].hasLocation===!1){u[t]=new l.marker(e.latlng,{draggable:!0}),u[t].on("dragend",U),u[t].addTo(n[t]);const o=new CustomEvent("location-set",{detail:{latitude:e.latlng.lat,longitude:e.latlng.lng,index:t,zoomLevel:n[t].getZoom()}});document.dispatchEvent(o)}}function F(e){let t=0;const s=new CustomEvent("location-zoom",{detail:{index:t,zoomLevel:n[t].getZoom()}});document.dispatchEvent(s)}function U(e){let t=e.target,s=t.getLatLng();t.setLatLng(new l.LatLng(s.lat,s.lng),{draggable:"true"});const o=new CustomEvent("location-move",{detail:{latitude:s.lat,longitude:s.lng,index:0}});document.dispatchEvent(o)}function z(e){if(e>0){console.warn("Corwardly refuse to add a map on split #"+(e+1));return}if(typeof n[e]>"u"){let t=document.getElementById("location_map");t&&(n[e]=l.map(t).setView([t.dataset.latitude,t.dataset.longitude],t.dataset.zoomLevel),l.tileLayer("https://tile.openstreetmap.org/{z}/{x}/{y}.png",{maxZoom:19,attribution:'© OpenStreetMap'}).addTo(n[e]),n[e].on("click",O),n[e].on("zoomend",F))}}const a=k();let I=function(){return{entries:[],formStates:{loadingCurrencies:!0,loadingBudgets:!0,loadingPiggyBanks:!0,loadingSubscriptions:!0,isSubmitting:!1,returnHereButton:!1,saveAsNewButton:!1,resetButton:!0,rulesButton:!0,webhooksButton:!0},formBehaviour:{formType:"create",foreignCurrencyEnabled:!0},formData:{defaultCurrency:null,enabledCurrencies:[],nativeCurrencies:[],foreignCurrencies:[],budgets:[],piggyBanks:[],subscriptions:[]},groupProperties:{transactionType:"unknown",title:null,id:null,totalAmount:0},notifications:{error:{show:!1,text:"",url:""},success:{show:!1,text:"",url:""},wait:{show:!1,text:""}},filters:{source:[],destination:[]},changedDateTime(e){console.warn("changedDateTime, event is not used")},changedDescription(e){console.warn("changedDescription, event is not used")},changedDestinationAccount(e){this.detectTransactionType()},changedSourceAccount(e){this.detectTransactionType()},detectTransactionType(){const e=this.entries[0].source_account.type??"unknown",t=this.entries[0].destination_account.type??"unknown";if(e==="unknown"&&t==="unknown"){this.groupProperties.transactionType="unknown",console.warn("Cannot infer transaction type from two unknown accounts.");return}if(e===t&&["Asset account","Loan","Debt","Mortgage"].includes(e)){this.groupProperties.transactionType="transfer",console.log('Transaction type is detected to be "'+this.groupProperties.transactionType+'".'),console.log("filter down currencies for transfer."),this.filterNativeCurrencies(this.entries[0].source_account.currency_code),this.filterForeignCurrencies(this.entries[0].destination_account.currency_code);return}if(e==="Asset account"&&["Expense account","Debt","Loan","Mortgage"].includes(t)){this.groupProperties.transactionType="withdrawal",console.log('[a] Transaction type is detected to be "'+this.groupProperties.transactionType+'".'),this.filterNativeCurrencies(this.entries[0].source_account.currency_code);return}if(e==="Asset account"&&t==="unknown"){this.groupProperties.transactionType="withdrawal",console.log('[b] Transaction type is detected to be "'+this.groupProperties.transactionType+'".'),console.log(this.entries[0].source_account),this.filterNativeCurrencies(this.entries[0].source_account.currency_code);return}if(["Debt","Loan","Mortgage"].includes(e)&&t==="Expense account"){this.groupProperties.transactionType="withdrawal",console.log('[c] Transaction type is detected to be "'+this.groupProperties.transactionType+'".'),this.filterNativeCurrencies(this.entries[0].source_account.currency_code);return}if(e==="Revenue account"&&["Asset account","Debt","Loan","Mortgage"].includes(t)){this.groupProperties.transactionType="deposit",console.log('Transaction type is detected to be "'+this.groupProperties.transactionType+'".');return}if(e==="unknown"&&["Asset account","Debt","Loan","Mortgage"].includes(t)){this.groupProperties.transactionType="deposit",console.log('Transaction type is detected to be "'+this.groupProperties.transactionType+'".');return}if(e==="Expense account"&&["Asset account","Debt","Loan","Mortgage"].includes(t)){this.groupProperties.transactionType="deposit",console.warn('FORCE transaction type to be "'+this.groupProperties.transactionType+'".'),this.entries[0].source_account.id="";return}if(["Debt","Loan","Mortgage"].includes(e)&&t==="Asset account"){this.groupProperties.transactionType="deposit",console.log('Transaction type is detected to be "'+this.groupProperties.transactionType+'".');return}console.warn('Unknown account combination between "'+e+'" and "'+t+'".')},formattedTotalAmount(){return this.entries.length===0?d(this.groupProperties.totalAmount,"EUR"):d(this.groupProperties.totalAmount,this.entries[0].currency_code??"EUR")},filterForeignCurrencies(e){let t=[],s;for(let o in this.formData.enabledCurrencies)if(this.formData.enabledCurrencies.hasOwnProperty(o)){let i=this.formData.enabledCurrencies[o];i.code===e&&(s=i)}t.push(s),this.formData.foreignCurrencies=t,t.length===1&&t[0].code===this.entries[0].source_account.currency_code&&(console.log("Foreign currency is same as source currency. Disable foreign amount."),this.formBehaviour.foreignCurrencyEnabled=!1),t.length===1&&t[0].code!==this.entries[0].source_account.currency_code&&(console.log("Foreign currency is NOT same as source currency. Enable foreign amount."),this.formBehaviour.foreignCurrencyEnabled=!0);for(let o in this.entries)this.entries.hasOwnProperty(o)&&(this.entries[o].foreign_currency_code=e)},filterNativeCurrencies(e){let t=[],s;for(let o in this.formData.enabledCurrencies)if(this.formData.enabledCurrencies.hasOwnProperty(o)){let i=this.formData.enabledCurrencies[o];i.code===e&&(s=i)}t.push(s),this.formData.nativeCurrencies=t;for(let o in this.entries)this.entries.hasOwnProperty(o)&&(this.entries[o].currency_code=e)},changedAmount(e){const t=parseInt(e.target.dataset.index);this.entries[t].amount=parseFloat(e.target.value),this.groupProperties.totalAmount=0;for(let s in this.entries)this.entries.hasOwnProperty(s)&&(this.groupProperties.totalAmount=this.groupProperties.totalAmount+parseFloat(this.entries[s].amount))},addedSplit(){},processUpload(e){this.showMessageOrRedirectUser()},processUploadError(e){this.notifications.success.show=!1,this.notifications.wait.show=!1,this.notifications.error.show=!0,this.formStates.isSubmitting=!1,this.notifications.error.text=r.t("firefly.errors_upload"),console.error(e)},init(){this.addSplit(),v().then(e=>{this.formStates.loadingCurrencies=!1,this.formData.defaultCurrency=e.defaultCurrency,this.formData.enabledCurrencies=e.enabledCurrencies,this.formData.nativeCurrencies=e.nativeCurrencies,this.formData.foreignCurrencies=e.foreignCurrencies}),T().then(e=>{this.formData.budgets=e,this.formStates.loadingBudgets=!1}),C().then(e=>{this.formData.piggyBanks=e,this.formStates.loadingPiggyBanks=!1}),P().then(e=>{this.formData.subscriptions=e,this.formStates.loadingSubscriptions=!1}),document.addEventListener("upload-success",e=>{this.processUpload(e),document.querySelectorAll("input[type=file]").value=""}),document.addEventListener("upload-error",e=>{this.processUploadError(e)}),document.addEventListener("location-move",e=>{this.entries[e.detail.index].latitude=e.detail.latitude,this.entries[e.detail.index].longitude=e.detail.longitude}),document.addEventListener("location-set",e=>{this.entries[e.detail.index].hasLocation=!0,this.entries[e.detail.index].latitude=e.detail.latitude,this.entries[e.detail.index].longitude=e.detail.longitude,this.entries[e.detail.index].zoomLevel=e.detail.zoomLevel}),document.addEventListener("location-zoom",e=>{this.entries[e.detail.index].hasLocation=!0,this.entries[e.detail.index].zoomLevel=e.detail.zoomLevel}),this.filters.source=["Asset account","Loan","Debt","Mortgage","Revenue account"],this.filters.destination=["Expense account","Loan","Debt","Mortgage","Asset account"]},submitTransaction(){this.notifications.error.show=!1,this.notifications.success.show=!1,this.notifications.wait.show=!1;for(let o in this.entries)this.entries.hasOwnProperty(o)&&(this.entries[o].errors=w());this.formStates.isSubmitting=!0,this.detectTransactionType();let e=E(this.entries,null,this.groupProperties.transactionType),t={group_title:this.groupProperties.title,fire_webhooks:this.formStates.webhooksButton,apply_rules:this.formStates.rulesButton,transactions:e};this.groupProperties.title===null&&e.length>1&&(t.group_title=e[0].description);let s=new M;console.log(t),s.post(t).then(o=>{const i=o.data.data;if(this.groupProperties.id=parseInt(i.id),this.groupProperties.title=i.attributes.group_title??i.attributes.transactions[0].description,_(this.groupProperties.id,i.attributes.transactions)>0){this.notifications.wait.show=!0,this.notifications.wait.text=r.t("firefly.wait_attachments");return}this.showMessageOrRedirectUser()}).catch(o=>{this.submitting=!1,console.log(o),typeof o.response<"u"&&this.parseErrors(o.response.data)})},showMessageOrRedirectUser(){if(this.notifications.error.show=!1,this.notifications.success.show=!1,this.notifications.wait.show=!1,this.formStates.returnHereButton){this.notifications.success.show=!0,this.notifications.success.url="transactions/show/"+this.groupProperties.id,this.notifications.success.text=r.t("firefly.stored_journal_js",{description:this.groupProperties.title}),this.formStates.resetButton&&(this.entries=[],this.addSplit(),this.groupProperties.totalAmount=0);return}window.location="transactions/show/"+this.groupProperties.id+"?transaction_group_id="+this.groupProperties.id+"&message=created"},parseErrors(e){this.notifications.error.show=!0,this.notifications.success.show=!1,this.notifications.wait.show=!1,this.formStates.isSubmitting=!1,this.notifications.error.text=r.t("firefly.errors_submission_v2",{errorMessage:e.message}),e.hasOwnProperty("errors")&&(this.entries=L(e.errors,this.entries))},addSplit(){this.entries.push(b()),setTimeout(()=>{B.init("select.ac-tags",{allowClear:!0,server:a.tag,liveServer:!0,clearEnd:!0,allowNew:!0,notFoundMessage:r.t("firefly.nothing_found"),noCache:!0,fetchOptions:{headers:{"X-CSRF-TOKEN":document.head.querySelector('meta[name="csrf-token"]').content}}});const e=this.entries.length-1;z(e);const t=function(s,o,i){return s.name_with_balance+'
'+r.t("firefly.account_type_"+s.type)+""};c({selector:"input.ac-source",serverUrl:a.account,onChange:S,onSelectItem:D,hiddenValue:this.entries[e].source_account.alpine_name}),c({selector:"input.ac-dest",serverUrl:a.account,filters:this.filters.destination,onRenderItem:t,onChange:A,onSelectItem:x}),c({selector:"input.ac-category",serverUrl:a.category,valueField:"id",labelField:"name",onChange:h,onSelectItem:h}),c({selector:"input.ac-description",serverUrl:a.description,valueField:"id",labelField:"description",onChange:p,onSelectItem:p})},150)},removeSplit(e){this.entries.splice(e,1),document.querySelector("#split-0-tab").click()},clearLocation(e){e.preventDefault();const t=e.currentTarget,s=parseInt(t.attributes["data-index"].value);this.entries[s].hasLocation=!1,this.entries[s].latitude=null,this.entries[s].longitude=null,this.entries[s].zoomLevel=null;const o=new CustomEvent("location-remove",{detail:{index:s}});return document.dispatchEvent(o),!1}}},g={transactions:I,dates:y};function f(){Object.keys(g).forEach(e=>{console.log(`Loading page component "${e}"`);let t=g[e]();Alpine.data(e,()=>t)}),Alpine.start()}document.addEventListener("firefly-iii-bootstrapped",()=>{console.log("Loaded through event listener."),f()});window.bootstrapped&&(console.log("Loaded through window variable."),f()); diff --git a/public/build/assets/create-empty-split-81f71b2e.js b/public/build/assets/create-empty-split-c97f45c5.js similarity index 93% rename from public/build/assets/create-empty-split-81f71b2e.js rename to public/build/assets/create-empty-split-c97f45c5.js index 373ed83f6b..59bce828d0 100644 --- a/public/build/assets/create-empty-split-81f71b2e.js +++ b/public/build/assets/create-empty-split-c97f45c5.js @@ -1 +1 @@ -import{f as n}from"./vendor-50e42c6c.js";function e(){return{id:"",name:"",alpine_name:""}}function o(){return{description:[],amount:[],currency_code:[],foreign_amount:[],foreign_currency_code:[],source_account:[],destination_account:[],budget_id:[],category_name:[],piggy_bank_id:[],bill_id:[],tags:[],notes:[],internal_reference:[],external_url:[],latitude:[],longitude:[],zoom_level:[],date:[],interest_date:[],book_date:[],process_date:[],due_date:[],payment_date:[],invoice_date:[]}}function d(){let t=n(new Date,"yyyy-MM-dd HH:mm");return{description:"",amount:"",currency_code:"EUR",foreign_amount:"",foreign_currency_code:"",source_account:e(),destination_account:e(),budget_id:null,category_name:"",piggy_bank_id:null,bill_id:null,tags:[],notes:"",internal_reference:"",external_url:"",hasLocation:!1,latitude:null,longitude:null,zoomLevel:null,date:t,interest_date:"",book_date:"",process_date:"",due_date:"",payment_date:"",invoice_date:"",errors:o()}}export{d as c,o as d}; +import{f as n}from"./vendor-f5e18451.js";function e(){return{id:"",name:"",alpine_name:""}}function o(){return{description:[],amount:[],currency_code:[],foreign_amount:[],foreign_currency_code:[],source_account:[],destination_account:[],budget_id:[],category_name:[],piggy_bank_id:[],bill_id:[],tags:[],notes:[],internal_reference:[],external_url:[],latitude:[],longitude:[],zoom_level:[],date:[],interest_date:[],book_date:[],process_date:[],due_date:[],payment_date:[],invoice_date:[]}}function d(){let t=n(new Date,"yyyy-MM-dd HH:mm");return{description:"",amount:"",currency_code:"EUR",foreign_amount:"",foreign_currency_code:"",source_account:e(),destination_account:e(),budget_id:null,category_name:"",piggy_bank_id:null,bill_id:null,tags:[],notes:"",internal_reference:"",external_url:"",hasLocation:!1,latitude:null,longitude:null,zoomLevel:null,date:t,interest_date:"",book_date:"",process_date:"",due_date:"",payment_date:"",invoice_date:"",errors:o()}}export{d as c,o as d}; diff --git a/public/build/assets/dashboard-41a4b449.js b/public/build/assets/dashboard-41a4b449.js new file mode 100644 index 0000000000..b194982628 --- /dev/null +++ b/public/build/assets/dashboard-41a4b449.js @@ -0,0 +1 @@ +import{a as I,f,g as v,P as bt,d as wt}from"./format-money-00d5f4b9.js";import{f as p,C as m,a as S,i as g,S as vt,F as mt,L as Ct,b as kt,A as Pt,B as Dt,T as xt,P as Ot,c as Ft,d as St,p as Mt,e as At,g as Bt,h as jt,j as Wt,k as It}from"./vendor-f5e18451.js";import{G as st}from"./get-5b2cde80.js";import{G as $t}from"./get-59bb27e9.js";import{G as Vt,a as Kt}from"./get-0097c30a.js";class Lt{get(e,n,a){return I.get("/api/v2/summary/basic",{params:{start:e,end:n,code:a}})}}function P(t,e,n){const a=p(e,"y-MM-dd")+"_"+p(n,"y-MM-dd")+"_"+t;return console.log("getCacheKey: "+a),String(a)}let U=!1;const Et=()=>({balanceBox:{amounts:[],subtitles:[]},billBox:{paid:[],unpaid:[]},leftBox:{left:[],perDay:[]},netBox:{net:[]},autoConversion:!1,loading:!1,boxData:null,boxOptions:null,getFreshData(){const t=new Date(window.store.get("start")),e=new Date(window.store.get("end")),n=P("dashboard-boxes-data",t,e),a=window.store.get("cacheValid");let r=window.store.get(n);if(a&&typeof r<"u"){this.boxData=r,this.generateOptions(this.boxData);return}new Lt().get(p(t,"yyyy-MM-dd"),p(e,"yyyy-MM-dd"),null).then(i=>{this.boxData=i.data,window.store.set(n,i.data),this.generateOptions(this.boxData)})},generateOptions(t){this.balanceBox={amounts:[],subtitles:[]},this.billBox={paid:[],unpaid:[]},this.leftBox={left:[],perDay:[]},this.netBox={net:[]};let e={};for(const n in t)if(t.hasOwnProperty(n)){const a=t[n];if(!a.hasOwnProperty("key"))continue;let r=a.key;if(this.autoConversion){if(r.startsWith("balance-in-native")){this.balanceBox.amounts.push(f(a.value,a.currency_code)),e.hasOwnProperty(a.currency_code)||(e[a.currency_code]="");continue}if(r.startsWith("spent-in-native")){e.hasOwnProperty(a.currency_code)||(e[a.currency_code]=""),e[a.currency_code]=e[a.currency_code]+f(a.value,a.currency_code);continue}if(r.startsWith("earned-in-native")){e.hasOwnProperty(a.currency_code)||(e[a.currency_code]=""),e[a.currency_code]=f(a.value,a.currency_code)+" + "+e[a.currency_code];continue}if(r.startsWith("bills-unpaid-in-native")){this.billBox.unpaid.push(f(a.value,a.currency_code));continue}if(r.startsWith("bills-paid-in-native")){this.billBox.paid.push(f(a.value,a.currency_code));continue}if(r.startsWith("left-to-spend-in-native")){this.leftBox.left.push(f(a.value,a.currency_code));continue}if(r.startsWith("left-per-day-to-spend-in-native")){this.leftBox.perDay.push(f(a.value,a.currency_code));continue}if(r.startsWith("net-worth-in-native")){this.netBox.net.push(f(a.value,a.currency_code));continue}}if(!this.autoConversion&&!r.endsWith("native")){if(r.startsWith("balance-in-")){this.balanceBox.amounts.push(f(a.value,a.currency_code));continue}if(r.startsWith("spent-in-")){e.hasOwnProperty(a.currency_code)||(e[a.currency_code]=""),e[a.currency_code]=e[a.currency_code]+f(a.value,a.currency_code);continue}if(r.startsWith("earned-in-")){e.hasOwnProperty(a.currency_code)||(e[a.currency_code]=""),e[a.currency_code]=f(a.value,a.currency_code)+" + "+e[a.currency_code];continue}if(r.startsWith("bills-unpaid-in-")){this.billBox.unpaid.push(f(a.value,a.currency_code));continue}if(r.startsWith("bills-paid-in-")){this.billBox.paid.push(f(a.value,a.currency_code));continue}if(r.startsWith("left-to-spend-in-")){this.leftBox.left.push(f(a.value,a.currency_code));continue}if(r.startsWith("left-per-day-to-spend-in-")){this.leftBox.perDay.push(f(a.value,a.currency_code));continue}r.startsWith("net-worth-in-")&&this.netBox.net.push(f(a.value,a.currency_code))}}for(let n in e)e.hasOwnProperty(n)&&this.balanceBox.subtitles.push(e[n]);this.loading=!1},loadBoxes(){if(this.loading!==!0){if(this.loading=!0,this.boxData===null){this.getFreshData();return}this.generateOptions(this.boxData),this.loading=!1}},init(){Promise.all([v("viewRange"),v("autoConversion",!1)]).then(t=>{U=!0,this.autoConversion=t[1],this.loadBoxes()}),window.store.observe("end",()=>{U&&(this.boxData=null,this.loadBoxes())}),window.store.observe("autoConversion",t=>{U&&(this.autoConversion=t,this.loadBoxes())})}});class Gt{put(e,n){let a="/api/v1/preferences/"+e;return I.put(a,{data:n})}}function Tt(t,e=null){window.store.set(t,e),new Gt().put(t,e).then(a=>{}).catch(()=>{new bt().post(t,e).then(r=>{})})}let Rt=class{dashboard(e,n){let a=p(e,"y-MM-dd"),r=p(n,"y-MM-dd");return I.get("/api/v2/chart/account/dashboard",{params:{start:a,end:r}})}expense(e,n){let a=p(e,"y-MM-dd"),r=p(n,"y-MM-dd");return I.get("/api/v2/chart/account/expense-dashboard",{params:{start:a,end:r}})}};function N(t){return t==="sankey"?{type:"sankey",data:{datasets:[]},options:{animations:!1}}:t==="pie"?{type:"pie",data:{datasets:[]}}:t==="column"?{type:"bar",data:{labels:[],datasets:[]},options:{plugins:{tooltip:{callbacks:{label:function(e){let n=e.dataset.currency_code;return f(e.raw,n)}}}},maintainAspectRatio:!1,scales:{}}}:t==="line"?{options:{plugins:{tooltip:{callbacks:{label:function(e){let n=e.dataset.currency_code;return f(e.raw,n)}}}},maintainAspectRatio:!1,scales:{x:{type:"time",time:{tooltipFormat:"PP"}}}},type:"line",data:{labels:[],datasets:[]}}:{}}let q=new m("#36a2eb"),W=new m("#ff6384"),G=new m("#4bc0c0"),ft=new m("#ff9f40"),qt=new m("#9966ff"),Nt=new m("#ffcd56"),Yt=new m("#c9cbcf"),lt=0;window.theme==="dark"&&(W.darken(.3).desaturate(.3),G.darken(.3).desaturate(.3),q.darken(.3).desaturate(.3),ft.darken(.3).desaturate(.3));let z=[W,ft,q,G,qt,Nt,Yt,G];function B(t,e){let n={borderColor:W.rgbString(),backgroundColor:W.rgbString()},a;switch(t){default:let o=Math.floor(lt/2)%z.length;a=new m(z[o].rgbString()),a.lighten(.38),n={borderColor:z[o].hexString(),backgroundColor:a.hexString()};break;case"spent":a=new m(q.rgbString()),a.lighten(.38),n={borderColor:q.rgbString(),backgroundColor:a.rgbString()};break;case"left":a=new m(G.rgbString()),a.lighten(.38),n={borderColor:G.rgbString(),backgroundColor:a.rgbString()};break;case"overspent":a=new m(W.rgbString()),a.lighten(.22),n={borderColor:W.rgbString(),backgroundColor:a.rgbString()};break}return lt++,e==="border"?n.borderColor:e==="background"?n.backgroundColor:"#FF0000"}let M=[],$=null,H=null,J=!1;const Ut=()=>({loading:!1,loadingAccounts:!1,accountList:[],autoConversion:!1,chartOptions:null,switchAutoConversion(){this.autoConversion=!this.autoConversion,Tt("autoConversion",this.autoConversion)},getFreshData(){const t=new Date(window.store.get("start")),e=new Date(window.store.get("end")),n=P("dashboard-accounts-chart",t,e),a=window.store.get("cacheValid");let r=window.store.get(n);if(a&&typeof r<"u"){console.log(r),this.drawChart(this.generateOptions(r)),this.loading=!1;return}new Rt().dashboard(t,e,null).then(i=>{this.chartData=i.data,window.store.set(n,i.data),console.log(i.data),this.drawChart(this.generateOptions(this.chartData)),this.loading=!1})},generateOptions(t){M=[];let e=N("line");for(let n=0;n0){this.loadingAccounts=!1;return}const t=new Date(window.store.get("start")),e=new Date(window.store.get("end")),n=P("dashboard-accounts-data",t,e),a=window.store.get("cacheValid");let r=window.store.get(n);if(a&&typeof r<"u"){this.accountList=r,this.loadingAccounts=!1;return}const o=10;let i=0,l=0,u=[];Promise.all([v("frontpageAccounts")]).then(d=>{i=d[0].length;for(let h in d[0]){let c=d[0];if(c.hasOwnProperty(h)){let _=c[h];new st().show(_,new Date(window.store.get("end"))).then(w=>{let C=w.data.data;const yt={page:1,start:new Date(window.store.get("start")),end:new Date(window.store.get("end"))};new st().transactions(C.id,yt).then(at=>{let nt=[];for(let A=0;A=o);A++){let O=at.data.data[A],rt={title:O.attributes.group_title===null?"":O.attributes.group_title,id:O.id,transactions:[]};for(let Y=0;YA.order-O.order),this.accountList=u,this.loadingAccounts=!1,window.store.set(n,u))})})}}})},init(){Promise.all([v("viewRange","1M"),v("autoConversion",!1),v("language","en_US")]).then(t=>{this.autoConversion=t[1],J=!0,this.loadChart(),this.loadAccounts()}),window.store.observe("end",()=>{J&&(H=null,this.accountList=[],this.loadChart(),this.loadAccounts())}),window.store.observe("autoConversion",()=>{J&&(this.loadChart(),this.loadAccounts())})}});let zt=class{dashboard(e,n){let a=p(e,"y-MM-dd"),r=p(n,"y-MM-dd");return I.get("/api/v2/chart/budget/dashboard",{params:{start:a,end:r}})}},V=[],T=null,F=null,Z=!1;const Ht=()=>({loading:!1,autoConversion:!1,loadChart(){if(this.loading!==!0){if(this.loading=!0,F!==null){this.drawChart(this.generateOptions(F)),this.loading=!1;return}this.getFreshData()}},drawChart(t){if(T!==null){T.data.datasets=t.data.datasets,T.update();return}T=new S(document.querySelector("#budget-chart"),t)},getFreshData(){const t=new Date(window.store.get("start")),e=new Date(window.store.get("end")),n=P("dashboard-budgets-chart",t,e),a=window.store.get("cacheValid");let r=window.store.get(n);if(a&&typeof r<"u"){F=r,this.drawChart(this.generateOptions(F)),this.loading=!1;return}new zt().dashboard(t,e,null).then(i=>{F=i.data,this.drawChart(this.generateOptions(F)),window.store.set(n,F),this.loading=!1})},generateOptions(t){V=[];let e=N("column");e.options.locale=window.store.get("locale").replace("_","-"),e.options.plugins={tooltip:{callbacks:{title:function(n){return n.label},label:function(n){let a=n.dataset.label||"";return a&&(a+=": "),a+" "+f(n.parsed.y,V[n.parsed.x]??"EUR")}}}},e.data={labels:[],datasets:[{label:g.t("firefly.spent"),data:[],borderWidth:1,stack:1,backgroundColor:B("spent","background"),borderColor:B("spent","border")},{label:g.t("firefly.left"),data:[],borderWidth:1,stack:1,backgroundColor:B("left","background"),borderColor:B("left","border")},{label:g.t("firefly.overspent"),data:[],borderWidth:1,stack:1,backgroundColor:B("overspent","background"),borderColor:B("overspent","border")}]};for(const n in t)if(t.hasOwnProperty(n)){let a=t[n],r=a.label+" ("+a.currency_code+")";e.data.labels.push(r),this.autoConversion&&(V.push(a.native_currency_code),e.data.datasets[0].data.push(parseFloat(a.native_entries.spent)*-1),e.data.datasets[1].data.push(parseFloat(a.native_entries.left)),e.data.datasets[2].data.push(parseFloat(a.native_entries.overspent))),this.autoConversion||(V.push(a.currency_code),e.data.datasets[0].data.push(parseFloat(a.entries.spent)*-1),e.data.datasets[1].data.push(parseFloat(a.entries.left)),e.data.datasets[2].data.push(parseFloat(a.entries.overspent)))}return e.options.scales={y:{ticks:{callback:function(n){return f(n,V[0]??"EUR")}}}},e},init(){Promise.all([v("autoConversion",!1)]).then(t=>{this.autoConversion=t[0],Z=!0,this.loading===!1&&this.loadChart()}),window.store.observe("end",()=>{Z&&this.loading===!1&&(F=null,this.loadChart())}),window.store.observe("autoConversion",t=>{Z&&(this.autoConversion=t,this.loading===!1&&this.loadChart())})}});class Jt{dashboard(e,n){let a=p(e,"y-MM-dd"),r=p(n,"y-MM-dd");return I.get("/api/v2/chart/category/dashboard",{params:{start:a,end:r}})}}let ut=[],K=null,j=null,Q=!1;const Zt=()=>({loading:!1,autoConversion:!1,generateOptions(t){ut=[];let e=N("column"),n={};for(const r in t)if(t.hasOwnProperty(r)){let o=t[r],i=o.currency_code;this.autoConversion&&(i=o.native_currency_code),n.hasOwnProperty(i)||(n[i]={name:i,yAxisID:"",data:{}},ut.push(i))}for(const r in t)if(t.hasOwnProperty(r)){let o=t[r],i=o.currency_code;this.autoConversion&&(i=o.native_currency_code);for(const l in n)if(n.hasOwnProperty(l)){let u=0;i===l&&(u=parseFloat(o.amount),""+o.currency_code,this.autoConversion&&(u=parseFloat(o.native_amount),""+o.native_currency_code)),n[l].data.hasOwnProperty(o.label)&&(n[l].data[o.label]=n[l].data[o.label]+u),n[l].data.hasOwnProperty(o.label)||(n[l].data[o.label]=u)}e.data.labels.includes(o.label)||e.data.labels.push(o.label)}let a=0;for(const r in n){let o="y"+r,i={label:r,currency_code:r,yAxisID:o,data:[]};for(const l in n[r].data)i.data.push(n[r].data[l]);e.data.datasets.push(i),e.options.scales.hasOwnProperty(o)||(e.options.scales[o]={beginAtZero:!0,type:"linear",position:a===1?"right":"left",ticks:{callback:function(l,u,d){return f(l,r)}}},a++)}return e},drawChart(t){if(K!==null){K.options=t.options,K.data=t.data,K.update();return}K=new S(document.querySelector("#category-chart"),t)},getFreshData(){const t=new Date(window.store.get("start")),e=new Date(window.store.get("end")),n=P("dashboard-categories-chart",t,e),a=window.store.get("cacheValid");let r=window.store.get(n);if(a&&typeof r<"u"){j=r,this.drawChart(this.generateOptions(j)),this.loading=!1;return}new Jt().dashboard(t,e,null).then(i=>{j=i.data,this.drawChart(this.generateOptions(i.data)),window.store.set(n,j),this.loading=!1})},loadChart(){if(this.loading!==!0){if(this.loading=!0,j!==null){this.drawChart(this.generateOptions(j)),this.loading=!1;return}this.getFreshData()}},init(){Promise.all([v("autoConversion",!1)]).then(t=>{this.autoConversion=t[0],Q=!0,this.loadChart()}),window.store.observe("end",()=>{Q&&(this.chartData=null,this.loadChart())}),window.store.observe("autoConversion",t=>{Q&&(this.autoConversion=t,this.loadChart())})}});S.register({SankeyController:vt,Flow:mt});const ct="dashboard-sankey-data";let X=!1,R=null,D=[],y=!1,s={category:null,unknown_category:null,in:null,out:null,unknown_source:null,unknown_dest:null,unknown_account:null,expense_account:null,revenue_account:null,budget:null,unknown_budget:null,all_money:null};const dt=function(t){return t.includes(s.revenue_account)?"forestgreen":t.includes("("+s.in+",")?"green":t.includes(s.budget)||t.includes(s.unknown_budget)?"Orchid":t.includes("("+s.out+",")?"MediumOrchid":t.includes(s.all_money)?"blue":"red"};function L(t,e,n,a){if(t==="category"&&e!==null&&n==="in")return s.category+' "'+e+'" ('+s.in+(y?", "+a+")":")");if(t==="category"&&e===null&&n==="in")return s.unknown_category+" ("+s.in+(y?", "+a+")":")");if(t==="category"&&e!==null&&n==="out")return s.category+' "'+e+'" ('+s.out+(y?", "+a+")":")");if(t==="category"&&e===null&&n==="out")return s.unknown_category+" ("+s.out+(y?", "+a+")":")");if(t==="account"&&e===null&&n==="in")return s.unknown_source+(y?" ("+a+")":"");if(t==="account"&&e!==null&&n==="in")return s.revenue_account+'"'+e+'"'+(y?" ("+a+")":"");if(t==="account"&&e===null&&n==="out")return s.unknown_dest+(y?" ("+a+")":"");if(t==="account"&&e!==null&&n==="out")return s.expense_account+' "'+e+'"'+(y?" ("+a+")":"");if(t==="budget"&&e!==null)return s.budget+' "'+e+'"'+(y?" ("+a+")":"");if(t==="budget"&&e===null)return s.unknown_budget+(y?" ("+a+")":"");console.error('Cannot handle: type:"'+t+'", dir: "'+n+'"')}function E(t,e,n){if(t==="category"&&e!==null)return s.category+' "'+e+'"'+(y?" ("+n+")":"");if(t==="category"&&e===null)return s.unknown_category+(y?" ("+n+")":"");if(t==="account"&&e===null)return s.unknown_account+(y?" ("+n+")":"");if(t==="account"&&e!==null)return e+(y?" ("+n+")":"");if(t==="budget"&&e!==null)return s.budget+' "'+e+'"'+(y?" ("+n+")":"");if(t==="budget"&&e===null)return s.unknown_budget+(y?" ("+n+")":"");console.error('Cannot handle: type:"'+t+'"')}const Qt=()=>({loading:!1,autoConversion:!1,generateOptions(){let t=N("sankey"),e={},n={};for(let r in D)if(D.hasOwnProperty(r)){let o=D[r];for(let i in o.attributes.transactions)if(o.attributes.transactions.hasOwnProperty(i)){let l=o.attributes.transactions[i],u=this.autoConversion?l.native_currency_code:l.currency_code,d=this.autoConversion?parseFloat(l.native_amount):parseFloat(l.amount),h;if(l.type==="deposit"){let c=L("category",l.category_name,"in",u),_=L("account",l.source_name,"in",u);n[c]=E("category",l.category_name,u),n[_]=E("account",l.source_name,u),h=_+"-"+c+"-"+u,e.hasOwnProperty(h)||(e[h]={from:_,to:c,amount:0}),e[h].amount+=d,h=c+"-"+s.all_money+"-"+u,e.hasOwnProperty(h)||(e[h]={from:c,to:s.all_money+(this.autoConversion?" ("+u+")":""),amount:0}),e[h].amount+=d}if(l.type==="withdrawal"){let c=L("budget",l.budget_name,"out",u);n[c]=E("budget",l.budget_name,u),h=s.all_money+"-"+c+"-"+u,e.hasOwnProperty(h)||(e[h]={from:s.all_money+(this.autoConversion?" ("+u+")":""),to:c,amount:0}),e[h].amount+=d;let _=L("category",l.category_name,"out",u);n[_]=E("category",l.category_name,u),h=c+"-"+_+"-"+u,e.hasOwnProperty(h)||(e[h]={from:c,to:_,amount:0}),e[h].amount+=d;let w=L("account",l.destination_name,"out",u);n[w]=E("account",l.destination_name,u),h=_+"-"+w+"-"+u,e.hasOwnProperty(h)||(e[h]={from:_,to:w,amount:0}),e[h].amount+=d}}}let a={label:"Firefly III dashboard sankey chart",data:[],colorFrom:r=>dt(r.dataset.data[r.dataIndex]?r.dataset.data[r.dataIndex].from:""),colorTo:r=>dt(r.dataset.data[r.dataIndex]?r.dataset.data[r.dataIndex].to:""),colorMode:"gradient",labels:n,size:"min"};for(let r in e)if(e.hasOwnProperty(r)){let o=e[r];a.data.push({from:o.from,to:o.to,flow:o.amount})}return t.data.datasets.push(a),t},drawChart(t){if(R!==null){R.data.datasets=t.data.datasets,R.update();return}R=new S(document.querySelector("#sankey-chart"),t)},getFreshData(){const t=new Date(window.store.get("start")),e=new Date(window.store.get("end")),n=P(ct,t,e),a=window.store.get("cacheValid");let r=window.store.get(n);if(a&&typeof r<"u"){D=r,this.drawChart(this.generateOptions()),this.loading=!1;return}let o={start:p(t,"y-MM-dd"),end:p(e,"y-MM-dd"),type:"withdrawal,deposit",page:1};this.downloadTransactions(o)},downloadTransactions(t){const e=new Date(window.store.get("start")),n=new Date(window.store.get("end")),a=P(ct,e,n);new $t().list(t).then(o=>{if(D=[...D,...o.data.data],parseInt(o.data.meta.pagination.total_pages)>t.page){t.page++,this.downloadTransactions(t);return}window.store.set(a,D),this.drawChart(this.generateOptions()),this.loading=!1})},loadChart(){if(this.loading!==!0){if(this.loading=!0,D.length!==0){this.drawChart(this.generateOptions()),this.loading=!1;return}this.getFreshData()}},init(){D=[],Promise.all([v("autoConversion",!1)]).then(t=>{this.autoConversion=t[0],y=t[0],s.all_money=g.t("firefly.all_money"),s.category=g.t("firefly.category"),s.in=g.t("firefly.money_flowing_in"),s.out=g.t("firefly.money_flowing_out"),s.unknown_category=g.t("firefly.unknown_category_plain"),s.unknown_source=g.t("firefly.unknown_source_plain"),s.unknown_dest=g.t("firefly.unknown_dest_plain"),s.unknown_account=g.t("firefly.unknown_any_plain"),s.unknown_budget=g.t("firefly.unknown_budget_plain"),s.expense_account=g.t("firefly.expense_account"),s.revenue_account=g.t("firefly.revenue_account"),s.budget=g.t("firefly.budget"),X=!0,this.loadChart()}),window.store.observe("end",()=>{X&&(this.transactions=[],this.loadChart())}),window.store.observe("autoConversion",t=>{X&&(this.autoConversion=t,this.loadChart())})}});let tt=!1,b={};function gt(t){return new Vt().list(t).then(n=>{let a=n.data.data;for(let r in a)if(a.hasOwnProperty(r)){let o=a[r];if(o.attributes.active&&o.attributes.pay_dates.length>0){let i=o.attributes.object_group_id===null?0:o.attributes.object_group_id,l=o.attributes.object_group_title===null?g.t("firefly.default_group_title_name_plain"):o.attributes.object_group_title,u=o.attributes.object_group_order===null?0:o.attributes.object_group_order;b.hasOwnProperty(i)||(b[i]={id:i,title:l,order:u,payment_info:{},bills:[]});let d={id:o.id,name:o.attributes.name,amount_min:o.attributes.amount_min,amount_max:o.attributes.amount_max,amount:(parseFloat(o.attributes.amount_max)+parseFloat(o.attributes.amount_min))/2,currency_code:o.attributes.currency_code,native_amount_min:o.attributes.native_amount_min,native_amount_max:o.attributes.native_amount_max,native_amount:(parseFloat(o.attributes.native_amount_max)+parseFloat(o.attributes.native_amount_min))/2,native_currency_code:o.attributes.native_currency_code,transactions:[],pay_dates:o.attributes.pay_dates,paid:o.attributes.paid_dates.length>0};d.expected_amount=t.autoConversion?f(d.native_amount,d.native_currency_code):f(d.amount,d.currency_code),d.expected_times=g.t("firefly.subscr_expected_x_times",{times:o.attributes.pay_dates.length,amount:d.expected_amount});for(let h in o.attributes.paid_dates)if(o.attributes.paid_dates.hasOwnProperty(h)){const c=o.attributes.paid_dates[h];let _=100;t.autoConversion&&(_=Math.round(-100+parseFloat(c.native_amount)*-1/parseFloat(d.native_amount)*100)),t.autoConversion||(_=Math.round(-100+parseFloat(c.amount)*-1/parseFloat(d.amount)*100));let w={amount:t.autoConversion?f(c.native_amount,c.native_currency_code):f(c.amount,c.currency_code),percentage:_,date:p(new Date(c.date),"PP"),foreign_amount:null};c.foreign_currency_code!==null&&(w.foreign_amount=t.autoConversion?c.foreign_native_amount:c.foreign_amount,w.foreign_currency_code=t.autoConversion?c.native_currency_code:c.foreign_currency_code),d.transactions.push(w)}if(b[i].bills.push(d),o.attributes.paid_dates.length===0){const h=o.attributes.pay_dates.length*d.amount,c=o.attributes.pay_dates.length*d.native_amount;b[i].payment_info.hasOwnProperty(d.currency_code)||(b[i].payment_info[d.currency_code]={currency_code:d.currency_code,paid:0,unpaid:0,native_currency_code:d.native_currency_code,native_paid:0,native_unpaid:0}),b[i].payment_info[d.currency_code].unpaid+=h,b[i].payment_info[d.currency_code].native_unpaid+=c}if(o.attributes.paid_dates.length>0){for(let h in o.attributes.paid_dates)if(o.attributes.paid_dates.hasOwnProperty(h)){let c=o.attributes.paid_dates[h];b[i].payment_info.hasOwnProperty(c.currency_code)||(b[i].payment_info[c.currency_code]={currency_code:d.currency_code,paid:0,unpaid:0,native_currency_code:d.native_currency_code,native_paid:0,native_unpaid:0});const _=parseFloat(c.amount)*-1,w=parseFloat(c.native_amount)*-1;b[i].payment_info[c.currency_code].paid+=_,b[i].payment_info[c.currency_code].native_paid+=w}}}}return parseInt(n.data.meta.pagination.total_pages)>t.page?(t.page++,gt(t)):Promise.resolve()})}const Xt=()=>({loading:!1,autoConversion:!1,subscriptions:[],startSubscriptions(){this.loading=!0;let t=new Date(window.store.get("start")),e=new Date(window.store.get("end"));const n=window.store.get("cacheValid");let a=window.store.get(P("subscriptions-data-dashboard",t,e));n&&typeof a<"u",b={},this.subscriptions=[];let r={start:p(t,"y-MM-dd"),end:p(e,"y-MM-dd"),autoConversion:this.autoConversion,page:1};gt(r).then(()=>{let o=Object.values(b);for(let i in o)if(o.hasOwnProperty(i)){let l=o[i];const u=Object.keys(l.payment_info);l.col_size=u.length===1?"col-6 offset-3":"col-6",l.chart_width=u.length===1?"50%":"100%",l.payment_length=u.length,this.subscriptions.push(l)}this.loading=!1})},drawPieChart(t,e,n){let a="#pie_"+t+"_"+n.currency_code;const r=this.autoConversion?n.native_unpaid:n.unpaid,o=this.autoConversion?n.native_paid:n.paid,i=this.autoConversion?n.native_currency_code:n.currency_code,u={type:"doughnut",data:{labels:[g.t("firefly.paid"),g.t("firefly.unpaid")],datasets:[{label:g.t("firefly.subscriptions_in_group",{title:e}),data:[o,r],backgroundColor:["rgb(54, 162, 235)","rgb(255, 99, 132)"],hoverOffset:4}]},options:{plugins:{tooltip:{callbacks:{label:function(h){return h.dataset.label+": "+f(h.raw,i)}}}}}};var d=S.getChart(document.querySelector(a));typeof d<"u"&&d.destroy(),new S(document.querySelector(a),u)},init(){Promise.all([v("autoConversion",!1)]).then(t=>{this.autoConversion=t[0],tt=!0,this.loading===!1&&this.startSubscriptions()}),window.store.observe("end",()=>{tt&&this.loading===!1&&this.startSubscriptions()}),window.store.observe("autoConversion",t=>{tt&&(this.autoConversion=t,this.loading===!1&&this.startSubscriptions())})}});let x={},et=!1;const ht="dashboard-piggies-data",te=()=>({loading:!1,autoConversion:!1,sankeyGrouping:"account",piggies:[],getFreshData(){const t=new Date(window.store.get("start")),e=new Date(window.store.get("end")),n=P(ht,t,e),a=window.store.get("cacheValid");let r=window.store.get(n);if(a&&typeof r<"u"){x=r,this.parsePiggies(),this.loading=!1;return}let o={start:p(t,"y-MM-dd"),end:p(e,"y-MM-dd"),page:1};this.downloadPiggyBanks(o)},downloadPiggyBanks(t){const e=new Date(window.store.get("start")),n=new Date(window.store.get("end")),a=P(ht,e,n);new Kt().list(t).then(o=>{if(x=[...x,...o.data.data],parseInt(o.data.meta.pagination.total_pages)>t.page){t.page++,this.downloadPiggyBanks(t);return}window.store.set(a,x),this.parsePiggies(),this.loading=!1})},parsePiggies(){let t=[];for(let e in x)if(x.hasOwnProperty(e)){let n=x[e];if(n.attributes.percentage>=100||n.attributes.percentage===0)continue;let a=n.object_group_title??g.t("firefly.default_group_title_name_plain");t.hasOwnProperty(a)||(t[a]={id:n.object_group_id??0,title:a,order:n.object_group_order??0,piggies:[]});let r={id:n.id,name:n.attributes.name,percentage:parseInt(n.attributes.percentage),amount:this.autoConversion?n.attributes.native_current_amount:n.attributes.current_amount,left_to_save:this.autoConversion?n.attributes.native_left_to_save:n.attributes.left_to_save,target_amount:this.autoConversion?n.attributes.native_target_amount:n.attributes.target_amount,save_per_month:this.autoConversion?n.attributes.native_save_per_month:n.attributes.save_per_month,currency_code:this.autoConversion?n.attributes.native_currency_code:n.attributes.currency_code};t[a].piggies.push(r)}this.piggies=Object.values(t)},loadPiggyBanks(){if(this.loading!==!0){if(this.loading=!0,this.piggies.length!==0){this.parsePiggies(),this.loading=!1;return}this.getFreshData()}},init(){x=[],Promise.all([v("autoConversion",!1)]).then(t=>{et=!0,this.autoConversion=t[0],this.loadPiggyBanks()}),window.store.observe("end",()=>{et&&(x=[],this.loadPiggyBanks())}),window.store.observe("autoConversion",t=>{et&&(this.autoConversion=t,this.loadPiggyBanks())})}});S.register({LineController:Ct,LineElement:kt,ArcElement:Pt,BarController:Dt,TimeScale:xt,PieController:Ot,BarElement:Ft,Filler:St,Colors:Mt,LinearScale:At,CategoryScale:Bt,PointElement:jt,Tooltip:Wt,Legend:It});const pt={dates:wt,boxes:Et,accounts:Ut,budgets:Ht,categories:Zt,sankey:Qt,subscriptions:Xt,piggies:te};function _t(t){Object.keys(t).forEach(e=>{let n=t[e]();Alpine.data(e,()=>n)}),Alpine.start()}document.addEventListener("firefly-iii-bootstrapped",()=>{console.log("Loaded through event listener."),_t(pt)});window.bootstrapped&&(console.log("Loaded through window variable."),_t(pt)); diff --git a/public/build/assets/dashboard-5f195194.js b/public/build/assets/dashboard-5f195194.js deleted file mode 100644 index 821786ade0..0000000000 --- a/public/build/assets/dashboard-5f195194.js +++ /dev/null @@ -1 +0,0 @@ -import{a as O,f,g as v,P as bt,d as wt}from"./format-money-2e5851ad.js";import{f as g,C as m,a as S,i as p,S as vt,F as mt,L as Ct,b as kt,A as Pt,B as Dt,T as xt,P as Ot,c as Mt,d as Ft,p as St,e as At,g as Bt,h as jt,j as Wt,k as It}from"./vendor-50e42c6c.js";import{G as $t}from"./get-e0a81c64.js";import{G as Vt,a as Kt}from"./get-28b9aa25.js";class Lt{get(e,n,a){return O.get("/api/v2/summary/basic",{params:{start:e,end:n,code:a}})}}function P(t,e,n){const a=g(e,"y-MM-dd")+"_"+g(n,"y-MM-dd")+"_"+t;return console.log("getCacheKey: "+a),String(a)}let U=!1;const Et=()=>({balanceBox:{amounts:[],subtitles:[]},billBox:{paid:[],unpaid:[]},leftBox:{left:[],perDay:[]},netBox:{net:[]},autoConversion:!1,loading:!1,boxData:null,boxOptions:null,getFreshData(){const t=new Date(window.store.get("start")),e=new Date(window.store.get("end")),n=P("dashboard-boxes-data",t,e),a=window.store.get("cacheValid");let r=window.store.get(n);if(a&&typeof r<"u"){this.boxData=r,this.generateOptions(this.boxData);return}new Lt().get(g(t,"yyyy-MM-dd"),g(e,"yyyy-MM-dd"),null).then(i=>{this.boxData=i.data,window.store.set(n,i.data),this.generateOptions(this.boxData)})},generateOptions(t){this.balanceBox={amounts:[],subtitles:[]},this.billBox={paid:[],unpaid:[]},this.leftBox={left:[],perDay:[]},this.netBox={net:[]};let e={};for(const n in t)if(t.hasOwnProperty(n)){const a=t[n];if(!a.hasOwnProperty("key"))continue;let r=a.key;if(this.autoConversion){if(r.startsWith("balance-in-native")){this.balanceBox.amounts.push(f(a.value,a.currency_code)),e.hasOwnProperty(a.currency_code)||(e[a.currency_code]="");continue}if(r.startsWith("spent-in-native")){e.hasOwnProperty(a.currency_code)||(e[a.currency_code]=""),e[a.currency_code]=e[a.currency_code]+f(a.value,a.currency_code);continue}if(r.startsWith("earned-in-native")){e.hasOwnProperty(a.currency_code)||(e[a.currency_code]=""),e[a.currency_code]=f(a.value,a.currency_code)+" + "+e[a.currency_code];continue}if(r.startsWith("bills-unpaid-in-native")){this.billBox.unpaid.push(f(a.value,a.currency_code));continue}if(r.startsWith("bills-paid-in-native")){this.billBox.paid.push(f(a.value,a.currency_code));continue}if(r.startsWith("left-to-spend-in-native")){this.leftBox.left.push(f(a.value,a.currency_code));continue}if(r.startsWith("left-per-day-to-spend-in-native")){this.leftBox.perDay.push(f(a.value,a.currency_code));continue}if(r.startsWith("net-worth-in-native")){this.netBox.net.push(f(a.value,a.currency_code));continue}}if(!this.autoConversion&&!r.endsWith("native")){if(r.startsWith("balance-in-")){this.balanceBox.amounts.push(f(a.value,a.currency_code));continue}if(r.startsWith("spent-in-")){e.hasOwnProperty(a.currency_code)||(e[a.currency_code]=""),e[a.currency_code]=e[a.currency_code]+f(a.value,a.currency_code);continue}if(r.startsWith("earned-in-")){e.hasOwnProperty(a.currency_code)||(e[a.currency_code]=""),e[a.currency_code]=f(a.value,a.currency_code)+" + "+e[a.currency_code];continue}if(r.startsWith("bills-unpaid-in-")){this.billBox.unpaid.push(f(a.value,a.currency_code));continue}if(r.startsWith("bills-paid-in-")){this.billBox.paid.push(f(a.value,a.currency_code));continue}if(r.startsWith("left-to-spend-in-")){this.leftBox.left.push(f(a.value,a.currency_code));continue}if(r.startsWith("left-per-day-to-spend-in-")){this.leftBox.perDay.push(f(a.value,a.currency_code));continue}r.startsWith("net-worth-in-")&&this.netBox.net.push(f(a.value,a.currency_code))}}for(let n in e)e.hasOwnProperty(n)&&this.balanceBox.subtitles.push(e[n]);this.loading=!1},loadBoxes(){if(this.loading!==!0){if(this.loading=!0,this.boxData===null){this.getFreshData();return}this.generateOptions(this.boxData),this.loading=!1}},init(){Promise.all([v("viewRange"),v("autoConversion",!1)]).then(t=>{U=!0,this.autoConversion=t[1],this.loadBoxes()}),window.store.observe("end",()=>{U&&(this.boxData=null,this.loadBoxes())}),window.store.observe("autoConversion",t=>{U&&(this.autoConversion=t,this.loadBoxes())})}});class Gt{put(e,n){let a="/api/v1/preferences/"+e;return O.put(a,{data:n})}}function Tt(t,e=null){window.store.set(t,e),new Gt().put(t,e).then(a=>{}).catch(()=>{new bt().post(t,e).then(r=>{})})}let Rt=class{dashboard(e,n){let a=g(e,"y-MM-dd"),r=g(n,"y-MM-dd");return O.get("/api/v2/chart/account/dashboard",{params:{start:a,end:r}})}expense(e,n){let a=g(e,"y-MM-dd"),r=g(n,"y-MM-dd");return O.get("/api/v2/chart/account/expense-dashboard",{params:{start:a,end:r}})}};class st{get(e,n){let a={date:g(n,"y-MM-dd").slice(0,10)};return n?O.get("/api/v2/accounts/"+e,{params:a}):O.get("/api/v2/accounts/"+e)}transactions(e,n){const a={page:n.page??1};return n.hasOwnProperty("start")&&(a.start=g(n.start,"y-MM-dd")),n.hasOwnProperty("end")&&(a.end=g(n.end,"y-MM-dd")),O.get("/api/v2/accounts/"+e+"/transactions",{params:a})}}function N(t){return t==="sankey"?{type:"sankey",data:{datasets:[]},options:{animations:!1}}:t==="pie"?{type:"pie",data:{datasets:[]}}:t==="column"?{type:"bar",data:{labels:[],datasets:[]},options:{plugins:{tooltip:{callbacks:{label:function(e){let n=e.dataset.currency_code;return f(e.raw,n)}}}},maintainAspectRatio:!1,scales:{}}}:t==="line"?{options:{plugins:{tooltip:{callbacks:{label:function(e){let n=e.dataset.currency_code;return f(e.raw,n)}}}},maintainAspectRatio:!1,scales:{x:{type:"time",time:{tooltipFormat:"PP"}}}},type:"line",data:{labels:[],datasets:[]}}:{}}let q=new m("#36a2eb"),I=new m("#ff6384"),G=new m("#4bc0c0"),ft=new m("#ff9f40"),qt=new m("#9966ff"),Nt=new m("#ffcd56"),Yt=new m("#c9cbcf"),lt=0;window.theme==="dark"&&(I.darken(.3).desaturate(.3),G.darken(.3).desaturate(.3),q.darken(.3).desaturate(.3),ft.darken(.3).desaturate(.3));let z=[I,ft,q,G,qt,Nt,Yt,G];function j(t,e){let n={borderColor:I.rgbString(),backgroundColor:I.rgbString()},a;switch(t){default:let o=Math.floor(lt/2)%z.length;a=new m(z[o].rgbString()),a.lighten(.38),n={borderColor:z[o].hexString(),backgroundColor:a.hexString()};break;case"spent":a=new m(q.rgbString()),a.lighten(.38),n={borderColor:q.rgbString(),backgroundColor:a.rgbString()};break;case"left":a=new m(G.rgbString()),a.lighten(.38),n={borderColor:G.rgbString(),backgroundColor:a.rgbString()};break;case"overspent":a=new m(I.rgbString()),a.lighten(.22),n={borderColor:I.rgbString(),backgroundColor:a.rgbString()};break}return lt++,e==="border"?n.borderColor:e==="background"?n.backgroundColor:"#FF0000"}let A=[],$=null,H=null,J=!1;const Ut=()=>({loading:!1,loadingAccounts:!1,accountList:[],autoConversion:!1,chartOptions:null,switchAutoConversion(){this.autoConversion=!this.autoConversion,Tt("autoConversion",this.autoConversion)},getFreshData(){const t=new Date(window.store.get("start")),e=new Date(window.store.get("end")),n=P("dashboard-accounts-chart",t,e),a=window.store.get("cacheValid");let r=window.store.get(n);if(a&&typeof r<"u"){console.log(r),this.drawChart(this.generateOptions(r)),this.loading=!1;return}new Rt().dashboard(t,e,null).then(i=>{this.chartData=i.data,window.store.set(n,i.data),console.log(i.data),this.drawChart(this.generateOptions(this.chartData)),this.loading=!1})},generateOptions(t){A=[];let e=N("line");for(let n=0;n0){this.loadingAccounts=!1;return}const t=new Date(window.store.get("start")),e=new Date(window.store.get("end")),n=P("dashboard-accounts-data",t,e),a=window.store.get("cacheValid");let r=window.store.get(n);if(a&&typeof r<"u"){this.accountList=r,this.loadingAccounts=!1;return}const o=10;let i=0,l=0,u=[];Promise.all([v("frontpageAccounts")]).then(d=>{i=d[0].length;for(let h in d[0]){let c=d[0];if(c.hasOwnProperty(h)){let _=c[h];new st().get(_,new Date(window.store.get("end"))).then(w=>{let C=w.data.data;const yt={page:1,start:new Date(window.store.get("start")),end:new Date(window.store.get("end"))};new st().transactions(C.id,yt).then(at=>{let nt=[];for(let B=0;B=o);B++){let M=at.data.data[B],rt={title:M.attributes.group_title===null?"":M.attributes.group_title,id:M.id,transactions:[]};for(let Y=0;YB.order-M.order),this.accountList=u,this.loadingAccounts=!1,window.store.set(n,u))})})}}})},init(){Promise.all([v("viewRange","1M"),v("autoConversion",!1),v("language","en_US")]).then(t=>{this.autoConversion=t[1],J=!0,this.loadChart(),this.loadAccounts()}),window.store.observe("end",()=>{J&&(H=null,this.accountList=[],this.loadChart(),this.loadAccounts())}),window.store.observe("autoConversion",()=>{J&&(this.loadChart(),this.loadAccounts())})}});let zt=class{dashboard(e,n){let a=g(e,"y-MM-dd"),r=g(n,"y-MM-dd");return O.get("/api/v2/chart/budget/dashboard",{params:{start:a,end:r}})}},V=[],T=null,F=null,Z=!1;const Ht=()=>({loading:!1,autoConversion:!1,loadChart(){if(this.loading!==!0){if(this.loading=!0,F!==null){this.drawChart(this.generateOptions(F)),this.loading=!1;return}this.getFreshData()}},drawChart(t){if(T!==null){T.data.datasets=t.data.datasets,T.update();return}T=new S(document.querySelector("#budget-chart"),t)},getFreshData(){const t=new Date(window.store.get("start")),e=new Date(window.store.get("end")),n=P("dashboard-budgets-chart",t,e),a=window.store.get("cacheValid");let r=window.store.get(n);if(a&&typeof r<"u"){F=r,this.drawChart(this.generateOptions(F)),this.loading=!1;return}new zt().dashboard(t,e,null).then(i=>{F=i.data,this.drawChart(this.generateOptions(F)),window.store.set(n,F),this.loading=!1})},generateOptions(t){V=[];let e=N("column");e.options.locale=window.store.get("locale").replace("_","-"),e.options.plugins={tooltip:{callbacks:{title:function(n){return n.label},label:function(n){let a=n.dataset.label||"";return a&&(a+=": "),a+" "+f(n.parsed.y,V[n.parsed.x]??"EUR")}}}},e.data={labels:[],datasets:[{label:p.t("firefly.spent"),data:[],borderWidth:1,stack:1,backgroundColor:j("spent","background"),borderColor:j("spent","border")},{label:p.t("firefly.left"),data:[],borderWidth:1,stack:1,backgroundColor:j("left","background"),borderColor:j("left","border")},{label:p.t("firefly.overspent"),data:[],borderWidth:1,stack:1,backgroundColor:j("overspent","background"),borderColor:j("overspent","border")}]};for(const n in t)if(t.hasOwnProperty(n)){let a=t[n],r=a.label+" ("+a.currency_code+")";e.data.labels.push(r),this.autoConversion&&(V.push(a.native_currency_code),e.data.datasets[0].data.push(parseFloat(a.native_entries.spent)*-1),e.data.datasets[1].data.push(parseFloat(a.native_entries.left)),e.data.datasets[2].data.push(parseFloat(a.native_entries.overspent))),this.autoConversion||(V.push(a.currency_code),e.data.datasets[0].data.push(parseFloat(a.entries.spent)*-1),e.data.datasets[1].data.push(parseFloat(a.entries.left)),e.data.datasets[2].data.push(parseFloat(a.entries.overspent)))}return e.options.scales={y:{ticks:{callback:function(n){return f(n,V[0]??"EUR")}}}},e},init(){Promise.all([v("autoConversion",!1)]).then(t=>{this.autoConversion=t[0],Z=!0,this.loading===!1&&this.loadChart()}),window.store.observe("end",()=>{Z&&this.loading===!1&&(F=null,this.loadChart())}),window.store.observe("autoConversion",t=>{Z&&(this.autoConversion=t,this.loading===!1&&this.loadChart())})}});class Jt{dashboard(e,n){let a=g(e,"y-MM-dd"),r=g(n,"y-MM-dd");return O.get("/api/v2/chart/category/dashboard",{params:{start:a,end:r}})}}let ut=[],K=null,W=null,Q=!1;const Zt=()=>({loading:!1,autoConversion:!1,generateOptions(t){ut=[];let e=N("column"),n={};for(const r in t)if(t.hasOwnProperty(r)){let o=t[r],i=o.currency_code;this.autoConversion&&(i=o.native_currency_code),n.hasOwnProperty(i)||(n[i]={name:i,yAxisID:"",data:{}},ut.push(i))}for(const r in t)if(t.hasOwnProperty(r)){let o=t[r],i=o.currency_code;this.autoConversion&&(i=o.native_currency_code);for(const l in n)if(n.hasOwnProperty(l)){let u=0;i===l&&(u=parseFloat(o.amount),""+o.currency_code,this.autoConversion&&(u=parseFloat(o.native_amount),""+o.native_currency_code)),n[l].data.hasOwnProperty(o.label)&&(n[l].data[o.label]=n[l].data[o.label]+u),n[l].data.hasOwnProperty(o.label)||(n[l].data[o.label]=u)}e.data.labels.includes(o.label)||e.data.labels.push(o.label)}let a=0;for(const r in n){let o="y"+r,i={label:r,currency_code:r,yAxisID:o,data:[]};for(const l in n[r].data)i.data.push(n[r].data[l]);e.data.datasets.push(i),e.options.scales.hasOwnProperty(o)||(e.options.scales[o]={beginAtZero:!0,type:"linear",position:a===1?"right":"left",ticks:{callback:function(l,u,d){return f(l,r)}}},a++)}return e},drawChart(t){if(K!==null){K.options=t.options,K.data=t.data,K.update();return}K=new S(document.querySelector("#category-chart"),t)},getFreshData(){const t=new Date(window.store.get("start")),e=new Date(window.store.get("end")),n=P("dashboard-categories-chart",t,e),a=window.store.get("cacheValid");let r=window.store.get(n);if(a&&typeof r<"u"){W=r,this.drawChart(this.generateOptions(W)),this.loading=!1;return}new Jt().dashboard(t,e,null).then(i=>{W=i.data,this.drawChart(this.generateOptions(i.data)),window.store.set(n,W),this.loading=!1})},loadChart(){if(this.loading!==!0){if(this.loading=!0,W!==null){this.drawChart(this.generateOptions(W)),this.loading=!1;return}this.getFreshData()}},init(){Promise.all([v("autoConversion",!1)]).then(t=>{this.autoConversion=t[0],Q=!0,this.loadChart()}),window.store.observe("end",()=>{Q&&(this.chartData=null,this.loadChart())}),window.store.observe("autoConversion",t=>{Q&&(this.autoConversion=t,this.loadChart())})}});S.register({SankeyController:vt,Flow:mt});const ct="dashboard-sankey-data";let X=!1,R=null,D=[],y=!1,s={category:null,unknown_category:null,in:null,out:null,unknown_source:null,unknown_dest:null,unknown_account:null,expense_account:null,revenue_account:null,budget:null,unknown_budget:null,all_money:null};const dt=function(t){return t.includes(s.revenue_account)?"forestgreen":t.includes("("+s.in+",")?"green":t.includes(s.budget)||t.includes(s.unknown_budget)?"Orchid":t.includes("("+s.out+",")?"MediumOrchid":t.includes(s.all_money)?"blue":"red"};function L(t,e,n,a){if(t==="category"&&e!==null&&n==="in")return s.category+' "'+e+'" ('+s.in+(y?", "+a+")":")");if(t==="category"&&e===null&&n==="in")return s.unknown_category+" ("+s.in+(y?", "+a+")":")");if(t==="category"&&e!==null&&n==="out")return s.category+' "'+e+'" ('+s.out+(y?", "+a+")":")");if(t==="category"&&e===null&&n==="out")return s.unknown_category+" ("+s.out+(y?", "+a+")":")");if(t==="account"&&e===null&&n==="in")return s.unknown_source+(y?" ("+a+")":"");if(t==="account"&&e!==null&&n==="in")return s.revenue_account+'"'+e+'"'+(y?" ("+a+")":"");if(t==="account"&&e===null&&n==="out")return s.unknown_dest+(y?" ("+a+")":"");if(t==="account"&&e!==null&&n==="out")return s.expense_account+' "'+e+'"'+(y?" ("+a+")":"");if(t==="budget"&&e!==null)return s.budget+' "'+e+'"'+(y?" ("+a+")":"");if(t==="budget"&&e===null)return s.unknown_budget+(y?" ("+a+")":"");console.error('Cannot handle: type:"'+t+'", dir: "'+n+'"')}function E(t,e,n){if(t==="category"&&e!==null)return s.category+' "'+e+'"'+(y?" ("+n+")":"");if(t==="category"&&e===null)return s.unknown_category+(y?" ("+n+")":"");if(t==="account"&&e===null)return s.unknown_account+(y?" ("+n+")":"");if(t==="account"&&e!==null)return e+(y?" ("+n+")":"");if(t==="budget"&&e!==null)return s.budget+' "'+e+'"'+(y?" ("+n+")":"");if(t==="budget"&&e===null)return s.unknown_budget+(y?" ("+n+")":"");console.error('Cannot handle: type:"'+t+'"')}const Qt=()=>({loading:!1,autoConversion:!1,generateOptions(){let t=N("sankey"),e={},n={};for(let r in D)if(D.hasOwnProperty(r)){let o=D[r];for(let i in o.attributes.transactions)if(o.attributes.transactions.hasOwnProperty(i)){let l=o.attributes.transactions[i],u=this.autoConversion?l.native_currency_code:l.currency_code,d=this.autoConversion?parseFloat(l.native_amount):parseFloat(l.amount),h;if(l.type==="deposit"){let c=L("category",l.category_name,"in",u),_=L("account",l.source_name,"in",u);n[c]=E("category",l.category_name,u),n[_]=E("account",l.source_name,u),h=_+"-"+c+"-"+u,e.hasOwnProperty(h)||(e[h]={from:_,to:c,amount:0}),e[h].amount+=d,h=c+"-"+s.all_money+"-"+u,e.hasOwnProperty(h)||(e[h]={from:c,to:s.all_money+(this.autoConversion?" ("+u+")":""),amount:0}),e[h].amount+=d}if(l.type==="withdrawal"){let c=L("budget",l.budget_name,"out",u);n[c]=E("budget",l.budget_name,u),h=s.all_money+"-"+c+"-"+u,e.hasOwnProperty(h)||(e[h]={from:s.all_money+(this.autoConversion?" ("+u+")":""),to:c,amount:0}),e[h].amount+=d;let _=L("category",l.category_name,"out",u);n[_]=E("category",l.category_name,u),h=c+"-"+_+"-"+u,e.hasOwnProperty(h)||(e[h]={from:c,to:_,amount:0}),e[h].amount+=d;let w=L("account",l.destination_name,"out",u);n[w]=E("account",l.destination_name,u),h=_+"-"+w+"-"+u,e.hasOwnProperty(h)||(e[h]={from:_,to:w,amount:0}),e[h].amount+=d}}}let a={label:"Firefly III dashboard sankey chart",data:[],colorFrom:r=>dt(r.dataset.data[r.dataIndex]?r.dataset.data[r.dataIndex].from:""),colorTo:r=>dt(r.dataset.data[r.dataIndex]?r.dataset.data[r.dataIndex].to:""),colorMode:"gradient",labels:n,size:"min"};for(let r in e)if(e.hasOwnProperty(r)){let o=e[r];a.data.push({from:o.from,to:o.to,flow:o.amount})}return t.data.datasets.push(a),t},drawChart(t){if(R!==null){R.data.datasets=t.data.datasets,R.update();return}R=new S(document.querySelector("#sankey-chart"),t)},getFreshData(){const t=new Date(window.store.get("start")),e=new Date(window.store.get("end")),n=P(ct,t,e),a=window.store.get("cacheValid");let r=window.store.get(n);if(a&&typeof r<"u"){D=r,this.drawChart(this.generateOptions()),this.loading=!1;return}let o={start:g(t,"y-MM-dd"),end:g(e,"y-MM-dd"),type:"withdrawal,deposit",page:1};this.downloadTransactions(o)},downloadTransactions(t){const e=new Date(window.store.get("start")),n=new Date(window.store.get("end")),a=P(ct,e,n);new $t().list(t).then(o=>{if(D=[...D,...o.data.data],parseInt(o.data.meta.pagination.total_pages)>t.page){t.page++,this.downloadTransactions(t);return}window.store.set(a,D),this.drawChart(this.generateOptions()),this.loading=!1})},loadChart(){if(this.loading!==!0){if(this.loading=!0,D.length!==0){this.drawChart(this.generateOptions()),this.loading=!1;return}this.getFreshData()}},init(){D=[],Promise.all([v("autoConversion",!1)]).then(t=>{this.autoConversion=t[0],y=t[0],s.all_money=p.t("firefly.all_money"),s.category=p.t("firefly.category"),s.in=p.t("firefly.money_flowing_in"),s.out=p.t("firefly.money_flowing_out"),s.unknown_category=p.t("firefly.unknown_category_plain"),s.unknown_source=p.t("firefly.unknown_source_plain"),s.unknown_dest=p.t("firefly.unknown_dest_plain"),s.unknown_account=p.t("firefly.unknown_any_plain"),s.unknown_budget=p.t("firefly.unknown_budget_plain"),s.expense_account=p.t("firefly.expense_account"),s.revenue_account=p.t("firefly.revenue_account"),s.budget=p.t("firefly.budget"),X=!0,this.loadChart()}),window.store.observe("end",()=>{X&&(this.transactions=[],this.loadChart())}),window.store.observe("autoConversion",t=>{X&&(this.autoConversion=t,this.loadChart())})}});let tt=!1,b={};function gt(t){return new Vt().list(t).then(n=>{let a=n.data.data;for(let r in a)if(a.hasOwnProperty(r)){let o=a[r];if(o.attributes.active&&o.attributes.pay_dates.length>0){let i=o.attributes.object_group_id===null?0:o.attributes.object_group_id,l=o.attributes.object_group_title===null?p.t("firefly.default_group_title_name_plain"):o.attributes.object_group_title,u=o.attributes.object_group_order===null?0:o.attributes.object_group_order;b.hasOwnProperty(i)||(b[i]={id:i,title:l,order:u,payment_info:{},bills:[]});let d={id:o.id,name:o.attributes.name,amount_min:o.attributes.amount_min,amount_max:o.attributes.amount_max,amount:(parseFloat(o.attributes.amount_max)+parseFloat(o.attributes.amount_min))/2,currency_code:o.attributes.currency_code,native_amount_min:o.attributes.native_amount_min,native_amount_max:o.attributes.native_amount_max,native_amount:(parseFloat(o.attributes.native_amount_max)+parseFloat(o.attributes.native_amount_min))/2,native_currency_code:o.attributes.native_currency_code,transactions:[],pay_dates:o.attributes.pay_dates,paid:o.attributes.paid_dates.length>0};d.expected_amount=t.autoConversion?f(d.native_amount,d.native_currency_code):f(d.amount,d.currency_code),d.expected_times=p.t("firefly.subscr_expected_x_times",{times:o.attributes.pay_dates.length,amount:d.expected_amount});for(let h in o.attributes.paid_dates)if(o.attributes.paid_dates.hasOwnProperty(h)){const c=o.attributes.paid_dates[h];let _=100;t.autoConversion&&(_=Math.round(-100+parseFloat(c.native_amount)*-1/parseFloat(d.native_amount)*100)),t.autoConversion||(_=Math.round(-100+parseFloat(c.amount)*-1/parseFloat(d.amount)*100));let w={amount:t.autoConversion?f(c.native_amount,c.native_currency_code):f(c.amount,c.currency_code),percentage:_,date:g(new Date(c.date),"PP"),foreign_amount:null};c.foreign_currency_code!==null&&(w.foreign_amount=t.autoConversion?c.foreign_native_amount:c.foreign_amount,w.foreign_currency_code=t.autoConversion?c.native_currency_code:c.foreign_currency_code),d.transactions.push(w)}if(b[i].bills.push(d),o.attributes.paid_dates.length===0){const h=o.attributes.pay_dates.length*d.amount,c=o.attributes.pay_dates.length*d.native_amount;b[i].payment_info.hasOwnProperty(d.currency_code)||(b[i].payment_info[d.currency_code]={currency_code:d.currency_code,paid:0,unpaid:0,native_currency_code:d.native_currency_code,native_paid:0,native_unpaid:0}),b[i].payment_info[d.currency_code].unpaid+=h,b[i].payment_info[d.currency_code].native_unpaid+=c}if(o.attributes.paid_dates.length>0){for(let h in o.attributes.paid_dates)if(o.attributes.paid_dates.hasOwnProperty(h)){let c=o.attributes.paid_dates[h];b[i].payment_info.hasOwnProperty(c.currency_code)||(b[i].payment_info[c.currency_code]={currency_code:d.currency_code,paid:0,unpaid:0,native_currency_code:d.native_currency_code,native_paid:0,native_unpaid:0});const _=parseFloat(c.amount)*-1,w=parseFloat(c.native_amount)*-1;b[i].payment_info[c.currency_code].paid+=_,b[i].payment_info[c.currency_code].native_paid+=w}}}}return parseInt(n.data.meta.pagination.total_pages)>t.page?(t.page++,gt(t)):Promise.resolve()})}const Xt=()=>({loading:!1,autoConversion:!1,subscriptions:[],startSubscriptions(){this.loading=!0;let t=new Date(window.store.get("start")),e=new Date(window.store.get("end"));const n=window.store.get("cacheValid");let a=window.store.get(P("subscriptions-data-dashboard",t,e));n&&typeof a<"u",b={},this.subscriptions=[];let r={start:g(t,"y-MM-dd"),end:g(e,"y-MM-dd"),autoConversion:this.autoConversion,page:1};gt(r).then(()=>{let o=Object.values(b);for(let i in o)if(o.hasOwnProperty(i)){let l=o[i];const u=Object.keys(l.payment_info);l.col_size=u.length===1?"col-6 offset-3":"col-6",l.chart_width=u.length===1?"50%":"100%",l.payment_length=u.length,this.subscriptions.push(l)}this.loading=!1})},drawPieChart(t,e,n){let a="#pie_"+t+"_"+n.currency_code;const r=this.autoConversion?n.native_unpaid:n.unpaid,o=this.autoConversion?n.native_paid:n.paid,i=this.autoConversion?n.native_currency_code:n.currency_code,u={type:"doughnut",data:{labels:[p.t("firefly.paid"),p.t("firefly.unpaid")],datasets:[{label:p.t("firefly.subscriptions_in_group",{title:e}),data:[o,r],backgroundColor:["rgb(54, 162, 235)","rgb(255, 99, 132)"],hoverOffset:4}]},options:{plugins:{tooltip:{callbacks:{label:function(h){return h.dataset.label+": "+f(h.raw,i)}}}}}};var d=S.getChart(document.querySelector(a));typeof d<"u"&&d.destroy(),new S(document.querySelector(a),u)},init(){Promise.all([v("autoConversion",!1)]).then(t=>{this.autoConversion=t[0],tt=!0,this.loading===!1&&this.startSubscriptions()}),window.store.observe("end",()=>{tt&&this.loading===!1&&this.startSubscriptions()}),window.store.observe("autoConversion",t=>{tt&&(this.autoConversion=t,this.loading===!1&&this.startSubscriptions())})}});let x={},et=!1;const ht="dashboard-piggies-data",te=()=>({loading:!1,autoConversion:!1,sankeyGrouping:"account",piggies:[],getFreshData(){const t=new Date(window.store.get("start")),e=new Date(window.store.get("end")),n=P(ht,t,e),a=window.store.get("cacheValid");let r=window.store.get(n);if(a&&typeof r<"u"){x=r,this.parsePiggies(),this.loading=!1;return}let o={start:g(t,"y-MM-dd"),end:g(e,"y-MM-dd"),page:1};this.downloadPiggyBanks(o)},downloadPiggyBanks(t){const e=new Date(window.store.get("start")),n=new Date(window.store.get("end")),a=P(ht,e,n);new Kt().list(t).then(o=>{if(x=[...x,...o.data.data],parseInt(o.data.meta.pagination.total_pages)>t.page){t.page++,this.downloadPiggyBanks(t);return}window.store.set(a,x),this.parsePiggies(),this.loading=!1})},parsePiggies(){let t=[];for(let e in x)if(x.hasOwnProperty(e)){let n=x[e];if(n.attributes.percentage>=100||n.attributes.percentage===0)continue;let a=n.object_group_title??p.t("firefly.default_group_title_name_plain");t.hasOwnProperty(a)||(t[a]={id:n.object_group_id??0,title:a,order:n.object_group_order??0,piggies:[]});let r={id:n.id,name:n.attributes.name,percentage:parseInt(n.attributes.percentage),amount:this.autoConversion?n.attributes.native_current_amount:n.attributes.current_amount,left_to_save:this.autoConversion?n.attributes.native_left_to_save:n.attributes.left_to_save,target_amount:this.autoConversion?n.attributes.native_target_amount:n.attributes.target_amount,save_per_month:this.autoConversion?n.attributes.native_save_per_month:n.attributes.save_per_month,currency_code:this.autoConversion?n.attributes.native_currency_code:n.attributes.currency_code};t[a].piggies.push(r)}this.piggies=Object.values(t)},loadPiggyBanks(){if(this.loading!==!0){if(this.loading=!0,this.piggies.length!==0){this.parsePiggies(),this.loading=!1;return}this.getFreshData()}},init(){x=[],Promise.all([v("autoConversion",!1)]).then(t=>{et=!0,this.autoConversion=t[0],this.loadPiggyBanks()}),window.store.observe("end",()=>{et&&(x=[],this.loadPiggyBanks())}),window.store.observe("autoConversion",t=>{et&&(this.autoConversion=t,this.loadPiggyBanks())})}});S.register({LineController:Ct,LineElement:kt,ArcElement:Pt,BarController:Dt,TimeScale:xt,PieController:Ot,BarElement:Mt,Filler:Ft,Colors:St,LinearScale:At,CategoryScale:Bt,PointElement:jt,Tooltip:Wt,Legend:It});const pt={dates:wt,boxes:Et,accounts:Ut,budgets:Ht,categories:Zt,sankey:Qt,subscriptions:Xt,piggies:te};function _t(t){Object.keys(t).forEach(e=>{let n=t[e]();Alpine.data(e,()=>n)}),Alpine.start()}document.addEventListener("firefly-iii-bootstrapped",()=>{console.log("Loaded through event listener."),_t(pt)});window.bootstrapped&&(console.log("Loaded through window variable."),_t(pt)); diff --git a/public/build/assets/edit-4c7ba005.js b/public/build/assets/edit-195027dc.js similarity index 94% rename from public/build/assets/edit-4c7ba005.js rename to public/build/assets/edit-195027dc.js index ebb26c4a9a..41627d0db0 100644 --- a/public/build/assets/edit-4c7ba005.js +++ b/public/build/assets/edit-195027dc.js @@ -1 +1 @@ -import{d as p,f as l}from"./format-money-2e5851ad.js";import{G as f}from"./get-e0a81c64.js";import{p as g}from"./parse-downloaded-splits-83822d1b.js";import{p as m,d as w,e as a,f as y,g as b,h as P,i as S,l as v,a as C,b as A,c as _,s as E,j as D,k as c,m as u}from"./splice-errors-into-transactions-6727b386.js";import{i as o,m as T}from"./vendor-50e42c6c.js";import{d as x}from"./create-empty-split-81f71b2e.js";import{P as B}from"./put-bb9ad93a.js";import"./get-28b9aa25.js";const n=D();let L=function(){return{entries:[],originals:[],formStates:{loadingCurrencies:!0,loadingBudgets:!0,loadingPiggyBanks:!0,loadingSubscriptions:!0,isSubmitting:!1,returnHereButton:!1,saveAsNewButton:!1,resetButton:!0,rulesButton:!0,webhooksButton:!0},formBehaviour:{formType:"edit",foreignCurrencyEnabled:!0},formData:{defaultCurrency:null,enabledCurrencies:[],nativeCurrencies:[],foreignCurrencies:[],budgets:[],piggyBanks:[],subscriptions:[]},groupProperties:{transactionType:"unknown",title:null,editTitle:null,id:null,totalAmount:0},notifications:{error:{show:!1,text:"",url:""},success:{show:!1,text:"",url:""},wait:{show:!1,text:""}},submitTransaction(){this.notifications.error.show=!1,this.notifications.success.show=!1,this.notifications.wait.show=!1;for(let e in this.entries)this.entries.hasOwnProperty(e)&&(this.entries[e].errors=x());this.formStates.isSubmitting=!0;let t=m(this.entries,this.originals,this.groupProperties.transactionType),s={group_title:this.groupProperties.editTitle,fire_webhooks:this.formStates.webhooksButton,apply_rules:this.formStates.rulesButton,transactions:t};this.groupProperties.title===null&&t.length>1&&(s.group_title=t[0].description);let r=new B;console.log(s),r.put(s,{id:this.groupProperties.id}).then(e=>{const i=e.data.data;if(this.groupProperties.id=parseInt(i.id),this.groupProperties.title=i.attributes.group_title??i.attributes.transactions[0].description,w(this.groupProperties.id,i.attributes.transactions)>0){this.notifications.wait.show=!0,this.notifications.wait.text=o.t("firefly.wait_attachments");return}this.showMessageOrRedirectUser()}).catch(e=>{this.submitting=!1,console.log(e),typeof e.response<"u"&&this.parseErrors(e.response.data)})},filters:{source:[],destination:[]},addedSplit(){setTimeout(()=>{const t=function(s,r,e){return s.name_with_balance+'
'+o.t("firefly.account_type_"+s.type)+""};a({selector:"input.ac-source",serverUrl:n.account,filters:this.filters.source,onRenderItem:t,onChange:y,onSelectItem:b}),a({selector:"input.ac-dest",serverUrl:n.account,filters:this.filters.destination,onRenderItem:t,onChange:P,onSelectItem:S}),a({selector:"input.ac-category",serverUrl:n.category,valueField:"id",labelField:"name",onChange:c,onSelectItem:c}),a({selector:"input.ac-description",serverUrl:n.description,valueField:"id",labelField:"description",onChange:u,onSelectItem:u})},250)},changedDateTime(t){console.warn("changedDateTime, event is not used")},changedDescription(t){console.warn("changedDescription, event is not used")},changedDestinationAccount(t){console.warn("changedDestinationAccount, event is not used")},changedSourceAccount(t){console.warn("changedSourceAccount, event is not used")},formattedTotalAmount(){return this.entries.length===0?l(this.groupProperties.totalAmount,"EUR"):l(this.groupProperties.totalAmount,this.entries[0].currency_code??"EUR")},getTags(t){return console.log("at get tags "+t),console.log(this.entries[t].tags),this.entries[t].tags??[]},getTransactionGroup(){this.entries=[];const t=window.location.href.split("/"),s=parseInt(t[t.length-1]);new f().show(s,{}).then(e=>{const i=e.data.data;this.groupProperties.id=parseInt(i.id),this.groupProperties.transactionType=i.attributes.transactions[0].type.toLowerCase(),this.groupProperties.title=i.attributes.title??i.attributes.transactions[0].description,this.entries=g(i.attributes.transactions,parseInt(i.id)),this.notifications.wait.show=!1}).then(()=>{this.groupProperties.totalAmount=0;for(let e in this.entries)this.entries.hasOwnProperty(e)&&(this.groupProperties.totalAmount=this.groupProperties.totalAmount+parseFloat(this.entries[e].amount),this.filters.source.push(this.entries[e].source_account.type),this.filters.destination.push(this.entries[e].destination_account.type));console.log(this.filters),setTimeout(()=>{T.init("select.ac-tags",{allowClear:!0,server:n.tag,liveServer:!0,clearEnd:!0,allowNew:!0,notFoundMessage:o.t("firefly.nothing_found"),noCache:!0,fetchOptions:{headers:{"X-CSRF-TOKEN":document.head.querySelector('meta[name="csrf-token"]').content}}})},150)})},init(){this.notifications.wait.show=!0,this.notifications.wait.text=o.t("firefly.wait_loading_transaction"),this.getTransactionGroup(),v().then(t=>{this.formStates.loadingCurrencies=!1,this.formData.defaultCurrency=t.defaultCurrency,this.formData.enabledCurrencies=t.enabledCurrencies,this.formData.nativeCurrencies=t.nativeCurrencies,this.formData.foreignCurrencies=t.foreignCurrencies}),C().then(t=>{this.formData.budgets=t,this.formStates.loadingBudgets=!1}),A().then(t=>{this.formData.piggyBanks=t,this.formStates.loadingPiggyBanks=!1}),_().then(t=>{this.formData.subscriptions=t,this.formStates.loadingSubscriptions=!1}),document.addEventListener("upload-success",t=>{this.processUpload(t),document.querySelectorAll("input[type=file]").value=""}),document.addEventListener("upload-error",t=>{this.processUploadError(t)}),document.addEventListener("location-move",t=>{this.entries[t.detail.index].latitude=t.detail.latitude,this.entries[t.detail.index].longitude=t.detail.longitude}),document.addEventListener("location-set",t=>{this.entries[t.detail.index].hasLocation=!0,this.entries[t.detail.index].latitude=t.detail.latitude,this.entries[t.detail.index].longitude=t.detail.longitude,this.entries[t.detail.index].zoomLevel=t.detail.zoomLevel}),document.addEventListener("location-zoom",t=>{this.entries[t.detail.index].hasLocation=!0,this.entries[t.detail.index].zoomLevel=t.detail.zoomLevel})},changedAmount(t){const s=parseInt(t.target.dataset.index);this.entries[s].amount=parseFloat(t.target.value),this.groupProperties.totalAmount=0;for(let r in this.entries)this.entries.hasOwnProperty(r)&&(this.groupProperties.totalAmount=this.groupProperties.totalAmount+parseFloat(this.entries[r].amount))},showMessageOrRedirectUser(){if(this.notifications.error.show=!1,this.notifications.success.show=!1,this.notifications.wait.show=!1,this.formStates.returnHereButton){this.notifications.success.show=!0,this.notifications.success.url="transactions/show/"+this.groupProperties.id,this.notifications.success.text=o.t("firefly.updated_journal_js",{description:this.groupProperties.title});return}window.location="transactions/show/"+this.groupProperties.id+"?transaction_group_id="+this.groupProperties.id+"&message=updated"},parseErrors(t){this.notifications.error.show=!0,this.notifications.success.show=!1,this.notifications.wait.show=!1,this.formStates.isSubmitting=!1,this.notifications.error.text=o.t("firefly.errors_submission_v2",{errorMessage:t.message}),t.hasOwnProperty("errors")&&(this.entries=E(t.errors,this.entries))},processUpload(t){this.showMessageOrRedirectUser()},processUploadError(t){this.notifications.success.show=!1,this.notifications.wait.show=!1,this.notifications.error.show=!0,this.formStates.isSubmitting=!1,this.notifications.error.text=o.t("firefly.errors_upload"),console.error(t)}}},h={transactions:L,dates:p};function d(){Object.keys(h).forEach(t=>{console.log(`Loading page component "${t}"`);let s=h[t]();Alpine.data(t,()=>s)}),Alpine.start()}document.addEventListener("firefly-iii-bootstrapped",()=>{console.log("Loaded through event listener."),d()});window.bootstrapped&&(console.log("Loaded through window variable."),d()); +import{d as p,f as l}from"./format-money-00d5f4b9.js";import{G as f}from"./get-59bb27e9.js";import{p as g}from"./parse-downloaded-splits-9e5b1aaf.js";import{p as m,d as w,e as a,f as y,g as b,h as P,i as S,l as v,a as C,b as A,c as _,s as E,j as D,k as c,m as u}from"./splice-errors-into-transactions-bba1ef64.js";import{i as o,m as T}from"./vendor-f5e18451.js";import{d as x}from"./create-empty-split-c97f45c5.js";import{P as B}from"./put-d6ed6223.js";import"./get-0097c30a.js";const n=D();let L=function(){return{entries:[],originals:[],formStates:{loadingCurrencies:!0,loadingBudgets:!0,loadingPiggyBanks:!0,loadingSubscriptions:!0,isSubmitting:!1,returnHereButton:!1,saveAsNewButton:!1,resetButton:!0,rulesButton:!0,webhooksButton:!0},formBehaviour:{formType:"edit",foreignCurrencyEnabled:!0},formData:{defaultCurrency:null,enabledCurrencies:[],nativeCurrencies:[],foreignCurrencies:[],budgets:[],piggyBanks:[],subscriptions:[]},groupProperties:{transactionType:"unknown",title:null,editTitle:null,id:null,totalAmount:0},notifications:{error:{show:!1,text:"",url:""},success:{show:!1,text:"",url:""},wait:{show:!1,text:""}},submitTransaction(){this.notifications.error.show=!1,this.notifications.success.show=!1,this.notifications.wait.show=!1;for(let e in this.entries)this.entries.hasOwnProperty(e)&&(this.entries[e].errors=x());this.formStates.isSubmitting=!0;let t=m(this.entries,this.originals,this.groupProperties.transactionType),s={group_title:this.groupProperties.editTitle,fire_webhooks:this.formStates.webhooksButton,apply_rules:this.formStates.rulesButton,transactions:t};this.groupProperties.title===null&&t.length>1&&(s.group_title=t[0].description);let r=new B;console.log(s),r.put(s,{id:this.groupProperties.id}).then(e=>{const i=e.data.data;if(this.groupProperties.id=parseInt(i.id),this.groupProperties.title=i.attributes.group_title??i.attributes.transactions[0].description,w(this.groupProperties.id,i.attributes.transactions)>0){this.notifications.wait.show=!0,this.notifications.wait.text=o.t("firefly.wait_attachments");return}this.showMessageOrRedirectUser()}).catch(e=>{this.submitting=!1,console.log(e),typeof e.response<"u"&&this.parseErrors(e.response.data)})},filters:{source:[],destination:[]},addedSplit(){setTimeout(()=>{const t=function(s,r,e){return s.name_with_balance+'
'+o.t("firefly.account_type_"+s.type)+""};a({selector:"input.ac-source",serverUrl:n.account,filters:this.filters.source,onRenderItem:t,onChange:y,onSelectItem:b}),a({selector:"input.ac-dest",serverUrl:n.account,filters:this.filters.destination,onRenderItem:t,onChange:P,onSelectItem:S}),a({selector:"input.ac-category",serverUrl:n.category,valueField:"id",labelField:"name",onChange:c,onSelectItem:c}),a({selector:"input.ac-description",serverUrl:n.description,valueField:"id",labelField:"description",onChange:u,onSelectItem:u})},250)},changedDateTime(t){console.warn("changedDateTime, event is not used")},changedDescription(t){console.warn("changedDescription, event is not used")},changedDestinationAccount(t){console.warn("changedDestinationAccount, event is not used")},changedSourceAccount(t){console.warn("changedSourceAccount, event is not used")},formattedTotalAmount(){return this.entries.length===0?l(this.groupProperties.totalAmount,"EUR"):l(this.groupProperties.totalAmount,this.entries[0].currency_code??"EUR")},getTags(t){return console.log("at get tags "+t),console.log(this.entries[t].tags),this.entries[t].tags??[]},getTransactionGroup(){this.entries=[];const t=window.location.href.split("/"),s=parseInt(t[t.length-1]);new f().show(s,{}).then(e=>{const i=e.data.data;this.groupProperties.id=parseInt(i.id),this.groupProperties.transactionType=i.attributes.transactions[0].type.toLowerCase(),this.groupProperties.title=i.attributes.title??i.attributes.transactions[0].description,this.entries=g(i.attributes.transactions,parseInt(i.id)),this.notifications.wait.show=!1}).then(()=>{this.groupProperties.totalAmount=0;for(let e in this.entries)this.entries.hasOwnProperty(e)&&(this.groupProperties.totalAmount=this.groupProperties.totalAmount+parseFloat(this.entries[e].amount),this.filters.source.push(this.entries[e].source_account.type),this.filters.destination.push(this.entries[e].destination_account.type));console.log(this.filters),setTimeout(()=>{T.init("select.ac-tags",{allowClear:!0,server:n.tag,liveServer:!0,clearEnd:!0,allowNew:!0,notFoundMessage:o.t("firefly.nothing_found"),noCache:!0,fetchOptions:{headers:{"X-CSRF-TOKEN":document.head.querySelector('meta[name="csrf-token"]').content}}})},150)})},init(){this.notifications.wait.show=!0,this.notifications.wait.text=o.t("firefly.wait_loading_transaction"),this.getTransactionGroup(),v().then(t=>{this.formStates.loadingCurrencies=!1,this.formData.defaultCurrency=t.defaultCurrency,this.formData.enabledCurrencies=t.enabledCurrencies,this.formData.nativeCurrencies=t.nativeCurrencies,this.formData.foreignCurrencies=t.foreignCurrencies}),C().then(t=>{this.formData.budgets=t,this.formStates.loadingBudgets=!1}),A().then(t=>{this.formData.piggyBanks=t,this.formStates.loadingPiggyBanks=!1}),_().then(t=>{this.formData.subscriptions=t,this.formStates.loadingSubscriptions=!1}),document.addEventListener("upload-success",t=>{this.processUpload(t),document.querySelectorAll("input[type=file]").value=""}),document.addEventListener("upload-error",t=>{this.processUploadError(t)}),document.addEventListener("location-move",t=>{this.entries[t.detail.index].latitude=t.detail.latitude,this.entries[t.detail.index].longitude=t.detail.longitude}),document.addEventListener("location-set",t=>{this.entries[t.detail.index].hasLocation=!0,this.entries[t.detail.index].latitude=t.detail.latitude,this.entries[t.detail.index].longitude=t.detail.longitude,this.entries[t.detail.index].zoomLevel=t.detail.zoomLevel}),document.addEventListener("location-zoom",t=>{this.entries[t.detail.index].hasLocation=!0,this.entries[t.detail.index].zoomLevel=t.detail.zoomLevel})},changedAmount(t){const s=parseInt(t.target.dataset.index);this.entries[s].amount=parseFloat(t.target.value),this.groupProperties.totalAmount=0;for(let r in this.entries)this.entries.hasOwnProperty(r)&&(this.groupProperties.totalAmount=this.groupProperties.totalAmount+parseFloat(this.entries[r].amount))},showMessageOrRedirectUser(){if(this.notifications.error.show=!1,this.notifications.success.show=!1,this.notifications.wait.show=!1,this.formStates.returnHereButton){this.notifications.success.show=!0,this.notifications.success.url="transactions/show/"+this.groupProperties.id,this.notifications.success.text=o.t("firefly.updated_journal_js",{description:this.groupProperties.title});return}window.location="transactions/show/"+this.groupProperties.id+"?transaction_group_id="+this.groupProperties.id+"&message=updated"},parseErrors(t){this.notifications.error.show=!0,this.notifications.success.show=!1,this.notifications.wait.show=!1,this.formStates.isSubmitting=!1,this.notifications.error.text=o.t("firefly.errors_submission_v2",{errorMessage:t.message}),t.hasOwnProperty("errors")&&(this.entries=E(t.errors,this.entries))},processUpload(t){this.showMessageOrRedirectUser()},processUploadError(t){this.notifications.success.show=!1,this.notifications.wait.show=!1,this.notifications.error.show=!0,this.formStates.isSubmitting=!1,this.notifications.error.text=o.t("firefly.errors_upload"),console.error(t)}}},h={transactions:L,dates:p};function d(){Object.keys(h).forEach(t=>{console.log(`Loading page component "${t}"`);let s=h[t]();Alpine.data(t,()=>s)}),Alpine.start()}document.addEventListener("firefly-iii-bootstrapped",()=>{console.log("Loaded through event listener."),d()});window.bootstrapped&&(console.log("Loaded through window variable."),d()); diff --git a/public/build/assets/format-money-2e5851ad.js b/public/build/assets/format-money-00d5f4b9.js similarity index 99% rename from public/build/assets/format-money-2e5851ad.js rename to public/build/assets/format-money-00d5f4b9.js index a4a38bac2d..23ba651610 100644 --- a/public/build/assets/format-money-2e5851ad.js +++ b/public/build/assets/format-money-00d5f4b9.js @@ -1 +1 @@ -import{q as y,s as d,r as l,t as p,u as _,v as c,w as b,x as N,y as P,z as v,D as g,i as C,E as B,G as x,H as O,J as o,K as E,N as T,f as L,O as S,Q as W,R as U,U as I,V as q,W as Q,X as V,Y,Z as $,_ as j,$ as z,a0 as X,a1 as F,a2 as G,a3 as H,a4 as J,a5 as K,a6 as Z,a7 as ee,a8 as te,a9 as ae,aa as se,ab as ne,ac as re,ad as le,ae as de,af as oe,ag as ie,ah as ue,ai as ge,aj as ce,ak as we,al as he,am as ye}from"./vendor-50e42c6c.js";const k="/",h=y.create({baseURL:k,withCredentials:!0});y.defaults.withCredentials=!0;y.defaults.baseURL=k;class R{getByName(e){return h.get("/api/v1/preferences/"+e)}getByNameNow(e){return h.get("/api/v1/preferences/"+e)}postByName(e,a){return h.post("/api/v1/preferences",{name:e,data:a})}}class A{post(e,a){let s="/api/v1/preferences";return h.post(s,{name:e,data:a})}}function fe(t,e=null){return new R().getByName(t).then(s=>Promise.resolve(m(t,s))).catch(()=>{new A().post(t,e).then(i=>Promise.resolve(m(t,i)))})}function m(t,e){return e.data.data.attributes.data}function w(t,e=null){const a=window.store.get("cacheValid");if(a&&window.hasOwnProperty(t))return Promise.resolve(window[t]);const s=window.store.get(t);return a&&typeof s<"u"?Promise.resolve(s):new R().getByName(t).then(u=>Promise.resolve(M(t,u))).catch(()=>{new A().post(t,e).then(n=>Promise.resolve(M(t,n)))})}function M(t,e){let a=e.data.data.attributes.data;return window.store.set(t,a),a}function be(t,e){let a,s;switch(t){case"last365":a=d(g(e,365)),s=l(e);break;case"last90":a=d(g(e,90)),s=l(e);break;case"last30":a=d(g(e,30)),s=l(e);break;case"last7":a=d(g(e,7)),s=l(e);break;case"YTD":a=v(e),s=l(e);break;case"QTD":a=p(e),s=l(e);break;case"MTD":a=c(e),s=l(e);break;case"1D":a=d(e),s=l(e);break;case"1W":a=d(N(e,{weekStartsOn:1})),s=l(P(e,{weekStartsOn:1}));break;case"1M":a=d(c(e)),s=l(b(e));break;case"3M":a=d(p(e)),s=l(_(e));break;case"6M":e.getMonth()<=5&&(a=new Date(e),a.setMonth(0),a.setDate(1),a=d(a),s=new Date(e),s.setMonth(5),s.setDate(30),s=l(a)),e.getMonth()>5&&(a=new Date(e),a.setMonth(6),a.setDate(1),a=d(a),s=new Date(e),s.setMonth(11),s.setDate(31),s=l(a));break;case"1Y":a=new Date(e),a.setMonth(0),a.setDate(1),a=d(a),s=new Date(e),s.setMonth(11),s.setDate(31),s=l(s);break}return{start:a,end:s}}let D=!1;function pe(t){if(D===!1){const e=t.replace("-","_");D=!0;const a=7*24*60*60*1e3;return console.log('Will load language "'+e+'"'),C.use(B).init({load:"languageOnly",fallbackLng:"en",lng:e,debug:!1,backend:{backends:[x,O],backendOptions:[{load:"languageOnly",expirationTime:a},{loadPath:"./v2/i18n/{{lng}}.json"}]}})}return console.warn("Loading translations skipped."),Promise.resolve()}o.addPlugin(E);window.bootstrapped=!1;window.store=o;fe("lastActivity").then(t=>{const e=o.get("lastActivity");o.set("cacheValid",e===t),o.set("lastActivity",t),console.log("Server value: "+t),console.log("Local value: "+e),console.log("Cache valid: "+(e===t))}).then(()=>{Promise.all([w("viewRange"),w("darkMode"),w("locale"),w("language")]).then(t=>{if(!o.get("start")||!o.get("end")){const e=be(t[0],new Date);o.set("start",e.start),o.set("end",e.end)}window.__localeId__=t[2],o.set("language",t[3]),o.set("locale",t[3]),pe(t[3]).then(()=>{const e=new Event("firefly-iii-bootstrapped");document.dispatchEvent(e),window.bootstrapped=!0})})});window.axios=y;window.axios.defaults.headers.common["X-Requested-With"]="XMLHttpRequest";window.Alpine=T;const f={bg:S,cs:W,da:U,de:I,el:q,enGB:Q,enUS:V,es:Y,ca:$,fi:j,fr:z,hu:X,id:F,it:G,ja:H,ko:J,nb:K,nn:Z,nl:ee,pl:te,ptBR:ae,pt:se,ro:ne,ru:re,sk:le,sl:de,sv:oe,tr:ie,uk:ue,vi:ge,zhTW:ce,zhCN:we};function r(t,e="PP"){let a=window.__localeId__.replace("_","");return L(t,e,{locale:f[a]??f[a.slice(0,2)]??f.enUS})}const Me=()=>({range:{start:null,end:null},defaultRange:{start:null,end:null},language:"en_US",init(){this.range={start:new Date(window.store.get("start")),end:new Date(window.store.get("end"))},this.defaultRange={start:new Date(window.store.get("start")),end:new Date(window.store.get("end"))},this.language=window.store.get("language"),this.locale=window.store.get("locale"),this.locale=this.locale==="equal"?this.language:this.locale,window.__localeId__=this.language,this.buildDateRange(),window.store.observe("start",t=>{this.range.start=new Date(t)}),window.store.observe("end",t=>{this.range.end=new Date(t),this.buildDateRange()})},buildDateRange(){let t=this.getNextRange(),e=this.getPrevRange(),a=this.lastDays(7),s=this.lastDays(30),i=this.mtd(),u=this.ytd(),n=document.getElementsByClassName("daterange-holder")[0];n.textContent=r(this.range.start)+" - "+r(this.range.end),n.setAttribute("data-start",r(this.range.start,"yyyy-MM-dd")),n.setAttribute("data-end",r(this.range.end,"yyyy-MM-dd")),n=document.getElementsByClassName("daterange-current")[0],n.textContent=r(this.defaultRange.start)+" - "+r(this.defaultRange.end),n.setAttribute("data-start",r(this.defaultRange.start,"yyyy-MM-dd")),n.setAttribute("data-end",r(this.defaultRange.end,"yyyy-MM-dd")),n=document.getElementsByClassName("daterange-next")[0],n.textContent=r(t.start)+" - "+r(t.end),n.setAttribute("data-start",r(t.start,"yyyy-MM-dd")),n.setAttribute("data-end",r(t.end,"yyyy-MM-dd")),n=document.getElementsByClassName("daterange-prev")[0],n.textContent=r(e.start)+" - "+r(e.end),n.setAttribute("data-start",r(e.start,"yyyy-MM-dd")),n.setAttribute("data-end",r(e.end,"yyyy-MM-dd")),n=document.getElementsByClassName("daterange-7d")[0],n.setAttribute("data-start",r(a.start,"yyyy-MM-dd")),n.setAttribute("data-end",r(a.end,"yyyy-MM-dd")),n=document.getElementsByClassName("daterange-90d")[0],n.setAttribute("data-start",r(s.start,"yyyy-MM-dd")),n.setAttribute("data-end",r(s.end,"yyyy-MM-dd")),n=document.getElementsByClassName("daterange-mtd")[0],n.setAttribute("data-start",r(i.start,"yyyy-MM-dd")),n.setAttribute("data-end",r(i.end,"yyyy-MM-dd")),n=document.getElementsByClassName("daterange-ytd")[0],n.setAttribute("data-start",r(u.start,"yyyy-MM-dd")),n.setAttribute("data-end",r(u.end,"yyyy-MM-dd"))},getNextRange(){let t=c(this.range.start),e=he(t,1),a=b(e);return{start:e,end:a}},getPrevRange(){let t=c(this.range.start),e=ye(t,1),a=b(e);return{start:e,end:a}},ytd(){let t=new Date;return{start:v(this.range.start),end:t}},mtd(){let t=new Date;return{start:c(this.range.start),end:t}},lastDays(t){let e=new Date;return{start:g(e,t),end:e}},changeDateRange(t){t.preventDefault();let e=t.currentTarget,a=new Date(e.getAttribute("data-start")),s=new Date(e.getAttribute("data-end"));return window.store.set("start",a),window.store.set("end",s),!1}});function De(t,e){let a=window.__localeId__.replace("_","-");return Intl.NumberFormat(a,{style:"currency",currency:e}).format(t)}export{A as P,h as a,r as b,Me as d,De as f,w as g}; +import{q as y,s as d,r as l,t as p,u as _,v as c,w as b,x as N,y as P,z as v,D as g,i as C,E as B,G as x,H as O,J as o,K as E,N as T,f as L,O as S,Q as W,R as U,U as I,V as q,W as Q,X as V,Y,Z as $,_ as j,$ as z,a0 as X,a1 as F,a2 as G,a3 as H,a4 as J,a5 as K,a6 as Z,a7 as ee,a8 as te,a9 as ae,aa as se,ab as ne,ac as re,ad as le,ae as de,af as oe,ag as ie,ah as ue,ai as ge,aj as ce,ak as we,al as he,am as ye}from"./vendor-f5e18451.js";const k="/",h=y.create({baseURL:k,withCredentials:!0});y.defaults.withCredentials=!0;y.defaults.baseURL=k;class R{getByName(e){return h.get("/api/v1/preferences/"+e)}getByNameNow(e){return h.get("/api/v1/preferences/"+e)}postByName(e,a){return h.post("/api/v1/preferences",{name:e,data:a})}}class A{post(e,a){let s="/api/v1/preferences";return h.post(s,{name:e,data:a})}}function fe(t,e=null){return new R().getByName(t).then(s=>Promise.resolve(m(t,s))).catch(()=>{new A().post(t,e).then(i=>Promise.resolve(m(t,i)))})}function m(t,e){return e.data.data.attributes.data}function w(t,e=null){const a=window.store.get("cacheValid");if(a&&window.hasOwnProperty(t))return Promise.resolve(window[t]);const s=window.store.get(t);return a&&typeof s<"u"?Promise.resolve(s):new R().getByName(t).then(u=>Promise.resolve(M(t,u))).catch(()=>{new A().post(t,e).then(n=>Promise.resolve(M(t,n)))})}function M(t,e){let a=e.data.data.attributes.data;return window.store.set(t,a),a}function be(t,e){let a,s;switch(t){case"last365":a=d(g(e,365)),s=l(e);break;case"last90":a=d(g(e,90)),s=l(e);break;case"last30":a=d(g(e,30)),s=l(e);break;case"last7":a=d(g(e,7)),s=l(e);break;case"YTD":a=v(e),s=l(e);break;case"QTD":a=p(e),s=l(e);break;case"MTD":a=c(e),s=l(e);break;case"1D":a=d(e),s=l(e);break;case"1W":a=d(N(e,{weekStartsOn:1})),s=l(P(e,{weekStartsOn:1}));break;case"1M":a=d(c(e)),s=l(b(e));break;case"3M":a=d(p(e)),s=l(_(e));break;case"6M":e.getMonth()<=5&&(a=new Date(e),a.setMonth(0),a.setDate(1),a=d(a),s=new Date(e),s.setMonth(5),s.setDate(30),s=l(a)),e.getMonth()>5&&(a=new Date(e),a.setMonth(6),a.setDate(1),a=d(a),s=new Date(e),s.setMonth(11),s.setDate(31),s=l(a));break;case"1Y":a=new Date(e),a.setMonth(0),a.setDate(1),a=d(a),s=new Date(e),s.setMonth(11),s.setDate(31),s=l(s);break}return{start:a,end:s}}let D=!1;function pe(t){if(D===!1){const e=t.replace("-","_");D=!0;const a=7*24*60*60*1e3;return console.log('Will load language "'+e+'"'),C.use(B).init({load:"languageOnly",fallbackLng:"en",lng:e,debug:!1,backend:{backends:[x,O],backendOptions:[{load:"languageOnly",expirationTime:a},{loadPath:"./v2/i18n/{{lng}}.json"}]}})}return console.warn("Loading translations skipped."),Promise.resolve()}o.addPlugin(E);window.bootstrapped=!1;window.store=o;fe("lastActivity").then(t=>{const e=o.get("lastActivity");o.set("cacheValid",e===t),o.set("lastActivity",t),console.log("Server value: "+t),console.log("Local value: "+e),console.log("Cache valid: "+(e===t))}).then(()=>{Promise.all([w("viewRange"),w("darkMode"),w("locale"),w("language")]).then(t=>{if(!o.get("start")||!o.get("end")){const e=be(t[0],new Date);o.set("start",e.start),o.set("end",e.end)}window.__localeId__=t[2],o.set("language",t[3]),o.set("locale",t[3]),pe(t[3]).then(()=>{const e=new Event("firefly-iii-bootstrapped");document.dispatchEvent(e),window.bootstrapped=!0})})});window.axios=y;window.axios.defaults.headers.common["X-Requested-With"]="XMLHttpRequest";window.Alpine=T;const f={bg:S,cs:W,da:U,de:I,el:q,enGB:Q,enUS:V,es:Y,ca:$,fi:j,fr:z,hu:X,id:F,it:G,ja:H,ko:J,nb:K,nn:Z,nl:ee,pl:te,ptBR:ae,pt:se,ro:ne,ru:re,sk:le,sl:de,sv:oe,tr:ie,uk:ue,vi:ge,zhTW:ce,zhCN:we};function r(t,e="PP"){let a=window.__localeId__.replace("_","");return L(t,e,{locale:f[a]??f[a.slice(0,2)]??f.enUS})}const Me=()=>({range:{start:null,end:null},defaultRange:{start:null,end:null},language:"en_US",init(){this.range={start:new Date(window.store.get("start")),end:new Date(window.store.get("end"))},this.defaultRange={start:new Date(window.store.get("start")),end:new Date(window.store.get("end"))},this.language=window.store.get("language"),this.locale=window.store.get("locale"),this.locale=this.locale==="equal"?this.language:this.locale,window.__localeId__=this.language,this.buildDateRange(),window.store.observe("start",t=>{this.range.start=new Date(t)}),window.store.observe("end",t=>{this.range.end=new Date(t),this.buildDateRange()})},buildDateRange(){let t=this.getNextRange(),e=this.getPrevRange(),a=this.lastDays(7),s=this.lastDays(30),i=this.mtd(),u=this.ytd(),n=document.getElementsByClassName("daterange-holder")[0];n.textContent=r(this.range.start)+" - "+r(this.range.end),n.setAttribute("data-start",r(this.range.start,"yyyy-MM-dd")),n.setAttribute("data-end",r(this.range.end,"yyyy-MM-dd")),n=document.getElementsByClassName("daterange-current")[0],n.textContent=r(this.defaultRange.start)+" - "+r(this.defaultRange.end),n.setAttribute("data-start",r(this.defaultRange.start,"yyyy-MM-dd")),n.setAttribute("data-end",r(this.defaultRange.end,"yyyy-MM-dd")),n=document.getElementsByClassName("daterange-next")[0],n.textContent=r(t.start)+" - "+r(t.end),n.setAttribute("data-start",r(t.start,"yyyy-MM-dd")),n.setAttribute("data-end",r(t.end,"yyyy-MM-dd")),n=document.getElementsByClassName("daterange-prev")[0],n.textContent=r(e.start)+" - "+r(e.end),n.setAttribute("data-start",r(e.start,"yyyy-MM-dd")),n.setAttribute("data-end",r(e.end,"yyyy-MM-dd")),n=document.getElementsByClassName("daterange-7d")[0],n.setAttribute("data-start",r(a.start,"yyyy-MM-dd")),n.setAttribute("data-end",r(a.end,"yyyy-MM-dd")),n=document.getElementsByClassName("daterange-90d")[0],n.setAttribute("data-start",r(s.start,"yyyy-MM-dd")),n.setAttribute("data-end",r(s.end,"yyyy-MM-dd")),n=document.getElementsByClassName("daterange-mtd")[0],n.setAttribute("data-start",r(i.start,"yyyy-MM-dd")),n.setAttribute("data-end",r(i.end,"yyyy-MM-dd")),n=document.getElementsByClassName("daterange-ytd")[0],n.setAttribute("data-start",r(u.start,"yyyy-MM-dd")),n.setAttribute("data-end",r(u.end,"yyyy-MM-dd"))},getNextRange(){let t=c(this.range.start),e=he(t,1),a=b(e);return{start:e,end:a}},getPrevRange(){let t=c(this.range.start),e=ye(t,1),a=b(e);return{start:e,end:a}},ytd(){let t=new Date;return{start:v(this.range.start),end:t}},mtd(){let t=new Date;return{start:c(this.range.start),end:t}},lastDays(t){let e=new Date;return{start:g(e,t),end:e}},changeDateRange(t){t.preventDefault();let e=t.currentTarget,a=new Date(e.getAttribute("data-start")),s=new Date(e.getAttribute("data-end"));return window.store.set("start",a),window.store.set("end",s),!1}});function De(t,e){let a=window.__localeId__.replace("_","-");return Intl.NumberFormat(a,{style:"currency",currency:e}).format(t)}export{A as P,h as a,r as b,Me as d,De as f,w as g}; diff --git a/public/build/assets/get-28b9aa25.js b/public/build/assets/get-0097c30a.js similarity index 81% rename from public/build/assets/get-28b9aa25.js rename to public/build/assets/get-0097c30a.js index 429dc34edc..60853bedc5 100644 --- a/public/build/assets/get-28b9aa25.js +++ b/public/build/assets/get-0097c30a.js @@ -1 +1 @@ -import{a as s}from"./format-money-2e5851ad.js";let t=class{list(a){return s.get("/api/v2/subscriptions",{params:a})}paid(a){return s.get("/api/v2/subscriptions/sum/paid",{params:a})}unpaid(a){return s.get("/api/v2/subscriptions/sum/unpaid",{params:a})}};class e{list(a){return s.get("/api/v2/piggy-banks",{params:a})}}export{t as G,e as a}; +import{a as s}from"./format-money-00d5f4b9.js";let t=class{list(a){return s.get("/api/v2/subscriptions",{params:a})}paid(a){return s.get("/api/v2/subscriptions/sum/paid",{params:a})}unpaid(a){return s.get("/api/v2/subscriptions/sum/unpaid",{params:a})}};class e{list(a){return s.get("/api/v2/piggy-banks",{params:a})}}export{t as G,e as a}; diff --git a/public/build/assets/get-e0a81c64.js b/public/build/assets/get-59bb27e9.js similarity index 75% rename from public/build/assets/get-e0a81c64.js rename to public/build/assets/get-59bb27e9.js index 4d023dbe96..787b555498 100644 --- a/public/build/assets/get-e0a81c64.js +++ b/public/build/assets/get-59bb27e9.js @@ -1 +1 @@ -import{a as t}from"./format-money-2e5851ad.js";class n{list(a){return t.get("/api/v2/transactions",{params:a})}infiniteList(a){return t.get("/api/v2/infinite/transactions",{params:a})}show(a,i){return t.get("/api/v2/transactions/"+a,{params:i})}}export{n as G}; +import{a as t}from"./format-money-00d5f4b9.js";class n{list(a){return t.get("/api/v2/transactions",{params:a})}infiniteList(a){return t.get("/api/v2/infinite/transactions",{params:a})}show(a,i){return t.get("/api/v2/transactions/"+a,{params:i})}}export{n as G}; diff --git a/public/build/assets/get-5b2cde80.js b/public/build/assets/get-5b2cde80.js new file mode 100644 index 0000000000..a98bf09594 --- /dev/null +++ b/public/build/assets/get-5b2cde80.js @@ -0,0 +1 @@ +import{a as s}from"./format-money-00d5f4b9.js";import{f as n}from"./vendor-f5e18451.js";class c{show(a,t){return s.get("/api/v2/accounts/"+a,{params:t})}index(a){return s.get("/api/v2/accounts",{params:a})}transactions(a,t){const r={page:t.page??1};return t.hasOwnProperty("start")&&(r.start=n(t.start,"y-MM-dd")),t.hasOwnProperty("end")&&(r.end=n(t.end,"y-MM-dd")),s.get("/api/v2/accounts/"+a+"/transactions",{params:r})}}export{c as G}; diff --git a/public/build/assets/index-badb0a41.css b/public/build/assets/grid-ff3-theme-badb0a41.css similarity index 100% rename from public/build/assets/index-badb0a41.css rename to public/build/assets/grid-ff3-theme-badb0a41.css diff --git a/public/build/assets/index-90222973.js b/public/build/assets/index-90222973.js deleted file mode 100644 index 281c2a2b7f..0000000000 --- a/public/build/assets/index-90222973.js +++ /dev/null @@ -1 +0,0 @@ -import{b,d as V,f as u}from"./format-money-2e5851ad.js";import{M as E,I as j,f as m,i as d,o as C}from"./vendor-50e42c6c.js";import{P as c}from"./put-bb9ad93a.js";import{G as T}from"./get-e0a81c64.js";class v{init(t){document.addEventListener("cellValueChanged",()=>{console.log("I just realized a cell value has changed.")}),console.log("AmountEditor.init"),this.params=t,this.originalValue=t.value,this.eGui=document.createElement("div"),this.input=document.createElement("input"),this.input.type="number",this.input.min="0",this.input.step="any",this.input.style.overflow="hidden",this.input.style.textOverflow="ellipsis",this.input.autofocus=!0,this.input.value=parseFloat(t.value.amount).toFixed(t.value.decimal_places)}onChange(t){console.log("AmountEditor.onChange"),this.params.onValueChange(t),this.params.stopEditing(t)}afterGuiAttached(){this.input.focus(),this.input.select()}getGui(){return console.log("AmountEditor.getGui"),this.eGui.appendChild(this.input),this.eGui}getValue(){return console.log("AmountEditor.getValue"),this.originalValue.amount=parseFloat(this.input.value),this.submitAmount(this.originalValue),this.originalValue}submitAmount(t){console.log("AmountEditor.submitAmount"),console.log(t);const i=t.amount;console.log('New value for field "amount" in transaction journal #'+t.transaction_journal_id+" of group #"+t.id+' is "'+i+'"');let o={transactions:[{transaction_journal_id:t.transaction_journal_id,amount:i}]};new c().put(o,{id:t.id})}}class x{constructor(){this.type="all",this.rowCount=null,this.sortModel=null}rowCount(){return this.rowCount}getRows(t){console.log("The sort model used is: ",t.sortModel);let i=[];for(let a in t.sortModel)if(t.sortModel.hasOwnProperty(a)){let n=t.sortModel[a];i.push({column:n.colId,direction:n.sort})}new T().infiniteList({start_row:t.startRow,end_row:t.endRow,type:this.type,sorting:i}).then(a=>{this.parseTransactions(a.data.data,t.successCallback),this.rowCount=a.data.meta.pagination.total}).catch(a=>{console.log(a)})}parseTransactions(t,i){let o=[];for(let a in t)if(t.hasOwnProperty(a)){let n=t[a],s=n.attributes.transactions.length>1,f=!0;for(let g in n.attributes.transactions)if(n.attributes.transactions.hasOwnProperty(g)){let r=n.attributes.transactions[g],l={};l.split=s,l.firstSplit=f,l.group_title=n.attributes.group_title,l.created_at=n.attributes.created_at,l.updated_at=n.attributes.updated_at,l.user=n.attributes.user,l.user_group=n.attributes.user_group,l.id=parseInt(n.id),l.transaction_journal_id=parseInt(r.transaction_journal_id),l.description=r.description,l.date=new Date(r.date),l.from={name:r.source_name,id:r.source_id,type:r.source_type},l.to={name:r.destination_name,id:r.destination_id,type:r.destination_type},l.category={name:r.category_name,id:r.category_id},l.budget={name:r.budget_name,id:r.budget_id},l.amount={id:parseInt(n.id),transaction_journal_id:parseInt(r.transaction_journal_id),type:r.type,amount:r.amount,currency_code:r.currency_code,decimal_places:r.currency_decimal_places,foreign_amount:r.foreign_amount,foreign_currency_code:r.foreign_currency_code,foreign_decimal_places:r.foreign_currency_decimal_places},l.icon={classes:"fa fa-solid fa-arrow-left",id:l.id},f=!1,o.push(l)}}return i(o,!1),o}setType(t){this.type=t}}class A{init(t){console.log("DateTimeEditor.init"),this.params=t,this.originalValue=t.value,this.eGui=document.createElement("div"),this.input=document.createElement("input"),this.input.type="datetime-local",this.input.style.overflow="hidden",this.input.style.textOverflow="ellipsis",this.input.value=b(t.value,"yyyy-MM-dd HH:mm")}onChange(t){console.log("DateTimeEditor.onChange"),this.params.onValueChange(t),this.params.stopEditing(t)}afterGuiAttached(){this.input.focus()}getGui(){return console.log("DateTimeEditor.getGui"),this.eGui.appendChild(this.input),this.eGui}getValue(){return console.log("DateTimeEditor.getValue"),this.originalValue=this.input.value,this.originalValue}submitAmount(t){console.log("AmountEditor.submitAmount"),console.log(t);const i=t.amount;console.log('New value for field "amount" in transaction journal #'+t.transaction_journal_id+" of group #"+t.id+' is "'+i+'"');let o={transactions:[{transaction_journal_id:t.transaction_journal_id,amount:i}]};new c().put(o,{id:t.id})}}const _=new x,p=window.location.href.split("/"),M=p[p.length-1];_.setType(M);document.addEventListener("cellEditRequest",()=>{console.log("Loaded through event listener.")});let w;const R=["description","amount","date"],D=e=>{console.log("onCellEditRequestMethod");const t=e.data,i=e.colDef.field;let o=e.newValue;if(!R.includes(i)){console.log("Field "+i+" is not editable.");return}i==="amount"&&(o=e.newValue.amount,console.log("New value is now"+o)),console.log('New value for field "'+i+'" in transaction journal #'+t.transaction_journal_id+" of group #"+t.id+' is "'+o+'"'),t[i]=o,w.getRowNode(String(e.rowIndex)).updateData(t);let n={transactions:[{transaction_journal_id:t.transaction_journal_id}]};n.transactions[0][i]=o,new c().put(n,{id:t.id})};document.addEventListener("cellValueChanged",()=>{console.log("I just realized a cell value has changed.")});document.addEventListener("onCellValueChanged",()=>{console.log("I just realized a cell value has changed.")});const G={rowModelType:"infinite",datasource:_,onCellEditRequest:D,readOnlyEdit:!0,columnDefs:[{field:"icon",editable:!1,headerName:"",sortable:!1,width:40,cellRenderer:function(e){return e.getValue()?'':""}},{field:"description",cellDataType:"text",editable:!0},{field:"amount",editable:function(e){return e.data.amount.foreign_amount===null&&e.data.amount.foreign_currency_code===null},cellEditor:v,cellRenderer(e){if(e.getValue()){let t="",i=parseFloat(e.getValue().amount),o=e.getValue(),a="text-danger";if(o.type==="withdrawal"&&(i=i*-1),o.type==="deposit"&&(a="text-success"),o.type==="transfer"&&(a="text-info"),t+=''+u(i,e.getValue().currency_code)+"",o.foreign_amount){let n=parseFloat(e.getValue().foreign_amount);o.type==="withdrawal"&&(n=n*-1),t+=' ('+u(n,o.foreign_currency_code)+")"}return t}return""}},{field:"date",editable:!0,cellDataType:"date",cellEditor:A,cellEditorPopup:!0,cellEditorPopupPosition:"under",cellRenderer(e){return e.getValue()?m(e.getValue(),d.t("config.date_time_fns_short")):""}},{field:"from",cellDataType:"text",cellRenderer:function(e){if(e.getValue()){let t=e.getValue();return''+t.name+""}return""}},{field:"to",cellDataType:"text",cellRenderer:function(e){if(e.getValue()){let t=e.getValue();return''+t.name+""}return""}},{field:"category",cellDataType:"text",cellRenderer:function(e){if(e.getValue()){let t=e.getValue();if(t.id!==null)return''+t.name+""}return""}},{field:"budget",cellDataType:"text",cellRenderer:function(e){if(e.getValue()){let t=e.getValue();if(t.id!==null)return''+t.name+""}return""}}]};E.registerModules([j]);let P=function(){return{notifications:{error:{show:!1,text:"",url:""},success:{show:!1,text:"",url:""},wait:{show:!1,text:""}},transactions:[],totalPages:1,perPage:50,page:1,tableColumns:{description:{enabled:!0},source:{enabled:!0},destination:{enabled:!0},amount:{enabled:!0}},table:null,formatMoney(e,t){return u(e,t)},format(e){return m(e,d.t("config.date_time_fns"))},init(){this.notifications.wait.show=!0,this.notifications.wait.text=d.t("firefly.wait_loading_data"),w=C(document.querySelector("#grid"),G)},parseTransactions(e){for(let t in e)if(e.hasOwnProperty(t)){let i=e[t],o=i.attributes.transactions.length>1,a=!0;for(let n in i.attributes.transactions)if(i.attributes.transactions.hasOwnProperty(n)){let s=i.attributes.transactions[n];s.split=o,tranaction.icon="fa fa-solid fa-arrow-left",s.firstSplit=a,s.group_title=i.attributes.group_title,s.id=i.id,s.created_at=i.attributes.created_at,s.updated_at=i.attributes.updated_at,s.user=i.attributes.user,s.user_group=i.attributes.user_group,a=!1,this.transactions.push(s)}}this.notifications.wait.show=!1,console.log("refresh!")}}},h={index:P,dates:V};function y(){Object.keys(h).forEach(e=>{console.log(`Loading page component "${e}"`);let t=h[e]();Alpine.data(e,()=>t)}),Alpine.start()}document.addEventListener("firefly-iii-bootstrapped",()=>{console.log("Loaded through event listener."),y()});window.bootstrapped&&(console.log("Loaded through window variable."),y()); diff --git a/public/build/assets/index-943f66ab.js b/public/build/assets/index-943f66ab.js new file mode 100644 index 0000000000..5e4d1ac35a --- /dev/null +++ b/public/build/assets/index-943f66ab.js @@ -0,0 +1 @@ +import{b,d as V,f as u}from"./format-money-00d5f4b9.js";import{M as E,I as j,f as m,i as d,o as T}from"./vendor-f5e18451.js";import{P as c}from"./put-d6ed6223.js";/* empty css */import{G as C}from"./get-59bb27e9.js";class R{init(t){document.addEventListener("cellValueChanged",()=>{console.log("I just realized a cell value has changed.")}),console.log("AmountEditor.init"),this.params=t,this.originalValue=t.value,this.eGui=document.createElement("div"),this.input=document.createElement("input"),this.input.type="number",this.input.min="0",this.input.step="any",this.input.style.overflow="hidden",this.input.style.textOverflow="ellipsis",this.input.autofocus=!0,this.input.value=parseFloat(t.value.amount).toFixed(t.value.decimal_places)}onChange(t){console.log("AmountEditor.onChange"),this.params.onValueChange(t),this.params.stopEditing(t)}afterGuiAttached(){this.input.focus(),this.input.select()}getGui(){return console.log("AmountEditor.getGui"),this.eGui.appendChild(this.input),this.eGui}getValue(){return console.log("AmountEditor.getValue"),this.originalValue.amount=parseFloat(this.input.value),this.submitAmount(this.originalValue),this.originalValue}submitAmount(t){console.log("AmountEditor.submitAmount"),console.log(t);const i=t.amount;console.log('New value for field "amount" in transaction journal #'+t.transaction_journal_id+" of group #"+t.id+' is "'+i+'"');let n={transactions:[{transaction_journal_id:t.transaction_journal_id,amount:i}]};new c().put(n,{id:t.id})}}class x{constructor(){this.type="all",this.rowCount=null,this.sortModel=null}rowCount(){return this.rowCount}getRows(t){console.log("The sort model used is: ",t.sortModel);let i=[];for(let a in t.sortModel)if(t.sortModel.hasOwnProperty(a)){let o=t.sortModel[a];i.push({column:o.colId,direction:o.sort})}new C().infiniteList({start_row:t.startRow,end_row:t.endRow,type:this.type,sorting:i}).then(a=>{this.parseTransactions(a.data.data,t.successCallback),this.rowCount=a.data.meta.pagination.total}).catch(a=>{console.log(a)})}parseTransactions(t,i){let n=[];for(let a in t)if(t.hasOwnProperty(a)){let o=t[a],l=o.attributes.transactions.length>1,f=!0;for(let g in o.attributes.transactions)if(o.attributes.transactions.hasOwnProperty(g)){let r=o.attributes.transactions[g],s={};s.split=l,s.firstSplit=f,s.group_title=o.attributes.group_title,s.created_at=o.attributes.created_at,s.updated_at=o.attributes.updated_at,s.user=o.attributes.user,s.user_group=o.attributes.user_group,s.id=parseInt(o.id),s.transaction_journal_id=parseInt(r.transaction_journal_id),s.description=r.description,s.date=new Date(r.date),s.from={name:r.source_name,id:r.source_id,type:r.source_type},s.to={name:r.destination_name,id:r.destination_id,type:r.destination_type},s.category={name:r.category_name,id:r.category_id},s.budget={name:r.budget_name,id:r.budget_id},s.amount={id:parseInt(o.id),transaction_journal_id:parseInt(r.transaction_journal_id),type:r.type,amount:r.amount,currency_code:r.currency_code,decimal_places:r.currency_decimal_places,foreign_amount:r.foreign_amount,foreign_currency_code:r.foreign_currency_code,foreign_decimal_places:r.foreign_currency_decimal_places},s.icon={classes:"fa fa-solid fa-arrow-left",id:s.id},f=!1,n.push(s)}}return i(n,!1),n}setType(t){this.type=t}}class A{init(t){console.log("DateTimeEditor.init"),this.params=t,this.originalValue=t.value,this.eGui=document.createElement("div"),this.input=document.createElement("input"),this.input.type="datetime-local",this.input.style.overflow="hidden",this.input.style.textOverflow="ellipsis",this.input.value=b(t.value,"yyyy-MM-dd HH:mm")}onChange(t){console.log("DateTimeEditor.onChange"),this.params.onValueChange(t),this.params.stopEditing(t)}afterGuiAttached(){this.input.focus()}getGui(){return console.log("DateTimeEditor.getGui"),this.eGui.appendChild(this.input),this.eGui}getValue(){return console.log("DateTimeEditor.getValue"),this.originalValue=this.input.value,this.originalValue}submitAmount(t){console.log("AmountEditor.submitAmount"),console.log(t);const i=t.amount;console.log('New value for field "amount" in transaction journal #'+t.transaction_journal_id+" of group #"+t.id+' is "'+i+'"');let n={transactions:[{transaction_journal_id:t.transaction_journal_id,amount:i}]};new c().put(n,{id:t.id})}}const _=new x,p=window.location.href.split("/"),M=p[p.length-1];_.setType(M);let w;const D=["description","amount","date"],G=e=>{console.log("onCellEditRequestMethod");const t=e.data,i=e.colDef.field;let n=e.newValue;if(!D.includes(i)){console.log("Field "+i+" is not editable.");return}i==="amount"&&(n=e.newValue.amount,console.log("New value is now"+n)),console.log('New value for field "'+i+'" in transaction journal #'+t.transaction_journal_id+" of group #"+t.id+' is "'+n+'"'),t[i]=n,w.getRowNode(String(e.rowIndex)).updateData(t);let o={transactions:[{transaction_journal_id:t.transaction_journal_id}]};o.transactions[0][i]=n,new c().put(o,{id:t.id})},P={rowModelType:"infinite",datasource:_,cacheOverflowSize:1,cacheBlockSize:20,onCellEditRequest:G,readOnlyEdit:!0,getRowId:function(e){return console.log("getRowId",e.data.id),e.data.id},columnDefs:[{field:"icon",editable:!1,headerName:"",sortable:!1,width:40,cellRenderer:function(e){return e.getValue()?'':""}},{field:"description",cellDataType:"text",editable:!0},{field:"amount",editable:function(e){return e.data.amount.foreign_amount===null&&e.data.amount.foreign_currency_code===null},cellEditor:R,cellRenderer(e){if(e.getValue()){let t="",i=parseFloat(e.getValue().amount),n=e.getValue(),a="text-danger";if(n.type==="withdrawal"&&(i=i*-1),n.type==="deposit"&&(a="text-success"),n.type==="transfer"&&(a="text-info"),t+=''+u(i,e.getValue().currency_code)+"",n.foreign_amount){let o=parseFloat(e.getValue().foreign_amount);n.type==="withdrawal"&&(o=o*-1),t+=' ('+u(o,n.foreign_currency_code)+")"}return t}return""}},{field:"date",editable:!0,cellDataType:"date",cellEditor:A,cellEditorPopup:!0,cellEditorPopupPosition:"under",cellRenderer(e){return e.getValue()?m(e.getValue(),d.t("config.date_time_fns_short")):""}},{field:"from",cellDataType:"text",cellRenderer:function(e){if(e.getValue()){let t=e.getValue();return''+t.name+""}return""}},{field:"to",cellDataType:"text",cellRenderer:function(e){if(e.getValue()){let t=e.getValue();return''+t.name+""}return""}},{field:"category",cellDataType:"text",cellRenderer:function(e){if(e.getValue()){let t=e.getValue();if(t.id!==null)return''+t.name+""}return""}},{field:"budget",cellDataType:"text",cellRenderer:function(e){if(e.getValue()){let t=e.getValue();if(t.id!==null)return''+t.name+""}return""}}]};E.registerModules([j]);let v=function(){return{notifications:{error:{show:!1,text:"",url:""},success:{show:!1,text:"",url:""},wait:{show:!1,text:""}},transactions:[],totalPages:1,perPage:50,page:1,tableColumns:{description:{enabled:!0},source:{enabled:!0},destination:{enabled:!0},amount:{enabled:!0}},table:null,formatMoney(e,t){return u(e,t)},format(e){return m(e,d.t("config.date_time_fns"))},init(){this.notifications.wait.show=!0,this.notifications.wait.text=d.t("firefly.wait_loading_data"),w=T(document.querySelector("#grid"),P)},parseTransactions(e){for(let t in e)if(e.hasOwnProperty(t)){let i=e[t],n=i.attributes.transactions.length>1,a=!0;for(let o in i.attributes.transactions)if(i.attributes.transactions.hasOwnProperty(o)){let l=i.attributes.transactions[o];l.split=n,tranaction.icon="fa fa-solid fa-arrow-left",l.firstSplit=a,l.group_title=i.attributes.group_title,l.id=i.id,l.created_at=i.attributes.created_at,l.updated_at=i.attributes.updated_at,l.user=i.attributes.user,l.user_group=i.attributes.user_group,a=!1,this.transactions.push(l)}}this.notifications.wait.show=!1,console.log("refresh!")}}},h={index:v,dates:V};function y(){Object.keys(h).forEach(e=>{console.log(`Loading page component "${e}"`);let t=h[e]();Alpine.data(e,()=>t)}),Alpine.start()}document.addEventListener("firefly-iii-bootstrapped",()=>{console.log("Loaded through event listener."),y()});window.bootstrapped&&(console.log("Loaded through window variable."),y()); diff --git a/public/build/assets/index-bcaedc78.js b/public/build/assets/index-bcaedc78.js new file mode 100644 index 0000000000..9b63bd093b --- /dev/null +++ b/public/build/assets/index-bcaedc78.js @@ -0,0 +1 @@ +import{d as l,f as d}from"./format-money-00d5f4b9.js";import{f as c,i as o}from"./vendor-f5e18451.js";/* empty css */import{G as f}from"./get-5b2cde80.js";const i=window.location.href.split("/"),u=i[i.length-1];let h=function(){return{notifications:{error:{show:!1,text:"",url:""},success:{show:!1,text:"",url:""},wait:{show:!1,text:""}},totalPages:1,page:1,tableColumns:{name:{enabled:!0}},accounts:[],formatMoney(t,a){return d(t,a)},format(t){return c(t,o.t("config.date_time_fns"))},init(){this.notifications.wait.show=!0,this.notifications.wait.text=o.t("firefly.wait_loading_data"),this.loadAccounts()},loadAccounts(){new f().index({type:u,page:this.page}).then(t=>{for(let a=0;a{console.log(`Loading page component "${t}"`);let a=n[t]();Alpine.data(t,()=>a)}),Alpine.start()}document.addEventListener("firefly-iii-bootstrapped",()=>{console.log("Loaded through event listener."),s()});window.bootstrapped&&(console.log("Loaded through window variable."),s()); diff --git a/public/build/assets/parse-downloaded-splits-83822d1b.js b/public/build/assets/parse-downloaded-splits-9e5b1aaf.js similarity index 91% rename from public/build/assets/parse-downloaded-splits-83822d1b.js rename to public/build/assets/parse-downloaded-splits-9e5b1aaf.js index 73bfaf6392..61a6f001be 100644 --- a/public/build/assets/parse-downloaded-splits-83822d1b.js +++ b/public/build/assets/parse-downloaded-splits-9e5b1aaf.js @@ -1 +1 @@ -import{c as o}from"./create-empty-split-81f71b2e.js";import{f as _}from"./vendor-50e42c6c.js";function l(a,r){let n=[];for(let i in a)if(a.hasOwnProperty(i)){let e=a[i],t=o();t.transaction_journal_id=e.transaction_journal_id,t.transaction_group_id=r,t.bill_id=e.bill_id,t.bill_name=e.bill_name,t.budget_id=e.budget_id,t.budget_name=e.budget_name,t.category_name=e.category_name,t.category_id=e.category_id,t.piggy_bank_id=e.piggy_bank_id,t.piggy_bank_name=e.piggy_bank_name,t.book_date=e.book_date,t.due_date=e.due_date,t.interest_date=e.interest_date,t.invoice_date=e.invoice_date,t.payment_date=e.payment_date,t.process_date=e.process_date,t.external_url=e.external_url,t.internal_reference=e.internal_reference,t.notes=e.notes,t.tags=e.tags,t.amount=parseFloat(e.amount).toFixed(e.currency_decimal_places),t.currency_code=e.currency_code,e.foreign_amount!==null&&(t.forein_currency_code=e.foreign_currency_code,t.foreign_amount=parseFloat(e.foreign_amount).toFixed(e.foreign_currency_decimal_places)),t.date=_(new Date(e.date),"yyyy-MM-dd HH:mm"),t.description=e.description,t.destination_account={id:e.destination_id,name:e.destination_name,type:e.destination_type,alpine_name:e.destination_name},t.source_account={id:e.source_id,name:e.source_name,type:e.source_type,alpine_name:e.source_name},e.latitude!==null&&(t.hasLocation=!0,t.latitude=e.latitude,t.longitude=e.longitude,t.zoomLevel=e.zoom_level),n.push(t)}return n}export{l as p}; +import{c as o}from"./create-empty-split-c97f45c5.js";import{f as _}from"./vendor-f5e18451.js";function l(a,r){let n=[];for(let i in a)if(a.hasOwnProperty(i)){let e=a[i],t=o();t.transaction_journal_id=e.transaction_journal_id,t.transaction_group_id=r,t.bill_id=e.bill_id,t.bill_name=e.bill_name,t.budget_id=e.budget_id,t.budget_name=e.budget_name,t.category_name=e.category_name,t.category_id=e.category_id,t.piggy_bank_id=e.piggy_bank_id,t.piggy_bank_name=e.piggy_bank_name,t.book_date=e.book_date,t.due_date=e.due_date,t.interest_date=e.interest_date,t.invoice_date=e.invoice_date,t.payment_date=e.payment_date,t.process_date=e.process_date,t.external_url=e.external_url,t.internal_reference=e.internal_reference,t.notes=e.notes,t.tags=e.tags,t.amount=parseFloat(e.amount).toFixed(e.currency_decimal_places),t.currency_code=e.currency_code,e.foreign_amount!==null&&(t.forein_currency_code=e.foreign_currency_code,t.foreign_amount=parseFloat(e.foreign_amount).toFixed(e.foreign_currency_decimal_places)),t.date=_(new Date(e.date),"yyyy-MM-dd HH:mm"),t.description=e.description,t.destination_account={id:e.destination_id,name:e.destination_name,type:e.destination_type,alpine_name:e.destination_name},t.source_account={id:e.source_id,name:e.source_name,type:e.source_type,alpine_name:e.source_name},e.latitude!==null&&(t.hasLocation=!0,t.latitude=e.latitude,t.longitude=e.longitude,t.zoomLevel=e.zoom_level),n.push(t)}return n}export{l as p}; diff --git a/public/build/assets/put-bb9ad93a.js b/public/build/assets/put-d6ed6223.js similarity index 55% rename from public/build/assets/put-bb9ad93a.js rename to public/build/assets/put-d6ed6223.js index ff7abb5503..00d1813b8b 100644 --- a/public/build/assets/put-bb9ad93a.js +++ b/public/build/assets/put-d6ed6223.js @@ -1 +1 @@ -import{a as p}from"./format-money-2e5851ad.js";class u{put(t,a){let r="/api/v2/transactions/"+parseInt(a.id);return p.put(r,t)}}export{u as P}; +import{a as p}from"./format-money-00d5f4b9.js";class u{put(t,a){let r="/api/v2/transactions/"+parseInt(a.id);return p.put(r,t)}}export{u as P}; diff --git a/public/build/assets/show-3ef1a32a.js b/public/build/assets/show-63e01089.js similarity index 98% rename from public/build/assets/show-3ef1a32a.js rename to public/build/assets/show-63e01089.js index 4c808947a4..fd1a2f564c 100644 --- a/public/build/assets/show-3ef1a32a.js +++ b/public/build/assets/show-63e01089.js @@ -1 +1 @@ -var y=Object.defineProperty;var w=(i,t,e)=>t in i?y(i,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):i[t]=e;var r=(i,t,e)=>(w(i,typeof t!="symbol"?t+"":t,e),e);import{d as v,f as b}from"./format-money-2e5851ad.js";import{f as g,i as h}from"./vendor-50e42c6c.js";import{G as E}from"./get-e0a81c64.js";import{p as _}from"./parse-downloaded-splits-83822d1b.js";import"./create-empty-split-81f71b2e.js";class l{constructor(t){if(this.constructor===l)throw new Error("It's abstract class");this.context=t}event_show(){this.context.typeElement.hideError(),this.context.typeElement.element.value=this.context.value,this.context.element.dispatchEvent(new CustomEvent("show"))}event_shown(){this.context.element.dispatchEvent(new CustomEvent("shown"))}event_hide(){this.context.element.dispatchEvent(new CustomEvent("hide"))}event_hidden(){this.context.element.dispatchEvent(new CustomEvent("hidden"))}init(){throw new Error("Method `init` not define!")}enable(){throw new Error("Method `enable` not define!")}disable(){throw new Error("Method `disable` not define!")}hide(){throw new Error("Method `hide` not define!")}}class L extends l{init(){this.popover=new bootstrap.Popover(this.context.element,{container:"body",content:this.context.typeElement.create(),html:!0,customClass:"dark-editable",title:this.context.title}),this.context.element.addEventListener("show.bs.popover",()=>{this.event_show()}),this.context.element.addEventListener("shown.bs.popover",()=>{this.event_shown()}),this.context.element.addEventListener("hide.bs.popover",()=>{this.event_hide()}),this.context.element.addEventListener("hidden.bs.popover",()=>{this.event_hidden()}),document.addEventListener("click",t=>{const e=t.target;if(e===this.popover.tip||e===this.context.element)return;let n=e;for(;n=n.parentNode;)if(n===this.popover.tip)return;this.hide()})}enable(){this.popover.enable()}disable(){this.popover.disable()}hide(){this.popover.hide()}}class T extends l{init(){const t=()=>{if(!this.context.disabled){const e=this.context.typeElement.create();this.event_show(),this.context.element.removeEventListener("click",t),this.context.element.innerHTML="",this.context.element.append(e),this.event_shown()}};this.context.element.addEventListener("click",t)}enable(){}disable(){}hide(){this.event_hide(),this.context.element.innerHTML=this.context.value,setTimeout(()=>{this.init(),this.event_hidden()},100)}}class c{constructor(t){r(this,"context",null);r(this,"element",null);r(this,"error",null);r(this,"form",null);r(this,"load",null);r(this,"buttonGroup",null);r(this,"buttons",{success:null,cancel:null});if(this.constructor===c)throw new Error("It's abstract class");this.context=t}create(){throw new Error("Method `create` not define!")}createContainer(t){const e=document.createElement("div");this.element=t,this.error=this.createContainerError(),this.form=this.createContainerForm(),this.load=this.createContainerLoad(),this.buttons.success=this.createButtonSuccess(),this.buttons.cancel=this.createButtonCancel();const n=document.createElement("div");n.classList.add("col-12");const s=document.createElement("label");s.classList.add("visually-hidden"),s.for=t.id,n.append(s,t);const o=document.createElement("div");return o.classList.add("col-12"),this.buttonGroup=this.createButtonGroup(),this.buttonGroup.append(this.buttons.success,this.buttons.cancel),o.append(this.buttonGroup),this.form.append(n,o),e.append(this.error,this.form),e}createButtonGroup(){const t=document.createElement("div");return t.classList.add("btn-group","btn-group-sm"),t}createContainerError(){const t=document.createElement("div");return t.classList.add("text-danger","fst-italic","mb-2","fw-bold"),t.style.display="none",t}createContainerForm(){const t=document.createElement("form");return t.classList.add("row","row-cols-lg-auto","g-3","align-items-center"),t.addEventListener("submit",async e=>{e.preventDefault();const n=this.getValue();if(this.context.send&&this.context.pk&&this.context.url&&this.context.value!==n){this.showLoad();let s;try{const o=await this.ajax(n);o.ok?s=await this.context.success(o,n):s=await this.context.error(o,n)||`${o.status} ${o.statusText}`}catch(o){console.error(o),s=o}s?(this.setError(s),this.showError()):(this.setError(null),this.hideError(),this.context.value=this.getValue(),this.context.modeElement.hide(),this.initText()),this.hideLoad()}else this.context.value=this.getValue(),this.context.modeElement.hide(),this.initText();this.context.element.dispatchEvent(new CustomEvent("save"))}),t}createContainerLoad(){const t=document.createElement("div");t.style.display="none",t.style.position="absolute",t.style.background="white",t.style.width="100%",t.style.height="100%",t.style.top=0,t.style.left=0;const e=document.createElement("div");return e.classList.add("dark-editable-loader"),t.append(e),t}createButton(){const t=document.createElement("button");return t.type="button",t.classList.add("btn","btn-sm"),t.style.color="transparent",t.style.textShadow="0 0 0 white",t}createButtonSuccess(){const t=this.createButton();return t.type="submit",t.classList.add("btn-success"),t.innerHTML="✔",t}createButtonCancel(){const t=this.createButton();t.classList.add("btn-danger");const e=document.createElement("div");return e.innerHTML="✖",t.append(e),t.addEventListener("click",()=>{this.context.modeElement.hide()}),t}hideLoad(){this.load.style.display="none"}showLoad(){this.load.style.display="block"}ajax(t){let e=this.context.url,n,s=!1;console.log(this.context),this.context.options.formType==="journal_description"&&(s=!0,n={transactions:[{transaction_journal_id:this.context.options.journalId,description:t}]}),s===!1&&console.error('Cannot deal with form type "'+this.context.formType+'"');const o={headers:{"Content-Type":"application/json","X-CSRF-TOKEN":document.head.querySelector('meta[name="csrf-token"]').content}};return o.method=this.context.ajaxOptions.method,this.context.options.method&&(o.method=this.context.options.method),o.method==="POST"||this.context.options.method==="PUT"?o.body=JSON.stringify(n):e+="?"+new URLSearchParams(form).toString(),fetch(e,o)}async successResponse(t,e){}async errorResponse(t,e){}setError(t){this.error.innerHTML=t}showError(){this.error.style.display="block"}hideError(){this.error&&(this.error.style.display="none")}createElement(t){const e=document.createElement(t);return console.log(e),e.classList.add("form-control"),this.context.required&&(e.required=this.context.required),this.add_focus(e),e}add_focus(t){this.context.element.addEventListener("shown",function(){t.focus()})}initText(){return this.context.value===""?(this.context.element.innerHTML=this.context.emptytext,!0):(this.context.element.innerHTML=this.context.value,!1)}initOptions(){}getValue(){return this.element.value}}class M extends c{create(){const t=this.createElement("input"),e=this.context.element.id+"_input";return t.type=this.context.type,t.id=e,t.autocomplete="off",t.placeholder=this.context.element.innerText,t.classList.add("form-control","form-control-md"),this.createContainer(t)}}class C extends c{create(){const t=this.createElement("textarea");return this.createContainer(t)}}class k extends c{create(){const t=this.createElement("select");return this.context.source.forEach(e=>{const n=document.createElement("option");n.value=e.value,n.innerHTML=e.text,t.append(n)}),this.createContainer(t)}initText(){if(this.context.element.innerHTML=this.context.emptytext,this.context.value!==""&&this.context.source.length>0)for(const t in this.context.source){const e=this.context.source[t];if(e.value==this.context.value)return this.context.element.innerHTML=e.text,!1}return!0}initOptions(){this.context.get_opt("source",[]),typeof this.context.source=="string"&&this.context.source!==""&&(this.context.source=JSON.parse(this.context.source))}}class f extends c{create(){const t=this.createElement("input");return t.type="date",this.createContainer(t)}initText(){return this.value===""?(this.context.element.innerHTML=this.context.emptytext,!0):(this.context.element.innerHTML=moment(this.context.value).format(this.context.viewformat),!1)}initOptions(){this.context.get_opt("format","YYYY-MM-DD"),this.context.get_opt("viewformat","YYYY-MM-DD")}}class D extends f{create(){const t=this.createElement("input");return t.type="datetime-local",this.createContainer(t)}initOptions(){this.context.get_opt("format","YYYY-MM-DD HH:mm"),this.context.get_opt("viewformat","YYYY-MM-DD HH:mm"),this.context.value=moment(this.context.value).format("YYYY-MM-DDTHH:mm")}}class Y{constructor(t,e={}){r(this,"modeElement",null);r(this,"typeElement",null);r(this,"mode",null);r(this,"type",null);r(this,"emptytext",null);r(this,"viewformat",null);r(this,"pk",null);r(this,"name",null);this.element=t,this.options=e,this.init_options(),this.typeElement=this.route_type(),this.typeElement.initOptions(),this.modeElement=this.route_mode(),this.modeElement.init(),this.init_text(),this.init_style(),this.disabled&&this.disable(),this.element.dispatchEvent(new CustomEvent("init"))}get_opt(t,e){var n,s;return this[t]=((n=this.element.dataset)==null?void 0:n[t])??((s=this.options)==null?void 0:s[t])??e}get_opt_bool(t,e){return this.get_opt(t,e),typeof this[t]!="boolean"&&(this[t]==="true"?this[t]=!0:this[t]==="false"?this[t]=!1:this[t]=e),this[t]}init_options(){var t,e,n,s;this.get_opt("value",this.element.innerHTML),this.get_opt("name",this.element.id),this.get_opt("pk",null),this.get_opt("title",""),this.get_opt("type","text"),this.get_opt("emptytext","Empty"),this.get_opt("mode","popup"),this.get_opt("url",null),this.get_opt("ajaxOptions",{}),this.ajaxOptions=Object.assign({method:"POST",dataType:"text"},this.ajaxOptions),this.get_opt_bool("send",!0),this.get_opt_bool("disabled",!1),this.get_opt_bool("required",!1),(t=this.options)!=null&&t.success&&typeof((e=this.options)==null?void 0:e.success)=="function"&&(this.success=this.options.success),(n=this.options)!=null&&n.error&&typeof((s=this.options)==null?void 0:s.error)=="function"&&(this.error=this.options.error)}init_text(){const t="dark-editable-element-empty";this.element.classList.remove(t),this.typeElement.initText()&&this.element.classList.add(t)}init_style(){this.element.classList.add("dark-editable-element")}route_mode(){switch(this.mode){default:throw new Error(`Mode ${this.mode} not found!`);case"popup":return new L(this);case"inline":return new T(this)}}route_type(){if(this.type.prototype instanceof c)return new this.type(this);if(typeof this.type=="string")switch(this.type){case"text":case"password":case"email":case"url":case"tel":case"number":case"range":case"time":return new M(this);case"textarea":return new C(this);case"select":return new k(this);case"date":return new f(this);case"datetime":return new D(this)}throw new Error("Undefined type")}async success(t,e){return await this.typeElement.successResponse(t,e)}async error(t,e){return await this.typeElement.errorResponse(t,e)}enable(){this.disabled=!1,this.element.classList.remove("dark-editable-element-disabled"),this.modeElement.enable()}disable(){this.disabled=!0,this.element.classList.add("dark-editable-element-disabled"),this.modeElement.enable()}setValue(t){this.value=t,this.init_text()}getValue(){return this.value}}function H(i){const t=parseInt(i.dataset.id),e=parseInt(i.dataset.group),n={pk:e,mode:"inline",url:"./api/v2/transactions/"+e,formType:"journal_description",journalId:t,method:"PUT"};new Y(i,n)}let I=function(){return{notifications:{error:{show:!1,text:"",url:""},success:{show:!1,text:"",url:""},wait:{show:!1,text:""}},groupProperties:{id:0,transactionType:"",transactionTypeTranslated:"",title:"",date:new Date},dateFields:["book_date","due_date","interest_date","invoice_date","payment_date","process_date"],metaFields:["external_id","internal_reference","sepa_batch_id","sepa_ct_id","sepa_ct_op","sepa_db","sepa_country","sepa_cc","sepa_ep","sepa_ci","external_url"],amounts:{},entries:[],pageProperties:{},formatMoney(i,t){return console.log("formatting",i,t),t===""&&(t="EUR"),b(i,t)},format(i){return g(i,h.t("config.date_time_fns"))},init(){this.notifications.wait.show=!0,this.notifications.wait.text=h.t("firefly.wait_loading_data");const i=window.location.href.split("/"),t=parseInt(i[i.length-1]);new E().show(t,{}).then(n=>{const s=n.data.data;this.groupProperties.id=parseInt(s.id),this.groupProperties.transactionType=s.attributes.transactions[0].type,this.groupProperties.transactionTypeTranslated=h.t("firefly."+s.attributes.transactions[0].type),this.groupProperties.title=s.attributes.title??s.attributes.transactions[0].description,this.entries=_(s.attributes.transactions,parseInt(s.id)),this.notifications.wait.show=!1}).then(()=>{for(let s in this.entries)if(this.entries.hasOwnProperty(s)){const o=this.entries[s].currency_code,a=this.entries[s].foreign_currency_code;this.amounts[o]===void 0&&(this.amounts[o]=0,this.amounts[o]+=parseFloat(this.entries[s].amount)),a!==null&&a!==""&&this.amounts[a]===void 0&&(this.amounts[a]=0,this.amounts[a]+=parseFloat(this.entries[s].foreign_amount)),parseInt(s)===0&&(this.groupProperties.date=this.entries[s].date)}const n=document.querySelectorAll(".journal_description");for(const s in n)if(n.hasOwnProperty(s)){const o=n[s];o.addEventListener("save",function(a){parseInt(a.currentTarget.dataset.id);const d=parseInt(a.currentTarget.dataset.group),u=parseInt(a.currentTarget.dataset.length),p=a.currentTarget.textContent;console.log(u),u===1&&(document.querySelector('.group_title[data-group="'+d+'"]').textContent=p,document.querySelector('.group_title_title[data-group="'+d+'"]').textContent=p)}),H(o)}}).catch(n=>{this.notifications.error.show=!0,this.notifications.error.text=n.message})}}},m={show:I,dates:v};function x(){Object.keys(m).forEach(i=>{console.log(`Loading page component "${i}"`);let t=m[i]();Alpine.data(i,()=>t)}),Alpine.start()}document.addEventListener("firefly-iii-bootstrapped",()=>{console.log("Loaded through event listener."),x()});window.bootstrapped&&(console.log("Loaded through window variable."),x()); +var y=Object.defineProperty;var w=(i,t,e)=>t in i?y(i,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):i[t]=e;var r=(i,t,e)=>(w(i,typeof t!="symbol"?t+"":t,e),e);import{d as v,f as b}from"./format-money-00d5f4b9.js";import{f as g,i as h}from"./vendor-f5e18451.js";import{G as E}from"./get-59bb27e9.js";import{p as _}from"./parse-downloaded-splits-9e5b1aaf.js";import"./create-empty-split-c97f45c5.js";class l{constructor(t){if(this.constructor===l)throw new Error("It's abstract class");this.context=t}event_show(){this.context.typeElement.hideError(),this.context.typeElement.element.value=this.context.value,this.context.element.dispatchEvent(new CustomEvent("show"))}event_shown(){this.context.element.dispatchEvent(new CustomEvent("shown"))}event_hide(){this.context.element.dispatchEvent(new CustomEvent("hide"))}event_hidden(){this.context.element.dispatchEvent(new CustomEvent("hidden"))}init(){throw new Error("Method `init` not define!")}enable(){throw new Error("Method `enable` not define!")}disable(){throw new Error("Method `disable` not define!")}hide(){throw new Error("Method `hide` not define!")}}class L extends l{init(){this.popover=new bootstrap.Popover(this.context.element,{container:"body",content:this.context.typeElement.create(),html:!0,customClass:"dark-editable",title:this.context.title}),this.context.element.addEventListener("show.bs.popover",()=>{this.event_show()}),this.context.element.addEventListener("shown.bs.popover",()=>{this.event_shown()}),this.context.element.addEventListener("hide.bs.popover",()=>{this.event_hide()}),this.context.element.addEventListener("hidden.bs.popover",()=>{this.event_hidden()}),document.addEventListener("click",t=>{const e=t.target;if(e===this.popover.tip||e===this.context.element)return;let n=e;for(;n=n.parentNode;)if(n===this.popover.tip)return;this.hide()})}enable(){this.popover.enable()}disable(){this.popover.disable()}hide(){this.popover.hide()}}class T extends l{init(){const t=()=>{if(!this.context.disabled){const e=this.context.typeElement.create();this.event_show(),this.context.element.removeEventListener("click",t),this.context.element.innerHTML="",this.context.element.append(e),this.event_shown()}};this.context.element.addEventListener("click",t)}enable(){}disable(){}hide(){this.event_hide(),this.context.element.innerHTML=this.context.value,setTimeout(()=>{this.init(),this.event_hidden()},100)}}class c{constructor(t){r(this,"context",null);r(this,"element",null);r(this,"error",null);r(this,"form",null);r(this,"load",null);r(this,"buttonGroup",null);r(this,"buttons",{success:null,cancel:null});if(this.constructor===c)throw new Error("It's abstract class");this.context=t}create(){throw new Error("Method `create` not define!")}createContainer(t){const e=document.createElement("div");this.element=t,this.error=this.createContainerError(),this.form=this.createContainerForm(),this.load=this.createContainerLoad(),this.buttons.success=this.createButtonSuccess(),this.buttons.cancel=this.createButtonCancel();const n=document.createElement("div");n.classList.add("col-12");const s=document.createElement("label");s.classList.add("visually-hidden"),s.for=t.id,n.append(s,t);const o=document.createElement("div");return o.classList.add("col-12"),this.buttonGroup=this.createButtonGroup(),this.buttonGroup.append(this.buttons.success,this.buttons.cancel),o.append(this.buttonGroup),this.form.append(n,o),e.append(this.error,this.form),e}createButtonGroup(){const t=document.createElement("div");return t.classList.add("btn-group","btn-group-sm"),t}createContainerError(){const t=document.createElement("div");return t.classList.add("text-danger","fst-italic","mb-2","fw-bold"),t.style.display="none",t}createContainerForm(){const t=document.createElement("form");return t.classList.add("row","row-cols-lg-auto","g-3","align-items-center"),t.addEventListener("submit",async e=>{e.preventDefault();const n=this.getValue();if(this.context.send&&this.context.pk&&this.context.url&&this.context.value!==n){this.showLoad();let s;try{const o=await this.ajax(n);o.ok?s=await this.context.success(o,n):s=await this.context.error(o,n)||`${o.status} ${o.statusText}`}catch(o){console.error(o),s=o}s?(this.setError(s),this.showError()):(this.setError(null),this.hideError(),this.context.value=this.getValue(),this.context.modeElement.hide(),this.initText()),this.hideLoad()}else this.context.value=this.getValue(),this.context.modeElement.hide(),this.initText();this.context.element.dispatchEvent(new CustomEvent("save"))}),t}createContainerLoad(){const t=document.createElement("div");t.style.display="none",t.style.position="absolute",t.style.background="white",t.style.width="100%",t.style.height="100%",t.style.top=0,t.style.left=0;const e=document.createElement("div");return e.classList.add("dark-editable-loader"),t.append(e),t}createButton(){const t=document.createElement("button");return t.type="button",t.classList.add("btn","btn-sm"),t.style.color="transparent",t.style.textShadow="0 0 0 white",t}createButtonSuccess(){const t=this.createButton();return t.type="submit",t.classList.add("btn-success"),t.innerHTML="✔",t}createButtonCancel(){const t=this.createButton();t.classList.add("btn-danger");const e=document.createElement("div");return e.innerHTML="✖",t.append(e),t.addEventListener("click",()=>{this.context.modeElement.hide()}),t}hideLoad(){this.load.style.display="none"}showLoad(){this.load.style.display="block"}ajax(t){let e=this.context.url,n,s=!1;console.log(this.context),this.context.options.formType==="journal_description"&&(s=!0,n={transactions:[{transaction_journal_id:this.context.options.journalId,description:t}]}),s===!1&&console.error('Cannot deal with form type "'+this.context.formType+'"');const o={headers:{"Content-Type":"application/json","X-CSRF-TOKEN":document.head.querySelector('meta[name="csrf-token"]').content}};return o.method=this.context.ajaxOptions.method,this.context.options.method&&(o.method=this.context.options.method),o.method==="POST"||this.context.options.method==="PUT"?o.body=JSON.stringify(n):e+="?"+new URLSearchParams(form).toString(),fetch(e,o)}async successResponse(t,e){}async errorResponse(t,e){}setError(t){this.error.innerHTML=t}showError(){this.error.style.display="block"}hideError(){this.error&&(this.error.style.display="none")}createElement(t){const e=document.createElement(t);return console.log(e),e.classList.add("form-control"),this.context.required&&(e.required=this.context.required),this.add_focus(e),e}add_focus(t){this.context.element.addEventListener("shown",function(){t.focus()})}initText(){return this.context.value===""?(this.context.element.innerHTML=this.context.emptytext,!0):(this.context.element.innerHTML=this.context.value,!1)}initOptions(){}getValue(){return this.element.value}}class M extends c{create(){const t=this.createElement("input"),e=this.context.element.id+"_input";return t.type=this.context.type,t.id=e,t.autocomplete="off",t.placeholder=this.context.element.innerText,t.classList.add("form-control","form-control-md"),this.createContainer(t)}}class C extends c{create(){const t=this.createElement("textarea");return this.createContainer(t)}}class k extends c{create(){const t=this.createElement("select");return this.context.source.forEach(e=>{const n=document.createElement("option");n.value=e.value,n.innerHTML=e.text,t.append(n)}),this.createContainer(t)}initText(){if(this.context.element.innerHTML=this.context.emptytext,this.context.value!==""&&this.context.source.length>0)for(const t in this.context.source){const e=this.context.source[t];if(e.value==this.context.value)return this.context.element.innerHTML=e.text,!1}return!0}initOptions(){this.context.get_opt("source",[]),typeof this.context.source=="string"&&this.context.source!==""&&(this.context.source=JSON.parse(this.context.source))}}class f extends c{create(){const t=this.createElement("input");return t.type="date",this.createContainer(t)}initText(){return this.value===""?(this.context.element.innerHTML=this.context.emptytext,!0):(this.context.element.innerHTML=moment(this.context.value).format(this.context.viewformat),!1)}initOptions(){this.context.get_opt("format","YYYY-MM-DD"),this.context.get_opt("viewformat","YYYY-MM-DD")}}class D extends f{create(){const t=this.createElement("input");return t.type="datetime-local",this.createContainer(t)}initOptions(){this.context.get_opt("format","YYYY-MM-DD HH:mm"),this.context.get_opt("viewformat","YYYY-MM-DD HH:mm"),this.context.value=moment(this.context.value).format("YYYY-MM-DDTHH:mm")}}class Y{constructor(t,e={}){r(this,"modeElement",null);r(this,"typeElement",null);r(this,"mode",null);r(this,"type",null);r(this,"emptytext",null);r(this,"viewformat",null);r(this,"pk",null);r(this,"name",null);this.element=t,this.options=e,this.init_options(),this.typeElement=this.route_type(),this.typeElement.initOptions(),this.modeElement=this.route_mode(),this.modeElement.init(),this.init_text(),this.init_style(),this.disabled&&this.disable(),this.element.dispatchEvent(new CustomEvent("init"))}get_opt(t,e){var n,s;return this[t]=((n=this.element.dataset)==null?void 0:n[t])??((s=this.options)==null?void 0:s[t])??e}get_opt_bool(t,e){return this.get_opt(t,e),typeof this[t]!="boolean"&&(this[t]==="true"?this[t]=!0:this[t]==="false"?this[t]=!1:this[t]=e),this[t]}init_options(){var t,e,n,s;this.get_opt("value",this.element.innerHTML),this.get_opt("name",this.element.id),this.get_opt("pk",null),this.get_opt("title",""),this.get_opt("type","text"),this.get_opt("emptytext","Empty"),this.get_opt("mode","popup"),this.get_opt("url",null),this.get_opt("ajaxOptions",{}),this.ajaxOptions=Object.assign({method:"POST",dataType:"text"},this.ajaxOptions),this.get_opt_bool("send",!0),this.get_opt_bool("disabled",!1),this.get_opt_bool("required",!1),(t=this.options)!=null&&t.success&&typeof((e=this.options)==null?void 0:e.success)=="function"&&(this.success=this.options.success),(n=this.options)!=null&&n.error&&typeof((s=this.options)==null?void 0:s.error)=="function"&&(this.error=this.options.error)}init_text(){const t="dark-editable-element-empty";this.element.classList.remove(t),this.typeElement.initText()&&this.element.classList.add(t)}init_style(){this.element.classList.add("dark-editable-element")}route_mode(){switch(this.mode){default:throw new Error(`Mode ${this.mode} not found!`);case"popup":return new L(this);case"inline":return new T(this)}}route_type(){if(this.type.prototype instanceof c)return new this.type(this);if(typeof this.type=="string")switch(this.type){case"text":case"password":case"email":case"url":case"tel":case"number":case"range":case"time":return new M(this);case"textarea":return new C(this);case"select":return new k(this);case"date":return new f(this);case"datetime":return new D(this)}throw new Error("Undefined type")}async success(t,e){return await this.typeElement.successResponse(t,e)}async error(t,e){return await this.typeElement.errorResponse(t,e)}enable(){this.disabled=!1,this.element.classList.remove("dark-editable-element-disabled"),this.modeElement.enable()}disable(){this.disabled=!0,this.element.classList.add("dark-editable-element-disabled"),this.modeElement.enable()}setValue(t){this.value=t,this.init_text()}getValue(){return this.value}}function H(i){const t=parseInt(i.dataset.id),e=parseInt(i.dataset.group),n={pk:e,mode:"inline",url:"./api/v2/transactions/"+e,formType:"journal_description",journalId:t,method:"PUT"};new Y(i,n)}let I=function(){return{notifications:{error:{show:!1,text:"",url:""},success:{show:!1,text:"",url:""},wait:{show:!1,text:""}},groupProperties:{id:0,transactionType:"",transactionTypeTranslated:"",title:"",date:new Date},dateFields:["book_date","due_date","interest_date","invoice_date","payment_date","process_date"],metaFields:["external_id","internal_reference","sepa_batch_id","sepa_ct_id","sepa_ct_op","sepa_db","sepa_country","sepa_cc","sepa_ep","sepa_ci","external_url"],amounts:{},entries:[],pageProperties:{},formatMoney(i,t){return console.log("formatting",i,t),t===""&&(t="EUR"),b(i,t)},format(i){return g(i,h.t("config.date_time_fns"))},init(){this.notifications.wait.show=!0,this.notifications.wait.text=h.t("firefly.wait_loading_data");const i=window.location.href.split("/"),t=parseInt(i[i.length-1]);new E().show(t,{}).then(n=>{const s=n.data.data;this.groupProperties.id=parseInt(s.id),this.groupProperties.transactionType=s.attributes.transactions[0].type,this.groupProperties.transactionTypeTranslated=h.t("firefly."+s.attributes.transactions[0].type),this.groupProperties.title=s.attributes.title??s.attributes.transactions[0].description,this.entries=_(s.attributes.transactions,parseInt(s.id)),this.notifications.wait.show=!1}).then(()=>{for(let s in this.entries)if(this.entries.hasOwnProperty(s)){const o=this.entries[s].currency_code,a=this.entries[s].foreign_currency_code;this.amounts[o]===void 0&&(this.amounts[o]=0,this.amounts[o]+=parseFloat(this.entries[s].amount)),a!==null&&a!==""&&this.amounts[a]===void 0&&(this.amounts[a]=0,this.amounts[a]+=parseFloat(this.entries[s].foreign_amount)),parseInt(s)===0&&(this.groupProperties.date=this.entries[s].date)}const n=document.querySelectorAll(".journal_description");for(const s in n)if(n.hasOwnProperty(s)){const o=n[s];o.addEventListener("save",function(a){parseInt(a.currentTarget.dataset.id);const d=parseInt(a.currentTarget.dataset.group),u=parseInt(a.currentTarget.dataset.length),p=a.currentTarget.textContent;console.log(u),u===1&&(document.querySelector('.group_title[data-group="'+d+'"]').textContent=p,document.querySelector('.group_title_title[data-group="'+d+'"]').textContent=p)}),H(o)}}).catch(n=>{this.notifications.error.show=!0,this.notifications.error.text=n.message})}}},m={show:I,dates:v};function x(){Object.keys(m).forEach(i=>{console.log(`Loading page component "${i}"`);let t=m[i]();Alpine.data(i,()=>t)}),Alpine.start()}document.addEventListener("firefly-iii-bootstrapped",()=>{console.log("Loaded through event listener."),x()});window.bootstrapped&&(console.log("Loaded through window variable."),x()); diff --git a/public/build/assets/splice-errors-into-transactions-6727b386.js b/public/build/assets/splice-errors-into-transactions-bba1ef64.js similarity index 98% rename from public/build/assets/splice-errors-into-transactions-6727b386.js rename to public/build/assets/splice-errors-into-transactions-bba1ef64.js index 4b2156117c..a847a23a38 100644 --- a/public/build/assets/splice-errors-into-transactions-6727b386.js +++ b/public/build/assets/splice-errors-into-transactions-bba1ef64.js @@ -1 +1 @@ -import{a as l}from"./format-money-2e5851ad.js";import{a as p,G as f}from"./get-28b9aa25.js";import{n as m,i as _}from"./vendor-50e42c6c.js";function x(r,t,a){let n=[];for(let o in r)if(r.hasOwnProperty(o)){const e=r[o];let i=!1,u={};t!==null&&t.hasOwnProperty(o)&&(i=!0,t[o]);let c={};(i&&u.description!==e.description||!i)&&(c.description=e.description),c.source_name=e.source_account.name,c.destination_name=e.destination_account.name,c.amount=e.amount,c.currency_code=e.currency_code,c.date=e.date,c.interest_date=e.interest_date,c.book_date=e.book_date,c.process_date=e.process_date,c.due_date=e.due_date,c.payment_date=e.payment_date,c.invoice_date=e.invoice_date,c.budget_id=e.budget_id,c.category_name=e.category_name,c.piggy_bank_id=e.piggy_bank_id,c.bill_id=e.bill_id,c.tags=e.tags,c.notes=e.notes,c.internal_reference=e.internal_reference,c.external_url=e.external_url,c.store_location=!1,e.hasLocation&&(c.store_location=!0,c.longitude=e.longitude.toString(),c.latitude=e.latitude.toString(),c.zoom_level=e.zoomLevel),typeof e.foreign_currency_code<"u"&&e.foreign_currency_code.toString()!==""&&(c.foreign_currency_code=e.foreign_currency_code,typeof e.foreign_amount<"u"&&e.foreign_amount.toString()!==""&&(c.foreign_amount=e.foreign_amount),(typeof e.foreign_amount>"u"||e.foreign_amount.toString()==="")&&(delete c.foreign_amount,delete c.foreign_currency_code)),typeof e.source_account.id<"u"&&e.source_account.id.toString()!==""&&(c.source_id=e.source_account.id),typeof e.destination_account.id<"u"&&e.destination_account.id.toString()!==""&&(c.destination_id=e.destination_account.id),c.type=a,n.push(c)}return n}let g=class{list(t){return l.get("/api/v2/currencies",{params:t})}};function C(){let r={page:1,limit:1337};return new g().list(r).then(a=>{let n={defaultCurrency:{},nativeCurrencies:[],foreignCurrencies:[],enabledCurrencies:[]};n.foreignCurrencies.push({id:0,name:"(no foreign currency)",code:"",default:!1,symbol:"",decimal_places:2});for(let o in a.data.data)if(a.data.data.hasOwnProperty(o)){let e=a.data.data[o];if(e.attributes.enabled){let i={id:e.id,name:e.attributes.name,code:e.attributes.code,default:e.attributes.default,symbol:e.attributes.symbol,decimal_places:e.attributes.decimal_places};i.default&&(n.defaultCurrency=i),n.enabledCurrencies.push(i),n.nativeCurrencies.push(i),n.foreignCurrencies.push(i)}}return n})}class y{list(t){return l.get("/api/v2/budgets",{params:t})}}function $(){let r={page:1,limit:1337};return new y().list(r).then(a=>{let n=[{id:0,name:"(no budget)"}];for(let o in a.data.data)if(a.data.data.hasOwnProperty(o)){let e=a.data.data[o],i={id:e.id,name:e.attributes.name};n.push(i)}return n})}function O(){let r={page:1,limit:1337};return new p().list(r).then(a=>{let n={0:{id:0,name:"(no group)",order:0,piggyBanks:[{id:0,name:"(no piggy bank)",order:0}]}};for(let o in a.data.data)if(a.data.data.hasOwnProperty(o)){let e=a.data.data[o],i=e.attributes.object_group_id??"0",u=e.attributes.object_group_title??"(no group)",c={id:e.id,name:e.attributes.name,order:e.attributes.order};n.hasOwnProperty(i)||(n[i]={id:i,name:u,order:e.attributes.object_group_order??0,piggyBanks:[]}),n[i].piggyBanks.push(c),n[i].piggyBanks.sort((d,s)=>d.order-s.order)}return Object.keys(n).sort().reduce((o,e)=>(o[e]=n[e],o),{})})}function P(){let r={page:1,limit:1337};return new f().list(r).then(a=>{let n={0:{id:0,name:"(no group)",order:0,subscriptions:[{id:0,name:"(no subscription)",order:0}]}};for(let o in a.data.data)if(a.data.data.hasOwnProperty(o)){let e=a.data.data[o],i=e.attributes.object_group_id??"0",u=e.attributes.object_group_title??"(no group)",c={id:e.id,name:e.attributes.name,order:e.attributes.order};n.hasOwnProperty(i)||(n[i]={id:i,name:u,order:e.attributes.object_group_order??0,subscriptions:[]}),n[i].subscriptions.push(c),n[i].subscriptions.sort((d,s)=>d.order-s.order)}return Object.keys(n).sort().reduce((o,e)=>(o[e]=n[e],o),{})})}function j(){return{description:"/api/v2/autocomplete/transaction-descriptions",account:"/api/v2/autocomplete/accounts",category:"/api/v2/autocomplete/categories",tag:"/api/v2/autocomplete/tags"}}function A(r){const t={server:r.serverUrl,serverParams:{},fetchOptions:{headers:{"X-CSRF-TOKEN":document.head.querySelector('meta[name="csrf-token"]').content}},hiddenInput:!0,highlightTyped:!0,liveServer:!0};typeof r.filters<"u"&&r.filters.length>0&&(t.serverParams.types=r.filters),typeof r.onRenderItem<"u"&&r.onRenderItem!==null&&(t.onRenderItem=r.onRenderItem),r.valueField&&(t.valueField=r.valueField),r.labelField&&(t.labelField=r.labelField),r.onSelectItem&&(t.onSelectItem=r.onSelectItem),r.onChange&&(t.onChange=r.onChange),r.hiddenValue&&(t.hiddenValue=r.hiddenValue),m.init(r.selector,t)}function q(r,t){const a=parseInt(t._searchInput.attributes["data-index"].value);if(typeof r<"u"&&r.name){document.querySelector("#form")._x_dataStack[0].$data.entries[a].category_name=r.name;return}document.querySelector("#form")._x_dataStack[0].$data.entries[a].category_name=t._searchInput.value}function E(r,t){const a=parseInt(t._searchInput.attributes["data-index"].value);if(typeof r<"u"&&r.description){document.querySelector("#form")._x_dataStack[0].$data.entries[a].description=r.description;return}document.querySelector("#form")._x_dataStack[0].$data.entries[a].description=t._searchInput.value}function B(r,t){if(typeof r>"u"){const a=parseInt(t._searchInput.attributes["data-index"].value);if(document.querySelector("#form")._x_dataStack[0].$data.entries[a].destination_account.name===t._searchInput.value){console.warn('Ignore hallucinated destination account name change to "'+t._searchInput.value+'"');return}document.querySelector("#form")._x_dataStack[0].$data.entries[a].destination_account={name:t._searchInput.value,alpine_name:t._searchInput.value},document.querySelector("#form")._x_dataStack[0].changedDestinationAccount()}}function F(r,t){const a=parseInt(t._searchInput.attributes["data-index"].value);document.querySelector("#form")._x_dataStack[0].$data.entries[a].destination_account={id:r.id,name:r.name,alpine_name:r.name,type:r.type,currency_code:r.currency_code},document.querySelector("#form")._x_dataStack[0].changedDestinationAccount()}function G(r,t){if(typeof r>"u"){const a=parseInt(t._searchInput.attributes["data-index"].value);if(document.querySelector("#form")._x_dataStack[0].$data.entries[a].source_account.name===t._searchInput.value)return;document.querySelector("#form")._x_dataStack[0].$data.entries[a].source_account={name:t._searchInput.value,alpine_name:t._searchInput.value},document.querySelector("#form")._x_dataStack[0].changedSourceAccount()}}function R(r,t){const a=parseInt(t._searchInput.attributes["data-index"].value);document.querySelector("#form")._x_dataStack[0].$data.entries[a].source_account={id:r.id,name:r.name,alpine_name:r.name,type:r.type,currency_code:r.currency_code},document.querySelector("#form")._x_dataStack[0].changedSourceAccount()}class h{post(t,a,n){let o="/api/v1/attachments";return l.post(o,{filename:t,attachable_type:a,attachable_id:n})}upload(t,a){let n="./api/v1/attachments/"+t+"/upload";return axios.post(n,a)}}let b=function(r){let t=r.length,a=0,n=!1;for(const o in r)if(r.hasOwnProperty(o)&&/^0$|^[1-9]\d*$/.test(o)&&o<=4294967294&&n===!1){let e=new h;e.post(r[o].name,"TransactionJournal",r[o].journal).then(i=>{let u=parseInt(i.data.data.id);e.upload(u,r[o].content).then(c=>{if(a++,a===t){const d=new CustomEvent("upload-success",{some:"details"});document.dispatchEvent(d)}}).catch(c=>{console.error("Could not upload"),console.error(c),a++;const d=new CustomEvent("upload-failed",{error:c});document.dispatchEvent(d),n=!0})}).catch(i=>{console.error("Could not create upload."),console.error(i),a++;const u=new CustomEvent("upload-failed",{error:i});document.dispatchEvent(u),n=!0})}};function T(r,t){t=t.reverse();let a=[],n=0,o=[],e=document.querySelectorAll('input[name="attachments[]"]');for(const i in e)if(e.hasOwnProperty(i)&&/^0$|^[1-9]\d*$/.test(i)&&i<=4294967294)for(const u in e[i].files)e[i].files.hasOwnProperty(u)&&/^0$|^[1-9]\d*$/.test(u)&&u<=4294967294&&(a.push({journal:t[i].transaction_journal_id,file:e[i].files[u]}),n++);for(const i in a)a.hasOwnProperty(i)&&/^0$|^[1-9]\d*$/.test(i)&&i<=4294967294&&function(u,c){let d=new FileReader;d.onloadend=function(s){s.target.readyState===FileReader.DONE&&(o.push({name:a[c].file.name,journal:a[c].journal,content:new Blob([s.target.result])}),o.length===n&&b(o))},d.readAsArrayBuffer(u.file)}(a[i],i);return n}function v(r,t,a){let n=[];for(let o in a)a.hasOwnProperty(o)&&n.push(a[o].replace(r,t));return n}function D(r,t){let a,n,o;for(const e in r)if(r.hasOwnProperty(e)){if(e==="group_title"){console.error("Cannot handle error in group title.");continue}if(a=parseInt(e.split(".")[1]),n=e.split(".")[2],o=v(e,n,r[e]),!t.hasOwnProperty(a)){console.error("Cannot handle errors in index #"+a);continue}switch(n){case"currency_code":case"foreign_currency_code":case"category_name":case"piggy_bank_id":case"notes":case"internal_reference":case"external_url":case"latitude":case"longitude":case"zoom_level":case"interest_date":case"book_date":case"process_date":case"due_date":case"payment_date":case"invoice_date":case"amount":case"date":case"budget_id":case"bill_id":case"description":case"tags":t[a].errors[n]=o;break;case"source_name":case"source_id":t[a].errors.source_account=t[a].errors.source_account.concat(o);break;case"type":t[a].errors.source_account=t[a].errors.source_account.concat([_.t("validation.bad_type_source")]),t[a].errors.destination_account=t[a].errors.destination_account.concat([_.t("validation.bad_type_destination")]);break;case"destination_name":case"destination_id":t[a].errors.destination_account=t[a].errors.destination_account.concat(o);break;case"foreign_amount":case"foreign_currency_id":t[a].errors.foreign_amount=t[a].errors.foreign_amount.concat(o);break}typeof t[a]<"u"&&(t[a].errors.source_account=Array.from(new Set(t[a].errors.source_account)),t[a].errors.destination_account=Array.from(new Set(t[a].errors.destination_account)))}return console.log(t[0].errors),t}export{$ as a,O as b,P as c,T as d,A as e,G as f,R as g,B as h,F as i,j,q as k,C as l,E as m,x as p,D as s}; +import{a as l}from"./format-money-00d5f4b9.js";import{a as p,G as f}from"./get-0097c30a.js";import{n as m,i as _}from"./vendor-f5e18451.js";function x(r,t,a){let n=[];for(let o in r)if(r.hasOwnProperty(o)){const e=r[o];let i=!1,u={};t!==null&&t.hasOwnProperty(o)&&(i=!0,t[o]);let c={};(i&&u.description!==e.description||!i)&&(c.description=e.description),c.source_name=e.source_account.name,c.destination_name=e.destination_account.name,c.amount=e.amount,c.currency_code=e.currency_code,c.date=e.date,c.interest_date=e.interest_date,c.book_date=e.book_date,c.process_date=e.process_date,c.due_date=e.due_date,c.payment_date=e.payment_date,c.invoice_date=e.invoice_date,c.budget_id=e.budget_id,c.category_name=e.category_name,c.piggy_bank_id=e.piggy_bank_id,c.bill_id=e.bill_id,c.tags=e.tags,c.notes=e.notes,c.internal_reference=e.internal_reference,c.external_url=e.external_url,c.store_location=!1,e.hasLocation&&(c.store_location=!0,c.longitude=e.longitude.toString(),c.latitude=e.latitude.toString(),c.zoom_level=e.zoomLevel),typeof e.foreign_currency_code<"u"&&e.foreign_currency_code.toString()!==""&&(c.foreign_currency_code=e.foreign_currency_code,typeof e.foreign_amount<"u"&&e.foreign_amount.toString()!==""&&(c.foreign_amount=e.foreign_amount),(typeof e.foreign_amount>"u"||e.foreign_amount.toString()==="")&&(delete c.foreign_amount,delete c.foreign_currency_code)),typeof e.source_account.id<"u"&&e.source_account.id.toString()!==""&&(c.source_id=e.source_account.id),typeof e.destination_account.id<"u"&&e.destination_account.id.toString()!==""&&(c.destination_id=e.destination_account.id),c.type=a,n.push(c)}return n}let g=class{list(t){return l.get("/api/v2/currencies",{params:t})}};function C(){let r={page:1,limit:1337};return new g().list(r).then(a=>{let n={defaultCurrency:{},nativeCurrencies:[],foreignCurrencies:[],enabledCurrencies:[]};n.foreignCurrencies.push({id:0,name:"(no foreign currency)",code:"",default:!1,symbol:"",decimal_places:2});for(let o in a.data.data)if(a.data.data.hasOwnProperty(o)){let e=a.data.data[o];if(e.attributes.enabled){let i={id:e.id,name:e.attributes.name,code:e.attributes.code,default:e.attributes.default,symbol:e.attributes.symbol,decimal_places:e.attributes.decimal_places};i.default&&(n.defaultCurrency=i),n.enabledCurrencies.push(i),n.nativeCurrencies.push(i),n.foreignCurrencies.push(i)}}return n})}class y{list(t){return l.get("/api/v2/budgets",{params:t})}}function $(){let r={page:1,limit:1337};return new y().list(r).then(a=>{let n=[{id:0,name:"(no budget)"}];for(let o in a.data.data)if(a.data.data.hasOwnProperty(o)){let e=a.data.data[o],i={id:e.id,name:e.attributes.name};n.push(i)}return n})}function O(){let r={page:1,limit:1337};return new p().list(r).then(a=>{let n={0:{id:0,name:"(no group)",order:0,piggyBanks:[{id:0,name:"(no piggy bank)",order:0}]}};for(let o in a.data.data)if(a.data.data.hasOwnProperty(o)){let e=a.data.data[o],i=e.attributes.object_group_id??"0",u=e.attributes.object_group_title??"(no group)",c={id:e.id,name:e.attributes.name,order:e.attributes.order};n.hasOwnProperty(i)||(n[i]={id:i,name:u,order:e.attributes.object_group_order??0,piggyBanks:[]}),n[i].piggyBanks.push(c),n[i].piggyBanks.sort((d,s)=>d.order-s.order)}return Object.keys(n).sort().reduce((o,e)=>(o[e]=n[e],o),{})})}function P(){let r={page:1,limit:1337};return new f().list(r).then(a=>{let n={0:{id:0,name:"(no group)",order:0,subscriptions:[{id:0,name:"(no subscription)",order:0}]}};for(let o in a.data.data)if(a.data.data.hasOwnProperty(o)){let e=a.data.data[o],i=e.attributes.object_group_id??"0",u=e.attributes.object_group_title??"(no group)",c={id:e.id,name:e.attributes.name,order:e.attributes.order};n.hasOwnProperty(i)||(n[i]={id:i,name:u,order:e.attributes.object_group_order??0,subscriptions:[]}),n[i].subscriptions.push(c),n[i].subscriptions.sort((d,s)=>d.order-s.order)}return Object.keys(n).sort().reduce((o,e)=>(o[e]=n[e],o),{})})}function j(){return{description:"/api/v2/autocomplete/transaction-descriptions",account:"/api/v2/autocomplete/accounts",category:"/api/v2/autocomplete/categories",tag:"/api/v2/autocomplete/tags"}}function A(r){const t={server:r.serverUrl,serverParams:{},fetchOptions:{headers:{"X-CSRF-TOKEN":document.head.querySelector('meta[name="csrf-token"]').content}},hiddenInput:!0,highlightTyped:!0,liveServer:!0};typeof r.filters<"u"&&r.filters.length>0&&(t.serverParams.types=r.filters),typeof r.onRenderItem<"u"&&r.onRenderItem!==null&&(t.onRenderItem=r.onRenderItem),r.valueField&&(t.valueField=r.valueField),r.labelField&&(t.labelField=r.labelField),r.onSelectItem&&(t.onSelectItem=r.onSelectItem),r.onChange&&(t.onChange=r.onChange),r.hiddenValue&&(t.hiddenValue=r.hiddenValue),m.init(r.selector,t)}function q(r,t){const a=parseInt(t._searchInput.attributes["data-index"].value);if(typeof r<"u"&&r.name){document.querySelector("#form")._x_dataStack[0].$data.entries[a].category_name=r.name;return}document.querySelector("#form")._x_dataStack[0].$data.entries[a].category_name=t._searchInput.value}function E(r,t){const a=parseInt(t._searchInput.attributes["data-index"].value);if(typeof r<"u"&&r.description){document.querySelector("#form")._x_dataStack[0].$data.entries[a].description=r.description;return}document.querySelector("#form")._x_dataStack[0].$data.entries[a].description=t._searchInput.value}function B(r,t){if(typeof r>"u"){const a=parseInt(t._searchInput.attributes["data-index"].value);if(document.querySelector("#form")._x_dataStack[0].$data.entries[a].destination_account.name===t._searchInput.value){console.warn('Ignore hallucinated destination account name change to "'+t._searchInput.value+'"');return}document.querySelector("#form")._x_dataStack[0].$data.entries[a].destination_account={name:t._searchInput.value,alpine_name:t._searchInput.value},document.querySelector("#form")._x_dataStack[0].changedDestinationAccount()}}function F(r,t){const a=parseInt(t._searchInput.attributes["data-index"].value);document.querySelector("#form")._x_dataStack[0].$data.entries[a].destination_account={id:r.id,name:r.name,alpine_name:r.name,type:r.type,currency_code:r.currency_code},document.querySelector("#form")._x_dataStack[0].changedDestinationAccount()}function G(r,t){if(typeof r>"u"){const a=parseInt(t._searchInput.attributes["data-index"].value);if(document.querySelector("#form")._x_dataStack[0].$data.entries[a].source_account.name===t._searchInput.value)return;document.querySelector("#form")._x_dataStack[0].$data.entries[a].source_account={name:t._searchInput.value,alpine_name:t._searchInput.value},document.querySelector("#form")._x_dataStack[0].changedSourceAccount()}}function R(r,t){const a=parseInt(t._searchInput.attributes["data-index"].value);document.querySelector("#form")._x_dataStack[0].$data.entries[a].source_account={id:r.id,name:r.name,alpine_name:r.name,type:r.type,currency_code:r.currency_code},document.querySelector("#form")._x_dataStack[0].changedSourceAccount()}class h{post(t,a,n){let o="/api/v1/attachments";return l.post(o,{filename:t,attachable_type:a,attachable_id:n})}upload(t,a){let n="./api/v1/attachments/"+t+"/upload";return axios.post(n,a)}}let b=function(r){let t=r.length,a=0,n=!1;for(const o in r)if(r.hasOwnProperty(o)&&/^0$|^[1-9]\d*$/.test(o)&&o<=4294967294&&n===!1){let e=new h;e.post(r[o].name,"TransactionJournal",r[o].journal).then(i=>{let u=parseInt(i.data.data.id);e.upload(u,r[o].content).then(c=>{if(a++,a===t){const d=new CustomEvent("upload-success",{some:"details"});document.dispatchEvent(d)}}).catch(c=>{console.error("Could not upload"),console.error(c),a++;const d=new CustomEvent("upload-failed",{error:c});document.dispatchEvent(d),n=!0})}).catch(i=>{console.error("Could not create upload."),console.error(i),a++;const u=new CustomEvent("upload-failed",{error:i});document.dispatchEvent(u),n=!0})}};function T(r,t){t=t.reverse();let a=[],n=0,o=[],e=document.querySelectorAll('input[name="attachments[]"]');for(const i in e)if(e.hasOwnProperty(i)&&/^0$|^[1-9]\d*$/.test(i)&&i<=4294967294)for(const u in e[i].files)e[i].files.hasOwnProperty(u)&&/^0$|^[1-9]\d*$/.test(u)&&u<=4294967294&&(a.push({journal:t[i].transaction_journal_id,file:e[i].files[u]}),n++);for(const i in a)a.hasOwnProperty(i)&&/^0$|^[1-9]\d*$/.test(i)&&i<=4294967294&&function(u,c){let d=new FileReader;d.onloadend=function(s){s.target.readyState===FileReader.DONE&&(o.push({name:a[c].file.name,journal:a[c].journal,content:new Blob([s.target.result])}),o.length===n&&b(o))},d.readAsArrayBuffer(u.file)}(a[i],i);return n}function v(r,t,a){let n=[];for(let o in a)a.hasOwnProperty(o)&&n.push(a[o].replace(r,t));return n}function D(r,t){let a,n,o;for(const e in r)if(r.hasOwnProperty(e)){if(e==="group_title"){console.error("Cannot handle error in group title.");continue}if(a=parseInt(e.split(".")[1]),n=e.split(".")[2],o=v(e,n,r[e]),!t.hasOwnProperty(a)){console.error("Cannot handle errors in index #"+a);continue}switch(n){case"currency_code":case"foreign_currency_code":case"category_name":case"piggy_bank_id":case"notes":case"internal_reference":case"external_url":case"latitude":case"longitude":case"zoom_level":case"interest_date":case"book_date":case"process_date":case"due_date":case"payment_date":case"invoice_date":case"amount":case"date":case"budget_id":case"bill_id":case"description":case"tags":t[a].errors[n]=o;break;case"source_name":case"source_id":t[a].errors.source_account=t[a].errors.source_account.concat(o);break;case"type":t[a].errors.source_account=t[a].errors.source_account.concat([_.t("validation.bad_type_source")]),t[a].errors.destination_account=t[a].errors.destination_account.concat([_.t("validation.bad_type_destination")]);break;case"destination_name":case"destination_id":t[a].errors.destination_account=t[a].errors.destination_account.concat(o);break;case"foreign_amount":case"foreign_currency_id":t[a].errors.foreign_amount=t[a].errors.foreign_amount.concat(o);break}typeof t[a]<"u"&&(t[a].errors.source_account=Array.from(new Set(t[a].errors.source_account)),t[a].errors.destination_account=Array.from(new Set(t[a].errors.destination_account)))}return console.log(t[0].errors),t}export{$ as a,O as b,P as c,T as d,A as e,G as f,R as g,B as h,F as i,j,q as k,C as l,E as m,x as p,D as s}; diff --git a/public/build/assets/vendor-52daf6b6.css b/public/build/assets/vendor-52daf6b6.css new file mode 100644 index 0000000000..a8a49b525f --- /dev/null +++ b/public/build/assets/vendor-52daf6b6.css @@ -0,0 +1 @@ +.ag-icon{font-family:var(--ag-icon-font-family);font-weight:var(--ag-icon-font-weight);color:var(--ag-icon-font-color);font-size:var(--ag-icon-size);line-height:var(--ag-icon-size);font-style:normal;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:var(--ag-icon-size);height:var(--ag-icon-size);position:relative}.ag-icon:before{content:""}.ag-icon:after{background:transparent var(--ag-icon-image, none) center/contain no-repeat;display:var(--ag-icon-image-display);opacity:var(--ag-icon-image-opacity, .9);position:absolute;top:0;right:0;bottom:0;left:0;content:""}.ag-icon-aggregation{font-family:var(--ag-icon-font-family-aggregation, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-aggregation, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-aggregation, var(--ag-icon-font-color))}.ag-icon-aggregation:before{content:var(--ag-icon-font-code-aggregation, "");display:var(--ag-icon-font-display-aggregation, var(--ag-icon-font-display))}.ag-icon-aggregation:after{background-image:var(--ag-icon-image-aggregation, var(--ag-icon-image));display:var(--ag-icon-image-display-aggregation, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-aggregation, var(--ag-icon-image-opacity, .9))}.ag-icon-arrows{font-family:var(--ag-icon-font-family-arrows, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-arrows, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-arrows, var(--ag-icon-font-color))}.ag-icon-arrows:before{content:var(--ag-icon-font-code-arrows, "");display:var(--ag-icon-font-display-arrows, var(--ag-icon-font-display))}.ag-icon-arrows:after{background-image:var(--ag-icon-image-arrows, var(--ag-icon-image));display:var(--ag-icon-image-display-arrows, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-arrows, var(--ag-icon-image-opacity, .9))}.ag-icon-asc{font-family:var(--ag-icon-font-family-asc, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-asc, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-asc, var(--ag-icon-font-color))}.ag-icon-asc:before{content:var(--ag-icon-font-code-asc, "");display:var(--ag-icon-font-display-asc, var(--ag-icon-font-display))}.ag-icon-asc:after{background-image:var(--ag-icon-image-asc, var(--ag-icon-image));display:var(--ag-icon-image-display-asc, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-asc, var(--ag-icon-image-opacity, .9))}.ag-icon-cancel{font-family:var(--ag-icon-font-family-cancel, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-cancel, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-cancel, var(--ag-icon-font-color))}.ag-icon-cancel:before{content:var(--ag-icon-font-code-cancel, "");display:var(--ag-icon-font-display-cancel, var(--ag-icon-font-display))}.ag-icon-cancel:after{background-image:var(--ag-icon-image-cancel, var(--ag-icon-image));display:var(--ag-icon-image-display-cancel, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-cancel, var(--ag-icon-image-opacity, .9))}.ag-icon-chart{font-family:var(--ag-icon-font-family-chart, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-chart, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-chart, var(--ag-icon-font-color))}.ag-icon-chart:before{content:var(--ag-icon-font-code-chart, "");display:var(--ag-icon-font-display-chart, var(--ag-icon-font-display))}.ag-icon-chart:after{background-image:var(--ag-icon-image-chart, var(--ag-icon-image));display:var(--ag-icon-image-display-chart, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-chart, var(--ag-icon-image-opacity, .9))}.ag-icon-checkbox-checked{font-family:var(--ag-icon-font-family-checkbox-checked, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-checkbox-checked, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-checkbox-checked, var(--ag-icon-font-color))}.ag-icon-checkbox-checked:before{content:var(--ag-icon-font-code-checkbox-checked, "");display:var(--ag-icon-font-display-checkbox-checked, var(--ag-icon-font-display))}.ag-icon-checkbox-checked:after{background-image:var(--ag-icon-image-checkbox-checked, var(--ag-icon-image));display:var(--ag-icon-image-display-checkbox-checked, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-checkbox-checked, var(--ag-icon-image-opacity, .9))}.ag-icon-checkbox-indeterminate{font-family:var(--ag-icon-font-family-checkbox-indeterminate, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-checkbox-indeterminate, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-checkbox-indeterminate, var(--ag-icon-font-color))}.ag-icon-checkbox-indeterminate:before{content:var(--ag-icon-font-code-checkbox-indeterminate, "");display:var(--ag-icon-font-display-checkbox-indeterminate, var(--ag-icon-font-display))}.ag-icon-checkbox-indeterminate:after{background-image:var(--ag-icon-image-checkbox-indeterminate, var(--ag-icon-image));display:var(--ag-icon-image-display-checkbox-indeterminate, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-checkbox-indeterminate, var(--ag-icon-image-opacity, .9))}.ag-icon-checkbox-unchecked{font-family:var(--ag-icon-font-family-checkbox-unchecked, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-checkbox-unchecked, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-checkbox-unchecked, var(--ag-icon-font-color))}.ag-icon-checkbox-unchecked:before{content:var(--ag-icon-font-code-checkbox-unchecked, "");display:var(--ag-icon-font-display-checkbox-unchecked, var(--ag-icon-font-display))}.ag-icon-checkbox-unchecked:after{background-image:var(--ag-icon-image-checkbox-unchecked, var(--ag-icon-image));display:var(--ag-icon-image-display-checkbox-unchecked, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-checkbox-unchecked, var(--ag-icon-image-opacity, .9))}.ag-icon-color-picker{font-family:var(--ag-icon-font-family-color-picker, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-color-picker, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-color-picker, var(--ag-icon-font-color))}.ag-icon-color-picker:before{content:var(--ag-icon-font-code-color-picker, "");display:var(--ag-icon-font-display-color-picker, var(--ag-icon-font-display))}.ag-icon-color-picker:after{background-image:var(--ag-icon-image-color-picker, var(--ag-icon-image));display:var(--ag-icon-image-display-color-picker, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-color-picker, var(--ag-icon-image-opacity, .9))}.ag-icon-columns{font-family:var(--ag-icon-font-family-columns, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-columns, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-columns, var(--ag-icon-font-color))}.ag-icon-columns:before{content:var(--ag-icon-font-code-columns, "");display:var(--ag-icon-font-display-columns, var(--ag-icon-font-display))}.ag-icon-columns:after{background-image:var(--ag-icon-image-columns, var(--ag-icon-image));display:var(--ag-icon-image-display-columns, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-columns, var(--ag-icon-image-opacity, .9))}.ag-icon-contracted{font-family:var(--ag-icon-font-family-contracted, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-contracted, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-contracted, var(--ag-icon-font-color))}.ag-icon-contracted:before{content:var(--ag-icon-font-code-contracted, "");display:var(--ag-icon-font-display-contracted, var(--ag-icon-font-display))}.ag-icon-contracted:after{background-image:var(--ag-icon-image-contracted, var(--ag-icon-image));display:var(--ag-icon-image-display-contracted, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-contracted, var(--ag-icon-image-opacity, .9))}.ag-icon-copy{font-family:var(--ag-icon-font-family-copy, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-copy, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-copy, var(--ag-icon-font-color))}.ag-icon-copy:before{content:var(--ag-icon-font-code-copy, "");display:var(--ag-icon-font-display-copy, var(--ag-icon-font-display))}.ag-icon-copy:after{background-image:var(--ag-icon-image-copy, var(--ag-icon-image));display:var(--ag-icon-image-display-copy, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-copy, var(--ag-icon-image-opacity, .9))}.ag-icon-cross{font-family:var(--ag-icon-font-family-cross, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-cross, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-cross, var(--ag-icon-font-color))}.ag-icon-cross:before{content:var(--ag-icon-font-code-cross, "");display:var(--ag-icon-font-display-cross, var(--ag-icon-font-display))}.ag-icon-cross:after{background-image:var(--ag-icon-image-cross, var(--ag-icon-image));display:var(--ag-icon-image-display-cross, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-cross, var(--ag-icon-image-opacity, .9))}.ag-icon-csv{font-family:var(--ag-icon-font-family-csv, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-csv, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-csv, var(--ag-icon-font-color))}.ag-icon-csv:before{content:var(--ag-icon-font-code-csv, "");display:var(--ag-icon-font-display-csv, var(--ag-icon-font-display))}.ag-icon-csv:after{background-image:var(--ag-icon-image-csv, var(--ag-icon-image));display:var(--ag-icon-image-display-csv, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-csv, var(--ag-icon-image-opacity, .9))}.ag-icon-cut{font-family:var(--ag-icon-font-family-cut, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-cut, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-cut, var(--ag-icon-font-color))}.ag-icon-cut:before{content:var(--ag-icon-font-code-cut, "");display:var(--ag-icon-font-display-cut, var(--ag-icon-font-display))}.ag-icon-cut:after{background-image:var(--ag-icon-image-cut, var(--ag-icon-image));display:var(--ag-icon-image-display-cut, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-cut, var(--ag-icon-image-opacity, .9))}.ag-icon-desc{font-family:var(--ag-icon-font-family-desc, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-desc, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-desc, var(--ag-icon-font-color))}.ag-icon-desc:before{content:var(--ag-icon-font-code-desc, "");display:var(--ag-icon-font-display-desc, var(--ag-icon-font-display))}.ag-icon-desc:after{background-image:var(--ag-icon-image-desc, var(--ag-icon-image));display:var(--ag-icon-image-display-desc, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-desc, var(--ag-icon-image-opacity, .9))}.ag-icon-excel{font-family:var(--ag-icon-font-family-excel, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-excel, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-excel, var(--ag-icon-font-color))}.ag-icon-excel:before{content:var(--ag-icon-font-code-excel, "");display:var(--ag-icon-font-display-excel, var(--ag-icon-font-display))}.ag-icon-excel:after{background-image:var(--ag-icon-image-excel, var(--ag-icon-image));display:var(--ag-icon-image-display-excel, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-excel, var(--ag-icon-image-opacity, .9))}.ag-icon-expanded{font-family:var(--ag-icon-font-family-expanded, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-expanded, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-expanded, var(--ag-icon-font-color))}.ag-icon-expanded:before{content:var(--ag-icon-font-code-expanded, "");display:var(--ag-icon-font-display-expanded, var(--ag-icon-font-display))}.ag-icon-expanded:after{background-image:var(--ag-icon-image-expanded, var(--ag-icon-image));display:var(--ag-icon-image-display-expanded, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-expanded, var(--ag-icon-image-opacity, .9))}.ag-icon-eye-slash{font-family:var(--ag-icon-font-family-eye-slash, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-eye-slash, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-eye-slash, var(--ag-icon-font-color))}.ag-icon-eye-slash:before{content:var(--ag-icon-font-code-eye-slash, "");display:var(--ag-icon-font-display-eye-slash, var(--ag-icon-font-display))}.ag-icon-eye-slash:after{background-image:var(--ag-icon-image-eye-slash, var(--ag-icon-image));display:var(--ag-icon-image-display-eye-slash, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-eye-slash, var(--ag-icon-image-opacity, .9))}.ag-icon-eye{font-family:var(--ag-icon-font-family-eye, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-eye, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-eye, var(--ag-icon-font-color))}.ag-icon-eye:before{content:var(--ag-icon-font-code-eye, "");display:var(--ag-icon-font-display-eye, var(--ag-icon-font-display))}.ag-icon-eye:after{background-image:var(--ag-icon-image-eye, var(--ag-icon-image));display:var(--ag-icon-image-display-eye, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-eye, var(--ag-icon-image-opacity, .9))}.ag-icon-filter{font-family:var(--ag-icon-font-family-filter, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-filter, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-filter, var(--ag-icon-font-color))}.ag-icon-filter:before{content:var(--ag-icon-font-code-filter, "");display:var(--ag-icon-font-display-filter, var(--ag-icon-font-display))}.ag-icon-filter:after{background-image:var(--ag-icon-image-filter, var(--ag-icon-image));display:var(--ag-icon-image-display-filter, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-filter, var(--ag-icon-image-opacity, .9))}.ag-icon-first{font-family:var(--ag-icon-font-family-first, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-first, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-first, var(--ag-icon-font-color))}.ag-icon-first:before{content:var(--ag-icon-font-code-first, "");display:var(--ag-icon-font-display-first, var(--ag-icon-font-display))}.ag-icon-first:after{background-image:var(--ag-icon-image-first, var(--ag-icon-image));display:var(--ag-icon-image-display-first, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-first, var(--ag-icon-image-opacity, .9))}.ag-icon-grip{font-family:var(--ag-icon-font-family-grip, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-grip, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-grip, var(--ag-icon-font-color))}.ag-icon-grip:before{content:var(--ag-icon-font-code-grip, "");display:var(--ag-icon-font-display-grip, var(--ag-icon-font-display))}.ag-icon-grip:after{background-image:var(--ag-icon-image-grip, var(--ag-icon-image));display:var(--ag-icon-image-display-grip, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-grip, var(--ag-icon-image-opacity, .9))}.ag-icon-group{font-family:var(--ag-icon-font-family-group, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-group, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-group, var(--ag-icon-font-color))}.ag-icon-group:before{content:var(--ag-icon-font-code-group, "");display:var(--ag-icon-font-display-group, var(--ag-icon-font-display))}.ag-icon-group:after{background-image:var(--ag-icon-image-group, var(--ag-icon-image));display:var(--ag-icon-image-display-group, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-group, var(--ag-icon-image-opacity, .9))}.ag-icon-last{font-family:var(--ag-icon-font-family-last, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-last, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-last, var(--ag-icon-font-color))}.ag-icon-last:before{content:var(--ag-icon-font-code-last, "");display:var(--ag-icon-font-display-last, var(--ag-icon-font-display))}.ag-icon-last:after{background-image:var(--ag-icon-image-last, var(--ag-icon-image));display:var(--ag-icon-image-display-last, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-last, var(--ag-icon-image-opacity, .9))}.ag-icon-left{font-family:var(--ag-icon-font-family-left, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-left, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-left, var(--ag-icon-font-color))}.ag-icon-left:before{content:var(--ag-icon-font-code-left, "");display:var(--ag-icon-font-display-left, var(--ag-icon-font-display))}.ag-icon-left:after{background-image:var(--ag-icon-image-left, var(--ag-icon-image));display:var(--ag-icon-image-display-left, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-left, var(--ag-icon-image-opacity, .9))}.ag-icon-linked{font-family:var(--ag-icon-font-family-linked, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-linked, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-linked, var(--ag-icon-font-color))}.ag-icon-linked:before{content:var(--ag-icon-font-code-linked, "");display:var(--ag-icon-font-display-linked, var(--ag-icon-font-display))}.ag-icon-linked:after{background-image:var(--ag-icon-image-linked, var(--ag-icon-image));display:var(--ag-icon-image-display-linked, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-linked, var(--ag-icon-image-opacity, .9))}.ag-icon-loading{font-family:var(--ag-icon-font-family-loading, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-loading, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-loading, var(--ag-icon-font-color))}.ag-icon-loading:before{content:var(--ag-icon-font-code-loading, "");display:var(--ag-icon-font-display-loading, var(--ag-icon-font-display))}.ag-icon-loading:after{background-image:var(--ag-icon-image-loading, var(--ag-icon-image));display:var(--ag-icon-image-display-loading, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-loading, var(--ag-icon-image-opacity, .9))}.ag-icon-maximize{font-family:var(--ag-icon-font-family-maximize, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-maximize, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-maximize, var(--ag-icon-font-color))}.ag-icon-maximize:before{content:var(--ag-icon-font-code-maximize, "");display:var(--ag-icon-font-display-maximize, var(--ag-icon-font-display))}.ag-icon-maximize:after{background-image:var(--ag-icon-image-maximize, var(--ag-icon-image));display:var(--ag-icon-image-display-maximize, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-maximize, var(--ag-icon-image-opacity, .9))}.ag-icon-menu{font-family:var(--ag-icon-font-family-menu, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-menu, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-menu, var(--ag-icon-font-color))}.ag-icon-menu:before{content:var(--ag-icon-font-code-menu, "");display:var(--ag-icon-font-display-menu, var(--ag-icon-font-display))}.ag-icon-menu:after{background-image:var(--ag-icon-image-menu, var(--ag-icon-image));display:var(--ag-icon-image-display-menu, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-menu, var(--ag-icon-image-opacity, .9))}.ag-icon-minimize{font-family:var(--ag-icon-font-family-minimize, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-minimize, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-minimize, var(--ag-icon-font-color))}.ag-icon-minimize:before{content:var(--ag-icon-font-code-minimize, "");display:var(--ag-icon-font-display-minimize, var(--ag-icon-font-display))}.ag-icon-minimize:after{background-image:var(--ag-icon-image-minimize, var(--ag-icon-image));display:var(--ag-icon-image-display-minimize, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-minimize, var(--ag-icon-image-opacity, .9))}.ag-icon-next{font-family:var(--ag-icon-font-family-next, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-next, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-next, var(--ag-icon-font-color))}.ag-icon-next:before{content:var(--ag-icon-font-code-next, "");display:var(--ag-icon-font-display-next, var(--ag-icon-font-display))}.ag-icon-next:after{background-image:var(--ag-icon-image-next, var(--ag-icon-image));display:var(--ag-icon-image-display-next, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-next, var(--ag-icon-image-opacity, .9))}.ag-icon-none{font-family:var(--ag-icon-font-family-none, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-none, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-none, var(--ag-icon-font-color))}.ag-icon-none:before{content:var(--ag-icon-font-code-none, "");display:var(--ag-icon-font-display-none, var(--ag-icon-font-display))}.ag-icon-none:after{background-image:var(--ag-icon-image-none, var(--ag-icon-image));display:var(--ag-icon-image-display-none, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-none, var(--ag-icon-image-opacity, .9))}.ag-icon-not-allowed{font-family:var(--ag-icon-font-family-not-allowed, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-not-allowed, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-not-allowed, var(--ag-icon-font-color))}.ag-icon-not-allowed:before{content:var(--ag-icon-font-code-not-allowed, "");display:var(--ag-icon-font-display-not-allowed, var(--ag-icon-font-display))}.ag-icon-not-allowed:after{background-image:var(--ag-icon-image-not-allowed, var(--ag-icon-image));display:var(--ag-icon-image-display-not-allowed, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-not-allowed, var(--ag-icon-image-opacity, .9))}.ag-icon-paste{font-family:var(--ag-icon-font-family-paste, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-paste, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-paste, var(--ag-icon-font-color))}.ag-icon-paste:before{content:var(--ag-icon-font-code-paste, "");display:var(--ag-icon-font-display-paste, var(--ag-icon-font-display))}.ag-icon-paste:after{background-image:var(--ag-icon-image-paste, var(--ag-icon-image));display:var(--ag-icon-image-display-paste, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-paste, var(--ag-icon-image-opacity, .9))}.ag-icon-pin{font-family:var(--ag-icon-font-family-pin, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-pin, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-pin, var(--ag-icon-font-color))}.ag-icon-pin:before{content:var(--ag-icon-font-code-pin, "");display:var(--ag-icon-font-display-pin, var(--ag-icon-font-display))}.ag-icon-pin:after{background-image:var(--ag-icon-image-pin, var(--ag-icon-image));display:var(--ag-icon-image-display-pin, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-pin, var(--ag-icon-image-opacity, .9))}.ag-icon-pivot{font-family:var(--ag-icon-font-family-pivot, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-pivot, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-pivot, var(--ag-icon-font-color))}.ag-icon-pivot:before{content:var(--ag-icon-font-code-pivot, "");display:var(--ag-icon-font-display-pivot, var(--ag-icon-font-display))}.ag-icon-pivot:after{background-image:var(--ag-icon-image-pivot, var(--ag-icon-image));display:var(--ag-icon-image-display-pivot, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-pivot, var(--ag-icon-image-opacity, .9))}.ag-icon-previous{font-family:var(--ag-icon-font-family-previous, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-previous, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-previous, var(--ag-icon-font-color))}.ag-icon-previous:before{content:var(--ag-icon-font-code-previous, "");display:var(--ag-icon-font-display-previous, var(--ag-icon-font-display))}.ag-icon-previous:after{background-image:var(--ag-icon-image-previous, var(--ag-icon-image));display:var(--ag-icon-image-display-previous, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-previous, var(--ag-icon-image-opacity, .9))}.ag-icon-radio-button-off{font-family:var(--ag-icon-font-family-radio-button-off, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-radio-button-off, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-radio-button-off, var(--ag-icon-font-color))}.ag-icon-radio-button-off:before{content:var(--ag-icon-font-code-radio-button-off, "");display:var(--ag-icon-font-display-radio-button-off, var(--ag-icon-font-display))}.ag-icon-radio-button-off:after{background-image:var(--ag-icon-image-radio-button-off, var(--ag-icon-image));display:var(--ag-icon-image-display-radio-button-off, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-radio-button-off, var(--ag-icon-image-opacity, .9))}.ag-icon-radio-button-on{font-family:var(--ag-icon-font-family-radio-button-on, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-radio-button-on, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-radio-button-on, var(--ag-icon-font-color))}.ag-icon-radio-button-on:before{content:var(--ag-icon-font-code-radio-button-on, "");display:var(--ag-icon-font-display-radio-button-on, var(--ag-icon-font-display))}.ag-icon-radio-button-on:after{background-image:var(--ag-icon-image-radio-button-on, var(--ag-icon-image));display:var(--ag-icon-image-display-radio-button-on, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-radio-button-on, var(--ag-icon-image-opacity, .9))}.ag-icon-right{font-family:var(--ag-icon-font-family-right, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-right, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-right, var(--ag-icon-font-color))}.ag-icon-right:before{content:var(--ag-icon-font-code-right, "");display:var(--ag-icon-font-display-right, var(--ag-icon-font-display))}.ag-icon-right:after{background-image:var(--ag-icon-image-right, var(--ag-icon-image));display:var(--ag-icon-image-display-right, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-right, var(--ag-icon-image-opacity, .9))}.ag-icon-save{font-family:var(--ag-icon-font-family-save, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-save, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-save, var(--ag-icon-font-color))}.ag-icon-save:before{content:var(--ag-icon-font-code-save, "");display:var(--ag-icon-font-display-save, var(--ag-icon-font-display))}.ag-icon-save:after{background-image:var(--ag-icon-image-save, var(--ag-icon-image));display:var(--ag-icon-image-display-save, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-save, var(--ag-icon-image-opacity, .9))}.ag-icon-small-down{font-family:var(--ag-icon-font-family-small-down, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-small-down, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-small-down, var(--ag-icon-font-color))}.ag-icon-small-down:before{content:var(--ag-icon-font-code-small-down, "");display:var(--ag-icon-font-display-small-down, var(--ag-icon-font-display))}.ag-icon-small-down:after{background-image:var(--ag-icon-image-small-down, var(--ag-icon-image));display:var(--ag-icon-image-display-small-down, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-small-down, var(--ag-icon-image-opacity, .9))}.ag-icon-small-left{font-family:var(--ag-icon-font-family-small-left, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-small-left, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-small-left, var(--ag-icon-font-color))}.ag-icon-small-left:before{content:var(--ag-icon-font-code-small-left, "");display:var(--ag-icon-font-display-small-left, var(--ag-icon-font-display))}.ag-icon-small-left:after{background-image:var(--ag-icon-image-small-left, var(--ag-icon-image));display:var(--ag-icon-image-display-small-left, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-small-left, var(--ag-icon-image-opacity, .9))}.ag-icon-small-right{font-family:var(--ag-icon-font-family-small-right, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-small-right, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-small-right, var(--ag-icon-font-color))}.ag-icon-small-right:before{content:var(--ag-icon-font-code-small-right, "");display:var(--ag-icon-font-display-small-right, var(--ag-icon-font-display))}.ag-icon-small-right:after{background-image:var(--ag-icon-image-small-right, var(--ag-icon-image));display:var(--ag-icon-image-display-small-right, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-small-right, var(--ag-icon-image-opacity, .9))}.ag-icon-small-up{font-family:var(--ag-icon-font-family-small-up, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-small-up, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-small-up, var(--ag-icon-font-color))}.ag-icon-small-up:before{content:var(--ag-icon-font-code-small-up, "");display:var(--ag-icon-font-display-small-up, var(--ag-icon-font-display))}.ag-icon-small-up:after{background-image:var(--ag-icon-image-small-up, var(--ag-icon-image));display:var(--ag-icon-image-display-small-up, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-small-up, var(--ag-icon-image-opacity, .9))}.ag-icon-tick{font-family:var(--ag-icon-font-family-tick, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-tick, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-tick, var(--ag-icon-font-color))}.ag-icon-tick:before{content:var(--ag-icon-font-code-tick, "");display:var(--ag-icon-font-display-tick, var(--ag-icon-font-display))}.ag-icon-tick:after{background-image:var(--ag-icon-image-tick, var(--ag-icon-image));display:var(--ag-icon-image-display-tick, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-tick, var(--ag-icon-image-opacity, .9))}.ag-icon-tree-closed{font-family:var(--ag-icon-font-family-tree-closed, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-tree-closed, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-tree-closed, var(--ag-icon-font-color))}.ag-icon-tree-closed:before{content:var(--ag-icon-font-code-tree-closed, "");display:var(--ag-icon-font-display-tree-closed, var(--ag-icon-font-display))}.ag-icon-tree-closed:after{background-image:var(--ag-icon-image-tree-closed, var(--ag-icon-image));display:var(--ag-icon-image-display-tree-closed, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-tree-closed, var(--ag-icon-image-opacity, .9))}.ag-icon-tree-indeterminate{font-family:var(--ag-icon-font-family-tree-indeterminate, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-tree-indeterminate, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-tree-indeterminate, var(--ag-icon-font-color))}.ag-icon-tree-indeterminate:before{content:var(--ag-icon-font-code-tree-indeterminate, "");display:var(--ag-icon-font-display-tree-indeterminate, var(--ag-icon-font-display))}.ag-icon-tree-indeterminate:after{background-image:var(--ag-icon-image-tree-indeterminate, var(--ag-icon-image));display:var(--ag-icon-image-display-tree-indeterminate, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-tree-indeterminate, var(--ag-icon-image-opacity, .9))}.ag-icon-tree-open{font-family:var(--ag-icon-font-family-tree-open, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-tree-open, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-tree-open, var(--ag-icon-font-color))}.ag-icon-tree-open:before{content:var(--ag-icon-font-code-tree-open, "");display:var(--ag-icon-font-display-tree-open, var(--ag-icon-font-display))}.ag-icon-tree-open:after{background-image:var(--ag-icon-image-tree-open, var(--ag-icon-image));display:var(--ag-icon-image-display-tree-open, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-tree-open, var(--ag-icon-image-opacity, .9))}.ag-icon-unlinked{font-family:var(--ag-icon-font-family-unlinked, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-unlinked, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-unlinked, var(--ag-icon-font-color))}.ag-icon-unlinked:before{content:var(--ag-icon-font-code-unlinked, "");display:var(--ag-icon-font-display-unlinked, var(--ag-icon-font-display))}.ag-icon-unlinked:after{background-image:var(--ag-icon-image-unlinked, var(--ag-icon-image));display:var(--ag-icon-image-display-unlinked, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-unlinked, var(--ag-icon-image-opacity, .9))}.ag-icon-up{font-family:var(--ag-icon-font-family-up, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-up, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-up, var(--ag-icon-font-color))}.ag-icon-up:before{content:var(--ag-icon-font-code-up, "");display:var(--ag-icon-font-display-up, var(--ag-icon-font-display))}.ag-icon-up:after{background-image:var(--ag-icon-image-up, var(--ag-icon-image));display:var(--ag-icon-image-display-up, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-up, var(--ag-icon-image-opacity, .9))}.ag-icon-down{font-family:var(--ag-icon-font-family-down, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-down, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-down, var(--ag-icon-font-color))}.ag-icon-down:before{content:var(--ag-icon-font-code-down, "");display:var(--ag-icon-font-display-down, var(--ag-icon-font-display))}.ag-icon-down:after{background-image:var(--ag-icon-image-down, var(--ag-icon-image));display:var(--ag-icon-image-display-down, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-down, var(--ag-icon-image-opacity, .9))}.ag-icon-plus{font-family:var(--ag-icon-font-family-plus, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-plus, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-plus, var(--ag-icon-font-color))}.ag-icon-plus:before{content:var(--ag-icon-font-code-plus, "");display:var(--ag-icon-font-display-plus, var(--ag-icon-font-display))}.ag-icon-plus:after{background-image:var(--ag-icon-image-plus, var(--ag-icon-image));display:var(--ag-icon-image-display-plus, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-plus, var(--ag-icon-image-opacity, .9))}.ag-icon-minus{font-family:var(--ag-icon-font-family-minus, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-minus, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-minus, var(--ag-icon-font-color))}.ag-icon-minus:before{content:var(--ag-icon-font-code-minus, "");display:var(--ag-icon-font-display-minus, var(--ag-icon-font-display))}.ag-icon-minus:after{background-image:var(--ag-icon-image-minus, var(--ag-icon-image));display:var(--ag-icon-image-display-minus, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-minus, var(--ag-icon-image-opacity, .9))}.ag-icon-menu-alt{font-family:var(--ag-icon-font-family-menu-alt, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-menu-alt, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-menu-alt, var(--ag-icon-font-color))}.ag-icon-menu-alt:before{content:var(--ag-icon-font-code-menu-alt, "");display:var(--ag-icon-font-display-menu-alt, var(--ag-icon-font-display))}.ag-icon-menu-alt:after{background-image:var(--ag-icon-image-menu-alt, var(--ag-icon-image));display:var(--ag-icon-image-display-menu-alt, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-menu-alt, var(--ag-icon-image-opacity, .9))}.ag-icon-row-drag:before{content:var(--ag-icon-font-code-grip)}.ag-left-arrow:before{content:var(--ag-icon-font-code-left)}.ag-right-arrow:before{content:var(--ag-icon-font-code-right)}[class*=ag-theme-]{--ag-foreground-color: #000;--ag-data-color: var(--ag-foreground-color);--ag-secondary-foreground-color: var(--ag-foreground-color);--ag-header-foreground-color: var(--ag-secondary-foreground-color);--ag-disabled-foreground-color: rgba(0, 0, 0, .5);--ag-background-color: #fff;--ag-header-background-color: transparent;--ag-tooltip-background-color: transparent;--ag-subheader-background-color: transparent;--ag-subheader-toolbar-background-color: transparent;--ag-control-panel-background-color: transparent;--ag-side-button-selected-background-color: var(--ag-control-panel-background-color);--ag-selected-row-background-color: #BBB;--ag-odd-row-background-color: var(--ag-background-color);--ag-modal-overlay-background-color: rgba(255, 255, 255, .66);--ag-menu-background-color: var(--ag-background-color);--ag-menu-border-color: var(--ag-border-color);--ag-panel-background-color: var(--ag-background-color);--ag-panel-border-color: var(--ag-border-color);--ag-row-hover-color: transparent;--ag-column-hover-color: transparent;--ag-range-selection-border-color: var(--ag-foreground-color);--ag-range-selection-border-style: solid;--ag-range-selection-background-color: rgba(0, 0, 0, .2);--ag-range-selection-background-color-2: var(--ag-range-selection-background-color);--ag-range-selection-background-color-3: var(--ag-range-selection-background-color);--ag-range-selection-background-color-4: var(--ag-range-selection-background-color);--ag-range-selection-highlight-color: var(--ag-range-selection-border-color);--ag-selected-tab-underline-color: var(--ag-range-selection-border-color);--ag-selected-tab-underline-width: 0;--ag-selected-tab-underline-transition-speed: 0s;--ag-range-selection-chart-category-background-color: rgba(0, 255, 132, .1);--ag-range-selection-chart-background-color: rgba(0, 88, 255, .1);--ag-header-cell-hover-background-color: transparent;--ag-header-cell-moving-background-color: var(--ag-background-color);--ag-value-change-value-highlight-background-color: rgba(22, 160, 133, .5);--ag-value-change-delta-up-color: #43a047;--ag-value-change-delta-down-color: #e53935;--ag-chip-background-color: transparent;--ag-chip-border-color: var(--ag-chip-background-color);--ag-borders: solid 1px;--ag-border-color: rgba(0, 0, 0, .25);--ag-borders-critical: var(--ag-borders);--ag-borders-secondary: var(--ag-borders);--ag-secondary-border-color: var(--ag-border-color);--ag-row-border-style: solid;--ag-row-border-width: 1px;--ag-cell-horizontal-border: solid transparent;--ag-borders-input: var(--ag-borders-secondary);--ag-input-border-color: var(--ag-secondary-border-color);--ag-borders-input-invalid: solid 2px;--ag-input-border-color-invalid: var(--ag-invalid-color);--ag-borders-side-button: var(--ag-borders);--ag-border-radius: 0px;--ag-wrapper-border-radius: var(--ag-border-radius);--ag-row-border-color: var(--ag-secondary-border-color);--ag-header-column-separator-display: none;--ag-header-column-separator-height: 100%;--ag-header-column-separator-width: 1px;--ag-header-column-separator-color: var(--ag-secondary-border-color);--ag-header-column-resize-handle-display: none;--ag-header-column-resize-handle-height: 50%;--ag-header-column-resize-handle-width: 1px;--ag-header-column-resize-handle-color: var(--ag-secondary-border-color);--ag-invalid-color: red;--ag-input-disabled-border-color: var(--ag-input-border-color);--ag-input-disabled-background-color: transparent;--ag-checkbox-background-color: transparent;--ag-checkbox-border-radius: var(--ag-border-radius);--ag-checkbox-checked-color: var(--ag-foreground-color);--ag-checkbox-unchecked-color: var(--ag-foreground-color);--ag-checkbox-indeterminate-color: var(--ag-checkbox-unchecked-color);--ag-toggle-button-off-border-color: var(--ag-checkbox-unchecked-color);--ag-toggle-button-off-background-color: var(--ag-checkbox-unchecked-color);--ag-toggle-button-on-border-color: var(--ag-checkbox-checked-color);--ag-toggle-button-on-background-color: var(--ag-checkbox-checked-color);--ag-toggle-button-switch-background-color: var(--ag-background-color);--ag-toggle-button-switch-border-color: var(--ag-toggle-button-off-border-color);--ag-toggle-button-border-width: 1px;--ag-toggle-button-height: var(--ag-icon-size);--ag-toggle-button-width: calc(var(--ag-toggle-button-height) * 2);--ag-input-focus-box-shadow: none;--ag-input-focus-border-color: none;--ag-minichart-selected-chart-color: var(--ag-checkbox-checked-color);--ag-minichart-selected-page-color: var(--ag-checkbox-checked-color);--ag-grid-size: 4px;--ag-icon-size: 12px;--ag-icon-font-weight: normal;--ag-icon-font-color: var(--ag-foreground-color);--ag-icon-image-display: block;--ag-widget-container-horizontal-padding: calc(var(--ag-grid-size) * 1.5);--ag-widget-container-vertical-padding: calc(var(--ag-grid-size) * 1.5);--ag-widget-horizontal-spacing: calc(var(--ag-grid-size) * 2);--ag-widget-vertical-spacing: var(--ag-grid-size);--ag-cell-horizontal-padding: calc(var(--ag-grid-size) * 3);--ag-cell-widget-spacing: var(--ag-cell-horizontal-padding);--ag-row-height: calc(var(--ag-grid-size) * 6 + 1px);--ag-header-height: var(--ag-row-height);--ag-list-item-height: calc(var(--ag-grid-size) * 5);--ag-column-select-indent-size: calc(var(--ag-grid-size) + var(--ag-icon-size));--ag-set-filter-indent-size: calc(var(--ag-grid-size) + var(--ag-icon-size));--ag-advanced-filter-builder-indent-size: calc(var(--ag-grid-size) * 2 + var(--ag-icon-size));--ag-row-group-indent-size: calc(var(--ag-cell-widget-spacing) + var(--ag-icon-size));--ag-filter-tool-panel-group-indent: 16px;--ag-tab-min-width: 220px;--ag-menu-min-width: 181px;--ag-side-bar-panel-width: 200px;--ag-font-family: "Helvetica Neue", sans-serif;--ag-font-size: 14px;--ag-card-radius: var(--ag-border-radius);--ag-card-shadow: none;--ag-popup-shadow: 5px 5px 10px rgba(0, 0, 0, .3);--ag-advanced-filter-join-pill-color: #f08e8d;--ag-advanced-filter-column-pill-color: #a6e194;--ag-advanced-filter-option-pill-color: #f3c08b;--ag-advanced-filter-value-pill-color: #85c0e4}.ag-root-wrapper,.ag-sticky-top,.ag-dnd-ghost{background-color:var(--ag-background-color)}[class*=ag-theme-]{-webkit-font-smoothing:antialiased;font-family:var(--ag-font-family);font-size:var(--ag-font-size);line-height:normal;color:var(--ag-foreground-color)}ag-grid,ag-grid-angular,ag-grid-ng2,ag-grid-polymer,ag-grid-aurelia{display:block}.ag-aria-description-container{z-index:9999;border:0px;clip:rect(1px,1px,1px,1px);height:1px;width:1px;position:absolute;overflow:hidden;padding:0;white-space:nowrap}.ag-hidden{display:none!important}.ag-invisible{visibility:hidden!important}.ag-no-transition{transition:none!important}.ag-drag-handle{cursor:grab}.ag-column-drop-wrapper{display:flex}.ag-column-drop-horizontal-half-width{display:inline-block;width:50%!important}.ag-unselectable{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.ag-selectable{-moz-user-select:text;-webkit-user-select:text;-ms-user-select:text;user-select:text}.ag-tab{position:relative}.ag-tab-guard{position:absolute;width:0;height:0;display:block}.ag-select-agg-func-popup{position:absolute}.ag-input-wrapper,.ag-picker-field-wrapper{display:flex;flex:1 1 auto;align-items:center;line-height:normal;position:relative}.ag-shake-left-to-right{animation-direction:alternate;animation-duration:.2s;animation-iteration-count:infinite;animation-name:ag-shake-left-to-right}@keyframes ag-shake-left-to-right{0%{padding-left:6px;padding-right:2px}to{padding-left:2px;padding-right:6px}}.ag-root-wrapper{cursor:default;position:relative;display:flex;flex-direction:column;overflow:hidden;white-space:normal}.ag-root-wrapper.ag-layout-normal{height:100%}.ag-watermark{position:absolute;bottom:20px;right:25px;opacity:.7;transition:opacity 1s ease-out 3s;color:#9b9b9b}.ag-watermark:before{content:"";background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjA5IiBoZWlnaHQ9IjM2IiB2aWV3Qm94PSIwIDAgMjA5IDM2IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8cGF0aCBkPSJNMTkyLjk5MyAyMy42NTgyVjE1LjcxMTdIMTc5LjQ1MkwxNzEuNTA1IDIzLjY1ODJIMTkyLjk5M1oiIGZpbGw9IiM5QjlCOUIiLz4KPHBhdGggZD0iTTIwOC4yNSAzLjk1MDgxSDE5MS4yNzZMMTgzLjI2NiAxMS44OTczSDIwOC4yNVYzLjk1MDgxWiIgZmlsbD0iIzlCOUI5QiIvPgo8cGF0aCBkPSJNMTYzLjYyMiAzMS42MDQ4TDE2Ny42OTEgMjcuNTM2MUgxODEuNDIzVjM1LjQ4MjdIMTYzLjYyMlYzMS42MDQ4WiIgZmlsbD0iIzlCOUI5QiIvPgo8cGF0aCBkPSJNMTY2LjYxIDE5Ljc4MDNIMTc1LjM4M0wxODMuMzkzIDExLjgzMzdIMTY2LjYxVjE5Ljc4MDNaIiBmaWxsPSIjOUI5QjlCIi8+CjxwYXRoIGQ9Ik0xNTcuMDExIDMxLjYwNDdIMTYzLjYyMkwxNzEuNTA1IDIzLjY1ODJIMTU3LjAxMVYzMS42MDQ3WiIgZmlsbD0iIzlCOUI5QiIvPgo8cGF0aCBkPSJNMTkxLjI3NiAzLjk1MDgxTDE4Ny4yMDggOC4wMTk0MUgxNjEuMjdWMC4wNzI4NzZIMTkxLjI3NlYzLjk1MDgxWiIgZmlsbD0iIzlCOUI5QiIvPgo8cGF0aCBkPSJNMjAuODM5MSAzMC4yMDYxSDguMzc4OTJMNi4yMTc0NSAzNS41NDYySDAuNzUwMjQ0TDEyLjI1NjggOC41OTE1NUgxNy4wMjQ3TDI4LjUzMTMgMzUuNTQ2MkgyMy4wMDA1TDIwLjgzOTEgMzAuMjA2MVpNMTkuMTIyNyAyNS45NDY4TDE0LjYwOSAxNC45NDg4TDEwLjA5NTQgMjUuOTQ2OEgxOS4xMjI3WiIgZmlsbD0iIzlCOUI5QiIvPgo8cGF0aCBkPSJNMTA0LjQzNyAxOC41MDg5QzEwNi4wMjYgMTYuMTU2NyAxMTAuMDMxIDE1LjkwMjQgMTExLjY4NCAxNS45MDI0VjIwLjQ3OTZDMTA5LjY1IDIwLjQ3OTYgMTA3LjYxNSAyMC41NDMyIDEwNi40MDcgMjEuNDMzMkMxMDUuMiAyMi4zMjMyIDEwNC41NjQgMjMuNTMxMSAxMDQuNTY0IDI0Ljk5MzJWMzUuNTQ2Mkg5OS42MDUxVjE1LjkwMjRIMTA0LjM3M0wxMDQuNDM3IDE4LjUwODlaIiBmaWxsPSIjOUI5QjlCIi8+CjxwYXRoIGQ9Ik0xMTkuMzc2IDE1LjkwMjRIMTE0LjQxOFYzNS41NDYySDExOS4zNzZWMTUuOTAyNFoiIGZpbGw9IiM5QjlCOUIiLz4KPHBhdGggZD0iTTExOS4zNzYgNy4xMjkzOUgxMTQuNDE4VjEyLjk3OEgxMTkuMzc2VjcuMTI5MzlaIiBmaWxsPSIjOUI5QjlCIi8+CjxwYXRoIGQ9Ik0xNDMuOTc5IDcuMTI5MzlWMzUuNTQ2MkgxMzkuMjExTDEzOS4wODQgMzIuNTU4M0MxMzguMzg0IDMzLjU3NTUgMTM3LjQ5NCAzNC40MDE5IDEzNi40MTQgMzUuMDM3NkMxMzUuMzMzIDM1LjYwOTggMTMzLjk5OCAzNS45Mjc2IDEzMi40NzIgMzUuOTI3NkMxMzEuMTM3IDM1LjkyNzYgMTI5Ljg2NiAzNS42NzMzIDEyOC43ODUgMzUuMjI4M0MxMjcuNjQxIDM0LjcxOTcgMTI2LjYyMyAzNC4wODQgMTI1Ljc5NyAzMy4xOTRDMTI0Ljk3MSAzMi4zMDQgMTI0LjI3MSAzMS4yMjMzIDEyMy44MjYgMzAuMDE1NEMxMjMuMzE4IDI4LjgwNzUgMTIzLjEyNyAyNy40MDkgMTIzLjEyNyAyNS44ODMyQzEyMy4xMjcgMjQuMzU3NSAxMjMuMzgxIDIyLjk1ODkgMTIzLjgyNiAyMS42ODc0QzEyNC4zMzUgMjAuNDE2IDEyNC45NzEgMTkuMzM1MyAxMjUuNzk3IDE4LjQ0NTNDMTI2LjYyMyAxNy41NTUyIDEyNy42NDEgMTYuODU2IDEyOC43ODUgMTYuMzQ3NEMxMjkuOTI5IDE1LjgzODggMTMxLjEzNyAxNS41ODQ1IDEzMi40NzIgMTUuNTg0NUMxMzMuOTk4IDE1LjU4NDUgMTM1LjI2OSAxNS44Mzg4IDEzNi4zNSAxNi40MTA5QzEzNy40MzEgMTYuOTgzMSAxMzguMzIxIDE3Ljc0NTkgMTM5LjAyIDE4LjgyNjdWNy4xOTI5NUgxNDMuOTc5VjcuMTI5MzlaTTEzMy41NTMgMzEuNjY4M0MxMzUuMjA2IDMxLjY2ODMgMTM2LjQ3NyAzMS4wOTYyIDEzNy40OTQgMzAuMDE1NEMxMzguNTExIDI4LjkzNDcgMTM5LjAyIDI3LjQ3MjUgMTM5LjAyIDI1LjY5MjVDMTM5LjAyIDIzLjkxMjUgMTM4LjUxMSAyMi41MTM5IDEzNy40OTQgMjEuMzY5NkMxMzYuNDc3IDIwLjI4ODggMTM1LjIwNiAxOS43MTY3IDEzMy41NTMgMTkuNzE2N0MxMzEuOTYzIDE5LjcxNjcgMTMwLjYyOCAyMC4yODg4IDEyOS42NzUgMjEuMzY5NkMxMjguNjU4IDIyLjQ1MDMgMTI4LjE0OSAyMy45MTI1IDEyOC4xNDkgMjUuNjkyNUMxMjguMTQ5IDI3LjQ3MjUgMTI4LjY1OCAyOC44NzExIDEyOS42NzUgMjkuOTUxOEMxMzAuNjkyIDMxLjA5NjEgMTMxLjk2MyAzMS42NjgzIDEzMy41NTMgMzEuNjY4M1oiIGZpbGw9IiM5QjlCOUIiLz4KPHBhdGggZD0iTTU3LjIwMjQgMjAuMzUyNUg0NC45MzNWMjQuNjExOEg1MS45MjU5QzUxLjczNTIgMjYuNzczMyA1MC45MDg4IDI4LjQyNjEgNDkuNTEwMiAyOS43NjExQzQ4LjExMTYgMzEuMDMyNiA0Ni4zMzE1IDMxLjY2ODMgNDQuMDQyOSAzMS42NjgzQzQyLjc3MTUgMzEuNjY4MyA0MS41NjM2IDMxLjQxNCA0MC41NDY1IDMwLjk2OUMzOS40NjU3IDMwLjUyNCAzOC41NzU3IDI5Ljg4ODMgMzcuODEyOSAyOC45OTgzQzM3LjA1IDI4LjE3MTggMzYuNDc3OCAyNy4xNTQ3IDM2LjAzMjggMjUuOTQ2OEMzNS41ODc4IDI0LjczODkgMzUuMzk3MSAyMy40Njc1IDM1LjM5NzEgMjIuMDA1M0MzNS4zOTcxIDIwLjU0MzIgMzUuNTg3OCAxOS4yNzE3IDM2LjAzMjggMTguMDYzOEMzNi40MTQzIDE2Ljg1NiAzNy4wNSAxNS45MDI0IDM3LjgxMjkgMTUuMDEyNEMzOC41NzU3IDE0LjE4NTkgMzkuNDY1NyAxMy41NTAyIDQwLjU0NjUgMTMuMDQxNkM0MS42MjcyIDEyLjU5NjYgNDIuNzcxNSAxMi4zNDIzIDQ0LjEwNjUgMTIuMzQyM0M0Ni43NzY2IDEyLjM0MjMgNDguODEwOSAxMi45NzggNTAuMjA5NSAxNC4yNDk1TDUzLjUxNTIgMTAuOTQzOEM1MS4wMzU5IDkuMDM2NTkgNDcuODU3MyA4LjAxOTQxIDQ0LjEwNjUgOC4wMTk0MUM0Mi4wMDg2IDguMDE5NDEgNDAuMTAxNSA4LjMzNzI5IDM4LjM4NSA5LjAzNjU5QzM2LjY2ODYgOS43MzU4OCAzNS4yMDY0IDEwLjYyNTkgMzMuOTk4NSAxMS44MzM3QzMyLjc5MDYgMTMuMDQxNiAzMS44MzcxIDE0LjUwMzggMzEuMjAxNCAxNi4yMjAzQzMwLjU2NTYgMTcuOTM2NyAzMC4yNDc4IDE5Ljg0MzggMzAuMjQ3OCAyMS44NzgyQzMwLjI0NzggMjMuOTEyNSAzMC41NjU2IDI1LjgxOTcgMzEuMjY0OSAyNy41MzYxQzMxLjk2NDIgMjkuMjUyNiAzMi44NTQyIDMwLjcxNDcgMzQuMDYyMSAzMS45MjI2QzM1LjI3IDMzLjEzMDUgMzYuNzMyMSAzNC4wODQxIDM4LjQ0ODYgMzQuNzE5OEM0MC4xNjUgMzUuNDE5MSA0Mi4wNzIyIDM1LjczNyA0NC4xMDY1IDM1LjczN0M0Ni4xNDA4IDM1LjczNyA0Ny45ODQ0IDM1LjQxOTEgNDkuNjM3MyAzNC43MTk4QzUxLjI5MDIgMzQuMDIwNSA1Mi42ODg4IDMzLjEzMDUgNTMuODMzMSAzMS45MjI2QzU0Ljk3NzQgMzAuNzE0NyA1NS44Njc0IDI5LjI1MjYgNTYuNTAzMSAyNy41MzYxQzU3LjEzODggMjUuODE5NyA1Ny40NTY3IDIzLjkxMjUgNTcuNDU2NyAyMS44NzgyVjIxLjA1MTdDNTcuMjY2IDIwLjkyNDYgNTcuMjAyNCAyMC42MDY3IDU3LjIwMjQgMjAuMzUyNVoiIGZpbGw9IiM5QjlCOUIiLz4KPHBhdGggZD0iTTk1Ljk4MTUgMjAuMzUyNUg4My43MTIxVjI0LjYxMThIOTAuNzA1QzkwLjUxNDMgMjYuNzczMyA4OS42ODc5IDI4LjQyNjEgODguMjg5MyAyOS43NjExQzg2Ljg5MDcgMzEuMDMyNiA4NS4xMTA2IDMxLjY2ODMgODIuODIyIDMxLjY2ODNDODEuNTUwNiAzMS42NjgzIDgwLjM0MjcgMzEuNDE0IDc5LjMyNTYgMzAuOTY5Qzc4LjI0NDggMzAuNTI0IDc3LjM1NDggMjkuODg4MyA3Ni41OTIgMjguOTk4M0M3NS44MjkxIDI4LjE3MTggNzUuMjU3IDI3LjE1NDcgNzQuODExOSAyNS45NDY4Qzc0LjM2NjkgMjQuNzM4OSA3NC4xNzYyIDIzLjQ2NzUgNzQuMTc2MiAyMi4wMDUzQzc0LjE3NjIgMjAuNTQzMiA3NC4zNjY5IDE5LjI3MTcgNzQuODExOSAxOC4wNjM4Qzc1LjE5MzQgMTYuODU2IDc1LjgyOTEgMTUuOTAyNCA3Ni41OTIgMTUuMDEyNEM3Ny4zNTQ4IDE0LjE4NTkgNzguMjQ0OCAxMy41NTAyIDc5LjMyNTYgMTMuMDQxNkM4MC40MDYzIDEyLjU5NjYgODEuNTUwNiAxMi4zNDIzIDgyLjg4NTYgMTIuMzQyM0M4NS41NTU3IDEyLjM0MjMgODcuNTkgMTIuOTc4IDg4Ljk4ODYgMTQuMjQ5NUw5Mi4yOTQzIDEwLjk0MzhDODkuODE1IDkuMDM2NTkgODYuNjM2NCA4LjAxOTQxIDgyLjg4NTYgOC4wMTk0MUM4MC43ODc4IDguMDE5NDEgNzguODgwNiA4LjMzNzI5IDc3LjE2NDEgOS4wMzY1OUM3NS40NDc3IDkuNzM1ODggNzMuOTg1NSAxMC42MjU5IDcyLjc3NzYgMTEuODMzN0M3MS41Njk4IDEzLjA0MTYgNzAuNjE2MiAxNC41MDM4IDY5Ljk4MDUgMTYuMjIwM0M2OS4zNDQ3IDE3LjkzNjcgNjkuMDI2OSAxOS44NDM4IDY5LjAyNjkgMjEuODc4MkM2OS4wMjY5IDIzLjkxMjUgNjkuMzQ0NyAyNS44MTk3IDcwLjA0NCAyNy41MzYxQzcwLjc0MzMgMjkuMjUyNiA3MS42MzM0IDMwLjcxNDcgNzIuODQxMiAzMS45MjI2Qzc0LjA0OTEgMzMuMTMwNSA3NS41MTEyIDM0LjA4NDEgNzcuMjI3NyAzNC43MTk4Qzc4Ljk0NDEgMzUuNDE5MSA4MC44NTEzIDM1LjczNyA4Mi44ODU2IDM1LjczN0M4NC45MiAzNS43MzcgODYuNzYzNiAzNS40MTkxIDg4LjQxNjQgMzQuNzE5OEM5MC4wNjkzIDM0LjAyMDUgOTEuNDY3OSAzMy4xMzA1IDkyLjYxMjIgMzEuOTIyNkM5My43NTY1IDMwLjcxNDcgOTQuNjQ2NSAyOS4yNTI2IDk1LjI4MjIgMjcuNTM2MUM5NS45MTggMjUuODE5NyA5Ni4yMzU4IDIzLjkxMjUgOTYuMjM1OCAyMS44NzgyVjIxLjA1MTdDOTYuMDQ1MSAyMC45MjQ2IDk1Ljk4MTUgMjAuNjA2NyA5NS45ODE1IDIwLjM1MjVaIiBmaWxsPSIjOUI5QjlCIi8+Cjwvc3ZnPgo=);background-repeat:no-repeat;background-size:170px 40px;display:block;height:40px;width:170px}.ag-watermark-text{opacity:.5;font-weight:700;font-family:Impact,sans-serif;font-size:19px;padding-left:.7rem}.ag-root-wrapper-body{display:flex;flex-direction:row}.ag-root-wrapper-body.ag-layout-normal{flex:1 1 auto;height:0;min-height:0}.ag-root{position:relative;display:flex;flex-direction:column}.ag-root.ag-layout-normal,.ag-root.ag-layout-auto-height{overflow:hidden;flex:1 1 auto;width:0}.ag-root.ag-layout-normal{height:100%}.ag-header-viewport,.ag-floating-top-viewport,.ag-body-viewport,.ag-center-cols-viewport,.ag-floating-bottom-viewport,.ag-body-horizontal-scroll-viewport,.ag-body-vertical-scroll-viewport,.ag-virtual-list-viewport,.ag-sticky-top-viewport{position:relative;height:100%;min-width:0px;overflow:hidden;flex:1 1 auto}.ag-body-viewport,.ag-center-cols-viewport{-ms-overflow-style:none!important;scrollbar-width:none!important}.ag-body-viewport::-webkit-scrollbar,.ag-center-cols-viewport::-webkit-scrollbar{display:none!important}.ag-body-viewport{display:flex}.ag-body-viewport.ag-layout-normal{overflow-y:auto;-webkit-overflow-scrolling:touch}.ag-center-cols-viewport{min-height:100%;width:100%;overflow-x:auto}.ag-body-horizontal-scroll-viewport{overflow-x:scroll}.ag-body-vertical-scroll-viewport{overflow-y:scroll}.ag-virtual-list-viewport{overflow:auto;width:100%}.ag-header-container,.ag-floating-top-container,.ag-body-container,.ag-pinned-right-cols-container,.ag-center-cols-container,.ag-pinned-left-cols-container,.ag-floating-bottom-container,.ag-body-horizontal-scroll-container,.ag-body-vertical-scroll-container,.ag-full-width-container,.ag-floating-bottom-full-width-container,.ag-virtual-list-container,.ag-sticky-top-container{position:relative}.ag-header-container,.ag-floating-top-container,.ag-floating-bottom-container,.ag-sticky-top-container{height:100%;white-space:nowrap}.ag-center-cols-container,.ag-pinned-right-cols-container{display:block}.ag-body-horizontal-scroll-container{height:100%}.ag-body-vertical-scroll-container{width:100%}.ag-full-width-container,.ag-floating-top-full-width-container,.ag-floating-bottom-full-width-container,.ag-sticky-top-full-width-container{position:absolute;top:0;pointer-events:none}.ag-ltr .ag-full-width-container,.ag-ltr .ag-floating-top-full-width-container,.ag-ltr .ag-floating-bottom-full-width-container,.ag-ltr .ag-sticky-top-full-width-container{left:0}.ag-rtl .ag-full-width-container,.ag-rtl .ag-floating-top-full-width-container,.ag-rtl .ag-floating-bottom-full-width-container,.ag-rtl .ag-sticky-top-full-width-container{right:0}.ag-full-width-container{width:100%}.ag-floating-bottom-full-width-container,.ag-floating-top-full-width-container{display:inline-block;overflow:hidden;height:100%;width:100%}.ag-virtual-list-container{overflow:hidden}.ag-body{position:relative;display:flex;flex:1 1 auto;flex-direction:row!important;min-height:0}.ag-body-horizontal-scroll,.ag-body-vertical-scroll{min-height:0;min-width:0;display:flex;position:relative}.ag-body-horizontal-scroll.ag-scrollbar-invisible,.ag-body-vertical-scroll.ag-scrollbar-invisible{position:absolute;bottom:0}.ag-body-horizontal-scroll.ag-scrollbar-invisible.ag-apple-scrollbar,.ag-body-vertical-scroll.ag-scrollbar-invisible.ag-apple-scrollbar{opacity:0;transition:opacity .4s;visibility:hidden}.ag-body-horizontal-scroll.ag-scrollbar-invisible.ag-apple-scrollbar.ag-scrollbar-scrolling,.ag-body-horizontal-scroll.ag-scrollbar-invisible.ag-apple-scrollbar.ag-scrollbar-active,.ag-body-vertical-scroll.ag-scrollbar-invisible.ag-apple-scrollbar.ag-scrollbar-scrolling,.ag-body-vertical-scroll.ag-scrollbar-invisible.ag-apple-scrollbar.ag-scrollbar-active{visibility:visible;opacity:1}.ag-body-horizontal-scroll{width:100%}.ag-body-horizontal-scroll.ag-scrollbar-invisible{left:0;right:0}.ag-body-vertical-scroll{height:100%}.ag-body-vertical-scroll.ag-scrollbar-invisible{top:0;z-index:10}.ag-ltr .ag-body-vertical-scroll.ag-scrollbar-invisible{right:0}.ag-rtl .ag-body-vertical-scroll.ag-scrollbar-invisible{left:0}.ag-force-vertical-scroll{overflow-y:scroll!important}.ag-horizontal-left-spacer,.ag-horizontal-right-spacer{height:100%;min-width:0;overflow-x:scroll}.ag-horizontal-left-spacer.ag-scroller-corner,.ag-horizontal-right-spacer.ag-scroller-corner{overflow-x:hidden}.ag-header,.ag-pinned-left-header,.ag-pinned-right-header{display:inline-block;overflow:hidden;position:relative}.ag-header-cell-sortable .ag-header-cell-label{cursor:pointer}.ag-header{display:flex;width:100%;white-space:nowrap}.ag-pinned-left-header,.ag-pinned-right-header{height:100%}.ag-header-row{position:absolute}.ag-header-row:not(.ag-header-row-column-group){overflow:hidden}.ag-header.ag-header-allow-overflow .ag-header-row{overflow:visible}.ag-header-cell{display:inline-flex;align-items:center;position:absolute;height:100%}.ag-header-cell.ag-header-active .ag-header-cell-menu-button,.ag-header-cell-filter-button{opacity:1}.ag-header-cell-menu-button:not(.ag-header-menu-always-show){transition:opacity .2s;opacity:0}.ag-header-group-cell-label,.ag-header-cell-label{display:flex;flex:1 1 auto;align-self:stretch;align-items:center}.ag-header-cell-label{overflow:hidden;text-overflow:ellipsis}.ag-header-group-cell-label.ag-sticky-label{position:sticky;flex:none;max-width:100%}.ag-header-group-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ag-header-cell-text{overflow:hidden;text-overflow:ellipsis}.ag-header-cell:not(.ag-header-cell-auto-height) .ag-header-cell-comp-wrapper{height:100%;display:flex;align-items:center}.ag-header-cell-comp-wrapper{width:100%}.ag-header-cell-wrap-text .ag-header-cell-comp-wrapper{white-space:normal}.ag-right-aligned-header .ag-header-cell-label{flex-direction:row-reverse}.ag-header-cell-resize{position:absolute;z-index:2;height:100%;width:8px;top:0;cursor:ew-resize}.ag-ltr .ag-header-cell-resize{right:-4px}.ag-rtl .ag-header-cell-resize{left:-4px}.ag-pinned-left-header .ag-header-cell-resize{right:-4px}.ag-pinned-right-header .ag-header-cell-resize{left:-4px}.ag-header-select-all{display:flex}.ag-header-cell-menu-button,.ag-header-cell-filter-button,.ag-side-button-button,.ag-panel-title-bar-button,.ag-floating-filter-button-button{cursor:pointer}.ag-column-moving .ag-cell,.ag-column-moving .ag-header-cell{transition:left .2s}.ag-column-moving .ag-header-group-cell{transition:left .2s,width .2s}.ag-column-panel{display:flex;flex-direction:column;overflow:hidden;flex:1 1 auto}.ag-column-select{position:relative;display:flex;flex-direction:column;overflow:hidden;flex:3 1 0px}.ag-column-select-header{position:relative;display:flex;flex:none}.ag-column-select-header-icon{position:relative}.ag-column-select-header-filter-wrapper{flex:1 1 auto}.ag-column-select-header-filter{width:100%}.ag-column-select-list{flex:1 1 0px;overflow:hidden}.ag-column-drop{position:relative;display:inline-flex;align-items:center;overflow:auto;width:100%}.ag-column-drop-list{display:flex;align-items:center}.ag-column-drop-cell{position:relative;display:flex;align-items:center}.ag-column-drop-cell-text{overflow:hidden;flex:1 1 auto;text-overflow:ellipsis;white-space:nowrap}.ag-column-drop-vertical{display:flex;flex-direction:column;overflow:hidden;align-items:stretch;flex:1 1 0px}.ag-column-drop-vertical-title-bar{display:flex;align-items:center;flex:none}.ag-column-drop-vertical-list{position:relative;align-items:stretch;flex-grow:1;flex-direction:column;overflow-x:auto}.ag-column-drop-vertical-list>*{flex:none}.ag-column-drop-empty .ag-column-drop-vertical-list{overflow:hidden}.ag-column-drop-vertical-empty-message{display:block}.ag-column-drop.ag-column-drop-horizontal{white-space:nowrap;overflow:hidden}.ag-column-drop-cell-button{cursor:pointer}.ag-filter-toolpanel{flex:1 1 0px;min-width:0}.ag-filter-toolpanel-header{position:relative}.ag-filter-toolpanel-header,.ag-filter-toolpanel-search{display:flex;align-items:center}.ag-filter-toolpanel-header>*,.ag-filter-toolpanel-search>*{display:flex;align-items:center}.ag-filter-apply-panel{display:flex;justify-content:flex-end;overflow:hidden}.ag-row-animation .ag-row{transition:transform .4s,top .4s}.ag-row-animation .ag-row.ag-after-created{transition:transform .4s,top .4s,height .4s}.ag-row-no-animation .ag-row{transition:none}.ag-row{white-space:nowrap;width:100%}.ag-row-loading{display:flex;align-items:center}.ag-row-position-absolute{position:absolute}.ag-row-position-relative{position:relative}.ag-full-width-row{overflow:hidden;pointer-events:all}.ag-row-inline-editing{z-index:1}.ag-row-dragging{z-index:2}.ag-stub-cell{display:flex;align-items:center}.ag-cell{display:inline-block;position:absolute;white-space:nowrap;height:100%}.ag-cell-value{flex:1 1 auto}.ag-cell-value,.ag-group-value{overflow:hidden;text-overflow:ellipsis}.ag-cell-wrap-text{white-space:normal;word-break:break-all}.ag-cell-wrapper{display:flex;align-items:center}.ag-cell-wrapper.ag-row-group{align-items:flex-start}.ag-sparkline-wrapper{position:absolute;height:100%;width:100%;left:0;top:0}.ag-full-width-row .ag-cell-wrapper.ag-row-group{height:100%;align-items:center}.ag-cell-inline-editing{z-index:1}.ag-cell-inline-editing .ag-cell-wrapper,.ag-cell-inline-editing .ag-cell-edit-wrapper,.ag-cell-inline-editing .ag-cell-editor,.ag-cell-inline-editing .ag-cell-editor .ag-wrapper,.ag-cell-inline-editing .ag-cell-editor input{height:100%;width:100%;line-height:normal}.ag-cell .ag-icon{display:inline-block;vertical-align:middle}.ag-set-filter-item{display:flex;align-items:center;height:100%}.ag-set-filter-item-checkbox{display:flex;overflow:hidden;height:100%}.ag-set-filter-group-icons{display:block}.ag-set-filter-group-icons>*{cursor:pointer}.ag-filter-body-wrapper{display:flex;flex-direction:column}.ag-filter-filter{flex:1 1 0px}.ag-filter-condition{display:flex;justify-content:center}.ag-floating-filter-body{position:relative;display:flex;flex:1 1 auto;height:100%}.ag-floating-filter-full-body{display:flex;flex:1 1 auto;height:100%;width:100%;align-items:center;overflow:hidden}.ag-floating-filter-full-body>div{flex:1 1 auto}.ag-floating-filter-input{align-items:center;display:flex;width:100%}.ag-floating-filter-input>*{flex:1 1 auto}.ag-floating-filter-button{display:flex;flex:none}.ag-set-floating-filter-input input[disabled]{pointer-events:none}.ag-dnd-ghost{position:absolute;display:inline-flex;align-items:center;cursor:move;white-space:nowrap;z-index:9999}.ag-overlay{height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:2}.ag-overlay-panel{display:flex;height:100%;width:100%}.ag-overlay-wrapper{display:flex;flex:none;width:100%;height:100%;align-items:center;justify-content:center;text-align:center}.ag-overlay-loading-wrapper{pointer-events:all}.ag-popup-child{z-index:5;top:0}.ag-popup-editor{position:absolute;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.ag-large-text-input{display:block}.ag-virtual-list-item{position:absolute;width:100%}.ag-floating-top{overflow:hidden;white-space:nowrap;width:100%;position:relative;display:flex}.ag-pinned-left-floating-top,.ag-pinned-right-floating-top{display:inline-block;overflow:hidden;position:relative;min-width:0px}.ag-floating-bottom{overflow:hidden;white-space:nowrap;width:100%;position:relative;display:flex}.ag-pinned-left-floating-bottom,.ag-pinned-right-floating-bottom{display:inline-block;overflow:hidden;position:relative;min-width:0px}.ag-sticky-top{position:absolute;display:flex;width:100%}.ag-pinned-left-sticky-top,.ag-pinned-right-sticky-top{position:relative;height:100%;overflow:hidden}.ag-sticky-top-full-width-container{overflow:hidden;width:100%;height:100%}.ag-dialog,.ag-panel{display:flex;flex-direction:column;position:relative;overflow:hidden}.ag-panel-title-bar{display:flex;flex:none;align-items:center;cursor:default}.ag-panel-title-bar-title{flex:1 1 auto}.ag-panel-title-bar-buttons{display:flex}.ag-panel-title-bar-button{cursor:pointer}.ag-panel-content-wrapper{display:flex;flex:1 1 auto;position:relative;overflow:hidden}.ag-dialog{position:absolute}.ag-resizer{position:absolute;pointer-events:none;z-index:1;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.ag-resizer.ag-resizer-topLeft{top:0;left:0;height:5px;width:5px;cursor:nwse-resize}.ag-resizer.ag-resizer-top{top:0;left:5px;right:5px;height:5px;cursor:ns-resize}.ag-resizer.ag-resizer-topRight{top:0;right:0;height:5px;width:5px;cursor:nesw-resize}.ag-resizer.ag-resizer-right{top:5px;right:0;bottom:5px;width:5px;cursor:ew-resize}.ag-resizer.ag-resizer-bottomRight{bottom:0;right:0;height:5px;width:5px;cursor:nwse-resize}.ag-resizer.ag-resizer-bottom{bottom:0;left:5px;right:5px;height:5px;cursor:ns-resize}.ag-resizer.ag-resizer-bottomLeft{bottom:0;left:0;height:5px;width:5px;cursor:nesw-resize}.ag-resizer.ag-resizer-left{left:0;top:5px;bottom:5px;width:5px;cursor:ew-resize}.ag-tooltip,.ag-tooltip-custom{position:absolute;z-index:99999}.ag-tooltip:not(.ag-tooltip-interactive),.ag-tooltip-custom:not(.ag-tooltip-interactive){pointer-events:none}.ag-value-slide-out{margin-right:5px;opacity:1;transition:opacity 3s,margin-right 3s;transition-timing-function:linear}.ag-value-slide-out-end{margin-right:10px;opacity:0}.ag-opacity-zero{opacity:0!important}.ag-menu{max-height:100%;overflow-y:auto;position:absolute;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.ag-menu-column-select-wrapper{height:265px;overflow:auto}.ag-menu-column-select-wrapper .ag-column-select{height:100%}.ag-dialog .ag-panel-content-wrapper .ag-column-select{-webkit-user-select:none;user-select:none}.ag-menu-list{display:table;width:100%}.ag-menu-option,.ag-menu-separator{display:table-row}.ag-menu-option-part,.ag-menu-separator-part{display:table-cell;vertical-align:middle}.ag-menu-option-text{white-space:nowrap}.ag-menu-option-custom{display:contents}.ag-compact-menu-option{width:100%;display:flex;flex-wrap:nowrap}.ag-compact-menu-option-text{white-space:nowrap;flex:1 1 auto}.ag-rich-select{cursor:default;outline:none;height:100%}.ag-rich-select-value{display:flex;align-items:center;height:100%}.ag-rich-select-value .ag-picker-field-display{overflow:hidden;text-overflow:ellipsis}.ag-rich-select-value .ag-picker-field-display.ag-display-as-placeholder{opacity:.5}.ag-rich-select-list{position:relative}.ag-rich-select-list .ag-loading-text{min-height:2rem}.ag-rich-select-row{display:flex;flex:1 1 auto;align-items:center;white-space:nowrap;overflow:hidden;height:100%}.ag-rich-select-field-input{flex:1 1 auto}.ag-rich-select-field-input .ag-input-field-input{padding:0!important;border:none!important;box-shadow:none!important;text-overflow:ellipsis}.ag-rich-select-field-input .ag-input-field-input::placeholder{opacity:.8}.ag-autocomplete{align-items:center;display:flex}.ag-autocomplete>*{flex:1 1 auto}.ag-autocomplete-list-popup{position:absolute;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.ag-autocomplete-list{position:relative}.ag-autocomplete-virtual-list-item{display:flex}.ag-autocomplete-row{display:flex;flex:1 1 auto;align-items:center;overflow:hidden}.ag-autocomplete-row-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ag-paging-panel{align-items:center;display:flex;justify-content:flex-end}.ag-paging-page-summary-panel{display:flex;align-items:center}.ag-paging-button{position:relative}.ag-disabled .ag-paging-page-summary-panel{pointer-events:none}.ag-tool-panel-wrapper{display:flex;overflow-y:auto;overflow-x:hidden;cursor:default;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.ag-column-select-column,.ag-column-select-column-group,.ag-select-agg-func-item{position:relative;align-items:center;display:flex;flex-direction:row;flex-wrap:nowrap;height:100%}.ag-column-select-column>*,.ag-column-select-column-group>*,.ag-select-agg-func-item>*{flex:none}.ag-select-agg-func-item,.ag-column-select-column-label{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ag-column-select-checkbox{display:flex}.ag-tool-panel-horizontal-resize{cursor:ew-resize;height:100%;position:absolute;top:0;width:5px;z-index:1}.ag-ltr .ag-side-bar-left .ag-tool-panel-horizontal-resize{right:-3px}.ag-rtl .ag-side-bar-left .ag-tool-panel-horizontal-resize,.ag-ltr .ag-side-bar-right .ag-tool-panel-horizontal-resize{left:-3px}.ag-rtl .ag-side-bar-right .ag-tool-panel-horizontal-resize{right:-3px}.ag-details-row{width:100%}.ag-details-row-fixed-height{height:100%}.ag-details-grid{width:100%}.ag-details-grid-fixed-height{height:100%}.ag-header-group-cell{display:flex;align-items:center;height:100%;position:absolute}.ag-header-group-cell-no-group.ag-header-span-height .ag-header-cell-resize{display:none}.ag-cell-label-container{display:flex;justify-content:space-between;flex-direction:row-reverse;align-items:center;height:100%;width:100%;padding:5px 0}.ag-right-aligned-header .ag-cell-label-container{flex-direction:row}.ag-right-aligned-header .ag-header-cell-text{text-align:end}.ag-side-bar{display:flex;flex-direction:row-reverse}.ag-side-bar-left{order:-1;flex-direction:row}.ag-side-button-button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;flex-wrap:nowrap;white-space:nowrap;outline:none;cursor:pointer}.ag-side-button-label{writing-mode:vertical-lr}.ag-status-bar{display:flex;justify-content:space-between;overflow:hidden}.ag-status-panel{display:inline-flex}.ag-status-name-value{white-space:nowrap}.ag-status-bar-left,.ag-status-bar-center,.ag-status-bar-right{display:inline-flex}.ag-icon{display:block;speak:none}.ag-group{position:relative;width:100%}.ag-group-title-bar{display:flex;align-items:center}.ag-group-title{display:block;flex:1 1 auto;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ag-group-title-bar .ag-group-title{cursor:default}.ag-group-toolbar{display:flex;align-items:center}.ag-group-container{display:flex}.ag-disabled .ag-group-container{pointer-events:none}.ag-group-container-horizontal{flex-direction:row;flex-wrap:wrap}.ag-group-container-vertical{flex-direction:column}.ag-column-group-icons{display:block}.ag-column-group-icons>*{cursor:pointer}.ag-group-item-alignment-stretch .ag-group-item{align-items:stretch}.ag-group-item-alignment-start .ag-group-item{align-items:flex-start}.ag-group-item-alignment-end .ag-group-item{align-items:flex-end}.ag-toggle-button-icon{transition:right .3s;position:absolute;top:-1px}.ag-input-field,.ag-select{display:flex;flex-direction:row;align-items:center}.ag-input-field-input{flex:1 1 auto}.ag-floating-filter-input .ag-input-field-input[type=date]{width:1px}.ag-range-field,.ag-angle-select{display:flex;align-items:center}.ag-angle-select-wrapper{display:flex}.ag-angle-select-parent-circle{display:block;position:relative}.ag-angle-select-child-circle{position:absolute}.ag-slider-wrapper{display:flex}.ag-slider-wrapper .ag-input-field,.ag-picker-field-display{flex:1 1 auto}.ag-picker-field{display:flex;align-items:center}.ag-picker-field-icon{display:flex;border:0;padding:0;margin:0;cursor:pointer}.ag-picker-field-wrapper{overflow:hidden}.ag-label-align-right .ag-label{order:1}.ag-label-align-right>*{flex:none}.ag-label-align-top{flex-direction:column;align-items:flex-start}.ag-label-align-top>*{align-self:stretch}.ag-label-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.ag-color-panel{width:100%;display:flex;flex-direction:column;text-align:center}.ag-spectrum-color{flex:1 1 auto;position:relative;overflow:hidden;cursor:default}.ag-spectrum-fill{position:absolute;top:0;left:0;right:0;bottom:0}.ag-spectrum-val{cursor:pointer}.ag-spectrum-dragger{position:absolute;pointer-events:none;cursor:pointer}.ag-spectrum-hue{cursor:default;background:linear-gradient(to left,#ff0000 3%,#ffff00 17%,#00ff00 33%,#00ffff 50%,#0000ff 67%,#ff00ff 83%,#ff0000 100%)}.ag-spectrum-alpha{cursor:default}.ag-spectrum-hue-background{width:100%;height:100%}.ag-spectrum-alpha-background{background-image:linear-gradient(to right,rgba(0,0,0,0),rgb(0,0,0));width:100%;height:100%}.ag-spectrum-tool{cursor:pointer}.ag-spectrum-slider{position:absolute;pointer-events:none}.ag-recent-colors{display:flex}.ag-recent-color{cursor:pointer}.ag-ltr .ag-column-select-indent-1{padding-left:20px}.ag-rtl .ag-column-select-indent-1{padding-right:20px}.ag-ltr .ag-set-filter-indent-1{padding-left:20px}.ag-rtl .ag-set-filter-indent-1{padding-right:20px}.ag-ltr .ag-row-group-indent-1{padding-left:20px}.ag-rtl .ag-row-group-indent-1{padding-right:20px}.ag-ltr .ag-column-select-indent-2{padding-left:40px}.ag-rtl .ag-column-select-indent-2{padding-right:40px}.ag-ltr .ag-set-filter-indent-2{padding-left:40px}.ag-rtl .ag-set-filter-indent-2{padding-right:40px}.ag-ltr .ag-row-group-indent-2{padding-left:40px}.ag-rtl .ag-row-group-indent-2{padding-right:40px}.ag-ltr .ag-column-select-indent-3{padding-left:60px}.ag-rtl .ag-column-select-indent-3{padding-right:60px}.ag-ltr .ag-set-filter-indent-3{padding-left:60px}.ag-rtl .ag-set-filter-indent-3{padding-right:60px}.ag-ltr .ag-row-group-indent-3{padding-left:60px}.ag-rtl .ag-row-group-indent-3{padding-right:60px}.ag-ltr .ag-column-select-indent-4{padding-left:80px}.ag-rtl .ag-column-select-indent-4{padding-right:80px}.ag-ltr .ag-set-filter-indent-4{padding-left:80px}.ag-rtl .ag-set-filter-indent-4{padding-right:80px}.ag-ltr .ag-row-group-indent-4{padding-left:80px}.ag-rtl .ag-row-group-indent-4{padding-right:80px}.ag-ltr .ag-column-select-indent-5{padding-left:100px}.ag-rtl .ag-column-select-indent-5{padding-right:100px}.ag-ltr .ag-set-filter-indent-5{padding-left:100px}.ag-rtl .ag-set-filter-indent-5{padding-right:100px}.ag-ltr .ag-row-group-indent-5{padding-left:100px}.ag-rtl .ag-row-group-indent-5{padding-right:100px}.ag-ltr .ag-column-select-indent-6{padding-left:120px}.ag-rtl .ag-column-select-indent-6{padding-right:120px}.ag-ltr .ag-set-filter-indent-6{padding-left:120px}.ag-rtl .ag-set-filter-indent-6{padding-right:120px}.ag-ltr .ag-row-group-indent-6{padding-left:120px}.ag-rtl .ag-row-group-indent-6{padding-right:120px}.ag-ltr .ag-column-select-indent-7{padding-left:140px}.ag-rtl .ag-column-select-indent-7{padding-right:140px}.ag-ltr .ag-set-filter-indent-7{padding-left:140px}.ag-rtl .ag-set-filter-indent-7{padding-right:140px}.ag-ltr .ag-row-group-indent-7{padding-left:140px}.ag-rtl .ag-row-group-indent-7{padding-right:140px}.ag-ltr .ag-column-select-indent-8{padding-left:160px}.ag-rtl .ag-column-select-indent-8{padding-right:160px}.ag-ltr .ag-set-filter-indent-8{padding-left:160px}.ag-rtl .ag-set-filter-indent-8{padding-right:160px}.ag-ltr .ag-row-group-indent-8{padding-left:160px}.ag-rtl .ag-row-group-indent-8{padding-right:160px}.ag-ltr .ag-column-select-indent-9{padding-left:180px}.ag-rtl .ag-column-select-indent-9{padding-right:180px}.ag-ltr .ag-set-filter-indent-9{padding-left:180px}.ag-rtl .ag-set-filter-indent-9{padding-right:180px}.ag-ltr .ag-row-group-indent-9{padding-left:180px}.ag-rtl .ag-row-group-indent-9{padding-right:180px}.ag-ltr{direction:ltr}.ag-ltr .ag-body,.ag-ltr .ag-floating-top,.ag-ltr .ag-floating-bottom,.ag-ltr .ag-header,.ag-ltr .ag-sticky-top,.ag-ltr .ag-body-viewport,.ag-ltr .ag-body-horizontal-scroll{flex-direction:row}.ag-rtl{direction:rtl}.ag-rtl .ag-body,.ag-rtl .ag-floating-top,.ag-rtl .ag-floating-bottom,.ag-rtl .ag-header,.ag-rtl .ag-sticky-top,.ag-rtl .ag-body-viewport,.ag-rtl .ag-body-horizontal-scroll{flex-direction:row-reverse}.ag-rtl .ag-icon-contracted,.ag-rtl .ag-icon-expanded,.ag-rtl .ag-icon-tree-closed{display:block;transform:rotate(180deg)}.ag-body .ag-body-viewport{-webkit-overflow-scrolling:touch}.ag-layout-print.ag-body{display:block;height:unset}.ag-layout-print.ag-root-wrapper{display:inline-block}.ag-layout-print .ag-body-vertical-scroll,.ag-layout-print .ag-body-horizontal-scroll{display:none}.ag-layout-print.ag-force-vertical-scroll{overflow-y:visible!important}@media print{.ag-root-wrapper.ag-layout-print{display:table}.ag-root-wrapper.ag-layout-print .ag-root-wrapper-body,.ag-root-wrapper.ag-layout-print .ag-root,.ag-root-wrapper.ag-layout-print .ag-body-viewport,.ag-root-wrapper.ag-layout-print .ag-center-cols-container,.ag-root-wrapper.ag-layout-print .ag-center-cols-viewport,.ag-root-wrapper.ag-layout-print .ag-body-horizontal-scroll-viewport,.ag-root-wrapper.ag-layout-print .ag-virtual-list-viewport{height:auto!important;overflow:hidden!important;display:block!important}.ag-root-wrapper.ag-layout-print .ag-row,.ag-root-wrapper.ag-layout-print .ag-cell{break-inside:avoid}}[class^=ag-],[class^=ag-]:focus,[class^=ag-]:after,[class^=ag-]:before{box-sizing:border-box;outline:none}[class^=ag-]::-ms-clear{display:none}.ag-checkbox .ag-input-wrapper,.ag-radio-button .ag-input-wrapper{overflow:visible}.ag-range-field .ag-input-wrapper{height:100%}.ag-toggle-button{flex:none;width:unset;min-width:unset}.ag-button{border-radius:0;color:var(--ag-foreground-color)}.ag-button:hover{background-color:transparent}.ag-ltr .ag-label-align-right .ag-label{margin-left:var(--ag-grid-size)}.ag-rtl .ag-label-align-right .ag-label{margin-right:var(--ag-grid-size)}input[class^=ag-]{margin:0;background-color:var(--ag-background-color)}textarea[class^=ag-],select[class^=ag-]{background-color:var(--ag-background-color)}input[class^=ag-]:not([type]),input[class^=ag-][type=text],input[class^=ag-][type=number],input[class^=ag-][type=tel],input[class^=ag-][type=date],input[class^=ag-][type=datetime-local],textarea[class^=ag-]{font-size:inherit;line-height:inherit;color:inherit;font-family:inherit;border:var(--ag-borders-input) var(--ag-input-border-color)}input[class^=ag-]:not([type]):disabled,input[class^=ag-][type=text]:disabled,input[class^=ag-][type=number]:disabled,input[class^=ag-][type=tel]:disabled,input[class^=ag-][type=date]:disabled,input[class^=ag-][type=datetime-local]:disabled,textarea[class^=ag-]:disabled{color:var(--ag-disabled-foreground-color);background-color:var(--ag-input-disabled-background-color);border-color:var(--ag-input-disabled-border-color)}input[class^=ag-]:not([type]):focus,input[class^=ag-][type=text]:focus,input[class^=ag-][type=number]:focus,input[class^=ag-][type=tel]:focus,input[class^=ag-][type=date]:focus,input[class^=ag-][type=datetime-local]:focus,textarea[class^=ag-]:focus{outline:none;box-shadow:var(--ag-input-focus-box-shadow);border-color:var(--ag-input-focus-border-color)}input[class^=ag-]:not([type]):invalid,input[class^=ag-][type=text]:invalid,input[class^=ag-][type=number]:invalid,input[class^=ag-][type=tel]:invalid,input[class^=ag-][type=date]:invalid,input[class^=ag-][type=datetime-local]:invalid,textarea[class^=ag-]:invalid{border:var(--ag-borders-input-invalid) var(--ag-input-border-color-invalid)}input[class^=ag-][type=number]:not(.ag-number-field-input-stepper){-moz-appearance:textfield}input[class^=ag-][type=number]:not(.ag-number-field-input-stepper)::-webkit-outer-spin-button,input[class^=ag-][type=number]:not(.ag-number-field-input-stepper)::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[class^=ag-][type=range]{padding:0}input[class^=ag-][type=button]:focus,button[class^=ag-]:focus{box-shadow:var(--ag-input-focus-box-shadow)}.ag-drag-handle{color:var(--ag-secondary-foreground-color)}.ag-list-item,.ag-virtual-list-item{height:var(--ag-list-item-height)}.ag-virtual-list-item:focus-visible{outline:none}.ag-virtual-list-item:focus-visible:after{content:"";position:absolute;background-color:transparent;pointer-events:none;top:4px;left:4px;display:block;width:calc(100% - 8px);height:calc(100% - 8px);border:1px solid;border-color:var(--ag-input-focus-border-color)}.ag-select-list{background-color:var(--ag-background-color);overflow-y:auto;overflow-x:hidden;border-radius:var(--ag-border-radius);border:var(--ag-borders) var(--ag-border-color)}.ag-list-item{display:flex;align-items:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ag-list-item.ag-active-item{background-color:var(--ag-row-hover-color)}.ag-select-list-item{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.ag-ltr .ag-select-list-item{padding-left:calc(var(--ag-cell-horizontal-padding) / 2)}.ag-rtl .ag-select-list-item{padding-right:calc(var(--ag-cell-horizontal-padding) / 2)}.ag-select-list-item span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.ag-row-drag,.ag-selection-checkbox,.ag-group-expanded,.ag-group-contracted{color:var(--ag-secondary-foreground-color)}.ag-ltr .ag-row-drag,.ag-ltr .ag-selection-checkbox,.ag-ltr .ag-group-expanded,.ag-ltr .ag-group-contracted{margin-right:var(--ag-cell-widget-spacing)}.ag-rtl .ag-row-drag,.ag-rtl .ag-selection-checkbox,.ag-rtl .ag-group-expanded,.ag-rtl .ag-group-contracted{margin-left:var(--ag-cell-widget-spacing)}.ag-cell-wrapper>*:not(.ag-cell-value):not(.ag-group-value){--ag-internal-calculated-line-height: var(--ag-line-height, calc(var(--ag-row-height) - var(--ag-row-border-width)));--ag-internal-padded-row-height: calc(var(--ag-row-height) - var(--ag-row-border-width));height:min(var(--ag-internal-calculated-line-height),var(--ag-internal-padded-row-height));display:flex;align-items:center;flex:none}.ag-group-expanded,.ag-group-contracted{cursor:pointer}.ag-group-title-bar-icon{cursor:pointer;flex:none;color:var(--ag-secondary-foreground-color)}.ag-ltr .ag-group-child-count{margin-left:2px}.ag-rtl .ag-group-child-count{margin-right:2px}.ag-group-title-bar{background-color:var(--ag-subheader-background-color);padding:var(--ag-grid-size)}.ag-group-toolbar{padding:var(--ag-grid-size);background-color:var(--ag-subheader-toolbar-background-color)}.ag-disabled-group-title-bar,.ag-disabled-group-container{opacity:.5}.group-item{margin:calc(var(--ag-grid-size) * .5) 0}.ag-label{white-space:nowrap}.ag-ltr .ag-label{margin-right:var(--ag-grid-size)}.ag-rtl .ag-label{margin-left:var(--ag-grid-size)}.ag-label-align-top .ag-label{margin-bottom:calc(var(--ag-grid-size) * .5)}.ag-angle-select[disabled]{color:var(--ag-disabled-foreground-color);pointer-events:none}.ag-angle-select[disabled] .ag-angle-select-field{opacity:.4}.ag-ltr .ag-slider-field,.ag-ltr .ag-angle-select-field{margin-right:calc(var(--ag-grid-size) * 2)}.ag-rtl .ag-slider-field,.ag-rtl .ag-angle-select-field{margin-left:calc(var(--ag-grid-size) * 2)}.ag-angle-select-parent-circle{width:24px;height:24px;border-radius:12px;border:solid 1px;border-color:var(--ag-border-color);background-color:var(--ag-background-color)}.ag-angle-select-child-circle{top:4px;left:12px;width:6px;height:6px;margin-left:-3px;margin-top:-4px;border-radius:3px;background-color:var(--ag-secondary-foreground-color)}.ag-picker-field-wrapper{border:var(--ag-borders);border-color:var(--ag-border-color);border-radius:5px;background-color:var(--ag-background-color)}.ag-picker-field-wrapper:disabled{color:var(--ag-disabled-foreground-color);background-color:var(--ag-input-disabled-background-color);border-color:var(--ag-input-disabled-border-color)}.ag-picker-field-wrapper.ag-picker-has-focus,.ag-picker-field-wrapper:focus-within{outline:none;box-shadow:var(--ag-input-focus-box-shadow);border-color:var(--ag-input-focus-border-color)}.ag-picker-field-button{background-color:var(--ag-background-color);color:var(--ag-secondary-foreground-color)}.ag-dialog.ag-color-dialog{border-radius:5px}.ag-color-picker .ag-picker-field-display{height:var(--ag-icon-size)}.ag-color-picker .ag-picker-field-wrapper{max-width:45px;min-width:45px}.ag-color-panel{padding:var(--ag-grid-size)}.ag-spectrum-color{background-color:red;border-radius:2px}.ag-spectrum-tools{padding:10px}.ag-spectrum-sat{background-image:linear-gradient(to right,white,rgba(204,154,129,0))}.ag-spectrum-val{background-image:linear-gradient(to top,black,rgba(204,154,129,0))}.ag-spectrum-dragger{border-radius:12px;height:12px;width:12px;border:1px solid white;background:black;box-shadow:0 0 2px #0000003d}.ag-spectrum-hue-background,.ag-spectrum-alpha-background{border-radius:2px}.ag-spectrum-tool{margin-bottom:10px;height:11px;border-radius:2px}.ag-spectrum-slider{margin-top:-12px;width:13px;height:13px;border-radius:13px;background-color:#f8f8f8;box-shadow:0 1px 4px #0000005e}.ag-recent-color{margin:0 3px}.ag-recent-color:first-child{margin-left:0}.ag-recent-color:last-child{margin-right:0}.ag-spectrum-color:focus-visible:not(:disabled):not([readonly]),.ag-spectrum-slider:focus-visible:not(:disabled):not([readonly]),.ag-recent-color:focus-visible:not(:disabled):not([readonly]){box-shadow:var(--ag-input-focus-box-shadow)}.ag-dnd-ghost{border:var(--ag-borders) var(--ag-border-color);background:var(--ag-background-color);border-radius:var(--ag-card-radius);box-shadow:var(--ag-card-shadow);padding:var(--ag-grid-size);overflow:hidden;text-overflow:ellipsis;border:var(--ag-borders-secondary) var(--ag-secondary-border-color);color:var(--ag-secondary-foreground-color);height:var(--ag-header-height)!important;line-height:var(--ag-header-height);margin:0;padding:0 calc(var(--ag-grid-size) * 2);transform:translateY(calc(var(--ag-grid-size) * 2))}.ag-dnd-ghost-icon{margin-right:var(--ag-grid-size);color:var(--ag-foreground-color)}.ag-popup-child:not(.ag-tooltip-custom){box-shadow:var(--ag-popup-shadow)}.ag-select .ag-picker-field-wrapper{min-height:var(--ag-list-item-height);cursor:default}.ag-ltr .ag-select .ag-picker-field-wrapper{padding-left:calc(var(--ag-cell-horizontal-padding) / 2)}.ag-rtl .ag-select .ag-picker-field-wrapper{padding-right:calc(var(--ag-cell-horizontal-padding) / 2)}.ag-ltr .ag-select .ag-picker-field-wrapper{padding-right:var(--ag-grid-size)}.ag-rtl .ag-select .ag-picker-field-wrapper{padding-left:var(--ag-grid-size)}.ag-select.ag-disabled .ag-picker-field-wrapper:focus{box-shadow:none}.ag-select:not(.ag-cell-editor,.ag-label-align-top){min-height:var(--ag-list-item-height)}.ag-select .ag-picker-field-display{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ag-select .ag-picker-field-icon{display:flex;align-items:center}.ag-select.ag-disabled{opacity:.5}.ag-rich-select-value,.ag-rich-select-list{background-color:var(--ag-background-color)}.ag-rich-select-list{width:100%;height:auto;border-radius:var(--ag-border-radius);border:var(--ag-borders) var(--ag-border-color)}.ag-rich-select-list .ag-loading-text{padding:var(--ag-widget-vertical-spacing) var(--ag-widget-horizontal-spacing)}.ag-rich-select-value{border-bottom:var(--ag-borders-secondary) var(--ag-secondary-border-color);padding-top:0;padding-bottom:0}.ag-ltr .ag-rich-select-value{padding-left:calc(var(--ag-cell-horizontal-padding) / 2)}.ag-rtl .ag-rich-select-value{padding-right:calc(var(--ag-cell-horizontal-padding) / 2)}.ag-ltr .ag-rich-select-value{padding-right:var(--ag-grid-size)}.ag-rtl .ag-rich-select-value{padding-left:var(--ag-grid-size)}.ag-ltr .ag-rich-select-field-input{left:calc(var(--ag-cell-horizontal-padding))}.ag-rtl .ag-rich-select-field-input{right:calc(var(--ag-cell-horizontal-padding))}.ag-popup-editor .ag-rich-select-value{height:var(--ag-row-height);min-width:200px}.ag-rich-select-virtual-list-item{cursor:default;height:var(--ag-list-item-height)}.ag-rich-select-virtual-list-item:focus-visible:after{content:none}.ag-rich-select-virtual-list-item:hover{background-color:var(--ag-row-hover-color)}.ag-ltr .ag-rich-select-row{padding-left:calc(var(--ag-cell-horizontal-padding) / 2)}.ag-rtl .ag-rich-select-row{padding-right:calc(var(--ag-cell-horizontal-padding) / 2)}.ag-rich-select-row-selected{background-color:var(--ag-selected-row-background-color)}.ag-rich-select-row-text-highlight{font-weight:700}.ag-autocomplete{width:100%}.ag-autocomplete-list{width:100%;min-width:200px;height:calc(var(--ag-row-height) * 6.5)}.ag-autocomplete-virtual-list-item{cursor:default;height:var(--ag-list-item-height)}.ag-autocomplete-virtual-list-item:focus-visible:after{content:none}.ag-autocomplete-virtual-list-item:hover{background-color:var(--ag-row-hover-color)}.ag-autocomplete-row-label{margin:0px var(--ag-widget-container-horizontal-padding)}.ag-autocomplete-row-selected{background-color:var(--ag-selected-row-background-color)}.ag-dragging-range-handle .ag-dialog,.ag-dragging-fill-handle .ag-dialog{opacity:.7;pointer-events:none}.ag-dialog{border-radius:var(--ag-border-radius);border:var(--ag-borders) var(--ag-border-color);box-shadow:var(--ag-popup-shadow)}.ag-panel{background-color:var(--ag-panel-background-color);border-color:var(--ag-panel-border-color)}.ag-panel-title-bar{color:var(--ag-header-foreground-color);height:var(--ag-header-height);padding:var(--ag-grid-size) var(--ag-cell-horizontal-padding);border-bottom:var(--ag-borders) var(--ag-border-color)}.ag-ltr .ag-panel-title-bar-button{margin-left:var(--ag-grid-size)}.ag-rtl .ag-panel-title-bar-button{margin-right:var(--ag-grid-size)}.ag-tooltip{background-color:var(--ag-tooltip-background-color);color:var(--ag-foreground-color);padding:var(--ag-grid-size);border:var(--ag-borders) var(--ag-border-color);border-radius:var(--ag-card-radius);white-space:normal}.ag-tooltip.ag-tooltip-animate,.ag-tooltip-custom.ag-tooltip-animate{transition:opacity 1s}.ag-tooltip.ag-tooltip-animate.ag-tooltip-hiding,.ag-tooltip-custom.ag-tooltip-animate.ag-tooltip-hiding{opacity:0}.ag-ltr .ag-column-select-indent-1{padding-left:calc(1 * var(--ag-column-select-indent-size))}.ag-rtl .ag-column-select-indent-1{padding-right:calc(1 * var(--ag-column-select-indent-size))}.ag-ltr .ag-column-select-indent-2{padding-left:calc(2 * var(--ag-column-select-indent-size))}.ag-rtl .ag-column-select-indent-2{padding-right:calc(2 * var(--ag-column-select-indent-size))}.ag-ltr .ag-column-select-indent-3{padding-left:calc(3 * var(--ag-column-select-indent-size))}.ag-rtl .ag-column-select-indent-3{padding-right:calc(3 * var(--ag-column-select-indent-size))}.ag-ltr .ag-column-select-indent-4{padding-left:calc(4 * var(--ag-column-select-indent-size))}.ag-rtl .ag-column-select-indent-4{padding-right:calc(4 * var(--ag-column-select-indent-size))}.ag-ltr .ag-column-select-indent-5{padding-left:calc(5 * var(--ag-column-select-indent-size))}.ag-rtl .ag-column-select-indent-5{padding-right:calc(5 * var(--ag-column-select-indent-size))}.ag-ltr .ag-column-select-indent-6{padding-left:calc(6 * var(--ag-column-select-indent-size))}.ag-rtl .ag-column-select-indent-6{padding-right:calc(6 * var(--ag-column-select-indent-size))}.ag-ltr .ag-column-select-indent-7{padding-left:calc(7 * var(--ag-column-select-indent-size))}.ag-rtl .ag-column-select-indent-7{padding-right:calc(7 * var(--ag-column-select-indent-size))}.ag-ltr .ag-column-select-indent-8{padding-left:calc(8 * var(--ag-column-select-indent-size))}.ag-rtl .ag-column-select-indent-8{padding-right:calc(8 * var(--ag-column-select-indent-size))}.ag-ltr .ag-column-select-indent-9{padding-left:calc(9 * var(--ag-column-select-indent-size))}.ag-rtl .ag-column-select-indent-9{padding-right:calc(9 * var(--ag-column-select-indent-size))}.ag-column-select-header-icon{cursor:pointer}.ag-column-select-header-icon:focus-visible{outline:none}.ag-column-select-header-icon:focus-visible:after{content:"";position:absolute;background-color:transparent;pointer-events:none;top:0;left:0;display:block;width:calc(100% + -0px);height:calc(100% + -0px);border:1px solid;border-color:var(--ag-input-focus-border-color)}.ag-ltr .ag-column-group-icons:not(:last-child),.ag-ltr .ag-column-select-header-icon:not(:last-child),.ag-ltr .ag-column-select-header-checkbox:not(:last-child),.ag-ltr .ag-column-select-header-filter-wrapper:not(:last-child),.ag-ltr .ag-column-select-checkbox:not(:last-child),.ag-ltr .ag-column-select-column-drag-handle:not(:last-child),.ag-ltr .ag-column-select-column-group-drag-handle:not(:last-child),.ag-ltr .ag-column-select-column-label:not(:last-child){margin-right:var(--ag-widget-horizontal-spacing)}.ag-rtl .ag-column-group-icons:not(:last-child),.ag-rtl .ag-column-select-header-icon:not(:last-child),.ag-rtl .ag-column-select-header-checkbox:not(:last-child),.ag-rtl .ag-column-select-header-filter-wrapper:not(:last-child),.ag-rtl .ag-column-select-checkbox:not(:last-child),.ag-rtl .ag-column-select-column-drag-handle:not(:last-child),.ag-rtl .ag-column-select-column-group-drag-handle:not(:last-child),.ag-rtl .ag-column-select-column-label:not(:last-child){margin-left:var(--ag-widget-horizontal-spacing)}.ag-column-select-virtual-list-item:focus-visible{outline:none}.ag-column-select-virtual-list-item:focus-visible:after{content:"";position:absolute;background-color:transparent;pointer-events:none;top:1px;left:1px;display:block;width:calc(100% - 2px);height:calc(100% - 2px);border:1px solid;border-color:var(--ag-input-focus-border-color)}.ag-column-select-column-group:not(:last-child),.ag-column-select-column:not(:last-child){margin-bottom:var(--ag-widget-vertical-spacing)}.ag-column-select-column-readonly,.ag-column-select-column-group-readonly{color:var(--ag-disabled-foreground-color);pointer-events:none}.ag-ltr .ag-column-select-add-group-indent{margin-left:calc(var(--ag-icon-size) + var(--ag-grid-size) * 2)}.ag-rtl .ag-column-select-add-group-indent{margin-right:calc(var(--ag-icon-size) + var(--ag-grid-size) * 2)}.ag-column-select-virtual-list-viewport{padding:calc(var(--ag-widget-container-vertical-padding) * .5) 0px}.ag-column-select-virtual-list-item{padding:0 var(--ag-widget-container-horizontal-padding)}.ag-checkbox-edit{padding-left:var(--ag-cell-horizontal-padding);padding-right:var(--ag-cell-horizontal-padding)}.ag-rtl{text-align:right}.ag-root-wrapper{border-radius:var(--ag-wrapper-border-radius);border:var(--ag-borders) var(--ag-border-color)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-1{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 1)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-1{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 1)}.ag-ltr .ag-row-group-indent-1{padding-left:calc(1 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-1{padding-right:calc(1 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-1 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-1 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-2{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 2)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-2{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 2)}.ag-ltr .ag-row-group-indent-2{padding-left:calc(2 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-2{padding-right:calc(2 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-2 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-2 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-3{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 3)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-3{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 3)}.ag-ltr .ag-row-group-indent-3{padding-left:calc(3 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-3{padding-right:calc(3 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-3 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-3 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-4{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 4)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-4{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 4)}.ag-ltr .ag-row-group-indent-4{padding-left:calc(4 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-4{padding-right:calc(4 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-4 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-4 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-5{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 5)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-5{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 5)}.ag-ltr .ag-row-group-indent-5{padding-left:calc(5 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-5{padding-right:calc(5 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-5 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-5 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-6{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 6)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-6{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 6)}.ag-ltr .ag-row-group-indent-6{padding-left:calc(6 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-6{padding-right:calc(6 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-6 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-6 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-7{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 7)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-7{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 7)}.ag-ltr .ag-row-group-indent-7{padding-left:calc(7 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-7{padding-right:calc(7 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-7 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-7 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-8{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 8)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-8{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 8)}.ag-ltr .ag-row-group-indent-8{padding-left:calc(8 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-8{padding-right:calc(8 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-8 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-8 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-9{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 9)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-9{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 9)}.ag-ltr .ag-row-group-indent-9{padding-left:calc(9 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-9{padding-right:calc(9 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-9 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-9 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-10{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 10)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-10{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 10)}.ag-ltr .ag-row-group-indent-10{padding-left:calc(10 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-10{padding-right:calc(10 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-10 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-10 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-11{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 11)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-11{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 11)}.ag-ltr .ag-row-group-indent-11{padding-left:calc(11 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-11{padding-right:calc(11 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-11 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-11 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-12{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 12)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-12{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 12)}.ag-ltr .ag-row-group-indent-12{padding-left:calc(12 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-12{padding-right:calc(12 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-12 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-12 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-13{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 13)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-13{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 13)}.ag-ltr .ag-row-group-indent-13{padding-left:calc(13 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-13{padding-right:calc(13 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-13 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-13 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-14{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 14)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-14{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 14)}.ag-ltr .ag-row-group-indent-14{padding-left:calc(14 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-14{padding-right:calc(14 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-14 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-14 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-15{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 15)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-15{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 15)}.ag-ltr .ag-row-group-indent-15{padding-left:calc(15 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-15{padding-right:calc(15 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-15 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-15 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-16{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 16)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-16{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 16)}.ag-ltr .ag-row-group-indent-16{padding-left:calc(16 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-16{padding-right:calc(16 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-16 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-16 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-17{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 17)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-17{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 17)}.ag-ltr .ag-row-group-indent-17{padding-left:calc(17 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-17{padding-right:calc(17 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-17 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-17 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-18{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 18)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-18{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 18)}.ag-ltr .ag-row-group-indent-18{padding-left:calc(18 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-18{padding-right:calc(18 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-18 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-18 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-19{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 19)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-19{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 19)}.ag-ltr .ag-row-group-indent-19{padding-left:calc(19 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-19{padding-right:calc(19 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-19 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-19 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-20{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 20)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-20{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 20)}.ag-ltr .ag-row-group-indent-20{padding-left:calc(20 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-20{padding-right:calc(20 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-20 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-20 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-21{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 21)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-21{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 21)}.ag-ltr .ag-row-group-indent-21{padding-left:calc(21 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-21{padding-right:calc(21 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-21 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-21 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-22{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 22)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-22{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 22)}.ag-ltr .ag-row-group-indent-22{padding-left:calc(22 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-22{padding-right:calc(22 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-22 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-22 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-23{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 23)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-23{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 23)}.ag-ltr .ag-row-group-indent-23{padding-left:calc(23 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-23{padding-right:calc(23 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-23 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-23 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-24{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 24)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-24{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 24)}.ag-ltr .ag-row-group-indent-24{padding-left:calc(24 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-24{padding-right:calc(24 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-24 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-24 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-25{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 25)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-25{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 25)}.ag-ltr .ag-row-group-indent-25{padding-left:calc(25 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-25{padding-right:calc(25 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-25 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-25 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-26{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 26)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-26{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 26)}.ag-ltr .ag-row-group-indent-26{padding-left:calc(26 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-26{padding-right:calc(26 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-26 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-26 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-27{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 27)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-27{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 27)}.ag-ltr .ag-row-group-indent-27{padding-left:calc(27 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-27{padding-right:calc(27 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-27 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-27 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-28{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 28)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-28{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 28)}.ag-ltr .ag-row-group-indent-28{padding-left:calc(28 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-28{padding-right:calc(28 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-28 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-28 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-29{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 29)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-29{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 29)}.ag-ltr .ag-row-group-indent-29{padding-left:calc(29 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-29{padding-right:calc(29 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-29 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-29 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-30{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 30)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-30{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 30)}.ag-ltr .ag-row-group-indent-30{padding-left:calc(30 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-30{padding-right:calc(30 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-30 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-30 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-31{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 31)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-31{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 31)}.ag-ltr .ag-row-group-indent-31{padding-left:calc(31 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-31{padding-right:calc(31 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-31 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-31 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-32{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 32)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-32{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 32)}.ag-ltr .ag-row-group-indent-32{padding-left:calc(32 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-32{padding-right:calc(32 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-32 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-32 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-33{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 33)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-33{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 33)}.ag-ltr .ag-row-group-indent-33{padding-left:calc(33 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-33{padding-right:calc(33 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-33 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-33 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-34{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 34)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-34{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 34)}.ag-ltr .ag-row-group-indent-34{padding-left:calc(34 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-34{padding-right:calc(34 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-34 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-34 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-35{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 35)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-35{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 35)}.ag-ltr .ag-row-group-indent-35{padding-left:calc(35 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-35{padding-right:calc(35 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-35 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-35 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-36{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 36)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-36{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 36)}.ag-ltr .ag-row-group-indent-36{padding-left:calc(36 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-36{padding-right:calc(36 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-36 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-36 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-37{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 37)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-37{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 37)}.ag-ltr .ag-row-group-indent-37{padding-left:calc(37 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-37{padding-right:calc(37 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-37 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-37 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-38{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 38)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-38{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 38)}.ag-ltr .ag-row-group-indent-38{padding-left:calc(38 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-38{padding-right:calc(38 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-38 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-38 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-39{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 39)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-39{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 39)}.ag-ltr .ag-row-group-indent-39{padding-left:calc(39 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-39{padding-right:calc(39 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-39 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-39 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-40{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 40)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-40{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 40)}.ag-ltr .ag-row-group-indent-40{padding-left:calc(40 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-40{padding-right:calc(40 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-40 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-40 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-41{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 41)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-41{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 41)}.ag-ltr .ag-row-group-indent-41{padding-left:calc(41 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-41{padding-right:calc(41 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-41 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-41 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-42{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 42)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-42{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 42)}.ag-ltr .ag-row-group-indent-42{padding-left:calc(42 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-42{padding-right:calc(42 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-42 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-42 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-43{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 43)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-43{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 43)}.ag-ltr .ag-row-group-indent-43{padding-left:calc(43 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-43{padding-right:calc(43 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-43 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-43 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-44{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 44)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-44{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 44)}.ag-ltr .ag-row-group-indent-44{padding-left:calc(44 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-44{padding-right:calc(44 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-44 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-44 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-45{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 45)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-45{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 45)}.ag-ltr .ag-row-group-indent-45{padding-left:calc(45 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-45{padding-right:calc(45 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-45 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-45 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-46{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 46)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-46{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 46)}.ag-ltr .ag-row-group-indent-46{padding-left:calc(46 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-46{padding-right:calc(46 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-46 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-46 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-47{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 47)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-47{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 47)}.ag-ltr .ag-row-group-indent-47{padding-left:calc(47 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-47{padding-right:calc(47 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-47 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-47 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-48{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 48)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-48{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 48)}.ag-ltr .ag-row-group-indent-48{padding-left:calc(48 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-48{padding-right:calc(48 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-48 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-48 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-49{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 49)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-49{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 49)}.ag-ltr .ag-row-group-indent-49{padding-left:calc(49 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-49{padding-right:calc(49 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-49 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-49 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-50{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 50)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-50{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 50)}.ag-ltr .ag-row-group-indent-50{padding-left:calc(50 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-50{padding-right:calc(50 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-50 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-50 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-51{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 51)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-51{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 51)}.ag-ltr .ag-row-group-indent-51{padding-left:calc(51 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-51{padding-right:calc(51 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-51 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-51 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-52{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 52)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-52{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 52)}.ag-ltr .ag-row-group-indent-52{padding-left:calc(52 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-52{padding-right:calc(52 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-52 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-52 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-53{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 53)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-53{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 53)}.ag-ltr .ag-row-group-indent-53{padding-left:calc(53 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-53{padding-right:calc(53 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-53 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-53 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-54{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 54)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-54{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 54)}.ag-ltr .ag-row-group-indent-54{padding-left:calc(54 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-54{padding-right:calc(54 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-54 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-54 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-55{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 55)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-55{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 55)}.ag-ltr .ag-row-group-indent-55{padding-left:calc(55 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-55{padding-right:calc(55 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-55 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-55 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-56{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 56)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-56{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 56)}.ag-ltr .ag-row-group-indent-56{padding-left:calc(56 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-56{padding-right:calc(56 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-56 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-56 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-57{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 57)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-57{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 57)}.ag-ltr .ag-row-group-indent-57{padding-left:calc(57 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-57{padding-right:calc(57 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-57 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-57 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-58{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 58)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-58{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 58)}.ag-ltr .ag-row-group-indent-58{padding-left:calc(58 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-58{padding-right:calc(58 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-58 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-58 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-59{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 59)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-59{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 59)}.ag-ltr .ag-row-group-indent-59{padding-left:calc(59 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-59{padding-right:calc(59 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-59 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-59 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-60{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 60)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-60{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 60)}.ag-ltr .ag-row-group-indent-60{padding-left:calc(60 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-60{padding-right:calc(60 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-60 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-60 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-61{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 61)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-61{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 61)}.ag-ltr .ag-row-group-indent-61{padding-left:calc(61 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-61{padding-right:calc(61 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-61 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-61 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-62{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 62)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-62{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 62)}.ag-ltr .ag-row-group-indent-62{padding-left:calc(62 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-62{padding-right:calc(62 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-62 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-62 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-63{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 63)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-63{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 63)}.ag-ltr .ag-row-group-indent-63{padding-left:calc(63 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-63{padding-right:calc(63 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-63 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-63 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-64{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 64)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-64{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 64)}.ag-ltr .ag-row-group-indent-64{padding-left:calc(64 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-64{padding-right:calc(64 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-64 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-64 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-65{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 65)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-65{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 65)}.ag-ltr .ag-row-group-indent-65{padding-left:calc(65 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-65{padding-right:calc(65 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-65 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-65 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-66{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 66)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-66{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 66)}.ag-ltr .ag-row-group-indent-66{padding-left:calc(66 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-66{padding-right:calc(66 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-66 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-66 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-67{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 67)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-67{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 67)}.ag-ltr .ag-row-group-indent-67{padding-left:calc(67 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-67{padding-right:calc(67 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-67 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-67 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-68{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 68)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-68{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 68)}.ag-ltr .ag-row-group-indent-68{padding-left:calc(68 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-68{padding-right:calc(68 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-68 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-68 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-69{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 69)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-69{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 69)}.ag-ltr .ag-row-group-indent-69{padding-left:calc(69 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-69{padding-right:calc(69 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-69 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-69 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-70{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 70)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-70{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 70)}.ag-ltr .ag-row-group-indent-70{padding-left:calc(70 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-70{padding-right:calc(70 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-70 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-70 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-71{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 71)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-71{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 71)}.ag-ltr .ag-row-group-indent-71{padding-left:calc(71 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-71{padding-right:calc(71 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-71 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-71 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-72{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 72)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-72{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 72)}.ag-ltr .ag-row-group-indent-72{padding-left:calc(72 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-72{padding-right:calc(72 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-72 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-72 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-73{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 73)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-73{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 73)}.ag-ltr .ag-row-group-indent-73{padding-left:calc(73 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-73{padding-right:calc(73 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-73 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-73 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-74{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 74)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-74{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 74)}.ag-ltr .ag-row-group-indent-74{padding-left:calc(74 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-74{padding-right:calc(74 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-74 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-74 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-75{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 75)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-75{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 75)}.ag-ltr .ag-row-group-indent-75{padding-left:calc(75 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-75{padding-right:calc(75 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-75 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-75 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-76{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 76)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-76{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 76)}.ag-ltr .ag-row-group-indent-76{padding-left:calc(76 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-76{padding-right:calc(76 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-76 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-76 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-77{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 77)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-77{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 77)}.ag-ltr .ag-row-group-indent-77{padding-left:calc(77 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-77{padding-right:calc(77 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-77 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-77 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-78{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 78)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-78{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 78)}.ag-ltr .ag-row-group-indent-78{padding-left:calc(78 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-78{padding-right:calc(78 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-78 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-78 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-79{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 79)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-79{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 79)}.ag-ltr .ag-row-group-indent-79{padding-left:calc(79 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-79{padding-right:calc(79 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-79 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-79 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-80{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 80)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-80{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 80)}.ag-ltr .ag-row-group-indent-80{padding-left:calc(80 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-80{padding-right:calc(80 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-80 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-80 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-81{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 81)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-81{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 81)}.ag-ltr .ag-row-group-indent-81{padding-left:calc(81 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-81{padding-right:calc(81 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-81 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-81 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-82{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 82)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-82{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 82)}.ag-ltr .ag-row-group-indent-82{padding-left:calc(82 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-82{padding-right:calc(82 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-82 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-82 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-83{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 83)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-83{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 83)}.ag-ltr .ag-row-group-indent-83{padding-left:calc(83 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-83{padding-right:calc(83 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-83 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-83 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-84{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 84)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-84{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 84)}.ag-ltr .ag-row-group-indent-84{padding-left:calc(84 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-84{padding-right:calc(84 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-84 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-84 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-85{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 85)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-85{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 85)}.ag-ltr .ag-row-group-indent-85{padding-left:calc(85 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-85{padding-right:calc(85 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-85 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-85 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-86{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 86)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-86{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 86)}.ag-ltr .ag-row-group-indent-86{padding-left:calc(86 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-86{padding-right:calc(86 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-86 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-86 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-87{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 87)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-87{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 87)}.ag-ltr .ag-row-group-indent-87{padding-left:calc(87 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-87{padding-right:calc(87 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-87 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-87 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-88{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 88)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-88{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 88)}.ag-ltr .ag-row-group-indent-88{padding-left:calc(88 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-88{padding-right:calc(88 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-88 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-88 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-89{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 89)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-89{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 89)}.ag-ltr .ag-row-group-indent-89{padding-left:calc(89 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-89{padding-right:calc(89 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-89 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-89 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-90{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 90)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-90{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 90)}.ag-ltr .ag-row-group-indent-90{padding-left:calc(90 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-90{padding-right:calc(90 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-90 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-90 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-91{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 91)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-91{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 91)}.ag-ltr .ag-row-group-indent-91{padding-left:calc(91 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-91{padding-right:calc(91 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-91 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-91 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-92{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 92)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-92{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 92)}.ag-ltr .ag-row-group-indent-92{padding-left:calc(92 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-92{padding-right:calc(92 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-92 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-92 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-93{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 93)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-93{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 93)}.ag-ltr .ag-row-group-indent-93{padding-left:calc(93 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-93{padding-right:calc(93 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-93 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-93 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-94{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 94)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-94{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 94)}.ag-ltr .ag-row-group-indent-94{padding-left:calc(94 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-94{padding-right:calc(94 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-94 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-94 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-95{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 95)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-95{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 95)}.ag-ltr .ag-row-group-indent-95{padding-left:calc(95 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-95{padding-right:calc(95 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-95 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-95 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-96{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 96)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-96{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 96)}.ag-ltr .ag-row-group-indent-96{padding-left:calc(96 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-96{padding-right:calc(96 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-96 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-96 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-97{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 97)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-97{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 97)}.ag-ltr .ag-row-group-indent-97{padding-left:calc(97 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-97{padding-right:calc(97 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-97 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-97 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-98{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 98)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-98{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 98)}.ag-ltr .ag-row-group-indent-98{padding-left:calc(98 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-98{padding-right:calc(98 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-98 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-98 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-99{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 99)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-99{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 99)}.ag-ltr .ag-row-group-indent-99{padding-left:calc(99 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-99{padding-right:calc(99 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-99 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-99 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row-group-leaf-indent{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-group-leaf-indent{margin-right:var(--ag-row-group-indent-size)}.ag-value-change-delta{padding-right:2px}.ag-value-change-delta-up{color:var(--ag-value-change-delta-up-color)}.ag-value-change-delta-down{color:var(--ag-value-change-delta-down-color)}.ag-value-change-value{background-color:transparent;border-radius:1px;padding-left:1px;padding-right:1px;transition:background-color 1s}.ag-value-change-value-highlight{background-color:var(--ag-value-change-value-highlight-background-color);transition:background-color .1s}.ag-cell-data-changed{background-color:var(--ag-value-change-value-highlight-background-color)!important}.ag-cell-data-changed-animation{background-color:transparent}.ag-cell-highlight{background-color:var(--ag-range-selection-highlight-color)!important}.ag-row{height:var(--ag-row-height);background-color:var(--ag-background-color);color:var(--ag-data-color);border-bottom:var(--ag-row-border-style) var(--ag-row-border-color) var(--ag-row-border-width)}.ag-row-highlight-above:after,.ag-row-highlight-below:after{content:"";position:absolute;width:calc(100% - 1px);height:1px;background-color:var(--ag-range-selection-border-color);left:1px}.ag-row-highlight-above:after{top:-1px}.ag-row-highlight-above.ag-row-first:after{top:0}.ag-row-highlight-below:after{bottom:0}.ag-row-odd{background-color:var(--ag-odd-row-background-color)}.ag-body-horizontal-scroll:not(.ag-scrollbar-invisible) .ag-horizontal-left-spacer:not(.ag-scroller-corner){border-right:var(--ag-borders-critical) var(--ag-border-color)}.ag-body-horizontal-scroll:not(.ag-scrollbar-invisible) .ag-horizontal-right-spacer:not(.ag-scroller-corner){border-left:var(--ag-borders-critical) var(--ag-border-color)}.ag-row-selected:before{content:"";background-color:var(--ag-selected-row-background-color);display:block;position:absolute;top:0;left:0;right:0;bottom:0}.ag-row-hover:not(.ag-full-width-row):before,.ag-row-hover.ag-full-width-row.ag-row-group:before{content:"";background-color:var(--ag-row-hover-color);display:block;position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none}.ag-row-hover.ag-full-width-row.ag-row-group>*{position:relative}.ag-row-hover.ag-row-selected:before{background-color:var(--ag-row-hover-color);background-image:linear-gradient(var(--ag-selected-row-background-color),var(--ag-selected-row-background-color))}.ag-column-hover{background-color:var(--ag-column-hover-color)}.ag-ltr .ag-right-aligned-cell{text-align:right}.ag-rtl .ag-right-aligned-cell{text-align:left}.ag-ltr .ag-right-aligned-cell .ag-cell-value,.ag-ltr .ag-right-aligned-cell .ag-group-value{margin-left:auto}.ag-rtl .ag-right-aligned-cell .ag-cell-value,.ag-rtl .ag-right-aligned-cell .ag-group-value{margin-right:auto}.ag-cell,.ag-full-width-row .ag-cell-wrapper.ag-row-group{--ag-internal-calculated-line-height: var(--ag-line-height, calc(var(--ag-row-height) - var(--ag-row-border-width)));--ag-internal-padded-row-height: calc(var(--ag-row-height) - var(--ag-row-border-width));border:1px solid transparent;line-height:min(var(--ag-internal-calculated-line-height),var(--ag-internal-padded-row-height));padding-left:calc(var(--ag-cell-horizontal-padding) - 1px);padding-right:calc(var(--ag-cell-horizontal-padding) - 1px);-webkit-font-smoothing:subpixel-antialiased}.ag-row>.ag-cell-wrapper{padding-left:calc(var(--ag-cell-horizontal-padding) - 1px);padding-right:calc(var(--ag-cell-horizontal-padding) - 1px)}.ag-row-dragging{cursor:move;opacity:.5}.ag-cell-inline-editing{border:1px solid var(--ag-border-color);border-radius:var(--ag-card-radius);box-shadow:var(--ag-card-shadow);padding:0;background-color:var(--ag-control-panel-background-color)}.ag-popup-editor .ag-large-text,.ag-autocomplete-list-popup{border:var(--ag-borders) var(--ag-border-color);background:var(--ag-background-color);border-radius:var(--ag-card-radius);box-shadow:var(--ag-card-shadow);padding:var(--ag-grid-size);background-color:var(--ag-control-panel-background-color);padding:0}.ag-large-text-input{height:auto;padding:var(--ag-cell-horizontal-padding)}.ag-rtl .ag-large-text-input textarea{resize:none}.ag-details-row{padding:calc(var(--ag-grid-size) * 5);background-color:var(--ag-background-color)}.ag-layout-auto-height .ag-center-cols-viewport,.ag-layout-auto-height .ag-center-cols-container,.ag-layout-print .ag-center-cols-viewport,.ag-layout-print .ag-center-cols-container{min-height:50px}.ag-overlay-loading-wrapper{background-color:var(--ag-modal-overlay-background-color)}.ag-overlay-loading-center{border:var(--ag-borders) var(--ag-border-color);background:var(--ag-background-color);border-radius:var(--ag-card-radius);box-shadow:var(--ag-card-shadow);padding:var(--ag-grid-size)}.ag-overlay-no-rows-wrapper.ag-layout-auto-height{padding-top:30px}.ag-loading{display:flex;height:100%;align-items:center}.ag-ltr .ag-loading{padding-left:var(--ag-cell-horizontal-padding)}.ag-rtl .ag-loading{padding-right:var(--ag-cell-horizontal-padding)}.ag-ltr .ag-loading-icon{padding-right:var(--ag-cell-widget-spacing)}.ag-rtl .ag-loading-icon{padding-left:var(--ag-cell-widget-spacing)}.ag-icon-loading{animation-name:spin;animation-duration:1s;animation-iteration-count:infinite;animation-timing-function:linear}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ag-floating-top{border-bottom:var(--ag-borders-critical) var(--ag-border-color)}.ag-floating-bottom{border-top:var(--ag-borders-critical) var(--ag-border-color)}.ag-ltr .ag-cell{border-right:var(--ag-cell-horizontal-border)}.ag-rtl .ag-cell{border-left:var(--ag-cell-horizontal-border)}.ag-ltr .ag-cell{border-right-width:1px}.ag-rtl .ag-cell{border-left-width:1px}.ag-cell.ag-cell-first-right-pinned:not(.ag-cell-range-left):not(.ag-cell-range-single-cell){border-left:var(--ag-borders-critical) var(--ag-border-color)}.ag-cell.ag-cell-last-left-pinned:not(.ag-cell-range-right):not(.ag-cell-range-single-cell){border-right:var(--ag-borders-critical) var(--ag-border-color)}.ag-cell-range-selected:not(.ag-cell-focus),.ag-body-viewport:not(.ag-has-focus) .ag-cell-range-single-cell:not(.ag-cell-inline-editing){background-color:var(--ag-range-selection-background-color)}.ag-cell-range-selected:not(.ag-cell-focus).ag-cell-range-chart,.ag-body-viewport:not(.ag-has-focus) .ag-cell-range-single-cell:not(.ag-cell-inline-editing).ag-cell-range-chart{background-color:var(--ag-range-selection-chart-background-color)!important}.ag-cell-range-selected:not(.ag-cell-focus).ag-cell-range-chart.ag-cell-range-chart-category,.ag-body-viewport:not(.ag-has-focus) .ag-cell-range-single-cell:not(.ag-cell-inline-editing).ag-cell-range-chart.ag-cell-range-chart-category{background-color:var(--ag-range-selection-chart-category-background-color)!important}.ag-cell-range-selected-1:not(.ag-cell-focus),.ag-root:not(.ag-context-menu-open) .ag-body-viewport:not(.ag-has-focus) .ag-cell-range-selected-1:not(.ag-cell-inline-editing){background-color:var(--ag-range-selection-background-color)}.ag-cell-range-selected-2:not(.ag-cell-focus),.ag-body-viewport:not(.ag-has-focus) .ag-cell-range-selected-2{background-color:var(--ag-range-selection-background-color-2)}.ag-cell-range-selected-3:not(.ag-cell-focus),.ag-body-viewport:not(.ag-has-focus) .ag-cell-range-selected-3{background-color:var(--ag-range-selection-background-color-3)}.ag-cell-range-selected-4:not(.ag-cell-focus),.ag-body-viewport:not(.ag-has-focus) .ag-cell-range-selected-4{background-color:var(--ag-range-selection-background-color-4)}.ag-cell.ag-cell-range-selected:not(.ag-cell-range-single-cell).ag-cell-range-top{border-top-color:var(--ag-range-selection-border-color);border-top-style:var(--ag-range-selection-border-style)}.ag-cell.ag-cell-range-selected:not(.ag-cell-range-single-cell).ag-cell-range-right{border-right-color:var(--ag-range-selection-border-color);border-right-style:var(--ag-range-selection-border-style)}.ag-cell.ag-cell-range-selected:not(.ag-cell-range-single-cell).ag-cell-range-bottom{border-bottom-color:var(--ag-range-selection-border-color);border-bottom-style:var(--ag-range-selection-border-style)}.ag-cell.ag-cell-range-selected:not(.ag-cell-range-single-cell).ag-cell-range-left{border-left-color:var(--ag-range-selection-border-color);border-left-style:var(--ag-range-selection-border-style)}.ag-ltr .ag-cell-focus:not(.ag-cell-range-selected):focus-within,.ag-ltr .ag-context-menu-open .ag-cell-focus:not(.ag-cell-range-selected),.ag-ltr .ag-full-width-row.ag-row-focus:focus .ag-cell-wrapper.ag-row-group,.ag-ltr .ag-cell-range-single-cell,.ag-ltr .ag-cell-range-single-cell.ag-cell-range-handle,.ag-rtl .ag-cell-focus:not(.ag-cell-range-selected):focus-within,.ag-rtl .ag-context-menu-open .ag-cell-focus:not(.ag-cell-range-selected),.ag-rtl .ag-full-width-row.ag-row-focus:focus .ag-cell-wrapper.ag-row-group,.ag-rtl .ag-cell-range-single-cell,.ag-rtl .ag-cell-range-single-cell.ag-cell-range-handle{border:1px solid;border-color:var(--ag-range-selection-border-color);border-style:var(--ag-range-selection-border-style);outline:initial}.ag-cell.ag-selection-fill-top,.ag-cell.ag-selection-fill-top.ag-cell-range-selected{border-top:1px dashed;border-top-color:var(--ag-range-selection-border-color)}.ag-ltr .ag-cell.ag-selection-fill-right,.ag-ltr .ag-cell.ag-selection-fill-right.ag-cell-range-selected{border-right:1px dashed var(--ag-range-selection-border-color)!important}.ag-rtl .ag-cell.ag-selection-fill-right,.ag-rtl .ag-cell.ag-selection-fill-right.ag-cell-range-selected{border-left:1px dashed var(--ag-range-selection-border-color)!important}.ag-cell.ag-selection-fill-bottom,.ag-cell.ag-selection-fill-bottom.ag-cell-range-selected{border-bottom:1px dashed;border-bottom-color:var(--ag-range-selection-border-color)}.ag-ltr .ag-cell.ag-selection-fill-left,.ag-ltr .ag-cell.ag-selection-fill-left.ag-cell-range-selected{border-left:1px dashed var(--ag-range-selection-border-color)!important}.ag-rtl .ag-cell.ag-selection-fill-left,.ag-rtl .ag-cell.ag-selection-fill-left.ag-cell-range-selected{border-right:1px dashed var(--ag-range-selection-border-color)!important}.ag-fill-handle,.ag-range-handle{position:absolute;width:6px;height:6px;bottom:-1px;background-color:var(--ag-range-selection-border-color)}.ag-ltr .ag-fill-handle,.ag-ltr .ag-range-handle{right:-1px}.ag-rtl .ag-fill-handle,.ag-rtl .ag-range-handle{left:-1px}.ag-fill-handle{cursor:cell}.ag-range-handle{cursor:nwse-resize}.ag-cell-inline-editing{border-color:var(--ag-input-focus-border-color)!important}.ag-menu{border:var(--ag-borders) var(--ag-border-color);background:var(--ag-background-color);border-radius:var(--ag-card-radius);box-shadow:var(--ag-card-shadow);padding:var(--ag-grid-size);background-color:var(--ag-menu-background-color);border-color:var(--ag-menu-border-color);padding:0}.ag-menu-list{cursor:default;padding:var(--ag-grid-size) 0}.ag-menu-separator{height:calc(var(--ag-grid-size) * 2 + 1px)}.ag-menu-separator-part:after{content:"";display:block;border-top:var(--ag-borders-critical) var(--ag-border-color)}.ag-menu-option-active,.ag-compact-menu-option-active{background-color:var(--ag-row-hover-color)}.ag-menu-option-part,.ag-compact-menu-option-part{line-height:var(--ag-icon-size);padding:calc(var(--ag-grid-size) + 2px) 0}.ag-menu-option-disabled,.ag-compact-menu-option-disabled{opacity:.5}.ag-menu-option-icon,.ag-compact-menu-option-icon{width:var(--ag-icon-size)}.ag-ltr .ag-menu-option-icon,.ag-ltr .ag-compact-menu-option-icon{padding-left:calc(var(--ag-grid-size) * 2)}.ag-rtl .ag-menu-option-icon,.ag-rtl .ag-compact-menu-option-icon{padding-right:calc(var(--ag-grid-size) * 2)}.ag-menu-option-text,.ag-compact-menu-option-text{padding-left:calc(var(--ag-grid-size) * 2);padding-right:calc(var(--ag-grid-size) * 2)}.ag-ltr .ag-menu-option-shortcut,.ag-ltr .ag-compact-menu-option-shortcut{padding-right:var(--ag-grid-size)}.ag-rtl .ag-menu-option-shortcut,.ag-rtl .ag-compact-menu-option-shortcut{padding-left:var(--ag-grid-size)}.ag-ltr .ag-menu-option-popup-pointer,.ag-ltr .ag-compact-menu-option-popup-pointer{padding-right:var(--ag-grid-size)}.ag-rtl .ag-menu-option-popup-pointer,.ag-rtl .ag-compact-menu-option-popup-pointer{padding-left:var(--ag-grid-size)}.ag-tabs{min-width:var(--ag-tab-min-width)}.ag-tabs-header{display:flex}.ag-tab{border-bottom:var(--ag-selected-tab-underline-width) solid transparent;transition:border-bottom var(--ag-selected-tab-underline-transition-speed);display:flex;flex:none;align-items:center;justify-content:center;cursor:pointer}.ag-tab:focus-visible{outline:none}.ag-tab:focus-visible:after{content:"";position:absolute;background-color:transparent;pointer-events:none;top:4px;left:4px;display:block;width:calc(100% - 8px);height:calc(100% - 8px);border:1px solid;border-color:var(--ag-input-focus-border-color)}.ag-tab-selected{border-bottom-color:var(--ag-selected-tab-underline-color)}.ag-menu-header{color:var(--ag-secondary-foreground-color)}.ag-filter-separator{border-top:var(--ag-borders-critical) var(--ag-border-color)}.ag-filter-select .ag-picker-field-wrapper{width:0}.ag-filter-condition-operator{height:17px}.ag-ltr .ag-filter-condition-operator-or{margin-left:calc(var(--ag-grid-size) * 2)}.ag-rtl .ag-filter-condition-operator-or{margin-right:calc(var(--ag-grid-size) * 2)}.ag-set-filter-select-all{padding-top:var(--ag-widget-container-vertical-padding)}.ag-set-filter-list,.ag-filter-no-matches{height:calc(var(--ag-list-item-height) * 6)}.ag-set-filter-tree-list{height:calc(var(--ag-list-item-height) * 10)}.ag-set-filter-filter{margin-top:var(--ag-widget-container-vertical-padding);margin-left:var(--ag-widget-container-horizontal-padding);margin-right:var(--ag-widget-container-horizontal-padding)}.ag-filter-to{margin-top:var(--ag-widget-vertical-spacing)}.ag-mini-filter{margin:var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding)}.ag-set-filter-item{padding:0px var(--ag-widget-container-horizontal-padding)}.ag-ltr .ag-set-filter-indent-1{padding-left:calc(var(--ag-widget-container-horizontal-padding) + 1 * var(--ag-set-filter-indent-size))}.ag-rtl .ag-set-filter-indent-1{padding-right:calc(var(--ag-widget-container-horizontal-padding) + 1 * var(--ag-set-filter-indent-size))}.ag-ltr .ag-set-filter-indent-2{padding-left:calc(var(--ag-widget-container-horizontal-padding) + 2 * var(--ag-set-filter-indent-size))}.ag-rtl .ag-set-filter-indent-2{padding-right:calc(var(--ag-widget-container-horizontal-padding) + 2 * var(--ag-set-filter-indent-size))}.ag-ltr .ag-set-filter-indent-3{padding-left:calc(var(--ag-widget-container-horizontal-padding) + 3 * var(--ag-set-filter-indent-size))}.ag-rtl .ag-set-filter-indent-3{padding-right:calc(var(--ag-widget-container-horizontal-padding) + 3 * var(--ag-set-filter-indent-size))}.ag-ltr .ag-set-filter-indent-4{padding-left:calc(var(--ag-widget-container-horizontal-padding) + 4 * var(--ag-set-filter-indent-size))}.ag-rtl .ag-set-filter-indent-4{padding-right:calc(var(--ag-widget-container-horizontal-padding) + 4 * var(--ag-set-filter-indent-size))}.ag-ltr .ag-set-filter-indent-5{padding-left:calc(var(--ag-widget-container-horizontal-padding) + 5 * var(--ag-set-filter-indent-size))}.ag-rtl .ag-set-filter-indent-5{padding-right:calc(var(--ag-widget-container-horizontal-padding) + 5 * var(--ag-set-filter-indent-size))}.ag-ltr .ag-set-filter-indent-6{padding-left:calc(var(--ag-widget-container-horizontal-padding) + 6 * var(--ag-set-filter-indent-size))}.ag-rtl .ag-set-filter-indent-6{padding-right:calc(var(--ag-widget-container-horizontal-padding) + 6 * var(--ag-set-filter-indent-size))}.ag-ltr .ag-set-filter-indent-7{padding-left:calc(var(--ag-widget-container-horizontal-padding) + 7 * var(--ag-set-filter-indent-size))}.ag-rtl .ag-set-filter-indent-7{padding-right:calc(var(--ag-widget-container-horizontal-padding) + 7 * var(--ag-set-filter-indent-size))}.ag-ltr .ag-set-filter-indent-8{padding-left:calc(var(--ag-widget-container-horizontal-padding) + 8 * var(--ag-set-filter-indent-size))}.ag-rtl .ag-set-filter-indent-8{padding-right:calc(var(--ag-widget-container-horizontal-padding) + 8 * var(--ag-set-filter-indent-size))}.ag-ltr .ag-set-filter-indent-9{padding-left:calc(var(--ag-widget-container-horizontal-padding) + 9 * var(--ag-set-filter-indent-size))}.ag-rtl .ag-set-filter-indent-9{padding-right:calc(var(--ag-widget-container-horizontal-padding) + 9 * var(--ag-set-filter-indent-size))}.ag-ltr .ag-set-filter-add-group-indent{margin-left:calc(var(--ag-icon-size) + var(--ag-widget-container-horizontal-padding))}.ag-rtl .ag-set-filter-add-group-indent{margin-right:calc(var(--ag-icon-size) + var(--ag-widget-container-horizontal-padding))}.ag-ltr .ag-set-filter-group-icons{margin-right:var(--ag-widget-container-horizontal-padding)}.ag-rtl .ag-set-filter-group-icons{margin-left:var(--ag-widget-container-horizontal-padding)}.ag-filter-menu .ag-set-filter-list{min-width:200px}.ag-filter-virtual-list-item:focus-visible{outline:none}.ag-filter-virtual-list-item:focus-visible:after{content:"";position:absolute;background-color:transparent;pointer-events:none;top:1px;left:1px;display:block;width:calc(100% - 2px);height:calc(100% - 2px);border:1px solid;border-color:var(--ag-input-focus-border-color)}.ag-filter-apply-panel{padding:var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding);border-top:var(--ag-borders-secondary) var(--ag-secondary-border-color)}.ag-filter-apply-panel-button{line-height:1.5}.ag-ltr .ag-filter-apply-panel-button{margin-left:calc(var(--ag-grid-size) * 2)}.ag-rtl .ag-filter-apply-panel-button{margin-right:calc(var(--ag-grid-size) * 2)}.ag-simple-filter-body-wrapper{padding:var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding);padding-bottom:calc(var(--ag-widget-container-vertical-padding) - var(--ag-widget-vertical-spacing));overflow-y:auto;min-height:calc(var(--ag-list-item-height) + var(--ag-widget-container-vertical-padding) + var(--ag-widget-vertical-spacing))}.ag-simple-filter-body-wrapper>*{margin-bottom:var(--ag-widget-vertical-spacing)}.ag-simple-filter-body-wrapper .ag-resizer-wrapper{margin:0}.ag-menu:not(.ag-tabs) .ag-filter .ag-simple-filter-body-wrapper,.ag-menu:not(.ag-tabs) .ag-filter>*:not(.ag-filter-wrapper){min-width:calc(var(--ag-menu-min-width) - 2px)}.ag-filter-no-matches{padding:var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding)}.ag-multi-filter-menu-item{margin:var(--ag-grid-size) 0}.ag-multi-filter-group-title-bar{padding:calc(var(--ag-grid-size) * 2) var(--ag-grid-size);background-color:transparent}.ag-group-filter-field-select-wrapper{padding:var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding);padding-bottom:calc(var(--ag-widget-container-vertical-padding) - var(--ag-widget-vertical-spacing))}.ag-group-filter-field-select-wrapper>*{margin-bottom:var(--ag-widget-vertical-spacing)}.ag-multi-filter-group-title-bar:focus-visible{outline:none}.ag-multi-filter-group-title-bar:focus-visible:after{content:"";position:absolute;background-color:transparent;pointer-events:none;top:4px;left:4px;display:block;width:calc(100% - 8px);height:calc(100% - 8px);border:1px solid;border-color:var(--ag-input-focus-border-color)}.ag-side-bar{position:relative}.ag-tool-panel-wrapper{width:var(--ag-side-bar-panel-width);background-color:var(--ag-control-panel-background-color)}.ag-side-buttons{padding-top:calc(var(--ag-grid-size) * 4);width:calc(var(--ag-icon-size) + 4px);position:relative;overflow:hidden}button.ag-side-button-button{color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;background:transparent;padding:calc(var(--ag-grid-size) * 2) 0 calc(var(--ag-grid-size) * 2) 0;width:100%;margin:0;min-height:calc(var(--ag-grid-size) * 18);background-position-y:center;background-position-x:center;background-repeat:no-repeat;border:none;border-top:var(--ag-borders-side-button) var(--ag-border-color);border-bottom:var(--ag-borders-side-button) var(--ag-border-color)}button.ag-side-button-button:focus{box-shadow:none}.ag-side-button-button:focus-visible{outline:none}.ag-side-button-button:focus-visible:after{content:"";position:absolute;background-color:transparent;pointer-events:none;top:4px;left:4px;display:block;width:calc(100% - 8px);height:calc(100% - 8px);border:1px solid;border-color:var(--ag-input-focus-border-color)}.ag-selected button.ag-side-button-button{background-color:var(--ag-side-button-selected-background-color)}.ag-side-button-icon-wrapper{margin-bottom:3px}.ag-ltr .ag-side-bar-left,.ag-rtl .ag-side-bar-right{border-right:var(--ag-borders) var(--ag-border-color)}.ag-ltr .ag-side-bar-left .ag-tool-panel-wrapper,.ag-rtl .ag-side-bar-right .ag-tool-panel-wrapper{border-left:var(--ag-borders) var(--ag-border-color)}.ag-ltr .ag-side-bar-left .ag-side-button-button,.ag-rtl .ag-side-bar-right .ag-side-button-button{border-right:var(--ag-selected-tab-underline-width) solid transparent;transition:border-right var(--ag-selected-tab-underline-transition-speed)}.ag-ltr .ag-side-bar-left .ag-selected .ag-side-button-button,.ag-rtl .ag-side-bar-right .ag-selected .ag-side-button-button{border-right-color:var(--ag-selected-tab-underline-color)}.ag-rtl .ag-side-bar-left,.ag-ltr .ag-side-bar-right{border-left:var(--ag-borders) var(--ag-border-color)}.ag-rtl .ag-side-bar-left .ag-tool-panel-wrapper,.ag-ltr .ag-side-bar-right .ag-tool-panel-wrapper{border-right:var(--ag-borders) var(--ag-border-color)}.ag-rtl .ag-side-bar-left .ag-side-button-button,.ag-ltr .ag-side-bar-right .ag-side-button-button{border-left:var(--ag-selected-tab-underline-width) solid transparent;transition:border-left var(--ag-selected-tab-underline-transition-speed)}.ag-rtl .ag-side-bar-left .ag-selected .ag-side-button-button,.ag-ltr .ag-side-bar-right .ag-selected .ag-side-button-button{border-left-color:var(--ag-selected-tab-underline-color)}.ag-filter-toolpanel-header{height:calc(var(--ag-grid-size) * 6)}.ag-filter-toolpanel-header,.ag-filter-toolpanel-search{padding:0 var(--ag-grid-size)}.ag-filter-toolpanel-header:focus-visible{outline:none}.ag-filter-toolpanel-header:focus-visible:after{content:"";position:absolute;background-color:transparent;pointer-events:none;top:4px;left:4px;display:block;width:calc(100% - 8px);height:calc(100% - 8px);border:1px solid;border-color:var(--ag-input-focus-border-color)}.ag-filter-toolpanel-group.ag-has-filter>.ag-group-title-bar .ag-group-title:after{font-family:var(--ag-icon-font-family);font-weight:var(--ag-icon-font-weight);color:var(--ag-icon-font-color);font-size:var(--ag-icon-size);line-height:var(--ag-icon-size);font-style:normal;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:var(--ag-icon-font-code-filter, "");position:absolute}.ag-ltr .ag-filter-toolpanel-group.ag-has-filter>.ag-group-title-bar .ag-group-title:after{padding-left:var(--ag-grid-size)}.ag-rtl .ag-filter-toolpanel-group.ag-has-filter>.ag-group-title-bar .ag-group-title:after{padding-right:var(--ag-grid-size)}.ag-filter-toolpanel-group-level-0-header{height:calc(var(--ag-grid-size) * 8)}.ag-filter-toolpanel-group-item{margin-top:calc(var(--ag-grid-size) * .5);margin-bottom:calc(var(--ag-grid-size) * .5)}.ag-filter-toolpanel-search{height:var(--ag-header-height)}.ag-filter-toolpanel-search-input{flex-grow:1;height:calc(var(--ag-grid-size) * 4)}.ag-ltr .ag-filter-toolpanel-search-input{margin-right:var(--ag-grid-size)}.ag-rtl .ag-filter-toolpanel-search-input{margin-left:var(--ag-grid-size)}.ag-filter-toolpanel-group-level-0{border-top:var(--ag-borders-secondary) var(--ag-secondary-border-color)}.ag-ltr .ag-filter-toolpanel-expand,.ag-ltr .ag-filter-toolpanel-group-title-bar-icon{margin-right:var(--ag-grid-size)}.ag-rtl .ag-filter-toolpanel-expand,.ag-rtl .ag-filter-toolpanel-group-title-bar-icon{margin-left:var(--ag-grid-size)}.ag-filter-toolpanel-group-level-1 .ag-filter-toolpanel-group-level-1-header.ag-filter-toolpanel-group-title-bar{background-color:transparent}.ag-ltr .ag-filter-toolpanel-group-level-1 .ag-filter-toolpanel-group-level-2-header{padding-left:calc(var(--ag-filter-tool-panel-group-indent) * 1 + var(--ag-grid-size))}.ag-rtl .ag-filter-toolpanel-group-level-1 .ag-filter-toolpanel-group-level-2-header{padding-right:calc(var(--ag-filter-tool-panel-group-indent) * 1 + var(--ag-grid-size))}.ag-filter-toolpanel-group-level-2 .ag-filter-toolpanel-group-level-2-header.ag-filter-toolpanel-group-title-bar{background-color:transparent}.ag-ltr .ag-filter-toolpanel-group-level-2 .ag-filter-toolpanel-group-level-3-header{padding-left:calc(var(--ag-filter-tool-panel-group-indent) * 2 + var(--ag-grid-size))}.ag-rtl .ag-filter-toolpanel-group-level-2 .ag-filter-toolpanel-group-level-3-header{padding-right:calc(var(--ag-filter-tool-panel-group-indent) * 2 + var(--ag-grid-size))}.ag-filter-toolpanel-group-level-3 .ag-filter-toolpanel-group-level-3-header.ag-filter-toolpanel-group-title-bar{background-color:transparent}.ag-ltr .ag-filter-toolpanel-group-level-3 .ag-filter-toolpanel-group-level-4-header{padding-left:calc(var(--ag-filter-tool-panel-group-indent) * 3 + var(--ag-grid-size))}.ag-rtl .ag-filter-toolpanel-group-level-3 .ag-filter-toolpanel-group-level-4-header{padding-right:calc(var(--ag-filter-tool-panel-group-indent) * 3 + var(--ag-grid-size))}.ag-filter-toolpanel-group-level-4 .ag-filter-toolpanel-group-level-4-header.ag-filter-toolpanel-group-title-bar{background-color:transparent}.ag-ltr .ag-filter-toolpanel-group-level-4 .ag-filter-toolpanel-group-level-5-header{padding-left:calc(var(--ag-filter-tool-panel-group-indent) * 4 + var(--ag-grid-size))}.ag-rtl .ag-filter-toolpanel-group-level-4 .ag-filter-toolpanel-group-level-5-header{padding-right:calc(var(--ag-filter-tool-panel-group-indent) * 4 + var(--ag-grid-size))}.ag-filter-toolpanel-group-level-5 .ag-filter-toolpanel-group-level-5-header.ag-filter-toolpanel-group-title-bar{background-color:transparent}.ag-ltr .ag-filter-toolpanel-group-level-5 .ag-filter-toolpanel-group-level-6-header{padding-left:calc(var(--ag-filter-tool-panel-group-indent) * 5 + var(--ag-grid-size))}.ag-rtl .ag-filter-toolpanel-group-level-5 .ag-filter-toolpanel-group-level-6-header{padding-right:calc(var(--ag-filter-tool-panel-group-indent) * 5 + var(--ag-grid-size))}.ag-filter-toolpanel-group-level-6 .ag-filter-toolpanel-group-level-6-header.ag-filter-toolpanel-group-title-bar{background-color:transparent}.ag-ltr .ag-filter-toolpanel-group-level-6 .ag-filter-toolpanel-group-level-7-header{padding-left:calc(var(--ag-filter-tool-panel-group-indent) * 6 + var(--ag-grid-size))}.ag-rtl .ag-filter-toolpanel-group-level-6 .ag-filter-toolpanel-group-level-7-header{padding-right:calc(var(--ag-filter-tool-panel-group-indent) * 6 + var(--ag-grid-size))}.ag-filter-toolpanel-group-level-7 .ag-filter-toolpanel-group-level-7-header.ag-filter-toolpanel-group-title-bar{background-color:transparent}.ag-ltr .ag-filter-toolpanel-group-level-7 .ag-filter-toolpanel-group-level-8-header{padding-left:calc(var(--ag-filter-tool-panel-group-indent) * 7 + var(--ag-grid-size))}.ag-rtl .ag-filter-toolpanel-group-level-7 .ag-filter-toolpanel-group-level-8-header{padding-right:calc(var(--ag-filter-tool-panel-group-indent) * 7 + var(--ag-grid-size))}.ag-filter-toolpanel-group-level-8 .ag-filter-toolpanel-group-level-8-header.ag-filter-toolpanel-group-title-bar{background-color:transparent}.ag-ltr .ag-filter-toolpanel-group-level-8 .ag-filter-toolpanel-group-level-9-header{padding-left:calc(var(--ag-filter-tool-panel-group-indent) * 8 + var(--ag-grid-size))}.ag-rtl .ag-filter-toolpanel-group-level-8 .ag-filter-toolpanel-group-level-9-header{padding-right:calc(var(--ag-filter-tool-panel-group-indent) * 8 + var(--ag-grid-size))}.ag-filter-toolpanel-group-level-9 .ag-filter-toolpanel-group-level-9-header.ag-filter-toolpanel-group-title-bar{background-color:transparent}.ag-ltr .ag-filter-toolpanel-group-level-9 .ag-filter-toolpanel-group-level-10-header{padding-left:calc(var(--ag-filter-tool-panel-group-indent) * 9 + var(--ag-grid-size))}.ag-rtl .ag-filter-toolpanel-group-level-9 .ag-filter-toolpanel-group-level-10-header{padding-right:calc(var(--ag-filter-tool-panel-group-indent) * 9 + var(--ag-grid-size))}.ag-filter-toolpanel-group-level-10 .ag-filter-toolpanel-group-level-10-header.ag-filter-toolpanel-group-title-bar{background-color:transparent}.ag-ltr .ag-filter-toolpanel-group-level-10 .ag-filter-toolpanel-group-level-11-header{padding-left:calc(var(--ag-filter-tool-panel-group-indent) * 10 + var(--ag-grid-size))}.ag-rtl .ag-filter-toolpanel-group-level-10 .ag-filter-toolpanel-group-level-11-header{padding-right:calc(var(--ag-filter-tool-panel-group-indent) * 10 + var(--ag-grid-size))}.ag-filter-toolpanel-instance-header.ag-filter-toolpanel-group-level-1-header{padding-left:var(--ag-grid-size)}.ag-filter-toolpanel-instance-filter{border-bottom:var(--ag-borders) var(--ag-border-color);border-top:var(--ag-borders) var(--ag-border-color);margin-top:var(--ag-grid-size)}.ag-ltr .ag-filter-toolpanel-instance-header-icon{margin-left:var(--ag-grid-size)}.ag-rtl .ag-filter-toolpanel-instance-header-icon{margin-right:var(--ag-grid-size)}.ag-set-filter-group-icons{color:var(--ag-secondary-foreground-color)}.ag-pivot-mode-panel{min-height:var(--ag-header-height);height:var(--ag-header-height);display:flex}.ag-pivot-mode-select{display:flex;align-items:center}.ag-ltr .ag-pivot-mode-select{margin-left:var(--ag-widget-container-horizontal-padding)}.ag-rtl .ag-pivot-mode-select{margin-right:var(--ag-widget-container-horizontal-padding)}.ag-column-select-header:focus-visible{outline:none}.ag-column-select-header:focus-visible:after{content:"";position:absolute;background-color:transparent;pointer-events:none;top:4px;left:4px;display:block;width:calc(100% - 8px);height:calc(100% - 8px);border:1px solid;border-color:var(--ag-input-focus-border-color)}.ag-column-select-header{height:var(--ag-header-height);align-items:center;padding:0 var(--ag-widget-container-horizontal-padding);border-bottom:var(--ag-borders-secondary) var(--ag-secondary-border-color)}.ag-column-panel-column-select{border-bottom:var(--ag-borders-secondary) var(--ag-secondary-border-color);border-top:var(--ag-borders-secondary) var(--ag-secondary-border-color)}.ag-column-group-icons,.ag-column-select-header-icon{color:var(--ag-secondary-foreground-color)}.ag-column-select-list .ag-list-item-hovered:after{content:"";position:absolute;left:0;right:0;height:1px;background-color:var(--ag-range-selection-border-color)}.ag-column-select-list .ag-item-highlight-top:after{top:0}.ag-column-select-list .ag-item-highlight-bottom:after{bottom:0}.ag-header,.ag-advanced-filter-header{background-color:var(--ag-header-background-color);border-bottom:var(--ag-borders-critical) var(--ag-border-color)}.ag-header-row{color:var(--ag-header-foreground-color);height:var(--ag-header-height)}.ag-pinned-right-header{border-left:var(--ag-borders-critical) var(--ag-border-color)}.ag-pinned-left-header{border-right:var(--ag-borders-critical) var(--ag-border-color)}.ag-ltr .ag-header-cell:not(.ag-right-aligned-header) .ag-header-label-icon,.ag-ltr .ag-header-cell:not(.ag-right-aligned-header) .ag-header-menu-icon{margin-left:var(--ag-grid-size)}.ag-rtl .ag-header-cell:not(.ag-right-aligned-header) .ag-header-label-icon,.ag-rtl .ag-header-cell:not(.ag-right-aligned-header) .ag-header-menu-icon{margin-right:var(--ag-grid-size)}.ag-ltr .ag-header-cell.ag-right-aligned-header .ag-header-label-icon,.ag-ltr .ag-header-cell.ag-right-aligned-header .ag-header-menu-icon{margin-right:var(--ag-grid-size)}.ag-rtl .ag-header-cell.ag-right-aligned-header .ag-header-label-icon,.ag-rtl .ag-header-cell.ag-right-aligned-header .ag-header-menu-icon{margin-left:var(--ag-grid-size)}.ag-header-cell,.ag-header-group-cell{padding-left:var(--ag-cell-horizontal-padding);padding-right:var(--ag-cell-horizontal-padding)}.ag-header-cell.ag-header-cell-moving,.ag-header-group-cell.ag-header-cell-moving{background-color:var(--ag-header-cell-moving-background-color)}.ag-ltr .ag-header-group-cell-label.ag-sticky-label{left:var(--ag-cell-horizontal-padding)}.ag-rtl .ag-header-group-cell-label.ag-sticky-label{right:var(--ag-cell-horizontal-padding)}.ag-header-cell:focus-visible{outline:none}.ag-header-cell:focus-visible:after{content:"";position:absolute;background-color:transparent;pointer-events:none;top:4px;left:4px;display:block;width:calc(100% - 8px);height:calc(100% - 8px);border:1px solid;border-color:var(--ag-input-focus-border-color)}.ag-header-group-cell:focus-visible{outline:none}.ag-header-group-cell:focus-visible:after{content:"";position:absolute;background-color:transparent;pointer-events:none;top:4px;left:4px;display:block;width:calc(100% - 8px);height:calc(100% - 8px);border:1px solid;border-color:var(--ag-input-focus-border-color)}.ag-advanced-filter-header-cell:focus-visible{outline:none}.ag-advanced-filter-header-cell:focus-visible:after{content:"";position:absolute;background-color:transparent;pointer-events:none;top:4px;left:4px;display:block;width:calc(100% - 8px);height:calc(100% - 8px);border:1px solid;border-color:var(--ag-input-focus-border-color)}.ag-header-icon{color:var(--ag-secondary-foreground-color)}.ag-header-expand-icon{cursor:pointer}.ag-ltr .ag-header-expand-icon{margin-left:4px}.ag-rtl .ag-header-expand-icon{margin-right:4px}.ag-header-row:not(:first-child) .ag-header-cell:not(.ag-header-span-height.ag-header-span-total),.ag-header-row:not(:first-child) .ag-header-group-cell.ag-header-group-cell-with-group{border-top:var(--ag-borders-critical) var(--ag-border-color)}.ag-header-group-cell:not(.ag-column-resizing)+.ag-header-group-cell:not(.ag-column-hover):not(.ag-header-cell-moving):hover,.ag-header-group-cell:not(.ag-column-resizing)+.ag-header-group-cell:not(.ag-column-hover).ag-column-resizing,.ag-header-cell:not(.ag-column-resizing)+.ag-header-cell:not(.ag-column-hover):not(.ag-header-cell-moving):hover,.ag-header-cell:not(.ag-column-resizing)+.ag-header-cell:not(.ag-column-hover).ag-column-resizing,.ag-header-group-cell:first-of-type:not(.ag-header-cell-moving):hover,.ag-header-group-cell:first-of-type.ag-column-resizing,.ag-header-cell:not(.ag-column-hover):first-of-type:not(.ag-header-cell-moving):hover,.ag-header-cell:not(.ag-column-hover):first-of-type.ag-column-resizing{background-color:var(--ag-header-cell-hover-background-color)}.ag-header-cell:before,.ag-header-group-cell:not(.ag-header-span-height.ag-header-group-cell-no-group):before{content:"";position:absolute;z-index:1;display:var(--ag-header-column-separator-display);width:var(--ag-header-column-separator-width);height:var(--ag-header-column-separator-height);top:calc(50% - var(--ag-header-column-separator-height) * .5);background-color:var(--ag-header-column-separator-color)}.ag-ltr .ag-header-cell:before,.ag-ltr .ag-header-group-cell:not(.ag-header-span-height.ag-header-group-cell-no-group):before{right:0}.ag-rtl .ag-header-cell:before,.ag-rtl .ag-header-group-cell:not(.ag-header-span-height.ag-header-group-cell-no-group):before{left:0}.ag-header-cell-resize{display:flex;align-items:center}.ag-header-cell-resize:after{content:"";position:absolute;z-index:1;display:var(--ag-header-column-resize-handle-display);width:var(--ag-header-column-resize-handle-width);height:var(--ag-header-column-resize-handle-height);top:calc(50% - var(--ag-header-column-resize-handle-height) * .5);background-color:var(--ag-header-column-resize-handle-color)}.ag-header-cell.ag-header-span-height .ag-header-cell-resize:after{height:calc(100% - var(--ag-grid-size) * 4);top:calc(var(--ag-grid-size) * 2)}.ag-ltr .ag-header-viewport .ag-header-cell-resize:after{left:calc(50% - var(--ag-header-column-resize-handle-width))}.ag-rtl .ag-header-viewport .ag-header-cell-resize:after{right:calc(50% - var(--ag-header-column-resize-handle-width))}.ag-pinned-left-header .ag-header-cell-resize:after{left:calc(50% - var(--ag-header-column-resize-handle-width))}.ag-pinned-right-header .ag-header-cell-resize:after{left:50%}.ag-ltr .ag-header-select-all{margin-right:var(--ag-cell-horizontal-padding)}.ag-rtl .ag-header-select-all{margin-left:var(--ag-cell-horizontal-padding)}.ag-ltr .ag-floating-filter-button{margin-left:var(--ag-cell-widget-spacing)}.ag-rtl .ag-floating-filter-button{margin-right:var(--ag-cell-widget-spacing)}.ag-floating-filter-button-button{color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;height:var(--ag-icon-size);padding:0;width:var(--ag-icon-size)}.ag-filter-loading{background-color:var(--ag-control-panel-background-color);height:100%;padding:var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding);position:absolute;width:100%;z-index:1}.ag-paging-panel{border-top:1px solid;border-top-color:var(--ag-border-color);color:var(--ag-secondary-foreground-color);height:var(--ag-header-height)}.ag-paging-panel>*{margin:0 var(--ag-cell-horizontal-padding)}.ag-paging-panel>.ag-paging-page-size .ag-wrapper{min-width:calc(var(--ag-grid-size) * 10)}.ag-paging-button{cursor:pointer}.ag-paging-button.ag-disabled{cursor:default;color:var(--ag-disabled-foreground-color)}.ag-paging-button:focus-visible{outline:none}.ag-paging-button:focus-visible:after{content:"";position:absolute;background-color:transparent;pointer-events:none;top:0;left:0;display:block;width:calc(100% + -0px);height:calc(100% + -0px);border:1px solid;border-color:var(--ag-input-focus-border-color)}.ag-paging-button,.ag-paging-description{margin:0 var(--ag-grid-size)}.ag-status-bar{border-top:var(--ag-borders) var(--ag-border-color);color:var(--ag-disabled-foreground-color);padding-right:calc(var(--ag-grid-size) * 4);padding-left:calc(var(--ag-grid-size) * 4);line-height:1.5}.ag-status-name-value-value{color:var(--ag-foreground-color)}.ag-status-bar-center{text-align:center}.ag-status-name-value{margin-left:var(--ag-grid-size);margin-right:var(--ag-grid-size);padding-top:calc(var(--ag-grid-size) * 2);padding-bottom:calc(var(--ag-grid-size) * 2)}.ag-column-drop-cell{background:var(--ag-chip-background-color);border-radius:calc(var(--ag-grid-size) * 4);height:calc(var(--ag-grid-size) * 4);padding:0 calc(var(--ag-grid-size) * .5);border:1px solid var(--ag-chip-border-color)}.ag-column-drop-cell:focus-visible{outline:none}.ag-column-drop-cell:focus-visible:after{content:"";position:absolute;background-color:transparent;pointer-events:none;top:2px;left:2px;display:block;width:calc(100% - 4px);height:calc(100% - 4px);border:1px solid;border-color:var(--ag-input-focus-border-color)}.ag-column-drop-cell-text{margin:0 var(--ag-grid-size)}.ag-column-drop-cell-button{min-width:calc(var(--ag-grid-size) * 4);margin:0 calc(var(--ag-grid-size) * .5);color:var(--ag-secondary-foreground-color)}.ag-column-drop-cell-drag-handle{margin-left:calc(var(--ag-grid-size) * 2)}.ag-column-drop-cell-ghost{opacity:.5}.ag-column-drop-horizontal{background-color:var(--ag-header-background-color);color:var(--ag-secondary-foreground-color);height:var(--ag-header-height);border-bottom:var(--ag-borders) var(--ag-border-color)}.ag-ltr .ag-column-drop-horizontal{padding-left:var(--ag-cell-horizontal-padding)}.ag-rtl .ag-column-drop-horizontal{padding-right:var(--ag-cell-horizontal-padding)}.ag-ltr .ag-column-drop-horizontal-half-width:not(:last-child){border-right:var(--ag-borders) var(--ag-border-color)}.ag-rtl .ag-column-drop-horizontal-half-width:not(:last-child){border-left:var(--ag-borders) var(--ag-border-color)}.ag-column-drop-horizontal-cell-separator{margin:0 var(--ag-grid-size);color:var(--ag-secondary-foreground-color)}.ag-column-drop-horizontal-empty-message{color:var(--ag-disabled-foreground-color)}.ag-ltr .ag-column-drop-horizontal-icon{margin-right:var(--ag-cell-horizontal-padding)}.ag-rtl .ag-column-drop-horizontal-icon{margin-left:var(--ag-cell-horizontal-padding)}.ag-column-drop-vertical-list{padding-bottom:var(--ag-grid-size);padding-right:var(--ag-grid-size);padding-left:var(--ag-grid-size)}.ag-column-drop-vertical-cell{margin-top:var(--ag-grid-size)}.ag-column-drop-vertical{min-height:50px;border-bottom:var(--ag-borders-secondary) var(--ag-secondary-border-color)}.ag-column-drop-vertical.ag-last-column-drop{border-bottom:none}.ag-column-drop-vertical-icon{margin-left:var(--ag-grid-size);margin-right:var(--ag-grid-size)}.ag-column-drop-vertical-empty-message{position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden;color:var(--ag-disabled-foreground-color);margin-top:var(--ag-grid-size)}.ag-select-agg-func-popup{border:var(--ag-borders) var(--ag-border-color);border-radius:var(--ag-card-radius);box-shadow:var(--ag-card-shadow);padding:var(--ag-grid-size);background:var(--ag-background-color);height:calc(var(--ag-grid-size) * 5 * 3.5);padding:0}.ag-select-agg-func-virtual-list-item{cursor:default}.ag-ltr .ag-select-agg-func-virtual-list-item{padding-left:calc(var(--ag-grid-size) * 2)}.ag-rtl .ag-select-agg-func-virtual-list-item{padding-right:calc(var(--ag-grid-size) * 2)}.ag-select-agg-func-virtual-list-item:hover{background-color:var(--ag-selected-row-background-color)}.ag-select-agg-func-virtual-list-item:focus-visible{outline:none}.ag-select-agg-func-virtual-list-item:focus-visible:after{content:"";position:absolute;background-color:transparent;pointer-events:none;top:1px;left:1px;display:block;width:calc(100% - 2px);height:calc(100% - 2px);border:1px solid;border-color:var(--ag-input-focus-border-color)}.ag-sort-indicator-container{display:flex}.ag-ltr .ag-sort-indicator-icon{padding-left:var(--ag-grid-size)}.ag-rtl .ag-sort-indicator-icon{padding-right:var(--ag-grid-size)}.ag-chart{position:relative;display:flex;overflow:hidden;width:100%;height:100%}.ag-chart-components-wrapper{position:relative;display:flex;flex:1 1 auto;overflow:hidden}.ag-chart-title-edit{position:absolute;display:none;top:0;left:0;text-align:center}.ag-chart-title-edit.currently-editing{display:inline-block}.ag-chart-canvas-wrapper{position:relative;flex:1 1 auto;overflow:hidden}.ag-charts-canvas{display:block}.ag-chart-menu{position:absolute;top:16px;display:flex;flex-direction:column}.ag-ltr .ag-chart-menu{right:20px}.ag-rtl .ag-chart-menu{left:20px}.ag-chart-docked-container{position:relative;width:0;min-width:0;transition:min-width .4s}.ag-chart-menu-hidden~.ag-chart-docked-container{max-width:0;overflow:hidden}.ag-chart-tabbed-menu{width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden}.ag-chart-tabbed-menu-header{flex:none;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.ag-chart-tabbed-menu-body{display:flex;flex:1 1 auto;align-items:stretch;overflow:hidden}.ag-chart-tab{width:100%;overflow:hidden;overflow-y:auto}.ag-chart-settings{overflow-x:hidden}.ag-chart-settings-wrapper{position:relative;flex-direction:column;width:100%;height:100%;display:flex;overflow:hidden}.ag-chart-settings-nav-bar{display:flex;align-items:center;width:100%;height:30px;padding:0 10px;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.ag-chart-settings-card-selector{display:flex;align-items:center;justify-content:space-around;flex:1 1 auto;height:100%;padding:0 10px}.ag-chart-settings-card-item{cursor:pointer;width:10px;height:10px;background-color:#000;position:relative}.ag-chart-settings-card-item.ag-not-selected{opacity:.2}.ag-chart-settings-card-item:before{content:" ";display:block;position:absolute;background-color:transparent;left:50%;top:50%;margin-left:-10px;margin-top:-10px;width:20px;height:20px}.ag-chart-settings-prev,.ag-chart-settings-next{position:relative;flex:none}.ag-chart-settings-prev-button,.ag-chart-settings-next-button{position:absolute;top:0;left:0;width:100%;height:100%;cursor:pointer;opacity:0}.ag-chart-settings-mini-charts-container{position:relative;flex:1 1 auto;overflow-x:hidden;overflow-y:auto}.ag-chart-settings-mini-wrapper{position:absolute;top:0;left:0;display:flex;flex-direction:column;width:100%;min-height:100%;overflow:hidden}.ag-chart-settings-mini-wrapper.ag-animating{transition:left .3s;transition-timing-function:ease-in-out}.ag-chart-mini-thumbnail{cursor:pointer}.ag-chart-mini-thumbnail-canvas{display:block}.ag-chart-data-wrapper,.ag-chart-format-wrapper{display:flex;flex-direction:column;position:relative;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none;padding-bottom:16px}.ag-chart-data-wrapper{height:100%;overflow-y:auto}.ag-chart-empty-text{display:flex;top:0;width:100%;height:100%;align-items:center;justify-content:center;background-color:var(--ag-background-color)}.ag-chart .ag-chart-menu{display:none}.ag-chart-menu-hidden:hover .ag-chart-menu{display:block}.ag-chart .ag-chart-tool-panel-button-enable .ag-chart-menu{display:flex;flex-direction:row;top:8px;gap:20px;width:auto}.ag-ltr .ag-chart .ag-chart-tool-panel-button-enable .ag-chart-menu{right:calc(var(--ag-cell-horizontal-padding) + var(--ag-grid-size) - 4px);justify-content:right}.ag-rtl .ag-chart .ag-chart-tool-panel-button-enable .ag-chart-menu{left:calc(var(--ag-cell-horizontal-padding) + var(--ag-grid-size) - 4px);justify-content:left}.ag-chart-menu-close{display:none}.ag-chart-tool-panel-button-enable .ag-chart-menu-close{position:absolute;top:50%;transition:transform .33s ease-in-out;padding:0;display:block;cursor:pointer;border:none}.ag-ltr .ag-chart-tool-panel-button-enable .ag-chart-menu-close{right:0}.ag-rtl .ag-chart-tool-panel-button-enable .ag-chart-menu-close{left:0}.ag-chart-tool-panel-button-enable .ag-chart-menu-close .ag-icon{padding:14px 5px 14px 2px;width:auto;height:auto}.ag-chart-tool-panel-button-enable .ag-chart-menu-close:before{content:"";position:absolute;top:-40px;bottom:-40px}.ag-ltr .ag-chart-tool-panel-button-enable .ag-chart-menu-close:before{right:0}.ag-rtl .ag-chart-tool-panel-button-enable .ag-chart-menu-close:before{left:0}.ag-ltr .ag-chart-tool-panel-button-enable .ag-chart-menu-close:before{left:-10px}.ag-rtl .ag-chart-tool-panel-button-enable .ag-chart-menu-close:before{right:-10px}.ag-chart-tool-panel-button-enable .ag-icon-menu{display:none}.ag-ltr .ag-chart-tool-panel-button-enable .ag-chart-menu-close{transform:translate(3px,-50%)}.ag-ltr .ag-chart-tool-panel-button-enable .ag-chart-menu-close:hover{transform:translateY(-50%)}.ag-ltr .ag-chart-menu-visible .ag-chart-tool-panel-button-enable .ag-chart-menu-close:hover{transform:translate(5px,-50%)}.ag-rtl .ag-chart-tool-panel-button-enable .ag-chart-menu-close{transform:translate(-3px,-50%)}.ag-rtl .ag-chart-tool-panel-button-enable .ag-chart-menu-close:hover{transform:translateY(-50%)}.ag-rtl .ag-chart-menu-visible .ag-chart-tool-panel-button-enable .ag-chart-menu-close:hover{transform:translate(-5px,-50%)}.ag-charts-font-size-color{display:flex;align-self:stretch;justify-content:space-between}.ag-charts-data-group-item{position:relative}.ag-chart-menu{border-radius:var(--ag-card-radius);background:var(--ag-background-color)}.ag-chart-menu-icon{opacity:.5;margin:2px 0;cursor:pointer;border-radius:var(--ag-card-radius);color:var(--ag-secondary-foreground-color)}.ag-chart-menu-icon:hover{opacity:1}.ag-chart-mini-thumbnail{border:1px solid var(--ag-secondary-border-color);border-radius:5px}.ag-chart-mini-thumbnail.ag-selected{border-color:var(--ag-minichart-selected-chart-color)}.ag-chart-settings-card-item{background:var(--ag-foreground-color);width:8px;height:8px;border-radius:4px}.ag-chart-settings-card-item.ag-selected{background-color:var(--ag-minichart-selected-page-color)}.ag-chart-data-column-drag-handle{margin-left:var(--ag-grid-size)}.ag-charts-settings-group-title-bar,.ag-charts-data-group-title-bar,.ag-charts-format-top-level-group-title-bar{border-top:var(--ag-borders-secondary) var(--ag-secondary-border-color)}.ag-charts-data-group-container{padding:calc(var(--ag-widget-container-vertical-padding) * .5) var(--ag-widget-container-horizontal-padding)}.ag-charts-data-group-container .ag-charts-data-group-item:not(.ag-charts-format-sub-level-group){height:var(--ag-list-item-height)}.ag-charts-data-group-container .ag-list-item-hovered:after{content:"";position:absolute;left:0;right:0;height:1px;background-color:var(--ag-range-selection-border-color)}.ag-charts-data-group-container .ag-item-highlight-top:after{top:0}.ag-charts-data-group-container .ag-item-highlight-bottom:after{bottom:0}.ag-charts-format-top-level-group-container{margin-left:calc(var(--ag-grid-size) * 2);padding:var(--ag-grid-size)}.ag-charts-format-top-level-group-item{margin:var(--ag-grid-size) 0}.ag-charts-format-sub-level-group-container{padding:var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding);padding-bottom:calc(var(--ag-widget-container-vertical-padding) - var(--ag-widget-vertical-spacing))}.ag-charts-format-sub-level-group-container>*{margin-bottom:var(--ag-widget-vertical-spacing)}.ag-charts-settings-group-container{padding:var(--ag-grid-size);row-gap:8px;display:grid;grid-template-columns:60px 1fr 60px 1fr 60px}.ag-charts-settings-group-container .ag-chart-mini-thumbnail:nth-child(3n+1){grid-column:1}.ag-charts-settings-group-container .ag-chart-mini-thumbnail:nth-child(3n+2){grid-column:3}.ag-charts-settings-group-container .ag-chart-mini-thumbnail:nth-child(3n+3){grid-column:5}.ag-chart-data-section,.ag-chart-format-section{display:flex;margin:0}.ag-chart-menu-panel{background-color:var(--ag-control-panel-background-color)}.ag-ltr .ag-chart-menu-panel{border-left:solid 1px var(--ag-border-color)}.ag-rtl .ag-chart-menu-panel{border-right:solid 1px var(--ag-border-color)}.ag-date-time-list-page-title-bar{display:flex}.ag-date-time-list-page-title{flex-grow:1;text-align:center}.ag-date-time-list-page-column-labels-row,.ag-date-time-list-page-entries-row{display:flex}.ag-date-time-list-page-column-label,.ag-date-time-list-page-entry{flex-basis:0;flex-grow:1}.ag-date-time-list-page-entry{cursor:pointer;text-align:center}.ag-date-time-list-page-column-label{text-align:center}.ag-advanced-filter-header{position:relative;display:flex;align-items:center;padding-left:var(--ag-cell-horizontal-padding);padding-right:var(--ag-cell-horizontal-padding)}.ag-advanced-filter{display:flex;align-items:center;width:100%}.ag-advanced-filter-apply-button,.ag-advanced-filter-builder-button{line-height:normal;white-space:nowrap}.ag-ltr .ag-advanced-filter-apply-button,.ag-ltr .ag-advanced-filter-builder-button{margin-left:calc(var(--ag-grid-size) * 2)}.ag-rtl .ag-advanced-filter-apply-button,.ag-rtl .ag-advanced-filter-builder-button{margin-right:calc(var(--ag-grid-size) * 2)}.ag-advanced-filter-builder-button{display:flex;align-items:center;border:0;background-color:unset;color:var(--ag-foreground-color);font-size:var(--ag-font-size);font-weight:600}.ag-advanced-filter-builder-button:hover:not(:disabled){background-color:var(--ag-row-hover-color)}.ag-advanced-filter-builder-button:not(:disabled){cursor:pointer}.ag-advanced-filter-builder-button-label{margin-left:var(--ag-grid-size)}.ag-advanced-filter-builder{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none;width:100%;background-color:var(--ag-control-panel-background-color);display:flex;flex-direction:column}.ag-advanced-filter-builder-list{flex:1;overflow:auto}.ag-advanced-filter-builder-list .ag-list-item-hovered:after{content:"";position:absolute;left:0;right:0;height:1px;background-color:var(--ag-range-selection-border-color)}.ag-advanced-filter-builder-list .ag-item-highlight-top:after{top:0}.ag-advanced-filter-builder-list .ag-item-highlight-bottom:after{bottom:0}.ag-advanced-filter-builder-button-panel{display:flex;justify-content:flex-end;padding:var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding);border-top:var(--ag-borders-secondary) var(--ag-secondary-border-color)}.ag-advanced-filter-builder .ag-advanced-filter-builder-button-panel .ag-advanced-filter-builder-apply-button,.ag-advanced-filter-builder .ag-advanced-filter-builder-button-panel .ag-advanced-filter-builder-cancel-button{margin-left:calc(var(--ag-grid-size) * 2)}.ag-advanced-filter-builder-item-wrapper{display:flex;flex:1 1 auto;align-items:center;justify-content:space-between;overflow:hidden;padding-left:calc(var(--ag-icon-size) / 2);padding-right:var(--ag-icon-size)}.ag-advanced-filter-builder-item-tree-lines>*{width:var(--ag-advanced-filter-builder-indent-size)}.ag-advanced-filter-builder-item-tree-lines .ag-advanced-filter-builder-item-tree-line-root{width:var(--ag-icon-size)}.ag-advanced-filter-builder-item-tree-lines .ag-advanced-filter-builder-item-tree-line-root:before{top:50%;height:50%}.ag-advanced-filter-builder-item-tree-line-horizontal,.ag-advanced-filter-builder-item-tree-line-vertical,.ag-advanced-filter-builder-item-tree-line-vertical-top,.ag-advanced-filter-builder-item-tree-line-vertical-bottom{position:relative;height:100%;display:flex;align-items:center}.ag-advanced-filter-builder-item-tree-line-horizontal:before,.ag-advanced-filter-builder-item-tree-line-horizontal:after,.ag-advanced-filter-builder-item-tree-line-vertical:before,.ag-advanced-filter-builder-item-tree-line-vertical:after,.ag-advanced-filter-builder-item-tree-line-vertical-top:before,.ag-advanced-filter-builder-item-tree-line-vertical-top:after,.ag-advanced-filter-builder-item-tree-line-vertical-bottom:before,.ag-advanced-filter-builder-item-tree-line-vertical-bottom:after{content:"";position:absolute;height:100%}.ag-advanced-filter-builder-item-tree-line-horizontal:after{height:50%;width:calc(var(--ag-advanced-filter-builder-indent-size) - var(--ag-icon-size));top:0;left:calc(var(--ag-icon-size) / 2);border-bottom:1px solid;border-color:var(--ag-border-color)}.ag-advanced-filter-builder-item-tree-line-vertical:before{width:calc(var(--ag-advanced-filter-builder-indent-size) - var(--ag-icon-size) / 2);top:0;left:calc(var(--ag-icon-size) / 2);border-left:1px solid;border-color:var(--ag-border-color)}.ag-advanced-filter-builder-item-tree-line-vertical-top:before{height:50%;width:calc(var(--ag-advanced-filter-builder-indent-size) - var(--ag-icon-size) / 2);top:0;left:calc(var(--ag-icon-size) / 2);border-left:1px solid;border-color:var(--ag-border-color)}.ag-advanced-filter-builder-item-tree-line-vertical-bottom:before{height:calc((100% - 1.5 * var(--ag-icon-size)) / 2);width:calc(var(--ag-icon-size) / 2);top:calc((100% + 1.5 * var(--ag-icon-size)) / 2);left:calc(var(--ag-icon-size) / 2);border-left:1px solid;border-color:var(--ag-border-color)}.ag-advanced-filter-builder-item-condition{padding-top:var(--ag-grid-size);padding-bottom:var(--ag-grid-size)}.ag-advanced-filter-builder-item,.ag-advanced-filter-builder-item-condition,.ag-advanced-filter-builder-pill-wrapper,.ag-advanced-filter-builder-pill,.ag-advanced-filter-builder-item-buttons,.ag-advanced-filter-builder-item-tree-lines{display:flex;align-items:center;height:100%}.ag-advanced-filter-builder-pill-wrapper{margin:0px var(--ag-grid-size)}.ag-advanced-filter-builder-pill{position:relative;border-radius:var(--ag-border-radius);padding:var(--ag-grid-size) calc(var(--ag-grid-size) * 2);min-height:calc(100% - var(--ag-grid-size) * 3);min-width:calc(var(--ag-grid-size) * 2)}.ag-advanced-filter-builder-pill .ag-picker-field-display{margin-right:var(--ag-grid-size)}.ag-advanced-filter-builder-pill .ag-advanced-filter-builder-value-number{font-family:monospace;font-weight:700}.ag-advanced-filter-builder-pill .ag-advanced-filter-builder-value-empty{color:var(--ag-disabled-foreground-color)}.ag-advanced-filter-builder-pill:focus-visible{outline:none}.ag-advanced-filter-builder-pill:focus-visible:after{content:"";position:absolute;background-color:transparent;pointer-events:none;top:-4px;left:-4px;display:block;width:calc(100% + 8px);height:calc(100% + 8px);border:1px solid;border-color:var(--ag-input-focus-border-color)}.ag-advanced-filter-builder-item-button:focus-visible{outline:none}.ag-advanced-filter-builder-item-button:focus-visible:after{content:"";position:absolute;background-color:transparent;pointer-events:none;top:-4px;left:-4px;display:block;width:calc(100% + 8px);height:calc(100% + 8px);border:1px solid;border-color:var(--ag-input-focus-border-color)}.ag-advanced-filter-builder-pill-display{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.ag-advanced-filter-builder-join-pill{color:var(--ag-foreground-color);background-color:var(--ag-advanced-filter-join-pill-color);cursor:pointer}.ag-advanced-filter-builder-column-pill{color:var(--ag-foreground-color);background-color:var(--ag-advanced-filter-column-pill-color);cursor:pointer}.ag-advanced-filter-builder-option-pill{color:var(--ag-foreground-color);background-color:var(--ag-advanced-filter-option-pill-color);cursor:pointer}.ag-advanced-filter-builder-value-pill{color:var(--ag-foreground-color);background-color:var(--ag-advanced-filter-value-pill-color);cursor:text;max-width:140px}.ag-advanced-filter-builder-value-pill .ag-advanced-filter-builder-pill-display{display:block}.ag-advanced-filter-builder-item-buttons>*{margin:0 calc(var(--ag-grid-size) * .5)}.ag-advanced-filter-builder-item-button{position:relative;cursor:pointer;color:var(--ag-secondary-foreground-color);opacity:50%}.ag-advanced-filter-builder-item-button-disabled{color:var(--ag-disabled-foreground-color);cursor:default}.ag-advanced-filter-builder-virtual-list-container{top:var(--ag-grid-size)}.ag-advanced-filter-builder-virtual-list-item{display:flex;cursor:default;height:var(--ag-list-item-height)}.ag-advanced-filter-builder-virtual-list-item:hover{background-color:var(--ag-row-hover-color)}.ag-advanced-filter-builder-virtual-list-item:hover .ag-advanced-filter-builder-item-button{opacity:100%}.ag-advanced-filter-builder-virtual-list-item-highlight .ag-advanced-filter-builder-item-button:focus-visible,.ag-advanced-filter-builder-validation .ag-advanced-filter-builder-invalid{opacity:100%}.ag-advanced-filter-builder-invalid{margin:0 var(--ag-grid-size);color:var(--ag-invalid-color);cursor:default}.ag-input-field-input{width:100%;min-width:0}.ag-checkbox-input-wrapper{font-family:var(--ag-icon-font-family);font-weight:var(--ag-icon-font-weight);color:var(--ag-icon-font-color);font-size:var(--ag-icon-size);line-height:var(--ag-icon-size);font-style:normal;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:var(--ag-icon-size);height:var(--ag-icon-size);background-color:var(--ag-checkbox-background-color);border-radius:var(--ag-checkbox-border-radius);display:inline-block;vertical-align:middle;flex:none}.ag-checkbox-input-wrapper input{-webkit-appearance:none;opacity:0;width:100%;height:100%}.ag-checkbox-input-wrapper:focus-within,.ag-checkbox-input-wrapper:active{outline:none;box-shadow:var(--ag-input-focus-box-shadow)}.ag-checkbox-input-wrapper.ag-disabled{opacity:.5}.ag-checkbox-input-wrapper:after{content:var(--ag-icon-font-code-checkbox-unchecked, "");color:var(--ag-checkbox-unchecked-color);display:var(--ag-icon-font-display-checkbox-unchecked, var(--ag-icon-font-display));position:absolute;top:0;left:0;pointer-events:none}.ag-checkbox-input-wrapper.ag-checked:after{content:var(--ag-icon-font-code-checkbox-checked, "");color:var(--ag-checkbox-checked-color);display:var(--ag-icon-font-display-checkbox-checked, var(--ag-icon-font-display));position:absolute;top:0;left:0;pointer-events:none}.ag-checkbox-input-wrapper.ag-indeterminate:after{content:var(--ag-icon-font-code-checkbox-indeterminate, "");color:var(--ag-checkbox-indeterminate-color);display:var(--ag-icon-font-display-checkbox-indeterminate, var(--ag-icon-font-display));position:absolute;top:0;left:0;pointer-events:none}.ag-checkbox-input-wrapper:before{content:"";background:transparent center/contain no-repeat;position:absolute;top:0;right:0;bottom:0;left:0;background-image:var(--ag-icon-image-checkbox-unchecked, var(--ag-icon-image));display:var(--ag-icon-image-display-checkbox-unchecked, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-checkbox-unchecked, var(--ag-icon-image-opacity, .9))}.ag-checkbox-input-wrapper.ag-checked:before{background-image:var(--ag-icon-image-checkbox-checked, var(--ag-icon-image));display:var(--ag-icon-image-display-checkbox-checked, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-checkbox-checked, var(--ag-icon-image-opacity, .9))}.ag-checkbox-input-wrapper.ag-indeterminate:before{background-image:var(--ag-icon-image-checkbox-indeterminate, var(--ag-icon-image));display:var(--ag-icon-image-display-checkbox-indeterminate, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-checkbox-indeterminate, var(--ag-icon-image-opacity, .9))}.ag-toggle-button-input-wrapper{box-sizing:border-box;width:var(--ag-toggle-button-width);min-width:var(--ag-toggle-button-width);max-width:var(--ag-toggle-button-width);height:var(--ag-toggle-button-height);background-color:var(--ag-toggle-button-off-background-color);border-radius:calc(var(--ag-toggle-button-height) * .5);position:relative;flex:none;border:var(--ag-toggle-button-border-width) solid;border-color:var(--ag-toggle-button-off-border-color)}.ag-toggle-button-input-wrapper input{opacity:0;height:100%;width:100%}.ag-toggle-button-input-wrapper:focus-within{outline:none;box-shadow:var(--ag-input-focus-box-shadow)}.ag-toggle-button-input-wrapper.ag-disabled{opacity:.5}.ag-toggle-button-input-wrapper.ag-checked{background-color:var(--ag-toggle-button-on-background-color);border-color:var(--ag-toggle-button-on-border-color)}.ag-toggle-button-input-wrapper:before{content:" ";position:absolute;top:calc(0px - var(--ag-toggle-button-border-width));left:calc(0px - var(--ag-toggle-button-border-width));display:block;box-sizing:border-box;height:var(--ag-toggle-button-height);width:var(--ag-toggle-button-height);background-color:var(--ag-toggle-button-switch-background-color);border-radius:100%;transition:left .1s;border:var(--ag-toggle-button-border-width) solid;border-color:var(--ag-toggle-button-switch-border-color)}.ag-toggle-button-input-wrapper.ag-checked:before{left:calc(100% - var(--ag-toggle-button-height) + var(--ag-toggle-button-border-width));border-color:var(--ag-toggle-button-on-border-color)}.ag-radio-button-input-wrapper{font-family:var(--ag-icon-font-family);font-weight:var(--ag-icon-font-weight);color:var(--ag-icon-font-color);font-size:var(--ag-icon-size);line-height:var(--ag-icon-size);font-style:normal;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:var(--ag-icon-size);height:var(--ag-icon-size);background-color:var(--ag-checkbox-background-color);border-radius:var(--ag-checkbox-border-radius);display:inline-block;vertical-align:middle;flex:none;border-radius:var(--ag-icon-size)}.ag-radio-button-input-wrapper input{-webkit-appearance:none;opacity:0;width:100%;height:100%}.ag-radio-button-input-wrapper:focus-within,.ag-radio-button-input-wrapper:active{outline:none;box-shadow:var(--ag-input-focus-box-shadow)}.ag-radio-button-input-wrapper.ag-disabled{opacity:.5}.ag-radio-button-input-wrapper:after{content:var(--ag-icon-font-code-radio-button-off, "");color:var(--ag-checkbox-unchecked-color);display:var(--ag-icon-font-display-radio-button-off, var(--ag-icon-font-display));position:absolute;top:0;left:0;pointer-events:none}.ag-radio-button-input-wrapper.ag-checked:after{content:var(--ag-icon-font-code-radio-button-on, "");color:var(--ag-checkbox-checked-color);display:var(--ag-icon-font-display-radio-button-on, var(--ag-icon-font-display));position:absolute;top:0;left:0;pointer-events:none}.ag-radio-button-input-wrapper:before{content:"";background:transparent center/contain no-repeat;position:absolute;top:0;right:0;bottom:0;left:0;background-image:var(--ag-icon-image-radio-button-off, var(--ag-icon-image));display:var(--ag-icon-image-display-radio-button-off, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-radio-button-off, var(--ag-icon-image-opacity, .9))}.ag-radio-button-input-wrapper.ag-checked:before{background-image:var(--ag-icon-image-radio-button-on, var(--ag-icon-image));display:var(--ag-icon-image-display-radio-button-on, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-radio-button-on, var(--ag-icon-image-opacity, .9))}input[class^=ag-][type=range]{-webkit-appearance:none;width:100%;height:100%;background:none;overflow:visible}input[class^=ag-][type=range]::-webkit-slider-runnable-track{margin:0;padding:0;width:100%;height:3px;background-color:var(--ag-border-color);border-radius:var(--ag-border-radius);border-radius:var(--ag-checkbox-border-radius)}input[class^=ag-][type=range]::-moz-range-track{margin:0;padding:0;width:100%;height:3px;background-color:var(--ag-border-color);border-radius:var(--ag-border-radius);border-radius:var(--ag-checkbox-border-radius)}input[class^=ag-][type=range]::-ms-track{margin:0;padding:0;width:100%;height:3px;background-color:var(--ag-border-color);border-radius:var(--ag-border-radius);border-radius:var(--ag-checkbox-border-radius);color:transparent;width:calc(100% - 2px)}input[class^=ag-][type=range]::-webkit-slider-thumb{margin:0;padding:0;-webkit-appearance:none;width:var(--ag-icon-size);height:var(--ag-icon-size);background-color:var(--ag-background-color);border:1px solid;border-color:var(--ag-checkbox-unchecked-color);border-radius:var(--ag-icon-size);transform:translateY(calc(var(--ag-icon-size) * -.5 + 1.5px))}input[class^=ag-][type=range]::-ms-thumb{margin:0;padding:0;-webkit-appearance:none;width:var(--ag-icon-size);height:var(--ag-icon-size);background-color:var(--ag-background-color);border:1px solid;border-color:var(--ag-checkbox-unchecked-color);border-radius:var(--ag-icon-size)}input[class^=ag-][type=range]::-moz-ag-range-thumb{margin:0;padding:0;-webkit-appearance:none;width:var(--ag-icon-size);height:var(--ag-icon-size);background-color:var(--ag-background-color);border:1px solid;border-color:var(--ag-checkbox-unchecked-color);border-radius:var(--ag-icon-size)}input[class^=ag-][type=range]:focus{outline:none}input[class^=ag-][type=range]:focus::-webkit-slider-thumb{box-shadow:var(--ag-input-focus-box-shadow);border-color:var(--ag-checkbox-checked-color)}input[class^=ag-][type=range]:focus::-ms-thumb{box-shadow:var(--ag-input-focus-box-shadow);border-color:var(--ag-checkbox-checked-color)}input[class^=ag-][type=range]:focus::-moz-ag-range-thumb{box-shadow:var(--ag-input-focus-box-shadow);border-color:var(--ag-checkbox-checked-color)}input[class^=ag-][type=range]:active::-webkit-slider-runnable-track{background-color:var(--ag-input-focus-border-color)}input[class^=ag-][type=range]:active::-moz-ag-range-track{background-color:var(--ag-input-focus-border-color)}input[class^=ag-][type=range]:active::-ms-track{background-color:var(--ag-input-focus-border-color)}input[class^=ag-][type=range]:disabled{opacity:.5}@font-face{font-family:agGridAlpine;src:url(data:font/woff2;charset=utf-8;base64,d09GMgABAAAAABKwAAsAAAAAJ/QAABJeAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHIlCBmAAi3AKqUyiKwE2AiQDgjwLgSAABCAFhEYHhTYb7iIzknRW3UVUT4rZ/yGByqEVyfAPCoGBVAeLaZy1NEUgHG5qbTJUKK65bieBiXNesm+H/kz+7nJIEpoE3+/3uufdH0AFMkIBQhFcAFDFl4Wp7lRoFLJTBairyjb/t/bs7+7IyjPxWfFndohimiiJSCNVMiXytQEpDCAvrmVSeEiuz2pkFBn71N4A+Wm1PT1ApaemJsEZHH5/+f6tHdlX0iFUPUx4GMD6rwoJUCiD0n6gbf7DMxAcRiRi0hbY+GfUHViJi8JIMPYbF2WBUbNyzToV4Wew7v2p+Q2nttnDYl+SMVtpv9Udg8AkSPCE8JUIINhyf8M0OkgJleAT1F9rn9lMECVwh0Do+Djd09O7O+/1mwWe9BJNJjTLkw0gWSBF/H9+qoBJ5ewpYHnuhCehSZhz9lwI2tDKfGldggS/ySJ7xa2c4LAIrw71XX9j8/dwVSZiNBZgxU9vjyOAYmM2fmTs/HXBtem9DVnY1aYBXmvH2vLiNPEwDZ7pGMQXnLspqOqmr35HOfc1nmWhOnqYTtK79FN1ACIqG+L4KNc3ptIoGJ3BZOFR6jSoyeZA2uEW/Kg0Uox9cJSCqQzHZrG6jlrCmF2LhltrBzr93NsyXa63ti00++IsHYRBsaTDZEVjphjJiWbL4WGcg0ePEm0cMZYdzU4EseHSeOJQtVjuje3dvVfRLidotoz6qjqNav9esYP8Ml9FVZfH5LTNn5BKVzYdaSwjmMG1CrNTV7WhSbfFeAub2LHLMM2GrgL3aGhX8qvT3fDYgM++Xm3jlN0bvZlKatdqU0v/7Kt6NBe6IXF61QdHXRhzpvHL2nvvu+feeOurH/5zuEIQJC1pHez9mmkTzOZF0UrjkOTu7rtmhwpXzGbWl/iZ0UxQbR0DrKpR+ciq6lSM+4P+jkyojXWwZ3FgdORyzEBMu8SodIFsDuRw+IF5oE+C+fXPQlDaYmGyrLapfFOZRs+iyBHP8i+qTHjaoa+FMmLF96bC77XDfZYj0YQ/q7GXrgpEzIYRnXelKdnYYH0yFobmHLKidfPkix3tKDYXr1+dR6VNiSzeH5uA8I4/qLpBQZOv0pzXLdEgt4b8ea1pNFbndOoZHKXvqEPtqvKouETvjjd2laxW6tIJnCC2pVD6AKq6PDv7nN3OBc5+xuWB7CR7gfuP33581xg8QIYkuLqjywujc36p/aWm/3E3N4Rs02aiq0Dh7AmoAXIgq5gvjnJAz34NRC69GuwPSol42MArH3371XF2hlqPvPH5V7yLv3KD/7pqXhMDo9Br7hqgLuvhQIYVj7LSJMOAgxuxbZxccXgIRtDpVkUSmY9fQFBIWERULNpgUkpaxp+OOXkFRSVlFVU1dQ1NLW0dXT19A0MjZWMTU0jYzNwCRD5cjeExobaRgfHOC+1DnRcOTvT2/Ov//379cL5v9NxFOzVLAemzCVeA2ls2BkyzNmCGjQCzbACYY+PAPOsEFtgFYJG1A0tsCFhm3cAqGwbW2CCwziaADdYLbLIeYItNATusA9hl/cAe6wL22SRwwM4Dh6wPOGKjwDE7B5z0uwh+ceiReAghCGEIEQhRCAkQEiEkQUiGkA9CfggFIBSEUAhCYQhFIBSFUAxCcQglIJSEUApCaQhlIJSFUA5CeQgVIFSEUAlCZQhVIFSFUA1CdQg1INSEUAtCbQh1INSFUA9CfQgNIDSE0AhCY9Zfpwn0maYQmkFobigJ/FpYYyMG1ZECIRVQjEtv+iWe4gl57ync886N+8wMZN1VvOwjGPddoCiRLhkjJQGOSC0zCeTItsw2iyxh/SLvgtJ8il0gJ/wYY+M0rrkojOGCVIpgfwTJPbXQCkiibIX7NB8LhaIBkX6OqBbFUhInXGmSpNmU9ROBQFIS67k0ImUIkQRKaCYRMMh5AJJM5oEYLkb8kaT3L1HTisBeByai2GnmmsjNFxz6MNQrKEIQLyDiGXfdKwg6T3aAKFjaBqf3MqpUx2ZspWOrQN2xha/6DcxNwTBIcAiRALxXKXIMtMiCWgXp5TnY6fw7sZhcW8Sl/cJHrZAggV7HmUPCfCtVSJ9eQIXQjyhbIghFzMaspsCd1mWc95N5N5B0fp4ET6nJLNttrVAhYtyrw21QJdpYs/D0DtHQRtF+iTATabO1Vkx0yCkWnNzH+CqLgjukEhj5Dz5LeJ429s68i8gziy+d5bIyjFRTqZzkh1ozVXK0AeyTY1bZhDLMAT2VcM3V0RGOouapsTJ4tF9M1/mTyagqmZS8rGgdmWi+tmqh91eSqSK3y+Qy0Ba1uO83b/tXIhiJW+IyB6MvILhvX7wXs/ItLPIIJ/eFsb7awLKW5WVXVq6UyqBSoY/iw8o8cN2kV6s5YRRKj9RfGpPwrPXanB5Ib7fMeVqWyrDleG+1b25Ig3OxLa7KREVTCBYs3FJSJeMOTGCrkclxAPBCsajQXl4uWvm8XTyvDBOS3ywUAYj2gz5Mzdd1W3OzOWVoWGiakvDx/+UsLBfV2BFlwEoVciJIaxMhchGXnzqrQoUPphaosiRUtKpNV6lsUiUvqinzUcpquc6iMFL5faOrX7eFgmZymN+2oBHxESZBiLhKUEzIVl2WXfeoLYhiCXIxYSA4gAM/NBEYXDhnYWAmiJEbPYrrlIWwZsqfu8UJJRcWKbx5Fu2UOdMSAd+7cebz9Z3A4nUc5UnyXAgf+nFoW41mW4XYhkM/bIRzuJJh+AVULSMILynK1qh3UE2aCkhIAlV+vn1xjaFHgCGIfZhgAqaWtFhmT5w5rOSkqlSq4pSdWIGrRNM0EF5uSq/bEaZB0/yNGSTjL2W5+lrbJWkGE7zmbB3yl2GWdzhGkPOfDBm1LPWa8jrCRM3brAd8pthufNS7ftis09wavUg/71VqOekod7ERmLcRry1HbfkNg5WVwR8zupXK4T+KDqlUQz9l96nVY38XktQnObzsqN7QbN5zh+GOW6ysJ2gxet1hQuV684o9ZhdYlyiTjpuanYnhPpyIEQfpnx1KRF4Crn5ZYhYNE4aBb70RgA/7Q9ReHuRBHsxDaq20Haw9traNVXla32uyb5afS2c2vKsGc0nj5/fwiQ5yq6xobiZdiLJtwZcFEwJdcLIemnrYnGJ0PSKmgGclPfWaGo9HbpLlQ/umhMHT2y/+emJwQylqXN3/8ScO4jDFV1CWAqHRybUkiBgbxdoEFxM9UWA2zwz4/X0nvi+4b99FnBecduy2w70lhbOV4mxaGMUIKdrbewWCDAFkcfUi2lPCosPIc5lG8x59/79mIgHOA45RbaICdh6Tmccu+Mt8d5/HLGD/5eMnu6ttn6ALEtvIfYBt8SoJVaJ4K3knqa6W1EiAtVdDcPBdcuj8JV8H+O44uxLMzRMTL13cvz8xKd7bRvHZ4hOeXEeoLQX0b46NDPfO9PfLioq0tMJCL+nBLl28NBs2NbX9HmbtAjHgYo3e3w7U2+9ENNFBsRipimqtUU0FWFb4sqsT69e3NwgU5OQLV3DhobwX4rRrLuDKcwEXXODCcwVFlF3jXYPnjIzMyMjMNA8mCJvDzsANAXPp/7LSqs0t0fM4zzLPQE+hJ1P9vMZ8t3jb9u/q2u9xSrxXuNFPuM39KoMd9ktmRmWB7/qizV3OVyGmliEeJvq9q+pCK2mGlotUp2OlTgKBdSOpZ45kbWVuYU+6+sKEuJ1Uv2bLfQNjvgmp3/IlcxD8zP6yMBFr15j3rVobnPSng8kq/ayxSAuL4Ysm3SHbvY+RFVbeYF5HrE4g6FjRl602dRgeybWi3vDDE/pMRDBtwGg8yVSn31yOCCfTsEAqJnRHjCo8dyBG44QX1uZWeGY70fy2EA+ABdI87Pvjba50M+RXGEfljO6jCM6zJrkmSQrolIWsfkcvbB+KTwLd+MUYmi8N8/6WLmXUrl63fcNqC66hscvrkExuZu8d9Dze0N/AOCFxQ3rtyX0m263MrBiCRn4d41sdvKGToQlsUbAqjf2o+744lkPXFTwe5pXPl0dV1Nslk72ZUTlnbyhKc6jr+SCPrqizTQ4Oik8sKcBfj0oLtA4vKGpmxqXGuY73MihxZHIshUHQy6+hpdtReSiNx0sMds2yCi+kqNgOiBVv+cNvebJ3uqSgyDo8+7TB/9gmV9TLo6ZZrkS2c1axTQ76Ru5dGDffJIy4wFzguaD7mCJjKrizqZyfqv7D7h9/glf0UyeFE7UJXH2OvkBhTk8v4SjEXAn3mJisicrxjybMLOE8Ig6bw1JwqVzxQQlXUoUcyVuxGZyp5rK54rdOOBiZD08WGGLNvjLdxOG9RjPeezDeleeFweeuNguuI8kjQfksVl65+UKQ62yuCzau4+QkNKl6/y4fYryTtMkXRQCbBHrCd+6vXgkTvbVRhJmh9AT6YnxqToU77R4zIoV2O9H54SCnpibjVxwuIgKH+1Vv2fTTNvOXaL8A9U6QiCOSiLjqzhwRcA5KGzPnVKkCYJnuO/HxPeg4mwX/2D9ppTifRfnami+r272e6M/2SaDEx1MSfLKDylwHlpZsXMsSTCEpKOpCEPjl+hnlx5SP52ddwEWuUhwOxBp/6/qtC3z69IdxclTSL0EhRbJ7N94mOKn1kkyzrqhg11gox+EHe/v4g3/FxpaV6GhbuQUnX1zX1vb334p/dvjvXJC8lMtzy00I1tZVxRZ6Fcb72ir2Ev9QWT5dXoZA0/Et0WRytB5iJ1uP/IUt5hIQ/wusex/EeqTzEO9MM8E/fH3d2NCE5vyk4SipU4Gi6ajiuy1e5NgYb1HldwrnC0IVXU/oFntW9Jn2sXrixvoT8IW2pInzhh5fpQ3367nc4w3ielzmi9trzQXtEjedFG/hNTbB9NOJFdUd//ixcSNrhDkeGe5SqXuGR851802WSu8t53hcD4msW/zVxhxmJp2eycz5KXnuPpOew/zJVx+eP4wuj4ws/46cSd+R/1zUWzbFjlER40tZ3ETIh380g+d8dhlz3Dn2Qw6VA//ISIkqBPIiYnQlwfmftL8TQm5urc3r15GRwUEODhERoIgQ5Yng6fS4TJGxWikXzp2bRDGIzGjZ9WBOYWjQnPk5Xvtz0tPxvPUtzR28NeFB0+0+nNWRzzHMES3Py42LGxmhHTkKBsu2Mm7niHtVVnZyR/jO4pqoYaLLy2ge6Rq8Q+F5m6cwSc7yeEuaP58exE2f//96H+A9mXiE+H7+Zkv5cCAAABlpYbsNcXGK5Na1SAnYvmmF0RzuKpuRU/YuNgD4/5GbkAdooz7k56JmgoQsTmuR8dhZD11ei0eOL8w2LEG0FK0Lkv8v7yIasCc0axb7NixwZrJu8i9iVKcMuUFkLUYawJ7RLLQJLHQCsh46I1pyPqsgCI4PK5X7EVPWThRyZlgtup5lHCoVaUjC57+7g74f7k3mG4a+xBMRDQBm6f99shlm7pfcDPDbJg7UlzQxs9tuj9t6EfHiKPG/APWvLytsPerdoLbaG0haCeCTQ24BLiKFFNJ2BQgnCSCJEwNDNSsxDT7osRT4gQGFOJFwZYYYbAQEOG194CANzTvGQxB+AHo0GwEMzU4yAklQAYVmD5gMveJQv5jKfNwO/8rB3sccCH6Dr1Gzdxb0df4Dl5Covemvg+7vFQhYC9h2WLZl8rcirnWcsH1JFHcUY2ozp3cw0o8i+W42c9ID9ybhmua9YoF1L8oCAn6D04GrIo0p5gq5/8ERCnzXEtK60bumNF4FFixAIGi1Bks9XEy8WyK7Tqt6LEGiXgoVlBBlSHeVw713wEi6N2bwsjszeXGOVvdMIXIeK6Nqju9LX4oNlKhQYwrTmMHsH0xzg8LafvhcFiLRWDyRTKUz2Vy+UCyVK9VavdFstTvdXn8wHI0n09l8wRRV0w3Tsh3XvQePnjx78erNJ5998dU33/3wc+1PH57BawmJtvRwmpdNvc2WCTIQG3NqlpOpCuZjSIvOzAd75blGIAsCjIG0wFlQRiWq8IHpmLjLwdGKt19gRSp7pklYGwGrTOdlYyaVsmn2tGleUTaLaeAr296ZlKwLj2p34YeuRF3GTVK45SqWGLFxxUWUn5CbLkw1q0hbEEwnW7GI8Y1ux9Y2kN/BWAQMK1CYVHcEla4bpVyIoibYp5ZOx5jmYJtcwA3CZi5qck1JdvLAFFItJ5zTN5O6oYok6pJzx54LUcPlR1ElJtgr92NCZ9OcLMET7YOVhHZupsAgDbObM2GAllS73uopA+3Upy4Bla9amig+uFMLk9+PI+uax4AIEjJXGNHow2ChewpV2dLEWa01AAA=);font-weight:400;font-style:normal}.ag-theme-alpine,.ag-theme-alpine-dark,.ag-theme-alpine-auto-dark{--ag-alpine-active-color: #2196f3;--ag-selected-row-background-color: rgba(33, 150, 243, .3);--ag-row-hover-color: rgba(33, 150, 243, .1);--ag-column-hover-color: rgba(33, 150, 243, .1);--ag-input-focus-border-color: rgba(33, 150, 243, .4);--ag-range-selection-background-color: rgba(33, 150, 243, .2);--ag-range-selection-background-color-2: rgba(33, 150, 243, .36);--ag-range-selection-background-color-3: rgba(33, 150, 243, .49);--ag-range-selection-background-color-4: rgba(33, 150, 243, .59);--ag-background-color: #fff;--ag-foreground-color: #181d1f;--ag-border-color: #babfc7;--ag-secondary-border-color: #dde2eb;--ag-header-background-color: #f8f8f8;--ag-tooltip-background-color: #f8f8f8;--ag-odd-row-background-color: #fcfcfc;--ag-control-panel-background-color: #f8f8f8;--ag-subheader-background-color: #fff;--ag-invalid-color: #e02525;--ag-checkbox-unchecked-color: #999;--ag-advanced-filter-join-pill-color: #f08e8d;--ag-advanced-filter-column-pill-color: #a6e194;--ag-advanced-filter-option-pill-color: #f3c08b;--ag-advanced-filter-value-pill-color: #85c0e4;--ag-checkbox-background-color: var(--ag-background-color);--ag-checkbox-checked-color: var(--ag-alpine-active-color);--ag-range-selection-border-color: var(--ag-alpine-active-color);--ag-secondary-foreground-color: var(--ag-foreground-color);--ag-input-border-color: var(--ag-border-color);--ag-input-border-color-invalid: var(--ag-invalid-color);--ag-input-focus-box-shadow: 0 0 2px .1rem var(--ag-input-focus-border-color);--ag-panel-background-color: var(--ag-header-background-color);--ag-menu-background-color: var(--ag-header-background-color);--ag-disabled-foreground-color: rgba(24, 29, 31, .5);--ag-chip-background-color: rgba(24, 29, 31, .07);--ag-input-disabled-border-color: rgba(186, 191, 199, .3);--ag-input-disabled-background-color: rgba(186, 191, 199, .15);--ag-borders: solid 1px;--ag-border-radius: 3px;--ag-borders-side-button: none;--ag-side-button-selected-background-color: transparent;--ag-header-column-resize-handle-display: block;--ag-header-column-resize-handle-width: 2px;--ag-header-column-resize-handle-height: 30%;--ag-grid-size: 6px;--ag-icon-size: 16px;--ag-row-height: calc(var(--ag-grid-size) * 7);--ag-header-height: calc(var(--ag-grid-size) * 8);--ag-list-item-height: calc(var(--ag-grid-size) * 4);--ag-column-select-indent-size: var(--ag-icon-size);--ag-set-filter-indent-size: var(--ag-icon-size);--ag-advanced-filter-builder-indent-size: calc(var(--ag-icon-size) + var(--ag-grid-size) * 2);--ag-cell-horizontal-padding: calc(var(--ag-grid-size) * 3);--ag-cell-widget-spacing: calc(var(--ag-grid-size) * 2);--ag-widget-container-vertical-padding: calc(var(--ag-grid-size) * 2);--ag-widget-container-horizontal-padding: calc(var(--ag-grid-size) * 2);--ag-widget-vertical-spacing: calc(var(--ag-grid-size) * 1.5);--ag-toggle-button-height: 18px;--ag-toggle-button-width: 28px;--ag-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;--ag-font-size: 13px;--ag-icon-font-family: agGridAlpine;--ag-selected-tab-underline-color: var(--ag-alpine-active-color);--ag-selected-tab-underline-width: 2px;--ag-selected-tab-underline-transition-speed: .3s;--ag-tab-min-width: 240px;--ag-card-shadow: 0 1px 4px 1px rgba(186, 191, 199, .4);--ag-popup-shadow: var(--ag-card-shadow);--ag-side-bar-panel-width: 250px}.ag-theme-alpine-dark{--ag-background-color: #181d1f;--ag-foreground-color: #fff;--ag-border-color: #68686e;--ag-secondary-border-color: rgba(88, 86, 82, .5);--ag-modal-overlay-background-color: rgba(24, 29, 31, .66);--ag-header-background-color: #222628;--ag-tooltip-background-color: #222628;--ag-odd-row-background-color: #222628;--ag-control-panel-background-color: #222628;--ag-subheader-background-color: #000;--ag-input-disabled-background-color: #282c2f;--ag-input-focus-box-shadow: 0 0 2px .5px rgba(255, 255, 255, .5), 0 0 4px 3px var(--ag-input-focus-border-color);--ag-card-shadow: 0 1px 20px 1px black;--ag-disabled-foreground-color: rgba(255, 255, 255, .5);--ag-chip-background-color: rgba(255, 255, 255, .07);--ag-input-disabled-border-color: rgba(104, 104, 110, .3);--ag-input-disabled-background-color: rgba(104, 104, 110, .07);--ag-advanced-filter-join-pill-color: #7a3a37;--ag-advanced-filter-column-pill-color: #355f2d;--ag-advanced-filter-option-pill-color: #5a3168;--ag-advanced-filter-value-pill-color: #374c86;color-scheme:dark}@media (prefers-color-scheme: dark){.ag-theme-alpine-auto-dark{--ag-background-color: #181d1f;--ag-foreground-color: #fff;--ag-border-color: #68686e;--ag-secondary-border-color: rgba(88, 86, 82, .5);--ag-modal-overlay-background-color: rgba(24, 29, 31, .66);--ag-header-background-color: #222628;--ag-tooltip-background-color: #222628;--ag-odd-row-background-color: #222628;--ag-control-panel-background-color: #222628;--ag-subheader-background-color: #000;--ag-input-disabled-background-color: #282c2f;--ag-input-focus-box-shadow: 0 0 2px .5px rgba(255, 255, 255, .5), 0 0 4px 3px var(--ag-input-focus-border-color);--ag-card-shadow: 0 1px 20px 1px black;--ag-disabled-foreground-color: rgba(255, 255, 255, .5);--ag-chip-background-color: rgba(255, 255, 255, .07);--ag-input-disabled-border-color: rgba(104, 104, 110, .3);--ag-input-disabled-background-color: rgba(104, 104, 110, .07);--ag-advanced-filter-join-pill-color: #7a3a37;--ag-advanced-filter-column-pill-color: #355f2d;--ag-advanced-filter-option-pill-color: #5a3168;--ag-advanced-filter-value-pill-color: #374c86;color-scheme:dark}}.ag-theme-alpine .ag-filter-toolpanel-header,.ag-theme-alpine .ag-filter-toolpanel-search,.ag-theme-alpine .ag-status-bar,.ag-theme-alpine .ag-header-row,.ag-theme-alpine .ag-panel-title-bar-title,.ag-theme-alpine .ag-multi-filter-group-title-bar,.ag-theme-alpine-dark .ag-filter-toolpanel-header,.ag-theme-alpine-dark .ag-filter-toolpanel-search,.ag-theme-alpine-dark .ag-status-bar,.ag-theme-alpine-dark .ag-header-row,.ag-theme-alpine-dark .ag-panel-title-bar-title,.ag-theme-alpine-dark .ag-multi-filter-group-title-bar,.ag-theme-alpine-auto-dark .ag-filter-toolpanel-header,.ag-theme-alpine-auto-dark .ag-filter-toolpanel-search,.ag-theme-alpine-auto-dark .ag-status-bar,.ag-theme-alpine-auto-dark .ag-header-row,.ag-theme-alpine-auto-dark .ag-panel-title-bar-title,.ag-theme-alpine-auto-dark .ag-multi-filter-group-title-bar{font-weight:700;color:var(--ag-header-foreground-color)}.ag-theme-alpine .ag-row,.ag-theme-alpine-dark .ag-row,.ag-theme-alpine-auto-dark .ag-row{font-size:calc(var(--ag-font-size) + 1px)}.ag-theme-alpine input[class^=ag-]:not([type]),.ag-theme-alpine input[class^=ag-][type=text],.ag-theme-alpine input[class^=ag-][type=number],.ag-theme-alpine input[class^=ag-][type=tel],.ag-theme-alpine input[class^=ag-][type=date],.ag-theme-alpine input[class^=ag-][type=datetime-local],.ag-theme-alpine textarea[class^=ag-],.ag-theme-alpine-dark input[class^=ag-]:not([type]),.ag-theme-alpine-dark input[class^=ag-][type=text],.ag-theme-alpine-dark input[class^=ag-][type=number],.ag-theme-alpine-dark input[class^=ag-][type=tel],.ag-theme-alpine-dark input[class^=ag-][type=date],.ag-theme-alpine-dark input[class^=ag-][type=datetime-local],.ag-theme-alpine-dark textarea[class^=ag-],.ag-theme-alpine-auto-dark input[class^=ag-]:not([type]),.ag-theme-alpine-auto-dark input[class^=ag-][type=text],.ag-theme-alpine-auto-dark input[class^=ag-][type=number],.ag-theme-alpine-auto-dark input[class^=ag-][type=tel],.ag-theme-alpine-auto-dark input[class^=ag-][type=date],.ag-theme-alpine-auto-dark input[class^=ag-][type=datetime-local],.ag-theme-alpine-auto-dark textarea[class^=ag-]{min-height:calc(var(--ag-grid-size) * 4);border-radius:var(--ag-border-radius)}.ag-theme-alpine .ag-ltr input[class^=ag-]:not([type]),.ag-theme-alpine .ag-ltr input[class^=ag-][type=text],.ag-theme-alpine .ag-ltr input[class^=ag-][type=number],.ag-theme-alpine .ag-ltr input[class^=ag-][type=tel],.ag-theme-alpine .ag-ltr input[class^=ag-][type=date],.ag-theme-alpine .ag-ltr input[class^=ag-][type=datetime-local],.ag-theme-alpine .ag-ltr textarea[class^=ag-],.ag-theme-alpine-dark .ag-ltr input[class^=ag-]:not([type]),.ag-theme-alpine-dark .ag-ltr input[class^=ag-][type=text],.ag-theme-alpine-dark .ag-ltr input[class^=ag-][type=number],.ag-theme-alpine-dark .ag-ltr input[class^=ag-][type=tel],.ag-theme-alpine-dark .ag-ltr input[class^=ag-][type=date],.ag-theme-alpine-dark .ag-ltr input[class^=ag-][type=datetime-local],.ag-theme-alpine-dark .ag-ltr textarea[class^=ag-],.ag-theme-alpine-auto-dark .ag-ltr input[class^=ag-]:not([type]),.ag-theme-alpine-auto-dark .ag-ltr input[class^=ag-][type=text],.ag-theme-alpine-auto-dark .ag-ltr input[class^=ag-][type=number],.ag-theme-alpine-auto-dark .ag-ltr input[class^=ag-][type=tel],.ag-theme-alpine-auto-dark .ag-ltr input[class^=ag-][type=date],.ag-theme-alpine-auto-dark .ag-ltr input[class^=ag-][type=datetime-local],.ag-theme-alpine-auto-dark .ag-ltr textarea[class^=ag-]{padding-left:var(--ag-grid-size)}.ag-theme-alpine .ag-rtl input[class^=ag-]:not([type]),.ag-theme-alpine .ag-rtl input[class^=ag-][type=text],.ag-theme-alpine .ag-rtl input[class^=ag-][type=number],.ag-theme-alpine .ag-rtl input[class^=ag-][type=tel],.ag-theme-alpine .ag-rtl input[class^=ag-][type=date],.ag-theme-alpine .ag-rtl input[class^=ag-][type=datetime-local],.ag-theme-alpine .ag-rtl textarea[class^=ag-],.ag-theme-alpine-dark .ag-rtl input[class^=ag-]:not([type]),.ag-theme-alpine-dark .ag-rtl input[class^=ag-][type=text],.ag-theme-alpine-dark .ag-rtl input[class^=ag-][type=number],.ag-theme-alpine-dark .ag-rtl input[class^=ag-][type=tel],.ag-theme-alpine-dark .ag-rtl input[class^=ag-][type=date],.ag-theme-alpine-dark .ag-rtl input[class^=ag-][type=datetime-local],.ag-theme-alpine-dark .ag-rtl textarea[class^=ag-],.ag-theme-alpine-auto-dark .ag-rtl input[class^=ag-]:not([type]),.ag-theme-alpine-auto-dark .ag-rtl input[class^=ag-][type=text],.ag-theme-alpine-auto-dark .ag-rtl input[class^=ag-][type=number],.ag-theme-alpine-auto-dark .ag-rtl input[class^=ag-][type=tel],.ag-theme-alpine-auto-dark .ag-rtl input[class^=ag-][type=date],.ag-theme-alpine-auto-dark .ag-rtl input[class^=ag-][type=datetime-local],.ag-theme-alpine-auto-dark .ag-rtl textarea[class^=ag-]{padding-right:var(--ag-grid-size)}.ag-theme-alpine .ag-tab,.ag-theme-alpine-dark .ag-tab,.ag-theme-alpine-auto-dark .ag-tab{padding:calc(var(--ag-grid-size) * 1.5);transition:color .4s;flex:1 1 auto}.ag-theme-alpine .ag-tab-selected,.ag-theme-alpine-dark .ag-tab-selected,.ag-theme-alpine-auto-dark .ag-tab-selected{color:var(--ag-alpine-active-color)}.ag-theme-alpine .ag-menu,.ag-theme-alpine-dark .ag-menu,.ag-theme-alpine-auto-dark .ag-menu,.ag-theme-alpine .ag-panel-content-wrapper .ag-column-select,.ag-theme-alpine-dark .ag-panel-content-wrapper .ag-column-select,.ag-theme-alpine-auto-dark .ag-panel-content-wrapper .ag-column-select{background-color:var(--ag-control-panel-background-color)}.ag-theme-alpine .ag-menu-header,.ag-theme-alpine-dark .ag-menu-header,.ag-theme-alpine-auto-dark .ag-menu-header{background-color:var(--ag-control-panel-background-color);padding-top:1px}.ag-theme-alpine .ag-tabs-header,.ag-theme-alpine-dark .ag-tabs-header,.ag-theme-alpine-auto-dark .ag-tabs-header{border-bottom:var(--ag-borders) var(--ag-border-color)}.ag-theme-alpine .ag-charts-settings-group-title-bar,.ag-theme-alpine .ag-charts-data-group-title-bar,.ag-theme-alpine .ag-charts-format-top-level-group-title-bar,.ag-theme-alpine-dark .ag-charts-settings-group-title-bar,.ag-theme-alpine-dark .ag-charts-data-group-title-bar,.ag-theme-alpine-dark .ag-charts-format-top-level-group-title-bar,.ag-theme-alpine-auto-dark .ag-charts-settings-group-title-bar,.ag-theme-alpine-auto-dark .ag-charts-data-group-title-bar,.ag-theme-alpine-auto-dark .ag-charts-format-top-level-group-title-bar{padding:var(--ag-grid-size) calc(var(--ag-grid-size) * 2);line-height:calc(var(--ag-icon-size) + var(--ag-grid-size) - 2px)}.ag-theme-alpine .ag-chart-mini-thumbnail,.ag-theme-alpine-dark .ag-chart-mini-thumbnail,.ag-theme-alpine-auto-dark .ag-chart-mini-thumbnail{background-color:var(--ag-background-color)}.ag-theme-alpine .ag-chart-settings-nav-bar,.ag-theme-alpine-dark .ag-chart-settings-nav-bar,.ag-theme-alpine-auto-dark .ag-chart-settings-nav-bar{border-top:var(--ag-borders-secondary) var(--ag-secondary-border-color)}.ag-theme-alpine .ag-ltr .ag-group-title-bar-icon,.ag-theme-alpine-dark .ag-ltr .ag-group-title-bar-icon,.ag-theme-alpine-auto-dark .ag-ltr .ag-group-title-bar-icon{margin-right:var(--ag-grid-size)}.ag-theme-alpine .ag-rtl .ag-group-title-bar-icon,.ag-theme-alpine-dark .ag-rtl .ag-group-title-bar-icon,.ag-theme-alpine-auto-dark .ag-rtl .ag-group-title-bar-icon{margin-left:var(--ag-grid-size)}.ag-theme-alpine .ag-charts-format-top-level-group-toolbar,.ag-theme-alpine-dark .ag-charts-format-top-level-group-toolbar,.ag-theme-alpine-auto-dark .ag-charts-format-top-level-group-toolbar{margin-top:var(--ag-grid-size)}.ag-theme-alpine .ag-ltr .ag-charts-format-top-level-group-toolbar,.ag-theme-alpine-dark .ag-ltr .ag-charts-format-top-level-group-toolbar,.ag-theme-alpine-auto-dark .ag-ltr .ag-charts-format-top-level-group-toolbar{padding-left:calc(var(--ag-icon-size) * .5 + var(--ag-grid-size) * 2)}.ag-theme-alpine .ag-rtl .ag-charts-format-top-level-group-toolbar,.ag-theme-alpine-dark .ag-rtl .ag-charts-format-top-level-group-toolbar,.ag-theme-alpine-auto-dark .ag-rtl .ag-charts-format-top-level-group-toolbar{padding-right:calc(var(--ag-icon-size) * .5 + var(--ag-grid-size) * 2)}.ag-theme-alpine .ag-charts-format-sub-level-group,.ag-theme-alpine-dark .ag-charts-format-sub-level-group,.ag-theme-alpine-auto-dark .ag-charts-format-sub-level-group{border-left:dashed 1px;border-left-color:var(--ag-border-color);padding-left:var(--ag-grid-size);margin-bottom:calc(var(--ag-grid-size) * 2)}.ag-theme-alpine .ag-charts-format-sub-level-group-title-bar,.ag-theme-alpine-dark .ag-charts-format-sub-level-group-title-bar,.ag-theme-alpine-auto-dark .ag-charts-format-sub-level-group-title-bar{padding-top:0;padding-bottom:0;background:none;font-weight:700}.ag-theme-alpine .ag-charts-format-sub-level-group-container,.ag-theme-alpine-dark .ag-charts-format-sub-level-group-container,.ag-theme-alpine-auto-dark .ag-charts-format-sub-level-group-container{padding-bottom:0}.ag-theme-alpine .ag-charts-format-sub-level-group-item:last-child,.ag-theme-alpine-dark .ag-charts-format-sub-level-group-item:last-child,.ag-theme-alpine-auto-dark .ag-charts-format-sub-level-group-item:last-child{margin-bottom:0}.ag-theme-alpine.ag-dnd-ghost,.ag-theme-alpine-dark.ag-dnd-ghost,.ag-theme-alpine-auto-dark.ag-dnd-ghost{font-size:calc(var(--ag-font-size) - 1px);font-weight:700}.ag-theme-alpine .ag-side-buttons,.ag-theme-alpine-dark .ag-side-buttons,.ag-theme-alpine-auto-dark .ag-side-buttons{width:calc(var(--ag-grid-size) * 5)}.ag-theme-alpine .ag-standard-button,.ag-theme-alpine-dark .ag-standard-button,.ag-theme-alpine-auto-dark .ag-standard-button{font-family:inherit;-moz-appearance:none;appearance:none;-webkit-appearance:none;border-radius:var(--ag-border-radius);border:1px solid;border-color:var(--ag-alpine-active-color);color:var(--ag-alpine-active-color);background-color:var(--ag-background-color);font-weight:600;padding:var(--ag-grid-size) calc(var(--ag-grid-size) * 2)}.ag-theme-alpine .ag-standard-button:hover,.ag-theme-alpine-dark .ag-standard-button:hover,.ag-theme-alpine-auto-dark .ag-standard-button:hover{border-color:var(--ag-alpine-active-color);background-color:var(--ag-row-hover-color)}.ag-theme-alpine .ag-standard-button:active,.ag-theme-alpine-dark .ag-standard-button:active,.ag-theme-alpine-auto-dark .ag-standard-button:active{border-color:var(--ag-alpine-active-color);background-color:var(--ag-alpine-active-color);color:var(--ag-background-color)}.ag-theme-alpine .ag-standard-button:disabled,.ag-theme-alpine-dark .ag-standard-button:disabled,.ag-theme-alpine-auto-dark .ag-standard-button:disabled{color:var(--ag-disabled-foreground-color);background-color:var(--ag-input-disabled-background-color);border-color:var(--ag-input-disabled-border-color)}.ag-theme-alpine .ag-column-drop-vertical,.ag-theme-alpine-dark .ag-column-drop-vertical,.ag-theme-alpine-auto-dark .ag-column-drop-vertical{min-height:75px}.ag-theme-alpine .ag-column-drop-vertical-title-bar,.ag-theme-alpine-dark .ag-column-drop-vertical-title-bar,.ag-theme-alpine-auto-dark .ag-column-drop-vertical-title-bar{padding:calc(var(--ag-grid-size) * 2);padding-bottom:0}.ag-theme-alpine .ag-column-drop-vertical-empty-message,.ag-theme-alpine-dark .ag-column-drop-vertical-empty-message,.ag-theme-alpine-auto-dark .ag-column-drop-vertical-empty-message{display:flex;align-items:center;border:dashed 1px;border-color:var(--ag-border-color);margin:calc(var(--ag-grid-size) * 2);padding:calc(var(--ag-grid-size) * 2)}.ag-theme-alpine .ag-column-drop-empty-message,.ag-theme-alpine-dark .ag-column-drop-empty-message,.ag-theme-alpine-auto-dark .ag-column-drop-empty-message{color:var(--ag-foreground-color);opacity:.75}.ag-theme-alpine .ag-status-bar,.ag-theme-alpine-dark .ag-status-bar,.ag-theme-alpine-auto-dark .ag-status-bar{font-weight:400}.ag-theme-alpine .ag-status-name-value-value,.ag-theme-alpine-dark .ag-status-name-value-value,.ag-theme-alpine-auto-dark .ag-status-name-value-value,.ag-theme-alpine .ag-paging-number,.ag-theme-alpine .ag-paging-row-summary-panel-number,.ag-theme-alpine-dark .ag-paging-number,.ag-theme-alpine-dark .ag-paging-row-summary-panel-number,.ag-theme-alpine-auto-dark .ag-paging-number,.ag-theme-alpine-auto-dark .ag-paging-row-summary-panel-number{font-weight:700}.ag-theme-alpine .ag-column-drop-cell-button,.ag-theme-alpine-dark .ag-column-drop-cell-button,.ag-theme-alpine-auto-dark .ag-column-drop-cell-button{opacity:.5}.ag-theme-alpine .ag-column-drop-cell-button:hover,.ag-theme-alpine-dark .ag-column-drop-cell-button:hover,.ag-theme-alpine-auto-dark .ag-column-drop-cell-button:hover{opacity:.75}.ag-theme-alpine .ag-column-select-column-readonly.ag-icon-grip,.ag-theme-alpine .ag-column-select-column-readonly .ag-icon-grip,.ag-theme-alpine-dark .ag-column-select-column-readonly.ag-icon-grip,.ag-theme-alpine-dark .ag-column-select-column-readonly .ag-icon-grip,.ag-theme-alpine-auto-dark .ag-column-select-column-readonly.ag-icon-grip,.ag-theme-alpine-auto-dark .ag-column-select-column-readonly .ag-icon-grip{opacity:.35}.ag-theme-alpine .ag-header-cell-menu-button:hover,.ag-theme-alpine .ag-header-cell-filter-button:hover,.ag-theme-alpine .ag-side-button-button:hover,.ag-theme-alpine .ag-tab:hover,.ag-theme-alpine .ag-panel-title-bar-button:hover,.ag-theme-alpine .ag-header-expand-icon:hover,.ag-theme-alpine .ag-column-group-icons:hover,.ag-theme-alpine .ag-set-filter-group-icons:hover,.ag-theme-alpine .ag-group-expanded .ag-icon:hover,.ag-theme-alpine .ag-group-contracted .ag-icon:hover,.ag-theme-alpine .ag-chart-settings-prev:hover,.ag-theme-alpine .ag-chart-settings-next:hover,.ag-theme-alpine .ag-group-title-bar-icon:hover,.ag-theme-alpine .ag-column-select-header-icon:hover,.ag-theme-alpine .ag-floating-filter-button-button:hover,.ag-theme-alpine .ag-filter-toolpanel-expand:hover,.ag-theme-alpine .ag-chart-menu-icon:hover,.ag-theme-alpine .ag-chart-menu-close:hover,.ag-theme-alpine-dark .ag-header-cell-menu-button:hover,.ag-theme-alpine-dark .ag-header-cell-filter-button:hover,.ag-theme-alpine-dark .ag-side-button-button:hover,.ag-theme-alpine-dark .ag-tab:hover,.ag-theme-alpine-dark .ag-panel-title-bar-button:hover,.ag-theme-alpine-dark .ag-header-expand-icon:hover,.ag-theme-alpine-dark .ag-column-group-icons:hover,.ag-theme-alpine-dark .ag-set-filter-group-icons:hover,.ag-theme-alpine-dark .ag-group-expanded .ag-icon:hover,.ag-theme-alpine-dark .ag-group-contracted .ag-icon:hover,.ag-theme-alpine-dark .ag-chart-settings-prev:hover,.ag-theme-alpine-dark .ag-chart-settings-next:hover,.ag-theme-alpine-dark .ag-group-title-bar-icon:hover,.ag-theme-alpine-dark .ag-column-select-header-icon:hover,.ag-theme-alpine-dark .ag-floating-filter-button-button:hover,.ag-theme-alpine-dark .ag-filter-toolpanel-expand:hover,.ag-theme-alpine-dark .ag-chart-menu-icon:hover,.ag-theme-alpine-dark .ag-chart-menu-close:hover,.ag-theme-alpine-auto-dark .ag-header-cell-menu-button:hover,.ag-theme-alpine-auto-dark .ag-header-cell-filter-button:hover,.ag-theme-alpine-auto-dark .ag-side-button-button:hover,.ag-theme-alpine-auto-dark .ag-tab:hover,.ag-theme-alpine-auto-dark .ag-panel-title-bar-button:hover,.ag-theme-alpine-auto-dark .ag-header-expand-icon:hover,.ag-theme-alpine-auto-dark .ag-column-group-icons:hover,.ag-theme-alpine-auto-dark .ag-set-filter-group-icons:hover,.ag-theme-alpine-auto-dark .ag-group-expanded .ag-icon:hover,.ag-theme-alpine-auto-dark .ag-group-contracted .ag-icon:hover,.ag-theme-alpine-auto-dark .ag-chart-settings-prev:hover,.ag-theme-alpine-auto-dark .ag-chart-settings-next:hover,.ag-theme-alpine-auto-dark .ag-group-title-bar-icon:hover,.ag-theme-alpine-auto-dark .ag-column-select-header-icon:hover,.ag-theme-alpine-auto-dark .ag-floating-filter-button-button:hover,.ag-theme-alpine-auto-dark .ag-filter-toolpanel-expand:hover,.ag-theme-alpine-auto-dark .ag-chart-menu-icon:hover,.ag-theme-alpine-auto-dark .ag-chart-menu-close:hover{color:var(--ag-alpine-active-color)}.ag-theme-alpine .ag-header-cell-menu-button:hover .ag-icon,.ag-theme-alpine .ag-header-cell-filter-button:hover .ag-icon,.ag-theme-alpine .ag-side-button-button:hover .ag-icon,.ag-theme-alpine .ag-panel-title-bar-button:hover .ag-icon,.ag-theme-alpine .ag-floating-filter-button-button:hover .ag-icon,.ag-theme-alpine-dark .ag-header-cell-menu-button:hover .ag-icon,.ag-theme-alpine-dark .ag-header-cell-filter-button:hover .ag-icon,.ag-theme-alpine-dark .ag-side-button-button:hover .ag-icon,.ag-theme-alpine-dark .ag-panel-title-bar-button:hover .ag-icon,.ag-theme-alpine-dark .ag-floating-filter-button-button:hover .ag-icon,.ag-theme-alpine-auto-dark .ag-header-cell-menu-button:hover .ag-icon,.ag-theme-alpine-auto-dark .ag-header-cell-filter-button:hover .ag-icon,.ag-theme-alpine-auto-dark .ag-side-button-button:hover .ag-icon,.ag-theme-alpine-auto-dark .ag-panel-title-bar-button:hover .ag-icon,.ag-theme-alpine-auto-dark .ag-floating-filter-button-button:hover .ag-icon{color:inherit}.ag-theme-alpine .ag-filter-active .ag-icon-filter,.ag-theme-alpine-dark .ag-filter-active .ag-icon-filter,.ag-theme-alpine-auto-dark .ag-filter-active .ag-icon-filter{color:var(--ag-alpine-active-color)}.ag-theme-alpine .ag-chart-menu-close,.ag-theme-alpine-dark .ag-chart-menu-close,.ag-theme-alpine-auto-dark .ag-chart-menu-close{background:var(--ag-background-color)}.ag-theme-alpine .ag-chart-menu-close:hover .ag-icon,.ag-theme-alpine-dark .ag-chart-menu-close:hover .ag-icon,.ag-theme-alpine-auto-dark .ag-chart-menu-close:hover .ag-icon{border-color:var(--ag-alpine-active-color)}.ag-theme-alpine .ag-chart-menu-close .ag-icon,.ag-theme-alpine-dark .ag-chart-menu-close .ag-icon,.ag-theme-alpine-auto-dark .ag-chart-menu-close .ag-icon{background:var(--ag-header-background-color);border:1px solid var(--ag-border-color);border-right:none}.ag-theme-alpine .ag-chart-settings-card-item.ag-not-selected:hover,.ag-theme-alpine-dark .ag-chart-settings-card-item.ag-not-selected:hover,.ag-theme-alpine-auto-dark .ag-chart-settings-card-item.ag-not-selected:hover{opacity:.35}.ag-theme-alpine .ag-ltr .ag-panel-title-bar-button,.ag-theme-alpine-dark .ag-ltr .ag-panel-title-bar-button,.ag-theme-alpine-auto-dark .ag-ltr .ag-panel-title-bar-button{margin-left:calc(var(--ag-grid-size) * 2);margin-right:var(--ag-grid-size)}.ag-theme-alpine .ag-rtl .ag-panel-title-bar-button,.ag-theme-alpine-dark .ag-rtl .ag-panel-title-bar-button,.ag-theme-alpine-auto-dark .ag-rtl .ag-panel-title-bar-button{margin-right:calc(var(--ag-grid-size) * 2);margin-left:var(--ag-grid-size)}.ag-theme-alpine .ag-ltr .ag-filter-toolpanel-group-container,.ag-theme-alpine-dark .ag-ltr .ag-filter-toolpanel-group-container,.ag-theme-alpine-auto-dark .ag-ltr .ag-filter-toolpanel-group-container{padding-left:var(--ag-grid-size)}.ag-theme-alpine .ag-rtl .ag-filter-toolpanel-group-container,.ag-theme-alpine-dark .ag-rtl .ag-filter-toolpanel-group-container,.ag-theme-alpine-auto-dark .ag-rtl .ag-filter-toolpanel-group-container{padding-right:var(--ag-grid-size)}.ag-theme-alpine .ag-filter-toolpanel-instance-filter,.ag-theme-alpine-dark .ag-filter-toolpanel-instance-filter,.ag-theme-alpine-auto-dark .ag-filter-toolpanel-instance-filter{border:none;background-color:var(--ag-control-panel-background-color)}.ag-theme-alpine .ag-ltr .ag-filter-toolpanel-instance-filter,.ag-theme-alpine-dark .ag-ltr .ag-filter-toolpanel-instance-filter,.ag-theme-alpine-auto-dark .ag-ltr .ag-filter-toolpanel-instance-filter{border-left:dashed 1px;border-left-color:var(--ag-border-color);margin-left:calc(var(--ag-icon-size) * .5)}.ag-theme-alpine .ag-rtl .ag-filter-toolpanel-instance-filter,.ag-theme-alpine-dark .ag-rtl .ag-filter-toolpanel-instance-filter,.ag-theme-alpine-auto-dark .ag-rtl .ag-filter-toolpanel-instance-filter{border-right:dashed 1px;border-right-color:var(--ag-border-color);margin-right:calc(var(--ag-icon-size) * .5)}.ag-theme-alpine .ag-set-filter-list,.ag-theme-alpine-dark .ag-set-filter-list,.ag-theme-alpine-auto-dark .ag-set-filter-list{padding-top:calc(var(--ag-grid-size) * .5);padding-bottom:calc(var(--ag-grid-size) * .5)}.ag-theme-alpine .ag-layout-auto-height .ag-center-cols-viewport,.ag-theme-alpine .ag-layout-auto-height .ag-center-cols-container,.ag-theme-alpine .ag-layout-print .ag-center-cols-viewport,.ag-theme-alpine .ag-layout-print .ag-center-cols-container,.ag-theme-alpine-dark .ag-layout-auto-height .ag-center-cols-viewport,.ag-theme-alpine-dark .ag-layout-auto-height .ag-center-cols-container,.ag-theme-alpine-dark .ag-layout-print .ag-center-cols-viewport,.ag-theme-alpine-dark .ag-layout-print .ag-center-cols-container,.ag-theme-alpine-auto-dark .ag-layout-auto-height .ag-center-cols-viewport,.ag-theme-alpine-auto-dark .ag-layout-auto-height .ag-center-cols-container,.ag-theme-alpine-auto-dark .ag-layout-print .ag-center-cols-viewport,.ag-theme-alpine-auto-dark .ag-layout-print .ag-center-cols-container{min-height:150px}.ag-theme-alpine .ag-overlay-no-rows-wrapper.ag-layout-auto-height,.ag-theme-alpine-dark .ag-overlay-no-rows-wrapper.ag-layout-auto-height,.ag-theme-alpine-auto-dark .ag-overlay-no-rows-wrapper.ag-layout-auto-height{padding-top:60px}.ag-theme-alpine .ag-date-time-list-page-entry-is-current,.ag-theme-alpine-dark .ag-date-time-list-page-entry-is-current,.ag-theme-alpine-auto-dark .ag-date-time-list-page-entry-is-current{background-color:var(--ag-alpine-active-color)}.ag-theme-alpine .ag-advanced-filter-builder-button,.ag-theme-alpine-dark .ag-advanced-filter-builder-button,.ag-theme-alpine-auto-dark .ag-advanced-filter-builder-button{padding:var(--ag-grid-size);font-weight:600}.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{max-width:none!important;max-height:none!important;width:auto;padding:0}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;-moz-box-sizing:border-box;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;-webkit-transition:opacity .2s linear;-moz-transition:opacity .2s linear;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{-webkit-transition:none;-moz-transition:none;transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{border:2px dotted #38f;background:rgba(255,255,255,.5)}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px #000000a6;border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px #0006;background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(/build/assets/layers-1dbbe9d0.png);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(/build/assets/layers-2x-066daca8.png);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(/build/assets/marker-icon-574c3a5c.png)}.leaflet-container .leaflet-control-attribution{background:#fff;background:rgba(255,255,255,.8);margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;-moz-box-sizing:border-box;box-sizing:border-box;background:rgba(255,255,255,.8);text-shadow:1px 1px #fff}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:white;color:#333;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:transparent}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.70710678,M12=.70710678,M21=-.70710678,M22=.70710678)}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}} diff --git a/public/build/assets/vendor-6fbf50c2.css b/public/build/assets/vendor-6fbf50c2.css deleted file mode 100644 index 45a10a128d..0000000000 --- a/public/build/assets/vendor-6fbf50c2.css +++ /dev/null @@ -1 +0,0 @@ -.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{max-width:none!important;max-height:none!important;width:auto;padding:0}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;-moz-box-sizing:border-box;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;-webkit-transition:opacity .2s linear;-moz-transition:opacity .2s linear;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{-webkit-transition:none;-moz-transition:none;transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{border:2px dotted #38f;background:rgba(255,255,255,.5)}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px #000000a6;border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px #0006;background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(/build/assets/layers-1dbbe9d0.png);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(/build/assets/layers-2x-066daca8.png);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(/build/assets/marker-icon-574c3a5c.png)}.leaflet-container .leaflet-control-attribution{background:#fff;background:rgba(255,255,255,.8);margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;-moz-box-sizing:border-box;box-sizing:border-box;background:rgba(255,255,255,.8);text-shadow:1px 1px #fff}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:white;color:#333;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:transparent}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.70710678,M12=.70710678,M21=-.70710678,M22=.70710678)}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.ag-icon{font-family:var(--ag-icon-font-family);font-weight:var(--ag-icon-font-weight);color:var(--ag-icon-font-color);font-size:var(--ag-icon-size);line-height:var(--ag-icon-size);font-style:normal;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:var(--ag-icon-size);height:var(--ag-icon-size);position:relative}.ag-icon:before{content:""}.ag-icon:after{background:transparent var(--ag-icon-image, none) center/contain no-repeat;display:var(--ag-icon-image-display);opacity:var(--ag-icon-image-opacity, .9);position:absolute;top:0;right:0;bottom:0;left:0;content:""}.ag-icon-aggregation{font-family:var(--ag-icon-font-family-aggregation, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-aggregation, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-aggregation, var(--ag-icon-font-color))}.ag-icon-aggregation:before{content:var(--ag-icon-font-code-aggregation, "");display:var(--ag-icon-font-display-aggregation, var(--ag-icon-font-display))}.ag-icon-aggregation:after{background-image:var(--ag-icon-image-aggregation, var(--ag-icon-image));display:var(--ag-icon-image-display-aggregation, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-aggregation, var(--ag-icon-image-opacity, .9))}.ag-icon-arrows{font-family:var(--ag-icon-font-family-arrows, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-arrows, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-arrows, var(--ag-icon-font-color))}.ag-icon-arrows:before{content:var(--ag-icon-font-code-arrows, "");display:var(--ag-icon-font-display-arrows, var(--ag-icon-font-display))}.ag-icon-arrows:after{background-image:var(--ag-icon-image-arrows, var(--ag-icon-image));display:var(--ag-icon-image-display-arrows, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-arrows, var(--ag-icon-image-opacity, .9))}.ag-icon-asc{font-family:var(--ag-icon-font-family-asc, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-asc, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-asc, var(--ag-icon-font-color))}.ag-icon-asc:before{content:var(--ag-icon-font-code-asc, "");display:var(--ag-icon-font-display-asc, var(--ag-icon-font-display))}.ag-icon-asc:after{background-image:var(--ag-icon-image-asc, var(--ag-icon-image));display:var(--ag-icon-image-display-asc, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-asc, var(--ag-icon-image-opacity, .9))}.ag-icon-cancel{font-family:var(--ag-icon-font-family-cancel, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-cancel, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-cancel, var(--ag-icon-font-color))}.ag-icon-cancel:before{content:var(--ag-icon-font-code-cancel, "");display:var(--ag-icon-font-display-cancel, var(--ag-icon-font-display))}.ag-icon-cancel:after{background-image:var(--ag-icon-image-cancel, var(--ag-icon-image));display:var(--ag-icon-image-display-cancel, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-cancel, var(--ag-icon-image-opacity, .9))}.ag-icon-chart{font-family:var(--ag-icon-font-family-chart, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-chart, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-chart, var(--ag-icon-font-color))}.ag-icon-chart:before{content:var(--ag-icon-font-code-chart, "");display:var(--ag-icon-font-display-chart, var(--ag-icon-font-display))}.ag-icon-chart:after{background-image:var(--ag-icon-image-chart, var(--ag-icon-image));display:var(--ag-icon-image-display-chart, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-chart, var(--ag-icon-image-opacity, .9))}.ag-icon-checkbox-checked{font-family:var(--ag-icon-font-family-checkbox-checked, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-checkbox-checked, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-checkbox-checked, var(--ag-icon-font-color))}.ag-icon-checkbox-checked:before{content:var(--ag-icon-font-code-checkbox-checked, "");display:var(--ag-icon-font-display-checkbox-checked, var(--ag-icon-font-display))}.ag-icon-checkbox-checked:after{background-image:var(--ag-icon-image-checkbox-checked, var(--ag-icon-image));display:var(--ag-icon-image-display-checkbox-checked, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-checkbox-checked, var(--ag-icon-image-opacity, .9))}.ag-icon-checkbox-indeterminate{font-family:var(--ag-icon-font-family-checkbox-indeterminate, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-checkbox-indeterminate, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-checkbox-indeterminate, var(--ag-icon-font-color))}.ag-icon-checkbox-indeterminate:before{content:var(--ag-icon-font-code-checkbox-indeterminate, "");display:var(--ag-icon-font-display-checkbox-indeterminate, var(--ag-icon-font-display))}.ag-icon-checkbox-indeterminate:after{background-image:var(--ag-icon-image-checkbox-indeterminate, var(--ag-icon-image));display:var(--ag-icon-image-display-checkbox-indeterminate, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-checkbox-indeterminate, var(--ag-icon-image-opacity, .9))}.ag-icon-checkbox-unchecked{font-family:var(--ag-icon-font-family-checkbox-unchecked, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-checkbox-unchecked, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-checkbox-unchecked, var(--ag-icon-font-color))}.ag-icon-checkbox-unchecked:before{content:var(--ag-icon-font-code-checkbox-unchecked, "");display:var(--ag-icon-font-display-checkbox-unchecked, var(--ag-icon-font-display))}.ag-icon-checkbox-unchecked:after{background-image:var(--ag-icon-image-checkbox-unchecked, var(--ag-icon-image));display:var(--ag-icon-image-display-checkbox-unchecked, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-checkbox-unchecked, var(--ag-icon-image-opacity, .9))}.ag-icon-color-picker{font-family:var(--ag-icon-font-family-color-picker, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-color-picker, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-color-picker, var(--ag-icon-font-color))}.ag-icon-color-picker:before{content:var(--ag-icon-font-code-color-picker, "");display:var(--ag-icon-font-display-color-picker, var(--ag-icon-font-display))}.ag-icon-color-picker:after{background-image:var(--ag-icon-image-color-picker, var(--ag-icon-image));display:var(--ag-icon-image-display-color-picker, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-color-picker, var(--ag-icon-image-opacity, .9))}.ag-icon-columns{font-family:var(--ag-icon-font-family-columns, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-columns, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-columns, var(--ag-icon-font-color))}.ag-icon-columns:before{content:var(--ag-icon-font-code-columns, "");display:var(--ag-icon-font-display-columns, var(--ag-icon-font-display))}.ag-icon-columns:after{background-image:var(--ag-icon-image-columns, var(--ag-icon-image));display:var(--ag-icon-image-display-columns, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-columns, var(--ag-icon-image-opacity, .9))}.ag-icon-contracted{font-family:var(--ag-icon-font-family-contracted, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-contracted, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-contracted, var(--ag-icon-font-color))}.ag-icon-contracted:before{content:var(--ag-icon-font-code-contracted, "");display:var(--ag-icon-font-display-contracted, var(--ag-icon-font-display))}.ag-icon-contracted:after{background-image:var(--ag-icon-image-contracted, var(--ag-icon-image));display:var(--ag-icon-image-display-contracted, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-contracted, var(--ag-icon-image-opacity, .9))}.ag-icon-copy{font-family:var(--ag-icon-font-family-copy, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-copy, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-copy, var(--ag-icon-font-color))}.ag-icon-copy:before{content:var(--ag-icon-font-code-copy, "");display:var(--ag-icon-font-display-copy, var(--ag-icon-font-display))}.ag-icon-copy:after{background-image:var(--ag-icon-image-copy, var(--ag-icon-image));display:var(--ag-icon-image-display-copy, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-copy, var(--ag-icon-image-opacity, .9))}.ag-icon-cross{font-family:var(--ag-icon-font-family-cross, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-cross, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-cross, var(--ag-icon-font-color))}.ag-icon-cross:before{content:var(--ag-icon-font-code-cross, "");display:var(--ag-icon-font-display-cross, var(--ag-icon-font-display))}.ag-icon-cross:after{background-image:var(--ag-icon-image-cross, var(--ag-icon-image));display:var(--ag-icon-image-display-cross, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-cross, var(--ag-icon-image-opacity, .9))}.ag-icon-csv{font-family:var(--ag-icon-font-family-csv, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-csv, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-csv, var(--ag-icon-font-color))}.ag-icon-csv:before{content:var(--ag-icon-font-code-csv, "");display:var(--ag-icon-font-display-csv, var(--ag-icon-font-display))}.ag-icon-csv:after{background-image:var(--ag-icon-image-csv, var(--ag-icon-image));display:var(--ag-icon-image-display-csv, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-csv, var(--ag-icon-image-opacity, .9))}.ag-icon-cut{font-family:var(--ag-icon-font-family-cut, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-cut, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-cut, var(--ag-icon-font-color))}.ag-icon-cut:before{content:var(--ag-icon-font-code-cut, "");display:var(--ag-icon-font-display-cut, var(--ag-icon-font-display))}.ag-icon-cut:after{background-image:var(--ag-icon-image-cut, var(--ag-icon-image));display:var(--ag-icon-image-display-cut, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-cut, var(--ag-icon-image-opacity, .9))}.ag-icon-desc{font-family:var(--ag-icon-font-family-desc, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-desc, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-desc, var(--ag-icon-font-color))}.ag-icon-desc:before{content:var(--ag-icon-font-code-desc, "");display:var(--ag-icon-font-display-desc, var(--ag-icon-font-display))}.ag-icon-desc:after{background-image:var(--ag-icon-image-desc, var(--ag-icon-image));display:var(--ag-icon-image-display-desc, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-desc, var(--ag-icon-image-opacity, .9))}.ag-icon-excel{font-family:var(--ag-icon-font-family-excel, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-excel, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-excel, var(--ag-icon-font-color))}.ag-icon-excel:before{content:var(--ag-icon-font-code-excel, "");display:var(--ag-icon-font-display-excel, var(--ag-icon-font-display))}.ag-icon-excel:after{background-image:var(--ag-icon-image-excel, var(--ag-icon-image));display:var(--ag-icon-image-display-excel, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-excel, var(--ag-icon-image-opacity, .9))}.ag-icon-expanded{font-family:var(--ag-icon-font-family-expanded, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-expanded, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-expanded, var(--ag-icon-font-color))}.ag-icon-expanded:before{content:var(--ag-icon-font-code-expanded, "");display:var(--ag-icon-font-display-expanded, var(--ag-icon-font-display))}.ag-icon-expanded:after{background-image:var(--ag-icon-image-expanded, var(--ag-icon-image));display:var(--ag-icon-image-display-expanded, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-expanded, var(--ag-icon-image-opacity, .9))}.ag-icon-eye-slash{font-family:var(--ag-icon-font-family-eye-slash, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-eye-slash, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-eye-slash, var(--ag-icon-font-color))}.ag-icon-eye-slash:before{content:var(--ag-icon-font-code-eye-slash, "");display:var(--ag-icon-font-display-eye-slash, var(--ag-icon-font-display))}.ag-icon-eye-slash:after{background-image:var(--ag-icon-image-eye-slash, var(--ag-icon-image));display:var(--ag-icon-image-display-eye-slash, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-eye-slash, var(--ag-icon-image-opacity, .9))}.ag-icon-eye{font-family:var(--ag-icon-font-family-eye, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-eye, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-eye, var(--ag-icon-font-color))}.ag-icon-eye:before{content:var(--ag-icon-font-code-eye, "");display:var(--ag-icon-font-display-eye, var(--ag-icon-font-display))}.ag-icon-eye:after{background-image:var(--ag-icon-image-eye, var(--ag-icon-image));display:var(--ag-icon-image-display-eye, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-eye, var(--ag-icon-image-opacity, .9))}.ag-icon-filter{font-family:var(--ag-icon-font-family-filter, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-filter, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-filter, var(--ag-icon-font-color))}.ag-icon-filter:before{content:var(--ag-icon-font-code-filter, "");display:var(--ag-icon-font-display-filter, var(--ag-icon-font-display))}.ag-icon-filter:after{background-image:var(--ag-icon-image-filter, var(--ag-icon-image));display:var(--ag-icon-image-display-filter, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-filter, var(--ag-icon-image-opacity, .9))}.ag-icon-first{font-family:var(--ag-icon-font-family-first, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-first, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-first, var(--ag-icon-font-color))}.ag-icon-first:before{content:var(--ag-icon-font-code-first, "");display:var(--ag-icon-font-display-first, var(--ag-icon-font-display))}.ag-icon-first:after{background-image:var(--ag-icon-image-first, var(--ag-icon-image));display:var(--ag-icon-image-display-first, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-first, var(--ag-icon-image-opacity, .9))}.ag-icon-grip{font-family:var(--ag-icon-font-family-grip, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-grip, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-grip, var(--ag-icon-font-color))}.ag-icon-grip:before{content:var(--ag-icon-font-code-grip, "");display:var(--ag-icon-font-display-grip, var(--ag-icon-font-display))}.ag-icon-grip:after{background-image:var(--ag-icon-image-grip, var(--ag-icon-image));display:var(--ag-icon-image-display-grip, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-grip, var(--ag-icon-image-opacity, .9))}.ag-icon-group{font-family:var(--ag-icon-font-family-group, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-group, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-group, var(--ag-icon-font-color))}.ag-icon-group:before{content:var(--ag-icon-font-code-group, "");display:var(--ag-icon-font-display-group, var(--ag-icon-font-display))}.ag-icon-group:after{background-image:var(--ag-icon-image-group, var(--ag-icon-image));display:var(--ag-icon-image-display-group, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-group, var(--ag-icon-image-opacity, .9))}.ag-icon-last{font-family:var(--ag-icon-font-family-last, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-last, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-last, var(--ag-icon-font-color))}.ag-icon-last:before{content:var(--ag-icon-font-code-last, "");display:var(--ag-icon-font-display-last, var(--ag-icon-font-display))}.ag-icon-last:after{background-image:var(--ag-icon-image-last, var(--ag-icon-image));display:var(--ag-icon-image-display-last, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-last, var(--ag-icon-image-opacity, .9))}.ag-icon-left{font-family:var(--ag-icon-font-family-left, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-left, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-left, var(--ag-icon-font-color))}.ag-icon-left:before{content:var(--ag-icon-font-code-left, "");display:var(--ag-icon-font-display-left, var(--ag-icon-font-display))}.ag-icon-left:after{background-image:var(--ag-icon-image-left, var(--ag-icon-image));display:var(--ag-icon-image-display-left, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-left, var(--ag-icon-image-opacity, .9))}.ag-icon-linked{font-family:var(--ag-icon-font-family-linked, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-linked, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-linked, var(--ag-icon-font-color))}.ag-icon-linked:before{content:var(--ag-icon-font-code-linked, "");display:var(--ag-icon-font-display-linked, var(--ag-icon-font-display))}.ag-icon-linked:after{background-image:var(--ag-icon-image-linked, var(--ag-icon-image));display:var(--ag-icon-image-display-linked, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-linked, var(--ag-icon-image-opacity, .9))}.ag-icon-loading{font-family:var(--ag-icon-font-family-loading, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-loading, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-loading, var(--ag-icon-font-color))}.ag-icon-loading:before{content:var(--ag-icon-font-code-loading, "");display:var(--ag-icon-font-display-loading, var(--ag-icon-font-display))}.ag-icon-loading:after{background-image:var(--ag-icon-image-loading, var(--ag-icon-image));display:var(--ag-icon-image-display-loading, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-loading, var(--ag-icon-image-opacity, .9))}.ag-icon-maximize{font-family:var(--ag-icon-font-family-maximize, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-maximize, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-maximize, var(--ag-icon-font-color))}.ag-icon-maximize:before{content:var(--ag-icon-font-code-maximize, "");display:var(--ag-icon-font-display-maximize, var(--ag-icon-font-display))}.ag-icon-maximize:after{background-image:var(--ag-icon-image-maximize, var(--ag-icon-image));display:var(--ag-icon-image-display-maximize, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-maximize, var(--ag-icon-image-opacity, .9))}.ag-icon-menu{font-family:var(--ag-icon-font-family-menu, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-menu, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-menu, var(--ag-icon-font-color))}.ag-icon-menu:before{content:var(--ag-icon-font-code-menu, "");display:var(--ag-icon-font-display-menu, var(--ag-icon-font-display))}.ag-icon-menu:after{background-image:var(--ag-icon-image-menu, var(--ag-icon-image));display:var(--ag-icon-image-display-menu, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-menu, var(--ag-icon-image-opacity, .9))}.ag-icon-minimize{font-family:var(--ag-icon-font-family-minimize, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-minimize, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-minimize, var(--ag-icon-font-color))}.ag-icon-minimize:before{content:var(--ag-icon-font-code-minimize, "");display:var(--ag-icon-font-display-minimize, var(--ag-icon-font-display))}.ag-icon-minimize:after{background-image:var(--ag-icon-image-minimize, var(--ag-icon-image));display:var(--ag-icon-image-display-minimize, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-minimize, var(--ag-icon-image-opacity, .9))}.ag-icon-next{font-family:var(--ag-icon-font-family-next, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-next, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-next, var(--ag-icon-font-color))}.ag-icon-next:before{content:var(--ag-icon-font-code-next, "");display:var(--ag-icon-font-display-next, var(--ag-icon-font-display))}.ag-icon-next:after{background-image:var(--ag-icon-image-next, var(--ag-icon-image));display:var(--ag-icon-image-display-next, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-next, var(--ag-icon-image-opacity, .9))}.ag-icon-none{font-family:var(--ag-icon-font-family-none, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-none, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-none, var(--ag-icon-font-color))}.ag-icon-none:before{content:var(--ag-icon-font-code-none, "");display:var(--ag-icon-font-display-none, var(--ag-icon-font-display))}.ag-icon-none:after{background-image:var(--ag-icon-image-none, var(--ag-icon-image));display:var(--ag-icon-image-display-none, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-none, var(--ag-icon-image-opacity, .9))}.ag-icon-not-allowed{font-family:var(--ag-icon-font-family-not-allowed, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-not-allowed, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-not-allowed, var(--ag-icon-font-color))}.ag-icon-not-allowed:before{content:var(--ag-icon-font-code-not-allowed, "");display:var(--ag-icon-font-display-not-allowed, var(--ag-icon-font-display))}.ag-icon-not-allowed:after{background-image:var(--ag-icon-image-not-allowed, var(--ag-icon-image));display:var(--ag-icon-image-display-not-allowed, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-not-allowed, var(--ag-icon-image-opacity, .9))}.ag-icon-paste{font-family:var(--ag-icon-font-family-paste, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-paste, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-paste, var(--ag-icon-font-color))}.ag-icon-paste:before{content:var(--ag-icon-font-code-paste, "");display:var(--ag-icon-font-display-paste, var(--ag-icon-font-display))}.ag-icon-paste:after{background-image:var(--ag-icon-image-paste, var(--ag-icon-image));display:var(--ag-icon-image-display-paste, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-paste, var(--ag-icon-image-opacity, .9))}.ag-icon-pin{font-family:var(--ag-icon-font-family-pin, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-pin, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-pin, var(--ag-icon-font-color))}.ag-icon-pin:before{content:var(--ag-icon-font-code-pin, "");display:var(--ag-icon-font-display-pin, var(--ag-icon-font-display))}.ag-icon-pin:after{background-image:var(--ag-icon-image-pin, var(--ag-icon-image));display:var(--ag-icon-image-display-pin, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-pin, var(--ag-icon-image-opacity, .9))}.ag-icon-pivot{font-family:var(--ag-icon-font-family-pivot, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-pivot, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-pivot, var(--ag-icon-font-color))}.ag-icon-pivot:before{content:var(--ag-icon-font-code-pivot, "");display:var(--ag-icon-font-display-pivot, var(--ag-icon-font-display))}.ag-icon-pivot:after{background-image:var(--ag-icon-image-pivot, var(--ag-icon-image));display:var(--ag-icon-image-display-pivot, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-pivot, var(--ag-icon-image-opacity, .9))}.ag-icon-previous{font-family:var(--ag-icon-font-family-previous, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-previous, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-previous, var(--ag-icon-font-color))}.ag-icon-previous:before{content:var(--ag-icon-font-code-previous, "");display:var(--ag-icon-font-display-previous, var(--ag-icon-font-display))}.ag-icon-previous:after{background-image:var(--ag-icon-image-previous, var(--ag-icon-image));display:var(--ag-icon-image-display-previous, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-previous, var(--ag-icon-image-opacity, .9))}.ag-icon-radio-button-off{font-family:var(--ag-icon-font-family-radio-button-off, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-radio-button-off, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-radio-button-off, var(--ag-icon-font-color))}.ag-icon-radio-button-off:before{content:var(--ag-icon-font-code-radio-button-off, "");display:var(--ag-icon-font-display-radio-button-off, var(--ag-icon-font-display))}.ag-icon-radio-button-off:after{background-image:var(--ag-icon-image-radio-button-off, var(--ag-icon-image));display:var(--ag-icon-image-display-radio-button-off, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-radio-button-off, var(--ag-icon-image-opacity, .9))}.ag-icon-radio-button-on{font-family:var(--ag-icon-font-family-radio-button-on, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-radio-button-on, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-radio-button-on, var(--ag-icon-font-color))}.ag-icon-radio-button-on:before{content:var(--ag-icon-font-code-radio-button-on, "");display:var(--ag-icon-font-display-radio-button-on, var(--ag-icon-font-display))}.ag-icon-radio-button-on:after{background-image:var(--ag-icon-image-radio-button-on, var(--ag-icon-image));display:var(--ag-icon-image-display-radio-button-on, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-radio-button-on, var(--ag-icon-image-opacity, .9))}.ag-icon-right{font-family:var(--ag-icon-font-family-right, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-right, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-right, var(--ag-icon-font-color))}.ag-icon-right:before{content:var(--ag-icon-font-code-right, "");display:var(--ag-icon-font-display-right, var(--ag-icon-font-display))}.ag-icon-right:after{background-image:var(--ag-icon-image-right, var(--ag-icon-image));display:var(--ag-icon-image-display-right, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-right, var(--ag-icon-image-opacity, .9))}.ag-icon-save{font-family:var(--ag-icon-font-family-save, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-save, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-save, var(--ag-icon-font-color))}.ag-icon-save:before{content:var(--ag-icon-font-code-save, "");display:var(--ag-icon-font-display-save, var(--ag-icon-font-display))}.ag-icon-save:after{background-image:var(--ag-icon-image-save, var(--ag-icon-image));display:var(--ag-icon-image-display-save, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-save, var(--ag-icon-image-opacity, .9))}.ag-icon-small-down{font-family:var(--ag-icon-font-family-small-down, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-small-down, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-small-down, var(--ag-icon-font-color))}.ag-icon-small-down:before{content:var(--ag-icon-font-code-small-down, "");display:var(--ag-icon-font-display-small-down, var(--ag-icon-font-display))}.ag-icon-small-down:after{background-image:var(--ag-icon-image-small-down, var(--ag-icon-image));display:var(--ag-icon-image-display-small-down, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-small-down, var(--ag-icon-image-opacity, .9))}.ag-icon-small-left{font-family:var(--ag-icon-font-family-small-left, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-small-left, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-small-left, var(--ag-icon-font-color))}.ag-icon-small-left:before{content:var(--ag-icon-font-code-small-left, "");display:var(--ag-icon-font-display-small-left, var(--ag-icon-font-display))}.ag-icon-small-left:after{background-image:var(--ag-icon-image-small-left, var(--ag-icon-image));display:var(--ag-icon-image-display-small-left, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-small-left, var(--ag-icon-image-opacity, .9))}.ag-icon-small-right{font-family:var(--ag-icon-font-family-small-right, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-small-right, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-small-right, var(--ag-icon-font-color))}.ag-icon-small-right:before{content:var(--ag-icon-font-code-small-right, "");display:var(--ag-icon-font-display-small-right, var(--ag-icon-font-display))}.ag-icon-small-right:after{background-image:var(--ag-icon-image-small-right, var(--ag-icon-image));display:var(--ag-icon-image-display-small-right, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-small-right, var(--ag-icon-image-opacity, .9))}.ag-icon-small-up{font-family:var(--ag-icon-font-family-small-up, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-small-up, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-small-up, var(--ag-icon-font-color))}.ag-icon-small-up:before{content:var(--ag-icon-font-code-small-up, "");display:var(--ag-icon-font-display-small-up, var(--ag-icon-font-display))}.ag-icon-small-up:after{background-image:var(--ag-icon-image-small-up, var(--ag-icon-image));display:var(--ag-icon-image-display-small-up, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-small-up, var(--ag-icon-image-opacity, .9))}.ag-icon-tick{font-family:var(--ag-icon-font-family-tick, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-tick, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-tick, var(--ag-icon-font-color))}.ag-icon-tick:before{content:var(--ag-icon-font-code-tick, "");display:var(--ag-icon-font-display-tick, var(--ag-icon-font-display))}.ag-icon-tick:after{background-image:var(--ag-icon-image-tick, var(--ag-icon-image));display:var(--ag-icon-image-display-tick, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-tick, var(--ag-icon-image-opacity, .9))}.ag-icon-tree-closed{font-family:var(--ag-icon-font-family-tree-closed, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-tree-closed, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-tree-closed, var(--ag-icon-font-color))}.ag-icon-tree-closed:before{content:var(--ag-icon-font-code-tree-closed, "");display:var(--ag-icon-font-display-tree-closed, var(--ag-icon-font-display))}.ag-icon-tree-closed:after{background-image:var(--ag-icon-image-tree-closed, var(--ag-icon-image));display:var(--ag-icon-image-display-tree-closed, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-tree-closed, var(--ag-icon-image-opacity, .9))}.ag-icon-tree-indeterminate{font-family:var(--ag-icon-font-family-tree-indeterminate, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-tree-indeterminate, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-tree-indeterminate, var(--ag-icon-font-color))}.ag-icon-tree-indeterminate:before{content:var(--ag-icon-font-code-tree-indeterminate, "");display:var(--ag-icon-font-display-tree-indeterminate, var(--ag-icon-font-display))}.ag-icon-tree-indeterminate:after{background-image:var(--ag-icon-image-tree-indeterminate, var(--ag-icon-image));display:var(--ag-icon-image-display-tree-indeterminate, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-tree-indeterminate, var(--ag-icon-image-opacity, .9))}.ag-icon-tree-open{font-family:var(--ag-icon-font-family-tree-open, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-tree-open, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-tree-open, var(--ag-icon-font-color))}.ag-icon-tree-open:before{content:var(--ag-icon-font-code-tree-open, "");display:var(--ag-icon-font-display-tree-open, var(--ag-icon-font-display))}.ag-icon-tree-open:after{background-image:var(--ag-icon-image-tree-open, var(--ag-icon-image));display:var(--ag-icon-image-display-tree-open, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-tree-open, var(--ag-icon-image-opacity, .9))}.ag-icon-unlinked{font-family:var(--ag-icon-font-family-unlinked, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-unlinked, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-unlinked, var(--ag-icon-font-color))}.ag-icon-unlinked:before{content:var(--ag-icon-font-code-unlinked, "");display:var(--ag-icon-font-display-unlinked, var(--ag-icon-font-display))}.ag-icon-unlinked:after{background-image:var(--ag-icon-image-unlinked, var(--ag-icon-image));display:var(--ag-icon-image-display-unlinked, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-unlinked, var(--ag-icon-image-opacity, .9))}.ag-icon-up{font-family:var(--ag-icon-font-family-up, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-up, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-up, var(--ag-icon-font-color))}.ag-icon-up:before{content:var(--ag-icon-font-code-up, "");display:var(--ag-icon-font-display-up, var(--ag-icon-font-display))}.ag-icon-up:after{background-image:var(--ag-icon-image-up, var(--ag-icon-image));display:var(--ag-icon-image-display-up, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-up, var(--ag-icon-image-opacity, .9))}.ag-icon-down{font-family:var(--ag-icon-font-family-down, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-down, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-down, var(--ag-icon-font-color))}.ag-icon-down:before{content:var(--ag-icon-font-code-down, "");display:var(--ag-icon-font-display-down, var(--ag-icon-font-display))}.ag-icon-down:after{background-image:var(--ag-icon-image-down, var(--ag-icon-image));display:var(--ag-icon-image-display-down, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-down, var(--ag-icon-image-opacity, .9))}.ag-icon-plus{font-family:var(--ag-icon-font-family-plus, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-plus, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-plus, var(--ag-icon-font-color))}.ag-icon-plus:before{content:var(--ag-icon-font-code-plus, "");display:var(--ag-icon-font-display-plus, var(--ag-icon-font-display))}.ag-icon-plus:after{background-image:var(--ag-icon-image-plus, var(--ag-icon-image));display:var(--ag-icon-image-display-plus, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-plus, var(--ag-icon-image-opacity, .9))}.ag-icon-minus{font-family:var(--ag-icon-font-family-minus, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-minus, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-minus, var(--ag-icon-font-color))}.ag-icon-minus:before{content:var(--ag-icon-font-code-minus, "");display:var(--ag-icon-font-display-minus, var(--ag-icon-font-display))}.ag-icon-minus:after{background-image:var(--ag-icon-image-minus, var(--ag-icon-image));display:var(--ag-icon-image-display-minus, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-minus, var(--ag-icon-image-opacity, .9))}.ag-icon-menu-alt{font-family:var(--ag-icon-font-family-menu-alt, var(--ag-icon-font-family));font-weight:var(--ag-icon-font-weight-menu-alt, var(--ag-icon-font-weight));color:var(--ag-icon-font-color-menu-alt, var(--ag-icon-font-color))}.ag-icon-menu-alt:before{content:var(--ag-icon-font-code-menu-alt, "");display:var(--ag-icon-font-display-menu-alt, var(--ag-icon-font-display))}.ag-icon-menu-alt:after{background-image:var(--ag-icon-image-menu-alt, var(--ag-icon-image));display:var(--ag-icon-image-display-menu-alt, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-menu-alt, var(--ag-icon-image-opacity, .9))}.ag-icon-row-drag:before{content:var(--ag-icon-font-code-grip)}.ag-left-arrow:before{content:var(--ag-icon-font-code-left)}.ag-right-arrow:before{content:var(--ag-icon-font-code-right)}[class*=ag-theme-]{--ag-foreground-color: #000;--ag-data-color: var(--ag-foreground-color);--ag-secondary-foreground-color: var(--ag-foreground-color);--ag-header-foreground-color: var(--ag-secondary-foreground-color);--ag-disabled-foreground-color: rgba(0, 0, 0, .5);--ag-background-color: #fff;--ag-header-background-color: transparent;--ag-tooltip-background-color: transparent;--ag-subheader-background-color: transparent;--ag-subheader-toolbar-background-color: transparent;--ag-control-panel-background-color: transparent;--ag-side-button-selected-background-color: var(--ag-control-panel-background-color);--ag-selected-row-background-color: #BBB;--ag-odd-row-background-color: var(--ag-background-color);--ag-modal-overlay-background-color: rgba(255, 255, 255, .66);--ag-menu-background-color: var(--ag-background-color);--ag-menu-border-color: var(--ag-border-color);--ag-panel-background-color: var(--ag-background-color);--ag-panel-border-color: var(--ag-border-color);--ag-row-hover-color: transparent;--ag-column-hover-color: transparent;--ag-range-selection-border-color: var(--ag-foreground-color);--ag-range-selection-border-style: solid;--ag-range-selection-background-color: rgba(0, 0, 0, .2);--ag-range-selection-background-color-2: var(--ag-range-selection-background-color);--ag-range-selection-background-color-3: var(--ag-range-selection-background-color);--ag-range-selection-background-color-4: var(--ag-range-selection-background-color);--ag-range-selection-highlight-color: var(--ag-range-selection-border-color);--ag-selected-tab-underline-color: var(--ag-range-selection-border-color);--ag-selected-tab-underline-width: 0;--ag-selected-tab-underline-transition-speed: 0s;--ag-range-selection-chart-category-background-color: rgba(0, 255, 132, .1);--ag-range-selection-chart-background-color: rgba(0, 88, 255, .1);--ag-header-cell-hover-background-color: transparent;--ag-header-cell-moving-background-color: var(--ag-background-color);--ag-value-change-value-highlight-background-color: rgba(22, 160, 133, .5);--ag-value-change-delta-up-color: #43a047;--ag-value-change-delta-down-color: #e53935;--ag-chip-background-color: transparent;--ag-chip-border-color: var(--ag-chip-background-color);--ag-borders: solid 1px;--ag-border-color: rgba(0, 0, 0, .25);--ag-borders-critical: var(--ag-borders);--ag-borders-secondary: var(--ag-borders);--ag-secondary-border-color: var(--ag-border-color);--ag-row-border-style: solid;--ag-row-border-width: 1px;--ag-cell-horizontal-border: solid transparent;--ag-borders-input: var(--ag-borders-secondary);--ag-input-border-color: var(--ag-secondary-border-color);--ag-borders-input-invalid: solid 2px;--ag-input-border-color-invalid: var(--ag-invalid-color);--ag-borders-side-button: var(--ag-borders);--ag-border-radius: 0px;--ag-wrapper-border-radius: var(--ag-border-radius);--ag-row-border-color: var(--ag-secondary-border-color);--ag-header-column-separator-display: none;--ag-header-column-separator-height: 100%;--ag-header-column-separator-width: 1px;--ag-header-column-separator-color: var(--ag-secondary-border-color);--ag-header-column-resize-handle-display: none;--ag-header-column-resize-handle-height: 50%;--ag-header-column-resize-handle-width: 1px;--ag-header-column-resize-handle-color: var(--ag-secondary-border-color);--ag-invalid-color: red;--ag-input-disabled-border-color: var(--ag-input-border-color);--ag-input-disabled-background-color: transparent;--ag-checkbox-background-color: transparent;--ag-checkbox-border-radius: var(--ag-border-radius);--ag-checkbox-checked-color: var(--ag-foreground-color);--ag-checkbox-unchecked-color: var(--ag-foreground-color);--ag-checkbox-indeterminate-color: var(--ag-checkbox-unchecked-color);--ag-toggle-button-off-border-color: var(--ag-checkbox-unchecked-color);--ag-toggle-button-off-background-color: var(--ag-checkbox-unchecked-color);--ag-toggle-button-on-border-color: var(--ag-checkbox-checked-color);--ag-toggle-button-on-background-color: var(--ag-checkbox-checked-color);--ag-toggle-button-switch-background-color: var(--ag-background-color);--ag-toggle-button-switch-border-color: var(--ag-toggle-button-off-border-color);--ag-toggle-button-border-width: 1px;--ag-toggle-button-height: var(--ag-icon-size);--ag-toggle-button-width: calc(var(--ag-toggle-button-height) * 2);--ag-input-focus-box-shadow: none;--ag-input-focus-border-color: none;--ag-minichart-selected-chart-color: var(--ag-checkbox-checked-color);--ag-minichart-selected-page-color: var(--ag-checkbox-checked-color);--ag-grid-size: 4px;--ag-icon-size: 12px;--ag-icon-font-weight: normal;--ag-icon-font-color: var(--ag-foreground-color);--ag-icon-image-display: block;--ag-widget-container-horizontal-padding: calc(var(--ag-grid-size) * 1.5);--ag-widget-container-vertical-padding: calc(var(--ag-grid-size) * 1.5);--ag-widget-horizontal-spacing: calc(var(--ag-grid-size) * 2);--ag-widget-vertical-spacing: var(--ag-grid-size);--ag-cell-horizontal-padding: calc(var(--ag-grid-size) * 3);--ag-cell-widget-spacing: var(--ag-cell-horizontal-padding);--ag-row-height: calc(var(--ag-grid-size) * 6 + 1px);--ag-header-height: var(--ag-row-height);--ag-list-item-height: calc(var(--ag-grid-size) * 5);--ag-column-select-indent-size: calc(var(--ag-grid-size) + var(--ag-icon-size));--ag-set-filter-indent-size: calc(var(--ag-grid-size) + var(--ag-icon-size));--ag-advanced-filter-builder-indent-size: calc(var(--ag-grid-size) * 2 + var(--ag-icon-size));--ag-row-group-indent-size: calc(var(--ag-cell-widget-spacing) + var(--ag-icon-size));--ag-filter-tool-panel-group-indent: 16px;--ag-tab-min-width: 220px;--ag-menu-min-width: 181px;--ag-side-bar-panel-width: 200px;--ag-font-family: "Helvetica Neue", sans-serif;--ag-font-size: 14px;--ag-card-radius: var(--ag-border-radius);--ag-card-shadow: none;--ag-popup-shadow: 5px 5px 10px rgba(0, 0, 0, .3);--ag-advanced-filter-join-pill-color: #f08e8d;--ag-advanced-filter-column-pill-color: #a6e194;--ag-advanced-filter-option-pill-color: #f3c08b;--ag-advanced-filter-value-pill-color: #85c0e4}.ag-root-wrapper,.ag-sticky-top,.ag-dnd-ghost{background-color:var(--ag-background-color)}[class*=ag-theme-]{-webkit-font-smoothing:antialiased;font-family:var(--ag-font-family);font-size:var(--ag-font-size);line-height:normal;color:var(--ag-foreground-color)}ag-grid,ag-grid-angular,ag-grid-ng2,ag-grid-polymer,ag-grid-aurelia{display:block}.ag-aria-description-container{z-index:9999;border:0px;clip:rect(1px,1px,1px,1px);height:1px;width:1px;position:absolute;overflow:hidden;padding:0;white-space:nowrap}.ag-hidden{display:none!important}.ag-invisible{visibility:hidden!important}.ag-no-transition{transition:none!important}.ag-drag-handle{cursor:grab}.ag-column-drop-wrapper{display:flex}.ag-column-drop-horizontal-half-width{display:inline-block;width:50%!important}.ag-unselectable{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.ag-selectable{-moz-user-select:text;-webkit-user-select:text;-ms-user-select:text;user-select:text}.ag-tab{position:relative}.ag-tab-guard{position:absolute;width:0;height:0;display:block}.ag-select-agg-func-popup{position:absolute}.ag-input-wrapper,.ag-picker-field-wrapper{display:flex;flex:1 1 auto;align-items:center;line-height:normal;position:relative}.ag-shake-left-to-right{animation-direction:alternate;animation-duration:.2s;animation-iteration-count:infinite;animation-name:ag-shake-left-to-right}@keyframes ag-shake-left-to-right{0%{padding-left:6px;padding-right:2px}to{padding-left:2px;padding-right:6px}}.ag-root-wrapper{cursor:default;position:relative;display:flex;flex-direction:column;overflow:hidden;white-space:normal}.ag-root-wrapper.ag-layout-normal{height:100%}.ag-watermark{position:absolute;bottom:20px;right:25px;opacity:.7;transition:opacity 1s ease-out 3s;color:#9b9b9b}.ag-watermark:before{content:"";background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjA5IiBoZWlnaHQ9IjM2IiB2aWV3Qm94PSIwIDAgMjA5IDM2IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8cGF0aCBkPSJNMTkyLjk5MyAyMy42NTgyVjE1LjcxMTdIMTc5LjQ1MkwxNzEuNTA1IDIzLjY1ODJIMTkyLjk5M1oiIGZpbGw9IiM5QjlCOUIiLz4KPHBhdGggZD0iTTIwOC4yNSAzLjk1MDgxSDE5MS4yNzZMMTgzLjI2NiAxMS44OTczSDIwOC4yNVYzLjk1MDgxWiIgZmlsbD0iIzlCOUI5QiIvPgo8cGF0aCBkPSJNMTYzLjYyMiAzMS42MDQ4TDE2Ny42OTEgMjcuNTM2MUgxODEuNDIzVjM1LjQ4MjdIMTYzLjYyMlYzMS42MDQ4WiIgZmlsbD0iIzlCOUI5QiIvPgo8cGF0aCBkPSJNMTY2LjYxIDE5Ljc4MDNIMTc1LjM4M0wxODMuMzkzIDExLjgzMzdIMTY2LjYxVjE5Ljc4MDNaIiBmaWxsPSIjOUI5QjlCIi8+CjxwYXRoIGQ9Ik0xNTcuMDExIDMxLjYwNDdIMTYzLjYyMkwxNzEuNTA1IDIzLjY1ODJIMTU3LjAxMVYzMS42MDQ3WiIgZmlsbD0iIzlCOUI5QiIvPgo8cGF0aCBkPSJNMTkxLjI3NiAzLjk1MDgxTDE4Ny4yMDggOC4wMTk0MUgxNjEuMjdWMC4wNzI4NzZIMTkxLjI3NlYzLjk1MDgxWiIgZmlsbD0iIzlCOUI5QiIvPgo8cGF0aCBkPSJNMjAuODM5MSAzMC4yMDYxSDguMzc4OTJMNi4yMTc0NSAzNS41NDYySDAuNzUwMjQ0TDEyLjI1NjggOC41OTE1NUgxNy4wMjQ3TDI4LjUzMTMgMzUuNTQ2MkgyMy4wMDA1TDIwLjgzOTEgMzAuMjA2MVpNMTkuMTIyNyAyNS45NDY4TDE0LjYwOSAxNC45NDg4TDEwLjA5NTQgMjUuOTQ2OEgxOS4xMjI3WiIgZmlsbD0iIzlCOUI5QiIvPgo8cGF0aCBkPSJNMTA0LjQzNyAxOC41MDg5QzEwNi4wMjYgMTYuMTU2NyAxMTAuMDMxIDE1LjkwMjQgMTExLjY4NCAxNS45MDI0VjIwLjQ3OTZDMTA5LjY1IDIwLjQ3OTYgMTA3LjYxNSAyMC41NDMyIDEwNi40MDcgMjEuNDMzMkMxMDUuMiAyMi4zMjMyIDEwNC41NjQgMjMuNTMxMSAxMDQuNTY0IDI0Ljk5MzJWMzUuNTQ2Mkg5OS42MDUxVjE1LjkwMjRIMTA0LjM3M0wxMDQuNDM3IDE4LjUwODlaIiBmaWxsPSIjOUI5QjlCIi8+CjxwYXRoIGQ9Ik0xMTkuMzc2IDE1LjkwMjRIMTE0LjQxOFYzNS41NDYySDExOS4zNzZWMTUuOTAyNFoiIGZpbGw9IiM5QjlCOUIiLz4KPHBhdGggZD0iTTExOS4zNzYgNy4xMjkzOUgxMTQuNDE4VjEyLjk3OEgxMTkuMzc2VjcuMTI5MzlaIiBmaWxsPSIjOUI5QjlCIi8+CjxwYXRoIGQ9Ik0xNDMuOTc5IDcuMTI5MzlWMzUuNTQ2MkgxMzkuMjExTDEzOS4wODQgMzIuNTU4M0MxMzguMzg0IDMzLjU3NTUgMTM3LjQ5NCAzNC40MDE5IDEzNi40MTQgMzUuMDM3NkMxMzUuMzMzIDM1LjYwOTggMTMzLjk5OCAzNS45Mjc2IDEzMi40NzIgMzUuOTI3NkMxMzEuMTM3IDM1LjkyNzYgMTI5Ljg2NiAzNS42NzMzIDEyOC43ODUgMzUuMjI4M0MxMjcuNjQxIDM0LjcxOTcgMTI2LjYyMyAzNC4wODQgMTI1Ljc5NyAzMy4xOTRDMTI0Ljk3MSAzMi4zMDQgMTI0LjI3MSAzMS4yMjMzIDEyMy44MjYgMzAuMDE1NEMxMjMuMzE4IDI4LjgwNzUgMTIzLjEyNyAyNy40MDkgMTIzLjEyNyAyNS44ODMyQzEyMy4xMjcgMjQuMzU3NSAxMjMuMzgxIDIyLjk1ODkgMTIzLjgyNiAyMS42ODc0QzEyNC4zMzUgMjAuNDE2IDEyNC45NzEgMTkuMzM1MyAxMjUuNzk3IDE4LjQ0NTNDMTI2LjYyMyAxNy41NTUyIDEyNy42NDEgMTYuODU2IDEyOC43ODUgMTYuMzQ3NEMxMjkuOTI5IDE1LjgzODggMTMxLjEzNyAxNS41ODQ1IDEzMi40NzIgMTUuNTg0NUMxMzMuOTk4IDE1LjU4NDUgMTM1LjI2OSAxNS44Mzg4IDEzNi4zNSAxNi40MTA5QzEzNy40MzEgMTYuOTgzMSAxMzguMzIxIDE3Ljc0NTkgMTM5LjAyIDE4LjgyNjdWNy4xOTI5NUgxNDMuOTc5VjcuMTI5MzlaTTEzMy41NTMgMzEuNjY4M0MxMzUuMjA2IDMxLjY2ODMgMTM2LjQ3NyAzMS4wOTYyIDEzNy40OTQgMzAuMDE1NEMxMzguNTExIDI4LjkzNDcgMTM5LjAyIDI3LjQ3MjUgMTM5LjAyIDI1LjY5MjVDMTM5LjAyIDIzLjkxMjUgMTM4LjUxMSAyMi41MTM5IDEzNy40OTQgMjEuMzY5NkMxMzYuNDc3IDIwLjI4ODggMTM1LjIwNiAxOS43MTY3IDEzMy41NTMgMTkuNzE2N0MxMzEuOTYzIDE5LjcxNjcgMTMwLjYyOCAyMC4yODg4IDEyOS42NzUgMjEuMzY5NkMxMjguNjU4IDIyLjQ1MDMgMTI4LjE0OSAyMy45MTI1IDEyOC4xNDkgMjUuNjkyNUMxMjguMTQ5IDI3LjQ3MjUgMTI4LjY1OCAyOC44NzExIDEyOS42NzUgMjkuOTUxOEMxMzAuNjkyIDMxLjA5NjEgMTMxLjk2MyAzMS42NjgzIDEzMy41NTMgMzEuNjY4M1oiIGZpbGw9IiM5QjlCOUIiLz4KPHBhdGggZD0iTTU3LjIwMjQgMjAuMzUyNUg0NC45MzNWMjQuNjExOEg1MS45MjU5QzUxLjczNTIgMjYuNzczMyA1MC45MDg4IDI4LjQyNjEgNDkuNTEwMiAyOS43NjExQzQ4LjExMTYgMzEuMDMyNiA0Ni4zMzE1IDMxLjY2ODMgNDQuMDQyOSAzMS42NjgzQzQyLjc3MTUgMzEuNjY4MyA0MS41NjM2IDMxLjQxNCA0MC41NDY1IDMwLjk2OUMzOS40NjU3IDMwLjUyNCAzOC41NzU3IDI5Ljg4ODMgMzcuODEyOSAyOC45OTgzQzM3LjA1IDI4LjE3MTggMzYuNDc3OCAyNy4xNTQ3IDM2LjAzMjggMjUuOTQ2OEMzNS41ODc4IDI0LjczODkgMzUuMzk3MSAyMy40Njc1IDM1LjM5NzEgMjIuMDA1M0MzNS4zOTcxIDIwLjU0MzIgMzUuNTg3OCAxOS4yNzE3IDM2LjAzMjggMTguMDYzOEMzNi40MTQzIDE2Ljg1NiAzNy4wNSAxNS45MDI0IDM3LjgxMjkgMTUuMDEyNEMzOC41NzU3IDE0LjE4NTkgMzkuNDY1NyAxMy41NTAyIDQwLjU0NjUgMTMuMDQxNkM0MS42MjcyIDEyLjU5NjYgNDIuNzcxNSAxMi4zNDIzIDQ0LjEwNjUgMTIuMzQyM0M0Ni43NzY2IDEyLjM0MjMgNDguODEwOSAxMi45NzggNTAuMjA5NSAxNC4yNDk1TDUzLjUxNTIgMTAuOTQzOEM1MS4wMzU5IDkuMDM2NTkgNDcuODU3MyA4LjAxOTQxIDQ0LjEwNjUgOC4wMTk0MUM0Mi4wMDg2IDguMDE5NDEgNDAuMTAxNSA4LjMzNzI5IDM4LjM4NSA5LjAzNjU5QzM2LjY2ODYgOS43MzU4OCAzNS4yMDY0IDEwLjYyNTkgMzMuOTk4NSAxMS44MzM3QzMyLjc5MDYgMTMuMDQxNiAzMS44MzcxIDE0LjUwMzggMzEuMjAxNCAxNi4yMjAzQzMwLjU2NTYgMTcuOTM2NyAzMC4yNDc4IDE5Ljg0MzggMzAuMjQ3OCAyMS44NzgyQzMwLjI0NzggMjMuOTEyNSAzMC41NjU2IDI1LjgxOTcgMzEuMjY0OSAyNy41MzYxQzMxLjk2NDIgMjkuMjUyNiAzMi44NTQyIDMwLjcxNDcgMzQuMDYyMSAzMS45MjI2QzM1LjI3IDMzLjEzMDUgMzYuNzMyMSAzNC4wODQxIDM4LjQ0ODYgMzQuNzE5OEM0MC4xNjUgMzUuNDE5MSA0Mi4wNzIyIDM1LjczNyA0NC4xMDY1IDM1LjczN0M0Ni4xNDA4IDM1LjczNyA0Ny45ODQ0IDM1LjQxOTEgNDkuNjM3MyAzNC43MTk4QzUxLjI5MDIgMzQuMDIwNSA1Mi42ODg4IDMzLjEzMDUgNTMuODMzMSAzMS45MjI2QzU0Ljk3NzQgMzAuNzE0NyA1NS44Njc0IDI5LjI1MjYgNTYuNTAzMSAyNy41MzYxQzU3LjEzODggMjUuODE5NyA1Ny40NTY3IDIzLjkxMjUgNTcuNDU2NyAyMS44NzgyVjIxLjA1MTdDNTcuMjY2IDIwLjkyNDYgNTcuMjAyNCAyMC42MDY3IDU3LjIwMjQgMjAuMzUyNVoiIGZpbGw9IiM5QjlCOUIiLz4KPHBhdGggZD0iTTk1Ljk4MTUgMjAuMzUyNUg4My43MTIxVjI0LjYxMThIOTAuNzA1QzkwLjUxNDMgMjYuNzczMyA4OS42ODc5IDI4LjQyNjEgODguMjg5MyAyOS43NjExQzg2Ljg5MDcgMzEuMDMyNiA4NS4xMTA2IDMxLjY2ODMgODIuODIyIDMxLjY2ODNDODEuNTUwNiAzMS42NjgzIDgwLjM0MjcgMzEuNDE0IDc5LjMyNTYgMzAuOTY5Qzc4LjI0NDggMzAuNTI0IDc3LjM1NDggMjkuODg4MyA3Ni41OTIgMjguOTk4M0M3NS44MjkxIDI4LjE3MTggNzUuMjU3IDI3LjE1NDcgNzQuODExOSAyNS45NDY4Qzc0LjM2NjkgMjQuNzM4OSA3NC4xNzYyIDIzLjQ2NzUgNzQuMTc2MiAyMi4wMDUzQzc0LjE3NjIgMjAuNTQzMiA3NC4zNjY5IDE5LjI3MTcgNzQuODExOSAxOC4wNjM4Qzc1LjE5MzQgMTYuODU2IDc1LjgyOTEgMTUuOTAyNCA3Ni41OTIgMTUuMDEyNEM3Ny4zNTQ4IDE0LjE4NTkgNzguMjQ0OCAxMy41NTAyIDc5LjMyNTYgMTMuMDQxNkM4MC40MDYzIDEyLjU5NjYgODEuNTUwNiAxMi4zNDIzIDgyLjg4NTYgMTIuMzQyM0M4NS41NTU3IDEyLjM0MjMgODcuNTkgMTIuOTc4IDg4Ljk4ODYgMTQuMjQ5NUw5Mi4yOTQzIDEwLjk0MzhDODkuODE1IDkuMDM2NTkgODYuNjM2NCA4LjAxOTQxIDgyLjg4NTYgOC4wMTk0MUM4MC43ODc4IDguMDE5NDEgNzguODgwNiA4LjMzNzI5IDc3LjE2NDEgOS4wMzY1OUM3NS40NDc3IDkuNzM1ODggNzMuOTg1NSAxMC42MjU5IDcyLjc3NzYgMTEuODMzN0M3MS41Njk4IDEzLjA0MTYgNzAuNjE2MiAxNC41MDM4IDY5Ljk4MDUgMTYuMjIwM0M2OS4zNDQ3IDE3LjkzNjcgNjkuMDI2OSAxOS44NDM4IDY5LjAyNjkgMjEuODc4MkM2OS4wMjY5IDIzLjkxMjUgNjkuMzQ0NyAyNS44MTk3IDcwLjA0NCAyNy41MzYxQzcwLjc0MzMgMjkuMjUyNiA3MS42MzM0IDMwLjcxNDcgNzIuODQxMiAzMS45MjI2Qzc0LjA0OTEgMzMuMTMwNSA3NS41MTEyIDM0LjA4NDEgNzcuMjI3NyAzNC43MTk4Qzc4Ljk0NDEgMzUuNDE5MSA4MC44NTEzIDM1LjczNyA4Mi44ODU2IDM1LjczN0M4NC45MiAzNS43MzcgODYuNzYzNiAzNS40MTkxIDg4LjQxNjQgMzQuNzE5OEM5MC4wNjkzIDM0LjAyMDUgOTEuNDY3OSAzMy4xMzA1IDkyLjYxMjIgMzEuOTIyNkM5My43NTY1IDMwLjcxNDcgOTQuNjQ2NSAyOS4yNTI2IDk1LjI4MjIgMjcuNTM2MUM5NS45MTggMjUuODE5NyA5Ni4yMzU4IDIzLjkxMjUgOTYuMjM1OCAyMS44NzgyVjIxLjA1MTdDOTYuMDQ1MSAyMC45MjQ2IDk1Ljk4MTUgMjAuNjA2NyA5NS45ODE1IDIwLjM1MjVaIiBmaWxsPSIjOUI5QjlCIi8+Cjwvc3ZnPgo=);background-repeat:no-repeat;background-size:170px 40px;display:block;height:40px;width:170px}.ag-watermark-text{opacity:.5;font-weight:700;font-family:Impact,sans-serif;font-size:19px;padding-left:.7rem}.ag-root-wrapper-body{display:flex;flex-direction:row}.ag-root-wrapper-body.ag-layout-normal{flex:1 1 auto;height:0;min-height:0}.ag-root{position:relative;display:flex;flex-direction:column}.ag-root.ag-layout-normal,.ag-root.ag-layout-auto-height{overflow:hidden;flex:1 1 auto;width:0}.ag-root.ag-layout-normal{height:100%}.ag-header-viewport,.ag-floating-top-viewport,.ag-body-viewport,.ag-center-cols-viewport,.ag-floating-bottom-viewport,.ag-body-horizontal-scroll-viewport,.ag-body-vertical-scroll-viewport,.ag-virtual-list-viewport,.ag-sticky-top-viewport{position:relative;height:100%;min-width:0px;overflow:hidden;flex:1 1 auto}.ag-body-viewport,.ag-center-cols-viewport{-ms-overflow-style:none!important;scrollbar-width:none!important}.ag-body-viewport::-webkit-scrollbar,.ag-center-cols-viewport::-webkit-scrollbar{display:none!important}.ag-body-viewport{display:flex}.ag-body-viewport.ag-layout-normal{overflow-y:auto;-webkit-overflow-scrolling:touch}.ag-center-cols-viewport{min-height:100%;width:100%;overflow-x:auto}.ag-body-horizontal-scroll-viewport{overflow-x:scroll}.ag-body-vertical-scroll-viewport{overflow-y:scroll}.ag-virtual-list-viewport{overflow:auto;width:100%}.ag-header-container,.ag-floating-top-container,.ag-body-container,.ag-pinned-right-cols-container,.ag-center-cols-container,.ag-pinned-left-cols-container,.ag-floating-bottom-container,.ag-body-horizontal-scroll-container,.ag-body-vertical-scroll-container,.ag-full-width-container,.ag-floating-bottom-full-width-container,.ag-virtual-list-container,.ag-sticky-top-container{position:relative}.ag-header-container,.ag-floating-top-container,.ag-floating-bottom-container,.ag-sticky-top-container{height:100%;white-space:nowrap}.ag-center-cols-container,.ag-pinned-right-cols-container{display:block}.ag-body-horizontal-scroll-container{height:100%}.ag-body-vertical-scroll-container{width:100%}.ag-full-width-container,.ag-floating-top-full-width-container,.ag-floating-bottom-full-width-container,.ag-sticky-top-full-width-container{position:absolute;top:0;pointer-events:none}.ag-ltr .ag-full-width-container,.ag-ltr .ag-floating-top-full-width-container,.ag-ltr .ag-floating-bottom-full-width-container,.ag-ltr .ag-sticky-top-full-width-container{left:0}.ag-rtl .ag-full-width-container,.ag-rtl .ag-floating-top-full-width-container,.ag-rtl .ag-floating-bottom-full-width-container,.ag-rtl .ag-sticky-top-full-width-container{right:0}.ag-full-width-container{width:100%}.ag-floating-bottom-full-width-container,.ag-floating-top-full-width-container{display:inline-block;overflow:hidden;height:100%;width:100%}.ag-virtual-list-container{overflow:hidden}.ag-body{position:relative;display:flex;flex:1 1 auto;flex-direction:row!important;min-height:0}.ag-body-horizontal-scroll,.ag-body-vertical-scroll{min-height:0;min-width:0;display:flex;position:relative}.ag-body-horizontal-scroll.ag-scrollbar-invisible,.ag-body-vertical-scroll.ag-scrollbar-invisible{position:absolute;bottom:0}.ag-body-horizontal-scroll.ag-scrollbar-invisible.ag-apple-scrollbar,.ag-body-vertical-scroll.ag-scrollbar-invisible.ag-apple-scrollbar{opacity:0;transition:opacity .4s;visibility:hidden}.ag-body-horizontal-scroll.ag-scrollbar-invisible.ag-apple-scrollbar.ag-scrollbar-scrolling,.ag-body-horizontal-scroll.ag-scrollbar-invisible.ag-apple-scrollbar.ag-scrollbar-active,.ag-body-vertical-scroll.ag-scrollbar-invisible.ag-apple-scrollbar.ag-scrollbar-scrolling,.ag-body-vertical-scroll.ag-scrollbar-invisible.ag-apple-scrollbar.ag-scrollbar-active{visibility:visible;opacity:1}.ag-body-horizontal-scroll{width:100%}.ag-body-horizontal-scroll.ag-scrollbar-invisible{left:0;right:0}.ag-body-vertical-scroll{height:100%}.ag-body-vertical-scroll.ag-scrollbar-invisible{top:0;z-index:10}.ag-ltr .ag-body-vertical-scroll.ag-scrollbar-invisible{right:0}.ag-rtl .ag-body-vertical-scroll.ag-scrollbar-invisible{left:0}.ag-force-vertical-scroll{overflow-y:scroll!important}.ag-horizontal-left-spacer,.ag-horizontal-right-spacer{height:100%;min-width:0;overflow-x:scroll}.ag-horizontal-left-spacer.ag-scroller-corner,.ag-horizontal-right-spacer.ag-scroller-corner{overflow-x:hidden}.ag-header,.ag-pinned-left-header,.ag-pinned-right-header{display:inline-block;overflow:hidden;position:relative}.ag-header-cell-sortable .ag-header-cell-label{cursor:pointer}.ag-header{display:flex;width:100%;white-space:nowrap}.ag-pinned-left-header,.ag-pinned-right-header{height:100%}.ag-header-row{position:absolute}.ag-header-row:not(.ag-header-row-column-group){overflow:hidden}.ag-header.ag-header-allow-overflow .ag-header-row{overflow:visible}.ag-header-cell{display:inline-flex;align-items:center;position:absolute;height:100%}.ag-header-cell.ag-header-active .ag-header-cell-menu-button,.ag-header-cell-filter-button{opacity:1}.ag-header-cell-menu-button:not(.ag-header-menu-always-show){transition:opacity .2s;opacity:0}.ag-header-group-cell-label,.ag-header-cell-label{display:flex;flex:1 1 auto;align-self:stretch;align-items:center}.ag-header-cell-label{overflow:hidden;text-overflow:ellipsis}.ag-header-group-cell-label.ag-sticky-label{position:sticky;flex:none;max-width:100%}.ag-header-group-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ag-header-cell-text{overflow:hidden;text-overflow:ellipsis}.ag-header-cell:not(.ag-header-cell-auto-height) .ag-header-cell-comp-wrapper{height:100%;display:flex;align-items:center}.ag-header-cell-comp-wrapper{width:100%}.ag-header-cell-wrap-text .ag-header-cell-comp-wrapper{white-space:normal}.ag-right-aligned-header .ag-header-cell-label{flex-direction:row-reverse}.ag-header-cell-resize{position:absolute;z-index:2;height:100%;width:8px;top:0;cursor:ew-resize}.ag-ltr .ag-header-cell-resize{right:-4px}.ag-rtl .ag-header-cell-resize{left:-4px}.ag-pinned-left-header .ag-header-cell-resize{right:-4px}.ag-pinned-right-header .ag-header-cell-resize{left:-4px}.ag-header-select-all{display:flex}.ag-header-cell-menu-button,.ag-header-cell-filter-button,.ag-side-button-button,.ag-panel-title-bar-button,.ag-floating-filter-button-button{cursor:pointer}.ag-column-moving .ag-cell,.ag-column-moving .ag-header-cell{transition:left .2s}.ag-column-moving .ag-header-group-cell{transition:left .2s,width .2s}.ag-column-panel{display:flex;flex-direction:column;overflow:hidden;flex:1 1 auto}.ag-column-select{position:relative;display:flex;flex-direction:column;overflow:hidden;flex:3 1 0px}.ag-column-select-header{position:relative;display:flex;flex:none}.ag-column-select-header-icon{position:relative}.ag-column-select-header-filter-wrapper{flex:1 1 auto}.ag-column-select-header-filter{width:100%}.ag-column-select-list{flex:1 1 0px;overflow:hidden}.ag-column-drop{position:relative;display:inline-flex;align-items:center;overflow:auto;width:100%}.ag-column-drop-list{display:flex;align-items:center}.ag-column-drop-cell{position:relative;display:flex;align-items:center}.ag-column-drop-cell-text{overflow:hidden;flex:1 1 auto;text-overflow:ellipsis;white-space:nowrap}.ag-column-drop-vertical{display:flex;flex-direction:column;overflow:hidden;align-items:stretch;flex:1 1 0px}.ag-column-drop-vertical-title-bar{display:flex;align-items:center;flex:none}.ag-column-drop-vertical-list{position:relative;align-items:stretch;flex-grow:1;flex-direction:column;overflow-x:auto}.ag-column-drop-vertical-list>*{flex:none}.ag-column-drop-empty .ag-column-drop-vertical-list{overflow:hidden}.ag-column-drop-vertical-empty-message{display:block}.ag-column-drop.ag-column-drop-horizontal{white-space:nowrap;overflow:hidden}.ag-column-drop-cell-button{cursor:pointer}.ag-filter-toolpanel{flex:1 1 0px;min-width:0}.ag-filter-toolpanel-header{position:relative}.ag-filter-toolpanel-header,.ag-filter-toolpanel-search{display:flex;align-items:center}.ag-filter-toolpanel-header>*,.ag-filter-toolpanel-search>*{display:flex;align-items:center}.ag-filter-apply-panel{display:flex;justify-content:flex-end;overflow:hidden}.ag-row-animation .ag-row{transition:transform .4s,top .4s}.ag-row-animation .ag-row.ag-after-created{transition:transform .4s,top .4s,height .4s}.ag-row-no-animation .ag-row{transition:none}.ag-row{white-space:nowrap;width:100%}.ag-row-loading{display:flex;align-items:center}.ag-row-position-absolute{position:absolute}.ag-row-position-relative{position:relative}.ag-full-width-row{overflow:hidden;pointer-events:all}.ag-row-inline-editing{z-index:1}.ag-row-dragging{z-index:2}.ag-stub-cell{display:flex;align-items:center}.ag-cell{display:inline-block;position:absolute;white-space:nowrap;height:100%}.ag-cell-value{flex:1 1 auto}.ag-cell-value,.ag-group-value{overflow:hidden;text-overflow:ellipsis}.ag-cell-wrap-text{white-space:normal;word-break:break-all}.ag-cell-wrapper{display:flex;align-items:center}.ag-cell-wrapper.ag-row-group{align-items:flex-start}.ag-sparkline-wrapper{position:absolute;height:100%;width:100%;left:0;top:0}.ag-full-width-row .ag-cell-wrapper.ag-row-group{height:100%;align-items:center}.ag-cell-inline-editing{z-index:1}.ag-cell-inline-editing .ag-cell-wrapper,.ag-cell-inline-editing .ag-cell-edit-wrapper,.ag-cell-inline-editing .ag-cell-editor,.ag-cell-inline-editing .ag-cell-editor .ag-wrapper,.ag-cell-inline-editing .ag-cell-editor input{height:100%;width:100%;line-height:normal}.ag-cell .ag-icon{display:inline-block;vertical-align:middle}.ag-set-filter-item{display:flex;align-items:center;height:100%}.ag-set-filter-item-checkbox{display:flex;overflow:hidden;height:100%}.ag-set-filter-group-icons{display:block}.ag-set-filter-group-icons>*{cursor:pointer}.ag-filter-body-wrapper{display:flex;flex-direction:column}.ag-filter-filter{flex:1 1 0px}.ag-filter-condition{display:flex;justify-content:center}.ag-floating-filter-body{position:relative;display:flex;flex:1 1 auto;height:100%}.ag-floating-filter-full-body{display:flex;flex:1 1 auto;height:100%;width:100%;align-items:center;overflow:hidden}.ag-floating-filter-full-body>div{flex:1 1 auto}.ag-floating-filter-input{align-items:center;display:flex;width:100%}.ag-floating-filter-input>*{flex:1 1 auto}.ag-floating-filter-button{display:flex;flex:none}.ag-set-floating-filter-input input[disabled]{pointer-events:none}.ag-dnd-ghost{position:absolute;display:inline-flex;align-items:center;cursor:move;white-space:nowrap;z-index:9999}.ag-overlay{height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:2}.ag-overlay-panel{display:flex;height:100%;width:100%}.ag-overlay-wrapper{display:flex;flex:none;width:100%;height:100%;align-items:center;justify-content:center;text-align:center}.ag-overlay-loading-wrapper{pointer-events:all}.ag-popup-child{z-index:5;top:0}.ag-popup-editor{position:absolute;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.ag-large-text-input{display:block}.ag-virtual-list-item{position:absolute;width:100%}.ag-floating-top{overflow:hidden;white-space:nowrap;width:100%;position:relative;display:flex}.ag-pinned-left-floating-top,.ag-pinned-right-floating-top{display:inline-block;overflow:hidden;position:relative;min-width:0px}.ag-floating-bottom{overflow:hidden;white-space:nowrap;width:100%;position:relative;display:flex}.ag-pinned-left-floating-bottom,.ag-pinned-right-floating-bottom{display:inline-block;overflow:hidden;position:relative;min-width:0px}.ag-sticky-top{position:absolute;display:flex;width:100%}.ag-pinned-left-sticky-top,.ag-pinned-right-sticky-top{position:relative;height:100%;overflow:hidden}.ag-sticky-top-full-width-container{overflow:hidden;width:100%;height:100%}.ag-dialog,.ag-panel{display:flex;flex-direction:column;position:relative;overflow:hidden}.ag-panel-title-bar{display:flex;flex:none;align-items:center;cursor:default}.ag-panel-title-bar-title{flex:1 1 auto}.ag-panel-title-bar-buttons{display:flex}.ag-panel-title-bar-button{cursor:pointer}.ag-panel-content-wrapper{display:flex;flex:1 1 auto;position:relative;overflow:hidden}.ag-dialog{position:absolute}.ag-resizer{position:absolute;pointer-events:none;z-index:1;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.ag-resizer.ag-resizer-topLeft{top:0;left:0;height:5px;width:5px;cursor:nwse-resize}.ag-resizer.ag-resizer-top{top:0;left:5px;right:5px;height:5px;cursor:ns-resize}.ag-resizer.ag-resizer-topRight{top:0;right:0;height:5px;width:5px;cursor:nesw-resize}.ag-resizer.ag-resizer-right{top:5px;right:0;bottom:5px;width:5px;cursor:ew-resize}.ag-resizer.ag-resizer-bottomRight{bottom:0;right:0;height:5px;width:5px;cursor:nwse-resize}.ag-resizer.ag-resizer-bottom{bottom:0;left:5px;right:5px;height:5px;cursor:ns-resize}.ag-resizer.ag-resizer-bottomLeft{bottom:0;left:0;height:5px;width:5px;cursor:nesw-resize}.ag-resizer.ag-resizer-left{left:0;top:5px;bottom:5px;width:5px;cursor:ew-resize}.ag-tooltip,.ag-tooltip-custom{position:absolute;z-index:99999}.ag-tooltip:not(.ag-tooltip-interactive),.ag-tooltip-custom:not(.ag-tooltip-interactive){pointer-events:none}.ag-value-slide-out{margin-right:5px;opacity:1;transition:opacity 3s,margin-right 3s;transition-timing-function:linear}.ag-value-slide-out-end{margin-right:10px;opacity:0}.ag-opacity-zero{opacity:0!important}.ag-menu{max-height:100%;overflow-y:auto;position:absolute;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.ag-menu-column-select-wrapper{height:265px;overflow:auto}.ag-menu-column-select-wrapper .ag-column-select{height:100%}.ag-dialog .ag-panel-content-wrapper .ag-column-select{-webkit-user-select:none;user-select:none}.ag-menu-list{display:table;width:100%}.ag-menu-option,.ag-menu-separator{display:table-row}.ag-menu-option-part,.ag-menu-separator-part{display:table-cell;vertical-align:middle}.ag-menu-option-text{white-space:nowrap}.ag-menu-option-custom{display:contents}.ag-compact-menu-option{width:100%;display:flex;flex-wrap:nowrap}.ag-compact-menu-option-text{white-space:nowrap;flex:1 1 auto}.ag-rich-select{cursor:default;outline:none;height:100%}.ag-rich-select-value{display:flex;align-items:center;height:100%}.ag-rich-select-value .ag-picker-field-display{overflow:hidden;text-overflow:ellipsis}.ag-rich-select-value .ag-picker-field-display.ag-display-as-placeholder{opacity:.5}.ag-rich-select-list{position:relative}.ag-rich-select-list .ag-loading-text{min-height:2rem}.ag-rich-select-row{display:flex;flex:1 1 auto;align-items:center;white-space:nowrap;overflow:hidden;height:100%}.ag-rich-select-field-input{flex:1 1 auto}.ag-rich-select-field-input .ag-input-field-input{padding:0!important;border:none!important;box-shadow:none!important;text-overflow:ellipsis}.ag-rich-select-field-input .ag-input-field-input::placeholder{opacity:.8}.ag-autocomplete{align-items:center;display:flex}.ag-autocomplete>*{flex:1 1 auto}.ag-autocomplete-list-popup{position:absolute;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.ag-autocomplete-list{position:relative}.ag-autocomplete-virtual-list-item{display:flex}.ag-autocomplete-row{display:flex;flex:1 1 auto;align-items:center;overflow:hidden}.ag-autocomplete-row-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ag-paging-panel{align-items:center;display:flex;justify-content:flex-end}.ag-paging-page-summary-panel{display:flex;align-items:center}.ag-paging-button{position:relative}.ag-disabled .ag-paging-page-summary-panel{pointer-events:none}.ag-tool-panel-wrapper{display:flex;overflow-y:auto;overflow-x:hidden;cursor:default;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.ag-column-select-column,.ag-column-select-column-group,.ag-select-agg-func-item{position:relative;align-items:center;display:flex;flex-direction:row;flex-wrap:nowrap;height:100%}.ag-column-select-column>*,.ag-column-select-column-group>*,.ag-select-agg-func-item>*{flex:none}.ag-select-agg-func-item,.ag-column-select-column-label{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ag-column-select-checkbox{display:flex}.ag-tool-panel-horizontal-resize{cursor:ew-resize;height:100%;position:absolute;top:0;width:5px;z-index:1}.ag-ltr .ag-side-bar-left .ag-tool-panel-horizontal-resize{right:-3px}.ag-rtl .ag-side-bar-left .ag-tool-panel-horizontal-resize,.ag-ltr .ag-side-bar-right .ag-tool-panel-horizontal-resize{left:-3px}.ag-rtl .ag-side-bar-right .ag-tool-panel-horizontal-resize{right:-3px}.ag-details-row{width:100%}.ag-details-row-fixed-height{height:100%}.ag-details-grid{width:100%}.ag-details-grid-fixed-height{height:100%}.ag-header-group-cell{display:flex;align-items:center;height:100%;position:absolute}.ag-header-group-cell-no-group.ag-header-span-height .ag-header-cell-resize{display:none}.ag-cell-label-container{display:flex;justify-content:space-between;flex-direction:row-reverse;align-items:center;height:100%;width:100%;padding:5px 0}.ag-right-aligned-header .ag-cell-label-container{flex-direction:row}.ag-right-aligned-header .ag-header-cell-text{text-align:end}.ag-side-bar{display:flex;flex-direction:row-reverse}.ag-side-bar-left{order:-1;flex-direction:row}.ag-side-button-button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;flex-wrap:nowrap;white-space:nowrap;outline:none;cursor:pointer}.ag-side-button-label{writing-mode:vertical-lr}.ag-status-bar{display:flex;justify-content:space-between;overflow:hidden}.ag-status-panel{display:inline-flex}.ag-status-name-value{white-space:nowrap}.ag-status-bar-left,.ag-status-bar-center,.ag-status-bar-right{display:inline-flex}.ag-icon{display:block;speak:none}.ag-group{position:relative;width:100%}.ag-group-title-bar{display:flex;align-items:center}.ag-group-title{display:block;flex:1 1 auto;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ag-group-title-bar .ag-group-title{cursor:default}.ag-group-toolbar{display:flex;align-items:center}.ag-group-container{display:flex}.ag-disabled .ag-group-container{pointer-events:none}.ag-group-container-horizontal{flex-direction:row;flex-wrap:wrap}.ag-group-container-vertical{flex-direction:column}.ag-column-group-icons{display:block}.ag-column-group-icons>*{cursor:pointer}.ag-group-item-alignment-stretch .ag-group-item{align-items:stretch}.ag-group-item-alignment-start .ag-group-item{align-items:flex-start}.ag-group-item-alignment-end .ag-group-item{align-items:flex-end}.ag-toggle-button-icon{transition:right .3s;position:absolute;top:-1px}.ag-input-field,.ag-select{display:flex;flex-direction:row;align-items:center}.ag-input-field-input{flex:1 1 auto}.ag-floating-filter-input .ag-input-field-input[type=date]{width:1px}.ag-range-field,.ag-angle-select{display:flex;align-items:center}.ag-angle-select-wrapper{display:flex}.ag-angle-select-parent-circle{display:block;position:relative}.ag-angle-select-child-circle{position:absolute}.ag-slider-wrapper{display:flex}.ag-slider-wrapper .ag-input-field,.ag-picker-field-display{flex:1 1 auto}.ag-picker-field{display:flex;align-items:center}.ag-picker-field-icon{display:flex;border:0;padding:0;margin:0;cursor:pointer}.ag-picker-field-wrapper{overflow:hidden}.ag-label-align-right .ag-label{order:1}.ag-label-align-right>*{flex:none}.ag-label-align-top{flex-direction:column;align-items:flex-start}.ag-label-align-top>*{align-self:stretch}.ag-label-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.ag-color-panel{width:100%;display:flex;flex-direction:column;text-align:center}.ag-spectrum-color{flex:1 1 auto;position:relative;overflow:hidden;cursor:default}.ag-spectrum-fill{position:absolute;top:0;left:0;right:0;bottom:0}.ag-spectrum-val{cursor:pointer}.ag-spectrum-dragger{position:absolute;pointer-events:none;cursor:pointer}.ag-spectrum-hue{cursor:default;background:linear-gradient(to left,#ff0000 3%,#ffff00 17%,#00ff00 33%,#00ffff 50%,#0000ff 67%,#ff00ff 83%,#ff0000 100%)}.ag-spectrum-alpha{cursor:default}.ag-spectrum-hue-background{width:100%;height:100%}.ag-spectrum-alpha-background{background-image:linear-gradient(to right,rgba(0,0,0,0),rgb(0,0,0));width:100%;height:100%}.ag-spectrum-tool{cursor:pointer}.ag-spectrum-slider{position:absolute;pointer-events:none}.ag-recent-colors{display:flex}.ag-recent-color{cursor:pointer}.ag-ltr .ag-column-select-indent-1{padding-left:20px}.ag-rtl .ag-column-select-indent-1{padding-right:20px}.ag-ltr .ag-set-filter-indent-1{padding-left:20px}.ag-rtl .ag-set-filter-indent-1{padding-right:20px}.ag-ltr .ag-row-group-indent-1{padding-left:20px}.ag-rtl .ag-row-group-indent-1{padding-right:20px}.ag-ltr .ag-column-select-indent-2{padding-left:40px}.ag-rtl .ag-column-select-indent-2{padding-right:40px}.ag-ltr .ag-set-filter-indent-2{padding-left:40px}.ag-rtl .ag-set-filter-indent-2{padding-right:40px}.ag-ltr .ag-row-group-indent-2{padding-left:40px}.ag-rtl .ag-row-group-indent-2{padding-right:40px}.ag-ltr .ag-column-select-indent-3{padding-left:60px}.ag-rtl .ag-column-select-indent-3{padding-right:60px}.ag-ltr .ag-set-filter-indent-3{padding-left:60px}.ag-rtl .ag-set-filter-indent-3{padding-right:60px}.ag-ltr .ag-row-group-indent-3{padding-left:60px}.ag-rtl .ag-row-group-indent-3{padding-right:60px}.ag-ltr .ag-column-select-indent-4{padding-left:80px}.ag-rtl .ag-column-select-indent-4{padding-right:80px}.ag-ltr .ag-set-filter-indent-4{padding-left:80px}.ag-rtl .ag-set-filter-indent-4{padding-right:80px}.ag-ltr .ag-row-group-indent-4{padding-left:80px}.ag-rtl .ag-row-group-indent-4{padding-right:80px}.ag-ltr .ag-column-select-indent-5{padding-left:100px}.ag-rtl .ag-column-select-indent-5{padding-right:100px}.ag-ltr .ag-set-filter-indent-5{padding-left:100px}.ag-rtl .ag-set-filter-indent-5{padding-right:100px}.ag-ltr .ag-row-group-indent-5{padding-left:100px}.ag-rtl .ag-row-group-indent-5{padding-right:100px}.ag-ltr .ag-column-select-indent-6{padding-left:120px}.ag-rtl .ag-column-select-indent-6{padding-right:120px}.ag-ltr .ag-set-filter-indent-6{padding-left:120px}.ag-rtl .ag-set-filter-indent-6{padding-right:120px}.ag-ltr .ag-row-group-indent-6{padding-left:120px}.ag-rtl .ag-row-group-indent-6{padding-right:120px}.ag-ltr .ag-column-select-indent-7{padding-left:140px}.ag-rtl .ag-column-select-indent-7{padding-right:140px}.ag-ltr .ag-set-filter-indent-7{padding-left:140px}.ag-rtl .ag-set-filter-indent-7{padding-right:140px}.ag-ltr .ag-row-group-indent-7{padding-left:140px}.ag-rtl .ag-row-group-indent-7{padding-right:140px}.ag-ltr .ag-column-select-indent-8{padding-left:160px}.ag-rtl .ag-column-select-indent-8{padding-right:160px}.ag-ltr .ag-set-filter-indent-8{padding-left:160px}.ag-rtl .ag-set-filter-indent-8{padding-right:160px}.ag-ltr .ag-row-group-indent-8{padding-left:160px}.ag-rtl .ag-row-group-indent-8{padding-right:160px}.ag-ltr .ag-column-select-indent-9{padding-left:180px}.ag-rtl .ag-column-select-indent-9{padding-right:180px}.ag-ltr .ag-set-filter-indent-9{padding-left:180px}.ag-rtl .ag-set-filter-indent-9{padding-right:180px}.ag-ltr .ag-row-group-indent-9{padding-left:180px}.ag-rtl .ag-row-group-indent-9{padding-right:180px}.ag-ltr{direction:ltr}.ag-ltr .ag-body,.ag-ltr .ag-floating-top,.ag-ltr .ag-floating-bottom,.ag-ltr .ag-header,.ag-ltr .ag-sticky-top,.ag-ltr .ag-body-viewport,.ag-ltr .ag-body-horizontal-scroll{flex-direction:row}.ag-rtl{direction:rtl}.ag-rtl .ag-body,.ag-rtl .ag-floating-top,.ag-rtl .ag-floating-bottom,.ag-rtl .ag-header,.ag-rtl .ag-sticky-top,.ag-rtl .ag-body-viewport,.ag-rtl .ag-body-horizontal-scroll{flex-direction:row-reverse}.ag-rtl .ag-icon-contracted,.ag-rtl .ag-icon-expanded,.ag-rtl .ag-icon-tree-closed{display:block;transform:rotate(180deg)}.ag-body .ag-body-viewport{-webkit-overflow-scrolling:touch}.ag-layout-print.ag-body{display:block;height:unset}.ag-layout-print.ag-root-wrapper{display:inline-block}.ag-layout-print .ag-body-vertical-scroll,.ag-layout-print .ag-body-horizontal-scroll{display:none}.ag-layout-print.ag-force-vertical-scroll{overflow-y:visible!important}@media print{.ag-root-wrapper.ag-layout-print{display:table}.ag-root-wrapper.ag-layout-print .ag-root-wrapper-body,.ag-root-wrapper.ag-layout-print .ag-root,.ag-root-wrapper.ag-layout-print .ag-body-viewport,.ag-root-wrapper.ag-layout-print .ag-center-cols-container,.ag-root-wrapper.ag-layout-print .ag-center-cols-viewport,.ag-root-wrapper.ag-layout-print .ag-body-horizontal-scroll-viewport,.ag-root-wrapper.ag-layout-print .ag-virtual-list-viewport{height:auto!important;overflow:hidden!important;display:block!important}.ag-root-wrapper.ag-layout-print .ag-row,.ag-root-wrapper.ag-layout-print .ag-cell{break-inside:avoid}}[class^=ag-],[class^=ag-]:focus,[class^=ag-]:after,[class^=ag-]:before{box-sizing:border-box;outline:none}[class^=ag-]::-ms-clear{display:none}.ag-checkbox .ag-input-wrapper,.ag-radio-button .ag-input-wrapper{overflow:visible}.ag-range-field .ag-input-wrapper{height:100%}.ag-toggle-button{flex:none;width:unset;min-width:unset}.ag-button{border-radius:0;color:var(--ag-foreground-color)}.ag-button:hover{background-color:transparent}.ag-ltr .ag-label-align-right .ag-label{margin-left:var(--ag-grid-size)}.ag-rtl .ag-label-align-right .ag-label{margin-right:var(--ag-grid-size)}input[class^=ag-]{margin:0;background-color:var(--ag-background-color)}textarea[class^=ag-],select[class^=ag-]{background-color:var(--ag-background-color)}input[class^=ag-]:not([type]),input[class^=ag-][type=text],input[class^=ag-][type=number],input[class^=ag-][type=tel],input[class^=ag-][type=date],input[class^=ag-][type=datetime-local],textarea[class^=ag-]{font-size:inherit;line-height:inherit;color:inherit;font-family:inherit;border:var(--ag-borders-input) var(--ag-input-border-color)}input[class^=ag-]:not([type]):disabled,input[class^=ag-][type=text]:disabled,input[class^=ag-][type=number]:disabled,input[class^=ag-][type=tel]:disabled,input[class^=ag-][type=date]:disabled,input[class^=ag-][type=datetime-local]:disabled,textarea[class^=ag-]:disabled{color:var(--ag-disabled-foreground-color);background-color:var(--ag-input-disabled-background-color);border-color:var(--ag-input-disabled-border-color)}input[class^=ag-]:not([type]):focus,input[class^=ag-][type=text]:focus,input[class^=ag-][type=number]:focus,input[class^=ag-][type=tel]:focus,input[class^=ag-][type=date]:focus,input[class^=ag-][type=datetime-local]:focus,textarea[class^=ag-]:focus{outline:none;box-shadow:var(--ag-input-focus-box-shadow);border-color:var(--ag-input-focus-border-color)}input[class^=ag-]:not([type]):invalid,input[class^=ag-][type=text]:invalid,input[class^=ag-][type=number]:invalid,input[class^=ag-][type=tel]:invalid,input[class^=ag-][type=date]:invalid,input[class^=ag-][type=datetime-local]:invalid,textarea[class^=ag-]:invalid{border:var(--ag-borders-input-invalid) var(--ag-input-border-color-invalid)}input[class^=ag-][type=number]:not(.ag-number-field-input-stepper){-moz-appearance:textfield}input[class^=ag-][type=number]:not(.ag-number-field-input-stepper)::-webkit-outer-spin-button,input[class^=ag-][type=number]:not(.ag-number-field-input-stepper)::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[class^=ag-][type=range]{padding:0}input[class^=ag-][type=button]:focus,button[class^=ag-]:focus{box-shadow:var(--ag-input-focus-box-shadow)}.ag-drag-handle{color:var(--ag-secondary-foreground-color)}.ag-list-item,.ag-virtual-list-item{height:var(--ag-list-item-height)}.ag-virtual-list-item:focus-visible{outline:none}.ag-virtual-list-item:focus-visible:after{content:"";position:absolute;background-color:transparent;pointer-events:none;top:4px;left:4px;display:block;width:calc(100% - 8px);height:calc(100% - 8px);border:1px solid;border-color:var(--ag-input-focus-border-color)}.ag-select-list{background-color:var(--ag-background-color);overflow-y:auto;overflow-x:hidden;border-radius:var(--ag-border-radius);border:var(--ag-borders) var(--ag-border-color)}.ag-list-item{display:flex;align-items:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ag-list-item.ag-active-item{background-color:var(--ag-row-hover-color)}.ag-select-list-item{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.ag-ltr .ag-select-list-item{padding-left:calc(var(--ag-cell-horizontal-padding) / 2)}.ag-rtl .ag-select-list-item{padding-right:calc(var(--ag-cell-horizontal-padding) / 2)}.ag-select-list-item span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.ag-row-drag,.ag-selection-checkbox,.ag-group-expanded,.ag-group-contracted{color:var(--ag-secondary-foreground-color)}.ag-ltr .ag-row-drag,.ag-ltr .ag-selection-checkbox,.ag-ltr .ag-group-expanded,.ag-ltr .ag-group-contracted{margin-right:var(--ag-cell-widget-spacing)}.ag-rtl .ag-row-drag,.ag-rtl .ag-selection-checkbox,.ag-rtl .ag-group-expanded,.ag-rtl .ag-group-contracted{margin-left:var(--ag-cell-widget-spacing)}.ag-cell-wrapper>*:not(.ag-cell-value):not(.ag-group-value){--ag-internal-calculated-line-height: var(--ag-line-height, calc(var(--ag-row-height) - var(--ag-row-border-width)));--ag-internal-padded-row-height: calc(var(--ag-row-height) - var(--ag-row-border-width));height:min(var(--ag-internal-calculated-line-height),var(--ag-internal-padded-row-height));display:flex;align-items:center;flex:none}.ag-group-expanded,.ag-group-contracted{cursor:pointer}.ag-group-title-bar-icon{cursor:pointer;flex:none;color:var(--ag-secondary-foreground-color)}.ag-ltr .ag-group-child-count{margin-left:2px}.ag-rtl .ag-group-child-count{margin-right:2px}.ag-group-title-bar{background-color:var(--ag-subheader-background-color);padding:var(--ag-grid-size)}.ag-group-toolbar{padding:var(--ag-grid-size);background-color:var(--ag-subheader-toolbar-background-color)}.ag-disabled-group-title-bar,.ag-disabled-group-container{opacity:.5}.group-item{margin:calc(var(--ag-grid-size) * .5) 0}.ag-label{white-space:nowrap}.ag-ltr .ag-label{margin-right:var(--ag-grid-size)}.ag-rtl .ag-label{margin-left:var(--ag-grid-size)}.ag-label-align-top .ag-label{margin-bottom:calc(var(--ag-grid-size) * .5)}.ag-angle-select[disabled]{color:var(--ag-disabled-foreground-color);pointer-events:none}.ag-angle-select[disabled] .ag-angle-select-field{opacity:.4}.ag-ltr .ag-slider-field,.ag-ltr .ag-angle-select-field{margin-right:calc(var(--ag-grid-size) * 2)}.ag-rtl .ag-slider-field,.ag-rtl .ag-angle-select-field{margin-left:calc(var(--ag-grid-size) * 2)}.ag-angle-select-parent-circle{width:24px;height:24px;border-radius:12px;border:solid 1px;border-color:var(--ag-border-color);background-color:var(--ag-background-color)}.ag-angle-select-child-circle{top:4px;left:12px;width:6px;height:6px;margin-left:-3px;margin-top:-4px;border-radius:3px;background-color:var(--ag-secondary-foreground-color)}.ag-picker-field-wrapper{border:var(--ag-borders);border-color:var(--ag-border-color);border-radius:5px;background-color:var(--ag-background-color)}.ag-picker-field-wrapper:disabled{color:var(--ag-disabled-foreground-color);background-color:var(--ag-input-disabled-background-color);border-color:var(--ag-input-disabled-border-color)}.ag-picker-field-wrapper.ag-picker-has-focus,.ag-picker-field-wrapper:focus-within{outline:none;box-shadow:var(--ag-input-focus-box-shadow);border-color:var(--ag-input-focus-border-color)}.ag-picker-field-button{background-color:var(--ag-background-color);color:var(--ag-secondary-foreground-color)}.ag-dialog.ag-color-dialog{border-radius:5px}.ag-color-picker .ag-picker-field-display{height:var(--ag-icon-size)}.ag-color-picker .ag-picker-field-wrapper{max-width:45px;min-width:45px}.ag-color-panel{padding:var(--ag-grid-size)}.ag-spectrum-color{background-color:red;border-radius:2px}.ag-spectrum-tools{padding:10px}.ag-spectrum-sat{background-image:linear-gradient(to right,white,rgba(204,154,129,0))}.ag-spectrum-val{background-image:linear-gradient(to top,black,rgba(204,154,129,0))}.ag-spectrum-dragger{border-radius:12px;height:12px;width:12px;border:1px solid white;background:black;box-shadow:0 0 2px #0000003d}.ag-spectrum-hue-background,.ag-spectrum-alpha-background{border-radius:2px}.ag-spectrum-tool{margin-bottom:10px;height:11px;border-radius:2px}.ag-spectrum-slider{margin-top:-12px;width:13px;height:13px;border-radius:13px;background-color:#f8f8f8;box-shadow:0 1px 4px #0000005e}.ag-recent-color{margin:0 3px}.ag-recent-color:first-child{margin-left:0}.ag-recent-color:last-child{margin-right:0}.ag-spectrum-color:focus-visible:not(:disabled):not([readonly]),.ag-spectrum-slider:focus-visible:not(:disabled):not([readonly]),.ag-recent-color:focus-visible:not(:disabled):not([readonly]){box-shadow:var(--ag-input-focus-box-shadow)}.ag-dnd-ghost{border:var(--ag-borders) var(--ag-border-color);background:var(--ag-background-color);border-radius:var(--ag-card-radius);box-shadow:var(--ag-card-shadow);padding:var(--ag-grid-size);overflow:hidden;text-overflow:ellipsis;border:var(--ag-borders-secondary) var(--ag-secondary-border-color);color:var(--ag-secondary-foreground-color);height:var(--ag-header-height)!important;line-height:var(--ag-header-height);margin:0;padding:0 calc(var(--ag-grid-size) * 2);transform:translateY(calc(var(--ag-grid-size) * 2))}.ag-dnd-ghost-icon{margin-right:var(--ag-grid-size);color:var(--ag-foreground-color)}.ag-popup-child:not(.ag-tooltip-custom){box-shadow:var(--ag-popup-shadow)}.ag-select .ag-picker-field-wrapper{min-height:var(--ag-list-item-height);cursor:default}.ag-ltr .ag-select .ag-picker-field-wrapper{padding-left:calc(var(--ag-cell-horizontal-padding) / 2)}.ag-rtl .ag-select .ag-picker-field-wrapper{padding-right:calc(var(--ag-cell-horizontal-padding) / 2)}.ag-ltr .ag-select .ag-picker-field-wrapper{padding-right:var(--ag-grid-size)}.ag-rtl .ag-select .ag-picker-field-wrapper{padding-left:var(--ag-grid-size)}.ag-select.ag-disabled .ag-picker-field-wrapper:focus{box-shadow:none}.ag-select:not(.ag-cell-editor,.ag-label-align-top){min-height:var(--ag-list-item-height)}.ag-select .ag-picker-field-display{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ag-select .ag-picker-field-icon{display:flex;align-items:center}.ag-select.ag-disabled{opacity:.5}.ag-rich-select-value,.ag-rich-select-list{background-color:var(--ag-background-color)}.ag-rich-select-list{width:100%;height:auto;border-radius:var(--ag-border-radius);border:var(--ag-borders) var(--ag-border-color)}.ag-rich-select-list .ag-loading-text{padding:var(--ag-widget-vertical-spacing) var(--ag-widget-horizontal-spacing)}.ag-rich-select-value{border-bottom:var(--ag-borders-secondary) var(--ag-secondary-border-color);padding-top:0;padding-bottom:0}.ag-ltr .ag-rich-select-value{padding-left:calc(var(--ag-cell-horizontal-padding) / 2)}.ag-rtl .ag-rich-select-value{padding-right:calc(var(--ag-cell-horizontal-padding) / 2)}.ag-ltr .ag-rich-select-value{padding-right:var(--ag-grid-size)}.ag-rtl .ag-rich-select-value{padding-left:var(--ag-grid-size)}.ag-ltr .ag-rich-select-field-input{left:calc(var(--ag-cell-horizontal-padding))}.ag-rtl .ag-rich-select-field-input{right:calc(var(--ag-cell-horizontal-padding))}.ag-popup-editor .ag-rich-select-value{height:var(--ag-row-height);min-width:200px}.ag-rich-select-virtual-list-item{cursor:default;height:var(--ag-list-item-height)}.ag-rich-select-virtual-list-item:focus-visible:after{content:none}.ag-rich-select-virtual-list-item:hover{background-color:var(--ag-row-hover-color)}.ag-ltr .ag-rich-select-row{padding-left:calc(var(--ag-cell-horizontal-padding) / 2)}.ag-rtl .ag-rich-select-row{padding-right:calc(var(--ag-cell-horizontal-padding) / 2)}.ag-rich-select-row-selected{background-color:var(--ag-selected-row-background-color)}.ag-rich-select-row-text-highlight{font-weight:700}.ag-autocomplete{width:100%}.ag-autocomplete-list{width:100%;min-width:200px;height:calc(var(--ag-row-height) * 6.5)}.ag-autocomplete-virtual-list-item{cursor:default;height:var(--ag-list-item-height)}.ag-autocomplete-virtual-list-item:focus-visible:after{content:none}.ag-autocomplete-virtual-list-item:hover{background-color:var(--ag-row-hover-color)}.ag-autocomplete-row-label{margin:0px var(--ag-widget-container-horizontal-padding)}.ag-autocomplete-row-selected{background-color:var(--ag-selected-row-background-color)}.ag-dragging-range-handle .ag-dialog,.ag-dragging-fill-handle .ag-dialog{opacity:.7;pointer-events:none}.ag-dialog{border-radius:var(--ag-border-radius);border:var(--ag-borders) var(--ag-border-color);box-shadow:var(--ag-popup-shadow)}.ag-panel{background-color:var(--ag-panel-background-color);border-color:var(--ag-panel-border-color)}.ag-panel-title-bar{color:var(--ag-header-foreground-color);height:var(--ag-header-height);padding:var(--ag-grid-size) var(--ag-cell-horizontal-padding);border-bottom:var(--ag-borders) var(--ag-border-color)}.ag-ltr .ag-panel-title-bar-button{margin-left:var(--ag-grid-size)}.ag-rtl .ag-panel-title-bar-button{margin-right:var(--ag-grid-size)}.ag-tooltip{background-color:var(--ag-tooltip-background-color);color:var(--ag-foreground-color);padding:var(--ag-grid-size);border:var(--ag-borders) var(--ag-border-color);border-radius:var(--ag-card-radius);white-space:normal}.ag-tooltip.ag-tooltip-animate,.ag-tooltip-custom.ag-tooltip-animate{transition:opacity 1s}.ag-tooltip.ag-tooltip-animate.ag-tooltip-hiding,.ag-tooltip-custom.ag-tooltip-animate.ag-tooltip-hiding{opacity:0}.ag-ltr .ag-column-select-indent-1{padding-left:calc(1 * var(--ag-column-select-indent-size))}.ag-rtl .ag-column-select-indent-1{padding-right:calc(1 * var(--ag-column-select-indent-size))}.ag-ltr .ag-column-select-indent-2{padding-left:calc(2 * var(--ag-column-select-indent-size))}.ag-rtl .ag-column-select-indent-2{padding-right:calc(2 * var(--ag-column-select-indent-size))}.ag-ltr .ag-column-select-indent-3{padding-left:calc(3 * var(--ag-column-select-indent-size))}.ag-rtl .ag-column-select-indent-3{padding-right:calc(3 * var(--ag-column-select-indent-size))}.ag-ltr .ag-column-select-indent-4{padding-left:calc(4 * var(--ag-column-select-indent-size))}.ag-rtl .ag-column-select-indent-4{padding-right:calc(4 * var(--ag-column-select-indent-size))}.ag-ltr .ag-column-select-indent-5{padding-left:calc(5 * var(--ag-column-select-indent-size))}.ag-rtl .ag-column-select-indent-5{padding-right:calc(5 * var(--ag-column-select-indent-size))}.ag-ltr .ag-column-select-indent-6{padding-left:calc(6 * var(--ag-column-select-indent-size))}.ag-rtl .ag-column-select-indent-6{padding-right:calc(6 * var(--ag-column-select-indent-size))}.ag-ltr .ag-column-select-indent-7{padding-left:calc(7 * var(--ag-column-select-indent-size))}.ag-rtl .ag-column-select-indent-7{padding-right:calc(7 * var(--ag-column-select-indent-size))}.ag-ltr .ag-column-select-indent-8{padding-left:calc(8 * var(--ag-column-select-indent-size))}.ag-rtl .ag-column-select-indent-8{padding-right:calc(8 * var(--ag-column-select-indent-size))}.ag-ltr .ag-column-select-indent-9{padding-left:calc(9 * var(--ag-column-select-indent-size))}.ag-rtl .ag-column-select-indent-9{padding-right:calc(9 * var(--ag-column-select-indent-size))}.ag-column-select-header-icon{cursor:pointer}.ag-column-select-header-icon:focus-visible{outline:none}.ag-column-select-header-icon:focus-visible:after{content:"";position:absolute;background-color:transparent;pointer-events:none;top:0;left:0;display:block;width:calc(100% + -0px);height:calc(100% + -0px);border:1px solid;border-color:var(--ag-input-focus-border-color)}.ag-ltr .ag-column-group-icons:not(:last-child),.ag-ltr .ag-column-select-header-icon:not(:last-child),.ag-ltr .ag-column-select-header-checkbox:not(:last-child),.ag-ltr .ag-column-select-header-filter-wrapper:not(:last-child),.ag-ltr .ag-column-select-checkbox:not(:last-child),.ag-ltr .ag-column-select-column-drag-handle:not(:last-child),.ag-ltr .ag-column-select-column-group-drag-handle:not(:last-child),.ag-ltr .ag-column-select-column-label:not(:last-child){margin-right:var(--ag-widget-horizontal-spacing)}.ag-rtl .ag-column-group-icons:not(:last-child),.ag-rtl .ag-column-select-header-icon:not(:last-child),.ag-rtl .ag-column-select-header-checkbox:not(:last-child),.ag-rtl .ag-column-select-header-filter-wrapper:not(:last-child),.ag-rtl .ag-column-select-checkbox:not(:last-child),.ag-rtl .ag-column-select-column-drag-handle:not(:last-child),.ag-rtl .ag-column-select-column-group-drag-handle:not(:last-child),.ag-rtl .ag-column-select-column-label:not(:last-child){margin-left:var(--ag-widget-horizontal-spacing)}.ag-column-select-virtual-list-item:focus-visible{outline:none}.ag-column-select-virtual-list-item:focus-visible:after{content:"";position:absolute;background-color:transparent;pointer-events:none;top:1px;left:1px;display:block;width:calc(100% - 2px);height:calc(100% - 2px);border:1px solid;border-color:var(--ag-input-focus-border-color)}.ag-column-select-column-group:not(:last-child),.ag-column-select-column:not(:last-child){margin-bottom:var(--ag-widget-vertical-spacing)}.ag-column-select-column-readonly,.ag-column-select-column-group-readonly{color:var(--ag-disabled-foreground-color);pointer-events:none}.ag-ltr .ag-column-select-add-group-indent{margin-left:calc(var(--ag-icon-size) + var(--ag-grid-size) * 2)}.ag-rtl .ag-column-select-add-group-indent{margin-right:calc(var(--ag-icon-size) + var(--ag-grid-size) * 2)}.ag-column-select-virtual-list-viewport{padding:calc(var(--ag-widget-container-vertical-padding) * .5) 0px}.ag-column-select-virtual-list-item{padding:0 var(--ag-widget-container-horizontal-padding)}.ag-checkbox-edit{padding-left:var(--ag-cell-horizontal-padding);padding-right:var(--ag-cell-horizontal-padding)}.ag-rtl{text-align:right}.ag-root-wrapper{border-radius:var(--ag-wrapper-border-radius);border:var(--ag-borders) var(--ag-border-color)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-1{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 1)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-1{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 1)}.ag-ltr .ag-row-group-indent-1{padding-left:calc(1 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-1{padding-right:calc(1 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-1 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-1 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-2{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 2)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-2{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 2)}.ag-ltr .ag-row-group-indent-2{padding-left:calc(2 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-2{padding-right:calc(2 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-2 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-2 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-3{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 3)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-3{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 3)}.ag-ltr .ag-row-group-indent-3{padding-left:calc(3 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-3{padding-right:calc(3 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-3 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-3 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-4{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 4)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-4{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 4)}.ag-ltr .ag-row-group-indent-4{padding-left:calc(4 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-4{padding-right:calc(4 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-4 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-4 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-5{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 5)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-5{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 5)}.ag-ltr .ag-row-group-indent-5{padding-left:calc(5 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-5{padding-right:calc(5 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-5 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-5 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-6{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 6)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-6{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 6)}.ag-ltr .ag-row-group-indent-6{padding-left:calc(6 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-6{padding-right:calc(6 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-6 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-6 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-7{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 7)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-7{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 7)}.ag-ltr .ag-row-group-indent-7{padding-left:calc(7 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-7{padding-right:calc(7 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-7 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-7 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-8{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 8)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-8{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 8)}.ag-ltr .ag-row-group-indent-8{padding-left:calc(8 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-8{padding-right:calc(8 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-8 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-8 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-9{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 9)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-9{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 9)}.ag-ltr .ag-row-group-indent-9{padding-left:calc(9 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-9{padding-right:calc(9 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-9 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-9 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-10{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 10)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-10{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 10)}.ag-ltr .ag-row-group-indent-10{padding-left:calc(10 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-10{padding-right:calc(10 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-10 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-10 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-11{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 11)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-11{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 11)}.ag-ltr .ag-row-group-indent-11{padding-left:calc(11 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-11{padding-right:calc(11 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-11 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-11 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-12{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 12)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-12{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 12)}.ag-ltr .ag-row-group-indent-12{padding-left:calc(12 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-12{padding-right:calc(12 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-12 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-12 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-13{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 13)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-13{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 13)}.ag-ltr .ag-row-group-indent-13{padding-left:calc(13 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-13{padding-right:calc(13 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-13 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-13 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-14{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 14)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-14{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 14)}.ag-ltr .ag-row-group-indent-14{padding-left:calc(14 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-14{padding-right:calc(14 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-14 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-14 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-15{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 15)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-15{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 15)}.ag-ltr .ag-row-group-indent-15{padding-left:calc(15 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-15{padding-right:calc(15 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-15 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-15 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-16{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 16)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-16{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 16)}.ag-ltr .ag-row-group-indent-16{padding-left:calc(16 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-16{padding-right:calc(16 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-16 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-16 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-17{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 17)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-17{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 17)}.ag-ltr .ag-row-group-indent-17{padding-left:calc(17 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-17{padding-right:calc(17 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-17 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-17 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-18{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 18)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-18{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 18)}.ag-ltr .ag-row-group-indent-18{padding-left:calc(18 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-18{padding-right:calc(18 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-18 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-18 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-19{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 19)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-19{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 19)}.ag-ltr .ag-row-group-indent-19{padding-left:calc(19 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-19{padding-right:calc(19 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-19 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-19 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-20{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 20)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-20{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 20)}.ag-ltr .ag-row-group-indent-20{padding-left:calc(20 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-20{padding-right:calc(20 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-20 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-20 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-21{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 21)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-21{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 21)}.ag-ltr .ag-row-group-indent-21{padding-left:calc(21 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-21{padding-right:calc(21 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-21 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-21 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-22{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 22)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-22{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 22)}.ag-ltr .ag-row-group-indent-22{padding-left:calc(22 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-22{padding-right:calc(22 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-22 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-22 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-23{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 23)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-23{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 23)}.ag-ltr .ag-row-group-indent-23{padding-left:calc(23 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-23{padding-right:calc(23 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-23 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-23 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-24{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 24)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-24{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 24)}.ag-ltr .ag-row-group-indent-24{padding-left:calc(24 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-24{padding-right:calc(24 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-24 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-24 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-25{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 25)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-25{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 25)}.ag-ltr .ag-row-group-indent-25{padding-left:calc(25 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-25{padding-right:calc(25 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-25 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-25 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-26{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 26)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-26{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 26)}.ag-ltr .ag-row-group-indent-26{padding-left:calc(26 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-26{padding-right:calc(26 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-26 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-26 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-27{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 27)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-27{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 27)}.ag-ltr .ag-row-group-indent-27{padding-left:calc(27 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-27{padding-right:calc(27 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-27 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-27 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-28{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 28)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-28{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 28)}.ag-ltr .ag-row-group-indent-28{padding-left:calc(28 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-28{padding-right:calc(28 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-28 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-28 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-29{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 29)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-29{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 29)}.ag-ltr .ag-row-group-indent-29{padding-left:calc(29 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-29{padding-right:calc(29 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-29 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-29 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-30{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 30)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-30{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 30)}.ag-ltr .ag-row-group-indent-30{padding-left:calc(30 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-30{padding-right:calc(30 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-30 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-30 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-31{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 31)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-31{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 31)}.ag-ltr .ag-row-group-indent-31{padding-left:calc(31 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-31{padding-right:calc(31 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-31 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-31 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-32{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 32)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-32{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 32)}.ag-ltr .ag-row-group-indent-32{padding-left:calc(32 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-32{padding-right:calc(32 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-32 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-32 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-33{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 33)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-33{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 33)}.ag-ltr .ag-row-group-indent-33{padding-left:calc(33 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-33{padding-right:calc(33 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-33 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-33 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-34{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 34)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-34{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 34)}.ag-ltr .ag-row-group-indent-34{padding-left:calc(34 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-34{padding-right:calc(34 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-34 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-34 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-35{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 35)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-35{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 35)}.ag-ltr .ag-row-group-indent-35{padding-left:calc(35 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-35{padding-right:calc(35 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-35 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-35 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-36{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 36)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-36{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 36)}.ag-ltr .ag-row-group-indent-36{padding-left:calc(36 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-36{padding-right:calc(36 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-36 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-36 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-37{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 37)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-37{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 37)}.ag-ltr .ag-row-group-indent-37{padding-left:calc(37 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-37{padding-right:calc(37 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-37 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-37 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-38{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 38)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-38{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 38)}.ag-ltr .ag-row-group-indent-38{padding-left:calc(38 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-38{padding-right:calc(38 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-38 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-38 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-39{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 39)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-39{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 39)}.ag-ltr .ag-row-group-indent-39{padding-left:calc(39 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-39{padding-right:calc(39 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-39 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-39 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-40{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 40)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-40{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 40)}.ag-ltr .ag-row-group-indent-40{padding-left:calc(40 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-40{padding-right:calc(40 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-40 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-40 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-41{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 41)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-41{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 41)}.ag-ltr .ag-row-group-indent-41{padding-left:calc(41 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-41{padding-right:calc(41 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-41 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-41 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-42{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 42)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-42{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 42)}.ag-ltr .ag-row-group-indent-42{padding-left:calc(42 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-42{padding-right:calc(42 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-42 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-42 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-43{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 43)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-43{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 43)}.ag-ltr .ag-row-group-indent-43{padding-left:calc(43 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-43{padding-right:calc(43 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-43 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-43 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-44{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 44)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-44{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 44)}.ag-ltr .ag-row-group-indent-44{padding-left:calc(44 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-44{padding-right:calc(44 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-44 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-44 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-45{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 45)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-45{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 45)}.ag-ltr .ag-row-group-indent-45{padding-left:calc(45 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-45{padding-right:calc(45 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-45 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-45 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-46{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 46)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-46{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 46)}.ag-ltr .ag-row-group-indent-46{padding-left:calc(46 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-46{padding-right:calc(46 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-46 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-46 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-47{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 47)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-47{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 47)}.ag-ltr .ag-row-group-indent-47{padding-left:calc(47 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-47{padding-right:calc(47 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-47 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-47 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-48{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 48)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-48{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 48)}.ag-ltr .ag-row-group-indent-48{padding-left:calc(48 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-48{padding-right:calc(48 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-48 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-48 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-49{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 49)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-49{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 49)}.ag-ltr .ag-row-group-indent-49{padding-left:calc(49 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-49{padding-right:calc(49 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-49 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-49 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-50{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 50)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-50{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 50)}.ag-ltr .ag-row-group-indent-50{padding-left:calc(50 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-50{padding-right:calc(50 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-50 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-50 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-51{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 51)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-51{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 51)}.ag-ltr .ag-row-group-indent-51{padding-left:calc(51 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-51{padding-right:calc(51 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-51 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-51 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-52{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 52)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-52{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 52)}.ag-ltr .ag-row-group-indent-52{padding-left:calc(52 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-52{padding-right:calc(52 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-52 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-52 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-53{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 53)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-53{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 53)}.ag-ltr .ag-row-group-indent-53{padding-left:calc(53 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-53{padding-right:calc(53 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-53 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-53 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-54{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 54)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-54{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 54)}.ag-ltr .ag-row-group-indent-54{padding-left:calc(54 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-54{padding-right:calc(54 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-54 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-54 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-55{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 55)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-55{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 55)}.ag-ltr .ag-row-group-indent-55{padding-left:calc(55 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-55{padding-right:calc(55 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-55 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-55 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-56{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 56)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-56{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 56)}.ag-ltr .ag-row-group-indent-56{padding-left:calc(56 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-56{padding-right:calc(56 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-56 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-56 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-57{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 57)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-57{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 57)}.ag-ltr .ag-row-group-indent-57{padding-left:calc(57 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-57{padding-right:calc(57 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-57 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-57 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-58{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 58)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-58{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 58)}.ag-ltr .ag-row-group-indent-58{padding-left:calc(58 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-58{padding-right:calc(58 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-58 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-58 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-59{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 59)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-59{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 59)}.ag-ltr .ag-row-group-indent-59{padding-left:calc(59 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-59{padding-right:calc(59 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-59 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-59 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-60{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 60)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-60{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 60)}.ag-ltr .ag-row-group-indent-60{padding-left:calc(60 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-60{padding-right:calc(60 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-60 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-60 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-61{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 61)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-61{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 61)}.ag-ltr .ag-row-group-indent-61{padding-left:calc(61 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-61{padding-right:calc(61 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-61 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-61 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-62{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 62)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-62{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 62)}.ag-ltr .ag-row-group-indent-62{padding-left:calc(62 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-62{padding-right:calc(62 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-62 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-62 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-63{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 63)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-63{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 63)}.ag-ltr .ag-row-group-indent-63{padding-left:calc(63 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-63{padding-right:calc(63 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-63 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-63 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-64{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 64)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-64{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 64)}.ag-ltr .ag-row-group-indent-64{padding-left:calc(64 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-64{padding-right:calc(64 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-64 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-64 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-65{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 65)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-65{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 65)}.ag-ltr .ag-row-group-indent-65{padding-left:calc(65 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-65{padding-right:calc(65 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-65 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-65 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-66{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 66)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-66{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 66)}.ag-ltr .ag-row-group-indent-66{padding-left:calc(66 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-66{padding-right:calc(66 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-66 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-66 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-67{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 67)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-67{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 67)}.ag-ltr .ag-row-group-indent-67{padding-left:calc(67 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-67{padding-right:calc(67 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-67 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-67 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-68{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 68)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-68{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 68)}.ag-ltr .ag-row-group-indent-68{padding-left:calc(68 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-68{padding-right:calc(68 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-68 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-68 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-69{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 69)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-69{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 69)}.ag-ltr .ag-row-group-indent-69{padding-left:calc(69 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-69{padding-right:calc(69 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-69 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-69 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-70{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 70)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-70{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 70)}.ag-ltr .ag-row-group-indent-70{padding-left:calc(70 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-70{padding-right:calc(70 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-70 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-70 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-71{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 71)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-71{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 71)}.ag-ltr .ag-row-group-indent-71{padding-left:calc(71 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-71{padding-right:calc(71 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-71 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-71 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-72{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 72)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-72{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 72)}.ag-ltr .ag-row-group-indent-72{padding-left:calc(72 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-72{padding-right:calc(72 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-72 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-72 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-73{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 73)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-73{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 73)}.ag-ltr .ag-row-group-indent-73{padding-left:calc(73 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-73{padding-right:calc(73 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-73 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-73 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-74{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 74)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-74{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 74)}.ag-ltr .ag-row-group-indent-74{padding-left:calc(74 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-74{padding-right:calc(74 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-74 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-74 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-75{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 75)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-75{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 75)}.ag-ltr .ag-row-group-indent-75{padding-left:calc(75 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-75{padding-right:calc(75 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-75 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-75 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-76{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 76)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-76{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 76)}.ag-ltr .ag-row-group-indent-76{padding-left:calc(76 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-76{padding-right:calc(76 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-76 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-76 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-77{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 77)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-77{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 77)}.ag-ltr .ag-row-group-indent-77{padding-left:calc(77 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-77{padding-right:calc(77 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-77 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-77 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-78{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 78)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-78{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 78)}.ag-ltr .ag-row-group-indent-78{padding-left:calc(78 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-78{padding-right:calc(78 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-78 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-78 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-79{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 79)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-79{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 79)}.ag-ltr .ag-row-group-indent-79{padding-left:calc(79 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-79{padding-right:calc(79 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-79 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-79 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-80{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 80)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-80{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 80)}.ag-ltr .ag-row-group-indent-80{padding-left:calc(80 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-80{padding-right:calc(80 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-80 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-80 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-81{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 81)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-81{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 81)}.ag-ltr .ag-row-group-indent-81{padding-left:calc(81 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-81{padding-right:calc(81 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-81 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-81 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-82{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 82)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-82{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 82)}.ag-ltr .ag-row-group-indent-82{padding-left:calc(82 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-82{padding-right:calc(82 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-82 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-82 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-83{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 83)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-83{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 83)}.ag-ltr .ag-row-group-indent-83{padding-left:calc(83 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-83{padding-right:calc(83 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-83 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-83 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-84{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 84)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-84{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 84)}.ag-ltr .ag-row-group-indent-84{padding-left:calc(84 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-84{padding-right:calc(84 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-84 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-84 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-85{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 85)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-85{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 85)}.ag-ltr .ag-row-group-indent-85{padding-left:calc(85 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-85{padding-right:calc(85 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-85 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-85 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-86{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 86)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-86{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 86)}.ag-ltr .ag-row-group-indent-86{padding-left:calc(86 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-86{padding-right:calc(86 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-86 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-86 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-87{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 87)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-87{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 87)}.ag-ltr .ag-row-group-indent-87{padding-left:calc(87 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-87{padding-right:calc(87 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-87 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-87 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-88{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 88)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-88{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 88)}.ag-ltr .ag-row-group-indent-88{padding-left:calc(88 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-88{padding-right:calc(88 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-88 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-88 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-89{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 89)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-89{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 89)}.ag-ltr .ag-row-group-indent-89{padding-left:calc(89 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-89{padding-right:calc(89 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-89 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-89 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-90{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 90)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-90{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 90)}.ag-ltr .ag-row-group-indent-90{padding-left:calc(90 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-90{padding-right:calc(90 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-90 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-90 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-91{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 91)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-91{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 91)}.ag-ltr .ag-row-group-indent-91{padding-left:calc(91 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-91{padding-right:calc(91 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-91 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-91 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-92{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 92)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-92{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 92)}.ag-ltr .ag-row-group-indent-92{padding-left:calc(92 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-92{padding-right:calc(92 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-92 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-92 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-93{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 93)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-93{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 93)}.ag-ltr .ag-row-group-indent-93{padding-left:calc(93 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-93{padding-right:calc(93 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-93 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-93 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-94{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 94)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-94{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 94)}.ag-ltr .ag-row-group-indent-94{padding-left:calc(94 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-94{padding-right:calc(94 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-94 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-94 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-95{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 95)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-95{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 95)}.ag-ltr .ag-row-group-indent-95{padding-left:calc(95 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-95{padding-right:calc(95 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-95 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-95 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-96{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 96)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-96{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 96)}.ag-ltr .ag-row-group-indent-96{padding-left:calc(96 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-96{padding-right:calc(96 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-96 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-96 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-97{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 97)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-97{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 97)}.ag-ltr .ag-row-group-indent-97{padding-left:calc(97 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-97{padding-right:calc(97 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-97 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-97 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-98{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 98)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-98{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 98)}.ag-ltr .ag-row-group-indent-98{padding-left:calc(98 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-98{padding-right:calc(98 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-98 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-98 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row>.ag-cell-wrapper.ag-row-group-indent-99{padding-left:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 99)}.ag-rtl .ag-row>.ag-cell-wrapper.ag-row-group-indent-99{padding-right:calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 99)}.ag-ltr .ag-row-group-indent-99{padding-left:calc(99 * var(--ag-row-group-indent-size))}.ag-rtl .ag-row-group-indent-99{padding-right:calc(99 * var(--ag-row-group-indent-size))}.ag-ltr .ag-row-level-99 .ag-pivot-leaf-group{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-level-99 .ag-pivot-leaf-group{margin-right:var(--ag-row-group-indent-size)}.ag-ltr .ag-row-group-leaf-indent{margin-left:var(--ag-row-group-indent-size)}.ag-rtl .ag-row-group-leaf-indent{margin-right:var(--ag-row-group-indent-size)}.ag-value-change-delta{padding-right:2px}.ag-value-change-delta-up{color:var(--ag-value-change-delta-up-color)}.ag-value-change-delta-down{color:var(--ag-value-change-delta-down-color)}.ag-value-change-value{background-color:transparent;border-radius:1px;padding-left:1px;padding-right:1px;transition:background-color 1s}.ag-value-change-value-highlight{background-color:var(--ag-value-change-value-highlight-background-color);transition:background-color .1s}.ag-cell-data-changed{background-color:var(--ag-value-change-value-highlight-background-color)!important}.ag-cell-data-changed-animation{background-color:transparent}.ag-cell-highlight{background-color:var(--ag-range-selection-highlight-color)!important}.ag-row{height:var(--ag-row-height);background-color:var(--ag-background-color);color:var(--ag-data-color);border-bottom:var(--ag-row-border-style) var(--ag-row-border-color) var(--ag-row-border-width)}.ag-row-highlight-above:after,.ag-row-highlight-below:after{content:"";position:absolute;width:calc(100% - 1px);height:1px;background-color:var(--ag-range-selection-border-color);left:1px}.ag-row-highlight-above:after{top:-1px}.ag-row-highlight-above.ag-row-first:after{top:0}.ag-row-highlight-below:after{bottom:0}.ag-row-odd{background-color:var(--ag-odd-row-background-color)}.ag-body-horizontal-scroll:not(.ag-scrollbar-invisible) .ag-horizontal-left-spacer:not(.ag-scroller-corner){border-right:var(--ag-borders-critical) var(--ag-border-color)}.ag-body-horizontal-scroll:not(.ag-scrollbar-invisible) .ag-horizontal-right-spacer:not(.ag-scroller-corner){border-left:var(--ag-borders-critical) var(--ag-border-color)}.ag-row-selected:before{content:"";background-color:var(--ag-selected-row-background-color);display:block;position:absolute;top:0;left:0;right:0;bottom:0}.ag-row-hover:not(.ag-full-width-row):before,.ag-row-hover.ag-full-width-row.ag-row-group:before{content:"";background-color:var(--ag-row-hover-color);display:block;position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none}.ag-row-hover.ag-full-width-row.ag-row-group>*{position:relative}.ag-row-hover.ag-row-selected:before{background-color:var(--ag-row-hover-color);background-image:linear-gradient(var(--ag-selected-row-background-color),var(--ag-selected-row-background-color))}.ag-column-hover{background-color:var(--ag-column-hover-color)}.ag-ltr .ag-right-aligned-cell{text-align:right}.ag-rtl .ag-right-aligned-cell{text-align:left}.ag-ltr .ag-right-aligned-cell .ag-cell-value,.ag-ltr .ag-right-aligned-cell .ag-group-value{margin-left:auto}.ag-rtl .ag-right-aligned-cell .ag-cell-value,.ag-rtl .ag-right-aligned-cell .ag-group-value{margin-right:auto}.ag-cell,.ag-full-width-row .ag-cell-wrapper.ag-row-group{--ag-internal-calculated-line-height: var(--ag-line-height, calc(var(--ag-row-height) - var(--ag-row-border-width)));--ag-internal-padded-row-height: calc(var(--ag-row-height) - var(--ag-row-border-width));border:1px solid transparent;line-height:min(var(--ag-internal-calculated-line-height),var(--ag-internal-padded-row-height));padding-left:calc(var(--ag-cell-horizontal-padding) - 1px);padding-right:calc(var(--ag-cell-horizontal-padding) - 1px);-webkit-font-smoothing:subpixel-antialiased}.ag-row>.ag-cell-wrapper{padding-left:calc(var(--ag-cell-horizontal-padding) - 1px);padding-right:calc(var(--ag-cell-horizontal-padding) - 1px)}.ag-row-dragging{cursor:move;opacity:.5}.ag-cell-inline-editing{border:1px solid var(--ag-border-color);border-radius:var(--ag-card-radius);box-shadow:var(--ag-card-shadow);padding:0;background-color:var(--ag-control-panel-background-color)}.ag-popup-editor .ag-large-text,.ag-autocomplete-list-popup{border:var(--ag-borders) var(--ag-border-color);background:var(--ag-background-color);border-radius:var(--ag-card-radius);box-shadow:var(--ag-card-shadow);padding:var(--ag-grid-size);background-color:var(--ag-control-panel-background-color);padding:0}.ag-large-text-input{height:auto;padding:var(--ag-cell-horizontal-padding)}.ag-rtl .ag-large-text-input textarea{resize:none}.ag-details-row{padding:calc(var(--ag-grid-size) * 5);background-color:var(--ag-background-color)}.ag-layout-auto-height .ag-center-cols-viewport,.ag-layout-auto-height .ag-center-cols-container,.ag-layout-print .ag-center-cols-viewport,.ag-layout-print .ag-center-cols-container{min-height:50px}.ag-overlay-loading-wrapper{background-color:var(--ag-modal-overlay-background-color)}.ag-overlay-loading-center{border:var(--ag-borders) var(--ag-border-color);background:var(--ag-background-color);border-radius:var(--ag-card-radius);box-shadow:var(--ag-card-shadow);padding:var(--ag-grid-size)}.ag-overlay-no-rows-wrapper.ag-layout-auto-height{padding-top:30px}.ag-loading{display:flex;height:100%;align-items:center}.ag-ltr .ag-loading{padding-left:var(--ag-cell-horizontal-padding)}.ag-rtl .ag-loading{padding-right:var(--ag-cell-horizontal-padding)}.ag-ltr .ag-loading-icon{padding-right:var(--ag-cell-widget-spacing)}.ag-rtl .ag-loading-icon{padding-left:var(--ag-cell-widget-spacing)}.ag-icon-loading{animation-name:spin;animation-duration:1s;animation-iteration-count:infinite;animation-timing-function:linear}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ag-floating-top{border-bottom:var(--ag-borders-critical) var(--ag-border-color)}.ag-floating-bottom{border-top:var(--ag-borders-critical) var(--ag-border-color)}.ag-ltr .ag-cell{border-right:var(--ag-cell-horizontal-border)}.ag-rtl .ag-cell{border-left:var(--ag-cell-horizontal-border)}.ag-ltr .ag-cell{border-right-width:1px}.ag-rtl .ag-cell{border-left-width:1px}.ag-cell.ag-cell-first-right-pinned:not(.ag-cell-range-left):not(.ag-cell-range-single-cell){border-left:var(--ag-borders-critical) var(--ag-border-color)}.ag-cell.ag-cell-last-left-pinned:not(.ag-cell-range-right):not(.ag-cell-range-single-cell){border-right:var(--ag-borders-critical) var(--ag-border-color)}.ag-cell-range-selected:not(.ag-cell-focus),.ag-body-viewport:not(.ag-has-focus) .ag-cell-range-single-cell:not(.ag-cell-inline-editing){background-color:var(--ag-range-selection-background-color)}.ag-cell-range-selected:not(.ag-cell-focus).ag-cell-range-chart,.ag-body-viewport:not(.ag-has-focus) .ag-cell-range-single-cell:not(.ag-cell-inline-editing).ag-cell-range-chart{background-color:var(--ag-range-selection-chart-background-color)!important}.ag-cell-range-selected:not(.ag-cell-focus).ag-cell-range-chart.ag-cell-range-chart-category,.ag-body-viewport:not(.ag-has-focus) .ag-cell-range-single-cell:not(.ag-cell-inline-editing).ag-cell-range-chart.ag-cell-range-chart-category{background-color:var(--ag-range-selection-chart-category-background-color)!important}.ag-cell-range-selected-1:not(.ag-cell-focus),.ag-root:not(.ag-context-menu-open) .ag-body-viewport:not(.ag-has-focus) .ag-cell-range-selected-1:not(.ag-cell-inline-editing){background-color:var(--ag-range-selection-background-color)}.ag-cell-range-selected-2:not(.ag-cell-focus),.ag-body-viewport:not(.ag-has-focus) .ag-cell-range-selected-2{background-color:var(--ag-range-selection-background-color-2)}.ag-cell-range-selected-3:not(.ag-cell-focus),.ag-body-viewport:not(.ag-has-focus) .ag-cell-range-selected-3{background-color:var(--ag-range-selection-background-color-3)}.ag-cell-range-selected-4:not(.ag-cell-focus),.ag-body-viewport:not(.ag-has-focus) .ag-cell-range-selected-4{background-color:var(--ag-range-selection-background-color-4)}.ag-cell.ag-cell-range-selected:not(.ag-cell-range-single-cell).ag-cell-range-top{border-top-color:var(--ag-range-selection-border-color);border-top-style:var(--ag-range-selection-border-style)}.ag-cell.ag-cell-range-selected:not(.ag-cell-range-single-cell).ag-cell-range-right{border-right-color:var(--ag-range-selection-border-color);border-right-style:var(--ag-range-selection-border-style)}.ag-cell.ag-cell-range-selected:not(.ag-cell-range-single-cell).ag-cell-range-bottom{border-bottom-color:var(--ag-range-selection-border-color);border-bottom-style:var(--ag-range-selection-border-style)}.ag-cell.ag-cell-range-selected:not(.ag-cell-range-single-cell).ag-cell-range-left{border-left-color:var(--ag-range-selection-border-color);border-left-style:var(--ag-range-selection-border-style)}.ag-ltr .ag-cell-focus:not(.ag-cell-range-selected):focus-within,.ag-ltr .ag-context-menu-open .ag-cell-focus:not(.ag-cell-range-selected),.ag-ltr .ag-full-width-row.ag-row-focus:focus .ag-cell-wrapper.ag-row-group,.ag-ltr .ag-cell-range-single-cell,.ag-ltr .ag-cell-range-single-cell.ag-cell-range-handle,.ag-rtl .ag-cell-focus:not(.ag-cell-range-selected):focus-within,.ag-rtl .ag-context-menu-open .ag-cell-focus:not(.ag-cell-range-selected),.ag-rtl .ag-full-width-row.ag-row-focus:focus .ag-cell-wrapper.ag-row-group,.ag-rtl .ag-cell-range-single-cell,.ag-rtl .ag-cell-range-single-cell.ag-cell-range-handle{border:1px solid;border-color:var(--ag-range-selection-border-color);border-style:var(--ag-range-selection-border-style);outline:initial}.ag-cell.ag-selection-fill-top,.ag-cell.ag-selection-fill-top.ag-cell-range-selected{border-top:1px dashed;border-top-color:var(--ag-range-selection-border-color)}.ag-ltr .ag-cell.ag-selection-fill-right,.ag-ltr .ag-cell.ag-selection-fill-right.ag-cell-range-selected{border-right:1px dashed var(--ag-range-selection-border-color)!important}.ag-rtl .ag-cell.ag-selection-fill-right,.ag-rtl .ag-cell.ag-selection-fill-right.ag-cell-range-selected{border-left:1px dashed var(--ag-range-selection-border-color)!important}.ag-cell.ag-selection-fill-bottom,.ag-cell.ag-selection-fill-bottom.ag-cell-range-selected{border-bottom:1px dashed;border-bottom-color:var(--ag-range-selection-border-color)}.ag-ltr .ag-cell.ag-selection-fill-left,.ag-ltr .ag-cell.ag-selection-fill-left.ag-cell-range-selected{border-left:1px dashed var(--ag-range-selection-border-color)!important}.ag-rtl .ag-cell.ag-selection-fill-left,.ag-rtl .ag-cell.ag-selection-fill-left.ag-cell-range-selected{border-right:1px dashed var(--ag-range-selection-border-color)!important}.ag-fill-handle,.ag-range-handle{position:absolute;width:6px;height:6px;bottom:-1px;background-color:var(--ag-range-selection-border-color)}.ag-ltr .ag-fill-handle,.ag-ltr .ag-range-handle{right:-1px}.ag-rtl .ag-fill-handle,.ag-rtl .ag-range-handle{left:-1px}.ag-fill-handle{cursor:cell}.ag-range-handle{cursor:nwse-resize}.ag-cell-inline-editing{border-color:var(--ag-input-focus-border-color)!important}.ag-menu{border:var(--ag-borders) var(--ag-border-color);background:var(--ag-background-color);border-radius:var(--ag-card-radius);box-shadow:var(--ag-card-shadow);padding:var(--ag-grid-size);background-color:var(--ag-menu-background-color);border-color:var(--ag-menu-border-color);padding:0}.ag-menu-list{cursor:default;padding:var(--ag-grid-size) 0}.ag-menu-separator{height:calc(var(--ag-grid-size) * 2 + 1px)}.ag-menu-separator-part:after{content:"";display:block;border-top:var(--ag-borders-critical) var(--ag-border-color)}.ag-menu-option-active,.ag-compact-menu-option-active{background-color:var(--ag-row-hover-color)}.ag-menu-option-part,.ag-compact-menu-option-part{line-height:var(--ag-icon-size);padding:calc(var(--ag-grid-size) + 2px) 0}.ag-menu-option-disabled,.ag-compact-menu-option-disabled{opacity:.5}.ag-menu-option-icon,.ag-compact-menu-option-icon{width:var(--ag-icon-size)}.ag-ltr .ag-menu-option-icon,.ag-ltr .ag-compact-menu-option-icon{padding-left:calc(var(--ag-grid-size) * 2)}.ag-rtl .ag-menu-option-icon,.ag-rtl .ag-compact-menu-option-icon{padding-right:calc(var(--ag-grid-size) * 2)}.ag-menu-option-text,.ag-compact-menu-option-text{padding-left:calc(var(--ag-grid-size) * 2);padding-right:calc(var(--ag-grid-size) * 2)}.ag-ltr .ag-menu-option-shortcut,.ag-ltr .ag-compact-menu-option-shortcut{padding-right:var(--ag-grid-size)}.ag-rtl .ag-menu-option-shortcut,.ag-rtl .ag-compact-menu-option-shortcut{padding-left:var(--ag-grid-size)}.ag-ltr .ag-menu-option-popup-pointer,.ag-ltr .ag-compact-menu-option-popup-pointer{padding-right:var(--ag-grid-size)}.ag-rtl .ag-menu-option-popup-pointer,.ag-rtl .ag-compact-menu-option-popup-pointer{padding-left:var(--ag-grid-size)}.ag-tabs{min-width:var(--ag-tab-min-width)}.ag-tabs-header{display:flex}.ag-tab{border-bottom:var(--ag-selected-tab-underline-width) solid transparent;transition:border-bottom var(--ag-selected-tab-underline-transition-speed);display:flex;flex:none;align-items:center;justify-content:center;cursor:pointer}.ag-tab:focus-visible{outline:none}.ag-tab:focus-visible:after{content:"";position:absolute;background-color:transparent;pointer-events:none;top:4px;left:4px;display:block;width:calc(100% - 8px);height:calc(100% - 8px);border:1px solid;border-color:var(--ag-input-focus-border-color)}.ag-tab-selected{border-bottom-color:var(--ag-selected-tab-underline-color)}.ag-menu-header{color:var(--ag-secondary-foreground-color)}.ag-filter-separator{border-top:var(--ag-borders-critical) var(--ag-border-color)}.ag-filter-select .ag-picker-field-wrapper{width:0}.ag-filter-condition-operator{height:17px}.ag-ltr .ag-filter-condition-operator-or{margin-left:calc(var(--ag-grid-size) * 2)}.ag-rtl .ag-filter-condition-operator-or{margin-right:calc(var(--ag-grid-size) * 2)}.ag-set-filter-select-all{padding-top:var(--ag-widget-container-vertical-padding)}.ag-set-filter-list,.ag-filter-no-matches{height:calc(var(--ag-list-item-height) * 6)}.ag-set-filter-tree-list{height:calc(var(--ag-list-item-height) * 10)}.ag-set-filter-filter{margin-top:var(--ag-widget-container-vertical-padding);margin-left:var(--ag-widget-container-horizontal-padding);margin-right:var(--ag-widget-container-horizontal-padding)}.ag-filter-to{margin-top:var(--ag-widget-vertical-spacing)}.ag-mini-filter{margin:var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding)}.ag-set-filter-item{padding:0px var(--ag-widget-container-horizontal-padding)}.ag-ltr .ag-set-filter-indent-1{padding-left:calc(var(--ag-widget-container-horizontal-padding) + 1 * var(--ag-set-filter-indent-size))}.ag-rtl .ag-set-filter-indent-1{padding-right:calc(var(--ag-widget-container-horizontal-padding) + 1 * var(--ag-set-filter-indent-size))}.ag-ltr .ag-set-filter-indent-2{padding-left:calc(var(--ag-widget-container-horizontal-padding) + 2 * var(--ag-set-filter-indent-size))}.ag-rtl .ag-set-filter-indent-2{padding-right:calc(var(--ag-widget-container-horizontal-padding) + 2 * var(--ag-set-filter-indent-size))}.ag-ltr .ag-set-filter-indent-3{padding-left:calc(var(--ag-widget-container-horizontal-padding) + 3 * var(--ag-set-filter-indent-size))}.ag-rtl .ag-set-filter-indent-3{padding-right:calc(var(--ag-widget-container-horizontal-padding) + 3 * var(--ag-set-filter-indent-size))}.ag-ltr .ag-set-filter-indent-4{padding-left:calc(var(--ag-widget-container-horizontal-padding) + 4 * var(--ag-set-filter-indent-size))}.ag-rtl .ag-set-filter-indent-4{padding-right:calc(var(--ag-widget-container-horizontal-padding) + 4 * var(--ag-set-filter-indent-size))}.ag-ltr .ag-set-filter-indent-5{padding-left:calc(var(--ag-widget-container-horizontal-padding) + 5 * var(--ag-set-filter-indent-size))}.ag-rtl .ag-set-filter-indent-5{padding-right:calc(var(--ag-widget-container-horizontal-padding) + 5 * var(--ag-set-filter-indent-size))}.ag-ltr .ag-set-filter-indent-6{padding-left:calc(var(--ag-widget-container-horizontal-padding) + 6 * var(--ag-set-filter-indent-size))}.ag-rtl .ag-set-filter-indent-6{padding-right:calc(var(--ag-widget-container-horizontal-padding) + 6 * var(--ag-set-filter-indent-size))}.ag-ltr .ag-set-filter-indent-7{padding-left:calc(var(--ag-widget-container-horizontal-padding) + 7 * var(--ag-set-filter-indent-size))}.ag-rtl .ag-set-filter-indent-7{padding-right:calc(var(--ag-widget-container-horizontal-padding) + 7 * var(--ag-set-filter-indent-size))}.ag-ltr .ag-set-filter-indent-8{padding-left:calc(var(--ag-widget-container-horizontal-padding) + 8 * var(--ag-set-filter-indent-size))}.ag-rtl .ag-set-filter-indent-8{padding-right:calc(var(--ag-widget-container-horizontal-padding) + 8 * var(--ag-set-filter-indent-size))}.ag-ltr .ag-set-filter-indent-9{padding-left:calc(var(--ag-widget-container-horizontal-padding) + 9 * var(--ag-set-filter-indent-size))}.ag-rtl .ag-set-filter-indent-9{padding-right:calc(var(--ag-widget-container-horizontal-padding) + 9 * var(--ag-set-filter-indent-size))}.ag-ltr .ag-set-filter-add-group-indent{margin-left:calc(var(--ag-icon-size) + var(--ag-widget-container-horizontal-padding))}.ag-rtl .ag-set-filter-add-group-indent{margin-right:calc(var(--ag-icon-size) + var(--ag-widget-container-horizontal-padding))}.ag-ltr .ag-set-filter-group-icons{margin-right:var(--ag-widget-container-horizontal-padding)}.ag-rtl .ag-set-filter-group-icons{margin-left:var(--ag-widget-container-horizontal-padding)}.ag-filter-menu .ag-set-filter-list{min-width:200px}.ag-filter-virtual-list-item:focus-visible{outline:none}.ag-filter-virtual-list-item:focus-visible:after{content:"";position:absolute;background-color:transparent;pointer-events:none;top:1px;left:1px;display:block;width:calc(100% - 2px);height:calc(100% - 2px);border:1px solid;border-color:var(--ag-input-focus-border-color)}.ag-filter-apply-panel{padding:var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding);border-top:var(--ag-borders-secondary) var(--ag-secondary-border-color)}.ag-filter-apply-panel-button{line-height:1.5}.ag-ltr .ag-filter-apply-panel-button{margin-left:calc(var(--ag-grid-size) * 2)}.ag-rtl .ag-filter-apply-panel-button{margin-right:calc(var(--ag-grid-size) * 2)}.ag-simple-filter-body-wrapper{padding:var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding);padding-bottom:calc(var(--ag-widget-container-vertical-padding) - var(--ag-widget-vertical-spacing));overflow-y:auto;min-height:calc(var(--ag-list-item-height) + var(--ag-widget-container-vertical-padding) + var(--ag-widget-vertical-spacing))}.ag-simple-filter-body-wrapper>*{margin-bottom:var(--ag-widget-vertical-spacing)}.ag-simple-filter-body-wrapper .ag-resizer-wrapper{margin:0}.ag-menu:not(.ag-tabs) .ag-filter .ag-simple-filter-body-wrapper,.ag-menu:not(.ag-tabs) .ag-filter>*:not(.ag-filter-wrapper){min-width:calc(var(--ag-menu-min-width) - 2px)}.ag-filter-no-matches{padding:var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding)}.ag-multi-filter-menu-item{margin:var(--ag-grid-size) 0}.ag-multi-filter-group-title-bar{padding:calc(var(--ag-grid-size) * 2) var(--ag-grid-size);background-color:transparent}.ag-group-filter-field-select-wrapper{padding:var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding);padding-bottom:calc(var(--ag-widget-container-vertical-padding) - var(--ag-widget-vertical-spacing))}.ag-group-filter-field-select-wrapper>*{margin-bottom:var(--ag-widget-vertical-spacing)}.ag-multi-filter-group-title-bar:focus-visible{outline:none}.ag-multi-filter-group-title-bar:focus-visible:after{content:"";position:absolute;background-color:transparent;pointer-events:none;top:4px;left:4px;display:block;width:calc(100% - 8px);height:calc(100% - 8px);border:1px solid;border-color:var(--ag-input-focus-border-color)}.ag-side-bar{position:relative}.ag-tool-panel-wrapper{width:var(--ag-side-bar-panel-width);background-color:var(--ag-control-panel-background-color)}.ag-side-buttons{padding-top:calc(var(--ag-grid-size) * 4);width:calc(var(--ag-icon-size) + 4px);position:relative;overflow:hidden}button.ag-side-button-button{color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;background:transparent;padding:calc(var(--ag-grid-size) * 2) 0 calc(var(--ag-grid-size) * 2) 0;width:100%;margin:0;min-height:calc(var(--ag-grid-size) * 18);background-position-y:center;background-position-x:center;background-repeat:no-repeat;border:none;border-top:var(--ag-borders-side-button) var(--ag-border-color);border-bottom:var(--ag-borders-side-button) var(--ag-border-color)}button.ag-side-button-button:focus{box-shadow:none}.ag-side-button-button:focus-visible{outline:none}.ag-side-button-button:focus-visible:after{content:"";position:absolute;background-color:transparent;pointer-events:none;top:4px;left:4px;display:block;width:calc(100% - 8px);height:calc(100% - 8px);border:1px solid;border-color:var(--ag-input-focus-border-color)}.ag-selected button.ag-side-button-button{background-color:var(--ag-side-button-selected-background-color)}.ag-side-button-icon-wrapper{margin-bottom:3px}.ag-ltr .ag-side-bar-left,.ag-rtl .ag-side-bar-right{border-right:var(--ag-borders) var(--ag-border-color)}.ag-ltr .ag-side-bar-left .ag-tool-panel-wrapper,.ag-rtl .ag-side-bar-right .ag-tool-panel-wrapper{border-left:var(--ag-borders) var(--ag-border-color)}.ag-ltr .ag-side-bar-left .ag-side-button-button,.ag-rtl .ag-side-bar-right .ag-side-button-button{border-right:var(--ag-selected-tab-underline-width) solid transparent;transition:border-right var(--ag-selected-tab-underline-transition-speed)}.ag-ltr .ag-side-bar-left .ag-selected .ag-side-button-button,.ag-rtl .ag-side-bar-right .ag-selected .ag-side-button-button{border-right-color:var(--ag-selected-tab-underline-color)}.ag-rtl .ag-side-bar-left,.ag-ltr .ag-side-bar-right{border-left:var(--ag-borders) var(--ag-border-color)}.ag-rtl .ag-side-bar-left .ag-tool-panel-wrapper,.ag-ltr .ag-side-bar-right .ag-tool-panel-wrapper{border-right:var(--ag-borders) var(--ag-border-color)}.ag-rtl .ag-side-bar-left .ag-side-button-button,.ag-ltr .ag-side-bar-right .ag-side-button-button{border-left:var(--ag-selected-tab-underline-width) solid transparent;transition:border-left var(--ag-selected-tab-underline-transition-speed)}.ag-rtl .ag-side-bar-left .ag-selected .ag-side-button-button,.ag-ltr .ag-side-bar-right .ag-selected .ag-side-button-button{border-left-color:var(--ag-selected-tab-underline-color)}.ag-filter-toolpanel-header{height:calc(var(--ag-grid-size) * 6)}.ag-filter-toolpanel-header,.ag-filter-toolpanel-search{padding:0 var(--ag-grid-size)}.ag-filter-toolpanel-header:focus-visible{outline:none}.ag-filter-toolpanel-header:focus-visible:after{content:"";position:absolute;background-color:transparent;pointer-events:none;top:4px;left:4px;display:block;width:calc(100% - 8px);height:calc(100% - 8px);border:1px solid;border-color:var(--ag-input-focus-border-color)}.ag-filter-toolpanel-group.ag-has-filter>.ag-group-title-bar .ag-group-title:after{font-family:var(--ag-icon-font-family);font-weight:var(--ag-icon-font-weight);color:var(--ag-icon-font-color);font-size:var(--ag-icon-size);line-height:var(--ag-icon-size);font-style:normal;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:var(--ag-icon-font-code-filter, "");position:absolute}.ag-ltr .ag-filter-toolpanel-group.ag-has-filter>.ag-group-title-bar .ag-group-title:after{padding-left:var(--ag-grid-size)}.ag-rtl .ag-filter-toolpanel-group.ag-has-filter>.ag-group-title-bar .ag-group-title:after{padding-right:var(--ag-grid-size)}.ag-filter-toolpanel-group-level-0-header{height:calc(var(--ag-grid-size) * 8)}.ag-filter-toolpanel-group-item{margin-top:calc(var(--ag-grid-size) * .5);margin-bottom:calc(var(--ag-grid-size) * .5)}.ag-filter-toolpanel-search{height:var(--ag-header-height)}.ag-filter-toolpanel-search-input{flex-grow:1;height:calc(var(--ag-grid-size) * 4)}.ag-ltr .ag-filter-toolpanel-search-input{margin-right:var(--ag-grid-size)}.ag-rtl .ag-filter-toolpanel-search-input{margin-left:var(--ag-grid-size)}.ag-filter-toolpanel-group-level-0{border-top:var(--ag-borders-secondary) var(--ag-secondary-border-color)}.ag-ltr .ag-filter-toolpanel-expand,.ag-ltr .ag-filter-toolpanel-group-title-bar-icon{margin-right:var(--ag-grid-size)}.ag-rtl .ag-filter-toolpanel-expand,.ag-rtl .ag-filter-toolpanel-group-title-bar-icon{margin-left:var(--ag-grid-size)}.ag-filter-toolpanel-group-level-1 .ag-filter-toolpanel-group-level-1-header.ag-filter-toolpanel-group-title-bar{background-color:transparent}.ag-ltr .ag-filter-toolpanel-group-level-1 .ag-filter-toolpanel-group-level-2-header{padding-left:calc(var(--ag-filter-tool-panel-group-indent) * 1 + var(--ag-grid-size))}.ag-rtl .ag-filter-toolpanel-group-level-1 .ag-filter-toolpanel-group-level-2-header{padding-right:calc(var(--ag-filter-tool-panel-group-indent) * 1 + var(--ag-grid-size))}.ag-filter-toolpanel-group-level-2 .ag-filter-toolpanel-group-level-2-header.ag-filter-toolpanel-group-title-bar{background-color:transparent}.ag-ltr .ag-filter-toolpanel-group-level-2 .ag-filter-toolpanel-group-level-3-header{padding-left:calc(var(--ag-filter-tool-panel-group-indent) * 2 + var(--ag-grid-size))}.ag-rtl .ag-filter-toolpanel-group-level-2 .ag-filter-toolpanel-group-level-3-header{padding-right:calc(var(--ag-filter-tool-panel-group-indent) * 2 + var(--ag-grid-size))}.ag-filter-toolpanel-group-level-3 .ag-filter-toolpanel-group-level-3-header.ag-filter-toolpanel-group-title-bar{background-color:transparent}.ag-ltr .ag-filter-toolpanel-group-level-3 .ag-filter-toolpanel-group-level-4-header{padding-left:calc(var(--ag-filter-tool-panel-group-indent) * 3 + var(--ag-grid-size))}.ag-rtl .ag-filter-toolpanel-group-level-3 .ag-filter-toolpanel-group-level-4-header{padding-right:calc(var(--ag-filter-tool-panel-group-indent) * 3 + var(--ag-grid-size))}.ag-filter-toolpanel-group-level-4 .ag-filter-toolpanel-group-level-4-header.ag-filter-toolpanel-group-title-bar{background-color:transparent}.ag-ltr .ag-filter-toolpanel-group-level-4 .ag-filter-toolpanel-group-level-5-header{padding-left:calc(var(--ag-filter-tool-panel-group-indent) * 4 + var(--ag-grid-size))}.ag-rtl .ag-filter-toolpanel-group-level-4 .ag-filter-toolpanel-group-level-5-header{padding-right:calc(var(--ag-filter-tool-panel-group-indent) * 4 + var(--ag-grid-size))}.ag-filter-toolpanel-group-level-5 .ag-filter-toolpanel-group-level-5-header.ag-filter-toolpanel-group-title-bar{background-color:transparent}.ag-ltr .ag-filter-toolpanel-group-level-5 .ag-filter-toolpanel-group-level-6-header{padding-left:calc(var(--ag-filter-tool-panel-group-indent) * 5 + var(--ag-grid-size))}.ag-rtl .ag-filter-toolpanel-group-level-5 .ag-filter-toolpanel-group-level-6-header{padding-right:calc(var(--ag-filter-tool-panel-group-indent) * 5 + var(--ag-grid-size))}.ag-filter-toolpanel-group-level-6 .ag-filter-toolpanel-group-level-6-header.ag-filter-toolpanel-group-title-bar{background-color:transparent}.ag-ltr .ag-filter-toolpanel-group-level-6 .ag-filter-toolpanel-group-level-7-header{padding-left:calc(var(--ag-filter-tool-panel-group-indent) * 6 + var(--ag-grid-size))}.ag-rtl .ag-filter-toolpanel-group-level-6 .ag-filter-toolpanel-group-level-7-header{padding-right:calc(var(--ag-filter-tool-panel-group-indent) * 6 + var(--ag-grid-size))}.ag-filter-toolpanel-group-level-7 .ag-filter-toolpanel-group-level-7-header.ag-filter-toolpanel-group-title-bar{background-color:transparent}.ag-ltr .ag-filter-toolpanel-group-level-7 .ag-filter-toolpanel-group-level-8-header{padding-left:calc(var(--ag-filter-tool-panel-group-indent) * 7 + var(--ag-grid-size))}.ag-rtl .ag-filter-toolpanel-group-level-7 .ag-filter-toolpanel-group-level-8-header{padding-right:calc(var(--ag-filter-tool-panel-group-indent) * 7 + var(--ag-grid-size))}.ag-filter-toolpanel-group-level-8 .ag-filter-toolpanel-group-level-8-header.ag-filter-toolpanel-group-title-bar{background-color:transparent}.ag-ltr .ag-filter-toolpanel-group-level-8 .ag-filter-toolpanel-group-level-9-header{padding-left:calc(var(--ag-filter-tool-panel-group-indent) * 8 + var(--ag-grid-size))}.ag-rtl .ag-filter-toolpanel-group-level-8 .ag-filter-toolpanel-group-level-9-header{padding-right:calc(var(--ag-filter-tool-panel-group-indent) * 8 + var(--ag-grid-size))}.ag-filter-toolpanel-group-level-9 .ag-filter-toolpanel-group-level-9-header.ag-filter-toolpanel-group-title-bar{background-color:transparent}.ag-ltr .ag-filter-toolpanel-group-level-9 .ag-filter-toolpanel-group-level-10-header{padding-left:calc(var(--ag-filter-tool-panel-group-indent) * 9 + var(--ag-grid-size))}.ag-rtl .ag-filter-toolpanel-group-level-9 .ag-filter-toolpanel-group-level-10-header{padding-right:calc(var(--ag-filter-tool-panel-group-indent) * 9 + var(--ag-grid-size))}.ag-filter-toolpanel-group-level-10 .ag-filter-toolpanel-group-level-10-header.ag-filter-toolpanel-group-title-bar{background-color:transparent}.ag-ltr .ag-filter-toolpanel-group-level-10 .ag-filter-toolpanel-group-level-11-header{padding-left:calc(var(--ag-filter-tool-panel-group-indent) * 10 + var(--ag-grid-size))}.ag-rtl .ag-filter-toolpanel-group-level-10 .ag-filter-toolpanel-group-level-11-header{padding-right:calc(var(--ag-filter-tool-panel-group-indent) * 10 + var(--ag-grid-size))}.ag-filter-toolpanel-instance-header.ag-filter-toolpanel-group-level-1-header{padding-left:var(--ag-grid-size)}.ag-filter-toolpanel-instance-filter{border-bottom:var(--ag-borders) var(--ag-border-color);border-top:var(--ag-borders) var(--ag-border-color);margin-top:var(--ag-grid-size)}.ag-ltr .ag-filter-toolpanel-instance-header-icon{margin-left:var(--ag-grid-size)}.ag-rtl .ag-filter-toolpanel-instance-header-icon{margin-right:var(--ag-grid-size)}.ag-set-filter-group-icons{color:var(--ag-secondary-foreground-color)}.ag-pivot-mode-panel{min-height:var(--ag-header-height);height:var(--ag-header-height);display:flex}.ag-pivot-mode-select{display:flex;align-items:center}.ag-ltr .ag-pivot-mode-select{margin-left:var(--ag-widget-container-horizontal-padding)}.ag-rtl .ag-pivot-mode-select{margin-right:var(--ag-widget-container-horizontal-padding)}.ag-column-select-header:focus-visible{outline:none}.ag-column-select-header:focus-visible:after{content:"";position:absolute;background-color:transparent;pointer-events:none;top:4px;left:4px;display:block;width:calc(100% - 8px);height:calc(100% - 8px);border:1px solid;border-color:var(--ag-input-focus-border-color)}.ag-column-select-header{height:var(--ag-header-height);align-items:center;padding:0 var(--ag-widget-container-horizontal-padding);border-bottom:var(--ag-borders-secondary) var(--ag-secondary-border-color)}.ag-column-panel-column-select{border-bottom:var(--ag-borders-secondary) var(--ag-secondary-border-color);border-top:var(--ag-borders-secondary) var(--ag-secondary-border-color)}.ag-column-group-icons,.ag-column-select-header-icon{color:var(--ag-secondary-foreground-color)}.ag-column-select-list .ag-list-item-hovered:after{content:"";position:absolute;left:0;right:0;height:1px;background-color:var(--ag-range-selection-border-color)}.ag-column-select-list .ag-item-highlight-top:after{top:0}.ag-column-select-list .ag-item-highlight-bottom:after{bottom:0}.ag-header,.ag-advanced-filter-header{background-color:var(--ag-header-background-color);border-bottom:var(--ag-borders-critical) var(--ag-border-color)}.ag-header-row{color:var(--ag-header-foreground-color);height:var(--ag-header-height)}.ag-pinned-right-header{border-left:var(--ag-borders-critical) var(--ag-border-color)}.ag-pinned-left-header{border-right:var(--ag-borders-critical) var(--ag-border-color)}.ag-ltr .ag-header-cell:not(.ag-right-aligned-header) .ag-header-label-icon,.ag-ltr .ag-header-cell:not(.ag-right-aligned-header) .ag-header-menu-icon{margin-left:var(--ag-grid-size)}.ag-rtl .ag-header-cell:not(.ag-right-aligned-header) .ag-header-label-icon,.ag-rtl .ag-header-cell:not(.ag-right-aligned-header) .ag-header-menu-icon{margin-right:var(--ag-grid-size)}.ag-ltr .ag-header-cell.ag-right-aligned-header .ag-header-label-icon,.ag-ltr .ag-header-cell.ag-right-aligned-header .ag-header-menu-icon{margin-right:var(--ag-grid-size)}.ag-rtl .ag-header-cell.ag-right-aligned-header .ag-header-label-icon,.ag-rtl .ag-header-cell.ag-right-aligned-header .ag-header-menu-icon{margin-left:var(--ag-grid-size)}.ag-header-cell,.ag-header-group-cell{padding-left:var(--ag-cell-horizontal-padding);padding-right:var(--ag-cell-horizontal-padding)}.ag-header-cell.ag-header-cell-moving,.ag-header-group-cell.ag-header-cell-moving{background-color:var(--ag-header-cell-moving-background-color)}.ag-ltr .ag-header-group-cell-label.ag-sticky-label{left:var(--ag-cell-horizontal-padding)}.ag-rtl .ag-header-group-cell-label.ag-sticky-label{right:var(--ag-cell-horizontal-padding)}.ag-header-cell:focus-visible{outline:none}.ag-header-cell:focus-visible:after{content:"";position:absolute;background-color:transparent;pointer-events:none;top:4px;left:4px;display:block;width:calc(100% - 8px);height:calc(100% - 8px);border:1px solid;border-color:var(--ag-input-focus-border-color)}.ag-header-group-cell:focus-visible{outline:none}.ag-header-group-cell:focus-visible:after{content:"";position:absolute;background-color:transparent;pointer-events:none;top:4px;left:4px;display:block;width:calc(100% - 8px);height:calc(100% - 8px);border:1px solid;border-color:var(--ag-input-focus-border-color)}.ag-advanced-filter-header-cell:focus-visible{outline:none}.ag-advanced-filter-header-cell:focus-visible:after{content:"";position:absolute;background-color:transparent;pointer-events:none;top:4px;left:4px;display:block;width:calc(100% - 8px);height:calc(100% - 8px);border:1px solid;border-color:var(--ag-input-focus-border-color)}.ag-header-icon{color:var(--ag-secondary-foreground-color)}.ag-header-expand-icon{cursor:pointer}.ag-ltr .ag-header-expand-icon{margin-left:4px}.ag-rtl .ag-header-expand-icon{margin-right:4px}.ag-header-row:not(:first-child) .ag-header-cell:not(.ag-header-span-height.ag-header-span-total),.ag-header-row:not(:first-child) .ag-header-group-cell.ag-header-group-cell-with-group{border-top:var(--ag-borders-critical) var(--ag-border-color)}.ag-header-group-cell:not(.ag-column-resizing)+.ag-header-group-cell:not(.ag-column-hover):not(.ag-header-cell-moving):hover,.ag-header-group-cell:not(.ag-column-resizing)+.ag-header-group-cell:not(.ag-column-hover).ag-column-resizing,.ag-header-cell:not(.ag-column-resizing)+.ag-header-cell:not(.ag-column-hover):not(.ag-header-cell-moving):hover,.ag-header-cell:not(.ag-column-resizing)+.ag-header-cell:not(.ag-column-hover).ag-column-resizing,.ag-header-group-cell:first-of-type:not(.ag-header-cell-moving):hover,.ag-header-group-cell:first-of-type.ag-column-resizing,.ag-header-cell:not(.ag-column-hover):first-of-type:not(.ag-header-cell-moving):hover,.ag-header-cell:not(.ag-column-hover):first-of-type.ag-column-resizing{background-color:var(--ag-header-cell-hover-background-color)}.ag-header-cell:before,.ag-header-group-cell:not(.ag-header-span-height.ag-header-group-cell-no-group):before{content:"";position:absolute;z-index:1;display:var(--ag-header-column-separator-display);width:var(--ag-header-column-separator-width);height:var(--ag-header-column-separator-height);top:calc(50% - var(--ag-header-column-separator-height) * .5);background-color:var(--ag-header-column-separator-color)}.ag-ltr .ag-header-cell:before,.ag-ltr .ag-header-group-cell:not(.ag-header-span-height.ag-header-group-cell-no-group):before{right:0}.ag-rtl .ag-header-cell:before,.ag-rtl .ag-header-group-cell:not(.ag-header-span-height.ag-header-group-cell-no-group):before{left:0}.ag-header-cell-resize{display:flex;align-items:center}.ag-header-cell-resize:after{content:"";position:absolute;z-index:1;display:var(--ag-header-column-resize-handle-display);width:var(--ag-header-column-resize-handle-width);height:var(--ag-header-column-resize-handle-height);top:calc(50% - var(--ag-header-column-resize-handle-height) * .5);background-color:var(--ag-header-column-resize-handle-color)}.ag-header-cell.ag-header-span-height .ag-header-cell-resize:after{height:calc(100% - var(--ag-grid-size) * 4);top:calc(var(--ag-grid-size) * 2)}.ag-ltr .ag-header-viewport .ag-header-cell-resize:after{left:calc(50% - var(--ag-header-column-resize-handle-width))}.ag-rtl .ag-header-viewport .ag-header-cell-resize:after{right:calc(50% - var(--ag-header-column-resize-handle-width))}.ag-pinned-left-header .ag-header-cell-resize:after{left:calc(50% - var(--ag-header-column-resize-handle-width))}.ag-pinned-right-header .ag-header-cell-resize:after{left:50%}.ag-ltr .ag-header-select-all{margin-right:var(--ag-cell-horizontal-padding)}.ag-rtl .ag-header-select-all{margin-left:var(--ag-cell-horizontal-padding)}.ag-ltr .ag-floating-filter-button{margin-left:var(--ag-cell-widget-spacing)}.ag-rtl .ag-floating-filter-button{margin-right:var(--ag-cell-widget-spacing)}.ag-floating-filter-button-button{color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;height:var(--ag-icon-size);padding:0;width:var(--ag-icon-size)}.ag-filter-loading{background-color:var(--ag-control-panel-background-color);height:100%;padding:var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding);position:absolute;width:100%;z-index:1}.ag-paging-panel{border-top:1px solid;border-top-color:var(--ag-border-color);color:var(--ag-secondary-foreground-color);height:var(--ag-header-height)}.ag-paging-panel>*{margin:0 var(--ag-cell-horizontal-padding)}.ag-paging-panel>.ag-paging-page-size .ag-wrapper{min-width:calc(var(--ag-grid-size) * 10)}.ag-paging-button{cursor:pointer}.ag-paging-button.ag-disabled{cursor:default;color:var(--ag-disabled-foreground-color)}.ag-paging-button:focus-visible{outline:none}.ag-paging-button:focus-visible:after{content:"";position:absolute;background-color:transparent;pointer-events:none;top:0;left:0;display:block;width:calc(100% + -0px);height:calc(100% + -0px);border:1px solid;border-color:var(--ag-input-focus-border-color)}.ag-paging-button,.ag-paging-description{margin:0 var(--ag-grid-size)}.ag-status-bar{border-top:var(--ag-borders) var(--ag-border-color);color:var(--ag-disabled-foreground-color);padding-right:calc(var(--ag-grid-size) * 4);padding-left:calc(var(--ag-grid-size) * 4);line-height:1.5}.ag-status-name-value-value{color:var(--ag-foreground-color)}.ag-status-bar-center{text-align:center}.ag-status-name-value{margin-left:var(--ag-grid-size);margin-right:var(--ag-grid-size);padding-top:calc(var(--ag-grid-size) * 2);padding-bottom:calc(var(--ag-grid-size) * 2)}.ag-column-drop-cell{background:var(--ag-chip-background-color);border-radius:calc(var(--ag-grid-size) * 4);height:calc(var(--ag-grid-size) * 4);padding:0 calc(var(--ag-grid-size) * .5);border:1px solid var(--ag-chip-border-color)}.ag-column-drop-cell:focus-visible{outline:none}.ag-column-drop-cell:focus-visible:after{content:"";position:absolute;background-color:transparent;pointer-events:none;top:2px;left:2px;display:block;width:calc(100% - 4px);height:calc(100% - 4px);border:1px solid;border-color:var(--ag-input-focus-border-color)}.ag-column-drop-cell-text{margin:0 var(--ag-grid-size)}.ag-column-drop-cell-button{min-width:calc(var(--ag-grid-size) * 4);margin:0 calc(var(--ag-grid-size) * .5);color:var(--ag-secondary-foreground-color)}.ag-column-drop-cell-drag-handle{margin-left:calc(var(--ag-grid-size) * 2)}.ag-column-drop-cell-ghost{opacity:.5}.ag-column-drop-horizontal{background-color:var(--ag-header-background-color);color:var(--ag-secondary-foreground-color);height:var(--ag-header-height);border-bottom:var(--ag-borders) var(--ag-border-color)}.ag-ltr .ag-column-drop-horizontal{padding-left:var(--ag-cell-horizontal-padding)}.ag-rtl .ag-column-drop-horizontal{padding-right:var(--ag-cell-horizontal-padding)}.ag-ltr .ag-column-drop-horizontal-half-width:not(:last-child){border-right:var(--ag-borders) var(--ag-border-color)}.ag-rtl .ag-column-drop-horizontal-half-width:not(:last-child){border-left:var(--ag-borders) var(--ag-border-color)}.ag-column-drop-horizontal-cell-separator{margin:0 var(--ag-grid-size);color:var(--ag-secondary-foreground-color)}.ag-column-drop-horizontal-empty-message{color:var(--ag-disabled-foreground-color)}.ag-ltr .ag-column-drop-horizontal-icon{margin-right:var(--ag-cell-horizontal-padding)}.ag-rtl .ag-column-drop-horizontal-icon{margin-left:var(--ag-cell-horizontal-padding)}.ag-column-drop-vertical-list{padding-bottom:var(--ag-grid-size);padding-right:var(--ag-grid-size);padding-left:var(--ag-grid-size)}.ag-column-drop-vertical-cell{margin-top:var(--ag-grid-size)}.ag-column-drop-vertical{min-height:50px;border-bottom:var(--ag-borders-secondary) var(--ag-secondary-border-color)}.ag-column-drop-vertical.ag-last-column-drop{border-bottom:none}.ag-column-drop-vertical-icon{margin-left:var(--ag-grid-size);margin-right:var(--ag-grid-size)}.ag-column-drop-vertical-empty-message{position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden;color:var(--ag-disabled-foreground-color);margin-top:var(--ag-grid-size)}.ag-select-agg-func-popup{border:var(--ag-borders) var(--ag-border-color);border-radius:var(--ag-card-radius);box-shadow:var(--ag-card-shadow);padding:var(--ag-grid-size);background:var(--ag-background-color);height:calc(var(--ag-grid-size) * 5 * 3.5);padding:0}.ag-select-agg-func-virtual-list-item{cursor:default}.ag-ltr .ag-select-agg-func-virtual-list-item{padding-left:calc(var(--ag-grid-size) * 2)}.ag-rtl .ag-select-agg-func-virtual-list-item{padding-right:calc(var(--ag-grid-size) * 2)}.ag-select-agg-func-virtual-list-item:hover{background-color:var(--ag-selected-row-background-color)}.ag-select-agg-func-virtual-list-item:focus-visible{outline:none}.ag-select-agg-func-virtual-list-item:focus-visible:after{content:"";position:absolute;background-color:transparent;pointer-events:none;top:1px;left:1px;display:block;width:calc(100% - 2px);height:calc(100% - 2px);border:1px solid;border-color:var(--ag-input-focus-border-color)}.ag-sort-indicator-container{display:flex}.ag-ltr .ag-sort-indicator-icon{padding-left:var(--ag-grid-size)}.ag-rtl .ag-sort-indicator-icon{padding-right:var(--ag-grid-size)}.ag-chart{position:relative;display:flex;overflow:hidden;width:100%;height:100%}.ag-chart-components-wrapper{position:relative;display:flex;flex:1 1 auto;overflow:hidden}.ag-chart-title-edit{position:absolute;display:none;top:0;left:0;text-align:center}.ag-chart-title-edit.currently-editing{display:inline-block}.ag-chart-canvas-wrapper{position:relative;flex:1 1 auto;overflow:hidden}.ag-charts-canvas{display:block}.ag-chart-menu{position:absolute;top:16px;display:flex;flex-direction:column}.ag-ltr .ag-chart-menu{right:20px}.ag-rtl .ag-chart-menu{left:20px}.ag-chart-docked-container{position:relative;width:0;min-width:0;transition:min-width .4s}.ag-chart-menu-hidden~.ag-chart-docked-container{max-width:0;overflow:hidden}.ag-chart-tabbed-menu{width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden}.ag-chart-tabbed-menu-header{flex:none;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.ag-chart-tabbed-menu-body{display:flex;flex:1 1 auto;align-items:stretch;overflow:hidden}.ag-chart-tab{width:100%;overflow:hidden;overflow-y:auto}.ag-chart-settings{overflow-x:hidden}.ag-chart-settings-wrapper{position:relative;flex-direction:column;width:100%;height:100%;display:flex;overflow:hidden}.ag-chart-settings-nav-bar{display:flex;align-items:center;width:100%;height:30px;padding:0 10px;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.ag-chart-settings-card-selector{display:flex;align-items:center;justify-content:space-around;flex:1 1 auto;height:100%;padding:0 10px}.ag-chart-settings-card-item{cursor:pointer;width:10px;height:10px;background-color:#000;position:relative}.ag-chart-settings-card-item.ag-not-selected{opacity:.2}.ag-chart-settings-card-item:before{content:" ";display:block;position:absolute;background-color:transparent;left:50%;top:50%;margin-left:-10px;margin-top:-10px;width:20px;height:20px}.ag-chart-settings-prev,.ag-chart-settings-next{position:relative;flex:none}.ag-chart-settings-prev-button,.ag-chart-settings-next-button{position:absolute;top:0;left:0;width:100%;height:100%;cursor:pointer;opacity:0}.ag-chart-settings-mini-charts-container{position:relative;flex:1 1 auto;overflow-x:hidden;overflow-y:auto}.ag-chart-settings-mini-wrapper{position:absolute;top:0;left:0;display:flex;flex-direction:column;width:100%;min-height:100%;overflow:hidden}.ag-chart-settings-mini-wrapper.ag-animating{transition:left .3s;transition-timing-function:ease-in-out}.ag-chart-mini-thumbnail{cursor:pointer}.ag-chart-mini-thumbnail-canvas{display:block}.ag-chart-data-wrapper,.ag-chart-format-wrapper{display:flex;flex-direction:column;position:relative;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none;padding-bottom:16px}.ag-chart-data-wrapper{height:100%;overflow-y:auto}.ag-chart-empty-text{display:flex;top:0;width:100%;height:100%;align-items:center;justify-content:center;background-color:var(--ag-background-color)}.ag-chart .ag-chart-menu{display:none}.ag-chart-menu-hidden:hover .ag-chart-menu{display:block}.ag-chart .ag-chart-tool-panel-button-enable .ag-chart-menu{display:flex;flex-direction:row;top:8px;gap:20px;width:auto}.ag-ltr .ag-chart .ag-chart-tool-panel-button-enable .ag-chart-menu{right:calc(var(--ag-cell-horizontal-padding) + var(--ag-grid-size) - 4px);justify-content:right}.ag-rtl .ag-chart .ag-chart-tool-panel-button-enable .ag-chart-menu{left:calc(var(--ag-cell-horizontal-padding) + var(--ag-grid-size) - 4px);justify-content:left}.ag-chart-menu-close{display:none}.ag-chart-tool-panel-button-enable .ag-chart-menu-close{position:absolute;top:50%;transition:transform .33s ease-in-out;padding:0;display:block;cursor:pointer;border:none}.ag-ltr .ag-chart-tool-panel-button-enable .ag-chart-menu-close{right:0}.ag-rtl .ag-chart-tool-panel-button-enable .ag-chart-menu-close{left:0}.ag-chart-tool-panel-button-enable .ag-chart-menu-close .ag-icon{padding:14px 5px 14px 2px;width:auto;height:auto}.ag-chart-tool-panel-button-enable .ag-chart-menu-close:before{content:"";position:absolute;top:-40px;bottom:-40px}.ag-ltr .ag-chart-tool-panel-button-enable .ag-chart-menu-close:before{right:0}.ag-rtl .ag-chart-tool-panel-button-enable .ag-chart-menu-close:before{left:0}.ag-ltr .ag-chart-tool-panel-button-enable .ag-chart-menu-close:before{left:-10px}.ag-rtl .ag-chart-tool-panel-button-enable .ag-chart-menu-close:before{right:-10px}.ag-chart-tool-panel-button-enable .ag-icon-menu{display:none}.ag-ltr .ag-chart-tool-panel-button-enable .ag-chart-menu-close{transform:translate(3px,-50%)}.ag-ltr .ag-chart-tool-panel-button-enable .ag-chart-menu-close:hover{transform:translateY(-50%)}.ag-ltr .ag-chart-menu-visible .ag-chart-tool-panel-button-enable .ag-chart-menu-close:hover{transform:translate(5px,-50%)}.ag-rtl .ag-chart-tool-panel-button-enable .ag-chart-menu-close{transform:translate(-3px,-50%)}.ag-rtl .ag-chart-tool-panel-button-enable .ag-chart-menu-close:hover{transform:translateY(-50%)}.ag-rtl .ag-chart-menu-visible .ag-chart-tool-panel-button-enable .ag-chart-menu-close:hover{transform:translate(-5px,-50%)}.ag-charts-font-size-color{display:flex;align-self:stretch;justify-content:space-between}.ag-charts-data-group-item{position:relative}.ag-chart-menu{border-radius:var(--ag-card-radius);background:var(--ag-background-color)}.ag-chart-menu-icon{opacity:.5;margin:2px 0;cursor:pointer;border-radius:var(--ag-card-radius);color:var(--ag-secondary-foreground-color)}.ag-chart-menu-icon:hover{opacity:1}.ag-chart-mini-thumbnail{border:1px solid var(--ag-secondary-border-color);border-radius:5px}.ag-chart-mini-thumbnail.ag-selected{border-color:var(--ag-minichart-selected-chart-color)}.ag-chart-settings-card-item{background:var(--ag-foreground-color);width:8px;height:8px;border-radius:4px}.ag-chart-settings-card-item.ag-selected{background-color:var(--ag-minichart-selected-page-color)}.ag-chart-data-column-drag-handle{margin-left:var(--ag-grid-size)}.ag-charts-settings-group-title-bar,.ag-charts-data-group-title-bar,.ag-charts-format-top-level-group-title-bar{border-top:var(--ag-borders-secondary) var(--ag-secondary-border-color)}.ag-charts-data-group-container{padding:calc(var(--ag-widget-container-vertical-padding) * .5) var(--ag-widget-container-horizontal-padding)}.ag-charts-data-group-container .ag-charts-data-group-item:not(.ag-charts-format-sub-level-group){height:var(--ag-list-item-height)}.ag-charts-data-group-container .ag-list-item-hovered:after{content:"";position:absolute;left:0;right:0;height:1px;background-color:var(--ag-range-selection-border-color)}.ag-charts-data-group-container .ag-item-highlight-top:after{top:0}.ag-charts-data-group-container .ag-item-highlight-bottom:after{bottom:0}.ag-charts-format-top-level-group-container{margin-left:calc(var(--ag-grid-size) * 2);padding:var(--ag-grid-size)}.ag-charts-format-top-level-group-item{margin:var(--ag-grid-size) 0}.ag-charts-format-sub-level-group-container{padding:var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding);padding-bottom:calc(var(--ag-widget-container-vertical-padding) - var(--ag-widget-vertical-spacing))}.ag-charts-format-sub-level-group-container>*{margin-bottom:var(--ag-widget-vertical-spacing)}.ag-charts-settings-group-container{padding:var(--ag-grid-size);row-gap:8px;display:grid;grid-template-columns:60px 1fr 60px 1fr 60px}.ag-charts-settings-group-container .ag-chart-mini-thumbnail:nth-child(3n+1){grid-column:1}.ag-charts-settings-group-container .ag-chart-mini-thumbnail:nth-child(3n+2){grid-column:3}.ag-charts-settings-group-container .ag-chart-mini-thumbnail:nth-child(3n+3){grid-column:5}.ag-chart-data-section,.ag-chart-format-section{display:flex;margin:0}.ag-chart-menu-panel{background-color:var(--ag-control-panel-background-color)}.ag-ltr .ag-chart-menu-panel{border-left:solid 1px var(--ag-border-color)}.ag-rtl .ag-chart-menu-panel{border-right:solid 1px var(--ag-border-color)}.ag-date-time-list-page-title-bar{display:flex}.ag-date-time-list-page-title{flex-grow:1;text-align:center}.ag-date-time-list-page-column-labels-row,.ag-date-time-list-page-entries-row{display:flex}.ag-date-time-list-page-column-label,.ag-date-time-list-page-entry{flex-basis:0;flex-grow:1}.ag-date-time-list-page-entry{cursor:pointer;text-align:center}.ag-date-time-list-page-column-label{text-align:center}.ag-advanced-filter-header{position:relative;display:flex;align-items:center;padding-left:var(--ag-cell-horizontal-padding);padding-right:var(--ag-cell-horizontal-padding)}.ag-advanced-filter{display:flex;align-items:center;width:100%}.ag-advanced-filter-apply-button,.ag-advanced-filter-builder-button{line-height:normal;white-space:nowrap}.ag-ltr .ag-advanced-filter-apply-button,.ag-ltr .ag-advanced-filter-builder-button{margin-left:calc(var(--ag-grid-size) * 2)}.ag-rtl .ag-advanced-filter-apply-button,.ag-rtl .ag-advanced-filter-builder-button{margin-right:calc(var(--ag-grid-size) * 2)}.ag-advanced-filter-builder-button{display:flex;align-items:center;border:0;background-color:unset;color:var(--ag-foreground-color);font-size:var(--ag-font-size);font-weight:600}.ag-advanced-filter-builder-button:hover:not(:disabled){background-color:var(--ag-row-hover-color)}.ag-advanced-filter-builder-button:not(:disabled){cursor:pointer}.ag-advanced-filter-builder-button-label{margin-left:var(--ag-grid-size)}.ag-advanced-filter-builder{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none;width:100%;background-color:var(--ag-control-panel-background-color);display:flex;flex-direction:column}.ag-advanced-filter-builder-list{flex:1;overflow:auto}.ag-advanced-filter-builder-list .ag-list-item-hovered:after{content:"";position:absolute;left:0;right:0;height:1px;background-color:var(--ag-range-selection-border-color)}.ag-advanced-filter-builder-list .ag-item-highlight-top:after{top:0}.ag-advanced-filter-builder-list .ag-item-highlight-bottom:after{bottom:0}.ag-advanced-filter-builder-button-panel{display:flex;justify-content:flex-end;padding:var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding);border-top:var(--ag-borders-secondary) var(--ag-secondary-border-color)}.ag-advanced-filter-builder .ag-advanced-filter-builder-button-panel .ag-advanced-filter-builder-apply-button,.ag-advanced-filter-builder .ag-advanced-filter-builder-button-panel .ag-advanced-filter-builder-cancel-button{margin-left:calc(var(--ag-grid-size) * 2)}.ag-advanced-filter-builder-item-wrapper{display:flex;flex:1 1 auto;align-items:center;justify-content:space-between;overflow:hidden;padding-left:calc(var(--ag-icon-size) / 2);padding-right:var(--ag-icon-size)}.ag-advanced-filter-builder-item-tree-lines>*{width:var(--ag-advanced-filter-builder-indent-size)}.ag-advanced-filter-builder-item-tree-lines .ag-advanced-filter-builder-item-tree-line-root{width:var(--ag-icon-size)}.ag-advanced-filter-builder-item-tree-lines .ag-advanced-filter-builder-item-tree-line-root:before{top:50%;height:50%}.ag-advanced-filter-builder-item-tree-line-horizontal,.ag-advanced-filter-builder-item-tree-line-vertical,.ag-advanced-filter-builder-item-tree-line-vertical-top,.ag-advanced-filter-builder-item-tree-line-vertical-bottom{position:relative;height:100%;display:flex;align-items:center}.ag-advanced-filter-builder-item-tree-line-horizontal:before,.ag-advanced-filter-builder-item-tree-line-horizontal:after,.ag-advanced-filter-builder-item-tree-line-vertical:before,.ag-advanced-filter-builder-item-tree-line-vertical:after,.ag-advanced-filter-builder-item-tree-line-vertical-top:before,.ag-advanced-filter-builder-item-tree-line-vertical-top:after,.ag-advanced-filter-builder-item-tree-line-vertical-bottom:before,.ag-advanced-filter-builder-item-tree-line-vertical-bottom:after{content:"";position:absolute;height:100%}.ag-advanced-filter-builder-item-tree-line-horizontal:after{height:50%;width:calc(var(--ag-advanced-filter-builder-indent-size) - var(--ag-icon-size));top:0;left:calc(var(--ag-icon-size) / 2);border-bottom:1px solid;border-color:var(--ag-border-color)}.ag-advanced-filter-builder-item-tree-line-vertical:before{width:calc(var(--ag-advanced-filter-builder-indent-size) - var(--ag-icon-size) / 2);top:0;left:calc(var(--ag-icon-size) / 2);border-left:1px solid;border-color:var(--ag-border-color)}.ag-advanced-filter-builder-item-tree-line-vertical-top:before{height:50%;width:calc(var(--ag-advanced-filter-builder-indent-size) - var(--ag-icon-size) / 2);top:0;left:calc(var(--ag-icon-size) / 2);border-left:1px solid;border-color:var(--ag-border-color)}.ag-advanced-filter-builder-item-tree-line-vertical-bottom:before{height:calc((100% - 1.5 * var(--ag-icon-size)) / 2);width:calc(var(--ag-icon-size) / 2);top:calc((100% + 1.5 * var(--ag-icon-size)) / 2);left:calc(var(--ag-icon-size) / 2);border-left:1px solid;border-color:var(--ag-border-color)}.ag-advanced-filter-builder-item-condition{padding-top:var(--ag-grid-size);padding-bottom:var(--ag-grid-size)}.ag-advanced-filter-builder-item,.ag-advanced-filter-builder-item-condition,.ag-advanced-filter-builder-pill-wrapper,.ag-advanced-filter-builder-pill,.ag-advanced-filter-builder-item-buttons,.ag-advanced-filter-builder-item-tree-lines{display:flex;align-items:center;height:100%}.ag-advanced-filter-builder-pill-wrapper{margin:0px var(--ag-grid-size)}.ag-advanced-filter-builder-pill{position:relative;border-radius:var(--ag-border-radius);padding:var(--ag-grid-size) calc(var(--ag-grid-size) * 2);min-height:calc(100% - var(--ag-grid-size) * 3);min-width:calc(var(--ag-grid-size) * 2)}.ag-advanced-filter-builder-pill .ag-picker-field-display{margin-right:var(--ag-grid-size)}.ag-advanced-filter-builder-pill .ag-advanced-filter-builder-value-number{font-family:monospace;font-weight:700}.ag-advanced-filter-builder-pill .ag-advanced-filter-builder-value-empty{color:var(--ag-disabled-foreground-color)}.ag-advanced-filter-builder-pill:focus-visible{outline:none}.ag-advanced-filter-builder-pill:focus-visible:after{content:"";position:absolute;background-color:transparent;pointer-events:none;top:-4px;left:-4px;display:block;width:calc(100% + 8px);height:calc(100% + 8px);border:1px solid;border-color:var(--ag-input-focus-border-color)}.ag-advanced-filter-builder-item-button:focus-visible{outline:none}.ag-advanced-filter-builder-item-button:focus-visible:after{content:"";position:absolute;background-color:transparent;pointer-events:none;top:-4px;left:-4px;display:block;width:calc(100% + 8px);height:calc(100% + 8px);border:1px solid;border-color:var(--ag-input-focus-border-color)}.ag-advanced-filter-builder-pill-display{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.ag-advanced-filter-builder-join-pill{color:var(--ag-foreground-color);background-color:var(--ag-advanced-filter-join-pill-color);cursor:pointer}.ag-advanced-filter-builder-column-pill{color:var(--ag-foreground-color);background-color:var(--ag-advanced-filter-column-pill-color);cursor:pointer}.ag-advanced-filter-builder-option-pill{color:var(--ag-foreground-color);background-color:var(--ag-advanced-filter-option-pill-color);cursor:pointer}.ag-advanced-filter-builder-value-pill{color:var(--ag-foreground-color);background-color:var(--ag-advanced-filter-value-pill-color);cursor:text;max-width:140px}.ag-advanced-filter-builder-value-pill .ag-advanced-filter-builder-pill-display{display:block}.ag-advanced-filter-builder-item-buttons>*{margin:0 calc(var(--ag-grid-size) * .5)}.ag-advanced-filter-builder-item-button{position:relative;cursor:pointer;color:var(--ag-secondary-foreground-color);opacity:50%}.ag-advanced-filter-builder-item-button-disabled{color:var(--ag-disabled-foreground-color);cursor:default}.ag-advanced-filter-builder-virtual-list-container{top:var(--ag-grid-size)}.ag-advanced-filter-builder-virtual-list-item{display:flex;cursor:default;height:var(--ag-list-item-height)}.ag-advanced-filter-builder-virtual-list-item:hover{background-color:var(--ag-row-hover-color)}.ag-advanced-filter-builder-virtual-list-item:hover .ag-advanced-filter-builder-item-button{opacity:100%}.ag-advanced-filter-builder-virtual-list-item-highlight .ag-advanced-filter-builder-item-button:focus-visible,.ag-advanced-filter-builder-validation .ag-advanced-filter-builder-invalid{opacity:100%}.ag-advanced-filter-builder-invalid{margin:0 var(--ag-grid-size);color:var(--ag-invalid-color);cursor:default}.ag-input-field-input{width:100%;min-width:0}.ag-checkbox-input-wrapper{font-family:var(--ag-icon-font-family);font-weight:var(--ag-icon-font-weight);color:var(--ag-icon-font-color);font-size:var(--ag-icon-size);line-height:var(--ag-icon-size);font-style:normal;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:var(--ag-icon-size);height:var(--ag-icon-size);background-color:var(--ag-checkbox-background-color);border-radius:var(--ag-checkbox-border-radius);display:inline-block;vertical-align:middle;flex:none}.ag-checkbox-input-wrapper input{-webkit-appearance:none;opacity:0;width:100%;height:100%}.ag-checkbox-input-wrapper:focus-within,.ag-checkbox-input-wrapper:active{outline:none;box-shadow:var(--ag-input-focus-box-shadow)}.ag-checkbox-input-wrapper.ag-disabled{opacity:.5}.ag-checkbox-input-wrapper:after{content:var(--ag-icon-font-code-checkbox-unchecked, "");color:var(--ag-checkbox-unchecked-color);display:var(--ag-icon-font-display-checkbox-unchecked, var(--ag-icon-font-display));position:absolute;top:0;left:0;pointer-events:none}.ag-checkbox-input-wrapper.ag-checked:after{content:var(--ag-icon-font-code-checkbox-checked, "");color:var(--ag-checkbox-checked-color);display:var(--ag-icon-font-display-checkbox-checked, var(--ag-icon-font-display));position:absolute;top:0;left:0;pointer-events:none}.ag-checkbox-input-wrapper.ag-indeterminate:after{content:var(--ag-icon-font-code-checkbox-indeterminate, "");color:var(--ag-checkbox-indeterminate-color);display:var(--ag-icon-font-display-checkbox-indeterminate, var(--ag-icon-font-display));position:absolute;top:0;left:0;pointer-events:none}.ag-checkbox-input-wrapper:before{content:"";background:transparent center/contain no-repeat;position:absolute;top:0;right:0;bottom:0;left:0;background-image:var(--ag-icon-image-checkbox-unchecked, var(--ag-icon-image));display:var(--ag-icon-image-display-checkbox-unchecked, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-checkbox-unchecked, var(--ag-icon-image-opacity, .9))}.ag-checkbox-input-wrapper.ag-checked:before{background-image:var(--ag-icon-image-checkbox-checked, var(--ag-icon-image));display:var(--ag-icon-image-display-checkbox-checked, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-checkbox-checked, var(--ag-icon-image-opacity, .9))}.ag-checkbox-input-wrapper.ag-indeterminate:before{background-image:var(--ag-icon-image-checkbox-indeterminate, var(--ag-icon-image));display:var(--ag-icon-image-display-checkbox-indeterminate, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-checkbox-indeterminate, var(--ag-icon-image-opacity, .9))}.ag-toggle-button-input-wrapper{box-sizing:border-box;width:var(--ag-toggle-button-width);min-width:var(--ag-toggle-button-width);max-width:var(--ag-toggle-button-width);height:var(--ag-toggle-button-height);background-color:var(--ag-toggle-button-off-background-color);border-radius:calc(var(--ag-toggle-button-height) * .5);position:relative;flex:none;border:var(--ag-toggle-button-border-width) solid;border-color:var(--ag-toggle-button-off-border-color)}.ag-toggle-button-input-wrapper input{opacity:0;height:100%;width:100%}.ag-toggle-button-input-wrapper:focus-within{outline:none;box-shadow:var(--ag-input-focus-box-shadow)}.ag-toggle-button-input-wrapper.ag-disabled{opacity:.5}.ag-toggle-button-input-wrapper.ag-checked{background-color:var(--ag-toggle-button-on-background-color);border-color:var(--ag-toggle-button-on-border-color)}.ag-toggle-button-input-wrapper:before{content:" ";position:absolute;top:calc(0px - var(--ag-toggle-button-border-width));left:calc(0px - var(--ag-toggle-button-border-width));display:block;box-sizing:border-box;height:var(--ag-toggle-button-height);width:var(--ag-toggle-button-height);background-color:var(--ag-toggle-button-switch-background-color);border-radius:100%;transition:left .1s;border:var(--ag-toggle-button-border-width) solid;border-color:var(--ag-toggle-button-switch-border-color)}.ag-toggle-button-input-wrapper.ag-checked:before{left:calc(100% - var(--ag-toggle-button-height) + var(--ag-toggle-button-border-width));border-color:var(--ag-toggle-button-on-border-color)}.ag-radio-button-input-wrapper{font-family:var(--ag-icon-font-family);font-weight:var(--ag-icon-font-weight);color:var(--ag-icon-font-color);font-size:var(--ag-icon-size);line-height:var(--ag-icon-size);font-style:normal;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:var(--ag-icon-size);height:var(--ag-icon-size);background-color:var(--ag-checkbox-background-color);border-radius:var(--ag-checkbox-border-radius);display:inline-block;vertical-align:middle;flex:none;border-radius:var(--ag-icon-size)}.ag-radio-button-input-wrapper input{-webkit-appearance:none;opacity:0;width:100%;height:100%}.ag-radio-button-input-wrapper:focus-within,.ag-radio-button-input-wrapper:active{outline:none;box-shadow:var(--ag-input-focus-box-shadow)}.ag-radio-button-input-wrapper.ag-disabled{opacity:.5}.ag-radio-button-input-wrapper:after{content:var(--ag-icon-font-code-radio-button-off, "");color:var(--ag-checkbox-unchecked-color);display:var(--ag-icon-font-display-radio-button-off, var(--ag-icon-font-display));position:absolute;top:0;left:0;pointer-events:none}.ag-radio-button-input-wrapper.ag-checked:after{content:var(--ag-icon-font-code-radio-button-on, "");color:var(--ag-checkbox-checked-color);display:var(--ag-icon-font-display-radio-button-on, var(--ag-icon-font-display));position:absolute;top:0;left:0;pointer-events:none}.ag-radio-button-input-wrapper:before{content:"";background:transparent center/contain no-repeat;position:absolute;top:0;right:0;bottom:0;left:0;background-image:var(--ag-icon-image-radio-button-off, var(--ag-icon-image));display:var(--ag-icon-image-display-radio-button-off, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-radio-button-off, var(--ag-icon-image-opacity, .9))}.ag-radio-button-input-wrapper.ag-checked:before{background-image:var(--ag-icon-image-radio-button-on, var(--ag-icon-image));display:var(--ag-icon-image-display-radio-button-on, var(--ag-icon-image-display));opacity:var(--ag-icon-image-opacity-radio-button-on, var(--ag-icon-image-opacity, .9))}input[class^=ag-][type=range]{-webkit-appearance:none;width:100%;height:100%;background:none;overflow:visible}input[class^=ag-][type=range]::-webkit-slider-runnable-track{margin:0;padding:0;width:100%;height:3px;background-color:var(--ag-border-color);border-radius:var(--ag-border-radius);border-radius:var(--ag-checkbox-border-radius)}input[class^=ag-][type=range]::-moz-range-track{margin:0;padding:0;width:100%;height:3px;background-color:var(--ag-border-color);border-radius:var(--ag-border-radius);border-radius:var(--ag-checkbox-border-radius)}input[class^=ag-][type=range]::-ms-track{margin:0;padding:0;width:100%;height:3px;background-color:var(--ag-border-color);border-radius:var(--ag-border-radius);border-radius:var(--ag-checkbox-border-radius);color:transparent;width:calc(100% - 2px)}input[class^=ag-][type=range]::-webkit-slider-thumb{margin:0;padding:0;-webkit-appearance:none;width:var(--ag-icon-size);height:var(--ag-icon-size);background-color:var(--ag-background-color);border:1px solid;border-color:var(--ag-checkbox-unchecked-color);border-radius:var(--ag-icon-size);transform:translateY(calc(var(--ag-icon-size) * -.5 + 1.5px))}input[class^=ag-][type=range]::-ms-thumb{margin:0;padding:0;-webkit-appearance:none;width:var(--ag-icon-size);height:var(--ag-icon-size);background-color:var(--ag-background-color);border:1px solid;border-color:var(--ag-checkbox-unchecked-color);border-radius:var(--ag-icon-size)}input[class^=ag-][type=range]::-moz-ag-range-thumb{margin:0;padding:0;-webkit-appearance:none;width:var(--ag-icon-size);height:var(--ag-icon-size);background-color:var(--ag-background-color);border:1px solid;border-color:var(--ag-checkbox-unchecked-color);border-radius:var(--ag-icon-size)}input[class^=ag-][type=range]:focus{outline:none}input[class^=ag-][type=range]:focus::-webkit-slider-thumb{box-shadow:var(--ag-input-focus-box-shadow);border-color:var(--ag-checkbox-checked-color)}input[class^=ag-][type=range]:focus::-ms-thumb{box-shadow:var(--ag-input-focus-box-shadow);border-color:var(--ag-checkbox-checked-color)}input[class^=ag-][type=range]:focus::-moz-ag-range-thumb{box-shadow:var(--ag-input-focus-box-shadow);border-color:var(--ag-checkbox-checked-color)}input[class^=ag-][type=range]:active::-webkit-slider-runnable-track{background-color:var(--ag-input-focus-border-color)}input[class^=ag-][type=range]:active::-moz-ag-range-track{background-color:var(--ag-input-focus-border-color)}input[class^=ag-][type=range]:active::-ms-track{background-color:var(--ag-input-focus-border-color)}input[class^=ag-][type=range]:disabled{opacity:.5}@font-face{font-family:agGridAlpine;src:url(data:font/woff2;charset=utf-8;base64,d09GMgABAAAAABKwAAsAAAAAJ/QAABJeAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHIlCBmAAi3AKqUyiKwE2AiQDgjwLgSAABCAFhEYHhTYb7iIzknRW3UVUT4rZ/yGByqEVyfAPCoGBVAeLaZy1NEUgHG5qbTJUKK65bieBiXNesm+H/kz+7nJIEpoE3+/3uufdH0AFMkIBQhFcAFDFl4Wp7lRoFLJTBairyjb/t/bs7+7IyjPxWfFndohimiiJSCNVMiXytQEpDCAvrmVSeEiuz2pkFBn71N4A+Wm1PT1ApaemJsEZHH5/+f6tHdlX0iFUPUx4GMD6rwoJUCiD0n6gbf7DMxAcRiRi0hbY+GfUHViJi8JIMPYbF2WBUbNyzToV4Wew7v2p+Q2nttnDYl+SMVtpv9Udg8AkSPCE8JUIINhyf8M0OkgJleAT1F9rn9lMECVwh0Do+Djd09O7O+/1mwWe9BJNJjTLkw0gWSBF/H9+qoBJ5ewpYHnuhCehSZhz9lwI2tDKfGldggS/ySJ7xa2c4LAIrw71XX9j8/dwVSZiNBZgxU9vjyOAYmM2fmTs/HXBtem9DVnY1aYBXmvH2vLiNPEwDZ7pGMQXnLspqOqmr35HOfc1nmWhOnqYTtK79FN1ACIqG+L4KNc3ptIoGJ3BZOFR6jSoyeZA2uEW/Kg0Uox9cJSCqQzHZrG6jlrCmF2LhltrBzr93NsyXa63ti00++IsHYRBsaTDZEVjphjJiWbL4WGcg0ePEm0cMZYdzU4EseHSeOJQtVjuje3dvVfRLidotoz6qjqNav9esYP8Ml9FVZfH5LTNn5BKVzYdaSwjmMG1CrNTV7WhSbfFeAub2LHLMM2GrgL3aGhX8qvT3fDYgM++Xm3jlN0bvZlKatdqU0v/7Kt6NBe6IXF61QdHXRhzpvHL2nvvu+feeOurH/5zuEIQJC1pHez9mmkTzOZF0UrjkOTu7rtmhwpXzGbWl/iZ0UxQbR0DrKpR+ciq6lSM+4P+jkyojXWwZ3FgdORyzEBMu8SodIFsDuRw+IF5oE+C+fXPQlDaYmGyrLapfFOZRs+iyBHP8i+qTHjaoa+FMmLF96bC77XDfZYj0YQ/q7GXrgpEzIYRnXelKdnYYH0yFobmHLKidfPkix3tKDYXr1+dR6VNiSzeH5uA8I4/qLpBQZOv0pzXLdEgt4b8ea1pNFbndOoZHKXvqEPtqvKouETvjjd2laxW6tIJnCC2pVD6AKq6PDv7nN3OBc5+xuWB7CR7gfuP33581xg8QIYkuLqjywujc36p/aWm/3E3N4Rs02aiq0Dh7AmoAXIgq5gvjnJAz34NRC69GuwPSol42MArH3371XF2hlqPvPH5V7yLv3KD/7pqXhMDo9Br7hqgLuvhQIYVj7LSJMOAgxuxbZxccXgIRtDpVkUSmY9fQFBIWERULNpgUkpaxp+OOXkFRSVlFVU1dQ1NLW0dXT19A0MjZWMTU0jYzNwCRD5cjeExobaRgfHOC+1DnRcOTvT2/Ov//379cL5v9NxFOzVLAemzCVeA2ls2BkyzNmCGjQCzbACYY+PAPOsEFtgFYJG1A0tsCFhm3cAqGwbW2CCwziaADdYLbLIeYItNATusA9hl/cAe6wL22SRwwM4Dh6wPOGKjwDE7B5z0uwh+ceiReAghCGEIEQhRCAkQEiEkQUiGkA9CfggFIBSEUAhCYQhFIBSFUAxCcQglIJSEUApCaQhlIJSFUA5CeQgVIFSEUAlCZQhVIFSFUA1CdQg1INSEUAtCbQh1INSFUA9CfQgNIDSE0AhCY9Zfpwn0maYQmkFobigJ/FpYYyMG1ZECIRVQjEtv+iWe4gl57ync886N+8wMZN1VvOwjGPddoCiRLhkjJQGOSC0zCeTItsw2iyxh/SLvgtJ8il0gJ/wYY+M0rrkojOGCVIpgfwTJPbXQCkiibIX7NB8LhaIBkX6OqBbFUhInXGmSpNmU9ROBQFIS67k0ImUIkQRKaCYRMMh5AJJM5oEYLkb8kaT3L1HTisBeByai2GnmmsjNFxz6MNQrKEIQLyDiGXfdKwg6T3aAKFjaBqf3MqpUx2ZspWOrQN2xha/6DcxNwTBIcAiRALxXKXIMtMiCWgXp5TnY6fw7sZhcW8Sl/cJHrZAggV7HmUPCfCtVSJ9eQIXQjyhbIghFzMaspsCd1mWc95N5N5B0fp4ET6nJLNttrVAhYtyrw21QJdpYs/D0DtHQRtF+iTATabO1Vkx0yCkWnNzH+CqLgjukEhj5Dz5LeJ429s68i8gziy+d5bIyjFRTqZzkh1ozVXK0AeyTY1bZhDLMAT2VcM3V0RGOouapsTJ4tF9M1/mTyagqmZS8rGgdmWi+tmqh91eSqSK3y+Qy0Ba1uO83b/tXIhiJW+IyB6MvILhvX7wXs/ItLPIIJ/eFsb7awLKW5WVXVq6UyqBSoY/iw8o8cN2kV6s5YRRKj9RfGpPwrPXanB5Ib7fMeVqWyrDleG+1b25Ig3OxLa7KREVTCBYs3FJSJeMOTGCrkclxAPBCsajQXl4uWvm8XTyvDBOS3ywUAYj2gz5Mzdd1W3OzOWVoWGiakvDx/+UsLBfV2BFlwEoVciJIaxMhchGXnzqrQoUPphaosiRUtKpNV6lsUiUvqinzUcpquc6iMFL5faOrX7eFgmZymN+2oBHxESZBiLhKUEzIVl2WXfeoLYhiCXIxYSA4gAM/NBEYXDhnYWAmiJEbPYrrlIWwZsqfu8UJJRcWKbx5Fu2UOdMSAd+7cebz9Z3A4nUc5UnyXAgf+nFoW41mW4XYhkM/bIRzuJJh+AVULSMILynK1qh3UE2aCkhIAlV+vn1xjaFHgCGIfZhgAqaWtFhmT5w5rOSkqlSq4pSdWIGrRNM0EF5uSq/bEaZB0/yNGSTjL2W5+lrbJWkGE7zmbB3yl2GWdzhGkPOfDBm1LPWa8jrCRM3brAd8pthufNS7ftis09wavUg/71VqOekod7ERmLcRry1HbfkNg5WVwR8zupXK4T+KDqlUQz9l96nVY38XktQnObzsqN7QbN5zh+GOW6ysJ2gxet1hQuV684o9ZhdYlyiTjpuanYnhPpyIEQfpnx1KRF4Crn5ZYhYNE4aBb70RgA/7Q9ReHuRBHsxDaq20Haw9traNVXla32uyb5afS2c2vKsGc0nj5/fwiQ5yq6xobiZdiLJtwZcFEwJdcLIemnrYnGJ0PSKmgGclPfWaGo9HbpLlQ/umhMHT2y/+emJwQylqXN3/8ScO4jDFV1CWAqHRybUkiBgbxdoEFxM9UWA2zwz4/X0nvi+4b99FnBecduy2w70lhbOV4mxaGMUIKdrbewWCDAFkcfUi2lPCosPIc5lG8x59/79mIgHOA45RbaICdh6Tmccu+Mt8d5/HLGD/5eMnu6ttn6ALEtvIfYBt8SoJVaJ4K3knqa6W1EiAtVdDcPBdcuj8JV8H+O44uxLMzRMTL13cvz8xKd7bRvHZ4hOeXEeoLQX0b46NDPfO9PfLioq0tMJCL+nBLl28NBs2NbX9HmbtAjHgYo3e3w7U2+9ENNFBsRipimqtUU0FWFb4sqsT69e3NwgU5OQLV3DhobwX4rRrLuDKcwEXXODCcwVFlF3jXYPnjIzMyMjMNA8mCJvDzsANAXPp/7LSqs0t0fM4zzLPQE+hJ1P9vMZ8t3jb9u/q2u9xSrxXuNFPuM39KoMd9ktmRmWB7/qizV3OVyGmliEeJvq9q+pCK2mGlotUp2OlTgKBdSOpZ45kbWVuYU+6+sKEuJ1Uv2bLfQNjvgmp3/IlcxD8zP6yMBFr15j3rVobnPSng8kq/ayxSAuL4Ysm3SHbvY+RFVbeYF5HrE4g6FjRl602dRgeybWi3vDDE/pMRDBtwGg8yVSn31yOCCfTsEAqJnRHjCo8dyBG44QX1uZWeGY70fy2EA+ABdI87Pvjba50M+RXGEfljO6jCM6zJrkmSQrolIWsfkcvbB+KTwLd+MUYmi8N8/6WLmXUrl63fcNqC66hscvrkExuZu8d9Dze0N/AOCFxQ3rtyX0m263MrBiCRn4d41sdvKGToQlsUbAqjf2o+744lkPXFTwe5pXPl0dV1Nslk72ZUTlnbyhKc6jr+SCPrqizTQ4Oik8sKcBfj0oLtA4vKGpmxqXGuY73MihxZHIshUHQy6+hpdtReSiNx0sMds2yCi+kqNgOiBVv+cNvebJ3uqSgyDo8+7TB/9gmV9TLo6ZZrkS2c1axTQ76Ru5dGDffJIy4wFzguaD7mCJjKrizqZyfqv7D7h9/glf0UyeFE7UJXH2OvkBhTk8v4SjEXAn3mJisicrxjybMLOE8Ig6bw1JwqVzxQQlXUoUcyVuxGZyp5rK54rdOOBiZD08WGGLNvjLdxOG9RjPeezDeleeFweeuNguuI8kjQfksVl65+UKQ62yuCzau4+QkNKl6/y4fYryTtMkXRQCbBHrCd+6vXgkTvbVRhJmh9AT6YnxqToU77R4zIoV2O9H54SCnpibjVxwuIgKH+1Vv2fTTNvOXaL8A9U6QiCOSiLjqzhwRcA5KGzPnVKkCYJnuO/HxPeg4mwX/2D9ppTifRfnami+r272e6M/2SaDEx1MSfLKDylwHlpZsXMsSTCEpKOpCEPjl+hnlx5SP52ddwEWuUhwOxBp/6/qtC3z69IdxclTSL0EhRbJ7N94mOKn1kkyzrqhg11gox+EHe/v4g3/FxpaV6GhbuQUnX1zX1vb334p/dvjvXJC8lMtzy00I1tZVxRZ6Fcb72ir2Ev9QWT5dXoZA0/Et0WRytB5iJ1uP/IUt5hIQ/wusex/EeqTzEO9MM8E/fH3d2NCE5vyk4SipU4Gi6ajiuy1e5NgYb1HldwrnC0IVXU/oFntW9Jn2sXrixvoT8IW2pInzhh5fpQ3367nc4w3ielzmi9trzQXtEjedFG/hNTbB9NOJFdUd//ixcSNrhDkeGe5SqXuGR851802WSu8t53hcD4msW/zVxhxmJp2eycz5KXnuPpOew/zJVx+eP4wuj4ws/46cSd+R/1zUWzbFjlER40tZ3ETIh380g+d8dhlz3Dn2Qw6VA//ISIkqBPIiYnQlwfmftL8TQm5urc3r15GRwUEODhERoIgQ5Yng6fS4TJGxWikXzp2bRDGIzGjZ9WBOYWjQnPk5Xvtz0tPxvPUtzR28NeFB0+0+nNWRzzHMES3Py42LGxmhHTkKBsu2Mm7niHtVVnZyR/jO4pqoYaLLy2ge6Rq8Q+F5m6cwSc7yeEuaP58exE2f//96H+A9mXiE+H7+Zkv5cCAAABlpYbsNcXGK5Na1SAnYvmmF0RzuKpuRU/YuNgD4/5GbkAdooz7k56JmgoQsTmuR8dhZD11ei0eOL8w2LEG0FK0Lkv8v7yIasCc0axb7NixwZrJu8i9iVKcMuUFkLUYawJ7RLLQJLHQCsh46I1pyPqsgCI4PK5X7EVPWThRyZlgtup5lHCoVaUjC57+7g74f7k3mG4a+xBMRDQBm6f99shlm7pfcDPDbJg7UlzQxs9tuj9t6EfHiKPG/APWvLytsPerdoLbaG0haCeCTQ24BLiKFFNJ2BQgnCSCJEwNDNSsxDT7osRT4gQGFOJFwZYYYbAQEOG194CANzTvGQxB+AHo0GwEMzU4yAklQAYVmD5gMveJQv5jKfNwO/8rB3sccCH6Dr1Gzdxb0df4Dl5Covemvg+7vFQhYC9h2WLZl8rcirnWcsH1JFHcUY2ozp3cw0o8i+W42c9ID9ybhmua9YoF1L8oCAn6D04GrIo0p5gq5/8ERCnzXEtK60bumNF4FFixAIGi1Bks9XEy8WyK7Tqt6LEGiXgoVlBBlSHeVw713wEi6N2bwsjszeXGOVvdMIXIeK6Nqju9LX4oNlKhQYwrTmMHsH0xzg8LafvhcFiLRWDyRTKUz2Vy+UCyVK9VavdFstTvdXn8wHI0n09l8wRRV0w3Tsh3XvQePnjx78erNJ5998dU33/3wc+1PH57BawmJtvRwmpdNvc2WCTIQG3NqlpOpCuZjSIvOzAd75blGIAsCjIG0wFlQRiWq8IHpmLjLwdGKt19gRSp7pklYGwGrTOdlYyaVsmn2tGleUTaLaeAr296ZlKwLj2p34YeuRF3GTVK45SqWGLFxxUWUn5CbLkw1q0hbEEwnW7GI8Y1ux9Y2kN/BWAQMK1CYVHcEla4bpVyIoibYp5ZOx5jmYJtcwA3CZi5qck1JdvLAFFItJ5zTN5O6oYok6pJzx54LUcPlR1ElJtgr92NCZ9OcLMET7YOVhHZupsAgDbObM2GAllS73uopA+3Upy4Bla9amig+uFMLk9+PI+uax4AIEjJXGNHow2ChewpV2dLEWa01AAA=);font-weight:400;font-style:normal}.ag-theme-alpine,.ag-theme-alpine-dark,.ag-theme-alpine-auto-dark{--ag-alpine-active-color: #2196f3;--ag-selected-row-background-color: rgba(33, 150, 243, .3);--ag-row-hover-color: rgba(33, 150, 243, .1);--ag-column-hover-color: rgba(33, 150, 243, .1);--ag-input-focus-border-color: rgba(33, 150, 243, .4);--ag-range-selection-background-color: rgba(33, 150, 243, .2);--ag-range-selection-background-color-2: rgba(33, 150, 243, .36);--ag-range-selection-background-color-3: rgba(33, 150, 243, .49);--ag-range-selection-background-color-4: rgba(33, 150, 243, .59);--ag-background-color: #fff;--ag-foreground-color: #181d1f;--ag-border-color: #babfc7;--ag-secondary-border-color: #dde2eb;--ag-header-background-color: #f8f8f8;--ag-tooltip-background-color: #f8f8f8;--ag-odd-row-background-color: #fcfcfc;--ag-control-panel-background-color: #f8f8f8;--ag-subheader-background-color: #fff;--ag-invalid-color: #e02525;--ag-checkbox-unchecked-color: #999;--ag-advanced-filter-join-pill-color: #f08e8d;--ag-advanced-filter-column-pill-color: #a6e194;--ag-advanced-filter-option-pill-color: #f3c08b;--ag-advanced-filter-value-pill-color: #85c0e4;--ag-checkbox-background-color: var(--ag-background-color);--ag-checkbox-checked-color: var(--ag-alpine-active-color);--ag-range-selection-border-color: var(--ag-alpine-active-color);--ag-secondary-foreground-color: var(--ag-foreground-color);--ag-input-border-color: var(--ag-border-color);--ag-input-border-color-invalid: var(--ag-invalid-color);--ag-input-focus-box-shadow: 0 0 2px .1rem var(--ag-input-focus-border-color);--ag-panel-background-color: var(--ag-header-background-color);--ag-menu-background-color: var(--ag-header-background-color);--ag-disabled-foreground-color: rgba(24, 29, 31, .5);--ag-chip-background-color: rgba(24, 29, 31, .07);--ag-input-disabled-border-color: rgba(186, 191, 199, .3);--ag-input-disabled-background-color: rgba(186, 191, 199, .15);--ag-borders: solid 1px;--ag-border-radius: 3px;--ag-borders-side-button: none;--ag-side-button-selected-background-color: transparent;--ag-header-column-resize-handle-display: block;--ag-header-column-resize-handle-width: 2px;--ag-header-column-resize-handle-height: 30%;--ag-grid-size: 6px;--ag-icon-size: 16px;--ag-row-height: calc(var(--ag-grid-size) * 7);--ag-header-height: calc(var(--ag-grid-size) * 8);--ag-list-item-height: calc(var(--ag-grid-size) * 4);--ag-column-select-indent-size: var(--ag-icon-size);--ag-set-filter-indent-size: var(--ag-icon-size);--ag-advanced-filter-builder-indent-size: calc(var(--ag-icon-size) + var(--ag-grid-size) * 2);--ag-cell-horizontal-padding: calc(var(--ag-grid-size) * 3);--ag-cell-widget-spacing: calc(var(--ag-grid-size) * 2);--ag-widget-container-vertical-padding: calc(var(--ag-grid-size) * 2);--ag-widget-container-horizontal-padding: calc(var(--ag-grid-size) * 2);--ag-widget-vertical-spacing: calc(var(--ag-grid-size) * 1.5);--ag-toggle-button-height: 18px;--ag-toggle-button-width: 28px;--ag-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;--ag-font-size: 13px;--ag-icon-font-family: agGridAlpine;--ag-selected-tab-underline-color: var(--ag-alpine-active-color);--ag-selected-tab-underline-width: 2px;--ag-selected-tab-underline-transition-speed: .3s;--ag-tab-min-width: 240px;--ag-card-shadow: 0 1px 4px 1px rgba(186, 191, 199, .4);--ag-popup-shadow: var(--ag-card-shadow);--ag-side-bar-panel-width: 250px}.ag-theme-alpine-dark{--ag-background-color: #181d1f;--ag-foreground-color: #fff;--ag-border-color: #68686e;--ag-secondary-border-color: rgba(88, 86, 82, .5);--ag-modal-overlay-background-color: rgba(24, 29, 31, .66);--ag-header-background-color: #222628;--ag-tooltip-background-color: #222628;--ag-odd-row-background-color: #222628;--ag-control-panel-background-color: #222628;--ag-subheader-background-color: #000;--ag-input-disabled-background-color: #282c2f;--ag-input-focus-box-shadow: 0 0 2px .5px rgba(255, 255, 255, .5), 0 0 4px 3px var(--ag-input-focus-border-color);--ag-card-shadow: 0 1px 20px 1px black;--ag-disabled-foreground-color: rgba(255, 255, 255, .5);--ag-chip-background-color: rgba(255, 255, 255, .07);--ag-input-disabled-border-color: rgba(104, 104, 110, .3);--ag-input-disabled-background-color: rgba(104, 104, 110, .07);--ag-advanced-filter-join-pill-color: #7a3a37;--ag-advanced-filter-column-pill-color: #355f2d;--ag-advanced-filter-option-pill-color: #5a3168;--ag-advanced-filter-value-pill-color: #374c86;color-scheme:dark}@media (prefers-color-scheme: dark){.ag-theme-alpine-auto-dark{--ag-background-color: #181d1f;--ag-foreground-color: #fff;--ag-border-color: #68686e;--ag-secondary-border-color: rgba(88, 86, 82, .5);--ag-modal-overlay-background-color: rgba(24, 29, 31, .66);--ag-header-background-color: #222628;--ag-tooltip-background-color: #222628;--ag-odd-row-background-color: #222628;--ag-control-panel-background-color: #222628;--ag-subheader-background-color: #000;--ag-input-disabled-background-color: #282c2f;--ag-input-focus-box-shadow: 0 0 2px .5px rgba(255, 255, 255, .5), 0 0 4px 3px var(--ag-input-focus-border-color);--ag-card-shadow: 0 1px 20px 1px black;--ag-disabled-foreground-color: rgba(255, 255, 255, .5);--ag-chip-background-color: rgba(255, 255, 255, .07);--ag-input-disabled-border-color: rgba(104, 104, 110, .3);--ag-input-disabled-background-color: rgba(104, 104, 110, .07);--ag-advanced-filter-join-pill-color: #7a3a37;--ag-advanced-filter-column-pill-color: #355f2d;--ag-advanced-filter-option-pill-color: #5a3168;--ag-advanced-filter-value-pill-color: #374c86;color-scheme:dark}}.ag-theme-alpine .ag-filter-toolpanel-header,.ag-theme-alpine .ag-filter-toolpanel-search,.ag-theme-alpine .ag-status-bar,.ag-theme-alpine .ag-header-row,.ag-theme-alpine .ag-panel-title-bar-title,.ag-theme-alpine .ag-multi-filter-group-title-bar,.ag-theme-alpine-dark .ag-filter-toolpanel-header,.ag-theme-alpine-dark .ag-filter-toolpanel-search,.ag-theme-alpine-dark .ag-status-bar,.ag-theme-alpine-dark .ag-header-row,.ag-theme-alpine-dark .ag-panel-title-bar-title,.ag-theme-alpine-dark .ag-multi-filter-group-title-bar,.ag-theme-alpine-auto-dark .ag-filter-toolpanel-header,.ag-theme-alpine-auto-dark .ag-filter-toolpanel-search,.ag-theme-alpine-auto-dark .ag-status-bar,.ag-theme-alpine-auto-dark .ag-header-row,.ag-theme-alpine-auto-dark .ag-panel-title-bar-title,.ag-theme-alpine-auto-dark .ag-multi-filter-group-title-bar{font-weight:700;color:var(--ag-header-foreground-color)}.ag-theme-alpine .ag-row,.ag-theme-alpine-dark .ag-row,.ag-theme-alpine-auto-dark .ag-row{font-size:calc(var(--ag-font-size) + 1px)}.ag-theme-alpine input[class^=ag-]:not([type]),.ag-theme-alpine input[class^=ag-][type=text],.ag-theme-alpine input[class^=ag-][type=number],.ag-theme-alpine input[class^=ag-][type=tel],.ag-theme-alpine input[class^=ag-][type=date],.ag-theme-alpine input[class^=ag-][type=datetime-local],.ag-theme-alpine textarea[class^=ag-],.ag-theme-alpine-dark input[class^=ag-]:not([type]),.ag-theme-alpine-dark input[class^=ag-][type=text],.ag-theme-alpine-dark input[class^=ag-][type=number],.ag-theme-alpine-dark input[class^=ag-][type=tel],.ag-theme-alpine-dark input[class^=ag-][type=date],.ag-theme-alpine-dark input[class^=ag-][type=datetime-local],.ag-theme-alpine-dark textarea[class^=ag-],.ag-theme-alpine-auto-dark input[class^=ag-]:not([type]),.ag-theme-alpine-auto-dark input[class^=ag-][type=text],.ag-theme-alpine-auto-dark input[class^=ag-][type=number],.ag-theme-alpine-auto-dark input[class^=ag-][type=tel],.ag-theme-alpine-auto-dark input[class^=ag-][type=date],.ag-theme-alpine-auto-dark input[class^=ag-][type=datetime-local],.ag-theme-alpine-auto-dark textarea[class^=ag-]{min-height:calc(var(--ag-grid-size) * 4);border-radius:var(--ag-border-radius)}.ag-theme-alpine .ag-ltr input[class^=ag-]:not([type]),.ag-theme-alpine .ag-ltr input[class^=ag-][type=text],.ag-theme-alpine .ag-ltr input[class^=ag-][type=number],.ag-theme-alpine .ag-ltr input[class^=ag-][type=tel],.ag-theme-alpine .ag-ltr input[class^=ag-][type=date],.ag-theme-alpine .ag-ltr input[class^=ag-][type=datetime-local],.ag-theme-alpine .ag-ltr textarea[class^=ag-],.ag-theme-alpine-dark .ag-ltr input[class^=ag-]:not([type]),.ag-theme-alpine-dark .ag-ltr input[class^=ag-][type=text],.ag-theme-alpine-dark .ag-ltr input[class^=ag-][type=number],.ag-theme-alpine-dark .ag-ltr input[class^=ag-][type=tel],.ag-theme-alpine-dark .ag-ltr input[class^=ag-][type=date],.ag-theme-alpine-dark .ag-ltr input[class^=ag-][type=datetime-local],.ag-theme-alpine-dark .ag-ltr textarea[class^=ag-],.ag-theme-alpine-auto-dark .ag-ltr input[class^=ag-]:not([type]),.ag-theme-alpine-auto-dark .ag-ltr input[class^=ag-][type=text],.ag-theme-alpine-auto-dark .ag-ltr input[class^=ag-][type=number],.ag-theme-alpine-auto-dark .ag-ltr input[class^=ag-][type=tel],.ag-theme-alpine-auto-dark .ag-ltr input[class^=ag-][type=date],.ag-theme-alpine-auto-dark .ag-ltr input[class^=ag-][type=datetime-local],.ag-theme-alpine-auto-dark .ag-ltr textarea[class^=ag-]{padding-left:var(--ag-grid-size)}.ag-theme-alpine .ag-rtl input[class^=ag-]:not([type]),.ag-theme-alpine .ag-rtl input[class^=ag-][type=text],.ag-theme-alpine .ag-rtl input[class^=ag-][type=number],.ag-theme-alpine .ag-rtl input[class^=ag-][type=tel],.ag-theme-alpine .ag-rtl input[class^=ag-][type=date],.ag-theme-alpine .ag-rtl input[class^=ag-][type=datetime-local],.ag-theme-alpine .ag-rtl textarea[class^=ag-],.ag-theme-alpine-dark .ag-rtl input[class^=ag-]:not([type]),.ag-theme-alpine-dark .ag-rtl input[class^=ag-][type=text],.ag-theme-alpine-dark .ag-rtl input[class^=ag-][type=number],.ag-theme-alpine-dark .ag-rtl input[class^=ag-][type=tel],.ag-theme-alpine-dark .ag-rtl input[class^=ag-][type=date],.ag-theme-alpine-dark .ag-rtl input[class^=ag-][type=datetime-local],.ag-theme-alpine-dark .ag-rtl textarea[class^=ag-],.ag-theme-alpine-auto-dark .ag-rtl input[class^=ag-]:not([type]),.ag-theme-alpine-auto-dark .ag-rtl input[class^=ag-][type=text],.ag-theme-alpine-auto-dark .ag-rtl input[class^=ag-][type=number],.ag-theme-alpine-auto-dark .ag-rtl input[class^=ag-][type=tel],.ag-theme-alpine-auto-dark .ag-rtl input[class^=ag-][type=date],.ag-theme-alpine-auto-dark .ag-rtl input[class^=ag-][type=datetime-local],.ag-theme-alpine-auto-dark .ag-rtl textarea[class^=ag-]{padding-right:var(--ag-grid-size)}.ag-theme-alpine .ag-tab,.ag-theme-alpine-dark .ag-tab,.ag-theme-alpine-auto-dark .ag-tab{padding:calc(var(--ag-grid-size) * 1.5);transition:color .4s;flex:1 1 auto}.ag-theme-alpine .ag-tab-selected,.ag-theme-alpine-dark .ag-tab-selected,.ag-theme-alpine-auto-dark .ag-tab-selected{color:var(--ag-alpine-active-color)}.ag-theme-alpine .ag-menu,.ag-theme-alpine-dark .ag-menu,.ag-theme-alpine-auto-dark .ag-menu,.ag-theme-alpine .ag-panel-content-wrapper .ag-column-select,.ag-theme-alpine-dark .ag-panel-content-wrapper .ag-column-select,.ag-theme-alpine-auto-dark .ag-panel-content-wrapper .ag-column-select{background-color:var(--ag-control-panel-background-color)}.ag-theme-alpine .ag-menu-header,.ag-theme-alpine-dark .ag-menu-header,.ag-theme-alpine-auto-dark .ag-menu-header{background-color:var(--ag-control-panel-background-color);padding-top:1px}.ag-theme-alpine .ag-tabs-header,.ag-theme-alpine-dark .ag-tabs-header,.ag-theme-alpine-auto-dark .ag-tabs-header{border-bottom:var(--ag-borders) var(--ag-border-color)}.ag-theme-alpine .ag-charts-settings-group-title-bar,.ag-theme-alpine .ag-charts-data-group-title-bar,.ag-theme-alpine .ag-charts-format-top-level-group-title-bar,.ag-theme-alpine-dark .ag-charts-settings-group-title-bar,.ag-theme-alpine-dark .ag-charts-data-group-title-bar,.ag-theme-alpine-dark .ag-charts-format-top-level-group-title-bar,.ag-theme-alpine-auto-dark .ag-charts-settings-group-title-bar,.ag-theme-alpine-auto-dark .ag-charts-data-group-title-bar,.ag-theme-alpine-auto-dark .ag-charts-format-top-level-group-title-bar{padding:var(--ag-grid-size) calc(var(--ag-grid-size) * 2);line-height:calc(var(--ag-icon-size) + var(--ag-grid-size) - 2px)}.ag-theme-alpine .ag-chart-mini-thumbnail,.ag-theme-alpine-dark .ag-chart-mini-thumbnail,.ag-theme-alpine-auto-dark .ag-chart-mini-thumbnail{background-color:var(--ag-background-color)}.ag-theme-alpine .ag-chart-settings-nav-bar,.ag-theme-alpine-dark .ag-chart-settings-nav-bar,.ag-theme-alpine-auto-dark .ag-chart-settings-nav-bar{border-top:var(--ag-borders-secondary) var(--ag-secondary-border-color)}.ag-theme-alpine .ag-ltr .ag-group-title-bar-icon,.ag-theme-alpine-dark .ag-ltr .ag-group-title-bar-icon,.ag-theme-alpine-auto-dark .ag-ltr .ag-group-title-bar-icon{margin-right:var(--ag-grid-size)}.ag-theme-alpine .ag-rtl .ag-group-title-bar-icon,.ag-theme-alpine-dark .ag-rtl .ag-group-title-bar-icon,.ag-theme-alpine-auto-dark .ag-rtl .ag-group-title-bar-icon{margin-left:var(--ag-grid-size)}.ag-theme-alpine .ag-charts-format-top-level-group-toolbar,.ag-theme-alpine-dark .ag-charts-format-top-level-group-toolbar,.ag-theme-alpine-auto-dark .ag-charts-format-top-level-group-toolbar{margin-top:var(--ag-grid-size)}.ag-theme-alpine .ag-ltr .ag-charts-format-top-level-group-toolbar,.ag-theme-alpine-dark .ag-ltr .ag-charts-format-top-level-group-toolbar,.ag-theme-alpine-auto-dark .ag-ltr .ag-charts-format-top-level-group-toolbar{padding-left:calc(var(--ag-icon-size) * .5 + var(--ag-grid-size) * 2)}.ag-theme-alpine .ag-rtl .ag-charts-format-top-level-group-toolbar,.ag-theme-alpine-dark .ag-rtl .ag-charts-format-top-level-group-toolbar,.ag-theme-alpine-auto-dark .ag-rtl .ag-charts-format-top-level-group-toolbar{padding-right:calc(var(--ag-icon-size) * .5 + var(--ag-grid-size) * 2)}.ag-theme-alpine .ag-charts-format-sub-level-group,.ag-theme-alpine-dark .ag-charts-format-sub-level-group,.ag-theme-alpine-auto-dark .ag-charts-format-sub-level-group{border-left:dashed 1px;border-left-color:var(--ag-border-color);padding-left:var(--ag-grid-size);margin-bottom:calc(var(--ag-grid-size) * 2)}.ag-theme-alpine .ag-charts-format-sub-level-group-title-bar,.ag-theme-alpine-dark .ag-charts-format-sub-level-group-title-bar,.ag-theme-alpine-auto-dark .ag-charts-format-sub-level-group-title-bar{padding-top:0;padding-bottom:0;background:none;font-weight:700}.ag-theme-alpine .ag-charts-format-sub-level-group-container,.ag-theme-alpine-dark .ag-charts-format-sub-level-group-container,.ag-theme-alpine-auto-dark .ag-charts-format-sub-level-group-container{padding-bottom:0}.ag-theme-alpine .ag-charts-format-sub-level-group-item:last-child,.ag-theme-alpine-dark .ag-charts-format-sub-level-group-item:last-child,.ag-theme-alpine-auto-dark .ag-charts-format-sub-level-group-item:last-child{margin-bottom:0}.ag-theme-alpine.ag-dnd-ghost,.ag-theme-alpine-dark.ag-dnd-ghost,.ag-theme-alpine-auto-dark.ag-dnd-ghost{font-size:calc(var(--ag-font-size) - 1px);font-weight:700}.ag-theme-alpine .ag-side-buttons,.ag-theme-alpine-dark .ag-side-buttons,.ag-theme-alpine-auto-dark .ag-side-buttons{width:calc(var(--ag-grid-size) * 5)}.ag-theme-alpine .ag-standard-button,.ag-theme-alpine-dark .ag-standard-button,.ag-theme-alpine-auto-dark .ag-standard-button{font-family:inherit;-moz-appearance:none;appearance:none;-webkit-appearance:none;border-radius:var(--ag-border-radius);border:1px solid;border-color:var(--ag-alpine-active-color);color:var(--ag-alpine-active-color);background-color:var(--ag-background-color);font-weight:600;padding:var(--ag-grid-size) calc(var(--ag-grid-size) * 2)}.ag-theme-alpine .ag-standard-button:hover,.ag-theme-alpine-dark .ag-standard-button:hover,.ag-theme-alpine-auto-dark .ag-standard-button:hover{border-color:var(--ag-alpine-active-color);background-color:var(--ag-row-hover-color)}.ag-theme-alpine .ag-standard-button:active,.ag-theme-alpine-dark .ag-standard-button:active,.ag-theme-alpine-auto-dark .ag-standard-button:active{border-color:var(--ag-alpine-active-color);background-color:var(--ag-alpine-active-color);color:var(--ag-background-color)}.ag-theme-alpine .ag-standard-button:disabled,.ag-theme-alpine-dark .ag-standard-button:disabled,.ag-theme-alpine-auto-dark .ag-standard-button:disabled{color:var(--ag-disabled-foreground-color);background-color:var(--ag-input-disabled-background-color);border-color:var(--ag-input-disabled-border-color)}.ag-theme-alpine .ag-column-drop-vertical,.ag-theme-alpine-dark .ag-column-drop-vertical,.ag-theme-alpine-auto-dark .ag-column-drop-vertical{min-height:75px}.ag-theme-alpine .ag-column-drop-vertical-title-bar,.ag-theme-alpine-dark .ag-column-drop-vertical-title-bar,.ag-theme-alpine-auto-dark .ag-column-drop-vertical-title-bar{padding:calc(var(--ag-grid-size) * 2);padding-bottom:0}.ag-theme-alpine .ag-column-drop-vertical-empty-message,.ag-theme-alpine-dark .ag-column-drop-vertical-empty-message,.ag-theme-alpine-auto-dark .ag-column-drop-vertical-empty-message{display:flex;align-items:center;border:dashed 1px;border-color:var(--ag-border-color);margin:calc(var(--ag-grid-size) * 2);padding:calc(var(--ag-grid-size) * 2)}.ag-theme-alpine .ag-column-drop-empty-message,.ag-theme-alpine-dark .ag-column-drop-empty-message,.ag-theme-alpine-auto-dark .ag-column-drop-empty-message{color:var(--ag-foreground-color);opacity:.75}.ag-theme-alpine .ag-status-bar,.ag-theme-alpine-dark .ag-status-bar,.ag-theme-alpine-auto-dark .ag-status-bar{font-weight:400}.ag-theme-alpine .ag-status-name-value-value,.ag-theme-alpine-dark .ag-status-name-value-value,.ag-theme-alpine-auto-dark .ag-status-name-value-value,.ag-theme-alpine .ag-paging-number,.ag-theme-alpine .ag-paging-row-summary-panel-number,.ag-theme-alpine-dark .ag-paging-number,.ag-theme-alpine-dark .ag-paging-row-summary-panel-number,.ag-theme-alpine-auto-dark .ag-paging-number,.ag-theme-alpine-auto-dark .ag-paging-row-summary-panel-number{font-weight:700}.ag-theme-alpine .ag-column-drop-cell-button,.ag-theme-alpine-dark .ag-column-drop-cell-button,.ag-theme-alpine-auto-dark .ag-column-drop-cell-button{opacity:.5}.ag-theme-alpine .ag-column-drop-cell-button:hover,.ag-theme-alpine-dark .ag-column-drop-cell-button:hover,.ag-theme-alpine-auto-dark .ag-column-drop-cell-button:hover{opacity:.75}.ag-theme-alpine .ag-column-select-column-readonly.ag-icon-grip,.ag-theme-alpine .ag-column-select-column-readonly .ag-icon-grip,.ag-theme-alpine-dark .ag-column-select-column-readonly.ag-icon-grip,.ag-theme-alpine-dark .ag-column-select-column-readonly .ag-icon-grip,.ag-theme-alpine-auto-dark .ag-column-select-column-readonly.ag-icon-grip,.ag-theme-alpine-auto-dark .ag-column-select-column-readonly .ag-icon-grip{opacity:.35}.ag-theme-alpine .ag-header-cell-menu-button:hover,.ag-theme-alpine .ag-header-cell-filter-button:hover,.ag-theme-alpine .ag-side-button-button:hover,.ag-theme-alpine .ag-tab:hover,.ag-theme-alpine .ag-panel-title-bar-button:hover,.ag-theme-alpine .ag-header-expand-icon:hover,.ag-theme-alpine .ag-column-group-icons:hover,.ag-theme-alpine .ag-set-filter-group-icons:hover,.ag-theme-alpine .ag-group-expanded .ag-icon:hover,.ag-theme-alpine .ag-group-contracted .ag-icon:hover,.ag-theme-alpine .ag-chart-settings-prev:hover,.ag-theme-alpine .ag-chart-settings-next:hover,.ag-theme-alpine .ag-group-title-bar-icon:hover,.ag-theme-alpine .ag-column-select-header-icon:hover,.ag-theme-alpine .ag-floating-filter-button-button:hover,.ag-theme-alpine .ag-filter-toolpanel-expand:hover,.ag-theme-alpine .ag-chart-menu-icon:hover,.ag-theme-alpine .ag-chart-menu-close:hover,.ag-theme-alpine-dark .ag-header-cell-menu-button:hover,.ag-theme-alpine-dark .ag-header-cell-filter-button:hover,.ag-theme-alpine-dark .ag-side-button-button:hover,.ag-theme-alpine-dark .ag-tab:hover,.ag-theme-alpine-dark .ag-panel-title-bar-button:hover,.ag-theme-alpine-dark .ag-header-expand-icon:hover,.ag-theme-alpine-dark .ag-column-group-icons:hover,.ag-theme-alpine-dark .ag-set-filter-group-icons:hover,.ag-theme-alpine-dark .ag-group-expanded .ag-icon:hover,.ag-theme-alpine-dark .ag-group-contracted .ag-icon:hover,.ag-theme-alpine-dark .ag-chart-settings-prev:hover,.ag-theme-alpine-dark .ag-chart-settings-next:hover,.ag-theme-alpine-dark .ag-group-title-bar-icon:hover,.ag-theme-alpine-dark .ag-column-select-header-icon:hover,.ag-theme-alpine-dark .ag-floating-filter-button-button:hover,.ag-theme-alpine-dark .ag-filter-toolpanel-expand:hover,.ag-theme-alpine-dark .ag-chart-menu-icon:hover,.ag-theme-alpine-dark .ag-chart-menu-close:hover,.ag-theme-alpine-auto-dark .ag-header-cell-menu-button:hover,.ag-theme-alpine-auto-dark .ag-header-cell-filter-button:hover,.ag-theme-alpine-auto-dark .ag-side-button-button:hover,.ag-theme-alpine-auto-dark .ag-tab:hover,.ag-theme-alpine-auto-dark .ag-panel-title-bar-button:hover,.ag-theme-alpine-auto-dark .ag-header-expand-icon:hover,.ag-theme-alpine-auto-dark .ag-column-group-icons:hover,.ag-theme-alpine-auto-dark .ag-set-filter-group-icons:hover,.ag-theme-alpine-auto-dark .ag-group-expanded .ag-icon:hover,.ag-theme-alpine-auto-dark .ag-group-contracted .ag-icon:hover,.ag-theme-alpine-auto-dark .ag-chart-settings-prev:hover,.ag-theme-alpine-auto-dark .ag-chart-settings-next:hover,.ag-theme-alpine-auto-dark .ag-group-title-bar-icon:hover,.ag-theme-alpine-auto-dark .ag-column-select-header-icon:hover,.ag-theme-alpine-auto-dark .ag-floating-filter-button-button:hover,.ag-theme-alpine-auto-dark .ag-filter-toolpanel-expand:hover,.ag-theme-alpine-auto-dark .ag-chart-menu-icon:hover,.ag-theme-alpine-auto-dark .ag-chart-menu-close:hover{color:var(--ag-alpine-active-color)}.ag-theme-alpine .ag-header-cell-menu-button:hover .ag-icon,.ag-theme-alpine .ag-header-cell-filter-button:hover .ag-icon,.ag-theme-alpine .ag-side-button-button:hover .ag-icon,.ag-theme-alpine .ag-panel-title-bar-button:hover .ag-icon,.ag-theme-alpine .ag-floating-filter-button-button:hover .ag-icon,.ag-theme-alpine-dark .ag-header-cell-menu-button:hover .ag-icon,.ag-theme-alpine-dark .ag-header-cell-filter-button:hover .ag-icon,.ag-theme-alpine-dark .ag-side-button-button:hover .ag-icon,.ag-theme-alpine-dark .ag-panel-title-bar-button:hover .ag-icon,.ag-theme-alpine-dark .ag-floating-filter-button-button:hover .ag-icon,.ag-theme-alpine-auto-dark .ag-header-cell-menu-button:hover .ag-icon,.ag-theme-alpine-auto-dark .ag-header-cell-filter-button:hover .ag-icon,.ag-theme-alpine-auto-dark .ag-side-button-button:hover .ag-icon,.ag-theme-alpine-auto-dark .ag-panel-title-bar-button:hover .ag-icon,.ag-theme-alpine-auto-dark .ag-floating-filter-button-button:hover .ag-icon{color:inherit}.ag-theme-alpine .ag-filter-active .ag-icon-filter,.ag-theme-alpine-dark .ag-filter-active .ag-icon-filter,.ag-theme-alpine-auto-dark .ag-filter-active .ag-icon-filter{color:var(--ag-alpine-active-color)}.ag-theme-alpine .ag-chart-menu-close,.ag-theme-alpine-dark .ag-chart-menu-close,.ag-theme-alpine-auto-dark .ag-chart-menu-close{background:var(--ag-background-color)}.ag-theme-alpine .ag-chart-menu-close:hover .ag-icon,.ag-theme-alpine-dark .ag-chart-menu-close:hover .ag-icon,.ag-theme-alpine-auto-dark .ag-chart-menu-close:hover .ag-icon{border-color:var(--ag-alpine-active-color)}.ag-theme-alpine .ag-chart-menu-close .ag-icon,.ag-theme-alpine-dark .ag-chart-menu-close .ag-icon,.ag-theme-alpine-auto-dark .ag-chart-menu-close .ag-icon{background:var(--ag-header-background-color);border:1px solid var(--ag-border-color);border-right:none}.ag-theme-alpine .ag-chart-settings-card-item.ag-not-selected:hover,.ag-theme-alpine-dark .ag-chart-settings-card-item.ag-not-selected:hover,.ag-theme-alpine-auto-dark .ag-chart-settings-card-item.ag-not-selected:hover{opacity:.35}.ag-theme-alpine .ag-ltr .ag-panel-title-bar-button,.ag-theme-alpine-dark .ag-ltr .ag-panel-title-bar-button,.ag-theme-alpine-auto-dark .ag-ltr .ag-panel-title-bar-button{margin-left:calc(var(--ag-grid-size) * 2);margin-right:var(--ag-grid-size)}.ag-theme-alpine .ag-rtl .ag-panel-title-bar-button,.ag-theme-alpine-dark .ag-rtl .ag-panel-title-bar-button,.ag-theme-alpine-auto-dark .ag-rtl .ag-panel-title-bar-button{margin-right:calc(var(--ag-grid-size) * 2);margin-left:var(--ag-grid-size)}.ag-theme-alpine .ag-ltr .ag-filter-toolpanel-group-container,.ag-theme-alpine-dark .ag-ltr .ag-filter-toolpanel-group-container,.ag-theme-alpine-auto-dark .ag-ltr .ag-filter-toolpanel-group-container{padding-left:var(--ag-grid-size)}.ag-theme-alpine .ag-rtl .ag-filter-toolpanel-group-container,.ag-theme-alpine-dark .ag-rtl .ag-filter-toolpanel-group-container,.ag-theme-alpine-auto-dark .ag-rtl .ag-filter-toolpanel-group-container{padding-right:var(--ag-grid-size)}.ag-theme-alpine .ag-filter-toolpanel-instance-filter,.ag-theme-alpine-dark .ag-filter-toolpanel-instance-filter,.ag-theme-alpine-auto-dark .ag-filter-toolpanel-instance-filter{border:none;background-color:var(--ag-control-panel-background-color)}.ag-theme-alpine .ag-ltr .ag-filter-toolpanel-instance-filter,.ag-theme-alpine-dark .ag-ltr .ag-filter-toolpanel-instance-filter,.ag-theme-alpine-auto-dark .ag-ltr .ag-filter-toolpanel-instance-filter{border-left:dashed 1px;border-left-color:var(--ag-border-color);margin-left:calc(var(--ag-icon-size) * .5)}.ag-theme-alpine .ag-rtl .ag-filter-toolpanel-instance-filter,.ag-theme-alpine-dark .ag-rtl .ag-filter-toolpanel-instance-filter,.ag-theme-alpine-auto-dark .ag-rtl .ag-filter-toolpanel-instance-filter{border-right:dashed 1px;border-right-color:var(--ag-border-color);margin-right:calc(var(--ag-icon-size) * .5)}.ag-theme-alpine .ag-set-filter-list,.ag-theme-alpine-dark .ag-set-filter-list,.ag-theme-alpine-auto-dark .ag-set-filter-list{padding-top:calc(var(--ag-grid-size) * .5);padding-bottom:calc(var(--ag-grid-size) * .5)}.ag-theme-alpine .ag-layout-auto-height .ag-center-cols-viewport,.ag-theme-alpine .ag-layout-auto-height .ag-center-cols-container,.ag-theme-alpine .ag-layout-print .ag-center-cols-viewport,.ag-theme-alpine .ag-layout-print .ag-center-cols-container,.ag-theme-alpine-dark .ag-layout-auto-height .ag-center-cols-viewport,.ag-theme-alpine-dark .ag-layout-auto-height .ag-center-cols-container,.ag-theme-alpine-dark .ag-layout-print .ag-center-cols-viewport,.ag-theme-alpine-dark .ag-layout-print .ag-center-cols-container,.ag-theme-alpine-auto-dark .ag-layout-auto-height .ag-center-cols-viewport,.ag-theme-alpine-auto-dark .ag-layout-auto-height .ag-center-cols-container,.ag-theme-alpine-auto-dark .ag-layout-print .ag-center-cols-viewport,.ag-theme-alpine-auto-dark .ag-layout-print .ag-center-cols-container{min-height:150px}.ag-theme-alpine .ag-overlay-no-rows-wrapper.ag-layout-auto-height,.ag-theme-alpine-dark .ag-overlay-no-rows-wrapper.ag-layout-auto-height,.ag-theme-alpine-auto-dark .ag-overlay-no-rows-wrapper.ag-layout-auto-height{padding-top:60px}.ag-theme-alpine .ag-date-time-list-page-entry-is-current,.ag-theme-alpine-dark .ag-date-time-list-page-entry-is-current,.ag-theme-alpine-auto-dark .ag-date-time-list-page-entry-is-current{background-color:var(--ag-alpine-active-color)}.ag-theme-alpine .ag-advanced-filter-builder-button,.ag-theme-alpine-dark .ag-advanced-filter-builder-button,.ag-theme-alpine-auto-dark .ag-advanced-filter-builder-button{padding:var(--ag-grid-size);font-weight:600} diff --git a/public/build/assets/vendor-50e42c6c.js b/public/build/assets/vendor-f5e18451.js similarity index 96% rename from public/build/assets/vendor-50e42c6c.js rename to public/build/assets/vendor-f5e18451.js index afdfeab6cb..760354306f 100644 --- a/public/build/assets/vendor-50e42c6c.js +++ b/public/build/assets/vendor-f5e18451.js @@ -9,16 +9,16 @@ var co=Object.defineProperty;var uo=(s,e,t)=>e in s?co(s,e,{enumerable:!0,config `+r+"]":"["+a.join(",")+"]",gap=r,n}if(rep&&typeof rep=="object")for(o=rep.length,t=0;tlastFlushedIndex&&queue.splice(e,1)}function queueFlush(){!flushing&&!flushPending&&(flushPending=!0,queueMicrotask(flushJobs))}function flushJobs(){flushPending=!1,flushing=!0;for(let s=0;ss.effect(e,{scheduler:t=>{shouldSchedule?scheduler(t):t()}}),raw=s.raw}function overrideEffect(s){effect$3=s}function elementBoundEffect(s){let e=()=>{};return[i=>{let n=effect$3(i);return s._x_effects||(s._x_effects=new Set,s._x_runEffects=()=>{s._x_effects.forEach(o=>o())}),s._x_effects.add(n),e=()=>{n!==void 0&&(s._x_effects.delete(n),release(n))},n},()=>{e()}]}function watch(s,e){let t=!0,i,n=effect$3(()=>{let o=s();JSON.stringify(o),t?i=o:queueMicrotask(()=>{e(o,i),i=o}),t=!1});return()=>release(n)}function dispatch(s,e,t={}){s.dispatchEvent(new CustomEvent(e,{detail:t,bubbles:!0,composed:!0,cancelable:!0}))}function walk(s,e){if(typeof ShadowRoot=="function"&&s instanceof ShadowRoot){Array.from(s.children).forEach(n=>walk(n,e));return}let t=!1;if(e(s,()=>t=!0),t)return;let i=s.firstElementChild;for(;i;)walk(i,e),i=i.nextElementSibling}function warn(s,...e){console.warn(`Alpine Warning: ${s}`,...e)}var started=!1;function start$1(){started&&warn("Alpine has already been initialized on this page. Calling Alpine.start() more than once can cause problems."),started=!0,document.body||warn("Unable to initialize. Trying to load Alpine before `` is available. Did you forget to add `defer` in Alpine's `