diff --git a/._data b/._data
new file mode 100644
index 000000000..59fc45ee8
Binary files /dev/null and b/._data differ
diff --git a/.github/workflows/cypress-end-to-end-tests.yml b/.github/workflows/cypress-end-to-end-tests.yml
index 4e9fdb8a4..a55303ffa 100644
--- a/.github/workflows/cypress-end-to-end-tests.yml
+++ b/.github/workflows/cypress-end-to-end-tests.yml
@@ -7,6 +7,8 @@ on:
branches: [main]
paths-ignore:
- "**.md"
+env:
+ HYDRA_FULL_ERROR: 1
jobs:
# This job is made to setup path filtering, learn more about it here: https://github.com/facebookresearch/Mephisto/pull/857
changes:
@@ -273,7 +275,9 @@ jobs:
node-version: 16.16.0
- name: 🤖 Install Mephisto
- run: pip install -e .
+ run: |
+ pip install -e .
+ pip install detoxify
- name: 🖋 Create data directory
run: mkdir -p ~/mephisto/data
diff --git a/.gitignore b/.gitignore
index c35d4f71c..66471ea84 100644
--- a/.gitignore
+++ b/.gitignore
@@ -55,3 +55,6 @@ aws_credentials
docker-compose.local.*
env.local
my-review-interface
+docker/entrypoints/*.sh
+!docker/entrypoints/server.mturk.sh
+!docker/entrypoints/server.prolific.sh
diff --git a/README.md b/README.md
index c1cc348f0..7357eca8d 100644
--- a/README.md
+++ b/README.md
@@ -23,6 +23,8 @@ You can find complete details about the project on our [docs website](https://me
[Get started in 10 minutes](https://mephisto.ai/docs/guides/quickstart)
+[How to run projects](mephisto/README.md)
+
## Want to help?
Check out our [guidelines for contributing](https://github.com/facebookresearch/Mephisto/blob/main/CONTRIBUTING.md) and then take a look at some of our tagged issues: [good first issue](https://github.com/facebookresearch/Mephisto/labels/good%20first%20issue), [help wanted](https://github.com/facebookresearch/Mephisto/labels/help%20wanted).
diff --git a/docker/docker-compose.dev.vscode.yml b/docker/docker-compose.dev.vscode.yml
index d02342df9..56d7fea65 100644
--- a/docker/docker-compose.dev.vscode.yml
+++ b/docker/docker-compose.dev.vscode.yml
@@ -5,8 +5,8 @@
version: "3"
services:
- fb_mephisto_vscode:
- container_name: fb_mephisto_vscode
+ mephisto_dc_vscode:
+ container_name: mephisto_dc_vscode
build:
context: ..
dockerfile: Dockerfile
diff --git a/docker/docker-compose.dev.yml b/docker/docker-compose.dev.yml
index 0863f46f4..301841e7c 100644
--- a/docker/docker-compose.dev.yml
+++ b/docker/docker-compose.dev.yml
@@ -5,8 +5,8 @@
version: "3"
services:
- fb_mephisto:
- container_name: fb_mephisto
+ mephisto_dc:
+ container_name: mephisto_dc
build:
context: ..
dockerfile: Dockerfile
diff --git a/examples/parlai_chat_task_demo/hydra_configs/conf/base.yaml b/examples/parlai_chat_task_demo/hydra_configs/conf/base.yaml
index 299156a51..9c14009a6 100644
--- a/examples/parlai_chat_task_demo/hydra_configs/conf/base.yaml
+++ b/examples/parlai_chat_task_demo/hydra_configs/conf/base.yaml
@@ -1,8 +1,9 @@
+#@package _global_
+
# Copyright (c) Meta Platforms and its affiliates.
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
-#@package _global_
defaults:
- /mephisto/blueprint: parlai_chat
- /mephisto/architect: local
diff --git a/examples/parlai_chat_task_demo/hydra_configs/conf/custom_prebuilt.yaml b/examples/parlai_chat_task_demo/hydra_configs/conf/custom_prebuilt.yaml
index d7fe62275..086f28bfb 100644
--- a/examples/parlai_chat_task_demo/hydra_configs/conf/custom_prebuilt.yaml
+++ b/examples/parlai_chat_task_demo/hydra_configs/conf/custom_prebuilt.yaml
@@ -1,8 +1,9 @@
+#@package _global_
+
# Copyright (c) Meta Platforms and its affiliates.
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
-#@package _global_
defaults:
- base
mephisto:
diff --git a/examples/parlai_chat_task_demo/hydra_configs/conf/custom_simple.yaml b/examples/parlai_chat_task_demo/hydra_configs/conf/custom_simple.yaml
index b6bd05960..067370da2 100644
--- a/examples/parlai_chat_task_demo/hydra_configs/conf/custom_simple.yaml
+++ b/examples/parlai_chat_task_demo/hydra_configs/conf/custom_simple.yaml
@@ -1,8 +1,9 @@
+#@package _global_
+
# Copyright (c) Meta Platforms and its affiliates.
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
-#@package _global_
defaults:
- base
mephisto:
diff --git a/examples/parlai_chat_task_demo/hydra_configs/conf/example.yaml b/examples/parlai_chat_task_demo/hydra_configs/conf/example.yaml
index aff506b12..363b1d901 100644
--- a/examples/parlai_chat_task_demo/hydra_configs/conf/example.yaml
+++ b/examples/parlai_chat_task_demo/hydra_configs/conf/example.yaml
@@ -1,8 +1,9 @@
+#@package _global_
+
# Copyright (c) Meta Platforms and its affiliates.
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
-#@package _global_
defaults:
- base
mephisto:
diff --git a/examples/parlai_chat_task_demo/hydra_configs/conf/onboarding_example.yaml b/examples/parlai_chat_task_demo/hydra_configs/conf/onboarding_example.yaml
index 7877db304..479591980 100644
--- a/examples/parlai_chat_task_demo/hydra_configs/conf/onboarding_example.yaml
+++ b/examples/parlai_chat_task_demo/hydra_configs/conf/onboarding_example.yaml
@@ -1,8 +1,9 @@
+#@package _global_
+
# Copyright (c) Meta Platforms and its affiliates.
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
-#@package _global_
defaults:
- base
mephisto:
diff --git a/examples/remote_procedure/mnist/README.md b/examples/remote_procedure/mnist/README.md
index ba84f80ec..299bc1b19 100644
--- a/examples/remote_procedure/mnist/README.md
+++ b/examples/remote_procedure/mnist/README.md
@@ -1,11 +1,9 @@
-
-
# Mephisto MNIST Model Evaluator demo
This task is a simple model evaluation demo, presenting the worker with three spaces to draw images in, running an MNIST model on them to predict an output, and then allowing the worker to assess and correct that output.
-Introduced in [#677](https://github.com/facebookresearch/Mephisto/pull/677), some screenshots and discussion there.
\ No newline at end of file
+Introduced in [#677](https://github.com/facebookresearch/Mephisto/pull/677), some screenshots and discussion there.
+
+For more details how to write your own `webapp` (ReactJS application) see example in current directory.
+Also, read [short documentation](../../../mephisto/client/review_app/README.md)
+for the main Review App to understand how to add review part in your `webapp`.
diff --git a/examples/remote_procedure/mnist/custom-review/.gitignore b/examples/remote_procedure/mnist/custom-review/.gitignore
deleted file mode 100644
index 4d29575de..000000000
--- a/examples/remote_procedure/mnist/custom-review/.gitignore
+++ /dev/null
@@ -1,23 +0,0 @@
-# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
-
-# dependencies
-/node_modules
-/.pnp
-.pnp.js
-
-# testing
-/coverage
-
-# production
-/build
-
-# misc
-.DS_Store
-.env.local
-.env.development.local
-.env.test.local
-.env.production.local
-
-npm-debug.log*
-yarn-debug.log*
-yarn-error.log*
diff --git a/examples/remote_procedure/mnist/custom-review/README.md b/examples/remote_procedure/mnist/custom-review/README.md
deleted file mode 100644
index 80b13b356..000000000
--- a/examples/remote_procedure/mnist/custom-review/README.md
+++ /dev/null
@@ -1,92 +0,0 @@
-
-
-
-# Mephisto Review App
-
-A customizable base template for creating data exploration interfaces with first-class support for the ```mephisto review``` command.
-
-## Table of Contents
-1. [Usage](#Usage)
-2. [Notes](#Notes)
-3. [Customization](#Customization)
-
-## Usage
-
-1. Create a sample data file ```sample-data.csv``` (this template also ships with a sample data file for you):
-
- ```
- This is good text, row1
- This is bad text, row2
- ```
-
-2. Use `create-react-app` to generate a review app with this template as a base
-
- ```npx create-react-app my-review --template mephisto-review```
-
-3. Build your app
-
- cd my-review
- npm run build
-
-4. Run ```mephisto review``` (note that [Mephisto must be installed](https://github.com/facebookresearch/Mephisto/blob/main/docs/quickstart.md) to use this CLI command)
-
- $ cat sample-data.csv | mephisto review ~/path/to/your/my-review/build --all -o results.csv
-
-5. Open the review app in your browser
-
-If the review CLI command ran correctly, you should see output similar to the following on your terminal:
-
- Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
-
-Open ```http://127.0.0.1:5000/``` or the given URL in an internet browser
-
-6. Review your sample data with the UI prompts
-
-7. Press ```Ctrl-C``` in your terminal to shut down Mephisto review if it has not shut down automatically
-
-8. View your review results in the generated ```results.csv```
-
-## Notes
-
-- The ID property of review items represents their 0-indexed position within the given list of review items for Mephisto review.
-- If you wish to review jsonl type data, remember to add the --json flag to your Mephisto review command for proper data parsing.
-- If you wish to review all items in an unordered fashion include the ```--all``` flag in your Mephisto review command
-- If you wish to review all items once in an ordered fashion do not include the ```--all``` flag in your Mephisto review command
-
-## Customization
-
-To customize the review interface, make modifications to the ```index.js``` file
-You can customize the way review items are displayed for both of the two routes in the App:
-
-1. Customize the layout of all data:
-
- - **Modify the properties of the `````` tag under the ```/``` route on line 35.**
-
- - If you do not wish to use pagination, set the ```pagination``` property to ```false``` (default is true, must be a boolean value)
-
- - Adjust the number of results that appear per page of review by setting the ```resultsPerPage``` property (must be an integer)
-
- - Add custom renderers for rendering the layout of all items by passing a ```collectionRenderer``` property to AllItemView:
- - The collectionRenderer property must be a react component.
- - The collectionRenderer component will be passed down a property of ```items```, which represents an array of all review items.
- - The collectionRenderer component will also be passed down a property of ```itemRenderer``` which can collectionRenderer the data of a single item.
- - The itemRenderer can be placed in each of the individual item views of your collectionRenderer
- - By default the item collectionRenderer will be a header displaying the item id as well as a pre element containing the stringified JSON data of the item
-
- - Customize the layout of individual items in either the default collectionRenderer or your custom collectionRenderer by passing an ```itemRenderer``` property to AllItemView:
- - The itemRenderer must be a react component.
- - The itemRenderer will be passed down a property of ```item```
- - The item property will contain the properties of ```items``` representing the JSON data of the review item as well as an ```id``` representing the 0 indexed position of the item in the review data
-
-2. Customize the layout of individual item views:
-
- - **Modify the properties of the `````` tag under the ```/``` route on line 24.**
-
- - Add custom renderers for items by passing an ```itemRenderer``` property to ItemView:
- - The itemRenderer property must be a react component.
- - The itemRenderer component will be passed down a property of ```item```
- - The item property will contain the properties of ```items``` representing the JSON data of the review item as well as an ```id``` representing the 0 indexed position of the item in the review data
diff --git a/examples/remote_procedure/mnist/custom-review/package.json b/examples/remote_procedure/mnist/custom-review/package.json
deleted file mode 100644
index 19bf75a6a..000000000
--- a/examples/remote_procedure/mnist/custom-review/package.json
+++ /dev/null
@@ -1,42 +0,0 @@
-{
- "name": "custom-review",
- "version": "0.1.0",
- "private": true,
- "dependencies": {
- "@blueprintjs/core": "^3.54.0",
- "mephisto-review-hook": "^2.0.3",
- "react": "^18.2.0",
- "react-dom": "^18.2.0",
- "react-router-dom": "^5.3.3",
- "react-scripts": "5.0.1"
- },
- "scripts": {
- "start": "react-scripts start",
- "build": "react-scripts build",
- "test": "react-scripts test",
- "eject": "react-scripts eject",
- "serve": "serve -s build",
- "build-and-serve": "npm run build && npm run serve"
- },
- "eslintConfig": {
- "extends": [
- "react-app",
- "plugin:jsx-a11y/recommended"
- ],
- "plugins": [
- "jsx-a11y"
- ]
- },
- "browserslist": {
- "production": [
- ">0.2%",
- "not dead",
- "not op_mini all"
- ],
- "development": [
- "last 1 chrome version",
- "last 1 firefox version",
- "last 1 safari version"
- ]
- }
-}
diff --git a/examples/remote_procedure/mnist/custom-review/public/favicon.ico b/examples/remote_procedure/mnist/custom-review/public/favicon.ico
deleted file mode 100644
index a11777cc4..000000000
Binary files a/examples/remote_procedure/mnist/custom-review/public/favicon.ico and /dev/null differ
diff --git a/examples/remote_procedure/mnist/custom-review/public/index.html b/examples/remote_procedure/mnist/custom-review/public/index.html
deleted file mode 100644
index ec0ac83ef..000000000
--- a/examples/remote_procedure/mnist/custom-review/public/index.html
+++ /dev/null
@@ -1,44 +0,0 @@
-
-
-
-
-
- )}
-
- >
- );
-}
-
-export default ItemView;
diff --git a/examples/remote_procedure/mnist/custom-review/src/components/pagination/Pagination.jsx b/examples/remote_procedure/mnist/custom-review/src/components/pagination/Pagination.jsx
deleted file mode 100644
index aa0b060ba..000000000
--- a/examples/remote_procedure/mnist/custom-review/src/components/pagination/Pagination.jsx
+++ /dev/null
@@ -1,130 +0,0 @@
-/*
- * Copyright (c) Meta Platforms and its affiliates.
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
- */
-
-import React from "react";
-import { Button, Icon, Intent } from "@blueprintjs/core";
-import "./Pagination.css";
-
-/*
- * Creates pagination buttons based on the total number of pages to be paginated as well as the active page.
- * The setPage parameter allows the component to change the page state in its parent component.
- */
-
-function getPagination(page, totalPages) {
- //how many buttons are allowed to be displayed between the next and last page buttons
- const MAX_CELLS = 7;
- //middle entry of the buttons is the floor of half of the max
- const CELL_MID_LEN = Math.floor(MAX_CELLS / 2);
-
- /*stores the attributes of the buttons to be displayed
- * The term ellipsis in objects stored in this array refers to series of page numbers condensed into a single "..." button
- * The term number in objects stored in this array refers to the page number of the button if the button is not an ellipsis
- */
- let pages = [];
-
- if (totalPages > MAX_CELLS) {
- //if there are more pages than the maximum buttons we can display, calculate where to place ellipis
-
- //start by populating the first and last two buttons in the display with their page numbers
- pages[0] = { number: 1 };
- pages[1] = { number: 2 };
- pages[MAX_CELLS - 2] = { number: totalPages - 1 };
- pages[MAX_CELLS - 1] = { number: totalPages };
-
- if (page <= CELL_MID_LEN) {
- /*
- * if active page is less than or equal to the middle entry of the display
- * place ellipsis before the last button and populate the cells from the first button on
- */
- pages[MAX_CELLS - 2].ellipsis = true;
- for (let i = 2; i < MAX_CELLS - 2; i++) {
- pages[i] = { number: i + 1 };
- }
- } else if (totalPages - page < CELL_MID_LEN) {
- /*
- * else if the distance from active page to the last page is less than the middle entry of the display
- * place ellipsis after the first button and populate the cells from the last button prior
- */
- pages[1].ellipsis = true;
- for (let i = 2; i < MAX_CELLS - 2; i++) {
- pages[i] = { number: totalPages - MAX_CELLS + i + 1 };
- }
- } else {
- /*
- * otherwise the active page must be too far away from first and last buttons and two ellipsis must be placed on either side of the active pages
- * cells are populated assuming the middle button is the active page
- */
- pages[1].ellipsis = true;
- pages[MAX_CELLS - 2].ellipsis = true;
-
- pages[CELL_MID_LEN] = { number: page };
- for (let i = 1; i < MAX_CELLS - 5; i++) {
- pages[CELL_MID_LEN + i] = { number: page + i };
- pages[CELL_MID_LEN - i] = { number: page - i };
- }
- }
- } else {
- //If there are less pages than the max no ellipsis is needed and all buttons can be populated normally
- for (let i = 0; i < totalPages; i++) {
- pages[i] = { number: i + 1, ellipsis: false };
- }
- }
-
- //set active flag for active page
- pages.forEach((p) => {
- if (p.number === page) p.active = true;
- });
-
- //if at last page disable going forward and if at first page disable going back
- const isLeftArrowEnabled = page > 1;
- const isRightArrowEnabled = page < totalPages;
-
- return {
- pages,
- isLeftArrowEnabled,
- isRightArrowEnabled,
- };
-}
-
-function Pagination({ page = 1, totalPages = 1, setPage = () => {} }) {
- const { pages, isLeftArrowEnabled, isRightArrowEnabled } = getPagination(
- page,
- totalPages
- );
-
- return (
-
-
- {pages.map((p) => (
-
- );
-}
-
-export default Pagination;
diff --git a/examples/remote_procedure/mnist/custom-review/src/config.js b/examples/remote_procedure/mnist/custom-review/src/config.js
deleted file mode 100644
index 4ce1d12d1..000000000
--- a/examples/remote_procedure/mnist/custom-review/src/config.js
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * Copyright (c) Meta Platforms and its affiliates.
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
- */
-
-const config = {
- /*
- The port that useMephistoReview() in the browser will connect to the
- server on.
-
- Tip: This is useful when developing on the review interface locally so UI changes
- don't require you to kill and relaunch the server each time.
- You can launch `$ mephisto review --port 9000` once to launch
- the review server fed in with the appropriate data source, and then instead of using
- the interface at , you can run `npm start` to get a
- live-reloading developer build server.
- */
- // port: 9000,
-};
-
-export default config;
diff --git a/examples/remote_procedure/mnist/custom-review/src/custom/MyDataItem.js b/examples/remote_procedure/mnist/custom-review/src/custom/MyDataItem.js
deleted file mode 100644
index 3a015bac2..000000000
--- a/examples/remote_procedure/mnist/custom-review/src/custom/MyDataItem.js
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright (c) Meta Platforms and its affiliates.
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
- */
-
-import React from "react";
-import { Card } from "@blueprintjs/core";
-
-function AnnotationCard({ annotation }) {
- console.log(annotation);
- const { isCorrect, trueAnnotation, currentAnnotation, imgData } = annotation;
- return (
-
-
- );
-}
diff --git a/examples/remote_procedure/mnist/custom-review/src/index.css b/examples/remote_procedure/mnist/custom-review/src/index.css
deleted file mode 100644
index 0198ddbdf..000000000
--- a/examples/remote_procedure/mnist/custom-review/src/index.css
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
- * Copyright (c) Meta Platforms and its affiliates.
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
- */
-
-body {
- margin: 0;
- font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen",
- "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue",
- sans-serif;
- -webkit-font-smoothing: antialiased;
- -moz-osx-font-smoothing: grayscale;
- background-color: #ededed;
-}
-
-code {
- font-family: source-code-pro, Menlo, Monaco, Consolas, "Courier New",
- monospace;
-}
-
-.error {
- color: #e3242b;
-}
-
-.navbar-wrapper {
- width: 75vw;
- margin: 0 auto;
-}
-
-.all-item-view-search-bar {
- width: 60vw;
-}
-
-@media only screen and (max-width: 1200px) {
- .navbar-header {
- display: none !important;
- }
-
- .all-item-view-search-bar {
- width: 75vw;
- }
-}
-
-.all-item-view-message {
- margin: auto 0px;
-}
-
-.all-item-view-error {
- margin-top: 36px;
- max-width: 50%;
-}
-
-.all-item-view-no-data {
- max-width: 50%;
-}
-
-.all-item-view,
-.item-view {
- padding-top: 50px;
- width: 100vw;
- overflow: auto;
-}
-
-.item-dynamic {
- display: flex;
- flex-direction: column;
- align-items: center;
- font-size: calc(10px + 1vmin);
- height: calc(100vh - 50px);
-}
-
-.item-view-message {
- margin: auto 0px;
-}
-
-.item-view-error {
- position: absolute;
- bottom: 0px;
- left: 0;
- right: 0;
- background: red;
- color: white;
- padding: 10px;
- font-size: 14px;
-}
-
-.item-view-no-data {
- max-width: 50%;
-}
-
-.btn {
- margin: 0px 6px;
-}
-
-code {
- background-color: #ddd;
- padding: 3px 5px;
-}
-
-.highlight {
- background-color: hsla(60, 83%, 68%, 0.3);
-}
diff --git a/examples/remote_procedure/mnist/custom-review/src/index.js b/examples/remote_procedure/mnist/custom-review/src/index.js
deleted file mode 100644
index 5eca8623f..000000000
--- a/examples/remote_procedure/mnist/custom-review/src/index.js
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) Meta Platforms and its affiliates.
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
- */
-
-import React from "react";
-import ReactDOM from "react-dom";
-import { BrowserRouter as Router, Switch, Route } from "react-router-dom";
-import CollectionView from "./components/CollectionView";
-import ItemView from "./components/ItemView";
-import "normalize.css/normalize.css";
-import "@blueprintjs/icons/lib/css/blueprint-icons.css";
-import "@blueprintjs/core/lib/css/blueprint.css";
-import MyDataItem from "./custom/MyDataItem";
-import "./index.css";
-
-import { GridCollection, JSONItem } from "./renderers";
-
-ReactDOM.render(
-
-
-
-
- {/* For more information see the 'Customization' section of the README.md file. */}
-
-
-
- {/* For more information see the 'Customization' section of the README.md file. */}
-
-
-
-
- ,
- document.getElementById("root")
-);
diff --git a/examples/remote_procedure/mnist/custom-review/src/utils.js b/examples/remote_procedure/mnist/custom-review/src/utils.js
deleted file mode 100644
index 25efa7d51..000000000
--- a/examples/remote_procedure/mnist/custom-review/src/utils.js
+++ /dev/null
@@ -1,15 +0,0 @@
-/*
- * Copyright (c) Meta Platforms and its affiliates.
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
- */
-
-import config from "./config";
-
-function getHostname() {
- return config.port
- ? `${window.location.protocol}//${window.location.hostname}:${config.port}`
- : window.location.origin;
-}
-
-export { getHostname };
diff --git a/examples/remote_procedure/mnist/hydra_configs/conf/launch_with_local.yaml b/examples/remote_procedure/mnist/hydra_configs/conf/launch_with_local.yaml
index 73b5c99da..f3550fc2f 100644
--- a/examples/remote_procedure/mnist/hydra_configs/conf/launch_with_local.yaml
+++ b/examples/remote_procedure/mnist/hydra_configs/conf/launch_with_local.yaml
@@ -1,8 +1,9 @@
+#@package _global_
+
# Copyright (c) Meta Platforms and its affiliates.
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
-#@package _global_
defaults:
- /mephisto/blueprint: remote_procedure
- /mephisto/architect: local
@@ -10,6 +11,7 @@ defaults:
mephisto:
blueprint:
task_source: ${task_dir}/webapp/build/bundle.js
+ task_source_review: ${task_dir}/webapp/build/bundle.review.js
link_task_source: false
# NOTE pick something based on your task
block_qualification: test_qual_block
diff --git a/examples/remote_procedure/mnist/hydra_configs/conf/screening_example.yaml b/examples/remote_procedure/mnist/hydra_configs/conf/screening_example.yaml
index 52ea55aa5..c4c916d4f 100644
--- a/examples/remote_procedure/mnist/hydra_configs/conf/screening_example.yaml
+++ b/examples/remote_procedure/mnist/hydra_configs/conf/screening_example.yaml
@@ -1,8 +1,9 @@
+#@package _global_
+
# Copyright (c) Meta Platforms and its affiliates.
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
-#@package _global_
defaults:
- /mephisto/blueprint: remote_procedure
- /mephisto/architect: local
@@ -10,6 +11,7 @@ defaults:
mephisto:
blueprint:
task_source: ${task_dir}/webapp/build/bundle.js
+ task_source_review: ${task_dir}/webapp/build/bundle.review.js
link_task_source: false
units_per_assignment: 1
passed_qualification_name: "test-mnist-passed-qualification"
diff --git a/examples/remote_procedure/mnist/model.py b/examples/remote_procedure/mnist/model.py
index 7e2299cb2..adc4a19ed 100644
--- a/examples/remote_procedure/mnist/model.py
+++ b/examples/remote_procedure/mnist/model.py
@@ -1,6 +1,6 @@
#!/usr/bin/env python3
-# Copyright (c) Meta Platforms and its affiliates.
+# Copyright (c) Facebook, Inc. and its affiliates.
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
diff --git a/examples/remote_procedure/mnist/run_task.py b/examples/remote_procedure/mnist/run_task.py
index 6a51d5f66..9dc6c96b5 100644
--- a/examples/remote_procedure/mnist/run_task.py
+++ b/examples/remote_procedure/mnist/run_task.py
@@ -1,6 +1,6 @@
#!/usr/bin/env python3
-# Copyright (c) Meta Platforms and its affiliates.
+# Copyright (c) Facebook, Inc. and its affiliates.
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
@@ -52,7 +52,7 @@ def validate_screening_unit(unit: Unit):
agent = unit.get_assigned_agent()
if agent is not None:
data = agent.state.get_data()
- annotation = data["outputs"]["final_submission"]["annotations"][0]
+ annotation = data["final_submission"]["annotations"][0]
if annotation["isCorrect"] and annotation["currentAnnotation"] == 3:
return True
return False
diff --git a/examples/remote_procedure/mnist/webapp/cypress.config.js b/examples/remote_procedure/mnist/webapp/cypress.config.js
index a8f21d574..c54a8b3b0 100644
--- a/examples/remote_procedure/mnist/webapp/cypress.config.js
+++ b/examples/remote_procedure/mnist/webapp/cypress.config.js
@@ -1,9 +1,3 @@
-/*
- * Copyright (c) Meta Platforms and its affiliates.
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
- */
-
module.exports = {
video: false,
diff --git a/examples/remote_procedure/mnist/webapp/cypress/e2e/remote_procedure_mnist.cy.js b/examples/remote_procedure/mnist/webapp/cypress/e2e/remote_procedure_mnist.cy.js
index 0180d316f..89165224d 100644
--- a/examples/remote_procedure/mnist/webapp/cypress/e2e/remote_procedure_mnist.cy.js
+++ b/examples/remote_procedure/mnist/webapp/cypress/e2e/remote_procedure_mnist.cy.js
@@ -1,9 +1,3 @@
-/*
- * Copyright (c) Meta Platforms and its affiliates.
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
- */
-
describe("Loads remote_procedure_mnist", () => {
it("Makes request for agent", () => {
cy.intercept({ pathname: "/request_agent" }).as("agentRequest");
diff --git a/examples/remote_procedure/mnist/webapp/link_mephisto_task.sh b/examples/remote_procedure/mnist/webapp/link_mephisto_task.sh
index 6936741b2..1c20308b1 100644
--- a/examples/remote_procedure/mnist/webapp/link_mephisto_task.sh
+++ b/examples/remote_procedure/mnist/webapp/link_mephisto_task.sh
@@ -1,7 +1,2 @@
#!/bin/sh
-
-# Copyright (c) Meta Platforms and its affiliates.
-# This source code is licensed under the MIT license found in the
-# LICENSE file in the root directory of this source tree.
-
npm link mephisto-task
diff --git a/examples/remote_procedure/mnist/webapp/package.json b/examples/remote_procedure/mnist/webapp/package.json
index e21012b8a..05c0debca 100644
--- a/examples/remote_procedure/mnist/webapp/package.json
+++ b/examples/remote_procedure/mnist/webapp/package.json
@@ -5,7 +5,8 @@
"main": "webpack.config.js",
"scripts": {
"dev": "webpack --mode development",
- "test": "cypress open"
+ "test": "cypress open",
+ "build:review": "webpack --config=webpack.config.review.js --mode development"
},
"keywords": [],
"author": "",
diff --git a/examples/remote_procedure/mnist/webapp/src/app.jsx b/examples/remote_procedure/mnist/webapp/src/app.jsx
index 6b8854b33..e30b47148 100644
--- a/examples/remote_procedure/mnist/webapp/src/app.jsx
+++ b/examples/remote_procedure/mnist/webapp/src/app.jsx
@@ -1,7 +1,9 @@
/*
- * Copyright (c) Meta Platforms and its affiliates.
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
+ * Copyright (c) 2017-present, Facebook, Inc.
+ * All rights reserved.
+ * This source code is licensed under the BSD-style license found in the
+ * LICENSE file in the root directory of this source tree. An additional grant
+ * of patent rights can be found in the PATENTS file in the same directory.
*/
import React from "react";
@@ -64,6 +66,7 @@ function RemoteProcedureApp() {
if (isPreview) {
return ;
}
+
return (
@@ -71,7 +74,7 @@ function RemoteProcedureApp() {
diff --git a/examples/remote_procedure/mnist/webapp/src/components/core_components.jsx b/examples/remote_procedure/mnist/webapp/src/components/core_components.jsx
index 61cafbdee..3b95c6a0c 100644
--- a/examples/remote_procedure/mnist/webapp/src/components/core_components.jsx
+++ b/examples/remote_procedure/mnist/webapp/src/components/core_components.jsx
@@ -1,7 +1,9 @@
/*
- * Copyright (c) Meta Platforms and its affiliates.
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
+ * Copyright (c) 2017-present, Facebook, Inc.
+ * All rights reserved.
+ * This source code is licensed under the BSD-style license found in the
+ * LICENSE file in the root directory of this source tree. An additional grant
+ * of patent rights can be found in the PATENTS file in the same directory.
*/
import React, { Fragment } from "react";
@@ -140,13 +142,22 @@ function Instructions({ taskData }) {
}
function TaskFrontend({
- taskData,
- finalResults = null,
classifyDigit,
+ finalResults = null,
handleSubmit,
+ initialTaskData,
}) {
+ if (finalResults) {
+ return (
+
+ );
+ }
+
// TODO Update this file such that, if finalResults contains data we render in review mode with that data
- const NUM_ANNOTATIONS = taskData.isScreeningUnit ? 1 : 3;
+ const NUM_ANNOTATIONS = initialTaskData.isScreeningUnit ? 1 : 3;
const [annotations, updateAnnotations] = React.useReducer(
(currentAnnotation, { updateIdx, updatedAnnotation }) => {
return currentAnnotation.map((val, idx) =>
@@ -165,7 +176,7 @@ function TaskFrontend({
return (
+ );
+}
+
+export {
+ LoadingScreen,
+ TaskFrontend as BaseFrontend,
+ ReviewFrontend,
+ Instructions,
+};
diff --git a/examples/remote_procedure/mnist/webapp/src/main.js b/examples/remote_procedure/mnist/webapp/src/main.js
index f710171aa..f4be63f80 100644
--- a/examples/remote_procedure/mnist/webapp/src/main.js
+++ b/examples/remote_procedure/mnist/webapp/src/main.js
@@ -1,5 +1,5 @@
/*
- * Copyright (c) Meta Platforms and its affiliates.
+ * Copyright (c) Facebook, Inc. and its affiliates.
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
diff --git a/examples/remote_procedure/mnist/custom-review/src/components/pagination/index.js b/examples/remote_procedure/mnist/webapp/src/review.js
similarity index 65%
rename from examples/remote_procedure/mnist/custom-review/src/components/pagination/index.js
rename to examples/remote_procedure/mnist/webapp/src/review.js
index a1dfc64a3..8244f97d2 100644
--- a/examples/remote_procedure/mnist/custom-review/src/components/pagination/index.js
+++ b/examples/remote_procedure/mnist/webapp/src/review.js
@@ -4,6 +4,6 @@
* LICENSE file in the root directory of this source tree.
*/
-import Pagination from "./Pagination";
-
-export { Pagination };
+import "./reviewapp.jsx";
+import "./css/style.css";
+import "bootstrap/dist/css/bootstrap.min.css";
diff --git a/examples/remote_procedure/mnist/webapp/src/reviewapp.jsx b/examples/remote_procedure/mnist/webapp/src/reviewapp.jsx
new file mode 100644
index 000000000..e93618b21
--- /dev/null
+++ b/examples/remote_procedure/mnist/webapp/src/reviewapp.jsx
@@ -0,0 +1,58 @@
+/*
+ * Copyright (c) 2017-present, Facebook, Inc.
+ * All rights reserved.
+ * This source code is licensed under the BSD-style license found in the
+ * LICENSE file in the root directory of this source tree. An additional grant
+ * of patent rights can be found in the PATENTS file in the same directory.
+ */
+
+import React from "react";
+import ReactDOM from "react-dom";
+import { BaseFrontend } from "./components/core_components.jsx";
+
+function ReviewApp() {
+ const appRef = React.useRef(null);
+ const [reviewData, setReviewData] = React.useState(null);
+
+ // Requirement #1. Render review components after receiving Task data via message
+ window.onmessage = function (e) {
+ const data = JSON.parse(e.data);
+ setReviewData(data["REVIEW_DATA"]);
+ };
+
+ // Requirement #2. Resize iframe height to fit its content
+ React.useLayoutEffect(() => {
+ function updateSize() {
+ if (appRef.current) {
+ window.top.postMessage(
+ JSON.stringify({
+ IFRAME_DATA: {
+ height: appRef.current.offsetHeight,
+ },
+ }),
+ "*"
+ );
+ }
+ }
+ window.addEventListener("resize", updateSize);
+ updateSize();
+ return () => window.removeEventListener("resize", updateSize);
+ }, []);
+
+ // Requirement #3. This component must return a div with `ref={appRef}`
+ // so we can get displayed height of this component (for iframe resizing)
+ return (
+
+ {reviewData ? (
+
+ ) : (
+
Loading...
+ )}
+
+ );
+}
+
+ReactDOM.render(, document.getElementById("app"));
diff --git a/examples/remote_procedure/mnist/webapp/src/static/index.html b/examples/remote_procedure/mnist/webapp/src/static/index.html
index a8ed9fea6..9737ee19f 100644
--- a/examples/remote_procedure/mnist/webapp/src/static/index.html
+++ b/examples/remote_procedure/mnist/webapp/src/static/index.html
@@ -1,7 +1,8 @@
-
diff --git a/examples/remote_procedure/mnist/webapp/webpack.config.js b/examples/remote_procedure/mnist/webapp/webpack.config.js
index 7c92f67df..609297eda 100644
--- a/examples/remote_procedure/mnist/webapp/webpack.config.js
+++ b/examples/remote_procedure/mnist/webapp/webpack.config.js
@@ -1,5 +1,5 @@
/*
- * Copyright (c) Meta Platforms and its affiliates.
+ * Copyright (c) Facebook, Inc. and its affiliates.
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
diff --git a/examples/remote_procedure/mnist/webapp/webpack.config.review.js b/examples/remote_procedure/mnist/webapp/webpack.config.review.js
new file mode 100644
index 000000000..3744e68c7
--- /dev/null
+++ b/examples/remote_procedure/mnist/webapp/webpack.config.review.js
@@ -0,0 +1,53 @@
+/*
+ * Copyright (c) Facebook, Inc. and its affiliates.
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
+
+var path = require("path");
+var webpack = require("webpack");
+
+module.exports = {
+ entry: "./src/review.js",
+ output: {
+ path: __dirname,
+ filename: "build/bundle.review.js",
+ },
+ resolve: {
+ alias: {
+ react: path.resolve("./node_modules/react"),
+ },
+ fallback: {
+ net: false,
+ dns: false,
+ },
+ },
+ module: {
+ rules: [
+ {
+ test: /\.(js|jsx)$/,
+ loader: "babel-loader",
+ exclude: /node_modules/,
+ options: { presets: ["@babel/env"] },
+ },
+ {
+ test: /\.css$/,
+ use: ["style-loader", "css-loader"],
+ },
+ {
+ test: /\.(svg|png|jpe?g|ttf)$/,
+ loader: "url-loader",
+ options: { limit: 100000 },
+ },
+ {
+ test: /\.tsx?$/,
+ use: "ts-loader",
+ exclude: /node_modules/,
+ },
+ {
+ test: /\.jpg$/,
+ loader: "file-loader",
+ },
+ ],
+ },
+};
diff --git a/examples/remote_procedure/template/hydra_configs/conf/launch_with_local.yaml b/examples/remote_procedure/template/hydra_configs/conf/launch_with_local.yaml
index 6b05dd67c..5ab8d7af9 100644
--- a/examples/remote_procedure/template/hydra_configs/conf/launch_with_local.yaml
+++ b/examples/remote_procedure/template/hydra_configs/conf/launch_with_local.yaml
@@ -1,8 +1,9 @@
+#@package _global_
+
# Copyright (c) Meta Platforms and its affiliates.
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
-#@package _global_
defaults:
- /mephisto/blueprint: remote_procedure
- /mephisto/architect: local
diff --git a/examples/remote_procedure/toxicity_detection/hydra_configs/conf/launch_with_local.yaml b/examples/remote_procedure/toxicity_detection/hydra_configs/conf/launch_with_local.yaml
index 570cf1ee7..1f5bbdbb8 100644
--- a/examples/remote_procedure/toxicity_detection/hydra_configs/conf/launch_with_local.yaml
+++ b/examples/remote_procedure/toxicity_detection/hydra_configs/conf/launch_with_local.yaml
@@ -1,8 +1,9 @@
+#@package _global_
+
# Copyright (c) Meta Platforms and its affiliates.
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
-#@package _global_
defaults:
- /mephisto/blueprint: remote_procedure
- /mephisto/architect: local
diff --git a/examples/simple_static_task/data_mturk.csv b/examples/simple_static_task/data_mturk.csv
new file mode 100644
index 000000000..fb6ec5d5a
--- /dev/null
+++ b/examples/simple_static_task/data_mturk.csv
@@ -0,0 +1,2 @@
+character_name,character_description
+Loaded Character 1,I'm a Mturk character loaded from Mephisto!
diff --git a/examples/simple_static_task/hydra_configs/conf/example.yaml b/examples/simple_static_task/hydra_configs/conf/example.yaml
index 0002516dc..ad17f169a 100644
--- a/examples/simple_static_task/hydra_configs/conf/example.yaml
+++ b/examples/simple_static_task/hydra_configs/conf/example.yaml
@@ -1,8 +1,9 @@
+#@package _global_
+
# Copyright (c) Meta Platforms and its affiliates.
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
-#@package _global_
defaults:
- /mephisto/blueprint: static_task
- /mephisto/architect: local
@@ -11,6 +12,7 @@ mephisto:
blueprint:
data_csv: ${task_dir}/data.csv
task_source: ${task_dir}/server_files/demo_task.html
+ task_source_review: ${task_dir}/webapp/build/bundle.review.js
preview_source: ${task_dir}/server_files/demo_preview.html
extra_source_dir: ${task_dir}/server_files/extra_refs
units_per_assignment: 2
diff --git a/examples/simple_static_task/hydra_configs/conf/onboarding_example.yaml b/examples/simple_static_task/hydra_configs/conf/onboarding_example.yaml
index 721209708..b11e4c5b4 100644
--- a/examples/simple_static_task/hydra_configs/conf/onboarding_example.yaml
+++ b/examples/simple_static_task/hydra_configs/conf/onboarding_example.yaml
@@ -1,8 +1,9 @@
+#@package _global_
+
# Copyright (c) Meta Platforms and its affiliates.
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
-#@package _global_
defaults:
- /mephisto/blueprint: static_task
- /mephisto/architect: local
diff --git a/examples/simple_static_task/hydra_configs/conf/prolific_example.yaml b/examples/simple_static_task/hydra_configs/conf/prolific_example.yaml
index da5db7243..7d7416643 100644
--- a/examples/simple_static_task/hydra_configs/conf/prolific_example.yaml
+++ b/examples/simple_static_task/hydra_configs/conf/prolific_example.yaml
@@ -1,8 +1,9 @@
+#@package _global_
+
# Copyright (c) Meta Platforms and its affiliates.
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
-#@package _global_
defaults:
- /mephisto/blueprint: static_task
- /mephisto/architect: ec2
@@ -42,5 +43,5 @@ mephisto:
- 6463d44ed1b61a8fb4e0765a
- 6463d488c2f2821eaa2fa13f
- name: "ApprovalRateEligibilityRequirement"
- minimum_approval_rate: 0
+ minimum_approval_rate: 1
maximum_approval_rate: 100
diff --git a/examples/simple_static_task/static_test_mturk_script.py b/examples/simple_static_task/static_test_mturk_script.py
new file mode 100644
index 000000000..3ce13c6b8
--- /dev/null
+++ b/examples/simple_static_task/static_test_mturk_script.py
@@ -0,0 +1,31 @@
+#!/usr/bin/env python3
+
+# Copyright (c) Facebook, Inc. and its affiliates.
+# This source code is licensed under the MIT license found in the
+# LICENSE file in the root directory of this source tree.
+
+from omegaconf import DictConfig
+
+from mephisto.abstractions.blueprints.abstract.static_task.static_blueprint import (
+ SharedStaticTaskState,
+)
+from mephisto.data_model.qualification import QUAL_GREATER_EQUAL
+from mephisto.tools.scripts import task_script
+from mephisto.utils.qualifications import make_qualification_dict
+
+
+@task_script(default_config_file="mturk_example")
+def main(operator, cfg: DictConfig) -> None:
+ shared_state = SharedStaticTaskState()
+
+ # Mephisto qualifications
+ # shared_state.qualifications = [
+ # make_qualification_dict('sample_qual_name', QUAL_GREATER_EQUAL, 1),
+ # ]
+
+ operator.launch_task_run(cfg.mephisto, shared_state)
+ operator.wait_for_runs_then_shutdown(skip_input=True, log_rate=30)
+
+
+if __name__ == "__main__":
+ main()
diff --git a/examples/static_react_task/hydra_configs/conf/example.yaml b/examples/static_react_task/hydra_configs/conf/example.yaml
index 3822ad10a..c68834ed6 100644
--- a/examples/static_react_task/hydra_configs/conf/example.yaml
+++ b/examples/static_react_task/hydra_configs/conf/example.yaml
@@ -1,8 +1,9 @@
+#@package _global_
+
# Copyright (c) Meta Platforms and its affiliates.
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
-#@package _global_
defaults:
- /mephisto/blueprint: static_react_task
- /mephisto/architect: local
diff --git a/examples/static_react_task/hydra_configs/conf/onboarding_example.yaml b/examples/static_react_task/hydra_configs/conf/onboarding_example.yaml
index 71b871b4f..68ef1182e 100644
--- a/examples/static_react_task/hydra_configs/conf/onboarding_example.yaml
+++ b/examples/static_react_task/hydra_configs/conf/onboarding_example.yaml
@@ -1,8 +1,9 @@
+#@package _global_
+
# Copyright (c) Meta Platforms and its affiliates.
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
-#@package _global_
defaults:
- /mephisto/blueprint: static_react_task
- /mephisto/architect: local
diff --git a/examples/static_react_task/hydra_configs/conf/screening_example.yaml b/examples/static_react_task/hydra_configs/conf/screening_example.yaml
index 1422d5fa2..ccde1473a 100644
--- a/examples/static_react_task/hydra_configs/conf/screening_example.yaml
+++ b/examples/static_react_task/hydra_configs/conf/screening_example.yaml
@@ -1,8 +1,9 @@
+#@package _global_
+
# Copyright (c) Meta Platforms and its affiliates.
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
-#@package _global_
defaults:
- /mephisto/blueprint: static_react_task
- /mephisto/architect: local
diff --git a/examples/static_react_task_with_tips/hydra_configs/conf/example.yaml b/examples/static_react_task_with_tips/hydra_configs/conf/example.yaml
index 176cafac6..17a6906c0 100644
--- a/examples/static_react_task_with_tips/hydra_configs/conf/example.yaml
+++ b/examples/static_react_task_with_tips/hydra_configs/conf/example.yaml
@@ -1,8 +1,9 @@
+#@package _global_
+
# Copyright (c) Meta Platforms and its affiliates.
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
-#@package _global_
defaults:
- /mephisto/blueprint: static_react_task
- /mephisto/architect: local
diff --git a/examples/static_react_task_with_tips/hydra_configs/conf/onboarding_example.yaml b/examples/static_react_task_with_tips/hydra_configs/conf/onboarding_example.yaml
index 2c7fcbc33..a2c0a717f 100644
--- a/examples/static_react_task_with_tips/hydra_configs/conf/onboarding_example.yaml
+++ b/examples/static_react_task_with_tips/hydra_configs/conf/onboarding_example.yaml
@@ -1,8 +1,9 @@
+#@package _global_
+
# Copyright (c) Meta Platforms and its affiliates.
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
-#@package _global_
defaults:
- /mephisto/blueprint: static_react_task
- /mephisto/architect: local
diff --git a/hydra_configs/profile/local_dev.yaml b/hydra_configs/profile/local_dev.yaml
index 92a0951f0..ef2d60d4e 100644
--- a/hydra_configs/profile/local_dev.yaml
+++ b/hydra_configs/profile/local_dev.yaml
@@ -1,8 +1,9 @@
+# @package _global_
+
# Copyright (c) Meta Platforms and its affiliates.
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
-# @package _global_
defaults:
- override /mephisto/architect: local
- override /mephisto/provider: mock
diff --git a/mephisto/README.md b/mephisto/README.md
index 6734dde4e..6ca1a575e 100644
--- a/mephisto/README.md
+++ b/mephisto/README.md
@@ -4,12 +4,259 @@
LICENSE file in the root directory of this source tree.
-->
-# Mephisto
+# About Mephisto
+
+## Purpose
+
+The purpose of Mephisto is to run a data collection project that you can launch it locally or on a remote machine. A launched project (TaskRun) does the following:
+
+- Builds necessary infra with an Architect (local-based mock, or cloud-based EC2/Heroku)
+- The infra server does the following, until specified number of Task Units is reached:
+ - It generates a link where a worker can provide their project input (Task Unit)
+ - The links are sent to a human cloud (Provider), and a worker clicks on the link
+ - The links displays a UI task template (Task App) to the worker; submitting the task sends worker's input to the infra server
+ - The infra server sends (via a web socket) data to the TaskRun that you're running locally
+ - TaskRun stores the data in local database/files, and dispatches new Task Units as needed
+- Finally, you can review worker input using Review App, and export the data out of the database as needed.
+
+---
+
+## Architecture
+
This is the main package directory, containing all of the core workings of Mephisto. They roughly follow the divisions noted in the [architecture overview doc](https://github.com/facebookresearch/Mephisto/blob/main/docs/architecture_overview.md#agent). The breakdown is as following:
- `abstractions`: Contains the interface classes for the core abstractions in Mephisto, as well as implementations of those interfaces. These are the Architects, Blueprints, Crowd Providers, and Databases.
-- `client`: Contains user interfaces for using Mephisto at a very high level. Primarily comprised of the python code for the cli and the web views.
+- `client`: Contains user interfaces for using Mephisto at a very high level. Primarily comprised of the python code for the cli and the web views, such as Review App.
- `data_model`: Contains the data model components as described in the architecture document. These are the relevant data structures that build upon the underlying MephistoDB, and are utilized throughout the Mephisto codebase.
- `operations`: Contains low-level operational code that performs more complex functionality on top of the Mephisto data model.
- `scripts`: Contains commonly executed convenience scripts for Mephisto users.
- `tools`: Contains helper methods and modules that allow for lower-level access to the Mephisto data model than the clients provide. Useful for creating custom workflows and scripts that are built on Mephisto.
+
+#### Providers
+
+Provider is a host of human cloud, or worker crowd. Currently the following Providers are supported:
+
+- `Mock` - runs locally, assuming your machine has a static IP. Used for testing and elementary projects.
+- `MTurk` - Amazon Mechanical Turk provider (will eventually be deprecated)
+- `MTurk Sandbox` - testing setup for Mturk
+- `Prolific` - a human cloud prvider that's more reliable than Mturk, albeit with fewer workers
+
+#### Architects
+
+Architect is the manager of infrastructure of a project. Currently we support the following infrastructure hosts:
+
+- `local` - your local machine, assuming it has a static IP address.
+- `ec2` - AWS EC2 servers (in FAIR cluster)
+- `heroku` - Heroku servers (no future development, in maintenance mode)
+- `mock` - used for testing, for example, in Mephisto's unittests
+
+---
+
+# Sample Mephisto projects
+
+Mephisto repo contains several sample projects.
+Let's try to run them with `docker-compose`, starting from the easiest one.
+(You can install Docker [here](https://docs.docker.com/engine/install/).)
+
+If you don't want to engage any cloud infrastructure, you can run all sample projects on a local machine with `mock` architect. Note that for any architect project data will be stored in SQLite databases and local files.
+
+A few notes:
+- If a project breaks and does not shut down cleanly, you may need to remove `tmp` directory in repo root before re-launching. (Otherwise you could see errors like Prometeus cannot start, etc.)
+- To see more browser links for task units (assignments) within a TaskRun, check console logs (and remember to use correct port)
+- If you terminate a TaskRun, you can launch it again, and results from all TaskRuns will be automatically collated
+- Note that most detailed logs are written into files in `outputs/` directory in repo root (not in the console)
+
+---
+
+#### 1. Simple HTML-based task
+
+A simple project with HTML-based UI task template [simple_static_task](../examples/simple_static_task)
+
+- Default config file: [example.yaml](../examples/simple_static_task/hydra_configs/conf/example.yaml).
+- Launch command:
+ ```shell
+ docker-compose -f docker/docker-compose.dev.yml run \
+ --build \
+ --publish 3001:3000 \
+ --rm mephisto_dc \
+ python /mephisto/examples/simple_static_task/static_test_script.py
+ ```
+- Browser page (for the first task unit): [http://localhost:3001/?worker_id=x&assignment_id=1](http://localhost:3001/?worker_id=x&assignment_id=1)
+- Browser page should display an image, instruction, select and file inputs, and a submit button.
+
+---
+
+#### 2. Simple React-based task
+
+A simple project with React-based UI task template [static_react_task](../examples/static_react_task)
+
+- Default config file: [example.yaml](../examples/static_react_task/hydra_configs/conf/example.yaml).
+- Launch command:
+ ```shell
+ docker-compose -f docker/docker-compose.dev.yml run \
+ --build \
+ --publish 3001:3000 \
+ --rm mephisto_dc \
+ python /mephisto/examples/static_react_task/run_task.py
+ ```
+- Browser page (for the first task unit): [http://localhost:3001/?worker_id=x&assignment_id=1](http://localhost:3001/?worker_id=x&assignment_id=1).
+- Browser page should display an instruction line and two buttons (green and red).
+
+---
+
+#### 3. Task with dynamic input
+
+A more complex example featuring worker-generated dynamic input: [mnist](../examples/remote_procedure/mnist).
+
+- Default config file: [launch_with_local.yaml](../examples/remote_procedure/mnist/hydra_configs/conf/launch_with_local.yaml).
+- Launch command:
+ ```shell
+ docker-compose -f docker/docker-compose.dev.yml run \
+ --build \
+ --publish 3001:3000 \
+ --rm mephisto_dc \
+ apt install curl && \
+ pip install grafana torch pillow numpy && \
+ mephisto metrics install && \
+ python /mephisto/examples/remote_procedure/mnist/run_task.py
+ ```
+- Browser page (for the first task unit): [http://localhost:3001/?worker_id=x&assignment_id=1](http://localhost:3001/?worker_id=x&assignment_id=1).
+- Browser page should display instructions and a layout with 3 rectangle fields for drawing numbers with a mouse, each field having inputs at the bottom.
+
+---
+
+## Review collected data
+
+After running the above examples, your local database will contain some input from workers. You can review it, and assign qualifications to those workers, using Mephisto's Review App.
+
+- Launch command:
+```shell
+docker-compose -f docker/docker-compose.dev.yml run \
+ --build \
+ --publish 8081:8000 \
+ --rm mephisto_dc \
+ mephisto review_app -h 0.0.0.0 -p 8000 -d True -f False -o False
+```
+- Browser page: [http://localhost:8081/](http://localhost:8081/).
+
+The UI is fairly intuitive, and for more details you can consult [README.md for TaskReview app](mephisto/client/review_app/README.md).
+
+---
+
+## Export collected data
+
+All TaskRun data is stored in `data` directory of repo root:
+
+- `data/database.db` is Mephisto's main SQLite database with generic objects data
+ - Note that its DB schema is defined in `mephisto/abstractions/databases/local_database.py` file
+- `data/data` folder contains helper files, such as detailed input/output data in JSON
+- `data/mock/mock.db` or `data/mturk/mturk.db` or `data/prolific/prolific.db` is Provider-specific SQLite database (DB schema varies greatly depending on the provider).
+
+Worker responses metadata are in these databases, and actual data of their responses in these folders. After TaskRun is completed and results are reviewed, you can access workers raw responses using `mephisto/tools/examine_utils.py` script
+
+---
+
+# Your Mephisto project
+
+Here's a list of steps on how to build and run your own custom task.
+
+## Write Task App code
+
+In order to launch your own customized project, you will need to write a React app that will display instructions/inputs to workers. You can start by duplicating an existing Task App code (e.g. `examples/static_react_task` directory) and customizing it to your needs. The process goes like this:
+
+1. Copy `static_react_task` directory to your project directory within Mephisto repo
+2. Customize task's back-end code in `run_task.py` script to pass relevant data to `SharedStaticTaskState`, set `shared_state.prolific_specific_qualifications`, `shared_state.qualifications` (for custom qualifications), etc
+3. Customize task-related parameters variables in your `conf/.yaml` file as needed.
+ - Some examples of variables from `blueprint` category are:
+ - `extra_source_dir`: optional path to sources that Task App may refer to (images, video, css, scripts, etc)
+ - `data_json`: path to a json file containing task data
+ - To see other configurable blueprint variables, type `mephisto wut blueprint=static_task`
+4. Customize task's front-end code, with starting point being `//webapp/src/components/core_components.jsx` (you caninclude an onboarding step if you like).
+5. Add the ability to review results of your task app. In short, you need to implement additional component or logic to render json data that TaskReview app will provide. For more details, read this [doc](mephisto/client/review_app/README.md).
+6. Run `run_task.py` to dry-run your task on localhost.
+7. Repeat 5 & 6 until you're happy with your task.
+8. Launch a small batch with a chosen crowd provider to see how real workers handle your task.
+9. Iterate more.
+10. Collect some good data.
+
+---
+
+## Configure Task parameters
+
+This is a sample YAML configuration to run your Task on **AWS EC2** architect with **Prolific** provider
+
+1. Set Prolific as your provider
+ ```yaml
+ defaults:
+ - /mephisto/provider: prolific
+ ```
+
+2. Set EC2 as an architect
+ ```yaml
+ defaults:
+ - /mephisto/architect: ec2
+ mephisto:
+ architect:
+ _architect_type: ec2
+ profile_name: mephisto-router-iam
+ subdomain: "2023-08-23.1"
+ ```
+
+ Where:
+ - `profile_name` - EC2 service profile name (used for authentication and domain name selection)
+ - `subdomain` - must be unique across all TaskRuns. Subdomain on which workers can access their Task Unit
+
+3. Set Prolific-specific task parameters. Sample parameters could look similar to this:
+ ```yaml
+ mephisto:
+ provider:
+ prolific_id_option: "url_parameters"
+ prolific_workspace_name: "My Workspace"
+ prolific_project_name: "My Project"
+ prolific_allow_list_group_name: "Allow list"
+ prolific_block_list_group_name: "Block list"
+ prolific_eligibility_requirements:
+ - name: "CustomWhitelistEligibilityRequirement"
+ white_list:
+ - 6463d32f50a18041930b71be
+ - 6463d3922d7d99360896228f
+ - 6463d40e8d5d2f0cce2b3b23
+ - name: "ApprovalRateEligibilityRequirement"
+ minimum_approval_rate: 1
+ maximum_approval_rate: 100
+ ```
+
+ For all available Prolific-specific parameters see `mephisto.abstractions.providers.prolific.prolific_provider.ProlificProviderArgs` class
+ and [Prolific API Docs](https://docs.prolific.com/docs/api-docs/public/#tag/Studies).
+
+ Note that `prolific_eligibility_requirements` does not include custom worker qualifications, these are maintained in your local Mephisto database. These can be specified in `run_task.py` script (as example, see `examples/simple_static_task/static_test_prolific_script.py`)
+
+---
+
+## Launch TaskRun
+
+1. Specify auth credentials for your Prolific account. To do so, you need to run command
+ ```shell
+ mephisto register prolific name=prolific api_key=API_KEY_FOR_YOUR_PROLIFIC_ACCOUNT
+ ```
+or simply embed that command into your docker-compose entrypoint script.
+
+2. Launch a new TaskRun (instead of `examples/simple_static_task` here specify path to your own Task code; `HYDRA_FULL_ERROR=1` is optional and prints out detailed error info)
+
+ ```shell
+ docker-compose -f docker/docker-compose.dev.yml run \
+ --build \
+ --rm mephisto_dc \
+ rm -rf /mephisto/tmp && \
+ HYDRA_FULL_ERROR=1 python /mephisto/examples/simple_static_task/static_test_prolific_script.py
+ ```
+
+ This TaskRun script will spin up an EC2 server, upload your React Task App to it, and create a Study on Prolific. Now all eligible workers will see your Task Units (with links poiting to EC2 server) on Prolific, and can complete it.
+
+3. Leave the Task running in the console until all worker submissions are received. If TaskRun was interrupted, you can restart it using the same commands. After all submissions are received, the Architect will automatically shut down actiive TaskRun.
+
+---
+
+## Process results
+
+Final steps of reviewing worker submissions and exporting the results will be same as described under sample Mephisto project runs.
diff --git a/mephisto/abstractions/blueprints/abstract/static_task/static_blueprint.py b/mephisto/abstractions/blueprints/abstract/static_task/static_blueprint.py
index 50a527361..be2020b5c 100644
--- a/mephisto/abstractions/blueprints/abstract/static_task/static_blueprint.py
+++ b/mephisto/abstractions/blueprints/abstract/static_task/static_blueprint.py
@@ -92,6 +92,13 @@ class StaticBlueprintArgs(
units_per_assignment: int = field(
default=1, metadata={"help": "How many workers you want to do each assignment"}
)
+ task_source_review: str = field(
+ default="",
+ metadata={
+ "help": "Path to file containing javascript bundle for the task review application",
+ "required": False,
+ },
+ )
extra_source_dir: str = field(
default=MISSING,
metadata={
diff --git a/mephisto/abstractions/blueprints/mock/mock_blueprint.py b/mephisto/abstractions/blueprints/mock/mock_blueprint.py
index e9c313c94..8108035d0 100644
--- a/mephisto/abstractions/blueprints/mock/mock_blueprint.py
+++ b/mephisto/abstractions/blueprints/mock/mock_blueprint.py
@@ -64,6 +64,13 @@ class MockBlueprintArgs(BlueprintArgs, OnboardingRequiredArgs, ScreenTaskRequire
default=True,
metadata={"help": "Whether to run this mock task as a concurrent task or not"},
)
+ task_source_review: str = field(
+ default="/test/path/to/bundle.js",
+ metadata={
+ "help": "Path to file containing javascript bundle for the task review application",
+ "required": False,
+ },
+ )
# Mock tasks right now inherit all mixins, this way we can test them.
diff --git a/mephisto/abstractions/blueprints/parlai_chat/parlai_chat_blueprint.py b/mephisto/abstractions/blueprints/parlai_chat/parlai_chat_blueprint.py
index 5630e119a..11c242c27 100644
--- a/mephisto/abstractions/blueprints/parlai_chat/parlai_chat_blueprint.py
+++ b/mephisto/abstractions/blueprints/parlai_chat/parlai_chat_blueprint.py
@@ -103,6 +103,13 @@ class ParlAIChatBlueprintArgs(OnboardingRequiredArgs, BlueprintArgs):
default=MISSING,
metadata={"help": "Optional path to a directory containing custom js code"},
)
+ task_source_review: str = field(
+ default="",
+ metadata={
+ "help": "Path to file containing javascript bundle for the task review application",
+ "required": False,
+ },
+ )
extra_source_dir: str = field(
default=MISSING,
metadata={
diff --git a/mephisto/abstractions/blueprints/remote_procedure/remote_procedure_blueprint.py b/mephisto/abstractions/blueprints/remote_procedure/remote_procedure_blueprint.py
index ee5d1004e..8d2ecfacf 100644
--- a/mephisto/abstractions/blueprints/remote_procedure/remote_procedure_blueprint.py
+++ b/mephisto/abstractions/blueprints/remote_procedure/remote_procedure_blueprint.py
@@ -101,6 +101,13 @@ class RemoteProcedureBlueprintArgs(
"required": True,
},
)
+ task_source_review: str = field(
+ default="",
+ metadata={
+ "help": "Path to file containing javascript bundle for the task review application",
+ "required": False,
+ },
+ )
extra_source_dir: str = field(
default=MISSING,
metadata={
diff --git a/mephisto/abstractions/database.py b/mephisto/abstractions/database.py
index f8d74c648..7f7716dc8 100644
--- a/mephisto/abstractions/database.py
+++ b/mephisto/abstractions/database.py
@@ -16,7 +16,7 @@
get_crowd_provider_from_type,
get_valid_provider_types,
)
-from typing import Mapping, Optional, Any, List, Dict
+from typing import Mapping, Optional, Any, List, Dict, Union
import enum
from mephisto.data_model.agent import Agent, OnboardingAgent
from mephisto.data_model.unit import Unit
@@ -92,6 +92,8 @@ class EntryDoesNotExistException(MephistoDBException):
)
GET_GRANTED_QUALIFICATION_LATENCY = DATABASE_LATENCY.labels(method="get_granted_qualification")
REVOKE_QUALIFICATION_LATENCY = DATABASE_LATENCY.labels(method="revoke_qualification")
+NEW_UNIT_REVIEW_LATENCY = DATABASE_LATENCY.labels(method="new_unit_review")
+UPDATE_UNIT_REVIEW_LATENCY = DATABASE_LATENCY.labels(method="update_unit_review")
class MephistoDB(ABC):
@@ -1045,6 +1047,58 @@ def revoke_qualification(self, qualification_id: str, worker_id: str) -> None:
"""
return self._revoke_qualification(qualification_id=qualification_id, worker_id=worker_id)
+ def _new_unit_review(
+ self,
+ unit_id: Union[int, str],
+ task_id: Union[int, str],
+ worker_id: Union[int, str],
+ status: str,
+ review_note: Optional[str] = None,
+ bonus: Optional[str] = None,
+ ) -> None:
+ """new_unit_review implementation"""
+ raise NotImplementedError()
+
+ @NEW_UNIT_REVIEW_LATENCY.time()
+ def new_unit_review(
+ self,
+ unit_id: Union[int, str],
+ task_id: Union[int, str],
+ worker_id: Union[int, str],
+ status: str,
+ review_note: Optional[str] = None,
+ bonus: Optional[str] = None,
+ ) -> None:
+ """Create unit review"""
+ return self._new_unit_review(unit_id, task_id, worker_id, status, review_note, bonus)
+
+ @abstractmethod
+ def _update_unit_review(
+ self,
+ unit_id: int,
+ qualification_id: int,
+ worker_id: int,
+ value: Optional[int] = None,
+ revoke: bool = False,
+ ) -> None:
+ """update_unit_review implementation"""
+ raise NotImplementedError()
+
+ @UPDATE_UNIT_REVIEW_LATENCY.time()
+ def update_unit_review(
+ self,
+ unit_id: int,
+ qualification_id: int,
+ worker_id: int,
+ value: Optional[int] = None,
+ revoke: bool = False,
+ ) -> None:
+ """
+ Update the given unit review with the given parameters if possible,
+ raise appropriate exception otherwise.
+ """
+ return self._update_unit_review(unit_id, qualification_id, worker_id, value, revoke)
+
# File/blob manipulation methods
@abstractmethod
diff --git a/mephisto/abstractions/databases/local_database.py b/mephisto/abstractions/databases/local_database.py
index 8382cb310..c26b8c745 100644
--- a/mephisto/abstractions/databases/local_database.py
+++ b/mephisto/abstractions/databases/local_database.py
@@ -208,6 +208,29 @@ def is_unique_failure(e: sqlite3.IntegrityError) -> bool:
);
"""
+CREATE_UNIT_REVIEW_TABLE = """
+ CREATE TABLE IF NOT EXISTS unit_review (
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
+ unit_id INTEGER NOT NULL,
+ worker_id INTEGER NOT NULL,
+ task_id INTEGER NOT NULL,
+ status TEXT NOT NULL,
+ review_note TEXT,
+ bonus INTEGER,
+ blocked_worker BOOLEAN DEFAULT false,
+ /* ID of `db.qualifications` (not `db.granted_qualifications`) */
+ updated_qualification_id INTEGER,
+ updated_qualification_value INTEGER,
+ /* ID of `db.qualifications` (not `db.granted_qualifications`) */
+ revoked_qualification_id INTEGER,
+ created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
+
+ FOREIGN KEY (unit_id) REFERENCES units (unit_id),
+ FOREIGN KEY (worker_id) REFERENCES workers (worker_id),
+ FOREIGN KEY (task_id) REFERENCES tasks (task_id)
+ );
+"""
+
# Indices that are used by system-specific calls across Mephisto during live tasks
# that improve the runtime of the system as a whole
CREATE_CORE_INDEXES = """
@@ -222,6 +245,7 @@ def is_unique_failure(e: sqlite3.IntegrityError) -> bool:
CREATE INDEX IF NOT EXISTS assignment_by_task_run_index ON assignments(task_run_id);
CREATE INDEX IF NOT EXISTS task_run_by_requester_index ON task_runs(requester_id);
CREATE INDEX IF NOT EXISTS task_run_by_task_index ON task_runs(task_id);
+CREATE INDEX IF NOT EXISTS unit_review_by_unit_index ON unit_review(unit_id);
"""
@@ -288,6 +312,7 @@ def init_tables(self) -> None:
c.execute(CREATE_QUALIFICATIONS_TABLE)
c.execute(CREATE_GRANTED_QUALIFICATIONS_TABLE)
c.execute(CREATE_ONBOARDING_AGENTS_TABLE)
+ c.execute(CREATE_UNIT_REVIEW_TABLE)
c.executescript(CREATE_CORE_INDEXES)
def __get_one_by_id(self, table_name: str, id_name: str, db_id: str) -> Mapping[str, Any]:
@@ -1426,6 +1451,92 @@ def _find_onboarding_agents(
for r in rows
]
+ def _new_unit_review(
+ self,
+ unit_id: Union[int, str],
+ task_id: Union[int, str],
+ worker_id: Union[int, str],
+ status: str,
+ review_note: Optional[str] = None,
+ bonus: Optional[str] = None,
+ ) -> None:
+ """Create unit review"""
+
+ with self.table_access_condition:
+ conn = self._get_connection()
+ c = conn.cursor()
+ c.execute(
+ """
+ INSERT INTO unit_review (
+ unit_id,
+ worker_id,
+ task_id,
+ status,
+ review_note,
+ bonus
+ ) VALUES (?, ?, ?, ?, ?, ?);
+ """,
+ (
+ nonesafe_int(unit_id),
+ nonesafe_int(worker_id),
+ nonesafe_int(task_id),
+ status,
+ review_note,
+ bonus,
+ ),
+ )
+ conn.commit()
+
+ def _update_unit_review(
+ self,
+ unit_id: int,
+ qualification_id: int,
+ worker_id: int,
+ value: Optional[int] = None,
+ revoke: bool = False,
+ ) -> None:
+ """
+ Update the given unit review with the given parameters if possible,
+ raise appropriate exception otherwise.
+ """
+ with self.table_access_condition:
+ conn = self._get_connection()
+ c = conn.cursor()
+
+ c.execute(
+ """
+ SELECT * FROM unit_review
+ WHERE (unit_id = ?) AND (worker_id = ?)
+ ORDER BY created_at ASC;
+ """,
+ (unit_id, worker_id),
+ )
+ results = c.fetchall()
+ if not results:
+ raise EntryDoesNotExistException(
+ f"`unit_review` was not created for this `unit_id={unit_id}`"
+ )
+
+ latest_unit_review_id = results[-1]["id"]
+
+ c.execute(
+ """
+ UPDATE unit_review
+ SET
+ updated_qualification_id = ?,
+ updated_qualification_value = ?,
+ revoked_qualification_id = ?
+ WHERE id = ?;
+ """,
+ (
+ qualification_id if not revoke else None,
+ value,
+ qualification_id if revoke else None,
+ latest_unit_review_id,
+ ),
+ )
+ conn.commit()
+
# File/blob manipulation methods
def _assert_path_in_domain(self, path_key: str) -> None:
diff --git a/mephisto/abstractions/providers/mock/mock_agent.py b/mephisto/abstractions/providers/mock/mock_agent.py
index ade5d6136..e613f1922 100644
--- a/mephisto/abstractions/providers/mock/mock_agent.py
+++ b/mephisto/abstractions/providers/mock/mock_agent.py
@@ -73,7 +73,12 @@ def get_live_update(self, timeout=None) -> Optional[Dict[str, Any]]:
self.datastore.agent_data[self.db_id]["acts"].append(act)
return act
- def approve_work(self) -> None:
+ def approve_work(
+ self,
+ review_note: Optional[str] = None,
+ bonus: Optional[str] = None,
+ skip_unit_review: bool = False,
+ ) -> None:
"""
Approve the work done on this specific Unit
@@ -81,12 +86,32 @@ def approve_work(self) -> None:
"""
self.update_status(AgentState.STATUS_APPROVED)
- def reject_work(self, reason) -> None:
+ if not skip_unit_review:
+ unit = self.get_unit()
+ self.db.new_unit_review(
+ unit_id=unit.db_id,
+ task_id=unit.task_id,
+ worker_id=unit.worker_id,
+ status=AgentState.STATUS_APPROVED,
+ review_note=review_note,
+ bonus=bonus,
+ )
+
+ def reject_work(self, review_note: Optional[str] = None) -> None:
"""
Reject the work done on this specific Unit
"""
self.update_status(AgentState.STATUS_REJECTED)
+ unit = self.get_unit()
+ self.db.new_unit_review(
+ unit_id=unit.db_id,
+ task_id=unit.task_id,
+ worker_id=unit.worker_id,
+ status=AgentState.STATUS_REJECTED,
+ review_note=review_note,
+ )
+
def mark_done(self):
"""No need to tell mock crowd provider about doneness"""
pass
diff --git a/mephisto/abstractions/providers/mturk/mturk_agent.py b/mephisto/abstractions/providers/mturk/mturk_agent.py
index bacdddf93..dca107d38 100644
--- a/mephisto/abstractions/providers/mturk/mturk_agent.py
+++ b/mephisto/abstractions/providers/mturk/mturk_agent.py
@@ -101,7 +101,12 @@ def attempt_to_reconcile_submitted_data(self, mturk_hit_id: str):
# Required functions for Agent Interface
- def approve_work(self) -> None:
+ def approve_work(
+ self,
+ review_note: Optional[str] = None,
+ bonus: Optional[str] = None,
+ skip_unit_review: bool = False,
+ ) -> None:
"""Approve the work done on this specific Unit"""
if self.get_status() == AgentState.STATUS_APPROVED:
logger.info(f"Approving already approved agent {self}, skipping")
@@ -110,15 +115,35 @@ def approve_work(self) -> None:
approve_work(client, self._get_mturk_assignment_id(), override_rejection=True)
self.update_status(AgentState.STATUS_APPROVED)
- def reject_work(self, reason) -> None:
+ if not skip_unit_review:
+ unit = self.get_unit()
+ self.db.new_unit_review(
+ unit_id=unit.db_id,
+ task_id=unit.task_id,
+ worker_id=unit.worker_id,
+ status=AgentState.STATUS_APPROVED,
+ review_note=review_note,
+ bonus=bonus,
+ )
+
+ def reject_work(self, review_note: Optional[str] = None) -> None:
"""Reject the work done on this specific Unit"""
if self.get_status() == AgentState.STATUS_APPROVED:
logger.warning(f"Cannot reject {self}, it is already approved")
return
client = self._get_client()
- reject_work(client, self._get_mturk_assignment_id(), reason)
+ reject_work(client, self._get_mturk_assignment_id(), review_note)
self.update_status(AgentState.STATUS_REJECTED)
+ unit = self.get_unit()
+ self.db.new_unit_review(
+ unit_id=unit.db_id,
+ task_id=unit.task_id,
+ worker_id=unit.worker_id,
+ status=AgentState.STATUS_REJECTED,
+ review_note=review_note,
+ )
+
def mark_done(self) -> None:
"""
MTurk agents are marked as done on the side of MTurk, so if this agent
diff --git a/mephisto/abstractions/providers/mturk/mturk_utils.py b/mephisto/abstractions/providers/mturk/mturk_utils.py
index 51347ce74..64fb92404 100644
--- a/mephisto/abstractions/providers/mturk/mturk_utils.py
+++ b/mephisto/abstractions/providers/mturk/mturk_utils.py
@@ -610,10 +610,10 @@ def approve_work(client: MTurkClient, assignment_id: str, override_rejection: bo
)
-def reject_work(client: MTurkClient, assignment_id: str, reason: str) -> None:
+def reject_work(client: MTurkClient, assignment_id: str, review_note: Optional[str] = None) -> None:
"""reject work for a given assignment through the mturk client"""
try:
- client.reject_assignment(AssignmentId=assignment_id, RequesterFeedback=reason)
+ client.reject_assignment(AssignmentId=assignment_id, RequesterFeedback=review_note)
except Exception as e:
logger.exception(
f"Rejecting MTurk assignment failed, likely because it has auto-approved. Details:{e}",
diff --git a/mephisto/abstractions/providers/prolific/api/exceptions.py b/mephisto/abstractions/providers/prolific/api/exceptions.py
index d6e7683bf..7f747fc76 100644
--- a/mephisto/abstractions/providers/prolific/api/exceptions.py
+++ b/mephisto/abstractions/providers/prolific/api/exceptions.py
@@ -17,6 +17,9 @@ class ProlificException(Exception):
def __init__(self, message: Optional[str] = None):
self.message = message or self.default_message
+ def __str__(self) -> str:
+ return self.message
+
class ProlificAPIKeyError(ProlificException):
default_message = "API key is missing."
diff --git a/mephisto/abstractions/providers/prolific/api/status.py b/mephisto/abstractions/providers/prolific/api/status.py
index cbb71ceb3..b13599c53 100644
--- a/mephisto/abstractions/providers/prolific/api/status.py
+++ b/mephisto/abstractions/providers/prolific/api/status.py
@@ -8,6 +8,13 @@
HTTP_200_OK = 200
HTTP_204_NO_CONTENT = 204
+# 3xx
+HTTP_302_FOUND = 302
+
# 4xx
HTTP_400_BAD_REQUEST = 400
HTTP_401_UNAUTHORIZED = 401
+HTTP_404_NOT_FOUND = 404
+
+# 5xx
+HTTP_500_INTERNAL_SERVER_ERROR = 500
diff --git a/mephisto/abstractions/providers/prolific/prolific_agent.py b/mephisto/abstractions/providers/prolific/prolific_agent.py
index cb54fdd6f..a97a8d78c 100644
--- a/mephisto/abstractions/providers/prolific/prolific_agent.py
+++ b/mephisto/abstractions/providers/prolific/prolific_agent.py
@@ -100,7 +100,12 @@ def new_from_provider_data(
return super().new_from_provider_data(db, worker, unit, provider_data)
- def approve_work(self) -> None:
+ def approve_work(
+ self,
+ review_note: Optional[str] = None,
+ bonus: Optional[str] = None,
+ skip_unit_review: bool = False,
+ ) -> None:
"""Approve the work done on this specific Unit"""
logger.debug(f"{self.log_prefix}Approving work")
@@ -111,10 +116,11 @@ def approve_work(self) -> None:
client = self._get_client()
prolific_study_id = self.unit.get_prolific_study_id()
worker_id = self.worker.get_prolific_participant_id()
+
+ datastore_unit = self.datastore.get_unit(self.unit_id)
prolific_utils.approve_work(
client,
- study_id=prolific_study_id,
- worker_id=worker_id,
+ submission_id=datastore_unit["prolific_submission_id"],
)
logger.debug(
@@ -125,17 +131,29 @@ def approve_work(self) -> None:
self.update_status(AgentState.STATUS_APPROVED)
- def soft_reject_work(self) -> None:
+ if not skip_unit_review:
+ unit = self.get_unit()
+ self.db.new_unit_review(
+ unit_id=unit.db_id,
+ task_id=unit.task_id,
+ worker_id=unit.worker_id,
+ status=AgentState.STATUS_APPROVED,
+ review_note=review_note,
+ bonus=bonus,
+ )
+
+ def soft_reject_work(self, review_note: Optional[str] = None) -> None:
"""Mark as soft rejected on Mephisto and approve Worker on Prolific"""
- super().soft_reject_work()
+ super().soft_reject_work(review_note=review_note)
client = self._get_client()
prolific_study_id = self.unit.get_prolific_study_id()
worker_id = self.worker.get_prolific_participant_id()
+
+ datastore_unit = self.datastore.get_unit(self.unit_id)
prolific_utils.approve_work(
client,
- study_id=prolific_study_id,
- worker_id=worker_id,
+ submission_id=datastore_unit["prolific_submission_id"],
)
logger.debug(
@@ -144,7 +162,7 @@ def soft_reject_work(self) -> None:
f"has been soft rejected"
)
- def reject_work(self, reason) -> None:
+ def reject_work(self, review_note: Optional[str] = None) -> None:
"""Reject the work done on this specific Unit"""
logger.debug(f"{self.log_prefix}Rejecting work")
@@ -155,6 +173,7 @@ def reject_work(self, reason) -> None:
client = self._get_client()
prolific_study_id = self.unit.get_prolific_study_id()
worker_id = self.worker.get_prolific_participant_id()
+ datastore_unit = self.datastore.get_unit(self.unit_id)
# [Depends on Prolific] remove this suppression of exception when Prolific fixes their API
from .api.exceptions import ProlificException
@@ -162,8 +181,7 @@ def reject_work(self, reason) -> None:
try:
prolific_utils.reject_work(
client,
- study_id=prolific_study_id,
- worker_id=worker_id,
+ submission_id=datastore_unit["prolific_submission_id"],
)
except ProlificException:
logger.info(
@@ -174,11 +192,20 @@ def reject_work(self, reason) -> None:
logger.debug(
f"{self.log_prefix}"
f'Work for Study "{prolific_study_id}" completed by worker "{worker_id}" '
- f"has been rejected. Reason: {reason}"
+ f"has been rejected. Review note: {review_note}"
)
self.update_status(AgentState.STATUS_REJECTED)
+ unit = self.get_unit()
+ self.db.new_unit_review(
+ unit_id=unit.db_id,
+ task_id=unit.task_id,
+ worker_id=unit.worker_id,
+ status=AgentState.STATUS_REJECTED,
+ review_note=review_note,
+ )
+
def mark_done(self) -> None:
"""
Prolific agents are marked as done on the side of Prolific, so if this agent
diff --git a/mephisto/abstractions/providers/prolific/prolific_unit.py b/mephisto/abstractions/providers/prolific/prolific_unit.py
index fab10c4df..5b0b2d378 100644
--- a/mephisto/abstractions/providers/prolific/prolific_unit.py
+++ b/mephisto/abstractions/providers/prolific/prolific_unit.py
@@ -28,10 +28,11 @@
from mephisto.utils.logger_core import get_logger
SUBMISSION_STATUS_TO_ASSIGNMENT_STATE_MAP = {
+ # Note that both "Accepted" and "Soft-rejected" Mephisto statuses
+ # result in "Approved" status on Prolific, so we can't match it here as a simple mapping
SubmissionStatus.RESERVED: AssignmentState.CREATED,
SubmissionStatus.TIMED_OUT: AssignmentState.EXPIRED,
SubmissionStatus.AWAITING_REVIEW: AssignmentState.COMPLETED,
- SubmissionStatus.APPROVED: AssignmentState.COMPLETED,
SubmissionStatus.RETURNED: AssignmentState.COMPLETED,
SubmissionStatus.REJECTED: AssignmentState.REJECTED,
}
@@ -136,9 +137,14 @@ def get_status(self) -> str:
if agent is None:
if self.db_status in AssignmentState.completed():
logger.warning(f"Agent for completed unit {self} is None")
-
return self.db_status
+ agent_status = agent.get_status()
+ if agent_status == AgentState.STATUS_EXPIRED:
+ # TODO: should we handle EXPIRED agent status somewhere earlier?
+ self.set_db_status(AssignmentState.EXPIRED)
+ return AssignmentState.EXPIRED
+
# Get API client
requester: "ProlificRequester" = self.get_requester()
client = self._get_client(requester.requester_name)
@@ -193,12 +199,19 @@ def get_status(self) -> str:
elif prolific_submission.status == SubmissionStatus.PROCESSING:
# This is just Prolific's transient status to move Submission between 2 statuses
pass
+ elif prolific_submission.status == SubmissionStatus.APPROVED:
+ if agent_status == AgentState.STATUS_APPROVED:
+ external_status = AssignmentState.ACCEPTED
+ elif agent_status == AgentState.STATUS_SOFT_REJECTED:
+ external_status = AssignmentState.SOFT_REJECTED
+ else:
+ raise Exception(f"Unexpected Agent status `{agent_status}`")
else:
external_status = SUBMISSION_STATUS_TO_ASSIGNMENT_STATE_MAP.get(
prolific_submission.status,
)
if not external_status:
- raise Exception(f"Unexpected Submission status {prolific_submission.status}")
+ raise Exception(f"Unexpected Submission status `{prolific_submission.status}`")
if external_status != local_status:
self.set_db_status(external_status)
diff --git a/mephisto/abstractions/providers/prolific/prolific_utils.py b/mephisto/abstractions/providers/prolific/prolific_utils.py
index 61b756f8b..1d85cfa6c 100644
--- a/mephisto/abstractions/providers/prolific/prolific_utils.py
+++ b/mephisto/abstractions/providers/prolific/prolific_utils.py
@@ -28,7 +28,6 @@
from .api.base_api_resource import CREDENTIALS_CONFIG_PATH
from .api.client import ProlificClient
from .api.data_models import BonusPayments
-from .api.data_models import ListSubmission
from .api.data_models import Participant
from .api.data_models import ParticipantGroup
from .api.data_models import Project
@@ -69,12 +68,14 @@ def get_authenticated_client(profile_name: str) -> ProlificClient:
def setup_credentials(
profile_name: str,
- register_args: Optional[ProlificRequesterArgs],
+ register_args: ProlificRequesterArgs,
) -> bool:
- if register_args is None:
+ # Get API key from task asrgs, then from env, then from user prompt
+ api_key = register_args.api_key
+ if not api_key:
+ api_key = os.environ.get("PROLIFIC_API_KEY", None)
+ if not api_key:
api_key = input(f"Provide api key for {profile_name}: ")
- else:
- api_key = register_args.api_key
if not os.path.exists(os.path.expanduser(CREDENTIALS_CONFIG_DIR)):
os.mkdir(os.path.expanduser(CREDENTIALS_CONFIG_DIR))
@@ -738,26 +739,6 @@ def calculate_pay_amount(
return total_cost
-# --- Submissions ---
-def _find_submission(
- client: ProlificClient,
- study_id: str,
- worker_id: str,
-) -> Optional[ListSubmission]:
- """Find a Submission by Study and Worker"""
- try:
- submissions: List[ListSubmission] = client.Submissions.list(study_id=study_id)
- except (ProlificException, ValidationError):
- logger.exception(f'Could not receive submissions for study "{study_id}"')
- raise
-
- for submission in submissions:
- if submission.participant_id == worker_id:
- return submission
-
- return None
-
-
def get_submission(client: ProlificClient, submission_id: str) -> Submission:
try:
submission: Submission = client.Submissions.retrieve(id=submission_id)
@@ -769,13 +750,12 @@ def get_submission(client: ProlificClient, submission_id: str) -> Submission:
def approve_work(
client: ProlificClient,
- study_id: str,
- worker_id: str,
+ submission_id: str,
) -> Union[Submission, None]:
- submission: ListSubmission = _find_submission(client, study_id, worker_id)
+ submission: Submission = get_submission(client, submission_id)
if not submission:
- logger.warning(f'No submission found for study "{study_id}" and participant "{worker_id}"')
+ logger.warning(f'No submission found for id "{submission_id}"')
return None
# TODO (#1008): Handle other statuses later (when Submission was reviewed in Prolific UI)
@@ -784,13 +764,11 @@ def approve_work(
submission: Submission = client.Submissions.approve(submission.id)
return submission
except (ProlificException, ValidationError):
- logger.exception(
- f'Could not approve submission for study "{study_id}" and participant "{worker_id}"'
- )
+ logger.exception(f'Could not approve submission for id "{submission.id}"')
raise
else:
logger.warning(
- f'Cannot approve submission "{submission.id}" with status "{submission.status}"'
+ f'Cannot approve submission with id "{submission.id}" and status "{submission.status}"'
)
return None
@@ -798,13 +776,12 @@ def approve_work(
def reject_work(
client: ProlificClient,
- study_id: str,
- worker_id: str,
+ submission_id: str,
) -> Union[Submission, None]:
- submission: ListSubmission = _find_submission(client, study_id, worker_id)
+ submission: Submission = get_submission(client, submission_id)
if not submission:
- logger.warning(f'No submission found for study "{study_id}" and participant "{worker_id}"')
+ logger.warning(f'No submission found for id "{submission_id}"')
return None
# TODO (#1008): Handle other statuses later (when Submission was reviewed in Prolific UI)
@@ -813,13 +790,11 @@ def reject_work(
submission: Submission = client.Submissions.reject(submission.id)
return submission
except (ProlificException, ValidationError):
- logger.exception(
- f'Could not reject submission for study "{study_id}" and participant "{worker_id}"'
- )
+ logger.exception(f'Could not reject submission for id "{submission.id}"')
raise
else:
logger.warning(
- f'Cannot reject submission "{submission.id}" with status "{submission.status}"'
+ f'Cannot reject submission with id "{submission.id}" and status "{submission.status}"'
)
return None
diff --git a/mephisto/client/README.md b/mephisto/client/README.md
deleted file mode 100644
index eeca1ecd3..000000000
--- a/mephisto/client/README.md
+++ /dev/null
@@ -1,242 +0,0 @@
-
-
-## API specifications
-
-All of the endpoints below are **`GET`** unless specified otherwise.
-
-These specs are to be implemented in `mephisto/client/api.py`.
-
-Key: `💚 - Data Complete / 💛 - Data Mocked / 💜 - Consumed by UI / 🖤 - Not consumed by UI`
-
-#### WIP Endpoints / Backlog
-
-- Endpoints for actions to modify the review state of a Unit
-- Endpoint for getting the URL of a task and it's data to show
-- Make error reponse format more consistent across all endpoints / types of errors. Some stuff from the wild:
- - https://stripe.com/docs/api/errors
- - https://cloud.google.com/apis/design/errors#http_mapping
-
----
-## 🕵️♀️ Requesters
-
-#### `/requesters`
-💚💜 *Shows a list of all the requesters that are available on the local system*
-
-Sample response:
-```
-{
- "requesters": [
- {
- "provider_type": "mturk",
- "registered": false,
- "requester_id": "1",
- "requester_name": "Bob"
- },
- {
- "provider_type": "mturk",
- "registered": true,
- "requester_id": "2",
- "requester_name": "sally"
- }
- ]
-}
-```
-
-#### `/requester/`
-
-💚💜 *Provides information on what params to provide if you'd like to set up a requester.*
-
-Sample response:
-```
-[
- {
- "args": {
- "access_key_id": {
- "choices": null,
- "default": null,
- "dest": "access_key_id",
- "help": "IAM Access Key ID",
- "option_string": "--access-key-id",
- "type": "str"
- },
- // ...
- },
- "desc": "\n MTurkRequester: AWS are required to create a new Requester.\n Please create an IAM user with programmatic access and\n AmazonMechanicalTurkFullAccess policy at\n 'https://console.aws.amazon.com/iam/ (On the \"Set permissions\"\n page, choose \"Attach existing policies directly\" and then select\n \"AmazonMechanicalTurkFullAccess\" policy). After creating\n the IAM user, you should get an Access Key ID\n and Secret Access Key.\n "
- }
-]
-```
-
-#### `//get_balance` - TODO: Change to `/requester/balance/`
-
-💚💜
-
-[Discussion] Instead of `balance` should we make the endpoint a bit more generic, e.g. `info` or `metadata` instead? [Yes] This is because perhaps not every requester may have the concept of having a budget, although most might.
-
-Sample response:
-```
-# Success:
-
-{ "balance": 3000 }
-
-# Error:
-
-{ message: "Could not find the requester" } # [501]
-```
-
-#### **`POST`** `/requester//register`
-
-💛🖤
-
-Sample response:
-```
-# Success:
-
-{
- "success": true
-}
-
-# Error:
-
-{
- "msg": "No name was specified for the requester.",
- "success": false
-}
-```
-
----
-## 🚀 Launching
-
-#### `/launch/options`
-💛💜
-
-Sample response:
-```
-{
- "blueprints": [
- { "name": "Test Blueprint", "rank": 1 },
- { "name": "Simple Q+A", "rank": 2 }
- ],
- "architects": ["Local", "Heroku"]
-}
-```
-
-#### `/blueprints//arguments`
-💛💜
-
-Sample response:
-```
-{
- "args": [
- {
- "name": "Task name",
- "defaultValue": "Default Task Name",
- "helpText": "This is what your task will be named."
- }
- ]
-}
-```
-
-
-#### `/architects//arguments`
-💛💜
-
-Sample response:
-```
-{
- "args": [
- {
- "name": "Port number",
- "defaultValue": 8888,
- "helpText": "Your task will be run on this port."
- }
- ]
-}
-```
-
-#### **`POST`** `/task_runs/launch`
-💛🖤
-
-Sample request:
-```
-{
- "blueprint_name": "Test Blueprint",
- "blueprint_args": [ { ... } ],
- "architect": "Test Architect",
- "architect_args": [ { ... } ],
- "requester":
-}
-```
-
-Sample response:
-```
-# Success:
-
-{
- "success": true
-}
-
-# Error:
-
-{
- "success": false,
- # TODO: How should the server provide validation feedback?
-}
-```
-
----
-## 📥 Review
-
-#### `/task_runs/running`
-💛🖤
-
-[Discussion] We need to confirm and communicate what exactly we mean by a "running" task. Based on prior discussions, my suspicion is that this categorization is a little difficult. Let's settle on a technical definition.
-
-Sample response:
-```
-{
- live_task_count: 1,
- task_count: 1,
- task_runs: TaskRun[]
-}
-
-# For full example payload, see `task_runs__running` in mephisto/webapp/src/mocks.ts
-```
-
-#### `/task_runs/reviewable`
-💛🖤
-
-*Shows tasks with atleast 1 unit that is reviewable.*
-
-Sample response:
-```
-{
- "total_reviewable": 8,
- "task_runs": TaskRun[]
-}
-```
-
-#### `/task_runs//units`
-💛🖤
-
-Sample response:
-```
-{
- "unit_id": ,
- "view_path": "https://google.com",
- "data": {
- "name": "me"
- }
-}
-```
-
-#### **`POST`** `/task_runs//units//accept`
-💛🖤
-
-[Discussion] Accept params here to allow giving a bonus?
-
-#### **`POST`** `/task_runs//units//reject`
-💛🖤
diff --git a/mephisto/client/api.py b/mephisto/client/api.py
deleted file mode 100644
index 6603d42d2..000000000
--- a/mephisto/client/api.py
+++ /dev/null
@@ -1,334 +0,0 @@
-#!/usr/bin/env python3
-
-# Copyright (c) Meta Platforms and its affiliates.
-# This source code is licensed under the MIT license found in the
-# LICENSE file in the root directory of this source tree.
-
-from flask import Blueprint, jsonify, request # type: ignore
-from flask import current_app as app # type: ignore
-from mephisto.abstractions.database import EntryAlreadyExistsException
-from mephisto.data_model.constants.assignment_state import AssignmentState
-from mephisto.data_model.task_run import TaskRun
-from mephisto.data_model.unit import Unit
-from mephisto.data_model.assignment import Assignment
-from mephisto.operations.hydra_config import parse_arg_dict, get_extra_argument_dicts
-from mephisto.operations.registry import (
- get_blueprint_from_type,
- get_crowd_provider_from_type,
- get_architect_from_type,
- get_valid_blueprint_types,
- get_valid_provider_types,
- get_valid_architect_types,
-)
-import sys
-import traceback
-import os
-
-api = Blueprint("api", __name__)
-
-
-@api.route("/requesters")
-def get_available_requesters():
- db = app.extensions["db"]
- requesters = db.find_requesters()
- dict_requesters = [r.to_dict() for r in requesters]
- return jsonify({"requesters": dict_requesters})
-
-
-@api.route("/task_runs/running")
-def get_running_task_runs():
- """Find running tasks by querying for all task runs that aren't completed"""
- db = app.extensions["db"]
- task_runs = db.find_task_runs(is_completed=False)
- dict_tasks = [t.to_dict() for t in task_runs if not t.get_is_completed()]
- live_task_count = len([t for t in dict_tasks if not t["sandbox"]])
- return jsonify(
- {
- "task_runs": dict_tasks,
- "task_count": len(dict_tasks),
- "live_task_count": live_task_count,
- }
- )
-
-
-@api.route("/task_runs/reviewable")
-def get_reviewable_task_runs():
- """
- Find reviewable task runs by querying for all reviewable tasks
- and getting their runs
- """
- db = app.extensions["db"]
- units = db.find_units(status=AssignmentState.COMPLETED)
- reviewable_count = len(units)
- task_run_ids = set([u.get_assignment().get_task_run().db_id for u in units])
- task_runs = [TaskRun.get(db, db_id) for db_id in task_run_ids]
- dict_tasks = [t.to_dict() for t in task_runs]
- # TODO(OWN) maybe include warning for auto approve date once that's tracked
- return jsonify({"task_runs": dict_tasks, "total_reviewable": reviewable_count})
-
-
-@api.route("/launch/options")
-def launch_options():
- blueprint_types = get_valid_blueprint_types()
- architect_types = get_valid_architect_types()
- provider_types = get_valid_provider_types()
- return jsonify(
- {
- "success": True,
- "architect_types": architect_types,
- "provider_types": provider_types,
- "blueprint_types": [
- {"name": bp, "rank": idx + 1} for (idx, bp) in enumerate(blueprint_types)
- ],
- }
- )
-
-
-@api.route("/task_runs/launch", methods=["POST"])
-def start_task_run():
- # Blueprint, CrowdProvider, Architect (Local/Heroku), Dict of arguments
-
- info = request.get_json(force=True)
- input_arg_list = []
- for arg_content in info.values():
- input_arg_list.append(arg_content["option_string"])
- input_arg_list.append(arg_content["value"])
- try:
- operator = app.extensions["operator"]
- operator.parse_and_launch_run(input_arg_list)
- # MOCK? What data would we want to return?
- # perhaps a link to the task? Will look into soon!
- return jsonify({"status": "success", "data": info})
- except Exception as e:
- traceback.print_exc(file=sys.stdout)
- return jsonify({"success": False, "msg": f"error in launching job: {str(e)}"})
-
-
-@api.route("/task_runs//units")
-def view_unit(task_id):
- # TODO
-
- # MOCK
- return jsonify({"id": task_id, "view_path": "https://google.com", "data": {"name": "me"}})
-
-
-@api.route("/task_runs/options")
-def get_basic_task_options():
- params = get_extra_argument_dicts(TaskRun)
- return jsonify({"success": True, "options": params})
-
-
-@api.route("/requester//options")
-def requester_details(requester_type):
- crowd_provider = get_crowd_provider_from_type(requester_type)
- RequesterClass = crowd_provider.RequesterClass
- params = get_extra_argument_dicts(RequesterClass)
- return jsonify(params)
-
-
-@api.route("/requester//register", methods=["POST"])
-def requester_register(requester_type):
- options = request.get_json()
- crowd_provider = get_crowd_provider_from_type(requester_type)
- RequesterClass = crowd_provider.RequesterClass
-
- try:
- parsed_options = parse_arg_dict(RequesterClass, options)
- except Exception as e:
- traceback.print_exc(file=sys.stdout)
- return jsonify({"success": False, "msg": f"error in parsing arguments: {str(e)}"})
- if "name" not in parsed_options:
- return jsonify({"success": False, "msg": "No name was specified for the requester."})
-
- db = app.extensions["db"]
- requesters = db.find_requesters(requester_name=parsed_options["name"])
- if len(requesters) == 0:
- requester = RequesterClass.new(db, parsed_options["name"])
- else:
- requester = requesters[0]
- try:
- print(parsed_options)
- requester.register(parsed_options)
- return jsonify({"success": True})
- except Exception as e:
- return jsonify({"success": False, "msg": str(e)})
-
-
-@api.route("/data/submitted_data")
-def get_submitted_data():
- try:
- task_run_ids = request.args.getlist("task_run_id")
- task_names = request.args.getlist("task_name")
- assignment_ids = request.args.getlist("assignment_id")
- unit_ids = request.args.getlist("unit_ids")
- statuses = request.args.getlist("status")
-
- db = app.extensions["db"]
- units = []
- assignments = []
- assert len(task_names) == 0, "Searching via task names not yet supported"
-
- task_runs = [TaskRun.get(db, task_run_id) for task_run_id in task_run_ids]
- for task_run in task_runs:
- assignments += task_run.get_assignments()
-
- assignments += [Assignment.get(db, assignment_id) for assignment_id in assignment_ids]
-
- if len(statuses) == 0:
- statuses = [
- AssignmentState.COMPLETED,
- AssignmentState.ACCEPTED,
- AssignmentState.REJECTED,
- ]
-
- filtered_assignments = [a for a in assignments if a.get_status() in statuses]
-
- for assignment in assignments:
- units += assignment.get_units()
-
- units += [Unit.get(db, unit_id) for unit_id in unit_ids]
-
- all_unit_data = []
- for unit in units:
- unit_data = {
- "assignment_id": unit.assignment_id,
- "task_run_id": unit.task_run_id,
- "status": unit.db_status,
- "unit_id": unit.db_id,
- "worker_id": unit.worker_id,
- "data": None,
- }
- agent = unit.get_assigned_agent()
- if agent is not None:
- unit_data["data"] = agent.state.get_data()
- unit_data["worker_id"] = agent.worker_id
- all_unit_data.append(unit_data)
-
- print(all_unit_data)
- return jsonify({"success": True, "units": all_unit_data})
- except Exception as e:
- import traceback
-
- traceback.print_exc()
- return jsonify({"success": False, "msg": str(e)})
-
-
-@api.route("//get_balance")
-def get_balance(requester_name):
- db = app.extensions["db"]
- requesters = db.find_requesters(requester_name=requester_name)
-
- if len(requesters) == 0:
- return jsonify(
- {
- "success": False,
- "msg": f"No requester available with name: {requester_name}",
- }
- )
-
- requester = requesters[0]
- return jsonify({"balance": requester.get_available_budget()})
-
-
-@api.route("/requester//launch_options")
-def requester_launch_options(requester_type):
- db = app.extensions["db"]
- requesters = db.find_requesters(requester_name=requester_name)
-
- if len(requesters) == 0:
- return jsonify(
- {
- "success": False,
- "msg": f"No requester available with name: {requester_name}",
- }
- )
- provider_type = requesters[0].provider_type
- CrowdProviderClass = get_crowd_provider_from_type(requester_type)
- params = get_extra_argument_dicts(CrowdProviderClass)
- return jsonify({"success": True, "options": params})
-
-
-@api.route("/blueprints")
-def get_available_blueprints():
- blueprint_types = get_valid_blueprint_types()
- return jsonify({"success": True, "blueprint_types": blueprint_types})
-
-
-@api.route("/blueprint//options")
-def get_blueprint_arguments(blueprint_type):
- if blueprint_type == "none":
- return jsonify({"success": True, "options": {}})
- BlueprintClass = get_blueprint_from_type(blueprint_type)
- params = get_extra_argument_dicts(BlueprintClass)
- return jsonify({"success": True, "options": params})
-
-
-@api.route("/architects")
-def get_available_architects():
- architect_types = get_valid_architect_types()
- return jsonify({"success": True, "architect_types": architect_types})
-
-
-@api.route("/architect//options")
-def get_architect_arguments(architect_type):
- if architect_type == "none":
- return jsonify({"success": True, "options": {}})
- ArchitectClass = get_architect_from_type(architect_type)
- params = get_extra_argument_dicts(ArchitectClass)
- return jsonify({"success": True, "options": params})
-
-
-@api.route("/unit//accept", methods=["POST"])
-def accept_unit(unit_id):
- return jsonify({"success": True})
- pass
-
-
-@api.route("/unit//reject", methods=["POST"])
-def reject_unit(unit_id):
- return jsonify({"success": True})
- pass
-
-
-@api.route("/unit//softBlock", methods=["POST"])
-def soft_block_unit(unit_id):
- return jsonify({"success": True})
- pass
-
-
-@api.route("/unit//hardBlock", methods=["POST"])
-def hard_block_unit(unit_id):
- return jsonify({"success": True})
- pass
-
-
-@api.route("/error", defaults={"status_code": "501"})
-@api.route("/error/")
-def intentional_error(status_code):
- """
- A helper endpoint to test out cases in the UI where an error occurs.
- """
- raise InvalidUsage("An error occured", status_code=int(status_code))
-
-
-class InvalidUsage(Exception):
- status_code = 400
-
- def __init__(self, message, status_code=None, payload=None):
- Exception.__init__(self)
- self.message = message
- if status_code is not None:
- self.status_code = status_code
- self.payload = payload
-
- def to_dict(self):
- rv = dict(self.payload or ())
- rv["message"] = self.message
- return rv
-
-
-@api.errorhandler(InvalidUsage)
-def handle_invalid_usage(error):
- response = jsonify(error.to_dict())
- response.status_code = error.status_code
- return response
diff --git a/mephisto/client/cli.py b/mephisto/client/cli.py
index c9e708857..71f47c881 100644
--- a/mephisto/client/cli.py
+++ b/mephisto/client/cli.py
@@ -1,17 +1,20 @@
#!/usr/bin/env python3
-
-# Copyright (c) Meta Platforms and its affiliates.
+# Copyright (c) Facebook, Inc. and its affiliates.
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
-
+import os
+import subprocess
from typing import List
+
+from flask.cli import pass_script_info
from rich import print
+
from mephisto.client.cli_commands import get_wut_arguments
from mephisto.operations.registry import get_valid_provider_types
+from mephisto.tools.scripts import build_custom_bundle
from mephisto.utils.rich import console, create_table
import rich_click as click # type: ignore
-import os
from rich_click import RichCommand, RichGroup
from rich.markdown import Markdown
import mephisto.scripts.local_db.review_tips_for_task as review_tips_local_db
@@ -44,14 +47,6 @@ def cli():
)
-@cli.command("web", cls=RichCommand)
-def web():
- """Launch a local webserver with the Mephisto UI"""
- from mephisto.client.full.server import get_app
-
- get_app().run(debug=False)
-
-
@cli.command("config", cls=RichCommand)
@click.argument("identifier", type=(str), default=None, required=False)
@click.argument("value", type=(str), default=None, required=False)
@@ -84,78 +79,6 @@ def config(identifier, value):
print(f"[green]{identifier} succesfully updated to: {value}[/green]")
-@cli.command(
- "review",
- cls=RichCommand,
-)
-@click.argument(
- "review_app_dir",
- type=click.Path(exists=True),
- default=os.path.join(os.path.dirname(__file__), "review/default-ui"),
-)
-@click.option("-p", "--port", type=(int), default=5000)
-@click.option("-o", "--output", type=(str), default="")
-@click.option("-a", "--assets", "assets_dir", type=(str), default=None)
-@click.option("--stdout", "output_method", flag_value="stdout")
-@click.option("--file", "output_method", flag_value="file", default=True)
-@click.option("--csv-headers/--no-csv-headers", default=False)
-@click.option("--json/--csv", default=False)
-@click.option("--db", "database_task_name", type=(str), default=None)
-@click.option("--all/--one-by-one", "all_data", default=False)
-@click.option("-d", "--debug", type=(bool), default=False)
-@click.option("-h", "--host", type=(str), default="127.0.0.1")
-def review(
- review_app_dir,
- port,
- output,
- output_method,
- csv_headers,
- json,
- database_task_name,
- all_data,
- debug,
- assets_dir,
- host,
-):
- """
- Launch a local review UI server.
- Reads in rows froms stdin and outputs to either a file or stdout.
- """
- from mephisto.client.review.review_server import run
-
- if output == "" and output_method == "file":
- raise click.UsageError(
- "You must specify an output file via --output=, "
- "unless the --stdout flag is set."
- )
- if database_task_name is not None:
- from mephisto.abstractions.databases.local_database import LocalMephistoDB
- from mephisto.tools.data_browser import DataBrowser as MephistoDataBrowser
-
- db = LocalMephistoDB()
- mephisto_data_browser = MephistoDataBrowser(db=db)
- name_list = mephisto_data_browser.get_task_name_list()
- if database_task_name not in name_list:
- raise click.BadParameter(
- f'The task name "{database_task_name}" did not exist in MephistoDB.\n\n'
- f'Perhaps you meant one of these? {", ".join(name_list)}\n\n'
- f"Flag usage: mephisto review --db [task_name]\n"
- )
-
- run(
- review_app_dir,
- port,
- output,
- csv_headers,
- json,
- database_task_name,
- all_data,
- debug,
- assets_dir,
- host,
- )
-
-
@cli.command("check", cls=RichCommand)
def check():
"""Checks that mephisto is setup correctly"""
@@ -397,5 +320,93 @@ def metrics_cli(args):
shutdown_grafana_server()
+@cli.command(
+ "review_app",
+ cls=RichCommand,
+)
+@click.option("-h", "--host", type=(str), default="127.0.0.1")
+@click.option("-p", "--port", type=(int), default=5000)
+@click.option("-d", "--debug", type=(bool), default=None)
+@click.option("-f", "--force-rebuild", type=(bool), default=False)
+@click.option("-o", "--server-only", type=(bool), default=False)
+@pass_script_info
+def review_app(
+ info,
+ host,
+ port,
+ debug,
+ force_rebuild,
+ server_only,
+):
+ """
+ Launch a local review server.
+ Custom implementation of `flask run ` command (`flask.cli.run_command`)
+ """
+ from flask.cli import show_server_banner
+ from flask.helpers import get_debug_flag
+ from flask.helpers import get_env
+ from werkzeug.serving import run_simple
+ from mephisto.client.review_app.server import create_app
+
+ # Set env variables for Review App
+ app_url = f"http://{host}:{port}"
+ os.environ["HOST"] = host
+ os.environ["PORT"] = str(port)
+
+ print(f'[green]Review APP will start on "{app_url}" address.[/green]')
+
+ # Set up Review App Client
+ if not server_only:
+ review_app_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), "review_app")
+ client_dir = "client"
+ client_path = os.path.join(review_app_path, client_dir)
+
+ # Install JS requirements
+ if os.path.exists(os.path.join(client_path, "node_modules")):
+ print(f"[blue]JS requirements are already installed.[/blue]")
+ else:
+ print(f"[blue]Installing JS requirements started.[/blue]")
+ app_started = subprocess.call(["npm", "install"], cwd=client_path)
+ if app_started != 0:
+ raise Exception(
+ "Please make sure npm is installed, "
+ "otherwise view the above error for more info."
+ )
+ print(f"[blue]Installing JS requirements finished.[/blue]")
+
+ if os.path.exists(os.path.join(client_path, "build", "index.html")) and not force_rebuild:
+ print(f"[blue]React bundle is already built.[/blue]")
+ else:
+ print(f"[blue]Building React bundle started.[/blue]")
+ build_custom_bundle(
+ review_app_path,
+ force_rebuild=force_rebuild,
+ webapp_name=client_dir,
+ build_command="build",
+ )
+ print(f"[blue]Building React bundle finished.[/blue]")
+
+ # Set debug
+ debug = debug if debug is not None else get_debug_flag()
+ reload = debug
+ debugger = debug
+
+ # Show Flask banner
+ eager_loading = not reload
+ show_server_banner(get_env(), debug, info.app_import_path, eager_loading)
+
+ # Init Flask App
+ app = create_app(debug=debug)
+
+ # Run Flask server
+ run_simple(
+ host,
+ port,
+ app,
+ use_reloader=reload,
+ use_debugger=debugger,
+ )
+
+
if __name__ == "__main__":
cli()
diff --git a/mephisto/client/full/server.py b/mephisto/client/full/server.py
deleted file mode 100644
index 41e6e8003..000000000
--- a/mephisto/client/full/server.py
+++ /dev/null
@@ -1,54 +0,0 @@
-#!/usr/bin/env python3
-
-# Copyright (c) Meta Platforms and its affiliates.
-# This source code is licensed under the MIT license found in the
-# LICENSE file in the root directory of this source tree.
-
-from flask import Flask, send_file, jsonify # type: ignore
-from mephisto.client.config import Config
-from mephisto.client.api import api
-from mephisto.operations.operator import Operator
-from mephisto.abstractions.databases.local_database import LocalMephistoDB
-
-import os
-import atexit
-import signal
-
-
-def get_app():
- app = Flask(__name__, static_url_path="/static", static_folder="webapp/build/static")
- app.config.from_object(Config)
-
- app.register_blueprint(api, url_prefix="/api/v1")
-
- # Register extensions
- db = LocalMephistoDB()
- operator = Operator(db)
- if not hasattr(app, "extensions"):
- app.extensions = {}
- app.extensions["db"] = db
- app.extensions["operator"] = operator
-
- @app.route("/", defaults={"path": "index.html"})
- @app.route("/")
- def index(path):
- return send_file(os.path.join("webapp", "build", "index.html"))
-
- @app.after_request
- def after_request(response):
- response.headers.add("Access-Control-Allow-Origin", "*")
- response.headers.add("Access-Control-Allow-Headers", "Content-Type,Authorization")
- response.headers.add("Access-Control-Allow-Methods", "GET,PUT,POST,DELETE,OPTIONS")
- response.headers.add("Cache-Control", "no-store")
- return response
-
- term_handler = signal.getsignal(signal.SIGINT)
-
- def cleanup_resources(*args, **kwargs):
- operator.shutdown()
- db.shutdown()
- term_handler(*args, **kwargs)
-
- atexit.register(cleanup_resources)
- signal.signal(signal.SIGINT, cleanup_resources)
- return app
diff --git a/mephisto/client/full/webapp/.gitattributes b/mephisto/client/full/webapp/.gitattributes
deleted file mode 100644
index 17ba7915d..000000000
--- a/mephisto/client/full/webapp/.gitattributes
+++ /dev/null
@@ -1,2 +0,0 @@
-build/** binary
-build/** linguist-generated=true
diff --git a/mephisto/client/full/webapp/.gitignore b/mephisto/client/full/webapp/.gitignore
deleted file mode 100644
index 89967363f..000000000
--- a/mephisto/client/full/webapp/.gitignore
+++ /dev/null
@@ -1,20 +0,0 @@
-# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
-
-# dependencies
-/node_modules
-/.pnp
-.pnp.js
-
-# testing
-/coverage
-
-# misc
-.DS_Store
-.env.local
-.env.development.local
-.env.test.local
-.env.production.local
-
-npm-debug.log*
-yarn-debug.log*
-yarn-error.log*
diff --git a/mephisto/client/full/webapp/README.md b/mephisto/client/full/webapp/README.md
deleted file mode 100644
index 454514453..000000000
--- a/mephisto/client/full/webapp/README.md
+++ /dev/null
@@ -1,50 +0,0 @@
-
-
-This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app).
-
-## Available Scripts
-
-In the project directory, you can run:
-
-### `yarn start`
-
-Runs the app in the development mode.
-Open [http://localhost:3000](http://localhost:3000) to view it in the browser.
-
-The page will reload if you make edits.
-You will also see any lint errors in the console.
-
-### `yarn test`
-
-Launches the test runner in the interactive watch mode.
-See the section about [running tests](https://facebook.github.io/create-react-app/docs/running-tests) for more information.
-
-### `yarn build`
-
-Builds the app for production to the `build` folder.
-It correctly bundles React in production mode and optimizes the build for the best performance.
-
-The build is minified and the filenames include the hashes.
-Your app is ready to be deployed!
-
-See the section about [deployment](https://facebook.github.io/create-react-app/docs/deployment) for more information.
-
-### `yarn eject`
-
-**Note: this is a one-way operation. Once you `eject`, you can’t go back!**
-
-If you aren’t satisfied with the build tool and configuration choices, you can `eject` at any time. This command will remove the single build dependency from your project.
-
-Instead, it will copy all the configuration files and the transitive dependencies (Webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except `eject` will still work, but they will point to the copied scripts so you can tweak them. At this point you’re on your own.
-
-You don’t have to ever use `eject`. The curated feature set is suitable for small and middle deployments, and you shouldn’t feel obligated to use this feature. However we understand that this tool wouldn’t be useful if you couldn’t customize it when you are ready for it.
-
-## Learn More
-
-You can learn more in the [Create React App documentation](https://facebook.github.io/create-react-app/docs/getting-started).
-
-To learn React, check out the [React documentation](https://reactjs.org/).
diff --git a/mephisto/client/full/webapp/build/asset-manifest.json b/mephisto/client/full/webapp/build/asset-manifest.json
deleted file mode 100644
index 8f38d4a5f..000000000
--- a/mephisto/client/full/webapp/build/asset-manifest.json
+++ /dev/null
@@ -1,20 +0,0 @@
-{
- "files": {
- "main.css": "/static/css/main.b763cf93.css",
- "main.js": "/static/js/main.c94c43db.js",
- "static/media/icons-20.eot": "/static/media/icons-20.cde033c5d3f24283f757.eot",
- "static/media/icons-20.woff": "/static/media/icons-20.1ef633d3a28d0986f63e.woff",
- "static/media/icons-20.ttf": "/static/media/icons-20.57b3e708b232fdcb64f9.ttf",
- "static/media/icons-16.eot": "/static/media/icons-16.2368f88a078780d80145.eot",
- "static/media/icons-16.woff": "/static/media/icons-16.1645f50fb7f7c109f64e.woff",
- "static/media/icons-16.ttf": "/static/media/icons-16.13933033991f62d6bb64.ttf",
- "static/media/Oval.svg": "/static/media/Oval.e98febdd8af4142dae1a.svg",
- "index.html": "/index.html",
- "main.b763cf93.css.map": "/static/css/main.b763cf93.css.map",
- "main.c94c43db.js.map": "/static/js/main.c94c43db.js.map"
- },
- "entrypoints": [
- "static/css/main.b763cf93.css",
- "static/js/main.c94c43db.js"
- ]
-}
\ No newline at end of file
diff --git a/mephisto/client/full/webapp/build/index.html b/mephisto/client/full/webapp/build/index.html
deleted file mode 100644
index 3ce88a4e7..000000000
--- a/mephisto/client/full/webapp/build/index.html
+++ /dev/null
@@ -1 +0,0 @@
-mephisto
\ No newline at end of file
diff --git a/mephisto/client/full/webapp/build/robots.txt b/mephisto/client/full/webapp/build/robots.txt
deleted file mode 100644
index 01b0f9a10..000000000
--- a/mephisto/client/full/webapp/build/robots.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-# https://www.robotstxt.org/robotstxt.html
-User-agent: *
diff --git a/mephisto/client/full/webapp/build/static/css/main.b763cf93.css b/mephisto/client/full/webapp/build/static/css/main.b763cf93.css
deleted file mode 100644
index dcdddc977..000000000
--- a/mephisto/client/full/webapp/build/static/css/main.b763cf93.css
+++ /dev/null
@@ -1,2 +0,0 @@
-@charset "UTF-8";body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f8fa;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}*{box-sizing:border-box}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.container{align-items:flex-start;display:flex;margin:50px auto 0;max-width:1280px;padding:0 30px 30px}.container>div{flex-grow:1;margin-right:20px}.container>div:last-child{margin-bottom:0;margin-right:0}@media only screen and (max-width:800px){.container{flex-direction:column}.container>div{margin-bottom:16px;margin-right:0}}.above-the-fold{background-image:url(/static/media/Oval.e98febdd8af4142dae1a.svg);background-position:bottom;background-repeat:no-repeat;background-size:cover!important;height:458px;position:absolute;width:100%;z-index:-1}header{margin:0 auto;max-width:1280px;padding:30px}h1{font-size:40px;margin:0}.step-badge{margin-right:10px}.widget{-webkit-animation:fadeIn .3s cubic-bezier(.5,0,0,1);animation:fadeIn .3s cubic-bezier(.5,0,0,1);-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;border-radius:10px!important;opacity:0;will-change:transform}.widget:first-child{-webkit-animation-delay:.1s;animation-delay:.1s}.widget:nth-child(2){-webkit-animation-delay:.25s;animation-delay:.25s}.widget:nth-child(3){-webkit-animation-delay:.4s;animation-delay:.4s}.widget:nth-child(4){-webkit-animation-delay:.55s;animation-delay:.55s}@-webkit-keyframes fadeIn{0%{opacity:0;-webkit-transform:scale(.9) translateY(80px);transform:scale(.9) translateY(80px)}60%{-webkit-transform:translateY(-2px);transform:translateY(-2px)}to{opacity:1;-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}}@keyframes fadeIn{0%{opacity:0;-webkit-transform:scale(.9) translateY(80px);transform:scale(.9) translateY(80px)}60%{-webkit-transform:translateY(-2px);transform:translateY(-2px)}to{opacity:1;-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}}.widget .bullet{margin-bottom:5px}.params-list{background:hsla(0,0%,100%,.7);border-radius:3px;box-shadow:inset 0 0 0 1px rgba(16,22,26,.2);color:#757677;font-style:italic;max-height:80px;overflow-x:none;overflow-y:auto;padding:2px 5px}h1 a,h1 a:hover{color:inherit}.params-list .param-value{color:#333}.details{font-size:13px;margin-top:10px}.metrics{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center}.metric{color:#333;flex:1 1;font-size:16px;margin:0;padding:10px;text-align:center}.metrics.highlight-first .metric:first-child{font-weight:700}.metric label{display:block;font-size:12px}.run-header{background-color:#f5f8fa;border:1px solid #bfccd6;border-radius:5px;margin-bottom:10px;padding:10px}.run-header.interactive:hover{background-color:#ebf1f5;-webkit-transform:scale(1.02);transform:scale(1.02);transition:-webkit-transform .1s ease-out;transition:transform .1s ease-out;transition:transform .1s ease-out,-webkit-transform .1s ease-out}.grid-review-container{box-sizing:border-box;margin:0 auto;max-width:1280px;padding:30px}html{box-sizing:border-box}*,:after,:before{box-sizing:inherit}body{color:#182026;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,Icons16,sans-serif;font-size:14px;font-weight:400;letter-spacing:0;line-height:1.28581;text-transform:none}p{margin-bottom:10px;margin-top:0}small{font-size:12px}strong{font-weight:600}::selection{background:rgba(125,188,255,.6)}.bp3-heading{color:#182026;font-weight:600;margin:0 0 10px;padding:0}.bp3-dark .bp3-heading{color:#f5f8fa}.bp3-running-text h1,h1.bp3-heading{font-size:36px;line-height:40px}.bp3-running-text h2,h2.bp3-heading{font-size:28px;line-height:32px}.bp3-running-text h3,h3.bp3-heading{font-size:22px;line-height:25px}.bp3-running-text h4,h4.bp3-heading{font-size:18px;line-height:21px}.bp3-running-text h5,h5.bp3-heading{font-size:16px;line-height:19px}.bp3-running-text h6,h6.bp3-heading{font-size:14px;line-height:16px}.bp3-ui-text{font-size:14px;font-weight:400;letter-spacing:0;line-height:1.28581;text-transform:none}.bp3-monospace-text{font-family:monospace;text-transform:none}.bp3-text-muted{color:#5c7080}.bp3-dark .bp3-text-muted{color:#a7b6c2}.bp3-text-disabled{color:rgba(92,112,128,.6)}.bp3-dark .bp3-text-disabled{color:rgba(167,182,194,.6)}.bp3-text-overflow-ellipsis{word-wrap:normal;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bp3-running-text{font-size:14px;line-height:1.5}.bp3-running-text h1{color:#182026;font-weight:600;margin-bottom:20px;margin-top:40px}.bp3-dark .bp3-running-text h1{color:#f5f8fa}.bp3-running-text h2{color:#182026;font-weight:600;margin-bottom:20px;margin-top:40px}.bp3-dark .bp3-running-text h2{color:#f5f8fa}.bp3-running-text h3{color:#182026;font-weight:600;margin-bottom:20px;margin-top:40px}.bp3-dark .bp3-running-text h3{color:#f5f8fa}.bp3-running-text h4{color:#182026;font-weight:600;margin-bottom:20px;margin-top:40px}.bp3-dark .bp3-running-text h4{color:#f5f8fa}.bp3-running-text h5{color:#182026;font-weight:600;margin-bottom:20px;margin-top:40px}.bp3-dark .bp3-running-text h5{color:#f5f8fa}.bp3-running-text h6{color:#182026;font-weight:600;margin-bottom:20px;margin-top:40px}.bp3-dark .bp3-running-text h6{color:#f5f8fa}.bp3-running-text hr{border:none;border-bottom:1px solid rgba(16,22,26,.15);margin:20px 0}.bp3-dark .bp3-running-text hr{border-color:hsla(0,0%,100%,.15)}.bp3-running-text p{margin:0 0 10px;padding:0}.bp3-text-large{font-size:16px}.bp3-text-small{font-size:12px}a{text-decoration:none}a,a:hover{color:#106ba3}a:hover{cursor:pointer;text-decoration:underline}.bp3-dark a code,a .bp3-icon,a .bp3-icon-large,a .bp3-icon-standard,a code{color:inherit}.bp3-dark a,.bp3-dark a:hover{color:#48aff0}.bp3-dark a .bp3-icon,.bp3-dark a .bp3-icon-large,.bp3-dark a .bp3-icon-standard,.bp3-dark a:hover .bp3-icon,.bp3-dark a:hover .bp3-icon-large,.bp3-dark a:hover .bp3-icon-standard{color:inherit}.bp3-code,.bp3-running-text code{background:hsla(0,0%,100%,.7);border-radius:3px;box-shadow:inset 0 0 0 1px rgba(16,22,26,.2);color:#5c7080;font-family:monospace;font-size:smaller;padding:2px 5px;text-transform:none}.bp3-dark .bp3-code,.bp3-dark .bp3-running-text code,.bp3-running-text .bp3-dark code{background:rgba(16,22,26,.3);box-shadow:inset 0 0 0 1px rgba(16,22,26,.4);color:#a7b6c2}.bp3-running-text a>code,a>.bp3-code{color:#137cbd}.bp3-dark .bp3-running-text a>code,.bp3-dark a>.bp3-code,.bp3-running-text .bp3-dark a>code{color:inherit}.bp3-code-block,.bp3-running-text pre{word-wrap:break-word;background:hsla(0,0%,100%,.7);border-radius:3px;box-shadow:inset 0 0 0 1px rgba(16,22,26,.15);color:#182026;display:block;font-family:monospace;font-size:13px;line-height:1.4;margin:10px 0;padding:13px 15px 12px;text-transform:none;word-break:break-all}.bp3-dark .bp3-code-block,.bp3-dark .bp3-running-text pre,.bp3-running-text .bp3-dark pre{background:rgba(16,22,26,.3);box-shadow:inset 0 0 0 1px rgba(16,22,26,.4);color:#f5f8fa}.bp3-code-block>code,.bp3-running-text pre>code{background:none;box-shadow:none;color:inherit;font-size:inherit;padding:0}.bp3-key,.bp3-running-text kbd{align-items:center;background:#fff;border-radius:3px;box-shadow:0 0 0 1px rgba(16,22,26,.1),0 0 0 rgba(16,22,26,0),0 1px 1px rgba(16,22,26,.2);color:#5c7080;display:inline-flex;font-family:inherit;font-size:12px;height:24px;justify-content:center;line-height:24px;min-width:24px;padding:3px 6px;vertical-align:middle}.bp3-key .bp3-icon,.bp3-key .bp3-icon-large,.bp3-key .bp3-icon-standard,.bp3-running-text kbd .bp3-icon,.bp3-running-text kbd .bp3-icon-large,.bp3-running-text kbd .bp3-icon-standard{margin-right:5px}.bp3-dark .bp3-key,.bp3-dark .bp3-running-text kbd,.bp3-running-text .bp3-dark kbd{background:#394b59;box-shadow:0 0 0 1px rgba(16,22,26,.2),0 0 0 rgba(16,22,26,0),0 1px 1px rgba(16,22,26,.4);color:#a7b6c2}.bp3-blockquote,.bp3-running-text blockquote{border-left:4px solid rgba(167,182,194,.5);margin:0 0 10px;padding:0 20px}.bp3-dark .bp3-blockquote,.bp3-dark .bp3-running-text blockquote,.bp3-running-text .bp3-dark blockquote{border-color:rgba(115,134,148,.5)}.bp3-list,.bp3-running-text ol,.bp3-running-text ul{margin:10px 0;padding-left:30px}.bp3-list li:not(:last-child),.bp3-running-text ol li:not(:last-child),.bp3-running-text ul li:not(:last-child){margin-bottom:5px}.bp3-list ol,.bp3-list ul,.bp3-running-text ol ol,.bp3-running-text ol ul,.bp3-running-text ul ol,.bp3-running-text ul ul{margin-top:5px}.bp3-list-unstyled{list-style:none;margin:0;padding:0}.bp3-list-unstyled li{padding:0}.bp3-rtl{text-align:right}.bp3-dark{color:#f5f8fa}:focus{-moz-outline-radius:6px;outline:2px auto rgba(19,124,189,.6);outline-offset:2px}.bp3-focus-disabled :focus,.bp3-focus-disabled :focus~.bp3-control-indicator{outline:none!important}.bp3-alert{max-width:400px;padding:20px}.bp3-alert-body{display:flex}.bp3-alert-body .bp3-icon{font-size:40px;margin-right:20px;margin-top:0}.bp3-alert-contents{word-break:break-word}.bp3-alert-footer{display:flex;flex-direction:row-reverse;margin-top:10px}.bp3-alert-footer .bp3-button{margin-left:10px}.bp3-breadcrumbs{cursor:default;flex-wrap:wrap;height:30px;list-style:none;margin:0;padding:0}.bp3-breadcrumbs,.bp3-breadcrumbs>li{align-items:center;display:flex}.bp3-breadcrumbs>li:after{background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='m10.71 7.29-4-4a1.003 1.003 0 0 0-1.42 1.42L8.59 8 5.3 11.29c-.19.18-.3.43-.3.71a1.003 1.003 0 0 0 1.71.71l4-4c.18-.18.29-.43.29-.71 0-.28-.11-.53-.29-.71z' fill='%235C7080'/%3E%3C/svg%3E");content:"";display:block;height:16px;margin:0 5px;width:16px}.bp3-breadcrumbs>li:last-of-type:after{display:none}.bp3-breadcrumb,.bp3-breadcrumb-current,.bp3-breadcrumbs-collapsed{align-items:center;display:inline-flex;font-size:16px}.bp3-breadcrumb,.bp3-breadcrumbs-collapsed{color:#5c7080}.bp3-breadcrumb:hover{text-decoration:none}.bp3-breadcrumb.bp3-disabled{color:rgba(92,112,128,.6);cursor:not-allowed}.bp3-breadcrumb .bp3-icon{margin-right:5px}.bp3-breadcrumb-current{color:inherit;font-weight:600}.bp3-breadcrumb-current .bp3-input{font-size:inherit;font-weight:inherit;vertical-align:initial}.bp3-breadcrumbs-collapsed{background:#ced9e0;border:none;border-radius:3px;cursor:pointer;margin-right:2px;padding:1px 5px;vertical-align:text-bottom}.bp3-breadcrumbs-collapsed:before{background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%235C7080'%3E%3Ccircle cx='2' cy='8.03' r='2'/%3E%3Ccircle cx='14' cy='8.03' r='2'/%3E%3Ccircle cx='8' cy='8.03' r='2'/%3E%3C/g%3E%3C/svg%3E") 50% no-repeat;content:"";display:block;height:16px;width:16px}.bp3-breadcrumbs-collapsed:hover{background:#bfccd6;color:#182026;text-decoration:none}.bp3-dark .bp3-breadcrumb,.bp3-dark .bp3-breadcrumbs-collapsed,.bp3-dark .bp3-breadcrumbs>li:after{color:#a7b6c2}.bp3-dark .bp3-breadcrumb.bp3-disabled{color:rgba(167,182,194,.6)}.bp3-dark .bp3-breadcrumb-current{color:#f5f8fa}.bp3-dark .bp3-breadcrumbs-collapsed{background:rgba(16,22,26,.4)}.bp3-dark .bp3-breadcrumbs-collapsed:hover{background:rgba(16,22,26,.6);color:#f5f8fa}.bp3-button{align-items:center;border:none;border-radius:3px;cursor:pointer;display:inline-flex;flex-direction:row;font-size:14px;justify-content:center;min-height:30px;min-width:30px;padding:5px 10px;text-align:left;vertical-align:middle}.bp3-button>*{flex-grow:0;flex-shrink:0}.bp3-button>.bp3-fill{flex-grow:1;flex-shrink:1}.bp3-button:before,.bp3-button>*{margin-right:7px}.bp3-button:empty:before,.bp3-button>:last-child{margin-right:0}.bp3-button:empty{padding:0!important}.bp3-button.bp3-disabled,.bp3-button:disabled{cursor:not-allowed}.bp3-button.bp3-fill{display:flex;width:100%}.bp3-align-right .bp3-button,.bp3-button.bp3-align-right{text-align:right}.bp3-align-left .bp3-button,.bp3-button.bp3-align-left{text-align:left}.bp3-button:not([class*=bp3-intent-]){background-color:#f5f8fa;background-image:linear-gradient(180deg,hsla(0,0%,100%,.8),hsla(0,0%,100%,0));box-shadow:inset 0 0 0 1px rgba(16,22,26,.2),inset 0 -1px 0 rgba(16,22,26,.1);color:#182026}.bp3-button:not([class*=bp3-intent-]):hover{background-clip:padding-box;background-color:#ebf1f5;box-shadow:inset 0 0 0 1px rgba(16,22,26,.2),inset 0 -1px 0 rgba(16,22,26,.1)}.bp3-button:not([class*=bp3-intent-]).bp3-active,.bp3-button:not([class*=bp3-intent-]):active{background-color:#d8e1e8;background-image:none;box-shadow:inset 0 0 0 1px rgba(16,22,26,.2),inset 0 1px 2px rgba(16,22,26,.2)}.bp3-button:not([class*=bp3-intent-]).bp3-disabled,.bp3-button:not([class*=bp3-intent-]):disabled{background-color:rgba(206,217,224,.5);background-image:none;box-shadow:none;color:rgba(92,112,128,.6);cursor:not-allowed;outline:none}.bp3-button:not([class*=bp3-intent-]).bp3-disabled.bp3-active,.bp3-button:not([class*=bp3-intent-]).bp3-disabled.bp3-active:hover,.bp3-button:not([class*=bp3-intent-]):disabled.bp3-active,.bp3-button:not([class*=bp3-intent-]):disabled.bp3-active:hover{background:rgba(206,217,224,.7)}.bp3-button.bp3-intent-primary{background-color:#137cbd;background-image:linear-gradient(180deg,hsla(0,0%,100%,.1),hsla(0,0%,100%,0));box-shadow:inset 0 0 0 1px rgba(16,22,26,.4),inset 0 -1px 0 rgba(16,22,26,.2);color:#fff}.bp3-button.bp3-intent-primary.bp3-active,.bp3-button.bp3-intent-primary:active,.bp3-button.bp3-intent-primary:hover{color:#fff}.bp3-button.bp3-intent-primary:hover{background-color:#106ba3;box-shadow:inset 0 0 0 1px rgba(16,22,26,.4),inset 0 -1px 0 rgba(16,22,26,.2)}.bp3-button.bp3-intent-primary.bp3-active,.bp3-button.bp3-intent-primary:active{background-color:#0e5a8a;background-image:none;box-shadow:inset 0 0 0 1px rgba(16,22,26,.4),inset 0 1px 2px rgba(16,22,26,.2)}.bp3-button.bp3-intent-primary.bp3-disabled,.bp3-button.bp3-intent-primary:disabled{background-color:rgba(19,124,189,.5);background-image:none;border-color:transparent;box-shadow:none;color:hsla(0,0%,100%,.6)}.bp3-button.bp3-intent-success{background-color:#0f9960;background-image:linear-gradient(180deg,hsla(0,0%,100%,.1),hsla(0,0%,100%,0));box-shadow:inset 0 0 0 1px rgba(16,22,26,.4),inset 0 -1px 0 rgba(16,22,26,.2);color:#fff}.bp3-button.bp3-intent-success.bp3-active,.bp3-button.bp3-intent-success:active,.bp3-button.bp3-intent-success:hover{color:#fff}.bp3-button.bp3-intent-success:hover{background-color:#0d8050;box-shadow:inset 0 0 0 1px rgba(16,22,26,.4),inset 0 -1px 0 rgba(16,22,26,.2)}.bp3-button.bp3-intent-success.bp3-active,.bp3-button.bp3-intent-success:active{background-color:#0a6640;background-image:none;box-shadow:inset 0 0 0 1px rgba(16,22,26,.4),inset 0 1px 2px rgba(16,22,26,.2)}.bp3-button.bp3-intent-success.bp3-disabled,.bp3-button.bp3-intent-success:disabled{background-color:rgba(15,153,96,.5);background-image:none;border-color:transparent;box-shadow:none;color:hsla(0,0%,100%,.6)}.bp3-button.bp3-intent-warning{background-color:#d9822b;background-image:linear-gradient(180deg,hsla(0,0%,100%,.1),hsla(0,0%,100%,0));box-shadow:inset 0 0 0 1px rgba(16,22,26,.4),inset 0 -1px 0 rgba(16,22,26,.2);color:#fff}.bp3-button.bp3-intent-warning.bp3-active,.bp3-button.bp3-intent-warning:active,.bp3-button.bp3-intent-warning:hover{color:#fff}.bp3-button.bp3-intent-warning:hover{background-color:#bf7326;box-shadow:inset 0 0 0 1px rgba(16,22,26,.4),inset 0 -1px 0 rgba(16,22,26,.2)}.bp3-button.bp3-intent-warning.bp3-active,.bp3-button.bp3-intent-warning:active{background-color:#a66321;background-image:none;box-shadow:inset 0 0 0 1px rgba(16,22,26,.4),inset 0 1px 2px rgba(16,22,26,.2)}.bp3-button.bp3-intent-warning.bp3-disabled,.bp3-button.bp3-intent-warning:disabled{background-color:rgba(217,130,43,.5);background-image:none;border-color:transparent;box-shadow:none;color:hsla(0,0%,100%,.6)}.bp3-button.bp3-intent-danger{background-color:#db3737;background-image:linear-gradient(180deg,hsla(0,0%,100%,.1),hsla(0,0%,100%,0));box-shadow:inset 0 0 0 1px rgba(16,22,26,.4),inset 0 -1px 0 rgba(16,22,26,.2);color:#fff}.bp3-button.bp3-intent-danger.bp3-active,.bp3-button.bp3-intent-danger:active,.bp3-button.bp3-intent-danger:hover{color:#fff}.bp3-button.bp3-intent-danger:hover{background-color:#c23030;box-shadow:inset 0 0 0 1px rgba(16,22,26,.4),inset 0 -1px 0 rgba(16,22,26,.2)}.bp3-button.bp3-intent-danger.bp3-active,.bp3-button.bp3-intent-danger:active{background-color:#a82a2a;background-image:none;box-shadow:inset 0 0 0 1px rgba(16,22,26,.4),inset 0 1px 2px rgba(16,22,26,.2)}.bp3-button.bp3-intent-danger.bp3-disabled,.bp3-button.bp3-intent-danger:disabled{background-color:rgba(219,55,55,.5);background-image:none;border-color:transparent;box-shadow:none;color:hsla(0,0%,100%,.6)}.bp3-button[class*=bp3-intent-] .bp3-button-spinner .bp3-spinner-head{stroke:#fff}.bp3-button.bp3-large,.bp3-large .bp3-button{font-size:16px;min-height:40px;min-width:40px;padding:5px 15px}.bp3-button.bp3-large:before,.bp3-button.bp3-large>*,.bp3-large .bp3-button:before,.bp3-large .bp3-button>*{margin-right:10px}.bp3-button.bp3-large:empty:before,.bp3-button.bp3-large>:last-child,.bp3-large .bp3-button:empty:before,.bp3-large .bp3-button>:last-child{margin-right:0}.bp3-button.bp3-small,.bp3-small .bp3-button{min-height:24px;min-width:24px;padding:0 7px}.bp3-button.bp3-loading{position:relative}.bp3-button.bp3-loading[class*=bp3-icon-]:before{visibility:hidden}.bp3-button.bp3-loading .bp3-button-spinner{margin:0;position:absolute}.bp3-button.bp3-loading>:not(.bp3-button-spinner){visibility:hidden}.bp3-button[class*=bp3-icon-]:before{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;color:#5c7080;font-family:Icons16,sans-serif;font-size:16px;font-style:normal;font-weight:400;line-height:1}.bp3-button .bp3-icon,.bp3-button .bp3-icon-large,.bp3-button .bp3-icon-standard{color:#5c7080}.bp3-button .bp3-icon-large.bp3-align-right,.bp3-button .bp3-icon-standard.bp3-align-right,.bp3-button .bp3-icon.bp3-align-right{margin-left:7px}.bp3-button .bp3-icon:first-child:last-child,.bp3-button .bp3-spinner+.bp3-icon:last-child{margin:0 -7px}.bp3-dark .bp3-button:not([class*=bp3-intent-]){background-color:#394b59;background-image:linear-gradient(180deg,hsla(0,0%,100%,.05),hsla(0,0%,100%,0));box-shadow:0 0 0 1px rgba(16,22,26,.4);color:#f5f8fa}.bp3-dark .bp3-button:not([class*=bp3-intent-]).bp3-active,.bp3-dark .bp3-button:not([class*=bp3-intent-]):active,.bp3-dark .bp3-button:not([class*=bp3-intent-]):hover{color:#f5f8fa}.bp3-dark .bp3-button:not([class*=bp3-intent-]):hover{background-color:#30404d;box-shadow:0 0 0 1px rgba(16,22,26,.4)}.bp3-dark .bp3-button:not([class*=bp3-intent-]).bp3-active,.bp3-dark .bp3-button:not([class*=bp3-intent-]):active{background-color:#202b33;background-image:none;box-shadow:0 0 0 1px rgba(16,22,26,.6),inset 0 1px 2px rgba(16,22,26,.2)}.bp3-dark .bp3-button:not([class*=bp3-intent-]).bp3-disabled,.bp3-dark .bp3-button:not([class*=bp3-intent-]):disabled{background-color:rgba(57,75,89,.5);background-image:none;box-shadow:none;color:rgba(167,182,194,.6)}.bp3-dark .bp3-button:not([class*=bp3-intent-]).bp3-disabled.bp3-active,.bp3-dark .bp3-button:not([class*=bp3-intent-]):disabled.bp3-active{background:rgba(57,75,89,.7)}.bp3-dark .bp3-button:not([class*=bp3-intent-]) .bp3-button-spinner .bp3-spinner-head{stroke:#8a9ba8;background:rgba(16,22,26,.5)}.bp3-dark .bp3-button:not([class*=bp3-intent-]) .bp3-icon-large:not([class*=bp3-intent-]),.bp3-dark .bp3-button:not([class*=bp3-intent-]) .bp3-icon-standard:not([class*=bp3-intent-]),.bp3-dark .bp3-button:not([class*=bp3-intent-]) .bp3-icon:not([class*=bp3-intent-]),.bp3-dark .bp3-button:not([class*=bp3-intent-])[class*=bp3-icon-]:before{color:#a7b6c2}.bp3-dark .bp3-button[class*=bp3-intent-],.bp3-dark .bp3-button[class*=bp3-intent-]:hover{box-shadow:0 0 0 1px rgba(16,22,26,.4)}.bp3-dark .bp3-button[class*=bp3-intent-].bp3-active,.bp3-dark .bp3-button[class*=bp3-intent-]:active{box-shadow:0 0 0 1px rgba(16,22,26,.4),inset 0 1px 2px rgba(16,22,26,.2)}.bp3-dark .bp3-button[class*=bp3-intent-].bp3-disabled,.bp3-dark .bp3-button[class*=bp3-intent-]:disabled{background-image:none;box-shadow:none;color:hsla(0,0%,100%,.3)}.bp3-dark .bp3-button[class*=bp3-intent-] .bp3-button-spinner .bp3-spinner-head{stroke:#8a9ba8}.bp3-button.bp3-disabled .bp3-icon,.bp3-button.bp3-disabled .bp3-icon-large,.bp3-button.bp3-disabled .bp3-icon-standard,.bp3-button.bp3-disabled:before,.bp3-button:disabled .bp3-icon,.bp3-button:disabled .bp3-icon-large,.bp3-button:disabled .bp3-icon-standard,.bp3-button:disabled:before,.bp3-button[class*=bp3-intent-] .bp3-icon,.bp3-button[class*=bp3-intent-] .bp3-icon-large,.bp3-button[class*=bp3-intent-] .bp3-icon-standard,.bp3-button[class*=bp3-intent-]:before{color:inherit!important}.bp3-button.bp3-minimal{background:none;box-shadow:none}.bp3-button.bp3-minimal:hover{background:rgba(167,182,194,.3);box-shadow:none;color:#182026;text-decoration:none}.bp3-button.bp3-minimal.bp3-active,.bp3-button.bp3-minimal:active{background:rgba(115,134,148,.3);box-shadow:none;color:#182026}.bp3-button.bp3-minimal.bp3-disabled,.bp3-button.bp3-minimal.bp3-disabled:hover,.bp3-button.bp3-minimal:disabled,.bp3-button.bp3-minimal:disabled:hover{background:none;color:rgba(92,112,128,.6);cursor:not-allowed}.bp3-button.bp3-minimal.bp3-disabled.bp3-active,.bp3-button.bp3-minimal.bp3-disabled:hover.bp3-active,.bp3-button.bp3-minimal:disabled.bp3-active,.bp3-button.bp3-minimal:disabled:hover.bp3-active{background:rgba(115,134,148,.3)}.bp3-dark .bp3-button.bp3-minimal{background:none;box-shadow:none;color:inherit}.bp3-dark .bp3-button.bp3-minimal.bp3-active,.bp3-dark .bp3-button.bp3-minimal:active,.bp3-dark .bp3-button.bp3-minimal:hover{background:none;box-shadow:none}.bp3-dark .bp3-button.bp3-minimal:hover{background:rgba(138,155,168,.15)}.bp3-dark .bp3-button.bp3-minimal.bp3-active,.bp3-dark .bp3-button.bp3-minimal:active{background:rgba(138,155,168,.3);color:#f5f8fa}.bp3-dark .bp3-button.bp3-minimal.bp3-disabled,.bp3-dark .bp3-button.bp3-minimal.bp3-disabled:hover,.bp3-dark .bp3-button.bp3-minimal:disabled,.bp3-dark .bp3-button.bp3-minimal:disabled:hover{background:none;color:rgba(167,182,194,.6);cursor:not-allowed}.bp3-dark .bp3-button.bp3-minimal.bp3-disabled.bp3-active,.bp3-dark .bp3-button.bp3-minimal.bp3-disabled:hover.bp3-active,.bp3-dark .bp3-button.bp3-minimal:disabled.bp3-active,.bp3-dark .bp3-button.bp3-minimal:disabled:hover.bp3-active{background:rgba(138,155,168,.3)}.bp3-button.bp3-minimal.bp3-intent-primary{color:#106ba3}.bp3-button.bp3-minimal.bp3-intent-primary.bp3-active,.bp3-button.bp3-minimal.bp3-intent-primary:active,.bp3-button.bp3-minimal.bp3-intent-primary:hover{background:none;box-shadow:none;color:#106ba3}.bp3-button.bp3-minimal.bp3-intent-primary:hover{background:rgba(19,124,189,.15);color:#106ba3}.bp3-button.bp3-minimal.bp3-intent-primary.bp3-active,.bp3-button.bp3-minimal.bp3-intent-primary:active{background:rgba(19,124,189,.3);color:#106ba3}.bp3-button.bp3-minimal.bp3-intent-primary.bp3-disabled,.bp3-button.bp3-minimal.bp3-intent-primary:disabled{background:none;color:rgba(16,107,163,.5)}.bp3-button.bp3-minimal.bp3-intent-primary.bp3-disabled.bp3-active,.bp3-button.bp3-minimal.bp3-intent-primary:disabled.bp3-active{background:rgba(19,124,189,.3)}.bp3-button.bp3-minimal.bp3-intent-primary .bp3-button-spinner .bp3-spinner-head{stroke:#106ba3}.bp3-dark .bp3-button.bp3-minimal.bp3-intent-primary{color:#48aff0}.bp3-dark .bp3-button.bp3-minimal.bp3-intent-primary:hover{background:rgba(19,124,189,.2);color:#48aff0}.bp3-dark .bp3-button.bp3-minimal.bp3-intent-primary.bp3-active,.bp3-dark .bp3-button.bp3-minimal.bp3-intent-primary:active{background:rgba(19,124,189,.3);color:#48aff0}.bp3-dark .bp3-button.bp3-minimal.bp3-intent-primary.bp3-disabled,.bp3-dark .bp3-button.bp3-minimal.bp3-intent-primary:disabled{background:none;color:rgba(72,175,240,.5)}.bp3-dark .bp3-button.bp3-minimal.bp3-intent-primary.bp3-disabled.bp3-active,.bp3-dark .bp3-button.bp3-minimal.bp3-intent-primary:disabled.bp3-active{background:rgba(19,124,189,.3)}.bp3-button.bp3-minimal.bp3-intent-success{color:#0d8050}.bp3-button.bp3-minimal.bp3-intent-success.bp3-active,.bp3-button.bp3-minimal.bp3-intent-success:active,.bp3-button.bp3-minimal.bp3-intent-success:hover{background:none;box-shadow:none;color:#0d8050}.bp3-button.bp3-minimal.bp3-intent-success:hover{background:rgba(15,153,96,.15);color:#0d8050}.bp3-button.bp3-minimal.bp3-intent-success.bp3-active,.bp3-button.bp3-minimal.bp3-intent-success:active{background:rgba(15,153,96,.3);color:#0d8050}.bp3-button.bp3-minimal.bp3-intent-success.bp3-disabled,.bp3-button.bp3-minimal.bp3-intent-success:disabled{background:none;color:rgba(13,128,80,.5)}.bp3-button.bp3-minimal.bp3-intent-success.bp3-disabled.bp3-active,.bp3-button.bp3-minimal.bp3-intent-success:disabled.bp3-active{background:rgba(15,153,96,.3)}.bp3-button.bp3-minimal.bp3-intent-success .bp3-button-spinner .bp3-spinner-head{stroke:#0d8050}.bp3-dark .bp3-button.bp3-minimal.bp3-intent-success{color:#3dcc91}.bp3-dark .bp3-button.bp3-minimal.bp3-intent-success:hover{background:rgba(15,153,96,.2);color:#3dcc91}.bp3-dark .bp3-button.bp3-minimal.bp3-intent-success.bp3-active,.bp3-dark .bp3-button.bp3-minimal.bp3-intent-success:active{background:rgba(15,153,96,.3);color:#3dcc91}.bp3-dark .bp3-button.bp3-minimal.bp3-intent-success.bp3-disabled,.bp3-dark .bp3-button.bp3-minimal.bp3-intent-success:disabled{background:none;color:rgba(61,204,145,.5)}.bp3-dark .bp3-button.bp3-minimal.bp3-intent-success.bp3-disabled.bp3-active,.bp3-dark .bp3-button.bp3-minimal.bp3-intent-success:disabled.bp3-active{background:rgba(15,153,96,.3)}.bp3-button.bp3-minimal.bp3-intent-warning{color:#bf7326}.bp3-button.bp3-minimal.bp3-intent-warning.bp3-active,.bp3-button.bp3-minimal.bp3-intent-warning:active,.bp3-button.bp3-minimal.bp3-intent-warning:hover{background:none;box-shadow:none;color:#bf7326}.bp3-button.bp3-minimal.bp3-intent-warning:hover{background:rgba(217,130,43,.15);color:#bf7326}.bp3-button.bp3-minimal.bp3-intent-warning.bp3-active,.bp3-button.bp3-minimal.bp3-intent-warning:active{background:rgba(217,130,43,.3);color:#bf7326}.bp3-button.bp3-minimal.bp3-intent-warning.bp3-disabled,.bp3-button.bp3-minimal.bp3-intent-warning:disabled{background:none;color:rgba(191,115,38,.5)}.bp3-button.bp3-minimal.bp3-intent-warning.bp3-disabled.bp3-active,.bp3-button.bp3-minimal.bp3-intent-warning:disabled.bp3-active{background:rgba(217,130,43,.3)}.bp3-button.bp3-minimal.bp3-intent-warning .bp3-button-spinner .bp3-spinner-head{stroke:#bf7326}.bp3-dark .bp3-button.bp3-minimal.bp3-intent-warning{color:#ffb366}.bp3-dark .bp3-button.bp3-minimal.bp3-intent-warning:hover{background:rgba(217,130,43,.2);color:#ffb366}.bp3-dark .bp3-button.bp3-minimal.bp3-intent-warning.bp3-active,.bp3-dark .bp3-button.bp3-minimal.bp3-intent-warning:active{background:rgba(217,130,43,.3);color:#ffb366}.bp3-dark .bp3-button.bp3-minimal.bp3-intent-warning.bp3-disabled,.bp3-dark .bp3-button.bp3-minimal.bp3-intent-warning:disabled{background:none;color:rgba(255,179,102,.5)}.bp3-dark .bp3-button.bp3-minimal.bp3-intent-warning.bp3-disabled.bp3-active,.bp3-dark .bp3-button.bp3-minimal.bp3-intent-warning:disabled.bp3-active{background:rgba(217,130,43,.3)}.bp3-button.bp3-minimal.bp3-intent-danger{color:#c23030}.bp3-button.bp3-minimal.bp3-intent-danger.bp3-active,.bp3-button.bp3-minimal.bp3-intent-danger:active,.bp3-button.bp3-minimal.bp3-intent-danger:hover{background:none;box-shadow:none;color:#c23030}.bp3-button.bp3-minimal.bp3-intent-danger:hover{background:rgba(219,55,55,.15);color:#c23030}.bp3-button.bp3-minimal.bp3-intent-danger.bp3-active,.bp3-button.bp3-minimal.bp3-intent-danger:active{background:rgba(219,55,55,.3);color:#c23030}.bp3-button.bp3-minimal.bp3-intent-danger.bp3-disabled,.bp3-button.bp3-minimal.bp3-intent-danger:disabled{background:none;color:rgba(194,48,48,.5)}.bp3-button.bp3-minimal.bp3-intent-danger.bp3-disabled.bp3-active,.bp3-button.bp3-minimal.bp3-intent-danger:disabled.bp3-active{background:rgba(219,55,55,.3)}.bp3-button.bp3-minimal.bp3-intent-danger .bp3-button-spinner .bp3-spinner-head{stroke:#c23030}.bp3-dark .bp3-button.bp3-minimal.bp3-intent-danger{color:#ff7373}.bp3-dark .bp3-button.bp3-minimal.bp3-intent-danger:hover{background:rgba(219,55,55,.2);color:#ff7373}.bp3-dark .bp3-button.bp3-minimal.bp3-intent-danger.bp3-active,.bp3-dark .bp3-button.bp3-minimal.bp3-intent-danger:active{background:rgba(219,55,55,.3);color:#ff7373}.bp3-dark .bp3-button.bp3-minimal.bp3-intent-danger.bp3-disabled,.bp3-dark .bp3-button.bp3-minimal.bp3-intent-danger:disabled{background:none;color:hsla(0,100%,73%,.5)}.bp3-dark .bp3-button.bp3-minimal.bp3-intent-danger.bp3-disabled.bp3-active,.bp3-dark .bp3-button.bp3-minimal.bp3-intent-danger:disabled.bp3-active{background:rgba(219,55,55,.3)}.bp3-button.bp3-outlined{background:none;border:1px solid rgba(24,32,38,.2);box-shadow:none;box-sizing:border-box}.bp3-button.bp3-outlined:hover{background:rgba(167,182,194,.3);box-shadow:none;color:#182026;text-decoration:none}.bp3-button.bp3-outlined.bp3-active,.bp3-button.bp3-outlined:active{background:rgba(115,134,148,.3);box-shadow:none;color:#182026}.bp3-button.bp3-outlined.bp3-disabled,.bp3-button.bp3-outlined.bp3-disabled:hover,.bp3-button.bp3-outlined:disabled,.bp3-button.bp3-outlined:disabled:hover{background:none;color:rgba(92,112,128,.6);cursor:not-allowed}.bp3-button.bp3-outlined.bp3-disabled.bp3-active,.bp3-button.bp3-outlined.bp3-disabled:hover.bp3-active,.bp3-button.bp3-outlined:disabled.bp3-active,.bp3-button.bp3-outlined:disabled:hover.bp3-active{background:rgba(115,134,148,.3)}.bp3-dark .bp3-button.bp3-outlined{background:none;box-shadow:none;color:inherit}.bp3-dark .bp3-button.bp3-outlined.bp3-active,.bp3-dark .bp3-button.bp3-outlined:active,.bp3-dark .bp3-button.bp3-outlined:hover{background:none;box-shadow:none}.bp3-dark .bp3-button.bp3-outlined:hover{background:rgba(138,155,168,.15)}.bp3-dark .bp3-button.bp3-outlined.bp3-active,.bp3-dark .bp3-button.bp3-outlined:active{background:rgba(138,155,168,.3);color:#f5f8fa}.bp3-dark .bp3-button.bp3-outlined.bp3-disabled,.bp3-dark .bp3-button.bp3-outlined.bp3-disabled:hover,.bp3-dark .bp3-button.bp3-outlined:disabled,.bp3-dark .bp3-button.bp3-outlined:disabled:hover{background:none;color:rgba(167,182,194,.6);cursor:not-allowed}.bp3-dark .bp3-button.bp3-outlined.bp3-disabled.bp3-active,.bp3-dark .bp3-button.bp3-outlined.bp3-disabled:hover.bp3-active,.bp3-dark .bp3-button.bp3-outlined:disabled.bp3-active,.bp3-dark .bp3-button.bp3-outlined:disabled:hover.bp3-active{background:rgba(138,155,168,.3)}.bp3-button.bp3-outlined.bp3-intent-primary{color:#106ba3}.bp3-button.bp3-outlined.bp3-intent-primary.bp3-active,.bp3-button.bp3-outlined.bp3-intent-primary:active,.bp3-button.bp3-outlined.bp3-intent-primary:hover{background:none;box-shadow:none;color:#106ba3}.bp3-button.bp3-outlined.bp3-intent-primary:hover{background:rgba(19,124,189,.15);color:#106ba3}.bp3-button.bp3-outlined.bp3-intent-primary.bp3-active,.bp3-button.bp3-outlined.bp3-intent-primary:active{background:rgba(19,124,189,.3);color:#106ba3}.bp3-button.bp3-outlined.bp3-intent-primary.bp3-disabled,.bp3-button.bp3-outlined.bp3-intent-primary:disabled{background:none;color:rgba(16,107,163,.5)}.bp3-button.bp3-outlined.bp3-intent-primary.bp3-disabled.bp3-active,.bp3-button.bp3-outlined.bp3-intent-primary:disabled.bp3-active{background:rgba(19,124,189,.3)}.bp3-button.bp3-outlined.bp3-intent-primary .bp3-button-spinner .bp3-spinner-head{stroke:#106ba3}.bp3-dark .bp3-button.bp3-outlined.bp3-intent-primary{color:#48aff0}.bp3-dark .bp3-button.bp3-outlined.bp3-intent-primary:hover{background:rgba(19,124,189,.2);color:#48aff0}.bp3-dark .bp3-button.bp3-outlined.bp3-intent-primary.bp3-active,.bp3-dark .bp3-button.bp3-outlined.bp3-intent-primary:active{background:rgba(19,124,189,.3);color:#48aff0}.bp3-dark .bp3-button.bp3-outlined.bp3-intent-primary.bp3-disabled,.bp3-dark .bp3-button.bp3-outlined.bp3-intent-primary:disabled{background:none;color:rgba(72,175,240,.5)}.bp3-dark .bp3-button.bp3-outlined.bp3-intent-primary.bp3-disabled.bp3-active,.bp3-dark .bp3-button.bp3-outlined.bp3-intent-primary:disabled.bp3-active{background:rgba(19,124,189,.3)}.bp3-button.bp3-outlined.bp3-intent-success{color:#0d8050}.bp3-button.bp3-outlined.bp3-intent-success.bp3-active,.bp3-button.bp3-outlined.bp3-intent-success:active,.bp3-button.bp3-outlined.bp3-intent-success:hover{background:none;box-shadow:none;color:#0d8050}.bp3-button.bp3-outlined.bp3-intent-success:hover{background:rgba(15,153,96,.15);color:#0d8050}.bp3-button.bp3-outlined.bp3-intent-success.bp3-active,.bp3-button.bp3-outlined.bp3-intent-success:active{background:rgba(15,153,96,.3);color:#0d8050}.bp3-button.bp3-outlined.bp3-intent-success.bp3-disabled,.bp3-button.bp3-outlined.bp3-intent-success:disabled{background:none;color:rgba(13,128,80,.5)}.bp3-button.bp3-outlined.bp3-intent-success.bp3-disabled.bp3-active,.bp3-button.bp3-outlined.bp3-intent-success:disabled.bp3-active{background:rgba(15,153,96,.3)}.bp3-button.bp3-outlined.bp3-intent-success .bp3-button-spinner .bp3-spinner-head{stroke:#0d8050}.bp3-dark .bp3-button.bp3-outlined.bp3-intent-success{color:#3dcc91}.bp3-dark .bp3-button.bp3-outlined.bp3-intent-success:hover{background:rgba(15,153,96,.2);color:#3dcc91}.bp3-dark .bp3-button.bp3-outlined.bp3-intent-success.bp3-active,.bp3-dark .bp3-button.bp3-outlined.bp3-intent-success:active{background:rgba(15,153,96,.3);color:#3dcc91}.bp3-dark .bp3-button.bp3-outlined.bp3-intent-success.bp3-disabled,.bp3-dark .bp3-button.bp3-outlined.bp3-intent-success:disabled{background:none;color:rgba(61,204,145,.5)}.bp3-dark .bp3-button.bp3-outlined.bp3-intent-success.bp3-disabled.bp3-active,.bp3-dark .bp3-button.bp3-outlined.bp3-intent-success:disabled.bp3-active{background:rgba(15,153,96,.3)}.bp3-button.bp3-outlined.bp3-intent-warning{color:#bf7326}.bp3-button.bp3-outlined.bp3-intent-warning.bp3-active,.bp3-button.bp3-outlined.bp3-intent-warning:active,.bp3-button.bp3-outlined.bp3-intent-warning:hover{background:none;box-shadow:none;color:#bf7326}.bp3-button.bp3-outlined.bp3-intent-warning:hover{background:rgba(217,130,43,.15);color:#bf7326}.bp3-button.bp3-outlined.bp3-intent-warning.bp3-active,.bp3-button.bp3-outlined.bp3-intent-warning:active{background:rgba(217,130,43,.3);color:#bf7326}.bp3-button.bp3-outlined.bp3-intent-warning.bp3-disabled,.bp3-button.bp3-outlined.bp3-intent-warning:disabled{background:none;color:rgba(191,115,38,.5)}.bp3-button.bp3-outlined.bp3-intent-warning.bp3-disabled.bp3-active,.bp3-button.bp3-outlined.bp3-intent-warning:disabled.bp3-active{background:rgba(217,130,43,.3)}.bp3-button.bp3-outlined.bp3-intent-warning .bp3-button-spinner .bp3-spinner-head{stroke:#bf7326}.bp3-dark .bp3-button.bp3-outlined.bp3-intent-warning{color:#ffb366}.bp3-dark .bp3-button.bp3-outlined.bp3-intent-warning:hover{background:rgba(217,130,43,.2);color:#ffb366}.bp3-dark .bp3-button.bp3-outlined.bp3-intent-warning.bp3-active,.bp3-dark .bp3-button.bp3-outlined.bp3-intent-warning:active{background:rgba(217,130,43,.3);color:#ffb366}.bp3-dark .bp3-button.bp3-outlined.bp3-intent-warning.bp3-disabled,.bp3-dark .bp3-button.bp3-outlined.bp3-intent-warning:disabled{background:none;color:rgba(255,179,102,.5)}.bp3-dark .bp3-button.bp3-outlined.bp3-intent-warning.bp3-disabled.bp3-active,.bp3-dark .bp3-button.bp3-outlined.bp3-intent-warning:disabled.bp3-active{background:rgba(217,130,43,.3)}.bp3-button.bp3-outlined.bp3-intent-danger{color:#c23030}.bp3-button.bp3-outlined.bp3-intent-danger.bp3-active,.bp3-button.bp3-outlined.bp3-intent-danger:active,.bp3-button.bp3-outlined.bp3-intent-danger:hover{background:none;box-shadow:none;color:#c23030}.bp3-button.bp3-outlined.bp3-intent-danger:hover{background:rgba(219,55,55,.15);color:#c23030}.bp3-button.bp3-outlined.bp3-intent-danger.bp3-active,.bp3-button.bp3-outlined.bp3-intent-danger:active{background:rgba(219,55,55,.3);color:#c23030}.bp3-button.bp3-outlined.bp3-intent-danger.bp3-disabled,.bp3-button.bp3-outlined.bp3-intent-danger:disabled{background:none;color:rgba(194,48,48,.5)}.bp3-button.bp3-outlined.bp3-intent-danger.bp3-disabled.bp3-active,.bp3-button.bp3-outlined.bp3-intent-danger:disabled.bp3-active{background:rgba(219,55,55,.3)}.bp3-button.bp3-outlined.bp3-intent-danger .bp3-button-spinner .bp3-spinner-head{stroke:#c23030}.bp3-dark .bp3-button.bp3-outlined.bp3-intent-danger{color:#ff7373}.bp3-dark .bp3-button.bp3-outlined.bp3-intent-danger:hover{background:rgba(219,55,55,.2);color:#ff7373}.bp3-dark .bp3-button.bp3-outlined.bp3-intent-danger.bp3-active,.bp3-dark .bp3-button.bp3-outlined.bp3-intent-danger:active{background:rgba(219,55,55,.3);color:#ff7373}.bp3-dark .bp3-button.bp3-outlined.bp3-intent-danger.bp3-disabled,.bp3-dark .bp3-button.bp3-outlined.bp3-intent-danger:disabled{background:none;color:hsla(0,100%,73%,.5)}.bp3-dark .bp3-button.bp3-outlined.bp3-intent-danger.bp3-disabled.bp3-active,.bp3-dark .bp3-button.bp3-outlined.bp3-intent-danger:disabled.bp3-active{background:rgba(219,55,55,.3)}.bp3-button.bp3-outlined.bp3-disabled,.bp3-button.bp3-outlined.bp3-disabled:hover,.bp3-button.bp3-outlined:disabled,.bp3-button.bp3-outlined:disabled:hover{border-color:rgba(92,112,128,.1)}.bp3-dark .bp3-button.bp3-outlined{border-color:hsla(0,0%,100%,.4)}.bp3-dark .bp3-button.bp3-outlined.bp3-disabled,.bp3-dark .bp3-button.bp3-outlined.bp3-disabled:hover,.bp3-dark .bp3-button.bp3-outlined:disabled,.bp3-dark .bp3-button.bp3-outlined:disabled:hover{border-color:hsla(0,0%,100%,.2)}.bp3-button.bp3-outlined.bp3-intent-primary{border-color:rgba(16,107,163,.6)}.bp3-button.bp3-outlined.bp3-intent-primary.bp3-disabled,.bp3-button.bp3-outlined.bp3-intent-primary:disabled{border-color:rgba(16,107,163,.2)}.bp3-dark .bp3-button.bp3-outlined.bp3-intent-primary{border-color:rgba(72,175,240,.6)}.bp3-dark .bp3-button.bp3-outlined.bp3-intent-primary.bp3-disabled,.bp3-dark .bp3-button.bp3-outlined.bp3-intent-primary:disabled{border-color:rgba(72,175,240,.2)}.bp3-button.bp3-outlined.bp3-intent-success{border-color:rgba(13,128,80,.6)}.bp3-button.bp3-outlined.bp3-intent-success.bp3-disabled,.bp3-button.bp3-outlined.bp3-intent-success:disabled{border-color:rgba(13,128,80,.2)}.bp3-dark .bp3-button.bp3-outlined.bp3-intent-success{border-color:rgba(61,204,145,.6)}.bp3-dark .bp3-button.bp3-outlined.bp3-intent-success.bp3-disabled,.bp3-dark .bp3-button.bp3-outlined.bp3-intent-success:disabled{border-color:rgba(61,204,145,.2)}.bp3-button.bp3-outlined.bp3-intent-warning{border-color:rgba(191,115,38,.6)}.bp3-button.bp3-outlined.bp3-intent-warning.bp3-disabled,.bp3-button.bp3-outlined.bp3-intent-warning:disabled{border-color:rgba(191,115,38,.2)}.bp3-dark .bp3-button.bp3-outlined.bp3-intent-warning{border-color:rgba(255,179,102,.6)}.bp3-dark .bp3-button.bp3-outlined.bp3-intent-warning.bp3-disabled,.bp3-dark .bp3-button.bp3-outlined.bp3-intent-warning:disabled{border-color:rgba(255,179,102,.2)}.bp3-button.bp3-outlined.bp3-intent-danger{border-color:rgba(194,48,48,.6)}.bp3-button.bp3-outlined.bp3-intent-danger.bp3-disabled,.bp3-button.bp3-outlined.bp3-intent-danger:disabled{border-color:rgba(194,48,48,.2)}.bp3-dark .bp3-button.bp3-outlined.bp3-intent-danger{border-color:hsla(0,100%,73%,.6)}.bp3-dark .bp3-button.bp3-outlined.bp3-intent-danger.bp3-disabled,.bp3-dark .bp3-button.bp3-outlined.bp3-intent-danger:disabled{border-color:hsla(0,100%,73%,.2)}a.bp3-button{text-align:center;text-decoration:none;transition:none}a.bp3-button,a.bp3-button:active,a.bp3-button:hover{color:#182026}a.bp3-button.bp3-disabled{color:rgba(92,112,128,.6)}.bp3-button-text{flex:0 1 auto}.bp3-button-group.bp3-align-left .bp3-button-text,.bp3-button-group.bp3-align-right .bp3-button-text,.bp3-button.bp3-align-left .bp3-button-text,.bp3-button.bp3-align-right .bp3-button-text{flex:1 1 auto}.bp3-button-group{display:inline-flex}.bp3-button-group .bp3-button{flex:0 0 auto;position:relative;z-index:4}.bp3-button-group .bp3-button:focus{z-index:5}.bp3-button-group .bp3-button:hover{z-index:6}.bp3-button-group .bp3-button.bp3-active,.bp3-button-group .bp3-button:active{z-index:7}.bp3-button-group .bp3-button.bp3-disabled,.bp3-button-group .bp3-button:disabled{z-index:3}.bp3-button-group .bp3-button[class*=bp3-intent-]{z-index:9}.bp3-button-group .bp3-button[class*=bp3-intent-]:focus{z-index:10}.bp3-button-group .bp3-button[class*=bp3-intent-]:hover{z-index:11}.bp3-button-group .bp3-button[class*=bp3-intent-].bp3-active,.bp3-button-group .bp3-button[class*=bp3-intent-]:active{z-index:12}.bp3-button-group .bp3-button[class*=bp3-intent-].bp3-disabled,.bp3-button-group .bp3-button[class*=bp3-intent-]:disabled{z-index:8}.bp3-button-group:not(.bp3-minimal)>.bp3-button:not(:first-child),.bp3-button-group:not(.bp3-minimal)>.bp3-popover-wrapper:not(:first-child) .bp3-button{border-bottom-left-radius:0;border-top-left-radius:0}.bp3-button-group:not(.bp3-minimal)>.bp3-button:not(:last-child),.bp3-button-group:not(.bp3-minimal)>.bp3-popover-wrapper:not(:last-child) .bp3-button{border-bottom-right-radius:0;border-top-right-radius:0;margin-right:-1px}.bp3-button-group.bp3-minimal .bp3-button{background:none;box-shadow:none}.bp3-button-group.bp3-minimal .bp3-button:hover{background:rgba(167,182,194,.3);box-shadow:none;color:#182026;text-decoration:none}.bp3-button-group.bp3-minimal .bp3-button.bp3-active,.bp3-button-group.bp3-minimal .bp3-button:active{background:rgba(115,134,148,.3);box-shadow:none;color:#182026}.bp3-button-group.bp3-minimal .bp3-button.bp3-disabled,.bp3-button-group.bp3-minimal .bp3-button.bp3-disabled:hover,.bp3-button-group.bp3-minimal .bp3-button:disabled,.bp3-button-group.bp3-minimal .bp3-button:disabled:hover{background:none;color:rgba(92,112,128,.6);cursor:not-allowed}.bp3-button-group.bp3-minimal .bp3-button.bp3-disabled.bp3-active,.bp3-button-group.bp3-minimal .bp3-button.bp3-disabled:hover.bp3-active,.bp3-button-group.bp3-minimal .bp3-button:disabled.bp3-active,.bp3-button-group.bp3-minimal .bp3-button:disabled:hover.bp3-active{background:rgba(115,134,148,.3)}.bp3-dark .bp3-button-group.bp3-minimal .bp3-button{background:none;box-shadow:none;color:inherit}.bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-active,.bp3-dark .bp3-button-group.bp3-minimal .bp3-button:active,.bp3-dark .bp3-button-group.bp3-minimal .bp3-button:hover{background:none;box-shadow:none}.bp3-dark .bp3-button-group.bp3-minimal .bp3-button:hover{background:rgba(138,155,168,.15)}.bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-active,.bp3-dark .bp3-button-group.bp3-minimal .bp3-button:active{background:rgba(138,155,168,.3);color:#f5f8fa}.bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-disabled,.bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-disabled:hover,.bp3-dark .bp3-button-group.bp3-minimal .bp3-button:disabled,.bp3-dark .bp3-button-group.bp3-minimal .bp3-button:disabled:hover{background:none;color:rgba(167,182,194,.6);cursor:not-allowed}.bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-disabled.bp3-active,.bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-disabled:hover.bp3-active,.bp3-dark .bp3-button-group.bp3-minimal .bp3-button:disabled.bp3-active,.bp3-dark .bp3-button-group.bp3-minimal .bp3-button:disabled:hover.bp3-active{background:rgba(138,155,168,.3)}.bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary{color:#106ba3}.bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary.bp3-active,.bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary:active,.bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary:hover{background:none;box-shadow:none;color:#106ba3}.bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary:hover{background:rgba(19,124,189,.15);color:#106ba3}.bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary.bp3-active,.bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary:active{background:rgba(19,124,189,.3);color:#106ba3}.bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary.bp3-disabled,.bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary:disabled{background:none;color:rgba(16,107,163,.5)}.bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary.bp3-disabled.bp3-active,.bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary:disabled.bp3-active{background:rgba(19,124,189,.3)}.bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary .bp3-button-spinner .bp3-spinner-head{stroke:#106ba3}.bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary{color:#48aff0}.bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary:hover{background:rgba(19,124,189,.2);color:#48aff0}.bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary.bp3-active,.bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary:active{background:rgba(19,124,189,.3);color:#48aff0}.bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary.bp3-disabled,.bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary:disabled{background:none;color:rgba(72,175,240,.5)}.bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary.bp3-disabled.bp3-active,.bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-primary:disabled.bp3-active{background:rgba(19,124,189,.3)}.bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success{color:#0d8050}.bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success.bp3-active,.bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success:active,.bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success:hover{background:none;box-shadow:none;color:#0d8050}.bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success:hover{background:rgba(15,153,96,.15);color:#0d8050}.bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success.bp3-active,.bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success:active{background:rgba(15,153,96,.3);color:#0d8050}.bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success.bp3-disabled,.bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success:disabled{background:none;color:rgba(13,128,80,.5)}.bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success.bp3-disabled.bp3-active,.bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success:disabled.bp3-active{background:rgba(15,153,96,.3)}.bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success .bp3-button-spinner .bp3-spinner-head{stroke:#0d8050}.bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success{color:#3dcc91}.bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success:hover{background:rgba(15,153,96,.2);color:#3dcc91}.bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success.bp3-active,.bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success:active{background:rgba(15,153,96,.3);color:#3dcc91}.bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success.bp3-disabled,.bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success:disabled{background:none;color:rgba(61,204,145,.5)}.bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success.bp3-disabled.bp3-active,.bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-success:disabled.bp3-active{background:rgba(15,153,96,.3)}.bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning{color:#bf7326}.bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning.bp3-active,.bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning:active,.bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning:hover{background:none;box-shadow:none;color:#bf7326}.bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning:hover{background:rgba(217,130,43,.15);color:#bf7326}.bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning.bp3-active,.bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning:active{background:rgba(217,130,43,.3);color:#bf7326}.bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning.bp3-disabled,.bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning:disabled{background:none;color:rgba(191,115,38,.5)}.bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning.bp3-disabled.bp3-active,.bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning:disabled.bp3-active{background:rgba(217,130,43,.3)}.bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning .bp3-button-spinner .bp3-spinner-head{stroke:#bf7326}.bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning{color:#ffb366}.bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning:hover{background:rgba(217,130,43,.2);color:#ffb366}.bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning.bp3-active,.bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning:active{background:rgba(217,130,43,.3);color:#ffb366}.bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning.bp3-disabled,.bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning:disabled{background:none;color:rgba(255,179,102,.5)}.bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning.bp3-disabled.bp3-active,.bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-warning:disabled.bp3-active{background:rgba(217,130,43,.3)}.bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger{color:#c23030}.bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger.bp3-active,.bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger:active,.bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger:hover{background:none;box-shadow:none;color:#c23030}.bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger:hover{background:rgba(219,55,55,.15);color:#c23030}.bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger.bp3-active,.bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger:active{background:rgba(219,55,55,.3);color:#c23030}.bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger.bp3-disabled,.bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger:disabled{background:none;color:rgba(194,48,48,.5)}.bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger.bp3-disabled.bp3-active,.bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger:disabled.bp3-active{background:rgba(219,55,55,.3)}.bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger .bp3-button-spinner .bp3-spinner-head{stroke:#c23030}.bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger{color:#ff7373}.bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger:hover{background:rgba(219,55,55,.2);color:#ff7373}.bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger.bp3-active,.bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger:active{background:rgba(219,55,55,.3);color:#ff7373}.bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger.bp3-disabled,.bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger:disabled{background:none;color:hsla(0,100%,73%,.5)}.bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger.bp3-disabled.bp3-active,.bp3-dark .bp3-button-group.bp3-minimal .bp3-button.bp3-intent-danger:disabled.bp3-active{background:rgba(219,55,55,.3)}.bp3-button-group .bp3-popover-target,.bp3-button-group .bp3-popover-wrapper{display:flex;flex:1 1 auto}.bp3-button-group.bp3-fill{display:flex;width:100%}.bp3-button-group .bp3-button.bp3-fill,.bp3-button-group.bp3-fill .bp3-button:not(.bp3-fixed){flex:1 1 auto}.bp3-button-group.bp3-vertical{align-items:stretch;flex-direction:column;vertical-align:top}.bp3-button-group.bp3-vertical.bp3-fill{height:100%;width:auto}.bp3-button-group.bp3-vertical .bp3-button{margin-right:0!important;width:100%}.bp3-button-group.bp3-vertical:not(.bp3-minimal)>.bp3-button:first-child,.bp3-button-group.bp3-vertical:not(.bp3-minimal)>.bp3-popover-wrapper:first-child .bp3-button{border-radius:3px 3px 0 0}.bp3-button-group.bp3-vertical:not(.bp3-minimal)>.bp3-button:last-child,.bp3-button-group.bp3-vertical:not(.bp3-minimal)>.bp3-popover-wrapper:last-child .bp3-button{border-radius:0 0 3px 3px}.bp3-button-group.bp3-vertical:not(.bp3-minimal)>.bp3-button:not(:last-child),.bp3-button-group.bp3-vertical:not(.bp3-minimal)>.bp3-popover-wrapper:not(:last-child) .bp3-button{margin-bottom:-1px}.bp3-button-group.bp3-align-left .bp3-button{text-align:left}.bp3-dark .bp3-button-group:not(.bp3-minimal)>.bp3-button:not(:last-child),.bp3-dark .bp3-button-group:not(.bp3-minimal)>.bp3-popover-wrapper:not(:last-child) .bp3-button{margin-right:1px}.bp3-dark .bp3-button-group.bp3-vertical>.bp3-button:not(:last-child),.bp3-dark .bp3-button-group.bp3-vertical>.bp3-popover-wrapper:not(:last-child) .bp3-button{margin-bottom:1px}.bp3-callout{background-color:rgba(138,155,168,.15);border-radius:3px;font-size:14px;line-height:1.5;padding:10px 12px 9px;position:relative;width:100%}.bp3-callout[class*=bp3-icon-]{padding-left:40px}.bp3-callout[class*=bp3-icon-]:before{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;color:#5c7080;font-family:Icons20,sans-serif;font-size:20px;font-style:normal;font-weight:400;left:10px;line-height:1;position:absolute;top:10px}.bp3-callout.bp3-callout-icon{padding-left:40px}.bp3-callout.bp3-callout-icon>.bp3-icon:first-child{color:#5c7080;left:10px;position:absolute;top:10px}.bp3-callout .bp3-heading{line-height:20px;margin-bottom:5px;margin-top:0}.bp3-callout .bp3-heading:last-child{margin-bottom:0}.bp3-dark .bp3-callout{background-color:rgba(138,155,168,.2)}.bp3-dark .bp3-callout[class*=bp3-icon-]:before{color:#a7b6c2}.bp3-callout.bp3-intent-primary{background-color:rgba(19,124,189,.15)}.bp3-callout.bp3-intent-primary .bp3-heading,.bp3-callout.bp3-intent-primary>.bp3-icon:first-child,.bp3-callout.bp3-intent-primary[class*=bp3-icon-]:before{color:#106ba3}.bp3-dark .bp3-callout.bp3-intent-primary{background-color:rgba(19,124,189,.25)}.bp3-dark .bp3-callout.bp3-intent-primary .bp3-heading,.bp3-dark .bp3-callout.bp3-intent-primary>.bp3-icon:first-child,.bp3-dark .bp3-callout.bp3-intent-primary[class*=bp3-icon-]:before{color:#48aff0}.bp3-callout.bp3-intent-success{background-color:rgba(15,153,96,.15)}.bp3-callout.bp3-intent-success .bp3-heading,.bp3-callout.bp3-intent-success>.bp3-icon:first-child,.bp3-callout.bp3-intent-success[class*=bp3-icon-]:before{color:#0d8050}.bp3-dark .bp3-callout.bp3-intent-success{background-color:rgba(15,153,96,.25)}.bp3-dark .bp3-callout.bp3-intent-success .bp3-heading,.bp3-dark .bp3-callout.bp3-intent-success>.bp3-icon:first-child,.bp3-dark .bp3-callout.bp3-intent-success[class*=bp3-icon-]:before{color:#3dcc91}.bp3-callout.bp3-intent-warning{background-color:rgba(217,130,43,.15)}.bp3-callout.bp3-intent-warning .bp3-heading,.bp3-callout.bp3-intent-warning>.bp3-icon:first-child,.bp3-callout.bp3-intent-warning[class*=bp3-icon-]:before{color:#bf7326}.bp3-dark .bp3-callout.bp3-intent-warning{background-color:rgba(217,130,43,.25)}.bp3-dark .bp3-callout.bp3-intent-warning .bp3-heading,.bp3-dark .bp3-callout.bp3-intent-warning>.bp3-icon:first-child,.bp3-dark .bp3-callout.bp3-intent-warning[class*=bp3-icon-]:before{color:#ffb366}.bp3-callout.bp3-intent-danger{background-color:rgba(219,55,55,.15)}.bp3-callout.bp3-intent-danger .bp3-heading,.bp3-callout.bp3-intent-danger>.bp3-icon:first-child,.bp3-callout.bp3-intent-danger[class*=bp3-icon-]:before{color:#c23030}.bp3-dark .bp3-callout.bp3-intent-danger{background-color:rgba(219,55,55,.25)}.bp3-dark .bp3-callout.bp3-intent-danger .bp3-heading,.bp3-dark .bp3-callout.bp3-intent-danger>.bp3-icon:first-child,.bp3-dark .bp3-callout.bp3-intent-danger[class*=bp3-icon-]:before{color:#ff7373}.bp3-running-text .bp3-callout{margin:20px 0}.bp3-card{background-color:#fff;border-radius:3px;box-shadow:0 0 0 1px rgba(16,22,26,.15),0 0 0 rgba(16,22,26,0),0 0 0 rgba(16,22,26,0);padding:20px;transition:box-shadow .2s cubic-bezier(.4,1,.75,.9),-webkit-transform .2s cubic-bezier(.4,1,.75,.9);transition:transform .2s cubic-bezier(.4,1,.75,.9),box-shadow .2s cubic-bezier(.4,1,.75,.9);transition:transform .2s cubic-bezier(.4,1,.75,.9),box-shadow .2s cubic-bezier(.4,1,.75,.9),-webkit-transform .2s cubic-bezier(.4,1,.75,.9)}.bp3-card.bp3-dark,.bp3-dark .bp3-card{background-color:#30404d;box-shadow:0 0 0 1px rgba(16,22,26,.4),0 0 0 rgba(16,22,26,0),0 0 0 rgba(16,22,26,0)}.bp3-elevation-0{box-shadow:0 0 0 1px rgba(16,22,26,.15),0 0 0 rgba(16,22,26,0),0 0 0 rgba(16,22,26,0)}.bp3-dark .bp3-elevation-0,.bp3-elevation-0.bp3-dark{box-shadow:0 0 0 1px rgba(16,22,26,.4),0 0 0 rgba(16,22,26,0),0 0 0 rgba(16,22,26,0)}.bp3-elevation-1{box-shadow:0 0 0 1px rgba(16,22,26,.1),0 0 0 rgba(16,22,26,0),0 1px 1px rgba(16,22,26,.2)}.bp3-dark .bp3-elevation-1,.bp3-elevation-1.bp3-dark{box-shadow:0 0 0 1px rgba(16,22,26,.2),0 0 0 rgba(16,22,26,0),0 1px 1px rgba(16,22,26,.4)}.bp3-elevation-2{box-shadow:0 0 0 1px rgba(16,22,26,.1),0 1px 1px rgba(16,22,26,.2),0 2px 6px rgba(16,22,26,.2)}.bp3-dark .bp3-elevation-2,.bp3-elevation-2.bp3-dark{box-shadow:0 0 0 1px rgba(16,22,26,.2),0 1px 1px rgba(16,22,26,.4),0 2px 6px rgba(16,22,26,.4)}.bp3-elevation-3{box-shadow:0 0 0 1px rgba(16,22,26,.1),0 2px 4px rgba(16,22,26,.2),0 8px 24px rgba(16,22,26,.2)}.bp3-dark .bp3-elevation-3,.bp3-elevation-3.bp3-dark{box-shadow:0 0 0 1px rgba(16,22,26,.2),0 2px 4px rgba(16,22,26,.4),0 8px 24px rgba(16,22,26,.4)}.bp3-elevation-4{box-shadow:0 0 0 1px rgba(16,22,26,.1),0 4px 8px rgba(16,22,26,.2),0 18px 46px 6px rgba(16,22,26,.2)}.bp3-dark .bp3-elevation-4,.bp3-elevation-4.bp3-dark{box-shadow:0 0 0 1px rgba(16,22,26,.2),0 4px 8px rgba(16,22,26,.4),0 18px 46px 6px rgba(16,22,26,.4)}.bp3-card.bp3-interactive:hover{box-shadow:0 0 0 1px rgba(16,22,26,.1),0 2px 4px rgba(16,22,26,.2),0 8px 24px rgba(16,22,26,.2);cursor:pointer}.bp3-card.bp3-interactive:hover.bp3-dark,.bp3-dark .bp3-card.bp3-interactive:hover{box-shadow:0 0 0 1px rgba(16,22,26,.2),0 2px 4px rgba(16,22,26,.4),0 8px 24px rgba(16,22,26,.4)}.bp3-card.bp3-interactive:active{box-shadow:0 0 0 1px rgba(16,22,26,.1),0 0 0 rgba(16,22,26,0),0 1px 1px rgba(16,22,26,.2);opacity:.9;transition-duration:0}.bp3-card.bp3-interactive:active.bp3-dark,.bp3-dark .bp3-card.bp3-interactive:active{box-shadow:0 0 0 1px rgba(16,22,26,.2),0 0 0 rgba(16,22,26,0),0 1px 1px rgba(16,22,26,.4)}.bp3-collapse{height:0;overflow-y:hidden;transition:height .2s cubic-bezier(.4,1,.75,.9)}.bp3-collapse .bp3-collapse-body{transition:-webkit-transform .2s cubic-bezier(.4,1,.75,.9);transition:transform .2s cubic-bezier(.4,1,.75,.9);transition:transform .2s cubic-bezier(.4,1,.75,.9),-webkit-transform .2s cubic-bezier(.4,1,.75,.9)}.bp3-collapse .bp3-collapse-body[aria-hidden=true]{display:none}.bp3-context-menu .bp3-popover-target{display:block}.bp3-context-menu-popover-target{position:fixed}.bp3-dialog-container{align-items:center;display:flex;justify-content:center;min-height:100%;opacity:1;pointer-events:none;-webkit-transform:scale(1);transform:scale(1);-webkit-user-select:none;user-select:none;width:100%}.bp3-dialog-container.bp3-overlay-appear>.bp3-dialog,.bp3-dialog-container.bp3-overlay-enter>.bp3-dialog{opacity:0;-webkit-transform:scale(.5);transform:scale(.5)}.bp3-dialog-container.bp3-overlay-appear-active>.bp3-dialog,.bp3-dialog-container.bp3-overlay-enter-active>.bp3-dialog{opacity:1;-webkit-transform:scale(1);transform:scale(1);transition-delay:0;transition-duration:.3s;transition-property:opacity,-webkit-transform;transition-property:opacity,transform;transition-property:opacity,transform,-webkit-transform;transition-timing-function:cubic-bezier(.54,1.12,.38,1.11)}.bp3-dialog-container.bp3-overlay-exit>.bp3-dialog{opacity:1;-webkit-transform:scale(1);transform:scale(1)}.bp3-dialog-container.bp3-overlay-exit-active>.bp3-dialog{opacity:0;-webkit-transform:scale(.5);transform:scale(.5);transition-delay:0;transition-duration:.3s;transition-property:opacity,-webkit-transform;transition-property:opacity,transform;transition-property:opacity,transform,-webkit-transform;transition-timing-function:cubic-bezier(.54,1.12,.38,1.11)}.bp3-dialog{background:#ebf1f5;border-radius:6px;box-shadow:0 0 0 1px rgba(16,22,26,.1),0 4px 8px rgba(16,22,26,.2),0 18px 46px 6px rgba(16,22,26,.2);display:flex;flex-direction:column;margin:30px 0;padding-bottom:20px;pointer-events:all;-webkit-user-select:text;user-select:text;width:500px}.bp3-dialog:focus{outline:0}.bp3-dark .bp3-dialog,.bp3-dialog.bp3-dark{background:#293742;box-shadow:0 0 0 1px rgba(16,22,26,.2),0 4px 8px rgba(16,22,26,.4),0 18px 46px 6px rgba(16,22,26,.4);color:#f5f8fa}.bp3-dialog-header{align-items:center;background:#fff;border-radius:6px 6px 0 0;box-shadow:0 1px 0 rgba(16,22,26,.15);display:flex;flex:0 0 auto;min-height:40px;padding-left:20px;padding-right:5px;z-index:0}.bp3-dialog-header .bp3-icon,.bp3-dialog-header .bp3-icon-large{color:#5c7080;flex:0 0 auto;margin-right:10px}.bp3-dialog-header .bp3-heading{word-wrap:normal;flex:1 1 auto;line-height:inherit;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bp3-dialog-header .bp3-heading:last-child{margin-right:20px}.bp3-dark .bp3-dialog-header{background:#30404d;box-shadow:0 1px 0 rgba(16,22,26,.4)}.bp3-dark .bp3-dialog-header .bp3-icon,.bp3-dark .bp3-dialog-header .bp3-icon-large{color:#a7b6c2}.bp3-dialog-body{flex:1 1 auto;line-height:18px;margin:20px}.bp3-dialog-footer{flex:0 0 auto;margin:0 20px}.bp3-dialog-footer-actions{display:flex;justify-content:flex-end}.bp3-dialog-footer-actions .bp3-button{margin-left:10px}.bp3-multistep-dialog-panels{display:flex}.bp3-multistep-dialog-panels:first-child .bp3-dialog-step-container:first-child{border-radius:6px 0 0 0}.bp3-multistep-dialog-panels:first-child .bp3-multistep-dialog-right-panel{border-top-right-radius:6px}.bp3-multistep-dialog-left-panel{display:flex;flex:1 1;flex-direction:column}.bp3-dark .bp3-multistep-dialog-left-panel{background:#202b33}.bp3-multistep-dialog-right-panel{background-color:#f5f8fa;border-left:1px solid rgba(16,22,26,.15);border-radius:0 0 6px 0;flex:3 1;min-width:0}.bp3-dark .bp3-multistep-dialog-right-panel{background-color:#293742;border-left:1px solid rgba(16,22,26,.4)}.bp3-multistep-dialog-footer{background-color:#fff;border-radius:0 0 6px 0;border-top:1px solid rgba(16,22,26,.15);display:flex;justify-content:space-between;padding:10px}.bp3-dark .bp3-multistep-dialog-footer{background:#30404d;border-top:1px solid rgba(16,22,26,.4)}.bp3-multistep-dialog-footer .bp3-dialog-footer-actions{flex-grow:1}.bp3-dialog-step-container{background-color:#f5f8fa;border-bottom:1px solid rgba(16,22,26,.15)}.bp3-dark .bp3-dialog-step-container{background:#293742;border-bottom:1px solid rgba(16,22,26,.4)}.bp3-dialog-step-container.bp3-dialog-step-viewed{background-color:#fff}.bp3-dark .bp3-dialog-step-container.bp3-dialog-step-viewed{background:#30404d}.bp3-dialog-step{align-items:center;background-color:#f5f8fa;border-radius:6px;cursor:not-allowed;display:flex;margin:4px;padding:6px 14px}.bp3-dark .bp3-dialog-step{background:#293742}.bp3-dialog-step-viewed .bp3-dialog-step{background-color:#fff;cursor:pointer}.bp3-dark .bp3-dialog-step-viewed .bp3-dialog-step{background:#30404d}.bp3-dialog-step:hover{background-color:#f5f8fa}.bp3-dark .bp3-dialog-step:hover{background:#293742}.bp3-dialog-step-icon{align-items:center;background-color:rgba(92,112,128,.6);border-radius:50%;color:#fff;display:flex;height:25px;justify-content:center;width:25px}.bp3-dark .bp3-dialog-step-icon{background-color:rgba(167,182,194,.6)}.bp3-active.bp3-dialog-step-viewed .bp3-dialog-step-icon{background-color:#2b95d6}.bp3-dialog-step-viewed .bp3-dialog-step-icon{background-color:#8a9ba8}.bp3-dialog-step-title{color:rgba(92,112,128,.6);flex:1 1;padding-left:10px}.bp3-dark .bp3-dialog-step-title{color:rgba(167,182,194,.6)}.bp3-active.bp3-dialog-step-viewed .bp3-dialog-step-title{color:#2b95d6}.bp3-dialog-step-viewed:not(.bp3-active) .bp3-dialog-step-title{color:#182026}.bp3-dark .bp3-dialog-step-viewed:not(.bp3-active) .bp3-dialog-step-title{color:#f5f8fa}.bp3-drawer{background:#fff;box-shadow:0 0 0 1px rgba(16,22,26,.1),0 4px 8px rgba(16,22,26,.2),0 18px 46px 6px rgba(16,22,26,.2);display:flex;flex-direction:column;margin:0;padding:0}.bp3-drawer:focus{outline:0}.bp3-drawer.bp3-position-top{height:50%;left:0;right:0;top:0}.bp3-drawer.bp3-position-top.bp3-overlay-appear,.bp3-drawer.bp3-position-top.bp3-overlay-enter{-webkit-transform:translateY(-100%);transform:translateY(-100%)}.bp3-drawer.bp3-position-top.bp3-overlay-appear-active,.bp3-drawer.bp3-position-top.bp3-overlay-enter-active{-webkit-transform:translateY(0);transform:translateY(0);transition-delay:0;transition-duration:.2s;transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform;transition-timing-function:cubic-bezier(.4,1,.75,.9)}.bp3-drawer.bp3-position-top.bp3-overlay-exit{-webkit-transform:translateY(0);transform:translateY(0)}.bp3-drawer.bp3-position-top.bp3-overlay-exit-active{-webkit-transform:translateY(-100%);transform:translateY(-100%);transition-delay:0;transition-duration:.1s;transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform;transition-timing-function:cubic-bezier(.4,1,.75,.9)}.bp3-drawer.bp3-position-bottom{bottom:0;height:50%;left:0;right:0}.bp3-drawer.bp3-position-bottom.bp3-overlay-appear,.bp3-drawer.bp3-position-bottom.bp3-overlay-enter{-webkit-transform:translateY(100%);transform:translateY(100%)}.bp3-drawer.bp3-position-bottom.bp3-overlay-appear-active,.bp3-drawer.bp3-position-bottom.bp3-overlay-enter-active{-webkit-transform:translateY(0);transform:translateY(0);transition-delay:0;transition-duration:.2s;transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform;transition-timing-function:cubic-bezier(.4,1,.75,.9)}.bp3-drawer.bp3-position-bottom.bp3-overlay-exit{-webkit-transform:translateY(0);transform:translateY(0)}.bp3-drawer.bp3-position-bottom.bp3-overlay-exit-active{-webkit-transform:translateY(100%);transform:translateY(100%);transition-delay:0;transition-duration:.1s;transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform;transition-timing-function:cubic-bezier(.4,1,.75,.9)}.bp3-drawer.bp3-position-left{bottom:0;left:0;top:0;width:50%}.bp3-drawer.bp3-position-left.bp3-overlay-appear,.bp3-drawer.bp3-position-left.bp3-overlay-enter{-webkit-transform:translateX(-100%);transform:translateX(-100%)}.bp3-drawer.bp3-position-left.bp3-overlay-appear-active,.bp3-drawer.bp3-position-left.bp3-overlay-enter-active{-webkit-transform:translateX(0);transform:translateX(0);transition-delay:0;transition-duration:.2s;transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform;transition-timing-function:cubic-bezier(.4,1,.75,.9)}.bp3-drawer.bp3-position-left.bp3-overlay-exit{-webkit-transform:translateX(0);transform:translateX(0)}.bp3-drawer.bp3-position-left.bp3-overlay-exit-active{-webkit-transform:translateX(-100%);transform:translateX(-100%);transition-delay:0;transition-duration:.1s;transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform;transition-timing-function:cubic-bezier(.4,1,.75,.9)}.bp3-drawer.bp3-position-right{bottom:0;right:0;top:0;width:50%}.bp3-drawer.bp3-position-right.bp3-overlay-appear,.bp3-drawer.bp3-position-right.bp3-overlay-enter{-webkit-transform:translateX(100%);transform:translateX(100%)}.bp3-drawer.bp3-position-right.bp3-overlay-appear-active,.bp3-drawer.bp3-position-right.bp3-overlay-enter-active{-webkit-transform:translateX(0);transform:translateX(0);transition-delay:0;transition-duration:.2s;transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform;transition-timing-function:cubic-bezier(.4,1,.75,.9)}.bp3-drawer.bp3-position-right.bp3-overlay-exit{-webkit-transform:translateX(0);transform:translateX(0)}.bp3-drawer.bp3-position-right.bp3-overlay-exit-active{-webkit-transform:translateX(100%);transform:translateX(100%);transition-delay:0;transition-duration:.1s;transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform;transition-timing-function:cubic-bezier(.4,1,.75,.9)}.bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not(.bp3-position-right):not(.bp3-vertical){bottom:0;right:0;top:0;width:50%}.bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not(.bp3-position-right):not(.bp3-vertical).bp3-overlay-appear,.bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not(.bp3-position-right):not(.bp3-vertical).bp3-overlay-enter{-webkit-transform:translateX(100%);transform:translateX(100%)}.bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not(.bp3-position-right):not(.bp3-vertical).bp3-overlay-appear-active,.bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not(.bp3-position-right):not(.bp3-vertical).bp3-overlay-enter-active{-webkit-transform:translateX(0);transform:translateX(0);transition-delay:0;transition-duration:.2s;transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform;transition-timing-function:cubic-bezier(.4,1,.75,.9)}.bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not(.bp3-position-right):not(.bp3-vertical).bp3-overlay-exit{-webkit-transform:translateX(0);transform:translateX(0)}.bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not(.bp3-position-right):not(.bp3-vertical).bp3-overlay-exit-active{-webkit-transform:translateX(100%);transform:translateX(100%);transition-delay:0;transition-duration:.1s;transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform;transition-timing-function:cubic-bezier(.4,1,.75,.9)}.bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not(.bp3-position-right).bp3-vertical{bottom:0;height:50%;left:0;right:0}.bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not(.bp3-position-right).bp3-vertical.bp3-overlay-appear,.bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not(.bp3-position-right).bp3-vertical.bp3-overlay-enter{-webkit-transform:translateY(100%);transform:translateY(100%)}.bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not(.bp3-position-right).bp3-vertical.bp3-overlay-appear-active,.bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not(.bp3-position-right).bp3-vertical.bp3-overlay-enter-active{-webkit-transform:translateY(0);transform:translateY(0);transition-delay:0;transition-duration:.2s;transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform;transition-timing-function:cubic-bezier(.4,1,.75,.9)}.bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not(.bp3-position-right).bp3-vertical.bp3-overlay-exit{-webkit-transform:translateY(0);transform:translateY(0)}.bp3-drawer:not(.bp3-position-top):not(.bp3-position-bottom):not(.bp3-position-left):not(.bp3-position-right).bp3-vertical.bp3-overlay-exit-active{-webkit-transform:translateY(100%);transform:translateY(100%);transition-delay:0;transition-duration:.1s;transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform;transition-timing-function:cubic-bezier(.4,1,.75,.9)}.bp3-dark .bp3-drawer,.bp3-drawer.bp3-dark{background:#30404d;box-shadow:0 0 0 1px rgba(16,22,26,.2),0 4px 8px rgba(16,22,26,.4),0 18px 46px 6px rgba(16,22,26,.4);color:#f5f8fa}.bp3-drawer-header{align-items:center;border-radius:0;box-shadow:0 1px 0 rgba(16,22,26,.15);display:flex;flex:0 0 auto;min-height:40px;padding:5px 5px 5px 20px;position:relative}.bp3-drawer-header .bp3-icon,.bp3-drawer-header .bp3-icon-large{color:#5c7080;flex:0 0 auto;margin-right:10px}.bp3-drawer-header .bp3-heading{word-wrap:normal;flex:1 1 auto;line-height:inherit;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bp3-drawer-header .bp3-heading:last-child{margin-right:20px}.bp3-dark .bp3-drawer-header{box-shadow:0 1px 0 rgba(16,22,26,.4)}.bp3-dark .bp3-drawer-header .bp3-icon,.bp3-dark .bp3-drawer-header .bp3-icon-large{color:#a7b6c2}.bp3-drawer-body{flex:1 1 auto;line-height:18px;overflow:auto}.bp3-drawer-footer{box-shadow:inset 0 1px 0 rgba(16,22,26,.15);flex:0 0 auto;padding:10px 20px;position:relative}.bp3-dark .bp3-drawer-footer{box-shadow:inset 0 1px 0 rgba(16,22,26,.4)}.bp3-editable-text{cursor:text;display:inline-block;max-width:100%;position:relative;vertical-align:top;white-space:nowrap}.bp3-editable-text:before{border-radius:3px;bottom:-3px;content:"";left:-3px;position:absolute;right:-3px;top:-3px;transition:background-color .1s cubic-bezier(.4,1,.75,.9),box-shadow .1s cubic-bezier(.4,1,.75,.9)}.bp3-editable-text:hover:before{box-shadow:0 0 0 0 rgba(19,124,189,0),0 0 0 0 rgba(19,124,189,0),inset 0 0 0 1px rgba(16,22,26,.15)}.bp3-editable-text.bp3-editable-text-editing:before{background-color:#fff;box-shadow:0 0 0 1px #137cbd,0 0 0 3px rgba(19,124,189,.3),inset 0 1px 1px rgba(16,22,26,.2)}.bp3-editable-text.bp3-disabled:before{box-shadow:none}.bp3-editable-text.bp3-intent-primary .bp3-editable-text-content,.bp3-editable-text.bp3-intent-primary .bp3-editable-text-input{color:#137cbd}.bp3-editable-text.bp3-intent-primary:hover:before{box-shadow:0 0 0 0 rgba(19,124,189,0),0 0 0 0 rgba(19,124,189,0),inset 0 0 0 1px rgba(19,124,189,.4)}.bp3-editable-text.bp3-intent-primary.bp3-editable-text-editing:before{box-shadow:0 0 0 1px #137cbd,0 0 0 3px rgba(19,124,189,.3),inset 0 1px 1px rgba(16,22,26,.2)}.bp3-editable-text.bp3-intent-success .bp3-editable-text-content,.bp3-editable-text.bp3-intent-success .bp3-editable-text-input{color:#0f9960}.bp3-editable-text.bp3-intent-success:hover:before{box-shadow:0 0 0 0 rgba(15,153,96,0),0 0 0 0 rgba(15,153,96,0),inset 0 0 0 1px rgba(15,153,96,.4)}.bp3-editable-text.bp3-intent-success.bp3-editable-text-editing:before{box-shadow:0 0 0 1px #0f9960,0 0 0 3px rgba(15,153,96,.3),inset 0 1px 1px rgba(16,22,26,.2)}.bp3-editable-text.bp3-intent-warning .bp3-editable-text-content,.bp3-editable-text.bp3-intent-warning .bp3-editable-text-input{color:#d9822b}.bp3-editable-text.bp3-intent-warning:hover:before{box-shadow:0 0 0 0 rgba(217,130,43,0),0 0 0 0 rgba(217,130,43,0),inset 0 0 0 1px rgba(217,130,43,.4)}.bp3-editable-text.bp3-intent-warning.bp3-editable-text-editing:before{box-shadow:0 0 0 1px #d9822b,0 0 0 3px rgba(217,130,43,.3),inset 0 1px 1px rgba(16,22,26,.2)}.bp3-editable-text.bp3-intent-danger .bp3-editable-text-content,.bp3-editable-text.bp3-intent-danger .bp3-editable-text-input{color:#db3737}.bp3-editable-text.bp3-intent-danger:hover:before{box-shadow:0 0 0 0 rgba(219,55,55,0),0 0 0 0 rgba(219,55,55,0),inset 0 0 0 1px rgba(219,55,55,.4)}.bp3-editable-text.bp3-intent-danger.bp3-editable-text-editing:before{box-shadow:0 0 0 1px #db3737,0 0 0 3px rgba(219,55,55,.3),inset 0 1px 1px rgba(16,22,26,.2)}.bp3-dark .bp3-editable-text:hover:before{box-shadow:0 0 0 0 rgba(19,124,189,0),0 0 0 0 rgba(19,124,189,0),inset 0 0 0 1px hsla(0,0%,100%,.15)}.bp3-dark .bp3-editable-text.bp3-editable-text-editing:before{background-color:rgba(16,22,26,.3);box-shadow:0 0 0 1px #137cbd,0 0 0 3px rgba(19,124,189,.3),inset 0 0 0 1px rgba(16,22,26,.3),inset 0 1px 1px rgba(16,22,26,.4)}.bp3-dark .bp3-editable-text.bp3-disabled:before{box-shadow:none}.bp3-dark .bp3-editable-text.bp3-intent-primary .bp3-editable-text-content{color:#48aff0}.bp3-dark .bp3-editable-text.bp3-intent-primary:hover:before{box-shadow:0 0 0 0 rgba(72,175,240,0),0 0 0 0 rgba(72,175,240,0),inset 0 0 0 1px rgba(72,175,240,.4)}.bp3-dark .bp3-editable-text.bp3-intent-primary.bp3-editable-text-editing:before{box-shadow:0 0 0 1px #48aff0,0 0 0 3px rgba(72,175,240,.3),inset 0 0 0 1px rgba(16,22,26,.3),inset 0 1px 1px rgba(16,22,26,.4)}.bp3-dark .bp3-editable-text.bp3-intent-success .bp3-editable-text-content{color:#3dcc91}.bp3-dark .bp3-editable-text.bp3-intent-success:hover:before{box-shadow:0 0 0 0 rgba(61,204,145,0),0 0 0 0 rgba(61,204,145,0),inset 0 0 0 1px rgba(61,204,145,.4)}.bp3-dark .bp3-editable-text.bp3-intent-success.bp3-editable-text-editing:before{box-shadow:0 0 0 1px #3dcc91,0 0 0 3px rgba(61,204,145,.3),inset 0 0 0 1px rgba(16,22,26,.3),inset 0 1px 1px rgba(16,22,26,.4)}.bp3-dark .bp3-editable-text.bp3-intent-warning .bp3-editable-text-content{color:#ffb366}.bp3-dark .bp3-editable-text.bp3-intent-warning:hover:before{box-shadow:0 0 0 0 rgba(255,179,102,0),0 0 0 0 rgba(255,179,102,0),inset 0 0 0 1px rgba(255,179,102,.4)}.bp3-dark .bp3-editable-text.bp3-intent-warning.bp3-editable-text-editing:before{box-shadow:0 0 0 1px #ffb366,0 0 0 3px rgba(255,179,102,.3),inset 0 0 0 1px rgba(16,22,26,.3),inset 0 1px 1px rgba(16,22,26,.4)}.bp3-dark .bp3-editable-text.bp3-intent-danger .bp3-editable-text-content{color:#ff7373}.bp3-dark .bp3-editable-text.bp3-intent-danger:hover:before{box-shadow:0 0 0 0 hsla(0,100%,73%,0),0 0 0 0 hsla(0,100%,73%,0),inset 0 0 0 1px hsla(0,100%,73%,.4)}.bp3-dark .bp3-editable-text.bp3-intent-danger.bp3-editable-text-editing:before{box-shadow:0 0 0 1px #ff7373,0 0 0 3px hsla(0,100%,73%,.3),inset 0 0 0 1px rgba(16,22,26,.3),inset 0 1px 1px rgba(16,22,26,.4)}.bp3-editable-text-content,.bp3-editable-text-input{color:inherit;display:inherit;font:inherit;letter-spacing:inherit;max-width:inherit;min-width:inherit;position:relative;resize:none;text-transform:inherit;vertical-align:top}.bp3-editable-text-input{background:none;border:none;box-shadow:none;padding:0;white-space:pre-wrap;width:100%}.bp3-editable-text-input::-webkit-input-placeholder{color:rgba(92,112,128,.6);opacity:1}.bp3-editable-text-input::placeholder{color:rgba(92,112,128,.6);opacity:1}.bp3-editable-text-input:focus{outline:none}.bp3-editable-text-input::-ms-clear{display:none}.bp3-editable-text-content{overflow:hidden;padding-right:2px;text-overflow:ellipsis;white-space:pre}.bp3-editable-text-editing>.bp3-editable-text-content{left:0;position:absolute;visibility:hidden}.bp3-editable-text-placeholder>.bp3-editable-text-content{color:rgba(92,112,128,.6)}.bp3-dark .bp3-editable-text-placeholder>.bp3-editable-text-content{color:rgba(167,182,194,.6)}.bp3-editable-text.bp3-multiline{display:block}.bp3-editable-text.bp3-multiline .bp3-editable-text-content{word-wrap:break-word;overflow:auto;white-space:pre-wrap}.bp3-divider{border-bottom:1px solid rgba(16,22,26,.15);border-right:1px solid rgba(16,22,26,.15);margin:5px}.bp3-dark .bp3-divider{border-color:rgba(16,22,26,.4)}.bp3-control-group{align-items:stretch;display:flex;flex-direction:row;-webkit-transform:translateZ(0);transform:translateZ(0)}.bp3-control-group>*{flex-grow:0;flex-shrink:0}.bp3-control-group>.bp3-fill{flex-grow:1;flex-shrink:1}.bp3-control-group .bp3-button,.bp3-control-group .bp3-html-select,.bp3-control-group .bp3-input,.bp3-control-group .bp3-select{position:relative}.bp3-control-group .bp3-input{border-radius:inherit;z-index:2}.bp3-control-group .bp3-input:focus{border-radius:3px;z-index:14}.bp3-control-group .bp3-input[class*=bp3-intent]{z-index:13}.bp3-control-group .bp3-input[class*=bp3-intent]:focus{z-index:15}.bp3-control-group .bp3-input.bp3-disabled,.bp3-control-group .bp3-input:disabled,.bp3-control-group .bp3-input[readonly]{z-index:1}.bp3-control-group .bp3-input-group[class*=bp3-intent] .bp3-input{z-index:13}.bp3-control-group .bp3-input-group[class*=bp3-intent] .bp3-input:focus{z-index:15}.bp3-control-group .bp3-button,.bp3-control-group .bp3-html-select select,.bp3-control-group .bp3-select select{border-radius:inherit;-webkit-transform:translateZ(0);transform:translateZ(0);z-index:4}.bp3-control-group .bp3-button:focus,.bp3-control-group .bp3-html-select select:focus,.bp3-control-group .bp3-select select:focus{z-index:5}.bp3-control-group .bp3-button:hover,.bp3-control-group .bp3-html-select select:hover,.bp3-control-group .bp3-select select:hover{z-index:6}.bp3-control-group .bp3-button:active,.bp3-control-group .bp3-html-select select:active,.bp3-control-group .bp3-select select:active{z-index:7}.bp3-control-group .bp3-button.bp3-disabled,.bp3-control-group .bp3-button:disabled,.bp3-control-group .bp3-button[readonly],.bp3-control-group .bp3-html-select select.bp3-disabled,.bp3-control-group .bp3-html-select select:disabled,.bp3-control-group .bp3-html-select select[readonly],.bp3-control-group .bp3-select select.bp3-disabled,.bp3-control-group .bp3-select select:disabled,.bp3-control-group .bp3-select select[readonly]{z-index:3}.bp3-control-group .bp3-button[class*=bp3-intent],.bp3-control-group .bp3-html-select select[class*=bp3-intent],.bp3-control-group .bp3-select select[class*=bp3-intent]{z-index:9}.bp3-control-group .bp3-button[class*=bp3-intent]:focus,.bp3-control-group .bp3-html-select select[class*=bp3-intent]:focus,.bp3-control-group .bp3-select select[class*=bp3-intent]:focus{z-index:10}.bp3-control-group .bp3-button[class*=bp3-intent]:hover,.bp3-control-group .bp3-html-select select[class*=bp3-intent]:hover,.bp3-control-group .bp3-select select[class*=bp3-intent]:hover{z-index:11}.bp3-control-group .bp3-button[class*=bp3-intent]:active,.bp3-control-group .bp3-html-select select[class*=bp3-intent]:active,.bp3-control-group .bp3-select select[class*=bp3-intent]:active{z-index:12}.bp3-control-group .bp3-button[class*=bp3-intent].bp3-disabled,.bp3-control-group .bp3-button[class*=bp3-intent]:disabled,.bp3-control-group .bp3-button[class*=bp3-intent][readonly],.bp3-control-group .bp3-html-select select[class*=bp3-intent].bp3-disabled,.bp3-control-group .bp3-html-select select[class*=bp3-intent]:disabled,.bp3-control-group .bp3-html-select select[class*=bp3-intent][readonly],.bp3-control-group .bp3-select select[class*=bp3-intent].bp3-disabled,.bp3-control-group .bp3-select select[class*=bp3-intent]:disabled,.bp3-control-group .bp3-select select[class*=bp3-intent][readonly]{z-index:8}.bp3-control-group .bp3-input-group>.bp3-button,.bp3-control-group .bp3-input-group>.bp3-icon,.bp3-control-group .bp3-input-group>.bp3-input-action,.bp3-control-group .bp3-input-group>.bp3-input-left-container{z-index:16}.bp3-control-group .bp3-html-select:after,.bp3-control-group .bp3-html-select>.bp3-icon,.bp3-control-group .bp3-select:after,.bp3-control-group .bp3-select>.bp3-icon{z-index:17}.bp3-control-group .bp3-select:focus-within{z-index:5}.bp3-control-group:not(.bp3-vertical)>:not(.bp3-divider){margin-right:-1px}.bp3-control-group:not(.bp3-vertical)>.bp3-divider:not(:first-child){margin-left:6px}.bp3-dark .bp3-control-group:not(.bp3-vertical)>:not(.bp3-divider){margin-right:0}.bp3-dark .bp3-control-group:not(.bp3-vertical)>.bp3-button+.bp3-button{margin-left:1px}.bp3-control-group .bp3-popover-target,.bp3-control-group .bp3-popover-wrapper{border-radius:inherit}.bp3-control-group>:first-child{border-radius:3px 0 0 3px}.bp3-control-group>:last-child{border-radius:0 3px 3px 0;margin-right:0}.bp3-control-group>:only-child{border-radius:3px;margin-right:0}.bp3-control-group .bp3-input-group .bp3-button{border-radius:3px}.bp3-control-group .bp3-numeric-input:not(:first-child) .bp3-input-group{border-bottom-left-radius:0;border-top-left-radius:0}.bp3-control-group.bp3-fill{width:100%}.bp3-control-group.bp3-fill>:not(.bp3-fixed),.bp3-control-group>.bp3-fill{flex:1 1 auto}.bp3-control-group.bp3-vertical{flex-direction:column}.bp3-control-group.bp3-vertical>*{margin-top:-1px}.bp3-control-group.bp3-vertical>:first-child{border-radius:3px 3px 0 0;margin-top:0}.bp3-control-group.bp3-vertical>:last-child{border-radius:0 0 3px 3px}.bp3-control{cursor:pointer;display:block;margin-bottom:10px;position:relative;text-transform:none}.bp3-control input:checked~.bp3-control-indicator{background-color:#137cbd;background-image:linear-gradient(180deg,hsla(0,0%,100%,.1),hsla(0,0%,100%,0));box-shadow:inset 0 0 0 1px rgba(16,22,26,.4),inset 0 -1px 0 rgba(16,22,26,.2);color:#fff}.bp3-control:hover input:checked~.bp3-control-indicator{background-color:#106ba3;box-shadow:inset 0 0 0 1px rgba(16,22,26,.4),inset 0 -1px 0 rgba(16,22,26,.2)}.bp3-control input:not(:disabled):active:checked~.bp3-control-indicator{background:#0e5a8a;box-shadow:inset 0 0 0 1px rgba(16,22,26,.4),inset 0 1px 2px rgba(16,22,26,.2)}.bp3-control input:disabled:checked~.bp3-control-indicator{background:rgba(19,124,189,.5);box-shadow:none}.bp3-dark .bp3-control input:checked~.bp3-control-indicator{box-shadow:0 0 0 1px rgba(16,22,26,.4)}.bp3-dark .bp3-control:hover input:checked~.bp3-control-indicator{background-color:#106ba3;box-shadow:0 0 0 1px rgba(16,22,26,.4)}.bp3-dark .bp3-control input:not(:disabled):active:checked~.bp3-control-indicator{background-color:#0e5a8a;box-shadow:0 0 0 1px rgba(16,22,26,.4),inset 0 1px 2px rgba(16,22,26,.2)}.bp3-dark .bp3-control input:disabled:checked~.bp3-control-indicator{background:rgba(14,90,138,.5);box-shadow:none}.bp3-control:not(.bp3-align-right){padding-left:26px}.bp3-control:not(.bp3-align-right) .bp3-control-indicator{margin-left:-26px}.bp3-control.bp3-align-right{padding-right:26px}.bp3-control.bp3-align-right .bp3-control-indicator{margin-right:-26px}.bp3-control.bp3-disabled{color:rgba(92,112,128,.6);cursor:not-allowed}.bp3-control.bp3-inline{display:inline-block;margin-right:20px}.bp3-control input{left:0;opacity:0;position:absolute;top:0;z-index:-1}.bp3-control .bp3-control-indicator{background-clip:padding-box;background-color:#f5f8fa;background-image:linear-gradient(180deg,hsla(0,0%,100%,.8),hsla(0,0%,100%,0));border:none;box-shadow:inset 0 0 0 1px rgba(16,22,26,.2),inset 0 -1px 0 rgba(16,22,26,.1);cursor:pointer;display:inline-block;font-size:16px;height:1em;margin-right:10px;margin-top:-3px;position:relative;-webkit-user-select:none;user-select:none;vertical-align:middle;width:1em}.bp3-control .bp3-control-indicator:before{content:"";display:block;height:1em;width:1em}.bp3-control:hover .bp3-control-indicator{background-color:#ebf1f5}.bp3-control input:not(:disabled):active~.bp3-control-indicator{background:#d8e1e8;box-shadow:inset 0 0 0 1px rgba(16,22,26,.2),inset 0 1px 2px rgba(16,22,26,.2)}.bp3-control input:disabled~.bp3-control-indicator{background:rgba(206,217,224,.5);box-shadow:none;cursor:not-allowed}.bp3-control input:focus~.bp3-control-indicator{-moz-outline-radius:6px;outline:2px auto rgba(19,124,189,.6);outline-offset:2px}.bp3-control.bp3-align-right .bp3-control-indicator{float:right;margin-left:10px;margin-top:1px}.bp3-control.bp3-large{font-size:16px}.bp3-control.bp3-large:not(.bp3-align-right){padding-left:30px}.bp3-control.bp3-large:not(.bp3-align-right) .bp3-control-indicator{margin-left:-30px}.bp3-control.bp3-large.bp3-align-right{padding-right:30px}.bp3-control.bp3-large.bp3-align-right .bp3-control-indicator{margin-right:-30px}.bp3-control.bp3-large .bp3-control-indicator{font-size:20px}.bp3-control.bp3-large.bp3-align-right .bp3-control-indicator{margin-top:0}.bp3-control.bp3-checkbox input:indeterminate~.bp3-control-indicator{background-color:#137cbd;background-image:linear-gradient(180deg,hsla(0,0%,100%,.1),hsla(0,0%,100%,0));box-shadow:inset 0 0 0 1px rgba(16,22,26,.4),inset 0 -1px 0 rgba(16,22,26,.2);color:#fff}.bp3-control.bp3-checkbox:hover input:indeterminate~.bp3-control-indicator{background-color:#106ba3;box-shadow:inset 0 0 0 1px rgba(16,22,26,.4),inset 0 -1px 0 rgba(16,22,26,.2)}.bp3-control.bp3-checkbox input:not(:disabled):active:indeterminate~.bp3-control-indicator{background:#0e5a8a;box-shadow:inset 0 0 0 1px rgba(16,22,26,.4),inset 0 1px 2px rgba(16,22,26,.2)}.bp3-control.bp3-checkbox input:disabled:indeterminate~.bp3-control-indicator{background:rgba(19,124,189,.5);box-shadow:none}.bp3-dark .bp3-control.bp3-checkbox input:indeterminate~.bp3-control-indicator{box-shadow:0 0 0 1px rgba(16,22,26,.4)}.bp3-dark .bp3-control.bp3-checkbox:hover input:indeterminate~.bp3-control-indicator{background-color:#106ba3;box-shadow:0 0 0 1px rgba(16,22,26,.4)}.bp3-dark .bp3-control.bp3-checkbox input:not(:disabled):active:indeterminate~.bp3-control-indicator{background-color:#0e5a8a;box-shadow:0 0 0 1px rgba(16,22,26,.4),inset 0 1px 2px rgba(16,22,26,.2)}.bp3-dark .bp3-control.bp3-checkbox input:disabled:indeterminate~.bp3-control-indicator{background:rgba(14,90,138,.5);box-shadow:none}.bp3-control.bp3-checkbox .bp3-control-indicator{border-radius:3px}.bp3-control.bp3-checkbox input:checked~.bp3-control-indicator:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M12 5c-.28 0-.53.11-.71.29L7 9.59l-2.29-2.3a1.003 1.003 0 0 0-1.42 1.42l3 3c.18.18.43.29.71.29s.53-.11.71-.29l5-5A1.003 1.003 0 0 0 12 5z' fill='%23fff'/%3E%3C/svg%3E")}.bp3-control.bp3-checkbox input:indeterminate~.bp3-control-indicator:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M11 7H5c-.55 0-1 .45-1 1s.45 1 1 1h6c.55 0 1-.45 1-1s-.45-1-1-1z' fill='%23fff'/%3E%3C/svg%3E")}.bp3-control.bp3-radio .bp3-control-indicator{border-radius:50%}.bp3-control.bp3-radio input:checked~.bp3-control-indicator:before{background-image:radial-gradient(#fff,#fff 28%,transparent 32%)}.bp3-control.bp3-radio input:checked:disabled~.bp3-control-indicator:before{opacity:.5}.bp3-control.bp3-radio input:focus~.bp3-control-indicator{-moz-outline-radius:16px}.bp3-control.bp3-switch input~.bp3-control-indicator{background:rgba(167,182,194,.5)}.bp3-control.bp3-switch:hover input~.bp3-control-indicator{background:rgba(115,134,148,.5)}.bp3-control.bp3-switch input:not(:disabled):active~.bp3-control-indicator{background:rgba(92,112,128,.5)}.bp3-control.bp3-switch input:disabled~.bp3-control-indicator{background:rgba(206,217,224,.5)}.bp3-control.bp3-switch input:disabled~.bp3-control-indicator:before{background:hsla(0,0%,100%,.8)}.bp3-control.bp3-switch input:checked~.bp3-control-indicator{background:#137cbd}.bp3-control.bp3-switch:hover input:checked~.bp3-control-indicator{background:#106ba3}.bp3-control.bp3-switch input:checked:not(:disabled):active~.bp3-control-indicator{background:#0e5a8a}.bp3-control.bp3-switch input:checked:disabled~.bp3-control-indicator{background:rgba(19,124,189,.5)}.bp3-control.bp3-switch input:checked:disabled~.bp3-control-indicator:before{background:hsla(0,0%,100%,.8)}.bp3-control.bp3-switch:not(.bp3-align-right){padding-left:38px}.bp3-control.bp3-switch:not(.bp3-align-right) .bp3-control-indicator{margin-left:-38px}.bp3-control.bp3-switch.bp3-align-right{padding-right:38px}.bp3-control.bp3-switch.bp3-align-right .bp3-control-indicator{margin-right:-38px}.bp3-control.bp3-switch .bp3-control-indicator{border:none;border-radius:1.75em;box-shadow:none!important;min-width:1.75em;transition:background-color .1s cubic-bezier(.4,1,.75,.9);width:auto}.bp3-control.bp3-switch .bp3-control-indicator:before{background:#fff;border-radius:50%;box-shadow:0 0 0 1px rgba(16,22,26,.2),0 1px 1px rgba(16,22,26,.2);height:calc(1em - 4px);left:0;margin:2px;position:absolute;transition:left .1s cubic-bezier(.4,1,.75,.9);width:calc(1em - 4px)}.bp3-control.bp3-switch input:checked~.bp3-control-indicator:before{left:calc(100% - 1em)}.bp3-control.bp3-switch.bp3-large:not(.bp3-align-right){padding-left:45px}.bp3-control.bp3-switch.bp3-large:not(.bp3-align-right) .bp3-control-indicator{margin-left:-45px}.bp3-control.bp3-switch.bp3-large.bp3-align-right{padding-right:45px}.bp3-control.bp3-switch.bp3-large.bp3-align-right .bp3-control-indicator{margin-right:-45px}.bp3-dark .bp3-control.bp3-switch input~.bp3-control-indicator{background:rgba(16,22,26,.5)}.bp3-dark .bp3-control.bp3-switch:hover input~.bp3-control-indicator{background:rgba(16,22,26,.7)}.bp3-dark .bp3-control.bp3-switch input:not(:disabled):active~.bp3-control-indicator{background:rgba(16,22,26,.9)}.bp3-dark .bp3-control.bp3-switch input:disabled~.bp3-control-indicator{background:rgba(57,75,89,.5)}.bp3-dark .bp3-control.bp3-switch input:disabled~.bp3-control-indicator:before{background:rgba(16,22,26,.4)}.bp3-dark .bp3-control.bp3-switch input:checked~.bp3-control-indicator{background:#137cbd}.bp3-dark .bp3-control.bp3-switch:hover input:checked~.bp3-control-indicator{background:#106ba3}.bp3-dark .bp3-control.bp3-switch input:checked:not(:disabled):active~.bp3-control-indicator{background:#0e5a8a}.bp3-dark .bp3-control.bp3-switch input:checked:disabled~.bp3-control-indicator{background:rgba(14,90,138,.5)}.bp3-dark .bp3-control.bp3-switch input:checked:disabled~.bp3-control-indicator:before{background:rgba(16,22,26,.4)}.bp3-dark .bp3-control.bp3-switch .bp3-control-indicator:before{background:#394b59;box-shadow:0 0 0 1px rgba(16,22,26,.4)}.bp3-dark .bp3-control.bp3-switch input:checked~.bp3-control-indicator:before{box-shadow:inset 0 0 0 1px rgba(16,22,26,.4)}.bp3-control.bp3-switch .bp3-switch-inner-text{font-size:.7em;text-align:center}.bp3-control.bp3-switch .bp3-control-indicator-child:first-child{line-height:0;margin-left:.5em;margin-right:1.2em;visibility:hidden}.bp3-control.bp3-switch .bp3-control-indicator-child:last-child{line-height:1em;margin-left:1.2em;margin-right:.5em;visibility:visible}.bp3-control.bp3-switch input:checked~.bp3-control-indicator .bp3-control-indicator-child:first-child{line-height:1em;visibility:visible}.bp3-control.bp3-switch input:checked~.bp3-control-indicator .bp3-control-indicator-child:last-child{line-height:0;visibility:hidden}.bp3-dark .bp3-control{color:#f5f8fa}.bp3-dark .bp3-control.bp3-disabled{color:rgba(167,182,194,.6)}.bp3-dark .bp3-control .bp3-control-indicator{background-color:#394b59;background-image:linear-gradient(180deg,hsla(0,0%,100%,.05),hsla(0,0%,100%,0));box-shadow:0 0 0 1px rgba(16,22,26,.4)}.bp3-dark .bp3-control:hover .bp3-control-indicator{background-color:#30404d}.bp3-dark .bp3-control input:not(:disabled):active~.bp3-control-indicator{background:#202b33;box-shadow:0 0 0 1px rgba(16,22,26,.6),inset 0 1px 2px rgba(16,22,26,.2)}.bp3-dark .bp3-control input:disabled~.bp3-control-indicator{background:rgba(57,75,89,.5);box-shadow:none;cursor:not-allowed}.bp3-dark .bp3-control.bp3-checkbox input:disabled:checked~.bp3-control-indicator,.bp3-dark .bp3-control.bp3-checkbox input:disabled:indeterminate~.bp3-control-indicator{color:rgba(167,182,194,.6)}.bp3-file-input{cursor:pointer;display:inline-block;height:30px;position:relative}.bp3-file-input input{margin:0;min-width:200px;opacity:0}.bp3-file-input input.bp3-disabled+.bp3-file-upload-input,.bp3-file-input input:disabled+.bp3-file-upload-input{background:rgba(206,217,224,.5);box-shadow:none;color:rgba(92,112,128,.6);cursor:not-allowed;resize:none}.bp3-file-input input.bp3-disabled+.bp3-file-upload-input:after,.bp3-file-input input:disabled+.bp3-file-upload-input:after{background-color:rgba(206,217,224,.5);background-image:none;box-shadow:none;color:rgba(92,112,128,.6);cursor:not-allowed;outline:none}.bp3-file-input input.bp3-disabled+.bp3-file-upload-input:after.bp3-active,.bp3-file-input input.bp3-disabled+.bp3-file-upload-input:after.bp3-active:hover,.bp3-file-input input:disabled+.bp3-file-upload-input:after.bp3-active,.bp3-file-input input:disabled+.bp3-file-upload-input:after.bp3-active:hover{background:rgba(206,217,224,.7)}.bp3-dark .bp3-file-input input.bp3-disabled+.bp3-file-upload-input,.bp3-dark .bp3-file-input input:disabled+.bp3-file-upload-input{background:rgba(57,75,89,.5);box-shadow:none;color:rgba(167,182,194,.6)}.bp3-dark .bp3-file-input input.bp3-disabled+.bp3-file-upload-input:after,.bp3-dark .bp3-file-input input:disabled+.bp3-file-upload-input:after{background-color:rgba(57,75,89,.5);background-image:none;box-shadow:none;color:rgba(167,182,194,.6)}.bp3-dark .bp3-file-input input.bp3-disabled+.bp3-file-upload-input:after.bp3-active,.bp3-dark .bp3-file-input input:disabled+.bp3-file-upload-input:after.bp3-active{background:rgba(57,75,89,.7)}.bp3-file-input.bp3-file-input-has-selection .bp3-file-upload-input{color:#182026}.bp3-dark .bp3-file-input.bp3-file-input-has-selection .bp3-file-upload-input{color:#f5f8fa}.bp3-file-input.bp3-fill{width:100%}.bp3-file-input.bp3-large,.bp3-large .bp3-file-input{height:40px}.bp3-file-input .bp3-file-upload-input-custom-text:after{content:attr(bp3-button-text)}.bp3-file-upload-input{word-wrap:normal;-webkit-appearance:none;appearance:none;background:#fff;border:none;border-radius:3px;box-shadow:0 0 0 0 rgba(19,124,189,0),0 0 0 0 rgba(19,124,189,0),inset 0 0 0 1px rgba(16,22,26,.15),inset 0 1px 1px rgba(16,22,26,.2);color:#182026;color:rgba(92,112,128,.6);font-size:14px;font-weight:400;height:30px;left:0;line-height:30px;outline:none;overflow:hidden;padding:0 80px 0 10px;position:absolute;right:0;text-overflow:ellipsis;top:0;transition:box-shadow .1s cubic-bezier(.4,1,.75,.9);-webkit-user-select:none;user-select:none;vertical-align:middle;white-space:nowrap}.bp3-file-upload-input::-webkit-input-placeholder{color:rgba(92,112,128,.6);opacity:1}.bp3-file-upload-input::placeholder{color:rgba(92,112,128,.6);opacity:1}.bp3-file-upload-input.bp3-active,.bp3-file-upload-input:focus{box-shadow:0 0 0 1px #137cbd,0 0 0 3px rgba(19,124,189,.3),inset 0 1px 1px rgba(16,22,26,.2)}.bp3-file-upload-input.bp3-round,.bp3-file-upload-input[type=search]{border-radius:30px;box-sizing:border-box;padding-left:10px}.bp3-file-upload-input[readonly]{box-shadow:inset 0 0 0 1px rgba(16,22,26,.15)}.bp3-file-upload-input.bp3-disabled,.bp3-file-upload-input:disabled{background:rgba(206,217,224,.5);box-shadow:none;color:rgba(92,112,128,.6);cursor:not-allowed;resize:none}.bp3-file-upload-input:after{word-wrap:normal;background-color:#f5f8fa;background-image:linear-gradient(180deg,hsla(0,0%,100%,.8),hsla(0,0%,100%,0));border-radius:3px;color:#182026;content:"Browse";line-height:24px;margin:3px;min-height:24px;min-width:24px;overflow:hidden;position:absolute;right:0;text-align:center;text-overflow:ellipsis;top:0;white-space:nowrap;width:70px}.bp3-file-upload-input:after:hover{background-clip:padding-box;background-color:#ebf1f5;box-shadow:inset 0 0 0 1px rgba(16,22,26,.2),inset 0 -1px 0 rgba(16,22,26,.1)}.bp3-file-upload-input:after.bp3-active,.bp3-file-upload-input:after:active{background-color:#d8e1e8;background-image:none;box-shadow:inset 0 0 0 1px rgba(16,22,26,.2),inset 0 1px 2px rgba(16,22,26,.2)}.bp3-file-upload-input:after.bp3-disabled,.bp3-file-upload-input:after:disabled{background-color:rgba(206,217,224,.5);background-image:none;box-shadow:none;color:rgba(92,112,128,.6);cursor:not-allowed;outline:none}.bp3-file-upload-input:after.bp3-disabled.bp3-active,.bp3-file-upload-input:after.bp3-disabled.bp3-active:hover,.bp3-file-upload-input:after:disabled.bp3-active,.bp3-file-upload-input:after:disabled.bp3-active:hover{background:rgba(206,217,224,.7)}.bp3-file-upload-input:hover:after{background-clip:padding-box;background-color:#ebf1f5;box-shadow:inset 0 0 0 1px rgba(16,22,26,.2),inset 0 -1px 0 rgba(16,22,26,.1)}.bp3-file-upload-input:active:after{background-color:#d8e1e8;background-image:none;box-shadow:inset 0 0 0 1px rgba(16,22,26,.2),inset 0 1px 2px rgba(16,22,26,.2)}.bp3-large .bp3-file-upload-input{font-size:16px;height:40px;line-height:40px;padding-right:95px}.bp3-large .bp3-file-upload-input.bp3-round,.bp3-large .bp3-file-upload-input[type=search]{padding:0 15px}.bp3-large .bp3-file-upload-input:after{line-height:30px;margin:5px;min-height:30px;min-width:30px;width:85px}.bp3-dark .bp3-file-upload-input{background:rgba(16,22,26,.3);box-shadow:0 0 0 0 rgba(19,124,189,0),0 0 0 0 rgba(19,124,189,0),0 0 0 0 rgba(19,124,189,0),inset 0 0 0 1px rgba(16,22,26,.3),inset 0 1px 1px rgba(16,22,26,.4);color:#f5f8fa;color:rgba(167,182,194,.6)}.bp3-dark .bp3-file-upload-input::-webkit-input-placeholder{color:rgba(167,182,194,.6)}.bp3-dark .bp3-file-upload-input::placeholder{color:rgba(167,182,194,.6)}.bp3-dark .bp3-file-upload-input:focus{box-shadow:0 0 0 1px #137cbd,0 0 0 1px #137cbd,0 0 0 3px rgba(19,124,189,.3),inset 0 0 0 1px rgba(16,22,26,.3),inset 0 1px 1px rgba(16,22,26,.4)}.bp3-dark .bp3-file-upload-input[readonly]{box-shadow:inset 0 0 0 1px rgba(16,22,26,.4)}.bp3-dark .bp3-file-upload-input.bp3-disabled,.bp3-dark .bp3-file-upload-input:disabled{background:rgba(57,75,89,.5);box-shadow:none;color:rgba(167,182,194,.6)}.bp3-dark .bp3-file-upload-input:after{background-color:#394b59;background-image:linear-gradient(180deg,hsla(0,0%,100%,.05),hsla(0,0%,100%,0));box-shadow:0 0 0 1px rgba(16,22,26,.4);color:#f5f8fa}.bp3-dark .bp3-file-upload-input:after.bp3-active,.bp3-dark .bp3-file-upload-input:after:active,.bp3-dark .bp3-file-upload-input:after:hover{color:#f5f8fa}.bp3-dark .bp3-file-upload-input:after:hover{background-color:#30404d;box-shadow:0 0 0 1px rgba(16,22,26,.4)}.bp3-dark .bp3-file-upload-input:after.bp3-active,.bp3-dark .bp3-file-upload-input:after:active{background-color:#202b33;background-image:none;box-shadow:0 0 0 1px rgba(16,22,26,.6),inset 0 1px 2px rgba(16,22,26,.2)}.bp3-dark .bp3-file-upload-input:after.bp3-disabled,.bp3-dark .bp3-file-upload-input:after:disabled{background-color:rgba(57,75,89,.5);background-image:none;box-shadow:none;color:rgba(167,182,194,.6)}.bp3-dark .bp3-file-upload-input:after.bp3-disabled.bp3-active,.bp3-dark .bp3-file-upload-input:after:disabled.bp3-active{background:rgba(57,75,89,.7)}.bp3-dark .bp3-file-upload-input:after .bp3-button-spinner .bp3-spinner-head{stroke:#8a9ba8;background:rgba(16,22,26,.5)}.bp3-dark .bp3-file-upload-input:hover:after{background-color:#30404d;box-shadow:0 0 0 1px rgba(16,22,26,.4)}.bp3-dark .bp3-file-upload-input:active:after{background-color:#202b33;background-image:none;box-shadow:0 0 0 1px rgba(16,22,26,.6),inset 0 1px 2px rgba(16,22,26,.2)}.bp3-file-upload-input:after{box-shadow:inset 0 0 0 1px rgba(16,22,26,.2),inset 0 -1px 0 rgba(16,22,26,.1)}.bp3-form-group{display:flex;flex-direction:column;margin:0 0 15px}.bp3-form-group label.bp3-label{margin-bottom:5px}.bp3-form-group .bp3-control{margin-top:7px}.bp3-form-group .bp3-form-group-sub-label,.bp3-form-group .bp3-form-helper-text{color:#5c7080;font-size:12px}.bp3-form-group .bp3-form-group-sub-label{margin-bottom:5px}.bp3-form-group .bp3-form-helper-text{margin-top:5px}.bp3-form-group.bp3-intent-primary .bp3-form-group-sub-label,.bp3-form-group.bp3-intent-primary .bp3-form-helper-text{color:#106ba3}.bp3-form-group.bp3-intent-success .bp3-form-group-sub-label,.bp3-form-group.bp3-intent-success .bp3-form-helper-text{color:#0d8050}.bp3-form-group.bp3-intent-warning .bp3-form-group-sub-label,.bp3-form-group.bp3-intent-warning .bp3-form-helper-text{color:#bf7326}.bp3-form-group.bp3-intent-danger .bp3-form-group-sub-label,.bp3-form-group.bp3-intent-danger .bp3-form-helper-text{color:#c23030}.bp3-form-group.bp3-inline{align-items:flex-start;flex-direction:row}.bp3-form-group.bp3-inline.bp3-large label.bp3-label{line-height:40px;margin:0 10px 0 0}.bp3-form-group.bp3-inline label.bp3-label{line-height:30px;margin:0 10px 0 0}.bp3-form-group.bp3-disabled .bp3-form-group-sub-label,.bp3-form-group.bp3-disabled .bp3-form-helper-text,.bp3-form-group.bp3-disabled .bp3-label,.bp3-form-group.bp3-disabled .bp3-text-muted{color:rgba(92,112,128,.6)!important}.bp3-dark .bp3-form-group.bp3-intent-primary .bp3-form-group-sub-label,.bp3-dark .bp3-form-group.bp3-intent-primary .bp3-form-helper-text{color:#48aff0}.bp3-dark .bp3-form-group.bp3-intent-success .bp3-form-group-sub-label,.bp3-dark .bp3-form-group.bp3-intent-success .bp3-form-helper-text{color:#3dcc91}.bp3-dark .bp3-form-group.bp3-intent-warning .bp3-form-group-sub-label,.bp3-dark .bp3-form-group.bp3-intent-warning .bp3-form-helper-text{color:#ffb366}.bp3-dark .bp3-form-group.bp3-intent-danger .bp3-form-group-sub-label,.bp3-dark .bp3-form-group.bp3-intent-danger .bp3-form-helper-text{color:#ff7373}.bp3-dark .bp3-form-group .bp3-form-helper-text{color:#a7b6c2}.bp3-dark .bp3-form-group.bp3-disabled .bp3-form-group-sub-label,.bp3-dark .bp3-form-group.bp3-disabled .bp3-form-helper-text,.bp3-dark .bp3-form-group.bp3-disabled .bp3-label,.bp3-dark .bp3-form-group.bp3-disabled .bp3-text-muted{color:rgba(167,182,194,.6)!important}.bp3-input-group{display:block;position:relative}.bp3-input-group .bp3-input{position:relative;width:100%}.bp3-input-group .bp3-input:not(:first-child){padding-left:30px}.bp3-input-group .bp3-input:not(:last-child){padding-right:30px}.bp3-input-group .bp3-input-action,.bp3-input-group>.bp3-button,.bp3-input-group>.bp3-icon,.bp3-input-group>.bp3-input-left-container{position:absolute;top:0}.bp3-input-group .bp3-input-action:first-child,.bp3-input-group>.bp3-button:first-child,.bp3-input-group>.bp3-icon:first-child,.bp3-input-group>.bp3-input-left-container:first-child{left:0}.bp3-input-group .bp3-input-action:last-child,.bp3-input-group>.bp3-button:last-child,.bp3-input-group>.bp3-icon:last-child,.bp3-input-group>.bp3-input-left-container:last-child{right:0}.bp3-input-group .bp3-button{margin:3px;min-height:24px;min-width:24px;padding:0 7px}.bp3-input-group .bp3-button:empty{padding:0}.bp3-input-group>.bp3-icon,.bp3-input-group>.bp3-input-left-container{z-index:1}.bp3-input-group>.bp3-icon,.bp3-input-group>.bp3-input-left-container>.bp3-icon{color:#5c7080}.bp3-input-group>.bp3-icon:empty,.bp3-input-group>.bp3-input-left-container>.bp3-icon:empty{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Icons16,sans-serif;font-size:16px;font-style:normal;font-weight:400;line-height:1}.bp3-input-group .bp3-input-action>.bp3-spinner,.bp3-input-group>.bp3-icon,.bp3-input-group>.bp3-input-left-container>.bp3-icon{margin:7px}.bp3-input-group .bp3-tag{margin:5px}.bp3-input-group .bp3-input:not(:focus)+.bp3-button.bp3-minimal:not(:hover):not(:focus),.bp3-input-group .bp3-input:not(:focus)+.bp3-input-action .bp3-button.bp3-minimal:not(:hover):not(:focus){color:#5c7080}.bp3-dark .bp3-input-group .bp3-input:not(:focus)+.bp3-button.bp3-minimal:not(:hover):not(:focus),.bp3-dark .bp3-input-group .bp3-input:not(:focus)+.bp3-input-action .bp3-button.bp3-minimal:not(:hover):not(:focus){color:#a7b6c2}.bp3-input-group .bp3-input:not(:focus)+.bp3-button.bp3-minimal:not(:hover):not(:focus) .bp3-icon,.bp3-input-group .bp3-input:not(:focus)+.bp3-button.bp3-minimal:not(:hover):not(:focus) .bp3-icon-large,.bp3-input-group .bp3-input:not(:focus)+.bp3-button.bp3-minimal:not(:hover):not(:focus) .bp3-icon-standard,.bp3-input-group .bp3-input:not(:focus)+.bp3-input-action .bp3-button.bp3-minimal:not(:hover):not(:focus) .bp3-icon,.bp3-input-group .bp3-input:not(:focus)+.bp3-input-action .bp3-button.bp3-minimal:not(:hover):not(:focus) .bp3-icon-large,.bp3-input-group .bp3-input:not(:focus)+.bp3-input-action .bp3-button.bp3-minimal:not(:hover):not(:focus) .bp3-icon-standard{color:#5c7080}.bp3-input-group .bp3-input:not(:focus)+.bp3-button.bp3-minimal:disabled,.bp3-input-group .bp3-input:not(:focus)+.bp3-button.bp3-minimal:disabled .bp3-icon,.bp3-input-group .bp3-input:not(:focus)+.bp3-button.bp3-minimal:disabled .bp3-icon-large,.bp3-input-group .bp3-input:not(:focus)+.bp3-button.bp3-minimal:disabled .bp3-icon-standard,.bp3-input-group .bp3-input:not(:focus)+.bp3-input-action .bp3-button.bp3-minimal:disabled,.bp3-input-group .bp3-input:not(:focus)+.bp3-input-action .bp3-button.bp3-minimal:disabled .bp3-icon,.bp3-input-group .bp3-input:not(:focus)+.bp3-input-action .bp3-button.bp3-minimal:disabled .bp3-icon-large,.bp3-input-group .bp3-input:not(:focus)+.bp3-input-action .bp3-button.bp3-minimal:disabled .bp3-icon-standard{color:rgba(92,112,128,.6)!important}.bp3-input-group.bp3-disabled{cursor:not-allowed}.bp3-input-group.bp3-disabled .bp3-icon{color:rgba(92,112,128,.6)}.bp3-input-group.bp3-large .bp3-button{margin:5px;min-height:30px;min-width:30px}.bp3-input-group.bp3-large .bp3-input-action>.bp3-spinner,.bp3-input-group.bp3-large>.bp3-icon,.bp3-input-group.bp3-large>.bp3-input-left-container>.bp3-icon{margin:12px}.bp3-input-group.bp3-large .bp3-input{font-size:16px;height:40px;line-height:40px}.bp3-input-group.bp3-large .bp3-input.bp3-round,.bp3-input-group.bp3-large .bp3-input[type=search]{padding:0 15px}.bp3-input-group.bp3-large .bp3-input:not(:first-child){padding-left:40px}.bp3-input-group.bp3-large .bp3-input:not(:last-child){padding-right:40px}.bp3-input-group.bp3-small .bp3-button,.bp3-input-group.bp3-small .bp3-tag{margin:2px;min-height:20px;min-width:20px}.bp3-input-group.bp3-small .bp3-input-action>.bp3-spinner,.bp3-input-group.bp3-small>.bp3-icon,.bp3-input-group.bp3-small>.bp3-input-left-container>.bp3-icon{margin:4px}.bp3-input-group.bp3-small .bp3-input{font-size:12px;height:24px;line-height:24px;padding-left:8px;padding-right:8px}.bp3-input-group.bp3-small .bp3-input.bp3-round,.bp3-input-group.bp3-small .bp3-input[type=search]{padding:0 12px}.bp3-input-group.bp3-small .bp3-input:not(:first-child){padding-left:24px}.bp3-input-group.bp3-small .bp3-input:not(:last-child){padding-right:24px}.bp3-input-group.bp3-fill{flex:1 1 auto;width:100%}.bp3-input-group.bp3-round .bp3-button,.bp3-input-group.bp3-round .bp3-input,.bp3-input-group.bp3-round .bp3-tag{border-radius:30px}.bp3-dark .bp3-input-group .bp3-icon{color:#a7b6c2}.bp3-dark .bp3-input-group.bp3-disabled .bp3-icon{color:rgba(167,182,194,.6)}.bp3-input-group.bp3-intent-primary .bp3-input{box-shadow:0 0 0 0 rgba(19,124,189,0),0 0 0 0 rgba(19,124,189,0),inset 0 0 0 1px #137cbd,inset 0 0 0 1px rgba(16,22,26,.15),inset 0 1px 1px rgba(16,22,26,.2)}.bp3-input-group.bp3-intent-primary .bp3-input:focus{box-shadow:0 0 0 1px #137cbd,0 0 0 3px rgba(19,124,189,.3),inset 0 1px 1px rgba(16,22,26,.2)}.bp3-input-group.bp3-intent-primary .bp3-input[readonly]{box-shadow:inset 0 0 0 1px #137cbd}.bp3-input-group.bp3-intent-primary .bp3-input.bp3-disabled,.bp3-input-group.bp3-intent-primary .bp3-input:disabled{box-shadow:none}.bp3-input-group.bp3-intent-primary>.bp3-icon{color:#106ba3}.bp3-dark .bp3-input-group.bp3-intent-primary>.bp3-icon{color:#48aff0}.bp3-input-group.bp3-intent-success .bp3-input{box-shadow:0 0 0 0 rgba(15,153,96,0),0 0 0 0 rgba(15,153,96,0),inset 0 0 0 1px #0f9960,inset 0 0 0 1px rgba(16,22,26,.15),inset 0 1px 1px rgba(16,22,26,.2)}.bp3-input-group.bp3-intent-success .bp3-input:focus{box-shadow:0 0 0 1px #0f9960,0 0 0 3px rgba(15,153,96,.3),inset 0 1px 1px rgba(16,22,26,.2)}.bp3-input-group.bp3-intent-success .bp3-input[readonly]{box-shadow:inset 0 0 0 1px #0f9960}.bp3-input-group.bp3-intent-success .bp3-input.bp3-disabled,.bp3-input-group.bp3-intent-success .bp3-input:disabled{box-shadow:none}.bp3-input-group.bp3-intent-success>.bp3-icon{color:#0d8050}.bp3-dark .bp3-input-group.bp3-intent-success>.bp3-icon{color:#3dcc91}.bp3-input-group.bp3-intent-warning .bp3-input{box-shadow:0 0 0 0 rgba(217,130,43,0),0 0 0 0 rgba(217,130,43,0),inset 0 0 0 1px #d9822b,inset 0 0 0 1px rgba(16,22,26,.15),inset 0 1px 1px rgba(16,22,26,.2)}.bp3-input-group.bp3-intent-warning .bp3-input:focus{box-shadow:0 0 0 1px #d9822b,0 0 0 3px rgba(217,130,43,.3),inset 0 1px 1px rgba(16,22,26,.2)}.bp3-input-group.bp3-intent-warning .bp3-input[readonly]{box-shadow:inset 0 0 0 1px #d9822b}.bp3-input-group.bp3-intent-warning .bp3-input.bp3-disabled,.bp3-input-group.bp3-intent-warning .bp3-input:disabled{box-shadow:none}.bp3-input-group.bp3-intent-warning>.bp3-icon{color:#bf7326}.bp3-dark .bp3-input-group.bp3-intent-warning>.bp3-icon{color:#ffb366}.bp3-input-group.bp3-intent-danger .bp3-input{box-shadow:0 0 0 0 rgba(219,55,55,0),0 0 0 0 rgba(219,55,55,0),inset 0 0 0 1px #db3737,inset 0 0 0 1px rgba(16,22,26,.15),inset 0 1px 1px rgba(16,22,26,.2)}.bp3-input-group.bp3-intent-danger .bp3-input:focus{box-shadow:0 0 0 1px #db3737,0 0 0 3px rgba(219,55,55,.3),inset 0 1px 1px rgba(16,22,26,.2)}.bp3-input-group.bp3-intent-danger .bp3-input[readonly]{box-shadow:inset 0 0 0 1px #db3737}.bp3-input-group.bp3-intent-danger .bp3-input.bp3-disabled,.bp3-input-group.bp3-intent-danger .bp3-input:disabled{box-shadow:none}.bp3-input-group.bp3-intent-danger>.bp3-icon{color:#c23030}.bp3-dark .bp3-input-group.bp3-intent-danger>.bp3-icon{color:#ff7373}.bp3-input{-webkit-appearance:none;appearance:none;background:#fff;border:none;border-radius:3px;box-shadow:0 0 0 0 rgba(19,124,189,0),0 0 0 0 rgba(19,124,189,0),inset 0 0 0 1px rgba(16,22,26,.15),inset 0 1px 1px rgba(16,22,26,.2);color:#182026;font-size:14px;font-weight:400;height:30px;line-height:30px;outline:none;padding:0 10px;transition:box-shadow .1s cubic-bezier(.4,1,.75,.9);vertical-align:middle}.bp3-input::-webkit-input-placeholder{color:rgba(92,112,128,.6);opacity:1}.bp3-input::placeholder{color:rgba(92,112,128,.6);opacity:1}.bp3-input.bp3-active,.bp3-input:focus{box-shadow:0 0 0 1px #137cbd,0 0 0 3px rgba(19,124,189,.3),inset 0 1px 1px rgba(16,22,26,.2)}.bp3-input.bp3-round,.bp3-input[type=search]{border-radius:30px;box-sizing:border-box;padding-left:10px}.bp3-input[readonly]{box-shadow:inset 0 0 0 1px rgba(16,22,26,.15)}.bp3-input.bp3-disabled,.bp3-input:disabled{background:rgba(206,217,224,.5);box-shadow:none;color:rgba(92,112,128,.6);cursor:not-allowed;resize:none}.bp3-input.bp3-large{font-size:16px;height:40px;line-height:40px}.bp3-input.bp3-large.bp3-round,.bp3-input.bp3-large[type=search]{padding:0 15px}.bp3-input.bp3-small{font-size:12px;height:24px;line-height:24px;padding-left:8px;padding-right:8px}.bp3-input.bp3-small.bp3-round,.bp3-input.bp3-small[type=search]{padding:0 12px}.bp3-input.bp3-fill{flex:1 1 auto;width:100%}.bp3-dark .bp3-input{background:rgba(16,22,26,.3);box-shadow:0 0 0 0 rgba(19,124,189,0),0 0 0 0 rgba(19,124,189,0),0 0 0 0 rgba(19,124,189,0),inset 0 0 0 1px rgba(16,22,26,.3),inset 0 1px 1px rgba(16,22,26,.4);color:#f5f8fa}.bp3-dark .bp3-input::-webkit-input-placeholder{color:rgba(167,182,194,.6)}.bp3-dark .bp3-input::placeholder{color:rgba(167,182,194,.6)}.bp3-dark .bp3-input:focus{box-shadow:0 0 0 1px #137cbd,0 0 0 1px #137cbd,0 0 0 3px rgba(19,124,189,.3),inset 0 0 0 1px rgba(16,22,26,.3),inset 0 1px 1px rgba(16,22,26,.4)}.bp3-dark .bp3-input[readonly]{box-shadow:inset 0 0 0 1px rgba(16,22,26,.4)}.bp3-dark .bp3-input.bp3-disabled,.bp3-dark .bp3-input:disabled{background:rgba(57,75,89,.5);box-shadow:none;color:rgba(167,182,194,.6)}.bp3-input.bp3-intent-primary{box-shadow:0 0 0 0 rgba(19,124,189,0),0 0 0 0 rgba(19,124,189,0),inset 0 0 0 1px #137cbd,inset 0 0 0 1px rgba(16,22,26,.15),inset 0 1px 1px rgba(16,22,26,.2)}.bp3-input.bp3-intent-primary:focus{box-shadow:0 0 0 1px #137cbd,0 0 0 3px rgba(19,124,189,.3),inset 0 1px 1px rgba(16,22,26,.2)}.bp3-input.bp3-intent-primary[readonly]{box-shadow:inset 0 0 0 1px #137cbd}.bp3-input.bp3-intent-primary.bp3-disabled,.bp3-input.bp3-intent-primary:disabled{box-shadow:none}.bp3-dark .bp3-input.bp3-intent-primary{box-shadow:0 0 0 0 rgba(19,124,189,0),0 0 0 0 rgba(19,124,189,0),0 0 0 0 rgba(19,124,189,0),inset 0 0 0 1px #137cbd,inset 0 0 0 1px rgba(16,22,26,.3),inset 0 1px 1px rgba(16,22,26,.4)}.bp3-dark .bp3-input.bp3-intent-primary:focus{box-shadow:0 0 0 1px #137cbd,0 0 0 1px #137cbd,0 0 0 3px rgba(19,124,189,.3),inset 0 0 0 1px rgba(16,22,26,.3),inset 0 1px 1px rgba(16,22,26,.4)}.bp3-dark .bp3-input.bp3-intent-primary[readonly]{box-shadow:inset 0 0 0 1px #137cbd}.bp3-dark .bp3-input.bp3-intent-primary.bp3-disabled,.bp3-dark .bp3-input.bp3-intent-primary:disabled{box-shadow:none}.bp3-input.bp3-intent-success{box-shadow:0 0 0 0 rgba(15,153,96,0),0 0 0 0 rgba(15,153,96,0),inset 0 0 0 1px #0f9960,inset 0 0 0 1px rgba(16,22,26,.15),inset 0 1px 1px rgba(16,22,26,.2)}.bp3-input.bp3-intent-success:focus{box-shadow:0 0 0 1px #0f9960,0 0 0 3px rgba(15,153,96,.3),inset 0 1px 1px rgba(16,22,26,.2)}.bp3-input.bp3-intent-success[readonly]{box-shadow:inset 0 0 0 1px #0f9960}.bp3-input.bp3-intent-success.bp3-disabled,.bp3-input.bp3-intent-success:disabled{box-shadow:none}.bp3-dark .bp3-input.bp3-intent-success{box-shadow:0 0 0 0 rgba(15,153,96,0),0 0 0 0 rgba(15,153,96,0),0 0 0 0 rgba(15,153,96,0),inset 0 0 0 1px #0f9960,inset 0 0 0 1px rgba(16,22,26,.3),inset 0 1px 1px rgba(16,22,26,.4)}.bp3-dark .bp3-input.bp3-intent-success:focus{box-shadow:0 0 0 1px #0f9960,0 0 0 1px #0f9960,0 0 0 3px rgba(15,153,96,.3),inset 0 0 0 1px rgba(16,22,26,.3),inset 0 1px 1px rgba(16,22,26,.4)}.bp3-dark .bp3-input.bp3-intent-success[readonly]{box-shadow:inset 0 0 0 1px #0f9960}.bp3-dark .bp3-input.bp3-intent-success.bp3-disabled,.bp3-dark .bp3-input.bp3-intent-success:disabled{box-shadow:none}.bp3-input.bp3-intent-warning{box-shadow:0 0 0 0 rgba(217,130,43,0),0 0 0 0 rgba(217,130,43,0),inset 0 0 0 1px #d9822b,inset 0 0 0 1px rgba(16,22,26,.15),inset 0 1px 1px rgba(16,22,26,.2)}.bp3-input.bp3-intent-warning:focus{box-shadow:0 0 0 1px #d9822b,0 0 0 3px rgba(217,130,43,.3),inset 0 1px 1px rgba(16,22,26,.2)}.bp3-input.bp3-intent-warning[readonly]{box-shadow:inset 0 0 0 1px #d9822b}.bp3-input.bp3-intent-warning.bp3-disabled,.bp3-input.bp3-intent-warning:disabled{box-shadow:none}.bp3-dark .bp3-input.bp3-intent-warning{box-shadow:0 0 0 0 rgba(217,130,43,0),0 0 0 0 rgba(217,130,43,0),0 0 0 0 rgba(217,130,43,0),inset 0 0 0 1px #d9822b,inset 0 0 0 1px rgba(16,22,26,.3),inset 0 1px 1px rgba(16,22,26,.4)}.bp3-dark .bp3-input.bp3-intent-warning:focus{box-shadow:0 0 0 1px #d9822b,0 0 0 1px #d9822b,0 0 0 3px rgba(217,130,43,.3),inset 0 0 0 1px rgba(16,22,26,.3),inset 0 1px 1px rgba(16,22,26,.4)}.bp3-dark .bp3-input.bp3-intent-warning[readonly]{box-shadow:inset 0 0 0 1px #d9822b}.bp3-dark .bp3-input.bp3-intent-warning.bp3-disabled,.bp3-dark .bp3-input.bp3-intent-warning:disabled{box-shadow:none}.bp3-input.bp3-intent-danger{box-shadow:0 0 0 0 rgba(219,55,55,0),0 0 0 0 rgba(219,55,55,0),inset 0 0 0 1px #db3737,inset 0 0 0 1px rgba(16,22,26,.15),inset 0 1px 1px rgba(16,22,26,.2)}.bp3-input.bp3-intent-danger:focus{box-shadow:0 0 0 1px #db3737,0 0 0 3px rgba(219,55,55,.3),inset 0 1px 1px rgba(16,22,26,.2)}.bp3-input.bp3-intent-danger[readonly]{box-shadow:inset 0 0 0 1px #db3737}.bp3-input.bp3-intent-danger.bp3-disabled,.bp3-input.bp3-intent-danger:disabled{box-shadow:none}.bp3-dark .bp3-input.bp3-intent-danger{box-shadow:0 0 0 0 rgba(219,55,55,0),0 0 0 0 rgba(219,55,55,0),0 0 0 0 rgba(219,55,55,0),inset 0 0 0 1px #db3737,inset 0 0 0 1px rgba(16,22,26,.3),inset 0 1px 1px rgba(16,22,26,.4)}.bp3-dark .bp3-input.bp3-intent-danger:focus{box-shadow:0 0 0 1px #db3737,0 0 0 1px #db3737,0 0 0 3px rgba(219,55,55,.3),inset 0 0 0 1px rgba(16,22,26,.3),inset 0 1px 1px rgba(16,22,26,.4)}.bp3-dark .bp3-input.bp3-intent-danger[readonly]{box-shadow:inset 0 0 0 1px #db3737}.bp3-dark .bp3-input.bp3-intent-danger.bp3-disabled,.bp3-dark .bp3-input.bp3-intent-danger:disabled{box-shadow:none}.bp3-input::-ms-clear{display:none}textarea.bp3-input{max-width:100%;padding:10px}textarea.bp3-input,textarea.bp3-input.bp3-large,textarea.bp3-input.bp3-small{height:auto;line-height:inherit}textarea.bp3-input.bp3-small{padding:8px}.bp3-dark textarea.bp3-input{background:rgba(16,22,26,.3);box-shadow:0 0 0 0 rgba(19,124,189,0),0 0 0 0 rgba(19,124,189,0),0 0 0 0 rgba(19,124,189,0),inset 0 0 0 1px rgba(16,22,26,.3),inset 0 1px 1px rgba(16,22,26,.4);color:#f5f8fa}.bp3-dark textarea.bp3-input::-webkit-input-placeholder{color:rgba(167,182,194,.6)}.bp3-dark textarea.bp3-input::placeholder{color:rgba(167,182,194,.6)}.bp3-dark textarea.bp3-input:focus{box-shadow:0 0 0 1px #137cbd,0 0 0 1px #137cbd,0 0 0 3px rgba(19,124,189,.3),inset 0 0 0 1px rgba(16,22,26,.3),inset 0 1px 1px rgba(16,22,26,.4)}.bp3-dark textarea.bp3-input[readonly]{box-shadow:inset 0 0 0 1px rgba(16,22,26,.4)}.bp3-dark textarea.bp3-input.bp3-disabled,.bp3-dark textarea.bp3-input:disabled{background:rgba(57,75,89,.5);box-shadow:none;color:rgba(167,182,194,.6)}label.bp3-label{display:block;margin-bottom:15px;margin-top:0}label.bp3-label .bp3-html-select,label.bp3-label .bp3-input,label.bp3-label .bp3-popover-wrapper,label.bp3-label .bp3-select,label.bp3-label .bp3-slider{display:block;margin-top:5px;text-transform:none}label.bp3-label .bp3-button-group{margin-top:5px}label.bp3-label .bp3-html-select select,label.bp3-label .bp3-select select{font-weight:400;vertical-align:top;width:100%}label.bp3-label.bp3-disabled,label.bp3-label.bp3-disabled .bp3-text-muted{color:rgba(92,112,128,.6)}label.bp3-label.bp3-inline{line-height:30px}label.bp3-label.bp3-inline .bp3-html-select,label.bp3-label.bp3-inline .bp3-input,label.bp3-label.bp3-inline .bp3-input-group,label.bp3-label.bp3-inline .bp3-popover-wrapper,label.bp3-label.bp3-inline .bp3-select{display:inline-block;margin:0 0 0 5px;vertical-align:top}label.bp3-label.bp3-inline .bp3-button-group{margin:0 0 0 5px}label.bp3-label.bp3-inline .bp3-input-group .bp3-input{margin-left:0}label.bp3-label.bp3-inline.bp3-large{line-height:40px}label.bp3-label:not(.bp3-inline) .bp3-popover-target{display:block}.bp3-dark label.bp3-label{color:#f5f8fa}.bp3-dark label.bp3-label.bp3-disabled,.bp3-dark label.bp3-label.bp3-disabled .bp3-text-muted{color:rgba(167,182,194,.6)}.bp3-numeric-input .bp3-button-group.bp3-vertical>.bp3-button{flex:1 1 14px;min-height:0;padding:0;width:30px}.bp3-numeric-input .bp3-button-group.bp3-vertical>.bp3-button:first-child{border-radius:0 3px 0 0}.bp3-numeric-input .bp3-button-group.bp3-vertical>.bp3-button:last-child{border-radius:0 0 3px 0}.bp3-numeric-input .bp3-button-group.bp3-vertical:first-child>.bp3-button:first-child{border-radius:3px 0 0 0}.bp3-numeric-input .bp3-button-group.bp3-vertical:first-child>.bp3-button:last-child{border-radius:0 0 0 3px}.bp3-numeric-input.bp3-large .bp3-button-group.bp3-vertical>.bp3-button{width:40px}form{display:block}.bp3-html-select select,.bp3-select select{align-items:center;-moz-appearance:none;-webkit-appearance:none;background-color:#f5f8fa;background-image:linear-gradient(180deg,hsla(0,0%,100%,.8),hsla(0,0%,100%,0));border:none;border-radius:3px;box-shadow:inset 0 0 0 1px rgba(16,22,26,.2),inset 0 -1px 0 rgba(16,22,26,.1);color:#182026;cursor:pointer;display:inline-flex;flex-direction:row;font-size:14px;height:30px;justify-content:center;padding:0 25px 0 10px;text-align:left;vertical-align:middle;width:100%}.bp3-html-select select>*,.bp3-select select>*{flex-grow:0;flex-shrink:0}.bp3-html-select select>.bp3-fill,.bp3-select select>.bp3-fill{flex-grow:1;flex-shrink:1}.bp3-html-select select:before,.bp3-html-select select>*,.bp3-select select:before,.bp3-select select>*{margin-right:7px}.bp3-html-select select:empty:before,.bp3-html-select select>:last-child,.bp3-select select:empty:before,.bp3-select select>:last-child{margin-right:0}.bp3-html-select select:hover,.bp3-select select:hover{background-clip:padding-box;background-color:#ebf1f5;box-shadow:inset 0 0 0 1px rgba(16,22,26,.2),inset 0 -1px 0 rgba(16,22,26,.1)}.bp3-html-select select.bp3-active,.bp3-html-select select:active,.bp3-select select.bp3-active,.bp3-select select:active{background-color:#d8e1e8;background-image:none;box-shadow:inset 0 0 0 1px rgba(16,22,26,.2),inset 0 1px 2px rgba(16,22,26,.2)}.bp3-html-select select.bp3-disabled,.bp3-html-select select:disabled,.bp3-select select.bp3-disabled,.bp3-select select:disabled{background-color:rgba(206,217,224,.5);background-image:none;box-shadow:none;color:rgba(92,112,128,.6);cursor:not-allowed;outline:none}.bp3-html-select select.bp3-disabled.bp3-active,.bp3-html-select select.bp3-disabled.bp3-active:hover,.bp3-html-select select:disabled.bp3-active,.bp3-html-select select:disabled.bp3-active:hover,.bp3-select select.bp3-disabled.bp3-active,.bp3-select select.bp3-disabled.bp3-active:hover,.bp3-select select:disabled.bp3-active,.bp3-select select:disabled.bp3-active:hover{background:rgba(206,217,224,.7)}.bp3-html-select.bp3-minimal select,.bp3-select.bp3-minimal select{background:none;box-shadow:none}.bp3-html-select.bp3-minimal select:hover,.bp3-select.bp3-minimal select:hover{background:rgba(167,182,194,.3);box-shadow:none;color:#182026;text-decoration:none}.bp3-html-select.bp3-minimal select.bp3-active,.bp3-html-select.bp3-minimal select:active,.bp3-select.bp3-minimal select.bp3-active,.bp3-select.bp3-minimal select:active{background:rgba(115,134,148,.3);box-shadow:none;color:#182026}.bp3-html-select.bp3-minimal select.bp3-disabled,.bp3-html-select.bp3-minimal select.bp3-disabled:hover,.bp3-html-select.bp3-minimal select:disabled,.bp3-html-select.bp3-minimal select:disabled:hover,.bp3-select.bp3-minimal select.bp3-disabled,.bp3-select.bp3-minimal select.bp3-disabled:hover,.bp3-select.bp3-minimal select:disabled,.bp3-select.bp3-minimal select:disabled:hover{background:none;color:rgba(92,112,128,.6);cursor:not-allowed}.bp3-html-select.bp3-minimal select.bp3-disabled.bp3-active,.bp3-html-select.bp3-minimal select.bp3-disabled:hover.bp3-active,.bp3-html-select.bp3-minimal select:disabled.bp3-active,.bp3-html-select.bp3-minimal select:disabled:hover.bp3-active,.bp3-select.bp3-minimal select.bp3-disabled.bp3-active,.bp3-select.bp3-minimal select.bp3-disabled:hover.bp3-active,.bp3-select.bp3-minimal select:disabled.bp3-active,.bp3-select.bp3-minimal select:disabled:hover.bp3-active{background:rgba(115,134,148,.3)}.bp3-dark .bp3-html-select.bp3-minimal select,.bp3-dark .bp3-select.bp3-minimal select,.bp3-html-select.bp3-minimal .bp3-dark select,.bp3-select.bp3-minimal .bp3-dark select{background:none;box-shadow:none;color:inherit}.bp3-dark .bp3-html-select.bp3-minimal select.bp3-active,.bp3-dark .bp3-html-select.bp3-minimal select:active,.bp3-dark .bp3-html-select.bp3-minimal select:hover,.bp3-dark .bp3-select.bp3-minimal select.bp3-active,.bp3-dark .bp3-select.bp3-minimal select:active,.bp3-dark .bp3-select.bp3-minimal select:hover,.bp3-html-select.bp3-minimal .bp3-dark select.bp3-active,.bp3-html-select.bp3-minimal .bp3-dark select:active,.bp3-html-select.bp3-minimal .bp3-dark select:hover,.bp3-select.bp3-minimal .bp3-dark select.bp3-active,.bp3-select.bp3-minimal .bp3-dark select:active,.bp3-select.bp3-minimal .bp3-dark select:hover{background:none;box-shadow:none}.bp3-dark .bp3-html-select.bp3-minimal select:hover,.bp3-dark .bp3-select.bp3-minimal select:hover,.bp3-html-select.bp3-minimal .bp3-dark select:hover,.bp3-select.bp3-minimal .bp3-dark select:hover{background:rgba(138,155,168,.15)}.bp3-dark .bp3-html-select.bp3-minimal select.bp3-active,.bp3-dark .bp3-html-select.bp3-minimal select:active,.bp3-dark .bp3-select.bp3-minimal select.bp3-active,.bp3-dark .bp3-select.bp3-minimal select:active,.bp3-html-select.bp3-minimal .bp3-dark select.bp3-active,.bp3-html-select.bp3-minimal .bp3-dark select:active,.bp3-select.bp3-minimal .bp3-dark select.bp3-active,.bp3-select.bp3-minimal .bp3-dark select:active{background:rgba(138,155,168,.3);color:#f5f8fa}.bp3-dark .bp3-html-select.bp3-minimal select.bp3-disabled,.bp3-dark .bp3-html-select.bp3-minimal select.bp3-disabled:hover,.bp3-dark .bp3-html-select.bp3-minimal select:disabled,.bp3-dark .bp3-html-select.bp3-minimal select:disabled:hover,.bp3-dark .bp3-select.bp3-minimal select.bp3-disabled,.bp3-dark .bp3-select.bp3-minimal select.bp3-disabled:hover,.bp3-dark .bp3-select.bp3-minimal select:disabled,.bp3-dark .bp3-select.bp3-minimal select:disabled:hover,.bp3-html-select.bp3-minimal .bp3-dark select.bp3-disabled,.bp3-html-select.bp3-minimal .bp3-dark select.bp3-disabled:hover,.bp3-html-select.bp3-minimal .bp3-dark select:disabled,.bp3-html-select.bp3-minimal .bp3-dark select:disabled:hover,.bp3-select.bp3-minimal .bp3-dark select.bp3-disabled,.bp3-select.bp3-minimal .bp3-dark select.bp3-disabled:hover,.bp3-select.bp3-minimal .bp3-dark select:disabled,.bp3-select.bp3-minimal .bp3-dark select:disabled:hover{background:none;color:rgba(167,182,194,.6);cursor:not-allowed}.bp3-dark .bp3-html-select.bp3-minimal select.bp3-disabled.bp3-active,.bp3-dark .bp3-html-select.bp3-minimal select.bp3-disabled:hover.bp3-active,.bp3-dark .bp3-html-select.bp3-minimal select:disabled.bp3-active,.bp3-dark .bp3-html-select.bp3-minimal select:disabled:hover.bp3-active,.bp3-dark .bp3-select.bp3-minimal select.bp3-disabled.bp3-active,.bp3-dark .bp3-select.bp3-minimal select.bp3-disabled:hover.bp3-active,.bp3-dark .bp3-select.bp3-minimal select:disabled.bp3-active,.bp3-dark .bp3-select.bp3-minimal select:disabled:hover.bp3-active,.bp3-html-select.bp3-minimal .bp3-dark select.bp3-disabled.bp3-active,.bp3-html-select.bp3-minimal .bp3-dark select.bp3-disabled:hover.bp3-active,.bp3-html-select.bp3-minimal .bp3-dark select:disabled.bp3-active,.bp3-html-select.bp3-minimal .bp3-dark select:disabled:hover.bp3-active,.bp3-select.bp3-minimal .bp3-dark select.bp3-disabled.bp3-active,.bp3-select.bp3-minimal .bp3-dark select.bp3-disabled:hover.bp3-active,.bp3-select.bp3-minimal .bp3-dark select:disabled.bp3-active,.bp3-select.bp3-minimal .bp3-dark select:disabled:hover.bp3-active{background:rgba(138,155,168,.3)}.bp3-html-select.bp3-minimal select.bp3-intent-primary,.bp3-select.bp3-minimal select.bp3-intent-primary{color:#106ba3}.bp3-html-select.bp3-minimal select.bp3-intent-primary.bp3-active,.bp3-html-select.bp3-minimal select.bp3-intent-primary:active,.bp3-html-select.bp3-minimal select.bp3-intent-primary:hover,.bp3-select.bp3-minimal select.bp3-intent-primary.bp3-active,.bp3-select.bp3-minimal select.bp3-intent-primary:active,.bp3-select.bp3-minimal select.bp3-intent-primary:hover{background:none;box-shadow:none;color:#106ba3}.bp3-html-select.bp3-minimal select.bp3-intent-primary:hover,.bp3-select.bp3-minimal select.bp3-intent-primary:hover{background:rgba(19,124,189,.15);color:#106ba3}.bp3-html-select.bp3-minimal select.bp3-intent-primary.bp3-active,.bp3-html-select.bp3-minimal select.bp3-intent-primary:active,.bp3-select.bp3-minimal select.bp3-intent-primary.bp3-active,.bp3-select.bp3-minimal select.bp3-intent-primary:active{background:rgba(19,124,189,.3);color:#106ba3}.bp3-html-select.bp3-minimal select.bp3-intent-primary.bp3-disabled,.bp3-html-select.bp3-minimal select.bp3-intent-primary:disabled,.bp3-select.bp3-minimal select.bp3-intent-primary.bp3-disabled,.bp3-select.bp3-minimal select.bp3-intent-primary:disabled{background:none;color:rgba(16,107,163,.5)}.bp3-html-select.bp3-minimal select.bp3-intent-primary.bp3-disabled.bp3-active,.bp3-html-select.bp3-minimal select.bp3-intent-primary:disabled.bp3-active,.bp3-select.bp3-minimal select.bp3-intent-primary.bp3-disabled.bp3-active,.bp3-select.bp3-minimal select.bp3-intent-primary:disabled.bp3-active{background:rgba(19,124,189,.3)}.bp3-html-select.bp3-minimal select.bp3-intent-primary .bp3-button-spinner .bp3-spinner-head,.bp3-select.bp3-minimal select.bp3-intent-primary .bp3-button-spinner .bp3-spinner-head{stroke:#106ba3}.bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-primary,.bp3-dark .bp3-select.bp3-minimal select.bp3-intent-primary,.bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-primary,.bp3-select.bp3-minimal .bp3-dark select.bp3-intent-primary{color:#48aff0}.bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-primary:hover,.bp3-dark .bp3-select.bp3-minimal select.bp3-intent-primary:hover,.bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-primary:hover,.bp3-select.bp3-minimal .bp3-dark select.bp3-intent-primary:hover{background:rgba(19,124,189,.2);color:#48aff0}.bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-primary.bp3-active,.bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-primary:active,.bp3-dark .bp3-select.bp3-minimal select.bp3-intent-primary.bp3-active,.bp3-dark .bp3-select.bp3-minimal select.bp3-intent-primary:active,.bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-primary.bp3-active,.bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-primary:active,.bp3-select.bp3-minimal .bp3-dark select.bp3-intent-primary.bp3-active,.bp3-select.bp3-minimal .bp3-dark select.bp3-intent-primary:active{background:rgba(19,124,189,.3);color:#48aff0}.bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-primary.bp3-disabled,.bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-primary:disabled,.bp3-dark .bp3-select.bp3-minimal select.bp3-intent-primary.bp3-disabled,.bp3-dark .bp3-select.bp3-minimal select.bp3-intent-primary:disabled,.bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-primary.bp3-disabled,.bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-primary:disabled,.bp3-select.bp3-minimal .bp3-dark select.bp3-intent-primary.bp3-disabled,.bp3-select.bp3-minimal .bp3-dark select.bp3-intent-primary:disabled{background:none;color:rgba(72,175,240,.5)}.bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-primary.bp3-disabled.bp3-active,.bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-primary:disabled.bp3-active,.bp3-dark .bp3-select.bp3-minimal select.bp3-intent-primary.bp3-disabled.bp3-active,.bp3-dark .bp3-select.bp3-minimal select.bp3-intent-primary:disabled.bp3-active,.bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-primary.bp3-disabled.bp3-active,.bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-primary:disabled.bp3-active,.bp3-select.bp3-minimal .bp3-dark select.bp3-intent-primary.bp3-disabled.bp3-active,.bp3-select.bp3-minimal .bp3-dark select.bp3-intent-primary:disabled.bp3-active{background:rgba(19,124,189,.3)}.bp3-html-select.bp3-minimal select.bp3-intent-success,.bp3-select.bp3-minimal select.bp3-intent-success{color:#0d8050}.bp3-html-select.bp3-minimal select.bp3-intent-success.bp3-active,.bp3-html-select.bp3-minimal select.bp3-intent-success:active,.bp3-html-select.bp3-minimal select.bp3-intent-success:hover,.bp3-select.bp3-minimal select.bp3-intent-success.bp3-active,.bp3-select.bp3-minimal select.bp3-intent-success:active,.bp3-select.bp3-minimal select.bp3-intent-success:hover{background:none;box-shadow:none;color:#0d8050}.bp3-html-select.bp3-minimal select.bp3-intent-success:hover,.bp3-select.bp3-minimal select.bp3-intent-success:hover{background:rgba(15,153,96,.15);color:#0d8050}.bp3-html-select.bp3-minimal select.bp3-intent-success.bp3-active,.bp3-html-select.bp3-minimal select.bp3-intent-success:active,.bp3-select.bp3-minimal select.bp3-intent-success.bp3-active,.bp3-select.bp3-minimal select.bp3-intent-success:active{background:rgba(15,153,96,.3);color:#0d8050}.bp3-html-select.bp3-minimal select.bp3-intent-success.bp3-disabled,.bp3-html-select.bp3-minimal select.bp3-intent-success:disabled,.bp3-select.bp3-minimal select.bp3-intent-success.bp3-disabled,.bp3-select.bp3-minimal select.bp3-intent-success:disabled{background:none;color:rgba(13,128,80,.5)}.bp3-html-select.bp3-minimal select.bp3-intent-success.bp3-disabled.bp3-active,.bp3-html-select.bp3-minimal select.bp3-intent-success:disabled.bp3-active,.bp3-select.bp3-minimal select.bp3-intent-success.bp3-disabled.bp3-active,.bp3-select.bp3-minimal select.bp3-intent-success:disabled.bp3-active{background:rgba(15,153,96,.3)}.bp3-html-select.bp3-minimal select.bp3-intent-success .bp3-button-spinner .bp3-spinner-head,.bp3-select.bp3-minimal select.bp3-intent-success .bp3-button-spinner .bp3-spinner-head{stroke:#0d8050}.bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-success,.bp3-dark .bp3-select.bp3-minimal select.bp3-intent-success,.bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-success,.bp3-select.bp3-minimal .bp3-dark select.bp3-intent-success{color:#3dcc91}.bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-success:hover,.bp3-dark .bp3-select.bp3-minimal select.bp3-intent-success:hover,.bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-success:hover,.bp3-select.bp3-minimal .bp3-dark select.bp3-intent-success:hover{background:rgba(15,153,96,.2);color:#3dcc91}.bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-success.bp3-active,.bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-success:active,.bp3-dark .bp3-select.bp3-minimal select.bp3-intent-success.bp3-active,.bp3-dark .bp3-select.bp3-minimal select.bp3-intent-success:active,.bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-success.bp3-active,.bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-success:active,.bp3-select.bp3-minimal .bp3-dark select.bp3-intent-success.bp3-active,.bp3-select.bp3-minimal .bp3-dark select.bp3-intent-success:active{background:rgba(15,153,96,.3);color:#3dcc91}.bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-success.bp3-disabled,.bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-success:disabled,.bp3-dark .bp3-select.bp3-minimal select.bp3-intent-success.bp3-disabled,.bp3-dark .bp3-select.bp3-minimal select.bp3-intent-success:disabled,.bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-success.bp3-disabled,.bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-success:disabled,.bp3-select.bp3-minimal .bp3-dark select.bp3-intent-success.bp3-disabled,.bp3-select.bp3-minimal .bp3-dark select.bp3-intent-success:disabled{background:none;color:rgba(61,204,145,.5)}.bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-success.bp3-disabled.bp3-active,.bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-success:disabled.bp3-active,.bp3-dark .bp3-select.bp3-minimal select.bp3-intent-success.bp3-disabled.bp3-active,.bp3-dark .bp3-select.bp3-minimal select.bp3-intent-success:disabled.bp3-active,.bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-success.bp3-disabled.bp3-active,.bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-success:disabled.bp3-active,.bp3-select.bp3-minimal .bp3-dark select.bp3-intent-success.bp3-disabled.bp3-active,.bp3-select.bp3-minimal .bp3-dark select.bp3-intent-success:disabled.bp3-active{background:rgba(15,153,96,.3)}.bp3-html-select.bp3-minimal select.bp3-intent-warning,.bp3-select.bp3-minimal select.bp3-intent-warning{color:#bf7326}.bp3-html-select.bp3-minimal select.bp3-intent-warning.bp3-active,.bp3-html-select.bp3-minimal select.bp3-intent-warning:active,.bp3-html-select.bp3-minimal select.bp3-intent-warning:hover,.bp3-select.bp3-minimal select.bp3-intent-warning.bp3-active,.bp3-select.bp3-minimal select.bp3-intent-warning:active,.bp3-select.bp3-minimal select.bp3-intent-warning:hover{background:none;box-shadow:none;color:#bf7326}.bp3-html-select.bp3-minimal select.bp3-intent-warning:hover,.bp3-select.bp3-minimal select.bp3-intent-warning:hover{background:rgba(217,130,43,.15);color:#bf7326}.bp3-html-select.bp3-minimal select.bp3-intent-warning.bp3-active,.bp3-html-select.bp3-minimal select.bp3-intent-warning:active,.bp3-select.bp3-minimal select.bp3-intent-warning.bp3-active,.bp3-select.bp3-minimal select.bp3-intent-warning:active{background:rgba(217,130,43,.3);color:#bf7326}.bp3-html-select.bp3-minimal select.bp3-intent-warning.bp3-disabled,.bp3-html-select.bp3-minimal select.bp3-intent-warning:disabled,.bp3-select.bp3-minimal select.bp3-intent-warning.bp3-disabled,.bp3-select.bp3-minimal select.bp3-intent-warning:disabled{background:none;color:rgba(191,115,38,.5)}.bp3-html-select.bp3-minimal select.bp3-intent-warning.bp3-disabled.bp3-active,.bp3-html-select.bp3-minimal select.bp3-intent-warning:disabled.bp3-active,.bp3-select.bp3-minimal select.bp3-intent-warning.bp3-disabled.bp3-active,.bp3-select.bp3-minimal select.bp3-intent-warning:disabled.bp3-active{background:rgba(217,130,43,.3)}.bp3-html-select.bp3-minimal select.bp3-intent-warning .bp3-button-spinner .bp3-spinner-head,.bp3-select.bp3-minimal select.bp3-intent-warning .bp3-button-spinner .bp3-spinner-head{stroke:#bf7326}.bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-warning,.bp3-dark .bp3-select.bp3-minimal select.bp3-intent-warning,.bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-warning,.bp3-select.bp3-minimal .bp3-dark select.bp3-intent-warning{color:#ffb366}.bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-warning:hover,.bp3-dark .bp3-select.bp3-minimal select.bp3-intent-warning:hover,.bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-warning:hover,.bp3-select.bp3-minimal .bp3-dark select.bp3-intent-warning:hover{background:rgba(217,130,43,.2);color:#ffb366}.bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-warning.bp3-active,.bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-warning:active,.bp3-dark .bp3-select.bp3-minimal select.bp3-intent-warning.bp3-active,.bp3-dark .bp3-select.bp3-minimal select.bp3-intent-warning:active,.bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-warning.bp3-active,.bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-warning:active,.bp3-select.bp3-minimal .bp3-dark select.bp3-intent-warning.bp3-active,.bp3-select.bp3-minimal .bp3-dark select.bp3-intent-warning:active{background:rgba(217,130,43,.3);color:#ffb366}.bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-warning.bp3-disabled,.bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-warning:disabled,.bp3-dark .bp3-select.bp3-minimal select.bp3-intent-warning.bp3-disabled,.bp3-dark .bp3-select.bp3-minimal select.bp3-intent-warning:disabled,.bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-warning.bp3-disabled,.bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-warning:disabled,.bp3-select.bp3-minimal .bp3-dark select.bp3-intent-warning.bp3-disabled,.bp3-select.bp3-minimal .bp3-dark select.bp3-intent-warning:disabled{background:none;color:rgba(255,179,102,.5)}.bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-warning.bp3-disabled.bp3-active,.bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-warning:disabled.bp3-active,.bp3-dark .bp3-select.bp3-minimal select.bp3-intent-warning.bp3-disabled.bp3-active,.bp3-dark .bp3-select.bp3-minimal select.bp3-intent-warning:disabled.bp3-active,.bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-warning.bp3-disabled.bp3-active,.bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-warning:disabled.bp3-active,.bp3-select.bp3-minimal .bp3-dark select.bp3-intent-warning.bp3-disabled.bp3-active,.bp3-select.bp3-minimal .bp3-dark select.bp3-intent-warning:disabled.bp3-active{background:rgba(217,130,43,.3)}.bp3-html-select.bp3-minimal select.bp3-intent-danger,.bp3-select.bp3-minimal select.bp3-intent-danger{color:#c23030}.bp3-html-select.bp3-minimal select.bp3-intent-danger.bp3-active,.bp3-html-select.bp3-minimal select.bp3-intent-danger:active,.bp3-html-select.bp3-minimal select.bp3-intent-danger:hover,.bp3-select.bp3-minimal select.bp3-intent-danger.bp3-active,.bp3-select.bp3-minimal select.bp3-intent-danger:active,.bp3-select.bp3-minimal select.bp3-intent-danger:hover{background:none;box-shadow:none;color:#c23030}.bp3-html-select.bp3-minimal select.bp3-intent-danger:hover,.bp3-select.bp3-minimal select.bp3-intent-danger:hover{background:rgba(219,55,55,.15);color:#c23030}.bp3-html-select.bp3-minimal select.bp3-intent-danger.bp3-active,.bp3-html-select.bp3-minimal select.bp3-intent-danger:active,.bp3-select.bp3-minimal select.bp3-intent-danger.bp3-active,.bp3-select.bp3-minimal select.bp3-intent-danger:active{background:rgba(219,55,55,.3);color:#c23030}.bp3-html-select.bp3-minimal select.bp3-intent-danger.bp3-disabled,.bp3-html-select.bp3-minimal select.bp3-intent-danger:disabled,.bp3-select.bp3-minimal select.bp3-intent-danger.bp3-disabled,.bp3-select.bp3-minimal select.bp3-intent-danger:disabled{background:none;color:rgba(194,48,48,.5)}.bp3-html-select.bp3-minimal select.bp3-intent-danger.bp3-disabled.bp3-active,.bp3-html-select.bp3-minimal select.bp3-intent-danger:disabled.bp3-active,.bp3-select.bp3-minimal select.bp3-intent-danger.bp3-disabled.bp3-active,.bp3-select.bp3-minimal select.bp3-intent-danger:disabled.bp3-active{background:rgba(219,55,55,.3)}.bp3-html-select.bp3-minimal select.bp3-intent-danger .bp3-button-spinner .bp3-spinner-head,.bp3-select.bp3-minimal select.bp3-intent-danger .bp3-button-spinner .bp3-spinner-head{stroke:#c23030}.bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-danger,.bp3-dark .bp3-select.bp3-minimal select.bp3-intent-danger,.bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-danger,.bp3-select.bp3-minimal .bp3-dark select.bp3-intent-danger{color:#ff7373}.bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-danger:hover,.bp3-dark .bp3-select.bp3-minimal select.bp3-intent-danger:hover,.bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-danger:hover,.bp3-select.bp3-minimal .bp3-dark select.bp3-intent-danger:hover{background:rgba(219,55,55,.2);color:#ff7373}.bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-danger.bp3-active,.bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-danger:active,.bp3-dark .bp3-select.bp3-minimal select.bp3-intent-danger.bp3-active,.bp3-dark .bp3-select.bp3-minimal select.bp3-intent-danger:active,.bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-danger.bp3-active,.bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-danger:active,.bp3-select.bp3-minimal .bp3-dark select.bp3-intent-danger.bp3-active,.bp3-select.bp3-minimal .bp3-dark select.bp3-intent-danger:active{background:rgba(219,55,55,.3);color:#ff7373}.bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-danger.bp3-disabled,.bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-danger:disabled,.bp3-dark .bp3-select.bp3-minimal select.bp3-intent-danger.bp3-disabled,.bp3-dark .bp3-select.bp3-minimal select.bp3-intent-danger:disabled,.bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-danger.bp3-disabled,.bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-danger:disabled,.bp3-select.bp3-minimal .bp3-dark select.bp3-intent-danger.bp3-disabled,.bp3-select.bp3-minimal .bp3-dark select.bp3-intent-danger:disabled{background:none;color:hsla(0,100%,73%,.5)}.bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-danger.bp3-disabled.bp3-active,.bp3-dark .bp3-html-select.bp3-minimal select.bp3-intent-danger:disabled.bp3-active,.bp3-dark .bp3-select.bp3-minimal select.bp3-intent-danger.bp3-disabled.bp3-active,.bp3-dark .bp3-select.bp3-minimal select.bp3-intent-danger:disabled.bp3-active,.bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-danger.bp3-disabled.bp3-active,.bp3-html-select.bp3-minimal .bp3-dark select.bp3-intent-danger:disabled.bp3-active,.bp3-select.bp3-minimal .bp3-dark select.bp3-intent-danger.bp3-disabled.bp3-active,.bp3-select.bp3-minimal .bp3-dark select.bp3-intent-danger:disabled.bp3-active{background:rgba(219,55,55,.3)}.bp3-html-select.bp3-large select,.bp3-select.bp3-large select{font-size:16px;height:40px;padding-right:35px}.bp3-dark .bp3-html-select select,.bp3-dark .bp3-select select{background-color:#394b59;background-image:linear-gradient(180deg,hsla(0,0%,100%,.05),hsla(0,0%,100%,0));box-shadow:0 0 0 1px rgba(16,22,26,.4);color:#f5f8fa}.bp3-dark .bp3-html-select select.bp3-active,.bp3-dark .bp3-html-select select:active,.bp3-dark .bp3-html-select select:hover,.bp3-dark .bp3-select select.bp3-active,.bp3-dark .bp3-select select:active,.bp3-dark .bp3-select select:hover{color:#f5f8fa}.bp3-dark .bp3-html-select select:hover,.bp3-dark .bp3-select select:hover{background-color:#30404d;box-shadow:0 0 0 1px rgba(16,22,26,.4)}.bp3-dark .bp3-html-select select.bp3-active,.bp3-dark .bp3-html-select select:active,.bp3-dark .bp3-select select.bp3-active,.bp3-dark .bp3-select select:active{background-color:#202b33;background-image:none;box-shadow:0 0 0 1px rgba(16,22,26,.6),inset 0 1px 2px rgba(16,22,26,.2)}.bp3-dark .bp3-html-select select.bp3-disabled,.bp3-dark .bp3-html-select select:disabled,.bp3-dark .bp3-select select.bp3-disabled,.bp3-dark .bp3-select select:disabled{background-color:rgba(57,75,89,.5);background-image:none;box-shadow:none;color:rgba(167,182,194,.6)}.bp3-dark .bp3-html-select select.bp3-disabled.bp3-active,.bp3-dark .bp3-html-select select:disabled.bp3-active,.bp3-dark .bp3-select select.bp3-disabled.bp3-active,.bp3-dark .bp3-select select:disabled.bp3-active{background:rgba(57,75,89,.7)}.bp3-dark .bp3-html-select select .bp3-button-spinner .bp3-spinner-head,.bp3-dark .bp3-select select .bp3-button-spinner .bp3-spinner-head{stroke:#8a9ba8;background:rgba(16,22,26,.5)}.bp3-html-select select:disabled,.bp3-select select:disabled{background-color:rgba(206,217,224,.5);box-shadow:none;color:rgba(92,112,128,.6);cursor:not-allowed}.bp3-html-select .bp3-icon,.bp3-select .bp3-icon,.bp3-select:after{color:#5c7080;pointer-events:none;position:absolute;right:7px;top:7px}.bp3-disabled.bp3-select:after,.bp3-html-select .bp3-disabled.bp3-icon,.bp3-select .bp3-disabled.bp3-icon{color:rgba(92,112,128,.6)}.bp3-html-select,.bp3-select{display:inline-block;letter-spacing:normal;position:relative;vertical-align:middle}.bp3-html-select select::-ms-expand,.bp3-select select::-ms-expand{display:none}.bp3-html-select .bp3-icon,.bp3-select .bp3-icon{color:#5c7080}.bp3-html-select .bp3-icon:hover,.bp3-select .bp3-icon:hover{color:#182026}.bp3-dark .bp3-html-select .bp3-icon,.bp3-dark .bp3-select .bp3-icon{color:#a7b6c2}.bp3-dark .bp3-html-select .bp3-icon:hover,.bp3-dark .bp3-select .bp3-icon:hover{color:#f5f8fa}.bp3-html-select.bp3-large .bp3-icon,.bp3-html-select.bp3-large:after,.bp3-select.bp3-large .bp3-icon,.bp3-select.bp3-large:after{right:12px;top:12px}.bp3-html-select.bp3-fill,.bp3-html-select.bp3-fill select,.bp3-select.bp3-fill,.bp3-select.bp3-fill select{width:100%}.bp3-dark .bp3-html-select option,.bp3-dark .bp3-select option{background-color:#30404d;color:#f5f8fa}.bp3-dark .bp3-html-select option:disabled,.bp3-dark .bp3-select option:disabled{color:rgba(167,182,194,.6)}.bp3-dark .bp3-html-select:after,.bp3-dark .bp3-select:after{color:#a7b6c2}.bp3-select:after{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;content:"";font-family:Icons16,sans-serif;font-size:16px;font-style:normal;font-weight:400;line-height:1}.bp3-running-text table,table.bp3-html-table{border-spacing:0;font-size:14px}.bp3-running-text table td,.bp3-running-text table th,table.bp3-html-table td,table.bp3-html-table th{padding:11px;text-align:left;vertical-align:top}.bp3-running-text table th,table.bp3-html-table th{color:#182026;font-weight:600}.bp3-running-text table td,table.bp3-html-table td{color:#182026}.bp3-running-text table tbody tr:first-child td,.bp3-running-text table tbody tr:first-child th,.bp3-running-text table tfoot tr:first-child td,.bp3-running-text table tfoot tr:first-child th,table.bp3-html-table tbody tr:first-child td,table.bp3-html-table tbody tr:first-child th,table.bp3-html-table tfoot tr:first-child td,table.bp3-html-table tfoot tr:first-child th{box-shadow:inset 0 1px 0 0 rgba(16,22,26,.15)}.bp3-dark .bp3-running-text table td,.bp3-dark .bp3-running-text table th,.bp3-dark table.bp3-html-table td,.bp3-dark table.bp3-html-table th,.bp3-running-text .bp3-dark table td,.bp3-running-text .bp3-dark table th{color:#f5f8fa}.bp3-dark .bp3-running-text table tbody tr:first-child td,.bp3-dark .bp3-running-text table tbody tr:first-child th,.bp3-dark .bp3-running-text table tfoot tr:first-child td,.bp3-dark .bp3-running-text table tfoot tr:first-child th,.bp3-dark table.bp3-html-table tbody tr:first-child td,.bp3-dark table.bp3-html-table tbody tr:first-child th,.bp3-dark table.bp3-html-table tfoot tr:first-child td,.bp3-dark table.bp3-html-table tfoot tr:first-child th,.bp3-running-text .bp3-dark table tbody tr:first-child td,.bp3-running-text .bp3-dark table tbody tr:first-child th,.bp3-running-text .bp3-dark table tfoot tr:first-child td,.bp3-running-text .bp3-dark table tfoot tr:first-child th{box-shadow:inset 0 1px 0 0 hsla(0,0%,100%,.15)}table.bp3-html-table.bp3-html-table-condensed td,table.bp3-html-table.bp3-html-table-condensed th,table.bp3-html-table.bp3-small td,table.bp3-html-table.bp3-small th{padding-bottom:6px;padding-top:6px}table.bp3-html-table.bp3-html-table-striped tbody tr:nth-child(odd) td{background:rgba(191,204,214,.15)}table.bp3-html-table.bp3-html-table-bordered th:not(:first-child){box-shadow:inset 1px 0 0 0 rgba(16,22,26,.15)}table.bp3-html-table.bp3-html-table-bordered tbody tr td,table.bp3-html-table.bp3-html-table-bordered tfoot tr td{box-shadow:inset 0 1px 0 0 rgba(16,22,26,.15)}table.bp3-html-table.bp3-html-table-bordered tbody tr td:not(:first-child),table.bp3-html-table.bp3-html-table-bordered tfoot tr td:not(:first-child){box-shadow:inset 1px 1px 0 0 rgba(16,22,26,.15)}table.bp3-html-table.bp3-html-table-bordered.bp3-html-table-striped tbody tr:not(:first-child) td{box-shadow:none}table.bp3-html-table.bp3-html-table-bordered.bp3-html-table-striped tbody tr:not(:first-child) td:not(:first-child){box-shadow:inset 1px 0 0 0 rgba(16,22,26,.15)}table.bp3-html-table.bp3-interactive tbody tr:hover td{background-color:rgba(191,204,214,.3);cursor:pointer}table.bp3-html-table.bp3-interactive tbody tr:active td{background-color:rgba(191,204,214,.4)}.bp3-dark table.bp3-html-table.bp3-html-table-striped tbody tr:nth-child(odd) td{background:rgba(92,112,128,.15)}.bp3-dark table.bp3-html-table.bp3-html-table-bordered th:not(:first-child){box-shadow:inset 1px 0 0 0 hsla(0,0%,100%,.15)}.bp3-dark table.bp3-html-table.bp3-html-table-bordered tbody tr td,.bp3-dark table.bp3-html-table.bp3-html-table-bordered tfoot tr td{box-shadow:inset 0 1px 0 0 hsla(0,0%,100%,.15)}.bp3-dark table.bp3-html-table.bp3-html-table-bordered tbody tr td:not(:first-child),.bp3-dark table.bp3-html-table.bp3-html-table-bordered tfoot tr td:not(:first-child){box-shadow:inset 1px 1px 0 0 hsla(0,0%,100%,.15)}.bp3-dark table.bp3-html-table.bp3-html-table-bordered.bp3-html-table-striped tbody tr:not(:first-child) td{box-shadow:inset 1px 0 0 0 hsla(0,0%,100%,.15)}.bp3-dark table.bp3-html-table.bp3-html-table-bordered.bp3-html-table-striped tbody tr:not(:first-child) td:first-child{box-shadow:none}.bp3-dark table.bp3-html-table.bp3-interactive tbody tr:hover td{background-color:rgba(92,112,128,.3);cursor:pointer}.bp3-dark table.bp3-html-table.bp3-interactive tbody tr:active td{background-color:rgba(92,112,128,.4)}.bp3-key-combo{align-items:center;display:flex;flex-direction:row}.bp3-key-combo>*{flex-grow:0;flex-shrink:0}.bp3-key-combo>.bp3-fill{flex-grow:1;flex-shrink:1}.bp3-key-combo:before,.bp3-key-combo>*{margin-right:5px}.bp3-key-combo:empty:before,.bp3-key-combo>:last-child{margin-right:0}.bp3-hotkey-dialog{padding-bottom:0;top:40px}.bp3-hotkey-dialog .bp3-dialog-body{margin:0;padding:0}.bp3-hotkey-dialog .bp3-hotkey-label{flex-grow:1}.bp3-hotkey-column{margin:auto;max-height:80vh;overflow-y:auto;padding:30px}.bp3-hotkey-column .bp3-heading{margin-bottom:20px}.bp3-hotkey-column .bp3-heading:not(:first-child){margin-top:40px}.bp3-hotkey{align-items:center;display:flex;justify-content:space-between;margin-left:0;margin-right:0}.bp3-hotkey:not(:last-child){margin-bottom:10px}.bp3-icon{display:inline-block;flex:0 0 auto;vertical-align:text-bottom}.bp3-icon:not(:empty):before{content:""!important;content:normal!important}.bp3-icon>svg{display:block}.bp3-icon>svg:not([fill]){fill:currentColor}.bp3-icon-large.bp3-intent-primary,.bp3-icon-standard.bp3-intent-primary,.bp3-icon.bp3-intent-primary{color:#106ba3}.bp3-dark .bp3-icon-large.bp3-intent-primary,.bp3-dark .bp3-icon-standard.bp3-intent-primary,.bp3-dark .bp3-icon.bp3-intent-primary{color:#48aff0}.bp3-icon-large.bp3-intent-success,.bp3-icon-standard.bp3-intent-success,.bp3-icon.bp3-intent-success{color:#0d8050}.bp3-dark .bp3-icon-large.bp3-intent-success,.bp3-dark .bp3-icon-standard.bp3-intent-success,.bp3-dark .bp3-icon.bp3-intent-success{color:#3dcc91}.bp3-icon-large.bp3-intent-warning,.bp3-icon-standard.bp3-intent-warning,.bp3-icon.bp3-intent-warning{color:#bf7326}.bp3-dark .bp3-icon-large.bp3-intent-warning,.bp3-dark .bp3-icon-standard.bp3-intent-warning,.bp3-dark .bp3-icon.bp3-intent-warning{color:#ffb366}.bp3-icon-large.bp3-intent-danger,.bp3-icon-standard.bp3-intent-danger,.bp3-icon.bp3-intent-danger{color:#c23030}.bp3-dark .bp3-icon-large.bp3-intent-danger,.bp3-dark .bp3-icon-standard.bp3-intent-danger,.bp3-dark .bp3-icon.bp3-intent-danger{color:#ff7373}span.bp3-icon-standard{font-family:Icons16,sans-serif;font-size:16px}span.bp3-icon-large,span.bp3-icon-standard{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-weight:400;line-height:1}span.bp3-icon-large{font-family:Icons20,sans-serif;font-size:20px}span.bp3-icon:empty{font-family:Icons20;font-size:inherit;font-style:normal;font-weight:400;line-height:1}span.bp3-icon:empty:before{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}.bp3-icon-add:before{content:""}.bp3-icon-add-column-left:before{content:""}.bp3-icon-add-column-right:before{content:""}.bp3-icon-add-row-bottom:before{content:""}.bp3-icon-add-row-top:before{content:""}.bp3-icon-add-to-artifact:before{content:""}.bp3-icon-add-to-folder:before{content:""}.bp3-icon-airplane:before{content:""}.bp3-icon-align-center:before{content:""}.bp3-icon-align-justify:before{content:""}.bp3-icon-align-left:before{content:""}.bp3-icon-align-right:before{content:""}.bp3-icon-alignment-bottom:before{content:""}.bp3-icon-alignment-horizontal-center:before{content:""}.bp3-icon-alignment-left:before{content:""}.bp3-icon-alignment-right:before{content:""}.bp3-icon-alignment-top:before{content:""}.bp3-icon-alignment-vertical-center:before{content:""}.bp3-icon-annotation:before{content:""}.bp3-icon-application:before{content:""}.bp3-icon-applications:before{content:""}.bp3-icon-archive:before{content:""}.bp3-icon-arrow-bottom-left:before{content:"↙"}.bp3-icon-arrow-bottom-right:before{content:"↘"}.bp3-icon-arrow-down:before{content:"↓"}.bp3-icon-arrow-left:before{content:"←"}.bp3-icon-arrow-right:before{content:"→"}.bp3-icon-arrow-top-left:before{content:"↖"}.bp3-icon-arrow-top-right:before{content:"↗"}.bp3-icon-arrow-up:before{content:"↑"}.bp3-icon-arrows-horizontal:before{content:"↔"}.bp3-icon-arrows-vertical:before{content:"↕"}.bp3-icon-asterisk:before{content:"*"}.bp3-icon-automatic-updates:before{content:""}.bp3-icon-badge:before{content:""}.bp3-icon-ban-circle:before{content:""}.bp3-icon-bank-account:before{content:""}.bp3-icon-barcode:before{content:""}.bp3-icon-blank:before{content:""}.bp3-icon-blocked-person:before{content:""}.bp3-icon-bold:before{content:""}.bp3-icon-book:before{content:""}.bp3-icon-bookmark:before{content:""}.bp3-icon-box:before{content:""}.bp3-icon-briefcase:before{content:""}.bp3-icon-bring-data:before{content:""}.bp3-icon-build:before{content:""}.bp3-icon-calculator:before{content:""}.bp3-icon-calendar:before{content:""}.bp3-icon-camera:before{content:""}.bp3-icon-caret-down:before{content:"⌄"}.bp3-icon-caret-left:before{content:"〈"}.bp3-icon-caret-right:before{content:"〉"}.bp3-icon-caret-up:before{content:"⌃"}.bp3-icon-cell-tower:before{content:""}.bp3-icon-changes:before{content:""}.bp3-icon-chart:before{content:""}.bp3-icon-chat:before{content:""}.bp3-icon-chevron-backward:before{content:""}.bp3-icon-chevron-down:before{content:""}.bp3-icon-chevron-forward:before{content:""}.bp3-icon-chevron-left:before{content:""}.bp3-icon-chevron-right:before{content:""}.bp3-icon-chevron-up:before{content:""}.bp3-icon-circle:before{content:""}.bp3-icon-circle-arrow-down:before{content:""}.bp3-icon-circle-arrow-left:before{content:""}.bp3-icon-circle-arrow-right:before{content:""}.bp3-icon-circle-arrow-up:before{content:""}.bp3-icon-citation:before{content:""}.bp3-icon-clean:before{content:""}.bp3-icon-clipboard:before{content:""}.bp3-icon-cloud:before{content:"☁"}.bp3-icon-cloud-download:before{content:""}.bp3-icon-cloud-upload:before{content:""}.bp3-icon-code:before{content:""}.bp3-icon-code-block:before{content:""}.bp3-icon-cog:before{content:""}.bp3-icon-collapse-all:before{content:""}.bp3-icon-column-layout:before{content:""}.bp3-icon-comment:before{content:""}.bp3-icon-comparison:before{content:""}.bp3-icon-compass:before{content:""}.bp3-icon-compressed:before{content:""}.bp3-icon-confirm:before{content:""}.bp3-icon-console:before{content:""}.bp3-icon-contrast:before{content:""}.bp3-icon-control:before{content:""}.bp3-icon-credit-card:before{content:""}.bp3-icon-cross:before{content:"✗"}.bp3-icon-crown:before{content:""}.bp3-icon-cube:before{content:""}.bp3-icon-cube-add:before{content:""}.bp3-icon-cube-remove:before{content:""}.bp3-icon-curved-range-chart:before{content:""}.bp3-icon-cut:before{content:""}.bp3-icon-dashboard:before{content:""}.bp3-icon-data-lineage:before{content:""}.bp3-icon-database:before{content:""}.bp3-icon-delete:before{content:""}.bp3-icon-delta:before{content:"Δ"}.bp3-icon-derive-column:before{content:""}.bp3-icon-desktop:before{content:""}.bp3-icon-diagnosis:before{content:""}.bp3-icon-diagram-tree:before{content:""}.bp3-icon-direction-left:before{content:""}.bp3-icon-direction-right:before{content:""}.bp3-icon-disable:before{content:""}.bp3-icon-document:before{content:""}.bp3-icon-document-open:before{content:""}.bp3-icon-document-share:before{content:""}.bp3-icon-dollar:before{content:"$"}.bp3-icon-dot:before{content:"•"}.bp3-icon-double-caret-horizontal:before{content:""}.bp3-icon-double-caret-vertical:before{content:""}.bp3-icon-double-chevron-down:before{content:""}.bp3-icon-double-chevron-left:before{content:""}.bp3-icon-double-chevron-right:before{content:""}.bp3-icon-double-chevron-up:before{content:""}.bp3-icon-doughnut-chart:before{content:""}.bp3-icon-download:before{content:""}.bp3-icon-drag-handle-horizontal:before{content:""}.bp3-icon-drag-handle-vertical:before{content:""}.bp3-icon-draw:before{content:""}.bp3-icon-drive-time:before{content:""}.bp3-icon-duplicate:before{content:""}.bp3-icon-edit:before{content:"✎"}.bp3-icon-eject:before{content:"⏏"}.bp3-icon-endorsed:before{content:""}.bp3-icon-envelope:before{content:"✉"}.bp3-icon-equals:before{content:""}.bp3-icon-eraser:before{content:""}.bp3-icon-error:before{content:""}.bp3-icon-euro:before{content:"€"}.bp3-icon-exchange:before{content:""}.bp3-icon-exclude-row:before{content:""}.bp3-icon-expand-all:before{content:""}.bp3-icon-export:before{content:""}.bp3-icon-eye-off:before{content:""}.bp3-icon-eye-on:before{content:""}.bp3-icon-eye-open:before{content:""}.bp3-icon-fast-backward:before{content:""}.bp3-icon-fast-forward:before{content:""}.bp3-icon-feed:before{content:""}.bp3-icon-feed-subscribed:before{content:""}.bp3-icon-film:before{content:""}.bp3-icon-filter:before{content:""}.bp3-icon-filter-keep:before{content:""}.bp3-icon-filter-list:before{content:""}.bp3-icon-filter-open:before{content:""}.bp3-icon-filter-remove:before{content:""}.bp3-icon-flag:before{content:"⚑"}.bp3-icon-flame:before{content:""}.bp3-icon-flash:before{content:""}.bp3-icon-floppy-disk:before{content:""}.bp3-icon-flow-branch:before{content:""}.bp3-icon-flow-end:before{content:""}.bp3-icon-flow-linear:before{content:""}.bp3-icon-flow-review:before{content:""}.bp3-icon-flow-review-branch:before{content:""}.bp3-icon-flows:before{content:""}.bp3-icon-folder-close:before{content:""}.bp3-icon-folder-new:before{content:""}.bp3-icon-folder-open:before{content:""}.bp3-icon-folder-shared:before{content:""}.bp3-icon-folder-shared-open:before{content:""}.bp3-icon-follower:before{content:""}.bp3-icon-following:before{content:""}.bp3-icon-font:before{content:""}.bp3-icon-fork:before{content:""}.bp3-icon-form:before{content:""}.bp3-icon-full-circle:before{content:""}.bp3-icon-full-stacked-chart:before{content:""}.bp3-icon-fullscreen:before{content:""}.bp3-icon-function:before{content:""}.bp3-icon-gantt-chart:before{content:""}.bp3-icon-geolocation:before{content:""}.bp3-icon-geosearch:before{content:""}.bp3-icon-git-branch:before{content:""}.bp3-icon-git-commit:before{content:""}.bp3-icon-git-merge:before{content:""}.bp3-icon-git-new-branch:before{content:""}.bp3-icon-git-pull:before{content:""}.bp3-icon-git-push:before{content:""}.bp3-icon-git-repo:before{content:""}.bp3-icon-glass:before{content:""}.bp3-icon-globe:before{content:""}.bp3-icon-globe-network:before{content:""}.bp3-icon-graph:before{content:""}.bp3-icon-graph-remove:before{content:""}.bp3-icon-greater-than:before{content:""}.bp3-icon-greater-than-or-equal-to:before{content:""}.bp3-icon-grid:before{content:""}.bp3-icon-grid-view:before{content:""}.bp3-icon-group-objects:before{content:""}.bp3-icon-grouped-bar-chart:before{content:""}.bp3-icon-hand:before{content:""}.bp3-icon-hand-down:before{content:""}.bp3-icon-hand-left:before{content:""}.bp3-icon-hand-right:before{content:""}.bp3-icon-hand-up:before{content:""}.bp3-icon-header:before{content:""}.bp3-icon-header-one:before{content:""}.bp3-icon-header-two:before{content:""}.bp3-icon-headset:before{content:""}.bp3-icon-heart:before{content:"♥"}.bp3-icon-heart-broken:before{content:""}.bp3-icon-heat-grid:before{content:""}.bp3-icon-heatmap:before{content:""}.bp3-icon-help:before{content:"?"}.bp3-icon-helper-management:before{content:""}.bp3-icon-highlight:before{content:""}.bp3-icon-history:before{content:""}.bp3-icon-home:before{content:"⌂"}.bp3-icon-horizontal-bar-chart:before{content:""}.bp3-icon-horizontal-bar-chart-asc:before{content:""}.bp3-icon-horizontal-bar-chart-desc:before{content:""}.bp3-icon-horizontal-distribution:before{content:""}.bp3-icon-id-number:before{content:""}.bp3-icon-image-rotate-left:before{content:""}.bp3-icon-image-rotate-right:before{content:""}.bp3-icon-import:before{content:""}.bp3-icon-inbox:before{content:""}.bp3-icon-inbox-filtered:before{content:""}.bp3-icon-inbox-geo:before{content:""}.bp3-icon-inbox-search:before{content:""}.bp3-icon-inbox-update:before{content:""}.bp3-icon-info-sign:before{content:"ℹ"}.bp3-icon-inheritance:before{content:""}.bp3-icon-inner-join:before{content:""}.bp3-icon-insert:before{content:""}.bp3-icon-intersection:before{content:""}.bp3-icon-ip-address:before{content:""}.bp3-icon-issue:before{content:""}.bp3-icon-issue-closed:before{content:""}.bp3-icon-issue-new:before{content:""}.bp3-icon-italic:before{content:""}.bp3-icon-join-table:before{content:""}.bp3-icon-key:before{content:""}.bp3-icon-key-backspace:before{content:""}.bp3-icon-key-command:before{content:""}.bp3-icon-key-control:before{content:""}.bp3-icon-key-delete:before{content:""}.bp3-icon-key-enter:before{content:""}.bp3-icon-key-escape:before{content:""}.bp3-icon-key-option:before{content:""}.bp3-icon-key-shift:before{content:""}.bp3-icon-key-tab:before{content:""}.bp3-icon-known-vehicle:before{content:""}.bp3-icon-lab-test:before{content:""}.bp3-icon-label:before{content:""}.bp3-icon-layer:before{content:""}.bp3-icon-layers:before{content:""}.bp3-icon-layout:before{content:""}.bp3-icon-layout-auto:before{content:""}.bp3-icon-layout-balloon:before{content:""}.bp3-icon-layout-circle:before{content:""}.bp3-icon-layout-grid:before{content:""}.bp3-icon-layout-group-by:before{content:""}.bp3-icon-layout-hierarchy:before{content:""}.bp3-icon-layout-linear:before{content:""}.bp3-icon-layout-skew-grid:before{content:""}.bp3-icon-layout-sorted-clusters:before{content:""}.bp3-icon-learning:before{content:""}.bp3-icon-left-join:before{content:""}.bp3-icon-less-than:before{content:""}.bp3-icon-less-than-or-equal-to:before{content:""}.bp3-icon-lifesaver:before{content:""}.bp3-icon-lightbulb:before{content:""}.bp3-icon-link:before{content:""}.bp3-icon-list:before{content:"☰"}.bp3-icon-list-columns:before{content:""}.bp3-icon-list-detail-view:before{content:""}.bp3-icon-locate:before{content:""}.bp3-icon-lock:before{content:""}.bp3-icon-log-in:before{content:""}.bp3-icon-log-out:before{content:""}.bp3-icon-manual:before{content:""}.bp3-icon-manually-entered-data:before{content:""}.bp3-icon-map:before{content:""}.bp3-icon-map-create:before{content:""}.bp3-icon-map-marker:before{content:""}.bp3-icon-maximize:before{content:""}.bp3-icon-media:before{content:""}.bp3-icon-menu:before{content:""}.bp3-icon-menu-closed:before{content:""}.bp3-icon-menu-open:before{content:""}.bp3-icon-merge-columns:before{content:""}.bp3-icon-merge-links:before{content:""}.bp3-icon-minimize:before{content:""}.bp3-icon-minus:before{content:"−"}.bp3-icon-mobile-phone:before{content:""}.bp3-icon-mobile-video:before{content:""}.bp3-icon-moon:before{content:""}.bp3-icon-more:before{content:""}.bp3-icon-mountain:before{content:""}.bp3-icon-move:before{content:""}.bp3-icon-mugshot:before{content:""}.bp3-icon-multi-select:before{content:""}.bp3-icon-music:before{content:""}.bp3-icon-new-drawing:before{content:""}.bp3-icon-new-grid-item:before{content:""}.bp3-icon-new-layer:before{content:""}.bp3-icon-new-layers:before{content:""}.bp3-icon-new-link:before{content:""}.bp3-icon-new-object:before{content:""}.bp3-icon-new-person:before{content:""}.bp3-icon-new-prescription:before{content:""}.bp3-icon-new-text-box:before{content:""}.bp3-icon-ninja:before{content:""}.bp3-icon-not-equal-to:before{content:""}.bp3-icon-notifications:before{content:""}.bp3-icon-notifications-updated:before{content:""}.bp3-icon-numbered-list:before{content:""}.bp3-icon-numerical:before{content:""}.bp3-icon-office:before{content:""}.bp3-icon-offline:before{content:""}.bp3-icon-oil-field:before{content:""}.bp3-icon-one-column:before{content:""}.bp3-icon-outdated:before{content:""}.bp3-icon-page-layout:before{content:""}.bp3-icon-panel-stats:before{content:""}.bp3-icon-panel-table:before{content:""}.bp3-icon-paperclip:before{content:""}.bp3-icon-paragraph:before{content:""}.bp3-icon-path:before{content:""}.bp3-icon-path-search:before{content:""}.bp3-icon-pause:before{content:""}.bp3-icon-people:before{content:""}.bp3-icon-percentage:before{content:""}.bp3-icon-person:before{content:""}.bp3-icon-phone:before{content:"☎"}.bp3-icon-pie-chart:before{content:""}.bp3-icon-pin:before{content:""}.bp3-icon-pivot:before{content:""}.bp3-icon-pivot-table:before{content:""}.bp3-icon-play:before{content:""}.bp3-icon-plus:before{content:"+"}.bp3-icon-polygon-filter:before{content:""}.bp3-icon-power:before{content:""}.bp3-icon-predictive-analysis:before{content:""}.bp3-icon-prescription:before{content:""}.bp3-icon-presentation:before{content:""}.bp3-icon-print:before{content:"⎙"}.bp3-icon-projects:before{content:""}.bp3-icon-properties:before{content:""}.bp3-icon-property:before{content:""}.bp3-icon-publish-function:before{content:""}.bp3-icon-pulse:before{content:""}.bp3-icon-random:before{content:""}.bp3-icon-record:before{content:""}.bp3-icon-redo:before{content:""}.bp3-icon-refresh:before{content:""}.bp3-icon-regression-chart:before{content:""}.bp3-icon-remove:before{content:""}.bp3-icon-remove-column:before{content:""}.bp3-icon-remove-column-left:before{content:""}.bp3-icon-remove-column-right:before{content:""}.bp3-icon-remove-row-bottom:before{content:""}.bp3-icon-remove-row-top:before{content:""}.bp3-icon-repeat:before{content:""}.bp3-icon-reset:before{content:""}.bp3-icon-resolve:before{content:""}.bp3-icon-rig:before{content:""}.bp3-icon-right-join:before{content:""}.bp3-icon-ring:before{content:""}.bp3-icon-rotate-document:before{content:""}.bp3-icon-rotate-page:before{content:""}.bp3-icon-satellite:before{content:""}.bp3-icon-saved:before{content:""}.bp3-icon-scatter-plot:before{content:""}.bp3-icon-search:before{content:""}.bp3-icon-search-around:before{content:""}.bp3-icon-search-template:before{content:""}.bp3-icon-search-text:before{content:""}.bp3-icon-segmented-control:before{content:""}.bp3-icon-select:before{content:""}.bp3-icon-selection:before{content:"⦿"}.bp3-icon-send-to:before{content:""}.bp3-icon-send-to-graph:before{content:""}.bp3-icon-send-to-map:before{content:""}.bp3-icon-series-add:before{content:""}.bp3-icon-series-configuration:before{content:""}.bp3-icon-series-derived:before{content:""}.bp3-icon-series-filtered:before{content:""}.bp3-icon-series-search:before{content:""}.bp3-icon-settings:before{content:""}.bp3-icon-share:before{content:""}.bp3-icon-shield:before{content:""}.bp3-icon-shop:before{content:""}.bp3-icon-shopping-cart:before{content:""}.bp3-icon-signal-search:before{content:""}.bp3-icon-sim-card:before{content:""}.bp3-icon-slash:before{content:""}.bp3-icon-small-cross:before{content:""}.bp3-icon-small-minus:before{content:""}.bp3-icon-small-plus:before{content:""}.bp3-icon-small-tick:before{content:""}.bp3-icon-snowflake:before{content:""}.bp3-icon-social-media:before{content:""}.bp3-icon-sort:before{content:""}.bp3-icon-sort-alphabetical:before{content:""}.bp3-icon-sort-alphabetical-desc:before{content:""}.bp3-icon-sort-asc:before{content:""}.bp3-icon-sort-desc:before{content:""}.bp3-icon-sort-numerical:before{content:""}.bp3-icon-sort-numerical-desc:before{content:""}.bp3-icon-split-columns:before{content:""}.bp3-icon-square:before{content:""}.bp3-icon-stacked-chart:before{content:""}.bp3-icon-star:before{content:"★"}.bp3-icon-star-empty:before{content:"☆"}.bp3-icon-step-backward:before{content:""}.bp3-icon-step-chart:before{content:""}.bp3-icon-step-forward:before{content:""}.bp3-icon-stop:before{content:""}.bp3-icon-stopwatch:before{content:""}.bp3-icon-strikethrough:before{content:""}.bp3-icon-style:before{content:""}.bp3-icon-swap-horizontal:before{content:""}.bp3-icon-swap-vertical:before{content:""}.bp3-icon-symbol-circle:before{content:""}.bp3-icon-symbol-cross:before{content:""}.bp3-icon-symbol-diamond:before{content:""}.bp3-icon-symbol-square:before{content:""}.bp3-icon-symbol-triangle-down:before{content:""}.bp3-icon-symbol-triangle-up:before{content:""}.bp3-icon-tag:before{content:""}.bp3-icon-take-action:before{content:""}.bp3-icon-taxi:before{content:""}.bp3-icon-text-highlight:before{content:""}.bp3-icon-th:before{content:""}.bp3-icon-th-derived:before{content:""}.bp3-icon-th-disconnect:before{content:""}.bp3-icon-th-filtered:before{content:""}.bp3-icon-th-list:before{content:""}.bp3-icon-thumbs-down:before{content:""}.bp3-icon-thumbs-up:before{content:""}.bp3-icon-tick:before{content:"✓"}.bp3-icon-tick-circle:before{content:""}.bp3-icon-time:before{content:"⏲"}.bp3-icon-timeline-area-chart:before{content:""}.bp3-icon-timeline-bar-chart:before{content:""}.bp3-icon-timeline-events:before{content:""}.bp3-icon-timeline-line-chart:before{content:""}.bp3-icon-tint:before{content:""}.bp3-icon-torch:before{content:""}.bp3-icon-tractor:before{content:""}.bp3-icon-train:before{content:""}.bp3-icon-translate:before{content:""}.bp3-icon-trash:before{content:""}.bp3-icon-tree:before{content:""}.bp3-icon-trending-down:before{content:""}.bp3-icon-trending-up:before{content:""}.bp3-icon-truck:before{content:""}.bp3-icon-two-columns:before{content:""}.bp3-icon-unarchive:before{content:""}.bp3-icon-underline:before{content:"⎁"}.bp3-icon-undo:before{content:"⎌"}.bp3-icon-ungroup-objects:before{content:""}.bp3-icon-unknown-vehicle:before{content:""}.bp3-icon-unlock:before{content:""}.bp3-icon-unpin:before{content:""}.bp3-icon-unresolve:before{content:""}.bp3-icon-updated:before{content:""}.bp3-icon-upload:before{content:""}.bp3-icon-user:before{content:""}.bp3-icon-variable:before{content:""}.bp3-icon-vertical-bar-chart-asc:before{content:""}.bp3-icon-vertical-bar-chart-desc:before{content:""}.bp3-icon-vertical-distribution:before{content:""}.bp3-icon-video:before{content:""}.bp3-icon-volume-down:before{content:""}.bp3-icon-volume-off:before{content:""}.bp3-icon-volume-up:before{content:""}.bp3-icon-walk:before{content:""}.bp3-icon-warning-sign:before{content:""}.bp3-icon-waterfall-chart:before{content:""}.bp3-icon-widget:before{content:""}.bp3-icon-widget-button:before{content:""}.bp3-icon-widget-footer:before{content:""}.bp3-icon-widget-header:before{content:""}.bp3-icon-wrench:before{content:""}.bp3-icon-zoom-in:before{content:""}.bp3-icon-zoom-out:before{content:""}.bp3-icon-zoom-to-fit:before{content:""}.bp3-submenu .bp3-popover-target,.bp3-submenu>.bp3-popover-wrapper{display:block}.bp3-submenu.bp3-popover{box-shadow:none;padding:0 5px}.bp3-submenu.bp3-popover>.bp3-popover-content{box-shadow:0 0 0 1px rgba(16,22,26,.1),0 2px 4px rgba(16,22,26,.2),0 8px 24px rgba(16,22,26,.2)}.bp3-dark .bp3-submenu.bp3-popover,.bp3-submenu.bp3-popover.bp3-dark{box-shadow:none}.bp3-dark .bp3-submenu.bp3-popover>.bp3-popover-content,.bp3-submenu.bp3-popover.bp3-dark>.bp3-popover-content{box-shadow:0 0 0 1px rgba(16,22,26,.2),0 2px 4px rgba(16,22,26,.4),0 8px 24px rgba(16,22,26,.4)}.bp3-menu{background:#fff;border-radius:3px;color:#182026;list-style:none;margin:0;min-width:180px;padding:5px;text-align:left}.bp3-menu-divider{border-top:1px solid rgba(16,22,26,.15);display:block;margin:5px}.bp3-dark .bp3-menu-divider{border-top-color:hsla(0,0%,100%,.15)}.bp3-menu-item{align-items:flex-start;border-radius:2px;color:inherit;display:flex;flex-direction:row;line-height:20px;padding:5px 7px;text-decoration:none;-webkit-user-select:none;user-select:none}.bp3-menu-item>*{flex-grow:0;flex-shrink:0}.bp3-menu-item>.bp3-fill{flex-grow:1;flex-shrink:1}.bp3-menu-item:before,.bp3-menu-item>*{margin-right:7px}.bp3-menu-item:empty:before,.bp3-menu-item>:last-child{margin-right:0}.bp3-menu-item>.bp3-fill{word-break:break-word}.bp3-menu-item:hover,.bp3-submenu .bp3-popover-target.bp3-popover-open>.bp3-menu-item{background-color:rgba(167,182,194,.3);cursor:pointer;text-decoration:none}.bp3-menu-item.bp3-disabled{background-color:inherit;color:rgba(92,112,128,.6);cursor:not-allowed}.bp3-dark .bp3-menu-item{color:inherit}.bp3-dark .bp3-menu-item:hover,.bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open>.bp3-menu-item,.bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open>.bp3-menu-item{background-color:rgba(138,155,168,.15);color:inherit}.bp3-dark .bp3-menu-item.bp3-disabled{background-color:inherit;color:rgba(167,182,194,.6)}.bp3-menu-item.bp3-intent-primary{color:#106ba3}.bp3-menu-item.bp3-intent-primary .bp3-icon{color:inherit}.bp3-menu-item.bp3-intent-primary .bp3-menu-item-label,.bp3-menu-item.bp3-intent-primary:after,.bp3-menu-item.bp3-intent-primary:before{color:#106ba3}.bp3-menu-item.bp3-intent-primary.bp3-active,.bp3-menu-item.bp3-intent-primary:hover,.bp3-submenu .bp3-popover-target.bp3-popover-open>.bp3-intent-primary.bp3-menu-item{background-color:#137cbd}.bp3-menu-item.bp3-intent-primary:active{background-color:#106ba3}.bp3-menu-item.bp3-intent-primary.bp3-active,.bp3-menu-item.bp3-intent-primary.bp3-active .bp3-menu-item-label,.bp3-menu-item.bp3-intent-primary.bp3-active:after,.bp3-menu-item.bp3-intent-primary.bp3-active:before,.bp3-menu-item.bp3-intent-primary:active,.bp3-menu-item.bp3-intent-primary:active .bp3-menu-item-label,.bp3-menu-item.bp3-intent-primary:active:after,.bp3-menu-item.bp3-intent-primary:active:before,.bp3-menu-item.bp3-intent-primary:hover,.bp3-menu-item.bp3-intent-primary:hover .bp3-menu-item-label,.bp3-menu-item.bp3-intent-primary:hover:after,.bp3-menu-item.bp3-intent-primary:hover:before,.bp3-submenu .bp3-popover-target.bp3-popover-open>.bp3-intent-primary.bp3-menu-item,.bp3-submenu .bp3-popover-target.bp3-popover-open>.bp3-intent-primary.bp3-menu-item .bp3-menu-item-label,.bp3-submenu .bp3-popover-target.bp3-popover-open>.bp3-intent-primary.bp3-menu-item:after,.bp3-submenu .bp3-popover-target.bp3-popover-open>.bp3-intent-primary.bp3-menu-item:before{color:#fff}.bp3-menu-item.bp3-intent-success{color:#0d8050}.bp3-menu-item.bp3-intent-success .bp3-icon{color:inherit}.bp3-menu-item.bp3-intent-success .bp3-menu-item-label,.bp3-menu-item.bp3-intent-success:after,.bp3-menu-item.bp3-intent-success:before{color:#0d8050}.bp3-menu-item.bp3-intent-success.bp3-active,.bp3-menu-item.bp3-intent-success:hover,.bp3-submenu .bp3-popover-target.bp3-popover-open>.bp3-intent-success.bp3-menu-item{background-color:#0f9960}.bp3-menu-item.bp3-intent-success:active{background-color:#0d8050}.bp3-menu-item.bp3-intent-success.bp3-active,.bp3-menu-item.bp3-intent-success.bp3-active .bp3-menu-item-label,.bp3-menu-item.bp3-intent-success.bp3-active:after,.bp3-menu-item.bp3-intent-success.bp3-active:before,.bp3-menu-item.bp3-intent-success:active,.bp3-menu-item.bp3-intent-success:active .bp3-menu-item-label,.bp3-menu-item.bp3-intent-success:active:after,.bp3-menu-item.bp3-intent-success:active:before,.bp3-menu-item.bp3-intent-success:hover,.bp3-menu-item.bp3-intent-success:hover .bp3-menu-item-label,.bp3-menu-item.bp3-intent-success:hover:after,.bp3-menu-item.bp3-intent-success:hover:before,.bp3-submenu .bp3-popover-target.bp3-popover-open>.bp3-intent-success.bp3-menu-item,.bp3-submenu .bp3-popover-target.bp3-popover-open>.bp3-intent-success.bp3-menu-item .bp3-menu-item-label,.bp3-submenu .bp3-popover-target.bp3-popover-open>.bp3-intent-success.bp3-menu-item:after,.bp3-submenu .bp3-popover-target.bp3-popover-open>.bp3-intent-success.bp3-menu-item:before{color:#fff}.bp3-menu-item.bp3-intent-warning{color:#bf7326}.bp3-menu-item.bp3-intent-warning .bp3-icon{color:inherit}.bp3-menu-item.bp3-intent-warning .bp3-menu-item-label,.bp3-menu-item.bp3-intent-warning:after,.bp3-menu-item.bp3-intent-warning:before{color:#bf7326}.bp3-menu-item.bp3-intent-warning.bp3-active,.bp3-menu-item.bp3-intent-warning:hover,.bp3-submenu .bp3-popover-target.bp3-popover-open>.bp3-intent-warning.bp3-menu-item{background-color:#d9822b}.bp3-menu-item.bp3-intent-warning:active{background-color:#bf7326}.bp3-menu-item.bp3-intent-warning.bp3-active,.bp3-menu-item.bp3-intent-warning.bp3-active .bp3-menu-item-label,.bp3-menu-item.bp3-intent-warning.bp3-active:after,.bp3-menu-item.bp3-intent-warning.bp3-active:before,.bp3-menu-item.bp3-intent-warning:active,.bp3-menu-item.bp3-intent-warning:active .bp3-menu-item-label,.bp3-menu-item.bp3-intent-warning:active:after,.bp3-menu-item.bp3-intent-warning:active:before,.bp3-menu-item.bp3-intent-warning:hover,.bp3-menu-item.bp3-intent-warning:hover .bp3-menu-item-label,.bp3-menu-item.bp3-intent-warning:hover:after,.bp3-menu-item.bp3-intent-warning:hover:before,.bp3-submenu .bp3-popover-target.bp3-popover-open>.bp3-intent-warning.bp3-menu-item,.bp3-submenu .bp3-popover-target.bp3-popover-open>.bp3-intent-warning.bp3-menu-item .bp3-menu-item-label,.bp3-submenu .bp3-popover-target.bp3-popover-open>.bp3-intent-warning.bp3-menu-item:after,.bp3-submenu .bp3-popover-target.bp3-popover-open>.bp3-intent-warning.bp3-menu-item:before{color:#fff}.bp3-menu-item.bp3-intent-danger{color:#c23030}.bp3-menu-item.bp3-intent-danger .bp3-icon{color:inherit}.bp3-menu-item.bp3-intent-danger .bp3-menu-item-label,.bp3-menu-item.bp3-intent-danger:after,.bp3-menu-item.bp3-intent-danger:before{color:#c23030}.bp3-menu-item.bp3-intent-danger.bp3-active,.bp3-menu-item.bp3-intent-danger:hover,.bp3-submenu .bp3-popover-target.bp3-popover-open>.bp3-intent-danger.bp3-menu-item{background-color:#db3737}.bp3-menu-item.bp3-intent-danger:active{background-color:#c23030}.bp3-menu-item.bp3-intent-danger.bp3-active,.bp3-menu-item.bp3-intent-danger.bp3-active .bp3-menu-item-label,.bp3-menu-item.bp3-intent-danger.bp3-active:after,.bp3-menu-item.bp3-intent-danger.bp3-active:before,.bp3-menu-item.bp3-intent-danger:active,.bp3-menu-item.bp3-intent-danger:active .bp3-menu-item-label,.bp3-menu-item.bp3-intent-danger:active:after,.bp3-menu-item.bp3-intent-danger:active:before,.bp3-menu-item.bp3-intent-danger:hover,.bp3-menu-item.bp3-intent-danger:hover .bp3-menu-item-label,.bp3-menu-item.bp3-intent-danger:hover:after,.bp3-menu-item.bp3-intent-danger:hover:before,.bp3-submenu .bp3-popover-target.bp3-popover-open>.bp3-intent-danger.bp3-menu-item,.bp3-submenu .bp3-popover-target.bp3-popover-open>.bp3-intent-danger.bp3-menu-item .bp3-menu-item-label,.bp3-submenu .bp3-popover-target.bp3-popover-open>.bp3-intent-danger.bp3-menu-item:after,.bp3-submenu .bp3-popover-target.bp3-popover-open>.bp3-intent-danger.bp3-menu-item:before{color:#fff}.bp3-menu-item:before{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Icons16,sans-serif;font-size:16px;font-style:normal;font-weight:400;line-height:1;margin-right:7px}.bp3-menu-item:before,.bp3-menu-item>.bp3-icon{color:#5c7080;margin-top:2px}.bp3-menu-item .bp3-menu-item-label{color:#5c7080}.bp3-menu-item:hover,.bp3-submenu .bp3-popover-target.bp3-popover-open>.bp3-menu-item{color:inherit}.bp3-menu-item.bp3-active,.bp3-menu-item:active{background-color:rgba(115,134,148,.3)}.bp3-menu-item.bp3-disabled{background-color:inherit!important;cursor:not-allowed!important;outline:none!important}.bp3-menu-item.bp3-disabled,.bp3-menu-item.bp3-disabled .bp3-menu-item-label,.bp3-menu-item.bp3-disabled:before,.bp3-menu-item.bp3-disabled>.bp3-icon{color:rgba(92,112,128,.6)!important}.bp3-large .bp3-menu-item{font-size:16px;line-height:22px;padding:9px 7px}.bp3-large .bp3-menu-item .bp3-icon{margin-top:3px}.bp3-large .bp3-menu-item:before{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Icons20,sans-serif;font-size:20px;font-style:normal;font-weight:400;line-height:1;margin-right:10px;margin-top:1px}button.bp3-menu-item{background:none;border:none;text-align:left;width:100%}.bp3-menu-header{border-top:1px solid rgba(16,22,26,.15);cursor:default;display:block;margin:5px;padding-left:2px}.bp3-dark .bp3-menu-header{border-top-color:hsla(0,0%,100%,.15)}.bp3-menu-header:first-of-type{border-top:none}.bp3-menu-header>h6{word-wrap:normal;color:#182026;font-weight:600;line-height:17px;margin:0;overflow:hidden;padding:10px 7px 0 1px;text-overflow:ellipsis;white-space:nowrap}.bp3-menu-header:first-of-type>h6{padding-top:0}.bp3-large .bp3-menu-header>h6{font-size:18px;padding-bottom:5px;padding-top:15px}.bp3-large .bp3-menu-header:first-of-type>h6{padding-top:0}.bp3-dark .bp3-menu{background:#30404d;color:#f5f8fa}.bp3-dark .bp3-menu-item.bp3-intent-primary{color:#48aff0}.bp3-dark .bp3-menu-item.bp3-intent-primary .bp3-icon{color:inherit}.bp3-dark .bp3-menu-item.bp3-intent-primary .bp3-menu-item-label,.bp3-dark .bp3-menu-item.bp3-intent-primary:after,.bp3-dark .bp3-menu-item.bp3-intent-primary:before{color:#48aff0}.bp3-dark .bp3-menu-item.bp3-intent-primary.bp3-active,.bp3-dark .bp3-menu-item.bp3-intent-primary:hover,.bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open>.bp3-intent-primary.bp3-menu-item,.bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open>.bp3-intent-primary.bp3-menu-item{background-color:#137cbd}.bp3-dark .bp3-menu-item.bp3-intent-primary:active{background-color:#106ba3}.bp3-dark .bp3-menu-item.bp3-intent-primary.bp3-active,.bp3-dark .bp3-menu-item.bp3-intent-primary.bp3-active .bp3-menu-item-label,.bp3-dark .bp3-menu-item.bp3-intent-primary.bp3-active:after,.bp3-dark .bp3-menu-item.bp3-intent-primary.bp3-active:before,.bp3-dark .bp3-menu-item.bp3-intent-primary:active,.bp3-dark .bp3-menu-item.bp3-intent-primary:active .bp3-menu-item-label,.bp3-dark .bp3-menu-item.bp3-intent-primary:active:after,.bp3-dark .bp3-menu-item.bp3-intent-primary:active:before,.bp3-dark .bp3-menu-item.bp3-intent-primary:hover,.bp3-dark .bp3-menu-item.bp3-intent-primary:hover .bp3-menu-item-label,.bp3-dark .bp3-menu-item.bp3-intent-primary:hover:after,.bp3-dark .bp3-menu-item.bp3-intent-primary:hover:before,.bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open>.bp3-intent-primary.bp3-menu-item,.bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open>.bp3-intent-primary.bp3-menu-item .bp3-menu-item-label,.bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open>.bp3-intent-primary.bp3-menu-item:after,.bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open>.bp3-intent-primary.bp3-menu-item:before,.bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open>.bp3-intent-primary.bp3-menu-item,.bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open>.bp3-intent-primary.bp3-menu-item .bp3-menu-item-label,.bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open>.bp3-intent-primary.bp3-menu-item:after,.bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open>.bp3-intent-primary.bp3-menu-item:before{color:#fff}.bp3-dark .bp3-menu-item.bp3-intent-success{color:#3dcc91}.bp3-dark .bp3-menu-item.bp3-intent-success .bp3-icon{color:inherit}.bp3-dark .bp3-menu-item.bp3-intent-success .bp3-menu-item-label,.bp3-dark .bp3-menu-item.bp3-intent-success:after,.bp3-dark .bp3-menu-item.bp3-intent-success:before{color:#3dcc91}.bp3-dark .bp3-menu-item.bp3-intent-success.bp3-active,.bp3-dark .bp3-menu-item.bp3-intent-success:hover,.bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open>.bp3-intent-success.bp3-menu-item,.bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open>.bp3-intent-success.bp3-menu-item{background-color:#0f9960}.bp3-dark .bp3-menu-item.bp3-intent-success:active{background-color:#0d8050}.bp3-dark .bp3-menu-item.bp3-intent-success.bp3-active,.bp3-dark .bp3-menu-item.bp3-intent-success.bp3-active .bp3-menu-item-label,.bp3-dark .bp3-menu-item.bp3-intent-success.bp3-active:after,.bp3-dark .bp3-menu-item.bp3-intent-success.bp3-active:before,.bp3-dark .bp3-menu-item.bp3-intent-success:active,.bp3-dark .bp3-menu-item.bp3-intent-success:active .bp3-menu-item-label,.bp3-dark .bp3-menu-item.bp3-intent-success:active:after,.bp3-dark .bp3-menu-item.bp3-intent-success:active:before,.bp3-dark .bp3-menu-item.bp3-intent-success:hover,.bp3-dark .bp3-menu-item.bp3-intent-success:hover .bp3-menu-item-label,.bp3-dark .bp3-menu-item.bp3-intent-success:hover:after,.bp3-dark .bp3-menu-item.bp3-intent-success:hover:before,.bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open>.bp3-intent-success.bp3-menu-item,.bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open>.bp3-intent-success.bp3-menu-item .bp3-menu-item-label,.bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open>.bp3-intent-success.bp3-menu-item:after,.bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open>.bp3-intent-success.bp3-menu-item:before,.bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open>.bp3-intent-success.bp3-menu-item,.bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open>.bp3-intent-success.bp3-menu-item .bp3-menu-item-label,.bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open>.bp3-intent-success.bp3-menu-item:after,.bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open>.bp3-intent-success.bp3-menu-item:before{color:#fff}.bp3-dark .bp3-menu-item.bp3-intent-warning{color:#ffb366}.bp3-dark .bp3-menu-item.bp3-intent-warning .bp3-icon{color:inherit}.bp3-dark .bp3-menu-item.bp3-intent-warning .bp3-menu-item-label,.bp3-dark .bp3-menu-item.bp3-intent-warning:after,.bp3-dark .bp3-menu-item.bp3-intent-warning:before{color:#ffb366}.bp3-dark .bp3-menu-item.bp3-intent-warning.bp3-active,.bp3-dark .bp3-menu-item.bp3-intent-warning:hover,.bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open>.bp3-intent-warning.bp3-menu-item,.bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open>.bp3-intent-warning.bp3-menu-item{background-color:#d9822b}.bp3-dark .bp3-menu-item.bp3-intent-warning:active{background-color:#bf7326}.bp3-dark .bp3-menu-item.bp3-intent-warning.bp3-active,.bp3-dark .bp3-menu-item.bp3-intent-warning.bp3-active .bp3-menu-item-label,.bp3-dark .bp3-menu-item.bp3-intent-warning.bp3-active:after,.bp3-dark .bp3-menu-item.bp3-intent-warning.bp3-active:before,.bp3-dark .bp3-menu-item.bp3-intent-warning:active,.bp3-dark .bp3-menu-item.bp3-intent-warning:active .bp3-menu-item-label,.bp3-dark .bp3-menu-item.bp3-intent-warning:active:after,.bp3-dark .bp3-menu-item.bp3-intent-warning:active:before,.bp3-dark .bp3-menu-item.bp3-intent-warning:hover,.bp3-dark .bp3-menu-item.bp3-intent-warning:hover .bp3-menu-item-label,.bp3-dark .bp3-menu-item.bp3-intent-warning:hover:after,.bp3-dark .bp3-menu-item.bp3-intent-warning:hover:before,.bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open>.bp3-intent-warning.bp3-menu-item,.bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open>.bp3-intent-warning.bp3-menu-item .bp3-menu-item-label,.bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open>.bp3-intent-warning.bp3-menu-item:after,.bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open>.bp3-intent-warning.bp3-menu-item:before,.bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open>.bp3-intent-warning.bp3-menu-item,.bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open>.bp3-intent-warning.bp3-menu-item .bp3-menu-item-label,.bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open>.bp3-intent-warning.bp3-menu-item:after,.bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open>.bp3-intent-warning.bp3-menu-item:before{color:#fff}.bp3-dark .bp3-menu-item.bp3-intent-danger{color:#ff7373}.bp3-dark .bp3-menu-item.bp3-intent-danger .bp3-icon{color:inherit}.bp3-dark .bp3-menu-item.bp3-intent-danger .bp3-menu-item-label,.bp3-dark .bp3-menu-item.bp3-intent-danger:after,.bp3-dark .bp3-menu-item.bp3-intent-danger:before{color:#ff7373}.bp3-dark .bp3-menu-item.bp3-intent-danger.bp3-active,.bp3-dark .bp3-menu-item.bp3-intent-danger:hover,.bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open>.bp3-intent-danger.bp3-menu-item,.bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open>.bp3-intent-danger.bp3-menu-item{background-color:#db3737}.bp3-dark .bp3-menu-item.bp3-intent-danger:active{background-color:#c23030}.bp3-dark .bp3-menu-item.bp3-intent-danger.bp3-active,.bp3-dark .bp3-menu-item.bp3-intent-danger.bp3-active .bp3-menu-item-label,.bp3-dark .bp3-menu-item.bp3-intent-danger.bp3-active:after,.bp3-dark .bp3-menu-item.bp3-intent-danger.bp3-active:before,.bp3-dark .bp3-menu-item.bp3-intent-danger:active,.bp3-dark .bp3-menu-item.bp3-intent-danger:active .bp3-menu-item-label,.bp3-dark .bp3-menu-item.bp3-intent-danger:active:after,.bp3-dark .bp3-menu-item.bp3-intent-danger:active:before,.bp3-dark .bp3-menu-item.bp3-intent-danger:hover,.bp3-dark .bp3-menu-item.bp3-intent-danger:hover .bp3-menu-item-label,.bp3-dark .bp3-menu-item.bp3-intent-danger:hover:after,.bp3-dark .bp3-menu-item.bp3-intent-danger:hover:before,.bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open>.bp3-intent-danger.bp3-menu-item,.bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open>.bp3-intent-danger.bp3-menu-item .bp3-menu-item-label,.bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open>.bp3-intent-danger.bp3-menu-item:after,.bp3-dark .bp3-submenu .bp3-popover-target.bp3-popover-open>.bp3-intent-danger.bp3-menu-item:before,.bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open>.bp3-intent-danger.bp3-menu-item,.bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open>.bp3-intent-danger.bp3-menu-item .bp3-menu-item-label,.bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open>.bp3-intent-danger.bp3-menu-item:after,.bp3-submenu .bp3-dark .bp3-popover-target.bp3-popover-open>.bp3-intent-danger.bp3-menu-item:before{color:#fff}.bp3-dark .bp3-menu-item .bp3-menu-item-label,.bp3-dark .bp3-menu-item:before,.bp3-dark .bp3-menu-item>.bp3-icon{color:#a7b6c2}.bp3-dark .bp3-menu-item.bp3-active,.bp3-dark .bp3-menu-item:active{background-color:rgba(138,155,168,.3)}.bp3-dark .bp3-menu-item.bp3-disabled,.bp3-dark .bp3-menu-item.bp3-disabled .bp3-menu-item-label,.bp3-dark .bp3-menu-item.bp3-disabled:before,.bp3-dark .bp3-menu-item.bp3-disabled>.bp3-icon{color:rgba(167,182,194,.6)!important}.bp3-dark .bp3-menu-divider,.bp3-dark .bp3-menu-header{border-color:hsla(0,0%,100%,.15)}.bp3-dark .bp3-menu-header>h6{color:#f5f8fa}.bp3-label .bp3-menu{margin-top:5px}.bp3-navbar{background-color:#fff;box-shadow:0 0 0 1px rgba(16,22,26,.1),0 0 0 rgba(16,22,26,0),0 1px 1px rgba(16,22,26,.2);height:50px;padding:0 15px;position:relative;width:100%;z-index:10}.bp3-dark .bp3-navbar,.bp3-navbar.bp3-dark{background-color:#394b59}.bp3-navbar.bp3-dark{box-shadow:inset 0 0 0 1px rgba(16,22,26,.2),0 0 0 rgba(16,22,26,0),0 1px 1px rgba(16,22,26,.4)}.bp3-dark .bp3-navbar{box-shadow:0 0 0 1px rgba(16,22,26,.2),0 0 0 rgba(16,22,26,0),0 1px 1px rgba(16,22,26,.4)}.bp3-navbar.bp3-fixed-top{left:0;position:fixed;right:0;top:0}.bp3-navbar-heading{font-size:16px;margin-right:15px}.bp3-navbar-group{align-items:center;display:flex;height:50px}.bp3-navbar-group.bp3-align-left{float:left}.bp3-navbar-group.bp3-align-right{float:right}.bp3-navbar-divider{border-left:1px solid rgba(16,22,26,.15);height:20px;margin:0 10px}.bp3-dark .bp3-navbar-divider{border-left-color:hsla(0,0%,100%,.15)}.bp3-non-ideal-state{align-items:center;display:flex;flex-direction:column;height:100%;justify-content:center;text-align:center;width:100%}.bp3-non-ideal-state>*{flex-grow:0;flex-shrink:0}.bp3-non-ideal-state>.bp3-fill{flex-grow:1;flex-shrink:1}.bp3-non-ideal-state:before,.bp3-non-ideal-state>*{margin-bottom:20px}.bp3-non-ideal-state:empty:before,.bp3-non-ideal-state>:last-child{margin-bottom:0}.bp3-non-ideal-state>*{max-width:400px}.bp3-non-ideal-state-visual{color:rgba(92,112,128,.6);font-size:60px}.bp3-dark .bp3-non-ideal-state-visual{color:rgba(167,182,194,.6)}.bp3-overflow-list{display:flex;flex-wrap:nowrap;min-width:0}.bp3-overflow-list-spacer{flex-shrink:1;width:1px}body.bp3-overlay-open{overflow:hidden}.bp3-overlay{bottom:0;left:0;position:static;right:0;top:0;z-index:20}.bp3-overlay:not(.bp3-overlay-open){pointer-events:none}.bp3-overlay.bp3-overlay-container{overflow:hidden;position:fixed}.bp3-overlay.bp3-overlay-container.bp3-overlay-inline{position:absolute}.bp3-overlay.bp3-overlay-scroll-container{overflow:auto;position:fixed}.bp3-overlay.bp3-overlay-scroll-container.bp3-overlay-inline{position:absolute}.bp3-overlay.bp3-overlay-inline{display:inline;overflow:visible}.bp3-overlay-content{position:fixed;z-index:20}.bp3-overlay-inline .bp3-overlay-content,.bp3-overlay-scroll-container .bp3-overlay-content{position:absolute}.bp3-overlay-backdrop{background-color:rgba(16,22,26,.7);bottom:0;left:0;opacity:1;overflow:auto;position:fixed;right:0;top:0;-webkit-user-select:none;user-select:none;z-index:20}.bp3-overlay-backdrop.bp3-overlay-appear,.bp3-overlay-backdrop.bp3-overlay-enter{opacity:0}.bp3-overlay-backdrop.bp3-overlay-appear-active,.bp3-overlay-backdrop.bp3-overlay-enter-active{opacity:1;transition-delay:0;transition-duration:.2s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,1,.75,.9)}.bp3-overlay-backdrop.bp3-overlay-exit{opacity:1}.bp3-overlay-backdrop.bp3-overlay-exit-active{opacity:0;transition-delay:0;transition-duration:.2s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,1,.75,.9)}.bp3-overlay-backdrop:focus{outline:none}.bp3-overlay-inline .bp3-overlay-backdrop{position:absolute}.bp3-panel-stack{overflow:hidden;position:relative}.bp3-panel-stack-header{align-items:center;box-shadow:0 1px rgba(16,22,26,.15);display:flex;flex-shrink:0;height:30px;z-index:1}.bp3-dark .bp3-panel-stack-header{box-shadow:0 1px hsla(0,0%,100%,.15)}.bp3-panel-stack-header>span{align-items:stretch;display:flex;flex:1 1}.bp3-panel-stack-header .bp3-heading{margin:0 5px}.bp3-button.bp3-panel-stack-header-back{margin-left:5px;padding-left:0;white-space:nowrap}.bp3-button.bp3-panel-stack-header-back .bp3-icon{margin:0 2px}.bp3-panel-stack-view{background-color:#fff;border-right:1px solid rgba(16,22,26,.15);bottom:0;display:flex;flex-direction:column;left:0;margin-right:-1px;overflow-y:auto;position:absolute;right:0;top:0;z-index:1}.bp3-dark .bp3-panel-stack-view{background-color:#30404d}.bp3-panel-stack-view:nth-last-child(n+4){display:none}.bp3-panel-stack-push .bp3-panel-stack-appear,.bp3-panel-stack-push .bp3-panel-stack-enter{opacity:0;-webkit-transform:translateX(100%);transform:translateX(100%)}.bp3-panel-stack-push .bp3-panel-stack-appear-active,.bp3-panel-stack-push .bp3-panel-stack-enter-active{opacity:1;-webkit-transform:translate(0);transform:translate(0);transition-delay:0;transition-duration:.4s;transition-property:opacity,-webkit-transform;transition-property:transform,opacity;transition-property:transform,opacity,-webkit-transform;transition-timing-function:ease}.bp3-panel-stack-push .bp3-panel-stack-exit{opacity:1;-webkit-transform:translate(0);transform:translate(0)}.bp3-panel-stack-push .bp3-panel-stack-exit-active{transition-delay:0;transition-duration:.4s;transition-property:opacity,-webkit-transform;transition-property:transform,opacity;transition-property:transform,opacity,-webkit-transform;transition-timing-function:ease}.bp3-panel-stack-pop .bp3-panel-stack-appear,.bp3-panel-stack-pop .bp3-panel-stack-enter,.bp3-panel-stack-push .bp3-panel-stack-exit-active{opacity:0;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.bp3-panel-stack-pop .bp3-panel-stack-appear-active,.bp3-panel-stack-pop .bp3-panel-stack-enter-active{opacity:1;-webkit-transform:translate(0);transform:translate(0);transition-delay:0;transition-duration:.4s;transition-property:opacity,-webkit-transform;transition-property:transform,opacity;transition-property:transform,opacity,-webkit-transform;transition-timing-function:ease}.bp3-panel-stack-pop .bp3-panel-stack-exit{opacity:1;-webkit-transform:translate(0);transform:translate(0)}.bp3-panel-stack-pop .bp3-panel-stack-exit-active{opacity:0;-webkit-transform:translateX(100%);transform:translateX(100%);transition-delay:0;transition-duration:.4s;transition-property:opacity,-webkit-transform;transition-property:transform,opacity;transition-property:transform,opacity,-webkit-transform;transition-timing-function:ease}.bp3-panel-stack2{overflow:hidden;position:relative}.bp3-panel-stack2-header{align-items:center;box-shadow:0 1px rgba(16,22,26,.15);display:flex;flex-shrink:0;height:30px;z-index:1}.bp3-dark .bp3-panel-stack2-header{box-shadow:0 1px hsla(0,0%,100%,.15)}.bp3-panel-stack2-header>span{align-items:stretch;display:flex;flex:1 1}.bp3-panel-stack2-header .bp3-heading{margin:0 5px}.bp3-button.bp3-panel-stack2-header-back{margin-left:5px;padding-left:0;white-space:nowrap}.bp3-button.bp3-panel-stack2-header-back .bp3-icon{margin:0 2px}.bp3-panel-stack2-view{background-color:#fff;border-right:1px solid rgba(16,22,26,.15);bottom:0;display:flex;flex-direction:column;left:0;margin-right:-1px;overflow-y:auto;position:absolute;right:0;top:0;z-index:1}.bp3-dark .bp3-panel-stack2-view{background-color:#30404d}.bp3-panel-stack2-view:nth-last-child(n+4){display:none}.bp3-panel-stack2-push .bp3-panel-stack2-appear,.bp3-panel-stack2-push .bp3-panel-stack2-enter{opacity:0;-webkit-transform:translateX(100%);transform:translateX(100%)}.bp3-panel-stack2-push .bp3-panel-stack2-appear-active,.bp3-panel-stack2-push .bp3-panel-stack2-enter-active{opacity:1;-webkit-transform:translate(0);transform:translate(0);transition-delay:0;transition-duration:.4s;transition-property:opacity,-webkit-transform;transition-property:transform,opacity;transition-property:transform,opacity,-webkit-transform;transition-timing-function:ease}.bp3-panel-stack2-push .bp3-panel-stack2-exit{opacity:1;-webkit-transform:translate(0);transform:translate(0)}.bp3-panel-stack2-push .bp3-panel-stack2-exit-active{transition-delay:0;transition-duration:.4s;transition-property:opacity,-webkit-transform;transition-property:transform,opacity;transition-property:transform,opacity,-webkit-transform;transition-timing-function:ease}.bp3-panel-stack2-pop .bp3-panel-stack2-appear,.bp3-panel-stack2-pop .bp3-panel-stack2-enter,.bp3-panel-stack2-push .bp3-panel-stack2-exit-active{opacity:0;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.bp3-panel-stack2-pop .bp3-panel-stack2-appear-active,.bp3-panel-stack2-pop .bp3-panel-stack2-enter-active{opacity:1;-webkit-transform:translate(0);transform:translate(0);transition-delay:0;transition-duration:.4s;transition-property:opacity,-webkit-transform;transition-property:transform,opacity;transition-property:transform,opacity,-webkit-transform;transition-timing-function:ease}.bp3-panel-stack2-pop .bp3-panel-stack2-exit{opacity:1;-webkit-transform:translate(0);transform:translate(0)}.bp3-panel-stack2-pop .bp3-panel-stack2-exit-active{opacity:0;-webkit-transform:translateX(100%);transform:translateX(100%);transition-delay:0;transition-duration:.4s;transition-property:opacity,-webkit-transform;transition-property:transform,opacity;transition-property:transform,opacity,-webkit-transform;transition-timing-function:ease}.bp3-popover{border-radius:3px;box-shadow:0 0 0 1px rgba(16,22,26,.1),0 2px 4px rgba(16,22,26,.2),0 8px 24px rgba(16,22,26,.2);display:inline-block;-webkit-transform:scale(1);transform:scale(1);z-index:20}.bp3-popover .bp3-popover-arrow{height:30px;position:absolute;width:30px}.bp3-popover .bp3-popover-arrow:before{height:20px;margin:5px;width:20px}.bp3-tether-element-attached-bottom.bp3-tether-target-attached-top>.bp3-popover{margin-bottom:17px;margin-top:-17px}.bp3-tether-element-attached-bottom.bp3-tether-target-attached-top>.bp3-popover>.bp3-popover-arrow{bottom:-11px}.bp3-tether-element-attached-bottom.bp3-tether-target-attached-top>.bp3-popover>.bp3-popover-arrow svg{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}.bp3-tether-element-attached-left.bp3-tether-target-attached-right>.bp3-popover{margin-left:17px}.bp3-tether-element-attached-left.bp3-tether-target-attached-right>.bp3-popover>.bp3-popover-arrow{left:-11px}.bp3-tether-element-attached-left.bp3-tether-target-attached-right>.bp3-popover>.bp3-popover-arrow svg{-webkit-transform:rotate(0);transform:rotate(0)}.bp3-tether-element-attached-top.bp3-tether-target-attached-bottom>.bp3-popover{margin-top:17px}.bp3-tether-element-attached-top.bp3-tether-target-attached-bottom>.bp3-popover>.bp3-popover-arrow{top:-11px}.bp3-tether-element-attached-top.bp3-tether-target-attached-bottom>.bp3-popover>.bp3-popover-arrow svg{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.bp3-tether-element-attached-right.bp3-tether-target-attached-left>.bp3-popover{margin-left:-17px;margin-right:17px}.bp3-tether-element-attached-right.bp3-tether-target-attached-left>.bp3-popover>.bp3-popover-arrow{right:-11px}.bp3-tether-element-attached-right.bp3-tether-target-attached-left>.bp3-popover>.bp3-popover-arrow svg{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.bp3-tether-element-attached-middle>.bp3-popover>.bp3-popover-arrow{top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.bp3-tether-element-attached-center>.bp3-popover>.bp3-popover-arrow{right:50%;-webkit-transform:translateX(50%);transform:translateX(50%)}.bp3-tether-element-attached-top.bp3-tether-target-attached-top>.bp3-popover>.bp3-popover-arrow{top:-.3934px}.bp3-tether-element-attached-right.bp3-tether-target-attached-right>.bp3-popover>.bp3-popover-arrow{right:-.3934px}.bp3-tether-element-attached-left.bp3-tether-target-attached-left>.bp3-popover>.bp3-popover-arrow{left:-.3934px}.bp3-tether-element-attached-bottom.bp3-tether-target-attached-bottom>.bp3-popover>.bp3-popover-arrow{bottom:-.3934px}.bp3-tether-element-attached-top.bp3-tether-element-attached-left>.bp3-popover{-webkit-transform-origin:top left;transform-origin:top left}.bp3-tether-element-attached-top.bp3-tether-element-attached-center>.bp3-popover{-webkit-transform-origin:top center;transform-origin:top center}.bp3-tether-element-attached-top.bp3-tether-element-attached-right>.bp3-popover{-webkit-transform-origin:top right;transform-origin:top right}.bp3-tether-element-attached-middle.bp3-tether-element-attached-left>.bp3-popover{-webkit-transform-origin:center left;transform-origin:center left}.bp3-tether-element-attached-middle.bp3-tether-element-attached-center>.bp3-popover{-webkit-transform-origin:center center;transform-origin:center center}.bp3-tether-element-attached-middle.bp3-tether-element-attached-right>.bp3-popover{-webkit-transform-origin:center right;transform-origin:center right}.bp3-tether-element-attached-bottom.bp3-tether-element-attached-left>.bp3-popover{-webkit-transform-origin:bottom left;transform-origin:bottom left}.bp3-tether-element-attached-bottom.bp3-tether-element-attached-center>.bp3-popover{-webkit-transform-origin:bottom center;transform-origin:bottom center}.bp3-tether-element-attached-bottom.bp3-tether-element-attached-right>.bp3-popover{-webkit-transform-origin:bottom right;transform-origin:bottom right}.bp3-popover .bp3-popover-content{background:#fff}.bp3-popover .bp3-heading,.bp3-popover .bp3-popover-content{color:inherit}.bp3-popover .bp3-popover-arrow:before{box-shadow:1px 1px 6px rgba(16,22,26,.2)}.bp3-popover .bp3-popover-arrow-border{fill:#10161a;fill-opacity:.1}.bp3-popover .bp3-popover-arrow-fill{fill:#fff}.bp3-popover-appear>.bp3-popover,.bp3-popover-enter>.bp3-popover{-webkit-transform:scale(.3);transform:scale(.3)}.bp3-popover-appear-active>.bp3-popover,.bp3-popover-enter-active>.bp3-popover{-webkit-transform:scale(1);transform:scale(1);transition-delay:0;transition-duration:.3s;transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform;transition-timing-function:cubic-bezier(.54,1.12,.38,1.11)}.bp3-popover-exit>.bp3-popover{-webkit-transform:scale(1);transform:scale(1)}.bp3-popover-exit-active>.bp3-popover{-webkit-transform:scale(.3);transform:scale(.3);transition-delay:0;transition-duration:.3s;transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform;transition-timing-function:cubic-bezier(.54,1.12,.38,1.11)}.bp3-popover .bp3-popover-content{border-radius:3px;position:relative}.bp3-popover.bp3-popover-content-sizing .bp3-popover-content{max-width:350px;padding:20px}.bp3-popover-target+.bp3-overlay .bp3-popover.bp3-popover-content-sizing{width:350px}.bp3-popover.bp3-minimal{margin:0!important}.bp3-popover.bp3-minimal .bp3-popover-arrow{display:none}.bp3-popover-appear>.bp3-popover.bp3-minimal.bp3-popover,.bp3-popover-enter>.bp3-popover.bp3-minimal.bp3-popover,.bp3-popover.bp3-minimal.bp3-popover{-webkit-transform:scale(1);transform:scale(1)}.bp3-popover-appear-active>.bp3-popover.bp3-minimal.bp3-popover,.bp3-popover-enter-active>.bp3-popover.bp3-minimal.bp3-popover{-webkit-transform:scale(1);transform:scale(1);transition-delay:0;transition-duration:.1s;transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform;transition-timing-function:cubic-bezier(.4,1,.75,.9)}.bp3-popover-exit>.bp3-popover.bp3-minimal.bp3-popover{-webkit-transform:scale(1);transform:scale(1)}.bp3-popover-exit-active>.bp3-popover.bp3-minimal.bp3-popover{-webkit-transform:scale(1);transform:scale(1);transition-delay:0;transition-duration:.1s;transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform;transition-timing-function:cubic-bezier(.4,1,.75,.9)}.bp3-dark .bp3-popover,.bp3-popover.bp3-dark{box-shadow:0 0 0 1px rgba(16,22,26,.2),0 2px 4px rgba(16,22,26,.4),0 8px 24px rgba(16,22,26,.4)}.bp3-dark .bp3-popover .bp3-popover-content,.bp3-popover.bp3-dark .bp3-popover-content{background:#30404d}.bp3-dark .bp3-popover .bp3-heading,.bp3-dark .bp3-popover .bp3-popover-content,.bp3-popover.bp3-dark .bp3-heading,.bp3-popover.bp3-dark .bp3-popover-content{color:inherit}.bp3-dark .bp3-popover .bp3-popover-arrow:before,.bp3-popover.bp3-dark .bp3-popover-arrow:before{box-shadow:1px 1px 6px rgba(16,22,26,.4)}.bp3-dark .bp3-popover .bp3-popover-arrow-border,.bp3-popover.bp3-dark .bp3-popover-arrow-border{fill:#10161a;fill-opacity:.2}.bp3-dark .bp3-popover .bp3-popover-arrow-fill,.bp3-popover.bp3-dark .bp3-popover-arrow-fill{fill:#30404d}.bp3-popover-arrow:before{border-radius:2px;content:"";display:block;position:absolute;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.bp3-tether-pinned .bp3-popover-arrow{display:none}.bp3-popover-backdrop{background:hsla(0,0%,100%,0)}.bp3-transition-container{display:flex;opacity:1;z-index:20}.bp3-transition-container.bp3-popover-appear,.bp3-transition-container.bp3-popover-enter{opacity:0}.bp3-transition-container.bp3-popover-appear-active,.bp3-transition-container.bp3-popover-enter-active{opacity:1;transition-delay:0;transition-duration:.1s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,1,.75,.9)}.bp3-transition-container.bp3-popover-exit{opacity:1}.bp3-transition-container.bp3-popover-exit-active{opacity:0;transition-delay:0;transition-duration:.1s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,1,.75,.9)}.bp3-transition-container:focus{outline:none}.bp3-transition-container.bp3-popover-leave .bp3-popover-content{pointer-events:none}.bp3-transition-container[data-x-out-of-boundaries]{display:none}span.bp3-popover-target{display:inline-block}.bp3-popover-wrapper.bp3-fill{width:100%}.bp3-portal{left:0;position:absolute;right:0;top:0}@-webkit-keyframes linear-progress-bar-stripes{0%{background-position:0 0}to{background-position:30px 0}}@keyframes linear-progress-bar-stripes{0%{background-position:0 0}to{background-position:30px 0}}.bp3-progress-bar{background:rgba(92,112,128,.2);border-radius:40px;display:block;height:8px;overflow:hidden;position:relative;width:100%}.bp3-progress-bar .bp3-progress-meter{background:linear-gradient(-45deg,hsla(0,0%,100%,.2) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.2) 0,hsla(0,0%,100%,.2) 75%,transparent 0);background-color:rgba(92,112,128,.8);background-size:30px 30px;border-radius:40px;height:100%;position:absolute;transition:width .2s cubic-bezier(.4,1,.75,.9);width:100%}.bp3-progress-bar:not(.bp3-no-animation):not(.bp3-no-stripes) .bp3-progress-meter{animation:linear-progress-bar-stripes .3s linear infinite reverse}.bp3-progress-bar.bp3-no-stripes .bp3-progress-meter{background-image:none}.bp3-dark .bp3-progress-bar{background:rgba(16,22,26,.5)}.bp3-dark .bp3-progress-bar .bp3-progress-meter{background-color:#8a9ba8}.bp3-progress-bar.bp3-intent-primary .bp3-progress-meter{background-color:#137cbd}.bp3-progress-bar.bp3-intent-success .bp3-progress-meter{background-color:#0f9960}.bp3-progress-bar.bp3-intent-warning .bp3-progress-meter{background-color:#d9822b}.bp3-progress-bar.bp3-intent-danger .bp3-progress-meter{background-color:#db3737}@-webkit-keyframes skeleton-glow{0%{background:rgba(206,217,224,.2);border-color:rgba(206,217,224,.2)}to{background:rgba(92,112,128,.2);border-color:rgba(92,112,128,.2)}}@keyframes skeleton-glow{0%{background:rgba(206,217,224,.2);border-color:rgba(206,217,224,.2)}to{background:rgba(92,112,128,.2);border-color:rgba(92,112,128,.2)}}.bp3-skeleton{-webkit-animation:skeleton-glow 1s linear infinite alternate;animation:skeleton-glow 1s linear infinite alternate;background:rgba(206,217,224,.2);background-clip:padding-box!important;border-color:rgba(206,217,224,.2)!important;border-radius:2px;box-shadow:none!important;color:transparent!important;cursor:default;pointer-events:none;-webkit-user-select:none;user-select:none}.bp3-skeleton *,.bp3-skeleton:after,.bp3-skeleton:before{visibility:hidden!important}.bp3-slider{cursor:default;height:40px;min-width:150px;outline:none;position:relative;-webkit-user-select:none;user-select:none;width:100%}.bp3-slider:hover{cursor:pointer}.bp3-slider:active{cursor:grabbing}.bp3-slider.bp3-disabled{cursor:not-allowed;opacity:.5}.bp3-slider.bp3-slider-unlabeled{height:16px}.bp3-slider-progress,.bp3-slider-track{height:6px;left:0;position:absolute;right:0;top:5px}.bp3-slider-track{border-radius:3px;overflow:hidden}.bp3-slider-progress{background:rgba(92,112,128,.2)}.bp3-dark .bp3-slider-progress{background:rgba(16,22,26,.5)}.bp3-slider-progress.bp3-intent-primary{background-color:#137cbd}.bp3-slider-progress.bp3-intent-success{background-color:#0f9960}.bp3-slider-progress.bp3-intent-warning{background-color:#d9822b}.bp3-slider-progress.bp3-intent-danger{background-color:#db3737}.bp3-slider-handle{background-color:#f5f8fa;background-image:linear-gradient(180deg,hsla(0,0%,100%,.8),hsla(0,0%,100%,0));border-radius:3px;box-shadow:inset 0 0 0 1px rgba(16,22,26,.2),inset 0 -1px 0 rgba(16,22,26,.1);box-shadow:0 0 0 1px rgba(16,22,26,.2),0 1px 1px rgba(16,22,26,.2);color:#182026;cursor:pointer;height:16px;left:0;position:absolute;top:0;width:16px}.bp3-slider-handle.bp3-active,.bp3-slider-handle:active{background-color:#d8e1e8;background-image:none;box-shadow:inset 0 0 0 1px rgba(16,22,26,.2),inset 0 1px 2px rgba(16,22,26,.2)}.bp3-slider-handle.bp3-disabled,.bp3-slider-handle:disabled{background-color:rgba(206,217,224,.5);background-image:none;box-shadow:none;color:rgba(92,112,128,.6);cursor:not-allowed;outline:none}.bp3-slider-handle.bp3-disabled.bp3-active,.bp3-slider-handle.bp3-disabled.bp3-active:hover,.bp3-slider-handle:disabled.bp3-active,.bp3-slider-handle:disabled.bp3-active:hover{background:rgba(206,217,224,.7)}.bp3-slider-handle:focus{z-index:1}.bp3-slider-handle:hover{background-clip:padding-box;background-color:#ebf1f5;box-shadow:inset 0 0 0 1px rgba(16,22,26,.2),inset 0 -1px 0 rgba(16,22,26,.1);box-shadow:0 0 0 1px rgba(16,22,26,.2),0 1px 1px rgba(16,22,26,.2);cursor:grab;z-index:2}.bp3-slider-handle.bp3-active{background-color:#d8e1e8;background-image:none;box-shadow:inset 0 0 0 1px rgba(16,22,26,.2),inset 0 1px 2px rgba(16,22,26,.2);box-shadow:0 0 0 1px rgba(16,22,26,.2),inset 0 1px 1px rgba(16,22,26,.1);cursor:grabbing}.bp3-disabled .bp3-slider-handle{background:#bfccd6;box-shadow:none;pointer-events:none}.bp3-dark .bp3-slider-handle{background-color:#394b59;background-image:linear-gradient(180deg,hsla(0,0%,100%,.05),hsla(0,0%,100%,0));box-shadow:0 0 0 1px rgba(16,22,26,.4);color:#f5f8fa}.bp3-dark .bp3-slider-handle.bp3-active,.bp3-dark .bp3-slider-handle:active,.bp3-dark .bp3-slider-handle:hover{color:#f5f8fa}.bp3-dark .bp3-slider-handle:hover{background-color:#30404d;box-shadow:0 0 0 1px rgba(16,22,26,.4)}.bp3-dark .bp3-slider-handle.bp3-active,.bp3-dark .bp3-slider-handle:active{background-color:#202b33;background-image:none;box-shadow:0 0 0 1px rgba(16,22,26,.6),inset 0 1px 2px rgba(16,22,26,.2)}.bp3-dark .bp3-slider-handle.bp3-disabled,.bp3-dark .bp3-slider-handle:disabled{background-color:rgba(57,75,89,.5);background-image:none;box-shadow:none;color:rgba(167,182,194,.6)}.bp3-dark .bp3-slider-handle.bp3-disabled.bp3-active,.bp3-dark .bp3-slider-handle:disabled.bp3-active{background:rgba(57,75,89,.7)}.bp3-dark .bp3-slider-handle .bp3-button-spinner .bp3-spinner-head{stroke:#8a9ba8;background:rgba(16,22,26,.5)}.bp3-dark .bp3-slider-handle,.bp3-dark .bp3-slider-handle:hover{background-color:#394b59}.bp3-dark .bp3-slider-handle.bp3-active{background-color:#293742}.bp3-dark .bp3-disabled .bp3-slider-handle{background:#5c7080;border-color:#5c7080;box-shadow:none}.bp3-slider-handle .bp3-slider-label{background:#394b59;border-radius:3px;box-shadow:0 0 0 1px rgba(16,22,26,.1),0 2px 4px rgba(16,22,26,.2),0 8px 24px rgba(16,22,26,.2);color:#f5f8fa;margin-left:8px}.bp3-dark .bp3-slider-handle .bp3-slider-label{background:#e1e8ed;box-shadow:0 0 0 1px rgba(16,22,26,.2),0 2px 4px rgba(16,22,26,.4),0 8px 24px rgba(16,22,26,.4);color:#394b59}.bp3-disabled .bp3-slider-handle .bp3-slider-label{box-shadow:none}.bp3-slider-handle.bp3-end,.bp3-slider-handle.bp3-start{width:8px}.bp3-slider-handle.bp3-start{border-bottom-right-radius:0;border-top-right-radius:0}.bp3-slider-handle.bp3-end{border-bottom-left-radius:0;border-top-left-radius:0;margin-left:8px}.bp3-slider-handle.bp3-end .bp3-slider-label{margin-left:0}.bp3-slider-label{display:inline-block;font-size:12px;line-height:1;padding:2px 5px;position:absolute;-webkit-transform:translate(-50%,20px);transform:translate(-50%,20px);vertical-align:top}.bp3-slider.bp3-vertical{height:150px;min-width:40px;width:40px}.bp3-slider.bp3-vertical .bp3-slider-progress,.bp3-slider.bp3-vertical .bp3-slider-track{bottom:0;height:auto;left:5px;top:0;width:6px}.bp3-slider.bp3-vertical .bp3-slider-progress{top:auto}.bp3-slider.bp3-vertical .bp3-slider-label{-webkit-transform:translate(20px,50%);transform:translate(20px,50%)}.bp3-slider.bp3-vertical .bp3-slider-handle{top:auto}.bp3-slider.bp3-vertical .bp3-slider-handle .bp3-slider-label{margin-left:0;margin-top:-8px}.bp3-slider.bp3-vertical .bp3-slider-handle.bp3-end,.bp3-slider.bp3-vertical .bp3-slider-handle.bp3-start{height:8px;margin-left:0;width:16px}.bp3-slider.bp3-vertical .bp3-slider-handle.bp3-start{border-bottom-right-radius:3px;border-top-left-radius:0}.bp3-slider.bp3-vertical .bp3-slider-handle.bp3-start .bp3-slider-label{-webkit-transform:translate(20px);transform:translate(20px)}.bp3-slider.bp3-vertical .bp3-slider-handle.bp3-end{border-bottom-left-radius:0;border-bottom-right-radius:0;border-top-left-radius:3px;margin-bottom:8px}@-webkit-keyframes pt-spinner-animation{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes pt-spinner-animation{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.bp3-spinner{align-items:center;display:flex;justify-content:center;overflow:visible;vertical-align:middle}.bp3-spinner svg{display:block}.bp3-spinner path{fill-opacity:0}.bp3-spinner .bp3-spinner-head{stroke:rgba(92,112,128,.8);stroke-linecap:round;-webkit-transform-origin:center;transform-origin:center;transition:stroke-dashoffset .2s cubic-bezier(.4,1,.75,.9)}.bp3-spinner .bp3-spinner-track{stroke:rgba(92,112,128,.2)}.bp3-spinner-animation{-webkit-animation:pt-spinner-animation .5s linear infinite;animation:pt-spinner-animation .5s linear infinite}.bp3-no-spin>.bp3-spinner-animation{-webkit-animation:none;animation:none}.bp3-dark .bp3-spinner .bp3-spinner-head{stroke:#8a9ba8}.bp3-dark .bp3-spinner .bp3-spinner-track{stroke:rgba(16,22,26,.5)}.bp3-spinner.bp3-intent-primary .bp3-spinner-head{stroke:#137cbd}.bp3-spinner.bp3-intent-success .bp3-spinner-head{stroke:#0f9960}.bp3-spinner.bp3-intent-warning .bp3-spinner-head{stroke:#d9822b}.bp3-spinner.bp3-intent-danger .bp3-spinner-head{stroke:#db3737}.bp3-tabs.bp3-vertical{display:flex}.bp3-tabs.bp3-vertical>.bp3-tab-list{align-items:flex-start;flex-direction:column}.bp3-tabs.bp3-vertical>.bp3-tab-list .bp3-tab{border-radius:3px;padding:0 10px;width:100%}.bp3-tabs.bp3-vertical>.bp3-tab-list .bp3-tab[aria-selected=true]{background-color:rgba(19,124,189,.2);box-shadow:none}.bp3-tabs.bp3-vertical>.bp3-tab-list .bp3-tab-indicator-wrapper .bp3-tab-indicator{background-color:rgba(19,124,189,.2);border-radius:3px;bottom:0;height:auto;left:0;right:0;top:0}.bp3-tabs.bp3-vertical>.bp3-tab-panel{margin-top:0;padding-left:20px}.bp3-tab-list{align-items:flex-end;border:none;display:flex;flex:0 0 auto;list-style:none;margin:0;padding:0;position:relative}.bp3-tab-list>:not(:last-child){margin-right:20px}.bp3-tab{word-wrap:normal;color:#182026;cursor:pointer;flex:0 0 auto;font-size:14px;line-height:30px;max-width:100%;overflow:hidden;position:relative;text-overflow:ellipsis;vertical-align:top;white-space:nowrap}.bp3-tab a{color:inherit;display:block;text-decoration:none}.bp3-tab-indicator-wrapper~.bp3-tab{background-color:initial!important;box-shadow:none!important}.bp3-tab[aria-disabled=true]{color:rgba(92,112,128,.6);cursor:not-allowed}.bp3-tab[aria-selected=true]{border-radius:0;box-shadow:inset 0 -3px 0 #106ba3}.bp3-tab:not([aria-disabled=true]):hover,.bp3-tab[aria-selected=true]{color:#106ba3}.bp3-tab:focus{-moz-outline-radius:0}.bp3-large>.bp3-tab{font-size:16px;line-height:40px}.bp3-tab-panel{margin-top:20px}.bp3-tab-panel[aria-hidden=true]{display:none}.bp3-tab-indicator-wrapper{left:0;pointer-events:none;position:absolute;top:0;-webkit-transform:translateX(0),translateY(0);transform:translateX(0),translateY(0);transition:height,width,-webkit-transform;transition:height,transform,width;transition:height,transform,width,-webkit-transform;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,1,.75,.9)}.bp3-tab-indicator-wrapper .bp3-tab-indicator{background-color:#106ba3;bottom:0;height:3px;left:0;position:absolute;right:0}.bp3-tab-indicator-wrapper.bp3-no-animation{transition:none}.bp3-dark .bp3-tab{color:#f5f8fa}.bp3-dark .bp3-tab[aria-disabled=true]{color:rgba(167,182,194,.6)}.bp3-dark .bp3-tab[aria-selected=true]{box-shadow:inset 0 -3px 0 #48aff0}.bp3-dark .bp3-tab:not([aria-disabled=true]):hover,.bp3-dark .bp3-tab[aria-selected=true]{color:#48aff0}.bp3-dark .bp3-tab-indicator{background-color:#48aff0}.bp3-flex-expander{flex:1 1}.bp3-tag{align-items:center;background-color:#5c7080;border:none;border-radius:3px;box-shadow:none;color:#f5f8fa;display:inline-flex;flex-direction:row;font-size:12px;line-height:16px;max-width:100%;min-height:20px;min-width:20px;padding:2px 6px;position:relative}.bp3-tag.bp3-interactive{cursor:pointer}.bp3-tag.bp3-interactive:hover{background-color:rgba(92,112,128,.85)}.bp3-tag.bp3-interactive.bp3-active,.bp3-tag.bp3-interactive:active{background-color:rgba(92,112,128,.7)}.bp3-tag>*{flex-grow:0;flex-shrink:0}.bp3-tag>.bp3-fill{flex-grow:1;flex-shrink:1}.bp3-tag:before,.bp3-tag>*{margin-right:4px}.bp3-tag:empty:before,.bp3-tag>:last-child{margin-right:0}.bp3-tag:focus{-moz-outline-radius:6px;outline:2px auto rgba(19,124,189,.6);outline-offset:0}.bp3-tag.bp3-round{border-radius:30px;padding-left:8px;padding-right:8px}.bp3-dark .bp3-tag{background-color:#bfccd6;color:#182026}.bp3-dark .bp3-tag.bp3-interactive{cursor:pointer}.bp3-dark .bp3-tag.bp3-interactive:hover{background-color:rgba(191,204,214,.85)}.bp3-dark .bp3-tag.bp3-interactive.bp3-active,.bp3-dark .bp3-tag.bp3-interactive:active{background-color:rgba(191,204,214,.7)}.bp3-dark .bp3-tag .bp3-icon-large,.bp3-dark .bp3-tag .bp3-icon-standard,.bp3-dark .bp3-tag>.bp3-icon{fill:currentColor}.bp3-tag .bp3-icon-large,.bp3-tag .bp3-icon-standard,.bp3-tag>.bp3-icon{fill:#fff}.bp3-large .bp3-tag,.bp3-tag.bp3-large{font-size:14px;line-height:20px;min-height:30px;min-width:30px;padding:5px 10px}.bp3-large .bp3-tag:before,.bp3-large .bp3-tag>*,.bp3-tag.bp3-large:before,.bp3-tag.bp3-large>*{margin-right:7px}.bp3-large .bp3-tag:empty:before,.bp3-large .bp3-tag>:last-child,.bp3-tag.bp3-large:empty:before,.bp3-tag.bp3-large>:last-child{margin-right:0}.bp3-large .bp3-tag.bp3-round,.bp3-tag.bp3-large.bp3-round{padding-left:12px;padding-right:12px}.bp3-tag.bp3-intent-primary{background:#137cbd;color:#fff}.bp3-tag.bp3-intent-primary.bp3-interactive{cursor:pointer}.bp3-tag.bp3-intent-primary.bp3-interactive:hover{background-color:rgba(19,124,189,.85)}.bp3-tag.bp3-intent-primary.bp3-interactive.bp3-active,.bp3-tag.bp3-intent-primary.bp3-interactive:active{background-color:rgba(19,124,189,.7)}.bp3-tag.bp3-intent-success{background:#0f9960;color:#fff}.bp3-tag.bp3-intent-success.bp3-interactive{cursor:pointer}.bp3-tag.bp3-intent-success.bp3-interactive:hover{background-color:rgba(15,153,96,.85)}.bp3-tag.bp3-intent-success.bp3-interactive.bp3-active,.bp3-tag.bp3-intent-success.bp3-interactive:active{background-color:rgba(15,153,96,.7)}.bp3-tag.bp3-intent-warning{background:#d9822b;color:#fff}.bp3-tag.bp3-intent-warning.bp3-interactive{cursor:pointer}.bp3-tag.bp3-intent-warning.bp3-interactive:hover{background-color:rgba(217,130,43,.85)}.bp3-tag.bp3-intent-warning.bp3-interactive.bp3-active,.bp3-tag.bp3-intent-warning.bp3-interactive:active{background-color:rgba(217,130,43,.7)}.bp3-tag.bp3-intent-danger{background:#db3737;color:#fff}.bp3-tag.bp3-intent-danger.bp3-interactive{cursor:pointer}.bp3-tag.bp3-intent-danger.bp3-interactive:hover{background-color:rgba(219,55,55,.85)}.bp3-tag.bp3-intent-danger.bp3-interactive.bp3-active,.bp3-tag.bp3-intent-danger.bp3-interactive:active{background-color:rgba(219,55,55,.7)}.bp3-tag.bp3-fill{display:flex;width:100%}.bp3-tag.bp3-minimal .bp3-icon-large,.bp3-tag.bp3-minimal .bp3-icon-standard,.bp3-tag.bp3-minimal>.bp3-icon{fill:#5c7080}.bp3-tag.bp3-minimal:not([class*=bp3-intent-]){background-color:rgba(138,155,168,.2);color:#182026}.bp3-tag.bp3-minimal:not([class*=bp3-intent-]).bp3-interactive{cursor:pointer}.bp3-tag.bp3-minimal:not([class*=bp3-intent-]).bp3-interactive:hover{background-color:rgba(92,112,128,.3)}.bp3-tag.bp3-minimal:not([class*=bp3-intent-]).bp3-interactive.bp3-active,.bp3-tag.bp3-minimal:not([class*=bp3-intent-]).bp3-interactive:active{background-color:rgba(92,112,128,.4)}.bp3-dark .bp3-tag.bp3-minimal:not([class*=bp3-intent-]){color:#f5f8fa}.bp3-dark .bp3-tag.bp3-minimal:not([class*=bp3-intent-]).bp3-interactive{cursor:pointer}.bp3-dark .bp3-tag.bp3-minimal:not([class*=bp3-intent-]).bp3-interactive:hover{background-color:rgba(191,204,214,.3)}.bp3-dark .bp3-tag.bp3-minimal:not([class*=bp3-intent-]).bp3-interactive.bp3-active,.bp3-dark .bp3-tag.bp3-minimal:not([class*=bp3-intent-]).bp3-interactive:active{background-color:rgba(191,204,214,.4)}.bp3-dark .bp3-tag.bp3-minimal:not([class*=bp3-intent-]) .bp3-icon-large,.bp3-dark .bp3-tag.bp3-minimal:not([class*=bp3-intent-]) .bp3-icon-standard,.bp3-dark .bp3-tag.bp3-minimal:not([class*=bp3-intent-])>.bp3-icon{fill:#a7b6c2}.bp3-tag.bp3-minimal.bp3-intent-primary{background-color:rgba(19,124,189,.15);color:#106ba3}.bp3-tag.bp3-minimal.bp3-intent-primary.bp3-interactive{cursor:pointer}.bp3-tag.bp3-minimal.bp3-intent-primary.bp3-interactive:hover{background-color:rgba(19,124,189,.25)}.bp3-tag.bp3-minimal.bp3-intent-primary.bp3-interactive.bp3-active,.bp3-tag.bp3-minimal.bp3-intent-primary.bp3-interactive:active{background-color:rgba(19,124,189,.35)}.bp3-tag.bp3-minimal.bp3-intent-primary .bp3-icon-large,.bp3-tag.bp3-minimal.bp3-intent-primary .bp3-icon-standard,.bp3-tag.bp3-minimal.bp3-intent-primary>.bp3-icon{fill:#137cbd}.bp3-dark .bp3-tag.bp3-minimal.bp3-intent-primary{background-color:rgba(19,124,189,.25);color:#48aff0}.bp3-dark .bp3-tag.bp3-minimal.bp3-intent-primary.bp3-interactive{cursor:pointer}.bp3-dark .bp3-tag.bp3-minimal.bp3-intent-primary.bp3-interactive:hover{background-color:rgba(19,124,189,.35)}.bp3-dark .bp3-tag.bp3-minimal.bp3-intent-primary.bp3-interactive.bp3-active,.bp3-dark .bp3-tag.bp3-minimal.bp3-intent-primary.bp3-interactive:active{background-color:rgba(19,124,189,.45)}.bp3-tag.bp3-minimal.bp3-intent-success{background-color:rgba(15,153,96,.15);color:#0d8050}.bp3-tag.bp3-minimal.bp3-intent-success.bp3-interactive{cursor:pointer}.bp3-tag.bp3-minimal.bp3-intent-success.bp3-interactive:hover{background-color:rgba(15,153,96,.25)}.bp3-tag.bp3-minimal.bp3-intent-success.bp3-interactive.bp3-active,.bp3-tag.bp3-minimal.bp3-intent-success.bp3-interactive:active{background-color:rgba(15,153,96,.35)}.bp3-tag.bp3-minimal.bp3-intent-success .bp3-icon-large,.bp3-tag.bp3-minimal.bp3-intent-success .bp3-icon-standard,.bp3-tag.bp3-minimal.bp3-intent-success>.bp3-icon{fill:#0f9960}.bp3-dark .bp3-tag.bp3-minimal.bp3-intent-success{background-color:rgba(15,153,96,.25);color:#3dcc91}.bp3-dark .bp3-tag.bp3-minimal.bp3-intent-success.bp3-interactive{cursor:pointer}.bp3-dark .bp3-tag.bp3-minimal.bp3-intent-success.bp3-interactive:hover{background-color:rgba(15,153,96,.35)}.bp3-dark .bp3-tag.bp3-minimal.bp3-intent-success.bp3-interactive.bp3-active,.bp3-dark .bp3-tag.bp3-minimal.bp3-intent-success.bp3-interactive:active{background-color:rgba(15,153,96,.45)}.bp3-tag.bp3-minimal.bp3-intent-warning{background-color:rgba(217,130,43,.15);color:#bf7326}.bp3-tag.bp3-minimal.bp3-intent-warning.bp3-interactive{cursor:pointer}.bp3-tag.bp3-minimal.bp3-intent-warning.bp3-interactive:hover{background-color:rgba(217,130,43,.25)}.bp3-tag.bp3-minimal.bp3-intent-warning.bp3-interactive.bp3-active,.bp3-tag.bp3-minimal.bp3-intent-warning.bp3-interactive:active{background-color:rgba(217,130,43,.35)}.bp3-tag.bp3-minimal.bp3-intent-warning .bp3-icon-large,.bp3-tag.bp3-minimal.bp3-intent-warning .bp3-icon-standard,.bp3-tag.bp3-minimal.bp3-intent-warning>.bp3-icon{fill:#d9822b}.bp3-dark .bp3-tag.bp3-minimal.bp3-intent-warning{background-color:rgba(217,130,43,.25);color:#ffb366}.bp3-dark .bp3-tag.bp3-minimal.bp3-intent-warning.bp3-interactive{cursor:pointer}.bp3-dark .bp3-tag.bp3-minimal.bp3-intent-warning.bp3-interactive:hover{background-color:rgba(217,130,43,.35)}.bp3-dark .bp3-tag.bp3-minimal.bp3-intent-warning.bp3-interactive.bp3-active,.bp3-dark .bp3-tag.bp3-minimal.bp3-intent-warning.bp3-interactive:active{background-color:rgba(217,130,43,.45)}.bp3-tag.bp3-minimal.bp3-intent-danger{background-color:rgba(219,55,55,.15);color:#c23030}.bp3-tag.bp3-minimal.bp3-intent-danger.bp3-interactive{cursor:pointer}.bp3-tag.bp3-minimal.bp3-intent-danger.bp3-interactive:hover{background-color:rgba(219,55,55,.25)}.bp3-tag.bp3-minimal.bp3-intent-danger.bp3-interactive.bp3-active,.bp3-tag.bp3-minimal.bp3-intent-danger.bp3-interactive:active{background-color:rgba(219,55,55,.35)}.bp3-tag.bp3-minimal.bp3-intent-danger .bp3-icon-large,.bp3-tag.bp3-minimal.bp3-intent-danger .bp3-icon-standard,.bp3-tag.bp3-minimal.bp3-intent-danger>.bp3-icon{fill:#db3737}.bp3-dark .bp3-tag.bp3-minimal.bp3-intent-danger{background-color:rgba(219,55,55,.25);color:#ff7373}.bp3-dark .bp3-tag.bp3-minimal.bp3-intent-danger.bp3-interactive{cursor:pointer}.bp3-dark .bp3-tag.bp3-minimal.bp3-intent-danger.bp3-interactive:hover{background-color:rgba(219,55,55,.35)}.bp3-dark .bp3-tag.bp3-minimal.bp3-intent-danger.bp3-interactive.bp3-active,.bp3-dark .bp3-tag.bp3-minimal.bp3-intent-danger.bp3-interactive:active{background-color:rgba(219,55,55,.45)}.bp3-tag-remove{background:none;border:none;color:inherit;cursor:pointer;display:flex;margin-bottom:-2px;margin-right:-6px!important;margin-top:-2px;opacity:.5;padding:2px 2px 2px 0}.bp3-tag-remove:hover{background:none;opacity:.8;text-decoration:none}.bp3-tag-remove:active{opacity:1}.bp3-tag-remove:empty:before{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;content:"";font-family:Icons16,sans-serif;font-size:16px;font-style:normal;font-weight:400;line-height:1}.bp3-large .bp3-tag-remove{margin-right:-10px!important;padding:0 5px 0 0}.bp3-large .bp3-tag-remove:empty:before{font-family:Icons20,sans-serif;font-size:20px;font-style:normal;font-weight:400;line-height:1}.bp3-tag-input{align-items:flex-start;cursor:text;display:flex;flex-direction:row;height:auto;line-height:inherit;min-height:30px;padding-left:5px;padding-right:0}.bp3-tag-input>*{flex-grow:0;flex-shrink:0}.bp3-tag-input>.bp3-tag-input-values{flex-grow:1;flex-shrink:1}.bp3-tag-input .bp3-tag-input-icon{color:#5c7080;margin-left:2px;margin-right:7px;margin-top:7px}.bp3-tag-input .bp3-tag-input-values{align-items:center;align-self:stretch;display:flex;flex-direction:row;flex-wrap:wrap;margin-right:7px;margin-top:5px;min-width:0}.bp3-tag-input .bp3-tag-input-values>*{flex-grow:0;flex-shrink:0}.bp3-tag-input .bp3-tag-input-values>.bp3-fill{flex-grow:1;flex-shrink:1}.bp3-tag-input .bp3-tag-input-values:before,.bp3-tag-input .bp3-tag-input-values>*{margin-right:5px}.bp3-tag-input .bp3-tag-input-values:empty:before,.bp3-tag-input .bp3-tag-input-values>:last-child{margin-right:0}.bp3-tag-input .bp3-tag-input-values:first-child .bp3-input-ghost:first-child{padding-left:5px}.bp3-tag-input .bp3-tag-input-values>*{margin-bottom:5px}.bp3-tag-input .bp3-tag{overflow-wrap:break-word}.bp3-tag-input .bp3-tag.bp3-active{-moz-outline-radius:6px;outline:2px auto rgba(19,124,189,.6);outline-offset:0}.bp3-tag-input .bp3-input-ghost{flex:1 1 auto;line-height:20px;width:80px}.bp3-tag-input .bp3-input-ghost.bp3-disabled,.bp3-tag-input .bp3-input-ghost:disabled{cursor:not-allowed}.bp3-tag-input .bp3-button,.bp3-tag-input .bp3-spinner{margin:3px 3px 3px 0}.bp3-tag-input .bp3-button{min-height:24px;min-width:24px;padding:0 7px}.bp3-tag-input.bp3-large{height:auto;min-height:40px}.bp3-tag-input.bp3-large:before,.bp3-tag-input.bp3-large>*{margin-right:10px}.bp3-tag-input.bp3-large:empty:before,.bp3-tag-input.bp3-large>:last-child{margin-right:0}.bp3-tag-input.bp3-large .bp3-tag-input-icon{margin-left:5px;margin-top:10px}.bp3-tag-input.bp3-large .bp3-input-ghost{line-height:30px}.bp3-tag-input.bp3-large .bp3-button{margin:5px 5px 5px 0;min-height:30px;min-width:30px;padding:5px 10px}.bp3-tag-input.bp3-large .bp3-spinner{margin:8px 8px 8px 0}.bp3-tag-input.bp3-active{background-color:#fff;box-shadow:0 0 0 1px #137cbd,0 0 0 3px rgba(19,124,189,.3),inset 0 1px 1px rgba(16,22,26,.2)}.bp3-tag-input.bp3-active.bp3-intent-primary{box-shadow:0 0 0 1px #106ba3,0 0 0 3px rgba(16,107,163,.3),inset 0 1px 1px rgba(16,22,26,.2)}.bp3-tag-input.bp3-active.bp3-intent-success{box-shadow:0 0 0 1px #0d8050,0 0 0 3px rgba(13,128,80,.3),inset 0 1px 1px rgba(16,22,26,.2)}.bp3-tag-input.bp3-active.bp3-intent-warning{box-shadow:0 0 0 1px #bf7326,0 0 0 3px rgba(191,115,38,.3),inset 0 1px 1px rgba(16,22,26,.2)}.bp3-tag-input.bp3-active.bp3-intent-danger{box-shadow:0 0 0 1px #c23030,0 0 0 3px rgba(194,48,48,.3),inset 0 1px 1px rgba(16,22,26,.2)}.bp3-dark .bp3-tag-input .bp3-tag-input-icon,.bp3-tag-input.bp3-dark .bp3-tag-input-icon{color:#a7b6c2}.bp3-dark .bp3-tag-input .bp3-input-ghost,.bp3-tag-input.bp3-dark .bp3-input-ghost{color:#f5f8fa}.bp3-dark .bp3-tag-input .bp3-input-ghost::-webkit-input-placeholder,.bp3-tag-input.bp3-dark .bp3-input-ghost::-webkit-input-placeholder{color:rgba(167,182,194,.6)}.bp3-dark .bp3-tag-input .bp3-input-ghost::placeholder,.bp3-tag-input.bp3-dark .bp3-input-ghost::placeholder{color:rgba(167,182,194,.6)}.bp3-dark .bp3-tag-input.bp3-active,.bp3-tag-input.bp3-dark.bp3-active{background-color:rgba(16,22,26,.3);box-shadow:0 0 0 1px #137cbd,0 0 0 1px #137cbd,0 0 0 3px rgba(19,124,189,.3),inset 0 0 0 1px rgba(16,22,26,.3),inset 0 1px 1px rgba(16,22,26,.4)}.bp3-dark .bp3-tag-input.bp3-active.bp3-intent-primary,.bp3-tag-input.bp3-dark.bp3-active.bp3-intent-primary{box-shadow:0 0 0 1px #106ba3,0 0 0 3px rgba(16,107,163,.3),inset 0 0 0 1px rgba(16,22,26,.3),inset 0 1px 1px rgba(16,22,26,.4)}.bp3-dark .bp3-tag-input.bp3-active.bp3-intent-success,.bp3-tag-input.bp3-dark.bp3-active.bp3-intent-success{box-shadow:0 0 0 1px #0d8050,0 0 0 3px rgba(13,128,80,.3),inset 0 0 0 1px rgba(16,22,26,.3),inset 0 1px 1px rgba(16,22,26,.4)}.bp3-dark .bp3-tag-input.bp3-active.bp3-intent-warning,.bp3-tag-input.bp3-dark.bp3-active.bp3-intent-warning{box-shadow:0 0 0 1px #bf7326,0 0 0 3px rgba(191,115,38,.3),inset 0 0 0 1px rgba(16,22,26,.3),inset 0 1px 1px rgba(16,22,26,.4)}.bp3-dark .bp3-tag-input.bp3-active.bp3-intent-danger,.bp3-tag-input.bp3-dark.bp3-active.bp3-intent-danger{box-shadow:0 0 0 1px #c23030,0 0 0 3px rgba(194,48,48,.3),inset 0 0 0 1px rgba(16,22,26,.3),inset 0 1px 1px rgba(16,22,26,.4)}.bp3-input-ghost{background:none;border:none;box-shadow:none;padding:0}.bp3-input-ghost::-webkit-input-placeholder{color:rgba(92,112,128,.6);opacity:1}.bp3-input-ghost::placeholder{color:rgba(92,112,128,.6);opacity:1}.bp3-input-ghost:focus{outline:none!important}.bp3-toast{align-items:flex-start;background-color:#fff;border-radius:3px;box-shadow:0 0 0 1px rgba(16,22,26,.1),0 2px 4px rgba(16,22,26,.2),0 8px 24px rgba(16,22,26,.2);display:flex;margin:20px 0 0;max-width:500px;min-width:300px;pointer-events:all;position:relative!important}.bp3-toast.bp3-toast-appear,.bp3-toast.bp3-toast-enter{-webkit-transform:translateY(-40px);transform:translateY(-40px)}.bp3-toast.bp3-toast-appear-active,.bp3-toast.bp3-toast-enter-active{-webkit-transform:translateY(0);transform:translateY(0);transition-delay:0;transition-duration:.3s;transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform;transition-timing-function:cubic-bezier(.54,1.12,.38,1.11)}.bp3-toast.bp3-toast-appear~.bp3-toast,.bp3-toast.bp3-toast-enter~.bp3-toast{-webkit-transform:translateY(-40px);transform:translateY(-40px)}.bp3-toast.bp3-toast-appear-active~.bp3-toast,.bp3-toast.bp3-toast-enter-active~.bp3-toast{-webkit-transform:translateY(0);transform:translateY(0);transition-delay:0;transition-duration:.3s;transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform;transition-timing-function:cubic-bezier(.54,1.12,.38,1.11)}.bp3-toast.bp3-toast-exit{-webkit-filter:blur(0);filter:blur(0);opacity:1}.bp3-toast.bp3-toast-exit-active{-webkit-filter:blur(10px);filter:blur(10px);opacity:0;transition-delay:0;transition-duration:.3s;transition-property:opacity,-webkit-filter;transition-property:opacity,filter;transition-property:opacity,filter,-webkit-filter;transition-timing-function:cubic-bezier(.4,1,.75,.9)}.bp3-toast.bp3-toast-exit~.bp3-toast{-webkit-transform:translateY(0);transform:translateY(0)}.bp3-toast.bp3-toast-exit-active~.bp3-toast{-webkit-transform:translateY(-40px);transform:translateY(-40px);transition-delay:50ms;transition-duration:.1s;transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform;transition-timing-function:cubic-bezier(.4,1,.75,.9)}.bp3-toast .bp3-button-group{flex:0 0 auto;padding:5px 5px 5px 0}.bp3-toast>.bp3-icon{color:#5c7080;margin:12px 0 12px 12px}.bp3-dark .bp3-toast,.bp3-toast.bp3-dark{background-color:#394b59;box-shadow:0 0 0 1px rgba(16,22,26,.2),0 2px 4px rgba(16,22,26,.4),0 8px 24px rgba(16,22,26,.4)}.bp3-dark .bp3-toast>.bp3-icon,.bp3-toast.bp3-dark>.bp3-icon{color:#a7b6c2}.bp3-toast[class*=bp3-intent-] a{color:hsla(0,0%,100%,.7)}.bp3-toast[class*=bp3-intent-] a:hover,.bp3-toast[class*=bp3-intent-]>.bp3-icon{color:#fff}.bp3-toast[class*=bp3-intent-] .bp3-button,.bp3-toast[class*=bp3-intent-] .bp3-button .bp3-icon,.bp3-toast[class*=bp3-intent-] .bp3-button:active,.bp3-toast[class*=bp3-intent-] .bp3-button:before{color:hsla(0,0%,100%,.7)!important}.bp3-toast[class*=bp3-intent-] .bp3-button:focus{outline-color:hsla(0,0%,100%,.5)}.bp3-toast[class*=bp3-intent-] .bp3-button:hover{background-color:hsla(0,0%,100%,.15)!important;color:#fff!important}.bp3-toast[class*=bp3-intent-] .bp3-button:active{background-color:hsla(0,0%,100%,.3)!important;color:#fff!important}.bp3-toast[class*=bp3-intent-] .bp3-button:after{background:hsla(0,0%,100%,.3)!important}.bp3-toast.bp3-intent-primary{background-color:#137cbd;color:#fff}.bp3-toast.bp3-intent-success{background-color:#0f9960;color:#fff}.bp3-toast.bp3-intent-warning{background-color:#d9822b;color:#fff}.bp3-toast.bp3-intent-danger{background-color:#db3737;color:#fff}.bp3-toast-message{flex:1 1 auto;padding:11px;word-break:break-word}.bp3-toast-container{align-items:center;display:flex!important;flex-direction:column;left:0;overflow:hidden;padding:0 20px 20px;pointer-events:none;right:0;z-index:40}.bp3-toast-container.bp3-toast-container-in-portal{position:fixed}.bp3-toast-container.bp3-toast-container-inline{position:absolute}.bp3-toast-container.bp3-toast-container-top{top:0}.bp3-toast-container.bp3-toast-container-bottom{bottom:0;flex-direction:column-reverse;top:auto}.bp3-toast-container.bp3-toast-container-left{align-items:flex-start}.bp3-toast-container.bp3-toast-container-right{align-items:flex-end}.bp3-toast-container-bottom .bp3-toast.bp3-toast-appear:not(.bp3-toast-appear-active),.bp3-toast-container-bottom .bp3-toast.bp3-toast-appear:not(.bp3-toast-appear-active)~.bp3-toast,.bp3-toast-container-bottom .bp3-toast.bp3-toast-enter:not(.bp3-toast-enter-active),.bp3-toast-container-bottom .bp3-toast.bp3-toast-enter:not(.bp3-toast-enter-active)~.bp3-toast,.bp3-toast-container-bottom .bp3-toast.bp3-toast-exit-active~.bp3-toast,.bp3-toast-container-bottom .bp3-toast.bp3-toast-leave-active~.bp3-toast{-webkit-transform:translateY(60px);transform:translateY(60px)}.bp3-tooltip{box-shadow:0 0 0 1px rgba(16,22,26,.1),0 2px 4px rgba(16,22,26,.2),0 8px 24px rgba(16,22,26,.2);-webkit-transform:scale(1);transform:scale(1)}.bp3-tooltip .bp3-popover-arrow{height:22px;position:absolute;width:22px}.bp3-tooltip .bp3-popover-arrow:before{height:14px;margin:4px;width:14px}.bp3-tether-element-attached-bottom.bp3-tether-target-attached-top>.bp3-tooltip{margin-bottom:11px;margin-top:-11px}.bp3-tether-element-attached-bottom.bp3-tether-target-attached-top>.bp3-tooltip>.bp3-popover-arrow{bottom:-8px}.bp3-tether-element-attached-bottom.bp3-tether-target-attached-top>.bp3-tooltip>.bp3-popover-arrow svg{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}.bp3-tether-element-attached-left.bp3-tether-target-attached-right>.bp3-tooltip{margin-left:11px}.bp3-tether-element-attached-left.bp3-tether-target-attached-right>.bp3-tooltip>.bp3-popover-arrow{left:-8px}.bp3-tether-element-attached-left.bp3-tether-target-attached-right>.bp3-tooltip>.bp3-popover-arrow svg{-webkit-transform:rotate(0);transform:rotate(0)}.bp3-tether-element-attached-top.bp3-tether-target-attached-bottom>.bp3-tooltip{margin-top:11px}.bp3-tether-element-attached-top.bp3-tether-target-attached-bottom>.bp3-tooltip>.bp3-popover-arrow{top:-8px}.bp3-tether-element-attached-top.bp3-tether-target-attached-bottom>.bp3-tooltip>.bp3-popover-arrow svg{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.bp3-tether-element-attached-right.bp3-tether-target-attached-left>.bp3-tooltip{margin-left:-11px;margin-right:11px}.bp3-tether-element-attached-right.bp3-tether-target-attached-left>.bp3-tooltip>.bp3-popover-arrow{right:-8px}.bp3-tether-element-attached-right.bp3-tether-target-attached-left>.bp3-tooltip>.bp3-popover-arrow svg{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.bp3-tether-element-attached-middle>.bp3-tooltip>.bp3-popover-arrow{top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.bp3-tether-element-attached-center>.bp3-tooltip>.bp3-popover-arrow{right:50%;-webkit-transform:translateX(50%);transform:translateX(50%)}.bp3-tether-element-attached-top.bp3-tether-target-attached-top>.bp3-tooltip>.bp3-popover-arrow{top:-.22183px}.bp3-tether-element-attached-right.bp3-tether-target-attached-right>.bp3-tooltip>.bp3-popover-arrow{right:-.22183px}.bp3-tether-element-attached-left.bp3-tether-target-attached-left>.bp3-tooltip>.bp3-popover-arrow{left:-.22183px}.bp3-tether-element-attached-bottom.bp3-tether-target-attached-bottom>.bp3-tooltip>.bp3-popover-arrow{bottom:-.22183px}.bp3-tether-element-attached-top.bp3-tether-element-attached-left>.bp3-tooltip{-webkit-transform-origin:top left;transform-origin:top left}.bp3-tether-element-attached-top.bp3-tether-element-attached-center>.bp3-tooltip{-webkit-transform-origin:top center;transform-origin:top center}.bp3-tether-element-attached-top.bp3-tether-element-attached-right>.bp3-tooltip{-webkit-transform-origin:top right;transform-origin:top right}.bp3-tether-element-attached-middle.bp3-tether-element-attached-left>.bp3-tooltip{-webkit-transform-origin:center left;transform-origin:center left}.bp3-tether-element-attached-middle.bp3-tether-element-attached-center>.bp3-tooltip{-webkit-transform-origin:center center;transform-origin:center center}.bp3-tether-element-attached-middle.bp3-tether-element-attached-right>.bp3-tooltip{-webkit-transform-origin:center right;transform-origin:center right}.bp3-tether-element-attached-bottom.bp3-tether-element-attached-left>.bp3-tooltip{-webkit-transform-origin:bottom left;transform-origin:bottom left}.bp3-tether-element-attached-bottom.bp3-tether-element-attached-center>.bp3-tooltip{-webkit-transform-origin:bottom center;transform-origin:bottom center}.bp3-tether-element-attached-bottom.bp3-tether-element-attached-right>.bp3-tooltip{-webkit-transform-origin:bottom right;transform-origin:bottom right}.bp3-tooltip .bp3-popover-content{background:#394b59}.bp3-tooltip .bp3-heading,.bp3-tooltip .bp3-popover-content{color:#f5f8fa}.bp3-tooltip .bp3-popover-arrow:before{box-shadow:1px 1px 6px rgba(16,22,26,.2)}.bp3-tooltip .bp3-popover-arrow-border{fill:#10161a;fill-opacity:.1}.bp3-tooltip .bp3-popover-arrow-fill{fill:#394b59}.bp3-popover-appear>.bp3-tooltip,.bp3-popover-enter>.bp3-tooltip{-webkit-transform:scale(.8);transform:scale(.8)}.bp3-popover-appear-active>.bp3-tooltip,.bp3-popover-enter-active>.bp3-tooltip{-webkit-transform:scale(1);transform:scale(1);transition-delay:0;transition-duration:.1s;transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform;transition-timing-function:cubic-bezier(.4,1,.75,.9)}.bp3-popover-exit>.bp3-tooltip{-webkit-transform:scale(1);transform:scale(1)}.bp3-popover-exit-active>.bp3-tooltip{-webkit-transform:scale(.8);transform:scale(.8);transition-delay:0;transition-duration:.1s;transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform;transition-timing-function:cubic-bezier(.4,1,.75,.9)}.bp3-tooltip .bp3-popover-content{padding:10px 12px}.bp3-dark .bp3-tooltip,.bp3-tooltip.bp3-dark{box-shadow:0 0 0 1px rgba(16,22,26,.2),0 2px 4px rgba(16,22,26,.4),0 8px 24px rgba(16,22,26,.4)}.bp3-dark .bp3-tooltip .bp3-popover-content,.bp3-tooltip.bp3-dark .bp3-popover-content{background:#e1e8ed}.bp3-dark .bp3-tooltip .bp3-heading,.bp3-dark .bp3-tooltip .bp3-popover-content,.bp3-tooltip.bp3-dark .bp3-heading,.bp3-tooltip.bp3-dark .bp3-popover-content{color:#394b59}.bp3-dark .bp3-tooltip .bp3-popover-arrow:before,.bp3-tooltip.bp3-dark .bp3-popover-arrow:before{box-shadow:1px 1px 6px rgba(16,22,26,.4)}.bp3-dark .bp3-tooltip .bp3-popover-arrow-border,.bp3-tooltip.bp3-dark .bp3-popover-arrow-border{fill:#10161a;fill-opacity:.2}.bp3-dark .bp3-tooltip .bp3-popover-arrow-fill,.bp3-tooltip.bp3-dark .bp3-popover-arrow-fill{fill:#e1e8ed}.bp3-tooltip.bp3-intent-primary .bp3-popover-content{background:#137cbd;color:#fff}.bp3-tooltip.bp3-intent-primary .bp3-popover-arrow-fill{fill:#137cbd}.bp3-tooltip.bp3-intent-success .bp3-popover-content{background:#0f9960;color:#fff}.bp3-tooltip.bp3-intent-success .bp3-popover-arrow-fill{fill:#0f9960}.bp3-tooltip.bp3-intent-warning .bp3-popover-content{background:#d9822b;color:#fff}.bp3-tooltip.bp3-intent-warning .bp3-popover-arrow-fill{fill:#d9822b}.bp3-tooltip.bp3-intent-danger .bp3-popover-content{background:#db3737;color:#fff}.bp3-tooltip.bp3-intent-danger .bp3-popover-arrow-fill{fill:#db3737}.bp3-tooltip-indicator{border-bottom:1px dotted;cursor:help}.bp3-tree .bp3-icon,.bp3-tree .bp3-icon-large,.bp3-tree .bp3-icon-standard{color:#5c7080}.bp3-tree .bp3-icon-large.bp3-intent-primary,.bp3-tree .bp3-icon-standard.bp3-intent-primary,.bp3-tree .bp3-icon.bp3-intent-primary{color:#137cbd}.bp3-tree .bp3-icon-large.bp3-intent-success,.bp3-tree .bp3-icon-standard.bp3-intent-success,.bp3-tree .bp3-icon.bp3-intent-success{color:#0f9960}.bp3-tree .bp3-icon-large.bp3-intent-warning,.bp3-tree .bp3-icon-standard.bp3-intent-warning,.bp3-tree .bp3-icon.bp3-intent-warning{color:#d9822b}.bp3-tree .bp3-icon-large.bp3-intent-danger,.bp3-tree .bp3-icon-standard.bp3-intent-danger,.bp3-tree .bp3-icon.bp3-intent-danger{color:#db3737}.bp3-tree-node-list{list-style:none;margin:0;padding-left:0}.bp3-tree-root{background-color:initial;cursor:default;padding-left:0;position:relative}.bp3-tree-node-content-0{padding-left:0}.bp3-tree-node-content-1{padding-left:23px}.bp3-tree-node-content-2{padding-left:46px}.bp3-tree-node-content-3{padding-left:69px}.bp3-tree-node-content-4{padding-left:92px}.bp3-tree-node-content-5{padding-left:115px}.bp3-tree-node-content-6{padding-left:138px}.bp3-tree-node-content-7{padding-left:161px}.bp3-tree-node-content-8{padding-left:184px}.bp3-tree-node-content-9{padding-left:207px}.bp3-tree-node-content-10{padding-left:230px}.bp3-tree-node-content-11{padding-left:253px}.bp3-tree-node-content-12{padding-left:276px}.bp3-tree-node-content-13{padding-left:299px}.bp3-tree-node-content-14{padding-left:322px}.bp3-tree-node-content-15{padding-left:345px}.bp3-tree-node-content-16{padding-left:368px}.bp3-tree-node-content-17{padding-left:391px}.bp3-tree-node-content-18{padding-left:414px}.bp3-tree-node-content-19{padding-left:437px}.bp3-tree-node-content-20{padding-left:460px}.bp3-tree-node-content{align-items:center;display:flex;height:30px;padding-right:5px;width:100%}.bp3-tree-node-content:hover{background-color:rgba(191,204,214,.4)}.bp3-tree-node-caret,.bp3-tree-node-caret-none{min-width:30px}.bp3-tree-node-caret{color:#5c7080;cursor:pointer;padding:7px;-webkit-transform:rotate(0deg);transform:rotate(0deg);transition:-webkit-transform .2s cubic-bezier(.4,1,.75,.9);transition:transform .2s cubic-bezier(.4,1,.75,.9);transition:transform .2s cubic-bezier(.4,1,.75,.9),-webkit-transform .2s cubic-bezier(.4,1,.75,.9)}.bp3-tree-node-caret:hover{color:#182026}.bp3-dark .bp3-tree-node-caret{color:#a7b6c2}.bp3-dark .bp3-tree-node-caret:hover{color:#f5f8fa}.bp3-tree-node-caret.bp3-tree-node-caret-open{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.bp3-tree-node-caret.bp3-icon-standard:before{content:""}.bp3-tree-node-icon{margin-right:7px;position:relative}.bp3-tree-node-label{word-wrap:normal;flex:1 1 auto;overflow:hidden;position:relative;text-overflow:ellipsis;-webkit-user-select:none;user-select:none;white-space:nowrap}.bp3-tree-node-label span{display:inline}.bp3-tree-node-secondary-label{padding:0 5px;-webkit-user-select:none;user-select:none}.bp3-tree-node-secondary-label .bp3-popover-target,.bp3-tree-node-secondary-label .bp3-popover-wrapper{align-items:center;display:flex}.bp3-tree-node.bp3-disabled .bp3-tree-node-content{background-color:inherit;color:rgba(92,112,128,.6);cursor:not-allowed}.bp3-tree-node.bp3-disabled .bp3-tree-node-caret,.bp3-tree-node.bp3-disabled .bp3-tree-node-icon{color:rgba(92,112,128,.6);cursor:not-allowed}.bp3-tree-node.bp3-tree-node-selected>.bp3-tree-node-content{background-color:#137cbd}.bp3-tree-node.bp3-tree-node-selected>.bp3-tree-node-content,.bp3-tree-node.bp3-tree-node-selected>.bp3-tree-node-content .bp3-icon,.bp3-tree-node.bp3-tree-node-selected>.bp3-tree-node-content .bp3-icon-large,.bp3-tree-node.bp3-tree-node-selected>.bp3-tree-node-content .bp3-icon-standard{color:#fff}.bp3-tree-node.bp3-tree-node-selected>.bp3-tree-node-content .bp3-tree-node-caret:before{color:hsla(0,0%,100%,.7)}.bp3-tree-node.bp3-tree-node-selected>.bp3-tree-node-content .bp3-tree-node-caret:hover:before{color:#fff}.bp3-dark .bp3-tree-node-content:hover{background-color:rgba(92,112,128,.3)}.bp3-dark .bp3-tree .bp3-icon,.bp3-dark .bp3-tree .bp3-icon-large,.bp3-dark .bp3-tree .bp3-icon-standard{color:#a7b6c2}.bp3-dark .bp3-tree .bp3-icon-large.bp3-intent-primary,.bp3-dark .bp3-tree .bp3-icon-standard.bp3-intent-primary,.bp3-dark .bp3-tree .bp3-icon.bp3-intent-primary{color:#137cbd}.bp3-dark .bp3-tree .bp3-icon-large.bp3-intent-success,.bp3-dark .bp3-tree .bp3-icon-standard.bp3-intent-success,.bp3-dark .bp3-tree .bp3-icon.bp3-intent-success{color:#0f9960}.bp3-dark .bp3-tree .bp3-icon-large.bp3-intent-warning,.bp3-dark .bp3-tree .bp3-icon-standard.bp3-intent-warning,.bp3-dark .bp3-tree .bp3-icon.bp3-intent-warning{color:#d9822b}.bp3-dark .bp3-tree .bp3-icon-large.bp3-intent-danger,.bp3-dark .bp3-tree .bp3-icon-standard.bp3-intent-danger,.bp3-dark .bp3-tree .bp3-icon.bp3-intent-danger{color:#db3737}.bp3-dark .bp3-tree-node.bp3-tree-node-selected>.bp3-tree-node-content{background-color:#137cbd}@font-face{font-family:Icons16;font-style:normal;font-weight:400;src:url(/static/media/icons-16.2368f88a078780d80145.eot?#iefix) format("embedded-opentype"),url(/static/media/icons-16.1645f50fb7f7c109f64e.woff) format("woff"),url(/static/media/icons-16.13933033991f62d6bb64.ttf) format("truetype")}@font-face{font-family:Icons20;font-style:normal;font-weight:400;src:url(/static/media/icons-20.cde033c5d3f24283f757.eot?#iefix) format("embedded-opentype"),url(/static/media/icons-20.1ef633d3a28d0986f63e.woff) format("woff"),url(/static/media/icons-20.57b3e708b232fdcb64f9.ttf) format("truetype")}
-/*# sourceMappingURL=main.b763cf93.css.map*/
\ No newline at end of file
diff --git a/mephisto/client/full/webapp/build/static/css/main.b763cf93.css.map b/mephisto/client/full/webapp/build/static/css/main.b763cf93.css.map
deleted file mode 100644
index 1f41ce5e3..000000000
--- a/mephisto/client/full/webapp/build/static/css/main.b763cf93.css.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"static/css/main.b763cf93.css","mappings":"AAyGA,gBCauC,CCjHvC,KAKE,kCAAmC,CACnC,iCAAkC,CAClC,wBAAyB,CALzB,mIAEY,CAHZ,QAOF,CAEA,EACE,qBACF,CAEA,KACE,uEAEF,CChBA,WAKE,sBAAuB,CAHvB,YAAa,CAEb,kBAAmB,CADnB,gBAAiB,CAFjB,mBAKF,CAEA,eACE,WAAY,CACZ,iBACF,CAEA,0BAEE,eAAgB,CADhB,cAEF,CAEA,yCACE,WACE,qBACF,CACA,eACE,kBAAmB,CACnB,cACF,CACF,CAEA,gBAME,iEAAiC,CAJjC,0BAA2B,CAD3B,2BAA4B,CAQ5B,+BAAiC,CANjC,YAAa,CAIb,iBAAkB,CAClB,UAAW,CAJX,UAMF,CAEA,OAGE,aAAc,CADd,gBAAiB,CADjB,YAGF,CAEA,GAEE,cAAe,CADf,QAEF,CAEA,YACE,iBACF,CAEA,QACE,mDAAiD,CAAjD,2CAAiD,CACjD,oCAA6B,CAA7B,4BAA6B,CAE7B,4BAA8B,CAD9B,SAAU,CAEV,qBACF,CAEA,oBACE,2BAAqB,CAArB,mBACF,CACA,qBACE,4BAAsB,CAAtB,oBACF,CACA,qBACE,2BAAqB,CAArB,mBACF,CACA,qBACE,4BAAsB,CAAtB,oBACF,CAEA,0BACE,GACE,SAAU,CACV,4CAA2C,CAA3C,oCACF,CACA,IACE,kCAA2B,CAA3B,0BACF,CACA,GACE,SAAU,CACV,wCAAsC,CAAtC,gCACF,CACF,CAZA,kBACE,GACE,SAAU,CACV,4CAA2C,CAA3C,oCACF,CACA,IACE,kCAA2B,CAA3B,0BACF,CACA,GACE,SAAU,CACV,wCAAsC,CAAtC,gCACF,CACF,CAEA,gBACE,iBACF,CAEA,aAQE,6BAAoC,CAFpC,iBAAkB,CAClB,4CAAiD,CAHjD,aAAc,CACd,iBAAkB,CAFlB,eAAgB,CADhB,eAAgB,CADhB,eAAgB,CAQhB,eACF,CAKA,gBAEE,aACF,CAEA,0BACE,UACF,CAEA,SACE,cAAe,CACf,eACF,CAEA,SACE,YAAa,CACb,kBAAmB,CAEnB,cAAe,CADf,sBAEF,CAEA,QAKE,UAAW,CACX,QAAO,CAFP,cAAe,CAHf,QAAmB,CAEnB,YAAa,CADb,iBAKF,CAEA,6CACE,eACF,CAEA,cACE,aAAc,CACd,cACF,CAEA,YACE,wBAAoC,CAKpC,wBAAmB,CACnB,iBAAkB,CAJlB,kBAAmB,CADnB,YAMF,CAEA,8BACE,wBAAyB,CACzB,6BAA4B,CAA5B,qBAA4B,CAC5B,yCAAmC,CAAnC,iCAAmC,CAAnC,gEACF,CAEA,uBAIE,qBAAsB,CAFtB,aAAc,CADd,gBAAiB,CAEjB,YAEF,CCxKA,KACE,qBAAsB,CAIxB,iBAGE,kBAAmB,CAKrB,KAEE,aCXkB,CDYlB,gIEKyB,CCYzB,cDRgC,CCShC,eAAgB,CAChB,gBAAiB,CACjB,mBDNoD,CCOpD,mBDhByB,CFF3B,EACE,kBEZiB,CFajB,YAAa,CAGf,MACE,cEEsC,CFCxC,OACE,eAAgB,CAIlB,YACE,+BIjBgD,CCClD,aF4BE,aF1CkB,CE2ClB,eAAgB,CE3BhB,eHZiB,CGajB,SAAU,CF4BV,uBACE,aF9BiB,CIenB,oCACE,cAVS,CAWT,gBAXe,CASjB,oCACE,cATS,CAUT,gBAVe,CAQjB,oCACE,cARS,CAST,gBATe,CAOjB,oCACE,cAPS,CAQT,gBARe,CAMjB,oCACE,cANS,CAOT,gBAPe,CAKjB,oCACE,cALS,CAMT,gBANe,CAqCnB,aFnCE,cDRgC,CCShC,eAAgB,CAChB,gBAAiB,CACjB,mBDNoD,CCOpD,mBAAoB,CEmCtB,oBFjBE,qBDhCkC,CCiClC,mBAAoB,CEsBtB,gBACE,aJrEa,CIuEb,0BACE,aJrEW,CIyEf,mBACE,yBJ7Ea,CI+Eb,6BACE,0BJ7EW,CIiFf,4BF/BE,gBAAiB,CAHjB,eAAgB,CAChB,sBAAuB,CACvB,kBACiB,CE+DnB,kBFrFE,cDhBgC,CCiBhC,eAAgB,CEoFlB,qBFhFE,aF1CkB,CE2ClB,eAAgB,CEsFZ,kBAAgC,CAChC,eAA6B,CFrFjC,+BACE,aF9BiB,CI0GrB,qBFhFE,aF1CkB,CE2ClB,eAAgB,CEsFZ,kBAAgC,CAChC,eAA6B,CFrFjC,+BACE,aF9BiB,CI0GrB,qBFhFE,aF1CkB,CE2ClB,eAAgB,CEsFZ,kBAAgC,CAChC,eAA6B,CFrFjC,+BACE,aF9BiB,CI0GrB,qBFhFE,aF1CkB,CE2ClB,eAAgB,CEsFZ,kBAAgC,CAChC,eAA6B,CFrFjC,+BACE,aF9BiB,CI0GrB,qBFhFE,aF1CkB,CE2ClB,eAAgB,CEsFZ,kBAAgC,CAChC,eAA6B,CFrFjC,+BACE,aF9BiB,CI0GrB,qBFhFE,aF1CkB,CE2ClB,eAAgB,CEsFZ,kBAAgC,CAChC,eAA6B,CFrFjC,+BACE,aF9BiB,CI0GrB,qBAcI,WJ1IW,CI0IX,0CJ1IW,CI2IX,aAA6B,CAE7B,+BACE,gCJ1HS,CIwGf,oBAuBI,eH7Ie,CG8If,SAAU,CA8Bd,gBACE,cH3JsC,CG+JxC,gBACE,cH/JsC,CG8KxC,EAEE,oBAAqB,CAFvB,UACE,aAM4B,CAP9B,QAMI,cAAe,CACf,yBAA0B,CAP9B,2EAgBI,aAAc,CAGhB,8BAEE,aJhMW,CI8Lb,oLAKI,aAAc,CAnGpB,iCAgIE,6BJxOa,CI0Ob,iBHtNyC,CGuNzC,4CJ/Pa,CIgQb,aJxPa,CE6Cb,qBDhCkC,CG4OlC,iBAAkB,CAClB,eAAgB,CF5MhB,mBE4MgB,CAEhB,sFACE,4BJrQW,CIsQX,4CJtQW,CIuQX,aJ5PW,CIiHf,qCAiJI,aJnPW,CIqPX,4FACE,aAAc,CApJpB,sCAsKE,oBAAqB,CAXrB,6BJnQa,CIoQb,iBHhPyC,CGiPzC,6CJzRa,CI0Rb,aJxRkB,CI0RlB,aAAc,CFvOd,qBDhCkC,CGwQlC,cAA8B,CAC9B,eAAgB,CAChB,aAAuB,CACvB,sBAA0E,CF1O1E,mBAAoB,CE2OpB,oBACqB,CAErB,0FACE,4BJrSW,CIsSX,4CJtSW,CIuSX,aJrRiB,CI0GrB,gDA+KI,eAAgB,CAChB,eAAgB,CAChB,aAAc,CACd,iBAAkB,CAClB,SAAU,CAnLd,+BAgME,kBAAmB,CACnB,eJzSa,CI0Sb,iBHtRyC,CGuRzC,yFJ/Ta,CIgUb,aJxTa,CIyTb,mBAAoB,CACpB,mBAAoB,CACpB,cH1SsC,CG2StC,WHxR0C,CGyR1C,sBAAuB,CACvB,gBH1R0C,CG2R1C,cH3R0C,CG4R1C,eAAkD,CAClD,qBAAsB,CA7MxB,uLAgNI,gBAA+B,CAGjC,mFACE,kBJ1UgB,CI2UhB,yFJjVW,CIkVX,aJvUW,CIiHf,6CA6OE,0CJ9Va,CI+Vb,eHpWiB,CGqWjB,cAA8B,CAE9B,wGACE,iCJrWW,CImHf,oDAiRE,aAAuB,CACvB,iBAA+B,CAlRjC,gHAqRI,iBAAgC,CArRpC,0HA2RI,cAA6B,CAQjC,mBACE,eAAgB,CAChB,QAAS,CACT,SAAU,CAHZ,sBAMI,SAAU,CAsBd,SACE,gBAAiB,CAGnB,UACE,aJ9amB,CKxBrB,OHyEE,uBAAwB,CAFxB,oCAAmC,CACnC,kBACwB,CGpE1B,6EAMI,sBAAwB,CCT5B,WACE,eAA6B,CAC7B,YAA0B,CAG5B,gBACE,YAAa,CADf,0BAII,cAAkC,CAClC,iBAA+B,CAC/B,YAAa,CAIjB,oBACE,qBAAsB,CAGxB,kBACE,YAAa,CACb,0BAA2B,CAC3B,eLZiB,CKSnB,8BAMI,gBLfe,CMMnB,iBAEE,cAAe,CAEf,cAAe,CACf,WNgCiC,CM/BjC,eAAgB,CAEhB,QAAS,CACT,SAAU,CATZ,qCACE,kBAAmB,CAEnB,YAWe,CAdjB,0BAiBM,iWAA8E,CAC9E,UAAW,CACX,aAAc,CACd,WNGsB,CMFtB,YAA6B,CAC7B,UNCsB,CMvB5B,uCA0BM,YAAa,CAKnB,mEAGE,kBAAmB,CACnB,mBAAoB,CACpB,cNxBsC,CM2BxC,2CAEE,aP7Ca,COgDf,sBAEI,oBAAqB,CAFzB,6BAMI,yBPtDW,COuDX,kBAAmB,CAPvB,0BAWI,gBAA+B,CAInC,wBACE,aAAc,CACd,eAAgB,CAFlB,mCAKI,iBAAkB,CAClB,mBAAoB,CACpB,sBAAwB,CAI5B,2BACE,kBPrEmB,COsEnB,WAAY,CACZ,iBN7CyC,CM8CzC,cAAe,CACf,gBAAiB,CACjB,eAAgC,CAChC,0BAA2B,CAP7B,kCAUI,wRAAwF,CACxF,UAAW,CACX,aAAc,CACd,WN5DwB,CM6DxB,UN7DwB,CM+C5B,iCAkBI,kBPxFW,COyFX,aPnGgB,COoGhB,oBAAqB,CAIzB,mGAOI,aPtGW,CO+Ff,uCAWI,0BP1GW,CO+Ff,kCAeI,aPvGiB,COwFrB,qCAmBI,4BP7HW,CO0Gf,2CAsBM,4BPhIS,COiIT,aP/Ge,CQCrB,YCyEE,kBAAmB,CAEnB,WAAY,CACZ,iBRvDyC,CQwDzC,cAAe,CChGb,mBAAoB,CAItB,kBDuF8B,CAM9B,cR1EgC,CQ2EhC,sBAAuB,CAOvB,eR9DkC,CQ+DlC,cR/DkC,CQwDlC,gBR7FiB,CQ8FjB,eAAgB,CAChB,qBR1DkC,CSrClC,cACE,WAAY,CACZ,aAAc,CAGhB,sBACE,WAAY,CACZ,aAAc,CAehB,iCAGE,gBD7BkE,CCiCpE,iDAEE,cAAkB,CFlBtB,kBAOI,mBAAqB,CAPzB,8CAYI,kBAAmB,CAZvB,qBAgBI,YAAa,CACb,UAAW,CAjBf,yDAsBI,gBAAiB,CAtBrB,uDA2BI,eAAgB,CA3BpB,sCC4GE,wBT7GmB,CS8GnB,6EA7E8E,CA8E9E,6ETjIa,CSkIb,aThIkB,CQiBpB,4CCiIE,2BAA4B,CAC5B,wBTpImB,CSqInB,6ETtJa,CQmBf,8FCuIE,wBT3ImB,CS4InB,qBAAsB,CACtB,8ET5Ja,CQmBf,kGC6IE,qCTlJmB,CSmJnB,qBAAsB,CACtB,eAAgB,CAChB,yBT3Ja,CS4Jb,kBAAmB,CACnB,YAAa,CDlJf,4PCsJI,+BT3JiB,CQKrB,+BC2JE,wBTpJa,CSqJb,6EA3HqF,CA4HrF,6EThLa,CSiLb,UT7Ja,CQDf,qHCmKI,UTlKW,CQDf,qCCuKI,wBTjKW,CSkKX,6ET3LW,CQmBf,gFC6KI,wBTxKW,CSyKX,qBAAsB,CACtB,8ETlMW,CQmBf,oFCyLE,oCTlLa,CSmLb,qBAAsB,CACtB,wBAAyB,CACzB,eAAgB,CAChB,wBT5La,CQDf,+BC2JE,wBT9Ic,CS+Id,6EA3HqF,CA4HrF,6EThLa,CSiLb,UT7Ja,CQDf,qHCmKI,UTlKW,CQDf,qCCuKI,wBT3JY,CS4JZ,6ET3LW,CQmBf,gFC6KI,wBTlKY,CSmKZ,qBAAsB,CACtB,8ETlMW,CQmBf,oFCyLE,mCT5Kc,CS6Kd,qBAAsB,CACtB,wBAAyB,CACzB,eAAgB,CAChB,wBT5La,CQDf,+BC2JE,wBTxIe,CSyIf,6EA3HqF,CA4HrF,6EThLa,CSiLb,UT7Ja,CQDf,qHCmKI,UTlKW,CQDf,qCCuKI,wBTrJa,CSsJb,6ET3LW,CQmBf,gFC6KI,wBT5Ja,CS6Jb,qBAAsB,CACtB,8ETlMW,CQmBf,oFCyLE,oCTtKe,CSuKf,qBAAsB,CACtB,wBAAyB,CACzB,eAAgB,CAChB,wBT5La,CQDf,8BC2JE,wBTlIY,CSmIZ,6EA3HqF,CA4HrF,6EThLa,CSiLb,UT7Ja,CQDf,kHCmKI,UTlKW,CQDf,oCCuKI,wBT/IU,CSgJV,6ET3LW,CQmBf,8EC6KI,wBTtJU,CSuJV,qBAAsB,CACtB,8ETlMW,CQmBf,kFCyLE,mCThKY,CSiKZ,qBAAsB,CACtB,wBAAyB,CACzB,eAAgB,CAChB,wBT5La,CQDf,sEA2CI,WR1CW,CQDf,6CC6FE,cRxFsC,CQiFtC,eR3DwC,CQ4DxC,cR5DwC,CQmExC,gBAhH8D,CC2B9D,4GAGE,iBD5B2E,CCgC7E,4IAEE,cAAkB,CFlBtB,6CCsFE,eR7D0C,CQ8D1C,cR9D0C,CQ+E1C,aA3H4C,CDmB9C,wBA2DI,iBAAkB,CA3DtB,iDA8DM,iBAAkB,CA9DxB,4CAkEM,QAAS,CAET,iBAAkB,CApExB,kDAwEM,iBAAkB,CAxExB,qCGbE,iCAAkC,CAClC,kCAAmC,CH4F/B,aR3FS,CWMb,8BAAoD,CACpD,cVoB0B,CUnB1B,iBAAkB,CAClB,eAAgB,CAChB,aXVa,CQWf,iFAqFI,aRhGW,CQWf,iIAwFM,eCzGgE,CDiBtE,2FAiGI,aAA6D,CAI/D,gDC4FA,wBT9MkB,CS+MlB,8EAhKoF,CAiKpF,sCTtNa,CSuNb,aTrMmB,CQsGnB,wKCoGE,aT1MiB,CQsGnB,sDC4HA,wBT/OkB,CSgPlB,sCTrPa,CQwHb,kHCiIA,wBTtPkB,CSuPlB,qBAAsB,CACtB,wET3Pa,CQwHb,sHCuIA,kCTzPkB,CS0PlB,qBAAsB,CACtB,eAAgB,CAChB,0BTvPa,CQ6Gb,4IC6IE,4BT/PgB,CQkHlB,sFCuHE,cTrOW,CSoOX,4BTpOW,CQ8Gb,oVAUQ,aRvHK,CQ6Gb,0FCqJE,sCT7QW,CQwHb,sGC0JE,wETlRW,CQwHb,0GCoKA,qBAAsB,CACtB,eAAgB,CAChB,wBT1Qa,CQoGb,gFAmBM,cRjIO,CQSf,odAoIM,uBAAyB,CApI/B,wBC+QE,eA3NoC,CA4NpC,eAAgB,CDhRlB,8BCmRI,+BT3RW,CS4RX,eAAgB,CAChB,aTtSgB,CSuShB,oBAAqB,CDtRzB,kEC2RI,+BTrSW,CSsSX,eAAgB,CAChB,aT9SgB,CQiBpB,wJCoSI,eAAgB,CAChB,yBThTW,CSiTX,kBAAmB,CDtSvB,oMCySM,+BTnTS,CSuTb,kCAgBA,eAtQyC,CAuQzC,eAAgB,CAChB,aAAc,CAlBd,8HAuBE,eAAgB,CAChB,eAAgB,CAxBlB,wCA4BE,gCTlVW,CSsTb,sFAiCE,+BTvVW,CSwVX,aThViB,CS8SnB,gMAyCE,eAAgB,CAChB,0BT/VW,CSgWX,kBAAmB,CA3CrB,4OA8CI,+BTpWS,CQSf,2CCiWE,aT3Va,CQNf,yJCsWI,eAAgB,CAChB,eAAgB,CAChB,aTlWW,CQNf,iDC4WI,+BTrWW,CSsWX,aTvWW,CQNf,wGCkXI,8BT3WW,CS4WX,aT7WW,CQNf,4GCwXI,eAAgB,CAChB,yBTnXW,CQNf,kIC4XM,8BTrXS,CQPf,iFCiYI,cT3XW,CS8Xb,qDACE,aT5XW,CS2Xb,2DAII,8BTjYS,CSkYT,aThYS,CS2Xb,4HAUI,8BTvYS,CSwYT,aTtYS,CS2Xb,gIAgBI,eAAgB,CAChB,yBT5YS,CS2Xb,sJAoBM,8BTjZO,CQPf,2CCiWE,aTrVc,CQZhB,yJCsWI,eAAgB,CAChB,eAAgB,CAChB,aT5VY,CQZhB,iDC4WI,8BT/VY,CSgWZ,aTjWY,CQZhB,wGCkXI,6BTrWY,CSsWZ,aTvWY,CQZhB,4GCwXI,eAAgB,CAChB,wBT7WY,CQZhB,kIC4XM,6BT/WU,CQbhB,iFCiYI,cTrXY,CSwXd,qDACE,aTtXY,CSqXd,2DAII,6BT3XU,CS4XV,aT1XU,CSqXd,4HAUI,6BTjYU,CSkYV,aThYU,CSqXd,gIAgBI,eAAgB,CAChB,yBTtYU,CSqXd,sJAoBM,6BT3YQ,CQbhB,2CCiWE,aT/Ue,CQlBjB,yJCsWI,eAAgB,CAChB,eAAgB,CAChB,aTtVa,CQlBjB,iDC4WI,+BTzVa,CS0Vb,aT3Va,CQlBjB,wGCkXI,8BT/Va,CSgWb,aTjWa,CQlBjB,4GCwXI,eAAgB,CAChB,yBTvWa,CQlBjB,kIC4XM,8BTzWW,CQnBjB,iFCiYI,cT/Wa,CSkXf,qDACE,aThXa,CS+Wf,2DAII,8BTrXW,CSsXX,aTpXW,CS+Wf,4HAUI,8BT3XW,CS4XX,aT1XW,CS+Wf,gIAgBI,eAAgB,CAChB,0BThYW,CS+Wf,sJAoBM,8BTrYS,CQnBjB,0CCiWE,aTzUY,CQxBd,sJCsWI,eAAgB,CAChB,eAAgB,CAChB,aThVU,CQxBd,gDC4WI,8BTnVU,CSoVV,aTrVU,CQxBd,sGCkXI,6BTzVU,CS0VV,aT3VU,CQxBd,0GCwXI,eAAgB,CAChB,wBTjWU,CQxBd,gIC4XM,6BTnWQ,CQzBd,gFCiYI,cTzWU,CS4WZ,oDACE,aT1WU,CSyWZ,0DAII,6BT/WQ,CSgXR,aT9WQ,CSyWZ,0HAUI,6BTrXQ,CSsXR,aTpXQ,CSyWZ,8HAgBI,eAAgB,CAChB,yBT1XQ,CSyWZ,oJAoBM,6BT/XM,CQzBd,yBC+QE,eA3NoC,CAuXpC,kCT5bkB,CSiSlB,eAAgB,CA4JhB,qBAAsB,CD5axB,+BCmRI,+BT3RW,CS4RX,eAAgB,CAChB,aTtSgB,CSuShB,oBAAqB,CDtRzB,oEC2RI,+BTrSW,CSsSX,eAAgB,CAChB,aT9SgB,CQiBpB,4JCoSI,eAAgB,CAChB,yBThTW,CSiTX,kBAAmB,CDtSvB,wMCySM,+BTnTS,CSuTb,mCAgBA,eAtQyC,CAuQzC,eAAgB,CAChB,aAAc,CAlBd,iIAuBE,eAAgB,CAChB,eAAgB,CAxBlB,yCA4BE,gCTlVW,CSsTb,wFAiCE,+BTvVW,CSwVX,aThViB,CS8SnB,oMAyCE,eAAgB,CAChB,0BT/VW,CSgWX,kBAAmB,CA3CrB,gPA8CI,+BTpWS,CQSf,4CCiWE,aT3Va,CQNf,4JCsWI,eAAgB,CAChB,eAAgB,CAChB,aTlWW,CQNf,kDC4WI,+BTrWW,CSsWX,aTvWW,CQNf,0GCkXI,8BT3WW,CS4WX,aT7WW,CQNf,8GCwXI,eAAgB,CAChB,yBTnXW,CQNf,oIC4XM,8BTrXS,CQPf,kFCiYI,cT3XW,CS8Xb,sDACE,aT5XW,CS2Xb,4DAII,8BTjYS,CSkYT,aThYS,CS2Xb,8HAUI,8BTvYS,CSwYT,aTtYS,CS2Xb,kIAgBI,eAAgB,CAChB,yBT5YS,CS2Xb,wJAoBM,8BTjZO,CQPf,4CCiWE,aTrVc,CQZhB,4JCsWI,eAAgB,CAChB,eAAgB,CAChB,aT5VY,CQZhB,kDC4WI,8BT/VY,CSgWZ,aTjWY,CQZhB,0GCkXI,6BTrWY,CSsWZ,aTvWY,CQZhB,8GCwXI,eAAgB,CAChB,wBT7WY,CQZhB,oIC4XM,6BT/WU,CQbhB,kFCiYI,cTrXY,CSwXd,sDACE,aTtXY,CSqXd,4DAII,6BT3XU,CS4XV,aT1XU,CSqXd,8HAUI,6BTjYU,CSkYV,aThYU,CSqXd,kIAgBI,eAAgB,CAChB,yBTtYU,CSqXd,wJAoBM,6BT3YQ,CQbhB,4CCiWE,aT/Ue,CQlBjB,4JCsWI,eAAgB,CAChB,eAAgB,CAChB,aTtVa,CQlBjB,kDC4WI,+BTzVa,CS0Vb,aT3Va,CQlBjB,0GCkXI,8BT/Va,CSgWb,aTjWa,CQlBjB,8GCwXI,eAAgB,CAChB,yBTvWa,CQlBjB,oIC4XM,8BTzWW,CQnBjB,kFCiYI,cT/Wa,CSkXf,sDACE,aThXa,CS+Wf,4DAII,8BTrXW,CSsXX,aTpXW,CS+Wf,8HAUI,8BT3XW,CS4XX,aT1XW,CS+Wf,kIAgBI,eAAgB,CAChB,0BThYW,CS+Wf,wJAoBM,8BTrYS,CQnBjB,2CCiWE,aTzUY,CQxBd,yJCsWI,eAAgB,CAChB,eAAgB,CAChB,aThVU,CQxBd,iDC4WI,8BTnVU,CSoVV,aTrVU,CQxBd,wGCkXI,6BTzVU,CS0VV,aT3VU,CQxBd,4GCwXI,eAAgB,CAChB,wBTjWU,CQxBd,kIC4XM,6BTnWQ,CQzBd,iFCiYI,cTzWU,CS4WZ,qDACE,aT1WU,CSyWZ,2DAII,6BT/WQ,CSgXR,aT9WQ,CSyWZ,4HAUI,6BTrXQ,CSsXR,aTpXQ,CSyWZ,gIAgBI,eAAgB,CAChB,yBT1XQ,CSyWZ,sJAoBM,6BT/XM,CQzBd,4JCkbI,gCT7bW,CSwTb,mCAuJA,+BTnca,CS4Sb,oMA6JE,+BTzcW,CQDf,4CC+cE,gCTzca,CQNf,8GCmdI,gCT7cW,CS8Xb,sDAmFE,gCT9cW,CS2Xb,kIAuFI,gCTldS,CQTf,4CC+cE,+BTncc,CQZhB,8GCmdI,+BTvcY,CSwXd,sDAmFE,gCTxcY,CSqXd,kIAuFI,gCT5cU,CQfhB,4CC+cE,gCT7be,CQlBjB,8GCmdI,gCTjca,CSkXf,sDAmFE,iCTlca,CS+Wf,kIAuFI,iCTtcW,CQrBjB,2CC+cE,+BTvbY,CQxBd,4GCmdI,+BT3bU,CS4WZ,qDAmFE,gCT5bU,CSyWZ,gIAuFI,gCThcQ,CQyHd,aACE,iBAAkB,CAClB,oBAAqB,CACrB,eAAgB,CAHlB,oDASI,aR9KgB,CQqKpB,0BAaI,yBR5KW,CQgLf,iBAEE,aAAc,CAIhB,8LAKM,aAAc,CIlKpB,kBACE,mBAwIE,CAzIJ,8BAKI,aAAc,CACd,iBAAkB,CAClB,SAAsD,CAP1D,oCAeM,SAAoD,CAf1D,oCAmBM,SAAoD,CAnB1D,8EAwBM,SAAqD,CAxB3D,kFA6BM,SAAuD,CA7B7D,kDAiCM,SAA6D,CAjCnE,wDAoCQ,UAA2D,CApCnE,wDAwCQ,UAA2D,CAxCnE,sHA6CQ,UAA4D,CA7CpE,0HAkDQ,SAA8D,CAlDtE,yJA2DM,2BAA4B,CAC5B,wBAAyB,CA5D/B,uJAiEM,4BAA6B,CAC7B,yBAA0B,CAC1B,iBHtGmB,CGmCzB,0CHiQE,eA3NoC,CA4NpC,eAAgB,CAEhB,gDACE,+BT3RW,CS4RX,eAAgB,CAChB,aTtSgB,CSuShB,oBAAqB,CAGvB,sGAEE,+BTrSW,CSsSX,eAAgB,CAChB,aT9SgB,CSiTlB,gOAIE,eAAgB,CAChB,yBThTW,CSiTX,kBAAmB,CAEnB,4QACE,+BTnTS,CSuTb,oDAgBA,eAtQyC,CAuQzC,eAAgB,CAChB,aAAc,CAlBd,oLAuBE,eAAgB,CAChB,eAAgB,CAxBlB,0DA4BE,gCTlVW,CSsTb,0HAiCE,+BTvVW,CSwVX,aThViB,CS8SnB,wQAyCE,eAAgB,CAChB,0BT/VW,CSgWX,kBAAmB,CA3CrB,oTA8CI,+BTpWS,CS2TX,6DA+CF,aT3Va,CS6Vb,+MAGE,eAAgB,CAChB,eAAgB,CAChB,aTlWW,CSqWb,mEACE,+BTrWW,CSsWX,aTvWW,CS0Wb,4IAEE,8BT3WW,CS4WX,aT7WW,CSgXb,gJAEE,eAAgB,CAChB,yBTnXW,CSqXX,sKACE,8BTrXS,CSyXb,mGACE,cT3XW,CS8Xb,uEACE,aT5XW,CS2Xb,6EAII,8BTjYS,CSkYT,aThYS,CS2Xb,gKAUI,8BTvYS,CSwYT,aTtYS,CS2Xb,oKAgBI,eAAgB,CAChB,yBT5YS,CS2Xb,0LAoBM,8BTjZO,CS2SX,6DA+CF,aTrVc,CSuVd,+MAGE,eAAgB,CAChB,eAAgB,CAChB,aT5VY,CS+Vd,mEACE,8BT/VY,CSgWZ,aTjWY,CSoWd,4IAEE,6BTrWY,CSsWZ,aTvWY,CS0Wd,gJAEE,eAAgB,CAChB,wBT7WY,CS+WZ,sKACE,6BT/WU,CSmXd,mGACE,cTrXY,CSwXd,uEACE,aTtXY,CSqXd,6EAII,6BT3XU,CS4XV,aT1XU,CSqXd,gKAUI,6BTjYU,CSkYV,aThYU,CSqXd,oKAgBI,eAAgB,CAChB,yBTtYU,CSqXd,0LAoBM,6BT3YQ,CSqSZ,6DA+CF,aT/Ue,CSiVf,+MAGE,eAAgB,CAChB,eAAgB,CAChB,aTtVa,CSyVf,mEACE,+BTzVa,CS0Vb,aT3Va,CS8Vf,4IAEE,8BT/Va,CSgWb,aTjWa,CSoWf,gJAEE,eAAgB,CAChB,yBTvWa,CSyWb,sKACE,8BTzWW,CS6Wf,mGACE,cT/Wa,CSkXf,uEACE,aThXa,CS+Wf,6EAII,8BTrXW,CSsXX,aTpXW,CS+Wf,gKAUI,8BT3XW,CS4XX,aT1XW,CS+Wf,oKAgBI,eAAgB,CAChB,0BThYW,CS+Wf,0LAoBM,8BTrYS,CS+Rb,4DA+CF,aTzUY,CS2UZ,4MAGE,eAAgB,CAChB,eAAgB,CAChB,aThVU,CSmVZ,kEACE,8BTnVU,CSoVV,aTrVU,CSwVZ,0IAEE,6BTzVU,CS0VV,aT3VU,CS8VZ,8IAEE,eAAgB,CAChB,wBTjWU,CSmWV,oKACE,6BTnWQ,CSuWZ,kGACE,cTzWU,CS4WZ,sEACE,aT1WU,CSyWZ,4EAII,6BT/WQ,CSgXR,aT9WQ,CSyWZ,8JAUI,6BTrXQ,CSsXR,aTpXQ,CSyWZ,kKAgBI,eAAgB,CAChB,yBT1XQ,CSyWZ,wLAoBM,6BT/XM,CYXd,6EA+EI,YAAa,CACb,aAAc,CAhFlB,2BAyGI,YAAa,CACb,UAAW,CA1Gf,8FA+GI,aAAc,CA/GlB,+BA4II,mBAAoB,CACpB,qBAAsB,CACtB,kBAAmB,CA9IvB,wCAiJM,WAAY,CACZ,UAAY,CAlJlB,2CAuJM,wBAA0B,CAE1B,UAAW,CAzJjB,uKA+JQ,yBAAsD,CA/J9D,qKAoKQ,yBX7JmC,CWP3C,iLAyKQ,kBH5MiB,CGmCzB,6CA+KI,eAAgB,CAGlB,2KAQM,gBH7NiB,CGqNvB,iKAeM,iBHpOiB,CIgBzB,aAEE,sCbNa,CaOb,iBZuByC,CCDzC,cDhBgC,CCiBhC,eAAgB,CWtBhB,qBAAkE,CAClE,iBAAkB,CAClB,UAAW,CANb,+BAUI,iBAAuD,CAV3D,sCFRE,iCAAkC,CAClC,kCAAmC,CEqB/B,abpBS,CWMb,8BAAoD,CACpD,cVqBuB,CUpBvB,iBAAkB,CAClB,eAAgB,CEYZ,SZvBa,CUYjB,aAAc,CEYV,iBAAkB,CAClB,QZzBa,CYQnB,8BAsBI,iBAAuD,CAtB3D,oDAyBM,ab/BS,CagCT,SZlCa,CYmCb,iBAAkB,CAClB,QZpCa,CYQnB,0BAiCI,gBZXqB,CYYrB,iBAAgC,CAChC,YAAa,CAnCjB,qCAsCM,eAAgB,CAIpB,uBACE,qCb/CW,Ca8Cb,gDAII,abjDS,CaGf,gCAoDM,qCbxCS,CaZf,4JAyDQ,ab9CO,CaiDT,0CACE,qCbjDO,CagDT,0LAMI,abpDK,Cadf,gCAoDM,oCblCU,CalBhB,4JAyDQ,abxCQ,Ca2CV,0CACE,oCb3CQ,Ca0CV,0LAMI,ab9CM,CapBhB,gCAoDM,qCb5BW,CaxBjB,4JAyDQ,ablCS,CaqCX,0CACE,qCbrCS,CaoCX,0LAMI,abxCO,Ca1BjB,+BAoDM,oCbtBQ,Ca9Bd,yJAyDQ,ab5BM,Ca+BR,yCACE,oCb/BM,Ca8BR,uLAMI,ablCI,CawCZ,+BACE,aAA6B,CCrDjC,UACE,qBdfa,CcgBb,iBbIyC,CaHzC,qFdrCa,CcsCb,YAxB8B,CAyB9B,mGbgEkD,CahElD,2FbgEkD,CahElD,2IbgEkD,CarEpD,uCAUI,wBdvCgB,CcwChB,oFd7CW,CckDb,iBACE,qFdnDW,CckDb,qDAKI,oFdvDS,CckDb,iBACE,yFdnDW,CckDb,qDAKI,yFdvDS,CckDb,iBACE,8FdnDW,CckDb,qDAKI,8FdvDS,CckDb,iBACE,+FdnDW,CckDb,qDAKI,+FdvDS,CckDb,iBACE,oGdnDW,CckDb,qDAKI,oGdvDS,Cc4Df,gCAEI,+Fd9DW,Cc+DX,cAAe,CAHnB,mFAOM,+FdnES,Cc4Df,iCAYI,yFdxEW,CcyEX,UAAY,CACZ,qBAAsB,CAd1B,qFAkBM,yFd9ES,CeFf,cACE,QAAS,CACT,iBAAkB,CAClB,+CdsGkD,CczGpD,iCAMI,0DdmGgD,CcnGhD,kDdmGgD,CcnGhD,kGdmGgD,CczGpD,mDASM,YAAa,CCbnB,sCACE,aAAc,CAGhB,iCACE,cAAe,CCgCjB,sBAcE,kBAAmB,CACnB,YAAa,CACb,sBAAuB,CACvB,eAAgB,CCyCd,SDxDc,CAgBhB,mBAAoB,CCwClB,0BDvDgC,CCuDhC,kBDvDgC,CAgBlC,wBAAiB,CAAjB,gBAAiB,CACjB,UAAW,CApBb,yGC0DI,SDxDW,CCwDX,2BDvDsB,CCuDtB,mBDvDsB,CAH1B,uHC0DI,SDxDc,CCwDd,0BDvDgC,CCuDhC,kBDvDgC,CCwChC,kBArDO,CAsDP,uBDnCsC,CCoCtC,6CD1CS,CC0CT,qCD1CS,CC0CT,uDD1CS,CC2CT,0DjB2B4D,CgBzEhE,mDC0DI,SDxDc,CCwDd,0BDvDgC,CCuDhC,kBDvDgC,CAHpC,0DC0DI,SDxDW,CCwDX,2BDvDsB,CCuDtB,mBDvDsB,CCwCtB,kBArDO,CAsDP,uBDnCsC,CCoCtC,6CD1CS,CC0CT,qCD1CS,CC0CT,uDD1CS,CC2CT,0DjB2B4D,CgBlDhE,YACE,kBjBtCmB,CiBuCnB,iBA7B0C,CA8B1C,oGjBzDa,CiB0Db,YAAa,CACb,qBAAsB,CACtB,aAhCmC,CAiCnC,mBAAiC,CACjC,kBAAmB,CACnB,wBAAiB,CAAjB,gBAAiB,CACjB,WAAyB,CAV3B,kBAaI,SAAU,CAbd,2CAkBI,kBjBpEgB,CiBqEhB,oGjBzEW,CiB0EX,ajBxDiB,CiB4DrB,mBACE,kBAAmB,CACnB,ejB5Da,CiB6Db,yBAA8D,CAC9D,qCjBlFa,CiBmFb,YAAa,CACb,aAAc,CACd,eAAiD,CACjD,iBAzDgC,CA0DhC,iBAAkC,CAClC,SAAU,CAVZ,gEAcI,ajBpFW,CiBqFX,aAAc,CACd,iBAAiC,CAhBrC,gCfjBE,gBAAiB,CesCf,aAAc,CACd,mBAAoB,CACpB,QAAS,Cf3CX,eAAgB,CAChB,sBAAuB,CACvB,kBeyCW,CAvBb,2CA0BM,iBA3E4B,CA+EhC,6BACE,kBjBxGgB,CiByGhB,oCjB9GW,CiB4Gb,oFAMI,ajBvGS,CiB4Gf,iBACE,aAAc,CACd,gBAAgC,CAChC,WA7FgC,CAgGlC,mBACE,aAAc,CACd,aAlGgC,CAqGlC,2BACE,YAAa,CACb,wBAAyB,CAF3B,uCAKI,gBhBjIe,CkBJnB,6BACE,YAAa,CADf,gFAOM,uBAA0C,CAPhD,2EAWM,2BFcsC,CET5C,iCACE,YAAa,CACb,QAAO,CACP,qBAAsB,CAEtB,2CACE,kBnBrBgB,CmByBpB,kCACE,wBnBXmB,CmBYnB,wCnB9Ba,CmB+Bb,uBAA0C,CAC1C,QAAO,CACP,WAAY,CAEZ,4CACE,wBnBhCgB,CmBiChB,uCnBrCW,CmByCf,6BACE,qBnBtBa,CmBuBb,uBAA2C,CAC3C,uCnB5Ca,CmB6Cb,YAAa,CACb,6BAA8B,CAC9B,YAAa,CAEb,uCACE,kBnB7CgB,CmB8ChB,sCnBnDW,CmByCf,wDAcI,WAAY,CAIhB,2BACE,wBnB1CmB,CmB2CnB,0CnB7Da,CmB+Db,qCACE,kBnB5DgB,CmB6DhB,yCnBjEW,CmB2Df,kDAUI,qBnBjDW,CmBkDX,4DACE,kBnBlEc,CmBuEpB,iBACE,kBAAmB,CACnB,wBnB5DmB,CmB6DnB,iBA/EiC,CAgFjC,kBAAmB,CACnB,YAAa,CACb,UAAW,CACX,gBAAiB,CAEjB,2BACE,kBnBlFgB,CmBsFlB,yCACE,qBnBvEW,CmBwEX,cAAe,CAEf,mDACE,kBnB1Fc,CmBuEpB,uBAwBI,wBnBlFiB,CmBoFjB,iCACE,kBnBnGc,CmBwGpB,sBACE,kBAAmB,CACnB,oCnBtGa,CmBuGb,iBAAkB,CAClB,UnB5Fa,CmB6Fb,YAAa,CACb,WAAY,CACZ,sBAAuB,CACvB,UAAW,CAEX,gCACE,qCnB5GW,CmB+Gb,yDACE,wBnBhGW,CmBmGb,8CACE,wBnBrHW,CmByHf,uBACE,yBnB5Ha,CmB6Hb,QAAO,CACP,iBAAkB,CAElB,iCACE,0BnB9HW,CmBkIb,0DACE,anBnHW,CmBsHb,gEACE,anBhJgB,CmBkJhB,0EACE,anBnIe,CoBXrB,YACE,epBYa,CoBXb,oGpBTa,CoBUb,YAAa,CACb,qBAAsB,CACtB,QAAS,CACT,SAAU,CANZ,kBASI,SAAU,CATd,6BA4BI,UAjCqB,CAkCrB,MAAO,CACP,OAAQ,CAER,KAAM,CF6BR,+FAqBE,mCElEgC,CFkEhC,2BElEgC,CFiDlC,6GAiBE,+BElE+C,CFkE/C,uBElE+C,CFmD/C,kBApBO,CAqBP,uBEnD6B,CFoD7B,qCErDY,CFqDZ,6BErDY,CFqDZ,+CErDY,CFsDZ,oDjB0BgD,CiBnClD,8CAqBE,+BE1D+C,CF0D/C,uBE1D+C,CFyCjD,qDAiBE,mCE1DgC,CF0DhC,2BE1DgC,CF2ChC,kBApBO,CAqBP,uBjB8B0B,CiB7B1B,qCE7CY,CF6CZ,6BE7CY,CF6CZ,+CE7CY,CF8CZ,oDjB0BgD,CmBhGpD,gCAmDI,QAAS,CACT,UAzDqB,CA0DrB,MAAO,CAEP,OAAQ,CFMV,qGAqBE,kCE3C+B,CF2C/B,0BE3C+B,CF0BjC,mHAiBE,+BE3C8C,CF2C9C,uBE3C8C,CF4B9C,kBApBO,CAqBP,uBE5B6B,CF6B7B,qCE9BY,CF8BZ,6BE9BY,CF8BZ,+CE9BY,CF+BZ,oDjB0BgD,CiBnClD,iDAqBE,+BEnC8C,CFmC9C,uBEnC8C,CFkBhD,wDAiBE,kCEnC+B,CFmC/B,0BEnC+B,CFoB/B,kBApBO,CAqBP,uBjB8B0B,CiB7B1B,qCEtBY,CFsBZ,6BEtBY,CFsBZ,+CEtBY,CFuBZ,oDjB0BgD,CmBhGpD,8BA0EI,QAAS,CACT,MAAO,CAEP,KAAM,CACN,SAnFqB,CFkEvB,iGAqBE,mCEpBgC,CFoBhC,2BEpBgC,CFGlC,+GAiBE,+BEpB+C,CFoB/C,uBEpB+C,CFK/C,kBApBO,CAqBP,uBEL6B,CFM7B,qCEPY,CFOZ,6BEPY,CFOZ,+CEPY,CFQZ,oDjB0BgD,CiBnClD,+CAqBE,+BEZ+C,CFY/C,uBEZ+C,CFLjD,sDAiBE,mCEZgC,CFYhC,2BEZgC,CFHhC,kBApBO,CAqBP,uBjB8B0B,CiB7B1B,qCECY,CFDZ,6BECY,CFDZ,+CECY,CFAZ,oDjB0BgD,CmBhGpD,+BAiGI,QAAS,CACT,OAAQ,CAER,KAAM,CACN,SA1GqB,CFkEvB,mGAqBE,kCEG+B,CFH/B,0BEG+B,CFpBjC,iHAiBE,+BEG8C,CFH9C,uBEG8C,CFlB9C,kBApBO,CAqBP,uBEkB6B,CFjB7B,qCEgBY,CFhBZ,6BEgBY,CFhBZ,+CEgBY,CFfZ,oDjB0BgD,CiBnClD,gDAqBE,+BEW8C,CFX9C,uBEW8C,CF5BhD,uDAiBE,kCEW+B,CFX/B,0BEW+B,CF1B/B,kBApBO,CAqBP,uBjB8B0B,CiB7B1B,qCEwBY,CFxBZ,6BEwBY,CFxBZ,+CEwBY,CFvBZ,oDjB0BgD,CmBhGpD,iIA0HM,QAAS,CACT,OAAQ,CAER,KAAM,CACN,SAnImB,CFkEvB,uSAqBE,kCE4BiC,CF5BjC,0BE4BiC,CF7CnC,qTAiBE,+BE4BgD,CF5BhD,uBE4BgD,CF3ChD,kBApBO,CAqBP,uBE2C+B,CF1C/B,qCEyCc,CFzCd,6BEyCc,CFzCd,+CEyCc,CFxCd,oDjB0BgD,CiBnClD,kJAqBE,+BEoCgD,CFpChD,uBEoCgD,CFrDlD,yJAiBE,kCEoCiC,CFpCjC,0BEoCiC,CFnDjC,kBApBO,CAqBP,uBjB8B0B,CiB7B1B,qCEiDc,CFjDd,6BEiDc,CFjDd,+CEiDc,CFhDd,oDjB0BgD,CmBhGpD,2HAiJM,QAAS,CACT,UAvJmB,CAwJnB,MAAO,CAEP,OAAQ,CFxFZ,2RAqBE,kCEmDiC,CFnDjC,0BEmDiC,CFpEnC,ySAiBE,+BEmDgD,CFnDhD,uBEmDgD,CFlEhD,kBApBO,CAqBP,uBEkE+B,CFjE/B,qCEgEc,CFhEd,6BEgEc,CFhEd,+CEgEc,CF/Dd,oDjB0BgD,CiBnClD,4IAqBE,+BE2DgD,CF3DhD,uBE2DgD,CF5ElD,mJAiBE,kCE2DiC,CF3DjC,0BE2DiC,CF1EjC,kBApBO,CAqBP,uBjB8B0B,CiB7B1B,qCEwEc,CFxEd,6BEwEc,CFxEd,+CEwEc,CFvEd,oDjB0BgD,CmBhGpD,2CA2JI,kBpB7JgB,CoB8JhB,oGpBnKW,CoBoKX,apBlJiB,CoBsJrB,mBACE,kBAAmB,CACnB,eAAgB,CAChB,qCpB3Ka,CoB4Kb,YAAa,CACb,aAAc,CACd,eAAiD,CAEjD,wBAhLgC,CAiLhC,iBAAkB,CATpB,gEAaI,apB7KW,CoB8KX,aAAc,CACd,iBAAiC,CAfrC,gClB3GE,gBAAiB,CkB+Hf,aAAc,CACd,mBAAoB,CACpB,QAAS,ClBpIX,eAAgB,CAChB,sBAAuB,CACvB,kBkBkIW,CAtBb,2CAyBM,iBAjM4B,CAqMhC,6BACE,oCpBtMW,CoBqMb,oFAKI,apB/LS,CoBoMf,iBACE,aAAc,CACd,gBAAgC,CAChC,aAAc,CAGhB,mBACE,2CpBtNa,CoBuNb,aAAc,CACd,iBAxNgC,CAyNhC,iBAAkB,CAElB,6BACE,0CpB5NW,CqBHf,mBACE,WAAY,CACZ,oBAAqB,CACrB,cAAe,CACf,iBAAkB,CAClB,kBAAmB,CACnB,kBAAmB,CANrB,0BAWI,iBpBgCuC,CCjBzC,WDiByC,CoB/BvC,UAAW,CnBeb,SDgByC,CCfzC,iBmBlBgC,CnBmBhC,UDcyC,CCbzC,QDayC,CoB9BvC,kGpB6FgD,CoB1GpD,gCAkBI,mGrBfW,CqBHf,oDAuBI,qBrBAW,CqBCX,4FrBrBW,CqBHf,uCA4BI,eAAgB,CA5BpB,gIAmCQ,arBNO,CqB7Bf,mDAuCQ,oGrBVO,CqB7Bf,uEA2CQ,4FrBxCO,CqBHf,gIAmCQ,arBAQ,CqBnChB,mDAuCQ,iGrBJQ,CqBnChB,uEA2CQ,2FrBxCO,CqBHf,gIAmCQ,arBMS,CqBzCjB,mDAuCQ,oGrBES,CqBzCjB,uEA2CQ,4FrBxCO,CqBHf,8HAmCQ,arBYM,CqB/Cd,kDAuCQ,iGrBQM,CqB/Cd,sEA2CQ,2FrBxCO,CqB6Cb,0CAEI,oGrB3BS,CqByBb,8DAOI,kCrBpDS,CqBqDT,8HrBrDS,CqB6Cb,iDAaI,eAAgB,CAbpB,2EAmBQ,arBpCK,CqBiBb,6DAuBQ,oGrBxCK,CqBiBb,iFA2BQ,8HrBxEK,CqB6Cb,2EAmBQ,arB9BM,CqBWd,6DAuBQ,oGrBlCM,CqBWd,iFA2BQ,8HrBxEK,CqB6Cb,2EAmBQ,arBxBO,CqBKf,6DAuBQ,uGrB5BO,CqBKf,iFA2BQ,+HrBxEK,CqB6Cb,0EAmBQ,arBlBI,CqBDZ,4DAuBQ,oGrBtBI,CqBDZ,gFA2BQ,8HrBxEK,CqB+Ef,oDAEE,aAAc,CACd,eAAgB,CAChB,YAAa,CACb,sBAAuB,CACvB,iBAAkB,CAElB,iBAAkB,CAClB,iBAAkB,CAElB,WAAY,CACZ,sBAAuB,CACvB,kBAAmB,CAGrB,yBAEE,eAAgB,CAEhB,WAAY,CACZ,eAAgB,CAChB,SAAU,CAEV,oBAAqB,CACrB,UAAW,CCaX,oDACE,yBtB9GW,CsBgHX,SAAU,CAHZ,sCACE,yBtB9GW,CsBgHX,SAAU,CDzBd,+BAYI,YAAa,CAZjB,oCAgBI,YAAa,CAIjB,2BACE,eAAgB,CAEhB,iBAAkB,CAClB,sBAAuB,CAEvB,eAAgB,CAEhB,sDACE,MAAO,CACP,iBAAkB,CAClB,iBAAkB,CAGpB,0DACE,yBrB1HW,CqB4HX,oEACE,0BrB1HS,CqB+Hf,iCACE,aAAc,CADhB,4DAMI,oBAAqB,CAFrB,aAAc,CACd,oBACqB,CElJzB,aACE,0CvBCa,CuBEb,yCvBFa,CuBGb,UAPgC,CAUhC,uBACE,8BvBPW,CwB8Df,mBAKE,mBAAoB,CdjElB,YAAa,CAEf,kBc6D8B,CtB8B9B,+BAAwB,CAAxB,uBsBwME,CdjSF,qBACE,WAAY,CACZ,aAAc,CAGhB,6BACE,WAAY,CACZ,aAAc,CciDlB,gIAkBI,iBAAkB,CAlBtB,8BAuBI,qBAAsB,CACtB,SAAqD,CAxBzD,oCA2BM,iBvBjDqC,CuBkDrC,UAAmD,CA5BzD,iDAgCM,UAA4D,CAhClE,uDAmCQ,UAA0D,CAnClE,0HA0CM,SAAsD,CA1C5D,kEA+CI,UAA4D,CA/ChE,wEAkDM,UAA0D,CAlDhE,gHA2DI,qBAAsB,CtB1BxB,+BAAwB,CAAxB,uBAAwB,CsB2BtB,SAAsD,CA5D1D,kIA+DM,SAAoD,CA/D1D,kIAmEM,SAAoD,CAnE1D,qIAuEM,SAAqD,CAvE3D,gbA6EM,SAAuD,CA7E7D,yKAiFM,SAA6D,CAjFnE,2LAoFQ,UAA2D,CApFnE,2LAwFQ,UAA2D,CAxFnE,8LA4FQ,UAA4D,CA5FpE,2lBAkGQ,SAA8D,CAlGtE,kNA4GI,UAA4D,CA5GhE,sKAqHI,UAAoD,CArHxD,4CA2HI,SAAoD,CA3HxD,yDAiIM,iBfjMmB,CegEzB,qEAqIM,eAAmD,CAGrD,mEAEI,cAAe,CAFnB,wEAUI,eflNiB,CegEzB,+EA0JI,qBAAsB,CA1J1B,gCA+JI,yBvBrLuC,CuBsB3C,+BAoKI,yBAAsD,CACtD,cAAe,CArKnB,+BA0KI,iBvBhMuC,CuBiMvC,cAAe,CA3KnB,gDAgLI,iBvBtMuC,CuBsB3C,yEAqLI,2BAA4B,CAC5B,wBAAyB,CAtL7B,4BA6MI,UAAW,CA7Mf,0EAqNI,aAAc,CArNlB,gCA4OI,qBAAsB,CA5O1B,kCA+OM,ef/SmB,CegEzB,6CAmPM,yBAAsD,CACtD,YAAa,CApPnB,4CAwPM,yBvB9QqC,CwBsC3C,aAGE,cAAe,CAEf,aAAc,CACd,kBxB9EiB,CwB+EjB,iBAAkB,CAClB,mBA2aE,CAnfF,kDACE,wBzBWW,CyBVX,6EhBoCmF,CgBnCnF,6EzBjBW,CyBkBX,UzBEW,CyBCb,wDACE,wBzBGW,CyBFX,6EzBvBW,CyB0Bb,wEACE,kBzBHW,CyBIX,8EzB5BW,CyB+Bb,2DACE,8BzBNW,CyBOX,eAAgB,CAGlB,4DAEI,sCzBtCS,CyBoCb,kEAMI,wBzBjBS,CyBkBT,sCzB3CS,CyBoCb,kFAWI,wBzBvBS,CyBwBT,wEzBhDS,CyBoCb,qEAgBI,6BzB5BS,CyB6BT,eAAgB,CAQpB,mCACE,iBAH0C,CAK1C,0DACE,iBANwC,CAU5C,6BACE,kBAX0C,CAa1C,oDACE,kBAdwC,CAmB9C,0BAWI,yBzBjFW,CyBkFX,kBAAmB,CAZvB,wBAgBI,oBAAqB,CACrB,iBAA+B,CAjBnC,mBAqBI,MAAO,CACP,SAAU,CACV,iBAAkB,CAClB,KAAM,CACN,UAAa,CAzBjB,oCA6BI,2BAA4B,CAC5B,wBzB1FiB,CyB2FjB,6EhB1D4E,CgB2D5E,WAAY,CACZ,6EzB/GW,CyBgHX,cAAe,CACf,oBAAqB,CAGrB,cxBjFwB,CwBkFxB,UAAW,CACX,iBxBhHe,CwBiHf,eAAgB,CAChB,iBAAkB,CAClB,wBAAiB,CAAjB,gBAAiB,CACjB,qBAAsB,CACtB,SAAU,CA7Cd,2CAgDM,UAAW,CACX,aAAc,CACd,UAAW,CACX,SAAU,CAnDhB,0CAwDI,wBzBrHiB,CyB6DrB,gEA4DI,kBzB3HiB,CyB4HjB,8EzB3IW,CyB8Ef,mDAiEI,+BzBjIiB,CyBkIjB,eAAgB,CAChB,kBAAmB,CAnEvB,gDvBXE,uBAAwB,CAFxB,oCAAmC,CACnC,kBACwB,CuBKtB,oDAkFA,WAAY,CACZ,gBxBrJe,CwBsJf,cAAe,CA9EnB,uBAoFI,cxB1IoC,CwBqCtC,6CACE,iBAH0C,CAK1C,oEACE,iBANwC,CAU5C,uCACE,kBAX0C,CAa1C,8DACE,kBAdwC,CAmB9C,8CAwFM,cxBlImB,CwBoCrB,8DAkGE,YAAa,CA5JjB,qEACE,wBzBWW,CyBVX,6EhBoCmF,CgBnCnF,6EzBjBW,CyBkBX,UzBEW,CyBCb,2EACE,wBzBGW,CyBFX,6EzBvBW,CyB0Bb,2FACE,kBzBHW,CyBIX,8EzB5BW,CyB+Bb,8EACE,8BzBNW,CyBOX,eAAgB,CAGlB,+EAEI,sCzBtCS,CyBoCb,qFAMI,wBzBjBS,CyBkBT,sCzB3CS,CyBoCb,qGAWI,wBzBvBS,CyBwBT,wEzBhDS,CyBoCb,wFAgBI,6BzB5BS,CyB6BT,eAAgB,CAyBtB,iDAiIM,iBxBvKqC,CwBsC3C,sEAyHQ,kVAAuE,CAzH/E,4EAyHQ,yQAAuE,CAzH/E,8CAiKM,iBAAkB,CAjKxB,mEAqKM,+DAAsE,CArK5E,4EAyKM,UAAY,CAzKlB,0DA6KM,wBxBxNsB,CwB2C5B,qDA+OQ,+BzBlTO,CyBmEf,2DAmPQ,+BzBxTO,CyBqEf,2EAuPQ,8BzB7TO,CyBsEf,8DA2PQ,+BzB3Ta,CyBgErB,qEA8PU,6BzBxTK,CyB0Df,6DA+OQ,kBzBnSO,CyBoDf,mEAmPQ,kBzBxSO,CyBqDf,mFAuPQ,kBzB7SO,CyBsDf,sEA2PQ,8BzB/SO,CyBoDf,6EA8PU,6BzBxTK,CyByCb,8CACE,iBAH0C,CAK1C,qEACE,iBANwC,CAU5C,wCACE,kBAX0C,CAa1C,+DACE,kBAdwC,CAmB9C,+CAuRM,WAAY,CACZ,oBApFiB,CAuFjB,yBAA2B,CAC3B,gBAxFiB,CAyFjB,yDxBpQ8C,CwBqQ9C,UAAW,CA9RjB,sDAiSQ,ezB3VO,CyB4VP,iBAAkB,CAClB,kEzBjXO,CyBkXP,sBA9F6D,CA+F7D,MAAO,CACP,UAjGuB,CAkGvB,iBAAkB,CAClB,6CxB/Q4C,CwBgR5C,qBAnG6D,CAtMrE,oEA+SM,qBAAsB,CAhU1B,wDACE,iBAH0C,CAK1C,+EACE,iBANwC,CAU5C,kDACE,kBAX0C,CAa1C,yEACE,kBAdwC,CAiQxC,+DACE,4BzB7TO,CyBgUT,qEACE,4BzBjUO,CyBoUT,qFACE,4BzBrUO,CyBwUT,wEACE,4BzBnUY,CyBqUZ,+EACE,4BzB5UK,CyB4TT,uEACE,kBzBnSO,CyBsST,6EACE,kBzBxSO,CyB2ST,6FACE,kBzB7SO,CyBgTT,gFACE,6BzBjTO,CyBmTP,uFACE,4BzB5UK,CyBoYX,gEAmBI,kBzBjZY,CyBkZZ,sCzBxZO,CyBoYX,8EAyBI,4CzB7ZO,CyB8Ef,+CAoVM,cAxImC,CAyInC,iBAAkB,CArVxB,iEA0VQ,aAAc,CACd,gBAlJuC,CAmJvC,kBAlJsC,CAmJtC,iBAAkB,CA7V1B,gEAiWQ,eAzJ6B,CA0J7B,iBAxJsC,CAyJtC,iBA1JuC,CA2JvC,kBAAmB,CApW3B,sGA0WQ,eAlK6B,CAmK7B,kBAAmB,CA3W3B,qGA+WQ,aAAc,CACd,iBAAkB,CAKxB,uBACE,azBlbiB,CyBibnB,oCAII,0BzB5bS,CyBwbb,8CAQI,wBzBrcc,CyBscd,8EhBvZgF,CgBwZhF,sCzB7cS,CyBmcb,oDAcI,wBzB5cc,CyB8blB,0EAkBI,kBzBldc,CyBmdd,wEzBtdS,CyBmcb,6DAuBI,4BzBpdc,CyBqdd,eAAgB,CAChB,kBAAmB,CAzBvB,0KAgCQ,0BzBxdK,C0BSf,gBACE,cAAe,CACf,oBAAqB,CACrB,WzB0BiC,CyBzBjC,iBAAkB,CAJpB,sBAOI,QAAS,CACT,eAA6B,CAC7B,SAAU,CATd,gHJyGE,+BtB/GmB,CsBgHnB,eAAgB,CAChB,yBtBvHa,CsBwHb,kBAAmB,CACnB,WAAY,CI7Gd,4HjB4IE,qCTlJmB,CSmJnB,qBAAsB,CACtB,eAAgB,CAChB,yBT3Ja,CS4Jb,kBAAmB,CACnB,YAAa,CAEb,gTAEE,+BT3JiB,C0B8Bf,oIJiHJ,4BtBvJkB,CsBwJlB,eAAgB,CAChB,0BtBpJa,C0BiCT,gJjBmNJ,kCTzPkB,CS0PlB,qBAAsB,CACtB,eAAgB,CAChB,0BTvPa,CSyPb,sKACE,4BT/PgB,C0BcpB,oEAoCM,a1BtDc,C0ByDhB,8EACE,a1B1Ce,C0BErB,yBA6CI,UAAW,CA7Cf,qDAkDI,WzBpBqC,CyB9BzC,yDAsDI,6BAA6C,CAIjD,uBxBjBE,gBAAiB,CoBgBjB,uBAAgB,CAAhB,eAAgB,CAChB,etB1Da,CsB2Db,WAAY,CACZ,iBrBxCyC,CqByCzC,qItBjFa,CsBkFb,atBhFkB,C0B+ElB,yB1BzEa,CsB2Eb,crB5DgC,CqB6DhC,eApFqB,CAqFrB,WrBpCiC,CyBiCjC,MAAO,CJIP,gBrBrCiC,CqBuCjC,YAAa,CpB9Bb,eAAgB,CwByBhB,qBAAmE,CACnE,iBAAkB,CAClB,OAAQ,CxB1BR,sBAAuB,CwB2BvB,KAAM,CJIN,mDrBakD,CyBhBlD,wBAAiB,CAAjB,gBAAiB,CJIjB,qBAAsB,CpB/BtB,kBwB2BiB,CJ8BjB,kDACE,yBtB9GW,CsBgHX,SAAU,CAHZ,oCACE,yBtB9GW,CsBgHX,SAAU,CA3BZ,+DAEE,4FtB/FW,CsBkGb,qEAEE,kBrBnD+B,CqBqD/B,qBAAsB,CACtB,iBrBjGe,CqBoGjB,iCACE,6CtB3GW,CsB8Gb,oEAeA,+BtB/GmB,CsBgHnB,eAAgB,CAChB,yBtBvHa,CsBwHb,kBAAmB,CACnB,WAAY,CInDd,6BxBjBE,gBAAiB,COkEjB,wBT7GmB,CS8GnB,6EA7E8E,CiB0C5E,iBzBrDuC,CQ0FzC,aThIkB,C0B4FhB,gBAAiB,CACjB,gBzBnDwC,CyBoDxC,UA/EwE,CjBwF1E,eR7D0C,CQ8D1C,cR9D0C,CCc1C,eAAgB,CwBuCd,iBAAkB,CAClB,OAAQ,CACR,iBAAkB,CxBxCpB,sBAAuB,CwByCrB,KAAM,CxBxCR,kBAAmB,CwByCjB,UAtFuC,CjBqHzC,mCAgBA,2BAA4B,CAC5B,wBTpImB,CSqInB,6ETtJa,CSwIb,4EAkBA,wBT3ImB,CS4InB,qBAAsB,CACtB,8ET5Ja,CS6Ib,gFAmBA,qCTlJmB,CSmJnB,qBAAsB,CACtB,eAAgB,CAChB,yBT3Ja,CS4Jb,kBAAmB,CACnB,YAAa,CAEb,wNAEE,+BT3JiB,C0BgErB,mCjBsEE,2BAA4B,CAC5B,wBTpImB,CSqInB,6ETtJa,C0B8Ef,oCjB4EE,wBT3ImB,CS4InB,qBAAsB,CACtB,8ET5Ja,C0BgHb,kCJqBA,crB7GsC,CqB8GtC,WrBpFuC,CqBqFvC,gBrBrFuC,CyBgErC,kBAAyE,CJuB3E,2FAEE,cAA4C,CI3B9C,wCAMI,gBzB3E8B,CyB4E9B,UArG4E,CjBuFhF,eR9DkC,CQ+DlC,cR/DkC,CyB6E9B,UAxG6C,CA4GjD,iCJ8CA,4BtB1Ka,CsB4Kb,+JtB5Ka,CsB8Kb,atB5JmB,C0B4GjB,0B1BnHW,CsBwJb,4DACE,0BtBzJW,CsBwJb,8CACE,0BtBzJW,CsBqKb,uCACE,gJtBjLW,CsBqLb,2CACE,4CtBtLW,CsByLb,wFA5BA,4BtBvJkB,CsBwJlB,eAAgB,CAChB,0BtBpJa,C0BiHb,uCjBwFA,wBT9MkB,CS+MlB,8EAhKoF,CAiKpF,sCTtNa,CSuNb,aTrMmB,CSuMnB,6IAGE,aT1MiB,CS6MnB,6CAqBA,wBT/OkB,CSgPlB,sCTrPa,CSmOb,gGAsBA,wBTtPkB,CSuPlB,qBAAsB,CACtB,wET3Pa,CSwOb,oGAuBA,kCTzPkB,CS0PlB,qBAAsB,CACtB,eAAgB,CAChB,0BTvPa,CSyPb,0HACE,4BT/PgB,CSuOlB,6EAEE,cTrOW,CSoOX,4BTpOW,C0BkHb,6CjBwHA,wBT/OkB,CSgPlB,sCTrPa,C0B4Hb,8CjB6HA,wBTtPkB,CSuPlB,qBAAsB,CACtB,wET3Pa,C0B8Ef,6BAmEmC,6E1BjJpB,C2ByBf,gBACE,YAAa,CACb,qBAAsB,CACtB,eAwB+D,CA3BjE,gCAMI,iBAAgC,CANpC,6BAUI,cAA4D,CAVhE,gFAeI,a3BhCW,C2BiCX,c1BhBoC,C0BAxC,0CAoBI,iBAAgC,CApBpC,sCAwBI,cAA6B,CAxBjC,sHAgCQ,a3BhCO,C2BAf,sHAgCQ,a3B1BQ,C2BNhB,sHAgCQ,a3BpBS,C2BZjB,oHAgCQ,a3BdM,C2BlBd,2BAsCI,sBAAuB,CACvB,kBAAmB,CAvCvB,qDA0CM,gB1BjBmC,C0BkBnC,iBAA2B,CA3CjC,2CA+CM,gB1BvB6B,C0BwB7B,iBAA2B,CAhDjC,+LA2DM,mCAAyC,CAI7C,0IAKQ,a3BjEK,C2B4Db,0IAKQ,a3B3DM,C2BsDd,0IAKQ,a3BrDO,C2BgDf,wIAKQ,a3B/CI,C2B0CZ,gDAWI,a3BxFS,C2B6Eb,uOAqBM,oCAA8C,CC7EtD,iBACE,aAAc,CACd,iBAAkB,CAFpB,4BAMI,iBAAkB,CAClB,UAAW,CAPf,8CAWM,iB3BM6B,C2BjBnC,6CAeM,kB3BE6B,C2BjBnC,sIAuBI,iBAAkB,CAClB,KAAM,CAxBV,sLA4BM,MAAO,CA5Bb,kLAgCM,OAAQ,CAhCd,6BAsCI,UAAqD,CnBmCvD,eR7D0C,CQ8D1C,cR9D0C,C2B2BxC,anBvE0C,CmBgC9C,mCA0Cc,SAAY,CA1C1B,sEAgDI,SAAU,CAhDd,gFAsDI,a5B9EW,C4BwBf,4FjB1BE,iCAAkC,CAClC,kCAAmC,CAOnC,8BAAoD,CACpD,cVoB0B,CUnB1B,iBAAkB,CAClB,eAAgB,CAChB,aAXmC,CiByBrC,gIAkEI,UAAuD,CAlE3D,0BAsEI,UAAyB,CAtE7B,kMA8EM,aAGiE,CACjE,sNACE,a5BxGO,C4BqBf,gqBAuFQ,a5B/GO,C4BwBf,0uBAiGQ,mCAAyC,CAjGjD,8BAyGI,kBAAmB,CAzGvB,wCA4GM,yB5BpIS,C4BwBf,uCAmHM,UAAiE,CnB1CrE,eR9DkC,CQ+DlC,cmByCqE,CAnHvE,8JAyHM,WAA6D,CAzHnE,sCNqGE,crB7GsC,CqB8GtC,WrBpFuC,CqBqFvC,gBrBrFuC,CqBuFvC,mGAEE,cAA4C,CM3GhD,wDAgIQ,iB3BlHkC,C2Bd1C,uDAoIQ,kB3BtHkC,C2Bd1C,2EAiJM,UAAgE,CnBxEpE,eR5D0C,CQ6D1C,cmBuEoE,CAjJtE,8JAuJM,UAA6D,CAvJnE,sCNgHE,crBvHsC,CqBwHtC,WrB9FyC,CqB+FzC,gBrB/FyC,CqBgGzC,gBApJmE,CAqJnE,iBArJmE,CAuJnE,mGAEE,cAAuC,CMxH3C,wDA8JQ,iBAA2D,CA9JnE,uDAkKQ,kBAA4D,CAlKpE,0BAwKI,aAAc,CACd,UAAW,CAzKf,iHAgLM,kB3B/J6B,C2BmKjC,qCAEI,a5B3MS,C4ByMb,kDAMI,0B5B/MS,C4BqBf,+CNgKE,6JtBhMa,CsBoMb,qDACE,4FtBrMW,CsByMb,yDACE,kCtBhLW,CsBmLb,oHAEE,eAAgB,CM/KpB,8CAqMQ,a5B5MO,C4B8MP,wDACE,a5B5MK,C4BIf,+CNgKE,2JtBhMa,CsBoMb,qDACE,2FtBrMW,CsByMb,yDACE,kCtB1KY,CsB6Kd,oHAEE,eAAgB,CM/KpB,8CAqMQ,a5BtMQ,C4BwMR,wDACE,a5BtMM,C4BFhB,+CNgKE,6JtBhMa,CsBoMb,qDACE,4FtBrMW,CsByMb,yDACE,kCtBpKa,CsBuKf,oHAEE,eAAgB,CM/KpB,8CAqMQ,a5BhMS,C4BkMT,wDACE,a5BhMO,C4BRjB,8CNgKE,2JtBhMa,CsBoMb,oDACE,2FtBrMW,CsByMb,wDACE,kCtB9JU,CsBiKZ,kHAEE,eAAgB,CM/KpB,6CAqMQ,a5B1LM,C4B4LN,uDACE,a5B1LI,C6B9Bd,WP6DE,uBAAgB,CAAhB,eAAgB,CAChB,etB1Da,CsB2Db,WAAY,CACZ,iBrBxCyC,CqByCzC,qItBjFa,CsBkFb,atBhFkB,CsBiFlB,crB5DgC,CqB6DhC,eApFqB,CAqFrB,WrBpCiC,CqBqCjC,gBrBrCiC,CqBuCjC,YAAa,CACb,crBnFiB,CqBoFjB,mDrBakD,CqBZlD,qBAAsB,CA0BtB,sCACE,yBtB9GW,CsBgHX,SAAU,CAHZ,wBACE,yBtB9GW,CsBgHX,SAAU,CA3BZ,uCAEE,4FtB/FW,CsBkGb,6CAEE,kBrBnD+B,CqBqD/B,qBAAsB,CACtB,iBrBjGe,CqBoGjB,qBACE,6CtB3GW,CsB8Gb,4CAeA,+BtB/GmB,CsBgHnB,eAAgB,CAChB,yBtBvHa,CsBwHb,kBAAmB,CACnB,WAAY,COjHd,qBPqHE,crB7GsC,CqB8GtC,WrBpFuC,CqBqFvC,gBrBrFuC,CqBuFvC,iEAEE,cAA4C,CO3HhD,qBPgIE,crBvHsC,CqBwHtC,WrB9FyC,CqB+FzC,gBrB/FyC,CqBgGzC,gBApJmE,CAqJnE,iBArJmE,CAuJnE,iEAEE,cAAuC,COxI3C,oBAYI,aAAc,CACd,UAAW,CAGb,qBP0IA,4BtB1Ka,CsB4Kb,+JtB5Ka,CsB8Kb,atB5JmB,CsBiJnB,gDACE,0BtBzJW,CsBwJb,kCACE,0BtBzJW,CsBqKb,2BACE,gJtBjLW,CsBqLb,+BACE,4CtBtLW,CsByLb,gEA5BA,4BtBvJkB,CsBwJlB,eAAgB,CAChB,0BtBpJa,C6BKf,8BPgLE,6JtBhMa,CsBoMb,oCACE,4FtBrMW,CsByMb,wCACE,kCtBhLW,CsBmLb,kFAEE,eAAgB,COvKd,wCP4KJ,uLtBpNa,CsBwNb,8CACE,gJtBzNW,CsB6Nb,kDACE,kCtBpMW,CsBuMb,sGAEE,eAAgB,COnNpB,8BPgLE,2JtBhMa,CsBoMb,oCACE,2FtBrMW,CsByMb,wCACE,kCtB1KY,CsB6Kd,kFAEE,eAAgB,COvKd,wCP4KJ,oLtBpNa,CsBwNb,8CACE,+ItBzNW,CsB6Nb,kDACE,kCtB9LY,CsBiMd,sGAEE,eAAgB,COnNpB,8BPgLE,6JtBhMa,CsBoMb,oCACE,4FtBrMW,CsByMb,wCACE,kCtBpKa,CsBuKf,kFAEE,eAAgB,COvKd,wCP4KJ,uLtBpNa,CsBwNb,8CACE,gJtBzNW,CsB6Nb,kDACE,kCtBxLa,CsB2Lf,sGAEE,eAAgB,COnNpB,6BPgLE,2JtBhMa,CsBoMb,mCACE,2FtBrMW,CsByMb,uCACE,kCtB9JU,CsBiKZ,gFAEE,eAAgB,COvKd,uCP4KJ,oLtBpNa,CsBwNb,6CACE,+ItBzNW,CsB6Nb,iDACE,kCtBlLU,CsBqLZ,oGAEE,eAAgB,COnNpB,sBA+BI,YAAa,CAsCjB,mBACE,cAAe,CACf,Y5BjFiB,C4B+EnB,6EASI,WAAY,CACZ,mBAAoB,CAVxB,6BAcI,WPpGiE,COuGnE,6BPoEA,4BtB1Ka,CsB4Kb,+JtB5Ka,CsB8Kb,atB5JmB,CsBiJnB,wDACE,0BtBzJW,CsBwJb,0CACE,0BtBzJW,CsBqKb,mCACE,gJtBjLW,CsBqLb,uCACE,4CtBtLW,CsByLb,gFA5BA,4BtBvJkB,CsBwJlB,eAAgB,CAChB,0BtBpJa,C8BoBf,gBACE,aAAc,CACd,kBAAoC,CACpC,YAAa,CAHf,yJAUI,aAAc,CACd,cAA6B,CAC7B,mBAAoB,CAZxB,kCAgBI,cAA6B,CAhBjC,2EAqBI,eAAgB,CAChB,kBAAmB,CACnB,UAAW,CAvBf,0EA6BM,yB9BpDS,C8BuBf,2BAkCI,gB7BhB+B,C6BlBnC,qNAyCM,oBAAqB,CACrB,gBAAiC,CACjC,kBAAmB,CA3CzB,6CA+CM,gBAAiC,CA/CvC,uDAmDM,aAAc,CAnDpB,qCAuDM,gB7BpCmC,C6BnBzC,qDA4DI,aAAc,CAGhB,0BACE,a9B7EiB,C8B4EnB,8FAMM,0B9BzFO,C+BhBf,8DAKI,aAAqC,CACrC,YAAa,CACb,SAAU,CACV,U9BwCgC,C8BhDpC,0EAWM,uBAAsC,CAX5C,yEAeM,uBAAsC,CAf5C,sFAuBQ,uBAAsC,CAvB9C,qFA2BQ,uB9BkBmC,C8B7C3C,wEAiCI,U9BkBsC,C+BtC1C,KACE,aAAc,CrCYhB,2CcuEE,kBAAmB,CwB3FnB,oBAAqB,CACrB,uBAAwB,CxB6HxB,wBT7GmB,CS8GnB,6EA7E8E,CA2C9E,WAAY,CwB3FZ,iBhCqCyC,CQyFzC,6ETjIa,CSkIb,aThIkB,CS8FlB,cAAe,CChGb,mBAAoB,CAItB,kBDuF8B,CAM9B,cR1EgC,CgCnBhC,WhCuCkC,CQuDlC,sBAAuB,CwB7FvB,qBhCCiB,CQ8FjB,eAAgB,CAChB,qBAAsB,CwB9FtB,UACgD,CvBFhD,+CACE,WAAY,CACZ,aAAc,CAGhB,+DACE,WAAY,CACZ,aAAc,CAehB,wGAGE,gBD7BkE,CCiCpE,wIAEE,cAAkB,CD+FpB,uDAgBA,2BAA4B,CAC5B,wBTpImB,CSqInB,6ETtJa,CSwIb,0HAkBA,wBT3ImB,CS4InB,qBAAsB,CACtB,8ET5Ja,CS6Ib,kIAmBA,qCTlJmB,CSmJnB,qBAAsB,CACtB,eAAgB,CAChB,yBT3Ja,CS4Jb,kBAAmB,CACnB,YAAa,CAEb,oXAEE,+BT3JiB,CLOrB,mEc6QE,eA3NoC,CA4NpC,eAAgB,CAEhB,+EACE,+BT3RW,CS4RX,eAAgB,CAChB,aTtSgB,CSuShB,oBAAqB,CAGvB,0KAEE,+BTrSW,CSsSX,eAAgB,CAChB,aT9SgB,CSiTlB,4XAIE,eAAgB,CAChB,yBThTW,CSiTX,kBAAmB,CAEnB,odACE,+BTnTS,CSuTb,8KAgBA,eAtQyC,CAuQzC,eAAgB,CAChB,aAAc,CAlBd,0mBAuBE,eAAgB,CAChB,eAAgB,CAxBlB,sMA4BE,gCTlVW,CSsTb,oaAiCE,+BTvVW,CSwVX,aThViB,CS8SnB,w5BAyCE,eAAgB,CAChB,0BT/VW,CSgWX,kBAAmB,CA3CrB,wkCA8CI,+BTpWS,CS2TX,yGA+CF,aT3Va,CS6Vb,2WAGE,eAAgB,CAChB,eAAgB,CAChB,aTlWW,CSqWb,qHACE,+BTrWW,CSsWX,aTvWW,CS0Wb,sPAEE,8BT3WW,CS4WX,aT7WW,CSgXb,8PAEE,eAAgB,CAChB,yBTnXW,CSqXX,0SACE,8BTrXS,CSyXb,qLACE,cT3XW,CS8Xb,0PACE,aT5XW,CS2Xb,kRAII,8BTjYS,CSkYT,aThYS,CS2Xb,4jBAUI,8BTvYS,CSwYT,aTtYS,CS2Xb,4kBAgBI,eAAgB,CAChB,yBT5YS,CS2Xb,oqBAoBM,8BTjZO,CS2SX,yGA+CF,aTrVc,CSuVd,2WAGE,eAAgB,CAChB,eAAgB,CAChB,aT5VY,CS+Vd,qHACE,8BT/VY,CSgWZ,aTjWY,CSoWd,sPAEE,6BTrWY,CSsWZ,aTvWY,CS0Wd,8PAEE,eAAgB,CAChB,wBT7WY,CS+WZ,0SACE,6BT/WU,CSmXd,qLACE,cTrXY,CSwXd,0PACE,aTtXY,CSqXd,kRAII,6BT3XU,CS4XV,aT1XU,CSqXd,4jBAUI,6BTjYU,CSkYV,aThYU,CSqXd,4kBAgBI,eAAgB,CAChB,yBTtYU,CSqXd,oqBAoBM,6BT3YQ,CSqSZ,yGA+CF,aT/Ue,CSiVf,2WAGE,eAAgB,CAChB,eAAgB,CAChB,aTtVa,CSyVf,qHACE,+BTzVa,CS0Vb,aT3Va,CS8Vf,sPAEE,8BT/Va,CSgWb,aTjWa,CSoWf,8PAEE,eAAgB,CAChB,yBTvWa,CSyWb,0SACE,8BTzWW,CS6Wf,qLACE,cT/Wa,CSkXf,0PACE,aThXa,CS+Wf,kRAII,8BTrXW,CSsXX,aTpXW,CS+Wf,4jBAUI,8BT3XW,CS4XX,aT1XW,CS+Wf,4kBAgBI,eAAgB,CAChB,0BThYW,CS+Wf,oqBAoBM,8BTrYS,CS+Rb,uGA+CF,aTzUY,CS2UZ,qWAGE,eAAgB,CAChB,eAAgB,CAChB,aThVU,CSmVZ,mHACE,8BTnVU,CSoVV,aTrVU,CSwVZ,kPAEE,6BTzVU,CS0VV,aT3VU,CS8VZ,0PAEE,eAAgB,CAChB,wBTjWU,CSmWV,sSACE,6BTnWQ,CSuWZ,mLACE,cTzWU,CS4WZ,sPACE,aT1WU,CSyWZ,8QAII,6BT/WQ,CSgXR,aT9WQ,CSyWZ,ojBAUI,6BTrXQ,CSsXR,aTpXQ,CSyWZ,okBAgBI,eAAgB,CAChB,yBT1XQ,CSyWZ,4pBAoBM,6BT/XM,CLvBd,+DsCLE,chCQsC,CgCPtC,WhC6BwC,CgC5BxC,kBAA8C,CtCmD9C,+Dc+IA,wBT9MkB,CS+MlB,8EAhKoF,CAiKpF,sCTtNa,CSuNb,aTrMmB,CSuMnB,6OAGE,aT1MiB,CS6MnB,2EAqBA,wBT/OkB,CSgPlB,sCTrPa,CSmOb,kKAsBA,wBTtPkB,CSuPlB,qBAAsB,CACtB,wET3Pa,CSwOb,0KAuBA,kCTzPkB,CS0PlB,qBAAsB,CACtB,eAAgB,CAChB,0BTvPa,CSyPb,sNACE,4BT/PgB,CSuOlB,2IAEE,cTrOW,CSoOX,4BTpOW,CLWf,6DsCKE,qCjCZmB,CiCanB,eAAgB,CAChB,yBjCpBa,CiCqBb,kBAAmB,CtCRrB,mEsCYE,ajCzBa,CiC0Bb,mBAAoB,CACpB,iBAAkB,CAClB,SAAsC,CACtC,OAAqD,CtChBvD,0GsCmBI,yBjChCW,CLaf,6BAEE,oBAAqB,CACrB,qBAAsB,CACtB,iBAAkB,CAClB,qBAAsB,CALxB,mEAgBM,YAAa,CAhBnB,iDgBCE,aXda,CWgBb,6DACE,aXvBgB,CW0BlB,qEACE,aXlBW,CWiBb,iFAII,aXde,CLGrB,kIAoCM,UAA0B,CAC1B,QAA2D,CArCjE,4GA4CM,UAAW,CAIf,+DAMI,wBKtEc,CLuEd,aK1De,CLmDnB,iFAWI,0BKrES,CL0Db,6DAeI,aKzES,CLqFf,kBgB1FE,iCAAkC,CAClC,kCAAmC,ChB6FjC,WCS4B,Ce/F9B,8BAAoD,CACpD,cVoB0B,CUnB1B,iBAAkB,CAClB,eAAgB,CAChB,af2FqC,CQevC,6C8BtEE,gBAAiB,CACjB,cA6CsD,C9BwBxD,sG8BjEI,YhCmByC,CgClBzC,eAAgB,CAChB,kBAAmB,C9B+DvB,mD8B3DI,alC/DgB,CkCgEhB,eAAgB,C9B0DpB,mD8BtDI,alCpEgB,CI0HpB,oX8B/CM,6ClC7ES,CkCmFb,wNAMI,alCvEe,CkCiEnB,4qBAaM,8ClC5EO,CkCmFf,sKASM,kBhClCuC,CgCmCvC,ehCnCuC,CgCyB7C,uEAgBM,gClC3GS,CkC2Ff,kEAuBM,6ClC9HS,CkCuGf,kHA4BM,6ClCnIS,CkCuGf,sJA+BQ,+ClCtIO,CkCuGf,kGAqCQ,eAAgB,CArCxB,oHAwCU,6ClC/IK,CkCuGf,uDAiDQ,qClC5IO,CkC6IP,cAAe,CAlDvB,wDAsDQ,qClCjJO,CkCsJb,iFAIM,+BlC9JO,CkC0Jb,4EAWM,8ClCzJO,CkC8Ib,sIAgBM,8ClC9JO,CkC8Ib,0KAmBQ,gDlCjKK,CkC8Ib,4GAyBQ,8CAGyC,CA5BjD,wHA8BU,eAAgB,CA9B1B,iEAuCQ,oClCjMK,CkCkML,cAAe,CAxCvB,kEA4CQ,oClCtMK,CmCZf,eAEE,kBAAmB,CzBIjB,YAAa,CAEf,kByBNmB,CzBQnB,iBACE,WAAY,CACZ,aAAc,CAGhB,yBACE,WAAY,CACZ,aAAc,CAehB,uCAGE,gByBlC+C,CzBsCjD,uDAEE,cAAkB,CyBpCtB,mBACE,gBAAiB,CACjB,QAAsB,CAFxB,oCAKI,QAAS,CACT,SAAU,CANd,qCAUI,WAAY,CAIhB,mBACE,WAAY,CACZ,eAAgB,CAChB,eAAgB,CAChB,YAA0B,CAJ5B,gCAOI,kBAAgC,CAPpC,kDAUM,eAA6B,CAKnC,YACE,kBAAmB,CACnB,YAAa,CACb,6BAA8B,CAC9B,aAAc,CACd,cAAe,CALjB,6BAQI,kBlChCe,CmCTnB,UAGE,oBAAqB,CAErB,aAAc,CAEd,0BAA2B,CAP7B,6BAYI,oBAAsB,CACtB,wBACsB,CAd1B,cAmBI,aAAc,CAnBlB,0BAuBM,iBAAkB,CAMxB,sGAGM,apCJS,CoCMT,oIACE,apCJO,CoCFf,sGAGM,apCEU,CoCAV,oIACE,apCEQ,CoCRhB,sGAGM,apCQW,CoCNX,oIACE,apCQS,CoCdjB,mGAGM,apCcQ,CoCZR,iIACE,apCcM,CoCJd,uBzB5BE,8BAAoD,CACpD,cyB6BqB,CAGvB,2CzBzCE,iCAAkC,CAClC,kCAAmC,CyBqCnC,oBAAqB,CzB5BrB,iBAAkB,CAClB,eAAgB,CAChB,ayB+BqB,CAFvB,oBzBjCE,8BAAoD,CACpD,cyBkCqB,CAIvB,oBACE,mBnCrBwB,CmCsBxB,iBAAkB,CAClB,iBAAkB,CAClB,eAAgB,CAChB,aAAc,CALhB,2BzB/CE,iCAAkC,CAClC,kCAAmC,CyB2DnC,qBACE,WxCxEiB,CwCuEnB,iCACE,WxCvE6B,CwCsE/B,kCACE,WxCtE8B,CwCqEhC,gCACE,WxCrE4B,CwCoE9B,6BACE,WxCpEyB,CwCmE3B,iCACE,WxCnE6B,CwCkE/B,+BACE,WxClE2B,CwCiE7B,0BACE,WxCjEsB,CwCgExB,8BACE,WxChE0B,CwC+D5B,+BACE,WxC/D2B,CwC8D7B,4BACE,WxC9DwB,CwC6D1B,6BACE,WxC7DyB,CwC4D3B,kCACE,WxC5D8B,CwC2DhC,6CACE,WxC3DyC,CwC0D3C,gCACE,WxC1D4B,CwCyD9B,iCACE,WxCzD6B,CwCwD/B,+BACE,WxCxD2B,CwCuD7B,2CACE,WxCvDuC,CwCsDzC,4BACE,WxCtDwB,CwCqD1B,6BACE,WxCrDyB,CwCoD3B,8BACE,WxCpD0B,CwCmD5B,yBACE,WxCnDqB,CwCkDvB,mCACE,WxClD+B,CwCiDjC,oCACE,WxCjDgC,CwCgDlC,4BACE,WxChDwB,CwC+C1B,4BACE,WxC/CwB,CwC8C1B,6BACE,WxC9CyB,CwC6C3B,gCACE,WxC7C4B,CwC4C9B,iCACE,WxC5C6B,CwC2C/B,0BACE,WxC3CsB,CwC0CxB,mCACE,WxC1C+B,CwCyCjC,iCACE,WxCzC6B,CwCwC/B,0BACE,WxCxCsB,CwCuCxB,mCACE,WxCvC+B,CwCsCjC,uBACE,WxCtCmB,CwCqCrB,4BACE,WxCrCwB,CwCoC1B,8BACE,WxCpC0B,CwCmC5B,yBACE,WxCnCqB,CwCkCvB,uBACE,WxClCmB,CwCiCrB,gCACE,WxCjC4B,CwCgC9B,sBACE,WxChCkB,CwC+BpB,sBACE,WxC/BkB,CwC8BpB,0BACE,WxC9BsB,CwC6BxB,qBACE,WxC7BiB,CwC4BnB,2BACE,WxC5BuB,CwC2BzB,4BACE,WxC3BwB,CwC0B1B,uBACE,WxC1BmB,CwCyBrB,4BACE,WxCzBwB,CwCwB1B,0BACE,WxCxBsB,CwCuBxB,wBACE,WxCvBoB,CwCsBtB,4BACE,WxCtBwB,CwCqB1B,4BACE,WxCrBwB,CwCoB1B,6BACE,WxCpByB,CwCmB3B,0BACE,WxCnBsB,CwCkBxB,4BACE,WxClBwB,CwCiB1B,yBACE,WxCjBqB,CwCgBvB,uBACE,WxChBmB,CwCerB,sBACE,WxCfkB,CwCcpB,kCACE,WxCd8B,CwCahC,8BACE,WxCb0B,CwCY5B,iCACE,WxCZ6B,CwCW/B,8BACE,WxCX0B,CwCU5B,+BACE,WxCV2B,CwCS7B,4BACE,WxCTwB,CwCQ1B,wBACE,WxCRoB,CwCOtB,mCACE,WxCP+B,CwCMjC,mCACE,WxCN+B,CwCKjC,oCACE,WxCLgC,CwCIlC,iCACE,WxCJ6B,CwCG/B,0BACE,WxCHsB,CwCExB,uBACE,WxCFmB,CwCCrB,2BACE,WxCDuB,CwCAzB,uBACE,WxCAmB,CwCDrB,gCACE,WxCC4B,CwCF9B,8BACE,WxCE0B,CwCH5B,sBACE,WxCGkB,CwCJpB,4BACE,WxCIwB,CwCL1B,qBACE,WxCKiB,CwCNnB,8BACE,WxCM0B,CwCP5B,+BACE,WxCO2B,CwCR7B,yBACE,WxCQqB,CwCTvB,4BACE,WxCSwB,CwCV1B,yBACE,WxCUqB,CwCXvB,4BACE,WxCWwB,CwCZ1B,yBACE,WxCYqB,CwCbvB,yBACE,WxCaqB,CwCdvB,0BACE,WxCcsB,CwCfxB,yBACE,WxCeqB,CwChBvB,6BACE,WxCgByB,CwCjB3B,uBACE,WxCiBmB,CwClBrB,uBACE,WxCkBmB,CwCnBrB,sBACE,WxCmBkB,CwCpBpB,0BACE,WxCoBsB,CwCrBxB,6BACE,WxCqByB,CwCtB3B,oCACE,WxCsBgC,CwCvBlC,qBACE,WxCuBiB,CwCxBnB,2BACE,WxCwBuB,CwCzBzB,8BACE,WxCyB0B,CwC1B5B,0BACE,WxC0BsB,CwC3BxB,wBACE,WxC2BoB,CwC5BtB,uBACE,WxC4BmB,CwC7BrB,+BACE,WxC6B2B,CwC9B7B,yBACE,WxC8BqB,CwC/BvB,2BACE,WxC+BuB,CwChCzB,8BACE,WxCgC0B,CwCjC5B,gCACE,WxCiC4B,CwClC9B,iCACE,WxCkC6B,CwCnC/B,yBACE,WxCmCqB,CwCpCvB,0BACE,WxCoCsB,CwCrCxB,+BACE,WxCqC2B,CwCtC7B,gCACE,WxCsC4B,CwCvC9B,wBACE,WxCuCoB,CwCxCtB,qBACE,WxCwCiB,CwCzCnB,yCACE,WxCyCqC,CwC1CvC,uCACE,WxC0CmC,CwC3CrC,qCACE,WxC2CiC,CwC5CnC,qCACE,WxC4CiC,CwC7CnC,sCACE,WxC6CkC,CwC9CpC,mCACE,WxC8C+B,CwC/CjC,gCACE,WxC+C4B,CwChD9B,0BACE,WxCgDsB,CwCjDxB,wCACE,WxCiDoC,CwClDtC,sCACE,WxCkDkC,CwCnDpC,sBACE,WxCmDkB,CwCpDpB,4BACE,WxCoDwB,CwCrD1B,2BACE,WxCqDuB,CwCtDzB,sBACE,WxCsDkB,CwCvDpB,uBACE,WxCuDmB,CwCxDrB,0BACE,WxCwDsB,CwCzDxB,0BACE,WxCyDsB,CwC1DxB,wBACE,WxC0DoB,CwC3DtB,wBACE,WxC2DoB,CwC5DtB,uBACE,WxC4DmB,CwC7DrB,sBACE,WxC6DkB,CwC9DpB,0BACE,WxC8DsB,CwC/DxB,6BACE,WxC+DyB,CwChE3B,4BACE,WxCgEwB,CwCjE1B,wBACE,WxCiEoB,CwClEtB,yBACE,WxCkEqB,CwCnEvB,wBACE,WxCmEoB,CwCpEtB,0BACE,WxCoEsB,CwCrExB,+BACE,WxCqE2B,CwCtE7B,8BACE,WxCsE0B,CwCvE5B,sBACE,WxCuEkB,CwCxEpB,iCACE,WxCwE6B,CwCzE/B,sBACE,WxCyEkB,CwC1EpB,wBACE,WxC0EoB,CwC3EtB,6BACE,WxC2EyB,CwC5E3B,6BACE,WxC4EyB,CwC7E3B,6BACE,WxC6EyB,CwC9E3B,+BACE,WxC8E2B,CwC/E7B,sBACE,WxC+EkB,CwChFpB,uBACE,WxCgFmB,CwCjFrB,uBACE,WxCiFmB,CwClFrB,6BACE,WxCkFyB,CwCnF3B,6BACE,WxCmFyB,CwCpF3B,0BACE,WxCoFsB,CwCrFxB,6BACE,WxCqFyB,CwCtF3B,6BACE,WxCsFyB,CwCvF3B,oCACE,WxCuFgC,CwCxFlC,uBACE,WxCwFmB,CwCzFrB,8BACE,WxCyF0B,CwC1F5B,4BACE,WxC0FwB,CwC3F1B,6BACE,WxC2FyB,CwC5F3B,+BACE,WxC4F2B,CwC7F7B,oCACE,WxC6FgC,CwC9FlC,0BACE,WxC8FsB,CwC/FxB,2BACE,WxC+FuB,CwChGzB,sBACE,WxCgGkB,CwCjGpB,sBACE,WxCiGkB,CwClGpB,sBACE,WxCkGkB,CwCnGpB,6BACE,WxCmGyB,CwCpG3B,oCACE,WxCoGgC,CwCrGlC,4BACE,WxCqGwB,CwCtG1B,0BACE,WxCsGsB,CwCvGxB,6BACE,WxCuGyB,CwCxG3B,6BACE,WxCwGyB,CwCzG3B,2BACE,WxCyGuB,CwC1GzB,4BACE,WxC0GwB,CwC3G1B,4BACE,WxC2GwB,CwC5G1B,2BACE,WxC4GuB,CwC7GzB,gCACE,WxC6G4B,CwC9G9B,0BACE,WxC8GsB,CwC/GxB,0BACE,WxC+GsB,CwChHxB,0BACE,WxCgHsB,CwCjHxB,uBACE,WxCiHmB,CwClHrB,uBACE,WxCkHmB,CwCnHrB,+BACE,WxCmH2B,CwCpH7B,uBACE,WxCoHmB,CwCrHrB,8BACE,WxCqH0B,CwCtH5B,8BACE,WxCsH0B,CwCvH5B,0CACE,WxCuHsC,CwCxHxC,sBACE,WxCwHkB,CwCzHpB,2BACE,WxCyHuB,CwC1HzB,+BACE,WxC0H2B,CwC3H7B,mCACE,WxC2H+B,CwC5HjC,sBACE,WxC4HkB,CwC7HpB,2BACE,WxC6HuB,CwC9HzB,2BACE,WxC8HuB,CwC/HzB,4BACE,WxC+HwB,CwChI1B,yBACE,WxCgIqB,CwCjIvB,wBACE,WxCiIoB,CwClItB,4BACE,WxCkIwB,CwCnI1B,4BACE,WxCmIwB,CwCpI1B,yBACE,WxCoIqB,CwCrIvB,uBACE,WxCqImB,CwCtIrB,8BACE,WxCsI0B,CwCvI5B,2BACE,WxCuIuB,CwCxIzB,yBACE,WxCwIqB,CwCzIvB,sBACE,WxCyIkB,CwC1IpB,mCACE,WxC0I+B,CwC3IjC,2BACE,WxC2IuB,CwC5IzB,yBACE,WxC4IqB,CwC7IvB,sBACE,WxC6IkB,CwC9IpB,sCACE,WxC8IkC,CwC/IpC,0CACE,WxC+IsC,CwChJxC,2CACE,WxCgJuC,CwCjJzC,yCACE,WxCiJqC,CwClJvC,2BACE,WxCkJuB,CwCnJzB,mCACE,WxCmJ+B,CwCpJjC,oCACE,WxCoJgC,CwCrJlC,wBACE,WxCqJoB,CwCtJtB,uBACE,WxCsJmB,CwCvJrB,gCACE,WxCuJ4B,CwCxJ9B,2BACE,WxCwJuB,CwCzJzB,8BACE,WxCyJ0B,CwC1J5B,8BACE,WxC0J0B,CwC3J5B,2BACE,WxC2JuB,CwC5JzB,6BACE,WxC4JyB,CwC7J3B,4BACE,WxC6JwB,CwC9J1B,wBACE,WxC8JoB,CwC/JtB,8BACE,WxC+J0B,CwChK5B,4BACE,WxCgKwB,CwCjK1B,uBACE,WxCiKmB,CwClKrB,8BACE,WxCkK0B,CwCnK5B,2BACE,WxCmKuB,CwCpKzB,wBACE,WxCoKoB,CwCrKtB,4BACE,WxCqKwB,CwCtK1B,qBACE,WxCsKiB,CwCvKnB,+BACE,WxCuK2B,CwCxK7B,6BACE,WxCwKyB,CwCzK3B,6BACE,WxCyKyB,CwC1K3B,4BACE,WxC0KwB,CwC3K1B,2BACE,WxC2KuB,CwC5KzB,4BACE,WxC4KwB,CwC7K1B,4BACE,WxC6KwB,CwC9K1B,2BACE,WxC8KuB,CwC/KzB,yBACE,WxC+KqB,CwChLvB,+BACE,WxCgL2B,CwCjL7B,0BACE,WxCiLsB,CwClLxB,uBACE,WxCkLmB,CwCnLrB,uBACE,WxCmLmB,CwCpLrB,wBACE,WxCoLoB,CwCrLtB,wBACE,WxCqLoB,CwCtLtB,6BACE,WxCsLyB,CwCvL3B,gCACE,WxCuL4B,CwCxL9B,+BACE,WxCwL2B,CwCzL7B,6BACE,WxCyLyB,CwC1L3B,iCACE,WxC0L6B,CwC3L/B,kCACE,WxC2L8B,CwC5LhC,+BACE,WxC4L2B,CwC7L7B,kCACE,WxC6L8B,CwC9LhC,wCACE,WxC8LoC,CwC/LtC,0BACE,WxC+LsB,CwChMxB,2BACE,WxCgMuB,CwCjMzB,2BACE,WxCiMuB,CwClMzB,uCACE,WxCkMmC,CwCnMrC,2BACE,WxCmMuB,CwCpMzB,2BACE,WxCoMuB,CwCrMzB,sBACE,WxCqMkB,CwCtMpB,sBACE,WxCsMkB,CwCvMpB,8BACE,WxCuM0B,CwCxM5B,kCACE,WxCwM8B,CwCzMhC,wBACE,WxCyMoB,CwC1MtB,sBACE,WxC0MkB,CwC3MpB,wBACE,WxC2MoB,CwC5MtB,yBACE,WxC4MqB,CwC7MvB,wBACE,WxC6MoB,CwC9MtB,uCACE,WxC8MmC,CwC/MrC,qBACE,WxC+MiB,CwChNnB,4BACE,WxCgNwB,CwCjN1B,4BACE,WxCiNwB,CwClN1B,0BACE,WxCkNsB,CwCnNxB,uBACE,WxCmNmB,CwCpNrB,sBACE,WxCoNkB,CwCrNpB,6BACE,WxCqNyB,CwCtN3B,2BACE,WxCsNuB,CwCvNzB,+BACE,WxCuN2B,CwCxN7B,6BACE,WxCwNyB,CwCzN3B,0BACE,WxCyNsB,CwC1NxB,uBACE,WxC0NmB,CwC3NrB,8BACE,WxC2N0B,CwC5N5B,8BACE,WxC4N0B,CwC7N5B,sBACE,WxC6NkB,CwC9NpB,sBACE,WxC8NkB,CwC/NpB,0BACE,WxC+NsB,CwChOxB,sBACE,WxCgOkB,CwCjOpB,yBACE,WxCiOqB,CwClOvB,8BACE,WxCkO0B,CwCnO5B,uBACE,WxCmOmB,CwCpOrB,6BACE,WxCoOyB,CwCrO3B,+BACE,WxCqO2B,CwCtO7B,2BACE,WxCsOuB,CwCvOzB,4BACE,WxCuOwB,CwCxO1B,0BACE,WxCwOsB,CwCzOxB,4BACE,WxCyOwB,CwC1O1B,4BACE,WxC0OwB,CwC3O1B,kCACE,WxC2O8B,CwC5OhC,8BACE,WxC4O0B,CwC7O5B,uBACE,WxC6OmB,CwC9OrB,8BACE,WxC8O0B,CwC/O5B,+BACE,WxC+O2B,CwChP7B,uCACE,WxCgPmC,CwCjPrC,+BACE,WxCiP2B,CwClP7B,2BACE,WxCkPuB,CwCnPzB,wBACE,WxCmPoB,CwCpPtB,yBACE,WxCoPqB,CwCrPvB,2BACE,WxCqPuB,CwCtPzB,4BACE,WxCsPwB,CwCvP1B,0BACE,WxCuPsB,CwCxPxB,6BACE,WxCwPyB,CwCzP3B,6BACE,WxCyPyB,CwC1P3B,6BACE,WxC0PyB,CwC3P3B,2BACE,WxC2PuB,CwC5PzB,2BACE,WxC4PuB,CwC7PzB,sBACE,WxC6PkB,CwC9PpB,6BACE,WxC8PyB,CwC/P3B,uBACE,WxC+PmB,CwChQrB,wBACE,WxCgQoB,CwCjQtB,4BACE,WxCiQwB,CwClQ1B,wBACE,WxCkQoB,CwCnQtB,uBACE,WxCmQmB,CwCpQrB,2BACE,WxCoQuB,CwCrQzB,qBACE,WxCqQiB,CwCtQnB,uBACE,WxCsQmB,CwCvQrB,6BACE,WxCuQyB,CwCxQ3B,sBACE,WxCwQkB,CwCzQpB,sBACE,WxCyQkB,CwC1QpB,gCACE,WxC0Q4B,CwC3Q9B,uBACE,WxC2QmB,CwC5QrB,qCACE,WxC4QiC,CwC7QnC,8BACE,WxC6Q0B,CwC9Q5B,8BACE,WxC8Q0B,CwC/Q5B,uBACE,WxC+QmB,CwChRrB,0BACE,WxCgRsB,CwCjRxB,4BACE,WxCiRwB,CwClR1B,0BACE,WxCkRsB,CwCnRxB,kCACE,WxCmR8B,CwCpRhC,uBACE,WxCoRmB,CwCrRrB,wBACE,WxCqRoB,CwCtRtB,wBACE,WxCsRoB,CwCvRtB,sBACE,WxCuRkB,CwCxRpB,yBACE,WxCwRqB,CwCzRvB,kCACE,WxCyR8B,CwC1RhC,wBACE,WxC0RoB,CwC3RtB,+BACE,WxC2R2B,CwC5R7B,oCACE,WxC4RgC,CwC7RlC,qCACE,WxC6RiC,CwC9RnC,mCACE,WxC8R+B,CwC/RjC,gCACE,WxC+R4B,CwChS9B,wBACE,WxCgSoB,CwCjStB,uBACE,WxCiSmB,CwClSrB,yBACE,WxCkSqB,CwCnSvB,qBACE,WxCmSiB,CwCpSnB,4BACE,WxCoSwB,CwCrS1B,sBACE,WxCqSkB,CwCtSpB,iCACE,WxCsS6B,CwCvS/B,6BACE,WxCuSyB,CwCxS3B,2BACE,WxCwSuB,CwCzSzB,uBACE,WxCySmB,CwC1SrB,8BACE,WxC0S0B,CwC3S5B,wBACE,WxC2SoB,CwC5StB,+BACE,WxC4S2B,CwC7S7B,iCACE,WxC6S6B,CwC9S/B,6BACE,WxC8SyB,CwC/S3B,mCACE,WxC+S+B,CwChTjC,wBACE,WxCgToB,CwCjTtB,2BACE,WxCiTuB,CwClTzB,yBACE,WxCkTqB,CwCnTvB,+BACE,WxCmT2B,CwCpT7B,6BACE,WxCoTyB,CwCrT3B,4BACE,WxCqTwB,CwCtT1B,sCACE,WxCsTkC,CwCvTpC,gCACE,WxCuT4B,CwCxT9B,iCACE,WxCwT6B,CwCzT/B,+BACE,WxCyT2B,CwC1T7B,0BACE,WxC0TsB,CwC3TxB,uBACE,WxC2TmB,CwC5TrB,wBACE,WxC4ToB,CwC7TtB,sBACE,WxC6TkB,CwC9TpB,+BACE,WxC8T2B,CwC/T7B,+BACE,WxC+T2B,CwChU7B,0BACE,WxCgUsB,CwCjUxB,uBACE,WxCiUmB,CwClUrB,6BACE,WxCkUyB,CwCnU3B,6BACE,WxCmUyB,CwCpU3B,4BACE,WxCoUwB,CwCrU1B,4BACE,WxCqUwB,CwCtU1B,2BACE,WxCsUuB,CwCvUzB,8BACE,WxCuU0B,CwCxU5B,sBACE,WxCwUkB,CwCzUpB,mCACE,WxCyU+B,CwC1UjC,wCACE,WxC0UoC,CwC3UtC,0BACE,WxC2UsB,CwC5UxB,2BACE,WxC4UuB,CwC7UzB,gCACE,WxC6U4B,CwC9U9B,qCACE,WxC8UiC,CwC/UnC,+BACE,WxC+U2B,CwChV7B,wBACE,WxCgVoB,CwCjVtB,+BACE,WxCiV2B,CwClV7B,sBACE,WxCkVkB,CwCnVpB,4BACE,WxCmVwB,CwCpV1B,+BACE,WxCoV2B,CwCrV7B,4BACE,WxCqVwB,CwCtV1B,8BACE,WxCsV0B,CwCvV5B,sBACE,WxCuVkB,CwCxVpB,2BACE,WxCwVuB,CwCzVzB,+BACE,WxCyV2B,CwC1V7B,uBACE,WxC0VmB,CwC3VrB,iCACE,WxC2V6B,CwC5V/B,+BACE,WxC4V2B,CwC7V7B,+BACE,WxC6V2B,CwC9V7B,8BACE,WxC8V0B,CwC/V5B,gCACE,WxC+V4B,CwChW9B,+BACE,WxCgW2B,CwCjW7B,sCACE,WxCiWkC,CwClWpC,oCACE,WxCkWgC,CwCnWlC,qBACE,WxCmWiB,CwCpWnB,6BACE,WxCoWyB,CwCrW3B,sBACE,WxCqWkB,CwCtWpB,gCACE,WxCsW4B,CwCvW9B,oBACE,WxCuWgB,CwCxWlB,4BACE,WxCwWwB,CwCzW1B,+BACE,WxCyW2B,CwC1W7B,6BACE,WxC0WyB,CwC3W3B,yBACE,WxC2WqB,CwC5WvB,6BACE,WxC4WyB,CwC7W3B,2BACE,WxC6WuB,CwC9WzB,sBACE,WxC8WkB,CwC/WpB,6BACE,WxC+WyB,CwChX3B,sBACE,WxCgXkB,CwCjXpB,qCACE,WxCiXiC,CwClXnC,oCACE,WxCkXgC,CwCnXlC,iCACE,WxCmX6B,CwCpX/B,qCACE,WxCoXiC,CwCrXnC,sBACE,WxCqXkB,CwCtXpB,uBACE,WxCsXmB,CwCvXrB,yBACE,WxCuXqB,CwCxXvB,uBACE,WxCwXmB,CwCzXrB,2BACE,WxCyXuB,CwC1XzB,uBACE,WxC0XmB,CwC3XrB,sBACE,WxC2XkB,CwC5XpB,+BACE,WxC4X2B,CwC7X7B,6BACE,WxC6XyB,CwC9X3B,uBACE,WxC8XmB,CwC/XrB,6BACE,WxC+XyB,CwChY3B,2BACE,WxCgYuB,CwCjYzB,2BACE,WxCiYuB,CwClYzB,sBACE,WxCkYkB,CwCnYpB,iCACE,WxCmY6B,CwCpY/B,iCACE,WxCoY6B,CwCrY/B,wBACE,WxCqYoB,CwCtYtB,uBACE,WxCsYmB,CwCvYrB,2BACE,WxCuYuB,CwCxYzB,yBACE,WxCwYqB,CwCzYvB,wBACE,WxCyYoB,CwC1YtB,sBACE,WxC0YkB,CwC3YpB,0BACE,WxC2YsB,CwC5YxB,wCACE,WxC4YoC,CwC7YtC,yCACE,WxC6YqC,CwC9YvC,uCACE,WxC8YmC,CwC/YrC,uBACE,WxC+YmB,CwChZrB,6BACE,WxCgZyB,CwCjZ3B,4BACE,WxCiZwB,CwClZ1B,2BACE,WxCkZuB,CwCnZzB,sBACE,WxCmZkB,CwCpZpB,8BACE,WxCoZ0B,CwCrZ5B,iCACE,WxCqZ6B,CwCtZ/B,wBACE,WxCsZoB,CwCvZtB,+BACE,WxCuZ2B,CwCxZ7B,+BACE,WxCwZ2B,CwCzZ7B,+BACE,WxCyZ2B,CwC1Z7B,wBACE,WxC0ZoB,CwC3ZtB,yBACE,WxC2ZqB,CwC5ZvB,0BACE,WxC4ZsB,CwC7ZxB,6BACE,WxC6ZyB,CyCle7B,mEAMI,aAAc,CANlB,yBAgBI,eAAgB,CAEhB,aCtB8B,CDIlC,8CAqBM,+FrCnBS,CqCsBX,qEAEE,eAAgB,CAFlB,+GAKI,+FrC3BO,CuC0Bf,UACE,evCPa,CuCQb,iBtCYyC,CsCXzC,avC3BkB,CuC4BlB,eAAgB,CAChB,QAAS,CACT,eDzBiC,CC0BjC,WDvCgC,CCwChC,eAAgB,CAGlB,kBD8EE,uCtCnHa,CsCoHb,aAAc,CACd,UA3HgC,CA6HhC,4BACE,oCtCpGW,CuCqBf,eDdE,sBAAuB,CACvB,iBAhC6C,CAiC7C,aAAc,C5B3BZ,YAAa,CAEf,kB4BsB8B,CAI9B,gBA1B0E,CA2B1E,eAvBkE,CAwBlE,oBAAqB,CACrB,wBAAiB,CAAjB,gBCoD+C,C7B/E/C,iBACE,WAAY,CACZ,aAAc,CAGhB,yBACE,WAAY,CACZ,aAAc,CAehB,uCAGE,gB4BvBgE,C5B2BlE,uDAEE,cAAkB,CA1BpB,yB4ByBE,qBAAsB,CCK1B,sFDDI,qCtC7BW,CsC8BX,cAAe,CACf,oBAAqB,CCDzB,4BDKI,wBAAyB,CACzB,yBtCvCW,CsCwCX,kBAAmB,CAGrB,yBAMA,aAAc,CANd,qLASE,sCtClDW,CsCmDX,aAAc,CAVhB,sCAcE,wBAAyB,CACzB,0BtCvDW,CuC8Bf,kCDgCM,atChDS,CuCgBf,4CDmCQ,aAAc,CCnCtB,wIDyCQ,atCzDO,CuCgBf,yKD8CQ,wBtC7DO,CuCef,yCDkDQ,wBtClEO,CuCgBf,g9BD4DU,UtCjFK,CuCqBf,kCDgCM,atC1CU,CuCUhB,4CDmCQ,aAAc,CCnCtB,wIDyCQ,atCnDQ,CuCUhB,yKD8CQ,wBtCvDQ,CuCShB,yCDkDQ,wBtC5DQ,CuCUhB,g9BD4DU,UtCjFK,CuCqBf,kCDgCM,atCpCW,CuCIjB,4CDmCQ,aAAc,CCnCtB,wIDyCQ,atC7CS,CuCIjB,yKD8CQ,wBtCjDS,CuCGjB,yCDkDQ,wBtCtDS,CuCIjB,g9BD4DU,UtCjFK,CuCqBf,iCDgCM,atC9BQ,CuCFd,2CDmCQ,aAAc,CCnCtB,qIDyCQ,atCvCM,CuCFd,sKD8CQ,wBtC3CM,CuCHd,wCDkDQ,wBtChDM,CuCFd,g8BD4DU,UtCjFK,CuCqBf,sB5BnCE,iCAAkC,CAClC,kCAAmC,CAOnC,8BAAoD,CACpD,cVoB0B,CUnB1B,iBAAkB,CAClB,eAAgB,CAChB,aAAc,C4B8BZ,gBDxCgE,CCiCpE,+CAYI,avC7CW,CuC8CX,cAAiE,CAbrE,oCAiBI,avClDW,CuCiCf,sFAqBI,aAAc,CArBlB,gDA0BI,qCvC1DW,CuCgCf,4BAgCI,kCAAoC,CAEpC,4BAA8B,CAE9B,sBAAwB,CApC5B,sJAiCI,mCAQ2C,CAK7C,0BDsBA,crCrFsC,CqCsFtC,gBAzGsF,CA0GtF,eAvGkE,CC+ElE,oCAKI,cAAuE,CAL3E,iC5BjFA,iCAAkC,CAClC,kCAAmC,CAOnC,8BAAoD,CACpD,cVqBuB,CUpBvB,iBAAkB,CAClB,eAAgB,CAChB,aAAc,C4B+EV,iBDxFuE,CCyFvE,cAAoE,CAK1E,qBACE,eAAgB,CAChB,WAAY,CACZ,eAAgB,CAChB,UAAW,CAqBb,iBDbE,uCtCnHa,CsC8Hb,cAAe,CAVf,aAAc,CACd,UA3HgC,CAqIhC,gBAAkD,CARlD,2BACE,oCtCpGW,CuC4Gf,+BDGM,eAAgB,CCHtB,oBrCnEE,gBAAiB,CAjBjB,aF1CkB,CE2ClB,eAAgB,CoCuGhB,gBAAyC,CACzC,QAAS,CpC3FT,eAAgB,CoC4FhB,sBAA+C,CpC3F/C,sBAAuB,CACvB,kBoC0F+C,CCtBjD,kCDWM,aAAc,CCRlB,+BDwBE,cAA8B,CAC9B,kBAAiC,CACjC,gBAAgC,CC1BlC,6CD8BE,aAAc,CCxBlB,oBAEI,kBvCtIgB,CuCuIhB,avC1HiB,CuCuHrB,4CDhEM,atC7CS,CuC6Gf,sDD7DQ,aAAc,CC6DtB,sKDvDQ,atCtDO,CuC6Gf,qSDlDQ,wBtC7DO,CuC+Gf,mDD9CQ,wBtClEO,CuCgHf,0gDDpCU,UtCjFK,CuCqHf,4CDhEM,atCvCU,CuCuGhB,sDD7DQ,aAAc,CC6DtB,sKDvDQ,atChDQ,CuCuGhB,qSDlDQ,wBtCvDQ,CuCyGhB,mDD9CQ,wBtC5DQ,CuC0GhB,0gDDpCU,UtCjFK,CuCqHf,4CDhEM,atCjCW,CuCiGjB,sDD7DQ,aAAc,CC6DtB,sKDvDQ,atC1CS,CuCiGjB,qSDlDQ,wBtCjDS,CuCmGjB,mDD9CQ,wBtCtDS,CuCoGjB,0gDDpCU,UtCjFK,CuCqHf,2CDhEM,atC3BQ,CuC2Fd,qDD7DQ,aAAc,CC6DtB,mKDvDQ,atCpCM,CuC2Fd,iSDlDQ,wBtC3CM,CuC6Fd,kDD9CQ,wBtChDM,CuC8Fd,s/CDpCU,UtCjFK,CuCqHf,iHAeM,avC7IS,CuC8Hf,oEAoBM,qCvCnJS,CuC+Hf,8LA+BQ,oCAA8C,CA/BtD,uDAuCI,gCvC5JW,CE2Bb,8BqCqIE,avClKiB,CuCuKrB,qBACE,cAA6B,CCjK/B,YACE,qBxCNa,CwCOb,yFxC3Ba,CwC4Bb,WvC0BkC,CuCzBlC,cATkC,CAUlC,iBAAkB,CAClB,UAAW,CACX,UvCyBiB,CuChCnB,2CAWI,wBxC9BgB,CwCmBpB,qBAgBI,+FxCzCW,CwC6Cb,sBACE,yFxC9CW,CwCyBf,0BAyBI,MAAO,CACP,cAAe,CACf,OAAQ,CACR,KAAM,CAIV,oBACE,cvClCsC,CuCmCtC,iBAvCkC,CA0CpC,kBACE,kBAAmB,CACnB,YAAa,CACb,WvCXkC,CuCQpC,iCAMI,UAAW,CANf,kCAUI,WAAY,CAIhB,oBACE,wCxC7Ea,CwC8Eb,WAA6C,CAC7C,avCzEiB,CuC2EjB,8BACE,qCxC9DW,CyCPf,qBAEE,kBAAmB,C/BbjB,YAAa,CAEf,qB+BUiC,CAEjC,WAAY,CACZ,sBAAuB,CACvB,iBAAkB,CAClB,UAAW,C/BbX,uBACE,WAAY,CACZ,aAAc,CAGhB,+BACE,WAAY,CACZ,aAAc,CAehB,mDAGE,kB+BjBkD,C/BqBpD,mEAEE,eAAkB,CA/BpB,uB+BgBE,eAA6B,CAIjC,4BACE,yBzCnBa,CyCoBb,cAAkC,CAElC,sCACE,0BzCpBW,C0CjBf,mBACE,YAAa,CACb,gBAAiB,CACjB,WAAY,CAGd,0BACE,aAAc,CACd,SAAU,CCHZ,sBACE,eAAgB,CAGlB,azCoBE,QyClB+B,CzCmB/B,MyCnB+B,CzCoB/B,eyCpB4B,CzCqB5B,OyCrB+B,CzCsB/B,KyCtB+B,CAC/B,U1CmDiB,C0CtDnB,oCAQI,mBAAoB,CARxB,mCAYI,eAAgB,CAEhB,cAAe,CAdnB,sDAoBM,iBAAkB,CApBxB,0CAyBI,aAAc,CAEd,cAAe,CA3BnB,6DAiCM,iBAAkB,CAjCxB,gCAsCI,cAAe,CAEf,gBAAiB,CAMrB,qBAEE,cAAe,CACf,U1CKiB,C0CHjB,4FAIE,iBAAkB,CAKtB,sBAQE,kC3CvEa,CEuBb,QyCyC8B,CzCxC9B,MyCwC8B,CzByB5B,SyBtBa,CAKf,aAAc,CzC/Cd,cyCuC2B,CzCtC3B,OyCsC8B,CzCrC9B,KyCqC8B,CAS9B,wBAAiB,CAAjB,gBAAiB,CACjB,U1CjBiB,CiBWjB,iFAqBE,SyBtBW,CzBKb,+FAiBE,SyBtBa,CzBOb,kBArDO,CAsDP,uByBP2B,CzBQ3B,2ByBTQ,CzBUR,oDjB0BgD,CiBnClD,uCAqBE,SyBtBa,CzBKf,8CAiBE,SyBtBW,CzBOX,kBArDO,CAsDP,uByBP2B,CzBQ3B,2ByBTQ,CzBUR,oDjB0BgD,C0CxCpD,4BAcI,YAAa,CAIf,0CACE,iBAAkB,CCrFtB,iBACE,eAAgB,CAChB,iBAAkB,CAGpB,wBACE,kBAAmB,CACnB,mC5CJa,C4CKb,YAAa,CACb,aAAc,CACd,WAAyB,CACzB,SAAU,CAEV,kCACE,oC5CSW,C4ClBf,6BAcI,mBAAoB,CACpB,YAAa,CACb,QAAO,CAhBX,qCAoBI,YAA6B,CAIjC,wCACE,eAA8B,CAC9B,cAAe,CACf,kBAAmB,CAHrB,kDAOI,YAAa,CAIjB,sBAGE,qB5CpBa,C4CqBb,yC5CzCa,CEuBb,Q0CeiC,CAIjC,YAAa,CACb,qBAAsB,C1CnBtB,M0CciC,CAQjC,iBAAkB,CAClB,eAAgB,C1CtBhB,iB0Ca8B,C1CZ9B,O0CYiC,C1CXjC,K0CWiC,CAUjC,SAAU,CAEV,gCACE,wB5C9CgB,C4CgCpB,0CAkBI,YAAa,CAKjB,2F1B6BI,S0BzBsD,C1ByBtD,kC0BzB4B,C1ByB5B,0B0BzBsD,CAJ1D,yG1B6BI,S0BzBwD,C1ByBxD,8B0BzB0C,C1ByB1C,sB0BzB0C,C1BU1C,kBApBO,CAqBP,uB0BTsC,C1BUtC,6C0BZmD,C1BYnD,qC0BZmD,C1BYnD,uD0BZmD,C1BanD,+B0BZa,CALjB,4C1B6BI,S0BlBwD,C1BkBxD,8B0BlB0C,C1BkB1C,sB0BlBwD,CAX5D,mD1BcI,kBApBO,CAqBP,uB0BFsC,C1BGtC,6C0BLmD,C1BKnD,qC0BLmD,C1BKnD,uD0BLmD,C1BMnD,+B0BLa,CAMjB,4I1BWI,S0BlBsD,C1BkBtD,kC0BlB4B,C1BkB5B,0B0BPsD,CAJ1D,uG1BWI,S0BPwD,C1BOxD,8B0BP0C,C1BO1C,sB0BP0C,C1BR1C,kBApBO,CAqBP,uB0BSsC,C1BRtC,6C0BMmD,C1BNnD,qC0BMmD,C1BNnD,uD0BMmD,C1BLnD,+B0BMa,CALjB,2C1BWI,S0BAwD,C1BAxD,8B0BA0C,C1BA1C,sB0BAwD,CAX5D,kD1BWI,S0BAsD,C1BAtD,kC0BA4B,C1BA5B,0B0BA4B,C1Bf5B,kBApBO,CAqBP,uB0BgBsC,C1BftC,6C0BamD,C1BbnD,qC0BamD,C1BbnD,uD0BamD,C1BZnD,+B0Baa,CC7FjB,kBACE,eAAgB,CAChB,iBAAkB,CAGpB,yBACE,kBAAmB,CACnB,mC7CJa,C6CKb,YAAa,CACb,aAAc,CACd,WAAyB,CACzB,SAAU,CAEV,mCACE,oC7CSW,C6ClBf,8BAcI,mBAAoB,CACpB,YAAa,CACb,QAAO,CAhBX,sCAoBI,YAA6B,CAIjC,yCACE,eAA8B,CAC9B,cAAe,CACf,kBAAmB,CAHrB,mDAOI,YAAa,CAIjB,uBAGE,qB7CpBa,C6CqBb,yC7CzCa,CEuBb,Q2CeiC,CAIjC,YAAa,CACb,qBAAsB,C3CnBtB,M2CciC,CAQjC,iBAAkB,CAClB,eAAgB,C3CtBhB,iB2Ca8B,C3CZ9B,O2CYiC,C3CXjC,K2CWiC,CAUjC,SAAU,CAEV,iCACE,wB7C9CgB,C6CgCpB,2CAkBI,YAAa,C3Baf,+FAqBE,S2BzBsD,C3ByBtD,kC2BzB4B,C3ByB5B,0B2BzBsD,C3BQxD,6GAiBE,S2BzBwD,C3ByBxD,8B2BzB0C,C3ByB1C,sB2BzB0C,C3BU1C,kBApBO,CAqBP,uB2BTsC,C3BUtC,6C2BZmD,C3BYnD,qC2BZmD,C3BYnD,uD2BZmD,C3BanD,+B2BZa,C3BGf,8CAqBE,S2BlBwD,C3BkBxD,8B2BlB0C,C3BkB1C,sB2BlBwD,C3BC1D,qDAEE,kBApBO,CAqBP,uB2BFsC,C3BGtC,6C2BLmD,C3BKnD,qC2BLmD,C3BKnD,uD2BLmD,C3BMnD,+B2BLa,C3BJf,kJAqBE,S2BlBsD,C3BkBtD,kC2BlB4B,C3BkB5B,0B2BPsD,C3BVxD,2GAiBE,S2BPwD,C3BOxD,8B2BP0C,C3BO1C,sB2BP0C,C3BR1C,kBApBO,CAqBP,uB2BSsC,C3BRtC,6C2BMmD,C3BNnD,qC2BMmD,C3BNnD,uD2BMmD,C3BLnD,+B2BMa,C3Bff,6CAqBE,S2BAwD,C3BAxD,8B2BA0C,C3BA1C,sB2BAwD,C3BjB1D,oDAiBE,S2BAsD,C3BAtD,kC2BA4B,C3BA5B,0B2BA4B,C3Bf5B,kBApBO,CAqBP,uB2BgBsC,C3BftC,6C2BamD,C3BbnD,qC2BamD,C3BbnD,uD2BamD,C3BZnD,+B2Baa,CC5FjB,aAcE,iB7C4ByC,C8CwFzC,+F/ChIa,C8Cab,oBAAqB,C5B4EnB,0B6B0E+B,C7B1E/B,kB6B0E+B,CDrJjC,U7C2CiB,C8CxCjB,gCACE,WDlBwB,CCmBxB,iBAAkB,CAClB,UDpBwB,CCsBxB,uCACE,WAA4C,CAC5C,UAAoE,CAEpE,UAA2C,CAK/C,gFACE,kBAvBsE,CAwBtE,gBAxBsE,CAsBxE,mGAKI,YAxBsD,CAmB1D,uGAQM,gCAAyB,CAAzB,wBAAyB,CAK/B,gFACE,gBApCsE,CAmCxE,mGAII,UApCsD,CAgC1D,uGAOM,2BAAoB,CAApB,mBAAoB,CAK1B,gFACE,eAhDsE,CA+CxE,mGAII,SAhDsD,CA4C1D,uGAOM,+BAAwB,CAAxB,uBAAwB,CAK9B,gFAGE,iBA9DsE,CAgEtE,iBAhEsE,CA2DxE,mGAQI,WAhEsD,CAwD1D,uGAWM,gCAAyB,CAAzB,wBAAyB,CAM/B,oEACE,OAAQ,CACR,kCAA2B,CAA3B,0BAA2B,CAG7B,oEACE,SAAU,CACV,iCAA0B,CAA1B,yBAA0B,CAO1B,gGACE,YArF0F,CAoF5F,oGACE,cArF0F,CAoF5F,kGACE,aArF0F,CAoF5F,sGACE,eArF0F,CA2F1F,+EAKI,iCANc,CAMd,yBANc,CAClB,iFAKI,mCANsB,CAMtB,2BANsB,CAC1B,gFAKI,kCAN6B,CAM7B,0BAN6B,CACjC,kFAGI,oCAJc,CAId,4BAJc,CAClB,oFAGI,sCAJsB,CAItB,8BAJsB,CAC1B,mFAGI,qCAJ6B,CAI7B,6BAJ6B,CACjC,kFAKI,oCANc,CAMd,4BANc,CAClB,oFAKI,sCANsB,CAMtB,8BANsB,CAC1B,mFAKI,qCAN6B,CAM7B,6BAN6B,CAyBrC,kCACE,e/C/GW,C+CqHb,4DAEE,aDrIO,CCgBP,uCAyHA,wC/C/IW,C+CkJb,uCACE,Y/CnJW,C+CoJX,e9CrF0B,C8CwF5B,qCACE,S/CpIW,CkBgDb,iEAqBE,2B6B0EsB,C7B1EtB,mB6B0EsB,C7B3FxB,+EAiBE,0B6B0E+B,C7B1E/B,kB6B0E+B,C7BzF/B,kBArDO,CAsDP,uB6ByFsC,C7BxFtC,qC6BuFU,C7BvFV,6B6BuFU,C7BvFV,+C6BuFU,C7BtFV,0DjB2B4D,CiBpC9D,+BAqBE,0B6B0E+B,C7B1E/B,kB6B0E+B,C7B3FjC,sCAiBE,2B6B0EsB,C7B1EtB,mB6B0EsB,C7BzFtB,kBArDO,CAsDP,uB6ByFsC,C7BxFtC,qC6BuFU,C7BvFV,6B6BuFU,C7BvFV,+C6BuFU,C7BtFV,0DjB2B4D,C8C0B9D,kCDjHE,iB7CuBuC,C6CtBvC,iBAAkB,CApBtB,6DAyBM,eA3B4B,CA4B5B,YAA0B,CAM5B,yEACE,WAnC4B,CAElC,yBAwCI,kBAA2E,CAxC/E,4CA2CM,YAAa,C5B2BjB,sJAqBE,0B4B1CwB,C5B0CxB,kB4B1CwB,C5ByB1B,+HAiBE,0B4B1CiC,C5B0CjC,kB4B1CiC,C5B2BjC,kBArDO,CAsDP,uBjB8B0B,CiB7B1B,qC4B7Bc,C5B6Bd,6B4B7Bc,C5B6Bd,+C4B7Bc,C5B8Bd,oDjB0BgD,CiBnClD,uDAqBE,0B4B1CiC,C5B0CjC,kB4B1CiC,C5ByBnC,8DAiBE,0B4B1CwB,C5B0CxB,kB4B1CwB,C5B2BxB,kBArDO,CAsDP,uBjB8B0B,CiB7B1B,qC4B7Bc,C5B6Bd,6B4B7Bc,C5B6Bd,+C4B7Bc,C5B8Bd,oDjB0BgD,C6CzGpD,6CCkIE,+F/ChIa,C+CkIb,uFACE,kB/C9HgB,C+CoIlB,8JAEE,aDjFS,CCoFX,iGACE,wC/C/IW,C+CkJb,iGACE,Y/CnJW,C+CoJX,e9CrF0B,C8CwF5B,6FACE,Y/CnJgB,C8C8DpB,0BACE,iBAAoC,CACpC,UAAW,CACX,aAAc,CACd,iBAAkB,CAClB,+BAAwB,CAAxB,uBAAwB,CAI1B,sCACE,YAAa,CAGf,sBACE,4B9C7Da,C8CgEf,0BAKE,YAAa,C5BAX,S6BoEuD,CDnEzD,U7CjCiB,CiBWjB,yFAqBE,S6BoEqD,C7BrFvD,uGAiBE,S6BoEuD,C7BnFvD,kBArDO,CAsDP,uBjB8B0B,CiB7B1B,2B6BiFkD,C7BhFlD,oDjB0BgD,CiBnClD,2CAqBE,S6BoEuD,C7BrFzD,kDAiBE,S6BoEqD,C7BnFrD,kBArDO,CAsDP,uBjB8B0B,CiB7B1B,2B6BiFkD,C7BhFlD,oDjB0BgD,C6CnBpD,gCASI,YAAa,CATjB,iEAcI,mBAAoB,CAdxB,oDAmBI,YAAa,CAIjB,wBAEE,oBAAqB,CAMvB,8BACE,UAAW,CE1Hb,YACE,MAAO,CAKP,iBAAkB,CAElB,OAAQ,CAER,KAAM,CCgCR,+CACE,GACE,uBAAwB,CAG1B,GACE,0BAAiD,EANrD,uCACE,GACE,uBAAwB,CAG1B,GACE,0BAAiD,EAIrD,kBACE,8BjDvCa,CiDwCb,kBAxB4C,CAyB5C,aAAc,CACd,UA5B8C,CA6B9C,eAAgB,CAChB,iBAAkB,CAClB,UAAW,CAPb,sCAUI,iJAtBH,CAuBG,oCjDjDW,CiDkDX,yBAnCyC,CAoCzC,kBAnC0C,CAoC1C,WAAY,CACZ,iBAAkB,CAClB,8ChDyCgD,CgDvChD,UAAW,CAlBf,kFAsBI,iEAA4F,CAtBhG,qDA0BI,qBAAsB,CAI1B,4BACE,4BjD7Ea,CiD4Ef,gDAII,wBjDtEW,CiD2Eb,yDACE,wBjD5DW,CiD2Db,yDACE,wBjDtDY,CiDqDd,yDACE,wBjDhDa,CiD+Cf,wDACE,wBjD1CU,CkD9Bd,iCACE,GACE,+BlDFiB,CkDGjB,iClDHiB,CkDMnB,GACE,8BlDbW,CkDcX,gClDdW,EkDMf,yBACE,GACE,+BlDFiB,CkDGjB,iClDHiB,CkDMnB,GACE,8BlDbW,CkDcX,gClDdW,EkDqBf,cACE,4DClCsE,CDkCtE,oDClCsE,CDqCtE,+BlDnBmB,CkDsBnB,qCAAuC,CACvC,2CAA8C,CAC9C,iBAAkB,CAClB,yBAA2B,CAG3B,2BAA6B,CAC7B,cAAe,CACf,mBAAoB,CACpB,wBAAiB,CAAjB,gBAAiB,CAhBnB,yDAsBI,2BAA6B,CE9CjC,YAEE,cAAe,CCJb,WpD+CqC,CoD9CrC,eAJkC,CDQpC,YAAa,CACb,iBAAkB,CAClB,wBAAiB,CAAjB,gBAAiB,CCLf,UDKe,CALnB,kBAQI,cAAe,CARnB,mBAYI,eAAgB,CAZpB,yBAgBI,kBAAmB,CACnB,UAAY,CAjBhB,iCAqBI,WnDSwB,CmDL5B,uCCXI,UDrBqC,CCsBrC,MAAO,CDaT,iBAAkB,CCZhB,OAAQ,CACR,ODWgB,CAGpB,kBACE,iBnDGyC,CmDFzC,eAAgB,CAGlB,qBACE,8BpDlCa,CoDoCb,+BACE,4BpD7CW,CoDyCf,wCASM,wBpDxBS,CoDef,wCASM,wBpDlBU,CoDShB,wCASM,wBpDZW,CoDGjB,uCASM,wBpDNQ,CoDWd,mB3CwEE,wBT7GmB,CS8GnB,6EA7E8E,C2CM9E,iBnDjByC,CQyFzC,6ETjIa,CoD0Db,kEpD1Da,CSkIb,aThIkB,CoDyDlB,cAAe,CACf,WnDzB0B,CmD0B1B,MAAO,CACP,iBAAkB,CAClB,KAAM,CACN,UnD7B0B,CQqG1B,wDAkBA,wBT3ImB,CS4InB,qBAAsB,CACtB,8ET5Ja,CS6Ib,4DAmBA,qCTlJmB,CSmJnB,qBAAsB,CACtB,eAAgB,CAChB,yBT3Ja,CS4Jb,kBAAmB,CACnB,YAAa,CAEb,gLAEE,+BT3JiB,CoDyCrB,yBAaI,SAAU,C3CgEZ,yBAgBA,2BAA4B,CAC5B,wBTpImB,CSqInB,6ETtJa,CoDyEX,kEpDzEW,CoD0EX,WAAY,CACZ,SAAU,CApBd,8B3CmGE,wBT3ImB,CS4InB,qBAAsB,CACtB,8ET5Ja,CoDgFX,wEpDhFW,CoDiFX,eAAgB,CAGlB,iCACE,kBpDzEW,CoD0EX,eAAgB,CAEhB,mBAAoB,CAGtB,6B3CyHA,wBT9MkB,CS+MlB,8EAhKoF,CAiKpF,sCTtNa,CSuNb,aTrMmB,CSuMnB,+GAGE,aT1MiB,CS6MnB,mCAqBA,wBT/OkB,CSgPlB,sCTrPa,CSmOb,4EAsBA,wBTtPkB,CSuPlB,qBAAsB,CACtB,wET3Pa,CSwOb,gFAuBA,kCTzPkB,CS0PlB,qBAAsB,CACtB,eAAgB,CAChB,0BTvPa,CSyPb,sGACE,4BT/PgB,CSuOlB,mEAEE,cTrOW,CSoOX,4BTpOW,CoDiFb,gEAKI,wBpD1Fc,CoDqFlB,wCASI,wBpDhGc,CoDoGlB,2CACE,kBpDjGW,CoDkGX,oBpDlGW,CoDmGX,eAAgB,CApDpB,qCAwDI,kBpDzGgB,CoD0GhB,iBnDxEuC,CmDyEvC,+FpDjHW,CoDkHX,apDhGiB,CoDiGjB,eAA6B,CAE7B,+CACE,kBpDtGe,CoDuGf,+FpDvHS,CoDwHT,apDlHc,CoDqHhB,mDACE,eAAgB,CArEtB,wDA2EI,SAAuB,CA3E3B,6BA+EI,4BAA6B,CAC7B,yBAA0B,CAhF9B,2BAoFI,2BAA4B,CAC5B,wBAAyB,CACzB,eAA6B,CAtFjC,6CAyFM,aAAc,CAKpB,kBAEE,oBAAqB,CACrB,cnD/HsC,CmDgItC,aAAc,CACd,eAAgD,CAChD,iBAAkB,CCzHhB,sCAAyC,CAAzC,8BAAyC,CD0H3C,kBAAmB,CAGrB,yBCtJI,YATkC,CAUlC,cpDwCqC,CoDvCrC,UpDuCqC,CmD6GzC,yFCvII,QAAS,CACT,WAAY,CACZ,QAVoD,CAWpD,KAAM,CACN,SD9BqC,CAiKzC,8CASI,QAAS,CATb,2CC3HI,qCAAwC,CAAxC,6BAAwC,CD2H5C,4CAiBI,QAAS,CAjBb,8DAoBM,aAAc,CACd,eAA6B,CArBnC,0GA0BM,UAAwB,CACxB,aAAc,CACd,UnDxJsB,CmD4H5B,sDAgCM,8BnDvJqC,CmDwJrC,wBAAyB,CAjC/B,wEAoCQ,iCAAmC,CAAnC,yBAAmC,CApC3C,oDAyCM,2BAA4B,CAC5B,4BAA6B,CAC7B,0BnDlKqC,CmDmKrC,iBAA+B,CE9MrC,wCACE,GAAO,8BAAuB,CAAvB,sBAAyB,CAChC,GAAO,+BAAyB,CAAzB,uBAA2B,CAAF,CAFlC,gCACE,GAAO,8BAAuB,CAAvB,sBAAyB,CAChC,GAAO,+BAAyB,CAAzB,uBAA2B,CAAF,CAGlC,aACE,kBAAmB,CAEnB,YAAa,CACb,sBAAuB,CAGvB,gBAAiB,CACjB,qBAAsB,CARxB,iBAWI,aAAc,CAXlB,kBAeI,cAAe,CAfnB,+BAmBI,0BtDbW,CsDcX,oBAAqB,CACrB,+BAAwB,CAAxB,uBAAwB,CACxB,0DrD+EgD,CqDrGpD,gCA0BI,0BtDpBW,CsDyBf,uBACE,0DAA6E,CAA7E,kDAA6E,CAE7E,oCACE,sBAAe,CAAf,cAAe,CAInB,yCAEI,ctDjCW,CsD+Bf,0CAMI,wBtD/CW,CsDoDb,kDACE,ctD3BW,CsD0Bb,kDACE,ctDrBY,CsDoBd,kDACE,ctDfa,CsDcf,iDACE,ctDTU,CuDtBd,uBACE,YAAa,CADf,qCAOI,sBAAuB,CACvB,qBAAsB,CAR1B,8CAWM,iBtDOqC,CsDNrC,ctD5Ba,CsD6Bb,UAAW,CAbjB,kEAgBQ,oCvDZO,CuDaP,eAAgB,CAjBxB,mFAsBM,oCvDlBS,CuDmBT,iBtDLqC,CsDMrC,QAAS,CACT,WAAY,CACZ,MAAO,CACP,OAAQ,CACR,KAAM,CA5BZ,sCAoCI,YAAa,CACb,iBAA+B,CAInC,cACE,oBAAqB,CACrB,WAAY,CACZ,YAAa,CACb,aAAc,CACd,eAAgB,CAChB,QAAS,CACT,SAAU,CACV,iBAGuD,CAXzD,gCAaI,iBAA+B,CAInC,SrDnBE,gBAAiB,CqDqBjB,avDhFkB,CuDiFlB,cAAe,CACf,aAAc,CACd,ctD9DgC,CsD+DhC,gBtD3CkC,CsD4ClC,cAAe,CrD7Bf,eAAgB,CqD8BhB,iBAAkB,CrD7BlB,sBAAuB,CqD8BvB,kBAAmB,CrD7BnB,kBqD6BmB,CATrB,WAaI,aAAc,CACd,aAAc,CACd,oBAAqB,CAGvB,oCAIE,kCAAwC,CACxC,yBAC+C,CAxBnD,6BA4BI,yBvDpGW,CuDqGX,kBAAmB,CA7BvB,6BAiCI,eAAgB,CAChB,iCvDzFW,CuDuDf,sEAuCI,avD9FW,CuDuDf,eA2CI,qBAAsB,CAGxB,oBACE,ctDvGoC,CsDwGpC,gBtDlFsC,CsDsF1C,eACE,eAA6B,CAD/B,iCAII,YAAa,CAIjB,2BACE,MAAO,CACP,mBAAoB,CACpB,iBAAkB,CAClB,KAAM,CACN,6CAAuC,CAAvC,qCAAuC,CACvC,yCAAoC,CAApC,iCAAoC,CAApC,mDAAoC,CACpC,uBAAgD,CAChD,oDtD7CkD,CsDqCpD,8CAWI,wBvD9HW,CuD+HX,QAAS,CACT,UArIqB,CAsIrB,MAAO,CACP,iBAAkB,CAClB,OAAQ,CAhBZ,4CAoBI,eAAgB,CAIpB,mBAEI,avDpJiB,CuDkJrB,uCAKM,0BvD9JS,CuDyJf,uCASM,iCvDjJS,CuDwIf,0FAcM,avDtJS,CuDwIf,6BAmBI,wBvD3JW,CuD+Jf,mBACE,QAAS,CC/JX,SCdE,kBAAmB,CACnB,wBzDRa,CyDSb,WAAY,CACZ,iBxDsByC,CwDrBzC,eAAgB,CAChB,azDFmB,CUlBjB,mBAAoB,CAItB,kB+CU8B,CAO9B,cxDIsC,CwDHtC,gBxDa0B,CwDZ1B,cAAe,CACf,eA3B4B,CA4B5B,cA5B4B,CA6B5B,eA1BgC,CA4BhC,iBAAkB,CDCpB,yBC6FI,cAAe,CD7FnB,+BCgGM,qCzDrHS,CwDqBf,oECqGM,oCzD1HS,CUFb,WACE,WAAY,CACZ,aAAc,CAGhB,mBACE,WAAY,CACZ,aAAc,CAehB,2BAGE,gB+CxBuC,C/C4BzC,2CAEE,cAAkB,C8CRtB,etDsCE,uBAAwB,CAFxB,oCAAmC,CACnC,gBACwB,CsDtC1B,mBCMI,kBAhCgC,CAiChC,gBAAkD,CAElD,iBAAmD,CAGrD,mBAGE,wBzDhCW,CyDiCX,azD3CgB,CyDuClB,mCAiFE,cAAe,CAjFjB,yCAoFI,sCzDjHS,CyD6Bb,wFAyFI,qCzDtHS,CyD6Bb,sGAOI,iBAAkB,CDnBxB,wECwBI,SzDjCW,CwDSf,uCC8BE,cxDpCgC,CwDqChC,gBxDxBuB,CwDyBvB,eA1DkC,CA2DlC,cA3DkC,CA4DlC,gBA1D8D,C/CuB9D,gGAGE,gB+CvBqE,C/C2BvE,gIAEE,cAAkB,C8CRtB,2DCqCI,iBAAwD,CAExD,kBAAyD,CDvC7D,4BC8CE,kBzDjDa,CyDkDb,UzDxDa,CwDSf,4CC6FI,cAAe,CD7FnB,kDCgGM,qCzDnGS,CwDGf,0GCqGM,oCzDxGS,CwDGf,4BC8CE,kBzD3Cc,CyD4Cd,UzDxDa,CwDSf,4CC6FI,cAAe,CD7FnB,kDCgGM,oCzD7FU,CwDHhB,0GCqGM,mCzDlGU,CwDHhB,4BC8CE,kBzDrCe,CyDsCf,UzDxDa,CwDSf,4CC6FI,cAAe,CD7FnB,kDCgGM,qCzDvFW,CwDTjB,0GCqGM,oCzD5FW,CwDTjB,2BC8CE,kBzD/BY,CyDgCZ,UzDxDa,CwDSf,2CC6FI,cAAe,CD7FnB,iDCgGM,oCzDjFQ,CwDfd,wGCqGM,mCzDtFQ,CwDfd,kBAeI,YAAa,CACb,UAAW,CAhBf,4GCoDI,YzDzEW,CwDqBf,+CC0DI,qCzD7EW,CyD8EX,azDtFgB,CwD2BpB,+DC4GI,cAAe,CD5GnB,qEC+GM,oCzDpIS,CwDqBf,gJCoHM,oCzDzIS,CyDkFX,yDAGE,azD3Ee,CyDwEjB,yEA+CA,cAAe,CA/Cf,+EAkDE,qCzDhIS,CyD8EX,oKAuDE,qCzDrIS,CyD8EX,wNAMI,YzDrFO,CwDkBf,wCC4EE,qCzD/Ea,CyDgFb,azDjFa,CwDIf,wDC4GI,cAAe,CD5GnB,8DC+GM,qCzDlHS,CwDGf,kICoHM,qCzDvHS,CwDGf,qKCgFI,YzDnFW,CyDsFb,kDAGE,qCzDzFW,CyD0FX,azDxFW,CyDoFb,kEAyBE,cAAe,CAzBjB,wEA4BI,qCzDlHS,CyDsFb,sJAiCI,qCzDvHS,CwDGf,wCC4EE,oCzDzEc,CyD0Ed,azD3Ec,CwDFhB,wDC4GI,cAAe,CD5GnB,8DC+GM,oCzD5GU,CwDHhB,kICoHM,oCzDjHU,CwDHhB,qKCgFI,YzD7EY,CyDgFd,kDAGE,oCzDnFY,CyDoFZ,azDlFY,CyD8Ed,kEAyBE,cAAe,CAzBjB,wEA4BI,oCzD5GU,CyDgFd,sJAiCI,oCzDjHU,CwDHhB,wCC4EE,qCzDnEe,CyDoEf,azDrEe,CwDRjB,wDC4GI,cAAe,CD5GnB,8DC+GM,qCzDtGW,CwDTjB,kICoHM,qCzD3GW,CwDTjB,qKCgFI,YzDvEa,CyD0Ef,kDAGE,qCzD7Ea,CyD8Eb,azD5Ea,CyDwEf,kEAyBE,cAAe,CAzBjB,wEA4BI,qCzDtGW,CyD0Ef,sJAiCI,qCzD3GW,CwDTjB,uCC4EE,oCzD7DY,CyD8DZ,azD/DY,CwDdd,uDC4GI,cAAe,CD5GnB,6DC+GM,oCzDhGQ,CwDfd,gICoHM,oCzDrGQ,CwDfd,kKCgFI,YzDjEU,CyDoEZ,iDAGE,oCzDvEU,CyDwEV,azDtEU,CyDkEZ,iEAyBE,cAAe,CAzBjB,uEA4BI,oCzDhGQ,CyDoEZ,oJAiCI,oCzDrGQ,CwDmBd,gBCwFE,eAAgB,CAChB,WAAY,CACZ,aAAc,CACd,cAAe,CACf,YAAa,CACb,kBA7JoD,CA+JpD,2BAAsC,CAGtC,eAlKoD,CAmKpD,UAAY,CAEZ,qBAAe,CDrGjB,sBCwGI,eAAgB,CAChB,UAAY,CACZ,oBAAqB,CD1GzB,uBC8GI,SAAU,CD9Gd,6B7CzDE,iCAAkC,CAClC,kCAAmC,C8C4KjC,W7DkNkB,CevXpB,8BAAoD,CACpD,cVoB0B,CUnB1B,iBAAkB,CAClB,eAAgB,CAChB,afmX2B,C6D/M3B,2BAEE,4BAA4C,CAC5C,iBAAuC,CAHzC,wC9CxKA,8BAAoD,CACpD,cVqBuB,CUpBvB,iBAAkB,CAClB,eAAgB,CAChB,aAAc,C+CfhB,eAEE,sBAAuB,CACvB,WAAY,ChDJV,YAAa,CAEf,kBgDA8B,CAG9B,WAAY,CACZ,mBAAoB,CACpB,ezDwCiC,CyDvCjC,gBAZsD,CAatD,eAAgB,ChDLhB,iBACE,WAAY,CACZ,aAAc,CAGhB,qCACE,WAAY,CACZ,aAAc,CgDVlB,mCAWI,a1DNW,C0DOX,eAAyD,CACzD,gBAhBoE,CAkBpE,cAlBoE,CAGxE,qCAoBI,kBAAmB,CAEnB,kBAAmB,ChDvBnB,YAAa,CAEf,kBgDkBgC,CAI9B,cAAe,CACf,gBA3BoE,CA4BpE,cA9BoD,CAgCpD,WAAY,ChDxBd,uCACE,WAAY,CACZ,aAAc,CAGhB,+CACE,WAAY,CACZ,aAAc,CAehB,mFAGE,gBgDjCoD,ChDqCtD,mGAEE,cAAkB,CgDlCtB,8EAiCM,gBAA4D,ChD9BhE,uCgDkCI,iBA1CkD,CAKxD,wBA4CI,wBAAyB,CA5C7B,mCxDgEE,uBAAwB,CAFxB,oCAAmC,CACnC,gBACwB,CwDhE1B,gCAqDI,aAAc,CACd,gBD5D0B,CC8D1B,UAAwB,CAxD5B,sFA4DM,kBAAmB,CA5DzB,uDAmEI,oBAAc,CAnElB,2BjDsGE,eR7D0C,CQ8D1C,cR9D0C,CQ+E1C,aA3H4C,CiDG9C,yBA4EI,WAAY,CACZ,ezD9BqC,CStBvC,2DAGE,iBgD9B6E,ChDkC/E,2EAEE,cAAkB,CgDlCtB,6CAgFM,eAA+D,CAC/D,eAnF2E,CAEjF,0CAqFM,gBDrF8B,CCApC,qCA2FM,oBAAc,CjDWlB,eR9DkC,CQ+DlC,cR/DkC,CQ2ElC,gBiDxBkB,CA3FpB,sCAgGM,oBAAc,CAhGpB,0BAqGI,qB1DpFW,C0DqFX,4F1DzGW,C0DGf,6CA0GQ,4F1D7GO,C0DGf,6CA0GQ,2F1D7GO,C0DGf,6CA0GQ,4F1D7GO,C0DGf,4CA0GQ,2F1D7GO,C0DkHb,yFAGI,a1D1GS,C0DuGb,mFASI,a1DzGe,CsBiJnB,yIACE,0BtBzJW,CsBwJb,6GACE,0BtBzJW,C0DuGb,uEAaI,kC1D/HS,C0DgIT,gJ1DhIS,C0DkHb,6GAmBQ,8H1DrIK,C0DkHb,6GAmBQ,6H1DrIK,C0DkHb,6GAmBQ,8H1DrIK,C0DkHb,2GAmBQ,6H1DrIK,C0D6If,iBAEE,eAAgB,CAGhB,WAAY,CACZ,eAAgB,CAChB,SAAU,CpC/BV,4CACE,yBtB9GW,CsBgHX,SAAU,CAHZ,8BACE,yBtB9GW,CsBgHX,SAAU,CoCqBd,uBAYI,sBAAwB,CCvJ5B,WAwCE,sBAAuB,CACvB,qB3DvBa,C2DwBb,iB1DJyC,C0DKzC,+F3D7Ca,C2D8Cb,YAAa,CACb,eAAyB,CACzB,eAjDkC,CAkDlC,eAnDkC,CAsDlC,kBAAmB,CAInB,2BAmE+C,CzCvD/C,uDAqBE,mCyCrFsD,CzCqFtD,2ByCrFsD,CzCoExD,qEAiBE,+ByCrFoE,CzCqFpE,uByCrFoE,CzCsEpE,kBApBO,CAqBP,uByC/DsC,CzCgEtC,qCyCxE0B,CzCwE1B,6ByCxE0B,CzCwE1B,+CyCxE0B,CzCyE1B,0DjB2B4D,CiBpC9D,6EAqBE,mCyCrFsD,CzCqFtD,2ByCrFsD,CzCoExD,2FAiBE,+ByCrFoE,CzCqFpE,uByCrFoE,CzCsEpE,kBApBO,CAqBP,uByCvDsC,CzCwDtC,qCyCxE0B,CzCwE1B,6ByCxE0B,CzCwE1B,+CyCxE0B,CzCyE1B,0DjB2B4D,CiBpC9D,0BAqBE,sByCpF6D,CzCoF7D,cyCpF6D,CzCoF7D,SyCpF6D,CzCmE/D,iCAiBE,yByCpFqD,CzCoFrD,iByCpFqD,CzCoFrD,SyCpFsB,CzCqEtB,kBApBO,CAqBP,uByC7CsC,CzC8CtC,0CyCvEgC,CzCuEhC,kCyCvEgC,CzCuEhC,iDyCvEgC,CzCwEhC,oDjB0BgD,CiBnClD,qCAqBE,+ByCrFoE,CzCqFpE,uByCrFoE,CzCoEtE,4CAiBE,mCyCrFsD,CzCqFtD,2ByCrFsD,CzCsEtD,qByCpCmC,CzCqCnC,uBjB8B0B,CiB7B1B,qCyCxE0B,CzCwE1B,6ByCxE0B,CzCwE1B,+CyCxE0B,CzCyE1B,oDjB0BgD,C0DrGpD,6BAyDI,aAAc,CAEd,qBAAe,CA3DnB,qBA+DI,a3DzDW,C2D2DX,uBAAe,CAjEnB,yCAsEI,wB3DlEgB,C2DmEhB,+F3DzEW,C2DEf,6DA0EM,a3DjES,C2DTf,iCAgFM,wB3D9DS,C2DlBf,gFAwFM,U3DtES,C2DlBf,oMAmGM,kCAAmC,CAnGzC,iDAwGM,gC3DtFS,C2DlBf,iDA4GM,8CAA+C,CAC/C,oBAAwB,CA7G9B,kDAiHM,6CAA8C,CAC9C,oBAAwB,CAlH9B,iDAsHM,uCAAwC,CAtH9C,8BA8HM,wB3DtGS,C2DuGT,U3D7GS,C2DlBf,8BA8HM,wB3DhGU,C2DiGV,U3D7GS,C2DlBf,8BA8HM,wB3D1FW,C2D2FX,U3D7GS,C2DlBf,6BA8HM,wB3DpFQ,C2DqFR,U3D7GS,C2DkHf,mBACE,aAAc,CACd,YzD1D2C,CyD2D3C,qBAAsB,CAGxB,qBACE,kBAAmB,CAGnB,sBAAwB,CACxB,qBAAsB,CACtB,MAAO,CAIP,eAAgB,CAGhB,mBAzJ8B,CA4J9B,mBAAoB,CAEpB,OAAQ,CAGR,U1DxGiB,C0DmFnB,mDAwBI,cAAe,CAxBnB,gDA4BI,iBAAkB,CA5BtB,6CAgCI,KAAM,CAhCV,gDAoCI,QAAS,CACT,6BAA8B,CAC9B,QAAS,CAtCb,8CA0CI,sBAAuB,CA1C3B,+CA8CI,oBAAqB,CAIzB,2fAQI,kCAAoD,CAApD,0BAAoD,CCxMxD,abkIE,+F/ChIa,CkByFX,0B0C3E+B,C1C2E/B,kB0C3E+B,CbGjC,gCACE,WalBwB,CbmBxB,iBAAkB,CAClB,UapBwB,CbsBxB,uCACE,WAA4C,CAC5C,UAAoE,CAEpE,UAA2C,CAK/C,gFACE,kBAvBsE,CAwBtE,gBAxBsE,CAsBxE,mGAKI,WAxBsD,CAmB1D,uGAQM,gCAAyB,CAAzB,wBAAyB,CAK/B,gFACE,gBApCsE,CAmCxE,mGAII,SApCsD,CAgC1D,uGAOM,2BAAoB,CAApB,mBAAoB,CAK1B,gFACE,eAhDsE,CA+CxE,mGAII,QAhDsD,CA4C1D,uGAOM,+BAAwB,CAAxB,uBAAwB,CAK9B,gFAGE,iBA9DsE,CAgEtE,iBAhEsE,CA2DxE,mGAQI,UAhEsD,CAwD1D,uGAWM,gCAAyB,CAAzB,wBAAyB,CAM/B,oEACE,OAAQ,CACR,kCAA2B,CAA3B,0BAA2B,CAG7B,oEACE,SAAU,CACV,iCAA0B,CAA1B,yBAA0B,CAO1B,gGACE,aArF0F,CAoF5F,oGACE,eArF0F,CAoF5F,kGACE,cArF0F,CAoF5F,sGACE,gBArF0F,CA2F1F,+EAKI,iCANc,CAMd,yBANc,CAClB,iFAKI,mCANsB,CAMtB,2BANsB,CAC1B,gFAKI,kCAN6B,CAM7B,0BAN6B,CACjC,kFAGI,oCAJc,CAId,4BAJc,CAClB,oFAGI,sCAJsB,CAItB,8BAJsB,CAC1B,mFAGI,qCAJ6B,CAI7B,6BAJ6B,CACjC,kFAKI,oCANc,CAMd,4BANc,CAClB,oFAKI,sCANsB,CAMtB,8BANsB,CAC1B,mFAKI,qCAN6B,CAM7B,6BAN6B,CAyBrC,kCACE,kB/C7HgB,C+CmIlB,4DAEE,a/CzHiB,C+CIjB,uCAyHA,wC/C/IW,C+CkJb,uCACE,Y/CnJW,C+CoJX,e9CrF0B,C8CwF5B,qCACE,Y/ClJgB,CkB8DlB,iEAqBE,2B0C3EsB,C1C2EtB,mB0C3EsB,C1C0DxB,+EAiBE,0B0C3E+B,C1C2E/B,kB0C3E+B,C1C4D/B,kBArDO,CAsDP,uBjB8B0B,CiB7B1B,qC0C9DU,C1C8DV,6B0C9DU,C1C8DV,+C0C9DU,C1C+DV,oDjB0BgD,CiBnClD,+BAqBE,0B0C3E+B,C1C2E/B,kB0C3E+B,C1C0DjC,sCAiBE,2B0C3EsB,C1C2EtB,mB0C3EsB,C1C4DtB,kBArDO,CAsDP,uBjB8B0B,CiB7B1B,qC0C9DU,C1C8DV,6B0C9DU,C1C8DV,+C0C9DU,C1C+DV,oDjB0BgD,C8C2BlD,kCa9GE,iBCnB4C,CDHhD,6CbkIE,+F/ChIa,C+CkIb,uFACE,kB/CnHiB,C+CyHnB,8JAEE,a/CrIgB,C+CwIlB,iGACE,wC/C/IW,C+CkJb,iGACE,Y/CnJW,C+CoJX,e9CrF0B,C8CwF5B,6FACE,Y/CxIiB,C4DlBrB,qDAuCQ,kB5DXO,C4DYP,U5DlBO,C4DtBf,wDA4CQ,Y5DhBO,C4D5Bf,qDAuCQ,kB5DLQ,C4DMR,U5DlBO,C4DtBf,wDA4CQ,Y5DVQ,C4DlChB,qDAuCQ,kB5DCS,C4DAT,U5DlBO,C4DtBf,wDA4CQ,Y5DJS,C4DxCjB,oDAuCQ,kB5DOM,C4DNN,U5DlBO,C4DtBf,uDA4CQ,Y5DEM,C4DId,uBACE,wBAAyB,CACzB,WAAY,CEbd,2EAEI,a9D/BW,C8D6Bf,oI5DlBE,aFOa,C8DWf,oI5DlBE,aFac,C8DKhB,oI5DlBE,aFmBe,C8DDjB,iI5DlBE,aFyBY,C8DKd,oBACE,eAAgB,CAChB,QAAS,CACT,cAAe,CAGjB,eACE,wBAA6B,CAC7B,cAAe,CACf,cAAe,CAEf,iBAAkB,CAIlB,yBACE,cAA0D,CAD5D,yBACE,iBAA0D,CAD5D,yBACE,iBAA0D,CAD5D,yBACE,iBAA0D,CAD5D,yBACE,iBAA0D,CAD5D,yBACE,kBAA0D,CAD5D,yBACE,kBAA0D,CAD5D,yBACE,kBAA0D,CAD5D,yBACE,kBAA0D,CAD5D,yBACE,kBAA0D,CAD5D,0BACE,kBAA0D,CAD5D,0BACE,kBAA0D,CAD5D,0BACE,kBAA0D,CAD5D,0BACE,kBAA0D,CAD5D,0BACE,kBAA0D,CAD5D,0BACE,kBAA0D,CAD5D,0BACE,kBAA0D,CAD5D,0BACE,kBAA0D,CAD5D,0BACE,kBAA0D,CAD5D,0BACE,kBAA0D,CAD5D,0BACE,kBAA0D,CAI9D,uBACE,kBAAmB,CACnB,YAAa,CACb,WAtCiC,CAuCjC,iBAAgC,CAChC,UAAW,CALb,6BAQI,qC9DjEW,C8DqEf,+CAEE,cAjDiC,CAoDnC,qBnDhEE,aXda,C8DgFb,cAAe,CACf,WAtDiE,CAuDjE,8BAAuB,CAAvB,sBAAuB,CACvB,0D7DYkD,C6DZlD,kD7DYkD,C6DZlD,kG7DYkD,CU/ElD,2BACE,aXvBgB,CW0BlB,+BACE,aXlBW,CWiBb,qCAII,aXde,C8DoErB,8CAQI,+BAAwB,CAAxB,uBAAwB,CAR5B,8CAaI,WlE1C2B,CkE8C/B,oBACE,gBArEiE,CAsEjE,iBAAkB,CAGpB,qB5D/CE,gBAAiB,C4DiDjB,aAAc,C5DpDd,eAAgB,C4DqDhB,iBAAkB,C5DpDlB,sBAAuB,C4DqDvB,wBAAiB,CAAjB,gBAAiB,C5DpDjB,kB4DoDiB,CAJnB,0BAQI,cAAe,CAInB,+BACE,aAA8B,CAC9B,wBAAiB,CAAjB,gBAAiB,CAFnB,uGAMI,kBAAmB,CACnB,YAAa,CAIjB,mDAEI,wBAAyB,CACzB,yB9D9HW,C8D+HX,kBAAmB,CAJvB,iGASI,yB9DpIW,C8DqIX,kBAAmB,CAIvB,6DACE,wB9DxHa,C8DuHf,iSAKI,U9DlIW,C8D6Hf,yFAUM,wB9DvIS,C8D6Hf,+FAcM,U9D3IS,C8DgJf,uCAEI,oC9D9JW,C8D4Jf,yGAOM,a9DhKS,C8DyJf,kK5DjJE,aFOa,C8D0If,kK5DjJE,aFac,C8DoIhB,kK5DjJE,aFmBe,C8D8HjB,+J5DjJE,aFyBY,C8DwHd,uEAkBI,wB9D5JW,C+DDb,WACE,mBC3BwB,CD4BxB,iBAJiB,CAKjB,eANkB,CAQlB,wOAiB6C,CAtB/C,WACE,mBC1BwB,CD2BxB,iBAJiB,CAKjB,eANkB,CAQlB,wOAiB6C","sources":["../node_modules/@blueprintjs/core/src/components/html-select/_html-select.scss","../node_modules/@blueprintjs/icons/src/generated/_icon-variables.scss","index.css","App.css","../node_modules/@blueprintjs/core/src/_reset.scss","../node_modules/@blueprintjs/core/src/common/_colors.scss","../node_modules/@blueprintjs/core/src/common/_variables.scss","../node_modules/@blueprintjs/core/src/common/_mixins.scss","../node_modules/@blueprintjs/core/src/common/_color-aliases.scss","../node_modules/@blueprintjs/core/src/_typography.scss","../node_modules/@blueprintjs/core/src/accessibility/_focus-states.scss","../node_modules/@blueprintjs/core/src/components/alert/_alert.scss","../node_modules/@blueprintjs/core/src/components/breadcrumbs/_breadcrumbs.scss","../node_modules/@blueprintjs/core/src/components/button/_button.scss","../node_modules/@blueprintjs/core/src/components/button/_common.scss","../node_modules/@blueprintjs/core/src/common/_flex.scss","../node_modules/@blueprintjs/icons/src/_icons.scss","../node_modules/@blueprintjs/core/src/components/button/_button-group.scss","../node_modules/@blueprintjs/core/src/components/callout/_callout.scss","../node_modules/@blueprintjs/core/src/components/card/_card.scss","../node_modules/@blueprintjs/core/src/components/collapse/_collapse.scss","../node_modules/@blueprintjs/core/src/components/context-menu/_context-menu.scss","../node_modules/@blueprintjs/core/src/components/dialog/_dialog.scss","../node_modules/@blueprintjs/core/src/common/_react-transition.scss","../node_modules/@blueprintjs/core/src/components/dialog/_multistep-dialog.scss","../node_modules/@blueprintjs/core/src/components/drawer/_drawer.scss","../node_modules/@blueprintjs/core/src/components/editable-text/_editable-text.scss","../node_modules/@blueprintjs/core/src/components/forms/_common.scss","../node_modules/@blueprintjs/core/src/components/divider/_divider.scss","../node_modules/@blueprintjs/core/src/components/forms/_control-group.scss","../node_modules/@blueprintjs/core/src/components/forms/_controls.scss","../node_modules/@blueprintjs/core/src/components/forms/_file-input.scss","../node_modules/@blueprintjs/core/src/components/forms/_form-group.scss","../node_modules/@blueprintjs/core/src/components/forms/_input-group.scss","../node_modules/@blueprintjs/core/src/components/forms/_input.scss","../node_modules/@blueprintjs/core/src/components/forms/_label.scss","../node_modules/@blueprintjs/core/src/components/forms/_numeric-input.scss","../node_modules/@blueprintjs/core/src/components/forms/_index.scss","../node_modules/@blueprintjs/core/src/components/html-select/_common.scss","../node_modules/@blueprintjs/core/src/components/html-table/_html-table.scss","../node_modules/@blueprintjs/core/src/components/hotkeys/_hotkeys.scss","../node_modules/@blueprintjs/core/src/components/icon/_icon.scss","../node_modules/@blueprintjs/core/src/components/menu/_submenu.scss","../node_modules/@blueprintjs/core/src/components/menu/_common.scss","../node_modules/@blueprintjs/core/src/components/menu/_menu.scss","../node_modules/@blueprintjs/core/src/components/navbar/_navbar.scss","../node_modules/@blueprintjs/core/src/components/non-ideal-state/_non-ideal-state.scss","../node_modules/@blueprintjs/core/src/components/overflow-list/_overflow-list.scss","../node_modules/@blueprintjs/core/src/components/overlay/_overlay.scss","../node_modules/@blueprintjs/core/src/components/panel-stack/_panel-stack.scss","../node_modules/@blueprintjs/core/src/components/panel-stack2/_panel-stack2.scss","../node_modules/@blueprintjs/core/src/components/popover/_popover.scss","../node_modules/@blueprintjs/core/src/components/popover/_common.scss","../node_modules/@blueprintjs/core/src/components/portal/_portal.scss","../node_modules/@blueprintjs/core/src/components/progress-bar/_progress-bar.scss","../node_modules/@blueprintjs/core/src/components/skeleton/_skeleton.scss","../node_modules/@blueprintjs/core/src/components/skeleton/_common.scss","../node_modules/@blueprintjs/core/src/components/slider/_slider.scss","../node_modules/@blueprintjs/core/src/components/slider/_common.scss","../node_modules/@blueprintjs/core/src/components/spinner/_spinner.scss","../node_modules/@blueprintjs/core/src/components/tabs/_tabs.scss","../node_modules/@blueprintjs/core/src/components/tag/_tag.scss","../node_modules/@blueprintjs/core/src/components/tag/_common.scss","../node_modules/@blueprintjs/core/src/components/tag-input/_tag-input.scss","../node_modules/@blueprintjs/core/src/components/toast/_toast.scss","../node_modules/@blueprintjs/core/src/components/tooltip/_tooltip.scss","../node_modules/@blueprintjs/core/src/components/tooltip/_common.scss","../node_modules/@blueprintjs/core/src/components/tree/_tree.scss","../node_modules/@blueprintjs/icons/src/_font-face.scss","../node_modules/@blueprintjs/icons/src/_font-imports.scss"],"sourcesContent":["// Copyright 2015 Palantir Technologies, Inc. All rights reserved.\n// Licensed under the Apache License, Version 2.0.\n\n@import \"../../common/variables\";\n@import \"../popover/common\";\n@import \"./common\";\n\n/*\nHTML select\n\nMarkup:\n
\n More than a decade ago, we set out to create products that would transform\n the way organizations use their data. Today, our products are deployed at\n the most critical government, commercial, and non-profit institutions in\n the world to solve problems we hadn’t even dreamed of back then.\n
\n\n.#{$ns}-ui-text - Default Blueprint font styles, applied to the `` tag and available as a class for nested resets.\n.#{$ns}-monospace-text - Use a monospace font (ideal for code).\n.#{$ns}-running-text - Increase line height ideal for longform text. See [Running text](#core/typography.running-text) below for additional features.\n.#{$ns}-text-large - Use a larger font size.\n.#{$ns}-text-small - Use a smaller font size.\n.#{$ns}-text-muted - Change text color to a gentler gray.\n.#{$ns}-text-disabled - Change text color to a transparent, faded gray.\n.#{$ns}-text-overflow-ellipsis - Truncate a single line of text with an ellipsis if it overflows its container.\n\nStyleguide ui-text\n*/\n\n.#{$ns}-ui-text {\n @include base-typography();\n}\n\n.#{$ns}-monospace-text {\n @include monospace-typography();\n}\n\n// NOTE: .#{$ns}-text-large defined below after .#{$ns}-running-text\n\n.#{$ns}-text-muted {\n color: $pt-text-color-muted;\n\n .#{$ns}-dark & {\n color: $pt-dark-text-color-muted;\n }\n}\n\n.#{$ns}-text-disabled {\n color: $pt-text-color-disabled;\n\n .#{$ns}-dark & {\n color: $pt-dark-text-color-disabled;\n }\n}\n\n.#{$ns}-text-overflow-ellipsis {\n @include overflow-ellipsis();\n}\n\n/*\nRunning text\n\nMarkup:\n
\n
\n We build products that make people better at their most important\n work — the kind of work you read about on the front page of the\n newspaper, not just the technology section.\n
\n A successful data transformation requires the whole organization — users, the IT shop, and\n leadership — to operate in lockstep. With Foundry, the enterprise comes together to\n transform the organization and turn data into a competitive advantage.\n