From a067830a159ebeb1c655705739bf5375a4d6f142 Mon Sep 17 00:00:00 2001 From: Chris Holdgraf Date: Fri, 27 Jul 2018 10:36:00 -0400 Subject: [PATCH 001/284] add link to TLJH guide --- README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/README.md b/README.md index 76bf048a..77c98fc4 100644 --- a/README.md +++ b/README.md @@ -17,6 +17,11 @@ You can then enable the serverextension jupyter serverextension enable --py nbgitpuller --sys-prefix +# How to use `nbgitpuller` + +[Follow the `nbgitpuller` usage guide](https://the-littlest-jupyterhub.readthedocs.io/en/latest/tutorials/nbgitpuller.html) +to learn how to distribute content for your JupyterHub using `nbgitpuller`. + # What is it? nbgitpuller allows you to construct a URL that points to a remote git repository. From 85767ca5992e1a7607879997f67d6d8da90a4a93 Mon Sep 17 00:00:00 2001 From: Chris Holdgraf Date: Mon, 6 Aug 2018 15:56:26 -0700 Subject: [PATCH 002/284] updating link sanitizing --- binder/link_generator.ipynb | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/binder/link_generator.ipynb b/binder/link_generator.ipynb index 71a8ab59..08603f33 100644 --- a/binder/link_generator.ipynb +++ b/binder/link_generator.ipynb @@ -34,7 +34,6 @@ " return\n", " \n", " # Parse the query to its constituent parts\n", - " \n", " scheme, netloc, path, params, query_str, fragment = urlparse(hub_url.strip())\n", " \n", " # nbgitpuller takes arguments via query parameters.\n", @@ -51,7 +50,7 @@ " # Construct query parameters from \n", " for name, val in [('repo', repo_url), ('branch', branch), ('subPath', filepath), ('app', app)]:\n", " if len(val) > 0:\n", - " query[name] = val.strip()\n", + " query[name] = val.strip().strip('/')\n", " \n", " url = urlunparse((scheme, netloc, path, params, urlencode(query, doseq=True), fragment))\n", " \n", From 8fab228982838f33b30b94114c631bf13700bd01 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sigur=C3=B0ur=20Baldursson?= Date: Wed, 15 Aug 2018 21:18:18 +0000 Subject: [PATCH 003/284] adds link to a basic video instruction link to a basic video instruction on nbgitpuller for teachers using Jupyterhub with gitpuller to distribute learning material. --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 76bf048a..5cb30e63 100644 --- a/README.md +++ b/README.md @@ -5,6 +5,9 @@ One-way synchronization of a remote git repository to a local git repository, with automatic conflict resolution. +[YouTube video instructions for teachers.](https://youtu.be/o7U0ZuICVFg) + + ![nbgitpuller demo](doc/nbpuller.gif) # Installation From e9705c1e946474364be7fb34694fe737f07650a5 Mon Sep 17 00:00:00 2001 From: Chris Holdgraf Date: Fri, 31 Aug 2018 15:29:46 +0200 Subject: [PATCH 004/284] updating nbgitpuller link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 77c98fc4..5957500f 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ You can then enable the serverextension # How to use `nbgitpuller` -[Follow the `nbgitpuller` usage guide](https://the-littlest-jupyterhub.readthedocs.io/en/latest/tutorials/nbgitpuller.html) +[Follow the `nbgitpuller` usage guide](https://the-littlest-jupyterhub.readthedocs.io/en/latest/howto/content/nbgitpuller.html) to learn how to distribute content for your JupyterHub using `nbgitpuller`. # What is it? From 9e7c684ee014723eeaadc8f0230b7c6181c4bb0b Mon Sep 17 00:00:00 2001 From: Ryan Lovett Date: Wed, 5 Dec 2018 15:59:35 -0800 Subject: [PATCH 005/284] Set theme jekyll-theme-slate --- _config.yml | 1 + 1 file changed, 1 insertion(+) create mode 100644 _config.yml diff --git a/_config.yml b/_config.yml new file mode 100644 index 00000000..c7418817 --- /dev/null +++ b/_config.yml @@ -0,0 +1 @@ +theme: jekyll-theme-slate \ No newline at end of file From 5d5cf5df063e470467d28a275d4e0677f3a6ff9a Mon Sep 17 00:00:00 2001 From: ryanlovett Date: Mon, 17 Dec 2018 14:54:42 -0800 Subject: [PATCH 006/284] Update instructions to reference the link generator. Instructions were stolen from The Littlest JupyterHub and altered. --- README.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/README.md b/README.md index 6a27e026..3bd7f84f 100644 --- a/README.md +++ b/README.md @@ -22,6 +22,14 @@ You can then enable the serverextension # How to use `nbgitpuller` +1. Visit the nbgitpuller link generator at https://jupyterhub.github.io/nbgitpuller/link. +2. Enter the IP address or URL to your JupyterHub. Include http:// or https:// as appropriate. +3. Enter an alternative URL path if desired. If not set, the generated link will take users to the default hub url, however this can be changed. For example specifying "lab" will launch JupyterLab if installed. Entering "path/to/a/notebook.ipynb" will open that notebook. +4. Enter the URL to your Git repository. This can reference any Git service provider such as GitHub, GitLab, or a local instance. +5. If your git repository is using a non-default branch name, you can specify that under branch. Most people do not need to customize this. + +The link printed at the bottom of the form can be distributed to users. You can also click it to test that it is working as intended, and adjust the form values until you get something you are happy with. + [Follow the `nbgitpuller` usage guide](https://the-littlest-jupyterhub.readthedocs.io/en/latest/howto/content/nbgitpuller.html) to learn how to distribute content for your JupyterHub using `nbgitpuller`. From a306c5dc8cd252784e48a2afefc01bfcc18d53f5 Mon Sep 17 00:00:00 2001 From: ryanlovett Date: Mon, 17 Dec 2018 14:57:29 -0800 Subject: [PATCH 007/284] Remove link to previous instructions. --- README.md | 3 --- 1 file changed, 3 deletions(-) diff --git a/README.md b/README.md index 3bd7f84f..822b9c0a 100644 --- a/README.md +++ b/README.md @@ -30,9 +30,6 @@ You can then enable the serverextension The link printed at the bottom of the form can be distributed to users. You can also click it to test that it is working as intended, and adjust the form values until you get something you are happy with. -[Follow the `nbgitpuller` usage guide](https://the-littlest-jupyterhub.readthedocs.io/en/latest/howto/content/nbgitpuller.html) -to learn how to distribute content for your JupyterHub using `nbgitpuller`. - # What is it? nbgitpuller allows you to construct a URL that points to a remote git repository. From 2ffa6e6d8a918ee738949976978aa94a6d0020c9 Mon Sep 17 00:00:00 2001 From: ryanlovett Date: Mon, 17 Dec 2018 14:59:29 -0800 Subject: [PATCH 008/284] Move new instructions further down. They now inhabit the space formerly occupied by "Constructing the nbgitpuller URL" which referenced the binder app. --- README.md | 37 +++++++------------------------------ 1 file changed, 7 insertions(+), 30 deletions(-) diff --git a/README.md b/README.md index 822b9c0a..fffc3325 100644 --- a/README.md +++ b/README.md @@ -20,16 +20,6 @@ You can then enable the serverextension jupyter serverextension enable --py nbgitpuller --sys-prefix -# How to use `nbgitpuller` - -1. Visit the nbgitpuller link generator at https://jupyterhub.github.io/nbgitpuller/link. -2. Enter the IP address or URL to your JupyterHub. Include http:// or https:// as appropriate. -3. Enter an alternative URL path if desired. If not set, the generated link will take users to the default hub url, however this can be changed. For example specifying "lab" will launch JupyterLab if installed. Entering "path/to/a/notebook.ipynb" will open that notebook. -4. Enter the URL to your Git repository. This can reference any Git service provider such as GitHub, GitLab, or a local instance. -5. If your git repository is using a non-default branch name, you can specify that under branch. Most people do not need to customize this. - -The link printed at the bottom of the form can be distributed to users. You can also click it to test that it is working as intended, and adjust the form values until you get something you are happy with. - # What is it? nbgitpuller allows you to construct a URL that points to a remote git repository. @@ -74,28 +64,15 @@ You should *not* use this when: using nbgitpuller. Mixing manual git operations + automatic nbgitpuller operations is going to cause surprises on an ongoing basis, and should be avoided. -# Constructing the nbgitpuller URL - -Launch this Binder for an interactive link generator -[![Binder](https://mybinder.org/badge.svg)](https://mybinder.org/v2/gh/data-8/nbgitpuller/master?urlpath=apps/binder%2Flink_generator.ipynb) - -You can construct a working nbgitpuller URL like this: +# How to use `nbgitpuller` -``` -myjupyterhub.org/hub/user-redirect/git-pull?repo=&branch=&subPath=&app= -``` +1. Visit the nbgitpuller link generator at https://jupyterhub.github.io/nbgitpuller/link. +2. Enter the IP address or URL to your JupyterHub. Include http:// or https:// as appropriate. +3. Enter an alternative URL path if desired. If not set, the generated link will take users to the default hub url, however this can be changed. For example specifying "lab" will launch JupyterLab if installed. Entering "path/to/a/notebook.ipynb" will open that notebook. +4. Enter the URL to your Git repository. This can reference any Git service provider such as GitHub, GitLab, or a local instance. +5. If your git repository is using a non-default branch name, you can specify that under branch. Most people do not need to customize this. -- **repo** is the URL of the git repository you want to clone. This parameter is required. -- **branch** is the branch name to use when cloning from the repository. - This parameter is optional and defaults to `master`. -- **subPath** is the path of the directory / notebook inside the repo to launch after cloning. - This parameter is optional, and defaults to opening the base directory of the linked Git repository. -- **app** This parameter is optional and defaults to either the environment variable - `NBGITPULLER_APP`'s value or `notebook` if it is undefined. The allowed values - are `lab` and `notebook`, the value will determine in what application view - you end up in. -- **urlPath** will, if specified, override `app` and `subPath` and redirect - blindly to the specified path. +The link printed at the bottom of the form can be distributed to users. You can also click it to test that it is working as intended, and adjust the form values until you get something you are happy with. # Local development From 085f8a485f6e194f9f598525fe74b2566d989dac Mon Sep 17 00:00:00 2001 From: ryanlovett Date: Mon, 17 Dec 2018 15:02:56 -0800 Subject: [PATCH 009/284] Ammend section headings. --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index fffc3325..4a049761 100644 --- a/README.md +++ b/README.md @@ -45,7 +45,7 @@ So we have made the following opinionated decisions. 3. If a file exists locally but is untracked by git (maybe someone uploaded it manually), then rename the file, and pull in remote copy. -# When to use / not use nbgitpuller +# When to use nbgitpuller You should use this when: @@ -64,7 +64,7 @@ You should *not* use this when: using nbgitpuller. Mixing manual git operations + automatic nbgitpuller operations is going to cause surprises on an ongoing basis, and should be avoided. -# How to use `nbgitpuller` +# How to use nbgitpuller 1. Visit the nbgitpuller link generator at https://jupyterhub.github.io/nbgitpuller/link. 2. Enter the IP address or URL to your JupyterHub. Include http:// or https:// as appropriate. From 2d32b0fc9a44fdce24411b030638ed8bc5bdb207 Mon Sep 17 00:00:00 2001 From: ryanlovett Date: Mon, 17 Dec 2018 15:22:43 -0800 Subject: [PATCH 010/284] Add preseed instructions. --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 4a049761..f6f12dbf 100644 --- a/README.md +++ b/README.md @@ -74,6 +74,8 @@ You should *not* use this when: The link printed at the bottom of the form can be distributed to users. You can also click it to test that it is working as intended, and adjust the form values until you get something you are happy with. +To preseed the form, append query string arguments to the link generator itself, for example https://jupyterhub.github.io/nbgitpuller/link?hub=http://jupyterhub.example.com. This may be useful when you want to suggest initial values to someone else. The other parameters are `urlpath`, `repo`, and `branch`. Resetting the form will remove the seeded values and re-enable the form fields. + # Local development You can easily set up to develop this locally, without requiring a JupyterHub. It requires python3. From e006088a7de89100e86271862de1c7a61ee58328 Mon Sep 17 00:00:00 2001 From: Chris Holdgraf Date: Fri, 21 Dec 2018 14:56:55 -0800 Subject: [PATCH 011/284] adding new nbgitpuller link gen app --- README.md | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index f6f12dbf..79c0fac7 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,12 @@ # nbgitpuller -[![Binder](https://mybinder.org/badge.svg)](https://mybinder.org/v2/gh/jupyterhub/nbgitpuller/master?urlpath=apps/binder%2Flink_generator.ipynb) +Create links for one-way synchronization of a remote git repository to a local git repository, +with automatic conflict resolution. Meant for use with a Jupyter server. -One-way synchronization of a remote git repository to a local git repository, -with automatic conflict resolution. +[Generate your own nbgitpuller links here](https://jupyterhub.github.io/nbgitpuller/link). [YouTube video instructions for teachers.](https://youtu.be/o7U0ZuICVFg) - ![nbgitpuller demo](doc/nbpuller.gif) # Installation From 0fd118f0bd76d1240fd74d59b3ca7609f364deb9 Mon Sep 17 00:00:00 2001 From: Jeremy Nickurak Date: Fri, 22 Feb 2019 16:00:31 -0700 Subject: [PATCH 012/284] Be explicit in tests about configuring repo-local properties While the default is to act on the repository local properties, being explicit here makes it obvious that these properties are only being set for test purposes. --- tests/test_gitpuller.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/test_gitpuller.py b/tests/test_gitpuller.py index b825559d..0fa5743a 100644 --- a/tests/test_gitpuller.py +++ b/tests/test_gitpuller.py @@ -33,8 +33,8 @@ def __init__(self, remote, path='pusher'): def __enter__(self): sp.check_output(['git', 'clone', self.remote.path, self.path]) - self.git('config', 'user.email', 'pusher@example.com') - self.git('config', 'user.name', 'pusher') + self.git('config', '--local', 'user.email', 'pusher@example.com') + self.git('config', '--local', 'user.name', 'pusher') return self def __exit__(self, *args): From c75b576a2002037bef859219ab1e46ac6348e5ab Mon Sep 17 00:00:00 2001 From: Jeremy Nickurak Date: Fri, 22 Feb 2019 16:00:31 -0700 Subject: [PATCH 013/284] Clarify expected outcome of exception-catching test "assert False" doesn't provide pytest much information to give a useful error. "assert True" is a no-op equivalent to "pass". Using a canary value to check if the exception was hit allows the error to be more meaningful in case of a failing test. --- tests/test_gitpuller.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/test_gitpuller.py b/tests/test_gitpuller.py index 0fa5743a..7270e36d 100644 --- a/tests/test_gitpuller.py +++ b/tests/test_gitpuller.py @@ -167,13 +167,13 @@ def test_git_lock(): puller.write_file('.git/index.lock', '') + exception_raised = False try: for l in puller.gp.pull(): print(puller.path + l) - assert False except Exception: - # This should raise an exception, since our .git/lock is new - assert True + exception_raised = True + assert exception_raised new_time = time.time() - 700 os.utime(os.path.join(puller.path, '.git', 'index.lock'), (new_time, new_time)) From 127a8e6160dff3e779484652dc1862e5328539da Mon Sep 17 00:00:00 2001 From: Jeremy Nickurak Date: Fri, 22 Feb 2019 16:00:31 -0700 Subject: [PATCH 014/284] Select branch as a part of clone One can specify the branch to track in the same 'git' command as the clone. This can make the operation a little quicker if the desired branch is significantly different from the default (typically 'master') branch. It will also facilitate the desired branch being checked out in future commits that implement shallow clones. --- nbgitpuller/pull.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/nbgitpuller/pull.py b/nbgitpuller/pull.py index aa78fb09..d4ec36ca 100644 --- a/nbgitpuller/pull.py +++ b/nbgitpuller/pull.py @@ -64,8 +64,7 @@ def initialize_repo(self): """ logging.info('Repo {} doesn\'t exist. Cloning...'.format(self.repo_dir)) - yield from execute_cmd(['git', 'clone', self.git_url, self.repo_dir]) - yield from execute_cmd(['git', 'checkout', self.branch_name], cwd=self.repo_dir) + yield from execute_cmd(['git', 'clone', '--branch', self.branch_name, self.git_url, self.repo_dir]) yield from execute_cmd(['git', 'config', 'user.email', 'nbgitpuller@example.com'], cwd=self.repo_dir) yield from execute_cmd(['git', 'config', 'user.name', 'nbgitpuller'], cwd=self.repo_dir) logging.info('Repo {} initialized'.format(self.repo_dir)) From 5e44c37b513e179506a6f33d8c2358e13a7150cb Mon Sep 17 00:00:00 2001 From: Jeremy Nickurak Date: Fri, 22 Feb 2019 16:00:31 -0700 Subject: [PATCH 015/284] Allow gitpullers to take and act on a depth parameter If provided to the GitPuller, a 'depth' parameter will be passed along to git, resulting in a shallow clone. Shallow clones with a depth of 'N' only include history going back 'N' commits. This can be helpful in reducing the size of the cloned repository, and in the amount of time it takes to clone that repository, especially when large files were added and later removed/edited. As a special-case, a non-positive value for depth (eg, 0 or negative) can be specified to explicitly request all history. For more information, see: https://git-scm.com/docs/git-clone#git-clone---depthltdepthgt --- nbgitpuller/pull.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/nbgitpuller/pull.py b/nbgitpuller/pull.py index d4ec36ca..c9fbd704 100644 --- a/nbgitpuller/pull.py +++ b/nbgitpuller/pull.py @@ -41,12 +41,13 @@ def flush(): raise subprocess.CalledProcessError(ret, cmd) class GitPuller: - def __init__(self, git_url, branch_name, repo_dir): + def __init__(self, git_url, branch_name, repo_dir, depth=None): assert git_url and branch_name self.git_url = git_url self.branch_name = branch_name self.repo_dir = repo_dir + self.depth = depth def pull(self): """ @@ -64,7 +65,12 @@ def initialize_repo(self): """ logging.info('Repo {} doesn\'t exist. Cloning...'.format(self.repo_dir)) - yield from execute_cmd(['git', 'clone', '--branch', self.branch_name, self.git_url, self.repo_dir]) + clone_args = ['git', 'clone'] + if self.depth and self.depth > 0: + clone_args.extend(['--depth', str(self.depth)]) + clone_args.extend(['--branch', self.branch_name]) + clone_args.extend([self.git_url, self.repo_dir]) + yield from execute_cmd(clone_args) yield from execute_cmd(['git', 'config', 'user.email', 'nbgitpuller@example.com'], cwd=self.repo_dir) yield from execute_cmd(['git', 'config', 'user.name', 'nbgitpuller'], cwd=self.repo_dir) logging.info('Repo {} initialized'.format(self.repo_dir)) From 34dc9e68db60c70b10859a997153b1e7fd2cb229 Mon Sep 17 00:00:00 2001 From: Jeremy Nickurak Date: Fri, 22 Feb 2019 16:00:31 -0700 Subject: [PATCH 016/284] Allow nbgitpuller handler to take and pass along a depth arg --- nbgitpuller/handlers.py | 9 +++++++-- nbgitpuller/templates/status.html | 1 + 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/nbgitpuller/handlers.py b/nbgitpuller/handlers.py index d5d4c74f..860f0288 100644 --- a/nbgitpuller/handlers.py +++ b/nbgitpuller/handlers.py @@ -53,13 +53,16 @@ def get(self): try: repo = self.get_argument('repo') branch = self.get_argument('branch') + depth = self.get_argument('depth', None) + if depth: + depth = int(depth) repo_dir = repo.split('/')[-1] # We gonna send out event streams! self.set_header('content-type', 'text/event-stream') self.set_header('cache-control', 'no-cache') - gp = GitPuller(repo, branch, repo_dir) + gp = GitPuller(repo, branch, repo_dir, depth=depth) q = Queue() def pull(): @@ -134,6 +137,7 @@ def get(self): repo = self.get_argument('repo') branch = self.get_argument('branch', 'master') + depth = self.get_argument('depth', None) urlPath = self.get_argument('urlpath', None) or \ self.get_argument('urlPath', None) subPath = self.get_argument('subpath', None) or \ @@ -155,7 +159,7 @@ def get(self): self.write( self.render_template( 'status.html', - repo=repo, branch=branch, path=path, version=__version__ + repo=repo, branch=branch, path=path, depth=depth, version=__version__ )) self.flush() @@ -180,6 +184,7 @@ def get(self): query = { 'repo': repo_url, 'branch': self.get_argument('branch', 'gh-pages'), + 'depth': self.get_argument('depth'), 'subPath': self.get_argument('path') } new_url = '{base}git-pull?{query}'.format( diff --git a/nbgitpuller/templates/status.html b/nbgitpuller/templates/status.html index 45cc5c4a..b538b9f7 100644 --- a/nbgitpuller/templates/status.html +++ b/nbgitpuller/templates/status.html @@ -6,6 +6,7 @@ data-repo="{{ repo | urlencode }}" data-path="{{ path | urlencode }}" data-branch="{{ branch | urlencode }}" +{% if depth %}data-depth="{{ depth | urlencode }}"{% endif %} {% endblock %} {% block site %} From e1b25cfb71a4c7f769d6d33a81f99b8c8442978d Mon Sep 17 00:00:00 2001 From: Jeremy Nickurak Date: Fri, 22 Feb 2019 16:00:31 -0700 Subject: [PATCH 017/284] Pass along 'depth' parameter in status.html template --- nbgitpuller/static/index.js | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/nbgitpuller/static/index.js b/nbgitpuller/static/index.js index 53b43c42..255e0297 100644 --- a/nbgitpuller/static/index.js +++ b/nbgitpuller/static/index.js @@ -12,11 +12,12 @@ require([ Terminal.applyAddon(fit); - function GitSync(baseUrl, repo, branch, path) { + function GitSync(baseUrl, repo, branch, depth, path) { // Class that talks to the API backend & emits events as appropriate this.baseUrl = baseUrl; this.repo = repo; this.branch = branch; + this.depth = depth; this.redirectUrl = baseUrl + path; this.callbacks = {}; @@ -40,10 +41,14 @@ require([ GitSync.prototype.start = function() { // Start git pulling handled by SyncHandler, declared in handlers.py - var syncUrl = this.baseUrl + 'git-pull/api?' + $.param({ + var syncUrlParams = { repo: this.repo, branch: this.branch - }); + } + if (typeof this.depth !== 'undefined' && this.depth != undefined) { + syncUrlParams['depth'] = this.depth; + } + var syncUrl = this.baseUrl + 'git-pull/api?' + $.param(syncUrlParams); this.eventSource = new EventSource(syncUrl); var that = this; @@ -123,6 +128,7 @@ require([ utils.get_body_data('baseUrl'), utils.get_body_data('repo'), utils.get_body_data('branch'), + utils.get_body_data('depth'), utils.get_body_data('path') ); From d0ae4b3231c9666ac33760037e13026e26ca12c7 Mon Sep 17 00:00:00 2001 From: Jeremy Nickurak Date: Fri, 22 Feb 2019 16:00:31 -0700 Subject: [PATCH 018/284] Switch to traitlets for "depth" configuration option This allows the default "depth" option to be configured via the NBGITPULLER_DEPTH environment variables, or standard traitlet behavior. --- nbgitpuller/pull.py | 27 ++++++++++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) diff --git a/nbgitpuller/pull.py b/nbgitpuller/pull.py index c9fbd704..ae1187eb 100644 --- a/nbgitpuller/pull.py +++ b/nbgitpuller/pull.py @@ -4,6 +4,8 @@ import time import argparse import datetime +from traitlets import Integer, default +from traitlets.config import Configurable from functools import partial def execute_cmd(cmd, **kwargs): @@ -40,14 +42,33 @@ def flush(): if ret != 0: raise subprocess.CalledProcessError(ret, cmd) -class GitPuller: - def __init__(self, git_url, branch_name, repo_dir, depth=None): +class GitPuller(Configurable): + depth = Integer(None, allow_none=True, config=True, + help=""" + Depth (ie, commit count) to which to perform a + shallow git clone. + + If not set, disables shallow clones. + + Defaults to reading from the NBGITPULLER_DEPTH + environment variable. + """) + + @default('depth') + def _depth_default(self): + depth = os.environ.get('NBGITPULLER_DEPTH') + if depth: + return int(depth) + return None + + def __init__(self, git_url, branch_name, repo_dir, **kwargs): assert git_url and branch_name self.git_url = git_url self.branch_name = branch_name self.repo_dir = repo_dir - self.depth = depth + newargs = {k: v for k, v in kwargs.items() if v is not None} + super(Configurable, self).__init__(**newargs) def pull(self): """ From 6ba6399284757fe042799e07b22b4d5a051d87ec Mon Sep 17 00:00:00 2001 From: Jeremy Nickurak Date: Fri, 22 Feb 2019 16:00:31 -0700 Subject: [PATCH 019/284] tests: refactor util classes These classes had quite a bit in common, and factoring out their changes makes each a little more specific to the unique values they add. --- tests/test_gitpuller.py | 58 ++++++++++++----------------------------- 1 file changed, 17 insertions(+), 41 deletions(-) diff --git a/tests/test_gitpuller.py b/tests/test_gitpuller.py index 7270e36d..9b87ffb6 100644 --- a/tests/test_gitpuller.py +++ b/tests/test_gitpuller.py @@ -6,7 +6,7 @@ from nbgitpuller import GitPuller -class Remote: +class Repository: def __init__(self, path='remote'): self.path = path @@ -18,6 +18,14 @@ def __enter__(self): def __exit__(self, *args): shutil.rmtree(self.path) + def write_file(self, path, content): + with open(os.path.join(self.path, path), 'w') as f: + f.write(content) + + def read_file(self, path): + with open(os.path.join(self.path, path)) as f: + return f.read() + def git(self, *args): return sp.check_output( ['git'] + list(args), @@ -26,10 +34,14 @@ def git(self, *args): ).decode().strip() -class Pusher: +class Remote(Repository): + pass + + +class Pusher(Repository): def __init__(self, remote, path='pusher'): - self.path = path self.remote = remote + super().__init__(path=path) def __enter__(self): sp.check_output(['git', 'clone', self.remote.path, self.path]) @@ -37,24 +49,6 @@ def __enter__(self): self.git('config', '--local', 'user.name', 'pusher') return self - def __exit__(self, *args): - shutil.rmtree(self.path) - - def git(self, *args): - return sp.check_output( - ['git'] + list(args), - cwd=self.path, - stderr=sp.STDOUT - ).decode().strip() - - def write_file(self, path, content): - with open(os.path.join(self.path, path), 'w') as f: - f.write(content) - - def read_file(self, path): - with open(os.path.join(self.path, path)) as f: - return f.read() - def push_file(self, path, content): self.write_file(path, content) self.git('add', path) @@ -62,9 +56,9 @@ def push_file(self, path, content): self.git('push', 'origin', 'master') -class Puller: +class Puller(Repository): def __init__(self, remote, path='puller'): - self.path = path + super().__init__(path) self.gp = GitPuller(remote.path, 'master', path) def __enter__(self): @@ -72,24 +66,6 @@ def __enter__(self): print(line) return self - def __exit__(self, *args): - shutil.rmtree(self.path) - - def git(self, *args): - return sp.check_output( - ['git'] + list(args), - cwd=self.path, - stderr=sp.STDOUT - ).decode().strip() - - def write_file(self, path, content): - with open(os.path.join(self.path, path), 'w') as f: - f.write(content) - - def read_file(self, path): - with open(os.path.join(self.path, path)) as f: - return f.read() - # Tests to write: # 1. Initialize puller with gitpuller, test for user config & commit presence # 2. Push commit with pusher, pull with puller, valiate that nothing has changeed From ca6235d992fa9eef3ffd6389533ed4a910d617a2 Mon Sep 17 00:00:00 2001 From: Jeremy Nickurak Date: Fri, 22 Feb 2019 16:00:31 -0700 Subject: [PATCH 020/284] tests: use file:/// in Puller remote git modifies its behavior between plain file-path remotes and URI-specified remotes. For example, shallow clones are ignored for plain file-path remotes, but enabled for URI-specified remotes. Using the full URI specification makes our tests behave more like real-world nbgitpuller use cases. --- tests/test_gitpuller.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/test_gitpuller.py b/tests/test_gitpuller.py index 9b87ffb6..798a5a9c 100644 --- a/tests/test_gitpuller.py +++ b/tests/test_gitpuller.py @@ -59,7 +59,8 @@ def push_file(self, path, content): class Puller(Repository): def __init__(self, remote, path='puller'): super().__init__(path) - self.gp = GitPuller(remote.path, 'master', path) + remotepath = "file://%s" % os.path.abspath(remote.path) + self.gp = GitPuller(remotepath, 'master', path) def __enter__(self): for line in self.gp.pull(): From 4a6badb76e78f802435d91ab7de54ec870ef2582 Mon Sep 17 00:00:00 2001 From: Jeremy Nickurak Date: Fri, 22 Feb 2019 16:00:31 -0700 Subject: [PATCH 021/284] tests: cleanup newlines around Puller output This makes invocation with pytest's "-s" option easier to read. --- tests/test_gitpuller.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/test_gitpuller.py b/tests/test_gitpuller.py index 798a5a9c..0d0ddafd 100644 --- a/tests/test_gitpuller.py +++ b/tests/test_gitpuller.py @@ -63,8 +63,9 @@ def __init__(self, remote, path='puller'): self.gp = GitPuller(remotepath, 'master', path) def __enter__(self): + print() for line in self.gp.pull(): - print(line) + print(line.rstrip()) return self # Tests to write: From 397bc7a3285e215ba2821860dc379f792fdda243 Mon Sep 17 00:00:00 2001 From: Jeremy Nickurak Date: Fri, 22 Feb 2019 16:00:31 -0700 Subject: [PATCH 022/284] tests: test depth/shallow-clone functionality These tests verify that basic shallow clones, and environment-variable configured shallow clones behave as expected. --- tests/test_gitpuller.py | 72 +++++++++++++++++++++++++++++++++++++++-- 1 file changed, 69 insertions(+), 3 deletions(-) diff --git a/tests/test_gitpuller.py b/tests/test_gitpuller.py index 0d0ddafd..edfebd3d 100644 --- a/tests/test_gitpuller.py +++ b/tests/test_gitpuller.py @@ -3,8 +3,9 @@ import subprocess as sp import glob import time -from nbgitpuller import GitPuller +import pytest +from nbgitpuller import GitPuller class Repository: def __init__(self, path='remote'): @@ -57,10 +58,10 @@ def push_file(self, path, content): class Puller(Repository): - def __init__(self, remote, path='puller'): + def __init__(self, remote, path='puller', depth=None): super().__init__(path) remotepath = "file://%s" % os.path.abspath(remote.path) - self.gp = GitPuller(remotepath, 'master', path) + self.gp = GitPuller(remotepath, 'master', path, depth=depth) def __enter__(self): print() @@ -233,3 +234,68 @@ def test_reset_file(): assert puller.git('rev-parse', 'HEAD') == pusher.git('rev-parse', 'HEAD') assert puller.read_file('README.md') == pusher.read_file('README.md') == '1' + +@pytest.fixture(scope='module') +def long_remote(): + with Remote() as remote, Pusher(remote) as pusher: + for i in range(0, 10): + pusher.git('commit', '--allow-empty', '-m', "Empty message %d" % i) + pusher.git('push', 'origin', 'master') + + yield remote + +@pytest.fixture(scope="function") +def clean_environment(): + """ + Save and restore the state of named VARIABLES before, during, and + after tests. + """ + + VARIABLES = ['NBGITPULLER_DEPTH'] + backups = {} + for var in VARIABLES: + backups[var] = os.environ.get(var) + if backups[var]: + del os.environ[var] + + yield + + for var in backups: + if backups[var]: + os.environ[var] = backups[var] + elif os.environ.get(var): + del os.environ[var] + +def count_loglines(repository): + return len(repository.git('log', '--oneline').split("\n")) + +def test_unshallow_clone(long_remote, clean_environment): + """ + Sanity-test that clones with 10 commits have 10 log entries + """ + with Puller(long_remote, 'normal') as puller: + assert count_loglines(puller) == 10 + +def test_shallow_clone(long_remote, clean_environment): + """ + Test that shallow clones only have a portion of the git history + """ + with Puller(long_remote, 'shallow4', depth=4) as puller: + assert count_loglines(puller) == 4 + +def test_environment_shallow_clone(long_remote, clean_environment): + """ + Test that shallow clones respect the NBGITPULLER_DEPTH environment variable + by default + """ + os.environ['NBGITPULLER_DEPTH'] = "2" + with Puller(long_remote, 'shallow_env') as puller: + assert count_loglines(puller) == 2 + +def test_explicit_unshallow(long_remote, clean_environment): + """ + Test that we can disable environment-specified shallow clones + """ + os.environ['NBGITPULLER_DEPTH'] = "2" + with Puller(long_remote, 'explicitly_full', depth=0) as puller: + assert count_loglines(puller) == 10 From ed19f2b8ab6462e3c704cdfe44fb9d7c45a6ee60 Mon Sep 17 00:00:00 2001 From: Jeremy Nickurak Date: Mon, 25 Feb 2019 15:19:34 -0700 Subject: [PATCH 023/284] tests: factor out the "pull everything" pattern This was repeated several times throughout the test module, and with varying levels of detail and bugs (missing space between strings, missed stripping of trailing newline). --- tests/test_gitpuller.py | 38 ++++++++++++++++---------------------- 1 file changed, 16 insertions(+), 22 deletions(-) diff --git a/tests/test_gitpuller.py b/tests/test_gitpuller.py index edfebd3d..39726cd9 100644 --- a/tests/test_gitpuller.py +++ b/tests/test_gitpuller.py @@ -63,12 +63,16 @@ def __init__(self, remote, path='puller', depth=None): remotepath = "file://%s" % os.path.abspath(remote.path) self.gp = GitPuller(remotepath, 'master', path, depth=depth) + def pull_all(self): + for l in self.gp.pull(): + print('{}: {}'.format(self.path, l.rstrip())) + def __enter__(self): print() - for line in self.gp.pull(): - print(line.rstrip()) + self.pull_all() return self + # Tests to write: # 1. Initialize puller with gitpuller, test for user config & commit presence # 2. Push commit with pusher, pull with puller, valiate that nothing has changeed @@ -109,16 +113,14 @@ def test_simple_push_pull(): assert puller.read_file('README.md') == pusher.read_file('README.md') == '1' pusher.push_file('README.md', '2') - for l in puller.gp.pull(): - print(puller.path + l) + puller.pull_all() assert puller.git('rev-parse', 'HEAD') == pusher.git('rev-parse', 'HEAD') assert puller.read_file('README.md') == pusher.read_file('README.md') == '2' pusher.push_file('another-file', '3') - for l in puller.gp.pull(): - print(l) + puller.pull_all() assert puller.git('rev-parse', 'HEAD') == pusher.git('rev-parse', 'HEAD') assert puller.read_file('another-file') == pusher.read_file('another-file') == '3' @@ -127,8 +129,7 @@ def test_simple_push_pull(): pusher.git('commit', '-m', 'Removing File') pusher.git('push', 'origin', 'master') - for l in puller.gp.pull(): - print(l) + puller.pull_all() assert puller.git('rev-parse', 'HEAD') == pusher.git('rev-parse', 'HEAD') assert not os.path.exists(os.path.join(puller.path, 'another-file')) @@ -148,8 +149,7 @@ def test_git_lock(): exception_raised = False try: - for l in puller.gp.pull(): - print(puller.path + l) + puller.pull_all() except Exception: exception_raised = True assert exception_raised @@ -157,8 +157,7 @@ def test_git_lock(): new_time = time.time() - 700 os.utime(os.path.join(puller.path, '.git', 'index.lock'), (new_time, new_time)) - for l in puller.gp.pull(): - print(puller.path + l) + puller.pull_all() assert puller.git('rev-parse', 'HEAD') == pusher.git('rev-parse', 'HEAD') @@ -176,8 +175,7 @@ def test_merging_simple(): pusher.push_file('README.md', '3') - for l in puller.gp.pull(): - print(l) + puller.pull_all() assert puller.read_file('README.md') == '2' assert pusher.read_file('README.md') == '3' @@ -185,16 +183,14 @@ def test_merging_simple(): # Make sure that further pushes to other files are reflected pusher.push_file('another-file', '4') - for l in puller.gp.pull(): - print(l) + puller.pull_all() assert puller.read_file('another-file') == pusher.read_file('another-file') == '4' # Make sure our merging works across commits pusher.push_file('README.md', '5') - for l in puller.gp.pull(): - print(l) + puller.pull_all() assert puller.read_file('README.md') == '2' @@ -211,8 +207,7 @@ def test_untracked_puller(): puller.write_file('another-file', '3') - for l in puller.gp.pull(): - print(l) + puller.pull_all() assert puller.read_file('another-file') == '2' # Find file that was created! renamed_file = glob.glob(os.path.join(puller.path, 'another-file_*'))[0] @@ -229,8 +224,7 @@ def test_reset_file(): with Puller(remote) as puller: os.remove(os.path.join(puller.path, 'README.md')) - for l in puller.gp.pull(): - print(l) + puller.pull_all() assert puller.git('rev-parse', 'HEAD') == pusher.git('rev-parse', 'HEAD') assert puller.read_file('README.md') == pusher.read_file('README.md') == '1' From b6e893e8fb0ff03b879f495a13a1f300f8521693 Mon Sep 17 00:00:00 2001 From: Jeremy Nickurak Date: Mon, 25 Feb 2019 15:26:27 -0700 Subject: [PATCH 024/284] tests: rename long_remote implicit pusher/remote to not conflict with defaults Since creating a long_remote implicitly creates git repositories with names that conflict with the defaults, it's easy for tests to create repositories that conflict with that file path. Using more arbitrary names reduces the likelihood of a collision. --- tests/test_gitpuller.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test_gitpuller.py b/tests/test_gitpuller.py index 39726cd9..1c9536bf 100644 --- a/tests/test_gitpuller.py +++ b/tests/test_gitpuller.py @@ -231,7 +231,7 @@ def test_reset_file(): @pytest.fixture(scope='module') def long_remote(): - with Remote() as remote, Pusher(remote) as pusher: + with Remote("long_remote") as remote, Pusher(remote, "lr_pusher") as pusher: for i in range(0, 10): pusher.git('commit', '--allow-empty', '-m', "Empty message %d" % i) pusher.git('push', 'origin', 'master') From e7cd3509e28c9c581094cf519ade7e82e23438fc Mon Sep 17 00:00:00 2001 From: Jeremy Nickurak Date: Mon, 25 Feb 2019 15:24:21 -0700 Subject: [PATCH 025/284] tests: test pulling on top of shallow-clone --- tests/test_gitpuller.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/tests/test_gitpuller.py b/tests/test_gitpuller.py index 1c9536bf..2e3040f2 100644 --- a/tests/test_gitpuller.py +++ b/tests/test_gitpuller.py @@ -293,3 +293,21 @@ def test_explicit_unshallow(long_remote, clean_environment): os.environ['NBGITPULLER_DEPTH'] = "2" with Puller(long_remote, 'explicitly_full', depth=0) as puller: assert count_loglines(puller) == 10 + +def test_pull_on_shallow_clone(long_remote, clean_environment): + """ + Test that we can perform a pull on a shallow clone + """ + with Puller(long_remote, depth=0) as shallow_puller: + with Pusher(long_remote) as pusher: + pusher.push_file('test_file', 'test') + + orig_head = shallow_puller.git('rev-parse', 'HEAD') + shallow_puller.pull_all() + new_head = shallow_puller.git('rev-parse', 'HEAD') + upstream_head = long_remote.git('rev-parse', 'HEAD') + + assert orig_head != new_head + assert new_head == upstream_head + + pusher.git('push', '--force', 'origin', '%s:master' % orig_head) From 5ecdaeb16d7be919f38043c498e06284a07ec9fb Mon Sep 17 00:00:00 2001 From: Michael Albert Date: Wed, 27 Feb 2019 10:13:15 -0500 Subject: [PATCH 026/284] Made repo_dir an absolute path based on the server_root_dir. --- nbgitpuller/handlers.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/nbgitpuller/handlers.py b/nbgitpuller/handlers.py index 860f0288..9bce87b8 100644 --- a/nbgitpuller/handlers.py +++ b/nbgitpuller/handlers.py @@ -56,7 +56,8 @@ def get(self): depth = self.get_argument('depth', None) if depth: depth = int(depth) - repo_dir = repo.split('/')[-1] + repo_dir = os.path.join(os.path.expanduser(self.settings['server_root_dir']), + repo.split('/')[-1]) # We gonna send out event streams! self.set_header('content-type', 'text/event-stream') From 9a53f0687cc36787584f206714014f0a94f452d5 Mon Sep 17 00:00:00 2001 From: Michael Albert Date: Wed, 27 Feb 2019 12:52:01 -0500 Subject: [PATCH 027/284] Added a comment explaining the change. --- nbgitpuller/handlers.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/nbgitpuller/handlers.py b/nbgitpuller/handlers.py index 9bce87b8..7b32b856 100644 --- a/nbgitpuller/handlers.py +++ b/nbgitpuller/handlers.py @@ -56,6 +56,14 @@ def get(self): depth = self.get_argument('depth', None) if depth: depth = int(depth) + # The default working directory is the directory from which Jupyter + # server is launched, which is not the same as the root notebook + # directory assuming either --notebook-dir= is used from the + # command line or c.NotebookApp.notebook_dir is set in the jupyter + # configuration. This line assures that all repos are cloned + # relative to server_root_dir, so that all repos are always in + # scope after cloning. Sometimes server_root_dir will include + # things like `~` and so the path must be expanded. repo_dir = os.path.join(os.path.expanduser(self.settings['server_root_dir']), repo.split('/')[-1]) From 554528b67e9d28b08bf435e8b79429a8011800e6 Mon Sep 17 00:00:00 2001 From: ryanlovett Date: Wed, 5 Dec 2018 17:35:54 -0800 Subject: [PATCH 028/284] Add link generator. --- link.md | 64 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 link.md diff --git a/link.md b/link.md new file mode 100644 index 00000000..7d08b910 --- /dev/null +++ b/link.md @@ -0,0 +1,64 @@ +Generate an nbgitpuller link for your JupyterHub +================================================ + +** Build your URL with the form below** + +.. raw:: html + + + + +
+ + + + + + +
+ +
+ +
+ + From e047c10f89bb49bd9530a5eb859321dff6fe2046 Mon Sep 17 00:00:00 2001 From: ryanlovett Date: Wed, 5 Dec 2018 17:42:29 -0800 Subject: [PATCH 029/284] Strip rst. --- link.md | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/link.md b/link.md index 7d08b910..f9f44286 100644 --- a/link.md +++ b/link.md @@ -1,11 +1,7 @@ -Generate an nbgitpuller link for your JupyterHub -================================================ - -** Build your URL with the form below** - -.. raw:: html +# Generate an nbgitpuller link for your JupyterHub + -
- - - - - - +

nbgitpuller link generator

+ + +
+
+ + + +
+
+ + + (e.g. "lab", "rstudio", "notebooks/materials-fa18/materials/fa18/lab/lab01/lab01.ipynb") +
+
+
+
+ + +
+
+ + +
+
+ + +
+

@@ -32,28 +78,61 @@
+ + From eca5abf0b1bbd322310c5647e64c2ace16f35261 Mon Sep 17 00:00:00 2001 From: ryanlovett Date: Thu, 6 Dec 2018 17:26:43 -0800 Subject: [PATCH 032/284] Use html suffix. --- link.md => link.html | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename link.md => link.html (100%) diff --git a/link.md b/link.html similarity index 100% rename from link.md rename to link.html From 0457cde4889d8f7b5aeccc7015d9818257444c60 Mon Sep 17 00:00:00 2001 From: ryanlovett Date: Thu, 6 Dec 2018 17:30:27 -0800 Subject: [PATCH 033/284] Add head and body tags. --- link.html | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/link.html b/link.html index 9f94d394..a8a1759e 100644 --- a/link.html +++ b/link.html @@ -1,3 +1,5 @@ + + - + - + +

nbgitpuller link generator

@@ -136,3 +141,5 @@

nbgitpuller link generator

document.getElementById('error').innerHTML = ""; } + + From edd519ad8559d2ef519a146821ddea461f10350c Mon Sep 17 00:00:00 2001 From: ryanlovett Date: Thu, 6 Dec 2018 23:57:42 -0800 Subject: [PATCH 034/284] Enable generate button based on input validity. --- link.html | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/link.html b/link.html index a8a1759e..dd0ae5d7 100644 --- a/link.html +++ b/link.html @@ -29,6 +29,9 @@ margin-top: 1em; text-decoration: none } + input[type=button]:disabled { + background-color: grey; + } #error { color: red; } @@ -53,7 +56,7 @@

nbgitpuller link generator

- +
@@ -65,14 +68,14 @@

nbgitpuller link generator

- +
- +
@@ -96,6 +99,13 @@

nbgitpuller link generator

+ + +

nbgitpuller link generator

+ + +
+
+ + + +
+
+ + + (e.g. "lab", "rstudio", "notebooks/materials-fa18/materials/fa18/lab/lab01/lab01.ipynb") +
+
+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+ +
+ + + From f34890ed8342fd0f6add3f8b56c320d5ca4ca11e Mon Sep 17 00:00:00 2001 From: ryanlovett Date: Fri, 7 Dec 2018 13:23:23 -0800 Subject: [PATCH 036/284] Dymatically alter link on input and remove button. --- link.html | 149 ++++++++++++++++++++++++++---------------------------- 1 file changed, 72 insertions(+), 77 deletions(-) diff --git a/link.html b/link.html index a4414661..ee17d6ec 100644 --- a/link.html +++ b/link.html @@ -17,23 +17,17 @@ body { padding: 1em; } input[type=button] { - font-size: 1rem; - line-height: 1.5; - background-color: #477dca; - border-radius: 3px; - border: none; - color: white; - display: inline-block; - font-weight: 700; - padding: 6px 18px; - margin-top: 1em; - text-decoration: none - } - input[type=button]:disabled { - background-color: grey; - } - #error { - color: red; + font-size: 1rem; + line-height: 1.5; + background-color: #477dca; + border-radius: 3px; + border: none; + color: white; + display: inline-block; + font-weight: 700; + padding: 6px 18px; + margin-top: 1em; + text-decoration: none } /* https://www.the-art-of-web.com/html/html5-form-validation/ */ @@ -50,58 +44,76 @@ +

nbgitpuller link generator

@@ -110,48 +122,31 @@

nbgitpuller link generator

- - +
- - (e.g. "lab", "rstudio", "notebooks/materials-fa18/materials/fa18/lab/lab01/lab01.ipynb") + + optional
- +
- + + optional
-
-
-
- - From 3be6bccdbf9a40a29e07546bc9a7ad7c6de8952b Mon Sep 17 00:00:00 2001 From: yuvipanda Date: Wed, 6 Mar 2019 19:17:35 +0530 Subject: [PATCH 037/284] Move link handler under docs/ We can put the link generator here instead of in its own branch --- README.md | 2 +- link.html => docs/link.html | 0 {doc => docs}/nbpuller.gif | Bin 3 files changed, 1 insertion(+), 1 deletion(-) rename link.html => docs/link.html (100%) rename {doc => docs}/nbpuller.gif (100%) diff --git a/README.md b/README.md index 79c0fac7..193fa7ee 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ with automatic conflict resolution. Meant for use with a Jupyter server. [YouTube video instructions for teachers.](https://youtu.be/o7U0ZuICVFg) -![nbgitpuller demo](doc/nbpuller.gif) +![nbgitpuller demo](docs/nbpuller.gif) # Installation diff --git a/link.html b/docs/link.html similarity index 100% rename from link.html rename to docs/link.html diff --git a/doc/nbpuller.gif b/docs/nbpuller.gif similarity index 100% rename from doc/nbpuller.gif rename to docs/nbpuller.gif From a8dabfd85d62663b76b7f9dfb72e935b9452d67a Mon Sep 17 00:00:00 2001 From: Jeremy Nickurak Date: Wed, 6 Mar 2019 15:37:03 -0700 Subject: [PATCH 038/284] tests: make Puller utility pass all extra options along This makes it easier to test the full functionality of the GitPuller's constructor API --- tests/test_gitpuller.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/test_gitpuller.py b/tests/test_gitpuller.py index 2e3040f2..64ac7b7e 100644 --- a/tests/test_gitpuller.py +++ b/tests/test_gitpuller.py @@ -58,10 +58,10 @@ def push_file(self, path, content): class Puller(Repository): - def __init__(self, remote, path='puller', depth=None): + def __init__(self, remote, path='puller', *args, **kwargs): super().__init__(path) remotepath = "file://%s" % os.path.abspath(remote.path) - self.gp = GitPuller(remotepath, 'master', path, depth=depth) + self.gp = GitPuller(remotepath, 'master', path, *args, **kwargs) def pull_all(self): for l in self.gp.pull(): From 2dac09c703b2266ea7a11f99e8b4d4ef228e473c Mon Sep 17 00:00:00 2001 From: Jeremy Nickurak Date: Wed, 6 Mar 2019 15:37:03 -0700 Subject: [PATCH 039/284] tests: add (currently failing) test for inheriting configuration --- tests/test_gitpuller.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/tests/test_gitpuller.py b/tests/test_gitpuller.py index 64ac7b7e..030dd45c 100644 --- a/tests/test_gitpuller.py +++ b/tests/test_gitpuller.py @@ -4,6 +4,9 @@ import glob import time import pytest +from tempfile import NamedTemporaryFile + +from traitlets.config.configurable import Configurable from nbgitpuller import GitPuller @@ -277,6 +280,20 @@ def test_shallow_clone(long_remote, clean_environment): with Puller(long_remote, 'shallow4', depth=4) as puller: assert count_loglines(puller) == 4 +@pytest.mark.xfail(strict=True) +def test_shallow_clone_config(long_remote, clean_environment): + """ + Test that shallow clones can be configured via parent Configurables + """ + class TempConfig(Configurable): + def __init__(self): + super(TempConfig) + self.config['GitPuller']['depth'] = 5 + + + with Puller(long_remote, 'shallow4', parent=TempConfig()) as puller: + assert count_loglines(puller) == 5 + def test_environment_shallow_clone(long_remote, clean_environment): """ Test that shallow clones respect the NBGITPULLER_DEPTH environment variable From 5bc3e145cd0e76dfc4e15546848c51ed403d3405 Mon Sep 17 00:00:00 2001 From: Jeremy Nickurak Date: Wed, 6 Mar 2019 15:37:03 -0700 Subject: [PATCH 040/284] Correct GitPuller super() usage This allows GitPuller to correctly inherit options passed along to it. Note that a subsequent commit is also required in order to ensure the configuration environment actually *is* passed along. --- nbgitpuller/pull.py | 2 +- tests/test_gitpuller.py | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/nbgitpuller/pull.py b/nbgitpuller/pull.py index ae1187eb..0d4b50d8 100644 --- a/nbgitpuller/pull.py +++ b/nbgitpuller/pull.py @@ -68,7 +68,7 @@ def __init__(self, git_url, branch_name, repo_dir, **kwargs): self.branch_name = branch_name self.repo_dir = repo_dir newargs = {k: v for k, v in kwargs.items() if v is not None} - super(Configurable, self).__init__(**newargs) + super(GitPuller, self).__init__(**newargs) def pull(self): """ diff --git a/tests/test_gitpuller.py b/tests/test_gitpuller.py index 030dd45c..245fb673 100644 --- a/tests/test_gitpuller.py +++ b/tests/test_gitpuller.py @@ -280,7 +280,6 @@ def test_shallow_clone(long_remote, clean_environment): with Puller(long_remote, 'shallow4', depth=4) as puller: assert count_loglines(puller) == 4 -@pytest.mark.xfail(strict=True) def test_shallow_clone_config(long_remote, clean_environment): """ Test that shallow clones can be configured via parent Configurables From 264df3290e70b4023c301f024dda5afd3109ceb4 Mon Sep 17 00:00:00 2001 From: Jeremy Nickurak Date: Wed, 6 Mar 2019 15:37:03 -0700 Subject: [PATCH 041/284] Pass nbapp along to GitPuller so it can read from our configuration Fixes #74. --- nbgitpuller/__init__.py | 1 + nbgitpuller/handlers.py | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/nbgitpuller/__init__.py b/nbgitpuller/__init__.py index 1d17328e..ac071e67 100644 --- a/nbgitpuller/__init__.py +++ b/nbgitpuller/__init__.py @@ -25,4 +25,5 @@ def load_jupyter_server_extension(nbapp): {'path': os.path.join(os.path.dirname(__file__), 'static')} ) ] + web_app.settings['nbapp'] = nbapp web_app.add_handlers('.*', handlers) diff --git a/nbgitpuller/handlers.py b/nbgitpuller/handlers.py index 860f0288..6f48d777 100644 --- a/nbgitpuller/handlers.py +++ b/nbgitpuller/handlers.py @@ -62,7 +62,7 @@ def get(self): self.set_header('content-type', 'text/event-stream') self.set_header('cache-control', 'no-cache') - gp = GitPuller(repo, branch, repo_dir, depth=depth) + gp = GitPuller(repo, branch, repo_dir, depth=depth, parent=self.settings['nbapp']) q = Queue() def pull(): From fc8b3d8c2728720827850bd0d58186d31d9b3b45 Mon Sep 17 00:00:00 2001 From: yuvipanda Date: Thu, 7 Mar 2019 15:31:46 +0530 Subject: [PATCH 042/284] Rework nbgitpuller link generator - Easier way to select the file to open - Easier way to select the app to open - Better validation with more descriptive error messages - Split JS into its own file - Fully self hosted, so works offline with no internet - Bootstrap instead of PureCSS, to give better access to validation and layout features. Bootstrap is in use in large chunks of Jupyter. Plus, it lets me be lazy - Better visual layout of where the link is --- docs/link.html | 228 +- docs/link.js | 123 + .../bootstrap-4.1.3/css/bootstrap-grid.css | 1912 ++++ .../css/bootstrap-grid.css.map | 1 + .../css/bootstrap-grid.min.css | 7 + .../css/bootstrap-grid.min.css.map | 1 + .../bootstrap-4.1.3/css/bootstrap-reboot.css | 331 + .../css/bootstrap-reboot.css.map | 1 + .../css/bootstrap-reboot.min.css | 8 + .../css/bootstrap-reboot.min.css.map | 1 + docs/vendor/bootstrap-4.1.3/css/bootstrap.css | 9030 +++++++++++++++++ .../bootstrap-4.1.3/css/bootstrap.css.map | 1 + .../bootstrap-4.1.3/css/bootstrap.min.css | 7 + .../bootstrap-4.1.3/css/bootstrap.min.css.map | 1 + .../bootstrap-4.1.3/js/bootstrap.bundle.js | 6461 ++++++++++++ .../js/bootstrap.bundle.js.map | 1 + .../js/bootstrap.bundle.min.js | 7 + .../js/bootstrap.bundle.min.js.map | 1 + docs/vendor/bootstrap-4.1.3/js/bootstrap.js | 3944 +++++++ .../bootstrap-4.1.3/js/bootstrap.js.map | 1 + .../bootstrap-4.1.3/js/bootstrap.min.js | 7 + .../bootstrap-4.1.3/js/bootstrap.min.js.map | 1 + docs/vendor/jquery-3.3.1.slim.min.js | 2 + 23 files changed, 21943 insertions(+), 134 deletions(-) create mode 100644 docs/link.js create mode 100644 docs/vendor/bootstrap-4.1.3/css/bootstrap-grid.css create mode 100644 docs/vendor/bootstrap-4.1.3/css/bootstrap-grid.css.map create mode 100644 docs/vendor/bootstrap-4.1.3/css/bootstrap-grid.min.css create mode 100644 docs/vendor/bootstrap-4.1.3/css/bootstrap-grid.min.css.map create mode 100644 docs/vendor/bootstrap-4.1.3/css/bootstrap-reboot.css create mode 100644 docs/vendor/bootstrap-4.1.3/css/bootstrap-reboot.css.map create mode 100644 docs/vendor/bootstrap-4.1.3/css/bootstrap-reboot.min.css create mode 100644 docs/vendor/bootstrap-4.1.3/css/bootstrap-reboot.min.css.map create mode 100644 docs/vendor/bootstrap-4.1.3/css/bootstrap.css create mode 100644 docs/vendor/bootstrap-4.1.3/css/bootstrap.css.map create mode 100644 docs/vendor/bootstrap-4.1.3/css/bootstrap.min.css create mode 100644 docs/vendor/bootstrap-4.1.3/css/bootstrap.min.css.map create mode 100644 docs/vendor/bootstrap-4.1.3/js/bootstrap.bundle.js create mode 100644 docs/vendor/bootstrap-4.1.3/js/bootstrap.bundle.js.map create mode 100644 docs/vendor/bootstrap-4.1.3/js/bootstrap.bundle.min.js create mode 100644 docs/vendor/bootstrap-4.1.3/js/bootstrap.bundle.min.js.map create mode 100644 docs/vendor/bootstrap-4.1.3/js/bootstrap.js create mode 100644 docs/vendor/bootstrap-4.1.3/js/bootstrap.js.map create mode 100644 docs/vendor/bootstrap-4.1.3/js/bootstrap.min.js create mode 100644 docs/vendor/bootstrap-4.1.3/js/bootstrap.min.js.map create mode 100644 docs/vendor/jquery-3.3.1.slim.min.js diff --git a/docs/link.html b/docs/link.html index ee17d6ec..648a653d 100644 --- a/docs/link.html +++ b/docs/link.html @@ -9,144 +9,104 @@ We validate the hub url so that we can reliably accept, manipulate, and display urls. We do not validate the repo url since nbgitpuller doesn't, but we could. ---!> +--> - + - - - + + + + nbgitpuller Link Generator -

nbgitpuller link generator

- -
-
-
- - -
-
- - - optional -
-
-
-
- - -
-
- - - optional -
-
- -
-
-
- -
- +
+

nbgitpuller link generator

+ +
+ +
+ +
+ +
+ +
+ +
+ Must be a valid web URL +
+ + The JupyterHub to send users to. + nbgitpuller must be installed in this hub. + +
+
+
+ +
+ +
+ Must be a valid git URL +
+
+
+
+
+ branch +
+ +
+
+
+ +
+
+ + + +
+
+
+ + +
+
+ + +
+
+ + +
+
+ + + +
+
+
+ +
+ +
+ + + This file or directory from within the repo will open when user clicks the link. + +
+
+
+
diff --git a/docs/link.js b/docs/link.js new file mode 100644 index 00000000..5b88e521 --- /dev/null +++ b/docs/link.js @@ -0,0 +1,123 @@ +// Pure function that generates an nbgitpuller URL +function generateUrl(hubUrl, urlPath, repoUrl, branch) { + + // assume hubUrl is a valid URL + var url = new URL(hubUrl); + + url.searchParams.set('repo', repoUrl); + + if (urlPath) { + url.searchParams.set('urlpath', urlPath); + } + + if (branch) { + url.searchParams.set('branch', branch); + } + + url.pathname += 'hub/user-redirect/git-pull'; + + return url.toString(); +} + +var apps = { + classic: { + title: 'Classic Notebook', + generateUrlPath: function (path) { return 'tree/' + path; }, + }, + jupyterlab: { + title: 'JupyterLab', + generateUrlPath: function (path) { return 'lab/tree/' + path; } + }, + rstudio: { + title: 'RStudio', + generateUrlPath: function (path) { return 'rstudio/'; } + } +} + +function displayLink() { + var form = document.getElementById('linkgenerator'); + + form.classList.add('was-validated'); + if (form.checkValidity()) { + var hubUrl = document.getElementById('hub').value; + var repoUrl = document.getElementById('repo').value; + var filePath = document.getElementById('filepath').value; + var branch = document.getElementById('branch').value; + var appName = form.querySelector('input[name="app"]:checked').value; + + if (appName === 'custom') { + var urlPath = document.getElementById('urlpath').value; + } else { + var urlPath = apps[appName].generateUrlPath(filePath); + } + + document.getElementById('link').value = generateUrl( + hubUrl, urlPath, repoUrl, branch + ); + } +} +function populateFromQueryString() { + // preseed values if specified in the url + var params = new URLSearchParams(window.location.search); + // Parameters are read from query string, and fields are set to them + var allowedParams = ['hub', 'repo', 'branch']; + for (var i=0; i < allowedParams.length; i++) { + var param = allowedParams[i]; + if (params.has(param)) { + document.getElementById(param).value = params.get(param); + } + } + +} + +/** + * Main loop of the program. + * + * Called whenever any state changes (input received, page loaded, etc). + * Should turn on / off elements based only on current state, and display the link + * + * Sort of react-ish. + */ +function render() { + var form = document.getElementById('linkgenerator'); + var appName = form.querySelector('input[name="app"]:checked').value; + + if (appName == 'custom') { + document.getElementById('urlpath').disabled = false; + document.getElementById('filepath').disabled = true; + } else { + document.getElementById('urlpath').disabled = true; + + var app = apps[appName]; + if (!app.generateUrlPath) { + document.getElementById('filepath').disabled = true; + } else { + document.getElementById('filepath').disabled = false; + } + } + displayLink(); +} + +/** + * Entry point + */ +function main() { + // Hook up any changes in form elements to call render() + document.querySelectorAll('#linkgenerator input[type="radio"]').forEach( + function(element) { + element.addEventListener('change', render); + } + ) + document.querySelectorAll('#linkgenerator input[type="text"], #linkgenerator input[type="url"]').forEach( + function(element) { + element.addEventListener('input', render); + } + ) + + populateFromQueryString(); + + // Do an initial render, to make sure our disabled / enabled properties are correctly set + render(); +} + +window.onload = main; \ No newline at end of file diff --git a/docs/vendor/bootstrap-4.1.3/css/bootstrap-grid.css b/docs/vendor/bootstrap-4.1.3/css/bootstrap-grid.css new file mode 100644 index 00000000..a36cd328 --- /dev/null +++ b/docs/vendor/bootstrap-4.1.3/css/bootstrap-grid.css @@ -0,0 +1,1912 @@ +/*! + * Bootstrap Grid v4.1.3 (https://getbootstrap.com/) + * Copyright 2011-2018 The Bootstrap Authors + * Copyright 2011-2018 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ +@-ms-viewport { + width: device-width; +} + +html { + box-sizing: border-box; + -ms-overflow-style: scrollbar; +} + +*, +*::before, +*::after { + box-sizing: inherit; +} + +.container { + width: 100%; + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto; +} + +@media (min-width: 576px) { + .container { + max-width: 540px; + } +} + +@media (min-width: 768px) { + .container { + max-width: 720px; + } +} + +@media (min-width: 992px) { + .container { + max-width: 960px; + } +} + +@media (min-width: 1200px) { + .container { + max-width: 1140px; + } +} + +.container-fluid { + width: 100%; + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto; +} + +.row { + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + margin-right: -15px; + margin-left: -15px; +} + +.no-gutters { + margin-right: 0; + margin-left: 0; +} + +.no-gutters > .col, +.no-gutters > [class*="col-"] { + padding-right: 0; + padding-left: 0; +} + +.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, +.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm, +.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md, +.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg, +.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl, +.col-xl-auto { + position: relative; + width: 100%; + min-height: 1px; + padding-right: 15px; + padding-left: 15px; +} + +.col { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; +} + +.col-auto { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: none; +} + +.col-1 { + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; +} + +.col-2 { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; +} + +.col-3 { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; +} + +.col-4 { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; +} + +.col-5 { + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; +} + +.col-6 { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; +} + +.col-7 { + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; +} + +.col-8 { + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; +} + +.col-9 { + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; +} + +.col-10 { + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; +} + +.col-11 { + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; +} + +.col-12 { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; +} + +.order-first { + -ms-flex-order: -1; + order: -1; +} + +.order-last { + -ms-flex-order: 13; + order: 13; +} + +.order-0 { + -ms-flex-order: 0; + order: 0; +} + +.order-1 { + -ms-flex-order: 1; + order: 1; +} + +.order-2 { + -ms-flex-order: 2; + order: 2; +} + +.order-3 { + -ms-flex-order: 3; + order: 3; +} + +.order-4 { + -ms-flex-order: 4; + order: 4; +} + +.order-5 { + -ms-flex-order: 5; + order: 5; +} + +.order-6 { + -ms-flex-order: 6; + order: 6; +} + +.order-7 { + -ms-flex-order: 7; + order: 7; +} + +.order-8 { + -ms-flex-order: 8; + order: 8; +} + +.order-9 { + -ms-flex-order: 9; + order: 9; +} + +.order-10 { + -ms-flex-order: 10; + order: 10; +} + +.order-11 { + -ms-flex-order: 11; + order: 11; +} + +.order-12 { + -ms-flex-order: 12; + order: 12; +} + +.offset-1 { + margin-left: 8.333333%; +} + +.offset-2 { + margin-left: 16.666667%; +} + +.offset-3 { + margin-left: 25%; +} + +.offset-4 { + margin-left: 33.333333%; +} + +.offset-5 { + margin-left: 41.666667%; +} + +.offset-6 { + margin-left: 50%; +} + +.offset-7 { + margin-left: 58.333333%; +} + +.offset-8 { + margin-left: 66.666667%; +} + +.offset-9 { + margin-left: 75%; +} + +.offset-10 { + margin-left: 83.333333%; +} + +.offset-11 { + margin-left: 91.666667%; +} + +@media (min-width: 576px) { + .col-sm { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; + } + .col-sm-auto { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: none; + } + .col-sm-1 { + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + .col-sm-2 { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-sm-3 { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .col-sm-4 { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .col-sm-5 { + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + .col-sm-6 { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .col-sm-7 { + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + .col-sm-8 { + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + .col-sm-9 { + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; + } + .col-sm-10 { + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + .col-sm-11 { + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + .col-sm-12 { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .order-sm-first { + -ms-flex-order: -1; + order: -1; + } + .order-sm-last { + -ms-flex-order: 13; + order: 13; + } + .order-sm-0 { + -ms-flex-order: 0; + order: 0; + } + .order-sm-1 { + -ms-flex-order: 1; + order: 1; + } + .order-sm-2 { + -ms-flex-order: 2; + order: 2; + } + .order-sm-3 { + -ms-flex-order: 3; + order: 3; + } + .order-sm-4 { + -ms-flex-order: 4; + order: 4; + } + .order-sm-5 { + -ms-flex-order: 5; + order: 5; + } + .order-sm-6 { + -ms-flex-order: 6; + order: 6; + } + .order-sm-7 { + -ms-flex-order: 7; + order: 7; + } + .order-sm-8 { + -ms-flex-order: 8; + order: 8; + } + .order-sm-9 { + -ms-flex-order: 9; + order: 9; + } + .order-sm-10 { + -ms-flex-order: 10; + order: 10; + } + .order-sm-11 { + -ms-flex-order: 11; + order: 11; + } + .order-sm-12 { + -ms-flex-order: 12; + order: 12; + } + .offset-sm-0 { + margin-left: 0; + } + .offset-sm-1 { + margin-left: 8.333333%; + } + .offset-sm-2 { + margin-left: 16.666667%; + } + .offset-sm-3 { + margin-left: 25%; + } + .offset-sm-4 { + margin-left: 33.333333%; + } + .offset-sm-5 { + margin-left: 41.666667%; + } + .offset-sm-6 { + margin-left: 50%; + } + .offset-sm-7 { + margin-left: 58.333333%; + } + .offset-sm-8 { + margin-left: 66.666667%; + } + .offset-sm-9 { + margin-left: 75%; + } + .offset-sm-10 { + margin-left: 83.333333%; + } + .offset-sm-11 { + margin-left: 91.666667%; + } +} + +@media (min-width: 768px) { + .col-md { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; + } + .col-md-auto { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: none; + } + .col-md-1 { + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + .col-md-2 { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-md-3 { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .col-md-4 { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .col-md-5 { + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + .col-md-6 { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .col-md-7 { + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + .col-md-8 { + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + .col-md-9 { + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; + } + .col-md-10 { + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + .col-md-11 { + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + .col-md-12 { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .order-md-first { + -ms-flex-order: -1; + order: -1; + } + .order-md-last { + -ms-flex-order: 13; + order: 13; + } + .order-md-0 { + -ms-flex-order: 0; + order: 0; + } + .order-md-1 { + -ms-flex-order: 1; + order: 1; + } + .order-md-2 { + -ms-flex-order: 2; + order: 2; + } + .order-md-3 { + -ms-flex-order: 3; + order: 3; + } + .order-md-4 { + -ms-flex-order: 4; + order: 4; + } + .order-md-5 { + -ms-flex-order: 5; + order: 5; + } + .order-md-6 { + -ms-flex-order: 6; + order: 6; + } + .order-md-7 { + -ms-flex-order: 7; + order: 7; + } + .order-md-8 { + -ms-flex-order: 8; + order: 8; + } + .order-md-9 { + -ms-flex-order: 9; + order: 9; + } + .order-md-10 { + -ms-flex-order: 10; + order: 10; + } + .order-md-11 { + -ms-flex-order: 11; + order: 11; + } + .order-md-12 { + -ms-flex-order: 12; + order: 12; + } + .offset-md-0 { + margin-left: 0; + } + .offset-md-1 { + margin-left: 8.333333%; + } + .offset-md-2 { + margin-left: 16.666667%; + } + .offset-md-3 { + margin-left: 25%; + } + .offset-md-4 { + margin-left: 33.333333%; + } + .offset-md-5 { + margin-left: 41.666667%; + } + .offset-md-6 { + margin-left: 50%; + } + .offset-md-7 { + margin-left: 58.333333%; + } + .offset-md-8 { + margin-left: 66.666667%; + } + .offset-md-9 { + margin-left: 75%; + } + .offset-md-10 { + margin-left: 83.333333%; + } + .offset-md-11 { + margin-left: 91.666667%; + } +} + +@media (min-width: 992px) { + .col-lg { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; + } + .col-lg-auto { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: none; + } + .col-lg-1 { + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + .col-lg-2 { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-lg-3 { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .col-lg-4 { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .col-lg-5 { + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + .col-lg-6 { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .col-lg-7 { + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + .col-lg-8 { + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + .col-lg-9 { + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; + } + .col-lg-10 { + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + .col-lg-11 { + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + .col-lg-12 { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .order-lg-first { + -ms-flex-order: -1; + order: -1; + } + .order-lg-last { + -ms-flex-order: 13; + order: 13; + } + .order-lg-0 { + -ms-flex-order: 0; + order: 0; + } + .order-lg-1 { + -ms-flex-order: 1; + order: 1; + } + .order-lg-2 { + -ms-flex-order: 2; + order: 2; + } + .order-lg-3 { + -ms-flex-order: 3; + order: 3; + } + .order-lg-4 { + -ms-flex-order: 4; + order: 4; + } + .order-lg-5 { + -ms-flex-order: 5; + order: 5; + } + .order-lg-6 { + -ms-flex-order: 6; + order: 6; + } + .order-lg-7 { + -ms-flex-order: 7; + order: 7; + } + .order-lg-8 { + -ms-flex-order: 8; + order: 8; + } + .order-lg-9 { + -ms-flex-order: 9; + order: 9; + } + .order-lg-10 { + -ms-flex-order: 10; + order: 10; + } + .order-lg-11 { + -ms-flex-order: 11; + order: 11; + } + .order-lg-12 { + -ms-flex-order: 12; + order: 12; + } + .offset-lg-0 { + margin-left: 0; + } + .offset-lg-1 { + margin-left: 8.333333%; + } + .offset-lg-2 { + margin-left: 16.666667%; + } + .offset-lg-3 { + margin-left: 25%; + } + .offset-lg-4 { + margin-left: 33.333333%; + } + .offset-lg-5 { + margin-left: 41.666667%; + } + .offset-lg-6 { + margin-left: 50%; + } + .offset-lg-7 { + margin-left: 58.333333%; + } + .offset-lg-8 { + margin-left: 66.666667%; + } + .offset-lg-9 { + margin-left: 75%; + } + .offset-lg-10 { + margin-left: 83.333333%; + } + .offset-lg-11 { + margin-left: 91.666667%; + } +} + +@media (min-width: 1200px) { + .col-xl { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; + } + .col-xl-auto { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: none; + } + .col-xl-1 { + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + .col-xl-2 { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-xl-3 { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .col-xl-4 { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .col-xl-5 { + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + .col-xl-6 { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .col-xl-7 { + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + .col-xl-8 { + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + .col-xl-9 { + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; + } + .col-xl-10 { + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + .col-xl-11 { + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + .col-xl-12 { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .order-xl-first { + -ms-flex-order: -1; + order: -1; + } + .order-xl-last { + -ms-flex-order: 13; + order: 13; + } + .order-xl-0 { + -ms-flex-order: 0; + order: 0; + } + .order-xl-1 { + -ms-flex-order: 1; + order: 1; + } + .order-xl-2 { + -ms-flex-order: 2; + order: 2; + } + .order-xl-3 { + -ms-flex-order: 3; + order: 3; + } + .order-xl-4 { + -ms-flex-order: 4; + order: 4; + } + .order-xl-5 { + -ms-flex-order: 5; + order: 5; + } + .order-xl-6 { + -ms-flex-order: 6; + order: 6; + } + .order-xl-7 { + -ms-flex-order: 7; + order: 7; + } + .order-xl-8 { + -ms-flex-order: 8; + order: 8; + } + .order-xl-9 { + -ms-flex-order: 9; + order: 9; + } + .order-xl-10 { + -ms-flex-order: 10; + order: 10; + } + .order-xl-11 { + -ms-flex-order: 11; + order: 11; + } + .order-xl-12 { + -ms-flex-order: 12; + order: 12; + } + .offset-xl-0 { + margin-left: 0; + } + .offset-xl-1 { + margin-left: 8.333333%; + } + .offset-xl-2 { + margin-left: 16.666667%; + } + .offset-xl-3 { + margin-left: 25%; + } + .offset-xl-4 { + margin-left: 33.333333%; + } + .offset-xl-5 { + margin-left: 41.666667%; + } + .offset-xl-6 { + margin-left: 50%; + } + .offset-xl-7 { + margin-left: 58.333333%; + } + .offset-xl-8 { + margin-left: 66.666667%; + } + .offset-xl-9 { + margin-left: 75%; + } + .offset-xl-10 { + margin-left: 83.333333%; + } + .offset-xl-11 { + margin-left: 91.666667%; + } +} + +.d-none { + display: none !important; +} + +.d-inline { + display: inline !important; +} + +.d-inline-block { + display: inline-block !important; +} + +.d-block { + display: block !important; +} + +.d-table { + display: table !important; +} + +.d-table-row { + display: table-row !important; +} + +.d-table-cell { + display: table-cell !important; +} + +.d-flex { + display: -ms-flexbox !important; + display: flex !important; +} + +.d-inline-flex { + display: -ms-inline-flexbox !important; + display: inline-flex !important; +} + +@media (min-width: 576px) { + .d-sm-none { + display: none !important; + } + .d-sm-inline { + display: inline !important; + } + .d-sm-inline-block { + display: inline-block !important; + } + .d-sm-block { + display: block !important; + } + .d-sm-table { + display: table !important; + } + .d-sm-table-row { + display: table-row !important; + } + .d-sm-table-cell { + display: table-cell !important; + } + .d-sm-flex { + display: -ms-flexbox !important; + display: flex !important; + } + .d-sm-inline-flex { + display: -ms-inline-flexbox !important; + display: inline-flex !important; + } +} + +@media (min-width: 768px) { + .d-md-none { + display: none !important; + } + .d-md-inline { + display: inline !important; + } + .d-md-inline-block { + display: inline-block !important; + } + .d-md-block { + display: block !important; + } + .d-md-table { + display: table !important; + } + .d-md-table-row { + display: table-row !important; + } + .d-md-table-cell { + display: table-cell !important; + } + .d-md-flex { + display: -ms-flexbox !important; + display: flex !important; + } + .d-md-inline-flex { + display: -ms-inline-flexbox !important; + display: inline-flex !important; + } +} + +@media (min-width: 992px) { + .d-lg-none { + display: none !important; + } + .d-lg-inline { + display: inline !important; + } + .d-lg-inline-block { + display: inline-block !important; + } + .d-lg-block { + display: block !important; + } + .d-lg-table { + display: table !important; + } + .d-lg-table-row { + display: table-row !important; + } + .d-lg-table-cell { + display: table-cell !important; + } + .d-lg-flex { + display: -ms-flexbox !important; + display: flex !important; + } + .d-lg-inline-flex { + display: -ms-inline-flexbox !important; + display: inline-flex !important; + } +} + +@media (min-width: 1200px) { + .d-xl-none { + display: none !important; + } + .d-xl-inline { + display: inline !important; + } + .d-xl-inline-block { + display: inline-block !important; + } + .d-xl-block { + display: block !important; + } + .d-xl-table { + display: table !important; + } + .d-xl-table-row { + display: table-row !important; + } + .d-xl-table-cell { + display: table-cell !important; + } + .d-xl-flex { + display: -ms-flexbox !important; + display: flex !important; + } + .d-xl-inline-flex { + display: -ms-inline-flexbox !important; + display: inline-flex !important; + } +} + +@media print { + .d-print-none { + display: none !important; + } + .d-print-inline { + display: inline !important; + } + .d-print-inline-block { + display: inline-block !important; + } + .d-print-block { + display: block !important; + } + .d-print-table { + display: table !important; + } + .d-print-table-row { + display: table-row !important; + } + .d-print-table-cell { + display: table-cell !important; + } + .d-print-flex { + display: -ms-flexbox !important; + display: flex !important; + } + .d-print-inline-flex { + display: -ms-inline-flexbox !important; + display: inline-flex !important; + } +} + +.flex-row { + -ms-flex-direction: row !important; + flex-direction: row !important; +} + +.flex-column { + -ms-flex-direction: column !important; + flex-direction: column !important; +} + +.flex-row-reverse { + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; +} + +.flex-column-reverse { + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; +} + +.flex-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; +} + +.flex-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; +} + +.flex-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; +} + +.flex-fill { + -ms-flex: 1 1 auto !important; + flex: 1 1 auto !important; +} + +.flex-grow-0 { + -ms-flex-positive: 0 !important; + flex-grow: 0 !important; +} + +.flex-grow-1 { + -ms-flex-positive: 1 !important; + flex-grow: 1 !important; +} + +.flex-shrink-0 { + -ms-flex-negative: 0 !important; + flex-shrink: 0 !important; +} + +.flex-shrink-1 { + -ms-flex-negative: 1 !important; + flex-shrink: 1 !important; +} + +.justify-content-start { + -ms-flex-pack: start !important; + justify-content: flex-start !important; +} + +.justify-content-end { + -ms-flex-pack: end !important; + justify-content: flex-end !important; +} + +.justify-content-center { + -ms-flex-pack: center !important; + justify-content: center !important; +} + +.justify-content-between { + -ms-flex-pack: justify !important; + justify-content: space-between !important; +} + +.justify-content-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; +} + +.align-items-start { + -ms-flex-align: start !important; + align-items: flex-start !important; +} + +.align-items-end { + -ms-flex-align: end !important; + align-items: flex-end !important; +} + +.align-items-center { + -ms-flex-align: center !important; + align-items: center !important; +} + +.align-items-baseline { + -ms-flex-align: baseline !important; + align-items: baseline !important; +} + +.align-items-stretch { + -ms-flex-align: stretch !important; + align-items: stretch !important; +} + +.align-content-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; +} + +.align-content-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; +} + +.align-content-center { + -ms-flex-line-pack: center !important; + align-content: center !important; +} + +.align-content-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; +} + +.align-content-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; +} + +.align-content-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; +} + +.align-self-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; +} + +.align-self-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; +} + +.align-self-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; +} + +.align-self-center { + -ms-flex-item-align: center !important; + align-self: center !important; +} + +.align-self-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; +} + +.align-self-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; +} + +@media (min-width: 576px) { + .flex-sm-row { + -ms-flex-direction: row !important; + flex-direction: row !important; + } + .flex-sm-column { + -ms-flex-direction: column !important; + flex-direction: column !important; + } + .flex-sm-row-reverse { + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; + } + .flex-sm-column-reverse { + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; + } + .flex-sm-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; + } + .flex-sm-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; + } + .flex-sm-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; + } + .flex-sm-fill { + -ms-flex: 1 1 auto !important; + flex: 1 1 auto !important; + } + .flex-sm-grow-0 { + -ms-flex-positive: 0 !important; + flex-grow: 0 !important; + } + .flex-sm-grow-1 { + -ms-flex-positive: 1 !important; + flex-grow: 1 !important; + } + .flex-sm-shrink-0 { + -ms-flex-negative: 0 !important; + flex-shrink: 0 !important; + } + .flex-sm-shrink-1 { + -ms-flex-negative: 1 !important; + flex-shrink: 1 !important; + } + .justify-content-sm-start { + -ms-flex-pack: start !important; + justify-content: flex-start !important; + } + .justify-content-sm-end { + -ms-flex-pack: end !important; + justify-content: flex-end !important; + } + .justify-content-sm-center { + -ms-flex-pack: center !important; + justify-content: center !important; + } + .justify-content-sm-between { + -ms-flex-pack: justify !important; + justify-content: space-between !important; + } + .justify-content-sm-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; + } + .align-items-sm-start { + -ms-flex-align: start !important; + align-items: flex-start !important; + } + .align-items-sm-end { + -ms-flex-align: end !important; + align-items: flex-end !important; + } + .align-items-sm-center { + -ms-flex-align: center !important; + align-items: center !important; + } + .align-items-sm-baseline { + -ms-flex-align: baseline !important; + align-items: baseline !important; + } + .align-items-sm-stretch { + -ms-flex-align: stretch !important; + align-items: stretch !important; + } + .align-content-sm-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; + } + .align-content-sm-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; + } + .align-content-sm-center { + -ms-flex-line-pack: center !important; + align-content: center !important; + } + .align-content-sm-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; + } + .align-content-sm-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; + } + .align-content-sm-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; + } + .align-self-sm-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; + } + .align-self-sm-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; + } + .align-self-sm-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; + } + .align-self-sm-center { + -ms-flex-item-align: center !important; + align-self: center !important; + } + .align-self-sm-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; + } + .align-self-sm-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; + } +} + +@media (min-width: 768px) { + .flex-md-row { + -ms-flex-direction: row !important; + flex-direction: row !important; + } + .flex-md-column { + -ms-flex-direction: column !important; + flex-direction: column !important; + } + .flex-md-row-reverse { + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; + } + .flex-md-column-reverse { + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; + } + .flex-md-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; + } + .flex-md-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; + } + .flex-md-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; + } + .flex-md-fill { + -ms-flex: 1 1 auto !important; + flex: 1 1 auto !important; + } + .flex-md-grow-0 { + -ms-flex-positive: 0 !important; + flex-grow: 0 !important; + } + .flex-md-grow-1 { + -ms-flex-positive: 1 !important; + flex-grow: 1 !important; + } + .flex-md-shrink-0 { + -ms-flex-negative: 0 !important; + flex-shrink: 0 !important; + } + .flex-md-shrink-1 { + -ms-flex-negative: 1 !important; + flex-shrink: 1 !important; + } + .justify-content-md-start { + -ms-flex-pack: start !important; + justify-content: flex-start !important; + } + .justify-content-md-end { + -ms-flex-pack: end !important; + justify-content: flex-end !important; + } + .justify-content-md-center { + -ms-flex-pack: center !important; + justify-content: center !important; + } + .justify-content-md-between { + -ms-flex-pack: justify !important; + justify-content: space-between !important; + } + .justify-content-md-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; + } + .align-items-md-start { + -ms-flex-align: start !important; + align-items: flex-start !important; + } + .align-items-md-end { + -ms-flex-align: end !important; + align-items: flex-end !important; + } + .align-items-md-center { + -ms-flex-align: center !important; + align-items: center !important; + } + .align-items-md-baseline { + -ms-flex-align: baseline !important; + align-items: baseline !important; + } + .align-items-md-stretch { + -ms-flex-align: stretch !important; + align-items: stretch !important; + } + .align-content-md-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; + } + .align-content-md-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; + } + .align-content-md-center { + -ms-flex-line-pack: center !important; + align-content: center !important; + } + .align-content-md-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; + } + .align-content-md-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; + } + .align-content-md-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; + } + .align-self-md-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; + } + .align-self-md-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; + } + .align-self-md-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; + } + .align-self-md-center { + -ms-flex-item-align: center !important; + align-self: center !important; + } + .align-self-md-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; + } + .align-self-md-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; + } +} + +@media (min-width: 992px) { + .flex-lg-row { + -ms-flex-direction: row !important; + flex-direction: row !important; + } + .flex-lg-column { + -ms-flex-direction: column !important; + flex-direction: column !important; + } + .flex-lg-row-reverse { + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; + } + .flex-lg-column-reverse { + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; + } + .flex-lg-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; + } + .flex-lg-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; + } + .flex-lg-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; + } + .flex-lg-fill { + -ms-flex: 1 1 auto !important; + flex: 1 1 auto !important; + } + .flex-lg-grow-0 { + -ms-flex-positive: 0 !important; + flex-grow: 0 !important; + } + .flex-lg-grow-1 { + -ms-flex-positive: 1 !important; + flex-grow: 1 !important; + } + .flex-lg-shrink-0 { + -ms-flex-negative: 0 !important; + flex-shrink: 0 !important; + } + .flex-lg-shrink-1 { + -ms-flex-negative: 1 !important; + flex-shrink: 1 !important; + } + .justify-content-lg-start { + -ms-flex-pack: start !important; + justify-content: flex-start !important; + } + .justify-content-lg-end { + -ms-flex-pack: end !important; + justify-content: flex-end !important; + } + .justify-content-lg-center { + -ms-flex-pack: center !important; + justify-content: center !important; + } + .justify-content-lg-between { + -ms-flex-pack: justify !important; + justify-content: space-between !important; + } + .justify-content-lg-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; + } + .align-items-lg-start { + -ms-flex-align: start !important; + align-items: flex-start !important; + } + .align-items-lg-end { + -ms-flex-align: end !important; + align-items: flex-end !important; + } + .align-items-lg-center { + -ms-flex-align: center !important; + align-items: center !important; + } + .align-items-lg-baseline { + -ms-flex-align: baseline !important; + align-items: baseline !important; + } + .align-items-lg-stretch { + -ms-flex-align: stretch !important; + align-items: stretch !important; + } + .align-content-lg-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; + } + .align-content-lg-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; + } + .align-content-lg-center { + -ms-flex-line-pack: center !important; + align-content: center !important; + } + .align-content-lg-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; + } + .align-content-lg-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; + } + .align-content-lg-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; + } + .align-self-lg-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; + } + .align-self-lg-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; + } + .align-self-lg-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; + } + .align-self-lg-center { + -ms-flex-item-align: center !important; + align-self: center !important; + } + .align-self-lg-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; + } + .align-self-lg-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; + } +} + +@media (min-width: 1200px) { + .flex-xl-row { + -ms-flex-direction: row !important; + flex-direction: row !important; + } + .flex-xl-column { + -ms-flex-direction: column !important; + flex-direction: column !important; + } + .flex-xl-row-reverse { + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; + } + .flex-xl-column-reverse { + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; + } + .flex-xl-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; + } + .flex-xl-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; + } + .flex-xl-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; + } + .flex-xl-fill { + -ms-flex: 1 1 auto !important; + flex: 1 1 auto !important; + } + .flex-xl-grow-0 { + -ms-flex-positive: 0 !important; + flex-grow: 0 !important; + } + .flex-xl-grow-1 { + -ms-flex-positive: 1 !important; + flex-grow: 1 !important; + } + .flex-xl-shrink-0 { + -ms-flex-negative: 0 !important; + flex-shrink: 0 !important; + } + .flex-xl-shrink-1 { + -ms-flex-negative: 1 !important; + flex-shrink: 1 !important; + } + .justify-content-xl-start { + -ms-flex-pack: start !important; + justify-content: flex-start !important; + } + .justify-content-xl-end { + -ms-flex-pack: end !important; + justify-content: flex-end !important; + } + .justify-content-xl-center { + -ms-flex-pack: center !important; + justify-content: center !important; + } + .justify-content-xl-between { + -ms-flex-pack: justify !important; + justify-content: space-between !important; + } + .justify-content-xl-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; + } + .align-items-xl-start { + -ms-flex-align: start !important; + align-items: flex-start !important; + } + .align-items-xl-end { + -ms-flex-align: end !important; + align-items: flex-end !important; + } + .align-items-xl-center { + -ms-flex-align: center !important; + align-items: center !important; + } + .align-items-xl-baseline { + -ms-flex-align: baseline !important; + align-items: baseline !important; + } + .align-items-xl-stretch { + -ms-flex-align: stretch !important; + align-items: stretch !important; + } + .align-content-xl-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; + } + .align-content-xl-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; + } + .align-content-xl-center { + -ms-flex-line-pack: center !important; + align-content: center !important; + } + .align-content-xl-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; + } + .align-content-xl-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; + } + .align-content-xl-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; + } + .align-self-xl-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; + } + .align-self-xl-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; + } + .align-self-xl-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; + } + .align-self-xl-center { + -ms-flex-item-align: center !important; + align-self: center !important; + } + .align-self-xl-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; + } + .align-self-xl-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; + } +} +/*# sourceMappingURL=bootstrap-grid.css.map */ \ No newline at end of file diff --git a/docs/vendor/bootstrap-4.1.3/css/bootstrap-grid.css.map b/docs/vendor/bootstrap-4.1.3/css/bootstrap-grid.css.map new file mode 100644 index 00000000..a636ccee --- /dev/null +++ b/docs/vendor/bootstrap-4.1.3/css/bootstrap-grid.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../scss/bootstrap-grid.scss","bootstrap-grid.css","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/_variables.scss","../../scss/mixins/_grid-framework.scss","../../scss/utilities/_display.scss","../../scss/utilities/_flex.scss"],"names":[],"mappings":"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","file":"bootstrap-grid.css","sourcesContent":["/*!\n * Bootstrap Grid v4.1.3 (https://getbootstrap.com/)\n * Copyright 2011-2018 The Bootstrap Authors\n * Copyright 2011-2018 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\n@at-root {\n @-ms-viewport { width: device-width; } // stylelint-disable-line at-rule-no-vendor-prefix\n}\n\nhtml {\n box-sizing: border-box;\n -ms-overflow-style: scrollbar;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n@import \"functions\";\n@import \"variables\";\n\n@import \"mixins/breakpoints\";\n@import \"mixins/grid-framework\";\n@import \"mixins/grid\";\n\n@import \"grid\";\n@import \"utilities/display\";\n@import \"utilities/flex\";\n","/*!\n * Bootstrap Grid v4.1.3 (https://getbootstrap.com/)\n * Copyright 2011-2018 The Bootstrap Authors\n * Copyright 2011-2018 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n@-ms-viewport {\n width: device-width;\n}\n\nhtml {\n box-sizing: border-box;\n -ms-overflow-style: scrollbar;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n.container {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n max-width: 1140px;\n }\n}\n\n.container-fluid {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n.row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\n.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n.col-xl-auto {\n position: relative;\n width: 100%;\n min-height: 1px;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n.col {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n}\n\n.col-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.order-first {\n order: -1;\n}\n\n.order-last {\n order: 13;\n}\n\n.order-0 {\n order: 0;\n}\n\n.order-1 {\n order: 1;\n}\n\n.order-2 {\n order: 2;\n}\n\n.order-3 {\n order: 3;\n}\n\n.order-4 {\n order: 4;\n}\n\n.order-5 {\n order: 5;\n}\n\n.order-6 {\n order: 6;\n}\n\n.order-7 {\n order: 7;\n}\n\n.order-8 {\n order: 8;\n}\n\n.order-9 {\n order: 9;\n}\n\n.order-10 {\n order: 10;\n}\n\n.order-11 {\n order: 11;\n}\n\n.order-12 {\n order: 12;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-sm-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-sm-first {\n order: -1;\n }\n .order-sm-last {\n order: 13;\n }\n .order-sm-0 {\n order: 0;\n }\n .order-sm-1 {\n order: 1;\n }\n .order-sm-2 {\n order: 2;\n }\n .order-sm-3 {\n order: 3;\n }\n .order-sm-4 {\n order: 4;\n }\n .order-sm-5 {\n order: 5;\n }\n .order-sm-6 {\n order: 6;\n }\n .order-sm-7 {\n order: 7;\n }\n .order-sm-8 {\n order: 8;\n }\n .order-sm-9 {\n order: 9;\n }\n .order-sm-10 {\n order: 10;\n }\n .order-sm-11 {\n order: 11;\n }\n .order-sm-12 {\n order: 12;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-md-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-md-first {\n order: -1;\n }\n .order-md-last {\n order: 13;\n }\n .order-md-0 {\n order: 0;\n }\n .order-md-1 {\n order: 1;\n }\n .order-md-2 {\n order: 2;\n }\n .order-md-3 {\n order: 3;\n }\n .order-md-4 {\n order: 4;\n }\n .order-md-5 {\n order: 5;\n }\n .order-md-6 {\n order: 6;\n }\n .order-md-7 {\n order: 7;\n }\n .order-md-8 {\n order: 8;\n }\n .order-md-9 {\n order: 9;\n }\n .order-md-10 {\n order: 10;\n }\n .order-md-11 {\n order: 11;\n }\n .order-md-12 {\n order: 12;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-lg-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-lg-first {\n order: -1;\n }\n .order-lg-last {\n order: 13;\n }\n .order-lg-0 {\n order: 0;\n }\n .order-lg-1 {\n order: 1;\n }\n .order-lg-2 {\n order: 2;\n }\n .order-lg-3 {\n order: 3;\n }\n .order-lg-4 {\n order: 4;\n }\n .order-lg-5 {\n order: 5;\n }\n .order-lg-6 {\n order: 6;\n }\n .order-lg-7 {\n order: 7;\n }\n .order-lg-8 {\n order: 8;\n }\n .order-lg-9 {\n order: 9;\n }\n .order-lg-10 {\n order: 10;\n }\n .order-lg-11 {\n order: 11;\n }\n .order-lg-12 {\n order: 12;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-xl-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-xl-first {\n order: -1;\n }\n .order-xl-last {\n order: 13;\n }\n .order-xl-0 {\n order: 0;\n }\n .order-xl-1 {\n order: 1;\n }\n .order-xl-2 {\n order: 2;\n }\n .order-xl-3 {\n order: 3;\n }\n .order-xl-4 {\n order: 4;\n }\n .order-xl-5 {\n order: 5;\n }\n .order-xl-6 {\n order: 6;\n }\n .order-xl-7 {\n order: 7;\n }\n .order-xl-8 {\n order: 8;\n }\n .order-xl-9 {\n order: 9;\n }\n .order-xl-10 {\n order: 10;\n }\n .order-xl-11 {\n order: 11;\n }\n .order-xl-12 {\n order: 12;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n.d-none {\n display: none !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-none {\n display: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 768px) {\n .d-md-none {\n display: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 992px) {\n .d-lg-none {\n display: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 1200px) {\n .d-xl-none {\n display: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media print {\n .d-print-none {\n display: none !important;\n }\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: flex !important;\n }\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n flex-shrink: 1 !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n@media (min-width: 576px) {\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 768px) {\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 992px) {\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 1200px) {\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n}\n\n/*# sourceMappingURL=bootstrap-grid.css.map */","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n .container {\n @include make-container();\n @include make-container-max-widths();\n }\n}\n\n// Fluid container\n//\n// Utilizes the mixin meant for fixed width containers, but with 100% width for\n// fluid, full width layouts.\n\n@if $enable-grid-classes {\n .container-fluid {\n @include make-container();\n }\n}\n\n// Row\n//\n// Rows contain and clear the floats of your columns.\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n }\n\n // Remove the negative margin from default .row, then the horizontal padding\n // from all immediate children columns (to prevent runaway style inheritance).\n .no-gutters {\n margin-right: 0;\n margin-left: 0;\n\n > .col,\n > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n }\n }\n}\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-container() {\n width: 100%;\n padding-right: ($grid-gutter-width / 2);\n padding-left: ($grid-gutter-width / 2);\n margin-right: auto;\n margin-left: auto;\n}\n\n\n// For each breakpoint, define the maximum width of the container in a media query\n@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {\n @each $breakpoint, $container-max-width in $max-widths {\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n max-width: $container-max-width;\n }\n }\n}\n\n@mixin make-row() {\n display: flex;\n flex-wrap: wrap;\n margin-right: ($grid-gutter-width / -2);\n margin-left: ($grid-gutter-width / -2);\n}\n\n@mixin make-col-ready() {\n position: relative;\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we use `flex` values\n // later on to override this initial width.\n width: 100%;\n min-height: 1px; // Prevent collapsing\n padding-right: ($grid-gutter-width / 2);\n padding-left: ($grid-gutter-width / 2);\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n flex: 0 0 percentage($size / $columns);\n // Add a `max-width` to ensure content within each column does not blow out\n // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari\n // do not appear to require this.\n max-width: percentage($size / $columns);\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: $size / $columns;\n margin-left: if($num == 0, 0, percentage($num));\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.02px\n// to work around the limitations of `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - .02px, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $max: breakpoint-max($name, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($name, $breakpoints) {\n @content;\n }\n }\n}\n","// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.\n\n\n//\n// Color system\n//\n\n$white: #fff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #6c757d !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n$black: #000 !default;\n\n$grays: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$grays: map-merge(\n (\n \"100\": $gray-100,\n \"200\": $gray-200,\n \"300\": $gray-300,\n \"400\": $gray-400,\n \"500\": $gray-500,\n \"600\": $gray-600,\n \"700\": $gray-700,\n \"800\": $gray-800,\n \"900\": $gray-900\n ),\n $grays\n);\n\n\n$blue: #007bff !default;\n$indigo: #6610f2 !default;\n$purple: #6f42c1 !default;\n$pink: #e83e8c !default;\n$red: #dc3545 !default;\n$orange: #fd7e14 !default;\n$yellow: #ffc107 !default;\n$green: #28a745 !default;\n$teal: #20c997 !default;\n$cyan: #17a2b8 !default;\n\n$colors: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$colors: map-merge(\n (\n \"blue\": $blue,\n \"indigo\": $indigo,\n \"purple\": $purple,\n \"pink\": $pink,\n \"red\": $red,\n \"orange\": $orange,\n \"yellow\": $yellow,\n \"green\": $green,\n \"teal\": $teal,\n \"cyan\": $cyan,\n \"white\": $white,\n \"gray\": $gray-600,\n \"gray-dark\": $gray-800\n ),\n $colors\n);\n\n$primary: $blue !default;\n$secondary: $gray-600 !default;\n$success: $green !default;\n$info: $cyan !default;\n$warning: $yellow !default;\n$danger: $red !default;\n$light: $gray-100 !default;\n$dark: $gray-800 !default;\n\n$theme-colors: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$theme-colors: map-merge(\n (\n \"primary\": $primary,\n \"secondary\": $secondary,\n \"success\": $success,\n \"info\": $info,\n \"warning\": $warning,\n \"danger\": $danger,\n \"light\": $light,\n \"dark\": $dark\n ),\n $theme-colors\n);\n\n// Set a specific jump point for requesting color jumps\n$theme-color-interval: 8% !default;\n\n// The yiq lightness value that determines when the lightness of color changes from \"dark\" to \"light\". Acceptable values are between 0 and 255.\n$yiq-contrasted-threshold: 150 !default;\n\n// Customize the light and dark text colors for use in our YIQ color contrast function.\n$yiq-text-dark: $gray-900 !default;\n$yiq-text-light: $white !default;\n\n// Options\n//\n// Quickly modify global styling by enabling or disabling optional features.\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: false !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-hover-media-query: false !default; // Deprecated, no longer affects any compiled CSS\n$enable-grid-classes: true !default;\n$enable-print-styles: true !default;\n\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n$spacer: 1rem !default;\n$spacers: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$spacers: map-merge(\n (\n 0: 0,\n 1: ($spacer * .25),\n 2: ($spacer * .5),\n 3: $spacer,\n 4: ($spacer * 1.5),\n 5: ($spacer * 3)\n ),\n $spacers\n);\n\n// This variable affects the `.h-*` and `.w-*` classes.\n$sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$sizes: map-merge(\n (\n 25: 25%,\n 50: 50%,\n 75: 75%,\n 100: 100%,\n auto: auto\n ),\n $sizes\n);\n\n// Body\n//\n// Settings for the `` element.\n\n$body-bg: $white !default;\n$body-color: $gray-900 !default;\n\n// Links\n//\n// Style anchor elements.\n\n$link-color: theme-color(\"primary\") !default;\n$link-decoration: none !default;\n$link-hover-color: darken($link-color, 15%) !default;\n$link-hover-decoration: underline !default;\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom: 1rem !default;\n\n\n// Grid breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n$grid-breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 992px,\n xl: 1200px\n) !default;\n\n@include _assert-ascending($grid-breakpoints, \"$grid-breakpoints\");\n@include _assert-starts-at-zero($grid-breakpoints);\n\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1140px\n) !default;\n\n@include _assert-ascending($container-max-widths, \"$container-max-widths\");\n\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-width: 30px !default;\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n$line-height-lg: 1.5 !default;\n$line-height-sm: 1.5 !default;\n\n$border-width: 1px !default;\n$border-color: $gray-300 !default;\n\n$border-radius: .25rem !default;\n$border-radius-lg: .3rem !default;\n$border-radius-sm: .2rem !default;\n\n$box-shadow-sm: 0 .125rem .25rem rgba($black, .075) !default;\n$box-shadow: 0 .5rem 1rem rgba($black, .15) !default;\n$box-shadow-lg: 0 1rem 3rem rgba($black, .175) !default;\n\n$component-active-color: $white !default;\n$component-active-bg: theme-color(\"primary\") !default;\n\n$caret-width: .3em !default;\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n$transition-collapse: height .35s ease !default;\n\n\n// Fonts\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// stylelint-disable value-keyword-case\n$font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\" !default;\n$font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !default;\n$font-family-base: $font-family-sans-serif !default;\n// stylelint-enable value-keyword-case\n\n$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`\n$font-size-lg: ($font-size-base * 1.25) !default;\n$font-size-sm: ($font-size-base * .875) !default;\n\n$font-weight-light: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-bold: 700 !default;\n\n$font-weight-base: $font-weight-normal !default;\n$line-height-base: 1.5 !default;\n\n$h1-font-size: $font-size-base * 2.5 !default;\n$h2-font-size: $font-size-base * 2 !default;\n$h3-font-size: $font-size-base * 1.75 !default;\n$h4-font-size: $font-size-base * 1.5 !default;\n$h5-font-size: $font-size-base * 1.25 !default;\n$h6-font-size: $font-size-base !default;\n\n$headings-margin-bottom: ($spacer / 2) !default;\n$headings-font-family: inherit !default;\n$headings-font-weight: 500 !default;\n$headings-line-height: 1.2 !default;\n$headings-color: inherit !default;\n\n$display1-size: 6rem !default;\n$display2-size: 5.5rem !default;\n$display3-size: 4.5rem !default;\n$display4-size: 3.5rem !default;\n\n$display1-weight: 300 !default;\n$display2-weight: 300 !default;\n$display3-weight: 300 !default;\n$display4-weight: 300 !default;\n$display-line-height: $headings-line-height !default;\n\n$lead-font-size: ($font-size-base * 1.25) !default;\n$lead-font-weight: 300 !default;\n\n$small-font-size: 80% !default;\n\n$text-muted: $gray-600 !default;\n\n$blockquote-small-color: $gray-600 !default;\n$blockquote-font-size: ($font-size-base * 1.25) !default;\n\n$hr-border-color: rgba($black, .1) !default;\n$hr-border-width: $border-width !default;\n\n$mark-padding: .2em !default;\n\n$dt-font-weight: $font-weight-bold !default;\n\n$kbd-box-shadow: inset 0 -.1rem 0 rgba($black, .25) !default;\n$nested-kbd-font-weight: $font-weight-bold !default;\n\n$list-inline-padding: .5rem !default;\n\n$mark-bg: #fcf8e3 !default;\n\n$hr-margin-y: $spacer !default;\n\n\n// Tables\n//\n// Customizes the `.table` component with basic values, each used across all table variations.\n\n$table-cell-padding: .75rem !default;\n$table-cell-padding-sm: .3rem !default;\n\n$table-bg: transparent !default;\n$table-accent-bg: rgba($black, .05) !default;\n$table-hover-bg: rgba($black, .075) !default;\n$table-active-bg: $table-hover-bg !default;\n\n$table-border-width: $border-width !default;\n$table-border-color: $gray-300 !default;\n\n$table-head-bg: $gray-200 !default;\n$table-head-color: $gray-700 !default;\n\n$table-dark-bg: $gray-900 !default;\n$table-dark-accent-bg: rgba($white, .05) !default;\n$table-dark-hover-bg: rgba($white, .075) !default;\n$table-dark-border-color: lighten($gray-900, 7.5%) !default;\n$table-dark-color: $body-bg !default;\n\n$table-striped-order: odd !default;\n\n$table-caption-color: $text-muted !default;\n\n// Buttons + Forms\n//\n// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.\n\n$input-btn-padding-y: .375rem !default;\n$input-btn-padding-x: .75rem !default;\n$input-btn-line-height: $line-height-base !default;\n\n$input-btn-focus-width: .2rem !default;\n$input-btn-focus-color: rgba($component-active-bg, .25) !default;\n$input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color !default;\n\n$input-btn-padding-y-sm: .25rem !default;\n$input-btn-padding-x-sm: .5rem !default;\n$input-btn-line-height-sm: $line-height-sm !default;\n\n$input-btn-padding-y-lg: .5rem !default;\n$input-btn-padding-x-lg: 1rem !default;\n$input-btn-line-height-lg: $line-height-lg !default;\n\n$input-btn-border-width: $border-width !default;\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background, and border color.\n\n$btn-padding-y: $input-btn-padding-y !default;\n$btn-padding-x: $input-btn-padding-x !default;\n$btn-line-height: $input-btn-line-height !default;\n\n$btn-padding-y-sm: $input-btn-padding-y-sm !default;\n$btn-padding-x-sm: $input-btn-padding-x-sm !default;\n$btn-line-height-sm: $input-btn-line-height-sm !default;\n\n$btn-padding-y-lg: $input-btn-padding-y-lg !default;\n$btn-padding-x-lg: $input-btn-padding-x-lg !default;\n$btn-line-height-lg: $input-btn-line-height-lg !default;\n\n$btn-border-width: $input-btn-border-width !default;\n\n$btn-font-weight: $font-weight-normal !default;\n$btn-box-shadow: inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default;\n$btn-focus-width: $input-btn-focus-width !default;\n$btn-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$btn-disabled-opacity: .65 !default;\n$btn-active-box-shadow: inset 0 3px 5px rgba($black, .125) !default;\n\n$btn-link-disabled-color: $gray-600 !default;\n\n$btn-block-spacing-y: .5rem !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius: $border-radius !default;\n$btn-border-radius-lg: $border-radius-lg !default;\n$btn-border-radius-sm: $border-radius-sm !default;\n\n$btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n\n// Forms\n\n$label-margin-bottom: .5rem !default;\n\n$input-padding-y: $input-btn-padding-y !default;\n$input-padding-x: $input-btn-padding-x !default;\n$input-line-height: $input-btn-line-height !default;\n\n$input-padding-y-sm: $input-btn-padding-y-sm !default;\n$input-padding-x-sm: $input-btn-padding-x-sm !default;\n$input-line-height-sm: $input-btn-line-height-sm !default;\n\n$input-padding-y-lg: $input-btn-padding-y-lg !default;\n$input-padding-x-lg: $input-btn-padding-x-lg !default;\n$input-line-height-lg: $input-btn-line-height-lg !default;\n\n$input-bg: $white !default;\n$input-disabled-bg: $gray-200 !default;\n\n$input-color: $gray-700 !default;\n$input-border-color: $gray-400 !default;\n$input-border-width: $input-btn-border-width !default;\n$input-box-shadow: inset 0 1px 1px rgba($black, .075) !default;\n\n$input-border-radius: $border-radius !default;\n$input-border-radius-lg: $border-radius-lg !default;\n$input-border-radius-sm: $border-radius-sm !default;\n\n$input-focus-bg: $input-bg !default;\n$input-focus-border-color: lighten($component-active-bg, 25%) !default;\n$input-focus-color: $input-color !default;\n$input-focus-width: $input-btn-focus-width !default;\n$input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$input-placeholder-color: $gray-600 !default;\n$input-plaintext-color: $body-color !default;\n\n$input-height-border: $input-border-width * 2 !default;\n\n$input-height-inner: ($font-size-base * $input-btn-line-height) + ($input-btn-padding-y * 2) !default;\n$input-height: calc(#{$input-height-inner} + #{$input-height-border}) !default;\n\n$input-height-inner-sm: ($font-size-sm * $input-btn-line-height-sm) + ($input-btn-padding-y-sm * 2) !default;\n$input-height-sm: calc(#{$input-height-inner-sm} + #{$input-height-border}) !default;\n\n$input-height-inner-lg: ($font-size-lg * $input-btn-line-height-lg) + ($input-btn-padding-y-lg * 2) !default;\n$input-height-lg: calc(#{$input-height-inner-lg} + #{$input-height-border}) !default;\n\n$input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$form-text-margin-top: .25rem !default;\n\n$form-check-input-gutter: 1.25rem !default;\n$form-check-input-margin-y: .3rem !default;\n$form-check-input-margin-x: .25rem !default;\n\n$form-check-inline-margin-x: .75rem !default;\n$form-check-inline-input-margin-x: .3125rem !default;\n\n$form-group-margin-bottom: 1rem !default;\n\n$input-group-addon-color: $input-color !default;\n$input-group-addon-bg: $gray-200 !default;\n$input-group-addon-border-color: $input-border-color !default;\n\n$custom-forms-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$custom-control-gutter: 1.5rem !default;\n$custom-control-spacer-x: 1rem !default;\n\n$custom-control-indicator-size: 1rem !default;\n$custom-control-indicator-bg: $gray-300 !default;\n$custom-control-indicator-bg-size: 50% 50% !default;\n$custom-control-indicator-box-shadow: inset 0 .25rem .25rem rgba($black, .1) !default;\n\n$custom-control-indicator-disabled-bg: $gray-200 !default;\n$custom-control-label-disabled-color: $gray-600 !default;\n\n$custom-control-indicator-checked-color: $component-active-color !default;\n$custom-control-indicator-checked-bg: $component-active-bg !default;\n$custom-control-indicator-checked-disabled-bg: rgba(theme-color(\"primary\"), .5) !default;\n$custom-control-indicator-checked-box-shadow: none !default;\n\n$custom-control-indicator-focus-box-shadow: 0 0 0 1px $body-bg, $input-btn-focus-box-shadow !default;\n\n$custom-control-indicator-active-color: $component-active-color !default;\n$custom-control-indicator-active-bg: lighten($component-active-bg, 35%) !default;\n$custom-control-indicator-active-box-shadow: none !default;\n\n$custom-checkbox-indicator-border-radius: $border-radius !default;\n$custom-checkbox-indicator-icon-checked: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='#{$custom-control-indicator-checked-color}' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n\n$custom-checkbox-indicator-indeterminate-bg: $component-active-bg !default;\n$custom-checkbox-indicator-indeterminate-color: $custom-control-indicator-checked-color !default;\n$custom-checkbox-indicator-icon-indeterminate: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='#{$custom-checkbox-indicator-indeterminate-color}' d='M0 2h4'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$custom-checkbox-indicator-indeterminate-box-shadow: none !default;\n\n$custom-radio-indicator-border-radius: 50% !default;\n$custom-radio-indicator-icon-checked: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='#{$custom-control-indicator-checked-color}'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n\n$custom-select-padding-y: .375rem !default;\n$custom-select-padding-x: .75rem !default;\n$custom-select-height: $input-height !default;\n$custom-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator\n$custom-select-line-height: $input-btn-line-height !default;\n$custom-select-color: $input-color !default;\n$custom-select-disabled-color: $gray-600 !default;\n$custom-select-bg: $input-bg !default;\n$custom-select-disabled-bg: $gray-200 !default;\n$custom-select-bg-size: 8px 10px !default; // In pixels because image dimensions\n$custom-select-indicator-color: $gray-800 !default;\n$custom-select-indicator: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='#{$custom-select-indicator-color}' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$custom-select-border-width: $input-btn-border-width !default;\n$custom-select-border-color: $input-border-color !default;\n$custom-select-border-radius: $border-radius !default;\n$custom-select-box-shadow: inset 0 1px 2px rgba($black, .075) !default;\n\n$custom-select-focus-border-color: $input-focus-border-color !default;\n$custom-select-focus-width: $input-btn-focus-width !default;\n$custom-select-focus-box-shadow: 0 0 0 $custom-select-focus-width rgba($custom-select-focus-border-color, .5) !default;\n\n$custom-select-font-size-sm: 75% !default;\n$custom-select-height-sm: $input-height-sm !default;\n\n$custom-select-font-size-lg: 125% !default;\n$custom-select-height-lg: $input-height-lg !default;\n\n$custom-range-track-width: 100% !default;\n$custom-range-track-height: .5rem !default;\n$custom-range-track-cursor: pointer !default;\n$custom-range-track-bg: $gray-300 !default;\n$custom-range-track-border-radius: 1rem !default;\n$custom-range-track-box-shadow: inset 0 .25rem .25rem rgba($black, .1) !default;\n\n$custom-range-thumb-width: 1rem !default;\n$custom-range-thumb-height: $custom-range-thumb-width !default;\n$custom-range-thumb-bg: $component-active-bg !default;\n$custom-range-thumb-border: 0 !default;\n$custom-range-thumb-border-radius: 1rem !default;\n$custom-range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1) !default;\n$custom-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg, $input-btn-focus-box-shadow !default;\n$custom-range-thumb-focus-box-shadow-width: $input-btn-focus-width !default; // For focus box shadow issue in IE/Edge\n$custom-range-thumb-active-bg: lighten($component-active-bg, 35%) !default;\n\n$custom-file-height: $input-height !default;\n$custom-file-height-inner: $input-height-inner !default;\n$custom-file-focus-border-color: $input-focus-border-color !default;\n$custom-file-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$custom-file-disabled-bg: $input-disabled-bg !default;\n\n$custom-file-padding-y: $input-btn-padding-y !default;\n$custom-file-padding-x: $input-btn-padding-x !default;\n$custom-file-line-height: $input-btn-line-height !default;\n$custom-file-color: $input-color !default;\n$custom-file-bg: $input-bg !default;\n$custom-file-border-width: $input-btn-border-width !default;\n$custom-file-border-color: $input-border-color !default;\n$custom-file-border-radius: $input-border-radius !default;\n$custom-file-box-shadow: $input-box-shadow !default;\n$custom-file-button-color: $custom-file-color !default;\n$custom-file-button-bg: $input-group-addon-bg !default;\n$custom-file-text: (\n en: \"Browse\"\n) !default;\n\n\n// Form validation\n$form-feedback-margin-top: $form-text-margin-top !default;\n$form-feedback-font-size: $small-font-size !default;\n$form-feedback-valid-color: theme-color(\"success\") !default;\n$form-feedback-invalid-color: theme-color(\"danger\") !default;\n\n\n// Dropdowns\n//\n// Dropdown menu container and contents.\n\n$dropdown-min-width: 10rem !default;\n$dropdown-padding-y: .5rem !default;\n$dropdown-spacer: .125rem !default;\n$dropdown-bg: $white !default;\n$dropdown-border-color: rgba($black, .15) !default;\n$dropdown-border-radius: $border-radius !default;\n$dropdown-border-width: $border-width !default;\n$dropdown-divider-bg: $gray-200 !default;\n$dropdown-box-shadow: 0 .5rem 1rem rgba($black, .175) !default;\n\n$dropdown-link-color: $gray-900 !default;\n$dropdown-link-hover-color: darken($gray-900, 5%) !default;\n$dropdown-link-hover-bg: $gray-100 !default;\n\n$dropdown-link-active-color: $component-active-color !default;\n$dropdown-link-active-bg: $component-active-bg !default;\n\n$dropdown-link-disabled-color: $gray-600 !default;\n\n$dropdown-item-padding-y: .25rem !default;\n$dropdown-item-padding-x: 1.5rem !default;\n\n$dropdown-header-color: $gray-600 !default;\n\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n$zindex-dropdown: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-modal-backdrop: 1040 !default;\n$zindex-modal: 1050 !default;\n$zindex-popover: 1060 !default;\n$zindex-tooltip: 1070 !default;\n\n// Navs\n\n$nav-link-padding-y: .5rem !default;\n$nav-link-padding-x: 1rem !default;\n$nav-link-disabled-color: $gray-600 !default;\n\n$nav-tabs-border-color: $gray-300 !default;\n$nav-tabs-border-width: $border-width !default;\n$nav-tabs-border-radius: $border-radius !default;\n$nav-tabs-link-hover-border-color: $gray-200 $gray-200 $nav-tabs-border-color !default;\n$nav-tabs-link-active-color: $gray-700 !default;\n$nav-tabs-link-active-bg: $body-bg !default;\n$nav-tabs-link-active-border-color: $gray-300 $gray-300 $nav-tabs-link-active-bg !default;\n\n$nav-pills-border-radius: $border-radius !default;\n$nav-pills-link-active-color: $component-active-color !default;\n$nav-pills-link-active-bg: $component-active-bg !default;\n\n$nav-divider-color: $gray-200 !default;\n$nav-divider-margin-y: ($spacer / 2) !default;\n\n// Navbar\n\n$navbar-padding-y: ($spacer / 2) !default;\n$navbar-padding-x: $spacer !default;\n\n$navbar-nav-link-padding-x: .5rem !default;\n\n$navbar-brand-font-size: $font-size-lg !default;\n// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link\n$nav-link-height: ($font-size-base * $line-height-base + $nav-link-padding-y * 2) !default;\n$navbar-brand-height: $navbar-brand-font-size * $line-height-base !default;\n$navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) / 2 !default;\n\n$navbar-toggler-padding-y: .25rem !default;\n$navbar-toggler-padding-x: .75rem !default;\n$navbar-toggler-font-size: $font-size-lg !default;\n$navbar-toggler-border-radius: $btn-border-radius !default;\n\n$navbar-dark-color: rgba($white, .5) !default;\n$navbar-dark-hover-color: rgba($white, .75) !default;\n$navbar-dark-active-color: $white !default;\n$navbar-dark-disabled-color: rgba($white, .25) !default;\n$navbar-dark-toggler-icon-bg: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='#{$navbar-dark-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$navbar-dark-toggler-border-color: rgba($white, .1) !default;\n\n$navbar-light-color: rgba($black, .5) !default;\n$navbar-light-hover-color: rgba($black, .7) !default;\n$navbar-light-active-color: rgba($black, .9) !default;\n$navbar-light-disabled-color: rgba($black, .3) !default;\n$navbar-light-toggler-icon-bg: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='#{$navbar-light-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$navbar-light-toggler-border-color: rgba($black, .1) !default;\n\n// Pagination\n\n$pagination-padding-y: .5rem !default;\n$pagination-padding-x: .75rem !default;\n$pagination-padding-y-sm: .25rem !default;\n$pagination-padding-x-sm: .5rem !default;\n$pagination-padding-y-lg: .75rem !default;\n$pagination-padding-x-lg: 1.5rem !default;\n$pagination-line-height: 1.25 !default;\n\n$pagination-color: $link-color !default;\n$pagination-bg: $white !default;\n$pagination-border-width: $border-width !default;\n$pagination-border-color: $gray-300 !default;\n\n$pagination-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$pagination-focus-outline: 0 !default;\n\n$pagination-hover-color: $link-hover-color !default;\n$pagination-hover-bg: $gray-200 !default;\n$pagination-hover-border-color: $gray-300 !default;\n\n$pagination-active-color: $component-active-color !default;\n$pagination-active-bg: $component-active-bg !default;\n$pagination-active-border-color: $pagination-active-bg !default;\n\n$pagination-disabled-color: $gray-600 !default;\n$pagination-disabled-bg: $white !default;\n$pagination-disabled-border-color: $gray-300 !default;\n\n\n// Jumbotron\n\n$jumbotron-padding: 2rem !default;\n$jumbotron-bg: $gray-200 !default;\n\n\n// Cards\n\n$card-spacer-y: .75rem !default;\n$card-spacer-x: 1.25rem !default;\n$card-border-width: $border-width !default;\n$card-border-radius: $border-radius !default;\n$card-border-color: rgba($black, .125) !default;\n$card-inner-border-radius: calc(#{$card-border-radius} - #{$card-border-width}) !default;\n$card-cap-bg: rgba($black, .03) !default;\n$card-bg: $white !default;\n\n$card-img-overlay-padding: 1.25rem !default;\n\n$card-group-margin: ($grid-gutter-width / 2) !default;\n$card-deck-margin: $card-group-margin !default;\n\n$card-columns-count: 3 !default;\n$card-columns-gap: 1.25rem !default;\n$card-columns-margin: $card-spacer-y !default;\n\n\n// Tooltips\n\n$tooltip-font-size: $font-size-sm !default;\n$tooltip-max-width: 200px !default;\n$tooltip-color: $white !default;\n$tooltip-bg: $black !default;\n$tooltip-border-radius: $border-radius !default;\n$tooltip-opacity: .9 !default;\n$tooltip-padding-y: .25rem !default;\n$tooltip-padding-x: .5rem !default;\n$tooltip-margin: 0 !default;\n\n$tooltip-arrow-width: .8rem !default;\n$tooltip-arrow-height: .4rem !default;\n$tooltip-arrow-color: $tooltip-bg !default;\n\n\n// Popovers\n\n$popover-font-size: $font-size-sm !default;\n$popover-bg: $white !default;\n$popover-max-width: 276px !default;\n$popover-border-width: $border-width !default;\n$popover-border-color: rgba($black, .2) !default;\n$popover-border-radius: $border-radius-lg !default;\n$popover-box-shadow: 0 .25rem .5rem rgba($black, .2) !default;\n\n$popover-header-bg: darken($popover-bg, 3%) !default;\n$popover-header-color: $headings-color !default;\n$popover-header-padding-y: .5rem !default;\n$popover-header-padding-x: .75rem !default;\n\n$popover-body-color: $body-color !default;\n$popover-body-padding-y: $popover-header-padding-y !default;\n$popover-body-padding-x: $popover-header-padding-x !default;\n\n$popover-arrow-width: 1rem !default;\n$popover-arrow-height: .5rem !default;\n$popover-arrow-color: $popover-bg !default;\n\n$popover-arrow-outer-color: fade-in($popover-border-color, .05) !default;\n\n\n// Badges\n\n$badge-font-size: 75% !default;\n$badge-font-weight: $font-weight-bold !default;\n$badge-padding-y: .25em !default;\n$badge-padding-x: .4em !default;\n$badge-border-radius: $border-radius !default;\n\n$badge-pill-padding-x: .6em !default;\n// Use a higher than normal value to ensure completely rounded edges when\n// customizing padding or font-size on labels.\n$badge-pill-border-radius: 10rem !default;\n\n\n// Modals\n\n// Padding applied to the modal body\n$modal-inner-padding: 1rem !default;\n\n$modal-dialog-margin: .5rem !default;\n$modal-dialog-margin-y-sm-up: 1.75rem !default;\n\n$modal-title-line-height: $line-height-base !default;\n\n$modal-content-bg: $white !default;\n$modal-content-border-color: rgba($black, .2) !default;\n$modal-content-border-width: $border-width !default;\n$modal-content-border-radius: $border-radius-lg !default;\n$modal-content-box-shadow-xs: 0 .25rem .5rem rgba($black, .5) !default;\n$modal-content-box-shadow-sm-up: 0 .5rem 1rem rgba($black, .5) !default;\n\n$modal-backdrop-bg: $black !default;\n$modal-backdrop-opacity: .5 !default;\n$modal-header-border-color: $gray-200 !default;\n$modal-footer-border-color: $modal-header-border-color !default;\n$modal-header-border-width: $modal-content-border-width !default;\n$modal-footer-border-width: $modal-header-border-width !default;\n$modal-header-padding: 1rem !default;\n\n$modal-lg: 800px !default;\n$modal-md: 500px !default;\n$modal-sm: 300px !default;\n\n$modal-transition: transform .3s ease-out !default;\n\n\n// Alerts\n//\n// Define alert colors, border radius, and padding.\n\n$alert-padding-y: .75rem !default;\n$alert-padding-x: 1.25rem !default;\n$alert-margin-bottom: 1rem !default;\n$alert-border-radius: $border-radius !default;\n$alert-link-font-weight: $font-weight-bold !default;\n$alert-border-width: $border-width !default;\n\n$alert-bg-level: -10 !default;\n$alert-border-level: -9 !default;\n$alert-color-level: 6 !default;\n\n\n// Progress bars\n\n$progress-height: 1rem !default;\n$progress-font-size: ($font-size-base * .75) !default;\n$progress-bg: $gray-200 !default;\n$progress-border-radius: $border-radius !default;\n$progress-box-shadow: inset 0 .1rem .1rem rgba($black, .1) !default;\n$progress-bar-color: $white !default;\n$progress-bar-bg: theme-color(\"primary\") !default;\n$progress-bar-animation-timing: 1s linear infinite !default;\n$progress-bar-transition: width .6s ease !default;\n\n// List group\n\n$list-group-bg: $white !default;\n$list-group-border-color: rgba($black, .125) !default;\n$list-group-border-width: $border-width !default;\n$list-group-border-radius: $border-radius !default;\n\n$list-group-item-padding-y: .75rem !default;\n$list-group-item-padding-x: 1.25rem !default;\n\n$list-group-hover-bg: $gray-100 !default;\n$list-group-active-color: $component-active-color !default;\n$list-group-active-bg: $component-active-bg !default;\n$list-group-active-border-color: $list-group-active-bg !default;\n\n$list-group-disabled-color: $gray-600 !default;\n$list-group-disabled-bg: $list-group-bg !default;\n\n$list-group-action-color: $gray-700 !default;\n$list-group-action-hover-color: $list-group-action-color !default;\n\n$list-group-action-active-color: $body-color !default;\n$list-group-action-active-bg: $gray-200 !default;\n\n\n// Image thumbnails\n\n$thumbnail-padding: .25rem !default;\n$thumbnail-bg: $body-bg !default;\n$thumbnail-border-width: $border-width !default;\n$thumbnail-border-color: $gray-300 !default;\n$thumbnail-border-radius: $border-radius !default;\n$thumbnail-box-shadow: 0 1px 2px rgba($black, .075) !default;\n\n\n// Figures\n\n$figure-caption-font-size: 90% !default;\n$figure-caption-color: $gray-600 !default;\n\n\n// Breadcrumbs\n\n$breadcrumb-padding-y: .75rem !default;\n$breadcrumb-padding-x: 1rem !default;\n$breadcrumb-item-padding: .5rem !default;\n\n$breadcrumb-margin-bottom: 1rem !default;\n\n$breadcrumb-bg: $gray-200 !default;\n$breadcrumb-divider-color: $gray-600 !default;\n$breadcrumb-active-color: $gray-600 !default;\n$breadcrumb-divider: quote(\"/\") !default;\n\n$breadcrumb-border-radius: $border-radius !default;\n\n\n// Carousel\n\n$carousel-control-color: $white !default;\n$carousel-control-width: 15% !default;\n$carousel-control-opacity: .5 !default;\n\n$carousel-indicator-width: 30px !default;\n$carousel-indicator-height: 3px !default;\n$carousel-indicator-spacer: 3px !default;\n$carousel-indicator-active-bg: $white !default;\n\n$carousel-caption-width: 70% !default;\n$carousel-caption-color: $white !default;\n\n$carousel-control-icon-width: 20px !default;\n\n$carousel-control-prev-icon-bg: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$carousel-control-next-icon-bg: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n\n$carousel-transition: transform .6s ease !default; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`)\n\n\n// Close\n\n$close-font-size: $font-size-base * 1.5 !default;\n$close-font-weight: $font-weight-bold !default;\n$close-color: $black !default;\n$close-text-shadow: 0 1px 0 $white !default;\n\n// Code\n\n$code-font-size: 87.5% !default;\n$code-color: $pink !default;\n\n$kbd-padding-y: .2rem !default;\n$kbd-padding-x: .4rem !default;\n$kbd-font-size: $code-font-size !default;\n$kbd-color: $white !default;\n$kbd-bg: $gray-900 !default;\n\n$pre-color: $gray-900 !default;\n$pre-scrollable-max-height: 340px !default;\n\n\n// Printing\n$print-page-size: a3 !default;\n$print-body-min-width: map-get($grid-breakpoints, \"lg\") !default;\n","// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n // Common properties for all breakpoints\n %grid-column {\n position: relative;\n width: 100%;\n min-height: 1px; // Prevent columns from collapsing when empty\n padding-right: ($gutter / 2);\n padding-left: ($gutter / 2);\n }\n\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n // Allow columns to stretch full width below their breakpoints\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @extend %grid-column;\n }\n }\n .col#{$infix},\n .col#{$infix}-auto {\n @extend %grid-column;\n }\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col#{$infix}-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none; // Reset earlier grid tiers\n }\n\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n\n .order#{$infix}-first { order: -1; }\n\n .order#{$infix}-last { order: $columns + 1; }\n\n @for $i from 0 through $columns {\n .order#{$infix}-#{$i} { order: $i; }\n }\n\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n }\n}\n","// stylelint-disable declaration-no-important\n\n//\n// Utilities for common `display` values\n//\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .d#{$infix}-none { display: none !important; }\n .d#{$infix}-inline { display: inline !important; }\n .d#{$infix}-inline-block { display: inline-block !important; }\n .d#{$infix}-block { display: block !important; }\n .d#{$infix}-table { display: table !important; }\n .d#{$infix}-table-row { display: table-row !important; }\n .d#{$infix}-table-cell { display: table-cell !important; }\n .d#{$infix}-flex { display: flex !important; }\n .d#{$infix}-inline-flex { display: inline-flex !important; }\n }\n}\n\n\n//\n// Utilities for toggling `display` in print\n//\n\n@media print {\n .d-print-none { display: none !important; }\n .d-print-inline { display: inline !important; }\n .d-print-inline-block { display: inline-block !important; }\n .d-print-block { display: block !important; }\n .d-print-table { display: table !important; }\n .d-print-table-row { display: table-row !important; }\n .d-print-table-cell { display: table-cell !important; }\n .d-print-flex { display: flex !important; }\n .d-print-inline-flex { display: inline-flex !important; }\n}\n","// stylelint-disable declaration-no-important\n\n// Flex variation\n//\n// Custom styles for additional flex alignment options.\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .flex#{$infix}-row { flex-direction: row !important; }\n .flex#{$infix}-column { flex-direction: column !important; }\n .flex#{$infix}-row-reverse { flex-direction: row-reverse !important; }\n .flex#{$infix}-column-reverse { flex-direction: column-reverse !important; }\n\n .flex#{$infix}-wrap { flex-wrap: wrap !important; }\n .flex#{$infix}-nowrap { flex-wrap: nowrap !important; }\n .flex#{$infix}-wrap-reverse { flex-wrap: wrap-reverse !important; }\n .flex#{$infix}-fill { flex: 1 1 auto !important; }\n .flex#{$infix}-grow-0 { flex-grow: 0 !important; }\n .flex#{$infix}-grow-1 { flex-grow: 1 !important; }\n .flex#{$infix}-shrink-0 { flex-shrink: 0 !important; }\n .flex#{$infix}-shrink-1 { flex-shrink: 1 !important; }\n\n .justify-content#{$infix}-start { justify-content: flex-start !important; }\n .justify-content#{$infix}-end { justify-content: flex-end !important; }\n .justify-content#{$infix}-center { justify-content: center !important; }\n .justify-content#{$infix}-between { justify-content: space-between !important; }\n .justify-content#{$infix}-around { justify-content: space-around !important; }\n\n .align-items#{$infix}-start { align-items: flex-start !important; }\n .align-items#{$infix}-end { align-items: flex-end !important; }\n .align-items#{$infix}-center { align-items: center !important; }\n .align-items#{$infix}-baseline { align-items: baseline !important; }\n .align-items#{$infix}-stretch { align-items: stretch !important; }\n\n .align-content#{$infix}-start { align-content: flex-start !important; }\n .align-content#{$infix}-end { align-content: flex-end !important; }\n .align-content#{$infix}-center { align-content: center !important; }\n .align-content#{$infix}-between { align-content: space-between !important; }\n .align-content#{$infix}-around { align-content: space-around !important; }\n .align-content#{$infix}-stretch { align-content: stretch !important; }\n\n .align-self#{$infix}-auto { align-self: auto !important; }\n .align-self#{$infix}-start { align-self: flex-start !important; }\n .align-self#{$infix}-end { align-self: flex-end !important; }\n .align-self#{$infix}-center { align-self: center !important; }\n .align-self#{$infix}-baseline { align-self: baseline !important; }\n .align-self#{$infix}-stretch { align-self: stretch !important; }\n }\n}\n"]} \ No newline at end of file diff --git a/docs/vendor/bootstrap-4.1.3/css/bootstrap-grid.min.css b/docs/vendor/bootstrap-4.1.3/css/bootstrap-grid.min.css new file mode 100644 index 00000000..63e1bc6b --- /dev/null +++ b/docs/vendor/bootstrap-4.1.3/css/bootstrap-grid.min.css @@ -0,0 +1,7 @@ +/*! + * Bootstrap Grid v4.1.3 (https://getbootstrap.com/) + * Copyright 2011-2018 The Bootstrap Authors + * Copyright 2011-2018 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */@-ms-viewport{width:device-width}html{box-sizing:border-box;-ms-overflow-style:scrollbar}*,::after,::before{box-sizing:inherit}.container{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container{max-width:540px}}@media (min-width:768px){.container{max-width:720px}}@media (min-width:992px){.container{max-width:960px}}@media (min-width:1200px){.container{max-width:1140px}}.container-fluid{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{position:relative;width:100%;min-height:1px;padding-right:15px;padding-left:15px}.col{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-first{-ms-flex-order:-1;order:-1}.order-last{-ms-flex-order:13;order:13}.order-0{-ms-flex-order:0;order:0}.order-1{-ms-flex-order:1;order:1}.order-2{-ms-flex-order:2;order:2}.order-3{-ms-flex-order:3;order:3}.order-4{-ms-flex-order:4;order:4}.order-5{-ms-flex-order:5;order:5}.order-6{-ms-flex-order:6;order:6}.order-7{-ms-flex-order:7;order:7}.order-8{-ms-flex-order:8;order:8}.order-9{-ms-flex-order:9;order:9}.order-10{-ms-flex-order:10;order:10}.order-11{-ms-flex-order:11;order:11}.order-12{-ms-flex-order:12;order:12}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-sm-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-sm-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-sm-first{-ms-flex-order:-1;order:-1}.order-sm-last{-ms-flex-order:13;order:13}.order-sm-0{-ms-flex-order:0;order:0}.order-sm-1{-ms-flex-order:1;order:1}.order-sm-2{-ms-flex-order:2;order:2}.order-sm-3{-ms-flex-order:3;order:3}.order-sm-4{-ms-flex-order:4;order:4}.order-sm-5{-ms-flex-order:5;order:5}.order-sm-6{-ms-flex-order:6;order:6}.order-sm-7{-ms-flex-order:7;order:7}.order-sm-8{-ms-flex-order:8;order:8}.order-sm-9{-ms-flex-order:9;order:9}.order-sm-10{-ms-flex-order:10;order:10}.order-sm-11{-ms-flex-order:11;order:11}.order-sm-12{-ms-flex-order:12;order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-md-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-md-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-md-first{-ms-flex-order:-1;order:-1}.order-md-last{-ms-flex-order:13;order:13}.order-md-0{-ms-flex-order:0;order:0}.order-md-1{-ms-flex-order:1;order:1}.order-md-2{-ms-flex-order:2;order:2}.order-md-3{-ms-flex-order:3;order:3}.order-md-4{-ms-flex-order:4;order:4}.order-md-5{-ms-flex-order:5;order:5}.order-md-6{-ms-flex-order:6;order:6}.order-md-7{-ms-flex-order:7;order:7}.order-md-8{-ms-flex-order:8;order:8}.order-md-9{-ms-flex-order:9;order:9}.order-md-10{-ms-flex-order:10;order:10}.order-md-11{-ms-flex-order:11;order:11}.order-md-12{-ms-flex-order:12;order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-lg-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-lg-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-lg-first{-ms-flex-order:-1;order:-1}.order-lg-last{-ms-flex-order:13;order:13}.order-lg-0{-ms-flex-order:0;order:0}.order-lg-1{-ms-flex-order:1;order:1}.order-lg-2{-ms-flex-order:2;order:2}.order-lg-3{-ms-flex-order:3;order:3}.order-lg-4{-ms-flex-order:4;order:4}.order-lg-5{-ms-flex-order:5;order:5}.order-lg-6{-ms-flex-order:6;order:6}.order-lg-7{-ms-flex-order:7;order:7}.order-lg-8{-ms-flex-order:8;order:8}.order-lg-9{-ms-flex-order:9;order:9}.order-lg-10{-ms-flex-order:10;order:10}.order-lg-11{-ms-flex-order:11;order:11}.order-lg-12{-ms-flex-order:12;order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-xl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-xl-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-xl-first{-ms-flex-order:-1;order:-1}.order-xl-last{-ms-flex-order:13;order:13}.order-xl-0{-ms-flex-order:0;order:0}.order-xl-1{-ms-flex-order:1;order:1}.order-xl-2{-ms-flex-order:2;order:2}.order-xl-3{-ms-flex-order:3;order:3}.order-xl-4{-ms-flex-order:4;order:4}.order-xl-5{-ms-flex-order:5;order:5}.order-xl-6{-ms-flex-order:6;order:6}.order-xl-7{-ms-flex-order:7;order:7}.order-xl-8{-ms-flex-order:8;order:8}.order-xl-9{-ms-flex-order:9;order:9}.order-xl-10{-ms-flex-order:10;order:10}.order-xl-11{-ms-flex-order:11;order:11}.order-xl-12{-ms-flex-order:12;order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:-ms-flexbox!important;display:flex!important}.d-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}@media (min-width:576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:-ms-flexbox!important;display:flex!important}.d-sm-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:-ms-flexbox!important;display:flex!important}.d-md-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:-ms-flexbox!important;display:flex!important}.d-lg-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:-ms-flexbox!important;display:flex!important}.d-xl-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media print{.d-print-none{display:none!important}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:-ms-flexbox!important;display:flex!important}.d-print-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}.flex-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-center{-ms-flex-align:center!important;align-items:center!important}.align-items-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}@media (min-width:576px){.flex-sm-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-sm-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-sm-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-sm-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-sm-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-sm-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-sm-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-sm-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-sm-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-sm-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-sm-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-sm-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-sm-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-sm-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-sm-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-sm-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-sm-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-sm-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-sm-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-sm-center{-ms-flex-align:center!important;align-items:center!important}.align-items-sm-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-sm-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-sm-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-sm-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-sm-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-sm-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-sm-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-sm-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-sm-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-sm-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-sm-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-sm-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-sm-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-sm-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:768px){.flex-md-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-md-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-md-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-md-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-md-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-md-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-md-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-md-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-md-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-md-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-md-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-md-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-md-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-md-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-md-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-md-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-md-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-md-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-md-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-md-center{-ms-flex-align:center!important;align-items:center!important}.align-items-md-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-md-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-md-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-md-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-md-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-md-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-md-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-md-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-md-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-md-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-md-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-md-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-md-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-md-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:992px){.flex-lg-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-lg-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-lg-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-lg-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-lg-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-lg-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-lg-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-lg-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-lg-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-lg-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-lg-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-lg-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-lg-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-lg-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-lg-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-lg-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-lg-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-lg-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-lg-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-lg-center{-ms-flex-align:center!important;align-items:center!important}.align-items-lg-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-lg-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-lg-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-lg-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-lg-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-lg-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-lg-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-lg-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-lg-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-lg-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-lg-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-lg-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-lg-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-lg-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:1200px){.flex-xl-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-xl-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-xl-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xl-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-xl-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-xl-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-xl-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-xl-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-xl-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-xl-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-xl-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-xl-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-xl-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-xl-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-xl-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-xl-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-xl-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-xl-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-xl-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-xl-center{-ms-flex-align:center!important;align-items:center!important}.align-items-xl-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-xl-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-xl-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-xl-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-xl-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-xl-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-xl-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-xl-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-xl-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-xl-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-xl-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-xl-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-xl-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-xl-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}} +/*# sourceMappingURL=bootstrap-grid.min.css.map */ \ No newline at end of file diff --git a/docs/vendor/bootstrap-4.1.3/css/bootstrap-grid.min.css.map b/docs/vendor/bootstrap-4.1.3/css/bootstrap-grid.min.css.map new file mode 100644 index 00000000..4cc3aa65 --- /dev/null +++ b/docs/vendor/bootstrap-4.1.3/css/bootstrap-grid.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../scss/bootstrap-grid.scss","dist/css/bootstrap-grid.css","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/mixins/_grid-framework.scss","../../scss/utilities/_display.scss","../../scss/utilities/_flex.scss"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Bootstrap Grid v4.1.3 (https://getbootstrap.com/)\n * Copyright 2011-2018 The Bootstrap Authors\n * Copyright 2011-2018 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\n@at-root {\n @-ms-viewport { width: device-width; } // stylelint-disable-line at-rule-no-vendor-prefix\n}\n\nhtml {\n box-sizing: border-box;\n -ms-overflow-style: scrollbar;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n@import \"functions\";\n@import \"variables\";\n\n@import \"mixins/breakpoints\";\n@import \"mixins/grid-framework\";\n@import \"mixins/grid\";\n\n@import \"grid\";\n@import \"utilities/display\";\n@import \"utilities/flex\";\n","/*!\n * Bootstrap Grid v4.1.3 (https://getbootstrap.com/)\n * Copyright 2011-2018 The Bootstrap Authors\n * Copyright 2011-2018 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n@-ms-viewport {\n width: device-width;\n}\n\nhtml {\n box-sizing: border-box;\n -ms-overflow-style: scrollbar;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n.container {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n max-width: 1140px;\n }\n}\n\n.container-fluid {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n.row {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\n.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n.col-xl-auto {\n position: relative;\n width: 100%;\n min-height: 1px;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n.col {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.col-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n}\n\n.col-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.order-first {\n -ms-flex-order: -1;\n order: -1;\n}\n\n.order-last {\n -ms-flex-order: 13;\n order: 13;\n}\n\n.order-0 {\n -ms-flex-order: 0;\n order: 0;\n}\n\n.order-1 {\n -ms-flex-order: 1;\n order: 1;\n}\n\n.order-2 {\n -ms-flex-order: 2;\n order: 2;\n}\n\n.order-3 {\n -ms-flex-order: 3;\n order: 3;\n}\n\n.order-4 {\n -ms-flex-order: 4;\n order: 4;\n}\n\n.order-5 {\n -ms-flex-order: 5;\n order: 5;\n}\n\n.order-6 {\n -ms-flex-order: 6;\n order: 6;\n}\n\n.order-7 {\n -ms-flex-order: 7;\n order: 7;\n}\n\n.order-8 {\n -ms-flex-order: 8;\n order: 8;\n}\n\n.order-9 {\n -ms-flex-order: 9;\n order: 9;\n}\n\n.order-10 {\n -ms-flex-order: 10;\n order: 10;\n}\n\n.order-11 {\n -ms-flex-order: 11;\n order: 11;\n}\n\n.order-12 {\n -ms-flex-order: 12;\n order: 12;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-sm-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-sm-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-sm-first {\n -ms-flex-order: -1;\n order: -1;\n }\n .order-sm-last {\n -ms-flex-order: 13;\n order: 13;\n }\n .order-sm-0 {\n -ms-flex-order: 0;\n order: 0;\n }\n .order-sm-1 {\n -ms-flex-order: 1;\n order: 1;\n }\n .order-sm-2 {\n -ms-flex-order: 2;\n order: 2;\n }\n .order-sm-3 {\n -ms-flex-order: 3;\n order: 3;\n }\n .order-sm-4 {\n -ms-flex-order: 4;\n order: 4;\n }\n .order-sm-5 {\n -ms-flex-order: 5;\n order: 5;\n }\n .order-sm-6 {\n -ms-flex-order: 6;\n order: 6;\n }\n .order-sm-7 {\n -ms-flex-order: 7;\n order: 7;\n }\n .order-sm-8 {\n -ms-flex-order: 8;\n order: 8;\n }\n .order-sm-9 {\n -ms-flex-order: 9;\n order: 9;\n }\n .order-sm-10 {\n -ms-flex-order: 10;\n order: 10;\n }\n .order-sm-11 {\n -ms-flex-order: 11;\n order: 11;\n }\n .order-sm-12 {\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-md-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-md-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-md-first {\n -ms-flex-order: -1;\n order: -1;\n }\n .order-md-last {\n -ms-flex-order: 13;\n order: 13;\n }\n .order-md-0 {\n -ms-flex-order: 0;\n order: 0;\n }\n .order-md-1 {\n -ms-flex-order: 1;\n order: 1;\n }\n .order-md-2 {\n -ms-flex-order: 2;\n order: 2;\n }\n .order-md-3 {\n -ms-flex-order: 3;\n order: 3;\n }\n .order-md-4 {\n -ms-flex-order: 4;\n order: 4;\n }\n .order-md-5 {\n -ms-flex-order: 5;\n order: 5;\n }\n .order-md-6 {\n -ms-flex-order: 6;\n order: 6;\n }\n .order-md-7 {\n -ms-flex-order: 7;\n order: 7;\n }\n .order-md-8 {\n -ms-flex-order: 8;\n order: 8;\n }\n .order-md-9 {\n -ms-flex-order: 9;\n order: 9;\n }\n .order-md-10 {\n -ms-flex-order: 10;\n order: 10;\n }\n .order-md-11 {\n -ms-flex-order: 11;\n order: 11;\n }\n .order-md-12 {\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-lg-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-lg-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-lg-first {\n -ms-flex-order: -1;\n order: -1;\n }\n .order-lg-last {\n -ms-flex-order: 13;\n order: 13;\n }\n .order-lg-0 {\n -ms-flex-order: 0;\n order: 0;\n }\n .order-lg-1 {\n -ms-flex-order: 1;\n order: 1;\n }\n .order-lg-2 {\n -ms-flex-order: 2;\n order: 2;\n }\n .order-lg-3 {\n -ms-flex-order: 3;\n order: 3;\n }\n .order-lg-4 {\n -ms-flex-order: 4;\n order: 4;\n }\n .order-lg-5 {\n -ms-flex-order: 5;\n order: 5;\n }\n .order-lg-6 {\n -ms-flex-order: 6;\n order: 6;\n }\n .order-lg-7 {\n -ms-flex-order: 7;\n order: 7;\n }\n .order-lg-8 {\n -ms-flex-order: 8;\n order: 8;\n }\n .order-lg-9 {\n -ms-flex-order: 9;\n order: 9;\n }\n .order-lg-10 {\n -ms-flex-order: 10;\n order: 10;\n }\n .order-lg-11 {\n -ms-flex-order: 11;\n order: 11;\n }\n .order-lg-12 {\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-xl-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-xl-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-xl-first {\n -ms-flex-order: -1;\n order: -1;\n }\n .order-xl-last {\n -ms-flex-order: 13;\n order: 13;\n }\n .order-xl-0 {\n -ms-flex-order: 0;\n order: 0;\n }\n .order-xl-1 {\n -ms-flex-order: 1;\n order: 1;\n }\n .order-xl-2 {\n -ms-flex-order: 2;\n order: 2;\n }\n .order-xl-3 {\n -ms-flex-order: 3;\n order: 3;\n }\n .order-xl-4 {\n -ms-flex-order: 4;\n order: 4;\n }\n .order-xl-5 {\n -ms-flex-order: 5;\n order: 5;\n }\n .order-xl-6 {\n -ms-flex-order: 6;\n order: 6;\n }\n .order-xl-7 {\n -ms-flex-order: 7;\n order: 7;\n }\n .order-xl-8 {\n -ms-flex-order: 8;\n order: 8;\n }\n .order-xl-9 {\n -ms-flex-order: 9;\n order: 9;\n }\n .order-xl-10 {\n -ms-flex-order: 10;\n order: 10;\n }\n .order-xl-11 {\n -ms-flex-order: 11;\n order: 11;\n }\n .order-xl-12 {\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n.d-none {\n display: none !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n}\n\n.d-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-none {\n display: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 768px) {\n .d-md-none {\n display: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-md-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 992px) {\n .d-lg-none {\n display: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 1200px) {\n .d-xl-none {\n display: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n@media print {\n .d-print-none {\n display: none !important;\n }\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-print-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n.flex-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n}\n\n.flex-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n}\n\n.flex-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n}\n\n.flex-fill {\n -ms-flex: 1 1 auto !important;\n flex: 1 1 auto !important;\n}\n\n.flex-grow-0 {\n -ms-flex-positive: 0 !important;\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n -ms-flex-positive: 1 !important;\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n -ms-flex-negative: 0 !important;\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n -ms-flex-negative: 1 !important;\n flex-shrink: 1 !important;\n}\n\n.justify-content-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n}\n\n.justify-content-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n}\n\n.align-items-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n}\n\n.align-items-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n}\n\n.align-items-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n}\n\n.align-items-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n}\n\n.align-content-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n}\n\n.align-content-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n}\n\n.align-content-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n}\n\n.align-content-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n}\n\n.align-content-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n}\n\n.align-self-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n}\n\n.align-self-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n}\n\n.align-self-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n}\n\n.align-self-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n}\n\n.align-self-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n}\n\n@media (min-width: 576px) {\n .flex-sm-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-sm-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-sm-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .flex-sm-fill {\n -ms-flex: 1 1 auto !important;\n flex: 1 1 auto !important;\n }\n .flex-sm-grow-0 {\n -ms-flex-positive: 0 !important;\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n -ms-flex-positive: 1 !important;\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n -ms-flex-negative: 0 !important;\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n -ms-flex-negative: 1 !important;\n flex-shrink: 1 !important;\n }\n .justify-content-sm-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-sm-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-sm-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-sm-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-sm-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-sm-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-sm-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-sm-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 768px) {\n .flex-md-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-md-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-md-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .flex-md-fill {\n -ms-flex: 1 1 auto !important;\n flex: 1 1 auto !important;\n }\n .flex-md-grow-0 {\n -ms-flex-positive: 0 !important;\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n -ms-flex-positive: 1 !important;\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n -ms-flex-negative: 0 !important;\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n -ms-flex-negative: 1 !important;\n flex-shrink: 1 !important;\n }\n .justify-content-md-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-md-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-md-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-md-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-md-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-md-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-md-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-md-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-md-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-md-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-md-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-md-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-md-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-md-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-md-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-md-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 992px) {\n .flex-lg-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-lg-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-lg-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .flex-lg-fill {\n -ms-flex: 1 1 auto !important;\n flex: 1 1 auto !important;\n }\n .flex-lg-grow-0 {\n -ms-flex-positive: 0 !important;\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n -ms-flex-positive: 1 !important;\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n -ms-flex-negative: 0 !important;\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n -ms-flex-negative: 1 !important;\n flex-shrink: 1 !important;\n }\n .justify-content-lg-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-lg-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-lg-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-lg-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-lg-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-lg-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-lg-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-lg-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 1200px) {\n .flex-xl-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-xl-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-xl-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .flex-xl-fill {\n -ms-flex: 1 1 auto !important;\n flex: 1 1 auto !important;\n }\n .flex-xl-grow-0 {\n -ms-flex-positive: 0 !important;\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n -ms-flex-positive: 1 !important;\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n -ms-flex-negative: 0 !important;\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n -ms-flex-negative: 1 !important;\n flex-shrink: 1 !important;\n }\n .justify-content-xl-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-xl-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-xl-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-xl-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-xl-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-xl-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-xl-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-xl-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n/*# sourceMappingURL=bootstrap-grid.css.map */","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n .container {\n @include make-container();\n @include make-container-max-widths();\n }\n}\n\n// Fluid container\n//\n// Utilizes the mixin meant for fixed width containers, but with 100% width for\n// fluid, full width layouts.\n\n@if $enable-grid-classes {\n .container-fluid {\n @include make-container();\n }\n}\n\n// Row\n//\n// Rows contain and clear the floats of your columns.\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n }\n\n // Remove the negative margin from default .row, then the horizontal padding\n // from all immediate children columns (to prevent runaway style inheritance).\n .no-gutters {\n margin-right: 0;\n margin-left: 0;\n\n > .col,\n > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n }\n }\n}\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-container() {\n width: 100%;\n padding-right: ($grid-gutter-width / 2);\n padding-left: ($grid-gutter-width / 2);\n margin-right: auto;\n margin-left: auto;\n}\n\n\n// For each breakpoint, define the maximum width of the container in a media query\n@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {\n @each $breakpoint, $container-max-width in $max-widths {\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n max-width: $container-max-width;\n }\n }\n}\n\n@mixin make-row() {\n display: flex;\n flex-wrap: wrap;\n margin-right: ($grid-gutter-width / -2);\n margin-left: ($grid-gutter-width / -2);\n}\n\n@mixin make-col-ready() {\n position: relative;\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we use `flex` values\n // later on to override this initial width.\n width: 100%;\n min-height: 1px; // Prevent collapsing\n padding-right: ($grid-gutter-width / 2);\n padding-left: ($grid-gutter-width / 2);\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n flex: 0 0 percentage($size / $columns);\n // Add a `max-width` to ensure content within each column does not blow out\n // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari\n // do not appear to require this.\n max-width: percentage($size / $columns);\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: $size / $columns;\n margin-left: if($num == 0, 0, percentage($num));\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.02px\n// to work around the limitations of `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - .02px, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $max: breakpoint-max($name, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($name, $breakpoints) {\n @content;\n }\n }\n}\n","// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n // Common properties for all breakpoints\n %grid-column {\n position: relative;\n width: 100%;\n min-height: 1px; // Prevent columns from collapsing when empty\n padding-right: ($gutter / 2);\n padding-left: ($gutter / 2);\n }\n\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n // Allow columns to stretch full width below their breakpoints\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @extend %grid-column;\n }\n }\n .col#{$infix},\n .col#{$infix}-auto {\n @extend %grid-column;\n }\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col#{$infix}-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none; // Reset earlier grid tiers\n }\n\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n\n .order#{$infix}-first { order: -1; }\n\n .order#{$infix}-last { order: $columns + 1; }\n\n @for $i from 0 through $columns {\n .order#{$infix}-#{$i} { order: $i; }\n }\n\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n }\n}\n","// stylelint-disable declaration-no-important\n\n//\n// Utilities for common `display` values\n//\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .d#{$infix}-none { display: none !important; }\n .d#{$infix}-inline { display: inline !important; }\n .d#{$infix}-inline-block { display: inline-block !important; }\n .d#{$infix}-block { display: block !important; }\n .d#{$infix}-table { display: table !important; }\n .d#{$infix}-table-row { display: table-row !important; }\n .d#{$infix}-table-cell { display: table-cell !important; }\n .d#{$infix}-flex { display: flex !important; }\n .d#{$infix}-inline-flex { display: inline-flex !important; }\n }\n}\n\n\n//\n// Utilities for toggling `display` in print\n//\n\n@media print {\n .d-print-none { display: none !important; }\n .d-print-inline { display: inline !important; }\n .d-print-inline-block { display: inline-block !important; }\n .d-print-block { display: block !important; }\n .d-print-table { display: table !important; }\n .d-print-table-row { display: table-row !important; }\n .d-print-table-cell { display: table-cell !important; }\n .d-print-flex { display: flex !important; }\n .d-print-inline-flex { display: inline-flex !important; }\n}\n","// stylelint-disable declaration-no-important\n\n// Flex variation\n//\n// Custom styles for additional flex alignment options.\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .flex#{$infix}-row { flex-direction: row !important; }\n .flex#{$infix}-column { flex-direction: column !important; }\n .flex#{$infix}-row-reverse { flex-direction: row-reverse !important; }\n .flex#{$infix}-column-reverse { flex-direction: column-reverse !important; }\n\n .flex#{$infix}-wrap { flex-wrap: wrap !important; }\n .flex#{$infix}-nowrap { flex-wrap: nowrap !important; }\n .flex#{$infix}-wrap-reverse { flex-wrap: wrap-reverse !important; }\n .flex#{$infix}-fill { flex: 1 1 auto !important; }\n .flex#{$infix}-grow-0 { flex-grow: 0 !important; }\n .flex#{$infix}-grow-1 { flex-grow: 1 !important; }\n .flex#{$infix}-shrink-0 { flex-shrink: 0 !important; }\n .flex#{$infix}-shrink-1 { flex-shrink: 1 !important; }\n\n .justify-content#{$infix}-start { justify-content: flex-start !important; }\n .justify-content#{$infix}-end { justify-content: flex-end !important; }\n .justify-content#{$infix}-center { justify-content: center !important; }\n .justify-content#{$infix}-between { justify-content: space-between !important; }\n .justify-content#{$infix}-around { justify-content: space-around !important; }\n\n .align-items#{$infix}-start { align-items: flex-start !important; }\n .align-items#{$infix}-end { align-items: flex-end !important; }\n .align-items#{$infix}-center { align-items: center !important; }\n .align-items#{$infix}-baseline { align-items: baseline !important; }\n .align-items#{$infix}-stretch { align-items: stretch !important; }\n\n .align-content#{$infix}-start { align-content: flex-start !important; }\n .align-content#{$infix}-end { align-content: flex-end !important; }\n .align-content#{$infix}-center { align-content: center !important; }\n .align-content#{$infix}-between { align-content: space-between !important; }\n .align-content#{$infix}-around { align-content: space-around !important; }\n .align-content#{$infix}-stretch { align-content: stretch !important; }\n\n .align-self#{$infix}-auto { align-self: auto !important; }\n .align-self#{$infix}-start { align-self: flex-start !important; }\n .align-self#{$infix}-end { align-self: flex-end !important; }\n .align-self#{$infix}-center { align-self: center !important; }\n .align-self#{$infix}-baseline { align-self: baseline !important; }\n .align-self#{$infix}-stretch { align-self: stretch !important; }\n }\n}\n"]} \ No newline at end of file diff --git a/docs/vendor/bootstrap-4.1.3/css/bootstrap-reboot.css b/docs/vendor/bootstrap-4.1.3/css/bootstrap-reboot.css new file mode 100644 index 00000000..b3d7f4c6 --- /dev/null +++ b/docs/vendor/bootstrap-4.1.3/css/bootstrap-reboot.css @@ -0,0 +1,331 @@ +/*! + * Bootstrap Reboot v4.1.3 (https://getbootstrap.com/) + * Copyright 2011-2018 The Bootstrap Authors + * Copyright 2011-2018 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) + */ +*, +*::before, +*::after { + box-sizing: border-box; +} + +html { + font-family: sans-serif; + line-height: 1.15; + -webkit-text-size-adjust: 100%; + -ms-text-size-adjust: 100%; + -ms-overflow-style: scrollbar; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); +} + +@-ms-viewport { + width: device-width; +} + +article, aside, figcaption, figure, footer, header, hgroup, main, nav, section { + display: block; +} + +body { + margin: 0; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #212529; + text-align: left; + background-color: #fff; +} + +[tabindex="-1"]:focus { + outline: 0 !important; +} + +hr { + box-sizing: content-box; + height: 0; + overflow: visible; +} + +h1, h2, h3, h4, h5, h6 { + margin-top: 0; + margin-bottom: 0.5rem; +} + +p { + margin-top: 0; + margin-bottom: 1rem; +} + +abbr[title], +abbr[data-original-title] { + text-decoration: underline; + -webkit-text-decoration: underline dotted; + text-decoration: underline dotted; + cursor: help; + border-bottom: 0; +} + +address { + margin-bottom: 1rem; + font-style: normal; + line-height: inherit; +} + +ol, +ul, +dl { + margin-top: 0; + margin-bottom: 1rem; +} + +ol ol, +ul ul, +ol ul, +ul ol { + margin-bottom: 0; +} + +dt { + font-weight: 700; +} + +dd { + margin-bottom: .5rem; + margin-left: 0; +} + +blockquote { + margin: 0 0 1rem; +} + +dfn { + font-style: italic; +} + +b, +strong { + font-weight: bolder; +} + +small { + font-size: 80%; +} + +sub, +sup { + position: relative; + font-size: 75%; + line-height: 0; + vertical-align: baseline; +} + +sub { + bottom: -.25em; +} + +sup { + top: -.5em; +} + +a { + color: #007bff; + text-decoration: none; + background-color: transparent; + -webkit-text-decoration-skip: objects; +} + +a:hover { + color: #0056b3; + text-decoration: underline; +} + +a:not([href]):not([tabindex]) { + color: inherit; + text-decoration: none; +} + +a:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus { + color: inherit; + text-decoration: none; +} + +a:not([href]):not([tabindex]):focus { + outline: 0; +} + +pre, +code, +kbd, +samp { + font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; + font-size: 1em; +} + +pre { + margin-top: 0; + margin-bottom: 1rem; + overflow: auto; + -ms-overflow-style: scrollbar; +} + +figure { + margin: 0 0 1rem; +} + +img { + vertical-align: middle; + border-style: none; +} + +svg { + overflow: hidden; + vertical-align: middle; +} + +table { + border-collapse: collapse; +} + +caption { + padding-top: 0.75rem; + padding-bottom: 0.75rem; + color: #6c757d; + text-align: left; + caption-side: bottom; +} + +th { + text-align: inherit; +} + +label { + display: inline-block; + margin-bottom: 0.5rem; +} + +button { + border-radius: 0; +} + +button:focus { + outline: 1px dotted; + outline: 5px auto -webkit-focus-ring-color; +} + +input, +button, +select, +optgroup, +textarea { + margin: 0; + font-family: inherit; + font-size: inherit; + line-height: inherit; +} + +button, +input { + overflow: visible; +} + +button, +select { + text-transform: none; +} + +button, +html [type="button"], +[type="reset"], +[type="submit"] { + -webkit-appearance: button; +} + +button::-moz-focus-inner, +[type="button"]::-moz-focus-inner, +[type="reset"]::-moz-focus-inner, +[type="submit"]::-moz-focus-inner { + padding: 0; + border-style: none; +} + +input[type="radio"], +input[type="checkbox"] { + box-sizing: border-box; + padding: 0; +} + +input[type="date"], +input[type="time"], +input[type="datetime-local"], +input[type="month"] { + -webkit-appearance: listbox; +} + +textarea { + overflow: auto; + resize: vertical; +} + +fieldset { + min-width: 0; + padding: 0; + margin: 0; + border: 0; +} + +legend { + display: block; + width: 100%; + max-width: 100%; + padding: 0; + margin-bottom: .5rem; + font-size: 1.5rem; + line-height: inherit; + color: inherit; + white-space: normal; +} + +progress { + vertical-align: baseline; +} + +[type="number"]::-webkit-inner-spin-button, +[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +[type="search"] { + outline-offset: -2px; + -webkit-appearance: none; +} + +[type="search"]::-webkit-search-cancel-button, +[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +::-webkit-file-upload-button { + font: inherit; + -webkit-appearance: button; +} + +output { + display: inline-block; +} + +summary { + display: list-item; + cursor: pointer; +} + +template { + display: none; +} + +[hidden] { + display: none !important; +} +/*# sourceMappingURL=bootstrap-reboot.css.map */ \ No newline at end of file diff --git a/docs/vendor/bootstrap-4.1.3/css/bootstrap-reboot.css.map b/docs/vendor/bootstrap-4.1.3/css/bootstrap-reboot.css.map new file mode 100644 index 00000000..3a17ed96 --- /dev/null +++ b/docs/vendor/bootstrap-4.1.3/css/bootstrap-reboot.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../scss/bootstrap-reboot.scss","../../scss/_reboot.scss","../../scss/_variables.scss","bootstrap-reboot.css","../../scss/mixins/_hover.scss"],"names":[],"mappings":"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","file":"bootstrap-reboot.css","sourcesContent":["/*!\n * Bootstrap Reboot v4.1.3 (https://getbootstrap.com/)\n * Copyright 2011-2018 The Bootstrap Authors\n * Copyright 2011-2018 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"reboot\";\n","// stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// 1. Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n// 2. Change the default font family in all browsers.\n// 3. Correct the line height in all browsers.\n// 4. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.\n// 5. Setting @viewport causes scrollbars to overlap content in IE11 and Edge, so\n// we force a non-overlapping, non-auto-hiding scrollbar to counteract.\n// 6. Change the default tap highlight to be completely transparent in iOS.\n\n*,\n*::before,\n*::after {\n box-sizing: border-box; // 1\n}\n\nhtml {\n font-family: sans-serif; // 2\n line-height: 1.15; // 3\n -webkit-text-size-adjust: 100%; // 4\n -ms-text-size-adjust: 100%; // 4\n -ms-overflow-style: scrollbar; // 5\n -webkit-tap-highlight-color: rgba($black, 0); // 6\n}\n\n// IE10+ doesn't honor `` in some cases.\n@at-root {\n @-ms-viewport {\n width: device-width;\n }\n}\n\n// stylelint-disable selector-list-comma-newline-after\n// Shim for \"new\" HTML5 structural elements to display correctly (IE10, older browsers)\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n// stylelint-enable selector-list-comma-newline-after\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Set an explicit initial text-align value so that we can later use the\n// the `inherit` value on things like `` elements.\n\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n font-size: $font-size-base;\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n text-align: left; // 3\n background-color: $body-bg; // 2\n}\n\n// Suppress the focus outline on elements that cannot be accessed via keyboard.\n// This prevents an unwanted focus outline from appearing around elements that\n// might still respond to pointer events.\n//\n// Credit: https://github.com/suitcss/base\n[tabindex=\"-1\"]:focus {\n outline: 0 !important;\n}\n\n\n// Content grouping\n//\n// 1. Add the correct box sizing in Firefox.\n// 2. Show the overflow in Edge and IE.\n\nhr {\n box-sizing: content-box; // 1\n height: 0; // 1\n overflow: visible; // 2\n}\n\n\n//\n// Typography\n//\n\n// Remove top margins from headings\n//\n// By default, `

`-`

` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n// stylelint-disable selector-list-comma-newline-after\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: $headings-margin-bottom;\n}\n// stylelint-enable selector-list-comma-newline-after\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `

`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n// Abbreviations\n//\n// 1. Remove the bottom border in Firefox 39-.\n// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Duplicate behavior to the data-* attribute for our tooltip plugin\n\nabbr[title],\nabbr[data-original-title] { // 4\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n border-bottom: 0; // 1\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // Undo browser default\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\ndfn {\n font-style: italic; // Add the correct font style in Android 4.3-\n}\n\n// stylelint-disable font-weight-notation\nb,\nstrong {\n font-weight: bolder; // Add the correct font weight in Chrome, Edge, and Safari\n}\n// stylelint-enable font-weight-notation\n\nsmall {\n font-size: 80%; // Add the correct font size in all browsers\n}\n\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n//\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n//\n// Links\n//\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n background-color: transparent; // Remove the gray background on active links in IE 10.\n -webkit-text-decoration-skip: objects; // Remove gaps in links underline in iOS 8+ and Safari 8+.\n\n @include hover {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href)\n// which have not been made explicitly keyboard-focusable (without tabindex).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n\n @include hover-focus {\n color: inherit;\n text-decoration: none;\n }\n\n &:focus {\n outline: 0;\n }\n}\n\n\n//\n// Code\n//\n\npre,\ncode,\nkbd,\nsamp {\n font-family: $font-family-monospace;\n font-size: 1em; // Correct the odd `em` font sizing in all browsers.\n}\n\npre {\n // Remove browser default top margin\n margin-top: 0;\n // Reset browser default of `1em` to use `rem`s\n margin-bottom: 1rem;\n // Don't allow content to break outside\n overflow: auto;\n // We have @viewport set which causes scrollbars to overlap content in IE11 and Edge, so\n // we force a non-overlapping, non-auto-hiding scrollbar to counteract.\n -ms-overflow-style: scrollbar;\n}\n\n\n//\n// Figures\n//\n\nfigure {\n // Apply a consistent margin strategy (matches our type styles).\n margin: 0 0 1rem;\n}\n\n\n//\n// Images and content\n//\n\nimg {\n vertical-align: middle;\n border-style: none; // Remove the border on images inside links in IE 10-.\n}\n\nsvg {\n // Workaround for the SVG overflow bug in IE10/11 is still required.\n // See https://github.com/twbs/bootstrap/issues/26878\n overflow: hidden;\n vertical-align: middle;\n}\n\n\n//\n// Tables\n//\n\ntable {\n border-collapse: collapse; // Prevent double borders\n}\n\ncaption {\n padding-top: $table-cell-padding;\n padding-bottom: $table-cell-padding;\n color: $table-caption-color;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n // Matches default `` alignment by inheriting from the ``, or the\n // closest parent with a set `text-align`.\n text-align: inherit;\n}\n\n\n//\n// Forms\n//\n\nlabel {\n // Allow labels to use `margin` for spacing.\n display: inline-block;\n margin-bottom: $label-margin-bottom;\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24093\nbutton {\n border-radius: 0;\n}\n\n// Work around a Firefox/IE bug where the transparent `button` background\n// results in a loss of the default `button` focus styles.\n//\n// Credit: https://github.com/suitcss/base/\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0; // Remove the margin in Firefox and Safari\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible; // Show the overflow in Edge\n}\n\nbutton,\nselect {\n text-transform: none; // Remove the inheritance of text transform in Firefox\n}\n\n// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n// controls in Android 4.\n// 2. Correct the inability to style clickable types in iOS and Safari.\nbutton,\nhtml [type=\"button\"], // 1\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button; // 2\n}\n\n// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box; // 1. Add the correct box sizing in IE 10-\n padding: 0; // 2. Remove the padding in IE 10-\n}\n\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n // Remove the default appearance of temporal inputs to avoid a Mobile Safari\n // bug where setting a custom line-height prevents text from being vertically\n // centered within the input.\n // See https://bugs.webkit.org/show_bug.cgi?id=139848\n // and https://github.com/twbs/bootstrap/issues/11266\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto; // Remove the default vertical scrollbar in IE.\n // Textareas should really only resize vertically so they don't break their (horizontal) containers.\n resize: vertical;\n}\n\nfieldset {\n // Browsers set a default `min-width: min-content;` on fieldsets,\n // unlike e.g. `

`s, which have `min-width: 0;` by default.\n // So we reset that to ensure fieldsets behave more like a standard block element.\n // See https://github.com/twbs/bootstrap/issues/12359\n // and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n min-width: 0;\n // Reset the default outline behavior of fieldsets so they don't affect page layout.\n padding: 0;\n margin: 0;\n border: 0;\n}\n\n// 1. Correct the text wrapping in Edge and IE.\n// 2. Correct the color inheritance from `fieldset` elements in IE.\nlegend {\n display: block;\n width: 100%;\n max-width: 100%; // 1\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit; // 2\n white-space: normal; // 1\n}\n\nprogress {\n vertical-align: baseline; // Add the correct vertical alignment in Chrome, Firefox, and Opera.\n}\n\n// Correct the cursor style of increment and decrement buttons in Chrome.\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n // This overrides the extra rounded corners on search inputs in iOS so that our\n // `.form-control` class can properly style them. Note that this cannot simply\n // be added to `.form-control` as it's not specific enough. For details, see\n // https://github.com/twbs/bootstrap/issues/11586.\n outline-offset: -2px; // 2. Correct the outline style in Safari.\n -webkit-appearance: none;\n}\n\n//\n// Remove the inner padding and cancel buttons in Chrome and Safari on macOS.\n//\n\n[type=\"search\"]::-webkit-search-cancel-button,\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n//\n// 1. Correct the inability to style clickable types in iOS and Safari.\n// 2. Change font properties to `inherit` in Safari.\n//\n\n::-webkit-file-upload-button {\n font: inherit; // 2\n -webkit-appearance: button; // 1\n}\n\n//\n// Correct element displays\n//\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item; // Add the correct display in all browsers\n cursor: pointer;\n}\n\ntemplate {\n display: none; // Add the correct display in IE\n}\n\n// Always hide an element with the `hidden` HTML attribute (from PureCSS).\n// Needed for proper display in IE 10-.\n[hidden] {\n display: none !important;\n}\n","// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.\n\n\n//\n// Color system\n//\n\n$white: #fff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #6c757d !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n$black: #000 !default;\n\n$grays: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$grays: map-merge(\n (\n \"100\": $gray-100,\n \"200\": $gray-200,\n \"300\": $gray-300,\n \"400\": $gray-400,\n \"500\": $gray-500,\n \"600\": $gray-600,\n \"700\": $gray-700,\n \"800\": $gray-800,\n \"900\": $gray-900\n ),\n $grays\n);\n\n\n$blue: #007bff !default;\n$indigo: #6610f2 !default;\n$purple: #6f42c1 !default;\n$pink: #e83e8c !default;\n$red: #dc3545 !default;\n$orange: #fd7e14 !default;\n$yellow: #ffc107 !default;\n$green: #28a745 !default;\n$teal: #20c997 !default;\n$cyan: #17a2b8 !default;\n\n$colors: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$colors: map-merge(\n (\n \"blue\": $blue,\n \"indigo\": $indigo,\n \"purple\": $purple,\n \"pink\": $pink,\n \"red\": $red,\n \"orange\": $orange,\n \"yellow\": $yellow,\n \"green\": $green,\n \"teal\": $teal,\n \"cyan\": $cyan,\n \"white\": $white,\n \"gray\": $gray-600,\n \"gray-dark\": $gray-800\n ),\n $colors\n);\n\n$primary: $blue !default;\n$secondary: $gray-600 !default;\n$success: $green !default;\n$info: $cyan !default;\n$warning: $yellow !default;\n$danger: $red !default;\n$light: $gray-100 !default;\n$dark: $gray-800 !default;\n\n$theme-colors: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$theme-colors: map-merge(\n (\n \"primary\": $primary,\n \"secondary\": $secondary,\n \"success\": $success,\n \"info\": $info,\n \"warning\": $warning,\n \"danger\": $danger,\n \"light\": $light,\n \"dark\": $dark\n ),\n $theme-colors\n);\n\n// Set a specific jump point for requesting color jumps\n$theme-color-interval: 8% !default;\n\n// The yiq lightness value that determines when the lightness of color changes from \"dark\" to \"light\". Acceptable values are between 0 and 255.\n$yiq-contrasted-threshold: 150 !default;\n\n// Customize the light and dark text colors for use in our YIQ color contrast function.\n$yiq-text-dark: $gray-900 !default;\n$yiq-text-light: $white !default;\n\n// Options\n//\n// Quickly modify global styling by enabling or disabling optional features.\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: false !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-hover-media-query: false !default; // Deprecated, no longer affects any compiled CSS\n$enable-grid-classes: true !default;\n$enable-print-styles: true !default;\n\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n$spacer: 1rem !default;\n$spacers: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$spacers: map-merge(\n (\n 0: 0,\n 1: ($spacer * .25),\n 2: ($spacer * .5),\n 3: $spacer,\n 4: ($spacer * 1.5),\n 5: ($spacer * 3)\n ),\n $spacers\n);\n\n// This variable affects the `.h-*` and `.w-*` classes.\n$sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$sizes: map-merge(\n (\n 25: 25%,\n 50: 50%,\n 75: 75%,\n 100: 100%,\n auto: auto\n ),\n $sizes\n);\n\n// Body\n//\n// Settings for the `` element.\n\n$body-bg: $white !default;\n$body-color: $gray-900 !default;\n\n// Links\n//\n// Style anchor elements.\n\n$link-color: theme-color(\"primary\") !default;\n$link-decoration: none !default;\n$link-hover-color: darken($link-color, 15%) !default;\n$link-hover-decoration: underline !default;\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom: 1rem !default;\n\n\n// Grid breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n$grid-breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 992px,\n xl: 1200px\n) !default;\n\n@include _assert-ascending($grid-breakpoints, \"$grid-breakpoints\");\n@include _assert-starts-at-zero($grid-breakpoints);\n\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1140px\n) !default;\n\n@include _assert-ascending($container-max-widths, \"$container-max-widths\");\n\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-width: 30px !default;\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n$line-height-lg: 1.5 !default;\n$line-height-sm: 1.5 !default;\n\n$border-width: 1px !default;\n$border-color: $gray-300 !default;\n\n$border-radius: .25rem !default;\n$border-radius-lg: .3rem !default;\n$border-radius-sm: .2rem !default;\n\n$box-shadow-sm: 0 .125rem .25rem rgba($black, .075) !default;\n$box-shadow: 0 .5rem 1rem rgba($black, .15) !default;\n$box-shadow-lg: 0 1rem 3rem rgba($black, .175) !default;\n\n$component-active-color: $white !default;\n$component-active-bg: theme-color(\"primary\") !default;\n\n$caret-width: .3em !default;\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n$transition-collapse: height .35s ease !default;\n\n\n// Fonts\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// stylelint-disable value-keyword-case\n$font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\" !default;\n$font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !default;\n$font-family-base: $font-family-sans-serif !default;\n// stylelint-enable value-keyword-case\n\n$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`\n$font-size-lg: ($font-size-base * 1.25) !default;\n$font-size-sm: ($font-size-base * .875) !default;\n\n$font-weight-light: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-bold: 700 !default;\n\n$font-weight-base: $font-weight-normal !default;\n$line-height-base: 1.5 !default;\n\n$h1-font-size: $font-size-base * 2.5 !default;\n$h2-font-size: $font-size-base * 2 !default;\n$h3-font-size: $font-size-base * 1.75 !default;\n$h4-font-size: $font-size-base * 1.5 !default;\n$h5-font-size: $font-size-base * 1.25 !default;\n$h6-font-size: $font-size-base !default;\n\n$headings-margin-bottom: ($spacer / 2) !default;\n$headings-font-family: inherit !default;\n$headings-font-weight: 500 !default;\n$headings-line-height: 1.2 !default;\n$headings-color: inherit !default;\n\n$display1-size: 6rem !default;\n$display2-size: 5.5rem !default;\n$display3-size: 4.5rem !default;\n$display4-size: 3.5rem !default;\n\n$display1-weight: 300 !default;\n$display2-weight: 300 !default;\n$display3-weight: 300 !default;\n$display4-weight: 300 !default;\n$display-line-height: $headings-line-height !default;\n\n$lead-font-size: ($font-size-base * 1.25) !default;\n$lead-font-weight: 300 !default;\n\n$small-font-size: 80% !default;\n\n$text-muted: $gray-600 !default;\n\n$blockquote-small-color: $gray-600 !default;\n$blockquote-font-size: ($font-size-base * 1.25) !default;\n\n$hr-border-color: rgba($black, .1) !default;\n$hr-border-width: $border-width !default;\n\n$mark-padding: .2em !default;\n\n$dt-font-weight: $font-weight-bold !default;\n\n$kbd-box-shadow: inset 0 -.1rem 0 rgba($black, .25) !default;\n$nested-kbd-font-weight: $font-weight-bold !default;\n\n$list-inline-padding: .5rem !default;\n\n$mark-bg: #fcf8e3 !default;\n\n$hr-margin-y: $spacer !default;\n\n\n// Tables\n//\n// Customizes the `.table` component with basic values, each used across all table variations.\n\n$table-cell-padding: .75rem !default;\n$table-cell-padding-sm: .3rem !default;\n\n$table-bg: transparent !default;\n$table-accent-bg: rgba($black, .05) !default;\n$table-hover-bg: rgba($black, .075) !default;\n$table-active-bg: $table-hover-bg !default;\n\n$table-border-width: $border-width !default;\n$table-border-color: $gray-300 !default;\n\n$table-head-bg: $gray-200 !default;\n$table-head-color: $gray-700 !default;\n\n$table-dark-bg: $gray-900 !default;\n$table-dark-accent-bg: rgba($white, .05) !default;\n$table-dark-hover-bg: rgba($white, .075) !default;\n$table-dark-border-color: lighten($gray-900, 7.5%) !default;\n$table-dark-color: $body-bg !default;\n\n$table-striped-order: odd !default;\n\n$table-caption-color: $text-muted !default;\n\n// Buttons + Forms\n//\n// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.\n\n$input-btn-padding-y: .375rem !default;\n$input-btn-padding-x: .75rem !default;\n$input-btn-line-height: $line-height-base !default;\n\n$input-btn-focus-width: .2rem !default;\n$input-btn-focus-color: rgba($component-active-bg, .25) !default;\n$input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color !default;\n\n$input-btn-padding-y-sm: .25rem !default;\n$input-btn-padding-x-sm: .5rem !default;\n$input-btn-line-height-sm: $line-height-sm !default;\n\n$input-btn-padding-y-lg: .5rem !default;\n$input-btn-padding-x-lg: 1rem !default;\n$input-btn-line-height-lg: $line-height-lg !default;\n\n$input-btn-border-width: $border-width !default;\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background, and border color.\n\n$btn-padding-y: $input-btn-padding-y !default;\n$btn-padding-x: $input-btn-padding-x !default;\n$btn-line-height: $input-btn-line-height !default;\n\n$btn-padding-y-sm: $input-btn-padding-y-sm !default;\n$btn-padding-x-sm: $input-btn-padding-x-sm !default;\n$btn-line-height-sm: $input-btn-line-height-sm !default;\n\n$btn-padding-y-lg: $input-btn-padding-y-lg !default;\n$btn-padding-x-lg: $input-btn-padding-x-lg !default;\n$btn-line-height-lg: $input-btn-line-height-lg !default;\n\n$btn-border-width: $input-btn-border-width !default;\n\n$btn-font-weight: $font-weight-normal !default;\n$btn-box-shadow: inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default;\n$btn-focus-width: $input-btn-focus-width !default;\n$btn-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$btn-disabled-opacity: .65 !default;\n$btn-active-box-shadow: inset 0 3px 5px rgba($black, .125) !default;\n\n$btn-link-disabled-color: $gray-600 !default;\n\n$btn-block-spacing-y: .5rem !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius: $border-radius !default;\n$btn-border-radius-lg: $border-radius-lg !default;\n$btn-border-radius-sm: $border-radius-sm !default;\n\n$btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n\n// Forms\n\n$label-margin-bottom: .5rem !default;\n\n$input-padding-y: $input-btn-padding-y !default;\n$input-padding-x: $input-btn-padding-x !default;\n$input-line-height: $input-btn-line-height !default;\n\n$input-padding-y-sm: $input-btn-padding-y-sm !default;\n$input-padding-x-sm: $input-btn-padding-x-sm !default;\n$input-line-height-sm: $input-btn-line-height-sm !default;\n\n$input-padding-y-lg: $input-btn-padding-y-lg !default;\n$input-padding-x-lg: $input-btn-padding-x-lg !default;\n$input-line-height-lg: $input-btn-line-height-lg !default;\n\n$input-bg: $white !default;\n$input-disabled-bg: $gray-200 !default;\n\n$input-color: $gray-700 !default;\n$input-border-color: $gray-400 !default;\n$input-border-width: $input-btn-border-width !default;\n$input-box-shadow: inset 0 1px 1px rgba($black, .075) !default;\n\n$input-border-radius: $border-radius !default;\n$input-border-radius-lg: $border-radius-lg !default;\n$input-border-radius-sm: $border-radius-sm !default;\n\n$input-focus-bg: $input-bg !default;\n$input-focus-border-color: lighten($component-active-bg, 25%) !default;\n$input-focus-color: $input-color !default;\n$input-focus-width: $input-btn-focus-width !default;\n$input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$input-placeholder-color: $gray-600 !default;\n$input-plaintext-color: $body-color !default;\n\n$input-height-border: $input-border-width * 2 !default;\n\n$input-height-inner: ($font-size-base * $input-btn-line-height) + ($input-btn-padding-y * 2) !default;\n$input-height: calc(#{$input-height-inner} + #{$input-height-border}) !default;\n\n$input-height-inner-sm: ($font-size-sm * $input-btn-line-height-sm) + ($input-btn-padding-y-sm * 2) !default;\n$input-height-sm: calc(#{$input-height-inner-sm} + #{$input-height-border}) !default;\n\n$input-height-inner-lg: ($font-size-lg * $input-btn-line-height-lg) + ($input-btn-padding-y-lg * 2) !default;\n$input-height-lg: calc(#{$input-height-inner-lg} + #{$input-height-border}) !default;\n\n$input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$form-text-margin-top: .25rem !default;\n\n$form-check-input-gutter: 1.25rem !default;\n$form-check-input-margin-y: .3rem !default;\n$form-check-input-margin-x: .25rem !default;\n\n$form-check-inline-margin-x: .75rem !default;\n$form-check-inline-input-margin-x: .3125rem !default;\n\n$form-group-margin-bottom: 1rem !default;\n\n$input-group-addon-color: $input-color !default;\n$input-group-addon-bg: $gray-200 !default;\n$input-group-addon-border-color: $input-border-color !default;\n\n$custom-forms-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$custom-control-gutter: 1.5rem !default;\n$custom-control-spacer-x: 1rem !default;\n\n$custom-control-indicator-size: 1rem !default;\n$custom-control-indicator-bg: $gray-300 !default;\n$custom-control-indicator-bg-size: 50% 50% !default;\n$custom-control-indicator-box-shadow: inset 0 .25rem .25rem rgba($black, .1) !default;\n\n$custom-control-indicator-disabled-bg: $gray-200 !default;\n$custom-control-label-disabled-color: $gray-600 !default;\n\n$custom-control-indicator-checked-color: $component-active-color !default;\n$custom-control-indicator-checked-bg: $component-active-bg !default;\n$custom-control-indicator-checked-disabled-bg: rgba(theme-color(\"primary\"), .5) !default;\n$custom-control-indicator-checked-box-shadow: none !default;\n\n$custom-control-indicator-focus-box-shadow: 0 0 0 1px $body-bg, $input-btn-focus-box-shadow !default;\n\n$custom-control-indicator-active-color: $component-active-color !default;\n$custom-control-indicator-active-bg: lighten($component-active-bg, 35%) !default;\n$custom-control-indicator-active-box-shadow: none !default;\n\n$custom-checkbox-indicator-border-radius: $border-radius !default;\n$custom-checkbox-indicator-icon-checked: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='#{$custom-control-indicator-checked-color}' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n\n$custom-checkbox-indicator-indeterminate-bg: $component-active-bg !default;\n$custom-checkbox-indicator-indeterminate-color: $custom-control-indicator-checked-color !default;\n$custom-checkbox-indicator-icon-indeterminate: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='#{$custom-checkbox-indicator-indeterminate-color}' d='M0 2h4'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$custom-checkbox-indicator-indeterminate-box-shadow: none !default;\n\n$custom-radio-indicator-border-radius: 50% !default;\n$custom-radio-indicator-icon-checked: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='#{$custom-control-indicator-checked-color}'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n\n$custom-select-padding-y: .375rem !default;\n$custom-select-padding-x: .75rem !default;\n$custom-select-height: $input-height !default;\n$custom-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator\n$custom-select-line-height: $input-btn-line-height !default;\n$custom-select-color: $input-color !default;\n$custom-select-disabled-color: $gray-600 !default;\n$custom-select-bg: $input-bg !default;\n$custom-select-disabled-bg: $gray-200 !default;\n$custom-select-bg-size: 8px 10px !default; // In pixels because image dimensions\n$custom-select-indicator-color: $gray-800 !default;\n$custom-select-indicator: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='#{$custom-select-indicator-color}' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$custom-select-border-width: $input-btn-border-width !default;\n$custom-select-border-color: $input-border-color !default;\n$custom-select-border-radius: $border-radius !default;\n$custom-select-box-shadow: inset 0 1px 2px rgba($black, .075) !default;\n\n$custom-select-focus-border-color: $input-focus-border-color !default;\n$custom-select-focus-width: $input-btn-focus-width !default;\n$custom-select-focus-box-shadow: 0 0 0 $custom-select-focus-width rgba($custom-select-focus-border-color, .5) !default;\n\n$custom-select-font-size-sm: 75% !default;\n$custom-select-height-sm: $input-height-sm !default;\n\n$custom-select-font-size-lg: 125% !default;\n$custom-select-height-lg: $input-height-lg !default;\n\n$custom-range-track-width: 100% !default;\n$custom-range-track-height: .5rem !default;\n$custom-range-track-cursor: pointer !default;\n$custom-range-track-bg: $gray-300 !default;\n$custom-range-track-border-radius: 1rem !default;\n$custom-range-track-box-shadow: inset 0 .25rem .25rem rgba($black, .1) !default;\n\n$custom-range-thumb-width: 1rem !default;\n$custom-range-thumb-height: $custom-range-thumb-width !default;\n$custom-range-thumb-bg: $component-active-bg !default;\n$custom-range-thumb-border: 0 !default;\n$custom-range-thumb-border-radius: 1rem !default;\n$custom-range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1) !default;\n$custom-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg, $input-btn-focus-box-shadow !default;\n$custom-range-thumb-focus-box-shadow-width: $input-btn-focus-width !default; // For focus box shadow issue in IE/Edge\n$custom-range-thumb-active-bg: lighten($component-active-bg, 35%) !default;\n\n$custom-file-height: $input-height !default;\n$custom-file-height-inner: $input-height-inner !default;\n$custom-file-focus-border-color: $input-focus-border-color !default;\n$custom-file-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$custom-file-disabled-bg: $input-disabled-bg !default;\n\n$custom-file-padding-y: $input-btn-padding-y !default;\n$custom-file-padding-x: $input-btn-padding-x !default;\n$custom-file-line-height: $input-btn-line-height !default;\n$custom-file-color: $input-color !default;\n$custom-file-bg: $input-bg !default;\n$custom-file-border-width: $input-btn-border-width !default;\n$custom-file-border-color: $input-border-color !default;\n$custom-file-border-radius: $input-border-radius !default;\n$custom-file-box-shadow: $input-box-shadow !default;\n$custom-file-button-color: $custom-file-color !default;\n$custom-file-button-bg: $input-group-addon-bg !default;\n$custom-file-text: (\n en: \"Browse\"\n) !default;\n\n\n// Form validation\n$form-feedback-margin-top: $form-text-margin-top !default;\n$form-feedback-font-size: $small-font-size !default;\n$form-feedback-valid-color: theme-color(\"success\") !default;\n$form-feedback-invalid-color: theme-color(\"danger\") !default;\n\n\n// Dropdowns\n//\n// Dropdown menu container and contents.\n\n$dropdown-min-width: 10rem !default;\n$dropdown-padding-y: .5rem !default;\n$dropdown-spacer: .125rem !default;\n$dropdown-bg: $white !default;\n$dropdown-border-color: rgba($black, .15) !default;\n$dropdown-border-radius: $border-radius !default;\n$dropdown-border-width: $border-width !default;\n$dropdown-divider-bg: $gray-200 !default;\n$dropdown-box-shadow: 0 .5rem 1rem rgba($black, .175) !default;\n\n$dropdown-link-color: $gray-900 !default;\n$dropdown-link-hover-color: darken($gray-900, 5%) !default;\n$dropdown-link-hover-bg: $gray-100 !default;\n\n$dropdown-link-active-color: $component-active-color !default;\n$dropdown-link-active-bg: $component-active-bg !default;\n\n$dropdown-link-disabled-color: $gray-600 !default;\n\n$dropdown-item-padding-y: .25rem !default;\n$dropdown-item-padding-x: 1.5rem !default;\n\n$dropdown-header-color: $gray-600 !default;\n\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n$zindex-dropdown: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-modal-backdrop: 1040 !default;\n$zindex-modal: 1050 !default;\n$zindex-popover: 1060 !default;\n$zindex-tooltip: 1070 !default;\n\n// Navs\n\n$nav-link-padding-y: .5rem !default;\n$nav-link-padding-x: 1rem !default;\n$nav-link-disabled-color: $gray-600 !default;\n\n$nav-tabs-border-color: $gray-300 !default;\n$nav-tabs-border-width: $border-width !default;\n$nav-tabs-border-radius: $border-radius !default;\n$nav-tabs-link-hover-border-color: $gray-200 $gray-200 $nav-tabs-border-color !default;\n$nav-tabs-link-active-color: $gray-700 !default;\n$nav-tabs-link-active-bg: $body-bg !default;\n$nav-tabs-link-active-border-color: $gray-300 $gray-300 $nav-tabs-link-active-bg !default;\n\n$nav-pills-border-radius: $border-radius !default;\n$nav-pills-link-active-color: $component-active-color !default;\n$nav-pills-link-active-bg: $component-active-bg !default;\n\n$nav-divider-color: $gray-200 !default;\n$nav-divider-margin-y: ($spacer / 2) !default;\n\n// Navbar\n\n$navbar-padding-y: ($spacer / 2) !default;\n$navbar-padding-x: $spacer !default;\n\n$navbar-nav-link-padding-x: .5rem !default;\n\n$navbar-brand-font-size: $font-size-lg !default;\n// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link\n$nav-link-height: ($font-size-base * $line-height-base + $nav-link-padding-y * 2) !default;\n$navbar-brand-height: $navbar-brand-font-size * $line-height-base !default;\n$navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) / 2 !default;\n\n$navbar-toggler-padding-y: .25rem !default;\n$navbar-toggler-padding-x: .75rem !default;\n$navbar-toggler-font-size: $font-size-lg !default;\n$navbar-toggler-border-radius: $btn-border-radius !default;\n\n$navbar-dark-color: rgba($white, .5) !default;\n$navbar-dark-hover-color: rgba($white, .75) !default;\n$navbar-dark-active-color: $white !default;\n$navbar-dark-disabled-color: rgba($white, .25) !default;\n$navbar-dark-toggler-icon-bg: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='#{$navbar-dark-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$navbar-dark-toggler-border-color: rgba($white, .1) !default;\n\n$navbar-light-color: rgba($black, .5) !default;\n$navbar-light-hover-color: rgba($black, .7) !default;\n$navbar-light-active-color: rgba($black, .9) !default;\n$navbar-light-disabled-color: rgba($black, .3) !default;\n$navbar-light-toggler-icon-bg: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='#{$navbar-light-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$navbar-light-toggler-border-color: rgba($black, .1) !default;\n\n// Pagination\n\n$pagination-padding-y: .5rem !default;\n$pagination-padding-x: .75rem !default;\n$pagination-padding-y-sm: .25rem !default;\n$pagination-padding-x-sm: .5rem !default;\n$pagination-padding-y-lg: .75rem !default;\n$pagination-padding-x-lg: 1.5rem !default;\n$pagination-line-height: 1.25 !default;\n\n$pagination-color: $link-color !default;\n$pagination-bg: $white !default;\n$pagination-border-width: $border-width !default;\n$pagination-border-color: $gray-300 !default;\n\n$pagination-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$pagination-focus-outline: 0 !default;\n\n$pagination-hover-color: $link-hover-color !default;\n$pagination-hover-bg: $gray-200 !default;\n$pagination-hover-border-color: $gray-300 !default;\n\n$pagination-active-color: $component-active-color !default;\n$pagination-active-bg: $component-active-bg !default;\n$pagination-active-border-color: $pagination-active-bg !default;\n\n$pagination-disabled-color: $gray-600 !default;\n$pagination-disabled-bg: $white !default;\n$pagination-disabled-border-color: $gray-300 !default;\n\n\n// Jumbotron\n\n$jumbotron-padding: 2rem !default;\n$jumbotron-bg: $gray-200 !default;\n\n\n// Cards\n\n$card-spacer-y: .75rem !default;\n$card-spacer-x: 1.25rem !default;\n$card-border-width: $border-width !default;\n$card-border-radius: $border-radius !default;\n$card-border-color: rgba($black, .125) !default;\n$card-inner-border-radius: calc(#{$card-border-radius} - #{$card-border-width}) !default;\n$card-cap-bg: rgba($black, .03) !default;\n$card-bg: $white !default;\n\n$card-img-overlay-padding: 1.25rem !default;\n\n$card-group-margin: ($grid-gutter-width / 2) !default;\n$card-deck-margin: $card-group-margin !default;\n\n$card-columns-count: 3 !default;\n$card-columns-gap: 1.25rem !default;\n$card-columns-margin: $card-spacer-y !default;\n\n\n// Tooltips\n\n$tooltip-font-size: $font-size-sm !default;\n$tooltip-max-width: 200px !default;\n$tooltip-color: $white !default;\n$tooltip-bg: $black !default;\n$tooltip-border-radius: $border-radius !default;\n$tooltip-opacity: .9 !default;\n$tooltip-padding-y: .25rem !default;\n$tooltip-padding-x: .5rem !default;\n$tooltip-margin: 0 !default;\n\n$tooltip-arrow-width: .8rem !default;\n$tooltip-arrow-height: .4rem !default;\n$tooltip-arrow-color: $tooltip-bg !default;\n\n\n// Popovers\n\n$popover-font-size: $font-size-sm !default;\n$popover-bg: $white !default;\n$popover-max-width: 276px !default;\n$popover-border-width: $border-width !default;\n$popover-border-color: rgba($black, .2) !default;\n$popover-border-radius: $border-radius-lg !default;\n$popover-box-shadow: 0 .25rem .5rem rgba($black, .2) !default;\n\n$popover-header-bg: darken($popover-bg, 3%) !default;\n$popover-header-color: $headings-color !default;\n$popover-header-padding-y: .5rem !default;\n$popover-header-padding-x: .75rem !default;\n\n$popover-body-color: $body-color !default;\n$popover-body-padding-y: $popover-header-padding-y !default;\n$popover-body-padding-x: $popover-header-padding-x !default;\n\n$popover-arrow-width: 1rem !default;\n$popover-arrow-height: .5rem !default;\n$popover-arrow-color: $popover-bg !default;\n\n$popover-arrow-outer-color: fade-in($popover-border-color, .05) !default;\n\n\n// Badges\n\n$badge-font-size: 75% !default;\n$badge-font-weight: $font-weight-bold !default;\n$badge-padding-y: .25em !default;\n$badge-padding-x: .4em !default;\n$badge-border-radius: $border-radius !default;\n\n$badge-pill-padding-x: .6em !default;\n// Use a higher than normal value to ensure completely rounded edges when\n// customizing padding or font-size on labels.\n$badge-pill-border-radius: 10rem !default;\n\n\n// Modals\n\n// Padding applied to the modal body\n$modal-inner-padding: 1rem !default;\n\n$modal-dialog-margin: .5rem !default;\n$modal-dialog-margin-y-sm-up: 1.75rem !default;\n\n$modal-title-line-height: $line-height-base !default;\n\n$modal-content-bg: $white !default;\n$modal-content-border-color: rgba($black, .2) !default;\n$modal-content-border-width: $border-width !default;\n$modal-content-border-radius: $border-radius-lg !default;\n$modal-content-box-shadow-xs: 0 .25rem .5rem rgba($black, .5) !default;\n$modal-content-box-shadow-sm-up: 0 .5rem 1rem rgba($black, .5) !default;\n\n$modal-backdrop-bg: $black !default;\n$modal-backdrop-opacity: .5 !default;\n$modal-header-border-color: $gray-200 !default;\n$modal-footer-border-color: $modal-header-border-color !default;\n$modal-header-border-width: $modal-content-border-width !default;\n$modal-footer-border-width: $modal-header-border-width !default;\n$modal-header-padding: 1rem !default;\n\n$modal-lg: 800px !default;\n$modal-md: 500px !default;\n$modal-sm: 300px !default;\n\n$modal-transition: transform .3s ease-out !default;\n\n\n// Alerts\n//\n// Define alert colors, border radius, and padding.\n\n$alert-padding-y: .75rem !default;\n$alert-padding-x: 1.25rem !default;\n$alert-margin-bottom: 1rem !default;\n$alert-border-radius: $border-radius !default;\n$alert-link-font-weight: $font-weight-bold !default;\n$alert-border-width: $border-width !default;\n\n$alert-bg-level: -10 !default;\n$alert-border-level: -9 !default;\n$alert-color-level: 6 !default;\n\n\n// Progress bars\n\n$progress-height: 1rem !default;\n$progress-font-size: ($font-size-base * .75) !default;\n$progress-bg: $gray-200 !default;\n$progress-border-radius: $border-radius !default;\n$progress-box-shadow: inset 0 .1rem .1rem rgba($black, .1) !default;\n$progress-bar-color: $white !default;\n$progress-bar-bg: theme-color(\"primary\") !default;\n$progress-bar-animation-timing: 1s linear infinite !default;\n$progress-bar-transition: width .6s ease !default;\n\n// List group\n\n$list-group-bg: $white !default;\n$list-group-border-color: rgba($black, .125) !default;\n$list-group-border-width: $border-width !default;\n$list-group-border-radius: $border-radius !default;\n\n$list-group-item-padding-y: .75rem !default;\n$list-group-item-padding-x: 1.25rem !default;\n\n$list-group-hover-bg: $gray-100 !default;\n$list-group-active-color: $component-active-color !default;\n$list-group-active-bg: $component-active-bg !default;\n$list-group-active-border-color: $list-group-active-bg !default;\n\n$list-group-disabled-color: $gray-600 !default;\n$list-group-disabled-bg: $list-group-bg !default;\n\n$list-group-action-color: $gray-700 !default;\n$list-group-action-hover-color: $list-group-action-color !default;\n\n$list-group-action-active-color: $body-color !default;\n$list-group-action-active-bg: $gray-200 !default;\n\n\n// Image thumbnails\n\n$thumbnail-padding: .25rem !default;\n$thumbnail-bg: $body-bg !default;\n$thumbnail-border-width: $border-width !default;\n$thumbnail-border-color: $gray-300 !default;\n$thumbnail-border-radius: $border-radius !default;\n$thumbnail-box-shadow: 0 1px 2px rgba($black, .075) !default;\n\n\n// Figures\n\n$figure-caption-font-size: 90% !default;\n$figure-caption-color: $gray-600 !default;\n\n\n// Breadcrumbs\n\n$breadcrumb-padding-y: .75rem !default;\n$breadcrumb-padding-x: 1rem !default;\n$breadcrumb-item-padding: .5rem !default;\n\n$breadcrumb-margin-bottom: 1rem !default;\n\n$breadcrumb-bg: $gray-200 !default;\n$breadcrumb-divider-color: $gray-600 !default;\n$breadcrumb-active-color: $gray-600 !default;\n$breadcrumb-divider: quote(\"/\") !default;\n\n$breadcrumb-border-radius: $border-radius !default;\n\n\n// Carousel\n\n$carousel-control-color: $white !default;\n$carousel-control-width: 15% !default;\n$carousel-control-opacity: .5 !default;\n\n$carousel-indicator-width: 30px !default;\n$carousel-indicator-height: 3px !default;\n$carousel-indicator-spacer: 3px !default;\n$carousel-indicator-active-bg: $white !default;\n\n$carousel-caption-width: 70% !default;\n$carousel-caption-color: $white !default;\n\n$carousel-control-icon-width: 20px !default;\n\n$carousel-control-prev-icon-bg: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$carousel-control-next-icon-bg: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n\n$carousel-transition: transform .6s ease !default; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`)\n\n\n// Close\n\n$close-font-size: $font-size-base * 1.5 !default;\n$close-font-weight: $font-weight-bold !default;\n$close-color: $black !default;\n$close-text-shadow: 0 1px 0 $white !default;\n\n// Code\n\n$code-font-size: 87.5% !default;\n$code-color: $pink !default;\n\n$kbd-padding-y: .2rem !default;\n$kbd-padding-x: .4rem !default;\n$kbd-font-size: $code-font-size !default;\n$kbd-color: $white !default;\n$kbd-bg: $gray-900 !default;\n\n$pre-color: $gray-900 !default;\n$pre-scrollable-max-height: 340px !default;\n\n\n// Printing\n$print-page-size: a3 !default;\n$print-body-min-width: map-get($grid-breakpoints, \"lg\") !default;\n","/*!\n * Bootstrap Reboot v4.1.3 (https://getbootstrap.com/)\n * Copyright 2011-2018 The Bootstrap Authors\n * Copyright 2011-2018 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nhtml {\n font-family: sans-serif;\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n -ms-text-size-adjust: 100%;\n -ms-overflow-style: scrollbar;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\n@-ms-viewport {\n width: device-width;\n}\n\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: left;\n background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus {\n outline: 0 !important;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n text-decoration: underline dotted;\n cursor: help;\n border-bottom: 0;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\ndfn {\n font-style: italic;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #007bff;\n text-decoration: none;\n background-color: transparent;\n -webkit-text-decoration-skip: objects;\n}\n\na:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus {\n outline: 0;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n font-size: 1em;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n -ms-overflow-style: scrollbar;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n border-style: none;\n}\n\nsvg {\n overflow: hidden;\n vertical-align: middle;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #6c757d;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: inherit;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: 0.5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nbutton,\nhtml [type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n max-width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: none;\n}\n\n[type=\"search\"]::-webkit-search-cancel-button,\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none !important;\n}\n\n/*# sourceMappingURL=bootstrap-reboot.css.map */","// Hover mixin and `$enable-hover-media-query` are deprecated.\n//\n// Originally added during our alphas and maintained during betas, this mixin was\n// designed to prevent `:hover` stickiness on iOS-an issue where hover styles\n// would persist after initial touch.\n//\n// For backward compatibility, we've kept these mixins and updated them to\n// always return their regular pseudo-classes instead of a shimmed media query.\n//\n// Issue: https://github.com/twbs/bootstrap/issues/25195\n\n@mixin hover {\n &:hover { @content; }\n}\n\n@mixin hover-focus {\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin plain-hover-focus {\n &,\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin hover-focus-active {\n &:hover,\n &:focus,\n &:active {\n @content;\n }\n}\n"]} \ No newline at end of file diff --git a/docs/vendor/bootstrap-4.1.3/css/bootstrap-reboot.min.css b/docs/vendor/bootstrap-4.1.3/css/bootstrap-reboot.min.css new file mode 100644 index 00000000..402715d5 --- /dev/null +++ b/docs/vendor/bootstrap-4.1.3/css/bootstrap-reboot.min.css @@ -0,0 +1,8 @@ +/*! + * Bootstrap Reboot v4.1.3 (https://getbootstrap.com/) + * Copyright 2011-2018 The Bootstrap Authors + * Copyright 2011-2018 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) + */*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:transparent}@-ms-viewport{width:device-width}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus{outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent;-webkit-text-decoration-skip:objects}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([tabindex]){color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto;-ms-overflow-style:scrollbar}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important} +/*# sourceMappingURL=bootstrap-reboot.min.css.map */ \ No newline at end of file diff --git a/docs/vendor/bootstrap-4.1.3/css/bootstrap-reboot.min.css.map b/docs/vendor/bootstrap-4.1.3/css/bootstrap-reboot.min.css.map new file mode 100644 index 00000000..2d7932cd --- /dev/null +++ b/docs/vendor/bootstrap-4.1.3/css/bootstrap-reboot.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../scss/bootstrap-reboot.scss","../../scss/_reboot.scss","dist/css/bootstrap-reboot.css","bootstrap-reboot.css","../../scss/mixins/_hover.scss"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Bootstrap Reboot v4.1.3 (https://getbootstrap.com/)\n * Copyright 2011-2018 The Bootstrap Authors\n * Copyright 2011-2018 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"reboot\";\n","// stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// 1. Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n// 2. Change the default font family in all browsers.\n// 3. Correct the line height in all browsers.\n// 4. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.\n// 5. Setting @viewport causes scrollbars to overlap content in IE11 and Edge, so\n// we force a non-overlapping, non-auto-hiding scrollbar to counteract.\n// 6. Change the default tap highlight to be completely transparent in iOS.\n\n*,\n*::before,\n*::after {\n box-sizing: border-box; // 1\n}\n\nhtml {\n font-family: sans-serif; // 2\n line-height: 1.15; // 3\n -webkit-text-size-adjust: 100%; // 4\n -ms-text-size-adjust: 100%; // 4\n -ms-overflow-style: scrollbar; // 5\n -webkit-tap-highlight-color: rgba($black, 0); // 6\n}\n\n// IE10+ doesn't honor `` in some cases.\n@at-root {\n @-ms-viewport {\n width: device-width;\n }\n}\n\n// stylelint-disable selector-list-comma-newline-after\n// Shim for \"new\" HTML5 structural elements to display correctly (IE10, older browsers)\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n// stylelint-enable selector-list-comma-newline-after\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Set an explicit initial text-align value so that we can later use the\n// the `inherit` value on things like `` elements.\n\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n font-size: $font-size-base;\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n text-align: left; // 3\n background-color: $body-bg; // 2\n}\n\n// Suppress the focus outline on elements that cannot be accessed via keyboard.\n// This prevents an unwanted focus outline from appearing around elements that\n// might still respond to pointer events.\n//\n// Credit: https://github.com/suitcss/base\n[tabindex=\"-1\"]:focus {\n outline: 0 !important;\n}\n\n\n// Content grouping\n//\n// 1. Add the correct box sizing in Firefox.\n// 2. Show the overflow in Edge and IE.\n\nhr {\n box-sizing: content-box; // 1\n height: 0; // 1\n overflow: visible; // 2\n}\n\n\n//\n// Typography\n//\n\n// Remove top margins from headings\n//\n// By default, `

`-`

` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n// stylelint-disable selector-list-comma-newline-after\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: $headings-margin-bottom;\n}\n// stylelint-enable selector-list-comma-newline-after\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `

`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n// Abbreviations\n//\n// 1. Remove the bottom border in Firefox 39-.\n// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Duplicate behavior to the data-* attribute for our tooltip plugin\n\nabbr[title],\nabbr[data-original-title] { // 4\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n border-bottom: 0; // 1\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // Undo browser default\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\ndfn {\n font-style: italic; // Add the correct font style in Android 4.3-\n}\n\n// stylelint-disable font-weight-notation\nb,\nstrong {\n font-weight: bolder; // Add the correct font weight in Chrome, Edge, and Safari\n}\n// stylelint-enable font-weight-notation\n\nsmall {\n font-size: 80%; // Add the correct font size in all browsers\n}\n\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n//\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n//\n// Links\n//\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n background-color: transparent; // Remove the gray background on active links in IE 10.\n -webkit-text-decoration-skip: objects; // Remove gaps in links underline in iOS 8+ and Safari 8+.\n\n @include hover {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href)\n// which have not been made explicitly keyboard-focusable (without tabindex).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n\n @include hover-focus {\n color: inherit;\n text-decoration: none;\n }\n\n &:focus {\n outline: 0;\n }\n}\n\n\n//\n// Code\n//\n\npre,\ncode,\nkbd,\nsamp {\n font-family: $font-family-monospace;\n font-size: 1em; // Correct the odd `em` font sizing in all browsers.\n}\n\npre {\n // Remove browser default top margin\n margin-top: 0;\n // Reset browser default of `1em` to use `rem`s\n margin-bottom: 1rem;\n // Don't allow content to break outside\n overflow: auto;\n // We have @viewport set which causes scrollbars to overlap content in IE11 and Edge, so\n // we force a non-overlapping, non-auto-hiding scrollbar to counteract.\n -ms-overflow-style: scrollbar;\n}\n\n\n//\n// Figures\n//\n\nfigure {\n // Apply a consistent margin strategy (matches our type styles).\n margin: 0 0 1rem;\n}\n\n\n//\n// Images and content\n//\n\nimg {\n vertical-align: middle;\n border-style: none; // Remove the border on images inside links in IE 10-.\n}\n\nsvg {\n // Workaround for the SVG overflow bug in IE10/11 is still required.\n // See https://github.com/twbs/bootstrap/issues/26878\n overflow: hidden;\n vertical-align: middle;\n}\n\n\n//\n// Tables\n//\n\ntable {\n border-collapse: collapse; // Prevent double borders\n}\n\ncaption {\n padding-top: $table-cell-padding;\n padding-bottom: $table-cell-padding;\n color: $table-caption-color;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n // Matches default `` alignment by inheriting from the ``, or the\n // closest parent with a set `text-align`.\n text-align: inherit;\n}\n\n\n//\n// Forms\n//\n\nlabel {\n // Allow labels to use `margin` for spacing.\n display: inline-block;\n margin-bottom: $label-margin-bottom;\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24093\nbutton {\n border-radius: 0;\n}\n\n// Work around a Firefox/IE bug where the transparent `button` background\n// results in a loss of the default `button` focus styles.\n//\n// Credit: https://github.com/suitcss/base/\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0; // Remove the margin in Firefox and Safari\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible; // Show the overflow in Edge\n}\n\nbutton,\nselect {\n text-transform: none; // Remove the inheritance of text transform in Firefox\n}\n\n// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n// controls in Android 4.\n// 2. Correct the inability to style clickable types in iOS and Safari.\nbutton,\nhtml [type=\"button\"], // 1\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button; // 2\n}\n\n// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box; // 1. Add the correct box sizing in IE 10-\n padding: 0; // 2. Remove the padding in IE 10-\n}\n\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n // Remove the default appearance of temporal inputs to avoid a Mobile Safari\n // bug where setting a custom line-height prevents text from being vertically\n // centered within the input.\n // See https://bugs.webkit.org/show_bug.cgi?id=139848\n // and https://github.com/twbs/bootstrap/issues/11266\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto; // Remove the default vertical scrollbar in IE.\n // Textareas should really only resize vertically so they don't break their (horizontal) containers.\n resize: vertical;\n}\n\nfieldset {\n // Browsers set a default `min-width: min-content;` on fieldsets,\n // unlike e.g. `

`s, which have `min-width: 0;` by default.\n // So we reset that to ensure fieldsets behave more like a standard block element.\n // See https://github.com/twbs/bootstrap/issues/12359\n // and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n min-width: 0;\n // Reset the default outline behavior of fieldsets so they don't affect page layout.\n padding: 0;\n margin: 0;\n border: 0;\n}\n\n// 1. Correct the text wrapping in Edge and IE.\n// 2. Correct the color inheritance from `fieldset` elements in IE.\nlegend {\n display: block;\n width: 100%;\n max-width: 100%; // 1\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit; // 2\n white-space: normal; // 1\n}\n\nprogress {\n vertical-align: baseline; // Add the correct vertical alignment in Chrome, Firefox, and Opera.\n}\n\n// Correct the cursor style of increment and decrement buttons in Chrome.\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n // This overrides the extra rounded corners on search inputs in iOS so that our\n // `.form-control` class can properly style them. Note that this cannot simply\n // be added to `.form-control` as it's not specific enough. For details, see\n // https://github.com/twbs/bootstrap/issues/11586.\n outline-offset: -2px; // 2. Correct the outline style in Safari.\n -webkit-appearance: none;\n}\n\n//\n// Remove the inner padding and cancel buttons in Chrome and Safari on macOS.\n//\n\n[type=\"search\"]::-webkit-search-cancel-button,\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n//\n// 1. Correct the inability to style clickable types in iOS and Safari.\n// 2. Change font properties to `inherit` in Safari.\n//\n\n::-webkit-file-upload-button {\n font: inherit; // 2\n -webkit-appearance: button; // 1\n}\n\n//\n// Correct element displays\n//\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item; // Add the correct display in all browsers\n cursor: pointer;\n}\n\ntemplate {\n display: none; // Add the correct display in IE\n}\n\n// Always hide an element with the `hidden` HTML attribute (from PureCSS).\n// Needed for proper display in IE 10-.\n[hidden] {\n display: none !important;\n}\n","/*!\n * Bootstrap Reboot v4.1.3 (https://getbootstrap.com/)\n * Copyright 2011-2018 The Bootstrap Authors\n * Copyright 2011-2018 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nhtml {\n font-family: sans-serif;\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n -ms-text-size-adjust: 100%;\n -ms-overflow-style: scrollbar;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\n@-ms-viewport {\n width: device-width;\n}\n\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: left;\n background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus {\n outline: 0 !important;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n cursor: help;\n border-bottom: 0;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\ndfn {\n font-style: italic;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #007bff;\n text-decoration: none;\n background-color: transparent;\n -webkit-text-decoration-skip: objects;\n}\n\na:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus {\n outline: 0;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n font-size: 1em;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n -ms-overflow-style: scrollbar;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n border-style: none;\n}\n\nsvg {\n overflow: hidden;\n vertical-align: middle;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #6c757d;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: inherit;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: 0.5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nbutton,\nhtml [type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n max-width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: none;\n}\n\n[type=\"search\"]::-webkit-search-cancel-button,\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none !important;\n}\n/*# sourceMappingURL=bootstrap-reboot.css.map */","/*!\n * Bootstrap Reboot v4.1.3 (https://getbootstrap.com/)\n * Copyright 2011-2018 The Bootstrap Authors\n * Copyright 2011-2018 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nhtml {\n font-family: sans-serif;\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n -ms-text-size-adjust: 100%;\n -ms-overflow-style: scrollbar;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\n@-ms-viewport {\n width: device-width;\n}\n\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: left;\n background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus {\n outline: 0 !important;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n text-decoration: underline dotted;\n cursor: help;\n border-bottom: 0;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\ndfn {\n font-style: italic;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #007bff;\n text-decoration: none;\n background-color: transparent;\n -webkit-text-decoration-skip: objects;\n}\n\na:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus {\n outline: 0;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n font-size: 1em;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n -ms-overflow-style: scrollbar;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n border-style: none;\n}\n\nsvg {\n overflow: hidden;\n vertical-align: middle;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #6c757d;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: inherit;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: 0.5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nbutton,\nhtml [type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n max-width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: none;\n}\n\n[type=\"search\"]::-webkit-search-cancel-button,\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none !important;\n}\n\n/*# sourceMappingURL=bootstrap-reboot.css.map */","// Hover mixin and `$enable-hover-media-query` are deprecated.\n//\n// Originally added during our alphas and maintained during betas, this mixin was\n// designed to prevent `:hover` stickiness on iOS-an issue where hover styles\n// would persist after initial touch.\n//\n// For backward compatibility, we've kept these mixins and updated them to\n// always return their regular pseudo-classes instead of a shimmed media query.\n//\n// Issue: https://github.com/twbs/bootstrap/issues/25195\n\n@mixin hover {\n &:hover { @content; }\n}\n\n@mixin hover-focus {\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin plain-hover-focus {\n &,\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin hover-focus-active {\n &:hover,\n &:focus,\n &:active {\n @content;\n }\n}\n"]} \ No newline at end of file diff --git a/docs/vendor/bootstrap-4.1.3/css/bootstrap.css b/docs/vendor/bootstrap-4.1.3/css/bootstrap.css new file mode 100644 index 00000000..943532db --- /dev/null +++ b/docs/vendor/bootstrap-4.1.3/css/bootstrap.css @@ -0,0 +1,9030 @@ +/*! + * Bootstrap v4.1.3 (https://getbootstrap.com/) + * Copyright 2011-2018 The Bootstrap Authors + * Copyright 2011-2018 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ +:root { + --blue: #007bff; + --indigo: #6610f2; + --purple: #6f42c1; + --pink: #e83e8c; + --red: #dc3545; + --orange: #fd7e14; + --yellow: #ffc107; + --green: #28a745; + --teal: #20c997; + --cyan: #17a2b8; + --white: #fff; + --gray: #6c757d; + --gray-dark: #343a40; + --primary: #007bff; + --secondary: #6c757d; + --success: #28a745; + --info: #17a2b8; + --warning: #ffc107; + --danger: #dc3545; + --light: #f8f9fa; + --dark: #343a40; + --breakpoint-xs: 0; + --breakpoint-sm: 576px; + --breakpoint-md: 768px; + --breakpoint-lg: 992px; + --breakpoint-xl: 1200px; + --font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; +} + +*, +*::before, +*::after { + box-sizing: border-box; +} + +html { + font-family: sans-serif; + line-height: 1.15; + -webkit-text-size-adjust: 100%; + -ms-text-size-adjust: 100%; + -ms-overflow-style: scrollbar; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); +} + +@-ms-viewport { + width: device-width; +} + +article, aside, figcaption, figure, footer, header, hgroup, main, nav, section { + display: block; +} + +body { + margin: 0; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #212529; + text-align: left; + background-color: #fff; +} + +[tabindex="-1"]:focus { + outline: 0 !important; +} + +hr { + box-sizing: content-box; + height: 0; + overflow: visible; +} + +h1, h2, h3, h4, h5, h6 { + margin-top: 0; + margin-bottom: 0.5rem; +} + +p { + margin-top: 0; + margin-bottom: 1rem; +} + +abbr[title], +abbr[data-original-title] { + text-decoration: underline; + -webkit-text-decoration: underline dotted; + text-decoration: underline dotted; + cursor: help; + border-bottom: 0; +} + +address { + margin-bottom: 1rem; + font-style: normal; + line-height: inherit; +} + +ol, +ul, +dl { + margin-top: 0; + margin-bottom: 1rem; +} + +ol ol, +ul ul, +ol ul, +ul ol { + margin-bottom: 0; +} + +dt { + font-weight: 700; +} + +dd { + margin-bottom: .5rem; + margin-left: 0; +} + +blockquote { + margin: 0 0 1rem; +} + +dfn { + font-style: italic; +} + +b, +strong { + font-weight: bolder; +} + +small { + font-size: 80%; +} + +sub, +sup { + position: relative; + font-size: 75%; + line-height: 0; + vertical-align: baseline; +} + +sub { + bottom: -.25em; +} + +sup { + top: -.5em; +} + +a { + color: #007bff; + text-decoration: none; + background-color: transparent; + -webkit-text-decoration-skip: objects; +} + +a:hover { + color: #0056b3; + text-decoration: underline; +} + +a:not([href]):not([tabindex]) { + color: inherit; + text-decoration: none; +} + +a:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus { + color: inherit; + text-decoration: none; +} + +a:not([href]):not([tabindex]):focus { + outline: 0; +} + +pre, +code, +kbd, +samp { + font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; + font-size: 1em; +} + +pre { + margin-top: 0; + margin-bottom: 1rem; + overflow: auto; + -ms-overflow-style: scrollbar; +} + +figure { + margin: 0 0 1rem; +} + +img { + vertical-align: middle; + border-style: none; +} + +svg { + overflow: hidden; + vertical-align: middle; +} + +table { + border-collapse: collapse; +} + +caption { + padding-top: 0.75rem; + padding-bottom: 0.75rem; + color: #6c757d; + text-align: left; + caption-side: bottom; +} + +th { + text-align: inherit; +} + +label { + display: inline-block; + margin-bottom: 0.5rem; +} + +button { + border-radius: 0; +} + +button:focus { + outline: 1px dotted; + outline: 5px auto -webkit-focus-ring-color; +} + +input, +button, +select, +optgroup, +textarea { + margin: 0; + font-family: inherit; + font-size: inherit; + line-height: inherit; +} + +button, +input { + overflow: visible; +} + +button, +select { + text-transform: none; +} + +button, +html [type="button"], +[type="reset"], +[type="submit"] { + -webkit-appearance: button; +} + +button::-moz-focus-inner, +[type="button"]::-moz-focus-inner, +[type="reset"]::-moz-focus-inner, +[type="submit"]::-moz-focus-inner { + padding: 0; + border-style: none; +} + +input[type="radio"], +input[type="checkbox"] { + box-sizing: border-box; + padding: 0; +} + +input[type="date"], +input[type="time"], +input[type="datetime-local"], +input[type="month"] { + -webkit-appearance: listbox; +} + +textarea { + overflow: auto; + resize: vertical; +} + +fieldset { + min-width: 0; + padding: 0; + margin: 0; + border: 0; +} + +legend { + display: block; + width: 100%; + max-width: 100%; + padding: 0; + margin-bottom: .5rem; + font-size: 1.5rem; + line-height: inherit; + color: inherit; + white-space: normal; +} + +progress { + vertical-align: baseline; +} + +[type="number"]::-webkit-inner-spin-button, +[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +[type="search"] { + outline-offset: -2px; + -webkit-appearance: none; +} + +[type="search"]::-webkit-search-cancel-button, +[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +::-webkit-file-upload-button { + font: inherit; + -webkit-appearance: button; +} + +output { + display: inline-block; +} + +summary { + display: list-item; + cursor: pointer; +} + +template { + display: none; +} + +[hidden] { + display: none !important; +} + +h1, h2, h3, h4, h5, h6, +.h1, .h2, .h3, .h4, .h5, .h6 { + margin-bottom: 0.5rem; + font-family: inherit; + font-weight: 500; + line-height: 1.2; + color: inherit; +} + +h1, .h1 { + font-size: 2.5rem; +} + +h2, .h2 { + font-size: 2rem; +} + +h3, .h3 { + font-size: 1.75rem; +} + +h4, .h4 { + font-size: 1.5rem; +} + +h5, .h5 { + font-size: 1.25rem; +} + +h6, .h6 { + font-size: 1rem; +} + +.lead { + font-size: 1.25rem; + font-weight: 300; +} + +.display-1 { + font-size: 6rem; + font-weight: 300; + line-height: 1.2; +} + +.display-2 { + font-size: 5.5rem; + font-weight: 300; + line-height: 1.2; +} + +.display-3 { + font-size: 4.5rem; + font-weight: 300; + line-height: 1.2; +} + +.display-4 { + font-size: 3.5rem; + font-weight: 300; + line-height: 1.2; +} + +hr { + margin-top: 1rem; + margin-bottom: 1rem; + border: 0; + border-top: 1px solid rgba(0, 0, 0, 0.1); +} + +small, +.small { + font-size: 80%; + font-weight: 400; +} + +mark, +.mark { + padding: 0.2em; + background-color: #fcf8e3; +} + +.list-unstyled { + padding-left: 0; + list-style: none; +} + +.list-inline { + padding-left: 0; + list-style: none; +} + +.list-inline-item { + display: inline-block; +} + +.list-inline-item:not(:last-child) { + margin-right: 0.5rem; +} + +.initialism { + font-size: 90%; + text-transform: uppercase; +} + +.blockquote { + margin-bottom: 1rem; + font-size: 1.25rem; +} + +.blockquote-footer { + display: block; + font-size: 80%; + color: #6c757d; +} + +.blockquote-footer::before { + content: "\2014 \00A0"; +} + +.img-fluid { + max-width: 100%; + height: auto; +} + +.img-thumbnail { + padding: 0.25rem; + background-color: #fff; + border: 1px solid #dee2e6; + border-radius: 0.25rem; + max-width: 100%; + height: auto; +} + +.figure { + display: inline-block; +} + +.figure-img { + margin-bottom: 0.5rem; + line-height: 1; +} + +.figure-caption { + font-size: 90%; + color: #6c757d; +} + +code { + font-size: 87.5%; + color: #e83e8c; + word-break: break-word; +} + +a > code { + color: inherit; +} + +kbd { + padding: 0.2rem 0.4rem; + font-size: 87.5%; + color: #fff; + background-color: #212529; + border-radius: 0.2rem; +} + +kbd kbd { + padding: 0; + font-size: 100%; + font-weight: 700; +} + +pre { + display: block; + font-size: 87.5%; + color: #212529; +} + +pre code { + font-size: inherit; + color: inherit; + word-break: normal; +} + +.pre-scrollable { + max-height: 340px; + overflow-y: scroll; +} + +.container { + width: 100%; + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto; +} + +@media (min-width: 576px) { + .container { + max-width: 540px; + } +} + +@media (min-width: 768px) { + .container { + max-width: 720px; + } +} + +@media (min-width: 992px) { + .container { + max-width: 960px; + } +} + +@media (min-width: 1200px) { + .container { + max-width: 1140px; + } +} + +.container-fluid { + width: 100%; + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto; +} + +.row { + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + margin-right: -15px; + margin-left: -15px; +} + +.no-gutters { + margin-right: 0; + margin-left: 0; +} + +.no-gutters > .col, +.no-gutters > [class*="col-"] { + padding-right: 0; + padding-left: 0; +} + +.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, +.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm, +.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md, +.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg, +.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl, +.col-xl-auto { + position: relative; + width: 100%; + min-height: 1px; + padding-right: 15px; + padding-left: 15px; +} + +.col { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; +} + +.col-auto { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: none; +} + +.col-1 { + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; +} + +.col-2 { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; +} + +.col-3 { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; +} + +.col-4 { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; +} + +.col-5 { + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; +} + +.col-6 { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; +} + +.col-7 { + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; +} + +.col-8 { + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; +} + +.col-9 { + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; +} + +.col-10 { + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; +} + +.col-11 { + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; +} + +.col-12 { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; +} + +.order-first { + -ms-flex-order: -1; + order: -1; +} + +.order-last { + -ms-flex-order: 13; + order: 13; +} + +.order-0 { + -ms-flex-order: 0; + order: 0; +} + +.order-1 { + -ms-flex-order: 1; + order: 1; +} + +.order-2 { + -ms-flex-order: 2; + order: 2; +} + +.order-3 { + -ms-flex-order: 3; + order: 3; +} + +.order-4 { + -ms-flex-order: 4; + order: 4; +} + +.order-5 { + -ms-flex-order: 5; + order: 5; +} + +.order-6 { + -ms-flex-order: 6; + order: 6; +} + +.order-7 { + -ms-flex-order: 7; + order: 7; +} + +.order-8 { + -ms-flex-order: 8; + order: 8; +} + +.order-9 { + -ms-flex-order: 9; + order: 9; +} + +.order-10 { + -ms-flex-order: 10; + order: 10; +} + +.order-11 { + -ms-flex-order: 11; + order: 11; +} + +.order-12 { + -ms-flex-order: 12; + order: 12; +} + +.offset-1 { + margin-left: 8.333333%; +} + +.offset-2 { + margin-left: 16.666667%; +} + +.offset-3 { + margin-left: 25%; +} + +.offset-4 { + margin-left: 33.333333%; +} + +.offset-5 { + margin-left: 41.666667%; +} + +.offset-6 { + margin-left: 50%; +} + +.offset-7 { + margin-left: 58.333333%; +} + +.offset-8 { + margin-left: 66.666667%; +} + +.offset-9 { + margin-left: 75%; +} + +.offset-10 { + margin-left: 83.333333%; +} + +.offset-11 { + margin-left: 91.666667%; +} + +@media (min-width: 576px) { + .col-sm { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; + } + .col-sm-auto { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: none; + } + .col-sm-1 { + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + .col-sm-2 { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-sm-3 { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .col-sm-4 { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .col-sm-5 { + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + .col-sm-6 { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .col-sm-7 { + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + .col-sm-8 { + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + .col-sm-9 { + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; + } + .col-sm-10 { + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + .col-sm-11 { + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + .col-sm-12 { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .order-sm-first { + -ms-flex-order: -1; + order: -1; + } + .order-sm-last { + -ms-flex-order: 13; + order: 13; + } + .order-sm-0 { + -ms-flex-order: 0; + order: 0; + } + .order-sm-1 { + -ms-flex-order: 1; + order: 1; + } + .order-sm-2 { + -ms-flex-order: 2; + order: 2; + } + .order-sm-3 { + -ms-flex-order: 3; + order: 3; + } + .order-sm-4 { + -ms-flex-order: 4; + order: 4; + } + .order-sm-5 { + -ms-flex-order: 5; + order: 5; + } + .order-sm-6 { + -ms-flex-order: 6; + order: 6; + } + .order-sm-7 { + -ms-flex-order: 7; + order: 7; + } + .order-sm-8 { + -ms-flex-order: 8; + order: 8; + } + .order-sm-9 { + -ms-flex-order: 9; + order: 9; + } + .order-sm-10 { + -ms-flex-order: 10; + order: 10; + } + .order-sm-11 { + -ms-flex-order: 11; + order: 11; + } + .order-sm-12 { + -ms-flex-order: 12; + order: 12; + } + .offset-sm-0 { + margin-left: 0; + } + .offset-sm-1 { + margin-left: 8.333333%; + } + .offset-sm-2 { + margin-left: 16.666667%; + } + .offset-sm-3 { + margin-left: 25%; + } + .offset-sm-4 { + margin-left: 33.333333%; + } + .offset-sm-5 { + margin-left: 41.666667%; + } + .offset-sm-6 { + margin-left: 50%; + } + .offset-sm-7 { + margin-left: 58.333333%; + } + .offset-sm-8 { + margin-left: 66.666667%; + } + .offset-sm-9 { + margin-left: 75%; + } + .offset-sm-10 { + margin-left: 83.333333%; + } + .offset-sm-11 { + margin-left: 91.666667%; + } +} + +@media (min-width: 768px) { + .col-md { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; + } + .col-md-auto { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: none; + } + .col-md-1 { + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + .col-md-2 { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-md-3 { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .col-md-4 { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .col-md-5 { + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + .col-md-6 { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .col-md-7 { + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + .col-md-8 { + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + .col-md-9 { + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; + } + .col-md-10 { + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + .col-md-11 { + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + .col-md-12 { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .order-md-first { + -ms-flex-order: -1; + order: -1; + } + .order-md-last { + -ms-flex-order: 13; + order: 13; + } + .order-md-0 { + -ms-flex-order: 0; + order: 0; + } + .order-md-1 { + -ms-flex-order: 1; + order: 1; + } + .order-md-2 { + -ms-flex-order: 2; + order: 2; + } + .order-md-3 { + -ms-flex-order: 3; + order: 3; + } + .order-md-4 { + -ms-flex-order: 4; + order: 4; + } + .order-md-5 { + -ms-flex-order: 5; + order: 5; + } + .order-md-6 { + -ms-flex-order: 6; + order: 6; + } + .order-md-7 { + -ms-flex-order: 7; + order: 7; + } + .order-md-8 { + -ms-flex-order: 8; + order: 8; + } + .order-md-9 { + -ms-flex-order: 9; + order: 9; + } + .order-md-10 { + -ms-flex-order: 10; + order: 10; + } + .order-md-11 { + -ms-flex-order: 11; + order: 11; + } + .order-md-12 { + -ms-flex-order: 12; + order: 12; + } + .offset-md-0 { + margin-left: 0; + } + .offset-md-1 { + margin-left: 8.333333%; + } + .offset-md-2 { + margin-left: 16.666667%; + } + .offset-md-3 { + margin-left: 25%; + } + .offset-md-4 { + margin-left: 33.333333%; + } + .offset-md-5 { + margin-left: 41.666667%; + } + .offset-md-6 { + margin-left: 50%; + } + .offset-md-7 { + margin-left: 58.333333%; + } + .offset-md-8 { + margin-left: 66.666667%; + } + .offset-md-9 { + margin-left: 75%; + } + .offset-md-10 { + margin-left: 83.333333%; + } + .offset-md-11 { + margin-left: 91.666667%; + } +} + +@media (min-width: 992px) { + .col-lg { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; + } + .col-lg-auto { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: none; + } + .col-lg-1 { + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + .col-lg-2 { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-lg-3 { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .col-lg-4 { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .col-lg-5 { + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + .col-lg-6 { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .col-lg-7 { + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + .col-lg-8 { + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + .col-lg-9 { + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; + } + .col-lg-10 { + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + .col-lg-11 { + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + .col-lg-12 { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .order-lg-first { + -ms-flex-order: -1; + order: -1; + } + .order-lg-last { + -ms-flex-order: 13; + order: 13; + } + .order-lg-0 { + -ms-flex-order: 0; + order: 0; + } + .order-lg-1 { + -ms-flex-order: 1; + order: 1; + } + .order-lg-2 { + -ms-flex-order: 2; + order: 2; + } + .order-lg-3 { + -ms-flex-order: 3; + order: 3; + } + .order-lg-4 { + -ms-flex-order: 4; + order: 4; + } + .order-lg-5 { + -ms-flex-order: 5; + order: 5; + } + .order-lg-6 { + -ms-flex-order: 6; + order: 6; + } + .order-lg-7 { + -ms-flex-order: 7; + order: 7; + } + .order-lg-8 { + -ms-flex-order: 8; + order: 8; + } + .order-lg-9 { + -ms-flex-order: 9; + order: 9; + } + .order-lg-10 { + -ms-flex-order: 10; + order: 10; + } + .order-lg-11 { + -ms-flex-order: 11; + order: 11; + } + .order-lg-12 { + -ms-flex-order: 12; + order: 12; + } + .offset-lg-0 { + margin-left: 0; + } + .offset-lg-1 { + margin-left: 8.333333%; + } + .offset-lg-2 { + margin-left: 16.666667%; + } + .offset-lg-3 { + margin-left: 25%; + } + .offset-lg-4 { + margin-left: 33.333333%; + } + .offset-lg-5 { + margin-left: 41.666667%; + } + .offset-lg-6 { + margin-left: 50%; + } + .offset-lg-7 { + margin-left: 58.333333%; + } + .offset-lg-8 { + margin-left: 66.666667%; + } + .offset-lg-9 { + margin-left: 75%; + } + .offset-lg-10 { + margin-left: 83.333333%; + } + .offset-lg-11 { + margin-left: 91.666667%; + } +} + +@media (min-width: 1200px) { + .col-xl { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; + } + .col-xl-auto { + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: none; + } + .col-xl-1 { + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + .col-xl-2 { + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-xl-3 { + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .col-xl-4 { + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .col-xl-5 { + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + .col-xl-6 { + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .col-xl-7 { + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + .col-xl-8 { + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + .col-xl-9 { + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; + } + .col-xl-10 { + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + .col-xl-11 { + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + .col-xl-12 { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .order-xl-first { + -ms-flex-order: -1; + order: -1; + } + .order-xl-last { + -ms-flex-order: 13; + order: 13; + } + .order-xl-0 { + -ms-flex-order: 0; + order: 0; + } + .order-xl-1 { + -ms-flex-order: 1; + order: 1; + } + .order-xl-2 { + -ms-flex-order: 2; + order: 2; + } + .order-xl-3 { + -ms-flex-order: 3; + order: 3; + } + .order-xl-4 { + -ms-flex-order: 4; + order: 4; + } + .order-xl-5 { + -ms-flex-order: 5; + order: 5; + } + .order-xl-6 { + -ms-flex-order: 6; + order: 6; + } + .order-xl-7 { + -ms-flex-order: 7; + order: 7; + } + .order-xl-8 { + -ms-flex-order: 8; + order: 8; + } + .order-xl-9 { + -ms-flex-order: 9; + order: 9; + } + .order-xl-10 { + -ms-flex-order: 10; + order: 10; + } + .order-xl-11 { + -ms-flex-order: 11; + order: 11; + } + .order-xl-12 { + -ms-flex-order: 12; + order: 12; + } + .offset-xl-0 { + margin-left: 0; + } + .offset-xl-1 { + margin-left: 8.333333%; + } + .offset-xl-2 { + margin-left: 16.666667%; + } + .offset-xl-3 { + margin-left: 25%; + } + .offset-xl-4 { + margin-left: 33.333333%; + } + .offset-xl-5 { + margin-left: 41.666667%; + } + .offset-xl-6 { + margin-left: 50%; + } + .offset-xl-7 { + margin-left: 58.333333%; + } + .offset-xl-8 { + margin-left: 66.666667%; + } + .offset-xl-9 { + margin-left: 75%; + } + .offset-xl-10 { + margin-left: 83.333333%; + } + .offset-xl-11 { + margin-left: 91.666667%; + } +} + +.table { + width: 100%; + margin-bottom: 1rem; + background-color: transparent; +} + +.table th, +.table td { + padding: 0.75rem; + vertical-align: top; + border-top: 1px solid #dee2e6; +} + +.table thead th { + vertical-align: bottom; + border-bottom: 2px solid #dee2e6; +} + +.table tbody + tbody { + border-top: 2px solid #dee2e6; +} + +.table .table { + background-color: #fff; +} + +.table-sm th, +.table-sm td { + padding: 0.3rem; +} + +.table-bordered { + border: 1px solid #dee2e6; +} + +.table-bordered th, +.table-bordered td { + border: 1px solid #dee2e6; +} + +.table-bordered thead th, +.table-bordered thead td { + border-bottom-width: 2px; +} + +.table-borderless th, +.table-borderless td, +.table-borderless thead th, +.table-borderless tbody + tbody { + border: 0; +} + +.table-striped tbody tr:nth-of-type(odd) { + background-color: rgba(0, 0, 0, 0.05); +} + +.table-hover tbody tr:hover { + background-color: rgba(0, 0, 0, 0.075); +} + +.table-primary, +.table-primary > th, +.table-primary > td { + background-color: #b8daff; +} + +.table-hover .table-primary:hover { + background-color: #9fcdff; +} + +.table-hover .table-primary:hover > td, +.table-hover .table-primary:hover > th { + background-color: #9fcdff; +} + +.table-secondary, +.table-secondary > th, +.table-secondary > td { + background-color: #d6d8db; +} + +.table-hover .table-secondary:hover { + background-color: #c8cbcf; +} + +.table-hover .table-secondary:hover > td, +.table-hover .table-secondary:hover > th { + background-color: #c8cbcf; +} + +.table-success, +.table-success > th, +.table-success > td { + background-color: #c3e6cb; +} + +.table-hover .table-success:hover { + background-color: #b1dfbb; +} + +.table-hover .table-success:hover > td, +.table-hover .table-success:hover > th { + background-color: #b1dfbb; +} + +.table-info, +.table-info > th, +.table-info > td { + background-color: #bee5eb; +} + +.table-hover .table-info:hover { + background-color: #abdde5; +} + +.table-hover .table-info:hover > td, +.table-hover .table-info:hover > th { + background-color: #abdde5; +} + +.table-warning, +.table-warning > th, +.table-warning > td { + background-color: #ffeeba; +} + +.table-hover .table-warning:hover { + background-color: #ffe8a1; +} + +.table-hover .table-warning:hover > td, +.table-hover .table-warning:hover > th { + background-color: #ffe8a1; +} + +.table-danger, +.table-danger > th, +.table-danger > td { + background-color: #f5c6cb; +} + +.table-hover .table-danger:hover { + background-color: #f1b0b7; +} + +.table-hover .table-danger:hover > td, +.table-hover .table-danger:hover > th { + background-color: #f1b0b7; +} + +.table-light, +.table-light > th, +.table-light > td { + background-color: #fdfdfe; +} + +.table-hover .table-light:hover { + background-color: #ececf6; +} + +.table-hover .table-light:hover > td, +.table-hover .table-light:hover > th { + background-color: #ececf6; +} + +.table-dark, +.table-dark > th, +.table-dark > td { + background-color: #c6c8ca; +} + +.table-hover .table-dark:hover { + background-color: #b9bbbe; +} + +.table-hover .table-dark:hover > td, +.table-hover .table-dark:hover > th { + background-color: #b9bbbe; +} + +.table-active, +.table-active > th, +.table-active > td { + background-color: rgba(0, 0, 0, 0.075); +} + +.table-hover .table-active:hover { + background-color: rgba(0, 0, 0, 0.075); +} + +.table-hover .table-active:hover > td, +.table-hover .table-active:hover > th { + background-color: rgba(0, 0, 0, 0.075); +} + +.table .thead-dark th { + color: #fff; + background-color: #212529; + border-color: #32383e; +} + +.table .thead-light th { + color: #495057; + background-color: #e9ecef; + border-color: #dee2e6; +} + +.table-dark { + color: #fff; + background-color: #212529; +} + +.table-dark th, +.table-dark td, +.table-dark thead th { + border-color: #32383e; +} + +.table-dark.table-bordered { + border: 0; +} + +.table-dark.table-striped tbody tr:nth-of-type(odd) { + background-color: rgba(255, 255, 255, 0.05); +} + +.table-dark.table-hover tbody tr:hover { + background-color: rgba(255, 255, 255, 0.075); +} + +@media (max-width: 575.98px) { + .table-responsive-sm { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + -ms-overflow-style: -ms-autohiding-scrollbar; + } + .table-responsive-sm > .table-bordered { + border: 0; + } +} + +@media (max-width: 767.98px) { + .table-responsive-md { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + -ms-overflow-style: -ms-autohiding-scrollbar; + } + .table-responsive-md > .table-bordered { + border: 0; + } +} + +@media (max-width: 991.98px) { + .table-responsive-lg { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + -ms-overflow-style: -ms-autohiding-scrollbar; + } + .table-responsive-lg > .table-bordered { + border: 0; + } +} + +@media (max-width: 1199.98px) { + .table-responsive-xl { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + -ms-overflow-style: -ms-autohiding-scrollbar; + } + .table-responsive-xl > .table-bordered { + border: 0; + } +} + +.table-responsive { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + -ms-overflow-style: -ms-autohiding-scrollbar; +} + +.table-responsive > .table-bordered { + border: 0; +} + +.form-control { + display: block; + width: 100%; + height: calc(2.25rem + 2px); + padding: 0.375rem 0.75rem; + font-size: 1rem; + line-height: 1.5; + color: #495057; + background-color: #fff; + background-clip: padding-box; + border: 1px solid #ced4da; + border-radius: 0.25rem; + transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} + +@media screen and (prefers-reduced-motion: reduce) { + .form-control { + transition: none; + } +} + +.form-control::-ms-expand { + background-color: transparent; + border: 0; +} + +.form-control:focus { + color: #495057; + background-color: #fff; + border-color: #80bdff; + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.form-control::-webkit-input-placeholder { + color: #6c757d; + opacity: 1; +} + +.form-control::-moz-placeholder { + color: #6c757d; + opacity: 1; +} + +.form-control:-ms-input-placeholder { + color: #6c757d; + opacity: 1; +} + +.form-control::-ms-input-placeholder { + color: #6c757d; + opacity: 1; +} + +.form-control::placeholder { + color: #6c757d; + opacity: 1; +} + +.form-control:disabled, .form-control[readonly] { + background-color: #e9ecef; + opacity: 1; +} + +select.form-control:focus::-ms-value { + color: #495057; + background-color: #fff; +} + +.form-control-file, +.form-control-range { + display: block; + width: 100%; +} + +.col-form-label { + padding-top: calc(0.375rem + 1px); + padding-bottom: calc(0.375rem + 1px); + margin-bottom: 0; + font-size: inherit; + line-height: 1.5; +} + +.col-form-label-lg { + padding-top: calc(0.5rem + 1px); + padding-bottom: calc(0.5rem + 1px); + font-size: 1.25rem; + line-height: 1.5; +} + +.col-form-label-sm { + padding-top: calc(0.25rem + 1px); + padding-bottom: calc(0.25rem + 1px); + font-size: 0.875rem; + line-height: 1.5; +} + +.form-control-plaintext { + display: block; + width: 100%; + padding-top: 0.375rem; + padding-bottom: 0.375rem; + margin-bottom: 0; + line-height: 1.5; + color: #212529; + background-color: transparent; + border: solid transparent; + border-width: 1px 0; +} + +.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg { + padding-right: 0; + padding-left: 0; +} + +.form-control-sm { + height: calc(1.8125rem + 2px); + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + line-height: 1.5; + border-radius: 0.2rem; +} + +.form-control-lg { + height: calc(2.875rem + 2px); + padding: 0.5rem 1rem; + font-size: 1.25rem; + line-height: 1.5; + border-radius: 0.3rem; +} + +select.form-control[size], select.form-control[multiple] { + height: auto; +} + +textarea.form-control { + height: auto; +} + +.form-group { + margin-bottom: 1rem; +} + +.form-text { + display: block; + margin-top: 0.25rem; +} + +.form-row { + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + margin-right: -5px; + margin-left: -5px; +} + +.form-row > .col, +.form-row > [class*="col-"] { + padding-right: 5px; + padding-left: 5px; +} + +.form-check { + position: relative; + display: block; + padding-left: 1.25rem; +} + +.form-check-input { + position: absolute; + margin-top: 0.3rem; + margin-left: -1.25rem; +} + +.form-check-input:disabled ~ .form-check-label { + color: #6c757d; +} + +.form-check-label { + margin-bottom: 0; +} + +.form-check-inline { + display: -ms-inline-flexbox; + display: inline-flex; + -ms-flex-align: center; + align-items: center; + padding-left: 0; + margin-right: 0.75rem; +} + +.form-check-inline .form-check-input { + position: static; + margin-top: 0; + margin-right: 0.3125rem; + margin-left: 0; +} + +.valid-feedback { + display: none; + width: 100%; + margin-top: 0.25rem; + font-size: 80%; + color: #28a745; +} + +.valid-tooltip { + position: absolute; + top: 100%; + z-index: 5; + display: none; + max-width: 100%; + padding: 0.25rem 0.5rem; + margin-top: .1rem; + font-size: 0.875rem; + line-height: 1.5; + color: #fff; + background-color: rgba(40, 167, 69, 0.9); + border-radius: 0.25rem; +} + +.was-validated .form-control:valid, .form-control.is-valid, .was-validated +.custom-select:valid, +.custom-select.is-valid { + border-color: #28a745; +} + +.was-validated .form-control:valid:focus, .form-control.is-valid:focus, .was-validated +.custom-select:valid:focus, +.custom-select.is-valid:focus { + border-color: #28a745; + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); +} + +.was-validated .form-control:valid ~ .valid-feedback, +.was-validated .form-control:valid ~ .valid-tooltip, .form-control.is-valid ~ .valid-feedback, +.form-control.is-valid ~ .valid-tooltip, .was-validated +.custom-select:valid ~ .valid-feedback, +.was-validated +.custom-select:valid ~ .valid-tooltip, +.custom-select.is-valid ~ .valid-feedback, +.custom-select.is-valid ~ .valid-tooltip { + display: block; +} + +.was-validated .form-control-file:valid ~ .valid-feedback, +.was-validated .form-control-file:valid ~ .valid-tooltip, .form-control-file.is-valid ~ .valid-feedback, +.form-control-file.is-valid ~ .valid-tooltip { + display: block; +} + +.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label { + color: #28a745; +} + +.was-validated .form-check-input:valid ~ .valid-feedback, +.was-validated .form-check-input:valid ~ .valid-tooltip, .form-check-input.is-valid ~ .valid-feedback, +.form-check-input.is-valid ~ .valid-tooltip { + display: block; +} + +.was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label { + color: #28a745; +} + +.was-validated .custom-control-input:valid ~ .custom-control-label::before, .custom-control-input.is-valid ~ .custom-control-label::before { + background-color: #71dd8a; +} + +.was-validated .custom-control-input:valid ~ .valid-feedback, +.was-validated .custom-control-input:valid ~ .valid-tooltip, .custom-control-input.is-valid ~ .valid-feedback, +.custom-control-input.is-valid ~ .valid-tooltip { + display: block; +} + +.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before { + background-color: #34ce57; +} + +.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control-input.is-valid:focus ~ .custom-control-label::before { + box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(40, 167, 69, 0.25); +} + +.was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label { + border-color: #28a745; +} + +.was-validated .custom-file-input:valid ~ .custom-file-label::after, .custom-file-input.is-valid ~ .custom-file-label::after { + border-color: inherit; +} + +.was-validated .custom-file-input:valid ~ .valid-feedback, +.was-validated .custom-file-input:valid ~ .valid-tooltip, .custom-file-input.is-valid ~ .valid-feedback, +.custom-file-input.is-valid ~ .valid-tooltip { + display: block; +} + +.was-validated .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-file-label { + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); +} + +.invalid-feedback { + display: none; + width: 100%; + margin-top: 0.25rem; + font-size: 80%; + color: #dc3545; +} + +.invalid-tooltip { + position: absolute; + top: 100%; + z-index: 5; + display: none; + max-width: 100%; + padding: 0.25rem 0.5rem; + margin-top: .1rem; + font-size: 0.875rem; + line-height: 1.5; + color: #fff; + background-color: rgba(220, 53, 69, 0.9); + border-radius: 0.25rem; +} + +.was-validated .form-control:invalid, .form-control.is-invalid, .was-validated +.custom-select:invalid, +.custom-select.is-invalid { + border-color: #dc3545; +} + +.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus, .was-validated +.custom-select:invalid:focus, +.custom-select.is-invalid:focus { + border-color: #dc3545; + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); +} + +.was-validated .form-control:invalid ~ .invalid-feedback, +.was-validated .form-control:invalid ~ .invalid-tooltip, .form-control.is-invalid ~ .invalid-feedback, +.form-control.is-invalid ~ .invalid-tooltip, .was-validated +.custom-select:invalid ~ .invalid-feedback, +.was-validated +.custom-select:invalid ~ .invalid-tooltip, +.custom-select.is-invalid ~ .invalid-feedback, +.custom-select.is-invalid ~ .invalid-tooltip { + display: block; +} + +.was-validated .form-control-file:invalid ~ .invalid-feedback, +.was-validated .form-control-file:invalid ~ .invalid-tooltip, .form-control-file.is-invalid ~ .invalid-feedback, +.form-control-file.is-invalid ~ .invalid-tooltip { + display: block; +} + +.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label { + color: #dc3545; +} + +.was-validated .form-check-input:invalid ~ .invalid-feedback, +.was-validated .form-check-input:invalid ~ .invalid-tooltip, .form-check-input.is-invalid ~ .invalid-feedback, +.form-check-input.is-invalid ~ .invalid-tooltip { + display: block; +} + +.was-validated .custom-control-input:invalid ~ .custom-control-label, .custom-control-input.is-invalid ~ .custom-control-label { + color: #dc3545; +} + +.was-validated .custom-control-input:invalid ~ .custom-control-label::before, .custom-control-input.is-invalid ~ .custom-control-label::before { + background-color: #efa2a9; +} + +.was-validated .custom-control-input:invalid ~ .invalid-feedback, +.was-validated .custom-control-input:invalid ~ .invalid-tooltip, .custom-control-input.is-invalid ~ .invalid-feedback, +.custom-control-input.is-invalid ~ .invalid-tooltip { + display: block; +} + +.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before { + background-color: #e4606d; +} + +.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before, .custom-control-input.is-invalid:focus ~ .custom-control-label::before { + box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(220, 53, 69, 0.25); +} + +.was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label { + border-color: #dc3545; +} + +.was-validated .custom-file-input:invalid ~ .custom-file-label::after, .custom-file-input.is-invalid ~ .custom-file-label::after { + border-color: inherit; +} + +.was-validated .custom-file-input:invalid ~ .invalid-feedback, +.was-validated .custom-file-input:invalid ~ .invalid-tooltip, .custom-file-input.is-invalid ~ .invalid-feedback, +.custom-file-input.is-invalid ~ .invalid-tooltip { + display: block; +} + +.was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label { + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); +} + +.form-inline { + display: -ms-flexbox; + display: flex; + -ms-flex-flow: row wrap; + flex-flow: row wrap; + -ms-flex-align: center; + align-items: center; +} + +.form-inline .form-check { + width: 100%; +} + +@media (min-width: 576px) { + .form-inline label { + display: -ms-flexbox; + display: flex; + -ms-flex-align: center; + align-items: center; + -ms-flex-pack: center; + justify-content: center; + margin-bottom: 0; + } + .form-inline .form-group { + display: -ms-flexbox; + display: flex; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + -ms-flex-flow: row wrap; + flex-flow: row wrap; + -ms-flex-align: center; + align-items: center; + margin-bottom: 0; + } + .form-inline .form-control { + display: inline-block; + width: auto; + vertical-align: middle; + } + .form-inline .form-control-plaintext { + display: inline-block; + } + .form-inline .input-group, + .form-inline .custom-select { + width: auto; + } + .form-inline .form-check { + display: -ms-flexbox; + display: flex; + -ms-flex-align: center; + align-items: center; + -ms-flex-pack: center; + justify-content: center; + width: auto; + padding-left: 0; + } + .form-inline .form-check-input { + position: relative; + margin-top: 0; + margin-right: 0.25rem; + margin-left: 0; + } + .form-inline .custom-control { + -ms-flex-align: center; + align-items: center; + -ms-flex-pack: center; + justify-content: center; + } + .form-inline .custom-control-label { + margin-bottom: 0; + } +} + +.btn { + display: inline-block; + font-weight: 400; + text-align: center; + white-space: nowrap; + vertical-align: middle; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + border: 1px solid transparent; + padding: 0.375rem 0.75rem; + font-size: 1rem; + line-height: 1.5; + border-radius: 0.25rem; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} + +@media screen and (prefers-reduced-motion: reduce) { + .btn { + transition: none; + } +} + +.btn:hover, .btn:focus { + text-decoration: none; +} + +.btn:focus, .btn.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.btn.disabled, .btn:disabled { + opacity: 0.65; +} + +.btn:not(:disabled):not(.disabled) { + cursor: pointer; +} + +a.btn.disabled, +fieldset:disabled a.btn { + pointer-events: none; +} + +.btn-primary { + color: #fff; + background-color: #007bff; + border-color: #007bff; +} + +.btn-primary:hover { + color: #fff; + background-color: #0069d9; + border-color: #0062cc; +} + +.btn-primary:focus, .btn-primary.focus { + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); +} + +.btn-primary.disabled, .btn-primary:disabled { + color: #fff; + background-color: #007bff; + border-color: #007bff; +} + +.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active, +.show > .btn-primary.dropdown-toggle { + color: #fff; + background-color: #0062cc; + border-color: #005cbf; +} + +.btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus, +.show > .btn-primary.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); +} + +.btn-secondary { + color: #fff; + background-color: #6c757d; + border-color: #6c757d; +} + +.btn-secondary:hover { + color: #fff; + background-color: #5a6268; + border-color: #545b62; +} + +.btn-secondary:focus, .btn-secondary.focus { + box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); +} + +.btn-secondary.disabled, .btn-secondary:disabled { + color: #fff; + background-color: #6c757d; + border-color: #6c757d; +} + +.btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active, +.show > .btn-secondary.dropdown-toggle { + color: #fff; + background-color: #545b62; + border-color: #4e555b; +} + +.btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus, +.show > .btn-secondary.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); +} + +.btn-success { + color: #fff; + background-color: #28a745; + border-color: #28a745; +} + +.btn-success:hover { + color: #fff; + background-color: #218838; + border-color: #1e7e34; +} + +.btn-success:focus, .btn-success.focus { + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); +} + +.btn-success.disabled, .btn-success:disabled { + color: #fff; + background-color: #28a745; + border-color: #28a745; +} + +.btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active, +.show > .btn-success.dropdown-toggle { + color: #fff; + background-color: #1e7e34; + border-color: #1c7430; +} + +.btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus, +.show > .btn-success.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); +} + +.btn-info { + color: #fff; + background-color: #17a2b8; + border-color: #17a2b8; +} + +.btn-info:hover { + color: #fff; + background-color: #138496; + border-color: #117a8b; +} + +.btn-info:focus, .btn-info.focus { + box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); +} + +.btn-info.disabled, .btn-info:disabled { + color: #fff; + background-color: #17a2b8; + border-color: #17a2b8; +} + +.btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active, +.show > .btn-info.dropdown-toggle { + color: #fff; + background-color: #117a8b; + border-color: #10707f; +} + +.btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus, +.show > .btn-info.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); +} + +.btn-warning { + color: #212529; + background-color: #ffc107; + border-color: #ffc107; +} + +.btn-warning:hover { + color: #212529; + background-color: #e0a800; + border-color: #d39e00; +} + +.btn-warning:focus, .btn-warning.focus { + box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); +} + +.btn-warning.disabled, .btn-warning:disabled { + color: #212529; + background-color: #ffc107; + border-color: #ffc107; +} + +.btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active, +.show > .btn-warning.dropdown-toggle { + color: #212529; + background-color: #d39e00; + border-color: #c69500; +} + +.btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus, +.show > .btn-warning.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); +} + +.btn-danger { + color: #fff; + background-color: #dc3545; + border-color: #dc3545; +} + +.btn-danger:hover { + color: #fff; + background-color: #c82333; + border-color: #bd2130; +} + +.btn-danger:focus, .btn-danger.focus { + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); +} + +.btn-danger.disabled, .btn-danger:disabled { + color: #fff; + background-color: #dc3545; + border-color: #dc3545; +} + +.btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active, +.show > .btn-danger.dropdown-toggle { + color: #fff; + background-color: #bd2130; + border-color: #b21f2d; +} + +.btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus, +.show > .btn-danger.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); +} + +.btn-light { + color: #212529; + background-color: #f8f9fa; + border-color: #f8f9fa; +} + +.btn-light:hover { + color: #212529; + background-color: #e2e6ea; + border-color: #dae0e5; +} + +.btn-light:focus, .btn-light.focus { + box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); +} + +.btn-light.disabled, .btn-light:disabled { + color: #212529; + background-color: #f8f9fa; + border-color: #f8f9fa; +} + +.btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active, +.show > .btn-light.dropdown-toggle { + color: #212529; + background-color: #dae0e5; + border-color: #d3d9df; +} + +.btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus, +.show > .btn-light.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); +} + +.btn-dark { + color: #fff; + background-color: #343a40; + border-color: #343a40; +} + +.btn-dark:hover { + color: #fff; + background-color: #23272b; + border-color: #1d2124; +} + +.btn-dark:focus, .btn-dark.focus { + box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); +} + +.btn-dark.disabled, .btn-dark:disabled { + color: #fff; + background-color: #343a40; + border-color: #343a40; +} + +.btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active, +.show > .btn-dark.dropdown-toggle { + color: #fff; + background-color: #1d2124; + border-color: #171a1d; +} + +.btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus, +.show > .btn-dark.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); +} + +.btn-outline-primary { + color: #007bff; + background-color: transparent; + background-image: none; + border-color: #007bff; +} + +.btn-outline-primary:hover { + color: #fff; + background-color: #007bff; + border-color: #007bff; +} + +.btn-outline-primary:focus, .btn-outline-primary.focus { + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); +} + +.btn-outline-primary.disabled, .btn-outline-primary:disabled { + color: #007bff; + background-color: transparent; +} + +.btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active, +.show > .btn-outline-primary.dropdown-toggle { + color: #fff; + background-color: #007bff; + border-color: #007bff; +} + +.btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-primary.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); +} + +.btn-outline-secondary { + color: #6c757d; + background-color: transparent; + background-image: none; + border-color: #6c757d; +} + +.btn-outline-secondary:hover { + color: #fff; + background-color: #6c757d; + border-color: #6c757d; +} + +.btn-outline-secondary:focus, .btn-outline-secondary.focus { + box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); +} + +.btn-outline-secondary.disabled, .btn-outline-secondary:disabled { + color: #6c757d; + background-color: transparent; +} + +.btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active, +.show > .btn-outline-secondary.dropdown-toggle { + color: #fff; + background-color: #6c757d; + border-color: #6c757d; +} + +.btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-secondary.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); +} + +.btn-outline-success { + color: #28a745; + background-color: transparent; + background-image: none; + border-color: #28a745; +} + +.btn-outline-success:hover { + color: #fff; + background-color: #28a745; + border-color: #28a745; +} + +.btn-outline-success:focus, .btn-outline-success.focus { + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); +} + +.btn-outline-success.disabled, .btn-outline-success:disabled { + color: #28a745; + background-color: transparent; +} + +.btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active, +.show > .btn-outline-success.dropdown-toggle { + color: #fff; + background-color: #28a745; + border-color: #28a745; +} + +.btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-success.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); +} + +.btn-outline-info { + color: #17a2b8; + background-color: transparent; + background-image: none; + border-color: #17a2b8; +} + +.btn-outline-info:hover { + color: #fff; + background-color: #17a2b8; + border-color: #17a2b8; +} + +.btn-outline-info:focus, .btn-outline-info.focus { + box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); +} + +.btn-outline-info.disabled, .btn-outline-info:disabled { + color: #17a2b8; + background-color: transparent; +} + +.btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active, +.show > .btn-outline-info.dropdown-toggle { + color: #fff; + background-color: #17a2b8; + border-color: #17a2b8; +} + +.btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-info.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); +} + +.btn-outline-warning { + color: #ffc107; + background-color: transparent; + background-image: none; + border-color: #ffc107; +} + +.btn-outline-warning:hover { + color: #212529; + background-color: #ffc107; + border-color: #ffc107; +} + +.btn-outline-warning:focus, .btn-outline-warning.focus { + box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); +} + +.btn-outline-warning.disabled, .btn-outline-warning:disabled { + color: #ffc107; + background-color: transparent; +} + +.btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active, +.show > .btn-outline-warning.dropdown-toggle { + color: #212529; + background-color: #ffc107; + border-color: #ffc107; +} + +.btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-warning.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); +} + +.btn-outline-danger { + color: #dc3545; + background-color: transparent; + background-image: none; + border-color: #dc3545; +} + +.btn-outline-danger:hover { + color: #fff; + background-color: #dc3545; + border-color: #dc3545; +} + +.btn-outline-danger:focus, .btn-outline-danger.focus { + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); +} + +.btn-outline-danger.disabled, .btn-outline-danger:disabled { + color: #dc3545; + background-color: transparent; +} + +.btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active, +.show > .btn-outline-danger.dropdown-toggle { + color: #fff; + background-color: #dc3545; + border-color: #dc3545; +} + +.btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-danger.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); +} + +.btn-outline-light { + color: #f8f9fa; + background-color: transparent; + background-image: none; + border-color: #f8f9fa; +} + +.btn-outline-light:hover { + color: #212529; + background-color: #f8f9fa; + border-color: #f8f9fa; +} + +.btn-outline-light:focus, .btn-outline-light.focus { + box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); +} + +.btn-outline-light.disabled, .btn-outline-light:disabled { + color: #f8f9fa; + background-color: transparent; +} + +.btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active, +.show > .btn-outline-light.dropdown-toggle { + color: #212529; + background-color: #f8f9fa; + border-color: #f8f9fa; +} + +.btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-light.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); +} + +.btn-outline-dark { + color: #343a40; + background-color: transparent; + background-image: none; + border-color: #343a40; +} + +.btn-outline-dark:hover { + color: #fff; + background-color: #343a40; + border-color: #343a40; +} + +.btn-outline-dark:focus, .btn-outline-dark.focus { + box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); +} + +.btn-outline-dark.disabled, .btn-outline-dark:disabled { + color: #343a40; + background-color: transparent; +} + +.btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active, +.show > .btn-outline-dark.dropdown-toggle { + color: #fff; + background-color: #343a40; + border-color: #343a40; +} + +.btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus, +.show > .btn-outline-dark.dropdown-toggle:focus { + box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); +} + +.btn-link { + font-weight: 400; + color: #007bff; + background-color: transparent; +} + +.btn-link:hover { + color: #0056b3; + text-decoration: underline; + background-color: transparent; + border-color: transparent; +} + +.btn-link:focus, .btn-link.focus { + text-decoration: underline; + border-color: transparent; + box-shadow: none; +} + +.btn-link:disabled, .btn-link.disabled { + color: #6c757d; + pointer-events: none; +} + +.btn-lg, .btn-group-lg > .btn { + padding: 0.5rem 1rem; + font-size: 1.25rem; + line-height: 1.5; + border-radius: 0.3rem; +} + +.btn-sm, .btn-group-sm > .btn { + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + line-height: 1.5; + border-radius: 0.2rem; +} + +.btn-block { + display: block; + width: 100%; +} + +.btn-block + .btn-block { + margin-top: 0.5rem; +} + +input[type="submit"].btn-block, +input[type="reset"].btn-block, +input[type="button"].btn-block { + width: 100%; +} + +.fade { + transition: opacity 0.15s linear; +} + +@media screen and (prefers-reduced-motion: reduce) { + .fade { + transition: none; + } +} + +.fade:not(.show) { + opacity: 0; +} + +.collapse:not(.show) { + display: none; +} + +.collapsing { + position: relative; + height: 0; + overflow: hidden; + transition: height 0.35s ease; +} + +@media screen and (prefers-reduced-motion: reduce) { + .collapsing { + transition: none; + } +} + +.dropup, +.dropright, +.dropdown, +.dropleft { + position: relative; +} + +.dropdown-toggle::after { + display: inline-block; + width: 0; + height: 0; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid; + border-right: 0.3em solid transparent; + border-bottom: 0; + border-left: 0.3em solid transparent; +} + +.dropdown-toggle:empty::after { + margin-left: 0; +} + +.dropdown-menu { + position: absolute; + top: 100%; + left: 0; + z-index: 1000; + display: none; + float: left; + min-width: 10rem; + padding: 0.5rem 0; + margin: 0.125rem 0 0; + font-size: 1rem; + color: #212529; + text-align: left; + list-style: none; + background-color: #fff; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.15); + border-radius: 0.25rem; +} + +.dropdown-menu-right { + right: 0; + left: auto; +} + +.dropup .dropdown-menu { + top: auto; + bottom: 100%; + margin-top: 0; + margin-bottom: 0.125rem; +} + +.dropup .dropdown-toggle::after { + display: inline-block; + width: 0; + height: 0; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0; + border-right: 0.3em solid transparent; + border-bottom: 0.3em solid; + border-left: 0.3em solid transparent; +} + +.dropup .dropdown-toggle:empty::after { + margin-left: 0; +} + +.dropright .dropdown-menu { + top: 0; + right: auto; + left: 100%; + margin-top: 0; + margin-left: 0.125rem; +} + +.dropright .dropdown-toggle::after { + display: inline-block; + width: 0; + height: 0; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid transparent; + border-right: 0; + border-bottom: 0.3em solid transparent; + border-left: 0.3em solid; +} + +.dropright .dropdown-toggle:empty::after { + margin-left: 0; +} + +.dropright .dropdown-toggle::after { + vertical-align: 0; +} + +.dropleft .dropdown-menu { + top: 0; + right: 100%; + left: auto; + margin-top: 0; + margin-right: 0.125rem; +} + +.dropleft .dropdown-toggle::after { + display: inline-block; + width: 0; + height: 0; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; +} + +.dropleft .dropdown-toggle::after { + display: none; +} + +.dropleft .dropdown-toggle::before { + display: inline-block; + width: 0; + height: 0; + margin-right: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid transparent; + border-right: 0.3em solid; + border-bottom: 0.3em solid transparent; +} + +.dropleft .dropdown-toggle:empty::after { + margin-left: 0; +} + +.dropleft .dropdown-toggle::before { + vertical-align: 0; +} + +.dropdown-menu[x-placement^="top"], .dropdown-menu[x-placement^="right"], .dropdown-menu[x-placement^="bottom"], .dropdown-menu[x-placement^="left"] { + right: auto; + bottom: auto; +} + +.dropdown-divider { + height: 0; + margin: 0.5rem 0; + overflow: hidden; + border-top: 1px solid #e9ecef; +} + +.dropdown-item { + display: block; + width: 100%; + padding: 0.25rem 1.5rem; + clear: both; + font-weight: 400; + color: #212529; + text-align: inherit; + white-space: nowrap; + background-color: transparent; + border: 0; +} + +.dropdown-item:hover, .dropdown-item:focus { + color: #16181b; + text-decoration: none; + background-color: #f8f9fa; +} + +.dropdown-item.active, .dropdown-item:active { + color: #fff; + text-decoration: none; + background-color: #007bff; +} + +.dropdown-item.disabled, .dropdown-item:disabled { + color: #6c757d; + background-color: transparent; +} + +.dropdown-menu.show { + display: block; +} + +.dropdown-header { + display: block; + padding: 0.5rem 1.5rem; + margin-bottom: 0; + font-size: 0.875rem; + color: #6c757d; + white-space: nowrap; +} + +.dropdown-item-text { + display: block; + padding: 0.25rem 1.5rem; + color: #212529; +} + +.btn-group, +.btn-group-vertical { + position: relative; + display: -ms-inline-flexbox; + display: inline-flex; + vertical-align: middle; +} + +.btn-group > .btn, +.btn-group-vertical > .btn { + position: relative; + -ms-flex: 0 1 auto; + flex: 0 1 auto; +} + +.btn-group > .btn:hover, +.btn-group-vertical > .btn:hover { + z-index: 1; +} + +.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active, +.btn-group-vertical > .btn:focus, +.btn-group-vertical > .btn:active, +.btn-group-vertical > .btn.active { + z-index: 1; +} + +.btn-group .btn + .btn, +.btn-group .btn + .btn-group, +.btn-group .btn-group + .btn, +.btn-group .btn-group + .btn-group, +.btn-group-vertical .btn + .btn, +.btn-group-vertical .btn + .btn-group, +.btn-group-vertical .btn-group + .btn, +.btn-group-vertical .btn-group + .btn-group { + margin-left: -1px; +} + +.btn-toolbar { + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -ms-flex-pack: start; + justify-content: flex-start; +} + +.btn-toolbar .input-group { + width: auto; +} + +.btn-group > .btn:first-child { + margin-left: 0; +} + +.btn-group > .btn:not(:last-child):not(.dropdown-toggle), +.btn-group > .btn-group:not(:last-child) > .btn { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.btn-group > .btn:not(:first-child), +.btn-group > .btn-group:not(:first-child) > .btn { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.dropdown-toggle-split { + padding-right: 0.5625rem; + padding-left: 0.5625rem; +} + +.dropdown-toggle-split::after, +.dropup .dropdown-toggle-split::after, +.dropright .dropdown-toggle-split::after { + margin-left: 0; +} + +.dropleft .dropdown-toggle-split::before { + margin-right: 0; +} + +.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split { + padding-right: 0.375rem; + padding-left: 0.375rem; +} + +.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split { + padding-right: 0.75rem; + padding-left: 0.75rem; +} + +.btn-group-vertical { + -ms-flex-direction: column; + flex-direction: column; + -ms-flex-align: start; + align-items: flex-start; + -ms-flex-pack: center; + justify-content: center; +} + +.btn-group-vertical .btn, +.btn-group-vertical .btn-group { + width: 100%; +} + +.btn-group-vertical > .btn + .btn, +.btn-group-vertical > .btn + .btn-group, +.btn-group-vertical > .btn-group + .btn, +.btn-group-vertical > .btn-group + .btn-group { + margin-top: -1px; + margin-left: 0; +} + +.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle), +.btn-group-vertical > .btn-group:not(:last-child) > .btn { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} + +.btn-group-vertical > .btn:not(:first-child), +.btn-group-vertical > .btn-group:not(:first-child) > .btn { + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +.btn-group-toggle > .btn, +.btn-group-toggle > .btn-group > .btn { + margin-bottom: 0; +} + +.btn-group-toggle > .btn input[type="radio"], +.btn-group-toggle > .btn input[type="checkbox"], +.btn-group-toggle > .btn-group > .btn input[type="radio"], +.btn-group-toggle > .btn-group > .btn input[type="checkbox"] { + position: absolute; + clip: rect(0, 0, 0, 0); + pointer-events: none; +} + +.input-group { + position: relative; + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -ms-flex-align: stretch; + align-items: stretch; + width: 100%; +} + +.input-group > .form-control, +.input-group > .custom-select, +.input-group > .custom-file { + position: relative; + -ms-flex: 1 1 auto; + flex: 1 1 auto; + width: 1%; + margin-bottom: 0; +} + +.input-group > .form-control + .form-control, +.input-group > .form-control + .custom-select, +.input-group > .form-control + .custom-file, +.input-group > .custom-select + .form-control, +.input-group > .custom-select + .custom-select, +.input-group > .custom-select + .custom-file, +.input-group > .custom-file + .form-control, +.input-group > .custom-file + .custom-select, +.input-group > .custom-file + .custom-file { + margin-left: -1px; +} + +.input-group > .form-control:focus, +.input-group > .custom-select:focus, +.input-group > .custom-file .custom-file-input:focus ~ .custom-file-label { + z-index: 3; +} + +.input-group > .custom-file .custom-file-input:focus { + z-index: 4; +} + +.input-group > .form-control:not(:last-child), +.input-group > .custom-select:not(:last-child) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.input-group > .form-control:not(:first-child), +.input-group > .custom-select:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.input-group > .custom-file { + display: -ms-flexbox; + display: flex; + -ms-flex-align: center; + align-items: center; +} + +.input-group > .custom-file:not(:last-child) .custom-file-label, +.input-group > .custom-file:not(:last-child) .custom-file-label::after { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.input-group > .custom-file:not(:first-child) .custom-file-label { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.input-group-prepend, +.input-group-append { + display: -ms-flexbox; + display: flex; +} + +.input-group-prepend .btn, +.input-group-append .btn { + position: relative; + z-index: 2; +} + +.input-group-prepend .btn + .btn, +.input-group-prepend .btn + .input-group-text, +.input-group-prepend .input-group-text + .input-group-text, +.input-group-prepend .input-group-text + .btn, +.input-group-append .btn + .btn, +.input-group-append .btn + .input-group-text, +.input-group-append .input-group-text + .input-group-text, +.input-group-append .input-group-text + .btn { + margin-left: -1px; +} + +.input-group-prepend { + margin-right: -1px; +} + +.input-group-append { + margin-left: -1px; +} + +.input-group-text { + display: -ms-flexbox; + display: flex; + -ms-flex-align: center; + align-items: center; + padding: 0.375rem 0.75rem; + margin-bottom: 0; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #495057; + text-align: center; + white-space: nowrap; + background-color: #e9ecef; + border: 1px solid #ced4da; + border-radius: 0.25rem; +} + +.input-group-text input[type="radio"], +.input-group-text input[type="checkbox"] { + margin-top: 0; +} + +.input-group-lg > .form-control, +.input-group-lg > .input-group-prepend > .input-group-text, +.input-group-lg > .input-group-append > .input-group-text, +.input-group-lg > .input-group-prepend > .btn, +.input-group-lg > .input-group-append > .btn { + height: calc(2.875rem + 2px); + padding: 0.5rem 1rem; + font-size: 1.25rem; + line-height: 1.5; + border-radius: 0.3rem; +} + +.input-group-sm > .form-control, +.input-group-sm > .input-group-prepend > .input-group-text, +.input-group-sm > .input-group-append > .input-group-text, +.input-group-sm > .input-group-prepend > .btn, +.input-group-sm > .input-group-append > .btn { + height: calc(1.8125rem + 2px); + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + line-height: 1.5; + border-radius: 0.2rem; +} + +.input-group > .input-group-prepend > .btn, +.input-group > .input-group-prepend > .input-group-text, +.input-group > .input-group-append:not(:last-child) > .btn, +.input-group > .input-group-append:not(:last-child) > .input-group-text, +.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle), +.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.input-group > .input-group-append > .btn, +.input-group > .input-group-append > .input-group-text, +.input-group > .input-group-prepend:not(:first-child) > .btn, +.input-group > .input-group-prepend:not(:first-child) > .input-group-text, +.input-group > .input-group-prepend:first-child > .btn:not(:first-child), +.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.custom-control { + position: relative; + display: block; + min-height: 1.5rem; + padding-left: 1.5rem; +} + +.custom-control-inline { + display: -ms-inline-flexbox; + display: inline-flex; + margin-right: 1rem; +} + +.custom-control-input { + position: absolute; + z-index: -1; + opacity: 0; +} + +.custom-control-input:checked ~ .custom-control-label::before { + color: #fff; + background-color: #007bff; +} + +.custom-control-input:focus ~ .custom-control-label::before { + box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.custom-control-input:active ~ .custom-control-label::before { + color: #fff; + background-color: #b3d7ff; +} + +.custom-control-input:disabled ~ .custom-control-label { + color: #6c757d; +} + +.custom-control-input:disabled ~ .custom-control-label::before { + background-color: #e9ecef; +} + +.custom-control-label { + position: relative; + margin-bottom: 0; +} + +.custom-control-label::before { + position: absolute; + top: 0.25rem; + left: -1.5rem; + display: block; + width: 1rem; + height: 1rem; + pointer-events: none; + content: ""; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + background-color: #dee2e6; +} + +.custom-control-label::after { + position: absolute; + top: 0.25rem; + left: -1.5rem; + display: block; + width: 1rem; + height: 1rem; + content: ""; + background-repeat: no-repeat; + background-position: center center; + background-size: 50% 50%; +} + +.custom-checkbox .custom-control-label::before { + border-radius: 0.25rem; +} + +.custom-checkbox .custom-control-input:checked ~ .custom-control-label::before { + background-color: #007bff; +} + +.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after { + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E"); +} + +.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before { + background-color: #007bff; +} + +.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after { + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E"); +} + +.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before { + background-color: rgba(0, 123, 255, 0.5); +} + +.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before { + background-color: rgba(0, 123, 255, 0.5); +} + +.custom-radio .custom-control-label::before { + border-radius: 50%; +} + +.custom-radio .custom-control-input:checked ~ .custom-control-label::before { + background-color: #007bff; +} + +.custom-radio .custom-control-input:checked ~ .custom-control-label::after { + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E"); +} + +.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before { + background-color: rgba(0, 123, 255, 0.5); +} + +.custom-select { + display: inline-block; + width: 100%; + height: calc(2.25rem + 2px); + padding: 0.375rem 1.75rem 0.375rem 0.75rem; + line-height: 1.5; + color: #495057; + vertical-align: middle; + background: #fff url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right 0.75rem center; + background-size: 8px 10px; + border: 1px solid #ced4da; + border-radius: 0.25rem; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} + +.custom-select:focus { + border-color: #80bdff; + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(128, 189, 255, 0.5); +} + +.custom-select:focus::-ms-value { + color: #495057; + background-color: #fff; +} + +.custom-select[multiple], .custom-select[size]:not([size="1"]) { + height: auto; + padding-right: 0.75rem; + background-image: none; +} + +.custom-select:disabled { + color: #6c757d; + background-color: #e9ecef; +} + +.custom-select::-ms-expand { + opacity: 0; +} + +.custom-select-sm { + height: calc(1.8125rem + 2px); + padding-top: 0.375rem; + padding-bottom: 0.375rem; + font-size: 75%; +} + +.custom-select-lg { + height: calc(2.875rem + 2px); + padding-top: 0.375rem; + padding-bottom: 0.375rem; + font-size: 125%; +} + +.custom-file { + position: relative; + display: inline-block; + width: 100%; + height: calc(2.25rem + 2px); + margin-bottom: 0; +} + +.custom-file-input { + position: relative; + z-index: 2; + width: 100%; + height: calc(2.25rem + 2px); + margin: 0; + opacity: 0; +} + +.custom-file-input:focus ~ .custom-file-label { + border-color: #80bdff; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.custom-file-input:focus ~ .custom-file-label::after { + border-color: #80bdff; +} + +.custom-file-input:disabled ~ .custom-file-label { + background-color: #e9ecef; +} + +.custom-file-input:lang(en) ~ .custom-file-label::after { + content: "Browse"; +} + +.custom-file-label { + position: absolute; + top: 0; + right: 0; + left: 0; + z-index: 1; + height: calc(2.25rem + 2px); + padding: 0.375rem 0.75rem; + line-height: 1.5; + color: #495057; + background-color: #fff; + border: 1px solid #ced4da; + border-radius: 0.25rem; +} + +.custom-file-label::after { + position: absolute; + top: 0; + right: 0; + bottom: 0; + z-index: 3; + display: block; + height: 2.25rem; + padding: 0.375rem 0.75rem; + line-height: 1.5; + color: #495057; + content: "Browse"; + background-color: #e9ecef; + border-left: 1px solid #ced4da; + border-radius: 0 0.25rem 0.25rem 0; +} + +.custom-range { + width: 100%; + padding-left: 0; + background-color: transparent; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} + +.custom-range:focus { + outline: none; +} + +.custom-range:focus::-webkit-slider-thumb { + box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.custom-range:focus::-moz-range-thumb { + box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.custom-range:focus::-ms-thumb { + box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.custom-range::-moz-focus-outer { + border: 0; +} + +.custom-range::-webkit-slider-thumb { + width: 1rem; + height: 1rem; + margin-top: -0.25rem; + background-color: #007bff; + border: 0; + border-radius: 1rem; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + -webkit-appearance: none; + appearance: none; +} + +@media screen and (prefers-reduced-motion: reduce) { + .custom-range::-webkit-slider-thumb { + transition: none; + } +} + +.custom-range::-webkit-slider-thumb:active { + background-color: #b3d7ff; +} + +.custom-range::-webkit-slider-runnable-track { + width: 100%; + height: 0.5rem; + color: transparent; + cursor: pointer; + background-color: #dee2e6; + border-color: transparent; + border-radius: 1rem; +} + +.custom-range::-moz-range-thumb { + width: 1rem; + height: 1rem; + background-color: #007bff; + border: 0; + border-radius: 1rem; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + -moz-appearance: none; + appearance: none; +} + +@media screen and (prefers-reduced-motion: reduce) { + .custom-range::-moz-range-thumb { + transition: none; + } +} + +.custom-range::-moz-range-thumb:active { + background-color: #b3d7ff; +} + +.custom-range::-moz-range-track { + width: 100%; + height: 0.5rem; + color: transparent; + cursor: pointer; + background-color: #dee2e6; + border-color: transparent; + border-radius: 1rem; +} + +.custom-range::-ms-thumb { + width: 1rem; + height: 1rem; + margin-top: 0; + margin-right: 0.2rem; + margin-left: 0.2rem; + background-color: #007bff; + border: 0; + border-radius: 1rem; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + appearance: none; +} + +@media screen and (prefers-reduced-motion: reduce) { + .custom-range::-ms-thumb { + transition: none; + } +} + +.custom-range::-ms-thumb:active { + background-color: #b3d7ff; +} + +.custom-range::-ms-track { + width: 100%; + height: 0.5rem; + color: transparent; + cursor: pointer; + background-color: transparent; + border-color: transparent; + border-width: 0.5rem; +} + +.custom-range::-ms-fill-lower { + background-color: #dee2e6; + border-radius: 1rem; +} + +.custom-range::-ms-fill-upper { + margin-right: 15px; + background-color: #dee2e6; + border-radius: 1rem; +} + +.custom-control-label::before, +.custom-file-label, +.custom-select { + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} + +@media screen and (prefers-reduced-motion: reduce) { + .custom-control-label::before, + .custom-file-label, + .custom-select { + transition: none; + } +} + +.nav { + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + padding-left: 0; + margin-bottom: 0; + list-style: none; +} + +.nav-link { + display: block; + padding: 0.5rem 1rem; +} + +.nav-link:hover, .nav-link:focus { + text-decoration: none; +} + +.nav-link.disabled { + color: #6c757d; +} + +.nav-tabs { + border-bottom: 1px solid #dee2e6; +} + +.nav-tabs .nav-item { + margin-bottom: -1px; +} + +.nav-tabs .nav-link { + border: 1px solid transparent; + border-top-left-radius: 0.25rem; + border-top-right-radius: 0.25rem; +} + +.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus { + border-color: #e9ecef #e9ecef #dee2e6; +} + +.nav-tabs .nav-link.disabled { + color: #6c757d; + background-color: transparent; + border-color: transparent; +} + +.nav-tabs .nav-link.active, +.nav-tabs .nav-item.show .nav-link { + color: #495057; + background-color: #fff; + border-color: #dee2e6 #dee2e6 #fff; +} + +.nav-tabs .dropdown-menu { + margin-top: -1px; + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +.nav-pills .nav-link { + border-radius: 0.25rem; +} + +.nav-pills .nav-link.active, +.nav-pills .show > .nav-link { + color: #fff; + background-color: #007bff; +} + +.nav-fill .nav-item { + -ms-flex: 1 1 auto; + flex: 1 1 auto; + text-align: center; +} + +.nav-justified .nav-item { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -ms-flex-positive: 1; + flex-grow: 1; + text-align: center; +} + +.tab-content > .tab-pane { + display: none; +} + +.tab-content > .active { + display: block; +} + +.navbar { + position: relative; + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -ms-flex-align: center; + align-items: center; + -ms-flex-pack: justify; + justify-content: space-between; + padding: 0.5rem 1rem; +} + +.navbar > .container, +.navbar > .container-fluid { + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -ms-flex-align: center; + align-items: center; + -ms-flex-pack: justify; + justify-content: space-between; +} + +.navbar-brand { + display: inline-block; + padding-top: 0.3125rem; + padding-bottom: 0.3125rem; + margin-right: 1rem; + font-size: 1.25rem; + line-height: inherit; + white-space: nowrap; +} + +.navbar-brand:hover, .navbar-brand:focus { + text-decoration: none; +} + +.navbar-nav { + display: -ms-flexbox; + display: flex; + -ms-flex-direction: column; + flex-direction: column; + padding-left: 0; + margin-bottom: 0; + list-style: none; +} + +.navbar-nav .nav-link { + padding-right: 0; + padding-left: 0; +} + +.navbar-nav .dropdown-menu { + position: static; + float: none; +} + +.navbar-text { + display: inline-block; + padding-top: 0.5rem; + padding-bottom: 0.5rem; +} + +.navbar-collapse { + -ms-flex-preferred-size: 100%; + flex-basis: 100%; + -ms-flex-positive: 1; + flex-grow: 1; + -ms-flex-align: center; + align-items: center; +} + +.navbar-toggler { + padding: 0.25rem 0.75rem; + font-size: 1.25rem; + line-height: 1; + background-color: transparent; + border: 1px solid transparent; + border-radius: 0.25rem; +} + +.navbar-toggler:hover, .navbar-toggler:focus { + text-decoration: none; +} + +.navbar-toggler:not(:disabled):not(.disabled) { + cursor: pointer; +} + +.navbar-toggler-icon { + display: inline-block; + width: 1.5em; + height: 1.5em; + vertical-align: middle; + content: ""; + background: no-repeat center center; + background-size: 100% 100%; +} + +@media (max-width: 575.98px) { + .navbar-expand-sm > .container, + .navbar-expand-sm > .container-fluid { + padding-right: 0; + padding-left: 0; + } +} + +@media (min-width: 576px) { + .navbar-expand-sm { + -ms-flex-flow: row nowrap; + flex-flow: row nowrap; + -ms-flex-pack: start; + justify-content: flex-start; + } + .navbar-expand-sm .navbar-nav { + -ms-flex-direction: row; + flex-direction: row; + } + .navbar-expand-sm .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-sm .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + .navbar-expand-sm > .container, + .navbar-expand-sm > .container-fluid { + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + } + .navbar-expand-sm .navbar-collapse { + display: -ms-flexbox !important; + display: flex !important; + -ms-flex-preferred-size: auto; + flex-basis: auto; + } + .navbar-expand-sm .navbar-toggler { + display: none; + } +} + +@media (max-width: 767.98px) { + .navbar-expand-md > .container, + .navbar-expand-md > .container-fluid { + padding-right: 0; + padding-left: 0; + } +} + +@media (min-width: 768px) { + .navbar-expand-md { + -ms-flex-flow: row nowrap; + flex-flow: row nowrap; + -ms-flex-pack: start; + justify-content: flex-start; + } + .navbar-expand-md .navbar-nav { + -ms-flex-direction: row; + flex-direction: row; + } + .navbar-expand-md .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-md .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + .navbar-expand-md > .container, + .navbar-expand-md > .container-fluid { + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + } + .navbar-expand-md .navbar-collapse { + display: -ms-flexbox !important; + display: flex !important; + -ms-flex-preferred-size: auto; + flex-basis: auto; + } + .navbar-expand-md .navbar-toggler { + display: none; + } +} + +@media (max-width: 991.98px) { + .navbar-expand-lg > .container, + .navbar-expand-lg > .container-fluid { + padding-right: 0; + padding-left: 0; + } +} + +@media (min-width: 992px) { + .navbar-expand-lg { + -ms-flex-flow: row nowrap; + flex-flow: row nowrap; + -ms-flex-pack: start; + justify-content: flex-start; + } + .navbar-expand-lg .navbar-nav { + -ms-flex-direction: row; + flex-direction: row; + } + .navbar-expand-lg .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-lg .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + .navbar-expand-lg > .container, + .navbar-expand-lg > .container-fluid { + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + } + .navbar-expand-lg .navbar-collapse { + display: -ms-flexbox !important; + display: flex !important; + -ms-flex-preferred-size: auto; + flex-basis: auto; + } + .navbar-expand-lg .navbar-toggler { + display: none; + } +} + +@media (max-width: 1199.98px) { + .navbar-expand-xl > .container, + .navbar-expand-xl > .container-fluid { + padding-right: 0; + padding-left: 0; + } +} + +@media (min-width: 1200px) { + .navbar-expand-xl { + -ms-flex-flow: row nowrap; + flex-flow: row nowrap; + -ms-flex-pack: start; + justify-content: flex-start; + } + .navbar-expand-xl .navbar-nav { + -ms-flex-direction: row; + flex-direction: row; + } + .navbar-expand-xl .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-xl .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + .navbar-expand-xl > .container, + .navbar-expand-xl > .container-fluid { + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + } + .navbar-expand-xl .navbar-collapse { + display: -ms-flexbox !important; + display: flex !important; + -ms-flex-preferred-size: auto; + flex-basis: auto; + } + .navbar-expand-xl .navbar-toggler { + display: none; + } +} + +.navbar-expand { + -ms-flex-flow: row nowrap; + flex-flow: row nowrap; + -ms-flex-pack: start; + justify-content: flex-start; +} + +.navbar-expand > .container, +.navbar-expand > .container-fluid { + padding-right: 0; + padding-left: 0; +} + +.navbar-expand .navbar-nav { + -ms-flex-direction: row; + flex-direction: row; +} + +.navbar-expand .navbar-nav .dropdown-menu { + position: absolute; +} + +.navbar-expand .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; +} + +.navbar-expand > .container, +.navbar-expand > .container-fluid { + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; +} + +.navbar-expand .navbar-collapse { + display: -ms-flexbox !important; + display: flex !important; + -ms-flex-preferred-size: auto; + flex-basis: auto; +} + +.navbar-expand .navbar-toggler { + display: none; +} + +.navbar-light .navbar-brand { + color: rgba(0, 0, 0, 0.9); +} + +.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus { + color: rgba(0, 0, 0, 0.9); +} + +.navbar-light .navbar-nav .nav-link { + color: rgba(0, 0, 0, 0.5); +} + +.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus { + color: rgba(0, 0, 0, 0.7); +} + +.navbar-light .navbar-nav .nav-link.disabled { + color: rgba(0, 0, 0, 0.3); +} + +.navbar-light .navbar-nav .show > .nav-link, +.navbar-light .navbar-nav .active > .nav-link, +.navbar-light .navbar-nav .nav-link.show, +.navbar-light .navbar-nav .nav-link.active { + color: rgba(0, 0, 0, 0.9); +} + +.navbar-light .navbar-toggler { + color: rgba(0, 0, 0, 0.5); + border-color: rgba(0, 0, 0, 0.1); +} + +.navbar-light .navbar-toggler-icon { + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E"); +} + +.navbar-light .navbar-text { + color: rgba(0, 0, 0, 0.5); +} + +.navbar-light .navbar-text a { + color: rgba(0, 0, 0, 0.9); +} + +.navbar-light .navbar-text a:hover, .navbar-light .navbar-text a:focus { + color: rgba(0, 0, 0, 0.9); +} + +.navbar-dark .navbar-brand { + color: #fff; +} + +.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus { + color: #fff; +} + +.navbar-dark .navbar-nav .nav-link { + color: rgba(255, 255, 255, 0.5); +} + +.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus { + color: rgba(255, 255, 255, 0.75); +} + +.navbar-dark .navbar-nav .nav-link.disabled { + color: rgba(255, 255, 255, 0.25); +} + +.navbar-dark .navbar-nav .show > .nav-link, +.navbar-dark .navbar-nav .active > .nav-link, +.navbar-dark .navbar-nav .nav-link.show, +.navbar-dark .navbar-nav .nav-link.active { + color: #fff; +} + +.navbar-dark .navbar-toggler { + color: rgba(255, 255, 255, 0.5); + border-color: rgba(255, 255, 255, 0.1); +} + +.navbar-dark .navbar-toggler-icon { + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E"); +} + +.navbar-dark .navbar-text { + color: rgba(255, 255, 255, 0.5); +} + +.navbar-dark .navbar-text a { + color: #fff; +} + +.navbar-dark .navbar-text a:hover, .navbar-dark .navbar-text a:focus { + color: #fff; +} + +.card { + position: relative; + display: -ms-flexbox; + display: flex; + -ms-flex-direction: column; + flex-direction: column; + min-width: 0; + word-wrap: break-word; + background-color: #fff; + background-clip: border-box; + border: 1px solid rgba(0, 0, 0, 0.125); + border-radius: 0.25rem; +} + +.card > hr { + margin-right: 0; + margin-left: 0; +} + +.card > .list-group:first-child .list-group-item:first-child { + border-top-left-radius: 0.25rem; + border-top-right-radius: 0.25rem; +} + +.card > .list-group:last-child .list-group-item:last-child { + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; +} + +.card-body { + -ms-flex: 1 1 auto; + flex: 1 1 auto; + padding: 1.25rem; +} + +.card-title { + margin-bottom: 0.75rem; +} + +.card-subtitle { + margin-top: -0.375rem; + margin-bottom: 0; +} + +.card-text:last-child { + margin-bottom: 0; +} + +.card-link:hover { + text-decoration: none; +} + +.card-link + .card-link { + margin-left: 1.25rem; +} + +.card-header { + padding: 0.75rem 1.25rem; + margin-bottom: 0; + background-color: rgba(0, 0, 0, 0.03); + border-bottom: 1px solid rgba(0, 0, 0, 0.125); +} + +.card-header:first-child { + border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0; +} + +.card-header + .list-group .list-group-item:first-child { + border-top: 0; +} + +.card-footer { + padding: 0.75rem 1.25rem; + background-color: rgba(0, 0, 0, 0.03); + border-top: 1px solid rgba(0, 0, 0, 0.125); +} + +.card-footer:last-child { + border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px); +} + +.card-header-tabs { + margin-right: -0.625rem; + margin-bottom: -0.75rem; + margin-left: -0.625rem; + border-bottom: 0; +} + +.card-header-pills { + margin-right: -0.625rem; + margin-left: -0.625rem; +} + +.card-img-overlay { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + padding: 1.25rem; +} + +.card-img { + width: 100%; + border-radius: calc(0.25rem - 1px); +} + +.card-img-top { + width: 100%; + border-top-left-radius: calc(0.25rem - 1px); + border-top-right-radius: calc(0.25rem - 1px); +} + +.card-img-bottom { + width: 100%; + border-bottom-right-radius: calc(0.25rem - 1px); + border-bottom-left-radius: calc(0.25rem - 1px); +} + +.card-deck { + display: -ms-flexbox; + display: flex; + -ms-flex-direction: column; + flex-direction: column; +} + +.card-deck .card { + margin-bottom: 15px; +} + +@media (min-width: 576px) { + .card-deck { + -ms-flex-flow: row wrap; + flex-flow: row wrap; + margin-right: -15px; + margin-left: -15px; + } + .card-deck .card { + display: -ms-flexbox; + display: flex; + -ms-flex: 1 0 0%; + flex: 1 0 0%; + -ms-flex-direction: column; + flex-direction: column; + margin-right: 15px; + margin-bottom: 0; + margin-left: 15px; + } +} + +.card-group { + display: -ms-flexbox; + display: flex; + -ms-flex-direction: column; + flex-direction: column; +} + +.card-group > .card { + margin-bottom: 15px; +} + +@media (min-width: 576px) { + .card-group { + -ms-flex-flow: row wrap; + flex-flow: row wrap; + } + .card-group > .card { + -ms-flex: 1 0 0%; + flex: 1 0 0%; + margin-bottom: 0; + } + .card-group > .card + .card { + margin-left: 0; + border-left: 0; + } + .card-group > .card:first-child { + border-top-right-radius: 0; + border-bottom-right-radius: 0; + } + .card-group > .card:first-child .card-img-top, + .card-group > .card:first-child .card-header { + border-top-right-radius: 0; + } + .card-group > .card:first-child .card-img-bottom, + .card-group > .card:first-child .card-footer { + border-bottom-right-radius: 0; + } + .card-group > .card:last-child { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + } + .card-group > .card:last-child .card-img-top, + .card-group > .card:last-child .card-header { + border-top-left-radius: 0; + } + .card-group > .card:last-child .card-img-bottom, + .card-group > .card:last-child .card-footer { + border-bottom-left-radius: 0; + } + .card-group > .card:only-child { + border-radius: 0.25rem; + } + .card-group > .card:only-child .card-img-top, + .card-group > .card:only-child .card-header { + border-top-left-radius: 0.25rem; + border-top-right-radius: 0.25rem; + } + .card-group > .card:only-child .card-img-bottom, + .card-group > .card:only-child .card-footer { + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; + } + .card-group > .card:not(:first-child):not(:last-child):not(:only-child) { + border-radius: 0; + } + .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-img-top, + .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-img-bottom, + .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-header, + .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-footer { + border-radius: 0; + } +} + +.card-columns .card { + margin-bottom: 0.75rem; +} + +@media (min-width: 576px) { + .card-columns { + -webkit-column-count: 3; + -moz-column-count: 3; + column-count: 3; + -webkit-column-gap: 1.25rem; + -moz-column-gap: 1.25rem; + column-gap: 1.25rem; + orphans: 1; + widows: 1; + } + .card-columns .card { + display: inline-block; + width: 100%; + } +} + +.accordion .card:not(:first-of-type):not(:last-of-type) { + border-bottom: 0; + border-radius: 0; +} + +.accordion .card:not(:first-of-type) .card-header:first-child { + border-radius: 0; +} + +.accordion .card:first-of-type { + border-bottom: 0; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} + +.accordion .card:last-of-type { + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +.breadcrumb { + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + padding: 0.75rem 1rem; + margin-bottom: 1rem; + list-style: none; + background-color: #e9ecef; + border-radius: 0.25rem; +} + +.breadcrumb-item + .breadcrumb-item { + padding-left: 0.5rem; +} + +.breadcrumb-item + .breadcrumb-item::before { + display: inline-block; + padding-right: 0.5rem; + color: #6c757d; + content: "/"; +} + +.breadcrumb-item + .breadcrumb-item:hover::before { + text-decoration: underline; +} + +.breadcrumb-item + .breadcrumb-item:hover::before { + text-decoration: none; +} + +.breadcrumb-item.active { + color: #6c757d; +} + +.pagination { + display: -ms-flexbox; + display: flex; + padding-left: 0; + list-style: none; + border-radius: 0.25rem; +} + +.page-link { + position: relative; + display: block; + padding: 0.5rem 0.75rem; + margin-left: -1px; + line-height: 1.25; + color: #007bff; + background-color: #fff; + border: 1px solid #dee2e6; +} + +.page-link:hover { + z-index: 2; + color: #0056b3; + text-decoration: none; + background-color: #e9ecef; + border-color: #dee2e6; +} + +.page-link:focus { + z-index: 2; + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.page-link:not(:disabled):not(.disabled) { + cursor: pointer; +} + +.page-item:first-child .page-link { + margin-left: 0; + border-top-left-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; +} + +.page-item:last-child .page-link { + border-top-right-radius: 0.25rem; + border-bottom-right-radius: 0.25rem; +} + +.page-item.active .page-link { + z-index: 1; + color: #fff; + background-color: #007bff; + border-color: #007bff; +} + +.page-item.disabled .page-link { + color: #6c757d; + pointer-events: none; + cursor: auto; + background-color: #fff; + border-color: #dee2e6; +} + +.pagination-lg .page-link { + padding: 0.75rem 1.5rem; + font-size: 1.25rem; + line-height: 1.5; +} + +.pagination-lg .page-item:first-child .page-link { + border-top-left-radius: 0.3rem; + border-bottom-left-radius: 0.3rem; +} + +.pagination-lg .page-item:last-child .page-link { + border-top-right-radius: 0.3rem; + border-bottom-right-radius: 0.3rem; +} + +.pagination-sm .page-link { + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + line-height: 1.5; +} + +.pagination-sm .page-item:first-child .page-link { + border-top-left-radius: 0.2rem; + border-bottom-left-radius: 0.2rem; +} + +.pagination-sm .page-item:last-child .page-link { + border-top-right-radius: 0.2rem; + border-bottom-right-radius: 0.2rem; +} + +.badge { + display: inline-block; + padding: 0.25em 0.4em; + font-size: 75%; + font-weight: 700; + line-height: 1; + text-align: center; + white-space: nowrap; + vertical-align: baseline; + border-radius: 0.25rem; +} + +.badge:empty { + display: none; +} + +.btn .badge { + position: relative; + top: -1px; +} + +.badge-pill { + padding-right: 0.6em; + padding-left: 0.6em; + border-radius: 10rem; +} + +.badge-primary { + color: #fff; + background-color: #007bff; +} + +.badge-primary[href]:hover, .badge-primary[href]:focus { + color: #fff; + text-decoration: none; + background-color: #0062cc; +} + +.badge-secondary { + color: #fff; + background-color: #6c757d; +} + +.badge-secondary[href]:hover, .badge-secondary[href]:focus { + color: #fff; + text-decoration: none; + background-color: #545b62; +} + +.badge-success { + color: #fff; + background-color: #28a745; +} + +.badge-success[href]:hover, .badge-success[href]:focus { + color: #fff; + text-decoration: none; + background-color: #1e7e34; +} + +.badge-info { + color: #fff; + background-color: #17a2b8; +} + +.badge-info[href]:hover, .badge-info[href]:focus { + color: #fff; + text-decoration: none; + background-color: #117a8b; +} + +.badge-warning { + color: #212529; + background-color: #ffc107; +} + +.badge-warning[href]:hover, .badge-warning[href]:focus { + color: #212529; + text-decoration: none; + background-color: #d39e00; +} + +.badge-danger { + color: #fff; + background-color: #dc3545; +} + +.badge-danger[href]:hover, .badge-danger[href]:focus { + color: #fff; + text-decoration: none; + background-color: #bd2130; +} + +.badge-light { + color: #212529; + background-color: #f8f9fa; +} + +.badge-light[href]:hover, .badge-light[href]:focus { + color: #212529; + text-decoration: none; + background-color: #dae0e5; +} + +.badge-dark { + color: #fff; + background-color: #343a40; +} + +.badge-dark[href]:hover, .badge-dark[href]:focus { + color: #fff; + text-decoration: none; + background-color: #1d2124; +} + +.jumbotron { + padding: 2rem 1rem; + margin-bottom: 2rem; + background-color: #e9ecef; + border-radius: 0.3rem; +} + +@media (min-width: 576px) { + .jumbotron { + padding: 4rem 2rem; + } +} + +.jumbotron-fluid { + padding-right: 0; + padding-left: 0; + border-radius: 0; +} + +.alert { + position: relative; + padding: 0.75rem 1.25rem; + margin-bottom: 1rem; + border: 1px solid transparent; + border-radius: 0.25rem; +} + +.alert-heading { + color: inherit; +} + +.alert-link { + font-weight: 700; +} + +.alert-dismissible { + padding-right: 4rem; +} + +.alert-dismissible .close { + position: absolute; + top: 0; + right: 0; + padding: 0.75rem 1.25rem; + color: inherit; +} + +.alert-primary { + color: #004085; + background-color: #cce5ff; + border-color: #b8daff; +} + +.alert-primary hr { + border-top-color: #9fcdff; +} + +.alert-primary .alert-link { + color: #002752; +} + +.alert-secondary { + color: #383d41; + background-color: #e2e3e5; + border-color: #d6d8db; +} + +.alert-secondary hr { + border-top-color: #c8cbcf; +} + +.alert-secondary .alert-link { + color: #202326; +} + +.alert-success { + color: #155724; + background-color: #d4edda; + border-color: #c3e6cb; +} + +.alert-success hr { + border-top-color: #b1dfbb; +} + +.alert-success .alert-link { + color: #0b2e13; +} + +.alert-info { + color: #0c5460; + background-color: #d1ecf1; + border-color: #bee5eb; +} + +.alert-info hr { + border-top-color: #abdde5; +} + +.alert-info .alert-link { + color: #062c33; +} + +.alert-warning { + color: #856404; + background-color: #fff3cd; + border-color: #ffeeba; +} + +.alert-warning hr { + border-top-color: #ffe8a1; +} + +.alert-warning .alert-link { + color: #533f03; +} + +.alert-danger { + color: #721c24; + background-color: #f8d7da; + border-color: #f5c6cb; +} + +.alert-danger hr { + border-top-color: #f1b0b7; +} + +.alert-danger .alert-link { + color: #491217; +} + +.alert-light { + color: #818182; + background-color: #fefefe; + border-color: #fdfdfe; +} + +.alert-light hr { + border-top-color: #ececf6; +} + +.alert-light .alert-link { + color: #686868; +} + +.alert-dark { + color: #1b1e21; + background-color: #d6d8d9; + border-color: #c6c8ca; +} + +.alert-dark hr { + border-top-color: #b9bbbe; +} + +.alert-dark .alert-link { + color: #040505; +} + +@-webkit-keyframes progress-bar-stripes { + from { + background-position: 1rem 0; + } + to { + background-position: 0 0; + } +} + +@keyframes progress-bar-stripes { + from { + background-position: 1rem 0; + } + to { + background-position: 0 0; + } +} + +.progress { + display: -ms-flexbox; + display: flex; + height: 1rem; + overflow: hidden; + font-size: 0.75rem; + background-color: #e9ecef; + border-radius: 0.25rem; +} + +.progress-bar { + display: -ms-flexbox; + display: flex; + -ms-flex-direction: column; + flex-direction: column; + -ms-flex-pack: center; + justify-content: center; + color: #fff; + text-align: center; + white-space: nowrap; + background-color: #007bff; + transition: width 0.6s ease; +} + +@media screen and (prefers-reduced-motion: reduce) { + .progress-bar { + transition: none; + } +} + +.progress-bar-striped { + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-size: 1rem 1rem; +} + +.progress-bar-animated { + -webkit-animation: progress-bar-stripes 1s linear infinite; + animation: progress-bar-stripes 1s linear infinite; +} + +.media { + display: -ms-flexbox; + display: flex; + -ms-flex-align: start; + align-items: flex-start; +} + +.media-body { + -ms-flex: 1; + flex: 1; +} + +.list-group { + display: -ms-flexbox; + display: flex; + -ms-flex-direction: column; + flex-direction: column; + padding-left: 0; + margin-bottom: 0; +} + +.list-group-item-action { + width: 100%; + color: #495057; + text-align: inherit; +} + +.list-group-item-action:hover, .list-group-item-action:focus { + color: #495057; + text-decoration: none; + background-color: #f8f9fa; +} + +.list-group-item-action:active { + color: #212529; + background-color: #e9ecef; +} + +.list-group-item { + position: relative; + display: block; + padding: 0.75rem 1.25rem; + margin-bottom: -1px; + background-color: #fff; + border: 1px solid rgba(0, 0, 0, 0.125); +} + +.list-group-item:first-child { + border-top-left-radius: 0.25rem; + border-top-right-radius: 0.25rem; +} + +.list-group-item:last-child { + margin-bottom: 0; + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; +} + +.list-group-item:hover, .list-group-item:focus { + z-index: 1; + text-decoration: none; +} + +.list-group-item.disabled, .list-group-item:disabled { + color: #6c757d; + background-color: #fff; +} + +.list-group-item.active { + z-index: 2; + color: #fff; + background-color: #007bff; + border-color: #007bff; +} + +.list-group-flush .list-group-item { + border-right: 0; + border-left: 0; + border-radius: 0; +} + +.list-group-flush:first-child .list-group-item:first-child { + border-top: 0; +} + +.list-group-flush:last-child .list-group-item:last-child { + border-bottom: 0; +} + +.list-group-item-primary { + color: #004085; + background-color: #b8daff; +} + +.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus { + color: #004085; + background-color: #9fcdff; +} + +.list-group-item-primary.list-group-item-action.active { + color: #fff; + background-color: #004085; + border-color: #004085; +} + +.list-group-item-secondary { + color: #383d41; + background-color: #d6d8db; +} + +.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus { + color: #383d41; + background-color: #c8cbcf; +} + +.list-group-item-secondary.list-group-item-action.active { + color: #fff; + background-color: #383d41; + border-color: #383d41; +} + +.list-group-item-success { + color: #155724; + background-color: #c3e6cb; +} + +.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus { + color: #155724; + background-color: #b1dfbb; +} + +.list-group-item-success.list-group-item-action.active { + color: #fff; + background-color: #155724; + border-color: #155724; +} + +.list-group-item-info { + color: #0c5460; + background-color: #bee5eb; +} + +.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus { + color: #0c5460; + background-color: #abdde5; +} + +.list-group-item-info.list-group-item-action.active { + color: #fff; + background-color: #0c5460; + border-color: #0c5460; +} + +.list-group-item-warning { + color: #856404; + background-color: #ffeeba; +} + +.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus { + color: #856404; + background-color: #ffe8a1; +} + +.list-group-item-warning.list-group-item-action.active { + color: #fff; + background-color: #856404; + border-color: #856404; +} + +.list-group-item-danger { + color: #721c24; + background-color: #f5c6cb; +} + +.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus { + color: #721c24; + background-color: #f1b0b7; +} + +.list-group-item-danger.list-group-item-action.active { + color: #fff; + background-color: #721c24; + border-color: #721c24; +} + +.list-group-item-light { + color: #818182; + background-color: #fdfdfe; +} + +.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus { + color: #818182; + background-color: #ececf6; +} + +.list-group-item-light.list-group-item-action.active { + color: #fff; + background-color: #818182; + border-color: #818182; +} + +.list-group-item-dark { + color: #1b1e21; + background-color: #c6c8ca; +} + +.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus { + color: #1b1e21; + background-color: #b9bbbe; +} + +.list-group-item-dark.list-group-item-action.active { + color: #fff; + background-color: #1b1e21; + border-color: #1b1e21; +} + +.close { + float: right; + font-size: 1.5rem; + font-weight: 700; + line-height: 1; + color: #000; + text-shadow: 0 1px 0 #fff; + opacity: .5; +} + +.close:not(:disabled):not(.disabled) { + cursor: pointer; +} + +.close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus { + color: #000; + text-decoration: none; + opacity: .75; +} + +button.close { + padding: 0; + background-color: transparent; + border: 0; + -webkit-appearance: none; +} + +.modal-open { + overflow: hidden; +} + +.modal-open .modal { + overflow-x: hidden; + overflow-y: auto; +} + +.modal { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1050; + display: none; + overflow: hidden; + outline: 0; +} + +.modal-dialog { + position: relative; + width: auto; + margin: 0.5rem; + pointer-events: none; +} + +.modal.fade .modal-dialog { + transition: -webkit-transform 0.3s ease-out; + transition: transform 0.3s ease-out; + transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out; + -webkit-transform: translate(0, -25%); + transform: translate(0, -25%); +} + +@media screen and (prefers-reduced-motion: reduce) { + .modal.fade .modal-dialog { + transition: none; + } +} + +.modal.show .modal-dialog { + -webkit-transform: translate(0, 0); + transform: translate(0, 0); +} + +.modal-dialog-centered { + display: -ms-flexbox; + display: flex; + -ms-flex-align: center; + align-items: center; + min-height: calc(100% - (0.5rem * 2)); +} + +.modal-dialog-centered::before { + display: block; + height: calc(100vh - (0.5rem * 2)); + content: ""; +} + +.modal-content { + position: relative; + display: -ms-flexbox; + display: flex; + -ms-flex-direction: column; + flex-direction: column; + width: 100%; + pointer-events: auto; + background-color: #fff; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 0.3rem; + outline: 0; +} + +.modal-backdrop { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1040; + background-color: #000; +} + +.modal-backdrop.fade { + opacity: 0; +} + +.modal-backdrop.show { + opacity: 0.5; +} + +.modal-header { + display: -ms-flexbox; + display: flex; + -ms-flex-align: start; + align-items: flex-start; + -ms-flex-pack: justify; + justify-content: space-between; + padding: 1rem; + border-bottom: 1px solid #e9ecef; + border-top-left-radius: 0.3rem; + border-top-right-radius: 0.3rem; +} + +.modal-header .close { + padding: 1rem; + margin: -1rem -1rem -1rem auto; +} + +.modal-title { + margin-bottom: 0; + line-height: 1.5; +} + +.modal-body { + position: relative; + -ms-flex: 1 1 auto; + flex: 1 1 auto; + padding: 1rem; +} + +.modal-footer { + display: -ms-flexbox; + display: flex; + -ms-flex-align: center; + align-items: center; + -ms-flex-pack: end; + justify-content: flex-end; + padding: 1rem; + border-top: 1px solid #e9ecef; +} + +.modal-footer > :not(:first-child) { + margin-left: .25rem; +} + +.modal-footer > :not(:last-child) { + margin-right: .25rem; +} + +.modal-scrollbar-measure { + position: absolute; + top: -9999px; + width: 50px; + height: 50px; + overflow: scroll; +} + +@media (min-width: 576px) { + .modal-dialog { + max-width: 500px; + margin: 1.75rem auto; + } + .modal-dialog-centered { + min-height: calc(100% - (1.75rem * 2)); + } + .modal-dialog-centered::before { + height: calc(100vh - (1.75rem * 2)); + } + .modal-sm { + max-width: 300px; + } +} + +@media (min-width: 992px) { + .modal-lg { + max-width: 800px; + } +} + +.tooltip { + position: absolute; + z-index: 1070; + display: block; + margin: 0; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + font-style: normal; + font-weight: 400; + line-height: 1.5; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + word-spacing: normal; + white-space: normal; + line-break: auto; + font-size: 0.875rem; + word-wrap: break-word; + opacity: 0; +} + +.tooltip.show { + opacity: 0.9; +} + +.tooltip .arrow { + position: absolute; + display: block; + width: 0.8rem; + height: 0.4rem; +} + +.tooltip .arrow::before { + position: absolute; + content: ""; + border-color: transparent; + border-style: solid; +} + +.bs-tooltip-top, .bs-tooltip-auto[x-placement^="top"] { + padding: 0.4rem 0; +} + +.bs-tooltip-top .arrow, .bs-tooltip-auto[x-placement^="top"] .arrow { + bottom: 0; +} + +.bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^="top"] .arrow::before { + top: 0; + border-width: 0.4rem 0.4rem 0; + border-top-color: #000; +} + +.bs-tooltip-right, .bs-tooltip-auto[x-placement^="right"] { + padding: 0 0.4rem; +} + +.bs-tooltip-right .arrow, .bs-tooltip-auto[x-placement^="right"] .arrow { + left: 0; + width: 0.4rem; + height: 0.8rem; +} + +.bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^="right"] .arrow::before { + right: 0; + border-width: 0.4rem 0.4rem 0.4rem 0; + border-right-color: #000; +} + +.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^="bottom"] { + padding: 0.4rem 0; +} + +.bs-tooltip-bottom .arrow, .bs-tooltip-auto[x-placement^="bottom"] .arrow { + top: 0; +} + +.bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^="bottom"] .arrow::before { + bottom: 0; + border-width: 0 0.4rem 0.4rem; + border-bottom-color: #000; +} + +.bs-tooltip-left, .bs-tooltip-auto[x-placement^="left"] { + padding: 0 0.4rem; +} + +.bs-tooltip-left .arrow, .bs-tooltip-auto[x-placement^="left"] .arrow { + right: 0; + width: 0.4rem; + height: 0.8rem; +} + +.bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^="left"] .arrow::before { + left: 0; + border-width: 0.4rem 0 0.4rem 0.4rem; + border-left-color: #000; +} + +.tooltip-inner { + max-width: 200px; + padding: 0.25rem 0.5rem; + color: #fff; + text-align: center; + background-color: #000; + border-radius: 0.25rem; +} + +.popover { + position: absolute; + top: 0; + left: 0; + z-index: 1060; + display: block; + max-width: 276px; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + font-style: normal; + font-weight: 400; + line-height: 1.5; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + word-spacing: normal; + white-space: normal; + line-break: auto; + font-size: 0.875rem; + word-wrap: break-word; + background-color: #fff; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 0.3rem; +} + +.popover .arrow { + position: absolute; + display: block; + width: 1rem; + height: 0.5rem; + margin: 0 0.3rem; +} + +.popover .arrow::before, .popover .arrow::after { + position: absolute; + display: block; + content: ""; + border-color: transparent; + border-style: solid; +} + +.bs-popover-top, .bs-popover-auto[x-placement^="top"] { + margin-bottom: 0.5rem; +} + +.bs-popover-top .arrow, .bs-popover-auto[x-placement^="top"] .arrow { + bottom: calc((0.5rem + 1px) * -1); +} + +.bs-popover-top .arrow::before, .bs-popover-auto[x-placement^="top"] .arrow::before, +.bs-popover-top .arrow::after, +.bs-popover-auto[x-placement^="top"] .arrow::after { + border-width: 0.5rem 0.5rem 0; +} + +.bs-popover-top .arrow::before, .bs-popover-auto[x-placement^="top"] .arrow::before { + bottom: 0; + border-top-color: rgba(0, 0, 0, 0.25); +} + + +.bs-popover-top .arrow::after, +.bs-popover-auto[x-placement^="top"] .arrow::after { + bottom: 1px; + border-top-color: #fff; +} + +.bs-popover-right, .bs-popover-auto[x-placement^="right"] { + margin-left: 0.5rem; +} + +.bs-popover-right .arrow, .bs-popover-auto[x-placement^="right"] .arrow { + left: calc((0.5rem + 1px) * -1); + width: 0.5rem; + height: 1rem; + margin: 0.3rem 0; +} + +.bs-popover-right .arrow::before, .bs-popover-auto[x-placement^="right"] .arrow::before, +.bs-popover-right .arrow::after, +.bs-popover-auto[x-placement^="right"] .arrow::after { + border-width: 0.5rem 0.5rem 0.5rem 0; +} + +.bs-popover-right .arrow::before, .bs-popover-auto[x-placement^="right"] .arrow::before { + left: 0; + border-right-color: rgba(0, 0, 0, 0.25); +} + + +.bs-popover-right .arrow::after, +.bs-popover-auto[x-placement^="right"] .arrow::after { + left: 1px; + border-right-color: #fff; +} + +.bs-popover-bottom, .bs-popover-auto[x-placement^="bottom"] { + margin-top: 0.5rem; +} + +.bs-popover-bottom .arrow, .bs-popover-auto[x-placement^="bottom"] .arrow { + top: calc((0.5rem + 1px) * -1); +} + +.bs-popover-bottom .arrow::before, .bs-popover-auto[x-placement^="bottom"] .arrow::before, +.bs-popover-bottom .arrow::after, +.bs-popover-auto[x-placement^="bottom"] .arrow::after { + border-width: 0 0.5rem 0.5rem 0.5rem; +} + +.bs-popover-bottom .arrow::before, .bs-popover-auto[x-placement^="bottom"] .arrow::before { + top: 0; + border-bottom-color: rgba(0, 0, 0, 0.25); +} + + +.bs-popover-bottom .arrow::after, +.bs-popover-auto[x-placement^="bottom"] .arrow::after { + top: 1px; + border-bottom-color: #fff; +} + +.bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^="bottom"] .popover-header::before { + position: absolute; + top: 0; + left: 50%; + display: block; + width: 1rem; + margin-left: -0.5rem; + content: ""; + border-bottom: 1px solid #f7f7f7; +} + +.bs-popover-left, .bs-popover-auto[x-placement^="left"] { + margin-right: 0.5rem; +} + +.bs-popover-left .arrow, .bs-popover-auto[x-placement^="left"] .arrow { + right: calc((0.5rem + 1px) * -1); + width: 0.5rem; + height: 1rem; + margin: 0.3rem 0; +} + +.bs-popover-left .arrow::before, .bs-popover-auto[x-placement^="left"] .arrow::before, +.bs-popover-left .arrow::after, +.bs-popover-auto[x-placement^="left"] .arrow::after { + border-width: 0.5rem 0 0.5rem 0.5rem; +} + +.bs-popover-left .arrow::before, .bs-popover-auto[x-placement^="left"] .arrow::before { + right: 0; + border-left-color: rgba(0, 0, 0, 0.25); +} + + +.bs-popover-left .arrow::after, +.bs-popover-auto[x-placement^="left"] .arrow::after { + right: 1px; + border-left-color: #fff; +} + +.popover-header { + padding: 0.5rem 0.75rem; + margin-bottom: 0; + font-size: 1rem; + color: inherit; + background-color: #f7f7f7; + border-bottom: 1px solid #ebebeb; + border-top-left-radius: calc(0.3rem - 1px); + border-top-right-radius: calc(0.3rem - 1px); +} + +.popover-header:empty { + display: none; +} + +.popover-body { + padding: 0.5rem 0.75rem; + color: #212529; +} + +.carousel { + position: relative; +} + +.carousel-inner { + position: relative; + width: 100%; + overflow: hidden; +} + +.carousel-item { + position: relative; + display: none; + -ms-flex-align: center; + align-items: center; + width: 100%; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + -webkit-perspective: 1000px; + perspective: 1000px; +} + +.carousel-item.active, +.carousel-item-next, +.carousel-item-prev { + display: block; + transition: -webkit-transform 0.6s ease; + transition: transform 0.6s ease; + transition: transform 0.6s ease, -webkit-transform 0.6s ease; +} + +@media screen and (prefers-reduced-motion: reduce) { + .carousel-item.active, + .carousel-item-next, + .carousel-item-prev { + transition: none; + } +} + +.carousel-item-next, +.carousel-item-prev { + position: absolute; + top: 0; +} + +.carousel-item-next.carousel-item-left, +.carousel-item-prev.carousel-item-right { + -webkit-transform: translateX(0); + transform: translateX(0); +} + +@supports ((-webkit-transform-style: preserve-3d) or (transform-style: preserve-3d)) { + .carousel-item-next.carousel-item-left, + .carousel-item-prev.carousel-item-right { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +.carousel-item-next, +.active.carousel-item-right { + -webkit-transform: translateX(100%); + transform: translateX(100%); +} + +@supports ((-webkit-transform-style: preserve-3d) or (transform-style: preserve-3d)) { + .carousel-item-next, + .active.carousel-item-right { + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + } +} + +.carousel-item-prev, +.active.carousel-item-left { + -webkit-transform: translateX(-100%); + transform: translateX(-100%); +} + +@supports ((-webkit-transform-style: preserve-3d) or (transform-style: preserve-3d)) { + .carousel-item-prev, + .active.carousel-item-left { + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + } +} + +.carousel-fade .carousel-item { + opacity: 0; + transition-duration: .6s; + transition-property: opacity; +} + +.carousel-fade .carousel-item.active, +.carousel-fade .carousel-item-next.carousel-item-left, +.carousel-fade .carousel-item-prev.carousel-item-right { + opacity: 1; +} + +.carousel-fade .active.carousel-item-left, +.carousel-fade .active.carousel-item-right { + opacity: 0; +} + +.carousel-fade .carousel-item-next, +.carousel-fade .carousel-item-prev, +.carousel-fade .carousel-item.active, +.carousel-fade .active.carousel-item-left, +.carousel-fade .active.carousel-item-prev { + -webkit-transform: translateX(0); + transform: translateX(0); +} + +@supports ((-webkit-transform-style: preserve-3d) or (transform-style: preserve-3d)) { + .carousel-fade .carousel-item-next, + .carousel-fade .carousel-item-prev, + .carousel-fade .carousel-item.active, + .carousel-fade .active.carousel-item-left, + .carousel-fade .active.carousel-item-prev { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} + +.carousel-control-prev, +.carousel-control-next { + position: absolute; + top: 0; + bottom: 0; + display: -ms-flexbox; + display: flex; + -ms-flex-align: center; + align-items: center; + -ms-flex-pack: center; + justify-content: center; + width: 15%; + color: #fff; + text-align: center; + opacity: 0.5; +} + +.carousel-control-prev:hover, .carousel-control-prev:focus, +.carousel-control-next:hover, +.carousel-control-next:focus { + color: #fff; + text-decoration: none; + outline: 0; + opacity: .9; +} + +.carousel-control-prev { + left: 0; +} + +.carousel-control-next { + right: 0; +} + +.carousel-control-prev-icon, +.carousel-control-next-icon { + display: inline-block; + width: 20px; + height: 20px; + background: transparent no-repeat center center; + background-size: 100% 100%; +} + +.carousel-control-prev-icon { + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E"); +} + +.carousel-control-next-icon { + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E"); +} + +.carousel-indicators { + position: absolute; + right: 0; + bottom: 10px; + left: 0; + z-index: 15; + display: -ms-flexbox; + display: flex; + -ms-flex-pack: center; + justify-content: center; + padding-left: 0; + margin-right: 15%; + margin-left: 15%; + list-style: none; +} + +.carousel-indicators li { + position: relative; + -ms-flex: 0 1 auto; + flex: 0 1 auto; + width: 30px; + height: 3px; + margin-right: 3px; + margin-left: 3px; + text-indent: -999px; + cursor: pointer; + background-color: rgba(255, 255, 255, 0.5); +} + +.carousel-indicators li::before { + position: absolute; + top: -10px; + left: 0; + display: inline-block; + width: 100%; + height: 10px; + content: ""; +} + +.carousel-indicators li::after { + position: absolute; + bottom: -10px; + left: 0; + display: inline-block; + width: 100%; + height: 10px; + content: ""; +} + +.carousel-indicators .active { + background-color: #fff; +} + +.carousel-caption { + position: absolute; + right: 15%; + bottom: 20px; + left: 15%; + z-index: 10; + padding-top: 20px; + padding-bottom: 20px; + color: #fff; + text-align: center; +} + +.align-baseline { + vertical-align: baseline !important; +} + +.align-top { + vertical-align: top !important; +} + +.align-middle { + vertical-align: middle !important; +} + +.align-bottom { + vertical-align: bottom !important; +} + +.align-text-bottom { + vertical-align: text-bottom !important; +} + +.align-text-top { + vertical-align: text-top !important; +} + +.bg-primary { + background-color: #007bff !important; +} + +a.bg-primary:hover, a.bg-primary:focus, +button.bg-primary:hover, +button.bg-primary:focus { + background-color: #0062cc !important; +} + +.bg-secondary { + background-color: #6c757d !important; +} + +a.bg-secondary:hover, a.bg-secondary:focus, +button.bg-secondary:hover, +button.bg-secondary:focus { + background-color: #545b62 !important; +} + +.bg-success { + background-color: #28a745 !important; +} + +a.bg-success:hover, a.bg-success:focus, +button.bg-success:hover, +button.bg-success:focus { + background-color: #1e7e34 !important; +} + +.bg-info { + background-color: #17a2b8 !important; +} + +a.bg-info:hover, a.bg-info:focus, +button.bg-info:hover, +button.bg-info:focus { + background-color: #117a8b !important; +} + +.bg-warning { + background-color: #ffc107 !important; +} + +a.bg-warning:hover, a.bg-warning:focus, +button.bg-warning:hover, +button.bg-warning:focus { + background-color: #d39e00 !important; +} + +.bg-danger { + background-color: #dc3545 !important; +} + +a.bg-danger:hover, a.bg-danger:focus, +button.bg-danger:hover, +button.bg-danger:focus { + background-color: #bd2130 !important; +} + +.bg-light { + background-color: #f8f9fa !important; +} + +a.bg-light:hover, a.bg-light:focus, +button.bg-light:hover, +button.bg-light:focus { + background-color: #dae0e5 !important; +} + +.bg-dark { + background-color: #343a40 !important; +} + +a.bg-dark:hover, a.bg-dark:focus, +button.bg-dark:hover, +button.bg-dark:focus { + background-color: #1d2124 !important; +} + +.bg-white { + background-color: #fff !important; +} + +.bg-transparent { + background-color: transparent !important; +} + +.border { + border: 1px solid #dee2e6 !important; +} + +.border-top { + border-top: 1px solid #dee2e6 !important; +} + +.border-right { + border-right: 1px solid #dee2e6 !important; +} + +.border-bottom { + border-bottom: 1px solid #dee2e6 !important; +} + +.border-left { + border-left: 1px solid #dee2e6 !important; +} + +.border-0 { + border: 0 !important; +} + +.border-top-0 { + border-top: 0 !important; +} + +.border-right-0 { + border-right: 0 !important; +} + +.border-bottom-0 { + border-bottom: 0 !important; +} + +.border-left-0 { + border-left: 0 !important; +} + +.border-primary { + border-color: #007bff !important; +} + +.border-secondary { + border-color: #6c757d !important; +} + +.border-success { + border-color: #28a745 !important; +} + +.border-info { + border-color: #17a2b8 !important; +} + +.border-warning { + border-color: #ffc107 !important; +} + +.border-danger { + border-color: #dc3545 !important; +} + +.border-light { + border-color: #f8f9fa !important; +} + +.border-dark { + border-color: #343a40 !important; +} + +.border-white { + border-color: #fff !important; +} + +.rounded { + border-radius: 0.25rem !important; +} + +.rounded-top { + border-top-left-radius: 0.25rem !important; + border-top-right-radius: 0.25rem !important; +} + +.rounded-right { + border-top-right-radius: 0.25rem !important; + border-bottom-right-radius: 0.25rem !important; +} + +.rounded-bottom { + border-bottom-right-radius: 0.25rem !important; + border-bottom-left-radius: 0.25rem !important; +} + +.rounded-left { + border-top-left-radius: 0.25rem !important; + border-bottom-left-radius: 0.25rem !important; +} + +.rounded-circle { + border-radius: 50% !important; +} + +.rounded-0 { + border-radius: 0 !important; +} + +.clearfix::after { + display: block; + clear: both; + content: ""; +} + +.d-none { + display: none !important; +} + +.d-inline { + display: inline !important; +} + +.d-inline-block { + display: inline-block !important; +} + +.d-block { + display: block !important; +} + +.d-table { + display: table !important; +} + +.d-table-row { + display: table-row !important; +} + +.d-table-cell { + display: table-cell !important; +} + +.d-flex { + display: -ms-flexbox !important; + display: flex !important; +} + +.d-inline-flex { + display: -ms-inline-flexbox !important; + display: inline-flex !important; +} + +@media (min-width: 576px) { + .d-sm-none { + display: none !important; + } + .d-sm-inline { + display: inline !important; + } + .d-sm-inline-block { + display: inline-block !important; + } + .d-sm-block { + display: block !important; + } + .d-sm-table { + display: table !important; + } + .d-sm-table-row { + display: table-row !important; + } + .d-sm-table-cell { + display: table-cell !important; + } + .d-sm-flex { + display: -ms-flexbox !important; + display: flex !important; + } + .d-sm-inline-flex { + display: -ms-inline-flexbox !important; + display: inline-flex !important; + } +} + +@media (min-width: 768px) { + .d-md-none { + display: none !important; + } + .d-md-inline { + display: inline !important; + } + .d-md-inline-block { + display: inline-block !important; + } + .d-md-block { + display: block !important; + } + .d-md-table { + display: table !important; + } + .d-md-table-row { + display: table-row !important; + } + .d-md-table-cell { + display: table-cell !important; + } + .d-md-flex { + display: -ms-flexbox !important; + display: flex !important; + } + .d-md-inline-flex { + display: -ms-inline-flexbox !important; + display: inline-flex !important; + } +} + +@media (min-width: 992px) { + .d-lg-none { + display: none !important; + } + .d-lg-inline { + display: inline !important; + } + .d-lg-inline-block { + display: inline-block !important; + } + .d-lg-block { + display: block !important; + } + .d-lg-table { + display: table !important; + } + .d-lg-table-row { + display: table-row !important; + } + .d-lg-table-cell { + display: table-cell !important; + } + .d-lg-flex { + display: -ms-flexbox !important; + display: flex !important; + } + .d-lg-inline-flex { + display: -ms-inline-flexbox !important; + display: inline-flex !important; + } +} + +@media (min-width: 1200px) { + .d-xl-none { + display: none !important; + } + .d-xl-inline { + display: inline !important; + } + .d-xl-inline-block { + display: inline-block !important; + } + .d-xl-block { + display: block !important; + } + .d-xl-table { + display: table !important; + } + .d-xl-table-row { + display: table-row !important; + } + .d-xl-table-cell { + display: table-cell !important; + } + .d-xl-flex { + display: -ms-flexbox !important; + display: flex !important; + } + .d-xl-inline-flex { + display: -ms-inline-flexbox !important; + display: inline-flex !important; + } +} + +@media print { + .d-print-none { + display: none !important; + } + .d-print-inline { + display: inline !important; + } + .d-print-inline-block { + display: inline-block !important; + } + .d-print-block { + display: block !important; + } + .d-print-table { + display: table !important; + } + .d-print-table-row { + display: table-row !important; + } + .d-print-table-cell { + display: table-cell !important; + } + .d-print-flex { + display: -ms-flexbox !important; + display: flex !important; + } + .d-print-inline-flex { + display: -ms-inline-flexbox !important; + display: inline-flex !important; + } +} + +.embed-responsive { + position: relative; + display: block; + width: 100%; + padding: 0; + overflow: hidden; +} + +.embed-responsive::before { + display: block; + content: ""; +} + +.embed-responsive .embed-responsive-item, +.embed-responsive iframe, +.embed-responsive embed, +.embed-responsive object, +.embed-responsive video { + position: absolute; + top: 0; + bottom: 0; + left: 0; + width: 100%; + height: 100%; + border: 0; +} + +.embed-responsive-21by9::before { + padding-top: 42.857143%; +} + +.embed-responsive-16by9::before { + padding-top: 56.25%; +} + +.embed-responsive-4by3::before { + padding-top: 75%; +} + +.embed-responsive-1by1::before { + padding-top: 100%; +} + +.flex-row { + -ms-flex-direction: row !important; + flex-direction: row !important; +} + +.flex-column { + -ms-flex-direction: column !important; + flex-direction: column !important; +} + +.flex-row-reverse { + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; +} + +.flex-column-reverse { + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; +} + +.flex-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; +} + +.flex-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; +} + +.flex-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; +} + +.flex-fill { + -ms-flex: 1 1 auto !important; + flex: 1 1 auto !important; +} + +.flex-grow-0 { + -ms-flex-positive: 0 !important; + flex-grow: 0 !important; +} + +.flex-grow-1 { + -ms-flex-positive: 1 !important; + flex-grow: 1 !important; +} + +.flex-shrink-0 { + -ms-flex-negative: 0 !important; + flex-shrink: 0 !important; +} + +.flex-shrink-1 { + -ms-flex-negative: 1 !important; + flex-shrink: 1 !important; +} + +.justify-content-start { + -ms-flex-pack: start !important; + justify-content: flex-start !important; +} + +.justify-content-end { + -ms-flex-pack: end !important; + justify-content: flex-end !important; +} + +.justify-content-center { + -ms-flex-pack: center !important; + justify-content: center !important; +} + +.justify-content-between { + -ms-flex-pack: justify !important; + justify-content: space-between !important; +} + +.justify-content-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; +} + +.align-items-start { + -ms-flex-align: start !important; + align-items: flex-start !important; +} + +.align-items-end { + -ms-flex-align: end !important; + align-items: flex-end !important; +} + +.align-items-center { + -ms-flex-align: center !important; + align-items: center !important; +} + +.align-items-baseline { + -ms-flex-align: baseline !important; + align-items: baseline !important; +} + +.align-items-stretch { + -ms-flex-align: stretch !important; + align-items: stretch !important; +} + +.align-content-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; +} + +.align-content-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; +} + +.align-content-center { + -ms-flex-line-pack: center !important; + align-content: center !important; +} + +.align-content-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; +} + +.align-content-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; +} + +.align-content-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; +} + +.align-self-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; +} + +.align-self-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; +} + +.align-self-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; +} + +.align-self-center { + -ms-flex-item-align: center !important; + align-self: center !important; +} + +.align-self-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; +} + +.align-self-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; +} + +@media (min-width: 576px) { + .flex-sm-row { + -ms-flex-direction: row !important; + flex-direction: row !important; + } + .flex-sm-column { + -ms-flex-direction: column !important; + flex-direction: column !important; + } + .flex-sm-row-reverse { + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; + } + .flex-sm-column-reverse { + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; + } + .flex-sm-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; + } + .flex-sm-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; + } + .flex-sm-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; + } + .flex-sm-fill { + -ms-flex: 1 1 auto !important; + flex: 1 1 auto !important; + } + .flex-sm-grow-0 { + -ms-flex-positive: 0 !important; + flex-grow: 0 !important; + } + .flex-sm-grow-1 { + -ms-flex-positive: 1 !important; + flex-grow: 1 !important; + } + .flex-sm-shrink-0 { + -ms-flex-negative: 0 !important; + flex-shrink: 0 !important; + } + .flex-sm-shrink-1 { + -ms-flex-negative: 1 !important; + flex-shrink: 1 !important; + } + .justify-content-sm-start { + -ms-flex-pack: start !important; + justify-content: flex-start !important; + } + .justify-content-sm-end { + -ms-flex-pack: end !important; + justify-content: flex-end !important; + } + .justify-content-sm-center { + -ms-flex-pack: center !important; + justify-content: center !important; + } + .justify-content-sm-between { + -ms-flex-pack: justify !important; + justify-content: space-between !important; + } + .justify-content-sm-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; + } + .align-items-sm-start { + -ms-flex-align: start !important; + align-items: flex-start !important; + } + .align-items-sm-end { + -ms-flex-align: end !important; + align-items: flex-end !important; + } + .align-items-sm-center { + -ms-flex-align: center !important; + align-items: center !important; + } + .align-items-sm-baseline { + -ms-flex-align: baseline !important; + align-items: baseline !important; + } + .align-items-sm-stretch { + -ms-flex-align: stretch !important; + align-items: stretch !important; + } + .align-content-sm-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; + } + .align-content-sm-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; + } + .align-content-sm-center { + -ms-flex-line-pack: center !important; + align-content: center !important; + } + .align-content-sm-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; + } + .align-content-sm-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; + } + .align-content-sm-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; + } + .align-self-sm-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; + } + .align-self-sm-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; + } + .align-self-sm-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; + } + .align-self-sm-center { + -ms-flex-item-align: center !important; + align-self: center !important; + } + .align-self-sm-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; + } + .align-self-sm-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; + } +} + +@media (min-width: 768px) { + .flex-md-row { + -ms-flex-direction: row !important; + flex-direction: row !important; + } + .flex-md-column { + -ms-flex-direction: column !important; + flex-direction: column !important; + } + .flex-md-row-reverse { + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; + } + .flex-md-column-reverse { + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; + } + .flex-md-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; + } + .flex-md-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; + } + .flex-md-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; + } + .flex-md-fill { + -ms-flex: 1 1 auto !important; + flex: 1 1 auto !important; + } + .flex-md-grow-0 { + -ms-flex-positive: 0 !important; + flex-grow: 0 !important; + } + .flex-md-grow-1 { + -ms-flex-positive: 1 !important; + flex-grow: 1 !important; + } + .flex-md-shrink-0 { + -ms-flex-negative: 0 !important; + flex-shrink: 0 !important; + } + .flex-md-shrink-1 { + -ms-flex-negative: 1 !important; + flex-shrink: 1 !important; + } + .justify-content-md-start { + -ms-flex-pack: start !important; + justify-content: flex-start !important; + } + .justify-content-md-end { + -ms-flex-pack: end !important; + justify-content: flex-end !important; + } + .justify-content-md-center { + -ms-flex-pack: center !important; + justify-content: center !important; + } + .justify-content-md-between { + -ms-flex-pack: justify !important; + justify-content: space-between !important; + } + .justify-content-md-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; + } + .align-items-md-start { + -ms-flex-align: start !important; + align-items: flex-start !important; + } + .align-items-md-end { + -ms-flex-align: end !important; + align-items: flex-end !important; + } + .align-items-md-center { + -ms-flex-align: center !important; + align-items: center !important; + } + .align-items-md-baseline { + -ms-flex-align: baseline !important; + align-items: baseline !important; + } + .align-items-md-stretch { + -ms-flex-align: stretch !important; + align-items: stretch !important; + } + .align-content-md-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; + } + .align-content-md-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; + } + .align-content-md-center { + -ms-flex-line-pack: center !important; + align-content: center !important; + } + .align-content-md-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; + } + .align-content-md-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; + } + .align-content-md-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; + } + .align-self-md-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; + } + .align-self-md-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; + } + .align-self-md-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; + } + .align-self-md-center { + -ms-flex-item-align: center !important; + align-self: center !important; + } + .align-self-md-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; + } + .align-self-md-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; + } +} + +@media (min-width: 992px) { + .flex-lg-row { + -ms-flex-direction: row !important; + flex-direction: row !important; + } + .flex-lg-column { + -ms-flex-direction: column !important; + flex-direction: column !important; + } + .flex-lg-row-reverse { + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; + } + .flex-lg-column-reverse { + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; + } + .flex-lg-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; + } + .flex-lg-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; + } + .flex-lg-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; + } + .flex-lg-fill { + -ms-flex: 1 1 auto !important; + flex: 1 1 auto !important; + } + .flex-lg-grow-0 { + -ms-flex-positive: 0 !important; + flex-grow: 0 !important; + } + .flex-lg-grow-1 { + -ms-flex-positive: 1 !important; + flex-grow: 1 !important; + } + .flex-lg-shrink-0 { + -ms-flex-negative: 0 !important; + flex-shrink: 0 !important; + } + .flex-lg-shrink-1 { + -ms-flex-negative: 1 !important; + flex-shrink: 1 !important; + } + .justify-content-lg-start { + -ms-flex-pack: start !important; + justify-content: flex-start !important; + } + .justify-content-lg-end { + -ms-flex-pack: end !important; + justify-content: flex-end !important; + } + .justify-content-lg-center { + -ms-flex-pack: center !important; + justify-content: center !important; + } + .justify-content-lg-between { + -ms-flex-pack: justify !important; + justify-content: space-between !important; + } + .justify-content-lg-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; + } + .align-items-lg-start { + -ms-flex-align: start !important; + align-items: flex-start !important; + } + .align-items-lg-end { + -ms-flex-align: end !important; + align-items: flex-end !important; + } + .align-items-lg-center { + -ms-flex-align: center !important; + align-items: center !important; + } + .align-items-lg-baseline { + -ms-flex-align: baseline !important; + align-items: baseline !important; + } + .align-items-lg-stretch { + -ms-flex-align: stretch !important; + align-items: stretch !important; + } + .align-content-lg-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; + } + .align-content-lg-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; + } + .align-content-lg-center { + -ms-flex-line-pack: center !important; + align-content: center !important; + } + .align-content-lg-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; + } + .align-content-lg-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; + } + .align-content-lg-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; + } + .align-self-lg-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; + } + .align-self-lg-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; + } + .align-self-lg-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; + } + .align-self-lg-center { + -ms-flex-item-align: center !important; + align-self: center !important; + } + .align-self-lg-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; + } + .align-self-lg-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; + } +} + +@media (min-width: 1200px) { + .flex-xl-row { + -ms-flex-direction: row !important; + flex-direction: row !important; + } + .flex-xl-column { + -ms-flex-direction: column !important; + flex-direction: column !important; + } + .flex-xl-row-reverse { + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; + } + .flex-xl-column-reverse { + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; + } + .flex-xl-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; + } + .flex-xl-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; + } + .flex-xl-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; + } + .flex-xl-fill { + -ms-flex: 1 1 auto !important; + flex: 1 1 auto !important; + } + .flex-xl-grow-0 { + -ms-flex-positive: 0 !important; + flex-grow: 0 !important; + } + .flex-xl-grow-1 { + -ms-flex-positive: 1 !important; + flex-grow: 1 !important; + } + .flex-xl-shrink-0 { + -ms-flex-negative: 0 !important; + flex-shrink: 0 !important; + } + .flex-xl-shrink-1 { + -ms-flex-negative: 1 !important; + flex-shrink: 1 !important; + } + .justify-content-xl-start { + -ms-flex-pack: start !important; + justify-content: flex-start !important; + } + .justify-content-xl-end { + -ms-flex-pack: end !important; + justify-content: flex-end !important; + } + .justify-content-xl-center { + -ms-flex-pack: center !important; + justify-content: center !important; + } + .justify-content-xl-between { + -ms-flex-pack: justify !important; + justify-content: space-between !important; + } + .justify-content-xl-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; + } + .align-items-xl-start { + -ms-flex-align: start !important; + align-items: flex-start !important; + } + .align-items-xl-end { + -ms-flex-align: end !important; + align-items: flex-end !important; + } + .align-items-xl-center { + -ms-flex-align: center !important; + align-items: center !important; + } + .align-items-xl-baseline { + -ms-flex-align: baseline !important; + align-items: baseline !important; + } + .align-items-xl-stretch { + -ms-flex-align: stretch !important; + align-items: stretch !important; + } + .align-content-xl-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; + } + .align-content-xl-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; + } + .align-content-xl-center { + -ms-flex-line-pack: center !important; + align-content: center !important; + } + .align-content-xl-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; + } + .align-content-xl-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; + } + .align-content-xl-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; + } + .align-self-xl-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; + } + .align-self-xl-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; + } + .align-self-xl-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; + } + .align-self-xl-center { + -ms-flex-item-align: center !important; + align-self: center !important; + } + .align-self-xl-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; + } + .align-self-xl-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; + } +} + +.float-left { + float: left !important; +} + +.float-right { + float: right !important; +} + +.float-none { + float: none !important; +} + +@media (min-width: 576px) { + .float-sm-left { + float: left !important; + } + .float-sm-right { + float: right !important; + } + .float-sm-none { + float: none !important; + } +} + +@media (min-width: 768px) { + .float-md-left { + float: left !important; + } + .float-md-right { + float: right !important; + } + .float-md-none { + float: none !important; + } +} + +@media (min-width: 992px) { + .float-lg-left { + float: left !important; + } + .float-lg-right { + float: right !important; + } + .float-lg-none { + float: none !important; + } +} + +@media (min-width: 1200px) { + .float-xl-left { + float: left !important; + } + .float-xl-right { + float: right !important; + } + .float-xl-none { + float: none !important; + } +} + +.position-static { + position: static !important; +} + +.position-relative { + position: relative !important; +} + +.position-absolute { + position: absolute !important; +} + +.position-fixed { + position: fixed !important; +} + +.position-sticky { + position: -webkit-sticky !important; + position: sticky !important; +} + +.fixed-top { + position: fixed; + top: 0; + right: 0; + left: 0; + z-index: 1030; +} + +.fixed-bottom { + position: fixed; + right: 0; + bottom: 0; + left: 0; + z-index: 1030; +} + +@supports ((position: -webkit-sticky) or (position: sticky)) { + .sticky-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; + } +} + +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border: 0; +} + +.sr-only-focusable:active, .sr-only-focusable:focus { + position: static; + width: auto; + height: auto; + overflow: visible; + clip: auto; + white-space: normal; +} + +.shadow-sm { + box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important; +} + +.shadow { + box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important; +} + +.shadow-lg { + box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important; +} + +.shadow-none { + box-shadow: none !important; +} + +.w-25 { + width: 25% !important; +} + +.w-50 { + width: 50% !important; +} + +.w-75 { + width: 75% !important; +} + +.w-100 { + width: 100% !important; +} + +.w-auto { + width: auto !important; +} + +.h-25 { + height: 25% !important; +} + +.h-50 { + height: 50% !important; +} + +.h-75 { + height: 75% !important; +} + +.h-100 { + height: 100% !important; +} + +.h-auto { + height: auto !important; +} + +.mw-100 { + max-width: 100% !important; +} + +.mh-100 { + max-height: 100% !important; +} + +.m-0 { + margin: 0 !important; +} + +.mt-0, +.my-0 { + margin-top: 0 !important; +} + +.mr-0, +.mx-0 { + margin-right: 0 !important; +} + +.mb-0, +.my-0 { + margin-bottom: 0 !important; +} + +.ml-0, +.mx-0 { + margin-left: 0 !important; +} + +.m-1 { + margin: 0.25rem !important; +} + +.mt-1, +.my-1 { + margin-top: 0.25rem !important; +} + +.mr-1, +.mx-1 { + margin-right: 0.25rem !important; +} + +.mb-1, +.my-1 { + margin-bottom: 0.25rem !important; +} + +.ml-1, +.mx-1 { + margin-left: 0.25rem !important; +} + +.m-2 { + margin: 0.5rem !important; +} + +.mt-2, +.my-2 { + margin-top: 0.5rem !important; +} + +.mr-2, +.mx-2 { + margin-right: 0.5rem !important; +} + +.mb-2, +.my-2 { + margin-bottom: 0.5rem !important; +} + +.ml-2, +.mx-2 { + margin-left: 0.5rem !important; +} + +.m-3 { + margin: 1rem !important; +} + +.mt-3, +.my-3 { + margin-top: 1rem !important; +} + +.mr-3, +.mx-3 { + margin-right: 1rem !important; +} + +.mb-3, +.my-3 { + margin-bottom: 1rem !important; +} + +.ml-3, +.mx-3 { + margin-left: 1rem !important; +} + +.m-4 { + margin: 1.5rem !important; +} + +.mt-4, +.my-4 { + margin-top: 1.5rem !important; +} + +.mr-4, +.mx-4 { + margin-right: 1.5rem !important; +} + +.mb-4, +.my-4 { + margin-bottom: 1.5rem !important; +} + +.ml-4, +.mx-4 { + margin-left: 1.5rem !important; +} + +.m-5 { + margin: 3rem !important; +} + +.mt-5, +.my-5 { + margin-top: 3rem !important; +} + +.mr-5, +.mx-5 { + margin-right: 3rem !important; +} + +.mb-5, +.my-5 { + margin-bottom: 3rem !important; +} + +.ml-5, +.mx-5 { + margin-left: 3rem !important; +} + +.p-0 { + padding: 0 !important; +} + +.pt-0, +.py-0 { + padding-top: 0 !important; +} + +.pr-0, +.px-0 { + padding-right: 0 !important; +} + +.pb-0, +.py-0 { + padding-bottom: 0 !important; +} + +.pl-0, +.px-0 { + padding-left: 0 !important; +} + +.p-1 { + padding: 0.25rem !important; +} + +.pt-1, +.py-1 { + padding-top: 0.25rem !important; +} + +.pr-1, +.px-1 { + padding-right: 0.25rem !important; +} + +.pb-1, +.py-1 { + padding-bottom: 0.25rem !important; +} + +.pl-1, +.px-1 { + padding-left: 0.25rem !important; +} + +.p-2 { + padding: 0.5rem !important; +} + +.pt-2, +.py-2 { + padding-top: 0.5rem !important; +} + +.pr-2, +.px-2 { + padding-right: 0.5rem !important; +} + +.pb-2, +.py-2 { + padding-bottom: 0.5rem !important; +} + +.pl-2, +.px-2 { + padding-left: 0.5rem !important; +} + +.p-3 { + padding: 1rem !important; +} + +.pt-3, +.py-3 { + padding-top: 1rem !important; +} + +.pr-3, +.px-3 { + padding-right: 1rem !important; +} + +.pb-3, +.py-3 { + padding-bottom: 1rem !important; +} + +.pl-3, +.px-3 { + padding-left: 1rem !important; +} + +.p-4 { + padding: 1.5rem !important; +} + +.pt-4, +.py-4 { + padding-top: 1.5rem !important; +} + +.pr-4, +.px-4 { + padding-right: 1.5rem !important; +} + +.pb-4, +.py-4 { + padding-bottom: 1.5rem !important; +} + +.pl-4, +.px-4 { + padding-left: 1.5rem !important; +} + +.p-5 { + padding: 3rem !important; +} + +.pt-5, +.py-5 { + padding-top: 3rem !important; +} + +.pr-5, +.px-5 { + padding-right: 3rem !important; +} + +.pb-5, +.py-5 { + padding-bottom: 3rem !important; +} + +.pl-5, +.px-5 { + padding-left: 3rem !important; +} + +.m-auto { + margin: auto !important; +} + +.mt-auto, +.my-auto { + margin-top: auto !important; +} + +.mr-auto, +.mx-auto { + margin-right: auto !important; +} + +.mb-auto, +.my-auto { + margin-bottom: auto !important; +} + +.ml-auto, +.mx-auto { + margin-left: auto !important; +} + +@media (min-width: 576px) { + .m-sm-0 { + margin: 0 !important; + } + .mt-sm-0, + .my-sm-0 { + margin-top: 0 !important; + } + .mr-sm-0, + .mx-sm-0 { + margin-right: 0 !important; + } + .mb-sm-0, + .my-sm-0 { + margin-bottom: 0 !important; + } + .ml-sm-0, + .mx-sm-0 { + margin-left: 0 !important; + } + .m-sm-1 { + margin: 0.25rem !important; + } + .mt-sm-1, + .my-sm-1 { + margin-top: 0.25rem !important; + } + .mr-sm-1, + .mx-sm-1 { + margin-right: 0.25rem !important; + } + .mb-sm-1, + .my-sm-1 { + margin-bottom: 0.25rem !important; + } + .ml-sm-1, + .mx-sm-1 { + margin-left: 0.25rem !important; + } + .m-sm-2 { + margin: 0.5rem !important; + } + .mt-sm-2, + .my-sm-2 { + margin-top: 0.5rem !important; + } + .mr-sm-2, + .mx-sm-2 { + margin-right: 0.5rem !important; + } + .mb-sm-2, + .my-sm-2 { + margin-bottom: 0.5rem !important; + } + .ml-sm-2, + .mx-sm-2 { + margin-left: 0.5rem !important; + } + .m-sm-3 { + margin: 1rem !important; + } + .mt-sm-3, + .my-sm-3 { + margin-top: 1rem !important; + } + .mr-sm-3, + .mx-sm-3 { + margin-right: 1rem !important; + } + .mb-sm-3, + .my-sm-3 { + margin-bottom: 1rem !important; + } + .ml-sm-3, + .mx-sm-3 { + margin-left: 1rem !important; + } + .m-sm-4 { + margin: 1.5rem !important; + } + .mt-sm-4, + .my-sm-4 { + margin-top: 1.5rem !important; + } + .mr-sm-4, + .mx-sm-4 { + margin-right: 1.5rem !important; + } + .mb-sm-4, + .my-sm-4 { + margin-bottom: 1.5rem !important; + } + .ml-sm-4, + .mx-sm-4 { + margin-left: 1.5rem !important; + } + .m-sm-5 { + margin: 3rem !important; + } + .mt-sm-5, + .my-sm-5 { + margin-top: 3rem !important; + } + .mr-sm-5, + .mx-sm-5 { + margin-right: 3rem !important; + } + .mb-sm-5, + .my-sm-5 { + margin-bottom: 3rem !important; + } + .ml-sm-5, + .mx-sm-5 { + margin-left: 3rem !important; + } + .p-sm-0 { + padding: 0 !important; + } + .pt-sm-0, + .py-sm-0 { + padding-top: 0 !important; + } + .pr-sm-0, + .px-sm-0 { + padding-right: 0 !important; + } + .pb-sm-0, + .py-sm-0 { + padding-bottom: 0 !important; + } + .pl-sm-0, + .px-sm-0 { + padding-left: 0 !important; + } + .p-sm-1 { + padding: 0.25rem !important; + } + .pt-sm-1, + .py-sm-1 { + padding-top: 0.25rem !important; + } + .pr-sm-1, + .px-sm-1 { + padding-right: 0.25rem !important; + } + .pb-sm-1, + .py-sm-1 { + padding-bottom: 0.25rem !important; + } + .pl-sm-1, + .px-sm-1 { + padding-left: 0.25rem !important; + } + .p-sm-2 { + padding: 0.5rem !important; + } + .pt-sm-2, + .py-sm-2 { + padding-top: 0.5rem !important; + } + .pr-sm-2, + .px-sm-2 { + padding-right: 0.5rem !important; + } + .pb-sm-2, + .py-sm-2 { + padding-bottom: 0.5rem !important; + } + .pl-sm-2, + .px-sm-2 { + padding-left: 0.5rem !important; + } + .p-sm-3 { + padding: 1rem !important; + } + .pt-sm-3, + .py-sm-3 { + padding-top: 1rem !important; + } + .pr-sm-3, + .px-sm-3 { + padding-right: 1rem !important; + } + .pb-sm-3, + .py-sm-3 { + padding-bottom: 1rem !important; + } + .pl-sm-3, + .px-sm-3 { + padding-left: 1rem !important; + } + .p-sm-4 { + padding: 1.5rem !important; + } + .pt-sm-4, + .py-sm-4 { + padding-top: 1.5rem !important; + } + .pr-sm-4, + .px-sm-4 { + padding-right: 1.5rem !important; + } + .pb-sm-4, + .py-sm-4 { + padding-bottom: 1.5rem !important; + } + .pl-sm-4, + .px-sm-4 { + padding-left: 1.5rem !important; + } + .p-sm-5 { + padding: 3rem !important; + } + .pt-sm-5, + .py-sm-5 { + padding-top: 3rem !important; + } + .pr-sm-5, + .px-sm-5 { + padding-right: 3rem !important; + } + .pb-sm-5, + .py-sm-5 { + padding-bottom: 3rem !important; + } + .pl-sm-5, + .px-sm-5 { + padding-left: 3rem !important; + } + .m-sm-auto { + margin: auto !important; + } + .mt-sm-auto, + .my-sm-auto { + margin-top: auto !important; + } + .mr-sm-auto, + .mx-sm-auto { + margin-right: auto !important; + } + .mb-sm-auto, + .my-sm-auto { + margin-bottom: auto !important; + } + .ml-sm-auto, + .mx-sm-auto { + margin-left: auto !important; + } +} + +@media (min-width: 768px) { + .m-md-0 { + margin: 0 !important; + } + .mt-md-0, + .my-md-0 { + margin-top: 0 !important; + } + .mr-md-0, + .mx-md-0 { + margin-right: 0 !important; + } + .mb-md-0, + .my-md-0 { + margin-bottom: 0 !important; + } + .ml-md-0, + .mx-md-0 { + margin-left: 0 !important; + } + .m-md-1 { + margin: 0.25rem !important; + } + .mt-md-1, + .my-md-1 { + margin-top: 0.25rem !important; + } + .mr-md-1, + .mx-md-1 { + margin-right: 0.25rem !important; + } + .mb-md-1, + .my-md-1 { + margin-bottom: 0.25rem !important; + } + .ml-md-1, + .mx-md-1 { + margin-left: 0.25rem !important; + } + .m-md-2 { + margin: 0.5rem !important; + } + .mt-md-2, + .my-md-2 { + margin-top: 0.5rem !important; + } + .mr-md-2, + .mx-md-2 { + margin-right: 0.5rem !important; + } + .mb-md-2, + .my-md-2 { + margin-bottom: 0.5rem !important; + } + .ml-md-2, + .mx-md-2 { + margin-left: 0.5rem !important; + } + .m-md-3 { + margin: 1rem !important; + } + .mt-md-3, + .my-md-3 { + margin-top: 1rem !important; + } + .mr-md-3, + .mx-md-3 { + margin-right: 1rem !important; + } + .mb-md-3, + .my-md-3 { + margin-bottom: 1rem !important; + } + .ml-md-3, + .mx-md-3 { + margin-left: 1rem !important; + } + .m-md-4 { + margin: 1.5rem !important; + } + .mt-md-4, + .my-md-4 { + margin-top: 1.5rem !important; + } + .mr-md-4, + .mx-md-4 { + margin-right: 1.5rem !important; + } + .mb-md-4, + .my-md-4 { + margin-bottom: 1.5rem !important; + } + .ml-md-4, + .mx-md-4 { + margin-left: 1.5rem !important; + } + .m-md-5 { + margin: 3rem !important; + } + .mt-md-5, + .my-md-5 { + margin-top: 3rem !important; + } + .mr-md-5, + .mx-md-5 { + margin-right: 3rem !important; + } + .mb-md-5, + .my-md-5 { + margin-bottom: 3rem !important; + } + .ml-md-5, + .mx-md-5 { + margin-left: 3rem !important; + } + .p-md-0 { + padding: 0 !important; + } + .pt-md-0, + .py-md-0 { + padding-top: 0 !important; + } + .pr-md-0, + .px-md-0 { + padding-right: 0 !important; + } + .pb-md-0, + .py-md-0 { + padding-bottom: 0 !important; + } + .pl-md-0, + .px-md-0 { + padding-left: 0 !important; + } + .p-md-1 { + padding: 0.25rem !important; + } + .pt-md-1, + .py-md-1 { + padding-top: 0.25rem !important; + } + .pr-md-1, + .px-md-1 { + padding-right: 0.25rem !important; + } + .pb-md-1, + .py-md-1 { + padding-bottom: 0.25rem !important; + } + .pl-md-1, + .px-md-1 { + padding-left: 0.25rem !important; + } + .p-md-2 { + padding: 0.5rem !important; + } + .pt-md-2, + .py-md-2 { + padding-top: 0.5rem !important; + } + .pr-md-2, + .px-md-2 { + padding-right: 0.5rem !important; + } + .pb-md-2, + .py-md-2 { + padding-bottom: 0.5rem !important; + } + .pl-md-2, + .px-md-2 { + padding-left: 0.5rem !important; + } + .p-md-3 { + padding: 1rem !important; + } + .pt-md-3, + .py-md-3 { + padding-top: 1rem !important; + } + .pr-md-3, + .px-md-3 { + padding-right: 1rem !important; + } + .pb-md-3, + .py-md-3 { + padding-bottom: 1rem !important; + } + .pl-md-3, + .px-md-3 { + padding-left: 1rem !important; + } + .p-md-4 { + padding: 1.5rem !important; + } + .pt-md-4, + .py-md-4 { + padding-top: 1.5rem !important; + } + .pr-md-4, + .px-md-4 { + padding-right: 1.5rem !important; + } + .pb-md-4, + .py-md-4 { + padding-bottom: 1.5rem !important; + } + .pl-md-4, + .px-md-4 { + padding-left: 1.5rem !important; + } + .p-md-5 { + padding: 3rem !important; + } + .pt-md-5, + .py-md-5 { + padding-top: 3rem !important; + } + .pr-md-5, + .px-md-5 { + padding-right: 3rem !important; + } + .pb-md-5, + .py-md-5 { + padding-bottom: 3rem !important; + } + .pl-md-5, + .px-md-5 { + padding-left: 3rem !important; + } + .m-md-auto { + margin: auto !important; + } + .mt-md-auto, + .my-md-auto { + margin-top: auto !important; + } + .mr-md-auto, + .mx-md-auto { + margin-right: auto !important; + } + .mb-md-auto, + .my-md-auto { + margin-bottom: auto !important; + } + .ml-md-auto, + .mx-md-auto { + margin-left: auto !important; + } +} + +@media (min-width: 992px) { + .m-lg-0 { + margin: 0 !important; + } + .mt-lg-0, + .my-lg-0 { + margin-top: 0 !important; + } + .mr-lg-0, + .mx-lg-0 { + margin-right: 0 !important; + } + .mb-lg-0, + .my-lg-0 { + margin-bottom: 0 !important; + } + .ml-lg-0, + .mx-lg-0 { + margin-left: 0 !important; + } + .m-lg-1 { + margin: 0.25rem !important; + } + .mt-lg-1, + .my-lg-1 { + margin-top: 0.25rem !important; + } + .mr-lg-1, + .mx-lg-1 { + margin-right: 0.25rem !important; + } + .mb-lg-1, + .my-lg-1 { + margin-bottom: 0.25rem !important; + } + .ml-lg-1, + .mx-lg-1 { + margin-left: 0.25rem !important; + } + .m-lg-2 { + margin: 0.5rem !important; + } + .mt-lg-2, + .my-lg-2 { + margin-top: 0.5rem !important; + } + .mr-lg-2, + .mx-lg-2 { + margin-right: 0.5rem !important; + } + .mb-lg-2, + .my-lg-2 { + margin-bottom: 0.5rem !important; + } + .ml-lg-2, + .mx-lg-2 { + margin-left: 0.5rem !important; + } + .m-lg-3 { + margin: 1rem !important; + } + .mt-lg-3, + .my-lg-3 { + margin-top: 1rem !important; + } + .mr-lg-3, + .mx-lg-3 { + margin-right: 1rem !important; + } + .mb-lg-3, + .my-lg-3 { + margin-bottom: 1rem !important; + } + .ml-lg-3, + .mx-lg-3 { + margin-left: 1rem !important; + } + .m-lg-4 { + margin: 1.5rem !important; + } + .mt-lg-4, + .my-lg-4 { + margin-top: 1.5rem !important; + } + .mr-lg-4, + .mx-lg-4 { + margin-right: 1.5rem !important; + } + .mb-lg-4, + .my-lg-4 { + margin-bottom: 1.5rem !important; + } + .ml-lg-4, + .mx-lg-4 { + margin-left: 1.5rem !important; + } + .m-lg-5 { + margin: 3rem !important; + } + .mt-lg-5, + .my-lg-5 { + margin-top: 3rem !important; + } + .mr-lg-5, + .mx-lg-5 { + margin-right: 3rem !important; + } + .mb-lg-5, + .my-lg-5 { + margin-bottom: 3rem !important; + } + .ml-lg-5, + .mx-lg-5 { + margin-left: 3rem !important; + } + .p-lg-0 { + padding: 0 !important; + } + .pt-lg-0, + .py-lg-0 { + padding-top: 0 !important; + } + .pr-lg-0, + .px-lg-0 { + padding-right: 0 !important; + } + .pb-lg-0, + .py-lg-0 { + padding-bottom: 0 !important; + } + .pl-lg-0, + .px-lg-0 { + padding-left: 0 !important; + } + .p-lg-1 { + padding: 0.25rem !important; + } + .pt-lg-1, + .py-lg-1 { + padding-top: 0.25rem !important; + } + .pr-lg-1, + .px-lg-1 { + padding-right: 0.25rem !important; + } + .pb-lg-1, + .py-lg-1 { + padding-bottom: 0.25rem !important; + } + .pl-lg-1, + .px-lg-1 { + padding-left: 0.25rem !important; + } + .p-lg-2 { + padding: 0.5rem !important; + } + .pt-lg-2, + .py-lg-2 { + padding-top: 0.5rem !important; + } + .pr-lg-2, + .px-lg-2 { + padding-right: 0.5rem !important; + } + .pb-lg-2, + .py-lg-2 { + padding-bottom: 0.5rem !important; + } + .pl-lg-2, + .px-lg-2 { + padding-left: 0.5rem !important; + } + .p-lg-3 { + padding: 1rem !important; + } + .pt-lg-3, + .py-lg-3 { + padding-top: 1rem !important; + } + .pr-lg-3, + .px-lg-3 { + padding-right: 1rem !important; + } + .pb-lg-3, + .py-lg-3 { + padding-bottom: 1rem !important; + } + .pl-lg-3, + .px-lg-3 { + padding-left: 1rem !important; + } + .p-lg-4 { + padding: 1.5rem !important; + } + .pt-lg-4, + .py-lg-4 { + padding-top: 1.5rem !important; + } + .pr-lg-4, + .px-lg-4 { + padding-right: 1.5rem !important; + } + .pb-lg-4, + .py-lg-4 { + padding-bottom: 1.5rem !important; + } + .pl-lg-4, + .px-lg-4 { + padding-left: 1.5rem !important; + } + .p-lg-5 { + padding: 3rem !important; + } + .pt-lg-5, + .py-lg-5 { + padding-top: 3rem !important; + } + .pr-lg-5, + .px-lg-5 { + padding-right: 3rem !important; + } + .pb-lg-5, + .py-lg-5 { + padding-bottom: 3rem !important; + } + .pl-lg-5, + .px-lg-5 { + padding-left: 3rem !important; + } + .m-lg-auto { + margin: auto !important; + } + .mt-lg-auto, + .my-lg-auto { + margin-top: auto !important; + } + .mr-lg-auto, + .mx-lg-auto { + margin-right: auto !important; + } + .mb-lg-auto, + .my-lg-auto { + margin-bottom: auto !important; + } + .ml-lg-auto, + .mx-lg-auto { + margin-left: auto !important; + } +} + +@media (min-width: 1200px) { + .m-xl-0 { + margin: 0 !important; + } + .mt-xl-0, + .my-xl-0 { + margin-top: 0 !important; + } + .mr-xl-0, + .mx-xl-0 { + margin-right: 0 !important; + } + .mb-xl-0, + .my-xl-0 { + margin-bottom: 0 !important; + } + .ml-xl-0, + .mx-xl-0 { + margin-left: 0 !important; + } + .m-xl-1 { + margin: 0.25rem !important; + } + .mt-xl-1, + .my-xl-1 { + margin-top: 0.25rem !important; + } + .mr-xl-1, + .mx-xl-1 { + margin-right: 0.25rem !important; + } + .mb-xl-1, + .my-xl-1 { + margin-bottom: 0.25rem !important; + } + .ml-xl-1, + .mx-xl-1 { + margin-left: 0.25rem !important; + } + .m-xl-2 { + margin: 0.5rem !important; + } + .mt-xl-2, + .my-xl-2 { + margin-top: 0.5rem !important; + } + .mr-xl-2, + .mx-xl-2 { + margin-right: 0.5rem !important; + } + .mb-xl-2, + .my-xl-2 { + margin-bottom: 0.5rem !important; + } + .ml-xl-2, + .mx-xl-2 { + margin-left: 0.5rem !important; + } + .m-xl-3 { + margin: 1rem !important; + } + .mt-xl-3, + .my-xl-3 { + margin-top: 1rem !important; + } + .mr-xl-3, + .mx-xl-3 { + margin-right: 1rem !important; + } + .mb-xl-3, + .my-xl-3 { + margin-bottom: 1rem !important; + } + .ml-xl-3, + .mx-xl-3 { + margin-left: 1rem !important; + } + .m-xl-4 { + margin: 1.5rem !important; + } + .mt-xl-4, + .my-xl-4 { + margin-top: 1.5rem !important; + } + .mr-xl-4, + .mx-xl-4 { + margin-right: 1.5rem !important; + } + .mb-xl-4, + .my-xl-4 { + margin-bottom: 1.5rem !important; + } + .ml-xl-4, + .mx-xl-4 { + margin-left: 1.5rem !important; + } + .m-xl-5 { + margin: 3rem !important; + } + .mt-xl-5, + .my-xl-5 { + margin-top: 3rem !important; + } + .mr-xl-5, + .mx-xl-5 { + margin-right: 3rem !important; + } + .mb-xl-5, + .my-xl-5 { + margin-bottom: 3rem !important; + } + .ml-xl-5, + .mx-xl-5 { + margin-left: 3rem !important; + } + .p-xl-0 { + padding: 0 !important; + } + .pt-xl-0, + .py-xl-0 { + padding-top: 0 !important; + } + .pr-xl-0, + .px-xl-0 { + padding-right: 0 !important; + } + .pb-xl-0, + .py-xl-0 { + padding-bottom: 0 !important; + } + .pl-xl-0, + .px-xl-0 { + padding-left: 0 !important; + } + .p-xl-1 { + padding: 0.25rem !important; + } + .pt-xl-1, + .py-xl-1 { + padding-top: 0.25rem !important; + } + .pr-xl-1, + .px-xl-1 { + padding-right: 0.25rem !important; + } + .pb-xl-1, + .py-xl-1 { + padding-bottom: 0.25rem !important; + } + .pl-xl-1, + .px-xl-1 { + padding-left: 0.25rem !important; + } + .p-xl-2 { + padding: 0.5rem !important; + } + .pt-xl-2, + .py-xl-2 { + padding-top: 0.5rem !important; + } + .pr-xl-2, + .px-xl-2 { + padding-right: 0.5rem !important; + } + .pb-xl-2, + .py-xl-2 { + padding-bottom: 0.5rem !important; + } + .pl-xl-2, + .px-xl-2 { + padding-left: 0.5rem !important; + } + .p-xl-3 { + padding: 1rem !important; + } + .pt-xl-3, + .py-xl-3 { + padding-top: 1rem !important; + } + .pr-xl-3, + .px-xl-3 { + padding-right: 1rem !important; + } + .pb-xl-3, + .py-xl-3 { + padding-bottom: 1rem !important; + } + .pl-xl-3, + .px-xl-3 { + padding-left: 1rem !important; + } + .p-xl-4 { + padding: 1.5rem !important; + } + .pt-xl-4, + .py-xl-4 { + padding-top: 1.5rem !important; + } + .pr-xl-4, + .px-xl-4 { + padding-right: 1.5rem !important; + } + .pb-xl-4, + .py-xl-4 { + padding-bottom: 1.5rem !important; + } + .pl-xl-4, + .px-xl-4 { + padding-left: 1.5rem !important; + } + .p-xl-5 { + padding: 3rem !important; + } + .pt-xl-5, + .py-xl-5 { + padding-top: 3rem !important; + } + .pr-xl-5, + .px-xl-5 { + padding-right: 3rem !important; + } + .pb-xl-5, + .py-xl-5 { + padding-bottom: 3rem !important; + } + .pl-xl-5, + .px-xl-5 { + padding-left: 3rem !important; + } + .m-xl-auto { + margin: auto !important; + } + .mt-xl-auto, + .my-xl-auto { + margin-top: auto !important; + } + .mr-xl-auto, + .mx-xl-auto { + margin-right: auto !important; + } + .mb-xl-auto, + .my-xl-auto { + margin-bottom: auto !important; + } + .ml-xl-auto, + .mx-xl-auto { + margin-left: auto !important; + } +} + +.text-monospace { + font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; +} + +.text-justify { + text-align: justify !important; +} + +.text-nowrap { + white-space: nowrap !important; +} + +.text-truncate { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.text-left { + text-align: left !important; +} + +.text-right { + text-align: right !important; +} + +.text-center { + text-align: center !important; +} + +@media (min-width: 576px) { + .text-sm-left { + text-align: left !important; + } + .text-sm-right { + text-align: right !important; + } + .text-sm-center { + text-align: center !important; + } +} + +@media (min-width: 768px) { + .text-md-left { + text-align: left !important; + } + .text-md-right { + text-align: right !important; + } + .text-md-center { + text-align: center !important; + } +} + +@media (min-width: 992px) { + .text-lg-left { + text-align: left !important; + } + .text-lg-right { + text-align: right !important; + } + .text-lg-center { + text-align: center !important; + } +} + +@media (min-width: 1200px) { + .text-xl-left { + text-align: left !important; + } + .text-xl-right { + text-align: right !important; + } + .text-xl-center { + text-align: center !important; + } +} + +.text-lowercase { + text-transform: lowercase !important; +} + +.text-uppercase { + text-transform: uppercase !important; +} + +.text-capitalize { + text-transform: capitalize !important; +} + +.font-weight-light { + font-weight: 300 !important; +} + +.font-weight-normal { + font-weight: 400 !important; +} + +.font-weight-bold { + font-weight: 700 !important; +} + +.font-italic { + font-style: italic !important; +} + +.text-white { + color: #fff !important; +} + +.text-primary { + color: #007bff !important; +} + +a.text-primary:hover, a.text-primary:focus { + color: #0062cc !important; +} + +.text-secondary { + color: #6c757d !important; +} + +a.text-secondary:hover, a.text-secondary:focus { + color: #545b62 !important; +} + +.text-success { + color: #28a745 !important; +} + +a.text-success:hover, a.text-success:focus { + color: #1e7e34 !important; +} + +.text-info { + color: #17a2b8 !important; +} + +a.text-info:hover, a.text-info:focus { + color: #117a8b !important; +} + +.text-warning { + color: #ffc107 !important; +} + +a.text-warning:hover, a.text-warning:focus { + color: #d39e00 !important; +} + +.text-danger { + color: #dc3545 !important; +} + +a.text-danger:hover, a.text-danger:focus { + color: #bd2130 !important; +} + +.text-light { + color: #f8f9fa !important; +} + +a.text-light:hover, a.text-light:focus { + color: #dae0e5 !important; +} + +.text-dark { + color: #343a40 !important; +} + +a.text-dark:hover, a.text-dark:focus { + color: #1d2124 !important; +} + +.text-body { + color: #212529 !important; +} + +.text-muted { + color: #6c757d !important; +} + +.text-black-50 { + color: rgba(0, 0, 0, 0.5) !important; +} + +.text-white-50 { + color: rgba(255, 255, 255, 0.5) !important; +} + +.text-hide { + font: 0/0 a; + color: transparent; + text-shadow: none; + background-color: transparent; + border: 0; +} + +.visible { + visibility: visible !important; +} + +.invisible { + visibility: hidden !important; +} + +@media print { + *, + *::before, + *::after { + text-shadow: none !important; + box-shadow: none !important; + } + a:not(.btn) { + text-decoration: underline; + } + abbr[title]::after { + content: " (" attr(title) ")"; + } + pre { + white-space: pre-wrap !important; + } + pre, + blockquote { + border: 1px solid #adb5bd; + page-break-inside: avoid; + } + thead { + display: table-header-group; + } + tr, + img { + page-break-inside: avoid; + } + p, + h2, + h3 { + orphans: 3; + widows: 3; + } + h2, + h3 { + page-break-after: avoid; + } + @page { + size: a3; + } + body { + min-width: 992px !important; + } + .container { + min-width: 992px !important; + } + .navbar { + display: none; + } + .badge { + border: 1px solid #000; + } + .table { + border-collapse: collapse !important; + } + .table td, + .table th { + background-color: #fff !important; + } + .table-bordered th, + .table-bordered td { + border: 1px solid #dee2e6 !important; + } + .table-dark { + color: inherit; + } + .table-dark th, + .table-dark td, + .table-dark thead th, + .table-dark tbody + tbody { + border-color: #dee2e6; + } + .table .thead-dark th { + color: inherit; + border-color: #dee2e6; + } +} +/*# sourceMappingURL=bootstrap.css.map */ \ No newline at end of file diff --git a/docs/vendor/bootstrap-4.1.3/css/bootstrap.css.map b/docs/vendor/bootstrap-4.1.3/css/bootstrap.css.map new file mode 100644 index 00000000..cd35b271 --- /dev/null +++ b/docs/vendor/bootstrap-4.1.3/css/bootstrap.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../scss/bootstrap.scss","../../scss/_root.scss","../../scss/_reboot.scss","../../scss/_variables.scss","bootstrap.css","../../scss/mixins/_hover.scss","../../scss/_type.scss","../../scss/mixins/_lists.scss","../../scss/_images.scss","../../scss/mixins/_image.scss","../../scss/mixins/_border-radius.scss","../../scss/_code.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/mixins/_grid-framework.scss","../../scss/_tables.scss","../../scss/mixins/_table-row.scss","../../scss/_functions.scss","../../scss/_forms.scss","../../scss/mixins/_transition.scss","../../scss/mixins/_forms.scss","../../scss/mixins/_gradients.scss","../../scss/_buttons.scss","../../scss/mixins/_buttons.scss","../../scss/_transitions.scss","../../scss/_dropdown.scss","../../scss/mixins/_caret.scss","../../scss/mixins/_nav-divider.scss","../../scss/_button-group.scss","../../scss/_input-group.scss","../../scss/_custom-forms.scss","../../scss/_nav.scss","../../scss/_navbar.scss","../../scss/_card.scss","../../scss/_breadcrumb.scss","../../scss/_pagination.scss","../../scss/mixins/_pagination.scss","../../scss/_badge.scss","../../scss/mixins/_badge.scss","../../scss/_jumbotron.scss","../../scss/_alert.scss","../../scss/mixins/_alert.scss","../../scss/_progress.scss","../../scss/_media.scss","../../scss/_list-group.scss","../../scss/mixins/_list-group.scss","../../scss/_close.scss","../../scss/_modal.scss","../../scss/_tooltip.scss","../../scss/mixins/_reset-text.scss","../../scss/_popover.scss","../../scss/_carousel.scss","../../scss/utilities/_align.scss","../../scss/mixins/_background-variant.scss","../../scss/utilities/_background.scss","../../scss/utilities/_borders.scss","../../scss/mixins/_clearfix.scss","../../scss/utilities/_display.scss","../../scss/utilities/_embed.scss","../../scss/utilities/_flex.scss","../../scss/utilities/_float.scss","../../scss/mixins/_float.scss","../../scss/utilities/_position.scss","../../scss/utilities/_screenreaders.scss","../../scss/mixins/_screen-reader.scss","../../scss/utilities/_shadows.scss","../../scss/utilities/_sizing.scss","../../scss/utilities/_spacing.scss","../../scss/utilities/_text.scss","../../scss/mixins/_text-truncate.scss","../../scss/mixins/_text-emphasis.scss","../../scss/mixins/_text-hide.scss","../../scss/utilities/_visibility.scss","../../scss/mixins/_visibility.scss","../../scss/_print.scss"],"names":[],"mappings":"AAAA;;;;;GAKG;ACLH;EAGI,gBAAc;EAAd,kBAAc;EAAd,kBAAc;EAAd,gBAAc;EAAd,eAAc;EAAd,kBAAc;EAAd,kBAAc;EAAd,iBAAc;EAAd,gBAAc;EAAd,gBAAc;EAAd,cAAc;EAAd,gBAAc;EAAd,qBAAc;EAId,mBAAc;EAAd,qBAAc;EAAd,mBAAc;EAAd,gBAAc;EAAd,mBAAc;EAAd,kBAAc;EAAd,iBAAc;EAAd,gBAAc;EAId,mBAAiC;EAAjC,uBAAiC;EAAjC,uBAAiC;EAAjC,uBAAiC;EAAjC,wBAAiC;EAKnC,mMAAyB;EACzB,8GAAwB;CACzB;;ACED;;;EAGE,uBAAsB;CACvB;;AAED;EACE,wBAAuB;EACvB,kBAAiB;EACjB,+BAA8B;EAC9B,2BAA0B;EAC1B,8BAA6B;EAC7B,8CCZa;CDad;;AAIC;EACE,oBAAmB;CEgBtB;;AFVD;EACE,eAAc;CACf;;AAUD;EACE,UAAS;EACT,sLCgMoM;ED/LpM,gBCoMgC;EDnMhC,iBCwM+B;EDvM/B,iBC2M+B;ED1M/B,eC3CgB;ED4ChB,iBAAgB;EAChB,uBCtDa;CDuDd;;AEMD;EFEE,sBAAqB;CACtB;;AAQD;EACE,wBAAuB;EACvB,UAAS;EACT,kBAAiB;CAClB;;AAYD;EACE,cAAa;EACb,sBC6KyC;CD5K1C;;AAOD;EACE,cAAa;EACb,oBCkE8B;CDjE/B;;AASD;;EAEE,2BAA0B;EAC1B,0CAAiC;EAAjC,kCAAiC;EACjC,aAAY;EACZ,iBAAgB;CACjB;;AAED;EACE,oBAAmB;EACnB,mBAAkB;EAClB,qBAAoB;CACrB;;AAED;;;EAGE,cAAa;EACb,oBAAmB;CACpB;;AAED;;;;EAIE,iBAAgB;CACjB;;AAED;EACE,iBCgH+B;CD/GhC;;AAED;EACE,qBAAoB;EACpB,eAAc;CACf;;AAED;EACE,iBAAgB;CACjB;;AAED;EACE,mBAAkB;CACnB;;AAGD;;EAEE,oBAAmB;CACpB;;AAGD;EACE,eAAc;CACf;;AAOD;;EAEE,mBAAkB;EAClB,eAAc;EACd,eAAc;EACd,yBAAwB;CACzB;;AAED;EAAM,eAAc;CAAI;;AACxB;EAAM,WAAU;CAAI;;AAOpB;EACE,eC9Je;ED+Jf,sBC/B8B;EDgC9B,8BAA6B;EAC7B,sCAAqC;CAMtC;;AGnMC;EHgME,eCnCgD;EDoChD,2BCnCiC;CE9Jb;;AH2MxB;EACE,eAAc;EACd,sBAAqB;CAUtB;;AGnNC;EH4ME,eAAc;EACd,sBAAqB;CG1MtB;;AHoMH;EAUI,WAAU;CACX;;AAQH;;;;EAIE,kGCagH;EDZhH,eAAc;CACf;;AAED;EAEE,cAAa;EAEb,oBAAmB;EAEnB,eAAc;EAGd,8BAA6B;CAC9B;;AAOD;EAEE,iBAAgB;CACjB;;AAOD;EACE,uBAAsB;EACtB,mBAAkB;CACnB;;AAED;EAGE,iBAAgB;EAChB,uBAAsB;CACvB;;AAOD;EACE,0BAAyB;CAC1B;;AAED;EACE,qBC8BkC;ED7BlC,wBC6BkC;ED5BlC,eCrRgB;EDsRhB,iBAAgB;EAChB,qBAAoB;CACrB;;AAED;EAGE,oBAAmB;CACpB;;AAOD;EAEE,sBAAqB;EACrB,sBC+F2C;CD9F5C;;AAKD;EACE,iBAAgB;CACjB;;AAMD;EACE,oBAAmB;EACnB,2CAA0C;CAC3C;;AAED;;;;;EAKE,UAAS;EACT,qBAAoB;EACpB,mBAAkB;EAClB,qBAAoB;CACrB;;AAED;;EAEE,kBAAiB;CAClB;;AAED;;EAEE,qBAAoB;CACrB;;AAKD;;;;EAIE,2BAA0B;CAC3B;;AAGD;;;;EAIE,WAAU;EACV,mBAAkB;CACnB;;AAED;;EAEE,uBAAsB;EACtB,WAAU;CACX;;AAGD;;;;EASE,4BAA2B;CAC5B;;AAED;EACE,eAAc;EAEd,iBAAgB;CACjB;;AAED;EAME,aAAY;EAEZ,WAAU;EACV,UAAS;EACT,UAAS;CACV;;AAID;EACE,eAAc;EACd,YAAW;EACX,gBAAe;EACf,WAAU;EACV,qBAAoB;EACpB,kBAAiB;EACjB,qBAAoB;EACpB,eAAc;EACd,oBAAmB;CACpB;;AAED;EACE,yBAAwB;CACzB;;AEtGD;;EF2GE,aAAY;CACb;;AEvGD;EF8GE,qBAAoB;EACpB,yBAAwB;CACzB;;AE3GD;;EFmHE,yBAAwB;CACzB;;AAOD;EACE,cAAa;EACb,2BAA0B;CAC3B;;AAMD;EACE,sBAAqB;CACtB;;AAED;EACE,mBAAkB;EAClB,gBAAe;CAChB;;AAED;EACE,cAAa;CACd;;AExHD;EF6HE,yBAAwB;CACzB;;AI5dD;;EAEE,sBHyQyC;EGxQzC,qBHyQmC;EGxQnC,iBHyQ+B;EGxQ/B,iBHyQ+B;EGxQ/B,eHyQmC;CGxQpC;;AAED;EAAU,kBH2PyC;CG3Pb;;AACtC;EAAU,gBH2PuC;CG3PX;;AACtC;EAAU,mBH2P0C;CG3Pd;;AACtC;EAAU,kBH2PyC;CG3Pb;;AACtC;EAAU,mBH2P0C;CG3Pd;;AACtC;EAAU,gBH2OwB;CG3OI;;AAEtC;EACE,mBH2QoD;EG1QpD,iBH2Q+B;CG1QhC;;AAGD;EACE,gBH0PgC;EGzPhC,iBH8P+B;EG7P/B,iBHqP+B;CGpPhC;;AACD;EACE,kBHsPkC;EGrPlC,iBH0P+B;EGzP/B,iBHgP+B;CG/OhC;;AACD;EACE,kBHkPkC;EGjPlC,iBHsP+B;EGrP/B,iBH2O+B;CG1OhC;;AACD;EACE,kBH8OkC;EG7OlC,iBHkP+B;EGjP/B,iBHsO+B;CGrOhC;;AJmCD;EI3BE,iBHwEW;EGvEX,oBHuEW;EGtEX,UAAS;EACT,yCHtCa;CGuCd;;AAOD;;EAEE,eHiO+B;EGhO/B,iBH+L+B;CG9LhC;;AAED;;EAEE,eHqOgC;EGpOhC,0BH6OmC;CG5OpC;;AAOD;EC/EE,gBAAe;EACf,iBAAgB;CDgFjB;;AAGD;ECpFE,gBAAe;EACf,iBAAgB;CDqFjB;;AACD;EACE,sBAAqB;CAKtB;;AAND;EAII,qBHuN+B;CGtNhC;;AASH;EACE,eAAc;EACd,0BAAyB;CAC1B;;AAGD;EACE,oBHeW;EGdX,mBHyLoD;CGxLrD;;AAED;EACE,eAAc;EACd,eAAc;EACd,eHvGgB;CG4GjB;;AARD;EAMI,uBAAsB;CACvB;;AEpHH;ECIE,gBAAe;EAGf,aAAY;CDLb;;AAID;EACE,iBL61BwC;EK51BxC,uBLLa;EKMb,0BLHgB;EOTd,uBP+NgC;EMxNlC,gBAAe;EAGf,aAAY;CDQb;;AAMD;EAEE,sBAAqB;CACtB;;AAED;EACE,sBAA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,wBAA8C;GEWrC;EAFD;IFTR,wBAA8C;GEWrC;CXoxCV;;AY70CD;EACE,YAAW;EACX,oBbyHW;EaxHX,8Bb6TuC;CaxSxC;;AAxBD;;EAOI,iBbsTgC;EarThC,oBAAmB;EACnB,8BbAc;CaCf;;AAVH;EAaI,uBAAsB;EACtB,iCbLc;CaMf;;AAfH;EAkBI,8BbTc;CaUf;;AAnBH;EAsBI,uBbhBW;CaiBZ;;AAQH;;EAGI,gBb4R+B;Ca3RhC;;AAQH;EACE,0BbnCgB;CagDjB;;AAdD;;EAKI,0BbvCc;CawCf;;AANH;;EAWM,yBAA8C;CAC/C;;AAIL;;;;EAKI,UAAS;CACV;;AAOH;EAEI,sCb1DW;Ca2DZ;;AXnED;EW8EI,uCbtES;CERS;;AYPtB;;;EAII,0BC2E4D;CD1E7D;;AZEH;EYQM,0BAJsC;CZJtB;;AYGtB;;EASQ,0BARoC;CASrC;;AApBP;;;EAII,0BC2E4D;CD1E7D;;AZEH;EYQM,0BAJsC;CZJtB;;AYGtB;;EASQ,0BARoC;CASrC;;AApBP;;;EAII,0BC2E4D;CD1E7D;;AZEH;EYQM,0BAJsC;CZJtB;;AYGtB;;EASQ,0BARoC;CASrC;;AApBP;;;EAII,0BC2E4D;CD1E7D;;AZEH;EYQM,0BAJsC;CZJtB;;AYGtB;;EASQ,0BARoC;CASrC;;AApBP;;;EAII,0BC2E4D;CD1E7D;;AZEH;EYQM,0BAJsC;CZJtB;;AYGtB;;EASQ,0BARoC;CASrC;;AApBP;;;EAII,0BC2E4D;CD1E7D;;AZEH;EYQM,0BAJsC;CZJtB;;AYGtB;;EASQ,0BARoC;CASrC;;AApBP;;;EAII,0BC2E4D;CD1E7D;;AZEH;EYQM,0BAJsC;CZJtB;;AYGtB;;EASQ,0BARoC;CASrC;;AApBP;;;EAII,0BC2E4D;CD1E7D;;AZEH;EYQM,0BAJsC;CZJtB;;AYGtB;;EASQ,0BARoC;CASrC;;AApBP;;;EAII,uCdWS;CcVV;;AZEH;EYQM,uCAJsC;CZJtB;;AYGtB;;EASQ,uCARoC;CASrC;;ADwFT;EAGM,Yb1GS;Ea2GT,0BblGY;EamGZ,sBb4NgD;Ca3NjD;;AANL;EAWM,eb3GY;Ea4GZ,0BbjHY;EakH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AChB;;AAaH;;EAEE,qBAAoB;CACrB;;AAQC;ECxDA,YrBIa;EmBJX,0BnBkCa;EqBhCf,sBrBgCe;CoBwBd;;AlBpDD;EmBAE,YrBFW;EmBJX,0BEDoF;EASpF,sBATyH;CnBOrG;;AmBKtB;EAMI,gDrBiBW;CqBfd;;AAGD;EAEE,YrBpBW;EqBqBX,0BrBSa;EqBRb,sBrBQa;CqBPd;;AAED;;EAGE,YrB5BW;EqB6BX,0BAlCuK;EAsCvK,sBAtC+M;CAgDhN;;AARC;;EAKI,gDrBVS;CqBYZ;;ADUH;ECxDA,YrBIa;EmBJX,0BnBUc;EqBRhB,sBrBQgB;CoBgDf;;AlBpDD;EmBAE,YrBFW;EmBJX,0BEDoF;EASpF,sBATyH;CnBOrG;;AmBKtB;EAMI,kDrBPY;CqBSf;;AAGD;EAEE,YrBpBW;EqBqBX,0BrBfc;EqBgBd,sBrBhBc;CqBiBf;;AAED;;EAGE,YrB5BW;EqB6BX,0BAlCuK;EAsCvK,sBAtC+M;CAgDhN;;AARC;;EAKI,kDrBlCU;CqBoCb;;ADUH;ECxDA,YrBIa;EmBJX,0BnByCa;EqBvCf,sBrBuCe;CoBiBd;;AlBpDD;EmBAE,YrBFW;EmBJX,0BEDoF;EASpF,sBATyH;CnBOrG;;AmBKtB;EAMI,gDrBwBW;CqBtBd;;AAGD;EAEE,YrBpBW;EqBqBX,0BrBgBa;EqBfb,sBrBea;CqBdd;;AAED;;EAGE,YrB5BW;EqB6BX,0BAlCuK;EAsCvK,sBAtC+M;CAgDhN;;AARC;;EAKI,gDrBHS;CqBKZ;;ADUH;ECxDA,YrBIa;EmBJX,0BnB2Ca;EqBzCf,sBrByCe;CoBed;;AlBpDD;EmBAE,YrBFW;EmBJX,0BEDoF;EASpF,sBATyH;CnBOrG;;AmBKtB;EAMI,iDrB0BW;CqBxBd;;AAGD;EAEE,YrBpBW;EqBqBX,0BrBkBa;EqBjBb,sBrBiBa;CqBhBd;;AAED;;EAGE,YrB5BW;EqB6BX,0BAlCuK;EAsCvK,sBAtC+M;CAgDhN;;AARC;;EAKI,iDrBDS;CqBGZ;;ADUH;ECxDA,erBagB;EmBbd,0BnBwCa;EqBtCf,sBrBsCe;CoBkBd;;AlBpDD;EmBAE,erBOc;EmBbd,0BEDoF;EASpF,sBATyH;CnBOrG;;AmBKtB;EAMI,gDrBuBW;CqBrBd;;AAGD;EAEE,erBXc;EqBYd,0BrBea;EqBdb,sBrBca;CqBbd;;AAED;;EAGE,erBnBc;EqBoBd,0BAlCuK;EAsCvK,sBAtC+M;CAgDhN;;AARC;;EAKI,gDrBJS;CqBMZ;;ADUH;ECxDA,YrBIa;EmBJX,0BnBsCa;EqBpCf,sBrBoCe;CoBoBd;;AlBpDD;EmBAE,YrBFW;EmBJX,0BEDoF;EASpF,sBATyH;CnBOrG;;AmBKtB;EAMI,gDrBqBW;CqBnBd;;AAGD;EAEE,YrBpBW;EqBqBX,0BrBaa;EqBZb,sBrBYa;CqBXd;;AAED;;EAGE,YrB5BW;EqB6BX,0BAlCuK;EAsCvK,sBAtC+M;CAgDhN;;AARC;;EAKI,gDrBNS;CqBQZ;;ADUH;ECxDA,erBagB;EmBbd,0BnBKc;EqBHhB,sBrBGgB;CoBqDf;;AlBpDD;EmBAE,erBOc;EmBbd,0BEDoF;EASpF,sBATyH;CnBOrG;;AmBKtB;EAMI,kDrBZY;CqBcf;;AAGD;EAEE,erBXc;EqBYd,0BrBpBc;EqBqBd,sBrBrBc;CqBsBf;;AAED;;EAGE,erBnBc;EqBoBd,0BAlCuK;EAsCvK,sBAtC+M;CAgDhN;;AARC;;EAKI,kDrBvCU;CqByCb;;ADUH;ECxDA,YrBIa;EmBJX,0BnBYc;EqBVhB,sBrBUgB;CoB8Cf;;AlBpDD;EmBAE,YrBFW;EmBJX,0BEDoF;EASpF,sBATyH;CnBOrG;;AmBKtB;EAMI,+CrBLY;CqBOf;;AAGD;EAEE,YrBpBW;EqBqBX,0BrBbc;EqBcd,sBrBdc;CqBef;;AAED;;EAGE,YrB5BW;EqB6BX,0BAlCuK;EAsCvK,sBAtC+M;CAgDhN;;AARC;;EAKI,+CrBhCU;CqBkCb;;ADgBH;ECXA,erBjBe;EqBkBf,8BAA6B;EAC7B,uBAAsB;EACtB,sBrBpBe;CoB8Bd;;ACRD;EACE,YrBrDW;EqBsDX,0BrBxBa;EqByBb,sBrBzBa;CqB0Bd;;AAED;EAEE,gDrB9Ba;CqB+Bd;;AAED;EAEE,erBnCa;EqBoCb,8BAA6B;CAC9B;;AAED;;EAGE,YrBxEW;EqByEX,0BrB3Ca;EqB4Cb,sBrB5Ca;CqBsDd;;AARC;;EAKI,gDrBnDS;CqBqDZ;;ADzBH;ECXA,erBzCgB;EqB0ChB,8BAA6B;EAC7B,uBAAsB;EACtB,sBrB5CgB;CoBsDf;;ACRD;EACE,YrBrDW;EqBsDX,0BrBhDc;EqBiDd,sBrBjDc;CqBkDf;;AAED;EAEE,kDrBtDc;CqBuDf;;AAED;EAEE,erB3Dc;EqB4Dd,8BAA6B;CAC9B;;AAED;;EAGE,YrBxEW;EqByEX,0BrBnEc;EqBoEd,sBrBpEc;CqB8Ef;;AARC;;EAKI,kDrB3EU;CqB6Eb;;ADzBH;ECXA,erBVe;EqBWf,8BAA6B;EAC7B,uBAAsB;EACtB,sBrBbe;CoBuBd;;ACRD;EACE,YrBrDW;EqBsDX,0BrBjBa;EqBkBb,sBrBlBa;CqBmBd;;AAED;EAEE,gDrBvBa;CqBwBd;;AAED;EAEE,erB5Ba;EqB6Bb,8BAA6B;CAC9B;;AAED;;EAGE,YrBxEW;EqByEX,0BrBpCa;EqBqCb,sBrBrCa;CqB+Cd;;AARC;;EAKI,gDrB5CS;CqB8CZ;;ADzBH;ECXA,erBRe;EqBSf,8BAA6B;EAC7B,uBAAsB;EACtB,sBrBXe;CoBqBd;;ACRD;EACE,YrBrDW;EqBsDX,0BrBfa;EqBgBb,sBrBhBa;CqBiBd;;AAED;EAEE,iDrBrBa;CqBsBd;;AAED;EAEE,erB1Ba;EqB2Bb,8BAA6B;CAC9B;;AAED;;EAGE,YrBxEW;EqByEX,0BrBlCa;EqBmCb,sBrBnCa;CqB6Cd;;AARC;;EAKI,iDrB1CS;CqB4CZ;;ADzBH;ECXA,erBXe;EqBYf,8BAA6B;EAC7B,uBAAsB;EACtB,sBrBde;CoBwBd;;ACRD;EACE,erB5Cc;EqB6Cd,0BrBlBa;EqBmBb,sBrBnBa;CqBoBd;;AAED;EAEE,gDrBxBa;CqByBd;;AAED;EAEE,erB7Ba;EqB8Bb,8BAA6B;CAC9B;;AAED;;EAGE,erB/Dc;EqBgEd,0BrBrCa;EqBsCb,sBrBtCa;CqBgDd;;AARC;;EAKI,gDrB7CS;CqB+CZ;;ADzBH;ECXA,erBbe;EqBcf,8BAA6B;EAC7B,uBAAsB;EACtB,sBrBhBe;CoB0Bd;;ACRD;EACE,YrBrDW;EqBsDX,0BrBpBa;EqBqBb,sBrBrBa;CqBsBd;;AAED;EAEE,gDrB1Ba;CqB2Bd;;AAED;EAEE,erB/Ba;EqBgCb,8BAA6B;CAC9B;;AAED;;EAGE,YrBxEW;EqByEX,0BrBvCa;EqBwCb,sBrBxCa;CqBkDd;;AARC;;EAKI,gDrB/CS;CqBiDZ;;ADzBH;ECXA,erB9CgB;EqB+ChB,8BAA6B;EAC7B,uBAAsB;EACtB,sBrBjDgB;CoB2Df;;ACRD;EACE,erB5Cc;EqB6Cd,0BrBrDc;EqBsDd,sBrBtDc;CqBuDf;;AAED;EAEE,kDrB3Dc;CqB4Df;;AAED;EAEE,erBhEc;EqBiEd,8BAA6B;CAC9B;;AAED;;EAGE,erB/Dc;EqBgEd,0BrBxEc;EqByEd,sBrBzEc;CqBmFf;;AARC;;EAKI,kDrBhFU;CqBkFb;;ADzBH;ECXA,erBvCgB;EqBwChB,8BAA6B;EAC7B,uBAAsB;EACtB,sBrB1CgB;CoBoDf;;ACRD;EACE,YrBrDW;EqBsDX,0BrB9Cc;EqB+Cd,sBrB/Cc;CqBgDf;;AAED;EAEE,+CrBpDc;CqBqDf;;AAED;EAEE,erBzDc;EqB0Dd,8BAA6B;CAC9B;;AAED;;EAGE,YrBxEW;EqByEX,0BrBjEc;EqBkEd,sBrBlEc;CqB4Ef;;AARC;;EAKI,+CrBzEU;CqB2Eb;;ADdL;EACE,iBpBoL+B;EoBnL/B,epBzCe;EoB0Cf,8BAA6B;CAuB9B;;AlB7FC;EkByEE,epBoFgD;EoBnFhD,2BpBoFiC;EoBnFjC,8BAA6B;EAC7B,0BAAyB;ClB5EL;;AkBmExB;EAcI,2BpB6EiC;EoB5EjC,0BAAyB;EACzB,iBAAgB;CACjB;;AAjBH;EAqBI,epBpFc;EoBqFd,qBAAoB;CACrB;;AAUH;ECbE,qBrBuQgC;EqBtQhC,mBrB4JoD;EqB3JpD,iBrBwH+B;EqBrH7B,sBrB4H+B;CoBlHlC;;AAED;ECjBE,wBrBmQiC;EqBlQjC,oBrB6JoD;EqB5JpD,iBrByH+B;EqBtH7B,sBrB6H+B;CoB/GlC;;AAOD;EACE,eAAc;EACd,YAAW;CAMZ;;AARD;EAMI,mBpBwQ+B;CoBvQhC;;AAIH;;;EAII,YAAW;CACZ;;AE3IH;ELGM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M,kB5BySQ;C4BxST;;AAIL;EACE,mBAAkB;EAClB,OAAM;EACN,SAAQ;EACR,QAAO;EACP,WAAU;EACV,4B5BoK4F;E4BnK5F,0B5BoEkC;E4BnElC,iB5BnB+B;E4BoB/B,e5B3QgB;E4B4QhB,uB5BnRa;E4BoRb,0B5BhRgB;EOVd,uBP+NgC;C4B+EnC;;AA/BD;EAgBI,mBAAkB;EAClB,OAAM;EACN,SAAQ;EACR,UAAS;EACT,WAAU;EACV,eAAc;EACd,gB5BmJ2G;E4BlJ3G,0B5BoDgC;E4BnDhC,iB5BnC6B;E4BoC7B,e5B3Rc;E4B4Rd,kBAAiB;ETvSjB,0BnBMc;E4BmSd,+B5BjSc;EOVd,mCqB4SgF;CACjF;;AASH;EACE,YAAW;EACX,gBAAe;EACf,8BAA6B;EAC7B,yBAAgB;EAAhB,sBAAgB;EAAhB,iBAAgB;CA4GjB;;AAhHD;EAOI,cAAa;CAOd;;AAdH;EAW8B,iE5B7Rb;C4B6RiE;;AAXlF;EAY8B,iE5B9Rb;C4B8RiE;;AAZlF;EAa8B,iE5B/Rb;C4B+RiE;;AAblF;EAiBI,UAAS;CACV;;AAlBH;EAqBI,Y5B4M6C;E4B3M7C,a5B2M6C;E4B1M7C,qBAA2E;ET3U3E,0BnBkCa;E4B2Sb,U5B2M0C;EO1hB1C,oBP2hB6C;EiB1hB3C,6GjBid+H;E4B/HjI,yBAAgB;EAAhB,iBAAgB;CAKjB;;AXnVD;EWiTF;IXhTI,iBAAgB;GWkVjB;C3B2nGF;;A2B7pGD;ETpTI,0BnB6hB2E;C4BxM1E;;AAjCL;EAqCI,Y5BqLoC;E4BpLpC,e5BqLqC;E4BpLrC,mBAAkB;EAClB,gB5BoLuC;E4BnLvC,0B5BtVc;E4BuVd,0BAAyB;ErBhWzB,oBPohBoC;C4BjLrC;;AA7CH;EAgDI,Y5BiL6C;E4BhL7C,a5BgL6C;EmBrhB7C,0BnBkCa;E4BqUb,U5BiL0C;EO1hB1C,oBP2hB6C;EiB1hB3C,6GjBid+H;E4BrGjI,sBAAgB;EAAhB,iBAAgB;CAKjB;;AX7WD;EWiTF;IXhTI,iBAAgB;GW4WjB;C3B+nGF;;A2B3rGD;ETpTI,0BnB6hB2E;C4B9K1E;;AA3DL;EA+DI,Y5B2JoC;E4B1JpC,e5B2JqC;E4B1JrC,mBAAkB;EAClB,gB5B0JuC;E4BzJvC,0B5BhXc;E4BiXd,0BAAyB;ErB1XzB,oBPohBoC;C4BvJrC;;AAvEH;EA0EI,Y5BuJ6C;E4BtJ7C,a5BsJ6C;E4BrJ7C,cAAa;EACb,qB5BtC+B;E4BuC/B,oB5BvC+B;EmB3V/B,0BnBkCa;E4BkWb,U5BoJ0C;EO1hB1C,oBP2hB6C;EiB1hB3C,6GjBid+H;E4BxEjI,iBAAgB;CAKjB;;AX1YD;EWiTF;IXhTI,iBAAgB;GWyYjB;C3BmoGF;;A2B5tGD;ETpTI,0BnB6hB2E;C4BjJ1E;;AAxFL;EA4FI,Y5B8HoC;E4B7HpC,e5B8HqC;E4B7HrC,mBAAkB;EAClB,gB5B6HuC;E4B5HvC,8BAA6B;EAC7B,0BAAyB;EACzB,qBAA+C;CAEhD;;AApGH;EAuGI,0B5BpZc;EOTd,oBPohBoC;C4BrHrC;;AAzGH;EA4GI,mBAAkB;EAClB,0B5B1Zc;EOTd,oBPohBoC;C4B/GrC;;AAGH;;;EXvaM,6GjBid+H;C4BtCpI;;AXvaC;EWmaF;;;IXlaI,iBAAgB;GWsanB;C3B6oGA;;A4BxjHD;EACE,qBAAa;EAAb,cAAa;EACb,oBAAe;EAAf,gBAAe;EACf,gBAAe;EACf,iBAAgB;EAChB,iBAAgB;CACjB;;AAED;EACE,eAAc;EACd,qB7BgmBsC;C6BtlBvC;;A3BTC;E2BEE,sBAAqB;C3BCtB;;A2BNH;EAUI,e7BPc;C6BQf;;AAOH;EACE,iC7BnBgB;C6BqDjB;;AAnCD;EAII,oB7B6L6B;C6B5L9B;;AALH;EAQI,8BAAgD;EtB7BhD,gCPyNgC;EOxNhC,iCPwNgC;C6BhLjC;;A3BnCD;E2B2BI,sC7B9BY;CEMf;;A2BYH;EAgBM,e7B/BY;E6BgCZ,8BAA6B;EAC7B,0BAAyB;CAC1B;;AAnBL;;EAwBI,e7BtCc;E6BuCd,uB7B9CW;E6B+CX,mC7B/CW;C6BgDZ;;AA3BH;EA+BI,iB7BkK6B;EOtN7B,0BsBsD4B;EtBrD5B,2BsBqD4B;CAC7B;;AAQH;EtBrEI,uBP+NgC;C6BvJjC;;AAHH;;EAOI,Y7BtEW;E6BuEX,0B7BzCa;C6B0Cd;;AAQH;EAEI,mBAA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C3NnC;;AAED;EAGI,qBhCg3BqC;CgCx2BtC;;AAXH;EAMM,sBAAqB;EACrB,sBhC42BmC;EgC32BnC,ehCFY;EgCGZ,ahCi3BuC;CgCh3BxC;;AAVL;EAoBI,2BAA0B;CAC3B;;AArBH;EAwBI,sBAAqB;CACtB;;AAzBH;EA4BI,ehCtBc;CgCuBf;;ACvCH;EACE,qBAAa;EAAb,cAAa;E7BGb,gBAAe;EACf,iBAAgB;EGDd,uBP+NgC;CiC/NnC;;AAED;EACE,mBAAkB;EAClB,eAAc;EACd,wBjC2pBwC;EiC1pBxC,kBjCsN+B;EiCrN/B,kBjC8pBsC;EiC7pBtC,ejC4Be;EiC3Bf,uBjCHa;EiCIb,0BjCDgB;CiCqBjB;;AA5BD;EAWI,WAAU;EACV,ejCuJgD;EiCtJhD,sBAAqB;EACrB,0BjCRc;EiCSd,sBjCRc;CiCSf;;AAhBH;EAmBI,WAAU;EACV,WjCupBiC;EiCtpBjC,iDjCaa;CiCZd;;AAtBH;EA0BI,gBAAe;CAChB;;AAGH;EAGM,eAAc;E1BRhB,gCPoMgC;EOnMhC,mCPmMgC;CiC1L/B;;AALL;E1BnBI,iCPkNgC;EOjNhC,oCPiNgC;CiCrL/B;;AAVL;EAcI,WAAU;EACV,YjCzCW;EiC0CX,0BjCZa;EiCab,sBjCba;CiCcd;;AAlBH;EAqBI,ejCzCc;EiC0Cd,qBAAoB;EAEpB,aAAY;EACZ,uBjCnDW;EiCoDX,sBjCjDc;CiCkDf;;AC5DD;EACE,wBlCoqBsC;EkCnqBtC,mBlC2PkD;EkC1PlD,iBlCuN6B;CkCtN9B;;AAIG;E3BoBF,+BPqM+B;EOpM/B,kCPoM+B;CkCvN5B;;AAGD;E3BCF,gCPmN+B;EOlN/B,mCPkN+B;CkClN5B;;AAfL;EACE,wBlCkqBqC;EkCjqBrC,oBlC4PkD;EkC3PlD,iBlCwN6B;CkCvN9B;;AAIG;E3BoBF,+BPsM+B;EOrM/B,kCPqM+B;CkCxN5B;;AAGD;E3BCF,gCPoN+B;EOnN/B,mCPmN+B;CkCnN5B;;ACbP;EACE,sBAAqB;EACrB,sBnCowBsC;EmCnwBtC,enCgwBqC;EmC/vBrC,iBnC4P+B;EmC3P/B,eAAc;EACd,mBAAkB;EAClB,oBAAmB;EACnB,yBAAwB;E5BTtB,uBP+NgC;CmC/MnC;;AAfD;EAaI,cAAa;CACd;;AAIH;EACE,mBAAkB;EAClB,UAAS;CACV;;AAMD;EACE,qBnC6uBsC;EmC5uBtC,oBnC4uBsC;EO1wBpC,qBP6wBqC;CmC7uBxC;;AAOC;EC1CA,YpCSa;EoCRb,0BpCsCe;CmCKd;;AjC7BD;EkCVI,YpCIS;EoCHT,sBAAqB;EACrB,0BAAkC;ClCWrC;;AiCwBD;EC1CA,YpCSa;EoCRb,0BpCcgB;CmC6Bf;;AjC7BD;EkCVI,YpCIS;EoCHT,sBAAqB;EACrB,0BAAkC;ClCWrC;;AiCwBD;EC1CA,YpCSa;EoCRb,0BpC6Ce;CmCFd;;AjC7BD;EkCVI,YpCIS;EoCHT,sBAAqB;EACrB,0BAAkC;ClCWrC;;AiCwBD;EC1CA,YpCSa;EoCRb,0BpC+Ce;CmCJd;;AjC7BD;EkCVI,YpCIS;EoCHT,sBAAqB;EACrB,0BAAkC;ClCWrC;;AiCwBD;EC1CA,epCkBgB;EoCjBhB,0BpC4Ce;CmCDd;;AjC7BD;EkCVI,epCaY;EoCZZ,sBAAqB;EACrB,0BAAkC;ClCWrC;;AiCwBD;EC1CA,YpCSa;EoCRb,0BpC0Ce;CmCCd;;AjC7BD;EkCVI,YpCIS;EoCHT,sBAAqB;EACrB,0BAAkC;ClCWrC;;AiCwBD;EC1CA,epCkBgB;EoCjBhB,0BpCSgB;CmCkCf;;AjC7BD;EkCVI,epCaY;EoCZZ,sBAAqB;EACrB,0BAAkC;ClCWrC;;AiCwBD;EC1CA,YpCSa;EoCRb,0BpCgBgB;CmC2Bf;;AjC7BD;EkCVI,YpCIS;EoCHT,sBAAqB;EACrB,0BAAkC;ClCWrC;;AmCnBH;EACE,mBAAoD;EACpD,oBrCgsBsC;EqC/rBtC,0BrCSgB;EORd,sBPgO+B;CqC3NlC;;A1BmDG;E0B5DJ;IAOI,mBrC2rBoC;GqCzrBvC;CpC++IA;;AoC7+ID;EACE,iBAAgB;EAChB,gBAAe;E9BTb,iB8BUsB;CACzB;;ACXD;EACE,mBAAkB;EAClB,yBtCmzByC;EsClzBzC,oBtCmzBsC;EsClzBtC,8BAA6C;E/BJ3C,uBP+NgC;CsCzNnC;;AAGD;EAEE,eAAc;CACf;;AAG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E2CKP,0B5BqE0D;E4BpE1D,sB5BoE0D;C4BnE3D;;AAdL;EACE,e5BgF8D;E4B/E9D,0B5B+E8D;C4BjE/D;;AzCHD;EyCPM,e5B2E0D;E4B1E1D,0BAAyC;CzCS9C;;AyChBD;EAWM,Y3CJO;E2CKP,0B5BqE0D;E4BpE1D,sB5BoE0D;C4BnE3D;;AAdL;EACE,e5BgF8D;E4B/E9D,0B5B+E8D;C4BjE/D;;AzCHD;EyCPM,e5B2E0D;E4B1E1D,0BAAyC;CzCS9C;;AyChBD;EAWM,Y3CJO;E2CKP,0B5BqE0D;E4BpE1D,sB5BoE0D;C4BnE3D;;AAdL;EACE,e5BgF8D;E4B/E9D,0B5B+E8D;C4BjE/D;;AzCHD;EyCPM,e5B2E0D;E4B1E1D,0BAAyC;CzCS9C;;AyChBD;EAWM,Y3CJO;E2CKP,0B5BqE0D;E4BpE1D,sB5BoE0D;C4BnE3D;;AAdL;EACE,e5BgF8D;E4B/E9D,0B5B+E8D;C4BjE/D;;AzCHD;EyCPM,e5B2E0D;E4B1E1D,0BAAyC;CzCS9C;;AyChBD;EAWM,Y3CJO;E2CKP,0B5BqE0D;E4BpE1D,sB5BoE0D;C4BnE3D;;AAdL;EACE,e5BgF8D;E4B/E9D,0B5B+E8D;C4BjE/D;;AzCHD;EyCPM,e5B2E0D;E4B1E1D,0BAAyC;CzCS9C;;AyChBD;EAWM,Y3CJO;E2CKP,0B5BqE0D;E4BpE1D,sB5BoE0D;C4BnE3D;;AAdL;EACE,e5BgF8D;E4B/E9D,0B5B+E8D;C4BjE/D;;AzCHD;EyCPM,e5B2E0D;E4B1E1D,0BAAyC;CzCS9C;;AyChBD;EAWM,Y3CJO;E2CKP,0B5BqE0D;E4BpE1D,sB5BoE0D;C4BnE3D;;AAdL;EACE,e5BgF8D;E4B/E9D,0B5B+E8D;C4BjE/D;;AzCHD;EyCPM,e5B2E0D;E4B1E1D,0BAAyC;CzCS9C;;AyChBD;EAWM,Y3CJO;E2CKP,0B5BqE0D;E4BpE1D,sB5BoE0D;C4BnE3D;;ACjBP;EACE,aAAY;EACZ,kB5C+5BuD;E4C95BvD,iB5CkQ+B;E4CjQ/B,eAAc;EACd,Y5Cea;E4Cdb,0B5CIa;E4CHb,YAAW;CAaZ;;AApBD;EAkBI,gBAAe;CAChB;;A1CHD;E0C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","file":"bootstrap.css","sourcesContent":["/*!\n * Bootstrap v4.1.3 (https://getbootstrap.com/)\n * Copyright 2011-2018 The Bootstrap Authors\n * Copyright 2011-2018 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"root\";\n@import \"reboot\";\n@import \"type\";\n@import \"images\";\n@import \"code\";\n@import \"grid\";\n@import \"tables\";\n@import \"forms\";\n@import \"buttons\";\n@import \"transitions\";\n@import \"dropdown\";\n@import \"button-group\";\n@import \"input-group\";\n@import \"custom-forms\";\n@import \"nav\";\n@import \"navbar\";\n@import \"card\";\n@import \"breadcrumb\";\n@import \"pagination\";\n@import \"badge\";\n@import \"jumbotron\";\n@import \"alert\";\n@import \"progress\";\n@import \"media\";\n@import \"list-group\";\n@import \"close\";\n@import \"modal\";\n@import \"tooltip\";\n@import \"popover\";\n@import \"carousel\";\n@import \"utilities\";\n@import \"print\";\n",":root {\n // Custom variable values only support SassScript inside `#{}`.\n @each $color, $value in $colors {\n --#{$color}: #{$value};\n }\n\n @each $color, $value in $theme-colors {\n --#{$color}: #{$value};\n }\n\n @each $bp, $value in $grid-breakpoints {\n --breakpoint-#{$bp}: #{$value};\n }\n\n // Use `inspect` for lists so that quoted items keep the quotes.\n // See https://github.com/sass/sass/issues/2383#issuecomment-336349172\n --font-family-sans-serif: #{inspect($font-family-sans-serif)};\n --font-family-monospace: #{inspect($font-family-monospace)};\n}\n","// stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// 1. Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n// 2. Change the default font family in all browsers.\n// 3. Correct the line height in all browsers.\n// 4. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.\n// 5. Setting @viewport causes scrollbars to overlap content in IE11 and Edge, so\n// we force a non-overlapping, non-auto-hiding scrollbar to counteract.\n// 6. Change the default tap highlight to be completely transparent in iOS.\n\n*,\n*::before,\n*::after {\n box-sizing: border-box; // 1\n}\n\nhtml {\n font-family: sans-serif; // 2\n line-height: 1.15; // 3\n -webkit-text-size-adjust: 100%; // 4\n -ms-text-size-adjust: 100%; // 4\n -ms-overflow-style: scrollbar; // 5\n -webkit-tap-highlight-color: rgba($black, 0); // 6\n}\n\n// IE10+ doesn't honor `` in some cases.\n@at-root {\n @-ms-viewport {\n width: device-width;\n }\n}\n\n// stylelint-disable selector-list-comma-newline-after\n// Shim for \"new\" HTML5 structural elements to display correctly (IE10, older browsers)\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n// stylelint-enable selector-list-comma-newline-after\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Set an explicit initial text-align value so that we can later use the\n// the `inherit` value on things like `` elements.\n\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n font-size: $font-size-base;\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n text-align: left; // 3\n background-color: $body-bg; // 2\n}\n\n// Suppress the focus outline on elements that cannot be accessed via keyboard.\n// This prevents an unwanted focus outline from appearing around elements that\n// might still respond to pointer events.\n//\n// Credit: https://github.com/suitcss/base\n[tabindex=\"-1\"]:focus {\n outline: 0 !important;\n}\n\n\n// Content grouping\n//\n// 1. Add the correct box sizing in Firefox.\n// 2. Show the overflow in Edge and IE.\n\nhr {\n box-sizing: content-box; // 1\n height: 0; // 1\n overflow: visible; // 2\n}\n\n\n//\n// Typography\n//\n\n// Remove top margins from headings\n//\n// By default, `

`-`

` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n// stylelint-disable selector-list-comma-newline-after\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: $headings-margin-bottom;\n}\n// stylelint-enable selector-list-comma-newline-after\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `

`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n// Abbreviations\n//\n// 1. Remove the bottom border in Firefox 39-.\n// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Duplicate behavior to the data-* attribute for our tooltip plugin\n\nabbr[title],\nabbr[data-original-title] { // 4\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n border-bottom: 0; // 1\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // Undo browser default\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\ndfn {\n font-style: italic; // Add the correct font style in Android 4.3-\n}\n\n// stylelint-disable font-weight-notation\nb,\nstrong {\n font-weight: bolder; // Add the correct font weight in Chrome, Edge, and Safari\n}\n// stylelint-enable font-weight-notation\n\nsmall {\n font-size: 80%; // Add the correct font size in all browsers\n}\n\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n//\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n//\n// Links\n//\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n background-color: transparent; // Remove the gray background on active links in IE 10.\n -webkit-text-decoration-skip: objects; // Remove gaps in links underline in iOS 8+ and Safari 8+.\n\n @include hover {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href)\n// which have not been made explicitly keyboard-focusable (without tabindex).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n\n @include hover-focus {\n color: inherit;\n text-decoration: none;\n }\n\n &:focus {\n outline: 0;\n }\n}\n\n\n//\n// Code\n//\n\npre,\ncode,\nkbd,\nsamp {\n font-family: $font-family-monospace;\n font-size: 1em; // Correct the odd `em` font sizing in all browsers.\n}\n\npre {\n // Remove browser default top margin\n margin-top: 0;\n // Reset browser default of `1em` to use `rem`s\n margin-bottom: 1rem;\n // Don't allow content to break outside\n overflow: auto;\n // We have @viewport set which causes scrollbars to overlap content in IE11 and Edge, so\n // we force a non-overlapping, non-auto-hiding scrollbar to counteract.\n -ms-overflow-style: scrollbar;\n}\n\n\n//\n// Figures\n//\n\nfigure {\n // Apply a consistent margin strategy (matches our type styles).\n margin: 0 0 1rem;\n}\n\n\n//\n// Images and content\n//\n\nimg {\n vertical-align: middle;\n border-style: none; // Remove the border on images inside links in IE 10-.\n}\n\nsvg {\n // Workaround for the SVG overflow bug in IE10/11 is still required.\n // See https://github.com/twbs/bootstrap/issues/26878\n overflow: hidden;\n vertical-align: middle;\n}\n\n\n//\n// Tables\n//\n\ntable {\n border-collapse: collapse; // Prevent double borders\n}\n\ncaption {\n padding-top: $table-cell-padding;\n padding-bottom: $table-cell-padding;\n color: $table-caption-color;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n // Matches default `` alignment by inheriting from the ``, or the\n // closest parent with a set `text-align`.\n text-align: inherit;\n}\n\n\n//\n// Forms\n//\n\nlabel {\n // Allow labels to use `margin` for spacing.\n display: inline-block;\n margin-bottom: $label-margin-bottom;\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24093\nbutton {\n border-radius: 0;\n}\n\n// Work around a Firefox/IE bug where the transparent `button` background\n// results in a loss of the default `button` focus styles.\n//\n// Credit: https://github.com/suitcss/base/\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0; // Remove the margin in Firefox and Safari\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible; // Show the overflow in Edge\n}\n\nbutton,\nselect {\n text-transform: none; // Remove the inheritance of text transform in Firefox\n}\n\n// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n// controls in Android 4.\n// 2. Correct the inability to style clickable types in iOS and Safari.\nbutton,\nhtml [type=\"button\"], // 1\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button; // 2\n}\n\n// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box; // 1. Add the correct box sizing in IE 10-\n padding: 0; // 2. Remove the padding in IE 10-\n}\n\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n // Remove the default appearance of temporal inputs to avoid a Mobile Safari\n // bug where setting a custom line-height prevents text from being vertically\n // centered within the input.\n // See https://bugs.webkit.org/show_bug.cgi?id=139848\n // and https://github.com/twbs/bootstrap/issues/11266\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto; // Remove the default vertical scrollbar in IE.\n // Textareas should really only resize vertically so they don't break their (horizontal) containers.\n resize: vertical;\n}\n\nfieldset {\n // Browsers set a default `min-width: min-content;` on fieldsets,\n // unlike e.g. `

`s, which have `min-width: 0;` by default.\n // So we reset that to ensure fieldsets behave more like a standard block element.\n // See https://github.com/twbs/bootstrap/issues/12359\n // and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n min-width: 0;\n // Reset the default outline behavior of fieldsets so they don't affect page layout.\n padding: 0;\n margin: 0;\n border: 0;\n}\n\n// 1. Correct the text wrapping in Edge and IE.\n// 2. Correct the color inheritance from `fieldset` elements in IE.\nlegend {\n display: block;\n width: 100%;\n max-width: 100%; // 1\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit; // 2\n white-space: normal; // 1\n}\n\nprogress {\n vertical-align: baseline; // Add the correct vertical alignment in Chrome, Firefox, and Opera.\n}\n\n// Correct the cursor style of increment and decrement buttons in Chrome.\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n // This overrides the extra rounded corners on search inputs in iOS so that our\n // `.form-control` class can properly style them. Note that this cannot simply\n // be added to `.form-control` as it's not specific enough. For details, see\n // https://github.com/twbs/bootstrap/issues/11586.\n outline-offset: -2px; // 2. Correct the outline style in Safari.\n -webkit-appearance: none;\n}\n\n//\n// Remove the inner padding and cancel buttons in Chrome and Safari on macOS.\n//\n\n[type=\"search\"]::-webkit-search-cancel-button,\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n//\n// 1. Correct the inability to style clickable types in iOS and Safari.\n// 2. Change font properties to `inherit` in Safari.\n//\n\n::-webkit-file-upload-button {\n font: inherit; // 2\n -webkit-appearance: button; // 1\n}\n\n//\n// Correct element displays\n//\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item; // Add the correct display in all browsers\n cursor: pointer;\n}\n\ntemplate {\n display: none; // Add the correct display in IE\n}\n\n// Always hide an element with the `hidden` HTML attribute (from PureCSS).\n// Needed for proper display in IE 10-.\n[hidden] {\n display: none !important;\n}\n","// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.\n\n\n//\n// Color system\n//\n\n$white: #fff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #6c757d !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n$black: #000 !default;\n\n$grays: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$grays: map-merge(\n (\n \"100\": $gray-100,\n \"200\": $gray-200,\n \"300\": $gray-300,\n \"400\": $gray-400,\n \"500\": $gray-500,\n \"600\": $gray-600,\n \"700\": $gray-700,\n \"800\": $gray-800,\n \"900\": $gray-900\n ),\n $grays\n);\n\n\n$blue: #007bff !default;\n$indigo: #6610f2 !default;\n$purple: #6f42c1 !default;\n$pink: #e83e8c !default;\n$red: #dc3545 !default;\n$orange: #fd7e14 !default;\n$yellow: #ffc107 !default;\n$green: #28a745 !default;\n$teal: #20c997 !default;\n$cyan: #17a2b8 !default;\n\n$colors: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$colors: map-merge(\n (\n \"blue\": $blue,\n \"indigo\": $indigo,\n \"purple\": $purple,\n \"pink\": $pink,\n \"red\": $red,\n \"orange\": $orange,\n \"yellow\": $yellow,\n \"green\": $green,\n \"teal\": $teal,\n \"cyan\": $cyan,\n \"white\": $white,\n \"gray\": $gray-600,\n \"gray-dark\": $gray-800\n ),\n $colors\n);\n\n$primary: $blue !default;\n$secondary: $gray-600 !default;\n$success: $green !default;\n$info: $cyan !default;\n$warning: $yellow !default;\n$danger: $red !default;\n$light: $gray-100 !default;\n$dark: $gray-800 !default;\n\n$theme-colors: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$theme-colors: map-merge(\n (\n \"primary\": $primary,\n \"secondary\": $secondary,\n \"success\": $success,\n \"info\": $info,\n \"warning\": $warning,\n \"danger\": $danger,\n \"light\": $light,\n \"dark\": $dark\n ),\n $theme-colors\n);\n\n// Set a specific jump point for requesting color jumps\n$theme-color-interval: 8% !default;\n\n// The yiq lightness value that determines when the lightness of color changes from \"dark\" to \"light\". Acceptable values are between 0 and 255.\n$yiq-contrasted-threshold: 150 !default;\n\n// Customize the light and dark text colors for use in our YIQ color contrast function.\n$yiq-text-dark: $gray-900 !default;\n$yiq-text-light: $white !default;\n\n// Options\n//\n// Quickly modify global styling by enabling or disabling optional features.\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: false !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-hover-media-query: false !default; // Deprecated, no longer affects any compiled CSS\n$enable-grid-classes: true !default;\n$enable-print-styles: true !default;\n\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n$spacer: 1rem !default;\n$spacers: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$spacers: map-merge(\n (\n 0: 0,\n 1: ($spacer * .25),\n 2: ($spacer * .5),\n 3: $spacer,\n 4: ($spacer * 1.5),\n 5: ($spacer * 3)\n ),\n $spacers\n);\n\n// This variable affects the `.h-*` and `.w-*` classes.\n$sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$sizes: map-merge(\n (\n 25: 25%,\n 50: 50%,\n 75: 75%,\n 100: 100%,\n auto: auto\n ),\n $sizes\n);\n\n// Body\n//\n// Settings for the `` element.\n\n$body-bg: $white !default;\n$body-color: $gray-900 !default;\n\n// Links\n//\n// Style anchor elements.\n\n$link-color: theme-color(\"primary\") !default;\n$link-decoration: none !default;\n$link-hover-color: darken($link-color, 15%) !default;\n$link-hover-decoration: underline !default;\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom: 1rem !default;\n\n\n// Grid breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n$grid-breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 992px,\n xl: 1200px\n) !default;\n\n@include _assert-ascending($grid-breakpoints, \"$grid-breakpoints\");\n@include _assert-starts-at-zero($grid-breakpoints);\n\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1140px\n) !default;\n\n@include _assert-ascending($container-max-widths, \"$container-max-widths\");\n\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-width: 30px !default;\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n$line-height-lg: 1.5 !default;\n$line-height-sm: 1.5 !default;\n\n$border-width: 1px !default;\n$border-color: $gray-300 !default;\n\n$border-radius: .25rem !default;\n$border-radius-lg: .3rem !default;\n$border-radius-sm: .2rem !default;\n\n$box-shadow-sm: 0 .125rem .25rem rgba($black, .075) !default;\n$box-shadow: 0 .5rem 1rem rgba($black, .15) !default;\n$box-shadow-lg: 0 1rem 3rem rgba($black, .175) !default;\n\n$component-active-color: $white !default;\n$component-active-bg: theme-color(\"primary\") !default;\n\n$caret-width: .3em !default;\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n$transition-collapse: height .35s ease !default;\n\n\n// Fonts\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// stylelint-disable value-keyword-case\n$font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\" !default;\n$font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !default;\n$font-family-base: $font-family-sans-serif !default;\n// stylelint-enable value-keyword-case\n\n$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`\n$font-size-lg: ($font-size-base * 1.25) !default;\n$font-size-sm: ($font-size-base * .875) !default;\n\n$font-weight-light: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-bold: 700 !default;\n\n$font-weight-base: $font-weight-normal !default;\n$line-height-base: 1.5 !default;\n\n$h1-font-size: $font-size-base * 2.5 !default;\n$h2-font-size: $font-size-base * 2 !default;\n$h3-font-size: $font-size-base * 1.75 !default;\n$h4-font-size: $font-size-base * 1.5 !default;\n$h5-font-size: $font-size-base * 1.25 !default;\n$h6-font-size: $font-size-base !default;\n\n$headings-margin-bottom: ($spacer / 2) !default;\n$headings-font-family: inherit !default;\n$headings-font-weight: 500 !default;\n$headings-line-height: 1.2 !default;\n$headings-color: inherit !default;\n\n$display1-size: 6rem !default;\n$display2-size: 5.5rem !default;\n$display3-size: 4.5rem !default;\n$display4-size: 3.5rem !default;\n\n$display1-weight: 300 !default;\n$display2-weight: 300 !default;\n$display3-weight: 300 !default;\n$display4-weight: 300 !default;\n$display-line-height: $headings-line-height !default;\n\n$lead-font-size: ($font-size-base * 1.25) !default;\n$lead-font-weight: 300 !default;\n\n$small-font-size: 80% !default;\n\n$text-muted: $gray-600 !default;\n\n$blockquote-small-color: $gray-600 !default;\n$blockquote-font-size: ($font-size-base * 1.25) !default;\n\n$hr-border-color: rgba($black, .1) !default;\n$hr-border-width: $border-width !default;\n\n$mark-padding: .2em !default;\n\n$dt-font-weight: $font-weight-bold !default;\n\n$kbd-box-shadow: inset 0 -.1rem 0 rgba($black, .25) !default;\n$nested-kbd-font-weight: $font-weight-bold !default;\n\n$list-inline-padding: .5rem !default;\n\n$mark-bg: #fcf8e3 !default;\n\n$hr-margin-y: $spacer !default;\n\n\n// Tables\n//\n// Customizes the `.table` component with basic values, each used across all table variations.\n\n$table-cell-padding: .75rem !default;\n$table-cell-padding-sm: .3rem !default;\n\n$table-bg: transparent !default;\n$table-accent-bg: rgba($black, .05) !default;\n$table-hover-bg: rgba($black, .075) !default;\n$table-active-bg: $table-hover-bg !default;\n\n$table-border-width: $border-width !default;\n$table-border-color: $gray-300 !default;\n\n$table-head-bg: $gray-200 !default;\n$table-head-color: $gray-700 !default;\n\n$table-dark-bg: $gray-900 !default;\n$table-dark-accent-bg: rgba($white, .05) !default;\n$table-dark-hover-bg: rgba($white, .075) !default;\n$table-dark-border-color: lighten($gray-900, 7.5%) !default;\n$table-dark-color: $body-bg !default;\n\n$table-striped-order: odd !default;\n\n$table-caption-color: $text-muted !default;\n\n// Buttons + Forms\n//\n// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.\n\n$input-btn-padding-y: .375rem !default;\n$input-btn-padding-x: .75rem !default;\n$input-btn-line-height: $line-height-base !default;\n\n$input-btn-focus-width: .2rem !default;\n$input-btn-focus-color: rgba($component-active-bg, .25) !default;\n$input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color !default;\n\n$input-btn-padding-y-sm: .25rem !default;\n$input-btn-padding-x-sm: .5rem !default;\n$input-btn-line-height-sm: $line-height-sm !default;\n\n$input-btn-padding-y-lg: .5rem !default;\n$input-btn-padding-x-lg: 1rem !default;\n$input-btn-line-height-lg: $line-height-lg !default;\n\n$input-btn-border-width: $border-width !default;\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background, and border color.\n\n$btn-padding-y: $input-btn-padding-y !default;\n$btn-padding-x: $input-btn-padding-x !default;\n$btn-line-height: $input-btn-line-height !default;\n\n$btn-padding-y-sm: $input-btn-padding-y-sm !default;\n$btn-padding-x-sm: $input-btn-padding-x-sm !default;\n$btn-line-height-sm: $input-btn-line-height-sm !default;\n\n$btn-padding-y-lg: $input-btn-padding-y-lg !default;\n$btn-padding-x-lg: $input-btn-padding-x-lg !default;\n$btn-line-height-lg: $input-btn-line-height-lg !default;\n\n$btn-border-width: $input-btn-border-width !default;\n\n$btn-font-weight: $font-weight-normal !default;\n$btn-box-shadow: inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default;\n$btn-focus-width: $input-btn-focus-width !default;\n$btn-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$btn-disabled-opacity: .65 !default;\n$btn-active-box-shadow: inset 0 3px 5px rgba($black, .125) !default;\n\n$btn-link-disabled-color: $gray-600 !default;\n\n$btn-block-spacing-y: .5rem !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius: $border-radius !default;\n$btn-border-radius-lg: $border-radius-lg !default;\n$btn-border-radius-sm: $border-radius-sm !default;\n\n$btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n\n// Forms\n\n$label-margin-bottom: .5rem !default;\n\n$input-padding-y: $input-btn-padding-y !default;\n$input-padding-x: $input-btn-padding-x !default;\n$input-line-height: $input-btn-line-height !default;\n\n$input-padding-y-sm: $input-btn-padding-y-sm !default;\n$input-padding-x-sm: $input-btn-padding-x-sm !default;\n$input-line-height-sm: $input-btn-line-height-sm !default;\n\n$input-padding-y-lg: $input-btn-padding-y-lg !default;\n$input-padding-x-lg: $input-btn-padding-x-lg !default;\n$input-line-height-lg: $input-btn-line-height-lg !default;\n\n$input-bg: $white !default;\n$input-disabled-bg: $gray-200 !default;\n\n$input-color: $gray-700 !default;\n$input-border-color: $gray-400 !default;\n$input-border-width: $input-btn-border-width !default;\n$input-box-shadow: inset 0 1px 1px rgba($black, .075) !default;\n\n$input-border-radius: $border-radius !default;\n$input-border-radius-lg: $border-radius-lg !default;\n$input-border-radius-sm: $border-radius-sm !default;\n\n$input-focus-bg: $input-bg !default;\n$input-focus-border-color: lighten($component-active-bg, 25%) !default;\n$input-focus-color: $input-color !default;\n$input-focus-width: $input-btn-focus-width !default;\n$input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$input-placeholder-color: $gray-600 !default;\n$input-plaintext-color: $body-color !default;\n\n$input-height-border: $input-border-width * 2 !default;\n\n$input-height-inner: ($font-size-base * $input-btn-line-height) + ($input-btn-padding-y * 2) !default;\n$input-height: calc(#{$input-height-inner} + #{$input-height-border}) !default;\n\n$input-height-inner-sm: ($font-size-sm * $input-btn-line-height-sm) + ($input-btn-padding-y-sm * 2) !default;\n$input-height-sm: calc(#{$input-height-inner-sm} + #{$input-height-border}) !default;\n\n$input-height-inner-lg: ($font-size-lg * $input-btn-line-height-lg) + ($input-btn-padding-y-lg * 2) !default;\n$input-height-lg: calc(#{$input-height-inner-lg} + #{$input-height-border}) !default;\n\n$input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$form-text-margin-top: .25rem !default;\n\n$form-check-input-gutter: 1.25rem !default;\n$form-check-input-margin-y: .3rem !default;\n$form-check-input-margin-x: .25rem !default;\n\n$form-check-inline-margin-x: .75rem !default;\n$form-check-inline-input-margin-x: .3125rem !default;\n\n$form-group-margin-bottom: 1rem !default;\n\n$input-group-addon-color: $input-color !default;\n$input-group-addon-bg: $gray-200 !default;\n$input-group-addon-border-color: $input-border-color !default;\n\n$custom-forms-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$custom-control-gutter: 1.5rem !default;\n$custom-control-spacer-x: 1rem !default;\n\n$custom-control-indicator-size: 1rem !default;\n$custom-control-indicator-bg: $gray-300 !default;\n$custom-control-indicator-bg-size: 50% 50% !default;\n$custom-control-indicator-box-shadow: inset 0 .25rem .25rem rgba($black, .1) !default;\n\n$custom-control-indicator-disabled-bg: $gray-200 !default;\n$custom-control-label-disabled-color: $gray-600 !default;\n\n$custom-control-indicator-checked-color: $component-active-color !default;\n$custom-control-indicator-checked-bg: $component-active-bg !default;\n$custom-control-indicator-checked-disabled-bg: rgba(theme-color(\"primary\"), .5) !default;\n$custom-control-indicator-checked-box-shadow: none !default;\n\n$custom-control-indicator-focus-box-shadow: 0 0 0 1px $body-bg, $input-btn-focus-box-shadow !default;\n\n$custom-control-indicator-active-color: $component-active-color !default;\n$custom-control-indicator-active-bg: lighten($component-active-bg, 35%) !default;\n$custom-control-indicator-active-box-shadow: none !default;\n\n$custom-checkbox-indicator-border-radius: $border-radius !default;\n$custom-checkbox-indicator-icon-checked: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='#{$custom-control-indicator-checked-color}' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n\n$custom-checkbox-indicator-indeterminate-bg: $component-active-bg !default;\n$custom-checkbox-indicator-indeterminate-color: $custom-control-indicator-checked-color !default;\n$custom-checkbox-indicator-icon-indeterminate: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='#{$custom-checkbox-indicator-indeterminate-color}' d='M0 2h4'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$custom-checkbox-indicator-indeterminate-box-shadow: none !default;\n\n$custom-radio-indicator-border-radius: 50% !default;\n$custom-radio-indicator-icon-checked: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='#{$custom-control-indicator-checked-color}'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n\n$custom-select-padding-y: .375rem !default;\n$custom-select-padding-x: .75rem !default;\n$custom-select-height: $input-height !default;\n$custom-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator\n$custom-select-line-height: $input-btn-line-height !default;\n$custom-select-color: $input-color !default;\n$custom-select-disabled-color: $gray-600 !default;\n$custom-select-bg: $input-bg !default;\n$custom-select-disabled-bg: $gray-200 !default;\n$custom-select-bg-size: 8px 10px !default; // In pixels because image dimensions\n$custom-select-indicator-color: $gray-800 !default;\n$custom-select-indicator: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='#{$custom-select-indicator-color}' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$custom-select-border-width: $input-btn-border-width !default;\n$custom-select-border-color: $input-border-color !default;\n$custom-select-border-radius: $border-radius !default;\n$custom-select-box-shadow: inset 0 1px 2px rgba($black, .075) !default;\n\n$custom-select-focus-border-color: $input-focus-border-color !default;\n$custom-select-focus-width: $input-btn-focus-width !default;\n$custom-select-focus-box-shadow: 0 0 0 $custom-select-focus-width rgba($custom-select-focus-border-color, .5) !default;\n\n$custom-select-font-size-sm: 75% !default;\n$custom-select-height-sm: $input-height-sm !default;\n\n$custom-select-font-size-lg: 125% !default;\n$custom-select-height-lg: $input-height-lg !default;\n\n$custom-range-track-width: 100% !default;\n$custom-range-track-height: .5rem !default;\n$custom-range-track-cursor: pointer !default;\n$custom-range-track-bg: $gray-300 !default;\n$custom-range-track-border-radius: 1rem !default;\n$custom-range-track-box-shadow: inset 0 .25rem .25rem rgba($black, .1) !default;\n\n$custom-range-thumb-width: 1rem !default;\n$custom-range-thumb-height: $custom-range-thumb-width !default;\n$custom-range-thumb-bg: $component-active-bg !default;\n$custom-range-thumb-border: 0 !default;\n$custom-range-thumb-border-radius: 1rem !default;\n$custom-range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1) !default;\n$custom-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg, $input-btn-focus-box-shadow !default;\n$custom-range-thumb-focus-box-shadow-width: $input-btn-focus-width !default; // For focus box shadow issue in IE/Edge\n$custom-range-thumb-active-bg: lighten($component-active-bg, 35%) !default;\n\n$custom-file-height: $input-height !default;\n$custom-file-height-inner: $input-height-inner !default;\n$custom-file-focus-border-color: $input-focus-border-color !default;\n$custom-file-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$custom-file-disabled-bg: $input-disabled-bg !default;\n\n$custom-file-padding-y: $input-btn-padding-y !default;\n$custom-file-padding-x: $input-btn-padding-x !default;\n$custom-file-line-height: $input-btn-line-height !default;\n$custom-file-color: $input-color !default;\n$custom-file-bg: $input-bg !default;\n$custom-file-border-width: $input-btn-border-width !default;\n$custom-file-border-color: $input-border-color !default;\n$custom-file-border-radius: $input-border-radius !default;\n$custom-file-box-shadow: $input-box-shadow !default;\n$custom-file-button-color: $custom-file-color !default;\n$custom-file-button-bg: $input-group-addon-bg !default;\n$custom-file-text: (\n en: \"Browse\"\n) !default;\n\n\n// Form validation\n$form-feedback-margin-top: $form-text-margin-top !default;\n$form-feedback-font-size: $small-font-size !default;\n$form-feedback-valid-color: theme-color(\"success\") !default;\n$form-feedback-invalid-color: theme-color(\"danger\") !default;\n\n\n// Dropdowns\n//\n// Dropdown menu container and contents.\n\n$dropdown-min-width: 10rem !default;\n$dropdown-padding-y: .5rem !default;\n$dropdown-spacer: .125rem !default;\n$dropdown-bg: $white !default;\n$dropdown-border-color: rgba($black, .15) !default;\n$dropdown-border-radius: $border-radius !default;\n$dropdown-border-width: $border-width !default;\n$dropdown-divider-bg: $gray-200 !default;\n$dropdown-box-shadow: 0 .5rem 1rem rgba($black, .175) !default;\n\n$dropdown-link-color: $gray-900 !default;\n$dropdown-link-hover-color: darken($gray-900, 5%) !default;\n$dropdown-link-hover-bg: $gray-100 !default;\n\n$dropdown-link-active-color: $component-active-color !default;\n$dropdown-link-active-bg: $component-active-bg !default;\n\n$dropdown-link-disabled-color: $gray-600 !default;\n\n$dropdown-item-padding-y: .25rem !default;\n$dropdown-item-padding-x: 1.5rem !default;\n\n$dropdown-header-color: $gray-600 !default;\n\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n$zindex-dropdown: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-modal-backdrop: 1040 !default;\n$zindex-modal: 1050 !default;\n$zindex-popover: 1060 !default;\n$zindex-tooltip: 1070 !default;\n\n// Navs\n\n$nav-link-padding-y: .5rem !default;\n$nav-link-padding-x: 1rem !default;\n$nav-link-disabled-color: $gray-600 !default;\n\n$nav-tabs-border-color: $gray-300 !default;\n$nav-tabs-border-width: $border-width !default;\n$nav-tabs-border-radius: $border-radius !default;\n$nav-tabs-link-hover-border-color: $gray-200 $gray-200 $nav-tabs-border-color !default;\n$nav-tabs-link-active-color: $gray-700 !default;\n$nav-tabs-link-active-bg: $body-bg !default;\n$nav-tabs-link-active-border-color: $gray-300 $gray-300 $nav-tabs-link-active-bg !default;\n\n$nav-pills-border-radius: $border-radius !default;\n$nav-pills-link-active-color: $component-active-color !default;\n$nav-pills-link-active-bg: $component-active-bg !default;\n\n$nav-divider-color: $gray-200 !default;\n$nav-divider-margin-y: ($spacer / 2) !default;\n\n// Navbar\n\n$navbar-padding-y: ($spacer / 2) !default;\n$navbar-padding-x: $spacer !default;\n\n$navbar-nav-link-padding-x: .5rem !default;\n\n$navbar-brand-font-size: $font-size-lg !default;\n// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link\n$nav-link-height: ($font-size-base * $line-height-base + $nav-link-padding-y * 2) !default;\n$navbar-brand-height: $navbar-brand-font-size * $line-height-base !default;\n$navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) / 2 !default;\n\n$navbar-toggler-padding-y: .25rem !default;\n$navbar-toggler-padding-x: .75rem !default;\n$navbar-toggler-font-size: $font-size-lg !default;\n$navbar-toggler-border-radius: $btn-border-radius !default;\n\n$navbar-dark-color: rgba($white, .5) !default;\n$navbar-dark-hover-color: rgba($white, .75) !default;\n$navbar-dark-active-color: $white !default;\n$navbar-dark-disabled-color: rgba($white, .25) !default;\n$navbar-dark-toggler-icon-bg: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='#{$navbar-dark-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$navbar-dark-toggler-border-color: rgba($white, .1) !default;\n\n$navbar-light-color: rgba($black, .5) !default;\n$navbar-light-hover-color: rgba($black, .7) !default;\n$navbar-light-active-color: rgba($black, .9) !default;\n$navbar-light-disabled-color: rgba($black, .3) !default;\n$navbar-light-toggler-icon-bg: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='#{$navbar-light-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$navbar-light-toggler-border-color: rgba($black, .1) !default;\n\n// Pagination\n\n$pagination-padding-y: .5rem !default;\n$pagination-padding-x: .75rem !default;\n$pagination-padding-y-sm: .25rem !default;\n$pagination-padding-x-sm: .5rem !default;\n$pagination-padding-y-lg: .75rem !default;\n$pagination-padding-x-lg: 1.5rem !default;\n$pagination-line-height: 1.25 !default;\n\n$pagination-color: $link-color !default;\n$pagination-bg: $white !default;\n$pagination-border-width: $border-width !default;\n$pagination-border-color: $gray-300 !default;\n\n$pagination-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$pagination-focus-outline: 0 !default;\n\n$pagination-hover-color: $link-hover-color !default;\n$pagination-hover-bg: $gray-200 !default;\n$pagination-hover-border-color: $gray-300 !default;\n\n$pagination-active-color: $component-active-color !default;\n$pagination-active-bg: $component-active-bg !default;\n$pagination-active-border-color: $pagination-active-bg !default;\n\n$pagination-disabled-color: $gray-600 !default;\n$pagination-disabled-bg: $white !default;\n$pagination-disabled-border-color: $gray-300 !default;\n\n\n// Jumbotron\n\n$jumbotron-padding: 2rem !default;\n$jumbotron-bg: $gray-200 !default;\n\n\n// Cards\n\n$card-spacer-y: .75rem !default;\n$card-spacer-x: 1.25rem !default;\n$card-border-width: $border-width !default;\n$card-border-radius: $border-radius !default;\n$card-border-color: rgba($black, .125) !default;\n$card-inner-border-radius: calc(#{$card-border-radius} - #{$card-border-width}) !default;\n$card-cap-bg: rgba($black, .03) !default;\n$card-bg: $white !default;\n\n$card-img-overlay-padding: 1.25rem !default;\n\n$card-group-margin: ($grid-gutter-width / 2) !default;\n$card-deck-margin: $card-group-margin !default;\n\n$card-columns-count: 3 !default;\n$card-columns-gap: 1.25rem !default;\n$card-columns-margin: $card-spacer-y !default;\n\n\n// Tooltips\n\n$tooltip-font-size: $font-size-sm !default;\n$tooltip-max-width: 200px !default;\n$tooltip-color: $white !default;\n$tooltip-bg: $black !default;\n$tooltip-border-radius: $border-radius !default;\n$tooltip-opacity: .9 !default;\n$tooltip-padding-y: .25rem !default;\n$tooltip-padding-x: .5rem !default;\n$tooltip-margin: 0 !default;\n\n$tooltip-arrow-width: .8rem !default;\n$tooltip-arrow-height: .4rem !default;\n$tooltip-arrow-color: $tooltip-bg !default;\n\n\n// Popovers\n\n$popover-font-size: $font-size-sm !default;\n$popover-bg: $white !default;\n$popover-max-width: 276px !default;\n$popover-border-width: $border-width !default;\n$popover-border-color: rgba($black, .2) !default;\n$popover-border-radius: $border-radius-lg !default;\n$popover-box-shadow: 0 .25rem .5rem rgba($black, .2) !default;\n\n$popover-header-bg: darken($popover-bg, 3%) !default;\n$popover-header-color: $headings-color !default;\n$popover-header-padding-y: .5rem !default;\n$popover-header-padding-x: .75rem !default;\n\n$popover-body-color: $body-color !default;\n$popover-body-padding-y: $popover-header-padding-y !default;\n$popover-body-padding-x: $popover-header-padding-x !default;\n\n$popover-arrow-width: 1rem !default;\n$popover-arrow-height: .5rem !default;\n$popover-arrow-color: $popover-bg !default;\n\n$popover-arrow-outer-color: fade-in($popover-border-color, .05) !default;\n\n\n// Badges\n\n$badge-font-size: 75% !default;\n$badge-font-weight: $font-weight-bold !default;\n$badge-padding-y: .25em !default;\n$badge-padding-x: .4em !default;\n$badge-border-radius: $border-radius !default;\n\n$badge-pill-padding-x: .6em !default;\n// Use a higher than normal value to ensure completely rounded edges when\n// customizing padding or font-size on labels.\n$badge-pill-border-radius: 10rem !default;\n\n\n// Modals\n\n// Padding applied to the modal body\n$modal-inner-padding: 1rem !default;\n\n$modal-dialog-margin: .5rem !default;\n$modal-dialog-margin-y-sm-up: 1.75rem !default;\n\n$modal-title-line-height: $line-height-base !default;\n\n$modal-content-bg: $white !default;\n$modal-content-border-color: rgba($black, .2) !default;\n$modal-content-border-width: $border-width !default;\n$modal-content-border-radius: $border-radius-lg !default;\n$modal-content-box-shadow-xs: 0 .25rem .5rem rgba($black, .5) !default;\n$modal-content-box-shadow-sm-up: 0 .5rem 1rem rgba($black, .5) !default;\n\n$modal-backdrop-bg: $black !default;\n$modal-backdrop-opacity: .5 !default;\n$modal-header-border-color: $gray-200 !default;\n$modal-footer-border-color: $modal-header-border-color !default;\n$modal-header-border-width: $modal-content-border-width !default;\n$modal-footer-border-width: $modal-header-border-width !default;\n$modal-header-padding: 1rem !default;\n\n$modal-lg: 800px !default;\n$modal-md: 500px !default;\n$modal-sm: 300px !default;\n\n$modal-transition: transform .3s ease-out !default;\n\n\n// Alerts\n//\n// Define alert colors, border radius, and padding.\n\n$alert-padding-y: .75rem !default;\n$alert-padding-x: 1.25rem !default;\n$alert-margin-bottom: 1rem !default;\n$alert-border-radius: $border-radius !default;\n$alert-link-font-weight: $font-weight-bold !default;\n$alert-border-width: $border-width !default;\n\n$alert-bg-level: -10 !default;\n$alert-border-level: -9 !default;\n$alert-color-level: 6 !default;\n\n\n// Progress bars\n\n$progress-height: 1rem !default;\n$progress-font-size: ($font-size-base * .75) !default;\n$progress-bg: $gray-200 !default;\n$progress-border-radius: $border-radius !default;\n$progress-box-shadow: inset 0 .1rem .1rem rgba($black, .1) !default;\n$progress-bar-color: $white !default;\n$progress-bar-bg: theme-color(\"primary\") !default;\n$progress-bar-animation-timing: 1s linear infinite !default;\n$progress-bar-transition: width .6s ease !default;\n\n// List group\n\n$list-group-bg: $white !default;\n$list-group-border-color: rgba($black, .125) !default;\n$list-group-border-width: $border-width !default;\n$list-group-border-radius: $border-radius !default;\n\n$list-group-item-padding-y: .75rem !default;\n$list-group-item-padding-x: 1.25rem !default;\n\n$list-group-hover-bg: $gray-100 !default;\n$list-group-active-color: $component-active-color !default;\n$list-group-active-bg: $component-active-bg !default;\n$list-group-active-border-color: $list-group-active-bg !default;\n\n$list-group-disabled-color: $gray-600 !default;\n$list-group-disabled-bg: $list-group-bg !default;\n\n$list-group-action-color: $gray-700 !default;\n$list-group-action-hover-color: $list-group-action-color !default;\n\n$list-group-action-active-color: $body-color !default;\n$list-group-action-active-bg: $gray-200 !default;\n\n\n// Image thumbnails\n\n$thumbnail-padding: .25rem !default;\n$thumbnail-bg: $body-bg !default;\n$thumbnail-border-width: $border-width !default;\n$thumbnail-border-color: $gray-300 !default;\n$thumbnail-border-radius: $border-radius !default;\n$thumbnail-box-shadow: 0 1px 2px rgba($black, .075) !default;\n\n\n// Figures\n\n$figure-caption-font-size: 90% !default;\n$figure-caption-color: $gray-600 !default;\n\n\n// Breadcrumbs\n\n$breadcrumb-padding-y: .75rem !default;\n$breadcrumb-padding-x: 1rem !default;\n$breadcrumb-item-padding: .5rem !default;\n\n$breadcrumb-margin-bottom: 1rem !default;\n\n$breadcrumb-bg: $gray-200 !default;\n$breadcrumb-divider-color: $gray-600 !default;\n$breadcrumb-active-color: $gray-600 !default;\n$breadcrumb-divider: quote(\"/\") !default;\n\n$breadcrumb-border-radius: $border-radius !default;\n\n\n// Carousel\n\n$carousel-control-color: $white !default;\n$carousel-control-width: 15% !default;\n$carousel-control-opacity: .5 !default;\n\n$carousel-indicator-width: 30px !default;\n$carousel-indicator-height: 3px !default;\n$carousel-indicator-spacer: 3px !default;\n$carousel-indicator-active-bg: $white !default;\n\n$carousel-caption-width: 70% !default;\n$carousel-caption-color: $white !default;\n\n$carousel-control-icon-width: 20px !default;\n\n$carousel-control-prev-icon-bg: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$carousel-control-next-icon-bg: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n\n$carousel-transition: transform .6s ease !default; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`)\n\n\n// Close\n\n$close-font-size: $font-size-base * 1.5 !default;\n$close-font-weight: $font-weight-bold !default;\n$close-color: $black !default;\n$close-text-shadow: 0 1px 0 $white !default;\n\n// Code\n\n$code-font-size: 87.5% !default;\n$code-color: $pink !default;\n\n$kbd-padding-y: .2rem !default;\n$kbd-padding-x: .4rem !default;\n$kbd-font-size: $code-font-size !default;\n$kbd-color: $white !default;\n$kbd-bg: $gray-900 !default;\n\n$pre-color: $gray-900 !default;\n$pre-scrollable-max-height: 340px !default;\n\n\n// Printing\n$print-page-size: a3 !default;\n$print-body-min-width: map-get($grid-breakpoints, \"lg\") !default;\n","/*!\n * Bootstrap v4.1.3 (https://getbootstrap.com/)\n * Copyright 2011-2018 The Bootstrap Authors\n * Copyright 2011-2018 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n:root {\n --blue: #007bff;\n --indigo: #6610f2;\n --purple: #6f42c1;\n --pink: #e83e8c;\n --red: #dc3545;\n --orange: #fd7e14;\n --yellow: #ffc107;\n --green: #28a745;\n --teal: #20c997;\n --cyan: #17a2b8;\n --white: #fff;\n --gray: #6c757d;\n --gray-dark: #343a40;\n --primary: #007bff;\n --secondary: #6c757d;\n --success: #28a745;\n --info: #17a2b8;\n --warning: #ffc107;\n --danger: #dc3545;\n --light: #f8f9fa;\n --dark: #343a40;\n --breakpoint-xs: 0;\n --breakpoint-sm: 576px;\n --breakpoint-md: 768px;\n --breakpoint-lg: 992px;\n --breakpoint-xl: 1200px;\n --font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nhtml {\n font-family: sans-serif;\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n -ms-text-size-adjust: 100%;\n -ms-overflow-style: scrollbar;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\n@-ms-viewport {\n width: device-width;\n}\n\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: left;\n background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus {\n outline: 0 !important;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n text-decoration: underline dotted;\n cursor: help;\n border-bottom: 0;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\ndfn {\n font-style: italic;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #007bff;\n text-decoration: none;\n background-color: transparent;\n -webkit-text-decoration-skip: objects;\n}\n\na:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus {\n outline: 0;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n font-size: 1em;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n -ms-overflow-style: scrollbar;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n border-style: none;\n}\n\nsvg {\n overflow: hidden;\n vertical-align: middle;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #6c757d;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: inherit;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: 0.5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nbutton,\nhtml [type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n max-width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: none;\n}\n\n[type=\"search\"]::-webkit-search-cancel-button,\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none !important;\n}\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n margin-bottom: 0.5rem;\n font-family: inherit;\n font-weight: 500;\n line-height: 1.2;\n color: inherit;\n}\n\nh1, .h1 {\n font-size: 2.5rem;\n}\n\nh2, .h2 {\n font-size: 2rem;\n}\n\nh3, .h3 {\n font-size: 1.75rem;\n}\n\nh4, .h4 {\n font-size: 1.5rem;\n}\n\nh5, .h5 {\n font-size: 1.25rem;\n}\n\nh6, .h6 {\n font-size: 1rem;\n}\n\n.lead {\n font-size: 1.25rem;\n font-weight: 300;\n}\n\n.display-1 {\n font-size: 6rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-2 {\n font-size: 5.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-3 {\n font-size: 4.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-4 {\n font-size: 3.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\nhr {\n margin-top: 1rem;\n margin-bottom: 1rem;\n border: 0;\n border-top: 1px solid rgba(0, 0, 0, 0.1);\n}\n\nsmall,\n.small {\n font-size: 80%;\n font-weight: 400;\n}\n\nmark,\n.mark {\n padding: 0.2em;\n background-color: #fcf8e3;\n}\n\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline-item {\n display: inline-block;\n}\n\n.list-inline-item:not(:last-child) {\n margin-right: 0.5rem;\n}\n\n.initialism {\n font-size: 90%;\n text-transform: uppercase;\n}\n\n.blockquote {\n margin-bottom: 1rem;\n font-size: 1.25rem;\n}\n\n.blockquote-footer {\n display: block;\n font-size: 80%;\n color: #6c757d;\n}\n\n.blockquote-footer::before {\n content: \"\\2014 \\00A0\";\n}\n\n.img-fluid {\n max-width: 100%;\n height: auto;\n}\n\n.img-thumbnail {\n padding: 0.25rem;\n background-color: #fff;\n border: 1px solid #dee2e6;\n border-radius: 0.25rem;\n max-width: 100%;\n height: auto;\n}\n\n.figure {\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: 0.5rem;\n line-height: 1;\n}\n\n.figure-caption {\n font-size: 90%;\n color: #6c757d;\n}\n\ncode {\n font-size: 87.5%;\n color: #e83e8c;\n word-break: break-word;\n}\n\na > code {\n color: inherit;\n}\n\nkbd {\n padding: 0.2rem 0.4rem;\n font-size: 87.5%;\n color: #fff;\n background-color: #212529;\n border-radius: 0.2rem;\n}\n\nkbd kbd {\n padding: 0;\n font-size: 100%;\n font-weight: 700;\n}\n\npre {\n display: block;\n font-size: 87.5%;\n color: #212529;\n}\n\npre code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n}\n\n.pre-scrollable {\n max-height: 340px;\n overflow-y: scroll;\n}\n\n.container {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n max-width: 1140px;\n }\n}\n\n.container-fluid {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n.row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\n.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n.col-xl-auto {\n position: relative;\n width: 100%;\n min-height: 1px;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n.col {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n}\n\n.col-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.order-first {\n order: -1;\n}\n\n.order-last {\n order: 13;\n}\n\n.order-0 {\n order: 0;\n}\n\n.order-1 {\n order: 1;\n}\n\n.order-2 {\n order: 2;\n}\n\n.order-3 {\n order: 3;\n}\n\n.order-4 {\n order: 4;\n}\n\n.order-5 {\n order: 5;\n}\n\n.order-6 {\n order: 6;\n}\n\n.order-7 {\n order: 7;\n}\n\n.order-8 {\n order: 8;\n}\n\n.order-9 {\n order: 9;\n}\n\n.order-10 {\n order: 10;\n}\n\n.order-11 {\n order: 11;\n}\n\n.order-12 {\n order: 12;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-sm-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-sm-first {\n order: -1;\n }\n .order-sm-last {\n order: 13;\n }\n .order-sm-0 {\n order: 0;\n }\n .order-sm-1 {\n order: 1;\n }\n .order-sm-2 {\n order: 2;\n }\n .order-sm-3 {\n order: 3;\n }\n .order-sm-4 {\n order: 4;\n }\n .order-sm-5 {\n order: 5;\n }\n .order-sm-6 {\n order: 6;\n }\n .order-sm-7 {\n order: 7;\n }\n .order-sm-8 {\n order: 8;\n }\n .order-sm-9 {\n order: 9;\n }\n .order-sm-10 {\n order: 10;\n }\n .order-sm-11 {\n order: 11;\n }\n .order-sm-12 {\n order: 12;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-md-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-md-first {\n order: -1;\n }\n .order-md-last {\n order: 13;\n }\n .order-md-0 {\n order: 0;\n }\n .order-md-1 {\n order: 1;\n }\n .order-md-2 {\n order: 2;\n }\n .order-md-3 {\n order: 3;\n }\n .order-md-4 {\n order: 4;\n }\n .order-md-5 {\n order: 5;\n }\n .order-md-6 {\n order: 6;\n }\n .order-md-7 {\n order: 7;\n }\n .order-md-8 {\n order: 8;\n }\n .order-md-9 {\n order: 9;\n }\n .order-md-10 {\n order: 10;\n }\n .order-md-11 {\n order: 11;\n }\n .order-md-12 {\n order: 12;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-lg-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-lg-first {\n order: -1;\n }\n .order-lg-last {\n order: 13;\n }\n .order-lg-0 {\n order: 0;\n }\n .order-lg-1 {\n order: 1;\n }\n .order-lg-2 {\n order: 2;\n }\n .order-lg-3 {\n order: 3;\n }\n .order-lg-4 {\n order: 4;\n }\n .order-lg-5 {\n order: 5;\n }\n .order-lg-6 {\n order: 6;\n }\n .order-lg-7 {\n order: 7;\n }\n .order-lg-8 {\n order: 8;\n }\n .order-lg-9 {\n order: 9;\n }\n .order-lg-10 {\n order: 10;\n }\n .order-lg-11 {\n order: 11;\n }\n .order-lg-12 {\n order: 12;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-xl-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-xl-first {\n order: -1;\n }\n .order-xl-last {\n order: 13;\n }\n .order-xl-0 {\n order: 0;\n }\n .order-xl-1 {\n order: 1;\n }\n .order-xl-2 {\n order: 2;\n }\n .order-xl-3 {\n order: 3;\n }\n .order-xl-4 {\n order: 4;\n }\n .order-xl-5 {\n order: 5;\n }\n .order-xl-6 {\n order: 6;\n }\n .order-xl-7 {\n order: 7;\n }\n .order-xl-8 {\n order: 8;\n }\n .order-xl-9 {\n order: 9;\n }\n .order-xl-10 {\n order: 10;\n }\n .order-xl-11 {\n order: 11;\n }\n .order-xl-12 {\n order: 12;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n.table {\n width: 100%;\n margin-bottom: 1rem;\n background-color: transparent;\n}\n\n.table th,\n.table td {\n padding: 0.75rem;\n vertical-align: top;\n border-top: 1px solid #dee2e6;\n}\n\n.table thead th {\n vertical-align: bottom;\n border-bottom: 2px solid #dee2e6;\n}\n\n.table tbody + tbody {\n border-top: 2px solid #dee2e6;\n}\n\n.table .table {\n background-color: #fff;\n}\n\n.table-sm th,\n.table-sm td {\n padding: 0.3rem;\n}\n\n.table-bordered {\n border: 1px solid #dee2e6;\n}\n\n.table-bordered th,\n.table-bordered td {\n border: 1px solid #dee2e6;\n}\n\n.table-bordered thead th,\n.table-bordered thead td {\n border-bottom-width: 2px;\n}\n\n.table-borderless th,\n.table-borderless td,\n.table-borderless thead th,\n.table-borderless tbody + tbody {\n border: 0;\n}\n\n.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(0, 0, 0, 0.05);\n}\n\n.table-hover tbody tr:hover {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-primary,\n.table-primary > th,\n.table-primary > td {\n background-color: #b8daff;\n}\n\n.table-hover .table-primary:hover {\n background-color: #9fcdff;\n}\n\n.table-hover .table-primary:hover > td,\n.table-hover .table-primary:hover > th {\n background-color: #9fcdff;\n}\n\n.table-secondary,\n.table-secondary > th,\n.table-secondary > td {\n background-color: #d6d8db;\n}\n\n.table-hover .table-secondary:hover {\n background-color: #c8cbcf;\n}\n\n.table-hover .table-secondary:hover > td,\n.table-hover .table-secondary:hover > th {\n background-color: #c8cbcf;\n}\n\n.table-success,\n.table-success > th,\n.table-success > td {\n background-color: #c3e6cb;\n}\n\n.table-hover .table-success:hover {\n background-color: #b1dfbb;\n}\n\n.table-hover .table-success:hover > td,\n.table-hover .table-success:hover > th {\n background-color: #b1dfbb;\n}\n\n.table-info,\n.table-info > th,\n.table-info > td {\n background-color: #bee5eb;\n}\n\n.table-hover .table-info:hover {\n background-color: #abdde5;\n}\n\n.table-hover .table-info:hover > td,\n.table-hover .table-info:hover > th {\n background-color: #abdde5;\n}\n\n.table-warning,\n.table-warning > th,\n.table-warning > td {\n background-color: #ffeeba;\n}\n\n.table-hover .table-warning:hover {\n background-color: #ffe8a1;\n}\n\n.table-hover .table-warning:hover > td,\n.table-hover .table-warning:hover > th {\n background-color: #ffe8a1;\n}\n\n.table-danger,\n.table-danger > th,\n.table-danger > td {\n background-color: #f5c6cb;\n}\n\n.table-hover .table-danger:hover {\n background-color: #f1b0b7;\n}\n\n.table-hover .table-danger:hover > td,\n.table-hover .table-danger:hover > th {\n background-color: #f1b0b7;\n}\n\n.table-light,\n.table-light > th,\n.table-light > td {\n background-color: #fdfdfe;\n}\n\n.table-hover .table-light:hover {\n background-color: #ececf6;\n}\n\n.table-hover .table-light:hover > td,\n.table-hover .table-light:hover > th {\n background-color: #ececf6;\n}\n\n.table-dark,\n.table-dark > th,\n.table-dark > td {\n background-color: #c6c8ca;\n}\n\n.table-hover .table-dark:hover {\n background-color: #b9bbbe;\n}\n\n.table-hover .table-dark:hover > td,\n.table-hover .table-dark:hover > th {\n background-color: #b9bbbe;\n}\n\n.table-active,\n.table-active > th,\n.table-active > td {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover > td,\n.table-hover .table-active:hover > th {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table .thead-dark th {\n color: #fff;\n background-color: #212529;\n border-color: #32383e;\n}\n\n.table .thead-light th {\n color: #495057;\n background-color: #e9ecef;\n border-color: #dee2e6;\n}\n\n.table-dark {\n color: #fff;\n background-color: #212529;\n}\n\n.table-dark th,\n.table-dark td,\n.table-dark thead th {\n border-color: #32383e;\n}\n\n.table-dark.table-bordered {\n border: 0;\n}\n\n.table-dark.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(255, 255, 255, 0.05);\n}\n\n.table-dark.table-hover tbody tr:hover {\n background-color: rgba(255, 255, 255, 0.075);\n}\n\n@media (max-width: 575.98px) {\n .table-responsive-sm {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n }\n .table-responsive-sm > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 767.98px) {\n .table-responsive-md {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n }\n .table-responsive-md > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 991.98px) {\n .table-responsive-lg {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n }\n .table-responsive-lg > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 1199.98px) {\n .table-responsive-xl {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n }\n .table-responsive-xl > .table-bordered {\n border: 0;\n }\n}\n\n.table-responsive {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n}\n\n.table-responsive > .table-bordered {\n border: 0;\n}\n\n.form-control {\n display: block;\n width: 100%;\n height: calc(2.25rem + 2px);\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n line-height: 1.5;\n color: #495057;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media screen and (prefers-reduced-motion: reduce) {\n .form-control {\n transition: none;\n }\n}\n\n.form-control::-ms-expand {\n background-color: transparent;\n border: 0;\n}\n\n.form-control:focus {\n color: #495057;\n background-color: #fff;\n border-color: #80bdff;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.form-control::placeholder {\n color: #6c757d;\n opacity: 1;\n}\n\n.form-control:disabled, .form-control[readonly] {\n background-color: #e9ecef;\n opacity: 1;\n}\n\nselect.form-control:focus::-ms-value {\n color: #495057;\n background-color: #fff;\n}\n\n.form-control-file,\n.form-control-range {\n display: block;\n width: 100%;\n}\n\n.col-form-label {\n padding-top: calc(0.375rem + 1px);\n padding-bottom: calc(0.375rem + 1px);\n margin-bottom: 0;\n font-size: inherit;\n line-height: 1.5;\n}\n\n.col-form-label-lg {\n padding-top: calc(0.5rem + 1px);\n padding-bottom: calc(0.5rem + 1px);\n font-size: 1.25rem;\n line-height: 1.5;\n}\n\n.col-form-label-sm {\n padding-top: calc(0.25rem + 1px);\n padding-bottom: calc(0.25rem + 1px);\n font-size: 0.875rem;\n line-height: 1.5;\n}\n\n.form-control-plaintext {\n display: block;\n width: 100%;\n padding-top: 0.375rem;\n padding-bottom: 0.375rem;\n margin-bottom: 0;\n line-height: 1.5;\n color: #212529;\n background-color: transparent;\n border: solid transparent;\n border-width: 1px 0;\n}\n\n.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {\n padding-right: 0;\n padding-left: 0;\n}\n\n.form-control-sm {\n height: calc(1.8125rem + 2px);\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\n.form-control-lg {\n height: calc(2.875rem + 2px);\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\nselect.form-control[size], select.form-control[multiple] {\n height: auto;\n}\n\ntextarea.form-control {\n height: auto;\n}\n\n.form-group {\n margin-bottom: 1rem;\n}\n\n.form-text {\n display: block;\n margin-top: 0.25rem;\n}\n\n.form-row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -5px;\n margin-left: -5px;\n}\n\n.form-row > .col,\n.form-row > [class*=\"col-\"] {\n padding-right: 5px;\n padding-left: 5px;\n}\n\n.form-check {\n position: relative;\n display: block;\n padding-left: 1.25rem;\n}\n\n.form-check-input {\n position: absolute;\n margin-top: 0.3rem;\n margin-left: -1.25rem;\n}\n\n.form-check-input:disabled ~ .form-check-label {\n color: #6c757d;\n}\n\n.form-check-label {\n margin-bottom: 0;\n}\n\n.form-check-inline {\n display: inline-flex;\n align-items: center;\n padding-left: 0;\n margin-right: 0.75rem;\n}\n\n.form-check-inline .form-check-input {\n position: static;\n margin-top: 0;\n margin-right: 0.3125rem;\n margin-left: 0;\n}\n\n.valid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 80%;\n color: #28a745;\n}\n\n.valid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: .1rem;\n font-size: 0.875rem;\n line-height: 1.5;\n color: #fff;\n background-color: rgba(40, 167, 69, 0.9);\n border-radius: 0.25rem;\n}\n\n.was-validated .form-control:valid, .form-control.is-valid, .was-validated\n.custom-select:valid,\n.custom-select.is-valid {\n border-color: #28a745;\n}\n\n.was-validated .form-control:valid:focus, .form-control.is-valid:focus, .was-validated\n.custom-select:valid:focus,\n.custom-select.is-valid:focus {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .form-control:valid ~ .valid-feedback,\n.was-validated .form-control:valid ~ .valid-tooltip, .form-control.is-valid ~ .valid-feedback,\n.form-control.is-valid ~ .valid-tooltip, .was-validated\n.custom-select:valid ~ .valid-feedback,\n.was-validated\n.custom-select:valid ~ .valid-tooltip,\n.custom-select.is-valid ~ .valid-feedback,\n.custom-select.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .form-control-file:valid ~ .valid-feedback,\n.was-validated .form-control-file:valid ~ .valid-tooltip, .form-control-file.is-valid ~ .valid-feedback,\n.form-control-file.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {\n color: #28a745;\n}\n\n.was-validated .form-check-input:valid ~ .valid-feedback,\n.was-validated .form-check-input:valid ~ .valid-tooltip, .form-check-input.is-valid ~ .valid-feedback,\n.form-check-input.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label {\n color: #28a745;\n}\n\n.was-validated .custom-control-input:valid ~ .custom-control-label::before, .custom-control-input.is-valid ~ .custom-control-label::before {\n background-color: #71dd8a;\n}\n\n.was-validated .custom-control-input:valid ~ .valid-feedback,\n.was-validated .custom-control-input:valid ~ .valid-tooltip, .custom-control-input.is-valid ~ .valid-feedback,\n.custom-control-input.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before {\n background-color: #34ce57;\n}\n\n.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control-input.is-valid:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label {\n border-color: #28a745;\n}\n\n.was-validated .custom-file-input:valid ~ .custom-file-label::after, .custom-file-input.is-valid ~ .custom-file-label::after {\n border-color: inherit;\n}\n\n.was-validated .custom-file-input:valid ~ .valid-feedback,\n.was-validated .custom-file-input:valid ~ .valid-tooltip, .custom-file-input.is-valid ~ .valid-feedback,\n.custom-file-input.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-file-label {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.invalid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 80%;\n color: #dc3545;\n}\n\n.invalid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: .1rem;\n font-size: 0.875rem;\n line-height: 1.5;\n color: #fff;\n background-color: rgba(220, 53, 69, 0.9);\n border-radius: 0.25rem;\n}\n\n.was-validated .form-control:invalid, .form-control.is-invalid, .was-validated\n.custom-select:invalid,\n.custom-select.is-invalid {\n border-color: #dc3545;\n}\n\n.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus, .was-validated\n.custom-select:invalid:focus,\n.custom-select.is-invalid:focus {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .form-control:invalid ~ .invalid-feedback,\n.was-validated .form-control:invalid ~ .invalid-tooltip, .form-control.is-invalid ~ .invalid-feedback,\n.form-control.is-invalid ~ .invalid-tooltip, .was-validated\n.custom-select:invalid ~ .invalid-feedback,\n.was-validated\n.custom-select:invalid ~ .invalid-tooltip,\n.custom-select.is-invalid ~ .invalid-feedback,\n.custom-select.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .form-control-file:invalid ~ .invalid-feedback,\n.was-validated .form-control-file:invalid ~ .invalid-tooltip, .form-control-file.is-invalid ~ .invalid-feedback,\n.form-control-file.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {\n color: #dc3545;\n}\n\n.was-validated .form-check-input:invalid ~ .invalid-feedback,\n.was-validated .form-check-input:invalid ~ .invalid-tooltip, .form-check-input.is-invalid ~ .invalid-feedback,\n.form-check-input.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .custom-control-input:invalid ~ .custom-control-label, .custom-control-input.is-invalid ~ .custom-control-label {\n color: #dc3545;\n}\n\n.was-validated .custom-control-input:invalid ~ .custom-control-label::before, .custom-control-input.is-invalid ~ .custom-control-label::before {\n background-color: #efa2a9;\n}\n\n.was-validated .custom-control-input:invalid ~ .invalid-feedback,\n.was-validated .custom-control-input:invalid ~ .invalid-tooltip, .custom-control-input.is-invalid ~ .invalid-feedback,\n.custom-control-input.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before {\n background-color: #e4606d;\n}\n\n.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before, .custom-control-input.is-invalid:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label {\n border-color: #dc3545;\n}\n\n.was-validated .custom-file-input:invalid ~ .custom-file-label::after, .custom-file-input.is-invalid ~ .custom-file-label::after {\n border-color: inherit;\n}\n\n.was-validated .custom-file-input:invalid ~ .invalid-feedback,\n.was-validated .custom-file-input:invalid ~ .invalid-tooltip, .custom-file-input.is-invalid ~ .invalid-feedback,\n.custom-file-input.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.form-inline {\n display: flex;\n flex-flow: row wrap;\n align-items: center;\n}\n\n.form-inline .form-check {\n width: 100%;\n}\n\n@media (min-width: 576px) {\n .form-inline label {\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: 0;\n }\n .form-inline .form-group {\n display: flex;\n flex: 0 0 auto;\n flex-flow: row wrap;\n align-items: center;\n margin-bottom: 0;\n }\n .form-inline .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .form-inline .form-control-plaintext {\n display: inline-block;\n }\n .form-inline .input-group,\n .form-inline .custom-select {\n width: auto;\n }\n .form-inline .form-check {\n display: flex;\n align-items: center;\n justify-content: center;\n width: auto;\n padding-left: 0;\n }\n .form-inline .form-check-input {\n position: relative;\n margin-top: 0;\n margin-right: 0.25rem;\n margin-left: 0;\n }\n .form-inline .custom-control {\n align-items: center;\n justify-content: center;\n }\n .form-inline .custom-control-label {\n margin-bottom: 0;\n }\n}\n\n.btn {\n display: inline-block;\n font-weight: 400;\n text-align: center;\n white-space: nowrap;\n vertical-align: middle;\n user-select: none;\n border: 1px solid transparent;\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n line-height: 1.5;\n border-radius: 0.25rem;\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media screen and (prefers-reduced-motion: reduce) {\n .btn {\n transition: none;\n }\n}\n\n.btn:hover, .btn:focus {\n text-decoration: none;\n}\n\n.btn:focus, .btn.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.btn.disabled, .btn:disabled {\n opacity: 0.65;\n}\n\n.btn:not(:disabled):not(.disabled) {\n cursor: pointer;\n}\n\na.btn.disabled,\nfieldset:disabled a.btn {\n pointer-events: none;\n}\n\n.btn-primary {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-primary:hover {\n color: #fff;\n background-color: #0069d9;\n border-color: #0062cc;\n}\n\n.btn-primary:focus, .btn-primary.focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-primary.disabled, .btn-primary:disabled {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active,\n.show > .btn-primary.dropdown-toggle {\n color: #fff;\n background-color: #0062cc;\n border-color: #005cbf;\n}\n\n.btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-primary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-secondary {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-secondary:hover {\n color: #fff;\n background-color: #5a6268;\n border-color: #545b62;\n}\n\n.btn-secondary:focus, .btn-secondary.focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-secondary.disabled, .btn-secondary:disabled {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active,\n.show > .btn-secondary.dropdown-toggle {\n color: #fff;\n background-color: #545b62;\n border-color: #4e555b;\n}\n\n.btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-secondary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-success {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-success:hover {\n color: #fff;\n background-color: #218838;\n border-color: #1e7e34;\n}\n\n.btn-success:focus, .btn-success.focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-success.disabled, .btn-success:disabled {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active,\n.show > .btn-success.dropdown-toggle {\n color: #fff;\n background-color: #1e7e34;\n border-color: #1c7430;\n}\n\n.btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus,\n.show > .btn-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-info {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-info:hover {\n color: #fff;\n background-color: #138496;\n border-color: #117a8b;\n}\n\n.btn-info:focus, .btn-info.focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-info.disabled, .btn-info:disabled {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active,\n.show > .btn-info.dropdown-toggle {\n color: #fff;\n background-color: #117a8b;\n border-color: #10707f;\n}\n\n.btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus,\n.show > .btn-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-warning {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:hover {\n color: #212529;\n background-color: #e0a800;\n border-color: #d39e00;\n}\n\n.btn-warning:focus, .btn-warning.focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-warning.disabled, .btn-warning:disabled {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active,\n.show > .btn-warning.dropdown-toggle {\n color: #212529;\n background-color: #d39e00;\n border-color: #c69500;\n}\n\n.btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus,\n.show > .btn-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-danger {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-danger:hover {\n color: #fff;\n background-color: #c82333;\n border-color: #bd2130;\n}\n\n.btn-danger:focus, .btn-danger.focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-danger.disabled, .btn-danger:disabled {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active,\n.show > .btn-danger.dropdown-toggle {\n color: #fff;\n background-color: #bd2130;\n border-color: #b21f2d;\n}\n\n.btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus,\n.show > .btn-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-light {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:hover {\n color: #212529;\n background-color: #e2e6ea;\n border-color: #dae0e5;\n}\n\n.btn-light:focus, .btn-light.focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-light.disabled, .btn-light:disabled {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active,\n.show > .btn-light.dropdown-toggle {\n color: #212529;\n background-color: #dae0e5;\n border-color: #d3d9df;\n}\n\n.btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus,\n.show > .btn-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-dark {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-dark:hover {\n color: #fff;\n background-color: #23272b;\n border-color: #1d2124;\n}\n\n.btn-dark:focus, .btn-dark.focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-dark.disabled, .btn-dark:disabled {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active,\n.show > .btn-dark.dropdown-toggle {\n color: #fff;\n background-color: #1d2124;\n border-color: #171a1d;\n}\n\n.btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus,\n.show > .btn-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-outline-primary {\n color: #007bff;\n background-color: transparent;\n background-image: none;\n border-color: #007bff;\n}\n\n.btn-outline-primary:hover {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-outline-primary:focus, .btn-outline-primary.focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-outline-primary.disabled, .btn-outline-primary:disabled {\n color: #007bff;\n background-color: transparent;\n}\n\n.btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active,\n.show > .btn-outline-primary.dropdown-toggle {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-primary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-outline-secondary {\n color: #6c757d;\n background-color: transparent;\n background-image: none;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:hover {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:focus, .btn-outline-secondary.focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-outline-secondary.disabled, .btn-outline-secondary:disabled {\n color: #6c757d;\n background-color: transparent;\n}\n\n.btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active,\n.show > .btn-outline-secondary.dropdown-toggle {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-secondary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-outline-success {\n color: #28a745;\n background-color: transparent;\n background-image: none;\n border-color: #28a745;\n}\n\n.btn-outline-success:hover {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:focus, .btn-outline-success.focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-success.disabled, .btn-outline-success:disabled {\n color: #28a745;\n background-color: transparent;\n}\n\n.btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active,\n.show > .btn-outline-success.dropdown-toggle {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-info {\n color: #17a2b8;\n background-color: transparent;\n background-image: none;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:hover {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:focus, .btn-outline-info.focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-info.disabled, .btn-outline-info:disabled {\n color: #17a2b8;\n background-color: transparent;\n}\n\n.btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active,\n.show > .btn-outline-info.dropdown-toggle {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-warning {\n color: #ffc107;\n background-color: transparent;\n background-image: none;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:hover {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:focus, .btn-outline-warning.focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-warning.disabled, .btn-outline-warning:disabled {\n color: #ffc107;\n background-color: transparent;\n}\n\n.btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active,\n.show > .btn-outline-warning.dropdown-toggle {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-danger {\n color: #dc3545;\n background-color: transparent;\n background-image: none;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:hover {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:focus, .btn-outline-danger.focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-danger.disabled, .btn-outline-danger:disabled {\n color: #dc3545;\n background-color: transparent;\n}\n\n.btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active,\n.show > .btn-outline-danger.dropdown-toggle {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-light {\n color: #f8f9fa;\n background-color: transparent;\n background-image: none;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:hover {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:focus, .btn-outline-light.focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-light.disabled, .btn-outline-light:disabled {\n color: #f8f9fa;\n background-color: transparent;\n}\n\n.btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active,\n.show > .btn-outline-light.dropdown-toggle {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-dark {\n color: #343a40;\n background-color: transparent;\n background-image: none;\n border-color: #343a40;\n}\n\n.btn-outline-dark:hover {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:focus, .btn-outline-dark.focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-outline-dark.disabled, .btn-outline-dark:disabled {\n color: #343a40;\n background-color: transparent;\n}\n\n.btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active,\n.show > .btn-outline-dark.dropdown-toggle {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-link {\n font-weight: 400;\n color: #007bff;\n background-color: transparent;\n}\n\n.btn-link:hover {\n color: #0056b3;\n text-decoration: underline;\n background-color: transparent;\n border-color: transparent;\n}\n\n.btn-link:focus, .btn-link.focus {\n text-decoration: underline;\n border-color: transparent;\n box-shadow: none;\n}\n\n.btn-link:disabled, .btn-link.disabled {\n color: #6c757d;\n pointer-events: none;\n}\n\n.btn-lg, .btn-group-lg > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\n.btn-sm, .btn-group-sm > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\n.btn-block {\n display: block;\n width: 100%;\n}\n\n.btn-block + .btn-block {\n margin-top: 0.5rem;\n}\n\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n width: 100%;\n}\n\n.fade {\n transition: opacity 0.15s linear;\n}\n\n@media screen and (prefers-reduced-motion: reduce) {\n .fade {\n transition: none;\n }\n}\n\n.fade:not(.show) {\n opacity: 0;\n}\n\n.collapse:not(.show) {\n display: none;\n}\n\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n transition: height 0.35s ease;\n}\n\n@media screen and (prefers-reduced-motion: reduce) {\n .collapsing {\n transition: none;\n }\n}\n\n.dropup,\n.dropright,\n.dropdown,\n.dropleft {\n position: relative;\n}\n\n.dropdown-toggle::after {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid;\n border-right: 0.3em solid transparent;\n border-bottom: 0;\n border-left: 0.3em solid transparent;\n}\n\n.dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n float: left;\n min-width: 10rem;\n padding: 0.5rem 0;\n margin: 0.125rem 0 0;\n font-size: 1rem;\n color: #212529;\n text-align: left;\n list-style: none;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n}\n\n.dropdown-menu-right {\n right: 0;\n left: auto;\n}\n\n.dropup .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-top: 0;\n margin-bottom: 0.125rem;\n}\n\n.dropup .dropdown-toggle::after {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0;\n border-right: 0.3em solid transparent;\n border-bottom: 0.3em solid;\n border-left: 0.3em solid transparent;\n}\n\n.dropup .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropright .dropdown-menu {\n top: 0;\n right: auto;\n left: 100%;\n margin-top: 0;\n margin-left: 0.125rem;\n}\n\n.dropright .dropdown-toggle::after {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0;\n border-bottom: 0.3em solid transparent;\n border-left: 0.3em solid;\n}\n\n.dropright .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropright .dropdown-toggle::after {\n vertical-align: 0;\n}\n\n.dropleft .dropdown-menu {\n top: 0;\n right: 100%;\n left: auto;\n margin-top: 0;\n margin-right: 0.125rem;\n}\n\n.dropleft .dropdown-toggle::after {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n}\n\n.dropleft .dropdown-toggle::after {\n display: none;\n}\n\n.dropleft .dropdown-toggle::before {\n display: inline-block;\n width: 0;\n height: 0;\n margin-right: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0.3em solid;\n border-bottom: 0.3em solid transparent;\n}\n\n.dropleft .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropleft .dropdown-toggle::before {\n vertical-align: 0;\n}\n\n.dropdown-menu[x-placement^=\"top\"], .dropdown-menu[x-placement^=\"right\"], .dropdown-menu[x-placement^=\"bottom\"], .dropdown-menu[x-placement^=\"left\"] {\n right: auto;\n bottom: auto;\n}\n\n.dropdown-divider {\n height: 0;\n margin: 0.5rem 0;\n overflow: hidden;\n border-top: 1px solid #e9ecef;\n}\n\n.dropdown-item {\n display: block;\n width: 100%;\n padding: 0.25rem 1.5rem;\n clear: both;\n font-weight: 400;\n color: #212529;\n text-align: inherit;\n white-space: nowrap;\n background-color: transparent;\n border: 0;\n}\n\n.dropdown-item:hover, .dropdown-item:focus {\n color: #16181b;\n text-decoration: none;\n background-color: #f8f9fa;\n}\n\n.dropdown-item.active, .dropdown-item:active {\n color: #fff;\n text-decoration: none;\n background-color: #007bff;\n}\n\n.dropdown-item.disabled, .dropdown-item:disabled {\n color: #6c757d;\n background-color: transparent;\n}\n\n.dropdown-menu.show {\n display: block;\n}\n\n.dropdown-header {\n display: block;\n padding: 0.5rem 1.5rem;\n margin-bottom: 0;\n font-size: 0.875rem;\n color: #6c757d;\n white-space: nowrap;\n}\n\n.dropdown-item-text {\n display: block;\n padding: 0.25rem 1.5rem;\n color: #212529;\n}\n\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle;\n}\n\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n flex: 0 1 auto;\n}\n\n.btn-group > .btn:hover,\n.btn-group-vertical > .btn:hover {\n z-index: 1;\n}\n\n.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,\n.btn-group-vertical > .btn:focus,\n.btn-group-vertical > .btn:active,\n.btn-group-vertical > .btn.active {\n z-index: 1;\n}\n\n.btn-group .btn + .btn,\n.btn-group .btn + .btn-group,\n.btn-group .btn-group + .btn,\n.btn-group .btn-group + .btn-group,\n.btn-group-vertical .btn + .btn,\n.btn-group-vertical .btn + .btn-group,\n.btn-group-vertical .btn-group + .btn,\n.btn-group-vertical .btn-group + .btn-group {\n margin-left: -1px;\n}\n\n.btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n}\n\n.btn-toolbar .input-group {\n width: auto;\n}\n\n.btn-group > .btn:first-child {\n margin-left: 0;\n}\n\n.btn-group > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group > .btn-group:not(:last-child) > .btn {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.btn-group > .btn:not(:first-child),\n.btn-group > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.dropdown-toggle-split {\n padding-right: 0.5625rem;\n padding-left: 0.5625rem;\n}\n\n.dropdown-toggle-split::after,\n.dropup .dropdown-toggle-split::after,\n.dropright .dropdown-toggle-split::after {\n margin-left: 0;\n}\n\n.dropleft .dropdown-toggle-split::before {\n margin-right: 0;\n}\n\n.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {\n padding-right: 0.375rem;\n padding-left: 0.375rem;\n}\n\n.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n}\n\n.btn-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n}\n\n.btn-group-vertical .btn,\n.btn-group-vertical .btn-group {\n width: 100%;\n}\n\n.btn-group-vertical > .btn + .btn,\n.btn-group-vertical > .btn + .btn-group,\n.btn-group-vertical > .btn-group + .btn,\n.btn-group-vertical > .btn-group + .btn-group {\n margin-top: -1px;\n margin-left: 0;\n}\n\n.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group-vertical > .btn-group:not(:last-child) > .btn {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.btn-group-toggle > .btn,\n.btn-group-toggle > .btn-group > .btn {\n margin-bottom: 0;\n}\n\n.btn-group-toggle > .btn input[type=\"radio\"],\n.btn-group-toggle > .btn input[type=\"checkbox\"],\n.btn-group-toggle > .btn-group > .btn input[type=\"radio\"],\n.btn-group-toggle > .btn-group > .btn input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n\n.input-group {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: stretch;\n width: 100%;\n}\n\n.input-group > .form-control,\n.input-group > .custom-select,\n.input-group > .custom-file {\n position: relative;\n flex: 1 1 auto;\n width: 1%;\n margin-bottom: 0;\n}\n\n.input-group > .form-control + .form-control,\n.input-group > .form-control + .custom-select,\n.input-group > .form-control + .custom-file,\n.input-group > .custom-select + .form-control,\n.input-group > .custom-select + .custom-select,\n.input-group > .custom-select + .custom-file,\n.input-group > .custom-file + .form-control,\n.input-group > .custom-file + .custom-select,\n.input-group > .custom-file + .custom-file {\n margin-left: -1px;\n}\n\n.input-group > .form-control:focus,\n.input-group > .custom-select:focus,\n.input-group > .custom-file .custom-file-input:focus ~ .custom-file-label {\n z-index: 3;\n}\n\n.input-group > .custom-file .custom-file-input:focus {\n z-index: 4;\n}\n\n.input-group > .form-control:not(:last-child),\n.input-group > .custom-select:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .form-control:not(:first-child),\n.input-group > .custom-select:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.input-group > .custom-file {\n display: flex;\n align-items: center;\n}\n\n.input-group > .custom-file:not(:last-child) .custom-file-label,\n.input-group > .custom-file:not(:last-child) .custom-file-label::after {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .custom-file:not(:first-child) .custom-file-label {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.input-group-prepend,\n.input-group-append {\n display: flex;\n}\n\n.input-group-prepend .btn,\n.input-group-append .btn {\n position: relative;\n z-index: 2;\n}\n\n.input-group-prepend .btn + .btn,\n.input-group-prepend .btn + .input-group-text,\n.input-group-prepend .input-group-text + .input-group-text,\n.input-group-prepend .input-group-text + .btn,\n.input-group-append .btn + .btn,\n.input-group-append .btn + .input-group-text,\n.input-group-append .input-group-text + .input-group-text,\n.input-group-append .input-group-text + .btn {\n margin-left: -1px;\n}\n\n.input-group-prepend {\n margin-right: -1px;\n}\n\n.input-group-append {\n margin-left: -1px;\n}\n\n.input-group-text {\n display: flex;\n align-items: center;\n padding: 0.375rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n text-align: center;\n white-space: nowrap;\n background-color: #e9ecef;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n}\n\n.input-group-text input[type=\"radio\"],\n.input-group-text input[type=\"checkbox\"] {\n margin-top: 0;\n}\n\n.input-group-lg > .form-control,\n.input-group-lg > .input-group-prepend > .input-group-text,\n.input-group-lg > .input-group-append > .input-group-text,\n.input-group-lg > .input-group-prepend > .btn,\n.input-group-lg > .input-group-append > .btn {\n height: calc(2.875rem + 2px);\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\n.input-group-sm > .form-control,\n.input-group-sm > .input-group-prepend > .input-group-text,\n.input-group-sm > .input-group-append > .input-group-text,\n.input-group-sm > .input-group-prepend > .btn,\n.input-group-sm > .input-group-append > .btn {\n height: calc(1.8125rem + 2px);\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\n.input-group > .input-group-prepend > .btn,\n.input-group > .input-group-prepend > .input-group-text,\n.input-group > .input-group-append:not(:last-child) > .btn,\n.input-group > .input-group-append:not(:last-child) > .input-group-text,\n.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .input-group-append > .btn,\n.input-group > .input-group-append > .input-group-text,\n.input-group > .input-group-prepend:not(:first-child) > .btn,\n.input-group > .input-group-prepend:not(:first-child) > .input-group-text,\n.input-group > .input-group-prepend:first-child > .btn:not(:first-child),\n.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.custom-control {\n position: relative;\n display: block;\n min-height: 1.5rem;\n padding-left: 1.5rem;\n}\n\n.custom-control-inline {\n display: inline-flex;\n margin-right: 1rem;\n}\n\n.custom-control-input {\n position: absolute;\n z-index: -1;\n opacity: 0;\n}\n\n.custom-control-input:checked ~ .custom-control-label::before {\n color: #fff;\n background-color: #007bff;\n}\n\n.custom-control-input:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-control-input:active ~ .custom-control-label::before {\n color: #fff;\n background-color: #b3d7ff;\n}\n\n.custom-control-input:disabled ~ .custom-control-label {\n color: #6c757d;\n}\n\n.custom-control-input:disabled ~ .custom-control-label::before {\n background-color: #e9ecef;\n}\n\n.custom-control-label {\n position: relative;\n margin-bottom: 0;\n}\n\n.custom-control-label::before {\n position: absolute;\n top: 0.25rem;\n left: -1.5rem;\n display: block;\n width: 1rem;\n height: 1rem;\n pointer-events: none;\n content: \"\";\n user-select: none;\n background-color: #dee2e6;\n}\n\n.custom-control-label::after {\n position: absolute;\n top: 0.25rem;\n left: -1.5rem;\n display: block;\n width: 1rem;\n height: 1rem;\n content: \"\";\n background-repeat: no-repeat;\n background-position: center center;\n background-size: 50% 50%;\n}\n\n.custom-checkbox .custom-control-label::before {\n border-radius: 0.25rem;\n}\n\n.custom-checkbox .custom-control-input:checked ~ .custom-control-label::before {\n background-color: #007bff;\n}\n\n.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E\");\n}\n\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before {\n background-color: #007bff;\n}\n\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E\");\n}\n\n.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-radio .custom-control-label::before {\n border-radius: 50%;\n}\n\n.custom-radio .custom-control-input:checked ~ .custom-control-label::before {\n background-color: #007bff;\n}\n\n.custom-radio .custom-control-input:checked ~ .custom-control-label::after {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E\");\n}\n\n.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-select {\n display: inline-block;\n width: 100%;\n height: calc(2.25rem + 2px);\n padding: 0.375rem 1.75rem 0.375rem 0.75rem;\n line-height: 1.5;\n color: #495057;\n vertical-align: middle;\n background: #fff url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E\") no-repeat right 0.75rem center;\n background-size: 8px 10px;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n appearance: none;\n}\n\n.custom-select:focus {\n border-color: #80bdff;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(128, 189, 255, 0.5);\n}\n\n.custom-select:focus::-ms-value {\n color: #495057;\n background-color: #fff;\n}\n\n.custom-select[multiple], .custom-select[size]:not([size=\"1\"]) {\n height: auto;\n padding-right: 0.75rem;\n background-image: none;\n}\n\n.custom-select:disabled {\n color: #6c757d;\n background-color: #e9ecef;\n}\n\n.custom-select::-ms-expand {\n opacity: 0;\n}\n\n.custom-select-sm {\n height: calc(1.8125rem + 2px);\n padding-top: 0.375rem;\n padding-bottom: 0.375rem;\n font-size: 75%;\n}\n\n.custom-select-lg {\n height: calc(2.875rem + 2px);\n padding-top: 0.375rem;\n padding-bottom: 0.375rem;\n font-size: 125%;\n}\n\n.custom-file {\n position: relative;\n display: inline-block;\n width: 100%;\n height: calc(2.25rem + 2px);\n margin-bottom: 0;\n}\n\n.custom-file-input {\n position: relative;\n z-index: 2;\n width: 100%;\n height: calc(2.25rem + 2px);\n margin: 0;\n opacity: 0;\n}\n\n.custom-file-input:focus ~ .custom-file-label {\n border-color: #80bdff;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-file-input:focus ~ .custom-file-label::after {\n border-color: #80bdff;\n}\n\n.custom-file-input:disabled ~ .custom-file-label {\n background-color: #e9ecef;\n}\n\n.custom-file-input:lang(en) ~ .custom-file-label::after {\n content: \"Browse\";\n}\n\n.custom-file-label {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1;\n height: calc(2.25rem + 2px);\n padding: 0.375rem 0.75rem;\n line-height: 1.5;\n color: #495057;\n background-color: #fff;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n}\n\n.custom-file-label::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n z-index: 3;\n display: block;\n height: 2.25rem;\n padding: 0.375rem 0.75rem;\n line-height: 1.5;\n color: #495057;\n content: \"Browse\";\n background-color: #e9ecef;\n border-left: 1px solid #ced4da;\n border-radius: 0 0.25rem 0.25rem 0;\n}\n\n.custom-range {\n width: 100%;\n padding-left: 0;\n background-color: transparent;\n appearance: none;\n}\n\n.custom-range:focus {\n outline: none;\n}\n\n.custom-range:focus::-webkit-slider-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-range:focus::-moz-range-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-range:focus::-ms-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-range::-moz-focus-outer {\n border: 0;\n}\n\n.custom-range::-webkit-slider-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: -0.25rem;\n background-color: #007bff;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n\n@media screen and (prefers-reduced-motion: reduce) {\n .custom-range::-webkit-slider-thumb {\n transition: none;\n }\n}\n\n.custom-range::-webkit-slider-thumb:active {\n background-color: #b3d7ff;\n}\n\n.custom-range::-webkit-slider-runnable-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem;\n}\n\n.custom-range::-moz-range-thumb {\n width: 1rem;\n height: 1rem;\n background-color: #007bff;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n\n@media screen and (prefers-reduced-motion: reduce) {\n .custom-range::-moz-range-thumb {\n transition: none;\n }\n}\n\n.custom-range::-moz-range-thumb:active {\n background-color: #b3d7ff;\n}\n\n.custom-range::-moz-range-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem;\n}\n\n.custom-range::-ms-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: 0;\n margin-right: 0.2rem;\n margin-left: 0.2rem;\n background-color: #007bff;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n\n@media screen and (prefers-reduced-motion: reduce) {\n .custom-range::-ms-thumb {\n transition: none;\n }\n}\n\n.custom-range::-ms-thumb:active {\n background-color: #b3d7ff;\n}\n\n.custom-range::-ms-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: transparent;\n border-color: transparent;\n border-width: 0.5rem;\n}\n\n.custom-range::-ms-fill-lower {\n background-color: #dee2e6;\n border-radius: 1rem;\n}\n\n.custom-range::-ms-fill-upper {\n margin-right: 15px;\n background-color: #dee2e6;\n border-radius: 1rem;\n}\n\n.custom-control-label::before,\n.custom-file-label,\n.custom-select {\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media screen and (prefers-reduced-motion: reduce) {\n .custom-control-label::before,\n .custom-file-label,\n .custom-select {\n transition: none;\n }\n}\n\n.nav {\n display: flex;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: 0.5rem 1rem;\n}\n\n.nav-link:hover, .nav-link:focus {\n text-decoration: none;\n}\n\n.nav-link.disabled {\n color: #6c757d;\n}\n\n.nav-tabs {\n border-bottom: 1px solid #dee2e6;\n}\n\n.nav-tabs .nav-item {\n margin-bottom: -1px;\n}\n\n.nav-tabs .nav-link {\n border: 1px solid transparent;\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {\n border-color: #e9ecef #e9ecef #dee2e6;\n}\n\n.nav-tabs .nav-link.disabled {\n color: #6c757d;\n background-color: transparent;\n border-color: transparent;\n}\n\n.nav-tabs .nav-link.active,\n.nav-tabs .nav-item.show .nav-link {\n color: #495057;\n background-color: #fff;\n border-color: #dee2e6 #dee2e6 #fff;\n}\n\n.nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.nav-pills .nav-link {\n border-radius: 0.25rem;\n}\n\n.nav-pills .nav-link.active,\n.nav-pills .show > .nav-link {\n color: #fff;\n background-color: #007bff;\n}\n\n.nav-fill .nav-item {\n flex: 1 1 auto;\n text-align: center;\n}\n\n.nav-justified .nav-item {\n flex-basis: 0;\n flex-grow: 1;\n text-align: center;\n}\n\n.tab-content > .tab-pane {\n display: none;\n}\n\n.tab-content > .active {\n display: block;\n}\n\n.navbar {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n padding: 0.5rem 1rem;\n}\n\n.navbar > .container,\n.navbar > .container-fluid {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n}\n\n.navbar-brand {\n display: inline-block;\n padding-top: 0.3125rem;\n padding-bottom: 0.3125rem;\n margin-right: 1rem;\n font-size: 1.25rem;\n line-height: inherit;\n white-space: nowrap;\n}\n\n.navbar-brand:hover, .navbar-brand:focus {\n text-decoration: none;\n}\n\n.navbar-nav {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.navbar-nav .nav-link {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-nav .dropdown-menu {\n position: static;\n float: none;\n}\n\n.navbar-text {\n display: inline-block;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n\n.navbar-collapse {\n flex-basis: 100%;\n flex-grow: 1;\n align-items: center;\n}\n\n.navbar-toggler {\n padding: 0.25rem 0.75rem;\n font-size: 1.25rem;\n line-height: 1;\n background-color: transparent;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.navbar-toggler:hover, .navbar-toggler:focus {\n text-decoration: none;\n}\n\n.navbar-toggler:not(:disabled):not(.disabled) {\n cursor: pointer;\n}\n\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n content: \"\";\n background: no-repeat center center;\n background-size: 100% 100%;\n}\n\n@media (max-width: 575.98px) {\n .navbar-expand-sm > .container,\n .navbar-expand-sm > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 576px) {\n .navbar-expand-sm {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-sm .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-sm .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-sm .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-sm > .container,\n .navbar-expand-sm > .container-fluid {\n flex-wrap: nowrap;\n }\n .navbar-expand-sm .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-sm .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 767.98px) {\n .navbar-expand-md > .container,\n .navbar-expand-md > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 768px) {\n .navbar-expand-md {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-md .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-md .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-md .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-md > .container,\n .navbar-expand-md > .container-fluid {\n flex-wrap: nowrap;\n }\n .navbar-expand-md .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-md .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 991.98px) {\n .navbar-expand-lg > .container,\n .navbar-expand-lg > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 992px) {\n .navbar-expand-lg {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-lg .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-lg .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-lg .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-lg > .container,\n .navbar-expand-lg > .container-fluid {\n flex-wrap: nowrap;\n }\n .navbar-expand-lg .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-lg .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 1199.98px) {\n .navbar-expand-xl > .container,\n .navbar-expand-xl > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 1200px) {\n .navbar-expand-xl {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-xl .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-xl .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-xl .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-xl > .container,\n .navbar-expand-xl > .container-fluid {\n flex-wrap: nowrap;\n }\n .navbar-expand-xl .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-xl .navbar-toggler {\n display: none;\n }\n}\n\n.navbar-expand {\n flex-flow: row nowrap;\n justify-content: flex-start;\n}\n\n.navbar-expand > .container,\n.navbar-expand > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-expand .navbar-nav {\n flex-direction: row;\n}\n\n.navbar-expand .navbar-nav .dropdown-menu {\n position: absolute;\n}\n\n.navbar-expand .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n}\n\n.navbar-expand > .container,\n.navbar-expand > .container-fluid {\n flex-wrap: nowrap;\n}\n\n.navbar-expand .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n}\n\n.navbar-expand .navbar-toggler {\n display: none;\n}\n\n.navbar-light .navbar-brand {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-nav .nav-link {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus {\n color: rgba(0, 0, 0, 0.7);\n}\n\n.navbar-light .navbar-nav .nav-link.disabled {\n color: rgba(0, 0, 0, 0.3);\n}\n\n.navbar-light .navbar-nav .show > .nav-link,\n.navbar-light .navbar-nav .active > .nav-link,\n.navbar-light .navbar-nav .nav-link.show,\n.navbar-light .navbar-nav .nav-link.active {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-toggler {\n color: rgba(0, 0, 0, 0.5);\n border-color: rgba(0, 0, 0, 0.1);\n}\n\n.navbar-light .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\");\n}\n\n.navbar-light .navbar-text {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-text a {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-text a:hover, .navbar-light .navbar-text a:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-dark .navbar-brand {\n color: #fff;\n}\n\n.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus {\n color: #fff;\n}\n\n.navbar-dark .navbar-nav .nav-link {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus {\n color: rgba(255, 255, 255, 0.75);\n}\n\n.navbar-dark .navbar-nav .nav-link.disabled {\n color: rgba(255, 255, 255, 0.25);\n}\n\n.navbar-dark .navbar-nav .show > .nav-link,\n.navbar-dark .navbar-nav .active > .nav-link,\n.navbar-dark .navbar-nav .nav-link.show,\n.navbar-dark .navbar-nav .nav-link.active {\n color: #fff;\n}\n\n.navbar-dark .navbar-toggler {\n color: rgba(255, 255, 255, 0.5);\n border-color: rgba(255, 255, 255, 0.1);\n}\n\n.navbar-dark .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\");\n}\n\n.navbar-dark .navbar-text {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-dark .navbar-text a {\n color: #fff;\n}\n\n.navbar-dark .navbar-text a:hover, .navbar-dark .navbar-text a:focus {\n color: #fff;\n}\n\n.card {\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: border-box;\n border: 1px solid rgba(0, 0, 0, 0.125);\n border-radius: 0.25rem;\n}\n\n.card > hr {\n margin-right: 0;\n margin-left: 0;\n}\n\n.card > .list-group:first-child .list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.card > .list-group:last-child .list-group-item:last-child {\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.card-body {\n flex: 1 1 auto;\n padding: 1.25rem;\n}\n\n.card-title {\n margin-bottom: 0.75rem;\n}\n\n.card-subtitle {\n margin-top: -0.375rem;\n margin-bottom: 0;\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link:hover {\n text-decoration: none;\n}\n\n.card-link + .card-link {\n margin-left: 1.25rem;\n}\n\n.card-header {\n padding: 0.75rem 1.25rem;\n margin-bottom: 0;\n background-color: rgba(0, 0, 0, 0.03);\n border-bottom: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-header:first-child {\n border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;\n}\n\n.card-header + .list-group .list-group-item:first-child {\n border-top: 0;\n}\n\n.card-footer {\n padding: 0.75rem 1.25rem;\n background-color: rgba(0, 0, 0, 0.03);\n border-top: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-footer:last-child {\n border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px);\n}\n\n.card-header-tabs {\n margin-right: -0.625rem;\n margin-bottom: -0.75rem;\n margin-left: -0.625rem;\n border-bottom: 0;\n}\n\n.card-header-pills {\n margin-right: -0.625rem;\n margin-left: -0.625rem;\n}\n\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: 1.25rem;\n}\n\n.card-img {\n width: 100%;\n border-radius: calc(0.25rem - 1px);\n}\n\n.card-img-top {\n width: 100%;\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px);\n}\n\n.card-img-bottom {\n width: 100%;\n border-bottom-right-radius: calc(0.25rem - 1px);\n border-bottom-left-radius: calc(0.25rem - 1px);\n}\n\n.card-deck {\n display: flex;\n flex-direction: column;\n}\n\n.card-deck .card {\n margin-bottom: 15px;\n}\n\n@media (min-width: 576px) {\n .card-deck {\n flex-flow: row wrap;\n margin-right: -15px;\n margin-left: -15px;\n }\n .card-deck .card {\n display: flex;\n flex: 1 0 0%;\n flex-direction: column;\n margin-right: 15px;\n margin-bottom: 0;\n margin-left: 15px;\n }\n}\n\n.card-group {\n display: flex;\n flex-direction: column;\n}\n\n.card-group > .card {\n margin-bottom: 15px;\n}\n\n@media (min-width: 576px) {\n .card-group {\n flex-flow: row wrap;\n }\n .card-group > .card {\n flex: 1 0 0%;\n margin-bottom: 0;\n }\n .card-group > .card + .card {\n margin-left: 0;\n border-left: 0;\n }\n .card-group > .card:first-child {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n .card-group > .card:first-child .card-img-top,\n .card-group > .card:first-child .card-header {\n border-top-right-radius: 0;\n }\n .card-group > .card:first-child .card-img-bottom,\n .card-group > .card:first-child .card-footer {\n border-bottom-right-radius: 0;\n }\n .card-group > .card:last-child {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n .card-group > .card:last-child .card-img-top,\n .card-group > .card:last-child .card-header {\n border-top-left-radius: 0;\n }\n .card-group > .card:last-child .card-img-bottom,\n .card-group > .card:last-child .card-footer {\n border-bottom-left-radius: 0;\n }\n .card-group > .card:only-child {\n border-radius: 0.25rem;\n }\n .card-group > .card:only-child .card-img-top,\n .card-group > .card:only-child .card-header {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n }\n .card-group > .card:only-child .card-img-bottom,\n .card-group > .card:only-child .card-footer {\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n }\n .card-group > .card:not(:first-child):not(:last-child):not(:only-child) {\n border-radius: 0;\n }\n .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-img-top,\n .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-img-bottom,\n .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-header,\n .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-footer {\n border-radius: 0;\n }\n}\n\n.card-columns .card {\n margin-bottom: 0.75rem;\n}\n\n@media (min-width: 576px) {\n .card-columns {\n column-count: 3;\n column-gap: 1.25rem;\n orphans: 1;\n widows: 1;\n }\n .card-columns .card {\n display: inline-block;\n width: 100%;\n }\n}\n\n.accordion .card:not(:first-of-type):not(:last-of-type) {\n border-bottom: 0;\n border-radius: 0;\n}\n\n.accordion .card:not(:first-of-type) .card-header:first-child {\n border-radius: 0;\n}\n\n.accordion .card:first-of-type {\n border-bottom: 0;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.accordion .card:last-of-type {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.breadcrumb {\n display: flex;\n flex-wrap: wrap;\n padding: 0.75rem 1rem;\n margin-bottom: 1rem;\n list-style: none;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.breadcrumb-item + .breadcrumb-item {\n padding-left: 0.5rem;\n}\n\n.breadcrumb-item + .breadcrumb-item::before {\n display: inline-block;\n padding-right: 0.5rem;\n color: #6c757d;\n content: \"/\";\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: underline;\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: none;\n}\n\n.breadcrumb-item.active {\n color: #6c757d;\n}\n\n.pagination {\n display: flex;\n padding-left: 0;\n list-style: none;\n border-radius: 0.25rem;\n}\n\n.page-link {\n position: relative;\n display: block;\n padding: 0.5rem 0.75rem;\n margin-left: -1px;\n line-height: 1.25;\n color: #007bff;\n background-color: #fff;\n border: 1px solid #dee2e6;\n}\n\n.page-link:hover {\n z-index: 2;\n color: #0056b3;\n text-decoration: none;\n background-color: #e9ecef;\n border-color: #dee2e6;\n}\n\n.page-link:focus {\n z-index: 2;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.page-link:not(:disabled):not(.disabled) {\n cursor: pointer;\n}\n\n.page-item:first-child .page-link {\n margin-left: 0;\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.page-item:last-child .page-link {\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n}\n\n.page-item.active .page-link {\n z-index: 1;\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.page-item.disabled .page-link {\n color: #6c757d;\n pointer-events: none;\n cursor: auto;\n background-color: #fff;\n border-color: #dee2e6;\n}\n\n.pagination-lg .page-link {\n padding: 0.75rem 1.5rem;\n font-size: 1.25rem;\n line-height: 1.5;\n}\n\n.pagination-lg .page-item:first-child .page-link {\n border-top-left-radius: 0.3rem;\n border-bottom-left-radius: 0.3rem;\n}\n\n.pagination-lg .page-item:last-child .page-link {\n border-top-right-radius: 0.3rem;\n border-bottom-right-radius: 0.3rem;\n}\n\n.pagination-sm .page-link {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n}\n\n.pagination-sm .page-item:first-child .page-link {\n border-top-left-radius: 0.2rem;\n border-bottom-left-radius: 0.2rem;\n}\n\n.pagination-sm .page-item:last-child .page-link {\n border-top-right-radius: 0.2rem;\n border-bottom-right-radius: 0.2rem;\n}\n\n.badge {\n display: inline-block;\n padding: 0.25em 0.4em;\n font-size: 75%;\n font-weight: 700;\n line-height: 1;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: 0.25rem;\n}\n\n.badge:empty {\n display: none;\n}\n\n.btn .badge {\n position: relative;\n top: -1px;\n}\n\n.badge-pill {\n padding-right: 0.6em;\n padding-left: 0.6em;\n border-radius: 10rem;\n}\n\n.badge-primary {\n color: #fff;\n background-color: #007bff;\n}\n\n.badge-primary[href]:hover, .badge-primary[href]:focus {\n color: #fff;\n text-decoration: none;\n background-color: #0062cc;\n}\n\n.badge-secondary {\n color: #fff;\n background-color: #6c757d;\n}\n\n.badge-secondary[href]:hover, .badge-secondary[href]:focus {\n color: #fff;\n text-decoration: none;\n background-color: #545b62;\n}\n\n.badge-success {\n color: #fff;\n background-color: #28a745;\n}\n\n.badge-success[href]:hover, .badge-success[href]:focus {\n color: #fff;\n text-decoration: none;\n background-color: #1e7e34;\n}\n\n.badge-info {\n color: #fff;\n background-color: #17a2b8;\n}\n\n.badge-info[href]:hover, .badge-info[href]:focus {\n color: #fff;\n text-decoration: none;\n background-color: #117a8b;\n}\n\n.badge-warning {\n color: #212529;\n background-color: #ffc107;\n}\n\n.badge-warning[href]:hover, .badge-warning[href]:focus {\n color: #212529;\n text-decoration: none;\n background-color: #d39e00;\n}\n\n.badge-danger {\n color: #fff;\n background-color: #dc3545;\n}\n\n.badge-danger[href]:hover, .badge-danger[href]:focus {\n color: #fff;\n text-decoration: none;\n background-color: #bd2130;\n}\n\n.badge-light {\n color: #212529;\n background-color: #f8f9fa;\n}\n\n.badge-light[href]:hover, .badge-light[href]:focus {\n color: #212529;\n text-decoration: none;\n background-color: #dae0e5;\n}\n\n.badge-dark {\n color: #fff;\n background-color: #343a40;\n}\n\n.badge-dark[href]:hover, .badge-dark[href]:focus {\n color: #fff;\n text-decoration: none;\n background-color: #1d2124;\n}\n\n.jumbotron {\n padding: 2rem 1rem;\n margin-bottom: 2rem;\n background-color: #e9ecef;\n border-radius: 0.3rem;\n}\n\n@media (min-width: 576px) {\n .jumbotron {\n padding: 4rem 2rem;\n }\n}\n\n.jumbotron-fluid {\n padding-right: 0;\n padding-left: 0;\n border-radius: 0;\n}\n\n.alert {\n position: relative;\n padding: 0.75rem 1.25rem;\n margin-bottom: 1rem;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.alert-heading {\n color: inherit;\n}\n\n.alert-link {\n font-weight: 700;\n}\n\n.alert-dismissible {\n padding-right: 4rem;\n}\n\n.alert-dismissible .close {\n position: absolute;\n top: 0;\n right: 0;\n padding: 0.75rem 1.25rem;\n color: inherit;\n}\n\n.alert-primary {\n color: #004085;\n background-color: #cce5ff;\n border-color: #b8daff;\n}\n\n.alert-primary hr {\n border-top-color: #9fcdff;\n}\n\n.alert-primary .alert-link {\n color: #002752;\n}\n\n.alert-secondary {\n color: #383d41;\n background-color: #e2e3e5;\n border-color: #d6d8db;\n}\n\n.alert-secondary hr {\n border-top-color: #c8cbcf;\n}\n\n.alert-secondary .alert-link {\n color: #202326;\n}\n\n.alert-success {\n color: #155724;\n background-color: #d4edda;\n border-color: #c3e6cb;\n}\n\n.alert-success hr {\n border-top-color: #b1dfbb;\n}\n\n.alert-success .alert-link {\n color: #0b2e13;\n}\n\n.alert-info {\n color: #0c5460;\n background-color: #d1ecf1;\n border-color: #bee5eb;\n}\n\n.alert-info hr {\n border-top-color: #abdde5;\n}\n\n.alert-info .alert-link {\n color: #062c33;\n}\n\n.alert-warning {\n color: #856404;\n background-color: #fff3cd;\n border-color: #ffeeba;\n}\n\n.alert-warning hr {\n border-top-color: #ffe8a1;\n}\n\n.alert-warning .alert-link {\n color: #533f03;\n}\n\n.alert-danger {\n color: #721c24;\n background-color: #f8d7da;\n border-color: #f5c6cb;\n}\n\n.alert-danger hr {\n border-top-color: #f1b0b7;\n}\n\n.alert-danger .alert-link {\n color: #491217;\n}\n\n.alert-light {\n color: #818182;\n background-color: #fefefe;\n border-color: #fdfdfe;\n}\n\n.alert-light hr {\n border-top-color: #ececf6;\n}\n\n.alert-light .alert-link {\n color: #686868;\n}\n\n.alert-dark {\n color: #1b1e21;\n background-color: #d6d8d9;\n border-color: #c6c8ca;\n}\n\n.alert-dark hr {\n border-top-color: #b9bbbe;\n}\n\n.alert-dark .alert-link {\n color: #040505;\n}\n\n@keyframes progress-bar-stripes {\n from {\n background-position: 1rem 0;\n }\n to {\n background-position: 0 0;\n }\n}\n\n.progress {\n display: flex;\n height: 1rem;\n overflow: hidden;\n font-size: 0.75rem;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.progress-bar {\n display: flex;\n flex-direction: column;\n justify-content: center;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n background-color: #007bff;\n transition: width 0.6s ease;\n}\n\n@media screen and (prefers-reduced-motion: reduce) {\n .progress-bar {\n transition: none;\n }\n}\n\n.progress-bar-striped {\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-size: 1rem 1rem;\n}\n\n.progress-bar-animated {\n animation: progress-bar-stripes 1s linear infinite;\n}\n\n.media {\n display: flex;\n align-items: flex-start;\n}\n\n.media-body {\n flex: 1;\n}\n\n.list-group {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n}\n\n.list-group-item-action {\n width: 100%;\n color: #495057;\n text-align: inherit;\n}\n\n.list-group-item-action:hover, .list-group-item-action:focus {\n color: #495057;\n text-decoration: none;\n background-color: #f8f9fa;\n}\n\n.list-group-item-action:active {\n color: #212529;\n background-color: #e9ecef;\n}\n\n.list-group-item {\n position: relative;\n display: block;\n padding: 0.75rem 1.25rem;\n margin-bottom: -1px;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.list-group-item:last-child {\n margin-bottom: 0;\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.list-group-item:hover, .list-group-item:focus {\n z-index: 1;\n text-decoration: none;\n}\n\n.list-group-item.disabled, .list-group-item:disabled {\n color: #6c757d;\n background-color: #fff;\n}\n\n.list-group-item.active {\n z-index: 2;\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.list-group-flush .list-group-item {\n border-right: 0;\n border-left: 0;\n border-radius: 0;\n}\n\n.list-group-flush:first-child .list-group-item:first-child {\n border-top: 0;\n}\n\n.list-group-flush:last-child .list-group-item:last-child {\n border-bottom: 0;\n}\n\n.list-group-item-primary {\n color: #004085;\n background-color: #b8daff;\n}\n\n.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {\n color: #004085;\n background-color: #9fcdff;\n}\n\n.list-group-item-primary.list-group-item-action.active {\n color: #fff;\n background-color: #004085;\n border-color: #004085;\n}\n\n.list-group-item-secondary {\n color: #383d41;\n background-color: #d6d8db;\n}\n\n.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus {\n color: #383d41;\n background-color: #c8cbcf;\n}\n\n.list-group-item-secondary.list-group-item-action.active {\n color: #fff;\n background-color: #383d41;\n border-color: #383d41;\n}\n\n.list-group-item-success {\n color: #155724;\n background-color: #c3e6cb;\n}\n\n.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {\n color: #155724;\n background-color: #b1dfbb;\n}\n\n.list-group-item-success.list-group-item-action.active {\n color: #fff;\n background-color: #155724;\n border-color: #155724;\n}\n\n.list-group-item-info {\n color: #0c5460;\n background-color: #bee5eb;\n}\n\n.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus {\n color: #0c5460;\n background-color: #abdde5;\n}\n\n.list-group-item-info.list-group-item-action.active {\n color: #fff;\n background-color: #0c5460;\n border-color: #0c5460;\n}\n\n.list-group-item-warning {\n color: #856404;\n background-color: #ffeeba;\n}\n\n.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus {\n color: #856404;\n background-color: #ffe8a1;\n}\n\n.list-group-item-warning.list-group-item-action.active {\n color: #fff;\n background-color: #856404;\n border-color: #856404;\n}\n\n.list-group-item-danger {\n color: #721c24;\n background-color: #f5c6cb;\n}\n\n.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus {\n color: #721c24;\n background-color: #f1b0b7;\n}\n\n.list-group-item-danger.list-group-item-action.active {\n color: #fff;\n background-color: #721c24;\n border-color: #721c24;\n}\n\n.list-group-item-light {\n color: #818182;\n background-color: #fdfdfe;\n}\n\n.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus {\n color: #818182;\n background-color: #ececf6;\n}\n\n.list-group-item-light.list-group-item-action.active {\n color: #fff;\n background-color: #818182;\n border-color: #818182;\n}\n\n.list-group-item-dark {\n color: #1b1e21;\n background-color: #c6c8ca;\n}\n\n.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus {\n color: #1b1e21;\n background-color: #b9bbbe;\n}\n\n.list-group-item-dark.list-group-item-action.active {\n color: #fff;\n background-color: #1b1e21;\n border-color: #1b1e21;\n}\n\n.close {\n float: right;\n font-size: 1.5rem;\n font-weight: 700;\n line-height: 1;\n color: #000;\n text-shadow: 0 1px 0 #fff;\n opacity: .5;\n}\n\n.close:not(:disabled):not(.disabled) {\n cursor: pointer;\n}\n\n.close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus {\n color: #000;\n text-decoration: none;\n opacity: .75;\n}\n\nbutton.close {\n padding: 0;\n background-color: transparent;\n border: 0;\n -webkit-appearance: none;\n}\n\n.modal-open {\n overflow: hidden;\n}\n\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n.modal {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1050;\n display: none;\n overflow: hidden;\n outline: 0;\n}\n\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 0.5rem;\n pointer-events: none;\n}\n\n.modal.fade .modal-dialog {\n transition: transform 0.3s ease-out;\n transform: translate(0, -25%);\n}\n\n@media screen and (prefers-reduced-motion: reduce) {\n .modal.fade .modal-dialog {\n transition: none;\n }\n}\n\n.modal.show .modal-dialog {\n transform: translate(0, 0);\n}\n\n.modal-dialog-centered {\n display: flex;\n align-items: center;\n min-height: calc(100% - (0.5rem * 2));\n}\n\n.modal-dialog-centered::before {\n display: block;\n height: calc(100vh - (0.5rem * 2));\n content: \"\";\n}\n\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%;\n pointer-events: auto;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n outline: 0;\n}\n\n.modal-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1040;\n background-color: #000;\n}\n\n.modal-backdrop.fade {\n opacity: 0;\n}\n\n.modal-backdrop.show {\n opacity: 0.5;\n}\n\n.modal-header {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n padding: 1rem;\n border-bottom: 1px solid #e9ecef;\n border-top-left-radius: 0.3rem;\n border-top-right-radius: 0.3rem;\n}\n\n.modal-header .close {\n padding: 1rem;\n margin: -1rem -1rem -1rem auto;\n}\n\n.modal-title {\n margin-bottom: 0;\n line-height: 1.5;\n}\n\n.modal-body {\n position: relative;\n flex: 1 1 auto;\n padding: 1rem;\n}\n\n.modal-footer {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n padding: 1rem;\n border-top: 1px solid #e9ecef;\n}\n\n.modal-footer > :not(:first-child) {\n margin-left: .25rem;\n}\n\n.modal-footer > :not(:last-child) {\n margin-right: .25rem;\n}\n\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n@media (min-width: 576px) {\n .modal-dialog {\n max-width: 500px;\n margin: 1.75rem auto;\n }\n .modal-dialog-centered {\n min-height: calc(100% - (1.75rem * 2));\n }\n .modal-dialog-centered::before {\n height: calc(100vh - (1.75rem * 2));\n }\n .modal-sm {\n max-width: 300px;\n }\n}\n\n@media (min-width: 992px) {\n .modal-lg {\n max-width: 800px;\n }\n}\n\n.tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n opacity: 0;\n}\n\n.tooltip.show {\n opacity: 0.9;\n}\n\n.tooltip .arrow {\n position: absolute;\n display: block;\n width: 0.8rem;\n height: 0.4rem;\n}\n\n.tooltip .arrow::before {\n position: absolute;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-tooltip-top, .bs-tooltip-auto[x-placement^=\"top\"] {\n padding: 0.4rem 0;\n}\n\n.bs-tooltip-top .arrow, .bs-tooltip-auto[x-placement^=\"top\"] .arrow {\n bottom: 0;\n}\n\n.bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^=\"top\"] .arrow::before {\n top: 0;\n border-width: 0.4rem 0.4rem 0;\n border-top-color: #000;\n}\n\n.bs-tooltip-right, .bs-tooltip-auto[x-placement^=\"right\"] {\n padding: 0 0.4rem;\n}\n\n.bs-tooltip-right .arrow, .bs-tooltip-auto[x-placement^=\"right\"] .arrow {\n left: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n\n.bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^=\"right\"] .arrow::before {\n right: 0;\n border-width: 0.4rem 0.4rem 0.4rem 0;\n border-right-color: #000;\n}\n\n.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^=\"bottom\"] {\n padding: 0.4rem 0;\n}\n\n.bs-tooltip-bottom .arrow, .bs-tooltip-auto[x-placement^=\"bottom\"] .arrow {\n top: 0;\n}\n\n.bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^=\"bottom\"] .arrow::before {\n bottom: 0;\n border-width: 0 0.4rem 0.4rem;\n border-bottom-color: #000;\n}\n\n.bs-tooltip-left, .bs-tooltip-auto[x-placement^=\"left\"] {\n padding: 0 0.4rem;\n}\n\n.bs-tooltip-left .arrow, .bs-tooltip-auto[x-placement^=\"left\"] .arrow {\n right: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n\n.bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^=\"left\"] .arrow::before {\n left: 0;\n border-width: 0.4rem 0 0.4rem 0.4rem;\n border-left-color: #000;\n}\n\n.tooltip-inner {\n max-width: 200px;\n padding: 0.25rem 0.5rem;\n color: #fff;\n text-align: center;\n background-color: #000;\n border-radius: 0.25rem;\n}\n\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1060;\n display: block;\n max-width: 276px;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n}\n\n.popover .arrow {\n position: absolute;\n display: block;\n width: 1rem;\n height: 0.5rem;\n margin: 0 0.3rem;\n}\n\n.popover .arrow::before, .popover .arrow::after {\n position: absolute;\n display: block;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-popover-top, .bs-popover-auto[x-placement^=\"top\"] {\n margin-bottom: 0.5rem;\n}\n\n.bs-popover-top .arrow, .bs-popover-auto[x-placement^=\"top\"] .arrow {\n bottom: calc((0.5rem + 1px) * -1);\n}\n\n.bs-popover-top .arrow::before, .bs-popover-auto[x-placement^=\"top\"] .arrow::before,\n.bs-popover-top .arrow::after,\n.bs-popover-auto[x-placement^=\"top\"] .arrow::after {\n border-width: 0.5rem 0.5rem 0;\n}\n\n.bs-popover-top .arrow::before, .bs-popover-auto[x-placement^=\"top\"] .arrow::before {\n bottom: 0;\n border-top-color: rgba(0, 0, 0, 0.25);\n}\n\n\n.bs-popover-top .arrow::after,\n.bs-popover-auto[x-placement^=\"top\"] .arrow::after {\n bottom: 1px;\n border-top-color: #fff;\n}\n\n.bs-popover-right, .bs-popover-auto[x-placement^=\"right\"] {\n margin-left: 0.5rem;\n}\n\n.bs-popover-right .arrow, .bs-popover-auto[x-placement^=\"right\"] .arrow {\n left: calc((0.5rem + 1px) * -1);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n\n.bs-popover-right .arrow::before, .bs-popover-auto[x-placement^=\"right\"] .arrow::before,\n.bs-popover-right .arrow::after,\n.bs-popover-auto[x-placement^=\"right\"] .arrow::after {\n border-width: 0.5rem 0.5rem 0.5rem 0;\n}\n\n.bs-popover-right .arrow::before, .bs-popover-auto[x-placement^=\"right\"] .arrow::before {\n left: 0;\n border-right-color: rgba(0, 0, 0, 0.25);\n}\n\n\n.bs-popover-right .arrow::after,\n.bs-popover-auto[x-placement^=\"right\"] .arrow::after {\n left: 1px;\n border-right-color: #fff;\n}\n\n.bs-popover-bottom, .bs-popover-auto[x-placement^=\"bottom\"] {\n margin-top: 0.5rem;\n}\n\n.bs-popover-bottom .arrow, .bs-popover-auto[x-placement^=\"bottom\"] .arrow {\n top: calc((0.5rem + 1px) * -1);\n}\n\n.bs-popover-bottom .arrow::before, .bs-popover-auto[x-placement^=\"bottom\"] .arrow::before,\n.bs-popover-bottom .arrow::after,\n.bs-popover-auto[x-placement^=\"bottom\"] .arrow::after {\n border-width: 0 0.5rem 0.5rem 0.5rem;\n}\n\n.bs-popover-bottom .arrow::before, .bs-popover-auto[x-placement^=\"bottom\"] .arrow::before {\n top: 0;\n border-bottom-color: rgba(0, 0, 0, 0.25);\n}\n\n\n.bs-popover-bottom .arrow::after,\n.bs-popover-auto[x-placement^=\"bottom\"] .arrow::after {\n top: 1px;\n border-bottom-color: #fff;\n}\n\n.bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^=\"bottom\"] .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: 1rem;\n margin-left: -0.5rem;\n content: \"\";\n border-bottom: 1px solid #f7f7f7;\n}\n\n.bs-popover-left, .bs-popover-auto[x-placement^=\"left\"] {\n margin-right: 0.5rem;\n}\n\n.bs-popover-left .arrow, .bs-popover-auto[x-placement^=\"left\"] .arrow {\n right: calc((0.5rem + 1px) * -1);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n\n.bs-popover-left .arrow::before, .bs-popover-auto[x-placement^=\"left\"] .arrow::before,\n.bs-popover-left .arrow::after,\n.bs-popover-auto[x-placement^=\"left\"] .arrow::after {\n border-width: 0.5rem 0 0.5rem 0.5rem;\n}\n\n.bs-popover-left .arrow::before, .bs-popover-auto[x-placement^=\"left\"] .arrow::before {\n right: 0;\n border-left-color: rgba(0, 0, 0, 0.25);\n}\n\n\n.bs-popover-left .arrow::after,\n.bs-popover-auto[x-placement^=\"left\"] .arrow::after {\n right: 1px;\n border-left-color: #fff;\n}\n\n.popover-header {\n padding: 0.5rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n color: inherit;\n background-color: #f7f7f7;\n border-bottom: 1px solid #ebebeb;\n border-top-left-radius: calc(0.3rem - 1px);\n border-top-right-radius: calc(0.3rem - 1px);\n}\n\n.popover-header:empty {\n display: none;\n}\n\n.popover-body {\n padding: 0.5rem 0.75rem;\n color: #212529;\n}\n\n.carousel {\n position: relative;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n}\n\n.carousel-item {\n position: relative;\n display: none;\n align-items: center;\n width: 100%;\n backface-visibility: hidden;\n perspective: 1000px;\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: block;\n transition: transform 0.6s ease;\n}\n\n@media screen and (prefers-reduced-motion: reduce) {\n .carousel-item.active,\n .carousel-item-next,\n .carousel-item-prev {\n transition: none;\n }\n}\n\n.carousel-item-next,\n.carousel-item-prev {\n position: absolute;\n top: 0;\n}\n\n.carousel-item-next.carousel-item-left,\n.carousel-item-prev.carousel-item-right {\n transform: translateX(0);\n}\n\n@supports (transform-style: preserve-3d) {\n .carousel-item-next.carousel-item-left,\n .carousel-item-prev.carousel-item-right {\n transform: translate3d(0, 0, 0);\n }\n}\n\n.carousel-item-next,\n.active.carousel-item-right {\n transform: translateX(100%);\n}\n\n@supports (transform-style: preserve-3d) {\n .carousel-item-next,\n .active.carousel-item-right {\n transform: translate3d(100%, 0, 0);\n }\n}\n\n.carousel-item-prev,\n.active.carousel-item-left {\n transform: translateX(-100%);\n}\n\n@supports (transform-style: preserve-3d) {\n .carousel-item-prev,\n .active.carousel-item-left {\n transform: translate3d(-100%, 0, 0);\n }\n}\n\n.carousel-fade .carousel-item {\n opacity: 0;\n transition-duration: .6s;\n transition-property: opacity;\n}\n\n.carousel-fade .carousel-item.active,\n.carousel-fade .carousel-item-next.carousel-item-left,\n.carousel-fade .carousel-item-prev.carousel-item-right {\n opacity: 1;\n}\n\n.carousel-fade .active.carousel-item-left,\n.carousel-fade .active.carousel-item-right {\n opacity: 0;\n}\n\n.carousel-fade .carousel-item-next,\n.carousel-fade .carousel-item-prev,\n.carousel-fade .carousel-item.active,\n.carousel-fade .active.carousel-item-left,\n.carousel-fade .active.carousel-item-prev {\n transform: translateX(0);\n}\n\n@supports (transform-style: preserve-3d) {\n .carousel-fade .carousel-item-next,\n .carousel-fade .carousel-item-prev,\n .carousel-fade .carousel-item.active,\n .carousel-fade .active.carousel-item-left,\n .carousel-fade .active.carousel-item-prev {\n transform: translate3d(0, 0, 0);\n }\n}\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 15%;\n color: #fff;\n text-align: center;\n opacity: 0.5;\n}\n\n.carousel-control-prev:hover, .carousel-control-prev:focus,\n.carousel-control-next:hover,\n.carousel-control-next:focus {\n color: #fff;\n text-decoration: none;\n outline: 0;\n opacity: .9;\n}\n\n.carousel-control-prev {\n left: 0;\n}\n\n.carousel-control-next {\n right: 0;\n}\n\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: 20px;\n height: 20px;\n background: transparent no-repeat center center;\n background-size: 100% 100%;\n}\n\n.carousel-control-prev-icon {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E\");\n}\n\n.carousel-control-next-icon {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E\");\n}\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 10px;\n left: 0;\n z-index: 15;\n display: flex;\n justify-content: center;\n padding-left: 0;\n margin-right: 15%;\n margin-left: 15%;\n list-style: none;\n}\n\n.carousel-indicators li {\n position: relative;\n flex: 0 1 auto;\n width: 30px;\n height: 3px;\n margin-right: 3px;\n margin-left: 3px;\n text-indent: -999px;\n cursor: pointer;\n background-color: rgba(255, 255, 255, 0.5);\n}\n\n.carousel-indicators li::before {\n position: absolute;\n top: -10px;\n left: 0;\n display: inline-block;\n width: 100%;\n height: 10px;\n content: \"\";\n}\n\n.carousel-indicators li::after {\n position: absolute;\n bottom: -10px;\n left: 0;\n display: inline-block;\n width: 100%;\n height: 10px;\n content: \"\";\n}\n\n.carousel-indicators .active {\n background-color: #fff;\n}\n\n.carousel-caption {\n position: absolute;\n right: 15%;\n bottom: 20px;\n left: 15%;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: #fff;\n text-align: center;\n}\n\n.align-baseline {\n vertical-align: baseline !important;\n}\n\n.align-top {\n vertical-align: top !important;\n}\n\n.align-middle {\n vertical-align: middle !important;\n}\n\n.align-bottom {\n vertical-align: bottom !important;\n}\n\n.align-text-bottom {\n vertical-align: text-bottom !important;\n}\n\n.align-text-top {\n vertical-align: text-top !important;\n}\n\n.bg-primary {\n background-color: #007bff !important;\n}\n\na.bg-primary:hover, a.bg-primary:focus,\nbutton.bg-primary:hover,\nbutton.bg-primary:focus {\n background-color: #0062cc !important;\n}\n\n.bg-secondary {\n background-color: #6c757d !important;\n}\n\na.bg-secondary:hover, a.bg-secondary:focus,\nbutton.bg-secondary:hover,\nbutton.bg-secondary:focus {\n background-color: #545b62 !important;\n}\n\n.bg-success {\n background-color: #28a745 !important;\n}\n\na.bg-success:hover, a.bg-success:focus,\nbutton.bg-success:hover,\nbutton.bg-success:focus {\n background-color: #1e7e34 !important;\n}\n\n.bg-info {\n background-color: #17a2b8 !important;\n}\n\na.bg-info:hover, a.bg-info:focus,\nbutton.bg-info:hover,\nbutton.bg-info:focus {\n background-color: #117a8b !important;\n}\n\n.bg-warning {\n background-color: #ffc107 !important;\n}\n\na.bg-warning:hover, a.bg-warning:focus,\nbutton.bg-warning:hover,\nbutton.bg-warning:focus {\n background-color: #d39e00 !important;\n}\n\n.bg-danger {\n background-color: #dc3545 !important;\n}\n\na.bg-danger:hover, a.bg-danger:focus,\nbutton.bg-danger:hover,\nbutton.bg-danger:focus {\n background-color: #bd2130 !important;\n}\n\n.bg-light {\n background-color: #f8f9fa !important;\n}\n\na.bg-light:hover, a.bg-light:focus,\nbutton.bg-light:hover,\nbutton.bg-light:focus {\n background-color: #dae0e5 !important;\n}\n\n.bg-dark {\n background-color: #343a40 !important;\n}\n\na.bg-dark:hover, a.bg-dark:focus,\nbutton.bg-dark:hover,\nbutton.bg-dark:focus {\n background-color: #1d2124 !important;\n}\n\n.bg-white {\n background-color: #fff !important;\n}\n\n.bg-transparent {\n background-color: transparent !important;\n}\n\n.border {\n border: 1px solid #dee2e6 !important;\n}\n\n.border-top {\n border-top: 1px solid #dee2e6 !important;\n}\n\n.border-right {\n border-right: 1px solid #dee2e6 !important;\n}\n\n.border-bottom {\n border-bottom: 1px solid #dee2e6 !important;\n}\n\n.border-left {\n border-left: 1px solid #dee2e6 !important;\n}\n\n.border-0 {\n border: 0 !important;\n}\n\n.border-top-0 {\n border-top: 0 !important;\n}\n\n.border-right-0 {\n border-right: 0 !important;\n}\n\n.border-bottom-0 {\n border-bottom: 0 !important;\n}\n\n.border-left-0 {\n border-left: 0 !important;\n}\n\n.border-primary {\n border-color: #007bff !important;\n}\n\n.border-secondary {\n border-color: #6c757d !important;\n}\n\n.border-success {\n border-color: #28a745 !important;\n}\n\n.border-info {\n border-color: #17a2b8 !important;\n}\n\n.border-warning {\n border-color: #ffc107 !important;\n}\n\n.border-danger {\n border-color: #dc3545 !important;\n}\n\n.border-light {\n border-color: #f8f9fa !important;\n}\n\n.border-dark {\n border-color: #343a40 !important;\n}\n\n.border-white {\n border-color: #fff !important;\n}\n\n.rounded {\n border-radius: 0.25rem !important;\n}\n\n.rounded-top {\n border-top-left-radius: 0.25rem !important;\n border-top-right-radius: 0.25rem !important;\n}\n\n.rounded-right {\n border-top-right-radius: 0.25rem !important;\n border-bottom-right-radius: 0.25rem !important;\n}\n\n.rounded-bottom {\n border-bottom-right-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-left {\n border-top-left-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-circle {\n border-radius: 50% !important;\n}\n\n.rounded-0 {\n border-radius: 0 !important;\n}\n\n.clearfix::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.d-none {\n display: none !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-none {\n display: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 768px) {\n .d-md-none {\n display: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 992px) {\n .d-lg-none {\n display: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 1200px) {\n .d-xl-none {\n display: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media print {\n .d-print-none {\n display: none !important;\n }\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: flex !important;\n }\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n}\n\n.embed-responsive {\n position: relative;\n display: block;\n width: 100%;\n padding: 0;\n overflow: hidden;\n}\n\n.embed-responsive::before {\n display: block;\n content: \"\";\n}\n\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n}\n\n.embed-responsive-21by9::before {\n padding-top: 42.857143%;\n}\n\n.embed-responsive-16by9::before {\n padding-top: 56.25%;\n}\n\n.embed-responsive-4by3::before {\n padding-top: 75%;\n}\n\n.embed-responsive-1by1::before {\n padding-top: 100%;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n flex-shrink: 1 !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n@media (min-width: 576px) {\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 768px) {\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 992px) {\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 1200px) {\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n}\n\n.float-left {\n float: left !important;\n}\n\n.float-right {\n float: right !important;\n}\n\n.float-none {\n float: none !important;\n}\n\n@media (min-width: 576px) {\n .float-sm-left {\n float: left !important;\n }\n .float-sm-right {\n float: right !important;\n }\n .float-sm-none {\n float: none !important;\n }\n}\n\n@media (min-width: 768px) {\n .float-md-left {\n float: left !important;\n }\n .float-md-right {\n float: right !important;\n }\n .float-md-none {\n float: none !important;\n }\n}\n\n@media (min-width: 992px) {\n .float-lg-left {\n float: left !important;\n }\n .float-lg-right {\n float: right !important;\n }\n .float-lg-none {\n float: none !important;\n }\n}\n\n@media (min-width: 1200px) {\n .float-xl-left {\n float: left !important;\n }\n .float-xl-right {\n float: right !important;\n }\n .float-xl-none {\n float: none !important;\n }\n}\n\n.position-static {\n position: static !important;\n}\n\n.position-relative {\n position: relative !important;\n}\n\n.position-absolute {\n position: absolute !important;\n}\n\n.position-fixed {\n position: fixed !important;\n}\n\n.position-sticky {\n position: sticky !important;\n}\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1030;\n}\n\n@supports (position: sticky) {\n .sticky-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n}\n\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n}\n\n.sr-only-focusable:active, .sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n overflow: visible;\n clip: auto;\n white-space: normal;\n}\n\n.shadow-sm {\n box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;\n}\n\n.shadow {\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;\n}\n\n.shadow-lg {\n box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;\n}\n\n.shadow-none {\n box-shadow: none !important;\n}\n\n.w-25 {\n width: 25% !important;\n}\n\n.w-50 {\n width: 50% !important;\n}\n\n.w-75 {\n width: 75% !important;\n}\n\n.w-100 {\n width: 100% !important;\n}\n\n.w-auto {\n width: auto !important;\n}\n\n.h-25 {\n height: 25% !important;\n}\n\n.h-50 {\n height: 50% !important;\n}\n\n.h-75 {\n height: 75% !important;\n}\n\n.h-100 {\n height: 100% !important;\n}\n\n.h-auto {\n height: auto !important;\n}\n\n.mw-100 {\n max-width: 100% !important;\n}\n\n.mh-100 {\n max-height: 100% !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.mt-0,\n.my-0 {\n margin-top: 0 !important;\n}\n\n.mr-0,\n.mx-0 {\n margin-right: 0 !important;\n}\n\n.mb-0,\n.my-0 {\n margin-bottom: 0 !important;\n}\n\n.ml-0,\n.mx-0 {\n margin-left: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.mt-1,\n.my-1 {\n margin-top: 0.25rem !important;\n}\n\n.mr-1,\n.mx-1 {\n margin-right: 0.25rem !important;\n}\n\n.mb-1,\n.my-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.ml-1,\n.mx-1 {\n margin-left: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.mt-2,\n.my-2 {\n margin-top: 0.5rem !important;\n}\n\n.mr-2,\n.mx-2 {\n margin-right: 0.5rem !important;\n}\n\n.mb-2,\n.my-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.ml-2,\n.mx-2 {\n margin-left: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.mt-3,\n.my-3 {\n margin-top: 1rem !important;\n}\n\n.mr-3,\n.mx-3 {\n margin-right: 1rem !important;\n}\n\n.mb-3,\n.my-3 {\n margin-bottom: 1rem !important;\n}\n\n.ml-3,\n.mx-3 {\n margin-left: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.mt-4,\n.my-4 {\n margin-top: 1.5rem !important;\n}\n\n.mr-4,\n.mx-4 {\n margin-right: 1.5rem !important;\n}\n\n.mb-4,\n.my-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.ml-4,\n.mx-4 {\n margin-left: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.mt-5,\n.my-5 {\n margin-top: 3rem !important;\n}\n\n.mr-5,\n.mx-5 {\n margin-right: 3rem !important;\n}\n\n.mb-5,\n.my-5 {\n margin-bottom: 3rem !important;\n}\n\n.ml-5,\n.mx-5 {\n margin-left: 3rem !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.pt-0,\n.py-0 {\n padding-top: 0 !important;\n}\n\n.pr-0,\n.px-0 {\n padding-right: 0 !important;\n}\n\n.pb-0,\n.py-0 {\n padding-bottom: 0 !important;\n}\n\n.pl-0,\n.px-0 {\n padding-left: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.pt-1,\n.py-1 {\n padding-top: 0.25rem !important;\n}\n\n.pr-1,\n.px-1 {\n padding-right: 0.25rem !important;\n}\n\n.pb-1,\n.py-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pl-1,\n.px-1 {\n padding-left: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.pt-2,\n.py-2 {\n padding-top: 0.5rem !important;\n}\n\n.pr-2,\n.px-2 {\n padding-right: 0.5rem !important;\n}\n\n.pb-2,\n.py-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pl-2,\n.px-2 {\n padding-left: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.pt-3,\n.py-3 {\n padding-top: 1rem !important;\n}\n\n.pr-3,\n.px-3 {\n padding-right: 1rem !important;\n}\n\n.pb-3,\n.py-3 {\n padding-bottom: 1rem !important;\n}\n\n.pl-3,\n.px-3 {\n padding-left: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.pt-4,\n.py-4 {\n padding-top: 1.5rem !important;\n}\n\n.pr-4,\n.px-4 {\n padding-right: 1.5rem !important;\n}\n\n.pb-4,\n.py-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pl-4,\n.px-4 {\n padding-left: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.pt-5,\n.py-5 {\n padding-top: 3rem !important;\n}\n\n.pr-5,\n.px-5 {\n padding-right: 3rem !important;\n}\n\n.pb-5,\n.py-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-5,\n.px-5 {\n padding-left: 3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mt-auto,\n.my-auto {\n margin-top: auto !important;\n}\n\n.mr-auto,\n.mx-auto {\n margin-right: auto !important;\n}\n\n.mb-auto,\n.my-auto {\n margin-bottom: auto !important;\n}\n\n.ml-auto,\n.mx-auto {\n margin-left: auto !important;\n}\n\n@media (min-width: 576px) {\n .m-sm-0 {\n margin: 0 !important;\n }\n .mt-sm-0,\n .my-sm-0 {\n margin-top: 0 !important;\n }\n .mr-sm-0,\n .mx-sm-0 {\n margin-right: 0 !important;\n }\n .mb-sm-0,\n .my-sm-0 {\n margin-bottom: 0 !important;\n }\n .ml-sm-0,\n .mx-sm-0 {\n margin-left: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .mt-sm-1,\n .my-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mr-sm-1,\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n }\n .mb-sm-1,\n .my-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-sm-1,\n .mx-sm-1 {\n margin-left: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .mt-sm-2,\n .my-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mr-sm-2,\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n }\n .mb-sm-2,\n .my-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-sm-2,\n .mx-sm-2 {\n margin-left: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .mt-sm-3,\n .my-sm-3 {\n margin-top: 1rem !important;\n }\n .mr-sm-3,\n .mx-sm-3 {\n margin-right: 1rem !important;\n }\n .mb-sm-3,\n .my-sm-3 {\n margin-bottom: 1rem !important;\n }\n .ml-sm-3,\n .mx-sm-3 {\n margin-left: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .mt-sm-4,\n .my-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mr-sm-4,\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n }\n .mb-sm-4,\n .my-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-sm-4,\n .mx-sm-4 {\n margin-left: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .mt-sm-5,\n .my-sm-5 {\n margin-top: 3rem !important;\n }\n .mr-sm-5,\n .mx-sm-5 {\n margin-right: 3rem !important;\n }\n .mb-sm-5,\n .my-sm-5 {\n margin-bottom: 3rem !important;\n }\n .ml-sm-5,\n .mx-sm-5 {\n margin-left: 3rem !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .pt-sm-0,\n .py-sm-0 {\n padding-top: 0 !important;\n }\n .pr-sm-0,\n .px-sm-0 {\n padding-right: 0 !important;\n }\n .pb-sm-0,\n .py-sm-0 {\n padding-bottom: 0 !important;\n }\n .pl-sm-0,\n .px-sm-0 {\n padding-left: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .pt-sm-1,\n .py-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pr-sm-1,\n .px-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pb-sm-1,\n .py-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-sm-1,\n .px-sm-1 {\n padding-left: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .pt-sm-2,\n .py-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pr-sm-2,\n .px-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pb-sm-2,\n .py-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-sm-2,\n .px-sm-2 {\n padding-left: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .pt-sm-3,\n .py-sm-3 {\n padding-top: 1rem !important;\n }\n .pr-sm-3,\n .px-sm-3 {\n padding-right: 1rem !important;\n }\n .pb-sm-3,\n .py-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pl-sm-3,\n .px-sm-3 {\n padding-left: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .pt-sm-4,\n .py-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pr-sm-4,\n .px-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pb-sm-4,\n .py-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-sm-4,\n .px-sm-4 {\n padding-left: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .pt-sm-5,\n .py-sm-5 {\n padding-top: 3rem !important;\n }\n .pr-sm-5,\n .px-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-5,\n .py-sm-5 {\n padding-bottom: 3rem !important;\n }\n .pl-sm-5,\n .px-sm-5 {\n padding-left: 3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mt-sm-auto,\n .my-sm-auto {\n margin-top: auto !important;\n }\n .mr-sm-auto,\n .mx-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-auto,\n .my-sm-auto {\n margin-bottom: auto !important;\n }\n .ml-sm-auto,\n .mx-sm-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 768px) {\n .m-md-0 {\n margin: 0 !important;\n }\n .mt-md-0,\n .my-md-0 {\n margin-top: 0 !important;\n }\n .mr-md-0,\n .mx-md-0 {\n margin-right: 0 !important;\n }\n .mb-md-0,\n .my-md-0 {\n margin-bottom: 0 !important;\n }\n .ml-md-0,\n .mx-md-0 {\n margin-left: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .mt-md-1,\n .my-md-1 {\n margin-top: 0.25rem !important;\n }\n .mr-md-1,\n .mx-md-1 {\n margin-right: 0.25rem !important;\n }\n .mb-md-1,\n .my-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-md-1,\n .mx-md-1 {\n margin-left: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .mt-md-2,\n .my-md-2 {\n margin-top: 0.5rem !important;\n }\n .mr-md-2,\n .mx-md-2 {\n margin-right: 0.5rem !important;\n }\n .mb-md-2,\n .my-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-md-2,\n .mx-md-2 {\n margin-left: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .mt-md-3,\n .my-md-3 {\n margin-top: 1rem !important;\n }\n .mr-md-3,\n .mx-md-3 {\n margin-right: 1rem !important;\n }\n .mb-md-3,\n .my-md-3 {\n margin-bottom: 1rem !important;\n }\n .ml-md-3,\n .mx-md-3 {\n margin-left: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .mt-md-4,\n .my-md-4 {\n margin-top: 1.5rem !important;\n }\n .mr-md-4,\n .mx-md-4 {\n margin-right: 1.5rem !important;\n }\n .mb-md-4,\n .my-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-md-4,\n .mx-md-4 {\n margin-left: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .mt-md-5,\n .my-md-5 {\n margin-top: 3rem !important;\n }\n .mr-md-5,\n .mx-md-5 {\n margin-right: 3rem !important;\n }\n .mb-md-5,\n .my-md-5 {\n margin-bottom: 3rem !important;\n }\n .ml-md-5,\n .mx-md-5 {\n margin-left: 3rem !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .pt-md-0,\n .py-md-0 {\n padding-top: 0 !important;\n }\n .pr-md-0,\n .px-md-0 {\n padding-right: 0 !important;\n }\n .pb-md-0,\n .py-md-0 {\n padding-bottom: 0 !important;\n }\n .pl-md-0,\n .px-md-0 {\n padding-left: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .pt-md-1,\n .py-md-1 {\n padding-top: 0.25rem !important;\n }\n .pr-md-1,\n .px-md-1 {\n padding-right: 0.25rem !important;\n }\n .pb-md-1,\n .py-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-md-1,\n .px-md-1 {\n padding-left: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .pt-md-2,\n .py-md-2 {\n padding-top: 0.5rem !important;\n }\n .pr-md-2,\n .px-md-2 {\n padding-right: 0.5rem !important;\n }\n .pb-md-2,\n .py-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-md-2,\n .px-md-2 {\n padding-left: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .pt-md-3,\n .py-md-3 {\n padding-top: 1rem !important;\n }\n .pr-md-3,\n .px-md-3 {\n padding-right: 1rem !important;\n }\n .pb-md-3,\n .py-md-3 {\n padding-bottom: 1rem !important;\n }\n .pl-md-3,\n .px-md-3 {\n padding-left: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .pt-md-4,\n .py-md-4 {\n padding-top: 1.5rem !important;\n }\n .pr-md-4,\n .px-md-4 {\n padding-right: 1.5rem !important;\n }\n .pb-md-4,\n .py-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-md-4,\n .px-md-4 {\n padding-left: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .pt-md-5,\n .py-md-5 {\n padding-top: 3rem !important;\n }\n .pr-md-5,\n .px-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-5,\n .py-md-5 {\n padding-bottom: 3rem !important;\n }\n .pl-md-5,\n .px-md-5 {\n padding-left: 3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mt-md-auto,\n .my-md-auto {\n margin-top: auto !important;\n }\n .mr-md-auto,\n .mx-md-auto {\n margin-right: auto !important;\n }\n .mb-md-auto,\n .my-md-auto {\n margin-bottom: auto !important;\n }\n .ml-md-auto,\n .mx-md-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 992px) {\n .m-lg-0 {\n margin: 0 !important;\n }\n .mt-lg-0,\n .my-lg-0 {\n margin-top: 0 !important;\n }\n .mr-lg-0,\n .mx-lg-0 {\n margin-right: 0 !important;\n }\n .mb-lg-0,\n .my-lg-0 {\n margin-bottom: 0 !important;\n }\n .ml-lg-0,\n .mx-lg-0 {\n margin-left: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .mt-lg-1,\n .my-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mr-lg-1,\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n }\n .mb-lg-1,\n .my-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-lg-1,\n .mx-lg-1 {\n margin-left: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .mt-lg-2,\n .my-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mr-lg-2,\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n }\n .mb-lg-2,\n .my-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-lg-2,\n .mx-lg-2 {\n margin-left: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .mt-lg-3,\n .my-lg-3 {\n margin-top: 1rem !important;\n }\n .mr-lg-3,\n .mx-lg-3 {\n margin-right: 1rem !important;\n }\n .mb-lg-3,\n .my-lg-3 {\n margin-bottom: 1rem !important;\n }\n .ml-lg-3,\n .mx-lg-3 {\n margin-left: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .mt-lg-4,\n .my-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mr-lg-4,\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n }\n .mb-lg-4,\n .my-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-lg-4,\n .mx-lg-4 {\n margin-left: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .mt-lg-5,\n .my-lg-5 {\n margin-top: 3rem !important;\n }\n .mr-lg-5,\n .mx-lg-5 {\n margin-right: 3rem !important;\n }\n .mb-lg-5,\n .my-lg-5 {\n margin-bottom: 3rem !important;\n }\n .ml-lg-5,\n .mx-lg-5 {\n margin-left: 3rem !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .pt-lg-0,\n .py-lg-0 {\n padding-top: 0 !important;\n }\n .pr-lg-0,\n .px-lg-0 {\n padding-right: 0 !important;\n }\n .pb-lg-0,\n .py-lg-0 {\n padding-bottom: 0 !important;\n }\n .pl-lg-0,\n .px-lg-0 {\n padding-left: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .pt-lg-1,\n .py-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pr-lg-1,\n .px-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pb-lg-1,\n .py-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-lg-1,\n .px-lg-1 {\n padding-left: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .pt-lg-2,\n .py-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pr-lg-2,\n .px-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pb-lg-2,\n .py-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-lg-2,\n .px-lg-2 {\n padding-left: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .pt-lg-3,\n .py-lg-3 {\n padding-top: 1rem !important;\n }\n .pr-lg-3,\n .px-lg-3 {\n padding-right: 1rem !important;\n }\n .pb-lg-3,\n .py-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pl-lg-3,\n .px-lg-3 {\n padding-left: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .pt-lg-4,\n .py-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pr-lg-4,\n .px-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pb-lg-4,\n .py-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-lg-4,\n .px-lg-4 {\n padding-left: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .pt-lg-5,\n .py-lg-5 {\n padding-top: 3rem !important;\n }\n .pr-lg-5,\n .px-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-5,\n .py-lg-5 {\n padding-bottom: 3rem !important;\n }\n .pl-lg-5,\n .px-lg-5 {\n padding-left: 3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mt-lg-auto,\n .my-lg-auto {\n margin-top: auto !important;\n }\n .mr-lg-auto,\n .mx-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-auto,\n .my-lg-auto {\n margin-bottom: auto !important;\n }\n .ml-lg-auto,\n .mx-lg-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 1200px) {\n .m-xl-0 {\n margin: 0 !important;\n }\n .mt-xl-0,\n .my-xl-0 {\n margin-top: 0 !important;\n }\n .mr-xl-0,\n .mx-xl-0 {\n margin-right: 0 !important;\n }\n .mb-xl-0,\n .my-xl-0 {\n margin-bottom: 0 !important;\n }\n .ml-xl-0,\n .mx-xl-0 {\n margin-left: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .mt-xl-1,\n .my-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mr-xl-1,\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n }\n .mb-xl-1,\n .my-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-xl-1,\n .mx-xl-1 {\n margin-left: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .mt-xl-2,\n .my-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mr-xl-2,\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n }\n .mb-xl-2,\n .my-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-xl-2,\n .mx-xl-2 {\n margin-left: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .mt-xl-3,\n .my-xl-3 {\n margin-top: 1rem !important;\n }\n .mr-xl-3,\n .mx-xl-3 {\n margin-right: 1rem !important;\n }\n .mb-xl-3,\n .my-xl-3 {\n margin-bottom: 1rem !important;\n }\n .ml-xl-3,\n .mx-xl-3 {\n margin-left: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .mt-xl-4,\n .my-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mr-xl-4,\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n }\n .mb-xl-4,\n .my-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-xl-4,\n .mx-xl-4 {\n margin-left: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .mt-xl-5,\n .my-xl-5 {\n margin-top: 3rem !important;\n }\n .mr-xl-5,\n .mx-xl-5 {\n margin-right: 3rem !important;\n }\n .mb-xl-5,\n .my-xl-5 {\n margin-bottom: 3rem !important;\n }\n .ml-xl-5,\n .mx-xl-5 {\n margin-left: 3rem !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .pt-xl-0,\n .py-xl-0 {\n padding-top: 0 !important;\n }\n .pr-xl-0,\n .px-xl-0 {\n padding-right: 0 !important;\n }\n .pb-xl-0,\n .py-xl-0 {\n padding-bottom: 0 !important;\n }\n .pl-xl-0,\n .px-xl-0 {\n padding-left: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .pt-xl-1,\n .py-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pr-xl-1,\n .px-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pb-xl-1,\n .py-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-xl-1,\n .px-xl-1 {\n padding-left: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .pt-xl-2,\n .py-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pr-xl-2,\n .px-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pb-xl-2,\n .py-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-xl-2,\n .px-xl-2 {\n padding-left: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .pt-xl-3,\n .py-xl-3 {\n padding-top: 1rem !important;\n }\n .pr-xl-3,\n .px-xl-3 {\n padding-right: 1rem !important;\n }\n .pb-xl-3,\n .py-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pl-xl-3,\n .px-xl-3 {\n padding-left: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .pt-xl-4,\n .py-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pr-xl-4,\n .px-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pb-xl-4,\n .py-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-xl-4,\n .px-xl-4 {\n padding-left: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .pt-xl-5,\n .py-xl-5 {\n padding-top: 3rem !important;\n }\n .pr-xl-5,\n .px-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-5,\n .py-xl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xl-5,\n .px-xl-5 {\n padding-left: 3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mt-xl-auto,\n .my-xl-auto {\n margin-top: auto !important;\n }\n .mr-xl-auto,\n .mx-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-auto,\n .my-xl-auto {\n margin-bottom: auto !important;\n }\n .ml-xl-auto,\n .mx-xl-auto {\n margin-left: auto !important;\n }\n}\n\n.text-monospace {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n\n.text-justify {\n text-align: justify !important;\n}\n\n.text-nowrap {\n white-space: nowrap !important;\n}\n\n.text-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.text-left {\n text-align: left !important;\n}\n\n.text-right {\n text-align: right !important;\n}\n\n.text-center {\n text-align: center !important;\n}\n\n@media (min-width: 576px) {\n .text-sm-left {\n text-align: left !important;\n }\n .text-sm-right {\n text-align: right !important;\n }\n .text-sm-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 768px) {\n .text-md-left {\n text-align: left !important;\n }\n .text-md-right {\n text-align: right !important;\n }\n .text-md-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 992px) {\n .text-lg-left {\n text-align: left !important;\n }\n .text-lg-right {\n text-align: right !important;\n }\n .text-lg-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 1200px) {\n .text-xl-left {\n text-align: left !important;\n }\n .text-xl-right {\n text-align: right !important;\n }\n .text-xl-center {\n text-align: center !important;\n }\n}\n\n.text-lowercase {\n text-transform: lowercase !important;\n}\n\n.text-uppercase {\n text-transform: uppercase !important;\n}\n\n.text-capitalize {\n text-transform: capitalize !important;\n}\n\n.font-weight-light {\n font-weight: 300 !important;\n}\n\n.font-weight-normal {\n font-weight: 400 !important;\n}\n\n.font-weight-bold {\n font-weight: 700 !important;\n}\n\n.font-italic {\n font-style: italic !important;\n}\n\n.text-white {\n color: #fff !important;\n}\n\n.text-primary {\n color: #007bff !important;\n}\n\na.text-primary:hover, a.text-primary:focus {\n color: #0062cc !important;\n}\n\n.text-secondary {\n color: #6c757d !important;\n}\n\na.text-secondary:hover, a.text-secondary:focus {\n color: #545b62 !important;\n}\n\n.text-success {\n color: #28a745 !important;\n}\n\na.text-success:hover, a.text-success:focus {\n color: #1e7e34 !important;\n}\n\n.text-info {\n color: #17a2b8 !important;\n}\n\na.text-info:hover, a.text-info:focus {\n color: #117a8b !important;\n}\n\n.text-warning {\n color: #ffc107 !important;\n}\n\na.text-warning:hover, a.text-warning:focus {\n color: #d39e00 !important;\n}\n\n.text-danger {\n color: #dc3545 !important;\n}\n\na.text-danger:hover, a.text-danger:focus {\n color: #bd2130 !important;\n}\n\n.text-light {\n color: #f8f9fa !important;\n}\n\na.text-light:hover, a.text-light:focus {\n color: #dae0e5 !important;\n}\n\n.text-dark {\n color: #343a40 !important;\n}\n\na.text-dark:hover, a.text-dark:focus {\n color: #1d2124 !important;\n}\n\n.text-body {\n color: #212529 !important;\n}\n\n.text-muted {\n color: #6c757d !important;\n}\n\n.text-black-50 {\n color: rgba(0, 0, 0, 0.5) !important;\n}\n\n.text-white-50 {\n color: rgba(255, 255, 255, 0.5) !important;\n}\n\n.text-hide {\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n}\n\n.visible {\n visibility: visible !important;\n}\n\n.invisible {\n visibility: hidden !important;\n}\n\n@media print {\n *,\n *::before,\n *::after {\n text-shadow: none !important;\n box-shadow: none !important;\n }\n a:not(.btn) {\n text-decoration: underline;\n }\n abbr[title]::after {\n content: \" (\" attr(title) \")\";\n }\n pre {\n white-space: pre-wrap !important;\n }\n pre,\n blockquote {\n border: 1px solid #adb5bd;\n page-break-inside: avoid;\n }\n thead {\n display: table-header-group;\n }\n tr,\n img {\n page-break-inside: avoid;\n }\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n h2,\n h3 {\n page-break-after: avoid;\n }\n @page {\n size: a3;\n }\n body {\n min-width: 992px !important;\n }\n .container {\n min-width: 992px !important;\n }\n .navbar {\n display: none;\n }\n .badge {\n border: 1px solid #000;\n }\n .table {\n border-collapse: collapse !important;\n }\n .table td,\n .table th {\n background-color: #fff !important;\n }\n .table-bordered th,\n .table-bordered td {\n border: 1px solid #dee2e6 !important;\n }\n .table-dark {\n color: inherit;\n }\n .table-dark th,\n .table-dark td,\n .table-dark thead th,\n .table-dark tbody + tbody {\n border-color: #dee2e6;\n }\n .table .thead-dark th {\n color: inherit;\n border-color: #dee2e6;\n }\n}\n\n/*# sourceMappingURL=bootstrap.css.map */","// Hover mixin and `$enable-hover-media-query` are deprecated.\n//\n// Originally added during our alphas and maintained during betas, this mixin was\n// designed to prevent `:hover` stickiness on iOS-an issue where hover styles\n// would persist after initial touch.\n//\n// For backward compatibility, we've kept these mixins and updated them to\n// always return their regular pseudo-classes instead of a shimmed media query.\n//\n// Issue: https://github.com/twbs/bootstrap/issues/25195\n\n@mixin hover {\n &:hover { @content; }\n}\n\n@mixin hover-focus {\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin plain-hover-focus {\n &,\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin hover-focus-active {\n &:hover,\n &:focus,\n &:active {\n @content;\n }\n}\n","// stylelint-disable declaration-no-important, selector-list-comma-newline-after\n\n//\n// Headings\n//\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n margin-bottom: $headings-margin-bottom;\n font-family: $headings-font-family;\n font-weight: $headings-font-weight;\n line-height: $headings-line-height;\n color: $headings-color;\n}\n\nh1, .h1 { font-size: $h1-font-size; }\nh2, .h2 { font-size: $h2-font-size; }\nh3, .h3 { font-size: $h3-font-size; }\nh4, .h4 { font-size: $h4-font-size; }\nh5, .h5 { font-size: $h5-font-size; }\nh6, .h6 { font-size: $h6-font-size; }\n\n.lead {\n font-size: $lead-font-size;\n font-weight: $lead-font-weight;\n}\n\n// Type display classes\n.display-1 {\n font-size: $display1-size;\n font-weight: $display1-weight;\n line-height: $display-line-height;\n}\n.display-2 {\n font-size: $display2-size;\n font-weight: $display2-weight;\n line-height: $display-line-height;\n}\n.display-3 {\n font-size: $display3-size;\n font-weight: $display3-weight;\n line-height: $display-line-height;\n}\n.display-4 {\n font-size: $display4-size;\n font-weight: $display4-weight;\n line-height: $display-line-height;\n}\n\n\n//\n// Horizontal rules\n//\n\nhr {\n margin-top: $hr-margin-y;\n margin-bottom: $hr-margin-y;\n border: 0;\n border-top: $hr-border-width solid $hr-border-color;\n}\n\n\n//\n// Emphasis\n//\n\nsmall,\n.small {\n font-size: $small-font-size;\n font-weight: $font-weight-normal;\n}\n\nmark,\n.mark {\n padding: $mark-padding;\n background-color: $mark-bg;\n}\n\n\n//\n// Lists\n//\n\n.list-unstyled {\n @include list-unstyled;\n}\n\n// Inline turns list items into inline-block\n.list-inline {\n @include list-unstyled;\n}\n.list-inline-item {\n display: inline-block;\n\n &:not(:last-child) {\n margin-right: $list-inline-padding;\n }\n}\n\n\n//\n// Misc\n//\n\n// Builds on `abbr`\n.initialism {\n font-size: 90%;\n text-transform: uppercase;\n}\n\n// Blockquotes\n.blockquote {\n margin-bottom: $spacer;\n font-size: $blockquote-font-size;\n}\n\n.blockquote-footer {\n display: block;\n font-size: 80%; // back to default font-size\n color: $blockquote-small-color;\n\n &::before {\n content: \"\\2014 \\00A0\"; // em dash, nbsp\n }\n}\n","// Lists\n\n// Unstyled keeps list items block level, just removes default browser padding and list-style\n@mixin list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n","// Responsive images (ensure images don't scale beyond their parents)\n//\n// This is purposefully opt-in via an explicit class rather than being the default for all ``s.\n// We previously tried the \"images are responsive by default\" approach in Bootstrap v2,\n// and abandoned it in Bootstrap v3 because it breaks lots of third-party widgets (including Google Maps)\n// which weren't expecting the images within themselves to be involuntarily resized.\n// See also https://github.com/twbs/bootstrap/issues/18178\n.img-fluid {\n @include img-fluid;\n}\n\n\n// Image thumbnails\n.img-thumbnail {\n padding: $thumbnail-padding;\n background-color: $thumbnail-bg;\n border: $thumbnail-border-width solid $thumbnail-border-color;\n @include border-radius($thumbnail-border-radius);\n @include box-shadow($thumbnail-box-shadow);\n\n // Keep them at most 100% wide\n @include img-fluid;\n}\n\n//\n// Figures\n//\n\n.figure {\n // Ensures the caption's text aligns with the image.\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: ($spacer / 2);\n line-height: 1;\n}\n\n.figure-caption {\n font-size: $figure-caption-font-size;\n color: $figure-caption-color;\n}\n","// Image Mixins\n// - Responsive image\n// - Retina image\n\n\n// Responsive image\n//\n// Keep images from scaling beyond the width of their parents.\n\n@mixin img-fluid {\n // Part 1: Set a maximum relative to the parent\n max-width: 100%;\n // Part 2: Override the height to auto, otherwise images will be stretched\n // when setting a width and height attribute on the img element.\n height: auto;\n}\n\n\n// Retina image\n//\n// Short retina mixin for setting background-image and -size.\n\n// stylelint-disable indentation, media-query-list-comma-newline-after\n@mixin img-retina($file-1x, $file-2x, $width-1x, $height-1x) {\n background-image: url($file-1x);\n\n // Autoprefixer takes care of adding -webkit-min-device-pixel-ratio and -o-min-device-pixel-ratio,\n // but doesn't convert dppx=>dpi.\n // There's no such thing as unprefixed min-device-pixel-ratio since it's nonstandard.\n // Compatibility info: https://caniuse.com/#feat=css-media-resolution\n @media only screen and (min-resolution: 192dpi), // IE9-11 don't support dppx\n only screen and (min-resolution: 2dppx) { // Standardized\n background-image: url($file-2x);\n background-size: $width-1x $height-1x;\n }\n}\n","// Single side border-radius\n\n@mixin border-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-radius: $radius;\n }\n}\n\n@mixin border-top-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: $radius;\n border-top-right-radius: $radius;\n }\n}\n\n@mixin border-right-radius($radius) {\n @if $enable-rounded {\n border-top-right-radius: $radius;\n border-bottom-right-radius: $radius;\n }\n}\n\n@mixin border-bottom-radius($radius) {\n @if $enable-rounded {\n border-bottom-right-radius: $radius;\n border-bottom-left-radius: $radius;\n }\n}\n\n@mixin border-left-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: $radius;\n border-bottom-left-radius: $radius;\n }\n}\n","// Inline code\ncode {\n font-size: $code-font-size;\n color: $code-color;\n word-break: break-word;\n\n // Streamline the style when inside anchors to avoid broken underline and more\n a > & {\n color: inherit;\n }\n}\n\n// User input typically entered via keyboard\nkbd {\n padding: $kbd-padding-y $kbd-padding-x;\n font-size: $kbd-font-size;\n color: $kbd-color;\n background-color: $kbd-bg;\n @include border-radius($border-radius-sm);\n @include box-shadow($kbd-box-shadow);\n\n kbd {\n padding: 0;\n font-size: 100%;\n font-weight: $nested-kbd-font-weight;\n @include box-shadow(none);\n }\n}\n\n// Blocks of code\npre {\n display: block;\n font-size: $code-font-size;\n color: $pre-color;\n\n // Account for some code outputs that place code tags in pre tags\n code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n }\n}\n\n// Enable scrollable blocks of code\n.pre-scrollable {\n max-height: $pre-scrollable-max-height;\n overflow-y: scroll;\n}\n","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n .container {\n @include make-container();\n @include make-container-max-widths();\n }\n}\n\n// Fluid container\n//\n// Utilizes the mixin meant for fixed width containers, but with 100% width for\n// fluid, full width layouts.\n\n@if $enable-grid-classes {\n .container-fluid {\n @include make-container();\n }\n}\n\n// Row\n//\n// Rows contain and clear the floats of your columns.\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n }\n\n // Remove the negative margin from default .row, then the horizontal padding\n // from all immediate children columns (to prevent runaway style inheritance).\n .no-gutters {\n margin-right: 0;\n margin-left: 0;\n\n > .col,\n > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n }\n }\n}\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-container() {\n width: 100%;\n padding-right: ($grid-gutter-width / 2);\n padding-left: ($grid-gutter-width / 2);\n margin-right: auto;\n margin-left: auto;\n}\n\n\n// For each breakpoint, define the maximum width of the container in a media query\n@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {\n @each $breakpoint, $container-max-width in $max-widths {\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n max-width: $container-max-width;\n }\n }\n}\n\n@mixin make-row() {\n display: flex;\n flex-wrap: wrap;\n margin-right: ($grid-gutter-width / -2);\n margin-left: ($grid-gutter-width / -2);\n}\n\n@mixin make-col-ready() {\n position: relative;\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we use `flex` values\n // later on to override this initial width.\n width: 100%;\n min-height: 1px; // Prevent collapsing\n padding-right: ($grid-gutter-width / 2);\n padding-left: ($grid-gutter-width / 2);\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n flex: 0 0 percentage($size / $columns);\n // Add a `max-width` to ensure content within each column does not blow out\n // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari\n // do not appear to require this.\n max-width: percentage($size / $columns);\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: $size / $columns;\n margin-left: if($num == 0, 0, percentage($num));\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.02px\n// to work around the limitations of `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - .02px, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $max: breakpoint-max($name, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($name, $breakpoints) {\n @content;\n }\n }\n}\n","// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n // Common properties for all breakpoints\n %grid-column {\n position: relative;\n width: 100%;\n min-height: 1px; // Prevent columns from collapsing when empty\n padding-right: ($gutter / 2);\n padding-left: ($gutter / 2);\n }\n\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n // Allow columns to stretch full width below their breakpoints\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @extend %grid-column;\n }\n }\n .col#{$infix},\n .col#{$infix}-auto {\n @extend %grid-column;\n }\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col#{$infix}-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none; // Reset earlier grid tiers\n }\n\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n\n .order#{$infix}-first { order: -1; }\n\n .order#{$infix}-last { order: $columns + 1; }\n\n @for $i from 0 through $columns {\n .order#{$infix}-#{$i} { order: $i; }\n }\n\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n }\n}\n","//\n// Basic Bootstrap table\n//\n\n.table {\n width: 100%;\n margin-bottom: $spacer;\n background-color: $table-bg; // Reset for nesting within parents with `background-color`.\n\n th,\n td {\n padding: $table-cell-padding;\n vertical-align: top;\n border-top: $table-border-width solid $table-border-color;\n }\n\n thead th {\n vertical-align: bottom;\n border-bottom: (2 * $table-border-width) solid $table-border-color;\n }\n\n tbody + tbody {\n border-top: (2 * $table-border-width) solid $table-border-color;\n }\n\n .table {\n background-color: $body-bg;\n }\n}\n\n\n//\n// Condensed table w/ half padding\n//\n\n.table-sm {\n th,\n td {\n padding: $table-cell-padding-sm;\n }\n}\n\n\n// Border versions\n//\n// Add or remove borders all around the table and between all the columns.\n\n.table-bordered {\n border: $table-border-width solid $table-border-color;\n\n th,\n td {\n border: $table-border-width solid $table-border-color;\n }\n\n thead {\n th,\n td {\n border-bottom-width: (2 * $table-border-width);\n }\n }\n}\n\n.table-borderless {\n th,\n td,\n thead th,\n tbody + tbody {\n border: 0;\n }\n}\n\n// Zebra-striping\n//\n// Default zebra-stripe styles (alternating gray and transparent backgrounds)\n\n.table-striped {\n tbody tr:nth-of-type(#{$table-striped-order}) {\n background-color: $table-accent-bg;\n }\n}\n\n\n// Hover effect\n//\n// Placed here since it has to come after the potential zebra striping\n\n.table-hover {\n tbody tr {\n @include hover {\n background-color: $table-hover-bg;\n }\n }\n}\n\n\n// Table backgrounds\n//\n// Exact selectors below required to override `.table-striped` and prevent\n// inheritance to nested tables.\n\n@each $color, $value in $theme-colors {\n @include table-row-variant($color, theme-color-level($color, -9));\n}\n\n@include table-row-variant(active, $table-active-bg);\n\n\n// Dark styles\n//\n// Same table markup, but inverted color scheme: dark background and light text.\n\n// stylelint-disable-next-line no-duplicate-selectors\n.table {\n .thead-dark {\n th {\n color: $table-dark-color;\n background-color: $table-dark-bg;\n border-color: $table-dark-border-color;\n }\n }\n\n .thead-light {\n th {\n color: $table-head-color;\n background-color: $table-head-bg;\n border-color: $table-border-color;\n }\n }\n}\n\n.table-dark {\n color: $table-dark-color;\n background-color: $table-dark-bg;\n\n th,\n td,\n thead th {\n border-color: $table-dark-border-color;\n }\n\n &.table-bordered {\n border: 0;\n }\n\n &.table-striped {\n tbody tr:nth-of-type(odd) {\n background-color: $table-dark-accent-bg;\n }\n }\n\n &.table-hover {\n tbody tr {\n @include hover {\n background-color: $table-dark-hover-bg;\n }\n }\n }\n}\n\n\n// Responsive tables\n//\n// Generate series of `.table-responsive-*` classes for configuring the screen\n// size of where your table will overflow.\n\n.table-responsive {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $next: breakpoint-next($breakpoint, $grid-breakpoints);\n $infix: breakpoint-infix($next, $grid-breakpoints);\n\n &#{$infix} {\n @include media-breakpoint-down($breakpoint) {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n -ms-overflow-style: -ms-autohiding-scrollbar; // See https://github.com/twbs/bootstrap/pull/10057\n\n // Prevent double border on horizontal scroll due to use of `display: block;`\n > .table-bordered {\n border: 0;\n }\n }\n }\n }\n}\n","// Tables\n\n@mixin table-row-variant($state, $background) {\n // Exact selectors below required to override `.table-striped` and prevent\n // inheritance to nested tables.\n .table-#{$state} {\n &,\n > th,\n > td {\n background-color: $background;\n }\n }\n\n // Hover states for `.table-hover`\n // Note: this is not available for cells or rows within `thead` or `tfoot`.\n .table-hover {\n $hover-background: darken($background, 5%);\n\n .table-#{$state} {\n @include hover {\n background-color: $hover-background;\n\n > td,\n > th {\n background-color: $hover-background;\n }\n }\n }\n }\n}\n","// Bootstrap functions\n//\n// Utility mixins and functions for evaluating source code across our variables, maps, and mixins.\n\n// Ascending\n// Used to evaluate Sass maps like our grid breakpoints.\n@mixin _assert-ascending($map, $map-name) {\n $prev-key: null;\n $prev-num: null;\n @each $key, $num in $map {\n @if $prev-num == null {\n // Do nothing\n } @else if not comparable($prev-num, $num) {\n @warn \"Potentially invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} whose unit makes it incomparable to #{$prev-num}, the value of the previous key '#{$prev-key}' !\";\n } @else if $prev-num >= $num {\n @warn \"Invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} which isn't greater than #{$prev-num}, the value of the previous key '#{$prev-key}' !\";\n }\n $prev-key: $key;\n $prev-num: $num;\n }\n}\n\n// Starts at zero\n// Another grid mixin that ensures the min-width of the lowest breakpoint starts at 0.\n@mixin _assert-starts-at-zero($map) {\n $values: map-values($map);\n $first-value: nth($values, 1);\n @if $first-value != 0 {\n @warn \"First breakpoint in `$grid-breakpoints` must start at 0, but starts at #{$first-value}.\";\n }\n}\n\n// Replace `$search` with `$replace` in `$string`\n// Used on our SVG icon backgrounds for custom forms.\n//\n// @author Hugo Giraudel\n// @param {String} $string - Initial string\n// @param {String} $search - Substring to replace\n// @param {String} $replace ('') - New value\n// @return {String} - Updated string\n@function str-replace($string, $search, $replace: \"\") {\n $index: str-index($string, $search);\n\n @if $index {\n @return str-slice($string, 1, $index - 1) + $replace + str-replace(str-slice($string, $index + str-length($search)), $search, $replace);\n }\n\n @return $string;\n}\n\n// Color contrast\n@function color-yiq($color) {\n $r: red($color);\n $g: green($color);\n $b: blue($color);\n\n $yiq: (($r * 299) + ($g * 587) + ($b * 114)) / 1000;\n\n @if ($yiq >= $yiq-contrasted-threshold) {\n @return $yiq-text-dark;\n } @else {\n @return $yiq-text-light;\n }\n}\n\n// Retrieve color Sass maps\n@function color($key: \"blue\") {\n @return map-get($colors, $key);\n}\n\n@function theme-color($key: \"primary\") {\n @return map-get($theme-colors, $key);\n}\n\n@function gray($key: \"100\") {\n @return map-get($grays, $key);\n}\n\n// Request a theme color level\n@function theme-color-level($color-name: \"primary\", $level: 0) {\n $color: theme-color($color-name);\n $color-base: if($level > 0, $black, $white);\n $level: abs($level);\n\n @return mix($color-base, $color, $level * $theme-color-interval);\n}\n","// stylelint-disable selector-no-qualifying-type\n\n//\n// Textual form controls\n//\n\n.form-control {\n display: block;\n width: 100%;\n height: $input-height;\n padding: $input-padding-y $input-padding-x;\n font-size: $font-size-base;\n line-height: $input-line-height;\n color: $input-color;\n background-color: $input-bg;\n background-clip: padding-box;\n border: $input-border-width solid $input-border-color;\n\n // Note: This has no effect on `s in CSS.\n @if $enable-rounded {\n // Manually use the if/else instead of the mixin to account for iOS override\n border-radius: $input-border-radius;\n } @else {\n // Otherwise undo the iOS default\n border-radius: 0;\n }\n\n @include box-shadow($input-box-shadow);\n @include transition($input-transition);\n\n // Unstyle the caret on ` receives focus\n // in IE and (under certain conditions) Edge, as it looks bad and cannot be made to\n // match the appearance of the native widget.\n // See https://github.com/twbs/bootstrap/issues/19398.\n color: $input-color;\n background-color: $input-bg;\n }\n}\n\n// Make file inputs better match text inputs by forcing them to new lines.\n.form-control-file,\n.form-control-range {\n display: block;\n width: 100%;\n}\n\n\n//\n// Labels\n//\n\n// For use with horizontal and inline forms, when you need the label (or legend)\n// text to align with the form controls.\n.col-form-label {\n padding-top: calc(#{$input-padding-y} + #{$input-border-width});\n padding-bottom: calc(#{$input-padding-y} + #{$input-border-width});\n margin-bottom: 0; // Override the `
',trigger:"hover focus",title:"",delay:0,html:!(Ie={AUTO:"auto",TOP:"top",RIGHT:"right",BOTTOM:"bottom",LEFT:"left"}),selector:!(Se={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"(number|string)",container:"(string|element|boolean)",fallbackPlacement:"(string|array)",boundary:"(string|element)"}),placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent"},we="out",Ne={HIDE:"hide"+Ee,HIDDEN:"hidden"+Ee,SHOW:(De="show")+Ee,SHOWN:"shown"+Ee,INSERTED:"inserted"+Ee,CLICK:"click"+Ee,FOCUSIN:"focusin"+Ee,FOCUSOUT:"focusout"+Ee,MOUSEENTER:"mouseenter"+Ee,MOUSELEAVE:"mouseleave"+Ee},Oe="fade",ke="show",Pe=".tooltip-inner",je=".arrow",He="hover",Le="focus",Re="click",xe="manual",We=function(){function i(t,e){if("undefined"==typeof h)throw new TypeError("Bootstrap tooltips require Popper.js (https://popper.js.org)");this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.element=t,this.config=this._getConfig(e),this.tip=null,this._setListeners()}var t=i.prototype;return t.enable=function(){this._isEnabled=!0},t.disable=function(){this._isEnabled=!1},t.toggleEnabled=function(){this._isEnabled=!this._isEnabled},t.toggle=function(t){if(this._isEnabled)if(t){var e=this.constructor.DATA_KEY,n=pe(t.currentTarget).data(e);n||(n=new this.constructor(t.currentTarget,this._getDelegateConfig()),pe(t.currentTarget).data(e,n)),n._activeTrigger.click=!n._activeTrigger.click,n._isWithActiveTrigger()?n._enter(null,n):n._leave(null,n)}else{if(pe(this.getTipElement()).hasClass(ke))return void this._leave(null,this);this._enter(null,this)}},t.dispose=function(){clearTimeout(this._timeout),pe.removeData(this.element,this.constructor.DATA_KEY),pe(this.element).off(this.constructor.EVENT_KEY),pe(this.element).closest(".modal").off("hide.bs.modal"),this.tip&&pe(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,(this._activeTrigger=null)!==this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},t.show=function(){var e=this;if("none"===pe(this.element).css("display"))throw new Error("Please use show on visible elements");var t=pe.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){pe(this.element).trigger(t);var n=pe.contains(this.element.ownerDocument.documentElement,this.element);if(t.isDefaultPrevented()||!n)return;var i=this.getTipElement(),r=Fn.getUID(this.constructor.NAME);i.setAttribute("id",r),this.element.setAttribute("aria-describedby",r),this.setContent(),this.config.animation&&pe(i).addClass(Oe);var o="function"==typeof this.config.placement?this.config.placement.call(this,i,this.element):this.config.placement,s=this._getAttachment(o);this.addAttachmentClass(s);var a=!1===this.config.container?document.body:pe(document).find(this.config.container);pe(i).data(this.constructor.DATA_KEY,this),pe.contains(this.element.ownerDocument.documentElement,this.tip)||pe(i).appendTo(a),pe(this.element).trigger(this.constructor.Event.INSERTED),this._popper=new h(this.element,i,{placement:s,modifiers:{offset:{offset:this.config.offset},flip:{behavior:this.config.fallbackPlacement},arrow:{element:je},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(t){t.originalPlacement!==t.placement&&e._handlePopperPlacementChange(t)},onUpdate:function(t){e._handlePopperPlacementChange(t)}}),pe(i).addClass(ke),"ontouchstart"in document.documentElement&&pe(document.body).children().on("mouseover",null,pe.noop);var l=function(){e.config.animation&&e._fixTransition();var t=e._hoverState;e._hoverState=null,pe(e.element).trigger(e.constructor.Event.SHOWN),t===we&&e._leave(null,e)};if(pe(this.tip).hasClass(Oe)){var c=Fn.getTransitionDurationFromElement(this.tip);pe(this.tip).one(Fn.TRANSITION_END,l).emulateTransitionEnd(c)}else l()}},t.hide=function(t){var e=this,n=this.getTipElement(),i=pe.Event(this.constructor.Event.HIDE),r=function(){e._hoverState!==De&&n.parentNode&&n.parentNode.removeChild(n),e._cleanTipClass(),e.element.removeAttribute("aria-describedby"),pe(e.element).trigger(e.constructor.Event.HIDDEN),null!==e._popper&&e._popper.destroy(),t&&t()};if(pe(this.element).trigger(i),!i.isDefaultPrevented()){if(pe(n).removeClass(ke),"ontouchstart"in document.documentElement&&pe(document.body).children().off("mouseover",null,pe.noop),this._activeTrigger[Re]=!1,this._activeTrigger[Le]=!1,this._activeTrigger[He]=!1,pe(this.tip).hasClass(Oe)){var o=Fn.getTransitionDurationFromElement(n);pe(n).one(Fn.TRANSITION_END,r).emulateTransitionEnd(o)}else r();this._hoverState=""}},t.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},t.isWithContent=function(){return Boolean(this.getTitle())},t.addAttachmentClass=function(t){pe(this.getTipElement()).addClass(Te+"-"+t)},t.getTipElement=function(){return this.tip=this.tip||pe(this.config.template)[0],this.tip},t.setContent=function(){var t=this.getTipElement();this.setElementContent(pe(t.querySelectorAll(Pe)),this.getTitle()),pe(t).removeClass(Oe+" "+ke)},t.setElementContent=function(t,e){var n=this.config.html;"object"==typeof e&&(e.nodeType||e.jquery)?n?pe(e).parent().is(t)||t.empty().append(e):t.text(pe(e).text()):t[n?"html":"text"](e)},t.getTitle=function(){var t=this.element.getAttribute("data-original-title");return t||(t="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),t},t._getAttachment=function(t){return Ie[t.toUpperCase()]},t._setListeners=function(){var i=this;this.config.trigger.split(" ").forEach(function(t){if("click"===t)pe(i.element).on(i.constructor.Event.CLICK,i.config.selector,function(t){return i.toggle(t)});else if(t!==xe){var e=t===He?i.constructor.Event.MOUSEENTER:i.constructor.Event.FOCUSIN,n=t===He?i.constructor.Event.MOUSELEAVE:i.constructor.Event.FOCUSOUT;pe(i.element).on(e,i.config.selector,function(t){return i._enter(t)}).on(n,i.config.selector,function(t){return i._leave(t)})}pe(i.element).closest(".modal").on("hide.bs.modal",function(){return i.hide()})}),this.config.selector?this.config=l({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},t._fixTitle=function(){var t=typeof this.element.getAttribute("data-original-title");(this.element.getAttribute("title")||"string"!==t)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},t._enter=function(t,e){var n=this.constructor.DATA_KEY;(e=e||pe(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),pe(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusin"===t.type?Le:He]=!0),pe(e.getTipElement()).hasClass(ke)||e._hoverState===De?e._hoverState=De:(clearTimeout(e._timeout),e._hoverState=De,e.config.delay&&e.config.delay.show?e._timeout=setTimeout(function(){e._hoverState===De&&e.show()},e.config.delay.show):e.show())},t._leave=function(t,e){var n=this.constructor.DATA_KEY;(e=e||pe(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),pe(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusout"===t.type?Le:He]=!1),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState=we,e.config.delay&&e.config.delay.hide?e._timeout=setTimeout(function(){e._hoverState===we&&e.hide()},e.config.delay.hide):e.hide())},t._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},t._getConfig=function(t){return"number"==typeof(t=l({},this.constructor.Default,pe(this.element).data(),"object"==typeof t&&t?t:{})).delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),Fn.typeCheckConfig(ve,t,this.constructor.DefaultType),t},t._getDelegateConfig=function(){var t={};if(this.config)for(var e in this.config)this.constructor.Default[e]!==this.config[e]&&(t[e]=this.config[e]);return t},t._cleanTipClass=function(){var t=pe(this.getTipElement()),e=t.attr("class").match(be);null!==e&&e.length&&t.removeClass(e.join(""))},t._handlePopperPlacementChange=function(t){var e=t.instance;this.tip=e.popper,this._cleanTipClass(),this.addAttachmentClass(this._getAttachment(t.placement))},t._fixTransition=function(){var t=this.getTipElement(),e=this.config.animation;null===t.getAttribute("x-placement")&&(pe(t).removeClass(Oe),this.config.animation=!1,this.hide(),this.show(),this.config.animation=e)},i._jQueryInterface=function(n){return this.each(function(){var t=pe(this).data(ye),e="object"==typeof n&&n;if((t||!/dispose|hide/.test(n))&&(t||(t=new i(this,e),pe(this).data(ye,t)),"string"==typeof n)){if("undefined"==typeof t[n])throw new TypeError('No method named "'+n+'"');t[n]()}})},s(i,null,[{key:"VERSION",get:function(){return"4.1.3"}},{key:"Default",get:function(){return Ae}},{key:"NAME",get:function(){return ve}},{key:"DATA_KEY",get:function(){return ye}},{key:"Event",get:function(){return Ne}},{key:"EVENT_KEY",get:function(){return Ee}},{key:"DefaultType",get:function(){return Se}}]),i}(),pe.fn[ve]=We._jQueryInterface,pe.fn[ve].Constructor=We,pe.fn[ve].noConflict=function(){return pe.fn[ve]=Ce,We._jQueryInterface},We),Jn=(qe="popover",Ke="."+(Fe="bs.popover"),Me=(Ue=e).fn[qe],Qe="bs-popover",Be=new RegExp("(^|\\s)"+Qe+"\\S+","g"),Ve=l({},zn.Default,{placement:"right",trigger:"click",content:"",template:''}),Ye=l({},zn.DefaultType,{content:"(string|element|function)"}),ze="fade",Ze=".popover-header",Ge=".popover-body",$e={HIDE:"hide"+Ke,HIDDEN:"hidden"+Ke,SHOW:(Je="show")+Ke,SHOWN:"shown"+Ke,INSERTED:"inserted"+Ke,CLICK:"click"+Ke,FOCUSIN:"focusin"+Ke,FOCUSOUT:"focusout"+Ke,MOUSEENTER:"mouseenter"+Ke,MOUSELEAVE:"mouseleave"+Ke},Xe=function(t){var e,n;function i(){return t.apply(this,arguments)||this}n=t,(e=i).prototype=Object.create(n.prototype),(e.prototype.constructor=e).__proto__=n;var r=i.prototype;return r.isWithContent=function(){return this.getTitle()||this._getContent()},r.addAttachmentClass=function(t){Ue(this.getTipElement()).addClass(Qe+"-"+t)},r.getTipElement=function(){return this.tip=this.tip||Ue(this.config.template)[0],this.tip},r.setContent=function(){var t=Ue(this.getTipElement());this.setElementContent(t.find(Ze),this.getTitle());var e=this._getContent();"function"==typeof e&&(e=e.call(this.element)),this.setElementContent(t.find(Ge),e),t.removeClass(ze+" "+Je)},r._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},r._cleanTipClass=function(){var t=Ue(this.getTipElement()),e=t.attr("class").match(Be);null!==e&&0=this._offsets[r]&&("undefined"==typeof this._offsets[r+1]||t {\n /**\n * ------------------------------------------------------------------------\n * Private TransitionEnd Helpers\n * ------------------------------------------------------------------------\n */\n\n const TRANSITION_END = 'transitionend'\n const MAX_UID = 1000000\n const MILLISECONDS_MULTIPLIER = 1000\n\n // Shoutout AngusCroll (https://goo.gl/pxwQGp)\n function toType(obj) {\n return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase()\n }\n\n function getSpecialTransitionEndEvent() {\n return {\n bindType: TRANSITION_END,\n delegateType: TRANSITION_END,\n handle(event) {\n if ($(event.target).is(this)) {\n return event.handleObj.handler.apply(this, arguments) // eslint-disable-line prefer-rest-params\n }\n return undefined // eslint-disable-line no-undefined\n }\n }\n }\n\n function transitionEndEmulator(duration) {\n let called = false\n\n $(this).one(Util.TRANSITION_END, () => {\n called = true\n })\n\n setTimeout(() => {\n if (!called) {\n Util.triggerTransitionEnd(this)\n }\n }, duration)\n\n return this\n }\n\n function setTransitionEndSupport() {\n $.fn.emulateTransitionEnd = transitionEndEmulator\n $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent()\n }\n\n /**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\n const Util = {\n\n TRANSITION_END: 'bsTransitionEnd',\n\n getUID(prefix) {\n do {\n // eslint-disable-next-line no-bitwise\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n return prefix\n },\n\n getSelectorFromElement(element) {\n let selector = element.getAttribute('data-target')\n if (!selector || selector === '#') {\n selector = element.getAttribute('href') || ''\n }\n\n try {\n return document.querySelector(selector) ? selector : null\n } catch (err) {\n return null\n }\n },\n\n getTransitionDurationFromElement(element) {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let transitionDuration = $(element).css('transition-duration')\n const floatTransitionDuration = parseFloat(transitionDuration)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n\n return parseFloat(transitionDuration) * MILLISECONDS_MULTIPLIER\n },\n\n reflow(element) {\n return element.offsetHeight\n },\n\n triggerTransitionEnd(element) {\n $(element).trigger(TRANSITION_END)\n },\n\n // TODO: Remove in v5\n supportsTransitionEnd() {\n return Boolean(TRANSITION_END)\n },\n\n isElement(obj) {\n return (obj[0] || obj).nodeType\n },\n\n typeCheckConfig(componentName, config, configTypes) {\n for (const property in configTypes) {\n if (Object.prototype.hasOwnProperty.call(configTypes, property)) {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && Util.isElement(value)\n ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n }\n }\n }\n }\n\n setTransitionEndSupport()\n\n return Util\n})($)\n\nexport default Util\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Alert = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'alert'\n const VERSION = '4.1.3'\n const DATA_KEY = 'bs.alert'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const Selector = {\n DISMISS : '[data-dismiss=\"alert\"]'\n }\n\n const Event = {\n CLOSE : `close${EVENT_KEY}`,\n CLOSED : `closed${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n ALERT : 'alert',\n FADE : 'fade',\n SHOW : 'show'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Alert {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n close(element) {\n let rootElement = this._element\n if (element) {\n rootElement = this._getRootElement(element)\n }\n\n const customEvent = this._triggerCloseEvent(rootElement)\n\n if (customEvent.isDefaultPrevented()) {\n return\n }\n\n this._removeElement(rootElement)\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _getRootElement(element) {\n const selector = Util.getSelectorFromElement(element)\n let parent = false\n\n if (selector) {\n parent = document.querySelector(selector)\n }\n\n if (!parent) {\n parent = $(element).closest(`.${ClassName.ALERT}`)[0]\n }\n\n return parent\n }\n\n _triggerCloseEvent(element) {\n const closeEvent = $.Event(Event.CLOSE)\n\n $(element).trigger(closeEvent)\n return closeEvent\n }\n\n _removeElement(element) {\n $(element).removeClass(ClassName.SHOW)\n\n if (!$(element).hasClass(ClassName.FADE)) {\n this._destroyElement(element)\n return\n }\n\n const transitionDuration = Util.getTransitionDurationFromElement(element)\n\n $(element)\n .one(Util.TRANSITION_END, (event) => this._destroyElement(element, event))\n .emulateTransitionEnd(transitionDuration)\n }\n\n _destroyElement(element) {\n $(element)\n .detach()\n .trigger(Event.CLOSED)\n .remove()\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new Alert(this)\n $element.data(DATA_KEY, data)\n }\n\n if (config === 'close') {\n data[config](this)\n }\n })\n }\n\n static _handleDismiss(alertInstance) {\n return function (event) {\n if (event) {\n event.preventDefault()\n }\n\n alertInstance.close(this)\n }\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document).on(\n Event.CLICK_DATA_API,\n Selector.DISMISS,\n Alert._handleDismiss(new Alert())\n )\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Alert._jQueryInterface\n $.fn[NAME].Constructor = Alert\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Alert._jQueryInterface\n }\n\n return Alert\n})($)\n\nexport default Alert\n","import $ from 'jquery'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Button = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'button'\n const VERSION = '4.1.3'\n const DATA_KEY = 'bs.button'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const ClassName = {\n ACTIVE : 'active',\n BUTTON : 'btn',\n FOCUS : 'focus'\n }\n\n const Selector = {\n DATA_TOGGLE_CARROT : '[data-toggle^=\"button\"]',\n DATA_TOGGLE : '[data-toggle=\"buttons\"]',\n INPUT : 'input',\n ACTIVE : '.active',\n BUTTON : '.btn'\n }\n\n const Event = {\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`,\n FOCUS_BLUR_DATA_API : `focus${EVENT_KEY}${DATA_API_KEY} ` +\n `blur${EVENT_KEY}${DATA_API_KEY}`\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Button {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n toggle() {\n let triggerChangeEvent = true\n let addAriaPressed = true\n const rootElement = $(this._element).closest(\n Selector.DATA_TOGGLE\n )[0]\n\n if (rootElement) {\n const input = this._element.querySelector(Selector.INPUT)\n\n if (input) {\n if (input.type === 'radio') {\n if (input.checked &&\n this._element.classList.contains(ClassName.ACTIVE)) {\n triggerChangeEvent = false\n } else {\n const activeElement = rootElement.querySelector(Selector.ACTIVE)\n\n if (activeElement) {\n $(activeElement).removeClass(ClassName.ACTIVE)\n }\n }\n }\n\n if (triggerChangeEvent) {\n if (input.hasAttribute('disabled') ||\n rootElement.hasAttribute('disabled') ||\n input.classList.contains('disabled') ||\n rootElement.classList.contains('disabled')) {\n return\n }\n input.checked = !this._element.classList.contains(ClassName.ACTIVE)\n $(input).trigger('change')\n }\n\n input.focus()\n addAriaPressed = false\n }\n }\n\n if (addAriaPressed) {\n this._element.setAttribute('aria-pressed',\n !this._element.classList.contains(ClassName.ACTIVE))\n }\n\n if (triggerChangeEvent) {\n $(this._element).toggleClass(ClassName.ACTIVE)\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n\n if (!data) {\n data = new Button(this)\n $(this).data(DATA_KEY, data)\n }\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {\n event.preventDefault()\n\n let button = event.target\n\n if (!$(button).hasClass(ClassName.BUTTON)) {\n button = $(button).closest(Selector.BUTTON)\n }\n\n Button._jQueryInterface.call($(button), 'toggle')\n })\n .on(Event.FOCUS_BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {\n const button = $(event.target).closest(Selector.BUTTON)[0]\n $(button).toggleClass(ClassName.FOCUS, /^focus(in)?$/.test(event.type))\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Button._jQueryInterface\n $.fn[NAME].Constructor = Button\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Button._jQueryInterface\n }\n\n return Button\n})($)\n\nexport default Button\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Carousel = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'carousel'\n const VERSION = '4.1.3'\n const DATA_KEY = 'bs.carousel'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const ARROW_LEFT_KEYCODE = 37 // KeyboardEvent.which value for left arrow key\n const ARROW_RIGHT_KEYCODE = 39 // KeyboardEvent.which value for right arrow key\n const TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\n\n const Default = {\n interval : 5000,\n keyboard : true,\n slide : false,\n pause : 'hover',\n wrap : true\n }\n\n const DefaultType = {\n interval : '(number|boolean)',\n keyboard : 'boolean',\n slide : '(boolean|string)',\n pause : '(string|boolean)',\n wrap : 'boolean'\n }\n\n const Direction = {\n NEXT : 'next',\n PREV : 'prev',\n LEFT : 'left',\n RIGHT : 'right'\n }\n\n const Event = {\n SLIDE : `slide${EVENT_KEY}`,\n SLID : `slid${EVENT_KEY}`,\n KEYDOWN : `keydown${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`,\n TOUCHEND : `touchend${EVENT_KEY}`,\n LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n CAROUSEL : 'carousel',\n ACTIVE : 'active',\n SLIDE : 'slide',\n RIGHT : 'carousel-item-right',\n LEFT : 'carousel-item-left',\n NEXT : 'carousel-item-next',\n PREV : 'carousel-item-prev',\n ITEM : 'carousel-item'\n }\n\n const Selector = {\n ACTIVE : '.active',\n ACTIVE_ITEM : '.active.carousel-item',\n ITEM : '.carousel-item',\n NEXT_PREV : '.carousel-item-next, .carousel-item-prev',\n INDICATORS : '.carousel-indicators',\n DATA_SLIDE : '[data-slide], [data-slide-to]',\n DATA_RIDE : '[data-ride=\"carousel\"]'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Carousel {\n constructor(element, config) {\n this._items = null\n this._interval = null\n this._activeElement = null\n\n this._isPaused = false\n this._isSliding = false\n\n this.touchTimeout = null\n\n this._config = this._getConfig(config)\n this._element = $(element)[0]\n this._indicatorsElement = this._element.querySelector(Selector.INDICATORS)\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n next() {\n if (!this._isSliding) {\n this._slide(Direction.NEXT)\n }\n }\n\n nextWhenVisible() {\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden &&\n ($(this._element).is(':visible') && $(this._element).css('visibility') !== 'hidden')) {\n this.next()\n }\n }\n\n prev() {\n if (!this._isSliding) {\n this._slide(Direction.PREV)\n }\n }\n\n pause(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if (this._element.querySelector(Selector.NEXT_PREV)) {\n Util.triggerTransitionEnd(this._element)\n this.cycle(true)\n }\n\n clearInterval(this._interval)\n this._interval = null\n }\n\n cycle(event) {\n if (!event) {\n this._isPaused = false\n }\n\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n\n if (this._config.interval && !this._isPaused) {\n this._interval = setInterval(\n (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\n this._config.interval\n )\n }\n }\n\n to(index) {\n this._activeElement = this._element.querySelector(Selector.ACTIVE_ITEM)\n\n const activeIndex = this._getItemIndex(this._activeElement)\n\n if (index > this._items.length - 1 || index < 0) {\n return\n }\n\n if (this._isSliding) {\n $(this._element).one(Event.SLID, () => this.to(index))\n return\n }\n\n if (activeIndex === index) {\n this.pause()\n this.cycle()\n return\n }\n\n const direction = index > activeIndex\n ? Direction.NEXT\n : Direction.PREV\n\n this._slide(direction, this._items[index])\n }\n\n dispose() {\n $(this._element).off(EVENT_KEY)\n $.removeData(this._element, DATA_KEY)\n\n this._items = null\n this._config = null\n this._element = null\n this._interval = null\n this._isPaused = null\n this._isSliding = null\n this._activeElement = null\n this._indicatorsElement = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n $(this._element)\n .on(Event.KEYDOWN, (event) => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n $(this._element)\n .on(Event.MOUSEENTER, (event) => this.pause(event))\n .on(Event.MOUSELEAVE, (event) => this.cycle(event))\n if ('ontouchstart' in document.documentElement) {\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n $(this._element).on(Event.TOUCHEND, () => {\n this.pause()\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout)\n }\n this.touchTimeout = setTimeout((event) => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n })\n }\n }\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n switch (event.which) {\n case ARROW_LEFT_KEYCODE:\n event.preventDefault()\n this.prev()\n break\n case ARROW_RIGHT_KEYCODE:\n event.preventDefault()\n this.next()\n break\n default:\n }\n }\n\n _getItemIndex(element) {\n this._items = element && element.parentNode\n ? [].slice.call(element.parentNode.querySelectorAll(Selector.ITEM))\n : []\n return this._items.indexOf(element)\n }\n\n _getItemByDirection(direction, activeElement) {\n const isNextDirection = direction === Direction.NEXT\n const isPrevDirection = direction === Direction.PREV\n const activeIndex = this._getItemIndex(activeElement)\n const lastItemIndex = this._items.length - 1\n const isGoingToWrap = isPrevDirection && activeIndex === 0 ||\n isNextDirection && activeIndex === lastItemIndex\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement\n }\n\n const delta = direction === Direction.PREV ? -1 : 1\n const itemIndex = (activeIndex + delta) % this._items.length\n\n return itemIndex === -1\n ? this._items[this._items.length - 1] : this._items[itemIndex]\n }\n\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const targetIndex = this._getItemIndex(relatedTarget)\n const fromIndex = this._getItemIndex(this._element.querySelector(Selector.ACTIVE_ITEM))\n const slideEvent = $.Event(Event.SLIDE, {\n relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n })\n\n $(this._element).trigger(slideEvent)\n\n return slideEvent\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n const indicators = [].slice.call(this._indicatorsElement.querySelectorAll(Selector.ACTIVE))\n $(indicators)\n .removeClass(ClassName.ACTIVE)\n\n const nextIndicator = this._indicatorsElement.children[\n this._getItemIndex(element)\n ]\n\n if (nextIndicator) {\n $(nextIndicator).addClass(ClassName.ACTIVE)\n }\n }\n }\n\n _slide(direction, element) {\n const activeElement = this._element.querySelector(Selector.ACTIVE_ITEM)\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || activeElement &&\n this._getItemByDirection(direction, activeElement)\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n let directionalClassName\n let orderClassName\n let eventDirectionName\n\n if (direction === Direction.NEXT) {\n directionalClassName = ClassName.LEFT\n orderClassName = ClassName.NEXT\n eventDirectionName = Direction.LEFT\n } else {\n directionalClassName = ClassName.RIGHT\n orderClassName = ClassName.PREV\n eventDirectionName = Direction.RIGHT\n }\n\n if (nextElement && $(nextElement).hasClass(ClassName.ACTIVE)) {\n this._isSliding = false\n return\n }\n\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\n if (slideEvent.isDefaultPrevented()) {\n return\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n return\n }\n\n this._isSliding = true\n\n if (isCycling) {\n this.pause()\n }\n\n this._setActiveIndicatorElement(nextElement)\n\n const slidEvent = $.Event(Event.SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n\n if ($(this._element).hasClass(ClassName.SLIDE)) {\n $(nextElement).addClass(orderClassName)\n\n Util.reflow(nextElement)\n\n $(activeElement).addClass(directionalClassName)\n $(nextElement).addClass(directionalClassName)\n\n const transitionDuration = Util.getTransitionDurationFromElement(activeElement)\n\n $(activeElement)\n .one(Util.TRANSITION_END, () => {\n $(nextElement)\n .removeClass(`${directionalClassName} ${orderClassName}`)\n .addClass(ClassName.ACTIVE)\n\n $(activeElement).removeClass(`${ClassName.ACTIVE} ${orderClassName} ${directionalClassName}`)\n\n this._isSliding = false\n\n setTimeout(() => $(this._element).trigger(slidEvent), 0)\n })\n .emulateTransitionEnd(transitionDuration)\n } else {\n $(activeElement).removeClass(ClassName.ACTIVE)\n $(nextElement).addClass(ClassName.ACTIVE)\n\n this._isSliding = false\n $(this._element).trigger(slidEvent)\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n let _config = {\n ...Default,\n ...$(this).data()\n }\n\n if (typeof config === 'object') {\n _config = {\n ..._config,\n ...config\n }\n }\n\n const action = typeof config === 'string' ? config : _config.slide\n\n if (!data) {\n data = new Carousel(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'number') {\n data.to(config)\n } else if (typeof action === 'string') {\n if (typeof data[action] === 'undefined') {\n throw new TypeError(`No method named \"${action}\"`)\n }\n data[action]()\n } else if (_config.interval) {\n data.pause()\n data.cycle()\n }\n })\n }\n\n static _dataApiClickHandler(event) {\n const selector = Util.getSelectorFromElement(this)\n\n if (!selector) {\n return\n }\n\n const target = $(selector)[0]\n\n if (!target || !$(target).hasClass(ClassName.CAROUSEL)) {\n return\n }\n\n const config = {\n ...$(target).data(),\n ...$(this).data()\n }\n const slideIndex = this.getAttribute('data-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel._jQueryInterface.call($(target), config)\n\n if (slideIndex) {\n $(target).data(DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel._dataApiClickHandler)\n\n $(window).on(Event.LOAD_DATA_API, () => {\n const carousels = [].slice.call(document.querySelectorAll(Selector.DATA_RIDE))\n for (let i = 0, len = carousels.length; i < len; i++) {\n const $carousel = $(carousels[i])\n Carousel._jQueryInterface.call($carousel, $carousel.data())\n }\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Carousel._jQueryInterface\n $.fn[NAME].Constructor = Carousel\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Carousel._jQueryInterface\n }\n\n return Carousel\n})($)\n\nexport default Carousel\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Collapse = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'collapse'\n const VERSION = '4.1.3'\n const DATA_KEY = 'bs.collapse'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const Default = {\n toggle : true,\n parent : ''\n }\n\n const DefaultType = {\n toggle : 'boolean',\n parent : '(string|element)'\n }\n\n const Event = {\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n SHOW : 'show',\n COLLAPSE : 'collapse',\n COLLAPSING : 'collapsing',\n COLLAPSED : 'collapsed'\n }\n\n const Dimension = {\n WIDTH : 'width',\n HEIGHT : 'height'\n }\n\n const Selector = {\n ACTIVES : '.show, .collapsing',\n DATA_TOGGLE : '[data-toggle=\"collapse\"]'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Collapse {\n constructor(element, config) {\n this._isTransitioning = false\n this._element = element\n this._config = this._getConfig(config)\n this._triggerArray = $.makeArray(document.querySelectorAll(\n `[data-toggle=\"collapse\"][href=\"#${element.id}\"],` +\n `[data-toggle=\"collapse\"][data-target=\"#${element.id}\"]`\n ))\n const toggleList = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLE))\n for (let i = 0, len = toggleList.length; i < len; i++) {\n const elem = toggleList[i]\n const selector = Util.getSelectorFromElement(elem)\n const filterElement = [].slice.call(document.querySelectorAll(selector))\n .filter((foundElem) => foundElem === element)\n\n if (selector !== null && filterElement.length > 0) {\n this._selector = selector\n this._triggerArray.push(elem)\n }\n }\n\n this._parent = this._config.parent ? this._getParent() : null\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle() {\n if ($(this._element).hasClass(ClassName.SHOW)) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning ||\n $(this._element).hasClass(ClassName.SHOW)) {\n return\n }\n\n let actives\n let activesData\n\n if (this._parent) {\n actives = [].slice.call(this._parent.querySelectorAll(Selector.ACTIVES))\n .filter((elem) => elem.getAttribute('data-parent') === this._config.parent)\n\n if (actives.length === 0) {\n actives = null\n }\n }\n\n if (actives) {\n activesData = $(actives).not(this._selector).data(DATA_KEY)\n if (activesData && activesData._isTransitioning) {\n return\n }\n }\n\n const startEvent = $.Event(Event.SHOW)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n if (actives) {\n Collapse._jQueryInterface.call($(actives).not(this._selector), 'hide')\n if (!activesData) {\n $(actives).data(DATA_KEY, null)\n }\n }\n\n const dimension = this._getDimension()\n\n $(this._element)\n .removeClass(ClassName.COLLAPSE)\n .addClass(ClassName.COLLAPSING)\n\n this._element.style[dimension] = 0\n\n if (this._triggerArray.length) {\n $(this._triggerArray)\n .removeClass(ClassName.COLLAPSED)\n .attr('aria-expanded', true)\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n $(this._element)\n .removeClass(ClassName.COLLAPSING)\n .addClass(ClassName.COLLAPSE)\n .addClass(ClassName.SHOW)\n\n this._element.style[dimension] = ''\n\n this.setTransitioning(false)\n\n $(this._element).trigger(Event.SHOWN)\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning ||\n !$(this._element).hasClass(ClassName.SHOW)) {\n return\n }\n\n const startEvent = $.Event(Event.HIDE)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n Util.reflow(this._element)\n\n $(this._element)\n .addClass(ClassName.COLLAPSING)\n .removeClass(ClassName.COLLAPSE)\n .removeClass(ClassName.SHOW)\n\n const triggerArrayLength = this._triggerArray.length\n if (triggerArrayLength > 0) {\n for (let i = 0; i < triggerArrayLength; i++) {\n const trigger = this._triggerArray[i]\n const selector = Util.getSelectorFromElement(trigger)\n if (selector !== null) {\n const $elem = $([].slice.call(document.querySelectorAll(selector)))\n if (!$elem.hasClass(ClassName.SHOW)) {\n $(trigger).addClass(ClassName.COLLAPSED)\n .attr('aria-expanded', false)\n }\n }\n }\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this.setTransitioning(false)\n $(this._element)\n .removeClass(ClassName.COLLAPSING)\n .addClass(ClassName.COLLAPSE)\n .trigger(Event.HIDDEN)\n }\n\n this._element.style[dimension] = ''\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._parent = null\n this._element = null\n this._triggerArray = null\n this._isTransitioning = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n config.toggle = Boolean(config.toggle) // Coerce string values\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _getDimension() {\n const hasWidth = $(this._element).hasClass(Dimension.WIDTH)\n return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT\n }\n\n _getParent() {\n let parent = null\n if (Util.isElement(this._config.parent)) {\n parent = this._config.parent\n\n // It's a jQuery object\n if (typeof this._config.parent.jquery !== 'undefined') {\n parent = this._config.parent[0]\n }\n } else {\n parent = document.querySelector(this._config.parent)\n }\n\n const selector =\n `[data-toggle=\"collapse\"][data-parent=\"${this._config.parent}\"]`\n\n const children = [].slice.call(parent.querySelectorAll(selector))\n $(children).each((i, element) => {\n this._addAriaAndCollapsedClass(\n Collapse._getTargetFromElement(element),\n [element]\n )\n })\n\n return parent\n }\n\n _addAriaAndCollapsedClass(element, triggerArray) {\n if (element) {\n const isOpen = $(element).hasClass(ClassName.SHOW)\n\n if (triggerArray.length) {\n $(triggerArray)\n .toggleClass(ClassName.COLLAPSED, !isOpen)\n .attr('aria-expanded', isOpen)\n }\n }\n }\n\n // Static\n\n static _getTargetFromElement(element) {\n const selector = Util.getSelectorFromElement(element)\n return selector ? document.querySelector(selector) : null\n }\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $this = $(this)\n let data = $this.data(DATA_KEY)\n const _config = {\n ...Default,\n ...$this.data(),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data && _config.toggle && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n if (!data) {\n data = new Collapse(this, _config)\n $this.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n // preventDefault only for elements (which change the URL) not inside the collapsible element\n if (event.currentTarget.tagName === 'A') {\n event.preventDefault()\n }\n\n const $trigger = $(this)\n const selector = Util.getSelectorFromElement(this)\n const selectors = [].slice.call(document.querySelectorAll(selector))\n $(selectors).each(function () {\n const $target = $(this)\n const data = $target.data(DATA_KEY)\n const config = data ? 'toggle' : $trigger.data()\n Collapse._jQueryInterface.call($target, config)\n })\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Collapse._jQueryInterface\n $.fn[NAME].Constructor = Collapse\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Collapse._jQueryInterface\n }\n\n return Collapse\n})($)\n\nexport default Collapse\n","import $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Dropdown = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'dropdown'\n const VERSION = '4.1.3'\n const DATA_KEY = 'bs.dropdown'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n const SPACE_KEYCODE = 32 // KeyboardEvent.which value for space key\n const TAB_KEYCODE = 9 // KeyboardEvent.which value for tab key\n const ARROW_UP_KEYCODE = 38 // KeyboardEvent.which value for up arrow key\n const ARROW_DOWN_KEYCODE = 40 // KeyboardEvent.which value for down arrow key\n const RIGHT_MOUSE_BUTTON_WHICH = 3 // MouseEvent.which value for the right button (assuming a right-handed mouse)\n const REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEYCODE}|${ARROW_DOWN_KEYCODE}|${ESCAPE_KEYCODE}`)\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`,\n KEYDOWN_DATA_API : `keydown${EVENT_KEY}${DATA_API_KEY}`,\n KEYUP_DATA_API : `keyup${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n DISABLED : 'disabled',\n SHOW : 'show',\n DROPUP : 'dropup',\n DROPRIGHT : 'dropright',\n DROPLEFT : 'dropleft',\n MENURIGHT : 'dropdown-menu-right',\n MENULEFT : 'dropdown-menu-left',\n POSITION_STATIC : 'position-static'\n }\n\n const Selector = {\n DATA_TOGGLE : '[data-toggle=\"dropdown\"]',\n FORM_CHILD : '.dropdown form',\n MENU : '.dropdown-menu',\n NAVBAR_NAV : '.navbar-nav',\n VISIBLE_ITEMS : '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n }\n\n const AttachmentMap = {\n TOP : 'top-start',\n TOPEND : 'top-end',\n BOTTOM : 'bottom-start',\n BOTTOMEND : 'bottom-end',\n RIGHT : 'right-start',\n RIGHTEND : 'right-end',\n LEFT : 'left-start',\n LEFTEND : 'left-end'\n }\n\n const Default = {\n offset : 0,\n flip : true,\n boundary : 'scrollParent',\n reference : 'toggle',\n display : 'dynamic'\n }\n\n const DefaultType = {\n offset : '(number|string|function)',\n flip : 'boolean',\n boundary : '(string|element)',\n reference : '(string|element)',\n display : 'string'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Dropdown {\n constructor(element, config) {\n this._element = element\n this._popper = null\n this._config = this._getConfig(config)\n this._menu = this._getMenuElement()\n this._inNavbar = this._detectNavbar()\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n toggle() {\n if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED)) {\n return\n }\n\n const parent = Dropdown._getParentFromElement(this._element)\n const isActive = $(this._menu).hasClass(ClassName.SHOW)\n\n Dropdown._clearMenus()\n\n if (isActive) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n const showEvent = $.Event(Event.SHOW, relatedTarget)\n\n $(parent).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented()) {\n return\n }\n\n // Disable totally Popper.js for Dropdown in Navbar\n if (!this._inNavbar) {\n /**\n * Check for Popper dependency\n * Popper - https://popper.js.org\n */\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap dropdown require Popper.js (https://popper.js.org)')\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = parent\n } else if (Util.isElement(this._config.reference)) {\n referenceElement = this._config.reference\n\n // Check if it's jQuery element\n if (typeof this._config.reference.jquery !== 'undefined') {\n referenceElement = this._config.reference[0]\n }\n }\n\n // If boundary is not `scrollParent`, then set position to `static`\n // to allow the menu to \"escape\" the scroll parent's boundaries\n // https://github.com/twbs/bootstrap/issues/24251\n if (this._config.boundary !== 'scrollParent') {\n $(parent).addClass(ClassName.POSITION_STATIC)\n }\n this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig())\n }\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement &&\n $(parent).closest(Selector.NAVBAR_NAV).length === 0) {\n $(document.body).children().on('mouseover', null, $.noop)\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n $(this._menu).toggleClass(ClassName.SHOW)\n $(parent)\n .toggleClass(ClassName.SHOW)\n .trigger($.Event(Event.SHOWN, relatedTarget))\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._element).off(EVENT_KEY)\n this._element = null\n this._menu = null\n if (this._popper !== null) {\n this._popper.destroy()\n this._popper = null\n }\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Private\n\n _addEventListeners() {\n $(this._element).on(Event.CLICK, (event) => {\n event.preventDefault()\n event.stopPropagation()\n this.toggle()\n })\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...$(this._element).data(),\n ...config\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getMenuElement() {\n if (!this._menu) {\n const parent = Dropdown._getParentFromElement(this._element)\n if (parent) {\n this._menu = parent.querySelector(Selector.MENU)\n }\n }\n return this._menu\n }\n\n _getPlacement() {\n const $parentDropdown = $(this._element.parentNode)\n let placement = AttachmentMap.BOTTOM\n\n // Handle dropup\n if ($parentDropdown.hasClass(ClassName.DROPUP)) {\n placement = AttachmentMap.TOP\n if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n placement = AttachmentMap.TOPEND\n }\n } else if ($parentDropdown.hasClass(ClassName.DROPRIGHT)) {\n placement = AttachmentMap.RIGHT\n } else if ($parentDropdown.hasClass(ClassName.DROPLEFT)) {\n placement = AttachmentMap.LEFT\n } else if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n placement = AttachmentMap.BOTTOMEND\n }\n return placement\n }\n\n _detectNavbar() {\n return $(this._element).closest('.navbar').length > 0\n }\n\n _getPopperConfig() {\n const offsetConf = {}\n if (typeof this._config.offset === 'function') {\n offsetConf.fn = (data) => {\n data.offsets = {\n ...data.offsets,\n ...this._config.offset(data.offsets) || {}\n }\n return data\n }\n } else {\n offsetConf.offset = this._config.offset\n }\n\n const popperConfig = {\n placement: this._getPlacement(),\n modifiers: {\n offset: offsetConf,\n flip: {\n enabled: this._config.flip\n },\n preventOverflow: {\n boundariesElement: this._config.boundary\n }\n }\n }\n\n // Disable Popper.js if we have a static display\n if (this._config.display === 'static') {\n popperConfig.modifiers.applyStyle = {\n enabled: false\n }\n }\n return popperConfig\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data) {\n data = new Dropdown(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n\n static _clearMenus(event) {\n if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH ||\n event.type === 'keyup' && event.which !== TAB_KEYCODE)) {\n return\n }\n\n const toggles = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLE))\n for (let i = 0, len = toggles.length; i < len; i++) {\n const parent = Dropdown._getParentFromElement(toggles[i])\n const context = $(toggles[i]).data(DATA_KEY)\n const relatedTarget = {\n relatedTarget: toggles[i]\n }\n\n if (event && event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n if (!context) {\n continue\n }\n\n const dropdownMenu = context._menu\n if (!$(parent).hasClass(ClassName.SHOW)) {\n continue\n }\n\n if (event && (event.type === 'click' &&\n /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) &&\n $.contains(parent, event.target)) {\n continue\n }\n\n const hideEvent = $.Event(Event.HIDE, relatedTarget)\n $(parent).trigger(hideEvent)\n if (hideEvent.isDefaultPrevented()) {\n continue\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().off('mouseover', null, $.noop)\n }\n\n toggles[i].setAttribute('aria-expanded', 'false')\n\n $(dropdownMenu).removeClass(ClassName.SHOW)\n $(parent)\n .removeClass(ClassName.SHOW)\n .trigger($.Event(Event.HIDDEN, relatedTarget))\n }\n }\n\n static _getParentFromElement(element) {\n let parent\n const selector = Util.getSelectorFromElement(element)\n\n if (selector) {\n parent = document.querySelector(selector)\n }\n\n return parent || element.parentNode\n }\n\n // eslint-disable-next-line complexity\n static _dataApiKeydownHandler(event) {\n // If not input/textarea:\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\n // If input/textarea:\n // - If space key => not a dropdown command\n // - If key is other than escape\n // - If key is not up or down => not a dropdown command\n // - If trigger inside the menu => not a dropdown command\n if (/input|textarea/i.test(event.target.tagName)\n ? event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE &&\n (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE ||\n $(event.target).closest(Selector.MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (this.disabled || $(this).hasClass(ClassName.DISABLED)) {\n return\n }\n\n const parent = Dropdown._getParentFromElement(this)\n const isActive = $(parent).hasClass(ClassName.SHOW)\n\n if (!isActive && (event.which !== ESCAPE_KEYCODE || event.which !== SPACE_KEYCODE) ||\n isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {\n if (event.which === ESCAPE_KEYCODE) {\n const toggle = parent.querySelector(Selector.DATA_TOGGLE)\n $(toggle).trigger('focus')\n }\n\n $(this).trigger('click')\n return\n }\n\n const items = [].slice.call(parent.querySelectorAll(Selector.VISIBLE_ITEMS))\n\n if (items.length === 0) {\n return\n }\n\n let index = items.indexOf(event.target)\n\n if (event.which === ARROW_UP_KEYCODE && index > 0) { // Up\n index--\n }\n\n if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { // Down\n index++\n }\n\n if (index < 0) {\n index = 0\n }\n\n items[index].focus()\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document)\n .on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown._dataApiKeydownHandler)\n .on(Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown._dataApiKeydownHandler)\n .on(`${Event.CLICK_DATA_API} ${Event.KEYUP_DATA_API}`, Dropdown._clearMenus)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n event.stopPropagation()\n Dropdown._jQueryInterface.call($(this), 'toggle')\n })\n .on(Event.CLICK_DATA_API, Selector.FORM_CHILD, (e) => {\n e.stopPropagation()\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Dropdown._jQueryInterface\n $.fn[NAME].Constructor = Dropdown\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown._jQueryInterface\n }\n\n return Dropdown\n})($, Popper)\n\nexport default Dropdown\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Modal = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'modal'\n const VERSION = '4.1.3'\n const DATA_KEY = 'bs.modal'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n\n const Default = {\n backdrop : true,\n keyboard : true,\n focus : true,\n show : true\n }\n\n const DefaultType = {\n backdrop : '(boolean|string)',\n keyboard : 'boolean',\n focus : 'boolean',\n show : 'boolean'\n }\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n RESIZE : `resize${EVENT_KEY}`,\n CLICK_DISMISS : `click.dismiss${EVENT_KEY}`,\n KEYDOWN_DISMISS : `keydown.dismiss${EVENT_KEY}`,\n MOUSEUP_DISMISS : `mouseup.dismiss${EVENT_KEY}`,\n MOUSEDOWN_DISMISS : `mousedown.dismiss${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n SCROLLBAR_MEASURER : 'modal-scrollbar-measure',\n BACKDROP : 'modal-backdrop',\n OPEN : 'modal-open',\n FADE : 'fade',\n SHOW : 'show'\n }\n\n const Selector = {\n DIALOG : '.modal-dialog',\n DATA_TOGGLE : '[data-toggle=\"modal\"]',\n DATA_DISMISS : '[data-dismiss=\"modal\"]',\n FIXED_CONTENT : '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',\n STICKY_CONTENT : '.sticky-top'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Modal {\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n this._dialog = element.querySelector(Selector.DIALOG)\n this._backdrop = null\n this._isShown = false\n this._isBodyOverflowing = false\n this._ignoreBackdropClick = false\n this._scrollbarWidth = 0\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isTransitioning || this._isShown) {\n return\n }\n\n if ($(this._element).hasClass(ClassName.FADE)) {\n this._isTransitioning = true\n }\n\n const showEvent = $.Event(Event.SHOW, {\n relatedTarget\n })\n\n $(this._element).trigger(showEvent)\n\n if (this._isShown || showEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = true\n\n this._checkScrollbar()\n this._setScrollbar()\n\n this._adjustDialog()\n\n $(document.body).addClass(ClassName.OPEN)\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(this._element).on(\n Event.CLICK_DISMISS,\n Selector.DATA_DISMISS,\n (event) => this.hide(event)\n )\n\n $(this._dialog).on(Event.MOUSEDOWN_DISMISS, () => {\n $(this._element).one(Event.MOUSEUP_DISMISS, (event) => {\n if ($(event.target).is(this._element)) {\n this._ignoreBackdropClick = true\n }\n })\n })\n\n this._showBackdrop(() => this._showElement(relatedTarget))\n }\n\n hide(event) {\n if (event) {\n event.preventDefault()\n }\n\n if (this._isTransitioning || !this._isShown) {\n return\n }\n\n const hideEvent = $.Event(Event.HIDE)\n\n $(this._element).trigger(hideEvent)\n\n if (!this._isShown || hideEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = false\n const transition = $(this._element).hasClass(ClassName.FADE)\n\n if (transition) {\n this._isTransitioning = true\n }\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(document).off(Event.FOCUSIN)\n\n $(this._element).removeClass(ClassName.SHOW)\n\n $(this._element).off(Event.CLICK_DISMISS)\n $(this._dialog).off(Event.MOUSEDOWN_DISMISS)\n\n\n if (transition) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, (event) => this._hideModal(event))\n .emulateTransitionEnd(transitionDuration)\n } else {\n this._hideModal()\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n\n $(window, document, this._element, this._backdrop).off(EVENT_KEY)\n\n this._config = null\n this._element = null\n this._dialog = null\n this._backdrop = null\n this._isShown = null\n this._isBodyOverflowing = null\n this._ignoreBackdropClick = null\n this._scrollbarWidth = null\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _showElement(relatedTarget) {\n const transition = $(this._element).hasClass(ClassName.FADE)\n\n if (!this._element.parentNode ||\n this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // Don't move modal's DOM position\n document.body.appendChild(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.scrollTop = 0\n\n if (transition) {\n Util.reflow(this._element)\n }\n\n $(this._element).addClass(ClassName.SHOW)\n\n if (this._config.focus) {\n this._enforceFocus()\n }\n\n const shownEvent = $.Event(Event.SHOWN, {\n relatedTarget\n })\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._element.focus()\n }\n this._isTransitioning = false\n $(this._element).trigger(shownEvent)\n }\n\n if (transition) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._dialog)\n .one(Util.TRANSITION_END, transitionComplete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n transitionComplete()\n }\n }\n\n _enforceFocus() {\n $(document)\n .off(Event.FOCUSIN) // Guard against infinite focus loop\n .on(Event.FOCUSIN, (event) => {\n if (document !== event.target &&\n this._element !== event.target &&\n $(this._element).has(event.target).length === 0) {\n this._element.focus()\n }\n })\n }\n\n _setEscapeEvent() {\n if (this._isShown && this._config.keyboard) {\n $(this._element).on(Event.KEYDOWN_DISMISS, (event) => {\n if (event.which === ESCAPE_KEYCODE) {\n event.preventDefault()\n this.hide()\n }\n })\n } else if (!this._isShown) {\n $(this._element).off(Event.KEYDOWN_DISMISS)\n }\n }\n\n _setResizeEvent() {\n if (this._isShown) {\n $(window).on(Event.RESIZE, (event) => this.handleUpdate(event))\n } else {\n $(window).off(Event.RESIZE)\n }\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._isTransitioning = false\n this._showBackdrop(() => {\n $(document.body).removeClass(ClassName.OPEN)\n this._resetAdjustments()\n this._resetScrollbar()\n $(this._element).trigger(Event.HIDDEN)\n })\n }\n\n _removeBackdrop() {\n if (this._backdrop) {\n $(this._backdrop).remove()\n this._backdrop = null\n }\n }\n\n _showBackdrop(callback) {\n const animate = $(this._element).hasClass(ClassName.FADE)\n ? ClassName.FADE : ''\n\n if (this._isShown && this._config.backdrop) {\n this._backdrop = document.createElement('div')\n this._backdrop.className = ClassName.BACKDROP\n\n if (animate) {\n this._backdrop.classList.add(animate)\n }\n\n $(this._backdrop).appendTo(document.body)\n\n $(this._element).on(Event.CLICK_DISMISS, (event) => {\n if (this._ignoreBackdropClick) {\n this._ignoreBackdropClick = false\n return\n }\n if (event.target !== event.currentTarget) {\n return\n }\n if (this._config.backdrop === 'static') {\n this._element.focus()\n } else {\n this.hide()\n }\n })\n\n if (animate) {\n Util.reflow(this._backdrop)\n }\n\n $(this._backdrop).addClass(ClassName.SHOW)\n\n if (!callback) {\n return\n }\n\n if (!animate) {\n callback()\n return\n }\n\n const backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop)\n\n $(this._backdrop)\n .one(Util.TRANSITION_END, callback)\n .emulateTransitionEnd(backdropTransitionDuration)\n } else if (!this._isShown && this._backdrop) {\n $(this._backdrop).removeClass(ClassName.SHOW)\n\n const callbackRemove = () => {\n this._removeBackdrop()\n if (callback) {\n callback()\n }\n }\n\n if ($(this._element).hasClass(ClassName.FADE)) {\n const backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop)\n\n $(this._backdrop)\n .one(Util.TRANSITION_END, callbackRemove)\n .emulateTransitionEnd(backdropTransitionDuration)\n } else {\n callbackRemove()\n }\n } else if (callback) {\n callback()\n }\n }\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // todo (fat): these should probably be refactored out of modal.js\n // ----------------------------------------------------------------------\n\n _adjustDialog() {\n const isModalOverflowing =\n this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!this._isBodyOverflowing && isModalOverflowing) {\n this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n }\n\n if (this._isBodyOverflowing && !isModalOverflowing) {\n this._element.style.paddingRight = `${this._scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n _checkScrollbar() {\n const rect = document.body.getBoundingClientRect()\n this._isBodyOverflowing = rect.left + rect.right < window.innerWidth\n this._scrollbarWidth = this._getScrollbarWidth()\n }\n\n _setScrollbar() {\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n const fixedContent = [].slice.call(document.querySelectorAll(Selector.FIXED_CONTENT))\n const stickyContent = [].slice.call(document.querySelectorAll(Selector.STICKY_CONTENT))\n\n // Adjust fixed content padding\n $(fixedContent).each((index, element) => {\n const actualPadding = element.style.paddingRight\n const calculatedPadding = $(element).css('padding-right')\n $(element)\n .data('padding-right', actualPadding)\n .css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n })\n\n // Adjust sticky content margin\n $(stickyContent).each((index, element) => {\n const actualMargin = element.style.marginRight\n const calculatedMargin = $(element).css('margin-right')\n $(element)\n .data('margin-right', actualMargin)\n .css('margin-right', `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`)\n })\n\n // Adjust body padding\n const actualPadding = document.body.style.paddingRight\n const calculatedPadding = $(document.body).css('padding-right')\n $(document.body)\n .data('padding-right', actualPadding)\n .css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n }\n }\n\n _resetScrollbar() {\n // Restore fixed content padding\n const fixedContent = [].slice.call(document.querySelectorAll(Selector.FIXED_CONTENT))\n $(fixedContent).each((index, element) => {\n const padding = $(element).data('padding-right')\n $(element).removeData('padding-right')\n element.style.paddingRight = padding ? padding : ''\n })\n\n // Restore sticky content\n const elements = [].slice.call(document.querySelectorAll(`${Selector.STICKY_CONTENT}`))\n $(elements).each((index, element) => {\n const margin = $(element).data('margin-right')\n if (typeof margin !== 'undefined') {\n $(element).css('margin-right', margin).removeData('margin-right')\n }\n })\n\n // Restore body padding\n const padding = $(document.body).data('padding-right')\n $(document.body).removeData('padding-right')\n document.body.style.paddingRight = padding ? padding : ''\n }\n\n _getScrollbarWidth() { // thx d.walsh\n const scrollDiv = document.createElement('div')\n scrollDiv.className = ClassName.SCROLLBAR_MEASURER\n document.body.appendChild(scrollDiv)\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n document.body.removeChild(scrollDiv)\n return scrollbarWidth\n }\n\n // Static\n\n static _jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = {\n ...Default,\n ...$(this).data(),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data) {\n data = new Modal(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config](relatedTarget)\n } else if (_config.show) {\n data.show(relatedTarget)\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n let target\n const selector = Util.getSelectorFromElement(this)\n\n if (selector) {\n target = document.querySelector(selector)\n }\n\n const config = $(target).data(DATA_KEY)\n ? 'toggle' : {\n ...$(target).data(),\n ...$(this).data()\n }\n\n if (this.tagName === 'A' || this.tagName === 'AREA') {\n event.preventDefault()\n }\n\n const $target = $(target).one(Event.SHOW, (showEvent) => {\n if (showEvent.isDefaultPrevented()) {\n // Only register focus restorer if modal will actually get shown\n return\n }\n\n $target.one(Event.HIDDEN, () => {\n if ($(this).is(':visible')) {\n this.focus()\n }\n })\n })\n\n Modal._jQueryInterface.call($(target), config, this)\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Modal._jQueryInterface\n $.fn[NAME].Constructor = Modal\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Modal._jQueryInterface\n }\n\n return Modal\n})($)\n\nexport default Modal\n","import $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Tooltip = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'tooltip'\n const VERSION = '4.1.3'\n const DATA_KEY = 'bs.tooltip'\n const EVENT_KEY = `.${DATA_KEY}`\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const CLASS_PREFIX = 'bs-tooltip'\n const BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\n const DefaultType = {\n animation : 'boolean',\n template : 'string',\n title : '(string|element|function)',\n trigger : 'string',\n delay : '(number|object)',\n html : 'boolean',\n selector : '(string|boolean)',\n placement : '(string|function)',\n offset : '(number|string)',\n container : '(string|element|boolean)',\n fallbackPlacement : '(string|array)',\n boundary : '(string|element)'\n }\n\n const AttachmentMap = {\n AUTO : 'auto',\n TOP : 'top',\n RIGHT : 'right',\n BOTTOM : 'bottom',\n LEFT : 'left'\n }\n\n const Default = {\n animation : true,\n template : '
' +\n '
' +\n '
',\n trigger : 'hover focus',\n title : '',\n delay : 0,\n html : false,\n selector : false,\n placement : 'top',\n offset : 0,\n container : false,\n fallbackPlacement : 'flip',\n boundary : 'scrollParent'\n }\n\n const HoverState = {\n SHOW : 'show',\n OUT : 'out'\n }\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n INSERTED : `inserted${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n FOCUSOUT : `focusout${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`\n }\n\n const ClassName = {\n FADE : 'fade',\n SHOW : 'show'\n }\n\n const Selector = {\n TOOLTIP : '.tooltip',\n TOOLTIP_INNER : '.tooltip-inner',\n ARROW : '.arrow'\n }\n\n const Trigger = {\n HOVER : 'hover',\n FOCUS : 'focus',\n CLICK : 'click',\n MANUAL : 'manual'\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Tooltip {\n constructor(element, config) {\n /**\n * Check for Popper dependency\n * Popper - https://popper.js.org\n */\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap tooltips require Popper.js (https://popper.js.org)')\n }\n\n // private\n this._isEnabled = true\n this._timeout = 0\n this._hoverState = ''\n this._activeTrigger = {}\n this._popper = null\n\n // Protected\n this.element = element\n this.config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n enable() {\n this._isEnabled = true\n }\n\n disable() {\n this._isEnabled = false\n }\n\n toggleEnabled() {\n this._isEnabled = !this._isEnabled\n }\n\n toggle(event) {\n if (!this._isEnabled) {\n return\n }\n\n if (event) {\n const dataKey = this.constructor.DATA_KEY\n let context = $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n context._activeTrigger.click = !context._activeTrigger.click\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context)\n } else {\n context._leave(null, context)\n }\n } else {\n if ($(this.getTipElement()).hasClass(ClassName.SHOW)) {\n this._leave(null, this)\n return\n }\n\n this._enter(null, this)\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n $.removeData(this.element, this.constructor.DATA_KEY)\n\n $(this.element).off(this.constructor.EVENT_KEY)\n $(this.element).closest('.modal').off('hide.bs.modal')\n\n if (this.tip) {\n $(this.tip).remove()\n }\n\n this._isEnabled = null\n this._timeout = null\n this._hoverState = null\n this._activeTrigger = null\n if (this._popper !== null) {\n this._popper.destroy()\n }\n\n this._popper = null\n this.element = null\n this.config = null\n this.tip = null\n }\n\n show() {\n if ($(this.element).css('display') === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n const showEvent = $.Event(this.constructor.Event.SHOW)\n if (this.isWithContent() && this._isEnabled) {\n $(this.element).trigger(showEvent)\n\n const isInTheDom = $.contains(\n this.element.ownerDocument.documentElement,\n this.element\n )\n\n if (showEvent.isDefaultPrevented() || !isInTheDom) {\n return\n }\n\n const tip = this.getTipElement()\n const tipId = Util.getUID(this.constructor.NAME)\n\n tip.setAttribute('id', tipId)\n this.element.setAttribute('aria-describedby', tipId)\n\n this.setContent()\n\n if (this.config.animation) {\n $(tip).addClass(ClassName.FADE)\n }\n\n const placement = typeof this.config.placement === 'function'\n ? this.config.placement.call(this, tip, this.element)\n : this.config.placement\n\n const attachment = this._getAttachment(placement)\n this.addAttachmentClass(attachment)\n\n const container = this.config.container === false ? document.body : $(document).find(this.config.container)\n\n $(tip).data(this.constructor.DATA_KEY, this)\n\n if (!$.contains(this.element.ownerDocument.documentElement, this.tip)) {\n $(tip).appendTo(container)\n }\n\n $(this.element).trigger(this.constructor.Event.INSERTED)\n\n this._popper = new Popper(this.element, tip, {\n placement: attachment,\n modifiers: {\n offset: {\n offset: this.config.offset\n },\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: Selector.ARROW\n },\n preventOverflow: {\n boundariesElement: this.config.boundary\n }\n },\n onCreate: (data) => {\n if (data.originalPlacement !== data.placement) {\n this._handlePopperPlacementChange(data)\n }\n },\n onUpdate: (data) => {\n this._handlePopperPlacementChange(data)\n }\n })\n\n $(tip).addClass(ClassName.SHOW)\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().on('mouseover', null, $.noop)\n }\n\n const complete = () => {\n if (this.config.animation) {\n this._fixTransition()\n }\n const prevHoverState = this._hoverState\n this._hoverState = null\n\n $(this.element).trigger(this.constructor.Event.SHOWN)\n\n if (prevHoverState === HoverState.OUT) {\n this._leave(null, this)\n }\n }\n\n if ($(this.tip).hasClass(ClassName.FADE)) {\n const transitionDuration = Util.getTransitionDurationFromElement(this.tip)\n\n $(this.tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n }\n\n hide(callback) {\n const tip = this.getTipElement()\n const hideEvent = $.Event(this.constructor.Event.HIDE)\n const complete = () => {\n if (this._hoverState !== HoverState.SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip)\n }\n\n this._cleanTipClass()\n this.element.removeAttribute('aria-describedby')\n $(this.element).trigger(this.constructor.Event.HIDDEN)\n if (this._popper !== null) {\n this._popper.destroy()\n }\n\n if (callback) {\n callback()\n }\n }\n\n $(this.element).trigger(hideEvent)\n\n if (hideEvent.isDefaultPrevented()) {\n return\n }\n\n $(tip).removeClass(ClassName.SHOW)\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().off('mouseover', null, $.noop)\n }\n\n this._activeTrigger[Trigger.CLICK] = false\n this._activeTrigger[Trigger.FOCUS] = false\n this._activeTrigger[Trigger.HOVER] = false\n\n if ($(this.tip).hasClass(ClassName.FADE)) {\n const transitionDuration = Util.getTransitionDurationFromElement(tip)\n\n $(tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n\n this._hoverState = ''\n }\n\n update() {\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Protected\n\n isWithContent() {\n return Boolean(this.getTitle())\n }\n\n addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n this.tip = this.tip || $(this.config.template)[0]\n return this.tip\n }\n\n setContent() {\n const tip = this.getTipElement()\n this.setElementContent($(tip.querySelectorAll(Selector.TOOLTIP_INNER)), this.getTitle())\n $(tip).removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\n }\n\n setElementContent($element, content) {\n const html = this.config.html\n if (typeof content === 'object' && (content.nodeType || content.jquery)) {\n // Content is a DOM node or a jQuery\n if (html) {\n if (!$(content).parent().is($element)) {\n $element.empty().append(content)\n }\n } else {\n $element.text($(content).text())\n }\n } else {\n $element[html ? 'html' : 'text'](content)\n }\n }\n\n getTitle() {\n let title = this.element.getAttribute('data-original-title')\n\n if (!title) {\n title = typeof this.config.title === 'function'\n ? this.config.title.call(this.element)\n : this.config.title\n }\n\n return title\n }\n\n // Private\n\n _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()]\n }\n\n _setListeners() {\n const triggers = this.config.trigger.split(' ')\n\n triggers.forEach((trigger) => {\n if (trigger === 'click') {\n $(this.element).on(\n this.constructor.Event.CLICK,\n this.config.selector,\n (event) => this.toggle(event)\n )\n } else if (trigger !== Trigger.MANUAL) {\n const eventIn = trigger === Trigger.HOVER\n ? this.constructor.Event.MOUSEENTER\n : this.constructor.Event.FOCUSIN\n const eventOut = trigger === Trigger.HOVER\n ? this.constructor.Event.MOUSELEAVE\n : this.constructor.Event.FOCUSOUT\n\n $(this.element)\n .on(\n eventIn,\n this.config.selector,\n (event) => this._enter(event)\n )\n .on(\n eventOut,\n this.config.selector,\n (event) => this._leave(event)\n )\n }\n\n $(this.element).closest('.modal').on(\n 'hide.bs.modal',\n () => this.hide()\n )\n })\n\n if (this.config.selector) {\n this.config = {\n ...this.config,\n trigger: 'manual',\n selector: ''\n }\n } else {\n this._fixTitle()\n }\n }\n\n _fixTitle() {\n const titleType = typeof this.element.getAttribute('data-original-title')\n if (this.element.getAttribute('title') ||\n titleType !== 'string') {\n this.element.setAttribute(\n 'data-original-title',\n this.element.getAttribute('title') || ''\n )\n this.element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n const dataKey = this.constructor.DATA_KEY\n\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER\n ] = true\n }\n\n if ($(context.getTipElement()).hasClass(ClassName.SHOW) ||\n context._hoverState === HoverState.SHOW) {\n context._hoverState = HoverState.SHOW\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.SHOW\n\n if (!context.config.delay || !context.config.delay.show) {\n context.show()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.SHOW) {\n context.show()\n }\n }, context.config.delay.show)\n }\n\n _leave(event, context) {\n const dataKey = this.constructor.DATA_KEY\n\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER\n ] = false\n }\n\n if (context._isWithActiveTrigger()) {\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.OUT\n\n if (!context.config.delay || !context.config.delay.hide) {\n context.hide()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.OUT) {\n context.hide()\n }\n }, context.config.delay.hide)\n }\n\n _isWithActiveTrigger() {\n for (const trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true\n }\n }\n\n return false\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...$(this.element).data(),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n }\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString()\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString()\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n if (this.config) {\n for (const key in this.config) {\n if (this.constructor.Default[key] !== this.config[key]) {\n config[key] = this.config[key]\n }\n }\n }\n\n return config\n }\n\n _cleanTipClass() {\n const $tip = $(this.getTipElement())\n const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n _handlePopperPlacementChange(popperData) {\n const popperInstance = popperData.instance\n this.tip = popperInstance.popper\n this._cleanTipClass()\n this.addAttachmentClass(this._getAttachment(popperData.placement))\n }\n\n _fixTransition() {\n const tip = this.getTipElement()\n const initConfigAnimation = this.config.animation\n if (tip.getAttribute('x-placement') !== null) {\n return\n }\n $(tip).removeClass(ClassName.FADE)\n this.config.animation = false\n this.hide()\n this.show()\n this.config.animation = initConfigAnimation\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Tooltip(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Tooltip._jQueryInterface\n $.fn[NAME].Constructor = Tooltip\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tooltip._jQueryInterface\n }\n\n return Tooltip\n})($, Popper)\n\nexport default Tooltip\n","import $ from 'jquery'\nimport Tooltip from './tooltip'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Popover = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'popover'\n const VERSION = '4.1.3'\n const DATA_KEY = 'bs.popover'\n const EVENT_KEY = `.${DATA_KEY}`\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const CLASS_PREFIX = 'bs-popover'\n const BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\n const Default = {\n ...Tooltip.Default,\n placement : 'right',\n trigger : 'click',\n content : '',\n template : '
' +\n '
' +\n '

' +\n '
'\n }\n\n const DefaultType = {\n ...Tooltip.DefaultType,\n content : '(string|element|function)'\n }\n\n const ClassName = {\n FADE : 'fade',\n SHOW : 'show'\n }\n\n const Selector = {\n TITLE : '.popover-header',\n CONTENT : '.popover-body'\n }\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n INSERTED : `inserted${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n FOCUSOUT : `focusout${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Popover extends Tooltip {\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Overrides\n\n isWithContent() {\n return this.getTitle() || this._getContent()\n }\n\n addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n this.tip = this.tip || $(this.config.template)[0]\n return this.tip\n }\n\n setContent() {\n const $tip = $(this.getTipElement())\n\n // We use append for html objects to maintain js events\n this.setElementContent($tip.find(Selector.TITLE), this.getTitle())\n let content = this._getContent()\n if (typeof content === 'function') {\n content = content.call(this.element)\n }\n this.setElementContent($tip.find(Selector.CONTENT), content)\n\n $tip.removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\n }\n\n // Private\n\n _getContent() {\n return this.element.getAttribute('data-content') ||\n this.config.content\n }\n\n _cleanTipClass() {\n const $tip = $(this.getTipElement())\n const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data && /destroy|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Popover(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Popover._jQueryInterface\n $.fn[NAME].Constructor = Popover\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Popover._jQueryInterface\n }\n\n return Popover\n})($)\n\nexport default Popover\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst ScrollSpy = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'scrollspy'\n const VERSION = '4.1.3'\n const DATA_KEY = 'bs.scrollspy'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const Default = {\n offset : 10,\n method : 'auto',\n target : ''\n }\n\n const DefaultType = {\n offset : 'number',\n method : 'string',\n target : '(string|element)'\n }\n\n const Event = {\n ACTIVATE : `activate${EVENT_KEY}`,\n SCROLL : `scroll${EVENT_KEY}`,\n LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n DROPDOWN_ITEM : 'dropdown-item',\n DROPDOWN_MENU : 'dropdown-menu',\n ACTIVE : 'active'\n }\n\n const Selector = {\n DATA_SPY : '[data-spy=\"scroll\"]',\n ACTIVE : '.active',\n NAV_LIST_GROUP : '.nav, .list-group',\n NAV_LINKS : '.nav-link',\n NAV_ITEMS : '.nav-item',\n LIST_ITEMS : '.list-group-item',\n DROPDOWN : '.dropdown',\n DROPDOWN_ITEMS : '.dropdown-item',\n DROPDOWN_TOGGLE : '.dropdown-toggle'\n }\n\n const OffsetMethod = {\n OFFSET : 'offset',\n POSITION : 'position'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class ScrollSpy {\n constructor(element, config) {\n this._element = element\n this._scrollElement = element.tagName === 'BODY' ? window : element\n this._config = this._getConfig(config)\n this._selector = `${this._config.target} ${Selector.NAV_LINKS},` +\n `${this._config.target} ${Selector.LIST_ITEMS},` +\n `${this._config.target} ${Selector.DROPDOWN_ITEMS}`\n this._offsets = []\n this._targets = []\n this._activeTarget = null\n this._scrollHeight = 0\n\n $(this._scrollElement).on(Event.SCROLL, (event) => this._process(event))\n\n this.refresh()\n this._process()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n refresh() {\n const autoMethod = this._scrollElement === this._scrollElement.window\n ? OffsetMethod.OFFSET : OffsetMethod.POSITION\n\n const offsetMethod = this._config.method === 'auto'\n ? autoMethod : this._config.method\n\n const offsetBase = offsetMethod === OffsetMethod.POSITION\n ? this._getScrollTop() : 0\n\n this._offsets = []\n this._targets = []\n\n this._scrollHeight = this._getScrollHeight()\n\n const targets = [].slice.call(document.querySelectorAll(this._selector))\n\n targets\n .map((element) => {\n let target\n const targetSelector = Util.getSelectorFromElement(element)\n\n if (targetSelector) {\n target = document.querySelector(targetSelector)\n }\n\n if (target) {\n const targetBCR = target.getBoundingClientRect()\n if (targetBCR.width || targetBCR.height) {\n // TODO (fat): remove sketch reliance on jQuery position/offset\n return [\n $(target)[offsetMethod]().top + offsetBase,\n targetSelector\n ]\n }\n }\n return null\n })\n .filter((item) => item)\n .sort((a, b) => a[0] - b[0])\n .forEach((item) => {\n this._offsets.push(item[0])\n this._targets.push(item[1])\n })\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._scrollElement).off(EVENT_KEY)\n\n this._element = null\n this._scrollElement = null\n this._config = null\n this._selector = null\n this._offsets = null\n this._targets = null\n this._activeTarget = null\n this._scrollHeight = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (typeof config.target !== 'string') {\n let id = $(config.target).attr('id')\n if (!id) {\n id = Util.getUID(NAME)\n $(config.target).attr('id', id)\n }\n config.target = `#${id}`\n }\n\n Util.typeCheckConfig(NAME, config, DefaultType)\n\n return config\n }\n\n _getScrollTop() {\n return this._scrollElement === window\n ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop\n }\n\n _getScrollHeight() {\n return this._scrollElement.scrollHeight || Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight\n )\n }\n\n _getOffsetHeight() {\n return this._scrollElement === window\n ? window.innerHeight : this._scrollElement.getBoundingClientRect().height\n }\n\n _process() {\n const scrollTop = this._getScrollTop() + this._config.offset\n const scrollHeight = this._getScrollHeight()\n const maxScroll = this._config.offset +\n scrollHeight -\n this._getOffsetHeight()\n\n if (this._scrollHeight !== scrollHeight) {\n this.refresh()\n }\n\n if (scrollTop >= maxScroll) {\n const target = this._targets[this._targets.length - 1]\n\n if (this._activeTarget !== target) {\n this._activate(target)\n }\n return\n }\n\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n this._activeTarget = null\n this._clear()\n return\n }\n\n const offsetLength = this._offsets.length\n for (let i = offsetLength; i--;) {\n const isActiveTarget = this._activeTarget !== this._targets[i] &&\n scrollTop >= this._offsets[i] &&\n (typeof this._offsets[i + 1] === 'undefined' ||\n scrollTop < this._offsets[i + 1])\n\n if (isActiveTarget) {\n this._activate(this._targets[i])\n }\n }\n }\n\n _activate(target) {\n this._activeTarget = target\n\n this._clear()\n\n let queries = this._selector.split(',')\n // eslint-disable-next-line arrow-body-style\n queries = queries.map((selector) => {\n return `${selector}[data-target=\"${target}\"],` +\n `${selector}[href=\"${target}\"]`\n })\n\n const $link = $([].slice.call(document.querySelectorAll(queries.join(','))))\n\n if ($link.hasClass(ClassName.DROPDOWN_ITEM)) {\n $link.closest(Selector.DROPDOWN).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE)\n $link.addClass(ClassName.ACTIVE)\n } else {\n // Set triggered link as active\n $link.addClass(ClassName.ACTIVE)\n // Set triggered links parents as active\n // With both
@@ -43,6 +65,7 @@

nbgitpuller link generator

+
diff --git a/docs/link.js b/docs/link.js index 5b88e521..a012c28f 100644 --- a/docs/link.js +++ b/docs/link.js @@ -1,5 +1,5 @@ // Pure function that generates an nbgitpuller URL -function generateUrl(hubUrl, urlPath, repoUrl, branch) { +function generateRegularUrl(hubUrl, urlPath, repoUrl, branch) { // assume hubUrl is a valid URL var url = new URL(hubUrl); @@ -19,6 +19,30 @@ function generateUrl(hubUrl, urlPath, repoUrl, branch) { return url.toString(); } +function generateCanvasUrl(hubUrl, urlPath, repoUrl, branch) { + // assume hubUrl is a valid URL + var url = new URL(hubUrl); + + var nextUrlParams = new URLSearchParams(); + + nextUrlParams.append('repo', repoUrl); + + if (urlPath) { + nextUrlParams.append('urlpath', urlPath); + } + + if (branch) { + nextUrlParams.append('branch', branch); + } + + var nextUrl = '/hub/user-redirect/git-pull?' + nextUrlParams.toString(); + + url.pathname = '/hub/lti/launch' + url.searchParams.append('next', nextUrl); + + return url.toString(); +} + var apps = { classic: { title: 'Classic Notebook', @@ -51,7 +75,10 @@ function displayLink() { var urlPath = apps[appName].generateUrlPath(filePath); } - document.getElementById('link').value = generateUrl( + document.getElementById('default-link').value = generateRegularUrl( + hubUrl, urlPath, repoUrl, branch + ); + document.getElementById('canvas-link').value = generateCanvasUrl( hubUrl, urlPath, repoUrl, branch ); } From c5da6c959bb5c277830df9442ac6e3d05428323b Mon Sep 17 00:00:00 2001 From: yuvipanda Date: Wed, 1 May 2019 18:27:46 -0700 Subject: [PATCH 044/284] Move file-to-open higher up More people probably change this than they change application to open --- docs/link.html | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/docs/link.html b/docs/link.html index 1b89c6ad..d7b33aa9 100644 --- a/docs/link.html +++ b/docs/link.html @@ -85,6 +85,17 @@

nbgitpuller link generator

+
+ +
+ + + This file or directory from within the repo will open when user clicks the link. + +
+
+
@@ -119,16 +130,6 @@

nbgitpuller link generator

-
- -
- - - This file or directory from within the repo will open when user clicks the link. - -
-
From 2d4b825cf73ba4759352546c1d5ba456b40dc302 Mon Sep 17 00:00:00 2001 From: yuvipanda Date: Wed, 1 May 2019 18:57:21 -0700 Subject: [PATCH 045/284] Auto-add cloned directory name to filepath If you had cloned github.com/yuvipanda/requirements before, and wanted to open index.ipynb, you would have to actually specify requirements/index.ipynb as file to open. Here, we automatically specify the repo dir instead of requiring users to do it --- docs/link.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/link.js b/docs/link.js index a012c28f..4655d3b8 100644 --- a/docs/link.js +++ b/docs/link.js @@ -72,7 +72,8 @@ function displayLink() { if (appName === 'custom') { var urlPath = document.getElementById('urlpath').value; } else { - var urlPath = apps[appName].generateUrlPath(filePath); + var repoName = new URL(repoUrl).pathname.split('/').pop().replace(/\.git$/, ''); + var urlPath = apps[appName].generateUrlPath(repoName + '/' + filePath); } document.getElementById('default-link').value = generateRegularUrl( From 22c7e73c0ac929325d41194ffd2c33788666f155 Mon Sep 17 00:00:00 2001 From: Chris Holdgraf Date: Tue, 21 May 2019 15:04:13 -0700 Subject: [PATCH 046/284] adding documentation --- .circleci/config.yml | 38 ++++ .gitignore | 3 + README.md | 69 +------ docs/Makefile | 20 ++ docs/{ => _static/link_gen}/link.js | 10 +- .../bootstrap-4.1.3/css/bootstrap-grid.css | 0 .../css/bootstrap-grid.css.map | 0 .../css/bootstrap-grid.min.css | 0 .../css/bootstrap-grid.min.css.map | 0 .../bootstrap-4.1.3/css/bootstrap-reboot.css | 0 .../css/bootstrap-reboot.css.map | 0 .../css/bootstrap-reboot.min.css | 0 .../css/bootstrap-reboot.min.css.map | 0 .../vendor/bootstrap-4.1.3/css/bootstrap.css | 0 .../bootstrap-4.1.3/css/bootstrap.css.map | 0 .../bootstrap-4.1.3/css/bootstrap.min.css | 0 .../bootstrap-4.1.3/css/bootstrap.min.css.map | 0 .../bootstrap-4.1.3/js/bootstrap.bundle.js | 0 .../js/bootstrap.bundle.js.map | 0 .../js/bootstrap.bundle.min.js | 0 .../js/bootstrap.bundle.min.js.map | 0 .../vendor/bootstrap-4.1.3/js/bootstrap.js | 0 .../bootstrap-4.1.3/js/bootstrap.js.map | 0 .../bootstrap-4.1.3/js/bootstrap.min.js | 0 .../bootstrap-4.1.3/js/bootstrap.min.js.map | 0 .../link_gen}/vendor/jquery-3.3.1.slim.min.js | 0 docs/{ => _static}/nbpuller.gif | Bin docs/_templates/layout.html | 21 +++ docs/conf.py | 178 ++++++++++++++++++ docs/doc-requirements.txt | 10 + docs/index.md | 49 +++++ docs/link.html | 136 ------------- docs/link.rst | 134 +++++++++++++ docs/using.md | 49 +++++ 34 files changed, 510 insertions(+), 207 deletions(-) create mode 100644 .circleci/config.yml create mode 100644 docs/Makefile rename docs/{ => _static/link_gen}/link.js (97%) rename docs/{ => _static/link_gen}/vendor/bootstrap-4.1.3/css/bootstrap-grid.css (100%) rename docs/{ => _static/link_gen}/vendor/bootstrap-4.1.3/css/bootstrap-grid.css.map (100%) rename docs/{ => _static/link_gen}/vendor/bootstrap-4.1.3/css/bootstrap-grid.min.css (100%) rename docs/{ => _static/link_gen}/vendor/bootstrap-4.1.3/css/bootstrap-grid.min.css.map (100%) rename docs/{ => _static/link_gen}/vendor/bootstrap-4.1.3/css/bootstrap-reboot.css (100%) rename docs/{ => _static/link_gen}/vendor/bootstrap-4.1.3/css/bootstrap-reboot.css.map (100%) rename docs/{ => _static/link_gen}/vendor/bootstrap-4.1.3/css/bootstrap-reboot.min.css (100%) rename docs/{ => _static/link_gen}/vendor/bootstrap-4.1.3/css/bootstrap-reboot.min.css.map (100%) rename docs/{ => _static/link_gen}/vendor/bootstrap-4.1.3/css/bootstrap.css (100%) rename docs/{ => _static/link_gen}/vendor/bootstrap-4.1.3/css/bootstrap.css.map (100%) rename docs/{ => _static/link_gen}/vendor/bootstrap-4.1.3/css/bootstrap.min.css (100%) rename docs/{ => _static/link_gen}/vendor/bootstrap-4.1.3/css/bootstrap.min.css.map (100%) rename docs/{ => _static/link_gen}/vendor/bootstrap-4.1.3/js/bootstrap.bundle.js (100%) rename docs/{ => _static/link_gen}/vendor/bootstrap-4.1.3/js/bootstrap.bundle.js.map (100%) rename docs/{ => _static/link_gen}/vendor/bootstrap-4.1.3/js/bootstrap.bundle.min.js (100%) rename docs/{ => _static/link_gen}/vendor/bootstrap-4.1.3/js/bootstrap.bundle.min.js.map (100%) rename docs/{ => _static/link_gen}/vendor/bootstrap-4.1.3/js/bootstrap.js (100%) rename docs/{ => _static/link_gen}/vendor/bootstrap-4.1.3/js/bootstrap.js.map (100%) rename docs/{ => _static/link_gen}/vendor/bootstrap-4.1.3/js/bootstrap.min.js (100%) rename docs/{ => _static/link_gen}/vendor/bootstrap-4.1.3/js/bootstrap.min.js.map (100%) rename docs/{ => _static/link_gen}/vendor/jquery-3.3.1.slim.min.js (100%) rename docs/{ => _static}/nbpuller.gif (100%) create mode 100644 docs/_templates/layout.html create mode 100644 docs/conf.py create mode 100644 docs/doc-requirements.txt create mode 100644 docs/index.md delete mode 100644 docs/link.html create mode 100644 docs/link.rst create mode 100644 docs/using.md diff --git a/.circleci/config.yml b/.circleci/config.yml new file mode 100644 index 00000000..7059aeb0 --- /dev/null +++ b/.circleci/config.yml @@ -0,0 +1,38 @@ +version: 2 +jobs: + build_docs: + docker: + - image: circleci/python:3.6-stretch + steps: + # Get our data and merge with upstream + - run: sudo apt-get update + - checkout + # Python env + - run: echo "export PATH=~/.local/bin:$PATH" >> $BASH_ENV + + - restore_cache: + keys: + - cache-pip + - run: pip install --user -r docs/doc-requirements.txt + - save_cache: + key: cache-pip + paths: + - ~/.cache/pip + + # Build the docs + - run: + name: Build docs to store + command: | + cd docs + make html + + - store_artifacts: + path: docs/_build/html/ + destination: html + + +workflows: + version: 2 + default: + jobs: + - build_docs \ No newline at end of file diff --git a/.gitignore b/.gitignore index a64ee243..7626168a 100644 --- a/.gitignore +++ b/.gitignore @@ -13,3 +13,6 @@ data8assets/ .autopull_list summer/ test-repo/ + +.ipynb_checkpoints +docs/_build \ No newline at end of file diff --git a/README.md b/README.md index 193fa7ee..4f7ec9e3 100644 --- a/README.md +++ b/README.md @@ -3,11 +3,10 @@ Create links for one-way synchronization of a remote git repository to a local git repository, with automatic conflict resolution. Meant for use with a Jupyter server. -[Generate your own nbgitpuller links here](https://jupyterhub.github.io/nbgitpuller/link). +* [**For more information, check out the nbgitpuller documentation**](https://jupyterhub.github.io/nbgitpuller) +* [Generate your own nbgitpuller links here](https://jupyterhub.github.io/nbgitpuller/link.html). -[YouTube video instructions for teachers.](https://youtu.be/o7U0ZuICVFg) - -![nbgitpuller demo](docs/nbpuller.gif) +![nbgitpuller demo](docs/_static/nbpuller.gif) # Installation @@ -27,54 +26,6 @@ into the user's current folder within Jupyter, while rendering a nice status pag This is especially useful when running on a JupyterHub, since it allows easy distribution of materials to users without requiring them to understand git. -# Merging behavior - -When a link is clicked, we try to make opinionated intelligent guesses on how to -do a merge automatically, without making the user do a conflict resolution. -nbgitpuller is designed to be used by folks who do not know that git is being used -underneath, and are only pulling content one way from a source and modifying it - -not pushing it back. -So we have made the following opinionated decisions. - - -1. If content has changed in both places, prefer local changes over remote changes. -2. If a file was deleted locally but present in the remote, remote file is restored - to local repository. This allows users to get a 'fresh copy' of a file by - just deleting the file locally & clicking the link again. -3. If a file exists locally but is untracked by git (maybe someone uploaded it manually), - then rename the file, and pull in remote copy. - -# When to use nbgitpuller - -You should use this when: - -1. You are running a JupyterHub for a class & want an easy way to distribute materials to - your students without them having to understand what git is. -2. You have a different out of band method for collecting completed assignments / notebooks - from students, since they can not just 'push it back' via git. - -You should *not* use this when: - -1. You are an instructor using a JupyterHub / running notebooks locally to create materials - and push them to a git repository. You should just use git directly, since the assumptions - and design of nbgitpuller **will** surprise you in unexpected ways if you are pushing with - git but pulling with nbgitpuller. -2. Your students are performing manual git operations on the git repository cloned as well as - using nbgitpuller. Mixing manual git operations + automatic nbgitpuller operations is going - to cause surprises on an ongoing basis, and should be avoided. - -# How to use nbgitpuller - -1. Visit the nbgitpuller link generator at https://jupyterhub.github.io/nbgitpuller/link. -2. Enter the IP address or URL to your JupyterHub. Include http:// or https:// as appropriate. -3. Enter an alternative URL path if desired. If not set, the generated link will take users to the default hub url, however this can be changed. For example specifying "lab" will launch JupyterLab if installed. Entering "path/to/a/notebook.ipynb" will open that notebook. -4. Enter the URL to your Git repository. This can reference any Git service provider such as GitHub, GitLab, or a local instance. -5. If your git repository is using a non-default branch name, you can specify that under branch. Most people do not need to customize this. - -The link printed at the bottom of the form can be distributed to users. You can also click it to test that it is working as intended, and adjust the form values until you get something you are happy with. - -To preseed the form, append query string arguments to the link generator itself, for example https://jupyterhub.github.io/nbgitpuller/link?hub=http://jupyterhub.example.com. This may be useful when you want to suggest initial values to someone else. The other parameters are `urlpath`, `repo`, and `branch`. Resetting the form will remove the seeded values and re-enable the form fields. - # Local development You can easily set up to develop this locally, without requiring a JupyterHub. It requires python3. @@ -109,17 +60,3 @@ You can easily set up to develop this locally, without requiring a JupyterHub. I localhost:8888/git-pull?repo=https://github.com/data-8/materials-fa17 ``` 7. Make the changes you want to make, and restart the jupyter notebook for them to take effect. - -# Using the command line interface - -It is also possible to use `nbgitpuller` from the command line. For example, -here's how to synchronize the repository listed above using the command line: - -``` -gitpuller https://github.com/data-8/materials-fa17 master my_materials_fa17 -``` - -This will synchronize the `master` branch of the repository to a folder -called `my_materials_fa17`. - -See the command line help for more information. diff --git a/docs/Makefile b/docs/Makefile new file mode 100644 index 00000000..9764015b --- /dev/null +++ b/docs/Makefile @@ -0,0 +1,20 @@ +# Minimal makefile for Sphinx documentation +# + +# You can set these variables from the command line. +SPHINXOPTS = +SPHINXBUILD = sphinx-build +SPHINXPROJ = Binder +SOURCEDIR = . +BUILDDIR = _build + +# Put it first so that "make" without argument is like "make help". +help: + @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) + +.PHONY: help Makefile + +# Catch-all target: route all unknown targets to Sphinx using the new +# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). +%: Makefile + @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) diff --git a/docs/link.js b/docs/_static/link_gen/link.js similarity index 97% rename from docs/link.js rename to docs/_static/link_gen/link.js index 4655d3b8..874962fb 100644 --- a/docs/link.js +++ b/docs/_static/link_gen/link.js @@ -3,10 +3,10 @@ function generateRegularUrl(hubUrl, urlPath, repoUrl, branch) { // assume hubUrl is a valid URL var url = new URL(hubUrl); - + url.searchParams.set('repo', repoUrl); - if (urlPath) { + if (urlPath) { url.searchParams.set('urlpath', urlPath); } @@ -89,7 +89,7 @@ function populateFromQueryString() { var params = new URLSearchParams(window.location.search); // Parameters are read from query string, and fields are set to them var allowedParams = ['hub', 'repo', 'branch']; - for (var i=0; i < allowedParams.length; i++) { + for (var i = 0; i < allowedParams.length; i++) { var param = allowedParams[i]; if (params.has(param)) { document.getElementById(param).value = params.get(param); @@ -132,12 +132,12 @@ function render() { function main() { // Hook up any changes in form elements to call render() document.querySelectorAll('#linkgenerator input[type="radio"]').forEach( - function(element) { + function (element) { element.addEventListener('change', render); } ) document.querySelectorAll('#linkgenerator input[type="text"], #linkgenerator input[type="url"]').forEach( - function(element) { + function (element) { element.addEventListener('input', render); } ) diff --git a/docs/vendor/bootstrap-4.1.3/css/bootstrap-grid.css b/docs/_static/link_gen/vendor/bootstrap-4.1.3/css/bootstrap-grid.css similarity index 100% rename from docs/vendor/bootstrap-4.1.3/css/bootstrap-grid.css rename to docs/_static/link_gen/vendor/bootstrap-4.1.3/css/bootstrap-grid.css diff --git a/docs/vendor/bootstrap-4.1.3/css/bootstrap-grid.css.map b/docs/_static/link_gen/vendor/bootstrap-4.1.3/css/bootstrap-grid.css.map similarity index 100% rename from docs/vendor/bootstrap-4.1.3/css/bootstrap-grid.css.map rename to docs/_static/link_gen/vendor/bootstrap-4.1.3/css/bootstrap-grid.css.map diff --git a/docs/vendor/bootstrap-4.1.3/css/bootstrap-grid.min.css b/docs/_static/link_gen/vendor/bootstrap-4.1.3/css/bootstrap-grid.min.css similarity index 100% rename from docs/vendor/bootstrap-4.1.3/css/bootstrap-grid.min.css rename to docs/_static/link_gen/vendor/bootstrap-4.1.3/css/bootstrap-grid.min.css diff --git a/docs/vendor/bootstrap-4.1.3/css/bootstrap-grid.min.css.map b/docs/_static/link_gen/vendor/bootstrap-4.1.3/css/bootstrap-grid.min.css.map similarity index 100% rename from docs/vendor/bootstrap-4.1.3/css/bootstrap-grid.min.css.map rename to docs/_static/link_gen/vendor/bootstrap-4.1.3/css/bootstrap-grid.min.css.map diff --git a/docs/vendor/bootstrap-4.1.3/css/bootstrap-reboot.css b/docs/_static/link_gen/vendor/bootstrap-4.1.3/css/bootstrap-reboot.css similarity index 100% rename from docs/vendor/bootstrap-4.1.3/css/bootstrap-reboot.css rename to docs/_static/link_gen/vendor/bootstrap-4.1.3/css/bootstrap-reboot.css diff --git a/docs/vendor/bootstrap-4.1.3/css/bootstrap-reboot.css.map b/docs/_static/link_gen/vendor/bootstrap-4.1.3/css/bootstrap-reboot.css.map similarity index 100% rename from docs/vendor/bootstrap-4.1.3/css/bootstrap-reboot.css.map rename to docs/_static/link_gen/vendor/bootstrap-4.1.3/css/bootstrap-reboot.css.map diff --git a/docs/vendor/bootstrap-4.1.3/css/bootstrap-reboot.min.css b/docs/_static/link_gen/vendor/bootstrap-4.1.3/css/bootstrap-reboot.min.css similarity index 100% rename from docs/vendor/bootstrap-4.1.3/css/bootstrap-reboot.min.css rename to docs/_static/link_gen/vendor/bootstrap-4.1.3/css/bootstrap-reboot.min.css diff --git a/docs/vendor/bootstrap-4.1.3/css/bootstrap-reboot.min.css.map b/docs/_static/link_gen/vendor/bootstrap-4.1.3/css/bootstrap-reboot.min.css.map similarity index 100% rename from docs/vendor/bootstrap-4.1.3/css/bootstrap-reboot.min.css.map rename to docs/_static/link_gen/vendor/bootstrap-4.1.3/css/bootstrap-reboot.min.css.map diff --git a/docs/vendor/bootstrap-4.1.3/css/bootstrap.css b/docs/_static/link_gen/vendor/bootstrap-4.1.3/css/bootstrap.css similarity index 100% rename from docs/vendor/bootstrap-4.1.3/css/bootstrap.css rename to docs/_static/link_gen/vendor/bootstrap-4.1.3/css/bootstrap.css diff --git a/docs/vendor/bootstrap-4.1.3/css/bootstrap.css.map b/docs/_static/link_gen/vendor/bootstrap-4.1.3/css/bootstrap.css.map similarity index 100% rename from docs/vendor/bootstrap-4.1.3/css/bootstrap.css.map rename to docs/_static/link_gen/vendor/bootstrap-4.1.3/css/bootstrap.css.map diff --git a/docs/vendor/bootstrap-4.1.3/css/bootstrap.min.css b/docs/_static/link_gen/vendor/bootstrap-4.1.3/css/bootstrap.min.css similarity index 100% rename from docs/vendor/bootstrap-4.1.3/css/bootstrap.min.css rename to docs/_static/link_gen/vendor/bootstrap-4.1.3/css/bootstrap.min.css diff --git a/docs/vendor/bootstrap-4.1.3/css/bootstrap.min.css.map b/docs/_static/link_gen/vendor/bootstrap-4.1.3/css/bootstrap.min.css.map similarity index 100% rename from docs/vendor/bootstrap-4.1.3/css/bootstrap.min.css.map rename to docs/_static/link_gen/vendor/bootstrap-4.1.3/css/bootstrap.min.css.map diff --git a/docs/vendor/bootstrap-4.1.3/js/bootstrap.bundle.js b/docs/_static/link_gen/vendor/bootstrap-4.1.3/js/bootstrap.bundle.js similarity index 100% rename from docs/vendor/bootstrap-4.1.3/js/bootstrap.bundle.js rename to docs/_static/link_gen/vendor/bootstrap-4.1.3/js/bootstrap.bundle.js diff --git a/docs/vendor/bootstrap-4.1.3/js/bootstrap.bundle.js.map b/docs/_static/link_gen/vendor/bootstrap-4.1.3/js/bootstrap.bundle.js.map similarity index 100% rename from docs/vendor/bootstrap-4.1.3/js/bootstrap.bundle.js.map rename to docs/_static/link_gen/vendor/bootstrap-4.1.3/js/bootstrap.bundle.js.map diff --git a/docs/vendor/bootstrap-4.1.3/js/bootstrap.bundle.min.js b/docs/_static/link_gen/vendor/bootstrap-4.1.3/js/bootstrap.bundle.min.js similarity index 100% rename from docs/vendor/bootstrap-4.1.3/js/bootstrap.bundle.min.js rename to docs/_static/link_gen/vendor/bootstrap-4.1.3/js/bootstrap.bundle.min.js diff --git a/docs/vendor/bootstrap-4.1.3/js/bootstrap.bundle.min.js.map b/docs/_static/link_gen/vendor/bootstrap-4.1.3/js/bootstrap.bundle.min.js.map similarity index 100% rename from docs/vendor/bootstrap-4.1.3/js/bootstrap.bundle.min.js.map rename to docs/_static/link_gen/vendor/bootstrap-4.1.3/js/bootstrap.bundle.min.js.map diff --git a/docs/vendor/bootstrap-4.1.3/js/bootstrap.js b/docs/_static/link_gen/vendor/bootstrap-4.1.3/js/bootstrap.js similarity index 100% rename from docs/vendor/bootstrap-4.1.3/js/bootstrap.js rename to docs/_static/link_gen/vendor/bootstrap-4.1.3/js/bootstrap.js diff --git a/docs/vendor/bootstrap-4.1.3/js/bootstrap.js.map b/docs/_static/link_gen/vendor/bootstrap-4.1.3/js/bootstrap.js.map similarity index 100% rename from docs/vendor/bootstrap-4.1.3/js/bootstrap.js.map rename to docs/_static/link_gen/vendor/bootstrap-4.1.3/js/bootstrap.js.map diff --git a/docs/vendor/bootstrap-4.1.3/js/bootstrap.min.js b/docs/_static/link_gen/vendor/bootstrap-4.1.3/js/bootstrap.min.js similarity index 100% rename from docs/vendor/bootstrap-4.1.3/js/bootstrap.min.js rename to docs/_static/link_gen/vendor/bootstrap-4.1.3/js/bootstrap.min.js diff --git a/docs/vendor/bootstrap-4.1.3/js/bootstrap.min.js.map b/docs/_static/link_gen/vendor/bootstrap-4.1.3/js/bootstrap.min.js.map similarity index 100% rename from docs/vendor/bootstrap-4.1.3/js/bootstrap.min.js.map rename to docs/_static/link_gen/vendor/bootstrap-4.1.3/js/bootstrap.min.js.map diff --git a/docs/vendor/jquery-3.3.1.slim.min.js b/docs/_static/link_gen/vendor/jquery-3.3.1.slim.min.js similarity index 100% rename from docs/vendor/jquery-3.3.1.slim.min.js rename to docs/_static/link_gen/vendor/jquery-3.3.1.slim.min.js diff --git a/docs/nbpuller.gif b/docs/_static/nbpuller.gif similarity index 100% rename from docs/nbpuller.gif rename to docs/_static/nbpuller.gif diff --git a/docs/_templates/layout.html b/docs/_templates/layout.html new file mode 100644 index 00000000..a1f824ad --- /dev/null +++ b/docs/_templates/layout.html @@ -0,0 +1,21 @@ +{%- extends "alabaster_jupyterhub/layout.html" %} + + +{% block extrahead %} +{% if pagename == 'link' %} + +{% endif %} +{{ super() }} +{% endblock %} + + +{% block sidebar1 %} +{% if pagename != 'link' %} +{%- include "rightsidebar.html" %} +{% endif %} +{% endblock %} \ No newline at end of file diff --git a/docs/conf.py b/docs/conf.py new file mode 100644 index 00000000..881c44f8 --- /dev/null +++ b/docs/conf.py @@ -0,0 +1,178 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- + +import os +import requests +from recommonmark.transform import AutoStructify + +github_doc_root = "https://github.com/rtfd/recommonmark/tree/master/doc/" + + +def setup(app): + app.add_config_value( + "recommonmark_config", + { + "url_resolver": lambda url: github_doc_root + url, + "auto_toc_tree_section": "Contents", + }, + True, + ) + app.add_transform(AutoStructify) + app.add_stylesheet("custom.css") + app.add_stylesheet("link_gen/vendor/bootstrap-4.1.3/css/bootstrap.min.css") + app.add_javascript("link_gen/vendor/jquery-3.3.1.slim.min.js") + app.add_javascript("link_gen/link.js") + app.add_javascript("link_gen/vendor/bootstrap-4.1.3/js/bootstrap.bundle.min.js") + + +# -- General configuration ------------------------------------------------ + +# If your documentation needs a minimal Sphinx version, state it here. +# +# needs_sphinx = '1.0' + +# Add any Sphinx extension module names here, as strings. They can be +# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom +# ones. +extensions = ["sphinx_copybutton"] + +# Add any paths that contain templates here, relative to this directory. +templates_path = ["_templates"] + +# The suffix(es) of source filenames. +# You can specify multiple suffix as a list of string: + +source_suffix = [".rst", ".md"] + +from recommonmark.parser import CommonMarkParser + +source_parsers = {".md": CommonMarkParser} + + +# The master toctree document. +master_doc = "index" + +# General information about the project. +project = "nbgitpuller" +copyright = "2017, The nbgitpuller Team" +author = "The nbgitpuller Team" + +# The version info for the project you're documenting, acts as replacement for +# |version| and |release|, also used in various other places throughout the +# built documents. +# +# The short X.Y version. +version = "0.1b" +# The full version, including alpha/beta/rc tags. +release = "0.1b" + +# The language for content autogenerated by Sphinx. Refer to documentation +# for a list of supported languages. +# +# This is also used if you do content translation via gettext catalogs. +# Usually you set "language" from the command line for these cases. +language = None + +# List of patterns, relative to source directory, that match files and +# directories to ignore when looking for source files. +# This patterns also effect to html_static_path and html_extra_path +exclude_patterns = ["_build", "Thumbs.db", ".DS_Store"] + +html_sidebars = {"**": ["globaltoc.html", "relations.html", "searchbox.html"]} + +# The name of the Pygments (syntax highlighting) style to use. +pygments_style = "sphinx" + +# If true, `todo` and `todoList` produce output, else they produce nothing. +todo_include_todos = False + +# -- Options for HTML output ---------------------------------------------- + +# The theme to use for HTML and HTML Help pages. See the documentation for +# a list of builtin themes. +# +import alabaster_jupyterhub + +html_theme = "alabaster_jupyterhub" +html_theme_path = [alabaster_jupyterhub.get_html_theme_path()] + +# Theme options are theme-specific and customize the look and feel of a theme +# further. For a list of options available for each theme, see the +# documentation. +# +# html_theme_options = {} + +html_context = { + "github_user": "jupyterhub", + "github_repo": "nbgitpuller", + "github_version": "master", + "doc_path": "doc", + "source_suffix": source_suffix, +} + +# Add any paths that contain custom static files (such as style sheets) here, +# relative to this directory. They are copied after the builtin static files, +# so a file named "default.css" will overwrite the builtin "default.css". +html_static_path = ["_static"] + + +# -- Options for HTMLHelp output ------------------------------------------ + +# Output file base name for HTML help builder. +htmlhelp_basename = "nbgitpullerdoc" + + +# -- Options for LaTeX output --------------------------------------------- + +latex_elements = { + # The paper size ('letterpaper' or 'a4paper'). + # + # 'papersize': 'letterpaper', + # The font size ('10pt', '11pt' or '12pt'). + # + # 'pointsize': '10pt', + # Additional stuff for the LaTeX preamble. + # + # 'preamble': '', + # Latex figure (float) alignment + # + # 'figure_align': 'htbp', +} + +# Grouping the document tree into LaTeX files. List of tuples +# (source start file, target name, title, +# author, documentclass [howto, manual, or own class]). +latex_documents = [ + ( + master_doc, + "nbgitpuller.tex", + "nbgitpuller Documentation", + "The nbgitpuller Team", + "manual", + ) +] + + +# -- Options for manual page output --------------------------------------- + +# One entry per manual page. List of tuples +# (source start file, name, description, authors, manual section). +man_pages = [(master_doc, "nbgitpuller", "nbgitpuller Documentation", [author], 1)] + + +# -- Options for Texinfo output ------------------------------------------- + +# Grouping the document tree into Texinfo files. List of tuples +# (source start file, target name, title, author, +# dir menu entry, description, category) +texinfo_documents = [ + ( + master_doc, + "nbgitpuller", + "nbgitpuller Documentation", + author, + "nbgitpuller", + "One line description of project.", + "Miscellaneous", + ) +] diff --git a/docs/doc-requirements.txt b/docs/doc-requirements.txt new file mode 100644 index 00000000..489ed3f7 --- /dev/null +++ b/docs/doc-requirements.txt @@ -0,0 +1,10 @@ +recommonmark==0.4.0 +sphinx_copybutton +traitlets +jupyterhub +sphinx>=1.3.6,!=1.5.4 +alabaster +alabaster_jupyterhub +memory_profiler +pytest +PyGitHub \ No newline at end of file diff --git a/docs/index.md b/docs/index.md new file mode 100644 index 00000000..2a6477fe --- /dev/null +++ b/docs/index.md @@ -0,0 +1,49 @@ +# NBGitpuller + +Create links for one-way synchronization of a remote git repository to a local git repository, +with automatic conflict resolution. Meant for use with a Jupyter server. + +![nbgitpuller demo](_static/nbpuller.gif) + +## Contents + +See below for some helpful links on how to use `nbgitpuller`. + +* [Using nbgitpuller](using.md) +* [Generate your own nbgitpuller links here](link.rst) +* [YouTube video instructions for teachers.](https://youtu.be/o7U0ZuICVFg) + +## Installation + +You can install nbgitpuller from PyPI. + + pip install nbgitpuller + +You can then enable the serverextension + + jupyter serverextension enable --py nbgitpuller --sys-prefix + +## What is it? + +nbgitpuller allows you to construct a URL that points to a remote git repository. +When it is clicked, nbgitpuller will pull the contents of this repository +into the user's current folder within Jupyter, while rendering a nice status page. +This is especially useful when running on a JupyterHub, since it allows easy distribution +of materials to users without requiring them to understand git. + +## Merging behavior + +When a link is clicked, we try to make opinionated intelligent guesses on how to +do a merge automatically, without making the user do a conflict resolution. +nbgitpuller is designed to be used by folks who do not know that git is being used +underneath, and are only pulling content one way from a source and modifying it - +not pushing it back. +So we have made the following opinionated decisions. + + +1. If content has changed in both places, prefer local changes over remote changes. +2. If a file was deleted locally but present in the remote, remote file is restored + to local repository. This allows users to get a 'fresh copy' of a file by + just deleting the file locally & clicking the link again. +3. If a file exists locally but is untracked by git (maybe someone uploaded it manually), + then rename the file, and pull in remote copy. \ No newline at end of file diff --git a/docs/link.html b/docs/link.html deleted file mode 100644 index d7b33aa9..00000000 --- a/docs/link.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - - - - - - nbgitpuller Link Generator - - -
-

nbgitpuller link generator

- -
- -
- - - -
-
- -
-
- -
-
- -
- -
- -
- -
- Must be a valid web URL -
- - The JupyterHub to send users to. - nbgitpuller must be installed in this hub. - -
-
- -
- -
- -
- Must be a valid git URL -
-
-
-
-
- branch -
- -
-
-
- -
- -
- - - This file or directory from within the repo will open when user clicks the link. - -
-
- -
-
- - - -
-
-
- - -
-
- - -
-
- - -
-
- - - -
-
-
- -
-
- - diff --git a/docs/link.rst b/docs/link.rst new file mode 100644 index 00000000..e4b3026a --- /dev/null +++ b/docs/link.rst @@ -0,0 +1,134 @@ +nbgitpuller link generator +========================== + +Use the following form to create your own ``nbgitpuller`` links. + +.. raw:: html + +
+
+ +
+ + + +
+
+ +
+
+ +
+
+ +
+ +
+ +
+ +
+ Must be a valid web URL +
+ + The JupyterHub to send users to. + nbgitpuller must be installed in this hub. + +
+
+ +
+ +
+ +
+ Must be a valid git URL +
+
+
+
+
+ branch +
+ +
+
+
+ +
+ +
+ + + This file or directory from within the repo will open when user clicks the link. + +
+
+ +
+
+ + + +
+
+
+ + +
+
+ + +
+
+ + +
+
+ + + +
+
+
+ +
+
+


+ + +**Pre-populating some fields in the link generator** + +You can pre-populate some fields in order to make it easier for some +users to create their own links. To do so, use the following URL +parameters **when accessing this page**: + +* ``hub`` is the URL of a JupyterHub +* ``repo`` is the URL of a github repository to which you're linking +* ``branch`` is the branch you wish to pull from the Repository + +For example, the following URL will pre-populate the form with the +UC Berkeley DataHub as the JupyterHub:: + + https://jupyterhub.github.io/nbgitpuller/link?hub=https://datahub.berkeley.edu \ No newline at end of file diff --git a/docs/using.md b/docs/using.md new file mode 100644 index 00000000..dae67152 --- /dev/null +++ b/docs/using.md @@ -0,0 +1,49 @@ +# Using nbgitpuller + +This page covers some of the common reasons and ways to use nbgitpuller. + +## When to use nbgitpuller + +You should use nbgitpuller when: + +1. You are running a JupyterHub for a class & want an easy way to distribute materials to + your students without them having to understand what git is. +2. You have a different out of band method for collecting completed assignments / notebooks + from students, since they can not just 'push it back' via git. + +You should *not* use this when: + +1. You are an instructor using a JupyterHub / running notebooks locally to create materials + and push them to a git repository. You should just use git directly, since the assumptions + and design of nbgitpuller **will** surprise you in unexpected ways if you are pushing with + git but pulling with nbgitpuller. +2. Your students are performing manual git operations on the git repository cloned as well as + using nbgitpuller. Mixing manual git operations + automatic nbgitpuller operations is going + to cause surprises on an ongoing basis, and should be avoided. + +## How to use nbgitpuller + +1. Visit the nbgitpuller link generator at https://jupyterhub.github.io/nbgitpuller/link.html. +2. Enter the IP address or URL to your JupyterHub. Include http:// or https:// as appropriate. +3. Enter an alternative URL path if desired. If not set, the generated link will take users to the default hub url, however this can be changed. For example specifying "lab" will launch JupyterLab if installed. Entering "path/to/a/notebook.ipynb" will open that notebook. +4. Enter the URL to your Git repository. This can reference any Git service provider such as GitHub, GitLab, or a local instance. +5. If your git repository is using a non-default branch name, you can specify that under branch. Most people do not need to customize this. + +The link printed at the bottom of the form can be distributed to users. You can also click it to test that it is working as intended, and adjust the form values until you get something you are happy with. + +To preseed the form, append query string arguments to the link generator itself, for example https://jupyterhub.github.io/nbgitpuller/link?hub=http://jupyterhub.example.com. This may be useful when you want to suggest initial values to someone else. The other parameters are `urlpath`, `repo`, and `branch`. Resetting the form will remove the seeded values and re-enable the form fields. + + +## Using the command line interface + +It is also possible to use `nbgitpuller` from the command line. For example, +here's how to synchronize the repository listed above using the command line: + +``` +gitpuller https://github.com/data-8/materials-fa17 master my_materials_fa17 +``` + +This will synchronize the `master` branch of the repository to a folder +called `my_materials_fa17`. + +See the command line help for more information. From 195fbbfb79c7141fe1e17f0abc4124ce69ea0927 Mon Sep 17 00:00:00 2001 From: Chris Holdgraf Date: Tue, 21 May 2019 16:34:16 -0700 Subject: [PATCH 047/284] circle config to push docs --- .circleci/config.yml | 53 +++++++++++++++++++++++++++++++++----------- 1 file changed, 40 insertions(+), 13 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 7059aeb0..7c896484 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,8 +1,46 @@ -version: 2 +version: 2.1 jobs: build_docs: docker: - image: circleci/python:3.6-stretch + steps: + - build_site + - store_artifacts: + path: docs/_build/html/ + destination: html + + push_docs: + docker: + - image: circleci/python:3.6-stretch + steps: + # Add deployment key fingerprint for CircleCI to use for a push + - add_ssh_keys: + fingerprints: + # The SSH key fingerprint + - "c5:70:b9:1b:9a:cf:e3:88:25:9f:33:8e:ee:09:76:9f" + + - build_site + + - run: + name: Pushing documentation to gh-pages + command: | + pip install --user ghp-import + ghp-import -n -p docs/_build/html + +workflows: + version: 2 + default: + jobs: + - build_docs + - push_docs: + filters: # using regex filters requires the entire branch to match + branches: + only: # only branches matching the below regex filters will run + - master + +commands: + build_site: + description: "Build the site with sphinx" steps: # Get our data and merge with upstream - run: sudo apt-get update @@ -24,15 +62,4 @@ jobs: name: Build docs to store command: | cd docs - make html - - - store_artifacts: - path: docs/_build/html/ - destination: html - - -workflows: - version: 2 - default: - jobs: - - build_docs \ No newline at end of file + make html \ No newline at end of file From 43d0e531e8503a2a82924c50a8b44adb6c68f6ca Mon Sep 17 00:00:00 2001 From: Thierry Parmentelat Date: Thu, 23 May 2019 14:32:36 +0200 Subject: [PATCH 048/284] documentation clarification close #80 --- docs/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/index.md b/docs/index.md index 2a6477fe..b8599d0e 100644 --- a/docs/index.md +++ b/docs/index.md @@ -46,4 +46,4 @@ So we have made the following opinionated decisions. to local repository. This allows users to get a 'fresh copy' of a file by just deleting the file locally & clicking the link again. 3. If a file exists locally but is untracked by git (maybe someone uploaded it manually), - then rename the file, and pull in remote copy. \ No newline at end of file + and the updated commit contains that file, then rename the file, and pull in remote copy. From 91c695f59bd7d1662ca860eaf914186f38ea8ffb Mon Sep 17 00:00:00 2001 From: Simon Li Date: Mon, 22 Oct 2018 15:20:15 +0100 Subject: [PATCH 049/284] repo destination can be configured --- nbgitpuller/handlers.py | 7 ++++--- nbgitpuller/static/index.js | 7 +++++-- nbgitpuller/templates/status.html | 1 + 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/nbgitpuller/handlers.py b/nbgitpuller/handlers.py index ea36a2b4..1bae3793 100644 --- a/nbgitpuller/handlers.py +++ b/nbgitpuller/handlers.py @@ -65,7 +65,7 @@ def get(self): # scope after cloning. Sometimes server_root_dir will include # things like `~` and so the path must be expanded. repo_dir = os.path.join(os.path.expanduser(self.settings['server_root_dir']), - repo.split('/')[-1]) + self.get_argument('repodir', repo.split('/')[-1])) # We gonna send out event streams! self.set_header('content-type', 'text/event-stream') @@ -156,7 +156,7 @@ def get(self): if urlPath: path = urlPath else: - repo_dir = repo.split('/')[-1] + repo_dir = self.get_argument('repodir', repo.split('/')[-1]) path = os.path.join(repo_dir, subPath) if app.lower() == 'lab': path = 'lab/tree/' + path @@ -168,7 +168,7 @@ def get(self): self.write( self.render_template( 'status.html', - repo=repo, branch=branch, path=path, depth=depth, version=__version__ + repo=repo, branch=branch, path=path, depth=depth, repodir=repo_dir, version=__version__ )) self.flush() @@ -194,6 +194,7 @@ def get(self): 'repo': repo_url, 'branch': self.get_argument('branch', 'gh-pages'), 'depth': self.get_argument('depth'), + 'repodir': self.get_argument('repodir'), 'subPath': self.get_argument('path') } new_url = '{base}git-pull?{query}'.format( diff --git a/nbgitpuller/static/index.js b/nbgitpuller/static/index.js index 255e0297..4ef42958 100644 --- a/nbgitpuller/static/index.js +++ b/nbgitpuller/static/index.js @@ -12,12 +12,13 @@ require([ Terminal.applyAddon(fit); - function GitSync(baseUrl, repo, branch, depth, path) { + function GitSync(baseUrl, repo, branch, depth, repodir, path) { // Class that talks to the API backend & emits events as appropriate this.baseUrl = baseUrl; this.repo = repo; this.branch = branch; this.depth = depth; + this.repodir = repodir; this.redirectUrl = baseUrl + path; this.callbacks = {}; @@ -43,7 +44,8 @@ require([ // Start git pulling handled by SyncHandler, declared in handlers.py var syncUrlParams = { repo: this.repo, - branch: this.branch + branch: this.branch, + repodir: this.repodir } if (typeof this.depth !== 'undefined' && this.depth != undefined) { syncUrlParams['depth'] = this.depth; @@ -129,6 +131,7 @@ require([ utils.get_body_data('repo'), utils.get_body_data('branch'), utils.get_body_data('depth'), + utils.get_body_data('repodir'), utils.get_body_data('path') ); diff --git a/nbgitpuller/templates/status.html b/nbgitpuller/templates/status.html index b538b9f7..7cc3c6f8 100644 --- a/nbgitpuller/templates/status.html +++ b/nbgitpuller/templates/status.html @@ -7,6 +7,7 @@ data-path="{{ path | urlencode }}" data-branch="{{ branch | urlencode }}" {% if depth %}data-depth="{{ depth | urlencode }}"{% endif %} +data-repodir="{{ repodir | urlencode }}" {% endblock %} {% block site %} From 5c615ab6547cd717ae9b53050507fafcfcbf2555 Mon Sep 17 00:00:00 2001 From: Simon Li Date: Mon, 22 Oct 2018 15:31:01 +0100 Subject: [PATCH 050/284] Rename repodir param to targetPath --- nbgitpuller/handlers.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/nbgitpuller/handlers.py b/nbgitpuller/handlers.py index 1bae3793..2b000420 100644 --- a/nbgitpuller/handlers.py +++ b/nbgitpuller/handlers.py @@ -156,7 +156,7 @@ def get(self): if urlPath: path = urlPath else: - repo_dir = self.get_argument('repodir', repo.split('/')[-1]) + repo_dir = self.get_argument('targetPath', repo.split('/')[-1]) path = os.path.join(repo_dir, subPath) if app.lower() == 'lab': path = 'lab/tree/' + path @@ -195,7 +195,8 @@ def get(self): 'branch': self.get_argument('branch', 'gh-pages'), 'depth': self.get_argument('depth'), 'repodir': self.get_argument('repodir'), - 'subPath': self.get_argument('path') + 'subPath': self.get_argument('path'), + 'targetPath': self.get_argument('targetPath') } new_url = '{base}git-pull?{query}'.format( base=self.base_url, From fcbbbd8982fe75c406176fdeac9fc5ad6f0a5927 Mon Sep 17 00:00:00 2001 From: Simon Li Date: Mon, 22 Oct 2018 17:39:02 +0100 Subject: [PATCH 051/284] change repodir to targetpath throughout --- nbgitpuller/handlers.py | 11 ++++++----- nbgitpuller/static/index.js | 8 ++++---- nbgitpuller/templates/status.html | 2 +- 3 files changed, 11 insertions(+), 10 deletions(-) diff --git a/nbgitpuller/handlers.py b/nbgitpuller/handlers.py index 2b000420..d8c78c3e 100644 --- a/nbgitpuller/handlers.py +++ b/nbgitpuller/handlers.py @@ -65,7 +65,7 @@ def get(self): # scope after cloning. Sometimes server_root_dir will include # things like `~` and so the path must be expanded. repo_dir = os.path.join(os.path.expanduser(self.settings['server_root_dir']), - self.get_argument('repodir', repo.split('/')[-1])) + self.get_argument('targetpath', repo.split('/')[-1])) # We gonna send out event streams! self.set_header('content-type', 'text/event-stream') @@ -152,12 +152,13 @@ def get(self): subPath = self.get_argument('subpath', None) or \ self.get_argument('subPath', '.') app = self.get_argument('app', app_env) + targetpath = self.get_argument('targetpath', None) or \ + self.get_argument('targetPath', repo.split('/')[-1]) if urlPath: path = urlPath else: - repo_dir = self.get_argument('targetPath', repo.split('/')[-1]) - path = os.path.join(repo_dir, subPath) + path = os.path.join(targetpath, subPath) if app.lower() == 'lab': path = 'lab/tree/' + path elif path.lower().endswith('.ipynb'): @@ -168,7 +169,7 @@ def get(self): self.write( self.render_template( 'status.html', - repo=repo, branch=branch, path=path, depth=depth, repodir=repo_dir, version=__version__ + repo=repo, branch=branch, path=path, depth=depth, targetpath=targetpath, version=__version__ )) self.flush() @@ -196,7 +197,7 @@ def get(self): 'depth': self.get_argument('depth'), 'repodir': self.get_argument('repodir'), 'subPath': self.get_argument('path'), - 'targetPath': self.get_argument('targetPath') + 'targetPath': self.get_argument('targetpath') } new_url = '{base}git-pull?{query}'.format( base=self.base_url, diff --git a/nbgitpuller/static/index.js b/nbgitpuller/static/index.js index 4ef42958..7bd193c5 100644 --- a/nbgitpuller/static/index.js +++ b/nbgitpuller/static/index.js @@ -12,13 +12,13 @@ require([ Terminal.applyAddon(fit); - function GitSync(baseUrl, repo, branch, depth, repodir, path) { + function GitSync(baseUrl, repo, branch, depth, targetpath, path) { // Class that talks to the API backend & emits events as appropriate this.baseUrl = baseUrl; this.repo = repo; this.branch = branch; this.depth = depth; - this.repodir = repodir; + this.targetpath = targetpath; this.redirectUrl = baseUrl + path; this.callbacks = {}; @@ -45,7 +45,7 @@ require([ var syncUrlParams = { repo: this.repo, branch: this.branch, - repodir: this.repodir + targetpath: this.targetpath } if (typeof this.depth !== 'undefined' && this.depth != undefined) { syncUrlParams['depth'] = this.depth; @@ -131,7 +131,7 @@ require([ utils.get_body_data('repo'), utils.get_body_data('branch'), utils.get_body_data('depth'), - utils.get_body_data('repodir'), + utils.get_body_data('targetpath'), utils.get_body_data('path') ); diff --git a/nbgitpuller/templates/status.html b/nbgitpuller/templates/status.html index 7cc3c6f8..b20a7b7f 100644 --- a/nbgitpuller/templates/status.html +++ b/nbgitpuller/templates/status.html @@ -7,7 +7,7 @@ data-path="{{ path | urlencode }}" data-branch="{{ branch | urlencode }}" {% if depth %}data-depth="{{ depth | urlencode }}"{% endif %} -data-repodir="{{ repodir | urlencode }}" +data-targetpath="{{ targetpath | urlencode }}" {% endblock %} {% block site %} From c105a7a96663554081b045793791e57d2b6912ee Mon Sep 17 00:00:00 2001 From: Simon Li Date: Wed, 15 May 2019 15:11:03 +0100 Subject: [PATCH 052/284] Add NBGITPULLER_PARENTPATH to control default repo parent dir --- nbgitpuller/handlers.py | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/nbgitpuller/handlers.py b/nbgitpuller/handlers.py index d8c78c3e..96f91d70 100644 --- a/nbgitpuller/handlers.py +++ b/nbgitpuller/handlers.py @@ -61,11 +61,13 @@ def get(self): # directory assuming either --notebook-dir= is used from the # command line or c.NotebookApp.notebook_dir is set in the jupyter # configuration. This line assures that all repos are cloned - # relative to server_root_dir, so that all repos are always in - # scope after cloning. Sometimes server_root_dir will include - # things like `~` and so the path must be expanded. - repo_dir = os.path.join(os.path.expanduser(self.settings['server_root_dir']), - self.get_argument('targetpath', repo.split('/')[-1])) + # relative to server_root_dir/, + # so that all repos are always in scope after cloning. Sometimes + # server_root_dir will include things like `~` and so the path + # must be expanded. + repo_parent_dir = os.path.join(os.path.expanduser(self.settings['server_root_dir']), + os.getenv('NBGITPULLER_PARENTPATH', '')) + repo_dir = os.path.join(repo_parent_dir, self.get_argument('targetpath', repo.split('/')[-1])) # We gonna send out event streams! self.set_header('content-type', 'text/event-stream') @@ -152,13 +154,14 @@ def get(self): subPath = self.get_argument('subpath', None) or \ self.get_argument('subPath', '.') app = self.get_argument('app', app_env) + parent_reldir = os.getenv('NBGITPULLER_PARENTPATH', '') targetpath = self.get_argument('targetpath', None) or \ self.get_argument('targetPath', repo.split('/')[-1]) if urlPath: path = urlPath else: - path = os.path.join(targetpath, subPath) + path = os.path.join(parent_reldir, targetpath, subPath) if app.lower() == 'lab': path = 'lab/tree/' + path elif path.lower().endswith('.ipynb'): From d010460a80df5da29702b2af7bc4a42fd96466c6 Mon Sep 17 00:00:00 2001 From: Simon Li Date: Wed, 15 May 2019 15:11:26 +0100 Subject: [PATCH 053/284] Document NBGITPULLER_PARENTPATH and targetPath --- docs/using.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/docs/using.md b/docs/using.md index dae67152..e147b4a5 100644 --- a/docs/using.md +++ b/docs/using.md @@ -33,6 +33,11 @@ The link printed at the bottom of the form can be distributed to users. You can To preseed the form, append query string arguments to the link generator itself, for example https://jupyterhub.github.io/nbgitpuller/link?hub=http://jupyterhub.example.com. This may be useful when you want to suggest initial values to someone else. The other parameters are `urlpath`, `repo`, and `branch`. Resetting the form will remove the seeded values and re-enable the form fields. +# Git clone destination + +Git repositories are cloned into the default working directory. +You can specify a different parent directory for the clone by setting the environment variable `NBGITPULLER_PARENTPATH`, this should be relative to the working directory. +If you require full control over the destination directory, or want to set the directory at runtime in the nbgitpuller link use the `targetPath` parameter. ## Using the command line interface From c4042d7cbb6ab2927f515b329d6a6e65ebd598cb Mon Sep 17 00:00:00 2001 From: Simon Li Date: Fri, 17 May 2019 13:10:49 +0100 Subject: [PATCH 054/284] Remove changes to LegacyInteractRedirectHandler --- nbgitpuller/handlers.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/nbgitpuller/handlers.py b/nbgitpuller/handlers.py index 96f91d70..f6b0419c 100644 --- a/nbgitpuller/handlers.py +++ b/nbgitpuller/handlers.py @@ -198,9 +198,7 @@ def get(self): 'repo': repo_url, 'branch': self.get_argument('branch', 'gh-pages'), 'depth': self.get_argument('depth'), - 'repodir': self.get_argument('repodir'), - 'subPath': self.get_argument('path'), - 'targetPath': self.get_argument('targetpath') + 'subPath': self.get_argument('path') } new_url = '{base}git-pull?{query}'.format( base=self.base_url, From 289be0a94bd7a8547c8e4d07cd59a6d2ba58531f Mon Sep 17 00:00:00 2001 From: yuvipanda Date: Tue, 28 May 2019 19:58:16 -0700 Subject: [PATCH 055/284] Redo documentation - Rewrite most of the documentation - Rewrite the README --- README.md | 62 ---------------------- README.rst | 14 +++++ docs/index.md | 49 ----------------- docs/index.rst | 90 ++++++++++++++++++++++++++++++++ docs/install.rst | 26 +++++++++ docs/topic/automatic-merging.rst | 61 ++++++++++++++++++++++ docs/using.md | 49 ----------------- 7 files changed, 191 insertions(+), 160 deletions(-) delete mode 100644 README.md create mode 100644 README.rst delete mode 100644 docs/index.md create mode 100644 docs/index.rst create mode 100644 docs/install.rst create mode 100644 docs/topic/automatic-merging.rst delete mode 100644 docs/using.md diff --git a/README.md b/README.md deleted file mode 100644 index 4f7ec9e3..00000000 --- a/README.md +++ /dev/null @@ -1,62 +0,0 @@ -# nbgitpuller - -Create links for one-way synchronization of a remote git repository to a local git repository, -with automatic conflict resolution. Meant for use with a Jupyter server. - -* [**For more information, check out the nbgitpuller documentation**](https://jupyterhub.github.io/nbgitpuller) -* [Generate your own nbgitpuller links here](https://jupyterhub.github.io/nbgitpuller/link.html). - -![nbgitpuller demo](docs/_static/nbpuller.gif) - -# Installation - -You can install nbgitpuller from PyPI. - - pip install nbgitpuller - -You can then enable the serverextension - - jupyter serverextension enable --py nbgitpuller --sys-prefix - -# What is it? - -nbgitpuller allows you to construct a URL that points to a remote git repository. -When it is clicked, nbgitpuller will pull the contents of this repository -into the user's current folder within Jupyter, while rendering a nice status page. -This is especially useful when running on a JupyterHub, since it allows easy distribution -of materials to users without requiring them to understand git. - -# Local development - -You can easily set up to develop this locally, without requiring a JupyterHub. It requires python3. - -1. Clone this repository - ``` - git clone https://github.com/data-8/nbgitpuller - ``` - -2. Change into it and create a virtual environment - ``` - cd nbgitpuller - python3 -m venv . - ``` - -3. Install it with symlinks, so you can easily play with it. - ``` - pip install -e . - ``` -4. Enable the jupyter notebook server extension. This provides the `git-pull` URL handlers. - ``` - jupyter serverextension enable --sys-prefix nbgitpuller - ``` -5. Run a jupyter notebook locally! - ``` - jupyter notebook - ``` -6. Construct a nbgitpuller URL exactly like you would for a hub, but instead of prefixing it - with `myjupyterhub.org/hub/user-redirect`, just use `localhost:8888` or whatever the - url of your running notebook is. For example, the following URL would pull down a repo: - ``` - localhost:8888/git-pull?repo=https://github.com/data-8/materials-fa17 - ``` -7. Make the changes you want to make, and restart the jupyter notebook for them to take effect. diff --git a/README.rst b/README.rst new file mode 100644 index 00000000..4569fcb5 --- /dev/null +++ b/README.rst @@ -0,0 +1,14 @@ +=========== +nbgitpuller +=========== + +``nbgitpuller`` lets you distribute content in a git repository to your +students by having them click a simple link. :ref:`Automatic, opinioned +conflict resolution ` ensures that your students are +never exposed to ``git`` directly. It is primarily used with a JupyterHub, +but can also work on students' local computers. + +.. image:: docs/_static/nbpuller.gif + +For a lot more information, see the `documentation +`_ diff --git a/docs/index.md b/docs/index.md deleted file mode 100644 index b8599d0e..00000000 --- a/docs/index.md +++ /dev/null @@ -1,49 +0,0 @@ -# NBGitpuller - -Create links for one-way synchronization of a remote git repository to a local git repository, -with automatic conflict resolution. Meant for use with a Jupyter server. - -![nbgitpuller demo](_static/nbpuller.gif) - -## Contents - -See below for some helpful links on how to use `nbgitpuller`. - -* [Using nbgitpuller](using.md) -* [Generate your own nbgitpuller links here](link.rst) -* [YouTube video instructions for teachers.](https://youtu.be/o7U0ZuICVFg) - -## Installation - -You can install nbgitpuller from PyPI. - - pip install nbgitpuller - -You can then enable the serverextension - - jupyter serverextension enable --py nbgitpuller --sys-prefix - -## What is it? - -nbgitpuller allows you to construct a URL that points to a remote git repository. -When it is clicked, nbgitpuller will pull the contents of this repository -into the user's current folder within Jupyter, while rendering a nice status page. -This is especially useful when running on a JupyterHub, since it allows easy distribution -of materials to users without requiring them to understand git. - -## Merging behavior - -When a link is clicked, we try to make opinionated intelligent guesses on how to -do a merge automatically, without making the user do a conflict resolution. -nbgitpuller is designed to be used by folks who do not know that git is being used -underneath, and are only pulling content one way from a source and modifying it - -not pushing it back. -So we have made the following opinionated decisions. - - -1. If content has changed in both places, prefer local changes over remote changes. -2. If a file was deleted locally but present in the remote, remote file is restored - to local repository. This allows users to get a 'fresh copy' of a file by - just deleting the file locally & clicking the link again. -3. If a file exists locally but is untracked by git (maybe someone uploaded it manually), - and the updated commit contains that file, then rename the file, and pull in remote copy. diff --git a/docs/index.rst b/docs/index.rst new file mode 100644 index 00000000..3790f90d --- /dev/null +++ b/docs/index.rst @@ -0,0 +1,90 @@ +=========== +nbgitpuller +=========== + +``nbgitpuller`` lets you distribute content in a git repository to your +students by having them click a simple link. :ref:`Automatic, opinioned +conflict resolution ` ensures that your students are +never exposed to ``git`` directly. It is primarily used with a JupyterHub, +but can also work on students' local laptops. + +.. image:: _static/nbpuller.gif + +When to use nbgitpuller? +======================== + +You should use nbgitpuller when: + +#. You are running a JupyterHub for a class & want an easy way to distribute + materials to your students without them having to understand what git is. +#. You have a different out of band method for collecting completed + assignments / notebooks from students, since they can not just 'push it + back' via git. + +You should **not** use nbgitpuller when: + +#. You are an instructor using a JupyterHub / running notebooks locally to + create materials and push them to a git repository. You should just use + git directly, since the assumptions and design of nbgitpuller **will** + surprise you in unexpected ways if you are pushing with git but pulling + with nbgitpuller. +#. Your students are performing manual git operations on the git repository + cloned as well as using nbgitpuller. Mixing manual git operations + + automatic nbgitpuller operations is going to cause surprises on an ongoing + basis, and should be avoided. + +Installation +============ + +If you already have a JupyterHub, you can follow :ref:`these installation +instructions ` to install nbgitpuller there. They should also +work for installation on a local Jupyter Notebook installation without +JupyterHub. + +If you do *not* have a JupyterHub, we recommend trying out `The Littlest +JupyterHub `_ to set one up. It comes built +in with nbgitpuller. + +Using nbgitpuller as an instructor +================================== + +Once installed, you create a specially crafted web link (called +*nbgitpuller links*) and send to your students via any method you like - +course website, LMS, email, etc. This link will contain at least the +following information: + +#. The location of the JupyterHub you are sending them to. +#. The git repository where you have published your content. +#. Optionally, a particular file or directory you want to automatically + open for your students once the repository has been synchronized. + +The first time a particular student clicks the link, a local copy of the +repository is made for the student. On successive clicks, the latest version +of the remote repository is fetched, and merged automatically with the +student's local copy using a :ref:`series of rules ` +that ensure students never get merge conflicts. + +You can generate such *nbgitpuller links* with the `generator +`_. + +There is also a video showing you how to use nbgitpuller + +.. raw:: html + + + +Full Contents +======== + +.. toctree:: + :maxdepth: 2 + + install + topic/automatic-merging + link \ No newline at end of file diff --git a/docs/install.rst b/docs/install.rst new file mode 100644 index 00000000..3359794a --- /dev/null +++ b/docs/install.rst @@ -0,0 +1,26 @@ +.. _install: + +============ +Installation +============ + +You can install ``nbgitpuller`` from PyPI with ``pip`` in the same +environment where your jupyter notebook package is installed. + +.. code:: bash + + pip install nbgitpuller + +Troubleshooting +=============== + +nbgitpuller link shows `404 Not Found` +------------------------------------- + +If you are on an old version of Jupyter Notebook, you might get a `404 Not Found` +error when trying to access an nbgitpuller link. You might need to manually enable +the server extension that handles nbgitpuller. + +.. code:: bash + + jupyter serverextension enable nbgitpuller --sys-prefix diff --git a/docs/topic/automatic-merging.rst b/docs/topic/automatic-merging.rst new file mode 100644 index 00000000..524035e1 --- /dev/null +++ b/docs/topic/automatic-merging.rst @@ -0,0 +1,61 @@ +.. _topic/merging: + +========================== +Automatic Merging Behavior +========================== + +``nbgitpuller`` tries to make sure the end user who clicked the link +**never** has to manually interact with the git repo. This requires us to +make some opinionated choices on how we handle various cases where both the +student (end user) and instructor (author of the repo) repo have modified the +repository. + +Here, how describe we handle the various possible cases each time the +student clicks the nbgitpuller link. + +Case 1: Student and instructor changed different files +====================================================== + +The student's changes are left alone, and the instructor's changes are pulled +in to the local copy. Most common case. This is also what happens when the +instructor adds a new file / directory. + +Case 2: Student & instructor changed different lines in same file +================================================================= + +Very similar to case 1 - the student's changes are left alone, and the +instructor's changes are merged in to the existing local file. + +Case 3: Student & instructor change same lines in same file +=========================================================== + +In this case, we **always keep the student's changes**. We want to never +accidentally lose a student's changes - ``nbgitpuller`` will not eat your +homework. + +Case 4: Student deletes file locally, but instructor doesn't +============================================================ + +If the student has deleted a file locally, but the file is still present in +the remote repo, the file from the remote repo is pulled into the student's +directory. This enables the use case where a student wants to 'start over' +a file after having made many changes to it. They can simply delete the file, +click the nbgitpuller link again, and get a fresh copy. + +Case 5: Student creates file manually, but instructor adds file with same name +============================================================================== + +As an example, let's say the student manually creates a file named +``Untitled141.ipynb`` in the directory where nbgitpuller has pulled a +repository. At some point afterwards, the instructor creates a file *also* +named ``Untitled141.ipynb`` and pushes it to the repo. + +When the student clicks the nbgitpuller link next, we want to make sure we +don't destroy the student's work. Since they were created in two different +places, the likelihood of them being mergeable is low. So we **rename** the +student's file, and pull the instructor's file. So the student's +``Untitled141.ipynb`` file will be renamed to +``Untitled141_.ipynb``, and the instructor's file will be kept at +``Untitled141.ipynb``. + +This is a fairly rare case in our experience. diff --git a/docs/using.md b/docs/using.md deleted file mode 100644 index dae67152..00000000 --- a/docs/using.md +++ /dev/null @@ -1,49 +0,0 @@ -# Using nbgitpuller - -This page covers some of the common reasons and ways to use nbgitpuller. - -## When to use nbgitpuller - -You should use nbgitpuller when: - -1. You are running a JupyterHub for a class & want an easy way to distribute materials to - your students without them having to understand what git is. -2. You have a different out of band method for collecting completed assignments / notebooks - from students, since they can not just 'push it back' via git. - -You should *not* use this when: - -1. You are an instructor using a JupyterHub / running notebooks locally to create materials - and push them to a git repository. You should just use git directly, since the assumptions - and design of nbgitpuller **will** surprise you in unexpected ways if you are pushing with - git but pulling with nbgitpuller. -2. Your students are performing manual git operations on the git repository cloned as well as - using nbgitpuller. Mixing manual git operations + automatic nbgitpuller operations is going - to cause surprises on an ongoing basis, and should be avoided. - -## How to use nbgitpuller - -1. Visit the nbgitpuller link generator at https://jupyterhub.github.io/nbgitpuller/link.html. -2. Enter the IP address or URL to your JupyterHub. Include http:// or https:// as appropriate. -3. Enter an alternative URL path if desired. If not set, the generated link will take users to the default hub url, however this can be changed. For example specifying "lab" will launch JupyterLab if installed. Entering "path/to/a/notebook.ipynb" will open that notebook. -4. Enter the URL to your Git repository. This can reference any Git service provider such as GitHub, GitLab, or a local instance. -5. If your git repository is using a non-default branch name, you can specify that under branch. Most people do not need to customize this. - -The link printed at the bottom of the form can be distributed to users. You can also click it to test that it is working as intended, and adjust the form values until you get something you are happy with. - -To preseed the form, append query string arguments to the link generator itself, for example https://jupyterhub.github.io/nbgitpuller/link?hub=http://jupyterhub.example.com. This may be useful when you want to suggest initial values to someone else. The other parameters are `urlpath`, `repo`, and `branch`. Resetting the form will remove the seeded values and re-enable the form fields. - - -## Using the command line interface - -It is also possible to use `nbgitpuller` from the command line. For example, -here's how to synchronize the repository listed above using the command line: - -``` -gitpuller https://github.com/data-8/materials-fa17 master my_materials_fa17 -``` - -This will synchronize the `master` branch of the repository to a folder -called `my_materials_fa17`. - -See the command line help for more information. From 6a2096c329907ff663f5d5b4ffa38013a4666f43 Mon Sep 17 00:00:00 2001 From: yuvipanda Date: Wed, 29 May 2019 13:48:33 -0700 Subject: [PATCH 056/284] Add docs on various URL options --- docs/index.rst | 6 ++- docs/topic/url-options.rst | 94 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 99 insertions(+), 1 deletion(-) create mode 100644 docs/topic/url-options.rst diff --git a/docs/index.rst b/docs/index.rst index 3790f90d..a9a7c2d2 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -79,12 +79,16 @@ There is also a video showing you how to use nbgitpuller allowfullscreen> +If you are interested in the details of available options when creating +the link, we have a :ref:`list of options ` as well. + Full Contents -======== +============= .. toctree:: :maxdepth: 2 install topic/automatic-merging + topic/url-options link \ No newline at end of file diff --git a/docs/topic/url-options.rst b/docs/topic/url-options.rst new file mode 100644 index 00000000..ba955e35 --- /dev/null +++ b/docs/topic/url-options.rst @@ -0,0 +1,94 @@ +.. _topic/url-options: + +============================= +Options in an nbgitpuller URL +============================= + +.. note:: + + If you just want to generate an nbgitpuller link, we highly + recommend just using the `link generator `_ + +Most aspects of the nbgitpuller student experience can be configured +with various options in the nbgitpuller URL. This page documents +the various options available, and their behavior. + +``repo`` +======== + +The path to the git repository to be pulled from. This will accept +any parameter that can be passed to a ``git clone`` command. + +``branch`` +========== + +Branch in the git repo to pull from. Defaults to ``master``. + +``urlpath`` +=========== + +The URL to redirect the user to after synchronization has been complete. This +URL is primarily used to open a specific file or directory in a specific +application. This URL is interpreted relative to the base of the notebook +server. The URL to be specified depends on the application you want +the file to be opened in. + +.. warning:: + + ```` is relative to the directory the notebook + server was launched in - so the directory you see if you login to + JupyterHub regularly. This means you **must** include the name of + the local repository directory too, otherwise nbgitpuller can not + find the file. + + For example, if the repository you are cloning is + ``https://github.com/my-user/my-repository``, and the file you want + your students to see is ``index.ipynb``, then ```` + should be ``my-repository/index.ipynb``, **not** ``index.ipynb``. + + The `link generator `_ + takes care of all of this for you, so it is recommended to use that. + + +Classic Jupyter Notebook +------------------------ + +To open a notebook, file or directory in the classic Jupyter Notebook +interface, your pattern should be: ``/tree/``. + +JupyterLab +---------- + +To open a notebook, file or directory in the classic Jupyter Notebook +interface, your pattern should be: +``/lab/tree/%3Fautodecode``. + +The ``%3Fautodecode`` at the end makes sure you never get `a message +`_ about needing to +explicitly name a JupyterLab workspace. + +RStudio +------- + +If you have RStudio installed and set up for use with your JupyterHub, +you can pass ``/rstudio`` to ``urlpath`` to open RStudio after the +repo has been pulled. You can not have RStudio open a specific file +or directory, unfortunately. + +``depth`` +========= + +How deep to clone the git repo on initial pull. By default, the +entire history of the git repository is pulled. This might be +slow if your git repository is large. You can set this to 1 to +pull only the latest commit on initial pull. + +Only explicitly set this if you are actively having performance +problems. + + +Deprecated parameters +===================== + +The following parameters are currently deprecated, and will be removed in +a future version: ``subpath``, ``app``. \ No newline at end of file From f2e7fdd6053a98e562abaffce9d639f8ffd47964 Mon Sep 17 00:00:00 2001 From: yuvipanda Date: Wed, 29 May 2019 13:48:43 -0700 Subject: [PATCH 057/284] Fix sphinx errors --- docs/index.rst | 2 +- docs/install.rst | 2 +- docs/topic/automatic-merging.rst | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/index.rst b/docs/index.rst index a9a7c2d2..68cca67f 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -37,7 +37,7 @@ Installation ============ If you already have a JupyterHub, you can follow :ref:`these installation -instructions ` to install nbgitpuller there. They should also +instructions ` to install nbgitpuller there. They should also work for installation on a local Jupyter Notebook installation without JupyterHub. diff --git a/docs/install.rst b/docs/install.rst index 3359794a..98f42f08 100644 --- a/docs/install.rst +++ b/docs/install.rst @@ -15,7 +15,7 @@ Troubleshooting =============== nbgitpuller link shows `404 Not Found` -------------------------------------- +-------------------------------------- If you are on an old version of Jupyter Notebook, you might get a `404 Not Found` error when trying to access an nbgitpuller link. You might need to manually enable diff --git a/docs/topic/automatic-merging.rst b/docs/topic/automatic-merging.rst index 524035e1..a2fc249e 100644 --- a/docs/topic/automatic-merging.rst +++ b/docs/topic/automatic-merging.rst @@ -1,4 +1,4 @@ -.. _topic/merging: +.. _topic/automatic-merging: ========================== Automatic Merging Behavior From 0e416d171e85c769fc484afb7fb0272070a81d82 Mon Sep 17 00:00:00 2001 From: Yuvi Panda Date: Wed, 29 May 2019 14:11:27 -0700 Subject: [PATCH 058/284] Apply typo fixes Co-Authored-By: Chris Holdgraf --- docs/topic/automatic-merging.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/topic/automatic-merging.rst b/docs/topic/automatic-merging.rst index a2fc249e..5aa6e4ec 100644 --- a/docs/topic/automatic-merging.rst +++ b/docs/topic/automatic-merging.rst @@ -10,11 +10,11 @@ make some opinionated choices on how we handle various cases where both the student (end user) and instructor (author of the repo) repo have modified the repository. -Here, how describe we handle the various possible cases each time the +Here, we describe how we handle the various possible cases each time the student clicks the nbgitpuller link. -Case 1: Student and instructor changed different files -====================================================== +Case 1: The instructor changed a file that the student has not changed +====================================================================== The student's changes are left alone, and the instructor's changes are pulled in to the local copy. Most common case. This is also what happens when the From 6a80a4def95e95bd76b32a91ce7446f6e17e3987 Mon Sep 17 00:00:00 2001 From: Cristian Klein Date: Fri, 14 Jun 2019 11:38:48 +0200 Subject: [PATCH 059/284] Allow git@example.com:repo links --- docs/link.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/link.rst b/docs/link.rst index e4b3026a..9edd0e4f 100644 --- a/docs/link.rst +++ b/docs/link.rst @@ -52,8 +52,8 @@ Use the following form to create your own ``nbgitpuller`` links.
- +
Must be a valid git URL
From 8473a645b769f467ce43da3c50e86c387bca5edd Mon Sep 17 00:00:00 2001 From: ryanlovett Date: Wed, 31 Jul 2019 09:50:36 -0700 Subject: [PATCH 060/284] Update version to 0.7.0. --- nbgitpuller/version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nbgitpuller/version.py b/nbgitpuller/version.py index db5cca00..558f150b 100644 --- a/nbgitpuller/version.py +++ b/nbgitpuller/version.py @@ -1,2 +1,2 @@ """"The nbgitpuller PyPI package SemVer version.""" -__version__ = '0.6.1' +__version__ = '0.7.0' From 25fad07968b5fbb5c2379bfd2fc4228ec01268cb Mon Sep 17 00:00:00 2001 From: yuvipanda Date: Thu, 29 Aug 2019 13:33:53 -0700 Subject: [PATCH 061/284] Fix legacy links with empty path empty query argument for 'path' seems to be no longer recognized by nbgitpuller / tornado, so we explicitly make sure we open in 'current directory' We also don't wanna support 'depth' in legacy URLs, so we remove support for it. --- nbgitpuller/handlers.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nbgitpuller/handlers.py b/nbgitpuller/handlers.py index ea36a2b4..66036c62 100644 --- a/nbgitpuller/handlers.py +++ b/nbgitpuller/handlers.py @@ -192,9 +192,9 @@ def get(self): repo_url = 'https://github.com/{account}/{repo}'.format(account=account, repo=repo) query = { 'repo': repo_url, + # branch & subPath are optional 'branch': self.get_argument('branch', 'gh-pages'), - 'depth': self.get_argument('depth'), - 'subPath': self.get_argument('path') + 'subPath': self.get_argument('path', '.') } new_url = '{base}git-pull?{query}'.format( base=self.base_url, From f90fec81feba6e5a7ef2125d617604800ae7df11 Mon Sep 17 00:00:00 2001 From: yuvipanda Date: Thu, 29 Aug 2019 13:58:27 -0700 Subject: [PATCH 062/284] Bump version number --- nbgitpuller/version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nbgitpuller/version.py b/nbgitpuller/version.py index 558f150b..fb0ad0ca 100644 --- a/nbgitpuller/version.py +++ b/nbgitpuller/version.py @@ -1,2 +1,2 @@ """"The nbgitpuller PyPI package SemVer version.""" -__version__ = '0.7.0' +__version__ = '0.7.1' From ebe93c9d8fe296050d957788beac48142e9c91af Mon Sep 17 00:00:00 2001 From: YuviPanda Date: Tue, 10 Sep 2019 16:26:22 -0700 Subject: [PATCH 063/284] Set authorship info on each commit, rather than repo-wide Some users were running into issues where somehow the authorship info set during initialization is lost, causing git commit to fail with error messages about lack of authorship information. We explicitly pass it in now during commit, making it far more robust. It also means we can clearly distinguish the commits made by nbgitpuller vs manually by the user. Finally, I had bought the nbgitpuller.link domain so it seems a reasonable thing to use as email :) Fixes #84 --- nbgitpuller/pull.py | 14 +++++++++----- tests/test_gitpuller.py | 4 ++++ 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/nbgitpuller/pull.py b/nbgitpuller/pull.py index 0d4b50d8..ea4f4a83 100644 --- a/nbgitpuller/pull.py +++ b/nbgitpuller/pull.py @@ -82,9 +82,8 @@ def pull(self): def initialize_repo(self): """ - Clones repository & sets up usernames. + Clones repository """ - logging.info('Repo {} doesn\'t exist. Cloning...'.format(self.repo_dir)) clone_args = ['git', 'clone'] if self.depth and self.depth > 0: @@ -92,8 +91,6 @@ def initialize_repo(self): clone_args.extend(['--branch', self.branch_name]) clone_args.extend([self.git_url, self.repo_dir]) yield from execute_cmd(clone_args) - yield from execute_cmd(['git', 'config', 'user.email', 'nbgitpuller@example.com'], cwd=self.repo_dir) - yield from execute_cmd(['git', 'config', 'user.name', 'nbgitpuller'], cwd=self.repo_dir) logging.info('Repo {} initialized'.format(self.repo_dir)) @@ -207,9 +204,16 @@ def update(self): # positive, returning True even when there are no local changes (git diff-files seems to return # bogus output?). While ideally that would not happen, allowing empty commits keeps us # resilient to that issue. + # We explicitly set authorship of the commits we are making, to keep that separate from + # whatever author info is set in system / repo config by the user. if self.repo_is_dirty(): yield from self.ensure_lock() - yield from execute_cmd(['git', 'commit', '-am', 'WIP', '--allow-empty'], cwd=self.repo_dir) + yield from execute_cmd([ + 'git', 'commit', + '--author', 'nbgitpuller ', + '-am', 'Automatic commit by nbgitpuller', + '--allow-empty' + ], cwd=self.repo_dir) # Merge master into local! yield from self.ensure_lock() diff --git a/tests/test_gitpuller.py b/tests/test_gitpuller.py index 245fb673..deb68217 100644 --- a/tests/test_gitpuller.py +++ b/tests/test_gitpuller.py @@ -180,6 +180,10 @@ def test_merging_simple(): puller.pull_all() + # There should be a commit made *before* the pull that has our explicit + # authorship, to record that it was made by nbgitpuller + assert puller.git('show', '-s', '--format="%an <%ae>"', 'HEAD^1') == '"nbgitpuller "' + assert puller.read_file('README.md') == '2' assert pusher.read_file('README.md') == '3' From a5dcbadc0b80f9744017eba2a2488a3541f002ac Mon Sep 17 00:00:00 2001 From: YuviPanda Date: Tue, 10 Sep 2019 16:47:32 -0700 Subject: [PATCH 064/284] Use -c to set user identity rather than authorship git still tries to figure out identity to set committer info and flunks. Thanks to https://stackoverflow.com/a/19841156 --- nbgitpuller/pull.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/nbgitpuller/pull.py b/nbgitpuller/pull.py index ea4f4a83..bf7f59e0 100644 --- a/nbgitpuller/pull.py +++ b/nbgitpuller/pull.py @@ -204,13 +204,17 @@ def update(self): # positive, returning True even when there are no local changes (git diff-files seems to return # bogus output?). While ideally that would not happen, allowing empty commits keeps us # resilient to that issue. - # We explicitly set authorship of the commits we are making, to keep that separate from - # whatever author info is set in system / repo config by the user. + # We explicitly set user info of the commits we are making, to keep that separate from + # whatever author info is set in system / repo config by the user. We pass '-c' to git + # itself (rather than to 'git commit') to temporarily set config variables. This is + # better than passing --author, since git treats author separately from committer. if self.repo_is_dirty(): yield from self.ensure_lock() yield from execute_cmd([ - 'git', 'commit', - '--author', 'nbgitpuller ', + 'git', + '-c', 'user.email=nbgitpuller@nbgitpuller.link', + '-c', 'user.name=nbgitpuller', + 'commit', '-am', 'Automatic commit by nbgitpuller', '--allow-empty' ], cwd=self.repo_dir) From 25572f221daf7e154312fc160e1fbc7016edfc56 Mon Sep 17 00:00:00 2001 From: YuviPanda Date: Tue, 10 Sep 2019 16:52:34 -0700 Subject: [PATCH 065/284] Set user identity for git merge command too --- nbgitpuller/pull.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/nbgitpuller/pull.py b/nbgitpuller/pull.py index bf7f59e0..fdaaa7cf 100644 --- a/nbgitpuller/pull.py +++ b/nbgitpuller/pull.py @@ -221,7 +221,13 @@ def update(self): # Merge master into local! yield from self.ensure_lock() - yield from execute_cmd(['git', 'merge', '-Xours', 'origin/{}'.format(self.branch_name)], cwd=self.repo_dir) + yield from execute_cmd([ + 'git', + '-c', 'user.email=nbgitpuller@nbgitpuller.link', + '-c', 'user.name=nbgitpuller', + 'merge', + '-Xours', 'origin/{}'.format(self.branch_name) + ], cwd=self.repo_dir) From 70bd6f05d2be6ee538836f654f58c84dae2519c0 Mon Sep 17 00:00:00 2001 From: YuviPanda Date: Tue, 10 Sep 2019 16:53:02 -0700 Subject: [PATCH 066/284] Trim trailing whitespace --- nbgitpuller/pull.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/nbgitpuller/pull.py b/nbgitpuller/pull.py index fdaaa7cf..b4f60883 100644 --- a/nbgitpuller/pull.py +++ b/nbgitpuller/pull.py @@ -214,8 +214,8 @@ def update(self): 'git', '-c', 'user.email=nbgitpuller@nbgitpuller.link', '-c', 'user.name=nbgitpuller', - 'commit', - '-am', 'Automatic commit by nbgitpuller', + 'commit', + '-am', 'Automatic commit by nbgitpuller', '--allow-empty' ], cwd=self.repo_dir) @@ -225,7 +225,7 @@ def update(self): 'git', '-c', 'user.email=nbgitpuller@nbgitpuller.link', '-c', 'user.name=nbgitpuller', - 'merge', + 'merge', '-Xours', 'origin/{}'.format(self.branch_name) ], cwd=self.repo_dir) From b4f5ef6440312b7ea8c8d54fbd1bd76799126362 Mon Sep 17 00:00:00 2001 From: YuviPanda Date: Wed, 11 Sep 2019 11:06:58 -0700 Subject: [PATCH 067/284] Bump version number --- nbgitpuller/version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nbgitpuller/version.py b/nbgitpuller/version.py index fb0ad0ca..b40793bc 100644 --- a/nbgitpuller/version.py +++ b/nbgitpuller/version.py @@ -1,2 +1,2 @@ """"The nbgitpuller PyPI package SemVer version.""" -__version__ = '0.7.1' +__version__ = '0.7.2' From 8f575e744b31a2743e4ead72e9af51a298752417 Mon Sep 17 00:00:00 2001 From: Erik Sundell Date: Wed, 2 Oct 2019 09:07:18 +0200 Subject: [PATCH 068/284] Link generator: init application type from query params --- docs/_static/link_gen/link.js | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/docs/_static/link_gen/link.js b/docs/_static/link_gen/link.js index 874962fb..f166e636 100644 --- a/docs/_static/link_gen/link.js +++ b/docs/_static/link_gen/link.js @@ -88,14 +88,17 @@ function populateFromQueryString() { // preseed values if specified in the url var params = new URLSearchParams(window.location.search); // Parameters are read from query string, and fields are set to them - var allowedParams = ['hub', 'repo', 'branch']; + var allowedParams = ['hub', 'repo', 'branch', 'app']; for (var i = 0; i < allowedParams.length; i++) { var param = allowedParams[i]; if (params.has(param)) { - document.getElementById(param).value = params.get(param); + if (param === 'app') { + form.querySelector('input[name="app"]:checked').value = params.get(param); + } else { + document.getElementById(param).value = params.get(param); + } } } - } /** From b2d1900fc2b724a9076f819e87903e6add12f2f3 Mon Sep 17 00:00:00 2001 From: Erik Sundell Date: Wed, 2 Oct 2019 09:29:17 +0200 Subject: [PATCH 069/284] Link generator: init urlpath from query params also --- docs/_static/link_gen/link.js | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/docs/_static/link_gen/link.js b/docs/_static/link_gen/link.js index f166e636..a9ce273a 100644 --- a/docs/_static/link_gen/link.js +++ b/docs/_static/link_gen/link.js @@ -88,11 +88,15 @@ function populateFromQueryString() { // preseed values if specified in the url var params = new URLSearchParams(window.location.search); // Parameters are read from query string, and fields are set to them - var allowedParams = ['hub', 'repo', 'branch', 'app']; + var allowedParams = ['hub', 'repo', 'branch', 'app', 'urlpath']; + if (params.has("urlpath")) { + // setting urlpath implies a custom app + form.querySelector('input[name="app"]:checked').value = 'custom'; + } for (var i = 0; i < allowedParams.length; i++) { var param = allowedParams[i]; if (params.has(param)) { - if (param === 'app') { + if ((param === 'app') && !params.has("urlpath")) { form.querySelector('input[name="app"]:checked').value = params.get(param); } else { document.getElementById(param).value = params.get(param); From 7ba4a1918718d2a45fa6568e5b03e68471879fc3 Mon Sep 17 00:00:00 2001 From: Erik Sundell Date: Wed, 2 Oct 2019 14:38:04 +0200 Subject: [PATCH 070/284] Link generator: fix app/urlpath queryparam init --- docs/_static/link_gen/link.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/docs/_static/link_gen/link.js b/docs/_static/link_gen/link.js index a9ce273a..932fe112 100644 --- a/docs/_static/link_gen/link.js +++ b/docs/_static/link_gen/link.js @@ -91,13 +91,14 @@ function populateFromQueryString() { var allowedParams = ['hub', 'repo', 'branch', 'app', 'urlpath']; if (params.has("urlpath")) { // setting urlpath implies a custom app - form.querySelector('input[name="app"]:checked').value = 'custom'; + document.getElementById('app-custom').checked = true; } for (var i = 0; i < allowedParams.length; i++) { var param = allowedParams[i]; if (params.has(param)) { if ((param === 'app') && !params.has("urlpath")) { - form.querySelector('input[name="app"]:checked').value = params.get(param); + radioId = 'app-' + params.get(param).toLowerCase(); + document.getElementById(radioId).checked = true; } else { document.getElementById(param).value = params.get(param); } From 10dee1f51f871ed11f889caffba9125c61090ccc Mon Sep 17 00:00:00 2001 From: Michael Date: Fri, 22 Nov 2019 15:35:49 -0500 Subject: [PATCH 071/284] Made the checkout from the reset_deleted_files to use the origin. --- nbgitpuller/pull.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nbgitpuller/pull.py b/nbgitpuller/pull.py index b4f60883..1911eeca 100644 --- a/nbgitpuller/pull.py +++ b/nbgitpuller/pull.py @@ -108,7 +108,7 @@ def reset_deleted_files(self): for filename in deleted_files: if filename: # Filter out empty lines - yield from execute_cmd(['git', 'checkout', '--', filename], cwd=self.repo_dir) + yield from execute_cmd(['git', 'checkout', 'origin/{}'.format(self.branch_name), '--', filename], cwd=self.repo_dir) def repo_is_dirty(self): """ From bf112aaca7001bbbcdc44da23d20a04d08e6ec82 Mon Sep 17 00:00:00 2001 From: ryanlovett Date: Sat, 23 Nov 2019 16:41:02 -0800 Subject: [PATCH 072/284] Update version. --- nbgitpuller/version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nbgitpuller/version.py b/nbgitpuller/version.py index b40793bc..67214ace 100644 --- a/nbgitpuller/version.py +++ b/nbgitpuller/version.py @@ -1,2 +1,2 @@ """"The nbgitpuller PyPI package SemVer version.""" -__version__ = '0.7.2' +__version__ = '0.8.0' From 9056d572ff9203719dce40084659e7f7c262c6ee Mon Sep 17 00:00:00 2001 From: Debbie Yuster Date: Fri, 27 Dec 2019 14:57:48 -0500 Subject: [PATCH 073/284] Update index.rst Clarify that specifying a file still results in the entire repo being copied. --- docs/index.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/index.rst b/docs/index.rst index 68cca67f..7139c0d1 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -56,7 +56,7 @@ following information: #. The location of the JupyterHub you are sending them to. #. The git repository where you have published your content. #. Optionally, a particular file or directory you want to automatically - open for your students once the repository has been synchronized. + open for your students once the repository has been synchronized. Note the entire repository will be copied, not just the specified file. The first time a particular student clicks the link, a local copy of the repository is made for the student. On successive clicks, the latest version @@ -91,4 +91,4 @@ Full Contents install topic/automatic-merging topic/url-options - link \ No newline at end of file + link From 60d7232d28adf59e635594da85d174d529b13aba Mon Sep 17 00:00:00 2001 From: YuviPanda Date: Fri, 7 Feb 2020 13:06:39 +0530 Subject: [PATCH 074/284] Use shallow clones by default Deep clones take up so much unnecessary space, and are unused 99% of the time. Shallow cloning in git is pretty good these days. This doesn't touch pre-existing clones --- nbgitpuller/pull.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nbgitpuller/pull.py b/nbgitpuller/pull.py index 1911eeca..2b7fb50c 100644 --- a/nbgitpuller/pull.py +++ b/nbgitpuller/pull.py @@ -43,12 +43,12 @@ def flush(): raise subprocess.CalledProcessError(ret, cmd) class GitPuller(Configurable): - depth = Integer(None, allow_none=True, config=True, + depth = Integer(1, config=True, help=""" Depth (ie, commit count) to which to perform a shallow git clone. - If not set, disables shallow clones. + If not set, clones to depth 1. Defaults to reading from the NBGITPULLER_DEPTH environment variable. From 31f75d4470d7d742a197c7c12f7f126b44378c2b Mon Sep 17 00:00:00 2001 From: YuviPanda Date: Fri, 7 Feb 2020 14:03:06 +0530 Subject: [PATCH 075/284] Fix detection of depth defaults --- nbgitpuller/pull.py | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/nbgitpuller/pull.py b/nbgitpuller/pull.py index 2b7fb50c..28c37cc1 100644 --- a/nbgitpuller/pull.py +++ b/nbgitpuller/pull.py @@ -43,23 +43,25 @@ def flush(): raise subprocess.CalledProcessError(ret, cmd) class GitPuller(Configurable): - depth = Integer(1, config=True, - help=""" - Depth (ie, commit count) to which to perform a - shallow git clone. + depth = Integer( + int(os.environ.get('NBGITPULLER_DEPTH', 1)), + config=True, + help=""" + Depth (ie, commit count) to which to perform a + shallow git clone. - If not set, clones to depth 1. + If not set, clones to depth 1. - Defaults to reading from the NBGITPULLER_DEPTH - environment variable. - """) + Defaults to reading from the NBGITPULLER_DEPTH + environment variable.""" + ) @default('depth') def _depth_default(self): depth = os.environ.get('NBGITPULLER_DEPTH') if depth: return int(depth) - return None + return 1 def __init__(self, git_url, branch_name, repo_dir, **kwargs): assert git_url and branch_name From 2d28acd46915ad408a84ca99885e8e3b20a8e403 Mon Sep 17 00:00:00 2001 From: YuviPanda Date: Fri, 7 Feb 2020 14:58:02 +0530 Subject: [PATCH 076/284] Remove extreneous default setting function --- nbgitpuller/pull.py | 7 ------- 1 file changed, 7 deletions(-) diff --git a/nbgitpuller/pull.py b/nbgitpuller/pull.py index 28c37cc1..3d05d7fb 100644 --- a/nbgitpuller/pull.py +++ b/nbgitpuller/pull.py @@ -56,13 +56,6 @@ class GitPuller(Configurable): environment variable.""" ) - @default('depth') - def _depth_default(self): - depth = os.environ.get('NBGITPULLER_DEPTH') - if depth: - return int(depth) - return 1 - def __init__(self, git_url, branch_name, repo_dir, **kwargs): assert git_url and branch_name From 52b8684e110dfb99d1a84175189167f1396f6593 Mon Sep 17 00:00:00 2001 From: Simon Li Date: Tue, 24 Mar 2020 19:47:26 +0000 Subject: [PATCH 077/284] Test /git-pull/api? --- tests/test_api.py | 88 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 tests/test_api.py diff --git a/tests/test_api.py b/tests/test_api.py new file mode 100644 index 00000000..07c90d59 --- /dev/null +++ b/tests/test_api.py @@ -0,0 +1,88 @@ +import os +from http.client import HTTPConnection +import subprocess +from time import sleep +from urllib.parse import quote +from uuid import uuid4 + +PORT = os.getenv('TEST_PORT', 18888) + + +def request_api(params, host='localhost'): + h = HTTPConnection(host, PORT, 10) + query = '&'.join('{}={}'.format(k, quote(v)) for (k, v) in params.items()) + url = '/git-pull/api?token=secret&{}'.format(query) + h.request('GET', url) + return h.getresponse() + + +class TestNbGitPullerApi: + + def setup(self): + self.jupyter_proc = None + + def teardown(self): + if self.jupyter_proc: + self.jupyter_proc.kill() + + def start_jupyter(self, jupyterdir, extraenv): + env = os.environ.copy() + env.update(extraenv) + command = [ + 'jupyter-notebook', + '--no-browser', + '--NotebookApp.token=secret', + '--port={}'.format(PORT), + ] + self.jupyter_proc = subprocess.Popen(command, cwd=jupyterdir, env=env) + sleep(2) + + def test_clone_default(self, tmpdir): + jupyterdir = str(tmpdir) + self.start_jupyter(jupyterdir, {}) + params = { + 'repo': 'https://github.com/binder-examples/jupyter-extension', + 'branch': 'master', + } + r = request_api(params) + assert r.code == 200 + s = r.read().decode() + print(s) + assert '"$ git clone --branch master https://github.com/binder-examples/jupyter-extension ' in s + assert "\"Cloning into '{}/{}'".format(jupyterdir, 'jupyter-extension') in s + assert os.path.isdir(os.path.join(jupyterdir, 'jupyter-extension', '.git')) + + def test_clone_targetpath(self, tmpdir): + jupyterdir = str(tmpdir) + target = str(uuid4()) + self.start_jupyter(jupyterdir, {}) + params = { + 'repo': 'https://github.com/binder-examples/jupyter-extension', + 'branch': 'master', + 'targetpath': target, + } + r = request_api(params) + assert r.code == 200 + s = r.read().decode() + print(s) + assert '"$ git clone --branch master https://github.com/binder-examples/jupyter-extension ' in s + assert "\"Cloning into '{}/{}'".format(jupyterdir, target) in s + assert os.path.isdir(os.path.join(jupyterdir, target, '.git')) + + def test_clone_parenttargetpath(self, tmpdir): + jupyterdir = str(tmpdir) + parent = str(uuid4()) + target = str(uuid4()) + self.start_jupyter(jupyterdir, {'NBGITPULLER_PARENTPATH': parent}) + params = { + 'repo': 'https://github.com/binder-examples/jupyter-extension', + 'branch': 'master', + 'targetpath': target, + } + r = request_api(params) + assert r.code == 200 + s = r.read().decode() + print(s) + assert '"$ git clone --branch master https://github.com/binder-examples/jupyter-extension ' in s + assert "\"Cloning into '{}/{}/{}'".format(jupyterdir, parent, target) in s + assert os.path.isdir(os.path.join(jupyterdir, parent, target, '.git')) From 8b2811522b027a6db50bf0b757281a86fe33d5ee Mon Sep 17 00:00:00 2001 From: Chris Holdgraf Date: Wed, 24 Jun 2020 11:37:00 -0700 Subject: [PATCH 078/284] updating theme --- docs/_templates/layout.html | 9 +-------- docs/conf.py | 11 +++++++---- docs/doc-requirements.txt | 5 ++--- docs/link.rst | 22 +++++++++++----------- 4 files changed, 21 insertions(+), 26 deletions(-) diff --git a/docs/_templates/layout.html b/docs/_templates/layout.html index a1f824ad..5598856a 100644 --- a/docs/_templates/layout.html +++ b/docs/_templates/layout.html @@ -1,4 +1,4 @@ -{%- extends "alabaster_jupyterhub/layout.html" %} +{%- extends "sphinx_book_theme/layout.html" %} {% block extrahead %} @@ -12,10 +12,3 @@ {% endif %} {{ super() }} {% endblock %} - - -{% block sidebar1 %} -{% if pagename != 'link' %} -{%- include "rightsidebar.html" %} -{% endif %} -{% endblock %} \ No newline at end of file diff --git a/docs/conf.py b/docs/conf.py index 881c44f8..c4c3b884 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -91,10 +91,7 @@ def setup(app): # The theme to use for HTML and HTML Help pages. See the documentation for # a list of builtin themes. # -import alabaster_jupyterhub - -html_theme = "alabaster_jupyterhub" -html_theme_path = [alabaster_jupyterhub.get_html_theme_path()] +html_theme = "sphinx_book_theme" # Theme options are theme-specific and customize the look and feel of a theme # further. For a list of options available for each theme, see the @@ -110,6 +107,12 @@ def setup(app): "source_suffix": source_suffix, } +html_theme_options = { + "repository_url": "https://github.com/jupyterhub/nbgitpuller", + "use_issues_button": True, + "use_repository_button": True +} + # Add any paths that contain custom static files (such as style sheets) here, # relative to this directory. They are copied after the builtin static files, # so a file named "default.css" will overwrite the builtin "default.css". diff --git a/docs/doc-requirements.txt b/docs/doc-requirements.txt index 489ed3f7..1aa2dad6 100644 --- a/docs/doc-requirements.txt +++ b/docs/doc-requirements.txt @@ -3,8 +3,7 @@ sphinx_copybutton traitlets jupyterhub sphinx>=1.3.6,!=1.5.4 -alabaster -alabaster_jupyterhub +sphinx-book-theme memory_profiler pytest -PyGitHub \ No newline at end of file +PyGitHub diff --git a/docs/link.rst b/docs/link.rst index 9edd0e4f..e4601d39 100644 --- a/docs/link.rst +++ b/docs/link.rst @@ -5,11 +5,11 @@ Use the following form to create your own ``nbgitpuller`` links. .. raw:: html -
+
- +
- + - +
@@ -33,7 +33,7 @@ Use the following form to create your own ``nbgitpuller`` links.
- +
@@ -43,12 +43,12 @@ Use the following form to create your own ``nbgitpuller`` links. Must be a valid web URL
- The JupyterHub to send users to. + The JupyterHub to send users to. nbgitpuller must be installed in this hub.
- +
@@ -67,7 +67,7 @@ Use the following form to create your own ``nbgitpuller`` links.
- +
@@ -78,7 +78,7 @@ Use the following form to create your own ``nbgitpuller`` links.
- +
@@ -112,7 +112,7 @@ Use the following form to create your own ``nbgitpuller`` links.
- +



@@ -131,4 +131,4 @@ parameters **when accessing this page**: For example, the following URL will pre-populate the form with the UC Berkeley DataHub as the JupyterHub:: - https://jupyterhub.github.io/nbgitpuller/link?hub=https://datahub.berkeley.edu \ No newline at end of file + https://jupyterhub.github.io/nbgitpuller/link?hub=https://datahub.berkeley.edu From 19dbd71b1d3ae1b6bae7899770a8cdb6a0442158 Mon Sep 17 00:00:00 2001 From: Greg Date: Wed, 24 Jun 2020 17:43:13 -0400 Subject: [PATCH 079/284] query param updates, added clarifications for assignment vs custom field settings Signed-off-by: Greg --- binder/link_generator.ipynb | 137 ++++++++++++++++++++++++++++-------- 1 file changed, 109 insertions(+), 28 deletions(-) diff --git a/binder/link_generator.ipynb b/binder/link_generator.ipynb index 08603f33..8bb0a812 100644 --- a/binder/link_generator.ipynb +++ b/binder/link_generator.ipynb @@ -12,51 +12,132 @@ "2. The git repository referred to in the nbgitpuller link is made up to date in their home directory (keeping local changes if there are merge conflicts)\n", "3. They are shown the specific notebook / directory referred to in the nbgitpuller link.\n", "\n", - "This is a great way to distribute materials to students." + "This is a great way to distribute materials to students.\n", + "\n", + "# Generate `nbgitpuller` links for your JupyterHub\n", + "\n", + "## Sequence of events when users click an `nbgitpuller` link pointing to your JupyterHub,\n", + "\n", + "1. They are asked to log in to the JupyterHub if they have not already\n", + "2. The git repository referred to in the nbgitpuller link is made up to date in their home directory (keeping local changes if there are merge conflicts)\n", + "3. They are shown the specific notebook / directory referred to in the nbgitpuller link.\n", + "\n", + "This is a great way to distribute materials to students.\n", + "\n", + "## Canvas LMS: Assignment Links vs Custom Fields\n", + "\n", + "The Canvas LMS expects the assignment link to include URL encoded parameters since the request is sent to the External Tool as a POST request (in this case IllumiDesk is the External Tool). However, all characters (even those considered safe) after the domain and `next=` part should be URL encoded, such as the `/`, `&`, and `=` characters.\n", + "\n", + "The `Custom Fields` text box in the App -> Settings section, on the other hand, does not expect all characters to be URL encoded. The `/` characters that are assigned as part of the query parameter values should be encoded, but not the `&` and `=` characters.\n", + "\n", + "## Usage\n", + "\n", + "- **Assignment Link**: creates a string value which represents an `Assignment` link by toggling the check box next to the `is_assignment_link` label. If unchecked, the tool will create a string to add to the Custom Field section.\n", + "- **Jupyter Lab Link**: creates a string value which redirects the user to a `Jupyter Lab` workspace instead of the `Jupyter Classic` workspace.\n", + "- **LTI Launches**: adds the route associated to the LTI 1.1 login handler. If disabled, it is assumed that the user is using the default authentication class bound to the root of the `domain_url` value.\n", + "- **Default Values**: to avoid having to enter the same values in the widget's text fields on a repetitive basis, add the string values to the function's parameters. For example, the `branch` parameter defaults to `master`." ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "metadata": {}, - "outputs": [], + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": "'https://my.hub.com/hub/lti/launch?next=%2Fuser-redirect%2Fgit-pull?repo%3D%26branch%3Dmaster%26urlpath%3Dlab%252Ftree%252F.%252F%253Fautodecode'" + }, + "metadata": {} + } + ], "source": [ + "import os\n", "from ipywidgets import interact\n", - "from urllib.parse import urlunparse, urlparse, urlencode, parse_qs\n", + "from urllib.parse import urlunparse, urlparse, urlencode, parse_qs, parse_qsl, quote\n", "from IPython.display import Markdown\n", "\n", + "\n", "@interact\n", - "def make_nbgitpuller_link(hub_url='', repo_url='', branch='', filepath='', app=['notebook', 'lab']):\n", - " \"\"\"Generate an ipywidget form that creates an interact link.\"\"\"\n", + "def make_launch_link(is_assignment_link=True, is_jupyterlab=True, is_lti11=True, branch='master', hub_url='https://my.hub.com', repo_url='', urlpath=''):\n", + " \"\"\"\n", + " Generate a launch request which clones and merges source files from a git-based\n", + " repository.\n", + "\n", + " Args:\n", + " is_assignment_link (bool): set to True to create a full assignment link, defaults to True.\n", + " is_jupyterlab (bool): set to True to launch Jupyter Lab workspaces, defaults to True.\n", + " is_lti11 (bool): set to True to initiate launch requests with the LTI 1.1 standard.\n", + " branch (str): git repo branch\n", + " hub_url (str): full hub url which needs to include scheme (http or https) and netloc (full domain).\n", + " repo_url (str): full git repo url which needs to include scheme (http or https), netloc (full domain) and path.\n", + " url_path (str): a path to redirect users to after the workspace has successfully spawned (started).\n", + "\n", + " Returns:\n", + " An interactive IPython.display.Markdown object.\n", + " \"\"\"\n", + "\n", + " # Parse the query to its constituent parts\n", + " domain_scheme, domain_netloc, domain_path, domain_params, domain_query_str, domain_fragment = urlparse(hub_url.strip())\n", " \n", - " # Don't do anything if we don't have a hub_url or repo_url\n", - " if not (len(hub_url) > 0 and len(repo_url) > 0):\n", - " return\n", + " repo_scheme, repo_netloc, repo_path, repo_params, repo_query_str, repo_fragment = urlparse(repo_url.strip())\n", + " folder_from_repo_url_path = os.path.basename(os.path.normpath(repo_path))\n", " \n", - " # Parse the query to its constituent parts\n", - " scheme, netloc, path, params, query_str, fragment = urlparse(hub_url.strip())\n", + " # Make sure the path doesn't contain multiple slashes\n", + " if not domain_path.endswith('/'):\n", + " domain_path += '/'\n", + " domain_path += 'user-redirect/git-pull'\n", " \n", - " # nbgitpuller takes arguments via query parameters.\n", - " # However, your hub might already require query parameters to function (for example, to pick a profile to launch in)\n", - " # So we preserve the parameters we get & amend them to include the git-pull info we want\n", - " query = parse_qs(query_str, keep_blank_values=True)\n", + " # With Canvas using LTI 11 Assignment launch requests all characters after the netloc are considered unsafe.\n", + " # When adding custom parameters within the App Settings -> Custom Fields section, only items after the \n", + " path_encoded = ''\n", + " if is_assignment_link:\n", + " path_encoded = quote(domain_path, safe='')\n", + " else:\n", + " path_encoded = quote(domain_path)\n", + "\n", + " path_redirect_url = f'next={path_encoded}'\n", + " if is_lti11:\n", + " assignment_link_path = f'/hub/lti/launch?next={path_encoded}'\n", + " else:\n", + " assignment_link_path = f'/hub?next={path_encoded}'\n", " \n", + " # Create a tuple of query params from original domain link\n", + " query_params_from_hub_url = parse_qsl(domain_query_str, keep_blank_values=True)\n", " \n", - " # Make sure the path doesn't contain multiple slashes\n", - " if not path.endswith('/'):\n", - " path += '/'\n", - " path += 'hub/user-redirect/git-pull'\n", + " # Set path based on whether or not the user would like to spawn JupyterLab or Jupyter Classic\n", + " urlpath_workspace = ''\n", + " if is_jupyterlab:\n", + " urlpath_workspace = f'lab/tree/{folder_from_repo_url_path}/{urlpath}?autodecode'\n", + " else:\n", + " urlpath_workspace = f'tree/{folder_from_repo_url_path}/{urlpath}'\n", " \n", - " # Construct query parameters from \n", - " for name, val in [('repo', repo_url), ('branch', branch), ('subPath', filepath), ('app', app)]:\n", - " if len(val) > 0:\n", - " query[name] = val.strip().strip('/')\n", + " # Create a tuple of query params for git functionality. Check whether or not we want to launch with\n", + " # jupyterlab to add additional items to the path.\n", + " query_params_for_git = [('repo', repo_url), ('branch', branch), ('urlpath', urlpath_workspace)]\n", " \n", - " url = urlunparse((scheme, netloc, path, params, urlencode(query, doseq=True), fragment))\n", + " # Merge query params into one list of tuples\n", + " query_params_all = query_params_from_hub_url + query_params_for_git\n", " \n", - " # FIXME: Have this return something instead of print so we can unit test\n", - " print(url)" + " # First build urlencoded query params where the &, =, and / are considered safe. Then, percent encode\n", + " # all characters.\n", + " encoded_query_params = urlencode(query_params_all)\n", + " encoded_query_params_without_safe_chars = quote(urlencode(query_params_all), safe='')\n", + " \n", + " assignment_link_url = urlunparse((domain_scheme, domain_netloc, assignment_link_path, domain_params, encoded_query_params_without_safe_chars, domain_fragment))\n", + " path_url = urlunparse(('', '', path_redirect_url, domain_params, encoded_query_params, domain_fragment))\n", + " \n", + " if is_assignment_link:\n", + " return assignment_link_url\n", + " return path_url" ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { @@ -75,9 +156,9 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.6.5" + "version": "3.8.1-final" } }, "nbformat": 4, "nbformat_minor": 2 -} +} \ No newline at end of file From c081ed453c34c71e374e848b0530f4cf0bdf6700 Mon Sep 17 00:00:00 2001 From: Simon Li Date: Thu, 25 Jun 2020 21:29:50 +0100 Subject: [PATCH 080/284] Update docs/topic/url-options.rst Co-authored-by: Chris Holdgraf --- docs/topic/url-options.rst | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/docs/topic/url-options.rst b/docs/topic/url-options.rst index ee87fb46..f459f061 100644 --- a/docs/topic/url-options.rst +++ b/docs/topic/url-options.rst @@ -90,7 +90,8 @@ problems. ``targetPath`` ============== -Git repositories are cloned into the default working directory. +Where to place the repository when it is cloned. +By default, Git repositories are cloned into the default working directory. You can specify a different parent directory for the clone by setting the environment variable ``NBGITPULLER_PARENTPATH``, this should be relative to the working directory. If you require full control over the destination directory, or want to set the directory at runtime in the nbgitpuller link use this parameter. @@ -99,4 +100,4 @@ Deprecated parameters ===================== The following parameters are currently deprecated, and will be removed in -a future version: ``subpath``, ``app``. \ No newline at end of file +a future version: ``subpath``, ``app``. From d7d31fa4c27082bd88aff2b03ba5f47d278403f7 Mon Sep 17 00:00:00 2001 From: GeorgianaElena Date: Fri, 26 Jun 2020 15:55:31 +0300 Subject: [PATCH 081/284] Add mybinder tab --- docs/_static/link_gen/link.js | 65 +++++++++++++++++++++++++++++++++-- docs/link.rst | 33 ++++++++++++++++-- 2 files changed, 92 insertions(+), 6 deletions(-) diff --git a/docs/_static/link_gen/link.js b/docs/_static/link_gen/link.js index 932fe112..7755c41f 100644 --- a/docs/_static/link_gen/link.js +++ b/docs/_static/link_gen/link.js @@ -43,6 +43,32 @@ function generateCanvasUrl(hubUrl, urlPath, repoUrl, branch) { return url.toString(); } +function generateMyBinderUrl(hubUrl, userName, repoName, branch, urlPath, + contentRepoUrl, contentRepoBranch) { + + var url = new URL(hubUrl); + + var nextUrlParams = new URLSearchParams(); + + nextUrlParams.append('repo', contentRepoUrl); + + if (urlPath) { + nextUrlParams.append('urlpath', urlPath); + } + + if (branch) { + nextUrlParams.append('branch', branch); + } + + var nextUrl = 'git-pull?' + nextUrlParams.toString(); + + var path = '/v2/gh/'; + url.pathname = path.concat(userName, "/", repoName, "/", branch); + url.searchParams.append('urlpath', nextUrl); + + return url.toString(); +} + var apps = { classic: { title: 'Classic Notebook', @@ -58,6 +84,27 @@ var apps = { } } +function changeTab(div) { + var hub = document.getElementById("hub"); + var env_repo = document.getElementById("repo"); + var content_repo = document.getElementById("content-repo"); + var content_branch = document.getElementById("content-branch"); + var id = div.id; + + if (id.includes("mybinder")) { + hub.placeholder = "https://mybinder.org"; + env_repo.labels[0].innerHTML = "Git Environment Repository URL"; + content_repo.disabled = false; + content_branch.disabled = false; + } else { + hub.placeholder = "https://hub.example.com"; + hub.disabled = false; + env_repo.labels[0].innerHTML = "Git Repository URL"; + content_repo.disabled = true; + content_branch.disabled = true; + } +} + function displayLink() { var form = document.getElementById('linkgenerator'); @@ -65,15 +112,24 @@ function displayLink() { if (form.checkValidity()) { var hubUrl = document.getElementById('hub').value; var repoUrl = document.getElementById('repo').value; - var filePath = document.getElementById('filepath').value; var branch = document.getElementById('branch').value; + var contentRepoUrl = document.getElementById('content-repo').value; + var contentRepoBranch = document.getElementById('content-branch').value; + var filePath = document.getElementById('filepath').value; var appName = form.querySelector('input[name="app"]:checked').value; if (appName === 'custom') { var urlPath = document.getElementById('urlpath').value; } else { var repoName = new URL(repoUrl).pathname.split('/').pop().replace(/\.git$/, ''); - var urlPath = apps[appName].generateUrlPath(repoName + '/' + filePath); + var userName = new URL(repoUrl).pathname.split('/')[1]; + var urlPath; + if (contentRepoUrl.disabled) { + urlPath = apps[appName].generateUrlPath(repoName + '/' + filePath); + } else { + var contentRepoName = new URL(contentRepoUrl).pathname.split('/').pop().replace(/\.git$/, ''); + urlPath = apps[appName].generateUrlPath(contentRepoName + '/' + filePath); + } } document.getElementById('default-link').value = generateRegularUrl( @@ -82,13 +138,16 @@ function displayLink() { document.getElementById('canvas-link').value = generateCanvasUrl( hubUrl, urlPath, repoUrl, branch ); + document.getElementById('mybinder-link').value = generateMyBinderUrl( + hubUrl, userName, repoName, branch, urlPath, contentRepoUrl, contentRepoBranch + ); } } function populateFromQueryString() { // preseed values if specified in the url var params = new URLSearchParams(window.location.search); // Parameters are read from query string, and fields are set to them - var allowedParams = ['hub', 'repo', 'branch', 'app', 'urlpath']; + var allowedParams = ['hub', 'repo', 'content-repo', 'branch', 'app', 'urlpath']; if (params.has("urlpath")) { // setting urlpath implies a custom app document.getElementById('app-custom').checked = true; diff --git a/docs/link.rst b/docs/link.rst index e4601d39..aa2cc6ca 100644 --- a/docs/link.rst +++ b/docs/link.rst @@ -12,15 +12,20 @@ Use the following form to create your own ``nbgitpuller`` links.
@@ -30,6 +35,9 @@ Use the following form to create your own ``nbgitpuller`` links.
+
+ +
@@ -63,11 +71,30 @@ Use the following form to create your own ``nbgitpuller`` links.
branch
- + +
+ +
+ +
+ Must be a valid git URL +
+
+
+
+
+ branch +
+ +
+
+
+
From ece23a9504066a3604e0dbbda0ce0a817d1d2bf6 Mon Sep 17 00:00:00 2001 From: GeorgianaElena Date: Sat, 27 Jun 2020 22:47:01 +0300 Subject: [PATCH 082/284] Show content repo only for binderhub --- docs/_static/link_gen/link.js | 12 ++++++------ docs/link.rst | 8 ++++---- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/docs/_static/link_gen/link.js b/docs/_static/link_gen/link.js index 7755c41f..29d90220 100644 --- a/docs/_static/link_gen/link.js +++ b/docs/_static/link_gen/link.js @@ -87,21 +87,21 @@ var apps = { function changeTab(div) { var hub = document.getElementById("hub"); var env_repo = document.getElementById("repo"); - var content_repo = document.getElementById("content-repo"); - var content_branch = document.getElementById("content-branch"); + var content_repo = document.getElementById("content-repo-group"); + var content_branch = document.getElementById("content-branch-group"); var id = div.id; if (id.includes("mybinder")) { hub.placeholder = "https://mybinder.org"; env_repo.labels[0].innerHTML = "Git Environment Repository URL"; - content_repo.disabled = false; - content_branch.disabled = false; + content_repo.hidden = false; + content_branch.hidden = false; } else { hub.placeholder = "https://hub.example.com"; hub.disabled = false; env_repo.labels[0].innerHTML = "Git Repository URL"; - content_repo.disabled = true; - content_branch.disabled = true; + content_repo.hidden = true; + content_branch.hidden = true; } } diff --git a/docs/link.rst b/docs/link.rst index aa2cc6ca..bbcfa363 100644 --- a/docs/link.rst +++ b/docs/link.rst @@ -76,21 +76,21 @@ Use the following form to create your own ``nbgitpuller`` links.
-
+
From 069687bd1671422ae75d10fbd6ac9501d0512d05 Mon Sep 17 00:00:00 2001 From: Chris Holdgraf Date: Mon, 29 Jun 2020 09:29:32 -0700 Subject: [PATCH 084/284] tab activation on link generator --- docs/_static/link_gen/link.js | 18 ++++++++++++++---- docs/link.rst | 19 ++++++++++++++----- 2 files changed, 28 insertions(+), 9 deletions(-) diff --git a/docs/_static/link_gen/link.js b/docs/_static/link_gen/link.js index bf6ec4de..cacb9cb7 100644 --- a/docs/_static/link_gen/link.js +++ b/docs/_static/link_gen/link.js @@ -43,7 +43,7 @@ function generateCanvasUrl(hubUrl, urlPath, repoUrl, branch) { return url.toString(); } -function generateMyBinderUrl(hubUrl, userName, repoName, branch, urlPath, +function generateBinderUrl(hubUrl, userName, repoName, branch, urlPath, contentRepoUrl, contentRepoBranch) { var url = new URL(hubUrl); @@ -93,7 +93,7 @@ function changeTab(div) { var content_branch = document.getElementById("content-branch-group"); var id = div.id; - if (id.includes("mybinder")) { + if (id.includes("binder")) { hub.placeholder = "https://mybinder.org"; hub.value = "https://mybinder.org"; hub_help_text.hidden = true; @@ -146,7 +146,7 @@ function displayLink() { document.getElementById('canvas-link').value = generateCanvasUrl( hubUrl, urlPath, repoUrl, branch ); - document.getElementById('mybinder-link').value = generateMyBinderUrl( + document.getElementById('binder-link').value = generateBinderUrl( hubUrl, userName, repoName, branch, urlPath, contentRepoUrl, contentRepoBranch ); } @@ -219,8 +219,18 @@ function main() { populateFromQueryString(); + // Activate tabs based on search parameters + var params = new URL(window.location).searchParams; + if (params.get("tab")) { + if (params.get("tab") === "binder") { + $("#tab-auth-binder").click() + } else if (params.get("tab") === "canvas") { + $("#tab-auth-canvas").click() + } + } + // Do an initial render, to make sure our disabled / enabled properties are correctly set render(); } -window.onload = main; \ No newline at end of file +window.onload = main; diff --git a/docs/link.rst b/docs/link.rst index cf2d9fa3..49312918 100644 --- a/docs/link.rst +++ b/docs/link.rst @@ -13,7 +13,7 @@ Use the following form to create your own ``nbgitpuller`` links. @@ -35,8 +35,8 @@ Use the following form to create your own ``nbgitpuller`` links.
-
- +
+
@@ -163,3 +163,12 @@ For example, the following URL will pre-populate the form with the UC Berkeley DataHub as the JupyterHub:: https://jupyterhub.github.io/nbgitpuller/link?hub=https://datahub.berkeley.edu + + +**Activating a tab when someone lands on this page** + +You can also activate one of the tabs in the form above by default when a user lands +on this page. To do so, use the ``tab=`` REST parameter. Here are the possible values: + +* ``?tab=binder`` - activates the Binder tab +* ``?tab=canvas`` - activates the Canvas tab. From 24c7f1275b70249dc8a43f233bc021879e4aad16 Mon Sep 17 00:00:00 2001 From: Chris Holdgraf Date: Mon, 29 Jun 2020 12:13:30 -0700 Subject: [PATCH 085/284] fixing bug --- docs/_static/link_gen/link.js | 35 +- .../bootstrap-4.1.3/css/bootstrap-grid.css | 1912 ---- .../css/bootstrap-grid.css.map | 1 - .../css/bootstrap-grid.min.css | 7 - .../css/bootstrap-grid.min.css.map | 1 - .../bootstrap-4.1.3/css/bootstrap-reboot.css | 331 - .../css/bootstrap-reboot.css.map | 1 - .../css/bootstrap-reboot.min.css | 8 - .../css/bootstrap-reboot.min.css.map | 1 - .../vendor/bootstrap-4.1.3/css/bootstrap.css | 9030 ----------------- .../bootstrap-4.1.3/css/bootstrap.css.map | 1 - .../bootstrap-4.1.3/css/bootstrap.min.css | 7 - .../bootstrap-4.1.3/css/bootstrap.min.css.map | 1 - .../bootstrap-4.1.3/js/bootstrap.bundle.js | 6461 ------------ .../js/bootstrap.bundle.js.map | 1 - .../js/bootstrap.bundle.min.js | 7 - .../js/bootstrap.bundle.min.js.map | 1 - .../vendor/bootstrap-4.1.3/js/bootstrap.js | 3944 ------- .../bootstrap-4.1.3/js/bootstrap.js.map | 1 - .../bootstrap-4.1.3/js/bootstrap.min.js | 7 - .../bootstrap-4.1.3/js/bootstrap.min.js.map | 1 - .../link_gen/vendor/jquery-3.3.1.slim.min.js | 2 - docs/conf.py | 3 - docs/link.rst | 4 +- 24 files changed, 23 insertions(+), 21745 deletions(-) delete mode 100644 docs/_static/link_gen/vendor/bootstrap-4.1.3/css/bootstrap-grid.css delete mode 100644 docs/_static/link_gen/vendor/bootstrap-4.1.3/css/bootstrap-grid.css.map delete mode 100644 docs/_static/link_gen/vendor/bootstrap-4.1.3/css/bootstrap-grid.min.css delete mode 100644 docs/_static/link_gen/vendor/bootstrap-4.1.3/css/bootstrap-grid.min.css.map delete mode 100644 docs/_static/link_gen/vendor/bootstrap-4.1.3/css/bootstrap-reboot.css delete mode 100644 docs/_static/link_gen/vendor/bootstrap-4.1.3/css/bootstrap-reboot.css.map delete mode 100644 docs/_static/link_gen/vendor/bootstrap-4.1.3/css/bootstrap-reboot.min.css delete mode 100644 docs/_static/link_gen/vendor/bootstrap-4.1.3/css/bootstrap-reboot.min.css.map delete mode 100644 docs/_static/link_gen/vendor/bootstrap-4.1.3/css/bootstrap.css delete mode 100644 docs/_static/link_gen/vendor/bootstrap-4.1.3/css/bootstrap.css.map delete mode 100644 docs/_static/link_gen/vendor/bootstrap-4.1.3/css/bootstrap.min.css delete mode 100644 docs/_static/link_gen/vendor/bootstrap-4.1.3/css/bootstrap.min.css.map delete mode 100644 docs/_static/link_gen/vendor/bootstrap-4.1.3/js/bootstrap.bundle.js delete mode 100644 docs/_static/link_gen/vendor/bootstrap-4.1.3/js/bootstrap.bundle.js.map delete mode 100644 docs/_static/link_gen/vendor/bootstrap-4.1.3/js/bootstrap.bundle.min.js delete mode 100644 docs/_static/link_gen/vendor/bootstrap-4.1.3/js/bootstrap.bundle.min.js.map delete mode 100644 docs/_static/link_gen/vendor/bootstrap-4.1.3/js/bootstrap.js delete mode 100644 docs/_static/link_gen/vendor/bootstrap-4.1.3/js/bootstrap.js.map delete mode 100644 docs/_static/link_gen/vendor/bootstrap-4.1.3/js/bootstrap.min.js delete mode 100644 docs/_static/link_gen/vendor/bootstrap-4.1.3/js/bootstrap.min.js.map delete mode 100644 docs/_static/link_gen/vendor/jquery-3.3.1.slim.min.js diff --git a/docs/_static/link_gen/link.js b/docs/_static/link_gen/link.js index cacb9cb7..c760fcbc 100644 --- a/docs/_static/link_gen/link.js +++ b/docs/_static/link_gen/link.js @@ -125,6 +125,7 @@ function displayLink() { var contentRepoBranch = document.getElementById('content-branch').value; var filePath = document.getElementById('filepath').value; var appName = form.querySelector('input[name="app"]:checked').value; + var activeTab = document.querySelector(".nav-link.active").id; if (appName === 'custom') { var urlPath = document.getElementById('urlpath').value; @@ -132,23 +133,29 @@ function displayLink() { var repoName = new URL(repoUrl).pathname.split('/').pop().replace(/\.git$/, ''); var userName = new URL(repoUrl).pathname.split('/')[1]; var urlPath; - if (contentRepoUrl.disabled) { - urlPath = apps[appName].generateUrlPath(repoName + '/' + filePath); - } else { - var contentRepoName = new URL(contentRepoUrl).pathname.split('/').pop().replace(/\.git$/, ''); - urlPath = apps[appName].generateUrlPath(contentRepoName + '/' + filePath); + if (activeTab === "tab-auth-binder") { + if (contentRepoUrl.disabled) { + urlPath = apps[appName].generateUrlPath(repoName + '/' + filePath); + } else { + var contentRepoName = new URL(contentRepoUrl).pathname.split('/').pop().replace(/\.git$/, ''); + urlPath = apps[appName].generateUrlPath(contentRepoName + '/' + filePath); + } } } - document.getElementById('default-link').value = generateRegularUrl( - hubUrl, urlPath, repoUrl, branch - ); - document.getElementById('canvas-link').value = generateCanvasUrl( - hubUrl, urlPath, repoUrl, branch - ); - document.getElementById('binder-link').value = generateBinderUrl( - hubUrl, userName, repoName, branch, urlPath, contentRepoUrl, contentRepoBranch - ); + if (activeTab === "tab-auth-default") { + document.getElementById('default-link').value = generateRegularUrl( + hubUrl, urlPath, repoUrl, branch + ); + } else if (activeTab === "tab-auth-canvas"){ + document.getElementById('canvas-link').value = generateCanvasUrl( + hubUrl, urlPath, repoUrl, branch + ); + } else if (activeTab === "tab-auth-binder"){ + document.getElementById('binder-link').value = generateBinderUrl( + hubUrl, userName, repoName, branch, urlPath, contentRepoUrl, contentRepoBranch + ); + } } } function populateFromQueryString() { diff --git a/docs/_static/link_gen/vendor/bootstrap-4.1.3/css/bootstrap-grid.css b/docs/_static/link_gen/vendor/bootstrap-4.1.3/css/bootstrap-grid.css deleted file mode 100644 index a36cd328..00000000 --- a/docs/_static/link_gen/vendor/bootstrap-4.1.3/css/bootstrap-grid.css +++ /dev/null @@ -1,1912 +0,0 @@ -/*! - * Bootstrap Grid v4.1.3 (https://getbootstrap.com/) - * Copyright 2011-2018 The Bootstrap Authors - * Copyright 2011-2018 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - */ -@-ms-viewport { - width: device-width; -} - -html { - box-sizing: border-box; - -ms-overflow-style: scrollbar; -} - -*, -*::before, -*::after { - box-sizing: inherit; -} - -.container { - width: 100%; - padding-right: 15px; - padding-left: 15px; - margin-right: auto; - margin-left: auto; -} - -@media (min-width: 576px) { - .container { - max-width: 540px; - } -} - -@media (min-width: 768px) { - .container { - max-width: 720px; - } -} - -@media (min-width: 992px) { - .container { - max-width: 960px; - } -} - -@media (min-width: 1200px) { - .container { - max-width: 1140px; - } -} - -.container-fluid { - width: 100%; - padding-right: 15px; - padding-left: 15px; - margin-right: auto; - margin-left: auto; -} - -.row { - display: -ms-flexbox; - display: flex; - -ms-flex-wrap: wrap; - flex-wrap: wrap; - margin-right: -15px; - margin-left: -15px; -} - -.no-gutters { - margin-right: 0; - margin-left: 0; -} - -.no-gutters > .col, -.no-gutters > [class*="col-"] { - padding-right: 0; - padding-left: 0; -} - -.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, -.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm, -.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md, -.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg, -.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl, -.col-xl-auto { - position: relative; - width: 100%; - min-height: 1px; - padding-right: 15px; - padding-left: 15px; -} - -.col { - -ms-flex-preferred-size: 0; - flex-basis: 0; - -ms-flex-positive: 1; - flex-grow: 1; - max-width: 100%; -} - -.col-auto { - -ms-flex: 0 0 auto; - flex: 0 0 auto; - width: auto; - max-width: none; -} - -.col-1 { - -ms-flex: 0 0 8.333333%; - flex: 0 0 8.333333%; - max-width: 8.333333%; -} - -.col-2 { - -ms-flex: 0 0 16.666667%; - flex: 0 0 16.666667%; - max-width: 16.666667%; -} - -.col-3 { - -ms-flex: 0 0 25%; - flex: 0 0 25%; - max-width: 25%; -} - -.col-4 { - -ms-flex: 0 0 33.333333%; - flex: 0 0 33.333333%; - max-width: 33.333333%; -} - -.col-5 { - -ms-flex: 0 0 41.666667%; - flex: 0 0 41.666667%; - max-width: 41.666667%; -} - -.col-6 { - -ms-flex: 0 0 50%; - flex: 0 0 50%; - max-width: 50%; -} - -.col-7 { - -ms-flex: 0 0 58.333333%; - flex: 0 0 58.333333%; - max-width: 58.333333%; -} - -.col-8 { - -ms-flex: 0 0 66.666667%; - flex: 0 0 66.666667%; - max-width: 66.666667%; -} - -.col-9 { - -ms-flex: 0 0 75%; - flex: 0 0 75%; - max-width: 75%; -} - -.col-10 { - -ms-flex: 0 0 83.333333%; - flex: 0 0 83.333333%; - max-width: 83.333333%; -} - -.col-11 { - -ms-flex: 0 0 91.666667%; - flex: 0 0 91.666667%; - max-width: 91.666667%; -} - -.col-12 { - -ms-flex: 0 0 100%; - flex: 0 0 100%; - max-width: 100%; -} - -.order-first { - -ms-flex-order: -1; - order: -1; -} - -.order-last { - -ms-flex-order: 13; - order: 13; -} - -.order-0 { - -ms-flex-order: 0; - order: 0; -} - -.order-1 { - -ms-flex-order: 1; - order: 1; -} - -.order-2 { - -ms-flex-order: 2; - order: 2; -} - -.order-3 { - -ms-flex-order: 3; - order: 3; -} - -.order-4 { - -ms-flex-order: 4; - order: 4; -} - -.order-5 { - -ms-flex-order: 5; - order: 5; -} - -.order-6 { - -ms-flex-order: 6; - order: 6; -} - -.order-7 { - -ms-flex-order: 7; - order: 7; -} - -.order-8 { - -ms-flex-order: 8; - order: 8; -} - -.order-9 { - -ms-flex-order: 9; - order: 9; -} - -.order-10 { - -ms-flex-order: 10; - order: 10; -} - -.order-11 { - -ms-flex-order: 11; - order: 11; -} - -.order-12 { - -ms-flex-order: 12; - order: 12; -} - -.offset-1 { - margin-left: 8.333333%; -} - -.offset-2 { - margin-left: 16.666667%; -} - -.offset-3 { - margin-left: 25%; -} - -.offset-4 { - margin-left: 33.333333%; -} - -.offset-5 { - margin-left: 41.666667%; -} - -.offset-6 { - margin-left: 50%; -} - -.offset-7 { - margin-left: 58.333333%; -} - -.offset-8 { - margin-left: 66.666667%; -} - -.offset-9 { - margin-left: 75%; -} - -.offset-10 { - margin-left: 83.333333%; -} - -.offset-11 { - margin-left: 91.666667%; -} - -@media (min-width: 576px) { - .col-sm { - -ms-flex-preferred-size: 0; - flex-basis: 0; - -ms-flex-positive: 1; - flex-grow: 1; - max-width: 100%; - } - .col-sm-auto { - -ms-flex: 0 0 auto; - flex: 0 0 auto; - width: auto; - max-width: none; - } - .col-sm-1 { - -ms-flex: 0 0 8.333333%; - flex: 0 0 8.333333%; - max-width: 8.333333%; - } - .col-sm-2 { - -ms-flex: 0 0 16.666667%; - flex: 0 0 16.666667%; - max-width: 16.666667%; - } - .col-sm-3 { - -ms-flex: 0 0 25%; - flex: 0 0 25%; - max-width: 25%; - } - .col-sm-4 { - -ms-flex: 0 0 33.333333%; - flex: 0 0 33.333333%; - max-width: 33.333333%; - } - .col-sm-5 { - -ms-flex: 0 0 41.666667%; - flex: 0 0 41.666667%; - max-width: 41.666667%; - } - .col-sm-6 { - -ms-flex: 0 0 50%; - flex: 0 0 50%; - max-width: 50%; - } - .col-sm-7 { - -ms-flex: 0 0 58.333333%; - flex: 0 0 58.333333%; - max-width: 58.333333%; - } - .col-sm-8 { - -ms-flex: 0 0 66.666667%; - flex: 0 0 66.666667%; - max-width: 66.666667%; - } - .col-sm-9 { - -ms-flex: 0 0 75%; - flex: 0 0 75%; - max-width: 75%; - } - .col-sm-10 { - -ms-flex: 0 0 83.333333%; - flex: 0 0 83.333333%; - max-width: 83.333333%; - } - .col-sm-11 { - -ms-flex: 0 0 91.666667%; - flex: 0 0 91.666667%; - max-width: 91.666667%; - } - .col-sm-12 { - -ms-flex: 0 0 100%; - flex: 0 0 100%; - max-width: 100%; - } - .order-sm-first { - -ms-flex-order: -1; - order: -1; - } - .order-sm-last { - -ms-flex-order: 13; - order: 13; - } - .order-sm-0 { - -ms-flex-order: 0; - order: 0; - } - .order-sm-1 { - -ms-flex-order: 1; - order: 1; - } - .order-sm-2 { - -ms-flex-order: 2; - order: 2; - } - .order-sm-3 { - -ms-flex-order: 3; - order: 3; - } - .order-sm-4 { - -ms-flex-order: 4; - order: 4; - } - .order-sm-5 { - -ms-flex-order: 5; - order: 5; - } - .order-sm-6 { - -ms-flex-order: 6; - order: 6; - } - .order-sm-7 { - -ms-flex-order: 7; - order: 7; - } - .order-sm-8 { - -ms-flex-order: 8; - order: 8; - } - .order-sm-9 { - -ms-flex-order: 9; - order: 9; - } - .order-sm-10 { - -ms-flex-order: 10; - order: 10; - } - .order-sm-11 { - -ms-flex-order: 11; - order: 11; - } - .order-sm-12 { - -ms-flex-order: 12; - order: 12; - } - .offset-sm-0 { - margin-left: 0; - } - .offset-sm-1 { - margin-left: 8.333333%; - } - .offset-sm-2 { - margin-left: 16.666667%; - } - .offset-sm-3 { - margin-left: 25%; - } - .offset-sm-4 { - margin-left: 33.333333%; - } - .offset-sm-5 { - margin-left: 41.666667%; - } - .offset-sm-6 { - margin-left: 50%; - } - .offset-sm-7 { - margin-left: 58.333333%; - } - .offset-sm-8 { - margin-left: 66.666667%; - } - .offset-sm-9 { - margin-left: 75%; - } - .offset-sm-10 { - margin-left: 83.333333%; - } - .offset-sm-11 { - margin-left: 91.666667%; - } -} - -@media (min-width: 768px) { - .col-md { - -ms-flex-preferred-size: 0; - flex-basis: 0; - -ms-flex-positive: 1; - flex-grow: 1; - max-width: 100%; - } - .col-md-auto { - -ms-flex: 0 0 auto; - flex: 0 0 auto; - width: auto; - max-width: none; - } - .col-md-1 { - -ms-flex: 0 0 8.333333%; - flex: 0 0 8.333333%; - max-width: 8.333333%; - } - .col-md-2 { - -ms-flex: 0 0 16.666667%; - flex: 0 0 16.666667%; - max-width: 16.666667%; - } - .col-md-3 { - -ms-flex: 0 0 25%; - flex: 0 0 25%; - max-width: 25%; - } - .col-md-4 { - -ms-flex: 0 0 33.333333%; - flex: 0 0 33.333333%; - max-width: 33.333333%; - } - .col-md-5 { - -ms-flex: 0 0 41.666667%; - flex: 0 0 41.666667%; - max-width: 41.666667%; - } - .col-md-6 { - -ms-flex: 0 0 50%; - flex: 0 0 50%; - max-width: 50%; - } - .col-md-7 { - -ms-flex: 0 0 58.333333%; - flex: 0 0 58.333333%; - max-width: 58.333333%; - } - .col-md-8 { - -ms-flex: 0 0 66.666667%; - flex: 0 0 66.666667%; - max-width: 66.666667%; - } - .col-md-9 { - -ms-flex: 0 0 75%; - flex: 0 0 75%; - max-width: 75%; - } - .col-md-10 { - -ms-flex: 0 0 83.333333%; - flex: 0 0 83.333333%; - max-width: 83.333333%; - } - .col-md-11 { - -ms-flex: 0 0 91.666667%; - flex: 0 0 91.666667%; - max-width: 91.666667%; - } - .col-md-12 { - -ms-flex: 0 0 100%; - flex: 0 0 100%; - max-width: 100%; - } - .order-md-first { - -ms-flex-order: -1; - order: -1; - } - .order-md-last { - -ms-flex-order: 13; - order: 13; - } - .order-md-0 { - -ms-flex-order: 0; - order: 0; - } - .order-md-1 { - -ms-flex-order: 1; - order: 1; - } - .order-md-2 { - -ms-flex-order: 2; - order: 2; - } - .order-md-3 { - -ms-flex-order: 3; - order: 3; - } - .order-md-4 { - -ms-flex-order: 4; - order: 4; - } - .order-md-5 { - -ms-flex-order: 5; - order: 5; - } - .order-md-6 { - -ms-flex-order: 6; - order: 6; - } - .order-md-7 { - -ms-flex-order: 7; - order: 7; - } - .order-md-8 { - -ms-flex-order: 8; - order: 8; - } - .order-md-9 { - -ms-flex-order: 9; - order: 9; - } - .order-md-10 { - -ms-flex-order: 10; - order: 10; - } - .order-md-11 { - -ms-flex-order: 11; - order: 11; - } - .order-md-12 { - -ms-flex-order: 12; - order: 12; - } - .offset-md-0 { - margin-left: 0; - } - .offset-md-1 { - margin-left: 8.333333%; - } - .offset-md-2 { - margin-left: 16.666667%; - } - .offset-md-3 { - margin-left: 25%; - } - .offset-md-4 { - margin-left: 33.333333%; - } - .offset-md-5 { - margin-left: 41.666667%; - } - .offset-md-6 { - margin-left: 50%; - } - .offset-md-7 { - margin-left: 58.333333%; - } - .offset-md-8 { - margin-left: 66.666667%; - } - .offset-md-9 { - margin-left: 75%; - } - .offset-md-10 { - margin-left: 83.333333%; - } - .offset-md-11 { - margin-left: 91.666667%; - } -} - -@media (min-width: 992px) { - .col-lg { - -ms-flex-preferred-size: 0; - flex-basis: 0; - -ms-flex-positive: 1; - flex-grow: 1; - max-width: 100%; - } - .col-lg-auto { - -ms-flex: 0 0 auto; - flex: 0 0 auto; - width: auto; - max-width: none; - } - .col-lg-1 { - -ms-flex: 0 0 8.333333%; - flex: 0 0 8.333333%; - max-width: 8.333333%; - } - .col-lg-2 { - -ms-flex: 0 0 16.666667%; - flex: 0 0 16.666667%; - max-width: 16.666667%; - } - .col-lg-3 { - -ms-flex: 0 0 25%; - flex: 0 0 25%; - max-width: 25%; - } - .col-lg-4 { - -ms-flex: 0 0 33.333333%; - flex: 0 0 33.333333%; - max-width: 33.333333%; - } - .col-lg-5 { - -ms-flex: 0 0 41.666667%; - flex: 0 0 41.666667%; - max-width: 41.666667%; - } - .col-lg-6 { - -ms-flex: 0 0 50%; - flex: 0 0 50%; - max-width: 50%; - } - .col-lg-7 { - -ms-flex: 0 0 58.333333%; - flex: 0 0 58.333333%; - max-width: 58.333333%; - } - .col-lg-8 { - -ms-flex: 0 0 66.666667%; - flex: 0 0 66.666667%; - max-width: 66.666667%; - } - .col-lg-9 { - -ms-flex: 0 0 75%; - flex: 0 0 75%; - max-width: 75%; - } - .col-lg-10 { - -ms-flex: 0 0 83.333333%; - flex: 0 0 83.333333%; - max-width: 83.333333%; - } - .col-lg-11 { - -ms-flex: 0 0 91.666667%; - flex: 0 0 91.666667%; - max-width: 91.666667%; - } - .col-lg-12 { - -ms-flex: 0 0 100%; - flex: 0 0 100%; - max-width: 100%; - } - .order-lg-first { - -ms-flex-order: -1; - order: -1; - } - .order-lg-last { - -ms-flex-order: 13; - order: 13; - } - .order-lg-0 { - -ms-flex-order: 0; - order: 0; - } - .order-lg-1 { - -ms-flex-order: 1; - order: 1; - } - .order-lg-2 { - -ms-flex-order: 2; - order: 2; - } - .order-lg-3 { - -ms-flex-order: 3; - order: 3; - } - .order-lg-4 { - -ms-flex-order: 4; - order: 4; - } - .order-lg-5 { - -ms-flex-order: 5; - order: 5; - } - .order-lg-6 { - -ms-flex-order: 6; - order: 6; - } - .order-lg-7 { - -ms-flex-order: 7; - order: 7; - } - .order-lg-8 { - -ms-flex-order: 8; - order: 8; - } - .order-lg-9 { - -ms-flex-order: 9; - order: 9; - } - .order-lg-10 { - -ms-flex-order: 10; - order: 10; - } - .order-lg-11 { - -ms-flex-order: 11; - order: 11; - } - .order-lg-12 { - -ms-flex-order: 12; - order: 12; - } - .offset-lg-0 { - margin-left: 0; - } - .offset-lg-1 { - margin-left: 8.333333%; - } - .offset-lg-2 { - margin-left: 16.666667%; - } - .offset-lg-3 { - margin-left: 25%; - } - .offset-lg-4 { - margin-left: 33.333333%; - } - .offset-lg-5 { - margin-left: 41.666667%; - } - .offset-lg-6 { - margin-left: 50%; - } - .offset-lg-7 { - margin-left: 58.333333%; - } - .offset-lg-8 { - margin-left: 66.666667%; - } - .offset-lg-9 { - margin-left: 75%; - } - .offset-lg-10 { - margin-left: 83.333333%; - } - .offset-lg-11 { - margin-left: 91.666667%; - } -} - -@media (min-width: 1200px) { - .col-xl { - -ms-flex-preferred-size: 0; - flex-basis: 0; - -ms-flex-positive: 1; - flex-grow: 1; - max-width: 100%; - } - .col-xl-auto { - -ms-flex: 0 0 auto; - flex: 0 0 auto; - width: auto; - max-width: none; - } - .col-xl-1 { - -ms-flex: 0 0 8.333333%; - flex: 0 0 8.333333%; - max-width: 8.333333%; - } - .col-xl-2 { - -ms-flex: 0 0 16.666667%; - flex: 0 0 16.666667%; - max-width: 16.666667%; - } - .col-xl-3 { - -ms-flex: 0 0 25%; - flex: 0 0 25%; - max-width: 25%; - } - .col-xl-4 { - -ms-flex: 0 0 33.333333%; - flex: 0 0 33.333333%; - max-width: 33.333333%; - } - .col-xl-5 { - -ms-flex: 0 0 41.666667%; - flex: 0 0 41.666667%; - max-width: 41.666667%; - } - .col-xl-6 { - -ms-flex: 0 0 50%; - flex: 0 0 50%; - max-width: 50%; - } - .col-xl-7 { - -ms-flex: 0 0 58.333333%; - flex: 0 0 58.333333%; - max-width: 58.333333%; - } - .col-xl-8 { - -ms-flex: 0 0 66.666667%; - flex: 0 0 66.666667%; - max-width: 66.666667%; - } - .col-xl-9 { - -ms-flex: 0 0 75%; - flex: 0 0 75%; - max-width: 75%; - } - .col-xl-10 { - -ms-flex: 0 0 83.333333%; - flex: 0 0 83.333333%; - max-width: 83.333333%; - } - .col-xl-11 { - -ms-flex: 0 0 91.666667%; - flex: 0 0 91.666667%; - max-width: 91.666667%; - } - .col-xl-12 { - -ms-flex: 0 0 100%; - flex: 0 0 100%; - max-width: 100%; - } - .order-xl-first { - -ms-flex-order: -1; - order: -1; - } - .order-xl-last { - -ms-flex-order: 13; - order: 13; - } - .order-xl-0 { - -ms-flex-order: 0; - order: 0; - } - .order-xl-1 { - -ms-flex-order: 1; - order: 1; - } - .order-xl-2 { - -ms-flex-order: 2; - order: 2; - } - .order-xl-3 { - -ms-flex-order: 3; - order: 3; - } - .order-xl-4 { - -ms-flex-order: 4; - order: 4; - } - .order-xl-5 { - -ms-flex-order: 5; - order: 5; - } - .order-xl-6 { - -ms-flex-order: 6; - order: 6; - } - .order-xl-7 { - -ms-flex-order: 7; - order: 7; - } - .order-xl-8 { - -ms-flex-order: 8; - order: 8; - } - .order-xl-9 { - -ms-flex-order: 9; - order: 9; - } - .order-xl-10 { - -ms-flex-order: 10; - order: 10; - } - .order-xl-11 { - -ms-flex-order: 11; - order: 11; - } - .order-xl-12 { - -ms-flex-order: 12; - order: 12; - } - .offset-xl-0 { - margin-left: 0; - } - .offset-xl-1 { - margin-left: 8.333333%; - } - .offset-xl-2 { - margin-left: 16.666667%; - } - .offset-xl-3 { - margin-left: 25%; - } - .offset-xl-4 { - margin-left: 33.333333%; - } - .offset-xl-5 { - margin-left: 41.666667%; - } - .offset-xl-6 { - margin-left: 50%; - } - .offset-xl-7 { - margin-left: 58.333333%; - } - .offset-xl-8 { - margin-left: 66.666667%; - } - .offset-xl-9 { - margin-left: 75%; - } - .offset-xl-10 { - margin-left: 83.333333%; - } - .offset-xl-11 { - margin-left: 91.666667%; - } -} - -.d-none { - display: none !important; -} - -.d-inline { - display: inline !important; -} - -.d-inline-block { - display: inline-block !important; -} - -.d-block { - display: block !important; -} - -.d-table { - display: table !important; -} - -.d-table-row { - display: table-row !important; -} - -.d-table-cell { - display: table-cell !important; -} - -.d-flex { - display: -ms-flexbox !important; - display: flex !important; -} - -.d-inline-flex { - display: -ms-inline-flexbox !important; - display: inline-flex !important; -} - -@media (min-width: 576px) { - .d-sm-none { - display: none !important; - } - .d-sm-inline { - display: inline !important; - } - .d-sm-inline-block { - display: inline-block !important; - } - .d-sm-block { - display: block !important; - } - .d-sm-table { - display: table !important; - } - .d-sm-table-row { - display: table-row !important; - } - .d-sm-table-cell { - display: table-cell !important; - } - .d-sm-flex { - display: -ms-flexbox !important; - display: flex !important; - } - .d-sm-inline-flex { - display: -ms-inline-flexbox !important; - display: inline-flex !important; - } -} - -@media (min-width: 768px) { - .d-md-none { - display: none !important; - } - .d-md-inline { - display: inline !important; - } - .d-md-inline-block { - display: inline-block !important; - } - .d-md-block { - display: block !important; - } - .d-md-table { - display: table !important; - } - .d-md-table-row { - display: table-row !important; - } - .d-md-table-cell { - display: table-cell !important; - } - .d-md-flex { - display: -ms-flexbox !important; - display: flex !important; - } - .d-md-inline-flex { - display: -ms-inline-flexbox !important; - display: inline-flex !important; - } -} - -@media (min-width: 992px) { - .d-lg-none { - display: none !important; - } - .d-lg-inline { - display: inline !important; - } - .d-lg-inline-block { - display: inline-block !important; - } - .d-lg-block { - display: block !important; - } - .d-lg-table { - display: table !important; - } - .d-lg-table-row { - display: table-row !important; - } - .d-lg-table-cell { - display: table-cell !important; - } - .d-lg-flex { - display: -ms-flexbox !important; - display: flex !important; - } - .d-lg-inline-flex { - display: -ms-inline-flexbox !important; - display: inline-flex !important; - } -} - -@media (min-width: 1200px) { - .d-xl-none { - display: none !important; - } - .d-xl-inline { - display: inline !important; - } - .d-xl-inline-block { - display: inline-block !important; - } - .d-xl-block { - display: block !important; - } - .d-xl-table { - display: table !important; - } - .d-xl-table-row { - display: table-row !important; - } - .d-xl-table-cell { - display: table-cell !important; - } - .d-xl-flex { - display: -ms-flexbox !important; - display: flex !important; - } - .d-xl-inline-flex { - display: -ms-inline-flexbox !important; - display: inline-flex !important; - } -} - -@media print { - .d-print-none { - display: none !important; - } - .d-print-inline { - display: inline !important; - } - .d-print-inline-block { - display: inline-block !important; - } - .d-print-block { - display: block !important; - } - .d-print-table { - display: table !important; - } - .d-print-table-row { - display: table-row !important; - } - .d-print-table-cell { - display: table-cell !important; - } - .d-print-flex { - display: -ms-flexbox !important; - display: flex !important; - } - .d-print-inline-flex { - display: -ms-inline-flexbox !important; - display: inline-flex !important; - } -} - -.flex-row { - -ms-flex-direction: row !important; - flex-direction: row !important; -} - -.flex-column { - -ms-flex-direction: column !important; - flex-direction: column !important; -} - -.flex-row-reverse { - -ms-flex-direction: row-reverse !important; - flex-direction: row-reverse !important; -} - -.flex-column-reverse { - -ms-flex-direction: column-reverse !important; - flex-direction: column-reverse !important; -} - -.flex-wrap { - -ms-flex-wrap: wrap !important; - flex-wrap: wrap !important; -} - -.flex-nowrap { - -ms-flex-wrap: nowrap !important; - flex-wrap: nowrap !important; -} - -.flex-wrap-reverse { - -ms-flex-wrap: wrap-reverse !important; - flex-wrap: wrap-reverse !important; -} - -.flex-fill { - -ms-flex: 1 1 auto !important; - flex: 1 1 auto !important; -} - -.flex-grow-0 { - -ms-flex-positive: 0 !important; - flex-grow: 0 !important; -} - -.flex-grow-1 { - -ms-flex-positive: 1 !important; - flex-grow: 1 !important; -} - -.flex-shrink-0 { - -ms-flex-negative: 0 !important; - flex-shrink: 0 !important; -} - -.flex-shrink-1 { - -ms-flex-negative: 1 !important; - flex-shrink: 1 !important; -} - -.justify-content-start { - -ms-flex-pack: start !important; - justify-content: flex-start !important; -} - -.justify-content-end { - -ms-flex-pack: end !important; - justify-content: flex-end !important; -} - -.justify-content-center { - -ms-flex-pack: center !important; - justify-content: center !important; -} - -.justify-content-between { - -ms-flex-pack: justify !important; - justify-content: space-between !important; -} - -.justify-content-around { - -ms-flex-pack: distribute !important; - justify-content: space-around !important; -} - -.align-items-start { - -ms-flex-align: start !important; - align-items: flex-start !important; -} - -.align-items-end { - -ms-flex-align: end !important; - align-items: flex-end !important; -} - -.align-items-center { - -ms-flex-align: center !important; - align-items: center !important; -} - -.align-items-baseline { - -ms-flex-align: baseline !important; - align-items: baseline !important; -} - -.align-items-stretch { - -ms-flex-align: stretch !important; - align-items: stretch !important; -} - -.align-content-start { - -ms-flex-line-pack: start !important; - align-content: flex-start !important; -} - -.align-content-end { - -ms-flex-line-pack: end !important; - align-content: flex-end !important; -} - -.align-content-center { - -ms-flex-line-pack: center !important; - align-content: center !important; -} - -.align-content-between { - -ms-flex-line-pack: justify !important; - align-content: space-between !important; -} - -.align-content-around { - -ms-flex-line-pack: distribute !important; - align-content: space-around !important; -} - -.align-content-stretch { - -ms-flex-line-pack: stretch !important; - align-content: stretch !important; -} - -.align-self-auto { - -ms-flex-item-align: auto !important; - align-self: auto !important; -} - -.align-self-start { - -ms-flex-item-align: start !important; - align-self: flex-start !important; -} - -.align-self-end { - -ms-flex-item-align: end !important; - align-self: flex-end !important; -} - -.align-self-center { - -ms-flex-item-align: center !important; - align-self: center !important; -} - -.align-self-baseline { - -ms-flex-item-align: baseline !important; - align-self: baseline !important; -} - -.align-self-stretch { - -ms-flex-item-align: stretch !important; - align-self: stretch !important; -} - -@media (min-width: 576px) { - .flex-sm-row { - -ms-flex-direction: row !important; - flex-direction: row !important; - } - .flex-sm-column { - -ms-flex-direction: column !important; - flex-direction: column !important; - } - .flex-sm-row-reverse { - -ms-flex-direction: row-reverse !important; - flex-direction: row-reverse !important; - } - .flex-sm-column-reverse { - -ms-flex-direction: column-reverse !important; - flex-direction: column-reverse !important; - } - .flex-sm-wrap { - -ms-flex-wrap: wrap !important; - flex-wrap: wrap !important; - } - .flex-sm-nowrap { - -ms-flex-wrap: nowrap !important; - flex-wrap: nowrap !important; - } - .flex-sm-wrap-reverse { - -ms-flex-wrap: wrap-reverse !important; - flex-wrap: wrap-reverse !important; - } - .flex-sm-fill { - -ms-flex: 1 1 auto !important; - flex: 1 1 auto !important; - } - .flex-sm-grow-0 { - -ms-flex-positive: 0 !important; - flex-grow: 0 !important; - } - .flex-sm-grow-1 { - -ms-flex-positive: 1 !important; - flex-grow: 1 !important; - } - .flex-sm-shrink-0 { - -ms-flex-negative: 0 !important; - flex-shrink: 0 !important; - } - .flex-sm-shrink-1 { - -ms-flex-negative: 1 !important; - flex-shrink: 1 !important; - } - .justify-content-sm-start { - -ms-flex-pack: start !important; - justify-content: flex-start !important; - } - .justify-content-sm-end { - -ms-flex-pack: end !important; - justify-content: flex-end !important; - } - .justify-content-sm-center { - -ms-flex-pack: center !important; - justify-content: center !important; - } - .justify-content-sm-between { - -ms-flex-pack: justify !important; - justify-content: space-between !important; - } - .justify-content-sm-around { - -ms-flex-pack: distribute !important; - justify-content: space-around !important; - } - .align-items-sm-start { - -ms-flex-align: start !important; - align-items: flex-start !important; - } - .align-items-sm-end { - -ms-flex-align: end !important; - align-items: flex-end !important; - } - .align-items-sm-center { - -ms-flex-align: center !important; - align-items: center !important; - } - .align-items-sm-baseline { - -ms-flex-align: baseline !important; - align-items: baseline !important; - } - .align-items-sm-stretch { - -ms-flex-align: stretch !important; - align-items: stretch !important; - } - .align-content-sm-start { - -ms-flex-line-pack: start !important; - align-content: flex-start !important; - } - .align-content-sm-end { - -ms-flex-line-pack: end !important; - align-content: flex-end !important; - } - .align-content-sm-center { - -ms-flex-line-pack: center !important; - align-content: center !important; - } - .align-content-sm-between { - -ms-flex-line-pack: justify !important; - align-content: space-between !important; - } - .align-content-sm-around { - -ms-flex-line-pack: distribute !important; - align-content: space-around !important; - } - .align-content-sm-stretch { - -ms-flex-line-pack: stretch !important; - align-content: stretch !important; - } - .align-self-sm-auto { - -ms-flex-item-align: auto !important; - align-self: auto !important; - } - .align-self-sm-start { - -ms-flex-item-align: start !important; - align-self: flex-start !important; - } - .align-self-sm-end { - -ms-flex-item-align: end !important; - align-self: flex-end !important; - } - .align-self-sm-center { - -ms-flex-item-align: center !important; - align-self: center !important; - } - .align-self-sm-baseline { - -ms-flex-item-align: baseline !important; - align-self: baseline !important; - } - .align-self-sm-stretch { - -ms-flex-item-align: stretch !important; - align-self: stretch !important; - } -} - -@media (min-width: 768px) { - .flex-md-row { - -ms-flex-direction: row !important; - flex-direction: row !important; - } - .flex-md-column { - -ms-flex-direction: column !important; - flex-direction: column !important; - } - .flex-md-row-reverse { - -ms-flex-direction: row-reverse !important; - flex-direction: row-reverse !important; - } - .flex-md-column-reverse { - -ms-flex-direction: column-reverse !important; - flex-direction: column-reverse !important; - } - .flex-md-wrap { - -ms-flex-wrap: wrap !important; - flex-wrap: wrap !important; - } - .flex-md-nowrap { - -ms-flex-wrap: nowrap !important; - flex-wrap: nowrap !important; - } - .flex-md-wrap-reverse { - -ms-flex-wrap: wrap-reverse !important; - flex-wrap: wrap-reverse !important; - } - .flex-md-fill { - -ms-flex: 1 1 auto !important; - flex: 1 1 auto !important; - } - .flex-md-grow-0 { - -ms-flex-positive: 0 !important; - flex-grow: 0 !important; - } - .flex-md-grow-1 { - -ms-flex-positive: 1 !important; - flex-grow: 1 !important; - } - .flex-md-shrink-0 { - -ms-flex-negative: 0 !important; - flex-shrink: 0 !important; - } - .flex-md-shrink-1 { - -ms-flex-negative: 1 !important; - flex-shrink: 1 !important; - } - .justify-content-md-start { - -ms-flex-pack: start !important; - justify-content: flex-start !important; - } - .justify-content-md-end { - -ms-flex-pack: end !important; - justify-content: flex-end !important; - } - .justify-content-md-center { - -ms-flex-pack: center !important; - justify-content: center !important; - } - .justify-content-md-between { - -ms-flex-pack: justify !important; - justify-content: space-between !important; - } - .justify-content-md-around { - -ms-flex-pack: distribute !important; - justify-content: space-around !important; - } - .align-items-md-start { - -ms-flex-align: start !important; - align-items: flex-start !important; - } - .align-items-md-end { - -ms-flex-align: end !important; - align-items: flex-end !important; - } - .align-items-md-center { - -ms-flex-align: center !important; - align-items: center !important; - } - .align-items-md-baseline { - -ms-flex-align: baseline !important; - align-items: baseline !important; - } - .align-items-md-stretch { - -ms-flex-align: stretch !important; - align-items: stretch !important; - } - .align-content-md-start { - -ms-flex-line-pack: start !important; - align-content: flex-start !important; - } - .align-content-md-end { - -ms-flex-line-pack: end !important; - align-content: flex-end !important; - } - .align-content-md-center { - -ms-flex-line-pack: center !important; - align-content: center !important; - } - .align-content-md-between { - -ms-flex-line-pack: justify !important; - align-content: space-between !important; - } - .align-content-md-around { - -ms-flex-line-pack: distribute !important; - align-content: space-around !important; - } - .align-content-md-stretch { - -ms-flex-line-pack: stretch !important; - align-content: stretch !important; - } - .align-self-md-auto { - -ms-flex-item-align: auto !important; - align-self: auto !important; - } - .align-self-md-start { - -ms-flex-item-align: start !important; - align-self: flex-start !important; - } - .align-self-md-end { - -ms-flex-item-align: end !important; - align-self: flex-end !important; - } - .align-self-md-center { - -ms-flex-item-align: center !important; - align-self: center !important; - } - .align-self-md-baseline { - -ms-flex-item-align: baseline !important; - align-self: baseline !important; - } - .align-self-md-stretch { - -ms-flex-item-align: stretch !important; - align-self: stretch !important; - } -} - -@media (min-width: 992px) { - .flex-lg-row { - -ms-flex-direction: row !important; - flex-direction: row !important; - } - .flex-lg-column { - -ms-flex-direction: column !important; - flex-direction: column !important; - } - .flex-lg-row-reverse { - -ms-flex-direction: row-reverse !important; - flex-direction: row-reverse !important; - } - .flex-lg-column-reverse { - -ms-flex-direction: column-reverse !important; - flex-direction: column-reverse !important; - } - .flex-lg-wrap { - -ms-flex-wrap: wrap !important; - flex-wrap: wrap !important; - } - .flex-lg-nowrap { - -ms-flex-wrap: nowrap !important; - flex-wrap: nowrap !important; - } - .flex-lg-wrap-reverse { - -ms-flex-wrap: wrap-reverse !important; - flex-wrap: wrap-reverse !important; - } - .flex-lg-fill { - -ms-flex: 1 1 auto !important; - flex: 1 1 auto !important; - } - .flex-lg-grow-0 { - -ms-flex-positive: 0 !important; - flex-grow: 0 !important; - } - .flex-lg-grow-1 { - -ms-flex-positive: 1 !important; - flex-grow: 1 !important; - } - .flex-lg-shrink-0 { - -ms-flex-negative: 0 !important; - flex-shrink: 0 !important; - } - .flex-lg-shrink-1 { - -ms-flex-negative: 1 !important; - flex-shrink: 1 !important; - } - .justify-content-lg-start { - -ms-flex-pack: start !important; - justify-content: flex-start !important; - } - .justify-content-lg-end { - -ms-flex-pack: end !important; - justify-content: flex-end !important; - } - .justify-content-lg-center { - -ms-flex-pack: center !important; - justify-content: center !important; - } - .justify-content-lg-between { - -ms-flex-pack: justify !important; - justify-content: space-between !important; - } - .justify-content-lg-around { - -ms-flex-pack: distribute !important; - justify-content: space-around !important; - } - .align-items-lg-start { - -ms-flex-align: start !important; - align-items: flex-start !important; - } - .align-items-lg-end { - -ms-flex-align: end !important; - align-items: flex-end !important; - } - .align-items-lg-center { - -ms-flex-align: center !important; - align-items: center !important; - } - .align-items-lg-baseline { - -ms-flex-align: baseline !important; - align-items: baseline !important; - } - .align-items-lg-stretch { - -ms-flex-align: stretch !important; - align-items: stretch !important; - } - .align-content-lg-start { - -ms-flex-line-pack: start !important; - align-content: flex-start !important; - } - .align-content-lg-end { - -ms-flex-line-pack: end !important; - align-content: flex-end !important; - } - .align-content-lg-center { - -ms-flex-line-pack: center !important; - align-content: center !important; - } - .align-content-lg-between { - -ms-flex-line-pack: justify !important; - align-content: space-between !important; - } - .align-content-lg-around { - -ms-flex-line-pack: distribute !important; - align-content: space-around !important; - } - .align-content-lg-stretch { - -ms-flex-line-pack: stretch !important; - align-content: stretch !important; - } - .align-self-lg-auto { - -ms-flex-item-align: auto !important; - align-self: auto !important; - } - .align-self-lg-start { - -ms-flex-item-align: start !important; - align-self: flex-start !important; - } - .align-self-lg-end { - -ms-flex-item-align: end !important; - align-self: flex-end !important; - } - .align-self-lg-center { - -ms-flex-item-align: center !important; - align-self: center !important; - } - .align-self-lg-baseline { - -ms-flex-item-align: baseline !important; - align-self: baseline !important; - } - .align-self-lg-stretch { - -ms-flex-item-align: stretch !important; - align-self: stretch !important; - } -} - -@media (min-width: 1200px) { - .flex-xl-row { - -ms-flex-direction: row !important; - flex-direction: row !important; - } - .flex-xl-column { - -ms-flex-direction: column !important; - flex-direction: column !important; - } - .flex-xl-row-reverse { - -ms-flex-direction: row-reverse !important; - flex-direction: row-reverse !important; - } - .flex-xl-column-reverse { - -ms-flex-direction: column-reverse !important; - flex-direction: column-reverse !important; - } - .flex-xl-wrap { - -ms-flex-wrap: wrap !important; - flex-wrap: wrap !important; - } - .flex-xl-nowrap { - -ms-flex-wrap: nowrap !important; - flex-wrap: nowrap !important; - } - .flex-xl-wrap-reverse { - -ms-flex-wrap: wrap-reverse !important; - flex-wrap: wrap-reverse !important; - } - .flex-xl-fill { - -ms-flex: 1 1 auto !important; - flex: 1 1 auto !important; - } - .flex-xl-grow-0 { - -ms-flex-positive: 0 !important; - flex-grow: 0 !important; - } - .flex-xl-grow-1 { - -ms-flex-positive: 1 !important; - flex-grow: 1 !important; - } - .flex-xl-shrink-0 { - -ms-flex-negative: 0 !important; - flex-shrink: 0 !important; - } - .flex-xl-shrink-1 { - -ms-flex-negative: 1 !important; - flex-shrink: 1 !important; - } - .justify-content-xl-start { - -ms-flex-pack: start !important; - justify-content: flex-start !important; - } - .justify-content-xl-end { - -ms-flex-pack: end !important; - justify-content: flex-end !important; - } - .justify-content-xl-center { - -ms-flex-pack: center !important; - justify-content: center !important; - } - .justify-content-xl-between { - -ms-flex-pack: justify !important; - justify-content: space-between !important; - } - .justify-content-xl-around { - -ms-flex-pack: distribute !important; - justify-content: space-around !important; - } - .align-items-xl-start { - -ms-flex-align: start !important; - align-items: flex-start !important; - } - .align-items-xl-end { - -ms-flex-align: end !important; - align-items: flex-end !important; - } - .align-items-xl-center { - -ms-flex-align: center !important; - align-items: center !important; - } - .align-items-xl-baseline { - -ms-flex-align: baseline !important; - align-items: baseline !important; - } - .align-items-xl-stretch { - -ms-flex-align: stretch !important; - align-items: stretch !important; - } - .align-content-xl-start { - -ms-flex-line-pack: start !important; - align-content: flex-start !important; - } - .align-content-xl-end { - -ms-flex-line-pack: end !important; - align-content: flex-end !important; - } - .align-content-xl-center { - -ms-flex-line-pack: center !important; - align-content: center !important; - } - .align-content-xl-between { - -ms-flex-line-pack: justify !important; - align-content: space-between !important; - } - .align-content-xl-around { - -ms-flex-line-pack: distribute !important; - align-content: space-around !important; - } - .align-content-xl-stretch { - -ms-flex-line-pack: stretch !important; - align-content: stretch !important; - } - .align-self-xl-auto { - -ms-flex-item-align: auto !important; - align-self: auto !important; - } - .align-self-xl-start { - -ms-flex-item-align: start !important; - align-self: flex-start !important; - } - .align-self-xl-end { - -ms-flex-item-align: end !important; - align-self: flex-end !important; - } - .align-self-xl-center { - -ms-flex-item-align: center !important; - align-self: center !important; - } - .align-self-xl-baseline { - -ms-flex-item-align: baseline !important; - align-self: baseline !important; - } - .align-self-xl-stretch { - -ms-flex-item-align: stretch !important; - align-self: stretch !important; - } -} -/*# sourceMappingURL=bootstrap-grid.css.map */ \ No newline at end of file diff --git a/docs/_static/link_gen/vendor/bootstrap-4.1.3/css/bootstrap-grid.css.map b/docs/_static/link_gen/vendor/bootstrap-4.1.3/css/bootstrap-grid.css.map deleted file mode 100644 index a636ccee..00000000 --- a/docs/_static/link_gen/vendor/bootstrap-4.1.3/css/bootstrap-grid.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../../scss/bootstrap-grid.scss","bootstrap-grid.css","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/_variables.scss","../../scss/mixins/_grid-framework.scss","../../scss/utilities/_display.scss","../../scss/utilities/_flex.scss"],"names":[],"mappings":"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","file":"bootstrap-grid.css","sourcesContent":["/*!\n * Bootstrap Grid v4.1.3 (https://getbootstrap.com/)\n * Copyright 2011-2018 The Bootstrap Authors\n * Copyright 2011-2018 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\n@at-root {\n @-ms-viewport { width: device-width; } // stylelint-disable-line at-rule-no-vendor-prefix\n}\n\nhtml {\n box-sizing: border-box;\n -ms-overflow-style: scrollbar;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n@import \"functions\";\n@import \"variables\";\n\n@import \"mixins/breakpoints\";\n@import \"mixins/grid-framework\";\n@import \"mixins/grid\";\n\n@import \"grid\";\n@import \"utilities/display\";\n@import \"utilities/flex\";\n","/*!\n * Bootstrap Grid v4.1.3 (https://getbootstrap.com/)\n * Copyright 2011-2018 The Bootstrap Authors\n * Copyright 2011-2018 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n@-ms-viewport {\n width: device-width;\n}\n\nhtml {\n box-sizing: border-box;\n -ms-overflow-style: scrollbar;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n.container {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n max-width: 1140px;\n }\n}\n\n.container-fluid {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n.row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\n.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n.col-xl-auto {\n position: relative;\n width: 100%;\n min-height: 1px;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n.col {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n}\n\n.col-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.order-first {\n order: -1;\n}\n\n.order-last {\n order: 13;\n}\n\n.order-0 {\n order: 0;\n}\n\n.order-1 {\n order: 1;\n}\n\n.order-2 {\n order: 2;\n}\n\n.order-3 {\n order: 3;\n}\n\n.order-4 {\n order: 4;\n}\n\n.order-5 {\n order: 5;\n}\n\n.order-6 {\n order: 6;\n}\n\n.order-7 {\n order: 7;\n}\n\n.order-8 {\n order: 8;\n}\n\n.order-9 {\n order: 9;\n}\n\n.order-10 {\n order: 10;\n}\n\n.order-11 {\n order: 11;\n}\n\n.order-12 {\n order: 12;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-sm-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-sm-first {\n order: -1;\n }\n .order-sm-last {\n order: 13;\n }\n .order-sm-0 {\n order: 0;\n }\n .order-sm-1 {\n order: 1;\n }\n .order-sm-2 {\n order: 2;\n }\n .order-sm-3 {\n order: 3;\n }\n .order-sm-4 {\n order: 4;\n }\n .order-sm-5 {\n order: 5;\n }\n .order-sm-6 {\n order: 6;\n }\n .order-sm-7 {\n order: 7;\n }\n .order-sm-8 {\n order: 8;\n }\n .order-sm-9 {\n order: 9;\n }\n .order-sm-10 {\n order: 10;\n }\n .order-sm-11 {\n order: 11;\n }\n .order-sm-12 {\n order: 12;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-md-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-md-first {\n order: -1;\n }\n .order-md-last {\n order: 13;\n }\n .order-md-0 {\n order: 0;\n }\n .order-md-1 {\n order: 1;\n }\n .order-md-2 {\n order: 2;\n }\n .order-md-3 {\n order: 3;\n }\n .order-md-4 {\n order: 4;\n }\n .order-md-5 {\n order: 5;\n }\n .order-md-6 {\n order: 6;\n }\n .order-md-7 {\n order: 7;\n }\n .order-md-8 {\n order: 8;\n }\n .order-md-9 {\n order: 9;\n }\n .order-md-10 {\n order: 10;\n }\n .order-md-11 {\n order: 11;\n }\n .order-md-12 {\n order: 12;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-lg-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-lg-first {\n order: -1;\n }\n .order-lg-last {\n order: 13;\n }\n .order-lg-0 {\n order: 0;\n }\n .order-lg-1 {\n order: 1;\n }\n .order-lg-2 {\n order: 2;\n }\n .order-lg-3 {\n order: 3;\n }\n .order-lg-4 {\n order: 4;\n }\n .order-lg-5 {\n order: 5;\n }\n .order-lg-6 {\n order: 6;\n }\n .order-lg-7 {\n order: 7;\n }\n .order-lg-8 {\n order: 8;\n }\n .order-lg-9 {\n order: 9;\n }\n .order-lg-10 {\n order: 10;\n }\n .order-lg-11 {\n order: 11;\n }\n .order-lg-12 {\n order: 12;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-xl-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-xl-first {\n order: -1;\n }\n .order-xl-last {\n order: 13;\n }\n .order-xl-0 {\n order: 0;\n }\n .order-xl-1 {\n order: 1;\n }\n .order-xl-2 {\n order: 2;\n }\n .order-xl-3 {\n order: 3;\n }\n .order-xl-4 {\n order: 4;\n }\n .order-xl-5 {\n order: 5;\n }\n .order-xl-6 {\n order: 6;\n }\n .order-xl-7 {\n order: 7;\n }\n .order-xl-8 {\n order: 8;\n }\n .order-xl-9 {\n order: 9;\n }\n .order-xl-10 {\n order: 10;\n }\n .order-xl-11 {\n order: 11;\n }\n .order-xl-12 {\n order: 12;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n.d-none {\n display: none !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-none {\n display: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 768px) {\n .d-md-none {\n display: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 992px) {\n .d-lg-none {\n display: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 1200px) {\n .d-xl-none {\n display: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media print {\n .d-print-none {\n display: none !important;\n }\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: flex !important;\n }\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n flex-shrink: 1 !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n@media (min-width: 576px) {\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 768px) {\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 992px) {\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 1200px) {\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n}\n\n/*# sourceMappingURL=bootstrap-grid.css.map */","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n .container {\n @include make-container();\n @include make-container-max-widths();\n }\n}\n\n// Fluid container\n//\n// Utilizes the mixin meant for fixed width containers, but with 100% width for\n// fluid, full width layouts.\n\n@if $enable-grid-classes {\n .container-fluid {\n @include make-container();\n }\n}\n\n// Row\n//\n// Rows contain and clear the floats of your columns.\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n }\n\n // Remove the negative margin from default .row, then the horizontal padding\n // from all immediate children columns (to prevent runaway style inheritance).\n .no-gutters {\n margin-right: 0;\n margin-left: 0;\n\n > .col,\n > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n }\n }\n}\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-container() {\n width: 100%;\n padding-right: ($grid-gutter-width / 2);\n padding-left: ($grid-gutter-width / 2);\n margin-right: auto;\n margin-left: auto;\n}\n\n\n// For each breakpoint, define the maximum width of the container in a media query\n@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {\n @each $breakpoint, $container-max-width in $max-widths {\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n max-width: $container-max-width;\n }\n }\n}\n\n@mixin make-row() {\n display: flex;\n flex-wrap: wrap;\n margin-right: ($grid-gutter-width / -2);\n margin-left: ($grid-gutter-width / -2);\n}\n\n@mixin make-col-ready() {\n position: relative;\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we use `flex` values\n // later on to override this initial width.\n width: 100%;\n min-height: 1px; // Prevent collapsing\n padding-right: ($grid-gutter-width / 2);\n padding-left: ($grid-gutter-width / 2);\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n flex: 0 0 percentage($size / $columns);\n // Add a `max-width` to ensure content within each column does not blow out\n // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari\n // do not appear to require this.\n max-width: percentage($size / $columns);\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: $size / $columns;\n margin-left: if($num == 0, 0, percentage($num));\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.02px\n// to work around the limitations of `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - .02px, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $max: breakpoint-max($name, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($name, $breakpoints) {\n @content;\n }\n }\n}\n","// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.\n\n\n//\n// Color system\n//\n\n$white: #fff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #6c757d !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n$black: #000 !default;\n\n$grays: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$grays: map-merge(\n (\n \"100\": $gray-100,\n \"200\": $gray-200,\n \"300\": $gray-300,\n \"400\": $gray-400,\n \"500\": $gray-500,\n \"600\": $gray-600,\n \"700\": $gray-700,\n \"800\": $gray-800,\n \"900\": $gray-900\n ),\n $grays\n);\n\n\n$blue: #007bff !default;\n$indigo: #6610f2 !default;\n$purple: #6f42c1 !default;\n$pink: #e83e8c !default;\n$red: #dc3545 !default;\n$orange: #fd7e14 !default;\n$yellow: #ffc107 !default;\n$green: #28a745 !default;\n$teal: #20c997 !default;\n$cyan: #17a2b8 !default;\n\n$colors: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$colors: map-merge(\n (\n \"blue\": $blue,\n \"indigo\": $indigo,\n \"purple\": $purple,\n \"pink\": $pink,\n \"red\": $red,\n \"orange\": $orange,\n \"yellow\": $yellow,\n \"green\": $green,\n \"teal\": $teal,\n \"cyan\": $cyan,\n \"white\": $white,\n \"gray\": $gray-600,\n \"gray-dark\": $gray-800\n ),\n $colors\n);\n\n$primary: $blue !default;\n$secondary: $gray-600 !default;\n$success: $green !default;\n$info: $cyan !default;\n$warning: $yellow !default;\n$danger: $red !default;\n$light: $gray-100 !default;\n$dark: $gray-800 !default;\n\n$theme-colors: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$theme-colors: map-merge(\n (\n \"primary\": $primary,\n \"secondary\": $secondary,\n \"success\": $success,\n \"info\": $info,\n \"warning\": $warning,\n \"danger\": $danger,\n \"light\": $light,\n \"dark\": $dark\n ),\n $theme-colors\n);\n\n// Set a specific jump point for requesting color jumps\n$theme-color-interval: 8% !default;\n\n// The yiq lightness value that determines when the lightness of color changes from \"dark\" to \"light\". Acceptable values are between 0 and 255.\n$yiq-contrasted-threshold: 150 !default;\n\n// Customize the light and dark text colors for use in our YIQ color contrast function.\n$yiq-text-dark: $gray-900 !default;\n$yiq-text-light: $white !default;\n\n// Options\n//\n// Quickly modify global styling by enabling or disabling optional features.\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: false !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-hover-media-query: false !default; // Deprecated, no longer affects any compiled CSS\n$enable-grid-classes: true !default;\n$enable-print-styles: true !default;\n\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n$spacer: 1rem !default;\n$spacers: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$spacers: map-merge(\n (\n 0: 0,\n 1: ($spacer * .25),\n 2: ($spacer * .5),\n 3: $spacer,\n 4: ($spacer * 1.5),\n 5: ($spacer * 3)\n ),\n $spacers\n);\n\n// This variable affects the `.h-*` and `.w-*` classes.\n$sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$sizes: map-merge(\n (\n 25: 25%,\n 50: 50%,\n 75: 75%,\n 100: 100%,\n auto: auto\n ),\n $sizes\n);\n\n// Body\n//\n// Settings for the `` element.\n\n$body-bg: $white !default;\n$body-color: $gray-900 !default;\n\n// Links\n//\n// Style anchor elements.\n\n$link-color: theme-color(\"primary\") !default;\n$link-decoration: none !default;\n$link-hover-color: darken($link-color, 15%) !default;\n$link-hover-decoration: underline !default;\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom: 1rem !default;\n\n\n// Grid breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n$grid-breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 992px,\n xl: 1200px\n) !default;\n\n@include _assert-ascending($grid-breakpoints, \"$grid-breakpoints\");\n@include _assert-starts-at-zero($grid-breakpoints);\n\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1140px\n) !default;\n\n@include _assert-ascending($container-max-widths, \"$container-max-widths\");\n\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-width: 30px !default;\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n$line-height-lg: 1.5 !default;\n$line-height-sm: 1.5 !default;\n\n$border-width: 1px !default;\n$border-color: $gray-300 !default;\n\n$border-radius: .25rem !default;\n$border-radius-lg: .3rem !default;\n$border-radius-sm: .2rem !default;\n\n$box-shadow-sm: 0 .125rem .25rem rgba($black, .075) !default;\n$box-shadow: 0 .5rem 1rem rgba($black, .15) !default;\n$box-shadow-lg: 0 1rem 3rem rgba($black, .175) !default;\n\n$component-active-color: $white !default;\n$component-active-bg: theme-color(\"primary\") !default;\n\n$caret-width: .3em !default;\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n$transition-collapse: height .35s ease !default;\n\n\n// Fonts\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// stylelint-disable value-keyword-case\n$font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\" !default;\n$font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !default;\n$font-family-base: $font-family-sans-serif !default;\n// stylelint-enable value-keyword-case\n\n$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`\n$font-size-lg: ($font-size-base * 1.25) !default;\n$font-size-sm: ($font-size-base * .875) !default;\n\n$font-weight-light: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-bold: 700 !default;\n\n$font-weight-base: $font-weight-normal !default;\n$line-height-base: 1.5 !default;\n\n$h1-font-size: $font-size-base * 2.5 !default;\n$h2-font-size: $font-size-base * 2 !default;\n$h3-font-size: $font-size-base * 1.75 !default;\n$h4-font-size: $font-size-base * 1.5 !default;\n$h5-font-size: $font-size-base * 1.25 !default;\n$h6-font-size: $font-size-base !default;\n\n$headings-margin-bottom: ($spacer / 2) !default;\n$headings-font-family: inherit !default;\n$headings-font-weight: 500 !default;\n$headings-line-height: 1.2 !default;\n$headings-color: inherit !default;\n\n$display1-size: 6rem !default;\n$display2-size: 5.5rem !default;\n$display3-size: 4.5rem !default;\n$display4-size: 3.5rem !default;\n\n$display1-weight: 300 !default;\n$display2-weight: 300 !default;\n$display3-weight: 300 !default;\n$display4-weight: 300 !default;\n$display-line-height: $headings-line-height !default;\n\n$lead-font-size: ($font-size-base * 1.25) !default;\n$lead-font-weight: 300 !default;\n\n$small-font-size: 80% !default;\n\n$text-muted: $gray-600 !default;\n\n$blockquote-small-color: $gray-600 !default;\n$blockquote-font-size: ($font-size-base * 1.25) !default;\n\n$hr-border-color: rgba($black, .1) !default;\n$hr-border-width: $border-width !default;\n\n$mark-padding: .2em !default;\n\n$dt-font-weight: $font-weight-bold !default;\n\n$kbd-box-shadow: inset 0 -.1rem 0 rgba($black, .25) !default;\n$nested-kbd-font-weight: $font-weight-bold !default;\n\n$list-inline-padding: .5rem !default;\n\n$mark-bg: #fcf8e3 !default;\n\n$hr-margin-y: $spacer !default;\n\n\n// Tables\n//\n// Customizes the `.table` component with basic values, each used across all table variations.\n\n$table-cell-padding: .75rem !default;\n$table-cell-padding-sm: .3rem !default;\n\n$table-bg: transparent !default;\n$table-accent-bg: rgba($black, .05) !default;\n$table-hover-bg: rgba($black, .075) !default;\n$table-active-bg: $table-hover-bg !default;\n\n$table-border-width: $border-width !default;\n$table-border-color: $gray-300 !default;\n\n$table-head-bg: $gray-200 !default;\n$table-head-color: $gray-700 !default;\n\n$table-dark-bg: $gray-900 !default;\n$table-dark-accent-bg: rgba($white, .05) !default;\n$table-dark-hover-bg: rgba($white, .075) !default;\n$table-dark-border-color: lighten($gray-900, 7.5%) !default;\n$table-dark-color: $body-bg !default;\n\n$table-striped-order: odd !default;\n\n$table-caption-color: $text-muted !default;\n\n// Buttons + Forms\n//\n// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.\n\n$input-btn-padding-y: .375rem !default;\n$input-btn-padding-x: .75rem !default;\n$input-btn-line-height: $line-height-base !default;\n\n$input-btn-focus-width: .2rem !default;\n$input-btn-focus-color: rgba($component-active-bg, .25) !default;\n$input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color !default;\n\n$input-btn-padding-y-sm: .25rem !default;\n$input-btn-padding-x-sm: .5rem !default;\n$input-btn-line-height-sm: $line-height-sm !default;\n\n$input-btn-padding-y-lg: .5rem !default;\n$input-btn-padding-x-lg: 1rem !default;\n$input-btn-line-height-lg: $line-height-lg !default;\n\n$input-btn-border-width: $border-width !default;\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background, and border color.\n\n$btn-padding-y: $input-btn-padding-y !default;\n$btn-padding-x: $input-btn-padding-x !default;\n$btn-line-height: $input-btn-line-height !default;\n\n$btn-padding-y-sm: $input-btn-padding-y-sm !default;\n$btn-padding-x-sm: $input-btn-padding-x-sm !default;\n$btn-line-height-sm: $input-btn-line-height-sm !default;\n\n$btn-padding-y-lg: $input-btn-padding-y-lg !default;\n$btn-padding-x-lg: $input-btn-padding-x-lg !default;\n$btn-line-height-lg: $input-btn-line-height-lg !default;\n\n$btn-border-width: $input-btn-border-width !default;\n\n$btn-font-weight: $font-weight-normal !default;\n$btn-box-shadow: inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default;\n$btn-focus-width: $input-btn-focus-width !default;\n$btn-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$btn-disabled-opacity: .65 !default;\n$btn-active-box-shadow: inset 0 3px 5px rgba($black, .125) !default;\n\n$btn-link-disabled-color: $gray-600 !default;\n\n$btn-block-spacing-y: .5rem !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius: $border-radius !default;\n$btn-border-radius-lg: $border-radius-lg !default;\n$btn-border-radius-sm: $border-radius-sm !default;\n\n$btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n\n// Forms\n\n$label-margin-bottom: .5rem !default;\n\n$input-padding-y: $input-btn-padding-y !default;\n$input-padding-x: $input-btn-padding-x !default;\n$input-line-height: $input-btn-line-height !default;\n\n$input-padding-y-sm: $input-btn-padding-y-sm !default;\n$input-padding-x-sm: $input-btn-padding-x-sm !default;\n$input-line-height-sm: $input-btn-line-height-sm !default;\n\n$input-padding-y-lg: $input-btn-padding-y-lg !default;\n$input-padding-x-lg: $input-btn-padding-x-lg !default;\n$input-line-height-lg: $input-btn-line-height-lg !default;\n\n$input-bg: $white !default;\n$input-disabled-bg: $gray-200 !default;\n\n$input-color: $gray-700 !default;\n$input-border-color: $gray-400 !default;\n$input-border-width: $input-btn-border-width !default;\n$input-box-shadow: inset 0 1px 1px rgba($black, .075) !default;\n\n$input-border-radius: $border-radius !default;\n$input-border-radius-lg: $border-radius-lg !default;\n$input-border-radius-sm: $border-radius-sm !default;\n\n$input-focus-bg: $input-bg !default;\n$input-focus-border-color: lighten($component-active-bg, 25%) !default;\n$input-focus-color: $input-color !default;\n$input-focus-width: $input-btn-focus-width !default;\n$input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$input-placeholder-color: $gray-600 !default;\n$input-plaintext-color: $body-color !default;\n\n$input-height-border: $input-border-width * 2 !default;\n\n$input-height-inner: ($font-size-base * $input-btn-line-height) + ($input-btn-padding-y * 2) !default;\n$input-height: calc(#{$input-height-inner} + #{$input-height-border}) !default;\n\n$input-height-inner-sm: ($font-size-sm * $input-btn-line-height-sm) + ($input-btn-padding-y-sm * 2) !default;\n$input-height-sm: calc(#{$input-height-inner-sm} + #{$input-height-border}) !default;\n\n$input-height-inner-lg: ($font-size-lg * $input-btn-line-height-lg) + ($input-btn-padding-y-lg * 2) !default;\n$input-height-lg: calc(#{$input-height-inner-lg} + #{$input-height-border}) !default;\n\n$input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$form-text-margin-top: .25rem !default;\n\n$form-check-input-gutter: 1.25rem !default;\n$form-check-input-margin-y: .3rem !default;\n$form-check-input-margin-x: .25rem !default;\n\n$form-check-inline-margin-x: .75rem !default;\n$form-check-inline-input-margin-x: .3125rem !default;\n\n$form-group-margin-bottom: 1rem !default;\n\n$input-group-addon-color: $input-color !default;\n$input-group-addon-bg: $gray-200 !default;\n$input-group-addon-border-color: $input-border-color !default;\n\n$custom-forms-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$custom-control-gutter: 1.5rem !default;\n$custom-control-spacer-x: 1rem !default;\n\n$custom-control-indicator-size: 1rem !default;\n$custom-control-indicator-bg: $gray-300 !default;\n$custom-control-indicator-bg-size: 50% 50% !default;\n$custom-control-indicator-box-shadow: inset 0 .25rem .25rem rgba($black, .1) !default;\n\n$custom-control-indicator-disabled-bg: $gray-200 !default;\n$custom-control-label-disabled-color: $gray-600 !default;\n\n$custom-control-indicator-checked-color: $component-active-color !default;\n$custom-control-indicator-checked-bg: $component-active-bg !default;\n$custom-control-indicator-checked-disabled-bg: rgba(theme-color(\"primary\"), .5) !default;\n$custom-control-indicator-checked-box-shadow: none !default;\n\n$custom-control-indicator-focus-box-shadow: 0 0 0 1px $body-bg, $input-btn-focus-box-shadow !default;\n\n$custom-control-indicator-active-color: $component-active-color !default;\n$custom-control-indicator-active-bg: lighten($component-active-bg, 35%) !default;\n$custom-control-indicator-active-box-shadow: none !default;\n\n$custom-checkbox-indicator-border-radius: $border-radius !default;\n$custom-checkbox-indicator-icon-checked: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='#{$custom-control-indicator-checked-color}' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n\n$custom-checkbox-indicator-indeterminate-bg: $component-active-bg !default;\n$custom-checkbox-indicator-indeterminate-color: $custom-control-indicator-checked-color !default;\n$custom-checkbox-indicator-icon-indeterminate: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='#{$custom-checkbox-indicator-indeterminate-color}' d='M0 2h4'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$custom-checkbox-indicator-indeterminate-box-shadow: none !default;\n\n$custom-radio-indicator-border-radius: 50% !default;\n$custom-radio-indicator-icon-checked: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='#{$custom-control-indicator-checked-color}'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n\n$custom-select-padding-y: .375rem !default;\n$custom-select-padding-x: .75rem !default;\n$custom-select-height: $input-height !default;\n$custom-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator\n$custom-select-line-height: $input-btn-line-height !default;\n$custom-select-color: $input-color !default;\n$custom-select-disabled-color: $gray-600 !default;\n$custom-select-bg: $input-bg !default;\n$custom-select-disabled-bg: $gray-200 !default;\n$custom-select-bg-size: 8px 10px !default; // In pixels because image dimensions\n$custom-select-indicator-color: $gray-800 !default;\n$custom-select-indicator: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='#{$custom-select-indicator-color}' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$custom-select-border-width: $input-btn-border-width !default;\n$custom-select-border-color: $input-border-color !default;\n$custom-select-border-radius: $border-radius !default;\n$custom-select-box-shadow: inset 0 1px 2px rgba($black, .075) !default;\n\n$custom-select-focus-border-color: $input-focus-border-color !default;\n$custom-select-focus-width: $input-btn-focus-width !default;\n$custom-select-focus-box-shadow: 0 0 0 $custom-select-focus-width rgba($custom-select-focus-border-color, .5) !default;\n\n$custom-select-font-size-sm: 75% !default;\n$custom-select-height-sm: $input-height-sm !default;\n\n$custom-select-font-size-lg: 125% !default;\n$custom-select-height-lg: $input-height-lg !default;\n\n$custom-range-track-width: 100% !default;\n$custom-range-track-height: .5rem !default;\n$custom-range-track-cursor: pointer !default;\n$custom-range-track-bg: $gray-300 !default;\n$custom-range-track-border-radius: 1rem !default;\n$custom-range-track-box-shadow: inset 0 .25rem .25rem rgba($black, .1) !default;\n\n$custom-range-thumb-width: 1rem !default;\n$custom-range-thumb-height: $custom-range-thumb-width !default;\n$custom-range-thumb-bg: $component-active-bg !default;\n$custom-range-thumb-border: 0 !default;\n$custom-range-thumb-border-radius: 1rem !default;\n$custom-range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1) !default;\n$custom-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg, $input-btn-focus-box-shadow !default;\n$custom-range-thumb-focus-box-shadow-width: $input-btn-focus-width !default; // For focus box shadow issue in IE/Edge\n$custom-range-thumb-active-bg: lighten($component-active-bg, 35%) !default;\n\n$custom-file-height: $input-height !default;\n$custom-file-height-inner: $input-height-inner !default;\n$custom-file-focus-border-color: $input-focus-border-color !default;\n$custom-file-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$custom-file-disabled-bg: $input-disabled-bg !default;\n\n$custom-file-padding-y: $input-btn-padding-y !default;\n$custom-file-padding-x: $input-btn-padding-x !default;\n$custom-file-line-height: $input-btn-line-height !default;\n$custom-file-color: $input-color !default;\n$custom-file-bg: $input-bg !default;\n$custom-file-border-width: $input-btn-border-width !default;\n$custom-file-border-color: $input-border-color !default;\n$custom-file-border-radius: $input-border-radius !default;\n$custom-file-box-shadow: $input-box-shadow !default;\n$custom-file-button-color: $custom-file-color !default;\n$custom-file-button-bg: $input-group-addon-bg !default;\n$custom-file-text: (\n en: \"Browse\"\n) !default;\n\n\n// Form validation\n$form-feedback-margin-top: $form-text-margin-top !default;\n$form-feedback-font-size: $small-font-size !default;\n$form-feedback-valid-color: theme-color(\"success\") !default;\n$form-feedback-invalid-color: theme-color(\"danger\") !default;\n\n\n// Dropdowns\n//\n// Dropdown menu container and contents.\n\n$dropdown-min-width: 10rem !default;\n$dropdown-padding-y: .5rem !default;\n$dropdown-spacer: .125rem !default;\n$dropdown-bg: $white !default;\n$dropdown-border-color: rgba($black, .15) !default;\n$dropdown-border-radius: $border-radius !default;\n$dropdown-border-width: $border-width !default;\n$dropdown-divider-bg: $gray-200 !default;\n$dropdown-box-shadow: 0 .5rem 1rem rgba($black, .175) !default;\n\n$dropdown-link-color: $gray-900 !default;\n$dropdown-link-hover-color: darken($gray-900, 5%) !default;\n$dropdown-link-hover-bg: $gray-100 !default;\n\n$dropdown-link-active-color: $component-active-color !default;\n$dropdown-link-active-bg: $component-active-bg !default;\n\n$dropdown-link-disabled-color: $gray-600 !default;\n\n$dropdown-item-padding-y: .25rem !default;\n$dropdown-item-padding-x: 1.5rem !default;\n\n$dropdown-header-color: $gray-600 !default;\n\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n$zindex-dropdown: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-modal-backdrop: 1040 !default;\n$zindex-modal: 1050 !default;\n$zindex-popover: 1060 !default;\n$zindex-tooltip: 1070 !default;\n\n// Navs\n\n$nav-link-padding-y: .5rem !default;\n$nav-link-padding-x: 1rem !default;\n$nav-link-disabled-color: $gray-600 !default;\n\n$nav-tabs-border-color: $gray-300 !default;\n$nav-tabs-border-width: $border-width !default;\n$nav-tabs-border-radius: $border-radius !default;\n$nav-tabs-link-hover-border-color: $gray-200 $gray-200 $nav-tabs-border-color !default;\n$nav-tabs-link-active-color: $gray-700 !default;\n$nav-tabs-link-active-bg: $body-bg !default;\n$nav-tabs-link-active-border-color: $gray-300 $gray-300 $nav-tabs-link-active-bg !default;\n\n$nav-pills-border-radius: $border-radius !default;\n$nav-pills-link-active-color: $component-active-color !default;\n$nav-pills-link-active-bg: $component-active-bg !default;\n\n$nav-divider-color: $gray-200 !default;\n$nav-divider-margin-y: ($spacer / 2) !default;\n\n// Navbar\n\n$navbar-padding-y: ($spacer / 2) !default;\n$navbar-padding-x: $spacer !default;\n\n$navbar-nav-link-padding-x: .5rem !default;\n\n$navbar-brand-font-size: $font-size-lg !default;\n// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link\n$nav-link-height: ($font-size-base * $line-height-base + $nav-link-padding-y * 2) !default;\n$navbar-brand-height: $navbar-brand-font-size * $line-height-base !default;\n$navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) / 2 !default;\n\n$navbar-toggler-padding-y: .25rem !default;\n$navbar-toggler-padding-x: .75rem !default;\n$navbar-toggler-font-size: $font-size-lg !default;\n$navbar-toggler-border-radius: $btn-border-radius !default;\n\n$navbar-dark-color: rgba($white, .5) !default;\n$navbar-dark-hover-color: rgba($white, .75) !default;\n$navbar-dark-active-color: $white !default;\n$navbar-dark-disabled-color: rgba($white, .25) !default;\n$navbar-dark-toggler-icon-bg: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='#{$navbar-dark-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$navbar-dark-toggler-border-color: rgba($white, .1) !default;\n\n$navbar-light-color: rgba($black, .5) !default;\n$navbar-light-hover-color: rgba($black, .7) !default;\n$navbar-light-active-color: rgba($black, .9) !default;\n$navbar-light-disabled-color: rgba($black, .3) !default;\n$navbar-light-toggler-icon-bg: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='#{$navbar-light-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$navbar-light-toggler-border-color: rgba($black, .1) !default;\n\n// Pagination\n\n$pagination-padding-y: .5rem !default;\n$pagination-padding-x: .75rem !default;\n$pagination-padding-y-sm: .25rem !default;\n$pagination-padding-x-sm: .5rem !default;\n$pagination-padding-y-lg: .75rem !default;\n$pagination-padding-x-lg: 1.5rem !default;\n$pagination-line-height: 1.25 !default;\n\n$pagination-color: $link-color !default;\n$pagination-bg: $white !default;\n$pagination-border-width: $border-width !default;\n$pagination-border-color: $gray-300 !default;\n\n$pagination-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$pagination-focus-outline: 0 !default;\n\n$pagination-hover-color: $link-hover-color !default;\n$pagination-hover-bg: $gray-200 !default;\n$pagination-hover-border-color: $gray-300 !default;\n\n$pagination-active-color: $component-active-color !default;\n$pagination-active-bg: $component-active-bg !default;\n$pagination-active-border-color: $pagination-active-bg !default;\n\n$pagination-disabled-color: $gray-600 !default;\n$pagination-disabled-bg: $white !default;\n$pagination-disabled-border-color: $gray-300 !default;\n\n\n// Jumbotron\n\n$jumbotron-padding: 2rem !default;\n$jumbotron-bg: $gray-200 !default;\n\n\n// Cards\n\n$card-spacer-y: .75rem !default;\n$card-spacer-x: 1.25rem !default;\n$card-border-width: $border-width !default;\n$card-border-radius: $border-radius !default;\n$card-border-color: rgba($black, .125) !default;\n$card-inner-border-radius: calc(#{$card-border-radius} - #{$card-border-width}) !default;\n$card-cap-bg: rgba($black, .03) !default;\n$card-bg: $white !default;\n\n$card-img-overlay-padding: 1.25rem !default;\n\n$card-group-margin: ($grid-gutter-width / 2) !default;\n$card-deck-margin: $card-group-margin !default;\n\n$card-columns-count: 3 !default;\n$card-columns-gap: 1.25rem !default;\n$card-columns-margin: $card-spacer-y !default;\n\n\n// Tooltips\n\n$tooltip-font-size: $font-size-sm !default;\n$tooltip-max-width: 200px !default;\n$tooltip-color: $white !default;\n$tooltip-bg: $black !default;\n$tooltip-border-radius: $border-radius !default;\n$tooltip-opacity: .9 !default;\n$tooltip-padding-y: .25rem !default;\n$tooltip-padding-x: .5rem !default;\n$tooltip-margin: 0 !default;\n\n$tooltip-arrow-width: .8rem !default;\n$tooltip-arrow-height: .4rem !default;\n$tooltip-arrow-color: $tooltip-bg !default;\n\n\n// Popovers\n\n$popover-font-size: $font-size-sm !default;\n$popover-bg: $white !default;\n$popover-max-width: 276px !default;\n$popover-border-width: $border-width !default;\n$popover-border-color: rgba($black, .2) !default;\n$popover-border-radius: $border-radius-lg !default;\n$popover-box-shadow: 0 .25rem .5rem rgba($black, .2) !default;\n\n$popover-header-bg: darken($popover-bg, 3%) !default;\n$popover-header-color: $headings-color !default;\n$popover-header-padding-y: .5rem !default;\n$popover-header-padding-x: .75rem !default;\n\n$popover-body-color: $body-color !default;\n$popover-body-padding-y: $popover-header-padding-y !default;\n$popover-body-padding-x: $popover-header-padding-x !default;\n\n$popover-arrow-width: 1rem !default;\n$popover-arrow-height: .5rem !default;\n$popover-arrow-color: $popover-bg !default;\n\n$popover-arrow-outer-color: fade-in($popover-border-color, .05) !default;\n\n\n// Badges\n\n$badge-font-size: 75% !default;\n$badge-font-weight: $font-weight-bold !default;\n$badge-padding-y: .25em !default;\n$badge-padding-x: .4em !default;\n$badge-border-radius: $border-radius !default;\n\n$badge-pill-padding-x: .6em !default;\n// Use a higher than normal value to ensure completely rounded edges when\n// customizing padding or font-size on labels.\n$badge-pill-border-radius: 10rem !default;\n\n\n// Modals\n\n// Padding applied to the modal body\n$modal-inner-padding: 1rem !default;\n\n$modal-dialog-margin: .5rem !default;\n$modal-dialog-margin-y-sm-up: 1.75rem !default;\n\n$modal-title-line-height: $line-height-base !default;\n\n$modal-content-bg: $white !default;\n$modal-content-border-color: rgba($black, .2) !default;\n$modal-content-border-width: $border-width !default;\n$modal-content-border-radius: $border-radius-lg !default;\n$modal-content-box-shadow-xs: 0 .25rem .5rem rgba($black, .5) !default;\n$modal-content-box-shadow-sm-up: 0 .5rem 1rem rgba($black, .5) !default;\n\n$modal-backdrop-bg: $black !default;\n$modal-backdrop-opacity: .5 !default;\n$modal-header-border-color: $gray-200 !default;\n$modal-footer-border-color: $modal-header-border-color !default;\n$modal-header-border-width: $modal-content-border-width !default;\n$modal-footer-border-width: $modal-header-border-width !default;\n$modal-header-padding: 1rem !default;\n\n$modal-lg: 800px !default;\n$modal-md: 500px !default;\n$modal-sm: 300px !default;\n\n$modal-transition: transform .3s ease-out !default;\n\n\n// Alerts\n//\n// Define alert colors, border radius, and padding.\n\n$alert-padding-y: .75rem !default;\n$alert-padding-x: 1.25rem !default;\n$alert-margin-bottom: 1rem !default;\n$alert-border-radius: $border-radius !default;\n$alert-link-font-weight: $font-weight-bold !default;\n$alert-border-width: $border-width !default;\n\n$alert-bg-level: -10 !default;\n$alert-border-level: -9 !default;\n$alert-color-level: 6 !default;\n\n\n// Progress bars\n\n$progress-height: 1rem !default;\n$progress-font-size: ($font-size-base * .75) !default;\n$progress-bg: $gray-200 !default;\n$progress-border-radius: $border-radius !default;\n$progress-box-shadow: inset 0 .1rem .1rem rgba($black, .1) !default;\n$progress-bar-color: $white !default;\n$progress-bar-bg: theme-color(\"primary\") !default;\n$progress-bar-animation-timing: 1s linear infinite !default;\n$progress-bar-transition: width .6s ease !default;\n\n// List group\n\n$list-group-bg: $white !default;\n$list-group-border-color: rgba($black, .125) !default;\n$list-group-border-width: $border-width !default;\n$list-group-border-radius: $border-radius !default;\n\n$list-group-item-padding-y: .75rem !default;\n$list-group-item-padding-x: 1.25rem !default;\n\n$list-group-hover-bg: $gray-100 !default;\n$list-group-active-color: $component-active-color !default;\n$list-group-active-bg: $component-active-bg !default;\n$list-group-active-border-color: $list-group-active-bg !default;\n\n$list-group-disabled-color: $gray-600 !default;\n$list-group-disabled-bg: $list-group-bg !default;\n\n$list-group-action-color: $gray-700 !default;\n$list-group-action-hover-color: $list-group-action-color !default;\n\n$list-group-action-active-color: $body-color !default;\n$list-group-action-active-bg: $gray-200 !default;\n\n\n// Image thumbnails\n\n$thumbnail-padding: .25rem !default;\n$thumbnail-bg: $body-bg !default;\n$thumbnail-border-width: $border-width !default;\n$thumbnail-border-color: $gray-300 !default;\n$thumbnail-border-radius: $border-radius !default;\n$thumbnail-box-shadow: 0 1px 2px rgba($black, .075) !default;\n\n\n// Figures\n\n$figure-caption-font-size: 90% !default;\n$figure-caption-color: $gray-600 !default;\n\n\n// Breadcrumbs\n\n$breadcrumb-padding-y: .75rem !default;\n$breadcrumb-padding-x: 1rem !default;\n$breadcrumb-item-padding: .5rem !default;\n\n$breadcrumb-margin-bottom: 1rem !default;\n\n$breadcrumb-bg: $gray-200 !default;\n$breadcrumb-divider-color: $gray-600 !default;\n$breadcrumb-active-color: $gray-600 !default;\n$breadcrumb-divider: quote(\"/\") !default;\n\n$breadcrumb-border-radius: $border-radius !default;\n\n\n// Carousel\n\n$carousel-control-color: $white !default;\n$carousel-control-width: 15% !default;\n$carousel-control-opacity: .5 !default;\n\n$carousel-indicator-width: 30px !default;\n$carousel-indicator-height: 3px !default;\n$carousel-indicator-spacer: 3px !default;\n$carousel-indicator-active-bg: $white !default;\n\n$carousel-caption-width: 70% !default;\n$carousel-caption-color: $white !default;\n\n$carousel-control-icon-width: 20px !default;\n\n$carousel-control-prev-icon-bg: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$carousel-control-next-icon-bg: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n\n$carousel-transition: transform .6s ease !default; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`)\n\n\n// Close\n\n$close-font-size: $font-size-base * 1.5 !default;\n$close-font-weight: $font-weight-bold !default;\n$close-color: $black !default;\n$close-text-shadow: 0 1px 0 $white !default;\n\n// Code\n\n$code-font-size: 87.5% !default;\n$code-color: $pink !default;\n\n$kbd-padding-y: .2rem !default;\n$kbd-padding-x: .4rem !default;\n$kbd-font-size: $code-font-size !default;\n$kbd-color: $white !default;\n$kbd-bg: $gray-900 !default;\n\n$pre-color: $gray-900 !default;\n$pre-scrollable-max-height: 340px !default;\n\n\n// Printing\n$print-page-size: a3 !default;\n$print-body-min-width: map-get($grid-breakpoints, \"lg\") !default;\n","// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n // Common properties for all breakpoints\n %grid-column {\n position: relative;\n width: 100%;\n min-height: 1px; // Prevent columns from collapsing when empty\n padding-right: ($gutter / 2);\n padding-left: ($gutter / 2);\n }\n\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n // Allow columns to stretch full width below their breakpoints\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @extend %grid-column;\n }\n }\n .col#{$infix},\n .col#{$infix}-auto {\n @extend %grid-column;\n }\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col#{$infix}-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none; // Reset earlier grid tiers\n }\n\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n\n .order#{$infix}-first { order: -1; }\n\n .order#{$infix}-last { order: $columns + 1; }\n\n @for $i from 0 through $columns {\n .order#{$infix}-#{$i} { order: $i; }\n }\n\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n }\n}\n","// stylelint-disable declaration-no-important\n\n//\n// Utilities for common `display` values\n//\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .d#{$infix}-none { display: none !important; }\n .d#{$infix}-inline { display: inline !important; }\n .d#{$infix}-inline-block { display: inline-block !important; }\n .d#{$infix}-block { display: block !important; }\n .d#{$infix}-table { display: table !important; }\n .d#{$infix}-table-row { display: table-row !important; }\n .d#{$infix}-table-cell { display: table-cell !important; }\n .d#{$infix}-flex { display: flex !important; }\n .d#{$infix}-inline-flex { display: inline-flex !important; }\n }\n}\n\n\n//\n// Utilities for toggling `display` in print\n//\n\n@media print {\n .d-print-none { display: none !important; }\n .d-print-inline { display: inline !important; }\n .d-print-inline-block { display: inline-block !important; }\n .d-print-block { display: block !important; }\n .d-print-table { display: table !important; }\n .d-print-table-row { display: table-row !important; }\n .d-print-table-cell { display: table-cell !important; }\n .d-print-flex { display: flex !important; }\n .d-print-inline-flex { display: inline-flex !important; }\n}\n","// stylelint-disable declaration-no-important\n\n// Flex variation\n//\n// Custom styles for additional flex alignment options.\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .flex#{$infix}-row { flex-direction: row !important; }\n .flex#{$infix}-column { flex-direction: column !important; }\n .flex#{$infix}-row-reverse { flex-direction: row-reverse !important; }\n .flex#{$infix}-column-reverse { flex-direction: column-reverse !important; }\n\n .flex#{$infix}-wrap { flex-wrap: wrap !important; }\n .flex#{$infix}-nowrap { flex-wrap: nowrap !important; }\n .flex#{$infix}-wrap-reverse { flex-wrap: wrap-reverse !important; }\n .flex#{$infix}-fill { flex: 1 1 auto !important; }\n .flex#{$infix}-grow-0 { flex-grow: 0 !important; }\n .flex#{$infix}-grow-1 { flex-grow: 1 !important; }\n .flex#{$infix}-shrink-0 { flex-shrink: 0 !important; }\n .flex#{$infix}-shrink-1 { flex-shrink: 1 !important; }\n\n .justify-content#{$infix}-start { justify-content: flex-start !important; }\n .justify-content#{$infix}-end { justify-content: flex-end !important; }\n .justify-content#{$infix}-center { justify-content: center !important; }\n .justify-content#{$infix}-between { justify-content: space-between !important; }\n .justify-content#{$infix}-around { justify-content: space-around !important; }\n\n .align-items#{$infix}-start { align-items: flex-start !important; }\n .align-items#{$infix}-end { align-items: flex-end !important; }\n .align-items#{$infix}-center { align-items: center !important; }\n .align-items#{$infix}-baseline { align-items: baseline !important; }\n .align-items#{$infix}-stretch { align-items: stretch !important; }\n\n .align-content#{$infix}-start { align-content: flex-start !important; }\n .align-content#{$infix}-end { align-content: flex-end !important; }\n .align-content#{$infix}-center { align-content: center !important; }\n .align-content#{$infix}-between { align-content: space-between !important; }\n .align-content#{$infix}-around { align-content: space-around !important; }\n .align-content#{$infix}-stretch { align-content: stretch !important; }\n\n .align-self#{$infix}-auto { align-self: auto !important; }\n .align-self#{$infix}-start { align-self: flex-start !important; }\n .align-self#{$infix}-end { align-self: flex-end !important; }\n .align-self#{$infix}-center { align-self: center !important; }\n .align-self#{$infix}-baseline { align-self: baseline !important; }\n .align-self#{$infix}-stretch { align-self: stretch !important; }\n }\n}\n"]} \ No newline at end of file diff --git a/docs/_static/link_gen/vendor/bootstrap-4.1.3/css/bootstrap-grid.min.css b/docs/_static/link_gen/vendor/bootstrap-4.1.3/css/bootstrap-grid.min.css deleted file mode 100644 index 63e1bc6b..00000000 --- a/docs/_static/link_gen/vendor/bootstrap-4.1.3/css/bootstrap-grid.min.css +++ /dev/null @@ -1,7 +0,0 @@ -/*! - * Bootstrap Grid v4.1.3 (https://getbootstrap.com/) - * Copyright 2011-2018 The Bootstrap Authors - * Copyright 2011-2018 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - */@-ms-viewport{width:device-width}html{box-sizing:border-box;-ms-overflow-style:scrollbar}*,::after,::before{box-sizing:inherit}.container{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container{max-width:540px}}@media (min-width:768px){.container{max-width:720px}}@media (min-width:992px){.container{max-width:960px}}@media (min-width:1200px){.container{max-width:1140px}}.container-fluid{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{position:relative;width:100%;min-height:1px;padding-right:15px;padding-left:15px}.col{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-first{-ms-flex-order:-1;order:-1}.order-last{-ms-flex-order:13;order:13}.order-0{-ms-flex-order:0;order:0}.order-1{-ms-flex-order:1;order:1}.order-2{-ms-flex-order:2;order:2}.order-3{-ms-flex-order:3;order:3}.order-4{-ms-flex-order:4;order:4}.order-5{-ms-flex-order:5;order:5}.order-6{-ms-flex-order:6;order:6}.order-7{-ms-flex-order:7;order:7}.order-8{-ms-flex-order:8;order:8}.order-9{-ms-flex-order:9;order:9}.order-10{-ms-flex-order:10;order:10}.order-11{-ms-flex-order:11;order:11}.order-12{-ms-flex-order:12;order:12}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-sm-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-sm-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-sm-first{-ms-flex-order:-1;order:-1}.order-sm-last{-ms-flex-order:13;order:13}.order-sm-0{-ms-flex-order:0;order:0}.order-sm-1{-ms-flex-order:1;order:1}.order-sm-2{-ms-flex-order:2;order:2}.order-sm-3{-ms-flex-order:3;order:3}.order-sm-4{-ms-flex-order:4;order:4}.order-sm-5{-ms-flex-order:5;order:5}.order-sm-6{-ms-flex-order:6;order:6}.order-sm-7{-ms-flex-order:7;order:7}.order-sm-8{-ms-flex-order:8;order:8}.order-sm-9{-ms-flex-order:9;order:9}.order-sm-10{-ms-flex-order:10;order:10}.order-sm-11{-ms-flex-order:11;order:11}.order-sm-12{-ms-flex-order:12;order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-md-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-md-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-md-first{-ms-flex-order:-1;order:-1}.order-md-last{-ms-flex-order:13;order:13}.order-md-0{-ms-flex-order:0;order:0}.order-md-1{-ms-flex-order:1;order:1}.order-md-2{-ms-flex-order:2;order:2}.order-md-3{-ms-flex-order:3;order:3}.order-md-4{-ms-flex-order:4;order:4}.order-md-5{-ms-flex-order:5;order:5}.order-md-6{-ms-flex-order:6;order:6}.order-md-7{-ms-flex-order:7;order:7}.order-md-8{-ms-flex-order:8;order:8}.order-md-9{-ms-flex-order:9;order:9}.order-md-10{-ms-flex-order:10;order:10}.order-md-11{-ms-flex-order:11;order:11}.order-md-12{-ms-flex-order:12;order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-lg-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-lg-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-lg-first{-ms-flex-order:-1;order:-1}.order-lg-last{-ms-flex-order:13;order:13}.order-lg-0{-ms-flex-order:0;order:0}.order-lg-1{-ms-flex-order:1;order:1}.order-lg-2{-ms-flex-order:2;order:2}.order-lg-3{-ms-flex-order:3;order:3}.order-lg-4{-ms-flex-order:4;order:4}.order-lg-5{-ms-flex-order:5;order:5}.order-lg-6{-ms-flex-order:6;order:6}.order-lg-7{-ms-flex-order:7;order:7}.order-lg-8{-ms-flex-order:8;order:8}.order-lg-9{-ms-flex-order:9;order:9}.order-lg-10{-ms-flex-order:10;order:10}.order-lg-11{-ms-flex-order:11;order:11}.order-lg-12{-ms-flex-order:12;order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-xl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-xl-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-xl-first{-ms-flex-order:-1;order:-1}.order-xl-last{-ms-flex-order:13;order:13}.order-xl-0{-ms-flex-order:0;order:0}.order-xl-1{-ms-flex-order:1;order:1}.order-xl-2{-ms-flex-order:2;order:2}.order-xl-3{-ms-flex-order:3;order:3}.order-xl-4{-ms-flex-order:4;order:4}.order-xl-5{-ms-flex-order:5;order:5}.order-xl-6{-ms-flex-order:6;order:6}.order-xl-7{-ms-flex-order:7;order:7}.order-xl-8{-ms-flex-order:8;order:8}.order-xl-9{-ms-flex-order:9;order:9}.order-xl-10{-ms-flex-order:10;order:10}.order-xl-11{-ms-flex-order:11;order:11}.order-xl-12{-ms-flex-order:12;order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:-ms-flexbox!important;display:flex!important}.d-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}@media (min-width:576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:-ms-flexbox!important;display:flex!important}.d-sm-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:-ms-flexbox!important;display:flex!important}.d-md-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:-ms-flexbox!important;display:flex!important}.d-lg-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:-ms-flexbox!important;display:flex!important}.d-xl-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media print{.d-print-none{display:none!important}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:-ms-flexbox!important;display:flex!important}.d-print-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}.flex-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-center{-ms-flex-align:center!important;align-items:center!important}.align-items-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}@media (min-width:576px){.flex-sm-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-sm-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-sm-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-sm-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-sm-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-sm-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-sm-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-sm-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-sm-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-sm-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-sm-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-sm-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-sm-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-sm-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-sm-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-sm-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-sm-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-sm-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-sm-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-sm-center{-ms-flex-align:center!important;align-items:center!important}.align-items-sm-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-sm-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-sm-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-sm-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-sm-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-sm-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-sm-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-sm-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-sm-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-sm-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-sm-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-sm-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-sm-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-sm-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:768px){.flex-md-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-md-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-md-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-md-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-md-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-md-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-md-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-md-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-md-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-md-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-md-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-md-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-md-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-md-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-md-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-md-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-md-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-md-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-md-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-md-center{-ms-flex-align:center!important;align-items:center!important}.align-items-md-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-md-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-md-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-md-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-md-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-md-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-md-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-md-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-md-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-md-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-md-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-md-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-md-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-md-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:992px){.flex-lg-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-lg-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-lg-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-lg-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-lg-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-lg-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-lg-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-lg-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-lg-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-lg-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-lg-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-lg-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-lg-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-lg-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-lg-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-lg-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-lg-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-lg-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-lg-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-lg-center{-ms-flex-align:center!important;align-items:center!important}.align-items-lg-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-lg-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-lg-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-lg-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-lg-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-lg-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-lg-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-lg-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-lg-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-lg-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-lg-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-lg-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-lg-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-lg-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:1200px){.flex-xl-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-xl-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-xl-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xl-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-xl-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-xl-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-xl-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-xl-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-xl-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-xl-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-xl-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-xl-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-xl-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-xl-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-xl-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-xl-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-xl-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-xl-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-xl-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-xl-center{-ms-flex-align:center!important;align-items:center!important}.align-items-xl-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-xl-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-xl-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-xl-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-xl-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-xl-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-xl-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-xl-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-xl-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-xl-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-xl-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-xl-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-xl-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-xl-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}} -/*# sourceMappingURL=bootstrap-grid.min.css.map */ \ No newline at end of file diff --git a/docs/_static/link_gen/vendor/bootstrap-4.1.3/css/bootstrap-grid.min.css.map b/docs/_static/link_gen/vendor/bootstrap-4.1.3/css/bootstrap-grid.min.css.map deleted file mode 100644 index 4cc3aa65..00000000 --- a/docs/_static/link_gen/vendor/bootstrap-4.1.3/css/bootstrap-grid.min.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../../scss/bootstrap-grid.scss","dist/css/bootstrap-grid.css","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/mixins/_grid-framework.scss","../../scss/utilities/_display.scss","../../scss/utilities/_flex.scss"],"names":[],"mappings":"AAAA;;;;;AAQE,cAAgB,MAAA,aAGlB,KACE,WAAA,WACA,mBAAA,UAGF,ECCA,QADA,SDGE,WAAA,QEdA,WCAA,MAAA,KACA,cAAA,KACA,aAAA,KACA,aAAA,KACA,YAAA,KCmDE,yBFvDF,WCYI,UAAA,OC2CF,yBFvDF,WCYI,UAAA,OC2CF,yBFvDF,WCYI,UAAA,OC2CF,0BFvDF,WCYI,UAAA,QDAJ,iBCZA,MAAA,KACA,cAAA,KACA,aAAA,KACA,aAAA,KACA,YAAA,KDkBA,KCJA,QAAA,YAAA,QAAA,KACA,cAAA,KAAA,UAAA,KACA,aAAA,MACA,YAAA,MDOA,YACE,aAAA,EACA,YAAA,EAFF,iBD2CF,0BCrCM,cAAA,EACA,aAAA,EGjCJ,KAAA,OAAA,QAAA,QAAA,QAAA,OAAA,OAAA,OAAA,OAAA,OAAA,OAAA,OAAA,OJ2EF,UAEqJ,QAAvI,UAAmG,WAAY,WAAY,WAAhH,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UACtG,aAFqJ,QAAvI,UAAmG,WAAY,WAAY,WAAhH,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UACtG,aAFkJ,QAAvI,UAAmG,WAAY,WAAY,WAAhH,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UACnG,aAEqJ,QAAvI,UAAmG,WAAY,WAAY,WAAhH,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UACtG,aI9EI,SAAA,SACA,MAAA,KACA,WAAA,IACA,cAAA,KACA,aAAA,KAmBE,KACE,wBAAA,EAAA,WAAA,EACA,kBAAA,EAAA,UAAA,EACA,UAAA,KAEF,UACE,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KACA,MAAA,KACA,UAAA,KAIA,OFFN,SAAA,EAAA,EAAA,UAAA,KAAA,EAAA,EAAA,UAIA,UAAA,UEFM,OFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,OFFN,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAIA,UAAA,IEFM,OFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,OFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,OFFN,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAIA,UAAA,IEFM,OFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,OFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,OFFN,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAIA,UAAA,IEFM,QFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,QFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,QFFN,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KAIA,UAAA,KEGI,aAAwB,eAAA,GAAA,MAAA,GAExB,YAAuB,eAAA,GAAA,MAAA,GAGrB,SAAwB,eAAA,EAAA,MAAA,EAAxB,SAAwB,eAAA,EAAA,MAAA,EAAxB,SAAwB,eAAA,EAAA,MAAA,EAAxB,SAAwB,eAAA,EAAA,MAAA,EAAxB,SAAwB,eAAA,EAAA,MAAA,EAAxB,SAAwB,eAAA,EAAA,MAAA,EAAxB,SAAwB,eAAA,EAAA,MAAA,EAAxB,SAAwB,eAAA,EAAA,MAAA,EAAxB,SAAwB,eAAA,EAAA,MAAA,EAAxB,SAAwB,eAAA,EAAA,MAAA,EAAxB,UAAwB,eAAA,GAAA,MAAA,GAAxB,UAAwB,eAAA,GAAA,MAAA,GAAxB,UAAwB,eAAA,GAAA,MAAA,GAMtB,UFTR,YAAA,UESQ,UFTR,YAAA,WESQ,UFTR,YAAA,IESQ,UFTR,YAAA,WESQ,UFTR,YAAA,WESQ,UFTR,YAAA,IESQ,UFTR,YAAA,WESQ,UFTR,YAAA,WESQ,UFTR,YAAA,IESQ,WFTR,YAAA,WESQ,WFTR,YAAA,WCUE,yBC7BE,QACE,wBAAA,EAAA,WAAA,EACA,kBAAA,EAAA,UAAA,EACA,UAAA,KAEF,aACE,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KACA,MAAA,KACA,UAAA,KAIA,UFFN,SAAA,EAAA,EAAA,UAAA,KAAA,EAAA,EAAA,UAIA,UAAA,UEFM,UFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,UFFN,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAIA,UAAA,IEFM,UFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,UFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,UFFN,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAIA,UAAA,IEFM,UFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,UFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,UFFN,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAIA,UAAA,IEFM,WFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,WFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,WFFN,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KAIA,UAAA,KEGI,gBAAwB,eAAA,GAAA,MAAA,GAExB,eAAuB,eAAA,GAAA,MAAA,GAGrB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,aAAwB,eAAA,GAAA,MAAA,GAAxB,aAAwB,eAAA,GAAA,MAAA,GAAxB,aAAwB,eAAA,GAAA,MAAA,GAMtB,aFTR,YAAA,EESQ,aFTR,YAAA,UESQ,aFTR,YAAA,WESQ,aFTR,YAAA,IESQ,aFTR,YAAA,WESQ,aFTR,YAAA,WESQ,aFTR,YAAA,IESQ,aFTR,YAAA,WESQ,aFTR,YAAA,WESQ,aFTR,YAAA,IESQ,cFTR,YAAA,WESQ,cFTR,YAAA,YCUE,yBC7BE,QACE,wBAAA,EAAA,WAAA,EACA,kBAAA,EAAA,UAAA,EACA,UAAA,KAEF,aACE,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KACA,MAAA,KACA,UAAA,KAIA,UFFN,SAAA,EAAA,EAAA,UAAA,KAAA,EAAA,EAAA,UAIA,UAAA,UEFM,UFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,UFFN,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAIA,UAAA,IEFM,UFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,UFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,UFFN,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAIA,UAAA,IEFM,UFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,UFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,UFFN,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAIA,UAAA,IEFM,WFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,WFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,WFFN,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KAIA,UAAA,KEGI,gBAAwB,eAAA,GAAA,MAAA,GAExB,eAAuB,eAAA,GAAA,MAAA,GAGrB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,aAAwB,eAAA,GAAA,MAAA,GAAxB,aAAwB,eAAA,GAAA,MAAA,GAAxB,aAAwB,eAAA,GAAA,MAAA,GAMtB,aFTR,YAAA,EESQ,aFTR,YAAA,UESQ,aFTR,YAAA,WESQ,aFTR,YAAA,IESQ,aFTR,YAAA,WESQ,aFTR,YAAA,WESQ,aFTR,YAAA,IESQ,aFTR,YAAA,WESQ,aFTR,YAAA,WESQ,aFTR,YAAA,IESQ,cFTR,YAAA,WESQ,cFTR,YAAA,YCUE,yBC7BE,QACE,wBAAA,EAAA,WAAA,EACA,kBAAA,EAAA,UAAA,EACA,UAAA,KAEF,aACE,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KACA,MAAA,KACA,UAAA,KAIA,UFFN,SAAA,EAAA,EAAA,UAAA,KAAA,EAAA,EAAA,UAIA,UAAA,UEFM,UFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,UFFN,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAIA,UAAA,IEFM,UFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,UFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,UFFN,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAIA,UAAA,IEFM,UFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,UFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,UFFN,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAIA,UAAA,IEFM,WFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,WFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,WFFN,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KAIA,UAAA,KEGI,gBAAwB,eAAA,GAAA,MAAA,GAExB,eAAuB,eAAA,GAAA,MAAA,GAGrB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,aAAwB,eAAA,GAAA,MAAA,GAAxB,aAAwB,eAAA,GAAA,MAAA,GAAxB,aAAwB,eAAA,GAAA,MAAA,GAMtB,aFTR,YAAA,EESQ,aFTR,YAAA,UESQ,aFTR,YAAA,WESQ,aFTR,YAAA,IESQ,aFTR,YAAA,WESQ,aFTR,YAAA,WESQ,aFTR,YAAA,IESQ,aFTR,YAAA,WESQ,aFTR,YAAA,WESQ,aFTR,YAAA,IESQ,cFTR,YAAA,WESQ,cFTR,YAAA,YCUE,0BC7BE,QACE,wBAAA,EAAA,WAAA,EACA,kBAAA,EAAA,UAAA,EACA,UAAA,KAEF,aACE,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KACA,MAAA,KACA,UAAA,KAIA,UFFN,SAAA,EAAA,EAAA,UAAA,KAAA,EAAA,EAAA,UAIA,UAAA,UEFM,UFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,UFFN,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAIA,UAAA,IEFM,UFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,UFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,UFFN,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAIA,UAAA,IEFM,UFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,UFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,UFFN,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAIA,UAAA,IEFM,WFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,WFFN,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,WEFM,WFFN,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KAIA,UAAA,KEGI,gBAAwB,eAAA,GAAA,MAAA,GAExB,eAAuB,eAAA,GAAA,MAAA,GAGrB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,YAAwB,eAAA,EAAA,MAAA,EAAxB,aAAwB,eAAA,GAAA,MAAA,GAAxB,aAAwB,eAAA,GAAA,MAAA,GAAxB,aAAwB,eAAA,GAAA,MAAA,GAMtB,aFTR,YAAA,EESQ,aFTR,YAAA,UESQ,aFTR,YAAA,WESQ,aFTR,YAAA,IESQ,aFTR,YAAA,WESQ,aFTR,YAAA,WESQ,aFTR,YAAA,IESQ,aFTR,YAAA,WESQ,aFTR,YAAA,WESQ,aFTR,YAAA,IESQ,cFTR,YAAA,WESQ,cFTR,YAAA,YGxCE,QAA2B,QAAA,eAC3B,UAA2B,QAAA,iBAC3B,gBAA2B,QAAA,uBAC3B,SAA2B,QAAA,gBAC3B,SAA2B,QAAA,gBAC3B,aAA2B,QAAA,oBAC3B,cAA2B,QAAA,qBAC3B,QAA2B,QAAA,sBAAA,QAAA,eAC3B,eAA2B,QAAA,6BAAA,QAAA,sBF0C3B,yBElDA,WAA2B,QAAA,eAC3B,aAA2B,QAAA,iBAC3B,mBAA2B,QAAA,uBAC3B,YAA2B,QAAA,gBAC3B,YAA2B,QAAA,gBAC3B,gBAA2B,QAAA,oBAC3B,iBAA2B,QAAA,qBAC3B,WAA2B,QAAA,sBAAA,QAAA,eAC3B,kBAA2B,QAAA,6BAAA,QAAA,uBF0C3B,yBElDA,WAA2B,QAAA,eAC3B,aAA2B,QAAA,iBAC3B,mBAA2B,QAAA,uBAC3B,YAA2B,QAAA,gBAC3B,YAA2B,QAAA,gBAC3B,gBAA2B,QAAA,oBAC3B,iBAA2B,QAAA,qBAC3B,WAA2B,QAAA,sBAAA,QAAA,eAC3B,kBAA2B,QAAA,6BAAA,QAAA,uBF0C3B,yBElDA,WAA2B,QAAA,eAC3B,aAA2B,QAAA,iBAC3B,mBAA2B,QAAA,uBAC3B,YAA2B,QAAA,gBAC3B,YAA2B,QAAA,gBAC3B,gBAA2B,QAAA,oBAC3B,iBAA2B,QAAA,qBAC3B,WAA2B,QAAA,sBAAA,QAAA,eAC3B,kBAA2B,QAAA,6BAAA,QAAA,uBF0C3B,0BElDA,WAA2B,QAAA,eAC3B,aAA2B,QAAA,iBAC3B,mBAA2B,QAAA,uBAC3B,YAA2B,QAAA,gBAC3B,YAA2B,QAAA,gBAC3B,gBAA2B,QAAA,oBAC3B,iBAA2B,QAAA,qBAC3B,WAA2B,QAAA,sBAAA,QAAA,eAC3B,kBAA2B,QAAA,6BAAA,QAAA,uBAS/B,aACE,cAAwB,QAAA,eACxB,gBAAwB,QAAA,iBACxB,sBAAwB,QAAA,uBACxB,eAAwB,QAAA,gBACxB,eAAwB,QAAA,gBACxB,mBAAwB,QAAA,oBACxB,oBAAwB,QAAA,qBACxB,cAAwB,QAAA,sBAAA,QAAA,eACxB,qBAAwB,QAAA,6BAAA,QAAA,uBC1BtB,UAAgC,mBAAA,cAAA,eAAA,cAChC,aAAgC,mBAAA,iBAAA,eAAA,iBAChC,kBAAgC,mBAAA,sBAAA,eAAA,sBAChC,qBAAgC,mBAAA,yBAAA,eAAA,yBAEhC,WAA8B,cAAA,eAAA,UAAA,eAC9B,aAA8B,cAAA,iBAAA,UAAA,iBAC9B,mBAA8B,cAAA,uBAAA,UAAA,uBAC9B,WAA8B,SAAA,EAAA,EAAA,eAAA,KAAA,EAAA,EAAA,eAC9B,aAA8B,kBAAA,YAAA,UAAA,YAC9B,aAA8B,kBAAA,YAAA,UAAA,YAC9B,eAA8B,kBAAA,YAAA,YAAA,YAC9B,eAA8B,kBAAA,YAAA,YAAA,YAE9B,uBAAoC,cAAA,gBAAA,gBAAA,qBACpC,qBAAoC,cAAA,cAAA,gBAAA,mBACpC,wBAAoC,cAAA,iBAAA,gBAAA,iBACpC,yBAAoC,cAAA,kBAAA,gBAAA,wBACpC,wBAAoC,cAAA,qBAAA,gBAAA,uBAEpC,mBAAiC,eAAA,gBAAA,YAAA,qBACjC,iBAAiC,eAAA,cAAA,YAAA,mBACjC,oBAAiC,eAAA,iBAAA,YAAA,iBACjC,sBAAiC,eAAA,mBAAA,YAAA,mBACjC,qBAAiC,eAAA,kBAAA,YAAA,kBAEjC,qBAAkC,mBAAA,gBAAA,cAAA,qBAClC,mBAAkC,mBAAA,cAAA,cAAA,mBAClC,sBAAkC,mBAAA,iBAAA,cAAA,iBAClC,uBAAkC,mBAAA,kBAAA,cAAA,wBAClC,sBAAkC,mBAAA,qBAAA,cAAA,uBAClC,uBAAkC,mBAAA,kBAAA,cAAA,kBAElC,iBAAgC,oBAAA,eAAA,WAAA,eAChC,kBAAgC,oBAAA,gBAAA,WAAA,qBAChC,gBAAgC,oBAAA,cAAA,WAAA,mBAChC,mBAAgC,oBAAA,iBAAA,WAAA,iBAChC,qBAAgC,oBAAA,mBAAA,WAAA,mBAChC,oBAAgC,oBAAA,kBAAA,WAAA,kBHYhC,yBGlDA,aAAgC,mBAAA,cAAA,eAAA,cAChC,gBAAgC,mBAAA,iBAAA,eAAA,iBAChC,qBAAgC,mBAAA,sBAAA,eAAA,sBAChC,wBAAgC,mBAAA,yBAAA,eAAA,yBAEhC,cAA8B,cAAA,eAAA,UAAA,eAC9B,gBAA8B,cAAA,iBAAA,UAAA,iBAC9B,sBAA8B,cAAA,uBAAA,UAAA,uBAC9B,cAA8B,SAAA,EAAA,EAAA,eAAA,KAAA,EAAA,EAAA,eAC9B,gBAA8B,kBAAA,YAAA,UAAA,YAC9B,gBAA8B,kBAAA,YAAA,UAAA,YAC9B,kBAA8B,kBAAA,YAAA,YAAA,YAC9B,kBAA8B,kBAAA,YAAA,YAAA,YAE9B,0BAAoC,cAAA,gBAAA,gBAAA,qBACpC,wBAAoC,cAAA,cAAA,gBAAA,mBACpC,2BAAoC,cAAA,iBAAA,gBAAA,iBACpC,4BAAoC,cAAA,kBAAA,gBAAA,wBACpC,2BAAoC,cAAA,qBAAA,gBAAA,uBAEpC,sBAAiC,eAAA,gBAAA,YAAA,qBACjC,oBAAiC,eAAA,cAAA,YAAA,mBACjC,uBAAiC,eAAA,iBAAA,YAAA,iBACjC,yBAAiC,eAAA,mBAAA,YAAA,mBACjC,wBAAiC,eAAA,kBAAA,YAAA,kBAEjC,wBAAkC,mBAAA,gBAAA,cAAA,qBAClC,sBAAkC,mBAAA,cAAA,cAAA,mBAClC,yBAAkC,mBAAA,iBAAA,cAAA,iBAClC,0BAAkC,mBAAA,kBAAA,cAAA,wBAClC,yBAAkC,mBAAA,qBAAA,cAAA,uBAClC,0BAAkC,mBAAA,kBAAA,cAAA,kBAElC,oBAAgC,oBAAA,eAAA,WAAA,eAChC,qBAAgC,oBAAA,gBAAA,WAAA,qBAChC,mBAAgC,oBAAA,cAAA,WAAA,mBAChC,sBAAgC,oBAAA,iBAAA,WAAA,iBAChC,wBAAgC,oBAAA,mBAAA,WAAA,mBAChC,uBAAgC,oBAAA,kBAAA,WAAA,mBHYhC,yBGlDA,aAAgC,mBAAA,cAAA,eAAA,cAChC,gBAAgC,mBAAA,iBAAA,eAAA,iBAChC,qBAAgC,mBAAA,sBAAA,eAAA,sBAChC,wBAAgC,mBAAA,yBAAA,eAAA,yBAEhC,cAA8B,cAAA,eAAA,UAAA,eAC9B,gBAA8B,cAAA,iBAAA,UAAA,iBAC9B,sBAA8B,cAAA,uBAAA,UAAA,uBAC9B,cAA8B,SAAA,EAAA,EAAA,eAAA,KAAA,EAAA,EAAA,eAC9B,gBAA8B,kBAAA,YAAA,UAAA,YAC9B,gBAA8B,kBAAA,YAAA,UAAA,YAC9B,kBAA8B,kBAAA,YAAA,YAAA,YAC9B,kBAA8B,kBAAA,YAAA,YAAA,YAE9B,0BAAoC,cAAA,gBAAA,gBAAA,qBACpC,wBAAoC,cAAA,cAAA,gBAAA,mBACpC,2BAAoC,cAAA,iBAAA,gBAAA,iBACpC,4BAAoC,cAAA,kBAAA,gBAAA,wBACpC,2BAAoC,cAAA,qBAAA,gBAAA,uBAEpC,sBAAiC,eAAA,gBAAA,YAAA,qBACjC,oBAAiC,eAAA,cAAA,YAAA,mBACjC,uBAAiC,eAAA,iBAAA,YAAA,iBACjC,yBAAiC,eAAA,mBAAA,YAAA,mBACjC,wBAAiC,eAAA,kBAAA,YAAA,kBAEjC,wBAAkC,mBAAA,gBAAA,cAAA,qBAClC,sBAAkC,mBAAA,cAAA,cAAA,mBAClC,yBAAkC,mBAAA,iBAAA,cAAA,iBAClC,0BAAkC,mBAAA,kBAAA,cAAA,wBAClC,yBAAkC,mBAAA,qBAAA,cAAA,uBAClC,0BAAkC,mBAAA,kBAAA,cAAA,kBAElC,oBAAgC,oBAAA,eAAA,WAAA,eAChC,qBAAgC,oBAAA,gBAAA,WAAA,qBAChC,mBAAgC,oBAAA,cAAA,WAAA,mBAChC,sBAAgC,oBAAA,iBAAA,WAAA,iBAChC,wBAAgC,oBAAA,mBAAA,WAAA,mBAChC,uBAAgC,oBAAA,kBAAA,WAAA,mBHYhC,yBGlDA,aAAgC,mBAAA,cAAA,eAAA,cAChC,gBAAgC,mBAAA,iBAAA,eAAA,iBAChC,qBAAgC,mBAAA,sBAAA,eAAA,sBAChC,wBAAgC,mBAAA,yBAAA,eAAA,yBAEhC,cAA8B,cAAA,eAAA,UAAA,eAC9B,gBAA8B,cAAA,iBAAA,UAAA,iBAC9B,sBAA8B,cAAA,uBAAA,UAAA,uBAC9B,cAA8B,SAAA,EAAA,EAAA,eAAA,KAAA,EAAA,EAAA,eAC9B,gBAA8B,kBAAA,YAAA,UAAA,YAC9B,gBAA8B,kBAAA,YAAA,UAAA,YAC9B,kBAA8B,kBAAA,YAAA,YAAA,YAC9B,kBAA8B,kBAAA,YAAA,YAAA,YAE9B,0BAAoC,cAAA,gBAAA,gBAAA,qBACpC,wBAAoC,cAAA,cAAA,gBAAA,mBACpC,2BAAoC,cAAA,iBAAA,gBAAA,iBACpC,4BAAoC,cAAA,kBAAA,gBAAA,wBACpC,2BAAoC,cAAA,qBAAA,gBAAA,uBAEpC,sBAAiC,eAAA,gBAAA,YAAA,qBACjC,oBAAiC,eAAA,cAAA,YAAA,mBACjC,uBAAiC,eAAA,iBAAA,YAAA,iBACjC,yBAAiC,eAAA,mBAAA,YAAA,mBACjC,wBAAiC,eAAA,kBAAA,YAAA,kBAEjC,wBAAkC,mBAAA,gBAAA,cAAA,qBAClC,sBAAkC,mBAAA,cAAA,cAAA,mBAClC,yBAAkC,mBAAA,iBAAA,cAAA,iBAClC,0BAAkC,mBAAA,kBAAA,cAAA,wBAClC,yBAAkC,mBAAA,qBAAA,cAAA,uBAClC,0BAAkC,mBAAA,kBAAA,cAAA,kBAElC,oBAAgC,oBAAA,eAAA,WAAA,eAChC,qBAAgC,oBAAA,gBAAA,WAAA,qBAChC,mBAAgC,oBAAA,cAAA,WAAA,mBAChC,sBAAgC,oBAAA,iBAAA,WAAA,iBAChC,wBAAgC,oBAAA,mBAAA,WAAA,mBAChC,uBAAgC,oBAAA,kBAAA,WAAA,mBHYhC,0BGlDA,aAAgC,mBAAA,cAAA,eAAA,cAChC,gBAAgC,mBAAA,iBAAA,eAAA,iBAChC,qBAAgC,mBAAA,sBAAA,eAAA,sBAChC,wBAAgC,mBAAA,yBAAA,eAAA,yBAEhC,cAA8B,cAAA,eAAA,UAAA,eAC9B,gBAA8B,cAAA,iBAAA,UAAA,iBAC9B,sBAA8B,cAAA,uBAAA,UAAA,uBAC9B,cAA8B,SAAA,EAAA,EAAA,eAAA,KAAA,EAAA,EAAA,eAC9B,gBAA8B,kBAAA,YAAA,UAAA,YAC9B,gBAA8B,kBAAA,YAAA,UAAA,YAC9B,kBAA8B,kBAAA,YAAA,YAAA,YAC9B,kBAA8B,kBAAA,YAAA,YAAA,YAE9B,0BAAoC,cAAA,gBAAA,gBAAA,qBACpC,wBAAoC,cAAA,cAAA,gBAAA,mBACpC,2BAAoC,cAAA,iBAAA,gBAAA,iBACpC,4BAAoC,cAAA,kBAAA,gBAAA,wBACpC,2BAAoC,cAAA,qBAAA,gBAAA,uBAEpC,sBAAiC,eAAA,gBAAA,YAAA,qBACjC,oBAAiC,eAAA,cAAA,YAAA,mBACjC,uBAAiC,eAAA,iBAAA,YAAA,iBACjC,yBAAiC,eAAA,mBAAA,YAAA,mBACjC,wBAAiC,eAAA,kBAAA,YAAA,kBAEjC,wBAAkC,mBAAA,gBAAA,cAAA,qBAClC,sBAAkC,mBAAA,cAAA,cAAA,mBAClC,yBAAkC,mBAAA,iBAAA,cAAA,iBAClC,0BAAkC,mBAAA,kBAAA,cAAA,wBAClC,yBAAkC,mBAAA,qBAAA,cAAA,uBAClC,0BAAkC,mBAAA,kBAAA,cAAA,kBAElC,oBAAgC,oBAAA,eAAA,WAAA,eAChC,qBAAgC,oBAAA,gBAAA,WAAA,qBAChC,mBAAgC,oBAAA,cAAA,WAAA,mBAChC,sBAAgC,oBAAA,iBAAA,WAAA,iBAChC,wBAAgC,oBAAA,mBAAA,WAAA,mBAChC,uBAAgC,oBAAA,kBAAA,WAAA","sourcesContent":["/*!\n * Bootstrap Grid v4.1.3 (https://getbootstrap.com/)\n * Copyright 2011-2018 The Bootstrap Authors\n * Copyright 2011-2018 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\n@at-root {\n @-ms-viewport { width: device-width; } // stylelint-disable-line at-rule-no-vendor-prefix\n}\n\nhtml {\n box-sizing: border-box;\n -ms-overflow-style: scrollbar;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n@import \"functions\";\n@import \"variables\";\n\n@import \"mixins/breakpoints\";\n@import \"mixins/grid-framework\";\n@import \"mixins/grid\";\n\n@import \"grid\";\n@import \"utilities/display\";\n@import \"utilities/flex\";\n","/*!\n * Bootstrap Grid v4.1.3 (https://getbootstrap.com/)\n * Copyright 2011-2018 The Bootstrap Authors\n * Copyright 2011-2018 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n@-ms-viewport {\n width: device-width;\n}\n\nhtml {\n box-sizing: border-box;\n -ms-overflow-style: scrollbar;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n.container {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n max-width: 1140px;\n }\n}\n\n.container-fluid {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n.row {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\n.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n.col-xl-auto {\n position: relative;\n width: 100%;\n min-height: 1px;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n.col {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.col-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n}\n\n.col-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.order-first {\n -ms-flex-order: -1;\n order: -1;\n}\n\n.order-last {\n -ms-flex-order: 13;\n order: 13;\n}\n\n.order-0 {\n -ms-flex-order: 0;\n order: 0;\n}\n\n.order-1 {\n -ms-flex-order: 1;\n order: 1;\n}\n\n.order-2 {\n -ms-flex-order: 2;\n order: 2;\n}\n\n.order-3 {\n -ms-flex-order: 3;\n order: 3;\n}\n\n.order-4 {\n -ms-flex-order: 4;\n order: 4;\n}\n\n.order-5 {\n -ms-flex-order: 5;\n order: 5;\n}\n\n.order-6 {\n -ms-flex-order: 6;\n order: 6;\n}\n\n.order-7 {\n -ms-flex-order: 7;\n order: 7;\n}\n\n.order-8 {\n -ms-flex-order: 8;\n order: 8;\n}\n\n.order-9 {\n -ms-flex-order: 9;\n order: 9;\n}\n\n.order-10 {\n -ms-flex-order: 10;\n order: 10;\n}\n\n.order-11 {\n -ms-flex-order: 11;\n order: 11;\n}\n\n.order-12 {\n -ms-flex-order: 12;\n order: 12;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-sm-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-sm-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-sm-first {\n -ms-flex-order: -1;\n order: -1;\n }\n .order-sm-last {\n -ms-flex-order: 13;\n order: 13;\n }\n .order-sm-0 {\n -ms-flex-order: 0;\n order: 0;\n }\n .order-sm-1 {\n -ms-flex-order: 1;\n order: 1;\n }\n .order-sm-2 {\n -ms-flex-order: 2;\n order: 2;\n }\n .order-sm-3 {\n -ms-flex-order: 3;\n order: 3;\n }\n .order-sm-4 {\n -ms-flex-order: 4;\n order: 4;\n }\n .order-sm-5 {\n -ms-flex-order: 5;\n order: 5;\n }\n .order-sm-6 {\n -ms-flex-order: 6;\n order: 6;\n }\n .order-sm-7 {\n -ms-flex-order: 7;\n order: 7;\n }\n .order-sm-8 {\n -ms-flex-order: 8;\n order: 8;\n }\n .order-sm-9 {\n -ms-flex-order: 9;\n order: 9;\n }\n .order-sm-10 {\n -ms-flex-order: 10;\n order: 10;\n }\n .order-sm-11 {\n -ms-flex-order: 11;\n order: 11;\n }\n .order-sm-12 {\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-md-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-md-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-md-first {\n -ms-flex-order: -1;\n order: -1;\n }\n .order-md-last {\n -ms-flex-order: 13;\n order: 13;\n }\n .order-md-0 {\n -ms-flex-order: 0;\n order: 0;\n }\n .order-md-1 {\n -ms-flex-order: 1;\n order: 1;\n }\n .order-md-2 {\n -ms-flex-order: 2;\n order: 2;\n }\n .order-md-3 {\n -ms-flex-order: 3;\n order: 3;\n }\n .order-md-4 {\n -ms-flex-order: 4;\n order: 4;\n }\n .order-md-5 {\n -ms-flex-order: 5;\n order: 5;\n }\n .order-md-6 {\n -ms-flex-order: 6;\n order: 6;\n }\n .order-md-7 {\n -ms-flex-order: 7;\n order: 7;\n }\n .order-md-8 {\n -ms-flex-order: 8;\n order: 8;\n }\n .order-md-9 {\n -ms-flex-order: 9;\n order: 9;\n }\n .order-md-10 {\n -ms-flex-order: 10;\n order: 10;\n }\n .order-md-11 {\n -ms-flex-order: 11;\n order: 11;\n }\n .order-md-12 {\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-lg-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-lg-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-lg-first {\n -ms-flex-order: -1;\n order: -1;\n }\n .order-lg-last {\n -ms-flex-order: 13;\n order: 13;\n }\n .order-lg-0 {\n -ms-flex-order: 0;\n order: 0;\n }\n .order-lg-1 {\n -ms-flex-order: 1;\n order: 1;\n }\n .order-lg-2 {\n -ms-flex-order: 2;\n order: 2;\n }\n .order-lg-3 {\n -ms-flex-order: 3;\n order: 3;\n }\n .order-lg-4 {\n -ms-flex-order: 4;\n order: 4;\n }\n .order-lg-5 {\n -ms-flex-order: 5;\n order: 5;\n }\n .order-lg-6 {\n -ms-flex-order: 6;\n order: 6;\n }\n .order-lg-7 {\n -ms-flex-order: 7;\n order: 7;\n }\n .order-lg-8 {\n -ms-flex-order: 8;\n order: 8;\n }\n .order-lg-9 {\n -ms-flex-order: 9;\n order: 9;\n }\n .order-lg-10 {\n -ms-flex-order: 10;\n order: 10;\n }\n .order-lg-11 {\n -ms-flex-order: 11;\n order: 11;\n }\n .order-lg-12 {\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n -ms-flex-positive: 1;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-xl-auto {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-xl-1 {\n -ms-flex: 0 0 8.333333%;\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n -ms-flex: 0 0 16.666667%;\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n -ms-flex: 0 0 25%;\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n -ms-flex: 0 0 41.666667%;\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n -ms-flex: 0 0 58.333333%;\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n -ms-flex: 0 0 75%;\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n -ms-flex: 0 0 83.333333%;\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n -ms-flex: 0 0 91.666667%;\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-xl-first {\n -ms-flex-order: -1;\n order: -1;\n }\n .order-xl-last {\n -ms-flex-order: 13;\n order: 13;\n }\n .order-xl-0 {\n -ms-flex-order: 0;\n order: 0;\n }\n .order-xl-1 {\n -ms-flex-order: 1;\n order: 1;\n }\n .order-xl-2 {\n -ms-flex-order: 2;\n order: 2;\n }\n .order-xl-3 {\n -ms-flex-order: 3;\n order: 3;\n }\n .order-xl-4 {\n -ms-flex-order: 4;\n order: 4;\n }\n .order-xl-5 {\n -ms-flex-order: 5;\n order: 5;\n }\n .order-xl-6 {\n -ms-flex-order: 6;\n order: 6;\n }\n .order-xl-7 {\n -ms-flex-order: 7;\n order: 7;\n }\n .order-xl-8 {\n -ms-flex-order: 8;\n order: 8;\n }\n .order-xl-9 {\n -ms-flex-order: 9;\n order: 9;\n }\n .order-xl-10 {\n -ms-flex-order: 10;\n order: 10;\n }\n .order-xl-11 {\n -ms-flex-order: 11;\n order: 11;\n }\n .order-xl-12 {\n -ms-flex-order: 12;\n order: 12;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n.d-none {\n display: none !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n}\n\n.d-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-none {\n display: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 768px) {\n .d-md-none {\n display: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-md-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 992px) {\n .d-lg-none {\n display: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 1200px) {\n .d-xl-none {\n display: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n@media print {\n .d-print-none {\n display: none !important;\n }\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: -ms-flexbox !important;\n display: flex !important;\n }\n .d-print-inline-flex {\n display: -ms-inline-flexbox !important;\n display: inline-flex !important;\n }\n}\n\n.flex-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n}\n\n.flex-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n}\n\n.flex-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n}\n\n.flex-fill {\n -ms-flex: 1 1 auto !important;\n flex: 1 1 auto !important;\n}\n\n.flex-grow-0 {\n -ms-flex-positive: 0 !important;\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n -ms-flex-positive: 1 !important;\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n -ms-flex-negative: 0 !important;\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n -ms-flex-negative: 1 !important;\n flex-shrink: 1 !important;\n}\n\n.justify-content-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n}\n\n.justify-content-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n}\n\n.align-items-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n}\n\n.align-items-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n}\n\n.align-items-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n}\n\n.align-items-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n}\n\n.align-content-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n}\n\n.align-content-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n}\n\n.align-content-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n}\n\n.align-content-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n}\n\n.align-content-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n}\n\n.align-self-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n}\n\n.align-self-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n}\n\n.align-self-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n}\n\n.align-self-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n}\n\n.align-self-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n}\n\n@media (min-width: 576px) {\n .flex-sm-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-sm-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-sm-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .flex-sm-fill {\n -ms-flex: 1 1 auto !important;\n flex: 1 1 auto !important;\n }\n .flex-sm-grow-0 {\n -ms-flex-positive: 0 !important;\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n -ms-flex-positive: 1 !important;\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n -ms-flex-negative: 0 !important;\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n -ms-flex-negative: 1 !important;\n flex-shrink: 1 !important;\n }\n .justify-content-sm-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-sm-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-sm-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-sm-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-sm-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-sm-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-sm-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-sm-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 768px) {\n .flex-md-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-md-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-md-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .flex-md-fill {\n -ms-flex: 1 1 auto !important;\n flex: 1 1 auto !important;\n }\n .flex-md-grow-0 {\n -ms-flex-positive: 0 !important;\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n -ms-flex-positive: 1 !important;\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n -ms-flex-negative: 0 !important;\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n -ms-flex-negative: 1 !important;\n flex-shrink: 1 !important;\n }\n .justify-content-md-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-md-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-md-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-md-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-md-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-md-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-md-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-md-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-md-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-md-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-md-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-md-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-md-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-md-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-md-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-md-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 992px) {\n .flex-lg-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-lg-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-lg-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .flex-lg-fill {\n -ms-flex: 1 1 auto !important;\n flex: 1 1 auto !important;\n }\n .flex-lg-grow-0 {\n -ms-flex-positive: 0 !important;\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n -ms-flex-positive: 1 !important;\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n -ms-flex-negative: 0 !important;\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n -ms-flex-negative: 1 !important;\n flex-shrink: 1 !important;\n }\n .justify-content-lg-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-lg-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-lg-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-lg-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-lg-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-lg-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-lg-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-lg-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 1200px) {\n .flex-xl-row {\n -ms-flex-direction: row !important;\n flex-direction: row !important;\n }\n .flex-xl-column {\n -ms-flex-direction: column !important;\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n -ms-flex-direction: row-reverse !important;\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n -ms-flex-direction: column-reverse !important;\n flex-direction: column-reverse !important;\n }\n .flex-xl-wrap {\n -ms-flex-wrap: wrap !important;\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n -ms-flex-wrap: nowrap !important;\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n -ms-flex-wrap: wrap-reverse !important;\n flex-wrap: wrap-reverse !important;\n }\n .flex-xl-fill {\n -ms-flex: 1 1 auto !important;\n flex: 1 1 auto !important;\n }\n .flex-xl-grow-0 {\n -ms-flex-positive: 0 !important;\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n -ms-flex-positive: 1 !important;\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n -ms-flex-negative: 0 !important;\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n -ms-flex-negative: 1 !important;\n flex-shrink: 1 !important;\n }\n .justify-content-xl-start {\n -ms-flex-pack: start !important;\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n -ms-flex-pack: end !important;\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n -ms-flex-pack: center !important;\n justify-content: center !important;\n }\n .justify-content-xl-between {\n -ms-flex-pack: justify !important;\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n -ms-flex-pack: distribute !important;\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n -ms-flex-align: start !important;\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n -ms-flex-align: end !important;\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n -ms-flex-align: center !important;\n align-items: center !important;\n }\n .align-items-xl-baseline {\n -ms-flex-align: baseline !important;\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n -ms-flex-align: stretch !important;\n align-items: stretch !important;\n }\n .align-content-xl-start {\n -ms-flex-line-pack: start !important;\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n -ms-flex-line-pack: end !important;\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n -ms-flex-line-pack: center !important;\n align-content: center !important;\n }\n .align-content-xl-between {\n -ms-flex-line-pack: justify !important;\n align-content: space-between !important;\n }\n .align-content-xl-around {\n -ms-flex-line-pack: distribute !important;\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n -ms-flex-line-pack: stretch !important;\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n -ms-flex-item-align: auto !important;\n align-self: auto !important;\n }\n .align-self-xl-start {\n -ms-flex-item-align: start !important;\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n -ms-flex-item-align: end !important;\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n -ms-flex-item-align: center !important;\n align-self: center !important;\n }\n .align-self-xl-baseline {\n -ms-flex-item-align: baseline !important;\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n -ms-flex-item-align: stretch !important;\n align-self: stretch !important;\n }\n}\n/*# sourceMappingURL=bootstrap-grid.css.map */","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n .container {\n @include make-container();\n @include make-container-max-widths();\n }\n}\n\n// Fluid container\n//\n// Utilizes the mixin meant for fixed width containers, but with 100% width for\n// fluid, full width layouts.\n\n@if $enable-grid-classes {\n .container-fluid {\n @include make-container();\n }\n}\n\n// Row\n//\n// Rows contain and clear the floats of your columns.\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n }\n\n // Remove the negative margin from default .row, then the horizontal padding\n // from all immediate children columns (to prevent runaway style inheritance).\n .no-gutters {\n margin-right: 0;\n margin-left: 0;\n\n > .col,\n > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n }\n }\n}\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-container() {\n width: 100%;\n padding-right: ($grid-gutter-width / 2);\n padding-left: ($grid-gutter-width / 2);\n margin-right: auto;\n margin-left: auto;\n}\n\n\n// For each breakpoint, define the maximum width of the container in a media query\n@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {\n @each $breakpoint, $container-max-width in $max-widths {\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n max-width: $container-max-width;\n }\n }\n}\n\n@mixin make-row() {\n display: flex;\n flex-wrap: wrap;\n margin-right: ($grid-gutter-width / -2);\n margin-left: ($grid-gutter-width / -2);\n}\n\n@mixin make-col-ready() {\n position: relative;\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we use `flex` values\n // later on to override this initial width.\n width: 100%;\n min-height: 1px; // Prevent collapsing\n padding-right: ($grid-gutter-width / 2);\n padding-left: ($grid-gutter-width / 2);\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n flex: 0 0 percentage($size / $columns);\n // Add a `max-width` to ensure content within each column does not blow out\n // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari\n // do not appear to require this.\n max-width: percentage($size / $columns);\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: $size / $columns;\n margin-left: if($num == 0, 0, percentage($num));\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.02px\n// to work around the limitations of `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - .02px, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $max: breakpoint-max($name, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($name, $breakpoints) {\n @content;\n }\n }\n}\n","// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n // Common properties for all breakpoints\n %grid-column {\n position: relative;\n width: 100%;\n min-height: 1px; // Prevent columns from collapsing when empty\n padding-right: ($gutter / 2);\n padding-left: ($gutter / 2);\n }\n\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n // Allow columns to stretch full width below their breakpoints\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @extend %grid-column;\n }\n }\n .col#{$infix},\n .col#{$infix}-auto {\n @extend %grid-column;\n }\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col#{$infix}-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none; // Reset earlier grid tiers\n }\n\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n\n .order#{$infix}-first { order: -1; }\n\n .order#{$infix}-last { order: $columns + 1; }\n\n @for $i from 0 through $columns {\n .order#{$infix}-#{$i} { order: $i; }\n }\n\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n }\n}\n","// stylelint-disable declaration-no-important\n\n//\n// Utilities for common `display` values\n//\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .d#{$infix}-none { display: none !important; }\n .d#{$infix}-inline { display: inline !important; }\n .d#{$infix}-inline-block { display: inline-block !important; }\n .d#{$infix}-block { display: block !important; }\n .d#{$infix}-table { display: table !important; }\n .d#{$infix}-table-row { display: table-row !important; }\n .d#{$infix}-table-cell { display: table-cell !important; }\n .d#{$infix}-flex { display: flex !important; }\n .d#{$infix}-inline-flex { display: inline-flex !important; }\n }\n}\n\n\n//\n// Utilities for toggling `display` in print\n//\n\n@media print {\n .d-print-none { display: none !important; }\n .d-print-inline { display: inline !important; }\n .d-print-inline-block { display: inline-block !important; }\n .d-print-block { display: block !important; }\n .d-print-table { display: table !important; }\n .d-print-table-row { display: table-row !important; }\n .d-print-table-cell { display: table-cell !important; }\n .d-print-flex { display: flex !important; }\n .d-print-inline-flex { display: inline-flex !important; }\n}\n","// stylelint-disable declaration-no-important\n\n// Flex variation\n//\n// Custom styles for additional flex alignment options.\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .flex#{$infix}-row { flex-direction: row !important; }\n .flex#{$infix}-column { flex-direction: column !important; }\n .flex#{$infix}-row-reverse { flex-direction: row-reverse !important; }\n .flex#{$infix}-column-reverse { flex-direction: column-reverse !important; }\n\n .flex#{$infix}-wrap { flex-wrap: wrap !important; }\n .flex#{$infix}-nowrap { flex-wrap: nowrap !important; }\n .flex#{$infix}-wrap-reverse { flex-wrap: wrap-reverse !important; }\n .flex#{$infix}-fill { flex: 1 1 auto !important; }\n .flex#{$infix}-grow-0 { flex-grow: 0 !important; }\n .flex#{$infix}-grow-1 { flex-grow: 1 !important; }\n .flex#{$infix}-shrink-0 { flex-shrink: 0 !important; }\n .flex#{$infix}-shrink-1 { flex-shrink: 1 !important; }\n\n .justify-content#{$infix}-start { justify-content: flex-start !important; }\n .justify-content#{$infix}-end { justify-content: flex-end !important; }\n .justify-content#{$infix}-center { justify-content: center !important; }\n .justify-content#{$infix}-between { justify-content: space-between !important; }\n .justify-content#{$infix}-around { justify-content: space-around !important; }\n\n .align-items#{$infix}-start { align-items: flex-start !important; }\n .align-items#{$infix}-end { align-items: flex-end !important; }\n .align-items#{$infix}-center { align-items: center !important; }\n .align-items#{$infix}-baseline { align-items: baseline !important; }\n .align-items#{$infix}-stretch { align-items: stretch !important; }\n\n .align-content#{$infix}-start { align-content: flex-start !important; }\n .align-content#{$infix}-end { align-content: flex-end !important; }\n .align-content#{$infix}-center { align-content: center !important; }\n .align-content#{$infix}-between { align-content: space-between !important; }\n .align-content#{$infix}-around { align-content: space-around !important; }\n .align-content#{$infix}-stretch { align-content: stretch !important; }\n\n .align-self#{$infix}-auto { align-self: auto !important; }\n .align-self#{$infix}-start { align-self: flex-start !important; }\n .align-self#{$infix}-end { align-self: flex-end !important; }\n .align-self#{$infix}-center { align-self: center !important; }\n .align-self#{$infix}-baseline { align-self: baseline !important; }\n .align-self#{$infix}-stretch { align-self: stretch !important; }\n }\n}\n"]} \ No newline at end of file diff --git a/docs/_static/link_gen/vendor/bootstrap-4.1.3/css/bootstrap-reboot.css b/docs/_static/link_gen/vendor/bootstrap-4.1.3/css/bootstrap-reboot.css deleted file mode 100644 index b3d7f4c6..00000000 --- a/docs/_static/link_gen/vendor/bootstrap-4.1.3/css/bootstrap-reboot.css +++ /dev/null @@ -1,331 +0,0 @@ -/*! - * Bootstrap Reboot v4.1.3 (https://getbootstrap.com/) - * Copyright 2011-2018 The Bootstrap Authors - * Copyright 2011-2018 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) - */ -*, -*::before, -*::after { - box-sizing: border-box; -} - -html { - font-family: sans-serif; - line-height: 1.15; - -webkit-text-size-adjust: 100%; - -ms-text-size-adjust: 100%; - -ms-overflow-style: scrollbar; - -webkit-tap-highlight-color: rgba(0, 0, 0, 0); -} - -@-ms-viewport { - width: device-width; -} - -article, aside, figcaption, figure, footer, header, hgroup, main, nav, section { - display: block; -} - -body { - margin: 0; - font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; - font-size: 1rem; - font-weight: 400; - line-height: 1.5; - color: #212529; - text-align: left; - background-color: #fff; -} - -[tabindex="-1"]:focus { - outline: 0 !important; -} - -hr { - box-sizing: content-box; - height: 0; - overflow: visible; -} - -h1, h2, h3, h4, h5, h6 { - margin-top: 0; - margin-bottom: 0.5rem; -} - -p { - margin-top: 0; - margin-bottom: 1rem; -} - -abbr[title], -abbr[data-original-title] { - text-decoration: underline; - -webkit-text-decoration: underline dotted; - text-decoration: underline dotted; - cursor: help; - border-bottom: 0; -} - -address { - margin-bottom: 1rem; - font-style: normal; - line-height: inherit; -} - -ol, -ul, -dl { - margin-top: 0; - margin-bottom: 1rem; -} - -ol ol, -ul ul, -ol ul, -ul ol { - margin-bottom: 0; -} - -dt { - font-weight: 700; -} - -dd { - margin-bottom: .5rem; - margin-left: 0; -} - -blockquote { - margin: 0 0 1rem; -} - -dfn { - font-style: italic; -} - -b, -strong { - font-weight: bolder; -} - -small { - font-size: 80%; -} - -sub, -sup { - position: relative; - font-size: 75%; - line-height: 0; - vertical-align: baseline; -} - -sub { - bottom: -.25em; -} - -sup { - top: -.5em; -} - -a { - color: #007bff; - text-decoration: none; - background-color: transparent; - -webkit-text-decoration-skip: objects; -} - -a:hover { - color: #0056b3; - text-decoration: underline; -} - -a:not([href]):not([tabindex]) { - color: inherit; - text-decoration: none; -} - -a:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus { - color: inherit; - text-decoration: none; -} - -a:not([href]):not([tabindex]):focus { - outline: 0; -} - -pre, -code, -kbd, -samp { - font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; - font-size: 1em; -} - -pre { - margin-top: 0; - margin-bottom: 1rem; - overflow: auto; - -ms-overflow-style: scrollbar; -} - -figure { - margin: 0 0 1rem; -} - -img { - vertical-align: middle; - border-style: none; -} - -svg { - overflow: hidden; - vertical-align: middle; -} - -table { - border-collapse: collapse; -} - -caption { - padding-top: 0.75rem; - padding-bottom: 0.75rem; - color: #6c757d; - text-align: left; - caption-side: bottom; -} - -th { - text-align: inherit; -} - -label { - display: inline-block; - margin-bottom: 0.5rem; -} - -button { - border-radius: 0; -} - -button:focus { - outline: 1px dotted; - outline: 5px auto -webkit-focus-ring-color; -} - -input, -button, -select, -optgroup, -textarea { - margin: 0; - font-family: inherit; - font-size: inherit; - line-height: inherit; -} - -button, -input { - overflow: visible; -} - -button, -select { - text-transform: none; -} - -button, -html [type="button"], -[type="reset"], -[type="submit"] { - -webkit-appearance: button; -} - -button::-moz-focus-inner, -[type="button"]::-moz-focus-inner, -[type="reset"]::-moz-focus-inner, -[type="submit"]::-moz-focus-inner { - padding: 0; - border-style: none; -} - -input[type="radio"], -input[type="checkbox"] { - box-sizing: border-box; - padding: 0; -} - -input[type="date"], -input[type="time"], -input[type="datetime-local"], -input[type="month"] { - -webkit-appearance: listbox; -} - -textarea { - overflow: auto; - resize: vertical; -} - -fieldset { - min-width: 0; - padding: 0; - margin: 0; - border: 0; -} - -legend { - display: block; - width: 100%; - max-width: 100%; - padding: 0; - margin-bottom: .5rem; - font-size: 1.5rem; - line-height: inherit; - color: inherit; - white-space: normal; -} - -progress { - vertical-align: baseline; -} - -[type="number"]::-webkit-inner-spin-button, -[type="number"]::-webkit-outer-spin-button { - height: auto; -} - -[type="search"] { - outline-offset: -2px; - -webkit-appearance: none; -} - -[type="search"]::-webkit-search-cancel-button, -[type="search"]::-webkit-search-decoration { - -webkit-appearance: none; -} - -::-webkit-file-upload-button { - font: inherit; - -webkit-appearance: button; -} - -output { - display: inline-block; -} - -summary { - display: list-item; - cursor: pointer; -} - -template { - display: none; -} - -[hidden] { - display: none !important; -} -/*# sourceMappingURL=bootstrap-reboot.css.map */ \ No newline at end of file diff --git a/docs/_static/link_gen/vendor/bootstrap-4.1.3/css/bootstrap-reboot.css.map b/docs/_static/link_gen/vendor/bootstrap-4.1.3/css/bootstrap-reboot.css.map deleted file mode 100644 index 3a17ed96..00000000 --- a/docs/_static/link_gen/vendor/bootstrap-4.1.3/css/bootstrap-reboot.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../../scss/bootstrap-reboot.scss","../../scss/_reboot.scss","../../scss/_variables.scss","bootstrap-reboot.css","../../scss/mixins/_hover.scss"],"names":[],"mappings":"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","file":"bootstrap-reboot.css","sourcesContent":["/*!\n * Bootstrap Reboot v4.1.3 (https://getbootstrap.com/)\n * Copyright 2011-2018 The Bootstrap Authors\n * Copyright 2011-2018 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"reboot\";\n","// stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// 1. Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n// 2. Change the default font family in all browsers.\n// 3. Correct the line height in all browsers.\n// 4. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.\n// 5. Setting @viewport causes scrollbars to overlap content in IE11 and Edge, so\n// we force a non-overlapping, non-auto-hiding scrollbar to counteract.\n// 6. Change the default tap highlight to be completely transparent in iOS.\n\n*,\n*::before,\n*::after {\n box-sizing: border-box; // 1\n}\n\nhtml {\n font-family: sans-serif; // 2\n line-height: 1.15; // 3\n -webkit-text-size-adjust: 100%; // 4\n -ms-text-size-adjust: 100%; // 4\n -ms-overflow-style: scrollbar; // 5\n -webkit-tap-highlight-color: rgba($black, 0); // 6\n}\n\n// IE10+ doesn't honor `` in some cases.\n@at-root {\n @-ms-viewport {\n width: device-width;\n }\n}\n\n// stylelint-disable selector-list-comma-newline-after\n// Shim for \"new\" HTML5 structural elements to display correctly (IE10, older browsers)\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n// stylelint-enable selector-list-comma-newline-after\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Set an explicit initial text-align value so that we can later use the\n// the `inherit` value on things like `` elements.\n\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n font-size: $font-size-base;\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n text-align: left; // 3\n background-color: $body-bg; // 2\n}\n\n// Suppress the focus outline on elements that cannot be accessed via keyboard.\n// This prevents an unwanted focus outline from appearing around elements that\n// might still respond to pointer events.\n//\n// Credit: https://github.com/suitcss/base\n[tabindex=\"-1\"]:focus {\n outline: 0 !important;\n}\n\n\n// Content grouping\n//\n// 1. Add the correct box sizing in Firefox.\n// 2. Show the overflow in Edge and IE.\n\nhr {\n box-sizing: content-box; // 1\n height: 0; // 1\n overflow: visible; // 2\n}\n\n\n//\n// Typography\n//\n\n// Remove top margins from headings\n//\n// By default, `

`-`

` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n// stylelint-disable selector-list-comma-newline-after\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: $headings-margin-bottom;\n}\n// stylelint-enable selector-list-comma-newline-after\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `

`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n// Abbreviations\n//\n// 1. Remove the bottom border in Firefox 39-.\n// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Duplicate behavior to the data-* attribute for our tooltip plugin\n\nabbr[title],\nabbr[data-original-title] { // 4\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n border-bottom: 0; // 1\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // Undo browser default\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\ndfn {\n font-style: italic; // Add the correct font style in Android 4.3-\n}\n\n// stylelint-disable font-weight-notation\nb,\nstrong {\n font-weight: bolder; // Add the correct font weight in Chrome, Edge, and Safari\n}\n// stylelint-enable font-weight-notation\n\nsmall {\n font-size: 80%; // Add the correct font size in all browsers\n}\n\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n//\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n//\n// Links\n//\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n background-color: transparent; // Remove the gray background on active links in IE 10.\n -webkit-text-decoration-skip: objects; // Remove gaps in links underline in iOS 8+ and Safari 8+.\n\n @include hover {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href)\n// which have not been made explicitly keyboard-focusable (without tabindex).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n\n @include hover-focus {\n color: inherit;\n text-decoration: none;\n }\n\n &:focus {\n outline: 0;\n }\n}\n\n\n//\n// Code\n//\n\npre,\ncode,\nkbd,\nsamp {\n font-family: $font-family-monospace;\n font-size: 1em; // Correct the odd `em` font sizing in all browsers.\n}\n\npre {\n // Remove browser default top margin\n margin-top: 0;\n // Reset browser default of `1em` to use `rem`s\n margin-bottom: 1rem;\n // Don't allow content to break outside\n overflow: auto;\n // We have @viewport set which causes scrollbars to overlap content in IE11 and Edge, so\n // we force a non-overlapping, non-auto-hiding scrollbar to counteract.\n -ms-overflow-style: scrollbar;\n}\n\n\n//\n// Figures\n//\n\nfigure {\n // Apply a consistent margin strategy (matches our type styles).\n margin: 0 0 1rem;\n}\n\n\n//\n// Images and content\n//\n\nimg {\n vertical-align: middle;\n border-style: none; // Remove the border on images inside links in IE 10-.\n}\n\nsvg {\n // Workaround for the SVG overflow bug in IE10/11 is still required.\n // See https://github.com/twbs/bootstrap/issues/26878\n overflow: hidden;\n vertical-align: middle;\n}\n\n\n//\n// Tables\n//\n\ntable {\n border-collapse: collapse; // Prevent double borders\n}\n\ncaption {\n padding-top: $table-cell-padding;\n padding-bottom: $table-cell-padding;\n color: $table-caption-color;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n // Matches default `` alignment by inheriting from the ``, or the\n // closest parent with a set `text-align`.\n text-align: inherit;\n}\n\n\n//\n// Forms\n//\n\nlabel {\n // Allow labels to use `margin` for spacing.\n display: inline-block;\n margin-bottom: $label-margin-bottom;\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24093\nbutton {\n border-radius: 0;\n}\n\n// Work around a Firefox/IE bug where the transparent `button` background\n// results in a loss of the default `button` focus styles.\n//\n// Credit: https://github.com/suitcss/base/\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0; // Remove the margin in Firefox and Safari\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible; // Show the overflow in Edge\n}\n\nbutton,\nselect {\n text-transform: none; // Remove the inheritance of text transform in Firefox\n}\n\n// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n// controls in Android 4.\n// 2. Correct the inability to style clickable types in iOS and Safari.\nbutton,\nhtml [type=\"button\"], // 1\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button; // 2\n}\n\n// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box; // 1. Add the correct box sizing in IE 10-\n padding: 0; // 2. Remove the padding in IE 10-\n}\n\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n // Remove the default appearance of temporal inputs to avoid a Mobile Safari\n // bug where setting a custom line-height prevents text from being vertically\n // centered within the input.\n // See https://bugs.webkit.org/show_bug.cgi?id=139848\n // and https://github.com/twbs/bootstrap/issues/11266\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto; // Remove the default vertical scrollbar in IE.\n // Textareas should really only resize vertically so they don't break their (horizontal) containers.\n resize: vertical;\n}\n\nfieldset {\n // Browsers set a default `min-width: min-content;` on fieldsets,\n // unlike e.g. `

`s, which have `min-width: 0;` by default.\n // So we reset that to ensure fieldsets behave more like a standard block element.\n // See https://github.com/twbs/bootstrap/issues/12359\n // and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n min-width: 0;\n // Reset the default outline behavior of fieldsets so they don't affect page layout.\n padding: 0;\n margin: 0;\n border: 0;\n}\n\n// 1. Correct the text wrapping in Edge and IE.\n// 2. Correct the color inheritance from `fieldset` elements in IE.\nlegend {\n display: block;\n width: 100%;\n max-width: 100%; // 1\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit; // 2\n white-space: normal; // 1\n}\n\nprogress {\n vertical-align: baseline; // Add the correct vertical alignment in Chrome, Firefox, and Opera.\n}\n\n// Correct the cursor style of increment and decrement buttons in Chrome.\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n // This overrides the extra rounded corners on search inputs in iOS so that our\n // `.form-control` class can properly style them. Note that this cannot simply\n // be added to `.form-control` as it's not specific enough. For details, see\n // https://github.com/twbs/bootstrap/issues/11586.\n outline-offset: -2px; // 2. Correct the outline style in Safari.\n -webkit-appearance: none;\n}\n\n//\n// Remove the inner padding and cancel buttons in Chrome and Safari on macOS.\n//\n\n[type=\"search\"]::-webkit-search-cancel-button,\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n//\n// 1. Correct the inability to style clickable types in iOS and Safari.\n// 2. Change font properties to `inherit` in Safari.\n//\n\n::-webkit-file-upload-button {\n font: inherit; // 2\n -webkit-appearance: button; // 1\n}\n\n//\n// Correct element displays\n//\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item; // Add the correct display in all browsers\n cursor: pointer;\n}\n\ntemplate {\n display: none; // Add the correct display in IE\n}\n\n// Always hide an element with the `hidden` HTML attribute (from PureCSS).\n// Needed for proper display in IE 10-.\n[hidden] {\n display: none !important;\n}\n","// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.\n\n\n//\n// Color system\n//\n\n$white: #fff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #6c757d !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n$black: #000 !default;\n\n$grays: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$grays: map-merge(\n (\n \"100\": $gray-100,\n \"200\": $gray-200,\n \"300\": $gray-300,\n \"400\": $gray-400,\n \"500\": $gray-500,\n \"600\": $gray-600,\n \"700\": $gray-700,\n \"800\": $gray-800,\n \"900\": $gray-900\n ),\n $grays\n);\n\n\n$blue: #007bff !default;\n$indigo: #6610f2 !default;\n$purple: #6f42c1 !default;\n$pink: #e83e8c !default;\n$red: #dc3545 !default;\n$orange: #fd7e14 !default;\n$yellow: #ffc107 !default;\n$green: #28a745 !default;\n$teal: #20c997 !default;\n$cyan: #17a2b8 !default;\n\n$colors: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$colors: map-merge(\n (\n \"blue\": $blue,\n \"indigo\": $indigo,\n \"purple\": $purple,\n \"pink\": $pink,\n \"red\": $red,\n \"orange\": $orange,\n \"yellow\": $yellow,\n \"green\": $green,\n \"teal\": $teal,\n \"cyan\": $cyan,\n \"white\": $white,\n \"gray\": $gray-600,\n \"gray-dark\": $gray-800\n ),\n $colors\n);\n\n$primary: $blue !default;\n$secondary: $gray-600 !default;\n$success: $green !default;\n$info: $cyan !default;\n$warning: $yellow !default;\n$danger: $red !default;\n$light: $gray-100 !default;\n$dark: $gray-800 !default;\n\n$theme-colors: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$theme-colors: map-merge(\n (\n \"primary\": $primary,\n \"secondary\": $secondary,\n \"success\": $success,\n \"info\": $info,\n \"warning\": $warning,\n \"danger\": $danger,\n \"light\": $light,\n \"dark\": $dark\n ),\n $theme-colors\n);\n\n// Set a specific jump point for requesting color jumps\n$theme-color-interval: 8% !default;\n\n// The yiq lightness value that determines when the lightness of color changes from \"dark\" to \"light\". Acceptable values are between 0 and 255.\n$yiq-contrasted-threshold: 150 !default;\n\n// Customize the light and dark text colors for use in our YIQ color contrast function.\n$yiq-text-dark: $gray-900 !default;\n$yiq-text-light: $white !default;\n\n// Options\n//\n// Quickly modify global styling by enabling or disabling optional features.\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: false !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-hover-media-query: false !default; // Deprecated, no longer affects any compiled CSS\n$enable-grid-classes: true !default;\n$enable-print-styles: true !default;\n\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n$spacer: 1rem !default;\n$spacers: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$spacers: map-merge(\n (\n 0: 0,\n 1: ($spacer * .25),\n 2: ($spacer * .5),\n 3: $spacer,\n 4: ($spacer * 1.5),\n 5: ($spacer * 3)\n ),\n $spacers\n);\n\n// This variable affects the `.h-*` and `.w-*` classes.\n$sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$sizes: map-merge(\n (\n 25: 25%,\n 50: 50%,\n 75: 75%,\n 100: 100%,\n auto: auto\n ),\n $sizes\n);\n\n// Body\n//\n// Settings for the `` element.\n\n$body-bg: $white !default;\n$body-color: $gray-900 !default;\n\n// Links\n//\n// Style anchor elements.\n\n$link-color: theme-color(\"primary\") !default;\n$link-decoration: none !default;\n$link-hover-color: darken($link-color, 15%) !default;\n$link-hover-decoration: underline !default;\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom: 1rem !default;\n\n\n// Grid breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n$grid-breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 992px,\n xl: 1200px\n) !default;\n\n@include _assert-ascending($grid-breakpoints, \"$grid-breakpoints\");\n@include _assert-starts-at-zero($grid-breakpoints);\n\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1140px\n) !default;\n\n@include _assert-ascending($container-max-widths, \"$container-max-widths\");\n\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-width: 30px !default;\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n$line-height-lg: 1.5 !default;\n$line-height-sm: 1.5 !default;\n\n$border-width: 1px !default;\n$border-color: $gray-300 !default;\n\n$border-radius: .25rem !default;\n$border-radius-lg: .3rem !default;\n$border-radius-sm: .2rem !default;\n\n$box-shadow-sm: 0 .125rem .25rem rgba($black, .075) !default;\n$box-shadow: 0 .5rem 1rem rgba($black, .15) !default;\n$box-shadow-lg: 0 1rem 3rem rgba($black, .175) !default;\n\n$component-active-color: $white !default;\n$component-active-bg: theme-color(\"primary\") !default;\n\n$caret-width: .3em !default;\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n$transition-collapse: height .35s ease !default;\n\n\n// Fonts\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// stylelint-disable value-keyword-case\n$font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\" !default;\n$font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !default;\n$font-family-base: $font-family-sans-serif !default;\n// stylelint-enable value-keyword-case\n\n$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`\n$font-size-lg: ($font-size-base * 1.25) !default;\n$font-size-sm: ($font-size-base * .875) !default;\n\n$font-weight-light: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-bold: 700 !default;\n\n$font-weight-base: $font-weight-normal !default;\n$line-height-base: 1.5 !default;\n\n$h1-font-size: $font-size-base * 2.5 !default;\n$h2-font-size: $font-size-base * 2 !default;\n$h3-font-size: $font-size-base * 1.75 !default;\n$h4-font-size: $font-size-base * 1.5 !default;\n$h5-font-size: $font-size-base * 1.25 !default;\n$h6-font-size: $font-size-base !default;\n\n$headings-margin-bottom: ($spacer / 2) !default;\n$headings-font-family: inherit !default;\n$headings-font-weight: 500 !default;\n$headings-line-height: 1.2 !default;\n$headings-color: inherit !default;\n\n$display1-size: 6rem !default;\n$display2-size: 5.5rem !default;\n$display3-size: 4.5rem !default;\n$display4-size: 3.5rem !default;\n\n$display1-weight: 300 !default;\n$display2-weight: 300 !default;\n$display3-weight: 300 !default;\n$display4-weight: 300 !default;\n$display-line-height: $headings-line-height !default;\n\n$lead-font-size: ($font-size-base * 1.25) !default;\n$lead-font-weight: 300 !default;\n\n$small-font-size: 80% !default;\n\n$text-muted: $gray-600 !default;\n\n$blockquote-small-color: $gray-600 !default;\n$blockquote-font-size: ($font-size-base * 1.25) !default;\n\n$hr-border-color: rgba($black, .1) !default;\n$hr-border-width: $border-width !default;\n\n$mark-padding: .2em !default;\n\n$dt-font-weight: $font-weight-bold !default;\n\n$kbd-box-shadow: inset 0 -.1rem 0 rgba($black, .25) !default;\n$nested-kbd-font-weight: $font-weight-bold !default;\n\n$list-inline-padding: .5rem !default;\n\n$mark-bg: #fcf8e3 !default;\n\n$hr-margin-y: $spacer !default;\n\n\n// Tables\n//\n// Customizes the `.table` component with basic values, each used across all table variations.\n\n$table-cell-padding: .75rem !default;\n$table-cell-padding-sm: .3rem !default;\n\n$table-bg: transparent !default;\n$table-accent-bg: rgba($black, .05) !default;\n$table-hover-bg: rgba($black, .075) !default;\n$table-active-bg: $table-hover-bg !default;\n\n$table-border-width: $border-width !default;\n$table-border-color: $gray-300 !default;\n\n$table-head-bg: $gray-200 !default;\n$table-head-color: $gray-700 !default;\n\n$table-dark-bg: $gray-900 !default;\n$table-dark-accent-bg: rgba($white, .05) !default;\n$table-dark-hover-bg: rgba($white, .075) !default;\n$table-dark-border-color: lighten($gray-900, 7.5%) !default;\n$table-dark-color: $body-bg !default;\n\n$table-striped-order: odd !default;\n\n$table-caption-color: $text-muted !default;\n\n// Buttons + Forms\n//\n// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.\n\n$input-btn-padding-y: .375rem !default;\n$input-btn-padding-x: .75rem !default;\n$input-btn-line-height: $line-height-base !default;\n\n$input-btn-focus-width: .2rem !default;\n$input-btn-focus-color: rgba($component-active-bg, .25) !default;\n$input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color !default;\n\n$input-btn-padding-y-sm: .25rem !default;\n$input-btn-padding-x-sm: .5rem !default;\n$input-btn-line-height-sm: $line-height-sm !default;\n\n$input-btn-padding-y-lg: .5rem !default;\n$input-btn-padding-x-lg: 1rem !default;\n$input-btn-line-height-lg: $line-height-lg !default;\n\n$input-btn-border-width: $border-width !default;\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background, and border color.\n\n$btn-padding-y: $input-btn-padding-y !default;\n$btn-padding-x: $input-btn-padding-x !default;\n$btn-line-height: $input-btn-line-height !default;\n\n$btn-padding-y-sm: $input-btn-padding-y-sm !default;\n$btn-padding-x-sm: $input-btn-padding-x-sm !default;\n$btn-line-height-sm: $input-btn-line-height-sm !default;\n\n$btn-padding-y-lg: $input-btn-padding-y-lg !default;\n$btn-padding-x-lg: $input-btn-padding-x-lg !default;\n$btn-line-height-lg: $input-btn-line-height-lg !default;\n\n$btn-border-width: $input-btn-border-width !default;\n\n$btn-font-weight: $font-weight-normal !default;\n$btn-box-shadow: inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default;\n$btn-focus-width: $input-btn-focus-width !default;\n$btn-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$btn-disabled-opacity: .65 !default;\n$btn-active-box-shadow: inset 0 3px 5px rgba($black, .125) !default;\n\n$btn-link-disabled-color: $gray-600 !default;\n\n$btn-block-spacing-y: .5rem !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius: $border-radius !default;\n$btn-border-radius-lg: $border-radius-lg !default;\n$btn-border-radius-sm: $border-radius-sm !default;\n\n$btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n\n// Forms\n\n$label-margin-bottom: .5rem !default;\n\n$input-padding-y: $input-btn-padding-y !default;\n$input-padding-x: $input-btn-padding-x !default;\n$input-line-height: $input-btn-line-height !default;\n\n$input-padding-y-sm: $input-btn-padding-y-sm !default;\n$input-padding-x-sm: $input-btn-padding-x-sm !default;\n$input-line-height-sm: $input-btn-line-height-sm !default;\n\n$input-padding-y-lg: $input-btn-padding-y-lg !default;\n$input-padding-x-lg: $input-btn-padding-x-lg !default;\n$input-line-height-lg: $input-btn-line-height-lg !default;\n\n$input-bg: $white !default;\n$input-disabled-bg: $gray-200 !default;\n\n$input-color: $gray-700 !default;\n$input-border-color: $gray-400 !default;\n$input-border-width: $input-btn-border-width !default;\n$input-box-shadow: inset 0 1px 1px rgba($black, .075) !default;\n\n$input-border-radius: $border-radius !default;\n$input-border-radius-lg: $border-radius-lg !default;\n$input-border-radius-sm: $border-radius-sm !default;\n\n$input-focus-bg: $input-bg !default;\n$input-focus-border-color: lighten($component-active-bg, 25%) !default;\n$input-focus-color: $input-color !default;\n$input-focus-width: $input-btn-focus-width !default;\n$input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$input-placeholder-color: $gray-600 !default;\n$input-plaintext-color: $body-color !default;\n\n$input-height-border: $input-border-width * 2 !default;\n\n$input-height-inner: ($font-size-base * $input-btn-line-height) + ($input-btn-padding-y * 2) !default;\n$input-height: calc(#{$input-height-inner} + #{$input-height-border}) !default;\n\n$input-height-inner-sm: ($font-size-sm * $input-btn-line-height-sm) + ($input-btn-padding-y-sm * 2) !default;\n$input-height-sm: calc(#{$input-height-inner-sm} + #{$input-height-border}) !default;\n\n$input-height-inner-lg: ($font-size-lg * $input-btn-line-height-lg) + ($input-btn-padding-y-lg * 2) !default;\n$input-height-lg: calc(#{$input-height-inner-lg} + #{$input-height-border}) !default;\n\n$input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$form-text-margin-top: .25rem !default;\n\n$form-check-input-gutter: 1.25rem !default;\n$form-check-input-margin-y: .3rem !default;\n$form-check-input-margin-x: .25rem !default;\n\n$form-check-inline-margin-x: .75rem !default;\n$form-check-inline-input-margin-x: .3125rem !default;\n\n$form-group-margin-bottom: 1rem !default;\n\n$input-group-addon-color: $input-color !default;\n$input-group-addon-bg: $gray-200 !default;\n$input-group-addon-border-color: $input-border-color !default;\n\n$custom-forms-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$custom-control-gutter: 1.5rem !default;\n$custom-control-spacer-x: 1rem !default;\n\n$custom-control-indicator-size: 1rem !default;\n$custom-control-indicator-bg: $gray-300 !default;\n$custom-control-indicator-bg-size: 50% 50% !default;\n$custom-control-indicator-box-shadow: inset 0 .25rem .25rem rgba($black, .1) !default;\n\n$custom-control-indicator-disabled-bg: $gray-200 !default;\n$custom-control-label-disabled-color: $gray-600 !default;\n\n$custom-control-indicator-checked-color: $component-active-color !default;\n$custom-control-indicator-checked-bg: $component-active-bg !default;\n$custom-control-indicator-checked-disabled-bg: rgba(theme-color(\"primary\"), .5) !default;\n$custom-control-indicator-checked-box-shadow: none !default;\n\n$custom-control-indicator-focus-box-shadow: 0 0 0 1px $body-bg, $input-btn-focus-box-shadow !default;\n\n$custom-control-indicator-active-color: $component-active-color !default;\n$custom-control-indicator-active-bg: lighten($component-active-bg, 35%) !default;\n$custom-control-indicator-active-box-shadow: none !default;\n\n$custom-checkbox-indicator-border-radius: $border-radius !default;\n$custom-checkbox-indicator-icon-checked: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='#{$custom-control-indicator-checked-color}' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n\n$custom-checkbox-indicator-indeterminate-bg: $component-active-bg !default;\n$custom-checkbox-indicator-indeterminate-color: $custom-control-indicator-checked-color !default;\n$custom-checkbox-indicator-icon-indeterminate: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='#{$custom-checkbox-indicator-indeterminate-color}' d='M0 2h4'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$custom-checkbox-indicator-indeterminate-box-shadow: none !default;\n\n$custom-radio-indicator-border-radius: 50% !default;\n$custom-radio-indicator-icon-checked: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='#{$custom-control-indicator-checked-color}'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n\n$custom-select-padding-y: .375rem !default;\n$custom-select-padding-x: .75rem !default;\n$custom-select-height: $input-height !default;\n$custom-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator\n$custom-select-line-height: $input-btn-line-height !default;\n$custom-select-color: $input-color !default;\n$custom-select-disabled-color: $gray-600 !default;\n$custom-select-bg: $input-bg !default;\n$custom-select-disabled-bg: $gray-200 !default;\n$custom-select-bg-size: 8px 10px !default; // In pixels because image dimensions\n$custom-select-indicator-color: $gray-800 !default;\n$custom-select-indicator: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='#{$custom-select-indicator-color}' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$custom-select-border-width: $input-btn-border-width !default;\n$custom-select-border-color: $input-border-color !default;\n$custom-select-border-radius: $border-radius !default;\n$custom-select-box-shadow: inset 0 1px 2px rgba($black, .075) !default;\n\n$custom-select-focus-border-color: $input-focus-border-color !default;\n$custom-select-focus-width: $input-btn-focus-width !default;\n$custom-select-focus-box-shadow: 0 0 0 $custom-select-focus-width rgba($custom-select-focus-border-color, .5) !default;\n\n$custom-select-font-size-sm: 75% !default;\n$custom-select-height-sm: $input-height-sm !default;\n\n$custom-select-font-size-lg: 125% !default;\n$custom-select-height-lg: $input-height-lg !default;\n\n$custom-range-track-width: 100% !default;\n$custom-range-track-height: .5rem !default;\n$custom-range-track-cursor: pointer !default;\n$custom-range-track-bg: $gray-300 !default;\n$custom-range-track-border-radius: 1rem !default;\n$custom-range-track-box-shadow: inset 0 .25rem .25rem rgba($black, .1) !default;\n\n$custom-range-thumb-width: 1rem !default;\n$custom-range-thumb-height: $custom-range-thumb-width !default;\n$custom-range-thumb-bg: $component-active-bg !default;\n$custom-range-thumb-border: 0 !default;\n$custom-range-thumb-border-radius: 1rem !default;\n$custom-range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1) !default;\n$custom-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg, $input-btn-focus-box-shadow !default;\n$custom-range-thumb-focus-box-shadow-width: $input-btn-focus-width !default; // For focus box shadow issue in IE/Edge\n$custom-range-thumb-active-bg: lighten($component-active-bg, 35%) !default;\n\n$custom-file-height: $input-height !default;\n$custom-file-height-inner: $input-height-inner !default;\n$custom-file-focus-border-color: $input-focus-border-color !default;\n$custom-file-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$custom-file-disabled-bg: $input-disabled-bg !default;\n\n$custom-file-padding-y: $input-btn-padding-y !default;\n$custom-file-padding-x: $input-btn-padding-x !default;\n$custom-file-line-height: $input-btn-line-height !default;\n$custom-file-color: $input-color !default;\n$custom-file-bg: $input-bg !default;\n$custom-file-border-width: $input-btn-border-width !default;\n$custom-file-border-color: $input-border-color !default;\n$custom-file-border-radius: $input-border-radius !default;\n$custom-file-box-shadow: $input-box-shadow !default;\n$custom-file-button-color: $custom-file-color !default;\n$custom-file-button-bg: $input-group-addon-bg !default;\n$custom-file-text: (\n en: \"Browse\"\n) !default;\n\n\n// Form validation\n$form-feedback-margin-top: $form-text-margin-top !default;\n$form-feedback-font-size: $small-font-size !default;\n$form-feedback-valid-color: theme-color(\"success\") !default;\n$form-feedback-invalid-color: theme-color(\"danger\") !default;\n\n\n// Dropdowns\n//\n// Dropdown menu container and contents.\n\n$dropdown-min-width: 10rem !default;\n$dropdown-padding-y: .5rem !default;\n$dropdown-spacer: .125rem !default;\n$dropdown-bg: $white !default;\n$dropdown-border-color: rgba($black, .15) !default;\n$dropdown-border-radius: $border-radius !default;\n$dropdown-border-width: $border-width !default;\n$dropdown-divider-bg: $gray-200 !default;\n$dropdown-box-shadow: 0 .5rem 1rem rgba($black, .175) !default;\n\n$dropdown-link-color: $gray-900 !default;\n$dropdown-link-hover-color: darken($gray-900, 5%) !default;\n$dropdown-link-hover-bg: $gray-100 !default;\n\n$dropdown-link-active-color: $component-active-color !default;\n$dropdown-link-active-bg: $component-active-bg !default;\n\n$dropdown-link-disabled-color: $gray-600 !default;\n\n$dropdown-item-padding-y: .25rem !default;\n$dropdown-item-padding-x: 1.5rem !default;\n\n$dropdown-header-color: $gray-600 !default;\n\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n$zindex-dropdown: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-modal-backdrop: 1040 !default;\n$zindex-modal: 1050 !default;\n$zindex-popover: 1060 !default;\n$zindex-tooltip: 1070 !default;\n\n// Navs\n\n$nav-link-padding-y: .5rem !default;\n$nav-link-padding-x: 1rem !default;\n$nav-link-disabled-color: $gray-600 !default;\n\n$nav-tabs-border-color: $gray-300 !default;\n$nav-tabs-border-width: $border-width !default;\n$nav-tabs-border-radius: $border-radius !default;\n$nav-tabs-link-hover-border-color: $gray-200 $gray-200 $nav-tabs-border-color !default;\n$nav-tabs-link-active-color: $gray-700 !default;\n$nav-tabs-link-active-bg: $body-bg !default;\n$nav-tabs-link-active-border-color: $gray-300 $gray-300 $nav-tabs-link-active-bg !default;\n\n$nav-pills-border-radius: $border-radius !default;\n$nav-pills-link-active-color: $component-active-color !default;\n$nav-pills-link-active-bg: $component-active-bg !default;\n\n$nav-divider-color: $gray-200 !default;\n$nav-divider-margin-y: ($spacer / 2) !default;\n\n// Navbar\n\n$navbar-padding-y: ($spacer / 2) !default;\n$navbar-padding-x: $spacer !default;\n\n$navbar-nav-link-padding-x: .5rem !default;\n\n$navbar-brand-font-size: $font-size-lg !default;\n// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link\n$nav-link-height: ($font-size-base * $line-height-base + $nav-link-padding-y * 2) !default;\n$navbar-brand-height: $navbar-brand-font-size * $line-height-base !default;\n$navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) / 2 !default;\n\n$navbar-toggler-padding-y: .25rem !default;\n$navbar-toggler-padding-x: .75rem !default;\n$navbar-toggler-font-size: $font-size-lg !default;\n$navbar-toggler-border-radius: $btn-border-radius !default;\n\n$navbar-dark-color: rgba($white, .5) !default;\n$navbar-dark-hover-color: rgba($white, .75) !default;\n$navbar-dark-active-color: $white !default;\n$navbar-dark-disabled-color: rgba($white, .25) !default;\n$navbar-dark-toggler-icon-bg: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='#{$navbar-dark-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$navbar-dark-toggler-border-color: rgba($white, .1) !default;\n\n$navbar-light-color: rgba($black, .5) !default;\n$navbar-light-hover-color: rgba($black, .7) !default;\n$navbar-light-active-color: rgba($black, .9) !default;\n$navbar-light-disabled-color: rgba($black, .3) !default;\n$navbar-light-toggler-icon-bg: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='#{$navbar-light-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$navbar-light-toggler-border-color: rgba($black, .1) !default;\n\n// Pagination\n\n$pagination-padding-y: .5rem !default;\n$pagination-padding-x: .75rem !default;\n$pagination-padding-y-sm: .25rem !default;\n$pagination-padding-x-sm: .5rem !default;\n$pagination-padding-y-lg: .75rem !default;\n$pagination-padding-x-lg: 1.5rem !default;\n$pagination-line-height: 1.25 !default;\n\n$pagination-color: $link-color !default;\n$pagination-bg: $white !default;\n$pagination-border-width: $border-width !default;\n$pagination-border-color: $gray-300 !default;\n\n$pagination-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$pagination-focus-outline: 0 !default;\n\n$pagination-hover-color: $link-hover-color !default;\n$pagination-hover-bg: $gray-200 !default;\n$pagination-hover-border-color: $gray-300 !default;\n\n$pagination-active-color: $component-active-color !default;\n$pagination-active-bg: $component-active-bg !default;\n$pagination-active-border-color: $pagination-active-bg !default;\n\n$pagination-disabled-color: $gray-600 !default;\n$pagination-disabled-bg: $white !default;\n$pagination-disabled-border-color: $gray-300 !default;\n\n\n// Jumbotron\n\n$jumbotron-padding: 2rem !default;\n$jumbotron-bg: $gray-200 !default;\n\n\n// Cards\n\n$card-spacer-y: .75rem !default;\n$card-spacer-x: 1.25rem !default;\n$card-border-width: $border-width !default;\n$card-border-radius: $border-radius !default;\n$card-border-color: rgba($black, .125) !default;\n$card-inner-border-radius: calc(#{$card-border-radius} - #{$card-border-width}) !default;\n$card-cap-bg: rgba($black, .03) !default;\n$card-bg: $white !default;\n\n$card-img-overlay-padding: 1.25rem !default;\n\n$card-group-margin: ($grid-gutter-width / 2) !default;\n$card-deck-margin: $card-group-margin !default;\n\n$card-columns-count: 3 !default;\n$card-columns-gap: 1.25rem !default;\n$card-columns-margin: $card-spacer-y !default;\n\n\n// Tooltips\n\n$tooltip-font-size: $font-size-sm !default;\n$tooltip-max-width: 200px !default;\n$tooltip-color: $white !default;\n$tooltip-bg: $black !default;\n$tooltip-border-radius: $border-radius !default;\n$tooltip-opacity: .9 !default;\n$tooltip-padding-y: .25rem !default;\n$tooltip-padding-x: .5rem !default;\n$tooltip-margin: 0 !default;\n\n$tooltip-arrow-width: .8rem !default;\n$tooltip-arrow-height: .4rem !default;\n$tooltip-arrow-color: $tooltip-bg !default;\n\n\n// Popovers\n\n$popover-font-size: $font-size-sm !default;\n$popover-bg: $white !default;\n$popover-max-width: 276px !default;\n$popover-border-width: $border-width !default;\n$popover-border-color: rgba($black, .2) !default;\n$popover-border-radius: $border-radius-lg !default;\n$popover-box-shadow: 0 .25rem .5rem rgba($black, .2) !default;\n\n$popover-header-bg: darken($popover-bg, 3%) !default;\n$popover-header-color: $headings-color !default;\n$popover-header-padding-y: .5rem !default;\n$popover-header-padding-x: .75rem !default;\n\n$popover-body-color: $body-color !default;\n$popover-body-padding-y: $popover-header-padding-y !default;\n$popover-body-padding-x: $popover-header-padding-x !default;\n\n$popover-arrow-width: 1rem !default;\n$popover-arrow-height: .5rem !default;\n$popover-arrow-color: $popover-bg !default;\n\n$popover-arrow-outer-color: fade-in($popover-border-color, .05) !default;\n\n\n// Badges\n\n$badge-font-size: 75% !default;\n$badge-font-weight: $font-weight-bold !default;\n$badge-padding-y: .25em !default;\n$badge-padding-x: .4em !default;\n$badge-border-radius: $border-radius !default;\n\n$badge-pill-padding-x: .6em !default;\n// Use a higher than normal value to ensure completely rounded edges when\n// customizing padding or font-size on labels.\n$badge-pill-border-radius: 10rem !default;\n\n\n// Modals\n\n// Padding applied to the modal body\n$modal-inner-padding: 1rem !default;\n\n$modal-dialog-margin: .5rem !default;\n$modal-dialog-margin-y-sm-up: 1.75rem !default;\n\n$modal-title-line-height: $line-height-base !default;\n\n$modal-content-bg: $white !default;\n$modal-content-border-color: rgba($black, .2) !default;\n$modal-content-border-width: $border-width !default;\n$modal-content-border-radius: $border-radius-lg !default;\n$modal-content-box-shadow-xs: 0 .25rem .5rem rgba($black, .5) !default;\n$modal-content-box-shadow-sm-up: 0 .5rem 1rem rgba($black, .5) !default;\n\n$modal-backdrop-bg: $black !default;\n$modal-backdrop-opacity: .5 !default;\n$modal-header-border-color: $gray-200 !default;\n$modal-footer-border-color: $modal-header-border-color !default;\n$modal-header-border-width: $modal-content-border-width !default;\n$modal-footer-border-width: $modal-header-border-width !default;\n$modal-header-padding: 1rem !default;\n\n$modal-lg: 800px !default;\n$modal-md: 500px !default;\n$modal-sm: 300px !default;\n\n$modal-transition: transform .3s ease-out !default;\n\n\n// Alerts\n//\n// Define alert colors, border radius, and padding.\n\n$alert-padding-y: .75rem !default;\n$alert-padding-x: 1.25rem !default;\n$alert-margin-bottom: 1rem !default;\n$alert-border-radius: $border-radius !default;\n$alert-link-font-weight: $font-weight-bold !default;\n$alert-border-width: $border-width !default;\n\n$alert-bg-level: -10 !default;\n$alert-border-level: -9 !default;\n$alert-color-level: 6 !default;\n\n\n// Progress bars\n\n$progress-height: 1rem !default;\n$progress-font-size: ($font-size-base * .75) !default;\n$progress-bg: $gray-200 !default;\n$progress-border-radius: $border-radius !default;\n$progress-box-shadow: inset 0 .1rem .1rem rgba($black, .1) !default;\n$progress-bar-color: $white !default;\n$progress-bar-bg: theme-color(\"primary\") !default;\n$progress-bar-animation-timing: 1s linear infinite !default;\n$progress-bar-transition: width .6s ease !default;\n\n// List group\n\n$list-group-bg: $white !default;\n$list-group-border-color: rgba($black, .125) !default;\n$list-group-border-width: $border-width !default;\n$list-group-border-radius: $border-radius !default;\n\n$list-group-item-padding-y: .75rem !default;\n$list-group-item-padding-x: 1.25rem !default;\n\n$list-group-hover-bg: $gray-100 !default;\n$list-group-active-color: $component-active-color !default;\n$list-group-active-bg: $component-active-bg !default;\n$list-group-active-border-color: $list-group-active-bg !default;\n\n$list-group-disabled-color: $gray-600 !default;\n$list-group-disabled-bg: $list-group-bg !default;\n\n$list-group-action-color: $gray-700 !default;\n$list-group-action-hover-color: $list-group-action-color !default;\n\n$list-group-action-active-color: $body-color !default;\n$list-group-action-active-bg: $gray-200 !default;\n\n\n// Image thumbnails\n\n$thumbnail-padding: .25rem !default;\n$thumbnail-bg: $body-bg !default;\n$thumbnail-border-width: $border-width !default;\n$thumbnail-border-color: $gray-300 !default;\n$thumbnail-border-radius: $border-radius !default;\n$thumbnail-box-shadow: 0 1px 2px rgba($black, .075) !default;\n\n\n// Figures\n\n$figure-caption-font-size: 90% !default;\n$figure-caption-color: $gray-600 !default;\n\n\n// Breadcrumbs\n\n$breadcrumb-padding-y: .75rem !default;\n$breadcrumb-padding-x: 1rem !default;\n$breadcrumb-item-padding: .5rem !default;\n\n$breadcrumb-margin-bottom: 1rem !default;\n\n$breadcrumb-bg: $gray-200 !default;\n$breadcrumb-divider-color: $gray-600 !default;\n$breadcrumb-active-color: $gray-600 !default;\n$breadcrumb-divider: quote(\"/\") !default;\n\n$breadcrumb-border-radius: $border-radius !default;\n\n\n// Carousel\n\n$carousel-control-color: $white !default;\n$carousel-control-width: 15% !default;\n$carousel-control-opacity: .5 !default;\n\n$carousel-indicator-width: 30px !default;\n$carousel-indicator-height: 3px !default;\n$carousel-indicator-spacer: 3px !default;\n$carousel-indicator-active-bg: $white !default;\n\n$carousel-caption-width: 70% !default;\n$carousel-caption-color: $white !default;\n\n$carousel-control-icon-width: 20px !default;\n\n$carousel-control-prev-icon-bg: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$carousel-control-next-icon-bg: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n\n$carousel-transition: transform .6s ease !default; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`)\n\n\n// Close\n\n$close-font-size: $font-size-base * 1.5 !default;\n$close-font-weight: $font-weight-bold !default;\n$close-color: $black !default;\n$close-text-shadow: 0 1px 0 $white !default;\n\n// Code\n\n$code-font-size: 87.5% !default;\n$code-color: $pink !default;\n\n$kbd-padding-y: .2rem !default;\n$kbd-padding-x: .4rem !default;\n$kbd-font-size: $code-font-size !default;\n$kbd-color: $white !default;\n$kbd-bg: $gray-900 !default;\n\n$pre-color: $gray-900 !default;\n$pre-scrollable-max-height: 340px !default;\n\n\n// Printing\n$print-page-size: a3 !default;\n$print-body-min-width: map-get($grid-breakpoints, \"lg\") !default;\n","/*!\n * Bootstrap Reboot v4.1.3 (https://getbootstrap.com/)\n * Copyright 2011-2018 The Bootstrap Authors\n * Copyright 2011-2018 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nhtml {\n font-family: sans-serif;\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n -ms-text-size-adjust: 100%;\n -ms-overflow-style: scrollbar;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\n@-ms-viewport {\n width: device-width;\n}\n\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: left;\n background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus {\n outline: 0 !important;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n text-decoration: underline dotted;\n cursor: help;\n border-bottom: 0;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\ndfn {\n font-style: italic;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #007bff;\n text-decoration: none;\n background-color: transparent;\n -webkit-text-decoration-skip: objects;\n}\n\na:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus {\n outline: 0;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n font-size: 1em;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n -ms-overflow-style: scrollbar;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n border-style: none;\n}\n\nsvg {\n overflow: hidden;\n vertical-align: middle;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #6c757d;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: inherit;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: 0.5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nbutton,\nhtml [type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n max-width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: none;\n}\n\n[type=\"search\"]::-webkit-search-cancel-button,\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none !important;\n}\n\n/*# sourceMappingURL=bootstrap-reboot.css.map */","// Hover mixin and `$enable-hover-media-query` are deprecated.\n//\n// Originally added during our alphas and maintained during betas, this mixin was\n// designed to prevent `:hover` stickiness on iOS-an issue where hover styles\n// would persist after initial touch.\n//\n// For backward compatibility, we've kept these mixins and updated them to\n// always return their regular pseudo-classes instead of a shimmed media query.\n//\n// Issue: https://github.com/twbs/bootstrap/issues/25195\n\n@mixin hover {\n &:hover { @content; }\n}\n\n@mixin hover-focus {\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin plain-hover-focus {\n &,\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin hover-focus-active {\n &:hover,\n &:focus,\n &:active {\n @content;\n }\n}\n"]} \ No newline at end of file diff --git a/docs/_static/link_gen/vendor/bootstrap-4.1.3/css/bootstrap-reboot.min.css b/docs/_static/link_gen/vendor/bootstrap-4.1.3/css/bootstrap-reboot.min.css deleted file mode 100644 index 402715d5..00000000 --- a/docs/_static/link_gen/vendor/bootstrap-4.1.3/css/bootstrap-reboot.min.css +++ /dev/null @@ -1,8 +0,0 @@ -/*! - * Bootstrap Reboot v4.1.3 (https://getbootstrap.com/) - * Copyright 2011-2018 The Bootstrap Authors - * Copyright 2011-2018 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) - */*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:transparent}@-ms-viewport{width:device-width}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus{outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent;-webkit-text-decoration-skip:objects}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([tabindex]){color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto;-ms-overflow-style:scrollbar}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important} -/*# sourceMappingURL=bootstrap-reboot.min.css.map */ \ No newline at end of file diff --git a/docs/_static/link_gen/vendor/bootstrap-4.1.3/css/bootstrap-reboot.min.css.map b/docs/_static/link_gen/vendor/bootstrap-4.1.3/css/bootstrap-reboot.min.css.map deleted file mode 100644 index 2d7932cd..00000000 --- a/docs/_static/link_gen/vendor/bootstrap-4.1.3/css/bootstrap-reboot.min.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../../scss/bootstrap-reboot.scss","../../scss/_reboot.scss","dist/css/bootstrap-reboot.css","bootstrap-reboot.css","../../scss/mixins/_hover.scss"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Bootstrap Reboot v4.1.3 (https://getbootstrap.com/)\n * Copyright 2011-2018 The Bootstrap Authors\n * Copyright 2011-2018 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"reboot\";\n","// stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// 1. Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n// 2. Change the default font family in all browsers.\n// 3. Correct the line height in all browsers.\n// 4. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.\n// 5. Setting @viewport causes scrollbars to overlap content in IE11 and Edge, so\n// we force a non-overlapping, non-auto-hiding scrollbar to counteract.\n// 6. Change the default tap highlight to be completely transparent in iOS.\n\n*,\n*::before,\n*::after {\n box-sizing: border-box; // 1\n}\n\nhtml {\n font-family: sans-serif; // 2\n line-height: 1.15; // 3\n -webkit-text-size-adjust: 100%; // 4\n -ms-text-size-adjust: 100%; // 4\n -ms-overflow-style: scrollbar; // 5\n -webkit-tap-highlight-color: rgba($black, 0); // 6\n}\n\n// IE10+ doesn't honor `` in some cases.\n@at-root {\n @-ms-viewport {\n width: device-width;\n }\n}\n\n// stylelint-disable selector-list-comma-newline-after\n// Shim for \"new\" HTML5 structural elements to display correctly (IE10, older browsers)\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n// stylelint-enable selector-list-comma-newline-after\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Set an explicit initial text-align value so that we can later use the\n// the `inherit` value on things like `` elements.\n\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n font-size: $font-size-base;\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n text-align: left; // 3\n background-color: $body-bg; // 2\n}\n\n// Suppress the focus outline on elements that cannot be accessed via keyboard.\n// This prevents an unwanted focus outline from appearing around elements that\n// might still respond to pointer events.\n//\n// Credit: https://github.com/suitcss/base\n[tabindex=\"-1\"]:focus {\n outline: 0 !important;\n}\n\n\n// Content grouping\n//\n// 1. Add the correct box sizing in Firefox.\n// 2. Show the overflow in Edge and IE.\n\nhr {\n box-sizing: content-box; // 1\n height: 0; // 1\n overflow: visible; // 2\n}\n\n\n//\n// Typography\n//\n\n// Remove top margins from headings\n//\n// By default, `

`-`

` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n// stylelint-disable selector-list-comma-newline-after\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: $headings-margin-bottom;\n}\n// stylelint-enable selector-list-comma-newline-after\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `

`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n// Abbreviations\n//\n// 1. Remove the bottom border in Firefox 39-.\n// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Duplicate behavior to the data-* attribute for our tooltip plugin\n\nabbr[title],\nabbr[data-original-title] { // 4\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n border-bottom: 0; // 1\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // Undo browser default\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\ndfn {\n font-style: italic; // Add the correct font style in Android 4.3-\n}\n\n// stylelint-disable font-weight-notation\nb,\nstrong {\n font-weight: bolder; // Add the correct font weight in Chrome, Edge, and Safari\n}\n// stylelint-enable font-weight-notation\n\nsmall {\n font-size: 80%; // Add the correct font size in all browsers\n}\n\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n//\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n//\n// Links\n//\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n background-color: transparent; // Remove the gray background on active links in IE 10.\n -webkit-text-decoration-skip: objects; // Remove gaps in links underline in iOS 8+ and Safari 8+.\n\n @include hover {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href)\n// which have not been made explicitly keyboard-focusable (without tabindex).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n\n @include hover-focus {\n color: inherit;\n text-decoration: none;\n }\n\n &:focus {\n outline: 0;\n }\n}\n\n\n//\n// Code\n//\n\npre,\ncode,\nkbd,\nsamp {\n font-family: $font-family-monospace;\n font-size: 1em; // Correct the odd `em` font sizing in all browsers.\n}\n\npre {\n // Remove browser default top margin\n margin-top: 0;\n // Reset browser default of `1em` to use `rem`s\n margin-bottom: 1rem;\n // Don't allow content to break outside\n overflow: auto;\n // We have @viewport set which causes scrollbars to overlap content in IE11 and Edge, so\n // we force a non-overlapping, non-auto-hiding scrollbar to counteract.\n -ms-overflow-style: scrollbar;\n}\n\n\n//\n// Figures\n//\n\nfigure {\n // Apply a consistent margin strategy (matches our type styles).\n margin: 0 0 1rem;\n}\n\n\n//\n// Images and content\n//\n\nimg {\n vertical-align: middle;\n border-style: none; // Remove the border on images inside links in IE 10-.\n}\n\nsvg {\n // Workaround for the SVG overflow bug in IE10/11 is still required.\n // See https://github.com/twbs/bootstrap/issues/26878\n overflow: hidden;\n vertical-align: middle;\n}\n\n\n//\n// Tables\n//\n\ntable {\n border-collapse: collapse; // Prevent double borders\n}\n\ncaption {\n padding-top: $table-cell-padding;\n padding-bottom: $table-cell-padding;\n color: $table-caption-color;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n // Matches default `` alignment by inheriting from the ``, or the\n // closest parent with a set `text-align`.\n text-align: inherit;\n}\n\n\n//\n// Forms\n//\n\nlabel {\n // Allow labels to use `margin` for spacing.\n display: inline-block;\n margin-bottom: $label-margin-bottom;\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24093\nbutton {\n border-radius: 0;\n}\n\n// Work around a Firefox/IE bug where the transparent `button` background\n// results in a loss of the default `button` focus styles.\n//\n// Credit: https://github.com/suitcss/base/\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0; // Remove the margin in Firefox and Safari\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible; // Show the overflow in Edge\n}\n\nbutton,\nselect {\n text-transform: none; // Remove the inheritance of text transform in Firefox\n}\n\n// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n// controls in Android 4.\n// 2. Correct the inability to style clickable types in iOS and Safari.\nbutton,\nhtml [type=\"button\"], // 1\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button; // 2\n}\n\n// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box; // 1. Add the correct box sizing in IE 10-\n padding: 0; // 2. Remove the padding in IE 10-\n}\n\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n // Remove the default appearance of temporal inputs to avoid a Mobile Safari\n // bug where setting a custom line-height prevents text from being vertically\n // centered within the input.\n // See https://bugs.webkit.org/show_bug.cgi?id=139848\n // and https://github.com/twbs/bootstrap/issues/11266\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto; // Remove the default vertical scrollbar in IE.\n // Textareas should really only resize vertically so they don't break their (horizontal) containers.\n resize: vertical;\n}\n\nfieldset {\n // Browsers set a default `min-width: min-content;` on fieldsets,\n // unlike e.g. `

`s, which have `min-width: 0;` by default.\n // So we reset that to ensure fieldsets behave more like a standard block element.\n // See https://github.com/twbs/bootstrap/issues/12359\n // and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n min-width: 0;\n // Reset the default outline behavior of fieldsets so they don't affect page layout.\n padding: 0;\n margin: 0;\n border: 0;\n}\n\n// 1. Correct the text wrapping in Edge and IE.\n// 2. Correct the color inheritance from `fieldset` elements in IE.\nlegend {\n display: block;\n width: 100%;\n max-width: 100%; // 1\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit; // 2\n white-space: normal; // 1\n}\n\nprogress {\n vertical-align: baseline; // Add the correct vertical alignment in Chrome, Firefox, and Opera.\n}\n\n// Correct the cursor style of increment and decrement buttons in Chrome.\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n // This overrides the extra rounded corners on search inputs in iOS so that our\n // `.form-control` class can properly style them. Note that this cannot simply\n // be added to `.form-control` as it's not specific enough. For details, see\n // https://github.com/twbs/bootstrap/issues/11586.\n outline-offset: -2px; // 2. Correct the outline style in Safari.\n -webkit-appearance: none;\n}\n\n//\n// Remove the inner padding and cancel buttons in Chrome and Safari on macOS.\n//\n\n[type=\"search\"]::-webkit-search-cancel-button,\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n//\n// 1. Correct the inability to style clickable types in iOS and Safari.\n// 2. Change font properties to `inherit` in Safari.\n//\n\n::-webkit-file-upload-button {\n font: inherit; // 2\n -webkit-appearance: button; // 1\n}\n\n//\n// Correct element displays\n//\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item; // Add the correct display in all browsers\n cursor: pointer;\n}\n\ntemplate {\n display: none; // Add the correct display in IE\n}\n\n// Always hide an element with the `hidden` HTML attribute (from PureCSS).\n// Needed for proper display in IE 10-.\n[hidden] {\n display: none !important;\n}\n","/*!\n * Bootstrap Reboot v4.1.3 (https://getbootstrap.com/)\n * Copyright 2011-2018 The Bootstrap Authors\n * Copyright 2011-2018 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nhtml {\n font-family: sans-serif;\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n -ms-text-size-adjust: 100%;\n -ms-overflow-style: scrollbar;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\n@-ms-viewport {\n width: device-width;\n}\n\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: left;\n background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus {\n outline: 0 !important;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n cursor: help;\n border-bottom: 0;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\ndfn {\n font-style: italic;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #007bff;\n text-decoration: none;\n background-color: transparent;\n -webkit-text-decoration-skip: objects;\n}\n\na:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus {\n outline: 0;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n font-size: 1em;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n -ms-overflow-style: scrollbar;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n border-style: none;\n}\n\nsvg {\n overflow: hidden;\n vertical-align: middle;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #6c757d;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: inherit;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: 0.5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nbutton,\nhtml [type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n max-width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: none;\n}\n\n[type=\"search\"]::-webkit-search-cancel-button,\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none !important;\n}\n/*# sourceMappingURL=bootstrap-reboot.css.map */","/*!\n * Bootstrap Reboot v4.1.3 (https://getbootstrap.com/)\n * Copyright 2011-2018 The Bootstrap Authors\n * Copyright 2011-2018 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nhtml {\n font-family: sans-serif;\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n -ms-text-size-adjust: 100%;\n -ms-overflow-style: scrollbar;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\n@-ms-viewport {\n width: device-width;\n}\n\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: left;\n background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus {\n outline: 0 !important;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n text-decoration: underline dotted;\n cursor: help;\n border-bottom: 0;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\ndfn {\n font-style: italic;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #007bff;\n text-decoration: none;\n background-color: transparent;\n -webkit-text-decoration-skip: objects;\n}\n\na:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus {\n outline: 0;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n font-size: 1em;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n -ms-overflow-style: scrollbar;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n border-style: none;\n}\n\nsvg {\n overflow: hidden;\n vertical-align: middle;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #6c757d;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: inherit;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: 0.5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nbutton,\nhtml [type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n max-width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: none;\n}\n\n[type=\"search\"]::-webkit-search-cancel-button,\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none !important;\n}\n\n/*# sourceMappingURL=bootstrap-reboot.css.map */","// Hover mixin and `$enable-hover-media-query` are deprecated.\n//\n// Originally added during our alphas and maintained during betas, this mixin was\n// designed to prevent `:hover` stickiness on iOS-an issue where hover styles\n// would persist after initial touch.\n//\n// For backward compatibility, we've kept these mixins and updated them to\n// always return their regular pseudo-classes instead of a shimmed media query.\n//\n// Issue: https://github.com/twbs/bootstrap/issues/25195\n\n@mixin hover {\n &:hover { @content; }\n}\n\n@mixin hover-focus {\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin plain-hover-focus {\n &,\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin hover-focus-active {\n &:hover,\n &:focus,\n &:active {\n @content;\n }\n}\n"]} \ No newline at end of file diff --git a/docs/_static/link_gen/vendor/bootstrap-4.1.3/css/bootstrap.css b/docs/_static/link_gen/vendor/bootstrap-4.1.3/css/bootstrap.css deleted file mode 100644 index 943532db..00000000 --- a/docs/_static/link_gen/vendor/bootstrap-4.1.3/css/bootstrap.css +++ /dev/null @@ -1,9030 +0,0 @@ -/*! - * Bootstrap v4.1.3 (https://getbootstrap.com/) - * Copyright 2011-2018 The Bootstrap Authors - * Copyright 2011-2018 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - */ -:root { - --blue: #007bff; - --indigo: #6610f2; - --purple: #6f42c1; - --pink: #e83e8c; - --red: #dc3545; - --orange: #fd7e14; - --yellow: #ffc107; - --green: #28a745; - --teal: #20c997; - --cyan: #17a2b8; - --white: #fff; - --gray: #6c757d; - --gray-dark: #343a40; - --primary: #007bff; - --secondary: #6c757d; - --success: #28a745; - --info: #17a2b8; - --warning: #ffc107; - --danger: #dc3545; - --light: #f8f9fa; - --dark: #343a40; - --breakpoint-xs: 0; - --breakpoint-sm: 576px; - --breakpoint-md: 768px; - --breakpoint-lg: 992px; - --breakpoint-xl: 1200px; - --font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; - --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; -} - -*, -*::before, -*::after { - box-sizing: border-box; -} - -html { - font-family: sans-serif; - line-height: 1.15; - -webkit-text-size-adjust: 100%; - -ms-text-size-adjust: 100%; - -ms-overflow-style: scrollbar; - -webkit-tap-highlight-color: rgba(0, 0, 0, 0); -} - -@-ms-viewport { - width: device-width; -} - -article, aside, figcaption, figure, footer, header, hgroup, main, nav, section { - display: block; -} - -body { - margin: 0; - font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; - font-size: 1rem; - font-weight: 400; - line-height: 1.5; - color: #212529; - text-align: left; - background-color: #fff; -} - -[tabindex="-1"]:focus { - outline: 0 !important; -} - -hr { - box-sizing: content-box; - height: 0; - overflow: visible; -} - -h1, h2, h3, h4, h5, h6 { - margin-top: 0; - margin-bottom: 0.5rem; -} - -p { - margin-top: 0; - margin-bottom: 1rem; -} - -abbr[title], -abbr[data-original-title] { - text-decoration: underline; - -webkit-text-decoration: underline dotted; - text-decoration: underline dotted; - cursor: help; - border-bottom: 0; -} - -address { - margin-bottom: 1rem; - font-style: normal; - line-height: inherit; -} - -ol, -ul, -dl { - margin-top: 0; - margin-bottom: 1rem; -} - -ol ol, -ul ul, -ol ul, -ul ol { - margin-bottom: 0; -} - -dt { - font-weight: 700; -} - -dd { - margin-bottom: .5rem; - margin-left: 0; -} - -blockquote { - margin: 0 0 1rem; -} - -dfn { - font-style: italic; -} - -b, -strong { - font-weight: bolder; -} - -small { - font-size: 80%; -} - -sub, -sup { - position: relative; - font-size: 75%; - line-height: 0; - vertical-align: baseline; -} - -sub { - bottom: -.25em; -} - -sup { - top: -.5em; -} - -a { - color: #007bff; - text-decoration: none; - background-color: transparent; - -webkit-text-decoration-skip: objects; -} - -a:hover { - color: #0056b3; - text-decoration: underline; -} - -a:not([href]):not([tabindex]) { - color: inherit; - text-decoration: none; -} - -a:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus { - color: inherit; - text-decoration: none; -} - -a:not([href]):not([tabindex]):focus { - outline: 0; -} - -pre, -code, -kbd, -samp { - font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; - font-size: 1em; -} - -pre { - margin-top: 0; - margin-bottom: 1rem; - overflow: auto; - -ms-overflow-style: scrollbar; -} - -figure { - margin: 0 0 1rem; -} - -img { - vertical-align: middle; - border-style: none; -} - -svg { - overflow: hidden; - vertical-align: middle; -} - -table { - border-collapse: collapse; -} - -caption { - padding-top: 0.75rem; - padding-bottom: 0.75rem; - color: #6c757d; - text-align: left; - caption-side: bottom; -} - -th { - text-align: inherit; -} - -label { - display: inline-block; - margin-bottom: 0.5rem; -} - -button { - border-radius: 0; -} - -button:focus { - outline: 1px dotted; - outline: 5px auto -webkit-focus-ring-color; -} - -input, -button, -select, -optgroup, -textarea { - margin: 0; - font-family: inherit; - font-size: inherit; - line-height: inherit; -} - -button, -input { - overflow: visible; -} - -button, -select { - text-transform: none; -} - -button, -html [type="button"], -[type="reset"], -[type="submit"] { - -webkit-appearance: button; -} - -button::-moz-focus-inner, -[type="button"]::-moz-focus-inner, -[type="reset"]::-moz-focus-inner, -[type="submit"]::-moz-focus-inner { - padding: 0; - border-style: none; -} - -input[type="radio"], -input[type="checkbox"] { - box-sizing: border-box; - padding: 0; -} - -input[type="date"], -input[type="time"], -input[type="datetime-local"], -input[type="month"] { - -webkit-appearance: listbox; -} - -textarea { - overflow: auto; - resize: vertical; -} - -fieldset { - min-width: 0; - padding: 0; - margin: 0; - border: 0; -} - -legend { - display: block; - width: 100%; - max-width: 100%; - padding: 0; - margin-bottom: .5rem; - font-size: 1.5rem; - line-height: inherit; - color: inherit; - white-space: normal; -} - -progress { - vertical-align: baseline; -} - -[type="number"]::-webkit-inner-spin-button, -[type="number"]::-webkit-outer-spin-button { - height: auto; -} - -[type="search"] { - outline-offset: -2px; - -webkit-appearance: none; -} - -[type="search"]::-webkit-search-cancel-button, -[type="search"]::-webkit-search-decoration { - -webkit-appearance: none; -} - -::-webkit-file-upload-button { - font: inherit; - -webkit-appearance: button; -} - -output { - display: inline-block; -} - -summary { - display: list-item; - cursor: pointer; -} - -template { - display: none; -} - -[hidden] { - display: none !important; -} - -h1, h2, h3, h4, h5, h6, -.h1, .h2, .h3, .h4, .h5, .h6 { - margin-bottom: 0.5rem; - font-family: inherit; - font-weight: 500; - line-height: 1.2; - color: inherit; -} - -h1, .h1 { - font-size: 2.5rem; -} - -h2, .h2 { - font-size: 2rem; -} - -h3, .h3 { - font-size: 1.75rem; -} - -h4, .h4 { - font-size: 1.5rem; -} - -h5, .h5 { - font-size: 1.25rem; -} - -h6, .h6 { - font-size: 1rem; -} - -.lead { - font-size: 1.25rem; - font-weight: 300; -} - -.display-1 { - font-size: 6rem; - font-weight: 300; - line-height: 1.2; -} - -.display-2 { - font-size: 5.5rem; - font-weight: 300; - line-height: 1.2; -} - -.display-3 { - font-size: 4.5rem; - font-weight: 300; - line-height: 1.2; -} - -.display-4 { - font-size: 3.5rem; - font-weight: 300; - line-height: 1.2; -} - -hr { - margin-top: 1rem; - margin-bottom: 1rem; - border: 0; - border-top: 1px solid rgba(0, 0, 0, 0.1); -} - -small, -.small { - font-size: 80%; - font-weight: 400; -} - -mark, -.mark { - padding: 0.2em; - background-color: #fcf8e3; -} - -.list-unstyled { - padding-left: 0; - list-style: none; -} - -.list-inline { - padding-left: 0; - list-style: none; -} - -.list-inline-item { - display: inline-block; -} - -.list-inline-item:not(:last-child) { - margin-right: 0.5rem; -} - -.initialism { - font-size: 90%; - text-transform: uppercase; -} - -.blockquote { - margin-bottom: 1rem; - font-size: 1.25rem; -} - -.blockquote-footer { - display: block; - font-size: 80%; - color: #6c757d; -} - -.blockquote-footer::before { - content: "\2014 \00A0"; -} - -.img-fluid { - max-width: 100%; - height: auto; -} - -.img-thumbnail { - padding: 0.25rem; - background-color: #fff; - border: 1px solid #dee2e6; - border-radius: 0.25rem; - max-width: 100%; - height: auto; -} - -.figure { - display: inline-block; -} - -.figure-img { - margin-bottom: 0.5rem; - line-height: 1; -} - -.figure-caption { - font-size: 90%; - color: #6c757d; -} - -code { - font-size: 87.5%; - color: #e83e8c; - word-break: break-word; -} - -a > code { - color: inherit; -} - -kbd { - padding: 0.2rem 0.4rem; - font-size: 87.5%; - color: #fff; - background-color: #212529; - border-radius: 0.2rem; -} - -kbd kbd { - padding: 0; - font-size: 100%; - font-weight: 700; -} - -pre { - display: block; - font-size: 87.5%; - color: #212529; -} - -pre code { - font-size: inherit; - color: inherit; - word-break: normal; -} - -.pre-scrollable { - max-height: 340px; - overflow-y: scroll; -} - -.container { - width: 100%; - padding-right: 15px; - padding-left: 15px; - margin-right: auto; - margin-left: auto; -} - -@media (min-width: 576px) { - .container { - max-width: 540px; - } -} - -@media (min-width: 768px) { - .container { - max-width: 720px; - } -} - -@media (min-width: 992px) { - .container { - max-width: 960px; - } -} - -@media (min-width: 1200px) { - .container { - max-width: 1140px; - } -} - -.container-fluid { - width: 100%; - padding-right: 15px; - padding-left: 15px; - margin-right: auto; - margin-left: auto; -} - -.row { - display: -ms-flexbox; - display: flex; - -ms-flex-wrap: wrap; - flex-wrap: wrap; - margin-right: -15px; - margin-left: -15px; -} - -.no-gutters { - margin-right: 0; - margin-left: 0; -} - -.no-gutters > .col, -.no-gutters > [class*="col-"] { - padding-right: 0; - padding-left: 0; -} - -.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, -.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm, -.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md, -.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg, -.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl, -.col-xl-auto { - position: relative; - width: 100%; - min-height: 1px; - padding-right: 15px; - padding-left: 15px; -} - -.col { - -ms-flex-preferred-size: 0; - flex-basis: 0; - -ms-flex-positive: 1; - flex-grow: 1; - max-width: 100%; -} - -.col-auto { - -ms-flex: 0 0 auto; - flex: 0 0 auto; - width: auto; - max-width: none; -} - -.col-1 { - -ms-flex: 0 0 8.333333%; - flex: 0 0 8.333333%; - max-width: 8.333333%; -} - -.col-2 { - -ms-flex: 0 0 16.666667%; - flex: 0 0 16.666667%; - max-width: 16.666667%; -} - -.col-3 { - -ms-flex: 0 0 25%; - flex: 0 0 25%; - max-width: 25%; -} - -.col-4 { - -ms-flex: 0 0 33.333333%; - flex: 0 0 33.333333%; - max-width: 33.333333%; -} - -.col-5 { - -ms-flex: 0 0 41.666667%; - flex: 0 0 41.666667%; - max-width: 41.666667%; -} - -.col-6 { - -ms-flex: 0 0 50%; - flex: 0 0 50%; - max-width: 50%; -} - -.col-7 { - -ms-flex: 0 0 58.333333%; - flex: 0 0 58.333333%; - max-width: 58.333333%; -} - -.col-8 { - -ms-flex: 0 0 66.666667%; - flex: 0 0 66.666667%; - max-width: 66.666667%; -} - -.col-9 { - -ms-flex: 0 0 75%; - flex: 0 0 75%; - max-width: 75%; -} - -.col-10 { - -ms-flex: 0 0 83.333333%; - flex: 0 0 83.333333%; - max-width: 83.333333%; -} - -.col-11 { - -ms-flex: 0 0 91.666667%; - flex: 0 0 91.666667%; - max-width: 91.666667%; -} - -.col-12 { - -ms-flex: 0 0 100%; - flex: 0 0 100%; - max-width: 100%; -} - -.order-first { - -ms-flex-order: -1; - order: -1; -} - -.order-last { - -ms-flex-order: 13; - order: 13; -} - -.order-0 { - -ms-flex-order: 0; - order: 0; -} - -.order-1 { - -ms-flex-order: 1; - order: 1; -} - -.order-2 { - -ms-flex-order: 2; - order: 2; -} - -.order-3 { - -ms-flex-order: 3; - order: 3; -} - -.order-4 { - -ms-flex-order: 4; - order: 4; -} - -.order-5 { - -ms-flex-order: 5; - order: 5; -} - -.order-6 { - -ms-flex-order: 6; - order: 6; -} - -.order-7 { - -ms-flex-order: 7; - order: 7; -} - -.order-8 { - -ms-flex-order: 8; - order: 8; -} - -.order-9 { - -ms-flex-order: 9; - order: 9; -} - -.order-10 { - -ms-flex-order: 10; - order: 10; -} - -.order-11 { - -ms-flex-order: 11; - order: 11; -} - -.order-12 { - -ms-flex-order: 12; - order: 12; -} - -.offset-1 { - margin-left: 8.333333%; -} - -.offset-2 { - margin-left: 16.666667%; -} - -.offset-3 { - margin-left: 25%; -} - -.offset-4 { - margin-left: 33.333333%; -} - -.offset-5 { - margin-left: 41.666667%; -} - -.offset-6 { - margin-left: 50%; -} - -.offset-7 { - margin-left: 58.333333%; -} - -.offset-8 { - margin-left: 66.666667%; -} - -.offset-9 { - margin-left: 75%; -} - -.offset-10 { - margin-left: 83.333333%; -} - -.offset-11 { - margin-left: 91.666667%; -} - -@media (min-width: 576px) { - .col-sm { - -ms-flex-preferred-size: 0; - flex-basis: 0; - -ms-flex-positive: 1; - flex-grow: 1; - max-width: 100%; - } - .col-sm-auto { - -ms-flex: 0 0 auto; - flex: 0 0 auto; - width: auto; - max-width: none; - } - .col-sm-1 { - -ms-flex: 0 0 8.333333%; - flex: 0 0 8.333333%; - max-width: 8.333333%; - } - .col-sm-2 { - -ms-flex: 0 0 16.666667%; - flex: 0 0 16.666667%; - max-width: 16.666667%; - } - .col-sm-3 { - -ms-flex: 0 0 25%; - flex: 0 0 25%; - max-width: 25%; - } - .col-sm-4 { - -ms-flex: 0 0 33.333333%; - flex: 0 0 33.333333%; - max-width: 33.333333%; - } - .col-sm-5 { - -ms-flex: 0 0 41.666667%; - flex: 0 0 41.666667%; - max-width: 41.666667%; - } - .col-sm-6 { - -ms-flex: 0 0 50%; - flex: 0 0 50%; - max-width: 50%; - } - .col-sm-7 { - -ms-flex: 0 0 58.333333%; - flex: 0 0 58.333333%; - max-width: 58.333333%; - } - .col-sm-8 { - -ms-flex: 0 0 66.666667%; - flex: 0 0 66.666667%; - max-width: 66.666667%; - } - .col-sm-9 { - -ms-flex: 0 0 75%; - flex: 0 0 75%; - max-width: 75%; - } - .col-sm-10 { - -ms-flex: 0 0 83.333333%; - flex: 0 0 83.333333%; - max-width: 83.333333%; - } - .col-sm-11 { - -ms-flex: 0 0 91.666667%; - flex: 0 0 91.666667%; - max-width: 91.666667%; - } - .col-sm-12 { - -ms-flex: 0 0 100%; - flex: 0 0 100%; - max-width: 100%; - } - .order-sm-first { - -ms-flex-order: -1; - order: -1; - } - .order-sm-last { - -ms-flex-order: 13; - order: 13; - } - .order-sm-0 { - -ms-flex-order: 0; - order: 0; - } - .order-sm-1 { - -ms-flex-order: 1; - order: 1; - } - .order-sm-2 { - -ms-flex-order: 2; - order: 2; - } - .order-sm-3 { - -ms-flex-order: 3; - order: 3; - } - .order-sm-4 { - -ms-flex-order: 4; - order: 4; - } - .order-sm-5 { - -ms-flex-order: 5; - order: 5; - } - .order-sm-6 { - -ms-flex-order: 6; - order: 6; - } - .order-sm-7 { - -ms-flex-order: 7; - order: 7; - } - .order-sm-8 { - -ms-flex-order: 8; - order: 8; - } - .order-sm-9 { - -ms-flex-order: 9; - order: 9; - } - .order-sm-10 { - -ms-flex-order: 10; - order: 10; - } - .order-sm-11 { - -ms-flex-order: 11; - order: 11; - } - .order-sm-12 { - -ms-flex-order: 12; - order: 12; - } - .offset-sm-0 { - margin-left: 0; - } - .offset-sm-1 { - margin-left: 8.333333%; - } - .offset-sm-2 { - margin-left: 16.666667%; - } - .offset-sm-3 { - margin-left: 25%; - } - .offset-sm-4 { - margin-left: 33.333333%; - } - .offset-sm-5 { - margin-left: 41.666667%; - } - .offset-sm-6 { - margin-left: 50%; - } - .offset-sm-7 { - margin-left: 58.333333%; - } - .offset-sm-8 { - margin-left: 66.666667%; - } - .offset-sm-9 { - margin-left: 75%; - } - .offset-sm-10 { - margin-left: 83.333333%; - } - .offset-sm-11 { - margin-left: 91.666667%; - } -} - -@media (min-width: 768px) { - .col-md { - -ms-flex-preferred-size: 0; - flex-basis: 0; - -ms-flex-positive: 1; - flex-grow: 1; - max-width: 100%; - } - .col-md-auto { - -ms-flex: 0 0 auto; - flex: 0 0 auto; - width: auto; - max-width: none; - } - .col-md-1 { - -ms-flex: 0 0 8.333333%; - flex: 0 0 8.333333%; - max-width: 8.333333%; - } - .col-md-2 { - -ms-flex: 0 0 16.666667%; - flex: 0 0 16.666667%; - max-width: 16.666667%; - } - .col-md-3 { - -ms-flex: 0 0 25%; - flex: 0 0 25%; - max-width: 25%; - } - .col-md-4 { - -ms-flex: 0 0 33.333333%; - flex: 0 0 33.333333%; - max-width: 33.333333%; - } - .col-md-5 { - -ms-flex: 0 0 41.666667%; - flex: 0 0 41.666667%; - max-width: 41.666667%; - } - .col-md-6 { - -ms-flex: 0 0 50%; - flex: 0 0 50%; - max-width: 50%; - } - .col-md-7 { - -ms-flex: 0 0 58.333333%; - flex: 0 0 58.333333%; - max-width: 58.333333%; - } - .col-md-8 { - -ms-flex: 0 0 66.666667%; - flex: 0 0 66.666667%; - max-width: 66.666667%; - } - .col-md-9 { - -ms-flex: 0 0 75%; - flex: 0 0 75%; - max-width: 75%; - } - .col-md-10 { - -ms-flex: 0 0 83.333333%; - flex: 0 0 83.333333%; - max-width: 83.333333%; - } - .col-md-11 { - -ms-flex: 0 0 91.666667%; - flex: 0 0 91.666667%; - max-width: 91.666667%; - } - .col-md-12 { - -ms-flex: 0 0 100%; - flex: 0 0 100%; - max-width: 100%; - } - .order-md-first { - -ms-flex-order: -1; - order: -1; - } - .order-md-last { - -ms-flex-order: 13; - order: 13; - } - .order-md-0 { - -ms-flex-order: 0; - order: 0; - } - .order-md-1 { - -ms-flex-order: 1; - order: 1; - } - .order-md-2 { - -ms-flex-order: 2; - order: 2; - } - .order-md-3 { - -ms-flex-order: 3; - order: 3; - } - .order-md-4 { - -ms-flex-order: 4; - order: 4; - } - .order-md-5 { - -ms-flex-order: 5; - order: 5; - } - .order-md-6 { - -ms-flex-order: 6; - order: 6; - } - .order-md-7 { - -ms-flex-order: 7; - order: 7; - } - .order-md-8 { - -ms-flex-order: 8; - order: 8; - } - .order-md-9 { - -ms-flex-order: 9; - order: 9; - } - .order-md-10 { - -ms-flex-order: 10; - order: 10; - } - .order-md-11 { - -ms-flex-order: 11; - order: 11; - } - .order-md-12 { - -ms-flex-order: 12; - order: 12; - } - .offset-md-0 { - margin-left: 0; - } - .offset-md-1 { - margin-left: 8.333333%; - } - .offset-md-2 { - margin-left: 16.666667%; - } - .offset-md-3 { - margin-left: 25%; - } - .offset-md-4 { - margin-left: 33.333333%; - } - .offset-md-5 { - margin-left: 41.666667%; - } - .offset-md-6 { - margin-left: 50%; - } - .offset-md-7 { - margin-left: 58.333333%; - } - .offset-md-8 { - margin-left: 66.666667%; - } - .offset-md-9 { - margin-left: 75%; - } - .offset-md-10 { - margin-left: 83.333333%; - } - .offset-md-11 { - margin-left: 91.666667%; - } -} - -@media (min-width: 992px) { - .col-lg { - -ms-flex-preferred-size: 0; - flex-basis: 0; - -ms-flex-positive: 1; - flex-grow: 1; - max-width: 100%; - } - .col-lg-auto { - -ms-flex: 0 0 auto; - flex: 0 0 auto; - width: auto; - max-width: none; - } - .col-lg-1 { - -ms-flex: 0 0 8.333333%; - flex: 0 0 8.333333%; - max-width: 8.333333%; - } - .col-lg-2 { - -ms-flex: 0 0 16.666667%; - flex: 0 0 16.666667%; - max-width: 16.666667%; - } - .col-lg-3 { - -ms-flex: 0 0 25%; - flex: 0 0 25%; - max-width: 25%; - } - .col-lg-4 { - -ms-flex: 0 0 33.333333%; - flex: 0 0 33.333333%; - max-width: 33.333333%; - } - .col-lg-5 { - -ms-flex: 0 0 41.666667%; - flex: 0 0 41.666667%; - max-width: 41.666667%; - } - .col-lg-6 { - -ms-flex: 0 0 50%; - flex: 0 0 50%; - max-width: 50%; - } - .col-lg-7 { - -ms-flex: 0 0 58.333333%; - flex: 0 0 58.333333%; - max-width: 58.333333%; - } - .col-lg-8 { - -ms-flex: 0 0 66.666667%; - flex: 0 0 66.666667%; - max-width: 66.666667%; - } - .col-lg-9 { - -ms-flex: 0 0 75%; - flex: 0 0 75%; - max-width: 75%; - } - .col-lg-10 { - -ms-flex: 0 0 83.333333%; - flex: 0 0 83.333333%; - max-width: 83.333333%; - } - .col-lg-11 { - -ms-flex: 0 0 91.666667%; - flex: 0 0 91.666667%; - max-width: 91.666667%; - } - .col-lg-12 { - -ms-flex: 0 0 100%; - flex: 0 0 100%; - max-width: 100%; - } - .order-lg-first { - -ms-flex-order: -1; - order: -1; - } - .order-lg-last { - -ms-flex-order: 13; - order: 13; - } - .order-lg-0 { - -ms-flex-order: 0; - order: 0; - } - .order-lg-1 { - -ms-flex-order: 1; - order: 1; - } - .order-lg-2 { - -ms-flex-order: 2; - order: 2; - } - .order-lg-3 { - -ms-flex-order: 3; - order: 3; - } - .order-lg-4 { - -ms-flex-order: 4; - order: 4; - } - .order-lg-5 { - -ms-flex-order: 5; - order: 5; - } - .order-lg-6 { - -ms-flex-order: 6; - order: 6; - } - .order-lg-7 { - -ms-flex-order: 7; - order: 7; - } - .order-lg-8 { - -ms-flex-order: 8; - order: 8; - } - .order-lg-9 { - -ms-flex-order: 9; - order: 9; - } - .order-lg-10 { - -ms-flex-order: 10; - order: 10; - } - .order-lg-11 { - -ms-flex-order: 11; - order: 11; - } - .order-lg-12 { - -ms-flex-order: 12; - order: 12; - } - .offset-lg-0 { - margin-left: 0; - } - .offset-lg-1 { - margin-left: 8.333333%; - } - .offset-lg-2 { - margin-left: 16.666667%; - } - .offset-lg-3 { - margin-left: 25%; - } - .offset-lg-4 { - margin-left: 33.333333%; - } - .offset-lg-5 { - margin-left: 41.666667%; - } - .offset-lg-6 { - margin-left: 50%; - } - .offset-lg-7 { - margin-left: 58.333333%; - } - .offset-lg-8 { - margin-left: 66.666667%; - } - .offset-lg-9 { - margin-left: 75%; - } - .offset-lg-10 { - margin-left: 83.333333%; - } - .offset-lg-11 { - margin-left: 91.666667%; - } -} - -@media (min-width: 1200px) { - .col-xl { - -ms-flex-preferred-size: 0; - flex-basis: 0; - -ms-flex-positive: 1; - flex-grow: 1; - max-width: 100%; - } - .col-xl-auto { - -ms-flex: 0 0 auto; - flex: 0 0 auto; - width: auto; - max-width: none; - } - .col-xl-1 { - -ms-flex: 0 0 8.333333%; - flex: 0 0 8.333333%; - max-width: 8.333333%; - } - .col-xl-2 { - -ms-flex: 0 0 16.666667%; - flex: 0 0 16.666667%; - max-width: 16.666667%; - } - .col-xl-3 { - -ms-flex: 0 0 25%; - flex: 0 0 25%; - max-width: 25%; - } - .col-xl-4 { - -ms-flex: 0 0 33.333333%; - flex: 0 0 33.333333%; - max-width: 33.333333%; - } - .col-xl-5 { - -ms-flex: 0 0 41.666667%; - flex: 0 0 41.666667%; - max-width: 41.666667%; - } - .col-xl-6 { - -ms-flex: 0 0 50%; - flex: 0 0 50%; - max-width: 50%; - } - .col-xl-7 { - -ms-flex: 0 0 58.333333%; - flex: 0 0 58.333333%; - max-width: 58.333333%; - } - .col-xl-8 { - -ms-flex: 0 0 66.666667%; - flex: 0 0 66.666667%; - max-width: 66.666667%; - } - .col-xl-9 { - -ms-flex: 0 0 75%; - flex: 0 0 75%; - max-width: 75%; - } - .col-xl-10 { - -ms-flex: 0 0 83.333333%; - flex: 0 0 83.333333%; - max-width: 83.333333%; - } - .col-xl-11 { - -ms-flex: 0 0 91.666667%; - flex: 0 0 91.666667%; - max-width: 91.666667%; - } - .col-xl-12 { - -ms-flex: 0 0 100%; - flex: 0 0 100%; - max-width: 100%; - } - .order-xl-first { - -ms-flex-order: -1; - order: -1; - } - .order-xl-last { - -ms-flex-order: 13; - order: 13; - } - .order-xl-0 { - -ms-flex-order: 0; - order: 0; - } - .order-xl-1 { - -ms-flex-order: 1; - order: 1; - } - .order-xl-2 { - -ms-flex-order: 2; - order: 2; - } - .order-xl-3 { - -ms-flex-order: 3; - order: 3; - } - .order-xl-4 { - -ms-flex-order: 4; - order: 4; - } - .order-xl-5 { - -ms-flex-order: 5; - order: 5; - } - .order-xl-6 { - -ms-flex-order: 6; - order: 6; - } - .order-xl-7 { - -ms-flex-order: 7; - order: 7; - } - .order-xl-8 { - -ms-flex-order: 8; - order: 8; - } - .order-xl-9 { - -ms-flex-order: 9; - order: 9; - } - .order-xl-10 { - -ms-flex-order: 10; - order: 10; - } - .order-xl-11 { - -ms-flex-order: 11; - order: 11; - } - .order-xl-12 { - -ms-flex-order: 12; - order: 12; - } - .offset-xl-0 { - margin-left: 0; - } - .offset-xl-1 { - margin-left: 8.333333%; - } - .offset-xl-2 { - margin-left: 16.666667%; - } - .offset-xl-3 { - margin-left: 25%; - } - .offset-xl-4 { - margin-left: 33.333333%; - } - .offset-xl-5 { - margin-left: 41.666667%; - } - .offset-xl-6 { - margin-left: 50%; - } - .offset-xl-7 { - margin-left: 58.333333%; - } - .offset-xl-8 { - margin-left: 66.666667%; - } - .offset-xl-9 { - margin-left: 75%; - } - .offset-xl-10 { - margin-left: 83.333333%; - } - .offset-xl-11 { - margin-left: 91.666667%; - } -} - -.table { - width: 100%; - margin-bottom: 1rem; - background-color: transparent; -} - -.table th, -.table td { - padding: 0.75rem; - vertical-align: top; - border-top: 1px solid #dee2e6; -} - -.table thead th { - vertical-align: bottom; - border-bottom: 2px solid #dee2e6; -} - -.table tbody + tbody { - border-top: 2px solid #dee2e6; -} - -.table .table { - background-color: #fff; -} - -.table-sm th, -.table-sm td { - padding: 0.3rem; -} - -.table-bordered { - border: 1px solid #dee2e6; -} - -.table-bordered th, -.table-bordered td { - border: 1px solid #dee2e6; -} - -.table-bordered thead th, -.table-bordered thead td { - border-bottom-width: 2px; -} - -.table-borderless th, -.table-borderless td, -.table-borderless thead th, -.table-borderless tbody + tbody { - border: 0; -} - -.table-striped tbody tr:nth-of-type(odd) { - background-color: rgba(0, 0, 0, 0.05); -} - -.table-hover tbody tr:hover { - background-color: rgba(0, 0, 0, 0.075); -} - -.table-primary, -.table-primary > th, -.table-primary > td { - background-color: #b8daff; -} - -.table-hover .table-primary:hover { - background-color: #9fcdff; -} - -.table-hover .table-primary:hover > td, -.table-hover .table-primary:hover > th { - background-color: #9fcdff; -} - -.table-secondary, -.table-secondary > th, -.table-secondary > td { - background-color: #d6d8db; -} - -.table-hover .table-secondary:hover { - background-color: #c8cbcf; -} - -.table-hover .table-secondary:hover > td, -.table-hover .table-secondary:hover > th { - background-color: #c8cbcf; -} - -.table-success, -.table-success > th, -.table-success > td { - background-color: #c3e6cb; -} - -.table-hover .table-success:hover { - background-color: #b1dfbb; -} - -.table-hover .table-success:hover > td, -.table-hover .table-success:hover > th { - background-color: #b1dfbb; -} - -.table-info, -.table-info > th, -.table-info > td { - background-color: #bee5eb; -} - -.table-hover .table-info:hover { - background-color: #abdde5; -} - -.table-hover .table-info:hover > td, -.table-hover .table-info:hover > th { - background-color: #abdde5; -} - -.table-warning, -.table-warning > th, -.table-warning > td { - background-color: #ffeeba; -} - -.table-hover .table-warning:hover { - background-color: #ffe8a1; -} - -.table-hover .table-warning:hover > td, -.table-hover .table-warning:hover > th { - background-color: #ffe8a1; -} - -.table-danger, -.table-danger > th, -.table-danger > td { - background-color: #f5c6cb; -} - -.table-hover .table-danger:hover { - background-color: #f1b0b7; -} - -.table-hover .table-danger:hover > td, -.table-hover .table-danger:hover > th { - background-color: #f1b0b7; -} - -.table-light, -.table-light > th, -.table-light > td { - background-color: #fdfdfe; -} - -.table-hover .table-light:hover { - background-color: #ececf6; -} - -.table-hover .table-light:hover > td, -.table-hover .table-light:hover > th { - background-color: #ececf6; -} - -.table-dark, -.table-dark > th, -.table-dark > td { - background-color: #c6c8ca; -} - -.table-hover .table-dark:hover { - background-color: #b9bbbe; -} - -.table-hover .table-dark:hover > td, -.table-hover .table-dark:hover > th { - background-color: #b9bbbe; -} - -.table-active, -.table-active > th, -.table-active > td { - background-color: rgba(0, 0, 0, 0.075); -} - -.table-hover .table-active:hover { - background-color: rgba(0, 0, 0, 0.075); -} - -.table-hover .table-active:hover > td, -.table-hover .table-active:hover > th { - background-color: rgba(0, 0, 0, 0.075); -} - -.table .thead-dark th { - color: #fff; - background-color: #212529; - border-color: #32383e; -} - -.table .thead-light th { - color: #495057; - background-color: #e9ecef; - border-color: #dee2e6; -} - -.table-dark { - color: #fff; - background-color: #212529; -} - -.table-dark th, -.table-dark td, -.table-dark thead th { - border-color: #32383e; -} - -.table-dark.table-bordered { - border: 0; -} - -.table-dark.table-striped tbody tr:nth-of-type(odd) { - background-color: rgba(255, 255, 255, 0.05); -} - -.table-dark.table-hover tbody tr:hover { - background-color: rgba(255, 255, 255, 0.075); -} - -@media (max-width: 575.98px) { - .table-responsive-sm { - display: block; - width: 100%; - overflow-x: auto; - -webkit-overflow-scrolling: touch; - -ms-overflow-style: -ms-autohiding-scrollbar; - } - .table-responsive-sm > .table-bordered { - border: 0; - } -} - -@media (max-width: 767.98px) { - .table-responsive-md { - display: block; - width: 100%; - overflow-x: auto; - -webkit-overflow-scrolling: touch; - -ms-overflow-style: -ms-autohiding-scrollbar; - } - .table-responsive-md > .table-bordered { - border: 0; - } -} - -@media (max-width: 991.98px) { - .table-responsive-lg { - display: block; - width: 100%; - overflow-x: auto; - -webkit-overflow-scrolling: touch; - -ms-overflow-style: -ms-autohiding-scrollbar; - } - .table-responsive-lg > .table-bordered { - border: 0; - } -} - -@media (max-width: 1199.98px) { - .table-responsive-xl { - display: block; - width: 100%; - overflow-x: auto; - -webkit-overflow-scrolling: touch; - -ms-overflow-style: -ms-autohiding-scrollbar; - } - .table-responsive-xl > .table-bordered { - border: 0; - } -} - -.table-responsive { - display: block; - width: 100%; - overflow-x: auto; - -webkit-overflow-scrolling: touch; - -ms-overflow-style: -ms-autohiding-scrollbar; -} - -.table-responsive > .table-bordered { - border: 0; -} - -.form-control { - display: block; - width: 100%; - height: calc(2.25rem + 2px); - padding: 0.375rem 0.75rem; - font-size: 1rem; - line-height: 1.5; - color: #495057; - background-color: #fff; - background-clip: padding-box; - border: 1px solid #ced4da; - border-radius: 0.25rem; - transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; -} - -@media screen and (prefers-reduced-motion: reduce) { - .form-control { - transition: none; - } -} - -.form-control::-ms-expand { - background-color: transparent; - border: 0; -} - -.form-control:focus { - color: #495057; - background-color: #fff; - border-color: #80bdff; - outline: 0; - box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); -} - -.form-control::-webkit-input-placeholder { - color: #6c757d; - opacity: 1; -} - -.form-control::-moz-placeholder { - color: #6c757d; - opacity: 1; -} - -.form-control:-ms-input-placeholder { - color: #6c757d; - opacity: 1; -} - -.form-control::-ms-input-placeholder { - color: #6c757d; - opacity: 1; -} - -.form-control::placeholder { - color: #6c757d; - opacity: 1; -} - -.form-control:disabled, .form-control[readonly] { - background-color: #e9ecef; - opacity: 1; -} - -select.form-control:focus::-ms-value { - color: #495057; - background-color: #fff; -} - -.form-control-file, -.form-control-range { - display: block; - width: 100%; -} - -.col-form-label { - padding-top: calc(0.375rem + 1px); - padding-bottom: calc(0.375rem + 1px); - margin-bottom: 0; - font-size: inherit; - line-height: 1.5; -} - -.col-form-label-lg { - padding-top: calc(0.5rem + 1px); - padding-bottom: calc(0.5rem + 1px); - font-size: 1.25rem; - line-height: 1.5; -} - -.col-form-label-sm { - padding-top: calc(0.25rem + 1px); - padding-bottom: calc(0.25rem + 1px); - font-size: 0.875rem; - line-height: 1.5; -} - -.form-control-plaintext { - display: block; - width: 100%; - padding-top: 0.375rem; - padding-bottom: 0.375rem; - margin-bottom: 0; - line-height: 1.5; - color: #212529; - background-color: transparent; - border: solid transparent; - border-width: 1px 0; -} - -.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg { - padding-right: 0; - padding-left: 0; -} - -.form-control-sm { - height: calc(1.8125rem + 2px); - padding: 0.25rem 0.5rem; - font-size: 0.875rem; - line-height: 1.5; - border-radius: 0.2rem; -} - -.form-control-lg { - height: calc(2.875rem + 2px); - padding: 0.5rem 1rem; - font-size: 1.25rem; - line-height: 1.5; - border-radius: 0.3rem; -} - -select.form-control[size], select.form-control[multiple] { - height: auto; -} - -textarea.form-control { - height: auto; -} - -.form-group { - margin-bottom: 1rem; -} - -.form-text { - display: block; - margin-top: 0.25rem; -} - -.form-row { - display: -ms-flexbox; - display: flex; - -ms-flex-wrap: wrap; - flex-wrap: wrap; - margin-right: -5px; - margin-left: -5px; -} - -.form-row > .col, -.form-row > [class*="col-"] { - padding-right: 5px; - padding-left: 5px; -} - -.form-check { - position: relative; - display: block; - padding-left: 1.25rem; -} - -.form-check-input { - position: absolute; - margin-top: 0.3rem; - margin-left: -1.25rem; -} - -.form-check-input:disabled ~ .form-check-label { - color: #6c757d; -} - -.form-check-label { - margin-bottom: 0; -} - -.form-check-inline { - display: -ms-inline-flexbox; - display: inline-flex; - -ms-flex-align: center; - align-items: center; - padding-left: 0; - margin-right: 0.75rem; -} - -.form-check-inline .form-check-input { - position: static; - margin-top: 0; - margin-right: 0.3125rem; - margin-left: 0; -} - -.valid-feedback { - display: none; - width: 100%; - margin-top: 0.25rem; - font-size: 80%; - color: #28a745; -} - -.valid-tooltip { - position: absolute; - top: 100%; - z-index: 5; - display: none; - max-width: 100%; - padding: 0.25rem 0.5rem; - margin-top: .1rem; - font-size: 0.875rem; - line-height: 1.5; - color: #fff; - background-color: rgba(40, 167, 69, 0.9); - border-radius: 0.25rem; -} - -.was-validated .form-control:valid, .form-control.is-valid, .was-validated -.custom-select:valid, -.custom-select.is-valid { - border-color: #28a745; -} - -.was-validated .form-control:valid:focus, .form-control.is-valid:focus, .was-validated -.custom-select:valid:focus, -.custom-select.is-valid:focus { - border-color: #28a745; - box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); -} - -.was-validated .form-control:valid ~ .valid-feedback, -.was-validated .form-control:valid ~ .valid-tooltip, .form-control.is-valid ~ .valid-feedback, -.form-control.is-valid ~ .valid-tooltip, .was-validated -.custom-select:valid ~ .valid-feedback, -.was-validated -.custom-select:valid ~ .valid-tooltip, -.custom-select.is-valid ~ .valid-feedback, -.custom-select.is-valid ~ .valid-tooltip { - display: block; -} - -.was-validated .form-control-file:valid ~ .valid-feedback, -.was-validated .form-control-file:valid ~ .valid-tooltip, .form-control-file.is-valid ~ .valid-feedback, -.form-control-file.is-valid ~ .valid-tooltip { - display: block; -} - -.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label { - color: #28a745; -} - -.was-validated .form-check-input:valid ~ .valid-feedback, -.was-validated .form-check-input:valid ~ .valid-tooltip, .form-check-input.is-valid ~ .valid-feedback, -.form-check-input.is-valid ~ .valid-tooltip { - display: block; -} - -.was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label { - color: #28a745; -} - -.was-validated .custom-control-input:valid ~ .custom-control-label::before, .custom-control-input.is-valid ~ .custom-control-label::before { - background-color: #71dd8a; -} - -.was-validated .custom-control-input:valid ~ .valid-feedback, -.was-validated .custom-control-input:valid ~ .valid-tooltip, .custom-control-input.is-valid ~ .valid-feedback, -.custom-control-input.is-valid ~ .valid-tooltip { - display: block; -} - -.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before { - background-color: #34ce57; -} - -.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control-input.is-valid:focus ~ .custom-control-label::before { - box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(40, 167, 69, 0.25); -} - -.was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label { - border-color: #28a745; -} - -.was-validated .custom-file-input:valid ~ .custom-file-label::after, .custom-file-input.is-valid ~ .custom-file-label::after { - border-color: inherit; -} - -.was-validated .custom-file-input:valid ~ .valid-feedback, -.was-validated .custom-file-input:valid ~ .valid-tooltip, .custom-file-input.is-valid ~ .valid-feedback, -.custom-file-input.is-valid ~ .valid-tooltip { - display: block; -} - -.was-validated .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-file-label { - box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); -} - -.invalid-feedback { - display: none; - width: 100%; - margin-top: 0.25rem; - font-size: 80%; - color: #dc3545; -} - -.invalid-tooltip { - position: absolute; - top: 100%; - z-index: 5; - display: none; - max-width: 100%; - padding: 0.25rem 0.5rem; - margin-top: .1rem; - font-size: 0.875rem; - line-height: 1.5; - color: #fff; - background-color: rgba(220, 53, 69, 0.9); - border-radius: 0.25rem; -} - -.was-validated .form-control:invalid, .form-control.is-invalid, .was-validated -.custom-select:invalid, -.custom-select.is-invalid { - border-color: #dc3545; -} - -.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus, .was-validated -.custom-select:invalid:focus, -.custom-select.is-invalid:focus { - border-color: #dc3545; - box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); -} - -.was-validated .form-control:invalid ~ .invalid-feedback, -.was-validated .form-control:invalid ~ .invalid-tooltip, .form-control.is-invalid ~ .invalid-feedback, -.form-control.is-invalid ~ .invalid-tooltip, .was-validated -.custom-select:invalid ~ .invalid-feedback, -.was-validated -.custom-select:invalid ~ .invalid-tooltip, -.custom-select.is-invalid ~ .invalid-feedback, -.custom-select.is-invalid ~ .invalid-tooltip { - display: block; -} - -.was-validated .form-control-file:invalid ~ .invalid-feedback, -.was-validated .form-control-file:invalid ~ .invalid-tooltip, .form-control-file.is-invalid ~ .invalid-feedback, -.form-control-file.is-invalid ~ .invalid-tooltip { - display: block; -} - -.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label { - color: #dc3545; -} - -.was-validated .form-check-input:invalid ~ .invalid-feedback, -.was-validated .form-check-input:invalid ~ .invalid-tooltip, .form-check-input.is-invalid ~ .invalid-feedback, -.form-check-input.is-invalid ~ .invalid-tooltip { - display: block; -} - -.was-validated .custom-control-input:invalid ~ .custom-control-label, .custom-control-input.is-invalid ~ .custom-control-label { - color: #dc3545; -} - -.was-validated .custom-control-input:invalid ~ .custom-control-label::before, .custom-control-input.is-invalid ~ .custom-control-label::before { - background-color: #efa2a9; -} - -.was-validated .custom-control-input:invalid ~ .invalid-feedback, -.was-validated .custom-control-input:invalid ~ .invalid-tooltip, .custom-control-input.is-invalid ~ .invalid-feedback, -.custom-control-input.is-invalid ~ .invalid-tooltip { - display: block; -} - -.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before { - background-color: #e4606d; -} - -.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before, .custom-control-input.is-invalid:focus ~ .custom-control-label::before { - box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(220, 53, 69, 0.25); -} - -.was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label { - border-color: #dc3545; -} - -.was-validated .custom-file-input:invalid ~ .custom-file-label::after, .custom-file-input.is-invalid ~ .custom-file-label::after { - border-color: inherit; -} - -.was-validated .custom-file-input:invalid ~ .invalid-feedback, -.was-validated .custom-file-input:invalid ~ .invalid-tooltip, .custom-file-input.is-invalid ~ .invalid-feedback, -.custom-file-input.is-invalid ~ .invalid-tooltip { - display: block; -} - -.was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label { - box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); -} - -.form-inline { - display: -ms-flexbox; - display: flex; - -ms-flex-flow: row wrap; - flex-flow: row wrap; - -ms-flex-align: center; - align-items: center; -} - -.form-inline .form-check { - width: 100%; -} - -@media (min-width: 576px) { - .form-inline label { - display: -ms-flexbox; - display: flex; - -ms-flex-align: center; - align-items: center; - -ms-flex-pack: center; - justify-content: center; - margin-bottom: 0; - } - .form-inline .form-group { - display: -ms-flexbox; - display: flex; - -ms-flex: 0 0 auto; - flex: 0 0 auto; - -ms-flex-flow: row wrap; - flex-flow: row wrap; - -ms-flex-align: center; - align-items: center; - margin-bottom: 0; - } - .form-inline .form-control { - display: inline-block; - width: auto; - vertical-align: middle; - } - .form-inline .form-control-plaintext { - display: inline-block; - } - .form-inline .input-group, - .form-inline .custom-select { - width: auto; - } - .form-inline .form-check { - display: -ms-flexbox; - display: flex; - -ms-flex-align: center; - align-items: center; - -ms-flex-pack: center; - justify-content: center; - width: auto; - padding-left: 0; - } - .form-inline .form-check-input { - position: relative; - margin-top: 0; - margin-right: 0.25rem; - margin-left: 0; - } - .form-inline .custom-control { - -ms-flex-align: center; - align-items: center; - -ms-flex-pack: center; - justify-content: center; - } - .form-inline .custom-control-label { - margin-bottom: 0; - } -} - -.btn { - display: inline-block; - font-weight: 400; - text-align: center; - white-space: nowrap; - vertical-align: middle; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - border: 1px solid transparent; - padding: 0.375rem 0.75rem; - font-size: 1rem; - line-height: 1.5; - border-radius: 0.25rem; - transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; -} - -@media screen and (prefers-reduced-motion: reduce) { - .btn { - transition: none; - } -} - -.btn:hover, .btn:focus { - text-decoration: none; -} - -.btn:focus, .btn.focus { - outline: 0; - box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); -} - -.btn.disabled, .btn:disabled { - opacity: 0.65; -} - -.btn:not(:disabled):not(.disabled) { - cursor: pointer; -} - -a.btn.disabled, -fieldset:disabled a.btn { - pointer-events: none; -} - -.btn-primary { - color: #fff; - background-color: #007bff; - border-color: #007bff; -} - -.btn-primary:hover { - color: #fff; - background-color: #0069d9; - border-color: #0062cc; -} - -.btn-primary:focus, .btn-primary.focus { - box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); -} - -.btn-primary.disabled, .btn-primary:disabled { - color: #fff; - background-color: #007bff; - border-color: #007bff; -} - -.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active, -.show > .btn-primary.dropdown-toggle { - color: #fff; - background-color: #0062cc; - border-color: #005cbf; -} - -.btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus, -.show > .btn-primary.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); -} - -.btn-secondary { - color: #fff; - background-color: #6c757d; - border-color: #6c757d; -} - -.btn-secondary:hover { - color: #fff; - background-color: #5a6268; - border-color: #545b62; -} - -.btn-secondary:focus, .btn-secondary.focus { - box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); -} - -.btn-secondary.disabled, .btn-secondary:disabled { - color: #fff; - background-color: #6c757d; - border-color: #6c757d; -} - -.btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active, -.show > .btn-secondary.dropdown-toggle { - color: #fff; - background-color: #545b62; - border-color: #4e555b; -} - -.btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus, -.show > .btn-secondary.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); -} - -.btn-success { - color: #fff; - background-color: #28a745; - border-color: #28a745; -} - -.btn-success:hover { - color: #fff; - background-color: #218838; - border-color: #1e7e34; -} - -.btn-success:focus, .btn-success.focus { - box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); -} - -.btn-success.disabled, .btn-success:disabled { - color: #fff; - background-color: #28a745; - border-color: #28a745; -} - -.btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active, -.show > .btn-success.dropdown-toggle { - color: #fff; - background-color: #1e7e34; - border-color: #1c7430; -} - -.btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus, -.show > .btn-success.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); -} - -.btn-info { - color: #fff; - background-color: #17a2b8; - border-color: #17a2b8; -} - -.btn-info:hover { - color: #fff; - background-color: #138496; - border-color: #117a8b; -} - -.btn-info:focus, .btn-info.focus { - box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); -} - -.btn-info.disabled, .btn-info:disabled { - color: #fff; - background-color: #17a2b8; - border-color: #17a2b8; -} - -.btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active, -.show > .btn-info.dropdown-toggle { - color: #fff; - background-color: #117a8b; - border-color: #10707f; -} - -.btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus, -.show > .btn-info.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); -} - -.btn-warning { - color: #212529; - background-color: #ffc107; - border-color: #ffc107; -} - -.btn-warning:hover { - color: #212529; - background-color: #e0a800; - border-color: #d39e00; -} - -.btn-warning:focus, .btn-warning.focus { - box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); -} - -.btn-warning.disabled, .btn-warning:disabled { - color: #212529; - background-color: #ffc107; - border-color: #ffc107; -} - -.btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active, -.show > .btn-warning.dropdown-toggle { - color: #212529; - background-color: #d39e00; - border-color: #c69500; -} - -.btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus, -.show > .btn-warning.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); -} - -.btn-danger { - color: #fff; - background-color: #dc3545; - border-color: #dc3545; -} - -.btn-danger:hover { - color: #fff; - background-color: #c82333; - border-color: #bd2130; -} - -.btn-danger:focus, .btn-danger.focus { - box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); -} - -.btn-danger.disabled, .btn-danger:disabled { - color: #fff; - background-color: #dc3545; - border-color: #dc3545; -} - -.btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active, -.show > .btn-danger.dropdown-toggle { - color: #fff; - background-color: #bd2130; - border-color: #b21f2d; -} - -.btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus, -.show > .btn-danger.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); -} - -.btn-light { - color: #212529; - background-color: #f8f9fa; - border-color: #f8f9fa; -} - -.btn-light:hover { - color: #212529; - background-color: #e2e6ea; - border-color: #dae0e5; -} - -.btn-light:focus, .btn-light.focus { - box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); -} - -.btn-light.disabled, .btn-light:disabled { - color: #212529; - background-color: #f8f9fa; - border-color: #f8f9fa; -} - -.btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active, -.show > .btn-light.dropdown-toggle { - color: #212529; - background-color: #dae0e5; - border-color: #d3d9df; -} - -.btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus, -.show > .btn-light.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); -} - -.btn-dark { - color: #fff; - background-color: #343a40; - border-color: #343a40; -} - -.btn-dark:hover { - color: #fff; - background-color: #23272b; - border-color: #1d2124; -} - -.btn-dark:focus, .btn-dark.focus { - box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); -} - -.btn-dark.disabled, .btn-dark:disabled { - color: #fff; - background-color: #343a40; - border-color: #343a40; -} - -.btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active, -.show > .btn-dark.dropdown-toggle { - color: #fff; - background-color: #1d2124; - border-color: #171a1d; -} - -.btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus, -.show > .btn-dark.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); -} - -.btn-outline-primary { - color: #007bff; - background-color: transparent; - background-image: none; - border-color: #007bff; -} - -.btn-outline-primary:hover { - color: #fff; - background-color: #007bff; - border-color: #007bff; -} - -.btn-outline-primary:focus, .btn-outline-primary.focus { - box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); -} - -.btn-outline-primary.disabled, .btn-outline-primary:disabled { - color: #007bff; - background-color: transparent; -} - -.btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active, -.show > .btn-outline-primary.dropdown-toggle { - color: #fff; - background-color: #007bff; - border-color: #007bff; -} - -.btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus, -.show > .btn-outline-primary.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); -} - -.btn-outline-secondary { - color: #6c757d; - background-color: transparent; - background-image: none; - border-color: #6c757d; -} - -.btn-outline-secondary:hover { - color: #fff; - background-color: #6c757d; - border-color: #6c757d; -} - -.btn-outline-secondary:focus, .btn-outline-secondary.focus { - box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); -} - -.btn-outline-secondary.disabled, .btn-outline-secondary:disabled { - color: #6c757d; - background-color: transparent; -} - -.btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active, -.show > .btn-outline-secondary.dropdown-toggle { - color: #fff; - background-color: #6c757d; - border-color: #6c757d; -} - -.btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus, -.show > .btn-outline-secondary.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); -} - -.btn-outline-success { - color: #28a745; - background-color: transparent; - background-image: none; - border-color: #28a745; -} - -.btn-outline-success:hover { - color: #fff; - background-color: #28a745; - border-color: #28a745; -} - -.btn-outline-success:focus, .btn-outline-success.focus { - box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); -} - -.btn-outline-success.disabled, .btn-outline-success:disabled { - color: #28a745; - background-color: transparent; -} - -.btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active, -.show > .btn-outline-success.dropdown-toggle { - color: #fff; - background-color: #28a745; - border-color: #28a745; -} - -.btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus, -.show > .btn-outline-success.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); -} - -.btn-outline-info { - color: #17a2b8; - background-color: transparent; - background-image: none; - border-color: #17a2b8; -} - -.btn-outline-info:hover { - color: #fff; - background-color: #17a2b8; - border-color: #17a2b8; -} - -.btn-outline-info:focus, .btn-outline-info.focus { - box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); -} - -.btn-outline-info.disabled, .btn-outline-info:disabled { - color: #17a2b8; - background-color: transparent; -} - -.btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active, -.show > .btn-outline-info.dropdown-toggle { - color: #fff; - background-color: #17a2b8; - border-color: #17a2b8; -} - -.btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus, -.show > .btn-outline-info.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); -} - -.btn-outline-warning { - color: #ffc107; - background-color: transparent; - background-image: none; - border-color: #ffc107; -} - -.btn-outline-warning:hover { - color: #212529; - background-color: #ffc107; - border-color: #ffc107; -} - -.btn-outline-warning:focus, .btn-outline-warning.focus { - box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); -} - -.btn-outline-warning.disabled, .btn-outline-warning:disabled { - color: #ffc107; - background-color: transparent; -} - -.btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active, -.show > .btn-outline-warning.dropdown-toggle { - color: #212529; - background-color: #ffc107; - border-color: #ffc107; -} - -.btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus, -.show > .btn-outline-warning.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); -} - -.btn-outline-danger { - color: #dc3545; - background-color: transparent; - background-image: none; - border-color: #dc3545; -} - -.btn-outline-danger:hover { - color: #fff; - background-color: #dc3545; - border-color: #dc3545; -} - -.btn-outline-danger:focus, .btn-outline-danger.focus { - box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); -} - -.btn-outline-danger.disabled, .btn-outline-danger:disabled { - color: #dc3545; - background-color: transparent; -} - -.btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active, -.show > .btn-outline-danger.dropdown-toggle { - color: #fff; - background-color: #dc3545; - border-color: #dc3545; -} - -.btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus, -.show > .btn-outline-danger.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); -} - -.btn-outline-light { - color: #f8f9fa; - background-color: transparent; - background-image: none; - border-color: #f8f9fa; -} - -.btn-outline-light:hover { - color: #212529; - background-color: #f8f9fa; - border-color: #f8f9fa; -} - -.btn-outline-light:focus, .btn-outline-light.focus { - box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); -} - -.btn-outline-light.disabled, .btn-outline-light:disabled { - color: #f8f9fa; - background-color: transparent; -} - -.btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active, -.show > .btn-outline-light.dropdown-toggle { - color: #212529; - background-color: #f8f9fa; - border-color: #f8f9fa; -} - -.btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus, -.show > .btn-outline-light.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); -} - -.btn-outline-dark { - color: #343a40; - background-color: transparent; - background-image: none; - border-color: #343a40; -} - -.btn-outline-dark:hover { - color: #fff; - background-color: #343a40; - border-color: #343a40; -} - -.btn-outline-dark:focus, .btn-outline-dark.focus { - box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); -} - -.btn-outline-dark.disabled, .btn-outline-dark:disabled { - color: #343a40; - background-color: transparent; -} - -.btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active, -.show > .btn-outline-dark.dropdown-toggle { - color: #fff; - background-color: #343a40; - border-color: #343a40; -} - -.btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus, -.show > .btn-outline-dark.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); -} - -.btn-link { - font-weight: 400; - color: #007bff; - background-color: transparent; -} - -.btn-link:hover { - color: #0056b3; - text-decoration: underline; - background-color: transparent; - border-color: transparent; -} - -.btn-link:focus, .btn-link.focus { - text-decoration: underline; - border-color: transparent; - box-shadow: none; -} - -.btn-link:disabled, .btn-link.disabled { - color: #6c757d; - pointer-events: none; -} - -.btn-lg, .btn-group-lg > .btn { - padding: 0.5rem 1rem; - font-size: 1.25rem; - line-height: 1.5; - border-radius: 0.3rem; -} - -.btn-sm, .btn-group-sm > .btn { - padding: 0.25rem 0.5rem; - font-size: 0.875rem; - line-height: 1.5; - border-radius: 0.2rem; -} - -.btn-block { - display: block; - width: 100%; -} - -.btn-block + .btn-block { - margin-top: 0.5rem; -} - -input[type="submit"].btn-block, -input[type="reset"].btn-block, -input[type="button"].btn-block { - width: 100%; -} - -.fade { - transition: opacity 0.15s linear; -} - -@media screen and (prefers-reduced-motion: reduce) { - .fade { - transition: none; - } -} - -.fade:not(.show) { - opacity: 0; -} - -.collapse:not(.show) { - display: none; -} - -.collapsing { - position: relative; - height: 0; - overflow: hidden; - transition: height 0.35s ease; -} - -@media screen and (prefers-reduced-motion: reduce) { - .collapsing { - transition: none; - } -} - -.dropup, -.dropright, -.dropdown, -.dropleft { - position: relative; -} - -.dropdown-toggle::after { - display: inline-block; - width: 0; - height: 0; - margin-left: 0.255em; - vertical-align: 0.255em; - content: ""; - border-top: 0.3em solid; - border-right: 0.3em solid transparent; - border-bottom: 0; - border-left: 0.3em solid transparent; -} - -.dropdown-toggle:empty::after { - margin-left: 0; -} - -.dropdown-menu { - position: absolute; - top: 100%; - left: 0; - z-index: 1000; - display: none; - float: left; - min-width: 10rem; - padding: 0.5rem 0; - margin: 0.125rem 0 0; - font-size: 1rem; - color: #212529; - text-align: left; - list-style: none; - background-color: #fff; - background-clip: padding-box; - border: 1px solid rgba(0, 0, 0, 0.15); - border-radius: 0.25rem; -} - -.dropdown-menu-right { - right: 0; - left: auto; -} - -.dropup .dropdown-menu { - top: auto; - bottom: 100%; - margin-top: 0; - margin-bottom: 0.125rem; -} - -.dropup .dropdown-toggle::after { - display: inline-block; - width: 0; - height: 0; - margin-left: 0.255em; - vertical-align: 0.255em; - content: ""; - border-top: 0; - border-right: 0.3em solid transparent; - border-bottom: 0.3em solid; - border-left: 0.3em solid transparent; -} - -.dropup .dropdown-toggle:empty::after { - margin-left: 0; -} - -.dropright .dropdown-menu { - top: 0; - right: auto; - left: 100%; - margin-top: 0; - margin-left: 0.125rem; -} - -.dropright .dropdown-toggle::after { - display: inline-block; - width: 0; - height: 0; - margin-left: 0.255em; - vertical-align: 0.255em; - content: ""; - border-top: 0.3em solid transparent; - border-right: 0; - border-bottom: 0.3em solid transparent; - border-left: 0.3em solid; -} - -.dropright .dropdown-toggle:empty::after { - margin-left: 0; -} - -.dropright .dropdown-toggle::after { - vertical-align: 0; -} - -.dropleft .dropdown-menu { - top: 0; - right: 100%; - left: auto; - margin-top: 0; - margin-right: 0.125rem; -} - -.dropleft .dropdown-toggle::after { - display: inline-block; - width: 0; - height: 0; - margin-left: 0.255em; - vertical-align: 0.255em; - content: ""; -} - -.dropleft .dropdown-toggle::after { - display: none; -} - -.dropleft .dropdown-toggle::before { - display: inline-block; - width: 0; - height: 0; - margin-right: 0.255em; - vertical-align: 0.255em; - content: ""; - border-top: 0.3em solid transparent; - border-right: 0.3em solid; - border-bottom: 0.3em solid transparent; -} - -.dropleft .dropdown-toggle:empty::after { - margin-left: 0; -} - -.dropleft .dropdown-toggle::before { - vertical-align: 0; -} - -.dropdown-menu[x-placement^="top"], .dropdown-menu[x-placement^="right"], .dropdown-menu[x-placement^="bottom"], .dropdown-menu[x-placement^="left"] { - right: auto; - bottom: auto; -} - -.dropdown-divider { - height: 0; - margin: 0.5rem 0; - overflow: hidden; - border-top: 1px solid #e9ecef; -} - -.dropdown-item { - display: block; - width: 100%; - padding: 0.25rem 1.5rem; - clear: both; - font-weight: 400; - color: #212529; - text-align: inherit; - white-space: nowrap; - background-color: transparent; - border: 0; -} - -.dropdown-item:hover, .dropdown-item:focus { - color: #16181b; - text-decoration: none; - background-color: #f8f9fa; -} - -.dropdown-item.active, .dropdown-item:active { - color: #fff; - text-decoration: none; - background-color: #007bff; -} - -.dropdown-item.disabled, .dropdown-item:disabled { - color: #6c757d; - background-color: transparent; -} - -.dropdown-menu.show { - display: block; -} - -.dropdown-header { - display: block; - padding: 0.5rem 1.5rem; - margin-bottom: 0; - font-size: 0.875rem; - color: #6c757d; - white-space: nowrap; -} - -.dropdown-item-text { - display: block; - padding: 0.25rem 1.5rem; - color: #212529; -} - -.btn-group, -.btn-group-vertical { - position: relative; - display: -ms-inline-flexbox; - display: inline-flex; - vertical-align: middle; -} - -.btn-group > .btn, -.btn-group-vertical > .btn { - position: relative; - -ms-flex: 0 1 auto; - flex: 0 1 auto; -} - -.btn-group > .btn:hover, -.btn-group-vertical > .btn:hover { - z-index: 1; -} - -.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active, -.btn-group-vertical > .btn:focus, -.btn-group-vertical > .btn:active, -.btn-group-vertical > .btn.active { - z-index: 1; -} - -.btn-group .btn + .btn, -.btn-group .btn + .btn-group, -.btn-group .btn-group + .btn, -.btn-group .btn-group + .btn-group, -.btn-group-vertical .btn + .btn, -.btn-group-vertical .btn + .btn-group, -.btn-group-vertical .btn-group + .btn, -.btn-group-vertical .btn-group + .btn-group { - margin-left: -1px; -} - -.btn-toolbar { - display: -ms-flexbox; - display: flex; - -ms-flex-wrap: wrap; - flex-wrap: wrap; - -ms-flex-pack: start; - justify-content: flex-start; -} - -.btn-toolbar .input-group { - width: auto; -} - -.btn-group > .btn:first-child { - margin-left: 0; -} - -.btn-group > .btn:not(:last-child):not(.dropdown-toggle), -.btn-group > .btn-group:not(:last-child) > .btn { - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} - -.btn-group > .btn:not(:first-child), -.btn-group > .btn-group:not(:first-child) > .btn { - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} - -.dropdown-toggle-split { - padding-right: 0.5625rem; - padding-left: 0.5625rem; -} - -.dropdown-toggle-split::after, -.dropup .dropdown-toggle-split::after, -.dropright .dropdown-toggle-split::after { - margin-left: 0; -} - -.dropleft .dropdown-toggle-split::before { - margin-right: 0; -} - -.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split { - padding-right: 0.375rem; - padding-left: 0.375rem; -} - -.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split { - padding-right: 0.75rem; - padding-left: 0.75rem; -} - -.btn-group-vertical { - -ms-flex-direction: column; - flex-direction: column; - -ms-flex-align: start; - align-items: flex-start; - -ms-flex-pack: center; - justify-content: center; -} - -.btn-group-vertical .btn, -.btn-group-vertical .btn-group { - width: 100%; -} - -.btn-group-vertical > .btn + .btn, -.btn-group-vertical > .btn + .btn-group, -.btn-group-vertical > .btn-group + .btn, -.btn-group-vertical > .btn-group + .btn-group { - margin-top: -1px; - margin-left: 0; -} - -.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle), -.btn-group-vertical > .btn-group:not(:last-child) > .btn { - border-bottom-right-radius: 0; - border-bottom-left-radius: 0; -} - -.btn-group-vertical > .btn:not(:first-child), -.btn-group-vertical > .btn-group:not(:first-child) > .btn { - border-top-left-radius: 0; - border-top-right-radius: 0; -} - -.btn-group-toggle > .btn, -.btn-group-toggle > .btn-group > .btn { - margin-bottom: 0; -} - -.btn-group-toggle > .btn input[type="radio"], -.btn-group-toggle > .btn input[type="checkbox"], -.btn-group-toggle > .btn-group > .btn input[type="radio"], -.btn-group-toggle > .btn-group > .btn input[type="checkbox"] { - position: absolute; - clip: rect(0, 0, 0, 0); - pointer-events: none; -} - -.input-group { - position: relative; - display: -ms-flexbox; - display: flex; - -ms-flex-wrap: wrap; - flex-wrap: wrap; - -ms-flex-align: stretch; - align-items: stretch; - width: 100%; -} - -.input-group > .form-control, -.input-group > .custom-select, -.input-group > .custom-file { - position: relative; - -ms-flex: 1 1 auto; - flex: 1 1 auto; - width: 1%; - margin-bottom: 0; -} - -.input-group > .form-control + .form-control, -.input-group > .form-control + .custom-select, -.input-group > .form-control + .custom-file, -.input-group > .custom-select + .form-control, -.input-group > .custom-select + .custom-select, -.input-group > .custom-select + .custom-file, -.input-group > .custom-file + .form-control, -.input-group > .custom-file + .custom-select, -.input-group > .custom-file + .custom-file { - margin-left: -1px; -} - -.input-group > .form-control:focus, -.input-group > .custom-select:focus, -.input-group > .custom-file .custom-file-input:focus ~ .custom-file-label { - z-index: 3; -} - -.input-group > .custom-file .custom-file-input:focus { - z-index: 4; -} - -.input-group > .form-control:not(:last-child), -.input-group > .custom-select:not(:last-child) { - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} - -.input-group > .form-control:not(:first-child), -.input-group > .custom-select:not(:first-child) { - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} - -.input-group > .custom-file { - display: -ms-flexbox; - display: flex; - -ms-flex-align: center; - align-items: center; -} - -.input-group > .custom-file:not(:last-child) .custom-file-label, -.input-group > .custom-file:not(:last-child) .custom-file-label::after { - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} - -.input-group > .custom-file:not(:first-child) .custom-file-label { - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} - -.input-group-prepend, -.input-group-append { - display: -ms-flexbox; - display: flex; -} - -.input-group-prepend .btn, -.input-group-append .btn { - position: relative; - z-index: 2; -} - -.input-group-prepend .btn + .btn, -.input-group-prepend .btn + .input-group-text, -.input-group-prepend .input-group-text + .input-group-text, -.input-group-prepend .input-group-text + .btn, -.input-group-append .btn + .btn, -.input-group-append .btn + .input-group-text, -.input-group-append .input-group-text + .input-group-text, -.input-group-append .input-group-text + .btn { - margin-left: -1px; -} - -.input-group-prepend { - margin-right: -1px; -} - -.input-group-append { - margin-left: -1px; -} - -.input-group-text { - display: -ms-flexbox; - display: flex; - -ms-flex-align: center; - align-items: center; - padding: 0.375rem 0.75rem; - margin-bottom: 0; - font-size: 1rem; - font-weight: 400; - line-height: 1.5; - color: #495057; - text-align: center; - white-space: nowrap; - background-color: #e9ecef; - border: 1px solid #ced4da; - border-radius: 0.25rem; -} - -.input-group-text input[type="radio"], -.input-group-text input[type="checkbox"] { - margin-top: 0; -} - -.input-group-lg > .form-control, -.input-group-lg > .input-group-prepend > .input-group-text, -.input-group-lg > .input-group-append > .input-group-text, -.input-group-lg > .input-group-prepend > .btn, -.input-group-lg > .input-group-append > .btn { - height: calc(2.875rem + 2px); - padding: 0.5rem 1rem; - font-size: 1.25rem; - line-height: 1.5; - border-radius: 0.3rem; -} - -.input-group-sm > .form-control, -.input-group-sm > .input-group-prepend > .input-group-text, -.input-group-sm > .input-group-append > .input-group-text, -.input-group-sm > .input-group-prepend > .btn, -.input-group-sm > .input-group-append > .btn { - height: calc(1.8125rem + 2px); - padding: 0.25rem 0.5rem; - font-size: 0.875rem; - line-height: 1.5; - border-radius: 0.2rem; -} - -.input-group > .input-group-prepend > .btn, -.input-group > .input-group-prepend > .input-group-text, -.input-group > .input-group-append:not(:last-child) > .btn, -.input-group > .input-group-append:not(:last-child) > .input-group-text, -.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle), -.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) { - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} - -.input-group > .input-group-append > .btn, -.input-group > .input-group-append > .input-group-text, -.input-group > .input-group-prepend:not(:first-child) > .btn, -.input-group > .input-group-prepend:not(:first-child) > .input-group-text, -.input-group > .input-group-prepend:first-child > .btn:not(:first-child), -.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) { - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} - -.custom-control { - position: relative; - display: block; - min-height: 1.5rem; - padding-left: 1.5rem; -} - -.custom-control-inline { - display: -ms-inline-flexbox; - display: inline-flex; - margin-right: 1rem; -} - -.custom-control-input { - position: absolute; - z-index: -1; - opacity: 0; -} - -.custom-control-input:checked ~ .custom-control-label::before { - color: #fff; - background-color: #007bff; -} - -.custom-control-input:focus ~ .custom-control-label::before { - box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); -} - -.custom-control-input:active ~ .custom-control-label::before { - color: #fff; - background-color: #b3d7ff; -} - -.custom-control-input:disabled ~ .custom-control-label { - color: #6c757d; -} - -.custom-control-input:disabled ~ .custom-control-label::before { - background-color: #e9ecef; -} - -.custom-control-label { - position: relative; - margin-bottom: 0; -} - -.custom-control-label::before { - position: absolute; - top: 0.25rem; - left: -1.5rem; - display: block; - width: 1rem; - height: 1rem; - pointer-events: none; - content: ""; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - background-color: #dee2e6; -} - -.custom-control-label::after { - position: absolute; - top: 0.25rem; - left: -1.5rem; - display: block; - width: 1rem; - height: 1rem; - content: ""; - background-repeat: no-repeat; - background-position: center center; - background-size: 50% 50%; -} - -.custom-checkbox .custom-control-label::before { - border-radius: 0.25rem; -} - -.custom-checkbox .custom-control-input:checked ~ .custom-control-label::before { - background-color: #007bff; -} - -.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after { - background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E"); -} - -.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before { - background-color: #007bff; -} - -.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after { - background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E"); -} - -.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before { - background-color: rgba(0, 123, 255, 0.5); -} - -.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before { - background-color: rgba(0, 123, 255, 0.5); -} - -.custom-radio .custom-control-label::before { - border-radius: 50%; -} - -.custom-radio .custom-control-input:checked ~ .custom-control-label::before { - background-color: #007bff; -} - -.custom-radio .custom-control-input:checked ~ .custom-control-label::after { - background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E"); -} - -.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before { - background-color: rgba(0, 123, 255, 0.5); -} - -.custom-select { - display: inline-block; - width: 100%; - height: calc(2.25rem + 2px); - padding: 0.375rem 1.75rem 0.375rem 0.75rem; - line-height: 1.5; - color: #495057; - vertical-align: middle; - background: #fff url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right 0.75rem center; - background-size: 8px 10px; - border: 1px solid #ced4da; - border-radius: 0.25rem; - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; -} - -.custom-select:focus { - border-color: #80bdff; - outline: 0; - box-shadow: 0 0 0 0.2rem rgba(128, 189, 255, 0.5); -} - -.custom-select:focus::-ms-value { - color: #495057; - background-color: #fff; -} - -.custom-select[multiple], .custom-select[size]:not([size="1"]) { - height: auto; - padding-right: 0.75rem; - background-image: none; -} - -.custom-select:disabled { - color: #6c757d; - background-color: #e9ecef; -} - -.custom-select::-ms-expand { - opacity: 0; -} - -.custom-select-sm { - height: calc(1.8125rem + 2px); - padding-top: 0.375rem; - padding-bottom: 0.375rem; - font-size: 75%; -} - -.custom-select-lg { - height: calc(2.875rem + 2px); - padding-top: 0.375rem; - padding-bottom: 0.375rem; - font-size: 125%; -} - -.custom-file { - position: relative; - display: inline-block; - width: 100%; - height: calc(2.25rem + 2px); - margin-bottom: 0; -} - -.custom-file-input { - position: relative; - z-index: 2; - width: 100%; - height: calc(2.25rem + 2px); - margin: 0; - opacity: 0; -} - -.custom-file-input:focus ~ .custom-file-label { - border-color: #80bdff; - box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); -} - -.custom-file-input:focus ~ .custom-file-label::after { - border-color: #80bdff; -} - -.custom-file-input:disabled ~ .custom-file-label { - background-color: #e9ecef; -} - -.custom-file-input:lang(en) ~ .custom-file-label::after { - content: "Browse"; -} - -.custom-file-label { - position: absolute; - top: 0; - right: 0; - left: 0; - z-index: 1; - height: calc(2.25rem + 2px); - padding: 0.375rem 0.75rem; - line-height: 1.5; - color: #495057; - background-color: #fff; - border: 1px solid #ced4da; - border-radius: 0.25rem; -} - -.custom-file-label::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - z-index: 3; - display: block; - height: 2.25rem; - padding: 0.375rem 0.75rem; - line-height: 1.5; - color: #495057; - content: "Browse"; - background-color: #e9ecef; - border-left: 1px solid #ced4da; - border-radius: 0 0.25rem 0.25rem 0; -} - -.custom-range { - width: 100%; - padding-left: 0; - background-color: transparent; - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; -} - -.custom-range:focus { - outline: none; -} - -.custom-range:focus::-webkit-slider-thumb { - box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); -} - -.custom-range:focus::-moz-range-thumb { - box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); -} - -.custom-range:focus::-ms-thumb { - box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); -} - -.custom-range::-moz-focus-outer { - border: 0; -} - -.custom-range::-webkit-slider-thumb { - width: 1rem; - height: 1rem; - margin-top: -0.25rem; - background-color: #007bff; - border: 0; - border-radius: 1rem; - transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; - -webkit-appearance: none; - appearance: none; -} - -@media screen and (prefers-reduced-motion: reduce) { - .custom-range::-webkit-slider-thumb { - transition: none; - } -} - -.custom-range::-webkit-slider-thumb:active { - background-color: #b3d7ff; -} - -.custom-range::-webkit-slider-runnable-track { - width: 100%; - height: 0.5rem; - color: transparent; - cursor: pointer; - background-color: #dee2e6; - border-color: transparent; - border-radius: 1rem; -} - -.custom-range::-moz-range-thumb { - width: 1rem; - height: 1rem; - background-color: #007bff; - border: 0; - border-radius: 1rem; - transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; - -moz-appearance: none; - appearance: none; -} - -@media screen and (prefers-reduced-motion: reduce) { - .custom-range::-moz-range-thumb { - transition: none; - } -} - -.custom-range::-moz-range-thumb:active { - background-color: #b3d7ff; -} - -.custom-range::-moz-range-track { - width: 100%; - height: 0.5rem; - color: transparent; - cursor: pointer; - background-color: #dee2e6; - border-color: transparent; - border-radius: 1rem; -} - -.custom-range::-ms-thumb { - width: 1rem; - height: 1rem; - margin-top: 0; - margin-right: 0.2rem; - margin-left: 0.2rem; - background-color: #007bff; - border: 0; - border-radius: 1rem; - transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; - appearance: none; -} - -@media screen and (prefers-reduced-motion: reduce) { - .custom-range::-ms-thumb { - transition: none; - } -} - -.custom-range::-ms-thumb:active { - background-color: #b3d7ff; -} - -.custom-range::-ms-track { - width: 100%; - height: 0.5rem; - color: transparent; - cursor: pointer; - background-color: transparent; - border-color: transparent; - border-width: 0.5rem; -} - -.custom-range::-ms-fill-lower { - background-color: #dee2e6; - border-radius: 1rem; -} - -.custom-range::-ms-fill-upper { - margin-right: 15px; - background-color: #dee2e6; - border-radius: 1rem; -} - -.custom-control-label::before, -.custom-file-label, -.custom-select { - transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; -} - -@media screen and (prefers-reduced-motion: reduce) { - .custom-control-label::before, - .custom-file-label, - .custom-select { - transition: none; - } -} - -.nav { - display: -ms-flexbox; - display: flex; - -ms-flex-wrap: wrap; - flex-wrap: wrap; - padding-left: 0; - margin-bottom: 0; - list-style: none; -} - -.nav-link { - display: block; - padding: 0.5rem 1rem; -} - -.nav-link:hover, .nav-link:focus { - text-decoration: none; -} - -.nav-link.disabled { - color: #6c757d; -} - -.nav-tabs { - border-bottom: 1px solid #dee2e6; -} - -.nav-tabs .nav-item { - margin-bottom: -1px; -} - -.nav-tabs .nav-link { - border: 1px solid transparent; - border-top-left-radius: 0.25rem; - border-top-right-radius: 0.25rem; -} - -.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus { - border-color: #e9ecef #e9ecef #dee2e6; -} - -.nav-tabs .nav-link.disabled { - color: #6c757d; - background-color: transparent; - border-color: transparent; -} - -.nav-tabs .nav-link.active, -.nav-tabs .nav-item.show .nav-link { - color: #495057; - background-color: #fff; - border-color: #dee2e6 #dee2e6 #fff; -} - -.nav-tabs .dropdown-menu { - margin-top: -1px; - border-top-left-radius: 0; - border-top-right-radius: 0; -} - -.nav-pills .nav-link { - border-radius: 0.25rem; -} - -.nav-pills .nav-link.active, -.nav-pills .show > .nav-link { - color: #fff; - background-color: #007bff; -} - -.nav-fill .nav-item { - -ms-flex: 1 1 auto; - flex: 1 1 auto; - text-align: center; -} - -.nav-justified .nav-item { - -ms-flex-preferred-size: 0; - flex-basis: 0; - -ms-flex-positive: 1; - flex-grow: 1; - text-align: center; -} - -.tab-content > .tab-pane { - display: none; -} - -.tab-content > .active { - display: block; -} - -.navbar { - position: relative; - display: -ms-flexbox; - display: flex; - -ms-flex-wrap: wrap; - flex-wrap: wrap; - -ms-flex-align: center; - align-items: center; - -ms-flex-pack: justify; - justify-content: space-between; - padding: 0.5rem 1rem; -} - -.navbar > .container, -.navbar > .container-fluid { - display: -ms-flexbox; - display: flex; - -ms-flex-wrap: wrap; - flex-wrap: wrap; - -ms-flex-align: center; - align-items: center; - -ms-flex-pack: justify; - justify-content: space-between; -} - -.navbar-brand { - display: inline-block; - padding-top: 0.3125rem; - padding-bottom: 0.3125rem; - margin-right: 1rem; - font-size: 1.25rem; - line-height: inherit; - white-space: nowrap; -} - -.navbar-brand:hover, .navbar-brand:focus { - text-decoration: none; -} - -.navbar-nav { - display: -ms-flexbox; - display: flex; - -ms-flex-direction: column; - flex-direction: column; - padding-left: 0; - margin-bottom: 0; - list-style: none; -} - -.navbar-nav .nav-link { - padding-right: 0; - padding-left: 0; -} - -.navbar-nav .dropdown-menu { - position: static; - float: none; -} - -.navbar-text { - display: inline-block; - padding-top: 0.5rem; - padding-bottom: 0.5rem; -} - -.navbar-collapse { - -ms-flex-preferred-size: 100%; - flex-basis: 100%; - -ms-flex-positive: 1; - flex-grow: 1; - -ms-flex-align: center; - align-items: center; -} - -.navbar-toggler { - padding: 0.25rem 0.75rem; - font-size: 1.25rem; - line-height: 1; - background-color: transparent; - border: 1px solid transparent; - border-radius: 0.25rem; -} - -.navbar-toggler:hover, .navbar-toggler:focus { - text-decoration: none; -} - -.navbar-toggler:not(:disabled):not(.disabled) { - cursor: pointer; -} - -.navbar-toggler-icon { - display: inline-block; - width: 1.5em; - height: 1.5em; - vertical-align: middle; - content: ""; - background: no-repeat center center; - background-size: 100% 100%; -} - -@media (max-width: 575.98px) { - .navbar-expand-sm > .container, - .navbar-expand-sm > .container-fluid { - padding-right: 0; - padding-left: 0; - } -} - -@media (min-width: 576px) { - .navbar-expand-sm { - -ms-flex-flow: row nowrap; - flex-flow: row nowrap; - -ms-flex-pack: start; - justify-content: flex-start; - } - .navbar-expand-sm .navbar-nav { - -ms-flex-direction: row; - flex-direction: row; - } - .navbar-expand-sm .navbar-nav .dropdown-menu { - position: absolute; - } - .navbar-expand-sm .navbar-nav .nav-link { - padding-right: 0.5rem; - padding-left: 0.5rem; - } - .navbar-expand-sm > .container, - .navbar-expand-sm > .container-fluid { - -ms-flex-wrap: nowrap; - flex-wrap: nowrap; - } - .navbar-expand-sm .navbar-collapse { - display: -ms-flexbox !important; - display: flex !important; - -ms-flex-preferred-size: auto; - flex-basis: auto; - } - .navbar-expand-sm .navbar-toggler { - display: none; - } -} - -@media (max-width: 767.98px) { - .navbar-expand-md > .container, - .navbar-expand-md > .container-fluid { - padding-right: 0; - padding-left: 0; - } -} - -@media (min-width: 768px) { - .navbar-expand-md { - -ms-flex-flow: row nowrap; - flex-flow: row nowrap; - -ms-flex-pack: start; - justify-content: flex-start; - } - .navbar-expand-md .navbar-nav { - -ms-flex-direction: row; - flex-direction: row; - } - .navbar-expand-md .navbar-nav .dropdown-menu { - position: absolute; - } - .navbar-expand-md .navbar-nav .nav-link { - padding-right: 0.5rem; - padding-left: 0.5rem; - } - .navbar-expand-md > .container, - .navbar-expand-md > .container-fluid { - -ms-flex-wrap: nowrap; - flex-wrap: nowrap; - } - .navbar-expand-md .navbar-collapse { - display: -ms-flexbox !important; - display: flex !important; - -ms-flex-preferred-size: auto; - flex-basis: auto; - } - .navbar-expand-md .navbar-toggler { - display: none; - } -} - -@media (max-width: 991.98px) { - .navbar-expand-lg > .container, - .navbar-expand-lg > .container-fluid { - padding-right: 0; - padding-left: 0; - } -} - -@media (min-width: 992px) { - .navbar-expand-lg { - -ms-flex-flow: row nowrap; - flex-flow: row nowrap; - -ms-flex-pack: start; - justify-content: flex-start; - } - .navbar-expand-lg .navbar-nav { - -ms-flex-direction: row; - flex-direction: row; - } - .navbar-expand-lg .navbar-nav .dropdown-menu { - position: absolute; - } - .navbar-expand-lg .navbar-nav .nav-link { - padding-right: 0.5rem; - padding-left: 0.5rem; - } - .navbar-expand-lg > .container, - .navbar-expand-lg > .container-fluid { - -ms-flex-wrap: nowrap; - flex-wrap: nowrap; - } - .navbar-expand-lg .navbar-collapse { - display: -ms-flexbox !important; - display: flex !important; - -ms-flex-preferred-size: auto; - flex-basis: auto; - } - .navbar-expand-lg .navbar-toggler { - display: none; - } -} - -@media (max-width: 1199.98px) { - .navbar-expand-xl > .container, - .navbar-expand-xl > .container-fluid { - padding-right: 0; - padding-left: 0; - } -} - -@media (min-width: 1200px) { - .navbar-expand-xl { - -ms-flex-flow: row nowrap; - flex-flow: row nowrap; - -ms-flex-pack: start; - justify-content: flex-start; - } - .navbar-expand-xl .navbar-nav { - -ms-flex-direction: row; - flex-direction: row; - } - .navbar-expand-xl .navbar-nav .dropdown-menu { - position: absolute; - } - .navbar-expand-xl .navbar-nav .nav-link { - padding-right: 0.5rem; - padding-left: 0.5rem; - } - .navbar-expand-xl > .container, - .navbar-expand-xl > .container-fluid { - -ms-flex-wrap: nowrap; - flex-wrap: nowrap; - } - .navbar-expand-xl .navbar-collapse { - display: -ms-flexbox !important; - display: flex !important; - -ms-flex-preferred-size: auto; - flex-basis: auto; - } - .navbar-expand-xl .navbar-toggler { - display: none; - } -} - -.navbar-expand { - -ms-flex-flow: row nowrap; - flex-flow: row nowrap; - -ms-flex-pack: start; - justify-content: flex-start; -} - -.navbar-expand > .container, -.navbar-expand > .container-fluid { - padding-right: 0; - padding-left: 0; -} - -.navbar-expand .navbar-nav { - -ms-flex-direction: row; - flex-direction: row; -} - -.navbar-expand .navbar-nav .dropdown-menu { - position: absolute; -} - -.navbar-expand .navbar-nav .nav-link { - padding-right: 0.5rem; - padding-left: 0.5rem; -} - -.navbar-expand > .container, -.navbar-expand > .container-fluid { - -ms-flex-wrap: nowrap; - flex-wrap: nowrap; -} - -.navbar-expand .navbar-collapse { - display: -ms-flexbox !important; - display: flex !important; - -ms-flex-preferred-size: auto; - flex-basis: auto; -} - -.navbar-expand .navbar-toggler { - display: none; -} - -.navbar-light .navbar-brand { - color: rgba(0, 0, 0, 0.9); -} - -.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus { - color: rgba(0, 0, 0, 0.9); -} - -.navbar-light .navbar-nav .nav-link { - color: rgba(0, 0, 0, 0.5); -} - -.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus { - color: rgba(0, 0, 0, 0.7); -} - -.navbar-light .navbar-nav .nav-link.disabled { - color: rgba(0, 0, 0, 0.3); -} - -.navbar-light .navbar-nav .show > .nav-link, -.navbar-light .navbar-nav .active > .nav-link, -.navbar-light .navbar-nav .nav-link.show, -.navbar-light .navbar-nav .nav-link.active { - color: rgba(0, 0, 0, 0.9); -} - -.navbar-light .navbar-toggler { - color: rgba(0, 0, 0, 0.5); - border-color: rgba(0, 0, 0, 0.1); -} - -.navbar-light .navbar-toggler-icon { - background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E"); -} - -.navbar-light .navbar-text { - color: rgba(0, 0, 0, 0.5); -} - -.navbar-light .navbar-text a { - color: rgba(0, 0, 0, 0.9); -} - -.navbar-light .navbar-text a:hover, .navbar-light .navbar-text a:focus { - color: rgba(0, 0, 0, 0.9); -} - -.navbar-dark .navbar-brand { - color: #fff; -} - -.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus { - color: #fff; -} - -.navbar-dark .navbar-nav .nav-link { - color: rgba(255, 255, 255, 0.5); -} - -.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus { - color: rgba(255, 255, 255, 0.75); -} - -.navbar-dark .navbar-nav .nav-link.disabled { - color: rgba(255, 255, 255, 0.25); -} - -.navbar-dark .navbar-nav .show > .nav-link, -.navbar-dark .navbar-nav .active > .nav-link, -.navbar-dark .navbar-nav .nav-link.show, -.navbar-dark .navbar-nav .nav-link.active { - color: #fff; -} - -.navbar-dark .navbar-toggler { - color: rgba(255, 255, 255, 0.5); - border-color: rgba(255, 255, 255, 0.1); -} - -.navbar-dark .navbar-toggler-icon { - background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E"); -} - -.navbar-dark .navbar-text { - color: rgba(255, 255, 255, 0.5); -} - -.navbar-dark .navbar-text a { - color: #fff; -} - -.navbar-dark .navbar-text a:hover, .navbar-dark .navbar-text a:focus { - color: #fff; -} - -.card { - position: relative; - display: -ms-flexbox; - display: flex; - -ms-flex-direction: column; - flex-direction: column; - min-width: 0; - word-wrap: break-word; - background-color: #fff; - background-clip: border-box; - border: 1px solid rgba(0, 0, 0, 0.125); - border-radius: 0.25rem; -} - -.card > hr { - margin-right: 0; - margin-left: 0; -} - -.card > .list-group:first-child .list-group-item:first-child { - border-top-left-radius: 0.25rem; - border-top-right-radius: 0.25rem; -} - -.card > .list-group:last-child .list-group-item:last-child { - border-bottom-right-radius: 0.25rem; - border-bottom-left-radius: 0.25rem; -} - -.card-body { - -ms-flex: 1 1 auto; - flex: 1 1 auto; - padding: 1.25rem; -} - -.card-title { - margin-bottom: 0.75rem; -} - -.card-subtitle { - margin-top: -0.375rem; - margin-bottom: 0; -} - -.card-text:last-child { - margin-bottom: 0; -} - -.card-link:hover { - text-decoration: none; -} - -.card-link + .card-link { - margin-left: 1.25rem; -} - -.card-header { - padding: 0.75rem 1.25rem; - margin-bottom: 0; - background-color: rgba(0, 0, 0, 0.03); - border-bottom: 1px solid rgba(0, 0, 0, 0.125); -} - -.card-header:first-child { - border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0; -} - -.card-header + .list-group .list-group-item:first-child { - border-top: 0; -} - -.card-footer { - padding: 0.75rem 1.25rem; - background-color: rgba(0, 0, 0, 0.03); - border-top: 1px solid rgba(0, 0, 0, 0.125); -} - -.card-footer:last-child { - border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px); -} - -.card-header-tabs { - margin-right: -0.625rem; - margin-bottom: -0.75rem; - margin-left: -0.625rem; - border-bottom: 0; -} - -.card-header-pills { - margin-right: -0.625rem; - margin-left: -0.625rem; -} - -.card-img-overlay { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - padding: 1.25rem; -} - -.card-img { - width: 100%; - border-radius: calc(0.25rem - 1px); -} - -.card-img-top { - width: 100%; - border-top-left-radius: calc(0.25rem - 1px); - border-top-right-radius: calc(0.25rem - 1px); -} - -.card-img-bottom { - width: 100%; - border-bottom-right-radius: calc(0.25rem - 1px); - border-bottom-left-radius: calc(0.25rem - 1px); -} - -.card-deck { - display: -ms-flexbox; - display: flex; - -ms-flex-direction: column; - flex-direction: column; -} - -.card-deck .card { - margin-bottom: 15px; -} - -@media (min-width: 576px) { - .card-deck { - -ms-flex-flow: row wrap; - flex-flow: row wrap; - margin-right: -15px; - margin-left: -15px; - } - .card-deck .card { - display: -ms-flexbox; - display: flex; - -ms-flex: 1 0 0%; - flex: 1 0 0%; - -ms-flex-direction: column; - flex-direction: column; - margin-right: 15px; - margin-bottom: 0; - margin-left: 15px; - } -} - -.card-group { - display: -ms-flexbox; - display: flex; - -ms-flex-direction: column; - flex-direction: column; -} - -.card-group > .card { - margin-bottom: 15px; -} - -@media (min-width: 576px) { - .card-group { - -ms-flex-flow: row wrap; - flex-flow: row wrap; - } - .card-group > .card { - -ms-flex: 1 0 0%; - flex: 1 0 0%; - margin-bottom: 0; - } - .card-group > .card + .card { - margin-left: 0; - border-left: 0; - } - .card-group > .card:first-child { - border-top-right-radius: 0; - border-bottom-right-radius: 0; - } - .card-group > .card:first-child .card-img-top, - .card-group > .card:first-child .card-header { - border-top-right-radius: 0; - } - .card-group > .card:first-child .card-img-bottom, - .card-group > .card:first-child .card-footer { - border-bottom-right-radius: 0; - } - .card-group > .card:last-child { - border-top-left-radius: 0; - border-bottom-left-radius: 0; - } - .card-group > .card:last-child .card-img-top, - .card-group > .card:last-child .card-header { - border-top-left-radius: 0; - } - .card-group > .card:last-child .card-img-bottom, - .card-group > .card:last-child .card-footer { - border-bottom-left-radius: 0; - } - .card-group > .card:only-child { - border-radius: 0.25rem; - } - .card-group > .card:only-child .card-img-top, - .card-group > .card:only-child .card-header { - border-top-left-radius: 0.25rem; - border-top-right-radius: 0.25rem; - } - .card-group > .card:only-child .card-img-bottom, - .card-group > .card:only-child .card-footer { - border-bottom-right-radius: 0.25rem; - border-bottom-left-radius: 0.25rem; - } - .card-group > .card:not(:first-child):not(:last-child):not(:only-child) { - border-radius: 0; - } - .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-img-top, - .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-img-bottom, - .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-header, - .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-footer { - border-radius: 0; - } -} - -.card-columns .card { - margin-bottom: 0.75rem; -} - -@media (min-width: 576px) { - .card-columns { - -webkit-column-count: 3; - -moz-column-count: 3; - column-count: 3; - -webkit-column-gap: 1.25rem; - -moz-column-gap: 1.25rem; - column-gap: 1.25rem; - orphans: 1; - widows: 1; - } - .card-columns .card { - display: inline-block; - width: 100%; - } -} - -.accordion .card:not(:first-of-type):not(:last-of-type) { - border-bottom: 0; - border-radius: 0; -} - -.accordion .card:not(:first-of-type) .card-header:first-child { - border-radius: 0; -} - -.accordion .card:first-of-type { - border-bottom: 0; - border-bottom-right-radius: 0; - border-bottom-left-radius: 0; -} - -.accordion .card:last-of-type { - border-top-left-radius: 0; - border-top-right-radius: 0; -} - -.breadcrumb { - display: -ms-flexbox; - display: flex; - -ms-flex-wrap: wrap; - flex-wrap: wrap; - padding: 0.75rem 1rem; - margin-bottom: 1rem; - list-style: none; - background-color: #e9ecef; - border-radius: 0.25rem; -} - -.breadcrumb-item + .breadcrumb-item { - padding-left: 0.5rem; -} - -.breadcrumb-item + .breadcrumb-item::before { - display: inline-block; - padding-right: 0.5rem; - color: #6c757d; - content: "/"; -} - -.breadcrumb-item + .breadcrumb-item:hover::before { - text-decoration: underline; -} - -.breadcrumb-item + .breadcrumb-item:hover::before { - text-decoration: none; -} - -.breadcrumb-item.active { - color: #6c757d; -} - -.pagination { - display: -ms-flexbox; - display: flex; - padding-left: 0; - list-style: none; - border-radius: 0.25rem; -} - -.page-link { - position: relative; - display: block; - padding: 0.5rem 0.75rem; - margin-left: -1px; - line-height: 1.25; - color: #007bff; - background-color: #fff; - border: 1px solid #dee2e6; -} - -.page-link:hover { - z-index: 2; - color: #0056b3; - text-decoration: none; - background-color: #e9ecef; - border-color: #dee2e6; -} - -.page-link:focus { - z-index: 2; - outline: 0; - box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); -} - -.page-link:not(:disabled):not(.disabled) { - cursor: pointer; -} - -.page-item:first-child .page-link { - margin-left: 0; - border-top-left-radius: 0.25rem; - border-bottom-left-radius: 0.25rem; -} - -.page-item:last-child .page-link { - border-top-right-radius: 0.25rem; - border-bottom-right-radius: 0.25rem; -} - -.page-item.active .page-link { - z-index: 1; - color: #fff; - background-color: #007bff; - border-color: #007bff; -} - -.page-item.disabled .page-link { - color: #6c757d; - pointer-events: none; - cursor: auto; - background-color: #fff; - border-color: #dee2e6; -} - -.pagination-lg .page-link { - padding: 0.75rem 1.5rem; - font-size: 1.25rem; - line-height: 1.5; -} - -.pagination-lg .page-item:first-child .page-link { - border-top-left-radius: 0.3rem; - border-bottom-left-radius: 0.3rem; -} - -.pagination-lg .page-item:last-child .page-link { - border-top-right-radius: 0.3rem; - border-bottom-right-radius: 0.3rem; -} - -.pagination-sm .page-link { - padding: 0.25rem 0.5rem; - font-size: 0.875rem; - line-height: 1.5; -} - -.pagination-sm .page-item:first-child .page-link { - border-top-left-radius: 0.2rem; - border-bottom-left-radius: 0.2rem; -} - -.pagination-sm .page-item:last-child .page-link { - border-top-right-radius: 0.2rem; - border-bottom-right-radius: 0.2rem; -} - -.badge { - display: inline-block; - padding: 0.25em 0.4em; - font-size: 75%; - font-weight: 700; - line-height: 1; - text-align: center; - white-space: nowrap; - vertical-align: baseline; - border-radius: 0.25rem; -} - -.badge:empty { - display: none; -} - -.btn .badge { - position: relative; - top: -1px; -} - -.badge-pill { - padding-right: 0.6em; - padding-left: 0.6em; - border-radius: 10rem; -} - -.badge-primary { - color: #fff; - background-color: #007bff; -} - -.badge-primary[href]:hover, .badge-primary[href]:focus { - color: #fff; - text-decoration: none; - background-color: #0062cc; -} - -.badge-secondary { - color: #fff; - background-color: #6c757d; -} - -.badge-secondary[href]:hover, .badge-secondary[href]:focus { - color: #fff; - text-decoration: none; - background-color: #545b62; -} - -.badge-success { - color: #fff; - background-color: #28a745; -} - -.badge-success[href]:hover, .badge-success[href]:focus { - color: #fff; - text-decoration: none; - background-color: #1e7e34; -} - -.badge-info { - color: #fff; - background-color: #17a2b8; -} - -.badge-info[href]:hover, .badge-info[href]:focus { - color: #fff; - text-decoration: none; - background-color: #117a8b; -} - -.badge-warning { - color: #212529; - background-color: #ffc107; -} - -.badge-warning[href]:hover, .badge-warning[href]:focus { - color: #212529; - text-decoration: none; - background-color: #d39e00; -} - -.badge-danger { - color: #fff; - background-color: #dc3545; -} - -.badge-danger[href]:hover, .badge-danger[href]:focus { - color: #fff; - text-decoration: none; - background-color: #bd2130; -} - -.badge-light { - color: #212529; - background-color: #f8f9fa; -} - -.badge-light[href]:hover, .badge-light[href]:focus { - color: #212529; - text-decoration: none; - background-color: #dae0e5; -} - -.badge-dark { - color: #fff; - background-color: #343a40; -} - -.badge-dark[href]:hover, .badge-dark[href]:focus { - color: #fff; - text-decoration: none; - background-color: #1d2124; -} - -.jumbotron { - padding: 2rem 1rem; - margin-bottom: 2rem; - background-color: #e9ecef; - border-radius: 0.3rem; -} - -@media (min-width: 576px) { - .jumbotron { - padding: 4rem 2rem; - } -} - -.jumbotron-fluid { - padding-right: 0; - padding-left: 0; - border-radius: 0; -} - -.alert { - position: relative; - padding: 0.75rem 1.25rem; - margin-bottom: 1rem; - border: 1px solid transparent; - border-radius: 0.25rem; -} - -.alert-heading { - color: inherit; -} - -.alert-link { - font-weight: 700; -} - -.alert-dismissible { - padding-right: 4rem; -} - -.alert-dismissible .close { - position: absolute; - top: 0; - right: 0; - padding: 0.75rem 1.25rem; - color: inherit; -} - -.alert-primary { - color: #004085; - background-color: #cce5ff; - border-color: #b8daff; -} - -.alert-primary hr { - border-top-color: #9fcdff; -} - -.alert-primary .alert-link { - color: #002752; -} - -.alert-secondary { - color: #383d41; - background-color: #e2e3e5; - border-color: #d6d8db; -} - -.alert-secondary hr { - border-top-color: #c8cbcf; -} - -.alert-secondary .alert-link { - color: #202326; -} - -.alert-success { - color: #155724; - background-color: #d4edda; - border-color: #c3e6cb; -} - -.alert-success hr { - border-top-color: #b1dfbb; -} - -.alert-success .alert-link { - color: #0b2e13; -} - -.alert-info { - color: #0c5460; - background-color: #d1ecf1; - border-color: #bee5eb; -} - -.alert-info hr { - border-top-color: #abdde5; -} - -.alert-info .alert-link { - color: #062c33; -} - -.alert-warning { - color: #856404; - background-color: #fff3cd; - border-color: #ffeeba; -} - -.alert-warning hr { - border-top-color: #ffe8a1; -} - -.alert-warning .alert-link { - color: #533f03; -} - -.alert-danger { - color: #721c24; - background-color: #f8d7da; - border-color: #f5c6cb; -} - -.alert-danger hr { - border-top-color: #f1b0b7; -} - -.alert-danger .alert-link { - color: #491217; -} - -.alert-light { - color: #818182; - background-color: #fefefe; - border-color: #fdfdfe; -} - -.alert-light hr { - border-top-color: #ececf6; -} - -.alert-light .alert-link { - color: #686868; -} - -.alert-dark { - color: #1b1e21; - background-color: #d6d8d9; - border-color: #c6c8ca; -} - -.alert-dark hr { - border-top-color: #b9bbbe; -} - -.alert-dark .alert-link { - color: #040505; -} - -@-webkit-keyframes progress-bar-stripes { - from { - background-position: 1rem 0; - } - to { - background-position: 0 0; - } -} - -@keyframes progress-bar-stripes { - from { - background-position: 1rem 0; - } - to { - background-position: 0 0; - } -} - -.progress { - display: -ms-flexbox; - display: flex; - height: 1rem; - overflow: hidden; - font-size: 0.75rem; - background-color: #e9ecef; - border-radius: 0.25rem; -} - -.progress-bar { - display: -ms-flexbox; - display: flex; - -ms-flex-direction: column; - flex-direction: column; - -ms-flex-pack: center; - justify-content: center; - color: #fff; - text-align: center; - white-space: nowrap; - background-color: #007bff; - transition: width 0.6s ease; -} - -@media screen and (prefers-reduced-motion: reduce) { - .progress-bar { - transition: none; - } -} - -.progress-bar-striped { - background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-size: 1rem 1rem; -} - -.progress-bar-animated { - -webkit-animation: progress-bar-stripes 1s linear infinite; - animation: progress-bar-stripes 1s linear infinite; -} - -.media { - display: -ms-flexbox; - display: flex; - -ms-flex-align: start; - align-items: flex-start; -} - -.media-body { - -ms-flex: 1; - flex: 1; -} - -.list-group { - display: -ms-flexbox; - display: flex; - -ms-flex-direction: column; - flex-direction: column; - padding-left: 0; - margin-bottom: 0; -} - -.list-group-item-action { - width: 100%; - color: #495057; - text-align: inherit; -} - -.list-group-item-action:hover, .list-group-item-action:focus { - color: #495057; - text-decoration: none; - background-color: #f8f9fa; -} - -.list-group-item-action:active { - color: #212529; - background-color: #e9ecef; -} - -.list-group-item { - position: relative; - display: block; - padding: 0.75rem 1.25rem; - margin-bottom: -1px; - background-color: #fff; - border: 1px solid rgba(0, 0, 0, 0.125); -} - -.list-group-item:first-child { - border-top-left-radius: 0.25rem; - border-top-right-radius: 0.25rem; -} - -.list-group-item:last-child { - margin-bottom: 0; - border-bottom-right-radius: 0.25rem; - border-bottom-left-radius: 0.25rem; -} - -.list-group-item:hover, .list-group-item:focus { - z-index: 1; - text-decoration: none; -} - -.list-group-item.disabled, .list-group-item:disabled { - color: #6c757d; - background-color: #fff; -} - -.list-group-item.active { - z-index: 2; - color: #fff; - background-color: #007bff; - border-color: #007bff; -} - -.list-group-flush .list-group-item { - border-right: 0; - border-left: 0; - border-radius: 0; -} - -.list-group-flush:first-child .list-group-item:first-child { - border-top: 0; -} - -.list-group-flush:last-child .list-group-item:last-child { - border-bottom: 0; -} - -.list-group-item-primary { - color: #004085; - background-color: #b8daff; -} - -.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus { - color: #004085; - background-color: #9fcdff; -} - -.list-group-item-primary.list-group-item-action.active { - color: #fff; - background-color: #004085; - border-color: #004085; -} - -.list-group-item-secondary { - color: #383d41; - background-color: #d6d8db; -} - -.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus { - color: #383d41; - background-color: #c8cbcf; -} - -.list-group-item-secondary.list-group-item-action.active { - color: #fff; - background-color: #383d41; - border-color: #383d41; -} - -.list-group-item-success { - color: #155724; - background-color: #c3e6cb; -} - -.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus { - color: #155724; - background-color: #b1dfbb; -} - -.list-group-item-success.list-group-item-action.active { - color: #fff; - background-color: #155724; - border-color: #155724; -} - -.list-group-item-info { - color: #0c5460; - background-color: #bee5eb; -} - -.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus { - color: #0c5460; - background-color: #abdde5; -} - -.list-group-item-info.list-group-item-action.active { - color: #fff; - background-color: #0c5460; - border-color: #0c5460; -} - -.list-group-item-warning { - color: #856404; - background-color: #ffeeba; -} - -.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus { - color: #856404; - background-color: #ffe8a1; -} - -.list-group-item-warning.list-group-item-action.active { - color: #fff; - background-color: #856404; - border-color: #856404; -} - -.list-group-item-danger { - color: #721c24; - background-color: #f5c6cb; -} - -.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus { - color: #721c24; - background-color: #f1b0b7; -} - -.list-group-item-danger.list-group-item-action.active { - color: #fff; - background-color: #721c24; - border-color: #721c24; -} - -.list-group-item-light { - color: #818182; - background-color: #fdfdfe; -} - -.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus { - color: #818182; - background-color: #ececf6; -} - -.list-group-item-light.list-group-item-action.active { - color: #fff; - background-color: #818182; - border-color: #818182; -} - -.list-group-item-dark { - color: #1b1e21; - background-color: #c6c8ca; -} - -.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus { - color: #1b1e21; - background-color: #b9bbbe; -} - -.list-group-item-dark.list-group-item-action.active { - color: #fff; - background-color: #1b1e21; - border-color: #1b1e21; -} - -.close { - float: right; - font-size: 1.5rem; - font-weight: 700; - line-height: 1; - color: #000; - text-shadow: 0 1px 0 #fff; - opacity: .5; -} - -.close:not(:disabled):not(.disabled) { - cursor: pointer; -} - -.close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus { - color: #000; - text-decoration: none; - opacity: .75; -} - -button.close { - padding: 0; - background-color: transparent; - border: 0; - -webkit-appearance: none; -} - -.modal-open { - overflow: hidden; -} - -.modal-open .modal { - overflow-x: hidden; - overflow-y: auto; -} - -.modal { - position: fixed; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: 1050; - display: none; - overflow: hidden; - outline: 0; -} - -.modal-dialog { - position: relative; - width: auto; - margin: 0.5rem; - pointer-events: none; -} - -.modal.fade .modal-dialog { - transition: -webkit-transform 0.3s ease-out; - transition: transform 0.3s ease-out; - transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out; - -webkit-transform: translate(0, -25%); - transform: translate(0, -25%); -} - -@media screen and (prefers-reduced-motion: reduce) { - .modal.fade .modal-dialog { - transition: none; - } -} - -.modal.show .modal-dialog { - -webkit-transform: translate(0, 0); - transform: translate(0, 0); -} - -.modal-dialog-centered { - display: -ms-flexbox; - display: flex; - -ms-flex-align: center; - align-items: center; - min-height: calc(100% - (0.5rem * 2)); -} - -.modal-dialog-centered::before { - display: block; - height: calc(100vh - (0.5rem * 2)); - content: ""; -} - -.modal-content { - position: relative; - display: -ms-flexbox; - display: flex; - -ms-flex-direction: column; - flex-direction: column; - width: 100%; - pointer-events: auto; - background-color: #fff; - background-clip: padding-box; - border: 1px solid rgba(0, 0, 0, 0.2); - border-radius: 0.3rem; - outline: 0; -} - -.modal-backdrop { - position: fixed; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: 1040; - background-color: #000; -} - -.modal-backdrop.fade { - opacity: 0; -} - -.modal-backdrop.show { - opacity: 0.5; -} - -.modal-header { - display: -ms-flexbox; - display: flex; - -ms-flex-align: start; - align-items: flex-start; - -ms-flex-pack: justify; - justify-content: space-between; - padding: 1rem; - border-bottom: 1px solid #e9ecef; - border-top-left-radius: 0.3rem; - border-top-right-radius: 0.3rem; -} - -.modal-header .close { - padding: 1rem; - margin: -1rem -1rem -1rem auto; -} - -.modal-title { - margin-bottom: 0; - line-height: 1.5; -} - -.modal-body { - position: relative; - -ms-flex: 1 1 auto; - flex: 1 1 auto; - padding: 1rem; -} - -.modal-footer { - display: -ms-flexbox; - display: flex; - -ms-flex-align: center; - align-items: center; - -ms-flex-pack: end; - justify-content: flex-end; - padding: 1rem; - border-top: 1px solid #e9ecef; -} - -.modal-footer > :not(:first-child) { - margin-left: .25rem; -} - -.modal-footer > :not(:last-child) { - margin-right: .25rem; -} - -.modal-scrollbar-measure { - position: absolute; - top: -9999px; - width: 50px; - height: 50px; - overflow: scroll; -} - -@media (min-width: 576px) { - .modal-dialog { - max-width: 500px; - margin: 1.75rem auto; - } - .modal-dialog-centered { - min-height: calc(100% - (1.75rem * 2)); - } - .modal-dialog-centered::before { - height: calc(100vh - (1.75rem * 2)); - } - .modal-sm { - max-width: 300px; - } -} - -@media (min-width: 992px) { - .modal-lg { - max-width: 800px; - } -} - -.tooltip { - position: absolute; - z-index: 1070; - display: block; - margin: 0; - font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; - font-style: normal; - font-weight: 400; - line-height: 1.5; - text-align: left; - text-align: start; - text-decoration: none; - text-shadow: none; - text-transform: none; - letter-spacing: normal; - word-break: normal; - word-spacing: normal; - white-space: normal; - line-break: auto; - font-size: 0.875rem; - word-wrap: break-word; - opacity: 0; -} - -.tooltip.show { - opacity: 0.9; -} - -.tooltip .arrow { - position: absolute; - display: block; - width: 0.8rem; - height: 0.4rem; -} - -.tooltip .arrow::before { - position: absolute; - content: ""; - border-color: transparent; - border-style: solid; -} - -.bs-tooltip-top, .bs-tooltip-auto[x-placement^="top"] { - padding: 0.4rem 0; -} - -.bs-tooltip-top .arrow, .bs-tooltip-auto[x-placement^="top"] .arrow { - bottom: 0; -} - -.bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^="top"] .arrow::before { - top: 0; - border-width: 0.4rem 0.4rem 0; - border-top-color: #000; -} - -.bs-tooltip-right, .bs-tooltip-auto[x-placement^="right"] { - padding: 0 0.4rem; -} - -.bs-tooltip-right .arrow, .bs-tooltip-auto[x-placement^="right"] .arrow { - left: 0; - width: 0.4rem; - height: 0.8rem; -} - -.bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^="right"] .arrow::before { - right: 0; - border-width: 0.4rem 0.4rem 0.4rem 0; - border-right-color: #000; -} - -.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^="bottom"] { - padding: 0.4rem 0; -} - -.bs-tooltip-bottom .arrow, .bs-tooltip-auto[x-placement^="bottom"] .arrow { - top: 0; -} - -.bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^="bottom"] .arrow::before { - bottom: 0; - border-width: 0 0.4rem 0.4rem; - border-bottom-color: #000; -} - -.bs-tooltip-left, .bs-tooltip-auto[x-placement^="left"] { - padding: 0 0.4rem; -} - -.bs-tooltip-left .arrow, .bs-tooltip-auto[x-placement^="left"] .arrow { - right: 0; - width: 0.4rem; - height: 0.8rem; -} - -.bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^="left"] .arrow::before { - left: 0; - border-width: 0.4rem 0 0.4rem 0.4rem; - border-left-color: #000; -} - -.tooltip-inner { - max-width: 200px; - padding: 0.25rem 0.5rem; - color: #fff; - text-align: center; - background-color: #000; - border-radius: 0.25rem; -} - -.popover { - position: absolute; - top: 0; - left: 0; - z-index: 1060; - display: block; - max-width: 276px; - font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; - font-style: normal; - font-weight: 400; - line-height: 1.5; - text-align: left; - text-align: start; - text-decoration: none; - text-shadow: none; - text-transform: none; - letter-spacing: normal; - word-break: normal; - word-spacing: normal; - white-space: normal; - line-break: auto; - font-size: 0.875rem; - word-wrap: break-word; - background-color: #fff; - background-clip: padding-box; - border: 1px solid rgba(0, 0, 0, 0.2); - border-radius: 0.3rem; -} - -.popover .arrow { - position: absolute; - display: block; - width: 1rem; - height: 0.5rem; - margin: 0 0.3rem; -} - -.popover .arrow::before, .popover .arrow::after { - position: absolute; - display: block; - content: ""; - border-color: transparent; - border-style: solid; -} - -.bs-popover-top, .bs-popover-auto[x-placement^="top"] { - margin-bottom: 0.5rem; -} - -.bs-popover-top .arrow, .bs-popover-auto[x-placement^="top"] .arrow { - bottom: calc((0.5rem + 1px) * -1); -} - -.bs-popover-top .arrow::before, .bs-popover-auto[x-placement^="top"] .arrow::before, -.bs-popover-top .arrow::after, -.bs-popover-auto[x-placement^="top"] .arrow::after { - border-width: 0.5rem 0.5rem 0; -} - -.bs-popover-top .arrow::before, .bs-popover-auto[x-placement^="top"] .arrow::before { - bottom: 0; - border-top-color: rgba(0, 0, 0, 0.25); -} - - -.bs-popover-top .arrow::after, -.bs-popover-auto[x-placement^="top"] .arrow::after { - bottom: 1px; - border-top-color: #fff; -} - -.bs-popover-right, .bs-popover-auto[x-placement^="right"] { - margin-left: 0.5rem; -} - -.bs-popover-right .arrow, .bs-popover-auto[x-placement^="right"] .arrow { - left: calc((0.5rem + 1px) * -1); - width: 0.5rem; - height: 1rem; - margin: 0.3rem 0; -} - -.bs-popover-right .arrow::before, .bs-popover-auto[x-placement^="right"] .arrow::before, -.bs-popover-right .arrow::after, -.bs-popover-auto[x-placement^="right"] .arrow::after { - border-width: 0.5rem 0.5rem 0.5rem 0; -} - -.bs-popover-right .arrow::before, .bs-popover-auto[x-placement^="right"] .arrow::before { - left: 0; - border-right-color: rgba(0, 0, 0, 0.25); -} - - -.bs-popover-right .arrow::after, -.bs-popover-auto[x-placement^="right"] .arrow::after { - left: 1px; - border-right-color: #fff; -} - -.bs-popover-bottom, .bs-popover-auto[x-placement^="bottom"] { - margin-top: 0.5rem; -} - -.bs-popover-bottom .arrow, .bs-popover-auto[x-placement^="bottom"] .arrow { - top: calc((0.5rem + 1px) * -1); -} - -.bs-popover-bottom .arrow::before, .bs-popover-auto[x-placement^="bottom"] .arrow::before, -.bs-popover-bottom .arrow::after, -.bs-popover-auto[x-placement^="bottom"] .arrow::after { - border-width: 0 0.5rem 0.5rem 0.5rem; -} - -.bs-popover-bottom .arrow::before, .bs-popover-auto[x-placement^="bottom"] .arrow::before { - top: 0; - border-bottom-color: rgba(0, 0, 0, 0.25); -} - - -.bs-popover-bottom .arrow::after, -.bs-popover-auto[x-placement^="bottom"] .arrow::after { - top: 1px; - border-bottom-color: #fff; -} - -.bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^="bottom"] .popover-header::before { - position: absolute; - top: 0; - left: 50%; - display: block; - width: 1rem; - margin-left: -0.5rem; - content: ""; - border-bottom: 1px solid #f7f7f7; -} - -.bs-popover-left, .bs-popover-auto[x-placement^="left"] { - margin-right: 0.5rem; -} - -.bs-popover-left .arrow, .bs-popover-auto[x-placement^="left"] .arrow { - right: calc((0.5rem + 1px) * -1); - width: 0.5rem; - height: 1rem; - margin: 0.3rem 0; -} - -.bs-popover-left .arrow::before, .bs-popover-auto[x-placement^="left"] .arrow::before, -.bs-popover-left .arrow::after, -.bs-popover-auto[x-placement^="left"] .arrow::after { - border-width: 0.5rem 0 0.5rem 0.5rem; -} - -.bs-popover-left .arrow::before, .bs-popover-auto[x-placement^="left"] .arrow::before { - right: 0; - border-left-color: rgba(0, 0, 0, 0.25); -} - - -.bs-popover-left .arrow::after, -.bs-popover-auto[x-placement^="left"] .arrow::after { - right: 1px; - border-left-color: #fff; -} - -.popover-header { - padding: 0.5rem 0.75rem; - margin-bottom: 0; - font-size: 1rem; - color: inherit; - background-color: #f7f7f7; - border-bottom: 1px solid #ebebeb; - border-top-left-radius: calc(0.3rem - 1px); - border-top-right-radius: calc(0.3rem - 1px); -} - -.popover-header:empty { - display: none; -} - -.popover-body { - padding: 0.5rem 0.75rem; - color: #212529; -} - -.carousel { - position: relative; -} - -.carousel-inner { - position: relative; - width: 100%; - overflow: hidden; -} - -.carousel-item { - position: relative; - display: none; - -ms-flex-align: center; - align-items: center; - width: 100%; - -webkit-backface-visibility: hidden; - backface-visibility: hidden; - -webkit-perspective: 1000px; - perspective: 1000px; -} - -.carousel-item.active, -.carousel-item-next, -.carousel-item-prev { - display: block; - transition: -webkit-transform 0.6s ease; - transition: transform 0.6s ease; - transition: transform 0.6s ease, -webkit-transform 0.6s ease; -} - -@media screen and (prefers-reduced-motion: reduce) { - .carousel-item.active, - .carousel-item-next, - .carousel-item-prev { - transition: none; - } -} - -.carousel-item-next, -.carousel-item-prev { - position: absolute; - top: 0; -} - -.carousel-item-next.carousel-item-left, -.carousel-item-prev.carousel-item-right { - -webkit-transform: translateX(0); - transform: translateX(0); -} - -@supports ((-webkit-transform-style: preserve-3d) or (transform-style: preserve-3d)) { - .carousel-item-next.carousel-item-left, - .carousel-item-prev.carousel-item-right { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -.carousel-item-next, -.active.carousel-item-right { - -webkit-transform: translateX(100%); - transform: translateX(100%); -} - -@supports ((-webkit-transform-style: preserve-3d) or (transform-style: preserve-3d)) { - .carousel-item-next, - .active.carousel-item-right { - -webkit-transform: translate3d(100%, 0, 0); - transform: translate3d(100%, 0, 0); - } -} - -.carousel-item-prev, -.active.carousel-item-left { - -webkit-transform: translateX(-100%); - transform: translateX(-100%); -} - -@supports ((-webkit-transform-style: preserve-3d) or (transform-style: preserve-3d)) { - .carousel-item-prev, - .active.carousel-item-left { - -webkit-transform: translate3d(-100%, 0, 0); - transform: translate3d(-100%, 0, 0); - } -} - -.carousel-fade .carousel-item { - opacity: 0; - transition-duration: .6s; - transition-property: opacity; -} - -.carousel-fade .carousel-item.active, -.carousel-fade .carousel-item-next.carousel-item-left, -.carousel-fade .carousel-item-prev.carousel-item-right { - opacity: 1; -} - -.carousel-fade .active.carousel-item-left, -.carousel-fade .active.carousel-item-right { - opacity: 0; -} - -.carousel-fade .carousel-item-next, -.carousel-fade .carousel-item-prev, -.carousel-fade .carousel-item.active, -.carousel-fade .active.carousel-item-left, -.carousel-fade .active.carousel-item-prev { - -webkit-transform: translateX(0); - transform: translateX(0); -} - -@supports ((-webkit-transform-style: preserve-3d) or (transform-style: preserve-3d)) { - .carousel-fade .carousel-item-next, - .carousel-fade .carousel-item-prev, - .carousel-fade .carousel-item.active, - .carousel-fade .active.carousel-item-left, - .carousel-fade .active.carousel-item-prev { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -.carousel-control-prev, -.carousel-control-next { - position: absolute; - top: 0; - bottom: 0; - display: -ms-flexbox; - display: flex; - -ms-flex-align: center; - align-items: center; - -ms-flex-pack: center; - justify-content: center; - width: 15%; - color: #fff; - text-align: center; - opacity: 0.5; -} - -.carousel-control-prev:hover, .carousel-control-prev:focus, -.carousel-control-next:hover, -.carousel-control-next:focus { - color: #fff; - text-decoration: none; - outline: 0; - opacity: .9; -} - -.carousel-control-prev { - left: 0; -} - -.carousel-control-next { - right: 0; -} - -.carousel-control-prev-icon, -.carousel-control-next-icon { - display: inline-block; - width: 20px; - height: 20px; - background: transparent no-repeat center center; - background-size: 100% 100%; -} - -.carousel-control-prev-icon { - background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E"); -} - -.carousel-control-next-icon { - background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E"); -} - -.carousel-indicators { - position: absolute; - right: 0; - bottom: 10px; - left: 0; - z-index: 15; - display: -ms-flexbox; - display: flex; - -ms-flex-pack: center; - justify-content: center; - padding-left: 0; - margin-right: 15%; - margin-left: 15%; - list-style: none; -} - -.carousel-indicators li { - position: relative; - -ms-flex: 0 1 auto; - flex: 0 1 auto; - width: 30px; - height: 3px; - margin-right: 3px; - margin-left: 3px; - text-indent: -999px; - cursor: pointer; - background-color: rgba(255, 255, 255, 0.5); -} - -.carousel-indicators li::before { - position: absolute; - top: -10px; - left: 0; - display: inline-block; - width: 100%; - height: 10px; - content: ""; -} - -.carousel-indicators li::after { - position: absolute; - bottom: -10px; - left: 0; - display: inline-block; - width: 100%; - height: 10px; - content: ""; -} - -.carousel-indicators .active { - background-color: #fff; -} - -.carousel-caption { - position: absolute; - right: 15%; - bottom: 20px; - left: 15%; - z-index: 10; - padding-top: 20px; - padding-bottom: 20px; - color: #fff; - text-align: center; -} - -.align-baseline { - vertical-align: baseline !important; -} - -.align-top { - vertical-align: top !important; -} - -.align-middle { - vertical-align: middle !important; -} - -.align-bottom { - vertical-align: bottom !important; -} - -.align-text-bottom { - vertical-align: text-bottom !important; -} - -.align-text-top { - vertical-align: text-top !important; -} - -.bg-primary { - background-color: #007bff !important; -} - -a.bg-primary:hover, a.bg-primary:focus, -button.bg-primary:hover, -button.bg-primary:focus { - background-color: #0062cc !important; -} - -.bg-secondary { - background-color: #6c757d !important; -} - -a.bg-secondary:hover, a.bg-secondary:focus, -button.bg-secondary:hover, -button.bg-secondary:focus { - background-color: #545b62 !important; -} - -.bg-success { - background-color: #28a745 !important; -} - -a.bg-success:hover, a.bg-success:focus, -button.bg-success:hover, -button.bg-success:focus { - background-color: #1e7e34 !important; -} - -.bg-info { - background-color: #17a2b8 !important; -} - -a.bg-info:hover, a.bg-info:focus, -button.bg-info:hover, -button.bg-info:focus { - background-color: #117a8b !important; -} - -.bg-warning { - background-color: #ffc107 !important; -} - -a.bg-warning:hover, a.bg-warning:focus, -button.bg-warning:hover, -button.bg-warning:focus { - background-color: #d39e00 !important; -} - -.bg-danger { - background-color: #dc3545 !important; -} - -a.bg-danger:hover, a.bg-danger:focus, -button.bg-danger:hover, -button.bg-danger:focus { - background-color: #bd2130 !important; -} - -.bg-light { - background-color: #f8f9fa !important; -} - -a.bg-light:hover, a.bg-light:focus, -button.bg-light:hover, -button.bg-light:focus { - background-color: #dae0e5 !important; -} - -.bg-dark { - background-color: #343a40 !important; -} - -a.bg-dark:hover, a.bg-dark:focus, -button.bg-dark:hover, -button.bg-dark:focus { - background-color: #1d2124 !important; -} - -.bg-white { - background-color: #fff !important; -} - -.bg-transparent { - background-color: transparent !important; -} - -.border { - border: 1px solid #dee2e6 !important; -} - -.border-top { - border-top: 1px solid #dee2e6 !important; -} - -.border-right { - border-right: 1px solid #dee2e6 !important; -} - -.border-bottom { - border-bottom: 1px solid #dee2e6 !important; -} - -.border-left { - border-left: 1px solid #dee2e6 !important; -} - -.border-0 { - border: 0 !important; -} - -.border-top-0 { - border-top: 0 !important; -} - -.border-right-0 { - border-right: 0 !important; -} - -.border-bottom-0 { - border-bottom: 0 !important; -} - -.border-left-0 { - border-left: 0 !important; -} - -.border-primary { - border-color: #007bff !important; -} - -.border-secondary { - border-color: #6c757d !important; -} - -.border-success { - border-color: #28a745 !important; -} - -.border-info { - border-color: #17a2b8 !important; -} - -.border-warning { - border-color: #ffc107 !important; -} - -.border-danger { - border-color: #dc3545 !important; -} - -.border-light { - border-color: #f8f9fa !important; -} - -.border-dark { - border-color: #343a40 !important; -} - -.border-white { - border-color: #fff !important; -} - -.rounded { - border-radius: 0.25rem !important; -} - -.rounded-top { - border-top-left-radius: 0.25rem !important; - border-top-right-radius: 0.25rem !important; -} - -.rounded-right { - border-top-right-radius: 0.25rem !important; - border-bottom-right-radius: 0.25rem !important; -} - -.rounded-bottom { - border-bottom-right-radius: 0.25rem !important; - border-bottom-left-radius: 0.25rem !important; -} - -.rounded-left { - border-top-left-radius: 0.25rem !important; - border-bottom-left-radius: 0.25rem !important; -} - -.rounded-circle { - border-radius: 50% !important; -} - -.rounded-0 { - border-radius: 0 !important; -} - -.clearfix::after { - display: block; - clear: both; - content: ""; -} - -.d-none { - display: none !important; -} - -.d-inline { - display: inline !important; -} - -.d-inline-block { - display: inline-block !important; -} - -.d-block { - display: block !important; -} - -.d-table { - display: table !important; -} - -.d-table-row { - display: table-row !important; -} - -.d-table-cell { - display: table-cell !important; -} - -.d-flex { - display: -ms-flexbox !important; - display: flex !important; -} - -.d-inline-flex { - display: -ms-inline-flexbox !important; - display: inline-flex !important; -} - -@media (min-width: 576px) { - .d-sm-none { - display: none !important; - } - .d-sm-inline { - display: inline !important; - } - .d-sm-inline-block { - display: inline-block !important; - } - .d-sm-block { - display: block !important; - } - .d-sm-table { - display: table !important; - } - .d-sm-table-row { - display: table-row !important; - } - .d-sm-table-cell { - display: table-cell !important; - } - .d-sm-flex { - display: -ms-flexbox !important; - display: flex !important; - } - .d-sm-inline-flex { - display: -ms-inline-flexbox !important; - display: inline-flex !important; - } -} - -@media (min-width: 768px) { - .d-md-none { - display: none !important; - } - .d-md-inline { - display: inline !important; - } - .d-md-inline-block { - display: inline-block !important; - } - .d-md-block { - display: block !important; - } - .d-md-table { - display: table !important; - } - .d-md-table-row { - display: table-row !important; - } - .d-md-table-cell { - display: table-cell !important; - } - .d-md-flex { - display: -ms-flexbox !important; - display: flex !important; - } - .d-md-inline-flex { - display: -ms-inline-flexbox !important; - display: inline-flex !important; - } -} - -@media (min-width: 992px) { - .d-lg-none { - display: none !important; - } - .d-lg-inline { - display: inline !important; - } - .d-lg-inline-block { - display: inline-block !important; - } - .d-lg-block { - display: block !important; - } - .d-lg-table { - display: table !important; - } - .d-lg-table-row { - display: table-row !important; - } - .d-lg-table-cell { - display: table-cell !important; - } - .d-lg-flex { - display: -ms-flexbox !important; - display: flex !important; - } - .d-lg-inline-flex { - display: -ms-inline-flexbox !important; - display: inline-flex !important; - } -} - -@media (min-width: 1200px) { - .d-xl-none { - display: none !important; - } - .d-xl-inline { - display: inline !important; - } - .d-xl-inline-block { - display: inline-block !important; - } - .d-xl-block { - display: block !important; - } - .d-xl-table { - display: table !important; - } - .d-xl-table-row { - display: table-row !important; - } - .d-xl-table-cell { - display: table-cell !important; - } - .d-xl-flex { - display: -ms-flexbox !important; - display: flex !important; - } - .d-xl-inline-flex { - display: -ms-inline-flexbox !important; - display: inline-flex !important; - } -} - -@media print { - .d-print-none { - display: none !important; - } - .d-print-inline { - display: inline !important; - } - .d-print-inline-block { - display: inline-block !important; - } - .d-print-block { - display: block !important; - } - .d-print-table { - display: table !important; - } - .d-print-table-row { - display: table-row !important; - } - .d-print-table-cell { - display: table-cell !important; - } - .d-print-flex { - display: -ms-flexbox !important; - display: flex !important; - } - .d-print-inline-flex { - display: -ms-inline-flexbox !important; - display: inline-flex !important; - } -} - -.embed-responsive { - position: relative; - display: block; - width: 100%; - padding: 0; - overflow: hidden; -} - -.embed-responsive::before { - display: block; - content: ""; -} - -.embed-responsive .embed-responsive-item, -.embed-responsive iframe, -.embed-responsive embed, -.embed-responsive object, -.embed-responsive video { - position: absolute; - top: 0; - bottom: 0; - left: 0; - width: 100%; - height: 100%; - border: 0; -} - -.embed-responsive-21by9::before { - padding-top: 42.857143%; -} - -.embed-responsive-16by9::before { - padding-top: 56.25%; -} - -.embed-responsive-4by3::before { - padding-top: 75%; -} - -.embed-responsive-1by1::before { - padding-top: 100%; -} - -.flex-row { - -ms-flex-direction: row !important; - flex-direction: row !important; -} - -.flex-column { - -ms-flex-direction: column !important; - flex-direction: column !important; -} - -.flex-row-reverse { - -ms-flex-direction: row-reverse !important; - flex-direction: row-reverse !important; -} - -.flex-column-reverse { - -ms-flex-direction: column-reverse !important; - flex-direction: column-reverse !important; -} - -.flex-wrap { - -ms-flex-wrap: wrap !important; - flex-wrap: wrap !important; -} - -.flex-nowrap { - -ms-flex-wrap: nowrap !important; - flex-wrap: nowrap !important; -} - -.flex-wrap-reverse { - -ms-flex-wrap: wrap-reverse !important; - flex-wrap: wrap-reverse !important; -} - -.flex-fill { - -ms-flex: 1 1 auto !important; - flex: 1 1 auto !important; -} - -.flex-grow-0 { - -ms-flex-positive: 0 !important; - flex-grow: 0 !important; -} - -.flex-grow-1 { - -ms-flex-positive: 1 !important; - flex-grow: 1 !important; -} - -.flex-shrink-0 { - -ms-flex-negative: 0 !important; - flex-shrink: 0 !important; -} - -.flex-shrink-1 { - -ms-flex-negative: 1 !important; - flex-shrink: 1 !important; -} - -.justify-content-start { - -ms-flex-pack: start !important; - justify-content: flex-start !important; -} - -.justify-content-end { - -ms-flex-pack: end !important; - justify-content: flex-end !important; -} - -.justify-content-center { - -ms-flex-pack: center !important; - justify-content: center !important; -} - -.justify-content-between { - -ms-flex-pack: justify !important; - justify-content: space-between !important; -} - -.justify-content-around { - -ms-flex-pack: distribute !important; - justify-content: space-around !important; -} - -.align-items-start { - -ms-flex-align: start !important; - align-items: flex-start !important; -} - -.align-items-end { - -ms-flex-align: end !important; - align-items: flex-end !important; -} - -.align-items-center { - -ms-flex-align: center !important; - align-items: center !important; -} - -.align-items-baseline { - -ms-flex-align: baseline !important; - align-items: baseline !important; -} - -.align-items-stretch { - -ms-flex-align: stretch !important; - align-items: stretch !important; -} - -.align-content-start { - -ms-flex-line-pack: start !important; - align-content: flex-start !important; -} - -.align-content-end { - -ms-flex-line-pack: end !important; - align-content: flex-end !important; -} - -.align-content-center { - -ms-flex-line-pack: center !important; - align-content: center !important; -} - -.align-content-between { - -ms-flex-line-pack: justify !important; - align-content: space-between !important; -} - -.align-content-around { - -ms-flex-line-pack: distribute !important; - align-content: space-around !important; -} - -.align-content-stretch { - -ms-flex-line-pack: stretch !important; - align-content: stretch !important; -} - -.align-self-auto { - -ms-flex-item-align: auto !important; - align-self: auto !important; -} - -.align-self-start { - -ms-flex-item-align: start !important; - align-self: flex-start !important; -} - -.align-self-end { - -ms-flex-item-align: end !important; - align-self: flex-end !important; -} - -.align-self-center { - -ms-flex-item-align: center !important; - align-self: center !important; -} - -.align-self-baseline { - -ms-flex-item-align: baseline !important; - align-self: baseline !important; -} - -.align-self-stretch { - -ms-flex-item-align: stretch !important; - align-self: stretch !important; -} - -@media (min-width: 576px) { - .flex-sm-row { - -ms-flex-direction: row !important; - flex-direction: row !important; - } - .flex-sm-column { - -ms-flex-direction: column !important; - flex-direction: column !important; - } - .flex-sm-row-reverse { - -ms-flex-direction: row-reverse !important; - flex-direction: row-reverse !important; - } - .flex-sm-column-reverse { - -ms-flex-direction: column-reverse !important; - flex-direction: column-reverse !important; - } - .flex-sm-wrap { - -ms-flex-wrap: wrap !important; - flex-wrap: wrap !important; - } - .flex-sm-nowrap { - -ms-flex-wrap: nowrap !important; - flex-wrap: nowrap !important; - } - .flex-sm-wrap-reverse { - -ms-flex-wrap: wrap-reverse !important; - flex-wrap: wrap-reverse !important; - } - .flex-sm-fill { - -ms-flex: 1 1 auto !important; - flex: 1 1 auto !important; - } - .flex-sm-grow-0 { - -ms-flex-positive: 0 !important; - flex-grow: 0 !important; - } - .flex-sm-grow-1 { - -ms-flex-positive: 1 !important; - flex-grow: 1 !important; - } - .flex-sm-shrink-0 { - -ms-flex-negative: 0 !important; - flex-shrink: 0 !important; - } - .flex-sm-shrink-1 { - -ms-flex-negative: 1 !important; - flex-shrink: 1 !important; - } - .justify-content-sm-start { - -ms-flex-pack: start !important; - justify-content: flex-start !important; - } - .justify-content-sm-end { - -ms-flex-pack: end !important; - justify-content: flex-end !important; - } - .justify-content-sm-center { - -ms-flex-pack: center !important; - justify-content: center !important; - } - .justify-content-sm-between { - -ms-flex-pack: justify !important; - justify-content: space-between !important; - } - .justify-content-sm-around { - -ms-flex-pack: distribute !important; - justify-content: space-around !important; - } - .align-items-sm-start { - -ms-flex-align: start !important; - align-items: flex-start !important; - } - .align-items-sm-end { - -ms-flex-align: end !important; - align-items: flex-end !important; - } - .align-items-sm-center { - -ms-flex-align: center !important; - align-items: center !important; - } - .align-items-sm-baseline { - -ms-flex-align: baseline !important; - align-items: baseline !important; - } - .align-items-sm-stretch { - -ms-flex-align: stretch !important; - align-items: stretch !important; - } - .align-content-sm-start { - -ms-flex-line-pack: start !important; - align-content: flex-start !important; - } - .align-content-sm-end { - -ms-flex-line-pack: end !important; - align-content: flex-end !important; - } - .align-content-sm-center { - -ms-flex-line-pack: center !important; - align-content: center !important; - } - .align-content-sm-between { - -ms-flex-line-pack: justify !important; - align-content: space-between !important; - } - .align-content-sm-around { - -ms-flex-line-pack: distribute !important; - align-content: space-around !important; - } - .align-content-sm-stretch { - -ms-flex-line-pack: stretch !important; - align-content: stretch !important; - } - .align-self-sm-auto { - -ms-flex-item-align: auto !important; - align-self: auto !important; - } - .align-self-sm-start { - -ms-flex-item-align: start !important; - align-self: flex-start !important; - } - .align-self-sm-end { - -ms-flex-item-align: end !important; - align-self: flex-end !important; - } - .align-self-sm-center { - -ms-flex-item-align: center !important; - align-self: center !important; - } - .align-self-sm-baseline { - -ms-flex-item-align: baseline !important; - align-self: baseline !important; - } - .align-self-sm-stretch { - -ms-flex-item-align: stretch !important; - align-self: stretch !important; - } -} - -@media (min-width: 768px) { - .flex-md-row { - -ms-flex-direction: row !important; - flex-direction: row !important; - } - .flex-md-column { - -ms-flex-direction: column !important; - flex-direction: column !important; - } - .flex-md-row-reverse { - -ms-flex-direction: row-reverse !important; - flex-direction: row-reverse !important; - } - .flex-md-column-reverse { - -ms-flex-direction: column-reverse !important; - flex-direction: column-reverse !important; - } - .flex-md-wrap { - -ms-flex-wrap: wrap !important; - flex-wrap: wrap !important; - } - .flex-md-nowrap { - -ms-flex-wrap: nowrap !important; - flex-wrap: nowrap !important; - } - .flex-md-wrap-reverse { - -ms-flex-wrap: wrap-reverse !important; - flex-wrap: wrap-reverse !important; - } - .flex-md-fill { - -ms-flex: 1 1 auto !important; - flex: 1 1 auto !important; - } - .flex-md-grow-0 { - -ms-flex-positive: 0 !important; - flex-grow: 0 !important; - } - .flex-md-grow-1 { - -ms-flex-positive: 1 !important; - flex-grow: 1 !important; - } - .flex-md-shrink-0 { - -ms-flex-negative: 0 !important; - flex-shrink: 0 !important; - } - .flex-md-shrink-1 { - -ms-flex-negative: 1 !important; - flex-shrink: 1 !important; - } - .justify-content-md-start { - -ms-flex-pack: start !important; - justify-content: flex-start !important; - } - .justify-content-md-end { - -ms-flex-pack: end !important; - justify-content: flex-end !important; - } - .justify-content-md-center { - -ms-flex-pack: center !important; - justify-content: center !important; - } - .justify-content-md-between { - -ms-flex-pack: justify !important; - justify-content: space-between !important; - } - .justify-content-md-around { - -ms-flex-pack: distribute !important; - justify-content: space-around !important; - } - .align-items-md-start { - -ms-flex-align: start !important; - align-items: flex-start !important; - } - .align-items-md-end { - -ms-flex-align: end !important; - align-items: flex-end !important; - } - .align-items-md-center { - -ms-flex-align: center !important; - align-items: center !important; - } - .align-items-md-baseline { - -ms-flex-align: baseline !important; - align-items: baseline !important; - } - .align-items-md-stretch { - -ms-flex-align: stretch !important; - align-items: stretch !important; - } - .align-content-md-start { - -ms-flex-line-pack: start !important; - align-content: flex-start !important; - } - .align-content-md-end { - -ms-flex-line-pack: end !important; - align-content: flex-end !important; - } - .align-content-md-center { - -ms-flex-line-pack: center !important; - align-content: center !important; - } - .align-content-md-between { - -ms-flex-line-pack: justify !important; - align-content: space-between !important; - } - .align-content-md-around { - -ms-flex-line-pack: distribute !important; - align-content: space-around !important; - } - .align-content-md-stretch { - -ms-flex-line-pack: stretch !important; - align-content: stretch !important; - } - .align-self-md-auto { - -ms-flex-item-align: auto !important; - align-self: auto !important; - } - .align-self-md-start { - -ms-flex-item-align: start !important; - align-self: flex-start !important; - } - .align-self-md-end { - -ms-flex-item-align: end !important; - align-self: flex-end !important; - } - .align-self-md-center { - -ms-flex-item-align: center !important; - align-self: center !important; - } - .align-self-md-baseline { - -ms-flex-item-align: baseline !important; - align-self: baseline !important; - } - .align-self-md-stretch { - -ms-flex-item-align: stretch !important; - align-self: stretch !important; - } -} - -@media (min-width: 992px) { - .flex-lg-row { - -ms-flex-direction: row !important; - flex-direction: row !important; - } - .flex-lg-column { - -ms-flex-direction: column !important; - flex-direction: column !important; - } - .flex-lg-row-reverse { - -ms-flex-direction: row-reverse !important; - flex-direction: row-reverse !important; - } - .flex-lg-column-reverse { - -ms-flex-direction: column-reverse !important; - flex-direction: column-reverse !important; - } - .flex-lg-wrap { - -ms-flex-wrap: wrap !important; - flex-wrap: wrap !important; - } - .flex-lg-nowrap { - -ms-flex-wrap: nowrap !important; - flex-wrap: nowrap !important; - } - .flex-lg-wrap-reverse { - -ms-flex-wrap: wrap-reverse !important; - flex-wrap: wrap-reverse !important; - } - .flex-lg-fill { - -ms-flex: 1 1 auto !important; - flex: 1 1 auto !important; - } - .flex-lg-grow-0 { - -ms-flex-positive: 0 !important; - flex-grow: 0 !important; - } - .flex-lg-grow-1 { - -ms-flex-positive: 1 !important; - flex-grow: 1 !important; - } - .flex-lg-shrink-0 { - -ms-flex-negative: 0 !important; - flex-shrink: 0 !important; - } - .flex-lg-shrink-1 { - -ms-flex-negative: 1 !important; - flex-shrink: 1 !important; - } - .justify-content-lg-start { - -ms-flex-pack: start !important; - justify-content: flex-start !important; - } - .justify-content-lg-end { - -ms-flex-pack: end !important; - justify-content: flex-end !important; - } - .justify-content-lg-center { - -ms-flex-pack: center !important; - justify-content: center !important; - } - .justify-content-lg-between { - -ms-flex-pack: justify !important; - justify-content: space-between !important; - } - .justify-content-lg-around { - -ms-flex-pack: distribute !important; - justify-content: space-around !important; - } - .align-items-lg-start { - -ms-flex-align: start !important; - align-items: flex-start !important; - } - .align-items-lg-end { - -ms-flex-align: end !important; - align-items: flex-end !important; - } - .align-items-lg-center { - -ms-flex-align: center !important; - align-items: center !important; - } - .align-items-lg-baseline { - -ms-flex-align: baseline !important; - align-items: baseline !important; - } - .align-items-lg-stretch { - -ms-flex-align: stretch !important; - align-items: stretch !important; - } - .align-content-lg-start { - -ms-flex-line-pack: start !important; - align-content: flex-start !important; - } - .align-content-lg-end { - -ms-flex-line-pack: end !important; - align-content: flex-end !important; - } - .align-content-lg-center { - -ms-flex-line-pack: center !important; - align-content: center !important; - } - .align-content-lg-between { - -ms-flex-line-pack: justify !important; - align-content: space-between !important; - } - .align-content-lg-around { - -ms-flex-line-pack: distribute !important; - align-content: space-around !important; - } - .align-content-lg-stretch { - -ms-flex-line-pack: stretch !important; - align-content: stretch !important; - } - .align-self-lg-auto { - -ms-flex-item-align: auto !important; - align-self: auto !important; - } - .align-self-lg-start { - -ms-flex-item-align: start !important; - align-self: flex-start !important; - } - .align-self-lg-end { - -ms-flex-item-align: end !important; - align-self: flex-end !important; - } - .align-self-lg-center { - -ms-flex-item-align: center !important; - align-self: center !important; - } - .align-self-lg-baseline { - -ms-flex-item-align: baseline !important; - align-self: baseline !important; - } - .align-self-lg-stretch { - -ms-flex-item-align: stretch !important; - align-self: stretch !important; - } -} - -@media (min-width: 1200px) { - .flex-xl-row { - -ms-flex-direction: row !important; - flex-direction: row !important; - } - .flex-xl-column { - -ms-flex-direction: column !important; - flex-direction: column !important; - } - .flex-xl-row-reverse { - -ms-flex-direction: row-reverse !important; - flex-direction: row-reverse !important; - } - .flex-xl-column-reverse { - -ms-flex-direction: column-reverse !important; - flex-direction: column-reverse !important; - } - .flex-xl-wrap { - -ms-flex-wrap: wrap !important; - flex-wrap: wrap !important; - } - .flex-xl-nowrap { - -ms-flex-wrap: nowrap !important; - flex-wrap: nowrap !important; - } - .flex-xl-wrap-reverse { - -ms-flex-wrap: wrap-reverse !important; - flex-wrap: wrap-reverse !important; - } - .flex-xl-fill { - -ms-flex: 1 1 auto !important; - flex: 1 1 auto !important; - } - .flex-xl-grow-0 { - -ms-flex-positive: 0 !important; - flex-grow: 0 !important; - } - .flex-xl-grow-1 { - -ms-flex-positive: 1 !important; - flex-grow: 1 !important; - } - .flex-xl-shrink-0 { - -ms-flex-negative: 0 !important; - flex-shrink: 0 !important; - } - .flex-xl-shrink-1 { - -ms-flex-negative: 1 !important; - flex-shrink: 1 !important; - } - .justify-content-xl-start { - -ms-flex-pack: start !important; - justify-content: flex-start !important; - } - .justify-content-xl-end { - -ms-flex-pack: end !important; - justify-content: flex-end !important; - } - .justify-content-xl-center { - -ms-flex-pack: center !important; - justify-content: center !important; - } - .justify-content-xl-between { - -ms-flex-pack: justify !important; - justify-content: space-between !important; - } - .justify-content-xl-around { - -ms-flex-pack: distribute !important; - justify-content: space-around !important; - } - .align-items-xl-start { - -ms-flex-align: start !important; - align-items: flex-start !important; - } - .align-items-xl-end { - -ms-flex-align: end !important; - align-items: flex-end !important; - } - .align-items-xl-center { - -ms-flex-align: center !important; - align-items: center !important; - } - .align-items-xl-baseline { - -ms-flex-align: baseline !important; - align-items: baseline !important; - } - .align-items-xl-stretch { - -ms-flex-align: stretch !important; - align-items: stretch !important; - } - .align-content-xl-start { - -ms-flex-line-pack: start !important; - align-content: flex-start !important; - } - .align-content-xl-end { - -ms-flex-line-pack: end !important; - align-content: flex-end !important; - } - .align-content-xl-center { - -ms-flex-line-pack: center !important; - align-content: center !important; - } - .align-content-xl-between { - -ms-flex-line-pack: justify !important; - align-content: space-between !important; - } - .align-content-xl-around { - -ms-flex-line-pack: distribute !important; - align-content: space-around !important; - } - .align-content-xl-stretch { - -ms-flex-line-pack: stretch !important; - align-content: stretch !important; - } - .align-self-xl-auto { - -ms-flex-item-align: auto !important; - align-self: auto !important; - } - .align-self-xl-start { - -ms-flex-item-align: start !important; - align-self: flex-start !important; - } - .align-self-xl-end { - -ms-flex-item-align: end !important; - align-self: flex-end !important; - } - .align-self-xl-center { - -ms-flex-item-align: center !important; - align-self: center !important; - } - .align-self-xl-baseline { - -ms-flex-item-align: baseline !important; - align-self: baseline !important; - } - .align-self-xl-stretch { - -ms-flex-item-align: stretch !important; - align-self: stretch !important; - } -} - -.float-left { - float: left !important; -} - -.float-right { - float: right !important; -} - -.float-none { - float: none !important; -} - -@media (min-width: 576px) { - .float-sm-left { - float: left !important; - } - .float-sm-right { - float: right !important; - } - .float-sm-none { - float: none !important; - } -} - -@media (min-width: 768px) { - .float-md-left { - float: left !important; - } - .float-md-right { - float: right !important; - } - .float-md-none { - float: none !important; - } -} - -@media (min-width: 992px) { - .float-lg-left { - float: left !important; - } - .float-lg-right { - float: right !important; - } - .float-lg-none { - float: none !important; - } -} - -@media (min-width: 1200px) { - .float-xl-left { - float: left !important; - } - .float-xl-right { - float: right !important; - } - .float-xl-none { - float: none !important; - } -} - -.position-static { - position: static !important; -} - -.position-relative { - position: relative !important; -} - -.position-absolute { - position: absolute !important; -} - -.position-fixed { - position: fixed !important; -} - -.position-sticky { - position: -webkit-sticky !important; - position: sticky !important; -} - -.fixed-top { - position: fixed; - top: 0; - right: 0; - left: 0; - z-index: 1030; -} - -.fixed-bottom { - position: fixed; - right: 0; - bottom: 0; - left: 0; - z-index: 1030; -} - -@supports ((position: -webkit-sticky) or (position: sticky)) { - .sticky-top { - position: -webkit-sticky; - position: sticky; - top: 0; - z-index: 1020; - } -} - -.sr-only { - position: absolute; - width: 1px; - height: 1px; - padding: 0; - overflow: hidden; - clip: rect(0, 0, 0, 0); - white-space: nowrap; - border: 0; -} - -.sr-only-focusable:active, .sr-only-focusable:focus { - position: static; - width: auto; - height: auto; - overflow: visible; - clip: auto; - white-space: normal; -} - -.shadow-sm { - box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important; -} - -.shadow { - box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important; -} - -.shadow-lg { - box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important; -} - -.shadow-none { - box-shadow: none !important; -} - -.w-25 { - width: 25% !important; -} - -.w-50 { - width: 50% !important; -} - -.w-75 { - width: 75% !important; -} - -.w-100 { - width: 100% !important; -} - -.w-auto { - width: auto !important; -} - -.h-25 { - height: 25% !important; -} - -.h-50 { - height: 50% !important; -} - -.h-75 { - height: 75% !important; -} - -.h-100 { - height: 100% !important; -} - -.h-auto { - height: auto !important; -} - -.mw-100 { - max-width: 100% !important; -} - -.mh-100 { - max-height: 100% !important; -} - -.m-0 { - margin: 0 !important; -} - -.mt-0, -.my-0 { - margin-top: 0 !important; -} - -.mr-0, -.mx-0 { - margin-right: 0 !important; -} - -.mb-0, -.my-0 { - margin-bottom: 0 !important; -} - -.ml-0, -.mx-0 { - margin-left: 0 !important; -} - -.m-1 { - margin: 0.25rem !important; -} - -.mt-1, -.my-1 { - margin-top: 0.25rem !important; -} - -.mr-1, -.mx-1 { - margin-right: 0.25rem !important; -} - -.mb-1, -.my-1 { - margin-bottom: 0.25rem !important; -} - -.ml-1, -.mx-1 { - margin-left: 0.25rem !important; -} - -.m-2 { - margin: 0.5rem !important; -} - -.mt-2, -.my-2 { - margin-top: 0.5rem !important; -} - -.mr-2, -.mx-2 { - margin-right: 0.5rem !important; -} - -.mb-2, -.my-2 { - margin-bottom: 0.5rem !important; -} - -.ml-2, -.mx-2 { - margin-left: 0.5rem !important; -} - -.m-3 { - margin: 1rem !important; -} - -.mt-3, -.my-3 { - margin-top: 1rem !important; -} - -.mr-3, -.mx-3 { - margin-right: 1rem !important; -} - -.mb-3, -.my-3 { - margin-bottom: 1rem !important; -} - -.ml-3, -.mx-3 { - margin-left: 1rem !important; -} - -.m-4 { - margin: 1.5rem !important; -} - -.mt-4, -.my-4 { - margin-top: 1.5rem !important; -} - -.mr-4, -.mx-4 { - margin-right: 1.5rem !important; -} - -.mb-4, -.my-4 { - margin-bottom: 1.5rem !important; -} - -.ml-4, -.mx-4 { - margin-left: 1.5rem !important; -} - -.m-5 { - margin: 3rem !important; -} - -.mt-5, -.my-5 { - margin-top: 3rem !important; -} - -.mr-5, -.mx-5 { - margin-right: 3rem !important; -} - -.mb-5, -.my-5 { - margin-bottom: 3rem !important; -} - -.ml-5, -.mx-5 { - margin-left: 3rem !important; -} - -.p-0 { - padding: 0 !important; -} - -.pt-0, -.py-0 { - padding-top: 0 !important; -} - -.pr-0, -.px-0 { - padding-right: 0 !important; -} - -.pb-0, -.py-0 { - padding-bottom: 0 !important; -} - -.pl-0, -.px-0 { - padding-left: 0 !important; -} - -.p-1 { - padding: 0.25rem !important; -} - -.pt-1, -.py-1 { - padding-top: 0.25rem !important; -} - -.pr-1, -.px-1 { - padding-right: 0.25rem !important; -} - -.pb-1, -.py-1 { - padding-bottom: 0.25rem !important; -} - -.pl-1, -.px-1 { - padding-left: 0.25rem !important; -} - -.p-2 { - padding: 0.5rem !important; -} - -.pt-2, -.py-2 { - padding-top: 0.5rem !important; -} - -.pr-2, -.px-2 { - padding-right: 0.5rem !important; -} - -.pb-2, -.py-2 { - padding-bottom: 0.5rem !important; -} - -.pl-2, -.px-2 { - padding-left: 0.5rem !important; -} - -.p-3 { - padding: 1rem !important; -} - -.pt-3, -.py-3 { - padding-top: 1rem !important; -} - -.pr-3, -.px-3 { - padding-right: 1rem !important; -} - -.pb-3, -.py-3 { - padding-bottom: 1rem !important; -} - -.pl-3, -.px-3 { - padding-left: 1rem !important; -} - -.p-4 { - padding: 1.5rem !important; -} - -.pt-4, -.py-4 { - padding-top: 1.5rem !important; -} - -.pr-4, -.px-4 { - padding-right: 1.5rem !important; -} - -.pb-4, -.py-4 { - padding-bottom: 1.5rem !important; -} - -.pl-4, -.px-4 { - padding-left: 1.5rem !important; -} - -.p-5 { - padding: 3rem !important; -} - -.pt-5, -.py-5 { - padding-top: 3rem !important; -} - -.pr-5, -.px-5 { - padding-right: 3rem !important; -} - -.pb-5, -.py-5 { - padding-bottom: 3rem !important; -} - -.pl-5, -.px-5 { - padding-left: 3rem !important; -} - -.m-auto { - margin: auto !important; -} - -.mt-auto, -.my-auto { - margin-top: auto !important; -} - -.mr-auto, -.mx-auto { - margin-right: auto !important; -} - -.mb-auto, -.my-auto { - margin-bottom: auto !important; -} - -.ml-auto, -.mx-auto { - margin-left: auto !important; -} - -@media (min-width: 576px) { - .m-sm-0 { - margin: 0 !important; - } - .mt-sm-0, - .my-sm-0 { - margin-top: 0 !important; - } - .mr-sm-0, - .mx-sm-0 { - margin-right: 0 !important; - } - .mb-sm-0, - .my-sm-0 { - margin-bottom: 0 !important; - } - .ml-sm-0, - .mx-sm-0 { - margin-left: 0 !important; - } - .m-sm-1 { - margin: 0.25rem !important; - } - .mt-sm-1, - .my-sm-1 { - margin-top: 0.25rem !important; - } - .mr-sm-1, - .mx-sm-1 { - margin-right: 0.25rem !important; - } - .mb-sm-1, - .my-sm-1 { - margin-bottom: 0.25rem !important; - } - .ml-sm-1, - .mx-sm-1 { - margin-left: 0.25rem !important; - } - .m-sm-2 { - margin: 0.5rem !important; - } - .mt-sm-2, - .my-sm-2 { - margin-top: 0.5rem !important; - } - .mr-sm-2, - .mx-sm-2 { - margin-right: 0.5rem !important; - } - .mb-sm-2, - .my-sm-2 { - margin-bottom: 0.5rem !important; - } - .ml-sm-2, - .mx-sm-2 { - margin-left: 0.5rem !important; - } - .m-sm-3 { - margin: 1rem !important; - } - .mt-sm-3, - .my-sm-3 { - margin-top: 1rem !important; - } - .mr-sm-3, - .mx-sm-3 { - margin-right: 1rem !important; - } - .mb-sm-3, - .my-sm-3 { - margin-bottom: 1rem !important; - } - .ml-sm-3, - .mx-sm-3 { - margin-left: 1rem !important; - } - .m-sm-4 { - margin: 1.5rem !important; - } - .mt-sm-4, - .my-sm-4 { - margin-top: 1.5rem !important; - } - .mr-sm-4, - .mx-sm-4 { - margin-right: 1.5rem !important; - } - .mb-sm-4, - .my-sm-4 { - margin-bottom: 1.5rem !important; - } - .ml-sm-4, - .mx-sm-4 { - margin-left: 1.5rem !important; - } - .m-sm-5 { - margin: 3rem !important; - } - .mt-sm-5, - .my-sm-5 { - margin-top: 3rem !important; - } - .mr-sm-5, - .mx-sm-5 { - margin-right: 3rem !important; - } - .mb-sm-5, - .my-sm-5 { - margin-bottom: 3rem !important; - } - .ml-sm-5, - .mx-sm-5 { - margin-left: 3rem !important; - } - .p-sm-0 { - padding: 0 !important; - } - .pt-sm-0, - .py-sm-0 { - padding-top: 0 !important; - } - .pr-sm-0, - .px-sm-0 { - padding-right: 0 !important; - } - .pb-sm-0, - .py-sm-0 { - padding-bottom: 0 !important; - } - .pl-sm-0, - .px-sm-0 { - padding-left: 0 !important; - } - .p-sm-1 { - padding: 0.25rem !important; - } - .pt-sm-1, - .py-sm-1 { - padding-top: 0.25rem !important; - } - .pr-sm-1, - .px-sm-1 { - padding-right: 0.25rem !important; - } - .pb-sm-1, - .py-sm-1 { - padding-bottom: 0.25rem !important; - } - .pl-sm-1, - .px-sm-1 { - padding-left: 0.25rem !important; - } - .p-sm-2 { - padding: 0.5rem !important; - } - .pt-sm-2, - .py-sm-2 { - padding-top: 0.5rem !important; - } - .pr-sm-2, - .px-sm-2 { - padding-right: 0.5rem !important; - } - .pb-sm-2, - .py-sm-2 { - padding-bottom: 0.5rem !important; - } - .pl-sm-2, - .px-sm-2 { - padding-left: 0.5rem !important; - } - .p-sm-3 { - padding: 1rem !important; - } - .pt-sm-3, - .py-sm-3 { - padding-top: 1rem !important; - } - .pr-sm-3, - .px-sm-3 { - padding-right: 1rem !important; - } - .pb-sm-3, - .py-sm-3 { - padding-bottom: 1rem !important; - } - .pl-sm-3, - .px-sm-3 { - padding-left: 1rem !important; - } - .p-sm-4 { - padding: 1.5rem !important; - } - .pt-sm-4, - .py-sm-4 { - padding-top: 1.5rem !important; - } - .pr-sm-4, - .px-sm-4 { - padding-right: 1.5rem !important; - } - .pb-sm-4, - .py-sm-4 { - padding-bottom: 1.5rem !important; - } - .pl-sm-4, - .px-sm-4 { - padding-left: 1.5rem !important; - } - .p-sm-5 { - padding: 3rem !important; - } - .pt-sm-5, - .py-sm-5 { - padding-top: 3rem !important; - } - .pr-sm-5, - .px-sm-5 { - padding-right: 3rem !important; - } - .pb-sm-5, - .py-sm-5 { - padding-bottom: 3rem !important; - } - .pl-sm-5, - .px-sm-5 { - padding-left: 3rem !important; - } - .m-sm-auto { - margin: auto !important; - } - .mt-sm-auto, - .my-sm-auto { - margin-top: auto !important; - } - .mr-sm-auto, - .mx-sm-auto { - margin-right: auto !important; - } - .mb-sm-auto, - .my-sm-auto { - margin-bottom: auto !important; - } - .ml-sm-auto, - .mx-sm-auto { - margin-left: auto !important; - } -} - -@media (min-width: 768px) { - .m-md-0 { - margin: 0 !important; - } - .mt-md-0, - .my-md-0 { - margin-top: 0 !important; - } - .mr-md-0, - .mx-md-0 { - margin-right: 0 !important; - } - .mb-md-0, - .my-md-0 { - margin-bottom: 0 !important; - } - .ml-md-0, - .mx-md-0 { - margin-left: 0 !important; - } - .m-md-1 { - margin: 0.25rem !important; - } - .mt-md-1, - .my-md-1 { - margin-top: 0.25rem !important; - } - .mr-md-1, - .mx-md-1 { - margin-right: 0.25rem !important; - } - .mb-md-1, - .my-md-1 { - margin-bottom: 0.25rem !important; - } - .ml-md-1, - .mx-md-1 { - margin-left: 0.25rem !important; - } - .m-md-2 { - margin: 0.5rem !important; - } - .mt-md-2, - .my-md-2 { - margin-top: 0.5rem !important; - } - .mr-md-2, - .mx-md-2 { - margin-right: 0.5rem !important; - } - .mb-md-2, - .my-md-2 { - margin-bottom: 0.5rem !important; - } - .ml-md-2, - .mx-md-2 { - margin-left: 0.5rem !important; - } - .m-md-3 { - margin: 1rem !important; - } - .mt-md-3, - .my-md-3 { - margin-top: 1rem !important; - } - .mr-md-3, - .mx-md-3 { - margin-right: 1rem !important; - } - .mb-md-3, - .my-md-3 { - margin-bottom: 1rem !important; - } - .ml-md-3, - .mx-md-3 { - margin-left: 1rem !important; - } - .m-md-4 { - margin: 1.5rem !important; - } - .mt-md-4, - .my-md-4 { - margin-top: 1.5rem !important; - } - .mr-md-4, - .mx-md-4 { - margin-right: 1.5rem !important; - } - .mb-md-4, - .my-md-4 { - margin-bottom: 1.5rem !important; - } - .ml-md-4, - .mx-md-4 { - margin-left: 1.5rem !important; - } - .m-md-5 { - margin: 3rem !important; - } - .mt-md-5, - .my-md-5 { - margin-top: 3rem !important; - } - .mr-md-5, - .mx-md-5 { - margin-right: 3rem !important; - } - .mb-md-5, - .my-md-5 { - margin-bottom: 3rem !important; - } - .ml-md-5, - .mx-md-5 { - margin-left: 3rem !important; - } - .p-md-0 { - padding: 0 !important; - } - .pt-md-0, - .py-md-0 { - padding-top: 0 !important; - } - .pr-md-0, - .px-md-0 { - padding-right: 0 !important; - } - .pb-md-0, - .py-md-0 { - padding-bottom: 0 !important; - } - .pl-md-0, - .px-md-0 { - padding-left: 0 !important; - } - .p-md-1 { - padding: 0.25rem !important; - } - .pt-md-1, - .py-md-1 { - padding-top: 0.25rem !important; - } - .pr-md-1, - .px-md-1 { - padding-right: 0.25rem !important; - } - .pb-md-1, - .py-md-1 { - padding-bottom: 0.25rem !important; - } - .pl-md-1, - .px-md-1 { - padding-left: 0.25rem !important; - } - .p-md-2 { - padding: 0.5rem !important; - } - .pt-md-2, - .py-md-2 { - padding-top: 0.5rem !important; - } - .pr-md-2, - .px-md-2 { - padding-right: 0.5rem !important; - } - .pb-md-2, - .py-md-2 { - padding-bottom: 0.5rem !important; - } - .pl-md-2, - .px-md-2 { - padding-left: 0.5rem !important; - } - .p-md-3 { - padding: 1rem !important; - } - .pt-md-3, - .py-md-3 { - padding-top: 1rem !important; - } - .pr-md-3, - .px-md-3 { - padding-right: 1rem !important; - } - .pb-md-3, - .py-md-3 { - padding-bottom: 1rem !important; - } - .pl-md-3, - .px-md-3 { - padding-left: 1rem !important; - } - .p-md-4 { - padding: 1.5rem !important; - } - .pt-md-4, - .py-md-4 { - padding-top: 1.5rem !important; - } - .pr-md-4, - .px-md-4 { - padding-right: 1.5rem !important; - } - .pb-md-4, - .py-md-4 { - padding-bottom: 1.5rem !important; - } - .pl-md-4, - .px-md-4 { - padding-left: 1.5rem !important; - } - .p-md-5 { - padding: 3rem !important; - } - .pt-md-5, - .py-md-5 { - padding-top: 3rem !important; - } - .pr-md-5, - .px-md-5 { - padding-right: 3rem !important; - } - .pb-md-5, - .py-md-5 { - padding-bottom: 3rem !important; - } - .pl-md-5, - .px-md-5 { - padding-left: 3rem !important; - } - .m-md-auto { - margin: auto !important; - } - .mt-md-auto, - .my-md-auto { - margin-top: auto !important; - } - .mr-md-auto, - .mx-md-auto { - margin-right: auto !important; - } - .mb-md-auto, - .my-md-auto { - margin-bottom: auto !important; - } - .ml-md-auto, - .mx-md-auto { - margin-left: auto !important; - } -} - -@media (min-width: 992px) { - .m-lg-0 { - margin: 0 !important; - } - .mt-lg-0, - .my-lg-0 { - margin-top: 0 !important; - } - .mr-lg-0, - .mx-lg-0 { - margin-right: 0 !important; - } - .mb-lg-0, - .my-lg-0 { - margin-bottom: 0 !important; - } - .ml-lg-0, - .mx-lg-0 { - margin-left: 0 !important; - } - .m-lg-1 { - margin: 0.25rem !important; - } - .mt-lg-1, - .my-lg-1 { - margin-top: 0.25rem !important; - } - .mr-lg-1, - .mx-lg-1 { - margin-right: 0.25rem !important; - } - .mb-lg-1, - .my-lg-1 { - margin-bottom: 0.25rem !important; - } - .ml-lg-1, - .mx-lg-1 { - margin-left: 0.25rem !important; - } - .m-lg-2 { - margin: 0.5rem !important; - } - .mt-lg-2, - .my-lg-2 { - margin-top: 0.5rem !important; - } - .mr-lg-2, - .mx-lg-2 { - margin-right: 0.5rem !important; - } - .mb-lg-2, - .my-lg-2 { - margin-bottom: 0.5rem !important; - } - .ml-lg-2, - .mx-lg-2 { - margin-left: 0.5rem !important; - } - .m-lg-3 { - margin: 1rem !important; - } - .mt-lg-3, - .my-lg-3 { - margin-top: 1rem !important; - } - .mr-lg-3, - .mx-lg-3 { - margin-right: 1rem !important; - } - .mb-lg-3, - .my-lg-3 { - margin-bottom: 1rem !important; - } - .ml-lg-3, - .mx-lg-3 { - margin-left: 1rem !important; - } - .m-lg-4 { - margin: 1.5rem !important; - } - .mt-lg-4, - .my-lg-4 { - margin-top: 1.5rem !important; - } - .mr-lg-4, - .mx-lg-4 { - margin-right: 1.5rem !important; - } - .mb-lg-4, - .my-lg-4 { - margin-bottom: 1.5rem !important; - } - .ml-lg-4, - .mx-lg-4 { - margin-left: 1.5rem !important; - } - .m-lg-5 { - margin: 3rem !important; - } - .mt-lg-5, - .my-lg-5 { - margin-top: 3rem !important; - } - .mr-lg-5, - .mx-lg-5 { - margin-right: 3rem !important; - } - .mb-lg-5, - .my-lg-5 { - margin-bottom: 3rem !important; - } - .ml-lg-5, - .mx-lg-5 { - margin-left: 3rem !important; - } - .p-lg-0 { - padding: 0 !important; - } - .pt-lg-0, - .py-lg-0 { - padding-top: 0 !important; - } - .pr-lg-0, - .px-lg-0 { - padding-right: 0 !important; - } - .pb-lg-0, - .py-lg-0 { - padding-bottom: 0 !important; - } - .pl-lg-0, - .px-lg-0 { - padding-left: 0 !important; - } - .p-lg-1 { - padding: 0.25rem !important; - } - .pt-lg-1, - .py-lg-1 { - padding-top: 0.25rem !important; - } - .pr-lg-1, - .px-lg-1 { - padding-right: 0.25rem !important; - } - .pb-lg-1, - .py-lg-1 { - padding-bottom: 0.25rem !important; - } - .pl-lg-1, - .px-lg-1 { - padding-left: 0.25rem !important; - } - .p-lg-2 { - padding: 0.5rem !important; - } - .pt-lg-2, - .py-lg-2 { - padding-top: 0.5rem !important; - } - .pr-lg-2, - .px-lg-2 { - padding-right: 0.5rem !important; - } - .pb-lg-2, - .py-lg-2 { - padding-bottom: 0.5rem !important; - } - .pl-lg-2, - .px-lg-2 { - padding-left: 0.5rem !important; - } - .p-lg-3 { - padding: 1rem !important; - } - .pt-lg-3, - .py-lg-3 { - padding-top: 1rem !important; - } - .pr-lg-3, - .px-lg-3 { - padding-right: 1rem !important; - } - .pb-lg-3, - .py-lg-3 { - padding-bottom: 1rem !important; - } - .pl-lg-3, - .px-lg-3 { - padding-left: 1rem !important; - } - .p-lg-4 { - padding: 1.5rem !important; - } - .pt-lg-4, - .py-lg-4 { - padding-top: 1.5rem !important; - } - .pr-lg-4, - .px-lg-4 { - padding-right: 1.5rem !important; - } - .pb-lg-4, - .py-lg-4 { - padding-bottom: 1.5rem !important; - } - .pl-lg-4, - .px-lg-4 { - padding-left: 1.5rem !important; - } - .p-lg-5 { - padding: 3rem !important; - } - .pt-lg-5, - .py-lg-5 { - padding-top: 3rem !important; - } - .pr-lg-5, - .px-lg-5 { - padding-right: 3rem !important; - } - .pb-lg-5, - .py-lg-5 { - padding-bottom: 3rem !important; - } - .pl-lg-5, - .px-lg-5 { - padding-left: 3rem !important; - } - .m-lg-auto { - margin: auto !important; - } - .mt-lg-auto, - .my-lg-auto { - margin-top: auto !important; - } - .mr-lg-auto, - .mx-lg-auto { - margin-right: auto !important; - } - .mb-lg-auto, - .my-lg-auto { - margin-bottom: auto !important; - } - .ml-lg-auto, - .mx-lg-auto { - margin-left: auto !important; - } -} - -@media (min-width: 1200px) { - .m-xl-0 { - margin: 0 !important; - } - .mt-xl-0, - .my-xl-0 { - margin-top: 0 !important; - } - .mr-xl-0, - .mx-xl-0 { - margin-right: 0 !important; - } - .mb-xl-0, - .my-xl-0 { - margin-bottom: 0 !important; - } - .ml-xl-0, - .mx-xl-0 { - margin-left: 0 !important; - } - .m-xl-1 { - margin: 0.25rem !important; - } - .mt-xl-1, - .my-xl-1 { - margin-top: 0.25rem !important; - } - .mr-xl-1, - .mx-xl-1 { - margin-right: 0.25rem !important; - } - .mb-xl-1, - .my-xl-1 { - margin-bottom: 0.25rem !important; - } - .ml-xl-1, - .mx-xl-1 { - margin-left: 0.25rem !important; - } - .m-xl-2 { - margin: 0.5rem !important; - } - .mt-xl-2, - .my-xl-2 { - margin-top: 0.5rem !important; - } - .mr-xl-2, - .mx-xl-2 { - margin-right: 0.5rem !important; - } - .mb-xl-2, - .my-xl-2 { - margin-bottom: 0.5rem !important; - } - .ml-xl-2, - .mx-xl-2 { - margin-left: 0.5rem !important; - } - .m-xl-3 { - margin: 1rem !important; - } - .mt-xl-3, - .my-xl-3 { - margin-top: 1rem !important; - } - .mr-xl-3, - .mx-xl-3 { - margin-right: 1rem !important; - } - .mb-xl-3, - .my-xl-3 { - margin-bottom: 1rem !important; - } - .ml-xl-3, - .mx-xl-3 { - margin-left: 1rem !important; - } - .m-xl-4 { - margin: 1.5rem !important; - } - .mt-xl-4, - .my-xl-4 { - margin-top: 1.5rem !important; - } - .mr-xl-4, - .mx-xl-4 { - margin-right: 1.5rem !important; - } - .mb-xl-4, - .my-xl-4 { - margin-bottom: 1.5rem !important; - } - .ml-xl-4, - .mx-xl-4 { - margin-left: 1.5rem !important; - } - .m-xl-5 { - margin: 3rem !important; - } - .mt-xl-5, - .my-xl-5 { - margin-top: 3rem !important; - } - .mr-xl-5, - .mx-xl-5 { - margin-right: 3rem !important; - } - .mb-xl-5, - .my-xl-5 { - margin-bottom: 3rem !important; - } - .ml-xl-5, - .mx-xl-5 { - margin-left: 3rem !important; - } - .p-xl-0 { - padding: 0 !important; - } - .pt-xl-0, - .py-xl-0 { - padding-top: 0 !important; - } - .pr-xl-0, - .px-xl-0 { - padding-right: 0 !important; - } - .pb-xl-0, - .py-xl-0 { - padding-bottom: 0 !important; - } - .pl-xl-0, - .px-xl-0 { - padding-left: 0 !important; - } - .p-xl-1 { - padding: 0.25rem !important; - } - .pt-xl-1, - .py-xl-1 { - padding-top: 0.25rem !important; - } - .pr-xl-1, - .px-xl-1 { - padding-right: 0.25rem !important; - } - .pb-xl-1, - .py-xl-1 { - padding-bottom: 0.25rem !important; - } - .pl-xl-1, - .px-xl-1 { - padding-left: 0.25rem !important; - } - .p-xl-2 { - padding: 0.5rem !important; - } - .pt-xl-2, - .py-xl-2 { - padding-top: 0.5rem !important; - } - .pr-xl-2, - .px-xl-2 { - padding-right: 0.5rem !important; - } - .pb-xl-2, - .py-xl-2 { - padding-bottom: 0.5rem !important; - } - .pl-xl-2, - .px-xl-2 { - padding-left: 0.5rem !important; - } - .p-xl-3 { - padding: 1rem !important; - } - .pt-xl-3, - .py-xl-3 { - padding-top: 1rem !important; - } - .pr-xl-3, - .px-xl-3 { - padding-right: 1rem !important; - } - .pb-xl-3, - .py-xl-3 { - padding-bottom: 1rem !important; - } - .pl-xl-3, - .px-xl-3 { - padding-left: 1rem !important; - } - .p-xl-4 { - padding: 1.5rem !important; - } - .pt-xl-4, - .py-xl-4 { - padding-top: 1.5rem !important; - } - .pr-xl-4, - .px-xl-4 { - padding-right: 1.5rem !important; - } - .pb-xl-4, - .py-xl-4 { - padding-bottom: 1.5rem !important; - } - .pl-xl-4, - .px-xl-4 { - padding-left: 1.5rem !important; - } - .p-xl-5 { - padding: 3rem !important; - } - .pt-xl-5, - .py-xl-5 { - padding-top: 3rem !important; - } - .pr-xl-5, - .px-xl-5 { - padding-right: 3rem !important; - } - .pb-xl-5, - .py-xl-5 { - padding-bottom: 3rem !important; - } - .pl-xl-5, - .px-xl-5 { - padding-left: 3rem !important; - } - .m-xl-auto { - margin: auto !important; - } - .mt-xl-auto, - .my-xl-auto { - margin-top: auto !important; - } - .mr-xl-auto, - .mx-xl-auto { - margin-right: auto !important; - } - .mb-xl-auto, - .my-xl-auto { - margin-bottom: auto !important; - } - .ml-xl-auto, - .mx-xl-auto { - margin-left: auto !important; - } -} - -.text-monospace { - font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; -} - -.text-justify { - text-align: justify !important; -} - -.text-nowrap { - white-space: nowrap !important; -} - -.text-truncate { - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; -} - -.text-left { - text-align: left !important; -} - -.text-right { - text-align: right !important; -} - -.text-center { - text-align: center !important; -} - -@media (min-width: 576px) { - .text-sm-left { - text-align: left !important; - } - .text-sm-right { - text-align: right !important; - } - .text-sm-center { - text-align: center !important; - } -} - -@media (min-width: 768px) { - .text-md-left { - text-align: left !important; - } - .text-md-right { - text-align: right !important; - } - .text-md-center { - text-align: center !important; - } -} - -@media (min-width: 992px) { - .text-lg-left { - text-align: left !important; - } - .text-lg-right { - text-align: right !important; - } - .text-lg-center { - text-align: center !important; - } -} - -@media (min-width: 1200px) { - .text-xl-left { - text-align: left !important; - } - .text-xl-right { - text-align: right !important; - } - .text-xl-center { - text-align: center !important; - } -} - -.text-lowercase { - text-transform: lowercase !important; -} - -.text-uppercase { - text-transform: uppercase !important; -} - -.text-capitalize { - text-transform: capitalize !important; -} - -.font-weight-light { - font-weight: 300 !important; -} - -.font-weight-normal { - font-weight: 400 !important; -} - -.font-weight-bold { - font-weight: 700 !important; -} - -.font-italic { - font-style: italic !important; -} - -.text-white { - color: #fff !important; -} - -.text-primary { - color: #007bff !important; -} - -a.text-primary:hover, a.text-primary:focus { - color: #0062cc !important; -} - -.text-secondary { - color: #6c757d !important; -} - -a.text-secondary:hover, a.text-secondary:focus { - color: #545b62 !important; -} - -.text-success { - color: #28a745 !important; -} - -a.text-success:hover, a.text-success:focus { - color: #1e7e34 !important; -} - -.text-info { - color: #17a2b8 !important; -} - -a.text-info:hover, a.text-info:focus { - color: #117a8b !important; -} - -.text-warning { - color: #ffc107 !important; -} - -a.text-warning:hover, a.text-warning:focus { - color: #d39e00 !important; -} - -.text-danger { - color: #dc3545 !important; -} - -a.text-danger:hover, a.text-danger:focus { - color: #bd2130 !important; -} - -.text-light { - color: #f8f9fa !important; -} - -a.text-light:hover, a.text-light:focus { - color: #dae0e5 !important; -} - -.text-dark { - color: #343a40 !important; -} - -a.text-dark:hover, a.text-dark:focus { - color: #1d2124 !important; -} - -.text-body { - color: #212529 !important; -} - -.text-muted { - color: #6c757d !important; -} - -.text-black-50 { - color: rgba(0, 0, 0, 0.5) !important; -} - -.text-white-50 { - color: rgba(255, 255, 255, 0.5) !important; -} - -.text-hide { - font: 0/0 a; - color: transparent; - text-shadow: none; - background-color: transparent; - border: 0; -} - -.visible { - visibility: visible !important; -} - -.invisible { - visibility: hidden !important; -} - -@media print { - *, - *::before, - *::after { - text-shadow: none !important; - box-shadow: none !important; - } - a:not(.btn) { - text-decoration: underline; - } - abbr[title]::after { - content: " (" attr(title) ")"; - } - pre { - white-space: pre-wrap !important; - } - pre, - blockquote { - border: 1px solid #adb5bd; - page-break-inside: avoid; - } - thead { - display: table-header-group; - } - tr, - img { - page-break-inside: avoid; - } - p, - h2, - h3 { - orphans: 3; - widows: 3; - } - h2, - h3 { - page-break-after: avoid; - } - @page { - size: a3; - } - body { - min-width: 992px !important; - } - .container { - min-width: 992px !important; - } - .navbar { - display: none; - } - .badge { - border: 1px solid #000; - } - .table { - border-collapse: collapse !important; - } - .table td, - .table th { - background-color: #fff !important; - } - .table-bordered th, - .table-bordered td { - border: 1px solid #dee2e6 !important; - } - .table-dark { - color: inherit; - } - .table-dark th, - .table-dark td, - .table-dark thead th, - .table-dark tbody + tbody { - border-color: #dee2e6; - } - .table .thead-dark th { - color: inherit; - border-color: #dee2e6; - } -} -/*# sourceMappingURL=bootstrap.css.map */ \ No newline at end of file diff --git a/docs/_static/link_gen/vendor/bootstrap-4.1.3/css/bootstrap.css.map b/docs/_static/link_gen/vendor/bootstrap-4.1.3/css/bootstrap.css.map deleted file mode 100644 index cd35b271..00000000 --- a/docs/_static/link_gen/vendor/bootstrap-4.1.3/css/bootstrap.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../../scss/bootstrap.scss","../../scss/_root.scss","../../scss/_reboot.scss","../../scss/_variables.scss","bootstrap.css","../../scss/mixins/_hover.scss","../../scss/_type.scss","../../scss/mixins/_lists.scss","../../scss/_images.scss","../../scss/mixins/_image.scss","../../scss/mixins/_border-radius.scss","../../scss/_code.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/mixins/_grid-framework.scss","../../scss/_tables.scss","../../scss/mixins/_table-row.scss","../../scss/_functions.scss","../../scss/_forms.scss","../../scss/mixins/_transition.scss","../../scss/mixins/_forms.scss","../../scss/mixins/_gradients.scss","../../scss/_buttons.scss","../../scss/mixins/_buttons.scss","../../scss/_transitions.scss","../../scss/_dropdown.scss","../../scss/mixins/_caret.scss","../../scss/mixins/_nav-divider.scss","../../scss/_button-group.scss","../../scss/_input-group.scss","../../scss/_custom-forms.scss","../../scss/_nav.scss","../../scss/_navbar.scss","../../scss/_card.scss","../../scss/_breadcrumb.scss","../../scss/_pagination.scss","../../scss/mixins/_pagination.scss","../../scss/_badge.scss","../../scss/mixins/_badge.scss","../../scss/_jumbotron.scss","../../scss/_alert.scss","../../scss/mixins/_alert.scss","../../scss/_progress.scss","../../scss/_media.scss","../../scss/_list-group.scss","../../scss/mixins/_list-group.scss","../../scss/_close.scss","../../scss/_modal.scss","../../scss/_tooltip.scss","../../scss/mixins/_reset-text.scss","../../scss/_popover.scss","../../scss/_carousel.scss","../../scss/utilities/_align.scss","../../scss/mixins/_background-variant.scss","../../scss/utilities/_background.scss","../../scss/utilities/_borders.scss","../../scss/mixins/_clearfix.scss","../../scss/utilities/_display.scss","../../scss/utilities/_embed.scss","../../scss/utilities/_flex.scss","../../scss/utilities/_float.scss","../../scss/mixins/_float.scss","../../scss/utilities/_position.scss","../../scss/utilities/_screenreaders.scss","../../scss/mixins/_screen-reader.scss","../../scss/utilities/_shadows.scss","../../scss/utilities/_sizing.scss","../../scss/utilities/_spacing.scss","../../scss/utilities/_text.scss","../../scss/mixins/_text-truncate.scss","../../scss/mixins/_text-emphasis.scss","../../scss/mixins/_text-hide.scss","../../scss/utilities/_visibility.scss","../../scss/mixins/_visibility.scss","../../scss/_print.scss"],"names":[],"mappings":"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EACb,2BAA0B;CAC3B;;AAMD;EACE,sBAAqB;CACtB;;AAED;EACE,mBAAkB;EAClB,gBAAe;CAChB;;AAED;EACE,cAAa;CACd;;AExHD;EF6HE,yBAAwB;CACzB;;AI5dD;;EAEE,sBHyQyC;EGxQzC,qBHyQmC;EGxQnC,iBHyQ+B;EGxQ/B,iBHyQ+B;EGxQ/B,eHyQmC;CGxQpC;;AAED;EAAU,kBH2PyC;CG3Pb;;AACtC;EAAU,gBH2PuC;CG3PX;;AACtC;EAAU,mBH2P0C;CG3Pd;;AACtC;EAAU,kBH2PyC;CG3Pb;;AACtC;EAAU,mBH2P0C;CG3Pd;;AACtC;EAAU,gBH2OwB;CG3OI;;AAEtC;EACE,mBH2QoD;EG1QpD,iBH2Q+B;CG1QhC;;AAGD;EACE,gBH0PgC;EGzPhC,iBH8P+B;EG7P/B,iBHqP+B;CGpPhC;;AACD;EACE,kBHsPkC;EGrPlC,iBH0P+B;EGzP/B,iBHgP+B;CG/OhC;;AACD;EACE,kBHkPkC;EGjPlC,iBHsP+B;EGrP/B,iBH2O+B;CG1OhC;;AACD;EACE,kBH8OkC;EG7OlC,iBHkP+B;EGjP/B,iBHsO+B;CGrOhC;;AJmCD;EI3BE,iBHwEW;EGvEX,oBHuEW;EGtEX,UAAS;EACT,yCHtCa;CGuCd;;AAOD;;EAEE,eHiO+B;EGhO/B,iBH+L+B;CG9LhC;;AAED;;EAEE,eHqOgC;EGpOhC,0BH6OmC;CG5OpC;;AAOD;EC/EE,gBAAe;EACf,iBAAgB;CDgFjB;;AAGD;ECpFE,gBAAe;EACf,iBAAgB;CDqFjB;;AACD;EACE,sBAAqB;CAKtB;;AAND;EAII,qBHuN+B;CGtNhC;;AASH;EACE,eAAc;EACd,0BAAyB;CAC1B;;AAGD;EACE,oBHeW;EGdX,mBHyLoD;CGxLrD;;AAED;EACE,eAAc;EACd,eAAc;EACd,eHvGgB;CG4GjB;;AARD;EAMI,uBAAsB;CACvB;;AEpHH;ECIE,gBAAe;EAGf,aAAY;CDLb;;AAID;EACE,iBL61BwC;EK51BxC,uBLLa;EKMb,0BLHgB;EOTd,uBP+NgC;EMxNlC,gBAAe;EAGf,aAAY;CDQb;;AAMD;EAEE,sBAAqB;CACtB;;AAED;EACE,sBAA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,wBAA8C;GEWrC;EAFD;IFTR,wBAA8C;GEWrC;CXoxCV;;AY70CD;EACE,YAAW;EACX,oBbyHW;EaxHX,8Bb6TuC;CaxSxC;;AAxBD;;EAOI,iBbsTgC;EarThC,oBAAmB;EACnB,8BbAc;CaCf;;AAVH;EAaI,uBAAsB;EACtB,iCbLc;CaMf;;AAfH;EAkBI,8BbTc;CaUf;;AAnBH;EAsBI,uBbhBW;CaiBZ;;AAQH;;EAGI,gBb4R+B;Ca3RhC;;AAQH;EACE,0BbnCgB;CagDjB;;AAdD;;EAKI,0BbvCc;CawCf;;AANH;;EAWM,yBAA8C;CAC/C;;AAIL;;;;EAKI,UAAS;CACV;;AAOH;EAEI,sCb1DW;Ca2DZ;;AXnED;EW8EI,uCbtES;CERS;;AYPtB;;;EAII,0BC2E4D;CD1E7D;;AZEH;EYQM,0BAJsC;CZJtB;;AYGtB;;EASQ,0BARoC;CASrC;;AApBP;;;EAII,0BC2E4D;CD1E7D;;AZEH;EYQM,0BAJsC;CZJtB;;AYGtB;;EASQ,0BARoC;CASrC;;AApBP;;;EAII,0BC2E4D;CD1E7D;;AZEH;EYQM,0BAJsC;CZJtB;;AYGtB;;EASQ,0BARoC;CASrC;;AApBP;;;EAII,0BC2E4D;CD1E7D;;AZEH;EYQM,0BAJsC;CZJtB;;AYGtB;;EASQ,0BARoC;CASrC;;AApBP;;;EAII,0BC2E4D;CD1E7D;;AZEH;EYQM,0BAJsC;CZJtB;;AYGtB;;EASQ,0BARoC;CASrC;;AApBP;;;EAII,0BC2E4D;CD1E7D;;AZEH;EYQM,0BAJsC;CZJtB;;AYGtB;;EASQ,0BARoC;CASrC;;AApBP;;;EAII,0BC2E4D;CD1E7D;;AZEH;EYQM,0BAJsC;CZJtB;;AYGtB;;EASQ,0BARoC;CASrC;;AApBP;;;EAII,0BC2E4D;CD1E7D;;AZEH;EYQM,0BAJsC;CZJtB;;AYGtB;;EASQ,0BARoC;CASrC;;AApBP;;;EAII,uCdWS;CcVV;;AZEH;EYQM,uCAJsC;CZJtB;;AYGtB;;EASQ,uCARoC;CASrC;;ADwFT;EAGM,Yb1GS;Ea2GT,0BblGY;EamGZ,sBb4NgD;Ca3NjD;;AANL;EAWM,eb3GY;Ea4GZ,0BbjHY;EakH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AChB;;AAaH;;EAEE,qBAAoB;CACrB;;AAQC;ECxDA,YrBIa;EmBJX,0BnBkCa;EqBhCf,sBrBgCe;CoBwBd;;AlBpDD;EmBAE,YrBFW;EmBJX,0BEDoF;EASpF,sBATyH;CnBOrG;;AmBKtB;EAMI,gDrBiBW;CqBfd;;AAGD;EAEE,YrBpBW;EqBqBX,0BrBSa;EqBRb,sBrBQa;CqBPd;;AAED;;EAGE,YrB5BW;EqB6BX,0BAlCuK;EAsCvK,sBAtC+M;CAgDhN;;AARC;;EAKI,gDrBVS;CqBYZ;;ADUH;ECxDA,YrBIa;EmBJX,0BnBUc;EqBRhB,sBrBQgB;CoBgDf;;AlBpDD;EmBAE,YrBFW;EmBJX,0BEDoF;EASpF,sBATyH;CnBOrG;;AmBKtB;EAMI,kDrBPY;CqBSf;;AAGD;EAEE,YrBpBW;EqBqBX,0BrBfc;EqBgBd,sBrBhBc;CqBiBf;;AAED;;EAGE,YrB5BW;EqB6BX,0BAlCuK;EAsCvK,sBAtC+M;CAgDhN;;AARC;;EAKI,kDrBlCU;CqBoCb;;ADUH;ECxDA,YrBIa;EmBJX,0BnByCa;EqBvCf,sBrBuCe;CoBiBd;;AlBpDD;EmBAE,YrBFW;EmBJX,0BEDoF;EASpF,sBATyH;CnBOrG;;AmBKtB;EAMI,gDrBwBW;CqBtBd;;AAGD;EAEE,YrBpBW;EqBqBX,0BrBgBa;EqBfb,sBrBea;CqBdd;;AAED;;EAGE,YrB5BW;EqB6BX,0BAlCuK;EAsCvK,sBAtC+M;CAgDhN;;AARC;;EAKI,gDrBHS;CqBKZ;;ADUH;ECxDA,YrBIa;EmBJX,0BnB2Ca;EqBzCf,sBrByCe;CoBed;;AlBpDD;EmBAE,YrBFW;EmBJX,0BEDoF;EASpF,sBATyH;CnBOrG;;AmBKtB;EAMI,iDrB0BW;CqBxBd;;AAGD;EAEE,YrBpBW;EqBqBX,0BrBkBa;EqBjBb,sBrBiBa;CqBhBd;;AAED;;EAGE,YrB5BW;EqB6BX,0BAlCuK;EAsCvK,sBAtC+M;CAgDhN;;AARC;;EAKI,iDrBDS;CqBGZ;;ADUH;ECxDA,erBagB;EmBbd,0BnBwCa;EqBtCf,sBrBsCe;CoBkBd;;AlBpDD;EmBAE,erBOc;EmBbd,0BEDoF;EASpF,sBATyH;CnBOrG;;AmBKtB;EAMI,gDrBuBW;CqBrBd;;AAGD;EAEE,erBXc;EqBYd,0BrBea;EqBdb,sBrBca;CqBbd;;AAED;;EAGE,erBnBc;EqBoBd,0BAlCuK;EAsCvK,sBAtC+M;CAgDhN;;AARC;;EAKI,gDrBJS;CqBMZ;;ADUH;ECxDA,YrBIa;EmBJX,0BnBsCa;EqBpCf,sBrBoCe;CoBoBd;;AlBpDD;EmBAE,YrBFW;EmBJX,0BEDoF;EASpF,sBATyH;CnBOrG;;AmBKtB;EAMI,gDrBqBW;CqBnBd;;AAGD;EAEE,YrBpBW;EqBqBX,0BrBaa;EqBZb,sBrBYa;CqBXd;;AAED;;EAGE,YrB5BW;EqB6BX,0BAlCuK;EAsCvK,sBAtC+M;CAgDhN;;AARC;;EAKI,gDrBNS;CqBQZ;;ADUH;ECxDA,erBagB;EmBbd,0BnBKc;EqBHhB,sBrBGgB;CoBqDf;;AlBpDD;EmBAE,erBOc;EmBbd,0BEDoF;EASpF,sBATyH;CnBOrG;;AmBKtB;EAMI,kDrBZY;CqBcf;;AAGD;EAEE,erBXc;EqBYd,0BrBpBc;EqBqBd,sBrBrBc;CqBsBf;;AAED;;EAGE,erBnBc;EqBoBd,0BAlCuK;EAsCvK,sBAtC+M;CAgDhN;;AARC;;EAKI,kDrBvCU;CqByCb;;ADUH;ECxDA,YrBIa;EmBJX,0BnBYc;EqBVhB,sBrBUgB;CoB8Cf;;AlBpDD;EmBAE,YrBFW;EmBJX,0BEDoF;EASpF,sBATyH;CnBOrG;;AmBKtB;EAMI,+CrBLY;CqBOf;;AAGD;EAEE,YrBpBW;EqBqBX,0BrBbc;EqBcd,sBrBdc;CqBef;;AAED;;EAGE,YrB5BW;EqB6BX,0BAlCuK;EAsCvK,sBAtC+M;CAgDhN;;AARC;;EAKI,+CrBhCU;CqBkCb;;ADgBH;ECXA,erBjBe;EqBkBf,8BAA6B;EAC7B,uBAAsB;EACtB,sBrBpBe;CoB8Bd;;ACRD;EACE,YrBrDW;EqBsDX,0BrBxBa;EqByBb,sBrBzBa;CqB0Bd;;AAED;EAEE,gDrB9Ba;CqB+Bd;;AAED;EAEE,erBnCa;EqBoCb,8BAA6B;CAC9B;;AAED;;EAGE,YrBxEW;EqByEX,0BrB3Ca;EqB4Cb,sBrB5Ca;CqBsDd;;AARC;;EAKI,gDrBnDS;CqBqDZ;;ADzBH;ECXA,erBzCgB;EqB0ChB,8BAA6B;EAC7B,uBAAsB;EACtB,sBrB5CgB;CoBsDf;;ACRD;EACE,YrBrDW;EqBsDX,0BrBhDc;EqBiDd,sBrBjDc;CqBkDf;;AAED;EAEE,kDrBtDc;CqBuDf;;AAED;EAEE,erB3Dc;EqB4Dd,8BAA6B;CAC9B;;AAED;;EAGE,YrBxEW;EqByEX,0BrBnEc;EqBoEd,sBrBpEc;CqB8Ef;;AARC;;EAKI,kDrB3EU;CqB6Eb;;ADzBH;ECXA,erBVe;EqBWf,8BAA6B;EAC7B,uBAAsB;EACtB,sBrBbe;CoBuBd;;ACRD;EACE,YrBrDW;EqBsDX,0BrBjBa;EqBkBb,sBrBlBa;CqBmBd;;AAED;EAEE,gDrBvBa;CqBwBd;;AAED;EAEE,erB5Ba;EqB6Bb,8BAA6B;CAC9B;;AAED;;EAGE,YrBxEW;EqByEX,0BrBpCa;EqBqCb,sBrBrCa;CqB+Cd;;AARC;;EAKI,gDrB5CS;CqB8CZ;;ADzBH;ECXA,erBRe;EqBSf,8BAA6B;EAC7B,uBAAsB;EACtB,sBrBXe;CoBqBd;;ACRD;EACE,YrBrDW;EqBsDX,0BrBfa;EqBgBb,sBrBhBa;CqBiBd;;AAED;EAEE,iDrBrBa;CqBsBd;;AAED;EAEE,erB1Ba;EqB2Bb,8BAA6B;CAC9B;;AAED;;EAGE,YrBxEW;EqByEX,0BrBlCa;EqBmCb,sBrBnCa;CqB6Cd;;AARC;;EAKI,iDrB1CS;CqB4CZ;;ADzBH;ECXA,erBXe;EqBYf,8BAA6B;EAC7B,uBAAsB;EACtB,sBrBde;CoBwBd;;ACRD;EACE,erB5Cc;EqB6Cd,0BrBlBa;EqBmBb,sBrBnBa;CqBoBd;;AAED;EAEE,gDrBxBa;CqByBd;;AAED;EAEE,erB7Ba;EqB8Bb,8BAA6B;CAC9B;;AAED;;EAGE,erB/Dc;EqBgEd,0BrBrCa;EqBsCb,sBrBtCa;CqBgDd;;AARC;;EAKI,gDrB7CS;CqB+CZ;;ADzBH;ECXA,erBbe;EqBcf,8BAA6B;EAC7B,uBAAsB;EACtB,sBrBhBe;CoB0Bd;;ACRD;EACE,YrBrDW;EqBsDX,0BrBpBa;EqBqBb,sBrBrBa;CqBsBd;;AAED;EAEE,gDrB1Ba;CqB2Bd;;AAED;EAEE,erB/Ba;EqBgCb,8BAA6B;CAC9B;;AAED;;EAGE,YrBxEW;EqByEX,0BrBvCa;EqBwCb,sBrBxCa;CqBkDd;;AARC;;EAKI,gDrB/CS;CqBiDZ;;ADzBH;ECXA,erB9CgB;EqB+ChB,8BAA6B;EAC7B,uBAAsB;EACtB,sBrBjDgB;CoB2Df;;ACRD;EACE,erB5Cc;EqB6Cd,0BrBrDc;EqBsDd,sBrBtDc;CqBuDf;;AAED;EAEE,kDrB3Dc;CqB4Df;;AAED;EAEE,erBhEc;EqBiEd,8BAA6B;CAC9B;;AAED;;EAGE,erB/Dc;EqBgEd,0BrBxEc;EqByEd,sBrBzEc;CqBmFf;;AARC;;EAKI,kDrBhFU;CqBkFb;;ADzBH;ECXA,erBvCgB;EqBwChB,8BAA6B;EAC7B,uBAAsB;EACtB,sBrB1CgB;CoBoDf;;ACRD;EACE,YrBrDW;EqBsDX,0BrB9Cc;EqB+Cd,sBrB/Cc;CqBgDf;;AAED;EAEE,+CrBpDc;CqBqDf;;AAED;EAEE,erBzDc;EqB0Dd,8BAA6B;CAC9B;;AAED;;EAGE,YrBxEW;EqByEX,0BrBjEc;EqBkEd,sBrBlEc;CqB4Ef;;AARC;;EAKI,+CrBzEU;CqB2Eb;;ADdL;EACE,iBpBoL+B;EoBnL/B,epBzCe;EoB0Cf,8BAA6B;CAuB9B;;AlB7FC;EkByEE,epBoFgD;EoBnFhD,2BpBoFiC;EoBnFjC,8BAA6B;EAC7B,0BAAyB;ClB5EL;;AkBmExB;EAcI,2BpB6EiC;EoB5EjC,0BAAyB;EACzB,iBAAgB;CACjB;;AAjBH;EAqBI,epBpFc;EoBqFd,qBAAoB;CACrB;;AAUH;ECbE,qBrBuQgC;EqBtQhC,mBrB4JoD;EqB3JpD,iBrBwH+B;EqBrH7B,sBrB4H+B;CoBlHlC;;AAED;ECjBE,wBrBmQiC;EqBlQjC,oBrB6JoD;EqB5JpD,iBrByH+B;EqBtH7B,sBrB6H+B;CoB/GlC;;AAOD;EACE,eAAc;EACd,YAAW;CAMZ;;AARD;EAMI,mBpBwQ+B;CoBvQhC;;AAIH;;;EAII,YAAW;CACZ;;AE3IH;ELGM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M,kB5BySQ;C4BxST;;AAIL;EACE,mBAAkB;EAClB,OAAM;EACN,SAAQ;EACR,QAAO;EACP,WAAU;EACV,4B5BoK4F;E4BnK5F,0B5BoEkC;E4BnElC,iB5BnB+B;E4BoB/B,e5B3QgB;E4B4QhB,uB5BnRa;E4BoRb,0B5BhRgB;EOVd,uBP+NgC;C4B+EnC;;AA/BD;EAgBI,mBAAkB;EAClB,OAAM;EACN,SAAQ;EACR,UAAS;EACT,WAAU;EACV,eAAc;EACd,gB5BmJ2G;E4BlJ3G,0B5BoDgC;E4BnDhC,iB5BnC6B;E4BoC7B,e5B3Rc;E4B4Rd,kBAAiB;ETvSjB,0BnBMc;E4BmSd,+B5BjSc;EOVd,mCqB4SgF;CACjF;;AASH;EACE,YAAW;EACX,gBAAe;EACf,8BAA6B;EAC7B,yBAAgB;EAAhB,sBAAgB;EAAhB,iBAAgB;CA4GjB;;AAhHD;EAOI,cAAa;CAOd;;AAdH;EAW8B,iE5B7Rb;C4B6RiE;;AAXlF;EAY8B,iE5B9Rb;C4B8RiE;;AAZlF;EAa8B,iE5B/Rb;C4B+RiE;;AAblF;EAiBI,UAAS;CACV;;AAlBH;EAqBI,Y5B4M6C;E4B3M7C,a5B2M6C;E4B1M7C,qBAA2E;ET3U3E,0BnBkCa;E4B2Sb,U5B2M0C;EO1hB1C,oBP2hB6C;EiB1hB3C,6GjBid+H;E4B/HjI,yBAAgB;EAAhB,iBAAgB;CAKjB;;AXnVD;EWiTF;IXhTI,iBAAgB;GWkVjB;C3B2nGF;;A2B7pGD;ETpTI,0BnB6hB2E;C4BxM1E;;AAjCL;EAqCI,Y5BqLoC;E4BpLpC,e5BqLqC;E4BpLrC,mBAAkB;EAClB,gB5BoLuC;E4BnLvC,0B5BtVc;E4BuVd,0BAAyB;ErBhWzB,oBPohBoC;C4BjLrC;;AA7CH;EAgDI,Y5BiL6C;E4BhL7C,a5BgL6C;EmBrhB7C,0BnBkCa;E4BqUb,U5BiL0C;EO1hB1C,oBP2hB6C;EiB1hB3C,6GjBid+H;E4BrGjI,sBAAgB;EAAhB,iBAAgB;CAKjB;;AX7WD;EWiTF;IXhTI,iBAAgB;GW4WjB;C3B+nGF;;A2B3rGD;ETpTI,0BnB6hB2E;C4B9K1E;;AA3DL;EA+DI,Y5B2JoC;E4B1JpC,e5B2JqC;E4B1JrC,mBAAkB;EAClB,gB5B0JuC;E4BzJvC,0B5BhXc;E4BiXd,0BAAyB;ErB1XzB,oBPohBoC;C4BvJrC;;AAvEH;EA0EI,Y5BuJ6C;E4BtJ7C,a5BsJ6C;E4BrJ7C,cAAa;EACb,qB5BtC+B;E4BuC/B,oB5BvC+B;EmB3V/B,0BnBkCa;E4BkWb,U5BoJ0C;EO1hB1C,oBP2hB6C;EiB1hB3C,6GjBid+H;E4BxEjI,iBAAgB;CAKjB;;AX1YD;EWiTF;IXhTI,iBAAgB;GWyYjB;C3BmoGF;;A2B5tGD;ETpTI,0BnB6hB2E;C4BjJ1E;;AAxFL;EA4FI,Y5B8HoC;E4B7HpC,e5B8HqC;E4B7HrC,mBAAkB;EAClB,gB5B6HuC;E4B5HvC,8BAA6B;EAC7B,0BAAyB;EACzB,qBAA+C;CAEhD;;AApGH;EAuGI,0B5BpZc;EOTd,oBPohBoC;C4BrHrC;;AAzGH;EA4GI,mBAAkB;EAClB,0B5B1Zc;EOTd,oBPohBoC;C4B/GrC;;AAGH;;;EXvaM,6GjBid+H;C4BtCpI;;AXvaC;EWmaF;;;IXlaI,iBAAgB;GWsanB;C3B6oGA;;A4BxjHD;EACE,qBAAa;EAAb,cAAa;EACb,oBAAe;EAAf,gBAAe;EACf,gBAAe;EACf,iBAAgB;EAChB,iBAAgB;CACjB;;AAED;EACE,eAAc;EACd,qB7BgmBsC;C6BtlBvC;;A3BTC;E2BEE,sBAAqB;C3BCtB;;A2BNH;EAUI,e7BPc;C6BQf;;AAOH;EACE,iC7BnBgB;C6BqDjB;;AAnCD;EAII,oB7B6L6B;C6B5L9B;;AALH;EAQI,8BAAgD;EtB7BhD,gCPyNgC;EOxNhC,iCPwNgC;C6BhLjC;;A3BnCD;E2B2BI,sC7B9BY;CEMf;;A2BYH;EAgBM,e7B/BY;E6BgCZ,8BAA6B;EAC7B,0BAAyB;CAC1B;;AAnBL;;EAwBI,e7BtCc;E6BuCd,uB7B9CW;E6B+CX,mC7B/CW;C6BgDZ;;AA3BH;EA+BI,iB7BkK6B;EOtN7B,0BsBsD4B;EtBrD5B,2BsBqD4B;CAC7B;;AAQH;EtBrEI,uBP+NgC;C6BvJjC;;AAHH;;EAOI,Y7BtEW;E6BuEX,0B7BzCa;C6B0Cd;;AAQH;EAEI,mBAA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C3NnC;;AAED;EAGI,qBhCg3BqC;CgCx2BtC;;AAXH;EAMM,sBAAqB;EACrB,sBhC42BmC;EgC32BnC,ehCFY;EgCGZ,ahCi3BuC;CgCh3BxC;;AAVL;EAoBI,2BAA0B;CAC3B;;AArBH;EAwBI,sBAAqB;CACtB;;AAzBH;EA4BI,ehCtBc;CgCuBf;;ACvCH;EACE,qBAAa;EAAb,cAAa;E7BGb,gBAAe;EACf,iBAAgB;EGDd,uBP+NgC;CiC/NnC;;AAED;EACE,mBAAkB;EAClB,eAAc;EACd,wBjC2pBwC;EiC1pBxC,kBjCsN+B;EiCrN/B,kBjC8pBsC;EiC7pBtC,ejC4Be;EiC3Bf,uBjCHa;EiCIb,0BjCDgB;CiCqBjB;;AA5BD;EAWI,WAAU;EACV,ejCuJgD;EiCtJhD,sBAAqB;EACrB,0BjCRc;EiCSd,sBjCRc;CiCSf;;AAhBH;EAmBI,WAAU;EACV,WjCupBiC;EiCtpBjC,iDjCaa;CiCZd;;AAtBH;EA0BI,gBAAe;CAChB;;AAGH;EAGM,eAAc;E1BRhB,gCPoMgC;EOnMhC,mCPmMgC;CiC1L/B;;AALL;E1BnBI,iCPkNgC;EOjNhC,oCPiNgC;CiCrL/B;;AAVL;EAcI,WAAU;EACV,YjCzCW;EiC0CX,0BjCZa;EiCab,sBjCba;CiCcd;;AAlBH;EAqBI,ejCzCc;EiC0Cd,qBAAoB;EAEpB,aAAY;EACZ,uBjCnDW;EiCoDX,sBjCjDc;CiCkDf;;AC5DD;EACE,wBlCoqBsC;EkCnqBtC,mBlC2PkD;EkC1PlD,iBlCuN6B;CkCtN9B;;AAIG;E3BoBF,+BPqM+B;EOpM/B,kCPoM+B;CkCvN5B;;AAGD;E3BCF,gCPmN+B;EOlN/B,mCPkN+B;CkClN5B;;AAfL;EACE,wBlCkqBqC;EkCjqBrC,oBlC4PkD;EkC3PlD,iBlCwN6B;CkCvN9B;;AAIG;E3BoBF,+BPsM+B;EOrM/B,kCPqM+B;CkCxN5B;;AAGD;E3BCF,gCPoN+B;EOnN/B,mCPmN+B;CkCnN5B;;ACbP;EACE,sBAAqB;EACrB,sBnCowBsC;EmCnwBtC,enCgwBqC;EmC/vBrC,iBnC4P+B;EmC3P/B,eAAc;EACd,mBAAkB;EAClB,oBAAmB;EACnB,yBAAwB;E5BTtB,uBP+NgC;CmC/MnC;;AAfD;EAaI,cAAa;CACd;;AAIH;EACE,mBAAkB;EAClB,UAAS;CACV;;AAMD;EACE,qBnC6uBsC;EmC5uBtC,oBnC4uBsC;EO1wBpC,qBP6wBqC;CmC7uBxC;;AAOC;EC1CA,YpCSa;EoCRb,0BpCsCe;CmCKd;;AjC7BD;EkCVI,YpCIS;EoCHT,sBAAqB;EACrB,0BAAkC;ClCWrC;;AiCwBD;EC1CA,YpCSa;EoCRb,0BpCcgB;CmC6Bf;;AjC7BD;EkCVI,YpCIS;EoCHT,sBAAqB;EACrB,0BAAkC;ClCWrC;;AiCwBD;EC1CA,YpCSa;EoCRb,0BpC6Ce;CmCFd;;AjC7BD;EkCVI,YpCIS;EoCHT,sBAAqB;EACrB,0BAAkC;ClCWrC;;AiCwBD;EC1CA,YpCSa;EoCRb,0BpC+Ce;CmCJd;;AjC7BD;EkCVI,YpCIS;EoCHT,sBAAqB;EACrB,0BAAkC;ClCWrC;;AiCwBD;EC1CA,epCkBgB;EoCjBhB,0BpC4Ce;CmCDd;;AjC7BD;EkCVI,epCaY;EoCZZ,sBAAqB;EACrB,0BAAkC;ClCWrC;;AiCwBD;EC1CA,YpCSa;EoCRb,0BpC0Ce;CmCCd;;AjC7BD;EkCVI,YpCIS;EoCHT,sBAAqB;EACrB,0BAAkC;ClCWrC;;AiCwBD;EC1CA,epCkBgB;EoCjBhB,0BpCSgB;CmCkCf;;AjC7BD;EkCVI,epCaY;EoCZZ,sBAAqB;EACrB,0BAAkC;ClCWrC;;AiCwBD;EC1CA,YpCSa;EoCRb,0BpCgBgB;CmC2Bf;;AjC7BD;EkCVI,YpCIS;EoCHT,sBAAqB;EACrB,0BAAkC;ClCWrC;;AmCnBH;EACE,mBAAoD;EACpD,oBrCgsBsC;EqC/rBtC,0BrCSgB;EORd,sBPgO+B;CqC3NlC;;A1BmDG;E0B5DJ;IAOI,mBrC2rBoC;GqCzrBvC;CpC++IA;;AoC7+ID;EACE,iBAAgB;EAChB,gBAAe;E9BTb,iB8BUsB;CACzB;;ACXD;EACE,mBAAkB;EAClB,yBtCmzByC;EsClzBzC,oBtCmzBsC;EsClzBtC,8BAA6C;E/BJ3C,uBP+NgC;CsCzNnC;;AAGD;EAEE,eAAc;CACf;;AAG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E2CKP,0B5BqE0D;E4BpE1D,sB5BoE0D;C4BnE3D;;AAdL;EACE,e5BgF8D;E4B/E9D,0B5B+E8D;C4BjE/D;;AzCHD;EyCPM,e5B2E0D;E4B1E1D,0BAAyC;CzCS9C;;AyChBD;EAWM,Y3CJO;E2CKP,0B5BqE0D;E4BpE1D,sB5BoE0D;C4BnE3D;;AAdL;EACE,e5BgF8D;E4B/E9D,0B5B+E8D;C4BjE/D;;AzCHD;EyCPM,e5B2E0D;E4B1E1D,0BAAyC;CzCS9C;;AyChBD;EAWM,Y3CJO;E2CKP,0B5BqE0D;E4BpE1D,sB5BoE0D;C4BnE3D;;AAdL;EACE,e5BgF8D;E4B/E9D,0B5B+E8D;C4BjE/D;;AzCHD;EyCPM,e5B2E0D;E4B1E1D,0BAAyC;CzCS9C;;AyChBD;EAWM,Y3CJO;E2CKP,0B5BqE0D;E4BpE1D,sB5BoE0D;C4BnE3D;;AAdL;EACE,e5BgF8D;E4B/E9D,0B5B+E8D;C4BjE/D;;AzCHD;EyCPM,e5B2E0D;E4B1E1D,0BAAyC;CzCS9C;;AyChBD;EAWM,Y3CJO;E2CKP,0B5BqE0D;E4BpE1D,sB5BoE0D;C4BnE3D;;AAdL;EACE,e5BgF8D;E4B/E9D,0B5B+E8D;C4BjE/D;;AzCHD;EyCPM,e5B2E0D;E4B1E1D,0BAAyC;CzCS9C;;AyChBD;EAWM,Y3CJO;E2CKP,0B5BqE0D;E4BpE1D,sB5BoE0D;C4BnE3D;;AAdL;EACE,e5BgF8D;E4B/E9D,0B5B+E8D;C4BjE/D;;AzCHD;EyCPM,e5B2E0D;E4B1E1D,0BAAyC;CzCS9C;;AyChBD;EAWM,Y3CJO;E2CKP,0B5BqE0D;E4BpE1D,sB5BoE0D;C4BnE3D;;AAdL;EACE,e5BgF8D;E4B/E9D,0B5B+E8D;C4BjE/D;;AzCHD;EyCPM,e5B2E0D;E4B1E1D,0BAAyC;CzCS9C;;AyChBD;EAWM,Y3CJO;E2CKP,0B5BqE0D;E4BpE1D,sB5BoE0D;C4BnE3D;;ACjBP;EACE,aAAY;EACZ,kB5C+5BuD;E4C95BvD,iB5CkQ+B;E4CjQ/B,eAAc;EACd,Y5Cea;E4Cdb,0B5CIa;E4CHb,YAAW;CAaZ;;AApBD;EAkBI,gBAAe;CAChB;;A1CHD;E0CJI,Y5CQS;E4CPT,sBAAqB;EACrB,aAAY;C1CKf;;A0CSH;EACE,WAAU;EACV,8BAA6B;EAC7B,UAAS;EACT,yBAAwB;CACzB;;AC3BD;EAEE,iBAAgB;CAMjB;;AARD;EAKI,mBAAkB;EAClB,iBAAgB;CACjB;;AAIH;EACE,gBAAe;EACf,OAAM;EACN,SAAQ;EACR,UAAS;EACT,QAAO;EACP,c7CilBsC;E6ChlBtC,cAAa;EACb,iBAAgB;EAGhB,WAAU;CAIX;;AAGD;EACE,mBAAkB;EAClB,YAAW;EACX,e7CmvBuC;E6CjvBvC,qBAAoB;CAUrB;;AAPC;E5BtCI,4CjB4yBoD;EiB5yBpD,oCjB4yBoD;EiB5yBpD,qEjB4yBoD;E6CpwBtD,sCAA6B;EAA7B,8BAA6B;CAC9B;;A5BrCD;E4BkCA;I5BjCE,iBAAgB;G4BoCjB;C5C85JF;;A4C75JC;EACE,mCAA0B;EAA1B,2BAA0B;CAC3B;;AAGH;EACE,qBAAa;EAAb,cAAa;EACb,uBAAmB;EAAnB,oBAAmB;EACnB,sCAAsD;CAQvD;;AAXD;EAOI,eAAc;EACd,mCAAmD;EACnD,YAAW;CACZ;;AAIH;EACE,mBAAkB;EAClB,qBAAa;EAAb,cAAa;EACb,2BAAsB;EAAtB,uBAAsB;EACtB,YAAW;EAEX,qBAAoB;EACpB,uB7C/Da;E6CgEb,6BAA4B;EAC5B,qC7CvDa;EOhBX,sBPgO+B;E6CrJjC,WAAU;CACX;;AAGD;EACE,gBAAe;EACf,OAAM;EACN,SAAQ;EACR,UAAS;EACT,QAAO;EACP,c7C8gBsC;E6C7gBtC,uB7CtEa;C6C2Ed;;AAZD;EAUW,WAAU;CAAI;;AAVzB;EAWW,a7CwsB2B;C6CxsBS;;AAK/C;EACE,qBAAa;EAAb,cAAa;EACb,sBAAuB;EAAvB,wBAAuB;EACvB,uBAA8B;EAA9B,+BAA8B;EAC9B,c7CosBsC;E6CnsBtC,iC7C5FgB;EOFd,+BP0N+B;EOzN/B,gCPyN+B;C6CpHlC;;AAbD;EASI,c7C+rBoC;E6C7rBpC,+BAAuF;CACxF;;AAIH;EACE,iBAAgB;EAChB,iB7CmJ+B;C6ClJhC;;AAID;EACE,mBAAkB;EAGlB,mBAAc;EAAd,eAAc;EACd,c7CwpBsC;C6CvpBvC;;AAGD;EACE,qBAAa;EAAb,cAAa;EACb,uBAAmB;EAAnB,oBAAmB;EACnB,mBAAyB;EAAzB,0BAAyB;EACzB,c7CgpBsC;E6C/oBtC,8B7C5HgB;C6CiIjB;;AAVD;EAQyB,oBAAmB;CAAI;;AARhD;EASwB,qBAAoB;CAAI;;AAIhD;EACE,mBAAkB;EAClB,aAAY;EACZ,YAAW;EACX,aAAY;EACZ,iBAAgB;CACjB;;AlC1FG;EkCzBJ;IAyHI,iB7CkpBqC;I6CjpBrC,qBAAyC;GAC1C;EA1GH;IA6GI,uCAA8D;GAM/D;EAnHH;IAgHM,oCAA2D;GAC5D;EAQH;IAAY,iB7CkoB2B;G6CloBH;C5Cg5JrC;;AUjgKG;EkCsHF;IAAY,iB7C2nB2B;G6C3nBH;C5Ci5JrC;;A6ClkKD;EACE,mBAAkB;EAClB,c9CumBsC;E8CtmBtC,eAAc;EACd,U9CguBmC;E+CpuBnC,sL/CyPoM;E+CvPpM,mBAAkB;EAClB,iB/CgQ+B;E+C/P/B,iB/CmQ+B;E+ClQ/B,iBAAgB;EAChB,kBAAiB;EACjB,sBAAqB;EACrB,kBAAiB;EACjB,qBAAoB;EACpB,uBAAsB;EACtB,mBAAkB;EAClB,qBAAoB;EACpB,oBAAmB;EACnB,iBAAgB;EDNhB,oB9CwPoD;E8CtPpD,sBAAqB;EACrB,WAAU;CAiBX;;AA5BD;EAaW,a9CotB2B;C8CptBE;;AAbxC;EAgBI,mBAAkB;EAClB,eAAc;EACd,c9CotBqC;E8CntBrC,e9CotBqC;C8C5sBtC;;AA3BH;EAsBM,mBAAkB;EAClB,YAAW;EACX,0BAAyB;EACzB,oBAAmB;CACpB;;AAIL;EACE,kBAAgC;CAWjC;;AAZD;EAII,UAAS;CAOV;;AAXH;EAOM,OAAM;EACN,8BAAgE;EAChE,uB9CpBS;C8CqBV;;AAIL;EACE,kB9C0rBuC;C8C7qBxC;;AAdD;EAII,QAAO;EACP,c9CsrBqC;E8CrrBrC,e9CorBqC;C8C7qBtC;;AAbH;EASM,SAAQ;EACR,qCAA2F;EAC3F,yB9CpCS;C8CqCV;;AAIL;EACE,kBAAgC;CAWjC;;AAZD;EAII,OAAM;CAOP;;AAXH;EAOM,UAAS;EACT,8B9CmqBmC;E8ClqBnC,0B9ClDS;C8CmDV;;AAIL;EACE,kB9C4pBuC;C8C/oBxC;;AAdD;EAII,SAAQ;EACR,c9CwpBqC;E8CvpBrC,e9CspBqC;C8C/oBtC;;AAbH;EASM,QAAO;EACP,qC9CmpBmC;E8ClpBnC,wB9ClES;C8CmEV;;AAoBL;EACE,iB9CknBuC;E8CjnBvC,wB9CunBuC;E8CtnBvC,Y9CpGa;E8CqGb,mBAAkB;EAClB,uB9C5Fa;EOhBX,uBP+NgC;C8CjHnC;;AElHD;EACE,mBAAkB;EAClB,OAAM;EACN,QAAO;EACP,chDqmBsC;EgDpmBtC,eAAc;EACd,iBhD0uBuC;E+C/uBvC,sL/CyPoM;E+CvPpM,mBAAkB;EAClB,iB/CgQ+B;E+C/P/B,iB/CmQ+B;E+ClQ/B,iBAAgB;EAChB,kBAAiB;EACjB,sBAAqB;EACrB,kBAAiB;EACjB,qBAAoB;EACpB,uBAAsB;EACtB,mBAAkB;EAClB,qBAAoB;EACpB,oBAAmB;EACnB,iBAAgB;ECLhB,oBhDuPoD;EgDrPpD,sBAAqB;EACrB,uBhDHa;EgDIb,6BAA4B;EAC5B,qChDKa;EOhBX,sBPgO+B;CgDjMlC;;AAnCD;EAoBI,mBAAkB;EAClB,eAAc;EACd,YhDyuBoC;EgDxuBpC,ehDyuBqC;EgDxuBrC,iBhD4M+B;CgDlMhC;;AAlCH;EA4BM,mBAAkB;EAClB,eAAc;EACd,YAAW;EACX,0BAAyB;EACzB,oBAAmB;CACpB;;AAIL;EACE,sBhD0tBuC;CgDtsBxC;;AArBD;EAII,kCAAwE;CACzE;;AALH;;;EASI,8BAAgE;CACjE;;AAVH;EAaI,UAAS;EACT,sChDgtBmE;CgD/sBpE;;;AAfH;;EAkBI,YhDyK6B;EgDxK7B,uBhD9CW;CgD+CZ;;AAGH;EACE,oBhDmsBuC;CgD5qBxC;;AAxBD;EAII,gCAAsE;EACtE,chD+rBqC;EgD9rBrC,ahD6rBoC;EgD5rBpC,iBAA2B;CAC5B;;AARH;;;EAYI,qCAA2F;CAC5F;;AAbH;EAgBI,QAAO;EACP,wChDsrBmE;CgDrrBpE;;;AAlBH;;EAqBI,UhD+I6B;EgD9I7B,yBhDxEW;CgDyEZ;;AAGH;EACE,mBhDyqBuC;CgDzoBxC;;AAjCD;EAII,+BAAqE;CACtE;;AALH;;;EASI,qCAA2F;CAC5F;;AAVH;EAaI,OAAM;EACN,yChD+pBmE;CgD9pBpE;;;AAfH;;EAkBI,ShDwH6B;EgDvH7B,0BhD/FW;CgDgGZ;;AApBH;EAwBI,mBAAkB;EAClB,OAAM;EACN,UAAS;EACT,eAAc;EACd,YhD6oBoC;EgD5oBpC,qBAAwC;EACxC,YAAW;EACX,iChDioBuD;CgDhoBxD;;AAGH;EACE,qBhDsoBuC;CgD/mBxC;;AAxBD;EAII,iCAAuE;EACvE,chDkoBqC;EgDjoBrC,ahDgoBoC;EgD/nBpC,iBAA2B;CAC5B;;AARH;;;EAYI,qChD2nBqC;CgD1nBtC;;AAbH;EAgBI,SAAQ;EACR,uChDynBmE;CgDxnBpE;;;AAlBH;;EAqBI,WhDkF6B;EgDjF7B,wBhDrIW;CgDsIZ;;AAoBH;EACE,wBhDolBwC;EgDnlBxC,iBAAgB;EAChB,gBhDwFgC;EgDvFhC,ehD6GmC;EgD5GnC,0BhD6kByD;EgD5kBzD,iCAAyE;EzChKvE,2CyCiKyE;EzChKzE,4CyCgKyE;CAM5E;;AAbD;EAWI,cAAa;CACd;;AAGH;EACE,wBhDqkBwC;EgDpkBxC,ehDlKgB;CgDmKjB;;AC5KD;EACE,mBAAkB;CACnB;;AAED;EACE,mBAAkB;EAClB,YAAW;EACX,iBAAgB;CACjB;;AAED;EACE,mBAAkB;EAClB,cAAa;EACb,uBAAmB;EAAnB,oBAAmB;EACnB,YAAW;EACX,oCAA2B;EAA3B,4BAA2B;EAC3B,4BAAmB;EAAnB,oBAAmB;CACpB;;AAED;;;EAGE,eAAc;EhC3BV,wCjBu5BgD;EiBv5BhD,gCjBu5BgD;EiBv5BhD,6DjBu5BgD;CiD13BrD;;AhCzBC;EgCoBF;;;IhCnBI,iBAAgB;GgCwBnB;ChD42KA;;AgD12KD;;EAEE,mBAAkB;EAClB,OAAM;CACP;;AAED;;EAEE,iCAAwB;EAAxB,yBAAwB;CAKzB;;AAHyC;EAJ1C;;IAKI,wCAA+B;IAA/B,gCAA+B;GAElC;ChD+2KA;;AgD72KD;;EAEE,oCAA2B;EAA3B,4BAA2B;CAK5B;;AAHyC;EAJ1C;;IAKI,2CAAkC;IAAlC,mCAAkC;GAErC;ChDk3KA;;AgDh3KD;;EAEE,qCAA4B;EAA5B,6BAA4B;CAK7B;;AAHyC;EAJ1C;;IAKI,4CAAmC;IAAnC,oCAAmC;GAEtC;ChDq3KA;;AgD92KD;EAEI,WAAU;EACV,yBAAwB;EACxB,6BAA4B;CAC7B;;AALH;;;EAUI,WAAU;CACX;;AAXH;;EAeI,WAAU;CACX;;AAhBH;;;;;EAuBI,iCAAwB;EAAxB,yBAAwB;CAKzB;;AAHyC;EAzB5C;;;;;IA0BM,wCAA+B;IAA/B,gCAA+B;GAElC;ChDq3KF;;AgD72KD;;EAEE,mBAAkB;EAClB,OAAM;EACN,UAAS;EAET,qBAAa;EAAb,cAAa;EACb,uBAAmB;EAAnB,oBAAmB;EACnB,sBAAuB;EAAvB,wBAAuB;EACvB,WjDqxBqC;EiDpxBrC,YjD9Ga;EiD+Gb,mBAAkB;EAClB,ajDmxBoC;CiDxwBrC;;A/CrHC;;;E+CgHE,YjDtHW;EiDuHX,sBAAqB;EACrB,WAAU;EACV,YAAW;C/ChHZ;;A+CmHH;EACE,QAAO;CAIR;;AACD;EACE,SAAQ;CAIT;;AAGD;;EAEE,sBAAqB;EACrB,YjDgwBsC;EiD/vBtC,ajD+vBsC;EiD9vBtC,gDAA+C;EAC/C,2BAA0B;CAC3B;;AACD;EACE,iNlCjHyI;CkCkH1I;;AACD;EACE,iNlCpHyI;CkCqH1I;;AAQD;EACE,mBAAkB;EAClB,SAAQ;EACR,aAAY;EACZ,QAAO;EACP,YAAW;EACX,qBAAa;EAAb,cAAa;EACb,sBAAuB;EAAvB,wBAAuB;EACvB,gBAAe;EAEf,kBjDytBqC;EiDxtBrC,iBjDwtBqC;EiDvtBrC,iBAAgB;CAqCjB;;AAjDD;EAeI,mBAAkB;EAClB,mBAAc;EAAd,eAAc;EACd,YjDqtBoC;EiDptBpC,YjDqtBmC;EiDptBnC,kBjDqtBmC;EiDptBnC,iBjDotBmC;EiDntBnC,oBAAmB;EACnB,gBAAe;EACf,2CjDtLW;CiD2MZ;;AA5CH;EA2BM,mBAAkB;EAClB,WAAU;EACV,QAAO;EACP,sBAAqB;EACrB,YAAW;EACX,aAAY;EACZ,YAAW;CACZ;;AAlCL;EAoCM,mBAAkB;EAClB,cAAa;EACb,QAAO;EACP,sBAAqB;EACrB,YAAW;EACX,aAAY;EACZ,YAAW;CACZ;;AA3CL;EA+CI,uBjD9MW;CiD+MZ;;AAQH;EACE,mBAAkB;EAClB,WAA6C;EAC7C,aAAY;EACZ,UAA4C;EAC5C,YAAW;EACX,kBAAiB;EACjB,qBAAoB;EACpB,YjD/Na;EiDgOb,mBAAkB;CACnB;;ACzOD;EAAqB,oCAAmC;CAAI;;AAC5D;EAAqB,+BAA8B;CAAI;;AACvD;EAAqB,kCAAiC;CAAI;;AAC1D;EAAqB,kCAAiC;CAAI;;AAC1D;EAAqB,uCAAsC;CAAI;;AAC/D;EAAqB,oCAAmC;CAAI;;ACF1D;EACE,qCAAmC;CACpC;;AjDSD;;;EiDLI,qCAAgD;CjDQnD;;AiDdD;EACE,qCAAmC;CACpC;;AjDSD;;;EiDLI,qCAAgD;CjDQnD;;AiDdD;EACE,qCAAmC;CACpC;;AjDSD;;;EiDLI,qCAAgD;CjDQnD;;AiDdD;EACE,qCAAmC;CACpC;;AjDSD;;;EiDLI,qCAAgD;CjDQnD;;AiDdD;EACE,qCAAmC;CACpC;;AjDSD;;;EiDLI,qCAAgD;CjDQnD;;AiDdD;EACE,qCAAmC;CACpC;;AjDSD;;;EiDLI,qCAAgD;CjDQnD;;AiDdD;EACE,qCAAmC;CACpC;;AjDSD;;;EiDLI,qCAAgD;CjDQnD;;AiDdD;EACE,qCAAmC;CACpC;;AjDSD;;;EiDLI,qCAAgD;CjDQnD;;AkDPH;EACE,kCAAmC;CACpC;;AAED;EACE,yCAAwC;CACzC;;ACZD;EAAkB,qCAAoD;CAAI;;AAC1E;EAAkB,yCAAwD;CAAI;;AAC9E;EAAkB,2CAA0D;CAAI;;AAChF;EAAkB,4CAA2D;CAAI;;AACjF;EAAkB,0CAAyD;CAAI;;AAE/E;EAAmB,qBAAoB;CAAI;;AAC3C;EAAmB,yBAAwB;CAAI;;AAC/C;EAAmB,2BAA0B;CAAI;;AACjD;EAAmB,4BAA2B;CAAI;;AAClD;EAAmB,0BAAyB;CAAI;;AAG9C;EACE,iCAA+B;CAChC;;AAFD;EACE,iCAA+B;CAChC;;AAFD;EACE,iCAA+B;CAChC;;AAFD;EACE,iCAA+B;CAChC;;AAFD;EACE,iCAA+B;CAChC;;AAFD;EACE,iCAA+B;CAChC;;AAFD;EACE,iCAA+B;CAChC;;AAFD;EACE,iCAA+B;CAChC;;AAGH;EACE,8BAA+B;CAChC;;AAMD;EACE,kCAAwC;CACzC;;AACD;EACE,2CAAiD;EACjD,4CAAkD;CACnD;;AACD;EACE,4CAAkD;EAClD,+CAAqD;CACtD;;AACD;EACE,+CAAqD;EACrD,8CAAoD;CACrD;;AACD;EACE,2CAAiD;EACjD,8CAAoD;CACrD;;AAED;EACE,8BAA6B;CAC9B;;AAED;EACE,4BAA2B;CAC5B;;ACzDC;EACE,eAAc;EACd,YAAW;EACX,YAAW;CACZ;;ACKC;EAA2B,yBAAwB;CAAI;;AACvD;EAA2B,2BAA0B;CAAI;;AACzD;EAA2B,iCAAgC;CAAI;;AAC/D;EAA2B,0BAAyB;CAAI;;AACxD;EAA2B,0BAAyB;CAAI;;AACxD;EAA2B,8BAA6B;CAAI;;AAC5D;EAA2B,+BAA8B;CAAI;;AAC7D;EAA2B,gCAAwB;EAAxB,yBAAwB;CAAI;;AACvD;EAA2B,uCAA+B;EAA/B,gCAA+B;CAAI;;A5C0C9D;E4ClDA;IAA2B,yBAAwB;GAAI;EACvD;IAA2B,2BAA0B;GAAI;EACzD;IAA2B,iCAAgC;GAAI;EAC/D;IAA2B,0BAAyB;GAAI;EACxD;IAA2B,0BAAyB;GAAI;EACxD;IAA2B,8BAA6B;GAAI;EAC5D;IAA2B,+BAA8B;GAAI;EAC7D;IAA2B,gCAAwB;IAAxB,yBAAwB;GAAI;EACvD;IAA2B,uCAA+B;IAA/B,gCAA+B;GAAI;CtD21LjE;;AUjzLG;E4ClDA;IAA2B,yBAAwB;GAAI;EACvD;IAA2B,2BAA0B;GAAI;EACzD;IAA2B,iCAAgC;GAAI;EAC/D;IAA2B,0BAAyB;GAAI;EACxD;IAA2B,0BAAyB;GAAI;EACxD;IAA2B,8BAA6B;GAAI;EAC5D;IAA2B,+BAA8B;GAAI;EAC7D;IAA2B,gCAAwB;IAAxB,yBAAwB;GAAI;EACvD;IAA2B,uCAA+B;IAA/B,gCAA+B;GAAI;CtDy3LjE;;AU/0LG;E4ClDA;IAA2B,yBAAwB;GAAI;EACvD;IAA2B,2BAA0B;GAAI;EACzD;IAA2B,iCAAgC;GAAI;EAC/D;IAA2B,0BAAyB;GAAI;EACxD;IAA2B,0BAAyB;GAAI;EACxD;IAA2B,8BAA6B;GAAI;EAC5D;IAA2B,+BAA8B;GAAI;EAC7D;IAA2B,gCAAwB;IAAxB,yBAAwB;GAAI;EACvD;IAA2B,uCAA+B;IAA/B,gCAA+B;GAAI;CtDu5LjE;;AU72LG;E4ClDA;IAA2B,yBAAwB;GAAI;EACvD;IAA2B,2BAA0B;GAAI;EACzD;IAA2B,iCAAgC;GAAI;EAC/D;IAA2B,0BAAyB;GAAI;EACxD;IAA2B,0BAAyB;GAAI;EACxD;IAA2B,8BAA6B;GAAI;EAC5D;IAA2B,+BAA8B;GAAI;EAC7D;IAA2B,gCAAwB;IAAxB,yBAAwB;GAAI;EACvD;IAA2B,uCAA+B;IAA/B,gCAA+B;GAAI;CtDq7LjE;;AsD56LD;EACE;IAAwB,yBAAwB;GAAI;EACpD;IAAwB,2BAA0B;GAAI;EACtD;IAAwB,iCAAgC;GAAI;EAC5D;IAAwB,0BAAyB;GAAI;EACrD;IAAwB,0BAAyB;GAAI;EACrD;IAAwB,8BAA6B;GAAI;EACzD;IAAwB,+BAA8B;GAAI;EAC1D;IAAwB,gCAAwB;IAAxB,yBAAwB;GAAI;EACpD;IAAwB,uCAA+B;IAA/B,gCAA+B;GAAI;CtDi8L5D;;AuDn+LD;EACE,mBAAkB;EAClB,eAAc;EACd,YAAW;EACX,WAAU;EACV,iBAAgB;CAoBjB;;AAzBD;EAQI,eAAc;EACd,YAAW;CACZ;;AAVH;;;;;EAiBI,mBAAkB;EAClB,OAAM;EACN,UAAS;EACT,QAAO;EACP,YAAW;EACX,aAAY;EACZ,UAAS;CACV;;AAGH;EAEI,wBAA+B;CAChC;;AAGH;EAEI,oBAA+B;CAChC;;AAGH;EAEI,iBAA8B;CAC/B;;AAGH;EAEI,kBAA8B;CAC/B;;ACxCC;EAAgC,mCAA8B;EAA9B,+BAA8B;CAAI;;AAClE;EAAgC,sCAAiC;EAAjC,kCAAiC;CAAI;;AACrE;EAAgC,2CAAsC;EAAtC,uCAAsC;CAAI;;AAC1E;EAAgC,8CAAyC;EAAzC,0CAAyC;CAAI;;AAE7E;EAA8B,+BAA0B;EAA1B,2BAA0B;CAAI;;AAC5D;EAA8B,iCAA4B;EAA5B,6BAA4B;CAAI;;AAC9D;EAA8B,uCAAkC;EAAlC,mCAAkC;CAAI;;AACpE;EAA8B,8BAAyB;EAAzB,0BAAyB;CAAI;;AAC3D;EAA8B,gCAAuB;EAAvB,wBAAuB;CAAI;;AACzD;EAA8B,gCAAuB;EAAvB,wBAAuB;CAAI;;AACzD;EAA8B,gCAAyB;EAAzB,0BAAyB;CAAI;;AAC3D;EAA8B,gCAAyB;EAAzB,0BAAyB;CAAI;;AAE3D;EAAoC,gCAAsC;EAAtC,uCAAsC;CAAI;;AAC9E;EAAoC,8BAAoC;EAApC,qCAAoC;CAAI;;AAC5E;EAAoC,iCAAkC;EAAlC,mCAAkC;CAAI;;AAC1E;EAAoC,kCAAyC;EAAzC,0CAAyC;CAAI;;AACjF;EAAoC,qCAAwC;EAAxC,yCAAwC;CAAI;;AAEhF;EAAiC,iCAAkC;EAAlC,mCAAkC;CAAI;;AACvE;EAAiC,+BAAgC;EAAhC,iCAAgC;CAAI;;AACrE;EAAiC,kCAA8B;EAA9B,+BAA8B;CAAI;;AACnE;EAAiC,oCAAgC;EAAhC,iCAAgC;CAAI;;AACrE;EAAiC,mCAA+B;EAA/B,gCAA+B;CAAI;;AAEpE;EAAkC,qCAAoC;EAApC,qCAAoC;CAAI;;AAC1E;EAAkC,mCAAkC;EAAlC,mCAAkC;CAAI;;AACxE;EAAkC,sCAAgC;EAAhC,iCAAgC;CAAI;;AACtE;EAAkC,uCAAuC;EAAvC,wCAAuC;CAAI;;AAC7E;EAAkC,0CAAsC;EAAtC,uCAAsC;CAAI;;AAC5E;EAAkC,uCAAiC;EAAjC,kCAAiC;CAAI;;AAEvE;EAAgC,qCAA2B;EAA3B,4BAA2B;CAAI;;AAC/D;EAAgC,sCAAiC;EAAjC,kCAAiC;CAAI;;AACrE;EAAgC,oCAA+B;EAA/B,gCAA+B;CAAI;;AACnE;EAAgC,uCAA6B;EAA7B,8BAA6B;CAAI;;AACjE;EAAgC,yCAA+B;EAA/B,gCAA+B;CAAI;;AACnE;EAAgC,wCAA8B;EAA9B,+BAA8B;CAAI;;A9CYlE;E8ClDA;IAAgC,mCAA8B;IAA9B,+BAA8B;GAAI;EAClE;IAAgC,sCAAiC;IAAjC,kCAAiC;GAAI;EACrE;IAAgC,2CAAsC;IAAtC,uCAAsC;GAAI;EAC1E;IAAgC,8CAAyC;IAAzC,0CAAyC;GAAI;EAE7E;IAA8B,+BAA0B;IAA1B,2BAA0B;GAAI;EAC5D;IAA8B,iCAA4B;IAA5B,6BAA4B;GAAI;EAC9D;IAA8B,uCAAkC;IAAlC,mCAAkC;GAAI;EACpE;IAA8B,8BAAyB;IAAzB,0BAAyB;GAAI;EAC3D;IAA8B,gCAAuB;IAAvB,wBAAuB;GAAI;EACzD;IAA8B,gCAAuB;IAAvB,wBAAuB;GAAI;EACzD;IAA8B,gCAAyB;IAAzB,0BAAyB;GAAI;EAC3D;IAA8B,gCAAyB;IAAzB,0BAAyB;GAAI;EAE3D;IAAoC,gCAAsC;IAAtC,uCAAsC;GAAI;EAC9E;IAAoC,8BAAoC;IAApC,qCAAoC;GAAI;EAC5E;IAAoC,iCAAkC;IAAlC,mCAAkC;GAAI;EAC1E;IAAoC,kCAAyC;IAAzC,0CAAyC;GAAI;EACjF;IAAoC,qCAAwC;IAAxC,yCAAwC;GAAI;EAEhF;IAAiC,iCAAkC;IAAlC,mCAAkC;GAAI;EACvE;IAAiC,+BAAgC;IAAhC,iCAAgC;GAAI;EACrE;IAAiC,kCAA8B;IAA9B,+BAA8B;GAAI;EACnE;IAAiC,oCAAgC;IAAhC,iCAAgC;GAAI;EACrE;IAAiC,mCAA+B;IAA/B,gCAA+B;GAAI;EAEpE;IAAkC,qCAAoC;IAApC,qCAAoC;GAAI;EAC1E;IAAkC,mCAAkC;IAAlC,mCAAkC;GAAI;EACxE;IAAkC,sCAAgC;IAAhC,iCAAgC;GAAI;EACtE;IAAkC,uCAAuC;IAAvC,wCAAuC;GAAI;EAC7E;IAAkC,0CAAsC;IAAtC,uCAAsC;GAAI;EAC5E;IAAkC,uCAAiC;IAAjC,kCAAiC;GAAI;EAEvE;IAAgC,qCAA2B;IAA3B,4BAA2B;GAAI;EAC/D;IAAgC,sCAAiC;IAAjC,kCAAiC;GAAI;EACrE;IAAgC,oCAA+B;IAA/B,gCAA+B;GAAI;EACnE;IAAgC,uCAA6B;IAA7B,8BAA6B;GAAI;EACjE;IAAgC,yCAA+B;IAA/B,gCAA+B;GAAI;EACnE;IAAgC,wCAA8B;IAA9B,+BAA8B;GAAI;CxDitMrE;;AUrsMG;E8ClDA;IAAgC,mCAA8B;IAA9B,+BAA8B;GAAI;EAClE;IAAgC,sCAAiC;IAAjC,kCAAiC;GAAI;EACrE;IAAgC,2CAAsC;IAAtC,uCAAsC;GAAI;EAC1E;IAAgC,8CAAyC;IAAzC,0CAAyC;GAAI;EAE7E;IAA8B,+BAA0B;IAA1B,2BAA0B;GAAI;EAC5D;IAA8B,iCAA4B;IAA5B,6BAA4B;GAAI;EAC9D;IAA8B,uCAAkC;IAAlC,mCAAkC;GAAI;EACpE;IAA8B,8BAAyB;IAAzB,0BAAyB;GAAI;EAC3D;IAA8B,gCAAuB;IAAvB,wBAAuB;GAAI;EACzD;IAA8B,gCAAuB;IAAvB,wBAAuB;GAAI;EACzD;IAA8B,gCAAyB;IAAzB,0BAAyB;GAAI;EAC3D;IAA8B,gCAAyB;IAAzB,0BAAyB;GAAI;EAE3D;IAAoC,gCAAsC;IAAtC,uCAAsC;GAAI;EAC9E;IAAoC,8BAAoC;IAApC,qCAAoC;GAAI;EAC5E;IAAoC,iCAAkC;IAAlC,mCAAkC;GAAI;EAC1E;IAAoC,kCAAyC;IAAzC,0CAAyC;GAAI;EACjF;IAAoC,qCAAwC;IAAxC,yCAAwC;GAAI;EAEhF;IAAiC,iCAAkC;IAAlC,mCAAkC;GAAI;EACvE;IAAiC,+BAAgC;IAAhC,iCAAgC;GAAI;EACrE;IAAiC,kCAA8B;IAA9B,+BAA8B;GAAI;EACnE;IAAiC,oCAAgC;IAAhC,iCAAgC;GAAI;EACrE;IAAiC,mCAA+B;IAA/B,gCAA+B;GAAI;EAEpE;IAAkC,qCAAoC;IAApC,qCAAoC;GAAI;EAC1E;IAAkC,mCAAkC;IAAlC,mCAAkC;GAAI;EACxE;IAAkC,sCAAgC;IAAhC,iCAAgC;GAAI;EACtE;IAAkC,uCAAuC;IAAvC,wCAAuC;GAAI;EAC7E;IAAkC,0CAAsC;IAAtC,uCAAsC;GAAI;EAC5E;IAAkC,uCAAiC;IAAjC,kCAAiC;GAAI;EAEvE;IAAgC,qCAA2B;IAA3B,4BAA2B;GAAI;EAC/D;IAAgC,sCAAiC;IAAjC,kCAAiC;GAAI;EACrE;IAAgC,oCAA+B;IAA/B,gCAA+B;GAAI;EACnE;IAAgC,uCAA6B;IAA7B,8BAA6B;GAAI;EACjE;IAAgC,yCAA+B;IAA/B,gCAA+B;GAAI;EACnE;IAAgC,wCAA8B;IAA9B,+BAA8B;GAAI;CxD0zMrE;;AU9yMG;E8ClDA;IAAgC,mCAA8B;IAA9B,+BAA8B;GAAI;EAClE;IAAgC,sCAAiC;IAAjC,kCAAiC;GAAI;EACrE;IAAgC,2CAAsC;IAAtC,uCAAsC;GAAI;EAC1E;IAAgC,8CAAyC;IAAzC,0CAAyC;GAAI;EAE7E;IAA8B,+BAA0B;IAA1B,2BAA0B;GAAI;EAC5D;IAA8B,iCAA4B;IAA5B,6BAA4B;GAAI;EAC9D;IAA8B,uCAAkC;IAAlC,mCAAkC;GAAI;EACpE;IAA8B,8BAAyB;IAAzB,0BAAyB;GAAI;EAC3D;IAA8B,gCAAuB;IAAvB,wBAAuB;GAAI;EACzD;IAA8B,gCAAuB;IAAvB,wBAAuB;GAAI;EACzD;IAA8B,gCAAyB;IAAzB,0BAAyB;GAAI;EAC3D;IAA8B,gCAAyB;IAAzB,0BAAyB;GAAI;EAE3D;IAAoC,gCAAsC;IAAtC,uCAAsC;GAAI;EAC9E;IAAoC,8BAAoC;IAApC,qCAAoC;GAAI;EAC5E;IAAoC,iCAAkC;IAAlC,mCAAkC;GAAI;EAC1E;IAAoC,kCAAyC;IAAzC,0CAAyC;GAAI;EACjF;IAAoC,qCAAwC;IAAxC,yCAAwC;GAAI;EAEhF;IAAiC,iCAAkC;IAAlC,mCAAkC;GAAI;EACvE;IAAiC,+BAAgC;IAAhC,iCAAgC;GAAI;EACrE;IAAiC,kCAA8B;IAA9B,+BAA8B;GAAI;EACnE;IAAiC,oCAAgC;IAAhC,iCAAgC;GAAI;EACrE;IAAiC,mCAA+B;IAA/B,gCAA+B;GAAI;EAEpE;IAAkC,qCAAoC;IAApC,qCAAoC;GAAI;EAC1E;IAAkC,mCAAkC;IAAlC,mCAAkC;GAAI;EACxE;IAAkC,sCAAgC;IAAhC,iCAAgC;GAAI;EACtE;IAAkC,uCAAuC;IAAvC,wCAAuC;GAAI;EAC7E;IAAkC,0CAAsC;IAAtC,uCAAsC;GAAI;EAC5E;IAAkC,uCAAiC;IAAjC,kCAAiC;GAAI;EAEvE;IAAgC,qCAA2B;IAA3B,4BAA2B;GAAI;EAC/D;IAAgC,sCAAiC;IAAjC,kCAAiC;GAAI;EACrE;IAAgC,oCAA+B;IAA/B,gCAA+B;GAAI;EACnE;IAAgC,uCAA6B;IAA7B,8BAA6B;GAAI;EACjE;IAAgC,yCAA+B;IAA/B,gCAA+B;GAAI;EACnE;IAAgC,wCAA8B;IAA9B,+BAA8B;GAAI;CxDm6MrE;;AUv5MG;E8ClDA;IAAgC,mCAA8B;IAA9B,+BAA8B;GAAI;EAClE;IAAgC,sCAAiC;IAAjC,kCAAiC;GAAI;EACrE;IAAgC,2CAAsC;IAAtC,uCAAsC;GAAI;EAC1E;IAAgC,8CAAyC;IAAzC,0CAAyC;GAAI;EAE7E;IAA8B,+BAA0B;IAA1B,2BAA0B;GAAI;EAC5D;IAA8B,iCAA4B;IAA5B,6BAA4B;GAAI;EAC9D;IAA8B,uCAAkC;IAAlC,mCAAkC;GAAI;EACpE;IAA8B,8BAAyB;IAAzB,0BAAyB;GAAI;EAC3D;IAA8B,gCAAuB;IAAvB,wBAAuB;GAAI;EACzD;IAA8B,gCAAuB;IAAvB,wBAAuB;GAAI;EACzD;IAA8B,gCAAyB;IAAzB,0BAAyB;GAAI;EAC3D;IAA8B,gCAAyB;IAAzB,0BAAyB;GAAI;EAE3D;IAAoC,gCAAsC;IAAtC,uCAAsC;GAAI;EAC9E;IAAoC,8BAAoC;IAApC,qCAAoC;GAAI;EAC5E;IAAoC,iCAAkC;IAAlC,mCAAkC;GAAI;EAC1E;IAAoC,kCAAyC;IAAzC,0CAAyC;GAAI;EACjF;IAAoC,qCAAwC;IAAxC,yCAAwC;GAAI;EAEhF;IAAiC,iCAAkC;IAAlC,mCAAkC;GAAI;EACvE;IAAiC,+BAAgC;IAAhC,iCAAgC;GAAI;EACrE;IAAiC,kCAA8B;IAA9B,+BAA8B;GAAI;EACnE;IAAiC,oCAAgC;IAAhC,iCAAgC;GAAI;EACrE;IAAiC,mCAA+B;IAA/B,gCAA+B;GAAI;EAEpE;IAAkC,qCAAoC;IAApC,qCAAoC;GAAI;EAC1E;IAAkC,mCAAkC;IAAlC,mCAAkC;GAAI;EACxE;IAAkC,sCAAgC;IAAhC,iCAAgC;GAAI;EACtE;IAAkC,uCAAuC;IAAvC,wCAAuC;GAAI;EAC7E;IAAkC,0CAAsC;IAAtC,uCAAsC;GAAI;EAC5E;IAAkC,uCAAiC;IAAjC,kCAAiC;GAAI;EAEvE;IAAgC,qCAA2B;IAA3B,4BAA2B;GAAI;EAC/D;IAAgC,sCAAiC;IAAjC,kCAAiC;GAAI;EACrE;IAAgC,oCAA+B;IAA/B,gCAA+B;GAAI;EACnE;IAAgC,uCAA6B;IAA7B,8BAA6B;GAAI;EACjE;IAAgC,yCAA+B;IAA/B,gCAA+B;GAAI;EACnE;IAAgC,wCAA8B;IAA9B,+BAA8B;GAAI;CxD4gNrE;;AyDxjNG;ECDF,uBAAsB;CDC2B;;AAC/C;ECCF,wBAAuB;CDD2B;;AAChD;ECGF,uBAAsB;CDH2B;;A/CsD/C;E+CxDA;ICDF,uBAAsB;GDC2B;EAC/C;ICCF,wBAAuB;GDD2B;EAChD;ICGF,uBAAsB;GDH2B;CzD8kNlD;;AUxhNG;E+CxDA;ICDF,uBAAsB;GDC2B;EAC/C;ICCF,wBAAuB;GDD2B;EAChD;ICGF,uBAAsB;GDH2B;CzD0lNlD;;AUpiNG;E+CxDA;ICDF,uBAAsB;GDC2B;EAC/C;ICCF,wBAAuB;GDD2B;EAChD;ICGF,uBAAsB;GDH2B;CzDsmNlD;;AUhjNG;E+CxDA;ICDF,uBAAsB;GDC2B;EAC/C;ICCF,wBAAuB;GDD2B;EAChD;ICGF,uBAAsB;GDH2B;CzDknNlD;;A2D/mNC;EAAyB,4BAA8B;CAAI;;AAA3D;EAAyB,8BAA8B;CAAI;;AAA3D;EAAyB,8BAA8B;CAAI;;AAA3D;EAAyB,2BAA8B;CAAI;;AAA3D;EAAyB,oCAA8B;EAA9B,4BAA8B;CAAI;;AAK7D;EACE,gBAAe;EACf,OAAM;EACN,SAAQ;EACR,QAAO;EACP,c5DmlBsC;C4DllBvC;;AAED;EACE,gBAAe;EACf,SAAQ;EACR,UAAS;EACT,QAAO;EACP,c5D2kBsC;C4D1kBvC;;AAG6B;EAD9B;IAEI,yBAAgB;IAAhB,iBAAgB;IAChB,OAAM;IACN,c5DmkBoC;G4DjkBvC;C3DgoNA;;A4DhqND;ECEE,mBAAkB;EAClB,WAAU;EACV,YAAW;EACX,WAAU;EACV,iBAAgB;EAChB,uBAAsB;EACtB,oBAAmB;EACnB,UAAS;CDPV;;ACiBC;EAEE,iBAAgB;EAChB,YAAW;EACX,aAAY;EACZ,kBAAiB;EACjB,WAAU;EACV,oBAAmB;CACpB;;AC7BH;EAAa,+DAAqC;CAAI;;AACtD;EAAU,yDAAkC;CAAI;;AAChD;EAAa,wDAAqC;CAAI;;AACtD;EAAe,4BAA2B;CAAI;;ACC1C;EAAuB,sBAA4B;CAAI;;AAAvD;EAAuB,sBAA4B;CAAI;;AAAvD;EAAuB,sBAA4B;CAAI;;AAAvD;EAAuB,uBAA4B;CAAI;;AAAvD;EAAuB,uBAA4B;CAAI;;AAAvD;EAAuB,uBAA4B;CAAI;;AAAvD;EAAuB,uBAA4B;CAAI;;AAAvD;EAAuB,uBAA4B;CAAI;;AAAvD;EAAuB,wBAA4B;CAAI;;AAAvD;EAAuB,wBAA4B;CAAI;;AAI3D;EAAU,2BAA0B;CAAI;;AACxC;EAAU,4BAA2B;CAAI;;ACAjC;EAAgC,qBAA4B;CAAI;;AAChE;;EAEE,yBAAoC;CACrC;;AACD;;EAEE,2BAAwC;CACzC;;AACD;;EAEE,4BAA0C;CAC3C;;AACD;;EAEE,0BAAsC;CACvC;;AAhBD;EAAgC,2BAA4B;CAAI;;AAChE;;EAEE,+BAAoC;CACrC;;AACD;;EAEE,iCAAwC;CACzC;;AACD;;EAEE,kCAA0C;CAC3C;;AACD;;EAEE,gCAAsC;CACvC;;AAhBD;EAAgC,0BAA4B;CAAI;;AAChE;;EAEE,8BAAoC;CACrC;;AACD;;EAEE,gCAAwC;CACzC;;AACD;;EAEE,iCAA0C;CAC3C;;AACD;;EAEE,+BAAsC;CACvC;;AAhBD;EAAgC,wBAA4B;CAAI;;AAChE;;EAEE,4BAAoC;CACrC;;AACD;;EAEE,8BAAwC;CACzC;;AACD;;EAEE,+BAA0C;CAC3C;;AACD;;EAEE,6BAAsC;CACvC;;AAhBD;EAAgC,0BAA4B;CAAI;;AAChE;;EAEE,8BAAoC;CACrC;;AACD;;EAEE,gCAAwC;CACzC;;AACD;;EAEE,iCAA0C;CAC3C;;AACD;;EAEE,+BAAsC;CACvC;;AAhBD;EAAgC,wBAA4B;CAAI;;AAChE;;EAEE,4BAAoC;CACrC;;AACD;;EAEE,8BAAwC;CACzC;;AACD;;EAEE,+BAA0C;CAC3C;;AACD;;EAEE,6BAAsC;CACvC;;AAhBD;EAAgC,sBAA4B;CAAI;;AAChE;;EAEE,0BAAoC;CACrC;;AACD;;EAEE,4BAAwC;CACzC;;AACD;;EAEE,6BAA0C;CAC3C;;AACD;;EAEE,2BAAsC;CACvC;;AAhBD;EAAgC,4BAA4B;CAAI;;AAChE;;EAEE,gCAAoC;CACrC;;AACD;;EAEE,kCAAwC;CACzC;;AACD;;EAEE,mCAA0C;CAC3C;;AACD;;EAEE,iCAAsC;CACvC;;AAhBD;EAAgC,2BAA4B;CAAI;;AAChE;;EAEE,+BAAoC;CACrC;;AACD;;EAEE,iCAAwC;CACzC;;AACD;;EAEE,kCAA0C;CAC3C;;AACD;;EAEE,gCAAsC;CACvC;;AAhBD;EAAgC,yBAA4B;CAAI;;AAChE;;EAEE,6BAAoC;CACrC;;AACD;;EAEE,+BAAwC;CACzC;;AACD;;EAEE,gCAA0C;CAC3C;;AACD;;EAEE,8BAAsC;CACvC;;AAhBD;EAAgC,2BAA4B;CAAI;;AAChE;;EAEE,+BAAoC;CACrC;;AACD;;EAEE,iCAAwC;CACzC;;AACD;;EAEE,kCAA0C;CAC3C;;AACD;;EAEE,gCAAsC;CACvC;;AAhBD;EAAgC,yBAA4B;CAAI;;AAChE;;EAEE,6BAAoC;CACrC;;AACD;;EAEE,+BAAwC;CACzC;;AACD;;EAEE,gCAA0C;CAC3C;;AACD;;EAEE,8BAAsC;CACvC;;AAKL;EAAmB,wBAAuB;CAAI;;AAC9C;;EAEE,4BAA2B;CAC5B;;AACD;;EAEE,8BAA6B;CAC9B;;AACD;;EAEE,+BAA8B;CAC/B;;AACD;;EAEE,6BAA4B;CAC7B;;AtDYD;EsDjDI;IAAgC,qBAA4B;GAAI;EAChE;;IAEE,yBAAoC;GACrC;EACD;;IAEE,2BAAwC;GACzC;EACD;;IAEE,4BAA0C;GAC3C;EACD;;IAEE,0BAAsC;GACvC;EAhBD;IAAgC,2BAA4B;GAAI;EAChE;;IAEE,+BAAoC;GACrC;EACD;;IAEE,iCAAwC;GACzC;EACD;;IAEE,kCAA0C;GAC3C;EACD;;IAEE,gCAAsC;GACvC;EAhBD;IAAgC,0BAA4B;GAAI;EAChE;;IAEE,8BAAoC;GACrC;EACD;;IAEE,gCAAwC;GACzC;EACD;;IAEE,iCAA0C;GAC3C;EACD;;IAEE,+BAAsC;GACvC;EAhBD;IAAgC,wBAA4B;GAAI;EAChE;;IAEE,4BAAoC;GACrC;EACD;;IAEE,8BAAwC;GACzC;EACD;;IAEE,+BAA0C;GAC3C;EACD;;IAEE,6BAAsC;GACvC;EAhBD;IAAgC,0BAA4B;GAAI;EAChE;;IAEE,8BAAoC;GACrC;EACD;;IAEE,gCAAwC;GACzC;EACD;;IAEE,iCAA0C;GAC3C;EACD;;IAEE,+BAAsC;GACvC;EAhBD;IAAgC,wBAA4B;GAAI;EAChE;;IAEE,4BAAoC;GACrC;EACD;;IAEE,8BAAwC;GACzC;EACD;;IAEE,+BAA0C;GAC3C;EACD;;IAEE,6BAAsC;GACvC;EAhBD;IAAgC,sBAA4B;GAAI;EAChE;;IAEE,0BAAoC;GACrC;EACD;;IAEE,4BAAwC;GACzC;EACD;;IAEE,6BAA0C;GAC3C;EACD;;IAEE,2BAAsC;GACvC;EAhBD;IAAgC,4BAA4B;GAAI;EAChE;;IAEE,gCAAoC;GACrC;EACD;;IAEE,kCAAwC;GACzC;EACD;;IAEE,mCAA0C;GAC3C;EACD;;IAEE,iCAAsC;GACvC;EAhBD;IAAgC,2BAA4B;GAAI;EAChE;;IAEE,+BAAoC;GACrC;EACD;;IAEE,iCAAwC;GACzC;EACD;;IAEE,kCAA0C;GAC3C;EACD;;IAEE,gCAAsC;GACvC;EAhBD;IAAgC,yBAA4B;GAAI;EAChE;;IAEE,6BAAoC;GACrC;EACD;;IAEE,+BAAwC;GACzC;EACD;;IAEE,gCAA0C;GAC3C;EACD;;IAEE,8BAAsC;GACvC;EAhBD;IAAgC,2BAA4B;GAAI;EAChE;;IAEE,+BAAoC;GACrC;EACD;;IAEE,iCAAwC;GACzC;EACD;;IAEE,kCAA0C;GAC3C;EACD;;IAEE,gCAAsC;GACvC;EAhBD;IAAgC,yBAA4B;GAAI;EAChE;;IAEE,6BAAoC;GACrC;EACD;;IAEE,+BAAwC;GACzC;EACD;;IAEE,gCAA0C;GAC3C;EACD;;IAEE,8BAAsC;GACvC;EAKL;IAAmB,wBAAuB;GAAI;EAC9C;;IAEE,4BAA2B;GAC5B;EACD;;IAEE,8BAA6B;GAC9B;EACD;;IAEE,+BAA8B;GAC/B;EACD;;IAEE,6BAA4B;GAC7B;ChE0vOJ;;AU9uOG;EsDjDI;IAAgC,qBAA4B;GAAI;EAChE;;IAEE,yBAAoC;GACrC;EACD;;IAEE,2BAAwC;GACzC;EACD;;IAEE,4BAA0C;GAC3C;EACD;;IAEE,0BAAsC;GACvC;EAhBD;IAAgC,2BAA4B;GAAI;EAChE;;IAEE,+BAAoC;GACrC;EACD;;IAEE,iCAAwC;GACzC;EACD;;IAEE,kCAA0C;GAC3C;EACD;;IAEE,gCAAsC;GACvC;EAhBD;IAAgC,0BAA4B;GAAI;EAChE;;IAEE,8BAAoC;GACrC;EACD;;IAEE,gCAAwC;GACzC;EACD;;IAEE,iCAA0C;GAC3C;EACD;;IAEE,+BAAsC;GACvC;EAhBD;IAAgC,wBAA4B;GAAI;EAChE;;IAEE,4BAAoC;GACrC;EACD;;IAEE,8BAAwC;GACzC;EACD;;IAEE,+BAA0C;GAC3C;EACD;;IAEE,6BAAsC;GACvC;EAhBD;IAAgC,0BAA4B;GAAI;EAChE;;IAEE,8BAAoC;GACrC;EACD;;IAEE,gCAAwC;GACzC;EACD;;IAEE,iCAA0C;GAC3C;EACD;;IAEE,+BAAsC;GACvC;EAhBD;IAAgC,wBAA4B;GAAI;EAChE;;IAEE,4BAAoC;GACrC;EACD;;IAEE,8BAAwC;GACzC;EACD;;IAEE,+BAA0C;GAC3C;EACD;;IAEE,6BAAsC;GACvC;EAhBD;IAAgC,sBAA4B;GAAI;EAChE;;IAEE,0BAAoC;GACrC;EACD;;IAEE,4BAAwC;GACzC;EACD;;IAEE,6BAA0C;GAC3C;EACD;;IAEE,2BAAsC;GACvC;EAhBD;IAAgC,4BAA4B;GAAI;EAChE;;IAEE,gCAAoC;GACrC;EACD;;IAEE,kCAAwC;GACzC;EACD;;IAEE,mCAA0C;GAC3C;EACD;;IAEE,iCAAsC;GACvC;EAhBD;IAAgC,2BAA4B;GAAI;EAChE;;IAEE,+BAAoC;GACrC;EACD;;IAEE,iCAAwC;GACzC;EACD;;IAEE,kCAA0C;GAC3C;EACD;;IAEE,gCAAsC;GACvC;EAhBD;IAAgC,yBAA4B;GAAI;EAChE;;IAEE,6BAAoC;GACrC;EACD;;IAEE,+BAAwC;GACzC;EACD;;IAEE,gCAA0C;GAC3C;EACD;;IAEE,8BAAsC;GACvC;EAhBD;IAAgC,2BAA4B;GAAI;EAChE;;IAEE,+BAAoC;GACrC;EACD;;IAEE,iCAAwC;GACzC;EACD;;IAEE,kCAA0C;GAC3C;EACD;;IAEE,gCAAsC;GACvC;EAhBD;IAAgC,yBAA4B;GAAI;EAChE;;IAEE,6BAAoC;GACrC;EACD;;IAEE,+BAAwC;GACzC;EACD;;IAEE,gCAA0C;GAC3C;EACD;;IAEE,8BAAsC;GACvC;EAKL;IAAmB,wBAAuB;GAAI;EAC9C;;IAEE,4BAA2B;GAC5B;EACD;;IAEE,8BAA6B;GAC9B;EACD;;IAEE,+BAA8B;GAC/B;EACD;;IAEE,6BAA4B;GAC7B;ChEo/OJ;;AUx+OG;EsDjDI;IAAgC,qBAA4B;GAAI;EAChE;;IAEE,yBAAoC;GACrC;EACD;;IAEE,2BAAwC;GACzC;EACD;;IAEE,4BAA0C;GAC3C;EACD;;IAEE,0BAAsC;GACvC;EAhBD;IAAgC,2BAA4B;GAAI;EAChE;;IAEE,+BAAoC;GACrC;EACD;;IAEE,iCAAwC;GACzC;EACD;;IAEE,kCAA0C;GAC3C;EACD;;IAEE,gCAAsC;GACvC;EAhBD;IAAgC,0BAA4B;GAAI;EAChE;;IAEE,8BAAoC;GACrC;EACD;;IAEE,gCAAwC;GACzC;EACD;;IAEE,iCAA0C;GAC3C;EACD;;IAEE,+BAAsC;GACvC;EAhBD;IAAgC,wBAA4B;GAAI;EAChE;;IAEE,4BAAoC;GACrC;EACD;;IAEE,8BAAwC;GACzC;EACD;;IAEE,+BAA0C;GAC3C;EACD;;IAEE,6BAAsC;GACvC;EAhBD;IAAgC,0BAA4B;GAAI;EAChE;;IAEE,8BAAoC;GACrC;EACD;;IAEE,gCAAwC;GACzC;EACD;;IAEE,iCAA0C;GAC3C;EACD;;IAEE,+BAAsC;GACvC;EAhBD;IAAgC,wBAA4B;GAAI;EAChE;;IAEE,4BAAoC;GACrC;EACD;;IAEE,8BAAwC;GACzC;EACD;;IAEE,+BAA0C;GAC3C;EACD;;IAEE,6BAAsC;GACvC;EAhBD;IAAgC,sBAA4B;GAAI;EAChE;;IAEE,0BAAoC;GACrC;EACD;;IAEE,4BAAwC;GACzC;EACD;;IAEE,6BAA0C;GAC3C;EACD;;IAEE,2BAAsC;GACvC;EAhBD;IAAgC,4BAA4B;GAAI;EAChE;;IAEE,gCAAoC;GACrC;EACD;;IAEE,kCAAwC;GACzC;EACD;;IAEE,mCAA0C;GAC3C;EACD;;IAEE,iCAAsC;GACvC;EAhBD;IAAgC,2BAA4B;GAAI;EAChE;;IAEE,+BAAoC;GACrC;EACD;;IAEE,iCAAwC;GACzC;EACD;;IAEE,kCAA0C;GAC3C;EACD;;IAEE,gCAAsC;GACvC;EAhBD;IAAgC,yBAA4B;GAAI;EAChE;;IAEE,6BAAoC;GACrC;EACD;;IAEE,+BAAwC;GACzC;EACD;;IAEE,gCAA0C;GAC3C;EACD;;IAEE,8BAAsC;GACvC;EAhBD;IAAgC,2BAA4B;GAAI;EAChE;;IAEE,+BAAoC;GACrC;EACD;;IAEE,iCAAwC;GACzC;EACD;;IAEE,kCAA0C;GAC3C;EACD;;IAEE,gCAAsC;GACvC;EAhBD;IAAgC,yBAA4B;GAAI;EAChE;;IAEE,6BAAoC;GACrC;EACD;;IAEE,+BAAwC;GACzC;EACD;;IAEE,gCAA0C;GAC3C;EACD;;IAEE,8BAAsC;GACvC;EAKL;IAAmB,wBAAuB;GAAI;EAC9C;;IAEE,4BAA2B;GAC5B;EACD;;IAEE,8BAA6B;GAC9B;EACD;;IAEE,+BAA8B;GAC/B;EACD;;IAEE,6BAA4B;GAC7B;ChE8uPJ;;AUluPG;EsDjDI;IAAgC,qBAA4B;GAAI;EAChE;;IAEE,yBAAoC;GACrC;EACD;;IAEE,2BAAwC;GACzC;EACD;;IAEE,4BAA0C;GAC3C;EACD;;IAEE,0BAAsC;GACvC;EAhBD;IAAgC,2BAA4B;GAAI;EAChE;;IAEE,+BAAoC;GACrC;EACD;;IAEE,iCAAwC;GACzC;EACD;;IAEE,kCAA0C;GAC3C;EACD;;IAEE,gCAAsC;GACvC;EAhBD;IAAgC,0BAA4B;GAAI;EAChE;;IAEE,8BAAoC;GACrC;EACD;;IAEE,gCAAwC;GACzC;EACD;;IAEE,iCAA0C;GAC3C;EACD;;IAEE,+BAAsC;GACvC;EAhBD;IAAgC,wBAA4B;GAAI;EAChE;;IAEE,4BAAoC;GACrC;EACD;;IAEE,8BAAwC;GACzC;EACD;;IAEE,+BAA0C;GAC3C;EACD;;IAEE,6BAAsC;GACvC;EAhBD;IAAgC,0BAA4B;GAAI;EAChE;;IAEE,8BAAoC;GACrC;EACD;;IAEE,gCAAwC;GACzC;EACD;;IAEE,iCAA0C;GAC3C;EACD;;IAEE,+BAAsC;GACvC;EAhBD;IAAgC,wBAA4B;GAAI;EAChE;;IAEE,4BAAoC;GACrC;EACD;;IAEE,8BAAwC;GACzC;EACD;;IAEE,+BAA0C;GAC3C;EACD;;IAEE,6BAAsC;GACvC;EAhBD;IAAgC,sBAA4B;GAAI;EAChE;;IAEE,0BAAoC;GACrC;EACD;;IAEE,4BAAwC;GACzC;EACD;;IAEE,6BAA0C;GAC3C;EACD;;IAEE,2BAAsC;GACvC;EAhBD;IAAgC,4BAA4B;GAAI;EAChE;;IAEE,gCAAoC;GACrC;EACD;;IAEE,kCAAwC;GACzC;EACD;;IAEE,mCAA0C;GAC3C;EACD;;IAEE,iCAAsC;GACvC;EAhBD;IAAgC,2BAA4B;GAAI;EAChE;;IAEE,+BAAoC;GACrC;EACD;;IAEE,iCAAwC;GACzC;EACD;;IAEE,kCAA0C;GAC3C;EACD;;IAEE,gCAAsC;GACvC;EAhBD;IAAgC,yBAA4B;GAAI;EAChE;;IAEE,6BAAoC;GACrC;EACD;;IAEE,+BAAwC;GACzC;EACD;;IAEE,gCAA0C;GAC3C;EACD;;IAEE,8BAAsC;GACvC;EAhBD;IAAgC,2BAA4B;GAAI;EAChE;;IAEE,+BAAoC;GACrC;EACD;;IAEE,iCAAwC;GACzC;EACD;;IAEE,kCAA0C;GAC3C;EACD;;IAEE,gCAAsC;GACvC;EAhBD;IAAgC,yBAA4B;GAAI;EAChE;;IAEE,6BAAoC;GACrC;EACD;;IAEE,+BAAwC;GACzC;EACD;;IAEE,gCAA0C;GAC3C;EACD;;IAEE,8BAAsC;GACvC;EAKL;IAAmB,wBAAuB;GAAI;EAC9C;;IAEE,4BAA2B;GAC5B;EACD;;IAEE,8BAA6B;GAC9B;EACD;;IAEE,+BAA8B;GAC/B;EACD;;IAEE,6BAA4B;GAC7B;ChEw+PJ;;AiElhQD;EAAkB,kGlEqPgG;CkErPzD;;AAIzD;EAAiB,+BAA8B;CAAI;;AACnD;EAAiB,+BAA8B;CAAI;;AACnD;ECRE,iBAAgB;EAChB,wBAAuB;EACvB,oBAAmB;CDMsB;;AAQvC;EAAwB,4BAA2B;CAAI;;AACvD;EAAwB,6BAA4B;CAAI;;AACxD;EAAwB,8BAA6B;CAAI;;AvDsCzD;EuDxCA;IAAwB,4BAA2B;GAAI;EACvD;IAAwB,6BAA4B;GAAI;EACxD;IAAwB,8BAA6B;GAAI;CjE4iQ5D;;AUtgQG;EuDxCA;IAAwB,4BAA2B;GAAI;EACvD;IAAwB,6BAA4B;GAAI;EACxD;IAAwB,8BAA6B;GAAI;CjEwjQ5D;;AUlhQG;EuDxCA;IAAwB,4BAA2B;GAAI;EACvD;IAAwB,6BAA4B;GAAI;EACxD;IAAwB,8BAA6B;GAAI;CjEokQ5D;;AU9hQG;EuDxCA;IAAwB,4BAA2B;GAAI;EACvD;IAAwB,6BAA4B;GAAI;EACxD;IAAwB,8BAA6B;GAAI;CjEglQ5D;;AiE1kQD;EAAmB,qCAAoC;CAAI;;AAC3D;EAAmB,qCAAoC;CAAI;;AAC3D;EAAmB,sCAAqC;CAAI;;AAI5D;EAAsB,4BAA0C;CAAI;;AACpE;EAAsB,4BAA2C;CAAI;;AACrE;EAAsB,4BAAyC;CAAI;;AACnE;EAAsB,8BAA6B;CAAI;;AAIvD;EAAc,uBAAwB;CAAI;;AEpCxC;EACE,0BAAwB;CACzB;;AlESD;EkENI,0BAAqC;ClESxC;;AkEdD;EACE,0BAAwB;CACzB;;AlESD;EkENI,0BAAqC;ClESxC;;AkEdD;EACE,0BAAwB;CACzB;;AlESD;EkENI,0BAAqC;ClESxC;;AkEdD;EACE,0BAAwB;CACzB;;AlESD;EkENI,0BAAqC;ClESxC;;AkEdD;EACE,0BAAwB;CACzB;;AlESD;EkENI,0BAAqC;ClESxC;;AkEdD;EACE,0BAAwB;CACzB;;AlESD;EkENI,0BAAqC;ClESxC;;AkEdD;EACE,0BAAwB;CACzB;;AlESD;EkENI,0BAAqC;ClESxC;;AkEdD;EACE,0BAAwB;CACzB;;AlESD;EkENI,0BAAqC;ClESxC;;AgE4BH;EAAa,0BAA6B;CAAI;;AAC9C;EAAc,0BAA6B;CAAI;;AAE/C;EAAiB,qCAAkC;CAAI;;AACvD;EAAiB,2CAAkC;CAAI;;AAIvD;EGpDE,YAAW;EACX,mBAAkB;EAClB,kBAAiB;EACjB,8BAA6B;EAC7B,UAAS;CHkDV;;AIrDD;ECCE,+BAAkC;CDCnC;;AAED;ECHE,8BAAkC;CDKnC;;AECC;EzESF;;;IyEHM,6BAA4B;IAE5B,4BAA2B;GAC5B;EAED;IAEI,2BAA0B;GAC3B;EAQH;IACE,8BAA6B;GAC9B;EzE+ML;IyEjMM,iCAAgC;GACjC;EACD;;IAEE,0BxEtCY;IwEuCZ,yBAAwB;GACzB;EAOD;IACE,4BAA2B;GAC5B;EAED;;IAEE,yBAAwB;GACzB;EAED;;;IAGE,WAAU;IACV,UAAS;GACV;EAED;;IAEE,wBAAuB;GACxB;EAOD;IACE,SxE61BgC;GC01OnC;EFxtQH;IyEoCM,4BAA2C;GAC5C;E/DxFH;I+D0FI,4BAA2C;GAC5C;E1C/EL;I0CmFM,cAAa;GACd;ErChGL;IqCkGM,uBxEnFS;GwEoFV;E3DpGL;I2DuGM,qCAAoC;GAMrC;EAPD;;IAKI,kCAAmC;GACpC;E3DjEP;;I2DuEQ,qCAAsC;GACvC;E3DYP;I2DRM,eAAc;GAQf;EATD;;;;IAOI,sBxEpHU;GwEqHX;E3DjBP;I2DqBM,eAAc;IACd,sBxE1HY;GwE2Hb;CvE6qQJ","file":"bootstrap.css","sourcesContent":["/*!\n * Bootstrap v4.1.3 (https://getbootstrap.com/)\n * Copyright 2011-2018 The Bootstrap Authors\n * Copyright 2011-2018 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"root\";\n@import \"reboot\";\n@import \"type\";\n@import \"images\";\n@import \"code\";\n@import \"grid\";\n@import \"tables\";\n@import \"forms\";\n@import \"buttons\";\n@import \"transitions\";\n@import \"dropdown\";\n@import \"button-group\";\n@import \"input-group\";\n@import \"custom-forms\";\n@import \"nav\";\n@import \"navbar\";\n@import \"card\";\n@import \"breadcrumb\";\n@import \"pagination\";\n@import \"badge\";\n@import \"jumbotron\";\n@import \"alert\";\n@import \"progress\";\n@import \"media\";\n@import \"list-group\";\n@import \"close\";\n@import \"modal\";\n@import \"tooltip\";\n@import \"popover\";\n@import \"carousel\";\n@import \"utilities\";\n@import \"print\";\n",":root {\n // Custom variable values only support SassScript inside `#{}`.\n @each $color, $value in $colors {\n --#{$color}: #{$value};\n }\n\n @each $color, $value in $theme-colors {\n --#{$color}: #{$value};\n }\n\n @each $bp, $value in $grid-breakpoints {\n --breakpoint-#{$bp}: #{$value};\n }\n\n // Use `inspect` for lists so that quoted items keep the quotes.\n // See https://github.com/sass/sass/issues/2383#issuecomment-336349172\n --font-family-sans-serif: #{inspect($font-family-sans-serif)};\n --font-family-monospace: #{inspect($font-family-monospace)};\n}\n","// stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// 1. Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n// 2. Change the default font family in all browsers.\n// 3. Correct the line height in all browsers.\n// 4. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.\n// 5. Setting @viewport causes scrollbars to overlap content in IE11 and Edge, so\n// we force a non-overlapping, non-auto-hiding scrollbar to counteract.\n// 6. Change the default tap highlight to be completely transparent in iOS.\n\n*,\n*::before,\n*::after {\n box-sizing: border-box; // 1\n}\n\nhtml {\n font-family: sans-serif; // 2\n line-height: 1.15; // 3\n -webkit-text-size-adjust: 100%; // 4\n -ms-text-size-adjust: 100%; // 4\n -ms-overflow-style: scrollbar; // 5\n -webkit-tap-highlight-color: rgba($black, 0); // 6\n}\n\n// IE10+ doesn't honor `` in some cases.\n@at-root {\n @-ms-viewport {\n width: device-width;\n }\n}\n\n// stylelint-disable selector-list-comma-newline-after\n// Shim for \"new\" HTML5 structural elements to display correctly (IE10, older browsers)\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n// stylelint-enable selector-list-comma-newline-after\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Set an explicit initial text-align value so that we can later use the\n// the `inherit` value on things like `` elements.\n\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n font-size: $font-size-base;\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n text-align: left; // 3\n background-color: $body-bg; // 2\n}\n\n// Suppress the focus outline on elements that cannot be accessed via keyboard.\n// This prevents an unwanted focus outline from appearing around elements that\n// might still respond to pointer events.\n//\n// Credit: https://github.com/suitcss/base\n[tabindex=\"-1\"]:focus {\n outline: 0 !important;\n}\n\n\n// Content grouping\n//\n// 1. Add the correct box sizing in Firefox.\n// 2. Show the overflow in Edge and IE.\n\nhr {\n box-sizing: content-box; // 1\n height: 0; // 1\n overflow: visible; // 2\n}\n\n\n//\n// Typography\n//\n\n// Remove top margins from headings\n//\n// By default, `

`-`

` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n// stylelint-disable selector-list-comma-newline-after\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: $headings-margin-bottom;\n}\n// stylelint-enable selector-list-comma-newline-after\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `

`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n// Abbreviations\n//\n// 1. Remove the bottom border in Firefox 39-.\n// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Duplicate behavior to the data-* attribute for our tooltip plugin\n\nabbr[title],\nabbr[data-original-title] { // 4\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n border-bottom: 0; // 1\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // Undo browser default\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\ndfn {\n font-style: italic; // Add the correct font style in Android 4.3-\n}\n\n// stylelint-disable font-weight-notation\nb,\nstrong {\n font-weight: bolder; // Add the correct font weight in Chrome, Edge, and Safari\n}\n// stylelint-enable font-weight-notation\n\nsmall {\n font-size: 80%; // Add the correct font size in all browsers\n}\n\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n//\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n//\n// Links\n//\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n background-color: transparent; // Remove the gray background on active links in IE 10.\n -webkit-text-decoration-skip: objects; // Remove gaps in links underline in iOS 8+ and Safari 8+.\n\n @include hover {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href)\n// which have not been made explicitly keyboard-focusable (without tabindex).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n\n @include hover-focus {\n color: inherit;\n text-decoration: none;\n }\n\n &:focus {\n outline: 0;\n }\n}\n\n\n//\n// Code\n//\n\npre,\ncode,\nkbd,\nsamp {\n font-family: $font-family-monospace;\n font-size: 1em; // Correct the odd `em` font sizing in all browsers.\n}\n\npre {\n // Remove browser default top margin\n margin-top: 0;\n // Reset browser default of `1em` to use `rem`s\n margin-bottom: 1rem;\n // Don't allow content to break outside\n overflow: auto;\n // We have @viewport set which causes scrollbars to overlap content in IE11 and Edge, so\n // we force a non-overlapping, non-auto-hiding scrollbar to counteract.\n -ms-overflow-style: scrollbar;\n}\n\n\n//\n// Figures\n//\n\nfigure {\n // Apply a consistent margin strategy (matches our type styles).\n margin: 0 0 1rem;\n}\n\n\n//\n// Images and content\n//\n\nimg {\n vertical-align: middle;\n border-style: none; // Remove the border on images inside links in IE 10-.\n}\n\nsvg {\n // Workaround for the SVG overflow bug in IE10/11 is still required.\n // See https://github.com/twbs/bootstrap/issues/26878\n overflow: hidden;\n vertical-align: middle;\n}\n\n\n//\n// Tables\n//\n\ntable {\n border-collapse: collapse; // Prevent double borders\n}\n\ncaption {\n padding-top: $table-cell-padding;\n padding-bottom: $table-cell-padding;\n color: $table-caption-color;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n // Matches default `` alignment by inheriting from the ``, or the\n // closest parent with a set `text-align`.\n text-align: inherit;\n}\n\n\n//\n// Forms\n//\n\nlabel {\n // Allow labels to use `margin` for spacing.\n display: inline-block;\n margin-bottom: $label-margin-bottom;\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24093\nbutton {\n border-radius: 0;\n}\n\n// Work around a Firefox/IE bug where the transparent `button` background\n// results in a loss of the default `button` focus styles.\n//\n// Credit: https://github.com/suitcss/base/\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0; // Remove the margin in Firefox and Safari\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible; // Show the overflow in Edge\n}\n\nbutton,\nselect {\n text-transform: none; // Remove the inheritance of text transform in Firefox\n}\n\n// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n// controls in Android 4.\n// 2. Correct the inability to style clickable types in iOS and Safari.\nbutton,\nhtml [type=\"button\"], // 1\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button; // 2\n}\n\n// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box; // 1. Add the correct box sizing in IE 10-\n padding: 0; // 2. Remove the padding in IE 10-\n}\n\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n // Remove the default appearance of temporal inputs to avoid a Mobile Safari\n // bug where setting a custom line-height prevents text from being vertically\n // centered within the input.\n // See https://bugs.webkit.org/show_bug.cgi?id=139848\n // and https://github.com/twbs/bootstrap/issues/11266\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto; // Remove the default vertical scrollbar in IE.\n // Textareas should really only resize vertically so they don't break their (horizontal) containers.\n resize: vertical;\n}\n\nfieldset {\n // Browsers set a default `min-width: min-content;` on fieldsets,\n // unlike e.g. `

`s, which have `min-width: 0;` by default.\n // So we reset that to ensure fieldsets behave more like a standard block element.\n // See https://github.com/twbs/bootstrap/issues/12359\n // and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n min-width: 0;\n // Reset the default outline behavior of fieldsets so they don't affect page layout.\n padding: 0;\n margin: 0;\n border: 0;\n}\n\n// 1. Correct the text wrapping in Edge and IE.\n// 2. Correct the color inheritance from `fieldset` elements in IE.\nlegend {\n display: block;\n width: 100%;\n max-width: 100%; // 1\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit; // 2\n white-space: normal; // 1\n}\n\nprogress {\n vertical-align: baseline; // Add the correct vertical alignment in Chrome, Firefox, and Opera.\n}\n\n// Correct the cursor style of increment and decrement buttons in Chrome.\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n // This overrides the extra rounded corners on search inputs in iOS so that our\n // `.form-control` class can properly style them. Note that this cannot simply\n // be added to `.form-control` as it's not specific enough. For details, see\n // https://github.com/twbs/bootstrap/issues/11586.\n outline-offset: -2px; // 2. Correct the outline style in Safari.\n -webkit-appearance: none;\n}\n\n//\n// Remove the inner padding and cancel buttons in Chrome and Safari on macOS.\n//\n\n[type=\"search\"]::-webkit-search-cancel-button,\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n//\n// 1. Correct the inability to style clickable types in iOS and Safari.\n// 2. Change font properties to `inherit` in Safari.\n//\n\n::-webkit-file-upload-button {\n font: inherit; // 2\n -webkit-appearance: button; // 1\n}\n\n//\n// Correct element displays\n//\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item; // Add the correct display in all browsers\n cursor: pointer;\n}\n\ntemplate {\n display: none; // Add the correct display in IE\n}\n\n// Always hide an element with the `hidden` HTML attribute (from PureCSS).\n// Needed for proper display in IE 10-.\n[hidden] {\n display: none !important;\n}\n","// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.\n\n\n//\n// Color system\n//\n\n$white: #fff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #6c757d !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n$black: #000 !default;\n\n$grays: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$grays: map-merge(\n (\n \"100\": $gray-100,\n \"200\": $gray-200,\n \"300\": $gray-300,\n \"400\": $gray-400,\n \"500\": $gray-500,\n \"600\": $gray-600,\n \"700\": $gray-700,\n \"800\": $gray-800,\n \"900\": $gray-900\n ),\n $grays\n);\n\n\n$blue: #007bff !default;\n$indigo: #6610f2 !default;\n$purple: #6f42c1 !default;\n$pink: #e83e8c !default;\n$red: #dc3545 !default;\n$orange: #fd7e14 !default;\n$yellow: #ffc107 !default;\n$green: #28a745 !default;\n$teal: #20c997 !default;\n$cyan: #17a2b8 !default;\n\n$colors: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$colors: map-merge(\n (\n \"blue\": $blue,\n \"indigo\": $indigo,\n \"purple\": $purple,\n \"pink\": $pink,\n \"red\": $red,\n \"orange\": $orange,\n \"yellow\": $yellow,\n \"green\": $green,\n \"teal\": $teal,\n \"cyan\": $cyan,\n \"white\": $white,\n \"gray\": $gray-600,\n \"gray-dark\": $gray-800\n ),\n $colors\n);\n\n$primary: $blue !default;\n$secondary: $gray-600 !default;\n$success: $green !default;\n$info: $cyan !default;\n$warning: $yellow !default;\n$danger: $red !default;\n$light: $gray-100 !default;\n$dark: $gray-800 !default;\n\n$theme-colors: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$theme-colors: map-merge(\n (\n \"primary\": $primary,\n \"secondary\": $secondary,\n \"success\": $success,\n \"info\": $info,\n \"warning\": $warning,\n \"danger\": $danger,\n \"light\": $light,\n \"dark\": $dark\n ),\n $theme-colors\n);\n\n// Set a specific jump point for requesting color jumps\n$theme-color-interval: 8% !default;\n\n// The yiq lightness value that determines when the lightness of color changes from \"dark\" to \"light\". Acceptable values are between 0 and 255.\n$yiq-contrasted-threshold: 150 !default;\n\n// Customize the light and dark text colors for use in our YIQ color contrast function.\n$yiq-text-dark: $gray-900 !default;\n$yiq-text-light: $white !default;\n\n// Options\n//\n// Quickly modify global styling by enabling or disabling optional features.\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: false !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-hover-media-query: false !default; // Deprecated, no longer affects any compiled CSS\n$enable-grid-classes: true !default;\n$enable-print-styles: true !default;\n\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n$spacer: 1rem !default;\n$spacers: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$spacers: map-merge(\n (\n 0: 0,\n 1: ($spacer * .25),\n 2: ($spacer * .5),\n 3: $spacer,\n 4: ($spacer * 1.5),\n 5: ($spacer * 3)\n ),\n $spacers\n);\n\n// This variable affects the `.h-*` and `.w-*` classes.\n$sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$sizes: map-merge(\n (\n 25: 25%,\n 50: 50%,\n 75: 75%,\n 100: 100%,\n auto: auto\n ),\n $sizes\n);\n\n// Body\n//\n// Settings for the `` element.\n\n$body-bg: $white !default;\n$body-color: $gray-900 !default;\n\n// Links\n//\n// Style anchor elements.\n\n$link-color: theme-color(\"primary\") !default;\n$link-decoration: none !default;\n$link-hover-color: darken($link-color, 15%) !default;\n$link-hover-decoration: underline !default;\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom: 1rem !default;\n\n\n// Grid breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n$grid-breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 992px,\n xl: 1200px\n) !default;\n\n@include _assert-ascending($grid-breakpoints, \"$grid-breakpoints\");\n@include _assert-starts-at-zero($grid-breakpoints);\n\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1140px\n) !default;\n\n@include _assert-ascending($container-max-widths, \"$container-max-widths\");\n\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-width: 30px !default;\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n$line-height-lg: 1.5 !default;\n$line-height-sm: 1.5 !default;\n\n$border-width: 1px !default;\n$border-color: $gray-300 !default;\n\n$border-radius: .25rem !default;\n$border-radius-lg: .3rem !default;\n$border-radius-sm: .2rem !default;\n\n$box-shadow-sm: 0 .125rem .25rem rgba($black, .075) !default;\n$box-shadow: 0 .5rem 1rem rgba($black, .15) !default;\n$box-shadow-lg: 0 1rem 3rem rgba($black, .175) !default;\n\n$component-active-color: $white !default;\n$component-active-bg: theme-color(\"primary\") !default;\n\n$caret-width: .3em !default;\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n$transition-collapse: height .35s ease !default;\n\n\n// Fonts\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// stylelint-disable value-keyword-case\n$font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\" !default;\n$font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !default;\n$font-family-base: $font-family-sans-serif !default;\n// stylelint-enable value-keyword-case\n\n$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`\n$font-size-lg: ($font-size-base * 1.25) !default;\n$font-size-sm: ($font-size-base * .875) !default;\n\n$font-weight-light: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-bold: 700 !default;\n\n$font-weight-base: $font-weight-normal !default;\n$line-height-base: 1.5 !default;\n\n$h1-font-size: $font-size-base * 2.5 !default;\n$h2-font-size: $font-size-base * 2 !default;\n$h3-font-size: $font-size-base * 1.75 !default;\n$h4-font-size: $font-size-base * 1.5 !default;\n$h5-font-size: $font-size-base * 1.25 !default;\n$h6-font-size: $font-size-base !default;\n\n$headings-margin-bottom: ($spacer / 2) !default;\n$headings-font-family: inherit !default;\n$headings-font-weight: 500 !default;\n$headings-line-height: 1.2 !default;\n$headings-color: inherit !default;\n\n$display1-size: 6rem !default;\n$display2-size: 5.5rem !default;\n$display3-size: 4.5rem !default;\n$display4-size: 3.5rem !default;\n\n$display1-weight: 300 !default;\n$display2-weight: 300 !default;\n$display3-weight: 300 !default;\n$display4-weight: 300 !default;\n$display-line-height: $headings-line-height !default;\n\n$lead-font-size: ($font-size-base * 1.25) !default;\n$lead-font-weight: 300 !default;\n\n$small-font-size: 80% !default;\n\n$text-muted: $gray-600 !default;\n\n$blockquote-small-color: $gray-600 !default;\n$blockquote-font-size: ($font-size-base * 1.25) !default;\n\n$hr-border-color: rgba($black, .1) !default;\n$hr-border-width: $border-width !default;\n\n$mark-padding: .2em !default;\n\n$dt-font-weight: $font-weight-bold !default;\n\n$kbd-box-shadow: inset 0 -.1rem 0 rgba($black, .25) !default;\n$nested-kbd-font-weight: $font-weight-bold !default;\n\n$list-inline-padding: .5rem !default;\n\n$mark-bg: #fcf8e3 !default;\n\n$hr-margin-y: $spacer !default;\n\n\n// Tables\n//\n// Customizes the `.table` component with basic values, each used across all table variations.\n\n$table-cell-padding: .75rem !default;\n$table-cell-padding-sm: .3rem !default;\n\n$table-bg: transparent !default;\n$table-accent-bg: rgba($black, .05) !default;\n$table-hover-bg: rgba($black, .075) !default;\n$table-active-bg: $table-hover-bg !default;\n\n$table-border-width: $border-width !default;\n$table-border-color: $gray-300 !default;\n\n$table-head-bg: $gray-200 !default;\n$table-head-color: $gray-700 !default;\n\n$table-dark-bg: $gray-900 !default;\n$table-dark-accent-bg: rgba($white, .05) !default;\n$table-dark-hover-bg: rgba($white, .075) !default;\n$table-dark-border-color: lighten($gray-900, 7.5%) !default;\n$table-dark-color: $body-bg !default;\n\n$table-striped-order: odd !default;\n\n$table-caption-color: $text-muted !default;\n\n// Buttons + Forms\n//\n// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.\n\n$input-btn-padding-y: .375rem !default;\n$input-btn-padding-x: .75rem !default;\n$input-btn-line-height: $line-height-base !default;\n\n$input-btn-focus-width: .2rem !default;\n$input-btn-focus-color: rgba($component-active-bg, .25) !default;\n$input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color !default;\n\n$input-btn-padding-y-sm: .25rem !default;\n$input-btn-padding-x-sm: .5rem !default;\n$input-btn-line-height-sm: $line-height-sm !default;\n\n$input-btn-padding-y-lg: .5rem !default;\n$input-btn-padding-x-lg: 1rem !default;\n$input-btn-line-height-lg: $line-height-lg !default;\n\n$input-btn-border-width: $border-width !default;\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background, and border color.\n\n$btn-padding-y: $input-btn-padding-y !default;\n$btn-padding-x: $input-btn-padding-x !default;\n$btn-line-height: $input-btn-line-height !default;\n\n$btn-padding-y-sm: $input-btn-padding-y-sm !default;\n$btn-padding-x-sm: $input-btn-padding-x-sm !default;\n$btn-line-height-sm: $input-btn-line-height-sm !default;\n\n$btn-padding-y-lg: $input-btn-padding-y-lg !default;\n$btn-padding-x-lg: $input-btn-padding-x-lg !default;\n$btn-line-height-lg: $input-btn-line-height-lg !default;\n\n$btn-border-width: $input-btn-border-width !default;\n\n$btn-font-weight: $font-weight-normal !default;\n$btn-box-shadow: inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default;\n$btn-focus-width: $input-btn-focus-width !default;\n$btn-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$btn-disabled-opacity: .65 !default;\n$btn-active-box-shadow: inset 0 3px 5px rgba($black, .125) !default;\n\n$btn-link-disabled-color: $gray-600 !default;\n\n$btn-block-spacing-y: .5rem !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius: $border-radius !default;\n$btn-border-radius-lg: $border-radius-lg !default;\n$btn-border-radius-sm: $border-radius-sm !default;\n\n$btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n\n// Forms\n\n$label-margin-bottom: .5rem !default;\n\n$input-padding-y: $input-btn-padding-y !default;\n$input-padding-x: $input-btn-padding-x !default;\n$input-line-height: $input-btn-line-height !default;\n\n$input-padding-y-sm: $input-btn-padding-y-sm !default;\n$input-padding-x-sm: $input-btn-padding-x-sm !default;\n$input-line-height-sm: $input-btn-line-height-sm !default;\n\n$input-padding-y-lg: $input-btn-padding-y-lg !default;\n$input-padding-x-lg: $input-btn-padding-x-lg !default;\n$input-line-height-lg: $input-btn-line-height-lg !default;\n\n$input-bg: $white !default;\n$input-disabled-bg: $gray-200 !default;\n\n$input-color: $gray-700 !default;\n$input-border-color: $gray-400 !default;\n$input-border-width: $input-btn-border-width !default;\n$input-box-shadow: inset 0 1px 1px rgba($black, .075) !default;\n\n$input-border-radius: $border-radius !default;\n$input-border-radius-lg: $border-radius-lg !default;\n$input-border-radius-sm: $border-radius-sm !default;\n\n$input-focus-bg: $input-bg !default;\n$input-focus-border-color: lighten($component-active-bg, 25%) !default;\n$input-focus-color: $input-color !default;\n$input-focus-width: $input-btn-focus-width !default;\n$input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$input-placeholder-color: $gray-600 !default;\n$input-plaintext-color: $body-color !default;\n\n$input-height-border: $input-border-width * 2 !default;\n\n$input-height-inner: ($font-size-base * $input-btn-line-height) + ($input-btn-padding-y * 2) !default;\n$input-height: calc(#{$input-height-inner} + #{$input-height-border}) !default;\n\n$input-height-inner-sm: ($font-size-sm * $input-btn-line-height-sm) + ($input-btn-padding-y-sm * 2) !default;\n$input-height-sm: calc(#{$input-height-inner-sm} + #{$input-height-border}) !default;\n\n$input-height-inner-lg: ($font-size-lg * $input-btn-line-height-lg) + ($input-btn-padding-y-lg * 2) !default;\n$input-height-lg: calc(#{$input-height-inner-lg} + #{$input-height-border}) !default;\n\n$input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$form-text-margin-top: .25rem !default;\n\n$form-check-input-gutter: 1.25rem !default;\n$form-check-input-margin-y: .3rem !default;\n$form-check-input-margin-x: .25rem !default;\n\n$form-check-inline-margin-x: .75rem !default;\n$form-check-inline-input-margin-x: .3125rem !default;\n\n$form-group-margin-bottom: 1rem !default;\n\n$input-group-addon-color: $input-color !default;\n$input-group-addon-bg: $gray-200 !default;\n$input-group-addon-border-color: $input-border-color !default;\n\n$custom-forms-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$custom-control-gutter: 1.5rem !default;\n$custom-control-spacer-x: 1rem !default;\n\n$custom-control-indicator-size: 1rem !default;\n$custom-control-indicator-bg: $gray-300 !default;\n$custom-control-indicator-bg-size: 50% 50% !default;\n$custom-control-indicator-box-shadow: inset 0 .25rem .25rem rgba($black, .1) !default;\n\n$custom-control-indicator-disabled-bg: $gray-200 !default;\n$custom-control-label-disabled-color: $gray-600 !default;\n\n$custom-control-indicator-checked-color: $component-active-color !default;\n$custom-control-indicator-checked-bg: $component-active-bg !default;\n$custom-control-indicator-checked-disabled-bg: rgba(theme-color(\"primary\"), .5) !default;\n$custom-control-indicator-checked-box-shadow: none !default;\n\n$custom-control-indicator-focus-box-shadow: 0 0 0 1px $body-bg, $input-btn-focus-box-shadow !default;\n\n$custom-control-indicator-active-color: $component-active-color !default;\n$custom-control-indicator-active-bg: lighten($component-active-bg, 35%) !default;\n$custom-control-indicator-active-box-shadow: none !default;\n\n$custom-checkbox-indicator-border-radius: $border-radius !default;\n$custom-checkbox-indicator-icon-checked: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='#{$custom-control-indicator-checked-color}' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n\n$custom-checkbox-indicator-indeterminate-bg: $component-active-bg !default;\n$custom-checkbox-indicator-indeterminate-color: $custom-control-indicator-checked-color !default;\n$custom-checkbox-indicator-icon-indeterminate: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='#{$custom-checkbox-indicator-indeterminate-color}' d='M0 2h4'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$custom-checkbox-indicator-indeterminate-box-shadow: none !default;\n\n$custom-radio-indicator-border-radius: 50% !default;\n$custom-radio-indicator-icon-checked: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='#{$custom-control-indicator-checked-color}'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n\n$custom-select-padding-y: .375rem !default;\n$custom-select-padding-x: .75rem !default;\n$custom-select-height: $input-height !default;\n$custom-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator\n$custom-select-line-height: $input-btn-line-height !default;\n$custom-select-color: $input-color !default;\n$custom-select-disabled-color: $gray-600 !default;\n$custom-select-bg: $input-bg !default;\n$custom-select-disabled-bg: $gray-200 !default;\n$custom-select-bg-size: 8px 10px !default; // In pixels because image dimensions\n$custom-select-indicator-color: $gray-800 !default;\n$custom-select-indicator: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='#{$custom-select-indicator-color}' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$custom-select-border-width: $input-btn-border-width !default;\n$custom-select-border-color: $input-border-color !default;\n$custom-select-border-radius: $border-radius !default;\n$custom-select-box-shadow: inset 0 1px 2px rgba($black, .075) !default;\n\n$custom-select-focus-border-color: $input-focus-border-color !default;\n$custom-select-focus-width: $input-btn-focus-width !default;\n$custom-select-focus-box-shadow: 0 0 0 $custom-select-focus-width rgba($custom-select-focus-border-color, .5) !default;\n\n$custom-select-font-size-sm: 75% !default;\n$custom-select-height-sm: $input-height-sm !default;\n\n$custom-select-font-size-lg: 125% !default;\n$custom-select-height-lg: $input-height-lg !default;\n\n$custom-range-track-width: 100% !default;\n$custom-range-track-height: .5rem !default;\n$custom-range-track-cursor: pointer !default;\n$custom-range-track-bg: $gray-300 !default;\n$custom-range-track-border-radius: 1rem !default;\n$custom-range-track-box-shadow: inset 0 .25rem .25rem rgba($black, .1) !default;\n\n$custom-range-thumb-width: 1rem !default;\n$custom-range-thumb-height: $custom-range-thumb-width !default;\n$custom-range-thumb-bg: $component-active-bg !default;\n$custom-range-thumb-border: 0 !default;\n$custom-range-thumb-border-radius: 1rem !default;\n$custom-range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1) !default;\n$custom-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg, $input-btn-focus-box-shadow !default;\n$custom-range-thumb-focus-box-shadow-width: $input-btn-focus-width !default; // For focus box shadow issue in IE/Edge\n$custom-range-thumb-active-bg: lighten($component-active-bg, 35%) !default;\n\n$custom-file-height: $input-height !default;\n$custom-file-height-inner: $input-height-inner !default;\n$custom-file-focus-border-color: $input-focus-border-color !default;\n$custom-file-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$custom-file-disabled-bg: $input-disabled-bg !default;\n\n$custom-file-padding-y: $input-btn-padding-y !default;\n$custom-file-padding-x: $input-btn-padding-x !default;\n$custom-file-line-height: $input-btn-line-height !default;\n$custom-file-color: $input-color !default;\n$custom-file-bg: $input-bg !default;\n$custom-file-border-width: $input-btn-border-width !default;\n$custom-file-border-color: $input-border-color !default;\n$custom-file-border-radius: $input-border-radius !default;\n$custom-file-box-shadow: $input-box-shadow !default;\n$custom-file-button-color: $custom-file-color !default;\n$custom-file-button-bg: $input-group-addon-bg !default;\n$custom-file-text: (\n en: \"Browse\"\n) !default;\n\n\n// Form validation\n$form-feedback-margin-top: $form-text-margin-top !default;\n$form-feedback-font-size: $small-font-size !default;\n$form-feedback-valid-color: theme-color(\"success\") !default;\n$form-feedback-invalid-color: theme-color(\"danger\") !default;\n\n\n// Dropdowns\n//\n// Dropdown menu container and contents.\n\n$dropdown-min-width: 10rem !default;\n$dropdown-padding-y: .5rem !default;\n$dropdown-spacer: .125rem !default;\n$dropdown-bg: $white !default;\n$dropdown-border-color: rgba($black, .15) !default;\n$dropdown-border-radius: $border-radius !default;\n$dropdown-border-width: $border-width !default;\n$dropdown-divider-bg: $gray-200 !default;\n$dropdown-box-shadow: 0 .5rem 1rem rgba($black, .175) !default;\n\n$dropdown-link-color: $gray-900 !default;\n$dropdown-link-hover-color: darken($gray-900, 5%) !default;\n$dropdown-link-hover-bg: $gray-100 !default;\n\n$dropdown-link-active-color: $component-active-color !default;\n$dropdown-link-active-bg: $component-active-bg !default;\n\n$dropdown-link-disabled-color: $gray-600 !default;\n\n$dropdown-item-padding-y: .25rem !default;\n$dropdown-item-padding-x: 1.5rem !default;\n\n$dropdown-header-color: $gray-600 !default;\n\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n$zindex-dropdown: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-modal-backdrop: 1040 !default;\n$zindex-modal: 1050 !default;\n$zindex-popover: 1060 !default;\n$zindex-tooltip: 1070 !default;\n\n// Navs\n\n$nav-link-padding-y: .5rem !default;\n$nav-link-padding-x: 1rem !default;\n$nav-link-disabled-color: $gray-600 !default;\n\n$nav-tabs-border-color: $gray-300 !default;\n$nav-tabs-border-width: $border-width !default;\n$nav-tabs-border-radius: $border-radius !default;\n$nav-tabs-link-hover-border-color: $gray-200 $gray-200 $nav-tabs-border-color !default;\n$nav-tabs-link-active-color: $gray-700 !default;\n$nav-tabs-link-active-bg: $body-bg !default;\n$nav-tabs-link-active-border-color: $gray-300 $gray-300 $nav-tabs-link-active-bg !default;\n\n$nav-pills-border-radius: $border-radius !default;\n$nav-pills-link-active-color: $component-active-color !default;\n$nav-pills-link-active-bg: $component-active-bg !default;\n\n$nav-divider-color: $gray-200 !default;\n$nav-divider-margin-y: ($spacer / 2) !default;\n\n// Navbar\n\n$navbar-padding-y: ($spacer / 2) !default;\n$navbar-padding-x: $spacer !default;\n\n$navbar-nav-link-padding-x: .5rem !default;\n\n$navbar-brand-font-size: $font-size-lg !default;\n// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link\n$nav-link-height: ($font-size-base * $line-height-base + $nav-link-padding-y * 2) !default;\n$navbar-brand-height: $navbar-brand-font-size * $line-height-base !default;\n$navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) / 2 !default;\n\n$navbar-toggler-padding-y: .25rem !default;\n$navbar-toggler-padding-x: .75rem !default;\n$navbar-toggler-font-size: $font-size-lg !default;\n$navbar-toggler-border-radius: $btn-border-radius !default;\n\n$navbar-dark-color: rgba($white, .5) !default;\n$navbar-dark-hover-color: rgba($white, .75) !default;\n$navbar-dark-active-color: $white !default;\n$navbar-dark-disabled-color: rgba($white, .25) !default;\n$navbar-dark-toggler-icon-bg: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='#{$navbar-dark-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$navbar-dark-toggler-border-color: rgba($white, .1) !default;\n\n$navbar-light-color: rgba($black, .5) !default;\n$navbar-light-hover-color: rgba($black, .7) !default;\n$navbar-light-active-color: rgba($black, .9) !default;\n$navbar-light-disabled-color: rgba($black, .3) !default;\n$navbar-light-toggler-icon-bg: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='#{$navbar-light-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$navbar-light-toggler-border-color: rgba($black, .1) !default;\n\n// Pagination\n\n$pagination-padding-y: .5rem !default;\n$pagination-padding-x: .75rem !default;\n$pagination-padding-y-sm: .25rem !default;\n$pagination-padding-x-sm: .5rem !default;\n$pagination-padding-y-lg: .75rem !default;\n$pagination-padding-x-lg: 1.5rem !default;\n$pagination-line-height: 1.25 !default;\n\n$pagination-color: $link-color !default;\n$pagination-bg: $white !default;\n$pagination-border-width: $border-width !default;\n$pagination-border-color: $gray-300 !default;\n\n$pagination-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$pagination-focus-outline: 0 !default;\n\n$pagination-hover-color: $link-hover-color !default;\n$pagination-hover-bg: $gray-200 !default;\n$pagination-hover-border-color: $gray-300 !default;\n\n$pagination-active-color: $component-active-color !default;\n$pagination-active-bg: $component-active-bg !default;\n$pagination-active-border-color: $pagination-active-bg !default;\n\n$pagination-disabled-color: $gray-600 !default;\n$pagination-disabled-bg: $white !default;\n$pagination-disabled-border-color: $gray-300 !default;\n\n\n// Jumbotron\n\n$jumbotron-padding: 2rem !default;\n$jumbotron-bg: $gray-200 !default;\n\n\n// Cards\n\n$card-spacer-y: .75rem !default;\n$card-spacer-x: 1.25rem !default;\n$card-border-width: $border-width !default;\n$card-border-radius: $border-radius !default;\n$card-border-color: rgba($black, .125) !default;\n$card-inner-border-radius: calc(#{$card-border-radius} - #{$card-border-width}) !default;\n$card-cap-bg: rgba($black, .03) !default;\n$card-bg: $white !default;\n\n$card-img-overlay-padding: 1.25rem !default;\n\n$card-group-margin: ($grid-gutter-width / 2) !default;\n$card-deck-margin: $card-group-margin !default;\n\n$card-columns-count: 3 !default;\n$card-columns-gap: 1.25rem !default;\n$card-columns-margin: $card-spacer-y !default;\n\n\n// Tooltips\n\n$tooltip-font-size: $font-size-sm !default;\n$tooltip-max-width: 200px !default;\n$tooltip-color: $white !default;\n$tooltip-bg: $black !default;\n$tooltip-border-radius: $border-radius !default;\n$tooltip-opacity: .9 !default;\n$tooltip-padding-y: .25rem !default;\n$tooltip-padding-x: .5rem !default;\n$tooltip-margin: 0 !default;\n\n$tooltip-arrow-width: .8rem !default;\n$tooltip-arrow-height: .4rem !default;\n$tooltip-arrow-color: $tooltip-bg !default;\n\n\n// Popovers\n\n$popover-font-size: $font-size-sm !default;\n$popover-bg: $white !default;\n$popover-max-width: 276px !default;\n$popover-border-width: $border-width !default;\n$popover-border-color: rgba($black, .2) !default;\n$popover-border-radius: $border-radius-lg !default;\n$popover-box-shadow: 0 .25rem .5rem rgba($black, .2) !default;\n\n$popover-header-bg: darken($popover-bg, 3%) !default;\n$popover-header-color: $headings-color !default;\n$popover-header-padding-y: .5rem !default;\n$popover-header-padding-x: .75rem !default;\n\n$popover-body-color: $body-color !default;\n$popover-body-padding-y: $popover-header-padding-y !default;\n$popover-body-padding-x: $popover-header-padding-x !default;\n\n$popover-arrow-width: 1rem !default;\n$popover-arrow-height: .5rem !default;\n$popover-arrow-color: $popover-bg !default;\n\n$popover-arrow-outer-color: fade-in($popover-border-color, .05) !default;\n\n\n// Badges\n\n$badge-font-size: 75% !default;\n$badge-font-weight: $font-weight-bold !default;\n$badge-padding-y: .25em !default;\n$badge-padding-x: .4em !default;\n$badge-border-radius: $border-radius !default;\n\n$badge-pill-padding-x: .6em !default;\n// Use a higher than normal value to ensure completely rounded edges when\n// customizing padding or font-size on labels.\n$badge-pill-border-radius: 10rem !default;\n\n\n// Modals\n\n// Padding applied to the modal body\n$modal-inner-padding: 1rem !default;\n\n$modal-dialog-margin: .5rem !default;\n$modal-dialog-margin-y-sm-up: 1.75rem !default;\n\n$modal-title-line-height: $line-height-base !default;\n\n$modal-content-bg: $white !default;\n$modal-content-border-color: rgba($black, .2) !default;\n$modal-content-border-width: $border-width !default;\n$modal-content-border-radius: $border-radius-lg !default;\n$modal-content-box-shadow-xs: 0 .25rem .5rem rgba($black, .5) !default;\n$modal-content-box-shadow-sm-up: 0 .5rem 1rem rgba($black, .5) !default;\n\n$modal-backdrop-bg: $black !default;\n$modal-backdrop-opacity: .5 !default;\n$modal-header-border-color: $gray-200 !default;\n$modal-footer-border-color: $modal-header-border-color !default;\n$modal-header-border-width: $modal-content-border-width !default;\n$modal-footer-border-width: $modal-header-border-width !default;\n$modal-header-padding: 1rem !default;\n\n$modal-lg: 800px !default;\n$modal-md: 500px !default;\n$modal-sm: 300px !default;\n\n$modal-transition: transform .3s ease-out !default;\n\n\n// Alerts\n//\n// Define alert colors, border radius, and padding.\n\n$alert-padding-y: .75rem !default;\n$alert-padding-x: 1.25rem !default;\n$alert-margin-bottom: 1rem !default;\n$alert-border-radius: $border-radius !default;\n$alert-link-font-weight: $font-weight-bold !default;\n$alert-border-width: $border-width !default;\n\n$alert-bg-level: -10 !default;\n$alert-border-level: -9 !default;\n$alert-color-level: 6 !default;\n\n\n// Progress bars\n\n$progress-height: 1rem !default;\n$progress-font-size: ($font-size-base * .75) !default;\n$progress-bg: $gray-200 !default;\n$progress-border-radius: $border-radius !default;\n$progress-box-shadow: inset 0 .1rem .1rem rgba($black, .1) !default;\n$progress-bar-color: $white !default;\n$progress-bar-bg: theme-color(\"primary\") !default;\n$progress-bar-animation-timing: 1s linear infinite !default;\n$progress-bar-transition: width .6s ease !default;\n\n// List group\n\n$list-group-bg: $white !default;\n$list-group-border-color: rgba($black, .125) !default;\n$list-group-border-width: $border-width !default;\n$list-group-border-radius: $border-radius !default;\n\n$list-group-item-padding-y: .75rem !default;\n$list-group-item-padding-x: 1.25rem !default;\n\n$list-group-hover-bg: $gray-100 !default;\n$list-group-active-color: $component-active-color !default;\n$list-group-active-bg: $component-active-bg !default;\n$list-group-active-border-color: $list-group-active-bg !default;\n\n$list-group-disabled-color: $gray-600 !default;\n$list-group-disabled-bg: $list-group-bg !default;\n\n$list-group-action-color: $gray-700 !default;\n$list-group-action-hover-color: $list-group-action-color !default;\n\n$list-group-action-active-color: $body-color !default;\n$list-group-action-active-bg: $gray-200 !default;\n\n\n// Image thumbnails\n\n$thumbnail-padding: .25rem !default;\n$thumbnail-bg: $body-bg !default;\n$thumbnail-border-width: $border-width !default;\n$thumbnail-border-color: $gray-300 !default;\n$thumbnail-border-radius: $border-radius !default;\n$thumbnail-box-shadow: 0 1px 2px rgba($black, .075) !default;\n\n\n// Figures\n\n$figure-caption-font-size: 90% !default;\n$figure-caption-color: $gray-600 !default;\n\n\n// Breadcrumbs\n\n$breadcrumb-padding-y: .75rem !default;\n$breadcrumb-padding-x: 1rem !default;\n$breadcrumb-item-padding: .5rem !default;\n\n$breadcrumb-margin-bottom: 1rem !default;\n\n$breadcrumb-bg: $gray-200 !default;\n$breadcrumb-divider-color: $gray-600 !default;\n$breadcrumb-active-color: $gray-600 !default;\n$breadcrumb-divider: quote(\"/\") !default;\n\n$breadcrumb-border-radius: $border-radius !default;\n\n\n// Carousel\n\n$carousel-control-color: $white !default;\n$carousel-control-width: 15% !default;\n$carousel-control-opacity: .5 !default;\n\n$carousel-indicator-width: 30px !default;\n$carousel-indicator-height: 3px !default;\n$carousel-indicator-spacer: 3px !default;\n$carousel-indicator-active-bg: $white !default;\n\n$carousel-caption-width: 70% !default;\n$carousel-caption-color: $white !default;\n\n$carousel-control-icon-width: 20px !default;\n\n$carousel-control-prev-icon-bg: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$carousel-control-next-icon-bg: str-replace(url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n\n$carousel-transition: transform .6s ease !default; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`)\n\n\n// Close\n\n$close-font-size: $font-size-base * 1.5 !default;\n$close-font-weight: $font-weight-bold !default;\n$close-color: $black !default;\n$close-text-shadow: 0 1px 0 $white !default;\n\n// Code\n\n$code-font-size: 87.5% !default;\n$code-color: $pink !default;\n\n$kbd-padding-y: .2rem !default;\n$kbd-padding-x: .4rem !default;\n$kbd-font-size: $code-font-size !default;\n$kbd-color: $white !default;\n$kbd-bg: $gray-900 !default;\n\n$pre-color: $gray-900 !default;\n$pre-scrollable-max-height: 340px !default;\n\n\n// Printing\n$print-page-size: a3 !default;\n$print-body-min-width: map-get($grid-breakpoints, \"lg\") !default;\n","/*!\n * Bootstrap v4.1.3 (https://getbootstrap.com/)\n * Copyright 2011-2018 The Bootstrap Authors\n * Copyright 2011-2018 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n:root {\n --blue: #007bff;\n --indigo: #6610f2;\n --purple: #6f42c1;\n --pink: #e83e8c;\n --red: #dc3545;\n --orange: #fd7e14;\n --yellow: #ffc107;\n --green: #28a745;\n --teal: #20c997;\n --cyan: #17a2b8;\n --white: #fff;\n --gray: #6c757d;\n --gray-dark: #343a40;\n --primary: #007bff;\n --secondary: #6c757d;\n --success: #28a745;\n --info: #17a2b8;\n --warning: #ffc107;\n --danger: #dc3545;\n --light: #f8f9fa;\n --dark: #343a40;\n --breakpoint-xs: 0;\n --breakpoint-sm: 576px;\n --breakpoint-md: 768px;\n --breakpoint-lg: 992px;\n --breakpoint-xl: 1200px;\n --font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nhtml {\n font-family: sans-serif;\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n -ms-text-size-adjust: 100%;\n -ms-overflow-style: scrollbar;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\n@-ms-viewport {\n width: device-width;\n}\n\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: left;\n background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus {\n outline: 0 !important;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n text-decoration: underline dotted;\n cursor: help;\n border-bottom: 0;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\ndfn {\n font-style: italic;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #007bff;\n text-decoration: none;\n background-color: transparent;\n -webkit-text-decoration-skip: objects;\n}\n\na:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus {\n outline: 0;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n font-size: 1em;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n -ms-overflow-style: scrollbar;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n border-style: none;\n}\n\nsvg {\n overflow: hidden;\n vertical-align: middle;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #6c757d;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: inherit;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: 0.5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nbutton,\nhtml [type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n max-width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: none;\n}\n\n[type=\"search\"]::-webkit-search-cancel-button,\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none !important;\n}\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n margin-bottom: 0.5rem;\n font-family: inherit;\n font-weight: 500;\n line-height: 1.2;\n color: inherit;\n}\n\nh1, .h1 {\n font-size: 2.5rem;\n}\n\nh2, .h2 {\n font-size: 2rem;\n}\n\nh3, .h3 {\n font-size: 1.75rem;\n}\n\nh4, .h4 {\n font-size: 1.5rem;\n}\n\nh5, .h5 {\n font-size: 1.25rem;\n}\n\nh6, .h6 {\n font-size: 1rem;\n}\n\n.lead {\n font-size: 1.25rem;\n font-weight: 300;\n}\n\n.display-1 {\n font-size: 6rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-2 {\n font-size: 5.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-3 {\n font-size: 4.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-4 {\n font-size: 3.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\nhr {\n margin-top: 1rem;\n margin-bottom: 1rem;\n border: 0;\n border-top: 1px solid rgba(0, 0, 0, 0.1);\n}\n\nsmall,\n.small {\n font-size: 80%;\n font-weight: 400;\n}\n\nmark,\n.mark {\n padding: 0.2em;\n background-color: #fcf8e3;\n}\n\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline-item {\n display: inline-block;\n}\n\n.list-inline-item:not(:last-child) {\n margin-right: 0.5rem;\n}\n\n.initialism {\n font-size: 90%;\n text-transform: uppercase;\n}\n\n.blockquote {\n margin-bottom: 1rem;\n font-size: 1.25rem;\n}\n\n.blockquote-footer {\n display: block;\n font-size: 80%;\n color: #6c757d;\n}\n\n.blockquote-footer::before {\n content: \"\\2014 \\00A0\";\n}\n\n.img-fluid {\n max-width: 100%;\n height: auto;\n}\n\n.img-thumbnail {\n padding: 0.25rem;\n background-color: #fff;\n border: 1px solid #dee2e6;\n border-radius: 0.25rem;\n max-width: 100%;\n height: auto;\n}\n\n.figure {\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: 0.5rem;\n line-height: 1;\n}\n\n.figure-caption {\n font-size: 90%;\n color: #6c757d;\n}\n\ncode {\n font-size: 87.5%;\n color: #e83e8c;\n word-break: break-word;\n}\n\na > code {\n color: inherit;\n}\n\nkbd {\n padding: 0.2rem 0.4rem;\n font-size: 87.5%;\n color: #fff;\n background-color: #212529;\n border-radius: 0.2rem;\n}\n\nkbd kbd {\n padding: 0;\n font-size: 100%;\n font-weight: 700;\n}\n\npre {\n display: block;\n font-size: 87.5%;\n color: #212529;\n}\n\npre code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n}\n\n.pre-scrollable {\n max-height: 340px;\n overflow-y: scroll;\n}\n\n.container {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n max-width: 1140px;\n }\n}\n\n.container-fluid {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n.row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\n.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n.col-xl-auto {\n position: relative;\n width: 100%;\n min-height: 1px;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n.col {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n}\n\n.col-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.order-first {\n order: -1;\n}\n\n.order-last {\n order: 13;\n}\n\n.order-0 {\n order: 0;\n}\n\n.order-1 {\n order: 1;\n}\n\n.order-2 {\n order: 2;\n}\n\n.order-3 {\n order: 3;\n}\n\n.order-4 {\n order: 4;\n}\n\n.order-5 {\n order: 5;\n}\n\n.order-6 {\n order: 6;\n}\n\n.order-7 {\n order: 7;\n}\n\n.order-8 {\n order: 8;\n}\n\n.order-9 {\n order: 9;\n}\n\n.order-10 {\n order: 10;\n}\n\n.order-11 {\n order: 11;\n}\n\n.order-12 {\n order: 12;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-sm-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-sm-first {\n order: -1;\n }\n .order-sm-last {\n order: 13;\n }\n .order-sm-0 {\n order: 0;\n }\n .order-sm-1 {\n order: 1;\n }\n .order-sm-2 {\n order: 2;\n }\n .order-sm-3 {\n order: 3;\n }\n .order-sm-4 {\n order: 4;\n }\n .order-sm-5 {\n order: 5;\n }\n .order-sm-6 {\n order: 6;\n }\n .order-sm-7 {\n order: 7;\n }\n .order-sm-8 {\n order: 8;\n }\n .order-sm-9 {\n order: 9;\n }\n .order-sm-10 {\n order: 10;\n }\n .order-sm-11 {\n order: 11;\n }\n .order-sm-12 {\n order: 12;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-md-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-md-first {\n order: -1;\n }\n .order-md-last {\n order: 13;\n }\n .order-md-0 {\n order: 0;\n }\n .order-md-1 {\n order: 1;\n }\n .order-md-2 {\n order: 2;\n }\n .order-md-3 {\n order: 3;\n }\n .order-md-4 {\n order: 4;\n }\n .order-md-5 {\n order: 5;\n }\n .order-md-6 {\n order: 6;\n }\n .order-md-7 {\n order: 7;\n }\n .order-md-8 {\n order: 8;\n }\n .order-md-9 {\n order: 9;\n }\n .order-md-10 {\n order: 10;\n }\n .order-md-11 {\n order: 11;\n }\n .order-md-12 {\n order: 12;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-lg-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-lg-first {\n order: -1;\n }\n .order-lg-last {\n order: 13;\n }\n .order-lg-0 {\n order: 0;\n }\n .order-lg-1 {\n order: 1;\n }\n .order-lg-2 {\n order: 2;\n }\n .order-lg-3 {\n order: 3;\n }\n .order-lg-4 {\n order: 4;\n }\n .order-lg-5 {\n order: 5;\n }\n .order-lg-6 {\n order: 6;\n }\n .order-lg-7 {\n order: 7;\n }\n .order-lg-8 {\n order: 8;\n }\n .order-lg-9 {\n order: 9;\n }\n .order-lg-10 {\n order: 10;\n }\n .order-lg-11 {\n order: 11;\n }\n .order-lg-12 {\n order: 12;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n .col-xl-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-xl-first {\n order: -1;\n }\n .order-xl-last {\n order: 13;\n }\n .order-xl-0 {\n order: 0;\n }\n .order-xl-1 {\n order: 1;\n }\n .order-xl-2 {\n order: 2;\n }\n .order-xl-3 {\n order: 3;\n }\n .order-xl-4 {\n order: 4;\n }\n .order-xl-5 {\n order: 5;\n }\n .order-xl-6 {\n order: 6;\n }\n .order-xl-7 {\n order: 7;\n }\n .order-xl-8 {\n order: 8;\n }\n .order-xl-9 {\n order: 9;\n }\n .order-xl-10 {\n order: 10;\n }\n .order-xl-11 {\n order: 11;\n }\n .order-xl-12 {\n order: 12;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n.table {\n width: 100%;\n margin-bottom: 1rem;\n background-color: transparent;\n}\n\n.table th,\n.table td {\n padding: 0.75rem;\n vertical-align: top;\n border-top: 1px solid #dee2e6;\n}\n\n.table thead th {\n vertical-align: bottom;\n border-bottom: 2px solid #dee2e6;\n}\n\n.table tbody + tbody {\n border-top: 2px solid #dee2e6;\n}\n\n.table .table {\n background-color: #fff;\n}\n\n.table-sm th,\n.table-sm td {\n padding: 0.3rem;\n}\n\n.table-bordered {\n border: 1px solid #dee2e6;\n}\n\n.table-bordered th,\n.table-bordered td {\n border: 1px solid #dee2e6;\n}\n\n.table-bordered thead th,\n.table-bordered thead td {\n border-bottom-width: 2px;\n}\n\n.table-borderless th,\n.table-borderless td,\n.table-borderless thead th,\n.table-borderless tbody + tbody {\n border: 0;\n}\n\n.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(0, 0, 0, 0.05);\n}\n\n.table-hover tbody tr:hover {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-primary,\n.table-primary > th,\n.table-primary > td {\n background-color: #b8daff;\n}\n\n.table-hover .table-primary:hover {\n background-color: #9fcdff;\n}\n\n.table-hover .table-primary:hover > td,\n.table-hover .table-primary:hover > th {\n background-color: #9fcdff;\n}\n\n.table-secondary,\n.table-secondary > th,\n.table-secondary > td {\n background-color: #d6d8db;\n}\n\n.table-hover .table-secondary:hover {\n background-color: #c8cbcf;\n}\n\n.table-hover .table-secondary:hover > td,\n.table-hover .table-secondary:hover > th {\n background-color: #c8cbcf;\n}\n\n.table-success,\n.table-success > th,\n.table-success > td {\n background-color: #c3e6cb;\n}\n\n.table-hover .table-success:hover {\n background-color: #b1dfbb;\n}\n\n.table-hover .table-success:hover > td,\n.table-hover .table-success:hover > th {\n background-color: #b1dfbb;\n}\n\n.table-info,\n.table-info > th,\n.table-info > td {\n background-color: #bee5eb;\n}\n\n.table-hover .table-info:hover {\n background-color: #abdde5;\n}\n\n.table-hover .table-info:hover > td,\n.table-hover .table-info:hover > th {\n background-color: #abdde5;\n}\n\n.table-warning,\n.table-warning > th,\n.table-warning > td {\n background-color: #ffeeba;\n}\n\n.table-hover .table-warning:hover {\n background-color: #ffe8a1;\n}\n\n.table-hover .table-warning:hover > td,\n.table-hover .table-warning:hover > th {\n background-color: #ffe8a1;\n}\n\n.table-danger,\n.table-danger > th,\n.table-danger > td {\n background-color: #f5c6cb;\n}\n\n.table-hover .table-danger:hover {\n background-color: #f1b0b7;\n}\n\n.table-hover .table-danger:hover > td,\n.table-hover .table-danger:hover > th {\n background-color: #f1b0b7;\n}\n\n.table-light,\n.table-light > th,\n.table-light > td {\n background-color: #fdfdfe;\n}\n\n.table-hover .table-light:hover {\n background-color: #ececf6;\n}\n\n.table-hover .table-light:hover > td,\n.table-hover .table-light:hover > th {\n background-color: #ececf6;\n}\n\n.table-dark,\n.table-dark > th,\n.table-dark > td {\n background-color: #c6c8ca;\n}\n\n.table-hover .table-dark:hover {\n background-color: #b9bbbe;\n}\n\n.table-hover .table-dark:hover > td,\n.table-hover .table-dark:hover > th {\n background-color: #b9bbbe;\n}\n\n.table-active,\n.table-active > th,\n.table-active > td {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover > td,\n.table-hover .table-active:hover > th {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table .thead-dark th {\n color: #fff;\n background-color: #212529;\n border-color: #32383e;\n}\n\n.table .thead-light th {\n color: #495057;\n background-color: #e9ecef;\n border-color: #dee2e6;\n}\n\n.table-dark {\n color: #fff;\n background-color: #212529;\n}\n\n.table-dark th,\n.table-dark td,\n.table-dark thead th {\n border-color: #32383e;\n}\n\n.table-dark.table-bordered {\n border: 0;\n}\n\n.table-dark.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(255, 255, 255, 0.05);\n}\n\n.table-dark.table-hover tbody tr:hover {\n background-color: rgba(255, 255, 255, 0.075);\n}\n\n@media (max-width: 575.98px) {\n .table-responsive-sm {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n }\n .table-responsive-sm > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 767.98px) {\n .table-responsive-md {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n }\n .table-responsive-md > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 991.98px) {\n .table-responsive-lg {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n }\n .table-responsive-lg > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 1199.98px) {\n .table-responsive-xl {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n }\n .table-responsive-xl > .table-bordered {\n border: 0;\n }\n}\n\n.table-responsive {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n}\n\n.table-responsive > .table-bordered {\n border: 0;\n}\n\n.form-control {\n display: block;\n width: 100%;\n height: calc(2.25rem + 2px);\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n line-height: 1.5;\n color: #495057;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media screen and (prefers-reduced-motion: reduce) {\n .form-control {\n transition: none;\n }\n}\n\n.form-control::-ms-expand {\n background-color: transparent;\n border: 0;\n}\n\n.form-control:focus {\n color: #495057;\n background-color: #fff;\n border-color: #80bdff;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.form-control::placeholder {\n color: #6c757d;\n opacity: 1;\n}\n\n.form-control:disabled, .form-control[readonly] {\n background-color: #e9ecef;\n opacity: 1;\n}\n\nselect.form-control:focus::-ms-value {\n color: #495057;\n background-color: #fff;\n}\n\n.form-control-file,\n.form-control-range {\n display: block;\n width: 100%;\n}\n\n.col-form-label {\n padding-top: calc(0.375rem + 1px);\n padding-bottom: calc(0.375rem + 1px);\n margin-bottom: 0;\n font-size: inherit;\n line-height: 1.5;\n}\n\n.col-form-label-lg {\n padding-top: calc(0.5rem + 1px);\n padding-bottom: calc(0.5rem + 1px);\n font-size: 1.25rem;\n line-height: 1.5;\n}\n\n.col-form-label-sm {\n padding-top: calc(0.25rem + 1px);\n padding-bottom: calc(0.25rem + 1px);\n font-size: 0.875rem;\n line-height: 1.5;\n}\n\n.form-control-plaintext {\n display: block;\n width: 100%;\n padding-top: 0.375rem;\n padding-bottom: 0.375rem;\n margin-bottom: 0;\n line-height: 1.5;\n color: #212529;\n background-color: transparent;\n border: solid transparent;\n border-width: 1px 0;\n}\n\n.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {\n padding-right: 0;\n padding-left: 0;\n}\n\n.form-control-sm {\n height: calc(1.8125rem + 2px);\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\n.form-control-lg {\n height: calc(2.875rem + 2px);\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\nselect.form-control[size], select.form-control[multiple] {\n height: auto;\n}\n\ntextarea.form-control {\n height: auto;\n}\n\n.form-group {\n margin-bottom: 1rem;\n}\n\n.form-text {\n display: block;\n margin-top: 0.25rem;\n}\n\n.form-row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -5px;\n margin-left: -5px;\n}\n\n.form-row > .col,\n.form-row > [class*=\"col-\"] {\n padding-right: 5px;\n padding-left: 5px;\n}\n\n.form-check {\n position: relative;\n display: block;\n padding-left: 1.25rem;\n}\n\n.form-check-input {\n position: absolute;\n margin-top: 0.3rem;\n margin-left: -1.25rem;\n}\n\n.form-check-input:disabled ~ .form-check-label {\n color: #6c757d;\n}\n\n.form-check-label {\n margin-bottom: 0;\n}\n\n.form-check-inline {\n display: inline-flex;\n align-items: center;\n padding-left: 0;\n margin-right: 0.75rem;\n}\n\n.form-check-inline .form-check-input {\n position: static;\n margin-top: 0;\n margin-right: 0.3125rem;\n margin-left: 0;\n}\n\n.valid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 80%;\n color: #28a745;\n}\n\n.valid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: .1rem;\n font-size: 0.875rem;\n line-height: 1.5;\n color: #fff;\n background-color: rgba(40, 167, 69, 0.9);\n border-radius: 0.25rem;\n}\n\n.was-validated .form-control:valid, .form-control.is-valid, .was-validated\n.custom-select:valid,\n.custom-select.is-valid {\n border-color: #28a745;\n}\n\n.was-validated .form-control:valid:focus, .form-control.is-valid:focus, .was-validated\n.custom-select:valid:focus,\n.custom-select.is-valid:focus {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .form-control:valid ~ .valid-feedback,\n.was-validated .form-control:valid ~ .valid-tooltip, .form-control.is-valid ~ .valid-feedback,\n.form-control.is-valid ~ .valid-tooltip, .was-validated\n.custom-select:valid ~ .valid-feedback,\n.was-validated\n.custom-select:valid ~ .valid-tooltip,\n.custom-select.is-valid ~ .valid-feedback,\n.custom-select.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .form-control-file:valid ~ .valid-feedback,\n.was-validated .form-control-file:valid ~ .valid-tooltip, .form-control-file.is-valid ~ .valid-feedback,\n.form-control-file.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {\n color: #28a745;\n}\n\n.was-validated .form-check-input:valid ~ .valid-feedback,\n.was-validated .form-check-input:valid ~ .valid-tooltip, .form-check-input.is-valid ~ .valid-feedback,\n.form-check-input.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label {\n color: #28a745;\n}\n\n.was-validated .custom-control-input:valid ~ .custom-control-label::before, .custom-control-input.is-valid ~ .custom-control-label::before {\n background-color: #71dd8a;\n}\n\n.was-validated .custom-control-input:valid ~ .valid-feedback,\n.was-validated .custom-control-input:valid ~ .valid-tooltip, .custom-control-input.is-valid ~ .valid-feedback,\n.custom-control-input.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before {\n background-color: #34ce57;\n}\n\n.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control-input.is-valid:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label {\n border-color: #28a745;\n}\n\n.was-validated .custom-file-input:valid ~ .custom-file-label::after, .custom-file-input.is-valid ~ .custom-file-label::after {\n border-color: inherit;\n}\n\n.was-validated .custom-file-input:valid ~ .valid-feedback,\n.was-validated .custom-file-input:valid ~ .valid-tooltip, .custom-file-input.is-valid ~ .valid-feedback,\n.custom-file-input.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-file-label {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.invalid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 80%;\n color: #dc3545;\n}\n\n.invalid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: .1rem;\n font-size: 0.875rem;\n line-height: 1.5;\n color: #fff;\n background-color: rgba(220, 53, 69, 0.9);\n border-radius: 0.25rem;\n}\n\n.was-validated .form-control:invalid, .form-control.is-invalid, .was-validated\n.custom-select:invalid,\n.custom-select.is-invalid {\n border-color: #dc3545;\n}\n\n.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus, .was-validated\n.custom-select:invalid:focus,\n.custom-select.is-invalid:focus {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .form-control:invalid ~ .invalid-feedback,\n.was-validated .form-control:invalid ~ .invalid-tooltip, .form-control.is-invalid ~ .invalid-feedback,\n.form-control.is-invalid ~ .invalid-tooltip, .was-validated\n.custom-select:invalid ~ .invalid-feedback,\n.was-validated\n.custom-select:invalid ~ .invalid-tooltip,\n.custom-select.is-invalid ~ .invalid-feedback,\n.custom-select.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .form-control-file:invalid ~ .invalid-feedback,\n.was-validated .form-control-file:invalid ~ .invalid-tooltip, .form-control-file.is-invalid ~ .invalid-feedback,\n.form-control-file.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {\n color: #dc3545;\n}\n\n.was-validated .form-check-input:invalid ~ .invalid-feedback,\n.was-validated .form-check-input:invalid ~ .invalid-tooltip, .form-check-input.is-invalid ~ .invalid-feedback,\n.form-check-input.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .custom-control-input:invalid ~ .custom-control-label, .custom-control-input.is-invalid ~ .custom-control-label {\n color: #dc3545;\n}\n\n.was-validated .custom-control-input:invalid ~ .custom-control-label::before, .custom-control-input.is-invalid ~ .custom-control-label::before {\n background-color: #efa2a9;\n}\n\n.was-validated .custom-control-input:invalid ~ .invalid-feedback,\n.was-validated .custom-control-input:invalid ~ .invalid-tooltip, .custom-control-input.is-invalid ~ .invalid-feedback,\n.custom-control-input.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before {\n background-color: #e4606d;\n}\n\n.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before, .custom-control-input.is-invalid:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label {\n border-color: #dc3545;\n}\n\n.was-validated .custom-file-input:invalid ~ .custom-file-label::after, .custom-file-input.is-invalid ~ .custom-file-label::after {\n border-color: inherit;\n}\n\n.was-validated .custom-file-input:invalid ~ .invalid-feedback,\n.was-validated .custom-file-input:invalid ~ .invalid-tooltip, .custom-file-input.is-invalid ~ .invalid-feedback,\n.custom-file-input.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.form-inline {\n display: flex;\n flex-flow: row wrap;\n align-items: center;\n}\n\n.form-inline .form-check {\n width: 100%;\n}\n\n@media (min-width: 576px) {\n .form-inline label {\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: 0;\n }\n .form-inline .form-group {\n display: flex;\n flex: 0 0 auto;\n flex-flow: row wrap;\n align-items: center;\n margin-bottom: 0;\n }\n .form-inline .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .form-inline .form-control-plaintext {\n display: inline-block;\n }\n .form-inline .input-group,\n .form-inline .custom-select {\n width: auto;\n }\n .form-inline .form-check {\n display: flex;\n align-items: center;\n justify-content: center;\n width: auto;\n padding-left: 0;\n }\n .form-inline .form-check-input {\n position: relative;\n margin-top: 0;\n margin-right: 0.25rem;\n margin-left: 0;\n }\n .form-inline .custom-control {\n align-items: center;\n justify-content: center;\n }\n .form-inline .custom-control-label {\n margin-bottom: 0;\n }\n}\n\n.btn {\n display: inline-block;\n font-weight: 400;\n text-align: center;\n white-space: nowrap;\n vertical-align: middle;\n user-select: none;\n border: 1px solid transparent;\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n line-height: 1.5;\n border-radius: 0.25rem;\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media screen and (prefers-reduced-motion: reduce) {\n .btn {\n transition: none;\n }\n}\n\n.btn:hover, .btn:focus {\n text-decoration: none;\n}\n\n.btn:focus, .btn.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.btn.disabled, .btn:disabled {\n opacity: 0.65;\n}\n\n.btn:not(:disabled):not(.disabled) {\n cursor: pointer;\n}\n\na.btn.disabled,\nfieldset:disabled a.btn {\n pointer-events: none;\n}\n\n.btn-primary {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-primary:hover {\n color: #fff;\n background-color: #0069d9;\n border-color: #0062cc;\n}\n\n.btn-primary:focus, .btn-primary.focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-primary.disabled, .btn-primary:disabled {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active,\n.show > .btn-primary.dropdown-toggle {\n color: #fff;\n background-color: #0062cc;\n border-color: #005cbf;\n}\n\n.btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-primary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-secondary {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-secondary:hover {\n color: #fff;\n background-color: #5a6268;\n border-color: #545b62;\n}\n\n.btn-secondary:focus, .btn-secondary.focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-secondary.disabled, .btn-secondary:disabled {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active,\n.show > .btn-secondary.dropdown-toggle {\n color: #fff;\n background-color: #545b62;\n border-color: #4e555b;\n}\n\n.btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-secondary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-success {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-success:hover {\n color: #fff;\n background-color: #218838;\n border-color: #1e7e34;\n}\n\n.btn-success:focus, .btn-success.focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-success.disabled, .btn-success:disabled {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active,\n.show > .btn-success.dropdown-toggle {\n color: #fff;\n background-color: #1e7e34;\n border-color: #1c7430;\n}\n\n.btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus,\n.show > .btn-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-info {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-info:hover {\n color: #fff;\n background-color: #138496;\n border-color: #117a8b;\n}\n\n.btn-info:focus, .btn-info.focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-info.disabled, .btn-info:disabled {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active,\n.show > .btn-info.dropdown-toggle {\n color: #fff;\n background-color: #117a8b;\n border-color: #10707f;\n}\n\n.btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus,\n.show > .btn-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-warning {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:hover {\n color: #212529;\n background-color: #e0a800;\n border-color: #d39e00;\n}\n\n.btn-warning:focus, .btn-warning.focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-warning.disabled, .btn-warning:disabled {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active,\n.show > .btn-warning.dropdown-toggle {\n color: #212529;\n background-color: #d39e00;\n border-color: #c69500;\n}\n\n.btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus,\n.show > .btn-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-danger {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-danger:hover {\n color: #fff;\n background-color: #c82333;\n border-color: #bd2130;\n}\n\n.btn-danger:focus, .btn-danger.focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-danger.disabled, .btn-danger:disabled {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active,\n.show > .btn-danger.dropdown-toggle {\n color: #fff;\n background-color: #bd2130;\n border-color: #b21f2d;\n}\n\n.btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus,\n.show > .btn-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-light {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:hover {\n color: #212529;\n background-color: #e2e6ea;\n border-color: #dae0e5;\n}\n\n.btn-light:focus, .btn-light.focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-light.disabled, .btn-light:disabled {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active,\n.show > .btn-light.dropdown-toggle {\n color: #212529;\n background-color: #dae0e5;\n border-color: #d3d9df;\n}\n\n.btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus,\n.show > .btn-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-dark {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-dark:hover {\n color: #fff;\n background-color: #23272b;\n border-color: #1d2124;\n}\n\n.btn-dark:focus, .btn-dark.focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-dark.disabled, .btn-dark:disabled {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active,\n.show > .btn-dark.dropdown-toggle {\n color: #fff;\n background-color: #1d2124;\n border-color: #171a1d;\n}\n\n.btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus,\n.show > .btn-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-outline-primary {\n color: #007bff;\n background-color: transparent;\n background-image: none;\n border-color: #007bff;\n}\n\n.btn-outline-primary:hover {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-outline-primary:focus, .btn-outline-primary.focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-outline-primary.disabled, .btn-outline-primary:disabled {\n color: #007bff;\n background-color: transparent;\n}\n\n.btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active,\n.show > .btn-outline-primary.dropdown-toggle {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-primary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-outline-secondary {\n color: #6c757d;\n background-color: transparent;\n background-image: none;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:hover {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:focus, .btn-outline-secondary.focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-outline-secondary.disabled, .btn-outline-secondary:disabled {\n color: #6c757d;\n background-color: transparent;\n}\n\n.btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active,\n.show > .btn-outline-secondary.dropdown-toggle {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-secondary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-outline-success {\n color: #28a745;\n background-color: transparent;\n background-image: none;\n border-color: #28a745;\n}\n\n.btn-outline-success:hover {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:focus, .btn-outline-success.focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-success.disabled, .btn-outline-success:disabled {\n color: #28a745;\n background-color: transparent;\n}\n\n.btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active,\n.show > .btn-outline-success.dropdown-toggle {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-info {\n color: #17a2b8;\n background-color: transparent;\n background-image: none;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:hover {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:focus, .btn-outline-info.focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-info.disabled, .btn-outline-info:disabled {\n color: #17a2b8;\n background-color: transparent;\n}\n\n.btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active,\n.show > .btn-outline-info.dropdown-toggle {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-warning {\n color: #ffc107;\n background-color: transparent;\n background-image: none;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:hover {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:focus, .btn-outline-warning.focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-warning.disabled, .btn-outline-warning:disabled {\n color: #ffc107;\n background-color: transparent;\n}\n\n.btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active,\n.show > .btn-outline-warning.dropdown-toggle {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-danger {\n color: #dc3545;\n background-color: transparent;\n background-image: none;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:hover {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:focus, .btn-outline-danger.focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-danger.disabled, .btn-outline-danger:disabled {\n color: #dc3545;\n background-color: transparent;\n}\n\n.btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active,\n.show > .btn-outline-danger.dropdown-toggle {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-light {\n color: #f8f9fa;\n background-color: transparent;\n background-image: none;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:hover {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:focus, .btn-outline-light.focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-light.disabled, .btn-outline-light:disabled {\n color: #f8f9fa;\n background-color: transparent;\n}\n\n.btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active,\n.show > .btn-outline-light.dropdown-toggle {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-dark {\n color: #343a40;\n background-color: transparent;\n background-image: none;\n border-color: #343a40;\n}\n\n.btn-outline-dark:hover {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:focus, .btn-outline-dark.focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-outline-dark.disabled, .btn-outline-dark:disabled {\n color: #343a40;\n background-color: transparent;\n}\n\n.btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active,\n.show > .btn-outline-dark.dropdown-toggle {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-link {\n font-weight: 400;\n color: #007bff;\n background-color: transparent;\n}\n\n.btn-link:hover {\n color: #0056b3;\n text-decoration: underline;\n background-color: transparent;\n border-color: transparent;\n}\n\n.btn-link:focus, .btn-link.focus {\n text-decoration: underline;\n border-color: transparent;\n box-shadow: none;\n}\n\n.btn-link:disabled, .btn-link.disabled {\n color: #6c757d;\n pointer-events: none;\n}\n\n.btn-lg, .btn-group-lg > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\n.btn-sm, .btn-group-sm > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\n.btn-block {\n display: block;\n width: 100%;\n}\n\n.btn-block + .btn-block {\n margin-top: 0.5rem;\n}\n\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n width: 100%;\n}\n\n.fade {\n transition: opacity 0.15s linear;\n}\n\n@media screen and (prefers-reduced-motion: reduce) {\n .fade {\n transition: none;\n }\n}\n\n.fade:not(.show) {\n opacity: 0;\n}\n\n.collapse:not(.show) {\n display: none;\n}\n\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n transition: height 0.35s ease;\n}\n\n@media screen and (prefers-reduced-motion: reduce) {\n .collapsing {\n transition: none;\n }\n}\n\n.dropup,\n.dropright,\n.dropdown,\n.dropleft {\n position: relative;\n}\n\n.dropdown-toggle::after {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid;\n border-right: 0.3em solid transparent;\n border-bottom: 0;\n border-left: 0.3em solid transparent;\n}\n\n.dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n float: left;\n min-width: 10rem;\n padding: 0.5rem 0;\n margin: 0.125rem 0 0;\n font-size: 1rem;\n color: #212529;\n text-align: left;\n list-style: none;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n}\n\n.dropdown-menu-right {\n right: 0;\n left: auto;\n}\n\n.dropup .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-top: 0;\n margin-bottom: 0.125rem;\n}\n\n.dropup .dropdown-toggle::after {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0;\n border-right: 0.3em solid transparent;\n border-bottom: 0.3em solid;\n border-left: 0.3em solid transparent;\n}\n\n.dropup .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropright .dropdown-menu {\n top: 0;\n right: auto;\n left: 100%;\n margin-top: 0;\n margin-left: 0.125rem;\n}\n\n.dropright .dropdown-toggle::after {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0;\n border-bottom: 0.3em solid transparent;\n border-left: 0.3em solid;\n}\n\n.dropright .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropright .dropdown-toggle::after {\n vertical-align: 0;\n}\n\n.dropleft .dropdown-menu {\n top: 0;\n right: 100%;\n left: auto;\n margin-top: 0;\n margin-right: 0.125rem;\n}\n\n.dropleft .dropdown-toggle::after {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n}\n\n.dropleft .dropdown-toggle::after {\n display: none;\n}\n\n.dropleft .dropdown-toggle::before {\n display: inline-block;\n width: 0;\n height: 0;\n margin-right: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0.3em solid;\n border-bottom: 0.3em solid transparent;\n}\n\n.dropleft .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropleft .dropdown-toggle::before {\n vertical-align: 0;\n}\n\n.dropdown-menu[x-placement^=\"top\"], .dropdown-menu[x-placement^=\"right\"], .dropdown-menu[x-placement^=\"bottom\"], .dropdown-menu[x-placement^=\"left\"] {\n right: auto;\n bottom: auto;\n}\n\n.dropdown-divider {\n height: 0;\n margin: 0.5rem 0;\n overflow: hidden;\n border-top: 1px solid #e9ecef;\n}\n\n.dropdown-item {\n display: block;\n width: 100%;\n padding: 0.25rem 1.5rem;\n clear: both;\n font-weight: 400;\n color: #212529;\n text-align: inherit;\n white-space: nowrap;\n background-color: transparent;\n border: 0;\n}\n\n.dropdown-item:hover, .dropdown-item:focus {\n color: #16181b;\n text-decoration: none;\n background-color: #f8f9fa;\n}\n\n.dropdown-item.active, .dropdown-item:active {\n color: #fff;\n text-decoration: none;\n background-color: #007bff;\n}\n\n.dropdown-item.disabled, .dropdown-item:disabled {\n color: #6c757d;\n background-color: transparent;\n}\n\n.dropdown-menu.show {\n display: block;\n}\n\n.dropdown-header {\n display: block;\n padding: 0.5rem 1.5rem;\n margin-bottom: 0;\n font-size: 0.875rem;\n color: #6c757d;\n white-space: nowrap;\n}\n\n.dropdown-item-text {\n display: block;\n padding: 0.25rem 1.5rem;\n color: #212529;\n}\n\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle;\n}\n\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n flex: 0 1 auto;\n}\n\n.btn-group > .btn:hover,\n.btn-group-vertical > .btn:hover {\n z-index: 1;\n}\n\n.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,\n.btn-group-vertical > .btn:focus,\n.btn-group-vertical > .btn:active,\n.btn-group-vertical > .btn.active {\n z-index: 1;\n}\n\n.btn-group .btn + .btn,\n.btn-group .btn + .btn-group,\n.btn-group .btn-group + .btn,\n.btn-group .btn-group + .btn-group,\n.btn-group-vertical .btn + .btn,\n.btn-group-vertical .btn + .btn-group,\n.btn-group-vertical .btn-group + .btn,\n.btn-group-vertical .btn-group + .btn-group {\n margin-left: -1px;\n}\n\n.btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n}\n\n.btn-toolbar .input-group {\n width: auto;\n}\n\n.btn-group > .btn:first-child {\n margin-left: 0;\n}\n\n.btn-group > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group > .btn-group:not(:last-child) > .btn {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.btn-group > .btn:not(:first-child),\n.btn-group > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.dropdown-toggle-split {\n padding-right: 0.5625rem;\n padding-left: 0.5625rem;\n}\n\n.dropdown-toggle-split::after,\n.dropup .dropdown-toggle-split::after,\n.dropright .dropdown-toggle-split::after {\n margin-left: 0;\n}\n\n.dropleft .dropdown-toggle-split::before {\n margin-right: 0;\n}\n\n.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {\n padding-right: 0.375rem;\n padding-left: 0.375rem;\n}\n\n.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n}\n\n.btn-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n}\n\n.btn-group-vertical .btn,\n.btn-group-vertical .btn-group {\n width: 100%;\n}\n\n.btn-group-vertical > .btn + .btn,\n.btn-group-vertical > .btn + .btn-group,\n.btn-group-vertical > .btn-group + .btn,\n.btn-group-vertical > .btn-group + .btn-group {\n margin-top: -1px;\n margin-left: 0;\n}\n\n.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group-vertical > .btn-group:not(:last-child) > .btn {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.btn-group-toggle > .btn,\n.btn-group-toggle > .btn-group > .btn {\n margin-bottom: 0;\n}\n\n.btn-group-toggle > .btn input[type=\"radio\"],\n.btn-group-toggle > .btn input[type=\"checkbox\"],\n.btn-group-toggle > .btn-group > .btn input[type=\"radio\"],\n.btn-group-toggle > .btn-group > .btn input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n\n.input-group {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: stretch;\n width: 100%;\n}\n\n.input-group > .form-control,\n.input-group > .custom-select,\n.input-group > .custom-file {\n position: relative;\n flex: 1 1 auto;\n width: 1%;\n margin-bottom: 0;\n}\n\n.input-group > .form-control + .form-control,\n.input-group > .form-control + .custom-select,\n.input-group > .form-control + .custom-file,\n.input-group > .custom-select + .form-control,\n.input-group > .custom-select + .custom-select,\n.input-group > .custom-select + .custom-file,\n.input-group > .custom-file + .form-control,\n.input-group > .custom-file + .custom-select,\n.input-group > .custom-file + .custom-file {\n margin-left: -1px;\n}\n\n.input-group > .form-control:focus,\n.input-group > .custom-select:focus,\n.input-group > .custom-file .custom-file-input:focus ~ .custom-file-label {\n z-index: 3;\n}\n\n.input-group > .custom-file .custom-file-input:focus {\n z-index: 4;\n}\n\n.input-group > .form-control:not(:last-child),\n.input-group > .custom-select:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .form-control:not(:first-child),\n.input-group > .custom-select:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.input-group > .custom-file {\n display: flex;\n align-items: center;\n}\n\n.input-group > .custom-file:not(:last-child) .custom-file-label,\n.input-group > .custom-file:not(:last-child) .custom-file-label::after {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .custom-file:not(:first-child) .custom-file-label {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.input-group-prepend,\n.input-group-append {\n display: flex;\n}\n\n.input-group-prepend .btn,\n.input-group-append .btn {\n position: relative;\n z-index: 2;\n}\n\n.input-group-prepend .btn + .btn,\n.input-group-prepend .btn + .input-group-text,\n.input-group-prepend .input-group-text + .input-group-text,\n.input-group-prepend .input-group-text + .btn,\n.input-group-append .btn + .btn,\n.input-group-append .btn + .input-group-text,\n.input-group-append .input-group-text + .input-group-text,\n.input-group-append .input-group-text + .btn {\n margin-left: -1px;\n}\n\n.input-group-prepend {\n margin-right: -1px;\n}\n\n.input-group-append {\n margin-left: -1px;\n}\n\n.input-group-text {\n display: flex;\n align-items: center;\n padding: 0.375rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n text-align: center;\n white-space: nowrap;\n background-color: #e9ecef;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n}\n\n.input-group-text input[type=\"radio\"],\n.input-group-text input[type=\"checkbox\"] {\n margin-top: 0;\n}\n\n.input-group-lg > .form-control,\n.input-group-lg > .input-group-prepend > .input-group-text,\n.input-group-lg > .input-group-append > .input-group-text,\n.input-group-lg > .input-group-prepend > .btn,\n.input-group-lg > .input-group-append > .btn {\n height: calc(2.875rem + 2px);\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\n.input-group-sm > .form-control,\n.input-group-sm > .input-group-prepend > .input-group-text,\n.input-group-sm > .input-group-append > .input-group-text,\n.input-group-sm > .input-group-prepend > .btn,\n.input-group-sm > .input-group-append > .btn {\n height: calc(1.8125rem + 2px);\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\n.input-group > .input-group-prepend > .btn,\n.input-group > .input-group-prepend > .input-group-text,\n.input-group > .input-group-append:not(:last-child) > .btn,\n.input-group > .input-group-append:not(:last-child) > .input-group-text,\n.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .input-group-append > .btn,\n.input-group > .input-group-append > .input-group-text,\n.input-group > .input-group-prepend:not(:first-child) > .btn,\n.input-group > .input-group-prepend:not(:first-child) > .input-group-text,\n.input-group > .input-group-prepend:first-child > .btn:not(:first-child),\n.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.custom-control {\n position: relative;\n display: block;\n min-height: 1.5rem;\n padding-left: 1.5rem;\n}\n\n.custom-control-inline {\n display: inline-flex;\n margin-right: 1rem;\n}\n\n.custom-control-input {\n position: absolute;\n z-index: -1;\n opacity: 0;\n}\n\n.custom-control-input:checked ~ .custom-control-label::before {\n color: #fff;\n background-color: #007bff;\n}\n\n.custom-control-input:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-control-input:active ~ .custom-control-label::before {\n color: #fff;\n background-color: #b3d7ff;\n}\n\n.custom-control-input:disabled ~ .custom-control-label {\n color: #6c757d;\n}\n\n.custom-control-input:disabled ~ .custom-control-label::before {\n background-color: #e9ecef;\n}\n\n.custom-control-label {\n position: relative;\n margin-bottom: 0;\n}\n\n.custom-control-label::before {\n position: absolute;\n top: 0.25rem;\n left: -1.5rem;\n display: block;\n width: 1rem;\n height: 1rem;\n pointer-events: none;\n content: \"\";\n user-select: none;\n background-color: #dee2e6;\n}\n\n.custom-control-label::after {\n position: absolute;\n top: 0.25rem;\n left: -1.5rem;\n display: block;\n width: 1rem;\n height: 1rem;\n content: \"\";\n background-repeat: no-repeat;\n background-position: center center;\n background-size: 50% 50%;\n}\n\n.custom-checkbox .custom-control-label::before {\n border-radius: 0.25rem;\n}\n\n.custom-checkbox .custom-control-input:checked ~ .custom-control-label::before {\n background-color: #007bff;\n}\n\n.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E\");\n}\n\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before {\n background-color: #007bff;\n}\n\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E\");\n}\n\n.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-radio .custom-control-label::before {\n border-radius: 50%;\n}\n\n.custom-radio .custom-control-input:checked ~ .custom-control-label::before {\n background-color: #007bff;\n}\n\n.custom-radio .custom-control-input:checked ~ .custom-control-label::after {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E\");\n}\n\n.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-select {\n display: inline-block;\n width: 100%;\n height: calc(2.25rem + 2px);\n padding: 0.375rem 1.75rem 0.375rem 0.75rem;\n line-height: 1.5;\n color: #495057;\n vertical-align: middle;\n background: #fff url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E\") no-repeat right 0.75rem center;\n background-size: 8px 10px;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n appearance: none;\n}\n\n.custom-select:focus {\n border-color: #80bdff;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(128, 189, 255, 0.5);\n}\n\n.custom-select:focus::-ms-value {\n color: #495057;\n background-color: #fff;\n}\n\n.custom-select[multiple], .custom-select[size]:not([size=\"1\"]) {\n height: auto;\n padding-right: 0.75rem;\n background-image: none;\n}\n\n.custom-select:disabled {\n color: #6c757d;\n background-color: #e9ecef;\n}\n\n.custom-select::-ms-expand {\n opacity: 0;\n}\n\n.custom-select-sm {\n height: calc(1.8125rem + 2px);\n padding-top: 0.375rem;\n padding-bottom: 0.375rem;\n font-size: 75%;\n}\n\n.custom-select-lg {\n height: calc(2.875rem + 2px);\n padding-top: 0.375rem;\n padding-bottom: 0.375rem;\n font-size: 125%;\n}\n\n.custom-file {\n position: relative;\n display: inline-block;\n width: 100%;\n height: calc(2.25rem + 2px);\n margin-bottom: 0;\n}\n\n.custom-file-input {\n position: relative;\n z-index: 2;\n width: 100%;\n height: calc(2.25rem + 2px);\n margin: 0;\n opacity: 0;\n}\n\n.custom-file-input:focus ~ .custom-file-label {\n border-color: #80bdff;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-file-input:focus ~ .custom-file-label::after {\n border-color: #80bdff;\n}\n\n.custom-file-input:disabled ~ .custom-file-label {\n background-color: #e9ecef;\n}\n\n.custom-file-input:lang(en) ~ .custom-file-label::after {\n content: \"Browse\";\n}\n\n.custom-file-label {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1;\n height: calc(2.25rem + 2px);\n padding: 0.375rem 0.75rem;\n line-height: 1.5;\n color: #495057;\n background-color: #fff;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n}\n\n.custom-file-label::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n z-index: 3;\n display: block;\n height: 2.25rem;\n padding: 0.375rem 0.75rem;\n line-height: 1.5;\n color: #495057;\n content: \"Browse\";\n background-color: #e9ecef;\n border-left: 1px solid #ced4da;\n border-radius: 0 0.25rem 0.25rem 0;\n}\n\n.custom-range {\n width: 100%;\n padding-left: 0;\n background-color: transparent;\n appearance: none;\n}\n\n.custom-range:focus {\n outline: none;\n}\n\n.custom-range:focus::-webkit-slider-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-range:focus::-moz-range-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-range:focus::-ms-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-range::-moz-focus-outer {\n border: 0;\n}\n\n.custom-range::-webkit-slider-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: -0.25rem;\n background-color: #007bff;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n\n@media screen and (prefers-reduced-motion: reduce) {\n .custom-range::-webkit-slider-thumb {\n transition: none;\n }\n}\n\n.custom-range::-webkit-slider-thumb:active {\n background-color: #b3d7ff;\n}\n\n.custom-range::-webkit-slider-runnable-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem;\n}\n\n.custom-range::-moz-range-thumb {\n width: 1rem;\n height: 1rem;\n background-color: #007bff;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n\n@media screen and (prefers-reduced-motion: reduce) {\n .custom-range::-moz-range-thumb {\n transition: none;\n }\n}\n\n.custom-range::-moz-range-thumb:active {\n background-color: #b3d7ff;\n}\n\n.custom-range::-moz-range-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem;\n}\n\n.custom-range::-ms-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: 0;\n margin-right: 0.2rem;\n margin-left: 0.2rem;\n background-color: #007bff;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n\n@media screen and (prefers-reduced-motion: reduce) {\n .custom-range::-ms-thumb {\n transition: none;\n }\n}\n\n.custom-range::-ms-thumb:active {\n background-color: #b3d7ff;\n}\n\n.custom-range::-ms-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: transparent;\n border-color: transparent;\n border-width: 0.5rem;\n}\n\n.custom-range::-ms-fill-lower {\n background-color: #dee2e6;\n border-radius: 1rem;\n}\n\n.custom-range::-ms-fill-upper {\n margin-right: 15px;\n background-color: #dee2e6;\n border-radius: 1rem;\n}\n\n.custom-control-label::before,\n.custom-file-label,\n.custom-select {\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media screen and (prefers-reduced-motion: reduce) {\n .custom-control-label::before,\n .custom-file-label,\n .custom-select {\n transition: none;\n }\n}\n\n.nav {\n display: flex;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: 0.5rem 1rem;\n}\n\n.nav-link:hover, .nav-link:focus {\n text-decoration: none;\n}\n\n.nav-link.disabled {\n color: #6c757d;\n}\n\n.nav-tabs {\n border-bottom: 1px solid #dee2e6;\n}\n\n.nav-tabs .nav-item {\n margin-bottom: -1px;\n}\n\n.nav-tabs .nav-link {\n border: 1px solid transparent;\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {\n border-color: #e9ecef #e9ecef #dee2e6;\n}\n\n.nav-tabs .nav-link.disabled {\n color: #6c757d;\n background-color: transparent;\n border-color: transparent;\n}\n\n.nav-tabs .nav-link.active,\n.nav-tabs .nav-item.show .nav-link {\n color: #495057;\n background-color: #fff;\n border-color: #dee2e6 #dee2e6 #fff;\n}\n\n.nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.nav-pills .nav-link {\n border-radius: 0.25rem;\n}\n\n.nav-pills .nav-link.active,\n.nav-pills .show > .nav-link {\n color: #fff;\n background-color: #007bff;\n}\n\n.nav-fill .nav-item {\n flex: 1 1 auto;\n text-align: center;\n}\n\n.nav-justified .nav-item {\n flex-basis: 0;\n flex-grow: 1;\n text-align: center;\n}\n\n.tab-content > .tab-pane {\n display: none;\n}\n\n.tab-content > .active {\n display: block;\n}\n\n.navbar {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n padding: 0.5rem 1rem;\n}\n\n.navbar > .container,\n.navbar > .container-fluid {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n}\n\n.navbar-brand {\n display: inline-block;\n padding-top: 0.3125rem;\n padding-bottom: 0.3125rem;\n margin-right: 1rem;\n font-size: 1.25rem;\n line-height: inherit;\n white-space: nowrap;\n}\n\n.navbar-brand:hover, .navbar-brand:focus {\n text-decoration: none;\n}\n\n.navbar-nav {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.navbar-nav .nav-link {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-nav .dropdown-menu {\n position: static;\n float: none;\n}\n\n.navbar-text {\n display: inline-block;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n\n.navbar-collapse {\n flex-basis: 100%;\n flex-grow: 1;\n align-items: center;\n}\n\n.navbar-toggler {\n padding: 0.25rem 0.75rem;\n font-size: 1.25rem;\n line-height: 1;\n background-color: transparent;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.navbar-toggler:hover, .navbar-toggler:focus {\n text-decoration: none;\n}\n\n.navbar-toggler:not(:disabled):not(.disabled) {\n cursor: pointer;\n}\n\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n content: \"\";\n background: no-repeat center center;\n background-size: 100% 100%;\n}\n\n@media (max-width: 575.98px) {\n .navbar-expand-sm > .container,\n .navbar-expand-sm > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 576px) {\n .navbar-expand-sm {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-sm .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-sm .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-sm .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-sm > .container,\n .navbar-expand-sm > .container-fluid {\n flex-wrap: nowrap;\n }\n .navbar-expand-sm .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-sm .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 767.98px) {\n .navbar-expand-md > .container,\n .navbar-expand-md > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 768px) {\n .navbar-expand-md {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-md .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-md .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-md .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-md > .container,\n .navbar-expand-md > .container-fluid {\n flex-wrap: nowrap;\n }\n .navbar-expand-md .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-md .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 991.98px) {\n .navbar-expand-lg > .container,\n .navbar-expand-lg > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 992px) {\n .navbar-expand-lg {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-lg .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-lg .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-lg .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-lg > .container,\n .navbar-expand-lg > .container-fluid {\n flex-wrap: nowrap;\n }\n .navbar-expand-lg .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-lg .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 1199.98px) {\n .navbar-expand-xl > .container,\n .navbar-expand-xl > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 1200px) {\n .navbar-expand-xl {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-xl .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-xl .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-xl .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-xl > .container,\n .navbar-expand-xl > .container-fluid {\n flex-wrap: nowrap;\n }\n .navbar-expand-xl .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-xl .navbar-toggler {\n display: none;\n }\n}\n\n.navbar-expand {\n flex-flow: row nowrap;\n justify-content: flex-start;\n}\n\n.navbar-expand > .container,\n.navbar-expand > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-expand .navbar-nav {\n flex-direction: row;\n}\n\n.navbar-expand .navbar-nav .dropdown-menu {\n position: absolute;\n}\n\n.navbar-expand .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n}\n\n.navbar-expand > .container,\n.navbar-expand > .container-fluid {\n flex-wrap: nowrap;\n}\n\n.navbar-expand .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n}\n\n.navbar-expand .navbar-toggler {\n display: none;\n}\n\n.navbar-light .navbar-brand {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-nav .nav-link {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus {\n color: rgba(0, 0, 0, 0.7);\n}\n\n.navbar-light .navbar-nav .nav-link.disabled {\n color: rgba(0, 0, 0, 0.3);\n}\n\n.navbar-light .navbar-nav .show > .nav-link,\n.navbar-light .navbar-nav .active > .nav-link,\n.navbar-light .navbar-nav .nav-link.show,\n.navbar-light .navbar-nav .nav-link.active {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-toggler {\n color: rgba(0, 0, 0, 0.5);\n border-color: rgba(0, 0, 0, 0.1);\n}\n\n.navbar-light .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\");\n}\n\n.navbar-light .navbar-text {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-text a {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-text a:hover, .navbar-light .navbar-text a:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-dark .navbar-brand {\n color: #fff;\n}\n\n.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus {\n color: #fff;\n}\n\n.navbar-dark .navbar-nav .nav-link {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus {\n color: rgba(255, 255, 255, 0.75);\n}\n\n.navbar-dark .navbar-nav .nav-link.disabled {\n color: rgba(255, 255, 255, 0.25);\n}\n\n.navbar-dark .navbar-nav .show > .nav-link,\n.navbar-dark .navbar-nav .active > .nav-link,\n.navbar-dark .navbar-nav .nav-link.show,\n.navbar-dark .navbar-nav .nav-link.active {\n color: #fff;\n}\n\n.navbar-dark .navbar-toggler {\n color: rgba(255, 255, 255, 0.5);\n border-color: rgba(255, 255, 255, 0.1);\n}\n\n.navbar-dark .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\");\n}\n\n.navbar-dark .navbar-text {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-dark .navbar-text a {\n color: #fff;\n}\n\n.navbar-dark .navbar-text a:hover, .navbar-dark .navbar-text a:focus {\n color: #fff;\n}\n\n.card {\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: border-box;\n border: 1px solid rgba(0, 0, 0, 0.125);\n border-radius: 0.25rem;\n}\n\n.card > hr {\n margin-right: 0;\n margin-left: 0;\n}\n\n.card > .list-group:first-child .list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.card > .list-group:last-child .list-group-item:last-child {\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.card-body {\n flex: 1 1 auto;\n padding: 1.25rem;\n}\n\n.card-title {\n margin-bottom: 0.75rem;\n}\n\n.card-subtitle {\n margin-top: -0.375rem;\n margin-bottom: 0;\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link:hover {\n text-decoration: none;\n}\n\n.card-link + .card-link {\n margin-left: 1.25rem;\n}\n\n.card-header {\n padding: 0.75rem 1.25rem;\n margin-bottom: 0;\n background-color: rgba(0, 0, 0, 0.03);\n border-bottom: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-header:first-child {\n border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;\n}\n\n.card-header + .list-group .list-group-item:first-child {\n border-top: 0;\n}\n\n.card-footer {\n padding: 0.75rem 1.25rem;\n background-color: rgba(0, 0, 0, 0.03);\n border-top: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-footer:last-child {\n border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px);\n}\n\n.card-header-tabs {\n margin-right: -0.625rem;\n margin-bottom: -0.75rem;\n margin-left: -0.625rem;\n border-bottom: 0;\n}\n\n.card-header-pills {\n margin-right: -0.625rem;\n margin-left: -0.625rem;\n}\n\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: 1.25rem;\n}\n\n.card-img {\n width: 100%;\n border-radius: calc(0.25rem - 1px);\n}\n\n.card-img-top {\n width: 100%;\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px);\n}\n\n.card-img-bottom {\n width: 100%;\n border-bottom-right-radius: calc(0.25rem - 1px);\n border-bottom-left-radius: calc(0.25rem - 1px);\n}\n\n.card-deck {\n display: flex;\n flex-direction: column;\n}\n\n.card-deck .card {\n margin-bottom: 15px;\n}\n\n@media (min-width: 576px) {\n .card-deck {\n flex-flow: row wrap;\n margin-right: -15px;\n margin-left: -15px;\n }\n .card-deck .card {\n display: flex;\n flex: 1 0 0%;\n flex-direction: column;\n margin-right: 15px;\n margin-bottom: 0;\n margin-left: 15px;\n }\n}\n\n.card-group {\n display: flex;\n flex-direction: column;\n}\n\n.card-group > .card {\n margin-bottom: 15px;\n}\n\n@media (min-width: 576px) {\n .card-group {\n flex-flow: row wrap;\n }\n .card-group > .card {\n flex: 1 0 0%;\n margin-bottom: 0;\n }\n .card-group > .card + .card {\n margin-left: 0;\n border-left: 0;\n }\n .card-group > .card:first-child {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n .card-group > .card:first-child .card-img-top,\n .card-group > .card:first-child .card-header {\n border-top-right-radius: 0;\n }\n .card-group > .card:first-child .card-img-bottom,\n .card-group > .card:first-child .card-footer {\n border-bottom-right-radius: 0;\n }\n .card-group > .card:last-child {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n .card-group > .card:last-child .card-img-top,\n .card-group > .card:last-child .card-header {\n border-top-left-radius: 0;\n }\n .card-group > .card:last-child .card-img-bottom,\n .card-group > .card:last-child .card-footer {\n border-bottom-left-radius: 0;\n }\n .card-group > .card:only-child {\n border-radius: 0.25rem;\n }\n .card-group > .card:only-child .card-img-top,\n .card-group > .card:only-child .card-header {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n }\n .card-group > .card:only-child .card-img-bottom,\n .card-group > .card:only-child .card-footer {\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n }\n .card-group > .card:not(:first-child):not(:last-child):not(:only-child) {\n border-radius: 0;\n }\n .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-img-top,\n .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-img-bottom,\n .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-header,\n .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-footer {\n border-radius: 0;\n }\n}\n\n.card-columns .card {\n margin-bottom: 0.75rem;\n}\n\n@media (min-width: 576px) {\n .card-columns {\n column-count: 3;\n column-gap: 1.25rem;\n orphans: 1;\n widows: 1;\n }\n .card-columns .card {\n display: inline-block;\n width: 100%;\n }\n}\n\n.accordion .card:not(:first-of-type):not(:last-of-type) {\n border-bottom: 0;\n border-radius: 0;\n}\n\n.accordion .card:not(:first-of-type) .card-header:first-child {\n border-radius: 0;\n}\n\n.accordion .card:first-of-type {\n border-bottom: 0;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.accordion .card:last-of-type {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.breadcrumb {\n display: flex;\n flex-wrap: wrap;\n padding: 0.75rem 1rem;\n margin-bottom: 1rem;\n list-style: none;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.breadcrumb-item + .breadcrumb-item {\n padding-left: 0.5rem;\n}\n\n.breadcrumb-item + .breadcrumb-item::before {\n display: inline-block;\n padding-right: 0.5rem;\n color: #6c757d;\n content: \"/\";\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: underline;\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: none;\n}\n\n.breadcrumb-item.active {\n color: #6c757d;\n}\n\n.pagination {\n display: flex;\n padding-left: 0;\n list-style: none;\n border-radius: 0.25rem;\n}\n\n.page-link {\n position: relative;\n display: block;\n padding: 0.5rem 0.75rem;\n margin-left: -1px;\n line-height: 1.25;\n color: #007bff;\n background-color: #fff;\n border: 1px solid #dee2e6;\n}\n\n.page-link:hover {\n z-index: 2;\n color: #0056b3;\n text-decoration: none;\n background-color: #e9ecef;\n border-color: #dee2e6;\n}\n\n.page-link:focus {\n z-index: 2;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.page-link:not(:disabled):not(.disabled) {\n cursor: pointer;\n}\n\n.page-item:first-child .page-link {\n margin-left: 0;\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.page-item:last-child .page-link {\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n}\n\n.page-item.active .page-link {\n z-index: 1;\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.page-item.disabled .page-link {\n color: #6c757d;\n pointer-events: none;\n cursor: auto;\n background-color: #fff;\n border-color: #dee2e6;\n}\n\n.pagination-lg .page-link {\n padding: 0.75rem 1.5rem;\n font-size: 1.25rem;\n line-height: 1.5;\n}\n\n.pagination-lg .page-item:first-child .page-link {\n border-top-left-radius: 0.3rem;\n border-bottom-left-radius: 0.3rem;\n}\n\n.pagination-lg .page-item:last-child .page-link {\n border-top-right-radius: 0.3rem;\n border-bottom-right-radius: 0.3rem;\n}\n\n.pagination-sm .page-link {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n}\n\n.pagination-sm .page-item:first-child .page-link {\n border-top-left-radius: 0.2rem;\n border-bottom-left-radius: 0.2rem;\n}\n\n.pagination-sm .page-item:last-child .page-link {\n border-top-right-radius: 0.2rem;\n border-bottom-right-radius: 0.2rem;\n}\n\n.badge {\n display: inline-block;\n padding: 0.25em 0.4em;\n font-size: 75%;\n font-weight: 700;\n line-height: 1;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: 0.25rem;\n}\n\n.badge:empty {\n display: none;\n}\n\n.btn .badge {\n position: relative;\n top: -1px;\n}\n\n.badge-pill {\n padding-right: 0.6em;\n padding-left: 0.6em;\n border-radius: 10rem;\n}\n\n.badge-primary {\n color: #fff;\n background-color: #007bff;\n}\n\n.badge-primary[href]:hover, .badge-primary[href]:focus {\n color: #fff;\n text-decoration: none;\n background-color: #0062cc;\n}\n\n.badge-secondary {\n color: #fff;\n background-color: #6c757d;\n}\n\n.badge-secondary[href]:hover, .badge-secondary[href]:focus {\n color: #fff;\n text-decoration: none;\n background-color: #545b62;\n}\n\n.badge-success {\n color: #fff;\n background-color: #28a745;\n}\n\n.badge-success[href]:hover, .badge-success[href]:focus {\n color: #fff;\n text-decoration: none;\n background-color: #1e7e34;\n}\n\n.badge-info {\n color: #fff;\n background-color: #17a2b8;\n}\n\n.badge-info[href]:hover, .badge-info[href]:focus {\n color: #fff;\n text-decoration: none;\n background-color: #117a8b;\n}\n\n.badge-warning {\n color: #212529;\n background-color: #ffc107;\n}\n\n.badge-warning[href]:hover, .badge-warning[href]:focus {\n color: #212529;\n text-decoration: none;\n background-color: #d39e00;\n}\n\n.badge-danger {\n color: #fff;\n background-color: #dc3545;\n}\n\n.badge-danger[href]:hover, .badge-danger[href]:focus {\n color: #fff;\n text-decoration: none;\n background-color: #bd2130;\n}\n\n.badge-light {\n color: #212529;\n background-color: #f8f9fa;\n}\n\n.badge-light[href]:hover, .badge-light[href]:focus {\n color: #212529;\n text-decoration: none;\n background-color: #dae0e5;\n}\n\n.badge-dark {\n color: #fff;\n background-color: #343a40;\n}\n\n.badge-dark[href]:hover, .badge-dark[href]:focus {\n color: #fff;\n text-decoration: none;\n background-color: #1d2124;\n}\n\n.jumbotron {\n padding: 2rem 1rem;\n margin-bottom: 2rem;\n background-color: #e9ecef;\n border-radius: 0.3rem;\n}\n\n@media (min-width: 576px) {\n .jumbotron {\n padding: 4rem 2rem;\n }\n}\n\n.jumbotron-fluid {\n padding-right: 0;\n padding-left: 0;\n border-radius: 0;\n}\n\n.alert {\n position: relative;\n padding: 0.75rem 1.25rem;\n margin-bottom: 1rem;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.alert-heading {\n color: inherit;\n}\n\n.alert-link {\n font-weight: 700;\n}\n\n.alert-dismissible {\n padding-right: 4rem;\n}\n\n.alert-dismissible .close {\n position: absolute;\n top: 0;\n right: 0;\n padding: 0.75rem 1.25rem;\n color: inherit;\n}\n\n.alert-primary {\n color: #004085;\n background-color: #cce5ff;\n border-color: #b8daff;\n}\n\n.alert-primary hr {\n border-top-color: #9fcdff;\n}\n\n.alert-primary .alert-link {\n color: #002752;\n}\n\n.alert-secondary {\n color: #383d41;\n background-color: #e2e3e5;\n border-color: #d6d8db;\n}\n\n.alert-secondary hr {\n border-top-color: #c8cbcf;\n}\n\n.alert-secondary .alert-link {\n color: #202326;\n}\n\n.alert-success {\n color: #155724;\n background-color: #d4edda;\n border-color: #c3e6cb;\n}\n\n.alert-success hr {\n border-top-color: #b1dfbb;\n}\n\n.alert-success .alert-link {\n color: #0b2e13;\n}\n\n.alert-info {\n color: #0c5460;\n background-color: #d1ecf1;\n border-color: #bee5eb;\n}\n\n.alert-info hr {\n border-top-color: #abdde5;\n}\n\n.alert-info .alert-link {\n color: #062c33;\n}\n\n.alert-warning {\n color: #856404;\n background-color: #fff3cd;\n border-color: #ffeeba;\n}\n\n.alert-warning hr {\n border-top-color: #ffe8a1;\n}\n\n.alert-warning .alert-link {\n color: #533f03;\n}\n\n.alert-danger {\n color: #721c24;\n background-color: #f8d7da;\n border-color: #f5c6cb;\n}\n\n.alert-danger hr {\n border-top-color: #f1b0b7;\n}\n\n.alert-danger .alert-link {\n color: #491217;\n}\n\n.alert-light {\n color: #818182;\n background-color: #fefefe;\n border-color: #fdfdfe;\n}\n\n.alert-light hr {\n border-top-color: #ececf6;\n}\n\n.alert-light .alert-link {\n color: #686868;\n}\n\n.alert-dark {\n color: #1b1e21;\n background-color: #d6d8d9;\n border-color: #c6c8ca;\n}\n\n.alert-dark hr {\n border-top-color: #b9bbbe;\n}\n\n.alert-dark .alert-link {\n color: #040505;\n}\n\n@keyframes progress-bar-stripes {\n from {\n background-position: 1rem 0;\n }\n to {\n background-position: 0 0;\n }\n}\n\n.progress {\n display: flex;\n height: 1rem;\n overflow: hidden;\n font-size: 0.75rem;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.progress-bar {\n display: flex;\n flex-direction: column;\n justify-content: center;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n background-color: #007bff;\n transition: width 0.6s ease;\n}\n\n@media screen and (prefers-reduced-motion: reduce) {\n .progress-bar {\n transition: none;\n }\n}\n\n.progress-bar-striped {\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-size: 1rem 1rem;\n}\n\n.progress-bar-animated {\n animation: progress-bar-stripes 1s linear infinite;\n}\n\n.media {\n display: flex;\n align-items: flex-start;\n}\n\n.media-body {\n flex: 1;\n}\n\n.list-group {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n}\n\n.list-group-item-action {\n width: 100%;\n color: #495057;\n text-align: inherit;\n}\n\n.list-group-item-action:hover, .list-group-item-action:focus {\n color: #495057;\n text-decoration: none;\n background-color: #f8f9fa;\n}\n\n.list-group-item-action:active {\n color: #212529;\n background-color: #e9ecef;\n}\n\n.list-group-item {\n position: relative;\n display: block;\n padding: 0.75rem 1.25rem;\n margin-bottom: -1px;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.list-group-item:last-child {\n margin-bottom: 0;\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.list-group-item:hover, .list-group-item:focus {\n z-index: 1;\n text-decoration: none;\n}\n\n.list-group-item.disabled, .list-group-item:disabled {\n color: #6c757d;\n background-color: #fff;\n}\n\n.list-group-item.active {\n z-index: 2;\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.list-group-flush .list-group-item {\n border-right: 0;\n border-left: 0;\n border-radius: 0;\n}\n\n.list-group-flush:first-child .list-group-item:first-child {\n border-top: 0;\n}\n\n.list-group-flush:last-child .list-group-item:last-child {\n border-bottom: 0;\n}\n\n.list-group-item-primary {\n color: #004085;\n background-color: #b8daff;\n}\n\n.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {\n color: #004085;\n background-color: #9fcdff;\n}\n\n.list-group-item-primary.list-group-item-action.active {\n color: #fff;\n background-color: #004085;\n border-color: #004085;\n}\n\n.list-group-item-secondary {\n color: #383d41;\n background-color: #d6d8db;\n}\n\n.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus {\n color: #383d41;\n background-color: #c8cbcf;\n}\n\n.list-group-item-secondary.list-group-item-action.active {\n color: #fff;\n background-color: #383d41;\n border-color: #383d41;\n}\n\n.list-group-item-success {\n color: #155724;\n background-color: #c3e6cb;\n}\n\n.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {\n color: #155724;\n background-color: #b1dfbb;\n}\n\n.list-group-item-success.list-group-item-action.active {\n color: #fff;\n background-color: #155724;\n border-color: #155724;\n}\n\n.list-group-item-info {\n color: #0c5460;\n background-color: #bee5eb;\n}\n\n.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus {\n color: #0c5460;\n background-color: #abdde5;\n}\n\n.list-group-item-info.list-group-item-action.active {\n color: #fff;\n background-color: #0c5460;\n border-color: #0c5460;\n}\n\n.list-group-item-warning {\n color: #856404;\n background-color: #ffeeba;\n}\n\n.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus {\n color: #856404;\n background-color: #ffe8a1;\n}\n\n.list-group-item-warning.list-group-item-action.active {\n color: #fff;\n background-color: #856404;\n border-color: #856404;\n}\n\n.list-group-item-danger {\n color: #721c24;\n background-color: #f5c6cb;\n}\n\n.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus {\n color: #721c24;\n background-color: #f1b0b7;\n}\n\n.list-group-item-danger.list-group-item-action.active {\n color: #fff;\n background-color: #721c24;\n border-color: #721c24;\n}\n\n.list-group-item-light {\n color: #818182;\n background-color: #fdfdfe;\n}\n\n.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus {\n color: #818182;\n background-color: #ececf6;\n}\n\n.list-group-item-light.list-group-item-action.active {\n color: #fff;\n background-color: #818182;\n border-color: #818182;\n}\n\n.list-group-item-dark {\n color: #1b1e21;\n background-color: #c6c8ca;\n}\n\n.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus {\n color: #1b1e21;\n background-color: #b9bbbe;\n}\n\n.list-group-item-dark.list-group-item-action.active {\n color: #fff;\n background-color: #1b1e21;\n border-color: #1b1e21;\n}\n\n.close {\n float: right;\n font-size: 1.5rem;\n font-weight: 700;\n line-height: 1;\n color: #000;\n text-shadow: 0 1px 0 #fff;\n opacity: .5;\n}\n\n.close:not(:disabled):not(.disabled) {\n cursor: pointer;\n}\n\n.close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus {\n color: #000;\n text-decoration: none;\n opacity: .75;\n}\n\nbutton.close {\n padding: 0;\n background-color: transparent;\n border: 0;\n -webkit-appearance: none;\n}\n\n.modal-open {\n overflow: hidden;\n}\n\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n.modal {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1050;\n display: none;\n overflow: hidden;\n outline: 0;\n}\n\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 0.5rem;\n pointer-events: none;\n}\n\n.modal.fade .modal-dialog {\n transition: transform 0.3s ease-out;\n transform: translate(0, -25%);\n}\n\n@media screen and (prefers-reduced-motion: reduce) {\n .modal.fade .modal-dialog {\n transition: none;\n }\n}\n\n.modal.show .modal-dialog {\n transform: translate(0, 0);\n}\n\n.modal-dialog-centered {\n display: flex;\n align-items: center;\n min-height: calc(100% - (0.5rem * 2));\n}\n\n.modal-dialog-centered::before {\n display: block;\n height: calc(100vh - (0.5rem * 2));\n content: \"\";\n}\n\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%;\n pointer-events: auto;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n outline: 0;\n}\n\n.modal-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1040;\n background-color: #000;\n}\n\n.modal-backdrop.fade {\n opacity: 0;\n}\n\n.modal-backdrop.show {\n opacity: 0.5;\n}\n\n.modal-header {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n padding: 1rem;\n border-bottom: 1px solid #e9ecef;\n border-top-left-radius: 0.3rem;\n border-top-right-radius: 0.3rem;\n}\n\n.modal-header .close {\n padding: 1rem;\n margin: -1rem -1rem -1rem auto;\n}\n\n.modal-title {\n margin-bottom: 0;\n line-height: 1.5;\n}\n\n.modal-body {\n position: relative;\n flex: 1 1 auto;\n padding: 1rem;\n}\n\n.modal-footer {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n padding: 1rem;\n border-top: 1px solid #e9ecef;\n}\n\n.modal-footer > :not(:first-child) {\n margin-left: .25rem;\n}\n\n.modal-footer > :not(:last-child) {\n margin-right: .25rem;\n}\n\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n@media (min-width: 576px) {\n .modal-dialog {\n max-width: 500px;\n margin: 1.75rem auto;\n }\n .modal-dialog-centered {\n min-height: calc(100% - (1.75rem * 2));\n }\n .modal-dialog-centered::before {\n height: calc(100vh - (1.75rem * 2));\n }\n .modal-sm {\n max-width: 300px;\n }\n}\n\n@media (min-width: 992px) {\n .modal-lg {\n max-width: 800px;\n }\n}\n\n.tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n opacity: 0;\n}\n\n.tooltip.show {\n opacity: 0.9;\n}\n\n.tooltip .arrow {\n position: absolute;\n display: block;\n width: 0.8rem;\n height: 0.4rem;\n}\n\n.tooltip .arrow::before {\n position: absolute;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-tooltip-top, .bs-tooltip-auto[x-placement^=\"top\"] {\n padding: 0.4rem 0;\n}\n\n.bs-tooltip-top .arrow, .bs-tooltip-auto[x-placement^=\"top\"] .arrow {\n bottom: 0;\n}\n\n.bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^=\"top\"] .arrow::before {\n top: 0;\n border-width: 0.4rem 0.4rem 0;\n border-top-color: #000;\n}\n\n.bs-tooltip-right, .bs-tooltip-auto[x-placement^=\"right\"] {\n padding: 0 0.4rem;\n}\n\n.bs-tooltip-right .arrow, .bs-tooltip-auto[x-placement^=\"right\"] .arrow {\n left: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n\n.bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^=\"right\"] .arrow::before {\n right: 0;\n border-width: 0.4rem 0.4rem 0.4rem 0;\n border-right-color: #000;\n}\n\n.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^=\"bottom\"] {\n padding: 0.4rem 0;\n}\n\n.bs-tooltip-bottom .arrow, .bs-tooltip-auto[x-placement^=\"bottom\"] .arrow {\n top: 0;\n}\n\n.bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^=\"bottom\"] .arrow::before {\n bottom: 0;\n border-width: 0 0.4rem 0.4rem;\n border-bottom-color: #000;\n}\n\n.bs-tooltip-left, .bs-tooltip-auto[x-placement^=\"left\"] {\n padding: 0 0.4rem;\n}\n\n.bs-tooltip-left .arrow, .bs-tooltip-auto[x-placement^=\"left\"] .arrow {\n right: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n\n.bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^=\"left\"] .arrow::before {\n left: 0;\n border-width: 0.4rem 0 0.4rem 0.4rem;\n border-left-color: #000;\n}\n\n.tooltip-inner {\n max-width: 200px;\n padding: 0.25rem 0.5rem;\n color: #fff;\n text-align: center;\n background-color: #000;\n border-radius: 0.25rem;\n}\n\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1060;\n display: block;\n max-width: 276px;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n}\n\n.popover .arrow {\n position: absolute;\n display: block;\n width: 1rem;\n height: 0.5rem;\n margin: 0 0.3rem;\n}\n\n.popover .arrow::before, .popover .arrow::after {\n position: absolute;\n display: block;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-popover-top, .bs-popover-auto[x-placement^=\"top\"] {\n margin-bottom: 0.5rem;\n}\n\n.bs-popover-top .arrow, .bs-popover-auto[x-placement^=\"top\"] .arrow {\n bottom: calc((0.5rem + 1px) * -1);\n}\n\n.bs-popover-top .arrow::before, .bs-popover-auto[x-placement^=\"top\"] .arrow::before,\n.bs-popover-top .arrow::after,\n.bs-popover-auto[x-placement^=\"top\"] .arrow::after {\n border-width: 0.5rem 0.5rem 0;\n}\n\n.bs-popover-top .arrow::before, .bs-popover-auto[x-placement^=\"top\"] .arrow::before {\n bottom: 0;\n border-top-color: rgba(0, 0, 0, 0.25);\n}\n\n\n.bs-popover-top .arrow::after,\n.bs-popover-auto[x-placement^=\"top\"] .arrow::after {\n bottom: 1px;\n border-top-color: #fff;\n}\n\n.bs-popover-right, .bs-popover-auto[x-placement^=\"right\"] {\n margin-left: 0.5rem;\n}\n\n.bs-popover-right .arrow, .bs-popover-auto[x-placement^=\"right\"] .arrow {\n left: calc((0.5rem + 1px) * -1);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n\n.bs-popover-right .arrow::before, .bs-popover-auto[x-placement^=\"right\"] .arrow::before,\n.bs-popover-right .arrow::after,\n.bs-popover-auto[x-placement^=\"right\"] .arrow::after {\n border-width: 0.5rem 0.5rem 0.5rem 0;\n}\n\n.bs-popover-right .arrow::before, .bs-popover-auto[x-placement^=\"right\"] .arrow::before {\n left: 0;\n border-right-color: rgba(0, 0, 0, 0.25);\n}\n\n\n.bs-popover-right .arrow::after,\n.bs-popover-auto[x-placement^=\"right\"] .arrow::after {\n left: 1px;\n border-right-color: #fff;\n}\n\n.bs-popover-bottom, .bs-popover-auto[x-placement^=\"bottom\"] {\n margin-top: 0.5rem;\n}\n\n.bs-popover-bottom .arrow, .bs-popover-auto[x-placement^=\"bottom\"] .arrow {\n top: calc((0.5rem + 1px) * -1);\n}\n\n.bs-popover-bottom .arrow::before, .bs-popover-auto[x-placement^=\"bottom\"] .arrow::before,\n.bs-popover-bottom .arrow::after,\n.bs-popover-auto[x-placement^=\"bottom\"] .arrow::after {\n border-width: 0 0.5rem 0.5rem 0.5rem;\n}\n\n.bs-popover-bottom .arrow::before, .bs-popover-auto[x-placement^=\"bottom\"] .arrow::before {\n top: 0;\n border-bottom-color: rgba(0, 0, 0, 0.25);\n}\n\n\n.bs-popover-bottom .arrow::after,\n.bs-popover-auto[x-placement^=\"bottom\"] .arrow::after {\n top: 1px;\n border-bottom-color: #fff;\n}\n\n.bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^=\"bottom\"] .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: 1rem;\n margin-left: -0.5rem;\n content: \"\";\n border-bottom: 1px solid #f7f7f7;\n}\n\n.bs-popover-left, .bs-popover-auto[x-placement^=\"left\"] {\n margin-right: 0.5rem;\n}\n\n.bs-popover-left .arrow, .bs-popover-auto[x-placement^=\"left\"] .arrow {\n right: calc((0.5rem + 1px) * -1);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n\n.bs-popover-left .arrow::before, .bs-popover-auto[x-placement^=\"left\"] .arrow::before,\n.bs-popover-left .arrow::after,\n.bs-popover-auto[x-placement^=\"left\"] .arrow::after {\n border-width: 0.5rem 0 0.5rem 0.5rem;\n}\n\n.bs-popover-left .arrow::before, .bs-popover-auto[x-placement^=\"left\"] .arrow::before {\n right: 0;\n border-left-color: rgba(0, 0, 0, 0.25);\n}\n\n\n.bs-popover-left .arrow::after,\n.bs-popover-auto[x-placement^=\"left\"] .arrow::after {\n right: 1px;\n border-left-color: #fff;\n}\n\n.popover-header {\n padding: 0.5rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n color: inherit;\n background-color: #f7f7f7;\n border-bottom: 1px solid #ebebeb;\n border-top-left-radius: calc(0.3rem - 1px);\n border-top-right-radius: calc(0.3rem - 1px);\n}\n\n.popover-header:empty {\n display: none;\n}\n\n.popover-body {\n padding: 0.5rem 0.75rem;\n color: #212529;\n}\n\n.carousel {\n position: relative;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n}\n\n.carousel-item {\n position: relative;\n display: none;\n align-items: center;\n width: 100%;\n backface-visibility: hidden;\n perspective: 1000px;\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: block;\n transition: transform 0.6s ease;\n}\n\n@media screen and (prefers-reduced-motion: reduce) {\n .carousel-item.active,\n .carousel-item-next,\n .carousel-item-prev {\n transition: none;\n }\n}\n\n.carousel-item-next,\n.carousel-item-prev {\n position: absolute;\n top: 0;\n}\n\n.carousel-item-next.carousel-item-left,\n.carousel-item-prev.carousel-item-right {\n transform: translateX(0);\n}\n\n@supports (transform-style: preserve-3d) {\n .carousel-item-next.carousel-item-left,\n .carousel-item-prev.carousel-item-right {\n transform: translate3d(0, 0, 0);\n }\n}\n\n.carousel-item-next,\n.active.carousel-item-right {\n transform: translateX(100%);\n}\n\n@supports (transform-style: preserve-3d) {\n .carousel-item-next,\n .active.carousel-item-right {\n transform: translate3d(100%, 0, 0);\n }\n}\n\n.carousel-item-prev,\n.active.carousel-item-left {\n transform: translateX(-100%);\n}\n\n@supports (transform-style: preserve-3d) {\n .carousel-item-prev,\n .active.carousel-item-left {\n transform: translate3d(-100%, 0, 0);\n }\n}\n\n.carousel-fade .carousel-item {\n opacity: 0;\n transition-duration: .6s;\n transition-property: opacity;\n}\n\n.carousel-fade .carousel-item.active,\n.carousel-fade .carousel-item-next.carousel-item-left,\n.carousel-fade .carousel-item-prev.carousel-item-right {\n opacity: 1;\n}\n\n.carousel-fade .active.carousel-item-left,\n.carousel-fade .active.carousel-item-right {\n opacity: 0;\n}\n\n.carousel-fade .carousel-item-next,\n.carousel-fade .carousel-item-prev,\n.carousel-fade .carousel-item.active,\n.carousel-fade .active.carousel-item-left,\n.carousel-fade .active.carousel-item-prev {\n transform: translateX(0);\n}\n\n@supports (transform-style: preserve-3d) {\n .carousel-fade .carousel-item-next,\n .carousel-fade .carousel-item-prev,\n .carousel-fade .carousel-item.active,\n .carousel-fade .active.carousel-item-left,\n .carousel-fade .active.carousel-item-prev {\n transform: translate3d(0, 0, 0);\n }\n}\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 15%;\n color: #fff;\n text-align: center;\n opacity: 0.5;\n}\n\n.carousel-control-prev:hover, .carousel-control-prev:focus,\n.carousel-control-next:hover,\n.carousel-control-next:focus {\n color: #fff;\n text-decoration: none;\n outline: 0;\n opacity: .9;\n}\n\n.carousel-control-prev {\n left: 0;\n}\n\n.carousel-control-next {\n right: 0;\n}\n\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: 20px;\n height: 20px;\n background: transparent no-repeat center center;\n background-size: 100% 100%;\n}\n\n.carousel-control-prev-icon {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E\");\n}\n\n.carousel-control-next-icon {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E\");\n}\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 10px;\n left: 0;\n z-index: 15;\n display: flex;\n justify-content: center;\n padding-left: 0;\n margin-right: 15%;\n margin-left: 15%;\n list-style: none;\n}\n\n.carousel-indicators li {\n position: relative;\n flex: 0 1 auto;\n width: 30px;\n height: 3px;\n margin-right: 3px;\n margin-left: 3px;\n text-indent: -999px;\n cursor: pointer;\n background-color: rgba(255, 255, 255, 0.5);\n}\n\n.carousel-indicators li::before {\n position: absolute;\n top: -10px;\n left: 0;\n display: inline-block;\n width: 100%;\n height: 10px;\n content: \"\";\n}\n\n.carousel-indicators li::after {\n position: absolute;\n bottom: -10px;\n left: 0;\n display: inline-block;\n width: 100%;\n height: 10px;\n content: \"\";\n}\n\n.carousel-indicators .active {\n background-color: #fff;\n}\n\n.carousel-caption {\n position: absolute;\n right: 15%;\n bottom: 20px;\n left: 15%;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: #fff;\n text-align: center;\n}\n\n.align-baseline {\n vertical-align: baseline !important;\n}\n\n.align-top {\n vertical-align: top !important;\n}\n\n.align-middle {\n vertical-align: middle !important;\n}\n\n.align-bottom {\n vertical-align: bottom !important;\n}\n\n.align-text-bottom {\n vertical-align: text-bottom !important;\n}\n\n.align-text-top {\n vertical-align: text-top !important;\n}\n\n.bg-primary {\n background-color: #007bff !important;\n}\n\na.bg-primary:hover, a.bg-primary:focus,\nbutton.bg-primary:hover,\nbutton.bg-primary:focus {\n background-color: #0062cc !important;\n}\n\n.bg-secondary {\n background-color: #6c757d !important;\n}\n\na.bg-secondary:hover, a.bg-secondary:focus,\nbutton.bg-secondary:hover,\nbutton.bg-secondary:focus {\n background-color: #545b62 !important;\n}\n\n.bg-success {\n background-color: #28a745 !important;\n}\n\na.bg-success:hover, a.bg-success:focus,\nbutton.bg-success:hover,\nbutton.bg-success:focus {\n background-color: #1e7e34 !important;\n}\n\n.bg-info {\n background-color: #17a2b8 !important;\n}\n\na.bg-info:hover, a.bg-info:focus,\nbutton.bg-info:hover,\nbutton.bg-info:focus {\n background-color: #117a8b !important;\n}\n\n.bg-warning {\n background-color: #ffc107 !important;\n}\n\na.bg-warning:hover, a.bg-warning:focus,\nbutton.bg-warning:hover,\nbutton.bg-warning:focus {\n background-color: #d39e00 !important;\n}\n\n.bg-danger {\n background-color: #dc3545 !important;\n}\n\na.bg-danger:hover, a.bg-danger:focus,\nbutton.bg-danger:hover,\nbutton.bg-danger:focus {\n background-color: #bd2130 !important;\n}\n\n.bg-light {\n background-color: #f8f9fa !important;\n}\n\na.bg-light:hover, a.bg-light:focus,\nbutton.bg-light:hover,\nbutton.bg-light:focus {\n background-color: #dae0e5 !important;\n}\n\n.bg-dark {\n background-color: #343a40 !important;\n}\n\na.bg-dark:hover, a.bg-dark:focus,\nbutton.bg-dark:hover,\nbutton.bg-dark:focus {\n background-color: #1d2124 !important;\n}\n\n.bg-white {\n background-color: #fff !important;\n}\n\n.bg-transparent {\n background-color: transparent !important;\n}\n\n.border {\n border: 1px solid #dee2e6 !important;\n}\n\n.border-top {\n border-top: 1px solid #dee2e6 !important;\n}\n\n.border-right {\n border-right: 1px solid #dee2e6 !important;\n}\n\n.border-bottom {\n border-bottom: 1px solid #dee2e6 !important;\n}\n\n.border-left {\n border-left: 1px solid #dee2e6 !important;\n}\n\n.border-0 {\n border: 0 !important;\n}\n\n.border-top-0 {\n border-top: 0 !important;\n}\n\n.border-right-0 {\n border-right: 0 !important;\n}\n\n.border-bottom-0 {\n border-bottom: 0 !important;\n}\n\n.border-left-0 {\n border-left: 0 !important;\n}\n\n.border-primary {\n border-color: #007bff !important;\n}\n\n.border-secondary {\n border-color: #6c757d !important;\n}\n\n.border-success {\n border-color: #28a745 !important;\n}\n\n.border-info {\n border-color: #17a2b8 !important;\n}\n\n.border-warning {\n border-color: #ffc107 !important;\n}\n\n.border-danger {\n border-color: #dc3545 !important;\n}\n\n.border-light {\n border-color: #f8f9fa !important;\n}\n\n.border-dark {\n border-color: #343a40 !important;\n}\n\n.border-white {\n border-color: #fff !important;\n}\n\n.rounded {\n border-radius: 0.25rem !important;\n}\n\n.rounded-top {\n border-top-left-radius: 0.25rem !important;\n border-top-right-radius: 0.25rem !important;\n}\n\n.rounded-right {\n border-top-right-radius: 0.25rem !important;\n border-bottom-right-radius: 0.25rem !important;\n}\n\n.rounded-bottom {\n border-bottom-right-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-left {\n border-top-left-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-circle {\n border-radius: 50% !important;\n}\n\n.rounded-0 {\n border-radius: 0 !important;\n}\n\n.clearfix::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.d-none {\n display: none !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-none {\n display: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 768px) {\n .d-md-none {\n display: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 992px) {\n .d-lg-none {\n display: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 1200px) {\n .d-xl-none {\n display: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media print {\n .d-print-none {\n display: none !important;\n }\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: flex !important;\n }\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n}\n\n.embed-responsive {\n position: relative;\n display: block;\n width: 100%;\n padding: 0;\n overflow: hidden;\n}\n\n.embed-responsive::before {\n display: block;\n content: \"\";\n}\n\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n}\n\n.embed-responsive-21by9::before {\n padding-top: 42.857143%;\n}\n\n.embed-responsive-16by9::before {\n padding-top: 56.25%;\n}\n\n.embed-responsive-4by3::before {\n padding-top: 75%;\n}\n\n.embed-responsive-1by1::before {\n padding-top: 100%;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n flex-shrink: 1 !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n@media (min-width: 576px) {\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 768px) {\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 992px) {\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 1200px) {\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n}\n\n.float-left {\n float: left !important;\n}\n\n.float-right {\n float: right !important;\n}\n\n.float-none {\n float: none !important;\n}\n\n@media (min-width: 576px) {\n .float-sm-left {\n float: left !important;\n }\n .float-sm-right {\n float: right !important;\n }\n .float-sm-none {\n float: none !important;\n }\n}\n\n@media (min-width: 768px) {\n .float-md-left {\n float: left !important;\n }\n .float-md-right {\n float: right !important;\n }\n .float-md-none {\n float: none !important;\n }\n}\n\n@media (min-width: 992px) {\n .float-lg-left {\n float: left !important;\n }\n .float-lg-right {\n float: right !important;\n }\n .float-lg-none {\n float: none !important;\n }\n}\n\n@media (min-width: 1200px) {\n .float-xl-left {\n float: left !important;\n }\n .float-xl-right {\n float: right !important;\n }\n .float-xl-none {\n float: none !important;\n }\n}\n\n.position-static {\n position: static !important;\n}\n\n.position-relative {\n position: relative !important;\n}\n\n.position-absolute {\n position: absolute !important;\n}\n\n.position-fixed {\n position: fixed !important;\n}\n\n.position-sticky {\n position: sticky !important;\n}\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1030;\n}\n\n@supports (position: sticky) {\n .sticky-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n}\n\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n}\n\n.sr-only-focusable:active, .sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n overflow: visible;\n clip: auto;\n white-space: normal;\n}\n\n.shadow-sm {\n box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;\n}\n\n.shadow {\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;\n}\n\n.shadow-lg {\n box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;\n}\n\n.shadow-none {\n box-shadow: none !important;\n}\n\n.w-25 {\n width: 25% !important;\n}\n\n.w-50 {\n width: 50% !important;\n}\n\n.w-75 {\n width: 75% !important;\n}\n\n.w-100 {\n width: 100% !important;\n}\n\n.w-auto {\n width: auto !important;\n}\n\n.h-25 {\n height: 25% !important;\n}\n\n.h-50 {\n height: 50% !important;\n}\n\n.h-75 {\n height: 75% !important;\n}\n\n.h-100 {\n height: 100% !important;\n}\n\n.h-auto {\n height: auto !important;\n}\n\n.mw-100 {\n max-width: 100% !important;\n}\n\n.mh-100 {\n max-height: 100% !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.mt-0,\n.my-0 {\n margin-top: 0 !important;\n}\n\n.mr-0,\n.mx-0 {\n margin-right: 0 !important;\n}\n\n.mb-0,\n.my-0 {\n margin-bottom: 0 !important;\n}\n\n.ml-0,\n.mx-0 {\n margin-left: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.mt-1,\n.my-1 {\n margin-top: 0.25rem !important;\n}\n\n.mr-1,\n.mx-1 {\n margin-right: 0.25rem !important;\n}\n\n.mb-1,\n.my-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.ml-1,\n.mx-1 {\n margin-left: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.mt-2,\n.my-2 {\n margin-top: 0.5rem !important;\n}\n\n.mr-2,\n.mx-2 {\n margin-right: 0.5rem !important;\n}\n\n.mb-2,\n.my-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.ml-2,\n.mx-2 {\n margin-left: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.mt-3,\n.my-3 {\n margin-top: 1rem !important;\n}\n\n.mr-3,\n.mx-3 {\n margin-right: 1rem !important;\n}\n\n.mb-3,\n.my-3 {\n margin-bottom: 1rem !important;\n}\n\n.ml-3,\n.mx-3 {\n margin-left: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.mt-4,\n.my-4 {\n margin-top: 1.5rem !important;\n}\n\n.mr-4,\n.mx-4 {\n margin-right: 1.5rem !important;\n}\n\n.mb-4,\n.my-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.ml-4,\n.mx-4 {\n margin-left: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.mt-5,\n.my-5 {\n margin-top: 3rem !important;\n}\n\n.mr-5,\n.mx-5 {\n margin-right: 3rem !important;\n}\n\n.mb-5,\n.my-5 {\n margin-bottom: 3rem !important;\n}\n\n.ml-5,\n.mx-5 {\n margin-left: 3rem !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.pt-0,\n.py-0 {\n padding-top: 0 !important;\n}\n\n.pr-0,\n.px-0 {\n padding-right: 0 !important;\n}\n\n.pb-0,\n.py-0 {\n padding-bottom: 0 !important;\n}\n\n.pl-0,\n.px-0 {\n padding-left: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.pt-1,\n.py-1 {\n padding-top: 0.25rem !important;\n}\n\n.pr-1,\n.px-1 {\n padding-right: 0.25rem !important;\n}\n\n.pb-1,\n.py-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pl-1,\n.px-1 {\n padding-left: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.pt-2,\n.py-2 {\n padding-top: 0.5rem !important;\n}\n\n.pr-2,\n.px-2 {\n padding-right: 0.5rem !important;\n}\n\n.pb-2,\n.py-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pl-2,\n.px-2 {\n padding-left: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.pt-3,\n.py-3 {\n padding-top: 1rem !important;\n}\n\n.pr-3,\n.px-3 {\n padding-right: 1rem !important;\n}\n\n.pb-3,\n.py-3 {\n padding-bottom: 1rem !important;\n}\n\n.pl-3,\n.px-3 {\n padding-left: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.pt-4,\n.py-4 {\n padding-top: 1.5rem !important;\n}\n\n.pr-4,\n.px-4 {\n padding-right: 1.5rem !important;\n}\n\n.pb-4,\n.py-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pl-4,\n.px-4 {\n padding-left: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.pt-5,\n.py-5 {\n padding-top: 3rem !important;\n}\n\n.pr-5,\n.px-5 {\n padding-right: 3rem !important;\n}\n\n.pb-5,\n.py-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-5,\n.px-5 {\n padding-left: 3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mt-auto,\n.my-auto {\n margin-top: auto !important;\n}\n\n.mr-auto,\n.mx-auto {\n margin-right: auto !important;\n}\n\n.mb-auto,\n.my-auto {\n margin-bottom: auto !important;\n}\n\n.ml-auto,\n.mx-auto {\n margin-left: auto !important;\n}\n\n@media (min-width: 576px) {\n .m-sm-0 {\n margin: 0 !important;\n }\n .mt-sm-0,\n .my-sm-0 {\n margin-top: 0 !important;\n }\n .mr-sm-0,\n .mx-sm-0 {\n margin-right: 0 !important;\n }\n .mb-sm-0,\n .my-sm-0 {\n margin-bottom: 0 !important;\n }\n .ml-sm-0,\n .mx-sm-0 {\n margin-left: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .mt-sm-1,\n .my-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mr-sm-1,\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n }\n .mb-sm-1,\n .my-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-sm-1,\n .mx-sm-1 {\n margin-left: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .mt-sm-2,\n .my-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mr-sm-2,\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n }\n .mb-sm-2,\n .my-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-sm-2,\n .mx-sm-2 {\n margin-left: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .mt-sm-3,\n .my-sm-3 {\n margin-top: 1rem !important;\n }\n .mr-sm-3,\n .mx-sm-3 {\n margin-right: 1rem !important;\n }\n .mb-sm-3,\n .my-sm-3 {\n margin-bottom: 1rem !important;\n }\n .ml-sm-3,\n .mx-sm-3 {\n margin-left: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .mt-sm-4,\n .my-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mr-sm-4,\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n }\n .mb-sm-4,\n .my-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-sm-4,\n .mx-sm-4 {\n margin-left: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .mt-sm-5,\n .my-sm-5 {\n margin-top: 3rem !important;\n }\n .mr-sm-5,\n .mx-sm-5 {\n margin-right: 3rem !important;\n }\n .mb-sm-5,\n .my-sm-5 {\n margin-bottom: 3rem !important;\n }\n .ml-sm-5,\n .mx-sm-5 {\n margin-left: 3rem !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .pt-sm-0,\n .py-sm-0 {\n padding-top: 0 !important;\n }\n .pr-sm-0,\n .px-sm-0 {\n padding-right: 0 !important;\n }\n .pb-sm-0,\n .py-sm-0 {\n padding-bottom: 0 !important;\n }\n .pl-sm-0,\n .px-sm-0 {\n padding-left: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .pt-sm-1,\n .py-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pr-sm-1,\n .px-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pb-sm-1,\n .py-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-sm-1,\n .px-sm-1 {\n padding-left: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .pt-sm-2,\n .py-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pr-sm-2,\n .px-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pb-sm-2,\n .py-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-sm-2,\n .px-sm-2 {\n padding-left: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .pt-sm-3,\n .py-sm-3 {\n padding-top: 1rem !important;\n }\n .pr-sm-3,\n .px-sm-3 {\n padding-right: 1rem !important;\n }\n .pb-sm-3,\n .py-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pl-sm-3,\n .px-sm-3 {\n padding-left: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .pt-sm-4,\n .py-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pr-sm-4,\n .px-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pb-sm-4,\n .py-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-sm-4,\n .px-sm-4 {\n padding-left: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .pt-sm-5,\n .py-sm-5 {\n padding-top: 3rem !important;\n }\n .pr-sm-5,\n .px-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-5,\n .py-sm-5 {\n padding-bottom: 3rem !important;\n }\n .pl-sm-5,\n .px-sm-5 {\n padding-left: 3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mt-sm-auto,\n .my-sm-auto {\n margin-top: auto !important;\n }\n .mr-sm-auto,\n .mx-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-auto,\n .my-sm-auto {\n margin-bottom: auto !important;\n }\n .ml-sm-auto,\n .mx-sm-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 768px) {\n .m-md-0 {\n margin: 0 !important;\n }\n .mt-md-0,\n .my-md-0 {\n margin-top: 0 !important;\n }\n .mr-md-0,\n .mx-md-0 {\n margin-right: 0 !important;\n }\n .mb-md-0,\n .my-md-0 {\n margin-bottom: 0 !important;\n }\n .ml-md-0,\n .mx-md-0 {\n margin-left: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .mt-md-1,\n .my-md-1 {\n margin-top: 0.25rem !important;\n }\n .mr-md-1,\n .mx-md-1 {\n margin-right: 0.25rem !important;\n }\n .mb-md-1,\n .my-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-md-1,\n .mx-md-1 {\n margin-left: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .mt-md-2,\n .my-md-2 {\n margin-top: 0.5rem !important;\n }\n .mr-md-2,\n .mx-md-2 {\n margin-right: 0.5rem !important;\n }\n .mb-md-2,\n .my-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-md-2,\n .mx-md-2 {\n margin-left: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .mt-md-3,\n .my-md-3 {\n margin-top: 1rem !important;\n }\n .mr-md-3,\n .mx-md-3 {\n margin-right: 1rem !important;\n }\n .mb-md-3,\n .my-md-3 {\n margin-bottom: 1rem !important;\n }\n .ml-md-3,\n .mx-md-3 {\n margin-left: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .mt-md-4,\n .my-md-4 {\n margin-top: 1.5rem !important;\n }\n .mr-md-4,\n .mx-md-4 {\n margin-right: 1.5rem !important;\n }\n .mb-md-4,\n .my-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-md-4,\n .mx-md-4 {\n margin-left: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .mt-md-5,\n .my-md-5 {\n margin-top: 3rem !important;\n }\n .mr-md-5,\n .mx-md-5 {\n margin-right: 3rem !important;\n }\n .mb-md-5,\n .my-md-5 {\n margin-bottom: 3rem !important;\n }\n .ml-md-5,\n .mx-md-5 {\n margin-left: 3rem !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .pt-md-0,\n .py-md-0 {\n padding-top: 0 !important;\n }\n .pr-md-0,\n .px-md-0 {\n padding-right: 0 !important;\n }\n .pb-md-0,\n .py-md-0 {\n padding-bottom: 0 !important;\n }\n .pl-md-0,\n .px-md-0 {\n padding-left: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .pt-md-1,\n .py-md-1 {\n padding-top: 0.25rem !important;\n }\n .pr-md-1,\n .px-md-1 {\n padding-right: 0.25rem !important;\n }\n .pb-md-1,\n .py-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-md-1,\n .px-md-1 {\n padding-left: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .pt-md-2,\n .py-md-2 {\n padding-top: 0.5rem !important;\n }\n .pr-md-2,\n .px-md-2 {\n padding-right: 0.5rem !important;\n }\n .pb-md-2,\n .py-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-md-2,\n .px-md-2 {\n padding-left: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .pt-md-3,\n .py-md-3 {\n padding-top: 1rem !important;\n }\n .pr-md-3,\n .px-md-3 {\n padding-right: 1rem !important;\n }\n .pb-md-3,\n .py-md-3 {\n padding-bottom: 1rem !important;\n }\n .pl-md-3,\n .px-md-3 {\n padding-left: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .pt-md-4,\n .py-md-4 {\n padding-top: 1.5rem !important;\n }\n .pr-md-4,\n .px-md-4 {\n padding-right: 1.5rem !important;\n }\n .pb-md-4,\n .py-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-md-4,\n .px-md-4 {\n padding-left: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .pt-md-5,\n .py-md-5 {\n padding-top: 3rem !important;\n }\n .pr-md-5,\n .px-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-5,\n .py-md-5 {\n padding-bottom: 3rem !important;\n }\n .pl-md-5,\n .px-md-5 {\n padding-left: 3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mt-md-auto,\n .my-md-auto {\n margin-top: auto !important;\n }\n .mr-md-auto,\n .mx-md-auto {\n margin-right: auto !important;\n }\n .mb-md-auto,\n .my-md-auto {\n margin-bottom: auto !important;\n }\n .ml-md-auto,\n .mx-md-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 992px) {\n .m-lg-0 {\n margin: 0 !important;\n }\n .mt-lg-0,\n .my-lg-0 {\n margin-top: 0 !important;\n }\n .mr-lg-0,\n .mx-lg-0 {\n margin-right: 0 !important;\n }\n .mb-lg-0,\n .my-lg-0 {\n margin-bottom: 0 !important;\n }\n .ml-lg-0,\n .mx-lg-0 {\n margin-left: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .mt-lg-1,\n .my-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mr-lg-1,\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n }\n .mb-lg-1,\n .my-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-lg-1,\n .mx-lg-1 {\n margin-left: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .mt-lg-2,\n .my-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mr-lg-2,\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n }\n .mb-lg-2,\n .my-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-lg-2,\n .mx-lg-2 {\n margin-left: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .mt-lg-3,\n .my-lg-3 {\n margin-top: 1rem !important;\n }\n .mr-lg-3,\n .mx-lg-3 {\n margin-right: 1rem !important;\n }\n .mb-lg-3,\n .my-lg-3 {\n margin-bottom: 1rem !important;\n }\n .ml-lg-3,\n .mx-lg-3 {\n margin-left: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .mt-lg-4,\n .my-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mr-lg-4,\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n }\n .mb-lg-4,\n .my-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-lg-4,\n .mx-lg-4 {\n margin-left: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .mt-lg-5,\n .my-lg-5 {\n margin-top: 3rem !important;\n }\n .mr-lg-5,\n .mx-lg-5 {\n margin-right: 3rem !important;\n }\n .mb-lg-5,\n .my-lg-5 {\n margin-bottom: 3rem !important;\n }\n .ml-lg-5,\n .mx-lg-5 {\n margin-left: 3rem !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .pt-lg-0,\n .py-lg-0 {\n padding-top: 0 !important;\n }\n .pr-lg-0,\n .px-lg-0 {\n padding-right: 0 !important;\n }\n .pb-lg-0,\n .py-lg-0 {\n padding-bottom: 0 !important;\n }\n .pl-lg-0,\n .px-lg-0 {\n padding-left: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .pt-lg-1,\n .py-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pr-lg-1,\n .px-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pb-lg-1,\n .py-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-lg-1,\n .px-lg-1 {\n padding-left: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .pt-lg-2,\n .py-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pr-lg-2,\n .px-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pb-lg-2,\n .py-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-lg-2,\n .px-lg-2 {\n padding-left: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .pt-lg-3,\n .py-lg-3 {\n padding-top: 1rem !important;\n }\n .pr-lg-3,\n .px-lg-3 {\n padding-right: 1rem !important;\n }\n .pb-lg-3,\n .py-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pl-lg-3,\n .px-lg-3 {\n padding-left: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .pt-lg-4,\n .py-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pr-lg-4,\n .px-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pb-lg-4,\n .py-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-lg-4,\n .px-lg-4 {\n padding-left: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .pt-lg-5,\n .py-lg-5 {\n padding-top: 3rem !important;\n }\n .pr-lg-5,\n .px-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-5,\n .py-lg-5 {\n padding-bottom: 3rem !important;\n }\n .pl-lg-5,\n .px-lg-5 {\n padding-left: 3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mt-lg-auto,\n .my-lg-auto {\n margin-top: auto !important;\n }\n .mr-lg-auto,\n .mx-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-auto,\n .my-lg-auto {\n margin-bottom: auto !important;\n }\n .ml-lg-auto,\n .mx-lg-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 1200px) {\n .m-xl-0 {\n margin: 0 !important;\n }\n .mt-xl-0,\n .my-xl-0 {\n margin-top: 0 !important;\n }\n .mr-xl-0,\n .mx-xl-0 {\n margin-right: 0 !important;\n }\n .mb-xl-0,\n .my-xl-0 {\n margin-bottom: 0 !important;\n }\n .ml-xl-0,\n .mx-xl-0 {\n margin-left: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .mt-xl-1,\n .my-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mr-xl-1,\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n }\n .mb-xl-1,\n .my-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-xl-1,\n .mx-xl-1 {\n margin-left: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .mt-xl-2,\n .my-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mr-xl-2,\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n }\n .mb-xl-2,\n .my-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-xl-2,\n .mx-xl-2 {\n margin-left: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .mt-xl-3,\n .my-xl-3 {\n margin-top: 1rem !important;\n }\n .mr-xl-3,\n .mx-xl-3 {\n margin-right: 1rem !important;\n }\n .mb-xl-3,\n .my-xl-3 {\n margin-bottom: 1rem !important;\n }\n .ml-xl-3,\n .mx-xl-3 {\n margin-left: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .mt-xl-4,\n .my-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mr-xl-4,\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n }\n .mb-xl-4,\n .my-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-xl-4,\n .mx-xl-4 {\n margin-left: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .mt-xl-5,\n .my-xl-5 {\n margin-top: 3rem !important;\n }\n .mr-xl-5,\n .mx-xl-5 {\n margin-right: 3rem !important;\n }\n .mb-xl-5,\n .my-xl-5 {\n margin-bottom: 3rem !important;\n }\n .ml-xl-5,\n .mx-xl-5 {\n margin-left: 3rem !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .pt-xl-0,\n .py-xl-0 {\n padding-top: 0 !important;\n }\n .pr-xl-0,\n .px-xl-0 {\n padding-right: 0 !important;\n }\n .pb-xl-0,\n .py-xl-0 {\n padding-bottom: 0 !important;\n }\n .pl-xl-0,\n .px-xl-0 {\n padding-left: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .pt-xl-1,\n .py-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pr-xl-1,\n .px-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pb-xl-1,\n .py-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-xl-1,\n .px-xl-1 {\n padding-left: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .pt-xl-2,\n .py-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pr-xl-2,\n .px-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pb-xl-2,\n .py-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-xl-2,\n .px-xl-2 {\n padding-left: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .pt-xl-3,\n .py-xl-3 {\n padding-top: 1rem !important;\n }\n .pr-xl-3,\n .px-xl-3 {\n padding-right: 1rem !important;\n }\n .pb-xl-3,\n .py-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pl-xl-3,\n .px-xl-3 {\n padding-left: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .pt-xl-4,\n .py-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pr-xl-4,\n .px-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pb-xl-4,\n .py-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-xl-4,\n .px-xl-4 {\n padding-left: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .pt-xl-5,\n .py-xl-5 {\n padding-top: 3rem !important;\n }\n .pr-xl-5,\n .px-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-5,\n .py-xl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xl-5,\n .px-xl-5 {\n padding-left: 3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mt-xl-auto,\n .my-xl-auto {\n margin-top: auto !important;\n }\n .mr-xl-auto,\n .mx-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-auto,\n .my-xl-auto {\n margin-bottom: auto !important;\n }\n .ml-xl-auto,\n .mx-xl-auto {\n margin-left: auto !important;\n }\n}\n\n.text-monospace {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n\n.text-justify {\n text-align: justify !important;\n}\n\n.text-nowrap {\n white-space: nowrap !important;\n}\n\n.text-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.text-left {\n text-align: left !important;\n}\n\n.text-right {\n text-align: right !important;\n}\n\n.text-center {\n text-align: center !important;\n}\n\n@media (min-width: 576px) {\n .text-sm-left {\n text-align: left !important;\n }\n .text-sm-right {\n text-align: right !important;\n }\n .text-sm-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 768px) {\n .text-md-left {\n text-align: left !important;\n }\n .text-md-right {\n text-align: right !important;\n }\n .text-md-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 992px) {\n .text-lg-left {\n text-align: left !important;\n }\n .text-lg-right {\n text-align: right !important;\n }\n .text-lg-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 1200px) {\n .text-xl-left {\n text-align: left !important;\n }\n .text-xl-right {\n text-align: right !important;\n }\n .text-xl-center {\n text-align: center !important;\n }\n}\n\n.text-lowercase {\n text-transform: lowercase !important;\n}\n\n.text-uppercase {\n text-transform: uppercase !important;\n}\n\n.text-capitalize {\n text-transform: capitalize !important;\n}\n\n.font-weight-light {\n font-weight: 300 !important;\n}\n\n.font-weight-normal {\n font-weight: 400 !important;\n}\n\n.font-weight-bold {\n font-weight: 700 !important;\n}\n\n.font-italic {\n font-style: italic !important;\n}\n\n.text-white {\n color: #fff !important;\n}\n\n.text-primary {\n color: #007bff !important;\n}\n\na.text-primary:hover, a.text-primary:focus {\n color: #0062cc !important;\n}\n\n.text-secondary {\n color: #6c757d !important;\n}\n\na.text-secondary:hover, a.text-secondary:focus {\n color: #545b62 !important;\n}\n\n.text-success {\n color: #28a745 !important;\n}\n\na.text-success:hover, a.text-success:focus {\n color: #1e7e34 !important;\n}\n\n.text-info {\n color: #17a2b8 !important;\n}\n\na.text-info:hover, a.text-info:focus {\n color: #117a8b !important;\n}\n\n.text-warning {\n color: #ffc107 !important;\n}\n\na.text-warning:hover, a.text-warning:focus {\n color: #d39e00 !important;\n}\n\n.text-danger {\n color: #dc3545 !important;\n}\n\na.text-danger:hover, a.text-danger:focus {\n color: #bd2130 !important;\n}\n\n.text-light {\n color: #f8f9fa !important;\n}\n\na.text-light:hover, a.text-light:focus {\n color: #dae0e5 !important;\n}\n\n.text-dark {\n color: #343a40 !important;\n}\n\na.text-dark:hover, a.text-dark:focus {\n color: #1d2124 !important;\n}\n\n.text-body {\n color: #212529 !important;\n}\n\n.text-muted {\n color: #6c757d !important;\n}\n\n.text-black-50 {\n color: rgba(0, 0, 0, 0.5) !important;\n}\n\n.text-white-50 {\n color: rgba(255, 255, 255, 0.5) !important;\n}\n\n.text-hide {\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n}\n\n.visible {\n visibility: visible !important;\n}\n\n.invisible {\n visibility: hidden !important;\n}\n\n@media print {\n *,\n *::before,\n *::after {\n text-shadow: none !important;\n box-shadow: none !important;\n }\n a:not(.btn) {\n text-decoration: underline;\n }\n abbr[title]::after {\n content: \" (\" attr(title) \")\";\n }\n pre {\n white-space: pre-wrap !important;\n }\n pre,\n blockquote {\n border: 1px solid #adb5bd;\n page-break-inside: avoid;\n }\n thead {\n display: table-header-group;\n }\n tr,\n img {\n page-break-inside: avoid;\n }\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n h2,\n h3 {\n page-break-after: avoid;\n }\n @page {\n size: a3;\n }\n body {\n min-width: 992px !important;\n }\n .container {\n min-width: 992px !important;\n }\n .navbar {\n display: none;\n }\n .badge {\n border: 1px solid #000;\n }\n .table {\n border-collapse: collapse !important;\n }\n .table td,\n .table th {\n background-color: #fff !important;\n }\n .table-bordered th,\n .table-bordered td {\n border: 1px solid #dee2e6 !important;\n }\n .table-dark {\n color: inherit;\n }\n .table-dark th,\n .table-dark td,\n .table-dark thead th,\n .table-dark tbody + tbody {\n border-color: #dee2e6;\n }\n .table .thead-dark th {\n color: inherit;\n border-color: #dee2e6;\n }\n}\n\n/*# sourceMappingURL=bootstrap.css.map */","// Hover mixin and `$enable-hover-media-query` are deprecated.\n//\n// Originally added during our alphas and maintained during betas, this mixin was\n// designed to prevent `:hover` stickiness on iOS-an issue where hover styles\n// would persist after initial touch.\n//\n// For backward compatibility, we've kept these mixins and updated them to\n// always return their regular pseudo-classes instead of a shimmed media query.\n//\n// Issue: https://github.com/twbs/bootstrap/issues/25195\n\n@mixin hover {\n &:hover { @content; }\n}\n\n@mixin hover-focus {\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin plain-hover-focus {\n &,\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin hover-focus-active {\n &:hover,\n &:focus,\n &:active {\n @content;\n }\n}\n","// stylelint-disable declaration-no-important, selector-list-comma-newline-after\n\n//\n// Headings\n//\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n margin-bottom: $headings-margin-bottom;\n font-family: $headings-font-family;\n font-weight: $headings-font-weight;\n line-height: $headings-line-height;\n color: $headings-color;\n}\n\nh1, .h1 { font-size: $h1-font-size; }\nh2, .h2 { font-size: $h2-font-size; }\nh3, .h3 { font-size: $h3-font-size; }\nh4, .h4 { font-size: $h4-font-size; }\nh5, .h5 { font-size: $h5-font-size; }\nh6, .h6 { font-size: $h6-font-size; }\n\n.lead {\n font-size: $lead-font-size;\n font-weight: $lead-font-weight;\n}\n\n// Type display classes\n.display-1 {\n font-size: $display1-size;\n font-weight: $display1-weight;\n line-height: $display-line-height;\n}\n.display-2 {\n font-size: $display2-size;\n font-weight: $display2-weight;\n line-height: $display-line-height;\n}\n.display-3 {\n font-size: $display3-size;\n font-weight: $display3-weight;\n line-height: $display-line-height;\n}\n.display-4 {\n font-size: $display4-size;\n font-weight: $display4-weight;\n line-height: $display-line-height;\n}\n\n\n//\n// Horizontal rules\n//\n\nhr {\n margin-top: $hr-margin-y;\n margin-bottom: $hr-margin-y;\n border: 0;\n border-top: $hr-border-width solid $hr-border-color;\n}\n\n\n//\n// Emphasis\n//\n\nsmall,\n.small {\n font-size: $small-font-size;\n font-weight: $font-weight-normal;\n}\n\nmark,\n.mark {\n padding: $mark-padding;\n background-color: $mark-bg;\n}\n\n\n//\n// Lists\n//\n\n.list-unstyled {\n @include list-unstyled;\n}\n\n// Inline turns list items into inline-block\n.list-inline {\n @include list-unstyled;\n}\n.list-inline-item {\n display: inline-block;\n\n &:not(:last-child) {\n margin-right: $list-inline-padding;\n }\n}\n\n\n//\n// Misc\n//\n\n// Builds on `abbr`\n.initialism {\n font-size: 90%;\n text-transform: uppercase;\n}\n\n// Blockquotes\n.blockquote {\n margin-bottom: $spacer;\n font-size: $blockquote-font-size;\n}\n\n.blockquote-footer {\n display: block;\n font-size: 80%; // back to default font-size\n color: $blockquote-small-color;\n\n &::before {\n content: \"\\2014 \\00A0\"; // em dash, nbsp\n }\n}\n","// Lists\n\n// Unstyled keeps list items block level, just removes default browser padding and list-style\n@mixin list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n","// Responsive images (ensure images don't scale beyond their parents)\n//\n// This is purposefully opt-in via an explicit class rather than being the default for all ``s.\n// We previously tried the \"images are responsive by default\" approach in Bootstrap v2,\n// and abandoned it in Bootstrap v3 because it breaks lots of third-party widgets (including Google Maps)\n// which weren't expecting the images within themselves to be involuntarily resized.\n// See also https://github.com/twbs/bootstrap/issues/18178\n.img-fluid {\n @include img-fluid;\n}\n\n\n// Image thumbnails\n.img-thumbnail {\n padding: $thumbnail-padding;\n background-color: $thumbnail-bg;\n border: $thumbnail-border-width solid $thumbnail-border-color;\n @include border-radius($thumbnail-border-radius);\n @include box-shadow($thumbnail-box-shadow);\n\n // Keep them at most 100% wide\n @include img-fluid;\n}\n\n//\n// Figures\n//\n\n.figure {\n // Ensures the caption's text aligns with the image.\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: ($spacer / 2);\n line-height: 1;\n}\n\n.figure-caption {\n font-size: $figure-caption-font-size;\n color: $figure-caption-color;\n}\n","// Image Mixins\n// - Responsive image\n// - Retina image\n\n\n// Responsive image\n//\n// Keep images from scaling beyond the width of their parents.\n\n@mixin img-fluid {\n // Part 1: Set a maximum relative to the parent\n max-width: 100%;\n // Part 2: Override the height to auto, otherwise images will be stretched\n // when setting a width and height attribute on the img element.\n height: auto;\n}\n\n\n// Retina image\n//\n// Short retina mixin for setting background-image and -size.\n\n// stylelint-disable indentation, media-query-list-comma-newline-after\n@mixin img-retina($file-1x, $file-2x, $width-1x, $height-1x) {\n background-image: url($file-1x);\n\n // Autoprefixer takes care of adding -webkit-min-device-pixel-ratio and -o-min-device-pixel-ratio,\n // but doesn't convert dppx=>dpi.\n // There's no such thing as unprefixed min-device-pixel-ratio since it's nonstandard.\n // Compatibility info: https://caniuse.com/#feat=css-media-resolution\n @media only screen and (min-resolution: 192dpi), // IE9-11 don't support dppx\n only screen and (min-resolution: 2dppx) { // Standardized\n background-image: url($file-2x);\n background-size: $width-1x $height-1x;\n }\n}\n","// Single side border-radius\n\n@mixin border-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-radius: $radius;\n }\n}\n\n@mixin border-top-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: $radius;\n border-top-right-radius: $radius;\n }\n}\n\n@mixin border-right-radius($radius) {\n @if $enable-rounded {\n border-top-right-radius: $radius;\n border-bottom-right-radius: $radius;\n }\n}\n\n@mixin border-bottom-radius($radius) {\n @if $enable-rounded {\n border-bottom-right-radius: $radius;\n border-bottom-left-radius: $radius;\n }\n}\n\n@mixin border-left-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: $radius;\n border-bottom-left-radius: $radius;\n }\n}\n","// Inline code\ncode {\n font-size: $code-font-size;\n color: $code-color;\n word-break: break-word;\n\n // Streamline the style when inside anchors to avoid broken underline and more\n a > & {\n color: inherit;\n }\n}\n\n// User input typically entered via keyboard\nkbd {\n padding: $kbd-padding-y $kbd-padding-x;\n font-size: $kbd-font-size;\n color: $kbd-color;\n background-color: $kbd-bg;\n @include border-radius($border-radius-sm);\n @include box-shadow($kbd-box-shadow);\n\n kbd {\n padding: 0;\n font-size: 100%;\n font-weight: $nested-kbd-font-weight;\n @include box-shadow(none);\n }\n}\n\n// Blocks of code\npre {\n display: block;\n font-size: $code-font-size;\n color: $pre-color;\n\n // Account for some code outputs that place code tags in pre tags\n code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n }\n}\n\n// Enable scrollable blocks of code\n.pre-scrollable {\n max-height: $pre-scrollable-max-height;\n overflow-y: scroll;\n}\n","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n .container {\n @include make-container();\n @include make-container-max-widths();\n }\n}\n\n// Fluid container\n//\n// Utilizes the mixin meant for fixed width containers, but with 100% width for\n// fluid, full width layouts.\n\n@if $enable-grid-classes {\n .container-fluid {\n @include make-container();\n }\n}\n\n// Row\n//\n// Rows contain and clear the floats of your columns.\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n }\n\n // Remove the negative margin from default .row, then the horizontal padding\n // from all immediate children columns (to prevent runaway style inheritance).\n .no-gutters {\n margin-right: 0;\n margin-left: 0;\n\n > .col,\n > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n }\n }\n}\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-container() {\n width: 100%;\n padding-right: ($grid-gutter-width / 2);\n padding-left: ($grid-gutter-width / 2);\n margin-right: auto;\n margin-left: auto;\n}\n\n\n// For each breakpoint, define the maximum width of the container in a media query\n@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {\n @each $breakpoint, $container-max-width in $max-widths {\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n max-width: $container-max-width;\n }\n }\n}\n\n@mixin make-row() {\n display: flex;\n flex-wrap: wrap;\n margin-right: ($grid-gutter-width / -2);\n margin-left: ($grid-gutter-width / -2);\n}\n\n@mixin make-col-ready() {\n position: relative;\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we use `flex` values\n // later on to override this initial width.\n width: 100%;\n min-height: 1px; // Prevent collapsing\n padding-right: ($grid-gutter-width / 2);\n padding-left: ($grid-gutter-width / 2);\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n flex: 0 0 percentage($size / $columns);\n // Add a `max-width` to ensure content within each column does not blow out\n // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari\n // do not appear to require this.\n max-width: percentage($size / $columns);\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: $size / $columns;\n margin-left: if($num == 0, 0, percentage($num));\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.02px\n// to work around the limitations of `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - .02px, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $max: breakpoint-max($name, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($name, $breakpoints) {\n @content;\n }\n }\n}\n","// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n // Common properties for all breakpoints\n %grid-column {\n position: relative;\n width: 100%;\n min-height: 1px; // Prevent columns from collapsing when empty\n padding-right: ($gutter / 2);\n padding-left: ($gutter / 2);\n }\n\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n // Allow columns to stretch full width below their breakpoints\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @extend %grid-column;\n }\n }\n .col#{$infix},\n .col#{$infix}-auto {\n @extend %grid-column;\n }\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col#{$infix}-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none; // Reset earlier grid tiers\n }\n\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n\n .order#{$infix}-first { order: -1; }\n\n .order#{$infix}-last { order: $columns + 1; }\n\n @for $i from 0 through $columns {\n .order#{$infix}-#{$i} { order: $i; }\n }\n\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n }\n}\n","//\n// Basic Bootstrap table\n//\n\n.table {\n width: 100%;\n margin-bottom: $spacer;\n background-color: $table-bg; // Reset for nesting within parents with `background-color`.\n\n th,\n td {\n padding: $table-cell-padding;\n vertical-align: top;\n border-top: $table-border-width solid $table-border-color;\n }\n\n thead th {\n vertical-align: bottom;\n border-bottom: (2 * $table-border-width) solid $table-border-color;\n }\n\n tbody + tbody {\n border-top: (2 * $table-border-width) solid $table-border-color;\n }\n\n .table {\n background-color: $body-bg;\n }\n}\n\n\n//\n// Condensed table w/ half padding\n//\n\n.table-sm {\n th,\n td {\n padding: $table-cell-padding-sm;\n }\n}\n\n\n// Border versions\n//\n// Add or remove borders all around the table and between all the columns.\n\n.table-bordered {\n border: $table-border-width solid $table-border-color;\n\n th,\n td {\n border: $table-border-width solid $table-border-color;\n }\n\n thead {\n th,\n td {\n border-bottom-width: (2 * $table-border-width);\n }\n }\n}\n\n.table-borderless {\n th,\n td,\n thead th,\n tbody + tbody {\n border: 0;\n }\n}\n\n// Zebra-striping\n//\n// Default zebra-stripe styles (alternating gray and transparent backgrounds)\n\n.table-striped {\n tbody tr:nth-of-type(#{$table-striped-order}) {\n background-color: $table-accent-bg;\n }\n}\n\n\n// Hover effect\n//\n// Placed here since it has to come after the potential zebra striping\n\n.table-hover {\n tbody tr {\n @include hover {\n background-color: $table-hover-bg;\n }\n }\n}\n\n\n// Table backgrounds\n//\n// Exact selectors below required to override `.table-striped` and prevent\n// inheritance to nested tables.\n\n@each $color, $value in $theme-colors {\n @include table-row-variant($color, theme-color-level($color, -9));\n}\n\n@include table-row-variant(active, $table-active-bg);\n\n\n// Dark styles\n//\n// Same table markup, but inverted color scheme: dark background and light text.\n\n// stylelint-disable-next-line no-duplicate-selectors\n.table {\n .thead-dark {\n th {\n color: $table-dark-color;\n background-color: $table-dark-bg;\n border-color: $table-dark-border-color;\n }\n }\n\n .thead-light {\n th {\n color: $table-head-color;\n background-color: $table-head-bg;\n border-color: $table-border-color;\n }\n }\n}\n\n.table-dark {\n color: $table-dark-color;\n background-color: $table-dark-bg;\n\n th,\n td,\n thead th {\n border-color: $table-dark-border-color;\n }\n\n &.table-bordered {\n border: 0;\n }\n\n &.table-striped {\n tbody tr:nth-of-type(odd) {\n background-color: $table-dark-accent-bg;\n }\n }\n\n &.table-hover {\n tbody tr {\n @include hover {\n background-color: $table-dark-hover-bg;\n }\n }\n }\n}\n\n\n// Responsive tables\n//\n// Generate series of `.table-responsive-*` classes for configuring the screen\n// size of where your table will overflow.\n\n.table-responsive {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $next: breakpoint-next($breakpoint, $grid-breakpoints);\n $infix: breakpoint-infix($next, $grid-breakpoints);\n\n &#{$infix} {\n @include media-breakpoint-down($breakpoint) {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n -ms-overflow-style: -ms-autohiding-scrollbar; // See https://github.com/twbs/bootstrap/pull/10057\n\n // Prevent double border on horizontal scroll due to use of `display: block;`\n > .table-bordered {\n border: 0;\n }\n }\n }\n }\n}\n","// Tables\n\n@mixin table-row-variant($state, $background) {\n // Exact selectors below required to override `.table-striped` and prevent\n // inheritance to nested tables.\n .table-#{$state} {\n &,\n > th,\n > td {\n background-color: $background;\n }\n }\n\n // Hover states for `.table-hover`\n // Note: this is not available for cells or rows within `thead` or `tfoot`.\n .table-hover {\n $hover-background: darken($background, 5%);\n\n .table-#{$state} {\n @include hover {\n background-color: $hover-background;\n\n > td,\n > th {\n background-color: $hover-background;\n }\n }\n }\n }\n}\n","// Bootstrap functions\n//\n// Utility mixins and functions for evaluating source code across our variables, maps, and mixins.\n\n// Ascending\n// Used to evaluate Sass maps like our grid breakpoints.\n@mixin _assert-ascending($map, $map-name) {\n $prev-key: null;\n $prev-num: null;\n @each $key, $num in $map {\n @if $prev-num == null {\n // Do nothing\n } @else if not comparable($prev-num, $num) {\n @warn \"Potentially invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} whose unit makes it incomparable to #{$prev-num}, the value of the previous key '#{$prev-key}' !\";\n } @else if $prev-num >= $num {\n @warn \"Invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} which isn't greater than #{$prev-num}, the value of the previous key '#{$prev-key}' !\";\n }\n $prev-key: $key;\n $prev-num: $num;\n }\n}\n\n// Starts at zero\n// Another grid mixin that ensures the min-width of the lowest breakpoint starts at 0.\n@mixin _assert-starts-at-zero($map) {\n $values: map-values($map);\n $first-value: nth($values, 1);\n @if $first-value != 0 {\n @warn \"First breakpoint in `$grid-breakpoints` must start at 0, but starts at #{$first-value}.\";\n }\n}\n\n// Replace `$search` with `$replace` in `$string`\n// Used on our SVG icon backgrounds for custom forms.\n//\n// @author Hugo Giraudel\n// @param {String} $string - Initial string\n// @param {String} $search - Substring to replace\n// @param {String} $replace ('') - New value\n// @return {String} - Updated string\n@function str-replace($string, $search, $replace: \"\") {\n $index: str-index($string, $search);\n\n @if $index {\n @return str-slice($string, 1, $index - 1) + $replace + str-replace(str-slice($string, $index + str-length($search)), $search, $replace);\n }\n\n @return $string;\n}\n\n// Color contrast\n@function color-yiq($color) {\n $r: red($color);\n $g: green($color);\n $b: blue($color);\n\n $yiq: (($r * 299) + ($g * 587) + ($b * 114)) / 1000;\n\n @if ($yiq >= $yiq-contrasted-threshold) {\n @return $yiq-text-dark;\n } @else {\n @return $yiq-text-light;\n }\n}\n\n// Retrieve color Sass maps\n@function color($key: \"blue\") {\n @return map-get($colors, $key);\n}\n\n@function theme-color($key: \"primary\") {\n @return map-get($theme-colors, $key);\n}\n\n@function gray($key: \"100\") {\n @return map-get($grays, $key);\n}\n\n// Request a theme color level\n@function theme-color-level($color-name: \"primary\", $level: 0) {\n $color: theme-color($color-name);\n $color-base: if($level > 0, $black, $white);\n $level: abs($level);\n\n @return mix($color-base, $color, $level * $theme-color-interval);\n}\n","// stylelint-disable selector-no-qualifying-type\n\n//\n// Textual form controls\n//\n\n.form-control {\n display: block;\n width: 100%;\n height: $input-height;\n padding: $input-padding-y $input-padding-x;\n font-size: $font-size-base;\n line-height: $input-line-height;\n color: $input-color;\n background-color: $input-bg;\n background-clip: padding-box;\n border: $input-border-width solid $input-border-color;\n\n // Note: This has no effect on `s in CSS.\n @if $enable-rounded {\n // Manually use the if/else instead of the mixin to account for iOS override\n border-radius: $input-border-radius;\n } @else {\n // Otherwise undo the iOS default\n border-radius: 0;\n }\n\n @include box-shadow($input-box-shadow);\n @include transition($input-transition);\n\n // Unstyle the caret on ` receives focus\n // in IE and (under certain conditions) Edge, as it looks bad and cannot be made to\n // match the appearance of the native widget.\n // See https://github.com/twbs/bootstrap/issues/19398.\n color: $input-color;\n background-color: $input-bg;\n }\n}\n\n// Make file inputs better match text inputs by forcing them to new lines.\n.form-control-file,\n.form-control-range {\n display: block;\n width: 100%;\n}\n\n\n//\n// Labels\n//\n\n// For use with horizontal and inline forms, when you need the label (or legend)\n// text to align with the form controls.\n.col-form-label {\n padding-top: calc(#{$input-padding-y} + #{$input-border-width});\n padding-bottom: calc(#{$input-padding-y} + #{$input-border-width});\n margin-bottom: 0; // Override the `
',trigger:"hover focus",title:"",delay:0,html:!(Ie={AUTO:"auto",TOP:"top",RIGHT:"right",BOTTOM:"bottom",LEFT:"left"}),selector:!(Se={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"(number|string)",container:"(string|element|boolean)",fallbackPlacement:"(string|array)",boundary:"(string|element)"}),placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent"},we="out",Ne={HIDE:"hide"+Ee,HIDDEN:"hidden"+Ee,SHOW:(De="show")+Ee,SHOWN:"shown"+Ee,INSERTED:"inserted"+Ee,CLICK:"click"+Ee,FOCUSIN:"focusin"+Ee,FOCUSOUT:"focusout"+Ee,MOUSEENTER:"mouseenter"+Ee,MOUSELEAVE:"mouseleave"+Ee},Oe="fade",ke="show",Pe=".tooltip-inner",je=".arrow",He="hover",Le="focus",Re="click",xe="manual",We=function(){function i(t,e){if("undefined"==typeof h)throw new TypeError("Bootstrap tooltips require Popper.js (https://popper.js.org)");this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.element=t,this.config=this._getConfig(e),this.tip=null,this._setListeners()}var t=i.prototype;return t.enable=function(){this._isEnabled=!0},t.disable=function(){this._isEnabled=!1},t.toggleEnabled=function(){this._isEnabled=!this._isEnabled},t.toggle=function(t){if(this._isEnabled)if(t){var e=this.constructor.DATA_KEY,n=pe(t.currentTarget).data(e);n||(n=new this.constructor(t.currentTarget,this._getDelegateConfig()),pe(t.currentTarget).data(e,n)),n._activeTrigger.click=!n._activeTrigger.click,n._isWithActiveTrigger()?n._enter(null,n):n._leave(null,n)}else{if(pe(this.getTipElement()).hasClass(ke))return void this._leave(null,this);this._enter(null,this)}},t.dispose=function(){clearTimeout(this._timeout),pe.removeData(this.element,this.constructor.DATA_KEY),pe(this.element).off(this.constructor.EVENT_KEY),pe(this.element).closest(".modal").off("hide.bs.modal"),this.tip&&pe(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,(this._activeTrigger=null)!==this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},t.show=function(){var e=this;if("none"===pe(this.element).css("display"))throw new Error("Please use show on visible elements");var t=pe.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){pe(this.element).trigger(t);var n=pe.contains(this.element.ownerDocument.documentElement,this.element);if(t.isDefaultPrevented()||!n)return;var i=this.getTipElement(),r=Fn.getUID(this.constructor.NAME);i.setAttribute("id",r),this.element.setAttribute("aria-describedby",r),this.setContent(),this.config.animation&&pe(i).addClass(Oe);var o="function"==typeof this.config.placement?this.config.placement.call(this,i,this.element):this.config.placement,s=this._getAttachment(o);this.addAttachmentClass(s);var a=!1===this.config.container?document.body:pe(document).find(this.config.container);pe(i).data(this.constructor.DATA_KEY,this),pe.contains(this.element.ownerDocument.documentElement,this.tip)||pe(i).appendTo(a),pe(this.element).trigger(this.constructor.Event.INSERTED),this._popper=new h(this.element,i,{placement:s,modifiers:{offset:{offset:this.config.offset},flip:{behavior:this.config.fallbackPlacement},arrow:{element:je},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(t){t.originalPlacement!==t.placement&&e._handlePopperPlacementChange(t)},onUpdate:function(t){e._handlePopperPlacementChange(t)}}),pe(i).addClass(ke),"ontouchstart"in document.documentElement&&pe(document.body).children().on("mouseover",null,pe.noop);var l=function(){e.config.animation&&e._fixTransition();var t=e._hoverState;e._hoverState=null,pe(e.element).trigger(e.constructor.Event.SHOWN),t===we&&e._leave(null,e)};if(pe(this.tip).hasClass(Oe)){var c=Fn.getTransitionDurationFromElement(this.tip);pe(this.tip).one(Fn.TRANSITION_END,l).emulateTransitionEnd(c)}else l()}},t.hide=function(t){var e=this,n=this.getTipElement(),i=pe.Event(this.constructor.Event.HIDE),r=function(){e._hoverState!==De&&n.parentNode&&n.parentNode.removeChild(n),e._cleanTipClass(),e.element.removeAttribute("aria-describedby"),pe(e.element).trigger(e.constructor.Event.HIDDEN),null!==e._popper&&e._popper.destroy(),t&&t()};if(pe(this.element).trigger(i),!i.isDefaultPrevented()){if(pe(n).removeClass(ke),"ontouchstart"in document.documentElement&&pe(document.body).children().off("mouseover",null,pe.noop),this._activeTrigger[Re]=!1,this._activeTrigger[Le]=!1,this._activeTrigger[He]=!1,pe(this.tip).hasClass(Oe)){var o=Fn.getTransitionDurationFromElement(n);pe(n).one(Fn.TRANSITION_END,r).emulateTransitionEnd(o)}else r();this._hoverState=""}},t.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},t.isWithContent=function(){return Boolean(this.getTitle())},t.addAttachmentClass=function(t){pe(this.getTipElement()).addClass(Te+"-"+t)},t.getTipElement=function(){return this.tip=this.tip||pe(this.config.template)[0],this.tip},t.setContent=function(){var t=this.getTipElement();this.setElementContent(pe(t.querySelectorAll(Pe)),this.getTitle()),pe(t).removeClass(Oe+" "+ke)},t.setElementContent=function(t,e){var n=this.config.html;"object"==typeof e&&(e.nodeType||e.jquery)?n?pe(e).parent().is(t)||t.empty().append(e):t.text(pe(e).text()):t[n?"html":"text"](e)},t.getTitle=function(){var t=this.element.getAttribute("data-original-title");return t||(t="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),t},t._getAttachment=function(t){return Ie[t.toUpperCase()]},t._setListeners=function(){var i=this;this.config.trigger.split(" ").forEach(function(t){if("click"===t)pe(i.element).on(i.constructor.Event.CLICK,i.config.selector,function(t){return i.toggle(t)});else if(t!==xe){var e=t===He?i.constructor.Event.MOUSEENTER:i.constructor.Event.FOCUSIN,n=t===He?i.constructor.Event.MOUSELEAVE:i.constructor.Event.FOCUSOUT;pe(i.element).on(e,i.config.selector,function(t){return i._enter(t)}).on(n,i.config.selector,function(t){return i._leave(t)})}pe(i.element).closest(".modal").on("hide.bs.modal",function(){return i.hide()})}),this.config.selector?this.config=l({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},t._fixTitle=function(){var t=typeof this.element.getAttribute("data-original-title");(this.element.getAttribute("title")||"string"!==t)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},t._enter=function(t,e){var n=this.constructor.DATA_KEY;(e=e||pe(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),pe(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusin"===t.type?Le:He]=!0),pe(e.getTipElement()).hasClass(ke)||e._hoverState===De?e._hoverState=De:(clearTimeout(e._timeout),e._hoverState=De,e.config.delay&&e.config.delay.show?e._timeout=setTimeout(function(){e._hoverState===De&&e.show()},e.config.delay.show):e.show())},t._leave=function(t,e){var n=this.constructor.DATA_KEY;(e=e||pe(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),pe(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusout"===t.type?Le:He]=!1),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState=we,e.config.delay&&e.config.delay.hide?e._timeout=setTimeout(function(){e._hoverState===we&&e.hide()},e.config.delay.hide):e.hide())},t._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},t._getConfig=function(t){return"number"==typeof(t=l({},this.constructor.Default,pe(this.element).data(),"object"==typeof t&&t?t:{})).delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),Fn.typeCheckConfig(ve,t,this.constructor.DefaultType),t},t._getDelegateConfig=function(){var t={};if(this.config)for(var e in this.config)this.constructor.Default[e]!==this.config[e]&&(t[e]=this.config[e]);return t},t._cleanTipClass=function(){var t=pe(this.getTipElement()),e=t.attr("class").match(be);null!==e&&e.length&&t.removeClass(e.join(""))},t._handlePopperPlacementChange=function(t){var e=t.instance;this.tip=e.popper,this._cleanTipClass(),this.addAttachmentClass(this._getAttachment(t.placement))},t._fixTransition=function(){var t=this.getTipElement(),e=this.config.animation;null===t.getAttribute("x-placement")&&(pe(t).removeClass(Oe),this.config.animation=!1,this.hide(),this.show(),this.config.animation=e)},i._jQueryInterface=function(n){return this.each(function(){var t=pe(this).data(ye),e="object"==typeof n&&n;if((t||!/dispose|hide/.test(n))&&(t||(t=new i(this,e),pe(this).data(ye,t)),"string"==typeof n)){if("undefined"==typeof t[n])throw new TypeError('No method named "'+n+'"');t[n]()}})},s(i,null,[{key:"VERSION",get:function(){return"4.1.3"}},{key:"Default",get:function(){return Ae}},{key:"NAME",get:function(){return ve}},{key:"DATA_KEY",get:function(){return ye}},{key:"Event",get:function(){return Ne}},{key:"EVENT_KEY",get:function(){return Ee}},{key:"DefaultType",get:function(){return Se}}]),i}(),pe.fn[ve]=We._jQueryInterface,pe.fn[ve].Constructor=We,pe.fn[ve].noConflict=function(){return pe.fn[ve]=Ce,We._jQueryInterface},We),Jn=(qe="popover",Ke="."+(Fe="bs.popover"),Me=(Ue=e).fn[qe],Qe="bs-popover",Be=new RegExp("(^|\\s)"+Qe+"\\S+","g"),Ve=l({},zn.Default,{placement:"right",trigger:"click",content:"",template:''}),Ye=l({},zn.DefaultType,{content:"(string|element|function)"}),ze="fade",Ze=".popover-header",Ge=".popover-body",$e={HIDE:"hide"+Ke,HIDDEN:"hidden"+Ke,SHOW:(Je="show")+Ke,SHOWN:"shown"+Ke,INSERTED:"inserted"+Ke,CLICK:"click"+Ke,FOCUSIN:"focusin"+Ke,FOCUSOUT:"focusout"+Ke,MOUSEENTER:"mouseenter"+Ke,MOUSELEAVE:"mouseleave"+Ke},Xe=function(t){var e,n;function i(){return t.apply(this,arguments)||this}n=t,(e=i).prototype=Object.create(n.prototype),(e.prototype.constructor=e).__proto__=n;var r=i.prototype;return r.isWithContent=function(){return this.getTitle()||this._getContent()},r.addAttachmentClass=function(t){Ue(this.getTipElement()).addClass(Qe+"-"+t)},r.getTipElement=function(){return this.tip=this.tip||Ue(this.config.template)[0],this.tip},r.setContent=function(){var t=Ue(this.getTipElement());this.setElementContent(t.find(Ze),this.getTitle());var e=this._getContent();"function"==typeof e&&(e=e.call(this.element)),this.setElementContent(t.find(Ge),e),t.removeClass(ze+" "+Je)},r._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},r._cleanTipClass=function(){var t=Ue(this.getTipElement()),e=t.attr("class").match(Be);null!==e&&0=this._offsets[r]&&("undefined"==typeof this._offsets[r+1]||t {\n /**\n * ------------------------------------------------------------------------\n * Private TransitionEnd Helpers\n * ------------------------------------------------------------------------\n */\n\n const TRANSITION_END = 'transitionend'\n const MAX_UID = 1000000\n const MILLISECONDS_MULTIPLIER = 1000\n\n // Shoutout AngusCroll (https://goo.gl/pxwQGp)\n function toType(obj) {\n return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase()\n }\n\n function getSpecialTransitionEndEvent() {\n return {\n bindType: TRANSITION_END,\n delegateType: TRANSITION_END,\n handle(event) {\n if ($(event.target).is(this)) {\n return event.handleObj.handler.apply(this, arguments) // eslint-disable-line prefer-rest-params\n }\n return undefined // eslint-disable-line no-undefined\n }\n }\n }\n\n function transitionEndEmulator(duration) {\n let called = false\n\n $(this).one(Util.TRANSITION_END, () => {\n called = true\n })\n\n setTimeout(() => {\n if (!called) {\n Util.triggerTransitionEnd(this)\n }\n }, duration)\n\n return this\n }\n\n function setTransitionEndSupport() {\n $.fn.emulateTransitionEnd = transitionEndEmulator\n $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent()\n }\n\n /**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\n const Util = {\n\n TRANSITION_END: 'bsTransitionEnd',\n\n getUID(prefix) {\n do {\n // eslint-disable-next-line no-bitwise\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n return prefix\n },\n\n getSelectorFromElement(element) {\n let selector = element.getAttribute('data-target')\n if (!selector || selector === '#') {\n selector = element.getAttribute('href') || ''\n }\n\n try {\n return document.querySelector(selector) ? selector : null\n } catch (err) {\n return null\n }\n },\n\n getTransitionDurationFromElement(element) {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let transitionDuration = $(element).css('transition-duration')\n const floatTransitionDuration = parseFloat(transitionDuration)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n\n return parseFloat(transitionDuration) * MILLISECONDS_MULTIPLIER\n },\n\n reflow(element) {\n return element.offsetHeight\n },\n\n triggerTransitionEnd(element) {\n $(element).trigger(TRANSITION_END)\n },\n\n // TODO: Remove in v5\n supportsTransitionEnd() {\n return Boolean(TRANSITION_END)\n },\n\n isElement(obj) {\n return (obj[0] || obj).nodeType\n },\n\n typeCheckConfig(componentName, config, configTypes) {\n for (const property in configTypes) {\n if (Object.prototype.hasOwnProperty.call(configTypes, property)) {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && Util.isElement(value)\n ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n }\n }\n }\n }\n\n setTransitionEndSupport()\n\n return Util\n})($)\n\nexport default Util\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Alert = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'alert'\n const VERSION = '4.1.3'\n const DATA_KEY = 'bs.alert'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const Selector = {\n DISMISS : '[data-dismiss=\"alert\"]'\n }\n\n const Event = {\n CLOSE : `close${EVENT_KEY}`,\n CLOSED : `closed${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n ALERT : 'alert',\n FADE : 'fade',\n SHOW : 'show'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Alert {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n close(element) {\n let rootElement = this._element\n if (element) {\n rootElement = this._getRootElement(element)\n }\n\n const customEvent = this._triggerCloseEvent(rootElement)\n\n if (customEvent.isDefaultPrevented()) {\n return\n }\n\n this._removeElement(rootElement)\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _getRootElement(element) {\n const selector = Util.getSelectorFromElement(element)\n let parent = false\n\n if (selector) {\n parent = document.querySelector(selector)\n }\n\n if (!parent) {\n parent = $(element).closest(`.${ClassName.ALERT}`)[0]\n }\n\n return parent\n }\n\n _triggerCloseEvent(element) {\n const closeEvent = $.Event(Event.CLOSE)\n\n $(element).trigger(closeEvent)\n return closeEvent\n }\n\n _removeElement(element) {\n $(element).removeClass(ClassName.SHOW)\n\n if (!$(element).hasClass(ClassName.FADE)) {\n this._destroyElement(element)\n return\n }\n\n const transitionDuration = Util.getTransitionDurationFromElement(element)\n\n $(element)\n .one(Util.TRANSITION_END, (event) => this._destroyElement(element, event))\n .emulateTransitionEnd(transitionDuration)\n }\n\n _destroyElement(element) {\n $(element)\n .detach()\n .trigger(Event.CLOSED)\n .remove()\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new Alert(this)\n $element.data(DATA_KEY, data)\n }\n\n if (config === 'close') {\n data[config](this)\n }\n })\n }\n\n static _handleDismiss(alertInstance) {\n return function (event) {\n if (event) {\n event.preventDefault()\n }\n\n alertInstance.close(this)\n }\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document).on(\n Event.CLICK_DATA_API,\n Selector.DISMISS,\n Alert._handleDismiss(new Alert())\n )\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Alert._jQueryInterface\n $.fn[NAME].Constructor = Alert\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Alert._jQueryInterface\n }\n\n return Alert\n})($)\n\nexport default Alert\n","import $ from 'jquery'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Button = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'button'\n const VERSION = '4.1.3'\n const DATA_KEY = 'bs.button'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const ClassName = {\n ACTIVE : 'active',\n BUTTON : 'btn',\n FOCUS : 'focus'\n }\n\n const Selector = {\n DATA_TOGGLE_CARROT : '[data-toggle^=\"button\"]',\n DATA_TOGGLE : '[data-toggle=\"buttons\"]',\n INPUT : 'input',\n ACTIVE : '.active',\n BUTTON : '.btn'\n }\n\n const Event = {\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`,\n FOCUS_BLUR_DATA_API : `focus${EVENT_KEY}${DATA_API_KEY} ` +\n `blur${EVENT_KEY}${DATA_API_KEY}`\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Button {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n toggle() {\n let triggerChangeEvent = true\n let addAriaPressed = true\n const rootElement = $(this._element).closest(\n Selector.DATA_TOGGLE\n )[0]\n\n if (rootElement) {\n const input = this._element.querySelector(Selector.INPUT)\n\n if (input) {\n if (input.type === 'radio') {\n if (input.checked &&\n this._element.classList.contains(ClassName.ACTIVE)) {\n triggerChangeEvent = false\n } else {\n const activeElement = rootElement.querySelector(Selector.ACTIVE)\n\n if (activeElement) {\n $(activeElement).removeClass(ClassName.ACTIVE)\n }\n }\n }\n\n if (triggerChangeEvent) {\n if (input.hasAttribute('disabled') ||\n rootElement.hasAttribute('disabled') ||\n input.classList.contains('disabled') ||\n rootElement.classList.contains('disabled')) {\n return\n }\n input.checked = !this._element.classList.contains(ClassName.ACTIVE)\n $(input).trigger('change')\n }\n\n input.focus()\n addAriaPressed = false\n }\n }\n\n if (addAriaPressed) {\n this._element.setAttribute('aria-pressed',\n !this._element.classList.contains(ClassName.ACTIVE))\n }\n\n if (triggerChangeEvent) {\n $(this._element).toggleClass(ClassName.ACTIVE)\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n\n if (!data) {\n data = new Button(this)\n $(this).data(DATA_KEY, data)\n }\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {\n event.preventDefault()\n\n let button = event.target\n\n if (!$(button).hasClass(ClassName.BUTTON)) {\n button = $(button).closest(Selector.BUTTON)\n }\n\n Button._jQueryInterface.call($(button), 'toggle')\n })\n .on(Event.FOCUS_BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {\n const button = $(event.target).closest(Selector.BUTTON)[0]\n $(button).toggleClass(ClassName.FOCUS, /^focus(in)?$/.test(event.type))\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Button._jQueryInterface\n $.fn[NAME].Constructor = Button\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Button._jQueryInterface\n }\n\n return Button\n})($)\n\nexport default Button\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Carousel = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'carousel'\n const VERSION = '4.1.3'\n const DATA_KEY = 'bs.carousel'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const ARROW_LEFT_KEYCODE = 37 // KeyboardEvent.which value for left arrow key\n const ARROW_RIGHT_KEYCODE = 39 // KeyboardEvent.which value for right arrow key\n const TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\n\n const Default = {\n interval : 5000,\n keyboard : true,\n slide : false,\n pause : 'hover',\n wrap : true\n }\n\n const DefaultType = {\n interval : '(number|boolean)',\n keyboard : 'boolean',\n slide : '(boolean|string)',\n pause : '(string|boolean)',\n wrap : 'boolean'\n }\n\n const Direction = {\n NEXT : 'next',\n PREV : 'prev',\n LEFT : 'left',\n RIGHT : 'right'\n }\n\n const Event = {\n SLIDE : `slide${EVENT_KEY}`,\n SLID : `slid${EVENT_KEY}`,\n KEYDOWN : `keydown${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`,\n TOUCHEND : `touchend${EVENT_KEY}`,\n LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n CAROUSEL : 'carousel',\n ACTIVE : 'active',\n SLIDE : 'slide',\n RIGHT : 'carousel-item-right',\n LEFT : 'carousel-item-left',\n NEXT : 'carousel-item-next',\n PREV : 'carousel-item-prev',\n ITEM : 'carousel-item'\n }\n\n const Selector = {\n ACTIVE : '.active',\n ACTIVE_ITEM : '.active.carousel-item',\n ITEM : '.carousel-item',\n NEXT_PREV : '.carousel-item-next, .carousel-item-prev',\n INDICATORS : '.carousel-indicators',\n DATA_SLIDE : '[data-slide], [data-slide-to]',\n DATA_RIDE : '[data-ride=\"carousel\"]'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Carousel {\n constructor(element, config) {\n this._items = null\n this._interval = null\n this._activeElement = null\n\n this._isPaused = false\n this._isSliding = false\n\n this.touchTimeout = null\n\n this._config = this._getConfig(config)\n this._element = $(element)[0]\n this._indicatorsElement = this._element.querySelector(Selector.INDICATORS)\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n next() {\n if (!this._isSliding) {\n this._slide(Direction.NEXT)\n }\n }\n\n nextWhenVisible() {\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden &&\n ($(this._element).is(':visible') && $(this._element).css('visibility') !== 'hidden')) {\n this.next()\n }\n }\n\n prev() {\n if (!this._isSliding) {\n this._slide(Direction.PREV)\n }\n }\n\n pause(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if (this._element.querySelector(Selector.NEXT_PREV)) {\n Util.triggerTransitionEnd(this._element)\n this.cycle(true)\n }\n\n clearInterval(this._interval)\n this._interval = null\n }\n\n cycle(event) {\n if (!event) {\n this._isPaused = false\n }\n\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n\n if (this._config.interval && !this._isPaused) {\n this._interval = setInterval(\n (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\n this._config.interval\n )\n }\n }\n\n to(index) {\n this._activeElement = this._element.querySelector(Selector.ACTIVE_ITEM)\n\n const activeIndex = this._getItemIndex(this._activeElement)\n\n if (index > this._items.length - 1 || index < 0) {\n return\n }\n\n if (this._isSliding) {\n $(this._element).one(Event.SLID, () => this.to(index))\n return\n }\n\n if (activeIndex === index) {\n this.pause()\n this.cycle()\n return\n }\n\n const direction = index > activeIndex\n ? Direction.NEXT\n : Direction.PREV\n\n this._slide(direction, this._items[index])\n }\n\n dispose() {\n $(this._element).off(EVENT_KEY)\n $.removeData(this._element, DATA_KEY)\n\n this._items = null\n this._config = null\n this._element = null\n this._interval = null\n this._isPaused = null\n this._isSliding = null\n this._activeElement = null\n this._indicatorsElement = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n $(this._element)\n .on(Event.KEYDOWN, (event) => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n $(this._element)\n .on(Event.MOUSEENTER, (event) => this.pause(event))\n .on(Event.MOUSELEAVE, (event) => this.cycle(event))\n if ('ontouchstart' in document.documentElement) {\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n $(this._element).on(Event.TOUCHEND, () => {\n this.pause()\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout)\n }\n this.touchTimeout = setTimeout((event) => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n })\n }\n }\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n switch (event.which) {\n case ARROW_LEFT_KEYCODE:\n event.preventDefault()\n this.prev()\n break\n case ARROW_RIGHT_KEYCODE:\n event.preventDefault()\n this.next()\n break\n default:\n }\n }\n\n _getItemIndex(element) {\n this._items = element && element.parentNode\n ? [].slice.call(element.parentNode.querySelectorAll(Selector.ITEM))\n : []\n return this._items.indexOf(element)\n }\n\n _getItemByDirection(direction, activeElement) {\n const isNextDirection = direction === Direction.NEXT\n const isPrevDirection = direction === Direction.PREV\n const activeIndex = this._getItemIndex(activeElement)\n const lastItemIndex = this._items.length - 1\n const isGoingToWrap = isPrevDirection && activeIndex === 0 ||\n isNextDirection && activeIndex === lastItemIndex\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement\n }\n\n const delta = direction === Direction.PREV ? -1 : 1\n const itemIndex = (activeIndex + delta) % this._items.length\n\n return itemIndex === -1\n ? this._items[this._items.length - 1] : this._items[itemIndex]\n }\n\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const targetIndex = this._getItemIndex(relatedTarget)\n const fromIndex = this._getItemIndex(this._element.querySelector(Selector.ACTIVE_ITEM))\n const slideEvent = $.Event(Event.SLIDE, {\n relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n })\n\n $(this._element).trigger(slideEvent)\n\n return slideEvent\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n const indicators = [].slice.call(this._indicatorsElement.querySelectorAll(Selector.ACTIVE))\n $(indicators)\n .removeClass(ClassName.ACTIVE)\n\n const nextIndicator = this._indicatorsElement.children[\n this._getItemIndex(element)\n ]\n\n if (nextIndicator) {\n $(nextIndicator).addClass(ClassName.ACTIVE)\n }\n }\n }\n\n _slide(direction, element) {\n const activeElement = this._element.querySelector(Selector.ACTIVE_ITEM)\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || activeElement &&\n this._getItemByDirection(direction, activeElement)\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n let directionalClassName\n let orderClassName\n let eventDirectionName\n\n if (direction === Direction.NEXT) {\n directionalClassName = ClassName.LEFT\n orderClassName = ClassName.NEXT\n eventDirectionName = Direction.LEFT\n } else {\n directionalClassName = ClassName.RIGHT\n orderClassName = ClassName.PREV\n eventDirectionName = Direction.RIGHT\n }\n\n if (nextElement && $(nextElement).hasClass(ClassName.ACTIVE)) {\n this._isSliding = false\n return\n }\n\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\n if (slideEvent.isDefaultPrevented()) {\n return\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n return\n }\n\n this._isSliding = true\n\n if (isCycling) {\n this.pause()\n }\n\n this._setActiveIndicatorElement(nextElement)\n\n const slidEvent = $.Event(Event.SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n\n if ($(this._element).hasClass(ClassName.SLIDE)) {\n $(nextElement).addClass(orderClassName)\n\n Util.reflow(nextElement)\n\n $(activeElement).addClass(directionalClassName)\n $(nextElement).addClass(directionalClassName)\n\n const transitionDuration = Util.getTransitionDurationFromElement(activeElement)\n\n $(activeElement)\n .one(Util.TRANSITION_END, () => {\n $(nextElement)\n .removeClass(`${directionalClassName} ${orderClassName}`)\n .addClass(ClassName.ACTIVE)\n\n $(activeElement).removeClass(`${ClassName.ACTIVE} ${orderClassName} ${directionalClassName}`)\n\n this._isSliding = false\n\n setTimeout(() => $(this._element).trigger(slidEvent), 0)\n })\n .emulateTransitionEnd(transitionDuration)\n } else {\n $(activeElement).removeClass(ClassName.ACTIVE)\n $(nextElement).addClass(ClassName.ACTIVE)\n\n this._isSliding = false\n $(this._element).trigger(slidEvent)\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n let _config = {\n ...Default,\n ...$(this).data()\n }\n\n if (typeof config === 'object') {\n _config = {\n ..._config,\n ...config\n }\n }\n\n const action = typeof config === 'string' ? config : _config.slide\n\n if (!data) {\n data = new Carousel(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'number') {\n data.to(config)\n } else if (typeof action === 'string') {\n if (typeof data[action] === 'undefined') {\n throw new TypeError(`No method named \"${action}\"`)\n }\n data[action]()\n } else if (_config.interval) {\n data.pause()\n data.cycle()\n }\n })\n }\n\n static _dataApiClickHandler(event) {\n const selector = Util.getSelectorFromElement(this)\n\n if (!selector) {\n return\n }\n\n const target = $(selector)[0]\n\n if (!target || !$(target).hasClass(ClassName.CAROUSEL)) {\n return\n }\n\n const config = {\n ...$(target).data(),\n ...$(this).data()\n }\n const slideIndex = this.getAttribute('data-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel._jQueryInterface.call($(target), config)\n\n if (slideIndex) {\n $(target).data(DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel._dataApiClickHandler)\n\n $(window).on(Event.LOAD_DATA_API, () => {\n const carousels = [].slice.call(document.querySelectorAll(Selector.DATA_RIDE))\n for (let i = 0, len = carousels.length; i < len; i++) {\n const $carousel = $(carousels[i])\n Carousel._jQueryInterface.call($carousel, $carousel.data())\n }\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Carousel._jQueryInterface\n $.fn[NAME].Constructor = Carousel\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Carousel._jQueryInterface\n }\n\n return Carousel\n})($)\n\nexport default Carousel\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Collapse = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'collapse'\n const VERSION = '4.1.3'\n const DATA_KEY = 'bs.collapse'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const Default = {\n toggle : true,\n parent : ''\n }\n\n const DefaultType = {\n toggle : 'boolean',\n parent : '(string|element)'\n }\n\n const Event = {\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n SHOW : 'show',\n COLLAPSE : 'collapse',\n COLLAPSING : 'collapsing',\n COLLAPSED : 'collapsed'\n }\n\n const Dimension = {\n WIDTH : 'width',\n HEIGHT : 'height'\n }\n\n const Selector = {\n ACTIVES : '.show, .collapsing',\n DATA_TOGGLE : '[data-toggle=\"collapse\"]'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Collapse {\n constructor(element, config) {\n this._isTransitioning = false\n this._element = element\n this._config = this._getConfig(config)\n this._triggerArray = $.makeArray(document.querySelectorAll(\n `[data-toggle=\"collapse\"][href=\"#${element.id}\"],` +\n `[data-toggle=\"collapse\"][data-target=\"#${element.id}\"]`\n ))\n const toggleList = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLE))\n for (let i = 0, len = toggleList.length; i < len; i++) {\n const elem = toggleList[i]\n const selector = Util.getSelectorFromElement(elem)\n const filterElement = [].slice.call(document.querySelectorAll(selector))\n .filter((foundElem) => foundElem === element)\n\n if (selector !== null && filterElement.length > 0) {\n this._selector = selector\n this._triggerArray.push(elem)\n }\n }\n\n this._parent = this._config.parent ? this._getParent() : null\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle() {\n if ($(this._element).hasClass(ClassName.SHOW)) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning ||\n $(this._element).hasClass(ClassName.SHOW)) {\n return\n }\n\n let actives\n let activesData\n\n if (this._parent) {\n actives = [].slice.call(this._parent.querySelectorAll(Selector.ACTIVES))\n .filter((elem) => elem.getAttribute('data-parent') === this._config.parent)\n\n if (actives.length === 0) {\n actives = null\n }\n }\n\n if (actives) {\n activesData = $(actives).not(this._selector).data(DATA_KEY)\n if (activesData && activesData._isTransitioning) {\n return\n }\n }\n\n const startEvent = $.Event(Event.SHOW)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n if (actives) {\n Collapse._jQueryInterface.call($(actives).not(this._selector), 'hide')\n if (!activesData) {\n $(actives).data(DATA_KEY, null)\n }\n }\n\n const dimension = this._getDimension()\n\n $(this._element)\n .removeClass(ClassName.COLLAPSE)\n .addClass(ClassName.COLLAPSING)\n\n this._element.style[dimension] = 0\n\n if (this._triggerArray.length) {\n $(this._triggerArray)\n .removeClass(ClassName.COLLAPSED)\n .attr('aria-expanded', true)\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n $(this._element)\n .removeClass(ClassName.COLLAPSING)\n .addClass(ClassName.COLLAPSE)\n .addClass(ClassName.SHOW)\n\n this._element.style[dimension] = ''\n\n this.setTransitioning(false)\n\n $(this._element).trigger(Event.SHOWN)\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning ||\n !$(this._element).hasClass(ClassName.SHOW)) {\n return\n }\n\n const startEvent = $.Event(Event.HIDE)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n Util.reflow(this._element)\n\n $(this._element)\n .addClass(ClassName.COLLAPSING)\n .removeClass(ClassName.COLLAPSE)\n .removeClass(ClassName.SHOW)\n\n const triggerArrayLength = this._triggerArray.length\n if (triggerArrayLength > 0) {\n for (let i = 0; i < triggerArrayLength; i++) {\n const trigger = this._triggerArray[i]\n const selector = Util.getSelectorFromElement(trigger)\n if (selector !== null) {\n const $elem = $([].slice.call(document.querySelectorAll(selector)))\n if (!$elem.hasClass(ClassName.SHOW)) {\n $(trigger).addClass(ClassName.COLLAPSED)\n .attr('aria-expanded', false)\n }\n }\n }\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this.setTransitioning(false)\n $(this._element)\n .removeClass(ClassName.COLLAPSING)\n .addClass(ClassName.COLLAPSE)\n .trigger(Event.HIDDEN)\n }\n\n this._element.style[dimension] = ''\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._parent = null\n this._element = null\n this._triggerArray = null\n this._isTransitioning = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n config.toggle = Boolean(config.toggle) // Coerce string values\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _getDimension() {\n const hasWidth = $(this._element).hasClass(Dimension.WIDTH)\n return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT\n }\n\n _getParent() {\n let parent = null\n if (Util.isElement(this._config.parent)) {\n parent = this._config.parent\n\n // It's a jQuery object\n if (typeof this._config.parent.jquery !== 'undefined') {\n parent = this._config.parent[0]\n }\n } else {\n parent = document.querySelector(this._config.parent)\n }\n\n const selector =\n `[data-toggle=\"collapse\"][data-parent=\"${this._config.parent}\"]`\n\n const children = [].slice.call(parent.querySelectorAll(selector))\n $(children).each((i, element) => {\n this._addAriaAndCollapsedClass(\n Collapse._getTargetFromElement(element),\n [element]\n )\n })\n\n return parent\n }\n\n _addAriaAndCollapsedClass(element, triggerArray) {\n if (element) {\n const isOpen = $(element).hasClass(ClassName.SHOW)\n\n if (triggerArray.length) {\n $(triggerArray)\n .toggleClass(ClassName.COLLAPSED, !isOpen)\n .attr('aria-expanded', isOpen)\n }\n }\n }\n\n // Static\n\n static _getTargetFromElement(element) {\n const selector = Util.getSelectorFromElement(element)\n return selector ? document.querySelector(selector) : null\n }\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $this = $(this)\n let data = $this.data(DATA_KEY)\n const _config = {\n ...Default,\n ...$this.data(),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data && _config.toggle && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n if (!data) {\n data = new Collapse(this, _config)\n $this.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n // preventDefault only for elements (which change the URL) not inside the collapsible element\n if (event.currentTarget.tagName === 'A') {\n event.preventDefault()\n }\n\n const $trigger = $(this)\n const selector = Util.getSelectorFromElement(this)\n const selectors = [].slice.call(document.querySelectorAll(selector))\n $(selectors).each(function () {\n const $target = $(this)\n const data = $target.data(DATA_KEY)\n const config = data ? 'toggle' : $trigger.data()\n Collapse._jQueryInterface.call($target, config)\n })\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Collapse._jQueryInterface\n $.fn[NAME].Constructor = Collapse\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Collapse._jQueryInterface\n }\n\n return Collapse\n})($)\n\nexport default Collapse\n","import $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Dropdown = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'dropdown'\n const VERSION = '4.1.3'\n const DATA_KEY = 'bs.dropdown'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n const SPACE_KEYCODE = 32 // KeyboardEvent.which value for space key\n const TAB_KEYCODE = 9 // KeyboardEvent.which value for tab key\n const ARROW_UP_KEYCODE = 38 // KeyboardEvent.which value for up arrow key\n const ARROW_DOWN_KEYCODE = 40 // KeyboardEvent.which value for down arrow key\n const RIGHT_MOUSE_BUTTON_WHICH = 3 // MouseEvent.which value for the right button (assuming a right-handed mouse)\n const REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEYCODE}|${ARROW_DOWN_KEYCODE}|${ESCAPE_KEYCODE}`)\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`,\n KEYDOWN_DATA_API : `keydown${EVENT_KEY}${DATA_API_KEY}`,\n KEYUP_DATA_API : `keyup${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n DISABLED : 'disabled',\n SHOW : 'show',\n DROPUP : 'dropup',\n DROPRIGHT : 'dropright',\n DROPLEFT : 'dropleft',\n MENURIGHT : 'dropdown-menu-right',\n MENULEFT : 'dropdown-menu-left',\n POSITION_STATIC : 'position-static'\n }\n\n const Selector = {\n DATA_TOGGLE : '[data-toggle=\"dropdown\"]',\n FORM_CHILD : '.dropdown form',\n MENU : '.dropdown-menu',\n NAVBAR_NAV : '.navbar-nav',\n VISIBLE_ITEMS : '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n }\n\n const AttachmentMap = {\n TOP : 'top-start',\n TOPEND : 'top-end',\n BOTTOM : 'bottom-start',\n BOTTOMEND : 'bottom-end',\n RIGHT : 'right-start',\n RIGHTEND : 'right-end',\n LEFT : 'left-start',\n LEFTEND : 'left-end'\n }\n\n const Default = {\n offset : 0,\n flip : true,\n boundary : 'scrollParent',\n reference : 'toggle',\n display : 'dynamic'\n }\n\n const DefaultType = {\n offset : '(number|string|function)',\n flip : 'boolean',\n boundary : '(string|element)',\n reference : '(string|element)',\n display : 'string'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Dropdown {\n constructor(element, config) {\n this._element = element\n this._popper = null\n this._config = this._getConfig(config)\n this._menu = this._getMenuElement()\n this._inNavbar = this._detectNavbar()\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n toggle() {\n if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED)) {\n return\n }\n\n const parent = Dropdown._getParentFromElement(this._element)\n const isActive = $(this._menu).hasClass(ClassName.SHOW)\n\n Dropdown._clearMenus()\n\n if (isActive) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n const showEvent = $.Event(Event.SHOW, relatedTarget)\n\n $(parent).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented()) {\n return\n }\n\n // Disable totally Popper.js for Dropdown in Navbar\n if (!this._inNavbar) {\n /**\n * Check for Popper dependency\n * Popper - https://popper.js.org\n */\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap dropdown require Popper.js (https://popper.js.org)')\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = parent\n } else if (Util.isElement(this._config.reference)) {\n referenceElement = this._config.reference\n\n // Check if it's jQuery element\n if (typeof this._config.reference.jquery !== 'undefined') {\n referenceElement = this._config.reference[0]\n }\n }\n\n // If boundary is not `scrollParent`, then set position to `static`\n // to allow the menu to \"escape\" the scroll parent's boundaries\n // https://github.com/twbs/bootstrap/issues/24251\n if (this._config.boundary !== 'scrollParent') {\n $(parent).addClass(ClassName.POSITION_STATIC)\n }\n this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig())\n }\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement &&\n $(parent).closest(Selector.NAVBAR_NAV).length === 0) {\n $(document.body).children().on('mouseover', null, $.noop)\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n $(this._menu).toggleClass(ClassName.SHOW)\n $(parent)\n .toggleClass(ClassName.SHOW)\n .trigger($.Event(Event.SHOWN, relatedTarget))\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._element).off(EVENT_KEY)\n this._element = null\n this._menu = null\n if (this._popper !== null) {\n this._popper.destroy()\n this._popper = null\n }\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Private\n\n _addEventListeners() {\n $(this._element).on(Event.CLICK, (event) => {\n event.preventDefault()\n event.stopPropagation()\n this.toggle()\n })\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...$(this._element).data(),\n ...config\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getMenuElement() {\n if (!this._menu) {\n const parent = Dropdown._getParentFromElement(this._element)\n if (parent) {\n this._menu = parent.querySelector(Selector.MENU)\n }\n }\n return this._menu\n }\n\n _getPlacement() {\n const $parentDropdown = $(this._element.parentNode)\n let placement = AttachmentMap.BOTTOM\n\n // Handle dropup\n if ($parentDropdown.hasClass(ClassName.DROPUP)) {\n placement = AttachmentMap.TOP\n if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n placement = AttachmentMap.TOPEND\n }\n } else if ($parentDropdown.hasClass(ClassName.DROPRIGHT)) {\n placement = AttachmentMap.RIGHT\n } else if ($parentDropdown.hasClass(ClassName.DROPLEFT)) {\n placement = AttachmentMap.LEFT\n } else if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n placement = AttachmentMap.BOTTOMEND\n }\n return placement\n }\n\n _detectNavbar() {\n return $(this._element).closest('.navbar').length > 0\n }\n\n _getPopperConfig() {\n const offsetConf = {}\n if (typeof this._config.offset === 'function') {\n offsetConf.fn = (data) => {\n data.offsets = {\n ...data.offsets,\n ...this._config.offset(data.offsets) || {}\n }\n return data\n }\n } else {\n offsetConf.offset = this._config.offset\n }\n\n const popperConfig = {\n placement: this._getPlacement(),\n modifiers: {\n offset: offsetConf,\n flip: {\n enabled: this._config.flip\n },\n preventOverflow: {\n boundariesElement: this._config.boundary\n }\n }\n }\n\n // Disable Popper.js if we have a static display\n if (this._config.display === 'static') {\n popperConfig.modifiers.applyStyle = {\n enabled: false\n }\n }\n return popperConfig\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data) {\n data = new Dropdown(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n\n static _clearMenus(event) {\n if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH ||\n event.type === 'keyup' && event.which !== TAB_KEYCODE)) {\n return\n }\n\n const toggles = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLE))\n for (let i = 0, len = toggles.length; i < len; i++) {\n const parent = Dropdown._getParentFromElement(toggles[i])\n const context = $(toggles[i]).data(DATA_KEY)\n const relatedTarget = {\n relatedTarget: toggles[i]\n }\n\n if (event && event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n if (!context) {\n continue\n }\n\n const dropdownMenu = context._menu\n if (!$(parent).hasClass(ClassName.SHOW)) {\n continue\n }\n\n if (event && (event.type === 'click' &&\n /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) &&\n $.contains(parent, event.target)) {\n continue\n }\n\n const hideEvent = $.Event(Event.HIDE, relatedTarget)\n $(parent).trigger(hideEvent)\n if (hideEvent.isDefaultPrevented()) {\n continue\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().off('mouseover', null, $.noop)\n }\n\n toggles[i].setAttribute('aria-expanded', 'false')\n\n $(dropdownMenu).removeClass(ClassName.SHOW)\n $(parent)\n .removeClass(ClassName.SHOW)\n .trigger($.Event(Event.HIDDEN, relatedTarget))\n }\n }\n\n static _getParentFromElement(element) {\n let parent\n const selector = Util.getSelectorFromElement(element)\n\n if (selector) {\n parent = document.querySelector(selector)\n }\n\n return parent || element.parentNode\n }\n\n // eslint-disable-next-line complexity\n static _dataApiKeydownHandler(event) {\n // If not input/textarea:\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\n // If input/textarea:\n // - If space key => not a dropdown command\n // - If key is other than escape\n // - If key is not up or down => not a dropdown command\n // - If trigger inside the menu => not a dropdown command\n if (/input|textarea/i.test(event.target.tagName)\n ? event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE &&\n (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE ||\n $(event.target).closest(Selector.MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (this.disabled || $(this).hasClass(ClassName.DISABLED)) {\n return\n }\n\n const parent = Dropdown._getParentFromElement(this)\n const isActive = $(parent).hasClass(ClassName.SHOW)\n\n if (!isActive && (event.which !== ESCAPE_KEYCODE || event.which !== SPACE_KEYCODE) ||\n isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {\n if (event.which === ESCAPE_KEYCODE) {\n const toggle = parent.querySelector(Selector.DATA_TOGGLE)\n $(toggle).trigger('focus')\n }\n\n $(this).trigger('click')\n return\n }\n\n const items = [].slice.call(parent.querySelectorAll(Selector.VISIBLE_ITEMS))\n\n if (items.length === 0) {\n return\n }\n\n let index = items.indexOf(event.target)\n\n if (event.which === ARROW_UP_KEYCODE && index > 0) { // Up\n index--\n }\n\n if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { // Down\n index++\n }\n\n if (index < 0) {\n index = 0\n }\n\n items[index].focus()\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document)\n .on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown._dataApiKeydownHandler)\n .on(Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown._dataApiKeydownHandler)\n .on(`${Event.CLICK_DATA_API} ${Event.KEYUP_DATA_API}`, Dropdown._clearMenus)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n event.stopPropagation()\n Dropdown._jQueryInterface.call($(this), 'toggle')\n })\n .on(Event.CLICK_DATA_API, Selector.FORM_CHILD, (e) => {\n e.stopPropagation()\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Dropdown._jQueryInterface\n $.fn[NAME].Constructor = Dropdown\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown._jQueryInterface\n }\n\n return Dropdown\n})($, Popper)\n\nexport default Dropdown\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Modal = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'modal'\n const VERSION = '4.1.3'\n const DATA_KEY = 'bs.modal'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n\n const Default = {\n backdrop : true,\n keyboard : true,\n focus : true,\n show : true\n }\n\n const DefaultType = {\n backdrop : '(boolean|string)',\n keyboard : 'boolean',\n focus : 'boolean',\n show : 'boolean'\n }\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n RESIZE : `resize${EVENT_KEY}`,\n CLICK_DISMISS : `click.dismiss${EVENT_KEY}`,\n KEYDOWN_DISMISS : `keydown.dismiss${EVENT_KEY}`,\n MOUSEUP_DISMISS : `mouseup.dismiss${EVENT_KEY}`,\n MOUSEDOWN_DISMISS : `mousedown.dismiss${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n SCROLLBAR_MEASURER : 'modal-scrollbar-measure',\n BACKDROP : 'modal-backdrop',\n OPEN : 'modal-open',\n FADE : 'fade',\n SHOW : 'show'\n }\n\n const Selector = {\n DIALOG : '.modal-dialog',\n DATA_TOGGLE : '[data-toggle=\"modal\"]',\n DATA_DISMISS : '[data-dismiss=\"modal\"]',\n FIXED_CONTENT : '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',\n STICKY_CONTENT : '.sticky-top'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Modal {\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n this._dialog = element.querySelector(Selector.DIALOG)\n this._backdrop = null\n this._isShown = false\n this._isBodyOverflowing = false\n this._ignoreBackdropClick = false\n this._scrollbarWidth = 0\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isTransitioning || this._isShown) {\n return\n }\n\n if ($(this._element).hasClass(ClassName.FADE)) {\n this._isTransitioning = true\n }\n\n const showEvent = $.Event(Event.SHOW, {\n relatedTarget\n })\n\n $(this._element).trigger(showEvent)\n\n if (this._isShown || showEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = true\n\n this._checkScrollbar()\n this._setScrollbar()\n\n this._adjustDialog()\n\n $(document.body).addClass(ClassName.OPEN)\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(this._element).on(\n Event.CLICK_DISMISS,\n Selector.DATA_DISMISS,\n (event) => this.hide(event)\n )\n\n $(this._dialog).on(Event.MOUSEDOWN_DISMISS, () => {\n $(this._element).one(Event.MOUSEUP_DISMISS, (event) => {\n if ($(event.target).is(this._element)) {\n this._ignoreBackdropClick = true\n }\n })\n })\n\n this._showBackdrop(() => this._showElement(relatedTarget))\n }\n\n hide(event) {\n if (event) {\n event.preventDefault()\n }\n\n if (this._isTransitioning || !this._isShown) {\n return\n }\n\n const hideEvent = $.Event(Event.HIDE)\n\n $(this._element).trigger(hideEvent)\n\n if (!this._isShown || hideEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = false\n const transition = $(this._element).hasClass(ClassName.FADE)\n\n if (transition) {\n this._isTransitioning = true\n }\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(document).off(Event.FOCUSIN)\n\n $(this._element).removeClass(ClassName.SHOW)\n\n $(this._element).off(Event.CLICK_DISMISS)\n $(this._dialog).off(Event.MOUSEDOWN_DISMISS)\n\n\n if (transition) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, (event) => this._hideModal(event))\n .emulateTransitionEnd(transitionDuration)\n } else {\n this._hideModal()\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n\n $(window, document, this._element, this._backdrop).off(EVENT_KEY)\n\n this._config = null\n this._element = null\n this._dialog = null\n this._backdrop = null\n this._isShown = null\n this._isBodyOverflowing = null\n this._ignoreBackdropClick = null\n this._scrollbarWidth = null\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _showElement(relatedTarget) {\n const transition = $(this._element).hasClass(ClassName.FADE)\n\n if (!this._element.parentNode ||\n this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // Don't move modal's DOM position\n document.body.appendChild(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.scrollTop = 0\n\n if (transition) {\n Util.reflow(this._element)\n }\n\n $(this._element).addClass(ClassName.SHOW)\n\n if (this._config.focus) {\n this._enforceFocus()\n }\n\n const shownEvent = $.Event(Event.SHOWN, {\n relatedTarget\n })\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._element.focus()\n }\n this._isTransitioning = false\n $(this._element).trigger(shownEvent)\n }\n\n if (transition) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._dialog)\n .one(Util.TRANSITION_END, transitionComplete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n transitionComplete()\n }\n }\n\n _enforceFocus() {\n $(document)\n .off(Event.FOCUSIN) // Guard against infinite focus loop\n .on(Event.FOCUSIN, (event) => {\n if (document !== event.target &&\n this._element !== event.target &&\n $(this._element).has(event.target).length === 0) {\n this._element.focus()\n }\n })\n }\n\n _setEscapeEvent() {\n if (this._isShown && this._config.keyboard) {\n $(this._element).on(Event.KEYDOWN_DISMISS, (event) => {\n if (event.which === ESCAPE_KEYCODE) {\n event.preventDefault()\n this.hide()\n }\n })\n } else if (!this._isShown) {\n $(this._element).off(Event.KEYDOWN_DISMISS)\n }\n }\n\n _setResizeEvent() {\n if (this._isShown) {\n $(window).on(Event.RESIZE, (event) => this.handleUpdate(event))\n } else {\n $(window).off(Event.RESIZE)\n }\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._isTransitioning = false\n this._showBackdrop(() => {\n $(document.body).removeClass(ClassName.OPEN)\n this._resetAdjustments()\n this._resetScrollbar()\n $(this._element).trigger(Event.HIDDEN)\n })\n }\n\n _removeBackdrop() {\n if (this._backdrop) {\n $(this._backdrop).remove()\n this._backdrop = null\n }\n }\n\n _showBackdrop(callback) {\n const animate = $(this._element).hasClass(ClassName.FADE)\n ? ClassName.FADE : ''\n\n if (this._isShown && this._config.backdrop) {\n this._backdrop = document.createElement('div')\n this._backdrop.className = ClassName.BACKDROP\n\n if (animate) {\n this._backdrop.classList.add(animate)\n }\n\n $(this._backdrop).appendTo(document.body)\n\n $(this._element).on(Event.CLICK_DISMISS, (event) => {\n if (this._ignoreBackdropClick) {\n this._ignoreBackdropClick = false\n return\n }\n if (event.target !== event.currentTarget) {\n return\n }\n if (this._config.backdrop === 'static') {\n this._element.focus()\n } else {\n this.hide()\n }\n })\n\n if (animate) {\n Util.reflow(this._backdrop)\n }\n\n $(this._backdrop).addClass(ClassName.SHOW)\n\n if (!callback) {\n return\n }\n\n if (!animate) {\n callback()\n return\n }\n\n const backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop)\n\n $(this._backdrop)\n .one(Util.TRANSITION_END, callback)\n .emulateTransitionEnd(backdropTransitionDuration)\n } else if (!this._isShown && this._backdrop) {\n $(this._backdrop).removeClass(ClassName.SHOW)\n\n const callbackRemove = () => {\n this._removeBackdrop()\n if (callback) {\n callback()\n }\n }\n\n if ($(this._element).hasClass(ClassName.FADE)) {\n const backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop)\n\n $(this._backdrop)\n .one(Util.TRANSITION_END, callbackRemove)\n .emulateTransitionEnd(backdropTransitionDuration)\n } else {\n callbackRemove()\n }\n } else if (callback) {\n callback()\n }\n }\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // todo (fat): these should probably be refactored out of modal.js\n // ----------------------------------------------------------------------\n\n _adjustDialog() {\n const isModalOverflowing =\n this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!this._isBodyOverflowing && isModalOverflowing) {\n this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n }\n\n if (this._isBodyOverflowing && !isModalOverflowing) {\n this._element.style.paddingRight = `${this._scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n _checkScrollbar() {\n const rect = document.body.getBoundingClientRect()\n this._isBodyOverflowing = rect.left + rect.right < window.innerWidth\n this._scrollbarWidth = this._getScrollbarWidth()\n }\n\n _setScrollbar() {\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n const fixedContent = [].slice.call(document.querySelectorAll(Selector.FIXED_CONTENT))\n const stickyContent = [].slice.call(document.querySelectorAll(Selector.STICKY_CONTENT))\n\n // Adjust fixed content padding\n $(fixedContent).each((index, element) => {\n const actualPadding = element.style.paddingRight\n const calculatedPadding = $(element).css('padding-right')\n $(element)\n .data('padding-right', actualPadding)\n .css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n })\n\n // Adjust sticky content margin\n $(stickyContent).each((index, element) => {\n const actualMargin = element.style.marginRight\n const calculatedMargin = $(element).css('margin-right')\n $(element)\n .data('margin-right', actualMargin)\n .css('margin-right', `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`)\n })\n\n // Adjust body padding\n const actualPadding = document.body.style.paddingRight\n const calculatedPadding = $(document.body).css('padding-right')\n $(document.body)\n .data('padding-right', actualPadding)\n .css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n }\n }\n\n _resetScrollbar() {\n // Restore fixed content padding\n const fixedContent = [].slice.call(document.querySelectorAll(Selector.FIXED_CONTENT))\n $(fixedContent).each((index, element) => {\n const padding = $(element).data('padding-right')\n $(element).removeData('padding-right')\n element.style.paddingRight = padding ? padding : ''\n })\n\n // Restore sticky content\n const elements = [].slice.call(document.querySelectorAll(`${Selector.STICKY_CONTENT}`))\n $(elements).each((index, element) => {\n const margin = $(element).data('margin-right')\n if (typeof margin !== 'undefined') {\n $(element).css('margin-right', margin).removeData('margin-right')\n }\n })\n\n // Restore body padding\n const padding = $(document.body).data('padding-right')\n $(document.body).removeData('padding-right')\n document.body.style.paddingRight = padding ? padding : ''\n }\n\n _getScrollbarWidth() { // thx d.walsh\n const scrollDiv = document.createElement('div')\n scrollDiv.className = ClassName.SCROLLBAR_MEASURER\n document.body.appendChild(scrollDiv)\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n document.body.removeChild(scrollDiv)\n return scrollbarWidth\n }\n\n // Static\n\n static _jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = {\n ...Default,\n ...$(this).data(),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data) {\n data = new Modal(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config](relatedTarget)\n } else if (_config.show) {\n data.show(relatedTarget)\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n let target\n const selector = Util.getSelectorFromElement(this)\n\n if (selector) {\n target = document.querySelector(selector)\n }\n\n const config = $(target).data(DATA_KEY)\n ? 'toggle' : {\n ...$(target).data(),\n ...$(this).data()\n }\n\n if (this.tagName === 'A' || this.tagName === 'AREA') {\n event.preventDefault()\n }\n\n const $target = $(target).one(Event.SHOW, (showEvent) => {\n if (showEvent.isDefaultPrevented()) {\n // Only register focus restorer if modal will actually get shown\n return\n }\n\n $target.one(Event.HIDDEN, () => {\n if ($(this).is(':visible')) {\n this.focus()\n }\n })\n })\n\n Modal._jQueryInterface.call($(target), config, this)\n })\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Modal._jQueryInterface\n $.fn[NAME].Constructor = Modal\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Modal._jQueryInterface\n }\n\n return Modal\n})($)\n\nexport default Modal\n","import $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Tooltip = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'tooltip'\n const VERSION = '4.1.3'\n const DATA_KEY = 'bs.tooltip'\n const EVENT_KEY = `.${DATA_KEY}`\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const CLASS_PREFIX = 'bs-tooltip'\n const BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\n const DefaultType = {\n animation : 'boolean',\n template : 'string',\n title : '(string|element|function)',\n trigger : 'string',\n delay : '(number|object)',\n html : 'boolean',\n selector : '(string|boolean)',\n placement : '(string|function)',\n offset : '(number|string)',\n container : '(string|element|boolean)',\n fallbackPlacement : '(string|array)',\n boundary : '(string|element)'\n }\n\n const AttachmentMap = {\n AUTO : 'auto',\n TOP : 'top',\n RIGHT : 'right',\n BOTTOM : 'bottom',\n LEFT : 'left'\n }\n\n const Default = {\n animation : true,\n template : '
' +\n '
' +\n '
',\n trigger : 'hover focus',\n title : '',\n delay : 0,\n html : false,\n selector : false,\n placement : 'top',\n offset : 0,\n container : false,\n fallbackPlacement : 'flip',\n boundary : 'scrollParent'\n }\n\n const HoverState = {\n SHOW : 'show',\n OUT : 'out'\n }\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n INSERTED : `inserted${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n FOCUSOUT : `focusout${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`\n }\n\n const ClassName = {\n FADE : 'fade',\n SHOW : 'show'\n }\n\n const Selector = {\n TOOLTIP : '.tooltip',\n TOOLTIP_INNER : '.tooltip-inner',\n ARROW : '.arrow'\n }\n\n const Trigger = {\n HOVER : 'hover',\n FOCUS : 'focus',\n CLICK : 'click',\n MANUAL : 'manual'\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Tooltip {\n constructor(element, config) {\n /**\n * Check for Popper dependency\n * Popper - https://popper.js.org\n */\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap tooltips require Popper.js (https://popper.js.org)')\n }\n\n // private\n this._isEnabled = true\n this._timeout = 0\n this._hoverState = ''\n this._activeTrigger = {}\n this._popper = null\n\n // Protected\n this.element = element\n this.config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n enable() {\n this._isEnabled = true\n }\n\n disable() {\n this._isEnabled = false\n }\n\n toggleEnabled() {\n this._isEnabled = !this._isEnabled\n }\n\n toggle(event) {\n if (!this._isEnabled) {\n return\n }\n\n if (event) {\n const dataKey = this.constructor.DATA_KEY\n let context = $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n context._activeTrigger.click = !context._activeTrigger.click\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context)\n } else {\n context._leave(null, context)\n }\n } else {\n if ($(this.getTipElement()).hasClass(ClassName.SHOW)) {\n this._leave(null, this)\n return\n }\n\n this._enter(null, this)\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n $.removeData(this.element, this.constructor.DATA_KEY)\n\n $(this.element).off(this.constructor.EVENT_KEY)\n $(this.element).closest('.modal').off('hide.bs.modal')\n\n if (this.tip) {\n $(this.tip).remove()\n }\n\n this._isEnabled = null\n this._timeout = null\n this._hoverState = null\n this._activeTrigger = null\n if (this._popper !== null) {\n this._popper.destroy()\n }\n\n this._popper = null\n this.element = null\n this.config = null\n this.tip = null\n }\n\n show() {\n if ($(this.element).css('display') === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n const showEvent = $.Event(this.constructor.Event.SHOW)\n if (this.isWithContent() && this._isEnabled) {\n $(this.element).trigger(showEvent)\n\n const isInTheDom = $.contains(\n this.element.ownerDocument.documentElement,\n this.element\n )\n\n if (showEvent.isDefaultPrevented() || !isInTheDom) {\n return\n }\n\n const tip = this.getTipElement()\n const tipId = Util.getUID(this.constructor.NAME)\n\n tip.setAttribute('id', tipId)\n this.element.setAttribute('aria-describedby', tipId)\n\n this.setContent()\n\n if (this.config.animation) {\n $(tip).addClass(ClassName.FADE)\n }\n\n const placement = typeof this.config.placement === 'function'\n ? this.config.placement.call(this, tip, this.element)\n : this.config.placement\n\n const attachment = this._getAttachment(placement)\n this.addAttachmentClass(attachment)\n\n const container = this.config.container === false ? document.body : $(document).find(this.config.container)\n\n $(tip).data(this.constructor.DATA_KEY, this)\n\n if (!$.contains(this.element.ownerDocument.documentElement, this.tip)) {\n $(tip).appendTo(container)\n }\n\n $(this.element).trigger(this.constructor.Event.INSERTED)\n\n this._popper = new Popper(this.element, tip, {\n placement: attachment,\n modifiers: {\n offset: {\n offset: this.config.offset\n },\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: Selector.ARROW\n },\n preventOverflow: {\n boundariesElement: this.config.boundary\n }\n },\n onCreate: (data) => {\n if (data.originalPlacement !== data.placement) {\n this._handlePopperPlacementChange(data)\n }\n },\n onUpdate: (data) => {\n this._handlePopperPlacementChange(data)\n }\n })\n\n $(tip).addClass(ClassName.SHOW)\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().on('mouseover', null, $.noop)\n }\n\n const complete = () => {\n if (this.config.animation) {\n this._fixTransition()\n }\n const prevHoverState = this._hoverState\n this._hoverState = null\n\n $(this.element).trigger(this.constructor.Event.SHOWN)\n\n if (prevHoverState === HoverState.OUT) {\n this._leave(null, this)\n }\n }\n\n if ($(this.tip).hasClass(ClassName.FADE)) {\n const transitionDuration = Util.getTransitionDurationFromElement(this.tip)\n\n $(this.tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n }\n\n hide(callback) {\n const tip = this.getTipElement()\n const hideEvent = $.Event(this.constructor.Event.HIDE)\n const complete = () => {\n if (this._hoverState !== HoverState.SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip)\n }\n\n this._cleanTipClass()\n this.element.removeAttribute('aria-describedby')\n $(this.element).trigger(this.constructor.Event.HIDDEN)\n if (this._popper !== null) {\n this._popper.destroy()\n }\n\n if (callback) {\n callback()\n }\n }\n\n $(this.element).trigger(hideEvent)\n\n if (hideEvent.isDefaultPrevented()) {\n return\n }\n\n $(tip).removeClass(ClassName.SHOW)\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().off('mouseover', null, $.noop)\n }\n\n this._activeTrigger[Trigger.CLICK] = false\n this._activeTrigger[Trigger.FOCUS] = false\n this._activeTrigger[Trigger.HOVER] = false\n\n if ($(this.tip).hasClass(ClassName.FADE)) {\n const transitionDuration = Util.getTransitionDurationFromElement(tip)\n\n $(tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n\n this._hoverState = ''\n }\n\n update() {\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Protected\n\n isWithContent() {\n return Boolean(this.getTitle())\n }\n\n addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n this.tip = this.tip || $(this.config.template)[0]\n return this.tip\n }\n\n setContent() {\n const tip = this.getTipElement()\n this.setElementContent($(tip.querySelectorAll(Selector.TOOLTIP_INNER)), this.getTitle())\n $(tip).removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\n }\n\n setElementContent($element, content) {\n const html = this.config.html\n if (typeof content === 'object' && (content.nodeType || content.jquery)) {\n // Content is a DOM node or a jQuery\n if (html) {\n if (!$(content).parent().is($element)) {\n $element.empty().append(content)\n }\n } else {\n $element.text($(content).text())\n }\n } else {\n $element[html ? 'html' : 'text'](content)\n }\n }\n\n getTitle() {\n let title = this.element.getAttribute('data-original-title')\n\n if (!title) {\n title = typeof this.config.title === 'function'\n ? this.config.title.call(this.element)\n : this.config.title\n }\n\n return title\n }\n\n // Private\n\n _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()]\n }\n\n _setListeners() {\n const triggers = this.config.trigger.split(' ')\n\n triggers.forEach((trigger) => {\n if (trigger === 'click') {\n $(this.element).on(\n this.constructor.Event.CLICK,\n this.config.selector,\n (event) => this.toggle(event)\n )\n } else if (trigger !== Trigger.MANUAL) {\n const eventIn = trigger === Trigger.HOVER\n ? this.constructor.Event.MOUSEENTER\n : this.constructor.Event.FOCUSIN\n const eventOut = trigger === Trigger.HOVER\n ? this.constructor.Event.MOUSELEAVE\n : this.constructor.Event.FOCUSOUT\n\n $(this.element)\n .on(\n eventIn,\n this.config.selector,\n (event) => this._enter(event)\n )\n .on(\n eventOut,\n this.config.selector,\n (event) => this._leave(event)\n )\n }\n\n $(this.element).closest('.modal').on(\n 'hide.bs.modal',\n () => this.hide()\n )\n })\n\n if (this.config.selector) {\n this.config = {\n ...this.config,\n trigger: 'manual',\n selector: ''\n }\n } else {\n this._fixTitle()\n }\n }\n\n _fixTitle() {\n const titleType = typeof this.element.getAttribute('data-original-title')\n if (this.element.getAttribute('title') ||\n titleType !== 'string') {\n this.element.setAttribute(\n 'data-original-title',\n this.element.getAttribute('title') || ''\n )\n this.element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n const dataKey = this.constructor.DATA_KEY\n\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER\n ] = true\n }\n\n if ($(context.getTipElement()).hasClass(ClassName.SHOW) ||\n context._hoverState === HoverState.SHOW) {\n context._hoverState = HoverState.SHOW\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.SHOW\n\n if (!context.config.delay || !context.config.delay.show) {\n context.show()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.SHOW) {\n context.show()\n }\n }, context.config.delay.show)\n }\n\n _leave(event, context) {\n const dataKey = this.constructor.DATA_KEY\n\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER\n ] = false\n }\n\n if (context._isWithActiveTrigger()) {\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.OUT\n\n if (!context.config.delay || !context.config.delay.hide) {\n context.hide()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.OUT) {\n context.hide()\n }\n }, context.config.delay.hide)\n }\n\n _isWithActiveTrigger() {\n for (const trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true\n }\n }\n\n return false\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...$(this.element).data(),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n }\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString()\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString()\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n if (this.config) {\n for (const key in this.config) {\n if (this.constructor.Default[key] !== this.config[key]) {\n config[key] = this.config[key]\n }\n }\n }\n\n return config\n }\n\n _cleanTipClass() {\n const $tip = $(this.getTipElement())\n const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n _handlePopperPlacementChange(popperData) {\n const popperInstance = popperData.instance\n this.tip = popperInstance.popper\n this._cleanTipClass()\n this.addAttachmentClass(this._getAttachment(popperData.placement))\n }\n\n _fixTransition() {\n const tip = this.getTipElement()\n const initConfigAnimation = this.config.animation\n if (tip.getAttribute('x-placement') !== null) {\n return\n }\n $(tip).removeClass(ClassName.FADE)\n this.config.animation = false\n this.hide()\n this.show()\n this.config.animation = initConfigAnimation\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Tooltip(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Tooltip._jQueryInterface\n $.fn[NAME].Constructor = Tooltip\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tooltip._jQueryInterface\n }\n\n return Tooltip\n})($, Popper)\n\nexport default Tooltip\n","import $ from 'jquery'\nimport Tooltip from './tooltip'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Popover = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'popover'\n const VERSION = '4.1.3'\n const DATA_KEY = 'bs.popover'\n const EVENT_KEY = `.${DATA_KEY}`\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const CLASS_PREFIX = 'bs-popover'\n const BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\n const Default = {\n ...Tooltip.Default,\n placement : 'right',\n trigger : 'click',\n content : '',\n template : '
' +\n '
' +\n '

' +\n '
'\n }\n\n const DefaultType = {\n ...Tooltip.DefaultType,\n content : '(string|element|function)'\n }\n\n const ClassName = {\n FADE : 'fade',\n SHOW : 'show'\n }\n\n const Selector = {\n TITLE : '.popover-header',\n CONTENT : '.popover-body'\n }\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n INSERTED : `inserted${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n FOCUSOUT : `focusout${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Popover extends Tooltip {\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Overrides\n\n isWithContent() {\n return this.getTitle() || this._getContent()\n }\n\n addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n this.tip = this.tip || $(this.config.template)[0]\n return this.tip\n }\n\n setContent() {\n const $tip = $(this.getTipElement())\n\n // We use append for html objects to maintain js events\n this.setElementContent($tip.find(Selector.TITLE), this.getTitle())\n let content = this._getContent()\n if (typeof content === 'function') {\n content = content.call(this.element)\n }\n this.setElementContent($tip.find(Selector.CONTENT), content)\n\n $tip.removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\n }\n\n // Private\n\n _getContent() {\n return this.element.getAttribute('data-content') ||\n this.config.content\n }\n\n _cleanTipClass() {\n const $tip = $(this.getTipElement())\n const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data && /destroy|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Popover(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Popover._jQueryInterface\n $.fn[NAME].Constructor = Popover\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Popover._jQueryInterface\n }\n\n return Popover\n})($)\n\nexport default Popover\n","import $ from 'jquery'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst ScrollSpy = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'scrollspy'\n const VERSION = '4.1.3'\n const DATA_KEY = 'bs.scrollspy'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const Default = {\n offset : 10,\n method : 'auto',\n target : ''\n }\n\n const DefaultType = {\n offset : 'number',\n method : 'string',\n target : '(string|element)'\n }\n\n const Event = {\n ACTIVATE : `activate${EVENT_KEY}`,\n SCROLL : `scroll${EVENT_KEY}`,\n LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n DROPDOWN_ITEM : 'dropdown-item',\n DROPDOWN_MENU : 'dropdown-menu',\n ACTIVE : 'active'\n }\n\n const Selector = {\n DATA_SPY : '[data-spy=\"scroll\"]',\n ACTIVE : '.active',\n NAV_LIST_GROUP : '.nav, .list-group',\n NAV_LINKS : '.nav-link',\n NAV_ITEMS : '.nav-item',\n LIST_ITEMS : '.list-group-item',\n DROPDOWN : '.dropdown',\n DROPDOWN_ITEMS : '.dropdown-item',\n DROPDOWN_TOGGLE : '.dropdown-toggle'\n }\n\n const OffsetMethod = {\n OFFSET : 'offset',\n POSITION : 'position'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class ScrollSpy {\n constructor(element, config) {\n this._element = element\n this._scrollElement = element.tagName === 'BODY' ? window : element\n this._config = this._getConfig(config)\n this._selector = `${this._config.target} ${Selector.NAV_LINKS},` +\n `${this._config.target} ${Selector.LIST_ITEMS},` +\n `${this._config.target} ${Selector.DROPDOWN_ITEMS}`\n this._offsets = []\n this._targets = []\n this._activeTarget = null\n this._scrollHeight = 0\n\n $(this._scrollElement).on(Event.SCROLL, (event) => this._process(event))\n\n this.refresh()\n this._process()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n refresh() {\n const autoMethod = this._scrollElement === this._scrollElement.window\n ? OffsetMethod.OFFSET : OffsetMethod.POSITION\n\n const offsetMethod = this._config.method === 'auto'\n ? autoMethod : this._config.method\n\n const offsetBase = offsetMethod === OffsetMethod.POSITION\n ? this._getScrollTop() : 0\n\n this._offsets = []\n this._targets = []\n\n this._scrollHeight = this._getScrollHeight()\n\n const targets = [].slice.call(document.querySelectorAll(this._selector))\n\n targets\n .map((element) => {\n let target\n const targetSelector = Util.getSelectorFromElement(element)\n\n if (targetSelector) {\n target = document.querySelector(targetSelector)\n }\n\n if (target) {\n const targetBCR = target.getBoundingClientRect()\n if (targetBCR.width || targetBCR.height) {\n // TODO (fat): remove sketch reliance on jQuery position/offset\n return [\n $(target)[offsetMethod]().top + offsetBase,\n targetSelector\n ]\n }\n }\n return null\n })\n .filter((item) => item)\n .sort((a, b) => a[0] - b[0])\n .forEach((item) => {\n this._offsets.push(item[0])\n this._targets.push(item[1])\n })\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._scrollElement).off(EVENT_KEY)\n\n this._element = null\n this._scrollElement = null\n this._config = null\n this._selector = null\n this._offsets = null\n this._targets = null\n this._activeTarget = null\n this._scrollHeight = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (typeof config.target !== 'string') {\n let id = $(config.target).attr('id')\n if (!id) {\n id = Util.getUID(NAME)\n $(config.target).attr('id', id)\n }\n config.target = `#${id}`\n }\n\n Util.typeCheckConfig(NAME, config, DefaultType)\n\n return config\n }\n\n _getScrollTop() {\n return this._scrollElement === window\n ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop\n }\n\n _getScrollHeight() {\n return this._scrollElement.scrollHeight || Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight\n )\n }\n\n _getOffsetHeight() {\n return this._scrollElement === window\n ? window.innerHeight : this._scrollElement.getBoundingClientRect().height\n }\n\n _process() {\n const scrollTop = this._getScrollTop() + this._config.offset\n const scrollHeight = this._getScrollHeight()\n const maxScroll = this._config.offset +\n scrollHeight -\n this._getOffsetHeight()\n\n if (this._scrollHeight !== scrollHeight) {\n this.refresh()\n }\n\n if (scrollTop >= maxScroll) {\n const target = this._targets[this._targets.length - 1]\n\n if (this._activeTarget !== target) {\n this._activate(target)\n }\n return\n }\n\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n this._activeTarget = null\n this._clear()\n return\n }\n\n const offsetLength = this._offsets.length\n for (let i = offsetLength; i--;) {\n const isActiveTarget = this._activeTarget !== this._targets[i] &&\n scrollTop >= this._offsets[i] &&\n (typeof this._offsets[i + 1] === 'undefined' ||\n scrollTop < this._offsets[i + 1])\n\n if (isActiveTarget) {\n this._activate(this._targets[i])\n }\n }\n }\n\n _activate(target) {\n this._activeTarget = target\n\n this._clear()\n\n let queries = this._selector.split(',')\n // eslint-disable-next-line arrow-body-style\n queries = queries.map((selector) => {\n return `${selector}[data-target=\"${target}\"],` +\n `${selector}[href=\"${target}\"]`\n })\n\n const $link = $([].slice.call(document.querySelectorAll(queries.join(','))))\n\n if ($link.hasClass(ClassName.DROPDOWN_ITEM)) {\n $link.closest(Selector.DROPDOWN).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE)\n $link.addClass(ClassName.ACTIVE)\n } else {\n // Set triggered link as active\n $link.addClass(ClassName.ACTIVE)\n // Set triggered links parents as active\n // With both
From c63c4c40765095cce9b4bd2ca6c7be63d351a90f Mon Sep 17 00:00:00 2001 From: GeorgianaElena Date: Tue, 7 Jul 2020 18:31:36 +0300 Subject: [PATCH 088/284] Fix app url --- docs/_static/link_gen/link.js | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/docs/_static/link_gen/link.js b/docs/_static/link_gen/link.js index 90f7d4b6..e06c1099 100644 --- a/docs/_static/link_gen/link.js +++ b/docs/_static/link_gen/link.js @@ -134,12 +134,10 @@ function displayLink() { var userName = new URL(repoUrl).pathname.split('/')[1]; var urlPath; if (activeTab === "tab-auth-binder") { - if (contentRepoUrl.disabled) { - urlPath = apps[appName].generateUrlPath(repoName + '/' + filePath); - } else { - var contentRepoName = new URL(contentRepoUrl).pathname.split('/').pop().replace(/\.git$/, ''); - urlPath = apps[appName].generateUrlPath(contentRepoName + '/' + filePath); - } + var contentRepoName = new URL(contentRepoUrl).pathname.split('/').pop().replace(/\.git$/, ''); + urlPath = apps[appName].generateUrlPath(contentRepoName + '/' + filePath); + } else { + urlPath = apps[appName].generateUrlPath(repoName + '/' + filePath); } } From 2600691fcdfa84ebded97dda02484e9d6b461e4f Mon Sep 17 00:00:00 2001 From: Dan Lester Date: Thu, 9 Jul 2020 19:47:58 +0100 Subject: [PATCH 089/284] Compare current branch to target Otherwise switching branches doesn't work as per issue https://github.com/jupyterhub/nbgitpuller/issues/124 --- nbgitpuller/pull.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nbgitpuller/pull.py b/nbgitpuller/pull.py index 1911eeca..85daaf86 100644 --- a/nbgitpuller/pull.py +++ b/nbgitpuller/pull.py @@ -132,7 +132,7 @@ def find_upstream_changed(self, kind): Return list of files that have been changed upstream belonging to a particular kind of change """ output = subprocess.check_output([ - 'git', 'log', '{}..origin/{}'.format(self.branch_name, self.branch_name), + 'git', 'log', '..origin/{}'.format(self.branch_name), '--oneline', '--name-status' ], cwd=self.repo_dir).decode() files = [] From 7cb4506328ad7568808cb59a12f517941b1675c0 Mon Sep 17 00:00:00 2001 From: GeorgianaElena Date: Thu, 16 Jul 2020 13:18:27 +0300 Subject: [PATCH 090/284] Make env repo branch required for binder --- docs/_static/link_gen/link.js | 4 ++++ docs/link.rst | 3 +++ 2 files changed, 7 insertions(+) diff --git a/docs/_static/link_gen/link.js b/docs/_static/link_gen/link.js index e06c1099..fc14501e 100644 --- a/docs/_static/link_gen/link.js +++ b/docs/_static/link_gen/link.js @@ -88,6 +88,7 @@ function changeTab(div) { var hub = document.getElementById("hub"); var hub_help_text = document.getElementById("hub-help-text"); var env_repo = document.getElementById("repo"); + var env_repo_branch = document.getElementById("branch"); var env_repo_help_text = document.getElementById("env-repo-help-text"); var content_repo = document.getElementById("content-repo-group"); var content_branch = document.getElementById("content-branch-group"); @@ -100,6 +101,8 @@ function changeTab(div) { hub.labels[0].innerHTML = "BinderHub URL"; env_repo.labels[0].innerHTML = "Git Environment Repository URL"; env_repo_help_text.hidden = false; + env_repo_branch.required = true; + env_repo_branch.pattern = ".+"; content_repo.hidden = false; content_branch.hidden = false; } else { @@ -108,6 +111,7 @@ function changeTab(div) { hub.labels[0].innerHTML = "JupyterHub URL"; env_repo.labels[0].innerHTML = "Git Repository URL"; env_repo_help_text.hidden = true; + env_repo_branch.required = false; content_repo.hidden = true; content_branch.hidden = true; } diff --git a/docs/link.rst b/docs/link.rst index ec92414f..c3485839 100644 --- a/docs/link.rst +++ b/docs/link.rst @@ -76,6 +76,9 @@ Use the following form to create your own ``nbgitpuller`` links. branch
+
+ Must specify a branch name +
From dd6de53ba17912dcd61b4f4d6d9cfd4120e4fe3c Mon Sep 17 00:00:00 2001 From: GeorgianaElena Date: Thu, 16 Jul 2020 16:53:40 +0300 Subject: [PATCH 091/284] Make env repo be master by default --- docs/link.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/link.rst b/docs/link.rst index c3485839..e4c8ff4c 100644 --- a/docs/link.rst +++ b/docs/link.rst @@ -75,7 +75,7 @@ Use the following form to create your own ``nbgitpuller`` links.
branch
- +
Must specify a branch name
From 52e9b5132889e344271dd25964434c2723ec68f9 Mon Sep 17 00:00:00 2001 From: GeorgianaElena Date: Thu, 16 Jul 2020 23:17:09 +0300 Subject: [PATCH 092/284] Make content repo be master by default --- docs/link.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/link.rst b/docs/link.rst index e4c8ff4c..db65addf 100644 --- a/docs/link.rst +++ b/docs/link.rst @@ -97,7 +97,7 @@ Use the following form to create your own ``nbgitpuller`` links.
branch
- + From 9ca719e6e369279588e32ff4b8e9f2db0e7916b6 Mon Sep 17 00:00:00 2001 From: Simon Li Date: Sat, 25 Jul 2020 17:51:32 +0100 Subject: [PATCH 093/284] Fix README link to docs --- README.rst | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/README.rst b/README.rst index 4569fcb5..d3909d97 100644 --- a/README.rst +++ b/README.rst @@ -3,8 +3,7 @@ nbgitpuller =========== ``nbgitpuller`` lets you distribute content in a git repository to your -students by having them click a simple link. :ref:`Automatic, opinioned -conflict resolution ` ensures that your students are +students by having them click a simple link. `Automatic merging `_ ensures that your students are never exposed to ``git`` directly. It is primarily used with a JupyterHub, but can also work on students' local computers. From 7b8c51bdb107f722118b4a8f77448148bebbf78c Mon Sep 17 00:00:00 2001 From: Simon Li Date: Sat, 25 Jul 2020 17:52:47 +0100 Subject: [PATCH 094/284] Add automated travis pypi deployment --- .travis.yml | 8 +++++++ RELEASE.md | 67 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 75 insertions(+) create mode 100644 RELEASE.md diff --git a/.travis.yml b/.travis.yml index beaa2d02..1c418f6f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,3 +4,11 @@ python: - "3.6" install: pip install tox-travis script: tox + +deploy: + - provider: pypi + user: __token__ + # password: see secret PYPI_PASSWORD variable + distributions: sdist bdist_wheel + on: + tags: true diff --git a/RELEASE.md b/RELEASE.md new file mode 100644 index 00000000..10b26bab --- /dev/null +++ b/RELEASE.md @@ -0,0 +1,67 @@ +# How to make a release + +`nbgitpuller` is a package available on +[PyPI](https://pypi.org/project/nbgitpuller/) and +[conda-forge](https://anaconda.org/conda-forge/nbgitpuller). +These are instructions on how to make a release on PyPI. +The PyPI release is done automatically by TravisCI when a tag is pushed. + + +## Steps to make a release + +1. Checkout master and make sure it is up to date. + + ```shell + ORIGIN=${ORIGIN:-origin} # set to the canonical remote, e.g. 'upstream' if 'origin' is not the official repo + git checkout master + git fetch $ORIGIN master + git reset --hard $ORIGIN/master + # WARNING! This next command deletes any untracked files in the repo + git clean -xfd + ``` + +1. Set the `__version__` variable in + [`nbgitpuller/version.py`](nbgitpuller/version.py) + and make a commit. + + ``` + git add nbgitpuller/version.py + VERSION=... # e.g. 1.2.3 + git commit -m "release $VERSION" + ``` + +1. Reset the `__version__` variable in + [`nbgitpuller/version.py`](nbgitpuller/version.py) + to an incremented patch version with a `dev` element, then make a commit. + ``` + git add nbgitpuller/version.py + git commit -m "back to dev" + ``` + +1. Push your two commits to master. + + ```shell + # first push commits without a tags to ensure the + # commits comes through, because a tag can otherwise + # be pushed all alone without company of rejected + # commits, and we want have our tagged release coupled + # with a specific commit in master + git push $ORIGIN master + ``` + +1. Create a git tag for the pushed release commit and push it. + + ```shell + git tag -a $VERSION -m $VERSION HEAD~1 + + # then verify you tagged the right commit + git log + + # then push it + git push $ORIGIN refs/tags/$VERSION + ``` + +1. Following the release to PyPI, an automated PR should arrive to + [conda-forge/nbgitpuller-feedstock](https://github.com/conda-forge/nbgitpuller-feedstock), + check for the tests to succeed on this PR and then merge it to successfully + update the package for `conda` on the `conda-forge` channel. From 897c3e692fe480c860033e92975d6c73ac95ce7e Mon Sep 17 00:00:00 2001 From: Simon Li Date: Sat, 25 Jul 2020 17:54:09 +0100 Subject: [PATCH 095/284] Add long_description to setup.py https://pypi.org/project/nbgitpuller/0.8.0/ is an empty page --- setup.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/setup.py b/setup.py index 369bd2ba..680c6745 100644 --- a/setup.py +++ b/setup.py @@ -16,6 +16,8 @@ author='Peter Veerman, YuviPanda', author_email='peterkangveerman@gmail.com', description='Notebook Extension to do one-way synchronization of git repositories', + long_description=open('README.rst').read(), + long_description_content_type='text/x-rst', packages=find_packages(), include_package_data=True, platforms='any', From 0d240577e9b04d638e05ecc467f2328cd3f8b8a1 Mon Sep 17 00:00:00 2001 From: Simon Li Date: Mon, 27 Jul 2020 19:33:21 +0100 Subject: [PATCH 096/284] Deploy tag to pypi even if test fails --- .travis.yml | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/.travis.yml b/.travis.yml index 1c418f6f..efc5d100 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,13 +2,20 @@ sudo: false language: python python: - "3.6" -install: pip install tox-travis -script: tox -deploy: - - provider: pypi - user: __token__ - # password: see secret PYPI_PASSWORD variable - distributions: sdist bdist_wheel - on: - tags: true +jobs: + include: + - name: test + install: pip install tox-travis + script: tox + - name: deploy + if: tag IS present + script: skip + skip_cleanup: true + deploy: + provider: pypi + user: __token__ + # password: see secret PYPI_PASSWORD variable + distributions: sdist bdist_wheel + on: + tags: true From 9524b7252486a1fbcce82a43a7e4c01e2ecc2ec0 Mon Sep 17 00:00:00 2001 From: Simon Li Date: Mon, 27 Jul 2020 19:58:08 +0100 Subject: [PATCH 097/284] README: Use absolute path, needed for pypi website --- README.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.rst b/README.rst index d3909d97..034d93bc 100644 --- a/README.rst +++ b/README.rst @@ -7,7 +7,7 @@ students by having them click a simple link. `Automatic merging `_ From 98548d0b58852c7258475aeef371f9190a100e8e Mon Sep 17 00:00:00 2001 From: Simon Li Date: Mon, 27 Jul 2020 20:05:36 +0100 Subject: [PATCH 098/284] Replace data-8 with jupyterhub --- nbgitpuller/handlers.py | 2 +- nbgitpuller/static/index.js | 2 +- setup.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/nbgitpuller/handlers.py b/nbgitpuller/handlers.py index f939d768..5cfc0b42 100644 --- a/nbgitpuller/handlers.py +++ b/nbgitpuller/handlers.py @@ -192,7 +192,7 @@ class LegacyInteractRedirectHandler(IPythonHandler): @gen.coroutine def get(self): repo = self.get_argument('repo') - account = self.get_argument('account', 'data-8') + account = self.get_argument('account', 'jupyterhub') repo_url = 'https://github.com/{account}/{repo}'.format(account=account, repo=repo) query = { 'repo': repo_url, diff --git a/nbgitpuller/static/index.js b/nbgitpuller/static/index.js index 7bd193c5..53cd0cc0 100644 --- a/nbgitpuller/static/index.js +++ b/nbgitpuller/static/index.js @@ -92,7 +92,7 @@ require([ } this.visible = visible; if (visible) { - // See https://github.com/data-8/nbgitpuller/pull/46 on why this is here. + // See https://github.com/jupyterhub/nbgitpuller/pull/46 on why this is here. if (!this.term.element) { this.term.open($(this.termSelector)[0]); } diff --git a/setup.py b/setup.py index 369bd2ba..1b1035a0 100644 --- a/setup.py +++ b/setup.py @@ -11,7 +11,7 @@ setup( name='nbgitpuller', version=__version__, - url='https://github.com/data-8/nbgitpuller', + url='https://github.com/jupyterhub/nbgitpuller', license='3-clause BSD', author='Peter Veerman, YuviPanda', author_email='peterkangveerman@gmail.com', From 63819cd17ec09885bcf80ff7a0ce5fe5ea3259e7 Mon Sep 17 00:00:00 2001 From: Simon Li Date: Mon, 27 Jul 2020 20:17:35 +0100 Subject: [PATCH 099/284] Restore data-8 for LegacyInteractRedirectHandler --- nbgitpuller/handlers.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nbgitpuller/handlers.py b/nbgitpuller/handlers.py index 5cfc0b42..f939d768 100644 --- a/nbgitpuller/handlers.py +++ b/nbgitpuller/handlers.py @@ -192,7 +192,7 @@ class LegacyInteractRedirectHandler(IPythonHandler): @gen.coroutine def get(self): repo = self.get_argument('repo') - account = self.get_argument('account', 'jupyterhub') + account = self.get_argument('account', 'data-8') repo_url = 'https://github.com/{account}/{repo}'.format(account=account, repo=repo) query = { 'repo': repo_url, From 877eb3e2a752f9e9e10fb8b7c184aaa1854cce34 Mon Sep 17 00:00:00 2001 From: Erik Sundell Date: Tue, 28 Jul 2020 12:56:17 +0200 Subject: [PATCH 100/284] CI: please flake8 --- .travis.yml | 2 +- nbgitpuller/__init__.py | 1 + nbgitpuller/handlers.py | 13 ++++++++----- nbgitpuller/pull.py | 8 ++++---- tests/test_gitpuller.py | 17 +++++++++++++---- tox.ini | 6 +++--- 6 files changed, 30 insertions(+), 17 deletions(-) diff --git a/.travis.yml b/.travis.yml index beaa2d02..14dfb40d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,6 +1,6 @@ sudo: false language: python python: - - "3.6" + - "3.7" install: pip install tox-travis script: tox diff --git a/nbgitpuller/__init__.py b/nbgitpuller/__init__.py index ac071e67..f7bd3773 100644 --- a/nbgitpuller/__init__.py +++ b/nbgitpuller/__init__.py @@ -5,6 +5,7 @@ from tornado.web import StaticFileHandler import os + def _jupyter_server_extension_paths(): return [{ 'module': 'nbgitpuller', diff --git a/nbgitpuller/handlers.py b/nbgitpuller/handlers.py index 66036c62..e2114dc1 100644 --- a/nbgitpuller/handlers.py +++ b/nbgitpuller/handlers.py @@ -2,7 +2,6 @@ import traceback import urllib.parse -from notebook.utils import url_path_join from notebook.base.handlers import IPythonHandler import threading import json @@ -13,6 +12,7 @@ from .pull import GitPuller from .version import __version__ + class SyncHandler(IPythonHandler): def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) @@ -74,6 +74,7 @@ def get(self): gp = GitPuller(repo, branch, repo_dir, depth=depth, parent=self.settings['nbapp']) q = Queue() + def pull(): try: for line in gp.pull(): @@ -100,8 +101,8 @@ def pull(): 'phase': 'error', 'message': str(progress), 'output': '\n'.join([ - l.strip() - for l in traceback.format_exception( + line.strip() + for line in traceback.format_exception( type(progress), progress, progress.__traceback__ ) ]) @@ -116,8 +117,8 @@ def pull(): 'phase': 'error', 'message': str(e), 'output': '\n'.join([ - l.strip() - for l in traceback.format_exception( + line.strip() + for line in traceback.format_exception( type(e), e, e.__traceback__ ) ]) @@ -125,6 +126,7 @@ def pull(): finally: self.git_lock.release() + class UIHandler(IPythonHandler): def initialize(self): super().initialize() @@ -183,6 +185,7 @@ def get(self): ) self.redirect(new_url) + class LegacyInteractRedirectHandler(IPythonHandler): @web.authenticated @gen.coroutine diff --git a/nbgitpuller/pull.py b/nbgitpuller/pull.py index 3d05d7fb..e8988d48 100644 --- a/nbgitpuller/pull.py +++ b/nbgitpuller/pull.py @@ -4,10 +4,11 @@ import time import argparse import datetime -from traitlets import Integer, default +from traitlets import Integer from traitlets.config import Configurable from functools import partial + def execute_cmd(cmd, **kwargs): """ Call given command, yielding output line by line @@ -23,6 +24,7 @@ def execute_cmd(cmd, **kwargs): # This should behave the same as .readline(), but splits on `\r` OR `\n`, # not just `\n`. buf = [] + def flush(): line = b''.join(buf).decode('utf8', 'replace') buf[:] = [] @@ -42,6 +44,7 @@ def flush(): if ret != 0: raise subprocess.CalledProcessError(ret, cmd) + class GitPuller(Configurable): depth = Integer( int(os.environ.get('NBGITPULLER_DEPTH', 1)), @@ -88,7 +91,6 @@ def initialize_repo(self): yield from execute_cmd(clone_args) logging.info('Repo {} initialized'.format(self.repo_dir)) - def reset_deleted_files(self): """ Runs the equivalent of git checkout -- for each file that was @@ -177,7 +179,6 @@ def rename_local_untracked(self): os.rename(f, new_file_name) yield 'Renamed {} to {} to avoid conflict with upstream'.format(f, new_file_name) - def update(self): """ Do the pulling if necessary @@ -225,7 +226,6 @@ def update(self): ], cwd=self.repo_dir) - def main(): """ Synchronizes a github repository with a local repository. diff --git a/tests/test_gitpuller.py b/tests/test_gitpuller.py index deb68217..5e407f34 100644 --- a/tests/test_gitpuller.py +++ b/tests/test_gitpuller.py @@ -4,12 +4,12 @@ import glob import time import pytest -from tempfile import NamedTemporaryFile from traitlets.config.configurable import Configurable from nbgitpuller import GitPuller + class Repository: def __init__(self, path='remote'): self.path = path @@ -67,8 +67,8 @@ def __init__(self, remote, path='puller', *args, **kwargs): self.gp = GitPuller(remotepath, 'master', path, *args, **kwargs) def pull_all(self): - for l in self.gp.pull(): - print('{}: {}'.format(self.path, l.rstrip())) + for line in self.gp.pull(): + print('{}: {}'.format(self.path, line.rstrip())) def __enter__(self): print() @@ -236,6 +236,7 @@ def test_reset_file(): assert puller.git('rev-parse', 'HEAD') == pusher.git('rev-parse', 'HEAD') assert puller.read_file('README.md') == pusher.read_file('README.md') == '1' + @pytest.fixture(scope='module') def long_remote(): with Remote("long_remote") as remote, Pusher(remote, "lr_pusher") as pusher: @@ -245,6 +246,7 @@ def long_remote(): yield remote + @pytest.fixture(scope="function") def clean_environment(): """ @@ -267,16 +269,20 @@ def clean_environment(): elif os.environ.get(var): del os.environ[var] + def count_loglines(repository): return len(repository.git('log', '--oneline').split("\n")) + def test_unshallow_clone(long_remote, clean_environment): """ Sanity-test that clones with 10 commits have 10 log entries """ + os.environ['NBGITPULLER_DEPTH'] = "0" with Puller(long_remote, 'normal') as puller: assert count_loglines(puller) == 10 + def test_shallow_clone(long_remote, clean_environment): """ Test that shallow clones only have a portion of the git history @@ -284,6 +290,7 @@ def test_shallow_clone(long_remote, clean_environment): with Puller(long_remote, 'shallow4', depth=4) as puller: assert count_loglines(puller) == 4 + def test_shallow_clone_config(long_remote, clean_environment): """ Test that shallow clones can be configured via parent Configurables @@ -293,10 +300,10 @@ def __init__(self): super(TempConfig) self.config['GitPuller']['depth'] = 5 - with Puller(long_remote, 'shallow4', parent=TempConfig()) as puller: assert count_loglines(puller) == 5 + def test_environment_shallow_clone(long_remote, clean_environment): """ Test that shallow clones respect the NBGITPULLER_DEPTH environment variable @@ -306,6 +313,7 @@ def test_environment_shallow_clone(long_remote, clean_environment): with Puller(long_remote, 'shallow_env') as puller: assert count_loglines(puller) == 2 + def test_explicit_unshallow(long_remote, clean_environment): """ Test that we can disable environment-specified shallow clones @@ -314,6 +322,7 @@ def test_explicit_unshallow(long_remote, clean_environment): with Puller(long_remote, 'explicitly_full', depth=0) as puller: assert count_loglines(puller) == 10 + def test_pull_on_shallow_clone(long_remote, clean_environment): """ Test that we can perform a pull on a shallow clone diff --git a/tox.ini b/tox.ini index 70ec3d73..1e8f26ed 100644 --- a/tox.ini +++ b/tox.ini @@ -1,5 +1,5 @@ [tox] -envlist=py36, flake8 +envlist=py37, flake8 [testenv] commands= @@ -12,11 +12,11 @@ deps= notebook [testenv:flake8] -basepython = python3.6 +basepython = python3.7 deps = flake8 six tornado notebook commands = - flake8 gitautosync tests --max-line-length=150 + flake8 nbgitpuller tests --exclude nbgitpuller/__init__.py --max-line-length=150 From ebe7787dc83b034220d7b0d487a50049a96ab317 Mon Sep 17 00:00:00 2001 From: Erik Sundell Date: Tue, 28 Jul 2020 12:57:28 +0200 Subject: [PATCH 101/284] CI: fix broken tests --- nbgitpuller/pull.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/nbgitpuller/pull.py b/nbgitpuller/pull.py index e8988d48..0bb388ac 100644 --- a/nbgitpuller/pull.py +++ b/nbgitpuller/pull.py @@ -4,7 +4,7 @@ import time import argparse import datetime -from traitlets import Integer +from traitlets import Integer, default from traitlets.config import Configurable from functools import partial @@ -47,7 +47,6 @@ def flush(): class GitPuller(Configurable): depth = Integer( - int(os.environ.get('NBGITPULLER_DEPTH', 1)), config=True, help=""" Depth (ie, commit count) to which to perform a @@ -59,6 +58,15 @@ class GitPuller(Configurable): environment variable.""" ) + @default('depth') + def _depth_default(self): + """This is a workaround for setting the same default directly in the + definition of the traitlet above. Without it, the test fails because a + change in the environment variable has no impact. I think this is a + consequence of the tests not starting with a totally clean environment + where the GitPuller class hadn't been loaded already.""" + return int(os.environ.get('NBGITPULLER_DEPTH', 1)) + def __init__(self, git_url, branch_name, repo_dir, **kwargs): assert git_url and branch_name From 177a468335ffc900d7ca36408b1c3985b7b5155b Mon Sep 17 00:00:00 2001 From: Erik Sundell Date: Tue, 28 Jul 2020 12:59:24 +0200 Subject: [PATCH 102/284] docs: tweak inline docstring about depth traitlet --- nbgitpuller/pull.py | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/nbgitpuller/pull.py b/nbgitpuller/pull.py index 0bb388ac..a2ea4fad 100644 --- a/nbgitpuller/pull.py +++ b/nbgitpuller/pull.py @@ -49,13 +49,12 @@ class GitPuller(Configurable): depth = Integer( config=True, help=""" - Depth (ie, commit count) to which to perform a - shallow git clone. + Depth (ie, commit count) of clone operations. Set this to 0 to make a + full depth clone. - If not set, clones to depth 1. - - Defaults to reading from the NBGITPULLER_DEPTH - environment variable.""" + Defaults to the value of the environment variable NBGITPULLER_DEPTH, or + 1 if the the environment variable isn't set. + """ ) @default('depth') From 4e1e01e94d6d70b6a8164e0cd4a37924e17800aa Mon Sep 17 00:00:00 2001 From: Erik Sundell Date: Tue, 28 Jul 2020 13:45:30 +0200 Subject: [PATCH 103/284] CI: fix broken test assertions following --depth 1 by default Some test assertions were hardcoded a bit strict, this relaxes such hardcoding a bit to avoid test failures when something unrelated changes and resolves the currently broken tests that reacted to --depth 1 showing up in log output. --- tests/test_api.py | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/tests/test_api.py b/tests/test_api.py index 07c90d59..830aac89 100644 --- a/tests/test_api.py +++ b/tests/test_api.py @@ -38,6 +38,9 @@ def start_jupyter(self, jupyterdir, extraenv): sleep(2) def test_clone_default(self, tmpdir): + """ + Tests use of 'repo' and 'branch' parameters. + """ jupyterdir = str(tmpdir) self.start_jupyter(jupyterdir, {}) params = { @@ -48,11 +51,14 @@ def test_clone_default(self, tmpdir): assert r.code == 200 s = r.read().decode() print(s) - assert '"$ git clone --branch master https://github.com/binder-examples/jupyter-extension ' in s - assert "\"Cloning into '{}/{}'".format(jupyterdir, 'jupyter-extension') in s + assert '--branch master' in s + assert "Cloning into '{}/{}'".format(jupyterdir, 'jupyter-extension') in s assert os.path.isdir(os.path.join(jupyterdir, 'jupyter-extension', '.git')) def test_clone_targetpath(self, tmpdir): + """ + Tests use of 'targetpath' parameter. + """ jupyterdir = str(tmpdir) target = str(uuid4()) self.start_jupyter(jupyterdir, {}) @@ -65,11 +71,13 @@ def test_clone_targetpath(self, tmpdir): assert r.code == 200 s = r.read().decode() print(s) - assert '"$ git clone --branch master https://github.com/binder-examples/jupyter-extension ' in s - assert "\"Cloning into '{}/{}'".format(jupyterdir, target) in s + assert "Cloning into '{}/{}'".format(jupyterdir, target) in s assert os.path.isdir(os.path.join(jupyterdir, target, '.git')) def test_clone_parenttargetpath(self, tmpdir): + """ + Tests use of the NBGITPULLER_PARENTPATH environment variable. + """ jupyterdir = str(tmpdir) parent = str(uuid4()) target = str(uuid4()) @@ -83,6 +91,5 @@ def test_clone_parenttargetpath(self, tmpdir): assert r.code == 200 s = r.read().decode() print(s) - assert '"$ git clone --branch master https://github.com/binder-examples/jupyter-extension ' in s - assert "\"Cloning into '{}/{}/{}'".format(jupyterdir, parent, target) in s + assert "Cloning into '{}/{}/{}'".format(jupyterdir, parent, target) in s assert os.path.isdir(os.path.join(jupyterdir, parent, target, '.git')) From ea7cef13a7763da195d95c1d634b8751ab906f5f Mon Sep 17 00:00:00 2001 From: Erik Sundell Date: Tue, 28 Jul 2020 13:59:05 +0200 Subject: [PATCH 104/284] CI: ensure tox run's flake8 as well Apparently the tox-travis package did something, but it caused a discrepancy between the local development experience and didn't run both environments. So I'm removing it in favor of something simpler that doesn't require additional understanding about tox-travis. --- .travis.yml | 2 +- tox.ini | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index d52b4a19..c7ca18a7 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,7 +5,7 @@ python: jobs: include: - name: test - install: pip install tox-travis + install: pip install tox script: tox - name: deploy if: tag IS present diff --git a/tox.ini b/tox.ini index 1e8f26ed..260e0346 100644 --- a/tox.ini +++ b/tox.ini @@ -19,4 +19,4 @@ deps = tornado notebook commands = - flake8 nbgitpuller tests --exclude nbgitpuller/__init__.py --max-line-length=150 + flake8 nbgitpuller tests --exclude nbgitpuller/__init__.py --ignore E127 --max-line-length=150 From fb4663cf2ff1d7aae6ce96e07b2253db9d6c1d75 Mon Sep 17 00:00:00 2001 From: Simon Li Date: Thu, 30 Jul 2020 20:39:21 +0100 Subject: [PATCH 105/284] Add changelog (includes older versions) --- CHANGELOG.md | 79 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 00000000..7ca14682 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,79 @@ +0.9.0 +===== + +- Allow destination to be configured ([#42](https://github.com/jupyterhub/nbgitpuller/pull/42)) +- Made the checkout from the reset_deleted_files to use the origin. ([#111](https://github.com/jupyterhub/nbgitpuller/pull/111)) +- Update version. ([#112](https://github.com/jupyterhub/nbgitpuller/pull/112)) +- Update index.rst ([#113](https://github.com/jupyterhub/nbgitpuller/pull/113)) +- Use shallow clones by default ([#117](https://github.com/jupyterhub/nbgitpuller/pull/117)) +- updating theme ([#126](https://github.com/jupyterhub/nbgitpuller/pull/126)) +- Update ipynb with newer query parameters and toggles ([#127](https://github.com/jupyterhub/nbgitpuller/pull/127)) +- Add a mybinder.org tab to the link builder ([#129](https://github.com/jupyterhub/nbgitpuller/pull/129)) +- tab activation on link generator ([#132](https://github.com/jupyterhub/nbgitpuller/pull/132)) +- fixing bug ([#134](https://github.com/jupyterhub/nbgitpuller/pull/134)) +- Fix typo from ipynb link generator external tool reference ([#136](https://github.com/jupyterhub/nbgitpuller/pull/136)) +- Use the correct branch for contentRepo ([#138](https://github.com/jupyterhub/nbgitpuller/pull/138)) +- Fix file paths or application paths ([#140](https://github.com/jupyterhub/nbgitpuller/pull/140)) +- Make the environment repo branch required for binder ([#143](https://github.com/jupyterhub/nbgitpuller/pull/143)) +- Travis pypi deployment, README fixes ([#145](https://github.com/jupyterhub/nbgitpuller/pull/145)) +- Replace data-8 with jupyterhub ([#146](https://github.com/jupyterhub/nbgitpuller/pull/146)) +- CI: fix broken test assertions following --depth 1 by default ([#147](https://github.com/jupyterhub/nbgitpuller/pull/147)) +- CI: ensure tox run's flake8 as well ([#148](https://github.com/jupyterhub/nbgitpuller/pull/148)) + + +0.8.0 +===== + +- Link generator: init application type from query params ([#107](https://github.com/jupyterhub/nbgitpuller/pull/107)) +- Made the checkout from the reset_deleted_files to use the origin. ([#111](https://github.com/jupyterhub/nbgitpuller/pull/111)) + + +0.7.2 +===== + +- Bump version number ([#103](https://github.com/jupyterhub/nbgitpuller/pull/103)) +- Set authorship info on each commit, rather than repo-wide ([#104](https://github.com/jupyterhub/nbgitpuller/pull/104)) +- Bump version number ([#105](https://github.com/jupyterhub/nbgitpuller/pull/105)) + + +0.7.1 +===== + +- Update version to 0.7.0. ([#100](https://github.com/jupyterhub/nbgitpuller/pull/100)) +- Fix legacy links with empty path ([#102](https://github.com/jupyterhub/nbgitpuller/pull/102)) +- Bump version number ([#103](https://github.com/jupyterhub/nbgitpuller/pull/103)) + + +0.7.0 +===== + +- adding a link generator binder ([#49](https://github.com/jupyterhub/nbgitpuller/pull/49)) +- Clean up link_generator notebook / app ([#50](https://github.com/jupyterhub/nbgitpuller/pull/50)) +- add link to TLJH guide in readme ([#52](https://github.com/jupyterhub/nbgitpuller/pull/52)) +- updating link sanitizing ([#54](https://github.com/jupyterhub/nbgitpuller/pull/54)) +- adds link to a basic video instruction ([#56](https://github.com/jupyterhub/nbgitpuller/pull/56)) +- Add new link generator instructions ([#62](https://github.com/jupyterhub/nbgitpuller/pull/62)) +- adding new nbgitpuller link gen app ([#63](https://github.com/jupyterhub/nbgitpuller/pull/63)) +- Implement depth/shallow-clone support ([#67](https://github.com/jupyterhub/nbgitpuller/pull/67)) +- Made repo_dir an absolute path based on the server_root_dir. ([#71](https://github.com/jupyterhub/nbgitpuller/pull/71)) +- Serve gh pages from docs/ not gh-pages ([#73](https://github.com/jupyterhub/nbgitpuller/pull/73)) +- Pass nbapp along to GitPuller so it can read from our configuration ([#75](https://github.com/jupyterhub/nbgitpuller/pull/75)) +- Rework nbgitpuller link generator ([#76](https://github.com/jupyterhub/nbgitpuller/pull/76)) +- Generate URLs that can be launched from canvas ([#78](https://github.com/jupyterhub/nbgitpuller/pull/78)) +- Don't require including cloned dir name in path to open ([#79](https://github.com/jupyterhub/nbgitpuller/pull/79)) +- adding documentation ([#81](https://github.com/jupyterhub/nbgitpuller/pull/81)) +- circle config to push docs ([#82](https://github.com/jupyterhub/nbgitpuller/pull/82)) +- documentation clarification ([#88](https://github.com/jupyterhub/nbgitpuller/pull/88)) +- Redo documentation ([#92](https://github.com/jupyterhub/nbgitpuller/pull/92)) +- Allow git@example.com:repo links ([#97](https://github.com/jupyterhub/nbgitpuller/pull/97)) + + +0.6.1 +===== + + +0.6.0 +===== + +- Work with (and require) newer notebook version ([#46](https://github.com/jupyterhub/nbgitpuller/pull/46)) +- Update README.md ([#48](https://github.com/jupyterhub/nbgitpuller/pull/48)) From e332d988077fad6ebfeb4e4c9501c78536fda6f1 Mon Sep 17 00:00:00 2001 From: Simon Li Date: Thu, 30 Jul 2020 20:43:10 +0100 Subject: [PATCH 106/284] Fill in 0.6.1 using commit message --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7ca14682..25aefba8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -71,6 +71,8 @@ 0.6.1 ===== +- Install Jupyter notebook extension by default, Add missing nbgitpuller.json file + 0.6.0 ===== From f02c0611da3c3d0db8aaf3f1b67a0f656622e7ac Mon Sep 17 00:00:00 2001 From: Simon Li Date: Sat, 1 Aug 2020 12:41:19 +0100 Subject: [PATCH 107/284] release 0.9.0rc1 --- nbgitpuller/version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nbgitpuller/version.py b/nbgitpuller/version.py index 67214ace..0dcf62eb 100644 --- a/nbgitpuller/version.py +++ b/nbgitpuller/version.py @@ -1,2 +1,2 @@ """"The nbgitpuller PyPI package SemVer version.""" -__version__ = '0.8.0' +__version__ = '0.9.0rc1' From 7b06cd8da09cfaf62ba00eda801257a207a01f1d Mon Sep 17 00:00:00 2001 From: Simon Li Date: Sat, 1 Aug 2020 13:34:00 +0100 Subject: [PATCH 108/284] release 0.9.0 --- nbgitpuller/version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nbgitpuller/version.py b/nbgitpuller/version.py index 0dcf62eb..29c70a56 100644 --- a/nbgitpuller/version.py +++ b/nbgitpuller/version.py @@ -1,2 +1,2 @@ """"The nbgitpuller PyPI package SemVer version.""" -__version__ = '0.9.0rc1' +__version__ = '0.9.0' From bd0ffcb47cee3512adcf89394cc6a3a632685111 Mon Sep 17 00:00:00 2001 From: Simon Li Date: Sat, 1 Aug 2020 13:35:58 +0100 Subject: [PATCH 109/284] back to dev --- nbgitpuller/version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nbgitpuller/version.py b/nbgitpuller/version.py index 29c70a56..2aa555dc 100644 --- a/nbgitpuller/version.py +++ b/nbgitpuller/version.py @@ -1,2 +1,2 @@ """"The nbgitpuller PyPI package SemVer version.""" -__version__ = '0.9.0' +__version__ = '0.9.0dev0' From bc00c4cb271937545bd7039e7744056444bd913d Mon Sep 17 00:00:00 2001 From: Erik Sundell Date: Sat, 1 Aug 2020 15:15:29 +0200 Subject: [PATCH 110/284] Rename README.rst to README.md --- README.md | 24 ++++++++++++++++++++++++ README.rst | 13 ------------- setup.py | 4 ++-- 3 files changed, 26 insertions(+), 15 deletions(-) create mode 100644 README.md delete mode 100644 README.rst diff --git a/README.md b/README.md new file mode 100644 index 00000000..24f9e7e7 --- /dev/null +++ b/README.md @@ -0,0 +1,24 @@ +# [nbgitpuller](https://github.com/jupyterhub/nbgitpuller) + +[![TravisCI Build status](https://img.shields.io/travis/jupyterhub/nbgitpuller/master.svg?logo=travis)](https://travis-ci.org/jupyterhub/nbgitpuller) +[![CircleCI build status](https://img.shields.io/circleci/build/github/jupyterhub/nbgitpuller?logo=circleci)](https://circleci.com/gh/jupyterhub/nbgitpuller) +[![](https://img.shields.io/pypi/v/nbgitpuller.svg?logo=pypi)](https://pypi.python.org/pypi/nbgitpuller) + +`nbgitpuller` lets you distribute content in a git repository to your students +by having them click a simple link. [Automatic +merging](https://jupyterhub.github.io/nbgitpuller/topic/automatic-merging.html) +ensures that your students are never exposed to `git` directly. It is primarily +used with a JupyterHub, but can also work on students' local computers. + +See [the documentation](https://jupyterhub.github.io/nbgitpuller) for more +information. + +## Installation + +```shell +pip install nbgitpuller +``` + +## Example + +![](https://raw.githubusercontent.com/jupyterhub/nbgitpuller/v0.8.0/docs/_static/nbpuller.gif) diff --git a/README.rst b/README.rst deleted file mode 100644 index 034d93bc..00000000 --- a/README.rst +++ /dev/null @@ -1,13 +0,0 @@ -=========== -nbgitpuller -=========== - -``nbgitpuller`` lets you distribute content in a git repository to your -students by having them click a simple link. `Automatic merging `_ ensures that your students are -never exposed to ``git`` directly. It is primarily used with a JupyterHub, -but can also work on students' local computers. - -.. image:: https://raw.githubusercontent.com/jupyterhub/nbgitpuller/v0.8.0/docs/_static/nbpuller.gif - -For a lot more information, see the `documentation -`_ diff --git a/setup.py b/setup.py index 25d55fee..2afcea0f 100644 --- a/setup.py +++ b/setup.py @@ -16,8 +16,8 @@ author='Peter Veerman, YuviPanda', author_email='peterkangveerman@gmail.com', description='Notebook Extension to do one-way synchronization of git repositories', - long_description=open('README.rst').read(), - long_description_content_type='text/x-rst', + long_description=open('README.md').read(), + long_description_content_type='text/markdown', packages=find_packages(), include_package_data=True, platforms='any', From b86f11190e7c8188ff1cfd20d13277925bdee69f Mon Sep 17 00:00:00 2001 From: Erik Sundell Date: Sat, 1 Aug 2020 17:15:02 +0200 Subject: [PATCH 111/284] CI: stop triggering CircleCI on automated pushes to gh-pages --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 7c896484..2d8b1517 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -25,7 +25,7 @@ jobs: name: Pushing documentation to gh-pages command: | pip install --user ghp-import - ghp-import -n -p docs/_build/html + ghp-import --no-jekyll --push --message "Update documentation [skip ci]" docs/_build/html workflows: version: 2 From 13691a706723d69d644d6fd7e8956b21de783419 Mon Sep 17 00:00:00 2001 From: Simon Li Date: Sat, 3 Oct 2020 18:01:49 +0100 Subject: [PATCH 112/284] Add failing test for https://github.com/jupyterhub/nbgitpuller/issues/121 --- tests/test_gitpuller.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tests/test_gitpuller.py b/tests/test_gitpuller.py index 5e407f34..c336ef06 100644 --- a/tests/test_gitpuller.py +++ b/tests/test_gitpuller.py @@ -227,14 +227,17 @@ def test_reset_file(): """ with Remote() as remote, Pusher(remote) as pusher: pusher.push_file('README.md', '1') + pusher.push_file('unicode🙂.txt', '2') with Puller(remote) as puller: os.remove(os.path.join(puller.path, 'README.md')) + os.remove(os.path.join(puller.path, 'unicode🙂.txt')) puller.pull_all() assert puller.git('rev-parse', 'HEAD') == pusher.git('rev-parse', 'HEAD') assert puller.read_file('README.md') == pusher.read_file('README.md') == '1' + assert puller.read_file('unicode🙂.txt') == pusher.read_file('unicode🙂.txt') == '2' @pytest.fixture(scope='module') From 7b127f6ead2f831e768858d338097d8c2ce1f987 Mon Sep 17 00:00:00 2001 From: Simon Li Date: Sat, 3 Oct 2020 18:02:25 +0100 Subject: [PATCH 113/284] git ls-files: use raw output --- nbgitpuller/pull.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nbgitpuller/pull.py b/nbgitpuller/pull.py index a2ea4fad..e39be09b 100644 --- a/nbgitpuller/pull.py +++ b/nbgitpuller/pull.py @@ -107,8 +107,8 @@ def reset_deleted_files(self): yield from self.ensure_lock() deleted_files = subprocess.check_output([ - 'git', 'ls-files', '--deleted' - ], cwd=self.repo_dir).decode().strip().split('\n') + 'git', 'ls-files', '--deleted', '-z' + ], cwd=self.repo_dir).decode().strip().split('\0') for filename in deleted_files: if filename: # Filter out empty lines From 2a50531ee998e98849824a540d4ae8cf424a7226 Mon Sep 17 00:00:00 2001 From: Erik Sundell Date: Wed, 28 Oct 2020 23:08:15 +0100 Subject: [PATCH 114/284] Update travis-ci badge in README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 24f9e7e7..2da7fde1 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # [nbgitpuller](https://github.com/jupyterhub/nbgitpuller) -[![TravisCI Build status](https://img.shields.io/travis/jupyterhub/nbgitpuller/master.svg?logo=travis)](https://travis-ci.org/jupyterhub/nbgitpuller) +[![TravisCI Build status](https://img.shields.io/travis/com/jupyterhub/nbgitpuller?logo=travis)](https://travis-ci.com/jupyterhub/nbgitpuller) [![CircleCI build status](https://img.shields.io/circleci/build/github/jupyterhub/nbgitpuller?logo=circleci)](https://circleci.com/gh/jupyterhub/nbgitpuller) [![](https://img.shields.io/pypi/v/nbgitpuller.svg?logo=pypi)](https://pypi.python.org/pypi/nbgitpuller) From 3d8c6cf56b6807eaabe919ab04229a03c7f9be9d Mon Sep 17 00:00:00 2001 From: Simon Li Date: Fri, 11 Dec 2020 13:38:01 +0000 Subject: [PATCH 115/284] Copy https://github.com/jupyterhub/oauthenticator/tree/be91e7d9e58f13221615a64a506529c775abe593/.github/workflows --- .github/workflows/publish.yml | 35 ++++++++++++++ .github/workflows/test.yml | 86 +++++++++++++++++++++++++++++++++++ 2 files changed, 121 insertions(+) create mode 100644 .github/workflows/publish.yml create mode 100644 .github/workflows/test.yml diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml new file mode 100644 index 00000000..3dfe659f --- /dev/null +++ b/.github/workflows/publish.yml @@ -0,0 +1,35 @@ +# Build releases and (on tags) publish to PyPI +name: Release + +# always build releases (to make sure wheel-building works) +# but only publish to PyPI on tags +on: + push: + pull_request: + +jobs: + build-release: + runs-on: ubuntu-20.04 + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-python@v2 + with: + python-version: 3.8 + + - name: install build package + run: | + pip install --upgrade pip + pip install build + pip freeze + + - name: build release + run: | + python -m build --sdist --wheel . + ls -l dist + + - name: publish to pypi + uses: pypa/gh-action-pypi-publish@v1.4.1 + if: startsWith(github.ref, 'refs/tags/') + with: + user: __token__ + password: ${{ secrets.pypi_password }} diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 00000000..d0f92a8a --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,86 @@ +# This is a GitHub workflow defining a set of jobs with a set of steps. +# ref: https://docs.github.com/en/free-pro-team@latest/actions/reference/workflow-syntax-for-github-actions +# +name: Tests + +on: + pull_request: + push: + +defaults: + run: + # Declare bash be used by default in this workflow's "run" steps. + # + # NOTE: bash will by default run with: + # --noprofile: Ignore ~/.profile etc. + # --norc: Ignore ~/.bashrc etc. + # -e: Exit directly on errors + # -o pipefail: Don't mask errors from a command piped into another command + shell: bash + +env: + LDAP_HOST: 127.0.0.1 + +jobs: + # Run "linter" + lint: + runs-on: ubuntu-20.04 + timeout-minutes: 2 + + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-python@v2 + with: + python-version: 3.8 + - uses: pre-commit/action@v2.0.0 + + # Run tests + test: + + runs-on: ubuntu-20.04 + timeout-minutes: 10 + + strategy: + # Keep running even if one job fails + fail-fast: false + matrix: + python: + - "3.6" + - "3.7" + - "3.8" + - "3.9" + + steps: + - uses: actions/checkout@v2 + + - name: Install Python ${{ matrix.python }} + uses: actions/setup-python@v2 + with: + python-version: ${{ matrix.python }} + + # preserve pip cache to speed up installation + - name: Cache pip + uses: actions/cache@v2 + with: + path: ~/.cache/pip + # Look to see if there is a cache hit for the corresponding requirements file + key: ${{ runner.os }}-pip-${{ hashFiles('*requirements.txt') }} + restore-keys: | + ${{ runner.os }}-pip- + + - name: Install + run: | + pip install --upgrade pip + pip install --upgrade --pre -r dev-requirements.txt . + pip freeze + # start LDAP server + ci/docker-ldap.sh + + - name: Run tests + # FIXME: --color=yes explicitly set because: + # https://github.com/actions/runner/issues/241 + run: pytest -v --color=yes --cov=ldapauthenticator ldapauthenticator/tests + + # https://github.com/marketplace/actions/codecov + - name: Submit codecov report + uses: codecov/codecov-action@v1 From d3a3ac2279a88745c7fcefa1e61b03e3a3d56e57 Mon Sep 17 00:00:00 2001 From: Simon Li Date: Fri, 11 Dec 2020 13:39:11 +0000 Subject: [PATCH 116/284] Change tox to Python 3.8 --- tox.ini | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tox.ini b/tox.ini index 260e0346..d83c017b 100644 --- a/tox.ini +++ b/tox.ini @@ -1,5 +1,5 @@ [tox] -envlist=py37, flake8 +envlist=py38, flake8 [testenv] commands= @@ -12,7 +12,7 @@ deps= notebook [testenv:flake8] -basepython = python3.7 +basepython = python3.8 deps = flake8 six From c906c92b4caa0c8f7d293b811ee57544dd8a2079 Mon Sep 17 00:00:00 2001 From: Simon Li Date: Fri, 11 Dec 2020 13:39:37 +0000 Subject: [PATCH 117/284] nbgitpuller GitHub test workflow --- .github/workflows/test.yml | 45 ++++---------------------------------- 1 file changed, 4 insertions(+), 41 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index d0f92a8a..dff756ae 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -18,45 +18,19 @@ defaults: # -o pipefail: Don't mask errors from a command piped into another command shell: bash -env: - LDAP_HOST: 127.0.0.1 - jobs: - # Run "linter" - lint: - runs-on: ubuntu-20.04 - timeout-minutes: 2 - - steps: - - uses: actions/checkout@v2 - - uses: actions/setup-python@v2 - with: - python-version: 3.8 - - uses: pre-commit/action@v2.0.0 - - # Run tests test: runs-on: ubuntu-20.04 timeout-minutes: 10 - strategy: - # Keep running even if one job fails - fail-fast: false - matrix: - python: - - "3.6" - - "3.7" - - "3.8" - - "3.9" - steps: - uses: actions/checkout@v2 - - name: Install Python ${{ matrix.python }} + - name: Install Python uses: actions/setup-python@v2 with: - python-version: ${{ matrix.python }} + python-version: '3.8' # preserve pip cache to speed up installation - name: Cache pip @@ -69,18 +43,7 @@ jobs: ${{ runner.os }}-pip- - name: Install - run: | - pip install --upgrade pip - pip install --upgrade --pre -r dev-requirements.txt . - pip freeze - # start LDAP server - ci/docker-ldap.sh + run: pip install tox - name: Run tests - # FIXME: --color=yes explicitly set because: - # https://github.com/actions/runner/issues/241 - run: pytest -v --color=yes --cov=ldapauthenticator ldapauthenticator/tests - - # https://github.com/marketplace/actions/codecov - - name: Submit codecov report - uses: codecov/codecov-action@v1 + run: tox From 0f15ad5a46676e30589e4abd28890c879fcef081 Mon Sep 17 00:00:00 2001 From: Simon Li Date: Fri, 11 Dec 2020 13:39:43 +0000 Subject: [PATCH 118/284] Remove travis --- .travis.yml | 20 -------------------- 1 file changed, 20 deletions(-) delete mode 100644 .travis.yml diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index c7ca18a7..00000000 --- a/.travis.yml +++ /dev/null @@ -1,20 +0,0 @@ -language: python -python: - - "3.7" - -jobs: - include: - - name: test - install: pip install tox - script: tox - - name: deploy - if: tag IS present - script: skip - skip_cleanup: true - deploy: - provider: pypi - user: __token__ - # password: see secret PYPI_PASSWORD variable - distributions: sdist bdist_wheel - on: - tags: true From 67e963cb855b0f88a290d30d292754188882ce6f Mon Sep 17 00:00:00 2001 From: YuviPanda Date: Mon, 14 Dec 2020 12:31:57 +0530 Subject: [PATCH 119/284] Document how to do local development - Move from recommonmark to MyST while we're at it. --- docs/conf.py | 21 ++++++-------------- docs/contributing.md | 42 +++++++++++++++++++++++++++++++++++++++ docs/doc-requirements.txt | 2 +- docs/index.rst | 1 + 4 files changed, 50 insertions(+), 16 deletions(-) create mode 100644 docs/contributing.md diff --git a/docs/conf.py b/docs/conf.py index 903d8cd6..953003a9 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -3,21 +3,11 @@ import os import requests -from recommonmark.transform import AutoStructify github_doc_root = "https://github.com/rtfd/recommonmark/tree/master/doc/" def setup(app): - app.add_config_value( - "recommonmark_config", - { - "url_resolver": lambda url: github_doc_root + url, - "auto_toc_tree_section": "Contents", - }, - True, - ) - app.add_transform(AutoStructify) app.add_stylesheet("custom.css") app.add_javascript("link_gen/link.js") @@ -31,7 +21,12 @@ def setup(app): # Add any Sphinx extension module names here, as strings. They can be # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom # ones. -extensions = ["sphinx_copybutton"] +extensions = [ + "myst_parser", + "sphinx.ext.intersphinx", +] + +myst_admonition_enable = True # Add any paths that contain templates here, relative to this directory. templates_path = ["_templates"] @@ -41,10 +36,6 @@ def setup(app): source_suffix = [".rst", ".md"] -from recommonmark.parser import CommonMarkParser - -source_parsers = {".md": CommonMarkParser} - # The master toctree document. master_doc = "index" diff --git a/docs/contributing.md b/docs/contributing.md new file mode 100644 index 00000000..4da0f564 --- /dev/null +++ b/docs/contributing.md @@ -0,0 +1,42 @@ +# Contributing + +## Setup + +nbgitpuller is a [jupyter +serverextension](https://jupyter-notebook.readthedocs.io/en/stable/extending/handlers.html), +and hence can be developed locally without needing a JupyterHub. + +1. Setup a virtual environment to do development in + + ```bash + python3 -m venv venv + source venv/bin/activate + ``` + +2. Install nbgitpuller with its dependencies in this virtual environment + + ```bash + pip install -e . + ``` + +3. Enable the nbgitpuller jupyter serverextension + + ```bash + jupyter serverextension enable --sys-prefix nbgitpuller + ``` + +4. Start the notebook server. This will open the classic notebook in your web + browser, and automatically authenticate you as a side effect. + + ```bash + jupyter notebook + ``` + +5. You can now test nbgitpuller locally, by hitting the `/git-pull` url with any + of the [URL query parameters](topic/url-options.rst). For example, to pull the + [data-8/textbook](https://github.com/data-8/textbook) repository's `gh-pages` + branch, you can use the following URL: + + ``` + http://localhost:8888/git-sync?repo=https://github.com/data-8/textbook&branch=gh-pages + ``` diff --git a/docs/doc-requirements.txt b/docs/doc-requirements.txt index 1aa2dad6..7b292ea9 100644 --- a/docs/doc-requirements.txt +++ b/docs/doc-requirements.txt @@ -1,4 +1,3 @@ -recommonmark==0.4.0 sphinx_copybutton traitlets jupyterhub @@ -7,3 +6,4 @@ sphinx-book-theme memory_profiler pytest PyGitHub +myst_parser[sphinx] diff --git a/docs/index.rst b/docs/index.rst index 7139c0d1..6592309c 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -88,6 +88,7 @@ Full Contents .. toctree:: :maxdepth: 2 + contributing install topic/automatic-merging topic/url-options From 7c22dd1f30243c6f644ea86786119c3613a8a437 Mon Sep 17 00:00:00 2001 From: YuviPanda Date: Tue, 15 Dec 2020 12:24:11 +0530 Subject: [PATCH 120/284] Move 'contributing' section after 'installation' Per https://github.com/jupyterhub/nbgitpuller/pull/162#discussion_r542284612 --- docs/index.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/index.rst b/docs/index.rst index 6592309c..0f188015 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -88,8 +88,8 @@ Full Contents .. toctree:: :maxdepth: 2 - contributing install + contributing topic/automatic-merging topic/url-options link From 61c3603cbdaac60a21ae11c2920cb28b3f0dc9df Mon Sep 17 00:00:00 2001 From: YuviPanda Date: Tue, 15 Dec 2020 12:35:59 +0530 Subject: [PATCH 121/284] Add section on git cloning --- docs/contributing.md | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/docs/contributing.md b/docs/contributing.md index 4da0f564..3f0a2845 100644 --- a/docs/contributing.md +++ b/docs/contributing.md @@ -6,33 +6,36 @@ nbgitpuller is a [jupyter serverextension](https://jupyter-notebook.readthedocs.io/en/stable/extending/handlers.html), and hence can be developed locally without needing a JupyterHub. -1. Setup a virtual environment to do development in +1. Fork the nbgitpuller repository and `git clone` it to your local computer. + +2. Inside the nbgitpuller clone on your local machine, setup a virtual + environment to do development in ```bash python3 -m venv venv source venv/bin/activate ``` -2. Install nbgitpuller with its dependencies in this virtual environment +3. Install nbgitpuller with its dependencies in this virtual environment ```bash pip install -e . ``` -3. Enable the nbgitpuller jupyter serverextension +4. Enable the nbgitpuller jupyter serverextension ```bash jupyter serverextension enable --sys-prefix nbgitpuller ``` -4. Start the notebook server. This will open the classic notebook in your web +5. Start the notebook server. This will open the classic notebook in your web browser, and automatically authenticate you as a side effect. ```bash jupyter notebook ``` -5. You can now test nbgitpuller locally, by hitting the `/git-pull` url with any +6. You can now test nbgitpuller locally, by hitting the `/git-pull` url with any of the [URL query parameters](topic/url-options.rst). For example, to pull the [data-8/textbook](https://github.com/data-8/textbook) repository's `gh-pages` branch, you can use the following URL: From 6bd27c80f3d42d0723a8ef021a93a2d9d1d9621a Mon Sep 17 00:00:00 2001 From: YuviPanda Date: Thu, 17 Dec 2020 17:27:36 +0530 Subject: [PATCH 122/284] Parse ssh git URLs properly Fixes #101 --- docs/_static/link_gen/link.js | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/docs/_static/link_gen/link.js b/docs/_static/link_gen/link.js index fc14501e..2c9e14ee 100644 --- a/docs/_static/link_gen/link.js +++ b/docs/_static/link_gen/link.js @@ -117,6 +117,18 @@ function changeTab(div) { } } +/** + * Return name of directory git will clone given repo to. + * + * nbgitpuller needs to redirect users to *inside* the directory it + * just cloned. We copy the logic git itself uses to determine that. + * See https://github.com/git/git/blob/1c52ecf4ba0f4f7af72775695fee653f50737c71/builtin/clone.c#L276 + */ +function generateCloneDirectoryName(gitCloneUrl) { + var lastPart = gitCloneUrl.split('/').slice(-1)[0]; + return lastPart.split(':').slice(-1)[0].replace(/(\.git|\.bundle)?/, ''); +} + function displayLink() { var form = document.getElementById('linkgenerator'); @@ -134,8 +146,7 @@ function displayLink() { if (appName === 'custom') { var urlPath = document.getElementById('urlpath').value; } else { - var repoName = new URL(repoUrl).pathname.split('/').pop().replace(/\.git$/, ''); - var userName = new URL(repoUrl).pathname.split('/')[1]; + var repoName = generateCloneDirectoryName(repoUrl); var urlPath; if (activeTab === "tab-auth-binder") { var contentRepoName = new URL(contentRepoUrl).pathname.split('/').pop().replace(/\.git$/, ''); @@ -154,6 +165,7 @@ function displayLink() { hubUrl, urlPath, repoUrl, branch ); } else if (activeTab === "tab-auth-binder"){ + var userName = new URL(repoUrl).pathname.split('/')[1]; document.getElementById('binder-link').value = generateBinderUrl( hubUrl, userName, repoName, branch, urlPath, contentRepoUrl, contentRepoBranch ); From a9c119a28024cb3a3ac55f662bb731115479d354 Mon Sep 17 00:00:00 2001 From: Yuvi Panda Date: Thu, 17 Dec 2020 19:36:23 +0530 Subject: [PATCH 123/284] Mention that binder doesn't work with ssh urls Co-authored-by: Erik Sundell --- docs/_static/link_gen/link.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docs/_static/link_gen/link.js b/docs/_static/link_gen/link.js index 2c9e14ee..3d9806a7 100644 --- a/docs/_static/link_gen/link.js +++ b/docs/_static/link_gen/link.js @@ -165,6 +165,9 @@ function displayLink() { hubUrl, urlPath, repoUrl, branch ); } else if (activeTab === "tab-auth-binder"){ + // FIXME: userName parsing using new URL(...) assumes a + // HTTP based repoUrl. Does it make sense to create a + // BinderHub link for SSH URLs? Then let's fix this parsing. var userName = new URL(repoUrl).pathname.split('/')[1]; document.getElementById('binder-link').value = generateBinderUrl( hubUrl, userName, repoName, branch, urlPath, contentRepoUrl, contentRepoBranch From 5d443c6065d52f943a8311290277a3b80c218796 Mon Sep 17 00:00:00 2001 From: YuviPanda Date: Tue, 5 Jan 2021 17:57:23 +0530 Subject: [PATCH 124/284] Remove unnecessary myst config --- docs/conf.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/docs/conf.py b/docs/conf.py index 953003a9..5895b056 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -26,8 +26,6 @@ def setup(app): "sphinx.ext.intersphinx", ] -myst_admonition_enable = True - # Add any paths that contain templates here, relative to this directory. templates_path = ["_templates"] From ef4a12b74c5729c1b1967c55aaf03307445cf8b0 Mon Sep 17 00:00:00 2001 From: YuviPanda Date: Wed, 6 Jan 2021 13:39:28 +0530 Subject: [PATCH 125/284] Remove extreneous packages from doc-requirements See https://github.com/jupyterhub/nbgitpuller/pull/162#discussion_r551831077 --- docs/doc-requirements.txt | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/docs/doc-requirements.txt b/docs/doc-requirements.txt index 7b292ea9..d8c4759b 100644 --- a/docs/doc-requirements.txt +++ b/docs/doc-requirements.txt @@ -1,9 +1,3 @@ +myst_parser sphinx_copybutton -traitlets -jupyterhub -sphinx>=1.3.6,!=1.5.4 sphinx-book-theme -memory_profiler -pytest -PyGitHub -myst_parser[sphinx] From 63cb779b96a31634bd224f798a7d3c219688755c Mon Sep 17 00:00:00 2001 From: YuviPanda Date: Fri, 8 Jan 2021 10:30:52 +0530 Subject: [PATCH 126/284] Support generating shiny links --- docs/_static/link_gen/link.js | 10 ++++++++++ docs/link.rst | 6 ++++++ 2 files changed, 16 insertions(+) diff --git a/docs/_static/link_gen/link.js b/docs/_static/link_gen/link.js index fc14501e..12e594d2 100644 --- a/docs/_static/link_gen/link.js +++ b/docs/_static/link_gen/link.js @@ -78,6 +78,16 @@ var apps = { title: 'JupyterLab', generateUrlPath: function (path) { return 'lab/tree/' + path; } }, + shiny: { + title: 'Shiny', + generateUrlPath: function (path) { + // jupyter-shiny-proxy requires everything to end with a trailing slash + if (!path.endsWith("/")) { + path = path + "/"; + } + return 'shiny/' + path; + } + }, rstudio: { title: 'RStudio', generateUrlPath: function (path) { return 'rstudio/'; } diff --git a/docs/link.rst b/docs/link.rst index db65addf..93accf15 100644 --- a/docs/link.rst +++ b/docs/link.rst @@ -138,6 +138,12 @@ Use the following form to create your own ``nbgitpuller`` links. RStudio +
+ + +
From e46c169ad6c43ac672ced2e26f7f4bb92db52c0a Mon Sep 17 00:00:00 2001 From: YuviPanda Date: Fri, 8 Jan 2021 12:39:53 +0530 Subject: [PATCH 127/284] Update url-options docs for shiny --- docs/topic/url-options.rst | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/docs/topic/url-options.rst b/docs/topic/url-options.rst index f459f061..200d3be1 100644 --- a/docs/topic/url-options.rst +++ b/docs/topic/url-options.rst @@ -67,6 +67,13 @@ The ``%3Fautodecode`` at the end makes sure you never get `a message `_ about needing to explicitly name a JupyterLab workspace. +Shiny +----- + +To open a directory containing `shiny `_ files, +your pattern should be ``/shiny//``. The trailing +slash is important. + RStudio ------- From 1b8d00389579586f94a150a6c3b787e0ea213994 Mon Sep 17 00:00:00 2001 From: YuviPanda Date: Wed, 10 Feb 2021 17:53:11 +0530 Subject: [PATCH 128/284] Add best practices recommendation documentation --- docs/index.rst | 1 + docs/topic/repo-best-practices.md | 26 ++++++++++++++++++++++++++ 2 files changed, 27 insertions(+) create mode 100644 docs/topic/repo-best-practices.md diff --git a/docs/index.rst b/docs/index.rst index 0f188015..ef65d01f 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -92,4 +92,5 @@ Full Contents contributing topic/automatic-merging topic/url-options + topic/repo-best-practices link diff --git a/docs/topic/repo-best-practices.md b/docs/topic/repo-best-practices.md new file mode 100644 index 00000000..c415bca0 --- /dev/null +++ b/docs/topic/repo-best-practices.md @@ -0,0 +1,26 @@ +# Content git repository best practices + +Sometimes, git's flexibility can lead to repositories that cause issues +when used with nbgitpuller. Here are some recommendations to make your +nbgitpuller experience smoother. + + +## Never force push + +Never use `--force` or `--force-with-lease` when pushing to your repositories. +This is general good git practice, and unless you have [fairly deep +understanding](https://xkcd.com/1597/) of how git works, it might screw up some +of your users' local repositories beyond repair. + +If you are using GitHub, you should enable [protected branches](https://docs.github.com/en/github/administering-a-repository/about-protected-branches) +to prevent accidental force pushes. + +## Prevent your repos from becoming huge + +Larger git repos increase chances of timeouts and other intermittent failures +that will be difficult to debug. They might leave your git repo in strange states +too - contents fetched but not checked out, half-fetched, etc. Try and keep it small - +under 100MB is great, under 1G is ok, but anything more is probably asking for trouble. + +Large datasets are the biggest reason for increasing repository sizes. Try distribute +datasets some other way, use a subset of data, or compress your data if you need to. From 31910e9dee6a6d4365e71ed26de48d0b61973548 Mon Sep 17 00:00:00 2001 From: YuviPanda Date: Thu, 11 Feb 2021 00:14:10 +0530 Subject: [PATCH 129/284] Add note about .gitignore --- docs/topic/repo-best-practices.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/docs/topic/repo-best-practices.md b/docs/topic/repo-best-practices.md index c415bca0..025b6dfb 100644 --- a/docs/topic/repo-best-practices.md +++ b/docs/topic/repo-best-practices.md @@ -24,3 +24,18 @@ under 100MB is great, under 1G is ok, but anything more is probably asking for t Large datasets are the biggest reason for increasing repository sizes. Try distribute datasets some other way, use a subset of data, or compress your data if you need to. + +## Don't add `.ipynb_checkpoints` (and similar files) to your git repo + +Jupyter uses a hidden `.ipynb_checkpoints` directory to temporarily autosave copies of the +notebook. If you accidentally commit your local computer's copy of this to the git repo, +it can cause hard to debug issues when students click nbgitpuller links. The students' +Jupyter Notebook servers in the JupyterHub will also generate `.ipynb_checkpoints` for +autosaving, and conflicts between these two can cause issues. Similar issues can happen +with other temporary, hidden files - like `.DS_Store`, `__pycache__`, etc. + +Adding `.ipynb_checkpoints` to your repo's `.gitignore` file will eliminate this +class of issues completely. `git add` and similar commands will no longer +accidentally include them in your repo. You can download this [python specific +gitignore](https://github.com/github/gitignore/blob/master/Python.gitignore) +file and put it in your repo as `.gitignore`, and it should take care of this. From c269970466288007efa30fe9ee036f9b8ae6d6fc Mon Sep 17 00:00:00 2001 From: YuviPanda Date: Mon, 22 Mar 2021 02:22:52 +0530 Subject: [PATCH 130/284] Tell users about `main` vs `master` branches Ref #159 --- docs/link.rst | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/docs/link.rst b/docs/link.rst index 93accf15..a39395d3 100644 --- a/docs/link.rst +++ b/docs/link.rst @@ -76,6 +76,11 @@ Use the following form to create your own ``nbgitpuller`` links. branch
+ + Use main instead of master for + + new GitHub repositories +
Must specify a branch name
From 8384c6c4aa063dda2c1ea0930ab8e5c89018f035 Mon Sep 17 00:00:00 2001 From: YuviPanda Date: Fri, 23 Apr 2021 21:02:04 +0530 Subject: [PATCH 131/284] Respect path component of JupyterHub url Fixes #152 --- docs/_static/link_gen/link.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/docs/_static/link_gen/link.js b/docs/_static/link_gen/link.js index de93b2e8..acfe0261 100644 --- a/docs/_static/link_gen/link.js +++ b/docs/_static/link_gen/link.js @@ -37,7 +37,10 @@ function generateCanvasUrl(hubUrl, urlPath, repoUrl, branch) { var nextUrl = '/hub/user-redirect/git-pull?' + nextUrlParams.toString(); - url.pathname = '/hub/lti/launch' + if (!url.pathname.endsWith('/')) { + url.pathname += '/' + } + url.pathname += 'hub/lti/launch' url.searchParams.append('next', nextUrl); return url.toString(); From ebe3998a511d4758ed7ff11395f8771d4ad94f8f Mon Sep 17 00:00:00 2001 From: YuviPanda Date: Fri, 23 Apr 2021 21:07:39 +0530 Subject: [PATCH 132/284] Handle lack of trailing slashes in hub URLs Without this, if your hub url was something like https://myhub.com/jupyter, your nbgitpuller URL will be something like https://myhub.com/jupyterhub/user-redirect... instead of https://myhub.com/jupyter/hub/user-redirect... --- docs/_static/link_gen/link.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docs/_static/link_gen/link.js b/docs/_static/link_gen/link.js index de93b2e8..5367b713 100644 --- a/docs/_static/link_gen/link.js +++ b/docs/_static/link_gen/link.js @@ -14,6 +14,9 @@ function generateRegularUrl(hubUrl, urlPath, repoUrl, branch) { url.searchParams.set('branch', branch); } + if (!url.pathname.endsWith('/')) { + url.pathname += '/' + } url.pathname += 'hub/user-redirect/git-pull'; return url.toString(); From d13737e1b5f564f22edd45bc8a83d39765c7bb5e Mon Sep 17 00:00:00 2001 From: Erik Sundell Date: Sun, 2 May 2021 02:47:03 +0200 Subject: [PATCH 133/284] docs: update README.md badges --- README.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 2da7fde1..0cc9dfe3 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,11 @@ # [nbgitpuller](https://github.com/jupyterhub/nbgitpuller) -[![TravisCI Build status](https://img.shields.io/travis/com/jupyterhub/nbgitpuller?logo=travis)](https://travis-ci.com/jupyterhub/nbgitpuller) -[![CircleCI build status](https://img.shields.io/circleci/build/github/jupyterhub/nbgitpuller?logo=circleci)](https://circleci.com/gh/jupyterhub/nbgitpuller) +[![GitHub Workflow Status - Test](https://img.shields.io/github/workflow/status/jupyterhub/nbgitpuller/Tests?logo=github&label=tests)](https://github.com/jupyterhub/nbgitpuller/actions) +[![CircleCI build status](https://img.shields.io/circleci/build/github/jupyterhub/nbgitpuller?logo=circleci&label=docs)](https://circleci.com/gh/jupyterhub/nbgitpuller) [![](https://img.shields.io/pypi/v/nbgitpuller.svg?logo=pypi)](https://pypi.python.org/pypi/nbgitpuller) +[![GitHub](https://img.shields.io/badge/issue_tracking-github-blue?logo=github)](https://github.com/jupyterhub/nbgitpuller/issues) +[![Discourse](https://img.shields.io/badge/help_forum-discourse-blue?logo=discourse)](https://discourse.jupyter.org/c/jupyterhub) +[![Gitter](https://img.shields.io/badge/social_chat-gitter-blue?logo=gitter)](https://gitter.im/jupyterhub/jupyterhub) `nbgitpuller` lets you distribute content in a git repository to your students by having them click a simple link. [Automatic From b3d1f7256c54481ff9d600de1dc303c8cb15aad1 Mon Sep 17 00:00:00 2001 From: YuviPanda Date: Fri, 28 May 2021 23:10:08 +0530 Subject: [PATCH 134/284] Document restarting notebook process to see changes --- docs/contributing.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/contributing.md b/docs/contributing.md index 3f0a2845..81f474b8 100644 --- a/docs/contributing.md +++ b/docs/contributing.md @@ -43,3 +43,7 @@ and hence can be developed locally without needing a JupyterHub. ``` http://localhost:8888/git-sync?repo=https://github.com/data-8/textbook&branch=gh-pages ``` + +7. If you make changes to nbgitpuller's python code, you need to restart the `jupyter notebook` + process (started in step 5) to see your changes take effect. This is not needed if + you are only working on the javascript or css. \ No newline at end of file From 79dd180114beca5f2a7d929dd97a162bb060e694 Mon Sep 17 00:00:00 2001 From: Sean Morris Date: Fri, 21 May 2021 16:31:50 -0700 Subject: [PATCH 135/284] Handle default or non-existing branch name - Added requirements.txt file - Added venv/ folder to .gitignore - The application now resolves for the default branch of a repository if the branch name is not given. It will also return an error if the branch name given does not exist in the repository. Resolves : #159 --- .gitignore | 1 + nbgitpuller/handlers.py | 2 +- nbgitpuller/pull.py | 51 ++++++++++++++++++++++++++++++++++++++++- requirements.txt | 3 +++ tests/test_gitpuller.py | 18 +++++++++++++-- 5 files changed, 71 insertions(+), 4 deletions(-) create mode 100644 requirements.txt diff --git a/.gitignore b/.gitignore index 7626168a..70ca3865 100644 --- a/.gitignore +++ b/.gitignore @@ -13,6 +13,7 @@ data8assets/ .autopull_list summer/ test-repo/ +venv/ .ipynb_checkpoints docs/_build \ No newline at end of file diff --git a/nbgitpuller/handlers.py b/nbgitpuller/handlers.py index 289f7228..b6c41b62 100644 --- a/nbgitpuller/handlers.py +++ b/nbgitpuller/handlers.py @@ -149,7 +149,7 @@ def get(self): app_env = os.getenv('NBGITPULLER_APP', default='notebook') repo = self.get_argument('repo') - branch = self.get_argument('branch', 'master') + branch = self.get_argument('branch', None) depth = self.get_argument('depth', None) urlPath = self.get_argument('urlpath', None) or \ self.get_argument('urlPath', None) diff --git a/nbgitpuller/pull.py b/nbgitpuller/pull.py index 369c4292..09eecccd 100644 --- a/nbgitpuller/pull.py +++ b/nbgitpuller/pull.py @@ -70,11 +70,60 @@ def __init__(self, git_url, branch_name, repo_dir, **kwargs): assert git_url and branch_name self.git_url = git_url - self.branch_name = branch_name + + if branch_name == "None": + self.branch_name = self.resolve_default_branch() + elif not self.branch_exists(branch_name): + raise ValueError(f"{branch_name}: branch not found in {self.git_url}") + else: + self.branch_name = branch_name + self.repo_dir = repo_dir newargs = {k: v for k, v in kwargs.items() if v is not None} super(GitPuller, self).__init__(**newargs) + def branch_exists(self, branch): + """ + This checks to make sure the branch we are told to access + exists in the repo + """ + p_heads = subprocess.run( + ["git", "ls-remote", "--heads", self.git_url], + capture_output=True, + text=True, + ) + p_tags = subprocess.run( + ["git", "ls-remote", "--tags", self.git_url], + capture_output=True, + text=True, + ) + lines = p_heads.stdout.splitlines() + p_tags.stdout.splitlines() + branches = [] + for line in lines: + _, ref = line.split() + refs, heads, branch_name = ref.split("/", 2) + branches.append(branch_name) + return branch in branches + + def resolve_default_branch(self): + """ + This will resolve the default branch of the repo in + the case where the branch given does not exist + """ + p = subprocess.run( + ["git", "ls-remote", "--symref", self.git_url, "HEAD"], + capture_output=True, + text=True, + ) + + for line in p.stdout.splitlines(): + if line.startswith("ref:"): + # line resembles --> ref: refs/heads/main HEAD + _, ref, head = line.split() + refs, heads, branch_name = ref.split("/", 2) + return branch_name + raise ValueError(f"default branch not found in {self.git_url}") + def pull(self): """ Pull selected repo from a remote git repository, diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 00000000..dba7ac5d --- /dev/null +++ b/requirements.txt @@ -0,0 +1,3 @@ +traitlets +pytest +-e . diff --git a/tests/test_gitpuller.py b/tests/test_gitpuller.py index c336ef06..93ffb1b6 100644 --- a/tests/test_gitpuller.py +++ b/tests/test_gitpuller.py @@ -61,10 +61,10 @@ def push_file(self, path, content): class Puller(Repository): - def __init__(self, remote, path='puller', *args, **kwargs): + def __init__(self, remote, path='puller', branch="master", *args, **kwargs): super().__init__(path) remotepath = "file://%s" % os.path.abspath(remote.path) - self.gp = GitPuller(remotepath, 'master', path, *args, **kwargs) + self.gp = GitPuller(remotepath, branch, path, *args, **kwargs) def pull_all(self): for line in self.gp.pull(): @@ -96,6 +96,20 @@ def test_initialize(): assert puller.git('rev-parse', 'HEAD') == pusher.git('rev-parse', 'HEAD') +def test_branch_exists(): + with Remote() as remote, Pusher(remote) as pusher: + pusher.push_file('README.md', '1') + with Puller(remote, 'puller') as puller: + assert not puller.gp.branch_exists("wrong") + + +def test_resolve_default_branch(): + with Remote() as remote, Pusher(remote) as pusher: + pusher.push_file('README.md', '1') + with Puller(remote, 'puller') as puller: + assert puller.gp.resolve_default_branch() == "master" + + def test_simple_push_pull(): """ Test the 'happy path' push/pull interaction From 752b6a30bcd5c3851782cfe85035ab7304ef5cd5 Mon Sep 17 00:00:00 2001 From: YuviPanda Date: Wed, 2 Jun 2021 19:43:26 +0530 Subject: [PATCH 136/284] Provide cleaner feedback for lint vs test failures - Separate linting (via flake8) and testing (via pytest) visually in the test run for PRs. Currently, tests are run first and then flake8 is run - in the same section of the GHA output page - https://github.com/jupyterhub/nbgitpuller/runs/2728013348. Not the easiest to figure out what exactly failed. - Stop using tox. We weren't using matrixes or any of tox's features, so this simplifies our setup. - Add a .flake8 file to simplify local linting - Add dev-requirements.txt listing whatever is needed for local development. - Document how to run flake8, py.test and sphinx - Reference installing dev-requirements.txt from docs/contributing.md --- .flake8 | 12 ++++++++ .github/workflows/test.yml | 14 +++++++-- dev-requirements.txt | 4 +++ docs/conf.py | 3 -- docs/contributing.md | 60 ++++++++++++++++++++++++++++++++++---- nbgitpuller/__init__.py | 4 +-- tox.ini | 22 -------------- 7 files changed, 83 insertions(+), 36 deletions(-) create mode 100644 .flake8 create mode 100644 dev-requirements.txt delete mode 100644 tox.ini diff --git a/.flake8 b/.flake8 new file mode 100644 index 00000000..5619889b --- /dev/null +++ b/.flake8 @@ -0,0 +1,12 @@ +[flake8] +# Ignore style and complexity +# E: style errors +# W: style warnings +# C: complexity +# E402: module level import not at top of file +# I100: Import statements are in the wrong order +# I101: Imported names are in the wrong order. Should be +ignore = E, C, W, E402, I100, I101, D400 +exclude = + .cache, + .github diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index dff756ae..1c5c78eb 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -42,8 +42,16 @@ jobs: restore-keys: | ${{ runner.os }}-pip- - - name: Install - run: pip install tox + - name: Install dependencies + run: | + pip install -r dev-requirements.txt + + - name: Run flake8 linter + run: flake8 - name: Run tests - run: tox + run: | + # Install nbgitpuller + dependencies + pip install -e . + # Run tests + py.test --cov nbgitpuller \ No newline at end of file diff --git a/dev-requirements.txt b/dev-requirements.txt new file mode 100644 index 00000000..5b246c85 --- /dev/null +++ b/dev-requirements.txt @@ -0,0 +1,4 @@ +six +pytest +pytest-cov +flake8 \ No newline at end of file diff --git a/docs/conf.py b/docs/conf.py index 5895b056..cea5185f 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -1,9 +1,6 @@ #!/usr/bin/env python3 # -*- coding: utf-8 -*- -import os -import requests - github_doc_root = "https://github.com/rtfd/recommonmark/tree/master/doc/" diff --git a/docs/contributing.md b/docs/contributing.md index 81f474b8..492b7980 100644 --- a/docs/contributing.md +++ b/docs/contributing.md @@ -16,26 +16,32 @@ and hence can be developed locally without needing a JupyterHub. source venv/bin/activate ``` -3. Install nbgitpuller with its dependencies in this virtual environment +3. Install development time dependencies in this virtual environment + + ```bash + pip install -r dev-requirements.txt + ``` + +4. Install nbgitpuller with its dependencies in this virtual environment ```bash pip install -e . ``` -4. Enable the nbgitpuller jupyter serverextension +5. Enable the nbgitpuller jupyter serverextension ```bash jupyter serverextension enable --sys-prefix nbgitpuller ``` -5. Start the notebook server. This will open the classic notebook in your web +6. Start the notebook server. This will open the classic notebook in your web browser, and automatically authenticate you as a side effect. ```bash jupyter notebook ``` -6. You can now test nbgitpuller locally, by hitting the `/git-pull` url with any +7. You can now test nbgitpuller locally, by hitting the `/git-pull` url with any of the [URL query parameters](topic/url-options.rst). For example, to pull the [data-8/textbook](https://github.com/data-8/textbook) repository's `gh-pages` branch, you can use the following URL: @@ -44,6 +50,48 @@ and hence can be developed locally without needing a JupyterHub. http://localhost:8888/git-sync?repo=https://github.com/data-8/textbook&branch=gh-pages ``` -7. If you make changes to nbgitpuller's python code, you need to restart the `jupyter notebook` +8. If you make changes to nbgitpuller's python code, you need to restart the `jupyter notebook` process (started in step 5) to see your changes take effect. This is not needed if - you are only working on the javascript or css. \ No newline at end of file + you are only working on the javascript or css. + +## Running the flake8 linter + +[flake8](https://flake8.pycqa.org/en/latest/) is used to validate python coding style. The +flake8 config is in `.flake8`, and is not super strict. You should be able to run +`flake8` in the root directory of the repository to get a list of issues to be fixed. + +## Running tests + +[pytest](https://docs.pytest.org/) is used to run unit and integration tests, +under the `tests/` directory. If you add new functionality, you should also add +tests to cover it. You can run the tests locally with `py.test tests/` + +## Building documentation + +[sphinx](https://www.sphinx-doc.org/) is used to write and maintain documentation, under +the `docs/` directory. If you add any new functionality, you should write documentaiton +for it as well. A mix of [reStructuredText](https://www.sphinx-doc.org/en/master/usage/restructuredtext/basics.html) +and [MyST Markdown](https://myst-parser.readthedocs.io) is used to write our documentation, +although we would like to migrate purely to MyST markdown in the future. + +1. Install the packages needed to build the documentation + + ```bash + pip install -r docs/doc-requirements.txt + ``` + +2. Build the documentation by using `make` inside the `docs` folder. This will + internally call `sphinx` + + ```bash + cd docs + make html + ``` + +3. Preview the documentation by opening `_build/html/index.html` file in + your browser. From inside the `docs` folder, you can run either + `open _build/html/index.html` (on MacOS) or `xdg-open _build/html/index.html` + to quickly open the file in the browser. + +4. You can run `make html` again after making further changes to see their + effects. \ No newline at end of file diff --git a/nbgitpuller/__init__.py b/nbgitpuller/__init__.py index f7bd3773..54870226 100644 --- a/nbgitpuller/__init__.py +++ b/nbgitpuller/__init__.py @@ -1,6 +1,6 @@ -from .version import __version__ +from .version import __version__ # noqa from .handlers import SyncHandler, UIHandler, LegacyInteractRedirectHandler, LegacyGitSyncRedirectHandler -from .pull import GitPuller +from .pull import GitPuller # noqa from notebook.utils import url_path_join from tornado.web import StaticFileHandler import os diff --git a/tox.ini b/tox.ini deleted file mode 100644 index d83c017b..00000000 --- a/tox.ini +++ /dev/null @@ -1,22 +0,0 @@ -[tox] -envlist=py38, flake8 - -[testenv] -commands= - py.test --cov nbgitpuller {posargs} -deps= - six - pytest - pytest-cov - tornado - notebook - -[testenv:flake8] -basepython = python3.8 -deps = - flake8 - six - tornado - notebook -commands = - flake8 nbgitpuller tests --exclude nbgitpuller/__init__.py --ignore E127 --max-line-length=150 From 8423af43e56df865eb4ce9a787dde3f71f47b0d0 Mon Sep 17 00:00:00 2001 From: Sean Morris Date: Tue, 1 Jun 2021 18:00:21 -0700 Subject: [PATCH 137/284] Updates to handling default or non-existing branch - removed requirements.txt - misguided moment! - added exception handling to subprocess.run - added tests for exception handling - added tests for checking that branch does exist --- nbgitpuller/pull.py | 72 ++++++++++++++++++++++++----------------- requirements.txt | 3 -- tests/test_gitpuller.py | 31 ++++++++++++++++-- 3 files changed, 71 insertions(+), 35 deletions(-) delete mode 100644 requirements.txt diff --git a/nbgitpuller/pull.py b/nbgitpuller/pull.py index 09eecccd..c14088a5 100644 --- a/nbgitpuller/pull.py +++ b/nbgitpuller/pull.py @@ -87,42 +87,54 @@ def branch_exists(self, branch): This checks to make sure the branch we are told to access exists in the repo """ - p_heads = subprocess.run( - ["git", "ls-remote", "--heads", self.git_url], - capture_output=True, - text=True, - ) - p_tags = subprocess.run( - ["git", "ls-remote", "--tags", self.git_url], - capture_output=True, - text=True, - ) - lines = p_heads.stdout.splitlines() + p_tags.stdout.splitlines() - branches = [] - for line in lines: - _, ref = line.split() - refs, heads, branch_name = ref.split("/", 2) - branches.append(branch_name) - return branch in branches + try: + heads = subprocess.run( + ["git", "ls-remote", "--heads", self.git_url], + capture_output=True, + text=True, + check=True + ) + tags = subprocess.run( + ["git", "ls-remote", "--tags", self.git_url], + capture_output=True, + text=True, + check=True + ) + lines = heads.stdout.splitlines() + tags.stdout.splitlines() + branches = [] + for line in lines: + _, ref = line.split() + refs, heads, branch_name = ref.split("/", 2) + branches.append(branch_name) + return branch in branches + except subprocess.CalledProcessError: + m = f"Problem accessing list of branches and/or tags: {self.git_url}" + logging.exception(m) + raise ValueError(m) def resolve_default_branch(self): """ This will resolve the default branch of the repo in the case where the branch given does not exist """ - p = subprocess.run( - ["git", "ls-remote", "--symref", self.git_url, "HEAD"], - capture_output=True, - text=True, - ) - - for line in p.stdout.splitlines(): - if line.startswith("ref:"): - # line resembles --> ref: refs/heads/main HEAD - _, ref, head = line.split() - refs, heads, branch_name = ref.split("/", 2) - return branch_name - raise ValueError(f"default branch not found in {self.git_url}") + try: + head_branch = subprocess.run( + ["git", "ls-remote", "--symref", self.git_url, "HEAD"], + capture_output=True, + text=True, + check=True + ) + for line in head_branch.stdout.splitlines(): + if line.startswith("ref:"): + # line resembles --> ref: refs/heads/main HEAD + _, ref, head = line.split() + refs, heads, branch_name = ref.split("/", 2) + return branch_name + raise ValueError(f"default branch not found in {self.git_url}") + except subprocess.CalledProcessError: + m = f"Problem accessing HEAD branch: {self.git_url}" + logging.exception(m) + raise ValueError(m) def pull(self): """ diff --git a/requirements.txt b/requirements.txt deleted file mode 100644 index dba7ac5d..00000000 --- a/requirements.txt +++ /dev/null @@ -1,3 +0,0 @@ -traitlets -pytest --e . diff --git a/tests/test_gitpuller.py b/tests/test_gitpuller.py index 93ffb1b6..26929d80 100644 --- a/tests/test_gitpuller.py +++ b/tests/test_gitpuller.py @@ -97,19 +97,46 @@ def test_initialize(): def test_branch_exists(): - with Remote() as remote, Pusher(remote) as pusher: + with Remote() as remote, Pusher(remote) as pusher: pusher.push_file('README.md', '1') with Puller(remote, 'puller') as puller: assert not puller.gp.branch_exists("wrong") + assert puller.gp.branch_exists("master") + + +def test_exception_branch_exists(): + with Remote() as remote, Pusher(remote) as pusher: + pusher.push_file('README.md', '1') + with Puller(remote, 'puller') as puller: + orig_url = puller.gp.git_url + puller.gp.git_url = "" + try: + puller.gp.branch_exists("wrong") + except Exception as e: + assert type(e) == ValueError + puller.gp.git_url = orig_url def test_resolve_default_branch(): - with Remote() as remote, Pusher(remote) as pusher: + with Remote() as remote, Pusher(remote) as pusher: pusher.push_file('README.md', '1') with Puller(remote, 'puller') as puller: assert puller.gp.resolve_default_branch() == "master" +def test_exception_resolve_default_branch(): + with Remote() as remote, Pusher(remote) as pusher: + pusher.push_file('README.md', '1') + with Puller(remote, 'puller') as puller: + orig_url = puller.gp.git_url + puller.gp.git_url = "" + try: + puller.gp.resolve_default_branch() + except Exception as e: + assert type(e) == ValueError + puller.gp.git_url = orig_url + + def test_simple_push_pull(): """ Test the 'happy path' push/pull interaction From 12f25dd45d09d140038a9f9c4b66d7b7cb3ea715 Mon Sep 17 00:00:00 2001 From: Sean Morris Date: Mon, 7 Jun 2021 18:19:09 -0700 Subject: [PATCH 138/284] Cleaned up passing of branch on query string The following changes ensure branch is only passed when it has been defined: - branch becomes keyword parameter to GitPuller - branch only addd to query string when not undefined - branch only encoded into url when exists --- nbgitpuller/handlers.py | 4 ++-- nbgitpuller/pull.py | 15 ++++++--------- nbgitpuller/static/index.js | 4 +++- nbgitpuller/templates/status.html | 2 +- tests/test_gitpuller.py | 2 +- 5 files changed, 13 insertions(+), 14 deletions(-) diff --git a/nbgitpuller/handlers.py b/nbgitpuller/handlers.py index b6c41b62..f83ad7d5 100644 --- a/nbgitpuller/handlers.py +++ b/nbgitpuller/handlers.py @@ -52,7 +52,7 @@ def get(self): try: repo = self.get_argument('repo') - branch = self.get_argument('branch') + branch = self.get_argument('branch', None) depth = self.get_argument('depth', None) if depth: depth = int(depth) @@ -73,7 +73,7 @@ def get(self): self.set_header('content-type', 'text/event-stream') self.set_header('cache-control', 'no-cache') - gp = GitPuller(repo, branch, repo_dir, depth=depth, parent=self.settings['nbapp']) + gp = GitPuller(repo, repo_dir, branch=branch, depth=depth, parent=self.settings['nbapp']) q = Queue() diff --git a/nbgitpuller/pull.py b/nbgitpuller/pull.py index c14088a5..f64b18e3 100644 --- a/nbgitpuller/pull.py +++ b/nbgitpuller/pull.py @@ -66,17 +66,16 @@ def _depth_default(self): where the GitPuller class hadn't been loaded already.""" return int(os.environ.get('NBGITPULLER_DEPTH', 1)) - def __init__(self, git_url, branch_name, repo_dir, **kwargs): - assert git_url and branch_name + def __init__(self, git_url, repo_dir, **kwargs): + assert git_url self.git_url = git_url + self.branch_name = kwargs.pop("branch") - if branch_name == "None": + if self.branch_name is None: self.branch_name = self.resolve_default_branch() - elif not self.branch_exists(branch_name): - raise ValueError(f"{branch_name}: branch not found in {self.git_url}") - else: - self.branch_name = branch_name + elif not self.branch_exists(self.branch_name): + raise ValueError(f"Branch: {self.branch_name} -- not found in repo: {self.git_url}") self.repo_dir = repo_dir newargs = {k: v for k, v in kwargs.items() if v is not None} @@ -304,13 +303,11 @@ def main(): parser = argparse.ArgumentParser(description='Synchronizes a github repository with a local repository.') parser.add_argument('git_url', help='Url of the repo to sync') - parser.add_argument('branch_name', default='master', help='Branch of repo to sync', nargs='?') parser.add_argument('repo_dir', default='.', help='Path to clone repo under', nargs='?') args = parser.parse_args() for line in GitPuller( args.git_url, - args.branch_name, args.repo_dir ).pull(): print(line) diff --git a/nbgitpuller/static/index.js b/nbgitpuller/static/index.js index 53cd0cc0..c85d5897 100644 --- a/nbgitpuller/static/index.js +++ b/nbgitpuller/static/index.js @@ -44,12 +44,14 @@ require([ // Start git pulling handled by SyncHandler, declared in handlers.py var syncUrlParams = { repo: this.repo, - branch: this.branch, targetpath: this.targetpath } if (typeof this.depth !== 'undefined' && this.depth != undefined) { syncUrlParams['depth'] = this.depth; } + if (typeof this.branch !== 'undefined' && this.branch != undefined) { + syncUrlParams['branch'] = this.branch; + } var syncUrl = this.baseUrl + 'git-pull/api?' + $.param(syncUrlParams); this.eventSource = new EventSource(syncUrl); diff --git a/nbgitpuller/templates/status.html b/nbgitpuller/templates/status.html index b20a7b7f..1fcd00dc 100644 --- a/nbgitpuller/templates/status.html +++ b/nbgitpuller/templates/status.html @@ -5,7 +5,7 @@ data-base-url="{{ base_url | urlencode }}" data-repo="{{ repo | urlencode }}" data-path="{{ path | urlencode }}" -data-branch="{{ branch | urlencode }}" +{% if branch %}data-branch="{{ branch | urlencode }}"{% endif %} {% if depth %}data-depth="{{ depth | urlencode }}"{% endif %} data-targetpath="{{ targetpath | urlencode }}" {% endblock %} diff --git a/tests/test_gitpuller.py b/tests/test_gitpuller.py index 26929d80..05c01354 100644 --- a/tests/test_gitpuller.py +++ b/tests/test_gitpuller.py @@ -64,7 +64,7 @@ class Puller(Repository): def __init__(self, remote, path='puller', branch="master", *args, **kwargs): super().__init__(path) remotepath = "file://%s" % os.path.abspath(remote.path) - self.gp = GitPuller(remotepath, branch, path, *args, **kwargs) + self.gp = GitPuller(remotepath, path, branch=branch, *args, **kwargs) def pull_all(self): for line in self.gp.pull(): From bb2daad4e5ef39bbaee9b254acfbdd55a841d289 Mon Sep 17 00:00:00 2001 From: Erik Sundell Date: Wed, 9 Jun 2021 08:21:44 +0200 Subject: [PATCH 139/284] Update past changelog format --- CHANGELOG.md | 29 ++++++++++++----------------- 1 file changed, 12 insertions(+), 17 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 25aefba8..310113ef 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,6 @@ -0.9.0 -===== +## 0.9 + +### 0.9.0 - 2020-09-1 - Allow destination to be configured ([#42](https://github.com/jupyterhub/nbgitpuller/pull/42)) - Made the checkout from the reset_deleted_files to use the origin. ([#111](https://github.com/jupyterhub/nbgitpuller/pull/111)) @@ -20,32 +21,28 @@ - CI: fix broken test assertions following --depth 1 by default ([#147](https://github.com/jupyterhub/nbgitpuller/pull/147)) - CI: ensure tox run's flake8 as well ([#148](https://github.com/jupyterhub/nbgitpuller/pull/148)) +## 0.8 -0.8.0 -===== +### 0.8.0 2019-11-23 - Link generator: init application type from query params ([#107](https://github.com/jupyterhub/nbgitpuller/pull/107)) - Made the checkout from the reset_deleted_files to use the origin. ([#111](https://github.com/jupyterhub/nbgitpuller/pull/111)) +## 0.7 -0.7.2 -===== +### 0.7.2 - 2019-10-3 - Bump version number ([#103](https://github.com/jupyterhub/nbgitpuller/pull/103)) - Set authorship info on each commit, rather than repo-wide ([#104](https://github.com/jupyterhub/nbgitpuller/pull/104)) - Bump version number ([#105](https://github.com/jupyterhub/nbgitpuller/pull/105)) - -0.7.1 -===== +### 0.7.1 2019-10-3 - Update version to 0.7.0. ([#100](https://github.com/jupyterhub/nbgitpuller/pull/100)) - Fix legacy links with empty path ([#102](https://github.com/jupyterhub/nbgitpuller/pull/102)) - Bump version number ([#103](https://github.com/jupyterhub/nbgitpuller/pull/103)) - -0.7.0 -===== +### 0.7.0 2019-07-31 - adding a link generator binder ([#49](https://github.com/jupyterhub/nbgitpuller/pull/49)) - Clean up link_generator notebook / app ([#50](https://github.com/jupyterhub/nbgitpuller/pull/50)) @@ -67,15 +64,13 @@ - Redo documentation ([#92](https://github.com/jupyterhub/nbgitpuller/pull/92)) - Allow git@example.com:repo links ([#97](https://github.com/jupyterhub/nbgitpuller/pull/97)) +## 0.6 -0.6.1 -===== +### 0.6.1 2018-07-19 - Install Jupyter notebook extension by default, Add missing nbgitpuller.json file - -0.6.0 -===== +### 0.6.0 2018-07-18 - Work with (and require) newer notebook version ([#46](https://github.com/jupyterhub/nbgitpuller/pull/46)) - Update README.md ([#48](https://github.com/jupyterhub/nbgitpuller/pull/48)) From 73453e5ab1407922c09c16cc5027e5a0309245f4 Mon Sep 17 00:00:00 2001 From: Erik Sundell Date: Wed, 9 Jun 2021 08:24:12 +0200 Subject: [PATCH 140/284] Add changelog for 0.10.0 --- CHANGELOG.md | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 310113ef..4c3db7bd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,41 @@ +## 0.10 + +### 0.10.0 - 2021-06-09 + +#### Enhancements made + +- UI: Branch input placeholder no longer suggests master branch [#180](https://github.com/jupyterhub/nbgitpuller/pull/180) ([@sean-morris](https://github.com/sean-morris)) +- Handle default or non-existing branch name [#179](https://github.com/jupyterhub/nbgitpuller/pull/179) ([@sean-morris](https://github.com/sean-morris)) +- Tell users about `main` vs `master` branches [#170](https://github.com/jupyterhub/nbgitpuller/pull/170) ([@yuvipanda](https://github.com/yuvipanda)) +- Support generating shiny links [#165](https://github.com/jupyterhub/nbgitpuller/pull/165) ([@yuvipanda](https://github.com/yuvipanda)) + +#### Bugs fixed + +- Handle lack of trailing slashes in hub URLs [#173](https://github.com/jupyterhub/nbgitpuller/pull/173) ([@yuvipanda](https://github.com/yuvipanda)) +- Respect path component of JupyterHub url [#172](https://github.com/jupyterhub/nbgitpuller/pull/172) ([@yuvipanda](https://github.com/yuvipanda)) +- Parse ssh git URLs properly [#163](https://github.com/jupyterhub/nbgitpuller/pull/163) ([@yuvipanda](https://github.com/yuvipanda)) +- Fix failure to restore deleted files (use raw output of git ls-files to avoid quoting unicode) [#156](https://github.com/jupyterhub/nbgitpuller/pull/156) ([@manics](https://github.com/manics)) +- Compare current branch to target - don't assume already on target branch locally [#141](https://github.com/jupyterhub/nbgitpuller/pull/141) ([@danlester](https://github.com/danlester)) + +#### Documentation improvements + +- Document restarting notebook process to see changes [#178](https://github.com/jupyterhub/nbgitpuller/pull/178) ([@yuvipanda](https://github.com/yuvipanda)) +- docs: update README.md badges [#175](https://github.com/jupyterhub/nbgitpuller/pull/175) ([@consideRatio](https://github.com/consideRatio)) +- Add best practices recommendation documentation [#169](https://github.com/jupyterhub/nbgitpuller/pull/169) ([@yuvipanda](https://github.com/yuvipanda)) +- Document how to do local development [#162](https://github.com/jupyterhub/nbgitpuller/pull/162) ([@yuvipanda](https://github.com/yuvipanda)) +- Add badges to README.md [#150](https://github.com/jupyterhub/nbgitpuller/pull/150) ([@consideRatio](https://github.com/consideRatio)) + +#### Continuous Integration + +- CI: Replace Travis with GitHub workflow [#161](https://github.com/jupyterhub/nbgitpuller/pull/161) ([@manics](https://github.com/manics)) +- CI: stop triggering CircleCI on automated pushes to gh-pages [#151](https://github.com/jupyterhub/nbgitpuller/pull/151) ([@consideRatio](https://github.com/consideRatio)) + +#### Contributors to this release + +([GitHub contributors page for this release](https://github.com/jupyterhub/nbgitpuller/graphs/contributors?from=2020-08-01&to=2021-06-09&type=c)) + +[@albertmichaelj](https://github.com/search?q=repo%3Ajupyterhub%2Fnbgitpuller+involves%3Aalbertmichaelj+updated%3A2020-08-01..2021-06-09&type=Issues) | [@choldgraf](https://github.com/search?q=repo%3Ajupyterhub%2Fnbgitpuller+involves%3Acholdgraf+updated%3A2020-08-01..2021-06-09&type=Issues) | [@consideRatio](https://github.com/search?q=repo%3Ajupyterhub%2Fnbgitpuller+involves%3AconsideRatio+updated%3A2020-08-01..2021-06-09&type=Issues) | [@danlester](https://github.com/search?q=repo%3Ajupyterhub%2Fnbgitpuller+involves%3Adanlester+updated%3A2020-08-01..2021-06-09&type=Issues) | [@giumas](https://github.com/search?q=repo%3Ajupyterhub%2Fnbgitpuller+involves%3Agiumas+updated%3A2020-08-01..2021-06-09&type=Issues) | [@manics](https://github.com/search?q=repo%3Ajupyterhub%2Fnbgitpuller+involves%3Amanics+updated%3A2020-08-01..2021-06-09&type=Issues) | [@minrk](https://github.com/search?q=repo%3Ajupyterhub%2Fnbgitpuller+involves%3Aminrk+updated%3A2020-08-01..2021-06-09&type=Issues) | [@ryanlovett](https://github.com/search?q=repo%3Ajupyterhub%2Fnbgitpuller+involves%3Aryanlovett+updated%3A2020-08-01..2021-06-09&type=Issues) | [@SaladRaider](https://github.com/search?q=repo%3Ajupyterhub%2Fnbgitpuller+involves%3ASaladRaider+updated%3A2020-08-01..2021-06-09&type=Issues) | [@samuelmanzer](https://github.com/search?q=repo%3Ajupyterhub%2Fnbgitpuller+involves%3Asamuelmanzer+updated%3A2020-08-01..2021-06-09&type=Issues) | [@sean-morris](https://github.com/search?q=repo%3Ajupyterhub%2Fnbgitpuller+involves%3Asean-morris+updated%3A2020-08-01..2021-06-09&type=Issues) | [@ttimbers](https://github.com/search?q=repo%3Ajupyterhub%2Fnbgitpuller+involves%3Attimbers+updated%3A2020-08-01..2021-06-09&type=Issues) | [@welcome](https://github.com/search?q=repo%3Ajupyterhub%2Fnbgitpuller+involves%3Awelcome+updated%3A2020-08-01..2021-06-09&type=Issues) | [@yuvipanda](https://github.com/search?q=repo%3Ajupyterhub%2Fnbgitpuller+involves%3Ayuvipanda+updated%3A2020-08-01..2021-06-09&type=Issues) + ## 0.9 ### 0.9.0 - 2020-09-1 From 672722af6806a9537648f8d5fb6590245b9b8810 Mon Sep 17 00:00:00 2001 From: Erik Sundell Date: Wed, 9 Jun 2021 11:04:45 +0200 Subject: [PATCH 141/284] Apply suggestions from code review Co-authored-by: Yuvi Panda --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4c3db7bd..7ac7c9af 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,7 +5,7 @@ #### Enhancements made - UI: Branch input placeholder no longer suggests master branch [#180](https://github.com/jupyterhub/nbgitpuller/pull/180) ([@sean-morris](https://github.com/sean-morris)) -- Handle default or non-existing branch name [#179](https://github.com/jupyterhub/nbgitpuller/pull/179) ([@sean-morris](https://github.com/sean-morris)) +- Automatically detect default branch name [#179](https://github.com/jupyterhub/nbgitpuller/pull/179) ([@sean-morris](https://github.com/sean-morris)) - Tell users about `main` vs `master` branches [#170](https://github.com/jupyterhub/nbgitpuller/pull/170) ([@yuvipanda](https://github.com/yuvipanda)) - Support generating shiny links [#165](https://github.com/jupyterhub/nbgitpuller/pull/165) ([@yuvipanda](https://github.com/yuvipanda)) From 330dd1eab46ee4ef3f35da36f449c610200dfc07 Mon Sep 17 00:00:00 2001 From: Erik Sundell Date: Wed, 9 Jun 2021 11:07:33 +0200 Subject: [PATCH 142/284] release 0.10.0 --- nbgitpuller/version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nbgitpuller/version.py b/nbgitpuller/version.py index 2aa555dc..a425911e 100644 --- a/nbgitpuller/version.py +++ b/nbgitpuller/version.py @@ -1,2 +1,2 @@ """"The nbgitpuller PyPI package SemVer version.""" -__version__ = '0.9.0dev0' +__version__ = '0.10.0' From 3280fdde5d9abc64e4b6271375bd03e94886103d Mon Sep 17 00:00:00 2001 From: Erik Sundell Date: Wed, 9 Jun 2021 11:08:16 +0200 Subject: [PATCH 143/284] back to dev --- nbgitpuller/version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nbgitpuller/version.py b/nbgitpuller/version.py index a425911e..b0dc82a9 100644 --- a/nbgitpuller/version.py +++ b/nbgitpuller/version.py @@ -1,2 +1,2 @@ """"The nbgitpuller PyPI package SemVer version.""" -__version__ = '0.10.0' +__version__ = '0.10.1dev0' From 3c786e851f368d33c2e6e9c7b05025bf0b4376d0 Mon Sep 17 00:00:00 2001 From: Sean Morris Date: Thu, 10 Jun 2021 10:44:36 -0700 Subject: [PATCH 144/284] Added branch name back to command-line usage I inadvertently removed the command-line usage of the tool. This works now: gitpuller [-h] git_url [branch_name] [repo_dir] --- nbgitpuller/pull.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/nbgitpuller/pull.py b/nbgitpuller/pull.py index f64b18e3..61f54c27 100644 --- a/nbgitpuller/pull.py +++ b/nbgitpuller/pull.py @@ -303,11 +303,13 @@ def main(): parser = argparse.ArgumentParser(description='Synchronizes a github repository with a local repository.') parser.add_argument('git_url', help='Url of the repo to sync') + parser.add_argument('branch_name', default='master', help='Branch of repo to sync', nargs='?') parser.add_argument('repo_dir', default='.', help='Path to clone repo under', nargs='?') args = parser.parse_args() for line in GitPuller( args.git_url, - args.repo_dir + args.repo_dir, + branch=args.branch_name ).pull(): print(line) From 66101be8952070c2d04416ebc6cd05a1181978a6 Mon Sep 17 00:00:00 2001 From: Sean Morris Date: Mon, 14 Jun 2021 15:04:16 -0700 Subject: [PATCH 145/284] Removed master as default branch_name The default branch_name from the command line invocation is None if no name is passed. --- nbgitpuller/pull.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nbgitpuller/pull.py b/nbgitpuller/pull.py index 61f54c27..5fa5f93a 100644 --- a/nbgitpuller/pull.py +++ b/nbgitpuller/pull.py @@ -303,7 +303,7 @@ def main(): parser = argparse.ArgumentParser(description='Synchronizes a github repository with a local repository.') parser.add_argument('git_url', help='Url of the repo to sync') - parser.add_argument('branch_name', default='master', help='Branch of repo to sync', nargs='?') + parser.add_argument('branch_name', default=None, help='Branch of repo to sync', nargs='?') parser.add_argument('repo_dir', default='.', help='Path to clone repo under', nargs='?') args = parser.parse_args() From 1e5790467ae4a4bbf4d76c2763baf00f342d0c66 Mon Sep 17 00:00:00 2001 From: Sean Morris Date: Mon, 14 Jun 2021 16:54:17 -0700 Subject: [PATCH 146/284] Added tests to catch command line execution errors I added three tests to check to make sure command line calls execute correctly under the following conditions: - non-existent branch passed - existing branch passed - no branch passed(or "") -- figure out default --- nbgitpuller/pull.py | 6 +++++- tests/test_gitpuller.py | 43 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 48 insertions(+), 1 deletion(-) diff --git a/nbgitpuller/pull.py b/nbgitpuller/pull.py index 5fa5f93a..ef2aefb7 100644 --- a/nbgitpuller/pull.py +++ b/nbgitpuller/pull.py @@ -310,6 +310,10 @@ def main(): for line in GitPuller( args.git_url, args.repo_dir, - branch=args.branch_name + branch=args.branch_name if args.branch_name else None ).pull(): print(line) + + +if __name__ == '__main__': + main() diff --git a/tests/test_gitpuller.py b/tests/test_gitpuller.py index 05c01354..0055b0da 100644 --- a/tests/test_gitpuller.py +++ b/tests/test_gitpuller.py @@ -96,6 +96,49 @@ def test_initialize(): assert puller.git('rev-parse', 'HEAD') == pusher.git('rev-parse', 'HEAD') +def command_line_test_helper(remote_path, branch, pusher_path): + work_dir = "/".join(os.path.dirname(os.path.abspath(__file__)).split("/")[:-1]) + "/nbgitpuller" + try: + cmd = ['python3', 'pull.py', remote_path, branch, pusher_path] + sp.check_output( + cmd, + cwd=work_dir + ).decode() + return True + except Exception: + return False + + +def test_command_line_existing_branch(): + branch = "master" + with Remote() as remote, Pusher(remote) as pusher: + pusher.push_file('README.md', '1') + remotepath = "file://%s" % os.path.abspath(remote.path) + pusherpath = os.path.abspath(pusher.path) + subprocess_result = command_line_test_helper(remotepath, branch, pusherpath) + assert subprocess_result + + +def test_command_line_default_branch(): + branch = "" + with Remote() as remote, Pusher(remote) as pusher: + pusher.push_file('README.md', '1') + remotepath = "file://%s" % os.path.abspath(remote.path) + pusherpath = os.path.abspath(pusher.path) + subprocess_result = command_line_test_helper(remotepath, branch, pusherpath) + assert subprocess_result + + +def test_command_line_non_existing_branch(): + branch = "wrong" + with Remote() as remote, Pusher(remote) as pusher: + pusher.push_file('README.md', '1') + remotepath = "file://%s" % os.path.abspath(remote.path) + pusherpath = os.path.abspath(pusher.path) + subprocess_result = command_line_test_helper(remotepath, branch, pusherpath) + assert not subprocess_result + + def test_branch_exists(): with Remote() as remote, Pusher(remote) as pusher: pusher.push_file('README.md', '1') From 4293c7bb40e4adddc970efe3aaf814ec0884c280 Mon Sep 17 00:00:00 2001 From: Erik Sundell Date: Thu, 24 Jun 2021 12:08:07 +0200 Subject: [PATCH 147/284] ci: stop using pip cache, add workflow_dispatch, and cleanup misc --- .github/workflows/test.yml | 40 +++++++++++++++----------------------- README.md | 1 + 2 files changed, 17 insertions(+), 24 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 1c5c78eb..9001407b 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -6,17 +6,7 @@ name: Tests on: pull_request: push: - -defaults: - run: - # Declare bash be used by default in this workflow's "run" steps. - # - # NOTE: bash will by default run with: - # --noprofile: Ignore ~/.profile etc. - # --norc: Ignore ~/.bashrc etc. - # -e: Exit directly on errors - # -o pipefail: Don't mask errors from a command piped into another command - shell: bash + workflow_dispatch: jobs: test: @@ -32,15 +22,19 @@ jobs: with: python-version: '3.8' - # preserve pip cache to speed up installation - - name: Cache pip - uses: actions/cache@v2 - with: - path: ~/.cache/pip - # Look to see if there is a cache hit for the corresponding requirements file - key: ${{ runner.os }}-pip-${{ hashFiles('*requirements.txt') }} - restore-keys: | - ${{ runner.os }}-pip- + # DISABLED: Since we don't pin our dependencies in dev-requirements.txt + # and only refresh the cache when it changes, we end up with a + # cache that remains for too long and cause failures. Due to + # this, it has been disabled. + # + # - name: Cache pip dependencies + # uses: actions/cache@v2 + # with: + # path: ~/.cache/pip + # # Look to see if there is a cache hit for the corresponding requirements file + # key: ${{ runner.os }}-pip-${{ hashFiles('*requirements.txt') }} + # restore-keys: | + # ${{ runner.os }}-pip- - name: Install dependencies run: | @@ -51,7 +45,5 @@ jobs: - name: Run tests run: | - # Install nbgitpuller + dependencies - pip install -e . - # Run tests - py.test --cov nbgitpuller \ No newline at end of file + pip install . + pytest --verbose --maxfail=2 --color=yes --cov nbgitpuller diff --git a/README.md b/README.md index 0cc9dfe3..2fa08a4b 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,6 @@ # [nbgitpuller](https://github.com/jupyterhub/nbgitpuller) + [![GitHub Workflow Status - Test](https://img.shields.io/github/workflow/status/jupyterhub/nbgitpuller/Tests?logo=github&label=tests)](https://github.com/jupyterhub/nbgitpuller/actions) [![CircleCI build status](https://img.shields.io/circleci/build/github/jupyterhub/nbgitpuller?logo=circleci&label=docs)](https://circleci.com/gh/jupyterhub/nbgitpuller) [![](https://img.shields.io/pypi/v/nbgitpuller.svg?logo=pypi)](https://pypi.python.org/pypi/nbgitpuller) From cf68d91d0a70acf20390996c9864db1325822ab3 Mon Sep 17 00:00:00 2001 From: Erik Sundell Date: Thu, 24 Jun 2021 12:35:41 +0200 Subject: [PATCH 148/284] Rename nbgitpuller repo's master branch to main --- .circleci/config.yml | 8 ++++---- RELEASE.md | 14 +++++++------- docs/conf.py | 12 ++++++------ 3 files changed, 17 insertions(+), 17 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 2d8b1517..e12c7e5b 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -34,9 +34,9 @@ workflows: - build_docs - push_docs: filters: # using regex filters requires the entire branch to match - branches: - only: # only branches matching the below regex filters will run - - master + branches: + only: # only branches matching the below regex filters will run + - main commands: build_site: @@ -62,4 +62,4 @@ commands: name: Build docs to store command: | cd docs - make html \ No newline at end of file + make html diff --git a/RELEASE.md b/RELEASE.md index 10b26bab..981a3c56 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -9,13 +9,13 @@ The PyPI release is done automatically by TravisCI when a tag is pushed. ## Steps to make a release -1. Checkout master and make sure it is up to date. +1. Checkout main and make sure it is up to date. ```shell ORIGIN=${ORIGIN:-origin} # set to the canonical remote, e.g. 'upstream' if 'origin' is not the official repo - git checkout master - git fetch $ORIGIN master - git reset --hard $ORIGIN/master + git checkout main + git fetch $ORIGIN main + git reset --hard $ORIGIN/main # WARNING! This next command deletes any untracked files in the repo git clean -xfd ``` @@ -38,15 +38,15 @@ The PyPI release is done automatically by TravisCI when a tag is pushed. git commit -m "back to dev" ``` -1. Push your two commits to master. +1. Push your two commits to main. ```shell # first push commits without a tags to ensure the # commits comes through, because a tag can otherwise # be pushed all alone without company of rejected # commits, and we want have our tagged release coupled - # with a specific commit in master - git push $ORIGIN master + # with a specific commit in main + git push $ORIGIN main ``` 1. Create a git tag for the pushed release commit and push it. diff --git a/docs/conf.py b/docs/conf.py index cea5185f..66fb9cb2 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -32,8 +32,8 @@ def setup(app): source_suffix = [".rst", ".md"] -# The master toctree document. -master_doc = "index" +# The root toctree document. +root_doc = master_doc = "index" # General information about the project. project = "nbgitpuller" @@ -85,7 +85,7 @@ def setup(app): html_context = { "github_user": "jupyterhub", "github_repo": "nbgitpuller", - "github_version": "master", + "github_version": "main", "doc_path": "doc", "source_suffix": source_suffix, } @@ -130,7 +130,7 @@ def setup(app): # author, documentclass [howto, manual, or own class]). latex_documents = [ ( - master_doc, + root_doc, "nbgitpuller.tex", "nbgitpuller Documentation", "The nbgitpuller Team", @@ -143,7 +143,7 @@ def setup(app): # One entry per manual page. List of tuples # (source start file, name, description, authors, manual section). -man_pages = [(master_doc, "nbgitpuller", "nbgitpuller Documentation", [author], 1)] +man_pages = [(root_doc, "nbgitpuller", "nbgitpuller Documentation", [author], 1)] # -- Options for Texinfo output ------------------------------------------- @@ -153,7 +153,7 @@ def setup(app): # dir menu entry, description, category) texinfo_documents = [ ( - master_doc, + root_doc, "nbgitpuller", "nbgitpuller Documentation", author, From 6118a9ac919c6eb8dbbf4b125ad5f57741e39c63 Mon Sep 17 00:00:00 2001 From: Erik Sundell Date: Thu, 24 Jun 2021 12:51:52 +0200 Subject: [PATCH 149/284] Add changelog for 0.10.1 --- CHANGELOG.md | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7ac7c9af..50eba5ba 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,25 @@ ## 0.10 +### 0.10.1 - 2021-06-24 + +#### Bugs fixed + +- Added branch name back to command-line usage [#185](https://github.com/jupyterhub/nbgitpuller/pull/185) ([@sean-morris](https://github.com/sean-morris)) + +#### Documentation improvements + +- Provide cleaner feedback for lint vs test failures [#181](https://github.com/jupyterhub/nbgitpuller/pull/181) ([@yuvipanda](https://github.com/yuvipanda)) + +#### Continuous integration + +- Fix CI failures by disabling pip cache [#188](https://github.com/jupyterhub/nbgitpuller/pull/188) ([@consideRatio](https://github.com/consideRatio)) + +#### Contributors to this release + +([GitHub contributors page for this release](https://github.com/jupyterhub/nbgitpuller/graphs/contributors?from=2021-06-09&to=2021-06-24&type=c)) + +[@consideRatio](https://github.com/search?q=repo%3Ajupyterhub%2Fnbgitpuller+involves%3AconsideRatio+updated%3A2021-06-09..2021-06-24&type=Issues) | [@manics](https://github.com/search?q=repo%3Ajupyterhub%2Fnbgitpuller+involves%3Amanics+updated%3A2021-06-09..2021-06-24&type=Issues) | [@sean-morris](https://github.com/search?q=repo%3Ajupyterhub%2Fnbgitpuller+involves%3Asean-morris+updated%3A2021-06-09..2021-06-24&type=Issues) | [@yuvipanda](https://github.com/search?q=repo%3Ajupyterhub%2Fnbgitpuller+involves%3Ayuvipanda+updated%3A2021-06-09..2021-06-24&type=Issues) + ### 0.10.0 - 2021-06-09 #### Enhancements made From bd60d7659cb30c7029d8363f1fa0ace0aad93831 Mon Sep 17 00:00:00 2001 From: Erik Sundell Date: Thu, 24 Jun 2021 13:36:35 +0200 Subject: [PATCH 150/284] release 0.10.1 --- nbgitpuller/version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nbgitpuller/version.py b/nbgitpuller/version.py index b0dc82a9..a106513a 100644 --- a/nbgitpuller/version.py +++ b/nbgitpuller/version.py @@ -1,2 +1,2 @@ """"The nbgitpuller PyPI package SemVer version.""" -__version__ = '0.10.1dev0' +__version__ = '0.10.1' From b5f23fd4886a710e4beeac0210727f37fc648200 Mon Sep 17 00:00:00 2001 From: Erik Sundell Date: Thu, 24 Jun 2021 13:37:08 +0200 Subject: [PATCH 151/284] back to dev --- nbgitpuller/version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nbgitpuller/version.py b/nbgitpuller/version.py index a106513a..fa57e158 100644 --- a/nbgitpuller/version.py +++ b/nbgitpuller/version.py @@ -1,2 +1,2 @@ """"The nbgitpuller PyPI package SemVer version.""" -__version__ = '0.10.1' +__version__ = '0.10.2dev0' From 2ef07d358650e777da8f26e953f37984b22e9f19 Mon Sep 17 00:00:00 2001 From: GeorgianaElena Date: Thu, 8 Jul 2021 16:42:43 +0300 Subject: [PATCH 152/284] Migrate nbgitpuller to use jupyter_server --- nbgitpuller/__init__.py | 2 ++ .../etc/{ => jupyter_notebook_config.d}/nbgitpuller.json | 0 nbgitpuller/etc/jupyter_server_config.d/nbgitpuller.json | 8 ++++++++ setup.py | 3 ++- 4 files changed, 12 insertions(+), 1 deletion(-) rename nbgitpuller/etc/{ => jupyter_notebook_config.d}/nbgitpuller.json (100%) create mode 100644 nbgitpuller/etc/jupyter_server_config.d/nbgitpuller.json diff --git a/nbgitpuller/__init__.py b/nbgitpuller/__init__.py index 54870226..b5941286 100644 --- a/nbgitpuller/__init__.py +++ b/nbgitpuller/__init__.py @@ -28,3 +28,5 @@ def load_jupyter_server_extension(nbapp): ] web_app.settings['nbapp'] = nbapp web_app.add_handlers('.*', handlers) + +_load_jupyter_server_extension = load_jupyter_server_extension diff --git a/nbgitpuller/etc/nbgitpuller.json b/nbgitpuller/etc/jupyter_notebook_config.d/nbgitpuller.json similarity index 100% rename from nbgitpuller/etc/nbgitpuller.json rename to nbgitpuller/etc/jupyter_notebook_config.d/nbgitpuller.json diff --git a/nbgitpuller/etc/jupyter_server_config.d/nbgitpuller.json b/nbgitpuller/etc/jupyter_server_config.d/nbgitpuller.json new file mode 100644 index 00000000..e3958472 --- /dev/null +++ b/nbgitpuller/etc/jupyter_server_config.d/nbgitpuller.json @@ -0,0 +1,8 @@ +{ + "ServerApp": { + "jpserver_extensions": { + "nbgitpuller": true + } + } +} + diff --git a/setup.py b/setup.py index 2afcea0f..30e528d8 100644 --- a/setup.py +++ b/setup.py @@ -23,7 +23,8 @@ platforms='any', install_requires=['notebook>=5.5.0', 'tornado'], data_files=[ - ('etc/jupyter/jupyter_notebook_config.d', ['nbgitpuller/etc/nbgitpuller.json']) + ('etc/jupyter/jupyter_server_config.d', ['nbgitpuller/etc/jupyter_server_config.d/nbgitpuller.json']), + ('etc/jupyter/jupyter_notebook_config.d', ['nbgitpuller/etc/jupyter_notebook_config.d/nbgitpuller.json']) ], zip_safe=False, entry_points={ From 2b1501825f07b21f7f23aef554e22cf963aeea2e Mon Sep 17 00:00:00 2001 From: GeorgianaElena Date: Mon, 19 Jul 2021 14:33:45 +0300 Subject: [PATCH 153/284] Copy page.html over to avoid notebook pkg dep --- nbgitpuller/templates/page.html | 196 ++++++++++++++++++++++++++++++++ 1 file changed, 196 insertions(+) create mode 100644 nbgitpuller/templates/page.html diff --git a/nbgitpuller/templates/page.html b/nbgitpuller/templates/page.html new file mode 100644 index 00000000..22373190 --- /dev/null +++ b/nbgitpuller/templates/page.html @@ -0,0 +1,196 @@ + + + + + + + {% block title %}Jupyter Notebook{% endblock %} + {% block favicon %}{% endblock %} + + + + + + {% block stylesheet %} + + {% endblock %} + + + + + + + + + {% block meta %} + {% endblock %} + + + + + + + + + +
+{% block site %} +{% endblock %} +
+ +{% block after_site %} +{% endblock %} + +{% block script %} +{% endblock %} + + + + + From 6c42bf22dbe6daecdbcb68bb74f0dbcbe24815af Mon Sep 17 00:00:00 2001 From: GeorgianaElena Date: Mon, 19 Jul 2021 14:35:51 +0300 Subject: [PATCH 154/284] Add webpack config files --- package.json | 26 ++++++++++++++++++++++++++ webpack.config.js | 18 ++++++++++++++++++ 2 files changed, 44 insertions(+) create mode 100644 package.json create mode 100644 webpack.config.js diff --git a/package.json b/package.json new file mode 100644 index 00000000..12e3218f --- /dev/null +++ b/package.json @@ -0,0 +1,26 @@ +{ + "name": "nbgitpuller", + "version": "0.10.1", + "description": "`nbgitpuller`", + "devDependencies": { + "jquery": "^3.6.0", + "webpack": "^5.45.1", + "webpack-cli": "^4.7.2", + "xterm": "^4.13.0", + "xterm-addon-fit": "^0.5.0" + }, + "scripts": { + "webpack": "webpack", + "webpack:watch": "webpack --watch" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/jupyterhub/nbgitpuller.git" + }, + "author": "", + "license": "BSD-3-Clause", + "bugs": { + "url": "https://github.com/jupyterhub/nbgitpuller/issues" + }, + "homepage": "https://github.com/jupyterhub/nbgitpuller#readme" +} diff --git a/webpack.config.js b/webpack.config.js new file mode 100644 index 00000000..a47e5937 --- /dev/null +++ b/webpack.config.js @@ -0,0 +1,18 @@ +const webpack = require('webpack'); + +module.exports = { + context: __dirname + "/nbgitpuller/static/", + entry: "./js/index.js", + output: { + path: __dirname + "/nbgitpuller/static/dist/", + filename: "bundle.js", + publicPath: '/static/dist/' + }, + devtool: 'source-map', + plugins: [ + new webpack.ProvidePlugin({ + $: 'jquery', + jQuery: 'jquery', + }), + ] +} From 2d56f02e4164f048b9a8c1df873fca4eb3a1bf78 Mon Sep 17 00:00:00 2001 From: GeorgianaElena Date: Mon, 19 Jul 2021 14:36:37 +0300 Subject: [PATCH 155/284] Move index.js to its dedicated dir --- nbgitpuller/static/index.js | 289 -------------------------------- nbgitpuller/static/js/index.js | 292 +++++++++++++++++++++++++++++++++ 2 files changed, 292 insertions(+), 289 deletions(-) delete mode 100644 nbgitpuller/static/index.js create mode 100644 nbgitpuller/static/js/index.js diff --git a/nbgitpuller/static/index.js b/nbgitpuller/static/index.js deleted file mode 100644 index c85d5897..00000000 --- a/nbgitpuller/static/index.js +++ /dev/null @@ -1,289 +0,0 @@ -require([ - 'jquery', - 'base/js/utils', - 'components/xterm.js/index', - 'components/xterm.js-fit/index' -], function( - $, - utils, - Terminal, - fit -) { - - Terminal.applyAddon(fit); - - function GitSync(baseUrl, repo, branch, depth, targetpath, path) { - // Class that talks to the API backend & emits events as appropriate - this.baseUrl = baseUrl; - this.repo = repo; - this.branch = branch; - this.depth = depth; - this.targetpath = targetpath; - this.redirectUrl = baseUrl + path; - - this.callbacks = {}; - } - - GitSync.prototype.addHandler = function(event, cb) { - if (this.callbacks[event] == undefined) { - this.callbacks[event] = [cb]; - } else { - this.callbacks[event].push(cb); - } - }; - - GitSync.prototype._emit = function(event, data) { - if (this.callbacks[event] == undefined) { return; } - $.each(this.callbacks[event], function(i, ev) { - ev(data); - }); - }; - - - GitSync.prototype.start = function() { - // Start git pulling handled by SyncHandler, declared in handlers.py - var syncUrlParams = { - repo: this.repo, - targetpath: this.targetpath - } - if (typeof this.depth !== 'undefined' && this.depth != undefined) { - syncUrlParams['depth'] = this.depth; - } - if (typeof this.branch !== 'undefined' && this.branch != undefined) { - syncUrlParams['branch'] = this.branch; - } - var syncUrl = this.baseUrl + 'git-pull/api?' + $.param(syncUrlParams); - - this.eventSource = new EventSource(syncUrl); - var that = this; - this.eventSource.addEventListener('message', function(ev) { - var data = JSON.parse(ev.data); - if (data.phase == 'finished' || data.phase == 'error') { - that.eventSource.close(); - } - that._emit(data.phase, data); - }); - this.eventSource.addEventListener('error', function(error) { - console.log(arguments); - that._emit('error', error); - }); - }; - - function GitSyncView(termSelector, progressSelector, termToggleSelector) { - // Class that encapsulates view rendering as much as possible - this.term = new Terminal({ - convertEol: true - }); - this.visible = false; - this.$progress = $(progressSelector); - - this.$termToggle = $(termToggleSelector); - this.termSelector = termSelector; - - var that = this; - this.$termToggle.click(function() { - that.setTerminalVisibility(!that.visible); - }); - } - - GitSyncView.prototype.setTerminalVisibility = function(visible) { - if (visible) { - $(this.termSelector).parent().removeClass('hidden'); - } else { - $(this.termSelector).parent().addClass('hidden'); - } - this.visible = visible; - if (visible) { - // See https://github.com/jupyterhub/nbgitpuller/pull/46 on why this is here. - if (!this.term.element) { - this.term.open($(this.termSelector)[0]); - } - this.term.fit(); - } - - } - - GitSyncView.prototype.setProgressValue = function(val) { - this.$progress.attr('aria-valuenow', val); - this.$progress.css('width', val + '%'); - }; - - GitSyncView.prototype.getProgressValue = function() { - return parseFloat(this.$progress.attr('aria-valuenow')); - }; - - GitSyncView.prototype.setProgressText = function(text) { - this.$progress.children('span').text(text); - }; - - GitSyncView.prototype.getProgressText = function() { - return this.$progress.children('span').text(); - }; - - GitSyncView.prototype.setProgressError = function(isError) { - if (isError) { - this.$progress.addClass('progress-bar-danger'); - } else { - this.$progress.removeClass('progress-bar-danger'); - } - }; - - var gs = new GitSync( - utils.get_body_data('baseUrl'), - utils.get_body_data('repo'), - utils.get_body_data('branch'), - utils.get_body_data('depth'), - utils.get_body_data('targetpath'), - utils.get_body_data('path') - ); - - var gsv = new GitSyncView( - '#status-details', - '#status-panel-title', - '#status-panel-toggle' - ); - - gs.addHandler('syncing', function(data) { - gsv.term.write(data.output); - }); - gs.addHandler('finished', function(data) { - progressTimers.forEach(function(timer) { clearInterval(timer); }); - gsv.setProgressValue(100); - gsv.setProgressText('Sync finished, redirecting...'); - window.location.href = gs.redirectUrl; - }); - gs.addHandler('error', function(data) { - progressTimers.forEach(function(timer) { clearInterval(timer); }); - gsv.setProgressValue(100); - gsv.setProgressText('Error: ' + data.message); - gsv.setProgressError(true); - gsv.setTerminalVisibility(true); - if (data.output) { - gsv.term.write(data.output); - } - }); - gs.start(); - - $('#header, #site').show(); - - // Make sure we provide plenty of appearances of progress! - var progressTimers = []; - progressTimers.push(setInterval(function() { - gsv.setProgressText(substatus_messages[Math.floor(Math.random() * substatus_messages.length)]); - }, 3000)); - progressTimers.push(setInterval(function() { - gsv.setProgressText(gsv.getProgressText() + '.'); - }, 800)); - - progressTimers.push(setInterval(function() { - // Illusion of progress! - gsv.setProgressValue(gsv.getProgressValue() + (0.01 * (100 - gsv.getProgressValue()))); - }, 900)); - - - var substatus_messages = [ - "Adding Hidden Agendas", - "Adjusting Bell Curves", - "Aesthesizing Industrial Areas", - "Aligning Covariance Matrices", - "Applying Feng Shui Shaders", - "Applying Theatre Soda Layer", - "Asserting Packed Exemplars", - "Attempting to Lock Back-Buffer", - "Binding Sapling Root System", - "Breeding Fauna", - "Building Data Trees", - "Bureacritizing Bureaucracies", - "Calculating Inverse Probability Matrices", - "Calculating Llama Expectoration Trajectory", - "Calibrating Blue Skies", - "Charging Ozone Layer", - "Coalescing Cloud Formations", - "Cohorting Exemplars", - "Collecting Meteor Particles", - "Compounding Inert Tessellations", - "Compressing Fish Files", - "Computing Optimal Bin Packing", - "Concatenating Sub-Contractors", - "Containing Existential Buffer", - "Debarking Ark Ramp", - "Debunching Unionized Commercial Services", - "Deciding What Message to Display Next", - "Decomposing Singular Values", - "Decrementing Tectonic Plates", - "Deleting Ferry Routes", - "Depixelating Inner Mountain Surface Back Faces", - "Depositing Slush Funds", - "Destabilizing Economic Indicators", - "Determining Width of Blast Fronts", - "Dicing Models", - "Diluting Livestock Nutrition Variables", - "Downloading Satellite Terrain Data", - "Eating Ice Cream", - "Exposing Flash Variables to Streak System", - "Extracting Resources", - "Factoring Pay Scale", - "Fixing Election Outcome Matrix", - "Flood-Filling Ground Water", - "Flushing Pipe Network", - "Gathering Particle Sources", - "Generating Jobs", - "Gesticulating Mimes", - "Graphing Whale Migration", - "Hiding Willio Webnet Mask", - "Implementing Impeachment Routine", - "Increasing Accuracy of RCI Simulators", - "Increasing Magmafacation", - "Initializing Rhinoceros Breeding Timetable", - "Initializing Robotic Click-Path AI", - "Inserting Sublimated Messages", - "Integrating Curves", - "Integrating Illumination Form Factors", - "Integrating Population Graphs", - "Iterating Cellular Automata", - "Lecturing Errant Subsystems", - "Modeling Object Components", - "Normalizing Power", - "Obfuscating Quigley Matrix", - "Overconstraining Dirty Industry Calculations", - "Partitioning City Grid Singularities", - "Perturbing Matrices", - "Polishing Water Highlights", - "Populating Lot Templates", - "Preparing Sprites for Random Walks", - "Prioritizing Landmarks", - "Projecting Law Enforcement Pastry Intake", - "Realigning Alternate Time Frames", - "Reconfiguring User Mental Processes", - "Relaxing Splines", - "Removing Road Network Speed Bumps", - "Removing Texture Gradients", - "Removing Vehicle Avoidance Behavior", - "Resolving GUID Conflict", - "Reticulating Splines", - "Retracting Phong Shader", - "Retrieving from Back Store", - "Reverse Engineering Image Consultant", - "Routing Neural Network Infanstructure", - "Scattering Rhino Food Sources", - "Scrubbing Terrain", - "Searching for Llamas", - "Seeding Architecture Simulation Parameters", - "Sequencing Particles", - "Setting Advisor Moods", - "Setting Inner Deity Indicators", - "Setting Universal Physical Constants", - "Smashing The Patriarchy", - "Sonically Enhancing Occupant-Free Timber", - "Speculating Stock Market Indices", - "Splatting Transforms", - "Stratifying Ground Layers", - "Sub-Sampling Water Data", - "Synthesizing Gravity", - "Synthesizing Wavelets", - "Time-Compressing Simulator Clock", - "Unable to Reveal Current Activity", - "Weathering Buildings", - "Zeroing Crime Network" - ]; -}); diff --git a/nbgitpuller/static/js/index.js b/nbgitpuller/static/js/index.js new file mode 100644 index 00000000..242fb795 --- /dev/null +++ b/nbgitpuller/static/js/index.js @@ -0,0 +1,292 @@ +import { Terminal } from 'xterm'; +import { FitAddon } from 'xterm-addon-fit'; + +const terminal = new Terminal(); +terminal.loadAddon(new FitAddon()); + +function GitSync(baseUrl, repo, branch, depth, targetpath, path) { + // Class that talks to the API backend & emits events as appropriate + this.baseUrl = baseUrl; + this.repo = repo; + this.branch = branch; + this.depth = depth; + this.targetpath = targetpath; + this.redirectUrl = baseUrl + path; + + this.callbacks = {}; +} + +GitSync.prototype.addHandler = function(event, cb) { + if (this.callbacks[event] == undefined) { + this.callbacks[event] = [cb]; + } else { + this.callbacks[event].push(cb); + } +}; + +GitSync.prototype._emit = function(event, data) { + if (this.callbacks[event] == undefined) { return; } + $.each(this.callbacks[event], function(i, ev) { + ev(data); + }); +}; + + +GitSync.prototype.start = function() { + // Start git pulling handled by SyncHandler, declared in handlers.py + var syncUrlParams = { + repo: this.repo, + targetpath: this.targetpath + } + if (typeof this.depth !== 'undefined' && this.depth != undefined) { + syncUrlParams['depth'] = this.depth; + } + if (typeof this.branch !== 'undefined' && this.branch != undefined) { + syncUrlParams['branch'] = this.branch; + } + var syncUrl = this.baseUrl + 'git-pull/api?' + $.param(syncUrlParams); + + this.eventSource = new EventSource(syncUrl); + var that = this; + this.eventSource.addEventListener('message', function(ev) { + var data = JSON.parse(ev.data); + if (data.phase == 'finished' || data.phase == 'error') { + that.eventSource.close(); + } + that._emit(data.phase, data); + }); + this.eventSource.addEventListener('error', function(error) { + console.log(arguments); + that._emit('error', error); + }); +}; + +function GitSyncView(termSelector, progressSelector, termToggleSelector) { + // Class that encapsulates view rendering as much as possible + this.term = new Terminal({ + convertEol: true + }); + this.visible = false; + this.$progress = $(progressSelector); + + this.$termToggle = $(termToggleSelector); + this.termSelector = termSelector; + + var that = this; + this.$termToggle.click(function() { + that.setTerminalVisibility(!that.visible); + }); +} + +GitSyncView.prototype.setTerminalVisibility = function(visible) { + if (visible) { + $(this.termSelector).parent().removeClass('hidden'); + } else { + $(this.termSelector).parent().addClass('hidden'); + } + this.visible = visible; + if (visible) { + // See https://github.com/jupyterhub/nbgitpuller/pull/46 on why this is here. + if (!this.term.element) { + this.term.open($(this.termSelector)[0]); + } + this.term.fit(); + } + +} + +GitSyncView.prototype.setProgressValue = function(val) { + this.$progress.attr('aria-valuenow', val); + this.$progress.css('width', val + '%'); +}; + +GitSyncView.prototype.getProgressValue = function() { + return parseFloat(this.$progress.attr('aria-valuenow')); +}; + +GitSyncView.prototype.setProgressText = function(text) { + this.$progress.children('span').text(text); +}; + +GitSyncView.prototype.getProgressText = function() { + return this.$progress.children('span').text(); +}; + +GitSyncView.prototype.setProgressError = function(isError) { + if (isError) { + this.$progress.addClass('progress-bar-danger'); + } else { + this.$progress.removeClass('progress-bar-danger'); + } +}; + +var get_body_data = function(key) { + /** + * get a url-encoded item from body.data and decode it + * we should never have any encoded URLs anywhere else in code + * until we are building an actual request + */ + var val = $('body').data(key); + if (typeof val === 'undefined') + return val; + return decodeURIComponent(val); +}; + +var gs = new GitSync( + get_body_data('baseUrl'), + get_body_data('repo'), + get_body_data('branch'), + get_body_data('depth'), + get_body_data('targetpath'), + get_body_data('path') +); + +var gsv = new GitSyncView( + '#status-details', + '#status-panel-title', + '#status-panel-toggle' +); + +gs.addHandler('syncing', function(data) { + gsv.term.write(data.output); +}); +gs.addHandler('finished', function(data) { + progressTimers.forEach(function(timer) { clearInterval(timer); }); + gsv.setProgressValue(100); + gsv.setProgressText('Sync finished, redirecting...'); + window.location.href = gs.redirectUrl; +}); +gs.addHandler('error', function(data) { + progressTimers.forEach(function(timer) { clearInterval(timer); }); + gsv.setProgressValue(100); + gsv.setProgressText('Error: ' + data.message); + gsv.setProgressError(true); + gsv.setTerminalVisibility(true); + if (data.output) { + gsv.term.write(data.output); + } +}); +gs.start(); + +$('#header, #site').show(); + +// Make sure we provide plenty of appearances of progress! +var progressTimers = []; +progressTimers.push(setInterval(function() { + gsv.setProgressText(substatus_messages[Math.floor(Math.random() * substatus_messages.length)]); +}, 3000)); +progressTimers.push(setInterval(function() { + gsv.setProgressText(gsv.getProgressText() + '.'); +}, 800)); + +progressTimers.push(setInterval(function() { + // Illusion of progress! + gsv.setProgressValue(gsv.getProgressValue() + (0.01 * (100 - gsv.getProgressValue()))); +}, 900)); + + +var substatus_messages = [ + "Adding Hidden Agendas", + "Adjusting Bell Curves", + "Aesthesizing Industrial Areas", + "Aligning Covariance Matrices", + "Applying Feng Shui Shaders", + "Applying Theatre Soda Layer", + "Asserting Packed Exemplars", + "Attempting to Lock Back-Buffer", + "Binding Sapling Root System", + "Breeding Fauna", + "Building Data Trees", + "Bureacritizing Bureaucracies", + "Calculating Inverse Probability Matrices", + "Calculating Llama Expectoration Trajectory", + "Calibrating Blue Skies", + "Charging Ozone Layer", + "Coalescing Cloud Formations", + "Cohorting Exemplars", + "Collecting Meteor Particles", + "Compounding Inert Tessellations", + "Compressing Fish Files", + "Computing Optimal Bin Packing", + "Concatenating Sub-Contractors", + "Containing Existential Buffer", + "Debarking Ark Ramp", + "Debunching Unionized Commercial Services", + "Deciding What Message to Display Next", + "Decomposing Singular Values", + "Decrementing Tectonic Plates", + "Deleting Ferry Routes", + "Depixelating Inner Mountain Surface Back Faces", + "Depositing Slush Funds", + "Destabilizing Economic Indicators", + "Determining Width of Blast Fronts", + "Dicing Models", + "Diluting Livestock Nutrition Variables", + "Downloading Satellite Terrain Data", + "Eating Ice Cream", + "Exposing Flash Variables to Streak System", + "Extracting Resources", + "Factoring Pay Scale", + "Fixing Election Outcome Matrix", + "Flood-Filling Ground Water", + "Flushing Pipe Network", + "Gathering Particle Sources", + "Generating Jobs", + "Gesticulating Mimes", + "Graphing Whale Migration", + "Hiding Willio Webnet Mask", + "Implementing Impeachment Routine", + "Increasing Accuracy of RCI Simulators", + "Increasing Magmafacation", + "Initializing Rhinoceros Breeding Timetable", + "Initializing Robotic Click-Path AI", + "Inserting Sublimated Messages", + "Integrating Curves", + "Integrating Illumination Form Factors", + "Integrating Population Graphs", + "Iterating Cellular Automata", + "Lecturing Errant Subsystems", + "Modeling Object Components", + "Normalizing Power", + "Obfuscating Quigley Matrix", + "Overconstraining Dirty Industry Calculations", + "Partitioning City Grid Singularities", + "Perturbing Matrices", + "Polishing Water Highlights", + "Populating Lot Templates", + "Preparing Sprites for Random Walks", + "Prioritizing Landmarks", + "Projecting Law Enforcement Pastry Intake", + "Realigning Alternate Time Frames", + "Reconfiguring User Mental Processes", + "Relaxing Splines", + "Removing Road Network Speed Bumps", + "Removing Texture Gradients", + "Removing Vehicle Avoidance Behavior", + "Resolving GUID Conflict", + "Reticulating Splines", + "Retracting Phong Shader", + "Retrieving from Back Store", + "Reverse Engineering Image Consultant", + "Routing Neural Network Infanstructure", + "Scattering Rhino Food Sources", + "Scrubbing Terrain", + "Searching for Llamas", + "Seeding Architecture Simulation Parameters", + "Sequencing Particles", + "Setting Advisor Moods", + "Setting Inner Deity Indicators", + "Setting Universal Physical Constants", + "Smashing The Patriarchy", + "Sonically Enhancing Occupant-Free Timber", + "Speculating Stock Market Indices", + "Splatting Transforms", + "Stratifying Ground Layers", + "Sub-Sampling Water Data", + "Synthesizing Gravity", + "Synthesizing Wavelets", + "Time-Compressing Simulator Clock", + "Unable to Reveal Current Activity", + "Weathering Buildings", + "Zeroing Crime Network" +]; From 26572451c2db3f6a451176f24038f293a8f8a7a3 Mon Sep 17 00:00:00 2001 From: GeorgianaElena Date: Mon, 19 Jul 2021 14:37:02 +0300 Subject: [PATCH 156/284] Use webpack --- .gitignore | 7 ++++++- nbgitpuller/templates/status.html | 6 ++---- setup.py | 4 ++++ 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/.gitignore b/.gitignore index 70ca3865..2d5462d1 100644 --- a/.gitignore +++ b/.gitignore @@ -16,4 +16,9 @@ test-repo/ venv/ .ipynb_checkpoints -docs/_build \ No newline at end of file +docs/_build + +node_modules/ +package-lock.json + +nbgitpuller/static/dist \ No newline at end of file diff --git a/nbgitpuller/templates/status.html b/nbgitpuller/templates/status.html index 1fcd00dc..f4388510 100644 --- a/nbgitpuller/templates/status.html +++ b/nbgitpuller/templates/status.html @@ -34,15 +34,13 @@ {% block script %} {{super()}} - + + {% endblock %} {% block stylesheet %} {{super()}} - - -{% endif %} -{{ super() }} -{% endblock %} diff --git a/docs/conf.py b/docs/conf.py index 28990374..baa0be9a 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -5,7 +5,6 @@ def setup(app): - app.add_css_file("custom.css") app.add_js_file("link_gen/link.js") @@ -24,7 +23,7 @@ def setup(app): ] # Add any paths that contain templates here, relative to this directory. -templates_path = ["_templates"] +templates_path = [] # The suffix(es) of source filenames. # You can specify multiple suffix as a list of string: @@ -37,7 +36,7 @@ def setup(app): # General information about the project. project = "nbgitpuller" -copyright = "2017, The nbgitpuller Team" +copyright = "2021, The nbgitpuller Team" author = "The nbgitpuller Team" # The version info for the project you're documenting, acts as replacement for @@ -61,8 +60,6 @@ def setup(app): # This patterns also effect to html_static_path and html_extra_path exclude_patterns = ["_build", "Thumbs.db", ".DS_Store"] -html_sidebars = {"**": ["globaltoc.html", "relations.html", "searchbox.html"]} - # The name of the Pygments (syntax highlighting) style to use. pygments_style = "sphinx" @@ -75,6 +72,7 @@ def setup(app): # a list of builtin themes. # html_theme = "sphinx_book_theme" +html_title = "nbgitpuller documentation" # Theme options are theme-specific and customize the look and feel of a theme # further. For a list of options available for each theme, see the From 8007266b1f9316259677d8bbf5275a25ae3e1ef9 Mon Sep 17 00:00:00 2001 From: Chris Holdgraf Date: Thu, 16 Dec 2021 19:19:09 -0600 Subject: [PATCH 192/284] DOCS: Update introduction and usage to generalize use-case --- docs/index.md | 58 +++++++++++++++++++++++++++++ docs/index.rst | 96 ------------------------------------------------ docs/install.rst | 20 +++++++++- docs/use.md | 43 ++++++++++++++++++++++ 4 files changed, 119 insertions(+), 98 deletions(-) create mode 100644 docs/index.md delete mode 100644 docs/index.rst create mode 100644 docs/use.md diff --git a/docs/index.md b/docs/index.md new file mode 100644 index 00000000..a4ba64dd --- /dev/null +++ b/docs/index.md @@ -0,0 +1,58 @@ +# nbgitpuller + +`nbgitpuller` lets you distribute content to a Jupyter user via the click of a button! +This allows your users to focus on the content without needing to understand `git` +or other version control machinery. + +`nbgitpuller` provides {ref}`automatic, opinioned conflict resolution ` +by using `git` under the hood. +It is commonly used to distribute content to multiple users of a JupyterHub, though it works just fine on an individual person's computer, if they have Jupyter installed. + +Here's an example of `nbgitpuller` in action: + +```{image} _static/nbpuller.gif +``` + +## Use `nbgitpuller` + +See [](use.md) for information about how to use `nbgitpuller`. +Here's a short overview: + +1. Ensure your user has `nbgitpuller` installed. This is commonly done by installing it for all users of a JupyterHub (or, you may ask them to install it manually). See [the installation instructions](install.rst) for more information. +2. Create an "`nbgitpuller` link" which points to the content you'd like to distribute (e.g., a Jupyter Notebook in a GitHub repository). +3. Tell your user to click the link, and `nbgitpuller` will automatically pull in the content to their file system. + +```{admonition} Try the nbgitpuller link generator! +There is an app to help you build nbgitpuller links at [nbgitpuller.link](http://nbgitpuller.link). +``` + +### When to use `nbgitpuller` + +Use nbgitpuller when: + +1. You want an easy way to distribute content (notebooks, markdown files, etc) to Jupyter users without requiring them to use `git`. +2. You have an alternative method for *collecting* content from your users, as `nbgitpuller` does not "push", it only "pulls". + +You should **not** use nbgitpuller when: + +1. Users want to **push** to a `git` repository that has your content. + In this case, you should instruct them to just use `git` directly, + since the assumptions and design of nbgitpuller will surprise you in + unexpected ways if you are pushing with git but pulling with nbgitpuller. +2. Users want to perform **manual git operations** locally. + Mixing manual git operations + automatic nbgitpuller operations will + cause unwelcome surprises. + +## Full Contents + +```{toctree} +:maxdepth: 2 + +install +use +contributing +topic/automatic-merging +topic/url-options +topic/repo-best-practices +link +``` diff --git a/docs/index.rst b/docs/index.rst deleted file mode 100644 index ef65d01f..00000000 --- a/docs/index.rst +++ /dev/null @@ -1,96 +0,0 @@ -=========== -nbgitpuller -=========== - -``nbgitpuller`` lets you distribute content in a git repository to your -students by having them click a simple link. :ref:`Automatic, opinioned -conflict resolution ` ensures that your students are -never exposed to ``git`` directly. It is primarily used with a JupyterHub, -but can also work on students' local laptops. - -.. image:: _static/nbpuller.gif - -When to use nbgitpuller? -======================== - -You should use nbgitpuller when: - -#. You are running a JupyterHub for a class & want an easy way to distribute - materials to your students without them having to understand what git is. -#. You have a different out of band method for collecting completed - assignments / notebooks from students, since they can not just 'push it - back' via git. - -You should **not** use nbgitpuller when: - -#. You are an instructor using a JupyterHub / running notebooks locally to - create materials and push them to a git repository. You should just use - git directly, since the assumptions and design of nbgitpuller **will** - surprise you in unexpected ways if you are pushing with git but pulling - with nbgitpuller. -#. Your students are performing manual git operations on the git repository - cloned as well as using nbgitpuller. Mixing manual git operations + - automatic nbgitpuller operations is going to cause surprises on an ongoing - basis, and should be avoided. - -Installation -============ - -If you already have a JupyterHub, you can follow :ref:`these installation -instructions ` to install nbgitpuller there. They should also -work for installation on a local Jupyter Notebook installation without -JupyterHub. - -If you do *not* have a JupyterHub, we recommend trying out `The Littlest -JupyterHub `_ to set one up. It comes built -in with nbgitpuller. - -Using nbgitpuller as an instructor -================================== - -Once installed, you create a specially crafted web link (called -*nbgitpuller links*) and send to your students via any method you like - -course website, LMS, email, etc. This link will contain at least the -following information: - -#. The location of the JupyterHub you are sending them to. -#. The git repository where you have published your content. -#. Optionally, a particular file or directory you want to automatically - open for your students once the repository has been synchronized. Note the entire repository will be copied, not just the specified file. - -The first time a particular student clicks the link, a local copy of the -repository is made for the student. On successive clicks, the latest version -of the remote repository is fetched, and merged automatically with the -student's local copy using a :ref:`series of rules ` -that ensure students never get merge conflicts. - -You can generate such *nbgitpuller links* with the `generator -`_. - -There is also a video showing you how to use nbgitpuller - -.. raw:: html - - - -If you are interested in the details of available options when creating -the link, we have a :ref:`list of options ` as well. - -Full Contents -============= - -.. toctree:: - :maxdepth: 2 - - install - contributing - topic/automatic-merging - topic/url-options - topic/repo-best-practices - link diff --git a/docs/install.rst b/docs/install.rst index 98f42f08..b6e78b79 100644 --- a/docs/install.rst +++ b/docs/install.rst @@ -4,13 +4,29 @@ Installation ============ -You can install ``nbgitpuller`` from PyPI with ``pip`` in the same -environment where your jupyter notebook package is installed. +nbgitpuller can work on any computer, but it is most-commonly used with a JupyterHub. +By installing nbgitpuller in the user environment for your hub, it means that +all users will be able to click nbgitpuller links to get the content. + +.. admonition:: To set up a JupyterHub + :class: tip + + If you do *not* have a JupyterHub, we recommend trying out `The Littlest + JupyterHub `_ to set one up. + It comes built in with nbgitpuller. + + For more information about JupyterHub, see + `the JupyterHub Documentation `_. + +You can install ``nbgitpuller`` from PyPI with ``pip``: .. code:: bash pip install nbgitpuller +If you're installing nbgitpuller on a JupyterHub, make sure that it is +installed in the environment that your users have access to. + Troubleshooting =============== diff --git a/docs/use.md b/docs/use.md new file mode 100644 index 00000000..89465d70 --- /dev/null +++ b/docs/use.md @@ -0,0 +1,43 @@ +# Using `nbgitpuller` + +## Overview of `nbgitpuller` links + +`nbgitpuller`links may be sent to your users via any method you like - websites, emails, a learning management system, etc. +This link will contain at least the following information: + +1. The location of the JupyterHub you are sending them to. +2. The git repository where you have published your content. +3. Optionally, a particular file or directory you want to automatically + open for your students once the repository has been synchronized. Note the entire repository will be copied, not just the specified file. + +The first time a particular student clicks the link, a local copy of the +repository is made for the student. On successive clicks, the latest version +of the remote repository is fetched, and merged automatically with the +student's local copy using a {ref}`series of rules ` +that ensure students never get merge conflicts. + +## Automatically create an `nbgitpuller` link via a web app + +The easiest way to create an `nbgitpuller` link is via the web app at the below link: + +[nbgitpuller.link](http://nbgitpuller.link) + +This contains a simple web form where you paste the location of the content you'd like your users to pull, and it will generate a link for you to distribute. + +## Manually create an `nbgitpuller` link + + +There is a short video showing + +```{raw} html + +``` + +If you are interested in the details of available options when creating +the link, we have a {ref}`list of options ` as well. \ No newline at end of file From cd663118589f1b8b0eb27b1cad4ee9ca9681e1b8 Mon Sep 17 00:00:00 2001 From: Chris Holdgraf Date: Fri, 17 Dec 2021 14:27:45 -0600 Subject: [PATCH 193/284] Apply suggestions from code review Co-authored-by: Yuvi Panda --- docs/index.md | 13 +++++++++---- docs/install.rst | 8 ++++++-- docs/use.md | 15 +++++++++++++-- 3 files changed, 28 insertions(+), 8 deletions(-) diff --git a/docs/index.md b/docs/index.md index a4ba64dd..e81ee950 100644 --- a/docs/index.md +++ b/docs/index.md @@ -18,13 +18,18 @@ Here's an example of `nbgitpuller` in action: See [](use.md) for information about how to use `nbgitpuller`. Here's a short overview: -1. Ensure your user has `nbgitpuller` installed. This is commonly done by installing it for all users of a JupyterHub (or, you may ask them to install it manually). See [the installation instructions](install.rst) for more information. +1. Ensure your user has `nbgitpuller` installed. This is commonly done by installing it for all users of a JupyterHub. See [the installation instructions](install.rst) for more information. 2. Create an "`nbgitpuller` link" which points to the content you'd like to distribute (e.g., a Jupyter Notebook in a GitHub repository). 3. Tell your user to click the link, and `nbgitpuller` will automatically pull in the content to their file system. -```{admonition} Try the nbgitpuller link generator! -There is an app to help you build nbgitpuller links at [nbgitpuller.link](http://nbgitpuller.link). -``` +### Generate an nbgitpuller link + +There are several ways to generate an `nbgitpuller` link. +The two easiest ways to do so are: +- Via a browser extension to generate links directly from your repository ([Chrome extension](https://chrome.google.com/webstore/detail/nbgitpuller-link-generato/hpdbdpklpmppnoibabdkkhnfhkkehgnc), [Firefox extension](https://addons.mozilla.org/en-US/firefox/addon/nbgitpuller-link-generator/?utm_source=addons.mozilla.org&utm_medium=referral&utm_content=search) +- Via a GUI web-app [at `nbgitpuller.link`](http://nbgitpuller.link) + +Fore more information about generating nbgitpuller links, see [](use.md). ### When to use `nbgitpuller` diff --git a/docs/install.rst b/docs/install.rst index b6e78b79..c107372f 100644 --- a/docs/install.rst +++ b/docs/install.rst @@ -24,8 +24,12 @@ You can install ``nbgitpuller`` from PyPI with ``pip``: pip install nbgitpuller -If you're installing nbgitpuller on a JupyterHub, make sure that it is -installed in the environment that your users have access to. +```{note} +If you use multiple environments in your JupyterHub, make sure you install +nbgitpuller in the environment that the jupyter notebook or +jupyter server process is running from. You can validate this by running +`jupyter serverextension list` - it should have an entry that says `nbgitpuller enabled`. +``` Troubleshooting =============== diff --git a/docs/use.md b/docs/use.md index 89465d70..9b9d6b2b 100644 --- a/docs/use.md +++ b/docs/use.md @@ -8,17 +8,28 @@ This link will contain at least the following information: 1. The location of the JupyterHub you are sending them to. 2. The git repository where you have published your content. 3. Optionally, a particular file or directory you want to automatically +4. Optionally, which UI should be opened when the user clicks the link. + By default `nbgitpuller` uses the classic notebook interface - but you may instead use + [JupyterLab](https://github.com/jupyterlab/jupyterlab/), [RStudio](https://github.com/jupyterhub/jupyter-rsession-proxy/), [Linux Desktop](https://github.com/jupyterhub/jupyter-remote-desktop-proxy), etc based on what you have available in your JupyterHub. open for your students once the repository has been synchronized. Note the entire repository will be copied, not just the specified file. The first time a particular student clicks the link, a local copy of the repository is made for the student. On successive clicks, the latest version of the remote repository is fetched, and merged automatically with the student's local copy using a {ref}`series of rules ` -that ensure students never get merge conflicts. +that ensure students never get merge conflicts nor lose any of their changes. +## Create an `nbgitpuller` link via a web extension + +The easiest way to create an `nbgitpuller` link is via a web extension ([github repo](https://github.com/yuvipanda/nbgitpuller-link-generator-webextension)). +This allows you to quickly generate an `nbgitpuller` link directly from the content in your repository (e.g., on GitHub). +See the links below to download the extension. + +- [Chrome extension](https://chrome.google.com/webstore/detail/nbgitpuller-link-generato/hpdbdpklpmppnoibabdkkhnfhkkehgnc) +- [Firefox extension](https://addons.mozilla.org/en-US/firefox/addon/nbgitpuller-link-generator/?utm_source=addons.mozilla.org&utm_medium=referral&utm_content=search) ## Automatically create an `nbgitpuller` link via a web app -The easiest way to create an `nbgitpuller` link is via the web app at the below link: +You can also create an `nbgitpuller` link via a GUI web app at the below link: [nbgitpuller.link](http://nbgitpuller.link) From 982faa3b9e54ddfcac93f87596f6fb946f4cfc64 Mon Sep 17 00:00:00 2001 From: Chris Holdgraf Date: Fri, 17 Dec 2021 14:27:53 -0600 Subject: [PATCH 194/284] Update docs/use.md --- docs/use.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/use.md b/docs/use.md index 9b9d6b2b..b312c967 100644 --- a/docs/use.md +++ b/docs/use.md @@ -7,7 +7,7 @@ This link will contain at least the following information: 1. The location of the JupyterHub you are sending them to. 2. The git repository where you have published your content. -3. Optionally, a particular file or directory you want to automatically +3. Optionally, a particular file or directory you want to automatically open after the content is pulled. 4. Optionally, which UI should be opened when the user clicks the link. By default `nbgitpuller` uses the classic notebook interface - but you may instead use [JupyterLab](https://github.com/jupyterlab/jupyterlab/), [RStudio](https://github.com/jupyterhub/jupyter-rsession-proxy/), [Linux Desktop](https://github.com/jupyterhub/jupyter-remote-desktop-proxy), etc based on what you have available in your JupyterHub. From 40b4c531291997e39325500759588c20f404e4bb Mon Sep 17 00:00:00 2001 From: YuviPanda Date: Tue, 16 Nov 2021 20:09:11 +0530 Subject: [PATCH 195/284] Move docs building workflow to GitHub Actions CircleCI isn't building repos on merge anymore for some reason. Instead of debugging it, I'm just going to give more power to one particular huge corporation (Microsoft) and move our docs build to GitHub Actions as well. Fixes https://github.com/jupyterhub/nbgitpuller/issues/227 --- .circleci/config.yml | 65 -------------------------------------- .github/workflows/docs.yml | 35 ++++++++++++++++++++ 2 files changed, 35 insertions(+), 65 deletions(-) delete mode 100644 .circleci/config.yml create mode 100644 .github/workflows/docs.yml diff --git a/.circleci/config.yml b/.circleci/config.yml deleted file mode 100644 index e12c7e5b..00000000 --- a/.circleci/config.yml +++ /dev/null @@ -1,65 +0,0 @@ -version: 2.1 -jobs: - build_docs: - docker: - - image: circleci/python:3.6-stretch - steps: - - build_site - - store_artifacts: - path: docs/_build/html/ - destination: html - - push_docs: - docker: - - image: circleci/python:3.6-stretch - steps: - # Add deployment key fingerprint for CircleCI to use for a push - - add_ssh_keys: - fingerprints: - # The SSH key fingerprint - - "c5:70:b9:1b:9a:cf:e3:88:25:9f:33:8e:ee:09:76:9f" - - - build_site - - - run: - name: Pushing documentation to gh-pages - command: | - pip install --user ghp-import - ghp-import --no-jekyll --push --message "Update documentation [skip ci]" docs/_build/html - -workflows: - version: 2 - default: - jobs: - - build_docs - - push_docs: - filters: # using regex filters requires the entire branch to match - branches: - only: # only branches matching the below regex filters will run - - main - -commands: - build_site: - description: "Build the site with sphinx" - steps: - # Get our data and merge with upstream - - run: sudo apt-get update - - checkout - # Python env - - run: echo "export PATH=~/.local/bin:$PATH" >> $BASH_ENV - - - restore_cache: - keys: - - cache-pip - - run: pip install --user -r docs/doc-requirements.txt - - save_cache: - key: cache-pip - paths: - - ~/.cache/pip - - # Build the docs - - run: - name: Build docs to store - command: | - cd docs - make html diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml new file mode 100644 index 00000000..7e5dd5bf --- /dev/null +++ b/.github/workflows/docs.yml @@ -0,0 +1,35 @@ +name: Documentation + +on: + pull_request: + push: + workflow_dispatch: + +jobs: + build: + + runs-on: ubuntu-20.04 + timeout-minutes: 10 + + steps: + - uses: actions/checkout@v2 + + - name: Install Python + uses: actions/setup-python@v2 + with: + python-version: '3.10' + + - name: Install dependencies + run: | + pip install -r docs/doc-requirements.txt + + - name: Build docs + run: | + cd docs + make html + + - name: publish to github pages + if: github.ref == 'refs/heads/main' + run: | + pip install ghp-import + ghp-import --no-jekyll --push --message "Update documentation [skip ci]" docs/_build/html \ No newline at end of file From 4a38847229f42f2bbf03702c00ee33593d7d72fd Mon Sep 17 00:00:00 2001 From: Erik Sundell Date: Sat, 18 Dec 2021 14:03:58 +0100 Subject: [PATCH 196/284] Apply suggestions from code review --- .github/workflows/docs.yml | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 7e5dd5bf..4ccf39c4 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -1,13 +1,27 @@ +# This is a GitHub workflow defining a set of jobs with a set of steps. +# ref: https://docs.github.com/en/actions/learn-github-actions/workflow-syntax-for-github-actions +# name: Documentation on: pull_request: + paths: + - "docs/**" + - "**/docs.yaml" push: + paths: + - "docs/**" + - "**/docs.yaml" + branches-ignore: + - "dependabot/**" + - "pre-commit-ci-update-config" workflow_dispatch: jobs: build: + permissions: + contents: write runs-on: ubuntu-20.04 timeout-minutes: 10 @@ -32,4 +46,4 @@ jobs: if: github.ref == 'refs/heads/main' run: | pip install ghp-import - ghp-import --no-jekyll --push --message "Update documentation [skip ci]" docs/_build/html \ No newline at end of file + ghp-import --no-jekyll --push --message "Update documentation [skip ci]" docs/_build/html From 586c82959a0ead3a9b2cce3bf25c56f511c56b52 Mon Sep 17 00:00:00 2001 From: Erik Sundell Date: Sat, 18 Dec 2021 14:10:45 +0100 Subject: [PATCH 197/284] ci: modernize docs Makefile to have devenv and linkcheck --- docs/Makefile | 36 +++++++++++++++++++++++++++--------- 1 file changed, 27 insertions(+), 9 deletions(-) diff --git a/docs/Makefile b/docs/Makefile index 9764015b..e74b0547 100644 --- a/docs/Makefile +++ b/docs/Makefile @@ -1,20 +1,38 @@ -# Minimal makefile for Sphinx documentation -# +# Makefile for Sphinx documentation generated by sphinx-quickstart +# ---------------------------------------------------------------------------- -# You can set these variables from the command line. -SPHINXOPTS = -SPHINXBUILD = sphinx-build -SPHINXPROJ = Binder +# You can set these variables from the command line, and also +# from the environment for the first two. +SPHINXOPTS ?= +SPHINXBUILD ?= sphinx-build SOURCEDIR = . BUILDDIR = _build # Put it first so that "make" without argument is like "make help". help: - @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) + @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) .PHONY: help Makefile # Catch-all target: route all unknown targets to Sphinx using the new -# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). +# "make mode" option. %: Makefile - @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) + @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) + + +# Manually added commands +# ---------------------------------------------------------------------------- + +# For local development: +# - builds and rebuilds html on changes to source +# - starts a livereload enabled webserver and opens up a browser +devenv: + sphinx-autobuild -b html --open-browser "$(SOURCEDIR)" "$(BUILDDIR)/html" $(SPHINXOPTS) + +# For local development and CI: +# - verifies that links are valid +linkcheck: + $(SPHINXBUILD) -b linkcheck "$(SOURCEDIR)" "$(BUILDDIR)/linkcheck" $(SPHINXOPTS) + @echo + @echo "Link check complete; look for any errors in the above output " \ + "or in $(BUILDDIR)/linkcheck/output.txt." From 5e3848c938d5a371f4f3d1f1c3fa9975f1b468bd Mon Sep 17 00:00:00 2001 From: Erik Sundell Date: Sat, 18 Dec 2021 14:24:56 +0100 Subject: [PATCH 198/284] ci: add linkcheck job --- .github/workflows/docs.yml | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 4ccf39c4..8b8764c5 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -18,12 +18,29 @@ on: workflow_dispatch: jobs: - build: + linkcheck: + runs-on: ubuntu-20.04 + + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-python@v2 + with: + python-version: '3.10' + + - name: Install dependencies + run: | + pip install -r docs/doc-requirements.txt + + - name: make linkcheck (Verifies links work) + run: | + cd docs + make linkcheck + + build-and-publish: + runs-on: ubuntu-20.04 permissions: contents: write - runs-on: ubuntu-20.04 - timeout-minutes: 10 steps: - uses: actions/checkout@v2 From 991c8b94658f97ce0da11f8919f299649fff3688 Mon Sep 17 00:00:00 2001 From: Erik Sundell Date: Sat, 18 Dec 2021 14:25:48 +0100 Subject: [PATCH 199/284] ci: trigger only (once) when relevant --- .github/workflows/docs.yml | 4 ++-- .github/workflows/publish.yml | 19 +++++++++++++++---- .github/workflows/test.yml | 11 ++++++++++- 3 files changed, 27 insertions(+), 7 deletions(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 8b8764c5..18b27606 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -7,11 +7,11 @@ on: pull_request: paths: - "docs/**" - - "**/docs.yaml" + - "**/docs.yml" push: paths: - "docs/**" - - "**/docs.yaml" + - "**/docs.yml" branches-ignore: - "dependabot/**" - "pre-commit-ci-update-config" diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 3dfe659f..aa39afd7 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -1,11 +1,22 @@ -# Build releases and (on tags) publish to PyPI +# This is a GitHub workflow defining a set of jobs with a set of steps. +# ref: https://docs.github.com/en/actions/learn-github-actions/workflow-syntax-for-github-actions +# +# Build releases and publish to PyPI if a tag is pushed name: Release -# always build releases (to make sure wheel-building works) -# but only publish to PyPI on tags on: - push: pull_request: + paths-ignore: + - "docs/**" + - "**/docs.yml" + push: + paths-ignore: + - "docs/**" + - "**/docs.yml" + branches-ignore: + - "dependabot/**" + - "pre-commit-ci-update-config" + workflow_dispatch: jobs: build-release: diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 89168d61..953c260c 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -1,11 +1,20 @@ # This is a GitHub workflow defining a set of jobs with a set of steps. -# ref: https://docs.github.com/en/free-pro-team@latest/actions/reference/workflow-syntax-for-github-actions +# ref: https://docs.github.com/en/actions/learn-github-actions/workflow-syntax-for-github-actions # name: Tests on: pull_request: + paths-ignore: + - "docs/**" + - "**/docs.yml" push: + paths-ignore: + - "docs/**" + - "**/docs.yml" + branches-ignore: + - "dependabot/**" + - "pre-commit-ci-update-config" workflow_dispatch: jobs: From a1dd2b0ebb549e0ab52a63eb5fa25b0bfa6983d0 Mon Sep 17 00:00:00 2001 From: Erik Sundell Date: Sat, 18 Dec 2021 14:26:37 +0100 Subject: [PATCH 200/284] ci: opinionated small tweaks --- .github/workflows/docs.yml | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 18b27606..147202b7 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -31,7 +31,7 @@ jobs: run: | pip install -r docs/doc-requirements.txt - - name: make linkcheck (Verifies links work) + - name: make linkcheck (Verifies documentation links work) run: | cd docs make linkcheck @@ -40,13 +40,12 @@ jobs: runs-on: ubuntu-20.04 permissions: + # required to push to the gh-pages branch contents: write steps: - uses: actions/checkout@v2 - - - name: Install Python - uses: actions/setup-python@v2 + - uses: actions/setup-python@v2 with: python-version: '3.10' @@ -54,12 +53,12 @@ jobs: run: | pip install -r docs/doc-requirements.txt - - name: Build docs + - name: make html (Builds documentation) run: | cd docs make html - - name: publish to github pages + - name: Publish to GitHub Pages if: github.ref == 'refs/heads/main' run: | pip install ghp-import From 79a5308ce368f05c72d6b463b4c00bacbfce060d Mon Sep 17 00:00:00 2001 From: Erik Sundell Date: Sat, 18 Dec 2021 14:34:45 +0100 Subject: [PATCH 201/284] ci: add colors to sphinx --- .github/workflows/docs.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 147202b7..bc12722c 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -17,6 +17,9 @@ on: - "pre-commit-ci-update-config" workflow_dispatch: +env: + SPHINXOPTS: --color + jobs: linkcheck: runs-on: ubuntu-20.04 From 7ac87b2091fe85199da4beaf5c9388992f5c15ad Mon Sep 17 00:00:00 2001 From: Erik Sundell Date: Sat, 18 Dec 2021 14:37:57 +0100 Subject: [PATCH 202/284] docs: fix broken anchor, reference chrome webstore --- docs/link.rst | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/docs/link.rst b/docs/link.rst index ed6bc5ce..c7516897 100644 --- a/docs/link.rst +++ b/docs/link.rst @@ -7,8 +7,7 @@ Use the following form to create your own ``nbgitpuller`` links. Consider using the `nbgitpuller link generator browser extension `_ instead! Available for `Firefox `_ and - `Chrome `_. - + `Chrome `_. .. raw:: html From 99e53ed0c670a0056266c1ce922ed0f253c6d650 Mon Sep 17 00:00:00 2001 From: Erik Sundell Date: Tue, 28 Dec 2021 15:32:11 +0100 Subject: [PATCH 203/284] DOC: Add link gen. screenshot, update example gif (#238) --- README.md | 13 ++++++++++++- docs/_static/nbgitpuller-demo.gif | Bin 0 -> 570587 bytes docs/_static/nbgitpuller-link-generator.png | Bin 0 -> 200135 bytes docs/_static/nbpuller.gif | Bin 2322539 -> 0 bytes docs/index.md | 13 +++++++++++-- 5 files changed, 23 insertions(+), 3 deletions(-) create mode 100644 docs/_static/nbgitpuller-demo.gif create mode 100644 docs/_static/nbgitpuller-link-generator.png delete mode 100644 docs/_static/nbpuller.gif diff --git a/README.md b/README.md index 2fa08a4b..ff7175dc 100644 --- a/README.md +++ b/README.md @@ -25,4 +25,15 @@ pip install nbgitpuller ## Example -![](https://raw.githubusercontent.com/jupyterhub/nbgitpuller/v0.8.0/docs/_static/nbpuller.gif) + +This example shows how to use the [nbgitpuller link generator](https://jupyterhub.github.io/nbgitpuller/link) +to create an nbgitpuller link, which a user then clicks. + +1. The [nbgitpuller link generator GUI](https://jupyterhub.github.io/nbgitpuller/link) is used to create a + link. + + ![](https://raw.githubusercontent.com/jupyterhub/nbgitpuller/9f380a933335f0f069b6e2f9965ed78c3abcce7a/docs/_static/nbgitpuller-link-generator.png) + +2. This link is clicked, and the content is pulled into a live Jupyter session. + + ![](https://raw.githubusercontent.com/jupyterhub/nbgitpuller/9f380a933335f0f069b6e2f9965ed78c3abcce7a/docs/_static/nbgitpuller-demo.gif) diff --git a/docs/_static/nbgitpuller-demo.gif b/docs/_static/nbgitpuller-demo.gif new file mode 100644 index 0000000000000000000000000000000000000000..10e8d1252ddbf4ad911706c22b4557cd9a82385b GIT binary patch literal 570587 zcmeFYRZv~g)~&m6mjJ!5xA-VWA5R1P>P6-7N%ncXxMKxUG}D_kaGo z_qn%D-TQpcteQ0+#>=d4^xoR2QN782lHnIH0U%7m-UB!QPyiAFIx-x95U@@J*d!vr zCkA+ue2^jiK>Pu)_W=`*jGUGnutWifrvy||0U4+Pebo3?G!!hfl*Dw1yL3PxJ-Z?k zUMw>+1G9i7v&c^tksn-K>^wkB9yWS@J{}=HN#PI2;=7?0b||v{aN8G}tdRls;;zscBjcXgXJE83k!MChO>^ z>v$CF()#OvHZ-u$`0~Zj*eb)=zt7~0p=l12nU12ly0Ce@jFpA4^&f2;_YB*h8rz6A zJM3J$PlxvQHuerdU%%Ra{p#SP``O9K#W|+m4V3O~spFxk=*c1OqnYR9Z0qCc?#IOx zz%CaU;1>v54=gnfViFB;_#BdV5vng5YONF+QwR?K9>Mx0!pAx?3>5u6I67G%C4_f`KebuB?c_UvXhM+Vr_8 zvANl~`TAZ3B!UH+h6P!Pg#|f^=ODl`Nt0&lBaWU2!V zs*6)z9hZExSZ7FKn$$EUZlTuFOxZtS+q%O|MO~udlDHA3ttx zu5aaf?hNMd^-k~gJ?(7|?(J>wUpybIZXO)$9qn(P{Kz>uJvq&7Kdst4-Jd%^SfL!d~++5v2-|pJh?(S~y zpPwI~&`0Rw)9w1x)8i9#=lTBl`3?GVGVtfbtO@0rl^f`R@z( zN1K5EPm}zgCi(w!lORI@1Sq6()!ALa$heFKgVi}bU~Fpn47r-zz9>R2+ttCEyn$E> z$w<;qwfRE{^ctlGL$w7XDePv$%!`$UW9j^^$E!niMH9cogHb=o*B4La$t5rv4%e5= z6shLPXUaE}&Xwub*{%&Ylr2;l_e6eBXk;D_u%0P39BHgrX>!^b&QxfsTx;`!9IuTu zRc-tM!J&~UHdk-;gyS+9jW*Zp48&0@WGS}P?v12!*{zSZ)E!J@OGc3?wbmca6l;_j zjkPwMEL59~WGS^Zo~<;yo~)0xHC=3U2BVQHw>Mwy3??vr8ET$RQrU;{_3b`FM%Z=Di4URR~GcX3g zp<|1KIOno?Vo9;tL4(3POQ9328101A2usnD8?hg|4Ygo2MEQxl6}WrG288iJ|n^pjO$X1y6_8w;C{@yjvGFt?!Y&q zV0%~l9cQ3_ghkm!{hC{4EG%9N5KFeECevu;G{4^LiOyfXdn6E@;ji8YFbYdLn_Zs+ z%vu?fsgJT`=;p_n-_7bB<~+~^uJ zaKXME|Em$==NK%Y(92|Gxi`o6+Tjpj8odJqFNh^6?|JWaq_eibW(<4PK)`g@R9HyA zYlUfeImw&Mcgizw-09Z)I7j7I$o7#^$eNOm}5cK%t1`ZF>=r&2CBtdEEVY0U(mL9j@ZiJ%ScaQREsaw^(i0{oE zy@5wbE+J9OI!nmN?A1=veilkWE%HiRwMn*=`^+mjirUJ|-+f;Oggv~euKH^9+|oih zb%zwahd9%0Bleh(3VVOf!F}Viljb!l`EJsGm0IZs7W|~kO+iF$mG%CRXUIu^$mm%@b;UEA)TSx>jxwAT zrMoirzHVKXQoh+Zi0h{TBrT^ua0E|nCcDh_l5_wPCoACa`p4s}LS=x`9hFFHBy;(;ppB%5t-wXD`NEqjm&_@7V zDJ(u;)Ani_4ryfOh6;|q3q;=3BJ}PIDq>{^`#4=hy1;1*JRO%16DB9LIt4`uH^39P zGmwOitRTGDf-txx3?B#)t%P`{I8Q-!B*vkV1t{P#kKwxP_bf(YeWQxdj5{Q%Bw3>B zO?{PDWBi)#0j}ye7*y0@0Frqj|0)1h#ikR3$`Fky1GE6V8F4ncS;7AxF2Huf8$$gu zWi66qz)aey@k6due|IbFgFz>Z%Sb#7sc&O_g9K6G*(}0!wUjp=to)M_tOi4231s`0 z#Jjo67y?lJ6S@;%YTb({ytni&@+7B?g4KxUa(!gKt26TnMw}oJLHmOp;3X2k(r*Wl zYF=mxHY;R8XJ3wJ+##VjKNa3J85B--i=|7-B;<)&o={e7^eT{c_)4-C38Nl&zntNH zWs9Waa@>hx

~G&>Zy1j*Pw24xZ+Yd#lm2C&^x%nueAM3cL8%|FADlTLvjlO^VQGIaYtd;?{!Goct;{)x8(d8sct2BbT*Or#4p{2AzIz#)L!_Q7-oL zXMJL0Fa)6_ack$u@W(20SAowSf{lxKLBz$`=zN@yBcf#2(f*Ae1~7qh-)M>nKN^!A zIsrf3lbMS(3dvsFHMSqI^!i$rfgQTC6|rt(#1==F8B0Uly_elSiuea>ac^ z>xE7q&VpGTRGIH^l>i7AcUzSP@EBv>Qea_$spuD75fbQcT}_38suw2pi#n}#V zbeOsW1z=(7Kmi5a&gXT8oI%JBvmt}q08>>?7B82Ud#u}R6wFTXr9CWK7w<(Y%rng| zLA~(dPUtt&z8IQVc6`8j*e@u?!ME7ndeB9Ha34SsJ2+UE4vvD$T8d85iK-6p#b8lH7DkXCOMya8xLzPF9@yOzevIuVoTMgmV^1F(P8;+Uei9&0>#q(m`+(rVo(H=j zt|cntg~u%f4CfF`4HD7C1$%Ny($jOggm6L3gX;w#*=W2808>!NnX&B;{)lqbh@e?< z{sj#`PZ*QMfcISJf5Ke&Bmh9Ia4;cC1U(-wJ;&xDXj|@kiZxBx16BB9#6zm>^)=P+ zeFP(8z`H~ywO;t;%`hVnOAtKcSiesOUnt8Qf`5~x61^PnA>Rajh!lU!5>EjA5yfpM zs)9Am8#bSNH$2e;zBr9ktPAgFXf7{z60&aspq^b~f0Dypg5hMFvzf}D83iWOgYVE- z@S&Ir_JN9=8lB3_)-4ydMFPA!XL~Zsk1kH5UW6%M2c%?=J}^##2PN%iC&5qJ&Z%Pk z>6F%Uf#K=oQq0EeZ-gt4)BHTcGg13-CmS3f@v;X{|uUMyP$t%JX`V6)=<8EmCKV9jk^l5BsJ?8J~FuaSc2l=6c>gBYH- zRh)aRnd=$Py^|=Ngxbf57t?kcKy_m~ZN@dFgViR^eIk?o(K=l%F}>O)8Ty!B9pU?j zA%{;gr+Em_+QLeS$`y1CXS4}W0A$ltr>H)l&C&u#8hu9YIZ{IKm#dvA@-UY+GpG7d zkGHcqmhB)mDPBM0<(??grs1YzX3eTm+1BZMY>!?cWwcGML-7u zG`b)J9(F9~CKeDnP2I5L=^&?3EM9a-twe+E3!F(MmqfdbLy6}EoX{%8xF+t`yChQk z5#Un0GrHe)M!Mypk9z?yJ2f>JnYXL6zDZ;wG$SL+0n%JE(2wI9C1Lob_#G*I2vQ5$ zG&u?7}u)SRGOxYXy=Cv0KczKbY-eI;V?Zt=X=`a+xGGpv@ZErRaFGHCr3FLYwEU0E2rXzhkS?Je1UK+`&)nqJOtzHvMJ;kA+U^2R<>ak7~;Q;bsUG@I;mEc zkFhZs!FdaGCCt+>P4xl$FCj+sBw)QCP&qL=<$`YUVhs%bEjLO0*$?Ep)heNNwxd=P|_BR%C*o)^%yKM+ZIDWQX@PE+^B~Ca+HS8jm6p2-jXZi)@qM+ zlO$+GHHOwO8I@CBB7jR8GE_!0deV*!_{|-f-rWO#5+zHZXTy$z^H7sK9^vmYtQ z-2wM8HGPtbr0sW!y~Uqis<>?G7rJGxSFMet|APLLB}Bo#lL|}j)H70u`)+q&5c(P8 zShaHywkD!mu|FA!W|H9}mD3#+qVM}(2~naCn|X&gHZQOd6Q;4f$pE}T$GkM@A@eYP zxIbj~Y|uEYY`g-_YJsEzWly;F<}`fs`o_6*K!_d8XoP9rsVB(09H*_!ZMl3gU9cyD z*+pJGK0M|uN`9XLTr=bGRUK<9l6A+H`m7Cj!K9?yX~%tC`NUWimkOY~ME3&AZnsqV z25E+)b48*LMxPEQwo(01G)7a9tCy))3MwD9S9w1whe?6Th%KK(O+dfGD%Gv1mI3I{ z!0II(&dcaEJE*<8wP--&>Mcgkl7xU_tcpnZ-0xW0gV05zsLHny|r z(F|JXrBua`8=Q!X7T1pMlM*3M!-35c{v5z8N3AbkLrcx~IKtjmz$t;|kucz(s8Qs{ zn#&z%!NeQ`O21Q&r0g_=V@D9KMgN5gg9N)JEYp7?dJeZe;xQJ&vyJTEb+MC-j+d(fcKJTRRUBU; zt)+*Vt^^-%V_l19JtlWRn3Z-$b1pyEL7vm^gt7=W{XtDLPx@YdP<5=4>;?O=1s;l} z0G8IE4+QZkzrxk0u*+74<-2mg0uCi~L;7V~H)uL3fO2E1_xJvv2YLl$SNt4S-iFfJ zST^1dXTZPBi#e@S;^oFSr*~6TS+4zccw|TRd`Wwuag7<5MgQOXw#W8#l%o?zhO>;U z6c5=OoN-~aK>-$-2}aq|n)3ZR%iW7|bEL%Fe@L73WB9N6gNwEibKwZ)YBTV4;Arn0 zRLa?W99ki&m~^I?l{AB#l7p|NY~Ys?b>+R2diVI}LHipl(&kF4-c(ot0554P(aumd zX$Oaq5=;2Fc++rtg<;{-u!|Q;ogMW`Hke@<`7C?6Yow|J8qF*6z7BPq@qjAIbzEuK zPl9#yaBjYQ;)y*6m%9fx%}U}MCX&aeQE}xHEWoJ7hHc6AviRg$*`C3{Y{ED@pz1w> z^Jl8)UjB*o7){$u85hyLaGDMcv{?%>ZcTZ z%aaLCZJ= zAb7&haP)cEX3&i@%BbK@Tc`Wjb5zP4SmM{*D-?YIZKDPBUT2)G+tXl$3nhgWl$af8 z1ly>D>Pg{XW`*w4bsl$ggZGk`maeJ&J~IL;(8^XErfG*?MARV#J0PEaUXb*fy82A{?ZOU-`s;!a{BHp@Q zu}=gF*;s2v72;<5X;Ed!|3~6vtn)p~qE&1^CCexzlQ+!NTe_K=?oky|?ShC+gBS-( zlBkEYkW89EfA3?G^6L)yHQn@LoHH-*B5S%3C4+q@O@cTiO)+oXs@Dk@5&}6pDNXHp ztL`(p9REtLHVag4!++e&#GaAH(?}rF=+}j|CJaRkj36~RzO*h)vUl$&;Jvlk`okEd zYlKo~a>lKpfRdKJCI%Y}dWvvfkw;qy)dRLb;;l!6TdPL(GkT{tt!`QkTEI4 zOZXhg7?Ck?u){T#$U3}*2s09$$BiXIAow3a?CjMiQk${I|tz-H+Vx?4g z33HMZ>zxEmPD2#2{R!?%01S}hszqSiD7feMC^t&GD(qY|v_^jh8p-GA&ka!7mJosZ* z4thQdwDV=Kc@Jg^JvEvON&g0fy$?m-Hk+QL=k-22UaS7J(x}p9@OwDHd8-6m7|W8;`{_mF|YkZ_bY@` zo}nneR-UP^>&` z6|(|q%nexQELPHJbF%Z|nSE#wNo1OJdPi<^|8sUQ~-E(SlXYSYW z607M1W`I-J9DPXuu<7y#zOEP|iVFgUYL?WkPD#1(_}j8!$t$meSLb&BZhn z*!Y|RY5<&s&s2)`Y||j8E>>ne7@O9sxsR$1hz5)@d`G#GM?Ek8BliSnF!%Q9h6V{+ z%}Q?*6)%~Fh}c>sbDiF!m^b*C;e11#N$^%(%RA$4jv^%z1On@l9<-35*p9CYjM-v~ z_>-V9t=%twyvm13?WBV;9321Xf)!ohJnY3o0xWlYrK&~=5*?Td6G0>mhbP~VAuYaOp(|>48DSd`b{*q8 zXm_0uL&Et5WVMzedI71A!swG$*=7lzD#R2Ne|leUW! zjb!wgYNK|nZXsb*KXhU2K!>cHrYN#0;*+wR`#3i)WaP=b32|;o1Ip>xpU>L9@Car? z)rx+o?n&j7xvJ8LOGo#Y9Hd_$s|IrJ24cj!nKKcDOATIjq3f;|zB4t;*y*T&vr;M& z6pI*F>?bJ7n{^l?p6(f=lt)SY_bQkVbOW;Ldqr+)d$GAQq^0Sa&j@Fx!`e~{#AI+?PY_=kL*P~@J((BCAXD}JXDJefz#Pco zC=QJD!yJ3+I?=zNHjHm{3)7drsl>Y)SnMk=cbpTUog}BS91b$1pa{0r%p;*eAq+%y z#S{p)uoZ-QXHfRR3p#qtq;J4m@%ITRyZAr|V<@n3i9e#1Jmd*NQW0>acIrxMs7L_a zvmB|H_+AWVWKYc49`ipj90pAQn1Lzm=#3NUfbaPG{9(ELJdNJwl1UyWutF=8SY?_C z8XSI+8aUMr&Q4ZDi0tBOGK_S{vsZ))0EPxy*J$kaP?$PZnMvg|^}baa4pwP8iJzUQ z0pCJtCfG)l%)niSE*ou%db5unjJ<{Y@m8 ztj*v1nZp+7nSjvEv4ax)Y<#r!!r+LjbK`N2NMrZ`Uo_!i^Z{%-rPdye1Y(q{+-(?G+4Arr>49qJU zG{zr09Y?SPE+LMZka;(27$oU0019o1S_@_kYq#H>x&cY*RA)8lja9s+wL`o)29>pr zXOfj^iaAJa)dFY#$ROvJbfLJ%bT6{@C4mR&Nzt889 z2`xGp2zBch?^@{TPuikmmBN&)N|v(!VETUQlkS?et0 zClP~(C5}TAeKRh9>aT{mRhxlTJ2n$2$(AVZ8wX@Z8-(z7qCuKJ;@6l3hch}-lnWzq zY=mZFNJ%N)%B>n3v|0V)*vz^6DNAiGUfVoOKwe?pS#Gofl0dj)S*($ql%uki80nm> z7qSu$5^RbbK=SS*?q7 z82*|0DuUN?E3{>MkT$vFpeiXS9c@;ANql%fSXXT(R#%@W1cEHG5ErwXLl=gr8o0Bs z7V9-EIBVo}Y_VYz*vk(uv~uo&z9+@*=Vyi=V+?DE(hI^a*Px<)M;7&Xx(r2}l)wzU zy^^GQSMLM3p`{e}6j==tB8sjTpXb$dFAom=F^#x}e&$MpZNfYy9Gb+FdMs;PTlER+ zi6OKSt5Cxy0p7lKM!Q5+`%nM?XAajFbvD@W2iMZ8NOOIYH6jhkICznQv5+H1viTVY%^GxP@`@G-FL3*q zOa4$!f#{|ns(|_tWH1D@`>$eK&x9-g-kK-$=>$mIex1a5ISna1M zL$W_aMoNu#C5%WaK|bO~w%zS_Hy`kD8}JN~^}v(GCmtAZ1`yG=qecw)?+$!ht@Ca# z6)P=XaLsVhtudGihuiFTCdnf*M+?0f2u~c0$RB(`sfEV#M>HJ9klTY3h*AlH1|#u? ze%Q+*rG_FT_9to%C7BN;Gvm0^45iu+kdjuHJ|WJ33jdq~P>~%IuX zcL}!Gf=Musi$fnS+?4@Er(qBB7d#-S`NR^N$lK#(g}qSqPs$d-k5uoHEzAML~&{e44bXbrNYZa1O9 z=7NiBCmkIK868X<9m*da%0Rj@2?C}@U&AH@7lRRsMc4+oBG%17s4xLB zY*J0)DPB0k%_67x@B^lM$5v;@)?P#|oa=S+qoHPm+{o21FxM!HyJNeW%0u>~TJ0kT zA>)UM%9B69-q=XGz2m2|<7d0$=QraQA${Av6kvAH!BmBw-n*Tg$m4e9OSg&pkco%H ziN|P_fN(I79lyc_xvM#+RXw@D1?DZHc!ql|HU_bGx=EQXbJ~-7rq^nvFI9a~xUAZhTg;8pVfchNNl6_v%aq(@b;I z%zNrg7{9al`4gW45mqE^GP(gr+sHeKSIHGpuVf z!h17fw;dx+nLN@A7*22|pia)1DQSyY8TVOPhfmPaabHt4IV~J-{;8E>1;vI*nHD;p zPdMTu;|evis%ONfiQ(#6b6OU2+U{D^2}nx*TC_O?hvrlI?l{-fgYubk)LU~#2=m78 z=S_g~rabdz((~q8^A;BKmhSUbq4U;B^EL(Zwhi-kee?En^A3CSj<@q)5f+@@FE|4i zTzD2-r5D_^7ThfsJlq#NLl?Y~7Q71R&f`xgA>7X0@XzTGYaAS{C3F9re^gLoE$ zr58iA7DFu-!`v6ap^M>3ixCBj(8z|xsJ_MMxy6{h#qYO^u?S0X@0Wf6m*RPr5~PPPFgN0ST1c?F6&z^pIffjTdurau0mL;e!o%!T&d+*sgqu**IH??SZQ=$ zX$oCwPFiUxSZQroY3o~QpIiC8x6*OD@&{qH^ZjZUaJ8FfwMTljS8KJ;Vzu9Wbs%(g zFllwDV0E}*b);`~bZ&KQZ*}~3bpl~+^8MNraBZ4rZAN-+R%>m}Vr|}iZ6S1RF==h7 zU~Rc!ZKZE*b#85KZ*Bc{4Z4A_zWIKA3%I_`v%Vv}zN@vqXR*HTzJ3t8eweg=RIq;B zuzu3Femb{)wzqzMyMBSNaru7Z3b=92vjLIbxY63Uwb;0G-?$Imcu3lKEZBHz*m&;S zc$wRH-P?G(-GCx&0`NCsXg6VbH{oP9;k7prEH@E7Hj%NBG|7KY?ymZiWZxt& z3GAYZ_bK?@ZGGc&nprcn9 zlZPn_?M}+;mdOJc3j1Kn)W6N?v6CdS!_5jJJVfLr+u`dsi;ppb-`pWAHsu)K5yxK= z$pXNq0*C=-;`qDL`-}XQAXy_2>R_Otwz*8Bd6fIE?EEe%0L<>Vqky;<9%F`1v8Ub- zAj{tUfVrpTxTwavr+ydc*ojC{X`|n76xm<=~iNiP_hMIdJQey7g;9L2{m=UKU%BP0WJ^TT0ZQ8_pLo&O=#y$oI4K`#6umMcfQNmxEGiZV{V(vg*hG` zBqrO$&Tm;~9i{glWy~LC?jL2{9sNQ)&c;8^p*_y!J1o! zDLgK1JTB`$E}uWH*gvkkJFY@Jsm4F4p*^YPJ*ks9snIB5zyX-+$^1Q8m52rocH4j`iU5HX}1ae|wVbT<-wHsck-IQCsqFeo@+s^~H1`D@_2e(G|w_lL%j0x^c=F!)iyUMct9 zMfW~U_r3%7ehc^h2lwCZ?*ot?Km-qgbPqv%55ckzAvzDCRu5sG4`A>EG(6=YqUa&A z=^<+1A$s8<=HTJ`{X;C$V;sTb54y*AzQ+XF$3&gSB&)|{&&L$-V`|Fd&!We)rpNSw z$Bc!?%!9|Q`^R5MPuT=dIdo6Cd{23@Px(4e1y)amo=-*Kr{a{SlA@>5rl+!jr}BlT zii4-h`==_T=W2rI8oK9NzUMmG=X#yz2CL^r&*vuab92gbOVM*{({tOvbNj;c?}O)# z`{zGMFP#K0U34$qd@nt+FTFZ1eO531o-YI7m%)^mp`w@Jrk9a{m(hinv4fZK`tf35Qqk*j)9cE>>*~TQbnW1E{r+_W>1~tX zZHw-0o9}H$_H9?^ZO`g$-}CJN{C1e~c2x9s-1K%b@OHZJc6RV~e*boX1id7HUeQ6X z`JfP4=#38a)(U#(3B3nHA5x%?MbM`v=<@*dWdZtn0DVIW4}e9&VYa@c=ng?8;Iu!y zr0fmHp;IrnzM|@nCgyWFJ-nhGjH8l`XSTVf8BS!>skJ}429Bn3T1}VRKxoG^1U;`$ zk05lD*%DwJ7TX*8>3sPVPKVQ<6EZ1YSV#u7P~v<<$BwN zT8EQ6meppLgXs#pd)D=KpZn{xlY6$!&LAXQR{IC`ZD?;K0hiw}r9 zuTasqm#2Hk#RXIh1cS;?5r{zSMG=I;*h~?OA^1QM@=l(gGW5N^7iAccZ8IhKgUU7bPz6Bp(z*>y+D>e)WWC~z%!p+AL{!{%^Rj&QI3&co z;wh|S0bbM{2~2T4U{)Lc&MRs9cLgTfsKhVE`59GM^u4$8chOW|0=Wy-(&l&JfR=Q7 zTRhFv1dN*1tTEQYF_h~8fZ3$vKE-5yV!CP(CZtXGQ=9mg0>eyntp z6`hzwqK+dW2$oeTH$x9%8A!P1Hr%_2`wzNiqWLzsUGPQRMvOq)x}Z6P_b%|6ws8!A zGUK|S;1;f2C3Nc<)6JR&lZ7nXxu?T0rCiA*UV+0oJIGmEn~{LuVSE@I>6Z{3HDcOI z3L^k{bRy&yCbZdTC`+yVIklf#ekRQ?yZ4mlAe`AhM*`tw8hL1Dm25OsAD>Ha+d8B3 zu6*?maTK}R`s__4*T*{ zRKAJ$#+@$|MYBOoeV*>dW}rw{Z*SnYSFkDwmRQO-5J0M%9R$nhrRtBqos#|Sd5(`V z;CouL+poTk0hEC5E2L>zon~`~TVmJ{UCs(chHRe^fFqW@3?Yrf?|syJ4mx z<&0L(chsElbXDon(L}hM8MIid+)f0N^2{lt}k-_Y_SsHeJyKooSC&&xNKeI9x5xXN~kPHv0+poSO;ue zRcmpQN5UJ4C2h3VnR1~NjJvUC=$-JNC4Kz+u}ePhVaBolf**mYMfNZFOdES5 z4~hR9_(Xr<$4>uG_?iC+Kb*+$-{33h?(RD>``=3RMK3Kie;|rX@JG>V%7O<*DI}MF z?g`+=c+-APsmW=-+U&_g0(Ja;x;kB{QfV>j@Qu4Yn*gVN5%YVyeDwSx@rsg4CV@aK zXAHXjz@6=dPWeZ(_p^!wwinBag93EaZ6HLU)}C6yZ>-I;tUkPKi!UYRnHAJ2!-2#@xyTaKlK=pDOg=PS0&K- zdsF~I9#&_~ak)5LeZpR6GxZNWrs~Rs@*mDABpkPedHpYXypAO^{P+ZtFsL%0py$PV zNd9j<-n9&7`j;Mu56&zTYo`309@_w@SUmrBln$HbXzCvPC7bC$=(heBi8&0D|8l#S zEwNx|Hy0Pyh9Bj}YuKrTFB5NVPj{CaRbt2iet(ZI2P3gqqR^L{w;Uv6(8le-FL#(A z^K37qf3HCn7+Qb?fb3r!kxA)QvIGLJ5&vi0hy-6#R&A{<31+`nNZ*%NoabHACl2+ zhAa}bzqL#ynxg)@MFIe=u%$5g|J=5^|9wjAU9Ny10B}hBe@lsFe5(8Jlo*|&$!Kk8 z{#<17RIXesqtdWj$xNZ@FZmdG_tLpi-74F$VfV6yO5;C~7z%%fHfyaXN*(6pmj-fM zqx(adnpoG`>i72>+6b!F|Mu6Z*_zt(6P2ZRBsPNQwn`o^se3OPX$_4wm;VH zPh@=b#Z*!t70q}3TreJ$R&2XaV%C#2rhRAESnj$|=>L3YYgpllcHxlDf3ZCnJM;Eo z_2F{2JCG?rInn#}q`5$712gm4?PR?q3VMI0?|BcI=_!*H>+ousDG9YP4JEK)GEu!^ zo0~|4su`x8(#nIfyj;Gh`%o5a_}Om}7+7IP;+vQt%!4Ux!Wty912eS3Q~in8!`4Fb z4EIffDj$oCzcGhdQ-p6_VFzI@TU~e0Y;H7 zq9(NBZBrW%P%T9!_Hd^f8;C3y<3-+T5tw_MBroa2EqyA<{6X$>WNEB=H(25v! z)_>YluV`N&VM$}P)r@Un;oPz9j)5)@b3mu!!)YUrw~q_;jEXYD)m&Ql)si-SO5^T` zmWtxM;k|y<*1fjU+1gezo~mh{16gXP?uL@fTD2vNJeC}vh|7O&%kQ@=vwl8rIX_0c z$n@5ta?Ik=m$!3jvy{bamSRCQt#L=BUunD;7qF(S@Twi`xwrK_Xq)j6s%dxaNHNV! zLf^4*4>gyVE~Kuxjj;{&c)A*pwuzVX$bISJ_yqkhNSq=n;hPe7mew>{?^QaVH(=kz zGo8uZ<6EBroQ9%1Gz00lt~iUR7h=(=BZFIaf5=gd9s4|0sEEEe6-d>n5B7}X=zpdBEvko{5=C?UH}FlY zs8Clrw*E|oC=uhTR$iJc$dWY5+Da#7Gi|PxwVU&F1jD)$ab;FpD@PU&YwZX6o%h|2 zvO|SUmuXuCD}{Di==t}>U|wNSWe)X(KIM3=)|o+ynCTg&RwNVZNeHFr@>ai3RTLV$ zo_qeq?fAFT&%LSKQsT-yUxUVNjVZ&W@YIBvv9jn5soo}q4_QoE@2SaeM=i?c5ZGC# zP7En^uf(iSg58Tvbqk?{9$Y+ASf(t#iRpl(XO{IR@YeYzP)ISfx}sl=^6%@7~= zheSCCqq0r8(jE85euBnaXSkp|iVr%i@?JGwF0)i4kwK{3yquxM5?S;?Ar11}-`!nd zwlDUP`9PT*;zq7o)N=@=68O<-#ZuHXKrbdWYaBOQ^Wh5_6bhZk`0uO=W}H!c1q*7^ zKG7jKAYqhtvd}5HwrObwH11-{G#rl-Jqse|Wcgrs4MA>sse&*R(iEHRR8kTe`oPc% zhGj)5!D$Rw5d^5zU>DHcKLh6w1VPdTobc*O9*ztSC4Xl5u2E%P=tf3Mu)kLJ#naq6 zu@Xr@a|<;a8br^i2Up;)eGvO>Z{49QSv(ITs|3ZP$8PvE;M7%-mzLW{9$io(ED$df zOGTunONaVd9p(GGS2G9ZVP>=6wQf|;3&7Mg^_OhUTx%(OQbV)f+NezFc$&6T?RRr) z1qy;f4c4o=JM5~q^45qW)+$y-nH{>w+P+5ycHMJ5KLg9ne*FChvVuPOW(ldP8r;u! z17$h$AjtB`Bc?KKGI;E*dQg%%RzZtyBW=orx5S``$C^U?=cZa6(L5q2|q?*KbCT3ceTyfVUiaYpRTYjsT}FSWkv)ap+YM``7PNGY4N%Yg-t#@d6`mv#SYTm{Xr_*t#md z+m_SO$oC*LrLYhwyCSv@^)(fJl)02KoS_y&O*B8~CQjq_1OAPinL8;s$oYpJ%ckS; zdxLJV-s_C6Eh=k#H_DFvf~@&vWUTQl-%JH6$lPemkexnyYfx!7V~gcJwV?gEtgfD3 zzD;J?X>U>Tz?_A8iYHM{1LxZ&Qw$( zR1_zHl+Gy(+-lMEw5vdQtRcfX)0=KuQbX~b$FnOuezDSe4oM8ZI6;FeU{ItcU(`sQ>#5VmLJA+(xAI6^o z$xGPB2W8JJXtT)#d^G5pA&A}pP4;U_@^JTpbem!``f)_Mdojr0l#wj#4O?7wqJ zK9uy$ITEyDdPERFRMT(7!nN3fk=n^|h8PvY5$vuhL(_ZkIa(E>%Gi|Jjafc{58JV; ze10cTUb^#34o=`cB=cd1NFxbhF#bea*P_?FuHMqH0tOO6c7Oslx~$SQ4ZhlFV62=oQrdN{(#+lcJ+Eb zpYO-ReNaMHgPjMLVPhx)M}v43<#Qe^9<})>nOY_*kH2|9xog%mhJt}~gBLT)Pfsf` z&@S$q&DoGE$<)E+8^CewAIq)f0it#Fh-2X~rU`PAYTmS&C5Mr9!%Q5d!t7v%YEq5? z;xrawQxJZ$ST@KK6fr1N93K}`5tllruPgz(JLmhC74MEO#Y7u-aTyz7Bpy2I_S`?N zFO%hs7!Cc|%h+Jb@*&R-BTA2MtIxZf;^T?k>w;=n#6sfF3{GBzkaHLqF?)q31&31E zvhmwu^D5apm96na-;Z!7jZ;d-vDG-4KP5{RU=uEP;C$)NyClX}ZuGdkp2jlw5gs;i z+MZU3a?)=JxQH}ce6TB=lP1f^2diD+f-)tXGtSe3p|R4+xRP%=^O2~7f%Oj2qjquB zAWtuqi2P=_A&00+jn%t$<)-Tta#e462cAi3VJwYjAr@g|CbF#}0uJNx=z2jk74xP) zPq3Yjp?J#bc#0F8vCKlUq&tFuEuFqP&7wj+{BZzCe8Lf_&zGep3$S<;nlCWi*l4nq` zi@Z}2R<&eMpvX-oOF3IgBb3RZc4No=Dpa1G4cE#X98X{A7LwhEr3?s~U$YY4#Ay@e zhiZABg{D`9iiY(F>CdHV!RclzGXILk3Ec3XoJhqd=bJkwt5>jNVg29v72x46ZNzHE z{%?Lo@c)W%pey?D|3o-YPkX8TFN8x$@@biD&~_Q@L#=+9e9`|zI2b0L&L>yJ!*DqL z6f*uN!hsklB8{1(zy^{K*ghZ}n!mQQ06}mA@DFn!03Y=qgoE`P^5gX;-~S>UU<-eM z&@ZA+%Q;cR|3x@xeF%!fgZkn@7$SYIk?^nLe%tdTc}c&S-9FbmYto;l?>PL@%Ks-$ zx3AMHRq+eq@bPbEe9Kl5OxA_na8jM2&jZ3i-u0LNnxiQ`<{Pumk2c3NOzki0vj>Dj z#{HCF>o@V(x1XDKktUo_A~6a3214Lp4XHFbhZYn=kQ)$- z5ZtMEu&izPoF*W~$3aXoapby{X?&44pJBbFRH!_Qhc))Nm(^`M_c8B2yMWs;bTHpG zT3eO=9RR*v=-OG$Dg8eVwSGG8heHh~SN?Hr!)_T9FYhy%C6OUrv3T-HkThVUkh?rp zQZ}<(;fBM_Tk&FNuckny`g?7OP|garAnetLdn1O7ifieMW=-=bL#mkDnb&&P_i%SAq|J zcC97y|LWe#^Z3=XSKIWf_o(ymSKsj{|L^|u1&`lvuXmb$zq`9U{QVvP6gbA<(s&*Z z5O6mi4}zqQj)x$c0w=?i=AI`bv@XpjqYNQOCu1y00;l5~`JSf}Jax^dlLB2wryoSd z1kR=&FM6I$OYb(HeU!gCI{Tyq6g;0%qwzYQ)#7eBpVO84dH&fzQ}ANm#N6xRi-k+e z#lnk_pBIa^NrIP4j`?1fUtQ~3E|)#KeqMg_9TU7-30(BLS`FQ8x%wV?b^r6~2NWoD zy%ta7eZ3CnZoS?}mHKtPiPRLj*?Ne>Z?+%y`8PWyA-`^RQAt9#d)4{gxBK;Vt+xlw zUB7M*(PKh?j@~SK|M}Uy+xq8M|JAQQzcE1JyW?RRpSzQB?pJrGQ&PY0&So@)|DMmA z`~1CFa(VUlawX*V->bDG;eXd#`9A+{_Uc~!yFKdq{qN85nD9d$vgmXF_j>o${lB}b z-wzNG5DEa)!eG-MLkVZ)5szc@ZB*?W@a zn_9)Nt2HLOe3BkIRmF5QKBjnkk^u!(vjDZnRp?KVaNTM)nu&1@+0#s9YBdM9_Joer zX;#4l!a-_cLO=X88wIN2(bS$aDmu-n*RA0*pO`f3J(+|pPfR(>o)yld);_M&o_4o7D_WYWmF$|B_6|QQUIW!h zk7&zmo&MRrB>oue%AD;A|SFw;ZXld%qWjUMB;Y`Hom`~2- z^`6&=q&4WeJd_yA=e5$)4f-LIpUZB~>y$_u4U%-`i>U`G2CpX=@+RkNWiJ{G(i%wWL!{J=iF!vSH2jO>-@l;qas^Bh?9%Hl zSqL*)4k>-nOS8)rKv{yHCP7f#>E7Iq;L<^`ez8^aeY9DJu7sesbxQp5q-j^^TV-$_ z--|^ZQyQ80 zJMc4+&54;L9^H5xp7+d3gHYEy-43DXv|=n;NM8TWHea}D(~ni`B~qt?!RQXzAMYiX zNCimH&Tgz3by=AA8GnTWW*gV>JT3tG1S0VFA8@XWOozfy-b8y(t($|pM_llP?F~Vj z=+#ge) zqU$X`-s6((6$^rZIxkv+P)o`6#Utv^dLx0=+zPwW@54XCG!7#_ zgIu-7mgk?g_*efZ!Tsv~b8`@L3168;r!_tNwxww7_8bvit~q^^Np+ z+8~0#9b{4bTTHl@ z_`ZcN*e?jM;D9b;laGsKML@SfJnOGy?=h!QvpW8nUC&pKxI)Kw(|+V+e_M(7y6M}s z{ayUDWYLK!r0460l^P-WDHf#=e5(&8a@T#3AFHPf>HnN_*~3T$rEXpZ=`Ys?lx}lA zxiRuX1rpnaPDo=;`+nM9D4f{drP#ZTb7{LH^TY7vEjLx>mkH@o$mPAG-GFs$cE-sHQNQZ-MXMSgizgg(yo zAyV`KGC(Z|>vvBmvrzHOD~dSV`my(qCgr1MWAbn4kV=Ts16)C4Ry-hT@Ko>B8k6hS z3-%q6^m`rbIAg329y4JpPJ#NE80s0E-I z8tWgX-a07T@4L85+*nwlI9Iz-v>HwvYvDxBv0A?2C5zE5Nw`GR;dhb|B(5S&Th`3k#dq=REsz{8i~QS ziBi<|r1haT1aO=Bc#lN)Z}(1a9%#?_1pA-`N4+2~9GaJp&HSX01Tmag0+K*kUqJFq zMA2mwjx>-Q>WHYb#s(%~xdO?Mh^ElQ6QG9_KAcz5{wJr!on*N6UV=<#iasVh1rtMi z=@3V2Lu3x+tBEX-PPQdT>03%JuaD=zq*|F-ydMv-uD34YNj7$Yk9S4;)`ou|@L<18 zJz7Alx!7Afh3Rp6btWZcjN3HuBn<}v27ov-co_j`4?Rw#LwEGemF@dQ=v!&vLRYkI zLL`w(24`o6d}3H`efWkn9`G2zn(wqy6Sl#Hg+DU^3@l*n@Va()mH+ijt zz@r`t=eDQ@T7d7(GWy27arbPeLapxLX4rJj@-pdnApl-md`N93L!r}RVpaekX5ZOG zgvG`QovF_YGY^Y@`o$)a#s)r?C=do<~~Umj6G>{&M?w_)92C|@2=paq2AmRsh}_b%naXxD@gYu-!-8y zY$?K^(|JV0-x!$E_OMFv!k%tnV z6H83reM9DJnPLy$TuWLc2gG@MJ86y+Yn!*&0|MKjw%(8i7KEj5T-d&aBR{F*ow{KC zbSqfSMF79X1$6uTkwFR2m9G>6zjnLK5t^M|BcsMk-dZ5jEOPIFfw2iVp<%9L!FNT% zms-haQxypA2vgmt;U^wuU;*{ z6=zOhpF5P~c|alvoJ+!cW4M+hbk&1THGF6_17`EE?|gSH6g+rrl7dfGx@AFTXarFZfg2c6(m=NO>g~8 zGTG70Etbn;+%k%qr6%;yJ)7WdT8&rCj;Gs5B7yc>bf@)jaHP()`|N!&(7-%mb*ECV z&TS{f@?(?NT!gD$k~6zx1$@+{FwcFo*ge=6XS&!fLDFG0*fX})oNLG9qR(x%*fYb_ zWxNwQlHzguCvo?=OQL)KtA!UIoZkcPJkc7iKn72&ZWpp5uXt1Ue{!ZG#FnCoMdla9 z68m0Orug5J(!)E7-7a2$SL}uQO=a$!wIF4G7fS&Rri~+m0l7l~BZKlsLw{0C=XUI& zk`ADSGAF8j8@wX3noP0O5hi@IJubIwyxgOphg05KydIVn6EPmo+0!x{kKn zqqDcZZY8E)Q_Njt&A4BT$Q_yZc$&q4#$x5iosZ05cc#x*OiduV38EuhKbOG z7yoBS@c(^+^#7M%009s{3pUIDs+^@onB=^F3`R9c{bn9W!v2%+?bJDE#PDo~Fz{-e zO$Kmwtjr*TW)?=!$T)HQ?|4Kz+qplRO0e-^DEOmK@wrg?GEG~pA$%WBAn^uVK3-+O zDoYejw%k>Z`{$y)*2SbQ^#ZMt*0oRa#ZZp9lyO_Pcq#v~F?G_7z)B(VYJ=?Xz>9Ob zx~ezb{@}djKZMKof5+0ti^qJ16N0`9+lXq=klZM!UrcolivBef;^KAENJ2aiE*Zsb zJZ|KP4zMznFcfxmjCB#y(ruacL`y-=y>iTd_zrC5<#dAjduiKBePf`Bzg z?n(DdXCGa_{qx+f-U`{_Z!*McGiw#X-vfzbtlmBlE^+@_esFs&s5me1*WnYBO3T(K zZWB7}Prkx8o1dQSBkimru1#Glbg$K zPnt5EE{w(-kgHO0FR$=WJVYO(pL0Do>MM$@i5x#=9c)WlCfqk06-Am@(SpSe2I{Ag znit)5D6S|=}ISOvSdbyPEo7)}r)z*s&6uQ)Q zITX3E^EYy14l=XFn-{j$l&-bn5?N3H6x$PJKh1UTl+$rN6iRn;`H6;25eHxoK!Hzx zT+jaV=@OSTGnycO9xMtQsQUHlVgx6d={pkmLg@2=x^45%Z9GyfocGm-`hNDD`r?G| zx6_TPkZ0ZxNXbisc4T~a@ssmv!bww{7L~;TvwwvpZ#NJ_sY<8aTr;)qKf}5EQx~MI z8}7n}&b&{zJjk*_dg#I9qk~)RofR6KpG0^azGOUhP8$qbYWUk;&ve_}PHo|fb9}(F z>~=4ip>P@B4p#W1mh((@KT`FX3Vp(+^e3rN`3$pjo;T8f5M@xNM~3jnkBY;zbA+nc ze%?28p%=zCipe+_Qa~y3FlrxB6`gSq%gyvL@MU>QXDhM|mE=H?4z6EN=+MJ@WZ{&PBbU!H7F<1*3vzQXk2$R;IUq7+>8J z7&Rz-;nap3mu!e_3@-GvhH~f7bt+0QFE$&nh;nG-Hq`a`NXL_8r^@~ImjAkw_%6eyN>}HY(&;#904O4*)VUgfFMLL51LWg+F1qJW1U;Qi z(e#C7r$TUP=c-7&d`F9Yq;UbiV95f6+oa);VMR3=9oeP9d`i1vR-^e0bAv$Q*luF6 zq6R&{8ypuy@nL-(b>Rp*3ecD?mrd`)gcQ`cWNwy$x+8cv%r!9Qx$P&eph@F$whJm{ zD)^JO5$?!gb|NGdE?|CuJmjDq9cw!*Z~0ZCaL%My^2>95ZOgCa_x8bQt=k;E^W5JC zt% zBxr%xxPIuxrwc70d_GRp4`R>9yN}DF1S0{xR0C(* z;?iKZOI*C&%#_a>saXC~u3eeHYSKqQDt^6YNI*MmLnfM>(3U~*Qf(x@ao!RI1BYo1 zfmJL`Wkl?DU)Aoads9y=;b&JGt?q!#=nBj(?aAb~HfC)yeH1rVe#-ukVV~Oh#B&S! zxsS2@80amjA=XCtu`S_IPXTiE9Fwd$jQ#lxhfplAuuzoQo{q_i$yb&Y&hnc>pzod5 zD?@oA+x)JPEHu;0hkp(grp*H)E31RDmxL2M<>|TiO_Vr|%G7q$^|yN%dueNu$Cy}h zZ~4B+;TNjT&1CpN-4iE%YM`f6L15FT2;*mY!R#kD<2DvoY^L2D4wKA z+p{Z%&Wt``^CGS=q2Rb800#E`(@eV_`ivP*VzM&+X2qbML*P`ahcn6WS>wH303ue!x_fr=a{tpMkle>a3q zCQA_kd!N~X;LqQktvEOkr2d`Oe7~Uadxh2IO?3t*Lqyz$O>dg6Dw|br;g<|@SA^ibiR<0yX?uuH~bX#ZRj+2rNserZxD?naL9h^j8 zbSOryMJ;TCKe(u!vC5pIh+wt^ec6`m>-492#O8(~iaXRxY_xpN;11s)IZ-iCW^nYV zd$D@LvTcIJxLOy4C()MRg)ag3M*Ouc*Z~cuRS!&cqKQ%EW)fvgY8RE40$Y8y`HLj| zPQwv!t|JLoKQs`ZIrSG%RV{${JB-)LNUK#|u zZ;%Qp`A2O)D0mpIkm3&o`S>y8&rDL+8AP^81l<6s!nmjcn-NtPL#s3Uff!3mz0eUk zjBec>O$k0-uu;B9Nf#5QF%$+ICm3-hF2AOjw@-AfPkduytEL9haAZ0GfQWNN8{jm} zo&s(9Ot9;{WOmk>7KTGtAX7n?oc-E26J-QGb(T0W$dKff`D;KLBt>ZK zOel3uqCLT(YeFpS@02%0@EXlvNs|Gdx7Xw>eJDInvD9 z?Hf2shB4}5=ib{%m7qy5PK+xU=FeT}_?wiM2H91%3TNFE5NTR1BTx1UZpY7wk=5FkTON_S`eoTpbx7vx3}Pbgs2F&w2=1bbeatgm{*=SE6MhwVeXCsF$uGczOot zV@u`44%t^K*1bPR?B)j*3>Oe?gv@Hw=I~M?!pc@N%R*)gTw%$>XI{FLU{+B!vvKAo z`%H~<$$O=otHpvuNKs5cf`fkvVkkH66!H%vq&q-*hJxIoyzhB43Lg7B5cB4=vxj)V zOhkNir#kBZm8Vyw0D~g6AgX^#pz=x*C0-Aiwx}MgfGZ5a0aoq_0N&OKUa_qroJ_f0 zaR!=>9I`Ej*f)z*kS>CWyNkG5}tqz!CCN{Z389`EG9!F zk0?AKBY+*#vSJ7PReGt|X~ zPsgJ?NXqU(7H-h?OQxDvE{$J~{6li4p=`+>O}N}r;!8OnyG%qzo=wV!N5M@3$5wR= zd9V~(TBNcGh_ypsxkJ*equi|5>Q7M$yhSt!T!TZ{@K}eoNK{SRGn5s4FxeHi0Y=NP znrXGu;c&+LGcK>&TXax!G+Owda>~?`g^BgJMRY4W5vjlpd)X-6Paoghv(i%()cj$g z+!sq%IdRZlz=!%0Bq>!$TM@}%<^BbLV3qHn#{@r#2|m9j?Z7Z^HM0Feay6V1&7j`q zs6{(|75n)*(>3#bEP$ZHpJ3=JL!MRUM^&BsEwgGwlASWRRF3jiDKzm4BAC??$BP#4 zA)Tk|J-2l#+9Bwedv}Y`XBSoHUm5HnbG3giYxjszY&q^AQ?Wna7It8HXj|ls)nz13 zm*j?4w*#|Arlz=tO?ETZAi7>tmpo*|f{TQ=P4AO1?=RLKGMQL*L$zD-2B+~7mDt{` zx*>H@FW1+UTWi@1e#AZ~rY(^WGZ&8%K%@wWKulm%A{A|%#hQCx{7AUOEna>o$zbSu zEwghMykr~_3Jt7-@NCJV{Ha68gTU{b@;}xIIIk4aon@bo5uk@i*4HM_(V^w!^>hB( zL-3)}k)qFkm>b65a&pOnob@bm6ks`@c0=M26nQe6^s6%sI!z@WV-i9@i|(<=0t>^gw_a;BZ5O3JQipu(V*uBunnkn+$# z@PLe%h%U&N0^H_VhdbNR*IUNBXd2dV2BCjd2;E> zhwtis{5Iz_IgAqr9soKdY8lp#N(MSnyTEZl&N4nOcJ zQ!3dZavwuPsldAu&z=MD9cBm#q}UXQO1!u@Le^srVym9Xq^+;PpTT8L*T8J7iw9(w zq6=`j$om6h4np!EBb^%hlOnri9<&0sQaNCTT}VTzwOxFi$O=p5bK<%h>r9 zPErhZe~=-s?Q4iceMqf261oJW#pEeWdFp+!Ugk+@b_J2WIq3F0io)`oSzblt|5^TP z&_jyz4&n#59(XzyXsFK$?$cha`pYtxH-6ne_m_Klvreo1cM{&RVZEOT`FWT1x1(7(v@lK!O9 zH*UDnBgab4ybWs#kJSHWj?kNLB`UX{B>!};(BVHdL|wta@Iu@KCY3Qvs3aRHugcum z`<*?l%l{ifKXayYH#Iw;*kZ-~^V^ZCncN%HcWSa7cF`U0>?J~pq>RIIABGq|2DZ6N z@!VB^Z$q&n38`DObUKdYo!g#Y*4}gLJ>P~Ub3_XctBilkg57{c#y&rLcqBdog-(yQ z$^kPi5t^St_NAY^kB;jj$tFlSbR!;N)KS-I6=>6{Dfp~KMkF}B^0D38a~Fwd0EMsh zZ2vVNiWMb1h|R`7`<*TNlS!BP8dW7Ol=MpPMcUq|w*T9pN}<_oj=#{t#$B6t(~cL- zwLZ>B7}Dlk`CFmkVDXS7bB20p)++oyG(S8t`bsKIJ4-!JZEu(B@!XjBzH3TMduSY1 zEc)}u)Zt2_#0FE{h1RSTYb@#;15n_4$Z8YW@KB_0RQQ3!=P18t{}kx}zgOi~kA)1^ zUVl$S{u#ybsNcgPJP0HgfQ@uoULj%vzn>5-zV>OA3|Bz=8l2!3fFp2vsJF@F- zohd@237nIUE!V5#lPWY{IqX=$Okrc!=*)o%ArSK+&Y58r8qZsY=TfBTU2DAmuNv>G z#j^A*4w~Of(lgXeihd7hWZ$KLQQzBM;724$2rPy24?|s z>U-xxzlM6oEL>EkW`4u-zFzl!@cr2g$xYPzqGx??eVHx+!9~AGQSKq{t*>XX0eU$7 zpf=Lr9tz=#b80!BH5PJThE;&5&RSR4$$~byG!a-HaIqDXjkm@OKv40whO^JiC`Mk- zDeFihY~>yE$W=ZkeqwGF#FiNtGS9HiHRK{89ONaKVK+GA870m)v~BgF{G348;AJBN zxV)aHl=iWC89}DJ3jB-a6>Syr`11AV-E3q( zYdtO2Gk2eI9K2JFM*G{n-^CG2>lxjb)a=bnnmd)x*j=i7>+%()1Jkm@555X>_`kCo zD@BrLH!?eF96`YP_H$!7NPpNUH|WsMMf#02Z<@4!t%}PKjZX=XmhF6IbHor(s96@i z*Pz1FE87g_0`cG0G3$1^^6KcrDfiO#KQ@h*heW>KN*jJh*)koj@3*e5y7v{R2U9Fb zV%Ajg*C?hKnh?96j0e$er~1h9O)-VsG1Lqw0rlz)0C}w9I;tPljKTVOC&{9ZH4Jl} zjz4f_s`Kr)oKhBE#Ems@{+)N2-UA>rr)Z2@ri*=dUUQl1pWlo!x~Q<>F&#QqXDUAO zo6qcKT5U3(yCJs+1ET%El9l;VG8phF6Mji7jnd%_VG3vRyHFh5fNhDIzQuwHdz0tR z8EW%(oUiB_7jZL2KWxArMeG@Z1zj&+dsjv;oP6Qb7bBlkY&arR1xH}H!5KOCiGuVZ zf9-RRF}|wFW@{oRiq}cmIN2nLz?0pSkGajuhE!bCbvyw8A?2Nu02GjJ7_LD~XAfhUBR9^)u08iZ^Ku zv^$lej#H)2C_Cgv;?biYO5OL_@QRRhon6`ZtL@y3_I#A}+4?p|txho;$w|!i{$!A8 z@e0D{0UvKR9gFi0bKp!b?gC4S^O)jJoW3K9xlh}yoig-9KGUUNGI=fXX7HdjBcB~3JrMNS`TnZy`<6f? zdgz|1Pxa~VmCO8P&@0&49%_rnsVj=|Nc&O@m&sm*EazlXN$oUIk%@wUg36IGNsdAu zQAz6EFT_#GVy&z4=Dp$htJu&9O~ox%aLiqtz8r<7%nXb)=D3C(i4A?SHJfp_#r{&X zK~rw(wR&LWYbLqFF}bbT%;a$#fM*H&%hQ3LXa-HrF=gQH>B-1FmIx!Jo@72U__6w` z3)2;R%7iK zT5l}Z0~$bAD?A7DA=WAG|ISRIZNG_PhT**NeAw;LQ+hslN#g4q;ztSojFM@%dskv zTXoDc^H#L1c)U5QL%F~AY9&8ZjPQ|C2tRL5WY}ia>o=&$;I69Xv!oj{9~CS7yiz28 zy)-gVlASibwN3ql)gYKHFoj5Oll~h#BX|X`_;9d&nfK~cTtwJLg=1ISF3xeLq+iwA~zoWKmk3kX3>U7;f^knpKfp6 zv{yGe*|aXad=rS5H?=lM1czH(lb$|Jsh)3tt0x$EI1jeD7NGgFW-Pm>EcuHv`%S;s zLm^8+?=IV=KdC23mGI&Deye%v-djN%)qpxuo6?{8u->GBrT=iyi6$ z4Dgpglx5w(zQoc1IMFwrbt-*DTa_gn^65#v1-OS`Sbo+H9j`8LPoBRt%w3zobUB+5 z=^Hngilx!oJe1Clk{)D);`4CN!Vd^RJWUqisq&M}@GQM)tZUJs}?5ZGrr+QyhsJ^3)$T#k&fJj{q3i0||saW~3)6 zdD7%=z**|*>nF23e6g0b)PT@S6w5F-u@ZiRxn(~ z(&z~SjehDE5jaXRF900@i;q?*SWa0xnqo5CSsQ?o7L zpxe!@KUzS~Ag1SKzgKn@fVZC#m;x)ot9$CZJ<*TI!4aMxAR*%uvjVWJg8Ho;8O__- zj0^iQQDonS3 zsOz53sA|ABDC8DYe^n&?-F0G)s7zv)rH}sZR}0S%y1XyDdjBKpI7&Ej4gBMJL{sr3 z_lah*fnlmoI4&J@nm{R@?O}QKRxiK&Zqw(-pH<+KtC9P^CrRaZ!(+7$uYieCnCAt5 zO$e#B@4w$HmjAn|+fbN?eL~nO;Zn24KhVYeLxD-s>3@i;Zk}SUtduTPFu)aFemao3 z3cex)R}5Ap3cyvN;6k9QuZt@ol*+q@NzTU|g0@e}-B?{?mGC{4fhHIlc?@l}GEK8G z?VACH;Q_`HWyT|ACQl4gbESw%QXp+S@i33Fbi$lvYBD_idgwjRoAs!Ke1UGO2Qpo9jld2fwkghc5~LRZ(rQP<`@1xbz%S0s+0@azP&OFPX!7Tf_S2 zYAZ!m-zaJy07OQQ)#tF;cjQI}+u&{%BRh>;s)2AzA|aI{L`5$Gy;Qub`(ck;yfYXITn&=8l%(f7% zEd~m}a{7Y%F&hVl#RmAfEW;oJ`O%6`!EZD!nO^;09p!%>8tWBv85(h*{q2TgPJ^o% zlvs>9Vx+QVOSrLO<8W~q7@8K08cdV?Ndq|!IKP?3-v49lQ&LWB^8~%O8rdb{#KXo> z;hE~qh0-{=J1oSlW3UVf(niyUl3vZ?;irjwcU-1vG-(X`kB(AC_+2D5!;7hy zt2cJq2ANQFD&SNNs#G!X+K>FK$Tcv zhSl%2H~x%PvttpoOqr(r6Z_F`2`b>e-=nA7NEib3-o|}gUEg*f;Sqs*{93ts;EidF zg`hKkU_n?a85KV~p20-IQDzh|Ure`@g1>ceKjG*OWKqG@J3;8=h%u z$JD{gQTw~)FH6S(CWO+^d?focP7<8DRPvhutxd?3jG&No1_k3REeERPHmo6NB+cX* zr@qA1i}ZwjI#d2HCI{S#O9uD*>Jq0GW*MLp5~Z^8`}v``0)Ii1XD@yB#~2mI)I?rF zm%p5)89zb9Qb)8&%x#%G3vT?`dF}X_=FK8&rGBaKUz|#~0j~z_e>96aa`SV6`>7IU z8cUto)5cn%8ebY0`V|wGXPneke76EljLbfXvVGs)ezIT$K=DNVBjkT=S{s&KiY;?E zOd0@Hn~|TK#AL;v9idIp`D78!5!dK_XLjUG`!osflo3h)qurZ@xRwq6KEjJ%6C4pNI^DDRfqJ)kGD)zOyl~<^3j1m8M-kOsi3~H4+D7izm%E*hl=CwW zpbcezgXusd&v}ubcP!LGJ{nN$3y z?^?C!&R4=xkJc}y|f3AICh-U9#do*FJsWle@*&=xsIfO%eUM9)3 z1&h}vk3h=6laPNEhF|P>*sf}Ayicd{i9!2MqI%ihZI8SP|LX_EM}`b09PiRzXDZ{k z74+X>p}av`%kuY;^`tEgo{9pG^0rei2G0aV;tvjyHj`uQr4U$Y4m9BqZ1T55b>_ZUvsd|}4)wm4}JCdEWM-Dy{Vnw-cE zz6EO=jHj`nNV!(5kWS}gs4&Isoif?BA-;fZfcTRFJkR43kbon`DM}Q>aJ;VI*Nuf+ zJPUn?)LYN~}rkI-UZxatdO5w1iHPh0WvmBJ@F zZNwpoMmUe~oSB>(3z=EG$t)~L0`P571T%vb_)75_vogHDdjY+`jdAPs_YrTGRZ0!D&3%Q5-2&mW&`Du4(#|uqG9BfM&Uv!#EMvLRqp-=}C)`u_#ywIL zA~Q&FO`m$kN;2L3s0qVK*MLv&K+q{l%6pr{Lt`6zn1@qPI?Yb8mSrXP53M6gg2LzH z8PY%lTyYAZCRk5@hVecRDBe^B zNPp`2=v&d)7BhTQRc*QAEhJ@SFe^O=;ChsX$q1VEldLNU&3%4?4QM)}hLh#c9Xl%QT}y#?Q7#{#^pmcX}_98prZDLmtKN zp605~jt`YnP5A9WNB|S_EZ`fwMem49OYp??y4wF66d z8g573Y>VwyWE|HaTC+bE8Xn5P610JLtp#^ITOlyO37A)9BDGafDYMxDk~!O@(qlB0 z76p?X_h@&HKShcqTU3PLVz*ykyTViJyK@l$=48771{Qo;LxoA-Uj2uH z8LiY%ypYQ<0p$Qgk1tLoY_D4vRT@bHQWZ z>{8u{l5KDQ$EwI*^~hxiciA?~2EtVIneK6(*LWhq^L9mRsCybjwdiwD`|B9jx?lj@ z`EH2FPYN8g0glC{(FL%>?e&(O$Pmgfdt9$&QE)Pbhfs-F&ViI0n>j`Hsle`i9TwnVO>loM0Ya0n)R04 z01Kuh7stfFZAuygoP|N$0|2EQhUokp>@ml+s4V^;u_8by6Uw!73RL9!k65vKC;7*W z;M#`BDaJ<0$Ppgkc*kuwu8NJReDo7d=*;E|j>prB1Gi#RUjss;7J4}>I9L+`~<%2JM3sl;rq!}IX&5hILSeOk}d9x)wY1hG5Yhrr% zT%Y#n-eMDZ7lb{C6}u=T@^;;|-{3OfvDg@tFI4iWrK{P5ZPdws-HOLK92i8%74aW+%F_{urKvzlezc2HJb0Rry}u7@S}DS+3975258QaQ|@nb5{+K9L4};wsgh`L z0k6a$kri3+;w8nALGtFwOXLQNE}a3D9}SQ|kkHoa$dut9%9SpjW{0K7#i%H3$B)a7 zi&cb}0EQ<4k;i9M034@448pA9iE6(JPw#n&sJQd0{70&oCJG>T7V@Hy#Nm*t-SFNu zBCDIQzEFxvs07`H07&mqPZBK2H)hPjDKwr8`KLgIa4~!rs0@|;xJeZ(JyqV%XP%0h zRA)0~KgRg3(Z*+WWX5iJ1l8&5>v%8J`0f_zT%9th3?ruZGPpjIKZq5VFW4`}nRmwk ztTQQR0Gxm0Vh15CGD#$-famYYW6;4eXzd~b>0(#IoIH3ju%h^E#sha;hRe_3v_q<~ zt=wv>++ct&f`S*KBs%HKl;&&QM}cQQ7iNSlL?jKqU4oy}C0~WXl@Wq}_sfoX%l$HI zF254wWaS#nR{zDqT3RZ;o39GU28a>@JjHmz>li~T1+wNyFJUMM3bm`0lMzzf(^Gt6 z^r)$V1BI#)e$mg+GV2n># ziU_XZd-vwFu`C~dn23y^I4}C;WK8qM3;TJg2c=>rZMvu^_<8WF-gSXm-j}=-$vDtg zw|vY46KqdBpt!|=i(U$|zE_q_>IXccx-%*8&!nv^84GHV&l`-7zRtdfOm97HPB% zfcrkJ2?s-p{NA)REGiQl%SJGb#BH!PO&c?u+IBVIlN)EbG(3Iv1x5Opzu8QMmJN$C zObNRPM$U`RVy~pbNmn;2^M4U{S8;9j+rH=n1QOhxP~4%oOV9=_?(Xg`#U;2q6pCAm zmr~rlxKrGv6lj6cHk)_OxzF0`oV~8kb?(L(&-2M&p5Hg;w%-UXJ!r)vVmbpLCS;&la0Uz$>+an4MH1h%5=o(mf^_xY4!t(Oe7k9+t;Ly6e}KsdJv6IEBfv<)=G*1 z`O7Sh1EUDXdYUgSmZl8j^U3nZg3r_6%MK$=NC=SfwZb3-Wz(f$FUZS(7TC!?B}>s` zu(^x14DkH0L3?N-_$ph5PQ&?Qr)P4b%WuQpm`&4ZwOE)VMJd?sJ7vOecnM;aPI;au zbXF6snfOmEleb}O80`nK8q8>+Q+A{Q(wYd!*J z={=^RpIY5n0tRY|Yvtz<>@PaXyz~SKUe1Hhz%Kdht zzfM52F4hCmA&RxQVk31u-ryWnHDbo2$eHsBA8Q9K&YW|SF5wnhxbMg~K?%nMP5c8Z zs(a6gb#G8`FFRSIMlooy2uWGm>@J`VE@QOz1suAI%3Aj5cv4*l4ocD0*@(T!RhTMG z1m6M2`A#cL5_;M0rsEw-Z8yoo#s;%{2{H4JqLAN9=;B~6N#|h4W;lDkh>%M_C z=U6n?jyNL!=|3^Root*a+ME!8PBj{54>5)5l(!gY7XPDNcsa0z%}ABZh&qR#pSRuU&xlShoT-R|JAZ++!`g`d0H^m z!WLnuN8y@^FNF^HI+r4;i=t^`9->TBCmuMag+nJN-ayIlA&3SLQP(1-fb54CcS#&g zQqP*00HpP9ujlKju0@&su&<6g7}`~|Vn>=k>7#pwe}X zhu=14PH(~pt36fbxx+cQy7YKdDkSUJpnQ!B*o`D<0N(5B)de=GJYj5o7PdwpD?YNy zS`QHok9GID(I72t8{7P}S#$m-){0_?h>8kJK5 zjdyPtVhHlXQPXx9Ib})62^sC)d=(Zt%qblK(1{ac9{&p8YW0{^C_I2#)J6L%PpsLO zAxsh!0$2<_1#u6w&xX%J5{eR%5`h^TtK+$HyDZRfoE|wMeoGb-9r>dmk<_Q1^QYn) zaD`;E+o2URbQ7;Uqg*4n7wz0`gswWzGaC(QyYvo)UI_0`B9F?o;h1b1MS?ggcE2eD zJ&^`Ie#16ie3~8cC5Kq3o9mYU?y;|D4t>Mg0p`5B5~_cw-;@ z>SMPj9RUhb?rKl_R07bng<67lF90hTW9Si(MzKeAoh)wi&>?lnVDvTDvnVD9Q8%`k zk4@_NovK$6n9dl#4n2Sq0a;N<``#ehi2P1E8xtmq=8yqRUPu^`! zwhMP^DdY3H<7iX2u8_Z4ayo5;{KWe3jp2a>4a!3P(eexD<`u?Pn%D>A7j%tDi46D( zjsf#BLFda7on_5t)4N|s&5_8qWd^RkIOzo)@owu(_Dv=iDTcKFK6+q?w<5+zX2CFe z47qHI!M*9bLobO_!(C>5tA~y=xJBI7;Xeiq*@WTGfNk?}t`)2v@J^Eaz3ydu$lvnO zb&plwe@L0XvA;*zG{#ZhU(3yZZM0+Uyd;*utV)L!?3guKTJox=jty%(95HVDMcu3( z$I`TafXVOBo^0!<^q8*YCo>#2N&D$ZumPnWrFDNWbC19ow`55gb32wlzyb#V2!24D z@j?!lM#fm1BDVGn?+1VZGfPfH;r%04M?eC8aLHFL5FQ!>v>a=@Hyp4y&hxyb8s)Y> z1z8Yo(P;B{FqL*s1ym>n|M&~2NDa##_C+nSbee^-5PDs%PY=FJg$~AY8j<{Q;FT_S zMEspjfQCmz79AU!O7sDckt&wDzPdcVE<^z-*5Gigjsc>PaFV|legsFX>MkjWrYeMDs2swE;CbNA;Dj4?8CyXsHT7=BBPbM~m2Z zcFAsbObuVI)P-r}+8t4k|D-AB=&psXGw`~H!M2tt6Qa3>gRRM^xG0JwgwQ)d5MxQu&E%F=L%EV!|^hCs)_?($~(w5 z`J#j`I4s|lAQAgMNTYDPao?X0y=l661!jqpD+w+3sNjvFaIvQfI7llChue#ezSTao z{86fBMeLvmI@wEs`B0>d@yVU>Fhh}T3CfB+&K_eFk+szosGSF7@e!iv6z=7R~hZ-_d|c!*7HR z*CH&#t^-N?p_*DDg`s3=yEvnTi(lw+YNr6ltatju+uX=`i6sraEd>B~iE(pcPJo z6mMN!neRFfq{@}^WjBYLi3(#u-&%)mzRrpwEdj1@b_Z$3`h|8Eos7>pl} zwM>`Q$+JuLH3&rVo`D3+0s0q)7}1;xnX_Ol?&mP#SJx{Cf3ybn0=ASMsNDEH!1bH2)dE9+~ z)`w!fMn=i4=_U%F;O#p=2^NYRG{G248u@XatexD2hc|Dz6^n)3%Q(fHr%?XejqfwL z+Jxkl`-=LmRi6A!n$f)h8Y}TADcN$8z*;Wq-zb^zs{jHAUg0TO8M1zYVs}}fIxS`a z^Ozg|p1#2EJi!tn8Omo1aSxGUMSsE)Yo+E!J&|knE9yJ9PR~nV>F-&SGY|AJZzfhy zp{_%hIsO($6B5e11ew3WDQ=bV%gXK?GqbzsiTj-PdxE#?47uSJeRL8Yz%W z&jjcvYh-8rq&j=)xC)QAXno$e5U!X6APRkF@kjhl20kCtv{#C($Vk}1K%Sn^ltV=mnkDN9?XRQ@UME zOdvRjW?0t9h!N`K!QMnb6Fd8*dx45Rl}ijheo zc*&hDrte;q-Pi=7a6<*z9AA~-yeW}cZt++lCr)KX0dAx%GzP`6-v+Y;lGiO~)K4(w+nkWx zze+ua>$WH5jv`aCEaG!13{4hRf1V9bj=-y-`3q>3+Kj@<4Ikq`0PZa2<}#%)1HU}7 zC`sI;*@r=vU)-$n4HZVbV50!evhyfQyxD(yt%8B95nxUNQU8caY_lNMru25sTVD(* za6azMXoEqsLrX^;>yN(J68t~7-eYU3y4IAoTwW<>r69`-RCvkLMP}fg>?*YwKkUZh z()8Y7){JkASDL^n4S3xi@)I}Tc5YD+PHFK`Kv`@=BTtTy5_0CAQ-1gz$0su~JhmO9 zaZLda5gfYI-lulg^BqzdOtVgh+2vBT#&r1sKE=Ddt6YnXr?+}h&Jpouv{;rdC1|s3 zV@6~G?C_nI|BomiB9&;vR|3}ng@U`EgrB%3^Ejd~k{Jcmt`!JziYgeM8+nea#r=aD z0A6o@?C@#Yn)hxo58O@n74Gl~ISF~9XORCgS`2cPKjy$frr7rPv<^$5MHSx!nvFLA zk{sR~f8Jd}xi=cP^9|nFIBB7VHLmce3q#QQ%GVzp7BWD?{=nH# z1of@T%UIE&(qupDr#iGR;+G!(4w6XHnxN8B<8oXfoUn?1t0Bdu?NUFEL%^tt}`GI)44vK#Hm9ZH>)Q7~-hs+N} zDgP7*!|qv4^6JC7gC<0?5CR^0QCj;jhx)J<`>?y9AV7oWQ~qdbxG*0Z4u4-~UMx{H zl+aq5?iOl3So8u3fQAH^vXAxbt1iMzLJ@|}T2f@y#Sl36(=rUu@ypPaiBN8Ul^kOW zonpVoVaMFppq_b{_?z{X;5}jhH%v2-MNY{6`#(hXeYs z<~G2>2|Wfh_-MJv77inNQ}jZ!lB2=^C+*RHI7*daaZ$FD1?*c5c5q|3D?YlN_dgt^ zopa7)F37{bH=JQCf`2ShZY)ZB?7judCl8E*N30o-&exggYuDqZr=mYVBuCk%gEIDee7*WV`lc``u&@P^E`xs+Vf2k6~)C zwc&042hgu@H+RfFvHFUPe>lnsV3;QvS};o(avYMoKbkX3?BF0)Wy0qss_8|M>3QJf zBE$5ObE(`Uu5)R`CzZAr=7ea-i4*lI!TvGe9r+|DV#Eh$)kXg4J@4s#2DJn2=>zMT zL+_d0V728;wS8x`lU6mG0%7seY0x}C2rnkWsB3I-`a8py8~!i1a$oKkzC3@)|I@qs z9SiJRlkk1{mtU=~|5(B0r?3k;Usq&+riMU3yjil77zY4ouVCu$Z;1dHUCbSILb=2- z&Dc-%S&TMy%&gfH%DCE-Ud$h}xTte@#8N_OAaDFRLixFMvG#8*uip<&g+jy7<1{Ev zV(f%x_xO5=vIO2MOA$ZIm9^4UusK@B`Kf}bkL>ddI`fP+^GrVT%pu*iL30=-^QhHf zR4lWU(;6&?^ISjXZ=UA4i5GYn7kC-xE1tesJb(~vHVf=OR5)!k__7v6Di%cB7Q}`Z z#BE;lhiG73FGvjosK@4SoZ<#ZOGIm(|0S_04L-H&irfU1nkqVn*f%F?3h z;o{4X#n7EFb?haJu$t#PI=QEd+W+Awm(IO3G!Mi6-{4+H7EZ|0e>h5;dHp}J|6SgT z*=6Uq`rjNS396((MYuyrl!JW)ZVAxV9WKMZ=<;ull2dm_8STFyKK*3}nnh=?e{+=j zs!4igsi?N8s2(NZgncn~EFf>}e{+=jJXs)hpIkKi%NS1p;2)HaTMvl34F5Mrxzvle zh}k8S4C)4IpP*4a|E>CmqcoWPoK?`E?*WUkK8d-l{uf7yy&f-tOGCU~=CbsEUb6Wg zlRZ+AI+2Yv?0@S>T&Z@Y-yMd6Nv+aR`@ZqbD-zS^BvGr*);CNf zj~&g2lesz6B=)0f<1-n23Dl~F?$+TjUaH2DA+?kFMypA|pjEXL6ruF;R48ie=2~AQ zrW-{-QZyx8G^24R=<51-*6szD7mXryxD?KT#~-oI`)|4Q>`@}nLs0-TXqg{`(bN4j z9J{j9<7)TVceG*R_Z898i}+l%3xK)`r5;ldfLhU@1WScrY%U+yL(TIVf9CpRqH+PpSY_g@jOACNndDgU3wl*>2%gKZK1e;dO#$gFN&oI)cTPxXKE7gCum zZUF!Eqw34s|3tk0x5h}eEiC-g57Dd4iMG0x59WjM5V7pD7B5IZy2)gF!^TJVVGOMt zUAxWa#++@P>*y`F2LIC-vX>2oVVLayG)A-62l9L^>eKb^SQekt*DexI%b60{1k=FB z+mnTAjiBZH&bIUE3WMHa)u8W=ZEarX%aoM&SKEDJh%87~hsXQwOKP*3;8T~w=`v;9 z{NTox_>3SEQA$7AXuL0~VIUfpmVC7+QCTu`!9D&2Kwq z^mB8+Is@RoL%pN^R>9u~H&IuQd(DpOHef7^}{*$lOtM-uVK7rNlA z(^^mio3ck;DJ;nfqk%3gyUyx9!n7WM+&GK)*Wv!D5c2Xy+DM#{4oeq79D%*q9s`zl zP)R|X(xh9YR3uzhLtt5=eC3H%Iz`M0y$2)O<9-4^avr@aryx3%TnntH9;?DAa+FPt z>PMeIW&@CoC)uQ7l2djSKFTzuBeHWHn>)!(3cp;-H3iGqtt5M?pR8sE2rpYwn^Oep z$HJK$cTMPA{f)EKOlnsmBbPtrX664RJ}n7KTVttBM52Ij+OZqaJmp|3j(jUQR1>znFb-22*Am^z$3G$A?J5-e0UDmV>U z20&SIP1*Kjw^sZTr_ReM!q z1c?-PanMJCD$Lqhjp`aeKtvrjw5tdWgnnTi$sNK4rS@^5YcrI}5jYVQ5ADKVe(iw1 z%TPmhVz5q?Bd^=W3fpOS0SkW?2cMS25*?M^$AL}248>62e24h=gYSj+flH>MSDm*r zq6PhCBJ2r7d+3(V`Dls}ryLZx&|O%^mB@*5vgxnWntL4jGcByihb#&T>csfbu5jTm ziV=jctMt^UC=uEKz4(P_Z6GryjfMA&%-gt#`!0yVsSt=C--)+RGQ5k!W7iA6hWDWC z$1V<95M>-#76|R8Rj27Tl*Qm^e0S4?9-iNvSNnX&pGX0Oyzf;p-k=HB5SiT13GZ%=>bNG&%tg$}Vrl5u9m(i3pQ zeURuONqRY`f~oqrDi&o&ee#$*O|~RMCG$+xrSbvl?(py>84l<;igg%9uvi~5PFSR< zV|vDS)|@NL3~o$sO?1#I9{L+VnNL%yfOsR+RRtXdZ|cY$&WRtZ$LP9p_!4=5RiNq|ai zn>ta#G$Stb-dU4;uy1GAX>QJ$Y)#@T4M6nF&T&|5zJp}&riNQRzC@wfut-mL5A)b9 z(ciEpXgnfm$#JpInfP77g-bI9A<2-TUQ++y3!8}Xyfr*uw-ss-QMEK7fDyJa91-P) zr>ysbxF=Dd=QiQ0Tw#S`F4IILsU3H13PmKXSx_8|X7w4DN=}nwO_TLSqUXzl1TbT< zNu3Y5J>E3JJ4?@>El)c%Y0+GDC5iS@yo{hexABxi#%+t@0wnUu3$y6;0ew(3G(B)& z6$aCiHPab}T5!*1S@m;EB)m9cbhu1~L{z_zkr?$a`#|GAKe_j$Fu+x&aGoiK*y=zX?6Ztv6 zoFmtq>%Ru(LSKa&)sr)S=Gcj1C?WM)t8qseBog`gjx-vxTn3FH423QA3N6~-4MMs( zizfBO6n~~@2PlBLB+r#fveVBE2?Q{+Aa#pgda&HOqo`@_mU16lCoDZlVa_jy@N!)L z#o?eOcyHegONH*&|1!Jr^hb>N)^ZcGD4_m6JjdlPO6`rWkD_l;7?ct4%=qLis){Z* zTrhbeTZDBekb6H9d$kmQ>3+Z*v^p1Ut3*DJ36Oj;7_b>z@w-&F`I(-qo7qJ(oZ47Q zQXt&zo61)NuTsX`thW_nK|vQC7t&iN9%rzB`97NTf+3Zr%4>)3RNsV8NQz>nwi7Q6 z6#^sBF9CTi8&i8zZBx6&@g#+F-^WZvvc~144&!KL>1^#&8gC3?n?&ZH$3?wNIpG@Q zcdwel8aA!Si+5gj571cIb({PJ@Og8K^cQdQVAbNw;$JWS9Lnzl#DOAlIE0dyjrPiJ zPivSd*7c^#AM%y(+NThbB8A2xGUPRy*-9|CUvz!|vfnG{A)G8d@7qSQF};+tG63kV z#a`R!Q5YggUznN%xbim&hvdKD$XWygHUt;npA%5WBnUZo@>aO3;f;leC^~J9^NM|x zH~kO=A8vUoK7A{|2e5Y)t^TZY1|BteUS5agkrO9atA_I(>UU7Xs>h?x%Xt^R>gIeb z5|I8NHp5xs6+zSOr6jb{5!QCeO7(e0)ieMSa{A>%EcLl6Ez9Rz1~=a$R~g&N*#~zC zTIT6ujIK`UT=!fb<~5e@!@!^}!|nW5t=AjIZ_F`B8t|^s3r=1AGRf*b{>Ab#W<+Xgn|okq)YH1(7kF z9c(N)uH1MF`}rwn`02O$tu)KSm&mR^vPF&%S(An@t|*q%d;9PQi29M{_-Rb9sB5*O z700?S9s>~{xtL=WD(xb?QhoP622#!kV*61&S!pZE2Jzdo3dIF=6EOLt`Tk_4@5>1u zWJc=qAzNjPIBJg?rDGu;x&4o=?iG$K@~Me($f~U?IVI+ z1AL%(mH@z2Opwy7o^OO%ei;wBIhvBWE6%&<9BU*K;Ww{@VjI%Ll={T3qQh{j{O?v| z1*3dIm&3*o_guL0W<}XLw#~vtgbw?>K?!9*(h3gfyIA9s=+HRJkXZF7uv!MaRhG9r zO^G7Q9WSoAkEf;1ZHurWD!oB_oQ|!xbDS^x`s6_$V&w`Q#0Dj%P%5s94EMz$Y8 zIpgqP5T=ZFvKIi}$dEvj6yhguXenAd#;ynC2V5s@M82F(2Wdg!0-EA4>5-bN#mh%I zwXOlVchT9m$-qMir4p1gSn}?PGNO%(xs}dUGq4_C42f0 z)_22rxolQCG3Y^+39ZvecWq%IE${kbfIt7OCWvHoECs}r8o z!;A?{VR&S^tO)D|rtSMZb+scsX;-Gy(v}w7EoObP9UT||I>;rAoi)^kB!6WvL5brj zLlYCy=g2Tqp`zu0qKOP-IQQE#`K12clI2H}579dCmcr?p?0ZJ(Y*=cwpa@lt5`8?p zAs{ueMJm&p`5J}QQkX-%gANm5$R|q`kzQ8cpNj7u-Iv?$n?Ph+hyU9vWTpML$Cf3koyMqaCEDl#80)D{tn{WBr9A0i1xJ%`M7RmVifVzj z)+=68g`50SSq9m3n_L}9;T;R!13y-pC>nc}zr@U=!l>LkvAtIG1qQ-=^Jx@XGFHg7 z@7RjgZJ9o4sQ~-^+iHZiYgq9enZ-mco{^V8D_^QRcY{%ib4I%D*ht$&_+7L-FLGX0 zfJA*v-GDrvA{s!k5rAz8s)-ldlL?qUQ6?l{X2_;XJZ7@_SRaK2ZIiCkAoUw7|l z&%3D1!mX~t%kap`!quTV{F@M31pAv|BKlBhz$&W^ zq75)b5`-ITox%5Zpv-#2QM6USv6bv4;K?OO##8wtfR|1hrU$~C!J7O%;67)hGm>Vo^L0?6lVl_9$N-4Y8(&yWq& z`3ZHJMZuEcxyvewACB!GGgX{L$!tZ_Q>KEj;C;R^Q8RbC^3@0)i_-c@{hnRV1~2ik zBPzVQ4cOGU@?Aaq*Qc`2aS`t4Kf_5xO?q3hcciDr?oBIob4_ zX7x5vnEdtQd%p*zTe+U2Fdx7(1D@BUG@na`V{~He{!SL|@TylR^H`8lI@fCTYyag4=|KI!W$-($i|M<%s) z2KB+SG89O=Xn(PPJ|L>!$<(hHfv(Qg2&s|Gw>~fvXMb_p;_N^*DOCJF01dlcTj<846iu4hC7NOgW5s zUj{q#26IUU=TLp@&Hmk*M9b2;q>U8~@q!vnB$A>MPzI&(_~IcU-AXPXH?OF4j{2(A zBaIS0%X7{zGh-9GWH>4D`k@3!I|el<(mdjXmVb~6wIx1vO5(;=dA z9HTMa9eeh}1Ij*(y#B-NU+>J{5%JkxFj(kw)VJyk->532BeUM{N}zBWT7Jo16vpWG z`z`*(Qb+`l#dA5Y#x3ix#7`L=IR|~GHf-r%jxd^0mlykUJ|nU4(hH_ewYTu?ySts; zG-`u(1p1t1wBlcWN^rLz2_GJB(LAu58KA@BiK2l6nF~sv_hMF}5PQz>TUxr1%9cx$ zEXv~{TsonfHij$_Zs~cIE!qokl3)Yyi;ynLwFg%nu#5b=9;Zng3Iv-~H?Rzn@aKNb zlWDokMiQtc<~s|fzs%00@!B!K++su0BE7$er0xDvYR%$m&S|8|m%J;LDa2wp&8-78 z^eS1ncILXlf()~;!ZkTYn^xNiGP6Bbx}z0FEd&}=1w$*A)M?C1p5AVK;xYS`4_#dNsv7>aCtN(dMn^TQNI8u3=qnS(?@7FDw|wDIUxnm$*ABnN+=&xk(Vmzvp;>D$Sixq>q`6&p z#uj8b{(j|Bla}J&g=#ZtAcwplkhLD5J=mgfUc)?E9Rm=&n`%%70XG9rn!i?HANTHF2BAfm$AOs zle~&gW{_M>C>s?^Xn5awRe9|6W?QyFtF9gM+y zp_B;ocsCqR_R?``%%f~HnMNueOVP7@Je}ort;)D(#bh?O*+inESLJlRu-nhSB9(?_?h-oQU-XexedD(M0FJ$RIQVZBO*kg?s(A#K!bwRKo|?TyG?`>IZ8W9nsznS{ z%t>h+O|rcuoaIe59h|**)iR!AHshSPwI`b)Ts%ecPJDY-8Wk!yNM%)}vhOY=@&f`^uW5{O4Oii%Bor?=6zN zM-;7Mx0eEri`^&e?B0f*k)OPcAW=FAin(DuDUIh9wJ%GRWMh2;S39$>$Tf|(E6?-H zX9oPZBl}8W^HA;JAD#K#gt{Vq0wc=l0FicFlc7Lxu2WnY53Yk=jXDK)22$*P$hc8r z4@}E!8u6X*bu=e${>fHfu`qwiRzIg3bm3={>Bttn;;L-fv7W8m054YE?0D=S0LpAvJ(#&uTzNb2lml$LS`LJpVwkoKRa^ zoMGh5aFbzBE20ZBLgAMeMVK#K%EnH8U&~9!0XpR_ko2TNANe4Oev`uIrV`yLCM9yy zFZ5!Hh)yL9?iH|s3b{)smde`F+E$F_Pi1@^@?%j-fm6U&6Y@uUQBu=HaLqgjb!o&# zyUU9aW?jfI&gmrLyQE(x;j2$Iiomko_IXjGxM_w77hDZUPI6jTZF=|JNVZ4yA=85V z@h;Wo(O5XU!0u0Z|9bcv>Wqw_VDF4~FF&;m+3rvX`__E!Y999U+G_i%o#peG5i6S| ztetRtmHExWEva$fYmKvDW)|tEpwv7}#haWs7A;)KP{hR}_E*TztJO^%P@ zaVl;vh!2A{ckjIiaF=k8-x`kNxGH{htR3{DW z3sQbdj@N|7yt#uWwNHA{dS8Z;{Kbr7Vi4Oj2EsqG=jViY=pv{EMVl$$`jYv;?gY;=3b>?=aAt+2(a4+8bvVzL)A z*soyG^h{|%app8#%~p*h$#L$s9Ivq=VX`%s7_lacIK*7AS8V=t=-xy6w0MlYFu6H# zNd7)5Pd4b+*lVfizS8NP1vyk|40M5uWQeOejKG7#hDsctxH}{EMIv4R+1YlKc*pot z9DzaA&uw87oyu$88^aAsU_{Y{Escj5u;FJeW5 zI0S~IYS!>?PWy!vYnHYM!E6Vag6-fX?S}wicQw=!;(}wrOL)fu&wH`I^$_1#k>*6z z3g@jyigBu1d1{&u)_;Ii4|HdcQ8;SnjHScT=P&W3xjS|n#+uo156yfnZjf9a15vRNIP6Eu9@uU0Mn!Ed6yB(K(M zaHvyQVaP~v4g?_LXB)<~bZtHZ#F(uGjU*bj7+8tX@7@&$5uXF;L%IK7t8324ZAKC8D#5mGL^69-cTbf#H;gj;B<&v zu#?OYqi)J-Eykb3F+zfMH4QBEa-de7GzZRIH0~80rm^ZyhOsBnzC*WxEn)J+3rFlZ zb{LSqT-OgriHBgf6}KF_H<0kn``WcTnLE+Zc^F+)Cu(PR=ehCK4LYTBvK`7@`~FUd zqh#3oFx%Zv-A%u`WhjI%uJDeKq$%cddFHLEPdreTL#>vIlwE!LDqz8gtubb;8)DTI zd^*V%O017?`ZY}+O0IPL4ZI(?-CR=4&dNhwfBjbI+N)+_XB;0{FlP6&8P%a8>PlXt zrCMW2Y0D|6Zn-)3PSPDX2lYdT#j7{hbr&@3iqS7%)A23c;kYuFircm6$vD=-L<}Zu z%ny%2B$)%1m@5#W3lXuXo_7rlmyX}mOXozXf22xZHo(r;reRb1X@5|A)i4SodewAG zOCip>loYFxT?~I(7hK$EDH?lv%&D*ZoI)iG#o80S8H-YZ7yPudAu77m>>>tAvW?-R zj0T^Y2rn%CKCiBe-1j;P%20Q#2i3Vc;`aJo%kG;;RS;MV=Z{VASRAwQW#msxT{p%z z{a{r^s2FVY$SzH|QrSov4q*$LI$?a{7qji?w<+3zyA5A&Y~B^)zmJOwdi`r*k?R(h zU)3yOS9?CXe5X3x#D06g;~gKaRn1XeTf-sMp*RA++iY5%R{;-Qsza$C)8NdD&0t$d zxW1J=*(dY(wax>Tk&QIY?L{B9&4z^&IaTE_<&@x_kx-}Gz1^_e;Dz*~H!5&n7`TJlg0a}~vEkto`Y zVC4~s=tk?bcCb*Z-Wwkj+f;qu5{POAq@~UE#Vf_jD1BI;TB8>9#T}6Z4eG26swC9> zu*n?t?lrrgKDY2I$7r=NSnWZ@YNFX-EQHO{$+!ck0Mr?w6A71h zKiH2p7mk%4#87?}J3bH{!2K#`HaJ7yfKZ#iJ4@eZOrpp>!adjEMR|(T~&y^O^J;yc&*?sYYix ziRU+eM?2N`R_ut{Yl=_P zM$b<+P37lxGherptzRI6PabQgAXpZkX_&I z8ZJHSV+zQPR?ap!UzC)bwRgRXsV1|UYtJwdex=sr%?-|8?N1Bn!^qOfiFy9EA~H2g z9W2gm#V?pK-EI}C&l7r@L0`sO^AOO!Crd+~5DhjZmqpcdmy_25U&0g?btUO)^vm`0 zwS|MNV3M!XV&**c@fA@;QN?kY1a}ED_!RTgbmNG<(x0{6BWr4o@k~7r3vG3=1YO-BdR01$)gA;xw0Of&v!`y-rdXm4PctiJ zvK<4mb=LTg4^f;?v-g|gJw-&0z`1@RHbVSqWwO*zPrFrmUr#=x^1Mj((h{#VBYuSd z<6DSGg-*Mrzxo`?e5GEazSiWCoWym;8l$8FYV=yaghZ7(j-mDCbC?50w05M0Mm zDSLd0(;q`=_M`A_tirF6ngdyT7>$YkXrxk{8;PNT!mNGOuNtWcwcD6CwUrRnRG#!R zxrM=!g~+lDop&VU=r7m=qGDf*)+TR8vL|3vzP8ZY^a-tCtMf5Wu5n~*S4w?5x zpv@hRre%;YTc9~n5vR}dz-JUNMwG!Pk;4YB3~XraR$wQ$WPgf<;A754A z<=k*8N6IDynGBG)<4cH=H;Gbo;>&ekK?TP*)cz{@Lagw{*Qwi4&GJ`*>URn09nQED z^eh2A1Le9p&kxckwZS=wH1IMAs9q%~n=7aV{YS>Y8TV;NW5{R`&QqmKMC)fuX`=Hc z4X>u|npTQBUcI@dpLdYC1IQ|rd%0CEt1%947$y7j)h{&9D1l@vqBgDy$?L&jE=NgC zt55+#Y1l)V8Zfx*DFm0#h_Ah(z16X9S&-OTT0vbF=3NQX<2&|(Q8`&}S%k85c8QOb z=0rOmX}!~|72lA~m;ruHSkzuq&Syhdqd8_-=ih&RZzLmx2aKtbr1N&ew?n(u?`AXV z*7tJ~f>zKGr4MzAD*(GYkl%)!appfuUpdAbPNl0xTJ(X63zcDONI~~?0d2m0(X6p$ zpLOG-3%OwYft?j43FS?>iCzpnqixZ1Su$tU+M4Q~&H~B#ecI|6)JM4>Rr5?Ut2$X< zeajC0O^X4SEE&c@?cAeGbSse1sc2Cu zEt)84vLLg;LeYF!cYXl6lU2xs^v_t``(ZwjGF|!qR*@@#%x6?(&o}#VtAifE-eCw(UW$Yri^)x4RUZMkX|Z$;$G~_CJ9ec&2h7bVE^DS?JiDGA5Mh+!zLP?4rvZp2c;2GRo58>O6tO z=>%o1cIYP7%Zslik~5;&IXl3P6_Vh(2sW0fsn30KPW+-nC_aECPW}G4(;1~YNJu>d zcBJJIU$R9T!<}m!SEM!FRW(f_{R>5if>@ddZV{rIStZihC*CQ!FZPi>Qa{CU z$8G;SYLVBC)Ru_XveHB68(otY{w=YJ4UyEj*i_rvUOC-Nj+55H-mBZvw&W}iJ6n!| zbO()2U?uU~MvKEnbXAFb(=pc(KP_+;rHUI4M3SBT**#}%OC}2WxIN6R^EQ7G){1xS*bu1c?$Tv9n) zqW5Ydl63d5%G^~Wf0!uPMDEr9hH$7!Ml`H%UfTZ9WY~7cSvu(3Y4gMmC>8W8rCCou zLi%h~aaNrz?#Wkw#3v4TIHtI*@Bd`pHL+X~dBzL|EofPiC^Q;3SX1ha9&7QZM3!nt zPBRitn6Ie)puey)*tv76@~1{$eZ}se0oSEdQ^C9U&2i9*HrcBj`L4|Au9M6}Ew@D}!m~}* z3qe_-;GhTpFC8#KbHatgzp58hM&sfzDa6whhW+EZB%h&5L%Gs9wp@={f^?DNw~JPY zS8~Wx?Hz?%X(lH1MxIf^zNXimoi?Rvg|KkV@nqIxO&A0_Y6){{6XM2 zRG20l`U%)J-fN2dc!MAcb5q;kc`z}&j`{Y`D%JZfOJh@mm$Mv8EZvU%QqJoj1(3!} zK+GJv4EFXcQ!D1hpeGj1jh#qR%6C71?#r1?eb1^ zi+tRMp^!Y}{Y5-X3ztuv-a%=;{A4_lW_wxSmPA8c&dI;tIY7ILFq`l;b90sFa9rHU z^|v&ziCg})W=;AQo2K;en+bC?8p*3g&*`JW{+CackH-y4G2%d7Hf{T~pO+nCXcAZaxbNPBN-3YS zs4W$nIh8wK=ils5u&S|%n3jvA_@r?rA^J;G%SDxBD#bC#zX=ZqPL6fMcD(i)a+_Pq z@D`zL@Q*Wpn=cs~McHsm8%N>~I7(^_l`942*%I2aaN^IZVrT|A)8$?9VA5ZgS+1nx z_r#KAF#9c2MCvNpfDCQWoAOjjwcGmI;b8L=(K+E?)q;0{x33AQQN59w^6;p5D^dA) zwHUB7nsJ8mrzR6wjyq+X{}*d-*%Vh8u4^{XNF$8~ch>}WcMa|m+#$HTJB_=$26t)P z3BfgJa1tN{Px`R;KBs2S%sEx_VgA6XRnMw=tKM}#_jO4#fy`s&qVuI&xVc;$6TTvV z{9@vsaF}UfvQVI8Dch=KT8sL#v%RAN?|YQJ(-;bli~EYW>SS! z<#HPUp!idwbOvV!30{y-eF=`6xq#E>>uDkw*Kp682EhHZC%#N&{;$WhpgmuSP}wkgk*Ghx3~UVCrwO6`1MUXjPkEOZqKllOfBQ%j`SbFp>CMgu$f1ir^=Vr_gfTIEzjl6KK|XK&0h2T! zTYs9|&5at=uc26Nzv^34qR4!IcgI9Pw$Wu8FEC1K6(E= zZY1LNKTqcg(5D^tjxJzrK}Hy$5ieIJ zInDH29{<%q^;^B}(=Qiph-*zOtCc)y6KAwY*U&6YR2unmi)=gRH9gZte8i4hc^aw# z9ZXI^eE9gt1A2?W6e28y{tmU8is9&ognAy)mYaFYe85lYK35H#gh~eTBXkZa-@;tk zER@b}Y*O<1~+kOI5e$R5q9$;Fkp50ze_Hr1QL|6TKyN zQ3$LNgzm?*UMru2YL=33^0Qi{|D}X#&6-b3YoHv-%pprlBmyyQpf}xC)W3zOk|tY+ z)#IAOs+D!&(M~I#c^HDI6^3UMt$3Yn`% z1mP9+=`Vz-X=1lmPZd%>F}S3rzU|R#6+2@yb>sj3njX4b`Ip#ErD(D^>vpM-jqFU) z?0GcU%cBN<$0orfH$_nko}c_`PDOt*rIK2!PHBfBJe_&9vc-l$Wkp$SrKS6<08}dR zgHe@sOfx%|yFsv@;p16tj+>cwI#z|fCWGK|=s8^l`VTvW${w{k#glT^Ku4Ig+4Djy zv9=U{;U42wRqWMFvI`~|x$#d?)ao}7(>fnzQX2qEml>zo6H$4GxwVh8wx}>3nh8tPXTro9V|~R_i-! ziiUYBQ*PX)J3RIt7mCD#-1%dY;OiZ!eo- zz5K8wxSaEyr!d24kEe5UqtT=Tl2&l?iDGL#L6p0V!`Rkj;u%R!r8Qgg>cXk$X>qy3 z^Gi3nBZ6od*&VujvnD->x&Np_{9YniLX*6!0|~SukNMB(Tpo;qn@xRXwY^6v@z}(W zJrH{dIHlv{WcwR?7f;S(c+ZCdhg%f1^OQNmp=b_0>nEwvRcLl#126?F!1ztoE^tLfjoaeh2UMDga~g>c9F6s z(EjO*rxF7B1Fvpi_C=Cc`&Z-RnEU5rjyb>XX#c0+hyL5NUtSAYK`&)uqGhVd&#M$B zj~AbVz6XB@`nvS*#a?yrcn9<1lEIPifsVYvGhArWlGs~M70Asij5ZJv zE*y-|ftoM?EFWya6@6_L1#pY?O7(mnfubh}BE5=d%?x7YL!lSqPVrE*0O*#3;N6HA zjB5yydmsl*tY@Ylo*PObJcx@fUdb{bQzw#C*5^k89j+U~YZGap5k-{ldzKQqVCnVQ zlA!4u-tiX~pkW;wiT>~HvHzZdx57u*Am+~T=YCalIBi0O~jdiO~$e{kz<4BZ7uawPabC9m@UZqkf;D1ia+-AE_CZ6`s z=)9FlyOOsaD~UZ^AI=o14!-%6AAeu$ejOZy!2n2% zdm%vl$wKxYS~h!O=)9+U;aIYaZ-{0c+x+1a|QZIh9Fo4fnNsKnr_8^wAvicy7 zwd3?4p52cDOLS9PBR05j+s8PmVO`#YE;s$uBB&H^u`KBT?yP`8mbdySQ2ALmCP@>A z-!cKygy?%3v(6NG7Os74MW||6PGQzfNljt)_Zoc*h(*tYb^fuHCT8LW-J+#ep--4` z(J!{tXvQ_R)EGuz*3ucDSe(rr3jY>lTmLkJtkcp*B4$PEcu1B!`FEmoQ}S572f3H`%qYuZ=&MZ%jYp&jZ z;CmaqsJ7$^ysDf#uZPcLH6{|{rvnaau>2>^1|s8T$Y;-p`p&2YW^7vD$Ko5IeB~9I ztnrN3(zx>x=i4z}j(|@jFW-G{tU&IW9(okS)=FBlx^IWWn;Lfi>`4ZZe3c`oaCk$# zM5g-{(3^gRT`{g(En|CC*^_MFe-Fe&_1rUC!>;j)XT@mw3YXmZJIFr%s=9dnhRug6 zkBhu3CH}FVtno5sy4CaZuN?1_SlG_vrcBh|iERoS29F;XY{UHJ-FX<~rNQYXC(9{c z3VXh<#%dttpNs4$Zg5m>$DPCizcd~FV4D^4G3wlOKGu-JU_K~{e*bv7Bvxp0vDTk7 zu$wvG=u6dc_?@|9x9X&K5BdV$Y?2Z_3{4W6T1qasjwlFOITy@g&Rhqi)m#5?wDe~| zVCC!@k{&8Gz9Kg0gt~Jifo6?L_j0?{)|=lV4)t1=l8&~e=9G;@!>YwGq(H0Mj~h+s zFQ}`NFdZMxM9@tb6RiPaVoXDP%|#@Ua4A*;SL;BwvTrtgRy{XWyP{T#+5@p!4+MoA znHMcAF4dHd(MOg6f5x{Eq7M;Pk51lT#4)+cA+UMdaj})O4k|5UY{_60UZpaLdbTJ+ z(vRYQ<}mOa1($dE$OqF=6&^>Vt=j3WyKh}MIDeTom$+>O`a} z$7H!Zx9Uw3{Qau@^pK`BKu1urvblOpsHW`EmaJL-+{=Yz%TsM)MMpSU?c-krEyMk< z7Z4A>(BJmSah)jq+NC~7y%#%~^j+;#4PP7@)OAX-I{RC|j-HbU!up=Qy&@huYy0-p z$M~z4kn<02PKdg@Iy(KUD}s@c`nGvT`lnaej-tw&Mi{-DU&(b`f>{gqARZfQFnaut z7%x(XqvxtaO!tCFhqd?=e0;_(I&u|=Y$m}Ms{?k)!Llkq4XYWsoyNolAB_5wM|rtw zg$55y!)5A!pl!*7&SYETT>CtfO~J>C4k79ft57AV-8XgFkeJy!xTt^;LNxTIwwRK1kVZQC;T{Ul*+&^z{nsYY>w?9d)P} z5R*?I7f94Lgio9Lv#AzJQ%O*P#48qSo_D5mOu;a5si{4T`=>Ewom)NTWaxS>7*B>= zq=c7N-^qCg$*{AMZaW8idoLojjJ2C#MM{T6=eMjDnIOs)Bq(D)9EL8i&a3Af);XI| zDd{!+7vL%RQBO?XM_Lw+!LwETsVU7Cvae3QT8OJ!3;(xG?DxyC{(L<@zv9 zDiJ%hs9zf!6-Fc-O(Nd)jfqZ99rxW+e)1YhY5ZxAOgb`KRthU6be1O@OFca*;@k90 zF8C%F=oa52G8I|$cTTC`JI%!P8DbePf5oSk$@@UI6V>WcL-CeCeQ$X~8{L6uS2!+{ z^?L<0DObTTp%)!qooLVPu+I*7UbB_TDc6A$<}yp+%&;n&120#3WVvx0cbPJax;4M} z7Do$RT~R*IjtAjFHUH5QkdvH3Gza@smGkTx+dOh$N`#rTlvf^(a!N>GeOVyVS|C++ zL_LoFVV3(jgGXsdkioj^GCu3iD)$@e;B(pFa}KT4Wu{UrAHmcQT;Z&JT>2uNWZ9A$ zBb+{Y8Ym=|JXY;aATA~ALxPu4xv#uBN9`UNHY_S!;pQ-H?dWx3?FiYxY+o%c(Y6Ow z`BoGmOP!1+sRABlkx@2hpV*YhFj)<+DuT%ADBA5Y&s2G?j5X0WFwW?xkeo%F>*fDuisMhlV7w+#bj={W#ItoY638x$9+`@H9zZIX)r}`GRT#?RSxr(#hUd$pu`I zF)RELEplHh{Qx-{mHqZD`{uMAH#Q21)w= zw1hZ6`gf=K|1%f+2k$sFtatp!ddVm5j-O>Gh87H4{_s!I#AG?yIZKa%2DO{PBmtLq z+9tmJK`!o5=2|26SdQhSJ(@&Xj$}M)i3hXAY_b=A zwy($ON2i~XxVRx@e0yP8x2OC*(Wx6HsU+j6tJyL&{AojsJQ~^wA9<6Jc}+l5Y*Mji zGE)}kQRyR{>39MHNkm?O`Y8b@3ffHUQtMm>vEs&08Qe^)7Ei*~zDYzju|LcleW~An zYE!+AmhHIJY1G$!p%&@WGwGlX5hu#ar>PZ3@Ij>V^8_*l#h}RQeRKtQWRg&^~M^CmbqfYj_8? z^LkDM?dz)^P;+>i1MS;xL#}c7q zwDa*&M#3P7w@8Eza{3upaIN9~i9o?Y&9XwZa(ncnezcHAdXTnh4j#w_z)%-goBj|d z{gy`PL4JCc%!Nlc#fgzf+p-Ww`Yxk3LXck-vXO~Btjb)(mm_bdVz0uP+IkYg?c@Ji zzX_!4(ur~(HLDywtAtPjVvysp2;~CLxg=@I$eGJVx|qEUXtg(k^Q3C#S2MHy7%!g6 z@}J`>wULUMtydUhhEoHA4Q$t95^pzZtF7vqic3(itIBbZ~J(@ zD2jh|m)+oH8_{NYI&N_EG{b;-h%Wz@@f)rND`=?ZdJG)PT2Eb&)E2|940hvnr#pefK*^4e@eL}& zHlq)pU5`+WQR372(ui5~5xYuuD*cyn?KM~0sTArd>7x&DI^v}}seDU4*5p-ZxR!B6 z&6rB&S}Py^5HP>+6XXheddvFbDm;eQEi=X{-`199+i!cPZ@ZQpYj+X>MY!qNn{q!_ zz`JMENskhXR_1sJMTh~*i^9*l>h(NR-AkA|;yMj_68&YpTJ?1FO(1uQg@EQFH=zj0 z42O$wom`segBr?8=_A;IOktgqE^Z0UOW@e~i* zek?;B&ay#m;>a(z^6U8Q>q4DDrD#3>4$?0)3wDQrN-Ot2Xzw4k2C;?v{YD07 zj>r0B-QfdzW%9d_XN3{)$mi`W?6+y3ZbiUCO2wHGoSD(QFOG&|2@QHFq4Fjpr6qyr zBP3Dw`EFJMw6S6^Kanlepdh1`C;3(*9@Y$6``j*e^R#?Mw6ZFGoA#crJdISY${q@m z$dzfuB4R=sq);(d12@&_*S9#=T=-)CM$2p5=}1X0BS zdYSb$2HUAwn)W0*1auT9CX!Aku23co>1J5aQunB?+~>}e8RrbE!Wh|AE%<(A z)*hy3^2m94&hP|$19hsLw(P{MW%puXvNTLxr0f=y&R-bL_2ga^MYPzlA;EsyItgYElgAj6M z7|ES`DqUJyMH!p_aPFGZyY<~4_`y|ko*QWXqvx?fRGaO%+m$<8xDA`8xDeQ1>x{jR zaaFoo@oXOoB!XRa|4n~l&{jIHBjXaO__PF#Ywuttw?oc$-j~`9mVR%Au-nEKuoz|A z&9>c-!SH25!)Z*y%X)ZE?r<(5<4P)E8Oh}=&g)kGyL_0K0?Ka9?3N)P?}s2iD2Y9pqglrpaXd08<=-X8>2^DmJL&c>kK2@k@)mG?|59(hxHFZa2oUhNF@B&nyTyGhn6`96ri`F7qgm{V8Wgu&e+`y8It<-L>XKrLpu4Ry1!+Vgv6IJcE0se=$BRzv8|y(E|3&?= z)=$I~9*6|I8U?2HV|VRfK2t+ejxTm5NVhTCHy11VA>l?LGy?v+9TQ^DV;<2Vu-50u z>sQ-M?UcQWeoPVFec8$|_!P=r4MpKlbn^bLY9d@^pfC4YVUvLQtMr{uE`K)qVK zPSW>0UE#=XPh35inT=J8A-OUX`9d#&mia5SIvNr2ER9QRGXV4m>e(Cb;#!!^WrR`$ zaFMm%cP5Dg-9|TmrYVoDX~V$nU@Sz<;KtR7P*mJ zN1NKGYy-eb=cOa;Q0@BsXI4(q*aa@DgC`9G(%eWioOW z=auplfy-&TfEo5=>9;MYG@0{aZY_0+m2w@0$tZ+acW(U&R}$*1V?{VspnjN z(lls=rye5q-e440U3jXF%iH01r%Cb?#yU+b)BUJf36|)++5O_*F4;80sBW%UeFNZ< zWl5s1dRQ}Sr+VZCPxXF&G=0yhpE|GLncogZk7Y$sBM%7xKxwC7?9De%q+efh+~e?N zW9#`MeT=@>(cK@lceQPWx7VrD(B#GGEnMt%3P?-pb?*PYv$fXuf+XxRgv`+AGJ+{5 z>^dfuK^*dbN*7=tQu+TA>Fj?|z5X|(Gi#u@X60NSzx(<2RO|nZ>J_@G{QpGI*&Cyn z{!h}GQpbNH=zd<-{wLMzaJt}sBIy1%RImRaogGd<{zCxyKdD~dXS-Yf7uBonY^hqa z&SdV5bhh?}pet1A?YP?Na=-XK_a=bceM8VueC+GGIh;&m`840x{rhC0OsVK&{~PJ- zzo!fD{@>}s1nGZc!u|hPgaiPP006{kcmN6v@c#v+_BQlbcB0zrKniB~$ERn1NR6nNQP-@?2eZL60 z-XcwF@+H32B%#o;x~e2d=KHU&uJZ(!DK&04thIi4sIDiw${!fsf&2Jn5Asq-{%hzc zObQ!Es|B^%H7z!9<#N5R1%6X@sqjvp=aN+LdYpPrgne|^ie-@DMq z80Mb~wpJE~#-M^!N7tJFs5RE)7`BPrqHuigE~6K*zqP>NK%+i1lRsAmf>VbR*Raya zWY5S0h~tQgv#7C|ZS|u{Gfqnqc+VNN?=B^*#BTS>7yyr!%$R(T{DUO1C(=7~QafQ9 zEMDVki356LT23`;<3|`L29@yW9s<=m3N5&%35a?@_YZ4P2FxM;O@??Dg;tf*lMp)` zJ3?6s(sVGn7=f+f+7%}>#=k)(a)*Ma$~bz>l_kEqfAFzd@Zg}5>0_pYs&g`DXSLkJ zs*v`8`AyxgK>%`nieTrpl&T>5(4Q>9KZG8pSOUPeI|d>h4g%@z5O%nSXgP-?y1{5= z(zxdWof@CO!d|?vr?5mlwh!V;JT^C!igj`Xy<8T(dihye;2--L?fXh-d;#-5JQgNJ zQnmvpyMOjDrs(;r!fej9+k}d6C~AJrAaUpwkGi>q_Wimo+TGVp$JRNuEtfishfS=x z9j{H$MxeKZ9}KpnE^@G}StIFqsQH!q&!ZHd#E^JC7XbG~%@w^CRZ9+?n>&RS@Rh$# zwjghG0mzRK*%-<1u$yyqaPSBjIi{IVi*|gp-IgZkMjb7usqx8879MN+Rv`SaJ~F|u zyo}2XcwHY?wf$Mqq9}NOL^IDckFenRJ@7$9@D36yBl@|4mjw&FnQBgb2` z^+)^z5kSN*s-O!~BxIanOdRP5l9Y)GtVP~;Jyxy=c1B=wg6^pyGvVNvA#}t8e60ma z6iz#1beJDv$U5BtS6``bOaM9PKl0HOeJJBs&FsnkBQ&CB zdN4lR`Ko|3)6n;M~Zkj;H`3A(V4y_2PuEuXkSw>J~52914lQKA) z?&i=;rmU}cbykq7ha-d){lwN|ZoP#U@UqqgFe0#Syw}?(i|Cem5F3bCW8UQTIMMGG1f%$>O-wKqkShB zX=E3tI{V`*4P;Xc7DmF@2G6*(F8!`1R5mQ1)ScOb$)ttgwKscSzpZ6)Hfeyr^Vo=W4M^N2$@^~|i1G0xoN}^qs_u6le;Xtm9Ym{1dwU6z z>iw~34&P~J;v|9-oxG;VrWIT|af>P#qxB{kOkcgv{}CYP+R5Y00lUvrh$UILyAeRQ zM!e(xSd69~ZH66DJY0Gx5pLXtM0Rp&E3zjpAF21ei96*XoKWmQ4llTTk0M2Fv;+1R z9|ryV5iV9OdM?SBN1##R#XxilZ7vKa(4Le4i-(|k&W0@9Q^K>h0pRiSp@_n2vW*~n zNEwZY?4$70X9So|`r1>3@96#B-)^5@JV7@BG{OfI6em-f|0slXkTJ}m=p9cq7-CVK zr;;NbCfAfGBc@y2VWvRE(LKy^RrA#BS4eABSUzC?Tt!6 ziseV9qc=*O%Rb=(H6{8^$4ne$5;a`cw-~JZZg?M)xkB_|0W&KEG|7&D&21kOfy)mj5WxIG_k~0Dbrpu+Af9H$mWL3wfWnK@B272?Vtg z0=CiugWRlPd*og3FncP%z3T5{r6Smm0+C8$;$i$geHlKy{1MB@LC)Gnj4nopO}r)S zzzsDFrv;>63&2(#GT9BwThfFq5C}FBD9@2Zu2Vm$889qNe_3T#tht!R{Iu?*hgfgBKOI-B&{t zrbKipMtlrGr71>)^RUswNmfc>xMfE-+k>Yx1s1x1pBB)h*b&%WK(~AL+wvfT1#mkh zyham>2D{}g6xmck$3Pr(swN)`zlW*bFasQ%0+yv$;*1kW0Z?cj!s5!MJs`VAH*SnG?*on816&)4!G!zODPT( z1i2Mbd3&e=5G1L4UC$;^JFHaSc){0wB%%nB?;ktHG9H4&f-kQdXf(Azzy;)p8|}2@ z@A2r5HNhiri=rE0@Y;l`k;dP(z`Y73+ipf(hJr64=^CJnIL7=v9o_z#C=MjYq&-ZC&6oY zDfv0R>8Kd1OzF{&vMeCM$+hDHRP1$0Hd8u=$qy{6n8(3bMzn11)}D+wCWcAn17^sJ^w}S#}HuT+1tV zjOr%Ph*}lw8eIT}1>7su}VuP-IgRMm}eW%kXvyY`geF7mL zWFj2q6E3W0xDWX7OC7Bb3;b+A-0p%pVSyUW(SY{E3W-$RtD*9v0b9s}Qu+CET2#L& zKr(R*9W|L;I0#~CFynB!D^Qt#xirU3H}cEpKM`gOK37oJ#TeW)R*Ye&xWKbQP!6#g zXjrgTV2X{0_N09At+Q~kDL#Cc2H~dXbxcZpLubh&%wObY8WvrI`^w1FW+)4BT0#u; zW3LS(m?^vvz*)GQ@E48O_KmJOZ6@|5{XA~HPpy`9ElOu8){pI7L}kKx)bq`)?r5Yu zO0k;ymG-?I>AF7BB=zrCCBCG02;*Vi0T?#+DJxuL5|z;59Qe*5Nb`$`;;pL44jm3O zXv(Ju{fkXQ`dx~3^+7W&J_>CXJ#U*IZ54+3FFy6fBpp6>okxnj53Zf?hduSZjbqGh z{emU5d5t%y9l?fJd^qU8Aec+VsQ#uTLY#D=DfM25g2Bb9dP*n)3(~nSm}-x}SwQC~ zjHSy!u&05gp3$&{+jd~ca6qyvys6iGyA!J;zT&qK-k^PlZcpJbD@Y!3#YM?}+Lh zpq%w_`8^=z;PL2y`=HdxR{!C)HvJQE*Ye3=gn!9jA0?LA3V7vw|GFM_W^n8tvNT_6 z6qhTm&G30|uajY)>gy1k^2j;rpan@MJ?p6dQu5Y}s(aZmO+er+$q4t&@O$O)Key>x z!cc>N%0Q(a`|a_4w6fZnQ6-X5vF$NnLZC+lI9&}n$VGaI?@O~*rC`i}p%L^4EWU-+ zt3!8t)X8Y#V}7ToV}xnKlr8pzL;VCV>-Y&;TQ=*so&T_F{z$;3 zc?%r4dJlC6Fc82p?2cc#fjm6CF)5fopvO8<&ua0hufqa;n(AhXt7LYP6@MglCXIDg zC3eQ$Xs$M(WyGkY=5p+yqk%epWUOWe;xpWDG}a(JJan0N?x^dYhAVb6f1QBp_idJJ zfBq)m>tp^`Mvkv{0dypmE%nNC8?0kTjuSq<$?!WO%xw!)LS0d>gB9DopN)Fbgcr6h zJOAc?BW}PC04^XlOyCz-;2VDfvrW?mMwIPGonM17{?1~PEyf8iRyoch!N?XrVDym` zEC~j_V=Ql@UK^8Fsx*Gq!53U|wDJ)zn1pIWL(np+9ootr0@sfvRM>{K=Xxkdm1S)s zN=m>#0N_1JFbi3r1YzvB{+t%Zgw58nQsDAv--JuzwDZoYe1Fe&*-D?%np=VDssCbW zotyvPHCWYhh{}q&fo^V{k0x7XTU)r$-*rf!ohZx3`yK2uDsXxT9H}_ST*WWI9WUK+ zJ|>W{O6VKS>jt5EL=@RZ{m!NV{1P6+)YBM&;{|Hz+UEa@|MsJ3$`{_jxo=b<$Dkqmgnb?2Lq^O3UX zkxI~!+P@=>pGR8cKeWL|p7ooV7=Qx+8sWkoH55)13P*v(#s)srDLmFR3AET!#ppeD z3HssIc4zM6!qqjj)NA5Jrg>)p$zH4o?ByutM2H zdNrrY=S};0l3jR~8?>^jvq>&-`pM}uM)dp30!Q2zsya1(f`9SoAVmlz2}Z#NYyN4~5$sfg8EL7$v`26unyh{`FQ3 z91Df-2cWTD!|lDm4FIlIM1LNc{5<~Wz4j4>bq@`;hsFvJrNBZz2>N;VhEfaq^~ddM zggxqV{^!?MOp5DEmWW@#PuFjzkteguCibYI;`ARb@bJmkIAS+=pKdZZh<7N_(04^z z#1RHWukk5vsl{$-lko_@+z0^BylK%Spz{{6Ylzo#o)Yl-+d~CJrz?tmx?`?e|oMA zey%Qht{r@?-+gX`JvULjw1~a5eR}B#e(5TD=^1?K+kF{;y+A2mhs9n;KfR8N-F#Mj zqo$NoWnrlIUI^cjp2*IPc_L z=)V@yL=ViysG9TzaXXB+^1ZkD7K)=TSmB3NK3Q+vAB0GvbE(&2HCHH;r*mb{;j}Xl zNuulgHDDx)kx?xqx~W*^@1HcCH>J^+;FNbzS)XDN%#7uX3^_)19@oa_+CLBT303Zm z=~HNVHwbhAMsnkM>U+rt-J&B@>+h69TfF|k3@{yKiFcLkQ023ct_jirT=i6-g$iYi zt{D+7KSD`)s0SQk{=#=Bc8Ut6D?b=GUU}#afZ5nNW5T}ME78A@m(F9+XEJaG3PS#P z-yPz3@;rqh42A_s>x3z7-poNvCWV+Sr+)`li6$qeT{gC@|AFG(1O5J~Q)rH~Xj zSpi~6W#*$<_gKYPrPT&sfr!r}XoFkMqa1Q%-bc-H6v04Fd8(SyiO7rB9P22mYrJ!deXNxl2e84$E3-GlX)$kY2{^M|Da>*Xe-O!u{o9-g0(4 z(}`q2_C7u%;~^1mVJK+}13P~bjYO=7G!_)aa{*-cG2!$K3UVK%fh+PW9IM`TH*a~= zH^t*GPTtS192wyDCTpi?D6%Id58G#IEit=06PZC?EAfZu^L9xyeL*X#t z$?2rPTQR$V*nbqwg*36#eib$oq-G!&iaxC_Gn9X{zq;vFZ>{*%eNv4w)&9WO>$~H^ z2m_75?{EBMqVPWBRvfP9xoXxUvc%UA(sTbSA2;%)LN$0(#4&rd=MGyAed$pbyZ*L` zEn$WJlMG#8x;*t%|5!)i=MP>eJ8>T}?d8`#MT>ZC*i`jD8S?G07LHa; zQ1xViJhsmDV5yd`!boSR-=I)|Cw2LM#v3>`&elhuQwdxl9Q zB!jTTDFIy5`=%-G%Ih>p;B+|#A_DqH04c3n;vzaNp|Q9m(XCpv`zsY@k4qSCswray z)&Zv0qZCg-s5rA$DUA5`RFZsJ9FdvPg7o|`99Lc*Eg+-}{iA#_`?wjB%IiLoV9Y2# zrv&0V*x~$>?5*8i+*ftr>Kkxt`M3*8W1L#vh%_2Zr;sO6` z!>~p7fS$|4z<1T+WURD_M19G?9_R%7CLfWbOeE|+MV=t zI^^rY4JETyIKg`?Yuxm2?PuG?#QtjH0Cu%lS3DZyAK9AJYOYN39+ZH0layndLrJW7 zA(?G46Ryix2sTN-NZ<9_BE5vh*}X3YpT;0BMKtqP=SUHGg8--op-G2OI3)OMfXzWD zQeWE;-^OV!t~^#q@v~gU$_84_Hbcmr0;*GrT2uh_5j?@{Ap)UkCEyL9X2-8u5>JS{ z2~Qa!tR^T%#OH{ zUx&ab=&=9{`DJ9#Yw?eD3#In*2vr}ek@$q00M^?UNO0HEcAV5@ZnW@O42(=d^pv5F zuX1nU=XS})Y6&H=m3AMYeL4^EyEBic=XWUKSV|dXqij}`9|&^BEh39 z9-)Fkh5qLh9z7i!Oi)clga`=}DCB@sZW;m7PDY6=0Cq2eOvyou(mc*30P9n8xLtl^ zLA*|YVJ0+u>*}X>9w1z=C#0hy1^=B|M(v9aamdTV7;E=|DzTDixu{Wiwp6I3(xqgxdp80tFxLZD zKppVCnk-KYdxXD7C~z9`0sWY&FsF0~F=SH;G);vFYNIA!gosmbVke*mBr)1j4p;2$ zA^Q{75X&%!3l1;986<>b(oM=y(^4k*R8s+ZvA%LMVgpo0rSK6SqkL}tQQ_*%NIRO5 zX)j5VRTfrf=+WJU{{eP=TrA*bPHAK|O%dJMrQow{JrOB6I`)cL5I5Ex$;!FH{nSbY zgBimCifW0Dc$8>kXySCK`xo#Y3;1U^h}d|P=w`~M@YSc1fcLJLQfT3eVJeeAJU|jA zD_}+nMV#d$b_ibEur_j+1POc-z--hJ&LJcM9*M0GKufiI_fJoh=y(AZ;3p23J{bns z!%AYnk|P-BmSm$h{prE&{&w)nP#oT%!Zq#Tu%ke!jby^y2{TX&PeagV&1ONbL+J4Q z5+XgZVad_k+W0Y}Z|Iyhdj1lS1PU}XUrjHpz03i562VNtG^x>w62}5d90|f4f>1wH zjXx>NhGz;VP3U>X+9N?1Q%vbz+<>Ek0-(OcP69=gkkU7i({UPt&XJ1IvqSvp%BjLE zmBO2?*QJp&gFNa!i(DA~>iIld;@Rk5aE7WX4XAcWmLOfiRnZG!xa2^1)aWTvR+6B~ z)!rAi6(czg!iZNCbBTP-6kL^3`b;AaL#|x4GPIXL4;2!4d z{lo8ww{I_D-qNNv5uYg(c&@wqyfz_v&lMI+hzIp+Ym#GQbPkir9sw4kEZ5H5gbFt? zksa`VsGZFhAQl*pjeI80V#W;GIz5JcK)B<9I4 zu4+i+OA)jS9QjZ@vcqP3`3ON2@ql6~b%;a_BLYEaB*>nVju@E#DCV*U_$L(wJ5S7E zev7w}b%~Ie_TYF!f#B?DKwTK?Y1!UhIJg>U1wnz`6eGG%wjqEJSRio*rvTSe0neD| z5z|QNG9X&^n>-=fA~eDb7uqq*ttl1hGZ{vo9nIQ@rwfV_ku&?6#!xcp5TQ1REtsyLA;TN zb1}_jEaexmvlxpba3THzBo{8`) z7vmf5l7c2jZuw>0tTSmG8=-9#R4kLOtW!qINQUeTUx@jFJ(Py;+OUY@ac5%fErFa` zhE`eVnc>GkAqhF05JZ4PF!wB>xMzKhL-;5Taq&PpIdYf;STY0_!hOmaPWDrw$|&GLHA>cU4xCN^WTY!{`t!qw zh{@X##uV5-%x-}zRkG(Wk`m!cs?vrtbVEOYsrZ z^jM~_2nZ4BR~t1C6MH5%NrsF$D`U>*PASPV`3;VZ=Kyc9?@(f-jY5*~yif9nYu?FE2+! z9fA9SNvi^JGwvX#{e0MxCA8-rmI^NHu?$)Qp=^u^z^xfLTakeJZH5c;Pduf_KR7{4 z9zEK`>i&6{8DBf*17NQ4b~onD<3SBkVNY0)*I&?ocqq!oom zhs)&aV2JaUfME-uqLZcf*%!Nay3MuW*tJvu%4nR@zyu4l9%})u!v%}$$0NTdDY2yW@p_g zm3y~j<4zJ_)s_NsK3ezc7$`qTcg*wl@7bP8KUpO^c5FYD>%OhQR6(#0Jj8WGc@hd* zQnO_QJjoD{aa^QmwL>Rm#4p|)OJ;n^D8~*srjtD`!rgXa&Dh!ah8Ze%x81oBO-j15UPpW zeBEe?$;y&RNUvtA2~@;bYfX766a~8cxU~;G^jHWX!R~lAjt{y6W!#=<_)gOO?XKOx zaC%qWDUaG4Tm*I$Wf*|bir?S)qiz0Am+#}F*Z1z5|9p-5Qguj z1NH<;aQc(Xw+8YAQXo5=2OI0Q-{@I!EDZmG%P^MHRZxxCXc=+#-89U2O4CV{egftJ zf4N{@2baK~3o}D2O5onXCsovs9;?@C*BnlO22_YwL^P@>;DPVzDSIt%FNz!h)7p~9r#&NwDUN)!=ts}5e&1FyYL z@jU{I4pe)^kr-CY=V?jo{6Mz(6lY3B=+k)F0~=X-;G0N5*O0LUCQG?)6uE1w7^LiJHZ2z87CwmZe12FF71 zcu;Ub!bx_3HxPD<1LQ`%k0Qd5jQ0AD!1;x^&0(@;1R1~+g9-k;opB==sDl-6=_c5G z2ZUs#xXI7D+a>(k{s^Gr7I%mz`Jf2)J~bXT_VpCz9$YtjeBXsRKRkkq8Yh-`uR4pU zy<}TGb&stxPL-X=g@W@akrRlmkvDqCVSRSnW^_)V*au;4`{) z@a#G2^QuYJ7t@ZAfOg7RSJ20)8=j8#k)q(bvukjnUb~-J=;0fp0NjnJ8jU-DVMli$F1D3OTMEs^vs ziKJV0Q47jtI|P6P7QBn05>gg#F{;oWA`S~OkW36s?|7GF5qpgocL^TE2xiL%fff=7 zAYybNRX_X%oJv%t<(&D<8cLvg2|^)C(y9bf@n>j&B_K(KKhmhsL_rnDt#zqD&5!jU zT0D}G2*#qyo@I0ECg#5xGZr#Bf)6Qq)gNvR+`cDMPuf2Ilh4nP_?`d{qLJ55$0e16 zolqdq4$0IMk>`s8L`lh9goWjU!z-7M9*NLK2VUZwYzno6A*iXMSg}Z-SmsV@ zlaZhSADm}{4BiJtyAmMn@T-sDet{z1qvH`harKP}SDs55)RS zp^m)6pL}uy;Z&skZqRA=q+RgCuFTIP7r$8)-Bl>92@PptJJ3w; zaZUBF=cdkkrR1!giXxZ57kx-Gp+#=juguPS-xO27?Gek}`NnAvv}2*W0wVD1NDCFS zc!zPUPUw8C3wMhOlc(g7tV?1YNhSQ!r#+=L=g)fWylN>5W)Vo>^|21}e(hs~SanR> z6GP4CWcW+pJa0Z5&!%~pT}^Sn6qb_2?Vc6nXa}7L-@A``&K}m$C>=#h`UsW;IhpM zms^*s@1bk!@BKj6HH~V@)weCwSB@KPk+28dENqN>toG% z`a=kZi5l~uUE0wr(*v&>1Aw;-$Jyc zzU_QlR)Wl7uT+}ip+&aU6Bjnh44X8k*$zScg~`k*0a$)e-PncaZ}kCf51YVA6S@1U zcDuzM3>Sfy5*+aQvB#>jr!U@Dn{$d{4br}1cy-5P|D7Q=XTOK#@`#&%ZuPljj^w>L zo1BC@F?HXkPR-wPa_X@2dV5@bDPB;7_jOg+>M8Aysx`0QWSrF1c$afF=C0k<^S`l$ zx1xT3U%MTvtGQ8eD@Jp(y7qzQ`}(fmnp;heb+taUy@=7;zWe@x*2nule{1dZ9yzAH z`$+Jb_NNiKhuWW?XdP;Qd3y4g&exf<*L3!tUwo+Z?N!vF&i+6ea*S;N2tv@_=`0MB4F#v+<0U>Eb25nI=C$$HrOd}zpMWGU? zUM6cAnWtNnL514O8cd57IS^$$j_Tvcq{T^Vi-C5l`na2E@e0vmEbgd&{%5oVT(=nF zGPPg$6OE#KAjTex8W2M^C7#e0M`lq6q?DVIETYA^%21DFt(&gfcZ>71P#?($H{EbP z5a;Vh4Ju_eC3|U02ux82)tZ}90-_~^-lB#yo;9V0bxVkRrVisd$*LrypPKV>g%UKQkM*FSogcltDjo#{63H&K+uyUWNR^l4oaVM^OQ^LlZbD&C<6)f(}qPPH5XQ^h~vNTaEpFU%gwA-Bst?YMpk5f)iH z|46yLDfKGGLqhKPh;@5&?tP4xO6~I}!R;+Yzc4<>4aq z_j8wf@%&kPd$#$YYWefIH^0cpvBK? z16OU>O}SdPBBgS7#3DvI{g$l9YmU=GtmBI8LVokU`THZzzm@a*&EB9?E|1=?RZhHE zx5{|q?vsERmBKfstDXfn!|imNV>6Q9;y>S=i21Ezy;e7-`4RC%j3+49F!{9(>0liVZTv|PkLQlSqK=lpVWKYr-A!l#Va zGjE$98Y4ChpK_vRR%pjH9=j`izR5fDt}#~Q$>oO6w_B!H8~QaSVimrWxJ<9rLo}ae zHGHXnPp{V<*PJR-_*&gEwNV?ZIn&bcRWVQErc>VfT>pj88MmwNy^d)SyPh67O}owi zj`0Ncp4gEfkGJ__>+$$L=dlZ}vBgX2Fx(e~)PPQ%o4tI4ue+?i`KIcGdKzi1NZgrw z_;dO7So$NC!=<8c-M2c0!WAnQuf7RO)M^nr#8qzGPmS~_5E0s%?^ZcXO_{pyxEiZSG`6tq07!Rxc^N83F z&t%m1u9BQx;vPN@{|3W|KELrX%Y|q8)ZmY-lD#c9iLI%0L&eB9*S)bvfA)7ilsjUGqV->kvmDC`ZkmKsbeT)UJ%ES7vDwf`*6t9NH ze&#-l^*HQTEe6ApSuZc-DI`KvRAcdG5KJQE<;bgF_m@-{oo{N0Uea5F=9ch3n87Xy zGx@r`{2+qC_HS_C`J5s8xw=@6ONf_;6QBMX8|{X5J&NfBzq|{^c(`C&ix9c}3|_HJ zUalJ5PKpLcUo{Eu*}2TkxZy-adCt4MkUIV@zW>L@QM})q?Gl%xy5i)d5^}~H{`OM2 z1iM{Q|FRAQ?z^=86)aThuv>rh6@L~JxnFp2PFQ4073!w!;i~8>cBZ}rFIoEXtCNI6 z3BFv6XVpp3QB3*Q?H56B1ZRaKb&wKBPMq;kS)Rf$4p(J{o9Hk;xd)|M58m1~#bVaM zkxqw;s{8tav*&TPOKV^Iuow|(-`C7uZc3rYv0R)ln~E{NT`*q#he0AdUd!7`;;de7 zc#Bw=ubX0aKPrr0ce@N@22l`#q5G+l9d{p*c(>d_Z=i(h)l;@i$l0eRN;i)*ZlKSuO_ z@lXA_>tehtiD94m3X2tzKK?^^k)hoMNq$pY@1ERNWy0(I&00T((q=k zg!k+-5hD>BGqjEK>bp(<{IdxDbK_F(IO*2!iyOclcMECHPy8MQsUG%~UICSPPF@=x zhtl2&l|I|~-kAuWRB7MJ)%cv%^}wcj#C1}YJOBGI2j zh@i;QRI&mp7DtWMMa7+<##x}^?Wyt3s01%+LI8>qMy14{5)-J2si-6{O5!%^dL{LG z1L{UQ^~M8K@*p*N9F;OlO<6>xu2NICQE7YBwBM+7hU#>LYz9wthKOvY^kH?Tf@~J9 zI!jkJ`$ToNg=~&}b&j)au2*$#fNWk^bzY2YenNGAs_f0&>YGKf1(nqW4YIe|t8YD! zEgY;a9GAU4TYY;`wrI7wXj}HqUiF>dvc(KF#Rzl>Pfdvkx>UNRQ~_Ovt0~h(m!GI9 zw?J3e*Hk#8E4^we1JG4rHB~WaYC;V)6KD-st2GVV=*GR8#@}cfLoE#<*ThrXBqG-=UE8c6*Mh5U(UogGQQK-E*JfYa<}BCl zRofmQ*AZ6R5hK@`P}`X*cQ?28Zjs!*%G!Gka$W7UT@U2C2Wz{>59RL9*4|%~d$3yj zU|a6tUhTu*ay<-nJqS!MPhGDFrcb)APXW`9tLxXr44kMNu)sXBuY2T-8T6_f48RP9 z)eXg9h7;Zf$&r%%*RTgcDY*Uvc1&wAC*2FTBa)z8Jq&nMK+ zr^-Lit$$u5zff7f&>;VU{$TTg{L8`mm*euUX6s)q$}g_gFK)}f-m8E8TYib5VF{t| zhNt0;h{CdT!?J?HTU^6iU4@ks4J#H3@9Z1iIV-GsHLM0Gtc4vmti>p-)31P~Ds1F7 zY!oSMRyJ%lD7h3QYp`K!T;aoP!-qwM?bU|uZH13}4Ih6i>@YO$AQX3b8h1q$ zKS?*ziRqtljh}TDznp0NVxjoezVWNG;+|LIUV!4au*PpOiu(zT`>BfGa~r=GDgLNz z{L!HJv%T@>1I2^E#)EOiU$c$B78QT5HvZmLJltzM{H+MUX#g7*#7hGm#e!vMU_~rM zod!9Eg&NVIr?4;w8q5XD;7wz=goTIG;McH>6dGe1mMM?MbO*~^MPqKn9_gSRd5C2h zqOnY1S?6f1ud#?V8sa0C?Hi5l5X%m4VrNt0;BDeKdZ>hyX+kP0ajG|Q9#i5nYT`Pj z#O=_;?V`lv-NbWAi8s87_nHzPrHL<1i9fH2|BjMCRg*xYl3+)Z;6o*$p(ddTCE>Xy z;nzwcYfT~_m5zREqW?`%c(W**vKVi(*imJ1nPzcCWeN3WiDSx=M$PmWg;Ea9QZCBU z-p$gNlx4!3Wv(fsD9xxeW!b!D**nVUs%CVfvRp^A+(Tu|P%~yiS$?ir{7O zWyNpJiih+As}?MqiV|;&(oq#-YvLGD(c}a z>ep28loouNibh_G#vK*Ssus;g6|IgIt%oYwLx(Ne6Dm4$Ejq7Nbk|yRKdK!2)YO7 z<1|&1yjGJts-{(~rj4p6J6caZR5crFHJea1pKCRLt!lB>YVlF^)VJ1ChpLwFHcK`& zE8aG%qiWVNZPtovHtKCQ$JA_%+H6nJpNhBHxv1HDx7lA(a|my9xTfYvX>&|dJDt~d z`i|O}sUskZ7zpuuJCqOHk=!8yW3IR zd71X}ia2-mcK2gA52JREQ#enDc25_amv_6@r9+%|c)RyCoDZelCk=NYul>RuobM4O z`8wRij`oWWaehPXeiJzVxpx28xPZ0xfRDIK-`eTF6$tMLWK$2~4G)lmJcthR!>C_Y z@3?$SJ;bOZJgNVh&1&p?%`q)WNfz#_XH@aqa*5} zdh}37^o07=xsI!^)nnE=Vm_*0`_^&oP@M?xB(mX2yq%=i9m2E@VFP{K0W0rOe4J5d z+$ns#Lub4TKEb;);c+ZUSXL>V+P8O+D#GMBE+x^+x=Sj?Nns9oYPnd=K#n zvH3AC@F{S7>KZ=nTW8wQP6hlvPggj3?T~am4WD%MZj?8`HbxT8?&YH5v$XDB%i3oZ z>H(z#IkzGh$_XM%9l{~s^CrG!=i!MjdbzSmHxJbdYVVS7d`}y?TR5Q+GewR(sg&`p z2UJIjZtMkp=_%+6XMPDJo$X=u`(7+}H|7NhA=GoJ`bzO!cz)EC@}Y0#g5RTMA}c>k8QmX)#LAOev_I}6F-FbegscNW=?5d z=DgcD#E_x#y+P}4V=X>u?ne?ugKaA^=|yDYlxCCM&%}wyX2GadmGE{se7)cgamKDD zo1a1lk<^P_9dkcg-$q8y{m7T;YP@{-v+>rw?g_1HFRs*db==V+W&QjP$_7QL-^-BD zV{p|dX$jBc{Q(vtLV+K>FZ7sM4nQ6NcV|b>Q6kLvfOeG7R|O<}>*?_(AhYoZf;IvZ z#o$PU8blAvbi%T=lMXeK?sUT(yAcMF{Tmg861_!b+PPibLq^@m z^iBjzH!LukeDoJ+i6Al--FNcWNLBQN(T`_F2LoCf(|HF%w%T)3TF>)zu9p2se%Jx) zA!em@!|rB*92spX34QA zhIAmikt8gs%Uw={TI!W#9ri36eZQ3ja7*ej7z33@32$HY-VyvhqNRs))J3AMEWsaa zoV=PJ^?TFhfpFcuhaV57s|YJ9KR|dA((%E{+leGBx_v?w@YZTqe zt`5%hn0H#5n^Q5_GQXD(A5`7a*?-)1zv_NeR?o{dJqCO)YdWFiHL)!V&qUK{c^JJh z0b;V$%#!)JE2yy{118KjN%SW5Xk6a%FwQV4z70|5VUl#yTkcDMb1ICrtP-+|m ziLq`BA}k-wR3icr!)jrK>swaV?xxp;bo#n8;F6}PDj$~od}Px4v<<_V&rNZ<4VK|K znhQVg_&jA%wbJa)Fg`4fOAjkg;MU6ZJKf^_w9>9C*Z*wCr8gqeGYEoHSNQJgOjq6| zmxtFta31aaK(~Ghhm3u9evtc6nwU|p_RV0=$9YQLv)y-_=SASN*&3D!?&}cS9_ta; z-aZf#Ebo}i)Goyq*OIrrk|;UROOfN;)<$WXeAK`b`diHf%S_%r486YcfeRCyVC_8- zW~}^XBvw5$t8c{lp2bRqv|I6jwp>;_OohiP4=_tu~-doaByDi5L`Vg5i6LEca=!B z#+I=loljmU$=y4=)lc0n*py9zT>ptO+8ozbRyB6=1!aIL7%TNqG_@!S>~Rp;D}VLHCCTcn)nwooVO~zcS&qeWl@Q=JSX? zJtq0-$>TExHwFy({imNAiKW;+Gm)*Iel{>*%E)je;#L{_h--f1DW*{ZV*-oo*@mhF zjO9$}60WqSmT>EH03tQBS$2l%C?1U4O2gpZ&7 zc>nwMi;oXM@CXdfVPU@_HglM$6K`hmrdSP!7nL4VQAUAwD+GHVDovg{rTysV|`4JORs-@dz0q!`};eY z8z|?wh>q%-NG%?TQp?PopKV7lVA%lyNn+dH0Rmhy2go}zUc~L3r}~w9~l4hhIMhO;Vn@6$*VeFN?z@p zI3|Y3NHkPk=E%VFA7^5gUp}tSPbH974lL=~VJE z?+`v$)jA`^KZN~3CZCbUct&bytNUU!wSJbKkbQ&S=7{JQH~X=AHpm{|`#oI#VfSfT zQi%471S|J|mPKY}PV0)4Qni6`fO2x-mlYX36GgmNW_E?@J6S7}AA02q^i#{l0Sii@NP3tE!SoXL!54i&Zf6jSI)FPoAmT}C86|~`JE1#G?H@b|NaWa^Jtte%xGF%c#N44Rdi z2|Z2+oHr8%Y;Njj0qF~4rkU@a+-7_%W)`F(CLiQ;h5UHc_8cxy>qVISu!5Ld+bssG>;dHwzDFu_R{uhb|R#2Xd%z@RC1pkTRX`jycv~EEj9WZ${ zN~gj!>PM~PBe{C)Xg*UlPLFd-Q$=vYxv#2Q>tA(6e8zFtLWnO(r@u0bn04+L2^$0R z05%@;sv_YJisy8(BRMz=+CWF~c(-fv4B366ZLiT$JaBmjY&=2uYECsB#j|&E_<0XW zu4<;8j^Z)gL;PQ$c>b?J|2|73MrrE*8|Z)i4MjBJe*yjfp~9%n`n*lSuTtNpYVWQ8 z|2Dh#Yu{MC6*wrnRv0pSVeNLrYV}%C^xnqW9U=pIy*Q4?cfBN0x@NtUPK8-7OFx0$ zD9^U{-Kfa-s@bS44BOnODo#LeQp;_YHJdec?VFpmw82C4`?}Uy-}m*Mt2OT% zy7xBUH}){dZP5mJE^ajqOV@5SkKx{LwM?Fn`_MXVfAK@xyjSgq_LpJrKXfc5$ZdD7 zYli`t%q(g!w$CI_LNK z34X2a^SJi6t+aas^44i>-ezuB5+9l+slwS|8K7%*6P14Mt?i}@a;7buCTup#~ZN! zCQ+tge>quwd;e{^k;3u}^Nwl4KY;p;Uw{gF~!cGEytb~47u3zNG4u!x{${s^89uODUO*A$uMdl3; zNNesUStgfqRT)1*pV__cI9AHjG5km&a`%QSOBvsg@t|_SZnBSAnZVreAnx97N?>xC z(3KpmU21wQ8;O>(fJN zg2Lwy5-mrJlO*BxwfV}Wog@jRNZS!40f`oh&ymRY@G_OsH37$?K1*2U3;D0(7dY39 zgf-d8WsJpQoz=F&4A8%)<^+0b{-bFZ|MA%rR$(Y7x)ns2SM_6-*h}QIN}?xX6w*wb zc1Aq~Dt{hol39vO6*-9zGEq)4%)!F$O%E$cXBGf~zFWK2OD5MfBiGkAY$T4~P|I3} zrU!{45;&QzL-I0i_xJ%lN-$Toze~fP*xCO2{GdOdPwh`gAu)1-u~eEEAj}RUbLLr& z5Ck=ar1^cCD9YElg>h!*gCvN)uaE^Rj7#pvrQ{67gvyiHg!C%sASc{zT5tk81zo zv&ADAEFFt!!5M#0VH)nZF%~AsK3k!p|7aym`7ChBiq2{0!*}|E_n)R2a=L2pGkR5Yc`q*QPhcf6vNBKQu!wOB z!Z?^!sb>7RB!F2!o3Y2W&2PDf38V7V^@ON!t*jiysu&@RQn#;_MwVr!O6xTEC0Ujk z6@atS2YhJ7rn$?2q+SFk5t*WL5n<4&T9Q(RgW*DJ-j)rN*yW-5YcYZ+ns7NDDvz^k zZ0b!%P0LHwJ}fk<_xI(z->H8h=?ptDnt0qbtw?j5IlF+%-90Yt%K88P&vXAZ|9a{F z`BpJnv7R8KKjT!6nJBj;z$k#ppG;8poM#r-!)KiD^L-8wIr9xD2Eqh!q``&eg63e@ zV*q>elVtk!nVJ+y*+~zhLd7H2R?o5|*o9U6g+iIKs*K9%*UmfyE|;1l;X`@MG7Utn za!mYNS(sf>#0G{71?Ng)(Pn7pi5T+;wKWUC^Fdg*W)8+7Gg8N52HoJ^+i1F(sUyfs zaFsIsfqV3VyZ)u5DOQHzf}<#+79X-cTxquSYP^c|zgIQyUr|l{Syl8(l^|&9vtjB* zbJG*VWy|(U({l`kLCpR!10Vzl8~eFRQZwEXBsKlk0nuk}CS=o0f>1RiG1Yf;lnIly z;y#*&vupRbKz}wwwux!x;``$Iv`{MwZ2V(twZC*md)rnVTRl@@W+T9zUoJCuUEZ+4 zxLQdL2m(fX4m$TFh;0HTnf}zWRnv!#ZMhmzVVg!7_Mb&k-lzL6^hhwBnQ02!A~cv{ z-5H9@8z)j297^l(mT-g+&Kgxa`=Oo?2AuPZGCaqF9_PzPH#l;Fpp(akj3_vwt&P2fE1MvKlrQ9S9L_F? zvu`&8_js5CYHod7Oa`LkzBAhN)0P$=y?hJU=I{s-I903fSy}je%4fX%WFz>|_bh3P zdQDg^f4&FxMZI$dn)?Xh{VcbR!}?^2`Uh(Y-Sqs`&lz{*J#ZWIKvzct!qfG!Xf!^D zdivo-`Apboc+ELdB9rt@jp@rXB;&~Cz|Mse%yYOn68DgWtQN4_Gs7@v{#<2vq9#=9 zf>rf1(%*~NKXD8E75Cy_ai=eFNkOwF(Ze(`Vk{&Jh)8(ic3c=N1~#^?zl9Ivfo}rm z`%j#RGs%vZWQ4l+#tP{%hm2TKMs5;-{6cZ7mpvkUXA6WztgDRUU>Vt}&#gU7$j9UD zvNW<*Z3N9jQwONWZ%&YLr=JP!bG@A-;}XfR7oooW6)Fz%aVMYE84A0_j$dUie*e6~ zaYT8hskBkKBfP&L`$b+Y?IB`n^wHT)N#{nnT7l5#&l-+PLW7oQ8DJolt31f~0|T+9 zCvAB?iL+|!blU=u9r}J=Q$;WRDC`~&-`_T0cJz=1{|b5MuaE|sGNKDT}DdGN-g3?mRqPdw9gillbjG+P5}g3NO`Vh{Ti;?b4{i~^yNRzu7* zO@qNUtCaU9B$s!Y!UbQK7wKz+)wauiX}BZd?YP>F*^9k*HM8&C{>epKY87A_go!^J zWX{B$iK&bV3+x}3Q-ib}@KFguc)xOh2q7>(?~K3wmC-^-EAZiS(2jA_f(m)CHk4ES z^3tW%qft?q|9uc<|1k*Hky3QEK8N2C)lXn&+5}4bm--W#Wj1L~cSHx{xR@5^eRj(T z!c6}2j2n~XrX)G5KB(m<3Bw#^^|0=I8XQPH2Cspl*^M73BQGU%Yaj`a{h;(M;&EOD#PuUGo29t%?PEHG8qVQJ z#_ZM)ZiOq(Owp04&MXc5B>_u}-y>hqH@sa2um&eF%a3!no;!amvbeALJg}QN`Uu6% zN^PeesV~Bf%#d@MZpik_I_ynz&XEoUO~1A9=gY93=#PuPo+rLtq#LrW+wf1IP?*mW-H?rHjRYivoG-JJSC<@+Xa4Nd>}?Tx_$All%*++EQdZf@VzWf4 zKl?Or6NE?{)rJs!fqkl(`fHNS6P3-J%i^hKxFmO9!tYLri(t(Q?{Xl2&%pm)mUsWm zNJfJZ`qrKk4NV_d>Z34*GGZ8;mI;D5fiuyJ2FnH%LEZ&+s?y4%3{A~c45PA#X)^p| z0Tla5^u%=)|5=auV6UMYn9Im%kWHnbAo{|#!NO-(HWE_md|^Sb>xiF4Xt^YMr!tk> zlnHHBTDPEA@0}I=%Qpu@42D$u)SKj?8~~9F5iS{acq$hz5W|IGr}g+Q?UNyZ!daXr zFcuao^qn7g{EE-v?OChBwSXHM$NpXo{K>2Qed5&pV;%p8DRf);5<@l?1rM@voYf=H`7%43k_o< zPbD8`8XPtC`yS+Nn5-YZ?I+tJW>ATASTDZ!NtWpM+*G^-uOeYsr|+M@Z4_TVmZN;~ z!7s+18iIi&ypq<$3xEAE3i6(=^g>+$qX1nK&6iYwi5gkR5MB@;G&3L!Rc9AkBNeD! z=1KYcBKi}L&|mS4(JM1ceaqtBSVq>(Nj*8Y-Z*wv^wSc0WfqHL&`nNEcWtMa=fcx^ zmP|vbrn;%n^rjV)Bw0P?tzKm1NS=r%^EBy`^iUxaiRO2gL)bzB+39N}unHJ(!?B`EER4g@3mD%H;Y}vT5`J zfNq8N##`JWpEI8F(u;>xtxq$5@|cVz0ItGaQx%zaoF6V=^X~)@-#M%y2y|Pcea<}{p zO@ZE7Ge0|GG?~n_+~X!;`0@3Ft8XVu`fCtEKw_G15wDOIFj@p!uS_oP^nKM#g3Os0 zh6gdkpE<(C21H*8T)kue-xFHmukl&=OE73l1YsNta$4_VejkN_Q-4~_PXGs)i26<| zS@8owOOYPa`D5L-S63U_&A!(YOZkxznLgx>Jpe`~M51HOnk)Zc3pS?56(?Nn+ z?**2O`z}Gn`8%_#d*TSlW=S9A%9&VrI5W(0rp7+ilFgUfG53Ob8YF6Ez~t+Dz1uJi zM4QQMLyyRXBMZf6=K_#!?>ZF>MrLcqBuOAqrKD#bF10303YZ$}TI*!JY9EFCz7up? z%b=C)+T&_QvkgJE?-`WQxU`n=@o@$PK_V4a_9+fuSQYq?0RsL{`H=dn0{$2LnI52zro{(1kwy;<*M&FO0%n@LP}VL0o?@X_of2nAaIr?f4*eJ$yhEBu!~YDPw}1U zsjvkXdm7w zuwnrfsk&h+37#nZuo1H2aLay#ocx#*J(thKEv_^FwwCp72-6SY`3!$&!1Dr_a8CXF zQk?XwO~R)fv}XhS*rL!8{&Ga4V;ebjVNdjBx((#o=Y=!37&d<3y!Bc&o4>)nactwc#RR{WBn$lbx(eU>= z@=x}b`PcIKvriBO=+gtuMU9=M#k0eulZ`DYvcuC+k*;?jZHIr8J!CCbNI~s*|b^wFj(JPDnIGD@&qf+@9 z{6kEghL-qL4Ip%~Rp7gajg-mx#kyJl;y@t=HKUJKmhcc^^*9*3r|oW!w|ol;@mRW{ zTdyJHu0Z&M#fbmtT_*ra|E@!f*$GHNMh>2Hc=p6hNtXY;HPBo>LZ^sVYUfXuA^#fS>|3J4}Z5sO=ceMhHvY5@p&5H4XdS#~npolxR1Y=YzlL(Di5Ws)ka>%jlyo;~X z~>U$&A zF5*vXfNBFVx1KM}Y`&3kJ)rL1U+8v~F_w1Mk7N%L#umfgy!{8=e&_L-kxQ>(Msnxe z?BStp%LDR%8N=T0zJ2O&3zP2W{>U(g|8V?|F)Xz0#$$U6p)Nmglw^>?@Avyn)52}~ zXLh*h{o)}~ma*dUxn>jG6LvCdjOLdm_G=Hn?iC_?HQITB=VE{A5HN!UUc^$|g5AlZ z{|2~kX)YF_xi$1!e}V&g_6nrlVL6S!aDf}Y#m+Py{XFjS(RgFgP`7KyuO}q*`#wmS zCF*-szst3K;<%WlaY8lTZ}zF3{i;D2#7=Dj1+h?{vHa67 z_KlMU8rvD@{bI(y*FJy5NBXbT^W{%+#amKX=_M+nu+*UBI0=W)HS?i2u{=$ZthKNX^`C_80fY4PDsreRx&RPp8q&%~Ss3{GS)Ii$^mbXfBhUGTRPkULHvqyoc zXsii;D`x1~){i#DSNGKBz>b18j{2ECp`EHe9Wt-UEE4?#f~o;V!>$(_Fmk)fePga4 zmUV8j8!-#wqFfD?1?2$Av#@0#9qeWiivc6qh|nkT}g)v?T+oZgCJpU$J{Nt=04r_9AQ0gOi@+A+ERt?Vbi94cv-Z+af>c{j`ch#3;dMRX)`Sgm# zekQ3sXdo`$on*|+kcZb6`_qz`ClrC>B;^nM)#{Xn(x*#*ye1%&jS4I^j586?ed(B9ni|U? z1Kvkvz8Op*=vQX@xL4@qG35AYSJNaOMBhJ<|Z>=NHrgA$)LUXG5sRb*f^OsiZe=gpXOEupWfEXXdCrIdM;xN7zcU^XGDT zKbK>X?%7`)|J{UD{MQ=%R}+@L2JwdU!)YdAQ`^kA**-}aoBm5i*X6+^L>A-w1ey?0 z8BiABqBcpL6efhIhA?tSKJu096*KD#mKsZzbr<1^v^;N~Zjvo)kYouT%h4+V8{$8^ z8Kis0*-gn}nWl;aKyjWov0g@H4l-!FVHGjU61`9W`@%-rJPwz&bnf0{@$0+6{m&lV zz*r#m&6HH=`h<`Z@e#g_QVWl|N;KHlmyo-EeDwsjB zR=64=W7GtLUy5OIneQ5{1lVQ-E%AYtcp*fUu;Zl zq}^5yfLp5J&o2ud+8eE(zW@5!gul_Hg(yGMJou4uvl?tBf!^fKXGf+n#X%6b^7LX> zM)dp=8IM}$LYi)rXW_Sq5~=t;PZR=p@5h*`Jb{`rR|B*mJxLQjUsAKoN`*hYpkO|%(k%aJ0T$n zC4?%SPz{I}0)!C2N$6m}0HG>MZvq1dh>DufLo-xC5fhq#h=8DgEi@?tQWX$1U_(U* z>!9Q4b2H~T=ggV+_dehA>0a4;uYIlmb?tkJ&2#D(W78Y~n$JGN%Ty({?C({ytyf-V zcia$}=sNrk94n;#6de-dN9J9&Ocz45h-OtjG4kr)&17f zg&5IXE@Tvf!?P65=}Kp!%)||mdO8exuiC<_8&pE;=4!9e!sMjwsr#}I9?+PU31w*r zYWT|5XgS<*3CH14R%&MybW~I1oKW{2rr^NH1}0Apep9MI(haBCyX!ix)qz-&y+Kpa zNdK8egPVRrQpn{u5iZ~xU4ooKm0(uBfmC?kJy=DFJ3{2W;|y!p_Gg9TCjc!1%Xk^q zc2SgP(a+jGigC3fjF#|o5ov%R2Ua~>&FsJvglsV%Hyi~AO(ktG{(Gr)WdX60Ipw!< z<-pN$j;ANT56B+!LS4SADy@cOc(l(09L4hp7b~=UI5>dwYBDY4%9FL#Z*ao*ZHN=R; z$LL?OA`@Bx*;kv?v*8vgd9Pt+keOa%quR;|)z0PDXMyrUfrxp>xKLb-^?F+tR8*hN ztg${qX}MP31yID`UArO3zDlN}X}Z7opqk(JsR11+uu&s5s_mc=2XT{lW~5R2ul|RY zJNg2I)IAG%DO;oE#O@gu?pn-zK-}E^Zx%si2i*{-tDke6Bh^oN5{%4hY4=BW9zT7w z-AZC&d2iUVKTA#6Fs-sR$g3_+Zf8?~8L1UewsTmB;6sQsrnQaFX4;N$Ooj~~%q#;a z&_O#hOd=qwwrL%c?k=ot{Olm$-Rt|Ky1z>nMkWR$H-8S>gQI0v+;l7>LSwEXsI!kY z_`bJkDFEs;wpZbEaplJ**Y>c6fS_A}6{q9t^86qa<#Qi<3!6CN-Za6sAuBb#dHG&6 zGG8?uG^tAWn#YPk(f&fVCiN>&iH>2I>SP8X5Q+A>`QF=1eZrU!2l&|xA7e>nqZ2ku zu8Y?m6c?$cW+o4~o&8Xf=f>RLu3q`xACO%c2Gw7IYDjROPxj!6WOp6&R;b6 za7MZMIakPslNwr$aebW6m2tl0yXUBKJ}g`PS4#&nb_Eh)5d;eX#%+l(!<(0DFGC^g zwnc{}JENrVqHiAtNXWFh>h)eZl;0e@{ZgU02M>_OTczmt+1zJnw)h7qd98$U->D2x zC}OLDpPUvR^nB@z{frFnpY~J<#;)LLQ^C|&FjAwIFMP|7Dk4JIpH|DgWVtCC9B^;x z1^LJ>fqxe0xAlt~uvUHp@W~}^`C)*-=&?t@kvr#PL$a-pnpoD@U%2=9OV2~{uOWN) zK35uV#?@W?ZT!l~-!GN^6Cl9<`|SVMxDV?jrl$|KnBpvQxcEMYLjR(4Sy|{5grA8H zm}#Z1zsEnNC?O5cD$iq>=n!~fYf8WWuB-XjvUan64;ty#`9ITWA1bYv|UVC&ZV9csTKK5_P< zi2k|K0RQ4NOERqbn9kY*x$d(G*;4u;eT+C!O#5i55DuuL3I@ z@_a%B6cEipfvhXn@;a;L`0u|dAMawEwwb3)iww3&BbafWF>_TA%w2iPkH|iY8rms* zF9J9L1YbN)sby0e>Ck_OB_~QN}CeWG} z^cN8D&i}qC|_sm9&QGdW73$a$HDXZrIz`;Dc>P_TNl=p*!*Ay6>w#z7|f}>uoqG zCVzYVQ%`|McNANM-&B@&IBc7!0QR$t=G0s zjjgxCR$)tVxstsTuq&M}MvW|JOhA03%Z<8CTBbFda9m8X01?W;v*cKHQxM@u<<|W~ zj`PMI|4-$3hfw(*em_F3OQS$vjREjA7L2!}EsfS)Av+hcb!aA>1bQ!`8acy)YQ=IL ziA}i496}01(nU_f0_Z2K&?Ylr?a2ZsqVE{67zyi!*;se1{2uDD10KFbiRnroII90r zUQO6@L(x=)-<}OVx>Ez!ZUM)|q;zlQ3g#89+!+sFOC5#Xj4e)!UtnG>Fc$q@O*47d zwV{EK*W>0A{5F0v^O3P*X``IF6ka0l?IAqY{uv+q|@<9G=hqp;hUn5+~E(Ebgi#Kf@&V%Ju4ciH^#c*V^K6=Ead8=NsdPPNQA6LsUEqF(3{elNMx z`{xGjG{@1-2VRnpmII#$eDlF>g2@JBz3EKop-uKf?S)N4>s`D0C7Ee(eF17hum(*v zFt`a#)4}>1rKv68A5)EFlZz4%a0hJOQI|7RIz9eu=>w5iznvvg-;Q1eDY4@w*mF!( zoJdnksxZ^oC;^fizq0WG=#vkRH`j}$R2B^Ia-5nP7XU2!3F3H4PIVvTX8QHSFDjn35pXp`7!mO#v*R%U{BU>8T{QEl0{&Na)%jXN^2T`kI&)%2f$j zDKIWsnr9}9P5FNG9PX3*kiPe%)bPReUY01;3R2Zzy=~JY!=MXlxI!81{Ye-=ixvDT zEk(NfLr1tEN1e}@lg|tA9z?*iQ+;eOS;%i%`PelLF9UCHGTxPi!Ur91!FWrzyY{*l z@?eP#nX;92Vh$z#M?5CoHe+6jggW?3KJQA`(Xg^=jCj6Nd(8L4{$Y?3bJKbiOI3ON z@k~6X8fvfxMOYZ-DWn&`d*)S%{1wY6egJYAd5}mnuG7a+V38adQj=ssC{{o#Kn>}T zHpD1X0tgn9L81qwLM`}WO#wq<$-yP+I01uG&WGVAf0@D|q@d-GRb?o-k+qtl)9Ea{ z6tS)+L`Yg1DJ;>0ExbC0I%HkANO@eFX1n`C)#g~3&AjAK^c*QuCC$vqA7EA|h?Q`k zui5=_PZG_1Az}NcO`+v{A^U#1$SK6So$F>remwA+oDZ=li!JW{on6Cw6JYOex9G~M zwXVatMVQP}r!yb#!mnT>$Qs|K-ymz1_g)R_X>yZYy@dicV9*brMrP~DvJGv84h$4w zE*54Tyc}+Ig})*{h=b9eVkh@%u6l5bN}J#nO_ZBXm?t}*Y2!K;XGP-WWXYdflE>fJ zDUKqR^8F9G>_d7#kuJsP1@DISp0=J?x-Z@$%HnvQ4c&PJ2U2{~}o=2UQdYPB$3SvK^M48atBFdxmyGAAIoJfnH zxVbgqxEqB_s&OW*gM-o07xyf`j<36vW9URt3t4`5?DrcEsDB`4hJQPwV?k5}St_&N z0ng6QB8u#mso$Ysok>RP+#H@u2hC?)V(9X~I=_qMEeg5Lczd*M1}OAij&G}A7*oH%FN(0g^y zBfHw0#dtrSQv&Xi-0$lFsbo*mNu1e5DJ&jQ=JWmfNB^oYwIk7&r2?)EK<|l-oj0p~ z-FxH4MCYjF%HDg9;SxiCcy&jX88n`ZY0=t8EXBCH$0kM`vpraKQ{meWgGaSKT?pNin5EVtM(i7%lgLOq9$&AdHCAjLgs;r-)aqc=Dxn2NFs!?qD`zIc z@O-E4SVp#~?&xlR22Pn(7dIP=LY<4nSTfJP#%Yi6bkE4y=(T29pVtrDopJVX*xr0g z19ULbSlzSOR$603A@TB_8e;gOazvY=$BigN3$`%`@2&FdCF1vUwPVhmR5)6gTNbjK zNB&*~=hz6w`ZQ~Vg^w%Lv_~33NC%XXxs1`cou>!A#aF}5$cZ9uU25wXnSeQZsycRG z?p;uD-#$lx)&V!z+cRzy;J;(FEy)}IA9)Uxy#JyyL}ml}Gr_(HuA0{{ znOTq_57|HKAPF+9;4JBtLu?K@Qw^L7^~G`tz^YVx0xnK#gypV}uGGbcn8czYnq)|W zFUB*BGp?l!OKA<4if>mnSzy#m=6GFtU_p+3<*K4AsfvE)092UJX@~LiTJKDuzOYD1EU{2Q#^% z2VqvkHb21WX6m)B)pnQ3Y{&NIGP#!{C2HF)+&rd`7*UkBC-4EucPNlkh!}e3urK=Y zeH7xl@s6THolz2T0)aSokn$VJZGJcAbdcuD@m|>+A-w{>vG~y{-AiA_v`+vZpL@Nj zZ&sqEzJc)3bm(A$JJ_lZx|kZW`X8Svv(4rlmeTqAe{$=S?)vX1MFQDUTT=vD;9s8< zf-{qMRmZ3R%Auf47i6m>yhAUz%Qee7PZ8pu((qJ+sU>48mGEjKus>Bty+=75Uq5z6 z=kV&%=7tVcN&3`;@d74f;JiY9CPR;-g~{5!OYf4fL4bRMW8>=VJVDQ@o;WHcJMXUV zcpBObT~lw3a;hfxxpf}h#%zyI+;ZAQ{=Bbc$SJ>IPiWMR zYdpJd%l4LM4M7=xrS88I{2btKoa=Kus+=z~>|MGMmWLTj?HzB=q182YyoJ{&c{OGR z6DarQ^>k9~yaNP4SiPBxtDOw@L--Z$xP&rVcRJu>8Uj>#7+p9pf9%fOgb?sh7BEj; zg}p$u7MvRR_Vn%c0+K+?fqNLayW?Og^6xGC)_45d+9v&r-FV$v*t!A&D4_aQADaWt znbZjbn|~pl%5u-<=~-xi=u&Uf=%zgoIoD$nOe)f{$_JSG!41-Z6B%W`aNRkw%#n-G$42>SNbE?T(eb-oqnvg7?ppUe1)VM*;^IJ|2=NwrGre9C3~t^B~3K@b2TuFBeOW zCo0>ENRq1 z@jri97`Ili<>q-k8KBAQPlJo<@IG_6y*cP;BlIETONFvi$TmZ}H@5!b3FZ^S(erfG_8-`FwM1O>2pM~Jh-ojdxw5v47&4%hYj8Wa<&O&aAW zqh0!UzG&rQ*!Q~VXTDfge7v-;>aggO@kbBZoKm%wF4pddwcXc~kfFXF;QL|Uc;2}e z>)m~Ep$`*A3Qm#|S_hY$w}lq`k;IG2`o&UBKj(YBOK*YSPZJBvPlv8wbo4CvrF*dr z{g#|A{*Yxun7uF5DHk237|wXR1fjRxl>B3V?|gLV`BS2=@Rbw?0hTU8#IO0MVaN?! zbO*%0BB)HabOl7Q0ClvkfKo^iFlX`|MuXkOfjNtrK$B5{Y!DI3wyvhE&z9GaR-egB zoW{0o=J`2z7|+mFnZ?0HCW{VgR>_vS&z+w${<)`^{kudZuGKIm$o)tw&IZ)*#4|AB zQu@iU)kRtzQZ9MJQ^M8&SuO`=CdId7OBdsgXNs@bij_s5*4!I{ zM$USKr-f0Q?Ta74S`#AnH3XuX(vbs^zMWB)zRuqA)q{k-(b0~@jo1eRXkH7SZFJE( zm!TQoSy{SrK*jjcHxqB4cRqZw+9Fs_VBanOZ84#KU5Vjo4&2*t+P8+lEV5@pXWMMR z>=S~|@#gRjqQmJ?>X*m&I@BZAEcpgkc5k+lh8~Ula^U4?No=uCrXKdvm?}) zqyy4spPF9fdtFFO;XOETa>%SM4KH%yldM15&ciQy6Jl57wfSm8Nkg~}uZkwk3)Ins zSCc{xy{|CJIohnX01<$*rq0-9CtTn|g~KVP4BdXs(+kYve3DI0e*twBdsGWpZ59H| z9dBREBh6V@dzkcjFN_<_iPd39t4y|5F-^x&aOQy2(Wezr*CIk`f1f67?PvcZL13v{ z1j~L0I$J7JNJV4@{!gRY-=_)B`GgSi;v~dB)cGv&@G4BuT5TONy8rLbmv=;rYDt*7 zOtCNkr^&PJfCnzt>3#+pggy}yjSE-*GOB^+DbMnD%o3Rs>n1&?MX)bk}TNx|=kP_}5?bIy@%&K|PPVrKOmFZkEN$6H3VpgmP_ zT$&GbZW=-~#Mw(oCI%PVA&@CtHbJ|VMTNKoKMgWXe1=I!swNjX<5U=v8Ss`*51mOi z8|t29pH1#q>~1nRm?&Y^&=jRWJ1L6Lux4M zqf2gm#_8bv0dX$-DMDPsV#PjbxCD5`gnq_8K0tVdQT1vL_3%0(?(y@>!~DODYRv(C zEWGlU`Cen=XFM@Wqwl;u@M)%XcBTr$P+VWM!|I7~BDQr8$%mv)LvTup?SN*6`%=uw z;IsgF=dBq<=U+1l#)g=>G*;6E!+543B67oFQsk`S*;aeA1_!JdK?VPDD7z_vl0it} ztcXBcNVr^EVoJ-Tr%{D`X&!OQsKz|%3E9=NIh{l3Ocq>i9r#f= zzQbAuNZkQmH9noZ?vF`Kdg!;4`e3Q~&_349ubxcB(S)lpZ?{d)^y(PPFewvqI87Jg zr-Ae0rrPxC427`cKToLK!}9Y8*zc=Qyw;jVpFyOUdfAtA4MJiKcM)(TS4>lLff`wT zMmjEC57-2~x;m;#Q7s|cixu7wL8F?Ew*Bn;IpaXO*0C_}ot&&NX!FTeEefeQKz?X%n>%7Qjv2uD5{&K*eL2 z&Ws-BT7@tIB(&(6YN{8-VsMoB;ip0(#)gmspX`;N)16b1)!W{e3~A`~aM7OJcCrhH zU}1I|v1L>%(^BbKoNBHQPERq@lPqQS8cjpklDME>1pWc<>mgajF9ZrwT{fgy44^6( zE*$z{FDZT40D=^iQbF2lP_SZKqls^4eMx0o*J8+$6Q$HN0q4O{gPnqbGy9Mihs4ZIKsyEX)Q|4Lx)`28MRB%xYpvO zd`hiON}W4) z_H*;cV1zl$nDaePn|&BYA+Hza$0O6N1%SQT7Q{_;)_$#MXDyTX8FfR|( zb|rNp6OS`JgbUm+J>iMMUZrkJ*Rt8)?|kLh!$Xou^H4|m1{>tg58glJ>l2!KP?z3? zOCog!u4xDPJ5Szw3{^_Ll~fmFORDwf3jhSsp*QUi=p^5fu1Cg~qPwmJ9EmT-N~`V_ z0TEgtZ$6{}0-Q#Vt;*dLAorYk`eK~+PYA)QA@#x6KIvA5a&A! z(lgF1vegeQwj|S~Mt5g@!sb&IoUm@!=8jmcTl~ChrjP7$;Jj0uZ7{bC zemfXf{?v=@?prjNH=FsS>Vk*H)Y9~!$m{@T(fvHa%GwRl^ACO;3Tm@y)QNt>z2$cC zLDT|saj>CZN6=S&W%~B9qTl&vM&M+Vqlw(bhnTpk6pLu37Jk8~Siu>~N#PZqquc10 zeV?nJv7RIAhe1g8=MNHN*2AxIUY#!Pofj5S)P`15BE*DVh*J?=m?Iij?yZ`?w z$iI+Leek{oDgf#rpfe>X$&o1bS8lLI07|OVlVS=*{{8u|;u5NEY@ihu34&Ni{})u1 zZ9Y(kReIRaX+qEg84=i;V~IoZ>+hr~O)3wet2)MJpgcVd4hq{>>-0^S9-KCmi zJk+@Z%SgFHi>Wf!@$gB{RYqIPI61m8@wdec2ioeg{EW_GwXxr{in8QOxB9)(H#%Gy z+@NereL~CT$G4PGRmu3v`|xi<&P(6-+&!EC_vM`0)&r{!J{)wBynkEbc+V@!^sy|F z4wb38ne^_&O4}XyFk+g<)dvR_;|yZXB7c7{;VG`%D?{Yx21%TL>L04|Qs@mbg>%bZ znFLw{m_av_zdgMK0k*sN6MtLA2^BB}3EN#x3AN3rrLML*^;Rnf|GED4Df zQNewvaj(G@ms^~5tt%)umi&>hAazN+h_O?nFvnecuu4T5>O9}3!^pSfuRaTJ6*yf0 z9*55IyqV z;BgLI)2r;_?3%FC7aXo>Fn9-iu?6pR0f9XDxBuhI8%VA9DZCO$uM39?T|f0lQtTti z0hg0Nt2KuNYRqFsb2uTs5jv@cW+G;Qq$(jGYxrT;AbS8^>K&ZzioI4Sba9OoE;MY%GCTc74%i!Q>S!RY_K3pvefeR4wn-DtjX}WUTYomyc~$z21+P zl3|Bn?HodHd%@0_XM2v+h2&=pmQ`AO`fXVCob!=TGezdTKBUhh?AdN^fhyFjrdEXV z;ckAbpDAM;^Lfu0HrFairQ7WA>1yfIvn-q6qE|$rrb#@w-y4tF_ z_3>pSNTaxqV&HwY*gad-vqp@B3I(ZJai?+*PaG7O$dkH@bIBw4{`2l?@!#*iMb-Wb zCba=K7|`(tdKctvQi%z`aF?s*&}mhO@y$(4El8<5K+CK9x#Cy@2)~3Ry)s&;hf;)b zt+#9q@egE39cy-l=)>sXim8j!Yy;~L7UVgd>5K5=fwJY2*#o&Iae;HLJ8_<6uB@m^ zvl4+!n^`ewd2#BJN2*;k-=ncsf4Ow0L}asq+iQ=ycxj#9vvF__r5*dFcK2)xl)3}G zr*&dciW!t1d1tit*x{=oV?dGq?ni`#psLh2PR-35@z+@nMdcH0&%ixHk-wY@?z)lG z`3N3Sy#BgdZ|@3^eX!$lYd~Dld3*CJ`STqgW`|H;PH}F3e(sWAV=Lj|;>UaZX5Lam zOzg&M`^AuSo*eks&nYA4T@;eCkZdSq!B&|4cDh;}{%ImBlSNF}Dp!mSF#FNK0x-uT zL8Cz%Gq&ZUyM+K(GiC%Z`m6We-(=(y1j=W`Ny{lnW;Rgr@u7QYg*KWl5L1xJwr~1- zO}5s=?*G;VhiCt*CZOG`FH1;VLphm_*qJTFS_ANHHI&mrrKEu_I#?WH0#b;XU)x(u z))UD?`9Gy*YB=hp93|9�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 y^DU{vf3>|D?;N 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 z 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

Rs7}msWv&=+YR~b`NTAtnzQ;D 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 z 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

bJce^VIU7kn)& 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 p%aX^tV+Mst5TDWJ~=B(k-x9;6GmGG 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


8GtrH#*t96l1s(}8 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

k>loLPe%C5BfqtA!31bI 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%0A!#kp=ZWOfyOtL#Y3DWMcju+%wyNgy-|B| z&RdUklC;MKzT1eNR?74#olukp|ECcAq8OoYLHO?hjV2h))kS~|9D}o*jfiEN4& zrNPROSc@$2YOw|$xRR4`)gFDJ$i|^=@+%i%WmTjNYv93a({>)8Q5vWX4Ut?+t`dxZ z;VQ0p+Uns+b_ElPeB5%;9+eDMy`mMxfE|*d$(W&v1q49}&;}V5&&fsBK?T@aA=uaY zu;WeMTEP_^0^Tqo-eodi1>}XuskPPHoQkHGa$#DHn;Kyu0Az3q4niOg?K7OEWiKtw z*US>%D4Ry)d9ciQib&P8iI(Wu(9@UKX*+biH+>gG*Z6~`|3pbk!txld?TJ&WRE>d@ zf8lPf$lL;9+>(sk`T7?u-mcFbmC_xiWoq38)RCk^LmPwuP}n8*W#888Umwe9Rb1ek z+9>@cS+wP}ljhRVMOaczQQ&od%lQBWX}c9@s(c%d=#3~%{t)s&$1QUYXxD*q%Fv)aL@a|Do&D%D(JPy*cYyhZ9qzM*``Q zp68NIp$x%)flJ}XRk07VW(^${Ed}MPwI$@f-gmBoT>kCTbM9QWq!IRzT$1OROFPJX zF#?5|D-jV-ckOs#J|DYhHDl9$yJh~4KY&Dx*Jc7SdBLC!6Kd*Ka^Xo9tQEq-i!jmI z=OUCWfh&nIZ0VLvVucr%tpS26OC!G$fbfF`_6N8W)eld2^0xZyw+%JyXey7|p z!HTafrf+I%&hc%~fQ%%3Ko>bNh1u<06BbYRwk*N#vbpR0m55Zo@4N%`Sl{ogPC)MN zBAaV@A4~09Lus&%Dd$5&JoLmqVJIp=_OOd%{}4pf|Cclnlqx^V%UDL_Vc{`f-&>IR z7yG!KaPGQD^!I-e!H|SV#KswaTBdcEzjDDEt(_V)pLddo^OM{epW))E;qzGv^nNi5 zL%$qGPh{o!-_=~$N^y34x(Niy0x1lqf7g!i=Q~1ZZOr zp~8%$2Jl>127pV9q6QXZNQUM@fdnzK0dOGLLW(glwh3V1BFKqL8=?WQKw?9q5e+^B z3fAr0jB3=trHk>@sbG2QGNjSh@87+F1rH`%*zjS*i3OJ;0Duihqa`sql?*NFRg5zq zyd~SsetK1#$MkZ#2Hqr#sewArUrm!=PW>c;i;XXFw*Ym7J9>AHxn=o9YB1;(4(6^ZP;cc z()gt7o5oBL0p_=YLBPF+get(J|Aw+cFu#nrI?b(AGRR;Mu!O+C24)yCCI$?80ILuU zKzIeNJTMqR7Lb~`0RtF{0ZEk%Feqd%W@_j#qhUtSfR!FFm?1-k{J;PNRzPBAMIqoC z#sm!J$cPmUPPEa(g_xNEgB-wG63b>F%s|8{ZA=oHS3uYiqd_tlVHRj)836+d(NvR` zh1|>_6^z`3b0I^99I+u<-rNHkV_<0VNf0tnMKIplVu&mG)~XG)hmd-XzDMtKOQ-Vo zJK!Sl2ux}ul`gF;)1$rSirOnZW%n<7`|Cs>TEV)@rZOExeLCR{`g`5)gQqLwU>#Q^YSWmd=h~17| z??5x4Q@CbwG`sg0itoL5nd{Cuu;5_Pn1u=zG0icd8N^S90zDL@IZULpt_Z;-Gf_M* zKC_`T*KG66I60oP&Jpg+6J$Oa22@Z&4RsPDRuWy5(U$6~s#maVO(R{`8cKIvjEvIi zJdM^qC^m2-i_X-uo?R$isS0c?U+(B#$U#uU!XCKu?4cfX6&aEN)3!2!$d&^b81i4VfC~pwXJ6rN?~@%ohyN za}!IE#d^jumeK|{lKNpsg`wLaG-PP0<515iBLs=99K{>ERp&u(v(B>8bs*-52066B zAT&y$L58I3|5TeIz;y%yv@oiRDO`-s7pe0W6`80=7-@zO)buBY>_I|<%7`E|kO4lv zrAIL!*hln;fjfYu4=STejxdmikMw8`Q^LqFI240nWW*RN!X#XvB%_R2DFc3B5+oPm zu$STJN}Y5|iC|DjM*^Z?97<%v3?+vuUFim0VhAhVR7+?SLSh&Zro~`{0Y6l-WN{i~ zCK+PM8x2Nxc9~VYrWQhmOif!?oS+-2mJyb`5j!_A1F#U1x^Y5;DcsB=0JeC+HiFSD zIy4DN8c;3jDeqQZ+{ptYh(&Cn5E@(=0O*|ZAJ`BeUJQ{|6ro|OB0_^Kl4+nnC1}ob z`78j||CwM$s1mlXZS+C3VVnggMG>N8^Cs@IVbR>D6p*@wb5x^<+p6QXmZmeGbX-xE z7NVjI7$OHATZq73$&d(v5+phB5s>KO%0ez|1QXj3A^~;FTw-9C4e_N_7b4855>sWz zOlCuJG@*qw)2tk#l3?N^IitYuEkA!bs=1oayqOGC4^I}A3+Uzx}*isG9y7B z|3n2hQHi8hqnOPsN;XSQjDA*z)>Fz9tD}_@N>@NcnQ2Mc$v`cZins6;rx>@^M0H{W zyFa{+eJbl5+K5w9}U{Dl$#VGv1mf`{pKx!x<02Ag?EJi)Zq%rakZDBJc zVn4!2#0WV{Y3HGkv##SA<~({{i5(ZqN$d zj(hy$1}Ai(Gc^EdN@1*mW)md|_(~}r;?B0PVWSH`&@$9OfV?)H$Do0_3gbRv)xDw=g^H$wzQ@P*7<1NDZ+y&azKG|Q7`%{Go%X^T z{_vPd92yk2_+XSWF3i=1D(;kP(^qc9G6*2kpP5Oav4UttyCo_|3%aM>=Y4d(JvnlB zr=BzN?+!%ljXCVbjKAVx0KfmSqMVz%{p5~eh|DAmLw1DEC7pkna z^D!W6h?y8bhiW{yusgha0KH?hQ;5I$TQmD>m7};cpKF{6lECkvz`Z-0;Svn8SO5iB zfG;~c`H?z+p*pL>I$&OkKBfZ+9wa+p`N0rkjNbUOG8g~`5C8)ckO6=I0(ibt zKnNyG!4+)5#waPpv5pDcsFK1OA&at3={t=0y8>b`GI+YVGr&J&pnnk#0-zTegbf<} zpA!3@6U(2ySTVndF;476PyED;m@h|!9tB~c9&#slA^_>a|1WoHEi;%qR15$J_zX8v zvZ2tA<@+zN*ggiz4OB!$>jMj_Xsx*!iC-j%qlv5NPy=K9MFtR@CHlnyAcN`1ms0S> zV+=;9Xhu|g#_{+%R1^R+=$u#KMv^E6l*pIv1G?{<2y;{bvM{e#JVsgk9+X%=us9)i zdW@Mez{oKkSiHhn+zVRZ5DYj-g!GY#$%s0Nk%T=z(ElDqdR%qvR@*d`N9;2tSCnhn#_YGn_8`|Hfmq4l+;{%8Dsy_$XajvSWnD z6Wk4OL`4PYl{ApPV@!aK0?S_%OL+`PJ{w54_(ue~N(7Xtd(5m;L`79>2(N?>!b3#^ z03Emd#Rf1IM?|I-%D)U6dL#o|xxbY_iC-*Cqp%bM>8ST>r(Zk(jk%7m24%|VGV`iOW05D=@26UsVpDocTkj>B{(20+Kp zc?;e747)suZ<0>~jK(XZObzoWRP>IIYs=NL{|qK-gT}bZ1;{eLdP}ra%U@(m)If;` zqR$3p&1~w+R16~dd{FO-P!S;dclA_P?)1w};$Ma_16sPDT* zybQ)tJg~6*P7;;N69tyNtP3HHMaNXq3KfXT5Qn`GBD7L2!;j_|9}91mQtX==V^cmIu1Rf4fw${^JBm*M2$31 zfRPXY1$aL5h*FIp1JM|O1puAoLl0uDtYZZUHJFtEK!7p`hU2i%UG3Fhy{}+cR%2~c z%a|1cC^|uWi~0)yU+sy|Xd1gzsc&Mtp-6zaNWraX)y5zIShb6J=_u`^Igh{>cwtl6 za8-NNSGo`?m+S#r1B+RJ0~3f54VZyJ;3c{crkFfP4ak9+0Sik>yE`?U9%qff?8Xkp&AqvCSUYs$LU>7?2Pc@B@kc%^Zlf zi%r;;c_fSwJyT)`X4nH6IN2E3{{xz&1tEBohqX;A60qGc1JMwG1hBH%ah~oZ8hv?y zca7J`a|dAjw?)HJ=tstbfRQ)=Ggt=RsGmK3 z2_`ZQGH49cT?Rw#m2I6{&^eB}RUNk#0F}7Vl~BJ^<<@4Ui*5tGJi>qskR^sVCfnRK zuvnOotc#poh%FJ$p8eSj2-=}#h*v0DY0CkmW!j}Rl%}l`sFhl(%?PW-+8NN=H5&;< zl+nlwIe>MG_~_31;8mv4|J;u#*K?H@E-RK7BreaP9no+h&Q<-IXo34FI_P2)Sie;3*${Nnqya-3Q{_!xbD7KHw8J*C1md)2)isUEP(q z;0&hQtI=D1CBST&;n}reNwE~#IMh%?33N?E0a(w(-I~R1Tn~QSQ$^e7VSt`EqocW8 z9ra(2GF(zMRStezBxSp~1)g;^j+=PUYXtyb1y%^EJa_eAwQW9nebtT%4Z;NrE$-ir zS_U&{37XLVj@c5Y{PerI@&=URSN!IfuwzGr;SXMOg>b=+rv{%22QiTPa`t^{a< z4j|fyVS)x@Uhb>SAxCK@XT>n*Oho5{zG#fjXpL^?K&V)c{%DX6X^|djk}heJK53Lr zX_a1SmTu{oECx|P0B_xBny%?~HU^i@X`S9_p03#Lb+OL0X`vqK&4GYYgFO8uYNbx0 z_AJ7r_T^+f|C<3&I%byW#GvT9kmaS`YOd~TuO5t!?rE_eYqBnDvp#FI{^(IyfcyPw zw|;9(#p$%3Yr1ynpBA7$%Rac?Yj`GuL>^Sq;cJ>U5K*Szs{G}Y3n4I@j>A@Ft40j0 zrVFhWY|5@|%f4*P&TP%zY|ifNTn?~Y^=#2@X5bxdf0kg7C~agWQ&c?asvhIRh-|o+ zY}2l7+rDkw&TZY^ZQkx}OAV(2_-o%D?n@n8;%4W{6=zjBIb?3zk?2-+e(c!BpL)&+ z+CFaV&Tj4AZtm`G@BVJ^4sY=uZ}RpZ={5}6Rxyh%Z}x6)_kM5qj&J#%Z~Crp`@Zj8 zgl+Vu|L#~`Z~Xpm01t2hA8-OMa05SZ1W$1LIq$+qZ@0K^1&?qEpKuDVa0|b149{>4 zXJ-Z{3a%ax1@bEQf0*4~!T8h#1du zFb{JvA9FGhuX0hxUrV2DOn-B;-HTfPADq0|7K4)M?L<|ONIS`x0m^kxjH9E> z2+C=7WnXq?Z}vZbb+90HzL@nh2cNy5umLK)PCQ;+C!k`uHDM2?VIm-H@5JkUi{t8X zXJ2=AZ+CYea%hj+SXXZ-r*lHwi*XGgjm$N7UbdIay{00deg8yW&sfON#dlA5gYB%%#9E_kAAcuk9cD}uakj??h_)nCoZof+-Zg`VFd6ZB2|9*I6k9ZKT z_c=%Hy1?QAiV)<5XOB->>=huJ|29q(m>Qr-7Mhi(R(Yd8dZbVK<7RogaCsP?|9A{P zEPo*#f!Lu|{aOVmW?OlTLq3<}Mh$Tp=+JopKc+cGL{FJ)8hY( z;g2j%ZHOMR0a-)H8EF0Cvk^ETwrCP2$RF7iNq=Y{c5#mZRxn6}B&sTL|NQ3M17TXp zr3Hu>7zPf!(G1!k3?o?0AUH6_FlZ8?4QuESLxwyPH*$p51A~nl7iSdXSn(o8AqO}5 z(SUMeIlf ziNO#kD8OLZL{bA12!pn)0RRDIDlbbj005bdr3xTua3H9}#Q@kyTm}Ka0ML*^IR=f;|6YLr@rvW13?pVq z{Af_(9EBiY6p}c|<(`SmM1l|`QI!b|GBETon$Sc<6TzX-2r|S3jUX-oGSM&sX|M+~ z&=>LOdGKQ0A+>g zxFe4}`uHP|K?*q}kwqGLB$7!gxg?WKI{746cjdKLUrPmcB@Iw&8P+KU6kr@QY7Bse zV~|Po8X6Lz0b3g!r4ayd6SZNR0l`H!00F`2R)8o+`GjL-tt|k+0}}~@004a&ssI3K z5+w_DBYZc}M==;PQ7RdD#}T9%q$1Hw81QtHKzB&QOha%?|CB>P5lYmINI^_=heDG| zGz)dv88zT}uZo0$N)r`B6N%6WQ7cEs_Bs@#$Wn@drOz&uta1Ue0s^orN%RVJ+Cc+| zLJ^&0LW&!$3Bi`>s=F?`?YjFeyz$CAFTM5JdoRB7N{N+Td`DXHz)XYC zx;W8mFb{k<;)yH1IOB~w{y5~3OFlW}SM7UMzf~#~u)vk4duXB(NtVW;EJL%gqifF0 z5yGHN^Z)>laYP0H4G4o70$>{TS_2)4@^PThycU{77Qbv%deLsg9o!!A*HL;ixazzR z3_4wGrf@gwZPL`)1P#y1Z?uO(fXt%LF)7_n|LM0#ew)B^Wf%F{> zThog`Ft?774+fXonh*jxGMFJA>s&@W;~8!ut%Cq&0PrQGEdPU1z3B3m1vHL;3vEtB z$wkuG5hc!VQ%xh9|Hjq_48WiyWi&xaLM4af^s!=$F%te2~fdMc(GRzbiQz*^iNf0pb&57{sMgK0r$P5ISzKL`RhMW8+Km#h!ffBT! z20bW3pJGX>U^0Z7OekAumnJj-#WD=|62fdLvCws-6a+AsMCO#EjYwuUWLU<=j_9W# zas+lnTqOZ!W`^4!awyEJpF{?vyo8KkaL`ai1~lNsiNL6*(2xWF!iJqWtV)|3G0#E9 zIjW6p4T^hnDm28%HI8VNjE2w&PL*=gj_CAK*$XQ|z`8YAbtGzJ1Q$l~zzkO9KwA>| zT`wW3*S+$!uYUb2U;`^yx-4`m4c(jw2P>A7opb@R%jhX2gD#15iK86Z*y=Vm*^P`c z0FLr#0P;GNH7%f~(Aa1Vp|O}Rb!h;KD*p;k(?%+(a}4kx9WtCMB+Kmt+nWGBAFsZXtKoqQn|`jzA~1x ztmQ4A<-SqLFH-i)WvBeE0c2R6@c&+RfX$xCh)5KM%Mf$m*S5@c>D8g`Dt55}Xhh4WAu65-Eu01s_XPDoSF8|;LiN4c7IMtK{xz_JE$m?vo1k8X3Yd=~ z=3*1YqX|GjDIFZUK~H2fw=s?=_WW9p%Gs5O`XOy7)@&~&zyOM3Ljh`M+SAzv0Bk18 zOf(P!4N#XRvp!WrW)Kl(2x0^=fH7_f0_CPcIeOEC#-zz6PjQI|t3vted7p{_Xi9wG z;o(n2jFAVI+~D9Q$SC-n)pq+#}!Uh7gyWQsYSi?9XnN||c%|w|K14uEkrrS;^H^MVg zU}OSTB!?g|05UX8Qc)$Pxpa9WsusQq3`YyCMR<${ShNx3i69HMpbNer491`gb|6!H;8291491!3jv*PAp&5pui%p>#t|1$?p&P!TL^z>RKw(EnAsl)IWcbV^t6%El~*;hFM}kBQ|EEHf|#~cH<;UV^J8RL?EL#mZLeIBRZy| zItm*&5`{QI139jvJkBFM)}uY%<0Q4?P`qP2;-f$QBR~eEKn`TQ=%Y~Z<24ebLM|jj zHl#y7Bw@wkB~fE01q?)9Bt~YWMs6fW7KK4}1VTPkM~);(mZV9Zq&I$Kf>ESHStLrn zBuvJnO#ja0A*$p?grrN-q)zT6PxhowmYz-W6H6kNNdBZz9wkyHrBcFIP*T=V>Q_Q8 zrBqHORaT`{GE!5X)>B$zQC_82ekE9jrC8oeR^lXmN%{v}`rreEr%=0Igv3MOJEreZGUQ4(e~#^qr$resbgWme`z zIwoIUiDhmkXLhD%(j#WJWM6(JX_lsGo+dDcCQ;@jYPP0pz9wv{p=uf?YsRK+-X?D5 zChE;5SJtL({w8n+r*Li=Z$hST4kvOZr*bYQUlpg&$t80}r*uvybz-GNG89}sXJl3< zcmH;$cYbH%IH&7DCwP{pd7dYFri*xjAbF;zd%h=p#%E!y=MA=}eBLL1=BIvk1u3Wj zolWFkisqHv1%Vc*fgUJ=Ca8igD1$brgFYyPMyP~ND1}z2g*rjov7Z=BSSDD3A82kNzl-2C0w= zDG~u_VfH4L45^YXDU&v-lRhbwMyZreDV0{Km0l^9W~r8LDVKJsmwqXjhN+m2X_SgW zks9e^?x&irDVw(Gki4Ut#;KgnDV=%+oYpCx=Bb|UsXJyTpZ+PJ2I`*Psh}3Bq5mFg zc@iq3E-Iros&Fc*qeiNvPHJgFDy3d3re>;OTB@dYs;7SHSaK?;jw-2^s!@unsivx` zt}02QDyzOKtj6jvL>st`XVMB z>#{y8v_>l&Hk7kUtF>M$w!+|HRcp3(tG9kD>E#!XF?kgj;9=`G`zy_?qdd>&_>%bl?!X_-f*r35GtiwJm#6k%a z20+ACti@hzlE5p*ZY;-ktdBHQFq}durIyE*tjV5iT3}MhLPG+a3Cg}K%>TwLSA5XQ zt`ambfXwEs&hBgtQX>*kEHwNO&kilo?kt$)M#C1Z(k|`ACYu19Dbq%+)J80@POa5m zt+`h13w{+jjlc}}f#OZYEZ9IUMh9Hb4#^tDFyw&@9K@}?FasP+RZ|Rt*(OrOBL=;-$ znt%{su76A}Gzc!%mM+oxX(A%-7D@_MGz&oxS41J$Q7}UfNZv*40RC)6r+J0p8Lm_4 zZBc0MQ2g!S8U^Y0NZ}T*M5rztv0d2C3oXzD6Wj}X{`%#?HmvS`?l{MIL*je#U6ox{GF}r7DeD>zz(37EVx|!+G5;s1^G$^ z@Dc_0a+gT>Zcz-djwEkUsBinS?;h;HJ$2l`NR?BJ809MPR%kC(aPQW{z#v30Aq+wf zVOfrVX4{c(4Gs zFah7MP#iEv5N}g3aA7zwQQWXl3`0&d8opp~Q)n=ffN%m2uBmMrQh2cxcbOTi+Y7I8 zBE|6NiNc_S-op(94tG!VSp^l#1rQGf&(s{XL>d6U9afz2@BcD!9$|p>K5-aFu@X0M zBik??AIHjpuDftCQ+V-_fbk*#oQwdFL7K9$DO->m@7yx5L2cYd$_#}S z`>jZ9(bgD(DmcvuXdVK_z;ld14%AOPT}0nD!ywGSJ-sbjHG?1UvO)*}V`!Xd< z#2)*P(-dKHnE>3@-vD9+41fp=$HyQ<^BhdiI5~vX%t8-PM+SWJ!Nrp}lk@bDk3%#M zAsDka=RxicMKyDT6I0b9Z-hFtvpaLd@qQH`rJq8Svr-sBH)BBlP48D3#4Ow&MCSl` zbc8HebS^hT9?!9;5JmV2-r?dRM9Y9646ep0U@rSn_x~nx+F>tu01_>nFhnPid+>5Q z_gGft0ZThGBvZ6S=U+xcLnac0_09qun80)BA~;{KLjcnC&eJX8A4=O*Eh{rRwKFe1 zaNNywG0ZIiavxG?vhQ-OP4El~eq40~GeJnTk}<?m(CTFk`?Re8ffE+d04Pt)T?Du<&eqVt~*yL2Sxg!4c~k z#c2x*O~CZ#1~fIfwsO?%K`VzGxb|+VtwmhK_x~O)NbJF64}=EPZyvbz3<#lDhct6F z!~;smuZ)CG83MLkM2)<38THCcw?u8zLc?KRY5!ENfc6eU!&lh=cVEPJOTz29P?UKTZCa zw?r7t_xcPi?7%>f^e6Yqe31675BR-pO;G8xgapBJ@SS#VII){RFuj66L|pJXdiVOS zA7IVh(AD*^3K@NJO6=Q!4_uq~z?;XprBl10KZg+;g(xrz02sjT`8dW)4v-I9DKJ0) zWCkfS1*~&~+G)qu;QK@%RdJVyc>ff29)}0Y)0(yq$jVa$s~uI!NrZ{4^`fUa3!^$x zsDevCk+VZtFazQKd><0e;wIX>79TxFe8l%1@7C-$oKv`I`#f@kVXrW~Nf=kd_X^jV z0Fb4^&=-YrMc1wu3)kum_EkvMU`K`%v8yXDfJZV>82Y4edvq0oOQ2eJ-T3y%H_6L1 zwxD`{I4z_@s;z(C_-L z4TV_`Zs6!v8x=J);0pW@JkrMxs0qEUEDv=U{Xo>d)bF!VkiwwA#%5%^@iWfG2V2n< ze^ZP+sEEi~Z;hfyS?+H{G5=goiL~$?n7}+K&G%ft7GKc_>;T~Goi!U8KWlyWO0`lz z{ywX9M#od7r4=zv1QJ)1PsMbv$v@ihl$-+uh8xYGL2GscgOGv?88&oC20$8z4U3t; za1mq1i~|ei!C+#T!#x;a6e}1+AVFw`F8XoU1H%kv6AKD55yK=yV=)pgWQhS#!(k&Z z^eLz+LxxlhnaxN^v*1rdP@#yAUPEgBZ5H#PC%u zXt|WBvaI_SL)?W;d;e0sds!_0mh%Q!WLVi2+ zIAYdG48)E$={~msP`Sa=5w|^ghe*OFT z_xJxFzyJjtkiY^BJP<+kPB|r*1`~V`!U)kjr2qg1AfpuYe$q%I4I)#khlY^KK$VGL z%3-0AWOHpdy);mYsu4@{3`MFSk_f8JOvp(*))e|{tjJK3sUg#pTPeAPa^P$tR$iQO z$e9>25;M1;nJj}D2&s&`8?(F1213LfbId__l5NQv8*-9F>11PR1njDt&N%ae^9chD zSfQvzXgu1{q5rv7oJcCFtitLr-i}Msx;Ux2vmq5#Qp_)gMgnx9yLbbHPKQ{FizPkz z#4E9}7|ZU`oFH|RphPD^uCC2OjPxTO2~85UN*7v{rq^~wh(nETkg_0{WNT(g)p(7v z$RvH7NHHN}B6hIT%3G$51-koA!fw6&7Tj>f9hcm4%{>?0bk$v#-FDsWcEJXNd6(XL z9Xf>!0ssKufHZ_DZ^K}--1FD98saqAjZ~79CT3_ELaJBsy&iQXm-LFBgRT@*4mc~8ipr~&^j_ZFIhC0rp-87ndQY;9Sl>3Qb}sY z@R}K>kpDSi$be^xafT-3;jCQ9I*pqZ8mhVKQtVWQz^g?sKxB zFH1SoKG%lI7*_VUL4&d_W9a3vffSn8wEd-_pWyZ7O@bDdA-+sZfm-W_Ne;xMNWuKk)+HJob_uS2k*FoKVH&7I90SI6L zQO5ge4l>1@#pK7&rZs5U)GmmbJ)RDhH@YVpDf;Fc(itj`O5a&gyF~At?v(Ee+GX@{ zwR%uy<`^rZ5!jvx{9Y|$ykL&jXSscE!axlucefl3Vg`NV5Nx#fIo^y8Pg zVZ0shf)Nk^A^8LV4FCWDEOh`_0A>lB1BU4kjcRDk&K-FB~^EA{`wpEG#1} zFe)`QF)l7OE-*1LFEuqaDL_9wKtC)>NjgSGNFF0q8zx9AE<-##UnwtDEizU&I%5|i zXe={mHamDLG<7sPNJ4k3MS7CG0qk# z&KWb%3oFnKG0++&&>A+*As@~pCd(u_$1yn3Cn?Y)IMXmM(=<8J9YMz{LB}*k%05xi zDnijMP|`O?)I3wyJY>^AKgdQ^&s|^CL`l>~RoGKc)>K-^Sz*>nX4p+~*I8rQS#;Q8 zT*hZ<%xQAjW^37Mb=+}n+jM&1e0i~dgUx?|+H8Q_dV}D6f`EX3-hq4If_;UBg_Dbm zpO27`kdK#_m!G4esDgy3j*y_8oxgy9x0aZopr5I!sjaZFv8=7Ku&=kbw}Y?8V0J&Cu-B*6_#5@X*fl*xB{o;Njrj>gwv_ z?e*&N_xI)I@bK^c{{9I60RIUbNKl_Xf(R2TT*$DY!-o(fN}NcsqQ#3CGiuz(v7^V2 zAVZ2ANwTELlPFWFT*({Vj%brc!<<8o;bECYikhkvN6n!HUUYj`Z;~z~Ux2Sx%^XJf`OP@}?y7lYW zWg5@U-Szf=-@C{E{vIB7dGXMjqgRiX;Yy7jdhlYR>4=Oq@ac>>Zqi)Xlbd-QHrXJ zjuLb#VXw~rgsFYR&_dv?InY83r}BO35H7d|OCT^Z=4ur&Ip89it-=PoYeVQHI}ozU z?gebM3;~m@KEOUZn?AO-+8#Q<5=aX$od##DK-Ai$Ew;lEh)cROwObdmw9q?Hv^jhh zk-e)1JZh{0;409VBnT~tG5e9i|xwooJ<$K`tlg=KNQo}a>g^&tXDf62W#_0(dNspv~|7Po4h&8 zw6a_{$4sEV5KUe1)`{YmLjxHD)4&KY!_>|QC`A1)))*1<89EKXdlN1Vl+9WWBYdXM z(HH{%UE$s|G%z*|c5_5b-O$mJc0zljAUFzq%NTeAgme@WXPy zRXjsgw=UbyX)&MI>=;|Mx4abvzjX6%IgQZl;MY6+Tvb2aFGX5&?LMAfgPjoFBLLmf z*^6I9xBV0Czi;Sjp_}bcgSX7+V*~{f38m06g3UdSZL&k0bHtWE(>bmID7at+{~19Jzq*u8Ag4pe@ium~i6HA}(sK#7a+MhxM$U$`!_@%) z1){s(6cHi7`k_PG*O%vEL}mp zNgo(%2*ee>?~QMYU#sZ%MU~)BZ4dF^M)Wur0pjLt2@FZ3&K9>$wIgsez@vO<@i=;Y z4O{y7S|AyS0s{tah!9EG*D&c3ePmFPSp#4c>nN8O{v(E0v6T`RazldTuqFKRR~Wk& z#9%?NAfWV7E-jM8ilA{XPSn^Ki{-|NYC)D0GIB1OAgYh)>lNEm;K7V$03if0^V z8lxGn^|cX>;G~lrT{$*VrsR$o;bTVB`4&Ic29P6(6y3mgNikgzgXwAqlwlz0+_7Ez(-%;^?WqEaE+Qrf?;DUesPWMgt$rie&ZOKlQymsSEPMS3Z^ zlud1W@?t1Wf|)gD&8wO1Y8kF>i58YlYj`eTyR@TZ~;?n7@ zJeClp$_r~Ze4Va}=1sXgv^VEU7fO@Ws%d((n#vniLynrOvbC&cP=g{3%c_~3LiMXR zQDZl;=G0`p6@K)63}H4p`M<5mL^=r43a zZ*q{c3L!J+t&KGhgA#)wWdjGf&kAl=aH|$PiQ%}#>I)r{>sM+ea!`H$uy$;*8;CoJ zh>OWql}Ess90FVA*sO-RWL-J`bp(+zuH;5$XT>>J z93v~2Z^q4s$oW=B^Xi&yBEH$J@^!&_Z_7BAFPYUD&dmQ@IFf21mIlw(wt)44S;rw< zehgux2Oq211`Is9$4d9uyoJAh_LFD@WtX*07rR_Hq`~0-vH1J~F76Ai`NAu2H40wc zVV3_}aMijk28~S&jgu|Tobxy%i#fWNI5fr!iReMBIS_5REzvkm7FBB-41(rmw$}eyE{hA>*S7h4KOu9T%B5MbpSc@f5YI<2(X-;LXa3odj zG3!|e;g`t{g3`}CUW{`WW2Mcv^txOZp*7c+$!jA_BIgTe4MTSf441=uYpiTRdZHjh=mpZ^;>!vd%4$#I5IW0ax#fHK2QdUf+!b+ zm`79;MuIj)xFBaTCWd{8dR>TVPUb|JcxRpGd*%~F2Bb=w7>jttdoYw~z}Jf>B1aM@ zU=Bk$T2+GC1%CTP5I8tb!(n|fXoKK3bJ?d`{nvEO)19W*_k=(Y z=rHTZPbDNaM-yQp=Y1g;P@=U#a5I1ki8Uz4K@#YY1PFxqC|VZDZ~_*P{kDG$!Eo{i zZzfoN!Wdse#DnC7j5YTxFUUc{_KuzZGLJNPevHI7fkSjph!#;OE^AebQV3H{RxYxX zGD1^fSH*%RhV6AhQ3&u4H7>T_BF-^U)JVM=xAPY<4zn& z5Wsd2&nR*z0D=~&5b$<3?$(3aca6WvBh+_5s~K40ScKyPK(eWW2~nFT>5e2=NLTSm zx8scqL0y@F3%Q9vFjRw*`HxEf$bk74Gv*X6rbRhj=1Jo@VD}hsiltT5r;-B^IDP}3 zG->(HrPDy#z?j2gyuOBo3wJV354#%pi%Q+{aFy$ zX^hqglz$P0E(0@6Hh;pNMS6FzMrZkl4munT<}i&+zln3#w7EI;~)&tfmpLJU$AEu^WWMW!`9BU7cQFHee? zY8fv{DifcGc0S59JW3aJwkxmGJT!Jn>q29BNTgrdGn#2>JS3!*S*L~9X;m4frWvRc zf|@CYlJ&@hXp=#T+CbI+vRmf3oVyZ#iaM#-cx)FsIh1pd)2JE9!l)A&pxSti8}wi; z7@otAV6|3<;8~YHOVng93Mb+oc&M$vA=YV)Q9; zRrpzpMM^NqZ9O=X{>M2?1zq_=NZs06RZ*@f=b<@5o(|(OJXNGA11|5?N=;TaD2k#* ziiL9OqGC}lWEqw-3b9=IEjIcqqPa$3340|orlkRQa;Tzeww5RZvW!VlPFF=viaICr zFiK;WM58o9WfyJ#);z6Kb;HsrUpHldille(rL2THRcMDzql>enu(UIIMaHC-c``kV zD<^ZOv==pd>as`rh~h#m87rt>+a2*UNexsss5U~(NueHzIGbg*{b8Vmcu(rNsk^v2 zo@%MU`9CK(s@9pR>3FL2lB#~Rwj+cl_C~j#ablS>0w+_EW-E*ivtehWEc%rL+*h`o z1FWJ2umd%a%)v+nR=AoYV25)uFZitG8m&N>T|hH!W*bPO%aT20wj*Y@2vLIibf^ts zp#FBKaD%%lSzMWeyI{n*5D}sAdc5T1Ex>zV_6j_*d#f=RfDihwhIw4a15HutWC#nT z1iLxO72BX<*DGBMO=ifWoEa=A+Y(i_J0we&COep06sL}uu!V@V zDOwe@kS{v~!04M6H#Cwo@}F2?Wa%d7!j1KV*SC8B*{QP>^AwytikG? z0y(`=WX6mmoly)7Q!JhBSRle`x_Zm2sjFYRGjjYS$7+nlFvzbONi6im5VzTL*2cH+ zTBL>lE4;2kyboc#$&0*+>@bT=MAmsq$tV{5D!nZBp_&_(=43B5dsAAdwBFlw)bp?f z3}ZB^u@&n^7dt)cyAWl{v5JYod@;Y(Dw;+Ls1O{9>ZL_JL!=JjbVh2IR!U`AD$Mn} z!(X^`8>@-U^UKwvi%o@eo|mR`@uQ{Zg{@49@d9de8qJhu7ZPlHnL*6Z6Pha=zb^dF z)d9mBxSFp?%V=9R7-*ll3&=^~9Qa3#!36&;?A3LbPX5eF#CXt- z%bEp3#T6ko8?!jKi-FTwHe!P<0I9~q>c~yS&lY_+$7#_6p`8S3!=HN4i<7R?DPu|h z9C3Nm(w02YkBd-%w5uTXjEB>Y%?n}9S$*TmDrj81soSf)I>Z07I2fwZ3&ElO=&xz= z$#D9oCmFyw!A;u>ra!el49meD+*J@u$ksej6+1w&92+=F&VSjlFgwdQA+pH>Y5)T; z)SOL%{HJ}n$|sx5C<6?3smzkd%udQzPT3#dE6r=<&Mt9z^s6*;T~ZyJ!3w&0DLO=| zOfN***yVgLCd@{lZL(!*QShAFFD!h!>2KJgPbfsW=XlSM8d!%KZoX!qii435r$@fY z+Xj7Dc>B^rJ*^@6lk6vf#*HJc37)u(V=D$X-ztsim_R)_90;T~w~KI=i~=G5?YP(n zyO|qLB%Ki9-Hg6g&nYL2skOx}O}pJ~o8?-OKqJ)^H3IO`-teg040L?Ai8npBm@ydC z_A`(C$#Cqb!|(d20)5bkgWyG4oR{2@eAD01EjQ<#)O#_M{gXP#g3n2rz%^85izvRO zZ83I}G+icoS6RSq4I6LWzDE0su5>PSq04GWvVVBL+cGpf#MKC_iuG%-${WBWI%{vTw{xyo$~4a5`W-H$48t$9hif=NlqH5GXLk`;7RHn2k3(ibjoQMFjq~Q($$&-wJ8mN8}WbOPW)yQr^&6aHDrN`M$y}6s#C4~#4Y_eb-mg&q* zuh`ky(r1#*J~PVMbZtccUPUr~*_j7J8*F%RC#1b|Q-z0UX!%oMs2A6=v3<9*Vc1`L zr9I_xrEIq3K^~U5)uw+JTHWmBFuUStfjwyARDlLH22a{Xi`kn0@yv~AKxjCIW-ZPX z^?D^wwKH+fz2|xsPj@lDSDp#ib)NL`%-R`4eERq}3Wp|rj?V@4>9$tr1`6)uR*je= zY?za%V`F^FPJ;l}ugi|1@#d`oZQQoQp6#Y>^j!7kR_G`>aTe##h79%=_ijP=LHjm< z9Rx35@2z4l-oIvCsn^3a7)bHgLJO3hnxp6q_k9mNY^}oUFs(feH*rHHapShsJ{X=i zmwdMwe_8y;8^pSUYmKs2kDE1auMQsN%@Ewq;K~T~7=(kbuWc3dY%~z7eb2l<3~d;s z?nuquV? z$3ut^fgN-h5h6N*=yK4~H_#z2h9O0c6bUQ`NQ4zp{%c3e;=_pp^|{1YP$Nf!CSwjX z`I44Ek0(hEB}&pEPJ|kB0Ok2|Bh!xrah-G-ab;1gS+#EE+SThM<_4S5H9!fOG~&^xJ2TGzp%2*Me{dZm6g{FHF%%6x3&#B~ z@#4k?kMGTa@%GA=$Z70GOiQ|4g{xoxTit*uXV0KTzs})1V{r4@CmYTIJ1#?X*fYv+ zNCP>FzRDFdch1^iJK;|I$1ulSJ8itvfI+XX^1e$-uge4+2*B;;vW_tt+sYaF{`stskYJ763$Eu3xN||Uf=q3qma;mwlW;)ZSGL>s{NjTLC zt*oh7d~qYcqMECxjX;YtO)uBPjJv96LFdW;mGqpjswn>)NzJPY%JRRd9-@U93AbdC zOh>g+(=A1%%7MDXti<%7b}HTIRDwe763R}q(uWu?Y4MXcK5dl^&!8fWH6)XK6?Ig+ zyu{_ZPsil7Ae|^R^)y$1W$36jm2xoEXYmqhpe#$>s8MOd6?a^6%Qg30bkkM$AQ;zm zcS#xxx>TXw9DMg)qS_r3Tzr*7VT3ouwa(st=X;Ugg1OQ+;enc5XiJ0(dUDWKs}g8Z zi6251m_k_%6HPNICX!=IZ%tFxHS-H;PKMQGxn-DRmU(8HYqt4joXNsCXP$fZ`DdVm zPHSPI@uh(V0pVh*9TW(b>0hUd9+znU&LU119TYZ`c!axLMxi~LspigVp~ddk;juKb zQ|cE3{nF}}*+wgFx$Cz3ZoKo>d+(8U=KF8J0~dVoeF+yBNh})xn_DX9g4%F6#Wwri z-h!-a?Q#brTV2UF2YT{*(H3i}sPS%xV_H%NrgYu{hMXa~UzdG$+H1FcaKCTYeRtk_ zCku4ny<&Q=(HLubsCt73tMi!+BVI+V&+Sfeo0$h3cy~qbDm2@+RlfD_iF7@D^2;~> zeDr4|HhuQncfW4z-(M)P9x;dgarr~CUgqd9^n6Ltq-K2h+8^KIr!MVrWlI`kU+li; z!2Cr}f)k|R&2m>k3}#S+aXR4t20a*-0)8-NA=Fz3(Um|zJ*9mR3?2(b_(B-QP=+(4 zVGV6K6cgT1hgCb+4(~<6yyehbDAb_~duK!+CQ*q?WMUJY_(Yir5sDuK;uJeo#k)z7 zTtvJf5_jiCD~3^wVI-FMat--L)e=!z5-gjd@IDCR3Tq zWM(s+`Ald=Q<~GHW;LzZrZ&C#O>l-&oa2NhH_3TUbg~YZ$Qz*Ubh%D= z##5g2q-V_Z(M@#bQ=j|fXFvV`o*GrDOJ!I2(p$FFu( ztYal>S4qcw1{)-TGFz##OF!HEUb##yz^`Rj+&HYhV4^RJ`VrdxIrxVGVm& z#3oj;i)CzM9s5}S$VOJOlcj8BEqhtaW>&MCu`;GT;wKKxyxm4bDjHK=tft% z)1_{8t$SVUW>>r0Si~bHafwZQVic#?r}%WJIw$1N__&xQFs5;huPI{|+gQhk8cB|K{NsPJ&c{F| za*@v|V}uOt%bFj?V{y4zA##>p9M@vYu+TZla4r{~g~#VTvso;DE~L5i{Fp<5SJ9R|bVwRa zu1BX?(v$Wup|>(QOJ@bsc2-NKyW;6WCkb7k)^wvt-6Bqx<<$A2Pkh3vN`07c)moV~ zrEPs{`qsLWrcQO*c+I(9yD`|8{B@m2UF<6k8-&VUHZAEXYi6rD+PJ26we73xDWkg2 z$Ts%Xrrm5&ciUW>{uQ>XEN+{8n~>0Um$|L|Zg}(6-Qn&bxybEpVCS3O+dj6oV>R!3 z^P64&>JB8k*9Gu+CtTrZMfkw|JvDBRo8Vq)_`V&EZhJ?ZgA*?`#(DVc%~ky23nzKW z>nrkE23%bC?l-<&uJVkx9OfIBxW~s8KjP)RC5vxfi|aZ)v~)Gr#$RtX=AO2S(Rd|EA2Fy~n8`i0T1A_Q=CM_Mw;m z{bLRwtTi^iC@f#O-y!am!Y*%fkEOWrrKNYlUp(1_KYaAznRCEDUi*EGJkTR$`=4L_ zTmS+9>I;H`px4AOy*G|wTi|9+TAoU~$~(dTl%+_tA5l@QV@n`v=<# zz{eoEp!18^!<50wi=V3zTBtt>fuqR5VVN^ z06v=tLJAa(+mo0Bn7k0tzcC2_D@?tnW50!{yrWw?6)6*7008vUJ-MR~p9{eM%tOH7 zLmp>3LF-Gm?HQ(5n?XFJzM`ND#-IgU_(NRikR>FE1A+_;0YpRu#14FqOKZV@8@5;j zv_>4cm6;z`lR=V*#DKy?uF%9g%)`Btry2}A94y7Oio65pJS3bDx$C?EL>CThx*X8F zAsm7IGmg${6ra0Ag}{X^T&Nt7MOqw_1vH3Y)Ea$gfL|mC^jjMvq=91`2^y%swaWpY zYn;m|#<&9j`lvj(BZwSW#t7=55iCIxIUW|I#647zy^zB>e8=LG6$tr`)fmK)C`9B~ z!s$u145T%8l)kNS9>#D&P6S1I$qH}@^gBHl(}!Ga2)dIo z`v{n|8-YU^MtQ-)!Z5=L8G)J{2%obPo%D{i`$2XIfB=ljGUP=7nGS7?y;jpk`*Xwh zIUv!;T!;^1;F=CW#}G_Gk}$*)2{pHzGho04kC8Tsx}1TriQ=F&tAR@zNW?^3 zM1FKc0z{li?25q{k%b&S!-Nf?ObCT6$oqLn%Vdm*w6hMeOq3W5f&@r-^rel|K#wfV zu|h?(>%Cwcfy#SDQFZyc!3`%J{3o`vX5 zR;0jaB*vvwj?Sx*YcxPFl*}nC%Aa5i0VzXZh&nXnMuezFB3X=oThE zJbFP7`j|}j%tUq^P!i0{ytGgn*i7Q2L(sgwkc&Y8HBAydO_0PIq{K!2Yfagc!nuP# zo#egpo4c#n&9@{&Fif(86R$h1ksh(Lj#KWC&m|nf%`-K4Nwauku!BrqOeZ{olmV;P~$XI6kHhgR7;gqO1;pEC5g@4 zi^fSy4}{p8`_Od~RU({Im9MWlJ38D)?6!^t#{lXNrPO1Gy?F?5248pk!0RKCPG6c(W z<k;WZ}kS)|meO#6p4I1F4 zJayZU=vRq-y6>R{RMk_d{MX4nSdOSH$S_&|P?cHW?IoJc+1fb6dkVtM;8hlhJuBqZ z{TtdV1OT(W(Wsq^VBFCtozCoN!ln&U>`hLBAwS(@zpHgS1k6?~l~S)|#j7JMbeKRh zlo0O3&)z}T^90njoyogBw}|!A&rQevJ&3x9l+_48HJJ=QT-eGa!J}iE$Y8|$b=)~i zT+xLV#SsoUgx8R8*iNNe#Uv5e1zm>q7Y}sQ&E?;EWm!ta(4h#~C_z-y-B{FRn$f^I z1u@)!l-;4=5r2Ih8m?W|QQ80C3k4!#2@YN)9x9rRQK1CDZ8W>x<2{Vv)uV%6rrbdV zI@UCeUt|@>Jl5(QF3&uo@ymidFU0D)r(-U50687A={bR)K!(NPBzdhL`vt7v?jS&7q z9VQ7L4jj)y3tzoD&Y)87M2KKS zKs+8twB?rCb>u{5;mhR~S^j1JUH)WAVa%y`*Z~P|4Nl0873GN*i3LT+%EjAL&ShkN%@T~vR}Nsuk>y$TlE+nwrU+qP}ZWZP3swq4US*>+9#WZSki>D;|P`u^6s|AT$jK5Or_ zuj_R^o|=?Lu1uD0Il_!23v?5krX+lkar_8orbd+lo@rQ145PkrS$;WxHlruouMq_f z<$f592K$T4Zk#1}SVe_dO{E^ED#3@?qfTKVjdq>XZJICM!zB)VEeM-ZX#Vm*Z(i?j zow&U{hIN3Fw5C>VAT+QgA9ewP<&<7rKM6+x{AxZ=&>4RxZq$lSD$+`5QcdV+l}xVP zxH?|y7|GIww?G*{WyeQOz_YNwIoQy#IeS2l$3r1OFEz=D%b`6~n>bTZxPbRKSx<yM$dKh`8Jp4*J{l@qKH+kDC;1BF+Nlvcr@Ju^U|$q zYVYZC0xooq>t_#jodwfa)l)i!Ebirhv3ONF+>JY4N+Wmc3GJzjs7s9`s&&fokFiP1 z*hWKLj11zw<32y+RXp6zppI(Iay?J;HrR)HhF>0d#TB!jQH-1@L(-0 zb-Tww@)GLUpljoMFbFEKI)(qEj>SVDxPiRg`ny1P>PzuP#dad6qv7fXa=VHl=aVqX zTL(OTEQ5LO=#gKCfTxF;jQr)Dp-jJibCGGLU)p`oN_B;WX|Dd2H zHaG~Dp30qp%Fw>p2o_!rT(_S=V76QH2*|HRYp_WNg{?=4z?t(<)Uj%7zPIsw9VoSU z0yWhkZaiaAWYKbps?t2*D+$AI&|5!h!_-bar&`S$=dU1MxY?-`rQ&8T9;^h`naTc zqW}^mZu0U=7eAYqb}P+(07~Tl0-p9EE;aZC%)9t8|(Kv=2tktg=*w zE*tr# z-;fBECkmkXp`_C4%(ApPDN^q=uz@&0m~->k4)cd_cEro&xAgD+arGu^u1Mh2-DMSX zKZM=YshxicJ6TG?)b&`dI8g$4 zZMq0YLaK+2_znS!@fMC^*c$|k$!14WyAc6{K?rcOa^4mT$7jZwm$uCxAOhVV&_v1u zWKD=TwG7~I%=(CE?hWU|#rEX_332$kupV6L{$r9 zVH!&O(km(_ib^aOt3|PQD59*jhRoI;B;~F!%Tc1c*8MJK*BW*3P8sVS;xMe4eC*0fR4drshTk4)(-K-rHiWe(r$22Ou&g6 z(L9+XewlsfM=xPM9lUtuzTWN&$7FVRpW$o&y6b$A=R6j!N9~)f4Ay=OQG}2K_(S+of78(Bvw+oT4%|``t z(^nADHJb|}^43L5){o>(Q}Ld0FIMF(jYyO51W)b{G2|;lOLdCP&CgLe+{clz$#c zwusB>*PBu#lEyhi8`t{~Dwbn$*_LkK{ysMu7`0Q+&@jOykI5<@*rrvpp!bcjdBx^8 zW6OrmD`V?U6hBkjLDn}1TMj55Vq|cn=xX=)`~iwYvPIj%A3^PDRFYlZv^7fTGt+7s zHcjIFh66DKR!VaiK+M=*#eDj8PKxam`7eu)gg;>*U|A~tY#vH%L3B|;%7`SO(QCPA zw)WJ5eiZy!$;J-(`5`o^W*v)Gl|x-0j@+oz(&$VAec7urIzq3GuBgLF8bG5izer6M zeT^a{!j*8NQ>Iml(q@>W1~UazU4NfTC)b+&?{}_s=P^O<4fi!a?#=noCwEu$qzrC% zuw-kMPJ)d!<|gIcp{og~%yUh3^G6=*3RGkwk2(sZ*z!YkPma1( z{Eb6p+2oNvF#YZDPbf~KOIL9In@d3(D)h31@2`a(jp}G~YcrAHu%r^hVH~{$AhzLY zwZ(&^c#bxv#^1R(_3sRQhDRcpjLX__1i42I8%ni#uan7j6v&0B?+Mqpcoe4*=by3Y_!A#VG)iF25k$%4QXdGAf~_m*U#AL-7IDLt`h z_9ahCyCNwz`JJ;+vN7xwlP5ld(C|E|yf;D|S ze>XiW3Erown!ZlNHy5cCKXIFI=}RrJM?2*`+mQ1(kHfNfK%};r9LkuS+Zh$oYEaCS z)So=kr+3$y#}UdtkSnRBC!G-NJeN|vL;XWZTcyT#pHWdGPs){QHoEyX6$Tkk+dy`l zHSgT5)y+i31HQo{%i68S&Y&ol=a;R2jXIBR43|4OhgF<9^_0SRF%vh&vY8@PqfW6p zbyPY04VL(>-5$$@mQu~QLb0PPjlwJKVqMbbl&K)S-ds6ou}NyW!a0w&&Y^KS?1Cxn zGn*yOvYLihoxybMx*+{tY1;DmB|o;+xYy7y zsOae0*qbM#0r;UxKyEu^aG0}HSJjJAE)`+W>mO;oa<7anU9a1n5FR6E$5dANM^BR# zTe-CpbCwDYe;=7+9o}W)_zpcZ=R~? z@_WazHNPNju%b#&PyD?@8T?E(qqa>*QgIYeFrLV&x6h_^HO9U(m~*A`8YM8@mxP*H z35EM~M+>=?Vg5W+H`QCX(R8aYWjxcJYhP@}Va>;GKN0oJnh#WJDq}Y^w~h7b@8L3P za`CYhZQ`AoSY z$RF%EvNKifMMOy=7P`cfoY7Kwx8QMT=<9}~(NhOV@H&|JZ6|#5X+T)$R{K}!{^vsLq_E)5FXs0X z_3oGa65pgs$Cp*t?$=F_|M^+9-=wLr=H8a?Us9KkhlXE&PlUBz_rAY}{ptRA6drl) zX8L&DBYpe$d)01#BU5KI6_u3ShV0F+cNlo9}1>%YK_0|3?|7uFvD z7nTbb2Y^q@h0g&X6z3vT|3ARZBmj9a7kLwaa+r&92|#_!Mg90pv*e+nkfGz`{R_AO z{Uh99a^+zPkzq;YVI=`xHS(~H$Z#z3a2)=B!c7htLGk~D8#1DyJfcZ5;>A4TO)`?h zJd#T?(#QWtxWUOM`xI{e0dB}Cxbi84$bnM%KqYcYt$a$HUC)^*N(XXkk9=zX{{wDl zbI9q6^XaO|>6`QEyT}=a@);({85eiyEXbJ-^O-Kmng0Xa6tJLBu;LW3l2EYyA8fG3WE_kX}mH3ffj0e=^Tz|bdf1NygcLm_lnAaqF~ z{P;iN1}KVCC`tkpqxwJLMnbAkLJ26TRVevC;l`s-+8-zrRw(ly;RYyITqsu!ly5GS z|F>{62~=DxRNMqA9sU=%`2ecG6se$4s^S#=2e@IPROc#E7oyaV`Y&)}M5$#_q~$=V z?eSmWCXP}!tw=ZLzram%k$xAY!BCOGe}NmL!y=05@MysJ`M9eAA|{|Gm(TqUkT)NUx|E>hI)S|#pA)E*Wk9titx z4xhjcwO3e)R~)tX%b`xnCva2ZQ%(J?`N)9}ilw#0caqv~vBYoF(!_(>|C0LqW6Adq z>HxVSe;Ato0yi`=D5XLF18&+Wf|dRcxM9|!`7dx&>gPlAU*M+HIg94Mz>Sq3a4{{S~ACmJs_i6kJ}B&tv0rc9oI_P@f7wHP1m|AZS}jKM?ae+xIXnNkJmFtVA& zW&a2_^(UDSvi}ios7`)-LX#eN# zuL32yBCYa&12@GEbS3`)H*}?8<)s!j$(NE>ie%;g0&Xe}4dtZD51Ps=C+Vs_fg6&Q ziY%Li^-tiYyykAUgqK@PfxH%I|{{(K7s@6H|rG*$5EUFeA7?(_<7hHgg9#zY6j4Npu&b}8? zVO1;DjBCwRYyR*ZK@3wvr)!H<8=F-l`BhTojGK>DTOU;ur}k2}jN3TXJ0uQ62uxBK zOuJmwdqUNnbeEEBO#52Z2S(M+a@CS*Af`i)>LY)qS{nyR7pCL1>XV#HtSBbQB&O5m z>a(tDwDL=d`b!b0z>7_$ONijhOQx&G>Z=c?YnYmA6y_V8ni~@4TdJB{CgwY?nmZxp zd#RdxCFTdMng=81M~j+A2j(Y_nkRqe=dhaRIOe};HGgxMUy5s9s+nJ#YhJsU--c@5 zCYj$CYu-1RKMrf&^ZU&&!6=PaK>FoFpc%h39K8PFc`#L3QY;#Hg6zsNz60L}xT2RxIf{EJ6be)L{%^Gfc!A zEJs#c&zpM9Iwym=&vORI-|Fyxu@XoV;JqTiUoq6>)Z&!X5lyiYQ>+j`hU0Mq@e7=Y zpXx|Ktj-&(-c8OkS+%x2tN`kIa^`v+_>Rkmtb5Qv=0YH<6NhC3m*bs{0(&~8>nc-&HU~R* zdIPU(1NRyX&s7x z(nfL+yE4@MJ_?647KfO0qeMxan6U&W{XS>OwS*&wbb+%ZGrYKCwYV{qglD7duY2V0 z9J`_S$8n94DI9XcjS9c2p%g0gg#-F&0T85i5Y!qF6bfRLM4S{rcS^fH zDl~UBVNMD(PQY6r8D5a8IH#6nla?c=wr7*}cTOGCCNeBeit|8HFEQ@*;DCs0g_b6L z)6ZK|$IMMnl+N1!z(L0oMB&v(>l9@CEr=!}$k-L)3u3b|X_Klp1hq~d5Xhw#&S@sy zY^Kbm9sdAKdC)BZJ?M3FT6%H;7C1uI@6Qk2#LpX>9`5P0`)DP^xh4APB_M5EJUFcS zx$J^%yZh*KgN&ntYziRgO2r%yAI;UdoN-&6Et||ux%4U?N@|-dg}L2cQLXwf4D>6g zVH^4$IP8W!xZQ%e1NwPlAbDb*yuOKh2KRG8aXCRgak+VNM2Jx$JvmQt`^j^uUWt-1 zJXuI{e}D1>Q{>KyXhurr63_5xdg$kIYvJf=_Kbhx84>pi=jQS1_lytb&h4|24*t9n z?wBWf4KXr_2lX*ezx38f+y}p-77Ol{?=7v-d&mLGDFGmsKDJr7SuNIHf-5~#jN>9!PMPX9CR=x&}g%fIx)oFr2`m`h%w z>(7nW+)nc1wxn%z62bP4{hmKsvf^9p>3Qr*9;vPaNsfC-_S${Q~jk!nWt4 z^5ubgNsd2t^FA&XPidZ(G-19%Q~8*RsB}}-49t)Wc|sdd^S6p1o0=#3M(+4-56|@W zAlN4=1~C8@L`6$`MK@pNaC_wxU)553)s{~MY!F36Ulg}bA&9T`iY*=0#r?|0@b1Pi zKA58v;`6FFa{q=oKHEBSJ2p6`V7vpQY{n<7R z7}Z=Vu9b%LO=6`O@qe3e1`9;F@0fZOK!pqBZw+HddKaMyMtKGkwhBjk6PSh!WQUTT z!Ic)k3q}PKM8^}fZ55xg?QG={U*d;aIul`6fSp3@6~PKb$@Oy^fJ8m+VIN128nE%= zQAq&{5PHD-HVxzHi{+9V;0G5zX6yT{Cq0@6&ZE{h==g1w#y`$XGi2GXRl;9V0&Z6w zbhqv*fdbXl+9S@|;WzafzTYMgKU_~Da{kR8}LC^>wh?*eOG4WbA|C?ls zANlBa*HgdXo6t3E_cf~U4Q}@hsqigz_bs#V9qxBwowvb;Frfk19Y?tFxwP18DX{(b z*ljVeWnXc-u2J0Kdq}W9`q59p-;Kna|@UCFvy`UnG(M-@xBqA|sFZc2wO{HQ5)>R85RPv+~p<=B$;LWy1f+pOq zWy&xt6f&Wrn|$FDi{j$gy-7NB%yQ9)2Yqn-7G1t7xPcKI)AJ?c1fVOKLL|#QfM_NB zK1qxp5lmoUCc35$&?3?2Jw#y3&F*7qFrp?3b;Um;>B01ZI3`yge&Ez>c0)bPzy(b1 zt(OJkOKT{&JE&*MQ>shMv^ZM?Ui)XvTOpMw2EK({V&PqpA4k0LVP>ve=UJ>YST89d zj-PFLT--lAz7u*m?es_Da{Ci`yBuiDaC&aOS)-lIm8~`V6Myr#SZk{|7hFCK^gw6c zJI&GDf~yl4vvl;_zV^O49Ug7@Zp?Mij@};+iu=wy4khO(II-S)j32QJ4)Mtl&g{VY z!EjJq&QTP#A0vF@o3NNx662+L0WjK1-2eN>whwDF= zLtv#c022Y{@7hhWt|H?2JuVZ;L^#`CgaC~00V2*)ms1x&)bm4}5hiru%+0b1w|8V; zjQ;k&AE{&IP0KNMV$EHA+}TzQBC#RXDIoeNcVvo8T-M3U5-ZPZ-Q1zeM@11~jR*G7 zX*R%m22hg|y@!;ME&0xhD*sLC9pMPtZi|r440?#3GDhSpSJrOmOPq`_n!gl91@Ss9 zo##+ufYI7gsIX+Lj@dC%A!pHdoxL=ibyfpyJON$f3l5q=4(1Dbpvad6q{V>fSSkl5dJ|5X((2EK2;INeujCD z_qgJP7#sO0m@= z%n$`kC>TWU*XQFl1hCN0NqEGYVQILEm%b`7QPMB-{JGx2`<7ciW6rAav<3)A^oF6I z(_N1+iSMd4{>u8K>bKenrMaPUW2URZlSeoMl=0tTbHS%SREwqG75yQ{MR)SK1!0V? z)M23lV0c?o218iDC^Y`OE6HT^d_@Hl7l%bIe(JnOmhgp?=tYIDPpbn9rWc8dN{nC? z#xFl$RQH$C?E|ItyP=#qk8tF)>^r&XmGPY%6rxt5VRh2qH!Dqt- ze}O{J13M7KVINWT*hYb|266#*VTEIy(MeM50dG8EAXJvVU~c?<5jTCHRD=p=lwE~3 zF8qc_){QhAV*wy%K!*4i88z`USR&@vKQSCyG4b!Fq=Uz3bcil_X6P*g{6zkpYB`dA5oq0y@F99 zN7kn|GSN`4>A(<`2v7Khs`X zh(l@=?|@wDs*Az8S{=Bs9j@^@M0ZVo9V09afW_B#{oYV1pr;6qwRS8GJ-excetk`< z?KSO?HQlF@+|gz30W}1EfR5M8!Tn4u26Sn`-Ri7Z6L76x{oXv-jyPuTS|+D@WJqNL zQD_3u_LBBe4BI+yh-&Ply7P=u*lLeYfVGtb>_Q7}8?wF9&zHxmM(dY$h#ZSr!C)R% zVbwSQm-0q!H>LB@6fH}PFn9l=$WP1O;5!TVGw2}(#ayBR!g~lspa9YnWnWaxsa{qA zHnGKT(iQe3#!|~Ii`q0qsj!R<)$1S;F_qm!Gb}?SZgBK_;~(~Wh6t6knW`zkB70e~ zW$q7av>MrcogIQ$TJG6HLc@K0TDCu_&_R~5SOu`HRX4!^)xUA7Qyg9X8lL4 z^M=M?`jgvQhfw~3XeJ9r0dpG^*eprLu#E1IncA2 zM>ctZV)VI+zFPr>jX8rU<5j?>TM4XPbN)NNx4&BeO!Yz0kKpEjh%ABdCG3=DT_j$(qDT&Kk&5hy0L~N-V5$x zntBz=dd1y{R0*3R@xmC#Ea3jpwZLv7LvEGHcf7~xnR^_VeW65IX1d6y9+J)hG@ZZg zRl+Ismu7FKq_U-MKS-Ut%B&27Ew>=$gM?Ekz%R8+-glhR%h!R4t!IL#2-pUZ=j)#< z1NfW(^M{b^EVM9HaUiFC@}#o*kRXRbyOg9p{8A*T`*;xE0BnkE{pkpxcqj>}0z&<> zIkHb4Cn|gs&ch3iPGI?5>y!kp=c{ZG#PIBY!CGv}zyl za{WjYg9g4G4#Eo;S#`qPs*TV>$6P`Cl8^`(VByX|Txv#f9zuN?chqAs0VxHGuA@SS z@7C!|A9=9UX^26Az&~`%Oo4reQ8CGfs&!Zw2Rsn)>X#=7YR4l%$8kzzxN1B}C~9e! z<_K!!)NCsGm$da&7{k(vUS|YF1I`1^ zzN<0`kUJaJit41L`b;v@`|J>OUkhLoXRf>o=L!!JLc&RQF@ho|Y^m`-9UQW8p>?kB zDTMd}I(7-#opmXlrLq1z6f{CL1xG+Drp<+>?7uq`5ehh$0$fG_QtWY3Xq}B3Ps9c# z&&m?bs{`g)DrTteo(l^v;6`W&VQ95yg_td+xG^Z-)nuW}7*FLHLlq^MEenM1 zrAzz7;UOe4)mV7kWS{2N_U9z+6)er1MFOpS%GuZvP1wbydFb!hsDnn_oPZv#02?t_ zRZBkjUAqqR^f)KLVX@6~$OIk)C+#eN{hk&hi45dMM$D#WP~2o7uZ)VV$_c%124M;4 zlf{UjNUisNzNDiK66qLaFi)i4KX%y+mxabev8TMVNzu%Q7~!IR1CTSZ-t1y9kt?_h zD?w{rP)9#A1(KVhR*Z;17g{zet?{KY(xp=K%xjl?29|>u5XJt^2jl2zsDmWkB<>v4 zFaFS4Udi6NIKD)RL&LDRvTdI$u5G(uJ1Z-mnj255v>MsuSG(s6P_BJg(jGW-qKeJ- zC3B8hq#6Z{(8TJYSu23@sLql2^%Il>axOCa|;C z5EEDiUZKhZQZ(%`oSbJmW=eoUb%4z-%+?>)6%CS!#a zS4?-^T?(C2=P3bJoxxPY9~@NlSB}^9>vom6p%o(Vkdepg&&7{BUqEyCGWyWe(|vT1~9NQnWCi@X=w7t4B49>f~`?G|q74R~}rKSg6l1{6UCHYnz(7@YP0ajb*tF z9_$H{1myZD>W7c4x;kkGYeb49e=nhyBQ1A!8|nP zwSFl>l)APU3k)pfoy2yeo*B+^`NCGC+af>*xanezij}vzWAj86`ddpU6&Z2p*^rMU9#qJ%|QdiLyd(s(|TDUZe1w#IF_qXX9;pOVHzU^Ph03cwu~WJ34Es9W4hOaJjo^v zxHdyv%jIWSVS43Ur2GP5IPFV%k@2E@)hry9FHktgB}R%YfQ;nV=sfBbEfb&5y$YdD zx)L&k0?Bcm30vXor-i6?5p1{oNDgiyC32~y;xe3K2|Wox8Tqxv<}^0-F%0(S>QYkg z_^)ZO0X=xD8W7U8x|0@0(K;TcrrDNSGuN#E&}pS2^&Rg+;%GhtNenog*Y>zxG9RG_ zX`Cn=)a!Up26^ot#TV5t#9Crf&7lp0g7WIIxMS{9nRVc`Ut>==zrxpH6CM&^Cbnlx zs(6xWQrOzeDN+6S;jA9_pi_T5p!D|nJU3zLbGOZ;S`qr2{x#pu937Y38LIZI_V zc8eO=jJowISzi)=;1{VTX+Q@R8BY|oUFEZ8$v*0LSE-i&?LXU&Ccrdpm(Fc(xe*1& zkC=XK-5_rhG?$rLYhC!g=JhIr%fUSC(*W8)&5BCq6h^KlGchxctmp2NASr}CYLETP znhZxcWLmA`^z>6wAXh&;CtA$w27g3Z>Q{vt@Wp#Lp6E}ih3eO!bp6}XAK~Rc!*SXx zIw{CUVVBAT4WbEph7R>pk_VEn`13>vTzuUgS@2_vr-GMoH%APpgZ0N+I+)f1zh_0m z)W&JPoFLI>uoP!^ipEXqo=-x%PF<+uXAlrz^_$6b2c;y4j}XjMd{z(7K|}DTxU1lS4!IJF1wUZ~MZOz@ z^>WdlWov_mUm2tKW-DZU^G`a%7d%Sg&+C78$T76U_1@R;f%V3mM(jsyr+cFd(*%s^ zgDTr)g_%AgI(DK&iuc;M$XQ$di7?OPlBnB-XOtRg$MLAiB1D23DBPIIbrl=ts{|t3 z*h1B(>yM*BV{@=T))o<|jXs3xLh+Y!{-;tu{?9f=X)nUfV``k5^ues)d>Z_m=^_R7_bS!IEwz^XetXZ=bJSJ5xV06@UliF=aKT zY!P;aYLa3YTdNp92y@yP2uu8Vxkb)q#IQP`cb1nFb2(qTca}U!Eq1YGbLJGT>{Jqc zCH@8_Cp?>~2}MMOfk~xBO-War5whE0_53rHIBtuF3*agS$4@SW$wym3by%3=%M&YH zp&tg&MZ4&yX)3(HDtEsnp@cN`gu} z#PYHCBo3PxIP7+ex9hYG>WUqO;hO6;{Uv6}vImcqUobM5E@1cZ4JLU@A{)o~v;z)! zBpl0^V`z4KPpXu0nZa}?lK=zu1#<=(E+Fm;3Rvq$lPy>Po>shN3rZn00IbRbYK<5S zO$&ek2Bva+hrmT2KxB(}M$Di>zte6djW$P(0~Q-N02ULVQ0oHO4r-ijFU_nr>T<8WK5Dh;)#;b~Q#a`fE^zuvdG;=Hup>vH2!Al>M&Ha7$v&D??aZd}) z;6qA(rtI*dg*-MsI}B4C|9f^9ZFaDbm8#F_bSMPZj}jG3=^B zSx1mb@nG-GbW7uN&am+vx6Vtc)){25iJ}|KiDT$x-1Q2I9jNv}gbJYl0bUYOjH}Ud z&X4gEQ0xt`p5?Mm2xu}S5sQntd_k@{r>ec8hx!3y}d#ofsAh5 z&T1xL#b_~(aQ|D5kL9sbd;Zg}dWc@^%MM)Y)aS-Mb02_ln-3OuiLDu?m5+-TrIbQrt4Hl)Nt&n?3G~_o` zna|T^`63XnSSB+2zyEv(ef+itvNws#>eA(cqek>V$-(m&?#`wUK=p!Tor16`bD^1+ zg?Z4eIp)+gI&h#F*NA0=H^k(tS50{DohlfsS&>CQdomYD6>KL#c}TqC{8h`5qLUQs zdT5mGfq2RuJ<%z@lq?0w5SZ1vUX{*1@)$RHb>t}MX70Vlm`nl{x_|OzN zKsqQj64@w84~l$CD@QV3Lbxar??&mgeIrcKnOLORx}c0gGa2h&VjmAO2$Ug!H<{68 z8hp8XMWERA9bA+VFM62UJ}I-B488PyvYZ&yr>u=I>J}#Zv$GyJuzxVwQ9>RhL6eEO zgZB}|B^Lv(kVQ)nvCyI0{axXf6gwDQ$%Yoqmi&&K=O$3$IgvHQexC*jQHQIpuTrq> z#v`fMq&+FLvj?3z<{LUOp7|Zqo(gkBzy7Y?CTEZb%dJoIj(iQ+3clXYIJ^wKaUsxB zMs-67YhKo!CN?SojW@U)nd*8hqA4C@?5J%bN+^kVUIY=L+Eqk_I#B7PNIjdXzJxt> zZoi#vFvf)0zUFREjUJLWFa{d$J`Y9C+Ge`Y=%E~n_E_Zhgob0%rj+|)N)5hVw(Pw> zxq|431=)4d%A`RO0$h#;q{){0HIxP=d1Xjp79+6Mo$6^I_bckRUa&Ol00g^AQ&L1- zM$Tz@k)Y2t?C6zo8;^$USan&yd+wMoDUPiLJMgGzLp4&$O}_}DjkgQ1Lm!W1Jbb@m zv(vTkf`RWud3n-7x$bfF(=zS!6iVOb6WhCh-zJ5IAR%rk(BX zIn}EIk`fwep&7QkY(&}P5^;h{n(z?Z{AD{j3F^SG-0M<=AkLJVQYPSf87@uumaKAy zW@4YAGHdI69P9gjwoo1YM?@I51in)45V5Fl@&g_31y|oyJ~q;t3E&cxGtnU<2xic? ztk#fAZ3r6{k5EHd(Y(LdG+$L?Gn}za+BL}(a~SRQI6EMIN!6Y+c@f;5N(iNl$1_}{ zAs{OYdAtBHRNeI-sES+n#NtvryYx9Vl;?h#$J4ztTx&v7;_&YigxN-U+p+#?YC^pCb6 z;t$N^2C#R(97(6*fh{zeGPK1`fveQgZs)?5|w0%*6@p=dc!+!NW-2)sNYtsjwsED@TQ; zgTW>ug46NhNuza#v`z`0bgHlQUscSKLMqzQEQAiEm=4L4t?Wo^hs~I=*%SdSALNtE zBQd)87^Ic6#OhyHBY%zykw{RIptD7G(wg`o-4x(E2z}D&Uy}VaK)$#rs%nM8d4+a& z#;w|aq@>>DNq9m?xx-u@yout;j{OODb@D+DxU#PEeF5f*wx>7EC~U1pgv8w9i#0d?13oHPl)=C?OA( zMkcI1F}R^FIF!|&WbWG~wPoS51BogI%M22KAL>*t$e(TY>kbr_o)j8Gy*Xqr+C_*W_;if8A+5oeTeAeyxE*hoyQxifNzGrncaoJ_2h80E({>Vj1)Svrv( znf(?kgMqu%KyAp$3~q{tr*|Eg4Ny^1x+o6 zRFX(_>L63`h2|uIQj@wyLIxL#CM%2;vw&7F5LyKX$Aot3j)d?X1vzsVdf9TSc^RY% z7aDI_Aw7{BgEsJ-;+uAJ2CXC# zCqDfroW*JGE!;-UV;#rQBeUPD3>ru|JdQ&qr-tCA2U%Hbrlh=ua5YE910TegynkG( zsyCVAwd1?PME;OZN$^c{S2MH41CNh(&TbCn>dYkRF5_?g8n+z$*)jA$vNou{{pm;^ z@B1~W11ApUkL?NgkCx&j7}_LO$?Wt;kR+3=%;+E7C2xX$$)A7!CbebaRF`>Iu;n~i zC5QE*8tA6NQ#GIkXO6%dhOrz+FAt}ls8L)|{A~?&uP!IrtE-qTN z5CZ$y0xuzmx9GSuwZD8ymHFXG8v}5_10X_D!oGJ_$DGt>>jd2vM z4PUXVdRcmVa#nd6$xU$vd1-$yh+(;3GG7d`{NR(s`UpsZ7r}jEbMGd?z~esV~0_hGdcZ(C(tzl+V0p@_p>I|~U{!jw!4Pu7 zR=Ja-31XvqW%DjW8$+|i)i0n^g>op)?7Altg9%8P19KNIt23$e-w*$TSsK?aIk5`H zfrgWpU#9UaHhW5;S6Z@_3M!@uK$IIT^OGpmPl3!xDv{t#vLYyMV+*ehlD7R?E;rU_ z@T$oXKv-d;AJQtBBqvyB5gagztMh}%xU}?pR{3CH<92Zh#Zqxge~GxfL})Zu*Q(dw z#Ab^`NN4_5RQD!b+j5oVV7s-(NC-yTigJ5Gy5A6ue)+8qgiYW0tMI_9ulTA_5d9!- zYAbqCKj_kjM5-a2YXzIp1#0Eo;K|74(YS{oB>|XdJ82kws8C~&75E+%@1ogZ(Gr@^_8^Y;Add^r(*qZObYi|0tjX&N?{;pT z^$_|}eGf$Bora*81}hEK6SnO`W`UpxfZz~;#%u(dTdhW-1IqmwnV~jPU`>}xJ zV$J=+NCQK7Iid;!qpB&AF$1!d1MRm@VD_{zw_bmNF#v^ zBf$zIp>`wTmBSKhhI~ZB@CqK`t0RfNq7e#zQtkd2(*EH+9T0&SR6GBZAUP=Eqnl~h zPZINkW*UMf7c^Q?IZB(|haJ#YT{+4a0NEHYWHTOHSUL7P26*{r43l*@ongFRVSLbT zd^l$OPvy9;0#N8-3|s+;XZ51Y8$EUEHY~N$huQgJa5vHNv`-2`UV5+7O zC#I1VC)ds?Hr^&Me^Tzm^x~gSKSrapI*neP&oGYnvGpKUvm4o@}p|9l412$f3-Ds{ZG~U*u?t8#rl+AcWozOz2KUN;hKQU+O#6o zcTq&cn7+#F(Mo|S6~)GfNwQ6~Qe* z6VS@WdjsA1yrIBU1;bc>>=KK>Dsju^`^7dY$__fy4yMvhx4~AJ^Vajl#LG{jH^ZGX zQKVy{^-6}R8-rc*m~EepK~+V~)6Q*Dls#6aJ$9u%PKUh=_nr2+0s^BAqAo%b|Gjpx zE`u072$H2cgKdWO&mS{ep@8_r(1}d4udZ~U>2RPOcfgvnXY+ec;A2^+i$H{AU(RO| z`3u+<loZ{8uEUXM+>v+n(KnQ3{Vo#2%L5DK!!WW#Q-?{$ zFNaYw+qAxYRCZR!Ym+-w^OTdj>VAdplSi4=CqE`neqNq9oFCbN9|w}m2RjVn`GJm( zr#Fnz$722a?vYO1h|i))Rv!h979vi5RiFKyJnOtX>o$tb+YByHI>oX-wT(UXa9Bye zr3ap$!v-8$#B^OEoscmsQTMFz=5Euz@Ah0?Y@uB4FkS9#QuJ*y4j7$p`JU^j9&0#E z-lBuST%S)XO?Cf-kMIev@Oy6V zTZHcE{>kg^5$!(Ze=)gV0qu@X&rGf4Y0&0+&B6t)?Up``1;6kokMb$6@+(i@jO^17 z5Ajkg@fbnzQ{E1^0CWMM02)8n?flN4jRWYr%6Bco0Uq$T&fo*j@=MS3P4Dzi&(#f& z{~9nK^AtSu7g6(L9^!1I0I(d(bFI!cU;|7I^0;}*MK8-ouk;jT@=)*gZx8ozFZUMi z@?%Z)RiC|AKM`3Udkl83s3-%ntZ7)HPKlhVQ`IT?^ zmruY_Ul(_e_t&fU3c>d`uG`5-X{R^U914d)c{d# z%eK!Xo0a>&FaG0C{^f7}sp?~A%Oap9G0R|51K2Pn_uF5$O{|n~} z(g1-1#fTCDQJfetqQMA(G-%|Y1&kOvbnPta)Avu~MvfglegqlPBSw)WO`b%VQsqjP zEnU8Z8B^v=nl)|S#F{zm8&7MV@R&B)VreX5UGjspQ22vqp@VGbH796HRA zxNwUcu@XNnoG_tbhXWT*HcSf_F0B$LR&3|>C`r7fO`k@cTJ>tytzEx{9b5Kn+O=)p z#+_UDZj@TNhF%+7_;BLI$!dK2HZEP}yq(`|hpU0#gbfY|E^H97;)aJQ|3_vx&~T14 zIm8QW(f#m4TJ1R#o7iF4$B-^ZU{|9<}c{r?9rKmi9Nut2JOyQwSV7G$u&29ZmS zqUD&I%Rmcd(hG$HHf+GUg#epuu*%dkNT3ohYX~C3)bp;y_1N3Yvx+eC=O_9u#4$%5 zcjU20AAbZgNFj$LvdGvFv`Ik+mt?ZZu^^0aLJEU0(#Ljyp`ou073fg13K(kfuo=1= z2(uBlBdmoM*rO!}9145!yTcOG3>b4l^XbMa_vEurKmPOI)wr--;S$E%sH(q(?rMF&t@5N8pnTS2MUw^+!7OrKPr4nD-+98IP z5dr|<0BRQ!5j=*%?bf>!!F=pZayQP-Rmn2rY({q1HMnGxPewUql~-oDWn1-?iQj)` zHa1`h2WHmg)exrT0002+>&sEO6VFug5-Tyh8D4yh#W2ftHENKF!IP$Tb;dett+(d7 zYp=fs+a{P}l9^_+owOMpNt+A%sto%I;5v*UE79mw%M3AM|Mt>=^TqVWgSy04B?B`e zkufB>ZN(R7ym7}LhdlBh$A+owvoC+Jtq9e|c}mHj;&}wP1*^DB6jUso@KI?t0&8unbmr>V_-L>+8)!^3n`w^?Oy`gpEUhpIDTwW?l?L`DP9^UX zUqAFIFhUV^fh3ZmL}oITxlCp@lSi6V2`4+L#!s>&l+N4;0nG!lAkyFj4Nw4>c6q8) zF^v`qe4Qb4U<2>~u9dHonq|5~16)*u9mEJ?{~8R}#baXApZ^4CKm|I`sz5U((wt@u ztGSYE`cp47z@GIWssOnSZBF5HNChvNDjTrVh=^flne?_XfrzS?)T6~OfPstG<$xE# z97z`mI#Zg~)TTGZ=}HWW5`-p{e+yMfL$PToEUIXgm@29R8^=*U>pI$6qA*0Ps<+*(c2R<~Xbt|*b~ zGI@5$!-&oR*TF0402xSArgJ@XOy^Wd{~M>+jcZl%^iX(4q!1JkgJhD$Y;c7;T;diN zUYaclXFF@Q&z>Z-$kYeIa53A$q*hZK62Yjf*CwYy2DYlgD2tr-PQrW_Z<_j0iKf$l z$2wA`#)WTu(0f_)&f>l`t)OV zOu8|^YENPWR&U&B0aJ|tx4s_+afn4c;@jLeB>B~^zxZ1c|B~^M(Z%OBr52dW6u2)2 z7y)A-{HCgs*TR1!TGCkb(ZH5BJA|v2K^As^9QZby?@b8}el}$)SNQ;t1qJ{{0Ogth zgUd3Rh)Hq)fE+MI%Cuk&F@DCm|D~V+05tdsI*7rMb~FG0Z1%}MjNt zDP!Jpo}As`5ddJ?J5ffVk0Fv~6#CZx;0K?Hppkf#n%3w3wWxKS>3x*C8TXO0vXO%V zhBW}qZsQBkP!L^XE2`Nh3G+s>9PN^fxy-52$F+Bo@Ty1$Xd{4ZlmT#Wog~{&xBvhO zP7-Xpm>47|PVuo;ERq(7|1r99j!!!ZC}UTh2%HP}Pzf%k00T6Po=}w7ULleOjeSr% z6$@Nt_R6MmLM~&ZpOt@^il0O zuZ9)?Xn@y|q7OS$TqpXVK>+ZK4zz!HCj1z}x%<3rkQ_truuknJ;6l)+|F#d`()F7ZZ${{-{&2`Vl( z`5#d|>)nBA`;1-o{~M_@l@D%}F;98RwzoS`Bxw=Wfo|@q6J}3333dW~= z<&=28>^jLkKZ!q)h&}t83Xl5;kPEqD8M%-sIWW2s>*)+tLJ`1-fYcfR5;(67NdOe6 zCpinSpHmFT@DAM?Iu3FXIH{P`a;;Y3sxDy&(NO>tpoOM;I+4gS{`-je>xnbti7cx+ zyFiDyQM=QSvLI9nx&wg!(+Rq30FuEtB;1M4(*Yu2y?=0rRckzsI6fdSJdN0g!2^Q8 zD~ZbU2+T7y(9;ON(}8d62sSJNk?1@=+d|SSwb$c_XV5hrFor9920qh)%`=JZ+ksMZ z!;RR!Hblfp|LX{TXa;jbJ&^D;#WNHoWWuAc#Mp?vOFWIUdqSoNKLeZpuR}l2s2EHN$d}1TSAV=LCCs6p|C|~D?*y^L?{Eoj^IJt@V@~fMXB(< zd;7(Z7(yM)iA~IvOvDNV^aur9z(#36ka$2ZBB~Sc4urUjq=|q67=QsNfCz|y5l}}5 zD1ZV;021f{U;vKjVuqFKff`s36`+9{NT==qy7h3uDQcxQaj@IMEuj$|Mals-+eMIo zHh!`*_G6c1tT-~mi-Ai&s_?$?Q;J*!zKrXL0o(~oGc@P(h$7%Vj!;P*ScZ>yhCai? zk|@16|MUpx6U2WgJeOulDrC2f;kLX6>>4(%*&DCVh)}#k?pats)58RR>3$%^_NPq-DvIIZ? z-OK@D2#wXG2X!C@UT70`QWMHhf#pOGohu}$sU^i26EtDL^#BY4b2$bWfrey@hulGo z|NICiX$R`a`={0CY5hyYEA z(o@m>IJ?{PKKY~yxkN_r{5osn2=T;?8`TLceF_+535(kaF1-~O{Y)pV9MK$28!AnY zIL+VbhkKBRH-*zUmD4%R246@6c0_^YOo16w$K0%d3c!F8Sb;&s01UW*3D5vB|Ih_& znA11S25ayIRb0TVz063|o)Gz0w-gg+^Dy4d`g z2FQW&9J4tC20IJFcE|xc3jh?L$N;3XZPho&tktN~x?j`>XhpkeO+az&R>%AYVsNtn z$bpPlKOA(=Dy=(>s54}h*8m6r8sMj%(Xz7py^RP~pE*~L7($I}hq${%k0?L$%Lw9A z8+iqqdJRuuUD%T_(F65}2K~x^=)C;&h(v_Njxf=beYHB=$-{%Z4D|>z|MWDm+=xvJ z(FRpek+92>xX(Cj*_nm40ku#tEH#@g(v=+2D(r}7$UGrf&^(+qSc}ARo6u%}yhrnh zeJBERJG7{MJ|QqSFT@aamDVDZvaQfopBVv8d{(wKSoJK4e{C3cWmsViSaK!Uw$+G( zMGlUof$?k$BE-e0>sGgA*lzuYhh>=m%hh`0Rf%<0r^AJ)8v$AU2)gZ7C)HdOaMH)! zRhbG_fDPQirP33d$jGwDvqQ6VwX+70&su$5XA{%Kbysg4i4MVt9AFsCEk&tQn`0c^ zfc-^n{`zwg6{nXco5q@BU_k=H;u@$Dw9Hl%~v|>H-Xbtdov+0MUH(hIhG8-g#@i9T#twn3e+^g@a@}aP+l@FoDNI+m z?OVD1TOTgMhFx5UMckVJO*%8vGwq)=?T9t)oqmu9aOehY|3KtKR^&xq-LCx(0w(jiBK*>o6&kI^VTL z-#xqHi#;k6MW>5TgiYot3ji{uwgU*(DJ#2)<>tt;GbU7LW%h`yo4REV=bss8Czd+< z(+6dpva}1v#hl!Kh(i2D0r#siWW_~>;pR}xCTgy-3(m48^BIwh;3*R}+k061{Vj*4 zGAj|9in5+KhMwlB^JtIYQn;HsX3YvRlV^%%=7T=AV*CeS zm}n}yy$)+@s!N=(*61p&XS8F#cQ)rND?VowVDQ_Jrb}D0erRGY?4POEYV*i zDcd)E-amApY;vt<>?X7IE^Q!&U}AvlhIwYhmb!b+ro^7@!LILmZts6!>}ZWR`;OLQ zQ*Q%jiv&lzvvk75fy^1+Z*z7ej-E2i_0|1@tO{?x%bdvkq>#VKt z2^X&75W?Zk4trIT$TA@32shIZ4j!{lL=J`-0nRb#)c#JduC@c1wrpm?Voh}jCU3pg z-`;aNH`7?#HB0#yN4v5^2Wuhqk`QbRmQsw9P0rD8T(93>@0qYJJMWWq)eZo6CNp~jxco(MwEGKo zZ(RJYca5O+lJLotwa=HXiJ<<`k>!Za`?UtufiW}*=%cjzH13n;!;Mhh^L>ef*Z9dx z#BUq<#WOUc{LrCQ%5?+7OIu!Y|0A^9Hc0~22!0qmH`Li4{X*(%y!#vi(2Ivxlf0*7 zwNzt6nLP>0#)a-2GiZcM>sWekmg9Gi@B@%{0<5-G=T|q=L3(#KYIk?guKKH&`hoBF zdlxgg#W<~}+})U(aA13U4!`x$k_HW03^_ZpjLU5P|0+g%2YGSmnYenN6DGzJDX?3jmUW)*!jKN2%iUf zq35+(D+Z%y{+4)PeAn)g|ERWOv)Egod#?AobGN#H?g%wQb#zxYXzSL9t6w}zd|zyc z#_tG>+d5LWdbT+Ay7w7YPjb4)dVl~h0^PrV?N9(X(5|4q5eb1Yqy+!~#Df2F2n>K? z;Xhy#2{LpDvLLzu0zn=WsL$fXj2jDj1TeCpOqMn+NyK#Onz z$hFAxfYXA+4gknu*JNFT2(x+(dD16Bg^H6#oT&64*aim*6Emq)A40M|F*-i#P-#rh zOAkl{&=;vvrhN-y|IE=qXyV$oYXh5nd$+-M`hEisE_^ug;>M37Pp*79bED{ER2qC|-i{TnoJ z0S8QAk%)nb2qMUVi7>*5A%(yfVT64YVu&FP9*Bh%^|`QL2@ym9;0Pm*0OANJLHyMg07rZ$Zc4iY-eJ``~VNQ`&^FUlTpb7GhAXO4XBz zVU#DUNOsKSo*)YP`6TR+LgnC(1TJSbyrji(nGv0$rpY(ULk*)7$ z|D^)ok$97v4i3dP%^4vHOK8Fq8iyp&fev`Cp1}!Y12?a6`61&(S3nh_37&?$3 zECj|QE=WUAv`+{&fB_5yDFOvZ010fgA`-O-1umKqjc$~q7|p0ZBoYw~aIw9kiRXS@ zaS{MhhrG~KW>hVSomZTcropJ@CYC%JMvO)m={clpUb&rC@Pf$Oq^4_XaU`S^)jHX+ z(kD@=R9D=FJX0zOD6#xfpSC8-mUyp{azZ2pK|&L`<*t*OB+N>DsmWn71SnP^|KF-; zGEK!)#F;kP(bko5Q8Wy_U$f{xpdzP*qHY|GmgC9Qd zoOrawt$)aCaEg;>;&ebzuW0L_gsYoHWCetIzO!KCvX)rOl@R1|%PD64Tu188X* zDriAhv* zxT+{iE{ac$ijyTBwa7<9YLSuN#H1+Q&H;ULrP~CMBx~Y`MBr*RZsygfEP-D%Gby{d zY7DP9`D&Fy*`$fY(n)M0C0Sc`o0-y*cs`ZoTGWEu-pN&|{;O&1ocp?9M)#<`b)fu0 z##7t=_L3^|Qdp&Ws#jjjAyJj?G>cZ#_0HD2&+OP$e;KuuA&HX9)N7gEVv=9-&r--d z6(eZ?)Qur#rF!HD=~>1L&88_*y0zyu!SvjAr5)S10CR?{|GU9(LopL;v_0T zV@BNA#$i;Dl9xP2B|fnWO;|z)Ku`h?B%lE_s?i97ghxEi$VO?Pg^GB@#~R&HL^%M) zAwj4X3TriL19XUS^(4HoT{9=Ago>d+M$}OeT9W3Codm%R zrVVDJ1JGxWU|J+d`ZH5B?OwBfOqXe$AYcFt7_15UCW%%pcxzMMPU$AVv2LrOZlW#7 zO$TEC3{SbtY3yM+BUa|j+->}+SsnaUakMH(z90)8jsA+-y-IdLgf(n$*QRsB1{SXB z$+&O!>!G#j*R)Hz1BI;<*aac%!rbYru0RZn+Qz`RK!kCu|a;Uu=gaJ(xX$qQP;R_llN z`qosDTWibWkX>5y(vr+{ZFlJv^jfNA8UyvtMO_3`*~oXBr#LO<|GJsCo#a_UaIn@+w?_fWW=!Sj zgcrQk4{z$Oar*a-pBN?-{*Hw=Z2jwFA2}UfVGBcCo#=x<{Nfis4t3~>SAb(2>IX;q z!Lf}T?huI!LQo5sJ-JpaU(i$OxFk5~j~YKt_Bi zp%mI(SJYf>(AI8gUh-%~pHx++gvkvmVQ7qD|6n0vt{Z=#PMHk9XFv^eIKoD1G zBVD~<99jz25F;Fdgm7itP1uZT=@oJn#5rD}rZEn;1lB)63=q^xz73AGEaFW_TOKAx zB^HEbahf^ibUT^=^U$uu^AeX(O%`C#w#ou0@Is2NE+CZiHYNgDd(_e@_m zBGNa`q}bGC_W&bD$Q(~5ZC`YBpZASlVH)OPqF8yXm@0(B zJlumkfI~N^-#B!`CisB@UWge9LLdZ!AxuIhWCDUz!YPD02ak%3@A|8MqK8@NFmbOC*cfeoyPh&-VyipU9!*^Z=Hir`3& zun6cCQk`|s7V4sIWFc9>p?=-uYk&+KV&%rjmqd8y!|@j`Orz<++?JSO5%v0~^f%0{9jRh%dPgy$8Cm**u0Ps|lbQiWA4s1lCn zP4JC&c#9n>o3UjUxFOU=dBqT@-Dgc?DMFOBt&^_A8@^;6Z>*ECL5{O1%sgS#V{sO) z{Nqh5LqsNq;{4Oq9b#>WmPP8Dw``q7@Z(K*OF03-Wt}K0n%i`s!z)fi0E|G5tPJQO zT284HeIS|9O&WO;l(RUg%cAq+i%4RvFNn#zc2A7f6Jq5}HY-Fy)XC zpRAcmSdd0DN=j7f*@2B3>^+sCGGm0DOn=6p7(Ufek>FGiWlun=*s$Qj>{GTW%e1YN z!~iL|n2T2sVs?ybL3qow4QV9$AwwRi4kW2PWfn^`DXu(eMnx$nPAP9N(o{GonTl8I zNu|nR>VVpnZS>$I#bgaGqv%N&-|ZG9spWR^Ql;nvEkt2pAZpNPT7a49S~%$MMU$e` z=@rJ#xK@poY^t*=YJ_F$wwlJ8;-GjbWlafBb~)HOW|ic@imnl=nc%{GBZ-y~<#NzNv}nrJY^aUy^LeHb-Ex(06#> z_aSD>y6nr^M){$~CUiqNK&B^b0{Y3rIH#~At zZJgTVrX@l&05BX4;Z2RULaw(S7dh%q?X97d2vxJK%!vTI9a>(+E4J%d>V|}Ng&T_FZZHKcY>DOCg?(ad z??r4^kZWQPYqQ>Kr{JmNS)K-iuzZE2$*61cjj47h;@9m!yL2zNXcV*Ip;xr%bO?*o z`OQ4l=w5-ZZ3MAR!0*1v@2u2Ht9B64<)U^uMh{AGOC(>+oi6W@39+{0_uLf{y6NE3 z6)OR#{|WaG-{}LNHmp{(Wb01w$aL{pKG2_3@l8@m?l_6Gvcw3tAXup}8@n#W>dr2q zmx1y|YQ-0AQ1D7BYGAl0vXTS`k5_jnu-_?K0r&C#R*C0Ug_?xM0V@y8RI(k5U&wY4 zUz%(xt8#ImtaPaC%ED|c%ks<0tR5^vG>n5hbb}-CLC)rKH>AQQID(Vi*o`rQBXGhi zghM!JgC{IPB}jw%bpz4@5dtp4H8TPyh=M2}?IJXpBRIk$ID#jL0w>T|g)kr*DG?M= zQ5A`S7?c4S^cWeyz}jNqnO)%9o(Kr~QQi78F5GRLp#YsRMBkjzP)njeA!%6kDuN~I3 z{6j##uR-xHKLZPc1VKb4|1Bt=g-eSr;)1aj@>W{)8bj~aG=cJ}QAtrI1~8aJULZE;hHLF1Ri(V1 zAS<*{NN|>{#7K*<;l)*?@$pK_j#VZGjYbQv%nQSSq9L9XW&H#4-URecM^|Um|2{#^ z`l9t%OV$vZs&4nTT8mU$W6N8Ekb!zMYgEmt2g$ApIWg8v; znjBU#^j);10PD3In^(aN_V9t%%4v{b$1rxwj~J^rX8);7IfP@_bfTJW3}-g8Y6ndi zm%~kHUFVE(t)QksHqK18FvT3A@HNh;rD-dPsepvp_;pg{x0S?n4Vm(hpz>m+!)O%oY7SKU zt#`%AYaB3bNoZz#tn-Zu>uT`UR7AeN`lji6n}*jyM0g0dFd`K?|H9$>#L6+Q@9|R| zFj_S{)$OOJJ~h+T5lUz19ywQJFv+6cD&tYA2LPA)zR>xM7+$? z(E7z5Jlu^6TW0)3*rY72jlx0RRHY$0K-hl|IDhxqD~?1&F$h^ct&%f1bddN9;7pGdU+X$fehGy4WxmJ z(14i30FRJBnZ0=eBmn5Sf0oj1ozpo$@00-I; zRH!fq09p%a0HCq3T>}8P6w(3^fY?8D0RVI)NDROTeG5_Q8xeBgM*sp9s$_|BpiFcq z8=^Q#P-YH-?G6CAIWXtWnk#({#05ZSOcVfSx`fGdrO2W&kx~Val%U3vMrk&Ds4(JI zg6IG=0PFE!!h&rTR)jh=;>5TXF}}4+li~q{3JscE{}|Y4U5a@5E)=4JhdY`@7{gn5 zOoxtRG@DhvoR}aH9Y6T-rEEE|G95c4b5^*I2Wga^jV&g!aNm#5`%v;*`~$aYca@*f z1fpYE>&^e-wKm3g-*DclDfA!_E66_zKW>jb?vxs79t)=V&N<)Gy zgpjGhpfZpzl5Bh{t->5aDWb91n#n;P|G7#l|E|z#QnjaAM5}=dTT1IfEgd|Orp3e~ zXt8I6;32(%iqSzjg4_#^uf>4SPoe0ha|S)^v{NXa?!Nmcyz$B#=sY>qJ1sT$mVr+P z`Tn7=w}I}<&(989)F{MHHKL)azN{RG7?7wG3nHl0T<9Yu{{fN6Bav(}qET;!D={X) zno`Or9TZ8%p?>m<%!L;8(7^^HWOgMA4dV6ICc%u0MI@E17R9eb9P(FidsR!-jgVc@ zKn@RdRv(K5{0CUTpfdNypwj&mEpl4|NhBCYLYGEz0R{{tUeQ#Fzk9{4&{w{iZSWtN zpv7{+oy1%VEd!;JcBZGOEVA7p*~Jhs|Ghp~65GWbARkiAEZ-!BNGLN}?I(o^xPP1)Ool=>`>4!WrkAXrkGM?{2yo2kyW39!Hx+ z_7H@T$tkBikwmcgq6;#_u)&5LK+l1O7Eov*2GUCyp@Ie)NFV_M1`t4i0S-{00Tgn; zAiPaL`OmR5kv^;02+WfNoJ~RT&q}*<83GanA&NmVVa^{FEL1(8L`>s7#yq;+Z>r$~{Gl z)DK#t43wNlGt=S6F;oJ_DF<2 zjs}YV2;@Qm`576q_g1$2RdvKBEK(dS?j$CRZsSbUYJ*|Q(QZ> zYF2BiA8%p^oZ~ZD|5}vFR8-1Rg)YPn5^l$P5dtd_UE_3dwgD>bWOO>10Joa3Ugw{yg;Zt_6e zA{^0;a)3h{qj1GI%Fzu^EP@fyD96`4!HH-DZXD8(?l@EtUci-2aq{>ECpICC!#QFP zfvDVlFL${ww4rmK%RvuvPy-sMKm{}y-UwKi;05?)0JJ+m1#m|T-~A4F1{NL)5FC^M zpa2&MS>Du2|E4WXx;3-vRObO&#+M0NYey!wm|Vc;FB1xkFE~A`i%YVsg^*;PL;{J6 zX#f^c4d%xt4)VZU8~|G2Yh*5FrjK!aN2&0xuFB9X;6Kljk^TMW=zzh{J>o3+uw&`MtHEY``PB#R-N)vXgQ`{Qi(ovUnz7B=k zlDh;(vdayY)A~uSp**VWO$QAnM5;Db%+Qz7)3v_jyKMlF6yiHVYp5cPa& ziw1htA9uB*bEs!o(|XkZ7?FOKqQ8Rq$tAnwiLRq9D}dAQDMedILr669Y%PS%8No5| zu8I1?N$PvXjX)^u9XFFU1()``>xB+`YcG^0 zJ~p&rl`F8IU9f8($dJ48Fcmu_L+b3MuQ3E}dgrU}VJ_Lb)w%A1pE$)-H}+cojpJpn z|4>a{ExfWZsCRNZo6IgYGq!^Zn8rg5X0tW@=~18hpxM^vD%0)KLLYnC&z|;B8*bLN z_KI=P;~s3|TihJ6iNwWi5|;4BIAq}oN`T_{s@Mb{x;x)QprRVT-&;4H&xcCL7aWaq zoFfvUisN^KzJZY3eJ7XS%XJ|PFrYyW(m)H~iO#|#h`{Rx&;Sf{KnWbs00k7_01{vX zB22-$JfK@00oDPD2w4!{> zN-2UOsCq<2DkK9p0tH6T=;G|BEMmioCgEy=7HSX$S`QcqXaqQL<_f|EH>~k!|L_G{ zuR>Ph0CFH^P6f-72?aW$B3MZX$0^0C2P8&7AU^0PMDTc)r6M$mGk{^0Jj@~p?*MG> zM!t{)T?S5ahzE$E(d4WcQVt0E%ul$8(}aKyFHJdA#xpPqCF+DRT23LHVK^#-2Z{mD z{KVweWQZyb(s%#}j^PmHtTloNp%$VUILZeqg(l#k)cSBC2+B1G;uN=IAdW#1KVuaU zsR(ii2!iM=pu(mS0~cy=1lC6`hN4tZ0vJP33%T&Jens21kT0rd2hq$6iP5rpta^;c z4PS=I6apP+06{je18<}O#&9HDa2p4P1(gsgcu^TYFfC}{CWO%owXq4i|0x_fa7mJh zf5d6-29k?>Q<$Pq{5I`G8d z3~AL6kN>S0eV--~qC0eo0egGDcLl%dq7W;+k_O71P zFbUMRBN?LPxWl`HgVHtYK!%7>-CVP_JA`ug;O|h zuefxNY`#Gox7-p5fI@NsDW?D^Kp#R z`?^mRz*9W?#u57956%z$EC+M8APi*SbK(zl6mWQ2$1g5`1F8TEs(=ZU;Qtzc0N+pk zaG}B!Z~-w4!F1^Wq;O`2vqCNOLNPQ$HFQHcv_n1gLqXJKR01qRv_wtxL{T(FRdhvJ zG-~*&MPW2XWmH40Of|$XHfJZ}C|Eo8Bb4QVMMT;}{0_PjH z%Mm805Vi&tjt?B9K^nk;{0gBG04HvquRFs*93Ce;se!x#$2_-2Z^$z}!4nnAR2vvU z56n+KE9Y`DXLHQJziL3h46FnypaLj>0xUoYsvy6x01KFa127;0A|S#RlolE^QXiCc z)Gz?Hu(gsjQ#Ex{Iki(g^;3n@2e}bcNwri>^;A){L=P@iS+!LybU`BX8vW5#X_fY7 z6SaO+NOg5rdxl7f#zAUkYShxK70)>Siu(z~C zJ@#WkHe^K>WBDP2crs#9Hf2+lA4axiUG`;R7Se!I-&D3{ZPrgj2j(2}W_dPcZk1|s zl~;v!XerbqSnp)@!#97kXKl7P_h1s_%efpuP7`5r0>Karf%(X$Z?MK%1E(8aK^0!1 zak#bmruA!1fe{43_@;6AEEY>68)jixCVV5x#(PU_cDSfDFc<4Z5HU zs^D-B)nDrr3z`4~N&p3FK*A0-Qb|W)ZHHko|CMPqcXL~GVq^AmK{s?ocXUa&bUAIQ zkd|{*cXc_GWli^WVRvL}PpeqBc3oA%aQ576mveu1YJ!$%fmc_3^|qcyX?JUPYqdB7 zffKv|ZnldNCSejLM-cvC61G7e?q(G>ArJzAOTl5fvh?`M;T*8f5yqBmydiNM=M+F; z6uvfb;_ZM%mU<+Iz2690D z4)$|wU_VnQ!59`DA`p2sc!N2(gFX0zK{$j(n75qiCr9{%k+dOE_+fijYJN9(VHh`u zS7?A$w^rCwhYJz-AX>v=9_~RNxZxBk|ABHUArZt?_wGR)JfUvQ&-lJ;TE7cz*>fJ8 zs~h&F`>2y`%&Q!z_-aH!y5_-gJi!qD;BNI7622gD^GgsE*NoF|fyLl~X<>pDP>%J} z!ZNHbG1y^mxR3q#j{!N51$mGO*=f=zRtq_iG4w4J`BYojMO!O|C0T}zmN$!6X&X64 zb9jee!HU7b8?@mR9H9^lff0rn`npDH*A);Z;T4WA9J*l}s547Z;S{358^~1~R6!Mz z>-V}r6;1&aJb4>V;S{ixT(OlAuGWpyPyGY|YoQry^|wx&xo_1V{^yb$>k|%kdQE!G*motploj>&Uw2u=i;h%@N zTA5W4qE`?q!EhW0awZ2541p6)K^0ITyhK41PC*nnffGD|qD8?IHeqf~;T2xt6gFWI zNV*a(`lKhiqCH`Vq4^J%`EK);nccX5-CzyUAao3n!tNLa8sMnHIcD@ZsD*l{iMptb z`lyjQsg>G7;rVG^n4Y29wd}cub8D%IvslG-h)KDW8DSBacycUZ6vhv0#Fc+d`JX8# zdI7o;qBnXOfe*U(qDLALNII?CdJ+IydimGQ|NF8ryH=apN98%HJsW7I`jU?{vwe%7D`BEhyO>X5rK^<@ z(lu^4L76GX5b74L`4^gJ8=3_{5CWkP_<#=AsP?| zaj2miq5&0R+Y!Wux;%jq>Xxf%+qdC*w*dhVxc6!efe-*;w+P+M>qBr5T@iu|^ca8Hmw~u>1p*a!a;0|<$cP5NMQ6OPC47=NV#%a99ZT!Y@ zJjZq1RLPrZ%p1Ld|Ga3A_MQ`iy?0zS-aD1!xBJNRmos{zIRSF^;8~s95bzpGxwn+5 zcgp`jnk#1y7U7GJ%lov85eT7K;WH5G3%+By!pXQ<*Oh+@+z~?TLoR9p`AwAM1ebOnt(j~pejpoOL9LUwXX^h;` z|G~5Y$A_IuIlq@}UV#&!bP?*j5VpF@9onMFxRkNh)xDf@3Skc%VH=(paTF(s(>4(P zfRvS44>&n}g;>~0nTeyh)?K|2cAM4%+|{EUnxCE84Pg)jA;oP$x(#+eGi(HSA#*{! z+|B*m(LLSO|9#zW7}H%w(>MLRJDq7h-O`Jb5407$7{L+5T;Ji^5imNo)tnK;#%~y* zSqs6GFM5c%cXDW35J16f+GZ0rVZ7qEYva1Z_W<8NS`}h@<4xM1>lS*Y_i9ag6DmR2 zxwp$rn&Dkq*+V|%|3KR#fes25fa0 z{SP1^4%i?8CI5BN6~Iz~;jxc?^EtosJ^%ATKlD+gN6WjjnSRrq-esVk(xo0*xj|W( zwGcePY<}77kB@DZ)9mf0_n6b{J-PePW)tX~lmX!q!h!c0p}s0UltrPFuNZNZlRC9w zh)-b~8i%?ddcVD4mf6PROPNZ+fn3u!)uYvle@`1kA=gn{4enS{H7LPofEbEa^y$C; z?f?GqKmWBm=~HIuPah!k2^>hUpuvL(6At|M51qq@4jD?ENU@^CAQ&@hw8*ie$B!UG ziX2I@q{)*gQ%>v$?$jbZdKSG3H;!8)J%9e_anwy7xNqIOjSJ@u+_-VwdfvM?PMfM| zLXmbm+W+koqd$fW{h73_oKH`V998mk>eS3};JO(-3XY~XPMoHK1Lv(MxM>)y?~x9{J;g9{%{ytwh>$dmsA2JCdZb_%0QpH98H_3P6a zLWBrfqxT@n!;2@$(j`opG`Tt2!zdB^ZEWXu3oOcLQkqCNZHhLRv8TbSEW#cmdlVwd zRD5|epIEAR^VKE|vK5s!@QpKzC!5rV6g7H%<;hfN;e{545u$~dCzXgY6F94El1LR| zQ2#cWWg}pAKmZ4zfJ;072sGZ0Kn5w~kVF<~Squ*4Q??6JrutL(DOHVfL7rakB7wA5DX zC75A$MMY_13Bo8o{&4K;IZ;~<@Ose%Y1r=Xh_g6H_DM<9S!0+%JAy#E5u zUTLwV$|8K|E6ORTNP}O8;A|7kROJA*mY;~AQq98R%tCOgg#OD{Hx&N6=_!a9u>uN} zVMc4MBhW&Ou0D1v^UO5YZ1c@H=dAP2JooJL&&oktnzYsyZS>IwVY{8S+X5Zsw`-<% zQy_>0vWYi;CFM;x;RFS6P;3fPOlQ6=`VP5TpRw@D}Qi;B(@OKo$ zNv+k5yx_?4?kUo&h1S4(1Tx7aqO6M+*i@Zz1rjH#K!dC*uiSu+p6%K#I>b!W&W-5M z2D<1C08o08=m2m4k0k*EzzDpe77q_PJR{paxHm)FKF3VNj}JO1!`kh+)Bje44nlmS z&j zyVv*-h!bgD1Bz%Q+0o7|(k2uCzf zFG=Z?D)^!Gz)nrMJT&>=j8-#V6blh8S3m1~jsfW*R_)mobEg%2FZ| zYopDH-~s?BSW*Iqre<)oNW(OjZYiaDSm2UyJkG;5TZ00e+Do%0;Cz8Oy4kd-3iT#`A_SrUDu4x*+} zBN3vc#WG5y7|d&pTxnC+E_#F(u7e##2TRz(8uqY=O{{DX8XAQ*^s#+Z8g~ZSG{xd3 zO$9@t+#H53dHe+yqR1aoqM-_D$b%`CtR=wim%o>SLlgwc>^LC!(M0m)F3}j}D*)#; zpZM(+vYbmUI|M*Pnyr4L1za=|xfoTHHf(rMLmFbygRE{fGXMyHjs%O%WTjO%-@PXE znv*2As?H=z6zpl-X*?)3W1bUHV;EP%UfR5u2lVs^4gZK}+5Y@zB|YvqcyU^*`8Kq13YoHp6K079%N0cQO$1^Qr_e@Gyg_tP$TFFz@Hx;y zhKhr+yc@3&g^FIj4ON`tDQe+)(Vu<_oByZf6{V0v8En90tj;Ji1{lGPCeq!L)Oyl= zK0pxn`$kDq{MW?DvY!htk^SN#ijzKd5*6>~1EiTDvXgR_F9Y~5JCRqdLqR*t8Tm*< ze$v1Qy+=sz=PwU&1nt=Gq)|{r9|FG5z2?a11T7KSfm70q2L_!1-vEg2ml%M>{c`xr zkiS!$BT<|T;At*MAEafcB>Ya|IIG7k@h7eHB4~_9q0;HWAN2Mg^!( z@wGP8 zhXM@%Y-3htnAc~b_llzUJpXUziV_iC!Z(N?L3*gjh{`945G8CL!GAhnZtj3PKM;Zc zzz;v51IADhd-V_R_itq6S6}pO>$gR?a}3ZH59cU;|L{dRPz=zv4?~~>=ZIe((T)=F zUOV6eJP>Z-*pC<3j}gd^=GKkt29DxLj_0;T{>TvgIA07=Mb73|@qldY=YGADfflG8 zIPz&R*pe>!k}w&Q{&j*Vk%B9DlhrYD!$uMkC6gsFgMjibRTBt&um^j<2UJsqe!vHO zAcTNYlsWMSg^(41@CQek2!IkOMi~f(zzBu#l}pK#h`Ni2mf4Y2!&vkQW=+7$(C{{2uzukf-nVLfChNjWHW*?d`L|?L=k;g z60{hMtJ6BX$AQB550J-rJrawU7-|zCJG?h)UxsSX^L(Vong4)&6Jbt_2YIE*5QJBX zpoy6Pu!Xmzm6+@Z`f=~#9 z@CSm>1!8amb*EJ*Py(~UIZPCpB;k9i31%GXYg)!Dqegw+#G$_DfurV6fMtxm$9(1` zX1m#&9Vm%_nuydWh`70$eYTT@%6HI1s68@XD%nqWR;R0Xo6!h+#Av4@z&G1H6}cg9c^5c(jh1 zsQ>A;s=#OwWW_|*N1L%Zn;v1I6p@}1L4FjWebuH;`Us%jiaX`0M)!1q4p*PqN^E4* zUL65(>)0!)kdwH3$FjLtN+k&{IIT~3$%GFu(+GM zy1To)I~({~68g%o!V7xlv!dRSy97&NeF9sPpuA1t35*b?Mu`<`DW-w|rBHdjJ34dn zGZ&lFF%;$&wYEjEUN}feLIF46BhS!T+H- zrxu~X&8MlM_`sufdy{sVxk-(gi6!K%mKLZIx>g$OfK*D-nYGZ53#L8cGpH zY@n!%o*1Z(Ys7x&R}ocIl5+KJB}ox9@W8#B$9lZSeB8$&@w+4uyu-V%D*A#fin}j5 zKl8v8En*0hFh5Jt6pf*mUpbXs>7!X;g?Y)Oi4X{m(7xp`4ytfKkn|`>X~~4?mRG2< zg5Z{wTp*y3O3yn}d8x7<3#5qv32hLwG+;TF@yjzZ0tO%fWdIHIP{5+05C60(P6_KjTm#7%bE8SVblp0<`8^TZ2r+OQ-9udS8A)H8CR&Auheul>! z@oJsHS$bo30gM8EuRlJ6LyolTqFTn?!kW&D(mxd52Ucn8d zKrn8jq*u6MSy`l9Xt5-_VS6G9uAmrZCn@9b4Pe0un_vioP?cAyFaKff$}<-TbX^HW zX$YWT6r=>d8)k%L>9JUu6@rkzWgr8K`O7zp0whoZ8E^!2Kn?eR%%hH(AI43xfjNK5TLmiSx)bAq$ zBY*-ca0E~A3EfcH*KEKifevm4JNf*lp!(VT{i>q*X{6|=J#Do;f{dWOih{U0zF85) zeT1l5sxZ!anT8UhH^O;Qt|U;0UgQ3XT#z+0^C{HSYrx znKj|0V0GYYNmbEQg+mubp%~pD3YB094P;4e!568(?Ev%b-T(_4MkqihA4S)(2UHkD z*HYnNb`}&4+h7#~0w{%T2#F90Zg2*QJsCAbBMp!M2`~aKumw&K2p=NlkV)m;Bi#)F zWvhe3ZB&|q=-Oq=D}aUPVY|(#9jm{lv~NCZZoZ9n4(V!U!T}9EK_uF+%6o!{h>QLa zdQN7H2Ux`LO_x{N`_<>>eDi{3ifN0qcs@kS4YbUmwI5Me>X}chp6l*MJR^;|U$o!< zpl?d7(CZkxp&p)FG=KKJ#{U585&`S(#Oh$&tN-TR>)K7MqnpIKjyv;3)3d&SZ;bWG zwyefJ_=I2hhMzsi4id_~>>$_d5oK}>?$qEyKc0XmDI&{h%^`i!6r-FAbmkAKS0N_G_;@`o8!~g_9hwvaS z004j?q#@DaL4hOmA#B&c;>C**j6Ty>Y5eNdpH? z+a^!$?Q;_KejGPXJOO8%ZrU5L8~;x>i6$KQPVoelYUZh@8&vok(3@@sBrw2k#u*13 zX}0;$K~$viFq&8DizXTkyAh=lMg&PD5k?F#L=Zu~nB$IGYM~_u8fYkJgbEr+pnwE6 zSmKLB_VB}#Zti(0IL$f&paGW-LI;JD5aN;s=!j_m1&^})2cm*dXa}PM0H6h-k^;!# zfZp1vsDU*R%3-12^r0nyl^ojh&5O_h;D9_2+7qRR05IqxG#x?*P%!`T6VNUnGZaxl zGwqbogd)meBYkjblLpC38WYvs91XxsFAvSKoju)z)1-zjT2$9S;VS6>6kgTRB#l5) zD56IrJIgB~^x9_#nVxazEdRd_dd3GHvN8sw!ejzMFNcHz0->;~x~SZ({^6%B9=2+R zsGHQ{iXWn+Lg*N@z(vRy9mXYBFd+VV7cF_YTGlORq18d!fBXIG+GwYh$=-d0n(H5^ zoH{6;db{)ZV~|4@d1R7HHu+?fQ&xFpmRolDWtdUpZM5H>v-xJ6bJjUIEvcK%y6l3E zd1#Tp3vayg#-Rtk`UaE-KKY{Y#y~1fQdtBMRh%Zfn@tv}1Qo8q=_Z^HTRf!_Ll|+~@f#EQ;te)x z!37sueiU*9BNIrV0sjn^z#E7%$Q4eJXb1HmE@AE6b(cySX;)s4m!0;LOzI7;Nts7}po^TpzESF>_thi-V4WR> z*x}@o_5g5^)c5qaci$m}7=o*v14d|veAm%`DSP`##w*USiA)TrF>4vnfIxspTNnlw z13nNjZ#hU|?BWm$77QNnTHsD-@|blQ@PlWephI?2!h1tPG5E0hTj zB&e>RtPq9hx(HstHM`*vO^8DzViApaL?k9riA!W+6P@_Pkj>0Dz}Z<9t$0N&_RMEN z#7xkH21PJ_#{X#I(E}sQbG2@~Vnx*8T6|8S3i=qX8|AoK)+*tiZkz%Uh*%KfJd{U7 z@SzgsapNnf@u5xlfjp?N+C93aicRo=51xpI-R=esRfvZVn-JT8=y;EMfWs4uD1;y$ zXQMWx%TlEj)-j+JY8m{Ntm4xe8G}_!Ocj10gnf=}a%SmICr%8GK0$ zWEwazb+yG_YiSBd;!y;60pW&RS?NDQDwC0NWgkeD$q$AK5@&ejCPZ+ILt=74gpfrC zDgDQu3K~YVrd6$LWoujA`c}BcRjza0j1)stGc4v+uY2WLbhb!O%Xm>cbdBp6$79CA zImi>DC{f+y^9pH%LymOB8Y3#vApr3K5h+64Ik4slNkW2fm=uL74%rPyj0X{?NE;}@ zkqSphaucfHnj^n)v@%wbY)`v~J;2e4Lj2(mkHe8F?cgI?^dJYXl;sEx@LXK#l17v8 z<^Sn|d7E-ZMkV4~nL-*MOv2vv0R5azV9b>ojtwTf>t%0y-TPkn##g@crEh&-W>?VQ zm9P8dZx;Q!MW6{b2=;xVVabys0!5M!atj6GRH2H)B{)BIWJK7;F%8i2ZEPOW259*Z ziP4hCM5t9QYo8WMRbWE4uizRzM>KdGE3#Wm0bgoEpx?rfDM^SAWF_QCG*eG z3Bc_r#0fA=|qBvuH(72+s#b*;Y`T`kX5TqdGAPs2%QUoF}g8ve@Knqr2 zGUSq7U0^o*HiL@Hq`Y0SV|5c9CW$t@o!8B8yIbsICwtk=es;89wcu-Kd)wXqcDTn~ z&id{QzyE#reh2(#n-TDJ2Jp}5;-C7Sv+n)jwRUm^5 zXrKZbv;YMypg|3Of8-B@U<+B8QH>bUeCnDm>QTN8m#};hg`Blyz@wf2#7Yap*DxmvXwyx8fcSay1qEm z2QE1Pu#1fl+JS8`jiZ7W9w-Kq>OU^*LNEM6FbqR6bgTK>jQYDjG|a2~Bf`n(y8#LT?fWaU^0nTXvBrAax z(1Im9w#MPX#`!^JqdqwNMPLj@VH`$cEJkBIM(!xXDxsn@Y(~9W!-4xEWCV@CbA(E8 z1Z=d%NwATY!^W1|I8FcsQQ!neaGXh~gllw!mODpmtOV+EoJv?M7%|6ngh&1uK~f5Y zLTH>y5Cu3*Nt8@Um0U@dj5lS>j5BmbnY{)1U?|jq7<%xRLY?Y1ji`^pWFlCTK~$UOiG}vN~lCis=T#8kfg`y zNmNrxL-@)oXagTpE*qf8=Q;oi-~cArr5ZscT(l98ls=J!6KBIozU)iC{7b+LOu-yX z*LX?Hh{>5uOy;Ob&2U4)gbSU798|kCyR;Ehvk`$51V8`;K|r;jv`nD1%gnUP%Op+8 zw9L;$&5!KNfXvJt1Io=z&43Ke$bkbN`!y7ZfB|qz4N!tAXgZJVL1g2_=^M$td`#p_ zPUT!q=4?*qgg?W)48&AS>O2m{%nZkL&d7Afb?i>>JV)xXOYr>~ctPL0zsbmRmO4N(ytQ4qBROCV7cO;HtHQ5F@^6ID@5 z$b>gggI`kt8C(Gu7=t*-giL7B5VZt!49NtIP$Df-BRx_iO;RO|jR~!c3cXMZ&Ctup z&gR_CN_bIDFi|Zv(GulS7u`}U{ZcRe(H8~NEgexa9n&t=QWDLCI52}=i^v-VgErVv zA4Ssx1wyG?Qa(9PEI&jQ@m4cu!VsRabpaA>C6!omE<`Ra?DPT=hai zoeV=g)Wl5G%Aiu_+|B}h1WN5xP94v6Jk|pBP9JPJ@tlN5K+l$|5o2vRX6;mCW!A@u zgf0Ms5;!`fTY)9`&FN~^@~qET^~GFmS9g6^c#T(irLSF;j9&FsnFLnK5Z2|aM*a{5 zfDKrI71$8{(18V55DgFzJy?JISB7O+PgvN4jaY{rSWaM^8^MAtSb-6M03<_ICfihz zjnt<@P+6Ti@>GrS^0P)pfy@iV1z#qgeq`>aE$<5ip!3y z5ge&Z99dhoZQGL7Q+9P(xt&|Oty{ajTg`x3$dK8YMZ=nv41QJ4z@tNIz>ukF8pJJ- zrfI#M&5*?125OL6YEWFs>IP{jTv}_IaX>)C{g7_p+02zA6pTH`OAY1g#}|aHe(S*$4vmaFAn24juAnaf-0zj zDG-E0_~Xe8WI-NeLe@tc0Y%!?OC?@pMs8$Beq?xK;+JsZC(gV7;xn7{Gwn1yMz~W? z{$x-NLfTfSu`l4N)a;7Uf+OBT3H zCOGYs2X7Espk-hXX5gp2;0HTqq*Z2UK3ZfR;SgTt3bx>Aw&oFjTA=ObSAYd?4rg&5 zXL9alKUWihQQ%)gVca4r!4dX_9Vdi{=Q7 z&S+=c=$Gi|k|qt1ercJWX_~I-+db)npl6llE0zWcm$vE7h-si6YN9S`qYhM@Ca09% zX}|sDy=%;yJ^$*@5NfHeYOB6#tR~E))@i0zL#Nh1sJ_Xp<_xMHYqLIUv`*_W-0G$7 zYP{>|i}-1^zTdg7YrDQ{yv8@ScI$loYBmJisLpGL7Hq;UY{Ne6_u6Z|rdhv^#=%1D z+J$V%o@~ml>?Ts|#ct}q`s?8hZ02+h0xN6F9&OStZPWf3%+BoKZR}u{#^%(A--vD5 zmTh?W4R_c=_Y&>X-fiCQZQm}9)K=}ggKLM7Yrur<*-q|usO_4mFWvra=#Fmbo^Fr` zZsGPf;zkJL{>yz34t+7s;jpjgrf%{sZ}YBf>%Q(h%kG2N?#~|Y_JZ&8o^SfD@3c;D z^|oi$4*zRSeo*8N4!rU*`L=HYFK`35Y5dM_{M&Er^z7G0Zt3`q2$$vX8t?=V=DlP_bT6*hU9pC~*@f26UkC3RiIrZ*doYaYp9w4u8fEpHc^3&Jo{i7N;u< zhjAbOaUjoK8J}_g+HA+h4hK~ZH0$voZ*nJpa+Do%BDW&;{s;FCOrge50pD>b?{Y8y zazK^xDc_kYzw*Bv4&`QYxl(g5Z*w<)^9B|3G0&MYzj5Uh4&|nzEr)YH?{hzgP&uD- znyhg}4RHls%+TiYKVNi4Z}e#lbV1iMLJw9uPfp{AWj0r$eh3cSK3PZqbWjg_ig)iVDBp|%M6EAUPZ*^>McVHlf*q)9PM+WIIao#BLe3$omPY3YIb#Whff-m^_BKLB)PS!?u z8&~(&rVbOYc5mN~d?0b&5C&oxhJ6PPTSo_GDDhz6_Y>!hkoOsKAO_x;_Y@y&gKv44 ze|h;r_=E?z{bqPdclghi4w_%~ivKHSNbzXzcy!oyp{EYp#&c{>28m~Rm~VQgfB*Wn zlKGhrZw9w{o5gt?{|zHTZdIp;-{>k#Kl)Wyb&%$IR`+zMPkXgr`z4b4saG8%cL=NR zY^*PAfoFTX&wIV!4!3`MDV=*Mu5`h^`@JuG!#{l0==-TpRKVwG!Ov^LM|{bje9F%Z z#h-a#ZG4}8e7uhQ%Kv=O5B=R>!exAWDxdU!(EQ@&{JZvi(SLo|FZ|0-_?lJy_GW#% zcKz7jecpfi*)R9MwS6;BYu)dC<3Ij^|9xPu4BL-u+^_56M}Fy_{!mx`QjZMSeiPE) z{JJOX=%;@04}U(l{z!)m*#3tRP?UXr{<;2s@qd5#e{%8{^v5{=oc@RKbN~GAkAME} zfBy%Fe*y;*ENJi`!h{MJGHmGZA;gFhCsM3v@!~>Yz%UwY*G?bEkRnHtENSv2%9JWs zvTUhO;md&l1QK%?GLPhphAZdEo$^A(xgh4GHvSgDb%P^r&6tI^(xk^ zTDNlT>h&wwuwuuOEo=7dMU6i_x@_zAE!?;$AGQ-XvtiD>LD2H;>-R63yeQ-Nvu^GBHSE~3XVb22 z`?lcAJu`Ri?fdshp`%ITE^hod^5n{wGjHzvIrQk#r&Bkqn{bWPMeflZon-s-4C!s3U3ErQHD!M46 zjXL@$q{Rg~(V&G|TGFABYPu<>oqGBysG%Y?sYI1tdMZenivPMQtF5~FDy*@VNoqu< zqI#*Svg*1kuf6*EE3oX*3X!e17Mg3Y$tt@nv&}mDY+=LFC8Dv_ii9k**=oBjx7~XC zEkx2fRIIgNVhb+1>8iUfyX`_MZbRgj+vK_K+Iug)`RcoGjPNof@4PwI%P+wN8+Y*CR zJTuKT+k7+5IqSSL&prG6GtfZ`Jv7lp8+|m=Nh`fH(@i`5G}KW`JvG%;TYWXwS!=yD z*Ij%4HP~T`JvP~8n|(IgX{)_9+iko3Hr#NBhMmhVTmKq!+{w{yAD6V@@CFrJH^_>Zz;VW!w4(;u@|Mola#T$P-@{R^Cypzd0|2*{3OJC&j%y&0E z_StK{J@*AxZ@p&Si$6a3<(uE!_u$8MKKt#v|33VVrLX>5@!Nkt{`u>F)%^6+xjz5{ zD8K;{uvV?}UxNy$zy&g}f$-}e0$Jj~2~x0v7CasVBWS1#a)IA2qYXH>)))*MJZ z@0k>3?jWETY3Dl$Ld||Uvj`5Ah(QUG&|-2lmWM=S^R&fJiu&`S9EpcJnR$$BX7eFL zAn7uPzz=ikprJ%DhCX+q&V@h}o(PdAJ##9Sd@2+nBZa9Bh|n68>VTjVd8tqTu~DTk z)T9;ZsYH>=%wjw>q6iggN5ksAW4bPx%QVI_(yG>D_+Xho*hf#4QB$X4Wv2|;#}8ua zj)BBu2yTVzP^wClsdB`w3BhVS!TJ!whJ~p6JgZvMdJMlVv#6+n#}1lG5o$)2u}2Xs zM-VFzYW~0(k$r|UUb@VcMuf8(RsXD5V@p1=jt*Gu$U$8a!cV#uq@Fs6CQtGSgsm9% zu-@DOZwJzhWhynWHMOcwJZq8S9z?VU0jfl#>lMc;WVZ*|$3(fR8q8{TBCZvTb+Ky@ zcewKhGlj@`1)|-i00S4Yz3<3qi#cDR0|fv$KyHn?%;fUbotC`_ce6s>gXB{O&Pa%F z_bL?73T3_%S#UwDYY_E9#KK!iuz<^J5PlpNx|AU=fgKWGz@!(p1Hq{dB>a#Sdsr#J z06+j}VLANr_+a|A8?T7b000001uX0CfD`M3_fqp2?r19y4l0mkOnKJ z2!P%5GJWu12DjD9WhO|g1wB!F#`+%+-7-PqQH+%8;0J-$@|R~S-Ci&A*BjRCGOFzZ z;6C=z%I3#7QwjtbE2PD5hV(L(!DuUYdm#I8r!&xPWp(Ql+O$Rpoju)KME}F#re+8* zh71521h~f@SK&uNdjGvx;o<;9=6FMJeceejIjPMQZ#=5pPbn+ht4t-Sp>N(#VDnYx z&0KUsE)8%U@Vvt$o0d5nvN4z51)$aq0bo7Z?|s!WA)wYZ*P#_vKJ7r!Mc!~( zn*SY^*eL{uHJAem1Oy%*s5z5_z2EWuR84JQO3Bzr?VAb8pWxk|4wRtQ<=x=z-9fw* z4+!2w5nBRApb2J{4@g+#`2b)cUb6k!4@g*pxl=KWA2snnx50xuCE@*17G2Gt658NE zpcp|cmkv}Rr%~3T(HK|_;d?dM@on2N%oIQPmZ9<5b3NUk@qkmoLtgCwzg1TV4#cJr z1mnfnX#c@he6isK0#<`rVDJ$E0m9#*HDVD$B17~Sku|_NJ)b9{OZ0t=tF!|R5Lu38 zAChff-SJ-{0%Aen)bOn$7OG!S-JUBF1P;;_-o@hm-aSpD&#LExQHmYzv^pKO*}%ZX-hvK*4dJ;>eQJwU1`JkeB`tK^sgRq6nV8Ibgt-k z0;pvjXjbti8;U4sS?EE0q=w=l13m;X_*Z@2C!aP;e$LA%(t^nW04Jhii2orK4VI)o zswpihL_8#1O0gD&eI}z4;|C&yF@_@ucIjMN>E|67g@G170%(T97KJeu`8g9nsoAA^ z=Y?j~J&kHPmg+h#+*!$e6d8{X5l`dN87q_h^Pb`lukRcV?c)eZpNQPz}% zVb(1s;+Cdl9y;l90;{R|YP?k6Cgx?I4y>>IX}QD-R2JEhr5>i?imGJ76s_7RiNcmKw4Rk=sX#=gv;V^Cw36xt_TZb1 z>p^rGO!exWI;nPLn`&ji|6RIM!{wizL97SELzh*0*;Ve85+R;^7 zxEd{SCab-|rLD$Zy1v`1f^3?W)@iwen2suI374ilrpVgV$2x7z;_ICzM8=t7e-bR; zCX2yZ%dX^YRQe|#7OM-6om|N$gMn45MjH`014DXgLL~0PHU!uu<7r-(5CGfUa_Q6d zYXFLBTb1p^fvT_0S3Go6GZkn-z%1#OUaXF8L(C|Jf~X5R(-1VntMRN!`K*fpt@Z`! zsEVuCcCBVLZDJ|yLl&?4ovZIYr`Yzcry}e2P2Dpc13Vz_*8ftkvKFtoimBul?Yf$6 zRDq{L;9UoLlc87uMUGQ=Ui?mxJ$2nrPkzgDdt zra(YxLckaijwX&yt&>(J*bZw~E+#7ysX^FcII*xlUfE0`9%11u@=~opP%gvv?DTGH zG73Rp?xNPhZBFSh4#%eQBCXw$Df4P6nwD>Zu2*KcgRZ3~`;MtVSa3lkcD?pj`0ISa;GTZze>7F%`TbrCll=*#9mWA6Ep}X`Pu$poFm}*sdq& zYH$F;V?8`rJ2wcoqRrKQ60ufDE&Q8GiM;F4w|4~{A)hZ{~}tCKn~>^_#^lGtE^ zr&E@xZRQl>sTUE4?aVUhZzZwxYAf^ZqK!@{7hCcx-?CADZ+2?2K#uPx%WOobudP8W zCYv!vQfSA1st4ok-pVmJ^KZzBT=;Cu4VUnRzEr*5pATHzAG;I0P86Q);zjL4TZxxC z2ckV+96}_rENe2@3Z)>=nSmiQHeW1FD(?@xXCxytU5?$T_OUoZFuQ`XPzk3(Gjy%$ zz(xjS=CWB^iKK7wF1zAcYX+nZ`=G(ea~ZNEzW)+(BDP>{awc`^-SRRmFB|b0Pg-DV zArAl-D=#tgX6j3Ws}w5~O4_uPF>~~Ct)kv!nhvX(akMv?X&FoIKrf?EWpFrm^$d+O zIj@g7t2820A_SMu*v?tH3MPp#Q#aiwOB`I@stR3R8surG+ zTIM-+FVEv<7h!_(6Iw-^G>gD=HChn# zdg}@u--=loZqgov&TSoUf!I;~+=|Wjm+_l^FB5Y0-(?fTKAc`NiDdBU9={nj{7#_e zkrX5+}jccxwabtA<|Vr6kK5 zp@Cu@Q{^Huq8?viEt&=5l>aY7O4%gkZQDO-s)a*!X3H9&Uzwn1WfD~1YdgAUOnYaJ0Es(pxVur1JLA3VY*yuz2`4-h=5FFeFYyu?pD#aFz=Up&TVyvA=l$1i*(-#f@N zO1|UDzIVLIC%nVU_sOq3#{V~b(8)Qmvb@aCJk8g<&EGuE=X}P0e8~5_pN#z7v^&fz z2fP=BynoKxDXz~ieZBzwu?T&DBS+B_#nF4tKk_`&XT7>OJ)vm5*MB|OqXyT{N!XXY z*`Ix4jQ#7NJ=?dv+uIShce_ixJ>A#6-CKp)o6FtrJ>U0zQRMxX_`To{KHc2kh-*4-KOzhXb?N85I@E_VoD^Xi%X; zi54|_6lqeWOPMxx`V?wZsZ*&|wR#n6R;^oUdUW{}Y*?{lQF1kV7HwL!YuUDS`xb6o zxpV2(wR;zDUcGzy_VxSJD_OyV2^ao*7;$37iy1d|{1|d%$&)EpwtN|LX3BvJclP}G zq-N2hNtZT#8g**bt6BfIcKsT5Y}1@U*S1Yqc5dCfdH44H8+dTx!-*F+uABC4<;z(L|*JG*B58eH7A2C7qN~N*Qf*#7Z^Yl+#W<{WQr- zF`W?9QcXP-)l^mePt;KdTou+>Wu2AQT6=5N)%k4QmDgT<{T0}|aLpCGV2wQ%*<_Vn z)~8{K^^VzSrJa`AYMFKR+2yR=mfLQ<{npYgvlSHFa?L##-E_aic3cY8eHY$%<(=0= zcH0Gw-hB1lm*0Ntv-e)l{2iF!f(_yei-729aDJW!6d#Itl5g_(W3fzLndO#Uei`MIXMCCFnr*(h;Fx803Fn@D{u$_Qb>5k!pp8Bn z>7;2LnrQ!(lztlOsHJ|C>88t?8tbgJ-nz`Ht%j28u*Dvm>>j=TnxwMTUYqTucJ^#EZ&8-HV^wLc~y(@9`z76%(U4I>RghX#T_S$W~z4O_L#+~=xeJ5P^oqr#m z_~OeBUS{K!U!M7-kx#k#=%t^&<>x=99{cRIkJ$Q(xBnje@bm3{Ve!pBAAO-!U%j^U z-G3kcV95_S{`&2|Kh^o~#h?HF{f|_C?fTyU30S~91#nyjRNw*`7$yW}tAP=e-~^BK zz-Rwa5Q7=iV2dnBtPOq;gdxOG2XnQq0{{SpDMW`s(2+tHzR-mS7{Lf~0F0L~1sE`- zfo56=Lm#@Z0VALRF52N7eT)ExE1XC>PWVD#ID{5SgbfW~_(Y0C@rOPPA_{0hjHVn> ziXs%_ph)N{6NZr>JIE_`)4#MvZLDVgtNb95B96i9Tu~5Z|~E zEV?j|t)Ze5D{@FZ!Y}}|2nsR!Xplc5a*UbeQyE8fMnJOgk!uWq6?sC70E}Rc1*xM8 z?}(W^hSG;Q@FNmGxx_)bP?8LBBnlJBnnk*hloHt`EK@jwLh1w^NDL-HE~!FIJ`?{> zoWztTFzf9pWAu>#I zHsF{xX~!?=DUfpl0G`kkXxG-qzRyt8nbsudIs*z5Vl=>o-8{%QQ5a6kjB}v?=qGRf z+0cck(}yTXr9086$SO86qc4jV5O?m zArE)@LVOBGrnbx?E(}>xU!L@eMNJ`7Z8FS_CY7dH6_ZT^g;Rin@`VS;r$5_a${$v8 zCLk^5NC!eu09dp#*A%Nl;`mb(QWZE@jfh%dIM;-{bBa)%$S~pRPhz0phYkN=D@?44 z5WQ*@vRC42oxIvkxsH_}?SLo@Wmyxx0(G(faBE>Fb6JLHcBsL5>_a~L!pK3HGpoLEI2rKr{d-II#aWQLx+wOImH%N+AFdR@xL9sqt?Xni>(IjI%w_p24b@JIU# zVqDlYg#pOHVu^9zh0ORLEgiHE4^U{)Qdb}k{b8vcvdvXL5!9!}^b6Blknko%)oY}I zg+IGOeIVATMWm=-T^-Uwiu#8=HRPyQjn{+lIjUG*$aqm8kQ}5|A)RJ!jeST;nW6*O zKBPg9{pr#*vKqIj{zt9}{bqMFsh|e!%$(Ec>2!y2yswqrPmllVXY9^#wCxCY7HjR; zfs3->UT&`>+X3mYHZ;}^nY2Q#sc(Zc{E-Lv?mwMPW*914mCVlK2s}FMB3_q`q?Pe_ zIU8|>aNC9KBxx-T9?D3*{HN&n=Ue|vU45`ThAYJQ8jmVFhc`O3&>k$d6*As#YP-$~ zxi+o;0dq$B6Vm7ahRB0$XRiOb?r(Jv0#okZ_}O#JpREc!q7{EzYW@%bnO^iDU-cw&G%Dnwi2k%1hPsgw>pN$C5)`}|4_RWr1&hgyO{9uW+ zJ_`U-sOTsv0O+r%`so2f>A-L=B5sS)uPC$u>~!iYiSLXh(4&Hy9ohQbfD+N#k4iQQc2z-_JBNUp6g4fxQ3 z>zK@+E-i}+aPfX>*A7hp`^@l|5YevB;U=#HQRuaD3k2VY(e|j1^ueBdP$1~=g#tj1 zWGwc8u=Dn=p3ac;pim(0uc02$iVl&yu&&u|s1aXC5{)noRgnz|X`)6hkc#bvRB#4! z(KTuiNUU!X;g5x6uhuA077yYB0U+U?E3_0b84u0k1mYM+Y35?Cop!DP+G)J{FZkTg zAux)ZCNI_G&bnZzYc`QSow5+7RLx-HRe|DgPjFtkz56 zwCE#&vFg^5t?uz1e<tnj8!gYuW^2E6a;>(J8krITN9q{M&#t~JwZ zA3;PPH!{=Es`N^-D6Q=bxs4X)D3x-nutqS`eDbFT@+NU%#9ZKAviF)y3Gv7 z5bt=ZxmZpQ#}dn03*_4J7&+4|uQIbR4IH0S3HQ(wU9Rccjtn33A&5|qc5B8S@W4RQ zDxov`b`m-N>I`#hqZD()Jd-~)LndRy7fVyB7;LN-a4Mk@A*oXcT~q()tSSj2Hy469 zLz3#|v-oU+Hy_E-JPtjHk|UMNIpOk!c1tmDvpdamA3YKwVACNhv^hzW#?ta1G7_)a zGD0KIMF~JP7P zNBdJtMdLp+Wi){cON+`k5#s*=Id8VEwCY-O7DF@))zm{(G}~k|K24BJ-!djLG?aj^ zEuD1Bs4|7vv%T0cNg0CocFV1}GDLarH$hLSScy+d?2Srq0nwBoN^}eD>N~+x{H{ozgYZEybM$=lSOqjQan3noEmm&=SRX0jJTH`>%dIRby-`h&;YFPf^@t*D#5-EMM?D(mu{y3lV69kCx!At z&$Xf8^ZTysTbI)?+jRe5a}{DCqf133K&LgV3QZ7o@E^NXL6?WXY8;1>#;s5Cw_UP8F7%PyofUm0VS>Nl`IK0Wn8$Hf2+^Pn9)kBNlBVXIFW3 zEGpLWW@w0F@EDzKwh;AJk+p1jb}Ek+E6)~XfAqpumcvADrD_kBM%6tZ6)Cas-kwxb zd(Uip_Cy;LO24)PL3TTZ&}co8LN(T5DHm@cw{y>yCrR_?7HU+B6p9XahH8l1mUNC3 z6BoPI__#4zYuEpBA6I8NH%%WlZGZPLCYDruRU?1VcNs81`vjRoAw7*I&a^MB#KA>9k(Kv>zRpe6d%4dlz(pmxB93cqPPb zk9Q(w3;#awY3p~xA~=256?3QeWEnSsQ7BV6LVGXn(9+9rVW}DquIK=;Aq^sE7vdOq zw_)pdDo5B;i?S9J3?xd=Iu zB@(lwa;yZ{Y909^&a{XWv-`lfj~n=pulP?HqDht4%&}P zb$Z>{F|k)lU%E%5SE(~vs2!TC-Qt&Zn{1cahx18ZKl%(!+pckZyPBn%v;p_ILo2%5X}ZZ8 zw)?wdAUdMIg0{ZUVt9pv8UQ*=AA(82xBCAc-^vLc z4)`KGs#V-U2bA-Id-mzc&> z-SsxPh)~nGag(!Jvwx_eh{4~9e60`MiQ_ql-8jtGiDTDW$2ah^DMH)3uX>-f(=F+? z`>LV%-Q8~<~_{`+_rxR&R-sd`p@PsZfb}Am}4HUDWc%t(8AEc--TU}aXa6o zos<=#=;vINHr?WLo6?O^<6rLRAN-gRoyKn+jzxJArG1pl@)^5*$T8j`a=ZwAY>i$^ z={?=*7ZK}`U6^qm@QXs{nS<3$JtA^T;WG>QYSHhlJk?N;&>t<}vA5i_P^u0f=ZkG@#|VC?=1=Rfk^Zlzup61`GaEcwT0*F&9#Bt9bJqDn&^~r0Ifzprhs9^Sd7OI zES5X}v;`UU!}Q^22nBEf^~-GNM*z(xqSk+ZMQMS=%9V>^Q2VVZ2R7@JE^*ue0sy*y z1PdBGc(C0801O$@KnU?4u!a-|Mm(qw7>x!E8_*!8@1jA46akC~DRN@ThYeUpUPQN%VSo|1P!h~h6WBqTC54IC;` zJAMo~vgFB>D_g#dIbl0}oI88|3_7&v(WFb8K8-rH&&;e_yMBF`Ye{0TYukn$w_()V zynFlpT^UzR6u^rcKaM=P^5x8%JAV#6y7cMPt1oW1S+(}<+`D@pZ9Tkr*KHe~9FM*> z*oMT@yMO;)ABvi|;M>2CKfnI{{QLX=4`6`)VfS5u1|EpuY632JpL{jtz+i-TwZlTdV`sGtQKn4FfrFg5gGv9+*eyQAQ#8fyNm}Z`d zW}0fQ$!43CH3?;$a-Qbqnz_|fW1Y-#h^JgU>Ivv$SN7>ppoSibXrhWP%4mLY&IxIx zoi(cDop_2xDR1Zy+K^G1ewr7JHSGv$sivNaYO1QL`lzI?#<}W^vi12^tZyzvD5kdB zT3$`N?FwwL!VXJpu>rRFYO*dGJ7Slb*amE^N%yGvae+;sO6kGpHGHD^7jB?5On# z!Ul-I1S)WW3w+BYpa(x_!3S#aVjwJ`2~UVZ_K9$W zbV{KMUkJk(4sV4lER76rh{GJ}aC0=QA$WEO#2^ZBh;{3s4?{!5Br0)2qaXhW$YZH-jmrz9ArFbjL_%keM^vOE9|_4wvWAg9l%ypuiOEa`hLSbZ zq$fWK%1{=BlPnaaDNl*YLz4e;gsE($D__~hRca8Hw5+8qn}3pdX+U2J zbC|@eATaq?%w#HanfW`W{Fn*NXi77D&P3lduZhiU7O$G#)227S3C`AWlX~GSr#a6V zxp68Fo$PF}S&QSv!9Ubf5%<89-H6(1a>GFpP~i^7ZpOm82{2zitL0IPn`-ayh0OQ z>1R{t5y_@(@(->6H8TG>-KkNox*VJSi7;HP>RyD(6r|QgtbMw*o7AfFjt;$aO!U z1x$`2TNuYerKe5d3RVFS+WWNiC||XRSTA$ginund0Jv#kW-A!OUSzam>FrvRW7ppZ z7gfvEOIx}Mk!;15S?D;xO`D6N%64wCY&;q|hyh;k3g-a82rqaoLR^UvSG%GG0I4Fw zStjk(Jz0fKdht_VzW`~vff1{D!%KsmYBpx`El7U%1KgWrmMSl~t7DS#-hW^hIP4uv zf&nvOgWQ+4#;yM=YI~F6PldQH<+&F`2F2fERd&Q9s<5zBYPPAl_#Yd7SdCwkl)u9F z!;)b!bPjANAiveR#~ln;rb`U7I2a^c~OPHHp0al`C9ajJdg&0>s!M&=&kptx5sl=cGt{RYowF3Jew>C=yjLM;34Fv$YjHnk1XtGTe(O1&PzueHr?T)*4ixEcYrFLGLjSPLf$2|&K*jSh6YWZ@#Q z(n1!_=VBM!S`Lb>aGVNog{M0qUkP!E0hWs5N6vuba2|{*>%$+a#SXaAvvZVt&edkec3F!|&RZbT~(*F>SQJl^hwGSI5 z?Ka8fMbi1JG$7^?r+4ESBG{MjUO}*jy4LBU?5kLuwF%!TPrUA1l?ayR6~B1lPoH{| zxOG0d=1`$aD^%kXo*?(F{ItEIRD|=LB}CUHy>#xVMIn_2v>Uyco9IM zfw^^gleKFjmwbg~wOiz;ZNe6XGq-^CMs_l|aN1RQZTM7u*L4VScX?+fu_iQh zMr#L=6e!SpNe2v=WgdT$V`Q=vk+^s4cM!s%Ek3a+DBvvbg$~rB69{;8xX^pSMvAG% zczD87r#L9)ff9zta)pKwy$1j&Cv>#nEDZrI0VfmMB`S*ti+i^k!zgb$7!*{2i@FGe zg6DWCA&I$|UYLk2qYAdbi@DXjQ_B2 zy;vx8$c~G~jTVAsBR~w{*eL~(jaP^%SC@;SxE8~Bjy3gC)~Fk=wRBLCar~Hzt8tGM zp=kvyS&9OhXZVi8UU3_n>F-N=Iwd2F82doLG_GPjYhI7&Ool%{A9 zoH!gbi6;?OS(qqT?x-L<$&RSzR_S#mB=-`uK@zlZl}A@Au^5&AU{g6TjmbD%cyf^N zM*|9(Cp9&dSSfT>=42s~}z&}gTASCmkwg$DqqoQhr_CZexLj}N-2UYVmPuok0On(%mRFfPXmM+Si4Bmb zAwijl8D(aXrxLcOM|WwRS)#UuqEd0LG-`*MSfju;uB*zS?zI|Sl4h569&v%Nnu?=ufuh*<6h`5Z!P=%rajZ`YtulA2sam2{GO#Cl zZ0yOZg!!u%x)cz*dKrtT7(1ZeC>7tztJ$*g%Lv3W6@n{uQ32O$S$wRGrUGx~rZ z=dH))sM!iFL@Sl3#UXi15F%SsJAo1o%BB(O6BGYhp>Bn^bZNBP8oAx7tF9_xu!`g)=ptfk9fr(3CYYNc|kryfg)y%n*WOP7lnRxcqHmK##wUSxiUw&LKm#9H>`(PpavQx2+DrpdURd2Uuvd*PjPwQo1D%Hab`Pj z6N{k;0Tk`Hwa@Cbbm?yBsJ2OngbPNGy4JpIDs5ijAXpi1mzP`6LKOPDs_O-6xz$rZ z(xbh45c^Aq8b~2~nU`LBYyw=pK$xJ(NoDu@VdQJNx*}vIIIA^V5EJoUdF3E7MH5~1 zRjD?>I2ymXg_w=FdbB$d9O0AJ3M`%j8dq?rbOT55NY_m#?d*+)EybBby0-A1Wty3I# zOA)}4mcgtl$AgI%Kmo;*=DiESiVLyBFbv3x*1PfQovBv9-bjO6(ZTa3p}#6z5PWpH z=$WC%#L8%!qPByo)&ROlSGgrv3cSYB+QO>=oA3I&c}!@Ki=%&a$=>KGSBJwmdLCcZ z$GJ6Nq@2S_jLRM@6_kvli+P1W8(MtU$yWNw{F})@f|X*(!|5xOP|S@%hgg@DjQ=YV zb^N&6dU6JlXwo_@zrwu*A?T{p!c?ZL|d>dWh^w9)#4N@rXS!o>q|VA$-x z^8vuV%O^`4&2ubt-M7rEY+|h($*|mJ;HxX*+Z4(Cwz|m8OH9B6eWCBms#k2n7iy}i zE5$*l5>>3kSiDw39KmZ$!OCdRpzOQx3DNKh!*@&*g@#yHmcx4q!m*1fV+_t=3?_(3 zGqaYU5T+oAWtK2lnn{s#NqrC#p~~{n0NldVY>LsGnaAEaU`AcOK?~J8Is!5^Ez-)> ziWgx(c3Ju=&Fs6iG_jZ@VPXi}wi*q@#>uz~`(Aif!353Ly6DzT!Oz9~u(&G`rTNtc zku_t{>|sf{egnc0EFY|^jYT57D!7;V41sMT?o z+o+9yljhgCn7gVBaSgy)i#x=j)wOGz$u&sWUWdq7eZ;;M+fU0akxhpI>sfG(nPAnH z2(jIOg#uGuYhCrjY9-2S4OF$Q!)#66OUQ1ui2^q@ANTU!^Y+k4OxF}5t6v4%qm2}F zt=pn_)vHX}w>M(X4UkIB*`@u!18Qf`oZC*_krjT<(5zKyt*{!-$HeQRJTl+Hp=0e_ z*<;z!n|;GHV1wpNX|4Y~;i+2TLIouCY|nFn(@l(WK!(-1@(@8tn8+zDp>f1qmz1Zs=M7_Pz4Sj1Nf{aGavH9qjnWARq!T=4j=I_g8p(T#JhmHr&-ch1#!f)+k}cN)282ee7%v%L{RP z2R7_C9HpS@yVn1{+`S8*sGjZfyrhBc?aZ$2gNy5g+Aqll+~|(g7V&DTRT5g2>l7ky zO@_u7dLFqx>TA*N`$ye&fmrN~;A{TupMJ)C1@T>;Y6w5wPqpxt=I#N0*Qwpp;11?@ zf!a?YfY65v3jyr<4)Vn7y8%w!pvmK8k*hv^@yhMDBF|y#-rb1p;dJ}bY7XtIjv|J`DRb!Z zLSJYkVQs`rVjY&&K7sbC9_W>e^;41S3y<;9&JauAGh2AjjZt! z4}=oja&rF#?;oyXE4I3jAFq<%?UbL%SP6uudWFJj$e-|GiWNEFv+14gux|Gu)s{d{h- z8~WJ0pY?rzn=a)cg}K`RLF?Z@f(8E(1CUVR!h|#iwmSd-oxy)J00<mww00-I?)HebEFpB?Dt{h0xq`{Xg2U^5P5TZnb9zh~x7!+j1ixhzY7@?0K&VuLy zC=CCA0+`a41|iOLsnRA*tuafUtcp@)P=yV)h8%iy=)av4mlid6G%4GNZmrh63AdnJ zs$u;O)YlGJj)+*>Qe^s%FGYxR{gUL_^6*}yeY3(0>$9rHp&oP6jr`9e*@YM<7fk$@ zpgwfKXgqcNvMepIBN<{{-GH>hnTzi_u6p%k%A^Q69u)Zyuff!sFQ08Gvo_$aRcp4q z{!cnr%%gYft!i;?c<=+&t{$7P0d17JzvE`Soakrsl^=iYnOvv*cDjjC2jIW3PAh0K zjW9Y2mw!+Qz%3L)bFL};!g|Rq8ccEug_r`ED?9FN+OEKe77|dks*ajTp9f2P%|ie1 z`U?=i5>0f87+S{KDm8+9lTAJLL`-pn;x-xxp`jl9F0u&!>JfnTrXz5_$aDnFu7R8b z>bs#rtnw}TqQo*u{VXag2P-K|&&eNcgYPoCmh=iZ+ZxP^KJ6wXs?0Ny{LU?>ppwcm z8V4n`P(u$zG*PzN(Wg;IAB8khNhhVWQcEwzG*e9lRkTx2KLs^ZQAZ_}P%iTu@6I5_ zbPLWVNjsCV9Nc5bu~S78)6Rlit!_vAc4UyOt>9F3I*X1&NY3~|6LCsr(SnxE;d< zJN=~Hi`Ik=fUYIaq>Q!8`Aj7CPLN(D%dTXVQZdH*k_2h8a&ZNTq*TS_6*K=|=i2E# zu&7k**Kz$i3SQ-&9k@vQ+MO}NQ$4H}L_7h^u{b%=cSDWu;?&k9f@|vLr-0F9?Hh11QF0_@NnBKCjJXYbPAz#)lgf#p|qlr9X z$tmE7P1&FWvq~zZnLIk~?(A;u7lj8mrx8W4U{?0$(Hk2XUhXN*el#l>;75iGTv=1V1(w@MC{cIyYdR7mGIul z06um7+iXHND7!v>%0fg|DgqYJfF^1Oqc*ib1~$-v52VxqB{)F}R?vc^O5OJ)v?{?t zty&#a4f+~D16&B^SGV#A?o^X6=AAEyV>Qo=d5lK;)hYR_i|`0nSkxFrDBmXI`9%6Q@GNLdo$%4|_JMbptsu81~=O-y!ulV7jOcc$|>iHqbp9&n(DjvN0e1O;kSPRXcsGKoEI zh*hM>gA^nj&ee%yIYZbJ)u_U-{7F41zy&%GVi@lkO?Yqn%hI~|ET=8fgA@T{)jo5Y z6e5ypbo+}4Noc~P=>r(Vqtl&=LX4-J1x9G3Owv&47v3dkAPho>>uLi>z1Yo_c*~={ zC~`-XWz#0LOq6(31F*x< z!am^MJm*H=L?mY} zs6o=CBDt(*B3}Y?BK72+#k|)?H>!q9?EKP9G3G}?9Wnoj?ov%l(dnmbjU$i<}0bYY-HSV2;7PCP605Ilp1%zTsSH8tpW%9Raw&>y*!S-B~#} z5$LZYuIWbGiG!g2tS)jl(alcC*m{2AjxMbyauxlnDW z^kOE%vLw*Cr@mB7FcXJy!MJKL03O^~W`?-QCcf;1hP$ie6xT#IO|eYP*Jc1z*+j&c ztfBr3mn1`|$4OHyRg~&T!sgkBh|&jhjZ0QW7ci?{g>t66)D6@L=A zuBqzubXVvkPFciOmD>q2)oRy8E+)%}-4Op@H_b(j#8Av85~r0Nlj}+@X^dj#ls~c3 zSC`CciMV<&6F$NOqRP9*G{r`m1lads=M8+VZDey5mB}F3I{@u z6xn7SqQMCM$kq_SXf5Xcs>q{=V6g-M;HS>P)MS2K4IVtY_bxNS2cmH4e&}E^_Y1QD znZ|SFeCPiJ`k`=o$rZP$#onv+K*#@Sae?_W2mX}XYu0CTAXXjSD~WRN+|FjH_tV~} zUQWCE4pBV84jl&=^UczJYbNOi*4im%gemS4ucz^cfIT`@NRo8$RD0EwMM>ogcO0z` z{hCqPN*;E2m1>V-wt_AJfgYGyB>z-t%DrxWFSq za7;JfQ;(i>^rf#==U3nQ*H4tDkNWYRMP+v@-AVURAZlDG>rbbCoT&xXAG4IXwXL=f zj2=&>mT#YnrkmNF>%7E2#a)Soqc>l(x5z6H-S{D5BZ^cZGi56XgfKe1c?$o7ssw~U z{Rls!@IDIL2w+p4JZb=%v8VqBQ9zy&reyn*5*fG2Lk{?&g##F%@4}hnf;Jq&un$~1 z$uqLB)3<<%w!wmtAA&m6yO^QKD=tb28$`Vrj4%h}KWQ^AN{Th;_(2|&J$@^cW681g z)0uQ*!U~i?vMUrP(+S=9IIPi&(;GvgvyJ9z8nn?Hz!1SSA~2|hLGY@$11J%6NRRsKNFziNLQA6nzy+!RhMJVYI)@r#MN)7?HIwNvs@6iulNzc?rGJ z4wWdw9we`aK$8Eh5Sy_)%4@kvB?P{Wpo(^2E__3-a05L6aZ8?@kV#B9g%~k;TdJs} z3Ou7qPn5HG8;Z8HOSqIWf5V}*co3Z&39_N51Aq_6oJs;?xRYr{UrC4`$_;ILMT_W4 z^Z3dn^qGQr!iX44eMp|ToVhd{0nc%d@Z!DbBDaW1C9!0jx@5D@5IQND$s(yu#iWRp zY)M*pNvilrT4>38JQa%|Fy@jToR2SN|gM+dEA>a^UKq$ zjZBou5+R1#6h$*@z}EE2{aVb6=uSKl&%Z3sR%Gf3OwDx25^=p-N>a=W%?Y_m`P9lA1&n(n3K?yO2YCvk zqMWG$i@aQmK?92_bqN$L(A`W)4J(PA6itnk)8J4bi?q`_g_Jqf(>)z4j>IPTSWAWo zQ8NqFg>X&s2nwl)#D(**!y^lw`#h^VPVM*_sKABh@X#OyQkozWhCn!rsIdLnxP_RA zQvsap`NerW)s4bBI;1?Z_|zGs$=isf0u72oJs3xtA+k7t|IwNL42l3a3z_Itg?Pav ztxx|I?8~57PtIIRPh*TU;SFB}xtrOE$EhPnT2&{p63Wb}Ia`Ze4T@f6I%R#6FtY(oF0PfRFHT@eJEB#vW!<$QTtRJ{b3y30uOW$ns0=juPRO?<;!G6 zzDi}){Gg9|9SMi!nrRZ)D$3WX`Y+tb*f*uZop4R&VphBO0p2vwX@r%a9Fer$d1g|V}(JeL|o{I z+tx(Jyya6qok%?O+=|@X&=p+?^3x6CBEWQy5wgqynHBY*fkgwBr*OfEm>ml3r?H3% ztgAcM0uI#WnhUiqsz5-ND-?)(il{g?roaW=SdWp>ADEyW!l*N;7&@udiPm+JAyX+` zG2ZD-URhm@peczVnD66!yRM><;9gsPIE2d8; zrYGrbU=V&_#5rQ!rNBE2mJui&>#1TPj*k7!UYuRJqE+KxESi5b6&04@s!+vd8^}~m zP2hu%R|^g_Mq(3<5}=?NuRW280c5beKC>PmDF@^Ia!--J`WB zJdR?e5#;av*42%RU}0a$KoW;)(8^S0#h_&ZmW=ZyscZh&BZi1STlqsZVi9^ER@dba0##%Db(=X`GGedgzX254(z=YS??daBcIM(9W@=!ItJhPJA`BNcRZ z=zLD(iMD8qMk$CSSdF{rj`rw}erJdVX^j-=kv8ejt>}}k=WR~tmWCjehUu6tXgMks ziI(YXPU)N0>Co+2>r)Y2-RYnf>Y<(>nkMQ>GwP#O>afb`rRLm&cIl{gAg8A4s;)Fq z0){vp6`Qtd>}%?-25Spy8SMPM>O+U|4C}O3Yn{ewtzK&bYU}?^ee1bqJ)xv)jAUu4 z*6WMB>%R7D)yNX9R1~iMYq9$3!bWTp;S-=v?8bKNz7A}9er&*o3dx@Av_9<1wyM0| z>&~7O%?9nRCRj1EY(pXJ&_1BdMs38-fk+(M)rRfZKIze(OW7`~@hWZGCTi8z?NZ@v z&jxNs>Fwbr?&3D?<3{e}R_^6y?&fxGmHzGE2JYvk?&`Mg>&EWv*6!`*?(X((tB!8z z?(FX-@A5Y9^G5IVR`2y@@AlsA@D^{qcJKM7@A|gy`^NA5*6;o1Z+V95_?GVe7VrTl z@B%mR14r-#S8&;eZvc1c1&8nmm+%Rv@Cvu^3&-&4YjFPuPv{Ky@DB&^5Et=(iOpS7)?C*V9!`)$T4Qh_H3ac*g(T7$G;tjx}+jK26-R8t6~~8gteT zT1NInc?rgbD2@&*VsP6-o}kO!s7EdoZl6>N3L0rY>OS{#NdxraeRhxr97Yr?UMDM3 z7u|UN&tW%+N00PLzx02%^kO&^BItL50CiE|eFnhCi27<5jV=xp-5BvXtIQUWD`mtJeP?7ae8TlpgdQZtaWG!q^ zb(z2q{FZNM(@_aV-+Qad`i#tbi?{Bc)u%*J`Gmj)!6$~So+@nz#<~Y9k6=EUC;aSt z_L>WQMRCAW-@{5fie$5@tKX*4`20#vHc6@~f2#JNhWe=Qs;PH&od4*gzP`nG?8H|T zu=jU_rwDg|^dI1dLUH>~4|TcseMaMaPq}+g8TkYLctYW)&>lshuC?IZI_neuh|K=< z?rFG_d^|~5HiNJAdimx8dKV1zxfgw$->nHExusQ!*e5H1$N?b7zk&u2B21`oAwz@h z4gdhgP#}$l3I!50sILJ4bQV8?OsM~FM1yuAPohkzawW@??b_*!DRU;xnl^9Z%&BuH z&z?T@wG1kBDAA%uk0MQ~v?w|N2TU%FDs|<^j#G~U15oiQ*REa_(f~l~D?c7OiX0T8 zLkL4-I&`>8sTQrlB5S`IZTb{%(1%u|($dN`tVD)k$8yz&B7jG}jvo&VyA?9!s8xyi zCARQzWsq4Xca9t}H0jcmKO=0{pd`zzdkZ%GE0SZzlX{{4^V_(zz``hRa|LcOFygL~ zSE38>+B8BGqX0-ix4$dL-kmV(2%smO`~KIIHQ&Ivn1eU^@+bN7=Fg+g8Gb$c_M#=? z;uwGi?$kNtkI0S?*oXiC8st!4ZU;R7)lLrnH9(7X1_|d74G;x@f@TO+1)4$+Ri{r5 z5FMakLBuQuzz7rmQ&n*X;Q{~(3_Voff&Y1UP*XJMLrVbj;btIy+4%*4k51Kx%LqOu zxL`pT>VpeJD0mbWI_M19z;^}#6C!{DI<(<`-=XH2l>w%9K!&u)N8dq#p}OA^N(F@IrGD;#w^5-F=nY+ z1gi&?%2qsTy(Pr34Yl~vi$x;;BwT}a4k_I~nmW~~OSIe>p?)IW`QwS#-U+QnL#ByP zSk+}k>2eHJiJ+eef#@HT{}5(SU|R)7X>|wjCoh&xLb+u_#0WO&WO^3r)VvKnI_QyF z9_nbq2qFBhMc7JdX*=Bd=&eHaE;_=L2_*`lgh3q_62mkgcrv6BS_>Nu9A#T`LGj|5 z5Vo9p+K`<@#^{ikNiM1Le*c-&@}&M68SsA(511jJF_Ju@OB8c?v4biHoo{@L(uuO7 zj3yMAL?l;CZ;1EiThP7?3f6F+Se8iUq5+QdE<@;?y|TJiK`P?63cVaNl|#~O5W;OH z6xPWJC2sJ}jNgm$eI+0NZZp`3aviAG1qn1cO0MA+ona!zG~~DirN|^iluD#qjS?#) z^_5|ciTg)Ly6s;8CPxdT-Bj1fanWm5r=*I&%>HBNVNv?r%P?k!I%{rTnT`kmR|ut`WAxha^SpgBRx5&^;;{PkLJD!WY6& zg)*EW4KGED1^&o%f$~rFMj#+`;H-L+YmxKZC7o&Yt9t3`o`p~*Cg}CBM%4qr$VBB#@9bNi1YUjAEup#p#gIM<|$^ zMd~=kA&Q9@XY`S8k^?yusR$_20^^UkBgi#oXGUYJ-XZZ75gab+NrPOXzU;_JOIB%$ zlSyKwR#zO=*s+NT0To>eq87H0%2fY=#}0I`jD$EtRr`pQtY~E`9sB@UvI6El5Ymic z4)c}H>eaPNK)iUOLdP@#Zef}?P7BT3L_BgtvCenuR)FD(q=^dT^NMm(6saWjE zM>iF;qzI)bC57ZSk#IGt77OJ}MXD8&&UBuXoREo}cvgbK^?q_asHdRnLkgw!lRH%6 zSLr6$ko*)*vWZ;(te6limXDAF5=%w(Gt_<-bwrf~NnmPYu_;1SFE2W%wH{f{%<7bl zgPh(J3v<~VqV}cSTN40C)D#r71Cx%NVq^A7)M_#bXa7huab* zH%fH1QF;+J5QpAqbm(1horvrkzYMQ2xuq~?n&Z7iw)jY}v6qzXSI9-FD2+B=P*{}X z;vo^}$JZLLM?q{IVqo}EH=2?Zm1@b?F}65iQS-I@lf{FuQdF>1$THp%mw&u6A#*YR z$fD~at0EK=Rc|2zvEK57L&pOMZ#l*?Wd(#oyTdFzh%}-etYW6o?KRU0*xPN4c~0%dWM9;5W~j*YPw+iXhCOICs*`AHugv zLOM|})2Uw{KC@c?ArN~Xc&E@c_LN`aYI^&5qFg?bmyJg4-24tA6GA1Pp`9C!7`xUE zUX+?WtZ%t?bYw8zS&~8X>kE4gz{!1Mc3%EwepeWs)`6>Ml`ZdPdvsx7RN6vtQTO=#NYAz_ zMw2W~iZVQ;!gL9d8fzEPheT7>59zrzzGJg6ruN=j83i4(jz9(oUDr36%?1}ygkHSZ zH6MTbo~=CNJDHI>wj1q+qIL3V-LIheH#hdxFa7Hu!}#Mr|6ZY<=>($xF^*G+>llRp zsYzhGhF?&VL(oR5r4i66V0wiFyBP`p6;=8DgL90_u!V_J5=obnvcYu z9!=mtFo*+2n{QB$r-YQpB@~Ylh=AM&o&lO!v=X9?N~`F~s1?L9t;#{fgIOG!7j|K+ zaN0rGg%8xqKk$RD3>u^9QbCl84gf(M7DO(=1+#ES2Qnd?s2YVqmy}&0LS&&uG}qwJ zpl(Ez304>T}lsf#FRARrA)^Duwnx&QRV3eDs>Jc+R=0=76_Gy{WOYjWX1-*-X<<1 z6Z+r)CWz1o;o$rqM9?59YSkzX&WV6yCmkR} zpmw~Y2cjKH9VDG)qpW2j6(Sae-Q9G|TR~tTDGJ?kNMHr}hCo(WIhvqfP^3osjW0S5 zFvi#_HsN2y;1F6z3Q`V1rpoL61V{LqG*%dBype^(j+*db zjCo>Lk`7Wn1mv_=_iP+QuoSLs7zEy8kS$gnos2+uo_sVTg;k$`JmrGe&xurpW&H;@ zk)Bow5K=nFgdmLHv?81+B@Fh*HL1tu{hhtJ^Wgf+zX^_UjjwFiCzt|*tSs_wx zCK0{{EgoezI+1ABTYdB;y?xt60-|WH84+USY+4F+u%B!^;|3z4tyz*XvYHOHrbZ%^ zC52yA2MdPy>9z=XgUFnZST9=Y- z8xjT}TMiCzR;RPc+PjFSh$h4$Du#p}rN-PScPfMif<#&&qjf4`O{yi@jlf|wCyJs7 zfDA}^{)WQAByCaMi=K#)g-waFC5i@HbntZ_$( z($3KEl zva+h_NQ-|2O`)O^aEj?Oa0|1YRhCqIaVGTr4VmWXAnv9O$>QRD8G{Olrw&d=tQvOiqQs)<1)?g#Sl`X=%(qRe zp?)fejovD8p{O_$GNmUGe4!T>gQ%?kp&lkgsqAM#xCI<4gj!JAKjdK=76hoo=dFET zlvb=Y)vSX~BhePcu_CB!@GLkTY|d$4&`Dfzil5M)DxF$PaRBT^T#V0}(rGf_i{7Nq ze(Y6t&y#)FZ1HT-8mm6_i{L0k+>##04ylR|L*{Dk=6;d3jn3hMh3F+Iu{np@o`lS{ zEV-V<<4C0OjVI~dmB23S&o=CxK5n3ztj^-u+v2U2AqM4cEZ3=MM(!&=LMP!?uB9j| zvDxlJ_Shi8VxT&2&f@H7E=Xtno99|cp#m=?jw>OW1luB#Dv9q&WNPFcBbBP|mI3SE z%`V>dZOU%N%I@uOu&5qE=-EF12kL@s^-iz-@~u(I?$|PflcJJ5+2hYDqoWSUYbckl zZdJn2@2$PdS7|INoh6JC$Ht^@BT0u`Cax9*iB))M%bGuR|hLzseNDhis>$5FCd;3 z27|Aabudt(ZG~lVXx0oB8d(S9k18Qd_=R!$&hO~fudE4G08ALnQg0;cohjO^XdW&f zEphrfoNS73(B9ckh71Y-L&R=jsMulBzQqo-=RvrG4(!08(b6MBts6FNe^%`;rKdqK zEi6$je-?7s+7*^qaYpL@?{1JE$qlkf=mRz?zomle}?J*EDVICjjYiJ;F z=(6z+t_T7jXC5(zre98N33vbg0AY?b0$8NIisZAWig-i zuXFwH`m(S?(=JeeZqS-At4;F{(ea%M>Gq{_1;Oj26o*Rt@+|!zP9F#JXD3QY(OyHGrz-)IGd#m^54St;AwtX{d=^Bi00BbSCnis= zBYX0#ECh9Pt#l)|S%7l(AoezwGETX&Uj5GIOp)|DHWzpBFkf68qhx5a+To}TFZXU? z>ysb9w=HM?g4U3vyRwN4ssEZ^rlhw+ocu{MDw@fgvd%&G@^tz0}*m- zORzj+TU8%3eaG_?o8St|cQvImg8#LpRs?NV4?ruKK$EpcP4#PgRG=nwgDZ4HzjA~R z+s8H{RCACi=D1pBv~q4VBnqjXJal6dm`GF6=4S4RN%oM`rAuOXm2o&rPkC-DGW zmtTwjdcK}l|2ioFNv~m7F-Ih^VkdA>94-_$uX1Syk5jNHvwB6J`k%-0ji2{ti%z2A zw}@k^Rf_Ewi>5>oIw|{jQ<^4>N4004Gd%JX9|J9xJGzX>b-^jbZ+l@TTSPHP?LTN5 zC_lG#>*sV=vL=s8Cug^EBj~D^-y#*W&Y;7#+aiHA5)I%&JMi>*Q)oz}o=39x(g?dj z`|VUadX+~z^Rgu|3kZk<`yG!C7B%qb{ky&s3BUV0XX?YHw+XcyMWlWmgP%7&4NneW zMwN*<2jP3f*7N|=ooi__W_bC8J-AYKSy8hoyR(ZuR={e=qN5W<*#6u1lCGN&t_V zTMQr}RH2G_{H~twhHl%dB;!4ZNj$`g2)YP{%m}DF*&WWk2N9>=HK@COsE>N=Q|5nn ztoJm&^TqCkpB1IDIJQH+Jj*%+N>tUyJC^XiDc=5z?#5ZKC9;ppt1cC1E_3nNZA1fm za#TlIdbcU^Z|BqOOj{2XQv6ozdKJR+({X;ov)&ucmbWJwN&qNaG;)60Vbo^-vb+Do z)gHG&Xxi4|KS2Bw$d8APV*(K-{MYWlfp!Z2p$iZIoj`N|99qQqFd;(#6(J(jmjl4Z zkQM^~purI#EdV3*ofPO1DP~QjuIY`1(=#s|HhyW-W{YT?xNT$GAs!Yg~ z7D8ehLy{~ikg8Iy0ICj^sxc!^pHO#p?RdasLZS+B0YLFD?$(`G8?dz6fQCMaD)s(z zDO4t~lvR6z^}6`0U8NVxMs>W9Ey%b5aOp&dLUF{DH4&m~fFiI+l5IoAC9IHhj+vDg zb4H<$c5T{m0igXF_TSaW3AMgPE%4^*e~ER6EUp>h&8>-frv-p3Bxl6`KBLQgs}M3r zrmi7Al^hzY+1vv0mX`QiA@Y#Ey?0Kyd}nvDlWCeK)-$P5`)5Tf8b1Z_8?NL0$O&N>tbLDeKAu&ELu zYVjnOcoR_}5(o6EHIdGOs6dTYv+*R(h-t5Z^Ax%%rxTl$E2hLiqt7a-82U{u#uBp7 zM5B6gh@t*m^a-@9jO#5zvPuJSt9F(&QJ*D~Y!5r5aDhMLTN8wnrh2RMJT)t<=&>G0ikmMmg=&(@#MSRn$>QRfwto$!Metr#9DO(!8)d zq7E(w*%XMR*+lKpLE{j-as+fnAXBDTA%d~igyKRJOfv;!i%^Jkg%U{lWRghO#&&{E zsc1pWP9G%w?6N!?FS^!4v~28kOW{o1?w?y@G?m(2HCy*2wTKx3RgdaCi69+{NJt1B zgisU+gN`8>qJaZOs0f7>dPavG;1Nh-9o&J)ogECac;bo^`uCt=*^(7mT8}D=+>$`b zcVD*pg~+8R)76ly{c>$v)0Xb#w%}FD?UXrk3D=H_7RX(wndEv__T)tsZNltb z&}MPjb357$ubS(z@{IOdu*mB!@9`aJZ9KdOn?spP3R&_pQ8a8SftZ6xuTB!XtAGb>xIh7!=CnWV zqy#O%7y$>#W3E!I&_IsT)C*x4LmAF+QY^IL4RM(NLmlo=UhtFG<~))en*@L~kV}(G z`r{Gf^vq=cxys@^cYwYm3UR_aPSiwV9l3Z#iOgXldDs&~h#01bR~$~*8U&{XpoMwT zBMEzY(g2g~4kf_r8XQL;N9Z9Wb#)1riT;x=&Y+zQ6dnD8PItDd zB8fp^HRUriy=ZHgBUGV_2KhT>acgH4{1chJ*-UZnQFYA0pi_YN7rQW0X8sJO)|j$6 zk`BeBm;28)`DwI68qteOB3(in+NG4tQF@7EoIn|PApkOkZhC7S@CG!&_i-?%q1h=S z|CbWerD%AxGai?|1(q#xhjwk`4LHS;#CCSeC}{F%J|W5?fg&iYgj^LzEhx0;fE7Su z{m@CSdK3g63vJl}=og8U#sgdnHyre-lQ?45gbYa}&m=|z17pc{HM463WK4zzYa+$2 zlakRpXks>Z6U)+zd&V@&0g!a1!LA1Xu+d{uT-f8Jc=0e-E~MdYahu!R(w4Wq_3dwI z%M_%rktxE$O&RsUP4O+M0d*QlNyNvNm$Yn2MWWqla-frToJKc^F&#mp#49XDr6fhw zWl4U8p6Y7GNXO+!a-lmd(0HV|R@tR?$C|pt96&d~vT91o2n^|dcUt@njZezrRqk!| zdwg}OTtLze&bVr(WCbsP9D`l$a+kB=)eKedB_GZlpkMwa@IVT}$$xlKQSm5*&;|>n(Z_MKZqA8ESM{un#8{F*e}@^J5PLO|%(5@6tbmNcj z|^CiIyQ&125x(h$Vd`E#{8jr|gho=02 zhji~f#MHV6d?BVU_2&U3_{5`{WUkbdW$*aTuf~qnt|i;BY0oPqy9$Ej^>0+0FD0~WZ>?~C_I965+lA+FCu=B zTK@1zbTF9zJg>wqE;(GU)NU{crv(T>jynP|f@{V_e$TRqk z1{f;~Ur!Mku_BD*G*;&Y`ECujg`SS5BuM9pwkJyh!$wvl^A>CIIK#Z8Z6^S2v?dIb zF7W*11060$ITxdYL%JBhRt>hqN2tle0*(DucVjbHJ+Q5+p;6f}r zOeiJ)2GT1wsrVMf8Iq63Ai@}|FJo#fVzw`2jN!$2pcrCom3|T-x^K|X0Ut*|AAcjc z8uB5~uStRhDc;ZI4pNE=3If}M2JVSDa6uriGI$mb(0K0Kh>$oWk|GVnD{+E4TmsvG zXC;SY9C6|#QF1XzqNp6uaMF_Y+Uau8#tp$_8_|nUfFUdW(TtJ$+<1uGAuhcI){WazR==(esZXu&`H$g9Q>QF_jiX{^Tpaf*XilQLx(lSFmYly9Wg%VFF!9bHjNVp^@oE#3WLVxFbX9H*g}fnu{@J=G2JG)CNx2*?aO=$ zp@`5f*-|N<$PRyM>{e1JtjfFHDUK)*Ch!!&lH zRDi^EC?N7o)pSisZ~@u$r^+l#8N#C8v}+Wyx29B14!Z`HUeQ1rIC4jY8S?Ev|^;nOUSe4aE zS#^avHA`J$R!eJHskK@a_G3XdWWkkOy>nyFwH+}QxG?R?3Q@rhHfeE)eXukxc2#M&MqwFtYN-)w zt@fYX^hvAqO8fBOVo^1(Hf&W@C!LR$ICX2q_EH%_TFGw0(lu@2woYj_OS=#j*VGn^ z&QEb6;mEFQ_ccm;f;HoIa2KO%?G+n)!e`UgSgE#g(T;E-*TNtbZ2=c&pSDsXH*@Q> z`Uu8s&lYSomtFG~xc=?{{x)<`H}2*(OC1v-Pd7^U4h2M&O&Q{FcPOi%=}jf#a#MG4 znTvPfjv-T)a2eNejhBXcH+hwJd6~C)o%ea6H+rRada1X1t@nEWEE);E6TcYf)&e(m>u@i%|iG& zk=X5e*oU__iJka~p*V`Ac#5gGiW_)|nb>%(c#FBXi@o@Z!8nY?7-6wEiyL>0(KwCO zc#YY(jotW-Kc$S#cxvIej_vr4@i>q5c#l_Dj^}t``8bgO1$mGOxsVO{kf+y=|2SC@ zxse_Dks&#fC3%wlRFM}sQ3E--hBr|bh*U13%#5T{ICC;jf-{LI;E3TMg_BaR;%NnQ zR4lXZY*$S`IcV9_1o;AK*OD*!NcmV9xp`4$PE^?0sPfq;b`ke#qWEq(Pc^ z+xMTTHlU@GQL1_|n0lLC8n1+Hv@IF}0`jbFifp zvi~NmS!lDdRHy;6v?aSqY_39e5vw5`}wXYckBSC6( z)wj7#6{ZoJRhlhPjC-J?^ts^FCz6Cr4TN$*rN@(;s3knZ;WoJ~eC^hFl*4hE>Ml9jffmFvP##jz0^n3V zPcIAwJTI-3pYs6NOv+zsPif;h-#lgifyJT*1TQ2cMM@ER5~I0*?M9e!9N+v*w&!<% zb;;Y3&f_O8Ne$2a0!t(mI@=`8*ZgK+!jxCyHt#&on<+;T@@a4U@FH|cCbE%oBhw*M z)nlEjI=V(d-TX=ur`Gayd!siwbSg!ZcM~%u>=ThHqS(1gOgcR`4Mfd(oy|FYLs{k6 z12jgkJ=uLd<3Pm5_i+Rz3#4#?qiOLWx?{Vn{UlzJl-FX^{k+uMlsA?$m64rp%pIL< zy(ygr7-)UdVIn!r3;p~{j|8M7$+K0?yd%DG)%*S5Ihh8&O)JF$D(w9&Gw2{?_uGT~ z;tifRCw?&lk`{xxaGw(=L_Q?{>s^)aG%Q0iMqEDI8N-y#kyKv;CRTFeo1-d|T@&j_ zYi5qv>5kv6+Aele-96pRy^i5wo#+cUEEi2Qp<5pW{^3UqGFvy{^U@%ZokInr;kAC6 z{x4;Twm1W0OX{8O>fAh`lR5Sr-eFzdofFn;egxt#-+v?P*Pcq99oYpG)307L_B}bW zDinJ(CjQJP{(Q^nA~ppSxbtj2pWW;0QE#AV&R_I*(4pY*U6naB-}!DURg&(c2x$ox zZkpvc+MU}cHRo#rH&NX7pt0FDkySD*4-^ww1zJ${`^<6I;JaPTlOD^12IENphg0Ddq@gO{D zQ`|qC>~>m|K78(iuxM&B16+EeN#K#d02Ob1DqFuq8|9}BFU=ydl5f%wz zq}fy8!-xnc3LM(9Xho0;iQy#p5vs_6G@v#pI`v;WpdbUN#0mfy3Xn>>3e9T6i0oMxbKUAvfM<-u;u+VsUYo9eP0x2-tCh zNv9BO&#_n8RMjQ4m1Gqe*Hm!BCAHRi3SA|Teu#OPkZJ=}r4bDc>4p$*Qxz5#Y#M5| zA1*i|1WbJ54OCZ8tg$p5T?%f*Ad)v3N!g87jfYcbxO91dfZx>^;&(*tr=xPT(U(|W z3SlXWkwWm)5K$@!OO?;*XC{)SSnV(iGj-+N!stU&BgRh3E zQD}ADWobco>I&<$)K+WlwFR})jy~LW>+QGThAZy4+ZYo#w+i< z)@GJNO!~}pm}p!PgAgtFhNs$7e)bfoK^p-q5HS(aCmjmJ9*_~JQ(d_lN&$>uT03Wf zIqhwr-j=9{p>>KAk2ht;B!~#zOWsVXrDx{BvArqTK>;ZI55qRkq%nC7Rg@9L14cx# zznTUAJgKl7{p?l8MLitx#I3d*6VETIrIW{*I=Ph90|G^{&mD35wQw<^Blfz4H7ps@ zI_o2FkUQ-=;mFXQ<@C-dHQ-lP0R*sEzDui>Sp$dVn-P4UiI6=4hDfdQYNw#&cUPUyU%m}ANvxo>0P0`w2mrh=I%}JN> z#!yR!GR{d0giA&_1efS%F7IABZOD}!^lzrIq@!a*oBdtRSGyfKn9!%qJM}+%|L1K7 z*bUTR-zWdi^1`9M(O9dW&a(VNH9rvh?u!svbT_|@)CyWai5}qqu&?8>PG|J<-^Hr` z7q;n9$!YmB6lWr$J1sfLHM7A|M0~e8uaN|P{|Jw$5YqtOG;VN^1CgLur@IMJ%wqdN z+rmZ&J1a2{Uo(+l#jv+9l<0_TK--a*a%055d2Mt6AmMUaM>iejBqPnaT~`vbHaGoI0hdp0rK=S)Y%`k?V-lnjyq z)p8c^APr2nSqzm(2t1~laDs58+QRNP61}kvUM6c>6cbm=97YdoMY-Ka^jI|ioB0GN zdm0+?7B#_Jc14R%Nu~5CHp-Xjk6z#mC#nMu*@ih(E1 zP-e1-kbMOeflo}?`7X&*vZQ50D`~)-ZsISGAcPm(J@AiY2;Q)myBQ) zrkKRt3N6>t{d6@k{`*K*C*x6*rjVLFl_Q)E^HDa1bU*ZY%323x*8ds*^gACk=t7P6 z#26ZOY&N5kP=P{Jpwa~)1kI^xvf{Cvu8c~sp{Qh$TG_DvNjhO&EcI#yvb5PXJR;3u ztquYz)Mg7MW9dv~AY#$T5mZC=gs5x_(ps_*luC;!Zg8ebT*XEtu_IINet2^h)%@fD z*e!~`)(Tdw-t0|+W$CRX>d((c1g6a$tU#oDP|S`;vpEc_zXA|e_zG8ff-HzmvNl?w zh)#=BscL1e3Pv~qDW_dc&pivNSlm8Vq0jB1uh>do|2#BFC|Q#*C79B(>Xb?nL>Yc< z_a>cyv@HT+?{}E19ZBX+yc+cGGpFa-Yz34o9+PWj_S-`$kyN+;#BD%t@jKYt+;}Yw z7>tS!0^OSo^t~tn)kAFDD|!XWlEV9YahGS zoQAaqSB*PYWAvi5#zg~~2Wq8Kk#;n7-LF>@>`jk4nKlFe_qKEEVA4)-(zLFqTg~Jz zK5FsU{w+4E@oLzolGT2T2Cq*MULl2Bix?wduC2fGMS>LEV7rbth&sMtjBDJ45;LuK zH0|WZMv>reRxRp;%wW@Ad4rY>PGV~%^K8!!yaAxWZT5AW=5(9a$#&jY&0R{0!ka2@ zK2!r3`f;^9g`udX&2Q71-k9*H-QlKdWq#r`0OLg3DZ{k`Ne;yf>EzIozKN}=WLhRm z_&c90^IgNt;D{cZ+{;~8uO~y$>UMd(WhQXVIfIfIe|Miu@3dHP1s2t0UCl?|_5oi# zV{8|)!qjpol2AY^o^E%73?1qOYenswDA(-nym`<6(fxDg4*qt~{!?ZIBs2}GRyqgN zXuc7hZTtac^XLAv^2fQYJUjpS&|l~Br%(OrQ=du)z(o&Pj+3{iZQgh%$i_YXa(+=Y z=?k{4z^8T7@#Nn8+h~){c3&%oD?X(~D0o|gVRjV} zXaARia_4{LXMQy(flsJ+?czYzhC?^#XbAKFh2Yn6vym7%b9Xkj6WYgAL`8Z$Y2{25q1**1{Wff z2u0a*g#{6dkGEjOw|@^vAF)V>FJ)mgcvtAvB+Et~WJC*UxNV?w05o79x;7ho*j!2> zg9tc1pJ5We1Wq@XjSwdgu^3FMmOCG~MT2;4Y;%mV_$NQ;F`U;|n7EAAH+^*$ef-#u zdX|p>8IS@APDT;{9;k$3^btsOIWCMNcMnZLV~7Zh*;Q)@)uwZxoMeJhVqw- z!e>#pLwD%5jsrvtD4CKdDIksZfV=^PKq!Xfv5*aEL5*jIUju2Z(GVaBk`-cVLB|!6 z0urw{GDE2m8uS_T=MyyPkeT5k&{!|TKnq||QxQdx=O>X4ca2o&=y2BG8O}pw;_2jsaJ~0nEqrSC;$xM=wE_ykaszmJwcZUBauTUnm}fkbxCYI zIfyjC6AraP4n;A!Cz=rXkmwfwTB6gFUnv>-&5JDD>yO)>ch??9QbUC+M+IsAfb~NLZoT! z;3n)LiYqdbT>=uJp`e?2o!`lvYEc!;rHPPe6UX_HySa%X`EVk*OBSh5+F>I0NrAw4 zn}lJbzY!A{=`}uzmY~@GeLDdRDoG6Jur3#BYKXaQ5@{$ob%dOurS3%)UD9k?vq(^3 zm8#iOXDOuC8I#8%r(zj)W$A$W38ulJmIpwlDtV?%5etKlO7 zAVispkfDiw)boHt26(2DhlMDi(-WX%$1M$F6Z+?;#5$g~38pwip^}#`q=Jfn5vte; zV8q4qf;X;_EgF~V$@tLc~K_qWOR=3d+vPuydlN(8gp!o`~ z`g$P+vZ(BIbCn7c+N!E)q7imFW1GZ<=~=Ry7+8R6sC<#GFS@eLr=mhTwBqu!Mtig` ziVn1Z8WI#}M$!N@pnZSJH6w{@F8Ht|@uQ-1sq3>TyJBr7+i0fclRmjCO-dgC8=%_3 zb(~_gIV-H7__R^$n>HDw?HZvci>SevR~kxL2-2?y+ciFGs8B1l$)*oxffxLVZU!;} zIY11Bp{L8*Q_X0EdwQ({D7S|Df`s~rUUhend9jmWuPoIbYMYmcNJTB%5L{a`?iy+M zmKLhlVzm1Im!dPOZYyX#F}ojHE$fjnkJ}Ex3cGrXc(bahNbqXLHL_&r}?(>dRul|uPY*+{hCn&m>E(roQFrS zuNbA&g1+zCay|=M2m)>S+fb(jE6y7dn>i~y@vI`+JRc!JtLvdAdt3WT47w_?^TM(t zYa#0kdx+bri>r&Tig??Iv(0%~3j4W8n~x_-v`##hOj z1OhRbTr=o(9(+43ay$ZrG^rsPzeGI7=W4mC`jA=#kBD3x>tc+UcE@6z$aqXGA0aqq zvT>jZ%t~~;aO-Bo+>86W7UAKb*;2*#S-s0FhaLyDh|7!9g3YI>MnMY8isrx{+rlKl zcIJz{39H8sImiusQYfH@o~z5}*KrYi#c0ux!WFXBvuB^$`q>Pg}>j%Ap2?)<4NQo=M#H`sO-{&SoNtFuY`7bZQ$@6^Ok z{M7!))KWdw;sgwiOPmt2scff2pPZMsfzp-iY+B2`v|KZOk|ea4H`-=)v{}5u_gf%b zfu|S3oM=BNJ<%Y#w;i=EPbSNEduxsccuz++-ugO!GI%nCbd^gMOFeKcCoA=|BDkD( z+E!j<+}3SJ*P0x!A-dO(&Dnbkc2MWCBMl-`71yc!F~Tv|wTZbg*l*hwLJ9r<%t(05 zR*KlcTyA{0m3(;D6ouPIY%N5MbFZ7nv~k+G%fDDS+-r!9BQP>W7$#R;(xxH6>4y@g zg=({RTG)+rWQ}_6<{fd-nrh^}P4(B^o7j1crFlKr_=Sp9HE#2)Zyk!)lh<6&<~6>2 zxq4mKfPFw)hTiv_-WNIBvW>%TX0NxbcPeHp2lRJk=H3a;6|wmht^6ka9LnGwFC1*p zWjwfF-OmP=Cz!a#Z!ipt17^xTzgrGSoQ!BHXx&RE5*myv}Mk*+&1spC1-K(xl^2I1!q zDILN7=+$B`Kh^6X`sxgK)Nl*!qlt|hQC|{$cJsDhURTgeZe|MAZ++c1Q>PYY9$|jH zWcy5HQYC(6q*Lj(Ox_w^9=0!LH(%VYZ79S4>ImfOvZLkB-nO;g zB%LnplsL6%j+2OYTUYoaGGlPrl z4x#M1hwzpm>P^zvC|_1|e9i>wR?g(^x^B1YK0R!U%<&?FLN6gB&r^(s=>dC$8y&DC zL(P62-0KadHZNv4f93Mx)KebzcjonEU-s-sK}GaLA0^XZ<4tpVt=~aV;SoJGidT-b zLvR1fgzlXl*sv(+7jM)P^fOz$^fbgu=Q*U`u$3}xvFJzN6?4y}i~r|4E237UIB!qr zcfT`80a;drOo}e+M7p~hHN>O;IJi0)v>jk=kNMM66>+ow^{B*5(t}s^Za6?8(9)B< zo_^|ki!=%}MZVA8P{c;Qgl@V|IYdOJ(VnTEQjOIv~QKv$S6cqvk@G>SwjRT)1WC#El z!lVIMVg--`=0BW4OJ3z^b0IE?Td#IB>K2&9gIM$bLIn^2*V(&O&;E;wuGT4vX9inPv}NlA1B)~KR!eRyq8>}Br;UJe2sxuFBW9_R z^vNiI)~I4IKMq;@>A<1Za}Knn&Pq!;y_lQmtOUo~sH@gEQVIp1sxzuI4>`1Lu+)}Y zh&03I>yI`Li!|~`B$Ldqop$tb@<}M8lyXY{Dyy{eN-VR~a?1c_K$*Y6l=SjTFvApc zOft(fGe30V;>;)-2J1?}^VX~jm;hAkaia;ZQ%_FLCPOMG&H~8cfZjH`b2W)##BIcl zoZ@p${L7FPoo}+_s4Z{ zeRRZHJ)@K_=U5%^JAya-N7*%xU3FBBJgSzn|2A!X_#af|R25-3FMhPF=l<&oTA6Zf zj#Y`pTW;T)`c1Fqj%k(oF;;$hJ?Cb`sqfByUT-^%+1 zP=Es@U;z#IB3y_o04VqxYyz|wV4y%L2cW@2)ON7lZ5`Yn$OmhEvoQvY;M~^|VJhw~OZp769-E0JrfD~j%XrL5G zk|>DY8rG5|62!UP=zW=DqG=xK|3jIi&|#!noT=g!%7nQmjA=wxt3HAb2`;dKdbCU& zkBCZ{JWwWe6r;Wv=b!voD2z6okiC@XqIO&|D3i&^CO76vxhV69%v4K4fH8tUZjnR! zNT9A52(emD41QFsN)XH07jcgBg;s0Fp}J?vUxLtbT%k!N$Hqra?S+x^5@tvS1y5@# z1ef6)%kR{=P+h{Uj74Oq*tkYE8d8!i2OS}%U};TRM(B>68zhNbR!Xv=3x(|CC0FKI zxq8xWDjGzJG$ZQCo}<#<>_VD8MYK zBr_VwRI-q8QvoMJjg+SX{}lx#SNUc>KgZI>h|r2AG-w#9no_jlPnF(0B?zwwdh+Z3igW-4+RYUJPz= zgFBPD8CSW>9W7%a`&{Tow@S>VZgs7DUFM zWtR}9aD^?5SqWbl|4j2$?c9i~VeDE*kX=bHh|9}VGg&90AQo|7OMJinVmDlfHL;2H zfr9bYSjVtM@Pd8(<1Ou2$U`Qwm(W3svc9&+OJ*{KkDTNtpRkjy&B27DTwKSf&qk@e za+x?xCP^i?##zRZb+}x>7+)6{H12YM(Q%wM$C4%zXFyZ8 z&th)!mjfMW&H?MtMnOC#3vEP=x?0K~4wFSjNMIrRGS-t#v#fpnYhb5m)14-^f`ff*WG7qM%Vu`7 zo&9WRM_by{|E6|G=v-`U8@t-u=61Ke{cUiETioL&ce%~I=V51C-HknWyWRb6c*k4b z^QL#b?R{@qr+eM|-XFgG{cnH=T;KyIc)<;R@Pg}`-wV$Y!X5r_h(}!F6Q_8^Eq-z3 zDxBdPrxM0J{&A3pT;wAsdC5&KZjEzX5g zd)du?cC^d<>tI)R+TH$kxW`@YbEiAC*Uolq*In;>=X>A%{&&DP`0jWocHj+vc*G}O z@r!4?|NRC}cup&x7UjBV{gO5+SduQbt*)O=`|@J@avs1IT1&4}ElP{{mXkhOXkS3d zLNQvIL&P|l=m}WgBawbVr4Fu7LCa1^w^nCL(tT)g-&%Bl9!$P(@bMc|>DrXK_=t*Y z>5}C9FtuKNE{+zT07(m4%kX5(=kD}P|E2R|j?J4*zAeMg+{x3o^0g&D%^weWJ0t#l zs~q6vMdK^gBQ4t_6QL2M3L8N6N|WzMzcHbUuSh*y>msB$p19HwtqQ&(DT)z6zyQL& z+d6;+gg)x3Kg{|VB?GPDLlOmiKgIGu(sGOw^b!&TFc(~(N!vec0m0G}LF+@38cdR; z|5%f{A+hdbA?4c$4eUYkTEX4>Egn3T`P(cQbU*OIK{EM4(VD@SyFdH`GQ?{bEcC%v zQkNWqEe;G5Vd1^dYqSDO7X}m)2Rx4eOsVn6h%@^a#2^Me+(UMXLH@Iu%?d+>l8ZNt zEiI%hpg2O&O2H#J!~Tmx*g8Zdkwo?S!8A)VH+;ftQW8Nd5Of+QU5z9Roa) zZlOfw%Eam;Kur`PNX#sWam3gv#1&G+(o)5f(04J$_O zQbsr|nDanJvZ9TQC__91AzM?!s$#~_Vnu8WG?AFH)nY^O|(DM&}t3q52S#Ld9D_M`9#IV5}^6Bp`e=E?cyWew0PM**RY9MQt;@fCLlWvO?L? z#v`E$Ka4Mkw62Qul9^zPX-p3Z#0t>sNJEhbTx=;oye@Y1wQpoW<7*`0BF8KH$DJw2 zC{xE)EJ^C?Mll@8B+;Q{DhPR$$t>%}RFui=I?2%*NCAS$ zd#47Nqm+0FZ5pAqc$4NRscN#31Hj5?(jwVIr%n6~&KM6wLZU{5HCl3vGaJT%fJ@jR zl8^$V72^u4#7Yv8lk^J9{UA$NJEs?!r=XxE{dy$7tf`!MqS^rlvBXMU|5MB!xht4D z603|PzGO_I>4<~yyi9T=c#4sfbPr5wOh$SLwG^dVv51E#t9BwQaXF`IG7pBZiV0ai zIxGpk*(8wctAmissgbaKv5Lz)sLVtl&m6?iRL-}8#Szh_#3Z!V>8E%^AWZ8XM2qq>6~K9gV2^YL&{kB61oDLNm`85=XR< zDz{vp76J0DXIoCm#zFDhQOMh|Ip5^44(PB&acSM zdE(0Z1Whxl(YNZBuDHXWI3vB}3pv@OP{fUi5+&k%k%AzG~4R{R{Md?*tZ50}z6K$Ea_=p`yBvR_51;ja5hBXQ`-I$?y4qTwt zLg5<};K^C-n3BEL6$Oi***^2(oIIk7(IGI_so8YWiu@!LR0-M_;Tu|DM8Fx@WHmr^ zebx`;TChMIdUev61pq)9B^ zwJQpYq{SKExfQ7KixKcqm-SUO8q$Jo*_Z7>&@|b2|5c%7?WUOIlfA9jtGLqh$WrXo zSj^$r`2^FP!Ca!z+u6BU(@mzay_Eu76E(3gVKEUzLt^L0A4o3zgsz z+OXjvky z)*cT2Wxn;f`K4dS%DSQ`l#GyK?#L<}QKbNGpdc&|pm^9ZRN$Ka=ahodBQB5~0h`pC zi50Eu+Cfgpp$SIe+!wJ9Q-MHl|8Zs*R;XbP3FmcMqM-q-ijI8V7`OJCvsz}*p1?*5 zY`TC(8L3Igwrnp(*T+_=n&656x!#qcAK0J?jk#i*e9g(WmAz0=Me&qLH4-w8#ojcX z(Qc;YAnc4L+`6Fb4RLLYdYsr!h&&;**EnUU*z8_n>fQh%=HRkNB`(8`nRQ8NHAa`p zrrDexkm`mAXXI?Qrs`Df3%c%TL;=T}uy5#Am2gI7lK$)TUY7}Rk?Y3d^=TmR?(UrB z?$y3+FDA(?^(N@`lpM94^(GPI%<#L8Nzo{9A35;+_7N~@ZxX>}A~K!@RxtrLZ;knH zJnd{xX;F#LjQCjVE&&Q3|NU;zE$Q3x?i}y&Nq+DBwwTwj2)_mk4#(~12f%q`*#XyJm8l6(k&waRmomP)6pf{P7U%>;>0ydIYJ19c?J5+==Gv@%9WC z5vvN$PsOfAzC9EWcb>68<9Lk8)I!%|`SR!3@gQFpFeDNcz3&LGYKwYw`8E+okMB6S z@Vx+Zbun?EJ8QK5AN#HG=i89k-3aS&jzv$;LgDG+An61~nAYfuO2VPq!N8e-=~6mI z47T+Ku!%!)4B7&yqM_kYFO3n7$yL{z@Zd0>*rgmHh7mBTp6rEdfA_1;z&HfPBa z?-&$caJpz9L$|^8|DhCM2kIrV7^Bqa_xcu#$g%P+lj8nJfN_t$krxVwv~CIazWQNe z4{fb*b9}!=n`}g;rW8Fch*?Le^oEvhp61YXCL)J$PUm;$p$<_$D={?Sc$KM)whpXb2MJb}C=ajc z_Ii=aMihw+s1w&_D^CiEH`WPsc@3Zl&y_;>&%nfkCslhEc!bG$ia_%4 z>-lyEXX6%Vy{V5!KP0LiN{AO&wAU}owL_v&?)Hgxvzd0JkJGvMdbB)fhbKzjM(v%a zX6KM~oEJs0|B;)GwU;@U5B{CStw2}&kk+#}cS-7O?$a+1qP|TD#Zp%YzxQ$6KzxoD z`Kq#Nlpk%CH~Mv9ce}3)&L^aim)~pq^tQXYX7U`rZ+5UJ_dn#B)3@%Rz_nM$!LWFn zqNwQOzlxwQspvP9t$2RULUHEst#^-XLpGJ_7i^f&aa;hQ-;as#AAIAF#lpG@y|;|p z=Zj-Gn3~Cv?h%Q?PWRSWcZPNxtOke?0Eqo7Xz(8j0Kg71Z0OJ-FaQVI9i#<-*29Al z0dVZ-5kLcq26F(QagfHvlPL|NlPJ=lK7kAW;Q}y1pF@;63bvfcFs8zc1yN%B*RFv? zTrY(l|Lpm)-GPA(iSi5(0G&gUJ2NIM%8(dHoc}DMXy~+H*Q_hYmSpMjr_6$28;E6? z_94)j49^-p;4@=hhkPxX+-p-TQ~+3+{-fG3pKD_%itWd&?{{^OEHJ3&$LlpvJ=o zYd2mww=T;7e-lGj=`}fHzI}ar-`$q-Uzn4t=OB4tG*j0H!4E&~5UAJcANLm?d44Es zm$6lrVSmYoTvW;dKwwjq{Z^iB0N|#ZP~vg-nO6tO1)FnxIC!KZLiCvj_>bWPM zefs(5i~H?YRFNNkmmq{}X{irVf_CI1hUWDL)M#Ki+L4yiCHYWj+xaCDb(~g~(4`#h zSkZr^{TETD4b4bfqnG}*5k~=_&|Q6{I!PNkxRC1AtDy?!U_rt%G-7P2{&=2v^=U~T zRFE2l6m-oZ>0yirVoM`x(iQq)WMoFDu>aW`6kEEQtL>@dE#|IJ|61&wgttcoxn}umZ$f&MBm;JYhSYKwdqd4yh zQ#-)q5Y>{OORD5c>;~CDj>hR~w&9k0-5ixT{Y#|e08{J`eL1T=GJALt|ILxx_RUOc zsaXQLJoC*v|NNF`-Z?$>)mwjkoX~5(J@?%|&-A5)<__SYV_)`aVx`KiJB*ZOuB*^I zPnVG1H2o)kwm`ieD8VqY${6~hqQ0jfuU5qYpQG|a3={-FPz_rY)ldf)l%0!qt|}bh ztQA0PLB)cCd)R0qx2>EZt0iLt*Ph0;l)AZ0BETR93}J{4Ji&y11*wUa;B`2{^^aLQ zj3DOPQ9udBtz+rA-AeS;xs0SwRwB8YPZ9$>7AndukRqJKm^i-6^<{k;qtDfZqp=B2 zk%BT~prDL)xCJ(FP>d1cM*>isnPtQ=N)(jm%!MrcHSu5+0-Q$B|G1yXw1Wn1#8h2+ zBgX~;Z%Zlyi*Odk!;X1yKI5aK-~eV34`S?Ni5jB>xtJ)n{SakuYXC_C5VI(mu~_S& zqGSTJpcuw*hIp}|{c^|}C{jd{li?*}*yzCd81f@Dpkd%dNwz-z?2knvq2|_dNB&?A zCbaMwM@ly_hRmp0D5+mW7^J`CWkhAQtDx<+h&%Hg=Zk6cok}V;BVY*fBgNC>&Q3xjs!)G!5}8+0=UNJNK4oR5k+YfTqy#dWh=jyT_&Z&7 z^zu=K31pi9#Na=GZp zY3t;CsFf{EZA*lsfu?FSh7y>1Nrk8~Y39}^Q~-rbhgbY1N{RYYruYsWGUZ4SL+MGf zarBQFd+BU|xiBh{@~aT5X_wr|LBD0~MrjKpVzxLqs)J*-WIV*@} z=TNqS#I4oTnQHh5*DuXzoB_b8PN`;AeWE}t7EvWzw8|7n;)En#@#S3$*OE%^?wp3b zr)2%=sT1lBlvYF=Z!!8?GJdF|D533bS*aIT%1xFmb;xq2s1Q#q!hPm>%}NhHn6+SFW(0|^RnfsP)D|HQE^74Jc6LZELN7ONFHoYpFd zEF_i>K1|Z?a(it8#;Fv>pNRgLHVQBF+J2|pek(_$jJyH!aDI^wi&!t*R zPDIC>@#$Y^alVW#NPI7Hav#c|^c$8}N1>5=- zc4>av*0&!jqI3)5o^Vl4jp>21l z#S2NWwH%;47i0nON^42Ex9-k z*125D@c{qP|%J|tEw;rPBFkU$(hP1n7@23O0TE$>+~8au16j* z%wrBc4STreHZQ2mbFT9WOYx0{2DxxmRoX8F{aT~ZHJ8ZZS9ao}CPz~Gv$4XLnyC9h zv|hSi{>PMgk!0vX0R~PxcA}osIBuDF|KJ6kb~$gqn>_R~T%yG`lcGNBs8OlkyoF;e z6Nb=V=#8*&C@%LmldHv6btC|q-seR5nZH2tnbr7Q*-m`-;@r2pnrUQH2t}diy6~-}0 zuOr}1EBdIXbU`NOU(XW1H;55q1ep>Nj4VY}rf3B$Y9|W~YZCfQ;q~9S{qwh<(-86Z zEw~ZQwpumc?Xhwj%C!dn`W-~>B&(#@pHY0=2na9@NcdI80Jg^Bxs-KS-_os8{QaD$ zIiHt2Q}X@I@jV2S^vJ1L#H@VH|0K2Bhv0(N83ff?R&(Xv4IKvAF_rkZUx6_mfV^Jd zO<3wJ9aiAp^x;;3iA4!A+RptT5cUbp-5e1Xp`8RF5+-5u92cG(MFY%){7KY{@d)v_ z$^je`ptY3y_{Uc@T!kx` zqT&bzEN0FgGNC0w%w^ajT;yWNVU}0~qaotNE>=V@ex3rNpnl8*SUjVdDNk{kU^#u3 z$?0CWWQLJVBT^vOwnZC+)yURl#%__<`&nb=LE!vNo&_dE?d72Fg~;U2gSw}Kf8|FQr3mU{c?nXWS8_TVmI%*0#G6^Ya<8~kgl(f}~S&R3% z**WS_8zzgoE!yfW4dg{(?&QoqD&sbm97n_qN(^0Q;N#oqV5dceQfl0aDWO@OB@>~E z5w0a$ei&N5C0yoJ|5P+UcMwBVRHH<`)~~S-1_fIVAV#oJ-Y^;+QyqZO2!vLpQvK*d zZ^TSyd`;5xV_8O^WYPv@KH^6u23e+zKrqN=UW{jgU|EtGN1UcyBqVmA!~sAD95qk~Sp|;$ z9X<)1L@?*upv)SA2`PSLRsm#E6(m2i1M7Iq?4{sE z;DkQ-XYnj2|9y6Z(Lkqv1ORLz4_2`!Yfj{DqC;<5AYvY-gXCmnF6M1EABd3VC!z{< zawt#elU^i*j`HSz%t&Gs2eJJIBLY}&{N-^{8-$94gf@^uehWjIQbZk`lQv33qGG9q z2Z&x<(RrJI5W_NV9a@Qngfc0^*iA`=dK0sbyOZ z>#zc=|FItHUI@@fi~ud3>Ls2>(W#1{;3F!wk49aIK6%7@%!Yp=4epy=zo;t_TL>_>Q>fF#z>7?`2bs7DlR&3**6zD7q#9o0T; z|CI`g=e>$$PR+|Pgk|>7el)<2C@n`YZIoWp))ZrYc}9~H{RoOjrb@3OEBJ!g5E3i--dy;e@2}#*$s`T)IV)`xlWIikUeJI5p%OqA-4-4T z8hsY*3Pv#IZl5jgSfu!)(6n z?+Em-SzItkWUzi3B^r%@(tN2D-_QqdUsDtl%;=VPqHqyoMlpF|2L%>I>Tv^kp+yjq z0vBhh=~rF+@MOwx30syHb8rj0X;&GK7<*;eT5t-Z@f_E$CVyR{Kw%-<#374ezKlQv zu`iO%kA(T(>G96!>`NovFi7Z4A7_l<(hlMNgiNWh8p5p6LTPv@a^vzW|33t-NuM-Ii;4F=UrM)hNW&k7 zNsU>qv`eG!K-M%)=QKdk0xS1L)y3s(v9wMD6ipAcQ6IGuDi~5P^;?QGNk8>KF||}r z^$(H+8B;Y@gGq&UPY$rLUpcYPS#?&+oXOy$Opi5Mr}b2Dp8cGw|IQ_ry5t`+tM&GX zHC^8|Uhj!g=QUsVlT$-AU{gnIb;!=NEHlRGVXNUG(@3m-`wpI&kV5fHVm^N$UH4Nc%0=70&1Z+CYW_?iefg2Sao}B0d0=B_YxBEfWyT0!`zxTVp|NDF2JH8VXz!$v1A3VY*yu$yuq7VE?FFeFYyu?pD z#aDcrH@w4Vy2Woi$9KHPe>}(we8yW3$d|mypFGN^e7cML$P2d0zdX#xyv)x$t+RZ~ z-wDm}m zz1DAiT2p=1dpFmIz1WXE*_ZuUdi~eCiP^6`|J%2{+rRzxpncl23EbDc-QPXl=lzW+ z{oIec-v2$|2fpA#z1;VGnhZYTC%)n@KFSxq;WIwuN514w{=YkZ-%~#3XTIidzP4Nb z+;cwYhrZ~Keyw|c+LJ!&r@rd1KBSxe*RwwC$G+^({+hdf)zd!i=f3XmzLMMi((^v> z2fy$Se~0^i&=WuMC%^J9ziAu)%`-prN5Aw>|5Q7F%Tqu0XTSDu|FK&C$a6pVhrjrb zzxeXK;cpoEr@#8IKl}fQ_h-DTOCpLRl;i#rix((yyR$lx{o7qH2?qrg}#w1S!%S{QX$2YGfxH> z5fSD;Vz>y>0ze~Y(3QYAdMrp2X#*O-azZrP?f?LhLaDNZDz$1>ts}2aZAcX8RBaB`&`!;AuygGSmEV?%%*o*o`U=>L5r9iy{5d+TaHS1!< zKLIy(d>M1*g%n4q{Ac-}&#;It`F#Fe_b#skn9SIoST{7Axvx5_*@ z+W2?)RNW(`nfPN4^8=lSCrC8C|BdWRs;-RC8Skm6AoDMwyBOTdL52i-kirNVL}#s; z79=jYlREpzLgLoja4Y>1L$5&9CTwWL@?L7uMgL%|YR1sOd#gJNb##m~&p_*M$Er+3 zZN4CbIxsyWmHa2R;GBFC$|$AWZOJOFlu<2;iqsKE6rpC@=W0O9Vh}n}*VsglExsRm7Gduu|5)hX@_XMUel!Pp`}ha#q=!c;&e^Zg=PdTLNr}7b)^Ui9ZS|tb!Di>G+(-P z*Ui)fHduvLE%vx3r(BlV|7M*<7TRcqB4#dP4hX*bjxpS;<}Ew{8z|E9hJbs=G7pnXAymEse>XLi95q1~$Ne7jY9*Is*~c(ZDF{xer1vm_fhL03rbhz*6i(vVzb+ zF1#~S`qqL$@BM>@2@Dnbkdh?NMa6jMYlzgoSHI1rXg$Pe-&|DU9O*qTUj2I=0PFX} z20-s@+~OLq|CqR*>wO0W2SN%{y5d2$fN&vpFHLCS}Y zMa>mvDv5HsHmdZsbUU8-{F9$iE_Fq!!B-*oiSIB3Wx-EmJ{; z{|2@osWq+!BgH{$*~cyZbf`w8+ZKXs1O=^az;0*qA=VDaPVHE10M2(_`{?yQJ@kmq z26WjW;!Qx3gf8lsxWucX#IwfS>pBmM+jZLVB3e6&z7WzYpV)UGrNhN?^-BxTK`^J% zHQgOYaNRLt#J2+?t%HyY+vr_*Cf;>O!aNH$fELyw=+N-#ytZF~P>XXB3NcMkfTtZB z_HPKV=!DMe60gwX}b7Vp8b?y9M+z=1bM8zfhuwN5W zOyN|PEerZ_c|EdRXiiL;W!o2Dr{cv1InBCP4y<;;RAl==_#c}c;eb7)l2r-%|DO#} z?|{NAkTrkyMp~{3`MlB?K3hapGj8zmTC3Vk+lREz9kfpL+-On%^T7cg-J|Cs$HU?9 zx3)`AhxH6QNuMMK`Z+0_Z?tH>9{0)t&|Q*PO_#jc^eaq^ubn7zIvM}^j=QEG<9rR~ z^F8~$f;EXKaopQj8(W>i#hQPc2;khJ@7u0MvS$UDT4U1p&yOncpebBex5^dY`KFS+ z`OTo6l?Tw*T#i%)Y?@C!O0ro!0*6hVPep1k4vvc)3$ z0POjE5`YX6!zAz#>RK|`aj=!VFCtHL=hotIh~U~Gre%-DIldMeBND8%|5!_)G^O)O z%MY_`sfcG>P9z>y*)zP1xQ9eCo7tAG;;5^naITW|hb#LiNwQ40fr@d|&ZW-!>1*ez z3q-F=RcryPlhY!2;IhAoexEXt=p&ox{xZ% z-&BaW_n=z!O+?Z5&-h}3z<_P{N6qfR=~dG zDmIZl0oAQjn>4Uam+Gmes;dz>NN&!EiFKT4J}eePT=+i>x4u6{15DA>$H3&A>xd|fGW%g&NCitbowLr-j4UE z3^LS@_y7xf)GmXPL)yNJTUhV|*~((D&f>O?zr4@4z>gpZXz-k8=fEUZgs}Q%>-x$= zg<>u_PUk!Nj=P3x`}9Spl257<4`TwRLoz7Dz-9u!uHZK9C47(gfRD;_Pf|*-JPyDu zst~$RYBVVB1`m$*3Xs&wr?+rz{3>ug0tYJA4zR>U+sI??(k{)oXxbja@RYB*ije(Y z!nqJa`)~*kDRAo0&HxRO^F$BUs%+UDPU?=#Mv{; z_VjM=FvuZf0(LYm>IN{#+E97gFVMhFr(h>JYRmEfkswCq$c#=>s8JwV=OvDahe)gF zWQ(@0@f)#79n}dwl(DA1QHWBfK%}uej47|2QSA03k|2>2-?0KG1M*-{5Tn8%qhjC! zW*<@GvINA%wlD6CPnMR$CqnJK6h}apA>IEEqf@H=q z7#ni0^zk7-!t_pJhEC#iN(VnAj>;+$x-wFoCh{S#|AP4(5*;m%WbVSu8jO2J(PMgr zA;=Il(t{#Y=O=xFJOuLCKvMWp52(PyAJ5Vvph9)5@xD5;^12EfnbHmOWh&k4+S+cZ zx-lOA5+#iyEY7D1e1p@5sMquiDXnIQgjkEzVOCmiy#kkKDuu-h+^&B>*#PVU_gT@Cj%^DannYl z*`lWbBC<5KvPifxUa*iT_oXULVi}PR1En${GP3JN(<1qc^{`R?Bylv%(%{(RH|s!Ktb|5Cun(j&w(e9#g--SV}B2oqlmi*V9` z0<<#KvnN|pFd>pVg-ECRqA?jGD-qH#b+K07>J~dxt~3-xR|7#S)5Va6g204YasUO= zqjY@dI|_~{NCqhxLU)R!#zK=Ntp?Dp!gn5VUx-tA%+BB*>A@OAK{sQ(;^{%Zhh1Q# z4+-=v7iuBr4?ftjIt$cBgp|KP??ztKdt!731*}FbX4^1Rl;9CVmke?8#v}$WDhSk6 zHYh6G#we3B3gHw}1O!jta|9r-PAza^N`h3@LrR-!#crf7rSixU_3O}YO6SkM>P1V_ zbUwZ3Bu8>|W^yRBNGMyXhB!_SOJ_M?|8HU}gEZ3b5eEUK`(Q`gs40**1jS`*?=qtGjqm08QxQG!wW z07@b~0tEF{j>Z&{%Cz-nm56*a2Y1s>`IT0m>m_oPgurfa=+!S~^;DZvUoe$i$>Ut( z3pTG5hPX{I;}s$1_1|(THKkQx*)*`~gh2Uo^nOwjKbFk4W`*^#D6 zEssIH^=F>;EbELEal%-H^+b859-H(6Wksk2H%{0@Zrg}%q3|r-LQ~l;A;Zx1?(nj3 z?1l<=V_%g(VTJqTP+s=~UEnf9O;yg0Z&t&xBY(6q&1rT#%Rc@JQPregFgH?EmtyC$ z%$_m9I2FB83^GXUU4?^GTX#SFGaXZ7XTcCA@#fQZdWdFBr~4 zh{2XNw;i!bU3qOZOeJk07=e+I%B+_+dlp?i19`dkIS5x=)x%I{)>2dBQ7cnnF%vSz z?iqdbfK|Av%nC$M1!>D;cNbQF6<30{FL%Fld7aXO{}W0@m47{VN>R7WO4lKGH-J}S zBZTxjfWdnHb1IxTc5ACX743G@H&oVlcpZ@^=XNSg^h%X?f93bih8RLWH-rJzcmD!> z<%ny^mSes)Z2S0G^caxI0yh_ALO;!RasZx;Q6dPVGg34*N2AlwD~;(daT!7%l&Dcg zwXi~IZA-?SEKS4o|HmV~cz;`1oeno|+5s4>jCm>5g^w@A%IQ(M?|H#vatq`h@2eRV z_hR8Cq)@ z3V~!&Oa*wKX`wJ=B1hNhN;!r9(JdOVk~775pLbtPGu(JNL@dLY=lGsaSg=%?m7UTn z$cvED`8tPcf#cX`=kE)R*__)9|I`XoZiQMP*_&Z?lVv$s(E%7(Nor%KhzZkzOPF_M zX&QgVENJ<8ffSX2g^Ulk0bQs*Zf8M$**@y*0u!1_7d9qF3z3Z!BnJzIO-ZNoMx!~} zyw({@2bYd%{{)lyMWVG=&PwNnleaqa*<%6MSktwkFepPEgr$cHa6VcfXc{TtDM$3d zpQ8exg_^39=LMO}lAF4iWtMiwx}p>LxhStAFa!`6ZU(*Ci}@&N34DMt{Ko?O!jzgT11>w@az7FdDi0p9uT8 z5A}lO|4f|qL{ZSemd>j$;&+YRd6AL2cePuyH#In1#!8SKRmY^m|_ zME=5*M%^TgEGC5_rg{i1BE-ELrHly|u54L3Mw)$`51muUp#!^XT9@;tn}GY7 z+4}T0?XBZ$KE8a+n)QzC{Kz$gC5D8NXJZ7Q0~o8SmIHg2nbg(NJfDkG64CL_WxKlb z|9r#MIkID%o%PwiQH2d_LgBbswCky}KO5GAqt$2KVJaF*FPX)mR5K;9FVsT6AHDES zxNeCt#YP|p6kNc!hM4n}i+cMYCTOEV{b{@0Mi^A5YzGB!0UfaSv0u5&mVI6vDMN4h zAE%mWrMx44sPo5}MOnHP^P96S5|ZUBN9wzEg5d z*z(jtxMYSboq3yt!`w@#eM$km^qd#3S+-%M+@7f%&6iffH&9lt{Zq1i+x6X8_Pim# zI&gsehe6!qD-ev*1bXh`R#NFdQTe;T{m95mDJE>*A)Z@k+<)x_fN|U`#Jz4-{~Bvr zn%#xG;BdXL8pdob`KH%3j3G&$qTXm-TTLFE$#vXzXu#){joKexsmmS_iyhumxaOfc zGt2yN&RoQ^8ms3RlD-^{saoa1IAa-;%h$anKttq@Q`^PU>&e_3PYFESUEt$=?hie{ z`S~N@^C%PsXCWJT@I51h+tQP5p9GAkH6lzy@xt)081of_2S9h#Mij`(cQX-w}(eMdzoL`0xNVq{||+}AE%2` z)93G5Kf-(W-A(}l7=Q-){uw-o&>%Vh2ihh4*X}^WgSY?$z*P_-3IMbe1^|HWA-V=A z+ARza@}WwVv;fdJsBZ)SU@D0*bhz>#4VO7rMr;_d0nURvJ05KLGU39B|27&;7!jmF zq#|$j%qfuRzlBn-Cd>gK$3L)76o=^Y4;plSYzniWmnopxH)&4q)&Vpjqz_&LM%Ni- z+6_pcOlr}lUR{x?6xVtQy0#K9A9a@=Z)zb&-*PIc_uN7Hfredp7D9xVUXb}#swuGBfb(+;x zs=P*ZpLWnDu(Q{X)CTj_6oqS26ag*jsod*K#ZMLP#n;* zwQ(5S8QfihySux)I|O&v!QI`R;1VDZ+}$m>LvT;#=A8f5eg6A>SM6Q9x*xjMT3`L+ zV9i0yh1`U3e9w%*aaW(cC$QKDzhb8WKz_{ztN?|`Ih|P_Mtk-%Vu(}JTQ;`2a+ygx_!w?+1EN;&zqEgr^lkf^ZQ=^ zsDrCd>z}{_|3OBsvj}DRH)tfA_$bb}@(Ar*`(kKjoN8G)moV)5VpzPV0c3lZaH6Zd zB1iRhyqPnnL=60_d(4m#Y&zbp7Gd=Py#wYeU~tArSDK6Wn#w>J8?zazEjOF9*wdh{(8BSB`BH5{U!Oh&NdPMZ znAjZE@Ntj;2bA&*ZRBI)gSaMwZtvj~4RkACJ3;IyC^%|{^uMx*&MqZRVP@0&+qxOw z)YXOIc*j6JxsNKcD4lrxo8e<~{Ajwox3vpiS;Y_;bM1&d-${lu{{Z2_niu;+n>0bNwS+KxvXrs(J&59qn0WrsOh@RBz={-fF(!$u)gux_XF&fjUABt6*Vq zABEJTM^rf`r{cTbZ#Z2xsJk)Ru74UP9C$U?R18`h7#(hZTWq7%rYwwOq+gZe#cqWh zT%R!Xw&kIno6}9j9;vHN{4K0$|6Q(I-+_l zHKl3^vvO%*vC&GAn47GTZQ5vK?aGE4O& z$Bh|V;?@L>2z{yhFswi(Or!IN(sWeOT5v8gmKmW~LyRTnYBHRu==J*eqI_C-d|Mgk zSC~uQH7ksm6zg`g_(@UMpM*<=&m!&ZAUpj${dInI(QgeJcv*3{TVbw&KX%R~(;hZL z6Sbps-5bO$-4x;Q@l@C+wwr?5r&p9&7$O~zz77JW^3AX5g%2t^>B9LhKu=HA%S zX4`8iq_~#uTXfL(mJol{0AlVW!h)}}yZf$WL>;@jP%B#Sg&{Oh=kc5+H9841&S9b6j~&i(|39p^-}U6Do;rQV9XaOkcZA6?`-1P!UG! z+GX3&I@;!PZ(F%&Tb1{RW*tB4=m@d4HJY@O_JPC>1;XfSnvG6( zw&W)QXG)~r8Swf~z1qN}J5t!sh2h51=4;6lKebbw>uAr^lCacM7YetKwP@n&R!p2TZI{Y$DFog^H=VRmElN7C(_x=sc+0yJ zw?H5@b(UKw9S96Mj*heiMR(EQUTP*TjTyLew4mHcyJO2x9{7g{HOu9(Ek7A)NIu4uHdk9hi0&9ph zvBQeIAdve^Dz?i>sSU(K`MpD1M(UK`R{f z78LibQq>_%K8*@o{OkhT+)?yZr8AeXk2W=Q^16y7)8R_{Mxm)&e4p$RHA0RC6L zFd76bgbDmU%2cj5aWb#uiHan-PTovk8zVk+6JLhXjVMug9Iq$SB< z_nOR{*Zc~e?3xMDUf&qEjVSpTSH#fdc0Pixfz*&v)3F#(5CSNiuIK?k|J$zUC8p@D zrs(aB?c=-%3@Cv2vE_1`qI|dMR;{4)#h_Y9k(|~PgxYeQ*os%ZQo6~C$D9fi#7Z*) zl21Bf74Z`D*h;(DlH`}dFYjeJr9k_4^DX)+Px~qdbrSE|Dmi|B;-|`>77TC>wnp`G zlD~a*G(Ww;WQh8-uOoCt_1}OZ@VLSb-e|D?t+=ul(4r5rvQ* z5vdu2u^CID8ONa+FRmHCu9Ks#WN+RYbv!O`ug`i%!&`O(w2QuC7gCs!i!1K+B(xuddx-s@zPH5BweS<5yo1IvEje@Gzxnx8)?1vL^ecDv&Iiu6z?%jHv8v z2T9J0R}P0AW?D%I7`M<5;DAYV+4OEJ$|wKtE3p1ufk_5}90C)t0~rko35k!7k4i%Y zWT3}q{X)dUO+ie|$jC^^%*w#U#m2(I#lp(Q`h}B|lU-DVS4LWyh)R}`MM6-}g#L>b zGrKkqzXcwJ3mdPRu$YUWxTvUztgNh@riQwrl8K6{s;Y{vuCBhRiIIhct(2UNvZ|S} zvA3k0my(*dww}AOsi~=njg5_yo143XW6)Pu7ngtXK5sVr94?n40q<%KzfQ5h2C<+f z;n432VU1Fey{e!#z104I&`^uSX6w`rxBPy^*a7v#LH)E5>8?%9zHRY}C#&3Xm!e^( z;wksC8ULDjgMnSE;XUuk!vb8wL_)fxFZ|8e_^rS%t&9RG{1V@|B$E_1l8nrwy}TRc zH0lk^Yn)uCp{jPodL^8_^W1l+Uaq_b2s zQ&fCoY`hD!^z)RwORQg(IQbTc#l{%L#yF)Xh1C`q#21)V7kOls1vS^-+#owhvu_5ysHgTuG{ z!uJBgLPCNc!})eY{h#8bo|BcIGqm=?0$=O=z{>*Qbs6xE7I@bRyk`VHv<9ELM@2=Y z#l;mRB_}5*WoBj;m6cY9MN}sy7Z()thlF%yW)~M1)zs89G&MKZH?%Z;>*(kRZ(NFR zT}^MB$?Dl`?;r0U=r0`D0WF+ntzDE2?*14Us2<&`-nnj`KK#CT(zy4#W$)(u(cMIL z{!T>9Zfx4G;afZCtuN!as^+A=<*d2! ztfOn7f8e6;=fFV!)xeMUvC5CxrjNx=@L3f2JRN*p2fk?m-_?L`yCx?mr)TFEW@fhL z=I7^Ux3{-PH!ikz59ao6#?BuW_HWis@3-z=u0}?0X6CP!S8vBA-!>*5);FGZ_xAU8 z|Lo8HIbH=nPJmyQ&(6*cub<8zUSEz+-kvW1wIl)<0{kD|P4Ulg1S|%_@urfYC^BwY zPH)u%$;d*cT7J4o3goC0Cg*t_)^bU7I4wQw4AmmpNJeG$c={BopNW_v!rO22)DRH+ znBU*|T8bGU;B^rV@7({9z(pf5+uzVeRSMvrxL)x+PSwh>0YS{)Z!bfe6d_HyY;Pb! z;7$hrY3GP${!OdMjE+5{ zkH9dpOqPwqO;3?jLyTC0%c79472|XQyV%xOoV=-vQykYiG{!ahQGw3itkEq|jA

AZ2@qg`v9fFc0*4-w5T&go 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 literal 0 HcmV?d00001 diff --git a/docs/_static/nbgitpuller-link-generator.png b/docs/_static/nbgitpuller-link-generator.png new file mode 100644 index 0000000000000000000000000000000000000000..0e686bbbae4a268052abac77f44b24ea6865b969 GIT binary patch literal 200135 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±d-&~yA?@%m0c^_a6};a+U=+Vh4a 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